intelicoreact 0.0.4 → 0.0.8

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 (147) hide show
  1. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +6 -2
  2. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +91 -60
  3. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +2 -1
  4. package/dist/Atomic/FormElements/DateTime/DateTime.stories.js +1 -1
  5. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +64 -32
  6. package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +26 -3
  7. package/dist/Atomic/FormElements/Dropdown/Dropdown.stories.js +40 -9
  8. package/dist/Atomic/FormElements/Input/Input.js +141 -97
  9. package/dist/Atomic/FormElements/Input/Input.scss +18 -15
  10. package/dist/Atomic/FormElements/Input/Input.stories.js +46 -29
  11. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +89 -0
  12. package/dist/Atomic/FormElements/{Calendar/Calendar.stories.js → InputCalendar/InputCalendar.stories.js} +19 -20
  13. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +234 -0
  14. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.scss +626 -0
  15. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +91 -0
  16. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +491 -0
  17. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +156 -0
  18. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +46 -0
  19. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +249 -0
  20. package/dist/Atomic/FormElements/Label/Label.js +3 -10
  21. package/dist/Atomic/FormElements/Label/Label.scss +2 -0
  22. package/dist/Atomic/FormElements/Label/Label.stories.js +5 -4
  23. package/dist/Atomic/FormElements/Modal/Modal.stories.js +64 -18
  24. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +254 -0
  25. package/dist/Atomic/FormElements/NumericInput/NumericInput.scss +135 -0
  26. package/dist/Atomic/FormElements/NumericInput/NumericInput.stories.js +121 -0
  27. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +167 -0
  28. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +101 -0
  29. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +81 -0
  30. package/dist/Atomic/FormElements/Table/Table.scss +1 -1
  31. package/dist/Atomic/FormElements/Textarea/Textarea.scss +1 -1
  32. package/dist/Atomic/MainMenu/MainMenu.scss +2 -2
  33. package/dist/Atomic/UI/Accordion/Accordion.scss +2 -2
  34. package/dist/Atomic/UI/Arrow/Arrow.js +80 -0
  35. package/dist/Atomic/UI/Arrow/Arrow.scss +19 -0
  36. package/dist/Atomic/UI/Arrow/Arrow.stories.js +46 -0
  37. package/dist/Atomic/UI/Button/Button.js +4 -2
  38. package/dist/Atomic/UI/Button/Button.scss +26 -0
  39. package/dist/Atomic/UI/Button/Button.stories.js +2 -2
  40. package/dist/Atomic/UI/Calendar/Calendar.js +146 -0
  41. package/dist/Atomic/UI/Calendar/Calendar.scss +544 -0
  42. package/dist/Atomic/UI/Calendar/Calendar.stories.js +38 -0
  43. package/dist/Atomic/UI/Price/Price.js +1 -0
  44. package/dist/Atomic/UI/Status/Status.scss +1 -1
  45. package/dist/Constants/index.constants.js +8 -0
  46. package/dist/Functions/inputExecutor.js +58 -0
  47. package/dist/Functions/useClickOutside.js +25 -0
  48. package/dist/Functions/utils.js +10 -2
  49. package/dist/Molecular/Datepicker/Datepicker.js +451 -0
  50. package/dist/Molecular/Datepicker/Datepicker.scss +8 -0
  51. package/dist/Molecular/Datepicker/Datepicker.stories.js +44 -0
  52. package/dist/Molecular/Datepicker/components/Calendar.js +156 -0
  53. package/dist/Molecular/FormElements/FormElement.js +40 -0
  54. package/dist/Molecular/FormElements/FormElement.scss +8 -0
  55. package/dist/Molecular/FormElements/FormElement.stories.js +73 -0
  56. package/dist/scss/_vars.scss +3 -1
  57. package/dist/scss/main.scss +3 -3
  58. package/package.json +9 -4
  59. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.js +12 -2
  60. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +91 -60
  61. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +4 -3
  62. package/src/Atomic/FormElements/DateTime/DateTime.stories.js +1 -1
  63. package/src/Atomic/FormElements/Dropdown/Dropdown.js +57 -19
  64. package/src/Atomic/FormElements/Dropdown/Dropdown.scss +26 -3
  65. package/src/Atomic/FormElements/Dropdown/Dropdown.stories.js +37 -15
  66. package/src/Atomic/FormElements/Input/Input.js +136 -79
  67. package/src/Atomic/FormElements/Input/Input.scss +18 -15
  68. package/src/Atomic/FormElements/Input/Input.stories.js +48 -31
  69. package/src/Atomic/FormElements/InputCalendar/InputCalendar.js +43 -0
  70. package/src/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +27 -0
  71. package/src/Atomic/FormElements/InputDateRange/InputDateRange.js +214 -0
  72. package/src/Atomic/FormElements/InputDateRange/InputDateRange.scss +626 -0
  73. package/src/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +61 -0
  74. package/src/Atomic/FormElements/InputDateRange/components/Datepicker.js +412 -0
  75. package/src/Atomic/FormElements/InputDateRange/components/OpenedPart.js +114 -0
  76. package/src/Atomic/FormElements/InputDateRange/components/SelectItem.js +24 -0
  77. package/src/Atomic/FormElements/InputDateRange/dependencies.js +161 -0
  78. package/src/Atomic/FormElements/Label/Label.js +3 -4
  79. package/src/Atomic/FormElements/Label/Label.scss +2 -0
  80. package/src/Atomic/FormElements/Label/Label.stories.js +5 -4
  81. package/src/Atomic/FormElements/Modal/Modal.stories.js +60 -15
  82. package/src/Atomic/FormElements/NumericInput/NumericInput.js +220 -0
  83. package/src/Atomic/FormElements/NumericInput/NumericInput.scss +135 -0
  84. package/src/Atomic/FormElements/NumericInput/NumericInput.stories.js +94 -0
  85. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.js +146 -0
  86. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +101 -0
  87. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +54 -0
  88. package/src/Atomic/FormElements/Table/Table.scss +1 -1
  89. package/src/Atomic/FormElements/Textarea/Textarea.scss +1 -1
  90. package/src/Atomic/MainMenu/MainMenu.scss +2 -2
  91. package/src/Atomic/UI/Accordion/Accordion.scss +2 -2
  92. package/src/Atomic/UI/Arrow/Arrow.js +41 -0
  93. package/src/Atomic/UI/Arrow/Arrow.scss +19 -0
  94. package/src/Atomic/UI/Arrow/Arrow.stories.js +32 -0
  95. package/src/Atomic/UI/Button/Button.js +3 -3
  96. package/src/Atomic/UI/Button/Button.scss +26 -0
  97. package/src/Atomic/UI/Button/Button.stories.js +4 -3
  98. package/src/Atomic/{FormElements → UI}/Calendar/Calendar.js +26 -23
  99. package/src/Atomic/UI/Calendar/Calendar.scss +544 -0
  100. package/src/Atomic/UI/Calendar/Calendar.stories.js +24 -0
  101. package/src/Atomic/UI/Price/Price.js +1 -0
  102. package/src/Atomic/UI/Status/Status.scss +1 -1
  103. package/src/Constants/index.constants.js +41 -0
  104. package/src/Functions/inputExecutor.js +62 -0
  105. package/src/Functions/useClickOutside.js +15 -0
  106. package/src/Functions/utils.js +10 -1
  107. package/src/Molecular/Datepicker/Datepicker.js +346 -0
  108. package/src/Molecular/Datepicker/Datepicker.scss +8 -0
  109. package/src/Molecular/Datepicker/Datepicker.stories.js +27 -0
  110. package/src/Molecular/Datepicker/components/Calendar.js +118 -0
  111. package/src/Molecular/FormElements/FormElement.js +18 -0
  112. package/src/Molecular/FormElements/FormElement.scss +8 -0
  113. package/src/Molecular/FormElements/FormElement.stories.js +59 -0
  114. package/src/scss/_vars.scss +3 -1
  115. package/src/scss/main.scss +3 -3
  116. package/dist/Atomic/FormElements/Calendar/Calendar.js +0 -127
  117. package/dist/Atomic/FormElements/Calendar/Calendar.scss +0 -498
  118. package/dist/scss/anme/_anme-bootstrap-grid.scss +0 -748
  119. package/dist/scss/anme/_anme-elements.scss +0 -269
  120. package/dist/scss/anme/_anme-grid.scss +0 -111
  121. package/dist/scss/anme/_anme-justify.scss +0 -111
  122. package/dist/scss/anme/_anme-mixins-media.scss +0 -116
  123. package/dist/scss/anme/_anme-mixins.scss +0 -166
  124. package/dist/scss/anme/_anme-normalize.scss +0 -8
  125. package/dist/scss/anme/_anme-overall.scss +0 -34
  126. package/dist/scss/anme/_anme-padding-margins.scss +0 -419
  127. package/dist/scss/anme/_anme-table.scss +0 -81
  128. package/dist/scss/anme/_anme-theme.scss +0 -275
  129. package/dist/scss/anme/_anme-vars.scss +0 -91
  130. package/dist/scss/anme/_code-styling.scss +0 -23
  131. package/dist/scss/anme/styles.scss +0 -12
  132. package/src/Atomic/FormElements/Calendar/Calendar.scss +0 -498
  133. package/src/Atomic/FormElements/Calendar/Calendar.stories.js +0 -26
  134. package/src/scss/anme/_anme-bootstrap-grid.scss +0 -748
  135. package/src/scss/anme/_anme-elements.scss +0 -269
  136. package/src/scss/anme/_anme-grid.scss +0 -111
  137. package/src/scss/anme/_anme-justify.scss +0 -111
  138. package/src/scss/anme/_anme-mixins-media.scss +0 -116
  139. package/src/scss/anme/_anme-mixins.scss +0 -166
  140. package/src/scss/anme/_anme-normalize.scss +0 -8
  141. package/src/scss/anme/_anme-overall.scss +0 -34
  142. package/src/scss/anme/_anme-padding-margins.scss +0 -419
  143. package/src/scss/anme/_anme-table.scss +0 -81
  144. package/src/scss/anme/_anme-theme.scss +0 -275
  145. package/src/scss/anme/_anme-vars.scss +0 -91
  146. package/src/scss/anme/_code-styling.scss +0 -23
  147. package/src/scss/anme/styles.scss +0 -12
@@ -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
+ };
@@ -1,4 +1,4 @@
1
- @import '../../../scss/anme/anme-vars';
1
+ @import '~anme/scss/anme-vars';
2
2
 
3
3
  .table-header {
4
4
  &--weight-actions {
@@ -1,5 +1,5 @@
1
1
  @import "../../../scss/vars";
2
- @import "../../../scss/anme/anme-mixins";
2
+ @import "~anme/scss/anme-mixins";
3
3
 
4
4
  .textarea {
5
5
  border: 1px solid #e2e5ec;
@@ -1,5 +1,5 @@
1
- @import "../../scss/anme/anme-vars";
2
- @import "../../scss/anme/anme-mixins";
1
+ @import "~anme/scss/anme-vars";
2
+ @import "~anme/scss/anme-mixins";
3
3
 
4
4
  .main-menu {
5
5
  display: flex;
@@ -1,5 +1,5 @@
1
- @import '../../../scss/anme/anme-vars';
2
- @import '../../../scss/anme/anme-mixins';
1
+ @import '~anme/scss/anme-vars';
2
+ @import '~anme/scss/anme-mixins';
3
3
 
4
4
  .accordion {
5
5
  &--item {
@@ -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
+ strokeWidth: "2",
62
+ strokeLinecap: "round",
63
+ strokeLinejoin: "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
+ strokeWidth: "2",
74
+ strokeLinecap: "round",
75
+ strokeLinejoin: "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: {
@@ -0,0 +1,146 @@
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 = _default;
11
+
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _moment = _interopRequireDefault(require("moment"));
21
+
22
+ var _reactFeather = require("react-feather");
23
+
24
+ require("./Calendar.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
+ function _default(props) {
31
+ var date = props.date,
32
+ setDate = props.setDate,
33
+ _props$allowPrev = props.allowPrev,
34
+ allowPrev = _props$allowPrev === void 0 ? true : _props$allowPrev,
35
+ _props$allowNext = props.allowNext,
36
+ allowNext = _props$allowNext === void 0 ? true : _props$allowNext,
37
+ params = props.params,
38
+ className = props.className;
39
+ var minDate = params.minDate,
40
+ maxDate = params.maxDate;
41
+
42
+ var _useState = (0, _react.useState)({}),
43
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
44
+ days = _useState2[0],
45
+ setDays = _useState2[1];
46
+
47
+ var _useState3 = (0, _react.useState)(date),
48
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
49
+ showDate = _useState4[0],
50
+ setShowDate = _useState4[1];
51
+
52
+ var selectedDay = (0, _moment.default)(showDate);
53
+ var isError = 'Invalid date';
54
+ var title = (0, _react.useMemo)(function () {
55
+ return selectedDay.format('MMM') === isError ? isError : "".concat(selectedDay.format('MMM'), " ").concat((0, _moment.default)(showDate).format('YYYY'));
56
+ }, [date, showDate]);
57
+ (0, _react.useEffect)(function () {
58
+ var result = {};
59
+ var day = selectedDay.startOf('month');
60
+ var daysInMonth = day.daysInMonth();
61
+
62
+ for (var d = 0; d < daysInMonth; d += 1) {
63
+ var week = day.week();
64
+ if (day.month() === 11 && week === 1) week = 53;
65
+ if (day.month() === 0 && week === 53) week = 0;
66
+
67
+ if (!Object.prototype.hasOwnProperty.call(result, week)) {
68
+ result[week] = {};
69
+ }
70
+
71
+ result[week][day.weekday()] = {
72
+ date: day.toDate()
73
+ };
74
+ day.add(1, 'd');
75
+ }
76
+
77
+ setDays(result);
78
+ }, [showDate]);
79
+
80
+ var renderDay = function renderDay(week, dayOfWeek) {
81
+ var day = days[week][dayOfWeek];
82
+ if (!day) return /*#__PURE__*/_react.default.createElement("div", {
83
+ className: "calendar__day"
84
+ });
85
+ 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');
86
+ var isBeforeDay = day && (0, _moment.default)(day.date).isBefore((0, _moment.default)(minDate || ''), 'day');
87
+ var classNames = (0, _classnames.default)('calendar__day', {
88
+ 'calendar__day--clickable': day
89
+ }, {
90
+ 'calendar__day--disabled': isFutureDay
91
+ }, {
92
+ 'calendar__day--disabled': isBeforeDay
93
+ }, {
94
+ 'calendar__day--selected': (0, _moment.default)(date).format() === (0, _moment.default)(day.date).format()
95
+ });
96
+ return /*#__PURE__*/_react.default.createElement("div", {
97
+ key: "".concat(week, "_").concat(dayOfWeek),
98
+ className: classNames,
99
+ onClick: day && !isFutureDay ? function () {
100
+ return setDate((0, _moment.default)(day.date).format('L'));
101
+ } : null // onMouseOver={day && !isFutureDay ? () => onHover(day.date) : null}
102
+ // onMouseLeave={() => onHover(null)}
103
+
104
+ }, day && day.date.getDate());
105
+ };
106
+
107
+ var handlePrev = function handlePrev() {
108
+ setShowDate((0, _moment.default)(showDate).subtract(1, 'month').format('L'));
109
+ };
110
+
111
+ var handleNext = function handleNext() {
112
+ setShowDate((0, _moment.default)(showDate).add(1, 'month').format('L'));
113
+ };
114
+
115
+ return /*#__PURE__*/_react.default.createElement("div", {
116
+ className: "calendar ".concat(className)
117
+ }, /*#__PURE__*/_react.default.createElement("div", {
118
+ className: "calendar-header"
119
+ }, /*#__PURE__*/_react.default.createElement("div", {
120
+ className: "calendar-header__prev"
121
+ }, allowPrev && /*#__PURE__*/_react.default.createElement("div", {
122
+ onClick: handlePrev
123
+ }, /*#__PURE__*/_react.default.createElement(_reactFeather.ChevronLeft, null))), /*#__PURE__*/_react.default.createElement("div", {
124
+ className: "calendar-header__title"
125
+ }, title), /*#__PURE__*/_react.default.createElement("div", {
126
+ className: "calendar-header__next"
127
+ }, allowNext && /*#__PURE__*/_react.default.createElement("div", {
128
+ onClick: handleNext
129
+ }, /*#__PURE__*/_react.default.createElement(_reactFeather.ChevronRight, null)))), /*#__PURE__*/_react.default.createElement("div", {
130
+ className: "calendar__week"
131
+ }, (0, _toConsumableArray2.default)(Array(7).keys()).map(function (dayOfWeek) {
132
+ return /*#__PURE__*/_react.default.createElement("div", {
133
+ key: "day-of-week_".concat(dayOfWeek),
134
+ className: "calendar__day calendar__day--title"
135
+ }, (0, _moment.default)().weekday(dayOfWeek).format('dd').charAt(0));
136
+ })), Object.keys(days).map(function (week, index) {
137
+ return /*#__PURE__*/_react.default.createElement("div", {
138
+ key: "week_".concat(index),
139
+ className: "calendar__week"
140
+ }, (0, _toConsumableArray2.default)(Array(7).keys()).map(function (dayOfWeek) {
141
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
142
+ key: "calendar-day--".concat(dayOfWeek)
143
+ }, renderDay(week, dayOfWeek));
144
+ }));
145
+ }));
146
+ }