@semcore/input 2.2.3 → 3.0.0

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,25 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [3.0.0] - 2022-05-17
6
+
7
+ ### BREAK
8
+
9
+ - Updated styles according to the library redesign policy.
10
+ - Remove value "xl"/"s"" for "size".
11
+
12
+ ## [2.2.5] - 2022-03-14
13
+
14
+ ### Changed
15
+
16
+ - Version patch update due to children dependencies update (`@semcore/utils` [3.31.2 ~> 3.31.2], `@semcore/flex-box` [4.5.0 ~> 4.5.1]).
17
+
18
+ ## [2.2.4] - 2022-02-24
19
+
20
+ ### Added
21
+
22
+ - Added repository field to package.json file.
23
+
5
24
  ## [2.2.3] - 2021-12-23
6
25
 
7
26
  ### Changed
package/lib/cjs/Input.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
@@ -33,9 +33,13 @@ var _neighborLocation = _interopRequireWildcard(require("@semcore/neighbor-locat
33
33
 
34
34
  var _autoFocusEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/autoFocusEnhance"));
35
35
 
36
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
36
+ 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); }
37
+
38
+ 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; }
39
+
40
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
37
41
 
38
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
42
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
39
43
 
40
44
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
41
45
 
@@ -46,28 +50,26 @@ var style = (
46
50
  /*__reshadow_css_start__*/
47
51
  _core.sstyled.insert(
48
52
  /*__inner_css_start__*/
49
- ".___SInput_ltf8j_gg_{display:inline-flex;width:100%;align-items:center;position:relative;z-index:0;vertical-align:middle;padding:1px;box-sizing:border-box}.___SInput_ltf8j_gg_ input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px #faffbd inset}.___SInput_ltf8j_gg_ input:-webkit-autofill~.___SOutline_ltf8j_gg_{background-color:#faffbd}.___SValue_ltf8j_gg_{min-width:0;width:100%;height:100%;padding:0;border:none;box-sizing:border-box;color:#333;font-size:inherit;line-height:1.1;text-overflow:ellipsis;font-family:inherit;background:transparent}.___SValue_ltf8j_gg_:focus{outline:none}.___SValue_ltf8j_gg_::-moz-placeholder{color:#aaa}.___SValue_ltf8j_gg_:-ms-input-placeholder{color:#aaa}.___SValue_ltf8j_gg_::placeholder{color:#aaa}.___SValue_ltf8j_gg_:-moz-read-only~.___SOutline_ltf8j_gg_{background:#f5f5f5}.___SValue_ltf8j_gg_:read-only~.___SOutline_ltf8j_gg_{background:#f5f5f5}.___SValue_ltf8j_gg_:disabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.3}.___SValue_ltf8j_gg_:disabled~.___SOutline_ltf8j_gg_{opacity:.3;cursor:default;pointer-events:none}.___SOutline_ltf8j_gg_{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid;z-index:-1;background:#fff}.___SAddon_ltf8j_gg_{display:inline-flex;justify-content:center;align-items:center;flex:0 0 auto;height:100%;color:#666}.___SAddon_ltf8j_gg_.__interactive_ltf8j_gg_{color:#a6b0b3;cursor:pointer}.___SAddon_ltf8j_gg_.__interactive_ltf8j_gg_:hover{color:#929b9e}.___SAddon_ltf8j_gg_.__disabled_ltf8j_gg_{opacity:.3;cursor:default;pointer-events:none}.___SInput_ltf8j_gg_._size_s_ltf8j_gg_{font-size:10px;height:18px}.___SInput_ltf8j_gg_._size_s_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-radius:2px}.___SInput_ltf8j_gg_._size_s_ltf8j_gg_ input:-webkit-autofill{border-radius:1px}.___SAddon_ltf8j_gg_._size_s_ltf8j_gg_,.___SValue_ltf8j_gg_._size_s_ltf8j_gg_{padding:0 4px}.___SInput_ltf8j_gg_._size_m_ltf8j_gg_{font-size:12px;height:26px}.___SInput_ltf8j_gg_._size_m_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-radius:3px}.___SInput_ltf8j_gg_._size_m_ltf8j_gg_ input:-webkit-autofill{border-radius:2px}.___SAddon_ltf8j_gg_._size_m_ltf8j_gg_,.___SValue_ltf8j_gg_._size_m_ltf8j_gg_{padding:0 8px}.___SInput_ltf8j_gg_._size_l_ltf8j_gg_{font-size:14px;height:32px}.___SInput_ltf8j_gg_._size_l_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-radius:4px}.___SInput_ltf8j_gg_._size_l_ltf8j_gg_ input:-webkit-autofill{border-radius:3px}.___SAddon_ltf8j_gg_._size_l_ltf8j_gg_,.___SValue_ltf8j_gg_._size_l_ltf8j_gg_{padding:0 8px}.___SInput_ltf8j_gg_._size_xl_ltf8j_gg_{font-size:16px;height:42px}.___SInput_ltf8j_gg_._size_xl_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-radius:5px}.___SInput_ltf8j_gg_._size_xl_ltf8j_gg_ input:-webkit-autofill{border-radius:4px}.___SAddon_ltf8j_gg_._size_xl_ltf8j_gg_,.___SValue_ltf8j_gg_._size_xl_ltf8j_gg_{padding:0 12px}.___SInput_ltf8j_gg_.__focused_ltf8j_gg_{z-index:1}.___SInput_ltf8j_gg_._state_normal_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-color:#a6b0b3}.___SInput_ltf8j_gg_._state_normal_ltf8j_gg_ .___SValue_ltf8j_gg_:focus~.___SOutline_ltf8j_gg_{border-color:#2b94e1;box-shadow:0 0 0 3px rgba(43,148,225,.3)}.___SInput_ltf8j_gg_._state_valid_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-color:#4fae33}.___SInput_ltf8j_gg_._state_valid_ltf8j_gg_ .___SValue_ltf8j_gg_:focus~.___SOutline_ltf8j_gg_{border-color:#4fae33;box-shadow:0 0 0 3px rgba(79,174,51,.3)}.___SInput_ltf8j_gg_._state_invalid_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-color:#ff7f00}.___SInput_ltf8j_gg_._state_invalid_ltf8j_gg_ .___SValue_ltf8j_gg_:focus~.___SOutline_ltf8j_gg_{border-color:#ff7f00;box-shadow:0 0 0 3px rgba(255,127,0,.3)}.___SInput_ltf8j_gg_._neighborLocation_right_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-top-right-radius:0;border-bottom-right-radius:0}.___SInput_ltf8j_gg_._neighborLocation_both_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-radius:0;border-left:none}.___SInput_ltf8j_gg_._neighborLocation_left_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.___SValue_ltf8j_gg_._neighborLocation_right_ltf8j_gg_{padding-right:0}.___SValue_ltf8j_gg_._neighborLocation_both_ltf8j_gg_{padding-left:0;padding-right:0}.___SValue_ltf8j_gg_._neighborLocation_left_ltf8j_gg_{padding-left:0}"
53
+ ".___SInput_12tss_gg_{display:inline-flex;width:100%;align-items:center;position:relative;z-index:0;vertical-align:middle;padding:1px;box-sizing:border-box}.___SInput_12tss_gg_ input:-webkit-autofill{border-radius:6px;-webkit-box-shadow:0 0 0 30px #faffbd inset}.___SInput_12tss_gg_ input:-webkit-autofill~.___SOutline_12tss_gg_{background-color:#faffbd}.___SInput_12tss_gg_ .___SOutline_12tss_gg_{border-radius:6px}.___SValue_12tss_gg_{min-width:0;width:100%;height:100%;padding:0;border:none;box-sizing:border-box;color:#191b23;font-size:inherit;text-overflow:ellipsis;font-family:inherit;background:transparent}.___SValue_12tss_gg_:focus{outline:none}.___SValue_12tss_gg_::-moz-placeholder{color:#a9abb6}.___SValue_12tss_gg_:-ms-input-placeholder{color:#a9abb6}.___SValue_12tss_gg_::placeholder{color:#a9abb6}.___SValue_12tss_gg_:-moz-read-only~.___SOutline_12tss_gg_{background:#f4f5f9}.___SValue_12tss_gg_:read-only~.___SOutline_12tss_gg_{background:#f4f5f9}.___SValue_12tss_gg_:disabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:0.3}.___SValue_12tss_gg_:disabled~.___SOutline_12tss_gg_{opacity:0.3;cursor:default;pointer-events:none}.___SOutline_12tss_gg_{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid;z-index:-1;background:#fff}.___SAddon_12tss_gg_{display:inline-flex;justify-content:center;align-items:center;flex:0 0 auto;padding:0 8px;height:100%;color:#a9abb6}.___SAddon_12tss_gg_.__interactive_12tss_gg_{cursor:pointer}.___SAddon_12tss_gg_.__interactive_12tss_gg_:hover{color:#8a8e9b}.___SAddon_12tss_gg_.__disabled_12tss_gg_{opacity:0.3;cursor:default;pointer-events:none}.___SInput_12tss_gg_._size_m_12tss_gg_{font-size:14px;height:28px}.___SValue_12tss_gg_._size_l_12tss_gg_,.___SValue_12tss_gg_._size_m_12tss_gg_{padding:0 8px}.___SInput_12tss_gg_._size_l_12tss_gg_{font-size:16px;height:40px;padding-left:4px;padding-right:4px}.___SInput_12tss_gg_.__focused_12tss_gg_{z-index:1}.___SInput_12tss_gg_._state_normal_12tss_gg_ .___SOutline_12tss_gg_{border-color:#c4c7cf}.___SInput_12tss_gg_._state_normal_12tss_gg_ .___SValue_12tss_gg_:focus~.___SOutline_12tss_gg_{border-color:#008ff8;box-shadow:0 0 0 3px rgba(0, 143, 248, 0.2)}.___SInput_12tss_gg_._state_valid_12tss_gg_ .___SOutline_12tss_gg_{border-color:#59ddaa}.___SInput_12tss_gg_._state_valid_12tss_gg_ .___SValue_12tss_gg_:focus~.___SOutline_12tss_gg_{border-color:#009f81;box-shadow:0px 0px 0px 3px rgba(0, 159, 129, 0.2)}.___SInput_12tss_gg_._state_invalid_12tss_gg_ .___SOutline_12tss_gg_{border-color:#ffaeb5}.___SInput_12tss_gg_._state_invalid_12tss_gg_ .___SValue_12tss_gg_:focus~.___SOutline_12tss_gg_{border-color:#ff4953;box-shadow:0px 0px 0px 3px rgba(255, 73, 83, 0.2)}.___SInput_12tss_gg_._neighborLocation_right_12tss_gg_ .___SOutline_12tss_gg_{border-top-right-radius:0;border-bottom-right-radius:0}.___SInput_12tss_gg_._neighborLocation_both_12tss_gg_ .___SOutline_12tss_gg_{border-radius:0;border-left:none}.___SInput_12tss_gg_._neighborLocation_left_12tss_gg_ .___SOutline_12tss_gg_{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.___SAddon_12tss_gg_._neighborLocation_right_12tss_gg_{padding-right:8px}.___SAddon_12tss_gg_._neighborLocation_left_12tss_gg_{padding-left:8px}.___SValue_12tss_gg_._neighborLocation_right_12tss_gg_{padding-right:0}.___SValue_12tss_gg_._neighborLocation_both_12tss_gg_{padding-left:0;padding-right:0}.___SValue_12tss_gg_._neighborLocation_left_12tss_gg_{padding-left:0}"
50
54
  /*__inner_css_end__*/
51
- , "oj6rjz_gg_")
55
+ , "17wylmg_gg_")
52
56
  /*__reshadow_css_end__*/
53
57
  , {
54
- "__SInput": "___SInput_ltf8j_gg_",
55
- "__SOutline": "___SOutline_ltf8j_gg_",
56
- "__SValue": "___SValue_ltf8j_gg_",
57
- "__SAddon": "___SAddon_ltf8j_gg_",
58
- "_interactive": "__interactive_ltf8j_gg_",
59
- "_disabled": "__disabled_ltf8j_gg_",
60
- "_size_s": "_size_s_ltf8j_gg_",
61
- "_size_m": "_size_m_ltf8j_gg_",
62
- "_size_l": "_size_l_ltf8j_gg_",
63
- "_size_xl": "_size_xl_ltf8j_gg_",
64
- "_focused": "__focused_ltf8j_gg_",
65
- "_state_normal": "_state_normal_ltf8j_gg_",
66
- "_state_valid": "_state_valid_ltf8j_gg_",
67
- "_state_invalid": "_state_invalid_ltf8j_gg_",
68
- "_neighborLocation_right": "_neighborLocation_right_ltf8j_gg_",
69
- "_neighborLocation_both": "_neighborLocation_both_ltf8j_gg_",
70
- "_neighborLocation_left": "_neighborLocation_left_ltf8j_gg_"
58
+ "__SInput": "___SInput_12tss_gg_",
59
+ "__SOutline": "___SOutline_12tss_gg_",
60
+ "__SValue": "___SValue_12tss_gg_",
61
+ "__SAddon": "___SAddon_12tss_gg_",
62
+ "_interactive": "__interactive_12tss_gg_",
63
+ "_disabled": "__disabled_12tss_gg_",
64
+ "_size_m": "_size_m_12tss_gg_",
65
+ "_size_l": "_size_l_12tss_gg_",
66
+ "_focused": "__focused_12tss_gg_",
67
+ "_state_normal": "_state_normal_12tss_gg_",
68
+ "_state_valid": "_state_valid_12tss_gg_",
69
+ "_state_invalid": "_state_invalid_12tss_gg_",
70
+ "_neighborLocation_right": "_neighborLocation_right_12tss_gg_",
71
+ "_neighborLocation_both": "_neighborLocation_both_12tss_gg_",
72
+ "_neighborLocation_left": "_neighborLocation_left_12tss_gg_"
71
73
  });
72
74
 
73
75
  var Input = /*#__PURE__*/function (_Component) {
@@ -88,12 +90,10 @@ var Input = /*#__PURE__*/function (_Component) {
88
90
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
89
91
  focused: false
90
92
  });
91
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "inputRef", /*#__PURE__*/_react["default"].createRef());
93
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "inputRef", _react["default"].createRef());
92
94
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleMouseDownAddon", function (e) {
93
- var _this$inputRef$curren;
94
-
95
95
  e.preventDefault();
96
- (_this$inputRef$curren = _this.inputRef.current) === null || _this$inputRef$curren === void 0 ? void 0 : _this$inputRef$curren.focus();
96
+ _this.inputRef.current?.focus();
97
97
  });
98
98
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "bindHandlerValueFocused", function (focused) {
99
99
  return function () {
@@ -108,19 +108,22 @@ var Input = /*#__PURE__*/function (_Component) {
108
108
  (0, _createClass2["default"])(Input, [{
109
109
  key: "getAddonProps",
110
110
  value: function getAddonProps() {
111
- var size = this.asProps.size;
111
+ var disabled = this.asProps.disabled;
112
112
  return {
113
- size: size,
113
+ disabled: disabled,
114
114
  onMouseDown: this.handleMouseDownAddon
115
115
  };
116
116
  }
117
117
  }, {
118
118
  key: "getValueProps",
119
119
  value: function getValueProps() {
120
- var size = this.asProps.size;
120
+ var _this$asProps = this.asProps,
121
+ size = _this$asProps.size,
122
+ disabled = _this$asProps.disabled;
121
123
  return {
122
124
  ref: this.inputRef,
123
125
  size: size,
126
+ disabled: disabled,
124
127
  onFocus: this.bindHandlerValueFocused(true),
125
128
  onBlur: this.bindHandlerValueFocused(false)
126
129
  };
@@ -128,15 +131,15 @@ var Input = /*#__PURE__*/function (_Component) {
128
131
  }, {
129
132
  key: "render",
130
133
  value: function render() {
131
- var _ref = this ? this.asProps : arguments[0],
134
+ var _ref = this.asProps,
132
135
  _ref4;
133
136
 
134
137
  var SInput = _flexBox.Box;
135
138
  var SOutline = 'div';
136
- var _this$asProps = this.asProps,
137
- Children = _this$asProps.Children,
138
- styles = _this$asProps.styles,
139
- controlsLength = _this$asProps.controlsLength;
139
+ var _this$asProps2 = this.asProps,
140
+ Children = _this$asProps2.Children,
141
+ styles = _this$asProps2.styles,
142
+ controlsLength = _this$asProps2.controlsLength;
140
143
  var focused = this.state.focused;
141
144
  return _ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SInput, _ref4.cn("SInput", _objectSpread({}, (0, _core.assignProps)({
142
145
  "focused": focused
@@ -178,7 +181,7 @@ var Value = /*#__PURE__*/function (_Component2) {
178
181
  }, {
179
182
  key: "render",
180
183
  value: function render() {
181
- var _ref2 = this ? this.asProps : arguments[0],
184
+ var _ref2 = this.asProps,
182
185
  _ref5;
183
186
 
184
187
  var SValue = _flexBox.Box;
@@ -197,7 +200,7 @@ var Value = /*#__PURE__*/function (_Component2) {
197
200
  (0, _defineProperty2["default"])(Value, "enhance", [(0, _autoFocusEnhance["default"])(), (0, _neighborLocation.neighborLocationEnhance)()]);
198
201
 
199
202
  function Addon(props) {
200
- var _ref3 = this ? this.asProps : arguments[0],
203
+ var _ref3 = arguments[0],
201
204
  _ref6;
202
205
 
203
206
  var SAddon = _flexBox.Box;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Input.js"],"names":["Input","focused","React","createRef","e","preventDefault","inputRef","current","focus","setState","size","asProps","onMouseDown","handleMouseDownAddon","ref","onFocus","bindHandlerValueFocused","onBlur","SInput","Box","SOutline","Children","styles","controlsLength","state","Component","style","Value","value","target","SValue","defaultValue","Addon","props","SAddon","enhance"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AADA;;AAEA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIMA,K;;;;;;;;;;;;;;;8FAUI;AACNC,MAAAA,OAAO,EAAE;AADH,K;8GAIGC,kBAAMC,SAAN,E;6GAEY,UAACC,CAAD,EAAO;AAAA;;AAC5BA,MAAAA,CAAC,CAACC,cAAF;AACA,qCAAKC,QAAL,CAAcC,OAAd,gFAAuBC,KAAvB;AACD,K;gHAEyB,UAACP,OAAD;AAAA,aAAa;AAAA,eAAM,MAAKQ,QAAL,CAAc;AAAER,UAAAA,OAAO,EAAPA;AAAF,SAAd,CAAN;AAAA,OAAb;AAAA,K;;;;;;WAE1B,yBAAgB;AAAA,UACNS,IADM,GACG,KAAKC,OADR,CACND,IADM;AAEd,aAAO;AACLA,QAAAA,IAAI,EAAJA,IADK;AAELE,QAAAA,WAAW,EAAE,KAAKC;AAFb,OAAP;AAID;;;WAED,yBAAgB;AAAA,UACNH,IADM,GACG,KAAKC,OADR,CACND,IADM;AAEd,aAAO;AACLI,QAAAA,GAAG,EAAE,KAAKR,QADL;AAELI,QAAAA,IAAI,EAAJA,IAFK;AAGLK,QAAAA,OAAO,EAAE,KAAKC,uBAAL,CAA6B,IAA7B,CAHJ;AAILC,QAAAA,MAAM,EAAE,KAAKD,uBAAL,CAA6B,KAA7B;AAJH,OAAP;AAMD;;;WAED,kBAAS;AAAA;AAAA;;AACP,UAAME,MAAM,GAMMC,YANlB;AACA,UAAMC,QAAQ,GAAG,KAAjB;AAFO,0BAGsC,KAAKT,OAH3C;AAAA,UAGCU,QAHD,iBAGCA,QAHD;AAAA,UAGWC,MAHX,iBAGWA,MAHX;AAAA,UAGmBC,cAHnB,iBAGmBA,cAHnB;AAAA,UAICtB,OAJD,GAIa,KAAKuB,KAJlB,CAICvB,OAJD;AAMP,qBAAO,mBAAQqB,MAAR,CAAP,eACE,gCAAC,MAAD;AAAA,mBAA8BrB;AAA9B,+BACE,gCAAC,4BAAD;AAAA,0BAAkCsB;AAAlC,uBACE,gCAAC,QAAD,2BADF,CADF,eAIE,gCAAC,QAAD,2BAJF,CADF;AAQD;;;EAvDiBE,e;;iCAAdzB,K,iBACiB,O;iCADjBA,K,kBAGkB;AACpBU,EAAAA,IAAI,EAAE,GADc;AAEpBc,EAAAA,KAAK,EAAE;AAFa,C;iCAHlBxB,K,WAOW0B,K;iCAPX1B,K,aAQa,CAAC,gDAAD,C;;IAkDb2B,K;;;;;;;;;;;;WAMJ,6BAAoB;AAClB,aAAO;AACLC,QAAAA,KAAK,EAAE,eAACxB,CAAD;AAAA,iBAAOA,CAAC,CAACyB,MAAF,CAASD,KAAhB;AAAA;AADF,OAAP;AAGD;;;WAED,kBAAS;AAAA;AAAA;;AACP,UAAME,MAAM,GAEwCX,YAFpD;AAEA,qBAAO,mBAAQ,KAAKR,OAAL,CAAaW,MAArB,CAAP,eAAoC,gCAAC,MAAD;AAAA,eAAyB,OAAzB;AAAA,gBAAsC;AAAtC,kBAApC;AACD;;;EAhBiBG,e;;iCAAdE,K,kBACkB;AACpBI,EAAAA,YAAY,EAAE;AADM,C;iCADlBJ,K,aAIa,CAAC,mCAAD,EAAqB,gDAArB,C;;AAenB,SAASK,KAAT,CAAeC,KAAf,EAAsB;AAAA;AAAA;;AACpB,MAAMC,MAAM,GACiCf,YAD7C;AACA,iBAAO,mBAAQc,KAAK,CAACX,MAAd,CAAP,eAA6B,gCAAC,MAAD,2EAA7B;AACD;;AAEDU,KAAK,CAACG,OAAN,GAAgB,CAAC,gDAAD,CAAhB;;eAEe,sBAAgBnC,KAAhB,EAAuB;AACpCgC,EAAAA,KAAK,EAALA,KADoC;AAEpCL,EAAAA,KAAK,EAALA;AAFoC,CAAvB,C","sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport NeighborLocation, { neighborLocationEnhance } from '@semcore/neighbor-location';\nimport autoFocusEnhance from '@semcore/utils/lib/enhances/autoFocusEnhance';\n\nimport style from './style/input.shadow.css';\n\nclass Input extends Component {\n static displayName = 'Input';\n\n static defaultProps = {\n size: 'm',\n state: 'normal',\n };\n static style = style;\n static enhance = [neighborLocationEnhance()];\n\n state = {\n focused: false,\n };\n\n inputRef = React.createRef();\n\n handleMouseDownAddon = (e) => {\n e.preventDefault();\n this.inputRef.current?.focus();\n };\n\n bindHandlerValueFocused = (focused) => () => this.setState({ focused });\n\n getAddonProps() {\n const { size } = this.asProps;\n return {\n size,\n onMouseDown: this.handleMouseDownAddon,\n };\n }\n\n getValueProps() {\n const { size } = this.asProps;\n return {\n ref: this.inputRef,\n size,\n onFocus: this.bindHandlerValueFocused(true),\n onBlur: this.bindHandlerValueFocused(false),\n };\n }\n\n render() {\n const SInput = Root;\n const SOutline = 'div';\n const { Children, styles, controlsLength } = this.asProps;\n const { focused } = this.state;\n\n return sstyled(styles)(\n <SInput render={Box} focused={focused}>\n <NeighborLocation controlsLength={controlsLength}>\n <Children />\n </NeighborLocation>\n <SOutline />\n </SInput>,\n );\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n defaultValue: '',\n };\n static enhance = [autoFocusEnhance(), neighborLocationEnhance()];\n\n uncontrolledProps() {\n return {\n value: (e) => e.target.value,\n };\n }\n\n render() {\n const SValue = Root;\n\n return sstyled(this.asProps.styles)(<SValue render={Box} tag=\"input\" type=\"text\" />);\n }\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n return sstyled(props.styles)(<SAddon render={Box} />);\n}\n\nAddon.enhance = [neighborLocationEnhance()];\n\nexport default createComponent(Input, {\n Addon,\n Value,\n});\n"],"file":"Input.js"}
1
+ {"version":3,"sources":["../../src/Input.jsx"],"names":["Input","focused","React","createRef","e","preventDefault","inputRef","current","focus","setState","disabled","asProps","onMouseDown","handleMouseDownAddon","size","ref","onFocus","bindHandlerValueFocused","onBlur","SInput","Box","SOutline","Children","styles","controlsLength","state","Component","style","Value","value","target","SValue","defaultValue","Addon","props","SAddon","enhance"],"mappings":"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","sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport NeighborLocation, { neighborLocationEnhance } from '@semcore/neighbor-location';\nimport autoFocusEnhance from '@semcore/utils/lib/enhances/autoFocusEnhance';\n\nimport style from './style/input.shadow.css';\n\nclass Input extends Component {\n static displayName = 'Input';\n\n static defaultProps = {\n size: 'm',\n state: 'normal',\n };\n static style = style;\n static enhance = [neighborLocationEnhance()];\n\n state = {\n focused: false,\n };\n\n inputRef = React.createRef();\n\n handleMouseDownAddon = (e) => {\n e.preventDefault();\n this.inputRef.current?.focus();\n };\n\n bindHandlerValueFocused = (focused) => () => this.setState({ focused });\n\n getAddonProps() {\n const { disabled } = this.asProps;\n return {\n disabled,\n onMouseDown: this.handleMouseDownAddon,\n };\n }\n\n getValueProps() {\n const { size, disabled } = this.asProps;\n return {\n ref: this.inputRef,\n size,\n disabled,\n onFocus: this.bindHandlerValueFocused(true),\n onBlur: this.bindHandlerValueFocused(false),\n };\n }\n\n render() {\n const SInput = Root;\n const SOutline = 'div';\n const { Children, styles, controlsLength } = this.asProps;\n const { focused } = this.state;\n\n return sstyled(styles)(\n <SInput render={Box} focused={focused}>\n <NeighborLocation controlsLength={controlsLength}>\n <Children />\n </NeighborLocation>\n <SOutline />\n </SInput>,\n );\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n defaultValue: '',\n };\n static enhance = [autoFocusEnhance(), neighborLocationEnhance()];\n\n uncontrolledProps() {\n return {\n value: (e) => e.target.value,\n };\n }\n\n render() {\n const SValue = Root;\n\n return sstyled(this.asProps.styles)(<SValue render={Box} tag=\"input\" type=\"text\" />);\n }\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n return sstyled(props.styles)(<SAddon render={Box} />);\n}\n\nAddon.enhance = [neighborLocationEnhance()];\n\nexport default createComponent(Input, {\n Addon,\n Value,\n});\n"],"file":"Input.js"}
@@ -0,0 +1,85 @@
1
+ import React from 'react';
2
+ import { PropGetterFn } from '@semcore/core';
3
+ import { IBoxProps } from '@semcore/flex-box';
4
+ import { INeighborItemProps, INeighborLocationProps } from '@semcore/neighbor-location';
5
+ import { IWithAutoFocusEnhanceProps } from '@semcore/utils/lib/enhances/autoFocusEnhance';
6
+
7
+ /* utils type */
8
+ type CProps<Props, Ctx = {}, UCProps = {}> = Props & {
9
+ children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;
10
+ };
11
+ type ReturnEl = React.ReactElement | null;
12
+ /* utils type */
13
+
14
+ export type InputSize = 'm' | 'l';
15
+
16
+ export interface IInputProps extends IBoxProps, INeighborItemProps, INeighborLocationProps {
17
+ /**
18
+ * Sets the input and addons to the disabled state
19
+ * */
20
+ disabled?: boolean;
21
+ /**
22
+ * Input size
23
+ * @default m
24
+ */
25
+ size?: InputSize;
26
+ /**
27
+ * Sets the input state
28
+ * @default normal
29
+ */
30
+ state?: 'normal' | 'invalid' | 'valid';
31
+ }
32
+
33
+ export interface IInputValueProps
34
+ extends IBoxProps,
35
+ INeighborItemProps,
36
+ IWithAutoFocusEnhanceProps {
37
+ /**
38
+ * Input value
39
+ */
40
+ value?: string;
41
+ /**
42
+ * Handler for changing the value
43
+ */
44
+ onChange?: (value: string, event: React.SyntheticEvent<HTMLInputElement>) => void;
45
+ /**
46
+ * Sets the input to the disabled state
47
+ * */
48
+ disabled?: boolean;
49
+ /**
50
+ * Sets the input to the read-only state
51
+ * */
52
+ readOnly?: boolean;
53
+ /**
54
+ * Input size
55
+ * @default m
56
+ */
57
+ size?: InputSize;
58
+ }
59
+
60
+ export interface IInputAddonProps extends IBoxProps, INeighborItemProps {
61
+ /**
62
+ * Adds styles for interactive icons
63
+ */
64
+ interactive?: boolean;
65
+ /**
66
+ * Blocks the addon
67
+ * */
68
+ disabled?: boolean;
69
+ /**
70
+ * Input size
71
+ * @default m
72
+ */
73
+ size?: InputSize;
74
+ }
75
+
76
+ interface IInputCtx {
77
+ getValueProps: PropGetterFn;
78
+ getAddonProps: PropGetterFn;
79
+ }
80
+
81
+ declare const Input: (<T>(props: CProps<IInputProps & T, IInputCtx>) => ReturnEl) & {
82
+ Value: <T>(props: IInputValueProps & T) => ReturnEl;
83
+ Addon: <T>(props: CProps<IInputAddonProps & T, IInputProps>) => ReturnEl;
84
+ };
85
+ export default Input;
@@ -11,12 +11,17 @@ SInput {
11
11
  box-sizing: border-box;
12
12
 
13
13
  & input:-webkit-autofill {
14
+ border-radius: var(--rounded-m);
14
15
  -webkit-box-shadow: 0 0 0 30px rgb(250, 255, 189) inset;
15
16
 
16
17
  & ~ SOutline {
17
18
  background-color: rgb(250, 255, 189);
18
19
  }
19
20
  }
21
+
22
+ & SOutline {
23
+ border-radius: var(--rounded-m);
24
+ }
20
25
  }
21
26
 
22
27
  SValue {
@@ -27,9 +32,8 @@ SValue {
27
32
  padding: 0;
28
33
  border: none;
29
34
  box-sizing: border-box;
30
- color: var(--gray20);
35
+ color: var(--gray-800);
31
36
  font-size: inherit;
32
- line-height: 1.1;
33
37
  text-overflow: ellipsis;
34
38
  font-family: inherit;
35
39
  background: transparent;
@@ -39,11 +43,11 @@ SValue {
39
43
  }
40
44
 
41
45
  &::placeholder {
42
- color: var(--gray70);
46
+ color: var(--gray-300);
43
47
  }
44
48
 
45
49
  &:read-only ~ SOutline {
46
- background: var(--gray96);
50
+ background: var(--gray-50);
47
51
  }
48
52
 
49
53
  &:disabled {
@@ -74,16 +78,16 @@ SAddon {
74
78
  justify-content: center;
75
79
  align-items: center;
76
80
  flex: 0 0 auto;
81
+ padding: 0 8px;
77
82
  height: 100%;
78
- color: var(--gray40);
83
+ color: var(--gray-300);
79
84
  }
80
85
 
81
86
  SAddon[interactive] {
82
- color: var(--stone);
83
87
  cursor: pointer;
84
88
 
85
89
  &:hover {
86
- color: color-mod(var(--stone) shade(12%));
90
+ color: var(--gray-400);
87
91
  }
88
92
  }
89
93
 
@@ -93,76 +97,21 @@ SAddon[disabled] {
93
97
  pointer-events: none;
94
98
  }
95
99
 
96
- SInput[size='s'] {
97
- font-size: 10px;
98
- height: 18px;
99
-
100
- & SOutline {
101
- border-radius: 2px;
102
- }
103
-
104
- & input:-webkit-autofill {
105
- border-radius: 1px;
106
- }
107
- }
108
-
109
- SValue[size='s'],
110
- SAddon[size='s'] {
111
- padding: 0 4px;
112
- }
113
-
114
100
  SInput[size='m'] {
115
- font-size: 12px;
116
- height: 26px;
117
-
118
- & SOutline {
119
- border-radius: 3px;
120
- }
121
-
122
- & input:-webkit-autofill {
123
- border-radius: 2px;
124
- }
101
+ font-size: var(--fs-200);
102
+ height: var(--form-control-m);
125
103
  }
126
104
 
127
105
  SValue[size='m'],
128
- SAddon[size='m'] {
106
+ SValue[size='l'] {
129
107
  padding: 0 8px;
130
108
  }
131
109
 
132
110
  SInput[size='l'] {
133
- font-size: 14px;
134
- height: 32px;
135
-
136
- & SOutline {
137
- border-radius: 4px;
138
- }
139
-
140
- & input:-webkit-autofill {
141
- border-radius: 3px;
142
- }
143
- }
144
-
145
- SValue[size='l'],
146
- SAddon[size='l'] {
147
- padding: 0 8px;
148
- }
149
-
150
- SInput[size='xl'] {
151
- font-size: 16px;
152
- height: 42px;
153
-
154
- & SOutline {
155
- border-radius: 5px;
156
- }
157
-
158
- & input:-webkit-autofill {
159
- border-radius: 4px;
160
- }
161
- }
162
-
163
- SValue[size='xl'],
164
- SAddon[size='xl'] {
165
- padding: 0 12px;
111
+ font-size: var(--fs-300);
112
+ height: var(--form-control-l);
113
+ padding-left: 4px;
114
+ padding-right: 4px;
166
115
  }
167
116
 
168
117
  SInput[focused] {
@@ -171,32 +120,32 @@ SInput[focused] {
171
120
 
172
121
  SInput[state='normal'] {
173
122
  & SOutline {
174
- border-color: var(--stone);
123
+ border-color: var(--gray-200);
175
124
  }
176
125
 
177
126
  & SValue:focus ~ SOutline {
178
- border-color: var(--light-blue);
179
- box-shadow: var(--keyborad-focus);
127
+ border-color: var(--blue-400);
128
+ box-shadow: var(--keyboard-focus);
180
129
  }
181
130
  }
182
131
  SInput[state='valid'] {
183
132
  & SOutline {
184
- border-color: var(--green);
133
+ border-color: var(--green-200);
185
134
  }
186
135
 
187
136
  & SValue:focus ~ SOutline {
188
- border-color: var(--green);
189
- box-shadow: 0 0 0 3px color-mod(var(--green) a(30%));
137
+ border-color: var(--green-400);
138
+ box-shadow: var(--keyboard-focus-valid);
190
139
  }
191
140
  }
192
141
  SInput[state='invalid'] {
193
142
  & SOutline {
194
- border-color: var(--orange);
143
+ border-color: var(--red-200);
195
144
  }
196
145
 
197
146
  & SValue:focus ~ SOutline {
198
- border-color: var(--orange);
199
- box-shadow: 0 0 0 3px color-mod(var(--orange) a(30%));
147
+ border-color: var(--red-400);
148
+ box-shadow: var(--keyboard-focus-invalid);
200
149
  }
201
150
  }
202
151
 
@@ -220,6 +169,14 @@ SInput[neighborLocation='left'] {
220
169
  }
221
170
  }
222
171
 
172
+ SAddon[neighborLocation='right'] {
173
+ padding-right: 8px;
174
+ }
175
+
176
+ SAddon[neighborLocation='left'] {
177
+ padding-left: 8px;
178
+ }
179
+
223
180
  SValue[neighborLocation='right'] {
224
181
  padding-right: 0;
225
182
  }
package/lib/es6/Input.js CHANGED
@@ -10,9 +10,9 @@ import { assignProps as _assignProps3 } from "@semcore/core";
10
10
  import { assignProps as _assignProps2 } from "@semcore/core";
11
11
  import { assignProps as _assignProps } from "@semcore/core";
12
12
 
13
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
13
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
14
 
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
15
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
16
 
17
17
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
18
18
 
@@ -29,28 +29,26 @@ var style = (
29
29
  /*__reshadow_css_start__*/
30
30
  _sstyled.insert(
31
31
  /*__inner_css_start__*/
32
- ".___SInput_ltf8j_gg_{display:inline-flex;width:100%;align-items:center;position:relative;z-index:0;vertical-align:middle;padding:1px;box-sizing:border-box}.___SInput_ltf8j_gg_ input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px #faffbd inset}.___SInput_ltf8j_gg_ input:-webkit-autofill~.___SOutline_ltf8j_gg_{background-color:#faffbd}.___SValue_ltf8j_gg_{min-width:0;width:100%;height:100%;padding:0;border:none;box-sizing:border-box;color:#333;font-size:inherit;line-height:1.1;text-overflow:ellipsis;font-family:inherit;background:transparent}.___SValue_ltf8j_gg_:focus{outline:none}.___SValue_ltf8j_gg_::-moz-placeholder{color:#aaa}.___SValue_ltf8j_gg_:-ms-input-placeholder{color:#aaa}.___SValue_ltf8j_gg_::placeholder{color:#aaa}.___SValue_ltf8j_gg_:-moz-read-only~.___SOutline_ltf8j_gg_{background:#f5f5f5}.___SValue_ltf8j_gg_:read-only~.___SOutline_ltf8j_gg_{background:#f5f5f5}.___SValue_ltf8j_gg_:disabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.3}.___SValue_ltf8j_gg_:disabled~.___SOutline_ltf8j_gg_{opacity:.3;cursor:default;pointer-events:none}.___SOutline_ltf8j_gg_{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid;z-index:-1;background:#fff}.___SAddon_ltf8j_gg_{display:inline-flex;justify-content:center;align-items:center;flex:0 0 auto;height:100%;color:#666}.___SAddon_ltf8j_gg_.__interactive_ltf8j_gg_{color:#a6b0b3;cursor:pointer}.___SAddon_ltf8j_gg_.__interactive_ltf8j_gg_:hover{color:#929b9e}.___SAddon_ltf8j_gg_.__disabled_ltf8j_gg_{opacity:.3;cursor:default;pointer-events:none}.___SInput_ltf8j_gg_._size_s_ltf8j_gg_{font-size:10px;height:18px}.___SInput_ltf8j_gg_._size_s_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-radius:2px}.___SInput_ltf8j_gg_._size_s_ltf8j_gg_ input:-webkit-autofill{border-radius:1px}.___SAddon_ltf8j_gg_._size_s_ltf8j_gg_,.___SValue_ltf8j_gg_._size_s_ltf8j_gg_{padding:0 4px}.___SInput_ltf8j_gg_._size_m_ltf8j_gg_{font-size:12px;height:26px}.___SInput_ltf8j_gg_._size_m_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-radius:3px}.___SInput_ltf8j_gg_._size_m_ltf8j_gg_ input:-webkit-autofill{border-radius:2px}.___SAddon_ltf8j_gg_._size_m_ltf8j_gg_,.___SValue_ltf8j_gg_._size_m_ltf8j_gg_{padding:0 8px}.___SInput_ltf8j_gg_._size_l_ltf8j_gg_{font-size:14px;height:32px}.___SInput_ltf8j_gg_._size_l_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-radius:4px}.___SInput_ltf8j_gg_._size_l_ltf8j_gg_ input:-webkit-autofill{border-radius:3px}.___SAddon_ltf8j_gg_._size_l_ltf8j_gg_,.___SValue_ltf8j_gg_._size_l_ltf8j_gg_{padding:0 8px}.___SInput_ltf8j_gg_._size_xl_ltf8j_gg_{font-size:16px;height:42px}.___SInput_ltf8j_gg_._size_xl_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-radius:5px}.___SInput_ltf8j_gg_._size_xl_ltf8j_gg_ input:-webkit-autofill{border-radius:4px}.___SAddon_ltf8j_gg_._size_xl_ltf8j_gg_,.___SValue_ltf8j_gg_._size_xl_ltf8j_gg_{padding:0 12px}.___SInput_ltf8j_gg_.__focused_ltf8j_gg_{z-index:1}.___SInput_ltf8j_gg_._state_normal_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-color:#a6b0b3}.___SInput_ltf8j_gg_._state_normal_ltf8j_gg_ .___SValue_ltf8j_gg_:focus~.___SOutline_ltf8j_gg_{border-color:#2b94e1;box-shadow:0 0 0 3px rgba(43,148,225,.3)}.___SInput_ltf8j_gg_._state_valid_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-color:#4fae33}.___SInput_ltf8j_gg_._state_valid_ltf8j_gg_ .___SValue_ltf8j_gg_:focus~.___SOutline_ltf8j_gg_{border-color:#4fae33;box-shadow:0 0 0 3px rgba(79,174,51,.3)}.___SInput_ltf8j_gg_._state_invalid_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-color:#ff7f00}.___SInput_ltf8j_gg_._state_invalid_ltf8j_gg_ .___SValue_ltf8j_gg_:focus~.___SOutline_ltf8j_gg_{border-color:#ff7f00;box-shadow:0 0 0 3px rgba(255,127,0,.3)}.___SInput_ltf8j_gg_._neighborLocation_right_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-top-right-radius:0;border-bottom-right-radius:0}.___SInput_ltf8j_gg_._neighborLocation_both_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-radius:0;border-left:none}.___SInput_ltf8j_gg_._neighborLocation_left_ltf8j_gg_ .___SOutline_ltf8j_gg_{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.___SValue_ltf8j_gg_._neighborLocation_right_ltf8j_gg_{padding-right:0}.___SValue_ltf8j_gg_._neighborLocation_both_ltf8j_gg_{padding-left:0;padding-right:0}.___SValue_ltf8j_gg_._neighborLocation_left_ltf8j_gg_{padding-left:0}"
32
+ ".___SInput_12tss_gg_{display:inline-flex;width:100%;align-items:center;position:relative;z-index:0;vertical-align:middle;padding:1px;box-sizing:border-box}.___SInput_12tss_gg_ input:-webkit-autofill{border-radius:6px;-webkit-box-shadow:0 0 0 30px #faffbd inset}.___SInput_12tss_gg_ input:-webkit-autofill~.___SOutline_12tss_gg_{background-color:#faffbd}.___SInput_12tss_gg_ .___SOutline_12tss_gg_{border-radius:6px}.___SValue_12tss_gg_{min-width:0;width:100%;height:100%;padding:0;border:none;box-sizing:border-box;color:#191b23;font-size:inherit;text-overflow:ellipsis;font-family:inherit;background:transparent}.___SValue_12tss_gg_:focus{outline:none}.___SValue_12tss_gg_::-moz-placeholder{color:#a9abb6}.___SValue_12tss_gg_:-ms-input-placeholder{color:#a9abb6}.___SValue_12tss_gg_::placeholder{color:#a9abb6}.___SValue_12tss_gg_:-moz-read-only~.___SOutline_12tss_gg_{background:#f4f5f9}.___SValue_12tss_gg_:read-only~.___SOutline_12tss_gg_{background:#f4f5f9}.___SValue_12tss_gg_:disabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:0.3}.___SValue_12tss_gg_:disabled~.___SOutline_12tss_gg_{opacity:0.3;cursor:default;pointer-events:none}.___SOutline_12tss_gg_{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid;z-index:-1;background:#fff}.___SAddon_12tss_gg_{display:inline-flex;justify-content:center;align-items:center;flex:0 0 auto;padding:0 8px;height:100%;color:#a9abb6}.___SAddon_12tss_gg_.__interactive_12tss_gg_{cursor:pointer}.___SAddon_12tss_gg_.__interactive_12tss_gg_:hover{color:#8a8e9b}.___SAddon_12tss_gg_.__disabled_12tss_gg_{opacity:0.3;cursor:default;pointer-events:none}.___SInput_12tss_gg_._size_m_12tss_gg_{font-size:14px;height:28px}.___SValue_12tss_gg_._size_l_12tss_gg_,.___SValue_12tss_gg_._size_m_12tss_gg_{padding:0 8px}.___SInput_12tss_gg_._size_l_12tss_gg_{font-size:16px;height:40px;padding-left:4px;padding-right:4px}.___SInput_12tss_gg_.__focused_12tss_gg_{z-index:1}.___SInput_12tss_gg_._state_normal_12tss_gg_ .___SOutline_12tss_gg_{border-color:#c4c7cf}.___SInput_12tss_gg_._state_normal_12tss_gg_ .___SValue_12tss_gg_:focus~.___SOutline_12tss_gg_{border-color:#008ff8;box-shadow:0 0 0 3px rgba(0, 143, 248, 0.2)}.___SInput_12tss_gg_._state_valid_12tss_gg_ .___SOutline_12tss_gg_{border-color:#59ddaa}.___SInput_12tss_gg_._state_valid_12tss_gg_ .___SValue_12tss_gg_:focus~.___SOutline_12tss_gg_{border-color:#009f81;box-shadow:0px 0px 0px 3px rgba(0, 159, 129, 0.2)}.___SInput_12tss_gg_._state_invalid_12tss_gg_ .___SOutline_12tss_gg_{border-color:#ffaeb5}.___SInput_12tss_gg_._state_invalid_12tss_gg_ .___SValue_12tss_gg_:focus~.___SOutline_12tss_gg_{border-color:#ff4953;box-shadow:0px 0px 0px 3px rgba(255, 73, 83, 0.2)}.___SInput_12tss_gg_._neighborLocation_right_12tss_gg_ .___SOutline_12tss_gg_{border-top-right-radius:0;border-bottom-right-radius:0}.___SInput_12tss_gg_._neighborLocation_both_12tss_gg_ .___SOutline_12tss_gg_{border-radius:0;border-left:none}.___SInput_12tss_gg_._neighborLocation_left_12tss_gg_ .___SOutline_12tss_gg_{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.___SAddon_12tss_gg_._neighborLocation_right_12tss_gg_{padding-right:8px}.___SAddon_12tss_gg_._neighborLocation_left_12tss_gg_{padding-left:8px}.___SValue_12tss_gg_._neighborLocation_right_12tss_gg_{padding-right:0}.___SValue_12tss_gg_._neighborLocation_both_12tss_gg_{padding-left:0;padding-right:0}.___SValue_12tss_gg_._neighborLocation_left_12tss_gg_{padding-left:0}"
33
33
  /*__inner_css_end__*/
34
- , "oj6rjz_gg_")
34
+ , "17wylmg_gg_")
35
35
  /*__reshadow_css_end__*/
36
36
  , {
37
- "__SInput": "___SInput_ltf8j_gg_",
38
- "__SOutline": "___SOutline_ltf8j_gg_",
39
- "__SValue": "___SValue_ltf8j_gg_",
40
- "__SAddon": "___SAddon_ltf8j_gg_",
41
- "_interactive": "__interactive_ltf8j_gg_",
42
- "_disabled": "__disabled_ltf8j_gg_",
43
- "_size_s": "_size_s_ltf8j_gg_",
44
- "_size_m": "_size_m_ltf8j_gg_",
45
- "_size_l": "_size_l_ltf8j_gg_",
46
- "_size_xl": "_size_xl_ltf8j_gg_",
47
- "_focused": "__focused_ltf8j_gg_",
48
- "_state_normal": "_state_normal_ltf8j_gg_",
49
- "_state_valid": "_state_valid_ltf8j_gg_",
50
- "_state_invalid": "_state_invalid_ltf8j_gg_",
51
- "_neighborLocation_right": "_neighborLocation_right_ltf8j_gg_",
52
- "_neighborLocation_both": "_neighborLocation_both_ltf8j_gg_",
53
- "_neighborLocation_left": "_neighborLocation_left_ltf8j_gg_"
37
+ "__SInput": "___SInput_12tss_gg_",
38
+ "__SOutline": "___SOutline_12tss_gg_",
39
+ "__SValue": "___SValue_12tss_gg_",
40
+ "__SAddon": "___SAddon_12tss_gg_",
41
+ "_interactive": "__interactive_12tss_gg_",
42
+ "_disabled": "__disabled_12tss_gg_",
43
+ "_size_m": "_size_m_12tss_gg_",
44
+ "_size_l": "_size_l_12tss_gg_",
45
+ "_focused": "__focused_12tss_gg_",
46
+ "_state_normal": "_state_normal_12tss_gg_",
47
+ "_state_valid": "_state_valid_12tss_gg_",
48
+ "_state_invalid": "_state_invalid_12tss_gg_",
49
+ "_neighborLocation_right": "_neighborLocation_right_12tss_gg_",
50
+ "_neighborLocation_both": "_neighborLocation_both_12tss_gg_",
51
+ "_neighborLocation_left": "_neighborLocation_left_12tss_gg_"
54
52
  });
55
53
 
56
54
  var Input = /*#__PURE__*/function (_Component) {
@@ -73,13 +71,11 @@ var Input = /*#__PURE__*/function (_Component) {
73
71
  focused: false
74
72
  });
75
73
 
76
- _defineProperty(_assertThisInitialized(_this), "inputRef", /*#__PURE__*/React.createRef());
74
+ _defineProperty(_assertThisInitialized(_this), "inputRef", React.createRef());
77
75
 
78
76
  _defineProperty(_assertThisInitialized(_this), "handleMouseDownAddon", function (e) {
79
- var _this$inputRef$curren;
80
-
81
77
  e.preventDefault();
82
- (_this$inputRef$curren = _this.inputRef.current) === null || _this$inputRef$curren === void 0 ? void 0 : _this$inputRef$curren.focus();
78
+ _this.inputRef.current?.focus();
83
79
  });
84
80
 
85
81
  _defineProperty(_assertThisInitialized(_this), "bindHandlerValueFocused", function (focused) {
@@ -96,19 +92,22 @@ var Input = /*#__PURE__*/function (_Component) {
96
92
  _createClass(Input, [{
97
93
  key: "getAddonProps",
98
94
  value: function getAddonProps() {
99
- var size = this.asProps.size;
95
+ var disabled = this.asProps.disabled;
100
96
  return {
101
- size: size,
97
+ disabled: disabled,
102
98
  onMouseDown: this.handleMouseDownAddon
103
99
  };
104
100
  }
105
101
  }, {
106
102
  key: "getValueProps",
107
103
  value: function getValueProps() {
108
- var size = this.asProps.size;
104
+ var _this$asProps = this.asProps,
105
+ size = _this$asProps.size,
106
+ disabled = _this$asProps.disabled;
109
107
  return {
110
108
  ref: this.inputRef,
111
109
  size: size,
110
+ disabled: disabled,
112
111
  onFocus: this.bindHandlerValueFocused(true),
113
112
  onBlur: this.bindHandlerValueFocused(false)
114
113
  };
@@ -116,15 +115,15 @@ var Input = /*#__PURE__*/function (_Component) {
116
115
  }, {
117
116
  key: "render",
118
117
  value: function render() {
119
- var _ref = this ? this.asProps : arguments[0],
118
+ var _ref = this.asProps,
120
119
  _ref4;
121
120
 
122
121
  var SInput = Box;
123
122
  var SOutline = 'div';
124
- var _this$asProps = this.asProps,
125
- Children = _this$asProps.Children,
126
- styles = _this$asProps.styles,
127
- controlsLength = _this$asProps.controlsLength;
123
+ var _this$asProps2 = this.asProps,
124
+ Children = _this$asProps2.Children,
125
+ styles = _this$asProps2.styles,
126
+ controlsLength = _this$asProps2.controlsLength;
128
127
  var focused = this.state.focused;
129
128
  return _ref4 = sstyled(styles), /*#__PURE__*/React.createElement(SInput, _ref4.cn("SInput", _objectSpread({}, _assignProps({
130
129
  "focused": focused
@@ -171,7 +170,7 @@ var Value = /*#__PURE__*/function (_Component2) {
171
170
  }, {
172
171
  key: "render",
173
172
  value: function render() {
174
- var _ref2 = this ? this.asProps : arguments[0],
173
+ var _ref2 = this.asProps,
175
174
  _ref5;
176
175
 
177
176
  var SValue = Box;
@@ -192,7 +191,7 @@ _defineProperty(Value, "defaultProps", {
192
191
  _defineProperty(Value, "enhance", [autoFocusEnhance(), neighborLocationEnhance()]);
193
192
 
194
193
  function Addon(props) {
195
- var _ref3 = this ? this.asProps : arguments[0],
194
+ var _ref3 = arguments[0],
196
195
  _ref6;
197
196
 
198
197
  var SAddon = Box;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Input.js"],"names":["React","createComponent","Component","sstyled","Root","Box","NeighborLocation","neighborLocationEnhance","autoFocusEnhance","Input","focused","createRef","e","preventDefault","inputRef","current","focus","setState","size","asProps","onMouseDown","handleMouseDownAddon","ref","onFocus","bindHandlerValueFocused","onBlur","SInput","SOutline","Children","styles","controlsLength","state","style","Value","value","target","SValue","defaultValue","Addon","props","SAddon","enhance"],"mappings":"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","sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport NeighborLocation, { neighborLocationEnhance } from '@semcore/neighbor-location';\nimport autoFocusEnhance from '@semcore/utils/lib/enhances/autoFocusEnhance';\n\nimport style from './style/input.shadow.css';\n\nclass Input extends Component {\n static displayName = 'Input';\n\n static defaultProps = {\n size: 'm',\n state: 'normal',\n };\n static style = style;\n static enhance = [neighborLocationEnhance()];\n\n state = {\n focused: false,\n };\n\n inputRef = React.createRef();\n\n handleMouseDownAddon = (e) => {\n e.preventDefault();\n this.inputRef.current?.focus();\n };\n\n bindHandlerValueFocused = (focused) => () => this.setState({ focused });\n\n getAddonProps() {\n const { size } = this.asProps;\n return {\n size,\n onMouseDown: this.handleMouseDownAddon,\n };\n }\n\n getValueProps() {\n const { size } = this.asProps;\n return {\n ref: this.inputRef,\n size,\n onFocus: this.bindHandlerValueFocused(true),\n onBlur: this.bindHandlerValueFocused(false),\n };\n }\n\n render() {\n const SInput = Root;\n const SOutline = 'div';\n const { Children, styles, controlsLength } = this.asProps;\n const { focused } = this.state;\n\n return sstyled(styles)(\n <SInput render={Box} focused={focused}>\n <NeighborLocation controlsLength={controlsLength}>\n <Children />\n </NeighborLocation>\n <SOutline />\n </SInput>,\n );\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n defaultValue: '',\n };\n static enhance = [autoFocusEnhance(), neighborLocationEnhance()];\n\n uncontrolledProps() {\n return {\n value: (e) => e.target.value,\n };\n }\n\n render() {\n const SValue = Root;\n\n return sstyled(this.asProps.styles)(<SValue render={Box} tag=\"input\" type=\"text\" />);\n }\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n return sstyled(props.styles)(<SAddon render={Box} />);\n}\n\nAddon.enhance = [neighborLocationEnhance()];\n\nexport default createComponent(Input, {\n Addon,\n Value,\n});\n"],"file":"Input.js"}
1
+ {"version":3,"sources":["../../src/Input.jsx"],"names":["React","createComponent","Component","sstyled","Root","Box","NeighborLocation","neighborLocationEnhance","autoFocusEnhance","Input","focused","createRef","e","preventDefault","inputRef","current","focus","setState","disabled","asProps","onMouseDown","handleMouseDownAddon","size","ref","onFocus","bindHandlerValueFocused","onBlur","SInput","SOutline","Children","styles","controlsLength","state","style","Value","value","target","SValue","defaultValue","Addon","props","SAddon","enhance"],"mappings":"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","sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport NeighborLocation, { neighborLocationEnhance } from '@semcore/neighbor-location';\nimport autoFocusEnhance from '@semcore/utils/lib/enhances/autoFocusEnhance';\n\nimport style from './style/input.shadow.css';\n\nclass Input extends Component {\n static displayName = 'Input';\n\n static defaultProps = {\n size: 'm',\n state: 'normal',\n };\n static style = style;\n static enhance = [neighborLocationEnhance()];\n\n state = {\n focused: false,\n };\n\n inputRef = React.createRef();\n\n handleMouseDownAddon = (e) => {\n e.preventDefault();\n this.inputRef.current?.focus();\n };\n\n bindHandlerValueFocused = (focused) => () => this.setState({ focused });\n\n getAddonProps() {\n const { disabled } = this.asProps;\n return {\n disabled,\n onMouseDown: this.handleMouseDownAddon,\n };\n }\n\n getValueProps() {\n const { size, disabled } = this.asProps;\n return {\n ref: this.inputRef,\n size,\n disabled,\n onFocus: this.bindHandlerValueFocused(true),\n onBlur: this.bindHandlerValueFocused(false),\n };\n }\n\n render() {\n const SInput = Root;\n const SOutline = 'div';\n const { Children, styles, controlsLength } = this.asProps;\n const { focused } = this.state;\n\n return sstyled(styles)(\n <SInput render={Box} focused={focused}>\n <NeighborLocation controlsLength={controlsLength}>\n <Children />\n </NeighborLocation>\n <SOutline />\n </SInput>,\n );\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n defaultValue: '',\n };\n static enhance = [autoFocusEnhance(), neighborLocationEnhance()];\n\n uncontrolledProps() {\n return {\n value: (e) => e.target.value,\n };\n }\n\n render() {\n const SValue = Root;\n\n return sstyled(this.asProps.styles)(<SValue render={Box} tag=\"input\" type=\"text\" />);\n }\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n return sstyled(props.styles)(<SAddon render={Box} />);\n}\n\nAddon.enhance = [neighborLocationEnhance()];\n\nexport default createComponent(Input, {\n Addon,\n Value,\n});\n"],"file":"Input.js"}
@@ -0,0 +1,85 @@
1
+ import React from 'react';
2
+ import { PropGetterFn } from '@semcore/core';
3
+ import { IBoxProps } from '@semcore/flex-box';
4
+ import { INeighborItemProps, INeighborLocationProps } from '@semcore/neighbor-location';
5
+ import { IWithAutoFocusEnhanceProps } from '@semcore/utils/lib/enhances/autoFocusEnhance';
6
+
7
+ /* utils type */
8
+ type CProps<Props, Ctx = {}, UCProps = {}> = Props & {
9
+ children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;
10
+ };
11
+ type ReturnEl = React.ReactElement | null;
12
+ /* utils type */
13
+
14
+ export type InputSize = 'm' | 'l';
15
+
16
+ export interface IInputProps extends IBoxProps, INeighborItemProps, INeighborLocationProps {
17
+ /**
18
+ * Sets the input and addons to the disabled state
19
+ * */
20
+ disabled?: boolean;
21
+ /**
22
+ * Input size
23
+ * @default m
24
+ */
25
+ size?: InputSize;
26
+ /**
27
+ * Sets the input state
28
+ * @default normal
29
+ */
30
+ state?: 'normal' | 'invalid' | 'valid';
31
+ }
32
+
33
+ export interface IInputValueProps
34
+ extends IBoxProps,
35
+ INeighborItemProps,
36
+ IWithAutoFocusEnhanceProps {
37
+ /**
38
+ * Input value
39
+ */
40
+ value?: string;
41
+ /**
42
+ * Handler for changing the value
43
+ */
44
+ onChange?: (value: string, event: React.SyntheticEvent<HTMLInputElement>) => void;
45
+ /**
46
+ * Sets the input to the disabled state
47
+ * */
48
+ disabled?: boolean;
49
+ /**
50
+ * Sets the input to the read-only state
51
+ * */
52
+ readOnly?: boolean;
53
+ /**
54
+ * Input size
55
+ * @default m
56
+ */
57
+ size?: InputSize;
58
+ }
59
+
60
+ export interface IInputAddonProps extends IBoxProps, INeighborItemProps {
61
+ /**
62
+ * Adds styles for interactive icons
63
+ */
64
+ interactive?: boolean;
65
+ /**
66
+ * Blocks the addon
67
+ * */
68
+ disabled?: boolean;
69
+ /**
70
+ * Input size
71
+ * @default m
72
+ */
73
+ size?: InputSize;
74
+ }
75
+
76
+ interface IInputCtx {
77
+ getValueProps: PropGetterFn;
78
+ getAddonProps: PropGetterFn;
79
+ }
80
+
81
+ declare const Input: (<T>(props: CProps<IInputProps & T, IInputCtx>) => ReturnEl) & {
82
+ Value: <T>(props: IInputValueProps & T) => ReturnEl;
83
+ Addon: <T>(props: CProps<IInputAddonProps & T, IInputProps>) => ReturnEl;
84
+ };
85
+ export default Input;
@@ -11,12 +11,17 @@ SInput {
11
11
  box-sizing: border-box;
12
12
 
13
13
  & input:-webkit-autofill {
14
+ border-radius: var(--rounded-m);
14
15
  -webkit-box-shadow: 0 0 0 30px rgb(250, 255, 189) inset;
15
16
 
16
17
  & ~ SOutline {
17
18
  background-color: rgb(250, 255, 189);
18
19
  }
19
20
  }
21
+
22
+ & SOutline {
23
+ border-radius: var(--rounded-m);
24
+ }
20
25
  }
21
26
 
22
27
  SValue {
@@ -27,9 +32,8 @@ SValue {
27
32
  padding: 0;
28
33
  border: none;
29
34
  box-sizing: border-box;
30
- color: var(--gray20);
35
+ color: var(--gray-800);
31
36
  font-size: inherit;
32
- line-height: 1.1;
33
37
  text-overflow: ellipsis;
34
38
  font-family: inherit;
35
39
  background: transparent;
@@ -39,11 +43,11 @@ SValue {
39
43
  }
40
44
 
41
45
  &::placeholder {
42
- color: var(--gray70);
46
+ color: var(--gray-300);
43
47
  }
44
48
 
45
49
  &:read-only ~ SOutline {
46
- background: var(--gray96);
50
+ background: var(--gray-50);
47
51
  }
48
52
 
49
53
  &:disabled {
@@ -74,16 +78,16 @@ SAddon {
74
78
  justify-content: center;
75
79
  align-items: center;
76
80
  flex: 0 0 auto;
81
+ padding: 0 8px;
77
82
  height: 100%;
78
- color: var(--gray40);
83
+ color: var(--gray-300);
79
84
  }
80
85
 
81
86
  SAddon[interactive] {
82
- color: var(--stone);
83
87
  cursor: pointer;
84
88
 
85
89
  &:hover {
86
- color: color-mod(var(--stone) shade(12%));
90
+ color: var(--gray-400);
87
91
  }
88
92
  }
89
93
 
@@ -93,76 +97,21 @@ SAddon[disabled] {
93
97
  pointer-events: none;
94
98
  }
95
99
 
96
- SInput[size='s'] {
97
- font-size: 10px;
98
- height: 18px;
99
-
100
- & SOutline {
101
- border-radius: 2px;
102
- }
103
-
104
- & input:-webkit-autofill {
105
- border-radius: 1px;
106
- }
107
- }
108
-
109
- SValue[size='s'],
110
- SAddon[size='s'] {
111
- padding: 0 4px;
112
- }
113
-
114
100
  SInput[size='m'] {
115
- font-size: 12px;
116
- height: 26px;
117
-
118
- & SOutline {
119
- border-radius: 3px;
120
- }
121
-
122
- & input:-webkit-autofill {
123
- border-radius: 2px;
124
- }
101
+ font-size: var(--fs-200);
102
+ height: var(--form-control-m);
125
103
  }
126
104
 
127
105
  SValue[size='m'],
128
- SAddon[size='m'] {
106
+ SValue[size='l'] {
129
107
  padding: 0 8px;
130
108
  }
131
109
 
132
110
  SInput[size='l'] {
133
- font-size: 14px;
134
- height: 32px;
135
-
136
- & SOutline {
137
- border-radius: 4px;
138
- }
139
-
140
- & input:-webkit-autofill {
141
- border-radius: 3px;
142
- }
143
- }
144
-
145
- SValue[size='l'],
146
- SAddon[size='l'] {
147
- padding: 0 8px;
148
- }
149
-
150
- SInput[size='xl'] {
151
- font-size: 16px;
152
- height: 42px;
153
-
154
- & SOutline {
155
- border-radius: 5px;
156
- }
157
-
158
- & input:-webkit-autofill {
159
- border-radius: 4px;
160
- }
161
- }
162
-
163
- SValue[size='xl'],
164
- SAddon[size='xl'] {
165
- padding: 0 12px;
111
+ font-size: var(--fs-300);
112
+ height: var(--form-control-l);
113
+ padding-left: 4px;
114
+ padding-right: 4px;
166
115
  }
167
116
 
168
117
  SInput[focused] {
@@ -171,32 +120,32 @@ SInput[focused] {
171
120
 
172
121
  SInput[state='normal'] {
173
122
  & SOutline {
174
- border-color: var(--stone);
123
+ border-color: var(--gray-200);
175
124
  }
176
125
 
177
126
  & SValue:focus ~ SOutline {
178
- border-color: var(--light-blue);
179
- box-shadow: var(--keyborad-focus);
127
+ border-color: var(--blue-400);
128
+ box-shadow: var(--keyboard-focus);
180
129
  }
181
130
  }
182
131
  SInput[state='valid'] {
183
132
  & SOutline {
184
- border-color: var(--green);
133
+ border-color: var(--green-200);
185
134
  }
186
135
 
187
136
  & SValue:focus ~ SOutline {
188
- border-color: var(--green);
189
- box-shadow: 0 0 0 3px color-mod(var(--green) a(30%));
137
+ border-color: var(--green-400);
138
+ box-shadow: var(--keyboard-focus-valid);
190
139
  }
191
140
  }
192
141
  SInput[state='invalid'] {
193
142
  & SOutline {
194
- border-color: var(--orange);
143
+ border-color: var(--red-200);
195
144
  }
196
145
 
197
146
  & SValue:focus ~ SOutline {
198
- border-color: var(--orange);
199
- box-shadow: 0 0 0 3px color-mod(var(--orange) a(30%));
147
+ border-color: var(--red-400);
148
+ box-shadow: var(--keyboard-focus-invalid);
200
149
  }
201
150
  }
202
151
 
@@ -220,6 +169,14 @@ SInput[neighborLocation='left'] {
220
169
  }
221
170
  }
222
171
 
172
+ SAddon[neighborLocation='right'] {
173
+ padding-right: 8px;
174
+ }
175
+
176
+ SAddon[neighborLocation='left'] {
177
+ padding-left: 8px;
178
+ }
179
+
223
180
  SValue[neighborLocation='right'] {
224
181
  padding-right: 0;
225
182
  }
@@ -11,9 +11,13 @@ type CProps<Props, Ctx = {}, UCProps = {}> = Props & {
11
11
  type ReturnEl = React.ReactElement | null;
12
12
  /* utils type */
13
13
 
14
- export type InputSize = 's' | 'm' | 'l' | 'xl';
14
+ export type InputSize = 'm' | 'l';
15
15
 
16
16
  export interface IInputProps extends IBoxProps, INeighborItemProps, INeighborLocationProps {
17
+ /**
18
+ * Sets the input and addons to the disabled state
19
+ * */
20
+ disabled?: boolean;
17
21
  /**
18
22
  * Input size
19
23
  * @default m
@@ -31,14 +35,26 @@ export interface IInputValueProps
31
35
  INeighborItemProps,
32
36
  IWithAutoFocusEnhanceProps {
33
37
  /**
34
- * Input size
35
- * @default m
38
+ * Input value
36
39
  */
37
- size?: InputSize;
40
+ value?: string;
38
41
  /**
39
42
  * Handler for changing the value
40
43
  */
41
44
  onChange?: (value: string, event: React.SyntheticEvent<HTMLInputElement>) => void;
45
+ /**
46
+ * Sets the input to the disabled state
47
+ * */
48
+ disabled?: boolean;
49
+ /**
50
+ * Sets the input to the read-only state
51
+ * */
52
+ readOnly?: boolean;
53
+ /**
54
+ * Input size
55
+ * @default m
56
+ */
57
+ size?: InputSize;
42
58
  }
43
59
 
44
60
  export interface IInputAddonProps extends IBoxProps, INeighborItemProps {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/input",
3
3
  "description": "SEMRush Input Component",
4
- "version": "2.2.3",
4
+ "version": "3.0.0",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -22,6 +22,15 @@
22
22
  "react": "16.8 - 17"
23
23
  },
24
24
  "jest": {
25
- "preset": "jest-preset-ui"
25
+ "preset": "@semcore/jest-preset-ui"
26
+ },
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "https://github.com/semrush/intergalactic.git",
30
+ "directory": "semcore/input"
31
+ },
32
+ "devDependencies": {
33
+ "@semcore/jest-preset-ui": "1.0.0",
34
+ "@semcore/icon": "*"
26
35
  }
27
36
  }
@@ -30,18 +30,19 @@ class Input extends Component {
30
30
  bindHandlerValueFocused = (focused) => () => this.setState({ focused });
31
31
 
32
32
  getAddonProps() {
33
- const { size } = this.asProps;
33
+ const { disabled } = this.asProps;
34
34
  return {
35
- size,
35
+ disabled,
36
36
  onMouseDown: this.handleMouseDownAddon,
37
37
  };
38
38
  }
39
39
 
40
40
  getValueProps() {
41
- const { size } = this.asProps;
41
+ const { size, disabled } = this.asProps;
42
42
  return {
43
43
  ref: this.inputRef,
44
44
  size,
45
+ disabled,
45
46
  onFocus: this.bindHandlerValueFocused(true),
46
47
  onBlur: this.bindHandlerValueFocused(false),
47
48
  };
package/src/index.d.ts CHANGED
@@ -11,9 +11,13 @@ type CProps<Props, Ctx = {}, UCProps = {}> = Props & {
11
11
  type ReturnEl = React.ReactElement | null;
12
12
  /* utils type */
13
13
 
14
- export type InputSize = 's' | 'm' | 'l' | 'xl';
14
+ export type InputSize = 'm' | 'l';
15
15
 
16
16
  export interface IInputProps extends IBoxProps, INeighborItemProps, INeighborLocationProps {
17
+ /**
18
+ * Sets the input and addons to the disabled state
19
+ * */
20
+ disabled?: boolean;
17
21
  /**
18
22
  * Input size
19
23
  * @default m
@@ -31,14 +35,26 @@ export interface IInputValueProps
31
35
  INeighborItemProps,
32
36
  IWithAutoFocusEnhanceProps {
33
37
  /**
34
- * Input size
35
- * @default m
38
+ * Input value
36
39
  */
37
- size?: InputSize;
40
+ value?: string;
38
41
  /**
39
42
  * Handler for changing the value
40
43
  */
41
44
  onChange?: (value: string, event: React.SyntheticEvent<HTMLInputElement>) => void;
45
+ /**
46
+ * Sets the input to the disabled state
47
+ * */
48
+ disabled?: boolean;
49
+ /**
50
+ * Sets the input to the read-only state
51
+ * */
52
+ readOnly?: boolean;
53
+ /**
54
+ * Input size
55
+ * @default m
56
+ */
57
+ size?: InputSize;
42
58
  }
43
59
 
44
60
  export interface IInputAddonProps extends IBoxProps, INeighborItemProps {
@@ -11,12 +11,17 @@ SInput {
11
11
  box-sizing: border-box;
12
12
 
13
13
  & input:-webkit-autofill {
14
+ border-radius: var(--rounded-m);
14
15
  -webkit-box-shadow: 0 0 0 30px rgb(250, 255, 189) inset;
15
16
 
16
17
  & ~ SOutline {
17
18
  background-color: rgb(250, 255, 189);
18
19
  }
19
20
  }
21
+
22
+ & SOutline {
23
+ border-radius: var(--rounded-m);
24
+ }
20
25
  }
21
26
 
22
27
  SValue {
@@ -27,9 +32,8 @@ SValue {
27
32
  padding: 0;
28
33
  border: none;
29
34
  box-sizing: border-box;
30
- color: var(--gray20);
35
+ color: var(--gray-800);
31
36
  font-size: inherit;
32
- line-height: 1.1;
33
37
  text-overflow: ellipsis;
34
38
  font-family: inherit;
35
39
  background: transparent;
@@ -39,11 +43,11 @@ SValue {
39
43
  }
40
44
 
41
45
  &::placeholder {
42
- color: var(--gray70);
46
+ color: var(--gray-300);
43
47
  }
44
48
 
45
49
  &:read-only ~ SOutline {
46
- background: var(--gray96);
50
+ background: var(--gray-50);
47
51
  }
48
52
 
49
53
  &:disabled {
@@ -74,16 +78,16 @@ SAddon {
74
78
  justify-content: center;
75
79
  align-items: center;
76
80
  flex: 0 0 auto;
81
+ padding: 0 8px;
77
82
  height: 100%;
78
- color: var(--gray40);
83
+ color: var(--gray-300);
79
84
  }
80
85
 
81
86
  SAddon[interactive] {
82
- color: var(--stone);
83
87
  cursor: pointer;
84
88
 
85
89
  &:hover {
86
- color: color-mod(var(--stone) shade(12%));
90
+ color: var(--gray-400);
87
91
  }
88
92
  }
89
93
 
@@ -93,76 +97,21 @@ SAddon[disabled] {
93
97
  pointer-events: none;
94
98
  }
95
99
 
96
- SInput[size='s'] {
97
- font-size: 10px;
98
- height: 18px;
99
-
100
- & SOutline {
101
- border-radius: 2px;
102
- }
103
-
104
- & input:-webkit-autofill {
105
- border-radius: 1px;
106
- }
107
- }
108
-
109
- SValue[size='s'],
110
- SAddon[size='s'] {
111
- padding: 0 4px;
112
- }
113
-
114
100
  SInput[size='m'] {
115
- font-size: 12px;
116
- height: 26px;
117
-
118
- & SOutline {
119
- border-radius: 3px;
120
- }
121
-
122
- & input:-webkit-autofill {
123
- border-radius: 2px;
124
- }
101
+ font-size: var(--fs-200);
102
+ height: var(--form-control-m);
125
103
  }
126
104
 
127
105
  SValue[size='m'],
128
- SAddon[size='m'] {
106
+ SValue[size='l'] {
129
107
  padding: 0 8px;
130
108
  }
131
109
 
132
110
  SInput[size='l'] {
133
- font-size: 14px;
134
- height: 32px;
135
-
136
- & SOutline {
137
- border-radius: 4px;
138
- }
139
-
140
- & input:-webkit-autofill {
141
- border-radius: 3px;
142
- }
143
- }
144
-
145
- SValue[size='l'],
146
- SAddon[size='l'] {
147
- padding: 0 8px;
148
- }
149
-
150
- SInput[size='xl'] {
151
- font-size: 16px;
152
- height: 42px;
153
-
154
- & SOutline {
155
- border-radius: 5px;
156
- }
157
-
158
- & input:-webkit-autofill {
159
- border-radius: 4px;
160
- }
161
- }
162
-
163
- SValue[size='xl'],
164
- SAddon[size='xl'] {
165
- padding: 0 12px;
111
+ font-size: var(--fs-300);
112
+ height: var(--form-control-l);
113
+ padding-left: 4px;
114
+ padding-right: 4px;
166
115
  }
167
116
 
168
117
  SInput[focused] {
@@ -171,32 +120,32 @@ SInput[focused] {
171
120
 
172
121
  SInput[state='normal'] {
173
122
  & SOutline {
174
- border-color: var(--stone);
123
+ border-color: var(--gray-200);
175
124
  }
176
125
 
177
126
  & SValue:focus ~ SOutline {
178
- border-color: var(--light-blue);
179
- box-shadow: var(--keyborad-focus);
127
+ border-color: var(--blue-400);
128
+ box-shadow: var(--keyboard-focus);
180
129
  }
181
130
  }
182
131
  SInput[state='valid'] {
183
132
  & SOutline {
184
- border-color: var(--green);
133
+ border-color: var(--green-200);
185
134
  }
186
135
 
187
136
  & SValue:focus ~ SOutline {
188
- border-color: var(--green);
189
- box-shadow: 0 0 0 3px color-mod(var(--green) a(30%));
137
+ border-color: var(--green-400);
138
+ box-shadow: var(--keyboard-focus-valid);
190
139
  }
191
140
  }
192
141
  SInput[state='invalid'] {
193
142
  & SOutline {
194
- border-color: var(--orange);
143
+ border-color: var(--red-200);
195
144
  }
196
145
 
197
146
  & SValue:focus ~ SOutline {
198
- border-color: var(--orange);
199
- box-shadow: 0 0 0 3px color-mod(var(--orange) a(30%));
147
+ border-color: var(--red-400);
148
+ box-shadow: var(--keyboard-focus-invalid);
200
149
  }
201
150
  }
202
151
 
@@ -220,6 +169,14 @@ SInput[neighborLocation='left'] {
220
169
  }
221
170
  }
222
171
 
172
+ SAddon[neighborLocation='right'] {
173
+ padding-right: 8px;
174
+ }
175
+
176
+ SAddon[neighborLocation='left'] {
177
+ padding-left: 8px;
178
+ }
179
+
223
180
  SValue[neighborLocation='right'] {
224
181
  padding-right: 0;
225
182
  }