@vizzly/dashboard 0.15.0-dev-307a9830cb4e82f036693ccfe2634f74381a2b72 → 0.15.0-dev-927f480c64f078c9b01edc81be29e4e33f862c8d

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.
@@ -29,9 +29,9 @@ import { dropTargetForExternal } from '@atlaskit/pragmatic-drag-and-drop/externa
29
29
  import { DropIndicator } from '@atlaskit/pragmatic-drag-and-drop-react-drop-indicator/box';
30
30
  import { ParentSize } from '@visx/responsive';
31
31
  import { Annotation, AnnotationConnector, AnnotationLabel, DataContext, buildChartTheme, lightTheme, XYChart, Grid as Grid$2, Axis, AreaSeries, AreaStack, BarGroup as BarGroup$1, BarSeries, BarStack, GlyphSeries, LineSeries, Tooltip as Tooltip$3 } from '@visx/xychart';
32
+ import { scaleOrdinal, scaleLinear, scaleQuantize, scalePoint, scaleTime, scaleBand } from '@visx/scale';
32
33
  import { LinearGradient } from '@visx/gradient';
33
34
  import { LegendItem as LegendItem$1, LegendLabel } from '@visx/legend';
34
- import { scaleOrdinal, scaleQuantize, scaleLinear, scalePoint, scaleTime, scaleBand } from '@visx/scale';
35
35
  import Ordinal from '@visx/legend/lib/legends/Ordinal';
36
36
  import { curveNatural, curveMonotoneX, curveMonotoneY, curveLinear, curveStep, curveStepBefore, curveStepAfter } from '@visx/curve';
37
37
  import { Line as Line$1, LinePath, BarGroup as BarGroup$2, BarStack as BarStack$1, AreaStack as AreaStack$1, AreaClosed, LineRadial } from '@visx/shape';
@@ -53,8 +53,8 @@ import { localPoint } from '@visx/event';
53
53
  import { bisector } from '@visx/vendor/d3-array';
54
54
  import { AxisBottom as AxisBottom$1, AxisLeft as AxisLeft$1 } from '@visx/axis';
55
55
  import { Text } from '@visx/text';
56
- import { GridRows as GridRows$1 } from '@visx/grid';
57
56
  import { Annotation as Annotation$1, Label as Label$1 } from '@visx/annotation';
57
+ import { GridRows as GridRows$1 } from '@visx/grid';
58
58
  import { GlyphDot } from '@visx/glyph';
59
59
  import { Point } from '@visx/point';
60
60
  import { interpolate as interpolate$1 } from '@visx/vendor/d3-interpolate';
@@ -4175,7 +4175,7 @@ var attributesSchema$2 = function attributesSchema(config) {
4175
4175
  return Joi.object(_extends({}, baseAttributesSchema(config.attributesSchemaOptions), timeDimensionQuerySchema(config.queryEngineConfig, config.attributesSchemaOptions), {
4176
4176
  stacked: Joi.valid(true, false, '100%'),
4177
4177
  legend: Joi.valid(true, false),
4178
- // labels: Joi.valid(true, false).optional(),
4178
+ labels: Joi.valid(true, false).optional(),
4179
4179
  type: Joi.valid('lineChartV2').required(),
4180
4180
  parameters: parametersSchema(config.queryEngineConfig, config.attributesSchemaOptions),
4181
4181
  lineCurve: lineCurveSchema,
@@ -4285,8 +4285,13 @@ var CONSTANTS$2 = {
4285
4285
  title: 'Show Legend',
4286
4286
  description: '',
4287
4287
  namespace: 'legend'
4288
+ },
4289
+ labels: {
4290
+ type: 'labels',
4291
+ title: 'Show Labels',
4292
+ description: '',
4293
+ namespace: 'labels'
4288
4294
  }
4289
- // labels: { type: 'labels', title: 'Show Labels', description: '', namespace: 'labels' },
4290
4295
  }
4291
4296
  },
4292
4297
  axis_labels: {
@@ -4414,6 +4419,7 @@ var LineChart$1 = function LineChart(config) {
4414
4419
  conditionalFormattingRules: upcast$1(config.queryEngineConfig, dumped.conditionalFormattingRules),
4415
4420
  drilldown: dumped.drilldown,
4416
4421
  legend: dumped.legend,
4422
+ labels: dumped.labels,
4417
4423
  goalLines: dumped.goalLines,
4418
4424
  headline: upcastHeadline(dumped.headline, dumped.timeDimension),
4419
4425
  parameters: upcastParameters(dumped.parameters),
@@ -4452,6 +4458,7 @@ var LineChart$1 = function LineChart(config) {
4452
4458
  conditionalFormattingRules: [],
4453
4459
  drilldown: [],
4454
4460
  legend: true,
4461
+ labels: false,
4455
4462
  goalLines: undefined,
4456
4463
  approxXAxisLabelCount: 'auto',
4457
4464
  approxYAxisLabelCount: 'auto',
@@ -4514,10 +4521,9 @@ var LineChart$1 = function LineChart(config) {
4514
4521
  }), namespace(CONSTANTS$2, 'sort'), namespace(CONSTANTS$2, 'filter'), namespace(CONSTANTS$2, 'custom_metrics'), namespace(CONSTANTS$2, 'limit')];
4515
4522
  },
4516
4523
  formatPanelConfig: function formatPanelConfig() {
4517
- var _CONSTANTS$format_pan;
4524
+ var _CONSTANTS$format_pan, _CONSTANTS$format_pan2;
4518
4525
  return [headingConstant(CONSTANTS$2), _extends({}, namespace(CONSTANTS$2, 'chart_styles'), {
4519
- subSection: [(_CONSTANTS$format_pan = CONSTANTS$2.format_panel.chart_styles) == null ? void 0 : _CONSTANTS$format_pan.subSectionDefinition.legend // CONSTANTS.format_panel.chart_styles?.subSectionDefinition.labels as Section<'labels'>,
4520
- ]
4526
+ subSection: [(_CONSTANTS$format_pan = CONSTANTS$2.format_panel.chart_styles) == null ? void 0 : _CONSTANTS$format_pan.subSectionDefinition.legend, (_CONSTANTS$format_pan2 = CONSTANTS$2.format_panel.chart_styles) == null ? void 0 : _CONSTANTS$format_pan2.subSectionDefinition.labels]
4521
4527
  }), axisLabelsConstants(CONSTANTS$2), _extends({}, namespace(CONSTANTS$2, 'conditional_formatting'), {
4522
4528
  ruleType: 'lineColor'
4523
4529
  }), namespace(CONSTANTS$2, 'goal_line')
@@ -8643,8 +8649,13 @@ var CONSTANTS$h = {
8643
8649
  title: 'Show Legend',
8644
8650
  description: '',
8645
8651
  namespace: 'legend'
8652
+ },
8653
+ labels: {
8654
+ type: 'labels',
8655
+ title: 'Show Labels',
8656
+ description: '',
8657
+ namespace: 'labels'
8646
8658
  }
8647
- // labels: { type: 'labels', title: 'Show Labels', description: '', namespace: 'labels' },
8648
8659
  }
8649
8660
  },
8650
8661
  axis_labels: {
@@ -8742,7 +8753,7 @@ var FunnelChart = function FunnelChart(config) {
8742
8753
  return hydrated;
8743
8754
  },
8744
8755
  load: function load(dumped) {
8745
- var _dumped$tags;
8756
+ var _dumped$tags, _dumped$labels;
8746
8757
  return _extends({}, dumped, {
8747
8758
  measure: upcastMeasure(dumped.measure),
8748
8759
  order: upcastOrder(dumped.order, dumped.timeDimension),
@@ -8752,6 +8763,7 @@ var FunnelChart = function FunnelChart(config) {
8752
8763
  approxXAxisLabelCount: upcastAxisLabel(dumped.approxXAxisLabelCount),
8753
8764
  approxYAxisLabelCount: upcastAxisLabel(dumped.approxYAxisLabelCount),
8754
8765
  tags: (_dumped$tags = dumped.tags) != null ? _dumped$tags : [],
8766
+ labels: (_dumped$labels = dumped.labels) != null ? _dumped$labels : false,
8755
8767
  parameters: upcastParameters(dumped.parameters)
8756
8768
  });
8757
8769
  },
@@ -8783,6 +8795,7 @@ var FunnelChart = function FunnelChart(config) {
8783
8795
  yAxisFormat: null,
8784
8796
  xAxisFormat: null,
8785
8797
  legend: true,
8798
+ labels: false,
8786
8799
  approxXAxisLabelCount: 'auto',
8787
8800
  approxYAxisLabelCount: 'auto',
8788
8801
  axisTitles: undefined,
@@ -8840,10 +8853,9 @@ var FunnelChart = function FunnelChart(config) {
8840
8853
  }), namespace(CONSTANTS$h, 'sort'), namespace(CONSTANTS$h, 'filter'), namespace(CONSTANTS$h, 'custom_metrics'), namespace(CONSTANTS$h, 'limit')];
8841
8854
  },
8842
8855
  formatPanelConfig: function formatPanelConfig() {
8843
- var _CONSTANTS$format_pan;
8856
+ var _CONSTANTS$format_pan, _CONSTANTS$format_pan2;
8844
8857
  return [headingConstant(CONSTANTS$h), _extends({}, namespace(CONSTANTS$h, 'chart_styles'), {
8845
- subSection: [(_CONSTANTS$format_pan = CONSTANTS$h.format_panel.chart_styles) == null ? void 0 : _CONSTANTS$format_pan.subSectionDefinition.legend // CONSTANTS.format_panel.chart_styles?.subSectionDefinition.labels as Section<'labels'>,
8846
- ]
8858
+ subSection: [(_CONSTANTS$format_pan = CONSTANTS$h.format_panel.chart_styles) == null ? void 0 : _CONSTANTS$format_pan.subSectionDefinition.legend, (_CONSTANTS$format_pan2 = CONSTANTS$h.format_panel.chart_styles) == null ? void 0 : _CONSTANTS$format_pan2.subSectionDefinition.labels]
8847
8859
  }), axisLabelsConstants(CONSTANTS$h), _extends({}, namespace(CONSTANTS$h, 'conditional_formatting'), {
8848
8860
  ruleType: 'backgroundColor'
8849
8861
  }), namespace(CONSTANTS$h, 'headline')];
@@ -9941,7 +9953,7 @@ var attributesSchema$i = function attributesSchema(config) {
9941
9953
  return Joi.object(_extends({}, baseAttributesSchema(config.attributesSchemaOptions), timeDimensionQuerySchema(config.queryEngineConfig, config.attributesSchemaOptions), {
9942
9954
  stacked: Joi.valid(true, false),
9943
9955
  legend: Joi.valid(true, false),
9944
- // labels: Joi.valid(true, false).optional(),
9956
+ labels: Joi.valid(true, false).optional(),
9945
9957
  type: Joi.valid('barChartV2').required(),
9946
9958
  parameters: parametersSchema(config.queryEngineConfig, config.attributesSchemaOptions),
9947
9959
  conditionalFormattingRules: conditionalFormattingRulesSchema(config.queryEngineConfig),
@@ -10050,370 +10062,381 @@ var CONSTANTS$k = {
10050
10062
  title: 'Show Legend',
10051
10063
  description: '',
10052
10064
  namespace: 'legend'
10053
- }
10054
- // labels: { type: 'labels', title: 'Show Labels', description: '', namespace: 'labels' },
10055
- }
10056
- },
10057
- axis_labels: {
10058
- type: 'axisLabels',
10059
- title: 'Axis Preferences',
10060
- description: '',
10061
- subSectionDefinition: {
10062
- x: {
10063
- title: 'X Axis',
10064
- description: '',
10065
- namespace: 'x'
10066
10065
  },
10067
- 'x.prefix': {
10068
- title: 'Prefix',
10069
- description: '',
10070
- namespace: 'x.prefix'
10071
- },
10072
- 'x.postfix': {
10073
- title: 'Postfix',
10074
- description: '',
10075
- namespace: 'x.postfix'
10076
- },
10077
- 'x.format': {
10078
- title: 'Format',
10079
- description: '',
10080
- namespace: 'x.format'
10081
- },
10082
- 'x.count': {
10083
- title: 'Label count',
10084
- description: '',
10085
- namespace: 'x.count'
10086
- },
10087
- 'x.axis_title': {
10088
- title: 'Title',
10089
- description: '',
10090
- namespace: 'x.axis_title'
10091
- },
10092
- y: {
10093
- title: 'Y Axis',
10094
- description: '',
10095
- namespace: 'y'
10096
- },
10097
- 'y.prefix': {
10098
- title: 'Prefix',
10099
- description: '',
10100
- namespace: 'y.prefix'
10101
- },
10102
- 'y.postfix': {
10103
- title: 'Postfix',
10104
- description: '',
10105
- namespace: 'y.postfix'
10106
- },
10107
- 'y.format': {
10108
- title: 'Format',
10109
- description: '',
10110
- namespace: 'y.format'
10111
- },
10112
- 'y.count': {
10113
- title: 'Label count',
10114
- description: '',
10115
- namespace: 'y.count'
10116
- },
10117
- 'y.axis_title': {
10118
- title: 'Title',
10119
- description: '',
10120
- namespace: 'y.axis_title'
10121
- }
10122
- }
10123
- },
10124
- conditional_formatting: {
10125
- type: 'conditionalFormatting',
10126
- title: 'Conditional Formatting',
10127
- description: ''
10128
- },
10129
- headline: {
10130
- type: 'headline',
10131
- title: 'Headline',
10132
- description: ''
10133
- },
10134
- goal_line: {
10135
- type: 'goalLine',
10136
- title: 'Goal Lines',
10137
- description: ''
10138
- }
10139
- }
10140
- };
10141
-
10142
- var BarChart$1 = function BarChart(config) {
10143
- return {
10144
- title: 'Bar chart',
10145
- description: 'Ideal for illustrating changes and trends over time with bar graphs.',
10146
- servicesClass: 'BarChart',
10147
- namespace: 'bar_chart',
10148
- dump: function dump(hydrated) {
10149
- return hydrated;
10150
- },
10151
- load: function load(dumped) {
10152
- var _dumped$tags;
10153
- return {
10154
- type: dumped.type,
10155
- measure: upcastMeasure(dumped.measure),
10156
- order: upcastOrder(dumped.order, dumped.timeDimension),
10157
- dimension: upcastStringDimensionsToObject(dumped.dimension),
10158
- // TODO: upcast dumped.timeDimension -> dimension
10159
- displayTitle: dumped.displayTitle,
10160
- displaySubject: dumped.displaySubject,
10161
- protectedByOrganisation: dumped.protectedByOrganisation,
10162
- viewId: upcastViewId(dumped.viewId),
10163
- filter: upcastFilter(dumped.filter),
10164
- dataSetId: dumped.dataSetId,
10165
- limit: dumped.limit,
10166
- timeDimension: null,
10167
- xAxisPostfix: dumped.xAxisPostfix,
10168
- xAxisPrefix: dumped.xAxisPrefix,
10169
- yAxisPostfix: dumped.yAxisPostfix,
10170
- yAxisPrefix: dumped.yAxisPrefix,
10171
- yAxisFormat: dumped.yAxisFormat,
10172
- xAxisFormat: dumped.xAxisFormat,
10173
- conditionalFormattingRules: upcast$1(config.queryEngineConfig, dumped.conditionalFormattingRules),
10174
- drilldown: dumped.drilldown,
10175
- legend: dumped.legend,
10176
- goalLines: dumped.goalLines,
10177
- headline: upcastHeadline(dumped.headline, dumped.timeDimension),
10178
- parameters: upcastParameters(dumped.parameters),
10179
- approxXAxisLabelCount: upcastAxisLabel(dumped.approxXAxisLabelCount),
10180
- approxYAxisLabelCount: upcastAxisLabel(dumped.approxYAxisLabelCount),
10181
- axisTitles: dumped.axisTitles,
10182
- tags: (_dumped$tags = dumped.tags) != null ? _dumped$tags : [],
10183
- stacked: dumped.stacked,
10184
- drilldownOptions: dumped.drilldownOptions
10185
- };
10186
- },
10187
- setAttributes: setAttributes$g(config),
10188
- validate: function validate(attrs, dataSets) {
10189
- return validateView(attrs, dataSets, config.queryEngineConfig);
10190
- },
10191
- init: function init(dataSetId, overrides) {
10192
- return _extends({
10193
- type: 'barChartV2',
10194
- measure: [],
10195
- dimension: [],
10196
- timeDimension: null,
10197
- displayTitle: '',
10198
- displaySubject: '',
10199
- protectedByOrganisation: undefined,
10200
- viewId: upcastViewId(overrides == null ? void 0 : overrides.viewId),
10201
- filter: [],
10202
- order: [],
10203
- dataSetId: dataSetId,
10204
- limit: 5000,
10205
- xAxisPostfix: '',
10206
- xAxisPrefix: '',
10207
- yAxisPostfix: '',
10208
- yAxisPrefix: '',
10209
- yAxisFormat: null,
10210
- xAxisFormat: null,
10211
- conditionalFormattingRules: [],
10212
- drilldown: [],
10213
- legend: true,
10214
- goalLines: undefined,
10215
- approxXAxisLabelCount: 'auto',
10216
- approxYAxisLabelCount: 'auto',
10217
- parameters: {},
10218
- axisTitles: undefined,
10219
- headline: undefined,
10220
- tags: [],
10221
- drilldownOptions: undefined
10222
- }, overrides);
10223
- },
10224
- createFeedback: createFeedback,
10225
- schema: attributesSchema$i(config),
10226
- removeField: function removeField(attrs, fieldId) {
10227
- return removeField$1(attrs, fieldId, config.queryEngineConfig);
10228
- },
10229
- isRunnable: function isRunnable(hydrated) {
10230
- return hydrated.measure.length > 0 && hydrated.dimension.length > 0;
10231
- },
10232
- autoGenerate: function autoGenerate(dataSet) {
10233
- var _DataSet$buildQueryAt = buildQueryAttributes(dataSet, config.queryEngineConfig, 'barChart'),
10234
- measure = _DataSet$buildQueryAt.measure,
10235
- dimension = _DataSet$buildQueryAt.dimension;
10236
- return this.init(dataSet.id, {
10237
- measure: [measure[0]],
10238
- dimension: dimension
10239
- });
10240
- },
10241
- dataPanelConfig: function dataPanelConfig() {
10242
- return [namespace(CONSTANTS$k, 'data_set'), namespace(CONSTANTS$k, 'views'), _extends({}, namespace(CONSTANTS$k, 'field_y_axis'), {
10243
- fieldFilterOptions: {
10244
- forComponent: 'barChart'
10245
- },
10246
- preSetPartialAttributes: function preSetPartialAttributes(values) {
10247
- return {
10248
- measure: values
10249
- };
10250
- },
10251
- getValues: function getValues(attrs) {
10252
- return attrs.measure;
10253
- },
10254
- testId: 'metric-input'
10255
- }), _extends({}, namespace(CONSTANTS$k, 'field_x_axis'), {
10256
- fieldFilterOptions: {
10257
- forComponent: 'barChart',
10258
- onlyDimensions: true
10259
- },
10260
- preventDuplicates: false,
10261
- // return all values in the dimension array instead of seperating out timeDimension
10262
- preSetPartialAttributes: function preSetPartialAttributes(values) {
10263
- return {
10264
- dimension: [].concat(values)
10265
- };
10266
- },
10267
- // does this need to be updated too?
10268
- getValues: function getValues(attrs) {
10269
- return [].concat(attrs.dimension);
10270
- },
10271
- maxAllowed: 2,
10272
- testId: 'add-dimension'
10273
- }), namespace(CONSTANTS$k, 'sort'), namespace(CONSTANTS$k, 'filter'), _extends({}, namespace(CONSTANTS$k, 'drilldown'), {
10274
- options: {
10275
- property: 'drilldownOptions'
10276
- }
10277
- }), namespace(CONSTANTS$k, 'custom_metrics'), namespace(CONSTANTS$k, 'limit')];
10278
- },
10279
- formatPanelConfig: function formatPanelConfig() {
10280
- var _CONSTANTS$format_pan;
10281
- return [headingConstant(CONSTANTS$k), _extends({}, namespace(CONSTANTS$k, 'chart_styles'), {
10282
- subSection: [(_CONSTANTS$format_pan = CONSTANTS$k.format_panel.chart_styles) == null ? void 0 : _CONSTANTS$format_pan.subSectionDefinition.legend // CONSTANTS.format_panel.chart_styles?.subSectionDefinition.labels as Section<'labels'>,
10283
- ]
10284
- }), axisLabelsConstants(CONSTANTS$k), _extends({}, namespace(CONSTANTS$k, 'conditional_formatting'), {
10285
- ruleType: 'lineColor'
10286
- }), namespace(CONSTANTS$k, 'goal_line')];
10287
- },
10288
- supportedCustomFields: {
10289
- percentages: true,
10290
- dateCalculations: true,
10291
- simpleMaths: true,
10292
- rules: true,
10293
- aggregateMaths: true,
10294
- roundedNumbers: true,
10295
- conditional: true,
10296
- customBuild: [AcceptedTypes.Maths, AcceptedTypes.IfStatement, AcceptedTypes.Aggregates]
10297
- },
10298
- supportedFeatures: {
10299
- parameters: true,
10300
- colorGradient: false
10301
- },
10302
- setDataAttributesFromPreAggregatedDataSet: function setDataAttributesFromPreAggregatedDataSet$1(attributes, dataSet) {
10303
- return setDataAttributesFromPreAggregatedDataSet(attributes, dataSet, this.setAttributes);
10304
- }
10305
- };
10306
- };
10307
-
10308
- var attributesSchema$j = function attributesSchema(config) {
10309
- return Joi.object(_extends({}, baseAttributesSchema(config.attributesSchemaOptions), timeDimensionQuerySchema(config.queryEngineConfig, config.attributesSchemaOptions), {
10310
- legend: Joi.valid(true, false),
10311
- // labels: Joi.valid(true, false).optional(),
10312
- type: Joi.valid('waterfallChart').required(),
10313
- parameters: parametersSchema(config.queryEngineConfig, config.attributesSchemaOptions),
10314
- axisTitles: axisTitleSchema(),
10315
- headline: headlineSchema(),
10316
- tags: tagsSchema(),
10317
- increaseColor: Joi.string().required(),
10318
- decreaseColor: Joi.string().required(),
10319
- comparison: Joi.any()
10320
- }));
10321
- };
10322
-
10323
- var setAttributes$h = (function (config) {
10324
- return function (waterfallChart, partial) {
10325
- var newAttributes = setAttributes(waterfallChart, partial, attributesSchema$j(config));
10326
- newAttributes = removeUnusedOrderFieldsFromTimeSeriesComponent(newAttributes);
10327
- return newAttributes;
10328
- };
10329
- });
10330
-
10331
- var CONSTANTS$l = {
10332
- title: 'Waterfall chart',
10333
- description: "Shows a running total as values are added or subtracted. It's useful for understanding how an initial value is affected by a series of positive and negative values.",
10334
- namespace: 'waterfall_chart',
10335
- data_panel: {
10336
- data_set: {
10337
- type: 'dataSet',
10338
- title: 'Data set',
10339
- description: 'What data do you want to use in this waterfall chart?'
10340
- },
10341
- views: {
10342
- type: 'views',
10343
- title: 'View',
10344
- description: ''
10345
- },
10346
- field_y_axis: {
10347
- type: 'fieldCollector',
10348
- title: 'Metric - Y Axis',
10349
- description: 'What do you want each bar to measure?',
10350
- callToAction: 'Add metric'
10351
- },
10352
- field_x_axis: {
10353
- type: 'fieldCollector',
10354
- title: 'Grouping - X Axis',
10355
- description: 'What do you want each bar to represent? An example would be a a date grouping to show each month as a bar',
10356
- callToAction: 'Add grouping'
10357
- },
10358
- dateComparison: {
10359
- type: 'dateComparison',
10360
- title: 'Comparison',
10361
- description: 'Compare the waterfall chart to a previous period.',
10362
- callToAction: 'Add comparison'
10363
- },
10364
- sort: {
10365
- type: 'sort',
10366
- title: 'Sort',
10367
- description: 'Select the order of categories or time on the x Axis.'
10368
- },
10369
- filter: {
10370
- type: 'filter',
10371
- title: 'Filters',
10372
- description: 'Only include the information you want to use in this waterfall chart.'
10373
- },
10374
- custom_metrics: {
10375
- type: 'customMetrics',
10376
- title: 'Custom metrics',
10377
- description: 'Build your own metrics, such as a percentage.'
10378
- },
10379
- limit: {
10380
- type: 'limit',
10381
- title: 'Limit',
10382
- description: 'Set the maximum number of records to show on this waterfall chart.'
10383
- }
10384
- },
10385
- format_panel: {
10386
- heading: {
10387
- type: 'heading',
10388
- title: 'Heading',
10389
- description: '',
10390
- subSectionDefinition: {
10391
- title: {
10392
- type: 'title',
10393
- title: 'Title',
10394
- description: '',
10395
- namespace: 'title'
10396
- },
10397
- subject: {
10398
- title: 'Subject',
10399
- type: 'subject',
10400
- description: '',
10401
- namespace: 'subject'
10402
- }
10403
- }
10404
- },
10405
- chart_styles: {
10406
- type: 'chartStyles',
10407
- title: 'Chart Settings',
10408
- description: '',
10409
- subSectionDefinition: {
10410
- legend: {
10411
- type: 'legend',
10412
- title: 'Show Legend',
10066
+ labels: {
10067
+ type: 'labels',
10068
+ title: 'Show Labels',
10413
10069
  description: '',
10414
- namespace: 'legend'
10070
+ namespace: 'labels'
10071
+ }
10072
+ }
10073
+ },
10074
+ axis_labels: {
10075
+ type: 'axisLabels',
10076
+ title: 'Axis Preferences',
10077
+ description: '',
10078
+ subSectionDefinition: {
10079
+ x: {
10080
+ title: 'X Axis',
10081
+ description: '',
10082
+ namespace: 'x'
10083
+ },
10084
+ 'x.prefix': {
10085
+ title: 'Prefix',
10086
+ description: '',
10087
+ namespace: 'x.prefix'
10088
+ },
10089
+ 'x.postfix': {
10090
+ title: 'Postfix',
10091
+ description: '',
10092
+ namespace: 'x.postfix'
10093
+ },
10094
+ 'x.format': {
10095
+ title: 'Format',
10096
+ description: '',
10097
+ namespace: 'x.format'
10098
+ },
10099
+ 'x.count': {
10100
+ title: 'Label count',
10101
+ description: '',
10102
+ namespace: 'x.count'
10103
+ },
10104
+ 'x.axis_title': {
10105
+ title: 'Title',
10106
+ description: '',
10107
+ namespace: 'x.axis_title'
10108
+ },
10109
+ y: {
10110
+ title: 'Y Axis',
10111
+ description: '',
10112
+ namespace: 'y'
10113
+ },
10114
+ 'y.prefix': {
10115
+ title: 'Prefix',
10116
+ description: '',
10117
+ namespace: 'y.prefix'
10118
+ },
10119
+ 'y.postfix': {
10120
+ title: 'Postfix',
10121
+ description: '',
10122
+ namespace: 'y.postfix'
10123
+ },
10124
+ 'y.format': {
10125
+ title: 'Format',
10126
+ description: '',
10127
+ namespace: 'y.format'
10128
+ },
10129
+ 'y.count': {
10130
+ title: 'Label count',
10131
+ description: '',
10132
+ namespace: 'y.count'
10133
+ },
10134
+ 'y.axis_title': {
10135
+ title: 'Title',
10136
+ description: '',
10137
+ namespace: 'y.axis_title'
10138
+ }
10139
+ }
10140
+ },
10141
+ conditional_formatting: {
10142
+ type: 'conditionalFormatting',
10143
+ title: 'Conditional Formatting',
10144
+ description: ''
10145
+ },
10146
+ headline: {
10147
+ type: 'headline',
10148
+ title: 'Headline',
10149
+ description: ''
10150
+ },
10151
+ goal_line: {
10152
+ type: 'goalLine',
10153
+ title: 'Goal Lines',
10154
+ description: ''
10155
+ }
10156
+ }
10157
+ };
10158
+
10159
+ var BarChart$1 = function BarChart(config) {
10160
+ return {
10161
+ title: 'Bar chart',
10162
+ description: 'Ideal for illustrating changes and trends over time with bar graphs.',
10163
+ servicesClass: 'BarChart',
10164
+ namespace: 'bar_chart',
10165
+ dump: function dump(hydrated) {
10166
+ return hydrated;
10167
+ },
10168
+ load: function load(dumped) {
10169
+ var _dumped$tags;
10170
+ return {
10171
+ type: dumped.type,
10172
+ measure: upcastMeasure(dumped.measure),
10173
+ order: upcastOrder(dumped.order, dumped.timeDimension),
10174
+ dimension: upcastStringDimensionsToObject(dumped.dimension),
10175
+ // TODO: upcast dumped.timeDimension -> dimension
10176
+ displayTitle: dumped.displayTitle,
10177
+ displaySubject: dumped.displaySubject,
10178
+ protectedByOrganisation: dumped.protectedByOrganisation,
10179
+ viewId: upcastViewId(dumped.viewId),
10180
+ filter: upcastFilter(dumped.filter),
10181
+ dataSetId: dumped.dataSetId,
10182
+ limit: dumped.limit,
10183
+ timeDimension: null,
10184
+ xAxisPostfix: dumped.xAxisPostfix,
10185
+ xAxisPrefix: dumped.xAxisPrefix,
10186
+ yAxisPostfix: dumped.yAxisPostfix,
10187
+ yAxisPrefix: dumped.yAxisPrefix,
10188
+ yAxisFormat: dumped.yAxisFormat,
10189
+ xAxisFormat: dumped.xAxisFormat,
10190
+ conditionalFormattingRules: upcast$1(config.queryEngineConfig, dumped.conditionalFormattingRules),
10191
+ drilldown: dumped.drilldown,
10192
+ legend: dumped.legend,
10193
+ labels: dumped.labels,
10194
+ goalLines: dumped.goalLines,
10195
+ headline: upcastHeadline(dumped.headline, dumped.timeDimension),
10196
+ parameters: upcastParameters(dumped.parameters),
10197
+ approxXAxisLabelCount: upcastAxisLabel(dumped.approxXAxisLabelCount),
10198
+ approxYAxisLabelCount: upcastAxisLabel(dumped.approxYAxisLabelCount),
10199
+ axisTitles: dumped.axisTitles,
10200
+ tags: (_dumped$tags = dumped.tags) != null ? _dumped$tags : [],
10201
+ stacked: dumped.stacked,
10202
+ drilldownOptions: dumped.drilldownOptions
10203
+ };
10204
+ },
10205
+ setAttributes: setAttributes$g(config),
10206
+ validate: function validate(attrs, dataSets) {
10207
+ return validateView(attrs, dataSets, config.queryEngineConfig);
10208
+ },
10209
+ init: function init(dataSetId, overrides) {
10210
+ return _extends({
10211
+ type: 'barChartV2',
10212
+ measure: [],
10213
+ dimension: [],
10214
+ timeDimension: null,
10215
+ displayTitle: '',
10216
+ displaySubject: '',
10217
+ protectedByOrganisation: undefined,
10218
+ viewId: upcastViewId(overrides == null ? void 0 : overrides.viewId),
10219
+ filter: [],
10220
+ order: [],
10221
+ dataSetId: dataSetId,
10222
+ limit: 5000,
10223
+ xAxisPostfix: '',
10224
+ xAxisPrefix: '',
10225
+ yAxisPostfix: '',
10226
+ yAxisPrefix: '',
10227
+ yAxisFormat: null,
10228
+ xAxisFormat: null,
10229
+ conditionalFormattingRules: [],
10230
+ drilldown: [],
10231
+ legend: true,
10232
+ labels: false,
10233
+ goalLines: undefined,
10234
+ approxXAxisLabelCount: 'auto',
10235
+ approxYAxisLabelCount: 'auto',
10236
+ parameters: {},
10237
+ axisTitles: undefined,
10238
+ headline: undefined,
10239
+ tags: [],
10240
+ drilldownOptions: undefined
10241
+ }, overrides);
10242
+ },
10243
+ createFeedback: createFeedback,
10244
+ schema: attributesSchema$i(config),
10245
+ removeField: function removeField(attrs, fieldId) {
10246
+ return removeField$1(attrs, fieldId, config.queryEngineConfig);
10247
+ },
10248
+ isRunnable: function isRunnable(hydrated) {
10249
+ return hydrated.measure.length > 0 && hydrated.dimension.length > 0;
10250
+ },
10251
+ autoGenerate: function autoGenerate(dataSet) {
10252
+ var _DataSet$buildQueryAt = buildQueryAttributes(dataSet, config.queryEngineConfig, 'barChart'),
10253
+ measure = _DataSet$buildQueryAt.measure,
10254
+ dimension = _DataSet$buildQueryAt.dimension;
10255
+ return this.init(dataSet.id, {
10256
+ measure: [measure[0]],
10257
+ dimension: dimension
10258
+ });
10259
+ },
10260
+ dataPanelConfig: function dataPanelConfig() {
10261
+ return [namespace(CONSTANTS$k, 'data_set'), namespace(CONSTANTS$k, 'views'), _extends({}, namespace(CONSTANTS$k, 'field_y_axis'), {
10262
+ fieldFilterOptions: {
10263
+ forComponent: 'barChart'
10264
+ },
10265
+ preSetPartialAttributes: function preSetPartialAttributes(values) {
10266
+ return {
10267
+ measure: values
10268
+ };
10269
+ },
10270
+ getValues: function getValues(attrs) {
10271
+ return attrs.measure;
10272
+ },
10273
+ testId: 'metric-input'
10274
+ }), _extends({}, namespace(CONSTANTS$k, 'field_x_axis'), {
10275
+ fieldFilterOptions: {
10276
+ forComponent: 'barChart',
10277
+ onlyDimensions: true
10278
+ },
10279
+ preventDuplicates: false,
10280
+ // return all values in the dimension array instead of seperating out timeDimension
10281
+ preSetPartialAttributes: function preSetPartialAttributes(values) {
10282
+ return {
10283
+ dimension: [].concat(values)
10284
+ };
10285
+ },
10286
+ // does this need to be updated too?
10287
+ getValues: function getValues(attrs) {
10288
+ return [].concat(attrs.dimension);
10289
+ },
10290
+ maxAllowed: 2,
10291
+ testId: 'add-dimension'
10292
+ }), namespace(CONSTANTS$k, 'sort'), namespace(CONSTANTS$k, 'filter'), _extends({}, namespace(CONSTANTS$k, 'drilldown'), {
10293
+ options: {
10294
+ property: 'drilldownOptions'
10295
+ }
10296
+ }), namespace(CONSTANTS$k, 'custom_metrics'), namespace(CONSTANTS$k, 'limit')];
10297
+ },
10298
+ formatPanelConfig: function formatPanelConfig() {
10299
+ var _CONSTANTS$format_pan, _CONSTANTS$format_pan2;
10300
+ return [headingConstant(CONSTANTS$k), _extends({}, namespace(CONSTANTS$k, 'chart_styles'), {
10301
+ subSection: [(_CONSTANTS$format_pan = CONSTANTS$k.format_panel.chart_styles) == null ? void 0 : _CONSTANTS$format_pan.subSectionDefinition.legend, (_CONSTANTS$format_pan2 = CONSTANTS$k.format_panel.chart_styles) == null ? void 0 : _CONSTANTS$format_pan2.subSectionDefinition.labels]
10302
+ }), axisLabelsConstants(CONSTANTS$k), _extends({}, namespace(CONSTANTS$k, 'conditional_formatting'), {
10303
+ ruleType: 'lineColor'
10304
+ }), namespace(CONSTANTS$k, 'goal_line')];
10305
+ },
10306
+ supportedCustomFields: {
10307
+ percentages: true,
10308
+ dateCalculations: true,
10309
+ simpleMaths: true,
10310
+ rules: true,
10311
+ aggregateMaths: true,
10312
+ roundedNumbers: true,
10313
+ conditional: true,
10314
+ customBuild: [AcceptedTypes.Maths, AcceptedTypes.IfStatement, AcceptedTypes.Aggregates]
10315
+ },
10316
+ supportedFeatures: {
10317
+ parameters: true,
10318
+ colorGradient: false
10319
+ },
10320
+ setDataAttributesFromPreAggregatedDataSet: function setDataAttributesFromPreAggregatedDataSet$1(attributes, dataSet) {
10321
+ return setDataAttributesFromPreAggregatedDataSet(attributes, dataSet, this.setAttributes);
10322
+ }
10323
+ };
10324
+ };
10325
+
10326
+ var attributesSchema$j = function attributesSchema(config) {
10327
+ return Joi.object(_extends({}, baseAttributesSchema(config.attributesSchemaOptions), timeDimensionQuerySchema(config.queryEngineConfig, config.attributesSchemaOptions), {
10328
+ legend: Joi.valid(true, false),
10329
+ labels: Joi.valid(true, false).optional(),
10330
+ type: Joi.valid('waterfallChart').required(),
10331
+ parameters: parametersSchema(config.queryEngineConfig, config.attributesSchemaOptions),
10332
+ axisTitles: axisTitleSchema(),
10333
+ headline: headlineSchema(),
10334
+ tags: tagsSchema(),
10335
+ increaseColor: Joi.string().required(),
10336
+ decreaseColor: Joi.string().required(),
10337
+ comparison: Joi.any()
10338
+ }));
10339
+ };
10340
+
10341
+ var setAttributes$h = (function (config) {
10342
+ return function (waterfallChart, partial) {
10343
+ var newAttributes = setAttributes(waterfallChart, partial, attributesSchema$j(config));
10344
+ newAttributes = removeUnusedOrderFieldsFromTimeSeriesComponent(newAttributes);
10345
+ return newAttributes;
10346
+ };
10347
+ });
10348
+
10349
+ var CONSTANTS$l = {
10350
+ title: 'Waterfall chart',
10351
+ description: "Shows a running total as values are added or subtracted. It's useful for understanding how an initial value is affected by a series of positive and negative values.",
10352
+ namespace: 'waterfall_chart',
10353
+ data_panel: {
10354
+ data_set: {
10355
+ type: 'dataSet',
10356
+ title: 'Data set',
10357
+ description: 'What data do you want to use in this waterfall chart?'
10358
+ },
10359
+ views: {
10360
+ type: 'views',
10361
+ title: 'View',
10362
+ description: ''
10363
+ },
10364
+ field_y_axis: {
10365
+ type: 'fieldCollector',
10366
+ title: 'Metric - Y Axis',
10367
+ description: 'What do you want each bar to measure?',
10368
+ callToAction: 'Add metric'
10369
+ },
10370
+ field_x_axis: {
10371
+ type: 'fieldCollector',
10372
+ title: 'Grouping - X Axis',
10373
+ description: 'What do you want each bar to represent? An example would be a a date grouping to show each month as a bar',
10374
+ callToAction: 'Add grouping'
10375
+ },
10376
+ dateComparison: {
10377
+ type: 'dateComparison',
10378
+ title: 'Comparison',
10379
+ description: 'Compare the waterfall chart to a previous period.',
10380
+ callToAction: 'Add comparison'
10381
+ },
10382
+ sort: {
10383
+ type: 'sort',
10384
+ title: 'Sort',
10385
+ description: 'Select the order of categories or time on the x Axis.'
10386
+ },
10387
+ filter: {
10388
+ type: 'filter',
10389
+ title: 'Filters',
10390
+ description: 'Only include the information you want to use in this waterfall chart.'
10391
+ },
10392
+ custom_metrics: {
10393
+ type: 'customMetrics',
10394
+ title: 'Custom metrics',
10395
+ description: 'Build your own metrics, such as a percentage.'
10396
+ },
10397
+ limit: {
10398
+ type: 'limit',
10399
+ title: 'Limit',
10400
+ description: 'Set the maximum number of records to show on this waterfall chart.'
10401
+ }
10402
+ },
10403
+ format_panel: {
10404
+ heading: {
10405
+ type: 'heading',
10406
+ title: 'Heading',
10407
+ description: '',
10408
+ subSectionDefinition: {
10409
+ title: {
10410
+ type: 'title',
10411
+ title: 'Title',
10412
+ description: '',
10413
+ namespace: 'title'
10414
+ },
10415
+ subject: {
10416
+ title: 'Subject',
10417
+ type: 'subject',
10418
+ description: '',
10419
+ namespace: 'subject'
10420
+ }
10421
+ }
10422
+ },
10423
+ chart_styles: {
10424
+ type: 'chartStyles',
10425
+ title: 'Chart Settings',
10426
+ description: '',
10427
+ subSectionDefinition: {
10428
+ legend: {
10429
+ type: 'legend',
10430
+ title: 'Show Legend',
10431
+ description: '',
10432
+ namespace: 'legend'
10433
+ },
10434
+ labels: {
10435
+ type: 'labels',
10436
+ title: 'Show Labels',
10437
+ description: '',
10438
+ namespace: 'labels'
10415
10439
  }
10416
- // labels: { type: 'labels', title: 'Show Labels', description: '', namespace: 'labels' },
10417
10440
  }
10418
10441
  },
10419
10442
  axis_labels: {
@@ -10516,6 +10539,7 @@ var WaterfallChart = function WaterfallChart(config) {
10516
10539
  headline: upcastHeadline(dumped.headline, dumped.timeDimension),
10517
10540
  tags: (_dumped$tags = dumped.tags) != null ? _dumped$tags : [],
10518
10541
  legend: dumped.legend,
10542
+ labels: dumped.labels,
10519
10543
  viewId: upcastViewId(dumped.viewId),
10520
10544
  dataSetId: dumped.dataSetId,
10521
10545
  limit: dumped.limit,
@@ -10565,6 +10589,7 @@ var WaterfallChart = function WaterfallChart(config) {
10565
10589
  yAxisFormat: null,
10566
10590
  xAxisFormat: null,
10567
10591
  legend: true,
10592
+ labels: false,
10568
10593
  parameters: {},
10569
10594
  axisTitles: undefined,
10570
10595
  headline: undefined,
@@ -10628,10 +10653,9 @@ var WaterfallChart = function WaterfallChart(config) {
10628
10653
  }), namespace(CONSTANTS$l, 'sort'), namespace(CONSTANTS$l, 'filter'), namespace(CONSTANTS$l, 'custom_metrics'), namespace(CONSTANTS$l, 'limit')];
10629
10654
  },
10630
10655
  formatPanelConfig: function formatPanelConfig() {
10631
- var _CONSTANTS$format_pan;
10656
+ var _CONSTANTS$format_pan, _CONSTANTS$format_pan2;
10632
10657
  return [headingConstant(CONSTANTS$l), namespace(CONSTANTS$l, 'waterfall_colors'), _extends({}, namespace(CONSTANTS$l, 'chart_styles'), {
10633
- subSection: [(_CONSTANTS$format_pan = CONSTANTS$l.format_panel.chart_styles) == null ? void 0 : _CONSTANTS$format_pan.subSectionDefinition.legend // CONSTANTS.format_panel.chart_styles?.subSectionDefinition.labels as Section<'labels'>,
10634
- ]
10658
+ subSection: [(_CONSTANTS$format_pan = CONSTANTS$l.format_panel.chart_styles) == null ? void 0 : _CONSTANTS$format_pan.subSectionDefinition.legend, (_CONSTANTS$format_pan2 = CONSTANTS$l.format_panel.chart_styles) == null ? void 0 : _CONSTANTS$format_pan2.subSectionDefinition.labels]
10635
10659
  }), axisLabelsConstants(CONSTANTS$l)];
10636
10660
  },
10637
10661
  supportedCustomFields: {
@@ -10658,7 +10682,7 @@ var attributesSchema$k = function attributesSchema(config) {
10658
10682
  return Joi.object(_extends({}, baseAttributesSchema(config.attributesSchemaOptions), timeDimensionQuerySchema(config.queryEngineConfig, config.attributesSchemaOptions), {
10659
10683
  stacked: Joi.valid(true, false),
10660
10684
  legend: Joi.valid(true, false),
10661
- // labels: Joi.valid(true, false).optional(),
10685
+ labels: Joi.valid(true, false).optional(),
10662
10686
  type: Joi.valid('areaChartV2').required(),
10663
10687
  parameters: parametersSchema(config.queryEngineConfig, config.attributesSchemaOptions),
10664
10688
  lineCurve: areaCurveSchema,
@@ -10774,8 +10798,13 @@ var CONSTANTS$m = {
10774
10798
  title: 'Show Legend',
10775
10799
  description: '',
10776
10800
  namespace: 'legend'
10801
+ },
10802
+ labels: {
10803
+ type: 'labels',
10804
+ title: 'Show Labels',
10805
+ description: '',
10806
+ namespace: 'labels'
10777
10807
  }
10778
- // labels: { type: 'labels', title: 'Show Labels', description: '', namespace: 'labels' },
10779
10808
  }
10780
10809
  },
10781
10810
  axis_labels: {
@@ -10903,6 +10932,7 @@ var AreaChart$1 = function AreaChart(config) {
10903
10932
  conditionalFormattingRules: upcast$1(config.queryEngineConfig, dumped.conditionalFormattingRules),
10904
10933
  drilldown: dumped.drilldown,
10905
10934
  legend: dumped.legend,
10935
+ labels: dumped.labels,
10906
10936
  goalLines: dumped.goalLines,
10907
10937
  headline: upcastHeadline(dumped.headline, dumped.timeDimension),
10908
10938
  parameters: upcastParameters(dumped.parameters),
@@ -10942,6 +10972,7 @@ var AreaChart$1 = function AreaChart(config) {
10942
10972
  conditionalFormattingRules: [],
10943
10973
  drilldown: [],
10944
10974
  legend: true,
10975
+ labels: false,
10945
10976
  goalLines: undefined,
10946
10977
  approxXAxisLabelCount: 'auto',
10947
10978
  approxYAxisLabelCount: 'auto',
@@ -11005,10 +11036,9 @@ var AreaChart$1 = function AreaChart(config) {
11005
11036
  }), namespace(CONSTANTS$m, 'sort'), namespace(CONSTANTS$m, 'filter'), namespace(CONSTANTS$m, 'custom_metrics'), namespace(CONSTANTS$m, 'limit')];
11006
11037
  },
11007
11038
  formatPanelConfig: function formatPanelConfig() {
11008
- var _CONSTANTS$format_pan;
11039
+ var _CONSTANTS$format_pan, _CONSTANTS$format_pan2;
11009
11040
  return [headingConstant(CONSTANTS$m), _extends({}, namespace(CONSTANTS$m, 'chart_styles'), {
11010
- subSection: [(_CONSTANTS$format_pan = CONSTANTS$m.format_panel.chart_styles) == null ? void 0 : _CONSTANTS$format_pan.subSectionDefinition.legend // CONSTANTS.format_panel.chart_styles?.subSectionDefinition.labels as Section<'labels'>,
11011
- ]
11041
+ subSection: [(_CONSTANTS$format_pan = CONSTANTS$m.format_panel.chart_styles) == null ? void 0 : _CONSTANTS$format_pan.subSectionDefinition.legend, (_CONSTANTS$format_pan2 = CONSTANTS$m.format_panel.chart_styles) == null ? void 0 : _CONSTANTS$format_pan2.subSectionDefinition.labels]
11012
11042
  }), axisLabelsConstants(CONSTANTS$m), _extends({}, namespace(CONSTANTS$m, 'conditional_formatting'), {
11013
11043
  ruleType: 'lineColor'
11014
11044
  }), namespace(CONSTANTS$m, 'goal_line')];
@@ -11037,7 +11067,7 @@ var attributesSchema$l = function attributesSchema(config) {
11037
11067
  return Joi.object(_extends({}, baseAttributesSchema(config.attributesSchemaOptions), {
11038
11068
  stacked: Joi.valid(true, false),
11039
11069
  legend: Joi.valid(true, false),
11040
- // labels: Joi.valid(true, false).optional(),
11070
+ labels: Joi.valid(true, false).optional(),
11041
11071
  barMeasure: Joi.array().items(measureSchema(config.queryEngineConfig.supportedAggregates, config.attributesSchemaOptions)),
11042
11072
  lineMeasure: Joi.array().items(measureSchema(config.queryEngineConfig.supportedAggregates, config.attributesSchemaOptions)),
11043
11073
  barDimension: dimensionSchema(config.queryEngineConfig.supportedTimeTruncFunctions, config.attributesSchemaOptions),
@@ -11183,8 +11213,13 @@ var CONSTANTS$n = {
11183
11213
  title: 'Show Legend',
11184
11214
  description: '',
11185
11215
  namespace: 'legend'
11216
+ },
11217
+ labels: {
11218
+ type: 'labels',
11219
+ title: 'Show Labels',
11220
+ description: '',
11221
+ namespace: 'labels'
11186
11222
  }
11187
- // labels: { type: 'labels', title: 'Show Labels', description: '', namespace: 'labels' },
11188
11223
  }
11189
11224
  },
11190
11225
  axis_labels: {
@@ -11316,6 +11351,7 @@ var ComboChartV2 = function ComboChartV2(config) {
11316
11351
  yAxisFormat: null,
11317
11352
  xAxisFormat: null,
11318
11353
  legend: true,
11354
+ labels: false,
11319
11355
  approxXAxisLabelCount: 'auto',
11320
11356
  approxYAxisLabelCount: 'auto',
11321
11357
  goalLines: undefined,
@@ -11356,19 +11392,18 @@ var ComboChartV2 = function ComboChartV2(config) {
11356
11392
  }), namespace(CONSTANTS$n, 'combo_chart_dimension'), namespace(CONSTANTS$n, 'sort'), namespace(CONSTANTS$n, 'filter'), namespace(CONSTANTS$n, 'custom_metrics'), namespace(CONSTANTS$n, 'limit')];
11357
11393
  },
11358
11394
  formatPanelConfig: function formatPanelConfig() {
11359
- var _CONSTANTS$format_pan, _CONSTANTS$format_pan2, _CONSTANTS$format_pan3, _CONSTANTS$format_pan4, _CONSTANTS$format_pan5, _CONSTANTS$format_pan6, _CONSTANTS$format_pan7;
11395
+ var _CONSTANTS$format_pan, _CONSTANTS$format_pan2, _CONSTANTS$format_pan3, _CONSTANTS$format_pan4, _CONSTANTS$format_pan5, _CONSTANTS$format_pan6, _CONSTANTS$format_pan7, _CONSTANTS$format_pan8;
11360
11396
  return [headingConstant(CONSTANTS$n), _extends({}, namespace(CONSTANTS$n, 'chart_styles'), {
11361
- subSection: [(_CONSTANTS$format_pan = CONSTANTS$n.format_panel.chart_styles) == null ? void 0 : _CONSTANTS$format_pan.subSectionDefinition.legend // CONSTANTS.format_panel.chart_styles?.subSectionDefinition.labels as Section<'labels'>,
11362
- ]
11397
+ subSection: [(_CONSTANTS$format_pan = CONSTANTS$n.format_panel.chart_styles) == null ? void 0 : _CONSTANTS$format_pan.subSectionDefinition.legend, (_CONSTANTS$format_pan2 = CONSTANTS$n.format_panel.chart_styles) == null ? void 0 : _CONSTANTS$format_pan2.subSectionDefinition.labels]
11363
11398
  }), axisLabelsConstants(CONSTANTS$n), _extends({}, namespace(CONSTANTS$n, 'conditional_formatting'), {
11364
11399
  ruleType: 'backgroundColor',
11365
11400
  subSection: [{
11366
- title: (_CONSTANTS$format_pan2 = (_CONSTANTS$format_pan3 = CONSTANTS$n.format_panel.conditional_formatting) == null || (_CONSTANTS$format_pan3 = _CONSTANTS$format_pan3.subSectionDefinition) == null ? void 0 : _CONSTANTS$format_pan3.bar.title) != null ? _CONSTANTS$format_pan2 : '',
11367
- namespace: (_CONSTANTS$format_pan4 = CONSTANTS$n.format_panel.conditional_formatting) == null || (_CONSTANTS$format_pan4 = _CONSTANTS$format_pan4.subSectionDefinition) == null ? void 0 : _CONSTANTS$format_pan4.bar.namespace,
11401
+ title: (_CONSTANTS$format_pan3 = (_CONSTANTS$format_pan4 = CONSTANTS$n.format_panel.conditional_formatting) == null || (_CONSTANTS$format_pan4 = _CONSTANTS$format_pan4.subSectionDefinition) == null ? void 0 : _CONSTANTS$format_pan4.bar.title) != null ? _CONSTANTS$format_pan3 : '',
11402
+ namespace: (_CONSTANTS$format_pan5 = CONSTANTS$n.format_panel.conditional_formatting) == null || (_CONSTANTS$format_pan5 = _CONSTANTS$format_pan5.subSectionDefinition) == null ? void 0 : _CONSTANTS$format_pan5.bar.namespace,
11368
11403
  propKey: 'bar'
11369
11404
  }, {
11370
- title: (_CONSTANTS$format_pan5 = (_CONSTANTS$format_pan6 = CONSTANTS$n.format_panel.conditional_formatting) == null || (_CONSTANTS$format_pan6 = _CONSTANTS$format_pan6.subSectionDefinition) == null ? void 0 : _CONSTANTS$format_pan6.line.title) != null ? _CONSTANTS$format_pan5 : '',
11371
- namespace: (_CONSTANTS$format_pan7 = CONSTANTS$n.format_panel.conditional_formatting) == null || (_CONSTANTS$format_pan7 = _CONSTANTS$format_pan7.subSectionDefinition) == null ? void 0 : _CONSTANTS$format_pan7.line.namespace,
11405
+ title: (_CONSTANTS$format_pan6 = (_CONSTANTS$format_pan7 = CONSTANTS$n.format_panel.conditional_formatting) == null || (_CONSTANTS$format_pan7 = _CONSTANTS$format_pan7.subSectionDefinition) == null ? void 0 : _CONSTANTS$format_pan7.line.title) != null ? _CONSTANTS$format_pan6 : '',
11406
+ namespace: (_CONSTANTS$format_pan8 = CONSTANTS$n.format_panel.conditional_formatting) == null || (_CONSTANTS$format_pan8 = _CONSTANTS$format_pan8.subSectionDefinition) == null ? void 0 : _CONSTANTS$format_pan8.line.namespace,
11372
11407
  propKey: 'line'
11373
11408
  }]
11374
11409
  }), namespace(CONSTANTS$n, 'goal_line')];
@@ -12509,12 +12544,16 @@ var defaultNumberFormatOptions = function defaultNumberFormatOptions(textOverrid
12509
12544
  description: textOverride('number_format_option.currency_eur', 'Currency €')
12510
12545
  },
12511
12546
  _vizzly_to_percentage: {
12512
- formatter: function formatter(value, noValueReplacement) {
12547
+ formatter: function formatter(value, noValueReplacement, total) {
12513
12548
  if (noValueReplacement === void 0) {
12514
12549
  noValueReplacement = noValue;
12515
12550
  }
12516
12551
  if (value === null || value === undefined) return noValueReplacement;
12517
12552
  if (Number.isNaN(value)) return formattingError;
12553
+ if (total !== undefined && total !== 0 && typeof value === 'number') {
12554
+ var percentage = isPercentageOf(value, total);
12555
+ return toDp(percentage, 2) + "%";
12556
+ }
12518
12557
  return toPercentage(value, 2);
12519
12558
  },
12520
12559
  description: textOverride('number_format_option.percentage', 'Percentage')
@@ -13062,10 +13101,10 @@ var formatSeriesName = function formatSeriesName(result, textOverride, type, id,
13062
13101
  return newTitle != null ? newTitle : defaultLabel;
13063
13102
  };
13064
13103
  };
13065
- var convertValueToFormat = function convertValueToFormat(value, numberFormatOptions, format) {
13104
+ var convertValueToFormat = function convertValueToFormat(value, numberFormatOptions, format, total) {
13066
13105
  var _numberFormatOptions;
13067
13106
  var formatter = numberFormatOptions == null || (_numberFormatOptions = numberFormatOptions[format != null ? format : '']) == null ? void 0 : _numberFormatOptions.formatter;
13068
- return formatter ? formatter(value) : value;
13107
+ return formatter ? formatter(value, undefined, total) : value;
13069
13108
  };
13070
13109
  function getGradientAdjustedColor(rule, matchedHexValue, actualValue) {
13071
13110
  if (rule.boundaries && rule.boundaries.length === 2 && rule.ruleValueEnd) {
@@ -34066,6 +34105,12 @@ var calculateMinMax = function calculateMinMax(values) {
34066
34105
  maxValue: maxValue
34067
34106
  };
34068
34107
  };
34108
+ var normalizeKey = function normalizeKey(value) {
34109
+ if (typeof value === 'number' || !isNaN(Number(value)) && !isNaN(parseFloat(value))) {
34110
+ return Number(value).toString().split('.')[0];
34111
+ }
34112
+ return String(value);
34113
+ };
34069
34114
  var showMinMaxLabel = function showMinMaxLabel(value, totalItems, minValue, maxValue) {
34070
34115
  return totalItems < 11 || value == minValue || value == maxValue;
34071
34116
  };
@@ -34078,6 +34123,40 @@ var getMinMaxChartValueFromNumberArray = function getMinMaxChartValueFromNumberA
34078
34123
  maxValue: maxValue
34079
34124
  };
34080
34125
  };
34126
+ var getLabelDictionary = function getLabelDictionary(formattedData, keys) {
34127
+ var formattedLabelNames = formattedData == null ? void 0 : formattedData.map(function (d) {
34128
+ var convertedArray = keys.map(function (key) {
34129
+ var _ref;
34130
+ if (!d[key].formattedValue) return;
34131
+ var valueKey = normalizeKey(d[key].value);
34132
+ var label = d[key].formattedValue;
34133
+ return _ref = {}, _ref[valueKey] = label, _ref;
34134
+ }).flat();
34135
+ return convertedArray;
34136
+ });
34137
+ if (!formattedLabelNames) return {};
34138
+ var dictionary = {};
34139
+ formattedLabelNames.forEach(function (labelArray) {
34140
+ if (labelArray) {
34141
+ labelArray.forEach(function (labelObj) {
34142
+ if (labelObj) {
34143
+ Object.entries(labelObj).forEach(function (_ref2) {
34144
+ var value = _ref2[0],
34145
+ label = _ref2[1];
34146
+ dictionary[value] = label;
34147
+ });
34148
+ }
34149
+ });
34150
+ }
34151
+ });
34152
+ return dictionary;
34153
+ };
34154
+ var getFormattedValue = function getFormattedValue(value, dictionary) {
34155
+ var _dictionary$normalize;
34156
+ if (!dictionary) return value;
34157
+ var normalizedKey = normalizeKey(value);
34158
+ return (_dictionary$normalize = dictionary[normalizedKey]) != null ? _dictionary$normalize : value;
34159
+ };
34081
34160
  var getAllChartValues = function getAllChartValues(data, keys) {
34082
34161
  var allValues = [];
34083
34162
  data.forEach(function (item) {
@@ -34103,6 +34182,12 @@ var accessors = function accessors(xAxisIsTime, xKey, yKey, horizontal) {
34103
34182
  };
34104
34183
  };
34105
34184
  var DEFAULT_Y_AXIS_LABEL_COUNT = 5;
34185
+ var LABEL_TEXT_STYLE = {
34186
+ textAnchor: 'middle',
34187
+ fontSize: '10px',
34188
+ fill: '#333',
34189
+ fontWeight: 500
34190
+ };
34106
34191
  var VizzlyXYChart = function VizzlyXYChart(props) {
34107
34192
  var _props$height, _theme$axis$stroke, _theme$axis, _ref, _props$lines$data$len, _props$lines, _props$areas, _props$bars, _props$lines$threshol, _props$lines2, _props$areas2, _props$forceXAxisAsTi, _props$bars2, _props$lines3, _theme$grid$stroke, _theme$grid, _props$axisTitles, _props$axisTitles2, _props$axisTitles3, _props$axisTitles4, _props$areas7, _props$bars3, _props$bars7, _props$lines4, _props$lines7, _props$trends2, _props$lines13, _props$bars14, _props$goalLine, _props$bars15, _props$bars16, _props$bars17;
34108
34193
  var height = adjustHeight((_props$height = props == null ? void 0 : props.height) != null ? _props$height : 300, props == null ? void 0 : props.legend);
@@ -34387,57 +34472,49 @@ var VizzlyXYChart = function VizzlyXYChart(props) {
34387
34472
  }), "bar_with_previous_" + props.uniqueId + "_" + keyIndex);
34388
34473
  })
34389
34474
  }), props.bars.data.map(function (dataPoint, dataIndex) {
34390
- return jsx("g", {
34391
- children: props.bars.keys.map(function (key, keyIndex) {
34392
- var value = dataPoint[key];
34393
- if (!value || !props.labels) return null;
34394
- if (props.bars.data.length > 10) {
34395
- var values = props.bars.data.map(function (d) {
34396
- return Number(d[key]);
34397
- }).filter(function (v) {
34398
- return v;
34399
- });
34400
- var _getMinMaxChartValueF = getMinMaxChartValueFromNumberArray(values),
34401
- _minValue = _getMinMaxChartValueF.minValue,
34402
- _maxValue = _getMinMaxChartValueF.maxValue;
34403
- var currentValue = Number(value);
34404
- if (currentValue !== _minValue && currentValue !== _maxValue) {
34405
- return null;
34406
- }
34407
- }
34408
- var chartWidth = props.width || 400;
34409
- var barWidth = (chartWidth - margin.left - margin.right) / props.bars.data.length;
34410
- var barX = margin.left + dataIndex * barWidth + barWidth / 2;
34411
- var isPositiveModifier = isPositiveModifierKey(key);
34412
- var barHeight, barY;
34413
- if (isPositiveModifier) {
34414
- // Helper function to extract the base name from the key (e.g., "{Revenue, previous}" -> "Revenue")
34415
- var getBaseKeyName = function getBaseKeyName(keyName) {
34416
- return keyName.replace(/[{}]/g, '').split(',')[0].trim();
34417
- };
34418
- var standardKey = props.bars.keys.find(function (k) {
34419
- return !isPositiveModifierKey(k) && getBaseKeyName(k) === getBaseKeyName(key);
34420
- });
34421
- var totalValue = standardKey ? dataPoint[standardKey] : 0;
34422
- var previousValue = Number(value);
34423
- var totalBarValue = Number(totalValue) + previousValue;
34424
- barHeight = (height - margin.top - margin.bottom) * totalBarValue / (maxValue || 1);
34425
- barY = height - margin.bottom - barHeight;
34426
- } else {
34427
- barHeight = (height - margin.top - margin.bottom) * Number(value) / (maxValue || 1);
34428
- barY = height - margin.bottom - barHeight;
34429
- }
34430
- return jsx("text", {
34431
- x: barX,
34432
- y: barY,
34433
- textAnchor: "bottom",
34434
- fontSize: "10px",
34435
- fill: "#333",
34436
- fontWeight: "500",
34437
- children: formatYAxisLabel$1(props)(value)
34438
- }, "funnel_label_" + props.uniqueId + "_" + dataIndex + "_" + keyIndex);
34439
- })
34440
- }, "funnel_labels_" + props.uniqueId + "_" + dataIndex);
34475
+ var mainKey = props.bars.keys[0];
34476
+ var value = dataPoint[mainKey];
34477
+ if (!value || !props.labels) return null;
34478
+ if (props.bars && props.bars.data.length > 30) {
34479
+ var values = props.bars.data.map(function (d) {
34480
+ return Number(d[mainKey]);
34481
+ }).filter(function (v) {
34482
+ return v;
34483
+ });
34484
+ var _getMinMaxChartValueF = getMinMaxChartValueFromNumberArray(values),
34485
+ _minValue = _getMinMaxChartValueF.minValue,
34486
+ _maxValue = _getMinMaxChartValueF.maxValue;
34487
+ var currentValue = Number(value);
34488
+ if (currentValue !== _minValue && currentValue !== _maxValue) {
34489
+ return null;
34490
+ }
34491
+ }
34492
+ var _accessors = accessors(xAxisIsTime, x, mainKey, horizontal),
34493
+ yAccessor = _accessors.yAccessor;
34494
+ var yValue = yAccessor(dataPoint);
34495
+ var defaultChartWidth = 400;
34496
+ var chartWidth = props.width || defaultChartWidth;
34497
+ var barWidth = (chartWidth - margin.left - margin.right) / props.bars.data.length;
34498
+ var barX = margin.left + dataIndex * barWidth + barWidth / 2;
34499
+ var availableHeight = height - margin.top - margin.bottom;
34500
+ var yScale = scaleLinear({
34501
+ domain: [minValue, maxValue],
34502
+ range: [availableHeight, 0],
34503
+ nice: true
34504
+ });
34505
+ var scaledYValue = yScale(Number(yValue));
34506
+ var barTopY = margin.top + scaledYValue;
34507
+ var yPadding = 5;
34508
+ var labelY = barTopY - yPadding;
34509
+ return jsx("text", {
34510
+ x: barX,
34511
+ y: labelY,
34512
+ textAnchor: LABEL_TEXT_STYLE.textAnchor,
34513
+ fontSize: LABEL_TEXT_STYLE.fontSize,
34514
+ fill: LABEL_TEXT_STYLE.fill,
34515
+ fontWeight: LABEL_TEXT_STYLE.fontWeight,
34516
+ children: formatYAxisLabel$1(props)(value)
34517
+ }, "funnel_label_" + props.uniqueId + "_" + dataIndex);
34441
34518
  })]
34442
34519
  }), (props == null ? void 0 : props.bars) && props.bars.stacked && jsxs(Fragment, {
34443
34520
  children: [props.enableHover && jsx("style", {
@@ -38891,12 +38968,12 @@ var PieChartView = function PieChartView(props) {
38891
38968
  var rS = resultSet$1(props.result, pivotConfig, fakeQuery, false, checkForNullValue(props.dataSetId, props.dimension, props.timeDimension, textOverride, valueAlias));
38892
38969
  var pieSeries = series$1(fakeQuery, props.result, pivotConfig);
38893
38970
 
38894
- /*
38971
+ /*
38895
38972
  NOTES
38896
38973
  - isArray(data[props.dimension[0].field]) check below added so Pie charts can support conditional formatting on string[] dataTypes
38897
38974
  */
38898
38975
 
38899
- /*
38976
+ /*
38900
38977
  TODO
38901
38978
  - Allow string[] dataTypes to be chosen as a grouping in the Pie chart
38902
38979
  - Make sure the formatting of labels is correct when using string[] dataTypes (currently they appear with no spaces or commas within the pie chart tooltip)
@@ -38961,7 +39038,10 @@ var PieChartView = function PieChartView(props) {
38961
39038
  showLabel: (theme == null ? void 0 : theme.detail) === 'verbose' && (props == null ? void 0 : props.labels) !== false || (props == null ? void 0 : props.labels),
38962
39039
  legend: showLegend(props == null ? void 0 : props.legend, (theme == null ? void 0 : theme.detail) === 'verbose'),
38963
39040
  formatValue: function formatValue(value) {
38964
- return convertValueToFormat(toDp(value, 2), props == null ? void 0 : props.numberFormatOptions, props == null ? void 0 : props.labelFormat);
39041
+ var total = data[0].data.reduce(function (sum, item) {
39042
+ return sum + (item[data[0].valueKey] || 0);
39043
+ }, 0);
39044
+ return convertValueToFormat(value, props == null ? void 0 : props.numberFormatOptions, props == null ? void 0 : props.labelFormat, total);
38965
39045
  }
38966
39046
  })
38967
39047
  })]
@@ -43419,373 +43499,6 @@ function buildComboTooltipData(barTooltipData, lineTooltipData, xScaleKey) {
43419
43499
  return barTooltipData && lineTooltipData ? _extends({}, barTooltipData, lineTooltipData) : undefined;
43420
43500
  }
43421
43501
 
43422
- var LegendItemBox = function LegendItemBox(_ref) {
43423
- var color = _ref.color,
43424
- style = _ref.style;
43425
- return jsx("svg", {
43426
- width: 10,
43427
- height: 10,
43428
- style: {
43429
- display: 'block'
43430
- },
43431
- children: style.type === 'line' ? style.strokeDasharray !== null ? jsx("line", {
43432
- x1: "0",
43433
- y1: "5",
43434
- x2: "10",
43435
- y2: "5",
43436
- stroke: color,
43437
- strokeWidth: style.strokeWidth,
43438
- strokeDasharray: 2
43439
- }) : jsx("line", {
43440
- x1: "0",
43441
- y1: "5",
43442
- x2: "10",
43443
- y2: "5",
43444
- stroke: color,
43445
- strokeWidth: style.strokeWidth
43446
- }) : jsx("rect", {
43447
- fill: color,
43448
- width: 10,
43449
- height: 10,
43450
- rx: "2"
43451
- })
43452
- });
43453
- };
43454
- var LegendItemSquare = function LegendItemSquare(_ref2) {
43455
- var color = _ref2.color;
43456
- return jsx("svg", {
43457
- width: 8,
43458
- height: 8,
43459
- style: {
43460
- display: 'block'
43461
- },
43462
- children: jsx("rect", {
43463
- fill: color,
43464
- width: 8,
43465
- height: 8,
43466
- rx: "2"
43467
- })
43468
- });
43469
- };
43470
- var LegendItemTriangle = function LegendItemTriangle(_ref3) {
43471
- var color = _ref3.color;
43472
- return jsx("svg", {
43473
- width: 8,
43474
- height: 8,
43475
- style: {
43476
- display: 'block',
43477
- borderRadius: 1
43478
- },
43479
- children: jsx("polygon", {
43480
- points: "0,0 10,10 0,10",
43481
- fill: color
43482
- })
43483
- });
43484
- };
43485
-
43486
- function _EMOTION_STRINGIFIED_CSS_ERROR__$5() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
43487
- var MIN_TOOLTIP_WIDTH = 180;
43488
- var TOOLTIP_OFFSET = 20;
43489
- var SCROLLBAR_WIDTH = 40;
43490
- var Tooltip$1 = function Tooltip(_ref) {
43491
- var _tooltipData$xKey$for, _tooltipData$xKey;
43492
- var keys = _ref.keys,
43493
- showRoundedTotal = _ref.showRoundedTotal,
43494
- tooltipData = _ref.tooltipData,
43495
- tooltipLeft = _ref.tooltipLeft,
43496
- tooltipTop = _ref.tooltipTop,
43497
- xKey = _ref.xKey,
43498
- yKeys = _ref.yKeys,
43499
- theme = _ref.theme,
43500
- items = _ref.items,
43501
- _ref$shouldShowColorL = _ref.shouldShowColorLegend,
43502
- shouldShowColorLegend = _ref$shouldShowColorL === void 0 ? true : _ref$shouldShowColorL;
43503
- var tooltipRef = useRef(null);
43504
- var _useState = useState({
43505
- left: tooltipLeft
43506
- }),
43507
- position = _useState[0],
43508
- setPosition = _useState[1];
43509
- useEffect(function () {
43510
- var adjustTooltipPosition = function adjustTooltipPosition() {
43511
- var tooltipElement = tooltipRef.current;
43512
- if (tooltipElement) {
43513
- var screenWidth = window.innerWidth;
43514
- var rect = tooltipElement.getBoundingClientRect();
43515
- var width = rect.width;
43516
- if (width < MIN_TOOLTIP_WIDTH) {
43517
- width = MIN_TOOLTIP_WIDTH;
43518
- }
43519
- var left = tooltipLeft + TOOLTIP_OFFSET;
43520
- if (tooltipLeft + width > screenWidth - SCROLLBAR_WIDTH) {
43521
- left = tooltipLeft - width - TOOLTIP_OFFSET;
43522
- }
43523
- setPosition({
43524
- left: left
43525
- });
43526
- }
43527
- };
43528
- adjustTooltipPosition();
43529
- }, [tooltipLeft]);
43530
- return /*#__PURE__*/createPortal(jsx("div", {
43531
- ref: tooltipRef,
43532
- style: _extends({
43533
- position: 'absolute',
43534
- left: position.left,
43535
- top: tooltipTop,
43536
- zIndex: 2147483647 * 10
43537
- }, theme),
43538
- children: jsxs("div", {
43539
- style: {
43540
- wordBreak: 'break-all'
43541
- },
43542
- children: [jsx("div", {
43543
- className: /*#__PURE__*/css$1({
43544
- fontFamily: 'inherit',
43545
- lineHeight: 'inherit',
43546
- letterSpacing: 'inherit',
43547
- fontWeight: 'bold',
43548
- fontSize: '15px',
43549
- width: '100%',
43550
- minWidth: MIN_TOOLTIP_WIDTH
43551
- }, process.env.NODE_ENV === "production" ? "" : ";label:Tooltip;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRvb2x0aXAudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZGcUIiLCJmaWxlIjoiVG9vbHRpcC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ1NTUHJvcGVydGllcywgRnJhZ21lbnQsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSc7XG5cbmltcG9ydCB7IGdldENvbG9yIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgTGVnZW5kSXRlbUJveCB9IGZyb20gJy4uL0xlZ2VuZC9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSwgRGF0YUl0ZW0sIEtleSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IEFyZWFTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0FyZWFDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IEJ1YmJsZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQnViYmxlQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuXG5jb25zdCBNSU5fVE9PTFRJUF9XSURUSCA9IDE4MDtcbmNvbnN0IFRPT0xUSVBfT0ZGU0VUID0gMjA7XG5jb25zdCBTQ1JPTExCQVJfV0lEVEggPSA0MDtcblxuaW50ZXJmYWNlIFRvb2x0aXBQcm9wczxUPiB7XG4gIGtleXM6IHsgW2tleTogc3RyaW5nXTogS2V5IH07XG4gIHNob3dSb3VuZGVkVG90YWw6IGJvb2xlYW47XG4gIHRvb2x0aXBEYXRhOiB7XG4gICAgW2tleUlkOiBzdHJpbmddOiBEYXRhSXRlbTtcbiAgfTtcbiAgdG9vbHRpcExlZnQ6IG51bWJlcjtcbiAgdG9vbHRpcFRvcDogbnVtYmVyO1xuICB4S2V5OiBzdHJpbmc7XG4gIHlLZXlzPzogc3RyaW5nW107XG4gIGl0ZW1zOiB7XG4gICAgbGVnZW5kSXRlbXM6IEFycmF5PFNoYXBlRGVmaW5pdGlvbjxUPj47XG4gICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xuICAgIHZpc2libGVZS2V5czogc3RyaW5nW107XG4gIH1bXTtcbiAgdGhlbWU6IENTU1Byb3BlcnRpZXM7XG4gIHNob3VsZFNob3dDb2xvckxlZ2VuZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBUb29sdGlwID0gKHtcbiAga2V5cyxcbiAgc2hvd1JvdW5kZWRUb3RhbCxcbiAgdG9vbHRpcERhdGEsXG4gIHRvb2x0aXBMZWZ0LFxuICB0b29sdGlwVG9wLFxuICB4S2V5LFxuICB5S2V5cyxcbiAgdGhlbWUsXG4gIGl0ZW1zLFxuICBzaG91bGRTaG93Q29sb3JMZWdlbmQgPSB0cnVlLFxufTogVG9vbHRpcFByb3BzPExpbmVTdHlsZXMgfCBCYXJTdHlsZXMgfCBBcmVhU3R5bGVzIHwgQnViYmxlU3R5bGVzPikgPT4ge1xuICBjb25zdCB0b29sdGlwUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgW3Bvc2l0aW9uLCBzZXRQb3NpdGlvbl0gPSB1c2VTdGF0ZTx7IGxlZnQ6IG51bWJlciB9Pih7XG4gICAgbGVmdDogdG9vbHRpcExlZnQsXG4gIH0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgYWRqdXN0VG9vbHRpcFBvc2l0aW9uID0gKCkgPT4ge1xuICAgICAgY29uc3QgdG9vbHRpcEVsZW1lbnQgPSB0b29sdGlwUmVmLmN1cnJlbnQ7XG5cbiAgICAgIGlmICh0b29sdGlwRWxlbWVudCkge1xuICAgICAgICBjb25zdCBzY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuXG4gICAgICAgIGNvbnN0IHJlY3QgPSB0b29sdGlwRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBsZXQgd2lkdGggPSByZWN0LndpZHRoO1xuXG4gICAgICAgIGlmICh3aWR0aCA8IE1JTl9UT09MVElQX1dJRFRIKSB7XG4gICAgICAgICAgd2lkdGggPSBNSU5fVE9PTFRJUF9XSURUSDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBsZWZ0ID0gdG9vbHRpcExlZnQgKyBUT09MVElQX09GRlNFVDtcblxuICAgICAgICBpZiAodG9vbHRpcExlZnQgKyB3aWR0aCA+IHNjcmVlbldpZHRoIC0gU0NST0xMQkFSX1dJRFRIKSB7XG4gICAgICAgICAgbGVmdCA9IHRvb2x0aXBMZWZ0IC0gd2lkdGggLSBUT09MVElQX09GRlNFVDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFBvc2l0aW9uKHsgbGVmdCB9KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgYWRqdXN0VG9vbHRpcFBvc2l0aW9uKCk7XG4gIH0sIFt0b29sdGlwTGVmdF0pO1xuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPGRpdlxuICAgICAgcmVmPXt0b29sdGlwUmVmfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIGxlZnQ6IHBvc2l0aW9uLmxlZnQsXG4gICAgICAgIHRvcDogdG9vbHRpcFRvcCxcbiAgICAgICAgekluZGV4OiAyMTQ3NDgzNjQ3ICogMTAsXG4gICAgICAgIC4uLnRoZW1lLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2IHN0eWxlPXt7IHdvcmRCcmVhazogJ2JyZWFrLWFsbCcgfX0+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9e2Nzcyh7XG4gICAgICAgICAgICBmb250RmFtaWx5OiAnaW5oZXJpdCcsXG4gICAgICAgICAgICBsaW5lSGVpZ2h0OiAnaW5oZXJpdCcsXG4gICAgICAgICAgICBsZXR0ZXJTcGFjaW5nOiAnaW5oZXJpdCcsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiAnYm9sZCcsXG4gICAgICAgICAgICBmb250U2l6ZTogJzE1cHgnLFxuICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgIG1pbldpZHRoOiBNSU5fVE9PTFRJUF9XSURUSCxcbiAgICAgICAgICB9KX1cbiAgICAgICAgPlxuICAgICAgICAgIHt0b29sdGlwRGF0YVt4S2V5XT8uZm9ybWF0dGVkVmFsdWUgPz8gdG9vbHRpcERhdGFbeEtleV0udmFsdWV9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dGFibGVcbiAgICAgICAgICBjZWxsUGFkZGluZz17MH1cbiAgICAgICAgICBjZWxsU3BhY2luZz17MH1cbiAgICAgICAgICBjbGFzc05hbWU9e2Nzcyh7XG4gICAgICAgICAgICBtYXJnaW46ICcwJyxcbiAgICAgICAgICAgIGJvcmRlclNwYWNpbmc6ICcwJyxcbiAgICAgICAgICAgIGJvcmRlckNvbGxhcHNlOiAnaW5oZXJpdCcsXG4gICAgICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgICB9KX1cbiAgICAgICAgPlxuICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPEZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgICAgICAgICAge2l0ZW0ubGVnZW5kSXRlbXM/Lm1hcCgobGVnZW5kSXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0b29sdGlwRGF0YVtsZWdlbmRJdGVtLnlLZXldIHx8IHRvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0udmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAvLyB5S2V5IGNvdWxkIG5vdCBiZSBmb3VuZCBpbiB0b29sdGlwRGF0YVxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgaXRlbS52aXNpYmxlWUtleXM/LmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGtleT17YCR7bGVnZW5kSXRlbS55S2V5fS0ke2luZGV4fS0ke3Rvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0udmFsdWV9YH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtzaG91bGRTaG93Q29sb3JMZWdlbmQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWxBbGlnbjogJ21pZGRsZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGluZGV4ID09PSAwID8gJzEycHggOHB4IDAgMCcgOiAnOHB4IDhweCAwIDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJ2F1dG8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGVnZW5kSXRlbUJveFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj17Z2V0Q29sb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRDb2xvcjogbGVnZW5kSXRlbS5jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdG9vbHRpcERhdGFbbGVnZW5kSXRlbS55S2V5XS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5S2V5OiBsZWdlbmRJdGVtLnlLZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IGl0ZW0uY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMgPz8gW10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17bGVnZW5kSXRlbS5zdHlsZSBhcyBMaW5lU3R5bGVzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5S2V5PXtsZWdlbmRJdGVtLnlLZXl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT17eyBwYWRkaW5nOiAnOHB4IDAgMCAwJyB9fT57a2V5c1tsZWdlbmRJdGVtLnlLZXldLmtleUZvcm1hdHRlZH08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9e3sgZm9udFdlaWdodDogJ2JvbGQnLCBwYWRkaW5nOiAnOHB4IDAgMCAxNnB4JyB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dG9vbHRpcERhdGFbbGVnZW5kSXRlbS55S2V5XS5mb3JtYXR0ZWRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0b29sdGlwRGF0YVtsZWdlbmRJdGVtLnlLZXldLmZvcm1hdHRlZFZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0udmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KX1cblxuICAgICAgICAgICAge3Nob3dSb3VuZGVkVG90YWwgJiYgeUtleXMgJiYgKFxuICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgPHRkIGNvbFNwYW49ezJ9IHN0eWxlPXt7IHBhZGRpbmc6ICcxMnB4IDAgMCAwJyB9fT5cbiAgICAgICAgICAgICAgICAgIFJvdW5kZWQgVG90YWxcbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT17eyBmb250V2VpZ2h0OiAnYm9sZCcsIHBhZGRpbmc6ICcxMnB4IDAgMCAxNnB4JyB9fT5cbiAgICAgICAgICAgICAgICAgIHt5S2V5cy5yZWR1Y2UoKHRvdGFsLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRvdGFsICsgTWF0aC5yb3VuZCh0b29sdGlwRGF0YVtrZXldLnZhbHVlIGFzIG51bWJlcik7XG4gICAgICAgICAgICAgICAgICB9LCAwKX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+LFxuICAgIGRvY3VtZW50LmJvZHksXG4gICk7XG59O1xuIl19 */"),
43552
- children: (_tooltipData$xKey$for = (_tooltipData$xKey = tooltipData[xKey]) == null ? void 0 : _tooltipData$xKey.formattedValue) != null ? _tooltipData$xKey$for : tooltipData[xKey].value
43553
- }), jsx("table", {
43554
- cellPadding: 0,
43555
- cellSpacing: 0,
43556
- className: /*#__PURE__*/css$1(process.env.NODE_ENV === "production" ? {
43557
- name: "x8luwd",
43558
- styles: "margin:0;border-spacing:0;border-collapse:inherit;border:none"
43559
- } : {
43560
- name: "9a1sa-Tooltip",
43561
- styles: "margin:0;border-spacing:0;border-collapse:inherit;border:none;label:Tooltip;",
43562
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRvb2x0aXAudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRHcUIiLCJmaWxlIjoiVG9vbHRpcC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ1NTUHJvcGVydGllcywgRnJhZ21lbnQsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSc7XG5cbmltcG9ydCB7IGdldENvbG9yIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgTGVnZW5kSXRlbUJveCB9IGZyb20gJy4uL0xlZ2VuZC9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSwgRGF0YUl0ZW0sIEtleSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IEFyZWFTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0FyZWFDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IEJ1YmJsZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQnViYmxlQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuXG5jb25zdCBNSU5fVE9PTFRJUF9XSURUSCA9IDE4MDtcbmNvbnN0IFRPT0xUSVBfT0ZGU0VUID0gMjA7XG5jb25zdCBTQ1JPTExCQVJfV0lEVEggPSA0MDtcblxuaW50ZXJmYWNlIFRvb2x0aXBQcm9wczxUPiB7XG4gIGtleXM6IHsgW2tleTogc3RyaW5nXTogS2V5IH07XG4gIHNob3dSb3VuZGVkVG90YWw6IGJvb2xlYW47XG4gIHRvb2x0aXBEYXRhOiB7XG4gICAgW2tleUlkOiBzdHJpbmddOiBEYXRhSXRlbTtcbiAgfTtcbiAgdG9vbHRpcExlZnQ6IG51bWJlcjtcbiAgdG9vbHRpcFRvcDogbnVtYmVyO1xuICB4S2V5OiBzdHJpbmc7XG4gIHlLZXlzPzogc3RyaW5nW107XG4gIGl0ZW1zOiB7XG4gICAgbGVnZW5kSXRlbXM6IEFycmF5PFNoYXBlRGVmaW5pdGlvbjxUPj47XG4gICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xuICAgIHZpc2libGVZS2V5czogc3RyaW5nW107XG4gIH1bXTtcbiAgdGhlbWU6IENTU1Byb3BlcnRpZXM7XG4gIHNob3VsZFNob3dDb2xvckxlZ2VuZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBUb29sdGlwID0gKHtcbiAga2V5cyxcbiAgc2hvd1JvdW5kZWRUb3RhbCxcbiAgdG9vbHRpcERhdGEsXG4gIHRvb2x0aXBMZWZ0LFxuICB0b29sdGlwVG9wLFxuICB4S2V5LFxuICB5S2V5cyxcbiAgdGhlbWUsXG4gIGl0ZW1zLFxuICBzaG91bGRTaG93Q29sb3JMZWdlbmQgPSB0cnVlLFxufTogVG9vbHRpcFByb3BzPExpbmVTdHlsZXMgfCBCYXJTdHlsZXMgfCBBcmVhU3R5bGVzIHwgQnViYmxlU3R5bGVzPikgPT4ge1xuICBjb25zdCB0b29sdGlwUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgW3Bvc2l0aW9uLCBzZXRQb3NpdGlvbl0gPSB1c2VTdGF0ZTx7IGxlZnQ6IG51bWJlciB9Pih7XG4gICAgbGVmdDogdG9vbHRpcExlZnQsXG4gIH0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgYWRqdXN0VG9vbHRpcFBvc2l0aW9uID0gKCkgPT4ge1xuICAgICAgY29uc3QgdG9vbHRpcEVsZW1lbnQgPSB0b29sdGlwUmVmLmN1cnJlbnQ7XG5cbiAgICAgIGlmICh0b29sdGlwRWxlbWVudCkge1xuICAgICAgICBjb25zdCBzY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuXG4gICAgICAgIGNvbnN0IHJlY3QgPSB0b29sdGlwRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBsZXQgd2lkdGggPSByZWN0LndpZHRoO1xuXG4gICAgICAgIGlmICh3aWR0aCA8IE1JTl9UT09MVElQX1dJRFRIKSB7XG4gICAgICAgICAgd2lkdGggPSBNSU5fVE9PTFRJUF9XSURUSDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBsZWZ0ID0gdG9vbHRpcExlZnQgKyBUT09MVElQX09GRlNFVDtcblxuICAgICAgICBpZiAodG9vbHRpcExlZnQgKyB3aWR0aCA+IHNjcmVlbldpZHRoIC0gU0NST0xMQkFSX1dJRFRIKSB7XG4gICAgICAgICAgbGVmdCA9IHRvb2x0aXBMZWZ0IC0gd2lkdGggLSBUT09MVElQX09GRlNFVDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFBvc2l0aW9uKHsgbGVmdCB9KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgYWRqdXN0VG9vbHRpcFBvc2l0aW9uKCk7XG4gIH0sIFt0b29sdGlwTGVmdF0pO1xuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPGRpdlxuICAgICAgcmVmPXt0b29sdGlwUmVmfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIGxlZnQ6IHBvc2l0aW9uLmxlZnQsXG4gICAgICAgIHRvcDogdG9vbHRpcFRvcCxcbiAgICAgICAgekluZGV4OiAyMTQ3NDgzNjQ3ICogMTAsXG4gICAgICAgIC4uLnRoZW1lLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2IHN0eWxlPXt7IHdvcmRCcmVhazogJ2JyZWFrLWFsbCcgfX0+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9e2Nzcyh7XG4gICAgICAgICAgICBmb250RmFtaWx5OiAnaW5oZXJpdCcsXG4gICAgICAgICAgICBsaW5lSGVpZ2h0OiAnaW5oZXJpdCcsXG4gICAgICAgICAgICBsZXR0ZXJTcGFjaW5nOiAnaW5oZXJpdCcsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiAnYm9sZCcsXG4gICAgICAgICAgICBmb250U2l6ZTogJzE1cHgnLFxuICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgIG1pbldpZHRoOiBNSU5fVE9PTFRJUF9XSURUSCxcbiAgICAgICAgICB9KX1cbiAgICAgICAgPlxuICAgICAgICAgIHt0b29sdGlwRGF0YVt4S2V5XT8uZm9ybWF0dGVkVmFsdWUgPz8gdG9vbHRpcERhdGFbeEtleV0udmFsdWV9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dGFibGVcbiAgICAgICAgICBjZWxsUGFkZGluZz17MH1cbiAgICAgICAgICBjZWxsU3BhY2luZz17MH1cbiAgICAgICAgICBjbGFzc05hbWU9e2Nzcyh7XG4gICAgICAgICAgICBtYXJnaW46ICcwJyxcbiAgICAgICAgICAgIGJvcmRlclNwYWNpbmc6ICcwJyxcbiAgICAgICAgICAgIGJvcmRlckNvbGxhcHNlOiAnaW5oZXJpdCcsXG4gICAgICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgICB9KX1cbiAgICAgICAgPlxuICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPEZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgICAgICAgICAge2l0ZW0ubGVnZW5kSXRlbXM/Lm1hcCgobGVnZW5kSXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0b29sdGlwRGF0YVtsZWdlbmRJdGVtLnlLZXldIHx8IHRvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0udmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAvLyB5S2V5IGNvdWxkIG5vdCBiZSBmb3VuZCBpbiB0b29sdGlwRGF0YVxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgaXRlbS52aXNpYmxlWUtleXM/LmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGtleT17YCR7bGVnZW5kSXRlbS55S2V5fS0ke2luZGV4fS0ke3Rvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0udmFsdWV9YH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtzaG91bGRTaG93Q29sb3JMZWdlbmQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWxBbGlnbjogJ21pZGRsZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGluZGV4ID09PSAwID8gJzEycHggOHB4IDAgMCcgOiAnOHB4IDhweCAwIDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJ2F1dG8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGVnZW5kSXRlbUJveFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj17Z2V0Q29sb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRDb2xvcjogbGVnZW5kSXRlbS5jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdG9vbHRpcERhdGFbbGVnZW5kSXRlbS55S2V5XS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5S2V5OiBsZWdlbmRJdGVtLnlLZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IGl0ZW0uY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMgPz8gW10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17bGVnZW5kSXRlbS5zdHlsZSBhcyBMaW5lU3R5bGVzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5S2V5PXtsZWdlbmRJdGVtLnlLZXl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT17eyBwYWRkaW5nOiAnOHB4IDAgMCAwJyB9fT57a2V5c1tsZWdlbmRJdGVtLnlLZXldLmtleUZvcm1hdHRlZH08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9e3sgZm9udFdlaWdodDogJ2JvbGQnLCBwYWRkaW5nOiAnOHB4IDAgMCAxNnB4JyB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dG9vbHRpcERhdGFbbGVnZW5kSXRlbS55S2V5XS5mb3JtYXR0ZWRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0b29sdGlwRGF0YVtsZWdlbmRJdGVtLnlLZXldLmZvcm1hdHRlZFZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0udmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KX1cblxuICAgICAgICAgICAge3Nob3dSb3VuZGVkVG90YWwgJiYgeUtleXMgJiYgKFxuICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgPHRkIGNvbFNwYW49ezJ9IHN0eWxlPXt7IHBhZGRpbmc6ICcxMnB4IDAgMCAwJyB9fT5cbiAgICAgICAgICAgICAgICAgIFJvdW5kZWQgVG90YWxcbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT17eyBmb250V2VpZ2h0OiAnYm9sZCcsIHBhZGRpbmc6ICcxMnB4IDAgMCAxNnB4JyB9fT5cbiAgICAgICAgICAgICAgICAgIHt5S2V5cy5yZWR1Y2UoKHRvdGFsLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRvdGFsICsgTWF0aC5yb3VuZCh0b29sdGlwRGF0YVtrZXldLnZhbHVlIGFzIG51bWJlcik7XG4gICAgICAgICAgICAgICAgICB9LCAwKX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+LFxuICAgIGRvY3VtZW50LmJvZHksXG4gICk7XG59O1xuIl19 */",
43563
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$5
43564
- }),
43565
- children: jsxs("tbody", {
43566
- children: [items.map(function (item, index) {
43567
- var _item$legendItems;
43568
- return jsx(Fragment, {
43569
- children: (_item$legendItems = item.legendItems) == null ? void 0 : _item$legendItems.map(function (legendItem, index) {
43570
- var _item$visibleYKeys, _item$conditionalForm;
43571
- if (!tooltipData[legendItem.yKey] || tooltipData[legendItem.yKey].value === null) {
43572
- // yKey could not be found in tooltipData
43573
- return null;
43574
- }
43575
- return ((_item$visibleYKeys = item.visibleYKeys) == null ? void 0 : _item$visibleYKeys.includes(legendItem.yKey)) && jsxs("tr", {
43576
- children: [shouldShowColorLegend && jsx("td", {
43577
- style: {
43578
- verticalAlign: 'middle',
43579
- padding: index === 0 ? '12px 8px 0 0' : '8px 8px 0 0',
43580
- width: 'auto'
43581
- },
43582
- children: jsx(LegendItemBox, {
43583
- color: getColor({
43584
- defaultColor: legendItem.color,
43585
- value: tooltipData[legendItem.yKey].value,
43586
- yKey: legendItem.yKey,
43587
- conditionalFormattingRules: (_item$conditionalForm = item.conditionalFormattingRules) != null ? _item$conditionalForm : []
43588
- }),
43589
- style: legendItem.style,
43590
- yKey: legendItem.yKey
43591
- })
43592
- }), jsx("td", {
43593
- style: {
43594
- padding: '8px 0 0 0'
43595
- },
43596
- children: keys[legendItem.yKey].keyFormatted
43597
- }), jsx("td", {
43598
- style: {
43599
- fontWeight: 'bold',
43600
- padding: '8px 0 0 16px'
43601
- },
43602
- children: tooltipData[legendItem.yKey].formattedValue ? tooltipData[legendItem.yKey].formattedValue : tooltipData[legendItem.yKey].value
43603
- })]
43604
- }, legendItem.yKey + "-" + index + "-" + tooltipData[legendItem.yKey].value);
43605
- })
43606
- }, index);
43607
- }), showRoundedTotal && yKeys && jsxs("tr", {
43608
- children: [jsx("td", {
43609
- colSpan: 2,
43610
- style: {
43611
- padding: '12px 0 0 0'
43612
- },
43613
- children: "Rounded Total"
43614
- }), jsx("td", {
43615
- style: {
43616
- fontWeight: 'bold',
43617
- padding: '12px 0 0 16px'
43618
- },
43619
- children: yKeys.reduce(function (total, key) {
43620
- return total + Math.round(tooltipData[key].value);
43621
- }, 0)
43622
- })]
43623
- })]
43624
- })
43625
- })]
43626
- })
43627
- }), document.body);
43628
- };
43629
-
43630
- function _EMOTION_STRINGIFIED_CSS_ERROR__$6() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
43631
- var LegendItem = function LegendItem(_ref) {
43632
- var yKey = _ref.yKey,
43633
- yKeyFormatted = _ref.yKeyFormatted,
43634
- color = _ref.color,
43635
- style = _ref.style,
43636
- onClick = _ref.onClick,
43637
- visible = _ref.visible,
43638
- conditionalFormattingRules = _ref.conditionalFormattingRules;
43639
- var relevantRules = useMemo(function () {
43640
- return conditionalFormattingRules.filter(function (rule) {
43641
- return rule.yKey === yKey;
43642
- });
43643
- }, [conditionalFormattingRules]);
43644
- return jsxs("button", {
43645
- type: "button",
43646
- style: {
43647
- all: 'unset',
43648
- display: 'flex',
43649
- flexWrap: 'nowrap',
43650
- alignItems: 'center',
43651
- outline: 'revert',
43652
- gap: '4px',
43653
- padding: '4px',
43654
- cursor: 'pointer',
43655
- marginRight: '10px'
43656
- },
43657
- onClick: onClick,
43658
- children: [style.type === 'line' && jsxs("span", {
43659
- className: /*#__PURE__*/css$1(process.env.NODE_ENV === "production" ? {
43660
- name: "1mfeugk",
43661
- styles: "height:10px;display:flex"
43662
- } : {
43663
- name: "mefz6m-LegendItem",
43664
- styles: "height:10px;display:flex;label:LegendItem;",
43665
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdEeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlLCBMZWdlbmRJdGVtVHJpYW5nbGUgfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94L0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZEl0ZW1Qcm9wczxUPiBleHRlbmRzIFNoYXBlRGVmaW5pdGlvbjxUPiB7XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHlLZXlGb3JtYXR0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kSXRlbSA9ICh7XG4gIHlLZXksXG4gIHlLZXlGb3JtYXR0ZWQsXG4gIGNvbG9yLFxuICBzdHlsZSxcbiAgb25DbGljayxcbiAgdmlzaWJsZSxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG59OiBMZWdlbmRJdGVtUHJvcHM8QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+KSA9PiB7XG4gIGNvbnN0IHJlbGV2YW50UnVsZXMgPSB1c2VNZW1vKCgpID0+IGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLmZpbHRlcihydWxlID0+IHJ1bGUueUtleSA9PT0geUtleSksIFtcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBrZXk9e2BsZWdlbmQtJHt5S2V5fWB9XG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGFsbDogJ3Vuc2V0JyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICBvdXRsaW5lOiAncmV2ZXJ0JyxcbiAgICAgICAgZ2FwOiAnNHB4JyxcbiAgICAgICAgcGFkZGluZzogJzRweCcsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICBtYXJnaW5SaWdodDogJzEwcHgnLFxuICAgICAgfX1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgPlxuICAgICAge3N0eWxlLnR5cGUgPT09ICdsaW5lJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiAxMCwgZGlzcGxheTogJ2ZsZXgnIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbUJveCBjb2xvcj17Y29sb3J9IHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfSB5S2V5PXt5S2V5fSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gKFxuICAgICAgICAgICAgICA8TGVnZW5kSXRlbUJveFxuICAgICAgICAgICAgICAgIGNvbG9yPXtydWxlLmNvbG9yfVxuICAgICAgICAgICAgICAgIGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfVxuICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfVxuICAgICAgICAgICAgICAgIHlLZXk9e3lLZXl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtzdHlsZS50eXBlID09PSAnYmFyJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAncm93JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogMiB9KX0+XG4gICAgICAgICAgPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2FyZWEnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdyb3cnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAyIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbVRyaWFuZ2xlIGNvbG9yPXtjb2xvcn0gLz5cbiAgICAgICAgICB7cmVsZXZhbnRSdWxlcy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICByZWxldmFudFJ1bGVzLm1hcChydWxlID0+IDxMZWdlbmRJdGVtVHJpYW5nbGUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgbGluZUhlaWdodDogJzE2cHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IHZpc2libGUgPyAnbm9uZScgOiAnbGluZS10aHJvdWdoJyxcbiAgICAgICAgICB0ZXh0V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHt5S2V5Rm9ybWF0dGVkID8geUtleUZvcm1hdHRlZCA6IHlLZXl9XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl19 */",
43666
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$6
43667
- }),
43668
- children: [jsx(LegendItemBox, {
43669
- color: color,
43670
- style: style,
43671
- yKey: yKey
43672
- }), relevantRules.length > 0 && relevantRules.map(function (rule) {
43673
- return jsx(LegendItemBox, {
43674
- color: rule.color,
43675
- style: style,
43676
- yKey: yKey
43677
- }, "rule-" + JSON.stringify(rule));
43678
- })]
43679
- }), style.type === 'bar' && jsxs("span", {
43680
- className: /*#__PURE__*/css$1(process.env.NODE_ENV === "production" ? {
43681
- name: "6b52m3",
43682
- styles: "display:flex;flex-direction:row;align-items:center;gap:2px"
43683
- } : {
43684
- name: "pglbco-LegendItem",
43685
- styles: "display:flex;flex-direction:row;align-items:center;gap:2px;label:LegendItem;",
43686
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThEeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlLCBMZWdlbmRJdGVtVHJpYW5nbGUgfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94L0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZEl0ZW1Qcm9wczxUPiBleHRlbmRzIFNoYXBlRGVmaW5pdGlvbjxUPiB7XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHlLZXlGb3JtYXR0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kSXRlbSA9ICh7XG4gIHlLZXksXG4gIHlLZXlGb3JtYXR0ZWQsXG4gIGNvbG9yLFxuICBzdHlsZSxcbiAgb25DbGljayxcbiAgdmlzaWJsZSxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG59OiBMZWdlbmRJdGVtUHJvcHM8QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+KSA9PiB7XG4gIGNvbnN0IHJlbGV2YW50UnVsZXMgPSB1c2VNZW1vKCgpID0+IGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLmZpbHRlcihydWxlID0+IHJ1bGUueUtleSA9PT0geUtleSksIFtcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBrZXk9e2BsZWdlbmQtJHt5S2V5fWB9XG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGFsbDogJ3Vuc2V0JyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICBvdXRsaW5lOiAncmV2ZXJ0JyxcbiAgICAgICAgZ2FwOiAnNHB4JyxcbiAgICAgICAgcGFkZGluZzogJzRweCcsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICBtYXJnaW5SaWdodDogJzEwcHgnLFxuICAgICAgfX1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgPlxuICAgICAge3N0eWxlLnR5cGUgPT09ICdsaW5lJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiAxMCwgZGlzcGxheTogJ2ZsZXgnIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbUJveCBjb2xvcj17Y29sb3J9IHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfSB5S2V5PXt5S2V5fSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gKFxuICAgICAgICAgICAgICA8TGVnZW5kSXRlbUJveFxuICAgICAgICAgICAgICAgIGNvbG9yPXtydWxlLmNvbG9yfVxuICAgICAgICAgICAgICAgIGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfVxuICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfVxuICAgICAgICAgICAgICAgIHlLZXk9e3lLZXl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtzdHlsZS50eXBlID09PSAnYmFyJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAncm93JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogMiB9KX0+XG4gICAgICAgICAgPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2FyZWEnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdyb3cnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAyIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbVRyaWFuZ2xlIGNvbG9yPXtjb2xvcn0gLz5cbiAgICAgICAgICB7cmVsZXZhbnRSdWxlcy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICByZWxldmFudFJ1bGVzLm1hcChydWxlID0+IDxMZWdlbmRJdGVtVHJpYW5nbGUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgbGluZUhlaWdodDogJzE2cHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IHZpc2libGUgPyAnbm9uZScgOiAnbGluZS10aHJvdWdoJyxcbiAgICAgICAgICB0ZXh0V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHt5S2V5Rm9ybWF0dGVkID8geUtleUZvcm1hdHRlZCA6IHlLZXl9XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl19 */",
43687
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$6
43688
- }),
43689
- children: [jsx(LegendItemSquare, {
43690
- color: color
43691
- }), relevantRules.length > 0 && relevantRules.map(function (rule) {
43692
- return jsx(LegendItemSquare, {
43693
- color: rule.color
43694
- }, "rule-" + JSON.stringify(rule));
43695
- })]
43696
- }), style.type === 'area' && jsxs("span", {
43697
- className: /*#__PURE__*/css$1(process.env.NODE_ENV === "production" ? {
43698
- name: "6b52m3",
43699
- styles: "display:flex;flex-direction:row;align-items:center;gap:2px"
43700
- } : {
43701
- name: "pglbco-LegendItem",
43702
- styles: "display:flex;flex-direction:row;align-items:center;gap:2px;label:LegendItem;",
43703
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFFeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlLCBMZWdlbmRJdGVtVHJpYW5nbGUgfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94L0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZEl0ZW1Qcm9wczxUPiBleHRlbmRzIFNoYXBlRGVmaW5pdGlvbjxUPiB7XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHlLZXlGb3JtYXR0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kSXRlbSA9ICh7XG4gIHlLZXksXG4gIHlLZXlGb3JtYXR0ZWQsXG4gIGNvbG9yLFxuICBzdHlsZSxcbiAgb25DbGljayxcbiAgdmlzaWJsZSxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG59OiBMZWdlbmRJdGVtUHJvcHM8QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+KSA9PiB7XG4gIGNvbnN0IHJlbGV2YW50UnVsZXMgPSB1c2VNZW1vKCgpID0+IGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLmZpbHRlcihydWxlID0+IHJ1bGUueUtleSA9PT0geUtleSksIFtcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBrZXk9e2BsZWdlbmQtJHt5S2V5fWB9XG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGFsbDogJ3Vuc2V0JyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICBvdXRsaW5lOiAncmV2ZXJ0JyxcbiAgICAgICAgZ2FwOiAnNHB4JyxcbiAgICAgICAgcGFkZGluZzogJzRweCcsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICBtYXJnaW5SaWdodDogJzEwcHgnLFxuICAgICAgfX1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgPlxuICAgICAge3N0eWxlLnR5cGUgPT09ICdsaW5lJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiAxMCwgZGlzcGxheTogJ2ZsZXgnIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbUJveCBjb2xvcj17Y29sb3J9IHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfSB5S2V5PXt5S2V5fSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gKFxuICAgICAgICAgICAgICA8TGVnZW5kSXRlbUJveFxuICAgICAgICAgICAgICAgIGNvbG9yPXtydWxlLmNvbG9yfVxuICAgICAgICAgICAgICAgIGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfVxuICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfVxuICAgICAgICAgICAgICAgIHlLZXk9e3lLZXl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtzdHlsZS50eXBlID09PSAnYmFyJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAncm93JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogMiB9KX0+XG4gICAgICAgICAgPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2FyZWEnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdyb3cnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAyIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbVRyaWFuZ2xlIGNvbG9yPXtjb2xvcn0gLz5cbiAgICAgICAgICB7cmVsZXZhbnRSdWxlcy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICByZWxldmFudFJ1bGVzLm1hcChydWxlID0+IDxMZWdlbmRJdGVtVHJpYW5nbGUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgbGluZUhlaWdodDogJzE2cHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IHZpc2libGUgPyAnbm9uZScgOiAnbGluZS10aHJvdWdoJyxcbiAgICAgICAgICB0ZXh0V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHt5S2V5Rm9ybWF0dGVkID8geUtleUZvcm1hdHRlZCA6IHlLZXl9XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl19 */",
43704
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$6
43705
- }),
43706
- children: [jsx(LegendItemTriangle, {
43707
- color: color
43708
- }), relevantRules.length > 0 && relevantRules.map(function (rule) {
43709
- return jsx(LegendItemTriangle, {
43710
- color: rule.color
43711
- }, "rule-" + JSON.stringify(rule));
43712
- })]
43713
- }), jsx("span", {
43714
- style: {
43715
- fontSize: '12px',
43716
- lineHeight: '16px',
43717
- display: 'block',
43718
- textDecoration: visible ? 'none' : 'line-through',
43719
- textWrap: 'nowrap'
43720
- },
43721
- children: yKeyFormatted ? yKeyFormatted : yKey
43722
- })]
43723
- }, "legend-" + yKey);
43724
- };
43725
-
43726
- function _EMOTION_STRINGIFIED_CSS_ERROR__$7() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
43727
- var Legend$1 = function Legend(_ref) {
43728
- var keys = _ref.keys,
43729
- setVisibleYKeys = _ref.setVisibleYKeys,
43730
- marginLeft = _ref.marginLeft,
43731
- items = _ref.items;
43732
- var handleOnClick = function handleOnClick(item, legendItem) {
43733
- setVisibleYKeys && setVisibleYKeys(function (prev) {
43734
- var newVisibleLegendItems = [];
43735
- if (prev.length === item.legendItems.length) {
43736
- newVisibleLegendItems = [legendItem.yKey];
43737
- } else {
43738
- if (prev.includes(legendItem.yKey)) {
43739
- newVisibleLegendItems = prev.filter(function (prevLegendItemId) {
43740
- return prevLegendItemId !== legendItem.yKey;
43741
- });
43742
- } else {
43743
- newVisibleLegendItems = [].concat(prev, [legendItem.yKey]);
43744
- }
43745
- }
43746
- return newVisibleLegendItems.length === 0 ? item.legendItems.map(function (legendItem) {
43747
- return legendItem.yKey;
43748
- }) : newVisibleLegendItems;
43749
- });
43750
- };
43751
- return jsx("div", {
43752
- className: /*#__PURE__*/css$1(process.env.NODE_ENV === "production" ? {
43753
- name: "1nbollx",
43754
- styles: "height:40px;padding-top:8px"
43755
- } : {
43756
- name: "qz6h7j-Legend",
43757
- styles: "height:40px;padding-top:8px;label:Legend;",
43758
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0RvQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBMZWdlbmRJdGVtIH0gZnJvbSAnLi9MZWdlbmRJdGVtJztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSwgS2V5IH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBTY3JvbGxiYXIgfSBmcm9tICcuLi8uLi8uLi9TY3JvbGxiYXIvU2Nyb2xsYmFyJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxudHlwZSBJdGVtPFQ+ID0ge1xuICBsZWdlbmRJdGVtczogQXJyYXk8U2hhcGVEZWZpbml0aW9uPFQ+PjtcbiAgdmlzaWJsZVlLZXlzOiBBcnJheTxzdHJpbmc+O1xuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogQXJyYXk8Q29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZT47XG59O1xuZXhwb3J0IHR5cGUgTGVnZW5kUHJvcHM8VD4gPSB7XG4gIHNldFZpc2libGVZS2V5cz86IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPEFycmF5PHN0cmluZz4+PjtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgbWFyZ2luTGVmdDogbnVtYmVyO1xuICBpdGVtczogSXRlbTxUPltdO1xufTtcblxuZXhwb3J0IGNvbnN0IExlZ2VuZCA9ICh7XG4gIGtleXMsXG4gIHNldFZpc2libGVZS2V5cyxcbiAgbWFyZ2luTGVmdCxcbiAgaXRlbXMsXG59OiBMZWdlbmRQcm9wczxCYXJTdHlsZXMgfCBMaW5lU3R5bGVzIHwgQXJlYVN0eWxlcyB8IEJ1YmJsZVN0eWxlcz4pID0+IHtcbiAgY29uc3QgaGFuZGxlT25DbGljayA9IChcbiAgICBpdGVtOiBJdGVtPEJhclN0eWxlcyB8IExpbmVTdHlsZXMgfCBBcmVhU3R5bGVzIHwgQnViYmxlU3R5bGVzPixcbiAgICBsZWdlbmRJdGVtOiBTaGFwZURlZmluaXRpb248QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+XG4gICkgPT4ge1xuICAgIHNldFZpc2libGVZS2V5cyAmJlxuICAgICAgc2V0VmlzaWJsZVlLZXlzKHByZXYgPT4ge1xuICAgICAgICBsZXQgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgICAgICAgaWYgKHByZXYubGVuZ3RoID09PSBpdGVtLmxlZ2VuZEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IFtsZWdlbmRJdGVtLnlLZXldO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChwcmV2LmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkpIHtcbiAgICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IHByZXYuZmlsdGVyKHByZXZMZWdlbmRJdGVtSWQgPT4gcHJldkxlZ2VuZEl0ZW1JZCAhPT0gbGVnZW5kSXRlbS55S2V5KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gWy4uLnByZXYsIGxlZ2VuZEl0ZW0ueUtleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ld1Zpc2libGVMZWdlbmRJdGVtcy5sZW5ndGggPT09IDBcbiAgICAgICAgICA/IGl0ZW0ubGVnZW5kSXRlbXMubWFwKGxlZ2VuZEl0ZW0gPT4gbGVnZW5kSXRlbS55S2V5KVxuICAgICAgICAgIDogbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zO1xuICAgICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiA0MCwgcGFkZGluZ1RvcDogOCB9KX0+XG4gICAgICA8U2Nyb2xsYmFyXG4gICAgICAgIGNsYXNzTmFtZT17Y3NzKHtcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICAgICAgZmxleFdyYXA6ICdub3dyYXAnLFxuICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgIG1hcmdpbkxlZnQ6IG1hcmdpbkxlZnQgPyBgJHttYXJnaW5MZWZ0fXB4YCA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSl9XG4gICAgICAgIHg9e3RydWV9XG4gICAgICA+XG4gICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgPEZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgICAge2l0ZW0ubGVnZW5kSXRlbXMubWFwKFxuICAgICAgICAgICAgICBsZWdlbmRJdGVtID0+XG4gICAgICAgICAgICAgICAga2V5c1tsZWdlbmRJdGVtLnlLZXldICYmIChcbiAgICAgICAgICAgICAgICAgIDxMZWdlbmRJdGVtXG4gICAgICAgICAgICAgICAgICAgIHsuLi5sZWdlbmRJdGVtfVxuICAgICAgICAgICAgICAgICAgICBrZXk9e2BsZWdlbmQtJHtsZWdlbmRJdGVtLnlLZXl9YH1cbiAgICAgICAgICAgICAgICAgICAgeUtleUZvcm1hdHRlZD17a2V5c1tsZWdlbmRJdGVtLnlLZXldLmtleUZvcm1hdHRlZH1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9uQ2xpY2soaXRlbSwgbGVnZW5kSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIHZpc2libGU9e3NldFZpc2libGVZS2V5cyA/IGl0ZW0udmlzaWJsZVlLZXlzLmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkgOiB0cnVlfVxuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcz17aXRlbS5jb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICApKX1cbiAgICAgIDwvU2Nyb2xsYmFyPlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ== */",
43759
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$7
43760
- }),
43761
- children: jsx(Scrollbar, {
43762
- className: /*#__PURE__*/css$1({
43763
- display: 'flex',
43764
- flexDirection: 'row',
43765
- flexWrap: 'nowrap',
43766
- alignItems: 'center',
43767
- marginLeft: marginLeft ? marginLeft + "px" : undefined
43768
- }, process.env.NODE_ENV === "production" ? "" : ";label:Legend;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0RtQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBMZWdlbmRJdGVtIH0gZnJvbSAnLi9MZWdlbmRJdGVtJztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSwgS2V5IH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBTY3JvbGxiYXIgfSBmcm9tICcuLi8uLi8uLi9TY3JvbGxiYXIvU2Nyb2xsYmFyJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxudHlwZSBJdGVtPFQ+ID0ge1xuICBsZWdlbmRJdGVtczogQXJyYXk8U2hhcGVEZWZpbml0aW9uPFQ+PjtcbiAgdmlzaWJsZVlLZXlzOiBBcnJheTxzdHJpbmc+O1xuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogQXJyYXk8Q29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZT47XG59O1xuZXhwb3J0IHR5cGUgTGVnZW5kUHJvcHM8VD4gPSB7XG4gIHNldFZpc2libGVZS2V5cz86IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPEFycmF5PHN0cmluZz4+PjtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgbWFyZ2luTGVmdDogbnVtYmVyO1xuICBpdGVtczogSXRlbTxUPltdO1xufTtcblxuZXhwb3J0IGNvbnN0IExlZ2VuZCA9ICh7XG4gIGtleXMsXG4gIHNldFZpc2libGVZS2V5cyxcbiAgbWFyZ2luTGVmdCxcbiAgaXRlbXMsXG59OiBMZWdlbmRQcm9wczxCYXJTdHlsZXMgfCBMaW5lU3R5bGVzIHwgQXJlYVN0eWxlcyB8IEJ1YmJsZVN0eWxlcz4pID0+IHtcbiAgY29uc3QgaGFuZGxlT25DbGljayA9IChcbiAgICBpdGVtOiBJdGVtPEJhclN0eWxlcyB8IExpbmVTdHlsZXMgfCBBcmVhU3R5bGVzIHwgQnViYmxlU3R5bGVzPixcbiAgICBsZWdlbmRJdGVtOiBTaGFwZURlZmluaXRpb248QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+XG4gICkgPT4ge1xuICAgIHNldFZpc2libGVZS2V5cyAmJlxuICAgICAgc2V0VmlzaWJsZVlLZXlzKHByZXYgPT4ge1xuICAgICAgICBsZXQgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgICAgICAgaWYgKHByZXYubGVuZ3RoID09PSBpdGVtLmxlZ2VuZEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IFtsZWdlbmRJdGVtLnlLZXldO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChwcmV2LmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkpIHtcbiAgICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IHByZXYuZmlsdGVyKHByZXZMZWdlbmRJdGVtSWQgPT4gcHJldkxlZ2VuZEl0ZW1JZCAhPT0gbGVnZW5kSXRlbS55S2V5KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gWy4uLnByZXYsIGxlZ2VuZEl0ZW0ueUtleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ld1Zpc2libGVMZWdlbmRJdGVtcy5sZW5ndGggPT09IDBcbiAgICAgICAgICA/IGl0ZW0ubGVnZW5kSXRlbXMubWFwKGxlZ2VuZEl0ZW0gPT4gbGVnZW5kSXRlbS55S2V5KVxuICAgICAgICAgIDogbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zO1xuICAgICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiA0MCwgcGFkZGluZ1RvcDogOCB9KX0+XG4gICAgICA8U2Nyb2xsYmFyXG4gICAgICAgIGNsYXNzTmFtZT17Y3NzKHtcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICAgICAgZmxleFdyYXA6ICdub3dyYXAnLFxuICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgIG1hcmdpbkxlZnQ6IG1hcmdpbkxlZnQgPyBgJHttYXJnaW5MZWZ0fXB4YCA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSl9XG4gICAgICAgIHg9e3RydWV9XG4gICAgICA+XG4gICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgPEZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgICAge2l0ZW0ubGVnZW5kSXRlbXMubWFwKFxuICAgICAgICAgICAgICBsZWdlbmRJdGVtID0+XG4gICAgICAgICAgICAgICAga2V5c1tsZWdlbmRJdGVtLnlLZXldICYmIChcbiAgICAgICAgICAgICAgICAgIDxMZWdlbmRJdGVtXG4gICAgICAgICAgICAgICAgICAgIHsuLi5sZWdlbmRJdGVtfVxuICAgICAgICAgICAgICAgICAgICBrZXk9e2BsZWdlbmQtJHtsZWdlbmRJdGVtLnlLZXl9YH1cbiAgICAgICAgICAgICAgICAgICAgeUtleUZvcm1hdHRlZD17a2V5c1tsZWdlbmRJdGVtLnlLZXldLmtleUZvcm1hdHRlZH1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9uQ2xpY2soaXRlbSwgbGVnZW5kSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIHZpc2libGU9e3NldFZpc2libGVZS2V5cyA/IGl0ZW0udmlzaWJsZVlLZXlzLmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkgOiB0cnVlfVxuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcz17aXRlbS5jb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICApKX1cbiAgICAgIDwvU2Nyb2xsYmFyPlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ== */"),
43769
- x: true,
43770
- children: items.map(function (item, index) {
43771
- return jsx(Fragment, {
43772
- children: item.legendItems.map(function (legendItem) {
43773
- return keys[legendItem.yKey] && createElement$1(LegendItem, _extends({}, legendItem, {
43774
- key: "legend-" + legendItem.yKey,
43775
- yKeyFormatted: keys[legendItem.yKey].keyFormatted,
43776
- onClick: function onClick() {
43777
- handleOnClick(item, legendItem);
43778
- },
43779
- visible: setVisibleYKeys ? item.visibleYKeys.includes(legendItem.yKey) : true,
43780
- conditionalFormattingRules: item.conditionalFormattingRules
43781
- }));
43782
- })
43783
- }, index);
43784
- })
43785
- })
43786
- });
43787
- };
43788
-
43789
43502
  var ASSUMED_AVERAGE_CHAR_WIDTH = 7.1;
43790
43503
 
43791
43504
  function calculateWordWidth(word, avgCharWidth) {
@@ -43975,108 +43688,6 @@ var buildMargin = function buildMargin(yTicks, showYAxisLabels, hasYAxisTitle, h
43975
43688
  };
43976
43689
  };
43977
43690
 
43978
- function useFlattenedData(xScaleKey, xScaleDataType, data, yKeys) {
43979
- return useMemo(function () {
43980
- if (xScaleKey && xScaleDataType && yKeys.length > 0) {
43981
- return flattenData({
43982
- data: data,
43983
- xScaleKey: xScaleKey,
43984
- xScaleDataType: xScaleDataType,
43985
- yKeys: yKeys
43986
- });
43987
- } else {
43988
- return [];
43989
- }
43990
- }, [data, xScaleKey, xScaleDataType, yKeys]);
43991
- }
43992
-
43993
- var GoalLine = function GoalLine(_ref) {
43994
- var goalLine = _ref.goalLine,
43995
- innerWidth = _ref.innerWidth,
43996
- y = _ref.y,
43997
- margin = _ref.margin;
43998
- var textRef = useRef(null);
43999
- var _useState = useState(0),
44000
- labelWidth = _useState[0],
44001
- setLabelWidth = _useState[1];
44002
- useEffect(function () {
44003
- if (textRef.current) {
44004
- var bbox = textRef.current.getBBox();
44005
- setLabelWidth(bbox.width + 16);
44006
- }
44007
- }, [goalLine.formattedValue]);
44008
- var height = 16;
44009
- var triangleWidth = 8;
44010
- return jsxs("g", {
44011
- style: {
44012
- position: 'relative'
44013
- },
44014
- children: [jsx(Line$1, {
44015
- from: {
44016
- x: margin.left,
44017
- y: margin.top + y
44018
- },
44019
- to: {
44020
- x: margin.left + innerWidth,
44021
- y: margin.top + y
44022
- },
44023
- stroke: goalLine.color,
44024
- strokeDasharray: goalLine.strokeStyle == 'dashed' ? goalLine.strokeWidth * 2.5 + "," + goalLine.strokeWidth * 2.5 : undefined,
44025
- strokeWidth: goalLine.strokeWidth,
44026
- strokeLinecap: "round",
44027
- shapeRendering: "smooth"
44028
- }), jsxs("g", {
44029
- transform: "translate(" + (margin.left + innerWidth - labelWidth) + "," + (y + margin.top + height / 2) + ")",
44030
- children: [jsx("path", {
44031
- d: "M 0,0\n l " + -triangleWidth + "," + -height / 2 + " \n l " + triangleWidth + "," + -height / 2 + " \n h " + labelWidth + " \n a 3,3 0 0 1 3,3 \n v " + (height - 6) + " \n a 3,3 0 0 1 -3,3 \n h " + -labelWidth + " z",
44032
- fill: goalLine.color
44033
- }), jsx("text", {
44034
- ref: textRef,
44035
- x: labelWidth / 2,
44036
- y: -1,
44037
- dy: -4,
44038
- textAnchor: "middle",
44039
- fontFamily: "Arial, sans-serif",
44040
- fontSize: 9,
44041
- fill: '#fff',
44042
- children: goalLine.formattedValue
44043
- })]
44044
- })]
44045
- });
44046
- };
44047
-
44048
- /*
44049
- const strokeWidth = 2;
44050
- const height = 16;
44051
- const triangleWidth = 8;
44052
-
44053
-
44054
-
44055
-
44056
-
44057
- */
44058
-
44059
- var shouldUpdate$1 = function shouldUpdate(previousProps, nextProps) {
44060
- return JSON.stringify(previousProps) == JSON.stringify(nextProps);
44061
- };
44062
- var GoalLines = function GoalLines(_ref) {
44063
- var goalLines = _ref.goalLines,
44064
- margin = _ref.margin,
44065
- y = _ref.y,
44066
- width = _ref.width;
44067
- return jsx(Fragment, {
44068
- children: goalLines.map(function (goalLine) {
44069
- return jsx(GoalLine, {
44070
- innerWidth: width,
44071
- y: y(goalLine.value),
44072
- goalLine: goalLine,
44073
- margin: margin
44074
- }, goalLine.value);
44075
- })
44076
- });
44077
- };
44078
- var GoalLines$1 = /*#__PURE__*/memo(GoalLines, shouldUpdate$1);
44079
-
44080
43691
  var AXIS_TITLE_STYLES = {
44081
43692
  textShadow: 'rgba(0, 0, 0, 0.01) 0px 0px 1px',
44082
43693
  opacity: '0.75',
@@ -44199,36 +43810,8 @@ var AxisLeft = function AxisLeft(_ref) {
44199
43810
  });
44200
43811
  };
44201
43812
 
44202
- var GRID_STYLES = {
44203
- strokeWidth: 2,
44204
- strokeOpacity: 0.8,
44205
- strokeLinecap: 'round',
44206
- strokeDasharray: '0.5 5'
44207
- };
44208
-
44209
- var GridRows = function GridRows(_ref) {
44210
- var ticks = _ref.ticks,
44211
- yScale = _ref.yScale,
44212
- removeStroke = _ref.removeStroke,
44213
- width = _ref.width,
44214
- height = _ref.height,
44215
- themeCSS = _ref.themeCSS;
44216
- return jsx(GridRows$1, {
44217
- tickValues: ticks.length > 0 ? ticks : undefined,
44218
- scale: yScale,
44219
- width: width,
44220
- height: height,
44221
- pointerEvents: "none",
44222
- strokeDasharray: "0.5 5",
44223
- strokeWidth: removeStroke ? 0 : 2,
44224
- lineStyle: _extends({
44225
- stroke: themeCSS.grid.stroke
44226
- }, GRID_STYLES)
44227
- });
44228
- };
44229
-
44230
43813
  var _excluded$g = ["children", "width", "height", "showLegend", "onMouseMove", "onMouseLeave"];
44231
- function _EMOTION_STRINGIFIED_CSS_ERROR__$8() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
43814
+ function _EMOTION_STRINGIFIED_CSS_ERROR__$5() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
44232
43815
  var ChartWrapper$1 = function ChartWrapper(_ref) {
44233
43816
  var children = _ref.children,
44234
43817
  width = _ref.width,
@@ -44249,75 +43832,169 @@ var ChartWrapper$1 = function ChartWrapper(_ref) {
44249
43832
  name: "fx4tbw-ChartWrapper",
44250
43833
  styles: "display:block;label:ChartWrapper;",
44251
43834
  map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNoYXJ0V3JhcHBlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEJpQiIsImZpbGUiOiJDaGFydFdyYXBwZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJztcblxudHlwZSBDaGFydFdyYXBwZXJQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHNob3dMZWdlbmQ6IGJvb2xlYW47XG4gIG9uTW91c2VNb3ZlPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXI8U1ZHU1ZHRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyPFNWR1NWR0VsZW1lbnQ+O1xufSAmIFJlYWN0LlNWR1Byb3BzPFNWR1NWR0VsZW1lbnQ+O1xuXG5leHBvcnQgY29uc3QgQ2hhcnRXcmFwcGVyID0gKHtcbiAgY2hpbGRyZW4sXG4gIHdpZHRoLFxuICBoZWlnaHQsXG4gIHNob3dMZWdlbmQsXG4gIG9uTW91c2VNb3ZlLFxuICBvbk1vdXNlTGVhdmUsXG4gIC4uLnN2Z1Byb3BzXG59OiBDaGFydFdyYXBwZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxzdmdcbiAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgIGhlaWdodD17aGVpZ2h0IC0gKHNob3dMZWdlbmQgPyA0MCA6IDApfVxuICAgICAgb25Nb3VzZU1vdmU9e29uTW91c2VNb3ZlfVxuICAgICAgb25Nb3VzZUxlYXZlPXtvbk1vdXNlTGVhdmV9XG4gICAgICBjbGFzc05hbWU9e2Nzcyh7IGRpc3BsYXk6ICdibG9jaycgfSl9XG4gICAgICB7Li4uc3ZnUHJvcHN9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvc3ZnPlxuICApO1xufTtcbiJdfQ== */",
44252
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$8
43835
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$5
44253
43836
  })
44254
43837
  }, svgProps, {
44255
43838
  children: children
44256
43839
  }));
44257
43840
  };
44258
43841
 
44259
- var CrosshairCircle = function CrosshairCircle(_ref) {
44260
- var dataType = _ref.dataType,
44261
- yKeys = _ref.yKeys,
44262
- tooltipData = _ref.tooltipData,
44263
- xKey = _ref.xKey,
43842
+ var DataLabel = function DataLabel(_ref) {
43843
+ var x = _ref.x,
43844
+ y = _ref.y,
43845
+ title = _ref.title,
43846
+ dx = _ref.dx,
43847
+ dy = _ref.dy,
43848
+ color = _ref.color,
43849
+ backgroundColor = _ref.backgroundColor;
43850
+ return jsx(Annotation$1, {
43851
+ x: x,
43852
+ y: y,
43853
+ dx: dx,
43854
+ dy: dy,
43855
+ children: jsx(Label$1, {
43856
+ title: title,
43857
+ showAnchorLine: false,
43858
+ showBackground: false,
43859
+ backgroundFill: backgroundColor,
43860
+ fontColor: color,
43861
+ titleFontSize: 10,
43862
+ verticalAnchor: "middle"
43863
+ })
43864
+ });
43865
+ };
43866
+
43867
+ var GoalLine = function GoalLine(_ref) {
43868
+ var goalLine = _ref.goalLine,
43869
+ innerWidth = _ref.innerWidth,
43870
+ y = _ref.y,
43871
+ margin = _ref.margin;
43872
+ var textRef = useRef(null);
43873
+ var _useState = useState(0),
43874
+ labelWidth = _useState[0],
43875
+ setLabelWidth = _useState[1];
43876
+ useEffect(function () {
43877
+ if (textRef.current) {
43878
+ var bbox = textRef.current.getBBox();
43879
+ setLabelWidth(bbox.width + 16);
43880
+ }
43881
+ }, [goalLine.formattedValue]);
43882
+ var height = 16;
43883
+ var triangleWidth = 8;
43884
+ return jsxs("g", {
43885
+ style: {
43886
+ position: 'relative'
43887
+ },
43888
+ children: [jsx(Line$1, {
43889
+ from: {
43890
+ x: margin.left,
43891
+ y: margin.top + y
43892
+ },
43893
+ to: {
43894
+ x: margin.left + innerWidth,
43895
+ y: margin.top + y
43896
+ },
43897
+ stroke: goalLine.color,
43898
+ strokeDasharray: goalLine.strokeStyle == 'dashed' ? goalLine.strokeWidth * 2.5 + "," + goalLine.strokeWidth * 2.5 : undefined,
43899
+ strokeWidth: goalLine.strokeWidth,
43900
+ strokeLinecap: "round",
43901
+ shapeRendering: "smooth"
43902
+ }), jsxs("g", {
43903
+ transform: "translate(" + (margin.left + innerWidth - labelWidth) + "," + (y + margin.top + height / 2) + ")",
43904
+ children: [jsx("path", {
43905
+ d: "M 0,0\n l " + -triangleWidth + "," + -height / 2 + " \n l " + triangleWidth + "," + -height / 2 + " \n h " + labelWidth + " \n a 3,3 0 0 1 3,3 \n v " + (height - 6) + " \n a 3,3 0 0 1 -3,3 \n h " + -labelWidth + " z",
43906
+ fill: goalLine.color
43907
+ }), jsx("text", {
43908
+ ref: textRef,
43909
+ x: labelWidth / 2,
43910
+ y: -1,
43911
+ dy: -4,
43912
+ textAnchor: "middle",
43913
+ fontFamily: "Arial, sans-serif",
43914
+ fontSize: 9,
43915
+ fill: '#fff',
43916
+ children: goalLine.formattedValue
43917
+ })]
43918
+ })]
43919
+ });
43920
+ };
43921
+
43922
+ /*
43923
+ const strokeWidth = 2;
43924
+ const height = 16;
43925
+ const triangleWidth = 8;
43926
+
43927
+
43928
+
43929
+
43930
+
43931
+ */
43932
+
43933
+ var shouldUpdate$1 = function shouldUpdate(previousProps, nextProps) {
43934
+ return JSON.stringify(previousProps) == JSON.stringify(nextProps);
43935
+ };
43936
+ var GoalLines = function GoalLines(_ref) {
43937
+ var goalLines = _ref.goalLines,
44264
43938
  margin = _ref.margin,
44265
- conditionalFormattingRules = _ref.conditionalFormattingRules,
44266
- legendItems = _ref.legendItems,
44267
- visibleYKeys = _ref.visibleYKeys,
44268
- yScale = _ref.yScale,
44269
- xScale = _ref.xScale;
43939
+ y = _ref.y,
43940
+ width = _ref.width;
44270
43941
  return jsx(Fragment, {
44271
- children: yKeys.map(function (yKey) {
44272
- if (!xKey || !tooltipData[yKey] || tooltipData[yKey].value === null) return null;
44273
- if (tooltipData[xKey] && tooltipData[xKey].value && dataType && visibleYKeys.includes(yKey)) {
44274
- var xValue = tooltipData[xKey].value;
44275
- var xValueAdjusted = dataType === 'date_time' ? new Date(xValue) : dataType === 'number' ? Number(xValue) : String(xValue);
44276
- return jsx("circle", {
44277
- cx:
44278
- // @ts-ignore
44279
- xScale(xValueAdjusted) + margin.left,
44280
- cy: yScale(yKey) + margin.top,
44281
- r: 4,
44282
- fill: getColor({
44283
- defaultColor: legendItems.filter(function (legendItem) {
44284
- return legendItem.yKey === yKey;
44285
- })[0].color,
44286
- yKey: yKey,
44287
- value: tooltipData[yKey].value,
44288
- conditionalFormattingRules: conditionalFormattingRules
44289
- }),
44290
- strokeWidth: 2,
44291
- stroke: "#fff",
44292
- pointerEvents: "none"
44293
- }, yKey);
44294
- } else {
44295
- return null;
44296
- }
43942
+ children: goalLines.map(function (goalLine) {
43943
+ return jsx(GoalLine, {
43944
+ innerWidth: width,
43945
+ y: y(goalLine.value),
43946
+ goalLine: goalLine,
43947
+ margin: margin
43948
+ }, goalLine.value);
44297
43949
  })
44298
43950
  });
44299
43951
  };
43952
+ var GoalLines$1 = /*#__PURE__*/memo(GoalLines, shouldUpdate$1);
44300
43953
 
44301
- var Line = function Line(_ref) {
44302
- var margin = _ref.margin,
44303
- x = _ref.x,
44304
- height = _ref.height;
44305
- return jsx(Line$1, {
44306
- from: {
44307
- x: x,
44308
- y: margin.top
44309
- },
44310
- to: {
44311
- x: x,
44312
- y: height + margin.top
44313
- },
44314
- stroke: '#aaa',
44315
- strokeWidth: 2,
43954
+ var LINE_STYLES = {
43955
+ strokeWidth: 2,
43956
+ strokeOpacity: 0.8,
43957
+ strokeLinecap: 'round',
43958
+ strokeDasharray: '0.5 5',
43959
+ stroke: 'rgba(0, 0, 0, 0.1)'
43960
+ };
43961
+
43962
+ var GridRows = function GridRows(_ref) {
43963
+ var ticks = _ref.ticks,
43964
+ yScale = _ref.yScale,
43965
+ removeStroke = _ref.removeStroke,
43966
+ width = _ref.width,
43967
+ height = _ref.height,
43968
+ themeCSS = _ref.themeCSS;
43969
+ return jsx(GridRows$1, {
43970
+ tickValues: ticks.length > 0 ? ticks : undefined,
43971
+ scale: yScale,
43972
+ width: width,
43973
+ height: height,
44316
43974
  pointerEvents: "none",
44317
- opacity: 0.8
43975
+ strokeDasharray: "0.5 5",
43976
+ strokeWidth: removeStroke ? 0 : 2,
43977
+ lineStyle: _extends({
43978
+ stroke: themeCSS.grid.stroke
43979
+ }, LINE_STYLES)
44318
43980
  });
44319
43981
  };
44320
43982
 
43983
+ function useFlattenedData(xScaleKey, xScaleDataType, data, yKeys) {
43984
+ return useMemo(function () {
43985
+ if (xScaleKey && xScaleDataType && yKeys.length > 0) {
43986
+ return flattenData({
43987
+ data: data,
43988
+ xScaleKey: xScaleKey,
43989
+ xScaleDataType: xScaleDataType,
43990
+ yKeys: yKeys
43991
+ });
43992
+ } else {
43993
+ return [];
43994
+ }
43995
+ }, [data, xScaleKey, xScaleDataType, yKeys]);
43996
+ }
43997
+
44321
43998
  var _excluded$h = ["tooltipOpen"];
44322
43999
  function useTooltip$1(initialTooltipState) {
44323
44000
  var _useState = useState(_extends({
@@ -44371,31 +44048,435 @@ function useYScale(innerHeight, scale) {
44371
44048
  }, [innerHeight, scale]);
44372
44049
  }
44373
44050
 
44374
- var DataLabel = function DataLabel(_ref) {
44375
- var x = _ref.x,
44376
- y = _ref.y,
44377
- title = _ref.title,
44378
- dx = _ref.dx,
44379
- dy = _ref.dy,
44051
+ var LegendItemBox = function LegendItemBox(_ref) {
44052
+ var color = _ref.color,
44053
+ style = _ref.style;
44054
+ return jsx("svg", {
44055
+ width: 10,
44056
+ height: 10,
44057
+ style: {
44058
+ display: 'block'
44059
+ },
44060
+ children: style.type === 'line' ? style.strokeDasharray !== null ? jsx("line", {
44061
+ x1: "0",
44062
+ y1: "5",
44063
+ x2: "10",
44064
+ y2: "5",
44065
+ stroke: color,
44066
+ strokeWidth: style.strokeWidth,
44067
+ strokeDasharray: 2
44068
+ }) : jsx("line", {
44069
+ x1: "0",
44070
+ y1: "5",
44071
+ x2: "10",
44072
+ y2: "5",
44073
+ stroke: color,
44074
+ strokeWidth: style.strokeWidth
44075
+ }) : jsx("rect", {
44076
+ fill: color,
44077
+ width: 10,
44078
+ height: 10,
44079
+ rx: "2"
44080
+ })
44081
+ });
44082
+ };
44083
+ var LegendItemSquare = function LegendItemSquare(_ref2) {
44084
+ var color = _ref2.color;
44085
+ return jsx("svg", {
44086
+ width: 8,
44087
+ height: 8,
44088
+ style: {
44089
+ display: 'block'
44090
+ },
44091
+ children: jsx("rect", {
44092
+ fill: color,
44093
+ width: 8,
44094
+ height: 8,
44095
+ rx: "2"
44096
+ })
44097
+ });
44098
+ };
44099
+ var LegendItemTriangle = function LegendItemTriangle(_ref3) {
44100
+ var color = _ref3.color;
44101
+ return jsx("svg", {
44102
+ width: 8,
44103
+ height: 8,
44104
+ style: {
44105
+ display: 'block',
44106
+ borderRadius: 1
44107
+ },
44108
+ children: jsx("polygon", {
44109
+ points: "0,0 10,10 0,10",
44110
+ fill: color
44111
+ })
44112
+ });
44113
+ };
44114
+
44115
+ function _EMOTION_STRINGIFIED_CSS_ERROR__$6() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
44116
+ var LegendItem = function LegendItem(_ref) {
44117
+ var yKey = _ref.yKey,
44118
+ yKeyFormatted = _ref.yKeyFormatted,
44380
44119
  color = _ref.color,
44381
- backgroundColor = _ref.backgroundColor;
44382
- return jsx(Annotation$1, {
44383
- x: x,
44384
- y: y,
44385
- dx: dx,
44386
- dy: dy,
44387
- children: jsx(Label$1, {
44388
- title: title,
44389
- showAnchorLine: false,
44390
- showBackground: false,
44391
- backgroundFill: backgroundColor,
44392
- fontColor: color,
44393
- titleFontSize: 10,
44394
- verticalAnchor: "middle"
44120
+ style = _ref.style,
44121
+ onClick = _ref.onClick,
44122
+ visible = _ref.visible,
44123
+ conditionalFormattingRules = _ref.conditionalFormattingRules;
44124
+ var relevantRules = useMemo(function () {
44125
+ return conditionalFormattingRules.filter(function (rule) {
44126
+ return rule.yKey === yKey;
44127
+ });
44128
+ }, [conditionalFormattingRules]);
44129
+ return jsxs("button", {
44130
+ type: "button",
44131
+ style: {
44132
+ all: 'unset',
44133
+ display: 'flex',
44134
+ flexWrap: 'nowrap',
44135
+ alignItems: 'center',
44136
+ outline: 'revert',
44137
+ gap: '4px',
44138
+ padding: '4px',
44139
+ cursor: 'pointer',
44140
+ marginRight: '10px'
44141
+ },
44142
+ onClick: onClick,
44143
+ children: [style.type === 'line' && jsxs("span", {
44144
+ className: /*#__PURE__*/css$1(process.env.NODE_ENV === "production" ? {
44145
+ name: "1mfeugk",
44146
+ styles: "height:10px;display:flex"
44147
+ } : {
44148
+ name: "mefz6m-LegendItem",
44149
+ styles: "height:10px;display:flex;label:LegendItem;",
44150
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdEeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlLCBMZWdlbmRJdGVtVHJpYW5nbGUgfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94L0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZEl0ZW1Qcm9wczxUPiBleHRlbmRzIFNoYXBlRGVmaW5pdGlvbjxUPiB7XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHlLZXlGb3JtYXR0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kSXRlbSA9ICh7XG4gIHlLZXksXG4gIHlLZXlGb3JtYXR0ZWQsXG4gIGNvbG9yLFxuICBzdHlsZSxcbiAgb25DbGljayxcbiAgdmlzaWJsZSxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG59OiBMZWdlbmRJdGVtUHJvcHM8QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+KSA9PiB7XG4gIGNvbnN0IHJlbGV2YW50UnVsZXMgPSB1c2VNZW1vKCgpID0+IGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLmZpbHRlcihydWxlID0+IHJ1bGUueUtleSA9PT0geUtleSksIFtcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBrZXk9e2BsZWdlbmQtJHt5S2V5fWB9XG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGFsbDogJ3Vuc2V0JyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICBvdXRsaW5lOiAncmV2ZXJ0JyxcbiAgICAgICAgZ2FwOiAnNHB4JyxcbiAgICAgICAgcGFkZGluZzogJzRweCcsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICBtYXJnaW5SaWdodDogJzEwcHgnLFxuICAgICAgfX1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgPlxuICAgICAge3N0eWxlLnR5cGUgPT09ICdsaW5lJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiAxMCwgZGlzcGxheTogJ2ZsZXgnIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbUJveCBjb2xvcj17Y29sb3J9IHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfSB5S2V5PXt5S2V5fSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gKFxuICAgICAgICAgICAgICA8TGVnZW5kSXRlbUJveFxuICAgICAgICAgICAgICAgIGNvbG9yPXtydWxlLmNvbG9yfVxuICAgICAgICAgICAgICAgIGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfVxuICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfVxuICAgICAgICAgICAgICAgIHlLZXk9e3lLZXl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtzdHlsZS50eXBlID09PSAnYmFyJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAncm93JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogMiB9KX0+XG4gICAgICAgICAgPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2FyZWEnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdyb3cnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAyIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbVRyaWFuZ2xlIGNvbG9yPXtjb2xvcn0gLz5cbiAgICAgICAgICB7cmVsZXZhbnRSdWxlcy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICByZWxldmFudFJ1bGVzLm1hcChydWxlID0+IDxMZWdlbmRJdGVtVHJpYW5nbGUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgbGluZUhlaWdodDogJzE2cHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IHZpc2libGUgPyAnbm9uZScgOiAnbGluZS10aHJvdWdoJyxcbiAgICAgICAgICB0ZXh0V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHt5S2V5Rm9ybWF0dGVkID8geUtleUZvcm1hdHRlZCA6IHlLZXl9XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl19 */",
44151
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$6
44152
+ }),
44153
+ children: [jsx(LegendItemBox, {
44154
+ color: color,
44155
+ style: style,
44156
+ yKey: yKey
44157
+ }), relevantRules.length > 0 && relevantRules.map(function (rule) {
44158
+ return jsx(LegendItemBox, {
44159
+ color: rule.color,
44160
+ style: style,
44161
+ yKey: yKey
44162
+ }, "rule-" + JSON.stringify(rule));
44163
+ })]
44164
+ }), style.type === 'bar' && jsxs("span", {
44165
+ className: /*#__PURE__*/css$1(process.env.NODE_ENV === "production" ? {
44166
+ name: "6b52m3",
44167
+ styles: "display:flex;flex-direction:row;align-items:center;gap:2px"
44168
+ } : {
44169
+ name: "pglbco-LegendItem",
44170
+ styles: "display:flex;flex-direction:row;align-items:center;gap:2px;label:LegendItem;",
44171
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThEeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlLCBMZWdlbmRJdGVtVHJpYW5nbGUgfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94L0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZEl0ZW1Qcm9wczxUPiBleHRlbmRzIFNoYXBlRGVmaW5pdGlvbjxUPiB7XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHlLZXlGb3JtYXR0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kSXRlbSA9ICh7XG4gIHlLZXksXG4gIHlLZXlGb3JtYXR0ZWQsXG4gIGNvbG9yLFxuICBzdHlsZSxcbiAgb25DbGljayxcbiAgdmlzaWJsZSxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG59OiBMZWdlbmRJdGVtUHJvcHM8QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+KSA9PiB7XG4gIGNvbnN0IHJlbGV2YW50UnVsZXMgPSB1c2VNZW1vKCgpID0+IGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLmZpbHRlcihydWxlID0+IHJ1bGUueUtleSA9PT0geUtleSksIFtcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBrZXk9e2BsZWdlbmQtJHt5S2V5fWB9XG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGFsbDogJ3Vuc2V0JyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICBvdXRsaW5lOiAncmV2ZXJ0JyxcbiAgICAgICAgZ2FwOiAnNHB4JyxcbiAgICAgICAgcGFkZGluZzogJzRweCcsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICBtYXJnaW5SaWdodDogJzEwcHgnLFxuICAgICAgfX1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgPlxuICAgICAge3N0eWxlLnR5cGUgPT09ICdsaW5lJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiAxMCwgZGlzcGxheTogJ2ZsZXgnIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbUJveCBjb2xvcj17Y29sb3J9IHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfSB5S2V5PXt5S2V5fSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gKFxuICAgICAgICAgICAgICA8TGVnZW5kSXRlbUJveFxuICAgICAgICAgICAgICAgIGNvbG9yPXtydWxlLmNvbG9yfVxuICAgICAgICAgICAgICAgIGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfVxuICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfVxuICAgICAgICAgICAgICAgIHlLZXk9e3lLZXl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtzdHlsZS50eXBlID09PSAnYmFyJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAncm93JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogMiB9KX0+XG4gICAgICAgICAgPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2FyZWEnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdyb3cnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAyIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbVRyaWFuZ2xlIGNvbG9yPXtjb2xvcn0gLz5cbiAgICAgICAgICB7cmVsZXZhbnRSdWxlcy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICByZWxldmFudFJ1bGVzLm1hcChydWxlID0+IDxMZWdlbmRJdGVtVHJpYW5nbGUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgbGluZUhlaWdodDogJzE2cHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IHZpc2libGUgPyAnbm9uZScgOiAnbGluZS10aHJvdWdoJyxcbiAgICAgICAgICB0ZXh0V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHt5S2V5Rm9ybWF0dGVkID8geUtleUZvcm1hdHRlZCA6IHlLZXl9XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl19 */",
44172
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$6
44173
+ }),
44174
+ children: [jsx(LegendItemSquare, {
44175
+ color: color
44176
+ }), relevantRules.length > 0 && relevantRules.map(function (rule) {
44177
+ return jsx(LegendItemSquare, {
44178
+ color: rule.color
44179
+ }, "rule-" + JSON.stringify(rule));
44180
+ })]
44181
+ }), style.type === 'area' && jsxs("span", {
44182
+ className: /*#__PURE__*/css$1(process.env.NODE_ENV === "production" ? {
44183
+ name: "6b52m3",
44184
+ styles: "display:flex;flex-direction:row;align-items:center;gap:2px"
44185
+ } : {
44186
+ name: "pglbco-LegendItem",
44187
+ styles: "display:flex;flex-direction:row;align-items:center;gap:2px;label:LegendItem;",
44188
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFFeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlLCBMZWdlbmRJdGVtVHJpYW5nbGUgfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94L0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZEl0ZW1Qcm9wczxUPiBleHRlbmRzIFNoYXBlRGVmaW5pdGlvbjxUPiB7XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHlLZXlGb3JtYXR0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kSXRlbSA9ICh7XG4gIHlLZXksXG4gIHlLZXlGb3JtYXR0ZWQsXG4gIGNvbG9yLFxuICBzdHlsZSxcbiAgb25DbGljayxcbiAgdmlzaWJsZSxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG59OiBMZWdlbmRJdGVtUHJvcHM8QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+KSA9PiB7XG4gIGNvbnN0IHJlbGV2YW50UnVsZXMgPSB1c2VNZW1vKCgpID0+IGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLmZpbHRlcihydWxlID0+IHJ1bGUueUtleSA9PT0geUtleSksIFtcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBrZXk9e2BsZWdlbmQtJHt5S2V5fWB9XG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGFsbDogJ3Vuc2V0JyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICBvdXRsaW5lOiAncmV2ZXJ0JyxcbiAgICAgICAgZ2FwOiAnNHB4JyxcbiAgICAgICAgcGFkZGluZzogJzRweCcsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICBtYXJnaW5SaWdodDogJzEwcHgnLFxuICAgICAgfX1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgPlxuICAgICAge3N0eWxlLnR5cGUgPT09ICdsaW5lJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiAxMCwgZGlzcGxheTogJ2ZsZXgnIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbUJveCBjb2xvcj17Y29sb3J9IHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfSB5S2V5PXt5S2V5fSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gKFxuICAgICAgICAgICAgICA8TGVnZW5kSXRlbUJveFxuICAgICAgICAgICAgICAgIGNvbG9yPXtydWxlLmNvbG9yfVxuICAgICAgICAgICAgICAgIGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfVxuICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfVxuICAgICAgICAgICAgICAgIHlLZXk9e3lLZXl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtzdHlsZS50eXBlID09PSAnYmFyJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAncm93JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogMiB9KX0+XG4gICAgICAgICAgPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2FyZWEnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdyb3cnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAyIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbVRyaWFuZ2xlIGNvbG9yPXtjb2xvcn0gLz5cbiAgICAgICAgICB7cmVsZXZhbnRSdWxlcy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICByZWxldmFudFJ1bGVzLm1hcChydWxlID0+IDxMZWdlbmRJdGVtVHJpYW5nbGUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgbGluZUhlaWdodDogJzE2cHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IHZpc2libGUgPyAnbm9uZScgOiAnbGluZS10aHJvdWdoJyxcbiAgICAgICAgICB0ZXh0V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHt5S2V5Rm9ybWF0dGVkID8geUtleUZvcm1hdHRlZCA6IHlLZXl9XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl19 */",
44189
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$6
44190
+ }),
44191
+ children: [jsx(LegendItemTriangle, {
44192
+ color: color
44193
+ }), relevantRules.length > 0 && relevantRules.map(function (rule) {
44194
+ return jsx(LegendItemTriangle, {
44195
+ color: rule.color
44196
+ }, "rule-" + JSON.stringify(rule));
44197
+ })]
44198
+ }), jsx("span", {
44199
+ style: {
44200
+ fontSize: '12px',
44201
+ lineHeight: '16px',
44202
+ display: 'block',
44203
+ textDecoration: visible ? 'none' : 'line-through',
44204
+ textWrap: 'nowrap'
44205
+ },
44206
+ children: yKeyFormatted ? yKeyFormatted : yKey
44207
+ })]
44208
+ }, "legend-" + yKey);
44209
+ };
44210
+
44211
+ function _EMOTION_STRINGIFIED_CSS_ERROR__$7() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
44212
+ var Legend$1 = function Legend(_ref) {
44213
+ var keys = _ref.keys,
44214
+ setVisibleYKeys = _ref.setVisibleYKeys,
44215
+ marginLeft = _ref.marginLeft,
44216
+ items = _ref.items;
44217
+ var handleOnClick = function handleOnClick(item, legendItem) {
44218
+ setVisibleYKeys && setVisibleYKeys(function (prev) {
44219
+ var newVisibleLegendItems = [];
44220
+ if (prev.length === item.legendItems.length) {
44221
+ newVisibleLegendItems = [legendItem.yKey];
44222
+ } else {
44223
+ if (prev.includes(legendItem.yKey)) {
44224
+ newVisibleLegendItems = prev.filter(function (prevLegendItemId) {
44225
+ return prevLegendItemId !== legendItem.yKey;
44226
+ });
44227
+ } else {
44228
+ newVisibleLegendItems = [].concat(prev, [legendItem.yKey]);
44229
+ }
44230
+ }
44231
+ return newVisibleLegendItems.length === 0 ? item.legendItems.map(function (legendItem) {
44232
+ return legendItem.yKey;
44233
+ }) : newVisibleLegendItems;
44234
+ });
44235
+ };
44236
+ return jsx("div", {
44237
+ className: /*#__PURE__*/css$1(process.env.NODE_ENV === "production" ? {
44238
+ name: "1nbollx",
44239
+ styles: "height:40px;padding-top:8px"
44240
+ } : {
44241
+ name: "qz6h7j-Legend",
44242
+ styles: "height:40px;padding-top:8px;label:Legend;",
44243
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0RvQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBMZWdlbmRJdGVtIH0gZnJvbSAnLi9MZWdlbmRJdGVtJztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSwgS2V5IH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBTY3JvbGxiYXIgfSBmcm9tICcuLi8uLi8uLi9TY3JvbGxiYXIvU2Nyb2xsYmFyJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxudHlwZSBJdGVtPFQ+ID0ge1xuICBsZWdlbmRJdGVtczogQXJyYXk8U2hhcGVEZWZpbml0aW9uPFQ+PjtcbiAgdmlzaWJsZVlLZXlzOiBBcnJheTxzdHJpbmc+O1xuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogQXJyYXk8Q29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZT47XG59O1xuZXhwb3J0IHR5cGUgTGVnZW5kUHJvcHM8VD4gPSB7XG4gIHNldFZpc2libGVZS2V5cz86IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPEFycmF5PHN0cmluZz4+PjtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgbWFyZ2luTGVmdDogbnVtYmVyO1xuICBpdGVtczogSXRlbTxUPltdO1xufTtcblxuZXhwb3J0IGNvbnN0IExlZ2VuZCA9ICh7XG4gIGtleXMsXG4gIHNldFZpc2libGVZS2V5cyxcbiAgbWFyZ2luTGVmdCxcbiAgaXRlbXMsXG59OiBMZWdlbmRQcm9wczxCYXJTdHlsZXMgfCBMaW5lU3R5bGVzIHwgQXJlYVN0eWxlcyB8IEJ1YmJsZVN0eWxlcz4pID0+IHtcbiAgY29uc3QgaGFuZGxlT25DbGljayA9IChcbiAgICBpdGVtOiBJdGVtPEJhclN0eWxlcyB8IExpbmVTdHlsZXMgfCBBcmVhU3R5bGVzIHwgQnViYmxlU3R5bGVzPixcbiAgICBsZWdlbmRJdGVtOiBTaGFwZURlZmluaXRpb248QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+XG4gICkgPT4ge1xuICAgIHNldFZpc2libGVZS2V5cyAmJlxuICAgICAgc2V0VmlzaWJsZVlLZXlzKHByZXYgPT4ge1xuICAgICAgICBsZXQgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgICAgICAgaWYgKHByZXYubGVuZ3RoID09PSBpdGVtLmxlZ2VuZEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IFtsZWdlbmRJdGVtLnlLZXldO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChwcmV2LmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkpIHtcbiAgICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IHByZXYuZmlsdGVyKHByZXZMZWdlbmRJdGVtSWQgPT4gcHJldkxlZ2VuZEl0ZW1JZCAhPT0gbGVnZW5kSXRlbS55S2V5KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gWy4uLnByZXYsIGxlZ2VuZEl0ZW0ueUtleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ld1Zpc2libGVMZWdlbmRJdGVtcy5sZW5ndGggPT09IDBcbiAgICAgICAgICA/IGl0ZW0ubGVnZW5kSXRlbXMubWFwKGxlZ2VuZEl0ZW0gPT4gbGVnZW5kSXRlbS55S2V5KVxuICAgICAgICAgIDogbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zO1xuICAgICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiA0MCwgcGFkZGluZ1RvcDogOCB9KX0+XG4gICAgICA8U2Nyb2xsYmFyXG4gICAgICAgIGNsYXNzTmFtZT17Y3NzKHtcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICAgICAgZmxleFdyYXA6ICdub3dyYXAnLFxuICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgIG1hcmdpbkxlZnQ6IG1hcmdpbkxlZnQgPyBgJHttYXJnaW5MZWZ0fXB4YCA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSl9XG4gICAgICAgIHg9e3RydWV9XG4gICAgICA+XG4gICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgPEZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgICAge2l0ZW0ubGVnZW5kSXRlbXMubWFwKFxuICAgICAgICAgICAgICBsZWdlbmRJdGVtID0+XG4gICAgICAgICAgICAgICAga2V5c1tsZWdlbmRJdGVtLnlLZXldICYmIChcbiAgICAgICAgICAgICAgICAgIDxMZWdlbmRJdGVtXG4gICAgICAgICAgICAgICAgICAgIHsuLi5sZWdlbmRJdGVtfVxuICAgICAgICAgICAgICAgICAgICBrZXk9e2BsZWdlbmQtJHtsZWdlbmRJdGVtLnlLZXl9YH1cbiAgICAgICAgICAgICAgICAgICAgeUtleUZvcm1hdHRlZD17a2V5c1tsZWdlbmRJdGVtLnlLZXldLmtleUZvcm1hdHRlZH1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9uQ2xpY2soaXRlbSwgbGVnZW5kSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIHZpc2libGU9e3NldFZpc2libGVZS2V5cyA/IGl0ZW0udmlzaWJsZVlLZXlzLmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkgOiB0cnVlfVxuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcz17aXRlbS5jb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICApKX1cbiAgICAgIDwvU2Nyb2xsYmFyPlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ== */",
44244
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$7
44245
+ }),
44246
+ children: jsx(Scrollbar, {
44247
+ className: /*#__PURE__*/css$1({
44248
+ display: 'flex',
44249
+ flexDirection: 'row',
44250
+ flexWrap: 'nowrap',
44251
+ alignItems: 'center',
44252
+ marginLeft: marginLeft ? marginLeft + "px" : undefined
44253
+ }, process.env.NODE_ENV === "production" ? "" : ";label:Legend;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0RtQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBMZWdlbmRJdGVtIH0gZnJvbSAnLi9MZWdlbmRJdGVtJztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSwgS2V5IH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBTY3JvbGxiYXIgfSBmcm9tICcuLi8uLi8uLi9TY3JvbGxiYXIvU2Nyb2xsYmFyJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxudHlwZSBJdGVtPFQ+ID0ge1xuICBsZWdlbmRJdGVtczogQXJyYXk8U2hhcGVEZWZpbml0aW9uPFQ+PjtcbiAgdmlzaWJsZVlLZXlzOiBBcnJheTxzdHJpbmc+O1xuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogQXJyYXk8Q29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZT47XG59O1xuZXhwb3J0IHR5cGUgTGVnZW5kUHJvcHM8VD4gPSB7XG4gIHNldFZpc2libGVZS2V5cz86IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPEFycmF5PHN0cmluZz4+PjtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgbWFyZ2luTGVmdDogbnVtYmVyO1xuICBpdGVtczogSXRlbTxUPltdO1xufTtcblxuZXhwb3J0IGNvbnN0IExlZ2VuZCA9ICh7XG4gIGtleXMsXG4gIHNldFZpc2libGVZS2V5cyxcbiAgbWFyZ2luTGVmdCxcbiAgaXRlbXMsXG59OiBMZWdlbmRQcm9wczxCYXJTdHlsZXMgfCBMaW5lU3R5bGVzIHwgQXJlYVN0eWxlcyB8IEJ1YmJsZVN0eWxlcz4pID0+IHtcbiAgY29uc3QgaGFuZGxlT25DbGljayA9IChcbiAgICBpdGVtOiBJdGVtPEJhclN0eWxlcyB8IExpbmVTdHlsZXMgfCBBcmVhU3R5bGVzIHwgQnViYmxlU3R5bGVzPixcbiAgICBsZWdlbmRJdGVtOiBTaGFwZURlZmluaXRpb248QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+XG4gICkgPT4ge1xuICAgIHNldFZpc2libGVZS2V5cyAmJlxuICAgICAgc2V0VmlzaWJsZVlLZXlzKHByZXYgPT4ge1xuICAgICAgICBsZXQgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgICAgICAgaWYgKHByZXYubGVuZ3RoID09PSBpdGVtLmxlZ2VuZEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IFtsZWdlbmRJdGVtLnlLZXldO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChwcmV2LmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkpIHtcbiAgICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IHByZXYuZmlsdGVyKHByZXZMZWdlbmRJdGVtSWQgPT4gcHJldkxlZ2VuZEl0ZW1JZCAhPT0gbGVnZW5kSXRlbS55S2V5KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gWy4uLnByZXYsIGxlZ2VuZEl0ZW0ueUtleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ld1Zpc2libGVMZWdlbmRJdGVtcy5sZW5ndGggPT09IDBcbiAgICAgICAgICA/IGl0ZW0ubGVnZW5kSXRlbXMubWFwKGxlZ2VuZEl0ZW0gPT4gbGVnZW5kSXRlbS55S2V5KVxuICAgICAgICAgIDogbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zO1xuICAgICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiA0MCwgcGFkZGluZ1RvcDogOCB9KX0+XG4gICAgICA8U2Nyb2xsYmFyXG4gICAgICAgIGNsYXNzTmFtZT17Y3NzKHtcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICAgICAgZmxleFdyYXA6ICdub3dyYXAnLFxuICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgIG1hcmdpbkxlZnQ6IG1hcmdpbkxlZnQgPyBgJHttYXJnaW5MZWZ0fXB4YCA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSl9XG4gICAgICAgIHg9e3RydWV9XG4gICAgICA+XG4gICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgPEZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgICAge2l0ZW0ubGVnZW5kSXRlbXMubWFwKFxuICAgICAgICAgICAgICBsZWdlbmRJdGVtID0+XG4gICAgICAgICAgICAgICAga2V5c1tsZWdlbmRJdGVtLnlLZXldICYmIChcbiAgICAgICAgICAgICAgICAgIDxMZWdlbmRJdGVtXG4gICAgICAgICAgICAgICAgICAgIHsuLi5sZWdlbmRJdGVtfVxuICAgICAgICAgICAgICAgICAgICBrZXk9e2BsZWdlbmQtJHtsZWdlbmRJdGVtLnlLZXl9YH1cbiAgICAgICAgICAgICAgICAgICAgeUtleUZvcm1hdHRlZD17a2V5c1tsZWdlbmRJdGVtLnlLZXldLmtleUZvcm1hdHRlZH1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9uQ2xpY2soaXRlbSwgbGVnZW5kSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIHZpc2libGU9e3NldFZpc2libGVZS2V5cyA/IGl0ZW0udmlzaWJsZVlLZXlzLmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkgOiB0cnVlfVxuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcz17aXRlbS5jb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICApKX1cbiAgICAgIDwvU2Nyb2xsYmFyPlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ== */"),
44254
+ x: true,
44255
+ children: items.map(function (item, index) {
44256
+ return jsx(Fragment, {
44257
+ children: item.legendItems.map(function (legendItem) {
44258
+ return keys[legendItem.yKey] && createElement$1(LegendItem, _extends({}, legendItem, {
44259
+ key: "legend-" + legendItem.yKey,
44260
+ yKeyFormatted: keys[legendItem.yKey].keyFormatted,
44261
+ onClick: function onClick() {
44262
+ handleOnClick(item, legendItem);
44263
+ },
44264
+ visible: setVisibleYKeys ? item.visibleYKeys.includes(legendItem.yKey) : true,
44265
+ conditionalFormattingRules: item.conditionalFormattingRules
44266
+ }));
44267
+ })
44268
+ }, index);
44269
+ })
44395
44270
  })
44396
44271
  });
44397
44272
  };
44398
44273
 
44274
+ function _EMOTION_STRINGIFIED_CSS_ERROR__$8() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
44275
+ var MIN_TOOLTIP_WIDTH = 180;
44276
+ var TOOLTIP_OFFSET = 20;
44277
+ var SCROLLBAR_WIDTH = 40;
44278
+ var Tooltip$1 = function Tooltip(_ref) {
44279
+ var _tooltipData$xKey$for, _tooltipData$xKey;
44280
+ var keys = _ref.keys,
44281
+ showRoundedTotal = _ref.showRoundedTotal,
44282
+ tooltipData = _ref.tooltipData,
44283
+ tooltipLeft = _ref.tooltipLeft,
44284
+ tooltipTop = _ref.tooltipTop,
44285
+ xKey = _ref.xKey,
44286
+ yKeys = _ref.yKeys,
44287
+ theme = _ref.theme,
44288
+ items = _ref.items,
44289
+ _ref$shouldShowColorL = _ref.shouldShowColorLegend,
44290
+ shouldShowColorLegend = _ref$shouldShowColorL === void 0 ? true : _ref$shouldShowColorL;
44291
+ var tooltipRef = useRef(null);
44292
+ var _useState = useState({
44293
+ left: tooltipLeft
44294
+ }),
44295
+ position = _useState[0],
44296
+ setPosition = _useState[1];
44297
+ useEffect(function () {
44298
+ var adjustTooltipPosition = function adjustTooltipPosition() {
44299
+ var tooltipElement = tooltipRef.current;
44300
+ if (tooltipElement) {
44301
+ var screenWidth = window.innerWidth;
44302
+ var rect = tooltipElement.getBoundingClientRect();
44303
+ var width = rect.width;
44304
+ if (width < MIN_TOOLTIP_WIDTH) {
44305
+ width = MIN_TOOLTIP_WIDTH;
44306
+ }
44307
+ var left = tooltipLeft + TOOLTIP_OFFSET;
44308
+ if (tooltipLeft + width > screenWidth - SCROLLBAR_WIDTH) {
44309
+ left = tooltipLeft - width - TOOLTIP_OFFSET;
44310
+ }
44311
+ setPosition({
44312
+ left: left
44313
+ });
44314
+ }
44315
+ };
44316
+ adjustTooltipPosition();
44317
+ }, [tooltipLeft]);
44318
+ return /*#__PURE__*/createPortal(jsx("div", {
44319
+ ref: tooltipRef,
44320
+ style: _extends({
44321
+ position: 'absolute',
44322
+ left: position.left,
44323
+ top: tooltipTop,
44324
+ zIndex: 2147483647 * 10
44325
+ }, theme),
44326
+ children: jsxs("div", {
44327
+ style: {
44328
+ wordBreak: 'break-all'
44329
+ },
44330
+ children: [jsx("div", {
44331
+ className: /*#__PURE__*/css$1({
44332
+ fontFamily: 'inherit',
44333
+ lineHeight: 'inherit',
44334
+ letterSpacing: 'inherit',
44335
+ fontWeight: 'bold',
44336
+ fontSize: '15px',
44337
+ width: '100%',
44338
+ minWidth: MIN_TOOLTIP_WIDTH
44339
+ }, process.env.NODE_ENV === "production" ? "" : ";label:Tooltip;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRvb2x0aXAudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZGcUIiLCJmaWxlIjoiVG9vbHRpcC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ1NTUHJvcGVydGllcywgRnJhZ21lbnQsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSc7XG5cbmltcG9ydCB7IGdldENvbG9yIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgTGVnZW5kSXRlbUJveCB9IGZyb20gJy4uL0xlZ2VuZC9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSwgRGF0YUl0ZW0sIEtleSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IEFyZWFTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0FyZWFDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IEJ1YmJsZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQnViYmxlQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuXG5jb25zdCBNSU5fVE9PTFRJUF9XSURUSCA9IDE4MDtcbmNvbnN0IFRPT0xUSVBfT0ZGU0VUID0gMjA7XG5jb25zdCBTQ1JPTExCQVJfV0lEVEggPSA0MDtcblxuaW50ZXJmYWNlIFRvb2x0aXBQcm9wczxUPiB7XG4gIGtleXM6IHsgW2tleTogc3RyaW5nXTogS2V5IH07XG4gIHNob3dSb3VuZGVkVG90YWw6IGJvb2xlYW47XG4gIHRvb2x0aXBEYXRhOiB7XG4gICAgW2tleUlkOiBzdHJpbmddOiBEYXRhSXRlbTtcbiAgfTtcbiAgdG9vbHRpcExlZnQ6IG51bWJlcjtcbiAgdG9vbHRpcFRvcDogbnVtYmVyO1xuICB4S2V5OiBzdHJpbmc7XG4gIHlLZXlzPzogc3RyaW5nW107XG4gIGl0ZW1zOiB7XG4gICAgbGVnZW5kSXRlbXM6IEFycmF5PFNoYXBlRGVmaW5pdGlvbjxUPj47XG4gICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xuICAgIHZpc2libGVZS2V5czogc3RyaW5nW107XG4gIH1bXTtcbiAgdGhlbWU6IENTU1Byb3BlcnRpZXM7XG4gIHNob3VsZFNob3dDb2xvckxlZ2VuZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBUb29sdGlwID0gKHtcbiAga2V5cyxcbiAgc2hvd1JvdW5kZWRUb3RhbCxcbiAgdG9vbHRpcERhdGEsXG4gIHRvb2x0aXBMZWZ0LFxuICB0b29sdGlwVG9wLFxuICB4S2V5LFxuICB5S2V5cyxcbiAgdGhlbWUsXG4gIGl0ZW1zLFxuICBzaG91bGRTaG93Q29sb3JMZWdlbmQgPSB0cnVlLFxufTogVG9vbHRpcFByb3BzPExpbmVTdHlsZXMgfCBCYXJTdHlsZXMgfCBBcmVhU3R5bGVzIHwgQnViYmxlU3R5bGVzPikgPT4ge1xuICBjb25zdCB0b29sdGlwUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgW3Bvc2l0aW9uLCBzZXRQb3NpdGlvbl0gPSB1c2VTdGF0ZTx7IGxlZnQ6IG51bWJlciB9Pih7XG4gICAgbGVmdDogdG9vbHRpcExlZnQsXG4gIH0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgYWRqdXN0VG9vbHRpcFBvc2l0aW9uID0gKCkgPT4ge1xuICAgICAgY29uc3QgdG9vbHRpcEVsZW1lbnQgPSB0b29sdGlwUmVmLmN1cnJlbnQ7XG5cbiAgICAgIGlmICh0b29sdGlwRWxlbWVudCkge1xuICAgICAgICBjb25zdCBzY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuXG4gICAgICAgIGNvbnN0IHJlY3QgPSB0b29sdGlwRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBsZXQgd2lkdGggPSByZWN0LndpZHRoO1xuXG4gICAgICAgIGlmICh3aWR0aCA8IE1JTl9UT09MVElQX1dJRFRIKSB7XG4gICAgICAgICAgd2lkdGggPSBNSU5fVE9PTFRJUF9XSURUSDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBsZWZ0ID0gdG9vbHRpcExlZnQgKyBUT09MVElQX09GRlNFVDtcblxuICAgICAgICBpZiAodG9vbHRpcExlZnQgKyB3aWR0aCA+IHNjcmVlbldpZHRoIC0gU0NST0xMQkFSX1dJRFRIKSB7XG4gICAgICAgICAgbGVmdCA9IHRvb2x0aXBMZWZ0IC0gd2lkdGggLSBUT09MVElQX09GRlNFVDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFBvc2l0aW9uKHsgbGVmdCB9KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgYWRqdXN0VG9vbHRpcFBvc2l0aW9uKCk7XG4gIH0sIFt0b29sdGlwTGVmdF0pO1xuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPGRpdlxuICAgICAgcmVmPXt0b29sdGlwUmVmfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIGxlZnQ6IHBvc2l0aW9uLmxlZnQsXG4gICAgICAgIHRvcDogdG9vbHRpcFRvcCxcbiAgICAgICAgekluZGV4OiAyMTQ3NDgzNjQ3ICogMTAsXG4gICAgICAgIC4uLnRoZW1lLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2IHN0eWxlPXt7IHdvcmRCcmVhazogJ2JyZWFrLWFsbCcgfX0+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9e2Nzcyh7XG4gICAgICAgICAgICBmb250RmFtaWx5OiAnaW5oZXJpdCcsXG4gICAgICAgICAgICBsaW5lSGVpZ2h0OiAnaW5oZXJpdCcsXG4gICAgICAgICAgICBsZXR0ZXJTcGFjaW5nOiAnaW5oZXJpdCcsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiAnYm9sZCcsXG4gICAgICAgICAgICBmb250U2l6ZTogJzE1cHgnLFxuICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgIG1pbldpZHRoOiBNSU5fVE9PTFRJUF9XSURUSCxcbiAgICAgICAgICB9KX1cbiAgICAgICAgPlxuICAgICAgICAgIHt0b29sdGlwRGF0YVt4S2V5XT8uZm9ybWF0dGVkVmFsdWUgPz8gdG9vbHRpcERhdGFbeEtleV0udmFsdWV9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dGFibGVcbiAgICAgICAgICBjZWxsUGFkZGluZz17MH1cbiAgICAgICAgICBjZWxsU3BhY2luZz17MH1cbiAgICAgICAgICBjbGFzc05hbWU9e2Nzcyh7XG4gICAgICAgICAgICBtYXJnaW46ICcwJyxcbiAgICAgICAgICAgIGJvcmRlclNwYWNpbmc6ICcwJyxcbiAgICAgICAgICAgIGJvcmRlckNvbGxhcHNlOiAnaW5oZXJpdCcsXG4gICAgICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgICB9KX1cbiAgICAgICAgPlxuICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPEZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgICAgICAgICAge2l0ZW0ubGVnZW5kSXRlbXM/Lm1hcCgobGVnZW5kSXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0b29sdGlwRGF0YVtsZWdlbmRJdGVtLnlLZXldIHx8IHRvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0udmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAvLyB5S2V5IGNvdWxkIG5vdCBiZSBmb3VuZCBpbiB0b29sdGlwRGF0YVxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgaXRlbS52aXNpYmxlWUtleXM/LmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGtleT17YCR7bGVnZW5kSXRlbS55S2V5fS0ke2luZGV4fS0ke3Rvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0udmFsdWV9YH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtzaG91bGRTaG93Q29sb3JMZWdlbmQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWxBbGlnbjogJ21pZGRsZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGluZGV4ID09PSAwID8gJzEycHggOHB4IDAgMCcgOiAnOHB4IDhweCAwIDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJ2F1dG8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGVnZW5kSXRlbUJveFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj17Z2V0Q29sb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRDb2xvcjogbGVnZW5kSXRlbS5jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdG9vbHRpcERhdGFbbGVnZW5kSXRlbS55S2V5XS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5S2V5OiBsZWdlbmRJdGVtLnlLZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IGl0ZW0uY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMgPz8gW10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17bGVnZW5kSXRlbS5zdHlsZSBhcyBMaW5lU3R5bGVzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5S2V5PXtsZWdlbmRJdGVtLnlLZXl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT17eyBwYWRkaW5nOiAnOHB4IDAgMCAwJyB9fT57a2V5c1tsZWdlbmRJdGVtLnlLZXldLmtleUZvcm1hdHRlZH08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9e3sgZm9udFdlaWdodDogJ2JvbGQnLCBwYWRkaW5nOiAnOHB4IDAgMCAxNnB4JyB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dG9vbHRpcERhdGFbbGVnZW5kSXRlbS55S2V5XS5mb3JtYXR0ZWRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0b29sdGlwRGF0YVtsZWdlbmRJdGVtLnlLZXldLmZvcm1hdHRlZFZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0udmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KX1cblxuICAgICAgICAgICAge3Nob3dSb3VuZGVkVG90YWwgJiYgeUtleXMgJiYgKFxuICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgPHRkIGNvbFNwYW49ezJ9IHN0eWxlPXt7IHBhZGRpbmc6ICcxMnB4IDAgMCAwJyB9fT5cbiAgICAgICAgICAgICAgICAgIFJvdW5kZWQgVG90YWxcbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT17eyBmb250V2VpZ2h0OiAnYm9sZCcsIHBhZGRpbmc6ICcxMnB4IDAgMCAxNnB4JyB9fT5cbiAgICAgICAgICAgICAgICAgIHt5S2V5cy5yZWR1Y2UoKHRvdGFsLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRvdGFsICsgTWF0aC5yb3VuZCh0b29sdGlwRGF0YVtrZXldLnZhbHVlIGFzIG51bWJlcik7XG4gICAgICAgICAgICAgICAgICB9LCAwKX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+LFxuICAgIGRvY3VtZW50LmJvZHksXG4gICk7XG59O1xuIl19 */"),
44340
+ children: (_tooltipData$xKey$for = (_tooltipData$xKey = tooltipData[xKey]) == null ? void 0 : _tooltipData$xKey.formattedValue) != null ? _tooltipData$xKey$for : tooltipData[xKey].value
44341
+ }), jsx("table", {
44342
+ cellPadding: 0,
44343
+ cellSpacing: 0,
44344
+ className: /*#__PURE__*/css$1(process.env.NODE_ENV === "production" ? {
44345
+ name: "x8luwd",
44346
+ styles: "margin:0;border-spacing:0;border-collapse:inherit;border:none"
44347
+ } : {
44348
+ name: "9a1sa-Tooltip",
44349
+ styles: "margin:0;border-spacing:0;border-collapse:inherit;border:none;label:Tooltip;",
44350
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRvb2x0aXAudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRHcUIiLCJmaWxlIjoiVG9vbHRpcC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ1NTUHJvcGVydGllcywgRnJhZ21lbnQsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSc7XG5cbmltcG9ydCB7IGdldENvbG9yIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgTGVnZW5kSXRlbUJveCB9IGZyb20gJy4uL0xlZ2VuZC9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSwgRGF0YUl0ZW0sIEtleSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IEFyZWFTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0FyZWFDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IEJ1YmJsZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQnViYmxlQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuXG5jb25zdCBNSU5fVE9PTFRJUF9XSURUSCA9IDE4MDtcbmNvbnN0IFRPT0xUSVBfT0ZGU0VUID0gMjA7XG5jb25zdCBTQ1JPTExCQVJfV0lEVEggPSA0MDtcblxuaW50ZXJmYWNlIFRvb2x0aXBQcm9wczxUPiB7XG4gIGtleXM6IHsgW2tleTogc3RyaW5nXTogS2V5IH07XG4gIHNob3dSb3VuZGVkVG90YWw6IGJvb2xlYW47XG4gIHRvb2x0aXBEYXRhOiB7XG4gICAgW2tleUlkOiBzdHJpbmddOiBEYXRhSXRlbTtcbiAgfTtcbiAgdG9vbHRpcExlZnQ6IG51bWJlcjtcbiAgdG9vbHRpcFRvcDogbnVtYmVyO1xuICB4S2V5OiBzdHJpbmc7XG4gIHlLZXlzPzogc3RyaW5nW107XG4gIGl0ZW1zOiB7XG4gICAgbGVnZW5kSXRlbXM6IEFycmF5PFNoYXBlRGVmaW5pdGlvbjxUPj47XG4gICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xuICAgIHZpc2libGVZS2V5czogc3RyaW5nW107XG4gIH1bXTtcbiAgdGhlbWU6IENTU1Byb3BlcnRpZXM7XG4gIHNob3VsZFNob3dDb2xvckxlZ2VuZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBUb29sdGlwID0gKHtcbiAga2V5cyxcbiAgc2hvd1JvdW5kZWRUb3RhbCxcbiAgdG9vbHRpcERhdGEsXG4gIHRvb2x0aXBMZWZ0LFxuICB0b29sdGlwVG9wLFxuICB4S2V5LFxuICB5S2V5cyxcbiAgdGhlbWUsXG4gIGl0ZW1zLFxuICBzaG91bGRTaG93Q29sb3JMZWdlbmQgPSB0cnVlLFxufTogVG9vbHRpcFByb3BzPExpbmVTdHlsZXMgfCBCYXJTdHlsZXMgfCBBcmVhU3R5bGVzIHwgQnViYmxlU3R5bGVzPikgPT4ge1xuICBjb25zdCB0b29sdGlwUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgW3Bvc2l0aW9uLCBzZXRQb3NpdGlvbl0gPSB1c2VTdGF0ZTx7IGxlZnQ6IG51bWJlciB9Pih7XG4gICAgbGVmdDogdG9vbHRpcExlZnQsXG4gIH0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgYWRqdXN0VG9vbHRpcFBvc2l0aW9uID0gKCkgPT4ge1xuICAgICAgY29uc3QgdG9vbHRpcEVsZW1lbnQgPSB0b29sdGlwUmVmLmN1cnJlbnQ7XG5cbiAgICAgIGlmICh0b29sdGlwRWxlbWVudCkge1xuICAgICAgICBjb25zdCBzY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuXG4gICAgICAgIGNvbnN0IHJlY3QgPSB0b29sdGlwRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBsZXQgd2lkdGggPSByZWN0LndpZHRoO1xuXG4gICAgICAgIGlmICh3aWR0aCA8IE1JTl9UT09MVElQX1dJRFRIKSB7XG4gICAgICAgICAgd2lkdGggPSBNSU5fVE9PTFRJUF9XSURUSDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBsZWZ0ID0gdG9vbHRpcExlZnQgKyBUT09MVElQX09GRlNFVDtcblxuICAgICAgICBpZiAodG9vbHRpcExlZnQgKyB3aWR0aCA+IHNjcmVlbldpZHRoIC0gU0NST0xMQkFSX1dJRFRIKSB7XG4gICAgICAgICAgbGVmdCA9IHRvb2x0aXBMZWZ0IC0gd2lkdGggLSBUT09MVElQX09GRlNFVDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFBvc2l0aW9uKHsgbGVmdCB9KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgYWRqdXN0VG9vbHRpcFBvc2l0aW9uKCk7XG4gIH0sIFt0b29sdGlwTGVmdF0pO1xuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPGRpdlxuICAgICAgcmVmPXt0b29sdGlwUmVmfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIGxlZnQ6IHBvc2l0aW9uLmxlZnQsXG4gICAgICAgIHRvcDogdG9vbHRpcFRvcCxcbiAgICAgICAgekluZGV4OiAyMTQ3NDgzNjQ3ICogMTAsXG4gICAgICAgIC4uLnRoZW1lLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2IHN0eWxlPXt7IHdvcmRCcmVhazogJ2JyZWFrLWFsbCcgfX0+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9e2Nzcyh7XG4gICAgICAgICAgICBmb250RmFtaWx5OiAnaW5oZXJpdCcsXG4gICAgICAgICAgICBsaW5lSGVpZ2h0OiAnaW5oZXJpdCcsXG4gICAgICAgICAgICBsZXR0ZXJTcGFjaW5nOiAnaW5oZXJpdCcsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiAnYm9sZCcsXG4gICAgICAgICAgICBmb250U2l6ZTogJzE1cHgnLFxuICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgIG1pbldpZHRoOiBNSU5fVE9PTFRJUF9XSURUSCxcbiAgICAgICAgICB9KX1cbiAgICAgICAgPlxuICAgICAgICAgIHt0b29sdGlwRGF0YVt4S2V5XT8uZm9ybWF0dGVkVmFsdWUgPz8gdG9vbHRpcERhdGFbeEtleV0udmFsdWV9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dGFibGVcbiAgICAgICAgICBjZWxsUGFkZGluZz17MH1cbiAgICAgICAgICBjZWxsU3BhY2luZz17MH1cbiAgICAgICAgICBjbGFzc05hbWU9e2Nzcyh7XG4gICAgICAgICAgICBtYXJnaW46ICcwJyxcbiAgICAgICAgICAgIGJvcmRlclNwYWNpbmc6ICcwJyxcbiAgICAgICAgICAgIGJvcmRlckNvbGxhcHNlOiAnaW5oZXJpdCcsXG4gICAgICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgICB9KX1cbiAgICAgICAgPlxuICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPEZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgICAgICAgICAge2l0ZW0ubGVnZW5kSXRlbXM/Lm1hcCgobGVnZW5kSXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0b29sdGlwRGF0YVtsZWdlbmRJdGVtLnlLZXldIHx8IHRvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0udmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAvLyB5S2V5IGNvdWxkIG5vdCBiZSBmb3VuZCBpbiB0b29sdGlwRGF0YVxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgaXRlbS52aXNpYmxlWUtleXM/LmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGtleT17YCR7bGVnZW5kSXRlbS55S2V5fS0ke2luZGV4fS0ke3Rvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0udmFsdWV9YH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtzaG91bGRTaG93Q29sb3JMZWdlbmQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWxBbGlnbjogJ21pZGRsZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGluZGV4ID09PSAwID8gJzEycHggOHB4IDAgMCcgOiAnOHB4IDhweCAwIDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJ2F1dG8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGVnZW5kSXRlbUJveFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj17Z2V0Q29sb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRDb2xvcjogbGVnZW5kSXRlbS5jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdG9vbHRpcERhdGFbbGVnZW5kSXRlbS55S2V5XS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5S2V5OiBsZWdlbmRJdGVtLnlLZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IGl0ZW0uY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMgPz8gW10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17bGVnZW5kSXRlbS5zdHlsZSBhcyBMaW5lU3R5bGVzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5S2V5PXtsZWdlbmRJdGVtLnlLZXl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT17eyBwYWRkaW5nOiAnOHB4IDAgMCAwJyB9fT57a2V5c1tsZWdlbmRJdGVtLnlLZXldLmtleUZvcm1hdHRlZH08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9e3sgZm9udFdlaWdodDogJ2JvbGQnLCBwYWRkaW5nOiAnOHB4IDAgMCAxNnB4JyB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dG9vbHRpcERhdGFbbGVnZW5kSXRlbS55S2V5XS5mb3JtYXR0ZWRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0b29sdGlwRGF0YVtsZWdlbmRJdGVtLnlLZXldLmZvcm1hdHRlZFZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0udmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KX1cblxuICAgICAgICAgICAge3Nob3dSb3VuZGVkVG90YWwgJiYgeUtleXMgJiYgKFxuICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgPHRkIGNvbFNwYW49ezJ9IHN0eWxlPXt7IHBhZGRpbmc6ICcxMnB4IDAgMCAwJyB9fT5cbiAgICAgICAgICAgICAgICAgIFJvdW5kZWQgVG90YWxcbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT17eyBmb250V2VpZ2h0OiAnYm9sZCcsIHBhZGRpbmc6ICcxMnB4IDAgMCAxNnB4JyB9fT5cbiAgICAgICAgICAgICAgICAgIHt5S2V5cy5yZWR1Y2UoKHRvdGFsLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRvdGFsICsgTWF0aC5yb3VuZCh0b29sdGlwRGF0YVtrZXldLnZhbHVlIGFzIG51bWJlcik7XG4gICAgICAgICAgICAgICAgICB9LCAwKX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+LFxuICAgIGRvY3VtZW50LmJvZHksXG4gICk7XG59O1xuIl19 */",
44351
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$8
44352
+ }),
44353
+ children: jsxs("tbody", {
44354
+ children: [items.map(function (item, index) {
44355
+ var _item$legendItems;
44356
+ return jsx(Fragment, {
44357
+ children: (_item$legendItems = item.legendItems) == null ? void 0 : _item$legendItems.map(function (legendItem, index) {
44358
+ var _item$visibleYKeys, _item$conditionalForm;
44359
+ if (!tooltipData[legendItem.yKey] || tooltipData[legendItem.yKey].value === null) {
44360
+ // yKey could not be found in tooltipData
44361
+ return null;
44362
+ }
44363
+ return ((_item$visibleYKeys = item.visibleYKeys) == null ? void 0 : _item$visibleYKeys.includes(legendItem.yKey)) && jsxs("tr", {
44364
+ children: [shouldShowColorLegend && jsx("td", {
44365
+ style: {
44366
+ verticalAlign: 'middle',
44367
+ padding: index === 0 ? '12px 8px 0 0' : '8px 8px 0 0',
44368
+ width: 'auto'
44369
+ },
44370
+ children: jsx(LegendItemBox, {
44371
+ color: getColor({
44372
+ defaultColor: legendItem.color,
44373
+ value: tooltipData[legendItem.yKey].value,
44374
+ yKey: legendItem.yKey,
44375
+ conditionalFormattingRules: (_item$conditionalForm = item.conditionalFormattingRules) != null ? _item$conditionalForm : []
44376
+ }),
44377
+ style: legendItem.style,
44378
+ yKey: legendItem.yKey
44379
+ })
44380
+ }), jsx("td", {
44381
+ style: {
44382
+ padding: '8px 0 0 0'
44383
+ },
44384
+ children: keys[legendItem.yKey].keyFormatted
44385
+ }), jsx("td", {
44386
+ style: {
44387
+ fontWeight: 'bold',
44388
+ padding: '8px 0 0 16px'
44389
+ },
44390
+ children: tooltipData[legendItem.yKey].formattedValue ? tooltipData[legendItem.yKey].formattedValue : tooltipData[legendItem.yKey].value
44391
+ })]
44392
+ }, legendItem.yKey + "-" + index + "-" + tooltipData[legendItem.yKey].value);
44393
+ })
44394
+ }, index);
44395
+ }), showRoundedTotal && yKeys && jsxs("tr", {
44396
+ children: [jsx("td", {
44397
+ colSpan: 2,
44398
+ style: {
44399
+ padding: '12px 0 0 0'
44400
+ },
44401
+ children: "Rounded Total"
44402
+ }), jsx("td", {
44403
+ style: {
44404
+ fontWeight: 'bold',
44405
+ padding: '12px 0 0 16px'
44406
+ },
44407
+ children: yKeys.reduce(function (total, key) {
44408
+ return total + Math.round(tooltipData[key].value);
44409
+ }, 0)
44410
+ })]
44411
+ })]
44412
+ })
44413
+ })]
44414
+ })
44415
+ }), document.body);
44416
+ };
44417
+
44418
+ var CrosshairCircle = function CrosshairCircle(_ref) {
44419
+ var dataType = _ref.dataType,
44420
+ yKeys = _ref.yKeys,
44421
+ tooltipData = _ref.tooltipData,
44422
+ xKey = _ref.xKey,
44423
+ margin = _ref.margin,
44424
+ conditionalFormattingRules = _ref.conditionalFormattingRules,
44425
+ legendItems = _ref.legendItems,
44426
+ visibleYKeys = _ref.visibleYKeys,
44427
+ yScale = _ref.yScale,
44428
+ xScale = _ref.xScale;
44429
+ return jsx(Fragment, {
44430
+ children: yKeys.map(function (yKey) {
44431
+ if (!xKey || !tooltipData[yKey] || tooltipData[yKey].value === null) return null;
44432
+ if (tooltipData[xKey] && tooltipData[xKey].value && dataType && visibleYKeys.includes(yKey)) {
44433
+ var xValue = tooltipData[xKey].value;
44434
+ var xValueAdjusted = dataType === 'date_time' ? new Date(xValue) : dataType === 'number' ? Number(xValue) : String(xValue);
44435
+ return jsx("circle", {
44436
+ cx:
44437
+ // @ts-ignore
44438
+ xScale(xValueAdjusted) + margin.left,
44439
+ cy: yScale(yKey) + margin.top,
44440
+ r: 4,
44441
+ fill: getColor({
44442
+ defaultColor: legendItems.filter(function (legendItem) {
44443
+ return legendItem.yKey === yKey;
44444
+ })[0].color,
44445
+ yKey: yKey,
44446
+ value: tooltipData[yKey].value,
44447
+ conditionalFormattingRules: conditionalFormattingRules
44448
+ }),
44449
+ strokeWidth: 2,
44450
+ stroke: "#fff",
44451
+ pointerEvents: "none"
44452
+ }, yKey);
44453
+ } else {
44454
+ return null;
44455
+ }
44456
+ })
44457
+ });
44458
+ };
44459
+
44460
+ var Line = function Line(_ref) {
44461
+ var margin = _ref.margin,
44462
+ x = _ref.x,
44463
+ height = _ref.height;
44464
+ return jsx(Line$1, {
44465
+ from: {
44466
+ x: x,
44467
+ y: margin.top
44468
+ },
44469
+ to: {
44470
+ x: x,
44471
+ y: height + margin.top
44472
+ },
44473
+ stroke: '#aaa',
44474
+ strokeWidth: 2,
44475
+ pointerEvents: "none",
44476
+ opacity: 0.8
44477
+ });
44478
+ };
44479
+
44399
44480
  var LineChart$5 = function LineChart(_ref) {
44400
44481
  var _theme$axis;
44401
44482
  var chart = _ref.chart,
@@ -44485,6 +44566,26 @@ var LineChart$5 = function LineChart(_ref) {
44485
44566
  var handleMouseLeave = useCallback(function () {
44486
44567
  hideTooltip();
44487
44568
  }, [hideTooltip]);
44569
+ var labelDictionary = useMemo(function () {
44570
+ return getLabelDictionary(chart.data, chart.y.keys);
44571
+ }, [chart.data, chart.y.keys]);
44572
+ var memoizedLines = useMemo(function () {
44573
+ if (xScaleKey === null || xScale === null) return null;
44574
+ return jsx(Lines, {
44575
+ lines: chart.lines,
44576
+ conditionalFormattingRules: chart.conditionalFormattingRules,
44577
+ curve: curve,
44578
+ yKeys: chart.y.keys,
44579
+ visibleYKeys: visibleYKeys,
44580
+ data: dataFlattened,
44581
+ xScaleKey: xScaleKey,
44582
+ xScaleDataType: xScaleDataType,
44583
+ xScale: xScale,
44584
+ yScale: _yScale,
44585
+ showLabels: options.showLabels,
44586
+ labelDictionary: labelDictionary
44587
+ });
44588
+ }, [chart.lines, chart.conditionalFormattingRules, curve, chart.y.keys, visibleYKeys, dataFlattened, xScaleKey, xScaleDataType, xScale, _yScale, options.showLabels, labelDictionary]);
44488
44589
  if (width === 0 || height === 0 || xScale === null) return jsx(React__default.Fragment, {});
44489
44590
  var yTickValues = chart.y.ticks.map(function (tick) {
44490
44591
  return Number(tick.value);
@@ -44529,19 +44630,7 @@ var LineChart$5 = function LineChart(_ref) {
44529
44630
  ticks: yTickValues,
44530
44631
  stroke: theme == null || (_theme$axis = theme.axis) == null ? void 0 : _theme$axis.stroke
44531
44632
  }), jsx(Group$2, {
44532
- children: xScaleKey !== null && jsx(Lines, {
44533
- lines: chart.lines,
44534
- conditionalFormattingRules: chart.conditionalFormattingRules,
44535
- curve: curve,
44536
- yKeys: chart.y.keys,
44537
- visibleYKeys: visibleYKeys,
44538
- data: dataFlattened,
44539
- xScaleKey: xScaleKey,
44540
- xScaleDataType: xScaleDataType,
44541
- xScale: xScale,
44542
- yScale: _yScale,
44543
- showLabels: options.showLabels
44544
- })
44633
+ children: memoizedLines
44545
44634
  })]
44546
44635
  }), tooltipData && jsxs("g", {
44547
44636
  children: [jsx(Line, {
@@ -44590,7 +44679,7 @@ var LineChart$5 = function LineChart(_ref) {
44590
44679
  })]
44591
44680
  });
44592
44681
  };
44593
- function Lines(_ref2) {
44682
+ var Lines = /*#__PURE__*/memo(function Lines(_ref2) {
44594
44683
  var yKeys = _ref2.yKeys,
44595
44684
  visibleYKeys = _ref2.visibleYKeys,
44596
44685
  data = _ref2.data,
@@ -44601,7 +44690,8 @@ function Lines(_ref2) {
44601
44690
  lines = _ref2.lines,
44602
44691
  curve = _ref2.curve,
44603
44692
  conditionalFormattingRules = _ref2.conditionalFormattingRules,
44604
- showLabels = _ref2.showLabels;
44693
+ showLabels = _ref2.showLabels,
44694
+ labelDictionary = _ref2.labelDictionary;
44605
44695
  var _useMemo = useMemo(function () {
44606
44696
  var allBarValues = getAllChartValues(data, yKeys);
44607
44697
  var _getMinMaxChartValueF = getMinMaxChartValueFromNumberArray(allBarValues),
@@ -44667,7 +44757,8 @@ function Lines(_ref2) {
44667
44757
  totalItems: data.length,
44668
44758
  minValue: minValue,
44669
44759
  maxValue: maxValue,
44670
- showLabels: showLabels
44760
+ showLabels: showLabels,
44761
+ labelDictionary: labelDictionary
44671
44762
  });
44672
44763
  })]
44673
44764
  });
@@ -44722,33 +44813,35 @@ function Lines(_ref2) {
44722
44813
  }, clipPathId);
44723
44814
  })]
44724
44815
  });
44725
- function LineLabel(_ref5) {
44726
- var chartData = _ref5.chartData,
44727
- yKey = _ref5.yKey,
44728
- xScaleKey = _ref5.xScaleKey,
44729
- xScale = _ref5.xScale,
44730
- yScale = _ref5.yScale,
44731
- totalItems = _ref5.totalItems,
44732
- minValue = _ref5.minValue,
44733
- maxValue = _ref5.maxValue,
44734
- showLabels = _ref5.showLabels;
44735
- var xValue = chartData[xScaleKey];
44736
- var yValue = chartData[yKey];
44737
- var xPadding = 18;
44738
- var yPadding = 8;
44739
- var xPosition = xScale(xValue);
44740
- var yPosition = yScale(yValue);
44741
- var showMinMax = showMinMaxLabel(Number(yValue), totalItems, minValue, maxValue);
44742
- if (xPosition == null || yPosition == null || !showMinMax || !showLabels) return null;
44743
- return jsx(DataLabel, {
44744
- x: xPosition - xPadding,
44745
- y: yPosition - yPadding,
44746
- dx: 2,
44747
- dy: 0,
44748
- title: yValue
44749
- });
44750
- }
44751
- }
44816
+ });
44817
+ var LineLabel = /*#__PURE__*/memo(function LineLabel(_ref5) {
44818
+ var chartData = _ref5.chartData,
44819
+ yKey = _ref5.yKey,
44820
+ xScaleKey = _ref5.xScaleKey,
44821
+ xScale = _ref5.xScale,
44822
+ yScale = _ref5.yScale,
44823
+ totalItems = _ref5.totalItems,
44824
+ minValue = _ref5.minValue,
44825
+ maxValue = _ref5.maxValue,
44826
+ showLabels = _ref5.showLabels,
44827
+ labelDictionary = _ref5.labelDictionary;
44828
+ var xValue = chartData[xScaleKey];
44829
+ var yValue = chartData[yKey];
44830
+ var xPadding = 18;
44831
+ var yPadding = 8;
44832
+ var xPosition = xScale(xValue);
44833
+ var yPosition = yScale(yValue);
44834
+ var showMinMax = showMinMaxLabel(Number(yValue), totalItems, minValue, maxValue);
44835
+ var displayValue = getFormattedValue(yValue, labelDictionary);
44836
+ if (xPosition == null || yPosition == null || !showMinMax || !showLabels) return null;
44837
+ return jsx(DataLabel, {
44838
+ x: xPosition - xPadding,
44839
+ y: yPosition - yPadding,
44840
+ dx: 2,
44841
+ dy: 0,
44842
+ title: displayValue
44843
+ });
44844
+ });
44752
44845
 
44753
44846
  var BAR_RADIUS = 2;
44754
44847
 
@@ -44794,7 +44887,8 @@ function BarGroup(_ref) {
44794
44887
  yLabelPosition = _ref.yLabelPosition,
44795
44888
  showDetailedSubGroupingLabels = _ref.showDetailedSubGroupingLabels,
44796
44889
  labelStyle = _ref.labelStyle,
44797
- showLabels = _ref.showLabels;
44890
+ showLabels = _ref.showLabels,
44891
+ formattedData = _ref.formattedData;
44798
44892
  var getGroupPosition = function getGroupPosition(d) {
44799
44893
  var xValue = d[xKey];
44800
44894
  if (xScaleDataType === 'string') return String(xValue);
@@ -44806,6 +44900,9 @@ function BarGroup(_ref) {
44806
44900
  }
44807
44901
  return String(xValue);
44808
44902
  };
44903
+ var formattedLabelsDict = useMemo(function () {
44904
+ return getLabelDictionary(formattedData, keys);
44905
+ }, [formattedData, keys]);
44809
44906
  var _useMemo = useMemo(function () {
44810
44907
  var allBarValues = getAllChartValues(data, keys);
44811
44908
  var _getMinMaxChartValueF = getMinMaxChartValueFromNumberArray(allBarValues),
@@ -44854,7 +44951,9 @@ function BarGroup(_ref) {
44854
44951
  minValue: minValue,
44855
44952
  maxValue: maxValue,
44856
44953
  totalItems: totalItems,
44857
- showLabels: showLabels
44954
+ showLabels: showLabels,
44955
+ labelDictionary: formattedLabelsDict,
44956
+ yScale: yScale
44858
44957
  }, "bar-" + bar.index + "-" + bar.x);
44859
44958
  })
44860
44959
  }, "bar-group-" + barGroup.index + "-" + barGroup.x0);
@@ -44876,11 +44975,17 @@ var Bar = function Bar(_ref2) {
44876
44975
  minValue = _ref2.minValue,
44877
44976
  maxValue = _ref2.maxValue,
44878
44977
  totalItems = _ref2.totalItems,
44879
- showLabels = _ref2.showLabels;
44978
+ showLabels = _ref2.showLabels,
44979
+ labelDictionary = _ref2.labelDictionary,
44980
+ yScale = _ref2.yScale;
44880
44981
  var showBar = bar.value !== null && bar.height > 0 && bar.width > 0;
44881
- var labelX = bar.width < 10 ? bar.x - 14 : bar.x / 2;
44882
- var labelY = bar.y - 4;
44982
+ var xPadding = 14;
44983
+ var yPadding = 8;
44984
+ var labelX = bar.x - xPadding;
44985
+ var barTopY = yScale(bar.value);
44986
+ var labelY = barTopY - yPadding;
44883
44987
  var showMinMax = showMinMaxLabel(bar.value, totalItems, minValue, maxValue);
44988
+ var displayValue = getFormattedValue(bar.value, labelDictionary);
44884
44989
  return jsxs(Fragment, {
44885
44990
  children: [showBar && jsx(BarRect, {
44886
44991
  barRectKey: "bar-group-bar-" + barGroup.index + "-" + bar.index + "-" + bar.value + "-" + String(bar.key),
@@ -44896,7 +45001,7 @@ var Bar = function Bar(_ref2) {
44896
45001
  }), showLabels && showMinMax && jsx(DataLabel, {
44897
45002
  x: labelX,
44898
45003
  y: labelY,
44899
- title: bar.value,
45004
+ title: displayValue,
44900
45005
  dx: 1,
44901
45006
  dy: 0
44902
45007
  }), jsx(BarLabel, {
@@ -44927,7 +45032,7 @@ var BarRect = function BarRect(_ref3) {
44927
45032
  } : {
44928
45033
  name: "1ltmijl-classes",
44929
45034
  styles: "cursor:pointer;label:classes;",
44930
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJhckdyb3VwLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrTmdDIiwiZmlsZSI6IkJhckdyb3VwLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJ0B2aXN4L2dyb3VwJztcbmltcG9ydCB7IEJhckdyb3VwIGFzIFZpc3hCYXJHcm91cCB9IGZyb20gJ0B2aXN4L3NoYXBlJztcbmltcG9ydCB7IERhdHVtT2JqZWN0IH0gZnJvbSAnQHZpc3gvc2hhcGUvbGliL3R5cGVzJztcbmltcG9ydCB7IFNjYWxlQmFuZCwgU2NhbGVMaW5lYXIgfSBmcm9tICdAdmlzeC92ZW5kb3IvZDMtc2NhbGUnO1xuaW1wb3J0IHsgRnJhZ21lbnQsIHVzZVN0YXRlLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IENoYXJ0RGF0YURlZmluaXRpb24sIENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGUsIFNoYXBlRGVmaW5pdGlvbiB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0ZpZWxkL3R5cGVzJztcbmltcG9ydCB7IGxpZ2h0ZW5Db2xvciB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb2xvci5mdW5jdGlvbnMnO1xuaW1wb3J0IHsgQkFSX1JBRElVUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9CT1JERVJfUkFESVVTJztcbmltcG9ydCB7IGdldEJhckZpbGwgfSBmcm9tICcuLi9nZXRCYXJGaWxsJztcbmltcG9ydCB7IERhdGFMYWJlbCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvRGF0YUxhYmVsJztcbmltcG9ydCB7XG4gIHNob3dNaW5NYXhMYWJlbCxcbiAgZ2V0TWluTWF4Q2hhcnRWYWx1ZUZyb21OdW1iZXJBcnJheSxcbiAgZ2V0QWxsQ2hhcnRWYWx1ZXMsXG59IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvRGF0YUxhYmVsL2luZGV4JztcblxuZXhwb3J0IHR5cGUgQmFyR3JvdXBQcm9wcyA9IHtcbiAgZGF0YTogQ2hhcnREYXRhRGVmaW5pdGlvbltdO1xuICBrZXlzOiBzdHJpbmdbXTtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHhLZXk6IHN0cmluZztcbiAgeFNjYWxlRGF0YVR5cGU6IERhdGFUeXBlO1xuICB4U2NhbGU6IFNjYWxlQmFuZDxzdHJpbmc+IHwgU2NhbGVCYW5kPERhdGU+IHwgU2NhbGVCYW5kPG51bWJlcj4gfCBudWxsO1xuICBpbm5lclhTY2FsZTogU2NhbGVCYW5kPHN0cmluZz4gfCB1bmRlZmluZWQ7XG4gIHlTY2FsZTogU2NhbGVMaW5lYXI8bnVtYmVyLCBudW1iZXIsIG5ldmVyPjtcbiAgb25DbGljazogKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8U1ZHUmVjdEVsZW1lbnQsIE1vdXNlRXZlbnQ+LCBiYXJHcm91cDogYW55LCBiYXI6IGFueSkgPT4gdm9pZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVbXTtcbiAgYmFyczogU2hhcGVEZWZpbml0aW9uPEJhclN0eWxlcz5bXTtcbiAgZW5hYmxlSG92ZXI/OiBib29sZWFuO1xuICB5QXhpc0xhYmVscz86IHN0cmluZ1tdO1xuICB5TGFiZWxQb3NpdGlvbj86IG51bWJlcjtcbiAgc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHM6IGJvb2xlYW47XG4gIGxhYmVsU3R5bGU/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzO1xuICBzaG93TGFiZWxzPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBCYXJHcm91cCh7XG4gIGRhdGEsXG4gIGtleXMsXG4gIGhlaWdodCxcbiAgeEtleSxcbiAgeFNjYWxlRGF0YVR5cGUsXG4gIHhTY2FsZSxcbiAgaW5uZXJYU2NhbGUsXG4gIHlTY2FsZSxcbiAgb25DbGljayxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG4gIGJhcnMsXG4gIGVuYWJsZUhvdmVyLFxuICB5QXhpc0xhYmVscyxcbiAgeUxhYmVsUG9zaXRpb24sXG4gIHNob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzLFxuICBsYWJlbFN0eWxlLFxuICBzaG93TGFiZWxzLFxufTogQmFyR3JvdXBQcm9wcykge1xuICBjb25zdCBnZXRHcm91cFBvc2l0aW9uID0gKGQ6IERhdHVtT2JqZWN0KSA9PiB7XG4gICAgY29uc3QgeFZhbHVlID0gZFt4S2V5IGFzIGtleW9mIHR5cGVvZiBkXTtcblxuICAgIGlmICh4U2NhbGVEYXRhVHlwZSA9PT0gJ3N0cmluZycpIHJldHVybiBTdHJpbmcoeFZhbHVlKTtcblxuICAgIGlmICh4U2NhbGVEYXRhVHlwZSA9PT0gJ2RhdGVfdGltZScpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZShTdHJpbmcoeFZhbHVlKSk7XG4gICAgfVxuXG4gICAgaWYgKHhTY2FsZURhdGFUeXBlID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIE51bWJlcih4VmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiBTdHJpbmcoeFZhbHVlKTtcbiAgfTtcblxuICBjb25zdCB7IG1pblZhbHVlLCBtYXhWYWx1ZSwgdG90YWxJdGVtcyB9ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgYWxsQmFyVmFsdWVzID0gZ2V0QWxsQ2hhcnRWYWx1ZXMoZGF0YSwga2V5cyk7XG4gICAgY29uc3QgeyBtaW5WYWx1ZSwgbWF4VmFsdWUgfSA9IGdldE1pbk1heENoYXJ0VmFsdWVGcm9tTnVtYmVyQXJyYXkoYWxsQmFyVmFsdWVzKTtcblxuICAgIHJldHVybiB7XG4gICAgICBtaW5WYWx1ZSxcbiAgICAgIG1heFZhbHVlLFxuICAgICAgdG90YWxJdGVtczogYWxsQmFyVmFsdWVzLmxlbmd0aCxcbiAgICB9O1xuICB9LCBbZGF0YSwga2V5c10pO1xuXG4gIHJldHVybiAoXG4gICAgPFZpc3hCYXJHcm91cDxEYXR1bU9iamVjdD5cbiAgICAgIGRhdGE9e2RhdGEgYXMgRGF0dW1PYmplY3RbXX1cbiAgICAgIGtleXM9e2tleXN9XG4gICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgIHgwPXtnZXRHcm91cFBvc2l0aW9ufVxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgeDBTY2FsZT17eFNjYWxlfVxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgeDFTY2FsZT17aW5uZXJYU2NhbGV9XG4gICAgICB5U2NhbGU9e3lTY2FsZX1cbiAgICAgIGNvbG9yPXsoKSA9PiAnJ31cbiAgICA+XG4gICAgICB7KGJhckdyb3VwcykgPT4ge1xuICAgICAgICByZXR1cm4gYmFyR3JvdXBzLm1hcCgoYmFyR3JvdXApID0+IChcbiAgICAgICAgICA8R3JvdXAga2V5PXtgYmFyLWdyb3VwLSR7YmFyR3JvdXAuaW5kZXh9LSR7YmFyR3JvdXAueDB9YH0gbGVmdD17YmFyR3JvdXAueDB9PlxuICAgICAgICAgICAge2Jhckdyb3VwLmJhcnMubWFwKChiYXIpID0+IChcbiAgICAgICAgICAgICAgPEJhclxuICAgICAgICAgICAgICAgIGtleT17YGJhci0ke2Jhci5pbmRleH0tJHtiYXIueH1gfVxuICAgICAgICAgICAgICAgIGJhcj17YmFyfVxuICAgICAgICAgICAgICAgIGJhckdyb3VwPXtiYXJHcm91cH1cbiAgICAgICAgICAgICAgICBiYXJzPXtiYXJzfVxuICAgICAgICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzPXtjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICAgICAgICBlbmFibGVIb3Zlcj17ZW5hYmxlSG92ZXJ9XG4gICAgICAgICAgICAgICAgbGFiZWxTdHlsZT17bGFiZWxTdHlsZX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICAgICAgICAgIHNob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzPXtzaG93RGV0YWlsZWRTdWJHcm91cGluZ0xhYmVsc31cbiAgICAgICAgICAgICAgICB5QXhpc0xhYmVscz17eUF4aXNMYWJlbHN9XG4gICAgICAgICAgICAgICAgeUxhYmVsUG9zaXRpb249e3lMYWJlbFBvc2l0aW9ufVxuICAgICAgICAgICAgICAgIG1pblZhbHVlPXttaW5WYWx1ZX1cbiAgICAgICAgICAgICAgICBtYXhWYWx1ZT17bWF4VmFsdWV9XG4gICAgICAgICAgICAgICAgdG90YWxJdGVtcz17dG90YWxJdGVtc31cbiAgICAgICAgICAgICAgICBzaG93TGFiZWxzPXtzaG93TGFiZWxzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9Hcm91cD5cbiAgICAgICAgKSk7XG4gICAgICB9fVxuICAgIDwvVmlzeEJhckdyb3VwPlxuICApO1xufVxuXG50eXBlIEJhclByb3BzID0ge1xuICBiYXI6IGFueTtcbiAgYmFyR3JvdXA6IGFueTtcbiAgYmFyczogU2hhcGVEZWZpbml0aW9uPEJhclN0eWxlcz5bXTtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVbXTtcbiAgZW5hYmxlSG92ZXI/OiBib29sZWFuO1xuICBvbkNsaWNrOiAoZTogUmVhY3QuTW91c2VFdmVudDxTVkdSZWN0RWxlbWVudCwgTW91c2VFdmVudD4sIGJhckdyb3VwOiBhbnksIGJhcjogYW55KSA9PiB2b2lkO1xuICBzaG93RGV0YWlsZWRTdWJHcm91cGluZ0xhYmVsczogYm9vbGVhbjtcbiAgbGFiZWxTdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXM7XG4gIHlBeGlzTGFiZWxzPzogc3RyaW5nW107XG4gIHlMYWJlbFBvc2l0aW9uPzogbnVtYmVyO1xuICBtaW5WYWx1ZTogbnVtYmVyO1xuICBtYXhWYWx1ZTogbnVtYmVyO1xuICB0b3RhbEl0ZW1zOiBudW1iZXI7XG4gIHNob3dMYWJlbHM/OiBib29sZWFuO1xufTtcblxuY29uc3QgQmFyID0gKHtcbiAgYmFyLFxuICBiYXJHcm91cCxcbiAgYmFycyxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG4gIGVuYWJsZUhvdmVyLFxuICBsYWJlbFN0eWxlLFxuICBvbkNsaWNrLFxuICBzaG93RGV0YWlsZWRTdWJHcm91cGluZ0xhYmVscyxcbiAgeUF4aXNMYWJlbHMsXG4gIHlMYWJlbFBvc2l0aW9uLFxuICBtaW5WYWx1ZSxcbiAgbWF4VmFsdWUsXG4gIHRvdGFsSXRlbXMsXG4gIHNob3dMYWJlbHMsXG59OiBCYXJQcm9wcykgPT4ge1xuICBjb25zdCBzaG93QmFyID0gYmFyLnZhbHVlICE9PSBudWxsICYmIGJhci5oZWlnaHQgPiAwICYmIGJhci53aWR0aCA+IDA7XG5cbiAgY29uc3QgbGFiZWxYID0gYmFyLndpZHRoIDwgMTAgPyBiYXIueCAtIDE0IDogYmFyLnggLyAyO1xuICBjb25zdCBsYWJlbFkgPSBiYXIueSAtIDQ7XG5cbiAgY29uc3Qgc2hvd01pbk1heCA9IHNob3dNaW5NYXhMYWJlbChiYXIudmFsdWUsIHRvdGFsSXRlbXMsIG1pblZhbHVlLCBtYXhWYWx1ZSk7XG5cbiAgcmV0dXJuIChcbiAgICA8RnJhZ21lbnQ+XG4gICAgICB7c2hvd0JhciAmJiAoXG4gICAgICAgIDxCYXJSZWN0XG4gICAgICAgICAgYmFyUmVjdEtleT17YGJhci1ncm91cC1iYXItJHtiYXJHcm91cC5pbmRleH0tJHtiYXIuaW5kZXh9LSR7YmFyLnZhbHVlfS0ke1N0cmluZyhiYXIua2V5KX1gfVxuICAgICAgICAgIHg9e2Jhci54fVxuICAgICAgICAgIHk9e2Jhci55fVxuICAgICAgICAgIHdpZHRoPXtiYXIud2lkdGh9XG4gICAgICAgICAgaGVpZ2h0PXtiYXIuaGVpZ2h0fVxuICAgICAgICAgIGZpbGw9e2dldEJhckZpbGwoYmFycywgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsIFN0cmluZyhiYXIua2V5KSwgYmFyLnZhbHVlKX1cbiAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4gb25DbGljayhlLCBiYXJHcm91cCwgYmFyKX1cbiAgICAgICAgICBlbmFibGVIb3Zlcj17ZW5hYmxlSG92ZXJ9XG4gICAgICAgIC8+XG4gICAgICApfVxuXG4gICAgICB7c2hvd0xhYmVscyAmJiBzaG93TWluTWF4ICYmIDxEYXRhTGFiZWwgeD17bGFiZWxYfSB5PXtsYWJlbFl9IHRpdGxlPXtiYXIudmFsdWV9IGR4PXsxfSBkeT17MH0gLz59XG5cbiAgICAgIDxCYXJMYWJlbFxuICAgICAgICBiYXI9e2Jhcn1cbiAgICAgICAgYmFyR3JvdXA9e2Jhckdyb3VwfVxuICAgICAgICB5TGFiZWxQb3NpdGlvbj17eUxhYmVsUG9zaXRpb259XG4gICAgICAgIHlBeGlzTGFiZWxzPXt5QXhpc0xhYmVsc31cbiAgICAgICAgc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHM9e3Nob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzfVxuICAgICAgICBsYWJlbFN0eWxlPXtsYWJlbFN0eWxlfVxuICAgICAgLz5cbiAgICA8L0ZyYWdtZW50PlxuICApO1xufTtcblxudHlwZSBCYXJSZWN0UHJvcHMgPSB7XG4gIG9uQ2xpY2s6IChlOiBSZWFjdC5Nb3VzZUV2ZW50PFNWR1JlY3RFbGVtZW50LCBNb3VzZUV2ZW50PikgPT4gdm9pZDtcbiAgZmlsbD86IHN0cmluZztcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xuICBiYXJSZWN0S2V5OiBzdHJpbmc7XG4gIGVuYWJsZUhvdmVyPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEJhclJlY3QgPSAoeyBvbkNsaWNrLCBmaWxsLCB4LCB5LCB3aWR0aCwgaGVpZ2h0LCBiYXJSZWN0S2V5LCBlbmFibGVIb3ZlciB9OiBCYXJSZWN0UHJvcHMpID0+IHtcbiAgY29uc3QgW2ZpbGxDb2xvciwgc2V0RmlsbENvbG9yXSA9IHVzZVN0YXRlKGZpbGwpO1xuXG4gIGNvbnN0IGNsYXNzZXMgPSBlbmFibGVIb3ZlciA/IGNzcyh7IGN1cnNvcjogJ3BvaW50ZXInIH0pIDogJyc7XG5cbiAgY29uc3QgaGFuZGxlT25Nb3VzZUVudGVyID0gKCkgPT4ge1xuICAgIGlmIChlbmFibGVIb3Zlcikge1xuICAgICAgc2V0RmlsbENvbG9yKGxpZ2h0ZW5Db2xvcihmaWxsLCAwLjgpKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlT25Nb3VzZUxlYXZlID0gKCkgPT4ge1xuICAgIGlmIChlbmFibGVIb3Zlcikge1xuICAgICAgc2V0RmlsbENvbG9yKGZpbGwpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxyZWN0XG4gICAgICBrZXk9e2JhclJlY3RLZXl9XG4gICAgICB4PXt4fVxuICAgICAgeT17eX1cbiAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgZmlsbD17ZmlsbENvbG9yfVxuICAgICAgcng9e0JBUl9SQURJVVN9XG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtoYW5kbGVPbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e2hhbmRsZU9uTW91c2VMZWF2ZX1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlc31cbiAgICAvPlxuICApO1xufTtcblxudHlwZSBCYXJMYWJlbFByb3BzID0ge1xuICBiYXI6IGFueTtcbiAgYmFyR3JvdXA6IGFueTtcbiAgeUxhYmVsUG9zaXRpb24/OiBudW1iZXI7XG4gIHlBeGlzTGFiZWxzPzogc3RyaW5nW107XG4gIHNob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzOiBib29sZWFuO1xuICBsYWJlbFN0eWxlPzogUmVhY3QuQ1NTUHJvcGVydGllcztcbn07XG5cbmNvbnN0IEJhckxhYmVsID0gKHtcbiAgYmFyLFxuICBiYXJHcm91cCxcbiAgeUxhYmVsUG9zaXRpb24sXG4gIHlBeGlzTGFiZWxzLFxuICBzaG93RGV0YWlsZWRTdWJHcm91cGluZ0xhYmVscyxcbiAgbGFiZWxTdHlsZSxcbn06IEJhckxhYmVsUHJvcHMpID0+IHtcbiAgaWYgKCFzaG93RGV0YWlsZWRTdWJHcm91cGluZ0xhYmVscyB8fCAheUxhYmVsUG9zaXRpb24gfHwgIXlBeGlzTGFiZWxzKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCBsYWJlbCA9IHlBeGlzTGFiZWxzW2Jhci5pbmRleF07XG4gIGNvbnN0IGNvbHVtbkxhYmVsID0gbGFiZWwuc3BsaXQoJ+KAoicpWzBdO1xuXG4gIGxldCBmb3JtYXR0ZWRDb2x1bW5MYWJlbDogc3RyaW5nO1xuICBpZiAoY29sdW1uTGFiZWwubGVuZ3RoID49IDEzKSB7XG4gICAgZm9ybWF0dGVkQ29sdW1uTGFiZWwgPSBjb2x1bW5MYWJlbC5zbGljZSgwLCAxMCkgKyAnLi4uJztcbiAgfSBlbHNlIHtcbiAgICBmb3JtYXR0ZWRDb2x1bW5MYWJlbCA9IGNvbHVtbkxhYmVsLnNsaWNlKDAsIDEzKTtcbiAgfVxuXG4gIGNvbnN0IGxhYmVsWEdhcCA9IDQ7XG4gIGNvbnN0IGxhYmVsWFBvc2l0aW9uID0gYmFyLnggKyBiYXIud2lkdGggLyAyICsgbGFiZWxYR2FwO1xuXG4gIGNvbnN0IGxhYmVsWUdhcCA9IDE1O1xuICBjb25zdCBsYWJlbFlQb3NpdGlvbiA9IHlMYWJlbFBvc2l0aW9uICsgbGFiZWxZR2FwO1xuXG4gIGNvbnN0IGxhYmVsS2V5ID0gYGxhYmVsLSR7YmFyR3JvdXAuaW5kZXh9LSR7YmFyLmluZGV4fS0ke2xhYmVsfWA7XG5cbiAgcmV0dXJuIChcbiAgICA8dGV4dFxuICAgICAga2V5PXtsYWJlbEtleX1cbiAgICAgIHg9e2xhYmVsWFBvc2l0aW9ufVxuICAgICAgeT17bGFiZWxZUG9zaXRpb259XG4gICAgICBzdHlsZT17bGFiZWxTdHlsZX1cbiAgICAgIHRyYW5zZm9ybT17YHJvdGF0ZSgtNzAsICR7bGFiZWxYUG9zaXRpb259LCAke2xhYmVsWVBvc2l0aW9ufSlgfVxuICAgICAgdGV4dEFuY2hvcj1cImVuZFwiXG4gICAgPlxuICAgICAge2Zvcm1hdHRlZENvbHVtbkxhYmVsfVxuICAgIDwvdGV4dD5cbiAgKTtcbn07XG4iXX0= */",
45035
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJhckdyb3VwLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrT2dDIiwiZmlsZSI6IkJhckdyb3VwLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJ0B2aXN4L2dyb3VwJztcbmltcG9ydCB7IEJhckdyb3VwIGFzIFZpc3hCYXJHcm91cCB9IGZyb20gJ0B2aXN4L3NoYXBlJztcbmltcG9ydCB7IERhdHVtT2JqZWN0IH0gZnJvbSAnQHZpc3gvc2hhcGUvbGliL3R5cGVzJztcbmltcG9ydCB7IFNjYWxlQmFuZCwgU2NhbGVMaW5lYXIgfSBmcm9tICdAdmlzeC92ZW5kb3IvZDMtc2NhbGUnO1xuaW1wb3J0IHsgRnJhZ21lbnQsIHVzZVN0YXRlLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IENoYXJ0RGF0YURlZmluaXRpb24sIENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGUsIFNoYXBlRGVmaW5pdGlvbiB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0ZpZWxkL3R5cGVzJztcbmltcG9ydCB7IGxpZ2h0ZW5Db2xvciB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb2xvci5mdW5jdGlvbnMnO1xuaW1wb3J0IHsgQkFSX1JBRElVUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9CT1JERVJfUkFESVVTJztcbmltcG9ydCB7IGdldEJhckZpbGwgfSBmcm9tICcuLi9nZXRCYXJGaWxsJztcbmltcG9ydCB7IERhdGFMYWJlbCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvRGF0YUxhYmVsJztcbmltcG9ydCB7XG4gIHNob3dNaW5NYXhMYWJlbCxcbiAgZ2V0TWluTWF4Q2hhcnRWYWx1ZUZyb21OdW1iZXJBcnJheSxcbiAgZ2V0QWxsQ2hhcnRWYWx1ZXMsXG4gIGdldExhYmVsRGljdGlvbmFyeSxcbiAgZ2V0Rm9ybWF0dGVkVmFsdWUsXG59IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvRGF0YUxhYmVsL2luZGV4JztcblxuZXhwb3J0IHR5cGUgQmFyR3JvdXBQcm9wcyA9IHtcbiAgZGF0YTogQ2hhcnREYXRhRGVmaW5pdGlvbltdO1xuICBrZXlzOiBzdHJpbmdbXTtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHhLZXk6IHN0cmluZztcbiAgeFNjYWxlRGF0YVR5cGU6IERhdGFUeXBlO1xuICB4U2NhbGU6IFNjYWxlQmFuZDxzdHJpbmc+IHwgU2NhbGVCYW5kPERhdGU+IHwgU2NhbGVCYW5kPG51bWJlcj4gfCBudWxsO1xuICBpbm5lclhTY2FsZTogU2NhbGVCYW5kPHN0cmluZz4gfCB1bmRlZmluZWQ7XG4gIHlTY2FsZTogU2NhbGVMaW5lYXI8bnVtYmVyLCBudW1iZXIsIG5ldmVyPjtcbiAgb25DbGljazogKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8U1ZHUmVjdEVsZW1lbnQsIE1vdXNlRXZlbnQ+LCBiYXJHcm91cDogYW55LCBiYXI6IGFueSkgPT4gdm9pZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVbXTtcbiAgYmFyczogU2hhcGVEZWZpbml0aW9uPEJhclN0eWxlcz5bXTtcbiAgZW5hYmxlSG92ZXI/OiBib29sZWFuO1xuICB5QXhpc0xhYmVscz86IHN0cmluZ1tdO1xuICB5TGFiZWxQb3NpdGlvbj86IG51bWJlcjtcbiAgc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHM6IGJvb2xlYW47XG4gIGxhYmVsU3R5bGU/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzO1xuICBzaG93TGFiZWxzPzogYm9vbGVhbjtcbiAgZm9ybWF0dGVkRGF0YT86IENoYXJ0RGF0YURlZmluaXRpb25bXTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBCYXJHcm91cCh7XG4gIGRhdGEsXG4gIGtleXMsXG4gIGhlaWdodCxcbiAgeEtleSxcbiAgeFNjYWxlRGF0YVR5cGUsXG4gIHhTY2FsZSxcbiAgaW5uZXJYU2NhbGUsXG4gIHlTY2FsZSxcbiAgb25DbGljayxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG4gIGJhcnMsXG4gIGVuYWJsZUhvdmVyLFxuICB5QXhpc0xhYmVscyxcbiAgeUxhYmVsUG9zaXRpb24sXG4gIHNob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzLFxuICBsYWJlbFN0eWxlLFxuICBzaG93TGFiZWxzLFxuICBmb3JtYXR0ZWREYXRhLFxufTogQmFyR3JvdXBQcm9wcykge1xuICBjb25zdCBnZXRHcm91cFBvc2l0aW9uID0gKGQ6IERhdHVtT2JqZWN0KSA9PiB7XG4gICAgY29uc3QgeFZhbHVlID0gZFt4S2V5IGFzIGtleW9mIHR5cGVvZiBkXTtcblxuICAgIGlmICh4U2NhbGVEYXRhVHlwZSA9PT0gJ3N0cmluZycpIHJldHVybiBTdHJpbmcoeFZhbHVlKTtcblxuICAgIGlmICh4U2NhbGVEYXRhVHlwZSA9PT0gJ2RhdGVfdGltZScpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZShTdHJpbmcoeFZhbHVlKSk7XG4gICAgfVxuXG4gICAgaWYgKHhTY2FsZURhdGFUeXBlID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIE51bWJlcih4VmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiBTdHJpbmcoeFZhbHVlKTtcbiAgfTtcblxuICBjb25zdCBmb3JtYXR0ZWRMYWJlbHNEaWN0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGdldExhYmVsRGljdGlvbmFyeShmb3JtYXR0ZWREYXRhLCBrZXlzKTtcbiAgfSwgW2Zvcm1hdHRlZERhdGEsIGtleXNdKTtcblxuICBjb25zdCB7IG1pblZhbHVlLCBtYXhWYWx1ZSwgdG90YWxJdGVtcyB9ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgYWxsQmFyVmFsdWVzID0gZ2V0QWxsQ2hhcnRWYWx1ZXMoZGF0YSwga2V5cyk7XG4gICAgY29uc3QgeyBtaW5WYWx1ZSwgbWF4VmFsdWUgfSA9IGdldE1pbk1heENoYXJ0VmFsdWVGcm9tTnVtYmVyQXJyYXkoYWxsQmFyVmFsdWVzKTtcblxuICAgIHJldHVybiB7XG4gICAgICBtaW5WYWx1ZSxcbiAgICAgIG1heFZhbHVlLFxuICAgICAgdG90YWxJdGVtczogYWxsQmFyVmFsdWVzLmxlbmd0aCxcbiAgICB9O1xuICB9LCBbZGF0YSwga2V5c10pO1xuICByZXR1cm4gKFxuICAgIDxWaXN4QmFyR3JvdXA8RGF0dW1PYmplY3Q+XG4gICAgICBkYXRhPXtkYXRhIGFzIERhdHVtT2JqZWN0W119XG4gICAgICBrZXlzPXtrZXlzfVxuICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICB4MD17Z2V0R3JvdXBQb3NpdGlvbn1cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHgwU2NhbGU9e3hTY2FsZX1cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHgxU2NhbGU9e2lubmVyWFNjYWxlfVxuICAgICAgeVNjYWxlPXt5U2NhbGV9XG4gICAgICBjb2xvcj17KCkgPT4gJyd9XG4gICAgPlxuICAgICAgeyhiYXJHcm91cHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGJhckdyb3Vwcy5tYXAoKGJhckdyb3VwKSA9PiAoXG4gICAgICAgICAgPEdyb3VwIGtleT17YGJhci1ncm91cC0ke2Jhckdyb3VwLmluZGV4fS0ke2Jhckdyb3VwLngwfWB9IGxlZnQ9e2Jhckdyb3VwLngwfT5cbiAgICAgICAgICAgIHtiYXJHcm91cC5iYXJzLm1hcCgoYmFyKSA9PiAoXG4gICAgICAgICAgICAgIDxCYXJcbiAgICAgICAgICAgICAgICBrZXk9e2BiYXItJHtiYXIuaW5kZXh9LSR7YmFyLnh9YH1cbiAgICAgICAgICAgICAgICBiYXI9e2Jhcn1cbiAgICAgICAgICAgICAgICBiYXJHcm91cD17YmFyR3JvdXB9XG4gICAgICAgICAgICAgICAgYmFycz17YmFyc31cbiAgICAgICAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcz17Y29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXN9XG4gICAgICAgICAgICAgICAgZW5hYmxlSG92ZXI9e2VuYWJsZUhvdmVyfVxuICAgICAgICAgICAgICAgIGxhYmVsU3R5bGU9e2xhYmVsU3R5bGV9XG4gICAgICAgICAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgICAgICAgICBzaG93RGV0YWlsZWRTdWJHcm91cGluZ0xhYmVscz17c2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHN9XG4gICAgICAgICAgICAgICAgeUF4aXNMYWJlbHM9e3lBeGlzTGFiZWxzfVxuICAgICAgICAgICAgICAgIHlMYWJlbFBvc2l0aW9uPXt5TGFiZWxQb3NpdGlvbn1cbiAgICAgICAgICAgICAgICBtaW5WYWx1ZT17bWluVmFsdWV9XG4gICAgICAgICAgICAgICAgbWF4VmFsdWU9e21heFZhbHVlfVxuICAgICAgICAgICAgICAgIHRvdGFsSXRlbXM9e3RvdGFsSXRlbXN9XG4gICAgICAgICAgICAgICAgc2hvd0xhYmVscz17c2hvd0xhYmVsc31cbiAgICAgICAgICAgICAgICBsYWJlbERpY3Rpb25hcnk9e2Zvcm1hdHRlZExhYmVsc0RpY3R9XG4gICAgICAgICAgICAgICAgeVNjYWxlPXt5U2NhbGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L0dyb3VwPlxuICAgICAgICApKTtcbiAgICAgIH19XG4gICAgPC9WaXN4QmFyR3JvdXA+XG4gICk7XG59XG5cbnR5cGUgQmFyUHJvcHMgPSB7XG4gIGJhcjogYW55O1xuICBiYXJHcm91cDogYW55O1xuICBiYXJzOiBTaGFwZURlZmluaXRpb248QmFyU3R5bGVzPltdO1xuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZVtdO1xuICBlbmFibGVIb3Zlcj86IGJvb2xlYW47XG4gIG9uQ2xpY2s6IChlOiBSZWFjdC5Nb3VzZUV2ZW50PFNWR1JlY3RFbGVtZW50LCBNb3VzZUV2ZW50PiwgYmFyR3JvdXA6IGFueSwgYmFyOiBhbnkpID0+IHZvaWQ7XG4gIHNob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzOiBib29sZWFuO1xuICBsYWJlbFN0eWxlPzogUmVhY3QuQ1NTUHJvcGVydGllcztcbiAgeUF4aXNMYWJlbHM/OiBzdHJpbmdbXTtcbiAgeUxhYmVsUG9zaXRpb24/OiBudW1iZXI7XG4gIG1pblZhbHVlOiBudW1iZXI7XG4gIG1heFZhbHVlOiBudW1iZXI7XG4gIHRvdGFsSXRlbXM6IG51bWJlcjtcbiAgc2hvd0xhYmVscz86IGJvb2xlYW47XG4gIGxhYmVsRGljdGlvbmFyeT86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIHlTY2FsZTogU2NhbGVMaW5lYXI8bnVtYmVyLCBudW1iZXIsIG5ldmVyPjtcbn07XG5cbmNvbnN0IEJhciA9ICh7XG4gIGJhcixcbiAgYmFyR3JvdXAsXG4gIGJhcnMsXG4gIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLFxuICBlbmFibGVIb3ZlcixcbiAgbGFiZWxTdHlsZSxcbiAgb25DbGljayxcbiAgc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHMsXG4gIHlBeGlzTGFiZWxzLFxuICB5TGFiZWxQb3NpdGlvbixcbiAgbWluVmFsdWUsXG4gIG1heFZhbHVlLFxuICB0b3RhbEl0ZW1zLFxuICBzaG93TGFiZWxzLFxuICBsYWJlbERpY3Rpb25hcnksXG4gIHlTY2FsZSxcbn06IEJhclByb3BzKSA9PiB7XG4gIGNvbnN0IHNob3dCYXIgPSBiYXIudmFsdWUgIT09IG51bGwgJiYgYmFyLmhlaWdodCA+IDAgJiYgYmFyLndpZHRoID4gMDtcbiAgY29uc3QgeFBhZGRpbmcgPSAxNDtcbiAgY29uc3QgeVBhZGRpbmcgPSA4O1xuICBjb25zdCBsYWJlbFggPSBiYXIueCAtIHhQYWRkaW5nO1xuICBjb25zdCBiYXJUb3BZID0geVNjYWxlKGJhci52YWx1ZSk7XG4gIGNvbnN0IGxhYmVsWSA9IGJhclRvcFkgLSB5UGFkZGluZztcblxuICBjb25zdCBzaG93TWluTWF4ID0gc2hvd01pbk1heExhYmVsKGJhci52YWx1ZSwgdG90YWxJdGVtcywgbWluVmFsdWUsIG1heFZhbHVlKTtcblxuICBjb25zdCBkaXNwbGF5VmFsdWUgPSBnZXRGb3JtYXR0ZWRWYWx1ZShiYXIudmFsdWUsIGxhYmVsRGljdGlvbmFyeSk7XG4gIHJldHVybiAoXG4gICAgPEZyYWdtZW50PlxuICAgICAge3Nob3dCYXIgJiYgKFxuICAgICAgICA8QmFyUmVjdFxuICAgICAgICAgIGJhclJlY3RLZXk9e2BiYXItZ3JvdXAtYmFyLSR7YmFyR3JvdXAuaW5kZXh9LSR7YmFyLmluZGV4fS0ke2Jhci52YWx1ZX0tJHtTdHJpbmcoYmFyLmtleSl9YH1cbiAgICAgICAgICB4PXtiYXIueH1cbiAgICAgICAgICB5PXtiYXIueX1cbiAgICAgICAgICB3aWR0aD17YmFyLndpZHRofVxuICAgICAgICAgIGhlaWdodD17YmFyLmhlaWdodH1cbiAgICAgICAgICBmaWxsPXtnZXRCYXJGaWxsKGJhcnMsIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLCBTdHJpbmcoYmFyLmtleSksIGJhci52YWx1ZSl9XG4gICAgICAgICAgb25DbGljaz17KGUpID0+IG9uQ2xpY2soZSwgYmFyR3JvdXAsIGJhcil9XG4gICAgICAgICAgZW5hYmxlSG92ZXI9e2VuYWJsZUhvdmVyfVxuICAgICAgICAvPlxuICAgICAgKX1cblxuICAgICAge3Nob3dMYWJlbHMgJiYgc2hvd01pbk1heCAmJiA8RGF0YUxhYmVsIHg9e2xhYmVsWH0geT17bGFiZWxZfSB0aXRsZT17ZGlzcGxheVZhbHVlfSBkeD17MX0gZHk9ezB9IC8+fVxuXG4gICAgICA8QmFyTGFiZWxcbiAgICAgICAgYmFyPXtiYXJ9XG4gICAgICAgIGJhckdyb3VwPXtiYXJHcm91cH1cbiAgICAgICAgeUxhYmVsUG9zaXRpb249e3lMYWJlbFBvc2l0aW9ufVxuICAgICAgICB5QXhpc0xhYmVscz17eUF4aXNMYWJlbHN9XG4gICAgICAgIHNob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzPXtzaG93RGV0YWlsZWRTdWJHcm91cGluZ0xhYmVsc31cbiAgICAgICAgbGFiZWxTdHlsZT17bGFiZWxTdHlsZX1cbiAgICAgIC8+XG4gICAgPC9GcmFnbWVudD5cbiAgKTtcbn07XG5cbnR5cGUgQmFyUmVjdFByb3BzID0ge1xuICBvbkNsaWNrOiAoZTogUmVhY3QuTW91c2VFdmVudDxTVkdSZWN0RWxlbWVudCwgTW91c2VFdmVudD4pID0+IHZvaWQ7XG4gIGZpbGw/OiBzdHJpbmc7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgYmFyUmVjdEtleTogc3RyaW5nO1xuICBlbmFibGVIb3Zlcj86IGJvb2xlYW47XG59O1xuXG5jb25zdCBCYXJSZWN0ID0gKHsgb25DbGljaywgZmlsbCwgeCwgeSwgd2lkdGgsIGhlaWdodCwgYmFyUmVjdEtleSwgZW5hYmxlSG92ZXIgfTogQmFyUmVjdFByb3BzKSA9PiB7XG4gIGNvbnN0IFtmaWxsQ29sb3IsIHNldEZpbGxDb2xvcl0gPSB1c2VTdGF0ZShmaWxsKTtcblxuICBjb25zdCBjbGFzc2VzID0gZW5hYmxlSG92ZXIgPyBjc3MoeyBjdXJzb3I6ICdwb2ludGVyJyB9KSA6ICcnO1xuXG4gIGNvbnN0IGhhbmRsZU9uTW91c2VFbnRlciA9ICgpID0+IHtcbiAgICBpZiAoZW5hYmxlSG92ZXIpIHtcbiAgICAgIHNldEZpbGxDb2xvcihsaWdodGVuQ29sb3IoZmlsbCwgMC44KSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZU9uTW91c2VMZWF2ZSA9ICgpID0+IHtcbiAgICBpZiAoZW5hYmxlSG92ZXIpIHtcbiAgICAgIHNldEZpbGxDb2xvcihmaWxsKTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8cmVjdFxuICAgICAga2V5PXtiYXJSZWN0S2V5fVxuICAgICAgeD17eH1cbiAgICAgIHk9e3l9XG4gICAgICB3aWR0aD17d2lkdGh9XG4gICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgIGZpbGw9e2ZpbGxDb2xvcn1cbiAgICAgIHJ4PXtCQVJfUkFESVVTfVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIG9uTW91c2VFbnRlcj17aGFuZGxlT25Nb3VzZUVudGVyfVxuICAgICAgb25Nb3VzZUxlYXZlPXtoYW5kbGVPbk1vdXNlTGVhdmV9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzZXN9XG4gICAgLz5cbiAgKTtcbn07XG5cbnR5cGUgQmFyTGFiZWxQcm9wcyA9IHtcbiAgYmFyOiBhbnk7XG4gIGJhckdyb3VwOiBhbnk7XG4gIHlMYWJlbFBvc2l0aW9uPzogbnVtYmVyO1xuICB5QXhpc0xhYmVscz86IHN0cmluZ1tdO1xuICBzaG93RGV0YWlsZWRTdWJHcm91cGluZ0xhYmVsczogYm9vbGVhbjtcbiAgbGFiZWxTdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXM7XG59O1xuXG5jb25zdCBCYXJMYWJlbCA9ICh7XG4gIGJhcixcbiAgYmFyR3JvdXAsXG4gIHlMYWJlbFBvc2l0aW9uLFxuICB5QXhpc0xhYmVscyxcbiAgc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHMsXG4gIGxhYmVsU3R5bGUsXG59OiBCYXJMYWJlbFByb3BzKSA9PiB7XG4gIGlmICghc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHMgfHwgIXlMYWJlbFBvc2l0aW9uIHx8ICF5QXhpc0xhYmVscykgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgbGFiZWwgPSB5QXhpc0xhYmVsc1tiYXIuaW5kZXhdO1xuICBjb25zdCBjb2x1bW5MYWJlbCA9IGxhYmVsLnNwbGl0KCfigKInKVswXTtcblxuICBsZXQgZm9ybWF0dGVkQ29sdW1uTGFiZWw6IHN0cmluZztcbiAgaWYgKGNvbHVtbkxhYmVsLmxlbmd0aCA+PSAxMykge1xuICAgIGZvcm1hdHRlZENvbHVtbkxhYmVsID0gY29sdW1uTGFiZWwuc2xpY2UoMCwgMTApICsgJy4uLic7XG4gIH0gZWxzZSB7XG4gICAgZm9ybWF0dGVkQ29sdW1uTGFiZWwgPSBjb2x1bW5MYWJlbC5zbGljZSgwLCAxMyk7XG4gIH1cblxuICBjb25zdCBsYWJlbFhHYXAgPSA0O1xuICBjb25zdCBsYWJlbFhQb3NpdGlvbiA9IGJhci54ICsgYmFyLndpZHRoIC8gMiArIGxhYmVsWEdhcDtcblxuICBjb25zdCBsYWJlbFlHYXAgPSAxNTtcbiAgY29uc3QgbGFiZWxZUG9zaXRpb24gPSB5TGFiZWxQb3NpdGlvbiArIGxhYmVsWUdhcDtcblxuICBjb25zdCBsYWJlbEtleSA9IGBsYWJlbC0ke2Jhckdyb3VwLmluZGV4fS0ke2Jhci5pbmRleH0tJHtsYWJlbH1gO1xuXG4gIHJldHVybiAoXG4gICAgPHRleHRcbiAgICAgIGtleT17bGFiZWxLZXl9XG4gICAgICB4PXtsYWJlbFhQb3NpdGlvbn1cbiAgICAgIHk9e2xhYmVsWVBvc2l0aW9ufVxuICAgICAgc3R5bGU9e2xhYmVsU3R5bGV9XG4gICAgICB0cmFuc2Zvcm09e2Byb3RhdGUoLTcwLCAke2xhYmVsWFBvc2l0aW9ufSwgJHtsYWJlbFlQb3NpdGlvbn0pYH1cbiAgICAgIHRleHRBbmNob3I9XCJlbmRcIlxuICAgID5cbiAgICAgIHtmb3JtYXR0ZWRDb2x1bW5MYWJlbH1cbiAgICA8L3RleHQ+XG4gICk7XG59O1xuIl19 */",
44931
45036
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$9
44932
45037
  }) : '';
44933
45038
  var handleOnMouseEnter = function handleOnMouseEnter() {
@@ -45264,7 +45369,8 @@ var BarChart$5 = function BarChart(_ref) {
45264
45369
  yAxisLabels: yAxisLabels,
45265
45370
  yLabelPosition: ySubLabelPosition,
45266
45371
  labelStyle: themeCSS.labels,
45267
- showLabels: options.showLabels
45372
+ showLabels: options.showLabels,
45373
+ formattedData: chart.data
45268
45374
  }), options.stacked && xScaleKey !== null && jsx(BarStacked, {
45269
45375
  data: dataFlattened,
45270
45376
  keys: chart.y.keys,
@@ -45519,6 +45625,9 @@ var AreaChart$5 = function AreaChart(_ref) {
45519
45625
  };
45520
45626
  return curveMap[(_options$curve = options.curve) != null ? _options$curve : 'natural'];
45521
45627
  }, [options.curve]);
45628
+ var labelDictionary = useMemo(function () {
45629
+ return getLabelDictionary(chart.data, chart.y.keys);
45630
+ }, [chart.data, chart.y.keys]);
45522
45631
  if (width === 0 || height === 0 || xScale === null) return jsx(React__default.Fragment, {});
45523
45632
  var yTickValues = chart.y.ticks.map(function (tick) {
45524
45633
  return Number(tick.value);
@@ -45659,7 +45768,8 @@ var AreaChart$5 = function AreaChart(_ref) {
45659
45768
  totalItems: dataFlattened.length,
45660
45769
  minValue: minValue,
45661
45770
  maxValue: maxValue,
45662
- showLabels: options.showLabels
45771
+ showLabels: options.showLabels,
45772
+ labelDictionary: labelDictionary
45663
45773
  });
45664
45774
  })]
45665
45775
  }, yKey + "-" + AREA_GRADIENT_ID_PREFIX);
@@ -45721,7 +45831,8 @@ function AreaLabel(_ref3) {
45721
45831
  totalItems = _ref3.totalItems,
45722
45832
  minValue = _ref3.minValue,
45723
45833
  maxValue = _ref3.maxValue,
45724
- showLabels = _ref3.showLabels;
45834
+ showLabels = _ref3.showLabels,
45835
+ labelDictionary = _ref3.labelDictionary;
45725
45836
  var xValue = chartData[xScaleKey];
45726
45837
  var yValue = chartData[yKey];
45727
45838
  var xPadding = 18;
@@ -45730,12 +45841,13 @@ function AreaLabel(_ref3) {
45730
45841
  var yPosition = yScale(yValue);
45731
45842
  var showMinMax = showMinMaxLabel(Number(yValue), totalItems, minValue, maxValue);
45732
45843
  if (xPosition == null || yPosition == null || !showMinMax || !showLabels) return null;
45844
+ var displayValue = getFormattedValue(yValue, labelDictionary);
45733
45845
  return jsx(DataLabel, {
45734
45846
  x: xPosition - xPadding,
45735
45847
  y: yPosition - yPadding,
45736
45848
  dx: 2,
45737
45849
  dy: 0,
45738
- title: yValue
45850
+ title: displayValue
45739
45851
  });
45740
45852
  }
45741
45853
  function Area(_ref4) {
@@ -46024,6 +46136,58 @@ function Bubbles(_ref2) {
46024
46136
  });
46025
46137
  }
46026
46138
 
46139
+ var RadarCrosshairCircle = function RadarCrosshairCircle(_ref) {
46140
+ var tooltipData = _ref.tooltipData,
46141
+ yKeys = _ref.yKeys,
46142
+ legendItems = _ref.legendItems,
46143
+ conditionalFormattingRules = _ref.conditionalFormattingRules,
46144
+ visibleYKeys = _ref.visibleYKeys,
46145
+ radius = _ref.radius,
46146
+ yScale = _ref.yScale,
46147
+ dataPointIndex = _ref.dataPointIndex,
46148
+ totalDataPoints = _ref.totalDataPoints;
46149
+ var radiusScale = scaleLinear({
46150
+ range: [0, radius],
46151
+ domain: [0, yScale.max],
46152
+ nice: true
46153
+ });
46154
+ var step = Math.PI * 2 / totalDataPoints;
46155
+ var yKeysTest = [].concat(yKeys);
46156
+ if (yKeysTest.length > 1) {
46157
+ var lastItem = yKeysTest.pop();
46158
+ yKeysTest.unshift(lastItem);
46159
+ }
46160
+ return jsx(Fragment, {
46161
+ children: yKeysTest.map(function (yKey) {
46162
+ var _legendItems$filter$;
46163
+ if (!tooltipData[yKey] || tooltipData[yKey].value === null || !visibleYKeys.includes(yKey)) {
46164
+ return null;
46165
+ }
46166
+ var value = tooltipData[yKey].value;
46167
+ var scaledRadius = radiusScale(value);
46168
+ var angle = (dataPointIndex + 1) * step;
46169
+ var x = scaledRadius * Math.sin(angle);
46170
+ var y = scaledRadius * Math.cos(angle);
46171
+ return jsx("circle", {
46172
+ cx: x,
46173
+ cy: y,
46174
+ r: 6,
46175
+ fill: getColor({
46176
+ defaultColor: ((_legendItems$filter$ = legendItems.filter(function (legendItem) {
46177
+ return legendItem.yKey === yKey;
46178
+ })[0]) == null ? void 0 : _legendItems$filter$.color) || '#000',
46179
+ yKey: yKey,
46180
+ value: tooltipData[yKey].value,
46181
+ conditionalFormattingRules: conditionalFormattingRules
46182
+ }),
46183
+ strokeWidth: 2,
46184
+ stroke: "#fff",
46185
+ pointerEvents: "none"
46186
+ }, "radar-crosshair-" + yKey);
46187
+ })
46188
+ });
46189
+ };
46190
+
46027
46191
  var getValue = function getValue(d, key) {
46028
46192
  return d[key].value;
46029
46193
  };
@@ -46053,7 +46217,9 @@ var genPolygonPoints = function genPolygonPoints(dataArray, scale, yKey) {
46053
46217
  var Polygons = function Polygons(_ref) {
46054
46218
  var chart = _ref.chart,
46055
46219
  radius = _ref.radius,
46056
- visibleYKeys = _ref.visibleYKeys;
46220
+ visibleYKeys = _ref.visibleYKeys,
46221
+ tooltipData = _ref.tooltipData,
46222
+ hoveredDataPointIndex = _ref.hoveredDataPointIndex;
46057
46223
  var yKeys = chart.y.keys;
46058
46224
  var yScale = scaleLinear({
46059
46225
  range: [0, radius],
@@ -46066,16 +46232,26 @@ var Polygons = function Polygons(_ref) {
46066
46232
  return (_yScale = yScale(d)) != null ? _yScale : 0;
46067
46233
  }, yKey);
46068
46234
  });
46069
- return jsx(Fragment$1, {
46070
- children: polygonsPoints.map(function (polygonPoints) {
46235
+ return jsxs(Fragment$1, {
46236
+ children: [polygonsPoints.map(function (polygonPoints) {
46071
46237
  return jsx(SinglePolygon, {
46072
46238
  isVisible: visibleYKeys.includes(polygonPoints.yKey),
46073
46239
  polygonPoints: polygonPoints,
46074
46240
  colors: chart.lines.filter(function (legendItem) {
46075
46241
  return legendItem.yKey === polygonPoints.yKey;
46076
46242
  })[0].color
46077
- });
46078
- })
46243
+ }, polygonPoints.yKey);
46244
+ }), tooltipData && hoveredDataPointIndex !== undefined && hoveredDataPointIndex >= 0 && jsx(RadarCrosshairCircle, {
46245
+ tooltipData: tooltipData,
46246
+ yKeys: chart.y.keys,
46247
+ legendItems: chart.lines,
46248
+ conditionalFormattingRules: [],
46249
+ visibleYKeys: visibleYKeys,
46250
+ radius: radius,
46251
+ yScale: chart.y.scale,
46252
+ dataPointIndex: hoveredDataPointIndex,
46253
+ totalDataPoints: chart.data.length
46254
+ })]
46079
46255
  });
46080
46256
  };
46081
46257
  var SinglePolygon = function SinglePolygon(_ref2) {
@@ -46102,15 +46278,6 @@ var SinglePolygon = function SinglePolygon(_ref2) {
46102
46278
  });
46103
46279
  };
46104
46280
 
46105
- var genPoints = function genPoints(length, radius) {
46106
- var step = Math.PI * 2 / length;
46107
- return [].concat(new Array(length)).map(function (_, i) {
46108
- return {
46109
- x: radius * Math.sin(i * step),
46110
- y: radius * Math.cos(i * step)
46111
- };
46112
- });
46113
- };
46114
46281
  var MiddleLine = function MiddleLine(_ref) {
46115
46282
  var chart = _ref.chart,
46116
46283
  radius = _ref.radius,
@@ -46120,7 +46287,6 @@ var MiddleLine = function MiddleLine(_ref) {
46120
46287
  var _useState = useState([]),
46121
46288
  textWidths = _useState[0],
46122
46289
  setTextWidths = _useState[1];
46123
- var points = genPoints(chart.x.ticks.length, radius);
46124
46290
  var zeroPoint = new Point({
46125
46291
  x: 0,
46126
46292
  y: 0
@@ -46129,22 +46295,33 @@ var MiddleLine = function MiddleLine(_ref) {
46129
46295
  var _tick$formattedValue;
46130
46296
  return (_tick$formattedValue = tick.formattedValue) != null ? _tick$formattedValue : tick.value;
46131
46297
  });
46298
+ var genPoints = function genPoints(length, radius) {
46299
+ var step = Math.PI * 2 / length;
46300
+ return new Array(length).fill(0).map(function (_, i) {
46301
+ return {
46302
+ x: radius * Math.sin(i * step),
46303
+ y: radius * Math.cos(i * step)
46304
+ };
46305
+ });
46306
+ };
46132
46307
  useEffect(function () {
46133
46308
  var newWidths = textRefs.current.map(function (ref) {
46134
46309
  return ref ? ref.getComputedTextLength() : 0;
46135
46310
  });
46136
46311
  setTextWidths(newWidths);
46137
- }, [categoryValues]);
46312
+ }, []);
46313
+ var points = genPoints(chart.x.ticks.length, radius);
46138
46314
  points.push(points.shift());
46139
46315
  return jsx(Fragment$1, {
46140
- children: [].concat(new Array(chart.x.ticks.length)).map(function (_, i) {
46316
+ children: new Array(chart.x.ticks.length).fill(0).map(function (_, i) {
46141
46317
  var xOffset = points[i].x >= 0 ? textWidths[i] / 2 : -(textWidths[i] / 2);
46142
- return jsxs(Fragment$1, {
46318
+ return jsxs(React__default.Fragment, {
46143
46319
  children: [jsx(Line$1, {
46144
46320
  from: zeroPoint,
46145
46321
  to: points[i],
46146
- stroke: themeCSS.axis.stroke,
46147
- strokeDasharray: "0.5 5"
46322
+ style: _extends({
46323
+ stroke: themeCSS.axis.stroke
46324
+ }, LINE_STYLES)
46148
46325
  }, "radar-line-" + i), show && jsx("text", {
46149
46326
  ref: function ref(el) {
46150
46327
  return textRefs.current[i] = el;
@@ -46155,13 +46332,13 @@ var MiddleLine = function MiddleLine(_ref) {
46155
46332
  textAnchor: "middle",
46156
46333
  children: categoryValues[i]
46157
46334
  })]
46158
- });
46335
+ }, "middle-line-" + i);
46159
46336
  })
46160
46337
  });
46161
46338
  };
46162
46339
 
46163
46340
  var genAngles = function genAngles(length, degrees) {
46164
- return [].concat(new Array(length + 1)).map(function (_, i) {
46341
+ return new Array(length + 1).fill(0).map(function (_, i) {
46165
46342
  return {
46166
46343
  angle: i * (degrees / length) + (length % 2 === 0 ? 0 : degrees / length / 2)
46167
46344
  };
@@ -46193,9 +46370,9 @@ var Grid$1 = function Grid(_ref) {
46193
46370
  }, [chart.y.ticks]);
46194
46371
  var chartValue = (_chart$y$ticks$scaleV = chart.y.ticks[levels - 1].scaleValue) != null ? _chart$y$ticks$scaleV : chart.y.ticks[levels - 1].value;
46195
46372
  return jsx(Fragment$1, {
46196
- children: [].concat(new Array(levels)).map(function (_, i) {
46373
+ children: new Array(levels).fill(0).map(function (_, i) {
46197
46374
  var levelRadius = chart.y.ticks[i].value / chartValue * radius;
46198
- return jsxs(Fragment$1, {
46375
+ return jsxs(React__default.Fragment, {
46199
46376
  children: [jsx(LineRadial, {
46200
46377
  data: webs,
46201
46378
  angle: function angle(d) {
@@ -46206,7 +46383,7 @@ var Grid$1 = function Grid(_ref) {
46206
46383
  fill: "none",
46207
46384
  style: _extends({
46208
46385
  stroke: themeCSS.axis.stroke
46209
- }, GRID_STYLES)
46386
+ }, LINE_STYLES)
46210
46387
  }, "web-" + i), jsx("text", {
46211
46388
  x: 0,
46212
46389
  y: levelRadius,
@@ -46216,11 +46393,40 @@ var Grid$1 = function Grid(_ref) {
46216
46393
  textAnchor: "middle",
46217
46394
  children: tickFormat(chart.y.ticks[i].value)
46218
46395
  })]
46219
- });
46396
+ }, "grid-level-" + i);
46220
46397
  })
46221
46398
  });
46222
46399
  };
46223
46400
 
46401
+ var getRadarTooltipData = function getRadarTooltipData(_ref) {
46402
+ var data = _ref.data,
46403
+ event = _ref.event,
46404
+ totalDataPoints = _ref.totalDataPoints,
46405
+ centerX = _ref.centerX,
46406
+ centerY = _ref.centerY;
46407
+ var point = localPoint(event) || {
46408
+ x: 0,
46409
+ y: 0
46410
+ };
46411
+ if (!point) return;
46412
+ var mouseX = point.x - centerX;
46413
+ var mouseY = point.y - centerY;
46414
+ var mouseAngle = Math.atan2(mouseX, mouseY);
46415
+ if (mouseAngle < 0) {
46416
+ mouseAngle += 2 * Math.PI;
46417
+ }
46418
+ var step = Math.PI * 2 / totalDataPoints;
46419
+ var dataPointIndex = Math.round(mouseAngle / step) % totalDataPoints;
46420
+ dataPointIndex = (dataPointIndex - 1 + totalDataPoints) % totalDataPoints;
46421
+ var tooltipData = data[dataPointIndex] || null;
46422
+ var angle = (dataPointIndex + 1) * step;
46423
+ return {
46424
+ tooltipData: tooltipData,
46425
+ dataPointIndex: dataPointIndex,
46426
+ angle: angle
46427
+ };
46428
+ };
46429
+
46224
46430
  var WIDTH_MULTIPLIER_TO_SCROLL = 1.2;
46225
46431
  var LEGEND_PADDING = 40;
46226
46432
  var RadarChart$2 = function RadarChart(_ref) {
@@ -46229,6 +46435,15 @@ var RadarChart$2 = function RadarChart(_ref) {
46229
46435
  height = _ref.height,
46230
46436
  options = _ref.options,
46231
46437
  theme = _ref.theme;
46438
+ var _useTooltip = useTooltip$1(),
46439
+ tooltipOpen = _useTooltip.tooltipOpen,
46440
+ _useTooltip$tooltipLe = _useTooltip.tooltipLeft,
46441
+ tooltipLeft = _useTooltip$tooltipLe === void 0 ? 0 : _useTooltip$tooltipLe,
46442
+ _useTooltip$tooltipTo = _useTooltip.tooltipTop,
46443
+ tooltipTop = _useTooltip$tooltipTo === void 0 ? 0 : _useTooltip$tooltipTo,
46444
+ tooltipData = _useTooltip.tooltipData,
46445
+ hideTooltip = _useTooltip.hideTooltip,
46446
+ showTooltip = _useTooltip.showTooltip;
46232
46447
  var ref = useRef(null);
46233
46448
  var _useState = useState(0),
46234
46449
  groupWidth = _useState[0],
@@ -46238,13 +46453,17 @@ var RadarChart$2 = function RadarChart(_ref) {
46238
46453
  })),
46239
46454
  visibleYKeys = _useState2[0],
46240
46455
  setVisibleYKeys = _useState2[1];
46456
+ var _useState3 = useState(),
46457
+ hoveredDataPointIndex = _useState3[0],
46458
+ setHoveredDataPointIndex = _useState3[1];
46241
46459
  var themeCSS = useMemo(function () {
46242
- return getChartThemeCSS(theme);
46460
+ var css = getChartThemeCSS(theme);
46461
+ return css;
46243
46462
  }, [theme]);
46244
46463
  var margin = buildMargin(chart.y.ticks, options.axis.showYAxisLabels, chart.y.title != null, chart.x.title != null);
46245
46464
  var innerWidth = width - margin.left - margin.right - (options.showLegend ? LEGEND_PADDING : 0);
46246
46465
  var innerHeight = height - margin.top - margin.bottom - (options.showLegend ? LEGEND_PADDING : 0);
46247
- var radius = Math.min(innerWidth, innerHeight) / 2;
46466
+ var radius = Math.min(innerWidth, innerHeight) / 2 * 0.93;
46248
46467
  useEffect(function () {
46249
46468
  var _ref$current;
46250
46469
  setVisibleYKeys(chart.lines.map(function (legendItem) {
@@ -46255,16 +46474,41 @@ var RadarChart$2 = function RadarChart(_ref) {
46255
46474
  setVisibleYKeys([]);
46256
46475
  };
46257
46476
  }, [chart.lines]);
46477
+ var centerX = (groupWidth > width ? width * WIDTH_MULTIPLIER_TO_SCROLL : width) / 2;
46478
+ var centerY = height / 2 - margin.top * 2;
46479
+ var handleMouseMove = useCallback(function (event) {
46480
+ var radarTooltipData = getRadarTooltipData({
46481
+ data: chart.data,
46482
+ event: event,
46483
+ totalDataPoints: chart.data.length,
46484
+ centerX: centerX,
46485
+ centerY: centerY
46486
+ });
46487
+ if (radarTooltipData) {
46488
+ setHoveredDataPointIndex(radarTooltipData.dataPointIndex);
46489
+ showTooltip({
46490
+ tooltipLeft: event.pageX,
46491
+ tooltipTop: event.pageY,
46492
+ tooltipData: radarTooltipData.tooltipData
46493
+ });
46494
+ }
46495
+ }, [showTooltip, chart.data, centerX, centerY]);
46496
+ var handleMouseLeave = useCallback(function () {
46497
+ hideTooltip();
46498
+ setHoveredDataPointIndex(-1);
46499
+ }, [hideTooltip]);
46258
46500
  if (width < 10) return null;
46259
46501
  return jsxs(Fragment, {
46260
46502
  children: [jsx(ChartWrapper$1, {
46261
46503
  width: groupWidth > width ? width * WIDTH_MULTIPLIER_TO_SCROLL : width,
46262
46504
  height: height,
46263
46505
  showLegend: options.showLegend,
46506
+ onMouseMove: handleMouseMove,
46507
+ onMouseLeave: handleMouseLeave,
46264
46508
  children: jsxs(Group$2, {
46265
46509
  innerRef: ref,
46266
- top: height / 2 - margin.top * 2,
46267
- left: (groupWidth > width ? width * WIDTH_MULTIPLIER_TO_SCROLL : width) / 2,
46510
+ top: centerY,
46511
+ left: centerX,
46268
46512
  children: [jsx(MiddleLine, {
46269
46513
  chart: chart,
46270
46514
  radius: radius,
@@ -46277,7 +46521,9 @@ var RadarChart$2 = function RadarChart(_ref) {
46277
46521
  }), jsx(Polygons, {
46278
46522
  chart: chart,
46279
46523
  radius: radius,
46280
- visibleYKeys: visibleYKeys
46524
+ visibleYKeys: visibleYKeys,
46525
+ tooltipData: tooltipData,
46526
+ hoveredDataPointIndex: hoveredDataPointIndex
46281
46527
  })]
46282
46528
  })
46283
46529
  }), options.showLegend && jsx(Legend$1, {
@@ -46289,6 +46535,21 @@ var RadarChart$2 = function RadarChart(_ref) {
46289
46535
  setVisibleYKeys: setVisibleYKeys,
46290
46536
  keys: chart.keys,
46291
46537
  marginLeft: margin.left - margin.leftTitleOffset
46538
+ }), tooltipOpen && tooltipData && chart.x.key && jsx(Tooltip$1, {
46539
+ items: [{
46540
+ legendItems: chart.lines,
46541
+ visibleYKeys: visibleYKeys,
46542
+ conditionalFormattingRules: []
46543
+ }],
46544
+ tooltipData: tooltipData,
46545
+ tooltipLeft: tooltipLeft,
46546
+ tooltipTop: tooltipTop,
46547
+ xKey: chart.x.key,
46548
+ keys: chart.keys,
46549
+ yKeys: chart.y.keys,
46550
+ showRoundedTotal: options.showRoundedTotal,
46551
+ theme: themeCSS.popoverMenus,
46552
+ shouldShowColorLegend: false
46292
46553
  })]
46293
46554
  });
46294
46555
  };
@@ -47985,6 +48246,7 @@ var LineChartV2View = function LineChartV2View(props) {
47985
48246
  overflowX: 'hidden'
47986
48247
  },
47987
48248
  children: function children(parent) {
48249
+ var _props$attributes$lab;
47988
48250
  if (chartRepresentation.lines.length === 0) return jsx(LoadingComponent, {});
47989
48251
  return jsx(LineChart$5, {
47990
48252
  width: parent.width,
@@ -47995,7 +48257,7 @@ var LineChartV2View = function LineChartV2View(props) {
47995
48257
  removeStroke: false,
47996
48258
  showRoundedTotal: false,
47997
48259
  showLegend: props.attributes.legend,
47998
- showLabels: false,
48260
+ showLabels: (_props$attributes$lab = props.attributes.labels) != null ? _props$attributes$lab : false,
47999
48261
  axis: {
48000
48262
  showXAxisLabels: props.attributes.approxXAxisLabelCount !== 0,
48001
48263
  showYAxisLabels: props.attributes.approxYAxisLabelCount !== 0
@@ -48355,7 +48617,7 @@ var AreaChartV2View = function AreaChartV2View(props) {
48355
48617
  overflowX: 'hidden'
48356
48618
  },
48357
48619
  children: function children(parent) {
48358
- var _props$attributes$vie2, _props$attributes$sta;
48620
+ var _props$attributes$vie2, _props$attributes$sta, _props$attributes$lab;
48359
48621
  if (chartRepresentation.areas.length === 0) return jsx(LoadingComponent, {});
48360
48622
  return jsx(AreaChart$5, {
48361
48623
  width: parent.width,
@@ -48368,7 +48630,7 @@ var AreaChartV2View = function AreaChartV2View(props) {
48368
48630
  removeStroke: false,
48369
48631
  showRoundedTotal: false,
48370
48632
  showLegend: props.attributes.legend,
48371
- showLabels: false,
48633
+ showLabels: (_props$attributes$lab = props.attributes.labels) != null ? _props$attributes$lab : false,
48372
48634
  axis: {
48373
48635
  showXAxisLabels: props.attributes.approxXAxisLabelCount !== 0,
48374
48636
  showYAxisLabels: props.attributes.approxYAxisLabelCount !== 0
@@ -48750,6 +49012,7 @@ var BarChartV2View = function BarChartV2View(props) {
48750
49012
  overflowX: 'hidden'
48751
49013
  },
48752
49014
  children: function children(parent) {
49015
+ var _props$attributes$lab;
48753
49016
  if (chartRepresentation.bars.length === 0) return jsx(LoadingComponent, {});
48754
49017
  return jsx(BarChart$5, {
48755
49018
  width: parent.width,
@@ -48760,7 +49023,7 @@ var BarChartV2View = function BarChartV2View(props) {
48760
49023
  removeStroke: false,
48761
49024
  showRoundedTotal: false,
48762
49025
  showLegend: props.attributes.legend,
48763
- showLabels: false,
49026
+ showLabels: (_props$attributes$lab = props.attributes.labels) != null ? _props$attributes$lab : false,
48764
49027
  axis: {
48765
49028
  showXAxisLabels: props.attributes.approxXAxisLabelCount !== 0,
48766
49029
  showYAxisLabels: props.attributes.approxYAxisLabelCount !== 0
@@ -49099,6 +49362,9 @@ var ComboChart$4 = function ComboChart(_ref) {
49099
49362
  tooltipData: buildComboTooltipData(barTooltip == null ? void 0 : barTooltip.tooltipData, lineTooltip == null ? void 0 : lineTooltip.tooltipData, xScaleKey)
49100
49363
  });
49101
49364
  }, [showTooltip, xScale, margin, xKey, xScaleKey, xScaleDataType, chart.x.scale.ordering, chart.bars.data, chart.lines.data]);
49365
+ var labelDictionary = useMemo(function () {
49366
+ return getLabelDictionary(chart.lines.data, chart.y.lineKeys);
49367
+ }, [chart.lines.data, chart.y.lineKeys]);
49102
49368
  var handleMouseLeave = useCallback(function () {
49103
49369
  hideTooltip();
49104
49370
  }, [hideTooltip]);
@@ -49153,7 +49419,8 @@ var ComboChart$4 = function ComboChart(_ref) {
49153
49419
  showDetailedSubGroupingLabels: false,
49154
49420
  yAxisLabels: [],
49155
49421
  yLabelPosition: 0,
49156
- showLabels: options.showLabels
49422
+ showLabels: options.showLabels,
49423
+ formattedData: chart.bars.data
49157
49424
  }), options.stacked && xScaleKey !== null && jsx(BarStacked, {
49158
49425
  data: barDataFlattened,
49159
49426
  keys: yBarKeys,
@@ -49178,7 +49445,8 @@ var ComboChart$4 = function ComboChart(_ref) {
49178
49445
  xScaleDataType: xScaleDataType,
49179
49446
  xScale: xScale,
49180
49447
  yScale: yScale,
49181
- showLabels: options.showLabels
49448
+ showLabels: options.showLabels,
49449
+ labelDictionary: labelDictionary
49182
49450
  })
49183
49451
  })]
49184
49452
  })]
@@ -49438,7 +49706,7 @@ var ComboChartViewV2 = function ComboChartViewV2(props) {
49438
49706
  overflowX: 'hidden'
49439
49707
  },
49440
49708
  children: function children(parent) {
49441
- var _props$attributes$sta2;
49709
+ var _props$attributes$sta2, _props$attributes$lab;
49442
49710
  var numberOfXTicksFittingIntoSpace = howManyTicksFitInWidth(comboChartRepresentation.x.ticks || [], parent.width);
49443
49711
  return jsx(ComboChart$4, {
49444
49712
  width: parent.width,
@@ -49456,7 +49724,7 @@ var ComboChartViewV2 = function ComboChartViewV2(props) {
49456
49724
  removeStroke: false,
49457
49725
  showRoundedTotal: false,
49458
49726
  showLegend: props.attributes.legend,
49459
- showLabels: false,
49727
+ showLabels: (_props$attributes$lab = props.attributes.labels) != null ? _props$attributes$lab : false,
49460
49728
  axis: {
49461
49729
  showXAxisLabels: props.attributes.approxXAxisLabelCount !== 0,
49462
49730
  showYAxisLabels: props.attributes.approxYAxisLabelCount !== 0
@@ -52010,7 +52278,7 @@ var defaultProps$8 = {
52010
52278
  approxYAxisLabelCount: 'auto'
52011
52279
  };
52012
52280
  var FunnelChartView = function FunnelChartView(props) {
52013
- var _props$library, _props2, _props3, _props4, _props5, _props6, _props7, _props$viewId, _props8, _props$library2, _props9, _props10, _props11, _theme$charts, _props13, _props14, _props$viewId2, _theme$charts2;
52281
+ var _props$library, _props2, _props3, _props4, _props5, _props6, _props7, _props$viewId, _props8, _props$library2, _props9, _props10, _props11, _theme$charts, _props13, _props$labels, _props14, _props15, _props$viewId2, _theme$charts2;
52014
52282
  var _props = props,
52015
52283
  displayTitle = _props.displayTitle,
52016
52284
  displaySubject = _props.displaySubject;
@@ -52101,11 +52369,11 @@ var FunnelChartView = function FunnelChartView(props) {
52101
52369
  colors: themeToColorScale(theme == null ? void 0 : theme.colors, series$1.length),
52102
52370
  data: resultSet$1,
52103
52371
  legend: showLegend((_props13 = props) == null ? void 0 : _props13.legend, (theme == null ? void 0 : theme.detail) === 'verbose'),
52104
- labels: false,
52372
+ labels: (_props$labels = (_props14 = props) == null ? void 0 : _props14.labels) != null ? _props$labels : false,
52105
52373
  removeStroke: false,
52106
52374
  forceXAxisAsTime: !!props.timeDimension,
52107
52375
  theme: theme == null ? void 0 : theme.charts,
52108
- axisTitles: (_props14 = props) == null ? void 0 : _props14.axisTitles,
52376
+ axisTitles: (_props15 = props) == null ? void 0 : _props15.axisTitles,
52109
52377
  formatSeriesName: formatSeriesName(props.result, textOverride, props.type, (_props$viewId2 = props.viewId) != null ? _props$viewId2 : '', labelFormat),
52110
52378
  conditionalFormattingPossibilities: function conditionalFormattingPossibilities(dataKey) {
52111
52379
  return getExplanationsOfConditionFormattingRulesThatApplyToSeries(props.dimension, props.conditionalFormattingRules,
@@ -52624,7 +52892,7 @@ var getScaleAndTicks$2 = function getScaleAndTicks(_ref) {
52624
52892
  var maxY = y.max || 0;
52625
52893
  var minY = Math.min(y.min || 0, 0);
52626
52894
  var yTickInterval = getNiceInterval$2((maxY - minY) / (tickCountYAxis - 1));
52627
- for (var i = 0; i <= tickCountYAxis; i++) {
52895
+ for (var i = 0; i <= Math.ceil(maxY / yTickInterval); i++) {
52628
52896
  var _value = yTickInterval * i;
52629
52897
  var formattedValue = formattingFunctionY(_value, nullValue);
52630
52898
  yTicks.push({
@@ -54334,14 +54602,9 @@ var WaterfallChart$2 = function WaterfallChart(_ref) {
54334
54602
  if (xScaleDataType === 'string') return String(xValue);
54335
54603
  return '';
54336
54604
  }, [xScaleKey, xScaleDataType]);
54337
- var _useMemo = useMemo(function () {
54338
- var stepValues = formattedChartDataForBarChart.steps.map(function (step) {
54339
- return step.y;
54340
- });
54341
- return getMinMaxChartValueFromNumberArray(stepValues);
54342
- }, [formattedChartDataForBarChart.steps]),
54343
- minValue = _useMemo.minValue,
54344
- maxValue = _useMemo.maxValue;
54605
+ var labelDictionary = useMemo(function () {
54606
+ return getLabelDictionary(formattedChartDataForBarChart.data, formattedChartDataForBarChart.y.keys);
54607
+ }, [formattedChartDataForBarChart.data, formattedChartDataForBarChart.y.keys]);
54345
54608
  if (width === 0 || height === 0 || xScale == null) return null;
54346
54609
  return jsxs(Fragment$1, {
54347
54610
  children: [jsxs(ChartWrapper$1, {
@@ -54439,10 +54702,9 @@ var WaterfallChart$2 = function WaterfallChart(_ref) {
54439
54702
  barGroup: barGroup,
54440
54703
  yScale: yScale,
54441
54704
  formattedChartDataForBarChart: formattedChartDataForBarChart,
54442
- maxValue: maxValue,
54443
- minValue: minValue,
54444
54705
  showLabels: options.showLabels,
54445
- totalItems: formattedChartDataForBarChart.steps.length
54706
+ totalItems: formattedChartDataForBarChart.steps.length,
54707
+ labelDictionary: labelDictionary
54446
54708
  }, "bar-" + bar.index);
54447
54709
  })
54448
54710
  }, "bar-group-" + barGroup.index + "-" + barGroup.x0);
@@ -54477,20 +54739,24 @@ var Bar$2 = function Bar(_ref4) {
54477
54739
  var bar = _ref4.bar,
54478
54740
  barColor = _ref4.barColor,
54479
54741
  barGroup = _ref4.barGroup,
54480
- yScale = _ref4.yScale,
54481
54742
  formattedChartDataForBarChart = _ref4.formattedChartDataForBarChart,
54743
+ labelDictionary = _ref4.labelDictionary,
54482
54744
  showLabels = _ref4.showLabels,
54483
54745
  totalItems = _ref4.totalItems,
54484
- minValue = _ref4.minValue,
54485
- maxValue = _ref4.maxValue;
54746
+ yScale = _ref4.yScale;
54486
54747
  var step = formattedChartDataForBarChart.steps[barGroup.index];
54487
54748
  var y = yScale(Math.max(step.start, step.end));
54488
54749
  var barHeight = Math.abs(yScale(step.start) - yScale(step.end));
54489
- var xPadding = 14;
54490
- var labelX = bar.width < 10 ? bar.x - xPadding : bar.x + bar.width / 2;
54750
+ var xPadding = 10;
54751
+ var labelX = bar.x - xPadding;
54491
54752
  var labelY = getStepYPosition(step, barHeight, y);
54492
- var showMinMax = showMinMaxLabel(step.y, totalItems, minValue, maxValue);
54493
- var shouldShowLabel = showLabels && showMinMax && bar.value > 0;
54753
+ var isFirstOrLastStep = barGroup.index === 0 || barGroup.index === totalItems - 1;
54754
+ var keyValue = step.end - step.start;
54755
+ var displayValue = getFormattedValue(keyValue, labelDictionary);
54756
+ var unformattedValue = displayValue.length > 15;
54757
+ if (unformattedValue) displayValue = keyValue;
54758
+ var showMinMax = unformattedValue ? isFirstOrLastStep : totalItems < 20 || isFirstOrLastStep;
54759
+ var shouldShowLabel = showLabels && showMinMax;
54494
54760
  return jsxs(Fragment$1, {
54495
54761
  children: [jsx("rect", {
54496
54762
  x: bar.x,
@@ -54502,7 +54768,7 @@ var Bar$2 = function Bar(_ref4) {
54502
54768
  }, "bar-group-bar-" + barGroup.index + "-" + bar.index + "-" + bar.value + "-" + bar.key), shouldShowLabel && jsx(DataLabel, {
54503
54769
  x: labelX,
54504
54770
  y: labelY,
54505
- title: step.y.toString(),
54771
+ title: displayValue,
54506
54772
  dx: 1,
54507
54773
  dy: 0
54508
54774
  })]
@@ -54531,7 +54797,7 @@ var WaterfallChartView = function WaterfallChartView(props) {
54531
54797
  displayTitle = props.displayTitle,
54532
54798
  headline = props.headline,
54533
54799
  id = props.id,
54534
- increaseColor = props.increaseColor,
54800
+ labels = props.labels,
54535
54801
  legend = props.legend,
54536
54802
  library = props.library,
54537
54803
  localFilters = props.localFilters,
@@ -54551,7 +54817,8 @@ var WaterfallChartView = function WaterfallChartView(props) {
54551
54817
  xAxisPrefix = props.xAxisPrefix,
54552
54818
  yAxisFormat = props.yAxisFormat,
54553
54819
  yAxisPostfix = props.yAxisPostfix,
54554
- yAxisPrefix = props.yAxisPrefix;
54820
+ yAxisPrefix = props.yAxisPrefix,
54821
+ increaseColor = props.increaseColor;
54555
54822
  var _useDashboardBehaviou = useDashboardBehaviourContext(),
54556
54823
  textOverride = _useDashboardBehaviou.textOverride,
54557
54824
  valueAlias = _useDashboardBehaviou.valueAlias,
@@ -54639,7 +54906,7 @@ var WaterfallChartView = function WaterfallChartView(props) {
54639
54906
  height: parent.height,
54640
54907
  options: {
54641
54908
  showLegend: showLegend(legend, (theme == null ? void 0 : theme.detail) === 'verbose'),
54642
- showLabels: false,
54909
+ showLabels: labels != null ? labels : false,
54643
54910
  showTooltipRoundedTotal: true,
54644
54911
  removeStroke: false,
54645
54912
  axis: {