intelicoreact 0.0.49 → 0.0.61

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 (60) hide show
  1. package/dist/Atomic/FormElements/DateTime/DateTime.stories.js +1 -1
  2. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +5 -7
  3. package/dist/Atomic/FormElements/Input/Input.js +10 -11
  4. package/dist/Atomic/FormElements/Input/Input.stories.js +5 -1
  5. package/dist/Atomic/FormElements/{Calendar/Calendar.stories.js → InputCalendar/InputCalendar.js} +40 -26
  6. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +46 -0
  7. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +249 -0
  8. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.scss +568 -0
  9. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +87 -0
  10. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +486 -0
  11. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +154 -0
  12. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +38 -0
  13. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +241 -0
  14. package/dist/Atomic/FormElements/Modal/Modal.stories.js +64 -18
  15. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +162 -0
  16. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +101 -0
  17. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +81 -0
  18. package/dist/Atomic/UI/Arrow/Arrow.js +80 -0
  19. package/dist/Atomic/UI/Arrow/Arrow.scss +19 -0
  20. package/dist/Atomic/UI/Arrow/Arrow.stories.js +46 -0
  21. package/dist/Atomic/UI/Button/Button.js +4 -2
  22. package/dist/Atomic/UI/Button/Button.scss +26 -0
  23. package/dist/Atomic/UI/Button/Button.stories.js +2 -2
  24. package/dist/Atomic/{FormElements → UI}/Calendar/Calendar.js +20 -9
  25. package/dist/Atomic/UI/Calendar/Calendar.scss +544 -0
  26. package/dist/Atomic/UI/Calendar/Calendar.stories.js +37 -0
  27. package/dist/Atomic/UI/Price/Price.js +1 -0
  28. package/dist/Functions/utils.js +10 -2
  29. package/package.json +7 -5
  30. package/src/Atomic/FormElements/DateTime/DateTime.stories.js +1 -1
  31. package/src/Atomic/FormElements/Dropdown/Dropdown.js +2 -3
  32. package/src/Atomic/FormElements/Input/Input.js +10 -9
  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.js +234 -0
  37. package/src/Atomic/FormElements/InputDateRange/InputDateRange.scss +568 -0
  38. package/src/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +58 -0
  39. package/src/Atomic/FormElements/InputDateRange/components/Datepicker.js +406 -0
  40. package/src/Atomic/FormElements/InputDateRange/components/OpenedPart.js +112 -0
  41. package/src/Atomic/FormElements/InputDateRange/components/SelectItem.js +22 -0
  42. package/src/Atomic/FormElements/InputDateRange/dependencies.js +153 -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 +19 -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/Atomic/UI/Price/Price.js +1 -0
  57. package/src/Functions/utils.js +6 -0
  58. package/dist/Atomic/FormElements/Calendar/Calendar.scss +0 -543
  59. package/src/Atomic/FormElements/Calendar/Calendar.scss +0 -543
  60. package/src/Atomic/FormElements/Calendar/Calendar.stories.js +0 -38
@@ -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,19 @@
1
+ .arrow {
2
+ width: 24px;
3
+ height: 24px;
4
+
5
+ &_disabled {
6
+ pointer-events: none;
7
+ opacity: 0.5;
8
+ }
9
+ }
10
+
11
+ .arrow>svg {
12
+ width: 100%;
13
+ height: 100%;
14
+ pointer-events: none;
15
+ }
16
+
17
+
18
+
19
+
@@ -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: {
@@ -33,18 +33,26 @@ function _default(props) {
33
33
  _props$allowPrev = props.allowPrev,
34
34
  allowPrev = _props$allowPrev === void 0 ? true : _props$allowPrev,
35
35
  _props$allowNext = props.allowNext,
36
- allowNext = _props$allowNext === void 0 ? true : _props$allowNext;
36
+ allowNext = _props$allowNext === void 0 ? true : _props$allowNext,
37
+ params = props.params;
38
+ var minDate = params.minDate,
39
+ maxDate = params.maxDate;
37
40
 
38
41
  var _useState = (0, _react.useState)({}),
39
42
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
40
43
  days = _useState2[0],
41
44
  setDays = _useState2[1];
42
45
 
43
- var selectedDay = (0, _moment.default)(date);
46
+ var _useState3 = (0, _react.useState)(date),
47
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
48
+ showDate = _useState4[0],
49
+ setShowDate = _useState4[1];
50
+
51
+ var selectedDay = (0, _moment.default)(showDate);
44
52
  var isError = 'Invalid date';
45
53
  var title = (0, _react.useMemo)(function () {
46
- return selectedDay.format('MMM') === isError ? isError : "".concat(selectedDay.format('MMM'), " ").concat((0, _moment.default)(date).format('YYYY'));
47
- }, [date]);
54
+ return selectedDay.format('MMM') === isError ? isError : "".concat(selectedDay.format('MMM'), " ").concat((0, _moment.default)(showDate).format('YYYY'));
55
+ }, [date, showDate]);
48
56
  (0, _react.useEffect)(function () {
49
57
  var result = {};
50
58
  var day = selectedDay.startOf('month');
@@ -66,20 +74,23 @@ function _default(props) {
66
74
  }
67
75
 
68
76
  setDays(result);
69
- }, [date]);
77
+ }, [showDate]);
70
78
 
71
79
  var renderDay = function renderDay(week, dayOfWeek) {
72
80
  var day = days[week][dayOfWeek];
73
81
  if (!day) return /*#__PURE__*/_react.default.createElement("div", {
74
82
  className: "calendar__day"
75
83
  });
76
- var isFutureDay = day && (0, _moment.default)(day.date).isAfter((0, _moment.default)(), 'day');
84
+ var isFutureDay = day && maxDate ? (0, _moment.default)(day.date).isAfter((0, _moment.default)(maxDate || ''), 'day') : (0, _moment.default)(day.date).isAfter((0, _moment.default)(), 'day');
85
+ var isBeforeDay = day && (0, _moment.default)(day.date).isBefore((0, _moment.default)(minDate || ''), 'day');
77
86
  var classNames = (0, _classnames.default)('calendar__day', {
78
87
  'calendar__day--clickable': day
79
88
  }, {
80
89
  'calendar__day--disabled': isFutureDay
81
90
  }, {
82
- 'calendar__day--selected': selectedDay.format() === (0, _moment.default)(day.date).format()
91
+ 'calendar__day--disabled': isBeforeDay
92
+ }, {
93
+ 'calendar__day--selected': (0, _moment.default)(date).format() === (0, _moment.default)(day.date).format()
83
94
  });
84
95
  return /*#__PURE__*/_react.default.createElement("div", {
85
96
  key: "".concat(week, "_").concat(dayOfWeek),
@@ -93,11 +104,11 @@ function _default(props) {
93
104
  };
94
105
 
95
106
  var handlePrev = function handlePrev() {
96
- setDate((0, _moment.default)(date).subtract(1, 'month').format('L'));
107
+ setShowDate((0, _moment.default)(showDate).subtract(1, 'month').format('L'));
97
108
  };
98
109
 
99
110
  var handleNext = function handleNext() {
100
- setDate((0, _moment.default)(date).add(1, 'month').format('L'));
111
+ setShowDate((0, _moment.default)(showDate).add(1, 'month').format('L'));
101
112
  };
102
113
 
103
114
  return /*#__PURE__*/_react.default.createElement("div", {