@skbkontur/react-ui 5.4.0 → 5.4.2

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 (81) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +10 -2
  3. package/cjs/components/Autocomplete/Autocomplete.js +18 -2
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +23 -13
  6. package/cjs/components/Button/Button.js +13 -3
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +11 -22
  9. package/cjs/components/CurrencyInput/CurrencyInput.js +10 -17
  10. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  11. package/cjs/components/FxInput/FxInput.d.ts +23 -16
  12. package/cjs/components/FxInput/FxInput.js +142 -65
  13. package/cjs/components/FxInput/FxInput.js.map +1 -1
  14. package/cjs/components/Input/Input.d.ts +27 -37
  15. package/cjs/components/Input/Input.js +9 -19
  16. package/cjs/components/Input/Input.js.map +1 -1
  17. package/cjs/components/Link/Link.d.ts +10 -10
  18. package/cjs/components/Link/Link.js +1 -1
  19. package/cjs/components/Link/Link.js.map +1 -1
  20. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  21. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +107 -78
  22. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  23. package/cjs/components/MaskedInput/MaskedInput.js +5 -3
  24. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  25. package/cjs/components/PasswordInput/PasswordInput.d.ts +5 -6
  26. package/cjs/components/PasswordInput/PasswordInput.js +4 -5
  27. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  28. package/cjs/components/__stories__/Form.js +95 -0
  29. package/cjs/components/__stories__/Form.js.map +1 -0
  30. package/cjs/internal/CommonWrapper/types.d.ts +1 -1
  31. package/cjs/internal/CommonWrapper/types.js.map +1 -1
  32. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
  33. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
  34. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +2 -0
  35. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  36. package/cjs/lib/utils.d.ts +5 -1
  37. package/cjs/lib/utils.js +20 -4
  38. package/cjs/lib/utils.js.map +1 -1
  39. package/cjs/test-setup.d.ts +1 -0
  40. package/cjs/vitest.config.d.ts +2 -0
  41. package/components/Autocomplete/Autocomplete/Autocomplete.js +10 -2
  42. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  43. package/components/Autocomplete/Autocomplete.d.ts +10 -2
  44. package/components/Button/Button/Button.js +4 -2
  45. package/components/Button/Button/Button.js.map +1 -1
  46. package/components/Button/Button.d.ts +23 -13
  47. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +6 -17
  48. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  49. package/components/CurrencyInput/CurrencyInput.d.ts +11 -22
  50. package/components/FxInput/FxInput/FxInput.js +122 -71
  51. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  52. package/components/FxInput/FxInput.d.ts +23 -16
  53. package/components/Input/Input/Input.js +8 -16
  54. package/components/Input/Input/Input.js.map +1 -1
  55. package/components/Input/Input.d.ts +27 -37
  56. package/components/Link/Link/Link.js +1 -1
  57. package/components/Link/Link/Link.js.map +1 -1
  58. package/components/Link/Link.d.ts +10 -10
  59. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +81 -66
  60. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -1
  61. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  62. package/components/MaskedInput/MaskedInput/MaskedInput.js +4 -2
  63. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  64. package/components/PasswordInput/PasswordInput/PasswordInput.js +4 -5
  65. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  66. package/components/PasswordInput/PasswordInput.d.ts +5 -6
  67. package/components/__stories__/Form/Form.js +98 -0
  68. package/components/__stories__/Form/Form.js.map +1 -0
  69. package/components/__stories__/Form/package.json +6 -0
  70. package/internal/CommonWrapper/types/types.js.map +1 -1
  71. package/internal/CommonWrapper/types.d.ts +1 -1
  72. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
  73. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +1 -0
  74. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  75. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
  76. package/lib/utils/utils.js +18 -2
  77. package/lib/utils/utils.js.map +1 -1
  78. package/lib/utils.d.ts +5 -1
  79. package/package.json +8 -14
  80. package/test-setup.d.ts +1 -0
  81. package/vitest.config.d.ts +2 -0
@@ -1,5 +1,6 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.FxInputDataTids = exports.FxInput = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
2
2
  var _react = _interopRequireDefault(require("react"));
3
+ var _warning = _interopRequireDefault(require("warning"));
3
4
 
4
5
  var _Group = require("../Group");
5
6
 
@@ -16,10 +17,18 @@ var _rootNode = require("../../lib/rootNode");
16
17
  var _ThemeContext = require("../../lib/theming/ThemeContext");
17
18
 
18
19
 
20
+
21
+ var _MaskedInput = require("../MaskedInput");
22
+
23
+ var _featureFlagsContext = require("../../lib/featureFlagsContext");
24
+ var _ReactUIFeatureFlagsContext = require("../../lib/featureFlagsContext/ReactUIFeatureFlagsContext");
19
25
  var _SizeDecorator = require("../../lib/size/SizeDecorator");
20
26
 
21
27
  var _MathFunctionIcon = require("./MathFunctionIcon");
22
- var _FxInputRestoreBtn = require("./FxInputRestoreBtn");var _excluded = ["type", "onRestore", "auto", "refInput", "value", "width"];var _class, _FxInput;
28
+ var _FxInputRestoreBtn = require("./FxInputRestoreBtn");var _excluded = ["type", "onRestore", "auto", "refInput", "value", "width", "size", "mask", "maskChar", "formatChars", "alwaysShowMask", "signed", "integerDigits", "fractionDigits", "hideTrailingZeros", "buttonAriaLabel", "corners"];var _class, _FxInput;
29
+
30
+
31
+
23
32
 
24
33
 
25
34
 
@@ -63,16 +72,12 @@ var FxInputDataTids = exports.FxInputDataTids = {
63
72
 
64
73
 
65
74
 
66
- /**
67
- * Автополе `FxInput`.
68
- *
69
- * Используйте `FxInput`, если поле вычисляемое и вы рассчитали значение.
75
+ /** В автополе можно вывести автоматически рассчитанное цифровое значение. В него можно передавать итог любого вычисления, например, сумму других полей, процент или более сложную функцию.
70
76
  *
71
- * Принимает все свойства `Input`'a.
77
+ * У поля есть иконка математической формулы и кнопка Restore — с её помощью пользователь может вернуть исходное значение, если редактировал поле. Видимость кнопки и поведение при нажатии нужно прописывать в компоненте самостоятельно.
72
78
  */var
73
79
 
74
80
 
75
-
76
81
  FxInput = exports.FxInput = (0, _rootNode.rootNode)(_class = (0, _SizeDecorator.withSize)(_class = (_FxInput = /*#__PURE__*/function (_React$Component) {function FxInput() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
77
82
 
78
83
 
@@ -85,6 +90,7 @@ FxInput = exports.FxInput = (0, _rootNode.rootNode)(_class = (0, _SizeDecorator.
85
90
 
86
91
 
87
92
 
93
+
88
94
  input = null;_this.
89
95
 
90
96
  getProps = (0, _createPropsGetter.createPropsGetter)(FxInput.defaultProps);_this.
@@ -106,71 +112,51 @@ FxInput = exports.FxInput = (0, _rootNode.rootNode)(_class = (0, _SizeDecorator.
106
112
 
107
113
 
108
114
 
109
- renderMain = function (props) {
110
- var type = props.type,onRestore = props.onRestore,auto = props.auto,refInput = props.refInput,value = props.value,width = props.width,rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
111
- var inputProps = {
112
- align: 'right'
113
- };
114
115
 
115
- var button = null;
116
- var inputCorners = auto ? (0, _extends2.default)({},
117
- rest.corners) : (0, _extends2.default)({
118
- borderBottomLeftRadius: 0, borderTopLeftRadius: 0 }, rest.corners);
119
- var iconSizes = {
120
- small: parseInt(_this.theme.inputIconSizeSmall),
121
- medium: parseInt(_this.theme.inputIconSizeMedium),
122
- large: parseInt(_this.theme.inputIconSizeLarge)
123
- };
124
- var size = _this.size;
125
- var IconFunction = /*#__PURE__*/_react.default.createElement(_MathFunctionIcon.MathFunctionIcon, { size: iconSizes[size] });
126
-
127
- if (auto) {
128
- inputProps.leftIcon = IconFunction;
129
- } else {
130
- button = /*#__PURE__*/
131
- _react.default.createElement(_FxInputRestoreBtn.FxInputRestoreBtn, {
132
- size: _this.size,
133
- onRestore: onRestore,
134
- corners: rest.corners,
135
- disabled: rest.disabled,
136
- borderless: rest.borderless,
137
- "aria-label": props.buttonAriaLabel }
138
- );
139
116
 
140
- }
141
117
 
142
- return /*#__PURE__*/(
143
- _react.default.createElement(_Group.Group, { "data-tid": FxInputDataTids.root, width: width },
144
- button,
145
- type === 'currency' ? /*#__PURE__*/
146
- _react.default.createElement(_CurrencyInput.CurrencyInput, (0, _extends2.default)({},
147
- inputProps,
148
- rest, {
149
- corners: inputCorners,
150
- size: _this.size,
151
- width: '100%',
152
- ref: _this.refInput,
153
- value: value,
154
- onValueChange: _this.props.onValueChange })
155
- ) : /*#__PURE__*/
156
118
 
157
- _react.default.createElement(_Input.Input, (0, _extends2.default)({},
158
- inputProps,
159
- rest, {
160
- corners: inputCorners,
161
- size: _this.size,
162
- width: '100%',
163
- ref: _this.refInput,
164
- type: type,
165
- value: value,
166
- onValueChange: _this.props.onValueChange })
167
- )
168
119
 
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+ renderMain = function (props) {
139
+ var button = props.auto ? null : /*#__PURE__*/
140
+ _react.default.createElement(_FxInputRestoreBtn.FxInputRestoreBtn, {
141
+ size: props.size,
142
+ onRestore: props.onRestore,
143
+ corners: props.corners,
144
+ disabled: props.disabled,
145
+ borderless: props.borderless,
146
+ "aria-label": props.buttonAriaLabel }
147
+ );
148
+
149
+
150
+ return /*#__PURE__*/(
151
+ _react.default.createElement(_Group.Group, { "data-tid": FxInputDataTids.root, width: props.width },
152
+ button,
153
+ _this.getInput(props)
169
154
  ));
170
155
 
171
156
  };
172
157
 
173
- /**
158
+ /** Программно устанавливает фокус на поле.
159
+ * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.
174
160
  * @public
175
161
  */_this.
176
162
  focus = function () {
@@ -179,7 +165,7 @@ FxInput = exports.FxInput = (0, _rootNode.rootNode)(_class = (0, _SizeDecorator.
179
165
  }
180
166
  };
181
167
 
182
- /**
168
+ /** Программно снимает фокус с кнопки.
183
169
  * @public
184
170
  */_this.
185
171
  blur = function () {
@@ -194,4 +180,95 @@ FxInput = exports.FxInput = (0, _rootNode.rootNode)(_class = (0, _SizeDecorator.
194
180
  if (_this.props.refInput) {
195
181
  _this.props.refInput(_this.input);
196
182
  }
197
- };return _this;}(0, _inheritsLoose2.default)(FxInput, _React$Component);var _proto = FxInput.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.getProps()), _this2.renderMain);});};return FxInput;}(_react.default.Component), _FxInput.__KONTUR_REACT_UI__ = 'FxInput', _FxInput.displayName = 'FxInput', _FxInput.defaultProps = { width: 250, type: 'text', value: '' }, _FxInput)) || _class) || _class;
183
+ };_this.
184
+
185
+ getLeftIcon = function (props) {
186
+ if (!props.auto) {
187
+ return null;
188
+ }
189
+
190
+ var iconSizes = {
191
+ small: parseInt(_this.theme.inputIconSizeSmall),
192
+ medium: parseInt(_this.theme.inputIconSizeMedium),
193
+ large: parseInt(_this.theme.inputIconSizeLarge)
194
+ };
195
+ var size = _this.size;
196
+
197
+ return /*#__PURE__*/_react.default.createElement(_MathFunctionIcon.MathFunctionIcon, { size: iconSizes[size] });
198
+ };_this.
199
+
200
+ getInput = function (props) {
201
+ var
202
+ type =
203
+
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+ props.type,onRestore = props.onRestore,auto = props.auto,refInput = props.refInput,value = props.value,width = props.width,_size = props.size,mask = props.mask,maskChar = props.maskChar,formatChars = props.formatChars,alwaysShowMask = props.alwaysShowMask,signed = props.signed,integerDigits = props.integerDigits,fractionDigits = props.fractionDigits,hideTrailingZeros = props.hideTrailingZeros,buttonAriaLabel = props.buttonAriaLabel,originalCorners = props.corners,rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
221
+ var corners = auto ?
222
+ originalCorners : (0, _extends2.default)({
223
+ borderBottomLeftRadius: 0, borderTopLeftRadius: 0 }, originalCorners);
224
+ var size = _this.size;
225
+ var commonInputProps = (0, _extends2.default)({
226
+ corners: corners,
227
+ size: size,
228
+ width: '100%',
229
+ ref: _this.refInput },
230
+ rest);
231
+
232
+
233
+ if (type === 'currency') {
234
+ return /*#__PURE__*/(
235
+ _react.default.createElement(_CurrencyInput.CurrencyInput, (0, _extends2.default)({},
236
+ commonInputProps, {
237
+ signed: signed,
238
+ integerDigits: integerDigits,
239
+ fractionDigits: fractionDigits,
240
+ value: value,
241
+ onValueChange: _this.props.onValueChange })
242
+ ));
243
+
244
+ }
245
+ if (_this.featureFlags.fxInputUseMaskedInput && mask) {
246
+ return /*#__PURE__*/(
247
+ _react.default.createElement(_MaskedInput.MaskedInput, (0, _extends2.default)({},
248
+ commonInputProps, {
249
+ leftIcon: _this.getLeftIcon(props),
250
+ align: "right",
251
+ mask: mask,
252
+ maskChar: maskChar,
253
+ formatChars: formatChars,
254
+ alwaysShowMask: alwaysShowMask,
255
+ value: value,
256
+ onValueChange: _this.props.onValueChange })
257
+ ));
258
+
259
+ }
260
+ return /*#__PURE__*/(
261
+ _react.default.createElement(_Input.Input, (0, _extends2.default)({},
262
+ commonInputProps, {
263
+ leftIcon: _this.getLeftIcon(props),
264
+ align: "right",
265
+ mask: mask,
266
+ maskChar: maskChar,
267
+ formatChars: formatChars,
268
+ alwaysShowMask: alwaysShowMask,
269
+ type: type,
270
+ value: value,
271
+ onValueChange: _this.props.onValueChange })
272
+ ));
273
+
274
+ };return _this;}(0, _inheritsLoose2.default)(FxInput, _React$Component);var _proto = FxInput.prototype;_proto.validateProps = function validateProps(props) {(0, _warning.default)(props.type !== 'currency' && props.mask !== undefined, '[FxInput]: Prop "mask" is not supported when type="currency"');};_proto.componentDidMount = function componentDidMount() {this.validateProps(this.getProps());};_proto.componentDidUpdate = function componentDidUpdate() {this.validateProps(this.getProps());};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ReactUIFeatureFlagsContext.ReactUIFeatureFlagsContext.Consumer, null, function (flags) {_this2.featureFlags = (0, _featureFlagsContext.getFullReactUIFlagsContext)(flags);return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.getProps()), _this2.renderMain);});});};return FxInput;}(_react.default.Component), _FxInput.__KONTUR_REACT_UI__ = 'FxInput', _FxInput.displayName = 'FxInput', _FxInput.defaultProps = { width: 250, type: 'text', value: '', auto: false }, _FxInput)) || _class) || _class;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_Group","_Input","_CurrencyInput","_createPropsGetter","_CommonWrapper","_rootNode","_ThemeContext","_SizeDecorator","_MathFunctionIcon","_FxInputRestoreBtn","_excluded","_class","_FxInput","FxInputDataTids","exports","root","FxInput","rootNode","withSize","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","input","getProps","createPropsGetter","defaultProps","renderMain","props","type","onRestore","auto","refInput","value","width","rest","_objectWithoutPropertiesLoose2","default","inputProps","align","button","inputCorners","_extends2","corners","borderBottomLeftRadius","borderTopLeftRadius","iconSizes","small","parseInt","theme","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","size","IconFunction","createElement","MathFunctionIcon","leftIcon","FxInputRestoreBtn","disabled","borderless","buttonAriaLabel","Group","CurrencyInput","ref","onValueChange","Input","focus","blur","element","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","React","Component","__KONTUR_REACT_UI__","displayName"],"sources":["FxInput.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\n\nimport { Group } from '../Group';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport type { CurrencyInputProps } from '../CurrencyInput';\nimport { CurrencyInput } from '../CurrencyInput';\nimport type { DefaultizedProps } from '../../lib/createPropsGetter';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { Override } from '../../typings/utility-types';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { SizeProp } from '../../lib/types/props';\nimport { withSize } from '../../lib/size/SizeDecorator';\n\nimport { MathFunctionIcon } from './MathFunctionIcon';\nimport { FxInputRestoreBtn } from './FxInputRestoreBtn';\n\nexport interface FxInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n CurrencyInputProps,\n {\n /** Устанавливает авто-режим. */\n auto?: boolean;\n\n /** Задает тип инпута */\n type?: 'currency' | InputProps['type'];\n\n /** Задает функцию, которая вызывается при нажатии на кнопку Restore. */\n onRestore?: () => void;\n\n /** Задает функцию, вызывающуюся при изменении value. */\n onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];\n\n /** Задает значение инпута. */\n value?: string | number;\n\n /** Задает ref инпута. */\n refInput?: (element: CurrencyInput | Input | null) => void;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Задает атрибут aria-label кнопке восстановления (restore button). */\n buttonAriaLabel?: AriaAttributes['aria-label'];\n\n /** @ignore */\n corners?: React.CSSProperties;\n }\n > {}\n\nexport const FxInputDataTids = {\n root: 'FxInput__root',\n} as const;\n\ntype DefaultProps = Required<Pick<FxInputProps, 'width' | 'type' | 'value'>>;\ntype DefaultizedFxInputProps = DefaultizedProps<FxInputProps, DefaultProps>;\n\n/**\n * Автополе `FxInput`.\n *\n * Используйте `FxInput`, если поле вычисляемое и вы рассчитали значение.\n *\n * Принимает все свойства `Input`'a.\n */\n\n@rootNode\n@withSize\nexport class FxInput extends React.Component<FxInputProps> {\n public static __KONTUR_REACT_UI__ = 'FxInput';\n public static displayName = 'FxInput';\n\n public static defaultProps: DefaultProps = {\n width: 250,\n type: 'text',\n value: '',\n };\n\n private theme!: Theme;\n private size!: SizeProp;\n private input: Input | CurrencyInput | null = null;\n\n private getProps = createPropsGetter(FxInput.defaultProps);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DefaultizedFxInputProps>) => {\n const { type, onRestore, auto, refInput, value, width, ...rest } = props;\n const inputProps: Partial<CurrencyInputProps> = {\n align: 'right',\n };\n\n let button = null;\n const inputCorners: InputProps['corners'] = auto\n ? { ...rest.corners }\n : { borderBottomLeftRadius: 0, borderTopLeftRadius: 0, ...rest.corners };\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.inputIconSizeSmall),\n medium: parseInt(this.theme.inputIconSizeMedium),\n large: parseInt(this.theme.inputIconSizeLarge),\n };\n const size = this.size;\n const IconFunction = <MathFunctionIcon size={iconSizes[size]} />;\n\n if (auto) {\n inputProps.leftIcon = IconFunction;\n } else {\n button = (\n <FxInputRestoreBtn\n size={this.size}\n onRestore={onRestore}\n corners={rest.corners}\n disabled={rest.disabled}\n borderless={rest.borderless}\n aria-label={props.buttonAriaLabel}\n />\n );\n }\n\n return (\n <Group data-tid={FxInputDataTids.root} width={width}>\n {button}\n {type === 'currency' ? (\n <CurrencyInput\n {...inputProps}\n {...rest}\n corners={inputCorners}\n size={this.size}\n width={'100%'}\n ref={this.refInput}\n value={value as CurrencyInputProps['value']}\n onValueChange={this.props.onValueChange as CurrencyInputProps['onValueChange']}\n />\n ) : (\n <Input\n {...inputProps}\n {...rest}\n corners={inputCorners}\n size={this.size}\n width={'100%'}\n ref={this.refInput}\n type={type}\n value={value as InputProps['value']}\n onValueChange={this.props.onValueChange as InputProps['onValueChange']}\n />\n )}\n </Group>\n );\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private refInput = (element: Input | CurrencyInput | null) => {\n this.input = element;\n\n if (this.props.refInput) {\n this.props.refInput(this.input);\n }\n };\n}\n"],"mappings":";AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;;AAEA,IAAAC,MAAA,GAAAD,OAAA;;AAEA,IAAAE,MAAA,GAAAF,OAAA;;AAEA,IAAAG,cAAA,GAAAH,OAAA;;AAEA,IAAAI,kBAAA,GAAAJ,OAAA;;;AAGA,IAAAK,cAAA,GAAAL,OAAA;;AAEA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;;;AAGA,IAAAQ,cAAA,GAAAR,OAAA;;AAEA,IAAAS,iBAAA,GAAAT,OAAA;AACA,IAAAU,kBAAA,GAAAV,OAAA,wBAAwD,IAAAW,SAAA,mEAAAC,MAAA,EAAAC,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCjD,IAAMC,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG;EAC7BE,IAAI,EAAE;AACR,CAAU;;;;;AAKV;AACA;AACA;AACA;AACA;AACA;AACA,GANA;;;;AAUaC,OAAO,GAAAF,OAAA,CAAAE,OAAA,OAFnBC,kBAAQ,EAAAN,MAAA,OACRO,uBAAQ,EAAAP,MAAA,IAAAC,QAAA,0BAAAO,gBAAA,YAAAH,QAAA,OAAAI,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;IAaCU,KAAK,GAAiC,IAAI,CAAAV,KAAA;;IAE1CW,QAAQ,GAAG,IAAAC,oCAAiB,EAAChB,OAAO,CAACiB,YAAY,CAAC,CAAAb,KAAA;;;;;;;;;;;;;;;;;;;IAmBnDc,UAAU,GAAG,UAACC,KAAsD,EAAK;MAC9E,IAAQC,IAAI,GAAuDD,KAAK,CAAhEC,IAAI,CAAEC,SAAS,GAA4CF,KAAK,CAA1DE,SAAS,CAAEC,IAAI,GAAsCH,KAAK,CAA/CG,IAAI,CAAEC,QAAQ,GAA4BJ,KAAK,CAAzCI,QAAQ,CAAEC,KAAK,GAAqBL,KAAK,CAA/BK,KAAK,CAAEC,KAAK,GAAcN,KAAK,CAAxBM,KAAK,CAAKC,IAAI,OAAAC,8BAAA,CAAAC,OAAA,EAAKT,KAAK,EAAAzB,SAAA;MACxE,IAAMmC,UAAuC,GAAG;QAC9CC,KAAK,EAAE;MACT,CAAC;;MAED,IAAIC,MAAM,GAAG,IAAI;MACjB,IAAMC,YAAmC,GAAGV,IAAI,OAAAW,SAAA,CAAAL,OAAA;MACvCF,IAAI,CAACQ,OAAO,QAAAD,SAAA,CAAAL,OAAA;QACfO,sBAAsB,EAAE,CAAC,EAAEC,mBAAmB,EAAE,CAAC,IAAKV,IAAI,CAACQ,OAAO,CAAE;MAC1E,IAAMG,SAAmC,GAAG;QAC1CC,KAAK,EAAEC,QAAQ,CAACnC,KAAA,CAAKoC,KAAK,CAACC,kBAAkB,CAAC;QAC9CC,MAAM,EAAEH,QAAQ,CAACnC,KAAA,CAAKoC,KAAK,CAACG,mBAAmB,CAAC;QAChDC,KAAK,EAAEL,QAAQ,CAACnC,KAAA,CAAKoC,KAAK,CAACK,kBAAkB;MAC/C,CAAC;MACD,IAAMC,IAAI,GAAG1C,KAAA,CAAK0C,IAAI;MACtB,IAAMC,YAAY,gBAAGlE,MAAA,CAAA+C,OAAA,CAAAoB,aAAA,CAACxD,iBAAA,CAAAyD,gBAAgB,IAACH,IAAI,EAAET,SAAS,CAACS,IAAI,CAAE,EAAE,CAAC;;MAEhE,IAAIxB,IAAI,EAAE;QACRO,UAAU,CAACqB,QAAQ,GAAGH,YAAY;MACpC,CAAC,MAAM;QACLhB,MAAM;QACJlD,MAAA,CAAA+C,OAAA,CAAAoB,aAAA,CAACvD,kBAAA,CAAA0D,iBAAiB;UAChBL,IAAI,EAAE1C,KAAA,CAAK0C,IAAK;UAChBzB,SAAS,EAAEA,SAAU;UACrBa,OAAO,EAAER,IAAI,CAACQ,OAAQ;UACtBkB,QAAQ,EAAE1B,IAAI,CAAC0B,QAAS;UACxBC,UAAU,EAAE3B,IAAI,CAAC2B,UAAW;UAC5B,cAAYlC,KAAK,CAACmC,eAAgB;QACnC,CACF;;MACH;;MAEA;QACEzE,MAAA,CAAA+C,OAAA,CAAAoB,aAAA,CAAChE,MAAA,CAAAuE,KAAK,IAAC,YAAU1D,eAAe,CAACE,IAAK,EAAC0B,KAAK,EAAEA,KAAM;QACjDM,MAAM;QACNX,IAAI,KAAK,UAAU;QAClBvC,MAAA,CAAA+C,OAAA,CAAAoB,aAAA,CAAC9D,cAAA,CAAAsE,aAAa,MAAAvB,SAAA,CAAAL,OAAA;QACRC,UAAU;QACVH,IAAI;UACRQ,OAAO,EAAEF,YAAa;UACtBc,IAAI,EAAE1C,KAAA,CAAK0C,IAAK;UAChBrB,KAAK,EAAE,MAAO;UACdgC,GAAG,EAAErD,KAAA,CAAKmB,QAAS;UACnBC,KAAK,EAAEA,KAAqC;UAC5CkC,aAAa,EAAEtD,KAAA,CAAKe,KAAK,CAACuC,aAAqD;QAChF,CAAC;;QAEF7E,MAAA,CAAA+C,OAAA,CAAAoB,aAAA,CAAC/D,MAAA,CAAA0E,KAAK,MAAA1B,SAAA,CAAAL,OAAA;QACAC,UAAU;QACVH,IAAI;UACRQ,OAAO,EAAEF,YAAa;UACtBc,IAAI,EAAE1C,KAAA,CAAK0C,IAAK;UAChBrB,KAAK,EAAE,MAAO;UACdgC,GAAG,EAAErD,KAAA,CAAKmB,QAAS;UACnBH,IAAI,EAAEA,IAAK;UACXI,KAAK,EAAEA,KAA6B;UACpCkC,aAAa,EAAEtD,KAAA,CAAKe,KAAK,CAACuC,aAA6C;QACxE;;QAEE,CAAC;;IAEZ,CAAC;;IAED;AACF;AACA,OAFEtD,KAAA;IAGOwD,KAAK,GAAG,YAAM;MACnB,IAAIxD,KAAA,CAAKU,KAAK,EAAE;QACdV,KAAA,CAAKU,KAAK,CAAC8C,KAAK,CAAC,CAAC;MACpB;IACF,CAAC;;IAED;AACF;AACA,OAFExD,KAAA;IAGOyD,IAAI,GAAG,YAAM;MAClB,IAAIzD,KAAA,CAAKU,KAAK,EAAE;QACdV,KAAA,CAAKU,KAAK,CAAC+C,IAAI,CAAC,CAAC;MACnB;IACF,CAAC,CAAAzD,KAAA;;IAEOmB,QAAQ,GAAG,UAACuC,OAAqC,EAAK;MAC5D1D,KAAA,CAAKU,KAAK,GAAGgD,OAAO;;MAEpB,IAAI1D,KAAA,CAAKe,KAAK,CAACI,QAAQ,EAAE;QACvBnB,KAAA,CAAKe,KAAK,CAACI,QAAQ,CAACnB,KAAA,CAAKU,KAAK,CAAC;MACjC;IACF,CAAC,QAAAV,KAAA,MAAA2D,eAAA,CAAAnC,OAAA,EAAA5B,OAAA,EAAAG,gBAAA,MAAA6D,MAAA,GAAAhE,OAAA,CAAAiE,SAAA,CAAAD,MAAA,CAvGME,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACEtF,MAAA,CAAA+C,OAAA,CAAAoB,aAAA,CAAC1D,aAAA,CAAA8E,YAAY,CAACC,QAAQ,QACnB,UAAC7B,KAAK,EAAK,CACV2B,MAAI,CAAC3B,KAAK,GAAGA,KAAK,CAClB,oBACE3D,MAAA,CAAA+C,OAAA,CAAAoB,aAAA,CAAC5D,cAAA,CAAAkF,aAAa,MAAArC,SAAA,CAAAL,OAAA,IAAC2C,WAAW,EAAEJ,MAAI,CAACK,WAAY,IAAKL,MAAI,CAACpD,QAAQ,CAAC,CAAC,GAC9DoD,MAAI,CAACjD,UACO,CAAC,CAEpB,CACqB,CAAC,CAE5B,CAAC,QAAAlB,OAAA,GA/B0ByE,cAAK,CAACC,SAAS,GAAA9E,QAAA,CAC5B+E,mBAAmB,GAAG,SAAS,EAAA/E,QAAA,CAC/BgF,WAAW,GAAG,SAAS,EAAAhF,QAAA,CAEvBqB,YAAY,GAAiB,EACzCQ,KAAK,EAAE,GAAG,EACVL,IAAI,EAAE,MAAM,EACZI,KAAK,EAAE,EAAE,CACX,CAAC,EAAA5B,QAAA,MAAAD,MAAA,KAAAA,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_warning","_Group","_Input","_CurrencyInput","_createPropsGetter","_CommonWrapper","_rootNode","_ThemeContext","_MaskedInput","_featureFlagsContext","_ReactUIFeatureFlagsContext","_SizeDecorator","_MathFunctionIcon","_FxInputRestoreBtn","_excluded","_class","_FxInput","FxInputDataTids","exports","root","FxInput","rootNode","withSize","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","input","getProps","createPropsGetter","defaultProps","renderMain","props","button","auto","default","createElement","FxInputRestoreBtn","size","onRestore","corners","disabled","borderless","buttonAriaLabel","Group","width","getInput","focus","blur","refInput","element","getLeftIcon","iconSizes","small","parseInt","theme","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","MathFunctionIcon","type","value","_size","mask","maskChar","formatChars","alwaysShowMask","signed","integerDigits","fractionDigits","hideTrailingZeros","originalCorners","rest","_objectWithoutPropertiesLoose2","_extends2","borderBottomLeftRadius","borderTopLeftRadius","commonInputProps","ref","CurrencyInput","onValueChange","featureFlags","fxInputUseMaskedInput","MaskedInput","leftIcon","align","Input","_inheritsLoose2","_proto","prototype","validateProps","warning","undefined","componentDidMount","componentDidUpdate","render","_this2","ReactUIFeatureFlagsContext","Consumer","flags","getFullReactUIFlagsContext","ThemeContext","CommonWrapper","rootNodeRef","setRootNode","React","Component","__KONTUR_REACT_UI__","displayName"],"sources":["FxInput.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport warning from 'warning';\n\nimport { Group } from '../Group';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport type { CurrencyInputProps } from '../CurrencyInput';\nimport { CurrencyInput } from '../CurrencyInput';\nimport type { DefaultizedProps } from '../../lib/createPropsGetter';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { Override } from '../../typings/utility-types';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { SizeProp } from '../../lib/types/props';\nimport type { MaskedInputProps } from '../MaskedInput';\nimport { MaskedInput } from '../MaskedInput';\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext } from '../../lib/featureFlagsContext';\nimport { ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext/ReactUIFeatureFlagsContext';\nimport { withSize } from '../../lib/size/SizeDecorator';\n\nimport { MathFunctionIcon } from './MathFunctionIcon';\nimport { FxInputRestoreBtn } from './FxInputRestoreBtn';\n\nexport interface FxInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Pick<Partial<MaskedInputProps>, 'alwaysShowMask' | 'mask' | 'maskChar' | 'formatChars'>,\n Override<\n Omit<CurrencyInputProps, 'alwaysShowMask' | 'mask' | 'maskChar' | 'formatChars'>,\n {\n /** Управляет видимостью кнопки Restore:\n * - true — кнопка Restore не отображается. Значение в поле является автоматически рассчитанным.\n * - false — кнопка Restore отображается в поле. Значение в поле считается отредактированным. */\n auto?: boolean;\n\n /** Задаёт тип поля. */\n type?: 'currency' | InputProps['type'];\n\n /** Задаёт функцию, которая вызывается при нажатии на кнопку Restore. */\n onRestore?: () => void;\n\n /** Задаёт функцию, вызывающуюся при изменении value. */\n onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];\n\n /** Задаёт значение поля. */\n value?: string | number;\n\n /** Задаёт ref поля. */\n refInput?: (element: CurrencyInput | Input | null) => void;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Задаёт атрибут aria-label кнопке Restore. */\n buttonAriaLabel?: AriaAttributes['aria-label'];\n\n /** @ignore */\n corners?: React.CSSProperties;\n }\n > {}\n\nexport const FxInputDataTids = {\n root: 'FxInput__root',\n} as const;\n\ntype DefaultProps = Required<Pick<FxInputProps, 'width' | 'type' | 'value' | 'auto'>>;\ntype DefaultizedFxInputProps = DefaultizedProps<FxInputProps, DefaultProps>;\n\n/** В автополе можно вывести автоматически рассчитанное цифровое значение. В него можно передавать итог любого вычисления, например, сумму других полей, процент или более сложную функцию.\n *\n * У поля есть иконка математической формулы и кнопка Restore — с её помощью пользователь может вернуть исходное значение, если редактировал поле. Видимость кнопки и поведение при нажатии нужно прописывать в компоненте самостоятельно.\n */\n@rootNode\n@withSize\nexport class FxInput extends React.Component<FxInputProps> {\n public static __KONTUR_REACT_UI__ = 'FxInput';\n public static displayName = 'FxInput';\n\n public static defaultProps: DefaultProps = {\n width: 250,\n type: 'text',\n value: '',\n auto: false,\n };\n\n private theme!: Theme;\n private size!: SizeProp;\n private input: Input | CurrencyInput | null = null;\n\n private getProps = createPropsGetter(FxInput.defaultProps);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private featureFlags!: ReactUIFeatureFlags;\n\n private validateProps(props: FxInputProps) {\n warning(\n props.type !== 'currency' && props.mask !== undefined,\n '[FxInput]: Prop \"mask\" is not supported when type=\"currency\"',\n );\n }\n\n public componentDidMount() {\n this.validateProps(this.getProps());\n }\n\n public componentDidUpdate() {\n this.validateProps(this.getProps());\n }\n\n public render() {\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DefaultizedFxInputProps>) => {\n const button = props.auto ? null : (\n <FxInputRestoreBtn\n size={props.size}\n onRestore={props.onRestore}\n corners={props.corners}\n disabled={props.disabled}\n borderless={props.borderless}\n aria-label={props.buttonAriaLabel}\n />\n );\n\n return (\n <Group data-tid={FxInputDataTids.root} width={props.width}>\n {button}\n {this.getInput(props)}\n </Group>\n );\n };\n\n /** Программно устанавливает фокус на поле.\n * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /** Программно снимает фокус с кнопки.\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private refInput = (element: Input | CurrencyInput | null) => {\n this.input = element;\n\n if (this.props.refInput) {\n this.props.refInput(this.input);\n }\n };\n\n private getLeftIcon = (props: FxInputProps) => {\n if (!props.auto) {\n return null;\n }\n\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.inputIconSizeSmall),\n medium: parseInt(this.theme.inputIconSizeMedium),\n large: parseInt(this.theme.inputIconSizeLarge),\n };\n const size = this.size;\n\n return <MathFunctionIcon size={iconSizes[size]} />;\n };\n\n private getInput = (props: FxInputProps) => {\n const {\n type,\n onRestore,\n auto,\n refInput,\n value,\n width,\n size: _size,\n mask,\n maskChar,\n formatChars,\n alwaysShowMask,\n signed,\n integerDigits,\n fractionDigits,\n hideTrailingZeros,\n buttonAriaLabel,\n corners: originalCorners,\n ...rest\n } = props;\n const corners: InputProps['corners'] = auto\n ? originalCorners\n : { borderBottomLeftRadius: 0, borderTopLeftRadius: 0, ...originalCorners };\n const size = this.size;\n const commonInputProps = {\n corners,\n size,\n width: '100%',\n ref: this.refInput,\n ...rest,\n };\n\n if (type === 'currency') {\n return (\n <CurrencyInput\n {...commonInputProps}\n signed={signed}\n integerDigits={integerDigits}\n fractionDigits={fractionDigits}\n value={value as CurrencyInputProps['value']}\n onValueChange={this.props.onValueChange as CurrencyInputProps['onValueChange']}\n />\n );\n }\n if (this.featureFlags.fxInputUseMaskedInput && mask) {\n return (\n <MaskedInput\n {...commonInputProps}\n leftIcon={this.getLeftIcon(props)}\n align=\"right\"\n mask={mask}\n maskChar={maskChar}\n formatChars={formatChars}\n alwaysShowMask={alwaysShowMask}\n value={value as MaskedInputProps['value']}\n onValueChange={this.props.onValueChange as MaskedInputProps['onValueChange']}\n />\n );\n }\n return (\n <Input\n {...commonInputProps}\n leftIcon={this.getLeftIcon(props)}\n align=\"right\"\n mask={mask}\n maskChar={maskChar}\n formatChars={formatChars}\n alwaysShowMask={alwaysShowMask}\n type={type}\n value={value as InputProps['value']}\n onValueChange={this.props.onValueChange as InputProps['onValueChange']}\n />\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -22,14 +22,10 @@ export declare const calculateClearCrossShowedState: ({ showClearIcon, notEmptyV
22
22
  hovered?: boolean | undefined;
23
23
  }) => boolean;
24
24
  export interface InputProps extends CommonProps, Pick<HTMLAttributes<unknown>, 'role'>, Pick<AriaAttributes, 'aria-describedby' | 'aria-controls' | 'aria-label'>, Override<React.InputHTMLAttributes<HTMLInputElement>, {
25
- /** Показывать иконку очистки значения в непустом поле:
26
- * - `always` — всегда показывать иконку
27
- * - `auto` — показывать иконку при hover/focus
28
- * - `never` — не показывать иконку
29
- * При одновременной настройке `showClearIcon` и `rightIcon` показывается иконка очистки.
25
+ /** Показывает иконку очистки значения в заполненном поле.
30
26
  * @default never */
31
27
  showClearIcon?: ShowClearIcon;
32
- /** Задает иконку слева.
28
+ /** Добавляет иконку слева.
33
29
  * При использовании `ReactNode` применяются дефолтные стили для иконки.
34
30
  * При использовании `() => ReactNode` применяются только стили для позиционирования. */
35
31
  leftIcon?: InputIconType;
@@ -37,30 +33,32 @@ export interface InputProps extends CommonProps, Pick<HTMLAttributes<unknown>, '
37
33
  * При использовании `ReactNode` применяются дефолтные стили для иконки.
38
34
  * При использовании `() => ReactNode` применяются только стили для позиционирования. */
39
35
  rightIcon?: InputIconType;
40
- /** Переводит контрол в состояние валидации "ошибка". */
36
+ /** Меняет визуальное отображение поля на состояние «ошибка». Может быть полезен при разработке собственной валидации, если вы не используете пакет [React UI Validations](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui-validations_displaying-getting-started--docs). */
41
37
  error?: boolean;
42
- /** Переводит контрол в состояние валидации "предупреждение". */
38
+ /** Меняет визуальное отображение поля на состояние «предупреждение». Может быть полезен при разработке собственной валидации, если вы не используете пакет [React UI Validations](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui-validations_displaying-getting-started--docs). */
43
39
  warning?: boolean;
44
- /** Убирает обводку. */
40
+ /** Убирает обводку поля. */
45
41
  borderless?: boolean;
46
- /** Задает выравнивание контента. */
42
+ /** Выравнивает контент внутри поля. */
47
43
  align?: InputAlign;
48
- /** Задает паттерн маски. Доступен для типов `text`, `password`, `email`, `tel`, `search`, `url`
44
+ /** Задаёт паттерн маски. Доступен для типов `text`, `password`, `email`, `tel`, `search`, `url`
49
45
  * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput. */
50
46
  mask?: Nullable<string>;
51
47
  /** Устанавливает символ маски.
52
48
  * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput. */
53
49
  maskChar?: Nullable<string>;
54
- /** Задает словарь символов-регулярок для задания маски
50
+ /** Задаёт словарь символов-регулярок для задания маски
55
51
  * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput.
56
52
  * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' }. */
57
53
  formatChars?: Record<string, string>;
58
54
  /** Включает показ символов маски.
59
55
  * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput. */
60
56
  alwaysShowMask?: boolean;
61
- /** Задает размер. */
57
+ /** Задаёт размер.
58
+ * @default small
59
+ */
62
60
  size?: SizeProp;
63
- /** Задает функцию, которая вызывается при изменении значения в инпуте. */
61
+ /** Задаёт функцию, которая вызывается при изменении значения в поле ввода. */
64
62
  onValueChange?: (value: string) => void;
65
63
  /** @ignore */
66
64
  onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;
@@ -68,21 +66,21 @@ export interface InputProps extends CommonProps, Pick<HTMLAttributes<unknown>, '
68
66
  onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;
69
67
  /** @ignore */
70
68
  onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;
71
- /** Задает тип инпута. */
69
+ /** Задаёт тип поля ввода. */
72
70
  type?: InputType;
73
- /** Задает значение. */
71
+ /** Задаёт значение внутри поля. */
74
72
  value?: string;
73
+ /** @deprecated Со следующей мажорной версии Input перестанет поддерживать проп `capture`. */
75
74
  capture?: boolean;
76
75
  /** Устанавливает префикс `ReactNode` перед значением, но после иконки. */
77
76
  prefix?: React.ReactNode;
78
77
  /** Устанавливает суффикс `ReactNode` после значения, но перед правой иконкой. */
79
78
  suffix?: React.ReactNode;
80
- /** Определяет, нужно ли выделять введенное значение при фокусе. Работает с типами `text`, `password`, `tel`, `search`, `url`. [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange) */
79
+ /** Выделяет введенное значение при фокусе в поле. Работает с типами `text`, `password`, `tel`, `search`, `url`. */
81
80
  selectAllOnFocus?: boolean;
82
- /** Задает функцию для обработки ввода.
83
- * При неправильном вводе инпут по-умолчанию вспыхивает акцентным цветом.
84
- * Если `onUnexpectedInput` передан - вызывается переданный обработчик и вспыхивание можно вызвать публичным методом инстанса `blink()`.
85
- * @param {string} value - значение инпута. */
81
+ /** Устанавливает обработчик на случай некорректного ввода.
82
+ * Если передан onUnexpectedInput, он будет вызван при ошибке, а эффект мигания можно запустить вручную через публичный метод blink.
83
+ * @param {string} value - значение поля. */
86
84
  onUnexpectedInput?: (value: string) => void;
87
85
  /** Устанавливает радиус скруглений углов.
88
86
  * @ignore */
@@ -103,17 +101,7 @@ export declare const InputDataTids: {
103
101
  };
104
102
  type DefaultProps = Required<Pick<InputProps, 'type' | 'showClearIcon'>>;
105
103
  /**
106
- * Поле ввода `Input` дает возможность указать значение с помощью клавиатуры.
107
- *
108
- * Используйте поле ввода для коротких текстовых или цифровых значений без предсказуемого формата.
109
- *
110
- * Если вводимое значение имеет определенный формат, используйте специальную версию поля:
111
- * * Поле с паролем PasswordInput.
112
- * * Поле с валютой CurrencyInput.
113
- * * Поле с маской MaskedInput.
114
- * * Автополе FxInput.
115
- *
116
- * Интерфейс пропсов наследуется от `React.InputHTMLAttributes<HTMLInputElement>`.
104
+ * Поле ввода позволяет ввести или отредактировать значение.
117
105
  */
118
106
  export declare class Input extends React.Component<InputProps, InputState> {
119
107
  static __KONTUR_REACT_UI__: string;
@@ -133,23 +121,24 @@ export declare class Input extends React.Component<InputProps, InputState> {
133
121
  componentDidMount(): void;
134
122
  componentDidUpdate(prevProps: Readonly<InputProps>): void;
135
123
  componentWillUnmount(): void;
136
- /**
124
+ /** Программно устанавливает фокус на поле.
125
+ * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.
137
126
  * @public
138
127
  */
139
128
  focus(): void;
140
- /**
129
+ /** Программно снимает фокус с кнопки.
141
130
  * @public
142
131
  */
143
132
  blur(): void;
144
- /**
133
+ /** Возвращает DOM-узел поля ввода.
145
134
  * @public
146
135
  */
147
136
  getNode(): HTMLInputElement | null;
148
- /**
137
+ /** Кратковременно визуально подсвечивает поле ввода, чтобы привлечь внимание пользователя.
149
138
  * @public
150
139
  */
151
140
  blink(): void;
152
- /**
141
+ /** start - инициирует последовательное изменение числового значения: начинает повторяющееся увеличение/уменьшение, обычно используется при удерживании кнопки «+» или «−» для числового Input. end - останавливает ранее запущенное числоизменение, инициируемое numberStart.
153
142
  * @public
154
143
  * @param {number} start
155
144
  * @param {number} end
@@ -159,6 +148,7 @@ export declare class Input extends React.Component<InputProps, InputState> {
159
148
  render(): JSX.Element;
160
149
  private get canBeUsedWithMask();
161
150
  /**
151
+ * Переводит фокус в поле (если ещё не в фокусе) и выделяет весь текст.
162
152
  * Работает с типами `text`, `password`, `tel`, `search`, `url`
163
153
  * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)
164
154
  * @public
@@ -183,9 +183,6 @@ var calculateClearCrossShowedState = exports.calculateClearCrossShowedState = fu
183
183
 
184
184
 
185
185
 
186
-
187
-
188
-
189
186
 
190
187
 
191
188
 
@@ -198,17 +195,7 @@ var InputDataTids = exports.InputDataTids = {
198
195
 
199
196
 
200
197
  /**
201
- * Поле ввода `Input` дает возможность указать значение с помощью клавиатуры.
202
- *
203
- * Используйте поле ввода для коротких текстовых или цифровых значений без предсказуемого формата.
204
- *
205
- * Если вводимое значение имеет определенный формат, используйте специальную версию поля:
206
- * * Поле с паролем PasswordInput.
207
- * * Поле с валютой CurrencyInput.
208
- * * Поле с маской MaskedInput.
209
- * * Автополе FxInput.
210
- *
211
- * Интерфейс пропсов наследуется от `React.InputHTMLAttributes<HTMLInputElement>`.
198
+ * Поле ввода позволяет ввести или отредактировать значение.
212
199
  */var
213
200
 
214
201
 
@@ -362,9 +349,11 @@ Input = exports.Input = (0, _rootNode.rootNode)(_class = (0, _SizeDecorator.with
362
349
 
363
350
 
364
351
 
352
+
365
353
 
366
354
 
367
355
  /**
356
+ * Переводит фокус в поле (если ещё не в фокусе) и выделяет весь текст.
368
357
  * Работает с типами `text`, `password`, `tel`, `search`, `url`
369
358
  * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)
370
359
  * @public
@@ -676,15 +665,16 @@ Input = exports.Input = (0, _rootNode.rootNode)(_class = (0, _SizeDecorator.with
676
665
  });
677
666
  _this.props.onBlur == null || _this.props.onBlur(event);
678
667
  }
679
- };return _this;}(0, _inheritsLoose2.default)(Input, _React$Component);var _proto = Input.prototype;_proto.outputMaskError = function outputMaskError() {(0, _warning.default)(!(this.props.mask && this.canBeUsedWithMask), maskErrorMessage(this.getProps().type));};_proto.componentDidMount = function componentDidMount() {this.outputMaskError();};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (this.props.type !== prevProps.type || this.props.mask !== prevProps.mask) {this.outputMaskError();}};_proto.componentWillUnmount = function componentWillUnmount() {this.cancelDelayedSelectAll();} /**
668
+ };return _this;}(0, _inheritsLoose2.default)(Input, _React$Component);var _proto = Input.prototype;_proto.outputMaskError = function outputMaskError() {(0, _warning.default)(!(this.props.mask && this.canBeUsedWithMask), maskErrorMessage(this.getProps().type));};_proto.componentDidMount = function componentDidMount() {this.outputMaskError();};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (this.props.type !== prevProps.type || this.props.mask !== prevProps.mask) {this.outputMaskError();}};_proto.componentWillUnmount = function componentWillUnmount() {this.cancelDelayedSelectAll();} /** Программно устанавливает фокус на поле.
669
+ * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.
680
670
  * @public
681
- */;_proto.focus = function focus() {(0, _invariant.default)(this.input, 'Cannot call "focus" because Input is not mounted');this.input.focus();} /**
671
+ */;_proto.focus = function focus() {(0, _invariant.default)(this.input, 'Cannot call "focus" because Input is not mounted');this.input.focus();} /** Программно снимает фокус с кнопки.
682
672
  * @public
683
- */;_proto.blur = function blur() {(0, _invariant.default)(this.input, 'Cannot call "blur" because Input is not mounted');this.input.blur();} /**
673
+ */;_proto.blur = function blur() {(0, _invariant.default)(this.input, 'Cannot call "blur" because Input is not mounted');this.input.blur();} /** Возвращает DOM-узел поля ввода.
684
674
  * @public
685
- */;_proto.getNode = function getNode() {return this.input;} /**
675
+ */;_proto.getNode = function getNode() {return this.input;} /** Кратковременно визуально подсвечивает поле ввода, чтобы привлечь внимание пользователя.
686
676
  * @public
687
- */;_proto.blink = function blink() {(0, _blink2.blink)({ el: this.labelRef.current, blinkColor: this.theme.inputBlinkColor });} /**
677
+ */;_proto.blink = function blink() {(0, _blink2.blink)({ el: this.labelRef.current, blinkColor: this.theme.inputBlinkColor });} /** start - инициирует последовательное изменение числового значения: начинает повторяющееся увеличение/уменьшение, обычно используется при удерживании кнопки «+» или «−» для числового Input. end - останавливает ранее запущенное числоизменение, инициируемое numberStart.
688
678
  * @public
689
679
  * @param {number} start
690
680
  * @param {number} end