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
@@ -21,7 +21,8 @@ var CheckboxInput = function CheckboxInput(_ref) {
21
21
  value = _ref.value,
22
22
  _onChange = _ref.onChange,
23
23
  disabled = _ref.disabled,
24
- className = _ref.className;
24
+ className = _ref.className,
25
+ isStark = _ref.isStark;
25
26
  return /*#__PURE__*/_react.default.createElement("label", {
26
27
  className: (0, _classnames.default)('checkbox-input', className, (0, _defineProperty2.default)({}, "checkbox-input_disabled", disabled)),
27
28
  htmlFor: id
@@ -35,7 +36,10 @@ var CheckboxInput = function CheckboxInput(_ref) {
35
36
  return _onChange(!value, e);
36
37
  },
37
38
  checked: value,
38
- disabled: disabled
39
+ disabled: disabled,
40
+ ref: function ref(elem) {
41
+ if (elem) elem.indeterminate = isStark;
42
+ }
39
43
  }), /*#__PURE__*/_react.default.createElement("span", {
40
44
  className: "checkbox-input__mark"
41
45
  })), label && /*#__PURE__*/_react.default.createElement("div", {
@@ -1,76 +1,107 @@
1
1
  .checkbox-input {
2
- display: flex;
3
- align-items: center;
4
- cursor: pointer;
2
+ display: flex;
3
+ align-items: center;
4
+ cursor: pointer;
5
+
6
+ &_disabled {
7
+ opacity: 0.5;
8
+ pointer-events: none;
9
+ cursor: auto;
10
+ }
5
11
 
6
- &_disabled {
7
- opacity: .5;
8
- pointer-events: none;
9
- cursor: auto;
12
+ &:hover {
13
+ .checkbox-input__input {
14
+ background-color: rgba(#6b81dd, 0.2);
10
15
  }
16
+ }
17
+
18
+ &__input {
19
+ position: relative;
20
+ height: 14px;
21
+ width: 14px;
22
+ min-width: 14px;
23
+ border: 1px solid #9aa0b9;
24
+ border-radius: 2px;
25
+ overflow: hidden;
26
+ margin-right: 5px;
27
+ cursor: pointer;
28
+ transition: background-color 0.2s ease;
29
+ background-color: #ffff;
11
30
 
12
- &:hover {
13
- .checkbox-input__input {
14
- background-color: rgba(#6b81dd, .2);
15
- }
31
+ &_checked {
32
+ border-color: #6b81dd;
16
33
  }
17
34
 
18
- &__input {
19
- position: relative;
20
- height: 14px;
21
- width: 14px;
22
- min-width: 14px;
23
- border: 1px solid #9AA0B9;
24
- border-radius: 2px;
25
- overflow: hidden;
26
- margin-right: 5px;
27
- cursor: pointer;
28
- transition: background-color .2s ease;
29
- background-color: #ffff;
35
+ .checkbox-input__checkbox:checked ~ .checkbox-input__mark {
36
+ display: block;
37
+ }
38
+ }
30
39
 
31
- &_checked {
32
- border-color: #6b81dd;
33
- }
40
+ &__checkbox {
41
+ opacity: 0;
42
+ position: absolute;
43
+ height: 0;
44
+ width: 0;
45
+ }
34
46
 
35
- .checkbox-input__checkbox:checked ~ .checkbox-input__mark {
36
- display: block;
37
- }
47
+ &__mark {
48
+ display: none;
49
+ position: absolute;
50
+ width: 14px;
51
+ height: 14px;
52
+ background-color: #6b81dd;
38
53
 
54
+ &:after {
55
+ content: "";
56
+ position: absolute;
57
+ top: -2px;
58
+ bottom: 0;
59
+ left: 0;
60
+ right: 0;
61
+ margin: auto;
62
+ width: 4px;
63
+ height: 8px;
64
+ border: solid white;
65
+ border-radius: 2px;
66
+ border-width: 0 2px 2px 0;
67
+ transform: rotate(45deg);
39
68
  }
69
+ }
40
70
 
41
- &__checkbox {
42
- opacity: 0;
43
- position: absolute;
44
- height: 0;
45
- width: 0;
46
- }
71
+ &__label {
72
+ font-size: 13px;
73
+ user-select: none;
74
+ }
47
75
 
48
- &__mark {
49
- display: none;
76
+ input[type="checkbox" i] {
77
+ &:indeterminate {
78
+ display: block;
79
+ width: 100%;
80
+ height: 100%;
81
+ &:after {
82
+ content: "";
50
83
  position: absolute;
51
- width: 14px;
52
- height: 14px;
84
+ top: 0;
85
+ bottom: 0;
86
+ left: 0;
87
+ right: 0;
88
+ margin: auto;
89
+ width: 100%;
90
+ height: 100%;
53
91
  background-color: #6b81dd;
54
-
55
- &:after {
56
- content: '';
57
- position: absolute;
58
- top: -2px;
59
- bottom: 0;
60
- left: 0;
61
- right: 0;
62
- margin: auto;
63
- width: 4px;
64
- height: 8px;
65
- border: solid white;
66
- border-radius: 2px;
67
- border-width: 0 2px 2px 0;
68
- transform: rotate(45deg);
69
- }
70
- }
71
-
72
- &__label{
73
- font-size: 13px;
74
- user-select: none;
92
+ }
93
+ &:before {
94
+ content: "";
95
+ position: absolute;
96
+ top: 50%;
97
+ left: 50%;
98
+ transform: translate(-50%, -50%);
99
+ width: 65%;
100
+ border: solid white;
101
+ border-radius: 2px;
102
+ border-width: 0 2px 2px 0;
103
+ z-index: 1;
104
+ }
75
105
  }
106
+ }
76
107
  }
@@ -48,5 +48,6 @@ Checkbox.args = {
48
48
  label: 'Test label',
49
49
  value: true,
50
50
  disabled: false,
51
- forced: false
51
+ forced: false,
52
+ isStark: true
52
53
  };
@@ -13,7 +13,7 @@ var _DateTime = _interopRequireDefault(require("./DateTime"));
13
13
 
14
14
  global.lng = 'en';
15
15
  var _default = {
16
- title: 'DateTime',
16
+ title: 'Form Elements/DateTime',
17
17
  component: _DateTime.default
18
18
  };
19
19
  exports.default = _default;
@@ -21,8 +21,6 @@ var _classnames = _interopRequireDefault(require("classnames"));
21
21
 
22
22
  var _reactFeather = require("react-feather");
23
23
 
24
- var _Label = _interopRequireDefault(require("../Label/Label"));
25
-
26
24
  require("./Dropdown.scss");
27
25
 
28
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); }
@@ -36,18 +34,17 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
36
34
  var RC = 'dropdown';
37
35
 
38
36
  var Dropdown = function Dropdown(_ref) {
39
- var _options$find;
37
+ var _options$find, _filteredOptions$find;
40
38
 
41
- var options = _ref.options,
39
+ var _ref$options = _ref.options,
40
+ options = _ref$options === void 0 ? [] : _ref$options,
42
41
  value = _ref.value,
42
+ error = _ref.error,
43
43
  onChange = _ref.onChange,
44
44
  placeholder = _ref.placeholder,
45
45
  className = _ref.className,
46
- label = _ref.label,
47
- isLabelBold = _ref.isLabelBold,
48
- hint = _ref.hint,
49
- hintSide = _ref.hintSide,
50
- isSearchable = _ref.isSearchable;
46
+ isSearchable = _ref.isSearchable,
47
+ entity = _ref.entity;
51
48
 
52
49
  var _useState = (0, _react.useState)(false),
53
50
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -60,6 +57,7 @@ var Dropdown = function Dropdown(_ref) {
60
57
  setSearchValue = _useState4[1];
61
58
 
62
59
  var dropdownRef = (0, _react.useRef)(null);
60
+ if (!options) return null;
63
61
  var filteredGroups = options.filter(function (item) {
64
62
  var _item$items;
65
63
 
@@ -87,6 +85,37 @@ var Dropdown = function Dropdown(_ref) {
87
85
  return item === null || item === void 0 ? void 0 : (_item$label = item.label) === null || _item$label === void 0 ? void 0 : _item$label.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || '');
88
86
  });
89
87
  var filteredOptions = [].concat((0, _toConsumableArray2.default)(filteredItems), (0, _toConsumableArray2.default)(filteredGroups));
88
+ var modalBtnTrigger = entity && entity !== '' && typeof entity === 'string';
89
+
90
+ var onChangeHandler = function onChangeHandler(item) {
91
+ setIsOpen(false);
92
+ setSearchValue(null);
93
+ onChange(item.value);
94
+ }; // decorator
95
+
96
+
97
+ var getDepends = function getDepends(getDependsTrigger) {
98
+ var newOnChange = function newOnChange(e) {
99
+ if (e.value === 'open_modal') {
100
+ onChange('open_modal');
101
+ } else {
102
+ onChangeHandler(e);
103
+ }
104
+ }; // add pseudo option
105
+
106
+
107
+ var newOptions = [{
108
+ label: "New ".concat(entity),
109
+ value: 'open_modal',
110
+ className: 'dropdown__list-item--modal'
111
+ }].concat((0, _toConsumableArray2.default)(filteredOptions));
112
+ return {
113
+ onChange: function onChange(changeItem) {
114
+ return getDependsTrigger ? newOnChange(changeItem) : onChangeHandler(changeItem);
115
+ },
116
+ options: getDependsTrigger ? newOptions : options
117
+ };
118
+ };
90
119
 
91
120
  var handleClickOutside = function handleClickOutside(event) {
92
121
  if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
@@ -95,12 +124,6 @@ var Dropdown = function Dropdown(_ref) {
95
124
  }
96
125
  };
97
126
 
98
- var onChangeHandler = function onChangeHandler(item) {
99
- setIsOpen(false);
100
- setSearchValue(null);
101
- onChange(item.value);
102
- };
103
-
104
127
  var onSearchHandler = function onSearchHandler(name) {
105
128
  setSearchValue(name);
106
129
  };
@@ -111,16 +134,19 @@ var Dropdown = function Dropdown(_ref) {
111
134
  }) : text;
112
135
  };
113
136
 
137
+ var depend = getDepends(modalBtnTrigger);
138
+
114
139
  var getMarkupForElement = function getMarkupForElement(item) {
115
140
  return item.label.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || '') ? /*#__PURE__*/_react.default.createElement("button", {
116
141
  key: item.value,
117
142
  onClick: function onClick() {
118
- return onChangeHandler(item);
143
+ return depend.onChange(item);
119
144
  },
120
145
  className: (0, _classnames.default)("".concat(RC, "__list-item"), (0, _defineProperty2.default)({}, "".concat(RC, "__list-item_active"), item.value === value), (0, _defineProperty2.default)({}, "".concat(RC, "__list-item_disabled"), item.disabled))
121
146
  }, /*#__PURE__*/_react.default.createElement("span", {
122
147
  className: (0, _classnames.default)("".concat(RC, "__active-icon"), (0, _defineProperty2.default)({}, "".concat(RC, "__active-icon_active"), item.value === value))
123
148
  }, /*#__PURE__*/_react.default.createElement(_reactFeather.Check, null)), /*#__PURE__*/_react.default.createElement("div", {
149
+ className: item.className || '',
124
150
  dangerouslySetInnerHTML: {
125
151
  __html: hightlightedText(item.label)
126
152
  }
@@ -128,11 +154,12 @@ var Dropdown = function Dropdown(_ref) {
128
154
  };
129
155
 
130
156
  (0, _react.useEffect)(function () {
157
+ if (!value) setSearchValue(null);
131
158
  document.addEventListener('click', handleClickOutside, true);
132
159
  return function () {
133
160
  return document.removeEventListener('click', handleClickOutside, true);
134
161
  };
135
- });
162
+ }, [value]);
136
163
 
137
164
  var filteredOptionList = function filteredOptionList(filteredOption) {
138
165
  var _filteredOption$items;
@@ -159,29 +186,34 @@ var Dropdown = function Dropdown(_ref) {
159
186
  return /*#__PURE__*/_react.default.createElement("div", {
160
187
  className: (0, _classnames.default)(RC, className),
161
188
  ref: dropdownRef
162
- }, label && /*#__PURE__*/_react.default.createElement(_Label.default, {
163
- className: "".concat(RC, "-label"),
164
- isBold: isLabelBold,
165
- label: label,
166
- hint: hint,
167
- hintSide: hintSide
168
- }), /*#__PURE__*/_react.default.createElement("button", {
169
- className: "".concat(RC, "__trigger"),
189
+ }, /*#__PURE__*/_react.default.createElement("button", {
190
+ className: "".concat(RC, "__trigger input__wrap ").concat(!value ? 'placeholder' : '', " ").concat(error ? 'error' : ''),
170
191
  onClick: function onClick() {
171
- return setIsOpen(!isOpen);
192
+ return !isSearchable ? setIsOpen(!isOpen) : null;
172
193
  }
173
194
  }, isSearchable ? /*#__PURE__*/_react.default.createElement("input", {
174
195
  className: "".concat(RC, "__input"),
175
- value: searchValue !== null && searchValue !== void 0 ? searchValue : selectedLabel,
196
+ value: searchValue || ((_filteredOptions$find = filteredOptions.find(function (el) {
197
+ return el.value === value;
198
+ })) === null || _filteredOptions$find === void 0 ? void 0 : _filteredOptions$find.label) || '',
176
199
  onChange: function onChange(e) {
177
- return onSearchHandler(e.target.value);
200
+ onSearchHandler(e.target.value);
178
201
  },
179
- placeholder: placeholder
180
- }) : selectedLabel || placeholder, /*#__PURE__*/_react.default.createElement("span", {
181
- className: (0, _classnames.default)("".concat(RC, "__arrow"), (0, _defineProperty2.default)({}, "".concat(RC, "__arrow_active"), isOpen))
202
+ placeholder: placeholder,
203
+ onFocus: function onFocus(e) {
204
+ e.target.select();
205
+ setIsOpen(true);
206
+ }
207
+ }) : /*#__PURE__*/_react.default.createElement("span", {
208
+ className: "text"
209
+ }, selectedLabel || placeholder), /*#__PURE__*/_react.default.createElement("span", {
210
+ className: (0, _classnames.default)("".concat(RC, "__arrow"), (0, _defineProperty2.default)({}, "".concat(RC, "__arrow_active"), isOpen)),
211
+ onClick: function onClick() {
212
+ return setIsOpen(!isOpen);
213
+ }
182
214
  }, isOpen ? /*#__PURE__*/_react.default.createElement(_reactFeather.ChevronUp, null) : /*#__PURE__*/_react.default.createElement(_reactFeather.ChevronDown, null))), isOpen && filteredOptions.length > 0 && /*#__PURE__*/_react.default.createElement("div", {
183
215
  className: "".concat(RC, "__list")
184
- }, filteredOptions.map(function (filteredOption) {
216
+ }, depend.options.map(function (filteredOption) {
185
217
  var _filteredOption$items2;
186
218
 
187
219
  return (_filteredOption$items2 = filteredOption.items) !== null && _filteredOption$items2 !== void 0 && _filteredOption$items2.length ? filteredOptionList(filteredOption) : getMarkupForElement(filteredOption);
@@ -5,6 +5,7 @@
5
5
  flex-direction: column;
6
6
  position: relative;
7
7
  width: 100%;
8
+ border-radius: 7px;
8
9
 
9
10
  &__trigger {
10
11
  background: #ffffff;
@@ -13,7 +14,6 @@
13
14
  border-radius: 3px;
14
15
  width: 100%;
15
16
  height: 28px;
16
- display: flex;
17
17
  align-items: center;
18
18
  cursor: pointer;
19
19
  padding-left: 9px;
@@ -26,9 +26,12 @@
26
26
  position: relative;
27
27
  text-align: left;
28
28
 
29
- &_error {
29
+ &.error {
30
30
  border-color: $color--secondary;
31
31
  }
32
+ &.placeholder .text {
33
+ opacity: 0.7;
34
+ }
32
35
  }
33
36
 
34
37
  &__input {
@@ -71,6 +74,8 @@
71
74
  display: flex;
72
75
  align-items: center;
73
76
  //justify-content: center;
77
+ border: none;
78
+ background: transparent;
74
79
  padding: 0 20px 0 30px;
75
80
  position: relative;
76
81
  cursor: pointer;
@@ -81,7 +86,24 @@
81
86
  width: 100%;
82
87
  height: 24px;
83
88
  white-space: nowrap;
84
-
89
+ overflow-x: hidden;
90
+
91
+ &--modal {
92
+ color: #1f7499;
93
+ font-size: 14px;
94
+ line-height: 20px;
95
+ letter-spacing: 0.2px;
96
+ position: relative;
97
+ &:after {
98
+ content: "";
99
+ position: absolute;
100
+ bottom: -2px;
101
+ height: 1px;
102
+ width: 300%;
103
+ transform: translateX(-50%);
104
+ background-color: #e8e9ec;
105
+ }
106
+ }
85
107
  &:hover,
86
108
  &_active {
87
109
  background: $color--gray--gentle;
@@ -101,6 +123,7 @@
101
123
  display: flex;
102
124
  align-items: center;
103
125
  width: 16px;
126
+ height: 16px;
104
127
  position: absolute;
105
128
  right: 4px;
106
129
  top: 50%;
@@ -24,36 +24,62 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
24
24
  global.lng = 'en';
25
25
  var _default = {
26
26
  title: 'Dropdown',
27
- component: _Dropdown.default
27
+ component: _Dropdown.default,
28
+ argTypes: {
29
+ className: {
30
+ description: 'string'
31
+ },
32
+ value: {
33
+ description: 'string - current option'
34
+ },
35
+ isSearchable: {
36
+ description: 'boolean - enable search'
37
+ },
38
+ onChange: {
39
+ description: 'callback return selected value'
40
+ },
41
+ entity: {
42
+ description: 'string'
43
+ }
44
+ }
28
45
  };
29
46
  exports.default = _default;
47
+ var buttonStyles = {
48
+ border: 'solid 1px #000',
49
+ padding: '5px'
50
+ };
30
51
 
31
52
  var Template = function Template(args) {
32
- var _useState = (0, _react.useState)({}),
53
+ var _useState = (0, _react.useState)(''),
33
54
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
34
55
  value = _useState2[0],
35
56
  setValue = _useState2[1];
36
57
 
37
- return /*#__PURE__*/_react.default.createElement("div", {
58
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
38
59
  style: {
39
60
  width: 200
40
61
  }
41
62
  }, /*#__PURE__*/_react.default.createElement(_Dropdown.default, (0, _extends2.default)({}, args, {
42
63
  value: value,
43
64
  onChange: setValue
44
- })));
65
+ }))), /*#__PURE__*/_react.default.createElement("button", {
66
+ style: buttonStyles,
67
+ className: "mt10",
68
+ onClick: function onClick() {
69
+ console.log('click!');
70
+ setValue('');
71
+ }
72
+ }, "Reset"));
45
73
  };
46
74
 
47
75
  var DropdownTemplate = Template.bind({});
48
76
  exports.DropdownTemplate = DropdownTemplate;
49
77
  DropdownTemplate.args = {
78
+ entity: 'entity',
79
+ value: 'drop6',
50
80
  placeholder: 'Placeholder',
51
- label: '',
52
81
  isSearchable: true,
53
82
  options: [{
54
- label: 'Dropdown1',
55
- value: 'drop1'
56
- }, {
57
83
  label: 'Dropdown2',
58
84
  value: 'drop2'
59
85
  }, {
@@ -63,6 +89,10 @@ DropdownTemplate.args = {
63
89
  }, {
64
90
  label: 'Dropdown4',
65
91
  value: 'drop4'
92
+ }, {
93
+ label: 'Dropdown1',
94
+ value: 'drop1',
95
+ className: 'status status--approved'
66
96
  }, {
67
97
  label: 'Dropdown5',
68
98
  value: 'drop5'
@@ -94,5 +124,6 @@ DropdownTemplate.args = {
94
124
  label: 'Group 23',
95
125
  value: 'group23'
96
126
  }]
97
- }]
127
+ }],
128
+ error: ''
98
129
  };