sag_components 1.0.595 → 1.0.597

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 (115) hide show
  1. package/.history/.env_20231001120549 +0 -0
  2. package/.history/.env_20231001120613 +1 -0
  3. package/.history/.env_20231003143620 +1 -0
  4. package/.history/.eslintrc_20230928112617.js +26 -0
  5. package/.history/.eslintrc_20230928130534.js +27 -0
  6. package/.history/.eslintrc_20230928133400.js +28 -0
  7. package/.history/.eslintrc_20230928133404.js +28 -0
  8. package/.history/.eslintrc_20230928133416.js +28 -0
  9. package/.history/.eslintrc_20230928133419.js +28 -0
  10. package/.history/.eslintrc_20230928133432.js +28 -0
  11. package/.history/.eslintrc_20230928133439.js +28 -0
  12. package/.history/.eslintrc_20230928133458.js +29 -0
  13. package/.history/.eslintrc_20230928133500.js +28 -0
  14. package/.history/.eslintrc_20230928134009.js +28 -0
  15. package/.history/.eslintrc_20230928135318.js +34 -0
  16. package/.history/.eslintrc_20230928135321.js +34 -0
  17. package/.history/.eslintrc_20230928135323.js +34 -0
  18. package/.history/.eslintrc_20230928135332.js +34 -0
  19. package/.history/.eslintrc_20230928135333.js +34 -0
  20. package/.history/.eslintrc_20230928135352.js +29 -0
  21. package/.history/.eslintrc_20230928135353.js +29 -0
  22. package/.history/.eslintrc_20230928135355.js +29 -0
  23. package/.history/.eslintrc_20230928135408.js +29 -0
  24. package/.history/.eslintrc_20230928135538.js +30 -0
  25. package/.history/.eslintrc_20230928135539.js +30 -0
  26. package/.history/.eslintrc_20230928135543.js +30 -0
  27. package/.history/.gitignore_20230921093332 +119 -0
  28. package/.history/.gitignore_20230921111638 +120 -0
  29. package/.history/.gitignore_20230921111650 +120 -0
  30. package/.history/.gitignore_20230921111810 +121 -0
  31. package/.history/package-lock_20231114111138.json +47810 -0
  32. package/.history/package-lock_20231114111158.json +47802 -0
  33. package/.history/package_20231029152422.json +82 -0
  34. package/.history/package_20231029153420.json +82 -0
  35. package/.history/package_20231029154416.json +82 -0
  36. package/.history/package_20231030094127.json +82 -0
  37. package/.history/package_20231030114707.json +82 -0
  38. package/.history/package_20231030130704.json +82 -0
  39. package/.history/package_20231030132422.json +82 -0
  40. package/.history/package_20231030134051.json +82 -0
  41. package/.history/package_20231030142913.json +82 -0
  42. package/.history/package_20231030143556.json +82 -0
  43. package/.history/package_20231030144210.json +82 -0
  44. package/.history/package_20231101113942.json +82 -0
  45. package/.history/package_20231101114544.json +82 -0
  46. package/.history/package_20231101151518.json +82 -0
  47. package/.history/package_20231101154501.json +82 -0
  48. package/.history/package_20231101155811.json +82 -0
  49. package/.history/package_20231101160235.json +82 -0
  50. package/.history/package_20231101160406.json +82 -0
  51. package/.history/package_20231101161325.json +82 -0
  52. package/.history/package_20231101161333.json +82 -0
  53. package/.history/package_20231102123623.json +82 -0
  54. package/.history/package_20231102125741.json +82 -0
  55. package/.history/package_20231102130857.json +82 -0
  56. package/.history/package_20231102132227.json +82 -0
  57. package/.history/package_20231102142340.json +82 -0
  58. package/.history/package_20231102143256.json +82 -0
  59. package/.history/package_20231105153539.json +82 -0
  60. package/.history/package_20231105154332.json +82 -0
  61. package/.history/package_20231105171201.json +82 -0
  62. package/.history/package_20231106123849.json +82 -0
  63. package/.history/package_20231107170638.json +82 -0
  64. package/.history/package_20231109103647.json +82 -0
  65. package/.history/package_20231109103911.json +82 -0
  66. package/.history/package_20231109105426.json +82 -0
  67. package/.history/package_20231109132014.json +82 -0
  68. package/.history/package_20231109132115.json +82 -0
  69. package/.history/package_20231114100517.json +82 -0
  70. package/.history/package_20231114100859.json +82 -0
  71. package/.history/package_20231114101553.json +82 -0
  72. package/.history/package_20231114102545.json +82 -0
  73. package/.history/package_20231114111208.json +83 -0
  74. package/.history/package_20231114111515.json +83 -0
  75. package/.history/package_20231114112931.json +83 -0
  76. package/.history/package_20231114113014.json +83 -0
  77. package/.history/package_20231114113155.json +83 -0
  78. package/.history/package_20231114124318.json +83 -0
  79. package/.history/package_20231114125107.json +83 -0
  80. package/.history/package_20231114125510.json +83 -0
  81. package/.history/package_20231114132634.json +83 -0
  82. package/.history/package_20231116165815.json +83 -0
  83. package/.history/package_20231116165916.json +83 -0
  84. package/.history/package_20231119113637.json +83 -0
  85. package/.history/package_20231120100907.json +83 -0
  86. package/.history/package_20231121151523.json +77 -0
  87. package/.history/package_20231121155513.json +77 -0
  88. package/.history/package_20231121162434.json +77 -0
  89. package/.history/package_20231122100718.json +77 -0
  90. package/.history/package_20231128125149.json +82 -0
  91. package/.history/package_20231128125208.json +82 -0
  92. package/dist/stories/components/BarChartsByWeeks.js +1 -1
  93. package/dist/stories/components/BarChartsByWeeks.style.js +1 -1
  94. package/dist/stories/components/CollapseMenuItem.js +1 -1
  95. package/dist/stories/components/Dropdown.js +57 -53
  96. package/dist/stories/components/EventList.js +14 -14
  97. package/dist/stories/components/EventListItem.js +8 -9
  98. package/dist/stories/components/FilterButton.js +10 -4
  99. package/dist/stories/components/FilterButton.style.js +1 -1
  100. package/dist/stories/components/MonthPicker.js +106 -0
  101. package/dist/stories/components/MonthPicker.style.js +18 -0
  102. package/dist/stories/components/MonthPopupPicker.js +116 -0
  103. package/dist/stories/components/RangeDatePicker.js +137 -0
  104. package/dist/stories/components/RangePicker.js +111 -0
  105. package/dist/stories/components/RangePicker.style.js +18 -0
  106. package/dist/stories/components/Select.js +67 -44
  107. package/dist/stories/components/Select.style.js +8 -5
  108. package/dist/stories/components/TabMenu.js +6 -3
  109. package/dist/stories/components/icons/Calendar.js +20 -0
  110. package/dist/stories/components/icons/CalendarInOpen.js +26 -0
  111. package/dist/stories/components/icons/ChervronLeftIcon.js +20 -0
  112. package/dist/stories/components/icons/ChervronRightIcon.js +20 -0
  113. package/package.json +8 -7
  114. package/dist/stories/components/EventInfo.js +0 -92
  115. package/dist/stories/components/EventInfo.style.js +0 -20
@@ -0,0 +1,106 @@
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 _RangePicker = require("./RangePicker.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
+ textColor // Added textColor prop
33
+ } = _ref;
34
+ const [isFocused, setIsFocused] = (0, _react.useState)(false);
35
+ const [isOpen, setIsOpen] = (0, _react.useState)(false);
36
+ const [value, setValue] = (0, _react.useState)(''); // Added value state
37
+ const [startDateValue, setStartDateValue] = (0, _react.useState)(null); // Added value state
38
+
39
+ const onChangeDate = startDate => {
40
+ if (startDate) {
41
+ setIsOpen(!isOpen);
42
+ setIsFocused(false);
43
+ setStartDateValue(startDate);
44
+ setValue("".concat((0, _moment.default)(startDate).format('MMMM | YYYY')));
45
+ }
46
+ };
47
+ const onChangeEvent = e => {
48
+ const dateArray = e.target.value;
49
+ const arr = dateArray.split(' - ');
50
+ const startDate = new Date(arr[0]);
51
+ setStartDateValue((0, _moment.default)(startDate).format('MM'));
52
+ onChange(e);
53
+ setValue(e.target.value);
54
+ };
55
+ const toggleDatePicker = () => {
56
+ setIsOpen(!isOpen);
57
+ };
58
+ const handleFocus = () => {
59
+ setIsFocused(true);
60
+ };
61
+ const handleBlur = () => {
62
+ setIsFocused(false);
63
+ };
64
+ return /*#__PURE__*/_react.default.createElement(_RangePicker.Container, {
65
+ onClick: handleFocus,
66
+ width: width,
67
+ height: height
68
+ }, /*#__PURE__*/_react.default.createElement(_RangePicker.StyledLabel, {
69
+ onClick: handleFocus,
70
+ isFocused: isFocused,
71
+ hasValue: value,
72
+ disabled: disabled,
73
+ textColor: textColor
74
+ }, label, required && /*#__PURE__*/_react.default.createElement(_RangePicker.RequiredIndicator, null, "*")), /*#__PURE__*/_react.default.createElement(_RangePicker.StyledInput, {
75
+ value: value,
76
+ onChange: onChangeEvent,
77
+ onFocus: handleFocus,
78
+ onBlur: handleBlur,
79
+ borderRadius: borderRadius,
80
+ width: width,
81
+ height: height,
82
+ placeholder: isFocused ? placeholder : '',
83
+ disabled: disabled,
84
+ borderColor: borderColor,
85
+ textColor: textColor
86
+ }), /*#__PURE__*/_react.default.createElement(_RangePicker.CalendarDiv, {
87
+ onClick: toggleDatePicker
88
+ }, isOpen === true ? /*#__PURE__*/_react.default.createElement(_CalendarInOpen.default, null) : /*#__PURE__*/_react.default.createElement(_Calendar.default, null)), /*#__PURE__*/_react.default.createElement(_MonthPopupPicker.default, {
89
+ isOpen: isOpen,
90
+ onChangeDate: onChangeDate,
91
+ value: value,
92
+ startDateValue: startDateValue
93
+ }));
94
+ };
95
+ // Adding defaultProps
96
+ MonthPicker.defaultProps = {
97
+ required: true,
98
+ width: '200%',
99
+ height: '50px',
100
+ disabled: false,
101
+ placeholder: 'Enter here..',
102
+ borderColor: '#000000',
103
+ // Default borderColor prop value
104
+ textColor: '#000000' // Default textColor prop value
105
+ };
106
+ 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 || '40px');
13
+ const CalendarDiv = exports.CalendarDiv = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n top: 10px;\n right: 15px;\n"])));
14
+ const StyledInput = exports.StyledInput = _styledComponents.default.input(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n padding: 10px;\n font-size: 14px;\n border: 2px 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.borderColor || '#bdbdbd', props => props.borderRadius || '4px', props => props.width || '90%', props => props.height || '40px', 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: 220px;\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: 22px;\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
+ startDateValue
33
+ } = _ref;
34
+ const [selectedMonth, setSelectedMonth] = (0, _react.useState)(null);
35
+ const [currentStartDate, setCurrentStartDate] = (0, _react.useState)(new Date(new Date().getFullYear(), 0, 1));
36
+ const handleDateSelect = date => {
37
+ setSelectedMonth(date);
38
+ onChangeDate(date);
39
+ };
40
+ const handlePrevMonth = () => {
41
+ const prevDate = currentStartDate || currentEndDate ? new Date(currentStartDate || currentEndDate) : new Date();
42
+ prevDate.setMonth(prevDate.getMonth() - 1);
43
+ setCurrentStartDate(prevDate);
44
+ setCurrentEndDate(null);
45
+ };
46
+ const handleNextMonth = () => {
47
+ const nextDate = currentStartDate || currentEndDate ? new Date(currentStartDate || currentEndDate) : new Date();
48
+ nextDate.setMonth(nextDate.getMonth() + 1);
49
+ setCurrentStartDate(nextDate);
50
+ setCurrentEndDate(null);
51
+ };
52
+ (0, _react.useEffect)(() => {
53
+ if (value === '' || value === undefined) {
54
+ setSelectedMonth(null);
55
+ } else {
56
+ setSelectedMonth(new Date(startDateValue));
57
+ }
58
+ }, [value, isOpen]);
59
+ const renderDatePicker = () => {
60
+ const currentDate = currentStartDate || new Date();
61
+ const endDate = new Date(new Date().getFullYear(), 11, 1);
62
+ const dates = [];
63
+ const tempDate = new Date(currentDate);
64
+ tempDate.setDate(1); // Start from the first day of the month
65
+
66
+ while (tempDate <= endDate) {
67
+ dates.push(new Date(tempDate));
68
+ tempDate.setMonth(tempDate.getMonth() + 1); // Move to the next month
69
+ }
70
+
71
+ console.log('dates', currentDate.getFullYear());
72
+ return /*#__PURE__*/_react.default.createElement(DatePickerPopup, null, /*#__PURE__*/_react.default.createElement(DatePickerHeader, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(DatePickerSelect, {
73
+ defaultValue: years.indexOf(currentDate.getFullYear()),
74
+ onChange: e => {
75
+ const newDate = new Date(currentDate);
76
+ newDate.setFullYear(parseInt(e.target.value, 10));
77
+ setCurrentStartDate(newDate);
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,137 @@
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, _templateObject8, _templateObject9;
15
+ /* eslint-disable react/prop-types */
16
+ // Styled components for the date picker
17
+ const DatePickerContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n"])));
18
+ const DatePickerPopup = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n width: 260px;\n height: 410px;\n top: calc(100% + 5px);\n box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.15);\n width: 275px;\n left: 0;\n background-color: #fff;\n border: 1px solid #ccc;\n border-radius: 4px;\n padding: 10px;\n z-index: 1000;\n"])));
19
+ const DatePickerHeader = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n justify-content: space-between;\n margin-bottom: 10px;\n"])));
20
+ const DatePickerFooter = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n justify-content: end;\n margin-inline-end: 10px;\n margin-top: 10px;\n"])));
21
+ const ClearButton = _styledComponents.default.button(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n color: #568202;\n text-align: center;\n font-family: Poppins;\n font-size: 12px;\n background-color: transparent;\n font-style: normal;\n border: none;\n font-weight: 400;\n line-height: normal;\n text-transform: uppercase;\n"])));
22
+ const NavDiv = _styledComponents.default.div(_templateObject6 || (_templateObject6 = (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.div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n padding: 4px;\n border-radius: 4px;\n border: none;\n font-family: Poppins;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n cursor: pointer;\n"])));
24
+ const DatePickerCalendar = _styledComponents.default.div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["\n display: grid;\n width: 260px;\n height: 330px;\n row-gap: 12px;\n grid-template-columns: repeat(7, 1fr);\n"])));
25
+ const DateCell = _styledComponents.default.div(_templateObject9 || (_templateObject9 = (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 daysOfWeek = ['S', 'M', 'T', 'W', 'T', 'F', 'S'];
27
+ const months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
28
+ const DatePicker = _ref => {
29
+ let {
30
+ isOpen,
31
+ onChangeDate,
32
+ value,
33
+ setValue,
34
+ startDateValue,
35
+ endDateValue
36
+ } = _ref;
37
+ const [startDate, setStartDate] = (0, _react.useState)(null);
38
+ const [endDate, setEndDate] = (0, _react.useState)(null);
39
+ const [currentStartDate, setCurrentStartDate] = (0, _react.useState)(new Date());
40
+ const [currentEndDate, setCurrentEndDate] = (0, _react.useState)(null);
41
+ const handleDateSelect = date => {
42
+ if (!startDate) {
43
+ setStartDate(date);
44
+ setEndDate(null);
45
+ } else if (!endDate && date > startDate) {
46
+ setEndDate(date);
47
+ onChangeDate(startDate, date);
48
+ } else {
49
+ setStartDate(date);
50
+ setEndDate(null);
51
+ }
52
+ };
53
+ const handlePrevMonth = () => {
54
+ const prevDate = currentStartDate || currentEndDate ? new Date(currentStartDate || currentEndDate) : new Date();
55
+ prevDate.setMonth(prevDate.getMonth() - 1);
56
+ setCurrentStartDate(prevDate);
57
+ setCurrentEndDate(null);
58
+ };
59
+ const handleNextMonth = () => {
60
+ const nextDate = currentStartDate || currentEndDate ? new Date(currentStartDate || currentEndDate) : new Date();
61
+ nextDate.setMonth(nextDate.getMonth() + 1);
62
+ setCurrentStartDate(nextDate);
63
+ setCurrentEndDate(null);
64
+ };
65
+ (0, _react.useEffect)(() => {
66
+ console.log('dateArr', value);
67
+ if (value === '' || value === undefined) {
68
+ setStartDate(null);
69
+ setEndDate(null);
70
+ } else {
71
+ setStartDate(new Date(startDateValue));
72
+ setEndDate(new Date(endDateValue));
73
+ }
74
+ }, [value, isOpen]);
75
+ const renderDatePicker = () => {
76
+ const currentDate = currentStartDate || currentEndDate || new Date();
77
+ const daysInMonth = new Date(currentDate === null || currentDate === void 0 ? void 0 : currentDate.getFullYear(), currentDate.getMonth() + 1, 0).getDate();
78
+ const firstDayOfMonth = new Date(currentDate === null || currentDate === void 0 ? void 0 : currentDate.getFullYear(), currentDate.getMonth(), 1).getDay();
79
+ const startDateOfMonth = new Date(currentDate === null || currentDate === void 0 ? void 0 : currentDate.getFullYear(), currentDate.getMonth(), 1 - firstDayOfMonth);
80
+ const endDateOfMonth = new Date(currentDate === null || currentDate === void 0 ? void 0 : currentDate.getFullYear(), currentDate.getMonth(), daysInMonth + (6 - firstDayOfMonth));
81
+ const clearSelection = () => {
82
+ setStartDate(null);
83
+ setEndDate(null);
84
+ setValue('');
85
+ };
86
+ const dates = [];
87
+ const tempDate = new Date(startDateOfMonth);
88
+ while (tempDate <= endDateOfMonth) {
89
+ dates.push(new Date(tempDate));
90
+ tempDate.setDate(tempDate.getDate() + 1);
91
+ }
92
+ return /*#__PURE__*/_react.default.createElement(DatePickerPopup, null, /*#__PURE__*/_react.default.createElement(DatePickerHeader, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(DatePickerSelect, null, "".concat(months[currentDate.getMonth()], " ").concat(currentDate === null || currentDate === void 0 ? void 0 : currentDate.getFullYear()))), /*#__PURE__*/_react.default.createElement(NavDiv, null, /*#__PURE__*/_react.default.createElement("div", {
93
+ onClick: handlePrevMonth
94
+ }, /*#__PURE__*/_react.default.createElement(_ChervronLeftIcon.default, null)), /*#__PURE__*/_react.default.createElement("div", {
95
+ onClick: handleNextMonth
96
+ }, /*#__PURE__*/_react.default.createElement(_ChervronRightIcon.default, null)))), /*#__PURE__*/_react.default.createElement(DatePickerCalendar, null, daysOfWeek.map(day => /*#__PURE__*/_react.default.createElement(DateCell, {
97
+ key: day
98
+ }, day)), dates.map(date => {
99
+ // console.log('startDate', startDate,endDate,date);
100
+ if (startDate && endDate && (date.getTime() === startDate.getTime() || date.getTime() === endDate.getTime())) {
101
+ return /*#__PURE__*/_react.default.createElement(DateCell, {
102
+ key: date.toISOString(),
103
+ className: "selected",
104
+ onClick: () => handleDateSelect(date)
105
+ }, date.getDate());
106
+ }
107
+ if (startDate && endDate && date > startDate && date < endDate) {
108
+ return /*#__PURE__*/_react.default.createElement(DateCell, {
109
+ key: date.toISOString(),
110
+ className: "inrange",
111
+ onClick: () => handleDateSelect(date)
112
+ }, date.getDate());
113
+ }
114
+ if (startDate && date.getTime() === startDate.getTime()) {
115
+ return /*#__PURE__*/_react.default.createElement(DateCell, {
116
+ key: date.toISOString(),
117
+ className: "startselected",
118
+ onClick: () => handleDateSelect(date)
119
+ }, date.getDate());
120
+ }
121
+ if (date.getMonth() === currentDate.getMonth()) {
122
+ return /*#__PURE__*/_react.default.createElement(DateCell, {
123
+ key: date.toISOString(),
124
+ onClick: () => handleDateSelect(date)
125
+ }, date.getDate());
126
+ }
127
+ if (date.getMonth() === currentDate.getMonth() - 1) {
128
+ return /*#__PURE__*/_react.default.createElement(DateCell, null);
129
+ }
130
+ return null;
131
+ })), /*#__PURE__*/_react.default.createElement(DatePickerFooter, null, /*#__PURE__*/_react.default.createElement(ClearButton, {
132
+ onClick: clearSelection
133
+ }, "Clear")));
134
+ };
135
+ return /*#__PURE__*/_react.default.createElement(DatePickerContainer, null, isOpen && renderDatePicker());
136
+ };
137
+ var _default = exports.default = DatePicker;
@@ -0,0 +1,111 @@
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 _RangePicker = require("./RangePicker.style");
14
+ var _RangeDatePicker = _interopRequireDefault(require("./RangeDatePicker"));
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 RangePicker = _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
+ textColor // Added textColor prop
33
+ } = _ref;
34
+ const [isFocused, setIsFocused] = (0, _react.useState)(false);
35
+ const [isOpen, setIsOpen] = (0, _react.useState)(false);
36
+ const [value, setValue] = (0, _react.useState)(''); // Added value state
37
+ const [startDateValue, setStartDateValue] = (0, _react.useState)(null); // Added value state
38
+ const [endDateValue, setEndDateValue] = (0, _react.useState)(null); // Added value state
39
+ const onChangeDate = (startDate, endDate) => {
40
+ if (startDate && endDate) {
41
+ setIsOpen(!isOpen);
42
+ setIsFocused(false);
43
+ setStartDateValue(startDate);
44
+ setEndDateValue(endDate);
45
+ setValue("".concat((0, _moment.default)(startDate).format('DD/MM/YYYY'), " - ").concat((0, _moment.default)(endDate).format('DD/MM/YYYY')));
46
+ }
47
+ };
48
+ const onChangeEvent = e => {
49
+ const dateArray = e.target.value;
50
+ const arr = dateArray.split(' - ');
51
+ const startDate = new Date(arr[0]);
52
+ const endDate = new Date(arr[1]);
53
+ setStartDateValue((0, _moment.default)(startDate).format('DD/MM/YYYY'));
54
+ setEndDateValue((0, _moment.default)(endDate).format('DD/MM/YYYY'));
55
+ onChange(e);
56
+ setValue(e.target.value);
57
+ };
58
+ const toggleDatePicker = () => {
59
+ setIsOpen(!isOpen);
60
+ };
61
+ const handleFocus = () => {
62
+ setIsFocused(true);
63
+ };
64
+ const handleBlur = () => {
65
+ setIsFocused(false);
66
+ };
67
+ return /*#__PURE__*/_react.default.createElement(_RangePicker.Container, {
68
+ onClick: handleFocus,
69
+ width: width,
70
+ height: height
71
+ }, /*#__PURE__*/_react.default.createElement(_RangePicker.StyledLabel, {
72
+ onClick: handleFocus,
73
+ isFocused: isFocused,
74
+ hasValue: value,
75
+ disabled: disabled,
76
+ textColor: textColor
77
+ }, label, required && /*#__PURE__*/_react.default.createElement(_RangePicker.RequiredIndicator, null, "*")), /*#__PURE__*/_react.default.createElement(_RangePicker.StyledInput, {
78
+ value: value,
79
+ onChange: onChangeEvent,
80
+ onFocus: handleFocus,
81
+ onBlur: handleBlur,
82
+ borderRadius: borderRadius,
83
+ width: width,
84
+ height: height,
85
+ placeholder: isFocused ? placeholder : '',
86
+ disabled: disabled,
87
+ borderColor: borderColor,
88
+ textColor: textColor
89
+ }), /*#__PURE__*/_react.default.createElement(_RangePicker.CalendarDiv, {
90
+ onClick: toggleDatePicker
91
+ }, isOpen === true ? /*#__PURE__*/_react.default.createElement(_CalendarInOpen.default, null) : /*#__PURE__*/_react.default.createElement(_Calendar.default, null)), /*#__PURE__*/_react.default.createElement(_RangeDatePicker.default, {
92
+ isOpen: isOpen,
93
+ onChangeDate: onChangeDate,
94
+ value: value,
95
+ setValue: setValue,
96
+ startDateValue: startDateValue,
97
+ endDateValue: endDateValue
98
+ }));
99
+ };
100
+ // Adding defaultProps
101
+ RangePicker.defaultProps = {
102
+ required: true,
103
+ width: '200%',
104
+ height: '50px',
105
+ disabled: false,
106
+ placeholder: 'Enter here..',
107
+ borderColor: '#000000',
108
+ // Default borderColor prop value
109
+ textColor: '#000000' // Default textColor prop value
110
+ };
111
+ var _default = exports.default = RangePicker;
@@ -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 || '40px');
13
+ const CalendarDiv = exports.CalendarDiv = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n top: 10px;\n right: 15px;\n"])));
14
+ const StyledInput = exports.StyledInput = _styledComponents.default.input(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n padding: 10px;\n font-size: 14px;\n border: 2px 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.borderColor || '#bdbdbd', props => props.borderRadius || '4px', props => props.width || '90%', props => props.height || '40px', 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"])));