intelicoreact 0.0.24 → 0.0.41

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/Calendar/Calendar.js +134 -0
  2. package/dist/Atomic/FormElements/Calendar/Calendar.scss +543 -0
  3. package/dist/Atomic/FormElements/Calendar/Calendar.stories.js +75 -0
  4. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +3 -5
  5. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +2 -5
  6. package/dist/Atomic/FormElements/DateTime/DateTime.stories.js +0 -2
  7. package/dist/Atomic/FormElements/DoubleString/DoubleString.stories.js +0 -2
  8. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +3 -3
  9. package/dist/Atomic/FormElements/Dropdown/Dropdown.stories.js +0 -2
  10. package/dist/Atomic/FormElements/Header/Header.js +8 -10
  11. package/dist/Atomic/FormElements/Header/Header.scss +16 -5
  12. package/dist/Atomic/FormElements/Header/Header.stories.js +0 -2
  13. package/dist/Atomic/FormElements/Input/Input.js +93 -103
  14. package/dist/Atomic/FormElements/Input/Input.scss +25 -10
  15. package/dist/Atomic/FormElements/Input/Input.stories.js +32 -27
  16. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +30 -7
  17. package/dist/Atomic/FormElements/InputsRow/InputsRow.scss +1 -3
  18. package/dist/Atomic/FormElements/InputsRow/InputsRow.stories.js +0 -2
  19. package/dist/Atomic/FormElements/Label/Label.js +2 -4
  20. package/dist/Atomic/FormElements/Label/Label.scss +1 -3
  21. package/dist/Atomic/FormElements/Label/Label.stories.js +0 -2
  22. package/dist/Atomic/FormElements/Modal/Modal.js +5 -7
  23. package/dist/Atomic/FormElements/Modal/Modal.scss +61 -7
  24. package/dist/Atomic/FormElements/Modal/Modal.stories.js +3 -3
  25. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +3 -5
  26. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.scss +1 -3
  27. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.stories.js +0 -2
  28. package/dist/Atomic/FormElements/NavLine/NavLine.js +2 -2
  29. package/dist/Atomic/FormElements/NavLine/NavLine.scss +4 -6
  30. package/dist/Atomic/FormElements/NavLine/NavLine.stories.js +21 -13
  31. package/dist/Atomic/FormElements/RadioInput/RadioInput.stories.js +0 -2
  32. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.stories.js +0 -2
  33. package/dist/Atomic/FormElements/Switcher/Switcher.stories.js +0 -2
  34. package/dist/Atomic/FormElements/Table/Partials/TdCell.js +1 -1
  35. package/dist/Atomic/FormElements/Table/Partials/TdHeader.js +2 -2
  36. package/dist/Atomic/FormElements/Table/TdTypes/TdActions.js +5 -5
  37. package/dist/Atomic/FormElements/Table/TdTypes/TdPriority.js +3 -3
  38. package/dist/Atomic/FormElements/Table/TdTypes/TdTypes.scss +4 -6
  39. package/dist/Atomic/FormElements/Table/TdTypes/TdWeight.js +2 -2
  40. package/dist/Atomic/FormElements/Tag/Tag.js +2 -2
  41. package/dist/Atomic/FormElements/Tag/Tag.stories.js +0 -2
  42. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +3 -3
  43. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.stories.js +0 -2
  44. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.stories.js +0 -2
  45. package/dist/Atomic/FormElements/Textarea/Textarea.stories.js +0 -2
  46. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +1 -1
  47. package/dist/Atomic/FormElements/TimeRange/TimeRange.stories.js +0 -2
  48. package/dist/Atomic/MainMenu/MainMenu.js +4 -4
  49. package/dist/Atomic/MainMenu/MainMenu.stories.js +11 -11
  50. package/dist/Atomic/UI/Accordion/Accordion.js +1 -1
  51. package/dist/Atomic/UI/Accordion/Accordion.stories.js +4 -4
  52. package/dist/Atomic/UI/Accordion/AccordionItem.js +3 -3
  53. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +3 -3
  54. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +4 -3
  55. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.scss +3 -5
  56. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.stories.js +1 -3
  57. package/dist/Atomic/UI/Alert/Alert.js +7 -4
  58. package/dist/Atomic/UI/Alert/Alert.scss +7 -0
  59. package/dist/Atomic/UI/Alert/Alert.stories.js +1 -3
  60. package/dist/Atomic/UI/Button/Button.js +8 -19
  61. package/dist/Atomic/UI/Button/Button.scss +44 -42
  62. package/dist/Atomic/UI/Button/Button.stories.js +7 -23
  63. package/dist/Atomic/UI/Header/partials/default_ava.png +0 -0
  64. package/dist/Atomic/UI/Hint/Hint.js +8 -13
  65. package/dist/Atomic/UI/Hint/Hint.scss +8 -12
  66. package/dist/Atomic/UI/Hint/Hint.stories.js +3 -4
  67. package/dist/Atomic/UI/Price/Price.js +32 -0
  68. package/dist/Atomic/UI/Price/Price.stories.js +42 -0
  69. package/dist/Atomic/{FormElements → UI}/Status/Status.js +4 -6
  70. package/dist/Atomic/{FormElements → UI}/Status/Status.scss +0 -0
  71. package/dist/Atomic/{FormElements → UI}/Status/Status.stories.js +4 -3
  72. package/dist/Functions/useClickOutside.js +25 -0
  73. package/dist/scss/main.scss +2 -2
  74. package/package.json +7 -5
  75. package/src/Atomic/FormElements/Calendar/Calendar.js +106 -0
  76. package/src/Atomic/FormElements/Calendar/Calendar.scss +543 -0
  77. package/src/Atomic/FormElements/Calendar/Calendar.stories.js +38 -0
  78. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +3 -5
  79. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +3 -5
  80. package/src/Atomic/FormElements/DateTime/DateTime.stories.js +0 -2
  81. package/src/Atomic/FormElements/DoubleString/DoubleString.stories.js +0 -2
  82. package/src/Atomic/FormElements/Dropdown/Dropdown.js +3 -3
  83. package/src/Atomic/FormElements/Dropdown/Dropdown.stories.js +0 -1
  84. package/src/Atomic/FormElements/Header/Header.js +8 -9
  85. package/src/Atomic/FormElements/Header/Header.scss +16 -5
  86. package/src/Atomic/FormElements/Header/Header.stories.js +0 -2
  87. package/src/Atomic/FormElements/Input/Input.js +77 -73
  88. package/src/Atomic/FormElements/Input/Input.scss +25 -10
  89. package/src/Atomic/FormElements/Input/Input.stories.js +24 -29
  90. package/src/Atomic/FormElements/InputsRow/InputsRow.js +28 -5
  91. package/src/Atomic/FormElements/InputsRow/InputsRow.scss +1 -3
  92. package/src/Atomic/FormElements/InputsRow/InputsRow.stories.js +0 -2
  93. package/src/Atomic/FormElements/Label/Label.js +2 -4
  94. package/src/Atomic/FormElements/Label/Label.scss +1 -3
  95. package/src/Atomic/FormElements/Label/Label.stories.js +1 -2
  96. package/src/Atomic/FormElements/Modal/Modal.js +5 -8
  97. package/src/Atomic/FormElements/Modal/Modal.scss +61 -7
  98. package/src/Atomic/FormElements/Modal/Modal.stories.js +3 -3
  99. package/src/Atomic/FormElements/MultiSelect/MultiSelect.js +3 -5
  100. package/src/Atomic/FormElements/MultiSelect/MultiSelect.scss +1 -3
  101. package/src/Atomic/FormElements/MultiSelect/MultiSelect.stories.js +1 -2
  102. package/src/Atomic/FormElements/NavLine/NavLine.js +4 -4
  103. package/src/Atomic/FormElements/NavLine/NavLine.scss +4 -6
  104. package/src/Atomic/FormElements/NavLine/NavLine.stories.js +24 -14
  105. package/src/Atomic/FormElements/RadioInput/RadioInput.stories.js +0 -2
  106. package/src/Atomic/FormElements/RangeInputs/RangeInputs.stories.js +0 -1
  107. package/src/Atomic/FormElements/Switcher/Switcher.stories.js +0 -2
  108. package/src/Atomic/FormElements/Table/Partials/TdCell.js +1 -1
  109. package/src/Atomic/FormElements/Table/Partials/TdHeader.js +1 -1
  110. package/src/Atomic/FormElements/Table/TdTypes/TdActions.js +5 -5
  111. package/src/Atomic/FormElements/Table/TdTypes/TdPriority.js +3 -3
  112. package/src/Atomic/FormElements/Table/TdTypes/TdTypes.scss +4 -6
  113. package/src/Atomic/FormElements/Table/TdTypes/TdWeight.js +2 -2
  114. package/src/Atomic/FormElements/Tag/Tag.js +2 -2
  115. package/src/Atomic/FormElements/Tag/Tag.stories.js +0 -2
  116. package/src/Atomic/FormElements/TagsDropdown/TagsDropdown.js +3 -3
  117. package/src/Atomic/FormElements/TagsDropdown/TagsDropdown.stories.js +0 -2
  118. package/src/Atomic/FormElements/TextSwitcher/TextSwitcher.stories.js +0 -2
  119. package/src/Atomic/FormElements/Textarea/Textarea.stories.js +0 -2
  120. package/src/Atomic/FormElements/TimeRange/TimeRange.js +1 -1
  121. package/src/Atomic/FormElements/TimeRange/TimeRange.stories.js +0 -2
  122. package/src/Atomic/MainMenu/MainMenu.js +4 -4
  123. package/src/Atomic/MainMenu/MainMenu.stories.js +11 -11
  124. package/src/Atomic/UI/Accordion/Accordion.js +1 -1
  125. package/src/Atomic/UI/Accordion/Accordion.stories.js +4 -4
  126. package/src/Atomic/UI/Accordion/AccordionItem.js +3 -3
  127. package/src/Atomic/UI/AdvancedTag/AdvTag.js +3 -3
  128. package/src/Atomic/UI/AdvancedTag/AdvancedTags.js +3 -3
  129. package/src/Atomic/UI/AdvancedTag/AdvancedTags.scss +3 -5
  130. package/src/Atomic/UI/AdvancedTag/AdvancedTags.stories.js +1 -3
  131. package/src/Atomic/UI/Alert/Alert.js +9 -6
  132. package/src/Atomic/UI/Alert/Alert.scss +7 -0
  133. package/src/Atomic/UI/Alert/Alert.stories.js +1 -3
  134. package/src/Atomic/UI/Button/Button.js +5 -9
  135. package/src/Atomic/UI/Button/Button.scss +44 -42
  136. package/src/Atomic/UI/Button/Button.stories.js +6 -23
  137. package/src/Atomic/UI/Header/partials/default_ava.png +0 -0
  138. package/src/Atomic/UI/Hint/Hint.js +6 -9
  139. package/src/Atomic/UI/Hint/Hint.scss +8 -12
  140. package/src/Atomic/UI/Hint/Hint.stories.js +3 -3
  141. package/src/Atomic/UI/Price/Price.js +19 -0
  142. package/src/Atomic/UI/Price/Price.stories.js +30 -0
  143. package/src/Atomic/{FormElements → UI}/Status/Status.js +2 -4
  144. package/src/Atomic/{FormElements → UI}/Status/Status.scss +0 -0
  145. package/src/Atomic/{FormElements → UI}/Status/Status.stories.js +4 -3
  146. package/src/Functions/useClickOutside.js +15 -0
  147. package/src/scss/main.scss +2 -2
@@ -1,22 +1,22 @@
1
1
  .button {
2
- display: inline-flex;
3
- align-items: center;
4
- font-size: 13px;
5
- line-height: 20px;
6
- border-radius: 3px;
7
- padding: 3px 10px;
8
- cursor: pointer;
9
- box-sizing: border-box;
10
- text-align: center;
11
- user-select: none;
12
- height: 28px;
13
- white-space: nowrap;
14
- box-shadow: 0 2px 5px rgb(0 0 0 / 10%);
2
+ display: inline-flex;
3
+ align-items: center;
4
+ font-size: 13px;
5
+ line-height: 20px;
6
+ border-radius: 3px;
7
+ padding: 3px 10px;
8
+ cursor: pointer;
9
+ box-sizing: border-box;
10
+ text-align: center;
11
+ user-select: none;
12
+ height: 28px;
13
+ white-space: nowrap;
14
+ box-shadow: 0 2px 5px rgb(0 0 0 / 10%);
15
15
 
16
- &:disabled {
17
- opacity: 0.5;
18
- pointer-events: none;
19
- }
16
+ &:disabled {
17
+ opacity: 0.5;
18
+ pointer-events: none;
19
+ }
20
20
 
21
21
  &_dark-outline {
22
22
  border: 1px solid #bac2c9;
@@ -45,36 +45,38 @@
45
45
  }
46
46
  }
47
47
 
48
- &_link {
49
- color: #6b81dd;
48
+ &_link {
49
+ color: #6b81dd;
50
+ box-shadow: none;
50
51
 
51
- svg {
52
- display: none;
53
- }
52
+ svg {
53
+ display: none;
54
54
  }
55
+ }
55
56
 
56
- &_success {
57
- background-color: #7AC48C;
58
- border: 1px solid #7AC48C;
59
- color: #fff;
60
- &:hover {
61
- filter: brightness(1.1);
62
- }
63
- }
57
+ &_success {
58
+ background-color: #7ac48c;
59
+ border: 1px solid #7ac48c;
60
+ color: #fff;
64
61
 
65
- &__text {
66
- width: 100%;
67
- text-align: center;
62
+ &:hover {
63
+ filter: brightness(1.1);
68
64
  }
65
+ }
69
66
 
70
- &:active {
71
- filter: brightness(1.3);
72
- }
67
+ &__text {
68
+ width: 100%;
69
+ text-align: center;
70
+ }
73
71
 
74
- &__icon {
75
- width: 20px;
76
- height: 25px;
77
- margin-right: 5px;
78
- min-width: 15px;
79
- }
72
+ &:active {
73
+ filter: brightness(1.1);
74
+ }
75
+
76
+ &__icon {
77
+ width: 20px;
78
+ height: 25px;
79
+ margin-right: 5px;
80
+ min-width: 15px;
81
+ }
80
82
  }
@@ -9,13 +9,13 @@ exports.ButtonTemplate = exports.default = void 0;
9
9
 
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
 
12
- var _Button = _interopRequireDefault(require("./Button"));
12
+ var _reactFeather = require("react-feather");
13
13
 
14
- require("../../../../scss/main.scss");
14
+ var _Button = _interopRequireDefault(require("./Button"));
15
15
 
16
16
  global.lng = 'en';
17
17
  var _default = {
18
- title: 'Button',
18
+ title: 'UI/Button',
19
19
  component: _Button.default,
20
20
  argTypes: {
21
21
  variant: {
@@ -25,7 +25,7 @@ var _default = {
25
25
  options: ['primary', 'secondary', 'dark-outline', 'link']
26
26
  }
27
27
  },
28
- text: {
28
+ label: {
29
29
  description: 'string'
30
30
  },
31
31
  disabled: {
@@ -38,25 +38,9 @@ var _default = {
38
38
  description: 'svg icon code',
39
39
  control: {
40
40
  type: 'select',
41
- options: ['FiCheck', 'FiEdit3', 'FiPlus', 'FiTool', 'FiUploadCloud', 'FiX', 'FiArrowLeft']
41
+ options: ['Check', 'Edit3', 'Plus', 'Tool', 'UploadCloud', 'X', 'ArrowLeft']
42
42
  }
43
43
  }
44
- },
45
- text: {
46
- description: 'string'
47
- },
48
- disabled: {
49
- description: 'boolean'
50
- },
51
- onClick: {
52
- description: 'function'
53
- },
54
- icon: {
55
- description: 'svg icon code',
56
- control: {
57
- type: 'select',
58
- options: ['FiCheck', 'FiEdit3', 'FiPlus', 'FiTool', 'FiUploadCloud', 'FiX']
59
- }
60
44
  }
61
45
  };
62
46
  exports.default = _default;
@@ -72,6 +56,6 @@ ButtonTemplate.args = {
72
56
  onClick: function onClick() {
73
57
  return null;
74
58
  },
75
- text: 'Button',
76
- icon: 'FiCheck'
59
+ label: 'Button',
60
+ icon: /*#__PURE__*/_react.default.createElement(_reactFeather.Check, null)
77
61
  };
@@ -9,17 +9,13 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = void 0;
11
11
 
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
13
 
16
14
  var _react = _interopRequireWildcard(require("react"));
17
15
 
18
16
  var _classnames = _interopRequireDefault(require("classnames"));
19
17
 
20
- var _md = require("react-icons/md");
21
-
22
- var _io = require("react-icons/io");
18
+ var _reactFeather = require("react-feather");
23
19
 
24
20
  require("./Hint.scss");
25
21
 
@@ -27,16 +23,13 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
27
23
 
28
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; }
29
25
 
30
- var RC = 'hint';
31
-
32
26
  var Hint = function Hint(_ref) {
33
27
  var hint = _ref.hint,
34
28
  _ref$side = _ref.side,
35
29
  side = _ref$side === void 0 ? 'right' : _ref$side,
36
30
  className = _ref.className,
37
31
  _ref$label = _ref.label,
38
- label = _ref$label === void 0 ? '' : _ref$label,
39
- iconOutline = _ref.iconOutline;
32
+ label = _ref$label === void 0 ? '' : _ref$label;
40
33
 
41
34
  var _useState = (0, _react.useState)(false),
42
35
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -58,21 +51,23 @@ var Hint = function Hint(_ref) {
58
51
  };
59
52
  });
60
53
  return /*#__PURE__*/_react.default.createElement("div", {
61
- className: (0, _classnames.default)(RC, className),
54
+ className: (0, _classnames.default)('hint', className),
62
55
  ref: hintRef
63
56
  }, /*#__PURE__*/_react.default.createElement("button", {
64
57
  onClick: function onClick() {
65
58
  return setIsOpen(!isOpen);
66
59
  },
67
- className: (0, _classnames.default)("".concat(RC, "__button"), (0, _defineProperty2.default)({}, "".concat(RC, "__button_active"), isOpen))
68
- }, iconOutline ? /*#__PURE__*/_react.default.createElement(_md.MdHelpOutline, null) : /*#__PURE__*/_react.default.createElement(_io.IoMdHelpCircle, {
60
+ className: (0, _classnames.default)('hint__button', {
61
+ hint__button_active: isOpen
62
+ })
63
+ }, /*#__PURE__*/_react.default.createElement(_reactFeather.HelpCircle, {
69
64
  className: "hint__icon"
70
65
  }), label && /*#__PURE__*/_react.default.createElement("span", {
71
66
  className: (0, _classnames.default)('hint__label', {
72
67
  'color--primary': isOpen
73
68
  })
74
69
  }, label[0].toUpperCase() + label.slice(1))), isOpen && /*#__PURE__*/_react.default.createElement("div", {
75
- className: (0, _classnames.default)("".concat(RC, "__text"), "".concat(RC, "__text_").concat(side))
70
+ className: (0, _classnames.default)('hint__text', "hint__text_".concat(side))
76
71
  }, hint));
77
72
  };
78
73
 
@@ -1,5 +1,3 @@
1
- @import "../../../scss/vars";
2
-
3
1
  .hint {
4
2
  position: relative;
5
3
  display: inline-block;
@@ -12,24 +10,22 @@
12
10
  svg {
13
11
  width: 16px;
14
12
  height: 16px;
15
- margin-right: 3px;
16
- }
17
-
18
- &:hover {
19
- color: $color--primary;
13
+ margin-right: 5px;
20
14
  }
21
15
 
22
16
  &:hover,
23
17
  &_active {
24
- svg > path {
25
- fill: $color--primary;
18
+ color: #6b81dd;
19
+
20
+ svg {
21
+ color: #6b81dd;
26
22
  }
27
23
  }
28
24
  }
29
25
 
30
26
  &__text {
31
27
  position: absolute;
32
- background-color: $color--primary;
28
+ background-color: #6b81dd;
33
29
  color: #fff;
34
30
  font-size: 10px;
35
31
  line-height: 16px;
@@ -49,7 +45,7 @@
49
45
  position: absolute;
50
46
  width: 8.5px;
51
47
  height: 8.5px;
52
- background-color: $color--primary;
48
+ background-color: #6b81dd;
53
49
  transform: rotate(45deg);
54
50
  }
55
51
 
@@ -91,6 +87,6 @@
91
87
  }
92
88
 
93
89
  &__icon {
94
- color: #9AA0B9;
90
+ color: #9aa0b9;
95
91
  }
96
92
  }
@@ -11,11 +11,9 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _Hint = _interopRequireDefault(require("./Hint"));
13
13
 
14
- require("../../../../scss/main.scss");
15
-
16
14
  global.lng = 'en';
17
15
  var _default = {
18
- title: 'Hint',
16
+ title: 'UI/Hint',
19
17
  component: _Hint.default,
20
18
  argTypes: {
21
19
  side: {
@@ -41,5 +39,6 @@ exports.HintTemplate = HintTemplate;
41
39
  HintTemplate.args = {
42
40
  hint: ' hint text hint text hint text hint text hint text hint text hint text hint text',
43
41
  side: 'right',
44
- label: ''
42
+ label: '' // isIconOutline: false
43
+
45
44
  };
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var Price = function Price(_ref) {
13
+ var value = _ref.value,
14
+ _ref$unit = _ref.unit,
15
+ unit = _ref$unit === void 0 ? '$' : _ref$unit,
16
+ unitAfter = _ref.unitAfter,
17
+ className = _ref.className;
18
+ var formatted;
19
+
20
+ if (value.length <= 3) {
21
+ formatted = parseFloat(value).toFixed(2);
22
+ } else {
23
+ formatted = Number(value.toString().replace(/[+*?$^(,)]/g, '')).toLocaleString('en-US');
24
+ }
25
+
26
+ return /*#__PURE__*/_react.default.createElement("div", {
27
+ className: "price ".concat(className)
28
+ }, !unitAfter && unit, formatted, unitAfter && unit);
29
+ };
30
+
31
+ var _default = Price;
32
+ exports.default = _default;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.PriceTemplate = exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _Price = _interopRequireDefault(require("./Price"));
13
+
14
+ global.lng = 'en';
15
+ var _default = {
16
+ title: 'UI/Price',
17
+ component: _Price.default,
18
+ argTypes: {
19
+ value: {
20
+ description: 'string'
21
+ },
22
+ unit: {
23
+ description: 'string'
24
+ },
25
+ unitAfter: {
26
+ description: 'boolean'
27
+ }
28
+ }
29
+ };
30
+ exports.default = _default;
31
+
32
+ var Template = function Template(args) {
33
+ return /*#__PURE__*/_react.default.createElement(_Price.default, args);
34
+ };
35
+
36
+ var PriceTemplate = Template.bind({});
37
+ exports.PriceTemplate = PriceTemplate;
38
+ PriceTemplate.args = {
39
+ value: '15000',
40
+ unit: '$',
41
+ unitAfter: false
42
+ };
@@ -14,9 +14,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
14
14
  require("./Status.scss");
15
15
 
16
16
  var Status = function Status(_ref) {
17
- var _ref2, _ref3;
18
-
19
- var value = _ref.value,
17
+ var label = _ref.label,
20
18
  status = _ref.status,
21
19
  disabled = _ref.disabled,
22
20
  type = _ref.type,
@@ -25,8 +23,8 @@ var Status = function Status(_ref) {
25
23
  _ref$pause = _ref.pause,
26
24
  pause = _ref$pause === void 0 ? 0 : _ref$pause,
27
25
  className = _ref.className,
28
- noBackground = _ref.noBackground;
29
- var label = ((_ref2 = value || status) === null || _ref2 === void 0 ? void 0 : _ref2[0].toUpperCase()) + ((_ref3 = value || status) === null || _ref3 === void 0 ? void 0 : _ref3.slice(1));
26
+ noBackground = _ref.noBackground,
27
+ children = _ref.children;
30
28
  return /*#__PURE__*/_react.default.createElement("div", {
31
29
  className: (0, _classnames.default)({
32
30
  disabled: disabled
@@ -47,7 +45,7 @@ var Status = function Status(_ref) {
47
45
  }, {
48
46
  'color--gray-gull': noBackground && status === 'pause' && !className
49
47
  })
50
- }, label));
48
+ }, children || label));
51
49
  };
52
50
 
53
51
  var _default = Status;
@@ -11,11 +11,9 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _Status = _interopRequireDefault(require("./Status"));
13
13
 
14
- require("../../../../scss/main.scss");
15
-
16
14
  global.lng = 'en';
17
15
  var _default = {
18
- title: 'Status',
16
+ title: 'UI/Status',
19
17
  component: _Status.default,
20
18
  argTypes: {
21
19
  status: {
@@ -30,6 +28,9 @@ var _default = {
30
28
  },
31
29
  disabled: {
32
30
  description: 'boolean'
31
+ },
32
+ children: {
33
+ description: 'any rect children'
33
34
  }
34
35
  }
35
36
  };
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useClickOutside = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var useClickOutside = function useClickOutside(ref, setOut, open) {
11
+ function handleClickOutside(event) {
12
+ if (ref.current && !ref.current.contains(event.target)) {
13
+ setOut(open);
14
+ }
15
+ }
16
+
17
+ (0, _react.useEffect)(function () {
18
+ document.addEventListener('mousedown', handleClickOutside);
19
+ return function () {
20
+ document.removeEventListener('mousedown', handleClickOutside);
21
+ };
22
+ }, [ref]);
23
+ };
24
+
25
+ exports.useClickOutside = useClickOutside;
@@ -35,6 +35,6 @@ button {
35
35
 
36
36
  .main {
37
37
  &__wrap {
38
- display: flex;
38
+ display: flex;
39
39
  }
40
- }
40
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intelicoreact",
3
- "version": "0.0.24",
3
+ "version": "0.0.41",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -10,13 +10,15 @@
10
10
  "author": "Andrey Isakov",
11
11
  "license": "ISC",
12
12
  "dependencies": {
13
- "@babel/polyfill": "^7.12.1",
14
- "classnames": "^2.3.1",
15
- "react-icons": "^4.2.0"
13
+ "react-feather": "^2.0.9",
14
+ "react-input-mask": "^2.0.4",
15
+ "moment": "^2.29.1"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@babel/cli": "^7.15.7",
19
19
  "@babel/core": "^7.15.5",
20
- "@babel/preset-env": "^7.15.6"
20
+ "@babel/preset-env": "^7.15.6",
21
+ "@babel/polyfill": "^7.12.1",
22
+ "classnames": "^2.3.1"
21
23
  }
22
24
  }
@@ -0,0 +1,106 @@
1
+ import cn from 'classnames';
2
+ import React, { useEffect, useMemo, useState } from 'react';
3
+ import moment from 'moment';
4
+ import { ChevronLeft, ChevronRight } from 'react-feather';
5
+ import './Calendar.scss';
6
+
7
+ export default function (props) {
8
+ const { date, setDate, allowPrev = true, allowNext = true } = props;
9
+
10
+ const [days, setDays] = useState({});
11
+
12
+ const selectedDay = moment(date);
13
+ const isError = 'Invalid date';
14
+
15
+ const title = useMemo(
16
+ () => (selectedDay.format('MMM') === isError ? isError : `${selectedDay.format('MMM')} ${moment(date).format('YYYY')}`),
17
+ [date]
18
+ );
19
+ useEffect(() => {
20
+ const result = {};
21
+ const day = selectedDay.startOf('month');
22
+ const daysInMonth = day.daysInMonth();
23
+ for (let d = 0; d < daysInMonth; d += 1) {
24
+ let week = day.week();
25
+ if (day.month() === 11 && week === 1) week = 53;
26
+ if (day.month() === 0 && week === 53) week = 0;
27
+ if (!Object.prototype.hasOwnProperty.call(result, week)) {
28
+ result[week] = {};
29
+ }
30
+ result[week][day.weekday()] = { date: day.toDate() };
31
+ day.add(1, 'd');
32
+ }
33
+ setDays(result);
34
+ }, [date]);
35
+
36
+ const renderDay = (week, dayOfWeek) => {
37
+ const day = days[week][dayOfWeek];
38
+ if (!day) return <div className="calendar__day" />;
39
+ const isFutureDay = day && moment(day.date).isAfter(moment(), 'day');
40
+
41
+ const classNames = cn(
42
+ 'calendar__day',
43
+ { 'calendar__day--clickable': day },
44
+ { 'calendar__day--disabled': isFutureDay },
45
+ { 'calendar__day--selected': selectedDay.format() === moment(day.date).format() }
46
+ );
47
+
48
+ return (
49
+ <div
50
+ key={`${week}_${dayOfWeek}`}
51
+ className={classNames}
52
+ onClick={day && !isFutureDay ? () => setDate(moment(day.date).format('L')) : null}
53
+ // onMouseOver={day && !isFutureDay ? () => onHover(day.date) : null}
54
+ // onMouseLeave={() => onHover(null)}
55
+ >
56
+ {day && day.date.getDate()}
57
+ </div>
58
+ );
59
+ };
60
+
61
+ const handlePrev = () => {
62
+ setDate(moment(date).subtract(1, 'month').format('L'));
63
+ };
64
+
65
+ const handleNext = () => {
66
+ setDate(moment(date).add(1, 'month').format('L'));
67
+ };
68
+
69
+ return (
70
+ <div className="calendar">
71
+ <div className="calendar-header">
72
+ <div className="calendar-header__prev">
73
+ {allowPrev && (
74
+ <div onClick={handlePrev}>
75
+ <ChevronLeft />
76
+ </div>
77
+ )}
78
+ </div>
79
+ <div className="calendar-header__title">{title}</div>
80
+ <div className="calendar-header__next">
81
+ {allowNext && (
82
+ <div onClick={handleNext}>
83
+ <ChevronRight />
84
+ </div>
85
+ )}
86
+ </div>
87
+ </div>
88
+ <div className="calendar__week">
89
+ {[...Array(7).keys()].map((dayOfWeek) => {
90
+ return (
91
+ <div key={`day-of-week_${dayOfWeek}`} className="calendar__day calendar__day--title">
92
+ {moment().weekday(dayOfWeek).format('dd').charAt(0)}
93
+ </div>
94
+ );
95
+ })}
96
+ </div>
97
+ {Object.keys(days).map((week, index) => (
98
+ <div key={`week_${index}`} className="calendar__week">
99
+ {[...Array(7).keys()].map((dayOfWeek) => (
100
+ <React.Fragment key={`calendar-day--${dayOfWeek}`}>{renderDay(week, dayOfWeek)}</React.Fragment>
101
+ ))}
102
+ </div>
103
+ ))}
104
+ </div>
105
+ );
106
+ }