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,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: {