sag_components 1.0.560 → 1.0.563

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.
Files changed (31) hide show
  1. package/dist/stories/components/BarChartsByWeeks.js +50 -34
  2. package/dist/stories/components/BarChartsByWeeks.style.js +2 -2
  3. package/dist/stories/components/Dropdown.js +2 -0
  4. package/dist/stories/components/EventDetailsCard.js +138 -0
  5. package/dist/stories/components/EventDetailsCard.style.js +24 -0
  6. package/dist/stories/components/FilterPanel.js +199 -0
  7. package/dist/stories/components/FilterPanel.style.js +19 -0
  8. package/dist/stories/components/IconButton.js +3 -1
  9. package/dist/stories/components/PerformanceAnalyticsLegend.js +4 -1
  10. package/dist/stories/components/PerformanceAnalyticsLegend.style.js +1 -1
  11. package/dist/stories/components/ReportTable.style.js +6 -6
  12. package/dist/stories/components/SagButton.js +2 -1
  13. package/dist/stories/components/SagButton.style.js +1 -1
  14. package/dist/stories/components/Select.js +39 -7
  15. package/dist/stories/components/Select.style.js +5 -5
  16. package/dist/stories/components/TabMenu.style.js +1 -1
  17. package/dist/stories/components/TotalDoughnutChart.js +21 -23
  18. package/dist/stories/components/TotalHorizontalCharts.js +101 -0
  19. package/dist/stories/components/TotalHorizontalCharts.style.js +20 -0
  20. package/dist/stories/components/icons/ComboBoxArrowUpIcon.js +3 -3
  21. package/dist/stories/components/icons/ExitIcon.js +2 -2
  22. package/dist/stories/components/icons/ExportIcon.js +28 -0
  23. package/dist/stories/components/icons/FoodLionNewIcon.js +39 -0
  24. package/dist/stories/components/icons/GiantFoodIcon_new.js +42 -0
  25. package/dist/stories/components/icons/HannafordIcon.js +2 -2
  26. package/dist/stories/components/icons/HannafordIcon_new.js +41 -0
  27. package/dist/stories/components/icons/HannafordNewIcon.js +2 -2
  28. package/dist/stories/components/icons/LegendLineIcon.js +29 -0
  29. package/dist/stories/components/icons/StopAndShopNewIcon.js +41 -0
  30. package/dist/stories/components/icons/TheGiantCompanyNewIcon.js +39 -0
  31. package/package.json +10 -10
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
@@ -9,6 +10,10 @@ var _react = _interopRequireWildcard(require("react"));
9
10
  var _recharts = require("recharts");
10
11
  var _CommonFunctions = require("./CommonFunctions");
11
12
  var _BarChartsByWeeks = require("./BarChartsByWeeks.style");
13
+ var _PerformanceAnalyticsLegend = _interopRequireDefault(require("./PerformanceAnalyticsLegend"));
14
+ const ICON_TYPE_SQUARE = 'Square';
15
+ const ICON_TYPE_LEGEND_LINE_ICON = 'LegendLineIcon';
16
+
12
17
  /* BarChartsByWeeks */
13
18
  const BarChartsByWeeks = props => {
14
19
  const {
@@ -23,12 +28,13 @@ const BarChartsByWeeks = props => {
23
28
  endWeekRange = 0,
24
29
  yAxisCounter,
25
30
  isPercentValue,
26
- interval
31
+ interval,
32
+ legendData
27
33
  } = props;
28
34
  const [BarChartContainerWidth, setBarChartContainerWidth] = (0, _react.useState)(0);
29
35
  const [BarChartContainerHeight, setBarChartContainerHeight] = (0, _react.useState)(0);
30
36
  const anotherRef = (0, _react.useRef)(null);
31
- const [activeLabel, setActiveLabel] = (0, _react.useState)("");
37
+ const [activeLabel, setActiveLabel] = (0, _react.useState)('');
32
38
  const controlsContainerRef = (0, _react.useRef)();
33
39
  (0, _react.useEffect)(() => {
34
40
  const {
@@ -51,22 +57,22 @@ const BarChartsByWeeks = props => {
51
57
  if (active && payload && payload.length) {
52
58
  setActiveLabel(label);
53
59
  const week = label && (label === null || label === void 0 ? void 0 : label.toString().length) === 6 ? label.toString().substring(4, 6) : 0;
54
- return /*#__PURE__*/_react.default.createElement(_BarChartsByWeeks.TooltipDiv, null, /*#__PURE__*/_react.default.createElement(_BarChartsByWeeks.TooltipTitle, null, "Week: ".concat(week)), /*#__PURE__*/_react.default.createElement(_BarChartsByWeeks.TooltipLabel, null, "".concat(tooltipTitle, " \n ").concat(payload[0].value ? isPercentValue ? "".concat("", payload[0].value.toFixed(1), "%") : "".concat("", (0, _CommonFunctions.getFormattedValue)(payload[0].value), (0, _CommonFunctions.getFormattedUnits)(payload[0].value)) : "", " \n ")));
60
+ return /*#__PURE__*/_react.default.createElement(_BarChartsByWeeks.TooltipDiv, null, /*#__PURE__*/_react.default.createElement(_BarChartsByWeeks.TooltipTitle, null, "Week: ".concat(week)), /*#__PURE__*/_react.default.createElement(_BarChartsByWeeks.TooltipLabel, null, "".concat(tooltipTitle, " \n ").concat(payload[0].value ? isPercentValue ? ''.concat('', payload[0].value.toFixed(1), '%') : ''.concat('', (0, _CommonFunctions.getFormattedValue)(payload[0].value), (0, _CommonFunctions.getFormattedUnits)(payload[0].value)) : '', " \n ")));
55
61
  }
56
62
  return null;
57
63
  };
58
64
  const displayEventWeeksElements = () => {
59
65
  var _getWeek;
60
- if (!barChartData || barChartData.length === 0) return "";
66
+ if (!barChartData || barChartData.length === 0) return '';
61
67
  return /*#__PURE__*/_react.default.createElement(_BarChartsByWeeks.EventWeeksLegendDataElementsContainer, {
62
68
  id: "EventWeeksLegendDataElementsContainer"
63
69
  }, (_getWeek = getWeek()) === null || _getWeek === void 0 ? void 0 : _getWeek.map(item => /*#__PURE__*/_react.default.createElement(_BarChartsByWeeks.EventWeeksLegendDataElement, {
64
70
  id: "EventWeeksLegendDataElement",
65
- color: item.title >= startWeekRange && item.title <= endWeekRange ? xselectedColor : "",
66
- textColor: item.title >= startWeekRange && item.title <= endWeekRange ? "#212121" : "#B1B1B1",
71
+ color: item.title >= startWeekRange && item.title <= endWeekRange ? xselectedColor : '',
72
+ textColor: item.title >= startWeekRange && item.title <= endWeekRange ? '#212121' : '#B1B1B1',
67
73
  fontWeight: item.title >= startWeekRange && item.title <= endWeekRange ? 600 : 400,
68
- borderLeftRadius: item.title === startWeekRange ? "12px" : "0px",
69
- borderRightRadius: item.title === endWeekRange ? "12px" : "0px"
74
+ borderLeftRadius: item.title === startWeekRange ? '12px' : '0px',
75
+ borderRightRadius: item.title === endWeekRange ? '12px' : '0px'
70
76
  }, item.titleWeek)));
71
77
  };
72
78
  const displayEventWeeksLegendData = () => /*#__PURE__*/_react.default.createElement(_BarChartsByWeeks.EventWeeksLegendMainContainer, {
@@ -122,16 +128,16 @@ const BarChartsByWeeks = props => {
122
128
  tickLine: false
123
129
  }), /*#__PURE__*/_react.default.createElement(_recharts.YAxis, {
124
130
  tickCount: yAxisCounter,
125
- interval: interval ? interval : 'preserveEnd',
126
- domain: [0, "auto"],
131
+ interval: interval || 'preserveEnd',
132
+ domain: [0, 'auto'],
127
133
  tick: {
128
- fill: "#B1B1B1"
134
+ fill: '#B1B1B1'
129
135
  },
130
136
  axisLine: false,
131
137
  fontWeight: 400,
132
138
  fontSize: "12px",
133
139
  tickLine: false,
134
- tickFormatter: value => "".concat(value ? isPercentValue ? "".concat("", value.toFixed(0), "%") : "".concat("", (0, _CommonFunctions.getFormattedValue)(value), (0, _CommonFunctions.getFormattedUnits)(value)) : "")
140
+ tickFormatter: value => "".concat(value ? isPercentValue ? ''.concat('', value.toFixed(0), '%') : ''.concat('', (0, _CommonFunctions.getFormattedValue)(value), (0, _CommonFunctions.getFormattedUnits)(value)) : '')
135
141
  }), /*#__PURE__*/_react.default.createElement(_recharts.Tooltip, {
136
142
  content: /*#__PURE__*/_react.default.createElement(CustomTooltip, null)
137
143
  }), /*#__PURE__*/_react.default.createElement(_recharts.Bar, {
@@ -140,61 +146,71 @@ const BarChartsByWeeks = props => {
140
146
  maxBarSize: 45,
141
147
  radius: [4, 4, 0, 0],
142
148
  fill: barChartColor
143
- }))))), displayEventWeeksLegendData()));
149
+ }))))), displayEventWeeksLegendData(), /*#__PURE__*/_react.default.createElement(_PerformanceAnalyticsLegend.default, {
150
+ legendData: legendData
151
+ })));
144
152
  };
145
153
  exports.BarChartsByWeeks = BarChartsByWeeks;
146
154
  var _default = exports.default = BarChartsByWeeks;
147
155
  BarChartsByWeeks.defaultProps = {
148
- title: "String",
156
+ title: 'String',
149
157
  barChartData: [{
150
- title: "202320",
158
+ title: '202320',
151
159
  value: 542366
152
160
  }, {
153
- title: "202321",
161
+ title: '202321',
154
162
  value: 699511
155
163
  }, {
156
- title: "202322",
164
+ title: '202322',
157
165
  value: 403092
158
166
  }, {
159
- title: "202323",
167
+ title: '202323',
160
168
  value: 396184
161
169
  }, {
162
- title: "202324",
170
+ title: '202324',
163
171
  value: 415317
164
172
  }, {
165
- title: "202325",
173
+ title: '202325',
166
174
  value: 568376
167
175
  }, {
168
- title: "202326",
176
+ title: '202326',
169
177
  value: 1078121
170
178
  }, {
171
- title: "202327",
179
+ title: '202327',
172
180
  value: 347930
173
181
  }, {
174
- title: "202328",
182
+ title: '202328',
175
183
  value: 346258
176
184
  }, {
177
- title: "202329",
185
+ title: '202329',
178
186
  value: 350184
179
187
  }, {
180
- title: "202330",
188
+ title: '202330',
181
189
  value: 312790
182
190
  }, {
183
- title: "202331",
191
+ title: '202331',
184
192
  value: 335076
185
193
  }, {
186
- title: "202332",
194
+ title: '202332',
187
195
  value: 311037
188
196
  }],
189
- width: "100%",
190
- height: "100%",
191
- barChartColor: "#BD9EFF",
192
- xselectedColor: "#42977A",
193
- tooltipTitle: "Sales",
197
+ width: '100%',
198
+ height: '100%',
199
+ barChartColor: '#BD9EFF',
200
+ xselectedColor: '#42977A',
201
+ tooltipTitle: 'Sales',
194
202
  startWeekRange: 0,
195
203
  endWeekRange: 0,
196
- tooltipTitle: "",
197
204
  yAxisCounter: 10,
198
205
  isPercentValue: false,
199
- interval: 'preserveEnd'
206
+ interval: 'preserveEnd',
207
+ legendData: [{
208
+ title: 'Sales',
209
+ iconType: ICON_TYPE_SQUARE,
210
+ iconColor: '#90CE9C'
211
+ }, {
212
+ title: 'Category Average',
213
+ iconType: ICON_TYPE_LEGEND_LINE_ICON,
214
+ iconColor: '#C906FD'
215
+ }]
200
216
  };
@@ -8,8 +8,8 @@ exports.TooltipTitle = exports.TooltipLabel = exports.TooltipDiv = exports.Title
8
8
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/taggedTemplateLiteral"));
9
9
  var _styledComponents = _interopRequireDefault(require("styled-components"));
10
10
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
11
- const ControlsContainer = exports.ControlsContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n font-family: \"Poppins\", sans-serif;\n color: #212121;\n width: ", ";\n height: ", ";\n border-radius: 12px;\n min-width: 250px;\n"])), props => props.width, props => props.height);
12
- const Controls = exports.Controls = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n /* justify-content: space-between; */\n background: #ffffff;\n border-radius: 12px;\n flex-basis: 100%;\n"])));
11
+ const ControlsContainer = exports.ControlsContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n font-family: \"Poppins\", sans-serif;\n color: #212121;\n width: ", ";\n height: ", ";\n min-width: 250px;\n"])), props => props.width, props => props.height);
12
+ const Controls = exports.Controls = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n height: 100%;\n width: 100%;\n background: #ffffff;\n"])));
13
13
  const AreaChartContainer = exports.AreaChartContainer = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n margin-top: auto;\n width: 100%; \n height: 85%;\n"])));
14
14
  const TooltipDiv = exports.TooltipDiv = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n border-radius: 5px;\n padding: 8px 12px;\n background: white;\n box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);\n margin: 0;\n"])));
15
15
  const TooltipLabel = exports.TooltipLabel = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n color: #212121;\n font-size: 14px;\n font-weight: 400;\n line-height: normal;\n width: fit-content;\n"])));
@@ -35,6 +35,7 @@ const Dropdown = _ref => {
35
35
  size,
36
36
  text,
37
37
  shape,
38
+ autoComplete,
38
39
  placeHolder,
39
40
  multiSelect,
40
41
  showPopupIcon,
@@ -176,6 +177,7 @@ const Dropdown = _ref => {
176
177
  onInputChangeHandler(event, newInputValue);
177
178
  },
178
179
  disabled: disabled,
180
+ autoComplete: autoComplete,
179
181
  disablePortal: true,
180
182
  disableClearable: disableClearable,
181
183
  defaultValue: defaultValue,
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.EventDetailsCard = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _EventDetailsCard = require("./EventDetailsCard.style");
10
+ var _FoodLionNewIcon = require("./icons/FoodLionNewIcon");
11
+ var _TheGiantCompanyNewIcon = require("./icons/TheGiantCompanyNewIcon");
12
+ var _StopAndShopNewIcon = require("./icons/StopAndShopNewIcon");
13
+ var _GiantFoodIcon_new = require("./icons/GiantFoodIcon_new");
14
+ var _HannafordIcon_new = require("./icons/HannafordIcon_new");
15
+ var _EyeIcon = require("./icons/EyeIcon");
16
+ var _ComboBoxArrowUpIcon = require("./icons/ComboBoxArrowUpIcon");
17
+ const EventDetailsCard = props => {
18
+ const {
19
+ title,
20
+ width,
21
+ height,
22
+ banners,
23
+ data,
24
+ showStrip,
25
+ strip,
26
+ buttonText,
27
+ onViewButtonClick
28
+ } = props;
29
+ const [processedBanners, setProcessedBanners] = (0, _react.useState)([]);
30
+ (0, _react.useEffect)(() => {
31
+ const formatedBanners = banners.map(banner => {
32
+ if (banner === 'StopAndShop') {
33
+ return {
34
+ icon: /*#__PURE__*/_react.default.createElement(_StopAndShopNewIcon.StopAndShopNewIcon, null),
35
+ name: 'Stop&Shop',
36
+ checked: true
37
+ };
38
+ }
39
+ if (banner === 'FoodLion') {
40
+ return {
41
+ icon: /*#__PURE__*/_react.default.createElement(_FoodLionNewIcon.FoodLionNewIcon, null),
42
+ name: 'Food lion',
43
+ checked: false
44
+ };
45
+ }
46
+ if (banner === 'GiantFood') {
47
+ return {
48
+ icon: /*#__PURE__*/_react.default.createElement(_GiantFoodIcon_new.GiantFoodNewIcon, null),
49
+ name: 'Giant Food',
50
+ checked: true
51
+ };
52
+ }
53
+ if (banner === 'TheGiantCompany') {
54
+ return {
55
+ icon: /*#__PURE__*/_react.default.createElement(_TheGiantCompanyNewIcon.TheGiantCompanyIcon, null),
56
+ name: 'The Giant Company',
57
+ checked: true
58
+ };
59
+ }
60
+ if (banner === 'Hannaford') {
61
+ return {
62
+ icon: /*#__PURE__*/_react.default.createElement(_HannafordIcon_new.HannafordNewIcon, null),
63
+ name: 'Hannaford',
64
+ checked: false
65
+ };
66
+ }
67
+ return null;
68
+ });
69
+ setProcessedBanners(formatedBanners);
70
+ }, []);
71
+ const [toggled, setToggled] = (0, _react.useState)(false);
72
+ const [bannerButtonText, setBannerButtonText] = (0, _react.useState)('All Banners');
73
+ const [bannerButtonArrow, setBannerButtonArrow] = (0, _react.useState)('#2D8DE7');
74
+ const choosenBanners = index => {
75
+ const updatedBanners = [...processedBanners];
76
+ updatedBanners[index].checked = !updatedBanners[index].checked;
77
+ setProcessedBanners(updatedBanners);
78
+ };
79
+ (0, _react.useEffect)(() => {
80
+ const selectedBanners = processedBanners.filter(banner => !banner.checked);
81
+ if (selectedBanners.length < 1) {
82
+ setBannerButtonText('All Banners');
83
+ setBannerButtonArrow('#2D8DE7');
84
+ } else {
85
+ setBannerButtonText('Partial');
86
+ setBannerButtonArrow('#757575');
87
+ }
88
+ }, [processedBanners]);
89
+ const viewButtonClick = e => {
90
+ onViewButtonClick(e);
91
+ };
92
+ return /*#__PURE__*/_react.default.createElement(_EventDetailsCard.MainContainer, {
93
+ height: height,
94
+ width: width
95
+ }, /*#__PURE__*/_react.default.createElement(_EventDetailsCard.TitleWrapper, null, /*#__PURE__*/_react.default.createElement(_EventDetailsCard.CardTitle, null, title), /*#__PURE__*/_react.default.createElement(_EventDetailsCard.ToggleBannersWrapper, null, /*#__PURE__*/_react.default.createElement(_EventDetailsCard.ToggleBanners, {
96
+ className: bannerButtonText === 'Partial' ? 'partial' : '',
97
+ onClick: () => setToggled(!toggled)
98
+ }, /*#__PURE__*/_react.default.createElement("span", null, bannerButtonText), /*#__PURE__*/_react.default.createElement(_EventDetailsCard.ArrowWrap, {
99
+ className: toggled ? 'opened' : 'closed'
100
+ }, /*#__PURE__*/_react.default.createElement(_ComboBoxArrowUpIcon.ComboBoxArrowUpIcon, {
101
+ color: bannerButtonArrow
102
+ }))), toggled && /*#__PURE__*/_react.default.createElement(_EventDetailsCard.ToggledDropdown, null, /*#__PURE__*/_react.default.createElement(_EventDetailsCard.ToggledDropdownTitle, null, "Participating Banners"), /*#__PURE__*/_react.default.createElement(_EventDetailsCard.ToggledDropdownList, null, processedBanners.map((banner, index) => /*#__PURE__*/_react.default.createElement("li", {
103
+ key: index,
104
+ className: !banner.checked ? 'unchecked' : '',
105
+ onClick: () => choosenBanners(index)
106
+ }, /*#__PURE__*/_react.default.createElement(_EventDetailsCard.IconWrap, null, banner.icon), "|", /*#__PURE__*/_react.default.createElement("span", null, banner.name))))))), /*#__PURE__*/_react.default.createElement(_EventDetailsCard.MainCard, null, /*#__PURE__*/_react.default.createElement(_EventDetailsCard.List, null, /*#__PURE__*/_react.default.createElement("li", null, "6 products in variety"), data.map((item, index) => /*#__PURE__*/_react.default.createElement("li", {
107
+ key: index
108
+ }, /*#__PURE__*/_react.default.createElement("span", null, item.label, ":"), ' ', item.value))), showStrip && /*#__PURE__*/_react.default.createElement(_EventDetailsCard.Strip, null, strip), /*#__PURE__*/_react.default.createElement(_EventDetailsCard.IconButton, {
109
+ onClick: e => {
110
+ viewButtonClick(e);
111
+ }
112
+ }, /*#__PURE__*/_react.default.createElement(_EyeIcon.EyeIcon, {
113
+ width: "14",
114
+ height: "14"
115
+ }), /*#__PURE__*/_react.default.createElement("span", null, buttonText))));
116
+ };
117
+ exports.EventDetailsCard = EventDetailsCard;
118
+ var _default = exports.default = EventDetailsCard;
119
+ EventDetailsCard.defaultProps = {
120
+ title: 'Dreft Portable Pretreater Pen',
121
+ width: 'auto',
122
+ height: 'auto',
123
+ banners: ['StopAndShop', 'FoodLion', 'GiantFood', 'TheGiantCompany', 'Hannaford'],
124
+ data: [{
125
+ label: 'Incremental sales',
126
+ value: '$25K'
127
+ }, {
128
+ label: 'Package cost',
129
+ value: '$97K'
130
+ }, {
131
+ label: 'ROI',
132
+ value: 'x3.5'
133
+ }],
134
+ showStrip: false,
135
+ strip: 'Sales Rank 8 out of 43 in category!',
136
+ buttonText: 'View Details',
137
+ onViewButtonClick: () => {}
138
+ };
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ToggledDropdownTitle = exports.ToggledDropdownList = exports.ToggledDropdown = exports.ToggleBannersWrapper = exports.ToggleBanners = exports.TitleWrapper = exports.Strip = exports.MainContainer = exports.MainCard = exports.List = exports.IconWrap = exports.IconButton = exports.CardTitle = exports.ArrowWrap = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/taggedTemplateLiteral"));
9
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
10
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14;
11
+ const MainContainer = exports.MainContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n font-family: \"Poppins\", sans-serif;\n /* color: ", "; */\n background-color: white;\n width: ", ";\n height: ", ";\n border-radius: 8px;\n border: 1px solid #F2F2F2;\n"])), props => props.textColor, props => props.width, props => props.height);
12
+ const TitleWrapper = exports.TitleWrapper = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n padding: 22px 16px;\n border-radius: 8px 8px 0 0;\n background-color: #F7F8FA;\n display: flex;\n gap: 10px;\n align-items: baseline;\n"])));
13
+ const CardTitle = exports.CardTitle = _styledComponents.default.h3(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n font-size: 18px;\n font-weight: 500;\n"])));
14
+ const MainCard = exports.MainCard = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n padding: 12px 20px 16px;\n\n > #ButtonWrapper {\n margin: 0 auto;\n a {\n padding: 6px 12px;\n }\n }\n"])));
15
+ const List = exports.List = _styledComponents.default.ul(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n list-style-type: none;\n padding: 0;\n margin: 0 0 20px;\n font-size: 16px;\n li {\n line-height: 1.2;\n &:not(:last-child) {\n margin-bottom: 16px;\n }\n }\n span {\n font-weight: 600;\n }\n"])));
16
+ const Strip = exports.Strip = _styledComponents.default.div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n font-size: 12px;\n font-weight: 400;\n padding: 2px;\n margin-bottom: 15px;\n text-align: center;\n border-radius: 8px;\n background-color: #F7F8FA;\n"])));
17
+ const IconButton = exports.IconButton = _styledComponents.default.button(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n color: #212121;\n background-color: transparent;\n font-size: 14px;\n font-weight: 400;\n display: flex;\n gap: 6px;\n align-items: center;\n justify-content: center;\n margin: 0 auto;\n border: 1px solid #B1B1B1;\n border-radius: 12px;\n padding: 6px 16px;\n cursor: pointer;\n transition: box-shadow .3s ease;\n &:hover, &:focus {\n box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.1);\n }\n"])));
18
+ const ToggleBannersWrapper = exports.ToggleBannersWrapper = _styledComponents.default.div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n"])));
19
+ const ToggleBanners = exports.ToggleBanners = _styledComponents.default.button(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["\n display: flex; \n gap: 4px;\n color: #2D8DE7;\n border: 1px solid #C7E4FF;\n border-radius: 30px;\n background-color: #EDF6FF;\n padding: 6px 12px;\n cursor: pointer;\n &.partial {\n color: #757575;\n border: 1px solid #ECECEC;\n background-color: #ECECEC;\n }\n > span {\n white-space: nowrap;\n }\n"])));
20
+ const ArrowWrap = exports.ArrowWrap = _styledComponents.default.div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)([" \n > svg {\n transform: rotate(180deg);\n transition: transform .3s ease;\n }\n &.opened {\n svg {\n transform: rotate(0deg);\n } \n }\n"])));
21
+ const ToggledDropdown = exports.ToggledDropdown = _styledComponents.default.div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n margin-top: 10px;\n border-radius: 5px;\n background-color: white;\n overflow: hidden;\n box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.10);\n"])));
22
+ const ToggledDropdownTitle = exports.ToggledDropdownTitle = _styledComponents.default.span(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2.default)(["\n font-size: 14px;\n font-weight: 600;\n padding: 8px 12px;\n margin-bottom: 12px;\n white-space: nowrap;\n"])));
23
+ const ToggledDropdownList = exports.ToggledDropdownList = _styledComponents.default.ul(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2.default)(["\n list-style-type: none;\n padding: 0;\n margin: 0;\n li {\n font-size: 14px;\n font-weight: 400;\n display: flex;\n gap: 6px;\n padding: 14px 12px;\n align-items: center;\n cursor: pointer;\n &:hover {\n background-color: #F7F8FA;\n }\n\n &.unchecked {\n color: #CFCFCF;\n svg {\n filter: grayscale(1);\n }\n }\n\n > svg {\n min-width: 50px;\n }\n\n > span {\n white-space: nowrap;\n }\n }\n"])));
24
+ const IconWrap = exports.IconWrap = _styledComponents.default.div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2.default)(["\n min-width: 54px;\n text-align: center;\n"])));
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _Select = require("./Select");
11
+ var _Datepicker = require("./Datepicker");
12
+ var _SagButton = _interopRequireDefault(require("../components/SagButton"));
13
+ var _FilterPanel = require("./FilterPanel.style");
14
+ //import { FormSelect } from "./CampaignTool/FormSelect";
15
+
16
+ // import { FormProvider, useForm } from "react-hook-form";
17
+
18
+ const FilterPanel = props => {
19
+ let {
20
+ width,
21
+ height
22
+ } = props;
23
+ const {
24
+ fieldsData,
25
+ borderColor,
26
+ okButtonBackgroundColor,
27
+ onOkClick,
28
+ onResetClick,
29
+ onChange
30
+ } = props;
31
+ const [FieldsDataState, setFieldsDataState] = (0, _react.useState)(fieldsData);
32
+
33
+ //const useFormMethods = useForm({ mode: "onChange" });
34
+
35
+ const divRef = (0, _react.useRef)(null);
36
+ const [divHeight, setDivHeight] = (0, _react.useState)(0);
37
+ (0, _react.useEffect)(() => {
38
+ if (divRef.current) {
39
+ const {
40
+ top,
41
+ bottom
42
+ } = divRef.current.getBoundingClientRect();
43
+ const height = bottom - top;
44
+ setDivHeight(height);
45
+ }
46
+ }, [height]);
47
+ const onClickResetHandler = event => {
48
+ const newFieldsDataState = FieldsDataState === null || FieldsDataState === void 0 ? void 0 : FieldsDataState.map(itemField => ({
49
+ ...itemField,
50
+ selectedValue: null,
51
+ selectedLabel: null
52
+ // value: null,
53
+ }));
54
+
55
+ setFieldsDataState(newFieldsDataState);
56
+ onResetClick({
57
+ eventName: "onResetClick",
58
+ fieldsData: newFieldsDataState
59
+ });
60
+ };
61
+ const findOptionLabel = (options, selectedValue) => {
62
+ const foundOption = options === null || options === void 0 ? void 0 : options.find(itemOption => itemOption.value === selectedValue);
63
+ if (foundOption) {
64
+ return foundOption.label;
65
+ } else {
66
+ return null;
67
+ }
68
+ };
69
+ const displayFields = function (data, height) {
70
+ let paddingBottom = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "5px";
71
+ if (data && data.length > 0) {
72
+ return /*#__PURE__*/_react.default.createElement(_FilterPanel.FieldsContainer, {
73
+ id: "FieldsContainer",
74
+ height: height,
75
+ paddingBottom: paddingBottom
76
+ }, data === null || data === void 0 ? void 0 : data.map(item => /*#__PURE__*/_react.default.createElement(_FilterPanel.FieldContainer, {
77
+ id: "FieldContainer"
78
+ }, item.inputType === "dropdown" ? /*#__PURE__*/_react.default.createElement(_Select.Select, {
79
+ id: "Select",
80
+ name: item.name
81
+ // control={useFormMethods.control}
82
+ ,
83
+ value: item.selectedValue || undefined,
84
+ errorMessage: "",
85
+ label: item.label,
86
+ required: item.required,
87
+ placeHolder: item.placeHolder,
88
+ margin: "10px 0 0 0 ",
89
+ borderRadius: "12px",
90
+ borderColor: borderColor,
91
+ onChange: props => {
92
+ const newFieldsDataState = FieldsDataState === null || FieldsDataState === void 0 ? void 0 : FieldsDataState.map(itemField => itemField.name === item.name ? {
93
+ ...itemField,
94
+ selectedValue: props.target.value,
95
+ selectedLabel: findOptionLabel(item.dropdownOptions, props.target.value)
96
+ } : itemField);
97
+ setFieldsDataState(newFieldsDataState);
98
+ // //onChange callback:
99
+ onChange({
100
+ fieldsData: newFieldsDataState,
101
+ changedItem: {
102
+ name: item.name,
103
+ inputType: item.inputType,
104
+ value: props.target.value,
105
+ label: findOptionLabel(item.dropdownOptions, props.target.value)
106
+ }
107
+ });
108
+ },
109
+ options: item.dropdownOptions && item.dropdownOptions.length > 0 ? item.dropdownOptions : [],
110
+ height: "52px",
111
+ width: "100%"
112
+ }) : item.inputType === "datepicker" ? /*#__PURE__*/_react.default.createElement(_FilterPanel.DatePickerContainer, {
113
+ id: "DatePickerContainer"
114
+ }, /*#__PURE__*/_react.default.createElement(_Datepicker.Datepicker, {
115
+ id: "Datepicker",
116
+ name: item.name,
117
+ value: item.selectedValue || undefined,
118
+ required: item.required,
119
+ placeholder: item.placeHolder,
120
+ borderColor: borderColor,
121
+ format: "MM/DD/YYYY",
122
+ labelColor: borderColor,
123
+ onChange: props => {
124
+ const newFieldsDataState = FieldsDataState === null || FieldsDataState === void 0 ? void 0 : FieldsDataState.map(itemField => itemField.name === item.name ? {
125
+ ...itemField,
126
+ selectedValue: props.newValue
127
+ } : itemField);
128
+ console.log("Datepicker", newFieldsDataState);
129
+ setFieldsDataState(newFieldsDataState);
130
+ //onChange callback:
131
+ onChange({
132
+ fieldsData: newFieldsDataState,
133
+ changedItem: {
134
+ name: item.name,
135
+ inputType: item.inputType,
136
+ value: props.newValue
137
+ }
138
+ });
139
+ },
140
+ shape: "round",
141
+ text: item.label,
142
+ height: "52px",
143
+ width: "100%"
144
+ })) : "")));
145
+ }
146
+ };
147
+ return /*#__PURE__*/_react.default.createElement(_FilterPanel.MainContainer, {
148
+ id: "MainContainer"
149
+ }, /*#__PURE__*/_react.default.createElement(_FilterPanel.ControlsContainer, {
150
+ id: "ControlsContainer",
151
+ ref: divRef,
152
+ className: "modal-content",
153
+ height: height,
154
+ width: width
155
+ //onClick={(e) => e.stopPropagation()}
156
+ }, /*#__PURE__*/_react.default.createElement(_FilterPanel.AllFieldsContainer, {
157
+ id: "AllFieldsContainer"
158
+ }, displayFields(FieldsDataState, height = "160px", "20px")), /*#__PURE__*/_react.default.createElement(_FilterPanel.ButtonsContainer, {
159
+ id: "ButtonsContainer"
160
+ }, /*#__PURE__*/_react.default.createElement(_SagButton.default, {
161
+ textColor: "#ffffff",
162
+ backgroundColor: okButtonBackgroundColor || "#ffffff",
163
+ borderColor: borderColor,
164
+ onClickColor: "#B1B1B1",
165
+ radius: "12px",
166
+ text: "OK",
167
+ height: "45px",
168
+ width: "74px",
169
+ fontSize: "14px",
170
+ fontWeight: "500",
171
+ disabled: false,
172
+ onClick: e => onOkClick({
173
+ eventName: "onOkClick",
174
+ fieldsData: FieldsDataState
175
+ })
176
+ }), /*#__PURE__*/_react.default.createElement(_SagButton.default, {
177
+ textColor: "#212121",
178
+ backgroundColor: "#ffffff",
179
+ borderColor: borderColor,
180
+ onClickColor: "#B1B1B1",
181
+ radius: "12px",
182
+ text: "Reset",
183
+ height: "45px",
184
+ width: "74px",
185
+ fontSize: "14px",
186
+ fontWeight: "500",
187
+ disabled: false,
188
+ onClick: e => onClickResetHandler(e)
189
+ }))));
190
+ };
191
+ var _default = exports.default = FilterPanel;
192
+ FilterPanel.defaultProps = {
193
+ width: "800px",
194
+ height: "600px",
195
+ okButtonBackgroundColor: "#229E38",
196
+ borderColor: "#066768",
197
+ onOkClick: () => {},
198
+ onCancelClick: () => {}
199
+ };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.PanelContainer = exports.MainContainer = exports.InputCommit = exports.FieldsContainer = exports.FieldContainer = exports.DatePickerContainer = exports.ControlsContainer = exports.ButtonsContainer = exports.AllFieldsContainer = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/taggedTemplateLiteral"));
9
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
10
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
11
+ const MainContainer = exports.MainContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)([""])));
12
+ const ControlsContainer = exports.ControlsContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n font-family: \"Poppins\", sans-serif;\n font-weight: 500;\n font-size: 14px;\n background-color: #fefefe;\n padding: 20px;\n border-radius: 10px;\n height: ", ";\n width: ", ";\n box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);\n"])), props => props.height, props => props.width);
13
+ const ButtonsContainer = exports.ButtonsContainer = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex; \n flex-direction: row-reverse; \n padding: 20px 20px 0 0;\n gap: 20px;\n \n"])));
14
+ const InputCommit = exports.InputCommit = _styledComponents.default.input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n font-family: \"Poppins\", sans-serif; \n border: ", ";\n border-radius: 8px;\n font-weight: 400;\n font-size: 14px;\n @media (max-width: 1536px) {\n font-size: 12px;\n }\n @media (max-width: 1366px) {\n font-size: 10px;\n }\n height: 40px;\n width: 100px;\n cursor: pointer;\n \n &:hover {\n background-Color: #f1f1f1;\n } \n \n"])), props => "1px solid ".concat(props.borderColor));
15
+ const PanelContainer = exports.PanelContainer = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-content: center;\n flex-direction: column;\n align-items: center;\n justify-content: space-around;\n border-radius: 12px;\n background: #ffffff;\n padding: 0 10px ;\n font-weight: 400;\n font-size: 14px;\n line-height: 19px;\n white-space: pre-wrap;\n overflow: hidden;\n width: 100%;\n"])));
16
+ const AllFieldsContainer = exports.AllFieldsContainer = _styledComponents.default.div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n flex-wrap: wrap;\n width: 100%;\n"])));
17
+ const FieldsContainer = exports.FieldsContainer = _styledComponents.default.div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: column;\n white-space: wrap;\n padding: 10px;\n gap: 20px;\n width: 100%;\n \n"])));
18
+ const FieldContainer = exports.FieldContainer = _styledComponents.default.div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)([" \n width: 100%;\n margin: 0;\n \n"])));
19
+ const DatePickerContainer = exports.DatePickerContainer = _styledComponents.default.div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["\n\n"])));
@@ -108,7 +108,9 @@ const IconButton = props => {
108
108
  const onCancelClickHandler = event => {
109
109
  onCancelClick(event);
110
110
  };
111
- return /*#__PURE__*/_react.default.createElement(_IconButton.ButtonWrapper, null, /*#__PURE__*/_react.default.createElement(_IconButton.IconButtonContainer, {
111
+ return /*#__PURE__*/_react.default.createElement(_IconButton.ButtonWrapper, {
112
+ id: "ButtonWrapper"
113
+ }, /*#__PURE__*/_react.default.createElement(_IconButton.IconButtonContainer, {
112
114
  download: true,
113
115
  href: fileLink,
114
116
  backgroundColor: backgroundColor,
@@ -7,9 +7,11 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = exports.PerformanceAnalyticsLegend = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _LegendUnionIcon = require("./icons/LegendUnionIcon");
10
+ var _LegendLineIcon = require("./icons/LegendLineIcon");
10
11
  var _PerformanceAnalyticsLegend = require("./PerformanceAnalyticsLegend.style");
11
12
  const ICON_TYPE_SQUARE = 'Square';
12
13
  const ICON_TYPE_LEGEND_UNION_ICON = 'LegendUnionIcon';
14
+ const ICON_TYPE_LEGEND_LINE_ICON = 'LegendLineIcon';
13
15
 
14
16
  /* PerformanceAnalyticsLegend */
15
17
  const PerformanceAnalyticsLegend = props => {
@@ -21,7 +23,6 @@ const PerformanceAnalyticsLegend = props => {
21
23
  const getLegendData = () => /*#__PURE__*/_react.default.createElement(_PerformanceAnalyticsLegend.LegendDataContainer, {
22
24
  id: "LegendDataContainer"
23
25
  }, legendData === null || legendData === void 0 ? void 0 : legendData.map((item, i) => /*#__PURE__*/_react.default.createElement(_PerformanceAnalyticsLegend.TitleAndIconContainer, {
24
- id: "TitleAndIconContainer",
25
26
  key: "".concat(item.title + i)
26
27
  }, item.iconType === ICON_TYPE_SQUARE ? /*#__PURE__*/_react.default.createElement(_PerformanceAnalyticsLegend.LegendColorRectangle, {
27
28
  id: "LegendColorRectangle",
@@ -30,6 +31,8 @@ const PerformanceAnalyticsLegend = props => {
30
31
  width: 30,
31
32
  height: 30,
32
33
  color: item.iconColor
34
+ }) : item.iconType === ICON_TYPE_LEGEND_LINE_ICON ? /*#__PURE__*/_react.default.createElement(_LegendLineIcon.LegendLineIcon, {
35
+ color: item.iconColor
33
36
  }) : '', /*#__PURE__*/_react.default.createElement(_PerformanceAnalyticsLegend.Title, {
34
37
  id: "Title",
35
38
  width: width