intelicoreact 0.0.94 → 0.0.97

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 (162) hide show
  1. package/dist/Atomic/FormElements/Input/Input.js +3 -1
  2. package/dist/Atomic/FormElements/Input/Input.stories.js +5 -1
  3. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +23 -4
  4. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +3 -3
  5. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +16 -5
  6. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +7 -5
  7. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +29 -24
  8. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +13 -7
  9. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +427 -0
  10. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.scss +120 -0
  11. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.stories.js +56 -0
  12. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +11 -8
  13. package/dist/Atomic/FormElements/Spinner/Spinner.js +21 -0
  14. package/{src/Atomic/FormElements/Dropdown/components/DropdownLoader.scss → dist/Atomic/FormElements/Spinner/Spinner.scss} +8 -5
  15. package/dist/Atomic/FormElements/Spinner/Spinner.stories.js +34 -0
  16. package/dist/Atomic/UI/Calendar/Calendar.js +13 -12
  17. package/dist/Functions/customEventListener.js +66 -0
  18. package/dist/Functions/inputExecutor.js +7 -1
  19. package/dist/Functions/useMouseUpOutside.js +23 -0
  20. package/package.json +3 -2
  21. package/.babelrc +0 -12
  22. package/.eslintignore +0 -10
  23. package/.eslintrc.json +0 -93
  24. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.js +0 -28
  25. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +0 -107
  26. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +0 -26
  27. package/src/Atomic/FormElements/DateTime/DateTime.js +0 -18
  28. package/src/Atomic/FormElements/DateTime/DateTime.scss +0 -12
  29. package/src/Atomic/FormElements/DateTime/DateTime.stories.js +0 -17
  30. package/src/Atomic/FormElements/DoubleString/DoubleString.js +0 -13
  31. package/src/Atomic/FormElements/DoubleString/DoubleString.scss +0 -20
  32. package/src/Atomic/FormElements/DoubleString/DoubleString.stories.js +0 -18
  33. package/src/Atomic/FormElements/Dropdown/Dropdown.js +0 -178
  34. package/src/Atomic/FormElements/Dropdown/Dropdown.scss +0 -192
  35. package/src/Atomic/FormElements/Dropdown/Dropdown.stories.js +0 -87
  36. package/src/Atomic/FormElements/Dropdown/components/DropdownLoader.js +0 -17
  37. package/src/Atomic/FormElements/Header/Header.js +0 -67
  38. package/src/Atomic/FormElements/Header/Header.scss +0 -93
  39. package/src/Atomic/FormElements/Header/Header.stories.js +0 -30
  40. package/src/Atomic/FormElements/Input/Input.js +0 -186
  41. package/src/Atomic/FormElements/Input/Input.scss +0 -136
  42. package/src/Atomic/FormElements/Input/Input.stories.js +0 -94
  43. package/src/Atomic/FormElements/InputCalendar/InputCalendar.js +0 -73
  44. package/src/Atomic/FormElements/InputCalendar/InputCalendar.scss +0 -23
  45. package/src/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +0 -39
  46. package/src/Atomic/FormElements/InputDateRange/InputDateRange.js +0 -219
  47. package/src/Atomic/FormElements/InputDateRange/InputDateRange.scss +0 -624
  48. package/src/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +0 -63
  49. package/src/Atomic/FormElements/InputDateRange/components/Datepicker.js +0 -433
  50. package/src/Atomic/FormElements/InputDateRange/components/OpenedPart.js +0 -118
  51. package/src/Atomic/FormElements/InputDateRange/components/SelectItem.js +0 -24
  52. package/src/Atomic/FormElements/InputDateRange/dependencies.js +0 -161
  53. package/src/Atomic/FormElements/InputsRow/InputsRow.js +0 -112
  54. package/src/Atomic/FormElements/InputsRow/InputsRow.scss +0 -45
  55. package/src/Atomic/FormElements/InputsRow/InputsRow.stories.js +0 -34
  56. package/src/Atomic/FormElements/Label/Label.js +0 -13
  57. package/src/Atomic/FormElements/Label/Label.scss +0 -20
  58. package/src/Atomic/FormElements/Label/Label.stories.js +0 -23
  59. package/src/Atomic/FormElements/Modal/Modal.js +0 -69
  60. package/src/Atomic/FormElements/Modal/Modal.scss +0 -230
  61. package/src/Atomic/FormElements/Modal/Modal.stories.js +0 -116
  62. package/src/Atomic/FormElements/MultiSelect/MultiSelect.js +0 -39
  63. package/src/Atomic/FormElements/MultiSelect/MultiSelect.scss +0 -16
  64. package/src/Atomic/FormElements/MultiSelect/MultiSelect.stories.js +0 -28
  65. package/src/Atomic/FormElements/NavLine/NavLine.js +0 -67
  66. package/src/Atomic/FormElements/NavLine/NavLine.scss +0 -108
  67. package/src/Atomic/FormElements/NavLine/NavLine.stories.js +0 -108
  68. package/src/Atomic/FormElements/NumericInput/NumericInput.js +0 -263
  69. package/src/Atomic/FormElements/NumericInput/NumericInput.scss +0 -135
  70. package/src/Atomic/FormElements/NumericInput/NumericInput.stories.js +0 -78
  71. package/src/Atomic/FormElements/RadioInput/RadioInput.js +0 -28
  72. package/src/Atomic/FormElements/RadioInput/RadioInput.scss +0 -63
  73. package/src/Atomic/FormElements/RadioInput/RadioInput.stories.js +0 -23
  74. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.js +0 -146
  75. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +0 -101
  76. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +0 -54
  77. package/src/Atomic/FormElements/RangeInputs/RangeInputs.js +0 -41
  78. package/src/Atomic/FormElements/RangeInputs/RangeInputs.scss +0 -20
  79. package/src/Atomic/FormElements/RangeInputs/RangeInputs.stories.js +0 -23
  80. package/src/Atomic/FormElements/Switcher/Switcher.js +0 -24
  81. package/src/Atomic/FormElements/Switcher/Switcher.scss +0 -56
  82. package/src/Atomic/FormElements/Switcher/Switcher.stories.js +0 -22
  83. package/src/Atomic/FormElements/Table/Partials/TdCell.js +0 -47
  84. package/src/Atomic/FormElements/Table/Partials/TdHeader.js +0 -33
  85. package/src/Atomic/FormElements/Table/Partials/TdRow.js +0 -84
  86. package/src/Atomic/FormElements/Table/Partials/TdTitle.js +0 -38
  87. package/src/Atomic/FormElements/Table/Table.js +0 -50
  88. package/src/Atomic/FormElements/Table/Table.scss +0 -78
  89. package/src/Atomic/FormElements/Table/Table.stories.js +0 -102
  90. package/src/Atomic/FormElements/Table/TdTypes/TdActions.js +0 -59
  91. package/src/Atomic/FormElements/Table/TdTypes/TdPriority.js +0 -20
  92. package/src/Atomic/FormElements/Table/TdTypes/TdRange.js +0 -15
  93. package/src/Atomic/FormElements/Table/TdTypes/TdTypes.scss +0 -35
  94. package/src/Atomic/FormElements/Table/TdTypes/TdWeight.js +0 -43
  95. package/src/Atomic/FormElements/Tag/Tag.js +0 -24
  96. package/src/Atomic/FormElements/Tag/Tag.scss +0 -38
  97. package/src/Atomic/FormElements/Tag/Tag.stories.js +0 -30
  98. package/src/Atomic/FormElements/TagsDropdown/TagsDropdown.js +0 -108
  99. package/src/Atomic/FormElements/TagsDropdown/TagsDropdown.scss +0 -131
  100. package/src/Atomic/FormElements/TagsDropdown/TagsDropdown.stories.js +0 -44
  101. package/src/Atomic/FormElements/TextSwitcher/TextSwitcher.js +0 -18
  102. package/src/Atomic/FormElements/TextSwitcher/TextSwitcher.scss +0 -50
  103. package/src/Atomic/FormElements/TextSwitcher/TextSwitcher.stories.js +0 -21
  104. package/src/Atomic/FormElements/Textarea/Textarea.js +0 -19
  105. package/src/Atomic/FormElements/Textarea/Textarea.scss +0 -35
  106. package/src/Atomic/FormElements/Textarea/Textarea.stories.js +0 -24
  107. package/src/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +0 -66
  108. package/src/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.scss +0 -10
  109. package/src/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.stories.js +0 -57
  110. package/src/Atomic/FormElements/TimeRange/TimeRange.js +0 -55
  111. package/src/Atomic/FormElements/TimeRange/TimeRange.scss +0 -17
  112. package/src/Atomic/FormElements/TimeRange/TimeRange.stories.js +0 -21
  113. package/src/Atomic/MainMenu/MainMenu.js +0 -112
  114. package/src/Atomic/MainMenu/MainMenu.scss +0 -176
  115. package/src/Atomic/MainMenu/MainMenu.stories.js +0 -91
  116. package/src/Atomic/UI/Accordion/Accordion.js +0 -45
  117. package/src/Atomic/UI/Accordion/Accordion.scss +0 -73
  118. package/src/Atomic/UI/Accordion/Accordion.stories.js +0 -78
  119. package/src/Atomic/UI/Accordion/AccordionItem.js +0 -92
  120. package/src/Atomic/UI/AdvancedTag/AdvTag.js +0 -81
  121. package/src/Atomic/UI/AdvancedTag/AdvancedTags.js +0 -32
  122. package/src/Atomic/UI/AdvancedTag/AdvancedTags.scss +0 -72
  123. package/src/Atomic/UI/AdvancedTag/AdvancedTags.stories.js +0 -49
  124. package/src/Atomic/UI/Alert/Alert.js +0 -23
  125. package/src/Atomic/UI/Alert/Alert.scss +0 -65
  126. package/src/Atomic/UI/Alert/Alert.stories.js +0 -34
  127. package/src/Atomic/UI/Arrow/Arrow.js +0 -41
  128. package/src/Atomic/UI/Arrow/Arrow.scss +0 -19
  129. package/src/Atomic/UI/Arrow/Arrow.stories.js +0 -32
  130. package/src/Atomic/UI/Button/Button.js +0 -17
  131. package/src/Atomic/UI/Button/Button.scss +0 -108
  132. package/src/Atomic/UI/Button/Button.stories.js +0 -49
  133. package/src/Atomic/UI/Calendar/Calendar.js +0 -180
  134. package/src/Atomic/UI/Calendar/Calendar.scss +0 -607
  135. package/src/Atomic/UI/Calendar/Calendar.stories.js +0 -26
  136. package/src/Atomic/UI/Header/partials/default_ava.png +0 -0
  137. package/src/Atomic/UI/Hint/Hint.js +0 -34
  138. package/src/Atomic/UI/Hint/Hint.scss +0 -92
  139. package/src/Atomic/UI/Hint/Hint.stories.js +0 -34
  140. package/src/Atomic/UI/Price/Price.js +0 -20
  141. package/src/Atomic/UI/Price/Price.stories.js +0 -30
  142. package/src/Atomic/UI/Status/Status.js +0 -38
  143. package/src/Atomic/UI/Status/Status.scss +0 -69
  144. package/src/Atomic/UI/Status/Status.stories.js +0 -47
  145. package/src/Constants/index.constants.js +0 -41
  146. package/src/Functions/inputExecutor.js +0 -53
  147. package/src/Functions/schemas.js +0 -31
  148. package/src/Functions/useClickOutside.js +0 -15
  149. package/src/Functions/useToggle.js +0 -17
  150. package/src/Functions/utils.js +0 -51
  151. package/src/Molecular/Datepicker/Datepicker.js +0 -346
  152. package/src/Molecular/Datepicker/Datepicker.scss +0 -8
  153. package/src/Molecular/Datepicker/Datepicker.stories.js +0 -27
  154. package/src/Molecular/Datepicker/components/Calendar.js +0 -118
  155. package/src/Molecular/FormElements/FormElement.js +0 -18
  156. package/src/Molecular/FormElements/FormElement.scss +0 -8
  157. package/src/Molecular/FormElements/FormElement.stories.js +0 -59
  158. package/src/index.js +0 -3
  159. package/src/scss/_fonts.scss +0 -109
  160. package/src/scss/_vars.scss +0 -48
  161. package/src/scss/main.scss +0 -40
  162. package/webpack.config.js +0 -61
@@ -52,6 +52,8 @@ var Input = function Input(_ref) {
52
52
  className = _ref.className,
53
53
  _ref$type = _ref.type,
54
54
  type = _ref$type === void 0 ? 'text' : _ref$type,
55
+ _ref$softStringMode = _ref.softStringMode,
56
+ softStringMode = _ref$softStringMode === void 0 ? false : _ref$softStringMode,
55
57
  mask = _ref.mask,
56
58
  maskChar = _ref.maskChar,
57
59
  formatChars = _ref.formatChars,
@@ -103,7 +105,7 @@ var Input = function Input(_ref) {
103
105
 
104
106
  if (isOnlyNumber && !isTwoDigitAfterDot) inputValue = onlyNumbers(inputValue);
105
107
  if (isTwoDigitAfterDot) inputValue = onlyNumbers(inputValue, true);
106
- if (isOnlyString) inputValue = onlyString(inputValue);
108
+ if (isOnlyString) inputValue = onlyString(inputValue, softStringMode);
107
109
  onChange(inputValue.toString());
108
110
  },
109
111
  toggleEdit: function toggleEdit() {
@@ -43,9 +43,12 @@ var _default = {
43
43
  isOnlyNumber: {
44
44
  description: 'boolean - only numbers'
45
45
  },
46
- isOnlyString: {
46
+ softStringMode: {
47
47
  description: 'boolean - only strings'
48
48
  },
49
+ hardStringMode: {
50
+ description: 'boolean - soft or hard validation'
51
+ },
49
52
  isTwoDigitAfterDot: {
50
53
  description: 'boolean - only two digits after dot'
51
54
  },
@@ -114,6 +117,7 @@ InputTemplate.args = {
114
117
  disabled: false,
115
118
  error: '',
116
119
  mask: '',
120
+ softStringMode: true,
117
121
  withDelete: true,
118
122
  symbolsLimit: 255,
119
123
  placeholder: 'Placeholder',
@@ -33,6 +33,9 @@ var InputCalendar = function InputCalendar(_ref) {
33
33
  var value = _ref.value,
34
34
  minDate = _ref.minDate,
35
35
  maxDate = _ref.maxDate,
36
+ _ref$format = _ref.format,
37
+ format = _ref$format === void 0 ? 'MM/DD/YYYY' : _ref$format,
38
+ isDontLimitFuture = _ref.isDontLimitFuture,
36
39
  onChange = _ref.onChange,
37
40
  _ref$className = _ref.className,
38
41
  className = _ref$className === void 0 ? '' : _ref$className,
@@ -40,7 +43,6 @@ var InputCalendar = function InputCalendar(_ref) {
40
43
  placeholder = _ref$placeholder === void 0 ? 'mm/dd/yyyy' : _ref$placeholder,
41
44
  _ref$mask = _ref.mask,
42
45
  mask = _ref$mask === void 0 ? '99/99/9999' : _ref$mask,
43
- isDontLimitFuture = _ref.isDontLimitFuture,
44
46
  isListTop = _ref.isListTop,
45
47
  disabled = _ref.disabled;
46
48
 
@@ -50,6 +52,10 @@ var InputCalendar = function InputCalendar(_ref) {
50
52
  setIsOpened = _useState2[1];
51
53
 
52
54
  var calendarRef = (0, _react.useRef)(null);
55
+ var formatedMinDate = (0, _moment.default)(minDate).format(format) !== 'Invalid date' ? (0, _moment.default)(minDate).format(format) : null;
56
+ var formatedMaxDate = (0, _moment.default)(maxDate).format(format) !== 'Invalid date' ? (0, _moment.default)(maxDate).format(format) : null;
57
+ var momentMinDate = (0, _moment.default)(formatedMinDate, format).startOf('day');
58
+ var momentMaxDate = (0, _moment.default)(formatedMaxDate, format).startOf('day');
53
59
  (0, _useClickOutside.useClickOutside)(calendarRef, function () {
54
60
  return setIsOpened(false);
55
61
  });
@@ -68,6 +74,11 @@ var InputCalendar = function InputCalendar(_ref) {
68
74
  return (0, _moment.default)(new Date()).format('L');
69
75
  };
70
76
 
77
+ var handleBlur = function handleBlur(e) {
78
+ var value = e.target.value;
79
+ if ((0, _moment.default)(value).format(format) === 'Invalid date') onChange('');else if ((0, _moment.default)(value).startOf('day').isBefore(momentMinDate, 'days')) onChange(formatedMinDate);else if ((0, _moment.default)(value).endOf('day').isAfter(momentMaxDate, 'days')) onChange(formatedMaxDate);else onChange((0, _moment.default)(value).format(format));
80
+ };
81
+
71
82
  return /*#__PURE__*/_react.default.createElement("div", {
72
83
  className: (0, _classnames.default)('input__wrap calendar-container', className, {
73
84
  'calendar-container_disabled': disabled
@@ -83,6 +94,11 @@ var InputCalendar = function InputCalendar(_ref) {
83
94
  className: "calendar-dropdown",
84
95
  onFocus: function onFocus() {
85
96
  return setIsOpened(true);
97
+ },
98
+ onBlur: !isOpened ? handleBlur : function () {},
99
+ onKeyUp: function onKeyUp(e) {
100
+ if (e.key === 'Enter') e.target.blur();
101
+ setIsOpened(false);
86
102
  }
87
103
  }), isOpened ? /*#__PURE__*/_react.default.createElement(_Calendar.default, {
88
104
  date: getCalendarValue(value),
@@ -90,10 +106,13 @@ var InputCalendar = function InputCalendar(_ref) {
90
106
  return changeCalendarDay(newDate);
91
107
  },
92
108
  params: {
93
- minDate: minDate,
94
- maxDate: maxDate
109
+ format: format,
110
+ minDate: formatedMinDate,
111
+ maxDate: formatedMaxDate,
112
+ momentMinDate: momentMinDate,
113
+ momentMaxDate: momentMaxDate,
114
+ isDontLimitFuture: isDontLimitFuture
95
115
  },
96
- isDontLimitFuture: isDontLimitFuture,
97
116
  isListTop: isListTop,
98
117
  setIsOpened: setIsOpened
99
118
  }) : null);
@@ -72,8 +72,8 @@ var Template = function Template(args) {
72
72
  var CalendarTemplate = Template.bind({});
73
73
  exports.CalendarTemplate = CalendarTemplate;
74
74
  CalendarTemplate.args = {
75
- minDate: '01/01/1900',
76
- maxDate: '01/01/2100',
77
- isDontLimitFuture: true // isListTop: true,
75
+ minDate: '01/10/2022',
76
+ maxDate: '04/20/2022' // isDontLimitFuture: true,
77
+ // isListTop: true,
78
78
 
79
79
  };
@@ -59,7 +59,14 @@ var InputDateRange = function InputDateRange(props) {
59
59
  _props$minDate = props.minDate,
60
60
  minDate = _props$minDate === void 0 ? null : _props$minDate,
61
61
  _props$maxDate = props.maxDate,
62
- maxDate = _props$maxDate === void 0 ? null : _props$maxDate;
62
+ maxDate = _props$maxDate === void 0 ? null : _props$maxDate,
63
+ _props$format = props.format,
64
+ format = _props$format === void 0 ? 'MM/DD/YYYY' : _props$format,
65
+ isDontLimitFuture = props.isDontLimitFuture;
66
+ var formatedMinDate = (0, _momentTimezone.default)(minDate).format(format) !== 'Invalid date' ? (0, _momentTimezone.default)(minDate).format(format) : null;
67
+ var formatedMaxDate = (0, _momentTimezone.default)(maxDate).format(format) !== 'Invalid date' ? (0, _momentTimezone.default)(maxDate).format(format) : null;
68
+ var momentMinDate = (0, _momentTimezone.default)(formatedMinDate, format).startOf('day');
69
+ var momentMaxDate = (0, _momentTimezone.default)(formatedMaxDate, format).startOf('day');
63
70
  var actualValues = (0, _dependencies.getActualDateRange)(value);
64
71
 
65
72
  var _useToggle = (0, _dependencies.useToggle)(false),
@@ -211,14 +218,14 @@ var InputDateRange = function InputDateRange(props) {
211
218
  onClick: function onClick() {
212
219
  return handleArrowClick('left');
213
220
  },
214
- disabled: disabled || (actualValues === null || actualValues === void 0 ? void 0 : actualValues.intervalKey) === _dependencies.ALL_TIME_KEY
221
+ disabled: disabled || (actualValues === null || actualValues === void 0 ? void 0 : actualValues.intervalKey) === _dependencies.ALL_TIME_KEY || formatedMinDate && (0, _momentTimezone.default)(actualValues === null || actualValues === void 0 ? void 0 : actualValues.start).subtract((0, _momentTimezone.default)(actualValues === null || actualValues === void 0 ? void 0 : actualValues.end).diff(actualValues === null || actualValues === void 0 ? void 0 : actualValues.start, 'hours'), 'hours').isBefore(momentMinDate)
215
222
  }), /*#__PURE__*/_react.default.createElement(_Arrow.default, {
216
223
  type: "right",
217
224
  className: "date-range-input__arrow",
218
225
  onClick: function onClick() {
219
226
  return handleArrowClick('right');
220
227
  },
221
- disabled: disabled || (actualValues === null || actualValues === void 0 ? void 0 : actualValues.intervalKey) === _dependencies.ALL_TIME_KEY || (actualValues === null || actualValues === void 0 ? void 0 : actualValues.intervalKey) === 'today' || (0, _momentTimezone.default)(actualValues === null || actualValues === void 0 ? void 0 : actualValues.end).add((0, _momentTimezone.default)(actualValues === null || actualValues === void 0 ? void 0 : actualValues.end).diff(actualValues === null || actualValues === void 0 ? void 0 : actualValues.start, 'hours'), 'hours').isAfter((0, _momentTimezone.default)().add(1, 'day').startOf('day'))
228
+ disabled: disabled || (actualValues === null || actualValues === void 0 ? void 0 : actualValues.intervalKey) === _dependencies.ALL_TIME_KEY || !isDontLimitFuture && (formatedMaxDate ? (0, _momentTimezone.default)(actualValues === null || actualValues === void 0 ? void 0 : actualValues.end).endOf('day').subtract((0, _momentTimezone.default)(actualValues === null || actualValues === void 0 ? void 0 : actualValues.end).diff(actualValues === null || actualValues === void 0 ? void 0 : actualValues.start, 'hours'), 'hours').isAfter(momentMaxDate.startOf('day')) : (0, _momentTimezone.default)(actualValues === null || actualValues === void 0 ? void 0 : actualValues.end).add((0, _momentTimezone.default)(actualValues === null || actualValues === void 0 ? void 0 : actualValues.end).diff(actualValues === null || actualValues === void 0 ? void 0 : actualValues.start, 'hours'), 'hours').isAfter((0, _momentTimezone.default)().add(1, 'day').startOf('day')))
222
229
  }))), isToggled && !isUseAbs && /*#__PURE__*/_react.default.createElement(_OpenedPart.default, (0, _extends2.default)({}, props, {
223
230
  ref: internalContainerRef,
224
231
  actualValues: actualValues,
@@ -228,8 +235,12 @@ var InputDateRange = function InputDateRange(props) {
228
235
  setIsCompare: setIsCompare,
229
236
  toggleOff: toggleOff,
230
237
  onChange: handleChange,
231
- minDate: minDate ? (0, _momentTimezone.default)(minDate) : null,
232
- maxDate: maxDate ? (0, _momentTimezone.default)(maxDate) : null
238
+ minDate: formatedMinDate,
239
+ maxDate: formatedMaxDate,
240
+ format: format,
241
+ momentMinDate: momentMinDate,
242
+ momentMaxDate: momentMaxDate,
243
+ isDontLimitFuture: isDontLimitFuture
233
244
  })))), error && /*#__PURE__*/_react.default.createElement("span", {
234
245
  className: "date-range-input__error-block"
235
246
  }, error));
@@ -17,6 +17,8 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
17
17
 
18
18
  var _react = _interopRequireWildcard(require("react"));
19
19
 
20
+ var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
21
+
20
22
  var _InputDateRange = _interopRequireDefault(require("./InputDateRange"));
21
23
 
22
24
  var _Table = _interopRequireDefault(require("../Table/Table"));
@@ -48,9 +50,7 @@ var Template = function Template(args) {
48
50
  var _useState = (0, _react.useState)(dateRange),
49
51
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
50
52
  value = _useState2[0],
51
- setValue = _useState2[1]; // useEffect(() => console.log(value), [value]);
52
- // return <InputDateRange {...restOfProps} value={value} onChange={setValue} />;
53
-
53
+ setValue = _useState2[1];
54
54
 
55
55
  return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
56
56
  className: "mb20"
@@ -77,8 +77,10 @@ InputDateRangeTemplate.args = {
77
77
  error: false,
78
78
  disabled: false,
79
79
  isHoverable: false,
80
- minDate: "",
81
- maxDate: "",
80
+ // format: 'DD/MM/YYYY',
81
+ minDate: '01/10/2022',
82
+ maxDate: '04/20/2022',
83
+ // isDontLimitFuture: true,
82
84
  // short: true,
83
85
  isCompact: false,
84
86
  // isFocused: true,
@@ -68,10 +68,12 @@ var Datepicker = function Datepicker(props) {
68
68
  handleItemClick = props.handleItemClick,
69
69
  setActiveInterval = props.setActiveInterval,
70
70
  isShortWeekNames = props.isShortWeekNames,
71
- _props$minDate = props.minDate,
72
- minDate = _props$minDate === void 0 ? null : _props$minDate,
73
- _props$maxDate = props.maxDate,
74
- maxDate = _props$maxDate === void 0 ? null : _props$maxDate;
71
+ minDate = props.minDate,
72
+ maxDate = props.maxDate,
73
+ momentMinDate = props.momentMinDate,
74
+ momentMaxDate = props.momentMaxDate,
75
+ isDontLimitFuture = props.isDontLimitFuture,
76
+ format = props.format;
75
77
  var _values$start = values.start,
76
78
  start = _values$start === void 0 ? null : _values$start,
77
79
  _values$end = values.end,
@@ -348,18 +350,15 @@ var Datepicker = function Datepicker(props) {
348
350
  var newDate;
349
351
 
350
352
  if (!(0, _momentTimezone.default)(startDateInput).isValid()) {
351
- newDate = startDate;
353
+ newDate = (0, _momentTimezone.default)(startDate);
352
354
  } else {
353
- if (minDate && !(0, _momentTimezone.default)(startDateInput).isSameOrAfter(minDate)) {
354
- newDate = minDate;
355
- } else if (maxDate && !(0, _momentTimezone.default)(startDateInput).isSameOrBefore(maxDate)) {
356
- newDate = maxDate;
357
- } else {
358
- newDate = (0, _momentTimezone.default)(startDateInput);
359
- }
355
+ if (minDate && (0, _momentTimezone.default)(startDateInput).isBefore(minDate)) newDate = momentMinDate;else if (!isDontLimitFuture) {
356
+ var edge = maxDate ? momentMaxDate : (0, _momentTimezone.default)().add(1, 'day').startOf('day');
357
+ if ((0, _momentTimezone.default)(startDateInput).isAfter(edge)) newDate = edge;else newDate = (0, _momentTimezone.default)(startDateInput);
358
+ } else newDate = (0, _momentTimezone.default)(startDateInput);
360
359
  }
361
360
 
362
- setStartDateInput(newDate);
361
+ setStartDateInput(newDate.format(format));
363
362
  setStartDate(newDate.set('hour', parseInt(startHour, 10)).toDate());
364
363
  doBlur('start', e);
365
364
  setDate1((0, _momentTimezone.default)(newDate).isSameOrAfter((0, _momentTimezone.default)(date2), 'month') ? (0, _momentTimezone.default)(date2).subtract(1, 'month') : (0, _momentTimezone.default)(newDate));
@@ -377,19 +376,16 @@ var Datepicker = function Datepicker(props) {
377
376
  var newDate;
378
377
 
379
378
  if (!(0, _momentTimezone.default)(endDateInput).isValid()) {
380
- newDate = endDate;
379
+ newDate = (0, _momentTimezone.default)(endDate);
381
380
  } else {
382
- if (minDate && !(0, _momentTimezone.default)(endDateInput).isSameOrAfter(minDate)) {
383
- newDate = minDate;
384
- } else if (maxDate && !(0, _momentTimezone.default)(endDateInput).isSameOrBefore(maxDate)) {
385
- newDate = maxDate;
386
- } else {
387
- newDate = (0, _momentTimezone.default)(endDateInput);
388
- }
381
+ if (minDate && (0, _momentTimezone.default)(endDateInput).isBefore(minDate)) newDate = momentMinDate;else if (!isDontLimitFuture) {
382
+ var edge = maxDate ? momentMaxDate : (0, _momentTimezone.default)().endOf('day');
383
+ if ((0, _momentTimezone.default)(endDateInput).isAfter(edge)) newDate = maxDate ? edge : edge.startOf('day');else newDate = (0, _momentTimezone.default)(startDateInput);
384
+ } else newDate = (0, _momentTimezone.default)(startDateInput);
389
385
  }
390
386
 
391
387
  setEndDate(addDay(newDate.set('hour', parseInt(endHour, 10)).toDate()));
392
- setEndDateInput(newDate);
388
+ setEndDateInput(newDate.format(format));
393
389
  doBlur('end', e);
394
390
  setDate2(newDate);
395
391
  };
@@ -480,7 +476,11 @@ var Datepicker = function Datepicker(props) {
480
476
  onClick: handleClick,
481
477
  onHover: handleHover,
482
478
  limitRange: limitRange,
483
- isShortWeekNames: isShortWeekNames
479
+ isShortWeekNames: isShortWeekNames,
480
+ minDate: minDate,
481
+ maxDate: maxDate,
482
+ momentMinDate: momentMinDate,
483
+ momentMaxDate: momentMaxDate
484
484
  }), /*#__PURE__*/_react.default.createElement(_RangeCalendar.default, {
485
485
  className: "date-picker__calendar",
486
486
  date: date2,
@@ -492,7 +492,12 @@ var Datepicker = function Datepicker(props) {
492
492
  endPrevDate: endPrevDate,
493
493
  onClick: handleClick,
494
494
  onHover: handleHover,
495
- isShortWeekNames: isShortWeekNames
495
+ isShortWeekNames: isShortWeekNames,
496
+ minDate: minDate,
497
+ maxDate: maxDate,
498
+ momentMinDate: momentMinDate,
499
+ momentMaxDate: momentMaxDate,
500
+ isDontLimitFuture: isDontLimitFuture
496
501
  }))), /*#__PURE__*/_react.default.createElement("div", {
497
502
  className: (0, _classnames.default)('date-picker__footer', {
498
503
  'date-picker__footer_once-element': isCompareHidden
@@ -57,10 +57,12 @@ var OpenedPart = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
57
57
  setIsCompare = props.setIsCompare,
58
58
  toggleOff = props.toggleOff,
59
59
  isShortWeekNames = props.isShortWeekNames,
60
- _props$minDate = props.minDate,
61
- minDate = _props$minDate === void 0 ? null : _props$minDate,
62
- _props$maxDate = props.maxDate,
63
- maxDate = _props$maxDate === void 0 ? null : _props$maxDate;
60
+ minDate = props.minDate,
61
+ maxDate = props.maxDate,
62
+ format = props.format,
63
+ momentMinDate = props.momentMinDate,
64
+ momentMaxDate = props.momentMaxDate,
65
+ isDontLimitFuture = props.isDontLimitFuture;
64
66
 
65
67
  var items = isCompact ? (0, _toConsumableArray2.default)(Object.keys(_dependencies.INTERVALS)) : [].concat((0, _toConsumableArray2.default)(Object.keys(_dependencies.INTERVALS)), [_dependencies.CUSTOM_INTERVAL_KEY]);
66
68
 
@@ -118,7 +120,7 @@ var OpenedPart = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
118
120
  // { 'form-select-options--hoverable': isHoverable },
119
121
  )
120
122
  }, items.map(function (item, index) {
121
- var _intervals$item;
123
+ var _intervals$item, _intervals$item2, _intervals$item2$star, _intervals$item2$star2, _intervals$item2$star3;
122
124
 
123
125
  return /*#__PURE__*/_react.default.createElement(_SelectItem.default, {
124
126
  key: index,
@@ -128,7 +130,7 @@ var OpenedPart = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
128
130
  onItemClick: function onItemClick() {
129
131
  return handleItemClick(item.value || item);
130
132
  },
131
- disabled: item === _dependencies.CUSTOM_INTERVAL_KEY
133
+ disabled: item === _dependencies.CUSTOM_INTERVAL_KEY || minDate && ((_intervals$item2 = _dependencies.INTERVALS[item]) === null || _intervals$item2 === void 0 ? void 0 : (_intervals$item2$star = _intervals$item2.start) === null || _intervals$item2$star === void 0 ? void 0 : (_intervals$item2$star2 = _intervals$item2$star.call(_intervals$item2)) === null || _intervals$item2$star2 === void 0 ? void 0 : (_intervals$item2$star3 = _intervals$item2$star2.isBefore) === null || _intervals$item2$star3 === void 0 ? void 0 : _intervals$item2$star3.call(_intervals$item2$star2, momentMinDate))
132
134
  });
133
135
  })), !isCompact && /*#__PURE__*/_react.default.createElement(_Datepicker.default, {
134
136
  className: (0, _classnames.default)('opened-part__date-picker'),
@@ -154,7 +156,11 @@ var OpenedPart = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
154
156
  setActiveInterval: setActiveInterval,
155
157
  isShortWeekNames: isShortWeekNames,
156
158
  minDate: minDate,
157
- maxDate: maxDate
159
+ maxDate: maxDate,
160
+ format: format,
161
+ momentMinDate: momentMinDate,
162
+ momentMaxDate: momentMaxDate,
163
+ isDontLimitFuture: isDontLimitFuture
158
164
  })));
159
165
  });
160
166