intelicoreact 0.0.3 → 0.0.7

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 (227) hide show
  1. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +6 -2
  2. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +92 -63
  3. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +2 -4
  4. package/dist/Atomic/FormElements/DateTime/DateTime.stories.js +1 -3
  5. package/dist/Atomic/FormElements/DoubleString/DoubleString.stories.js +0 -2
  6. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +56 -25
  7. package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +26 -3
  8. package/dist/Atomic/FormElements/Dropdown/Dropdown.stories.js +40 -11
  9. package/dist/Atomic/FormElements/Header/Header.js +7 -9
  10. package/dist/Atomic/FormElements/Header/Header.scss +16 -5
  11. package/dist/Atomic/FormElements/Header/Header.stories.js +0 -2
  12. package/dist/Atomic/FormElements/Input/Input.js +101 -98
  13. package/dist/Atomic/FormElements/Input/Input.scss +26 -19
  14. package/dist/Atomic/FormElements/Input/Input.stories.js +48 -27
  15. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +89 -0
  16. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +46 -0
  17. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +259 -0
  18. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.scss +594 -0
  19. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +244 -0
  20. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +489 -0
  21. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +156 -0
  22. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +46 -0
  23. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +249 -0
  24. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +29 -6
  25. package/dist/Atomic/FormElements/InputsRow/InputsRow.scss +1 -3
  26. package/dist/Atomic/FormElements/InputsRow/InputsRow.stories.js +0 -2
  27. package/dist/Atomic/FormElements/Label/Label.js +4 -13
  28. package/dist/Atomic/FormElements/Label/Label.scss +3 -3
  29. package/dist/Atomic/FormElements/Label/Label.stories.js +5 -6
  30. package/dist/Atomic/FormElements/Modal/Modal.js +5 -7
  31. package/dist/Atomic/FormElements/Modal/Modal.scss +61 -7
  32. package/dist/Atomic/FormElements/Modal/Modal.stories.js +64 -18
  33. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +3 -5
  34. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.scss +1 -3
  35. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.stories.js +0 -2
  36. package/dist/Atomic/FormElements/NavLine/NavLine.js +1 -1
  37. package/dist/Atomic/FormElements/NavLine/NavLine.scss +4 -6
  38. package/dist/Atomic/FormElements/NavLine/NavLine.stories.js +20 -12
  39. package/dist/Atomic/FormElements/RadioInput/RadioInput.stories.js +0 -2
  40. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +167 -0
  41. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +101 -0
  42. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +81 -0
  43. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.stories.js +0 -2
  44. package/dist/Atomic/FormElements/Switcher/Switcher.stories.js +0 -2
  45. package/dist/Atomic/FormElements/Table/Partials/TdHeader.js +2 -2
  46. package/dist/Atomic/FormElements/Table/Table.scss +1 -1
  47. package/dist/Atomic/FormElements/Table/TdTypes/TdActions.js +4 -4
  48. package/dist/Atomic/FormElements/Table/TdTypes/TdPriority.js +2 -2
  49. package/dist/Atomic/FormElements/Table/TdTypes/TdTypes.scss +4 -6
  50. package/dist/Atomic/FormElements/Table/TdTypes/TdWeight.js +2 -2
  51. package/dist/Atomic/FormElements/Tag/Tag.js +1 -1
  52. package/dist/Atomic/FormElements/Tag/Tag.stories.js +0 -2
  53. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +2 -2
  54. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.stories.js +0 -2
  55. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.stories.js +0 -2
  56. package/dist/Atomic/FormElements/Textarea/Textarea.scss +1 -1
  57. package/dist/Atomic/FormElements/Textarea/Textarea.stories.js +0 -2
  58. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +1 -1
  59. package/dist/Atomic/FormElements/TimeRange/TimeRange.stories.js +0 -2
  60. package/dist/Atomic/MainMenu/MainMenu.js +3 -3
  61. package/dist/Atomic/MainMenu/MainMenu.scss +2 -2
  62. package/dist/Atomic/MainMenu/MainMenu.stories.js +11 -11
  63. package/dist/Atomic/UI/Accordion/Accordion.scss +2 -2
  64. package/dist/Atomic/UI/Accordion/Accordion.stories.js +4 -4
  65. package/dist/Atomic/UI/Accordion/AccordionItem.js +1 -1
  66. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +3 -3
  67. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +4 -3
  68. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.scss +3 -5
  69. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.stories.js +1 -3
  70. package/dist/Atomic/UI/Alert/Alert.scss +7 -0
  71. package/dist/Atomic/UI/Alert/Alert.stories.js +1 -3
  72. package/dist/Atomic/UI/Arrow/Arrow.js +80 -0
  73. package/dist/Atomic/UI/Arrow/Arrow.scss +19 -0
  74. package/dist/Atomic/UI/Arrow/Arrow.stories.js +46 -0
  75. package/dist/Atomic/UI/Button/Button.js +10 -19
  76. package/dist/Atomic/UI/Button/Button.scss +69 -41
  77. package/dist/Atomic/UI/Button/Button.stories.js +9 -25
  78. package/dist/Atomic/UI/Calendar/Calendar.js +146 -0
  79. package/dist/Atomic/UI/Calendar/Calendar.scss +544 -0
  80. package/dist/Atomic/UI/Calendar/Calendar.stories.js +38 -0
  81. package/dist/Atomic/UI/Header/partials/default_ava.png +0 -0
  82. package/dist/Atomic/UI/Hint/Hint.js +8 -13
  83. package/dist/Atomic/UI/Hint/Hint.scss +8 -12
  84. package/dist/Atomic/UI/Hint/Hint.stories.js +3 -4
  85. package/dist/Atomic/UI/Price/Price.js +33 -0
  86. package/dist/Atomic/UI/Price/Price.stories.js +42 -0
  87. package/dist/Atomic/UI/Status/Status.scss +1 -1
  88. package/dist/Atomic/UI/Status/Status.stories.js +4 -3
  89. package/dist/Functions/useClickOutside.js +25 -0
  90. package/dist/Functions/utils.js +10 -2
  91. package/dist/Molecular/Datepicker/Datepicker.js +451 -0
  92. package/dist/Molecular/Datepicker/Datepicker.scss +8 -0
  93. package/dist/Molecular/Datepicker/Datepicker.stories.js +44 -0
  94. package/dist/Molecular/Datepicker/components/Calendar.js +156 -0
  95. package/dist/Molecular/FormElements/FormElement.js +40 -0
  96. package/dist/Molecular/FormElements/FormElement.scss +8 -0
  97. package/dist/Molecular/FormElements/FormElement.stories.js +73 -0
  98. package/dist/scss/_vars.scss +3 -1
  99. package/dist/scss/main.scss +3 -3
  100. package/package.json +11 -6
  101. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.js +12 -2
  102. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +92 -63
  103. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +5 -6
  104. package/src/Atomic/FormElements/DateTime/DateTime.stories.js +1 -3
  105. package/src/Atomic/FormElements/DoubleString/DoubleString.stories.js +0 -2
  106. package/src/Atomic/FormElements/Dropdown/Dropdown.js +70 -29
  107. package/src/Atomic/FormElements/Dropdown/Dropdown.scss +26 -3
  108. package/src/Atomic/FormElements/Dropdown/Dropdown.stories.js +37 -16
  109. package/src/Atomic/FormElements/Header/Header.js +8 -9
  110. package/src/Atomic/FormElements/Header/Header.scss +16 -5
  111. package/src/Atomic/FormElements/Header/Header.stories.js +0 -2
  112. package/src/Atomic/FormElements/Input/Input.js +83 -73
  113. package/src/Atomic/FormElements/Input/Input.scss +26 -19
  114. package/src/Atomic/FormElements/Input/Input.stories.js +34 -29
  115. package/src/Atomic/FormElements/InputCalendar/InputCalendar.js +43 -0
  116. package/src/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +27 -0
  117. package/src/Atomic/FormElements/InputDateRange/InputDateRange.js +241 -0
  118. package/src/Atomic/FormElements/InputDateRange/InputDateRange.scss +594 -0
  119. package/src/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +149 -0
  120. package/src/Atomic/FormElements/InputDateRange/components/Datepicker.js +409 -0
  121. package/src/Atomic/FormElements/InputDateRange/components/OpenedPart.js +114 -0
  122. package/src/Atomic/FormElements/InputDateRange/components/SelectItem.js +24 -0
  123. package/src/Atomic/FormElements/InputDateRange/dependencies.js +161 -0
  124. package/src/Atomic/FormElements/InputsRow/InputsRow.js +28 -5
  125. package/src/Atomic/FormElements/InputsRow/InputsRow.scss +1 -3
  126. package/src/Atomic/FormElements/InputsRow/InputsRow.stories.js +0 -2
  127. package/src/Atomic/FormElements/Label/Label.js +3 -6
  128. package/src/Atomic/FormElements/Label/Label.scss +3 -3
  129. package/src/Atomic/FormElements/Label/Label.stories.js +6 -6
  130. package/src/Atomic/FormElements/Modal/Modal.js +5 -8
  131. package/src/Atomic/FormElements/Modal/Modal.scss +61 -7
  132. package/src/Atomic/FormElements/Modal/Modal.stories.js +60 -15
  133. package/src/Atomic/FormElements/MultiSelect/MultiSelect.js +3 -5
  134. package/src/Atomic/FormElements/MultiSelect/MultiSelect.scss +1 -3
  135. package/src/Atomic/FormElements/MultiSelect/MultiSelect.stories.js +1 -2
  136. package/src/Atomic/FormElements/NavLine/NavLine.js +3 -3
  137. package/src/Atomic/FormElements/NavLine/NavLine.scss +4 -6
  138. package/src/Atomic/FormElements/NavLine/NavLine.stories.js +23 -13
  139. package/src/Atomic/FormElements/RadioInput/RadioInput.stories.js +0 -2
  140. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.js +146 -0
  141. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +101 -0
  142. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +54 -0
  143. package/src/Atomic/FormElements/RangeInputs/RangeInputs.stories.js +0 -1
  144. package/src/Atomic/FormElements/Switcher/Switcher.stories.js +0 -2
  145. package/src/Atomic/FormElements/Table/Partials/TdHeader.js +1 -1
  146. package/src/Atomic/FormElements/Table/Table.scss +1 -1
  147. package/src/Atomic/FormElements/Table/TdTypes/TdActions.js +4 -4
  148. package/src/Atomic/FormElements/Table/TdTypes/TdPriority.js +3 -3
  149. package/src/Atomic/FormElements/Table/TdTypes/TdTypes.scss +4 -6
  150. package/src/Atomic/FormElements/Table/TdTypes/TdWeight.js +2 -2
  151. package/src/Atomic/FormElements/Tag/Tag.js +2 -2
  152. package/src/Atomic/FormElements/Tag/Tag.stories.js +0 -2
  153. package/src/Atomic/FormElements/TagsDropdown/TagsDropdown.js +3 -3
  154. package/src/Atomic/FormElements/TagsDropdown/TagsDropdown.stories.js +0 -2
  155. package/src/Atomic/FormElements/TextSwitcher/TextSwitcher.stories.js +0 -2
  156. package/src/Atomic/FormElements/Textarea/Textarea.scss +1 -1
  157. package/src/Atomic/FormElements/Textarea/Textarea.stories.js +0 -2
  158. package/src/Atomic/FormElements/TimeRange/TimeRange.js +1 -1
  159. package/src/Atomic/FormElements/TimeRange/TimeRange.stories.js +0 -2
  160. package/src/Atomic/MainMenu/MainMenu.js +3 -3
  161. package/src/Atomic/MainMenu/MainMenu.scss +2 -2
  162. package/src/Atomic/MainMenu/MainMenu.stories.js +11 -11
  163. package/src/Atomic/UI/Accordion/Accordion.scss +2 -2
  164. package/src/Atomic/UI/Accordion/Accordion.stories.js +4 -4
  165. package/src/Atomic/UI/Accordion/AccordionItem.js +1 -1
  166. package/src/Atomic/UI/AdvancedTag/AdvTag.js +3 -3
  167. package/src/Atomic/UI/AdvancedTag/AdvancedTags.js +3 -3
  168. package/src/Atomic/UI/AdvancedTag/AdvancedTags.scss +3 -5
  169. package/src/Atomic/UI/AdvancedTag/AdvancedTags.stories.js +1 -3
  170. package/src/Atomic/UI/Alert/Alert.scss +7 -0
  171. package/src/Atomic/UI/Alert/Alert.stories.js +1 -3
  172. package/src/Atomic/UI/Arrow/Arrow.js +41 -0
  173. package/src/Atomic/UI/Arrow/Arrow.scss +19 -0
  174. package/src/Atomic/UI/Arrow/Arrow.stories.js +32 -0
  175. package/src/Atomic/UI/Button/Button.js +6 -10
  176. package/src/Atomic/UI/Button/Button.scss +69 -41
  177. package/src/Atomic/UI/Button/Button.stories.js +9 -25
  178. package/src/Atomic/UI/Calendar/Calendar.js +109 -0
  179. package/src/Atomic/UI/Calendar/Calendar.scss +544 -0
  180. package/src/Atomic/UI/Calendar/Calendar.stories.js +24 -0
  181. package/src/Atomic/UI/Header/partials/default_ava.png +0 -0
  182. package/src/Atomic/UI/Hint/Hint.js +6 -9
  183. package/src/Atomic/UI/Hint/Hint.scss +8 -12
  184. package/src/Atomic/UI/Hint/Hint.stories.js +3 -3
  185. package/src/Atomic/UI/Price/Price.js +20 -0
  186. package/src/Atomic/UI/Price/Price.stories.js +30 -0
  187. package/src/Atomic/UI/Status/Status.scss +1 -1
  188. package/src/Atomic/UI/Status/Status.stories.js +4 -3
  189. package/src/Functions/useClickOutside.js +15 -0
  190. package/src/Functions/utils.js +6 -0
  191. package/src/Molecular/Datepicker/Datepicker.js +346 -0
  192. package/src/Molecular/Datepicker/Datepicker.scss +8 -0
  193. package/src/Molecular/Datepicker/Datepicker.stories.js +27 -0
  194. package/src/Molecular/Datepicker/components/Calendar.js +118 -0
  195. package/src/Molecular/FormElements/FormElement.js +18 -0
  196. package/src/Molecular/FormElements/FormElement.scss +8 -0
  197. package/src/Molecular/FormElements/FormElement.stories.js +59 -0
  198. package/src/scss/_vars.scss +3 -1
  199. package/src/scss/main.scss +3 -3
  200. package/dist/scss/anme/_anme-bootstrap-grid.scss +0 -748
  201. package/dist/scss/anme/_anme-elements.scss +0 -269
  202. package/dist/scss/anme/_anme-grid.scss +0 -111
  203. package/dist/scss/anme/_anme-justify.scss +0 -111
  204. package/dist/scss/anme/_anme-mixins-media.scss +0 -116
  205. package/dist/scss/anme/_anme-mixins.scss +0 -166
  206. package/dist/scss/anme/_anme-normalize.scss +0 -8
  207. package/dist/scss/anme/_anme-overall.scss +0 -34
  208. package/dist/scss/anme/_anme-padding-margins.scss +0 -419
  209. package/dist/scss/anme/_anme-table.scss +0 -81
  210. package/dist/scss/anme/_anme-theme.scss +0 -275
  211. package/dist/scss/anme/_anme-vars.scss +0 -91
  212. package/dist/scss/anme/_code-styling.scss +0 -23
  213. package/dist/scss/anme/styles.scss +0 -12
  214. package/src/scss/anme/_anme-bootstrap-grid.scss +0 -748
  215. package/src/scss/anme/_anme-elements.scss +0 -269
  216. package/src/scss/anme/_anme-grid.scss +0 -111
  217. package/src/scss/anme/_anme-justify.scss +0 -111
  218. package/src/scss/anme/_anme-mixins-media.scss +0 -116
  219. package/src/scss/anme/_anme-mixins.scss +0 -166
  220. package/src/scss/anme/_anme-normalize.scss +0 -8
  221. package/src/scss/anme/_anme-overall.scss +0 -34
  222. package/src/scss/anme/_anme-padding-margins.scss +0 -419
  223. package/src/scss/anme/_anme-table.scss +0 -81
  224. package/src/scss/anme/_anme-theme.scss +0 -275
  225. package/src/scss/anme/_anme-vars.scss +0 -91
  226. package/src/scss/anme/_code-styling.scss +0 -23
  227. package/src/scss/anme/styles.scss +0 -12
@@ -0,0 +1,489 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
19
+
20
+ var _classnames = _interopRequireDefault(require("classnames"));
21
+
22
+ var _dependencies = require("../dependencies");
23
+
24
+ var _Dropdown = _interopRequireDefault(require("../../Dropdown/Dropdown"));
25
+
26
+ var _Input = _interopRequireDefault(require("../../Input/Input"));
27
+
28
+ var _Button = _interopRequireDefault(require("../../../UI/Button/Button"));
29
+
30
+ var _RangeCalendar = _interopRequireDefault(require("../../RangeCalendar/RangeCalendar"));
31
+
32
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
+
34
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
+
36
+ // eslint-disable-next-line no-unused-vars
37
+ // import Switcher from '../../Switcher/Switcher';
38
+ var padTime = function padTime(time) {
39
+ return "".concat(time.toString().padStart(2, '0'), ":00");
40
+ };
41
+
42
+ var handleDateInputOnChange = function handleDateInputOnChange(value) {
43
+ var replace = function replace(val) {
44
+ return val.replace(/[^0-9\/]/g, '');
45
+ };
46
+
47
+ var input = replace(value);
48
+ var lastSymbol = input ? input.slice(-1) : '';
49
+ var previousValue = input ? input.slice(0, input.length - 1) : '';
50
+ if (value.length > 10 || lastSymbol === '/') return previousValue;
51
+ return previousValue.length === 2 || previousValue.length === 5 ? previousValue + '/' + lastSymbol : input;
52
+ };
53
+
54
+ var Datepicker = function Datepicker(props) {
55
+ var txt = props.txt,
56
+ className = props.className,
57
+ _props$buttonsTypes = props.buttonsTypes,
58
+ buttonsTypes = _props$buttonsTypes === void 0 ? {} : _props$buttonsTypes,
59
+ _props$values = props.values,
60
+ values = _props$values === void 0 ? {} : _props$values,
61
+ onChange = props.onChange,
62
+ onChangeCompare = props.onChangeCompare,
63
+ onCancel = props.onCancel,
64
+ getSelectedMode = props.getSelectedMode,
65
+ onChangeInterval = props.onChangeInterval,
66
+ isCompareHidden = props.isCompareHidden,
67
+ limitRange = props.limitRange,
68
+ handleItemClick = props.handleItemClick,
69
+ setActiveInterval = props.setActiveInterval,
70
+ isShortWeekNames = props.isShortWeekNames;
71
+ var _values$start = values.start,
72
+ start = _values$start === void 0 ? null : _values$start,
73
+ _values$end = values.end,
74
+ end = _values$end === void 0 ? null : _values$end,
75
+ _values$compare = values.compare,
76
+ compare = _values$compare === void 0 ? false : _values$compare;
77
+ var startDateInputRef = (0, _react.useRef)(null);
78
+ var endDateInputRef = (0, _react.useRef)(null);
79
+
80
+ var _useState = (0, _react.useState)(start),
81
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
82
+ startDate = _useState2[0],
83
+ setStartDate = _useState2[1];
84
+
85
+ var _useState3 = (0, _react.useState)(end),
86
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
87
+ endDate = _useState4[0],
88
+ setEndDate = _useState4[1];
89
+
90
+ var dateInterval = getSelectedMode({
91
+ start: startDate,
92
+ end: endDate
93
+ });
94
+
95
+ var _useState5 = (0, _react.useState)(start),
96
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
97
+ startDateInput = _useState6[0],
98
+ setStartDateInput = _useState6[1];
99
+
100
+ var _useState7 = (0, _react.useState)(end),
101
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
102
+ endDateInput = _useState8[0],
103
+ setEndDateInput = _useState8[1];
104
+
105
+ var _useState9 = (0, _react.useState)(start ? (0, _momentTimezone.default)(start).hour() : 0),
106
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
107
+ startHour = _useState10[0],
108
+ setStartHour = _useState10[1];
109
+
110
+ var _useState11 = (0, _react.useState)(end ? (0, _momentTimezone.default)(end).hour() : 0),
111
+ _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
112
+ endHour = _useState12[0],
113
+ setEndHour = _useState12[1]; // eslint-disable-next-line no-unused-vars
114
+
115
+
116
+ var _useState13 = (0, _react.useState)(compare),
117
+ _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
118
+ isCompare = _useState14[0],
119
+ setIsCompare = _useState14[1];
120
+
121
+ var _useState15 = (0, _react.useState)(start ? (0, _momentTimezone.default)(start).toDate() : (0, _momentTimezone.default)().subtract(1, 'month').toDate()),
122
+ _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
123
+ date1 = _useState16[0],
124
+ setDate1 = _useState16[1];
125
+
126
+ var _useState17 = (0, _react.useState)(end ? (0, _momentTimezone.default)(end).toDate() : (0, _momentTimezone.default)().toDate()),
127
+ _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
128
+ date2 = _useState18[0],
129
+ setDate2 = _useState18[1];
130
+
131
+ var _useState19 = (0, _react.useState)(false),
132
+ _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
133
+ isStartFocused = _useState20[0],
134
+ setIsStartFocused = _useState20[1];
135
+
136
+ var _useState21 = (0, _react.useState)(false),
137
+ _useState22 = (0, _slicedToArray2.default)(_useState21, 2),
138
+ isEndFocused = _useState22[0],
139
+ setIsEndFocused = _useState22[1];
140
+
141
+ var _useState23 = (0, _react.useState)(null),
142
+ _useState24 = (0, _slicedToArray2.default)(_useState23, 2),
143
+ hoverStatus = _useState24[0],
144
+ setHoverStatus = _useState24[1];
145
+
146
+ var isNearby = (0, _react.useMemo)(function () {
147
+ return (0, _momentTimezone.default)(date2).subtract(1, 'month').isSame((0, _momentTimezone.default)(date1), 'month');
148
+ }, [date1, date2]);
149
+ var isPreviousPeriodShowed = (0, _react.useMemo)(function () {
150
+ return isCompare && !isCompareHidden && startDate && endDate;
151
+ }, [startDate, endDate, isCompare]);
152
+
153
+ var setInterval = function setInterval() {
154
+ setActiveInterval((0, _dependencies.getActualDateRange)({
155
+ start: startDate,
156
+ end: endDate
157
+ }).intervalKey);
158
+ };
159
+
160
+ var prevEndHour = (0, _react.useRef)(endHour);
161
+
162
+ var getStartHourItems = function getStartHourItems() {
163
+ return (0, _toConsumableArray2.default)(Array(24).keys()).map(function (hour) {
164
+ return {
165
+ label: padTime(hour),
166
+ value: hour,
167
+ disabled: (0, _momentTimezone.default)(startDate).isSame(endDate, 'day') && endHour <= hour
168
+ };
169
+ });
170
+ };
171
+
172
+ var getEndHourItems = function getEndHourItems() {
173
+ return (0, _toConsumableArray2.default)(Array(24).keys()).map(function (hour) {
174
+ return {
175
+ label: padTime(hour + 1),
176
+ value: hour === 23 ? 0 : hour + 1,
177
+ disabled: ((0, _momentTimezone.default)(startDate).isSame(endDate, 'day') || (0, _momentTimezone.default)(startDate).isSame((0, _momentTimezone.default)(endDate).subtract(1, 'days'), 'day') && endHour === 0) && hour < startHour
178
+ };
179
+ });
180
+ };
181
+
182
+ var startPrevDate = (0, _react.useMemo)(function () {
183
+ if (isPreviousPeriodShowed) {
184
+ var intervalHoursCount = (0, _momentTimezone.default)(endDate).diff(startDate, 'hours');
185
+ return (0, _momentTimezone.default)(startDate).subtract(intervalHoursCount, 'hours').toDate();
186
+ } else return null;
187
+ }, [startDate, endDate, isCompare]);
188
+ var endPrevDate = (0, _react.useMemo)(function () {
189
+ if (isPreviousPeriodShowed) {
190
+ return startDate;
191
+ } else return null;
192
+ }, [startDate, endDate, isCompare]);
193
+ var title = (0, _react.useMemo)(function () {
194
+ if (isCompare && !isCompareHidden && startDate && endDate) {
195
+ return "".concat((0, _momentTimezone.default)(startPrevDate).format('ll'), " (").concat((0, _momentTimezone.default)(startPrevDate).format('HH:mm'), ") - ").concat((0, _momentTimezone.default)(endPrevDate).format('ll'), " (").concat((0, _momentTimezone.default)(endPrevDate).format('HH:mm'), ")");
196
+ } else return '';
197
+ }, [startDate, endDate, isCompare]);
198
+
199
+ var subtractDay = function subtractDay(date) {
200
+ return endHour === 0 ? (0, _momentTimezone.default)(date).subtract(1, 'days') : date;
201
+ };
202
+
203
+ var addDay = function addDay(date) {
204
+ return endHour === 0 ? (0, _momentTimezone.default)(date).add(1, 'days') : date;
205
+ };
206
+
207
+ (0, _react.useEffect)(function () {
208
+ if ((0, _momentTimezone.default)(startDate).isSameOrAfter(endDate)) {
209
+ setStartDate((0, _momentTimezone.default)(endDate).subtract(1, 'd').toDate());
210
+ setDate1((0, _momentTimezone.default)(endDate).subtract(1, 'd'));
211
+ }
212
+ }, [startDate]);
213
+ (0, _react.useEffect)(function () {
214
+ if ((0, _momentTimezone.default)(endDate).isSameOrBefore(startDate)) {
215
+ setEndDate((0, _momentTimezone.default)(startDate).add(1, 'd').toDate());
216
+ setDate2((0, _momentTimezone.default)(startDate).add(1, 'd'));
217
+ }
218
+ }, [endDate]);
219
+ (0, _react.useEffect)(function () {
220
+ setStartDateInput(startDate);
221
+ setEndDateInput(endDate);
222
+
223
+ if ((0, _momentTimezone.default)(startDate).isBefore((0, _momentTimezone.default)(endDate), 'month')) {
224
+ setDate1((0, _momentTimezone.default)(startDate));
225
+ setDate2((0, _momentTimezone.default)(endDate));
226
+ }
227
+
228
+ setInterval();
229
+ }, [startDate, endDate]);
230
+ (0, _react.useEffect)(function () {
231
+ if ((0, _momentTimezone.default)(date1).isSameOrAfter((0, _momentTimezone.default)(date2), 'month')) {
232
+ setDate1((0, _momentTimezone.default)(date2).subtract(1, 'month'));
233
+ }
234
+ }, [date1, date2]);
235
+ (0, _react.useEffect)(function () {
236
+ onChangeInterval(dateInterval);
237
+ }, [dateInterval]);
238
+
239
+ var handleClick = function handleClick(date) {
240
+ prevEndHour.current = 0;
241
+
242
+ if (!startDate || startDate && endDate && !((0, _momentTimezone.default)(startDate).add(1, 'd').isSame(endDate, 'day') && endHour === 0)) {
243
+ setStartDate((0, _momentTimezone.default)(date).startOf('day').toDate());
244
+ setEndDate((0, _momentTimezone.default)(date).add(1, 'd').startOf('day').toDate());
245
+ setStartHour(0);
246
+ setEndHour(0);
247
+ } else if ((0, _momentTimezone.default)(date).isBefore((0, _momentTimezone.default)(startDate), 'day')) {
248
+ setEndDate((0, _momentTimezone.default)(startDate).add(1, 'd').startOf('day').toDate());
249
+ setStartDate((0, _momentTimezone.default)(date).set('hour', parseInt(startHour, 10)).toDate());
250
+ } else if ((0, _momentTimezone.default)(date).isAfter((0, _momentTimezone.default)(startDate), 'day')) {
251
+ setEndDate((0, _momentTimezone.default)(date).add(1, 'd').startOf('day').toDate());
252
+ }
253
+
254
+ setHoverStatus(null);
255
+ };
256
+
257
+ var timerId;
258
+
259
+ var handleHover = function handleHover(date) {
260
+ if (!date) {
261
+ timerId = setTimeout(function () {
262
+ setHoverStatus(null);
263
+ }, 400);
264
+ return;
265
+ }
266
+
267
+ if (timerId) clearTimeout(timerId);
268
+
269
+ if ((0, _momentTimezone.default)(startDate).add(1, 'd').isSame(endDate, 'day') && endHour === 0) {
270
+ if ((0, _momentTimezone.default)(date).isAfter((0, _momentTimezone.default)(startDate), 'day')) setHoverStatus('end');else if ((0, _momentTimezone.default)(date).isBefore((0, _momentTimezone.default)(startDate), 'day')) setHoverStatus('start');else setHoverStatus(null);
271
+ } else {
272
+ setHoverStatus('start');
273
+ }
274
+ };
275
+
276
+ var handleChangeStartHour = function handleChangeStartHour(val) {
277
+ setStartHour(+val);
278
+ setStartDate((0, _momentTimezone.default)(startDate).set('hour', +val).toDate());
279
+ };
280
+
281
+ var handleChangeEndHour = function handleChangeEndHour(val) {
282
+ var newHour = +val;
283
+ setEndHour(newHour);
284
+ var newEndDate;
285
+
286
+ if (prevEndHour.current === 0 && newHour !== 0) {
287
+ newEndDate = (0, _momentTimezone.default)(endDate).subtract(1, 'days');
288
+ } else if (prevEndHour.current !== 0 && newHour === 0) {
289
+ newEndDate = (0, _momentTimezone.default)(endDate).add(1, 'days');
290
+ } else {
291
+ newEndDate = endDate;
292
+ }
293
+
294
+ prevEndHour.current = newHour;
295
+ setEndDate((0, _momentTimezone.default)(newEndDate).set('hour', newHour).toDate());
296
+ };
297
+
298
+ var renderButtons = function renderButtons() {
299
+ var _txt$buttons, _txt$buttons2;
300
+
301
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Button.default, {
302
+ className: "date-picker__button",
303
+ onClick: function onClick() {
304
+ return onCancel();
305
+ },
306
+ variant: buttonsTypes === null || buttonsTypes === void 0 ? void 0 : buttonsTypes.cancel
307
+ }, (txt === null || txt === void 0 ? void 0 : (_txt$buttons = txt.buttons) === null || _txt$buttons === void 0 ? void 0 : _txt$buttons.cancel) || 'cancel'), /*#__PURE__*/_react.default.createElement(_Button.default, {
308
+ className: "date-picker__button",
309
+ variant: buttonsTypes === null || buttonsTypes === void 0 ? void 0 : buttonsTypes.apply,
310
+ disabled: !startDate || !endDate,
311
+ onClick: function onClick() {
312
+ return onChange({
313
+ start: startDate,
314
+ end: endDate,
315
+ startPrevDate: startPrevDate,
316
+ endPrevDate: endPrevDate,
317
+ compare: isCompare
318
+ });
319
+ }
320
+ }, (txt === null || txt === void 0 ? void 0 : (_txt$buttons2 = txt.buttons) === null || _txt$buttons2 === void 0 ? void 0 : _txt$buttons2.apply) || 'apply'));
321
+ };
322
+
323
+ var renderPreviousPeriod = function renderPreviousPeriod() {
324
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, txt.labels.previousPeriod, ": ", /*#__PURE__*/_react.default.createElement("span", {
325
+ className: "date-picker__previous-period-interval"
326
+ }, title));
327
+ };
328
+
329
+ var doBlur = function doBlur(type, e) {
330
+ var executor = type === 'start' ? setIsStartFocused : setIsEndFocused;
331
+ e.target.blur();
332
+ executor(false);
333
+ };
334
+
335
+ var handleStartDateFocus = function handleStartDateFocus(e) {
336
+ setIsStartFocused(true);
337
+ setStartDateInput((0, _momentTimezone.default)(startDate).format('L'));
338
+ setTimeout(function () {
339
+ return e.target.select();
340
+ }, 0);
341
+ };
342
+
343
+ var handleStartDateBlur = function handleStartDateBlur(e) {
344
+ var newDate;
345
+
346
+ if ((0, _momentTimezone.default)(startDateInput).isValid()) {
347
+ newDate = (0, _momentTimezone.default)(startDateInput).set('hour', parseInt(startHour, 10)).toDate();
348
+ setStartDate(newDate);
349
+ } else {
350
+ newDate = startDate;
351
+ setStartDateInput(newDate);
352
+ }
353
+
354
+ doBlur('start', e);
355
+ setDate1((0, _momentTimezone.default)(newDate).isSameOrAfter((0, _momentTimezone.default)(date2), 'month') ? (0, _momentTimezone.default)(date2).subtract(1, 'month') : (0, _momentTimezone.default)(newDate));
356
+ };
357
+
358
+ var handleEndDateFocus = function handleEndDateFocus(e) {
359
+ setIsEndFocused(true);
360
+ setEndDateInput((0, _momentTimezone.default)(subtractDay(endDateInput)).format('L'));
361
+ setTimeout(function () {
362
+ return e.target.select();
363
+ }, 0);
364
+ };
365
+
366
+ var handleEndDateBlur = function handleEndDateBlur(e) {
367
+ var newDate;
368
+
369
+ if ((0, _momentTimezone.default)(endDateInput).isValid()) {
370
+ newDate = (0, _momentTimezone.default)(endDateInput).set('hour', parseInt(endHour, 10)).toDate();
371
+ setEndDate(addDay(newDate));
372
+ } else {
373
+ newDate = endDate;
374
+ setEndDateInput(newDate);
375
+ }
376
+
377
+ doBlur('end', e);
378
+ setDate2(newDate);
379
+ setEndDateInput();
380
+ };
381
+
382
+ var handleKeyPressed = function handleKeyPressed(code, e, type) {
383
+ if (code === 13) (type === 'start' ? handleStartDateBlur : handleEndDateBlur)(e);
384
+ if (code === 27) doBlur(type, e);
385
+ };
386
+
387
+ return /*#__PURE__*/_react.default.createElement("div", {
388
+ className: (0, _classnames.default)('date-picker', className)
389
+ }, /*#__PURE__*/_react.default.createElement("div", {
390
+ className: "date-picker__header"
391
+ }, /*#__PURE__*/_react.default.createElement("div", {
392
+ className: "date-picker__inputs-block"
393
+ }, /*#__PURE__*/_react.default.createElement(_Input.default, {
394
+ dataTest: "datepicker_start-date-input",
395
+ className: (0, _classnames.default)('date-picker__date-input', {
396
+ 'date-picker__date-input_active': hoverStatus === 'start'
397
+ }),
398
+ value: isStartFocused ? startDateInput : (0, _momentTimezone.default)(startDate).format('ll'),
399
+ disabled: !startDate,
400
+ onChange: function onChange(value) {
401
+ return setStartDateInput(handleDateInputOnChange(value));
402
+ },
403
+ onFocus: handleStartDateFocus,
404
+ onBlur: handleStartDateBlur,
405
+ onKeyUp: function onKeyUp(code, e) {
406
+ return handleKeyPressed(code, e, 'start');
407
+ },
408
+ ref: startDateInputRef // mask={moment(startDate).format('L').replace(/[0-9]/g, '9')}
409
+
410
+ }), /*#__PURE__*/_react.default.createElement(_Dropdown.default, {
411
+ dataTest: "datepicker_start-hour-select-input",
412
+ className: (0, _classnames.default)('date-picker__hour-select-input'),
413
+ onChange: function onChange(value) {
414
+ return handleChangeStartHour(value);
415
+ },
416
+ value: startHour,
417
+ options: getStartHourItems(),
418
+ disabled: !startDate,
419
+ short: true
420
+ }), /*#__PURE__*/_react.default.createElement("div", {
421
+ className: "date-picker__inputs-separator date-picker__header--gray"
422
+ }, "\u2014"), /*#__PURE__*/_react.default.createElement(_Input.default, {
423
+ dataTest: "datepicker_end-date-input",
424
+ className: (0, _classnames.default)('date-picker__date-input', {
425
+ 'date-picker__date-input_active': hoverStatus === 'end'
426
+ }),
427
+ value: isEndFocused ? endDateInput : (0, _momentTimezone.default)(subtractDay(endDate)).format('ll'),
428
+ disabled: !endDate,
429
+ onChange: function onChange(value) {
430
+ return setEndDateInput(handleDateInputOnChange(value));
431
+ },
432
+ onFocus: handleEndDateFocus,
433
+ onBlur: handleEndDateBlur,
434
+ onKeyUp: function onKeyUp(code, e) {
435
+ return handleKeyPressed(code, e, 'end');
436
+ },
437
+ ref: endDateInputRef
438
+ }), /*#__PURE__*/_react.default.createElement(_Dropdown.default, {
439
+ dataTest: "datepicker_end-hour-select-input",
440
+ className: (0, _classnames.default)('date-picker__hour-select-input'),
441
+ onChange: function onChange(value) {
442
+ return handleChangeEndHour(value);
443
+ },
444
+ value: endHour,
445
+ options: getEndHourItems(),
446
+ disabled: !endDate,
447
+ short: true
448
+ })), isCompare && !isCompareHidden && startDate && endDate && /*#__PURE__*/_react.default.createElement("div", {
449
+ className: "date-picker__previous-period"
450
+ }, renderPreviousPeriod())), /*#__PURE__*/_react.default.createElement("div", {
451
+ className: "date-picker__calendars"
452
+ }, /*#__PURE__*/_react.default.createElement("div", {
453
+ className: "date-picker__calendars-wrapper"
454
+ }, /*#__PURE__*/_react.default.createElement(_RangeCalendar.default, {
455
+ className: "date-picker__calendar",
456
+ date: date1,
457
+ setDate: setDate1,
458
+ allowNext: !isNearby,
459
+ startDate: startDate,
460
+ endDate: endDate,
461
+ startPrevDate: startPrevDate,
462
+ endPrevDate: endPrevDate,
463
+ onClick: handleClick,
464
+ onHover: handleHover,
465
+ limitRange: limitRange,
466
+ isShortWeekNames: isShortWeekNames
467
+ }), /*#__PURE__*/_react.default.createElement(_RangeCalendar.default, {
468
+ className: "date-picker__calendar",
469
+ date: date2,
470
+ setDate: setDate2,
471
+ allowPrev: !isNearby,
472
+ startDate: startDate,
473
+ endDate: endDate,
474
+ startPrevDate: startPrevDate,
475
+ endPrevDate: endPrevDate,
476
+ onClick: handleClick,
477
+ onHover: handleHover,
478
+ isShortWeekNames: isShortWeekNames
479
+ }))), /*#__PURE__*/_react.default.createElement("div", {
480
+ className: (0, _classnames.default)('date-picker__footer', {
481
+ 'date-picker__footer_once-element': isCompareHidden
482
+ })
483
+ }, /*#__PURE__*/_react.default.createElement("div", {
484
+ className: "date-picker__buttons-block"
485
+ }, renderButtons())));
486
+ };
487
+
488
+ var _default = Datepicker;
489
+ exports.default = _default;
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
21
+
22
+ var _classnames = _interopRequireDefault(require("classnames"));
23
+
24
+ var _dependencies = require("../dependencies");
25
+
26
+ var _SelectItem = _interopRequireDefault(require("./SelectItem"));
27
+
28
+ var _Datepicker = _interopRequireDefault(require("./Datepicker"));
29
+
30
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
+
32
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
+
34
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
35
+
36
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
37
+
38
+ var OpenedPart = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
39
+ var txt = props.txt,
40
+ buttonsTypes = props.buttonsTypes,
41
+ actualValues = props.actualValues,
42
+ _props$onChange = props.onChange,
43
+ _onChange = _props$onChange === void 0 ? function () {} : _props$onChange,
44
+ isHoverable = props.isHoverable,
45
+ short = props.short,
46
+ _props$isCompact = props.isCompact,
47
+ isCompact = _props$isCompact === void 0 ? false : _props$isCompact,
48
+ _props$isIntervalsHid = props.isIntervalsHidden,
49
+ isIntervalsHidden = _props$isIntervalsHid === void 0 ? false : _props$isIntervalsHid,
50
+ _props$isCompareHidde = props.isCompareHidden,
51
+ isCompareHidden = _props$isCompareHidde === void 0 ? false : _props$isCompareHidde,
52
+ limitRange = props.limitRange,
53
+ isOptionsRight = props.isOptionsRight,
54
+ current = props.current,
55
+ setCurrent = props.setCurrent,
56
+ isCompare = props.isCompare,
57
+ setIsCompare = props.setIsCompare,
58
+ toggleOff = props.toggleOff,
59
+ isShortWeekNames = props.isShortWeekNames;
60
+
61
+ var items = isCompact ? (0, _toConsumableArray2.default)(Object.keys(_dependencies.INTERVALS)) : [].concat((0, _toConsumableArray2.default)(Object.keys(_dependencies.INTERVALS)), [_dependencies.CUSTOM_INTERVAL_KEY]);
62
+
63
+ var _useState = (0, _react.useState)(actualValues.intervalKey),
64
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
65
+ activeInterval = _useState2[0],
66
+ setActiveInterval = _useState2[1];
67
+
68
+ var handleItemClick = function handleItemClick(item) {
69
+ if (item !== _dependencies.CUSTOM_INTERVAL_KEY) {
70
+ _onChange({
71
+ intervalKey: item,
72
+ compare: isCompare
73
+ });
74
+
75
+ setTimeout(function () {
76
+ return toggleOff();
77
+ }, 0);
78
+ }
79
+
80
+ setCurrent(item);
81
+ };
82
+
83
+ var getSelectedMode = function getSelectedMode(newValues) {
84
+ var start = newValues.start,
85
+ end = newValues.end;
86
+
87
+ if ((0, _momentTimezone.default)(start).get('hour') !== 0 || (0, _momentTimezone.default)(end).get('hour') !== 0) {
88
+ return _dependencies.CUSTOM_INTERVAL_KEY;
89
+ }
90
+
91
+ for (var _i = 0, _Object$entries = Object.entries(_dependencies.INTERVALS); _i < _Object$entries.length; _i++) {
92
+ var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
93
+ key = _Object$entries$_i[0],
94
+ interval = _Object$entries$_i[1];
95
+
96
+ if ((0, _momentTimezone.default)(start).isSame(interval.start()) && (0, _momentTimezone.default)(end).isSame(interval.end())) {
97
+ return key;
98
+ }
99
+ }
100
+
101
+ return _dependencies.CUSTOM_INTERVAL_KEY;
102
+ };
103
+
104
+ return /*#__PURE__*/_react.default.createElement("div", {
105
+ className: (0, _classnames.default)('date-range-input__opened-part', 'opened-part') // style={styles}
106
+
107
+ }, /*#__PURE__*/_react.default.createElement("div", {
108
+ className: (0, _classnames.default)('opened-part__wrapper', {
109
+ 'opened-part__wrapper_right-position-once-element': isOptionsRight && (isCompact || isIntervalsHidden)
110
+ })
111
+ }, !isIntervalsHidden && /*#__PURE__*/_react.default.createElement("div", {
112
+ className: (0, _classnames.default)('opened-part__intervals-list' // 'form-select-options',
113
+ // { 'form-select-options--short': short },
114
+ // { 'form-select-options--hoverable': isHoverable },
115
+ )
116
+ }, items.map(function (item, index) {
117
+ var _intervals$item;
118
+
119
+ return /*#__PURE__*/_react.default.createElement(_SelectItem.default, {
120
+ key: index,
121
+ item: item,
122
+ label: (txt === null || txt === void 0 ? void 0 : txt.labels) && (txt === null || txt === void 0 ? void 0 : txt.labels[item]) || ((_intervals$item = _dependencies.INTERVALS[item]) === null || _intervals$item === void 0 ? void 0 : _intervals$item.label) || (item === _dependencies.CUSTOM_INTERVAL_KEY ? _dependencies.CUSTOM_INTERVAL_KEY_TEXT : item),
123
+ isActive: activeInterval === item,
124
+ onItemClick: function onItemClick() {
125
+ return handleItemClick(item.value || item);
126
+ },
127
+ disabled: item === _dependencies.CUSTOM_INTERVAL_KEY
128
+ });
129
+ })), !isCompact && /*#__PURE__*/_react.default.createElement(_Datepicker.default, {
130
+ className: (0, _classnames.default)('opened-part__date-picker'),
131
+ buttonsTypes: buttonsTypes,
132
+ values: actualValues,
133
+ onChange: function onChange(data) {
134
+ _onChange(_objectSpread({
135
+ intervalKey: current
136
+ }, data));
137
+
138
+ toggleOff();
139
+ },
140
+ getSelectedMode: getSelectedMode,
141
+ onChangeInterval: function onChangeInterval(val) {
142
+ return setCurrent(val);
143
+ },
144
+ onChangeCompare: function onChangeCompare(data) {
145
+ return setIsCompare(data);
146
+ },
147
+ onCancel: toggleOff,
148
+ isCompareHidden: isCompareHidden,
149
+ limitRange: limitRange,
150
+ setActiveInterval: setActiveInterval,
151
+ isShortWeekNames: isShortWeekNames
152
+ })));
153
+ });
154
+
155
+ var _default = OpenedPart;
156
+ exports.default = _default;