@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.
@@ -38,9 +38,9 @@ var adapter$1 = require('@atlaskit/pragmatic-drag-and-drop/external/adapter');
38
38
  var box = require('@atlaskit/pragmatic-drag-and-drop-react-drop-indicator/box');
39
39
  var responsive = require('@visx/responsive');
40
40
  var xychart = require('@visx/xychart');
41
+ var scale = require('@visx/scale');
41
42
  var gradient = require('@visx/gradient');
42
43
  var legend = require('@visx/legend');
43
- var scale = require('@visx/scale');
44
44
  var Ordinal = _interopDefault(require('@visx/legend/lib/legends/Ordinal'));
45
45
  var Curves = require('@visx/curve');
46
46
  var shape = require('@visx/shape');
@@ -62,8 +62,8 @@ var event = require('@visx/event');
62
62
  var d3Array = require('@visx/vendor/d3-array');
63
63
  var axis = require('@visx/axis');
64
64
  var text$3 = require('@visx/text');
65
- var grid = require('@visx/grid');
66
65
  var annotation = require('@visx/annotation');
66
+ var grid = require('@visx/grid');
67
67
  var glyph = require('@visx/glyph');
68
68
  var point = require('@visx/point');
69
69
  var d3Interpolate = require('@visx/vendor/d3-interpolate');
@@ -4184,7 +4184,7 @@ var attributesSchema$2 = function attributesSchema(config) {
4184
4184
  return Joi.object(_extends({}, baseAttributesSchema(config.attributesSchemaOptions), timeDimensionQuerySchema(config.queryEngineConfig, config.attributesSchemaOptions), {
4185
4185
  stacked: Joi.valid(true, false, '100%'),
4186
4186
  legend: Joi.valid(true, false),
4187
- // labels: Joi.valid(true, false).optional(),
4187
+ labels: Joi.valid(true, false).optional(),
4188
4188
  type: Joi.valid('lineChartV2').required(),
4189
4189
  parameters: parametersSchema(config.queryEngineConfig, config.attributesSchemaOptions),
4190
4190
  lineCurve: lineCurveSchema,
@@ -4294,8 +4294,13 @@ var CONSTANTS$2 = {
4294
4294
  title: 'Show Legend',
4295
4295
  description: '',
4296
4296
  namespace: 'legend'
4297
+ },
4298
+ labels: {
4299
+ type: 'labels',
4300
+ title: 'Show Labels',
4301
+ description: '',
4302
+ namespace: 'labels'
4297
4303
  }
4298
- // labels: { type: 'labels', title: 'Show Labels', description: '', namespace: 'labels' },
4299
4304
  }
4300
4305
  },
4301
4306
  axis_labels: {
@@ -4423,6 +4428,7 @@ var LineChart$1 = function LineChart(config) {
4423
4428
  conditionalFormattingRules: upcast$1(config.queryEngineConfig, dumped.conditionalFormattingRules),
4424
4429
  drilldown: dumped.drilldown,
4425
4430
  legend: dumped.legend,
4431
+ labels: dumped.labels,
4426
4432
  goalLines: dumped.goalLines,
4427
4433
  headline: upcastHeadline(dumped.headline, dumped.timeDimension),
4428
4434
  parameters: upcastParameters(dumped.parameters),
@@ -4461,6 +4467,7 @@ var LineChart$1 = function LineChart(config) {
4461
4467
  conditionalFormattingRules: [],
4462
4468
  drilldown: [],
4463
4469
  legend: true,
4470
+ labels: false,
4464
4471
  goalLines: undefined,
4465
4472
  approxXAxisLabelCount: 'auto',
4466
4473
  approxYAxisLabelCount: 'auto',
@@ -4523,10 +4530,9 @@ var LineChart$1 = function LineChart(config) {
4523
4530
  }), namespace(CONSTANTS$2, 'sort'), namespace(CONSTANTS$2, 'filter'), namespace(CONSTANTS$2, 'custom_metrics'), namespace(CONSTANTS$2, 'limit')];
4524
4531
  },
4525
4532
  formatPanelConfig: function formatPanelConfig() {
4526
- var _CONSTANTS$format_pan;
4533
+ var _CONSTANTS$format_pan, _CONSTANTS$format_pan2;
4527
4534
  return [headingConstant(CONSTANTS$2), _extends({}, namespace(CONSTANTS$2, 'chart_styles'), {
4528
- 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'>,
4529
- ]
4535
+ 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]
4530
4536
  }), axisLabelsConstants(CONSTANTS$2), _extends({}, namespace(CONSTANTS$2, 'conditional_formatting'), {
4531
4537
  ruleType: 'lineColor'
4532
4538
  }), namespace(CONSTANTS$2, 'goal_line')
@@ -8652,8 +8658,13 @@ var CONSTANTS$h = {
8652
8658
  title: 'Show Legend',
8653
8659
  description: '',
8654
8660
  namespace: 'legend'
8661
+ },
8662
+ labels: {
8663
+ type: 'labels',
8664
+ title: 'Show Labels',
8665
+ description: '',
8666
+ namespace: 'labels'
8655
8667
  }
8656
- // labels: { type: 'labels', title: 'Show Labels', description: '', namespace: 'labels' },
8657
8668
  }
8658
8669
  },
8659
8670
  axis_labels: {
@@ -8751,7 +8762,7 @@ var FunnelChart = function FunnelChart(config) {
8751
8762
  return hydrated;
8752
8763
  },
8753
8764
  load: function load(dumped) {
8754
- var _dumped$tags;
8765
+ var _dumped$tags, _dumped$labels;
8755
8766
  return _extends({}, dumped, {
8756
8767
  measure: upcastMeasure(dumped.measure),
8757
8768
  order: upcastOrder(dumped.order, dumped.timeDimension),
@@ -8761,6 +8772,7 @@ var FunnelChart = function FunnelChart(config) {
8761
8772
  approxXAxisLabelCount: upcastAxisLabel(dumped.approxXAxisLabelCount),
8762
8773
  approxYAxisLabelCount: upcastAxisLabel(dumped.approxYAxisLabelCount),
8763
8774
  tags: (_dumped$tags = dumped.tags) != null ? _dumped$tags : [],
8775
+ labels: (_dumped$labels = dumped.labels) != null ? _dumped$labels : false,
8764
8776
  parameters: upcastParameters(dumped.parameters)
8765
8777
  });
8766
8778
  },
@@ -8792,6 +8804,7 @@ var FunnelChart = function FunnelChart(config) {
8792
8804
  yAxisFormat: null,
8793
8805
  xAxisFormat: null,
8794
8806
  legend: true,
8807
+ labels: false,
8795
8808
  approxXAxisLabelCount: 'auto',
8796
8809
  approxYAxisLabelCount: 'auto',
8797
8810
  axisTitles: undefined,
@@ -8849,10 +8862,9 @@ var FunnelChart = function FunnelChart(config) {
8849
8862
  }), namespace(CONSTANTS$h, 'sort'), namespace(CONSTANTS$h, 'filter'), namespace(CONSTANTS$h, 'custom_metrics'), namespace(CONSTANTS$h, 'limit')];
8850
8863
  },
8851
8864
  formatPanelConfig: function formatPanelConfig() {
8852
- var _CONSTANTS$format_pan;
8865
+ var _CONSTANTS$format_pan, _CONSTANTS$format_pan2;
8853
8866
  return [headingConstant(CONSTANTS$h), _extends({}, namespace(CONSTANTS$h, 'chart_styles'), {
8854
- 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'>,
8855
- ]
8867
+ 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]
8856
8868
  }), axisLabelsConstants(CONSTANTS$h), _extends({}, namespace(CONSTANTS$h, 'conditional_formatting'), {
8857
8869
  ruleType: 'backgroundColor'
8858
8870
  }), namespace(CONSTANTS$h, 'headline')];
@@ -9950,7 +9962,7 @@ var attributesSchema$i = function attributesSchema(config) {
9950
9962
  return Joi.object(_extends({}, baseAttributesSchema(config.attributesSchemaOptions), timeDimensionQuerySchema(config.queryEngineConfig, config.attributesSchemaOptions), {
9951
9963
  stacked: Joi.valid(true, false),
9952
9964
  legend: Joi.valid(true, false),
9953
- // labels: Joi.valid(true, false).optional(),
9965
+ labels: Joi.valid(true, false).optional(),
9954
9966
  type: Joi.valid('barChartV2').required(),
9955
9967
  parameters: parametersSchema(config.queryEngineConfig, config.attributesSchemaOptions),
9956
9968
  conditionalFormattingRules: conditionalFormattingRulesSchema(config.queryEngineConfig),
@@ -10059,370 +10071,381 @@ var CONSTANTS$k = {
10059
10071
  title: 'Show Legend',
10060
10072
  description: '',
10061
10073
  namespace: 'legend'
10062
- }
10063
- // labels: { type: 'labels', title: 'Show Labels', description: '', namespace: 'labels' },
10064
- }
10065
- },
10066
- axis_labels: {
10067
- type: 'axisLabels',
10068
- title: 'Axis Preferences',
10069
- description: '',
10070
- subSectionDefinition: {
10071
- x: {
10072
- title: 'X Axis',
10073
- description: '',
10074
- namespace: 'x'
10075
- },
10076
- 'x.prefix': {
10077
- title: 'Prefix',
10078
- description: '',
10079
- namespace: 'x.prefix'
10080
- },
10081
- 'x.postfix': {
10082
- title: 'Postfix',
10083
- description: '',
10084
- namespace: 'x.postfix'
10085
10074
  },
10086
- 'x.format': {
10087
- title: 'Format',
10088
- description: '',
10089
- namespace: 'x.format'
10090
- },
10091
- 'x.count': {
10092
- title: 'Label count',
10093
- description: '',
10094
- namespace: 'x.count'
10095
- },
10096
- 'x.axis_title': {
10097
- title: 'Title',
10098
- description: '',
10099
- namespace: 'x.axis_title'
10100
- },
10101
- y: {
10102
- title: 'Y Axis',
10103
- description: '',
10104
- namespace: 'y'
10105
- },
10106
- 'y.prefix': {
10107
- title: 'Prefix',
10108
- description: '',
10109
- namespace: 'y.prefix'
10110
- },
10111
- 'y.postfix': {
10112
- title: 'Postfix',
10113
- description: '',
10114
- namespace: 'y.postfix'
10115
- },
10116
- 'y.format': {
10117
- title: 'Format',
10118
- description: '',
10119
- namespace: 'y.format'
10120
- },
10121
- 'y.count': {
10122
- title: 'Label count',
10123
- description: '',
10124
- namespace: 'y.count'
10125
- },
10126
- 'y.axis_title': {
10127
- title: 'Title',
10128
- description: '',
10129
- namespace: 'y.axis_title'
10130
- }
10131
- }
10132
- },
10133
- conditional_formatting: {
10134
- type: 'conditionalFormatting',
10135
- title: 'Conditional Formatting',
10136
- description: ''
10137
- },
10138
- headline: {
10139
- type: 'headline',
10140
- title: 'Headline',
10141
- description: ''
10142
- },
10143
- goal_line: {
10144
- type: 'goalLine',
10145
- title: 'Goal Lines',
10146
- description: ''
10147
- }
10148
- }
10149
- };
10150
-
10151
- var BarChart$1 = function BarChart(config) {
10152
- return {
10153
- title: 'Bar chart',
10154
- description: 'Ideal for illustrating changes and trends over time with bar graphs.',
10155
- servicesClass: 'BarChart',
10156
- namespace: 'bar_chart',
10157
- dump: function dump(hydrated) {
10158
- return hydrated;
10159
- },
10160
- load: function load(dumped) {
10161
- var _dumped$tags;
10162
- return {
10163
- type: dumped.type,
10164
- measure: upcastMeasure(dumped.measure),
10165
- order: upcastOrder(dumped.order, dumped.timeDimension),
10166
- dimension: upcastStringDimensionsToObject(dumped.dimension),
10167
- // TODO: upcast dumped.timeDimension -> dimension
10168
- displayTitle: dumped.displayTitle,
10169
- displaySubject: dumped.displaySubject,
10170
- protectedByOrganisation: dumped.protectedByOrganisation,
10171
- viewId: upcastViewId(dumped.viewId),
10172
- filter: upcastFilter(dumped.filter),
10173
- dataSetId: dumped.dataSetId,
10174
- limit: dumped.limit,
10175
- timeDimension: null,
10176
- xAxisPostfix: dumped.xAxisPostfix,
10177
- xAxisPrefix: dumped.xAxisPrefix,
10178
- yAxisPostfix: dumped.yAxisPostfix,
10179
- yAxisPrefix: dumped.yAxisPrefix,
10180
- yAxisFormat: dumped.yAxisFormat,
10181
- xAxisFormat: dumped.xAxisFormat,
10182
- conditionalFormattingRules: upcast$1(config.queryEngineConfig, dumped.conditionalFormattingRules),
10183
- drilldown: dumped.drilldown,
10184
- legend: dumped.legend,
10185
- goalLines: dumped.goalLines,
10186
- headline: upcastHeadline(dumped.headline, dumped.timeDimension),
10187
- parameters: upcastParameters(dumped.parameters),
10188
- approxXAxisLabelCount: upcastAxisLabel(dumped.approxXAxisLabelCount),
10189
- approxYAxisLabelCount: upcastAxisLabel(dumped.approxYAxisLabelCount),
10190
- axisTitles: dumped.axisTitles,
10191
- tags: (_dumped$tags = dumped.tags) != null ? _dumped$tags : [],
10192
- stacked: dumped.stacked,
10193
- drilldownOptions: dumped.drilldownOptions
10194
- };
10195
- },
10196
- setAttributes: setAttributes$g(config),
10197
- validate: function validate(attrs, dataSets) {
10198
- return validateView(attrs, dataSets, config.queryEngineConfig);
10199
- },
10200
- init: function init(dataSetId, overrides) {
10201
- return _extends({
10202
- type: 'barChartV2',
10203
- measure: [],
10204
- dimension: [],
10205
- timeDimension: null,
10206
- displayTitle: '',
10207
- displaySubject: '',
10208
- protectedByOrganisation: undefined,
10209
- viewId: upcastViewId(overrides == null ? void 0 : overrides.viewId),
10210
- filter: [],
10211
- order: [],
10212
- dataSetId: dataSetId,
10213
- limit: 5000,
10214
- xAxisPostfix: '',
10215
- xAxisPrefix: '',
10216
- yAxisPostfix: '',
10217
- yAxisPrefix: '',
10218
- yAxisFormat: null,
10219
- xAxisFormat: null,
10220
- conditionalFormattingRules: [],
10221
- drilldown: [],
10222
- legend: true,
10223
- goalLines: undefined,
10224
- approxXAxisLabelCount: 'auto',
10225
- approxYAxisLabelCount: 'auto',
10226
- parameters: {},
10227
- axisTitles: undefined,
10228
- headline: undefined,
10229
- tags: [],
10230
- drilldownOptions: undefined
10231
- }, overrides);
10232
- },
10233
- createFeedback: createFeedback,
10234
- schema: attributesSchema$i(config),
10235
- removeField: function removeField(attrs, fieldId) {
10236
- return removeField$1(attrs, fieldId, config.queryEngineConfig);
10237
- },
10238
- isRunnable: function isRunnable(hydrated) {
10239
- return hydrated.measure.length > 0 && hydrated.dimension.length > 0;
10240
- },
10241
- autoGenerate: function autoGenerate(dataSet) {
10242
- var _DataSet$buildQueryAt = buildQueryAttributes(dataSet, config.queryEngineConfig, 'barChart'),
10243
- measure = _DataSet$buildQueryAt.measure,
10244
- dimension = _DataSet$buildQueryAt.dimension;
10245
- return this.init(dataSet.id, {
10246
- measure: [measure[0]],
10247
- dimension: dimension
10248
- });
10249
- },
10250
- dataPanelConfig: function dataPanelConfig() {
10251
- return [namespace(CONSTANTS$k, 'data_set'), namespace(CONSTANTS$k, 'views'), _extends({}, namespace(CONSTANTS$k, 'field_y_axis'), {
10252
- fieldFilterOptions: {
10253
- forComponent: 'barChart'
10254
- },
10255
- preSetPartialAttributes: function preSetPartialAttributes(values) {
10256
- return {
10257
- measure: values
10258
- };
10259
- },
10260
- getValues: function getValues(attrs) {
10261
- return attrs.measure;
10262
- },
10263
- testId: 'metric-input'
10264
- }), _extends({}, namespace(CONSTANTS$k, 'field_x_axis'), {
10265
- fieldFilterOptions: {
10266
- forComponent: 'barChart',
10267
- onlyDimensions: true
10268
- },
10269
- preventDuplicates: false,
10270
- // return all values in the dimension array instead of seperating out timeDimension
10271
- preSetPartialAttributes: function preSetPartialAttributes(values) {
10272
- return {
10273
- dimension: [].concat(values)
10274
- };
10275
- },
10276
- // does this need to be updated too?
10277
- getValues: function getValues(attrs) {
10278
- return [].concat(attrs.dimension);
10279
- },
10280
- maxAllowed: 2,
10281
- testId: 'add-dimension'
10282
- }), namespace(CONSTANTS$k, 'sort'), namespace(CONSTANTS$k, 'filter'), _extends({}, namespace(CONSTANTS$k, 'drilldown'), {
10283
- options: {
10284
- property: 'drilldownOptions'
10285
- }
10286
- }), namespace(CONSTANTS$k, 'custom_metrics'), namespace(CONSTANTS$k, 'limit')];
10287
- },
10288
- formatPanelConfig: function formatPanelConfig() {
10289
- var _CONSTANTS$format_pan;
10290
- return [headingConstant(CONSTANTS$k), _extends({}, namespace(CONSTANTS$k, 'chart_styles'), {
10291
- 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'>,
10292
- ]
10293
- }), axisLabelsConstants(CONSTANTS$k), _extends({}, namespace(CONSTANTS$k, 'conditional_formatting'), {
10294
- ruleType: 'lineColor'
10295
- }), namespace(CONSTANTS$k, 'goal_line')];
10296
- },
10297
- supportedCustomFields: {
10298
- percentages: true,
10299
- dateCalculations: true,
10300
- simpleMaths: true,
10301
- rules: true,
10302
- aggregateMaths: true,
10303
- roundedNumbers: true,
10304
- conditional: true,
10305
- customBuild: [AcceptedTypes.Maths, AcceptedTypes.IfStatement, AcceptedTypes.Aggregates]
10306
- },
10307
- supportedFeatures: {
10308
- parameters: true,
10309
- colorGradient: false
10310
- },
10311
- setDataAttributesFromPreAggregatedDataSet: function setDataAttributesFromPreAggregatedDataSet$1(attributes, dataSet) {
10312
- return setDataAttributesFromPreAggregatedDataSet(attributes, dataSet, this.setAttributes);
10313
- }
10314
- };
10315
- };
10316
-
10317
- var attributesSchema$j = function attributesSchema(config) {
10318
- return Joi.object(_extends({}, baseAttributesSchema(config.attributesSchemaOptions), timeDimensionQuerySchema(config.queryEngineConfig, config.attributesSchemaOptions), {
10319
- legend: Joi.valid(true, false),
10320
- // labels: Joi.valid(true, false).optional(),
10321
- type: Joi.valid('waterfallChart').required(),
10322
- parameters: parametersSchema(config.queryEngineConfig, config.attributesSchemaOptions),
10323
- axisTitles: axisTitleSchema(),
10324
- headline: headlineSchema(),
10325
- tags: tagsSchema(),
10326
- increaseColor: Joi.string().required(),
10327
- decreaseColor: Joi.string().required(),
10328
- comparison: Joi.any()
10329
- }));
10330
- };
10331
-
10332
- var setAttributes$h = (function (config) {
10333
- return function (waterfallChart, partial) {
10334
- var newAttributes = setAttributes(waterfallChart, partial, attributesSchema$j(config));
10335
- newAttributes = removeUnusedOrderFieldsFromTimeSeriesComponent(newAttributes);
10336
- return newAttributes;
10337
- };
10338
- });
10339
-
10340
- var CONSTANTS$l = {
10341
- title: 'Waterfall chart',
10342
- 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.",
10343
- namespace: 'waterfall_chart',
10344
- data_panel: {
10345
- data_set: {
10346
- type: 'dataSet',
10347
- title: 'Data set',
10348
- description: 'What data do you want to use in this waterfall chart?'
10349
- },
10350
- views: {
10351
- type: 'views',
10352
- title: 'View',
10353
- description: ''
10354
- },
10355
- field_y_axis: {
10356
- type: 'fieldCollector',
10357
- title: 'Metric - Y Axis',
10358
- description: 'What do you want each bar to measure?',
10359
- callToAction: 'Add metric'
10360
- },
10361
- field_x_axis: {
10362
- type: 'fieldCollector',
10363
- title: 'Grouping - X Axis',
10364
- description: 'What do you want each bar to represent? An example would be a a date grouping to show each month as a bar',
10365
- callToAction: 'Add grouping'
10366
- },
10367
- dateComparison: {
10368
- type: 'dateComparison',
10369
- title: 'Comparison',
10370
- description: 'Compare the waterfall chart to a previous period.',
10371
- callToAction: 'Add comparison'
10372
- },
10373
- sort: {
10374
- type: 'sort',
10375
- title: 'Sort',
10376
- description: 'Select the order of categories or time on the x Axis.'
10377
- },
10378
- filter: {
10379
- type: 'filter',
10380
- title: 'Filters',
10381
- description: 'Only include the information you want to use in this waterfall chart.'
10382
- },
10383
- custom_metrics: {
10384
- type: 'customMetrics',
10385
- title: 'Custom metrics',
10386
- description: 'Build your own metrics, such as a percentage.'
10387
- },
10388
- limit: {
10389
- type: 'limit',
10390
- title: 'Limit',
10391
- description: 'Set the maximum number of records to show on this waterfall chart.'
10392
- }
10393
- },
10394
- format_panel: {
10395
- heading: {
10396
- type: 'heading',
10397
- title: 'Heading',
10398
- description: '',
10399
- subSectionDefinition: {
10400
- title: {
10401
- type: 'title',
10402
- title: 'Title',
10403
- description: '',
10404
- namespace: 'title'
10405
- },
10406
- subject: {
10407
- title: 'Subject',
10408
- type: 'subject',
10409
- description: '',
10410
- namespace: 'subject'
10411
- }
10412
- }
10413
- },
10414
- chart_styles: {
10415
- type: 'chartStyles',
10416
- title: 'Chart Settings',
10417
- description: '',
10418
- subSectionDefinition: {
10419
- legend: {
10420
- type: 'legend',
10421
- title: 'Show Legend',
10075
+ labels: {
10076
+ type: 'labels',
10077
+ title: 'Show Labels',
10422
10078
  description: '',
10423
- namespace: 'legend'
10079
+ namespace: 'labels'
10080
+ }
10081
+ }
10082
+ },
10083
+ axis_labels: {
10084
+ type: 'axisLabels',
10085
+ title: 'Axis Preferences',
10086
+ description: '',
10087
+ subSectionDefinition: {
10088
+ x: {
10089
+ title: 'X Axis',
10090
+ description: '',
10091
+ namespace: 'x'
10092
+ },
10093
+ 'x.prefix': {
10094
+ title: 'Prefix',
10095
+ description: '',
10096
+ namespace: 'x.prefix'
10097
+ },
10098
+ 'x.postfix': {
10099
+ title: 'Postfix',
10100
+ description: '',
10101
+ namespace: 'x.postfix'
10102
+ },
10103
+ 'x.format': {
10104
+ title: 'Format',
10105
+ description: '',
10106
+ namespace: 'x.format'
10107
+ },
10108
+ 'x.count': {
10109
+ title: 'Label count',
10110
+ description: '',
10111
+ namespace: 'x.count'
10112
+ },
10113
+ 'x.axis_title': {
10114
+ title: 'Title',
10115
+ description: '',
10116
+ namespace: 'x.axis_title'
10117
+ },
10118
+ y: {
10119
+ title: 'Y Axis',
10120
+ description: '',
10121
+ namespace: 'y'
10122
+ },
10123
+ 'y.prefix': {
10124
+ title: 'Prefix',
10125
+ description: '',
10126
+ namespace: 'y.prefix'
10127
+ },
10128
+ 'y.postfix': {
10129
+ title: 'Postfix',
10130
+ description: '',
10131
+ namespace: 'y.postfix'
10132
+ },
10133
+ 'y.format': {
10134
+ title: 'Format',
10135
+ description: '',
10136
+ namespace: 'y.format'
10137
+ },
10138
+ 'y.count': {
10139
+ title: 'Label count',
10140
+ description: '',
10141
+ namespace: 'y.count'
10142
+ },
10143
+ 'y.axis_title': {
10144
+ title: 'Title',
10145
+ description: '',
10146
+ namespace: 'y.axis_title'
10147
+ }
10148
+ }
10149
+ },
10150
+ conditional_formatting: {
10151
+ type: 'conditionalFormatting',
10152
+ title: 'Conditional Formatting',
10153
+ description: ''
10154
+ },
10155
+ headline: {
10156
+ type: 'headline',
10157
+ title: 'Headline',
10158
+ description: ''
10159
+ },
10160
+ goal_line: {
10161
+ type: 'goalLine',
10162
+ title: 'Goal Lines',
10163
+ description: ''
10164
+ }
10165
+ }
10166
+ };
10167
+
10168
+ var BarChart$1 = function BarChart(config) {
10169
+ return {
10170
+ title: 'Bar chart',
10171
+ description: 'Ideal for illustrating changes and trends over time with bar graphs.',
10172
+ servicesClass: 'BarChart',
10173
+ namespace: 'bar_chart',
10174
+ dump: function dump(hydrated) {
10175
+ return hydrated;
10176
+ },
10177
+ load: function load(dumped) {
10178
+ var _dumped$tags;
10179
+ return {
10180
+ type: dumped.type,
10181
+ measure: upcastMeasure(dumped.measure),
10182
+ order: upcastOrder(dumped.order, dumped.timeDimension),
10183
+ dimension: upcastStringDimensionsToObject(dumped.dimension),
10184
+ // TODO: upcast dumped.timeDimension -> dimension
10185
+ displayTitle: dumped.displayTitle,
10186
+ displaySubject: dumped.displaySubject,
10187
+ protectedByOrganisation: dumped.protectedByOrganisation,
10188
+ viewId: upcastViewId(dumped.viewId),
10189
+ filter: upcastFilter(dumped.filter),
10190
+ dataSetId: dumped.dataSetId,
10191
+ limit: dumped.limit,
10192
+ timeDimension: null,
10193
+ xAxisPostfix: dumped.xAxisPostfix,
10194
+ xAxisPrefix: dumped.xAxisPrefix,
10195
+ yAxisPostfix: dumped.yAxisPostfix,
10196
+ yAxisPrefix: dumped.yAxisPrefix,
10197
+ yAxisFormat: dumped.yAxisFormat,
10198
+ xAxisFormat: dumped.xAxisFormat,
10199
+ conditionalFormattingRules: upcast$1(config.queryEngineConfig, dumped.conditionalFormattingRules),
10200
+ drilldown: dumped.drilldown,
10201
+ legend: dumped.legend,
10202
+ labels: dumped.labels,
10203
+ goalLines: dumped.goalLines,
10204
+ headline: upcastHeadline(dumped.headline, dumped.timeDimension),
10205
+ parameters: upcastParameters(dumped.parameters),
10206
+ approxXAxisLabelCount: upcastAxisLabel(dumped.approxXAxisLabelCount),
10207
+ approxYAxisLabelCount: upcastAxisLabel(dumped.approxYAxisLabelCount),
10208
+ axisTitles: dumped.axisTitles,
10209
+ tags: (_dumped$tags = dumped.tags) != null ? _dumped$tags : [],
10210
+ stacked: dumped.stacked,
10211
+ drilldownOptions: dumped.drilldownOptions
10212
+ };
10213
+ },
10214
+ setAttributes: setAttributes$g(config),
10215
+ validate: function validate(attrs, dataSets) {
10216
+ return validateView(attrs, dataSets, config.queryEngineConfig);
10217
+ },
10218
+ init: function init(dataSetId, overrides) {
10219
+ return _extends({
10220
+ type: 'barChartV2',
10221
+ measure: [],
10222
+ dimension: [],
10223
+ timeDimension: null,
10224
+ displayTitle: '',
10225
+ displaySubject: '',
10226
+ protectedByOrganisation: undefined,
10227
+ viewId: upcastViewId(overrides == null ? void 0 : overrides.viewId),
10228
+ filter: [],
10229
+ order: [],
10230
+ dataSetId: dataSetId,
10231
+ limit: 5000,
10232
+ xAxisPostfix: '',
10233
+ xAxisPrefix: '',
10234
+ yAxisPostfix: '',
10235
+ yAxisPrefix: '',
10236
+ yAxisFormat: null,
10237
+ xAxisFormat: null,
10238
+ conditionalFormattingRules: [],
10239
+ drilldown: [],
10240
+ legend: true,
10241
+ labels: false,
10242
+ goalLines: undefined,
10243
+ approxXAxisLabelCount: 'auto',
10244
+ approxYAxisLabelCount: 'auto',
10245
+ parameters: {},
10246
+ axisTitles: undefined,
10247
+ headline: undefined,
10248
+ tags: [],
10249
+ drilldownOptions: undefined
10250
+ }, overrides);
10251
+ },
10252
+ createFeedback: createFeedback,
10253
+ schema: attributesSchema$i(config),
10254
+ removeField: function removeField(attrs, fieldId) {
10255
+ return removeField$1(attrs, fieldId, config.queryEngineConfig);
10256
+ },
10257
+ isRunnable: function isRunnable(hydrated) {
10258
+ return hydrated.measure.length > 0 && hydrated.dimension.length > 0;
10259
+ },
10260
+ autoGenerate: function autoGenerate(dataSet) {
10261
+ var _DataSet$buildQueryAt = buildQueryAttributes(dataSet, config.queryEngineConfig, 'barChart'),
10262
+ measure = _DataSet$buildQueryAt.measure,
10263
+ dimension = _DataSet$buildQueryAt.dimension;
10264
+ return this.init(dataSet.id, {
10265
+ measure: [measure[0]],
10266
+ dimension: dimension
10267
+ });
10268
+ },
10269
+ dataPanelConfig: function dataPanelConfig() {
10270
+ return [namespace(CONSTANTS$k, 'data_set'), namespace(CONSTANTS$k, 'views'), _extends({}, namespace(CONSTANTS$k, 'field_y_axis'), {
10271
+ fieldFilterOptions: {
10272
+ forComponent: 'barChart'
10273
+ },
10274
+ preSetPartialAttributes: function preSetPartialAttributes(values) {
10275
+ return {
10276
+ measure: values
10277
+ };
10278
+ },
10279
+ getValues: function getValues(attrs) {
10280
+ return attrs.measure;
10281
+ },
10282
+ testId: 'metric-input'
10283
+ }), _extends({}, namespace(CONSTANTS$k, 'field_x_axis'), {
10284
+ fieldFilterOptions: {
10285
+ forComponent: 'barChart',
10286
+ onlyDimensions: true
10287
+ },
10288
+ preventDuplicates: false,
10289
+ // return all values in the dimension array instead of seperating out timeDimension
10290
+ preSetPartialAttributes: function preSetPartialAttributes(values) {
10291
+ return {
10292
+ dimension: [].concat(values)
10293
+ };
10294
+ },
10295
+ // does this need to be updated too?
10296
+ getValues: function getValues(attrs) {
10297
+ return [].concat(attrs.dimension);
10298
+ },
10299
+ maxAllowed: 2,
10300
+ testId: 'add-dimension'
10301
+ }), namespace(CONSTANTS$k, 'sort'), namespace(CONSTANTS$k, 'filter'), _extends({}, namespace(CONSTANTS$k, 'drilldown'), {
10302
+ options: {
10303
+ property: 'drilldownOptions'
10304
+ }
10305
+ }), namespace(CONSTANTS$k, 'custom_metrics'), namespace(CONSTANTS$k, 'limit')];
10306
+ },
10307
+ formatPanelConfig: function formatPanelConfig() {
10308
+ var _CONSTANTS$format_pan, _CONSTANTS$format_pan2;
10309
+ return [headingConstant(CONSTANTS$k), _extends({}, namespace(CONSTANTS$k, 'chart_styles'), {
10310
+ 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]
10311
+ }), axisLabelsConstants(CONSTANTS$k), _extends({}, namespace(CONSTANTS$k, 'conditional_formatting'), {
10312
+ ruleType: 'lineColor'
10313
+ }), namespace(CONSTANTS$k, 'goal_line')];
10314
+ },
10315
+ supportedCustomFields: {
10316
+ percentages: true,
10317
+ dateCalculations: true,
10318
+ simpleMaths: true,
10319
+ rules: true,
10320
+ aggregateMaths: true,
10321
+ roundedNumbers: true,
10322
+ conditional: true,
10323
+ customBuild: [AcceptedTypes.Maths, AcceptedTypes.IfStatement, AcceptedTypes.Aggregates]
10324
+ },
10325
+ supportedFeatures: {
10326
+ parameters: true,
10327
+ colorGradient: false
10328
+ },
10329
+ setDataAttributesFromPreAggregatedDataSet: function setDataAttributesFromPreAggregatedDataSet$1(attributes, dataSet) {
10330
+ return setDataAttributesFromPreAggregatedDataSet(attributes, dataSet, this.setAttributes);
10331
+ }
10332
+ };
10333
+ };
10334
+
10335
+ var attributesSchema$j = function attributesSchema(config) {
10336
+ return Joi.object(_extends({}, baseAttributesSchema(config.attributesSchemaOptions), timeDimensionQuerySchema(config.queryEngineConfig, config.attributesSchemaOptions), {
10337
+ legend: Joi.valid(true, false),
10338
+ labels: Joi.valid(true, false).optional(),
10339
+ type: Joi.valid('waterfallChart').required(),
10340
+ parameters: parametersSchema(config.queryEngineConfig, config.attributesSchemaOptions),
10341
+ axisTitles: axisTitleSchema(),
10342
+ headline: headlineSchema(),
10343
+ tags: tagsSchema(),
10344
+ increaseColor: Joi.string().required(),
10345
+ decreaseColor: Joi.string().required(),
10346
+ comparison: Joi.any()
10347
+ }));
10348
+ };
10349
+
10350
+ var setAttributes$h = (function (config) {
10351
+ return function (waterfallChart, partial) {
10352
+ var newAttributes = setAttributes(waterfallChart, partial, attributesSchema$j(config));
10353
+ newAttributes = removeUnusedOrderFieldsFromTimeSeriesComponent(newAttributes);
10354
+ return newAttributes;
10355
+ };
10356
+ });
10357
+
10358
+ var CONSTANTS$l = {
10359
+ title: 'Waterfall chart',
10360
+ 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.",
10361
+ namespace: 'waterfall_chart',
10362
+ data_panel: {
10363
+ data_set: {
10364
+ type: 'dataSet',
10365
+ title: 'Data set',
10366
+ description: 'What data do you want to use in this waterfall chart?'
10367
+ },
10368
+ views: {
10369
+ type: 'views',
10370
+ title: 'View',
10371
+ description: ''
10372
+ },
10373
+ field_y_axis: {
10374
+ type: 'fieldCollector',
10375
+ title: 'Metric - Y Axis',
10376
+ description: 'What do you want each bar to measure?',
10377
+ callToAction: 'Add metric'
10378
+ },
10379
+ field_x_axis: {
10380
+ type: 'fieldCollector',
10381
+ title: 'Grouping - X Axis',
10382
+ description: 'What do you want each bar to represent? An example would be a a date grouping to show each month as a bar',
10383
+ callToAction: 'Add grouping'
10384
+ },
10385
+ dateComparison: {
10386
+ type: 'dateComparison',
10387
+ title: 'Comparison',
10388
+ description: 'Compare the waterfall chart to a previous period.',
10389
+ callToAction: 'Add comparison'
10390
+ },
10391
+ sort: {
10392
+ type: 'sort',
10393
+ title: 'Sort',
10394
+ description: 'Select the order of categories or time on the x Axis.'
10395
+ },
10396
+ filter: {
10397
+ type: 'filter',
10398
+ title: 'Filters',
10399
+ description: 'Only include the information you want to use in this waterfall chart.'
10400
+ },
10401
+ custom_metrics: {
10402
+ type: 'customMetrics',
10403
+ title: 'Custom metrics',
10404
+ description: 'Build your own metrics, such as a percentage.'
10405
+ },
10406
+ limit: {
10407
+ type: 'limit',
10408
+ title: 'Limit',
10409
+ description: 'Set the maximum number of records to show on this waterfall chart.'
10410
+ }
10411
+ },
10412
+ format_panel: {
10413
+ heading: {
10414
+ type: 'heading',
10415
+ title: 'Heading',
10416
+ description: '',
10417
+ subSectionDefinition: {
10418
+ title: {
10419
+ type: 'title',
10420
+ title: 'Title',
10421
+ description: '',
10422
+ namespace: 'title'
10423
+ },
10424
+ subject: {
10425
+ title: 'Subject',
10426
+ type: 'subject',
10427
+ description: '',
10428
+ namespace: 'subject'
10429
+ }
10430
+ }
10431
+ },
10432
+ chart_styles: {
10433
+ type: 'chartStyles',
10434
+ title: 'Chart Settings',
10435
+ description: '',
10436
+ subSectionDefinition: {
10437
+ legend: {
10438
+ type: 'legend',
10439
+ title: 'Show Legend',
10440
+ description: '',
10441
+ namespace: 'legend'
10442
+ },
10443
+ labels: {
10444
+ type: 'labels',
10445
+ title: 'Show Labels',
10446
+ description: '',
10447
+ namespace: 'labels'
10424
10448
  }
10425
- // labels: { type: 'labels', title: 'Show Labels', description: '', namespace: 'labels' },
10426
10449
  }
10427
10450
  },
10428
10451
  axis_labels: {
@@ -10525,6 +10548,7 @@ var WaterfallChart = function WaterfallChart(config) {
10525
10548
  headline: upcastHeadline(dumped.headline, dumped.timeDimension),
10526
10549
  tags: (_dumped$tags = dumped.tags) != null ? _dumped$tags : [],
10527
10550
  legend: dumped.legend,
10551
+ labels: dumped.labels,
10528
10552
  viewId: upcastViewId(dumped.viewId),
10529
10553
  dataSetId: dumped.dataSetId,
10530
10554
  limit: dumped.limit,
@@ -10574,6 +10598,7 @@ var WaterfallChart = function WaterfallChart(config) {
10574
10598
  yAxisFormat: null,
10575
10599
  xAxisFormat: null,
10576
10600
  legend: true,
10601
+ labels: false,
10577
10602
  parameters: {},
10578
10603
  axisTitles: undefined,
10579
10604
  headline: undefined,
@@ -10637,10 +10662,9 @@ var WaterfallChart = function WaterfallChart(config) {
10637
10662
  }), namespace(CONSTANTS$l, 'sort'), namespace(CONSTANTS$l, 'filter'), namespace(CONSTANTS$l, 'custom_metrics'), namespace(CONSTANTS$l, 'limit')];
10638
10663
  },
10639
10664
  formatPanelConfig: function formatPanelConfig() {
10640
- var _CONSTANTS$format_pan;
10665
+ var _CONSTANTS$format_pan, _CONSTANTS$format_pan2;
10641
10666
  return [headingConstant(CONSTANTS$l), namespace(CONSTANTS$l, 'waterfall_colors'), _extends({}, namespace(CONSTANTS$l, 'chart_styles'), {
10642
- 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'>,
10643
- ]
10667
+ 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]
10644
10668
  }), axisLabelsConstants(CONSTANTS$l)];
10645
10669
  },
10646
10670
  supportedCustomFields: {
@@ -10667,7 +10691,7 @@ var attributesSchema$k = function attributesSchema(config) {
10667
10691
  return Joi.object(_extends({}, baseAttributesSchema(config.attributesSchemaOptions), timeDimensionQuerySchema(config.queryEngineConfig, config.attributesSchemaOptions), {
10668
10692
  stacked: Joi.valid(true, false),
10669
10693
  legend: Joi.valid(true, false),
10670
- // labels: Joi.valid(true, false).optional(),
10694
+ labels: Joi.valid(true, false).optional(),
10671
10695
  type: Joi.valid('areaChartV2').required(),
10672
10696
  parameters: parametersSchema(config.queryEngineConfig, config.attributesSchemaOptions),
10673
10697
  lineCurve: areaCurveSchema,
@@ -10783,8 +10807,13 @@ var CONSTANTS$m = {
10783
10807
  title: 'Show Legend',
10784
10808
  description: '',
10785
10809
  namespace: 'legend'
10810
+ },
10811
+ labels: {
10812
+ type: 'labels',
10813
+ title: 'Show Labels',
10814
+ description: '',
10815
+ namespace: 'labels'
10786
10816
  }
10787
- // labels: { type: 'labels', title: 'Show Labels', description: '', namespace: 'labels' },
10788
10817
  }
10789
10818
  },
10790
10819
  axis_labels: {
@@ -10912,6 +10941,7 @@ var AreaChart$1 = function AreaChart(config) {
10912
10941
  conditionalFormattingRules: upcast$1(config.queryEngineConfig, dumped.conditionalFormattingRules),
10913
10942
  drilldown: dumped.drilldown,
10914
10943
  legend: dumped.legend,
10944
+ labels: dumped.labels,
10915
10945
  goalLines: dumped.goalLines,
10916
10946
  headline: upcastHeadline(dumped.headline, dumped.timeDimension),
10917
10947
  parameters: upcastParameters(dumped.parameters),
@@ -10951,6 +10981,7 @@ var AreaChart$1 = function AreaChart(config) {
10951
10981
  conditionalFormattingRules: [],
10952
10982
  drilldown: [],
10953
10983
  legend: true,
10984
+ labels: false,
10954
10985
  goalLines: undefined,
10955
10986
  approxXAxisLabelCount: 'auto',
10956
10987
  approxYAxisLabelCount: 'auto',
@@ -11014,10 +11045,9 @@ var AreaChart$1 = function AreaChart(config) {
11014
11045
  }), namespace(CONSTANTS$m, 'sort'), namespace(CONSTANTS$m, 'filter'), namespace(CONSTANTS$m, 'custom_metrics'), namespace(CONSTANTS$m, 'limit')];
11015
11046
  },
11016
11047
  formatPanelConfig: function formatPanelConfig() {
11017
- var _CONSTANTS$format_pan;
11048
+ var _CONSTANTS$format_pan, _CONSTANTS$format_pan2;
11018
11049
  return [headingConstant(CONSTANTS$m), _extends({}, namespace(CONSTANTS$m, 'chart_styles'), {
11019
- 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'>,
11020
- ]
11050
+ 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]
11021
11051
  }), axisLabelsConstants(CONSTANTS$m), _extends({}, namespace(CONSTANTS$m, 'conditional_formatting'), {
11022
11052
  ruleType: 'lineColor'
11023
11053
  }), namespace(CONSTANTS$m, 'goal_line')];
@@ -11046,7 +11076,7 @@ var attributesSchema$l = function attributesSchema(config) {
11046
11076
  return Joi.object(_extends({}, baseAttributesSchema(config.attributesSchemaOptions), {
11047
11077
  stacked: Joi.valid(true, false),
11048
11078
  legend: Joi.valid(true, false),
11049
- // labels: Joi.valid(true, false).optional(),
11079
+ labels: Joi.valid(true, false).optional(),
11050
11080
  barMeasure: Joi.array().items(measureSchema(config.queryEngineConfig.supportedAggregates, config.attributesSchemaOptions)),
11051
11081
  lineMeasure: Joi.array().items(measureSchema(config.queryEngineConfig.supportedAggregates, config.attributesSchemaOptions)),
11052
11082
  barDimension: dimensionSchema(config.queryEngineConfig.supportedTimeTruncFunctions, config.attributesSchemaOptions),
@@ -11192,8 +11222,13 @@ var CONSTANTS$n = {
11192
11222
  title: 'Show Legend',
11193
11223
  description: '',
11194
11224
  namespace: 'legend'
11225
+ },
11226
+ labels: {
11227
+ type: 'labels',
11228
+ title: 'Show Labels',
11229
+ description: '',
11230
+ namespace: 'labels'
11195
11231
  }
11196
- // labels: { type: 'labels', title: 'Show Labels', description: '', namespace: 'labels' },
11197
11232
  }
11198
11233
  },
11199
11234
  axis_labels: {
@@ -11325,6 +11360,7 @@ var ComboChartV2 = function ComboChartV2(config) {
11325
11360
  yAxisFormat: null,
11326
11361
  xAxisFormat: null,
11327
11362
  legend: true,
11363
+ labels: false,
11328
11364
  approxXAxisLabelCount: 'auto',
11329
11365
  approxYAxisLabelCount: 'auto',
11330
11366
  goalLines: undefined,
@@ -11365,19 +11401,18 @@ var ComboChartV2 = function ComboChartV2(config) {
11365
11401
  }), namespace(CONSTANTS$n, 'combo_chart_dimension'), namespace(CONSTANTS$n, 'sort'), namespace(CONSTANTS$n, 'filter'), namespace(CONSTANTS$n, 'custom_metrics'), namespace(CONSTANTS$n, 'limit')];
11366
11402
  },
11367
11403
  formatPanelConfig: function formatPanelConfig() {
11368
- var _CONSTANTS$format_pan, _CONSTANTS$format_pan2, _CONSTANTS$format_pan3, _CONSTANTS$format_pan4, _CONSTANTS$format_pan5, _CONSTANTS$format_pan6, _CONSTANTS$format_pan7;
11404
+ 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;
11369
11405
  return [headingConstant(CONSTANTS$n), _extends({}, namespace(CONSTANTS$n, 'chart_styles'), {
11370
- 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'>,
11371
- ]
11406
+ 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]
11372
11407
  }), axisLabelsConstants(CONSTANTS$n), _extends({}, namespace(CONSTANTS$n, 'conditional_formatting'), {
11373
11408
  ruleType: 'backgroundColor',
11374
11409
  subSection: [{
11375
- 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 : '',
11376
- 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,
11410
+ 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 : '',
11411
+ 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,
11377
11412
  propKey: 'bar'
11378
11413
  }, {
11379
- 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 : '',
11380
- 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,
11414
+ 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 : '',
11415
+ 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,
11381
11416
  propKey: 'line'
11382
11417
  }]
11383
11418
  }), namespace(CONSTANTS$n, 'goal_line')];
@@ -12515,12 +12550,16 @@ var defaultNumberFormatOptions = function defaultNumberFormatOptions(textOverrid
12515
12550
  description: textOverride('number_format_option.currency_eur', 'Currency €')
12516
12551
  },
12517
12552
  _vizzly_to_percentage: {
12518
- formatter: function formatter(value, noValueReplacement) {
12553
+ formatter: function formatter(value, noValueReplacement, total) {
12519
12554
  if (noValueReplacement === void 0) {
12520
12555
  noValueReplacement = noValue;
12521
12556
  }
12522
12557
  if (value === null || value === undefined) return noValueReplacement;
12523
12558
  if (Number.isNaN(value)) return formattingError;
12559
+ if (total !== undefined && total !== 0 && typeof value === 'number') {
12560
+ var percentage = isPercentageOf(value, total);
12561
+ return toDp(percentage, 2) + "%";
12562
+ }
12524
12563
  return toPercentage(value, 2);
12525
12564
  },
12526
12565
  description: textOverride('number_format_option.percentage', 'Percentage')
@@ -13068,10 +13107,10 @@ var formatSeriesName = function formatSeriesName(result, textOverride, type, id,
13068
13107
  return newTitle != null ? newTitle : defaultLabel;
13069
13108
  };
13070
13109
  };
13071
- var convertValueToFormat = function convertValueToFormat(value, numberFormatOptions, format) {
13110
+ var convertValueToFormat = function convertValueToFormat(value, numberFormatOptions, format, total) {
13072
13111
  var _numberFormatOptions;
13073
13112
  var formatter = numberFormatOptions == null || (_numberFormatOptions = numberFormatOptions[format != null ? format : '']) == null ? void 0 : _numberFormatOptions.formatter;
13074
- return formatter ? formatter(value) : value;
13113
+ return formatter ? formatter(value, undefined, total) : value;
13075
13114
  };
13076
13115
  function getGradientAdjustedColor(rule, matchedHexValue, actualValue) {
13077
13116
  if (rule.boundaries && rule.boundaries.length === 2 && rule.ruleValueEnd) {
@@ -34029,6 +34068,12 @@ var calculateMinMax = function calculateMinMax(values) {
34029
34068
  maxValue: maxValue
34030
34069
  };
34031
34070
  };
34071
+ var normalizeKey = function normalizeKey(value) {
34072
+ if (typeof value === 'number' || !isNaN(Number(value)) && !isNaN(parseFloat(value))) {
34073
+ return Number(value).toString().split('.')[0];
34074
+ }
34075
+ return String(value);
34076
+ };
34032
34077
  var showMinMaxLabel = function showMinMaxLabel(value, totalItems, minValue, maxValue) {
34033
34078
  return totalItems < 11 || value == minValue || value == maxValue;
34034
34079
  };
@@ -34041,6 +34086,40 @@ var getMinMaxChartValueFromNumberArray = function getMinMaxChartValueFromNumberA
34041
34086
  maxValue: maxValue
34042
34087
  };
34043
34088
  };
34089
+ var getLabelDictionary = function getLabelDictionary(formattedData, keys) {
34090
+ var formattedLabelNames = formattedData == null ? void 0 : formattedData.map(function (d) {
34091
+ var convertedArray = keys.map(function (key) {
34092
+ var _ref;
34093
+ if (!d[key].formattedValue) return;
34094
+ var valueKey = normalizeKey(d[key].value);
34095
+ var label = d[key].formattedValue;
34096
+ return _ref = {}, _ref[valueKey] = label, _ref;
34097
+ }).flat();
34098
+ return convertedArray;
34099
+ });
34100
+ if (!formattedLabelNames) return {};
34101
+ var dictionary = {};
34102
+ formattedLabelNames.forEach(function (labelArray) {
34103
+ if (labelArray) {
34104
+ labelArray.forEach(function (labelObj) {
34105
+ if (labelObj) {
34106
+ Object.entries(labelObj).forEach(function (_ref2) {
34107
+ var value = _ref2[0],
34108
+ label = _ref2[1];
34109
+ dictionary[value] = label;
34110
+ });
34111
+ }
34112
+ });
34113
+ }
34114
+ });
34115
+ return dictionary;
34116
+ };
34117
+ var getFormattedValue = function getFormattedValue(value, dictionary) {
34118
+ var _dictionary$normalize;
34119
+ if (!dictionary) return value;
34120
+ var normalizedKey = normalizeKey(value);
34121
+ return (_dictionary$normalize = dictionary[normalizedKey]) != null ? _dictionary$normalize : value;
34122
+ };
34044
34123
  var getAllChartValues = function getAllChartValues(data, keys) {
34045
34124
  var allValues = [];
34046
34125
  data.forEach(function (item) {
@@ -34066,6 +34145,12 @@ var accessors = function accessors(xAxisIsTime, xKey, yKey, horizontal) {
34066
34145
  };
34067
34146
  };
34068
34147
  var DEFAULT_Y_AXIS_LABEL_COUNT = 5;
34148
+ var LABEL_TEXT_STYLE = {
34149
+ textAnchor: 'middle',
34150
+ fontSize: '10px',
34151
+ fill: '#333',
34152
+ fontWeight: 500
34153
+ };
34069
34154
  var VizzlyXYChart = function VizzlyXYChart(props) {
34070
34155
  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;
34071
34156
  var height = adjustHeight((_props$height = props == null ? void 0 : props.height) != null ? _props$height : 300, props == null ? void 0 : props.legend);
@@ -34350,57 +34435,49 @@ var VizzlyXYChart = function VizzlyXYChart(props) {
34350
34435
  }), "bar_with_previous_" + props.uniqueId + "_" + keyIndex);
34351
34436
  })
34352
34437
  }), props.bars.data.map(function (dataPoint, dataIndex) {
34353
- return jsxRuntime.jsx("g", {
34354
- children: props.bars.keys.map(function (key, keyIndex) {
34355
- var value = dataPoint[key];
34356
- if (!value || !props.labels) return null;
34357
- if (props.bars.data.length > 10) {
34358
- var values = props.bars.data.map(function (d) {
34359
- return Number(d[key]);
34360
- }).filter(function (v) {
34361
- return v;
34362
- });
34363
- var _getMinMaxChartValueF = getMinMaxChartValueFromNumberArray(values),
34364
- _minValue = _getMinMaxChartValueF.minValue,
34365
- _maxValue = _getMinMaxChartValueF.maxValue;
34366
- var currentValue = Number(value);
34367
- if (currentValue !== _minValue && currentValue !== _maxValue) {
34368
- return null;
34369
- }
34370
- }
34371
- var chartWidth = props.width || 400;
34372
- var barWidth = (chartWidth - margin.left - margin.right) / props.bars.data.length;
34373
- var barX = margin.left + dataIndex * barWidth + barWidth / 2;
34374
- var isPositiveModifier = isPositiveModifierKey(key);
34375
- var barHeight, barY;
34376
- if (isPositiveModifier) {
34377
- // Helper function to extract the base name from the key (e.g., "{Revenue, previous}" -> "Revenue")
34378
- var getBaseKeyName = function getBaseKeyName(keyName) {
34379
- return keyName.replace(/[{}]/g, '').split(',')[0].trim();
34380
- };
34381
- var standardKey = props.bars.keys.find(function (k) {
34382
- return !isPositiveModifierKey(k) && getBaseKeyName(k) === getBaseKeyName(key);
34383
- });
34384
- var totalValue = standardKey ? dataPoint[standardKey] : 0;
34385
- var previousValue = Number(value);
34386
- var totalBarValue = Number(totalValue) + previousValue;
34387
- barHeight = (height - margin.top - margin.bottom) * totalBarValue / (maxValue || 1);
34388
- barY = height - margin.bottom - barHeight;
34389
- } else {
34390
- barHeight = (height - margin.top - margin.bottom) * Number(value) / (maxValue || 1);
34391
- barY = height - margin.bottom - barHeight;
34392
- }
34393
- return jsxRuntime.jsx("text", {
34394
- x: barX,
34395
- y: barY,
34396
- textAnchor: "bottom",
34397
- fontSize: "10px",
34398
- fill: "#333",
34399
- fontWeight: "500",
34400
- children: formatYAxisLabel$1(props)(value)
34401
- }, "funnel_label_" + props.uniqueId + "_" + dataIndex + "_" + keyIndex);
34402
- })
34403
- }, "funnel_labels_" + props.uniqueId + "_" + dataIndex);
34438
+ var mainKey = props.bars.keys[0];
34439
+ var value = dataPoint[mainKey];
34440
+ if (!value || !props.labels) return null;
34441
+ if (props.bars && props.bars.data.length > 30) {
34442
+ var values = props.bars.data.map(function (d) {
34443
+ return Number(d[mainKey]);
34444
+ }).filter(function (v) {
34445
+ return v;
34446
+ });
34447
+ var _getMinMaxChartValueF = getMinMaxChartValueFromNumberArray(values),
34448
+ _minValue = _getMinMaxChartValueF.minValue,
34449
+ _maxValue = _getMinMaxChartValueF.maxValue;
34450
+ var currentValue = Number(value);
34451
+ if (currentValue !== _minValue && currentValue !== _maxValue) {
34452
+ return null;
34453
+ }
34454
+ }
34455
+ var _accessors = accessors(xAxisIsTime, x, mainKey, horizontal),
34456
+ yAccessor = _accessors.yAccessor;
34457
+ var yValue = yAccessor(dataPoint);
34458
+ var defaultChartWidth = 400;
34459
+ var chartWidth = props.width || defaultChartWidth;
34460
+ var barWidth = (chartWidth - margin.left - margin.right) / props.bars.data.length;
34461
+ var barX = margin.left + dataIndex * barWidth + barWidth / 2;
34462
+ var availableHeight = height - margin.top - margin.bottom;
34463
+ var yScale = scale.scaleLinear({
34464
+ domain: [minValue, maxValue],
34465
+ range: [availableHeight, 0],
34466
+ nice: true
34467
+ });
34468
+ var scaledYValue = yScale(Number(yValue));
34469
+ var barTopY = margin.top + scaledYValue;
34470
+ var yPadding = 5;
34471
+ var labelY = barTopY - yPadding;
34472
+ return jsxRuntime.jsx("text", {
34473
+ x: barX,
34474
+ y: labelY,
34475
+ textAnchor: LABEL_TEXT_STYLE.textAnchor,
34476
+ fontSize: LABEL_TEXT_STYLE.fontSize,
34477
+ fill: LABEL_TEXT_STYLE.fill,
34478
+ fontWeight: LABEL_TEXT_STYLE.fontWeight,
34479
+ children: formatYAxisLabel$1(props)(value)
34480
+ }, "funnel_label_" + props.uniqueId + "_" + dataIndex);
34404
34481
  })]
34405
34482
  }), (props == null ? void 0 : props.bars) && props.bars.stacked && jsxRuntime.jsxs(React.Fragment, {
34406
34483
  children: [props.enableHover && jsxRuntime.jsx("style", {
@@ -38854,12 +38931,12 @@ var PieChartView = function PieChartView(props) {
38854
38931
  var rS = resultSet$1(props.result, pivotConfig, fakeQuery, false, checkForNullValue(props.dataSetId, props.dimension, props.timeDimension, textOverride, valueAlias));
38855
38932
  var pieSeries = series$1(fakeQuery, props.result, pivotConfig);
38856
38933
 
38857
- /*
38934
+ /*
38858
38935
  NOTES
38859
38936
  - isArray(data[props.dimension[0].field]) check below added so Pie charts can support conditional formatting on string[] dataTypes
38860
38937
  */
38861
38938
 
38862
- /*
38939
+ /*
38863
38940
  TODO
38864
38941
  - Allow string[] dataTypes to be chosen as a grouping in the Pie chart
38865
38942
  - 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)
@@ -38924,7 +39001,10 @@ var PieChartView = function PieChartView(props) {
38924
39001
  showLabel: (theme == null ? void 0 : theme.detail) === 'verbose' && (props == null ? void 0 : props.labels) !== false || (props == null ? void 0 : props.labels),
38925
39002
  legend: showLegend(props == null ? void 0 : props.legend, (theme == null ? void 0 : theme.detail) === 'verbose'),
38926
39003
  formatValue: function formatValue(value) {
38927
- return convertValueToFormat(toDp(value, 2), props == null ? void 0 : props.numberFormatOptions, props == null ? void 0 : props.labelFormat);
39004
+ var total = data[0].data.reduce(function (sum, item) {
39005
+ return sum + (item[data[0].valueKey] || 0);
39006
+ }, 0);
39007
+ return convertValueToFormat(value, props == null ? void 0 : props.numberFormatOptions, props == null ? void 0 : props.labelFormat, total);
38928
39008
  }
38929
39009
  })
38930
39010
  })]
@@ -43382,358 +43462,6 @@ function buildComboTooltipData(barTooltipData, lineTooltipData, xScaleKey) {
43382
43462
  return barTooltipData && lineTooltipData ? _extends({}, barTooltipData, lineTooltipData) : undefined;
43383
43463
  }
43384
43464
 
43385
- var LegendItemBox = function LegendItemBox(_ref) {
43386
- var color = _ref.color,
43387
- style = _ref.style;
43388
- return jsxRuntime.jsx("svg", {
43389
- width: 10,
43390
- height: 10,
43391
- style: {
43392
- display: 'block'
43393
- },
43394
- children: style.type === 'line' ? style.strokeDasharray !== null ? jsxRuntime.jsx("line", {
43395
- x1: "0",
43396
- y1: "5",
43397
- x2: "10",
43398
- y2: "5",
43399
- stroke: color,
43400
- strokeWidth: style.strokeWidth,
43401
- strokeDasharray: 2
43402
- }) : jsxRuntime.jsx("line", {
43403
- x1: "0",
43404
- y1: "5",
43405
- x2: "10",
43406
- y2: "5",
43407
- stroke: color,
43408
- strokeWidth: style.strokeWidth
43409
- }) : jsxRuntime.jsx("rect", {
43410
- fill: color,
43411
- width: 10,
43412
- height: 10,
43413
- rx: "2"
43414
- })
43415
- });
43416
- };
43417
- var LegendItemSquare = function LegendItemSquare(_ref2) {
43418
- var color = _ref2.color;
43419
- return jsxRuntime.jsx("svg", {
43420
- width: 8,
43421
- height: 8,
43422
- style: {
43423
- display: 'block'
43424
- },
43425
- children: jsxRuntime.jsx("rect", {
43426
- fill: color,
43427
- width: 8,
43428
- height: 8,
43429
- rx: "2"
43430
- })
43431
- });
43432
- };
43433
- var LegendItemTriangle = function LegendItemTriangle(_ref3) {
43434
- var color = _ref3.color;
43435
- return jsxRuntime.jsx("svg", {
43436
- width: 8,
43437
- height: 8,
43438
- style: {
43439
- display: 'block',
43440
- borderRadius: 1
43441
- },
43442
- children: jsxRuntime.jsx("polygon", {
43443
- points: "0,0 10,10 0,10",
43444
- fill: color
43445
- })
43446
- });
43447
- };
43448
-
43449
- 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)."; }
43450
- var MIN_TOOLTIP_WIDTH = 180;
43451
- var TOOLTIP_OFFSET = 20;
43452
- var SCROLLBAR_WIDTH = 40;
43453
- var Tooltip$1 = function Tooltip(_ref) {
43454
- var _tooltipData$xKey$for, _tooltipData$xKey;
43455
- var keys = _ref.keys,
43456
- showRoundedTotal = _ref.showRoundedTotal,
43457
- tooltipData = _ref.tooltipData,
43458
- tooltipLeft = _ref.tooltipLeft,
43459
- tooltipTop = _ref.tooltipTop,
43460
- xKey = _ref.xKey,
43461
- yKeys = _ref.yKeys,
43462
- theme = _ref.theme,
43463
- items = _ref.items,
43464
- _ref$shouldShowColorL = _ref.shouldShowColorLegend,
43465
- shouldShowColorLegend = _ref$shouldShowColorL === void 0 ? true : _ref$shouldShowColorL;
43466
- var tooltipRef = React.useRef(null);
43467
- var _useState = React.useState({
43468
- left: tooltipLeft
43469
- }),
43470
- position = _useState[0],
43471
- setPosition = _useState[1];
43472
- React.useEffect(function () {
43473
- var adjustTooltipPosition = function adjustTooltipPosition() {
43474
- var tooltipElement = tooltipRef.current;
43475
- if (tooltipElement) {
43476
- var screenWidth = window.innerWidth;
43477
- var rect = tooltipElement.getBoundingClientRect();
43478
- var width = rect.width;
43479
- if (width < MIN_TOOLTIP_WIDTH) {
43480
- width = MIN_TOOLTIP_WIDTH;
43481
- }
43482
- var left = tooltipLeft + TOOLTIP_OFFSET;
43483
- if (tooltipLeft + width > screenWidth - SCROLLBAR_WIDTH) {
43484
- left = tooltipLeft - width - TOOLTIP_OFFSET;
43485
- }
43486
- setPosition({
43487
- left: left
43488
- });
43489
- }
43490
- };
43491
- adjustTooltipPosition();
43492
- }, [tooltipLeft]);
43493
- return /*#__PURE__*/ReactDOM.createPortal(jsxRuntime.jsx("div", {
43494
- ref: tooltipRef,
43495
- style: _extends({
43496
- position: 'absolute',
43497
- left: position.left,
43498
- top: tooltipTop,
43499
- zIndex: 2147483647 * 10
43500
- }, theme),
43501
- children: jsxRuntime.jsxs("div", {
43502
- style: {
43503
- wordBreak: 'break-all'
43504
- },
43505
- children: [jsxRuntime.jsx("div", {
43506
- className: /*#__PURE__*/css$1.css({
43507
- fontFamily: 'inherit',
43508
- lineHeight: 'inherit',
43509
- letterSpacing: 'inherit',
43510
- fontWeight: 'bold',
43511
- fontSize: '15px',
43512
- width: '100%',
43513
- minWidth: MIN_TOOLTIP_WIDTH
43514
- }, ";label:Tooltip;", "/*# 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 */"),
43515
- children: (_tooltipData$xKey$for = (_tooltipData$xKey = tooltipData[xKey]) == null ? void 0 : _tooltipData$xKey.formattedValue) != null ? _tooltipData$xKey$for : tooltipData[xKey].value
43516
- }), jsxRuntime.jsx("table", {
43517
- cellPadding: 0,
43518
- cellSpacing: 0,
43519
- className: /*#__PURE__*/css$1.css( {
43520
- name: "9a1sa-Tooltip",
43521
- styles: "margin:0;border-spacing:0;border-collapse:inherit;border:none;label:Tooltip;",
43522
- 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 */",
43523
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$5
43524
- }),
43525
- children: jsxRuntime.jsxs("tbody", {
43526
- children: [items.map(function (item, index) {
43527
- var _item$legendItems;
43528
- return jsxRuntime.jsx(React.Fragment, {
43529
- children: (_item$legendItems = item.legendItems) == null ? void 0 : _item$legendItems.map(function (legendItem, index) {
43530
- var _item$visibleYKeys, _item$conditionalForm;
43531
- if (!tooltipData[legendItem.yKey] || tooltipData[legendItem.yKey].value === null) {
43532
- // yKey could not be found in tooltipData
43533
- return null;
43534
- }
43535
- return ((_item$visibleYKeys = item.visibleYKeys) == null ? void 0 : _item$visibleYKeys.includes(legendItem.yKey)) && jsxRuntime.jsxs("tr", {
43536
- children: [shouldShowColorLegend && jsxRuntime.jsx("td", {
43537
- style: {
43538
- verticalAlign: 'middle',
43539
- padding: index === 0 ? '12px 8px 0 0' : '8px 8px 0 0',
43540
- width: 'auto'
43541
- },
43542
- children: jsxRuntime.jsx(LegendItemBox, {
43543
- color: getColor({
43544
- defaultColor: legendItem.color,
43545
- value: tooltipData[legendItem.yKey].value,
43546
- yKey: legendItem.yKey,
43547
- conditionalFormattingRules: (_item$conditionalForm = item.conditionalFormattingRules) != null ? _item$conditionalForm : []
43548
- }),
43549
- style: legendItem.style,
43550
- yKey: legendItem.yKey
43551
- })
43552
- }), jsxRuntime.jsx("td", {
43553
- style: {
43554
- padding: '8px 0 0 0'
43555
- },
43556
- children: keys[legendItem.yKey].keyFormatted
43557
- }), jsxRuntime.jsx("td", {
43558
- style: {
43559
- fontWeight: 'bold',
43560
- padding: '8px 0 0 16px'
43561
- },
43562
- children: tooltipData[legendItem.yKey].formattedValue ? tooltipData[legendItem.yKey].formattedValue : tooltipData[legendItem.yKey].value
43563
- })]
43564
- }, legendItem.yKey + "-" + index + "-" + tooltipData[legendItem.yKey].value);
43565
- })
43566
- }, index);
43567
- }), showRoundedTotal && yKeys && jsxRuntime.jsxs("tr", {
43568
- children: [jsxRuntime.jsx("td", {
43569
- colSpan: 2,
43570
- style: {
43571
- padding: '12px 0 0 0'
43572
- },
43573
- children: "Rounded Total"
43574
- }), jsxRuntime.jsx("td", {
43575
- style: {
43576
- fontWeight: 'bold',
43577
- padding: '12px 0 0 16px'
43578
- },
43579
- children: yKeys.reduce(function (total, key) {
43580
- return total + Math.round(tooltipData[key].value);
43581
- }, 0)
43582
- })]
43583
- })]
43584
- })
43585
- })]
43586
- })
43587
- }), document.body);
43588
- };
43589
-
43590
- 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)."; }
43591
- var LegendItem = function LegendItem(_ref) {
43592
- var yKey = _ref.yKey,
43593
- yKeyFormatted = _ref.yKeyFormatted,
43594
- color = _ref.color,
43595
- style = _ref.style,
43596
- onClick = _ref.onClick,
43597
- visible = _ref.visible,
43598
- conditionalFormattingRules = _ref.conditionalFormattingRules;
43599
- var relevantRules = React.useMemo(function () {
43600
- return conditionalFormattingRules.filter(function (rule) {
43601
- return rule.yKey === yKey;
43602
- });
43603
- }, [conditionalFormattingRules]);
43604
- return jsxRuntime.jsxs("button", {
43605
- type: "button",
43606
- style: {
43607
- all: 'unset',
43608
- display: 'flex',
43609
- flexWrap: 'nowrap',
43610
- alignItems: 'center',
43611
- outline: 'revert',
43612
- gap: '4px',
43613
- padding: '4px',
43614
- cursor: 'pointer',
43615
- marginRight: '10px'
43616
- },
43617
- onClick: onClick,
43618
- children: [style.type === 'line' && jsxRuntime.jsxs("span", {
43619
- className: /*#__PURE__*/css$1.css( {
43620
- name: "mefz6m-LegendItem",
43621
- styles: "height:10px;display:flex;label:LegendItem;",
43622
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdEeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlLCBMZWdlbmRJdGVtVHJpYW5nbGUgfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94L0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZEl0ZW1Qcm9wczxUPiBleHRlbmRzIFNoYXBlRGVmaW5pdGlvbjxUPiB7XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHlLZXlGb3JtYXR0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kSXRlbSA9ICh7XG4gIHlLZXksXG4gIHlLZXlGb3JtYXR0ZWQsXG4gIGNvbG9yLFxuICBzdHlsZSxcbiAgb25DbGljayxcbiAgdmlzaWJsZSxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG59OiBMZWdlbmRJdGVtUHJvcHM8QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+KSA9PiB7XG4gIGNvbnN0IHJlbGV2YW50UnVsZXMgPSB1c2VNZW1vKCgpID0+IGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLmZpbHRlcihydWxlID0+IHJ1bGUueUtleSA9PT0geUtleSksIFtcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBrZXk9e2BsZWdlbmQtJHt5S2V5fWB9XG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGFsbDogJ3Vuc2V0JyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICBvdXRsaW5lOiAncmV2ZXJ0JyxcbiAgICAgICAgZ2FwOiAnNHB4JyxcbiAgICAgICAgcGFkZGluZzogJzRweCcsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICBtYXJnaW5SaWdodDogJzEwcHgnLFxuICAgICAgfX1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgPlxuICAgICAge3N0eWxlLnR5cGUgPT09ICdsaW5lJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiAxMCwgZGlzcGxheTogJ2ZsZXgnIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbUJveCBjb2xvcj17Y29sb3J9IHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfSB5S2V5PXt5S2V5fSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gKFxuICAgICAgICAgICAgICA8TGVnZW5kSXRlbUJveFxuICAgICAgICAgICAgICAgIGNvbG9yPXtydWxlLmNvbG9yfVxuICAgICAgICAgICAgICAgIGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfVxuICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfVxuICAgICAgICAgICAgICAgIHlLZXk9e3lLZXl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtzdHlsZS50eXBlID09PSAnYmFyJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAncm93JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogMiB9KX0+XG4gICAgICAgICAgPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2FyZWEnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdyb3cnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAyIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbVRyaWFuZ2xlIGNvbG9yPXtjb2xvcn0gLz5cbiAgICAgICAgICB7cmVsZXZhbnRSdWxlcy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICByZWxldmFudFJ1bGVzLm1hcChydWxlID0+IDxMZWdlbmRJdGVtVHJpYW5nbGUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgbGluZUhlaWdodDogJzE2cHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IHZpc2libGUgPyAnbm9uZScgOiAnbGluZS10aHJvdWdoJyxcbiAgICAgICAgICB0ZXh0V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHt5S2V5Rm9ybWF0dGVkID8geUtleUZvcm1hdHRlZCA6IHlLZXl9XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl19 */",
43623
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$6
43624
- }),
43625
- children: [jsxRuntime.jsx(LegendItemBox, {
43626
- color: color,
43627
- style: style,
43628
- yKey: yKey
43629
- }), relevantRules.length > 0 && relevantRules.map(function (rule) {
43630
- return jsxRuntime.jsx(LegendItemBox, {
43631
- color: rule.color,
43632
- style: style,
43633
- yKey: yKey
43634
- }, "rule-" + JSON.stringify(rule));
43635
- })]
43636
- }), style.type === 'bar' && jsxRuntime.jsxs("span", {
43637
- className: /*#__PURE__*/css$1.css( {
43638
- name: "pglbco-LegendItem",
43639
- styles: "display:flex;flex-direction:row;align-items:center;gap:2px;label:LegendItem;",
43640
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThEeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlLCBMZWdlbmRJdGVtVHJpYW5nbGUgfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94L0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZEl0ZW1Qcm9wczxUPiBleHRlbmRzIFNoYXBlRGVmaW5pdGlvbjxUPiB7XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHlLZXlGb3JtYXR0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kSXRlbSA9ICh7XG4gIHlLZXksXG4gIHlLZXlGb3JtYXR0ZWQsXG4gIGNvbG9yLFxuICBzdHlsZSxcbiAgb25DbGljayxcbiAgdmlzaWJsZSxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG59OiBMZWdlbmRJdGVtUHJvcHM8QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+KSA9PiB7XG4gIGNvbnN0IHJlbGV2YW50UnVsZXMgPSB1c2VNZW1vKCgpID0+IGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLmZpbHRlcihydWxlID0+IHJ1bGUueUtleSA9PT0geUtleSksIFtcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBrZXk9e2BsZWdlbmQtJHt5S2V5fWB9XG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGFsbDogJ3Vuc2V0JyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICBvdXRsaW5lOiAncmV2ZXJ0JyxcbiAgICAgICAgZ2FwOiAnNHB4JyxcbiAgICAgICAgcGFkZGluZzogJzRweCcsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICBtYXJnaW5SaWdodDogJzEwcHgnLFxuICAgICAgfX1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgPlxuICAgICAge3N0eWxlLnR5cGUgPT09ICdsaW5lJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiAxMCwgZGlzcGxheTogJ2ZsZXgnIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbUJveCBjb2xvcj17Y29sb3J9IHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfSB5S2V5PXt5S2V5fSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gKFxuICAgICAgICAgICAgICA8TGVnZW5kSXRlbUJveFxuICAgICAgICAgICAgICAgIGNvbG9yPXtydWxlLmNvbG9yfVxuICAgICAgICAgICAgICAgIGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfVxuICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfVxuICAgICAgICAgICAgICAgIHlLZXk9e3lLZXl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtzdHlsZS50eXBlID09PSAnYmFyJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAncm93JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogMiB9KX0+XG4gICAgICAgICAgPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2FyZWEnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdyb3cnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAyIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbVRyaWFuZ2xlIGNvbG9yPXtjb2xvcn0gLz5cbiAgICAgICAgICB7cmVsZXZhbnRSdWxlcy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICByZWxldmFudFJ1bGVzLm1hcChydWxlID0+IDxMZWdlbmRJdGVtVHJpYW5nbGUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgbGluZUhlaWdodDogJzE2cHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IHZpc2libGUgPyAnbm9uZScgOiAnbGluZS10aHJvdWdoJyxcbiAgICAgICAgICB0ZXh0V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHt5S2V5Rm9ybWF0dGVkID8geUtleUZvcm1hdHRlZCA6IHlLZXl9XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl19 */",
43641
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$6
43642
- }),
43643
- children: [jsxRuntime.jsx(LegendItemSquare, {
43644
- color: color
43645
- }), relevantRules.length > 0 && relevantRules.map(function (rule) {
43646
- return jsxRuntime.jsx(LegendItemSquare, {
43647
- color: rule.color
43648
- }, "rule-" + JSON.stringify(rule));
43649
- })]
43650
- }), style.type === 'area' && jsxRuntime.jsxs("span", {
43651
- className: /*#__PURE__*/css$1.css( {
43652
- name: "pglbco-LegendItem",
43653
- styles: "display:flex;flex-direction:row;align-items:center;gap:2px;label:LegendItem;",
43654
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFFeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlLCBMZWdlbmRJdGVtVHJpYW5nbGUgfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94L0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZEl0ZW1Qcm9wczxUPiBleHRlbmRzIFNoYXBlRGVmaW5pdGlvbjxUPiB7XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHlLZXlGb3JtYXR0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kSXRlbSA9ICh7XG4gIHlLZXksXG4gIHlLZXlGb3JtYXR0ZWQsXG4gIGNvbG9yLFxuICBzdHlsZSxcbiAgb25DbGljayxcbiAgdmlzaWJsZSxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG59OiBMZWdlbmRJdGVtUHJvcHM8QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+KSA9PiB7XG4gIGNvbnN0IHJlbGV2YW50UnVsZXMgPSB1c2VNZW1vKCgpID0+IGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLmZpbHRlcihydWxlID0+IHJ1bGUueUtleSA9PT0geUtleSksIFtcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBrZXk9e2BsZWdlbmQtJHt5S2V5fWB9XG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGFsbDogJ3Vuc2V0JyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICBvdXRsaW5lOiAncmV2ZXJ0JyxcbiAgICAgICAgZ2FwOiAnNHB4JyxcbiAgICAgICAgcGFkZGluZzogJzRweCcsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICBtYXJnaW5SaWdodDogJzEwcHgnLFxuICAgICAgfX1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgPlxuICAgICAge3N0eWxlLnR5cGUgPT09ICdsaW5lJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiAxMCwgZGlzcGxheTogJ2ZsZXgnIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbUJveCBjb2xvcj17Y29sb3J9IHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfSB5S2V5PXt5S2V5fSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gKFxuICAgICAgICAgICAgICA8TGVnZW5kSXRlbUJveFxuICAgICAgICAgICAgICAgIGNvbG9yPXtydWxlLmNvbG9yfVxuICAgICAgICAgICAgICAgIGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfVxuICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfVxuICAgICAgICAgICAgICAgIHlLZXk9e3lLZXl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtzdHlsZS50eXBlID09PSAnYmFyJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAncm93JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogMiB9KX0+XG4gICAgICAgICAgPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2FyZWEnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdyb3cnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAyIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbVRyaWFuZ2xlIGNvbG9yPXtjb2xvcn0gLz5cbiAgICAgICAgICB7cmVsZXZhbnRSdWxlcy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICByZWxldmFudFJ1bGVzLm1hcChydWxlID0+IDxMZWdlbmRJdGVtVHJpYW5nbGUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgbGluZUhlaWdodDogJzE2cHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IHZpc2libGUgPyAnbm9uZScgOiAnbGluZS10aHJvdWdoJyxcbiAgICAgICAgICB0ZXh0V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHt5S2V5Rm9ybWF0dGVkID8geUtleUZvcm1hdHRlZCA6IHlLZXl9XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl19 */",
43655
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$6
43656
- }),
43657
- children: [jsxRuntime.jsx(LegendItemTriangle, {
43658
- color: color
43659
- }), relevantRules.length > 0 && relevantRules.map(function (rule) {
43660
- return jsxRuntime.jsx(LegendItemTriangle, {
43661
- color: rule.color
43662
- }, "rule-" + JSON.stringify(rule));
43663
- })]
43664
- }), jsxRuntime.jsx("span", {
43665
- style: {
43666
- fontSize: '12px',
43667
- lineHeight: '16px',
43668
- display: 'block',
43669
- textDecoration: visible ? 'none' : 'line-through',
43670
- textWrap: 'nowrap'
43671
- },
43672
- children: yKeyFormatted ? yKeyFormatted : yKey
43673
- })]
43674
- }, "legend-" + yKey);
43675
- };
43676
-
43677
- 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)."; }
43678
- var Legend$1 = function Legend(_ref) {
43679
- var keys = _ref.keys,
43680
- setVisibleYKeys = _ref.setVisibleYKeys,
43681
- marginLeft = _ref.marginLeft,
43682
- items = _ref.items;
43683
- var handleOnClick = function handleOnClick(item, legendItem) {
43684
- setVisibleYKeys && setVisibleYKeys(function (prev) {
43685
- var newVisibleLegendItems = [];
43686
- if (prev.length === item.legendItems.length) {
43687
- newVisibleLegendItems = [legendItem.yKey];
43688
- } else {
43689
- if (prev.includes(legendItem.yKey)) {
43690
- newVisibleLegendItems = prev.filter(function (prevLegendItemId) {
43691
- return prevLegendItemId !== legendItem.yKey;
43692
- });
43693
- } else {
43694
- newVisibleLegendItems = [].concat(prev, [legendItem.yKey]);
43695
- }
43696
- }
43697
- return newVisibleLegendItems.length === 0 ? item.legendItems.map(function (legendItem) {
43698
- return legendItem.yKey;
43699
- }) : newVisibleLegendItems;
43700
- });
43701
- };
43702
- return jsxRuntime.jsx("div", {
43703
- className: /*#__PURE__*/css$1.css( {
43704
- name: "qz6h7j-Legend",
43705
- styles: "height:40px;padding-top:8px;label:Legend;",
43706
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0RvQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBMZWdlbmRJdGVtIH0gZnJvbSAnLi9MZWdlbmRJdGVtJztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSwgS2V5IH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBTY3JvbGxiYXIgfSBmcm9tICcuLi8uLi8uLi9TY3JvbGxiYXIvU2Nyb2xsYmFyJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxudHlwZSBJdGVtPFQ+ID0ge1xuICBsZWdlbmRJdGVtczogQXJyYXk8U2hhcGVEZWZpbml0aW9uPFQ+PjtcbiAgdmlzaWJsZVlLZXlzOiBBcnJheTxzdHJpbmc+O1xuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogQXJyYXk8Q29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZT47XG59O1xuZXhwb3J0IHR5cGUgTGVnZW5kUHJvcHM8VD4gPSB7XG4gIHNldFZpc2libGVZS2V5cz86IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPEFycmF5PHN0cmluZz4+PjtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgbWFyZ2luTGVmdDogbnVtYmVyO1xuICBpdGVtczogSXRlbTxUPltdO1xufTtcblxuZXhwb3J0IGNvbnN0IExlZ2VuZCA9ICh7XG4gIGtleXMsXG4gIHNldFZpc2libGVZS2V5cyxcbiAgbWFyZ2luTGVmdCxcbiAgaXRlbXMsXG59OiBMZWdlbmRQcm9wczxCYXJTdHlsZXMgfCBMaW5lU3R5bGVzIHwgQXJlYVN0eWxlcyB8IEJ1YmJsZVN0eWxlcz4pID0+IHtcbiAgY29uc3QgaGFuZGxlT25DbGljayA9IChcbiAgICBpdGVtOiBJdGVtPEJhclN0eWxlcyB8IExpbmVTdHlsZXMgfCBBcmVhU3R5bGVzIHwgQnViYmxlU3R5bGVzPixcbiAgICBsZWdlbmRJdGVtOiBTaGFwZURlZmluaXRpb248QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+XG4gICkgPT4ge1xuICAgIHNldFZpc2libGVZS2V5cyAmJlxuICAgICAgc2V0VmlzaWJsZVlLZXlzKHByZXYgPT4ge1xuICAgICAgICBsZXQgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgICAgICAgaWYgKHByZXYubGVuZ3RoID09PSBpdGVtLmxlZ2VuZEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IFtsZWdlbmRJdGVtLnlLZXldO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChwcmV2LmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkpIHtcbiAgICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IHByZXYuZmlsdGVyKHByZXZMZWdlbmRJdGVtSWQgPT4gcHJldkxlZ2VuZEl0ZW1JZCAhPT0gbGVnZW5kSXRlbS55S2V5KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gWy4uLnByZXYsIGxlZ2VuZEl0ZW0ueUtleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ld1Zpc2libGVMZWdlbmRJdGVtcy5sZW5ndGggPT09IDBcbiAgICAgICAgICA/IGl0ZW0ubGVnZW5kSXRlbXMubWFwKGxlZ2VuZEl0ZW0gPT4gbGVnZW5kSXRlbS55S2V5KVxuICAgICAgICAgIDogbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zO1xuICAgICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiA0MCwgcGFkZGluZ1RvcDogOCB9KX0+XG4gICAgICA8U2Nyb2xsYmFyXG4gICAgICAgIGNsYXNzTmFtZT17Y3NzKHtcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICAgICAgZmxleFdyYXA6ICdub3dyYXAnLFxuICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgIG1hcmdpbkxlZnQ6IG1hcmdpbkxlZnQgPyBgJHttYXJnaW5MZWZ0fXB4YCA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSl9XG4gICAgICAgIHg9e3RydWV9XG4gICAgICA+XG4gICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgPEZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgICAge2l0ZW0ubGVnZW5kSXRlbXMubWFwKFxuICAgICAgICAgICAgICBsZWdlbmRJdGVtID0+XG4gICAgICAgICAgICAgICAga2V5c1tsZWdlbmRJdGVtLnlLZXldICYmIChcbiAgICAgICAgICAgICAgICAgIDxMZWdlbmRJdGVtXG4gICAgICAgICAgICAgICAgICAgIHsuLi5sZWdlbmRJdGVtfVxuICAgICAgICAgICAgICAgICAgICBrZXk9e2BsZWdlbmQtJHtsZWdlbmRJdGVtLnlLZXl9YH1cbiAgICAgICAgICAgICAgICAgICAgeUtleUZvcm1hdHRlZD17a2V5c1tsZWdlbmRJdGVtLnlLZXldLmtleUZvcm1hdHRlZH1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9uQ2xpY2soaXRlbSwgbGVnZW5kSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIHZpc2libGU9e3NldFZpc2libGVZS2V5cyA/IGl0ZW0udmlzaWJsZVlLZXlzLmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkgOiB0cnVlfVxuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcz17aXRlbS5jb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICApKX1cbiAgICAgIDwvU2Nyb2xsYmFyPlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ== */",
43707
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$7
43708
- }),
43709
- children: jsxRuntime.jsx(Scrollbar, {
43710
- className: /*#__PURE__*/css$1.css({
43711
- display: 'flex',
43712
- flexDirection: 'row',
43713
- flexWrap: 'nowrap',
43714
- alignItems: 'center',
43715
- marginLeft: marginLeft ? marginLeft + "px" : undefined
43716
- }, ";label:Legend;", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0RtQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBMZWdlbmRJdGVtIH0gZnJvbSAnLi9MZWdlbmRJdGVtJztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSwgS2V5IH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBTY3JvbGxiYXIgfSBmcm9tICcuLi8uLi8uLi9TY3JvbGxiYXIvU2Nyb2xsYmFyJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxudHlwZSBJdGVtPFQ+ID0ge1xuICBsZWdlbmRJdGVtczogQXJyYXk8U2hhcGVEZWZpbml0aW9uPFQ+PjtcbiAgdmlzaWJsZVlLZXlzOiBBcnJheTxzdHJpbmc+O1xuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogQXJyYXk8Q29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZT47XG59O1xuZXhwb3J0IHR5cGUgTGVnZW5kUHJvcHM8VD4gPSB7XG4gIHNldFZpc2libGVZS2V5cz86IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPEFycmF5PHN0cmluZz4+PjtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgbWFyZ2luTGVmdDogbnVtYmVyO1xuICBpdGVtczogSXRlbTxUPltdO1xufTtcblxuZXhwb3J0IGNvbnN0IExlZ2VuZCA9ICh7XG4gIGtleXMsXG4gIHNldFZpc2libGVZS2V5cyxcbiAgbWFyZ2luTGVmdCxcbiAgaXRlbXMsXG59OiBMZWdlbmRQcm9wczxCYXJTdHlsZXMgfCBMaW5lU3R5bGVzIHwgQXJlYVN0eWxlcyB8IEJ1YmJsZVN0eWxlcz4pID0+IHtcbiAgY29uc3QgaGFuZGxlT25DbGljayA9IChcbiAgICBpdGVtOiBJdGVtPEJhclN0eWxlcyB8IExpbmVTdHlsZXMgfCBBcmVhU3R5bGVzIHwgQnViYmxlU3R5bGVzPixcbiAgICBsZWdlbmRJdGVtOiBTaGFwZURlZmluaXRpb248QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+XG4gICkgPT4ge1xuICAgIHNldFZpc2libGVZS2V5cyAmJlxuICAgICAgc2V0VmlzaWJsZVlLZXlzKHByZXYgPT4ge1xuICAgICAgICBsZXQgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgICAgICAgaWYgKHByZXYubGVuZ3RoID09PSBpdGVtLmxlZ2VuZEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IFtsZWdlbmRJdGVtLnlLZXldO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChwcmV2LmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkpIHtcbiAgICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IHByZXYuZmlsdGVyKHByZXZMZWdlbmRJdGVtSWQgPT4gcHJldkxlZ2VuZEl0ZW1JZCAhPT0gbGVnZW5kSXRlbS55S2V5KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gWy4uLnByZXYsIGxlZ2VuZEl0ZW0ueUtleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ld1Zpc2libGVMZWdlbmRJdGVtcy5sZW5ndGggPT09IDBcbiAgICAgICAgICA/IGl0ZW0ubGVnZW5kSXRlbXMubWFwKGxlZ2VuZEl0ZW0gPT4gbGVnZW5kSXRlbS55S2V5KVxuICAgICAgICAgIDogbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zO1xuICAgICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiA0MCwgcGFkZGluZ1RvcDogOCB9KX0+XG4gICAgICA8U2Nyb2xsYmFyXG4gICAgICAgIGNsYXNzTmFtZT17Y3NzKHtcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICAgICAgZmxleFdyYXA6ICdub3dyYXAnLFxuICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgIG1hcmdpbkxlZnQ6IG1hcmdpbkxlZnQgPyBgJHttYXJnaW5MZWZ0fXB4YCA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSl9XG4gICAgICAgIHg9e3RydWV9XG4gICAgICA+XG4gICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgPEZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgICAge2l0ZW0ubGVnZW5kSXRlbXMubWFwKFxuICAgICAgICAgICAgICBsZWdlbmRJdGVtID0+XG4gICAgICAgICAgICAgICAga2V5c1tsZWdlbmRJdGVtLnlLZXldICYmIChcbiAgICAgICAgICAgICAgICAgIDxMZWdlbmRJdGVtXG4gICAgICAgICAgICAgICAgICAgIHsuLi5sZWdlbmRJdGVtfVxuICAgICAgICAgICAgICAgICAgICBrZXk9e2BsZWdlbmQtJHtsZWdlbmRJdGVtLnlLZXl9YH1cbiAgICAgICAgICAgICAgICAgICAgeUtleUZvcm1hdHRlZD17a2V5c1tsZWdlbmRJdGVtLnlLZXldLmtleUZvcm1hdHRlZH1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9uQ2xpY2soaXRlbSwgbGVnZW5kSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIHZpc2libGU9e3NldFZpc2libGVZS2V5cyA/IGl0ZW0udmlzaWJsZVlLZXlzLmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkgOiB0cnVlfVxuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcz17aXRlbS5jb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICApKX1cbiAgICAgIDwvU2Nyb2xsYmFyPlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ== */"),
43717
- x: true,
43718
- children: items.map(function (item, index) {
43719
- return jsxRuntime.jsx(React.Fragment, {
43720
- children: item.legendItems.map(function (legendItem) {
43721
- return keys[legendItem.yKey] && react.createElement(LegendItem, _extends({}, legendItem, {
43722
- key: "legend-" + legendItem.yKey,
43723
- yKeyFormatted: keys[legendItem.yKey].keyFormatted,
43724
- onClick: function onClick() {
43725
- handleOnClick(item, legendItem);
43726
- },
43727
- visible: setVisibleYKeys ? item.visibleYKeys.includes(legendItem.yKey) : true,
43728
- conditionalFormattingRules: item.conditionalFormattingRules
43729
- }));
43730
- })
43731
- }, index);
43732
- })
43733
- })
43734
- });
43735
- };
43736
-
43737
43465
  var ASSUMED_AVERAGE_CHAR_WIDTH = 7.1;
43738
43466
 
43739
43467
  function calculateWordWidth(word, avgCharWidth) {
@@ -43923,108 +43651,6 @@ var buildMargin = function buildMargin(yTicks, showYAxisLabels, hasYAxisTitle, h
43923
43651
  };
43924
43652
  };
43925
43653
 
43926
- function useFlattenedData(xScaleKey, xScaleDataType, data, yKeys) {
43927
- return React.useMemo(function () {
43928
- if (xScaleKey && xScaleDataType && yKeys.length > 0) {
43929
- return flattenData({
43930
- data: data,
43931
- xScaleKey: xScaleKey,
43932
- xScaleDataType: xScaleDataType,
43933
- yKeys: yKeys
43934
- });
43935
- } else {
43936
- return [];
43937
- }
43938
- }, [data, xScaleKey, xScaleDataType, yKeys]);
43939
- }
43940
-
43941
- var GoalLine = function GoalLine(_ref) {
43942
- var goalLine = _ref.goalLine,
43943
- innerWidth = _ref.innerWidth,
43944
- y = _ref.y,
43945
- margin = _ref.margin;
43946
- var textRef = React.useRef(null);
43947
- var _useState = React.useState(0),
43948
- labelWidth = _useState[0],
43949
- setLabelWidth = _useState[1];
43950
- React.useEffect(function () {
43951
- if (textRef.current) {
43952
- var bbox = textRef.current.getBBox();
43953
- setLabelWidth(bbox.width + 16);
43954
- }
43955
- }, [goalLine.formattedValue]);
43956
- var height = 16;
43957
- var triangleWidth = 8;
43958
- return jsxRuntime.jsxs("g", {
43959
- style: {
43960
- position: 'relative'
43961
- },
43962
- children: [jsxRuntime.jsx(shape.Line, {
43963
- from: {
43964
- x: margin.left,
43965
- y: margin.top + y
43966
- },
43967
- to: {
43968
- x: margin.left + innerWidth,
43969
- y: margin.top + y
43970
- },
43971
- stroke: goalLine.color,
43972
- strokeDasharray: goalLine.strokeStyle == 'dashed' ? goalLine.strokeWidth * 2.5 + "," + goalLine.strokeWidth * 2.5 : undefined,
43973
- strokeWidth: goalLine.strokeWidth,
43974
- strokeLinecap: "round",
43975
- shapeRendering: "smooth"
43976
- }), jsxRuntime.jsxs("g", {
43977
- transform: "translate(" + (margin.left + innerWidth - labelWidth) + "," + (y + margin.top + height / 2) + ")",
43978
- children: [jsxRuntime.jsx("path", {
43979
- 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",
43980
- fill: goalLine.color
43981
- }), jsxRuntime.jsx("text", {
43982
- ref: textRef,
43983
- x: labelWidth / 2,
43984
- y: -1,
43985
- dy: -4,
43986
- textAnchor: "middle",
43987
- fontFamily: "Arial, sans-serif",
43988
- fontSize: 9,
43989
- fill: '#fff',
43990
- children: goalLine.formattedValue
43991
- })]
43992
- })]
43993
- });
43994
- };
43995
-
43996
- /*
43997
- const strokeWidth = 2;
43998
- const height = 16;
43999
- const triangleWidth = 8;
44000
-
44001
-
44002
-
44003
-
44004
-
44005
- */
44006
-
44007
- var shouldUpdate$1 = function shouldUpdate(previousProps, nextProps) {
44008
- return JSON.stringify(previousProps) == JSON.stringify(nextProps);
44009
- };
44010
- var GoalLines = function GoalLines(_ref) {
44011
- var goalLines = _ref.goalLines,
44012
- margin = _ref.margin,
44013
- y = _ref.y,
44014
- width = _ref.width;
44015
- return jsxRuntime.jsx(React.Fragment, {
44016
- children: goalLines.map(function (goalLine) {
44017
- return jsxRuntime.jsx(GoalLine, {
44018
- innerWidth: width,
44019
- y: y(goalLine.value),
44020
- goalLine: goalLine,
44021
- margin: margin
44022
- }, goalLine.value);
44023
- })
44024
- });
44025
- };
44026
- var GoalLines$1 = /*#__PURE__*/React.memo(GoalLines, shouldUpdate$1);
44027
-
44028
43654
  var AXIS_TITLE_STYLES = {
44029
43655
  textShadow: 'rgba(0, 0, 0, 0.01) 0px 0px 1px',
44030
43656
  opacity: '0.75',
@@ -44147,36 +43773,8 @@ var AxisLeft = function AxisLeft(_ref) {
44147
43773
  });
44148
43774
  };
44149
43775
 
44150
- var GRID_STYLES = {
44151
- strokeWidth: 2,
44152
- strokeOpacity: 0.8,
44153
- strokeLinecap: 'round',
44154
- strokeDasharray: '0.5 5'
44155
- };
44156
-
44157
- var GridRows = function GridRows(_ref) {
44158
- var ticks = _ref.ticks,
44159
- yScale = _ref.yScale,
44160
- removeStroke = _ref.removeStroke,
44161
- width = _ref.width,
44162
- height = _ref.height,
44163
- themeCSS = _ref.themeCSS;
44164
- return jsxRuntime.jsx(grid.GridRows, {
44165
- tickValues: ticks.length > 0 ? ticks : undefined,
44166
- scale: yScale,
44167
- width: width,
44168
- height: height,
44169
- pointerEvents: "none",
44170
- strokeDasharray: "0.5 5",
44171
- strokeWidth: removeStroke ? 0 : 2,
44172
- lineStyle: _extends({
44173
- stroke: themeCSS.grid.stroke
44174
- }, GRID_STYLES)
44175
- });
44176
- };
44177
-
44178
43776
  var _excluded$g = ["children", "width", "height", "showLegend", "onMouseMove", "onMouseLeave"];
44179
- 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)."; }
43777
+ 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)."; }
44180
43778
  var ChartWrapper$1 = function ChartWrapper(_ref) {
44181
43779
  var children = _ref.children,
44182
43780
  width = _ref.width,
@@ -44194,75 +43792,169 @@ var ChartWrapper$1 = function ChartWrapper(_ref) {
44194
43792
  name: "fx4tbw-ChartWrapper",
44195
43793
  styles: "display:block;label:ChartWrapper;",
44196
43794
  map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNoYXJ0V3JhcHBlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEJpQiIsImZpbGUiOiJDaGFydFdyYXBwZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJztcblxudHlwZSBDaGFydFdyYXBwZXJQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHNob3dMZWdlbmQ6IGJvb2xlYW47XG4gIG9uTW91c2VNb3ZlPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXI8U1ZHU1ZHRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyPFNWR1NWR0VsZW1lbnQ+O1xufSAmIFJlYWN0LlNWR1Byb3BzPFNWR1NWR0VsZW1lbnQ+O1xuXG5leHBvcnQgY29uc3QgQ2hhcnRXcmFwcGVyID0gKHtcbiAgY2hpbGRyZW4sXG4gIHdpZHRoLFxuICBoZWlnaHQsXG4gIHNob3dMZWdlbmQsXG4gIG9uTW91c2VNb3ZlLFxuICBvbk1vdXNlTGVhdmUsXG4gIC4uLnN2Z1Byb3BzXG59OiBDaGFydFdyYXBwZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxzdmdcbiAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgIGhlaWdodD17aGVpZ2h0IC0gKHNob3dMZWdlbmQgPyA0MCA6IDApfVxuICAgICAgb25Nb3VzZU1vdmU9e29uTW91c2VNb3ZlfVxuICAgICAgb25Nb3VzZUxlYXZlPXtvbk1vdXNlTGVhdmV9XG4gICAgICBjbGFzc05hbWU9e2Nzcyh7IGRpc3BsYXk6ICdibG9jaycgfSl9XG4gICAgICB7Li4uc3ZnUHJvcHN9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvc3ZnPlxuICApO1xufTtcbiJdfQ== */",
44197
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$8
43795
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$5
44198
43796
  })
44199
43797
  }, svgProps, {
44200
43798
  children: children
44201
43799
  }));
44202
43800
  };
44203
43801
 
44204
- var CrosshairCircle = function CrosshairCircle(_ref) {
44205
- var dataType = _ref.dataType,
44206
- yKeys = _ref.yKeys,
44207
- tooltipData = _ref.tooltipData,
44208
- xKey = _ref.xKey,
43802
+ var DataLabel = function DataLabel(_ref) {
43803
+ var x = _ref.x,
43804
+ y = _ref.y,
43805
+ title = _ref.title,
43806
+ dx = _ref.dx,
43807
+ dy = _ref.dy,
43808
+ color = _ref.color,
43809
+ backgroundColor = _ref.backgroundColor;
43810
+ return jsxRuntime.jsx(annotation.Annotation, {
43811
+ x: x,
43812
+ y: y,
43813
+ dx: dx,
43814
+ dy: dy,
43815
+ children: jsxRuntime.jsx(annotation.Label, {
43816
+ title: title,
43817
+ showAnchorLine: false,
43818
+ showBackground: false,
43819
+ backgroundFill: backgroundColor,
43820
+ fontColor: color,
43821
+ titleFontSize: 10,
43822
+ verticalAnchor: "middle"
43823
+ })
43824
+ });
43825
+ };
43826
+
43827
+ var GoalLine = function GoalLine(_ref) {
43828
+ var goalLine = _ref.goalLine,
43829
+ innerWidth = _ref.innerWidth,
43830
+ y = _ref.y,
43831
+ margin = _ref.margin;
43832
+ var textRef = React.useRef(null);
43833
+ var _useState = React.useState(0),
43834
+ labelWidth = _useState[0],
43835
+ setLabelWidth = _useState[1];
43836
+ React.useEffect(function () {
43837
+ if (textRef.current) {
43838
+ var bbox = textRef.current.getBBox();
43839
+ setLabelWidth(bbox.width + 16);
43840
+ }
43841
+ }, [goalLine.formattedValue]);
43842
+ var height = 16;
43843
+ var triangleWidth = 8;
43844
+ return jsxRuntime.jsxs("g", {
43845
+ style: {
43846
+ position: 'relative'
43847
+ },
43848
+ children: [jsxRuntime.jsx(shape.Line, {
43849
+ from: {
43850
+ x: margin.left,
43851
+ y: margin.top + y
43852
+ },
43853
+ to: {
43854
+ x: margin.left + innerWidth,
43855
+ y: margin.top + y
43856
+ },
43857
+ stroke: goalLine.color,
43858
+ strokeDasharray: goalLine.strokeStyle == 'dashed' ? goalLine.strokeWidth * 2.5 + "," + goalLine.strokeWidth * 2.5 : undefined,
43859
+ strokeWidth: goalLine.strokeWidth,
43860
+ strokeLinecap: "round",
43861
+ shapeRendering: "smooth"
43862
+ }), jsxRuntime.jsxs("g", {
43863
+ transform: "translate(" + (margin.left + innerWidth - labelWidth) + "," + (y + margin.top + height / 2) + ")",
43864
+ children: [jsxRuntime.jsx("path", {
43865
+ 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",
43866
+ fill: goalLine.color
43867
+ }), jsxRuntime.jsx("text", {
43868
+ ref: textRef,
43869
+ x: labelWidth / 2,
43870
+ y: -1,
43871
+ dy: -4,
43872
+ textAnchor: "middle",
43873
+ fontFamily: "Arial, sans-serif",
43874
+ fontSize: 9,
43875
+ fill: '#fff',
43876
+ children: goalLine.formattedValue
43877
+ })]
43878
+ })]
43879
+ });
43880
+ };
43881
+
43882
+ /*
43883
+ const strokeWidth = 2;
43884
+ const height = 16;
43885
+ const triangleWidth = 8;
43886
+
43887
+
43888
+
43889
+
43890
+
43891
+ */
43892
+
43893
+ var shouldUpdate$1 = function shouldUpdate(previousProps, nextProps) {
43894
+ return JSON.stringify(previousProps) == JSON.stringify(nextProps);
43895
+ };
43896
+ var GoalLines = function GoalLines(_ref) {
43897
+ var goalLines = _ref.goalLines,
44209
43898
  margin = _ref.margin,
44210
- conditionalFormattingRules = _ref.conditionalFormattingRules,
44211
- legendItems = _ref.legendItems,
44212
- visibleYKeys = _ref.visibleYKeys,
44213
- yScale = _ref.yScale,
44214
- xScale = _ref.xScale;
43899
+ y = _ref.y,
43900
+ width = _ref.width;
44215
43901
  return jsxRuntime.jsx(React.Fragment, {
44216
- children: yKeys.map(function (yKey) {
44217
- if (!xKey || !tooltipData[yKey] || tooltipData[yKey].value === null) return null;
44218
- if (tooltipData[xKey] && tooltipData[xKey].value && dataType && visibleYKeys.includes(yKey)) {
44219
- var xValue = tooltipData[xKey].value;
44220
- var xValueAdjusted = dataType === 'date_time' ? new Date(xValue) : dataType === 'number' ? Number(xValue) : String(xValue);
44221
- return jsxRuntime.jsx("circle", {
44222
- cx:
44223
- // @ts-ignore
44224
- xScale(xValueAdjusted) + margin.left,
44225
- cy: yScale(yKey) + margin.top,
44226
- r: 4,
44227
- fill: getColor({
44228
- defaultColor: legendItems.filter(function (legendItem) {
44229
- return legendItem.yKey === yKey;
44230
- })[0].color,
44231
- yKey: yKey,
44232
- value: tooltipData[yKey].value,
44233
- conditionalFormattingRules: conditionalFormattingRules
44234
- }),
44235
- strokeWidth: 2,
44236
- stroke: "#fff",
44237
- pointerEvents: "none"
44238
- }, yKey);
44239
- } else {
44240
- return null;
44241
- }
43902
+ children: goalLines.map(function (goalLine) {
43903
+ return jsxRuntime.jsx(GoalLine, {
43904
+ innerWidth: width,
43905
+ y: y(goalLine.value),
43906
+ goalLine: goalLine,
43907
+ margin: margin
43908
+ }, goalLine.value);
44242
43909
  })
44243
43910
  });
44244
43911
  };
43912
+ var GoalLines$1 = /*#__PURE__*/React.memo(GoalLines, shouldUpdate$1);
44245
43913
 
44246
- var Line = function Line(_ref) {
44247
- var margin = _ref.margin,
44248
- x = _ref.x,
44249
- height = _ref.height;
44250
- return jsxRuntime.jsx(shape.Line, {
44251
- from: {
44252
- x: x,
44253
- y: margin.top
44254
- },
44255
- to: {
44256
- x: x,
44257
- y: height + margin.top
44258
- },
44259
- stroke: '#aaa',
44260
- strokeWidth: 2,
43914
+ var LINE_STYLES = {
43915
+ strokeWidth: 2,
43916
+ strokeOpacity: 0.8,
43917
+ strokeLinecap: 'round',
43918
+ strokeDasharray: '0.5 5',
43919
+ stroke: 'rgba(0, 0, 0, 0.1)'
43920
+ };
43921
+
43922
+ var GridRows = function GridRows(_ref) {
43923
+ var ticks = _ref.ticks,
43924
+ yScale = _ref.yScale,
43925
+ removeStroke = _ref.removeStroke,
43926
+ width = _ref.width,
43927
+ height = _ref.height,
43928
+ themeCSS = _ref.themeCSS;
43929
+ return jsxRuntime.jsx(grid.GridRows, {
43930
+ tickValues: ticks.length > 0 ? ticks : undefined,
43931
+ scale: yScale,
43932
+ width: width,
43933
+ height: height,
44261
43934
  pointerEvents: "none",
44262
- opacity: 0.8
43935
+ strokeDasharray: "0.5 5",
43936
+ strokeWidth: removeStroke ? 0 : 2,
43937
+ lineStyle: _extends({
43938
+ stroke: themeCSS.grid.stroke
43939
+ }, LINE_STYLES)
44263
43940
  });
44264
43941
  };
44265
43942
 
43943
+ function useFlattenedData(xScaleKey, xScaleDataType, data, yKeys) {
43944
+ return React.useMemo(function () {
43945
+ if (xScaleKey && xScaleDataType && yKeys.length > 0) {
43946
+ return flattenData({
43947
+ data: data,
43948
+ xScaleKey: xScaleKey,
43949
+ xScaleDataType: xScaleDataType,
43950
+ yKeys: yKeys
43951
+ });
43952
+ } else {
43953
+ return [];
43954
+ }
43955
+ }, [data, xScaleKey, xScaleDataType, yKeys]);
43956
+ }
43957
+
44266
43958
  var _excluded$h = ["tooltipOpen"];
44267
43959
  function useTooltip$1(initialTooltipState) {
44268
43960
  var _useState = React.useState(_extends({
@@ -44316,31 +44008,420 @@ function useYScale(innerHeight, scale$1) {
44316
44008
  }, [innerHeight, scale$1]);
44317
44009
  }
44318
44010
 
44319
- var DataLabel = function DataLabel(_ref) {
44320
- var x = _ref.x,
44321
- y = _ref.y,
44322
- title = _ref.title,
44323
- dx = _ref.dx,
44324
- dy = _ref.dy,
44011
+ var LegendItemBox = function LegendItemBox(_ref) {
44012
+ var color = _ref.color,
44013
+ style = _ref.style;
44014
+ return jsxRuntime.jsx("svg", {
44015
+ width: 10,
44016
+ height: 10,
44017
+ style: {
44018
+ display: 'block'
44019
+ },
44020
+ children: style.type === 'line' ? style.strokeDasharray !== null ? jsxRuntime.jsx("line", {
44021
+ x1: "0",
44022
+ y1: "5",
44023
+ x2: "10",
44024
+ y2: "5",
44025
+ stroke: color,
44026
+ strokeWidth: style.strokeWidth,
44027
+ strokeDasharray: 2
44028
+ }) : jsxRuntime.jsx("line", {
44029
+ x1: "0",
44030
+ y1: "5",
44031
+ x2: "10",
44032
+ y2: "5",
44033
+ stroke: color,
44034
+ strokeWidth: style.strokeWidth
44035
+ }) : jsxRuntime.jsx("rect", {
44036
+ fill: color,
44037
+ width: 10,
44038
+ height: 10,
44039
+ rx: "2"
44040
+ })
44041
+ });
44042
+ };
44043
+ var LegendItemSquare = function LegendItemSquare(_ref2) {
44044
+ var color = _ref2.color;
44045
+ return jsxRuntime.jsx("svg", {
44046
+ width: 8,
44047
+ height: 8,
44048
+ style: {
44049
+ display: 'block'
44050
+ },
44051
+ children: jsxRuntime.jsx("rect", {
44052
+ fill: color,
44053
+ width: 8,
44054
+ height: 8,
44055
+ rx: "2"
44056
+ })
44057
+ });
44058
+ };
44059
+ var LegendItemTriangle = function LegendItemTriangle(_ref3) {
44060
+ var color = _ref3.color;
44061
+ return jsxRuntime.jsx("svg", {
44062
+ width: 8,
44063
+ height: 8,
44064
+ style: {
44065
+ display: 'block',
44066
+ borderRadius: 1
44067
+ },
44068
+ children: jsxRuntime.jsx("polygon", {
44069
+ points: "0,0 10,10 0,10",
44070
+ fill: color
44071
+ })
44072
+ });
44073
+ };
44074
+
44075
+ 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)."; }
44076
+ var LegendItem = function LegendItem(_ref) {
44077
+ var yKey = _ref.yKey,
44078
+ yKeyFormatted = _ref.yKeyFormatted,
44325
44079
  color = _ref.color,
44326
- backgroundColor = _ref.backgroundColor;
44327
- return jsxRuntime.jsx(annotation.Annotation, {
44328
- x: x,
44329
- y: y,
44330
- dx: dx,
44331
- dy: dy,
44332
- children: jsxRuntime.jsx(annotation.Label, {
44333
- title: title,
44334
- showAnchorLine: false,
44335
- showBackground: false,
44336
- backgroundFill: backgroundColor,
44337
- fontColor: color,
44338
- titleFontSize: 10,
44339
- verticalAnchor: "middle"
44080
+ style = _ref.style,
44081
+ onClick = _ref.onClick,
44082
+ visible = _ref.visible,
44083
+ conditionalFormattingRules = _ref.conditionalFormattingRules;
44084
+ var relevantRules = React.useMemo(function () {
44085
+ return conditionalFormattingRules.filter(function (rule) {
44086
+ return rule.yKey === yKey;
44087
+ });
44088
+ }, [conditionalFormattingRules]);
44089
+ return jsxRuntime.jsxs("button", {
44090
+ type: "button",
44091
+ style: {
44092
+ all: 'unset',
44093
+ display: 'flex',
44094
+ flexWrap: 'nowrap',
44095
+ alignItems: 'center',
44096
+ outline: 'revert',
44097
+ gap: '4px',
44098
+ padding: '4px',
44099
+ cursor: 'pointer',
44100
+ marginRight: '10px'
44101
+ },
44102
+ onClick: onClick,
44103
+ children: [style.type === 'line' && jsxRuntime.jsxs("span", {
44104
+ className: /*#__PURE__*/css$1.css( {
44105
+ name: "mefz6m-LegendItem",
44106
+ styles: "height:10px;display:flex;label:LegendItem;",
44107
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdEeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlLCBMZWdlbmRJdGVtVHJpYW5nbGUgfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94L0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZEl0ZW1Qcm9wczxUPiBleHRlbmRzIFNoYXBlRGVmaW5pdGlvbjxUPiB7XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHlLZXlGb3JtYXR0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kSXRlbSA9ICh7XG4gIHlLZXksXG4gIHlLZXlGb3JtYXR0ZWQsXG4gIGNvbG9yLFxuICBzdHlsZSxcbiAgb25DbGljayxcbiAgdmlzaWJsZSxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG59OiBMZWdlbmRJdGVtUHJvcHM8QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+KSA9PiB7XG4gIGNvbnN0IHJlbGV2YW50UnVsZXMgPSB1c2VNZW1vKCgpID0+IGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLmZpbHRlcihydWxlID0+IHJ1bGUueUtleSA9PT0geUtleSksIFtcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBrZXk9e2BsZWdlbmQtJHt5S2V5fWB9XG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGFsbDogJ3Vuc2V0JyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICBvdXRsaW5lOiAncmV2ZXJ0JyxcbiAgICAgICAgZ2FwOiAnNHB4JyxcbiAgICAgICAgcGFkZGluZzogJzRweCcsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICBtYXJnaW5SaWdodDogJzEwcHgnLFxuICAgICAgfX1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgPlxuICAgICAge3N0eWxlLnR5cGUgPT09ICdsaW5lJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiAxMCwgZGlzcGxheTogJ2ZsZXgnIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbUJveCBjb2xvcj17Y29sb3J9IHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfSB5S2V5PXt5S2V5fSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gKFxuICAgICAgICAgICAgICA8TGVnZW5kSXRlbUJveFxuICAgICAgICAgICAgICAgIGNvbG9yPXtydWxlLmNvbG9yfVxuICAgICAgICAgICAgICAgIGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfVxuICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfVxuICAgICAgICAgICAgICAgIHlLZXk9e3lLZXl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtzdHlsZS50eXBlID09PSAnYmFyJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAncm93JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogMiB9KX0+XG4gICAgICAgICAgPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2FyZWEnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdyb3cnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAyIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbVRyaWFuZ2xlIGNvbG9yPXtjb2xvcn0gLz5cbiAgICAgICAgICB7cmVsZXZhbnRSdWxlcy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICByZWxldmFudFJ1bGVzLm1hcChydWxlID0+IDxMZWdlbmRJdGVtVHJpYW5nbGUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgbGluZUhlaWdodDogJzE2cHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IHZpc2libGUgPyAnbm9uZScgOiAnbGluZS10aHJvdWdoJyxcbiAgICAgICAgICB0ZXh0V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHt5S2V5Rm9ybWF0dGVkID8geUtleUZvcm1hdHRlZCA6IHlLZXl9XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl19 */",
44108
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$6
44109
+ }),
44110
+ children: [jsxRuntime.jsx(LegendItemBox, {
44111
+ color: color,
44112
+ style: style,
44113
+ yKey: yKey
44114
+ }), relevantRules.length > 0 && relevantRules.map(function (rule) {
44115
+ return jsxRuntime.jsx(LegendItemBox, {
44116
+ color: rule.color,
44117
+ style: style,
44118
+ yKey: yKey
44119
+ }, "rule-" + JSON.stringify(rule));
44120
+ })]
44121
+ }), style.type === 'bar' && jsxRuntime.jsxs("span", {
44122
+ className: /*#__PURE__*/css$1.css( {
44123
+ name: "pglbco-LegendItem",
44124
+ styles: "display:flex;flex-direction:row;align-items:center;gap:2px;label:LegendItem;",
44125
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThEeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlLCBMZWdlbmRJdGVtVHJpYW5nbGUgfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94L0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZEl0ZW1Qcm9wczxUPiBleHRlbmRzIFNoYXBlRGVmaW5pdGlvbjxUPiB7XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHlLZXlGb3JtYXR0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kSXRlbSA9ICh7XG4gIHlLZXksXG4gIHlLZXlGb3JtYXR0ZWQsXG4gIGNvbG9yLFxuICBzdHlsZSxcbiAgb25DbGljayxcbiAgdmlzaWJsZSxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG59OiBMZWdlbmRJdGVtUHJvcHM8QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+KSA9PiB7XG4gIGNvbnN0IHJlbGV2YW50UnVsZXMgPSB1c2VNZW1vKCgpID0+IGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLmZpbHRlcihydWxlID0+IHJ1bGUueUtleSA9PT0geUtleSksIFtcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBrZXk9e2BsZWdlbmQtJHt5S2V5fWB9XG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGFsbDogJ3Vuc2V0JyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICBvdXRsaW5lOiAncmV2ZXJ0JyxcbiAgICAgICAgZ2FwOiAnNHB4JyxcbiAgICAgICAgcGFkZGluZzogJzRweCcsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICBtYXJnaW5SaWdodDogJzEwcHgnLFxuICAgICAgfX1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgPlxuICAgICAge3N0eWxlLnR5cGUgPT09ICdsaW5lJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiAxMCwgZGlzcGxheTogJ2ZsZXgnIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbUJveCBjb2xvcj17Y29sb3J9IHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfSB5S2V5PXt5S2V5fSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gKFxuICAgICAgICAgICAgICA8TGVnZW5kSXRlbUJveFxuICAgICAgICAgICAgICAgIGNvbG9yPXtydWxlLmNvbG9yfVxuICAgICAgICAgICAgICAgIGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfVxuICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfVxuICAgICAgICAgICAgICAgIHlLZXk9e3lLZXl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtzdHlsZS50eXBlID09PSAnYmFyJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAncm93JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogMiB9KX0+XG4gICAgICAgICAgPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2FyZWEnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdyb3cnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAyIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbVRyaWFuZ2xlIGNvbG9yPXtjb2xvcn0gLz5cbiAgICAgICAgICB7cmVsZXZhbnRSdWxlcy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICByZWxldmFudFJ1bGVzLm1hcChydWxlID0+IDxMZWdlbmRJdGVtVHJpYW5nbGUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgbGluZUhlaWdodDogJzE2cHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IHZpc2libGUgPyAnbm9uZScgOiAnbGluZS10aHJvdWdoJyxcbiAgICAgICAgICB0ZXh0V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHt5S2V5Rm9ybWF0dGVkID8geUtleUZvcm1hdHRlZCA6IHlLZXl9XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl19 */",
44126
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$6
44127
+ }),
44128
+ children: [jsxRuntime.jsx(LegendItemSquare, {
44129
+ color: color
44130
+ }), relevantRules.length > 0 && relevantRules.map(function (rule) {
44131
+ return jsxRuntime.jsx(LegendItemSquare, {
44132
+ color: rule.color
44133
+ }, "rule-" + JSON.stringify(rule));
44134
+ })]
44135
+ }), style.type === 'area' && jsxRuntime.jsxs("span", {
44136
+ className: /*#__PURE__*/css$1.css( {
44137
+ name: "pglbco-LegendItem",
44138
+ styles: "display:flex;flex-direction:row;align-items:center;gap:2px;label:LegendItem;",
44139
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFFeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlLCBMZWdlbmRJdGVtVHJpYW5nbGUgfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94L0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZEl0ZW1Qcm9wczxUPiBleHRlbmRzIFNoYXBlRGVmaW5pdGlvbjxUPiB7XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHlLZXlGb3JtYXR0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kSXRlbSA9ICh7XG4gIHlLZXksXG4gIHlLZXlGb3JtYXR0ZWQsXG4gIGNvbG9yLFxuICBzdHlsZSxcbiAgb25DbGljayxcbiAgdmlzaWJsZSxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG59OiBMZWdlbmRJdGVtUHJvcHM8QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+KSA9PiB7XG4gIGNvbnN0IHJlbGV2YW50UnVsZXMgPSB1c2VNZW1vKCgpID0+IGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLmZpbHRlcihydWxlID0+IHJ1bGUueUtleSA9PT0geUtleSksIFtcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBrZXk9e2BsZWdlbmQtJHt5S2V5fWB9XG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGFsbDogJ3Vuc2V0JyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICBvdXRsaW5lOiAncmV2ZXJ0JyxcbiAgICAgICAgZ2FwOiAnNHB4JyxcbiAgICAgICAgcGFkZGluZzogJzRweCcsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICBtYXJnaW5SaWdodDogJzEwcHgnLFxuICAgICAgfX1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgPlxuICAgICAge3N0eWxlLnR5cGUgPT09ICdsaW5lJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiAxMCwgZGlzcGxheTogJ2ZsZXgnIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbUJveCBjb2xvcj17Y29sb3J9IHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfSB5S2V5PXt5S2V5fSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gKFxuICAgICAgICAgICAgICA8TGVnZW5kSXRlbUJveFxuICAgICAgICAgICAgICAgIGNvbG9yPXtydWxlLmNvbG9yfVxuICAgICAgICAgICAgICAgIGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfVxuICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZSBhcyBMaW5lU3R5bGVzfVxuICAgICAgICAgICAgICAgIHlLZXk9e3lLZXl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtzdHlsZS50eXBlID09PSAnYmFyJyAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y3NzKHsgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAncm93JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogMiB9KX0+XG4gICAgICAgICAgPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2FyZWEnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdyb3cnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAyIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbVRyaWFuZ2xlIGNvbG9yPXtjb2xvcn0gLz5cbiAgICAgICAgICB7cmVsZXZhbnRSdWxlcy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICByZWxldmFudFJ1bGVzLm1hcChydWxlID0+IDxMZWdlbmRJdGVtVHJpYW5nbGUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgbGluZUhlaWdodDogJzE2cHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IHZpc2libGUgPyAnbm9uZScgOiAnbGluZS10aHJvdWdoJyxcbiAgICAgICAgICB0ZXh0V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHt5S2V5Rm9ybWF0dGVkID8geUtleUZvcm1hdHRlZCA6IHlLZXl9XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl19 */",
44140
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$6
44141
+ }),
44142
+ children: [jsxRuntime.jsx(LegendItemTriangle, {
44143
+ color: color
44144
+ }), relevantRules.length > 0 && relevantRules.map(function (rule) {
44145
+ return jsxRuntime.jsx(LegendItemTriangle, {
44146
+ color: rule.color
44147
+ }, "rule-" + JSON.stringify(rule));
44148
+ })]
44149
+ }), jsxRuntime.jsx("span", {
44150
+ style: {
44151
+ fontSize: '12px',
44152
+ lineHeight: '16px',
44153
+ display: 'block',
44154
+ textDecoration: visible ? 'none' : 'line-through',
44155
+ textWrap: 'nowrap'
44156
+ },
44157
+ children: yKeyFormatted ? yKeyFormatted : yKey
44158
+ })]
44159
+ }, "legend-" + yKey);
44160
+ };
44161
+
44162
+ 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)."; }
44163
+ var Legend$1 = function Legend(_ref) {
44164
+ var keys = _ref.keys,
44165
+ setVisibleYKeys = _ref.setVisibleYKeys,
44166
+ marginLeft = _ref.marginLeft,
44167
+ items = _ref.items;
44168
+ var handleOnClick = function handleOnClick(item, legendItem) {
44169
+ setVisibleYKeys && setVisibleYKeys(function (prev) {
44170
+ var newVisibleLegendItems = [];
44171
+ if (prev.length === item.legendItems.length) {
44172
+ newVisibleLegendItems = [legendItem.yKey];
44173
+ } else {
44174
+ if (prev.includes(legendItem.yKey)) {
44175
+ newVisibleLegendItems = prev.filter(function (prevLegendItemId) {
44176
+ return prevLegendItemId !== legendItem.yKey;
44177
+ });
44178
+ } else {
44179
+ newVisibleLegendItems = [].concat(prev, [legendItem.yKey]);
44180
+ }
44181
+ }
44182
+ return newVisibleLegendItems.length === 0 ? item.legendItems.map(function (legendItem) {
44183
+ return legendItem.yKey;
44184
+ }) : newVisibleLegendItems;
44185
+ });
44186
+ };
44187
+ return jsxRuntime.jsx("div", {
44188
+ className: /*#__PURE__*/css$1.css( {
44189
+ name: "qz6h7j-Legend",
44190
+ styles: "height:40px;padding-top:8px;label:Legend;",
44191
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0RvQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBMZWdlbmRJdGVtIH0gZnJvbSAnLi9MZWdlbmRJdGVtJztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSwgS2V5IH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBTY3JvbGxiYXIgfSBmcm9tICcuLi8uLi8uLi9TY3JvbGxiYXIvU2Nyb2xsYmFyJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxudHlwZSBJdGVtPFQ+ID0ge1xuICBsZWdlbmRJdGVtczogQXJyYXk8U2hhcGVEZWZpbml0aW9uPFQ+PjtcbiAgdmlzaWJsZVlLZXlzOiBBcnJheTxzdHJpbmc+O1xuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogQXJyYXk8Q29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZT47XG59O1xuZXhwb3J0IHR5cGUgTGVnZW5kUHJvcHM8VD4gPSB7XG4gIHNldFZpc2libGVZS2V5cz86IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPEFycmF5PHN0cmluZz4+PjtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgbWFyZ2luTGVmdDogbnVtYmVyO1xuICBpdGVtczogSXRlbTxUPltdO1xufTtcblxuZXhwb3J0IGNvbnN0IExlZ2VuZCA9ICh7XG4gIGtleXMsXG4gIHNldFZpc2libGVZS2V5cyxcbiAgbWFyZ2luTGVmdCxcbiAgaXRlbXMsXG59OiBMZWdlbmRQcm9wczxCYXJTdHlsZXMgfCBMaW5lU3R5bGVzIHwgQXJlYVN0eWxlcyB8IEJ1YmJsZVN0eWxlcz4pID0+IHtcbiAgY29uc3QgaGFuZGxlT25DbGljayA9IChcbiAgICBpdGVtOiBJdGVtPEJhclN0eWxlcyB8IExpbmVTdHlsZXMgfCBBcmVhU3R5bGVzIHwgQnViYmxlU3R5bGVzPixcbiAgICBsZWdlbmRJdGVtOiBTaGFwZURlZmluaXRpb248QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+XG4gICkgPT4ge1xuICAgIHNldFZpc2libGVZS2V5cyAmJlxuICAgICAgc2V0VmlzaWJsZVlLZXlzKHByZXYgPT4ge1xuICAgICAgICBsZXQgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgICAgICAgaWYgKHByZXYubGVuZ3RoID09PSBpdGVtLmxlZ2VuZEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IFtsZWdlbmRJdGVtLnlLZXldO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChwcmV2LmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkpIHtcbiAgICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IHByZXYuZmlsdGVyKHByZXZMZWdlbmRJdGVtSWQgPT4gcHJldkxlZ2VuZEl0ZW1JZCAhPT0gbGVnZW5kSXRlbS55S2V5KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gWy4uLnByZXYsIGxlZ2VuZEl0ZW0ueUtleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ld1Zpc2libGVMZWdlbmRJdGVtcy5sZW5ndGggPT09IDBcbiAgICAgICAgICA/IGl0ZW0ubGVnZW5kSXRlbXMubWFwKGxlZ2VuZEl0ZW0gPT4gbGVnZW5kSXRlbS55S2V5KVxuICAgICAgICAgIDogbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zO1xuICAgICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiA0MCwgcGFkZGluZ1RvcDogOCB9KX0+XG4gICAgICA8U2Nyb2xsYmFyXG4gICAgICAgIGNsYXNzTmFtZT17Y3NzKHtcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICAgICAgZmxleFdyYXA6ICdub3dyYXAnLFxuICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgIG1hcmdpbkxlZnQ6IG1hcmdpbkxlZnQgPyBgJHttYXJnaW5MZWZ0fXB4YCA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSl9XG4gICAgICAgIHg9e3RydWV9XG4gICAgICA+XG4gICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgPEZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgICAge2l0ZW0ubGVnZW5kSXRlbXMubWFwKFxuICAgICAgICAgICAgICBsZWdlbmRJdGVtID0+XG4gICAgICAgICAgICAgICAga2V5c1tsZWdlbmRJdGVtLnlLZXldICYmIChcbiAgICAgICAgICAgICAgICAgIDxMZWdlbmRJdGVtXG4gICAgICAgICAgICAgICAgICAgIHsuLi5sZWdlbmRJdGVtfVxuICAgICAgICAgICAgICAgICAgICBrZXk9e2BsZWdlbmQtJHtsZWdlbmRJdGVtLnlLZXl9YH1cbiAgICAgICAgICAgICAgICAgICAgeUtleUZvcm1hdHRlZD17a2V5c1tsZWdlbmRJdGVtLnlLZXldLmtleUZvcm1hdHRlZH1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9uQ2xpY2soaXRlbSwgbGVnZW5kSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIHZpc2libGU9e3NldFZpc2libGVZS2V5cyA/IGl0ZW0udmlzaWJsZVlLZXlzLmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkgOiB0cnVlfVxuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcz17aXRlbS5jb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICApKX1cbiAgICAgIDwvU2Nyb2xsYmFyPlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ== */",
44192
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$7
44193
+ }),
44194
+ children: jsxRuntime.jsx(Scrollbar, {
44195
+ className: /*#__PURE__*/css$1.css({
44196
+ display: 'flex',
44197
+ flexDirection: 'row',
44198
+ flexWrap: 'nowrap',
44199
+ alignItems: 'center',
44200
+ marginLeft: marginLeft ? marginLeft + "px" : undefined
44201
+ }, ";label:Legend;", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0RtQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBMZWdlbmRJdGVtIH0gZnJvbSAnLi9MZWdlbmRJdGVtJztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSwgS2V5IH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBTY3JvbGxiYXIgfSBmcm9tICcuLi8uLi8uLi9TY3JvbGxiYXIvU2Nyb2xsYmFyJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQnViYmxlU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CdWJibGVDaGFydFYyL3R5cGVzJztcblxudHlwZSBJdGVtPFQ+ID0ge1xuICBsZWdlbmRJdGVtczogQXJyYXk8U2hhcGVEZWZpbml0aW9uPFQ+PjtcbiAgdmlzaWJsZVlLZXlzOiBBcnJheTxzdHJpbmc+O1xuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogQXJyYXk8Q29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZT47XG59O1xuZXhwb3J0IHR5cGUgTGVnZW5kUHJvcHM8VD4gPSB7XG4gIHNldFZpc2libGVZS2V5cz86IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPEFycmF5PHN0cmluZz4+PjtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgbWFyZ2luTGVmdDogbnVtYmVyO1xuICBpdGVtczogSXRlbTxUPltdO1xufTtcblxuZXhwb3J0IGNvbnN0IExlZ2VuZCA9ICh7XG4gIGtleXMsXG4gIHNldFZpc2libGVZS2V5cyxcbiAgbWFyZ2luTGVmdCxcbiAgaXRlbXMsXG59OiBMZWdlbmRQcm9wczxCYXJTdHlsZXMgfCBMaW5lU3R5bGVzIHwgQXJlYVN0eWxlcyB8IEJ1YmJsZVN0eWxlcz4pID0+IHtcbiAgY29uc3QgaGFuZGxlT25DbGljayA9IChcbiAgICBpdGVtOiBJdGVtPEJhclN0eWxlcyB8IExpbmVTdHlsZXMgfCBBcmVhU3R5bGVzIHwgQnViYmxlU3R5bGVzPixcbiAgICBsZWdlbmRJdGVtOiBTaGFwZURlZmluaXRpb248QmFyU3R5bGVzIHwgTGluZVN0eWxlcyB8IEFyZWFTdHlsZXMgfCBCdWJibGVTdHlsZXM+XG4gICkgPT4ge1xuICAgIHNldFZpc2libGVZS2V5cyAmJlxuICAgICAgc2V0VmlzaWJsZVlLZXlzKHByZXYgPT4ge1xuICAgICAgICBsZXQgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgICAgICAgaWYgKHByZXYubGVuZ3RoID09PSBpdGVtLmxlZ2VuZEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IFtsZWdlbmRJdGVtLnlLZXldO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChwcmV2LmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkpIHtcbiAgICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IHByZXYuZmlsdGVyKHByZXZMZWdlbmRJdGVtSWQgPT4gcHJldkxlZ2VuZEl0ZW1JZCAhPT0gbGVnZW5kSXRlbS55S2V5KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gWy4uLnByZXYsIGxlZ2VuZEl0ZW0ueUtleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ld1Zpc2libGVMZWdlbmRJdGVtcy5sZW5ndGggPT09IDBcbiAgICAgICAgICA/IGl0ZW0ubGVnZW5kSXRlbXMubWFwKGxlZ2VuZEl0ZW0gPT4gbGVnZW5kSXRlbS55S2V5KVxuICAgICAgICAgIDogbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zO1xuICAgICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y3NzKHsgaGVpZ2h0OiA0MCwgcGFkZGluZ1RvcDogOCB9KX0+XG4gICAgICA8U2Nyb2xsYmFyXG4gICAgICAgIGNsYXNzTmFtZT17Y3NzKHtcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICAgICAgZmxleFdyYXA6ICdub3dyYXAnLFxuICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgIG1hcmdpbkxlZnQ6IG1hcmdpbkxlZnQgPyBgJHttYXJnaW5MZWZ0fXB4YCA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSl9XG4gICAgICAgIHg9e3RydWV9XG4gICAgICA+XG4gICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgPEZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgICAge2l0ZW0ubGVnZW5kSXRlbXMubWFwKFxuICAgICAgICAgICAgICBsZWdlbmRJdGVtID0+XG4gICAgICAgICAgICAgICAga2V5c1tsZWdlbmRJdGVtLnlLZXldICYmIChcbiAgICAgICAgICAgICAgICAgIDxMZWdlbmRJdGVtXG4gICAgICAgICAgICAgICAgICAgIHsuLi5sZWdlbmRJdGVtfVxuICAgICAgICAgICAgICAgICAgICBrZXk9e2BsZWdlbmQtJHtsZWdlbmRJdGVtLnlLZXl9YH1cbiAgICAgICAgICAgICAgICAgICAgeUtleUZvcm1hdHRlZD17a2V5c1tsZWdlbmRJdGVtLnlLZXldLmtleUZvcm1hdHRlZH1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9uQ2xpY2soaXRlbSwgbGVnZW5kSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIHZpc2libGU9e3NldFZpc2libGVZS2V5cyA/IGl0ZW0udmlzaWJsZVlLZXlzLmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkgOiB0cnVlfVxuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcz17aXRlbS5jb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICApKX1cbiAgICAgIDwvU2Nyb2xsYmFyPlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ== */"),
44202
+ x: true,
44203
+ children: items.map(function (item, index) {
44204
+ return jsxRuntime.jsx(React.Fragment, {
44205
+ children: item.legendItems.map(function (legendItem) {
44206
+ return keys[legendItem.yKey] && react.createElement(LegendItem, _extends({}, legendItem, {
44207
+ key: "legend-" + legendItem.yKey,
44208
+ yKeyFormatted: keys[legendItem.yKey].keyFormatted,
44209
+ onClick: function onClick() {
44210
+ handleOnClick(item, legendItem);
44211
+ },
44212
+ visible: setVisibleYKeys ? item.visibleYKeys.includes(legendItem.yKey) : true,
44213
+ conditionalFormattingRules: item.conditionalFormattingRules
44214
+ }));
44215
+ })
44216
+ }, index);
44217
+ })
44218
+ })
44219
+ });
44220
+ };
44221
+
44222
+ 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)."; }
44223
+ var MIN_TOOLTIP_WIDTH = 180;
44224
+ var TOOLTIP_OFFSET = 20;
44225
+ var SCROLLBAR_WIDTH = 40;
44226
+ var Tooltip$1 = function Tooltip(_ref) {
44227
+ var _tooltipData$xKey$for, _tooltipData$xKey;
44228
+ var keys = _ref.keys,
44229
+ showRoundedTotal = _ref.showRoundedTotal,
44230
+ tooltipData = _ref.tooltipData,
44231
+ tooltipLeft = _ref.tooltipLeft,
44232
+ tooltipTop = _ref.tooltipTop,
44233
+ xKey = _ref.xKey,
44234
+ yKeys = _ref.yKeys,
44235
+ theme = _ref.theme,
44236
+ items = _ref.items,
44237
+ _ref$shouldShowColorL = _ref.shouldShowColorLegend,
44238
+ shouldShowColorLegend = _ref$shouldShowColorL === void 0 ? true : _ref$shouldShowColorL;
44239
+ var tooltipRef = React.useRef(null);
44240
+ var _useState = React.useState({
44241
+ left: tooltipLeft
44242
+ }),
44243
+ position = _useState[0],
44244
+ setPosition = _useState[1];
44245
+ React.useEffect(function () {
44246
+ var adjustTooltipPosition = function adjustTooltipPosition() {
44247
+ var tooltipElement = tooltipRef.current;
44248
+ if (tooltipElement) {
44249
+ var screenWidth = window.innerWidth;
44250
+ var rect = tooltipElement.getBoundingClientRect();
44251
+ var width = rect.width;
44252
+ if (width < MIN_TOOLTIP_WIDTH) {
44253
+ width = MIN_TOOLTIP_WIDTH;
44254
+ }
44255
+ var left = tooltipLeft + TOOLTIP_OFFSET;
44256
+ if (tooltipLeft + width > screenWidth - SCROLLBAR_WIDTH) {
44257
+ left = tooltipLeft - width - TOOLTIP_OFFSET;
44258
+ }
44259
+ setPosition({
44260
+ left: left
44261
+ });
44262
+ }
44263
+ };
44264
+ adjustTooltipPosition();
44265
+ }, [tooltipLeft]);
44266
+ return /*#__PURE__*/ReactDOM.createPortal(jsxRuntime.jsx("div", {
44267
+ ref: tooltipRef,
44268
+ style: _extends({
44269
+ position: 'absolute',
44270
+ left: position.left,
44271
+ top: tooltipTop,
44272
+ zIndex: 2147483647 * 10
44273
+ }, theme),
44274
+ children: jsxRuntime.jsxs("div", {
44275
+ style: {
44276
+ wordBreak: 'break-all'
44277
+ },
44278
+ children: [jsxRuntime.jsx("div", {
44279
+ className: /*#__PURE__*/css$1.css({
44280
+ fontFamily: 'inherit',
44281
+ lineHeight: 'inherit',
44282
+ letterSpacing: 'inherit',
44283
+ fontWeight: 'bold',
44284
+ fontSize: '15px',
44285
+ width: '100%',
44286
+ minWidth: MIN_TOOLTIP_WIDTH
44287
+ }, ";label:Tooltip;", "/*# 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 */"),
44288
+ children: (_tooltipData$xKey$for = (_tooltipData$xKey = tooltipData[xKey]) == null ? void 0 : _tooltipData$xKey.formattedValue) != null ? _tooltipData$xKey$for : tooltipData[xKey].value
44289
+ }), jsxRuntime.jsx("table", {
44290
+ cellPadding: 0,
44291
+ cellSpacing: 0,
44292
+ className: /*#__PURE__*/css$1.css( {
44293
+ name: "9a1sa-Tooltip",
44294
+ styles: "margin:0;border-spacing:0;border-collapse:inherit;border:none;label:Tooltip;",
44295
+ 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 */",
44296
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$8
44297
+ }),
44298
+ children: jsxRuntime.jsxs("tbody", {
44299
+ children: [items.map(function (item, index) {
44300
+ var _item$legendItems;
44301
+ return jsxRuntime.jsx(React.Fragment, {
44302
+ children: (_item$legendItems = item.legendItems) == null ? void 0 : _item$legendItems.map(function (legendItem, index) {
44303
+ var _item$visibleYKeys, _item$conditionalForm;
44304
+ if (!tooltipData[legendItem.yKey] || tooltipData[legendItem.yKey].value === null) {
44305
+ // yKey could not be found in tooltipData
44306
+ return null;
44307
+ }
44308
+ return ((_item$visibleYKeys = item.visibleYKeys) == null ? void 0 : _item$visibleYKeys.includes(legendItem.yKey)) && jsxRuntime.jsxs("tr", {
44309
+ children: [shouldShowColorLegend && jsxRuntime.jsx("td", {
44310
+ style: {
44311
+ verticalAlign: 'middle',
44312
+ padding: index === 0 ? '12px 8px 0 0' : '8px 8px 0 0',
44313
+ width: 'auto'
44314
+ },
44315
+ children: jsxRuntime.jsx(LegendItemBox, {
44316
+ color: getColor({
44317
+ defaultColor: legendItem.color,
44318
+ value: tooltipData[legendItem.yKey].value,
44319
+ yKey: legendItem.yKey,
44320
+ conditionalFormattingRules: (_item$conditionalForm = item.conditionalFormattingRules) != null ? _item$conditionalForm : []
44321
+ }),
44322
+ style: legendItem.style,
44323
+ yKey: legendItem.yKey
44324
+ })
44325
+ }), jsxRuntime.jsx("td", {
44326
+ style: {
44327
+ padding: '8px 0 0 0'
44328
+ },
44329
+ children: keys[legendItem.yKey].keyFormatted
44330
+ }), jsxRuntime.jsx("td", {
44331
+ style: {
44332
+ fontWeight: 'bold',
44333
+ padding: '8px 0 0 16px'
44334
+ },
44335
+ children: tooltipData[legendItem.yKey].formattedValue ? tooltipData[legendItem.yKey].formattedValue : tooltipData[legendItem.yKey].value
44336
+ })]
44337
+ }, legendItem.yKey + "-" + index + "-" + tooltipData[legendItem.yKey].value);
44338
+ })
44339
+ }, index);
44340
+ }), showRoundedTotal && yKeys && jsxRuntime.jsxs("tr", {
44341
+ children: [jsxRuntime.jsx("td", {
44342
+ colSpan: 2,
44343
+ style: {
44344
+ padding: '12px 0 0 0'
44345
+ },
44346
+ children: "Rounded Total"
44347
+ }), jsxRuntime.jsx("td", {
44348
+ style: {
44349
+ fontWeight: 'bold',
44350
+ padding: '12px 0 0 16px'
44351
+ },
44352
+ children: yKeys.reduce(function (total, key) {
44353
+ return total + Math.round(tooltipData[key].value);
44354
+ }, 0)
44355
+ })]
44356
+ })]
44357
+ })
44358
+ })]
44359
+ })
44360
+ }), document.body);
44361
+ };
44362
+
44363
+ var CrosshairCircle = function CrosshairCircle(_ref) {
44364
+ var dataType = _ref.dataType,
44365
+ yKeys = _ref.yKeys,
44366
+ tooltipData = _ref.tooltipData,
44367
+ xKey = _ref.xKey,
44368
+ margin = _ref.margin,
44369
+ conditionalFormattingRules = _ref.conditionalFormattingRules,
44370
+ legendItems = _ref.legendItems,
44371
+ visibleYKeys = _ref.visibleYKeys,
44372
+ yScale = _ref.yScale,
44373
+ xScale = _ref.xScale;
44374
+ return jsxRuntime.jsx(React.Fragment, {
44375
+ children: yKeys.map(function (yKey) {
44376
+ if (!xKey || !tooltipData[yKey] || tooltipData[yKey].value === null) return null;
44377
+ if (tooltipData[xKey] && tooltipData[xKey].value && dataType && visibleYKeys.includes(yKey)) {
44378
+ var xValue = tooltipData[xKey].value;
44379
+ var xValueAdjusted = dataType === 'date_time' ? new Date(xValue) : dataType === 'number' ? Number(xValue) : String(xValue);
44380
+ return jsxRuntime.jsx("circle", {
44381
+ cx:
44382
+ // @ts-ignore
44383
+ xScale(xValueAdjusted) + margin.left,
44384
+ cy: yScale(yKey) + margin.top,
44385
+ r: 4,
44386
+ fill: getColor({
44387
+ defaultColor: legendItems.filter(function (legendItem) {
44388
+ return legendItem.yKey === yKey;
44389
+ })[0].color,
44390
+ yKey: yKey,
44391
+ value: tooltipData[yKey].value,
44392
+ conditionalFormattingRules: conditionalFormattingRules
44393
+ }),
44394
+ strokeWidth: 2,
44395
+ stroke: "#fff",
44396
+ pointerEvents: "none"
44397
+ }, yKey);
44398
+ } else {
44399
+ return null;
44400
+ }
44340
44401
  })
44341
44402
  });
44342
44403
  };
44343
44404
 
44405
+ var Line = function Line(_ref) {
44406
+ var margin = _ref.margin,
44407
+ x = _ref.x,
44408
+ height = _ref.height;
44409
+ return jsxRuntime.jsx(shape.Line, {
44410
+ from: {
44411
+ x: x,
44412
+ y: margin.top
44413
+ },
44414
+ to: {
44415
+ x: x,
44416
+ y: height + margin.top
44417
+ },
44418
+ stroke: '#aaa',
44419
+ strokeWidth: 2,
44420
+ pointerEvents: "none",
44421
+ opacity: 0.8
44422
+ });
44423
+ };
44424
+
44344
44425
  var LineChart$5 = function LineChart(_ref) {
44345
44426
  var _theme$axis;
44346
44427
  var chart = _ref.chart,
@@ -44430,6 +44511,26 @@ var LineChart$5 = function LineChart(_ref) {
44430
44511
  var handleMouseLeave = React.useCallback(function () {
44431
44512
  hideTooltip();
44432
44513
  }, [hideTooltip]);
44514
+ var labelDictionary = React.useMemo(function () {
44515
+ return getLabelDictionary(chart.data, chart.y.keys);
44516
+ }, [chart.data, chart.y.keys]);
44517
+ var memoizedLines = React.useMemo(function () {
44518
+ if (xScaleKey === null || xScale === null) return null;
44519
+ return jsxRuntime.jsx(Lines, {
44520
+ lines: chart.lines,
44521
+ conditionalFormattingRules: chart.conditionalFormattingRules,
44522
+ curve: curve,
44523
+ yKeys: chart.y.keys,
44524
+ visibleYKeys: visibleYKeys,
44525
+ data: dataFlattened,
44526
+ xScaleKey: xScaleKey,
44527
+ xScaleDataType: xScaleDataType,
44528
+ xScale: xScale,
44529
+ yScale: _yScale,
44530
+ showLabels: options.showLabels,
44531
+ labelDictionary: labelDictionary
44532
+ });
44533
+ }, [chart.lines, chart.conditionalFormattingRules, curve, chart.y.keys, visibleYKeys, dataFlattened, xScaleKey, xScaleDataType, xScale, _yScale, options.showLabels, labelDictionary]);
44433
44534
  if (width === 0 || height === 0 || xScale === null) return jsxRuntime.jsx(React__default.Fragment, {});
44434
44535
  var yTickValues = chart.y.ticks.map(function (tick) {
44435
44536
  return Number(tick.value);
@@ -44474,19 +44575,7 @@ var LineChart$5 = function LineChart(_ref) {
44474
44575
  ticks: yTickValues,
44475
44576
  stroke: theme == null || (_theme$axis = theme.axis) == null ? void 0 : _theme$axis.stroke
44476
44577
  }), jsxRuntime.jsx(group.Group, {
44477
- children: xScaleKey !== null && jsxRuntime.jsx(Lines, {
44478
- lines: chart.lines,
44479
- conditionalFormattingRules: chart.conditionalFormattingRules,
44480
- curve: curve,
44481
- yKeys: chart.y.keys,
44482
- visibleYKeys: visibleYKeys,
44483
- data: dataFlattened,
44484
- xScaleKey: xScaleKey,
44485
- xScaleDataType: xScaleDataType,
44486
- xScale: xScale,
44487
- yScale: _yScale,
44488
- showLabels: options.showLabels
44489
- })
44578
+ children: memoizedLines
44490
44579
  })]
44491
44580
  }), tooltipData && jsxRuntime.jsxs("g", {
44492
44581
  children: [jsxRuntime.jsx(Line, {
@@ -44535,7 +44624,7 @@ var LineChart$5 = function LineChart(_ref) {
44535
44624
  })]
44536
44625
  });
44537
44626
  };
44538
- function Lines(_ref2) {
44627
+ var Lines = /*#__PURE__*/React.memo(function Lines(_ref2) {
44539
44628
  var yKeys = _ref2.yKeys,
44540
44629
  visibleYKeys = _ref2.visibleYKeys,
44541
44630
  data = _ref2.data,
@@ -44546,7 +44635,8 @@ function Lines(_ref2) {
44546
44635
  lines = _ref2.lines,
44547
44636
  curve = _ref2.curve,
44548
44637
  conditionalFormattingRules = _ref2.conditionalFormattingRules,
44549
- showLabels = _ref2.showLabels;
44638
+ showLabels = _ref2.showLabels,
44639
+ labelDictionary = _ref2.labelDictionary;
44550
44640
  var _useMemo = React.useMemo(function () {
44551
44641
  var allBarValues = getAllChartValues(data, yKeys);
44552
44642
  var _getMinMaxChartValueF = getMinMaxChartValueFromNumberArray(allBarValues),
@@ -44612,7 +44702,8 @@ function Lines(_ref2) {
44612
44702
  totalItems: data.length,
44613
44703
  minValue: minValue,
44614
44704
  maxValue: maxValue,
44615
- showLabels: showLabels
44705
+ showLabels: showLabels,
44706
+ labelDictionary: labelDictionary
44616
44707
  });
44617
44708
  })]
44618
44709
  });
@@ -44667,33 +44758,35 @@ function Lines(_ref2) {
44667
44758
  }, clipPathId);
44668
44759
  })]
44669
44760
  });
44670
- function LineLabel(_ref5) {
44671
- var chartData = _ref5.chartData,
44672
- yKey = _ref5.yKey,
44673
- xScaleKey = _ref5.xScaleKey,
44674
- xScale = _ref5.xScale,
44675
- yScale = _ref5.yScale,
44676
- totalItems = _ref5.totalItems,
44677
- minValue = _ref5.minValue,
44678
- maxValue = _ref5.maxValue,
44679
- showLabels = _ref5.showLabels;
44680
- var xValue = chartData[xScaleKey];
44681
- var yValue = chartData[yKey];
44682
- var xPadding = 18;
44683
- var yPadding = 8;
44684
- var xPosition = xScale(xValue);
44685
- var yPosition = yScale(yValue);
44686
- var showMinMax = showMinMaxLabel(Number(yValue), totalItems, minValue, maxValue);
44687
- if (xPosition == null || yPosition == null || !showMinMax || !showLabels) return null;
44688
- return jsxRuntime.jsx(DataLabel, {
44689
- x: xPosition - xPadding,
44690
- y: yPosition - yPadding,
44691
- dx: 2,
44692
- dy: 0,
44693
- title: yValue
44694
- });
44695
- }
44696
- }
44761
+ });
44762
+ var LineLabel = /*#__PURE__*/React.memo(function LineLabel(_ref5) {
44763
+ var chartData = _ref5.chartData,
44764
+ yKey = _ref5.yKey,
44765
+ xScaleKey = _ref5.xScaleKey,
44766
+ xScale = _ref5.xScale,
44767
+ yScale = _ref5.yScale,
44768
+ totalItems = _ref5.totalItems,
44769
+ minValue = _ref5.minValue,
44770
+ maxValue = _ref5.maxValue,
44771
+ showLabels = _ref5.showLabels,
44772
+ labelDictionary = _ref5.labelDictionary;
44773
+ var xValue = chartData[xScaleKey];
44774
+ var yValue = chartData[yKey];
44775
+ var xPadding = 18;
44776
+ var yPadding = 8;
44777
+ var xPosition = xScale(xValue);
44778
+ var yPosition = yScale(yValue);
44779
+ var showMinMax = showMinMaxLabel(Number(yValue), totalItems, minValue, maxValue);
44780
+ var displayValue = getFormattedValue(yValue, labelDictionary);
44781
+ if (xPosition == null || yPosition == null || !showMinMax || !showLabels) return null;
44782
+ return jsxRuntime.jsx(DataLabel, {
44783
+ x: xPosition - xPadding,
44784
+ y: yPosition - yPadding,
44785
+ dx: 2,
44786
+ dy: 0,
44787
+ title: displayValue
44788
+ });
44789
+ });
44697
44790
 
44698
44791
  var BAR_RADIUS = 2;
44699
44792
 
@@ -44739,7 +44832,8 @@ function BarGroup(_ref) {
44739
44832
  yLabelPosition = _ref.yLabelPosition,
44740
44833
  showDetailedSubGroupingLabels = _ref.showDetailedSubGroupingLabels,
44741
44834
  labelStyle = _ref.labelStyle,
44742
- showLabels = _ref.showLabels;
44835
+ showLabels = _ref.showLabels,
44836
+ formattedData = _ref.formattedData;
44743
44837
  var getGroupPosition = function getGroupPosition(d) {
44744
44838
  var xValue = d[xKey];
44745
44839
  if (xScaleDataType === 'string') return String(xValue);
@@ -44751,6 +44845,9 @@ function BarGroup(_ref) {
44751
44845
  }
44752
44846
  return String(xValue);
44753
44847
  };
44848
+ var formattedLabelsDict = React.useMemo(function () {
44849
+ return getLabelDictionary(formattedData, keys);
44850
+ }, [formattedData, keys]);
44754
44851
  var _useMemo = React.useMemo(function () {
44755
44852
  var allBarValues = getAllChartValues(data, keys);
44756
44853
  var _getMinMaxChartValueF = getMinMaxChartValueFromNumberArray(allBarValues),
@@ -44799,7 +44896,9 @@ function BarGroup(_ref) {
44799
44896
  minValue: minValue,
44800
44897
  maxValue: maxValue,
44801
44898
  totalItems: totalItems,
44802
- showLabels: showLabels
44899
+ showLabels: showLabels,
44900
+ labelDictionary: formattedLabelsDict,
44901
+ yScale: yScale
44803
44902
  }, "bar-" + bar.index + "-" + bar.x);
44804
44903
  })
44805
44904
  }, "bar-group-" + barGroup.index + "-" + barGroup.x0);
@@ -44821,11 +44920,17 @@ var Bar = function Bar(_ref2) {
44821
44920
  minValue = _ref2.minValue,
44822
44921
  maxValue = _ref2.maxValue,
44823
44922
  totalItems = _ref2.totalItems,
44824
- showLabels = _ref2.showLabels;
44923
+ showLabels = _ref2.showLabels,
44924
+ labelDictionary = _ref2.labelDictionary,
44925
+ yScale = _ref2.yScale;
44825
44926
  var showBar = bar.value !== null && bar.height > 0 && bar.width > 0;
44826
- var labelX = bar.width < 10 ? bar.x - 14 : bar.x / 2;
44827
- var labelY = bar.y - 4;
44927
+ var xPadding = 14;
44928
+ var yPadding = 8;
44929
+ var labelX = bar.x - xPadding;
44930
+ var barTopY = yScale(bar.value);
44931
+ var labelY = barTopY - yPadding;
44828
44932
  var showMinMax = showMinMaxLabel(bar.value, totalItems, minValue, maxValue);
44933
+ var displayValue = getFormattedValue(bar.value, labelDictionary);
44829
44934
  return jsxRuntime.jsxs(React.Fragment, {
44830
44935
  children: [showBar && jsxRuntime.jsx(BarRect, {
44831
44936
  barRectKey: "bar-group-bar-" + barGroup.index + "-" + bar.index + "-" + bar.value + "-" + String(bar.key),
@@ -44841,7 +44946,7 @@ var Bar = function Bar(_ref2) {
44841
44946
  }), showLabels && showMinMax && jsxRuntime.jsx(DataLabel, {
44842
44947
  x: labelX,
44843
44948
  y: labelY,
44844
- title: bar.value,
44949
+ title: displayValue,
44845
44950
  dx: 1,
44846
44951
  dy: 0
44847
44952
  }), jsxRuntime.jsx(BarLabel, {
@@ -44869,7 +44974,7 @@ var BarRect = function BarRect(_ref3) {
44869
44974
  var classes = enableHover ? /*#__PURE__*/css$1.css( {
44870
44975
  name: "1ltmijl-classes",
44871
44976
  styles: "cursor:pointer;label:classes;",
44872
- 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= */",
44977
+ 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 */",
44873
44978
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$9
44874
44979
  }) : '';
44875
44980
  var handleOnMouseEnter = function handleOnMouseEnter() {
@@ -45206,7 +45311,8 @@ var BarChart$5 = function BarChart(_ref) {
45206
45311
  yAxisLabels: yAxisLabels,
45207
45312
  yLabelPosition: ySubLabelPosition,
45208
45313
  labelStyle: themeCSS.labels,
45209
- showLabels: options.showLabels
45314
+ showLabels: options.showLabels,
45315
+ formattedData: chart.data
45210
45316
  }), options.stacked && xScaleKey !== null && jsxRuntime.jsx(BarStacked, {
45211
45317
  data: dataFlattened,
45212
45318
  keys: chart.y.keys,
@@ -45461,6 +45567,9 @@ var AreaChart$5 = function AreaChart(_ref) {
45461
45567
  };
45462
45568
  return curveMap[(_options$curve = options.curve) != null ? _options$curve : 'natural'];
45463
45569
  }, [options.curve]);
45570
+ var labelDictionary = React.useMemo(function () {
45571
+ return getLabelDictionary(chart.data, chart.y.keys);
45572
+ }, [chart.data, chart.y.keys]);
45464
45573
  if (width === 0 || height === 0 || xScale === null) return jsxRuntime.jsx(React__default.Fragment, {});
45465
45574
  var yTickValues = chart.y.ticks.map(function (tick) {
45466
45575
  return Number(tick.value);
@@ -45601,7 +45710,8 @@ var AreaChart$5 = function AreaChart(_ref) {
45601
45710
  totalItems: dataFlattened.length,
45602
45711
  minValue: minValue,
45603
45712
  maxValue: maxValue,
45604
- showLabels: options.showLabels
45713
+ showLabels: options.showLabels,
45714
+ labelDictionary: labelDictionary
45605
45715
  });
45606
45716
  })]
45607
45717
  }, yKey + "-" + AREA_GRADIENT_ID_PREFIX);
@@ -45663,7 +45773,8 @@ function AreaLabel(_ref3) {
45663
45773
  totalItems = _ref3.totalItems,
45664
45774
  minValue = _ref3.minValue,
45665
45775
  maxValue = _ref3.maxValue,
45666
- showLabels = _ref3.showLabels;
45776
+ showLabels = _ref3.showLabels,
45777
+ labelDictionary = _ref3.labelDictionary;
45667
45778
  var xValue = chartData[xScaleKey];
45668
45779
  var yValue = chartData[yKey];
45669
45780
  var xPadding = 18;
@@ -45672,12 +45783,13 @@ function AreaLabel(_ref3) {
45672
45783
  var yPosition = yScale(yValue);
45673
45784
  var showMinMax = showMinMaxLabel(Number(yValue), totalItems, minValue, maxValue);
45674
45785
  if (xPosition == null || yPosition == null || !showMinMax || !showLabels) return null;
45786
+ var displayValue = getFormattedValue(yValue, labelDictionary);
45675
45787
  return jsxRuntime.jsx(DataLabel, {
45676
45788
  x: xPosition - xPadding,
45677
45789
  y: yPosition - yPadding,
45678
45790
  dx: 2,
45679
45791
  dy: 0,
45680
- title: yValue
45792
+ title: displayValue
45681
45793
  });
45682
45794
  }
45683
45795
  function Area(_ref4) {
@@ -45966,6 +46078,58 @@ function Bubbles(_ref2) {
45966
46078
  });
45967
46079
  }
45968
46080
 
46081
+ var RadarCrosshairCircle = function RadarCrosshairCircle(_ref) {
46082
+ var tooltipData = _ref.tooltipData,
46083
+ yKeys = _ref.yKeys,
46084
+ legendItems = _ref.legendItems,
46085
+ conditionalFormattingRules = _ref.conditionalFormattingRules,
46086
+ visibleYKeys = _ref.visibleYKeys,
46087
+ radius = _ref.radius,
46088
+ yScale = _ref.yScale,
46089
+ dataPointIndex = _ref.dataPointIndex,
46090
+ totalDataPoints = _ref.totalDataPoints;
46091
+ var radiusScale = scale.scaleLinear({
46092
+ range: [0, radius],
46093
+ domain: [0, yScale.max],
46094
+ nice: true
46095
+ });
46096
+ var step = Math.PI * 2 / totalDataPoints;
46097
+ var yKeysTest = [].concat(yKeys);
46098
+ if (yKeysTest.length > 1) {
46099
+ var lastItem = yKeysTest.pop();
46100
+ yKeysTest.unshift(lastItem);
46101
+ }
46102
+ return jsxRuntime.jsx(React.Fragment, {
46103
+ children: yKeysTest.map(function (yKey) {
46104
+ var _legendItems$filter$;
46105
+ if (!tooltipData[yKey] || tooltipData[yKey].value === null || !visibleYKeys.includes(yKey)) {
46106
+ return null;
46107
+ }
46108
+ var value = tooltipData[yKey].value;
46109
+ var scaledRadius = radiusScale(value);
46110
+ var angle = (dataPointIndex + 1) * step;
46111
+ var x = scaledRadius * Math.sin(angle);
46112
+ var y = scaledRadius * Math.cos(angle);
46113
+ return jsxRuntime.jsx("circle", {
46114
+ cx: x,
46115
+ cy: y,
46116
+ r: 6,
46117
+ fill: getColor({
46118
+ defaultColor: ((_legendItems$filter$ = legendItems.filter(function (legendItem) {
46119
+ return legendItem.yKey === yKey;
46120
+ })[0]) == null ? void 0 : _legendItems$filter$.color) || '#000',
46121
+ yKey: yKey,
46122
+ value: tooltipData[yKey].value,
46123
+ conditionalFormattingRules: conditionalFormattingRules
46124
+ }),
46125
+ strokeWidth: 2,
46126
+ stroke: "#fff",
46127
+ pointerEvents: "none"
46128
+ }, "radar-crosshair-" + yKey);
46129
+ })
46130
+ });
46131
+ };
46132
+
45969
46133
  var getValue = function getValue(d, key) {
45970
46134
  return d[key].value;
45971
46135
  };
@@ -45995,7 +46159,9 @@ var genPolygonPoints = function genPolygonPoints(dataArray, scale, yKey) {
45995
46159
  var Polygons = function Polygons(_ref) {
45996
46160
  var chart = _ref.chart,
45997
46161
  radius = _ref.radius,
45998
- visibleYKeys = _ref.visibleYKeys;
46162
+ visibleYKeys = _ref.visibleYKeys,
46163
+ tooltipData = _ref.tooltipData,
46164
+ hoveredDataPointIndex = _ref.hoveredDataPointIndex;
45999
46165
  var yKeys = chart.y.keys;
46000
46166
  var yScale = scale.scaleLinear({
46001
46167
  range: [0, radius],
@@ -46008,16 +46174,26 @@ var Polygons = function Polygons(_ref) {
46008
46174
  return (_yScale = yScale(d)) != null ? _yScale : 0;
46009
46175
  }, yKey);
46010
46176
  });
46011
- return jsxRuntime.jsx(jsxRuntime.Fragment, {
46012
- children: polygonsPoints.map(function (polygonPoints) {
46177
+ return jsxRuntime.jsxs(jsxRuntime.Fragment, {
46178
+ children: [polygonsPoints.map(function (polygonPoints) {
46013
46179
  return jsxRuntime.jsx(SinglePolygon, {
46014
46180
  isVisible: visibleYKeys.includes(polygonPoints.yKey),
46015
46181
  polygonPoints: polygonPoints,
46016
46182
  colors: chart.lines.filter(function (legendItem) {
46017
46183
  return legendItem.yKey === polygonPoints.yKey;
46018
46184
  })[0].color
46019
- });
46020
- })
46185
+ }, polygonPoints.yKey);
46186
+ }), tooltipData && hoveredDataPointIndex !== undefined && hoveredDataPointIndex >= 0 && jsxRuntime.jsx(RadarCrosshairCircle, {
46187
+ tooltipData: tooltipData,
46188
+ yKeys: chart.y.keys,
46189
+ legendItems: chart.lines,
46190
+ conditionalFormattingRules: [],
46191
+ visibleYKeys: visibleYKeys,
46192
+ radius: radius,
46193
+ yScale: chart.y.scale,
46194
+ dataPointIndex: hoveredDataPointIndex,
46195
+ totalDataPoints: chart.data.length
46196
+ })]
46021
46197
  });
46022
46198
  };
46023
46199
  var SinglePolygon = function SinglePolygon(_ref2) {
@@ -46044,15 +46220,6 @@ var SinglePolygon = function SinglePolygon(_ref2) {
46044
46220
  });
46045
46221
  };
46046
46222
 
46047
- var genPoints = function genPoints(length, radius) {
46048
- var step = Math.PI * 2 / length;
46049
- return [].concat(new Array(length)).map(function (_, i) {
46050
- return {
46051
- x: radius * Math.sin(i * step),
46052
- y: radius * Math.cos(i * step)
46053
- };
46054
- });
46055
- };
46056
46223
  var MiddleLine = function MiddleLine(_ref) {
46057
46224
  var chart = _ref.chart,
46058
46225
  radius = _ref.radius,
@@ -46062,7 +46229,6 @@ var MiddleLine = function MiddleLine(_ref) {
46062
46229
  var _useState = React.useState([]),
46063
46230
  textWidths = _useState[0],
46064
46231
  setTextWidths = _useState[1];
46065
- var points = genPoints(chart.x.ticks.length, radius);
46066
46232
  var zeroPoint = new point.Point({
46067
46233
  x: 0,
46068
46234
  y: 0
@@ -46071,22 +46237,33 @@ var MiddleLine = function MiddleLine(_ref) {
46071
46237
  var _tick$formattedValue;
46072
46238
  return (_tick$formattedValue = tick.formattedValue) != null ? _tick$formattedValue : tick.value;
46073
46239
  });
46240
+ var genPoints = function genPoints(length, radius) {
46241
+ var step = Math.PI * 2 / length;
46242
+ return new Array(length).fill(0).map(function (_, i) {
46243
+ return {
46244
+ x: radius * Math.sin(i * step),
46245
+ y: radius * Math.cos(i * step)
46246
+ };
46247
+ });
46248
+ };
46074
46249
  React.useEffect(function () {
46075
46250
  var newWidths = textRefs.current.map(function (ref) {
46076
46251
  return ref ? ref.getComputedTextLength() : 0;
46077
46252
  });
46078
46253
  setTextWidths(newWidths);
46079
- }, [categoryValues]);
46254
+ }, []);
46255
+ var points = genPoints(chart.x.ticks.length, radius);
46080
46256
  points.push(points.shift());
46081
46257
  return jsxRuntime.jsx(jsxRuntime.Fragment, {
46082
- children: [].concat(new Array(chart.x.ticks.length)).map(function (_, i) {
46258
+ children: new Array(chart.x.ticks.length).fill(0).map(function (_, i) {
46083
46259
  var xOffset = points[i].x >= 0 ? textWidths[i] / 2 : -(textWidths[i] / 2);
46084
- return jsxRuntime.jsxs(jsxRuntime.Fragment, {
46260
+ return jsxRuntime.jsxs(React__default.Fragment, {
46085
46261
  children: [jsxRuntime.jsx(shape.Line, {
46086
46262
  from: zeroPoint,
46087
46263
  to: points[i],
46088
- stroke: themeCSS.axis.stroke,
46089
- strokeDasharray: "0.5 5"
46264
+ style: _extends({
46265
+ stroke: themeCSS.axis.stroke
46266
+ }, LINE_STYLES)
46090
46267
  }, "radar-line-" + i), show && jsxRuntime.jsx("text", {
46091
46268
  ref: function ref(el) {
46092
46269
  return textRefs.current[i] = el;
@@ -46097,13 +46274,13 @@ var MiddleLine = function MiddleLine(_ref) {
46097
46274
  textAnchor: "middle",
46098
46275
  children: categoryValues[i]
46099
46276
  })]
46100
- });
46277
+ }, "middle-line-" + i);
46101
46278
  })
46102
46279
  });
46103
46280
  };
46104
46281
 
46105
46282
  var genAngles = function genAngles(length, degrees) {
46106
- return [].concat(new Array(length + 1)).map(function (_, i) {
46283
+ return new Array(length + 1).fill(0).map(function (_, i) {
46107
46284
  return {
46108
46285
  angle: i * (degrees / length) + (length % 2 === 0 ? 0 : degrees / length / 2)
46109
46286
  };
@@ -46135,9 +46312,9 @@ var Grid$1 = function Grid(_ref) {
46135
46312
  }, [chart.y.ticks]);
46136
46313
  var chartValue = (_chart$y$ticks$scaleV = chart.y.ticks[levels - 1].scaleValue) != null ? _chart$y$ticks$scaleV : chart.y.ticks[levels - 1].value;
46137
46314
  return jsxRuntime.jsx(jsxRuntime.Fragment, {
46138
- children: [].concat(new Array(levels)).map(function (_, i) {
46315
+ children: new Array(levels).fill(0).map(function (_, i) {
46139
46316
  var levelRadius = chart.y.ticks[i].value / chartValue * radius;
46140
- return jsxRuntime.jsxs(jsxRuntime.Fragment, {
46317
+ return jsxRuntime.jsxs(React__default.Fragment, {
46141
46318
  children: [jsxRuntime.jsx(shape.LineRadial, {
46142
46319
  data: webs,
46143
46320
  angle: function angle(d) {
@@ -46148,7 +46325,7 @@ var Grid$1 = function Grid(_ref) {
46148
46325
  fill: "none",
46149
46326
  style: _extends({
46150
46327
  stroke: themeCSS.axis.stroke
46151
- }, GRID_STYLES)
46328
+ }, LINE_STYLES)
46152
46329
  }, "web-" + i), jsxRuntime.jsx("text", {
46153
46330
  x: 0,
46154
46331
  y: levelRadius,
@@ -46158,11 +46335,40 @@ var Grid$1 = function Grid(_ref) {
46158
46335
  textAnchor: "middle",
46159
46336
  children: tickFormat(chart.y.ticks[i].value)
46160
46337
  })]
46161
- });
46338
+ }, "grid-level-" + i);
46162
46339
  })
46163
46340
  });
46164
46341
  };
46165
46342
 
46343
+ var getRadarTooltipData = function getRadarTooltipData(_ref) {
46344
+ var data = _ref.data,
46345
+ event$1 = _ref.event,
46346
+ totalDataPoints = _ref.totalDataPoints,
46347
+ centerX = _ref.centerX,
46348
+ centerY = _ref.centerY;
46349
+ var point = event.localPoint(event$1) || {
46350
+ x: 0,
46351
+ y: 0
46352
+ };
46353
+ if (!point) return;
46354
+ var mouseX = point.x - centerX;
46355
+ var mouseY = point.y - centerY;
46356
+ var mouseAngle = Math.atan2(mouseX, mouseY);
46357
+ if (mouseAngle < 0) {
46358
+ mouseAngle += 2 * Math.PI;
46359
+ }
46360
+ var step = Math.PI * 2 / totalDataPoints;
46361
+ var dataPointIndex = Math.round(mouseAngle / step) % totalDataPoints;
46362
+ dataPointIndex = (dataPointIndex - 1 + totalDataPoints) % totalDataPoints;
46363
+ var tooltipData = data[dataPointIndex] || null;
46364
+ var angle = (dataPointIndex + 1) * step;
46365
+ return {
46366
+ tooltipData: tooltipData,
46367
+ dataPointIndex: dataPointIndex,
46368
+ angle: angle
46369
+ };
46370
+ };
46371
+
46166
46372
  var WIDTH_MULTIPLIER_TO_SCROLL = 1.2;
46167
46373
  var LEGEND_PADDING = 40;
46168
46374
  var RadarChart$2 = function RadarChart(_ref) {
@@ -46171,6 +46377,15 @@ var RadarChart$2 = function RadarChart(_ref) {
46171
46377
  height = _ref.height,
46172
46378
  options = _ref.options,
46173
46379
  theme = _ref.theme;
46380
+ var _useTooltip = useTooltip$1(),
46381
+ tooltipOpen = _useTooltip.tooltipOpen,
46382
+ _useTooltip$tooltipLe = _useTooltip.tooltipLeft,
46383
+ tooltipLeft = _useTooltip$tooltipLe === void 0 ? 0 : _useTooltip$tooltipLe,
46384
+ _useTooltip$tooltipTo = _useTooltip.tooltipTop,
46385
+ tooltipTop = _useTooltip$tooltipTo === void 0 ? 0 : _useTooltip$tooltipTo,
46386
+ tooltipData = _useTooltip.tooltipData,
46387
+ hideTooltip = _useTooltip.hideTooltip,
46388
+ showTooltip = _useTooltip.showTooltip;
46174
46389
  var ref = React.useRef(null);
46175
46390
  var _useState = React.useState(0),
46176
46391
  groupWidth = _useState[0],
@@ -46180,13 +46395,17 @@ var RadarChart$2 = function RadarChart(_ref) {
46180
46395
  })),
46181
46396
  visibleYKeys = _useState2[0],
46182
46397
  setVisibleYKeys = _useState2[1];
46398
+ var _useState3 = React.useState(),
46399
+ hoveredDataPointIndex = _useState3[0],
46400
+ setHoveredDataPointIndex = _useState3[1];
46183
46401
  var themeCSS = React.useMemo(function () {
46184
- return getChartThemeCSS(theme);
46402
+ var css = getChartThemeCSS(theme);
46403
+ return css;
46185
46404
  }, [theme]);
46186
46405
  var margin = buildMargin(chart.y.ticks, options.axis.showYAxisLabels, chart.y.title != null, chart.x.title != null);
46187
46406
  var innerWidth = width - margin.left - margin.right - (options.showLegend ? LEGEND_PADDING : 0);
46188
46407
  var innerHeight = height - margin.top - margin.bottom - (options.showLegend ? LEGEND_PADDING : 0);
46189
- var radius = Math.min(innerWidth, innerHeight) / 2;
46408
+ var radius = Math.min(innerWidth, innerHeight) / 2 * 0.93;
46190
46409
  React.useEffect(function () {
46191
46410
  var _ref$current;
46192
46411
  setVisibleYKeys(chart.lines.map(function (legendItem) {
@@ -46197,16 +46416,41 @@ var RadarChart$2 = function RadarChart(_ref) {
46197
46416
  setVisibleYKeys([]);
46198
46417
  };
46199
46418
  }, [chart.lines]);
46419
+ var centerX = (groupWidth > width ? width * WIDTH_MULTIPLIER_TO_SCROLL : width) / 2;
46420
+ var centerY = height / 2 - margin.top * 2;
46421
+ var handleMouseMove = React.useCallback(function (event) {
46422
+ var radarTooltipData = getRadarTooltipData({
46423
+ data: chart.data,
46424
+ event: event,
46425
+ totalDataPoints: chart.data.length,
46426
+ centerX: centerX,
46427
+ centerY: centerY
46428
+ });
46429
+ if (radarTooltipData) {
46430
+ setHoveredDataPointIndex(radarTooltipData.dataPointIndex);
46431
+ showTooltip({
46432
+ tooltipLeft: event.pageX,
46433
+ tooltipTop: event.pageY,
46434
+ tooltipData: radarTooltipData.tooltipData
46435
+ });
46436
+ }
46437
+ }, [showTooltip, chart.data, centerX, centerY]);
46438
+ var handleMouseLeave = React.useCallback(function () {
46439
+ hideTooltip();
46440
+ setHoveredDataPointIndex(-1);
46441
+ }, [hideTooltip]);
46200
46442
  if (width < 10) return null;
46201
46443
  return jsxRuntime.jsxs(React.Fragment, {
46202
46444
  children: [jsxRuntime.jsx(ChartWrapper$1, {
46203
46445
  width: groupWidth > width ? width * WIDTH_MULTIPLIER_TO_SCROLL : width,
46204
46446
  height: height,
46205
46447
  showLegend: options.showLegend,
46448
+ onMouseMove: handleMouseMove,
46449
+ onMouseLeave: handleMouseLeave,
46206
46450
  children: jsxRuntime.jsxs(group.Group, {
46207
46451
  innerRef: ref,
46208
- top: height / 2 - margin.top * 2,
46209
- left: (groupWidth > width ? width * WIDTH_MULTIPLIER_TO_SCROLL : width) / 2,
46452
+ top: centerY,
46453
+ left: centerX,
46210
46454
  children: [jsxRuntime.jsx(MiddleLine, {
46211
46455
  chart: chart,
46212
46456
  radius: radius,
@@ -46219,7 +46463,9 @@ var RadarChart$2 = function RadarChart(_ref) {
46219
46463
  }), jsxRuntime.jsx(Polygons, {
46220
46464
  chart: chart,
46221
46465
  radius: radius,
46222
- visibleYKeys: visibleYKeys
46466
+ visibleYKeys: visibleYKeys,
46467
+ tooltipData: tooltipData,
46468
+ hoveredDataPointIndex: hoveredDataPointIndex
46223
46469
  })]
46224
46470
  })
46225
46471
  }), options.showLegend && jsxRuntime.jsx(Legend$1, {
@@ -46231,6 +46477,21 @@ var RadarChart$2 = function RadarChart(_ref) {
46231
46477
  setVisibleYKeys: setVisibleYKeys,
46232
46478
  keys: chart.keys,
46233
46479
  marginLeft: margin.left - margin.leftTitleOffset
46480
+ }), tooltipOpen && tooltipData && chart.x.key && jsxRuntime.jsx(Tooltip$1, {
46481
+ items: [{
46482
+ legendItems: chart.lines,
46483
+ visibleYKeys: visibleYKeys,
46484
+ conditionalFormattingRules: []
46485
+ }],
46486
+ tooltipData: tooltipData,
46487
+ tooltipLeft: tooltipLeft,
46488
+ tooltipTop: tooltipTop,
46489
+ xKey: chart.x.key,
46490
+ keys: chart.keys,
46491
+ yKeys: chart.y.keys,
46492
+ showRoundedTotal: options.showRoundedTotal,
46493
+ theme: themeCSS.popoverMenus,
46494
+ shouldShowColorLegend: false
46234
46495
  })]
46235
46496
  });
46236
46497
  };
@@ -47927,6 +48188,7 @@ var LineChartV2View = function LineChartV2View(props) {
47927
48188
  overflowX: 'hidden'
47928
48189
  },
47929
48190
  children: function children(parent) {
48191
+ var _props$attributes$lab;
47930
48192
  if (chartRepresentation.lines.length === 0) return jsxRuntime.jsx(LoadingComponent, {});
47931
48193
  return jsxRuntime.jsx(LineChart$5, {
47932
48194
  width: parent.width,
@@ -47937,7 +48199,7 @@ var LineChartV2View = function LineChartV2View(props) {
47937
48199
  removeStroke: false,
47938
48200
  showRoundedTotal: false,
47939
48201
  showLegend: props.attributes.legend,
47940
- showLabels: false,
48202
+ showLabels: (_props$attributes$lab = props.attributes.labels) != null ? _props$attributes$lab : false,
47941
48203
  axis: {
47942
48204
  showXAxisLabels: props.attributes.approxXAxisLabelCount !== 0,
47943
48205
  showYAxisLabels: props.attributes.approxYAxisLabelCount !== 0
@@ -48297,7 +48559,7 @@ var AreaChartV2View = function AreaChartV2View(props) {
48297
48559
  overflowX: 'hidden'
48298
48560
  },
48299
48561
  children: function children(parent) {
48300
- var _props$attributes$vie2, _props$attributes$sta;
48562
+ var _props$attributes$vie2, _props$attributes$sta, _props$attributes$lab;
48301
48563
  if (chartRepresentation.areas.length === 0) return jsxRuntime.jsx(LoadingComponent, {});
48302
48564
  return jsxRuntime.jsx(AreaChart$5, {
48303
48565
  width: parent.width,
@@ -48310,7 +48572,7 @@ var AreaChartV2View = function AreaChartV2View(props) {
48310
48572
  removeStroke: false,
48311
48573
  showRoundedTotal: false,
48312
48574
  showLegend: props.attributes.legend,
48313
- showLabels: false,
48575
+ showLabels: (_props$attributes$lab = props.attributes.labels) != null ? _props$attributes$lab : false,
48314
48576
  axis: {
48315
48577
  showXAxisLabels: props.attributes.approxXAxisLabelCount !== 0,
48316
48578
  showYAxisLabels: props.attributes.approxYAxisLabelCount !== 0
@@ -48692,6 +48954,7 @@ var BarChartV2View = function BarChartV2View(props) {
48692
48954
  overflowX: 'hidden'
48693
48955
  },
48694
48956
  children: function children(parent) {
48957
+ var _props$attributes$lab;
48695
48958
  if (chartRepresentation.bars.length === 0) return jsxRuntime.jsx(LoadingComponent, {});
48696
48959
  return jsxRuntime.jsx(BarChart$5, {
48697
48960
  width: parent.width,
@@ -48702,7 +48965,7 @@ var BarChartV2View = function BarChartV2View(props) {
48702
48965
  removeStroke: false,
48703
48966
  showRoundedTotal: false,
48704
48967
  showLegend: props.attributes.legend,
48705
- showLabels: false,
48968
+ showLabels: (_props$attributes$lab = props.attributes.labels) != null ? _props$attributes$lab : false,
48706
48969
  axis: {
48707
48970
  showXAxisLabels: props.attributes.approxXAxisLabelCount !== 0,
48708
48971
  showYAxisLabels: props.attributes.approxYAxisLabelCount !== 0
@@ -49041,6 +49304,9 @@ var ComboChart$4 = function ComboChart(_ref) {
49041
49304
  tooltipData: buildComboTooltipData(barTooltip == null ? void 0 : barTooltip.tooltipData, lineTooltip == null ? void 0 : lineTooltip.tooltipData, xScaleKey)
49042
49305
  });
49043
49306
  }, [showTooltip, xScale, margin, xKey, xScaleKey, xScaleDataType, chart.x.scale.ordering, chart.bars.data, chart.lines.data]);
49307
+ var labelDictionary = React.useMemo(function () {
49308
+ return getLabelDictionary(chart.lines.data, chart.y.lineKeys);
49309
+ }, [chart.lines.data, chart.y.lineKeys]);
49044
49310
  var handleMouseLeave = React.useCallback(function () {
49045
49311
  hideTooltip();
49046
49312
  }, [hideTooltip]);
@@ -49095,7 +49361,8 @@ var ComboChart$4 = function ComboChart(_ref) {
49095
49361
  showDetailedSubGroupingLabels: false,
49096
49362
  yAxisLabels: [],
49097
49363
  yLabelPosition: 0,
49098
- showLabels: options.showLabels
49364
+ showLabels: options.showLabels,
49365
+ formattedData: chart.bars.data
49099
49366
  }), options.stacked && xScaleKey !== null && jsxRuntime.jsx(BarStacked, {
49100
49367
  data: barDataFlattened,
49101
49368
  keys: yBarKeys,
@@ -49120,7 +49387,8 @@ var ComboChart$4 = function ComboChart(_ref) {
49120
49387
  xScaleDataType: xScaleDataType,
49121
49388
  xScale: xScale,
49122
49389
  yScale: yScale,
49123
- showLabels: options.showLabels
49390
+ showLabels: options.showLabels,
49391
+ labelDictionary: labelDictionary
49124
49392
  })
49125
49393
  })]
49126
49394
  })]
@@ -49380,7 +49648,7 @@ var ComboChartViewV2 = function ComboChartViewV2(props) {
49380
49648
  overflowX: 'hidden'
49381
49649
  },
49382
49650
  children: function children(parent) {
49383
- var _props$attributes$sta2;
49651
+ var _props$attributes$sta2, _props$attributes$lab;
49384
49652
  var numberOfXTicksFittingIntoSpace = howManyTicksFitInWidth(comboChartRepresentation.x.ticks || [], parent.width);
49385
49653
  return jsxRuntime.jsx(ComboChart$4, {
49386
49654
  width: parent.width,
@@ -49398,7 +49666,7 @@ var ComboChartViewV2 = function ComboChartViewV2(props) {
49398
49666
  removeStroke: false,
49399
49667
  showRoundedTotal: false,
49400
49668
  showLegend: props.attributes.legend,
49401
- showLabels: false,
49669
+ showLabels: (_props$attributes$lab = props.attributes.labels) != null ? _props$attributes$lab : false,
49402
49670
  axis: {
49403
49671
  showXAxisLabels: props.attributes.approxXAxisLabelCount !== 0,
49404
49672
  showYAxisLabels: props.attributes.approxYAxisLabelCount !== 0
@@ -51952,7 +52220,7 @@ var defaultProps$8 = {
51952
52220
  approxYAxisLabelCount: 'auto'
51953
52221
  };
51954
52222
  var FunnelChartView = function FunnelChartView(props) {
51955
- 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;
52223
+ 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;
51956
52224
  var _props = props,
51957
52225
  displayTitle = _props.displayTitle,
51958
52226
  displaySubject = _props.displaySubject;
@@ -52043,11 +52311,11 @@ var FunnelChartView = function FunnelChartView(props) {
52043
52311
  colors: themeToColorScale(theme == null ? void 0 : theme.colors, series$1.length),
52044
52312
  data: resultSet$1,
52045
52313
  legend: showLegend((_props13 = props) == null ? void 0 : _props13.legend, (theme == null ? void 0 : theme.detail) === 'verbose'),
52046
- labels: false,
52314
+ labels: (_props$labels = (_props14 = props) == null ? void 0 : _props14.labels) != null ? _props$labels : false,
52047
52315
  removeStroke: false,
52048
52316
  forceXAxisAsTime: !!props.timeDimension,
52049
52317
  theme: theme == null ? void 0 : theme.charts,
52050
- axisTitles: (_props14 = props) == null ? void 0 : _props14.axisTitles,
52318
+ axisTitles: (_props15 = props) == null ? void 0 : _props15.axisTitles,
52051
52319
  formatSeriesName: formatSeriesName(props.result, textOverride, props.type, (_props$viewId2 = props.viewId) != null ? _props$viewId2 : '', labelFormat),
52052
52320
  conditionalFormattingPossibilities: function conditionalFormattingPossibilities(dataKey) {
52053
52321
  return getExplanationsOfConditionFormattingRulesThatApplyToSeries(props.dimension, props.conditionalFormattingRules,
@@ -52566,7 +52834,7 @@ var getScaleAndTicks$2 = function getScaleAndTicks(_ref) {
52566
52834
  var maxY = y.max || 0;
52567
52835
  var minY = Math.min(y.min || 0, 0);
52568
52836
  var yTickInterval = getNiceInterval$2((maxY - minY) / (tickCountYAxis - 1));
52569
- for (var i = 0; i <= tickCountYAxis; i++) {
52837
+ for (var i = 0; i <= Math.ceil(maxY / yTickInterval); i++) {
52570
52838
  var _value = yTickInterval * i;
52571
52839
  var formattedValue = formattingFunctionY(_value, nullValue);
52572
52840
  yTicks.push({
@@ -54276,14 +54544,9 @@ var WaterfallChart$2 = function WaterfallChart(_ref) {
54276
54544
  if (xScaleDataType === 'string') return String(xValue);
54277
54545
  return '';
54278
54546
  }, [xScaleKey, xScaleDataType]);
54279
- var _useMemo = React.useMemo(function () {
54280
- var stepValues = formattedChartDataForBarChart.steps.map(function (step) {
54281
- return step.y;
54282
- });
54283
- return getMinMaxChartValueFromNumberArray(stepValues);
54284
- }, [formattedChartDataForBarChart.steps]),
54285
- minValue = _useMemo.minValue,
54286
- maxValue = _useMemo.maxValue;
54547
+ var labelDictionary = React.useMemo(function () {
54548
+ return getLabelDictionary(formattedChartDataForBarChart.data, formattedChartDataForBarChart.y.keys);
54549
+ }, [formattedChartDataForBarChart.data, formattedChartDataForBarChart.y.keys]);
54287
54550
  if (width === 0 || height === 0 || xScale == null) return null;
54288
54551
  return jsxRuntime.jsxs(jsxRuntime.Fragment, {
54289
54552
  children: [jsxRuntime.jsxs(ChartWrapper$1, {
@@ -54381,10 +54644,9 @@ var WaterfallChart$2 = function WaterfallChart(_ref) {
54381
54644
  barGroup: barGroup,
54382
54645
  yScale: yScale,
54383
54646
  formattedChartDataForBarChart: formattedChartDataForBarChart,
54384
- maxValue: maxValue,
54385
- minValue: minValue,
54386
54647
  showLabels: options.showLabels,
54387
- totalItems: formattedChartDataForBarChart.steps.length
54648
+ totalItems: formattedChartDataForBarChart.steps.length,
54649
+ labelDictionary: labelDictionary
54388
54650
  }, "bar-" + bar.index);
54389
54651
  })
54390
54652
  }, "bar-group-" + barGroup.index + "-" + barGroup.x0);
@@ -54419,20 +54681,24 @@ var Bar$2 = function Bar(_ref4) {
54419
54681
  var bar = _ref4.bar,
54420
54682
  barColor = _ref4.barColor,
54421
54683
  barGroup = _ref4.barGroup,
54422
- yScale = _ref4.yScale,
54423
54684
  formattedChartDataForBarChart = _ref4.formattedChartDataForBarChart,
54685
+ labelDictionary = _ref4.labelDictionary,
54424
54686
  showLabels = _ref4.showLabels,
54425
54687
  totalItems = _ref4.totalItems,
54426
- minValue = _ref4.minValue,
54427
- maxValue = _ref4.maxValue;
54688
+ yScale = _ref4.yScale;
54428
54689
  var step = formattedChartDataForBarChart.steps[barGroup.index];
54429
54690
  var y = yScale(Math.max(step.start, step.end));
54430
54691
  var barHeight = Math.abs(yScale(step.start) - yScale(step.end));
54431
- var xPadding = 14;
54432
- var labelX = bar.width < 10 ? bar.x - xPadding : bar.x + bar.width / 2;
54692
+ var xPadding = 10;
54693
+ var labelX = bar.x - xPadding;
54433
54694
  var labelY = getStepYPosition(step, barHeight, y);
54434
- var showMinMax = showMinMaxLabel(step.y, totalItems, minValue, maxValue);
54435
- var shouldShowLabel = showLabels && showMinMax && bar.value > 0;
54695
+ var isFirstOrLastStep = barGroup.index === 0 || barGroup.index === totalItems - 1;
54696
+ var keyValue = step.end - step.start;
54697
+ var displayValue = getFormattedValue(keyValue, labelDictionary);
54698
+ var unformattedValue = displayValue.length > 15;
54699
+ if (unformattedValue) displayValue = keyValue;
54700
+ var showMinMax = unformattedValue ? isFirstOrLastStep : totalItems < 20 || isFirstOrLastStep;
54701
+ var shouldShowLabel = showLabels && showMinMax;
54436
54702
  return jsxRuntime.jsxs(jsxRuntime.Fragment, {
54437
54703
  children: [jsxRuntime.jsx("rect", {
54438
54704
  x: bar.x,
@@ -54444,7 +54710,7 @@ var Bar$2 = function Bar(_ref4) {
54444
54710
  }, "bar-group-bar-" + barGroup.index + "-" + bar.index + "-" + bar.value + "-" + bar.key), shouldShowLabel && jsxRuntime.jsx(DataLabel, {
54445
54711
  x: labelX,
54446
54712
  y: labelY,
54447
- title: step.y.toString(),
54713
+ title: displayValue,
54448
54714
  dx: 1,
54449
54715
  dy: 0
54450
54716
  })]
@@ -54473,7 +54739,7 @@ var WaterfallChartView = function WaterfallChartView(props) {
54473
54739
  displayTitle = props.displayTitle,
54474
54740
  headline = props.headline,
54475
54741
  id = props.id,
54476
- increaseColor = props.increaseColor,
54742
+ labels = props.labels,
54477
54743
  legend = props.legend,
54478
54744
  library = props.library,
54479
54745
  localFilters = props.localFilters,
@@ -54493,7 +54759,8 @@ var WaterfallChartView = function WaterfallChartView(props) {
54493
54759
  xAxisPrefix = props.xAxisPrefix,
54494
54760
  yAxisFormat = props.yAxisFormat,
54495
54761
  yAxisPostfix = props.yAxisPostfix,
54496
- yAxisPrefix = props.yAxisPrefix;
54762
+ yAxisPrefix = props.yAxisPrefix,
54763
+ increaseColor = props.increaseColor;
54497
54764
  var _useDashboardBehaviou = useDashboardBehaviourContext(),
54498
54765
  textOverride = _useDashboardBehaviou.textOverride,
54499
54766
  valueAlias = _useDashboardBehaviou.valueAlias,
@@ -54581,7 +54848,7 @@ var WaterfallChartView = function WaterfallChartView(props) {
54581
54848
  height: parent.height,
54582
54849
  options: {
54583
54850
  showLegend: showLegend(legend, (theme == null ? void 0 : theme.detail) === 'verbose'),
54584
- showLabels: false,
54851
+ showLabels: labels != null ? labels : false,
54585
54852
  showTooltipRoundedTotal: true,
54586
54853
  removeStroke: false,
54587
54854
  axis: {