sag_components 1.0.596 → 1.0.598

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 (29) hide show
  1. package/dist/stories/components/BarChartsByWeeks.style.js +1 -1
  2. package/dist/stories/components/CollapseMenuItem.js +1 -1
  3. package/dist/stories/components/Dropdown.js +57 -53
  4. package/dist/stories/components/EventList.js +13 -14
  5. package/dist/stories/components/EventList.style.js +2 -2
  6. package/dist/stories/components/EventListItem.js +8 -9
  7. package/dist/stories/components/MonthPicker.js +114 -0
  8. package/dist/stories/components/MonthPicker.style.js +18 -0
  9. package/dist/stories/components/MonthPopupPicker.js +116 -0
  10. package/dist/stories/components/QuarterPicker.js +114 -0
  11. package/dist/stories/components/QuarterPicker.style.js +18 -0
  12. package/dist/stories/components/QuarterPopupPicker.js +93 -0
  13. package/dist/stories/components/RangeDatePicker.js +137 -0
  14. package/dist/stories/components/RangePicker.js +111 -0
  15. package/dist/stories/components/RangePicker.style.js +18 -0
  16. package/dist/stories/components/Select.js +67 -44
  17. package/dist/stories/components/Select.style.js +8 -5
  18. package/dist/stories/components/TabMenu.js +18 -9
  19. package/dist/stories/components/TotalCostModal.js +143 -0
  20. package/dist/stories/components/icons/Calendar.js +20 -0
  21. package/dist/stories/components/icons/CalendarInOpen.js +26 -0
  22. package/dist/stories/components/icons/ChervronLeftIcon.js +20 -0
  23. package/dist/stories/components/icons/ChervronRightIcon.js +20 -0
  24. package/package.json +8 -7
  25. package/dist/stories/CampaignTool/PopupContent.stories.js +0 -284
  26. package/dist/stories/components/EventInfo.js +0 -92
  27. package/dist/stories/components/EventInfo.style.js +0 -20
  28. package/dist/stories/components/FilterButton.js +0 -47
  29. package/dist/stories/components/FilterButton.style.js +0 -12
@@ -16,6 +16,6 @@ const TooltipLabel = exports.TooltipLabel = _styledComponents.default.div(_templ
16
16
  const TooltipTitle = exports.TooltipTitle = _styledComponents.default.div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n color: #212121;\n font-size: 14px;\n font-weight: 600;\n line-height: normal;\n"])));
17
17
  const TitleAndValueContainer = exports.TitleAndValueContainer = _styledComponents.default.div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n padding: 0 1rem;\n"])));
18
18
  const Title = exports.Title = _styledComponents.default.div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["\n font-family: \"Poppins\", sans-serif;\n font-weight: 500;\n font-size: 18px;\n line-height: 20px;\n @media (max-width: 1536px) {\n font-size: 16px;\n }\n @media (max-width: 1366px) {\n font-size: 14px;\n }\n\n"])));
19
- const EventWeeksLegendMainContainer = exports.EventWeeksLegendMainContainer = _styledComponents.default.div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n justify-content: center;\n flex-direction: column;\n margin: 2px 0 0 0;\n padding: 0 0 0 55px;\n align-items: center;\n\n"])));
19
+ const EventWeeksLegendMainContainer = exports.EventWeeksLegendMainContainer = _styledComponents.default.div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n justify-content: center;\n flex-direction: column;\n margin: 2px 0 0 0;\n padding-left: 55px;\n align-items: center;\n\n"])));
20
20
  const EventWeeksLegendDataElementsContainer = exports.EventWeeksLegendDataElementsContainer = _styledComponents.default.div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n margin: 0px;\n align-items: center;\n justify-content: space-around;\n width: 100%;\n"])));
21
21
  const EventWeeksLegendDataElement = exports.EventWeeksLegendDataElement = _styledComponents.default.h4(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n font-weight: ", ";\n font-size: 12px;\n line-height: 15px;\n margin: 0px;\n width: 100%;\n justify-content: center;\n align-content: center;\n color: ", ";\n border-top-left-radius: ", ";\n border-bottom-left-radius: ", ";\n border-top-right-radius: ", ";\n border-bottom-right-radius: ", ";\n background: ", ";\n @media (max-width: 1536px) {\n font-size: 11px;\n }\n @media (max-width: 1366px) {\n font-size: 10px;\n }\n"])), props => props.fontWeight, props => props.textColor, props => props.borderLeftRadius, props => props.borderLeftRadius, props => props.borderRightRadius, props => props.borderRightRadius, props => props.color);
@@ -32,7 +32,7 @@ const CollapseMenuItem = props => {
32
32
  cursor: 'pointer'
33
33
  }
34
34
  }, buttonAlignment === 'left' && /*#__PURE__*/_react.default.createElement(_CollapseMenuItem.LeftIconContainer, {
35
- id: "LeftIconContainer"
35
+ className: "LeftIconContainer"
36
36
  }, IsItemOpen ? /*#__PURE__*/_react.default.createElement(_MenuItemOpenIcon.MenuItemOpenIcon, {
37
37
  color: "#212121"
38
38
  }) : /*#__PURE__*/_react.default.createElement(_MenuItemClosedIcon.MenuItemClosedIcon, {
@@ -166,63 +166,67 @@ const Dropdown = _ref => {
166
166
  };
167
167
 
168
168
  // --------------------------------------- DROPDOWN SINGLE --------------------------------
169
- const getAutocompleteSingle = () => /*#__PURE__*/_react.default.createElement(_styles.ThemeProvider, {
170
- theme: theme
171
- }, /*#__PURE__*/_react.default.createElement(_Autocomplete.default, {
172
- key: reset,
173
- onChange: (event, newValue) => {
174
- onChangeHandler(event, newValue);
175
- },
176
- onInputChange: (event, newInputValue) => {
177
- onInputChangeHandler(event, newInputValue);
178
- },
179
- disabled: disabled,
180
- autoComplete: autoComplete,
181
- disablePortal: true,
182
- disableClearable: disableClearable,
183
- defaultValue: defaultValue,
184
- id: "combo-box",
185
- options: options
186
- // sx={{ width }}
187
- ,
188
- popupIcon: showPopupIcon ? /*#__PURE__*/_react.default.createElement(_ArrowDropDownIcon.ArrowDropDownIcon, {
189
- width: "0.5em",
190
- height: "0.5em"
191
- }) : null,
192
- forcePopupIcon: "auto",
193
- renderInput: params => /*#__PURE__*/_react.default.createElement(_TextField.default, Object.assign({}, params, {
194
- onKeyDown: event => {
195
- if (!isInputAllowed(event.key)) {
196
- event.preventDefault();
197
- }
169
+ const getAutocompleteSingle = () => {
170
+ if (!autoComplete) {
171
+ // Return null or any other placeholder if autoComplete is false
172
+ return null;
173
+ }
174
+ return /*#__PURE__*/_react.default.createElement(_styles.ThemeProvider, {
175
+ theme: theme
176
+ }, /*#__PURE__*/_react.default.createElement(_Autocomplete.default, {
177
+ key: reset,
178
+ onChange: (event, newValue) => {
179
+ onChangeHandler(event, newValue);
180
+ },
181
+ onInputChange: (event, newInputValue) => {
182
+ onInputChangeHandler(event, newInputValue);
198
183
  },
199
- required: required,
200
- label: text,
201
- inputRef: inputRef || null,
202
- size: size,
203
- sx: getTextFieldStyleSingle(),
204
- placeholder: placeHolder,
205
- InputProps: {
206
- ...params.InputProps,
184
+ disabled: disabled,
185
+ autoComplete: autoComplete,
186
+ disablePortal: true,
187
+ disableClearable: disableClearable,
188
+ defaultValue: defaultValue,
189
+ id: "combo-box",
190
+ options: options,
191
+ popupIcon: showPopupIcon ? /*#__PURE__*/_react.default.createElement(_ArrowDropDownIcon.ArrowDropDownIcon, {
192
+ width: "0.5em",
193
+ height: "0.5em"
194
+ }) : null,
195
+ forcePopupIcon: "auto",
196
+ renderInput: params => /*#__PURE__*/_react.default.createElement(_TextField.default, Object.assign({}, params, {
197
+ onKeyDown: event => {
198
+ if (!isInputAllowed(event.key)) {
199
+ event.preventDefault();
200
+ }
201
+ },
202
+ required: required,
203
+ label: text,
204
+ inputRef: inputRef || null,
205
+ size: size,
206
+ sx: getTextFieldStyleSingle(),
207
+ placeholder: placeHolder,
208
+ InputProps: {
209
+ ...params.InputProps,
210
+ style: {
211
+ fontSize: placeHolderFontSize,
212
+ fontFamily: 'Poppins'
213
+ },
214
+ startAdornment: showSearchIcon ? /*#__PURE__*/_react.default.createElement(_InputAdornment.default, {
215
+ position: "start"
216
+ }, /*#__PURE__*/_react.default.createElement(_Search.default, {
217
+ fontSize: "medium"
218
+ })) : null
219
+ }
220
+ })),
221
+ ListboxProps: {
207
222
  style: {
208
- fontSize: placeHolderFontSize,
223
+ fontSize: dropdownListfontSize,
224
+ // default: 14px
209
225
  fontFamily: 'Poppins'
210
- },
211
- startAdornment: showSearchIcon ? /*#__PURE__*/_react.default.createElement(_InputAdornment.default, {
212
- position: "start"
213
- }, /*#__PURE__*/_react.default.createElement(_Search.default, {
214
- fontSize: "medium"
215
- })) : null
216
- }
217
- })),
218
- ListboxProps: {
219
- style: {
220
- fontSize: dropdownListfontSize,
221
- // default: 14px
222
- fontFamily: 'Poppins'
226
+ }
223
227
  }
224
- }
225
- }));
228
+ }));
229
+ };
226
230
 
227
231
  // --------------------------------- MAIN -------------------------------------
228
232
  return /*#__PURE__*/_react.default.createElement(_Dropdown.DropdownContainer, {
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = exports.EventList = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
8
+ var _react = _interopRequireDefault(require("react"));
9
9
  var _EventListItem = require("./EventListItem");
10
10
  var _EventList = require("./EventList.style");
11
11
  /* EventList */
@@ -13,10 +13,9 @@ const EventList = props => {
13
13
  const {
14
14
  eventsData,
15
15
  selectTextColor,
16
- width = "100%",
17
- height = "100%",
18
- itemWidth = "700px",
19
- itemHeight = "160px",
16
+ width = '100%',
17
+ height = '100%',
18
+ itemHeight = '160px',
20
19
  onClick
21
20
  } = props;
22
21
  const displayEventsItems = () => {
@@ -26,6 +25,8 @@ const EventList = props => {
26
25
  }, eventsData === null || eventsData === void 0 ? void 0 : eventsData.map(item => /*#__PURE__*/_react.default.createElement(_EventList.OneEventItemContainer, {
27
26
  id: "OneEventItemContainer"
28
27
  }, /*#__PURE__*/_react.default.createElement(_EventListItem.EventListItem, {
28
+ height: itemHeight,
29
+ width: width / 3,
29
30
  eventName: item.eventName,
30
31
  period: item.period,
31
32
  selectTextColor: selectTextColor,
@@ -33,9 +34,7 @@ const EventList = props => {
33
34
  onClick({
34
35
  eventName: event === null || event === void 0 ? void 0 : event.eventName
35
36
  });
36
- },
37
- height: itemHeight,
38
- width: itemWidth
37
+ }
39
38
  }))));
40
39
  }
41
40
  };
@@ -54,10 +53,10 @@ exports.EventList = EventList;
54
53
  var _default = exports.default = EventList;
55
54
  EventList.defaultProps = {
56
55
  eventsData: [],
57
- selectTextColor: "#229E38",
58
- width: "100%",
59
- height: "100%",
60
- itemWidth: "700px",
61
- itemHeight: "160px",
56
+ selectTextColor: '#229E38',
57
+ width: '100%',
58
+ height: '100%',
59
+ itemWidth: '700px',
60
+ itemHeight: '160px',
62
61
  onClick: () => {}
63
62
  };
@@ -13,6 +13,6 @@ const MainContainer = exports.MainContainer = _styledComponents.default.div(_tem
13
13
  }, props => {
14
14
  return props.height;
15
15
  });
16
- const PanelContainer = exports.PanelContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (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"])));
17
- const EventItemsContainer = exports.EventItemsContainer = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n white-space: wrap;\n flex-wrap: wrap;\n padding: 10px;\n gap: 30px;\n width: 100%;\n"])));
16
+ const PanelContainer = exports.PanelContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n border-radius: 12px;\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"])));
17
+ const EventItemsContainer = exports.EventItemsContainer = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: grid;\n grid-template-columns: repeat(3,1fr);\n padding: 10px;\n gap: 30px;\n width: 100%;\n"])));
18
18
  const OneEventItemContainer = exports.OneEventItemContainer = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n //width: 100%;\n margin: 0;\n"])));
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = exports.EventListItem = void 0;
9
- var _react = _interopRequireWildcard(require("react"));
8
+ var _react = _interopRequireDefault(require("react"));
10
9
  var _ArrowSelectIcon = _interopRequireDefault(require("./icons/ArrowSelectIcon"));
11
10
  var _EventListItem = require("./EventListItem.style");
12
11
  /* EventListItem */
@@ -21,7 +20,7 @@ const EventListItem = props => {
21
20
  } = props;
22
21
  const handleOnClick = event => {
23
22
  onClick({
24
- eventName: eventName,
23
+ eventName,
25
24
  event
26
25
  });
27
26
  };
@@ -45,17 +44,17 @@ const EventListItem = props => {
45
44
  id: "SelectButtonSubContainer",
46
45
  selectTextColor: selectTextColor,
47
46
  onClick: handleOnClick
48
- }, "Select ", /*#__PURE__*/_react.default.createElement(_ArrowSelectIcon.default, {
47
+ }, "Select", ' ', /*#__PURE__*/_react.default.createElement(_ArrowSelectIcon.default, {
49
48
  id: "ArrowSelectIcon"
50
49
  })))));
51
50
  };
52
51
  exports.EventListItem = EventListItem;
53
52
  var _default = exports.default = EventListItem;
54
53
  EventListItem.defaultProps = {
55
- eventName: "",
56
- period: "DD/MM/YYYY - DD/MM/YYYY",
57
- width: "260px",
58
- height: "350px",
59
- selectTextColor: "#212121",
54
+ eventName: '',
55
+ period: 'DD/MM/YYYY - DD/MM/YYYY',
56
+ width: '260px',
57
+ height: '350px',
58
+ selectTextColor: '#212121',
60
59
  onClick: () => {}
61
60
  };
@@ -0,0 +1,114 @@
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 _moment = _interopRequireDefault(require("moment"));
11
+ var _Calendar = _interopRequireDefault(require("./icons/Calendar"));
12
+ var _CalendarInOpen = _interopRequireDefault(require("./icons/CalendarInOpen"));
13
+ var _MonthPicker = require("./MonthPicker.style");
14
+ var _MonthPopupPicker = _interopRequireDefault(require("./MonthPopupPicker"));
15
+ /* eslint-disable import/no-extraneous-dependencies */
16
+ /* eslint-disable react/require-default-props */
17
+ /* eslint-disable no-nested-ternary */
18
+ // CustomInput.js
19
+
20
+ const MonthPicker = _ref => {
21
+ let {
22
+ label,
23
+ onChange,
24
+ borderRadius,
25
+ required,
26
+ width,
27
+ height,
28
+ placeholder,
29
+ disabled,
30
+ borderColor,
31
+ // Added borderColor prop
32
+ borderColorFoucs,
33
+ // Added borderColorFour prop
34
+ textColor // Added textColor prop
35
+ } = _ref;
36
+ const [isFocused, setIsFocused] = (0, _react.useState)(false);
37
+ const [isOpen, setIsOpen] = (0, _react.useState)(false);
38
+ const [value, setValue] = (0, _react.useState)(''); // Added value state
39
+ const [startDateValue, setStartDateValue] = (0, _react.useState)(null); // Added value state
40
+
41
+ const onChangeDate = startDate => {
42
+ if (startDate) {
43
+ setIsOpen(!isOpen);
44
+ setIsFocused(false);
45
+ setStartDateValue(startDate);
46
+ setValue("".concat((0, _moment.default)(startDate).format('MMMM | YYYY')));
47
+ }
48
+ };
49
+ const onChangeEvent = e => {
50
+ const dateArray = e.target.value;
51
+ const arr = dateArray.split(' - ');
52
+ const startDate = new Date(arr[0]);
53
+ setStartDateValue((0, _moment.default)(startDate).format('MM'));
54
+ onChange(e);
55
+ setValue(e.target.value);
56
+ };
57
+ const toggleDatePicker = () => {
58
+ setIsOpen(!isOpen);
59
+ };
60
+ const handleFocus = () => {
61
+ setIsFocused(true);
62
+ };
63
+ const handleBlur = () => {
64
+ setIsFocused(false);
65
+ };
66
+ return /*#__PURE__*/_react.default.createElement(_MonthPicker.Container, {
67
+ onClick: handleFocus,
68
+ width: width,
69
+ height: height
70
+ }, /*#__PURE__*/_react.default.createElement(_MonthPicker.StyledLabel, {
71
+ onClick: handleFocus,
72
+ isFocused: isFocused,
73
+ hasValue: value,
74
+ disabled: disabled,
75
+ textColor: textColor
76
+ }, label, required && /*#__PURE__*/_react.default.createElement(_MonthPicker.RequiredIndicator, null, "*")), /*#__PURE__*/_react.default.createElement(_MonthPicker.StyledInput, {
77
+ value: value,
78
+ onChange: onChangeEvent,
79
+ onFocus: handleFocus,
80
+ onBlur: handleBlur,
81
+ isFocused: isFocused,
82
+ borderColorFoucs: borderColorFoucs,
83
+ borderRadius: borderRadius,
84
+ width: width,
85
+ height: height,
86
+ placeholder: isFocused ? placeholder : '',
87
+ disabled: disabled,
88
+ borderColor: borderColor,
89
+ textColor: textColor
90
+ }), /*#__PURE__*/_react.default.createElement(_MonthPicker.CalendarDiv, {
91
+ width: width,
92
+ onClick: toggleDatePicker
93
+ }, isOpen === true ? /*#__PURE__*/_react.default.createElement(_CalendarInOpen.default, null) : /*#__PURE__*/_react.default.createElement(_Calendar.default, null)), /*#__PURE__*/_react.default.createElement(_MonthPopupPicker.default, {
94
+ isOpen: isOpen,
95
+ onChangeDate: onChangeDate,
96
+ value: value,
97
+ setValue: setValue,
98
+ startDateValue: startDateValue
99
+ }));
100
+ };
101
+ // Adding defaultProps
102
+ MonthPicker.defaultProps = {
103
+ required: true,
104
+ width: '200%',
105
+ height: '60px',
106
+ disabled: false,
107
+ placeholder: 'Enter here..',
108
+ borderColor: '#000000',
109
+ // Default borderColor prop value
110
+ borderColorFoucs: '#000000',
111
+ // Default borderColorFoucs prop value
112
+ textColor: '#000000' // Default textColor prop value
113
+ };
114
+ var _default = exports.default = MonthPicker;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.StyledLabel = exports.StyledInput = exports.RequiredIndicator = exports.EyeIcon = exports.ErrorLabel = exports.Container = exports.CalendarDiv = 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;
11
+ /* eslint-disable no-nested-ternary */
12
+ const Container = exports.Container = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n margin-bottom: 20px;\n width: ", ";\n height: ", ";\n"])), props => props.width || '100%', props => props.height || '60px');
13
+ const CalendarDiv = exports.CalendarDiv = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n width: 11px;\n height: 11px;\n top: ", ";\n right: 25px;\n"])), props => parseInt(props.height, 10) / 2 || '20px');
14
+ const StyledInput = exports.StyledInput = _styledComponents.default.input(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n padding: 10px;\n font-size: 14px;\n border: 1px solid\n ", ";\n border-radius: ", ";\n outline: none;\n width: ", ";\n height: ", ";\n transition: border-color 0.3s ease;\n color: var(--General-Grey, #B1B1B1);\n font-family: Poppins;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n box-sizing: border-box;\n color: ", ";\n cursor: ", ";\n\n &:focus {\n border-color: ", ";\n }\n"])), props => props.disabled ? '#bdbdbd' : props.error ? 'red' : props.isFocused ? props.borderColorFoucs : props.borderColor || '#bdbdbd', props => props.borderRadius || '4px', props => props.width || '90%', props => props.height || '60px', props => props.disabled ? '#888' : props.textColor || '#333', props => props.disabled ? 'not-allowed' : 'text', props => props.disabled ? '#bdbdbd' : props.borderColor || '#1976d2');
15
+ const StyledLabel = exports.StyledLabel = _styledComponents.default.label(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n font-size: ", ";\n padding-inline-end: 5px;\n padding-inline-start: 5px;\n margin-right: 20px;\n width: ", ";\n color: ", ";\n background-color: white;\n position: absolute;\n top: ", ";\n left: 10px;\n transform: translateY(-50%);\n transition: top 0.3s ease, font-size 0.3s ease;\n display: flex;\n font-family: Poppins;\n font-weight: 400;\n align-items: center;\n box-sizing: border-box;\n"])), props => props.isFocused || props.hasValue ? '12px' : '16px', props => props.isFocused || props.hasValue ? 'auto' : '150px', props => props.disabled ? '#888' : props.textColor || '#333', props => props.isFocused || props.hasValue ? '0px' : '50%');
16
+ const RequiredIndicator = exports.RequiredIndicator = _styledComponents.default.span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n color: red;\n margin-left: 5px;\n"])));
17
+ const EyeIcon = exports.EyeIcon = _styledComponents.default.div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n top: 50%;\n right: 10px;\n transform: translateY(-50%);\n cursor: pointer;\n color: ", ";\n\n &:hover {\n color: ", ";\n }\n"])), props => props.textColor || '#888', props => props.textColor || '#333');
18
+ const ErrorLabel = exports.ErrorLabel = _styledComponents.default.div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n font-size: 12px;\n color: red;\n margin-top: 5px;\n"])));
@@ -0,0 +1,116 @@
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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/taggedTemplateLiteral"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
12
+ var _ChervronRightIcon = _interopRequireDefault(require("./icons/ChervronRightIcon"));
13
+ var _ChervronLeftIcon = _interopRequireDefault(require("./icons/ChervronLeftIcon"));
14
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
15
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
16
+ /* eslint-disable jsx-a11y/click-events-have-key-events */
17
+ /* eslint-disable react/prop-types */
18
+ // Styled components for the date picker
19
+ const DatePickerContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n"])));
20
+ const DatePickerPopup = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n width: auto;\n margin: 5px;\n height: 250px;\n top: calc(100% + 5px);\n box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.15);\n left: 0;\n background-color: #fff;\n border: 1px solid #ccc;\n border-radius: 4px;\n padding: 10px;\n z-index: 1000;\n"])));
21
+ const DatePickerHeader = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n justify-content: space-between;\n margin-bottom: 10px;\n"])));
22
+ const NavDiv = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n width: 80px;\n height: 30px;\n display: flex;\n padding: 5px;\n justify-content: space-around;\n"])));
23
+ const DatePickerSelect = _styledComponents.default.select(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n padding: 4px;\n border: none;\n font-family: Poppins;\n font-size: 12px; \n font-style: normal;\n font-weight: 400;\n cursor: pointer;\n\n &:focus {\n border: none;\n }\n"])));
24
+ const DatePickerCalendar = _styledComponents.default.div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n display: grid;\n width: 220px;\n height: 150px;\n row-gap: 30px;\n margin: 20px;\n column-gap: 30px;\n grid-template-columns: repeat(4, 1fr);\n grid-template-rows: repeat(4, 1fr);\n"])));
25
+ const DateCell = _styledComponents.default.div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n aspect-ratio: 1 / 1;\n /* height: 32px; */\n font-family: Poppins;\n border-radius: 4px;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n transition: background-color 0.3s ease;\n\n &:hover {\n background: #f4faf5;\n }\n\n &.selected {\n background-color: #229e38;\n color: #fff;\n }\n &.startselected {\n border: 1px solid #229e38;\n }\n &.inrange {\n border-radius: 0px;\n background-color: #effef2;\n }\n"])));
26
+ const years = [2022, 2023, 2024];
27
+ const MonthPopupPicker = _ref => {
28
+ let {
29
+ isOpen,
30
+ onChangeDate,
31
+ value,
32
+ setValue,
33
+ startDateValue
34
+ } = _ref;
35
+ const [selectedMonth, setSelectedMonth] = (0, _react.useState)(null);
36
+ const [currentStartDate, setCurrentStartDate] = (0, _react.useState)(new Date(new Date().getFullYear(), 0, 1));
37
+ const handleDateSelect = date => {
38
+ setSelectedMonth(date);
39
+ onChangeDate(date);
40
+ };
41
+ const handlePrevMonth = () => {
42
+ const prevDate = currentStartDate ? new Date(currentStartDate) : new Date();
43
+ prevDate.setMonth(prevDate.getMonth() - 1);
44
+ setCurrentStartDate(prevDate);
45
+ };
46
+ const handleNextMonth = () => {
47
+ const nextDate = currentStartDate ? new Date(currentStartDate) : new Date();
48
+ nextDate.setMonth(nextDate.getMonth() + 1);
49
+ setCurrentStartDate(nextDate);
50
+ };
51
+ (0, _react.useEffect)(() => {
52
+ if (value === '' || value === undefined) {
53
+ setSelectedMonth(null);
54
+ } else {
55
+ setSelectedMonth(new Date(startDateValue));
56
+ }
57
+ }, [value, isOpen]);
58
+ const renderDatePicker = () => {
59
+ const currentDate = currentStartDate || new Date();
60
+ const endDate = new Date(new Date().getFullYear(), 11, 1);
61
+ const dates = [];
62
+ const tempDate = new Date(currentDate);
63
+ tempDate.setDate(1); // Start from the first day of the month
64
+ console.log('dates', tempDate, endDate);
65
+ while (tempDate <= endDate) {
66
+ dates.push(new Date(tempDate));
67
+ tempDate.setMonth(tempDate.getMonth() + 1); // Move to the next month
68
+ }
69
+
70
+ return /*#__PURE__*/_react.default.createElement(DatePickerPopup, null, /*#__PURE__*/_react.default.createElement(DatePickerHeader, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(DatePickerSelect, {
71
+ defaultValue: years.indexOf(currentDate.getFullYear()),
72
+ onChange: e => {
73
+ const newDate = new Date(currentDate);
74
+ newDate.setFullYear(parseInt(e.target.value, 10));
75
+ setCurrentStartDate(newDate);
76
+ setSelectedMonth(null);
77
+ setValue('');
78
+ }
79
+ }, years.map((year, index) => /*#__PURE__*/_react.default.createElement("option", {
80
+ key: "".concat(year),
81
+ value: index
82
+ }, year)))), /*#__PURE__*/_react.default.createElement(NavDiv, null, /*#__PURE__*/_react.default.createElement("div", {
83
+ onClick: handlePrevMonth
84
+ }, /*#__PURE__*/_react.default.createElement(_ChervronLeftIcon.default, null)), /*#__PURE__*/_react.default.createElement("div", {
85
+ onClick: handleNextMonth
86
+ }, /*#__PURE__*/_react.default.createElement(_ChervronRightIcon.default, null)))), /*#__PURE__*/_react.default.createElement(DatePickerCalendar, null, dates.map(date => {
87
+ if (selectedMonth && date.toLocaleString('default', {
88
+ month: 'short'
89
+ }) === selectedMonth.toLocaleString('default', {
90
+ month: 'short'
91
+ })) {
92
+ return /*#__PURE__*/_react.default.createElement(DateCell, {
93
+ key: date.toISOString(),
94
+ className: "selected",
95
+ onClick: () => handleDateSelect(date)
96
+ }, date.toLocaleString('default', {
97
+ month: 'short'
98
+ }));
99
+ }
100
+ if (date.getFullYear() === currentDate.getFullYear()) {
101
+ return /*#__PURE__*/_react.default.createElement(DateCell, {
102
+ key: date.toISOString(),
103
+ onClick: () => handleDateSelect(date)
104
+ }, date.toLocaleString('default', {
105
+ month: 'short'
106
+ }));
107
+ }
108
+ // if (date.getMonth() === currentDate.getMonth() - 1) {
109
+ // return <DateCell />;
110
+ // }
111
+ return null;
112
+ })));
113
+ };
114
+ return /*#__PURE__*/_react.default.createElement(DatePickerContainer, null, isOpen && renderDatePicker());
115
+ };
116
+ var _default = exports.default = MonthPopupPicker;
@@ -0,0 +1,114 @@
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 _moment = _interopRequireDefault(require("moment"));
11
+ var _Calendar = _interopRequireDefault(require("./icons/Calendar"));
12
+ var _CalendarInOpen = _interopRequireDefault(require("./icons/CalendarInOpen"));
13
+ var _QuarterPicker = require("./QuarterPicker.style");
14
+ var _QuarterPopupPicker = _interopRequireDefault(require("./QuarterPopupPicker"));
15
+ /* eslint-disable import/no-extraneous-dependencies */
16
+ /* eslint-disable react/require-default-props */
17
+ /* eslint-disable no-nested-ternary */
18
+ // CustomInput.js
19
+
20
+ const QuarterPicker = _ref => {
21
+ let {
22
+ label,
23
+ onChange,
24
+ borderRadius,
25
+ required,
26
+ width,
27
+ height,
28
+ placeholder,
29
+ disabled,
30
+ borderColor,
31
+ // Added borderColor prop
32
+ borderColorFoucs,
33
+ // Added borderColorFour prop
34
+ textColor // Added textColor prop
35
+ } = _ref;
36
+ const [isFocused, setIsFocused] = (0, _react.useState)(false);
37
+ const [isOpen, setIsOpen] = (0, _react.useState)(false);
38
+ const [value, setValue] = (0, _react.useState)(''); // Added value state
39
+ const [startDateValue, setStartDateValue] = (0, _react.useState)(null); // Added value state
40
+
41
+ const onChangeDate = startDate => {
42
+ if (startDate) {
43
+ setIsOpen(!isOpen);
44
+ setIsFocused(false);
45
+ setStartDateValue(startDate);
46
+ setValue("".concat((0, _moment.default)(startDate).format('MMMM | YYYY')));
47
+ }
48
+ };
49
+ const onChangeEvent = e => {
50
+ const dateArray = e.target.value;
51
+ const arr = dateArray.split(' - ');
52
+ const startDate = new Date(arr[0]);
53
+ setStartDateValue((0, _moment.default)(startDate).format('MM'));
54
+ onChange(e);
55
+ setValue(e.target.value);
56
+ };
57
+ const toggleDatePicker = () => {
58
+ setIsOpen(!isOpen);
59
+ };
60
+ const handleFocus = () => {
61
+ setIsFocused(true);
62
+ };
63
+ const handleBlur = () => {
64
+ setIsFocused(false);
65
+ };
66
+ return /*#__PURE__*/_react.default.createElement(_QuarterPicker.Container, {
67
+ onClick: handleFocus,
68
+ width: width,
69
+ height: height
70
+ }, /*#__PURE__*/_react.default.createElement(_QuarterPicker.StyledLabel, {
71
+ onClick: handleFocus,
72
+ isFocused: isFocused,
73
+ hasValue: value,
74
+ disabled: disabled,
75
+ textColor: textColor
76
+ }, label, required && /*#__PURE__*/_react.default.createElement(_QuarterPicker.RequiredIndicator, null, "*")), /*#__PURE__*/_react.default.createElement(_QuarterPicker.StyledInput, {
77
+ value: value,
78
+ onChange: onChangeEvent,
79
+ onFocus: handleFocus,
80
+ onBlur: handleBlur,
81
+ isFocused: isFocused,
82
+ borderColorFoucs: borderColorFoucs,
83
+ borderRadius: borderRadius,
84
+ width: width,
85
+ height: height,
86
+ placeholder: isFocused ? placeholder : '',
87
+ disabled: disabled,
88
+ borderColor: borderColor,
89
+ textColor: textColor
90
+ }), /*#__PURE__*/_react.default.createElement(_QuarterPicker.CalendarDiv, {
91
+ width: width,
92
+ onClick: toggleDatePicker
93
+ }, isOpen === true ? /*#__PURE__*/_react.default.createElement(_CalendarInOpen.default, null) : /*#__PURE__*/_react.default.createElement(_Calendar.default, null)), /*#__PURE__*/_react.default.createElement(_QuarterPopupPicker.default, {
94
+ isOpen: isOpen,
95
+ onChangeDate: onChangeDate,
96
+ value: value,
97
+ setValue: setValue,
98
+ startDateValue: startDateValue
99
+ }));
100
+ };
101
+ // Adding defaultProps
102
+ QuarterPicker.defaultProps = {
103
+ required: true,
104
+ width: '200%',
105
+ height: '60px',
106
+ disabled: false,
107
+ placeholder: 'Enter here..',
108
+ borderColor: '#000000',
109
+ // Default borderColor prop value
110
+ borderColorFoucs: '#000000',
111
+ // Default borderColorFoucs prop value
112
+ textColor: '#000000' // Default textColor prop value
113
+ };
114
+ var _default = exports.default = QuarterPicker;