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.
- package/dist/Atomic/FormElements/Calendar/Calendar.js +20 -9
- package/dist/Atomic/FormElements/Calendar/Calendar.scss +1 -1
- package/dist/Atomic/FormElements/Calendar/Calendar.stories.js +12 -54
- package/dist/Atomic/FormElements/DateTime/DateTime.stories.js +1 -1
- package/dist/Atomic/FormElements/Input/Input.js +8 -7
- package/dist/Atomic/FormElements/Input/Input.stories.js +5 -1
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +89 -0
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +46 -0
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +238 -0
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +468 -0
- package/dist/Atomic/FormElements/InputDateRange/components/InputDateRange.js +248 -0
- package/dist/Atomic/FormElements/InputDateRange/components/InputDateRange.scss +598 -0
- package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +147 -0
- package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +38 -0
- package/dist/Atomic/FormElements/InputDateRange/index.js +248 -0
- package/dist/Atomic/FormElements/Modal/Modal.stories.js +64 -18
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +162 -0
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +101 -0
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +81 -0
- package/dist/Atomic/UI/Arrow/Arrow.js +80 -0
- package/dist/Atomic/UI/Arrow/Arrow.scss +22 -0
- package/dist/Atomic/UI/Arrow/Arrow.stories.js +46 -0
- package/dist/Atomic/UI/Button/Button.js +4 -2
- package/dist/Atomic/UI/Button/Button.scss +26 -0
- package/dist/Atomic/UI/Button/Button.stories.js +2 -2
- package/dist/Atomic/UI/Calendar/Calendar.js +145 -0
- package/dist/Atomic/UI/Calendar/Calendar.scss +544 -0
- package/dist/Atomic/UI/Calendar/Calendar.stories.js +37 -0
- package/dist/Functions/utils.js +10 -2
- package/package.json +7 -5
- package/src/Atomic/FormElements/DateTime/DateTime.stories.js +1 -1
- package/src/Atomic/FormElements/Input/Input.js +8 -7
- package/src/Atomic/FormElements/Input/Input.stories.js +3 -1
- package/src/Atomic/FormElements/InputCalendar/InputCalendar.js +43 -0
- package/src/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +27 -0
- package/src/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +142 -0
- package/src/Atomic/FormElements/InputDateRange/components/Datepicker.js +394 -0
- package/src/Atomic/FormElements/InputDateRange/components/InputDateRange.js +230 -0
- package/src/Atomic/FormElements/InputDateRange/components/InputDateRange.scss +598 -0
- package/src/Atomic/FormElements/InputDateRange/components/OpenedPart.js +109 -0
- package/src/Atomic/FormElements/InputDateRange/components/SelectItem.js +22 -0
- package/src/Atomic/FormElements/InputDateRange/index.js +157 -0
- package/src/Atomic/FormElements/Modal/Modal.stories.js +60 -15
- package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.js +143 -0
- package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +101 -0
- package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +54 -0
- package/src/Atomic/UI/Arrow/Arrow.js +41 -0
- package/src/Atomic/UI/Arrow/Arrow.scss +22 -0
- package/src/Atomic/UI/Arrow/Arrow.stories.js +32 -0
- package/src/Atomic/UI/Button/Button.js +3 -3
- package/src/Atomic/UI/Button/Button.scss +26 -0
- package/src/Atomic/UI/Button/Button.stories.js +4 -3
- package/src/Atomic/{FormElements → UI}/Calendar/Calendar.js +13 -10
- package/src/Atomic/UI/Calendar/Calendar.scss +544 -0
- package/src/Atomic/UI/Calendar/Calendar.stories.js +23 -0
- package/src/Functions/utils.js +6 -0
- package/src/Atomic/FormElements/Calendar/Calendar.scss +0 -543
- package/src/Atomic/FormElements/Calendar/Calendar.stories.js +0 -38
|
@@ -0,0 +1,162 @@
|
|
|
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 _classnames = _interopRequireDefault(require("classnames"));
|
|
19
|
+
|
|
20
|
+
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
21
|
+
|
|
22
|
+
var _Arrow = _interopRequireDefault(require("../../UI/Arrow/Arrow"));
|
|
23
|
+
|
|
24
|
+
require("./RangeCalendar.scss");
|
|
25
|
+
|
|
26
|
+
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); }
|
|
27
|
+
|
|
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; }
|
|
29
|
+
|
|
30
|
+
var RangeCalendar = function RangeCalendar(props) {
|
|
31
|
+
var className = props.className,
|
|
32
|
+
date = props.date,
|
|
33
|
+
setDate = props.setDate,
|
|
34
|
+
startDate = props.startDate,
|
|
35
|
+
endDate = props.endDate,
|
|
36
|
+
_props$allowPrev = props.allowPrev,
|
|
37
|
+
allowPrev = _props$allowPrev === void 0 ? true : _props$allowPrev,
|
|
38
|
+
_props$allowNext = props.allowNext,
|
|
39
|
+
allowNext = _props$allowNext === void 0 ? true : _props$allowNext,
|
|
40
|
+
_props$onClick = props.onClick,
|
|
41
|
+
onClick = _props$onClick === void 0 ? function () {} : _props$onClick,
|
|
42
|
+
_props$onHover = props.onHover,
|
|
43
|
+
onHover = _props$onHover === void 0 ? function () {} : _props$onHover,
|
|
44
|
+
startPrevDate = props.startPrevDate,
|
|
45
|
+
endPrevDate = props.endPrevDate,
|
|
46
|
+
limitRange = props.limitRange;
|
|
47
|
+
|
|
48
|
+
var _useState = (0, _react.useState)({}),
|
|
49
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
50
|
+
days = _useState2[0],
|
|
51
|
+
setDays = _useState2[1];
|
|
52
|
+
|
|
53
|
+
var title = (0, _react.useMemo)(function () {
|
|
54
|
+
return "".concat((0, _momentTimezone.default)(date).format('MMM'), " ").concat((0, _momentTimezone.default)(date).format('YYYY'));
|
|
55
|
+
}, [date]);
|
|
56
|
+
(0, _react.useEffect)(function () {
|
|
57
|
+
var result = {};
|
|
58
|
+
var day = (0, _momentTimezone.default)(date).startOf('month');
|
|
59
|
+
var daysInMonth = day.daysInMonth();
|
|
60
|
+
|
|
61
|
+
for (var d = 0; d < daysInMonth; d += 1) {
|
|
62
|
+
var week = day.week();
|
|
63
|
+
if (day.month() === 11 && week === 1) week = 53;
|
|
64
|
+
if (day.month() === 0 && week === 53) week = 0;
|
|
65
|
+
|
|
66
|
+
if (!Object.prototype.hasOwnProperty.call(result, week)) {
|
|
67
|
+
result[week] = {};
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
result[week][day.weekday()] = {
|
|
71
|
+
date: day.toDate()
|
|
72
|
+
};
|
|
73
|
+
day.add(1, 'd');
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
setDays(result);
|
|
77
|
+
}, [date]);
|
|
78
|
+
|
|
79
|
+
var renderDay = function renderDay(week, dayOfWeek) {
|
|
80
|
+
var day = days[week][dayOfWeek];
|
|
81
|
+
var isFutureDay = day && (0, _momentTimezone.default)(day.date).isAfter((0, _momentTimezone.default)(), 'day');
|
|
82
|
+
var isPastDay = limitRange ? day && (0, _momentTimezone.default)(day.date).isBefore((0, _momentTimezone.default)().subtract(limitRange, 'days'), 'day') : null;
|
|
83
|
+
var isRangeStart = day && (0, _momentTimezone.default)(day.date).isSame(startDate, 'day');
|
|
84
|
+
var isRangeEnd = day && (0, _momentTimezone.default)(day.date).isSame((0, _momentTimezone.default)(endDate).subtract(1, 'hour'), 'day');
|
|
85
|
+
var isRangeInside = day && startDate && endDate && (0, _momentTimezone.default)(day.date).isAfter(startDate, 'day') && (0, _momentTimezone.default)(day.date).isBefore((0, _momentTimezone.default)(endDate).subtract(1, 'hour'), 'day');
|
|
86
|
+
var isPrevRangeEnd = day && ((0, _momentTimezone.default)(day.date).isSame(startPrevDate, 'day') || (0, _momentTimezone.default)(day.date).isSame((0, _momentTimezone.default)(endPrevDate).subtract(1, 'day'), 'day'));
|
|
87
|
+
var isPrevRangeInside = day && startPrevDate && endPrevDate && (0, _momentTimezone.default)(day.date).isAfter(startPrevDate, 'day') && (0, _momentTimezone.default)(day.date).isBefore((0, _momentTimezone.default)(endPrevDate).subtract(1, 'day'), 'day');
|
|
88
|
+
var classNames = (0, _classnames.default)('range-calendar__day', {
|
|
89
|
+
'range-calendar__day--clickable': day
|
|
90
|
+
}, {
|
|
91
|
+
'range-calendar__day--disabled': isFutureDay
|
|
92
|
+
}, {
|
|
93
|
+
'range-calendar__day--disabled': isPastDay
|
|
94
|
+
}, {
|
|
95
|
+
'range-calendar__day--range-start': isRangeStart
|
|
96
|
+
}, {
|
|
97
|
+
'range-calendar__day--range-end': isRangeEnd
|
|
98
|
+
}, {
|
|
99
|
+
'range-calendar__day--range-inside': isRangeInside
|
|
100
|
+
}, {
|
|
101
|
+
'range-calendar__day--prev-range-end': isPrevRangeEnd
|
|
102
|
+
}, {
|
|
103
|
+
'range-calendar__day--prev-range-inside': isPrevRangeInside
|
|
104
|
+
});
|
|
105
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
106
|
+
key: "".concat(week, "_").concat(dayOfWeek),
|
|
107
|
+
className: classNames,
|
|
108
|
+
onClick: day && !isFutureDay ? function (e) {
|
|
109
|
+
return onClick(day.date, e);
|
|
110
|
+
} : null,
|
|
111
|
+
onMouseOver: day && !isFutureDay ? function () {
|
|
112
|
+
return onHover(day.date);
|
|
113
|
+
} : null,
|
|
114
|
+
onMouseLeave: function onMouseLeave() {
|
|
115
|
+
return onHover(null);
|
|
116
|
+
}
|
|
117
|
+
}, day && day.date.getDate());
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
var handlePrev = function handlePrev() {
|
|
121
|
+
setDate((0, _momentTimezone.default)(date).subtract(1, 'month').toDate());
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
var handleNext = function handleNext() {
|
|
125
|
+
setDate((0, _momentTimezone.default)(date).add(1, 'month').toDate());
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
129
|
+
className: (0, _classnames.default)('range-calendar', className)
|
|
130
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
131
|
+
className: "range-calendar-header"
|
|
132
|
+
}, /*#__PURE__*/_react.default.createElement(_Arrow.default, {
|
|
133
|
+
type: "left",
|
|
134
|
+
disabled: !allowPrev,
|
|
135
|
+
onClick: handlePrev,
|
|
136
|
+
className: "range-calendar-header__prev"
|
|
137
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
138
|
+
className: "range-calendar-header__title"
|
|
139
|
+
}, title), /*#__PURE__*/_react.default.createElement(_Arrow.default, {
|
|
140
|
+
type: "right",
|
|
141
|
+
disabled: !allowNext,
|
|
142
|
+
onClick: handleNext,
|
|
143
|
+
className: "range-calendar-header__next"
|
|
144
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
145
|
+
className: "range-calendar__week range-calendar__week-title"
|
|
146
|
+
}, (0, _toConsumableArray2.default)(Array(7).keys()).map(function (dayOfWeek) {
|
|
147
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
148
|
+
key: "day-of-week_".concat(dayOfWeek),
|
|
149
|
+
className: "range-calendar__day range-calendar__day--title"
|
|
150
|
+
}, (0, _momentTimezone.default)().weekday(dayOfWeek).format('dd').charAt(0));
|
|
151
|
+
})), Object.keys(days).map(function (week, index) {
|
|
152
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
153
|
+
key: "week_".concat(index),
|
|
154
|
+
className: "range-calendar__week"
|
|
155
|
+
}, (0, _toConsumableArray2.default)(Array(7).keys()).map(function (dayOfWeek) {
|
|
156
|
+
return renderDay(week, dayOfWeek);
|
|
157
|
+
}));
|
|
158
|
+
}));
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
var _default = RangeCalendar;
|
|
162
|
+
exports.default = _default;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
.range-calendar {
|
|
2
|
+
width: 195px;
|
|
3
|
+
min-height: 195px;
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
user-select: none;
|
|
7
|
+
|
|
8
|
+
&-header {
|
|
9
|
+
height: 24px;
|
|
10
|
+
margin-bottom: 12px;
|
|
11
|
+
|
|
12
|
+
display: flex;
|
|
13
|
+
justify-content: space-between;
|
|
14
|
+
align-items: center;
|
|
15
|
+
|
|
16
|
+
&__title {
|
|
17
|
+
line-height: 20px;
|
|
18
|
+
font-weight: 500;
|
|
19
|
+
text-align: center;
|
|
20
|
+
flex-grow: 1;
|
|
21
|
+
color: #000000;
|
|
22
|
+
display: flex;
|
|
23
|
+
align-items: center;
|
|
24
|
+
justify-content: center;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&__next, &__prev {
|
|
28
|
+
width: 16px;
|
|
29
|
+
height: 16px;
|
|
30
|
+
background-color: #E2E6F8;
|
|
31
|
+
border-radius: 5px;
|
|
32
|
+
color: #171D33;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&__week {
|
|
37
|
+
display: flex;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&__day {
|
|
41
|
+
font-size: 13px;
|
|
42
|
+
line-height: 20px;
|
|
43
|
+
margin: 1px 0;
|
|
44
|
+
flex-grow: 1;
|
|
45
|
+
flex-basis: 0;
|
|
46
|
+
text-align: center;
|
|
47
|
+
padding: 1px 6px;
|
|
48
|
+
user-select: none;
|
|
49
|
+
|
|
50
|
+
&--clickable {
|
|
51
|
+
cursor: pointer;
|
|
52
|
+
|
|
53
|
+
&:hover {
|
|
54
|
+
background: #E2E6F8;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
&--disabled {
|
|
59
|
+
cursor: default;
|
|
60
|
+
color: #9aa0b9;
|
|
61
|
+
pointer-events: none;
|
|
62
|
+
|
|
63
|
+
&:hover {
|
|
64
|
+
background: inherit;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
&--range-start, &--range-end {
|
|
69
|
+
background: #6B81DD;
|
|
70
|
+
color: white;
|
|
71
|
+
border-radius: 4px;
|
|
72
|
+
|
|
73
|
+
&:hover {
|
|
74
|
+
background: #6B81DD;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
&--range-inside {
|
|
79
|
+
background: #E2E6F8;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
&--prev-range-end {
|
|
83
|
+
background: #E2E5EC;
|
|
84
|
+
border-radius: 4px;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
&--prev-range-inside {
|
|
88
|
+
background: #F7F8FA;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
&--title {
|
|
92
|
+
font-size: 10px;
|
|
93
|
+
color: #9AA0B9;
|
|
94
|
+
font-weight: normal;
|
|
95
|
+
|
|
96
|
+
&:hover {
|
|
97
|
+
background: inherit;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
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.RangeCalendarTemplate = exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
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 _RangeCalendar = _interopRequireDefault(require("./RangeCalendar"));
|
|
21
|
+
|
|
22
|
+
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); }
|
|
23
|
+
|
|
24
|
+
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; }
|
|
25
|
+
|
|
26
|
+
global.lng = 'en';
|
|
27
|
+
var _default = {
|
|
28
|
+
title: 'RangeCalendar',
|
|
29
|
+
component: _RangeCalendar.default
|
|
30
|
+
};
|
|
31
|
+
exports.default = _default;
|
|
32
|
+
|
|
33
|
+
var Template = function Template(args) {
|
|
34
|
+
var _useState = (0, _react.useState)((0, _momentTimezone.default)().subtract(1, 'month').toDate()),
|
|
35
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
36
|
+
dateOfRenderedMonth = _useState2[0],
|
|
37
|
+
setDateOfRenderedMonth = _useState2[1];
|
|
38
|
+
|
|
39
|
+
var _useState3 = (0, _react.useState)(dateOfRenderedMonth),
|
|
40
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
41
|
+
startDate = _useState4[0],
|
|
42
|
+
setStartDate = _useState4[1];
|
|
43
|
+
|
|
44
|
+
var _useState5 = (0, _react.useState)(dateOfRenderedMonth),
|
|
45
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
46
|
+
endDate = _useState6[0],
|
|
47
|
+
setEndDate = _useState6[1];
|
|
48
|
+
|
|
49
|
+
var isFirstClickRef = (0, _react.useRef)(false);
|
|
50
|
+
|
|
51
|
+
var handleClick = function handleClick(date) {
|
|
52
|
+
if (!startDate || startDate && endDate && !(0, _momentTimezone.default)(startDate).add(1, 'd').isSame(endDate, 'day')) {
|
|
53
|
+
setStartDate((0, _momentTimezone.default)(date).startOf('day').toDate());
|
|
54
|
+
setEndDate((0, _momentTimezone.default)(date).add(1, 'd').startOf('day').toDate());
|
|
55
|
+
} else if ((0, _momentTimezone.default)(date).isBefore((0, _momentTimezone.default)(startDate), 'day')) {
|
|
56
|
+
setEndDate((0, _momentTimezone.default)(startDate).add(1, 'd').startOf('day').toDate());
|
|
57
|
+
setStartDate((0, _momentTimezone.default)(date).set('hour', parseInt(0, 10)).toDate());
|
|
58
|
+
} else if ((0, _momentTimezone.default)(date).isAfter((0, _momentTimezone.default)(startDate), 'day')) {
|
|
59
|
+
setEndDate((0, _momentTimezone.default)(date).add(1, 'd').startOf('day').toDate());
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
return /*#__PURE__*/_react.default.createElement(_RangeCalendar.default, (0, _extends2.default)({}, args, {
|
|
64
|
+
date: dateOfRenderedMonth,
|
|
65
|
+
setDate: setDateOfRenderedMonth // allowNext={true}
|
|
66
|
+
// allowPrev={true}
|
|
67
|
+
,
|
|
68
|
+
startDate: startDate,
|
|
69
|
+
endDate: endDate // startPrevDate={startPrevDate}
|
|
70
|
+
// endPrevDate={endPrevDate}
|
|
71
|
+
,
|
|
72
|
+
onClick: handleClick // onHover={handleHover}
|
|
73
|
+
|
|
74
|
+
}));
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
var RangeCalendarTemplate = Template.bind({});
|
|
78
|
+
exports.RangeCalendarTemplate = RangeCalendarTemplate;
|
|
79
|
+
RangeCalendarTemplate.args = {
|
|
80
|
+
limitRange: 60
|
|
81
|
+
};
|
|
@@ -0,0 +1,80 @@
|
|
|
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
17
|
+
|
|
18
|
+
var _utils = require("../../../Functions/utils");
|
|
19
|
+
|
|
20
|
+
require("./Arrow.scss");
|
|
21
|
+
|
|
22
|
+
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); }
|
|
23
|
+
|
|
24
|
+
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; }
|
|
25
|
+
|
|
26
|
+
var Arrow = function Arrow(_ref) {
|
|
27
|
+
var type = _ref.type,
|
|
28
|
+
className = _ref.className,
|
|
29
|
+
onClick = _ref.onClick,
|
|
30
|
+
disabled = _ref.disabled;
|
|
31
|
+
if (!type || type !== 'left' && type !== 'right') return null;
|
|
32
|
+
var ref = (0, _react.useRef)();
|
|
33
|
+
|
|
34
|
+
var _useState = (0, _react.useState)('black'),
|
|
35
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
36
|
+
color = _useState2[0],
|
|
37
|
+
setColor = _useState2[1];
|
|
38
|
+
|
|
39
|
+
(0, _react.useEffect)(function () {
|
|
40
|
+
if (ref.current) {
|
|
41
|
+
setColor((0, _utils.getStyles)(ref.current, 'color'));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
;
|
|
45
|
+
}, [ref.current]);
|
|
46
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
47
|
+
ref: ref,
|
|
48
|
+
className: (0, _classnames.default)('arrow', "arrow_".concat(type), className, {
|
|
49
|
+
'arrow_disabled': disabled
|
|
50
|
+
}),
|
|
51
|
+
onClick: onClick
|
|
52
|
+
}, type !== 'right' ? /*#__PURE__*/_react.default.createElement("svg", {
|
|
53
|
+
width: "24",
|
|
54
|
+
height: "24",
|
|
55
|
+
viewBox: "0 0 24 24",
|
|
56
|
+
fill: "none",
|
|
57
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
58
|
+
}, /*#__PURE__*/_react.default.createElement("path", {
|
|
59
|
+
d: "M15 18L9 12L15 6",
|
|
60
|
+
stroke: color,
|
|
61
|
+
"stroke-width": "2",
|
|
62
|
+
"stroke-linecap": "round",
|
|
63
|
+
"stroke-linejoin": "round"
|
|
64
|
+
})) : /*#__PURE__*/_react.default.createElement("svg", {
|
|
65
|
+
width: "24",
|
|
66
|
+
height: "24",
|
|
67
|
+
viewBox: "0 0 24 24",
|
|
68
|
+
fill: "none",
|
|
69
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
70
|
+
}, /*#__PURE__*/_react.default.createElement("path", {
|
|
71
|
+
d: "M9 18L15 12L9 6",
|
|
72
|
+
stroke: color,
|
|
73
|
+
"stroke-width": "2",
|
|
74
|
+
"stroke-linecap": "round",
|
|
75
|
+
"stroke-linejoin": "round"
|
|
76
|
+
})));
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
var _default = Arrow;
|
|
80
|
+
exports.default = _default;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
.arrow {
|
|
2
|
+
width: 24px;
|
|
3
|
+
height: 24px;
|
|
4
|
+
color: #1F7499;
|
|
5
|
+
// cursor: pointer;
|
|
6
|
+
// border: 1px solid #EAF2FF;
|
|
7
|
+
|
|
8
|
+
&_disabled {
|
|
9
|
+
pointer-events: none;
|
|
10
|
+
opacity: 0.5;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.arrow>svg {
|
|
15
|
+
width: 100%;
|
|
16
|
+
height: 100%;
|
|
17
|
+
pointer-events: none;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.ArrowTemplate = exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _reactFeather = require("react-feather");
|
|
13
|
+
|
|
14
|
+
var _Arrow = _interopRequireDefault(require("./Arrow"));
|
|
15
|
+
|
|
16
|
+
global.lng = 'en';
|
|
17
|
+
var _default = {
|
|
18
|
+
title: 'UI/Arrow',
|
|
19
|
+
component: _Arrow.default,
|
|
20
|
+
argTypes: {
|
|
21
|
+
type: {
|
|
22
|
+
description: 'string: ["left", "right"]',
|
|
23
|
+
control: {
|
|
24
|
+
type: 'select',
|
|
25
|
+
options: ['left', 'right']
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
exports.default = _default;
|
|
31
|
+
|
|
32
|
+
var Template = function Template(args) {
|
|
33
|
+
var className = args.className,
|
|
34
|
+
onClick = args.onClick;
|
|
35
|
+
return /*#__PURE__*/_react.default.createElement(_Arrow.default, args);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
var ArrowTemplate = Template.bind({});
|
|
39
|
+
exports.ArrowTemplate = ArrowTemplate;
|
|
40
|
+
ArrowTemplate.args = {
|
|
41
|
+
type: 'left',
|
|
42
|
+
className: 'externall-class-name',
|
|
43
|
+
onClick: function onClick(ev) {
|
|
44
|
+
return console.log(ev.target.className);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
@@ -24,13 +24,15 @@ var Button = function Button(_ref) {
|
|
|
24
24
|
icon = _ref.icon,
|
|
25
25
|
className = _ref.className,
|
|
26
26
|
children = _ref.children,
|
|
27
|
-
style = _ref.style
|
|
27
|
+
style = _ref.style,
|
|
28
|
+
noIcon = _ref.noIcon;
|
|
29
|
+
var noRenderIcon = noIcon || variant === "ellipse-apply" || variant === "ellipse-cancel";
|
|
28
30
|
return /*#__PURE__*/_react.default.createElement("button", {
|
|
29
31
|
style: style,
|
|
30
32
|
className: (0, _classnames.default)(className, 'button', (0, _defineProperty2.default)({}, "button_".concat(variant), variant)),
|
|
31
33
|
onClick: onClick,
|
|
32
34
|
disabled: disabled
|
|
33
|
-
}, icon, label && /*#__PURE__*/_react.default.createElement("div", {
|
|
35
|
+
}, !noRenderIcon && icon, label && /*#__PURE__*/_react.default.createElement("div", {
|
|
34
36
|
className: "button__text"
|
|
35
37
|
}, label), !label && children ? children : null);
|
|
36
38
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
.button {
|
|
2
2
|
display: inline-flex;
|
|
3
|
+
justify-content: center;
|
|
3
4
|
align-items: center;
|
|
4
5
|
font-size: 13px;
|
|
5
6
|
line-height: 20px;
|
|
@@ -45,6 +46,31 @@
|
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
48
|
|
|
49
|
+
&_ellipse-apply{
|
|
50
|
+
padding: 8px 16px;
|
|
51
|
+
border-radius: 40px;
|
|
52
|
+
background: #1F7499;
|
|
53
|
+
font-family: 'Sarabun';
|
|
54
|
+
font-style: normal;
|
|
55
|
+
font-weight: 500;
|
|
56
|
+
font-size: 16px;
|
|
57
|
+
line-height: 24px;
|
|
58
|
+
letter-spacing: 0.1px;
|
|
59
|
+
color: #FFFFFF;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
&_ellipse-cancel{
|
|
63
|
+
padding: 8px 18px;
|
|
64
|
+
border-radius: 32px;
|
|
65
|
+
font-family: Sarabun;
|
|
66
|
+
font-style: normal;
|
|
67
|
+
font-weight: normal;
|
|
68
|
+
font-size: 14px;
|
|
69
|
+
line-height: 20px;
|
|
70
|
+
letter-spacing: 0.2px;
|
|
71
|
+
color: #1F7499;
|
|
72
|
+
}
|
|
73
|
+
|
|
48
74
|
&_link {
|
|
49
75
|
color: #6b81dd;
|
|
50
76
|
box-shadow: none;
|
|
@@ -19,10 +19,10 @@ var _default = {
|
|
|
19
19
|
component: _Button.default,
|
|
20
20
|
argTypes: {
|
|
21
21
|
variant: {
|
|
22
|
-
description: 'string: ["primary", "secondary", "dark-outline"]',
|
|
22
|
+
description: 'string: ["primary", "secondary", "dark-outline", "ellipse-apply", "ellipse-cancel"]',
|
|
23
23
|
control: {
|
|
24
24
|
type: 'select',
|
|
25
|
-
options: ['primary', 'secondary', 'dark-outline', 'link']
|
|
25
|
+
options: ['primary', 'secondary', 'dark-outline', 'link', 'ellipse-apply', 'ellipse-cancel']
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
label: {
|