@vizzly/dashboard 0.15.0-dev-ac044c49c73d54ff3c144918a639d24aea98b549 → 0.15.0-dev-99fa2919f27a2c00cd133f2bbc6a59fe90cb6b42

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.
@@ -7,6 +7,7 @@ export declare type BarGroupProps = {
7
7
  data: ChartDataDefinition[];
8
8
  keys: string[];
9
9
  height: number;
10
+ width?: number;
10
11
  xKey: string;
11
12
  xScaleDataType: DataType;
12
13
  xScale: ScaleBand<string> | ScaleBand<Date> | ScaleBand<number> | null;
@@ -25,4 +26,4 @@ export declare type BarGroupProps = {
25
26
  [key: string]: string;
26
27
  };
27
28
  };
28
- export declare function BarGroup({ data, keys, height, xKey, xScaleDataType, xScale, innerXScale, yScale, onClick, conditionalFormattingRules, bars, enableHover, yAxisLabels, yLabelPosition, showDetailedSubGroupingLabels, labelStyle, showLabels, labelDictionary, }: BarGroupProps): JSX.Element;
29
+ export declare function BarGroup({ data, keys, height, width, xKey, xScaleDataType, xScale, innerXScale, yScale, onClick, conditionalFormattingRules, bars, enableHover, yAxisLabels, yLabelPosition, showDetailedSubGroupingLabels, labelStyle, showLabels, labelDictionary, }: BarGroupProps): JSX.Element;
@@ -34825,16 +34825,6 @@ var calculateMinMax = function calculateMinMax(values) {
34825
34825
  maxValue: maxValue
34826
34826
  };
34827
34827
  };
34828
- var normalizeKey = function normalizeKey(value) {
34829
- if (typeof value === 'number' || !isNaN(Number(value)) && !isNaN(parseFloat(value))) {
34830
- var numValue = Number(value);
34831
- if (numValue >= 0 && numValue <= 1) {
34832
- return numValue.toString();
34833
- }
34834
- return numValue.toString().split('.')[0];
34835
- }
34836
- return String(value);
34837
- };
34838
34828
 
34839
34829
  // @TODO: Adjust the totalItems logic to be flexible based on the available width
34840
34830
  var showDataLabel = function showDataLabel(totalItems) {
@@ -34854,7 +34844,7 @@ var getLabelDictionary = function getLabelDictionary(formattedData, keys) {
34854
34844
  var convertedArray = keys.map(function (key) {
34855
34845
  var _d$key, _ref;
34856
34846
  if (!((_d$key = d[key]) != null && _d$key.formattedValue)) return;
34857
- var valueKey = normalizeKey(d[key].value);
34847
+ var valueKey = String(d[key].value);
34858
34848
  var label = d[key].formattedValue;
34859
34849
  return _ref = {}, _ref[valueKey] = label, _ref;
34860
34850
  }).flat();
@@ -34878,11 +34868,10 @@ var getLabelDictionary = function getLabelDictionary(formattedData, keys) {
34878
34868
  return dictionary;
34879
34869
  };
34880
34870
  var getFormattedValue = function getFormattedValue(value, dictionary) {
34881
- var _dictionary$normalize;
34871
+ var _dictionary$actualVal;
34882
34872
  var actualValue = (value == null ? void 0 : value.value) !== undefined ? value.value : value;
34883
34873
  if (!dictionary) return actualValue;
34884
- var normalizedKey = normalizeKey(actualValue);
34885
- return (_dictionary$normalize = dictionary[normalizedKey]) != null ? _dictionary$normalize : actualValue;
34874
+ return (_dictionary$actualVal = dictionary[actualValue]) != null ? _dictionary$actualVal : actualValue;
34886
34875
  };
34887
34876
  var getAllChartValues = function getAllChartValues(data, keys) {
34888
34877
  var allValues = [];
@@ -45820,6 +45809,7 @@ function BarGroup(_ref) {
45820
45809
  var data = _ref.data,
45821
45810
  keys = _ref.keys,
45822
45811
  height = _ref.height,
45812
+ width = _ref.width,
45823
45813
  xKey = _ref.xKey,
45824
45814
  xScaleDataType = _ref.xScaleDataType,
45825
45815
  xScale = _ref.xScale,
@@ -45885,7 +45875,8 @@ function BarGroup(_ref) {
45885
45875
  showLabels: showLabels,
45886
45876
  labelDictionary: labelDictionary,
45887
45877
  yScale: yScale,
45888
- containerHeight: height
45878
+ containerHeight: height,
45879
+ chartWidth: width
45889
45880
  }, "bar-" + bar.index + "-" + bar.x);
45890
45881
  })
45891
45882
  }, "bar-group-" + barGroup.index + "-" + barGroup.x0);
@@ -45893,6 +45884,22 @@ function BarGroup(_ref) {
45893
45884
  }
45894
45885
  });
45895
45886
  }
45887
+ function calculateBarLabelPosition(bar, barGroup, chartWidth, displayValue) {
45888
+ if (!displayValue) return false;
45889
+ var ESTIMATED_FONT_WIDTH = 5.75;
45890
+ var minWidthPercent = 0.02;
45891
+ var maxWidthPercent = 0.15;
45892
+ var minWidthPx = chartWidth * minWidthPercent;
45893
+ var maxWidthPx = chartWidth * maxWidthPercent;
45894
+ var minSize = 0.5;
45895
+ var maxSize = 1.2;
45896
+ var normalizedBarWidth = Math.min(Math.max(bar.width, minWidthPx), maxWidthPx);
45897
+ var logInput = 1 + (normalizedBarWidth - minWidthPx) / (maxWidthPx - minWidthPx) * (Math.E - 1);
45898
+ var logRatio = Math.log(logInput);
45899
+ var size = minSize + logRatio * (maxSize - minSize);
45900
+ var basePosition = barGroup.bars.length > 1 ? bar.x + bar.width * size / 2 : bar.width * size / 2;
45901
+ return basePosition - displayValue.length * ESTIMATED_FONT_WIDTH / 2;
45902
+ }
45896
45903
  var Bar = function Bar(_ref2) {
45897
45904
  var bar = _ref2.bar,
45898
45905
  barGroup = _ref2.barGroup,
@@ -45908,18 +45915,20 @@ var Bar = function Bar(_ref2) {
45908
45915
  showLabels = _ref2.showLabels,
45909
45916
  labelDictionary = _ref2.labelDictionary,
45910
45917
  yScale = _ref2.yScale,
45911
- containerHeight = _ref2.containerHeight;
45918
+ containerHeight = _ref2.containerHeight,
45919
+ chartWidth = _ref2.chartWidth;
45912
45920
  var X_PADDING = 10;
45913
45921
  var Y_PADDING = 8;
45914
45922
  var minWidth = 20;
45915
45923
  var minContainerHeight = 50;
45916
45924
  var showBar = bar.value !== null && bar.height > 0 && bar.width > 0;
45917
- var labelX = bar.x - X_PADDING;
45918
45925
  var barTopY = yScale(bar.value);
45926
+ var labelX = bar.x - X_PADDING;
45919
45927
  var labelY = barTopY - Y_PADDING;
45920
45928
  var showMinMax = showDataLabel(totalItems);
45921
45929
  var hasSpaceForLabel = showLabels && bar.width > minWidth && containerHeight > minContainerHeight;
45922
45930
  var displayValue = getFormattedValue(bar.value, labelDictionary);
45931
+ var barPosition = chartWidth ? calculateBarLabelPosition(bar, barGroup, chartWidth, displayValue) : labelX;
45923
45932
  return jsxRuntime.jsxs(React.Fragment, {
45924
45933
  children: [showBar && jsxRuntime.jsx(BarRect, {
45925
45934
  barRectKey: "bar-group-bar-" + barGroup.index + "-" + bar.index + "-" + bar.value + "-" + String(bar.key),
@@ -45932,8 +45941,8 @@ var Bar = function Bar(_ref2) {
45932
45941
  return _onClick(e, barGroup, bar);
45933
45942
  },
45934
45943
  enableHover: enableHover
45935
- }), hasSpaceForLabel && showMinMax && jsxRuntime.jsx(DataLabel, {
45936
- x: labelX,
45944
+ }), hasSpaceForLabel && showMinMax && barPosition !== false && jsxRuntime.jsx(DataLabel, {
45945
+ x: barPosition,
45937
45946
  y: labelY,
45938
45947
  title: displayValue,
45939
45948
  dx: 1,
@@ -45963,7 +45972,7 @@ var BarRect = function BarRect(_ref3) {
45963
45972
  var classes = enableHover ? /*#__PURE__*/css$1.css( {
45964
45973
  name: "1ltmijl-classes",
45965
45974
  styles: "cursor:pointer;label:classes;",
45966
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJhckdyb3VwLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1TmdDIiwiZmlsZSI6IkJhckdyb3VwLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJ0B2aXN4L2dyb3VwJztcbmltcG9ydCB7IEJhckdyb3VwIGFzIFZpc3hCYXJHcm91cCB9IGZyb20gJ0B2aXN4L3NoYXBlJztcbmltcG9ydCB7IERhdHVtT2JqZWN0IH0gZnJvbSAnQHZpc3gvc2hhcGUvbGliL3R5cGVzJztcbmltcG9ydCB7IFNjYWxlQmFuZCwgU2NhbGVMaW5lYXIgfSBmcm9tICdAdmlzeC92ZW5kb3IvZDMtc2NhbGUnO1xuaW1wb3J0IHsgRnJhZ21lbnQsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IENoYXJ0RGF0YURlZmluaXRpb24sIENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGUsIFNoYXBlRGVmaW5pdGlvbiB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgZ2V0QWxsQ2hhcnRWYWx1ZXMsIGdldEZvcm1hdHRlZFZhbHVlLCBzaG93RGF0YUxhYmVsIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9EYXRhTGFiZWwvaW5kZXgnO1xuaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0ZpZWxkL3R5cGVzJztcbmltcG9ydCB7IGxpZ2h0ZW5Db2xvciB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb2xvci5mdW5jdGlvbnMnO1xuaW1wb3J0IHsgRGF0YUxhYmVsIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9EYXRhTGFiZWwnO1xuaW1wb3J0IHsgQkFSX1JBRElVUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9CT1JERVJfUkFESVVTJztcbmltcG9ydCB7IGdldEJhckZpbGwgfSBmcm9tICcuLi9nZXRCYXJGaWxsJztcblxuZXhwb3J0IHR5cGUgQmFyR3JvdXBQcm9wcyA9IHtcbiAgZGF0YTogQ2hhcnREYXRhRGVmaW5pdGlvbltdO1xuICBrZXlzOiBzdHJpbmdbXTtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHhLZXk6IHN0cmluZztcbiAgeFNjYWxlRGF0YVR5cGU6IERhdGFUeXBlO1xuICB4U2NhbGU6IFNjYWxlQmFuZDxzdHJpbmc+IHwgU2NhbGVCYW5kPERhdGU+IHwgU2NhbGVCYW5kPG51bWJlcj4gfCBudWxsO1xuICBpbm5lclhTY2FsZTogU2NhbGVCYW5kPHN0cmluZz4gfCB1bmRlZmluZWQ7XG4gIHlTY2FsZTogU2NhbGVMaW5lYXI8bnVtYmVyLCBudW1iZXIsIG5ldmVyPjtcbiAgb25DbGljazogKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8U1ZHUmVjdEVsZW1lbnQsIE1vdXNlRXZlbnQ+LCBiYXJHcm91cDogYW55LCBiYXI6IGFueSkgPT4gdm9pZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVbXTtcbiAgYmFyczogU2hhcGVEZWZpbml0aW9uPEJhclN0eWxlcz5bXTtcbiAgZW5hYmxlSG92ZXI/OiBib29sZWFuO1xuICB5QXhpc0xhYmVscz86IHN0cmluZ1tdO1xuICB5TGFiZWxQb3NpdGlvbj86IG51bWJlcjtcbiAgc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHM6IGJvb2xlYW47XG4gIGxhYmVsU3R5bGU/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzO1xuICBzaG93TGFiZWxzPzogYm9vbGVhbjtcbiAgbGFiZWxEaWN0aW9uYXJ5OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIEJhckdyb3VwKHtcbiAgZGF0YSxcbiAga2V5cyxcbiAgaGVpZ2h0LFxuICB4S2V5LFxuICB4U2NhbGVEYXRhVHlwZSxcbiAgeFNjYWxlLFxuICBpbm5lclhTY2FsZSxcbiAgeVNjYWxlLFxuICBvbkNsaWNrLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgYmFycyxcbiAgZW5hYmxlSG92ZXIsXG4gIHlBeGlzTGFiZWxzLFxuICB5TGFiZWxQb3NpdGlvbixcbiAgc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHMsXG4gIGxhYmVsU3R5bGUsXG4gIHNob3dMYWJlbHMsXG4gIGxhYmVsRGljdGlvbmFyeSxcbn06IEJhckdyb3VwUHJvcHMpIHtcbiAgY29uc3QgZ2V0R3JvdXBQb3NpdGlvbiA9IChkOiBEYXR1bU9iamVjdCkgPT4ge1xuICAgIGNvbnN0IHhWYWx1ZSA9IGRbeEtleSBhcyBrZXlvZiB0eXBlb2YgZF07XG5cbiAgICBpZiAoeFNjYWxlRGF0YVR5cGUgPT09ICdzdHJpbmcnKSByZXR1cm4gU3RyaW5nKHhWYWx1ZSk7XG5cbiAgICBpZiAoeFNjYWxlRGF0YVR5cGUgPT09ICdkYXRlX3RpbWUnKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoU3RyaW5nKHhWYWx1ZSkpO1xuICAgIH1cblxuICAgIGlmICh4U2NhbGVEYXRhVHlwZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiBOdW1iZXIoeFZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gU3RyaW5nKHhWYWx1ZSk7XG4gIH07XG5cbiAgY29uc3QgdG90YWxJdGVtcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGFsbEJhclZhbHVlcyA9IGdldEFsbENoYXJ0VmFsdWVzKGRhdGEsIGtleXMpO1xuICAgIHJldHVybiBhbGxCYXJWYWx1ZXMubGVuZ3RoO1xuICB9LCBbZGF0YSwga2V5c10pO1xuXG4gIHJldHVybiAoXG4gICAgPFZpc3hCYXJHcm91cDxEYXR1bU9iamVjdD5cbiAgICAgIGRhdGE9e2RhdGEgYXMgRGF0dW1PYmplY3RbXX1cbiAgICAgIGtleXM9e2tleXN9XG4gICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgIHgwPXtnZXRHcm91cFBvc2l0aW9ufVxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgeDBTY2FsZT17eFNjYWxlfVxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgeDFTY2FsZT17aW5uZXJYU2NhbGV9XG4gICAgICB5U2NhbGU9e3lTY2FsZX1cbiAgICAgIGNvbG9yPXsoKSA9PiAnJ31cbiAgICA+XG4gICAgICB7KGJhckdyb3VwcykgPT4ge1xuICAgICAgICByZXR1cm4gYmFyR3JvdXBzLm1hcCgoYmFyR3JvdXApID0+IChcbiAgICAgICAgICA8R3JvdXAga2V5PXtgYmFyLWdyb3VwLSR7YmFyR3JvdXAuaW5kZXh9LSR7YmFyR3JvdXAueDB9YH0gbGVmdD17YmFyR3JvdXAueDB9PlxuICAgICAgICAgICAge2Jhckdyb3VwLmJhcnMubWFwKChiYXIpID0+IChcbiAgICAgICAgICAgICAgPEJhclxuICAgICAgICAgICAgICAgIGtleT17YGJhci0ke2Jhci5pbmRleH0tJHtiYXIueH1gfVxuICAgICAgICAgICAgICAgIGJhcj17YmFyfVxuICAgICAgICAgICAgICAgIGJhckdyb3VwPXtiYXJHcm91cH1cbiAgICAgICAgICAgICAgICBiYXJzPXtiYXJzfVxuICAgICAgICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzPXtjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICAgICAgICBlbmFibGVIb3Zlcj17ZW5hYmxlSG92ZXJ9XG4gICAgICAgICAgICAgICAgbGFiZWxTdHlsZT17bGFiZWxTdHlsZX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICAgICAgICAgIHNob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzPXtzaG93RGV0YWlsZWRTdWJHcm91cGluZ0xhYmVsc31cbiAgICAgICAgICAgICAgICB5QXhpc0xhYmVscz17eUF4aXNMYWJlbHN9XG4gICAgICAgICAgICAgICAgeUxhYmVsUG9zaXRpb249e3lMYWJlbFBvc2l0aW9ufVxuICAgICAgICAgICAgICAgIHRvdGFsSXRlbXM9e3RvdGFsSXRlbXN9XG4gICAgICAgICAgICAgICAgc2hvd0xhYmVscz17c2hvd0xhYmVsc31cbiAgICAgICAgICAgICAgICBsYWJlbERpY3Rpb25hcnk9e2xhYmVsRGljdGlvbmFyeX1cbiAgICAgICAgICAgICAgICB5U2NhbGU9e3lTY2FsZX1cbiAgICAgICAgICAgICAgICBjb250YWluZXJIZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvR3JvdXA+XG4gICAgICAgICkpO1xuICAgICAgfX1cbiAgICA8L1Zpc3hCYXJHcm91cD5cbiAgKTtcbn1cblxudHlwZSBCYXJQcm9wcyA9IHtcbiAgYmFyOiBhbnk7XG4gIGJhckdyb3VwOiBhbnk7XG4gIGJhcnM6IFNoYXBlRGVmaW5pdGlvbjxCYXJTdHlsZXM+W107XG4gIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzOiBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlW107XG4gIGVuYWJsZUhvdmVyPzogYm9vbGVhbjtcbiAgb25DbGljazogKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8U1ZHUmVjdEVsZW1lbnQsIE1vdXNlRXZlbnQ+LCBiYXJHcm91cDogYW55LCBiYXI6IGFueSkgPT4gdm9pZDtcbiAgc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHM6IGJvb2xlYW47XG4gIGxhYmVsU3R5bGU/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzO1xuICB5QXhpc0xhYmVscz86IHN0cmluZ1tdO1xuICB5TGFiZWxQb3NpdGlvbj86IG51bWJlcjtcbiAgdG90YWxJdGVtczogbnVtYmVyO1xuICBzaG93TGFiZWxzPzogYm9vbGVhbjtcbiAgbGFiZWxEaWN0aW9uYXJ5PzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgeVNjYWxlOiBTY2FsZUxpbmVhcjxudW1iZXIsIG51bWJlciwgbmV2ZXI+O1xuICBjb250YWluZXJIZWlnaHQ6IG51bWJlcjtcbn07XG5cbmNvbnN0IEJhciA9ICh7XG4gIGJhcixcbiAgYmFyR3JvdXAsXG4gIGJhcnMsXG4gIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLFxuICBlbmFibGVIb3ZlcixcbiAgbGFiZWxTdHlsZSxcbiAgb25DbGljayxcbiAgc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHMsXG4gIHlBeGlzTGFiZWxzLFxuICB5TGFiZWxQb3NpdGlvbixcbiAgdG90YWxJdGVtcyxcbiAgc2hvd0xhYmVscyxcbiAgbGFiZWxEaWN0aW9uYXJ5LFxuICB5U2NhbGUsXG4gIGNvbnRhaW5lckhlaWdodCxcbn06IEJhclByb3BzKSA9PiB7XG4gIGNvbnN0IFhfUEFERElORyA9IDEwO1xuICBjb25zdCBZX1BBRERJTkcgPSA4O1xuXG4gIGNvbnN0IG1pbldpZHRoID0gMjA7XG4gIGNvbnN0IG1pbkNvbnRhaW5lckhlaWdodCA9IDUwO1xuXG4gIGNvbnN0IHNob3dCYXIgPSBiYXIudmFsdWUgIT09IG51bGwgJiYgYmFyLmhlaWdodCA+IDAgJiYgYmFyLndpZHRoID4gMDtcblxuICBjb25zdCBsYWJlbFggPSBiYXIueCAtIFhfUEFERElORztcbiAgY29uc3QgYmFyVG9wWSA9IHlTY2FsZShiYXIudmFsdWUpO1xuICBjb25zdCBsYWJlbFkgPSBiYXJUb3BZIC0gWV9QQURESU5HO1xuXG4gIGNvbnN0IHNob3dNaW5NYXggPSBzaG93RGF0YUxhYmVsKHRvdGFsSXRlbXMpO1xuICBjb25zdCBoYXNTcGFjZUZvckxhYmVsID0gc2hvd0xhYmVscyAmJiBiYXIud2lkdGggPiBtaW5XaWR0aCAmJiBjb250YWluZXJIZWlnaHQgPiBtaW5Db250YWluZXJIZWlnaHQ7XG5cbiAgY29uc3QgZGlzcGxheVZhbHVlID0gZ2V0Rm9ybWF0dGVkVmFsdWUoYmFyLnZhbHVlLCBsYWJlbERpY3Rpb25hcnkpO1xuXG4gIHJldHVybiAoXG4gICAgPEZyYWdtZW50PlxuICAgICAge3Nob3dCYXIgJiYgKFxuICAgICAgICA8QmFyUmVjdFxuICAgICAgICAgIGJhclJlY3RLZXk9e2BiYXItZ3JvdXAtYmFyLSR7YmFyR3JvdXAuaW5kZXh9LSR7YmFyLmluZGV4fS0ke2Jhci52YWx1ZX0tJHtTdHJpbmcoYmFyLmtleSl9YH1cbiAgICAgICAgICB4PXtiYXIueH1cbiAgICAgICAgICB5PXtiYXIueX1cbiAgICAgICAgICB3aWR0aD17YmFyLndpZHRofVxuICAgICAgICAgIGhlaWdodD17YmFyLmhlaWdodH1cbiAgICAgICAgICBmaWxsPXtnZXRCYXJGaWxsKGJhcnMsIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLCBTdHJpbmcoYmFyLmtleSksIGJhci52YWx1ZSl9XG4gICAgICAgICAgb25DbGljaz17KGUpID0+IG9uQ2xpY2soZSwgYmFyR3JvdXAsIGJhcil9XG4gICAgICAgICAgZW5hYmxlSG92ZXI9e2VuYWJsZUhvdmVyfVxuICAgICAgICAvPlxuICAgICAgKX1cblxuICAgICAge2hhc1NwYWNlRm9yTGFiZWwgJiYgc2hvd01pbk1heCAmJiA8RGF0YUxhYmVsIHg9e2xhYmVsWH0geT17bGFiZWxZfSB0aXRsZT17ZGlzcGxheVZhbHVlfSBkeD17MX0gZHk9ezB9IC8+fVxuXG4gICAgICA8QmFyTGFiZWxcbiAgICAgICAgYmFyPXtiYXJ9XG4gICAgICAgIGJhckdyb3VwPXtiYXJHcm91cH1cbiAgICAgICAgeUxhYmVsUG9zaXRpb249e3lMYWJlbFBvc2l0aW9ufVxuICAgICAgICB5QXhpc0xhYmVscz17eUF4aXNMYWJlbHN9XG4gICAgICAgIHNob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzPXtzaG93RGV0YWlsZWRTdWJHcm91cGluZ0xhYmVsc31cbiAgICAgICAgbGFiZWxTdHlsZT17bGFiZWxTdHlsZX1cbiAgICAgIC8+XG4gICAgPC9GcmFnbWVudD5cbiAgKTtcbn07XG5cbnR5cGUgQmFyUmVjdFByb3BzID0ge1xuICBvbkNsaWNrOiAoZTogUmVhY3QuTW91c2VFdmVudDxTVkdSZWN0RWxlbWVudCwgTW91c2VFdmVudD4pID0+IHZvaWQ7XG4gIGZpbGw/OiBzdHJpbmc7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgYmFyUmVjdEtleTogc3RyaW5nO1xuICBlbmFibGVIb3Zlcj86IGJvb2xlYW47XG59O1xuXG5jb25zdCBCYXJSZWN0ID0gKHsgb25DbGljaywgZmlsbCwgeCwgeSwgd2lkdGgsIGhlaWdodCwgYmFyUmVjdEtleSwgZW5hYmxlSG92ZXIgfTogQmFyUmVjdFByb3BzKSA9PiB7XG4gIGNvbnN0IFtpc0hvdmVyZWQsIHNldElzSG92ZXJlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgY2xhc3NlcyA9IGVuYWJsZUhvdmVyID8gY3NzKHsgY3Vyc29yOiAncG9pbnRlcicgfSkgOiAnJztcblxuICBjb25zdCBkaXNwbGF5Q29sb3IgPSBpc0hvdmVyZWQgJiYgZW5hYmxlSG92ZXIgPyBsaWdodGVuQ29sb3IoZmlsbCwgMC44KSA6IGZpbGw7XG5cbiAgY29uc3QgaGFuZGxlT25Nb3VzZUVudGVyID0gKCkgPT4ge1xuICAgIGlmIChlbmFibGVIb3Zlcikge1xuICAgICAgc2V0SXNIb3ZlcmVkKHRydWUpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVPbk1vdXNlTGVhdmUgPSAoKSA9PiB7XG4gICAgaWYgKGVuYWJsZUhvdmVyKSB7XG4gICAgICBzZXRJc0hvdmVyZWQoZmFsc2UpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxyZWN0XG4gICAgICBrZXk9e2JhclJlY3RLZXl9XG4gICAgICB4PXt4fVxuICAgICAgeT17eX1cbiAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgZmlsbD17ZGlzcGxheUNvbG9yfVxuICAgICAgcng9e0JBUl9SQURJVVN9XG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtoYW5kbGVPbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e2hhbmRsZU9uTW91c2VMZWF2ZX1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlc31cbiAgICAvPlxuICApO1xufTtcblxudHlwZSBCYXJMYWJlbFByb3BzID0ge1xuICBiYXI6IGFueTtcbiAgYmFyR3JvdXA6IGFueTtcbiAgeUxhYmVsUG9zaXRpb24/OiBudW1iZXI7XG4gIHlBeGlzTGFiZWxzPzogc3RyaW5nW107XG4gIHNob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzOiBib29sZWFuO1xuICBsYWJlbFN0eWxlPzogUmVhY3QuQ1NTUHJvcGVydGllcztcbn07XG5cbmNvbnN0IEJhckxhYmVsID0gKHtcbiAgYmFyLFxuICBiYXJHcm91cCxcbiAgeUxhYmVsUG9zaXRpb24sXG4gIHlBeGlzTGFiZWxzLFxuICBzaG93RGV0YWlsZWRTdWJHcm91cGluZ0xhYmVscyxcbiAgbGFiZWxTdHlsZSxcbn06IEJhckxhYmVsUHJvcHMpID0+IHtcbiAgaWYgKCFzaG93RGV0YWlsZWRTdWJHcm91cGluZ0xhYmVscyB8fCAheUxhYmVsUG9zaXRpb24gfHwgIXlBeGlzTGFiZWxzKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCBsYWJlbCA9IHlBeGlzTGFiZWxzW2Jhci5pbmRleF07XG4gIGNvbnN0IGNvbHVtbkxhYmVsID0gbGFiZWwuc3BsaXQoJ+KAoicpWzBdO1xuXG4gIGxldCBmb3JtYXR0ZWRDb2x1bW5MYWJlbDogc3RyaW5nO1xuICBpZiAoY29sdW1uTGFiZWwubGVuZ3RoID49IDEzKSB7XG4gICAgZm9ybWF0dGVkQ29sdW1uTGFiZWwgPSBjb2x1bW5MYWJlbC5zbGljZSgwLCAxMCkgKyAnLi4uJztcbiAgfSBlbHNlIHtcbiAgICBmb3JtYXR0ZWRDb2x1bW5MYWJlbCA9IGNvbHVtbkxhYmVsLnNsaWNlKDAsIDEzKTtcbiAgfVxuXG4gIGNvbnN0IGxhYmVsWEdhcCA9IDQ7XG4gIGNvbnN0IGxhYmVsWFBvc2l0aW9uID0gYmFyLnggKyBiYXIud2lkdGggLyAyICsgbGFiZWxYR2FwO1xuXG4gIGNvbnN0IGxhYmVsWUdhcCA9IDE1O1xuICBjb25zdCBsYWJlbFlQb3NpdGlvbiA9IHlMYWJlbFBvc2l0aW9uICsgbGFiZWxZR2FwO1xuXG4gIGNvbnN0IGxhYmVsS2V5ID0gYGxhYmVsLSR7YmFyR3JvdXAuaW5kZXh9LSR7YmFyLmluZGV4fS0ke2xhYmVsfWA7XG5cbiAgcmV0dXJuIChcbiAgICA8dGV4dFxuICAgICAga2V5PXtsYWJlbEtleX1cbiAgICAgIHg9e2xhYmVsWFBvc2l0aW9ufVxuICAgICAgeT17bGFiZWxZUG9zaXRpb259XG4gICAgICBzdHlsZT17bGFiZWxTdHlsZX1cbiAgICAgIHRyYW5zZm9ybT17YHJvdGF0ZSgtNzAsICR7bGFiZWxYUG9zaXRpb259LCAke2xhYmVsWVBvc2l0aW9ufSlgfVxuICAgICAgdGV4dEFuY2hvcj1cImVuZFwiXG4gICAgPlxuICAgICAge2Zvcm1hdHRlZENvbHVtbkxhYmVsfVxuICAgIDwvdGV4dD5cbiAgKTtcbn07XG4iXX0= */",
45975
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJhckdyb3VwLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyUGdDIiwiZmlsZSI6IkJhckdyb3VwLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJ0B2aXN4L2dyb3VwJztcbmltcG9ydCB7IEJhckdyb3VwIGFzIFZpc3hCYXJHcm91cCB9IGZyb20gJ0B2aXN4L3NoYXBlJztcbmltcG9ydCB7IERhdHVtT2JqZWN0IH0gZnJvbSAnQHZpc3gvc2hhcGUvbGliL3R5cGVzJztcbmltcG9ydCB7IFNjYWxlQmFuZCwgU2NhbGVMaW5lYXIgfSBmcm9tICdAdmlzeC92ZW5kb3IvZDMtc2NhbGUnO1xuaW1wb3J0IHsgRnJhZ21lbnQsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IENoYXJ0RGF0YURlZmluaXRpb24sIENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGUsIFNoYXBlRGVmaW5pdGlvbiB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgZ2V0QWxsQ2hhcnRWYWx1ZXMsIGdldEZvcm1hdHRlZFZhbHVlLCBzaG93RGF0YUxhYmVsIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9EYXRhTGFiZWwvaW5kZXgnO1xuaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0ZpZWxkL3R5cGVzJztcbmltcG9ydCB7IGxpZ2h0ZW5Db2xvciB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb2xvci5mdW5jdGlvbnMnO1xuaW1wb3J0IHsgRGF0YUxhYmVsIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9EYXRhTGFiZWwnO1xuaW1wb3J0IHsgQkFSX1JBRElVUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9CT1JERVJfUkFESVVTJztcbmltcG9ydCB7IGdldEJhckZpbGwgfSBmcm9tICcuLi9nZXRCYXJGaWxsJztcblxuZXhwb3J0IHR5cGUgQmFyR3JvdXBQcm9wcyA9IHtcbiAgZGF0YTogQ2hhcnREYXRhRGVmaW5pdGlvbltdO1xuICBrZXlzOiBzdHJpbmdbXTtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHdpZHRoPzogbnVtYmVyO1xuICB4S2V5OiBzdHJpbmc7XG4gIHhTY2FsZURhdGFUeXBlOiBEYXRhVHlwZTtcbiAgeFNjYWxlOiBTY2FsZUJhbmQ8c3RyaW5nPiB8IFNjYWxlQmFuZDxEYXRlPiB8IFNjYWxlQmFuZDxudW1iZXI+IHwgbnVsbDtcbiAgaW5uZXJYU2NhbGU6IFNjYWxlQmFuZDxzdHJpbmc+IHwgdW5kZWZpbmVkO1xuICB5U2NhbGU6IFNjYWxlTGluZWFyPG51bWJlciwgbnVtYmVyLCBuZXZlcj47XG4gIG9uQ2xpY2s6IChlOiBSZWFjdC5Nb3VzZUV2ZW50PFNWR1JlY3RFbGVtZW50LCBNb3VzZUV2ZW50PiwgYmFyR3JvdXA6IGFueSwgYmFyOiBhbnkpID0+IHZvaWQ7XG4gIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzOiBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlW107XG4gIGJhcnM6IFNoYXBlRGVmaW5pdGlvbjxCYXJTdHlsZXM+W107XG4gIGVuYWJsZUhvdmVyPzogYm9vbGVhbjtcbiAgeUF4aXNMYWJlbHM/OiBzdHJpbmdbXTtcbiAgeUxhYmVsUG9zaXRpb24/OiBudW1iZXI7XG4gIHNob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzOiBib29sZWFuO1xuICBsYWJlbFN0eWxlPzogUmVhY3QuQ1NTUHJvcGVydGllcztcbiAgc2hvd0xhYmVscz86IGJvb2xlYW47XG4gIGxhYmVsRGljdGlvbmFyeTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBCYXJHcm91cCh7XG4gIGRhdGEsXG4gIGtleXMsXG4gIGhlaWdodCxcbiAgd2lkdGgsXG4gIHhLZXksXG4gIHhTY2FsZURhdGFUeXBlLFxuICB4U2NhbGUsXG4gIGlubmVyWFNjYWxlLFxuICB5U2NhbGUsXG4gIG9uQ2xpY2ssXG4gIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLFxuICBiYXJzLFxuICBlbmFibGVIb3ZlcixcbiAgeUF4aXNMYWJlbHMsXG4gIHlMYWJlbFBvc2l0aW9uLFxuICBzaG93RGV0YWlsZWRTdWJHcm91cGluZ0xhYmVscyxcbiAgbGFiZWxTdHlsZSxcbiAgc2hvd0xhYmVscyxcbiAgbGFiZWxEaWN0aW9uYXJ5LFxufTogQmFyR3JvdXBQcm9wcykge1xuICBjb25zdCBnZXRHcm91cFBvc2l0aW9uID0gKGQ6IERhdHVtT2JqZWN0KSA9PiB7XG4gICAgY29uc3QgeFZhbHVlID0gZFt4S2V5IGFzIGtleW9mIHR5cGVvZiBkXTtcblxuICAgIGlmICh4U2NhbGVEYXRhVHlwZSA9PT0gJ3N0cmluZycpIHJldHVybiBTdHJpbmcoeFZhbHVlKTtcblxuICAgIGlmICh4U2NhbGVEYXRhVHlwZSA9PT0gJ2RhdGVfdGltZScpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZShTdHJpbmcoeFZhbHVlKSk7XG4gICAgfVxuXG4gICAgaWYgKHhTY2FsZURhdGFUeXBlID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIE51bWJlcih4VmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiBTdHJpbmcoeFZhbHVlKTtcbiAgfTtcblxuICBjb25zdCB0b3RhbEl0ZW1zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgYWxsQmFyVmFsdWVzID0gZ2V0QWxsQ2hhcnRWYWx1ZXMoZGF0YSwga2V5cyk7XG4gICAgcmV0dXJuIGFsbEJhclZhbHVlcy5sZW5ndGg7XG4gIH0sIFtkYXRhLCBrZXlzXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8VmlzeEJhckdyb3VwPERhdHVtT2JqZWN0PlxuICAgICAgZGF0YT17ZGF0YSBhcyBEYXR1bU9iamVjdFtdfVxuICAgICAga2V5cz17a2V5c31cbiAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgeDA9e2dldEdyb3VwUG9zaXRpb259XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICB4MFNjYWxlPXt4U2NhbGV9XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICB4MVNjYWxlPXtpbm5lclhTY2FsZX1cbiAgICAgIHlTY2FsZT17eVNjYWxlfVxuICAgICAgY29sb3I9eygpID0+ICcnfVxuICAgID5cbiAgICAgIHsoYmFyR3JvdXBzKSA9PiB7XG4gICAgICAgIHJldHVybiBiYXJHcm91cHMubWFwKChiYXJHcm91cCkgPT4gKFxuICAgICAgICAgIDxHcm91cCBrZXk9e2BiYXItZ3JvdXAtJHtiYXJHcm91cC5pbmRleH0tJHtiYXJHcm91cC54MH1gfSBsZWZ0PXtiYXJHcm91cC54MH0+XG4gICAgICAgICAgICB7YmFyR3JvdXAuYmFycy5tYXAoKGJhcikgPT4gKFxuICAgICAgICAgICAgICA8QmFyXG4gICAgICAgICAgICAgICAga2V5PXtgYmFyLSR7YmFyLmluZGV4fS0ke2Jhci54fWB9XG4gICAgICAgICAgICAgICAgYmFyPXtiYXJ9XG4gICAgICAgICAgICAgICAgYmFyR3JvdXA9e2Jhckdyb3VwfVxuICAgICAgICAgICAgICAgIGJhcnM9e2JhcnN9XG4gICAgICAgICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM9e2NvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzfVxuICAgICAgICAgICAgICAgIGVuYWJsZUhvdmVyPXtlbmFibGVIb3Zlcn1cbiAgICAgICAgICAgICAgICBsYWJlbFN0eWxlPXtsYWJlbFN0eWxlfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICAgICAgICAgICAgc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHM9e3Nob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzfVxuICAgICAgICAgICAgICAgIHlBeGlzTGFiZWxzPXt5QXhpc0xhYmVsc31cbiAgICAgICAgICAgICAgICB5TGFiZWxQb3NpdGlvbj17eUxhYmVsUG9zaXRpb259XG4gICAgICAgICAgICAgICAgdG90YWxJdGVtcz17dG90YWxJdGVtc31cbiAgICAgICAgICAgICAgICBzaG93TGFiZWxzPXtzaG93TGFiZWxzfVxuICAgICAgICAgICAgICAgIGxhYmVsRGljdGlvbmFyeT17bGFiZWxEaWN0aW9uYXJ5fVxuICAgICAgICAgICAgICAgIHlTY2FsZT17eVNjYWxlfVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lckhlaWdodD17aGVpZ2h0fVxuICAgICAgICAgICAgICAgIGNoYXJ0V2lkdGg9e3dpZHRofVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9Hcm91cD5cbiAgICAgICAgKSk7XG4gICAgICB9fVxuICAgIDwvVmlzeEJhckdyb3VwPlxuICApO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVCYXJMYWJlbFBvc2l0aW9uKFxuICBiYXI6IGFueSxcbiAgYmFyR3JvdXA6IGFueSxcbiAgY2hhcnRXaWR0aDogbnVtYmVyLFxuICBkaXNwbGF5VmFsdWU6IHN0cmluZyB8IG51bGwsXG4pOiBudW1iZXIgfCBmYWxzZSB7XG4gIGlmICghZGlzcGxheVZhbHVlKSByZXR1cm4gZmFsc2U7XG5cbiAgY29uc3QgRVNUSU1BVEVEX0ZPTlRfV0lEVEggPSA1Ljc1O1xuXG4gIGNvbnN0IG1pbldpZHRoUGVyY2VudCA9IDAuMDI7XG4gIGNvbnN0IG1heFdpZHRoUGVyY2VudCA9IDAuMTU7XG4gIGNvbnN0IG1pbldpZHRoUHggPSBjaGFydFdpZHRoICogbWluV2lkdGhQZXJjZW50O1xuICBjb25zdCBtYXhXaWR0aFB4ID0gY2hhcnRXaWR0aCAqIG1heFdpZHRoUGVyY2VudDtcblxuICBjb25zdCBtaW5TaXplID0gMC41O1xuICBjb25zdCBtYXhTaXplID0gMS4yO1xuXG4gIGNvbnN0IG5vcm1hbGl6ZWRCYXJXaWR0aCA9IE1hdGgubWluKE1hdGgubWF4KGJhci53aWR0aCwgbWluV2lkdGhQeCksIG1heFdpZHRoUHgpO1xuICBjb25zdCBsb2dJbnB1dCA9IDEgKyAoKG5vcm1hbGl6ZWRCYXJXaWR0aCAtIG1pbldpZHRoUHgpIC8gKG1heFdpZHRoUHggLSBtaW5XaWR0aFB4KSkgKiAoTWF0aC5FIC0gMSk7XG4gIGNvbnN0IGxvZ1JhdGlvID0gTWF0aC5sb2cobG9nSW5wdXQpO1xuICBjb25zdCBzaXplID0gbWluU2l6ZSArIGxvZ1JhdGlvICogKG1heFNpemUgLSBtaW5TaXplKTtcblxuICBjb25zdCBiYXNlUG9zaXRpb24gPSBiYXJHcm91cC5iYXJzLmxlbmd0aCA+IDEgPyBiYXIueCArIChiYXIud2lkdGggKiBzaXplKSAvIDIgOiAoYmFyLndpZHRoICogc2l6ZSkgLyAyO1xuXG4gIHJldHVybiBiYXNlUG9zaXRpb24gLSAoZGlzcGxheVZhbHVlLmxlbmd0aCAqIEVTVElNQVRFRF9GT05UX1dJRFRIKSAvIDI7XG59XG5cbnR5cGUgQmFyUHJvcHMgPSB7XG4gIGJhcjogYW55O1xuICBiYXJHcm91cDogYW55O1xuICBiYXJzOiBTaGFwZURlZmluaXRpb248QmFyU3R5bGVzPltdO1xuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZVtdO1xuICBlbmFibGVIb3Zlcj86IGJvb2xlYW47XG4gIG9uQ2xpY2s6IChlOiBSZWFjdC5Nb3VzZUV2ZW50PFNWR1JlY3RFbGVtZW50LCBNb3VzZUV2ZW50PiwgYmFyR3JvdXA6IGFueSwgYmFyOiBhbnkpID0+IHZvaWQ7XG4gIHNob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzOiBib29sZWFuO1xuICBsYWJlbFN0eWxlPzogUmVhY3QuQ1NTUHJvcGVydGllcztcbiAgeUF4aXNMYWJlbHM/OiBzdHJpbmdbXTtcbiAgeUxhYmVsUG9zaXRpb24/OiBudW1iZXI7XG4gIHRvdGFsSXRlbXM6IG51bWJlcjtcbiAgc2hvd0xhYmVscz86IGJvb2xlYW47XG4gIGxhYmVsRGljdGlvbmFyeT86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIHlTY2FsZTogU2NhbGVMaW5lYXI8bnVtYmVyLCBudW1iZXIsIG5ldmVyPjtcbiAgY29udGFpbmVySGVpZ2h0OiBudW1iZXI7XG4gIGNoYXJ0V2lkdGg/OiBudW1iZXI7XG59O1xuXG5jb25zdCBCYXIgPSAoe1xuICBiYXIsXG4gIGJhckdyb3VwLFxuICBiYXJzLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgZW5hYmxlSG92ZXIsXG4gIGxhYmVsU3R5bGUsXG4gIG9uQ2xpY2ssXG4gIHNob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzLFxuICB5QXhpc0xhYmVscyxcbiAgeUxhYmVsUG9zaXRpb24sXG4gIHRvdGFsSXRlbXMsXG4gIHNob3dMYWJlbHMsXG4gIGxhYmVsRGljdGlvbmFyeSxcbiAgeVNjYWxlLFxuICBjb250YWluZXJIZWlnaHQsXG4gIGNoYXJ0V2lkdGgsXG59OiBCYXJQcm9wcykgPT4ge1xuICBjb25zdCBYX1BBRERJTkcgPSAxMDtcbiAgY29uc3QgWV9QQURESU5HID0gODtcblxuICBjb25zdCBtaW5XaWR0aCA9IDIwO1xuICBjb25zdCBtaW5Db250YWluZXJIZWlnaHQgPSA1MDtcblxuICBjb25zdCBzaG93QmFyID0gYmFyLnZhbHVlICE9PSBudWxsICYmIGJhci5oZWlnaHQgPiAwICYmIGJhci53aWR0aCA+IDA7XG5cbiAgY29uc3QgYmFyVG9wWSA9IHlTY2FsZShiYXIudmFsdWUpO1xuICBjb25zdCBsYWJlbFggPSBiYXIueCAtIFhfUEFERElORztcbiAgY29uc3QgbGFiZWxZID0gYmFyVG9wWSAtIFlfUEFERElORztcblxuICBjb25zdCBzaG93TWluTWF4ID0gc2hvd0RhdGFMYWJlbCh0b3RhbEl0ZW1zKTtcbiAgY29uc3QgaGFzU3BhY2VGb3JMYWJlbCA9IHNob3dMYWJlbHMgJiYgYmFyLndpZHRoID4gbWluV2lkdGggJiYgY29udGFpbmVySGVpZ2h0ID4gbWluQ29udGFpbmVySGVpZ2h0O1xuXG4gIGNvbnN0IGRpc3BsYXlWYWx1ZSA9IGdldEZvcm1hdHRlZFZhbHVlKGJhci52YWx1ZSwgbGFiZWxEaWN0aW9uYXJ5KTtcbiAgY29uc3QgYmFyUG9zaXRpb24gPSBjaGFydFdpZHRoID8gY2FsY3VsYXRlQmFyTGFiZWxQb3NpdGlvbihiYXIsIGJhckdyb3VwLCBjaGFydFdpZHRoLCBkaXNwbGF5VmFsdWUpIDogbGFiZWxYO1xuXG4gIHJldHVybiAoXG4gICAgPEZyYWdtZW50PlxuICAgICAge3Nob3dCYXIgJiYgKFxuICAgICAgICA8QmFyUmVjdFxuICAgICAgICAgIGJhclJlY3RLZXk9e2BiYXItZ3JvdXAtYmFyLSR7YmFyR3JvdXAuaW5kZXh9LSR7YmFyLmluZGV4fS0ke2Jhci52YWx1ZX0tJHtTdHJpbmcoYmFyLmtleSl9YH1cbiAgICAgICAgICB4PXtiYXIueH1cbiAgICAgICAgICB5PXtiYXIueX1cbiAgICAgICAgICB3aWR0aD17YmFyLndpZHRofVxuICAgICAgICAgIGhlaWdodD17YmFyLmhlaWdodH1cbiAgICAgICAgICBmaWxsPXtnZXRCYXJGaWxsKGJhcnMsIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLCBTdHJpbmcoYmFyLmtleSksIGJhci52YWx1ZSl9XG4gICAgICAgICAgb25DbGljaz17KGUpID0+IG9uQ2xpY2soZSwgYmFyR3JvdXAsIGJhcil9XG4gICAgICAgICAgZW5hYmxlSG92ZXI9e2VuYWJsZUhvdmVyfVxuICAgICAgICAvPlxuICAgICAgKX1cblxuICAgICAge2hhc1NwYWNlRm9yTGFiZWwgJiYgc2hvd01pbk1heCAmJiBiYXJQb3NpdGlvbiAhPT0gZmFsc2UgJiYgKFxuICAgICAgICA8RGF0YUxhYmVsIHg9e2JhclBvc2l0aW9ufSB5PXtsYWJlbFl9IHRpdGxlPXtkaXNwbGF5VmFsdWV9IGR4PXsxfSBkeT17MH0gLz5cbiAgICAgICl9XG5cbiAgICAgIDxCYXJMYWJlbFxuICAgICAgICBiYXI9e2Jhcn1cbiAgICAgICAgYmFyR3JvdXA9e2Jhckdyb3VwfVxuICAgICAgICB5TGFiZWxQb3NpdGlvbj17eUxhYmVsUG9zaXRpb259XG4gICAgICAgIHlBeGlzTGFiZWxzPXt5QXhpc0xhYmVsc31cbiAgICAgICAgc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHM9e3Nob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzfVxuICAgICAgICBsYWJlbFN0eWxlPXtsYWJlbFN0eWxlfVxuICAgICAgLz5cbiAgICA8L0ZyYWdtZW50PlxuICApO1xufTtcblxudHlwZSBCYXJSZWN0UHJvcHMgPSB7XG4gIG9uQ2xpY2s6IChlOiBSZWFjdC5Nb3VzZUV2ZW50PFNWR1JlY3RFbGVtZW50LCBNb3VzZUV2ZW50PikgPT4gdm9pZDtcbiAgZmlsbD86IHN0cmluZztcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xuICBiYXJSZWN0S2V5OiBzdHJpbmc7XG4gIGVuYWJsZUhvdmVyPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEJhclJlY3QgPSAoeyBvbkNsaWNrLCBmaWxsLCB4LCB5LCB3aWR0aCwgaGVpZ2h0LCBiYXJSZWN0S2V5LCBlbmFibGVIb3ZlciB9OiBCYXJSZWN0UHJvcHMpID0+IHtcbiAgY29uc3QgW2lzSG92ZXJlZCwgc2V0SXNIb3ZlcmVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBjbGFzc2VzID0gZW5hYmxlSG92ZXIgPyBjc3MoeyBjdXJzb3I6ICdwb2ludGVyJyB9KSA6ICcnO1xuXG4gIGNvbnN0IGRpc3BsYXlDb2xvciA9IGlzSG92ZXJlZCAmJiBlbmFibGVIb3ZlciA/IGxpZ2h0ZW5Db2xvcihmaWxsLCAwLjgpIDogZmlsbDtcblxuICBjb25zdCBoYW5kbGVPbk1vdXNlRW50ZXIgPSAoKSA9PiB7XG4gICAgaWYgKGVuYWJsZUhvdmVyKSB7XG4gICAgICBzZXRJc0hvdmVyZWQodHJ1ZSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZU9uTW91c2VMZWF2ZSA9ICgpID0+IHtcbiAgICBpZiAoZW5hYmxlSG92ZXIpIHtcbiAgICAgIHNldElzSG92ZXJlZChmYWxzZSk7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPHJlY3RcbiAgICAgIGtleT17YmFyUmVjdEtleX1cbiAgICAgIHg9e3h9XG4gICAgICB5PXt5fVxuICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICBmaWxsPXtkaXNwbGF5Q29sb3J9XG4gICAgICByeD17QkFSX1JBRElVU31cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICBvbk1vdXNlRW50ZXI9e2hhbmRsZU9uTW91c2VFbnRlcn1cbiAgICAgIG9uTW91c2VMZWF2ZT17aGFuZGxlT25Nb3VzZUxlYXZlfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzfVxuICAgIC8+XG4gICk7XG59O1xuXG50eXBlIEJhckxhYmVsUHJvcHMgPSB7XG4gIGJhcjogYW55O1xuICBiYXJHcm91cDogYW55O1xuICB5TGFiZWxQb3NpdGlvbj86IG51bWJlcjtcbiAgeUF4aXNMYWJlbHM/OiBzdHJpbmdbXTtcbiAgc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHM6IGJvb2xlYW47XG4gIGxhYmVsU3R5bGU/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzO1xufTtcblxuY29uc3QgQmFyTGFiZWwgPSAoe1xuICBiYXIsXG4gIGJhckdyb3VwLFxuICB5TGFiZWxQb3NpdGlvbixcbiAgeUF4aXNMYWJlbHMsXG4gIHNob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzLFxuICBsYWJlbFN0eWxlLFxufTogQmFyTGFiZWxQcm9wcykgPT4ge1xuICBpZiAoIXNob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzIHx8ICF5TGFiZWxQb3NpdGlvbiB8fCAheUF4aXNMYWJlbHMpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IGxhYmVsID0geUF4aXNMYWJlbHNbYmFyLmluZGV4XTtcbiAgY29uc3QgY29sdW1uTGFiZWwgPSBsYWJlbC5zcGxpdCgn4oCiJylbMF07XG5cbiAgbGV0IGZvcm1hdHRlZENvbHVtbkxhYmVsOiBzdHJpbmc7XG4gIGlmIChjb2x1bW5MYWJlbC5sZW5ndGggPj0gMTMpIHtcbiAgICBmb3JtYXR0ZWRDb2x1bW5MYWJlbCA9IGNvbHVtbkxhYmVsLnNsaWNlKDAsIDEwKSArICcuLi4nO1xuICB9IGVsc2Uge1xuICAgIGZvcm1hdHRlZENvbHVtbkxhYmVsID0gY29sdW1uTGFiZWwuc2xpY2UoMCwgMTMpO1xuICB9XG5cbiAgY29uc3QgbGFiZWxYR2FwID0gNDtcbiAgY29uc3QgbGFiZWxYUG9zaXRpb24gPSBiYXIueCArIGJhci53aWR0aCAvIDIgKyBsYWJlbFhHYXA7XG5cbiAgY29uc3QgbGFiZWxZR2FwID0gMTU7XG4gIGNvbnN0IGxhYmVsWVBvc2l0aW9uID0geUxhYmVsUG9zaXRpb24gKyBsYWJlbFlHYXA7XG5cbiAgY29uc3QgbGFiZWxLZXkgPSBgbGFiZWwtJHtiYXJHcm91cC5pbmRleH0tJHtiYXIuaW5kZXh9LSR7bGFiZWx9YDtcblxuICByZXR1cm4gKFxuICAgIDx0ZXh0XG4gICAgICBrZXk9e2xhYmVsS2V5fVxuICAgICAgeD17bGFiZWxYUG9zaXRpb259XG4gICAgICB5PXtsYWJlbFlQb3NpdGlvbn1cbiAgICAgIHN0eWxlPXtsYWJlbFN0eWxlfVxuICAgICAgdHJhbnNmb3JtPXtgcm90YXRlKC03MCwgJHtsYWJlbFhQb3NpdGlvbn0sICR7bGFiZWxZUG9zaXRpb259KWB9XG4gICAgICB0ZXh0QW5jaG9yPVwiZW5kXCJcbiAgICA+XG4gICAgICB7Zm9ybWF0dGVkQ29sdW1uTGFiZWx9XG4gICAgPC90ZXh0PlxuICApO1xufTtcbiJdfQ== */",
45967
45976
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$9
45968
45977
  }) : '';
45969
45978
  var displayColor = isHovered && enableHover ? lightenColor$2(fill, 0.8) : fill;
@@ -46398,6 +46407,7 @@ var BarChart$5 = function BarChart(_ref) {
46398
46407
  data: dataFlattened,
46399
46408
  keys: yScaleKeys,
46400
46409
  height: innerHeight,
46410
+ width: width,
46401
46411
  xKey: xKey,
46402
46412
  xScaleDataType: xScaleDataType,
46403
46413
  xScale: xScale,
@@ -57043,10 +57053,9 @@ var Bar$2 = function Bar(_ref4) {
57043
57053
  var labelX = bar.x - xPadding;
57044
57054
  var labelY = getStepYPosition(step, barHeight, y);
57045
57055
  var isFirstOrLastStep = barGroup.index === 0 || barGroup.index === totalItems - 1;
57046
- var keyValue = step.end - step.start;
57047
- var displayValue = getFormattedValue(keyValue, labelDictionary);
57056
+ var displayValue = getFormattedValue(bar.value, labelDictionary);
57048
57057
  var unformattedValue = displayValue.length > 15;
57049
- if (unformattedValue) displayValue = keyValue;
57058
+ if (unformattedValue) displayValue = bar.value;
57050
57059
  var showMinMax = unformattedValue ? isFirstOrLastStep : totalItems < 20 || isFirstOrLastStep;
57051
57060
  var shouldShowLabel = showLabels && showMinMax;
57052
57061
  return jsxRuntime.jsxs(jsxRuntime.Fragment, {