@vizzly/dashboard 0.15.0-dev-ec22f31a049b4f844d3ea606a85bd487c4553b03 → 0.15.0-dev-9c2753f2944feccf9be062635a5a86838c409695

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.
@@ -33,7 +33,7 @@ import { LegendItem as LegendItem$1, LegendLabel } from '@visx/legend';
33
33
  import { scaleOrdinal, scaleQuantize, scaleLinear, scalePoint, scaleTime, scaleBand } from '@visx/scale';
34
34
  import Ordinal from '@visx/legend/lib/legends/Ordinal';
35
35
  import { curveNatural, curveMonotoneX, curveMonotoneY, curveLinear, curveStep, curveStepBefore, curveStepAfter } from '@visx/curve';
36
- import { Line as Line$1, LinePath, BarStack as BarStack$1, BarGroup as BarGroup$2, AreaStack as AreaStack$1, AreaClosed, LineRadial } from '@visx/shape';
36
+ import { Line as Line$1, LinePath, BarGroup as BarGroup$2, BarStack as BarStack$1, AreaStack as AreaStack$1, AreaClosed, LineRadial } from '@visx/shape';
37
37
  import { Mercator, Graticule } from '@visx/geo';
38
38
  import { feature } from 'topojson-client';
39
39
  import ParentSize$1 from '@visx/responsive/lib/components/ParentSize';
@@ -44526,58 +44526,7 @@ function Lines(_ref2) {
44526
44526
  });
44527
44527
  }
44528
44528
 
44529
- var PADDING = {
44530
- paddingOuter: 0.05,
44531
- paddingInner: 0.3
44532
- };
44533
-
44534
- function useBarXScale(xScaleDataType, innerWidth, xScaleKey, data) {
44535
- return useMemo(function () {
44536
- if (xScaleDataType === 'string') {
44537
- return scaleBand(_extends({
44538
- range: [0, innerWidth],
44539
- domain: xScaleKey ? [].concat(data.map(function (d) {
44540
- return d[xScaleKey] && d[xScaleKey].value !== null ? String(d[xScaleKey].value) : '';
44541
- })) : []
44542
- }, PADDING));
44543
- }
44544
- if (xScaleDataType === 'date_time' && xScaleKey) {
44545
- return scaleBand(_extends({
44546
- range: [0, innerWidth],
44547
- domain: data.map(function (d) {
44548
- return new Date(d[xScaleKey].value);
44549
- })
44550
- }, PADDING));
44551
- }
44552
- if (xScaleDataType === 'number' && xScaleKey) {
44553
- return scaleBand(_extends({
44554
- range: [0, innerWidth],
44555
- domain: data.map(function (d) {
44556
- return d[xScaleKey] && d[xScaleKey].value !== null ? Number(d[xScaleKey].value) : 0;
44557
- })
44558
- }, PADDING));
44559
- }
44560
- return null;
44561
- }, [innerWidth, data]);
44562
- }
44563
-
44564
- var useBottomAxisBaseLineShift = function useBottomAxisBaseLineShift(_ref) {
44565
- var showDetailedSubGroupingLabels = _ref.showDetailedSubGroupingLabels,
44566
- hasBottomTitle = _ref.hasBottomTitle,
44567
- hasLeftTitle = _ref.hasLeftTitle;
44568
- if (!showDetailedSubGroupingLabels) {
44569
- return {
44570
- bottomAxisBaselineShift: 0,
44571
- bottomOffset: 0,
44572
- leftOffset: 0
44573
- };
44574
- }
44575
- return {
44576
- bottomAxisBaselineShift: hasBottomTitle ? -65 : -60,
44577
- bottomOffset: hasBottomTitle ? -15 : 10,
44578
- leftOffset: hasLeftTitle ? -10 : 0
44579
- };
44580
- };
44529
+ var BAR_RADIUS = 2;
44581
44530
 
44582
44531
  function getBarFill(bars, conditionalFormattingRules, barKey, barValues) {
44583
44532
  var _bars$find;
@@ -44603,73 +44552,6 @@ function getBarFill(bars, conditionalFormattingRules, barKey, barValues) {
44603
44552
  return fill;
44604
44553
  }
44605
44554
 
44606
- var BAR_RADIUS = 2;
44607
-
44608
- var BarStacked = function BarStacked(_ref) {
44609
- var xScaleDataType = _ref.xScaleDataType,
44610
- data = _ref.data,
44611
- xScaleKey = _ref.xScaleKey,
44612
- yScale = _ref.yScale,
44613
- keys = _ref.keys,
44614
- bars = _ref.bars,
44615
- conditionalFormattingRules = _ref.conditionalFormattingRules,
44616
- xScale = _ref.xScale,
44617
- height = _ref.height,
44618
- width = _ref.width;
44619
- var handleGetXValue = function handleGetXValue(d) {
44620
- var xValue = d[xScaleKey];
44621
- if (xScaleDataType === 'string') return String(xValue);
44622
- if (xScaleDataType === 'date_time') {
44623
- return new Date(xValue);
44624
- }
44625
- if (xScaleDataType === 'number') {
44626
- return Number(xValue);
44627
- }
44628
- return String(xValue);
44629
- };
44630
- return jsx(BarStack$1, {
44631
- x: handleGetXValue,
44632
- xScale: xScale,
44633
- yScale: yScale,
44634
- data: data,
44635
- keys: keys,
44636
- color: function color() {
44637
- return '';
44638
- },
44639
- height: height,
44640
- width: width,
44641
- offset: "none",
44642
- children: function children(barStacks) {
44643
- return barStacks.map(function (barStack) {
44644
- return barStack.bars.map(function (bar) {
44645
- return jsx(Bar, {
44646
- bar: bar,
44647
- barStack: barStack,
44648
- bars: bars,
44649
- conditionalFormattingRules: conditionalFormattingRules
44650
- }, bar.key.toString());
44651
- });
44652
- });
44653
- }
44654
- });
44655
- };
44656
- var Bar = function Bar(_ref2) {
44657
- var bar = _ref2.bar,
44658
- barStack = _ref2.barStack,
44659
- bars = _ref2.bars,
44660
- conditionalFormattingRules = _ref2.conditionalFormattingRules;
44661
- var BAR_PADDING = 1.5;
44662
- if (bar.height < 3) return null;
44663
- return jsx("rect", {
44664
- x: bar.x,
44665
- y: bar.y,
44666
- width: bar.width,
44667
- height: bar.height - BAR_PADDING,
44668
- fill: getBarFill(bars, conditionalFormattingRules, bar.key, bar.bar.data),
44669
- rx: BAR_RADIUS
44670
- }, "bar-stack-" + barStack.index + "-" + bar.index);
44671
- };
44672
-
44673
44555
  function _EMOTION_STRINGIFIED_CSS_ERROR__$9() { 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)."; }
44674
44556
  function BarGroup(_ref) {
44675
44557
  var data = _ref.data,
@@ -44719,7 +44601,7 @@ function BarGroup(_ref) {
44719
44601
  return jsx(Group$2, {
44720
44602
  left: barGroup.x0,
44721
44603
  children: barGroup.bars.map(function (bar) {
44722
- return jsx(Bar$1, {
44604
+ return jsx(Bar, {
44723
44605
  bar: bar,
44724
44606
  barGroup: barGroup,
44725
44607
  bars: bars,
@@ -44737,7 +44619,7 @@ function BarGroup(_ref) {
44737
44619
  }
44738
44620
  });
44739
44621
  }
44740
- var Bar$1 = function Bar(_ref2) {
44622
+ var Bar = function Bar(_ref2) {
44741
44623
  var bar = _ref2.bar,
44742
44624
  barGroup = _ref2.barGroup,
44743
44625
  bars = _ref2.bars,
@@ -44751,6 +44633,7 @@ var Bar$1 = function Bar(_ref2) {
44751
44633
  var showBar = bar.value !== null && bar.height > 0 && bar.width > 0;
44752
44634
  return jsxs(Fragment, {
44753
44635
  children: [showBar && jsx(BarRect, {
44636
+ barRectKey: "bar-group-bar-" + barGroup.index + "-" + bar.index + "-" + bar.value + "-" + String(bar.key),
44754
44637
  x: bar.x,
44755
44638
  y: bar.y,
44756
44639
  width: bar.width,
@@ -44760,7 +44643,7 @@ var Bar$1 = function Bar(_ref2) {
44760
44643
  return _onClick(e, barGroup, bar);
44761
44644
  },
44762
44645
  enableHover: enableHover
44763
- }, "bar-group-bar-" + barGroup.index + "-" + bar.index + "-" + bar.value + "-" + String(bar.key)), jsx(BarLabel, {
44646
+ }), jsx(BarLabel, {
44764
44647
  bar: bar,
44765
44648
  barGroup: barGroup,
44766
44649
  yLabelPosition: yLabelPosition,
@@ -44777,7 +44660,7 @@ var BarRect = function BarRect(_ref3) {
44777
44660
  y = _ref3.y,
44778
44661
  width = _ref3.width,
44779
44662
  height = _ref3.height,
44780
- key = _ref3.key,
44663
+ barRectKey = _ref3.barRectKey,
44781
44664
  enableHover = _ref3.enableHover;
44782
44665
  var _useState = useState(fill),
44783
44666
  fillColor = _useState[0],
@@ -44788,7 +44671,7 @@ var BarRect = function BarRect(_ref3) {
44788
44671
  } : {
44789
44672
  name: "1ltmijl-classes",
44790
44673
  styles: "cursor:pointer;label:classes;",
44791
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJhckdyb3VwLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtTGtDIiwiZmlsZSI6IkJhckdyb3VwLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gXCJAZW1vdGlvbi9jc3NcIjtcbmltcG9ydCB7IEZyYWdtZW50LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgbGlnaHRlbkNvbG9yIH0gZnJvbSBcIi4uLy4uLy4uL3N0eWxlcy9jb2xvci5mdW5jdGlvbnNcIjtcbmltcG9ydCB7IEJBUl9SQURJVVMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvQk9SREVSX1JBRElVUydcbmltcG9ydCB7IGdldEJhckZpbGwgfSBmcm9tIFwiLi4vZ2V0QmFyRmlsbFwiO1xuaW1wb3J0IHsgQ2hhcnREYXRhRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSwgU2hhcGVEZWZpbml0aW9uIH0gZnJvbSBcInNoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXNcIjtcbmltcG9ydCB7IEJhclN0eWxlcyB9IGZyb20gXCJzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXNcIjtcbmltcG9ydCB7IEJhckdyb3VwIGFzIFZpc3hCYXJHcm91cCB9IGZyb20gJ0B2aXN4L3NoYXBlJztcbmltcG9ydCB7IFNjYWxlTGluZWFyLCBTY2FsZUJhbmQgfSBmcm9tICdAdmlzeC92ZW5kb3IvZDMtc2NhbGUnO1xuaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tIFwic2hhcmVkLWxvZ2ljL3NyYy9GaWVsZC90eXBlc1wiO1xuaW1wb3J0IHsgRGF0dW1PYmplY3QgfSBmcm9tICdAdmlzeC9zaGFwZS9saWIvdHlwZXMnO1xuaW1wb3J0IHsgR3JvdXAgfSBmcm9tICdAdmlzeC9ncm91cCc7XG5cbmV4cG9ydCB0eXBlIEJhckdyb3VwUHJvcHMgPSB7XG4gICAgZGF0YTogQ2hhcnREYXRhRGVmaW5pdGlvbltdO1xuICAgIGtleXM6IHN0cmluZ1tdO1xuICAgIGhlaWdodDogbnVtYmVyO1xuICAgIHhLZXk6IHN0cmluZztcbiAgICB4U2NhbGVEYXRhVHlwZTogRGF0YVR5cGU7XG4gICAgeFNjYWxlOiBTY2FsZUJhbmQ8c3RyaW5nPiB8IFNjYWxlQmFuZDxEYXRlPiB8IFNjYWxlQmFuZDxudW1iZXI+IHwgbnVsbDtcbiAgICBpbm5lclhTY2FsZTogU2NhbGVCYW5kPHN0cmluZz4gfCB1bmRlZmluZWQ7XG4gICAgeVNjYWxlOiBTY2FsZUxpbmVhcjxudW1iZXIsIG51bWJlciwgbmV2ZXI+O1xuICAgIG9uQ2xpY2s6IChlOiBSZWFjdC5Nb3VzZUV2ZW50PFNWR1JlY3RFbGVtZW50LCBNb3VzZUV2ZW50PiwgYmFyR3JvdXA6IGFueSwgYmFyOiBhbnkpID0+IHZvaWQ7XG4gICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVbXTtcbiAgICBiYXJzOiBTaGFwZURlZmluaXRpb248QmFyU3R5bGVzPltdO1xuICAgIGVuYWJsZUhvdmVyPzogYm9vbGVhbjtcbiAgICB5QXhpc0xhYmVscz86IHN0cmluZ1tdO1xuICAgIHlMYWJlbFBvc2l0aW9uPzogbnVtYmVyO1xuICAgIHNob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzOiBib29sZWFuO1xuICAgIGxhYmVsU3R5bGU/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIEJhckdyb3VwKHtcbiAgICBkYXRhLFxuICAgIGtleXMsXG4gICAgaGVpZ2h0LFxuICAgIHhLZXksXG4gICAgeFNjYWxlRGF0YVR5cGUsXG4gICAgeFNjYWxlLFxuICAgIGlubmVyWFNjYWxlLFxuICAgIHlTY2FsZSxcbiAgICBvbkNsaWNrLFxuICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLFxuICAgIGJhcnMsXG4gICAgZW5hYmxlSG92ZXIsXG4gICAgeUF4aXNMYWJlbHMsXG4gICAgeUxhYmVsUG9zaXRpb24sXG4gICAgc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHMsXG4gICAgbGFiZWxTdHlsZSxcbn06IEJhckdyb3VwUHJvcHMpIHtcbiAgICBjb25zdCBnZXRHcm91cFBvc2l0aW9uID0gKGQ6IERhdHVtT2JqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IHhWYWx1ZSA9IGRbeEtleSBhcyBrZXlvZiB0eXBlb2YgZF07XG5cbiAgICAgICAgaWYgKHhTY2FsZURhdGFUeXBlID09PSAnc3RyaW5nJykgcmV0dXJuIFN0cmluZyh4VmFsdWUpO1xuXG4gICAgICAgIGlmICh4U2NhbGVEYXRhVHlwZSA9PT0gJ2RhdGVfdGltZScpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShTdHJpbmcoeFZhbHVlKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoeFNjYWxlRGF0YVR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHhWYWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gU3RyaW5nKHhWYWx1ZSk7XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxWaXN4QmFyR3JvdXA8RGF0dW1PYmplY3Q+XG4gICAgICAgICAgICBkYXRhPXtkYXRhIGFzIERhdHVtT2JqZWN0W119XG4gICAgICAgICAgICBrZXlzPXtrZXlzfVxuICAgICAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgICAgICB4MD17Z2V0R3JvdXBQb3NpdGlvbn1cbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHgwU2NhbGU9e3hTY2FsZX1cbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHgxU2NhbGU9e2lubmVyWFNjYWxlfVxuICAgICAgICAgICAgeVNjYWxlPXt5U2NhbGV9XG4gICAgICAgICAgICBjb2xvcj17KCkgPT4gJyd9XG4gICAgICAgID5cbiAgICAgICAgICAgIHtiYXJHcm91cHMgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBiYXJHcm91cHMubWFwKGJhckdyb3VwID0+IChcbiAgICAgICAgICAgICAgICAgICAgPEdyb3VwIGtleT17YGJhci1ncm91cC0ke2Jhckdyb3VwLmluZGV4fS0ke2Jhckdyb3VwLngwfWB9IGxlZnQ9e2Jhckdyb3VwLngwfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtiYXJHcm91cC5iYXJzLm1hcChiYXIgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgYmFyLSR7YmFyLmluZGV4fS0ke2Jhci54fWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhcj17YmFyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXJHcm91cD17YmFyR3JvdXB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhcnM9e2JhcnN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzPXtjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlSG92ZXI9e2VuYWJsZUhvdmVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbFN0eWxlPXtsYWJlbFN0eWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93RGV0YWlsZWRTdWJHcm91cGluZ0xhYmVscz17c2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlBeGlzTGFiZWxzPXt5QXhpc0xhYmVsc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeUxhYmVsUG9zaXRpb249e3lMYWJlbFBvc2l0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgPC9Hcm91cD5cbiAgICAgICAgICAgICAgICApKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgIDwvVmlzeEJhckdyb3VwPlxuICAgICk7XG59XG5cbnR5cGUgQmFyUHJvcHMgPSB7XG4gICAgYmFyOiBhbnksXG4gICAgYmFyR3JvdXA6IGFueSxcbiAgICBiYXJzOiBTaGFwZURlZmluaXRpb248QmFyU3R5bGVzPltdO1xuICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzOiBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlW107XG4gICAgZW5hYmxlSG92ZXI/OiBib29sZWFuO1xuICAgIG9uQ2xpY2s6IChlOiBSZWFjdC5Nb3VzZUV2ZW50PFNWR1JlY3RFbGVtZW50LCBNb3VzZUV2ZW50PiwgYmFyR3JvdXA6IGFueSwgYmFyOiBhbnkpID0+IHZvaWQ7XG4gICAgc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHM6IGJvb2xlYW47XG4gICAgbGFiZWxTdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXM7XG4gICAgeUF4aXNMYWJlbHM/OiBzdHJpbmdbXTtcbiAgICB5TGFiZWxQb3NpdGlvbj86IG51bWJlcjtcbn1cblxuY29uc3QgQmFyID0gKHtcbiAgICBiYXIsXG4gICAgYmFyR3JvdXAsXG4gICAgYmFycyxcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgICBlbmFibGVIb3ZlcixcbiAgICBsYWJlbFN0eWxlLFxuICAgIG9uQ2xpY2ssXG4gICAgc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHMsXG4gICAgeUF4aXNMYWJlbHMsXG4gICAgeUxhYmVsUG9zaXRpb24sXG59OiBCYXJQcm9wcykgPT4ge1xuICAgIGNvbnN0IHNob3dCYXIgPSBiYXIudmFsdWUgIT09IG51bGwgJiYgYmFyLmhlaWdodCA+IDAgJiYgYmFyLndpZHRoID4gMDtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgICAgIHtzaG93QmFyICYmIDxCYXJSZWN0XG4gICAgICAgICAgICAgICAga2V5PXtgYmFyLWdyb3VwLWJhci0ke2Jhckdyb3VwLmluZGV4fS0ke2Jhci5pbmRleH0tJHtiYXIudmFsdWV9LSR7U3RyaW5nKGJhci5rZXkpfWB9XG4gICAgICAgICAgICAgICAgeD17YmFyLnh9XG4gICAgICAgICAgICAgICAgeT17YmFyLnl9XG4gICAgICAgICAgICAgICAgd2lkdGg9e2Jhci53aWR0aH1cbiAgICAgICAgICAgICAgICBoZWlnaHQ9e2Jhci5oZWlnaHR9XG4gICAgICAgICAgICAgICAgZmlsbD17Z2V0QmFyRmlsbChiYXJzLCBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcywgU3RyaW5nKGJhci5rZXkpLCBiYXIudmFsdWUpfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2UgPT4gb25DbGljayhlLCBiYXJHcm91cCwgYmFyKX1cbiAgICAgICAgICAgICAgICBlbmFibGVIb3Zlcj17ZW5hYmxlSG92ZXJ9XG4gICAgICAgICAgICAvPn1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPEJhckxhYmVsXG4gICAgICAgICAgICAgICAgYmFyPXtiYXJ9XG4gICAgICAgICAgICAgICAgYmFyR3JvdXA9e2Jhckdyb3VwfVxuICAgICAgICAgICAgICAgIHlMYWJlbFBvc2l0aW9uPXt5TGFiZWxQb3NpdGlvbn1cbiAgICAgICAgICAgICAgICB5QXhpc0xhYmVscz17eUF4aXNMYWJlbHN9XG4gICAgICAgICAgICAgICAgc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHM9e3Nob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzfVxuICAgICAgICAgICAgICAgIGxhYmVsU3R5bGU9e2xhYmVsU3R5bGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICA8L0ZyYWdtZW50PlxuICAgICk7XG59O1xuXG50eXBlIEJhclJlY3RQcm9wcyA9IHtcbiAgICBvbkNsaWNrOiAoZTogUmVhY3QuTW91c2VFdmVudDxTVkdSZWN0RWxlbWVudCwgTW91c2VFdmVudD4pID0+IHZvaWQ7XG4gICAgZmlsbD86IHN0cmluZztcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgaGVpZ2h0OiBudW1iZXI7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgZW5hYmxlSG92ZXI/OiBib29sZWFuO1xufTtcblxuY29uc3QgQmFyUmVjdCA9ICh7XG4gICAgb25DbGljayxcbiAgICBmaWxsLFxuICAgIHgsXG4gICAgeSxcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAga2V5LFxuICAgIGVuYWJsZUhvdmVyLFxufTogQmFyUmVjdFByb3BzKSA9PiB7XG4gICAgY29uc3QgW2ZpbGxDb2xvciwgc2V0RmlsbENvbG9yXSA9IHVzZVN0YXRlKGZpbGwpO1xuXG4gICAgY29uc3QgY2xhc3NlcyA9IGVuYWJsZUhvdmVyID8gY3NzKHsgY3Vyc29yOiAncG9pbnRlcicgfSkgOiAnJztcblxuICAgIGNvbnN0IGhhbmRsZU9uTW91c2VFbnRlciA9ICgpID0+IHtcbiAgICAgICAgaWYgKGVuYWJsZUhvdmVyKSB7XG4gICAgICAgICAgICBzZXRGaWxsQ29sb3IobGlnaHRlbkNvbG9yKGZpbGwsIDAuOCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgaGFuZGxlT25Nb3VzZUxlYXZlID0gKCkgPT4ge1xuICAgICAgICBpZiAoZW5hYmxlSG92ZXIpIHtcbiAgICAgICAgICAgIHNldEZpbGxDb2xvcihmaWxsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICAgIDxyZWN0XG4gICAgICAgICAgICBrZXk9e2tleX1cbiAgICAgICAgICAgIHg9e3h9XG4gICAgICAgICAgICB5PXt5fVxuICAgICAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgICAgICBmaWxsPXtmaWxsQ29sb3J9XG4gICAgICAgICAgICByeD17QkFSX1JBRElVU31cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICAgICAgICBvbk1vdXNlRW50ZXI9e2hhbmRsZU9uTW91c2VFbnRlcn1cbiAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17aGFuZGxlT25Nb3VzZUxlYXZlfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzfVxuICAgICAgICAvPlxuICAgICk7XG59O1xuXG50eXBlIEJhckxhYmVsUHJvcHMgPSB7XG4gICAgYmFyOiBhbnk7XG4gICAgYmFyR3JvdXA6IGFueTtcbiAgICB5TGFiZWxQb3NpdGlvbj86IG51bWJlcjtcbiAgICB5QXhpc0xhYmVscz86IHN0cmluZ1tdO1xuICAgIHNob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzOiBib29sZWFuO1xuICAgIGxhYmVsU3R5bGU/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzO1xufTtcblxuY29uc3QgQmFyTGFiZWwgPSAoe1xuICAgIGJhcixcbiAgICBiYXJHcm91cCxcbiAgICB5TGFiZWxQb3NpdGlvbixcbiAgICB5QXhpc0xhYmVscyxcbiAgICBzaG93RGV0YWlsZWRTdWJHcm91cGluZ0xhYmVscyxcbiAgICBsYWJlbFN0eWxlLFxufTogQmFyTGFiZWxQcm9wcykgPT4ge1xuICAgIGlmICghc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHMgfHwgIXlMYWJlbFBvc2l0aW9uIHx8ICF5QXhpc0xhYmVscykgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBsYWJlbCA9IHlBeGlzTGFiZWxzW2Jhci5pbmRleF07XG4gICAgY29uc3QgY29sdW1uTGFiZWwgPSBsYWJlbC5zcGxpdCgn4oCiJylbMF07XG5cbiAgICBsZXQgZm9ybWF0dGVkQ29sdW1uTGFiZWw6IHN0cmluZztcbiAgICBpZiAoY29sdW1uTGFiZWwubGVuZ3RoID49IDEzKSB7XG4gICAgICAgIGZvcm1hdHRlZENvbHVtbkxhYmVsID0gY29sdW1uTGFiZWwuc2xpY2UoMCwgMTApICsgJy4uLic7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZm9ybWF0dGVkQ29sdW1uTGFiZWwgPSBjb2x1bW5MYWJlbC5zbGljZSgwLCAxMyk7XG4gICAgfVxuXG4gICAgY29uc3QgbGFiZWxYR2FwID0gNDtcbiAgICBjb25zdCBsYWJlbFhQb3NpdGlvbiA9IGJhci54ICsgKGJhci53aWR0aCAvIDIpICsgbGFiZWxYR2FwO1xuXG4gICAgY29uc3QgbGFiZWxZR2FwID0gMTU7XG4gICAgY29uc3QgbGFiZWxZUG9zaXRpb24gPSB5TGFiZWxQb3NpdGlvbiArIGxhYmVsWUdhcDtcblxuICAgIGNvbnN0IGxhYmVsS2V5ID0gYGxhYmVsLSR7YmFyR3JvdXAuaW5kZXh9LSR7YmFyLmluZGV4fS0ke2xhYmVsfWA7XG5cbiAgICByZXR1cm4gPHRleHRcbiAgICAgICAga2V5PXtsYWJlbEtleX1cbiAgICAgICAgeD17bGFiZWxYUG9zaXRpb259XG4gICAgICAgIHk9e2xhYmVsWVBvc2l0aW9ufVxuICAgICAgICBzdHlsZT17bGFiZWxTdHlsZX1cbiAgICAgICAgdHJhbnNmb3JtPXtgcm90YXRlKC03MCwgJHtsYWJlbFhQb3NpdGlvbn0sICR7bGFiZWxZUG9zaXRpb259KWB9XG4gICAgICAgIHRleHRBbmNob3I9J2VuZCdcbiAgICA+XG4gICAgICAgIHtmb3JtYXR0ZWRDb2x1bW5MYWJlbH1cbiAgICA8L3RleHQ+XG59Il19 */",
44674
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJhckdyb3VwLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0S2dDIiwiZmlsZSI6IkJhckdyb3VwLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJ0B2aXN4L2dyb3VwJztcbmltcG9ydCB7IEJhckdyb3VwIGFzIFZpc3hCYXJHcm91cCB9IGZyb20gJ0B2aXN4L3NoYXBlJztcbmltcG9ydCB7IERhdHVtT2JqZWN0IH0gZnJvbSAnQHZpc3gvc2hhcGUvbGliL3R5cGVzJztcbmltcG9ydCB7IFNjYWxlQmFuZCwgU2NhbGVMaW5lYXIgfSBmcm9tICdAdmlzeC92ZW5kb3IvZDMtc2NhbGUnO1xuaW1wb3J0IHsgRnJhZ21lbnQsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IENoYXJ0RGF0YURlZmluaXRpb24sIENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGUsIFNoYXBlRGVmaW5pdGlvbiB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0ZpZWxkL3R5cGVzJztcbmltcG9ydCB7IGxpZ2h0ZW5Db2xvciB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb2xvci5mdW5jdGlvbnMnO1xuaW1wb3J0IHsgQkFSX1JBRElVUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9CT1JERVJfUkFESVVTJztcbmltcG9ydCB7IGdldEJhckZpbGwgfSBmcm9tICcuLi9nZXRCYXJGaWxsJztcblxuZXhwb3J0IHR5cGUgQmFyR3JvdXBQcm9wcyA9IHtcbiAgZGF0YTogQ2hhcnREYXRhRGVmaW5pdGlvbltdO1xuICBrZXlzOiBzdHJpbmdbXTtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHhLZXk6IHN0cmluZztcbiAgeFNjYWxlRGF0YVR5cGU6IERhdGFUeXBlO1xuICB4U2NhbGU6IFNjYWxlQmFuZDxzdHJpbmc+IHwgU2NhbGVCYW5kPERhdGU+IHwgU2NhbGVCYW5kPG51bWJlcj4gfCBudWxsO1xuICBpbm5lclhTY2FsZTogU2NhbGVCYW5kPHN0cmluZz4gfCB1bmRlZmluZWQ7XG4gIHlTY2FsZTogU2NhbGVMaW5lYXI8bnVtYmVyLCBudW1iZXIsIG5ldmVyPjtcbiAgb25DbGljazogKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8U1ZHUmVjdEVsZW1lbnQsIE1vdXNlRXZlbnQ+LCBiYXJHcm91cDogYW55LCBiYXI6IGFueSkgPT4gdm9pZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVbXTtcbiAgYmFyczogU2hhcGVEZWZpbml0aW9uPEJhclN0eWxlcz5bXTtcbiAgZW5hYmxlSG92ZXI/OiBib29sZWFuO1xuICB5QXhpc0xhYmVscz86IHN0cmluZ1tdO1xuICB5TGFiZWxQb3NpdGlvbj86IG51bWJlcjtcbiAgc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHM6IGJvb2xlYW47XG4gIGxhYmVsU3R5bGU/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIEJhckdyb3VwKHtcbiAgZGF0YSxcbiAga2V5cyxcbiAgaGVpZ2h0LFxuICB4S2V5LFxuICB4U2NhbGVEYXRhVHlwZSxcbiAgeFNjYWxlLFxuICBpbm5lclhTY2FsZSxcbiAgeVNjYWxlLFxuICBvbkNsaWNrLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgYmFycyxcbiAgZW5hYmxlSG92ZXIsXG4gIHlBeGlzTGFiZWxzLFxuICB5TGFiZWxQb3NpdGlvbixcbiAgc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHMsXG4gIGxhYmVsU3R5bGUsXG59OiBCYXJHcm91cFByb3BzKSB7XG4gIGNvbnN0IGdldEdyb3VwUG9zaXRpb24gPSAoZDogRGF0dW1PYmplY3QpID0+IHtcbiAgICBjb25zdCB4VmFsdWUgPSBkW3hLZXkgYXMga2V5b2YgdHlwZW9mIGRdO1xuXG4gICAgaWYgKHhTY2FsZURhdGFUeXBlID09PSAnc3RyaW5nJykgcmV0dXJuIFN0cmluZyh4VmFsdWUpO1xuXG4gICAgaWYgKHhTY2FsZURhdGFUeXBlID09PSAnZGF0ZV90aW1lJykge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKFN0cmluZyh4VmFsdWUpKTtcbiAgICB9XG5cbiAgICBpZiAoeFNjYWxlRGF0YVR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gTnVtYmVyKHhWYWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFN0cmluZyh4VmFsdWUpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFZpc3hCYXJHcm91cDxEYXR1bU9iamVjdD5cbiAgICAgIGRhdGE9e2RhdGEgYXMgRGF0dW1PYmplY3RbXX1cbiAgICAgIGtleXM9e2tleXN9XG4gICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgIHgwPXtnZXRHcm91cFBvc2l0aW9ufVxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgeDBTY2FsZT17eFNjYWxlfVxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgeDFTY2FsZT17aW5uZXJYU2NhbGV9XG4gICAgICB5U2NhbGU9e3lTY2FsZX1cbiAgICAgIGNvbG9yPXsoKSA9PiAnJ31cbiAgICA+XG4gICAgICB7KGJhckdyb3VwcykgPT4ge1xuICAgICAgICByZXR1cm4gYmFyR3JvdXBzLm1hcCgoYmFyR3JvdXApID0+IChcbiAgICAgICAgICA8R3JvdXAga2V5PXtgYmFyLWdyb3VwLSR7YmFyR3JvdXAuaW5kZXh9LSR7YmFyR3JvdXAueDB9YH0gbGVmdD17YmFyR3JvdXAueDB9PlxuICAgICAgICAgICAge2Jhckdyb3VwLmJhcnMubWFwKChiYXIpID0+IChcbiAgICAgICAgICAgICAgPEJhclxuICAgICAgICAgICAgICAgIGtleT17YGJhci0ke2Jhci5pbmRleH0tJHtiYXIueH1gfVxuICAgICAgICAgICAgICAgIGJhcj17YmFyfVxuICAgICAgICAgICAgICAgIGJhckdyb3VwPXtiYXJHcm91cH1cbiAgICAgICAgICAgICAgICBiYXJzPXtiYXJzfVxuICAgICAgICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzPXtjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICAgICAgICBlbmFibGVIb3Zlcj17ZW5hYmxlSG92ZXJ9XG4gICAgICAgICAgICAgICAgbGFiZWxTdHlsZT17bGFiZWxTdHlsZX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICAgICAgICAgIHNob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzPXtzaG93RGV0YWlsZWRTdWJHcm91cGluZ0xhYmVsc31cbiAgICAgICAgICAgICAgICB5QXhpc0xhYmVscz17eUF4aXNMYWJlbHN9XG4gICAgICAgICAgICAgICAgeUxhYmVsUG9zaXRpb249e3lMYWJlbFBvc2l0aW9ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9Hcm91cD5cbiAgICAgICAgKSk7XG4gICAgICB9fVxuICAgIDwvVmlzeEJhckdyb3VwPlxuICApO1xufVxuXG50eXBlIEJhclByb3BzID0ge1xuICBiYXI6IGFueTtcbiAgYmFyR3JvdXA6IGFueTtcbiAgYmFyczogU2hhcGVEZWZpbml0aW9uPEJhclN0eWxlcz5bXTtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVbXTtcbiAgZW5hYmxlSG92ZXI/OiBib29sZWFuO1xuICBvbkNsaWNrOiAoZTogUmVhY3QuTW91c2VFdmVudDxTVkdSZWN0RWxlbWVudCwgTW91c2VFdmVudD4sIGJhckdyb3VwOiBhbnksIGJhcjogYW55KSA9PiB2b2lkO1xuICBzaG93RGV0YWlsZWRTdWJHcm91cGluZ0xhYmVsczogYm9vbGVhbjtcbiAgbGFiZWxTdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXM7XG4gIHlBeGlzTGFiZWxzPzogc3RyaW5nW107XG4gIHlMYWJlbFBvc2l0aW9uPzogbnVtYmVyO1xufTtcblxuY29uc3QgQmFyID0gKHtcbiAgYmFyLFxuICBiYXJHcm91cCxcbiAgYmFycyxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG4gIGVuYWJsZUhvdmVyLFxuICBsYWJlbFN0eWxlLFxuICBvbkNsaWNrLFxuICBzaG93RGV0YWlsZWRTdWJHcm91cGluZ0xhYmVscyxcbiAgeUF4aXNMYWJlbHMsXG4gIHlMYWJlbFBvc2l0aW9uLFxufTogQmFyUHJvcHMpID0+IHtcbiAgY29uc3Qgc2hvd0JhciA9IGJhci52YWx1ZSAhPT0gbnVsbCAmJiBiYXIuaGVpZ2h0ID4gMCAmJiBiYXIud2lkdGggPiAwO1xuXG4gIHJldHVybiAoXG4gICAgPEZyYWdtZW50PlxuICAgICAge3Nob3dCYXIgJiYgKFxuICAgICAgICA8QmFyUmVjdFxuICAgICAgICAgIGJhclJlY3RLZXk9e2BiYXItZ3JvdXAtYmFyLSR7YmFyR3JvdXAuaW5kZXh9LSR7YmFyLmluZGV4fS0ke2Jhci52YWx1ZX0tJHtTdHJpbmcoYmFyLmtleSl9YH1cbiAgICAgICAgICB4PXtiYXIueH1cbiAgICAgICAgICB5PXtiYXIueX1cbiAgICAgICAgICB3aWR0aD17YmFyLndpZHRofVxuICAgICAgICAgIGhlaWdodD17YmFyLmhlaWdodH1cbiAgICAgICAgICBmaWxsPXtnZXRCYXJGaWxsKGJhcnMsIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLCBTdHJpbmcoYmFyLmtleSksIGJhci52YWx1ZSl9XG4gICAgICAgICAgb25DbGljaz17KGUpID0+IG9uQ2xpY2soZSwgYmFyR3JvdXAsIGJhcil9XG4gICAgICAgICAgZW5hYmxlSG92ZXI9e2VuYWJsZUhvdmVyfVxuICAgICAgICAvPlxuICAgICAgKX1cblxuICAgICAgPEJhckxhYmVsXG4gICAgICAgIGJhcj17YmFyfVxuICAgICAgICBiYXJHcm91cD17YmFyR3JvdXB9XG4gICAgICAgIHlMYWJlbFBvc2l0aW9uPXt5TGFiZWxQb3NpdGlvbn1cbiAgICAgICAgeUF4aXNMYWJlbHM9e3lBeGlzTGFiZWxzfVxuICAgICAgICBzaG93RGV0YWlsZWRTdWJHcm91cGluZ0xhYmVscz17c2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHN9XG4gICAgICAgIGxhYmVsU3R5bGU9e2xhYmVsU3R5bGV9XG4gICAgICAvPlxuICAgIDwvRnJhZ21lbnQ+XG4gICk7XG59O1xuXG50eXBlIEJhclJlY3RQcm9wcyA9IHtcbiAgb25DbGljazogKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8U1ZHUmVjdEVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB2b2lkO1xuICBmaWxsPzogc3RyaW5nO1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIGJhclJlY3RLZXk6IHN0cmluZztcbiAgZW5hYmxlSG92ZXI/OiBib29sZWFuO1xufTtcblxuY29uc3QgQmFyUmVjdCA9ICh7IG9uQ2xpY2ssIGZpbGwsIHgsIHksIHdpZHRoLCBoZWlnaHQsIGJhclJlY3RLZXksIGVuYWJsZUhvdmVyIH06IEJhclJlY3RQcm9wcykgPT4ge1xuICBjb25zdCBbZmlsbENvbG9yLCBzZXRGaWxsQ29sb3JdID0gdXNlU3RhdGUoZmlsbCk7XG5cbiAgY29uc3QgY2xhc3NlcyA9IGVuYWJsZUhvdmVyID8gY3NzKHsgY3Vyc29yOiAncG9pbnRlcicgfSkgOiAnJztcblxuICBjb25zdCBoYW5kbGVPbk1vdXNlRW50ZXIgPSAoKSA9PiB7XG4gICAgaWYgKGVuYWJsZUhvdmVyKSB7XG4gICAgICBzZXRGaWxsQ29sb3IobGlnaHRlbkNvbG9yKGZpbGwsIDAuOCkpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVPbk1vdXNlTGVhdmUgPSAoKSA9PiB7XG4gICAgaWYgKGVuYWJsZUhvdmVyKSB7XG4gICAgICBzZXRGaWxsQ29sb3IoZmlsbCk7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPHJlY3RcbiAgICAgIGtleT17YmFyUmVjdEtleX1cbiAgICAgIHg9e3h9XG4gICAgICB5PXt5fVxuICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICBmaWxsPXtmaWxsQ29sb3J9XG4gICAgICByeD17QkFSX1JBRElVU31cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICBvbk1vdXNlRW50ZXI9e2hhbmRsZU9uTW91c2VFbnRlcn1cbiAgICAgIG9uTW91c2VMZWF2ZT17aGFuZGxlT25Nb3VzZUxlYXZlfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzfVxuICAgIC8+XG4gICk7XG59O1xuXG50eXBlIEJhckxhYmVsUHJvcHMgPSB7XG4gIGJhcjogYW55O1xuICBiYXJHcm91cDogYW55O1xuICB5TGFiZWxQb3NpdGlvbj86IG51bWJlcjtcbiAgeUF4aXNMYWJlbHM/OiBzdHJpbmdbXTtcbiAgc2hvd0RldGFpbGVkU3ViR3JvdXBpbmdMYWJlbHM6IGJvb2xlYW47XG4gIGxhYmVsU3R5bGU/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzO1xufTtcblxuY29uc3QgQmFyTGFiZWwgPSAoe1xuICBiYXIsXG4gIGJhckdyb3VwLFxuICB5TGFiZWxQb3NpdGlvbixcbiAgeUF4aXNMYWJlbHMsXG4gIHNob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzLFxuICBsYWJlbFN0eWxlLFxufTogQmFyTGFiZWxQcm9wcykgPT4ge1xuICBpZiAoIXNob3dEZXRhaWxlZFN1Ykdyb3VwaW5nTGFiZWxzIHx8ICF5TGFiZWxQb3NpdGlvbiB8fCAheUF4aXNMYWJlbHMpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IGxhYmVsID0geUF4aXNMYWJlbHNbYmFyLmluZGV4XTtcbiAgY29uc3QgY29sdW1uTGFiZWwgPSBsYWJlbC5zcGxpdCgn4oCiJylbMF07XG5cbiAgbGV0IGZvcm1hdHRlZENvbHVtbkxhYmVsOiBzdHJpbmc7XG4gIGlmIChjb2x1bW5MYWJlbC5sZW5ndGggPj0gMTMpIHtcbiAgICBmb3JtYXR0ZWRDb2x1bW5MYWJlbCA9IGNvbHVtbkxhYmVsLnNsaWNlKDAsIDEwKSArICcuLi4nO1xuICB9IGVsc2Uge1xuICAgIGZvcm1hdHRlZENvbHVtbkxhYmVsID0gY29sdW1uTGFiZWwuc2xpY2UoMCwgMTMpO1xuICB9XG5cbiAgY29uc3QgbGFiZWxYR2FwID0gNDtcbiAgY29uc3QgbGFiZWxYUG9zaXRpb24gPSBiYXIueCArIGJhci53aWR0aCAvIDIgKyBsYWJlbFhHYXA7XG5cbiAgY29uc3QgbGFiZWxZR2FwID0gMTU7XG4gIGNvbnN0IGxhYmVsWVBvc2l0aW9uID0geUxhYmVsUG9zaXRpb24gKyBsYWJlbFlHYXA7XG5cbiAgY29uc3QgbGFiZWxLZXkgPSBgbGFiZWwtJHtiYXJHcm91cC5pbmRleH0tJHtiYXIuaW5kZXh9LSR7bGFiZWx9YDtcblxuICByZXR1cm4gKFxuICAgIDx0ZXh0XG4gICAgICBrZXk9e2xhYmVsS2V5fVxuICAgICAgeD17bGFiZWxYUG9zaXRpb259XG4gICAgICB5PXtsYWJlbFlQb3NpdGlvbn1cbiAgICAgIHN0eWxlPXtsYWJlbFN0eWxlfVxuICAgICAgdHJhbnNmb3JtPXtgcm90YXRlKC03MCwgJHtsYWJlbFhQb3NpdGlvbn0sICR7bGFiZWxZUG9zaXRpb259KWB9XG4gICAgICB0ZXh0QW5jaG9yPVwiZW5kXCJcbiAgICA+XG4gICAgICB7Zm9ybWF0dGVkQ29sdW1uTGFiZWx9XG4gICAgPC90ZXh0PlxuICApO1xufTtcbiJdfQ== */",
44792
44675
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$9
44793
44676
  }) : '';
44794
44677
  var handleOnMouseEnter = function handleOnMouseEnter() {
@@ -44812,7 +44695,7 @@ var BarRect = function BarRect(_ref3) {
44812
44695
  onMouseEnter: handleOnMouseEnter,
44813
44696
  onMouseLeave: handleOnMouseLeave,
44814
44697
  className: classes
44815
- }, key);
44698
+ }, barRectKey);
44816
44699
  };
44817
44700
  var BarLabel = function BarLabel(_ref4) {
44818
44701
  var bar = _ref4.bar,
@@ -44845,6 +44728,124 @@ var BarLabel = function BarLabel(_ref4) {
44845
44728
  }, labelKey);
44846
44729
  };
44847
44730
 
44731
+ var BarStacked = function BarStacked(_ref) {
44732
+ var xScaleDataType = _ref.xScaleDataType,
44733
+ data = _ref.data,
44734
+ xScaleKey = _ref.xScaleKey,
44735
+ yScale = _ref.yScale,
44736
+ keys = _ref.keys,
44737
+ bars = _ref.bars,
44738
+ conditionalFormattingRules = _ref.conditionalFormattingRules,
44739
+ xScale = _ref.xScale,
44740
+ height = _ref.height,
44741
+ width = _ref.width;
44742
+ var handleGetXValue = function handleGetXValue(d) {
44743
+ var xValue = d[xScaleKey];
44744
+ if (xScaleDataType === 'string') return String(xValue);
44745
+ if (xScaleDataType === 'date_time') {
44746
+ return new Date(xValue);
44747
+ }
44748
+ if (xScaleDataType === 'number') {
44749
+ return Number(xValue);
44750
+ }
44751
+ return String(xValue);
44752
+ };
44753
+ return jsx(BarStack$1, {
44754
+ x: handleGetXValue,
44755
+ xScale: xScale,
44756
+ yScale: yScale,
44757
+ data: data,
44758
+ keys: keys,
44759
+ color: function color() {
44760
+ return '';
44761
+ },
44762
+ height: height,
44763
+ width: width,
44764
+ offset: "none",
44765
+ children: function children(barStacks) {
44766
+ return barStacks.map(function (barStack) {
44767
+ return barStack.bars.map(function (bar) {
44768
+ return jsx(Bar$1, {
44769
+ bar: bar,
44770
+ barStack: barStack,
44771
+ bars: bars,
44772
+ conditionalFormattingRules: conditionalFormattingRules
44773
+ }, bar.key.toString() + "-" + bar.index + "-" + bar.x);
44774
+ });
44775
+ });
44776
+ }
44777
+ });
44778
+ };
44779
+ var Bar$1 = function Bar(_ref2) {
44780
+ var bar = _ref2.bar,
44781
+ barStack = _ref2.barStack,
44782
+ bars = _ref2.bars,
44783
+ conditionalFormattingRules = _ref2.conditionalFormattingRules;
44784
+ var BAR_PADDING = 1.5;
44785
+ if (bar.height < 3) return null;
44786
+ return jsx("rect", {
44787
+ x: bar.x,
44788
+ y: bar.y,
44789
+ width: bar.width,
44790
+ height: bar.height - BAR_PADDING,
44791
+ fill: getBarFill(bars, conditionalFormattingRules, bar.key, bar.bar.data),
44792
+ rx: BAR_RADIUS
44793
+ }, "bar-stack-" + barStack.index + "-" + bar.index);
44794
+ };
44795
+
44796
+ var useBottomAxisBaseLineShift = function useBottomAxisBaseLineShift(_ref) {
44797
+ var showDetailedSubGroupingLabels = _ref.showDetailedSubGroupingLabels,
44798
+ hasBottomTitle = _ref.hasBottomTitle,
44799
+ hasLeftTitle = _ref.hasLeftTitle;
44800
+ if (!showDetailedSubGroupingLabels) {
44801
+ return {
44802
+ bottomAxisBaselineShift: 0,
44803
+ bottomOffset: 0,
44804
+ leftOffset: 0
44805
+ };
44806
+ }
44807
+ return {
44808
+ bottomAxisBaselineShift: hasBottomTitle ? -65 : -60,
44809
+ bottomOffset: hasBottomTitle ? -15 : 10,
44810
+ leftOffset: hasLeftTitle ? -10 : 0
44811
+ };
44812
+ };
44813
+
44814
+ var PADDING = {
44815
+ paddingOuter: 0.05,
44816
+ paddingInner: 0.3
44817
+ };
44818
+
44819
+ function useBarXScale(xScaleDataType, innerWidth, xScaleKey, data) {
44820
+ return useMemo(function () {
44821
+ if (xScaleDataType === 'string') {
44822
+ return scaleBand(_extends({
44823
+ range: [0, innerWidth],
44824
+ domain: xScaleKey ? [].concat(data.map(function (d) {
44825
+ return d[xScaleKey] && d[xScaleKey].value !== null ? String(d[xScaleKey].value) : '';
44826
+ })) : []
44827
+ }, PADDING));
44828
+ }
44829
+ if (xScaleDataType === 'date_time' && xScaleKey) {
44830
+ return scaleBand(_extends({
44831
+ range: [0, innerWidth],
44832
+ domain: data.map(function (d) {
44833
+ return new Date(d[xScaleKey].value);
44834
+ })
44835
+ }, PADDING));
44836
+ }
44837
+ if (xScaleDataType === 'number' && xScaleKey) {
44838
+ return scaleBand(_extends({
44839
+ range: [0, innerWidth],
44840
+ domain: data.map(function (d) {
44841
+ return d[xScaleKey] && d[xScaleKey].value !== null ? Number(d[xScaleKey].value) : 0;
44842
+ })
44843
+ }, PADDING));
44844
+ }
44845
+ return null;
44846
+ }, [innerWidth, data]);
44847
+ }
44848
+
44848
44849
  var BarChart$5 = function BarChart(_ref) {
44849
44850
  var _theme$axis;
44850
44851
  var chart = _ref.chart,
@@ -44866,7 +44867,7 @@ var BarChart$5 = function BarChart(_ref) {
44866
44867
  tooltipData = _useTooltip.tooltipData,
44867
44868
  hideTooltip = _useTooltip.hideTooltip,
44868
44869
  showTooltip = _useTooltip.showTooltip;
44869
- var showDetailedSubGroupingLabels = numberOfDimensions === 2 && width > 450;
44870
+ var showDetailedSubGroupingLabels = !options.stacked && numberOfDimensions === 2 && width > 450;
44870
44871
  var hasBottomTitle = chart.x.title != null;
44871
44872
  var hasLeftTitle = chart.y.title != null;
44872
44873
  var _useBottomAxisBaseLin = useBottomAxisBaseLineShift({
@@ -44879,7 +44880,7 @@ var BarChart$5 = function BarChart(_ref) {
44879
44880
  leftOffset = _useBottomAxisBaseLin.leftOffset;
44880
44881
  var margin = buildMargin(chart.y.ticks, options.axis.showYAxisLabels, hasLeftTitle, hasBottomTitle, showDetailedSubGroupingLabels);
44881
44882
  var innerWidth = width - margin.left - margin.right;
44882
- var innerHeight = height - margin.top - margin.bottom - (options.showLegend ? 50 : 0) - (showDetailedSubGroupingLabels ? 50 : 0);
44883
+ var innerHeight = height - margin.top - margin.bottom - (options.showLegend ? 50 : 0) - (showDetailedSubGroupingLabels ? 50 : 0) + (options.axis.showXAxisLabels ? 0 : 25);
44883
44884
  var xKey = chart.x.key;
44884
44885
  var xScaleKey = chart.x.scale.key;
44885
44886
  var xScaleDataType = chart.x.scale.dataType;
@@ -1,10 +1,10 @@
1
1
  /// <reference types="react" />
2
- import { VizzlyComponents } from '../../types';
3
2
  import { Component } from '../../../../shared-logic/src/Component/types';
4
3
  import { Dashboard } from '../../../../shared-logic/src/Dashboard/types';
5
- import { IdPrefix, DashboardBehaviour } from '../../contexts/DashboardBehaviour/types';
6
- import { HeadlineStatsProps } from '../HeadlineStats/HeadlineStats';
7
4
  import * as Drilldown from '../../../../shared-logic/src/Drilldown/Drilldown';
5
+ import { DashboardBehaviour, IdPrefix } from '../../contexts/DashboardBehaviour/types';
6
+ import { VizzlyComponents } from '../../types';
7
+ import { HeadlineStatsProps } from '../HeadlineStats/HeadlineStats';
8
8
  export declare type BarChartV2ViewProps = Omit<VizzlyComponents.ViewProps<{
9
9
  attributes: Component.BarChartV2Attributes;
10
10
  }>, 'supportedTimeTruncFunctions' | 'supportedTransformationFunctions' | 'supportedAggregates'>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vizzly/dashboard",
3
3
  "author": "james@vizzly.co",
4
- "version": "0.15.0-dev-ec22f31a049b4f844d3ea606a85bd487c4553b03",
4
+ "version": "0.15.0-dev-9c2753f2944feccf9be062635a5a86838c409695",
5
5
  "source": "src/index.tsx",
6
6
  "types": "./dist/dashboard/src/index.d.ts",
7
7
  "module": "./dist/dashboard.esm.js",