intelicoreact 0.0.5 → 0.0.6

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 (58) hide show
  1. package/dist/Atomic/FormElements/Calendar/Calendar.js +20 -9
  2. package/dist/Atomic/FormElements/Calendar/Calendar.scss +1 -1
  3. package/dist/Atomic/FormElements/Calendar/Calendar.stories.js +12 -54
  4. package/dist/Atomic/FormElements/DateTime/DateTime.stories.js +1 -1
  5. package/dist/Atomic/FormElements/Input/Input.js +8 -7
  6. package/dist/Atomic/FormElements/Input/Input.stories.js +5 -1
  7. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +89 -0
  8. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +46 -0
  9. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +238 -0
  10. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +468 -0
  11. package/dist/Atomic/FormElements/InputDateRange/components/InputDateRange.js +248 -0
  12. package/dist/Atomic/FormElements/InputDateRange/components/InputDateRange.scss +598 -0
  13. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +147 -0
  14. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +38 -0
  15. package/dist/Atomic/FormElements/InputDateRange/index.js +248 -0
  16. package/dist/Atomic/FormElements/Modal/Modal.stories.js +64 -18
  17. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +162 -0
  18. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +101 -0
  19. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +81 -0
  20. package/dist/Atomic/UI/Arrow/Arrow.js +80 -0
  21. package/dist/Atomic/UI/Arrow/Arrow.scss +22 -0
  22. package/dist/Atomic/UI/Arrow/Arrow.stories.js +46 -0
  23. package/dist/Atomic/UI/Button/Button.js +4 -2
  24. package/dist/Atomic/UI/Button/Button.scss +26 -0
  25. package/dist/Atomic/UI/Button/Button.stories.js +2 -2
  26. package/dist/Atomic/UI/Calendar/Calendar.js +145 -0
  27. package/dist/Atomic/UI/Calendar/Calendar.scss +544 -0
  28. package/dist/Atomic/UI/Calendar/Calendar.stories.js +37 -0
  29. package/dist/Functions/utils.js +10 -2
  30. package/package.json +7 -5
  31. package/src/Atomic/FormElements/DateTime/DateTime.stories.js +1 -1
  32. package/src/Atomic/FormElements/Input/Input.js +8 -7
  33. package/src/Atomic/FormElements/Input/Input.stories.js +3 -1
  34. package/src/Atomic/FormElements/InputCalendar/InputCalendar.js +43 -0
  35. package/src/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +27 -0
  36. package/src/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +142 -0
  37. package/src/Atomic/FormElements/InputDateRange/components/Datepicker.js +394 -0
  38. package/src/Atomic/FormElements/InputDateRange/components/InputDateRange.js +230 -0
  39. package/src/Atomic/FormElements/InputDateRange/components/InputDateRange.scss +598 -0
  40. package/src/Atomic/FormElements/InputDateRange/components/OpenedPart.js +109 -0
  41. package/src/Atomic/FormElements/InputDateRange/components/SelectItem.js +22 -0
  42. package/src/Atomic/FormElements/InputDateRange/index.js +157 -0
  43. package/src/Atomic/FormElements/Modal/Modal.stories.js +60 -15
  44. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.js +143 -0
  45. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +101 -0
  46. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +54 -0
  47. package/src/Atomic/UI/Arrow/Arrow.js +41 -0
  48. package/src/Atomic/UI/Arrow/Arrow.scss +22 -0
  49. package/src/Atomic/UI/Arrow/Arrow.stories.js +32 -0
  50. package/src/Atomic/UI/Button/Button.js +3 -3
  51. package/src/Atomic/UI/Button/Button.scss +26 -0
  52. package/src/Atomic/UI/Button/Button.stories.js +4 -3
  53. package/src/Atomic/{FormElements → UI}/Calendar/Calendar.js +13 -10
  54. package/src/Atomic/UI/Calendar/Calendar.scss +544 -0
  55. package/src/Atomic/UI/Calendar/Calendar.stories.js +23 -0
  56. package/src/Functions/utils.js +6 -0
  57. package/src/Atomic/FormElements/Calendar/Calendar.scss +0 -543
  58. package/src/Atomic/FormElements/Calendar/Calendar.stories.js +0 -38
@@ -0,0 +1,147 @@
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 _ = require("..");
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
+ actualValues = props.actualValues,
41
+ _props$onChange = props.onChange,
42
+ _onChange = _props$onChange === void 0 ? function () {} : _props$onChange,
43
+ isHoverable = props.isHoverable,
44
+ short = props.short,
45
+ _props$isCompact = props.isCompact,
46
+ isCompact = _props$isCompact === void 0 ? false : _props$isCompact,
47
+ _props$isIntervalsHid = props.isIntervalsHidden,
48
+ isIntervalsHidden = _props$isIntervalsHid === void 0 ? false : _props$isIntervalsHid,
49
+ _props$isCompareHidde = props.isCompareHidden,
50
+ isCompareHidden = _props$isCompareHidde === void 0 ? false : _props$isCompareHidde,
51
+ limitRange = props.limitRange,
52
+ isOptionsRight = props.isOptionsRight,
53
+ current = props.current,
54
+ setCurrent = props.setCurrent,
55
+ isCompare = props.isCompare,
56
+ setIsCompare = props.setIsCompare,
57
+ toggleOff = props.toggleOff; // const [styles, setStyles] = useState({});
58
+
59
+
60
+ var items = isCompact ? (0, _toConsumableArray2.default)(Object.keys(_.INTERVALS)) : [].concat((0, _toConsumableArray2.default)(Object.keys(_.INTERVALS)), [_.CUSTOM_INTERVAL_KEY]);
61
+
62
+ var handleItemClick = function handleItemClick(item) {
63
+ if (item !== _.CUSTOM_INTERVAL_KEY) {
64
+ _onChange({
65
+ intervalKey: item,
66
+ compare: isCompare
67
+ });
68
+
69
+ setTimeout(function () {
70
+ return toggleOff();
71
+ }, 0);
72
+ }
73
+
74
+ setCurrent(item);
75
+ };
76
+
77
+ var getSelectedMode = function getSelectedMode(newValues) {
78
+ var start = newValues.start,
79
+ end = newValues.end;
80
+
81
+ if ((0, _momentTimezone.default)(start).get('hour') !== 0 || (0, _momentTimezone.default)(end).get('hour') !== 0) {
82
+ return _.CUSTOM_INTERVAL_KEY;
83
+ }
84
+
85
+ for (var _i = 0, _Object$entries = Object.entries(_.INTERVALS); _i < _Object$entries.length; _i++) {
86
+ var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
87
+ key = _Object$entries$_i[0],
88
+ interval = _Object$entries$_i[1];
89
+
90
+ if ((0, _momentTimezone.default)(start).isSame(interval.start()) && (0, _momentTimezone.default)(end).isSame(interval.end())) {
91
+ return key;
92
+ }
93
+ }
94
+
95
+ return _.CUSTOM_INTERVAL_KEY;
96
+ };
97
+
98
+ return /*#__PURE__*/_react.default.createElement("div", {
99
+ className: (0, _classnames.default)('date-range-input__opened-part', 'opened-part') // style={styles}
100
+
101
+ }, /*#__PURE__*/_react.default.createElement("div", {
102
+ className: (0, _classnames.default)('opened-part__wrapper', {
103
+ 'opened-part__wrapper_right-position-once-element': isOptionsRight && (isCompact || isIntervalsHidden)
104
+ })
105
+ }, !isIntervalsHidden && /*#__PURE__*/_react.default.createElement("div", {
106
+ className: (0, _classnames.default)('opened-part__intervals-list' // 'form-select-options',
107
+ // { 'form-select-options--short': short },
108
+ // { 'form-select-options--hoverable': isHoverable },
109
+ )
110
+ }, items.map(function (item, index) {
111
+ var _intervals$item;
112
+
113
+ return /*#__PURE__*/_react.default.createElement(_SelectItem.default, {
114
+ key: index,
115
+ item: item,
116
+ label: (txt === null || txt === void 0 ? void 0 : txt.labels) && (txt === null || txt === void 0 ? void 0 : txt.labels[item]) || ((_intervals$item = _.INTERVALS[item]) === null || _intervals$item === void 0 ? void 0 : _intervals$item.label) || item,
117
+ isActive: actualValues.intervalKey === item,
118
+ onItemClick: function onItemClick() {
119
+ return handleItemClick(item.value || item);
120
+ },
121
+ disabled: item === _.CUSTOM_INTERVAL_KEY
122
+ });
123
+ })), !isCompact && /*#__PURE__*/_react.default.createElement(_Datepicker.default, {
124
+ className: (0, _classnames.default)('opened-part__date-picker'),
125
+ values: actualValues,
126
+ onChange: function onChange(data) {
127
+ _onChange(_objectSpread({
128
+ intervalKey: current
129
+ }, data));
130
+
131
+ toggleOff();
132
+ },
133
+ getSelectedMode: getSelectedMode,
134
+ onChangeInterval: function onChangeInterval(val) {
135
+ return setCurrent(val);
136
+ },
137
+ onChangeCompare: function onChangeCompare(data) {
138
+ return setIsCompare(data);
139
+ },
140
+ onCancel: toggleOff,
141
+ isCompareHidden: isCompareHidden,
142
+ limitRange: limitRange
143
+ })));
144
+ });
145
+
146
+ var _default = OpenedPart;
147
+ exports.default = _default;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+
14
+ var _check = _interopRequireDefault(require("../../../../../../assets/icons/check.svg"));
15
+
16
+ var SelectItem = function SelectItem(_ref) {
17
+ var item = _ref.item,
18
+ label = _ref.label,
19
+ isActive = _ref.isActive,
20
+ onItemClick = _ref.onItemClick,
21
+ onMouseEnter = _ref.onMouseEnter,
22
+ disabled = _ref.disabled;
23
+ return /*#__PURE__*/_react.default.createElement("div", {
24
+ className: (0, _classnames.default)('opened-part__intervals-item', {
25
+ 'opened-part__intervals-item_active': isActive,
26
+ 'opened-part__intervals-item_disabled': disabled
27
+ }),
28
+ onClick: onItemClick,
29
+ onMouseEnter: onMouseEnter,
30
+ "data-item": item
31
+ }, isActive && /*#__PURE__*/_react.default.createElement("object", {
32
+ data: _check.default,
33
+ className: (0, _classnames.default)('opened-part__intervals-item-icon-active')
34
+ }), label);
35
+ };
36
+
37
+ var _default = SelectItem;
38
+ exports.default = _default;
@@ -0,0 +1,248 @@
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 = exports.getActualDateRange = exports.CUSTOM_INTERVAL_KEY_TEXT = exports.CUSTOM_INTERVAL_KEY = exports.ALL_TIME_KEY = exports.INTERVALS = exports.useToggle = exports.useClickOutside = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
17
+
18
+ var _InputDateRange = _interopRequireDefault(require("./components/InputDateRange"));
19
+
20
+ 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); }
21
+
22
+ 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; }
23
+
24
+ var useClickOutside = function useClickOutside(hideComponent, additionalComponent) {
25
+ var ref = (0, _react.useRef)(null);
26
+
27
+ var checkCondition = function checkCondition(target) {
28
+ var _ref$current, _ref$current2;
29
+
30
+ return additionalComponent ? !((_ref$current = ref.current) !== null && _ref$current !== void 0 && _ref$current.contains(target)) && !(additionalComponent !== null && additionalComponent !== void 0 && additionalComponent.contains(target)) : !((_ref$current2 = ref.current) !== null && _ref$current2 !== void 0 && _ref$current2.contains(target));
31
+ };
32
+
33
+ var handleClickOutside = (0, _react.useCallback)(function (_ref) {
34
+ var target = _ref.target;
35
+ if (checkCondition(target)) hideComponent();
36
+ }, [hideComponent]);
37
+ (0, _react.useEffect)(function () {
38
+ document.addEventListener('mousedown', handleClickOutside, true);
39
+ return function () {
40
+ document.removeEventListener('mousedown', handleClickOutside, true);
41
+ };
42
+ }, []);
43
+ return ref;
44
+ };
45
+
46
+ exports.useClickOutside = useClickOutside;
47
+
48
+ var useToggle = function useToggle(initialState) {
49
+ var _useState = (0, _react.useState)(!!initialState),
50
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
51
+ isToggled = _useState2[0],
52
+ setToggle = _useState2[1];
53
+
54
+ var toggle = (0, _react.useCallback)(function () {
55
+ return setToggle(function (isOn) {
56
+ return !isOn;
57
+ });
58
+ }, []);
59
+ var toggleOn = (0, _react.useCallback)(function () {
60
+ return setToggle(true);
61
+ }, []);
62
+ var toggleOff = (0, _react.useCallback)(function () {
63
+ return setToggle(false);
64
+ }, []);
65
+ return {
66
+ isToggled: isToggled,
67
+ toggle: toggle,
68
+ toggleOn: toggleOn,
69
+ toggleOff: toggleOff
70
+ };
71
+ };
72
+
73
+ exports.useToggle = useToggle;
74
+ var INTERVALS = {
75
+ today: {
76
+ label: 'today',
77
+ start: function start() {
78
+ return (0, _momentTimezone.default)().startOf('day');
79
+ },
80
+ end: function end() {
81
+ return (0, _momentTimezone.default)().add(1, 'day').startOf('day');
82
+ }
83
+ },
84
+ yesterday: {
85
+ label: 'yesterday',
86
+ start: function start() {
87
+ return (0, _momentTimezone.default)().subtract(1, 'day').startOf('day');
88
+ },
89
+ end: function end() {
90
+ return (0, _momentTimezone.default)().startOf('day');
91
+ }
92
+ },
93
+ thisWeek: {
94
+ label: 'This Week',
95
+ start: function start() {
96
+ return (0, _momentTimezone.default)().startOf('week');
97
+ },
98
+ end: function end() {
99
+ return (0, _momentTimezone.default)().add(1, 'day').startOf('day');
100
+ }
101
+ },
102
+ lastWeek: {
103
+ label: 'Last Week',
104
+ start: function start() {
105
+ return (0, _momentTimezone.default)().subtract(1, 'week').startOf('week');
106
+ },
107
+ end: function end() {
108
+ return (0, _momentTimezone.default)().startOf('week');
109
+ }
110
+ },
111
+ last3Days: {
112
+ label: 'Last 3 Days',
113
+ start: function start() {
114
+ return (0, _momentTimezone.default)().subtract(2, 'day').startOf('day');
115
+ },
116
+ end: function end() {
117
+ return (0, _momentTimezone.default)().add(1, 'day').startOf('day');
118
+ }
119
+ },
120
+ last7Days: {
121
+ label: 'Last 7 Days',
122
+ start: function start() {
123
+ return (0, _momentTimezone.default)().subtract(6, 'day').startOf('day');
124
+ },
125
+ end: function end() {
126
+ return (0, _momentTimezone.default)().add(1, 'day').startOf('day');
127
+ }
128
+ },
129
+ last14Days: {
130
+ label: 'Last 14 Days',
131
+ start: function start() {
132
+ return (0, _momentTimezone.default)().subtract(13, 'day').startOf('day');
133
+ },
134
+ end: function end() {
135
+ return (0, _momentTimezone.default)().add(1, 'day').startOf('day');
136
+ }
137
+ },
138
+ thisMonth: {
139
+ label: 'This Month',
140
+ start: function start() {
141
+ return (0, _momentTimezone.default)().startOf('month');
142
+ },
143
+ end: function end() {
144
+ return (0, _momentTimezone.default)().add(1, 'day').startOf('day');
145
+ }
146
+ },
147
+ lastMonth: {
148
+ label: 'Last Month',
149
+ start: function start() {
150
+ return (0, _momentTimezone.default)().subtract(1, 'month').startOf('month');
151
+ },
152
+ end: function end() {
153
+ return (0, _momentTimezone.default)().startOf('month');
154
+ }
155
+ },
156
+ last6Months: {
157
+ label: 'Last 6 Months',
158
+ start: function start() {
159
+ return (0, _momentTimezone.default)().subtract(6, 'month').startOf('month');
160
+ },
161
+ end: function end() {
162
+ return (0, _momentTimezone.default)().startOf('month');
163
+ }
164
+ },
165
+ thisYear: {
166
+ label: 'This Year',
167
+ start: function start() {
168
+ return (0, _momentTimezone.default)().startOf('year');
169
+ },
170
+ end: function end() {
171
+ return (0, _momentTimezone.default)().add(1, 'day').startOf('day');
172
+ }
173
+ },
174
+ lastYear: {
175
+ label: 'Last Year',
176
+ start: function start() {
177
+ return (0, _momentTimezone.default)().subtract(1, 'year').startOf('year');
178
+ },
179
+ end: function end() {
180
+ return (0, _momentTimezone.default)().startOf('year');
181
+ }
182
+ },
183
+ allTime: {
184
+ label: 'All Time',
185
+ start: function start() {
186
+ return null;
187
+ },
188
+ end: function end() {
189
+ return null;
190
+ }
191
+ }
192
+ };
193
+ exports.INTERVALS = INTERVALS;
194
+ var ALL_TIME_KEY = 'allTime';
195
+ exports.ALL_TIME_KEY = ALL_TIME_KEY;
196
+ var CUSTOM_INTERVAL_KEY = 'customDate';
197
+ exports.CUSTOM_INTERVAL_KEY = CUSTOM_INTERVAL_KEY;
198
+ var CUSTOM_INTERVAL_KEY_TEXT = 'Custom Date';
199
+ exports.CUSTOM_INTERVAL_KEY_TEXT = CUSTOM_INTERVAL_KEY_TEXT;
200
+
201
+ var getActualDateRange = function getActualDateRange(inputDateRange) {
202
+ var _INTERVALS$inputDateR, _INTERVALS$inputDateR2, _INTERVALS$inputDateR3, _INTERVALS$inputDateR4;
203
+
204
+ var actualIntervalKey = function () {
205
+ if (inputDateRange.intervalKey && inputDateRange.intervalKey !== CUSTOM_INTERVAL_KEY) {
206
+ return inputDateRange.intervalKey;
207
+ }
208
+
209
+ if (inputDateRange.start && inputDateRange.end) {
210
+ for (var _i = 0, _Object$entries = Object.entries(INTERVALS); _i < _Object$entries.length; _i++) {
211
+ var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
212
+ key = _Object$entries$_i[0],
213
+ interval = _Object$entries$_i[1];
214
+
215
+ if ((0, _momentTimezone.default)(inputDateRange.start).isSame(interval.start()) && (0, _momentTimezone.default)(inputDateRange.end).isSame(interval.end())) {
216
+ return key;
217
+ }
218
+ }
219
+ }
220
+
221
+ return null;
222
+ }();
223
+
224
+ var actualValues = {
225
+ // intervalKey: inputDateRange.intervalKey || customIntervalKey,
226
+ intervalKey: actualIntervalKey || CUSTOM_INTERVAL_KEY,
227
+ start: inputDateRange.intervalKey === CUSTOM_INTERVAL_KEY ? inputDateRange === null || inputDateRange === void 0 ? void 0 : inputDateRange.start : (_INTERVALS$inputDateR = INTERVALS[inputDateRange.intervalKey]) === null || _INTERVALS$inputDateR === void 0 ? void 0 : (_INTERVALS$inputDateR2 = _INTERVALS$inputDateR.start()) === null || _INTERVALS$inputDateR2 === void 0 ? void 0 : _INTERVALS$inputDateR2.toDate(),
228
+ end: inputDateRange.intervalKey === CUSTOM_INTERVAL_KEY ? inputDateRange === null || inputDateRange === void 0 ? void 0 : inputDateRange.end : (_INTERVALS$inputDateR3 = INTERVALS[inputDateRange.intervalKey]) === null || _INTERVALS$inputDateR3 === void 0 ? void 0 : (_INTERVALS$inputDateR4 = _INTERVALS$inputDateR3.end()) === null || _INTERVALS$inputDateR4 === void 0 ? void 0 : _INTERVALS$inputDateR4.toDate(),
229
+ compare: inputDateRange.compare
230
+ };
231
+
232
+ if (actualValues.compare) {
233
+ var intervalHoursCount = (0, _momentTimezone.default)(actualValues.end).diff(actualValues.start, 'hours');
234
+ actualValues.startPrevDate = (0, _momentTimezone.default)(actualValues.start).subtract(intervalHoursCount, 'hours').toDate();
235
+ actualValues.endPrevDate = actualValues.start;
236
+ }
237
+
238
+ return actualValues;
239
+ };
240
+
241
+ exports.getActualDateRange = getActualDateRange;
242
+
243
+ var component = function component(props) {
244
+ return /*#__PURE__*/_react.default.createElement(_InputDateRange.default, props);
245
+ };
246
+
247
+ var _default = component;
248
+ exports.default = _default;
@@ -7,7 +7,9 @@ var _typeof = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.ModalTemplate = exports.default = void 0;
10
+ exports.ModalWithConfirmation = exports.ModalTemplate = exports.default = void 0;
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
13
 
12
14
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
15
 
@@ -25,7 +27,32 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
25
27
 
26
28
  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; }
27
29
 
30
+ 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; }
31
+
32
+ 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; }
33
+
28
34
  global.lng = 'en';
35
+ var examples = [JSON.stringify({
36
+ withConfirmation: {
37
+ cancel: true
38
+ }
39
+ }), JSON.stringify({
40
+ withConfirmation: {
41
+ confirm: true
42
+ }
43
+ }), JSON.stringify({
44
+ withConfirmation: {
45
+ confirm: true,
46
+ cancel: true
47
+ }
48
+ }), JSON.stringify({
49
+ withConfirmation: {
50
+ title: 'some value',
51
+ children: 'some value',
52
+ confirmBtnLabel: 'some value'
53
+ }
54
+ })];
55
+ var confirmationDescrip = 'If you pass the "withConfirmation" property, you will be able to request confirmation of the user\'s action.\n\n' + "For example, if you want to request confirmation to close a modal window, pass the property like this: ".concat(examples[0], "\n\n") + "To confirm submit, pass the property like this: with Confirmation: ".concat(examples[1], "\n\n") + "If you want confirmation for each action, pass the property like this: with Confirmation: ".concat(examples[2], "\n\n") + "If you want to control the contents of the confirmation window, pass an object with values instead of boolean values, like this:\n\n".concat(examples[3], "\n\n");
29
56
  var _default = {
30
57
  title: 'Modal',
31
58
  component: _Modal.default,
@@ -47,18 +74,15 @@ var _default = {
47
74
  type: 'select',
48
75
  options: ['default', '290', '420', '870', '770', '950']
49
76
  }
50
- }
51
- },
52
- type: {
53
- control: {
54
- type: 'select',
55
- options: ['default', 'primary']
56
- }
57
- },
58
- size: {
59
- control: {
60
- type: 'select',
61
- options: ['default', '290', '420', '770', '870', '950']
77
+ },
78
+ type: {
79
+ control: {
80
+ type: 'select',
81
+ options: ['default', 'primary']
82
+ }
83
+ },
84
+ withConfirmation: {
85
+ description: confirmationDescrip
62
86
  }
63
87
  }
64
88
  };
@@ -78,11 +102,15 @@ var Template = function Template(args) {
78
102
  onClick: function onClick() {
79
103
  return setIsOpen(true);
80
104
  },
81
- label: "Show modal"
82
- }), /*#__PURE__*/_react.default.createElement(_Modal.default, (0, _extends2.default)({
105
+ text: "Show modal"
106
+ }), /*#__PURE__*/_react.default.createElement(_Modal.default, (0, _extends2.default)({}, args, {
83
107
  closeModal: closeModal,
108
+ submitHandler: function submitHandler() {
109
+ args.submitHandler();
110
+ closeModal();
111
+ },
84
112
  isOpen: isOpen
85
- }, args), /*#__PURE__*/_react.default.createElement(_Alert.default, {
113
+ }), /*#__PURE__*/_react.default.createElement(_Alert.default, {
86
114
  message: "Alert message",
87
115
  variant: "error",
88
116
  className: "mb5"
@@ -102,10 +130,28 @@ var Template = function Template(args) {
102
130
 
103
131
  var ModalTemplate = Template.bind({});
104
132
  exports.ModalTemplate = ModalTemplate;
105
- ModalTemplate.args = {
133
+ var ModalWithConfirmation = Template.bind({});
134
+ exports.ModalWithConfirmation = ModalWithConfirmation;
135
+ var mainProps = {
106
136
  title: 'Modal',
107
137
  variant: 'primary',
108
138
  mode: 'edit',
109
139
  size: '',
140
+ confirmBtnLabel: '',
141
+ submitHandler: function submitHandler() {
142
+ console.log('Hi');
143
+ }
144
+ };
145
+ var confirmationProps = {
146
+ title: '',
147
+ children: '',
110
148
  confirmBtnLabel: ''
111
- };
149
+ };
150
+ var confirmationVariants = {
151
+ // confirm: { ...confirmationProps },
152
+ cancel: _objectSpread({}, confirmationProps)
153
+ };
154
+ ModalTemplate.args = _objectSpread({}, mainProps);
155
+ ModalWithConfirmation.args = _objectSpread(_objectSpread({}, mainProps), {}, {
156
+ withConfirmation: _objectSpread({}, confirmationVariants)
157
+ });