sag_components 2.0.0-beta66 → 2.0.0-beta68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +439 -396
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +439 -396
- package/dist/index.js.map +1 -1
- package/dist/types/components/BrushChart/BrushChart.style.d.ts +4 -0
- package/dist/types/components/BrushChart/Charts/BarLine.d.ts +2 -2
- package/dist/types/components/BrushChart/Charts/InnerBar.d.ts +2 -2
- package/dist/types/components/BrushChart/Charts/SingleChart.d.ts +4 -2
- package/package.json +6 -3
package/dist/index.esm.js
CHANGED
|
@@ -1933,7 +1933,7 @@ const TitleAndValueContainer$4 = styled.div`
|
|
|
1933
1933
|
flex-direction: column;
|
|
1934
1934
|
padding: 0 20px;
|
|
1935
1935
|
`;
|
|
1936
|
-
const Title$
|
|
1936
|
+
const Title$f = styled.h4`
|
|
1937
1937
|
font-weight: 400;
|
|
1938
1938
|
font-size: 18px;
|
|
1939
1939
|
margin: 0 0 8px;
|
|
@@ -2068,7 +2068,7 @@ const AvarageDelimiter = styled.div`
|
|
|
2068
2068
|
`;
|
|
2069
2069
|
|
|
2070
2070
|
/* Custom properties */
|
|
2071
|
-
const TooltipContainer$
|
|
2071
|
+
const TooltipContainer$4 = styled.div`
|
|
2072
2072
|
--tooltip-text-color: black;
|
|
2073
2073
|
--tooltip-background-color: white;
|
|
2074
2074
|
--tooltip-margin: 40px;
|
|
@@ -2094,7 +2094,7 @@ const TooltipTip$1 = styled.div`
|
|
|
2094
2094
|
font-size: 12px;
|
|
2095
2095
|
font-family: sans-serif;
|
|
2096
2096
|
line-height: 1;
|
|
2097
|
-
z-index:
|
|
2097
|
+
z-index: 99999;
|
|
2098
2098
|
white-space: nowrap;
|
|
2099
2099
|
|
|
2100
2100
|
/* CSS border triangles */
|
|
@@ -2110,7 +2110,6 @@ const TooltipTip$1 = styled.div`
|
|
|
2110
2110
|
margin-left: calc(var(--tooltip-arrow-size) * -1);
|
|
2111
2111
|
}
|
|
2112
2112
|
|
|
2113
|
-
/* Absolute positioning */
|
|
2114
2113
|
&.controls.top {
|
|
2115
2114
|
top: calc(var(--tooltip-margin) * ${props => props.topFactor || -1.8} );
|
|
2116
2115
|
}
|
|
@@ -2121,7 +2120,6 @@ const TooltipTip$1 = styled.div`
|
|
|
2121
2120
|
border-top-color: var(--tooltip-background-color);
|
|
2122
2121
|
}
|
|
2123
2122
|
|
|
2124
|
-
/* Absolute positioning */
|
|
2125
2123
|
&.controls.right {
|
|
2126
2124
|
left: calc(70% + var(--tooltip-margin));
|
|
2127
2125
|
top: 50%;
|
|
@@ -2136,7 +2134,6 @@ const TooltipTip$1 = styled.div`
|
|
|
2136
2134
|
border-right-color: var(--tooltip-background-color);
|
|
2137
2135
|
}
|
|
2138
2136
|
|
|
2139
|
-
/* Absolute positioning */
|
|
2140
2137
|
&.controls.bottom {
|
|
2141
2138
|
bottom: calc(var(--tooltip-margin) * -1);
|
|
2142
2139
|
}
|
|
@@ -2146,7 +2143,6 @@ const TooltipTip$1 = styled.div`
|
|
|
2146
2143
|
border-bottom-color: var(--tooltip-background-color);
|
|
2147
2144
|
}
|
|
2148
2145
|
|
|
2149
|
-
/* Absolute positioning */
|
|
2150
2146
|
&.controls.left {
|
|
2151
2147
|
left: auto;
|
|
2152
2148
|
right: calc(70% + var(--tooltip-margin));
|
|
@@ -2182,7 +2178,7 @@ const Tooltip$1 = props => {
|
|
|
2182
2178
|
clearInterval(timeout);
|
|
2183
2179
|
setActive(false);
|
|
2184
2180
|
};
|
|
2185
|
-
return /*#__PURE__*/React$1.createElement(TooltipContainer$
|
|
2181
|
+
return /*#__PURE__*/React$1.createElement(TooltipContainer$4, null, /*#__PURE__*/React$1.createElement(TooltipWrapper$2, {
|
|
2186
2182
|
onMouseEnter: showTip,
|
|
2187
2183
|
onMouseLeave: hideTip
|
|
2188
2184
|
}, children, active && /*#__PURE__*/React$1.createElement(TooltipTip$1, {
|
|
@@ -2413,7 +2409,7 @@ const PieChart = props => {
|
|
|
2413
2409
|
width: width
|
|
2414
2410
|
}, !hideTitleAndValue && /*#__PURE__*/React$1.createElement(TitleAndValueContainer$4, {
|
|
2415
2411
|
className: "TitleAndValueContainer"
|
|
2416
|
-
}, /*#__PURE__*/React$1.createElement(Title$
|
|
2412
|
+
}, /*#__PURE__*/React$1.createElement(Title$f, {
|
|
2417
2413
|
className: "Title"
|
|
2418
2414
|
}, title), /*#__PURE__*/React$1.createElement(CurrencySignAndFormattedValueContainer$2, {
|
|
2419
2415
|
className: "CurrencySignAndFormattedValueContainer"
|
|
@@ -9484,70 +9480,67 @@ const DropdownMain = styled.div`
|
|
|
9484
9480
|
`;
|
|
9485
9481
|
|
|
9486
9482
|
/* eslint-disable react/prop-types */
|
|
9487
|
-
const DropdownNew =
|
|
9488
|
-
|
|
9489
|
-
|
|
9490
|
-
|
|
9491
|
-
|
|
9492
|
-
|
|
9493
|
-
|
|
9494
|
-
|
|
9495
|
-
|
|
9496
|
-
|
|
9497
|
-
|
|
9498
|
-
|
|
9499
|
-
|
|
9500
|
-
|
|
9501
|
-
|
|
9502
|
-
|
|
9503
|
-
|
|
9504
|
-
|
|
9505
|
-
|
|
9506
|
-
|
|
9507
|
-
|
|
9508
|
-
|
|
9509
|
-
|
|
9510
|
-
|
|
9511
|
-
|
|
9512
|
-
|
|
9513
|
-
|
|
9514
|
-
|
|
9515
|
-
|
|
9516
|
-
|
|
9517
|
-
|
|
9518
|
-
|
|
9519
|
-
|
|
9520
|
-
|
|
9521
|
-
|
|
9522
|
-
|
|
9523
|
-
|
|
9524
|
-
|
|
9525
|
-
|
|
9526
|
-
|
|
9527
|
-
|
|
9528
|
-
|
|
9529
|
-
|
|
9530
|
-
|
|
9531
|
-
|
|
9532
|
-
|
|
9533
|
-
|
|
9534
|
-
|
|
9535
|
-
|
|
9536
|
-
|
|
9537
|
-
|
|
9538
|
-
|
|
9539
|
-
|
|
9540
|
-
|
|
9541
|
-
|
|
9542
|
-
|
|
9543
|
-
|
|
9544
|
-
|
|
9545
|
-
|
|
9546
|
-
|
|
9547
|
-
|
|
9548
|
-
elementType: elementType
|
|
9549
|
-
}));
|
|
9550
|
-
};
|
|
9483
|
+
const DropdownNew = ({
|
|
9484
|
+
isMulti,
|
|
9485
|
+
label,
|
|
9486
|
+
labelEmptyValue,
|
|
9487
|
+
options,
|
|
9488
|
+
selectedValue,
|
|
9489
|
+
placeHolder,
|
|
9490
|
+
onChange,
|
|
9491
|
+
required,
|
|
9492
|
+
disabled,
|
|
9493
|
+
width,
|
|
9494
|
+
error,
|
|
9495
|
+
errorMessage,
|
|
9496
|
+
labelColor,
|
|
9497
|
+
checkBoxColor,
|
|
9498
|
+
xIconShow,
|
|
9499
|
+
showLabelOnTop,
|
|
9500
|
+
orderBy,
|
|
9501
|
+
elementType
|
|
9502
|
+
}) => /*#__PURE__*/React$1.createElement(DropdownMain, {
|
|
9503
|
+
className: "DropdownMain",
|
|
9504
|
+
width: width
|
|
9505
|
+
}, isMulti ? /*#__PURE__*/React$1.createElement(DropdownMultiNew, {
|
|
9506
|
+
className: "DropdownMultiNew",
|
|
9507
|
+
placeHolder: placeHolder,
|
|
9508
|
+
label: label,
|
|
9509
|
+
labelEmptyValue: labelEmptyValue,
|
|
9510
|
+
labelColor: labelColor,
|
|
9511
|
+
checkBoxColor: checkBoxColor,
|
|
9512
|
+
required: required,
|
|
9513
|
+
options: options,
|
|
9514
|
+
width: width,
|
|
9515
|
+
disabled: disabled,
|
|
9516
|
+
error: error,
|
|
9517
|
+
errorMessage: errorMessage,
|
|
9518
|
+
selectedValue: selectedValue,
|
|
9519
|
+
xIconShow: xIconShow,
|
|
9520
|
+
onChange: onChange,
|
|
9521
|
+
showLabelOnTop: showLabelOnTop,
|
|
9522
|
+
orderBy: orderBy,
|
|
9523
|
+
elementType: elementType
|
|
9524
|
+
}) : /*#__PURE__*/React$1.createElement(DropdownSingleNew, {
|
|
9525
|
+
className: "DropdownSingleNew",
|
|
9526
|
+
placeHolder: placeHolder,
|
|
9527
|
+
label: label,
|
|
9528
|
+
labelEmptyValue: labelEmptyValue,
|
|
9529
|
+
labelColor: labelColor,
|
|
9530
|
+
checkBoxColor: checkBoxColor,
|
|
9531
|
+
required: required,
|
|
9532
|
+
options: options,
|
|
9533
|
+
width: width,
|
|
9534
|
+
disabled: disabled,
|
|
9535
|
+
error: error,
|
|
9536
|
+
errorMessage: errorMessage,
|
|
9537
|
+
selectedValue: selectedValue,
|
|
9538
|
+
xIconShow: xIconShow,
|
|
9539
|
+
onChange: onChange,
|
|
9540
|
+
showLabelOnTop: showLabelOnTop,
|
|
9541
|
+
orderBy: orderBy,
|
|
9542
|
+
elementType: elementType
|
|
9543
|
+
}));
|
|
9551
9544
|
DropdownNew.propTypes = {
|
|
9552
9545
|
placeHolder: PropTypes.string,
|
|
9553
9546
|
label: PropTypes.string,
|
|
@@ -11139,7 +11132,7 @@ const TooltipTextContainer = styled.div`
|
|
|
11139
11132
|
cursor: pointer;
|
|
11140
11133
|
}
|
|
11141
11134
|
`;
|
|
11142
|
-
const TooltipText$
|
|
11135
|
+
const TooltipText$2 = styled.div`
|
|
11143
11136
|
margin: 0;
|
|
11144
11137
|
`;
|
|
11145
11138
|
|
|
@@ -11309,8 +11302,8 @@ const FilterPanel = props => {
|
|
|
11309
11302
|
fieldsData: newFieldsDataState
|
|
11310
11303
|
});
|
|
11311
11304
|
};
|
|
11312
|
-
const getTooltipTextDates = () => /*#__PURE__*/React$1.createElement(TooltipTextContainer, null, /*#__PURE__*/React$1.createElement(TooltipText$
|
|
11313
|
-
const getTooltipTextGoButton = () => /*#__PURE__*/React$1.createElement(TooltipTextContainer, null, /*#__PURE__*/React$1.createElement(TooltipText$
|
|
11305
|
+
const getTooltipTextDates = () => /*#__PURE__*/React$1.createElement(TooltipTextContainer, null, /*#__PURE__*/React$1.createElement(TooltipText$2, null, "Dates can be selected"), /*#__PURE__*/React$1.createElement(TooltipText$2, null, "only after selecting"), /*#__PURE__*/React$1.createElement(TooltipText$2, null, "period types"));
|
|
11306
|
+
const getTooltipTextGoButton = () => /*#__PURE__*/React$1.createElement(TooltipTextContainer, null, /*#__PURE__*/React$1.createElement(TooltipText$2, null, tooltipTextGoButton));
|
|
11314
11307
|
const getYearsArray = () => {
|
|
11315
11308
|
const currentYear = moment().year();
|
|
11316
11309
|
const previousYear = moment().subtract(1, 'years').year();
|
|
@@ -24134,22 +24127,21 @@ const DeleteIcon = styled.div`
|
|
|
24134
24127
|
position: absolute;
|
|
24135
24128
|
`;
|
|
24136
24129
|
|
|
24137
|
-
const QuickFilterDropdownSingle =
|
|
24138
|
-
|
|
24139
|
-
|
|
24140
|
-
|
|
24141
|
-
|
|
24142
|
-
|
|
24143
|
-
|
|
24144
|
-
|
|
24145
|
-
|
|
24146
|
-
|
|
24147
|
-
|
|
24148
|
-
|
|
24149
|
-
|
|
24150
|
-
|
|
24151
|
-
|
|
24152
|
-
} = _ref;
|
|
24130
|
+
const QuickFilterDropdownSingle = ({
|
|
24131
|
+
label,
|
|
24132
|
+
hoverColor,
|
|
24133
|
+
options,
|
|
24134
|
+
selectedValue,
|
|
24135
|
+
placeHolder,
|
|
24136
|
+
onChange,
|
|
24137
|
+
disabled,
|
|
24138
|
+
width,
|
|
24139
|
+
error,
|
|
24140
|
+
errorMessage,
|
|
24141
|
+
xIconShow,
|
|
24142
|
+
labelColor,
|
|
24143
|
+
showLabelOnTop
|
|
24144
|
+
}) => {
|
|
24153
24145
|
const [isFocused, setIsFocused] = useState(false);
|
|
24154
24146
|
const [showOptions, setShowOptions] = useState(false);
|
|
24155
24147
|
const [inputValue, setInputValue] = useState("");
|
|
@@ -24547,24 +24539,23 @@ const IconContainer$2 = styled.div`
|
|
|
24547
24539
|
cursor: pointer;
|
|
24548
24540
|
`;
|
|
24549
24541
|
|
|
24550
|
-
const QuickFilterDropdownMultiSelection =
|
|
24551
|
-
|
|
24552
|
-
|
|
24553
|
-
|
|
24554
|
-
|
|
24555
|
-
|
|
24556
|
-
|
|
24557
|
-
|
|
24558
|
-
|
|
24559
|
-
|
|
24560
|
-
|
|
24561
|
-
|
|
24562
|
-
|
|
24563
|
-
|
|
24564
|
-
|
|
24565
|
-
|
|
24566
|
-
|
|
24567
|
-
} = _ref;
|
|
24542
|
+
const QuickFilterDropdownMultiSelection = ({
|
|
24543
|
+
label,
|
|
24544
|
+
labelEmptyValue,
|
|
24545
|
+
options,
|
|
24546
|
+
selectedValue,
|
|
24547
|
+
placeHolder,
|
|
24548
|
+
onChange,
|
|
24549
|
+
required,
|
|
24550
|
+
disabled,
|
|
24551
|
+
width,
|
|
24552
|
+
error,
|
|
24553
|
+
errorMessage,
|
|
24554
|
+
labelColor,
|
|
24555
|
+
xIconShow,
|
|
24556
|
+
checkBoxColor,
|
|
24557
|
+
showLabelOnTop
|
|
24558
|
+
}) => {
|
|
24568
24559
|
const [isFocused, setIsFocused] = useState(false);
|
|
24569
24560
|
const [showOptions, setShowOptions] = useState(false);
|
|
24570
24561
|
const [inputValue, setInputValue] = useState('');
|
|
@@ -25387,7 +25378,7 @@ const TitleAndValueContainer$3 = styled.div`
|
|
|
25387
25378
|
display: flex;
|
|
25388
25379
|
flex-direction: column;
|
|
25389
25380
|
`;
|
|
25390
|
-
const Title$
|
|
25381
|
+
const Title$e = styled.h4`
|
|
25391
25382
|
font-weight: 400;
|
|
25392
25383
|
font-size: 20px;
|
|
25393
25384
|
margin: 0;
|
|
@@ -25450,7 +25441,7 @@ const FormattedValue$3 = props => {
|
|
|
25450
25441
|
width: width
|
|
25451
25442
|
}, /*#__PURE__*/React$1.createElement(TitleAndValueContainer$3, {
|
|
25452
25443
|
className: "TitleAndValueContainer"
|
|
25453
|
-
}, title ? /*#__PURE__*/React$1.createElement(Title$
|
|
25444
|
+
}, title ? /*#__PURE__*/React$1.createElement(Title$e, {
|
|
25454
25445
|
className: "Title",
|
|
25455
25446
|
width: width
|
|
25456
25447
|
}, title) : '', showTopValue && /*#__PURE__*/React$1.createElement(CurrencySignAndFormattedValueContainer$1, {
|
|
@@ -25462,7 +25453,7 @@ const FormattedValue$3 = props => {
|
|
|
25462
25453
|
className: "CurrencySignOrPercent"
|
|
25463
25454
|
}, currencySign ? getCurrencySign(currencyType, value) : ''), dotCut ? getFormattedValue(value && Math.abs(value) > 0 && value % 1 !== 0 ? value?.toFixed(2) : value) : getNumberWithCommas(value), dotCut ? getFormattedUnits(value) : '', /*#__PURE__*/React$1.createElement(CurrencySignOrPercent, {
|
|
25464
25455
|
className: "CurrencySignOrPercent"
|
|
25465
|
-
}, isPercent ? '%' : ''))), subtitle ? /*#__PURE__*/React$1.createElement(Title$
|
|
25456
|
+
}, isPercent ? '%' : ''))), subtitle ? /*#__PURE__*/React$1.createElement(Title$e, {
|
|
25466
25457
|
className: "Title",
|
|
25467
25458
|
width: width
|
|
25468
25459
|
}, subtitle) : '')));
|
|
@@ -25524,7 +25515,7 @@ const TooltipLabel$3 = styled.div`
|
|
|
25524
25515
|
font-weight: 400;
|
|
25525
25516
|
width: fit-content;
|
|
25526
25517
|
`;
|
|
25527
|
-
const TooltipTitle$
|
|
25518
|
+
const TooltipTitle$4 = styled.div`
|
|
25528
25519
|
color: #212121;
|
|
25529
25520
|
font-size: 14px;
|
|
25530
25521
|
font-weight: 600;
|
|
@@ -25532,7 +25523,7 @@ const TooltipTitle$3 = styled.div`
|
|
|
25532
25523
|
const TitleAndValueContainer$2 = styled.div`
|
|
25533
25524
|
padding: 0 1rem;
|
|
25534
25525
|
`;
|
|
25535
|
-
const Title$
|
|
25526
|
+
const Title$d = styled.h5`
|
|
25536
25527
|
font-weight: 500;
|
|
25537
25528
|
font-size: 18px;
|
|
25538
25529
|
line-height: 20px;
|
|
@@ -25661,7 +25652,7 @@ const TitleAndIconContainer = styled.div`
|
|
|
25661
25652
|
display: flex;
|
|
25662
25653
|
align-items: center;
|
|
25663
25654
|
`;
|
|
25664
|
-
const Title$
|
|
25655
|
+
const Title$c = styled.h4`
|
|
25665
25656
|
font-weight: 400;
|
|
25666
25657
|
font-size: 14px;
|
|
25667
25658
|
line-height: 27px;
|
|
@@ -25715,7 +25706,7 @@ const PerformanceAnalyticsLegend = props => {
|
|
|
25715
25706
|
color: item.iconColor
|
|
25716
25707
|
}) : item.iconType === ICON_TYPE_LEGEND_LINE_ICON$2 ? /*#__PURE__*/React$1.createElement(LegendLineIcon, {
|
|
25717
25708
|
color: item.iconColor
|
|
25718
|
-
}) : '', /*#__PURE__*/React$1.createElement(Title$
|
|
25709
|
+
}) : '', /*#__PURE__*/React$1.createElement(Title$c, {
|
|
25719
25710
|
id: "Title",
|
|
25720
25711
|
width: width
|
|
25721
25712
|
}, item.title))))) : '');
|
|
@@ -25813,7 +25804,7 @@ const BarChartsByWeeks = props => {
|
|
|
25813
25804
|
let currentTooltipSecondValue = 0;
|
|
25814
25805
|
if (payload[0].payload?.value) currentTooltipValue = payload[0].payload?.value;
|
|
25815
25806
|
if (payload[0].payload?.secondValue) currentTooltipSecondValue = payload[0].payload?.secondValue;
|
|
25816
|
-
return /*#__PURE__*/React$1.createElement(TooltipDiv$3, null, /*#__PURE__*/React$1.createElement(TooltipTitle$
|
|
25807
|
+
return /*#__PURE__*/React$1.createElement(TooltipDiv$3, null, /*#__PURE__*/React$1.createElement(TooltipTitle$4, null, `${isTitleOriganal ? '' : 'Week: '}${week}`), /*#__PURE__*/React$1.createElement(TooltipLabel$3, null, `${tooltipTitle}
|
|
25817
25808
|
${displayFormattedValue(currentTooltipValue)}
|
|
25818
25809
|
`), currentTooltipSecondValue ? /*#__PURE__*/React$1.createElement(TooltipLabel$3, null, `${tooltipSecondTitle}
|
|
25819
25810
|
${displayFormattedValue(currentTooltipSecondValue)}
|
|
@@ -25870,7 +25861,7 @@ const BarChartsByWeeks = props => {
|
|
|
25870
25861
|
ref: controlsContainerRef
|
|
25871
25862
|
}, /*#__PURE__*/React$1.createElement(Controls$6, {
|
|
25872
25863
|
height: getControlsHeight()
|
|
25873
|
-
}, showTitle && /*#__PURE__*/React$1.createElement(TitleAndValueContainer$2, null, /*#__PURE__*/React$1.createElement(Title$
|
|
25864
|
+
}, showTitle && /*#__PURE__*/React$1.createElement(TitleAndValueContainer$2, null, /*#__PURE__*/React$1.createElement(Title$d, null, title), /*#__PURE__*/React$1.createElement(FormattedValue$3, {
|
|
25874
25865
|
title: headerValueTopTitle,
|
|
25875
25866
|
subtitle: headerValueBottomTitle,
|
|
25876
25867
|
showTopValue: showHeaderTopValue,
|
|
@@ -26103,7 +26094,7 @@ const TitleAndValueContainer$1 = styled.div`
|
|
|
26103
26094
|
flex-direction: column;
|
|
26104
26095
|
padding: 0 1.25em; /* 20px → 1.25em */
|
|
26105
26096
|
`;
|
|
26106
|
-
const Title$
|
|
26097
|
+
const Title$b = styled.h4`
|
|
26107
26098
|
font-weight: 500;
|
|
26108
26099
|
font-size: ${props => props.titleFontSize || '1.125em'}; /* Default: 18px → 1.125em */
|
|
26109
26100
|
margin: 0;
|
|
@@ -26306,7 +26297,7 @@ const TotalDoughnutChart = props => {
|
|
|
26306
26297
|
width: width
|
|
26307
26298
|
}, !hideTitleAndValue && /*#__PURE__*/React$1.createElement(TitleAndValueContainer$1, {
|
|
26308
26299
|
className: "TitleAndValueContainer"
|
|
26309
|
-
}, /*#__PURE__*/React$1.createElement(Title$
|
|
26300
|
+
}, /*#__PURE__*/React$1.createElement(Title$b, {
|
|
26310
26301
|
className: "Title",
|
|
26311
26302
|
fontSize: titleFontSize
|
|
26312
26303
|
}, title), /*#__PURE__*/React$1.createElement(CurrencySignAndFormattedValueContainer, {
|
|
@@ -26436,7 +26427,7 @@ CustomTooltip.defaultProps = {
|
|
|
26436
26427
|
isPercent: false
|
|
26437
26428
|
};
|
|
26438
26429
|
|
|
26439
|
-
const TooltipContainer$
|
|
26430
|
+
const TooltipContainer$3 = styled.div`
|
|
26440
26431
|
--tooltip-text-color: black;
|
|
26441
26432
|
--tooltip-background-color: white;
|
|
26442
26433
|
--tooltip-margin: 40px;
|
|
@@ -26542,7 +26533,7 @@ const Tooltip = props => {
|
|
|
26542
26533
|
direction,
|
|
26543
26534
|
content
|
|
26544
26535
|
} = props;
|
|
26545
|
-
return /*#__PURE__*/React$1.createElement(TooltipContainer$
|
|
26536
|
+
return /*#__PURE__*/React$1.createElement(TooltipContainer$3, {
|
|
26546
26537
|
className: className,
|
|
26547
26538
|
top: `${top}px`,
|
|
26548
26539
|
left: `${left}px`
|
|
@@ -26628,7 +26619,7 @@ const TotalValue = styled.div`
|
|
|
26628
26619
|
font-size: 20px;
|
|
26629
26620
|
}
|
|
26630
26621
|
`;
|
|
26631
|
-
const Title$
|
|
26622
|
+
const Title$a = styled.h4`
|
|
26632
26623
|
font-size: 18px;
|
|
26633
26624
|
font-weight: 400;
|
|
26634
26625
|
line-height: 1;
|
|
@@ -26785,7 +26776,7 @@ const TotalHorizontalCharts = props => {
|
|
|
26785
26776
|
}, chartsData?.length > 0 ? /*#__PURE__*/React$1.createElement(React$1.Fragment, null, !hideTitle || !hideTotalValue ? /*#__PURE__*/React$1.createElement(CardHeader, {
|
|
26786
26777
|
ref: topHeader,
|
|
26787
26778
|
className: "CardHeader"
|
|
26788
|
-
}, !hideTitle ? /*#__PURE__*/React$1.createElement(Title$
|
|
26779
|
+
}, !hideTitle ? /*#__PURE__*/React$1.createElement(Title$a, null, title) : '', !hideTotalValue ? /*#__PURE__*/React$1.createElement(TotalValue, {
|
|
26789
26780
|
className: "TotalValue"
|
|
26790
26781
|
}, currencySign && /*#__PURE__*/React$1.createElement(CurrencySign, {
|
|
26791
26782
|
className: "CurrencySign"
|
|
@@ -27258,7 +27249,7 @@ const ItemContainer = styled.div`
|
|
|
27258
27249
|
flex-direction: column;
|
|
27259
27250
|
flex-wrap: wrap;
|
|
27260
27251
|
`;
|
|
27261
|
-
const Title$
|
|
27252
|
+
const Title$9 = styled.h4`
|
|
27262
27253
|
font-size: 18px;
|
|
27263
27254
|
font-weight: 500;
|
|
27264
27255
|
margin: 0;
|
|
@@ -27374,7 +27365,7 @@ const SalesAndROI = props => {
|
|
|
27374
27365
|
showBorderShadow: showBorderShadow
|
|
27375
27366
|
}, /*#__PURE__*/React$1.createElement(TitleAndValueContainer, {
|
|
27376
27367
|
id: "TitleAndValueContainer"
|
|
27377
|
-
}, /*#__PURE__*/React$1.createElement(Title$
|
|
27368
|
+
}, /*#__PURE__*/React$1.createElement(Title$9, {
|
|
27378
27369
|
id: "Title"
|
|
27379
27370
|
}, title), showBanner && /*#__PURE__*/React$1.createElement(OutBanner, {
|
|
27380
27371
|
id: "OutBanner",
|
|
@@ -27473,7 +27464,7 @@ const TitleContainer$1 = styled.div`
|
|
|
27473
27464
|
margin: 0;
|
|
27474
27465
|
border-bottom: 1px solid #b1b1b1;
|
|
27475
27466
|
`;
|
|
27476
|
-
const Title$
|
|
27467
|
+
const Title$8 = styled.p`
|
|
27477
27468
|
font-weight: 400;
|
|
27478
27469
|
font-size: 24px;
|
|
27479
27470
|
margin: 0;
|
|
@@ -27693,7 +27684,7 @@ const PopupCharts = props => {
|
|
|
27693
27684
|
height: height,
|
|
27694
27685
|
width: width,
|
|
27695
27686
|
onClick: e => e.stopPropagation()
|
|
27696
|
-
}, /*#__PURE__*/React$1.createElement(TitleContainer$1, null, /*#__PURE__*/React$1.createElement(Title$
|
|
27687
|
+
}, /*#__PURE__*/React$1.createElement(TitleContainer$1, null, /*#__PURE__*/React$1.createElement(Title$8, null, title), /*#__PURE__*/React$1.createElement(CloseXIconContainer, {
|
|
27697
27688
|
onClick: e => closePopupCharts(e)
|
|
27698
27689
|
}, /*#__PURE__*/React$1.createElement(CloseXIcon, null))), /*#__PURE__*/React$1.createElement(ChartsContainer, {
|
|
27699
27690
|
id: "ChartsContainer",
|
|
@@ -27791,7 +27782,7 @@ const TopToggleListMainContainer = styled.div`
|
|
|
27791
27782
|
padding: 0 24px;
|
|
27792
27783
|
width: ${props => props.width};
|
|
27793
27784
|
`;
|
|
27794
|
-
const Title$
|
|
27785
|
+
const Title$7 = styled.h4`
|
|
27795
27786
|
font-size: 14px;
|
|
27796
27787
|
font-weight: 600;
|
|
27797
27788
|
margin: 20px 0 12px;
|
|
@@ -27821,7 +27812,7 @@ const TopToggleList = props => {
|
|
|
27821
27812
|
} = props;
|
|
27822
27813
|
return /*#__PURE__*/React$1.createElement(TopToggleListMainContainer, {
|
|
27823
27814
|
width: width
|
|
27824
|
-
}, /*#__PURE__*/React$1.createElement(Title$
|
|
27815
|
+
}, /*#__PURE__*/React$1.createElement(Title$7, null, title), /*#__PURE__*/React$1.createElement(ListContainer, {
|
|
27825
27816
|
height: height
|
|
27826
27817
|
}, list.map(item => /*#__PURE__*/React$1.createElement(ListItem, {
|
|
27827
27818
|
key: item.value
|
|
@@ -27883,7 +27874,7 @@ const TitleContainer = styled.div`
|
|
|
27883
27874
|
justify-content: flex-start;
|
|
27884
27875
|
margin: 0 0 10px 0;
|
|
27885
27876
|
`;
|
|
27886
|
-
const Title$
|
|
27877
|
+
const Title$6 = styled.h3`
|
|
27887
27878
|
user-select: none;
|
|
27888
27879
|
text-align: left;
|
|
27889
27880
|
margin: 0;
|
|
@@ -27928,7 +27919,7 @@ const BarLabel = styled.span`
|
|
|
27928
27919
|
font-weight: 400;
|
|
27929
27920
|
user-select: none;
|
|
27930
27921
|
`;
|
|
27931
|
-
const TooltipContainer$
|
|
27922
|
+
const TooltipContainer$2 = styled.div`
|
|
27932
27923
|
position: absolute;
|
|
27933
27924
|
|
|
27934
27925
|
top: ${props => props.top};
|
|
@@ -28038,7 +28029,7 @@ const Heatmap = props => {
|
|
|
28038
28029
|
if (tooltip && tooltipPosition && tooltip.label === `${item.label} - ${Math.round(item.value / totalValue * 100)}%`) {
|
|
28039
28030
|
const top = `${tooltipPosition.y}px`;
|
|
28040
28031
|
const left = `${tooltipPosition.x}px`;
|
|
28041
|
-
return /*#__PURE__*/React$1.createElement(TooltipContainer$
|
|
28032
|
+
return /*#__PURE__*/React$1.createElement(TooltipContainer$2, {
|
|
28042
28033
|
className: "TooltipContainer",
|
|
28043
28034
|
top: top,
|
|
28044
28035
|
left: left
|
|
@@ -28158,7 +28149,7 @@ const Heatmap = props => {
|
|
|
28158
28149
|
className: "HeatmapWrapper"
|
|
28159
28150
|
}, /*#__PURE__*/React$1.createElement(TitleContainer, {
|
|
28160
28151
|
className: "TitleContainer"
|
|
28161
|
-
}, /*#__PURE__*/React$1.createElement(Title$
|
|
28152
|
+
}, /*#__PURE__*/React$1.createElement(Title$6, {
|
|
28162
28153
|
className: "Title"
|
|
28163
28154
|
}, title)), refreshRequired && renderBars(), !refreshRequired && renderBars(), renderLegend()));
|
|
28164
28155
|
};
|
|
@@ -28572,12 +28563,12 @@ const TooltipLabel$1 = styled.div`
|
|
|
28572
28563
|
font-weight: 400;
|
|
28573
28564
|
width: fit-content;
|
|
28574
28565
|
`;
|
|
28575
|
-
const TooltipTitle$
|
|
28566
|
+
const TooltipTitle$3 = styled.div`
|
|
28576
28567
|
color: #212121;
|
|
28577
28568
|
font-size: 14px;
|
|
28578
28569
|
font-weight: 600;
|
|
28579
28570
|
`;
|
|
28580
|
-
const Title$
|
|
28571
|
+
const Title$5 = styled.h5`
|
|
28581
28572
|
font-weight: 500;
|
|
28582
28573
|
font-size: 18px;
|
|
28583
28574
|
line-height: 20px;
|
|
@@ -28654,7 +28645,7 @@ const BarChart = props => {
|
|
|
28654
28645
|
if (!active || !payload || payload?.length === 0) return null;
|
|
28655
28646
|
let currentTooltipValue = 0;
|
|
28656
28647
|
if (payload[0].payload?.value) currentTooltipValue = payload[0].payload?.value;
|
|
28657
|
-
return /*#__PURE__*/React$1.createElement(TooltipDiv$1, null, /*#__PURE__*/React$1.createElement(TooltipTitle$
|
|
28648
|
+
return /*#__PURE__*/React$1.createElement(TooltipDiv$1, null, /*#__PURE__*/React$1.createElement(TooltipTitle$3, null, `${label}`), /*#__PURE__*/React$1.createElement(TooltipLabel$1, null, `${displayFormattedValue(currentTooltipValue, !!showCurrentCampaignStyle)}`));
|
|
28658
28649
|
};
|
|
28659
28650
|
const CustomizedTickBarChart = props => {
|
|
28660
28651
|
const {
|
|
@@ -28737,7 +28728,7 @@ const BarChart = props => {
|
|
|
28737
28728
|
height: height,
|
|
28738
28729
|
width: width,
|
|
28739
28730
|
ref: controlsContainerRef
|
|
28740
|
-
}, /*#__PURE__*/React$1.createElement(Controls$3, null, /*#__PURE__*/React$1.createElement(Title$
|
|
28731
|
+
}, /*#__PURE__*/React$1.createElement(Controls$3, null, /*#__PURE__*/React$1.createElement(Title$5, null, title), /*#__PURE__*/React$1.createElement(ResponsiveContainer, {
|
|
28741
28732
|
width: "100%",
|
|
28742
28733
|
height: 400
|
|
28743
28734
|
}, /*#__PURE__*/React$1.createElement(BarChart$1, {
|
|
@@ -28908,7 +28899,7 @@ const Controls$2 = styled.div`
|
|
|
28908
28899
|
flex-direction: column;
|
|
28909
28900
|
background-color: white;
|
|
28910
28901
|
`;
|
|
28911
|
-
const Title$
|
|
28902
|
+
const Title$4 = styled.h5`
|
|
28912
28903
|
font-size: 18px;
|
|
28913
28904
|
font-weight: 400;
|
|
28914
28905
|
margin: 0 0 30px;
|
|
@@ -28941,7 +28932,7 @@ const TooltipLabel = styled.div`
|
|
|
28941
28932
|
font-weight: 400;
|
|
28942
28933
|
width: fit-content;
|
|
28943
28934
|
`;
|
|
28944
|
-
const TooltipTitle$
|
|
28935
|
+
const TooltipTitle$2 = styled.div`
|
|
28945
28936
|
color: #212121;
|
|
28946
28937
|
font-size: 14px;
|
|
28947
28938
|
font-weight: 600;
|
|
@@ -29095,7 +29086,7 @@ const DoubleBarSingleLine = props => {
|
|
|
29095
29086
|
} else {
|
|
29096
29087
|
`${currentTooltipValue.toFixed(1)}`;
|
|
29097
29088
|
}
|
|
29098
|
-
return /*#__PURE__*/React$1.createElement(TooltipDiv, null, /*#__PURE__*/React$1.createElement(TooltipTitle$
|
|
29089
|
+
return /*#__PURE__*/React$1.createElement(TooltipDiv, null, /*#__PURE__*/React$1.createElement(TooltipTitle$2, null, `${label}`), payload.map((item, idx) => {
|
|
29099
29090
|
const dataStateItem = dataState.find(state => state.key === item.dataKey);
|
|
29100
29091
|
return /*#__PURE__*/React$1.createElement(TooltipLabel, {
|
|
29101
29092
|
key: item.dataKey || idx
|
|
@@ -29168,7 +29159,7 @@ const DoubleBarSingleLine = props => {
|
|
|
29168
29159
|
noDataText: noDataText
|
|
29169
29160
|
}) : /*#__PURE__*/React$1.createElement(Controls$2, {
|
|
29170
29161
|
className: "Controls"
|
|
29171
|
-
}, title && title.trim() !== '' && /*#__PURE__*/React$1.createElement(Title$
|
|
29162
|
+
}, title && title.trim() !== '' && /*#__PURE__*/React$1.createElement(Title$4, null, title), /*#__PURE__*/React$1.createElement(ChartsWrapper, {
|
|
29172
29163
|
width: hasScroll ? `${data.length * 178}px` : 'auto'
|
|
29173
29164
|
}, /*#__PURE__*/React$1.createElement(LineChartWrapper, null, /*#__PURE__*/React$1.createElement(ResponsiveContainer, null, /*#__PURE__*/React$1.createElement(LineChart, _extends({
|
|
29174
29165
|
data: transformedData
|
|
@@ -29186,7 +29177,7 @@ const DoubleBarSingleLine = props => {
|
|
|
29186
29177
|
right: barsWidth
|
|
29187
29178
|
}
|
|
29188
29179
|
}), /*#__PURE__*/React$1.createElement(YAxis, {
|
|
29189
|
-
domain: [dataMin => Math.min(dataMin, calculateMinValue(data, dataState))
|
|
29180
|
+
domain: [dataMin => Math.min(dataMin, calculateMinValue(data, dataState)) - 5, dataMax => Math.max(dataMax, calculateMaxValue(data, dataState)) + 10],
|
|
29190
29181
|
hide: true
|
|
29191
29182
|
}), dataState.filter(item => item.type === "line").map(obj => /*#__PURE__*/React$1.createElement(Line, {
|
|
29192
29183
|
type: lineType,
|
|
@@ -29267,7 +29258,7 @@ const CheckboxGroupContainer = styled.div`
|
|
|
29267
29258
|
height: 21px;
|
|
29268
29259
|
gap: 20px;
|
|
29269
29260
|
`;
|
|
29270
|
-
const Title$
|
|
29261
|
+
const Title$3 = styled.h5`
|
|
29271
29262
|
font-weight: 500;
|
|
29272
29263
|
font-size: 18px;
|
|
29273
29264
|
line-height: 20px;
|
|
@@ -29287,7 +29278,7 @@ const LegendIcon = styled.div`
|
|
|
29287
29278
|
margin-right: 5px;
|
|
29288
29279
|
background-color: ${props => props.color};
|
|
29289
29280
|
`;
|
|
29290
|
-
const TooltipContainer = styled.div`
|
|
29281
|
+
const TooltipContainer$1 = styled.div`
|
|
29291
29282
|
background: white;
|
|
29292
29283
|
padding: 10px;
|
|
29293
29284
|
border-radius: 5px;
|
|
@@ -29297,12 +29288,12 @@ const TooltipContainer = styled.div`
|
|
|
29297
29288
|
font-weight: 500;
|
|
29298
29289
|
font-size: 14px;
|
|
29299
29290
|
`;
|
|
29300
|
-
const TooltipTitle = styled.p`
|
|
29291
|
+
const TooltipTitle$1 = styled.p`
|
|
29301
29292
|
font-weight: 700;
|
|
29302
29293
|
margin-top: 5px;
|
|
29303
29294
|
margin-bottom: 5px;
|
|
29304
29295
|
`;
|
|
29305
|
-
const TooltipText = styled.p`
|
|
29296
|
+
const TooltipText$1 = styled.p`
|
|
29306
29297
|
margin-top: 5px;
|
|
29307
29298
|
margin-bottom: 5px;
|
|
29308
29299
|
`;
|
|
@@ -29543,10 +29534,10 @@ const AreaChart = props => {
|
|
|
29543
29534
|
payload
|
|
29544
29535
|
} = _ref3;
|
|
29545
29536
|
if (active && payload && payload.length) {
|
|
29546
|
-
return /*#__PURE__*/React$1.createElement(TooltipContainer, null, /*#__PURE__*/React$1.createElement(TooltipTitle, null, `${payload[0].payload.label}`), payload.map((data, index) => {
|
|
29537
|
+
return /*#__PURE__*/React$1.createElement(TooltipContainer$1, null, /*#__PURE__*/React$1.createElement(TooltipTitle$1, null, `${payload[0].payload.label}`), payload.map((data, index) => {
|
|
29547
29538
|
const chart = areaChartsState.find(chart => chart.key === data.dataKey);
|
|
29548
29539
|
if (chart) {
|
|
29549
|
-
return /*#__PURE__*/React$1.createElement(TooltipText, {
|
|
29540
|
+
return /*#__PURE__*/React$1.createElement(TooltipText$1, {
|
|
29550
29541
|
key: index
|
|
29551
29542
|
}, `${chart.name}: ${displayFormattedValue(data.value, chart.isDollar)}`);
|
|
29552
29543
|
}
|
|
@@ -29595,7 +29586,7 @@ const AreaChart = props => {
|
|
|
29595
29586
|
height: height
|
|
29596
29587
|
}) : /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(HeaderContainer$2, {
|
|
29597
29588
|
"data-testid": "header-container"
|
|
29598
|
-
}, /*#__PURE__*/React$1.createElement(Title$
|
|
29589
|
+
}, /*#__PURE__*/React$1.createElement(Title$3, {
|
|
29599
29590
|
"data-testid": "title"
|
|
29600
29591
|
}, title), /*#__PURE__*/React$1.createElement(CheckboxGroupContainer, {
|
|
29601
29592
|
"data-testid": "checkbox-group-container"
|
|
@@ -30093,7 +30084,7 @@ const HeaderContainer$1 = styled.div`
|
|
|
30093
30084
|
align-items: center;
|
|
30094
30085
|
padding-bottom: 8px;
|
|
30095
30086
|
`;
|
|
30096
|
-
const Title$
|
|
30087
|
+
const Title$2 = styled.h3`
|
|
30097
30088
|
font-size: 18px;
|
|
30098
30089
|
font-weight: 400;
|
|
30099
30090
|
margin: 0;
|
|
@@ -30162,7 +30153,7 @@ const BreakdownPanel = props => {
|
|
|
30162
30153
|
height: height
|
|
30163
30154
|
}) : /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(HeaderContainer$1, {
|
|
30164
30155
|
"data-testid": "header-container"
|
|
30165
|
-
}, /*#__PURE__*/React$1.createElement(Title$
|
|
30156
|
+
}, /*#__PURE__*/React$1.createElement(Title$2, {
|
|
30166
30157
|
"data-testid": "title"
|
|
30167
30158
|
}, title)), /*#__PURE__*/React$1.createElement(CategorySalesMainContainer, {
|
|
30168
30159
|
"data-testid": "category-sales-main-container"
|
|
@@ -30434,6 +30425,8 @@ const BubbleChart = _ref => {
|
|
|
30434
30425
|
backgroundColor = 'white',
|
|
30435
30426
|
showAxis = false
|
|
30436
30427
|
} = _ref;
|
|
30428
|
+
const [curosrMouse, setCurosrMouse] = useState("default");
|
|
30429
|
+
|
|
30437
30430
|
// Calculate the medians and domain for raw X, Y, and Z values
|
|
30438
30431
|
const {
|
|
30439
30432
|
xMedian,
|
|
@@ -30518,6 +30511,7 @@ const BubbleChart = _ref => {
|
|
|
30518
30511
|
// Refs for the chart container
|
|
30519
30512
|
const containerRef = useRef(null);
|
|
30520
30513
|
const scatterChartRef = useRef(null);
|
|
30514
|
+
const scatterFullChartRef = useRef(null);
|
|
30521
30515
|
|
|
30522
30516
|
// Set up initial domain
|
|
30523
30517
|
useEffect(() => {
|
|
@@ -30690,9 +30684,9 @@ const BubbleChart = _ref => {
|
|
|
30690
30684
|
e.preventDefault();
|
|
30691
30685
|
}
|
|
30692
30686
|
}, [viewDomain]); // Add viewDomain as dependency to capture current value
|
|
30693
|
-
|
|
30694
30687
|
// Handle mouse move for dragging
|
|
30695
30688
|
const handleMouseMove = useCallback(e => {
|
|
30689
|
+
/* cursor feedback */
|
|
30696
30690
|
if (!isDragging) return;
|
|
30697
30691
|
const dx = e.clientX - dragStart.x;
|
|
30698
30692
|
const dy = e.clientY - dragStart.y;
|
|
@@ -30801,6 +30795,7 @@ const BubbleChart = _ref => {
|
|
|
30801
30795
|
|
|
30802
30796
|
// Handle mouse wheel
|
|
30803
30797
|
const handleWheel = useCallback(e => {
|
|
30798
|
+
if (!e.ctrlKey) return; // Only zoom with Ctrl key
|
|
30804
30799
|
e.preventDefault();
|
|
30805
30800
|
if (e.deltaY < 0) {
|
|
30806
30801
|
handleZoomIn();
|
|
@@ -30889,7 +30884,11 @@ const BubbleChart = _ref => {
|
|
|
30889
30884
|
const formattedY = formatUnits(yMedian);
|
|
30890
30885
|
return `${formattedX}, ${formattedY}`;
|
|
30891
30886
|
}, [xMedian, yMedian]);
|
|
30892
|
-
|
|
30887
|
+
const handleChartMouseMove = e => {
|
|
30888
|
+
if (!scatterFullChartRef.current) return;
|
|
30889
|
+
const temp = isDragging ? 'move' : 'zoom-in';
|
|
30890
|
+
setCurosrMouse(temp);
|
|
30891
|
+
};
|
|
30893
30892
|
// Render the component
|
|
30894
30893
|
return /*#__PURE__*/React$1.createElement(BubbleChartContainer, {
|
|
30895
30894
|
width: width,
|
|
@@ -30914,6 +30913,9 @@ const BubbleChart = _ref => {
|
|
|
30914
30913
|
height: "100%",
|
|
30915
30914
|
"data-testid": "responsive-container"
|
|
30916
30915
|
}, /*#__PURE__*/React$1.createElement(ScatterChart, {
|
|
30916
|
+
ref: scatterFullChartRef,
|
|
30917
|
+
onMouseMove: handleChartMouseMove,
|
|
30918
|
+
cursor: curosrMouse,
|
|
30917
30919
|
margin: {
|
|
30918
30920
|
top: 60,
|
|
30919
30921
|
right: 190,
|
|
@@ -31404,41 +31406,94 @@ const BatteryChart = props => {
|
|
|
31404
31406
|
}))))))), starText !== "" && /*#__PURE__*/React$1.createElement(StarText, null, starText));
|
|
31405
31407
|
};
|
|
31406
31408
|
|
|
31407
|
-
|
|
31408
|
-
|
|
31409
|
-
|
|
31410
|
-
|
|
31411
|
-
|
|
31412
|
-
|
|
31413
|
-
|
|
31414
|
-
|
|
31415
|
-
|
|
31416
|
-
|
|
31409
|
+
const Container = styled.div`
|
|
31410
|
+
width: ${props => props.width};
|
|
31411
|
+
height: ${props => props.height};
|
|
31412
|
+
padding: 15px;
|
|
31413
|
+
display: flex;
|
|
31414
|
+
flex-direction: column;
|
|
31415
|
+
#Segment {
|
|
31416
|
+
width: auto;
|
|
31417
|
+
white-space: nowrap;
|
|
31418
|
+
font-size: 14px;
|
|
31419
|
+
font-weight: 500;
|
|
31420
|
+
font-family: "Poppins"
|
|
31421
|
+
}
|
|
31422
|
+
`;
|
|
31423
|
+
const Title$1 = styled.h2`
|
|
31424
|
+
color: #212121;
|
|
31425
|
+
font-family: "Poppins";
|
|
31426
|
+
font-size: 18px;
|
|
31427
|
+
font-style: normal;
|
|
31428
|
+
font-weight: 400;
|
|
31429
|
+
line-height: normal;
|
|
31430
|
+
margin: 0 0 16px 0;
|
|
31431
|
+
`;
|
|
31432
|
+
styled.div`
|
|
31433
|
+
font-family: sans-serif;
|
|
31434
|
+
text-align: center;
|
|
31435
|
+
`;
|
|
31436
|
+
styled.div`
|
|
31437
|
+
height: 25%;
|
|
31438
|
+
`;
|
|
31439
|
+
styled.div`
|
|
31440
|
+
height: 75%;
|
|
31441
|
+
`;
|
|
31442
|
+
styled.div`
|
|
31443
|
+
height: 100%;
|
|
31444
|
+
display: flex;
|
|
31445
|
+
flex-direction: column;
|
|
31446
|
+
background-color: white;
|
|
31447
|
+
`;
|
|
31448
|
+
const TooltipContainer = styled.div`
|
|
31449
|
+
background: white;
|
|
31450
|
+
padding: 10px;
|
|
31451
|
+
border-radius: 5px;
|
|
31452
|
+
box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.2);
|
|
31453
|
+
border: 1px solid #ddd;
|
|
31454
|
+
font-family: Poppins, sans-serif;
|
|
31455
|
+
font-weight: 500;
|
|
31456
|
+
font-size: 14px;
|
|
31457
|
+
`;
|
|
31458
|
+
const TooltipTitle = styled.p`
|
|
31459
|
+
font-weight: 700;
|
|
31460
|
+
margin-top: 5px;
|
|
31461
|
+
margin-bottom: 5px;
|
|
31462
|
+
`;
|
|
31463
|
+
const TooltipText = styled.p`
|
|
31464
|
+
margin-top: 5px;
|
|
31465
|
+
margin-bottom: 5px;
|
|
31466
|
+
`;
|
|
31417
31467
|
|
|
31418
31468
|
const SeparatedLineBarChart = ({
|
|
31419
|
-
|
|
31469
|
+
brushAreaBarData = []
|
|
31420
31470
|
}) => {
|
|
31421
|
-
|
|
31422
|
-
|
|
31423
|
-
|
|
31424
|
-
|
|
31425
|
-
|
|
31471
|
+
const processedData = brushAreaBarData.map(item => {
|
|
31472
|
+
return {
|
|
31473
|
+
...item,
|
|
31474
|
+
shortLabel: item.label.replace("Vendor Selling Event: ", "Wk ")
|
|
31475
|
+
};
|
|
31426
31476
|
});
|
|
31427
|
-
const
|
|
31428
|
-
|
|
31429
|
-
|
|
31430
|
-
|
|
31431
|
-
|
|
31432
|
-
|
|
31433
|
-
|
|
31434
|
-
|
|
31435
|
-
|
|
31436
|
-
|
|
31437
|
-
|
|
31438
|
-
|
|
31439
|
-
|
|
31440
|
-
|
|
31441
|
-
|
|
31477
|
+
const CustomizedTick = props => {
|
|
31478
|
+
const {
|
|
31479
|
+
x,
|
|
31480
|
+
y,
|
|
31481
|
+
payload
|
|
31482
|
+
} = props;
|
|
31483
|
+
const label = payload.value;
|
|
31484
|
+
const words = label.split(" ");
|
|
31485
|
+
const chunks = [];
|
|
31486
|
+
let currentChunk = "";
|
|
31487
|
+
words.forEach(word => {
|
|
31488
|
+
if (currentChunk.length + word.length > 15) {
|
|
31489
|
+
chunks.push(currentChunk.trim());
|
|
31490
|
+
currentChunk = word;
|
|
31491
|
+
} else {
|
|
31492
|
+
currentChunk += (currentChunk ? " " : "") + word;
|
|
31493
|
+
}
|
|
31494
|
+
});
|
|
31495
|
+
if (currentChunk) {
|
|
31496
|
+
chunks.push(currentChunk.trim());
|
|
31442
31497
|
}
|
|
31443
31498
|
return /*#__PURE__*/React$1.createElement("g", {
|
|
31444
31499
|
transform: `translate(${x},${y})`
|
|
@@ -31448,89 +31503,68 @@ const SeparatedLineBarChart = ({
|
|
|
31448
31503
|
dy: 16,
|
|
31449
31504
|
textAnchor: "middle",
|
|
31450
31505
|
fill: "#212121",
|
|
31451
|
-
fontSize:
|
|
31452
|
-
fontWeight: "400",
|
|
31506
|
+
fontSize: 10,
|
|
31453
31507
|
fontFamily: "Poppins"
|
|
31454
|
-
}, /*#__PURE__*/React$1.createElement("tspan", {
|
|
31508
|
+
}, chunks.map((chunk, i) => /*#__PURE__*/React$1.createElement("tspan", {
|
|
31509
|
+
key: i,
|
|
31455
31510
|
x: 0,
|
|
31456
|
-
dy:
|
|
31457
|
-
},
|
|
31458
|
-
x: 0,
|
|
31459
|
-
dy: 18
|
|
31460
|
-
}, "Event: ", parts.join(" "))));
|
|
31511
|
+
dy: i === 0 ? "0.71em" : "1.2em"
|
|
31512
|
+
}, chunk))));
|
|
31461
31513
|
};
|
|
31462
|
-
const
|
|
31463
|
-
|
|
31464
|
-
|
|
31465
|
-
|
|
31466
|
-
|
|
31467
|
-
|
|
31468
|
-
|
|
31469
|
-
|
|
31470
|
-
fontWeight,
|
|
31471
|
-
fontFamily
|
|
31472
|
-
} = props;
|
|
31473
|
-
return /*#__PURE__*/React$1.createElement(LabelList, {
|
|
31474
|
-
dataKey: dataKey,
|
|
31475
|
-
position: position,
|
|
31476
|
-
formatter: (value, name, props) => {
|
|
31477
|
-
if (!viewableIndices.includes(props.index)) {
|
|
31478
|
-
return "";
|
|
31479
|
-
}
|
|
31480
|
-
return formatter ? formatter(value) : value;
|
|
31481
|
-
},
|
|
31482
|
-
fill: fill || "#212121",
|
|
31483
|
-
fontSize: fontSize || 12,
|
|
31484
|
-
fontWeight: fontWeight || "400",
|
|
31485
|
-
fontFamily: fontFamily || "Poppins"
|
|
31486
|
-
});
|
|
31514
|
+
const CustomTooltip = ({
|
|
31515
|
+
active,
|
|
31516
|
+
payload
|
|
31517
|
+
}) => {
|
|
31518
|
+
if (!active || !payload || !payload.length) return null;
|
|
31519
|
+
const data = payload[0]?.payload;
|
|
31520
|
+
if (!data) return null;
|
|
31521
|
+
return /*#__PURE__*/React$1.createElement(TooltipContainer, null, /*#__PURE__*/React$1.createElement(TooltipTitle, null, `${data.label}`), /*#__PURE__*/React$1.createElement(TooltipText, null, `${data.description}`), /*#__PURE__*/React$1.createElement(TooltipText, null, `INC Sales: ${getFormattedValue(data.inc_sales)}${getFormattedUnits(data.inc_sales)}`), /*#__PURE__*/React$1.createElement(TooltipText, null, `INC Sales ROI: ${getFormattedValue(data.inc_roi)}${getFormattedUnits(data.inc_roi)}`));
|
|
31487
31522
|
};
|
|
31488
31523
|
const chartMargins = {
|
|
31489
|
-
top:
|
|
31490
|
-
right:
|
|
31524
|
+
top: 30,
|
|
31525
|
+
right: 30,
|
|
31491
31526
|
left: 20,
|
|
31492
|
-
bottom:
|
|
31527
|
+
bottom: 0
|
|
31493
31528
|
};
|
|
31494
|
-
const
|
|
31495
|
-
|
|
31496
|
-
|
|
31497
|
-
|
|
31498
|
-
|
|
31499
|
-
|
|
31500
|
-
|
|
31501
|
-
}
|
|
31502
|
-
dataWithIndex.filter(item => viewableIndices.includes(item.index));
|
|
31529
|
+
const chartMargins2 = {
|
|
31530
|
+
top: 30,
|
|
31531
|
+
right: 30,
|
|
31532
|
+
left: 20,
|
|
31533
|
+
bottom: 80
|
|
31534
|
+
};
|
|
31535
|
+
const BAR_CATEGORY_GAP = "30%";
|
|
31503
31536
|
return /*#__PURE__*/React$1.createElement("div", {
|
|
31504
31537
|
style: {
|
|
31505
31538
|
width: "100%",
|
|
31506
|
-
height:
|
|
31539
|
+
height: "100%"
|
|
31507
31540
|
}
|
|
31508
31541
|
}, /*#__PURE__*/React$1.createElement("div", {
|
|
31509
31542
|
style: {
|
|
31510
|
-
height: "
|
|
31543
|
+
height: "25%"
|
|
31511
31544
|
}
|
|
31512
31545
|
}, /*#__PURE__*/React$1.createElement(ResponsiveContainer, {
|
|
31513
31546
|
width: "100%",
|
|
31514
31547
|
height: "100%"
|
|
31515
31548
|
}, /*#__PURE__*/React$1.createElement(LineChart, {
|
|
31516
|
-
data:
|
|
31517
|
-
margin: chartMargins
|
|
31549
|
+
data: processedData,
|
|
31550
|
+
margin: chartMargins,
|
|
31551
|
+
syncId: "composedChart",
|
|
31552
|
+
syncMethod: "index"
|
|
31518
31553
|
}, /*#__PURE__*/React$1.createElement(CartesianGrid, {
|
|
31519
31554
|
strokeDasharray: "3 3",
|
|
31520
31555
|
vertical: false
|
|
31521
31556
|
}), /*#__PURE__*/React$1.createElement(XAxis, {
|
|
31522
|
-
dataKey: "
|
|
31523
|
-
|
|
31524
|
-
domain: ['dataMin', 'dataMax'],
|
|
31557
|
+
dataKey: "label",
|
|
31558
|
+
tick: false,
|
|
31525
31559
|
padding: {
|
|
31526
|
-
left:
|
|
31527
|
-
right:
|
|
31560
|
+
left: 70,
|
|
31561
|
+
right: 70
|
|
31528
31562
|
},
|
|
31529
31563
|
hide: true
|
|
31530
31564
|
}), /*#__PURE__*/React$1.createElement(YAxis, {
|
|
31531
31565
|
domain: [0, 2],
|
|
31532
31566
|
hide: true
|
|
31533
|
-
}), /*#__PURE__*/React$1.createElement(
|
|
31567
|
+
}), /*#__PURE__*/React$1.createElement(Line, {
|
|
31534
31568
|
type: "monotone",
|
|
31535
31569
|
dataKey: "inc_roi",
|
|
31536
31570
|
stroke: "#F8CD00",
|
|
@@ -31540,73 +31574,81 @@ const SeparatedLineBarChart = ({
|
|
|
31540
31574
|
fill: "#F8CD00"
|
|
31541
31575
|
},
|
|
31542
31576
|
activeDot: false,
|
|
31543
|
-
name: "INC Sales ROI"
|
|
31544
|
-
|
|
31577
|
+
name: "INC Sales ROI",
|
|
31578
|
+
barCategoryGap: BAR_CATEGORY_GAP,
|
|
31579
|
+
barGap: 0
|
|
31580
|
+
}, /*#__PURE__*/React$1.createElement(LabelList, {
|
|
31545
31581
|
dataKey: "inc_roi",
|
|
31546
31582
|
position: "top",
|
|
31547
|
-
formatter: value => value
|
|
31548
|
-
|
|
31549
|
-
|
|
31583
|
+
formatter: value => `$${getFormattedValue(value)}${getFormattedUnits(value)}`,
|
|
31584
|
+
fill: "#212121",
|
|
31585
|
+
fontSize: 12,
|
|
31586
|
+
fontWeight: "400",
|
|
31587
|
+
fontFamily: "Poppins"
|
|
31588
|
+
})), /*#__PURE__*/React$1.createElement(Brush, {
|
|
31589
|
+
dataKey: "label",
|
|
31590
|
+
height: 30,
|
|
31591
|
+
stroke: "#212121",
|
|
31592
|
+
startIndex: 0,
|
|
31593
|
+
endIndex: Math.min(6, processedData.length - 1),
|
|
31594
|
+
y: 330,
|
|
31595
|
+
travellerWidth: 10,
|
|
31596
|
+
tickFormatter: (value, index) => index + 1,
|
|
31597
|
+
hide: true
|
|
31598
|
+
})))), /*#__PURE__*/React$1.createElement("div", {
|
|
31550
31599
|
style: {
|
|
31551
|
-
height: "
|
|
31600
|
+
height: "70%"
|
|
31552
31601
|
}
|
|
31553
31602
|
}, /*#__PURE__*/React$1.createElement(ResponsiveContainer, {
|
|
31554
31603
|
width: "100%",
|
|
31555
31604
|
height: "100%"
|
|
31556
31605
|
}, /*#__PURE__*/React$1.createElement(ComposedChart, {
|
|
31557
|
-
data:
|
|
31558
|
-
margin:
|
|
31606
|
+
data: processedData,
|
|
31607
|
+
margin: chartMargins2,
|
|
31608
|
+
syncId: "composedChart",
|
|
31609
|
+
syncMethod: "index",
|
|
31610
|
+
barCategoryGap: BAR_CATEGORY_GAP,
|
|
31611
|
+
barGap: 0
|
|
31559
31612
|
}, /*#__PURE__*/React$1.createElement(CartesianGrid, {
|
|
31560
31613
|
strokeDasharray: "3 3",
|
|
31561
31614
|
vertical: false
|
|
31562
31615
|
}), /*#__PURE__*/React$1.createElement(XAxis, {
|
|
31563
|
-
dataKey: "
|
|
31564
|
-
|
|
31565
|
-
domain: ['dataMin', 'dataMax'],
|
|
31566
|
-
padding: {
|
|
31567
|
-
left: 20,
|
|
31568
|
-
right: 20
|
|
31569
|
-
},
|
|
31570
|
-
tick: props => /*#__PURE__*/React$1.createElement(CustomizedTick, _extends({}, props, {
|
|
31571
|
-
viewableIndices: viewableIndices
|
|
31572
|
-
})),
|
|
31616
|
+
dataKey: "label",
|
|
31617
|
+
tick: /*#__PURE__*/React$1.createElement(CustomizedTick, null),
|
|
31573
31618
|
interval: 0,
|
|
31574
|
-
height:
|
|
31575
|
-
tickLine: false
|
|
31576
|
-
ticks: dataWithIndex.map(item => item.index)
|
|
31619
|
+
height: 80,
|
|
31620
|
+
tickLine: false
|
|
31577
31621
|
}), /*#__PURE__*/React$1.createElement(YAxis, {
|
|
31578
31622
|
tickFormatter: v => `${v / 1000}k`,
|
|
31579
31623
|
hide: true
|
|
31580
|
-
}), /*#__PURE__*/React$1.createElement(Tooltip$2,
|
|
31624
|
+
}), /*#__PURE__*/React$1.createElement(Tooltip$2, {
|
|
31625
|
+
content: /*#__PURE__*/React$1.createElement(CustomTooltip, null)
|
|
31626
|
+
}), /*#__PURE__*/React$1.createElement(Bar, {
|
|
31581
31627
|
dataKey: "inc_sales",
|
|
31582
31628
|
fill: "#CCDCDD",
|
|
31583
|
-
gap:
|
|
31629
|
+
gap: 4,
|
|
31584
31630
|
borderRadius: [4, 4, 0, 8],
|
|
31585
31631
|
barSize: 40,
|
|
31586
31632
|
name: "INC Sales"
|
|
31587
|
-
}, /*#__PURE__*/React$1.createElement(
|
|
31633
|
+
}, /*#__PURE__*/React$1.createElement(LabelList, {
|
|
31588
31634
|
dataKey: "inc_sales",
|
|
31589
31635
|
position: "top",
|
|
31590
|
-
formatter: value =>
|
|
31591
|
-
|
|
31636
|
+
formatter: value => `$${getFormattedValue(value)}${getFormattedUnits(value)}`,
|
|
31637
|
+
fill: "#212121",
|
|
31638
|
+
fontSize: 12,
|
|
31639
|
+
fontWeight: "400",
|
|
31640
|
+
fontFamily: "Poppins"
|
|
31592
31641
|
})), /*#__PURE__*/React$1.createElement(Brush, {
|
|
31593
|
-
dataKey: "
|
|
31642
|
+
dataKey: "label",
|
|
31594
31643
|
height: 30,
|
|
31595
31644
|
stroke: "#212121",
|
|
31596
|
-
startIndex:
|
|
31597
|
-
endIndex:
|
|
31598
|
-
|
|
31599
|
-
|
|
31600
|
-
|
|
31601
|
-
|
|
31602
|
-
|
|
31603
|
-
},
|
|
31604
|
-
travellerWidth: 12
|
|
31605
|
-
})), /*#__PURE__*/React$1.createElement("div", {
|
|
31606
|
-
style: {
|
|
31607
|
-
marginTop: "-28px"
|
|
31608
|
-
}
|
|
31609
|
-
}, /*#__PURE__*/React$1.createElement(PerformanceAnalyticsLegend, {
|
|
31645
|
+
startIndex: 0,
|
|
31646
|
+
endIndex: Math.min(6, processedData.length - 1),
|
|
31647
|
+
travellerWidth: 10,
|
|
31648
|
+
tickFormatter: (value, index) => index + 1
|
|
31649
|
+
})), /*#__PURE__*/React$1.createElement("div", null)), /*#__PURE__*/React$1.createElement(PerformanceAnalyticsLegend, {
|
|
31650
|
+
width: "100%",
|
|
31651
|
+
height: "40px",
|
|
31610
31652
|
legendData: [{
|
|
31611
31653
|
iconColor: "#CCDCDD",
|
|
31612
31654
|
iconType: "Square",
|
|
@@ -31616,13 +31658,15 @@ const SeparatedLineBarChart = ({
|
|
|
31616
31658
|
iconType: "LegendUnionIcon",
|
|
31617
31659
|
title: "INC Sales ROI"
|
|
31618
31660
|
}]
|
|
31619
|
-
})))
|
|
31661
|
+
})));
|
|
31620
31662
|
};
|
|
31621
31663
|
|
|
31622
31664
|
function SingleChart({
|
|
31623
|
-
|
|
31665
|
+
barData,
|
|
31666
|
+
height = 450,
|
|
31667
|
+
width = "100%"
|
|
31624
31668
|
}) {
|
|
31625
|
-
const dataWithIndex =
|
|
31669
|
+
const dataWithIndex = barData?.map((item, index) => ({
|
|
31626
31670
|
...item,
|
|
31627
31671
|
index,
|
|
31628
31672
|
shortLabel: item.label.replace("Vendor Selling Event: ", "Wk ")
|
|
@@ -31633,7 +31677,20 @@ function SingleChart({
|
|
|
31633
31677
|
payload
|
|
31634
31678
|
}) => {
|
|
31635
31679
|
const label = dataWithIndex[payload.value]?.label ?? "";
|
|
31636
|
-
const
|
|
31680
|
+
const words = label.split(' ');
|
|
31681
|
+
const chunks = [];
|
|
31682
|
+
let currentChunk = '';
|
|
31683
|
+
words.forEach(word => {
|
|
31684
|
+
if (currentChunk.length + word.length > 15) {
|
|
31685
|
+
chunks.push(currentChunk.trim());
|
|
31686
|
+
currentChunk = word;
|
|
31687
|
+
} else {
|
|
31688
|
+
currentChunk += (currentChunk ? ' ' : '') + word;
|
|
31689
|
+
}
|
|
31690
|
+
});
|
|
31691
|
+
if (currentChunk) {
|
|
31692
|
+
chunks.push(currentChunk.trim());
|
|
31693
|
+
}
|
|
31637
31694
|
return /*#__PURE__*/React$1.createElement("g", {
|
|
31638
31695
|
transform: `translate(${x},${y})`
|
|
31639
31696
|
}, /*#__PURE__*/React$1.createElement("text", {
|
|
@@ -31642,31 +31699,31 @@ function SingleChart({
|
|
|
31642
31699
|
dy: 16,
|
|
31643
31700
|
textAnchor: "middle",
|
|
31644
31701
|
fill: "#212121",
|
|
31645
|
-
fontSize:
|
|
31646
|
-
fontWeight: "400",
|
|
31702
|
+
fontSize: 10,
|
|
31647
31703
|
fontFamily: "Poppins"
|
|
31648
|
-
}, /*#__PURE__*/React$1.createElement("tspan", {
|
|
31704
|
+
}, chunks.map((chunk, i) => /*#__PURE__*/React$1.createElement("tspan", {
|
|
31705
|
+
key: i,
|
|
31649
31706
|
x: 0,
|
|
31650
|
-
dy:
|
|
31651
|
-
},
|
|
31652
|
-
|
|
31653
|
-
|
|
31654
|
-
|
|
31707
|
+
dy: i === 0 ? "0.71em" : "1.2em"
|
|
31708
|
+
}, chunk))));
|
|
31709
|
+
};
|
|
31710
|
+
const CustomTooltip = ({
|
|
31711
|
+
active,
|
|
31712
|
+
payload
|
|
31713
|
+
}) => {
|
|
31714
|
+
if (!active || !payload || !payload.length) return null;
|
|
31715
|
+
const data = payload[0]?.payload;
|
|
31716
|
+
if (!data) return null;
|
|
31717
|
+
return /*#__PURE__*/React$1.createElement(TooltipContainer, null, /*#__PURE__*/React$1.createElement(TooltipTitle, null, `${data.label}`), /*#__PURE__*/React$1.createElement(TooltipText, null, `${data.description}`), /*#__PURE__*/React$1.createElement(TooltipText, null, `${data.typeTitle}: ${getFormattedValue(data.value)}${getFormattedUnits(data.value)}`));
|
|
31655
31718
|
};
|
|
31656
|
-
const [startIndex, setStartIndex] = useState(0);
|
|
31657
|
-
const [endIndex, setEndIndex] = useState(dataWithIndex?.length - 1);
|
|
31658
31719
|
return /*#__PURE__*/React$1.createElement("div", {
|
|
31659
31720
|
style: {
|
|
31660
31721
|
width: "100%",
|
|
31661
|
-
height: 600
|
|
31662
|
-
}
|
|
31663
|
-
}, /*#__PURE__*/React$1.createElement("div", {
|
|
31664
|
-
style: {
|
|
31665
31722
|
height: "100%"
|
|
31666
31723
|
}
|
|
31667
31724
|
}, /*#__PURE__*/React$1.createElement(ResponsiveContainer, {
|
|
31668
31725
|
width: "100%",
|
|
31669
|
-
height: "
|
|
31726
|
+
height: "95%"
|
|
31670
31727
|
}, /*#__PURE__*/React$1.createElement(ComposedChart, {
|
|
31671
31728
|
data: dataWithIndex,
|
|
31672
31729
|
margin: {
|
|
@@ -31682,7 +31739,7 @@ function SingleChart({
|
|
|
31682
31739
|
dataKey: "index",
|
|
31683
31740
|
tick: /*#__PURE__*/React$1.createElement(CustomizedTick, null),
|
|
31684
31741
|
interval: 0,
|
|
31685
|
-
height:
|
|
31742
|
+
height: 80,
|
|
31686
31743
|
padding: {
|
|
31687
31744
|
left: 20,
|
|
31688
31745
|
right: 20
|
|
@@ -31691,7 +31748,9 @@ function SingleChart({
|
|
|
31691
31748
|
}), /*#__PURE__*/React$1.createElement(YAxis, {
|
|
31692
31749
|
tickFormatter: v => `$${v / 1000}k`,
|
|
31693
31750
|
hide: true
|
|
31694
|
-
}), /*#__PURE__*/React$1.createElement(Tooltip$2,
|
|
31751
|
+
}), /*#__PURE__*/React$1.createElement(Tooltip$2, {
|
|
31752
|
+
content: /*#__PURE__*/React$1.createElement(CustomTooltip, null)
|
|
31753
|
+
}), /*#__PURE__*/React$1.createElement(Bar, {
|
|
31695
31754
|
dataKey: "value",
|
|
31696
31755
|
fill: "#CCDCDD",
|
|
31697
31756
|
gap: "4px",
|
|
@@ -31701,29 +31760,25 @@ function SingleChart({
|
|
|
31701
31760
|
}, /*#__PURE__*/React$1.createElement(LabelList, {
|
|
31702
31761
|
dataKey: "value",
|
|
31703
31762
|
position: "top",
|
|
31704
|
-
formatter: value => `$${value
|
|
31763
|
+
formatter: value => `$${getFormattedValue(value)}${getFormattedUnits(value)}`,
|
|
31705
31764
|
fill: "#212121",
|
|
31706
31765
|
fontSize: 12,
|
|
31707
31766
|
fontWeight: "400",
|
|
31708
31767
|
fontFamily: "Poppins"
|
|
31709
31768
|
})), /*#__PURE__*/React$1.createElement(Brush, {
|
|
31710
|
-
dataKey: "index",
|
|
31711
31769
|
height: 30,
|
|
31712
|
-
|
|
31713
|
-
startIndex:
|
|
31714
|
-
endIndex:
|
|
31715
|
-
|
|
31716
|
-
|
|
31717
|
-
|
|
31718
|
-
},
|
|
31719
|
-
travellerWidth: 12
|
|
31720
|
-
})), /*#__PURE__*/React$1.createElement(PerformanceAnalyticsLegend, {
|
|
31770
|
+
travellerWidth: 10,
|
|
31771
|
+
startIndex: 0,
|
|
31772
|
+
endIndex: Math.min(6, barData.length - 1)
|
|
31773
|
+
}))), /*#__PURE__*/React$1.createElement(PerformanceAnalyticsLegend, {
|
|
31774
|
+
width: "100%",
|
|
31775
|
+
height: "40px",
|
|
31721
31776
|
legendData: [{
|
|
31722
31777
|
iconColor: "#CCDCDD",
|
|
31723
31778
|
iconType: "Square",
|
|
31724
31779
|
title: "INC Units"
|
|
31725
31780
|
}]
|
|
31726
|
-
}))
|
|
31781
|
+
}));
|
|
31727
31782
|
}
|
|
31728
31783
|
|
|
31729
31784
|
styled.div`
|
|
@@ -31954,16 +32009,8 @@ SegmentedButton.defaultProps = {
|
|
|
31954
32009
|
};
|
|
31955
32010
|
|
|
31956
32011
|
function InnerBarChart({
|
|
31957
|
-
|
|
32012
|
+
brushInnerBarData
|
|
31958
32013
|
}) {
|
|
31959
|
-
const processedData = data.map(item => {
|
|
31960
|
-
const parts = item.label.replace("Vendor Selling Event:", "").trim();
|
|
31961
|
-
return {
|
|
31962
|
-
...item,
|
|
31963
|
-
shortLabel: parts
|
|
31964
|
-
};
|
|
31965
|
-
});
|
|
31966
|
-
const format = v => v >= 1000 ? `${v / 1000}K` : v;
|
|
31967
32014
|
const BarWithInner = props => {
|
|
31968
32015
|
const {
|
|
31969
32016
|
x,
|
|
@@ -31992,7 +32039,7 @@ function InnerBarChart({
|
|
|
31992
32039
|
fontWeight: 400,
|
|
31993
32040
|
fontFamily: "Poppins",
|
|
31994
32041
|
fill: "#212121"
|
|
31995
|
-
},
|
|
32042
|
+
}, `${getFormattedValue(payload.total)}${getFormattedUnits(payload.total)}`), /*#__PURE__*/React$1.createElement("rect", {
|
|
31996
32043
|
x: x + width * 0.2,
|
|
31997
32044
|
y: innerY,
|
|
31998
32045
|
width: width * 0.6,
|
|
@@ -32008,7 +32055,7 @@ function InnerBarChart({
|
|
|
32008
32055
|
fontWeight: 400,
|
|
32009
32056
|
fontFamily: "Poppins",
|
|
32010
32057
|
fill: "#212121"
|
|
32011
|
-
},
|
|
32058
|
+
}, `${getFormattedValue(payload.actual)}${getFormattedUnits(payload.actual)}`));
|
|
32012
32059
|
};
|
|
32013
32060
|
const CustomTooltip = ({
|
|
32014
32061
|
active,
|
|
@@ -32017,9 +32064,8 @@ function InnerBarChart({
|
|
|
32017
32064
|
}) => {
|
|
32018
32065
|
if (!active || !payload || !payload.length) return null;
|
|
32019
32066
|
const data = payload[0].payload;
|
|
32020
|
-
|
|
32021
|
-
|
|
32022
|
-
}, /*#__PURE__*/React$1.createElement("strong", null, data.label), /*#__PURE__*/React$1.createElement("div", null, "Actual: ", format(data.actual)), /*#__PURE__*/React$1.createElement("div", null, "Total: ", format(data.total)));
|
|
32067
|
+
const repeaterPercentage = (data.actual / data.total * 100).toFixed(1);
|
|
32068
|
+
return /*#__PURE__*/React$1.createElement(TooltipContainer, null, /*#__PURE__*/React$1.createElement(TooltipTitle, null, `${data.label}`), /*#__PURE__*/React$1.createElement(TooltipText, null, `${data.description}`), /*#__PURE__*/React$1.createElement(TooltipText, null, `New Shoppers: ${getFormattedValue(data.total)}${getFormattedUnits(data.total)}`), /*#__PURE__*/React$1.createElement(TooltipText, null, `Repeaters: ${getFormattedValue(data.actual)}${getFormattedUnits(data.actual)}`), /*#__PURE__*/React$1.createElement(TooltipText, null, `% Repeaters: ${repeaterPercentage}%`));
|
|
32023
32069
|
};
|
|
32024
32070
|
const CustomizedTick = props => {
|
|
32025
32071
|
const {
|
|
@@ -32027,7 +32073,23 @@ function InnerBarChart({
|
|
|
32027
32073
|
y,
|
|
32028
32074
|
payload
|
|
32029
32075
|
} = props;
|
|
32030
|
-
const
|
|
32076
|
+
const label = payload.value;
|
|
32077
|
+
|
|
32078
|
+
// Split the label into chunks of words
|
|
32079
|
+
const words = label.split(" ");
|
|
32080
|
+
const chunks = [];
|
|
32081
|
+
let currentChunk = "";
|
|
32082
|
+
words.forEach(word => {
|
|
32083
|
+
if (currentChunk.length + word.length > 15) {
|
|
32084
|
+
chunks.push(currentChunk.trim());
|
|
32085
|
+
currentChunk = word;
|
|
32086
|
+
} else {
|
|
32087
|
+
currentChunk += " " + word;
|
|
32088
|
+
}
|
|
32089
|
+
});
|
|
32090
|
+
if (currentChunk) {
|
|
32091
|
+
chunks.push(currentChunk.trim());
|
|
32092
|
+
}
|
|
32031
32093
|
return /*#__PURE__*/React$1.createElement("g", {
|
|
32032
32094
|
transform: `translate(${x},${y})`
|
|
32033
32095
|
}, /*#__PURE__*/React$1.createElement("text", {
|
|
@@ -32038,104 +32100,82 @@ function InnerBarChart({
|
|
|
32038
32100
|
fill: "#212121",
|
|
32039
32101
|
fontSize: 10,
|
|
32040
32102
|
fontFamily: "Poppins"
|
|
32041
|
-
}, /*#__PURE__*/React$1.createElement("tspan", {
|
|
32042
|
-
|
|
32043
|
-
dy: "0.71em"
|
|
32044
|
-
}, "Vendor"), /*#__PURE__*/React$1.createElement("tspan", {
|
|
32103
|
+
}, chunks.map((chunk, i) => /*#__PURE__*/React$1.createElement("tspan", {
|
|
32104
|
+
key: i,
|
|
32045
32105
|
x: 0,
|
|
32046
|
-
dy: "1.2em"
|
|
32047
|
-
},
|
|
32048
|
-
x: 0,
|
|
32049
|
-
dy: "1.2em"
|
|
32050
|
-
}, labelText)));
|
|
32106
|
+
dy: i === 0 ? "0.71em" : "1.2em"
|
|
32107
|
+
}, chunk))));
|
|
32051
32108
|
};
|
|
32052
32109
|
return /*#__PURE__*/React$1.createElement("div", {
|
|
32053
|
-
|
|
32054
|
-
|
|
32055
|
-
|
|
32056
|
-
|
|
32110
|
+
style: {
|
|
32111
|
+
width: "100%",
|
|
32112
|
+
height: "100%"
|
|
32113
|
+
}
|
|
32114
|
+
}, /*#__PURE__*/React$1.createElement(ResponsiveContainer, {
|
|
32057
32115
|
width: "100%",
|
|
32058
|
-
height:
|
|
32116
|
+
height: "95%"
|
|
32059
32117
|
}, /*#__PURE__*/React$1.createElement(BarChart$1, {
|
|
32060
|
-
data:
|
|
32118
|
+
data: brushInnerBarData,
|
|
32061
32119
|
margin: {
|
|
32062
32120
|
top: 30,
|
|
32063
32121
|
right: 30,
|
|
32064
32122
|
left: 20,
|
|
32065
|
-
bottom:
|
|
32123
|
+
bottom: 80
|
|
32066
32124
|
}
|
|
32067
32125
|
}, /*#__PURE__*/React$1.createElement(CartesianGrid, {
|
|
32068
32126
|
strokeDasharray: "3 3",
|
|
32069
32127
|
vertical: false
|
|
32070
32128
|
}), /*#__PURE__*/React$1.createElement(XAxis, {
|
|
32071
|
-
dataKey: "
|
|
32129
|
+
dataKey: "label",
|
|
32072
32130
|
tick: /*#__PURE__*/React$1.createElement(CustomizedTick, null),
|
|
32073
|
-
height:
|
|
32131
|
+
height: 80,
|
|
32074
32132
|
interval: 0
|
|
32075
32133
|
}), /*#__PURE__*/React$1.createElement(YAxis, {
|
|
32076
32134
|
type: "number",
|
|
32077
32135
|
domain: [0, "dataMax + 2000"],
|
|
32078
|
-
|
|
32136
|
+
hide: true
|
|
32079
32137
|
}), /*#__PURE__*/React$1.createElement(Tooltip$2, {
|
|
32080
32138
|
content: /*#__PURE__*/React$1.createElement(CustomTooltip, null)
|
|
32081
|
-
}), /*#__PURE__*/React$1.createElement(Brush, {
|
|
32082
|
-
height: 30,
|
|
32083
|
-
travellerWidth: 10,
|
|
32084
|
-
startIndex: 0,
|
|
32085
|
-
endIndex: 5,
|
|
32086
|
-
y: 380
|
|
32087
32139
|
}), /*#__PURE__*/React$1.createElement(Bar, {
|
|
32088
32140
|
dataKey: "total",
|
|
32089
32141
|
shape: /*#__PURE__*/React$1.createElement(BarWithInner, null),
|
|
32090
32142
|
barSize: 36
|
|
32091
|
-
})
|
|
32143
|
+
}), /*#__PURE__*/React$1.createElement(Brush, {
|
|
32144
|
+
height: 30,
|
|
32145
|
+
travellerWidth: 10,
|
|
32146
|
+
startIndex: 0,
|
|
32147
|
+
endIndex: Math.min(6, brushInnerBarData.length - 1)
|
|
32148
|
+
}))), /*#__PURE__*/React$1.createElement(PerformanceAnalyticsLegend, {
|
|
32149
|
+
width: "100%",
|
|
32150
|
+
height: "40px",
|
|
32151
|
+
legendData: [{
|
|
32152
|
+
iconColor: "#CCDCDD",
|
|
32153
|
+
iconType: "Square",
|
|
32154
|
+
title: "New Shoppers"
|
|
32155
|
+
}, {
|
|
32156
|
+
iconColor: "#07575b",
|
|
32157
|
+
iconType: "Square",
|
|
32158
|
+
title: "Repeaters"
|
|
32159
|
+
}]
|
|
32160
|
+
}));
|
|
32092
32161
|
}
|
|
32093
32162
|
|
|
32094
|
-
const Container = styled.div`
|
|
32095
|
-
width: ${props => props.width};
|
|
32096
|
-
height: ${props => props.height};
|
|
32097
|
-
padding: 15px;
|
|
32098
|
-
display: flex;
|
|
32099
|
-
flex-direction: column;
|
|
32100
|
-
#Segment {
|
|
32101
|
-
width: auto;
|
|
32102
|
-
white-space: nowrap;
|
|
32103
|
-
font-size: 14px;
|
|
32104
|
-
font-weight: 500;
|
|
32105
|
-
font-family: "Poppins"
|
|
32106
|
-
}
|
|
32107
|
-
`;
|
|
32108
|
-
styled.div`
|
|
32109
|
-
font-family: sans-serif;
|
|
32110
|
-
text-align: center;
|
|
32111
|
-
`;
|
|
32112
|
-
styled.div`
|
|
32113
|
-
height: 25%;
|
|
32114
|
-
`;
|
|
32115
|
-
styled.div`
|
|
32116
|
-
height: 75%;
|
|
32117
|
-
`;
|
|
32118
|
-
styled.div`
|
|
32119
|
-
height: 100%;
|
|
32120
|
-
display: flex;
|
|
32121
|
-
flex-direction: column;
|
|
32122
|
-
background-color: white;
|
|
32123
|
-
`;
|
|
32124
|
-
|
|
32125
32163
|
const BrushChart = props => {
|
|
32126
32164
|
const {
|
|
32127
32165
|
width,
|
|
32128
32166
|
height,
|
|
32129
|
-
|
|
32130
|
-
|
|
32131
|
-
|
|
32167
|
+
brushInnerBarData,
|
|
32168
|
+
brushBarIncData,
|
|
32169
|
+
brushBarBasketData,
|
|
32170
|
+
brushAreaBarData,
|
|
32171
|
+
title
|
|
32132
32172
|
} = props;
|
|
32133
32173
|
const segmentedbuttonOptions = ["New Shoppers & Repeaters", "INC Sales & ROI", "INC Units", "Basket Lift"];
|
|
32134
32174
|
const [selectedOption, setSelectedOption] = useState(segmentedbuttonOptions[0]);
|
|
32135
32175
|
return /*#__PURE__*/React$1.createElement(Container, {
|
|
32136
32176
|
height: height,
|
|
32137
32177
|
width: width
|
|
32138
|
-
}, /*#__PURE__*/React$1.createElement(SegmentedButton, {
|
|
32178
|
+
}, /*#__PURE__*/React$1.createElement(Title$1, null, title), /*#__PURE__*/React$1.createElement(SegmentedButton, {
|
|
32139
32179
|
gap: "8px",
|
|
32140
32180
|
options: segmentedbuttonOptions.map(value => ({
|
|
32141
32181
|
value
|
|
@@ -32147,13 +32187,13 @@ const BrushChart = props => {
|
|
|
32147
32187
|
return setSelectedOption(value);
|
|
32148
32188
|
}
|
|
32149
32189
|
}), selectedOption === "New Shoppers & Repeaters" && /*#__PURE__*/React$1.createElement(InnerBarChart, {
|
|
32150
|
-
|
|
32190
|
+
brushInnerBarData: brushInnerBarData
|
|
32151
32191
|
}), selectedOption === "INC Sales & ROI" && /*#__PURE__*/React$1.createElement(SeparatedLineBarChart, {
|
|
32152
|
-
|
|
32192
|
+
brushAreaBarData: brushAreaBarData
|
|
32153
32193
|
}), selectedOption === "INC Units" && /*#__PURE__*/React$1.createElement(SingleChart, {
|
|
32154
|
-
|
|
32194
|
+
barData: brushBarIncData
|
|
32155
32195
|
}), selectedOption === "Basket Lift" && /*#__PURE__*/React$1.createElement(SingleChart, {
|
|
32156
|
-
|
|
32196
|
+
barData: brushBarBasketData
|
|
32157
32197
|
}));
|
|
32158
32198
|
};
|
|
32159
32199
|
|
|
@@ -32252,7 +32292,10 @@ const VisibleCardsContainer = styled.div`
|
|
|
32252
32292
|
|
|
32253
32293
|
.prev-card,
|
|
32254
32294
|
.next-card {
|
|
32255
|
-
|
|
32295
|
+
background: #d3d3d3;
|
|
32296
|
+
> * {
|
|
32297
|
+
opacity: 0.5;
|
|
32298
|
+
}
|
|
32256
32299
|
}
|
|
32257
32300
|
|
|
32258
32301
|
.prev-card {
|