@salutejs/plasma-new-hope 0.330.0-canary.2009.16048670450.0 → 0.330.0-canary.2050.16051901455.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/cjs/components/NumberFormat/NumberFormat.js +49 -3
- package/cjs/components/NumberFormat/NumberFormat.js.map +1 -1
- package/cjs/components/TextField/TextField.js +32 -11
- package/cjs/components/TextField/TextField.js.map +1 -1
- package/emotion/cjs/components/NumberFormat/NumberFormat.js +95 -4
- package/emotion/cjs/components/TextField/TextField.js +36 -14
- package/emotion/es/components/NumberFormat/NumberFormat.js +97 -6
- package/emotion/es/components/TextField/TextField.js +36 -14
- package/es/components/NumberFormat/NumberFormat.js +52 -6
- package/es/components/NumberFormat/NumberFormat.js.map +1 -1
- package/es/components/TextField/TextField.js +32 -11
- package/es/components/TextField/TextField.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/NumberFormat/NumberFormat.js +95 -4
- package/styled-components/cjs/components/TextField/TextField.js +35 -13
- package/styled-components/es/components/NumberFormat/NumberFormat.js +97 -6
- package/styled-components/es/components/TextField/TextField.js +35 -13
- package/types/components/NumberFormat/NumberFormat.d.ts.map +1 -1
- package/types/components/TextField/TextField.d.ts.map +1 -1
@@ -5,12 +5,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
6
6
|
var React = require('react');
|
7
7
|
var reactNumberFormat = require('react-number-format');
|
8
|
+
var plasmaCore = require('@salutejs/plasma-core');
|
8
9
|
|
9
10
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
10
11
|
|
11
12
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
12
13
|
|
13
|
-
var _excluded = ["thousandSeparator", "decimalScale", "decimalSeparator", "onChange"];
|
14
|
+
var _excluded = ["thousandSeparator", "decimalScale", "decimalSeparator", "disabled", "value", "onChange", "onPaste"];
|
14
15
|
var composeNumberFormat = function composeNumberFormat(InputComponent) {
|
15
16
|
return /*#__PURE__*/React.forwardRef(function (_ref, outerRef) {
|
16
17
|
var _ref$thousandSeparato = _ref.thousandSeparator,
|
@@ -19,22 +20,67 @@ var composeNumberFormat = function composeNumberFormat(InputComponent) {
|
|
19
20
|
decimalScale = _ref$decimalScale === void 0 ? 3 : _ref$decimalScale,
|
20
21
|
_ref$decimalSeparator = _ref.decimalSeparator,
|
21
22
|
decimalSeparator = _ref$decimalSeparator === void 0 ? '.' : _ref$decimalSeparator,
|
23
|
+
disabled = _ref.disabled,
|
24
|
+
value = _ref.value,
|
22
25
|
onChange = _ref.onChange,
|
26
|
+
onPaste = _ref.onPaste,
|
23
27
|
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
28
|
+
var inputRef = React.useRef(null);
|
29
|
+
var inputForkRef = plasmaCore.useForkRef(inputRef, outerRef);
|
30
|
+
var _useState = React.useState(value ? reactNumberFormat.numericFormatter(String(value), {
|
31
|
+
thousandSeparator: thousandSeparator,
|
32
|
+
decimalScale: decimalScale,
|
33
|
+
decimalSeparator: decimalSeparator
|
34
|
+
}) : ''),
|
35
|
+
_useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
|
36
|
+
innerValue = _useState2[0],
|
37
|
+
setInnerValue = _useState2[1];
|
24
38
|
var handleChangeValue = function handleChangeValue(values, sourceInfo) {
|
25
39
|
if (onChange) {
|
26
40
|
var changeEvent = sourceInfo.event;
|
41
|
+
setInnerValue(values.value);
|
27
42
|
onChange(changeEvent, values);
|
28
43
|
}
|
29
44
|
};
|
45
|
+
var handlePaste = function handlePaste(event) {
|
46
|
+
if (disabled) {
|
47
|
+
return;
|
48
|
+
}
|
49
|
+
if (decimalSeparator !== '.' && inputRef.current) {
|
50
|
+
if (!Number.isNaN(Number(event.clipboardData.getData('text/plain')))) {
|
51
|
+
event.preventDefault();
|
52
|
+
var pastedValue = event.clipboardData.getData('text/plain').replace('.', decimalSeparator);
|
53
|
+
var input = event.target;
|
54
|
+
var startPos = input.selectionStart || 0;
|
55
|
+
var newCursorPos = startPos + pastedValue.length;
|
56
|
+
setInnerValue(pastedValue);
|
57
|
+
setTimeout(function () {
|
58
|
+
var _inputRef$current;
|
59
|
+
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.setSelectionRange(newCursorPos, newCursorPos);
|
60
|
+
}, 10);
|
61
|
+
}
|
62
|
+
}
|
63
|
+
if (onPaste) {
|
64
|
+
onPaste(event);
|
65
|
+
}
|
66
|
+
};
|
67
|
+
React.useEffect(function () {
|
68
|
+
setInnerValue(value ? reactNumberFormat.numericFormatter(String(value), {
|
69
|
+
thousandSeparator: thousandSeparator,
|
70
|
+
decimalScale: decimalScale,
|
71
|
+
decimalSeparator: decimalSeparator
|
72
|
+
}) : '');
|
73
|
+
}, [value]);
|
30
74
|
return /*#__PURE__*/React__default.default.createElement(reactNumberFormat.NumericFormat, _rollupPluginBabelHelpers.extends({
|
75
|
+
value: innerValue,
|
31
76
|
thousandSeparator: thousandSeparator,
|
32
77
|
decimalScale: decimalScale,
|
33
78
|
decimalSeparator: decimalSeparator,
|
34
79
|
customInput: InputComponent,
|
35
|
-
getInputRef:
|
80
|
+
getInputRef: inputForkRef,
|
36
81
|
_textEllipsisDisable: true,
|
37
|
-
onValueChange: handleChangeValue
|
82
|
+
onValueChange: handleChangeValue,
|
83
|
+
onPaste: handlePaste
|
38
84
|
}, rest));
|
39
85
|
});
|
40
86
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"NumberFormat.js","sources":["../../../src/components/NumberFormat/NumberFormat.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport type { ChangeEvent, FC } from 'react';\nimport { NumericFormat } from 'react-number-format';\nimport type { NumberFormatValues, SourceInfo } from 'react-number-format';\n\nimport type {\n CustomNumberFormatProps,\n CustomNumericFormatProps,\n InputComponentOmittedProps,\n} from './NumberFormat.types';\n\nexport const composeNumberFormat = <T extends InputComponentOmittedProps>(InputComponent: FC<T>) => {\n return forwardRef<HTMLInputElement, T & CustomNumberFormatProps & CustomNumericFormatProps>(\n ({
|
1
|
+
{"version":3,"file":"NumberFormat.js","sources":["../../../src/components/NumberFormat/NumberFormat.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { ChangeEvent, FC, ClipboardEvent } from 'react';\nimport { NumericFormat, numericFormatter } from 'react-number-format';\nimport type { NumberFormatValues, SourceInfo } from 'react-number-format';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport type {\n CustomNumberFormatProps,\n CustomNumericFormatProps,\n InputComponentOmittedProps,\n} from './NumberFormat.types';\n\nexport const composeNumberFormat = <T extends InputComponentOmittedProps>(InputComponent: FC<T>) => {\n return forwardRef<HTMLInputElement, T & CustomNumberFormatProps & CustomNumericFormatProps>(\n (\n {\n thousandSeparator = ' ',\n decimalScale = 3,\n decimalSeparator = '.',\n disabled,\n value,\n onChange,\n onPaste,\n ...rest\n },\n outerRef,\n ) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const inputForkRef = useForkRef(inputRef, outerRef);\n\n const [innerValue, setInnerValue] = useState(\n value ? numericFormatter(String(value), { thousandSeparator, decimalScale, decimalSeparator }) : '',\n );\n\n const handleChangeValue = (values: NumberFormatValues, sourceInfo: SourceInfo) => {\n if (onChange) {\n const changeEvent = sourceInfo.event as ChangeEvent<HTMLInputElement>;\n setInnerValue(values.value);\n onChange(changeEvent, values);\n }\n };\n\n const handlePaste = (event: ClipboardEvent<HTMLInputElement>) => {\n if (disabled) {\n return;\n }\n\n if (decimalSeparator !== '.' && inputRef.current) {\n if (!Number.isNaN(Number(event.clipboardData.getData('text/plain')))) {\n event.preventDefault();\n\n const pastedValue = event.clipboardData.getData('text/plain').replace('.', decimalSeparator);\n const input = event.target as HTMLInputElement;\n const startPos = input.selectionStart || 0;\n\n const newCursorPos = startPos + pastedValue.length;\n setInnerValue(pastedValue);\n\n setTimeout(() => {\n inputRef.current?.setSelectionRange(newCursorPos, newCursorPos);\n }, 10);\n }\n }\n\n if (onPaste) {\n onPaste(event);\n }\n };\n\n useEffect(() => {\n setInnerValue(\n value ? numericFormatter(String(value), { thousandSeparator, decimalScale, decimalSeparator }) : '',\n );\n }, [value]);\n\n return (\n <NumericFormat\n value={innerValue}\n thousandSeparator={thousandSeparator}\n decimalScale={decimalScale}\n decimalSeparator={decimalSeparator}\n customInput={InputComponent}\n getInputRef={inputForkRef}\n _textEllipsisDisable\n onValueChange={handleChangeValue}\n onPaste={handlePaste}\n {...rest}\n />\n );\n },\n );\n};\n"],"names":["composeNumberFormat","InputComponent","forwardRef","_ref","outerRef","_ref$thousandSeparato","thousandSeparator","_ref$decimalScale","decimalScale","_ref$decimalSeparator","decimalSeparator","disabled","value","onChange","onPaste","rest","_objectWithoutProperties","_excluded","inputRef","useRef","inputForkRef","useForkRef","_useState","useState","numericFormatter","String","_useState2","_slicedToArray","innerValue","setInnerValue","handleChangeValue","values","sourceInfo","changeEvent","event","handlePaste","current","Number","isNaN","clipboardData","getData","preventDefault","pastedValue","replace","input","target","startPos","selectionStart","newCursorPos","length","setTimeout","_inputRef$current","setSelectionRange","useEffect","React","createElement","NumericFormat","_extends","customInput","getInputRef","_textEllipsisDisable","onValueChange"],"mappings":"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"}
|
@@ -29,7 +29,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
29
29
|
|
30
30
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
31
31
|
|
32
|
-
var _excluded = ["id", "className", "style", "contentLeft", "contentRight", "label", "labelPlacement", "keepPlaceholder", "textBefore", "textAfter", "placeholder", "leftHelper", "enumerationType", "requiredPlacement", "hasRequiredIndicator", "titleCaption", "chipView", "chipValidator", "hintTrigger", "hintText", "hintView", "hintSize", "hintTargetIcon", "hintTargetPlacement", "hintPlacement", "hintHasArrow", "hintOffset", "hintWidth", "hintContentLeft", "view", "size", "readOnly", "disabled", "required", "clear", "optional", "hasDivider", "value", "chips", "chipType", "onChange", "onChangeChips", "onSearch", "onKeyDown", "onFocus", "onBlur", "_onEnterDisabled", "_forceChipManipulationWithReadonly"];
|
32
|
+
var _excluded = ["id", "className", "style", "contentLeft", "contentRight", "label", "labelPlacement", "keepPlaceholder", "textBefore", "textAfter", "placeholder", "leftHelper", "enumerationType", "requiredPlacement", "hasRequiredIndicator", "titleCaption", "chipView", "chipValidator", "hintTrigger", "hintText", "hintView", "hintSize", "hintTargetIcon", "hintTargetPlacement", "hintPlacement", "hintHasArrow", "hintOffset", "hintWidth", "hintContentLeft", "view", "size", "readOnly", "disabled", "required", "clear", "optional", "hasDivider", "value", "chips", "chipType", "onChange", "onChangeChips", "onSearch", "onKeyDown", "onFocus", "onBlur", "onPaste", "_onEnterDisabled", "_forceChipManipulationWithReadonly"];
|
33
33
|
var optionalText = 'optional';
|
34
34
|
var base = "bpunezx";
|
35
35
|
var HINT_DEFAULT_OFFSET = [0, 0];
|
@@ -97,6 +97,7 @@ var textFieldRoot = function textFieldRoot(Root) {
|
|
97
97
|
onKeyDown = _ref.onKeyDown,
|
98
98
|
onFocus = _ref.onFocus,
|
99
99
|
onBlur = _ref.onBlur,
|
100
|
+
onPaste = _ref.onPaste,
|
100
101
|
_onEnterDisabled = _ref._onEnterDisabled,
|
101
102
|
_forceChipManipulationWithReadonly = _ref._forceChipManipulationWithReadonly,
|
102
103
|
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
@@ -173,15 +174,6 @@ var textFieldRoot = function textFieldRoot(Root) {
|
|
173
174
|
value = _ref2.value;
|
174
175
|
setHasValue(Boolean(value));
|
175
176
|
};
|
176
|
-
React.useEffect(function () {
|
177
|
-
if (hasTextAfter && inputRef.current) {
|
178
|
-
var textWidth = getInputWidth.getInputWidth(inputRef.current, inputContainerRef.current);
|
179
|
-
inputRef.current.style.width = "".concat(textWidth, "px");
|
180
|
-
} else {
|
181
|
-
var _inputRef$current2;
|
182
|
-
(_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 || _inputRef$current2.style.removeProperty('width');
|
183
|
-
}
|
184
|
-
}, [hasTextAfter]);
|
185
177
|
var handleFocus = function handleFocus(event) {
|
186
178
|
setHasFocus(true);
|
187
179
|
onFocus === null || onFocus === void 0 || onFocus(event);
|
@@ -218,12 +210,31 @@ var textFieldRoot = function textFieldRoot(Root) {
|
|
218
210
|
if (maxLength !== -1 && value.length > maxLength) {
|
219
211
|
return;
|
220
212
|
}
|
221
|
-
|
213
|
+
if (onChange) {
|
214
|
+
onChange(event);
|
215
|
+
}
|
222
216
|
if (hasTextAfter) {
|
223
217
|
var textWidth = getInputWidth.getInputWidth(event.currentTarget, inputContainerRef.current);
|
224
218
|
event.currentTarget.style.width = "".concat(textWidth, "px");
|
225
219
|
}
|
226
220
|
};
|
221
|
+
var handlePaste = function handlePaste(event) {
|
222
|
+
if (disabled || readOnly) {
|
223
|
+
return;
|
224
|
+
}
|
225
|
+
if (onPaste) {
|
226
|
+
onPaste(event);
|
227
|
+
}
|
228
|
+
if (hasTextAfter) {
|
229
|
+
setTimeout(function () {
|
230
|
+
if (!inputRef.current) {
|
231
|
+
return;
|
232
|
+
}
|
233
|
+
var textWidth = getInputWidth.getInputWidth(inputRef.current, inputContainerRef.current);
|
234
|
+
inputRef.current.style.width = "".concat(textWidth, "px");
|
235
|
+
});
|
236
|
+
}
|
237
|
+
};
|
227
238
|
var updateChips = function updateChips(newChips, newValues) {
|
228
239
|
setChips(newChips);
|
229
240
|
onChangeChips === null || onChangeChips === void 0 || onChangeChips(newValues);
|
@@ -268,6 +279,15 @@ var textFieldRoot = function textFieldRoot(Root) {
|
|
268
279
|
onKeyDown(event);
|
269
280
|
}
|
270
281
|
};
|
282
|
+
React.useEffect(function () {
|
283
|
+
if (hasTextAfter && inputRef.current) {
|
284
|
+
var textWidth = getInputWidth.getInputWidth(inputRef.current, inputContainerRef.current);
|
285
|
+
inputRef.current.style.width = "".concat(textWidth, "px");
|
286
|
+
} else {
|
287
|
+
var _inputRef$current2;
|
288
|
+
(_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 || _inputRef$current2.style.removeProperty('width');
|
289
|
+
}
|
290
|
+
}, [hasTextAfter, outerValue]);
|
271
291
|
React.useEffect(function () {
|
272
292
|
if (!isChipEnumeration && !(values !== null && values !== void 0 && values.length)) {
|
273
293
|
return;
|
@@ -418,6 +438,7 @@ var textFieldRoot = function textFieldRoot(Root) {
|
|
418
438
|
onKeyDown: handleOnKeyDown,
|
419
439
|
onFocus: handleFocus,
|
420
440
|
onBlur: handleBlur,
|
441
|
+
onPaste: handlePaste,
|
421
442
|
"data-tour": true
|
422
443
|
}, rest)), hasInnerLabel && /*#__PURE__*/React__default.default.createElement(TextField_styles.Label, {
|
423
444
|
"data-root": true,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TextField.js","sources":["../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { FormEventHandler, ChangeEventHandler, KeyboardEvent, ChangeEvent, MouseEventHandler } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { css } from '@linaria/core';\nimport { cx, safeUseId } from 'src/utils';\nimport type { RootProps } from 'src/engines';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { ChipValues, TextFieldPrimitiveValue, TextFieldProps, TextFieldRootProps } from './TextField.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as clearCSS } from './variations/_clear/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_read-only/base';\nimport { base as labelPlacementCSS } from './variations/_label-placement/base';\nimport { base as hintViewCSS } from './variations/_hint-view/base';\nimport { base as hintSizeCSS } from './variations/_hint-size/base';\nimport { base as chipViewCSS } from './variations/_chip-view/base';\nimport {\n Input,\n InputContainer,\n LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n StyledTextBefore,\n StyledTextAfter,\n StyledIndicator,\n StyledOptionalText,\n InputPlaceholder,\n OuterLabelWrapper,\n TitleCaption,\n StyledHintWrapper,\n StyledIndicatorWrapper,\n StyledContentRightWrapper,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks';\nimport { HintComponent } from './ui/Hint/Hint';\nimport { getInputWidth } from './getInputWidth';\n\nconst optionalText = 'optional';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n`;\n\nconst HINT_DEFAULT_OFFSET: [number, number] = [0, 0];\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldRootProps>) =>\n forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n id,\n className,\n style,\n\n // layout\n contentLeft,\n contentRight,\n label,\n labelPlacement,\n keepPlaceholder,\n textBefore,\n textAfter,\n placeholder,\n leftHelper,\n enumerationType = 'plain',\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n titleCaption,\n chipView = 'default',\n chipValidator,\n\n // hint\n hintTrigger = 'hover',\n hintText,\n hintView = 'default',\n hintSize = 'm',\n hintTargetIcon,\n hintTargetPlacement = 'outer',\n hintPlacement = 'auto',\n hintHasArrow,\n hintOffset = HINT_DEFAULT_OFFSET,\n hintWidth,\n hintContentLeft,\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n required = false,\n clear = false,\n optional,\n hasDivider,\n\n // controlled\n value: outerValue,\n chips: values,\n chipType = 'default',\n\n // events\n onChange,\n onChangeChips,\n onSearch,\n onKeyDown,\n onFocus,\n onBlur,\n\n // Пропсы для внутреннего использования, не отдается наружу.\n // @ts-ignore\n _onEnterDisabled,\n // @ts-ignore\n _forceChipManipulationWithReadonly,\n\n ...rest\n },\n ref,\n ) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const inputContainerRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n\n const controlledRefs = { contentRef, inputRef, chipsRefs };\n\n const [hasValue, setHasValue] = useState(\n Boolean(outerValue) || Boolean(inputRef?.current?.value) || Boolean(rest?.defaultValue),\n );\n const [hasFocus, setHasFocus] = useState(false);\n\n const [chips, setChips] = useState<Array<ChipValues>>([]);\n const [isHintVisible, setIsHintVisible] = useState(false);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const labelId = safeUseId();\n const helperTextId = safeUseId();\n\n const isDefaultView = view === 'default' || readOnly || disabled;\n\n const isChipEnumeration = enumerationType === 'chip';\n const isChipsVisible = isChipEnumeration && Boolean(chips?.length);\n const withHasChips = isChipsVisible ? classes.hasChips : undefined;\n\n const hasLabelValue = Boolean(label);\n const hasInnerLabel = size !== 'xs' && labelPlacement === 'inner' && !isChipsVisible && hasLabelValue;\n const hasOuterLabel = labelPlacement === 'outer' && hasLabelValue;\n const innerKeepPlaceholder = keepPlaceholder && labelPlacement === 'inner';\n const hasPlaceholder = Boolean(placeholder) && (innerKeepPlaceholder || !hasInnerLabel);\n let hasTextAfter = Boolean(textAfter);\n let hasTextBefore = textBefore && !isChipEnumeration;\n if (labelPlacement === 'inner') {\n if (!hasValue && !hasPlaceholder && !hasFocus) {\n hasTextAfter = false;\n hasTextBefore = false;\n }\n }\n\n const hasPlaceholderPadding = hasInnerLabel && keepPlaceholder && size !== 'xs';\n\n const innerLabelValue = hasInnerLabel || hasOuterLabel ? label : undefined;\n const innerLabelPlacementValue = labelPlacement === 'inner' && !hasInnerLabel ? undefined : labelPlacement;\n\n const innerPlaceholderValue = hasPlaceholder ? placeholder : undefined;\n const placeholderShown = Boolean(innerPlaceholderValue) && !hasValue;\n\n const clearClass = clear ? classes.clear : undefined;\n const hasDividerClass = hasDivider ? classes.hasDivider : undefined;\n const hasInnerHintClass = hintText && hintTargetPlacement === 'outer' ? classes.hasHint : undefined;\n const hasHintClass = hintText ? classes.hasHint : undefined;\n const requiredPlacementClass = requiredPlacement === 'right' ? classes.requiredAlignRight : undefined;\n const labelPlacementClass = innerLabelPlacementValue\n ? classes[`${innerLabelPlacementValue}LabelPlacement` as keyof typeof classes]\n : undefined;\n const hasValueClass = hasValue ? classes.hasValue : undefined;\n const keepPlaceholderClass = hasPlaceholder && placeholderShown && classes.keepPlaceholder;\n\n const wrapperWithoutLeftContent =\n !contentLeft && isChipsVisible && chipType === 'default' ? classes.hasEmptyContentLeft : undefined;\n const wrapperWithoutRightContent =\n !contentRight && isChipsVisible && chipType === 'default' ? classes.hasEmptyContentRight : undefined;\n\n const contentRightCompensationMargin =\n !hasOuterLabel && hintText && hintTargetPlacement === 'inner'\n ? classes.contentRightCompensationMargin\n : undefined;\n\n const hintRef = useOutsideClick<HTMLDivElement>(() => {\n setIsHintVisible(false);\n });\n const hintInnerRef = useRef<HTMLDivElement>(null);\n const hintForkRef = useForkRef(hintRef, hintInnerRef);\n\n const handleInput: FormEventHandler<HTMLInputElement> = (event) => {\n const { value } = event.target as HTMLInputElement;\n\n setHasValue(Boolean(value));\n };\n\n useEffect(() => {\n if (hasTextAfter && inputRef.current) {\n const textWidth = getInputWidth(inputRef.current, inputContainerRef.current);\n inputRef.current.style.width = `${textWidth}px`;\n } else {\n inputRef.current?.style.removeProperty('width');\n }\n }, [hasTextAfter]);\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n setHasFocus(true);\n onFocus?.(event);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n setHasFocus(false);\n onBlur?.(event);\n };\n\n const handleHintShow = () => setIsHintVisible(true);\n const handleHintHide = () => setIsHintVisible(false);\n const handleHintClick: MouseEventHandler = (event) => {\n if (!hintText || hintTrigger !== 'click') {\n return;\n }\n\n event.stopPropagation();\n const targetIsPopover = event.target === hintInnerRef.current;\n const rootHasTarget = hintInnerRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n setIsHintVisible(true);\n }\n };\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const { maxLength, value } = event.target;\n\n if (maxLength !== -1 && value.length > maxLength) {\n return;\n }\n\n onChange?.(event);\n\n if (hasTextAfter) {\n const textWidth = getInputWidth(event.currentTarget, inputContainerRef.current);\n event.currentTarget.style.width = `${textWidth}px`;\n }\n };\n\n const updateChips = (newChips: Array<ChipValues>, newValues: Array<TextFieldPrimitiveValue>) => {\n setChips(newChips);\n onChangeChips?.(newValues);\n };\n\n const { handleInputKeydown, handleChipKeyDown, onChipClear, handleContentKeyDown } = useKeyNavigation({\n controlledRefs,\n disabled,\n readOnly,\n chips,\n enumerationType,\n updateChips,\n onSearch,\n onChange,\n onEnterDisabled: _onEnterDisabled,\n });\n\n const onChipClick = (event: React.MouseEvent<HTMLButtonElement>) => event.stopPropagation();\n\n const handleInputFocus = () => {\n if (readOnly || disabled || !inputRef?.current) {\n return;\n }\n\n inputRef.current.scrollTo({\n top: 0,\n left: inputRef.current.offsetLeft,\n behavior: 'smooth',\n });\n\n inputRef.current.focus();\n };\n\n const getRef = (element: HTMLButtonElement | null, index: number) => {\n if (element && chipsRefs?.current) {\n chipsRefs.current[index] = element;\n }\n };\n\n const handleOnKeyDown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n handleInputKeydown(event);\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n useEffect(() => {\n if (!isChipEnumeration && !values?.length) {\n return;\n }\n\n const newChips =\n values?.map((value, index) => ({\n id: `${index}_${value}`,\n text: value,\n })) || [];\n\n setChips(newChips);\n }, [isChipEnumeration, values]);\n\n useEffect(() => {\n setHasValue(Boolean(rest?.defaultValue));\n }, [rest.defaultValue]);\n\n useEffect(() => {\n setHasValue(Boolean(outerValue) || Boolean(inputRef?.current?.value));\n }, [outerValue, inputRef?.current?.value]);\n\n const innerOptional = Boolean(required ? false : optional);\n const hasPlaceholderOptional = innerOptional && !innerLabelValue && !hasOuterLabel;\n const optionalTextNode = innerOptional ? (\n <StyledOptionalText>\n {Boolean(hasPlaceholderOptional ? innerPlaceholderValue : innerLabelValue) && '\\xa0'}\n {optionalText}\n </StyledOptionalText>\n ) : null;\n\n const classTextEllipsis =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n !(rest as any)._textEllipsisDisable && !textAfter ? classes.inputTextEllipsis : undefined;\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n data-root\n className={cx(\n labelPlacementClass,\n clearClass,\n hasDividerClass,\n hasInnerHintClass,\n classes.textFieldGroupItem,\n className,\n )}\n style={style}\n {...(hintText && { hintView, hintSize })}\n >\n {(hasOuterLabel || titleCaption) && (\n <OuterLabelWrapper isInnerLabel={labelPlacement === 'inner'}>\n {hasOuterLabel && (\n <StyledIndicatorWrapper>\n <Label id={labelId} htmlFor={id}>\n {innerLabelValue}\n </Label>\n\n {hintText && (\n <StyledHintWrapper>\n <HintComponent\n ref={hintForkRef}\n hintText={hintText}\n hintTrigger={hintTrigger}\n isHintVisible={isHintVisible}\n hintTargetIcon={hintTargetIcon}\n hintPlacement={hintPlacement}\n hintHasArrow={hintHasArrow}\n hintOffset={hintOffset}\n hintWidth={hintWidth}\n hintContentLeft={hintContentLeft}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n />\n </StyledHintWrapper>\n )}\n {required && hasRequiredIndicator && (\n <StyledIndicator\n className={cx(\n classes.outerLabelPlacement,\n requiredPlacementClass,\n hasHintClass,\n )}\n />\n )}\n {optionalTextNode}\n </StyledIndicatorWrapper>\n )}\n {titleCaption && <TitleCaption data-root>{titleCaption}</TitleCaption>}\n </OuterLabelWrapper>\n )}\n\n <InputWrapper\n // Ref для внутреннего использования. Не отдается наружу.\n ref={(rest as any).inputWrapperRef}\n // TODO: #1544, и после убрать classes.inputWrapper\n className={cx(\n withHasChips,\n wrapperWithoutLeftContent,\n wrapperWithoutRightContent,\n classes.inputWrapper,\n )}\n >\n {!hasOuterLabel && (\n <>\n {required && hasRequiredIndicator && (\n <StyledIndicator\n className={cx(classes.innerLabelPlacement, requiredPlacementClass)}\n />\n )}\n {hintText && hintTargetPlacement === 'outer' && (\n <StyledHintWrapper className={classes.innerLabelPlacement}>\n <HintComponent\n ref={hintForkRef}\n hintText={hintText}\n hintTrigger={hintTrigger}\n isHintVisible={isHintVisible}\n hintTargetIcon={hintTargetIcon}\n hintPlacement={hintPlacement}\n hintHasArrow={hintHasArrow}\n hintOffset={hintOffset}\n hintWidth={hintWidth}\n hintContentLeft={hintContentLeft}\n size={size}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n isInnerLabel\n />\n </StyledHintWrapper>\n )}\n </>\n )}\n {contentLeft && (\n <StyledContentLeft data-root isClear={clear} isDefaultView={isDefaultView}>\n {contentLeft}\n </StyledContentLeft>\n )}\n <InputLabelWrapper\n tabIndex={-1}\n ref={contentRef}\n onKeyDown={handleContentKeyDown}\n className={withHasChips}\n >\n {Boolean(textBefore && isChipEnumeration) && (\n <StyledTextBefore>{textBefore}</StyledTextBefore>\n )}\n {isChipEnumeration && Boolean(chips?.length) && (\n <StyledChips className={classes.chipsWrapper}>\n {chips?.map(({ id: chipId, text }, index) => {\n const validationView = chipValidator?.(String(text));\n const resView = validationView?.view || chipView;\n\n return (\n <TextFieldChip\n id={chipId}\n ref={(element) => getRef(element, index)}\n key={`${chipId}_${index}`}\n disabled={disabled}\n readOnly={readOnly}\n value={text}\n text={text}\n onKeyDown={(event) => handleChipKeyDown(event, chipId, index)}\n onClear={() => onChipClear(chipId, index)}\n onClick={onChipClick}\n chipType={chipType}\n view={resView}\n rootWrapper={Root}\n // TODO: #1547\n // @ts-ignore\n _forceChipManipulationWithReadonly={_forceChipManipulationWithReadonly}\n />\n );\n })}\n </StyledChips>\n )}\n <InputContainer ref={inputContainerRef} hasDynamicWidth={hasTextAfter}>\n {hasTextBefore && <StyledTextBefore>{textBefore}</StyledTextBefore>}\n <Input\n ref={inputForkRef}\n id={innerId}\n value={outerValue}\n required={enumerationType === 'chip' ? chips.length === 0 && required : required}\n aria-labelledby={labelId}\n aria-describedby={helperTextId}\n placeholder={innerPlaceholderValue}\n className={cx(\n hasValueClass,\n keepPlaceholderClass,\n classTextEllipsis,\n readOnly && classes.readOnlyInput,\n )}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onInput={handleInput}\n onChange={handleChange}\n onKeyDown={handleOnKeyDown}\n onFocus={handleFocus}\n onBlur={handleBlur}\n data-tour\n {...rest}\n />\n {hasInnerLabel && (\n <Label data-root id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n {optionalTextNode}\n </Label>\n )}\n {placeholderShown && !hasValue && (\n <InputPlaceholder hasPadding={hasPlaceholderPadding}>\n {hasTextBefore && <StyledTextBefore isHidden>{textBefore}</StyledTextBefore>}\n {innerPlaceholderValue}\n {hasPlaceholderOptional && optionalTextNode}\n </InputPlaceholder>\n )}\n {hasTextAfter && <StyledTextAfter>{textAfter}</StyledTextAfter>}\n </InputContainer>\n </InputLabelWrapper>\n <StyledContentRightWrapper className={cx(contentRightCompensationMargin)}>\n {contentRight && <StyledContentRight data-root>{contentRight}</StyledContentRight>}\n\n {!hasOuterLabel && hintText && hintTargetPlacement === 'inner' && (\n <HintComponent\n ref={hintForkRef}\n hintText={hintText}\n hintTrigger={hintTrigger}\n isHintVisible={isHintVisible}\n hintTargetIcon={hintTargetIcon}\n hintPlacement={hintPlacement}\n hintHasArrow={hintHasArrow}\n hintOffset={hintOffset}\n hintWidth={hintWidth}\n hintContentLeft={hintContentLeft}\n size={size}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n isInnerLabel\n />\n )}\n </StyledContentRightWrapper>\n </InputWrapper>\n {leftHelper && (\n <LeftHelper data-root id={helperTextId}>\n {leftHelper}\n </LeftHelper>\n )}\n </Root>\n );\n },\n );\n\nexport const textFieldConfig = {\n name: 'TextField',\n tag: 'div',\n layout: textFieldRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n clear: {\n css: clearCSS,\n attrs: true,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n labelPlacement: {\n css: labelPlacementCSS,\n },\n hintView: {\n css: hintViewCSS,\n },\n hintSize: {\n css: hintSizeCSS,\n },\n chipView: {\n css: chipViewCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["optionalText","base","HINT_DEFAULT_OFFSET","textFieldRoot","Root","forwardRef","_ref","ref","_inputRef$current","_inputRef$current4","id","className","style","contentLeft","contentRight","label","labelPlacement","keepPlaceholder","textBefore","textAfter","placeholder","leftHelper","_ref$enumerationType","enumerationType","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","titleCaption","_ref$chipView","chipView","chipValidator","_ref$hintTrigger","hintTrigger","hintText","_ref$hintView","hintView","_ref$hintSize","hintSize","hintTargetIcon","_ref$hintTargetPlacem","hintTargetPlacement","_ref$hintPlacement","hintPlacement","hintHasArrow","_ref$hintOffset","hintOffset","hintWidth","hintContentLeft","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","_ref$required","required","_ref$clear","clear","optional","hasDivider","outerValue","value","values","chips","_ref$chipType","chipType","onChange","onChangeChips","onSearch","onKeyDown","onFocus","onBlur","_onEnterDisabled","_forceChipManipulationWithReadonly","rest","contentRef","useRef","inputContainerRef","inputRef","inputForkRef","useForkRef","chipsRefs","controlledRefs","_useState","useState","Boolean","current","defaultValue","_useState2","_slicedToArray","hasValue","setHasValue","_useState3","_useState4","hasFocus","setHasFocus","_useState5","_useState6","setChips","_useState7","_useState8","isHintVisible","setIsHintVisible","uniqId","safeUseId","innerId","labelId","helperTextId","isDefaultView","isChipEnumeration","isChipsVisible","length","withHasChips","classes","hasChips","undefined","hasLabelValue","hasInnerLabel","hasOuterLabel","innerKeepPlaceholder","hasPlaceholder","hasTextAfter","hasTextBefore","hasPlaceholderPadding","innerLabelValue","innerLabelPlacementValue","innerPlaceholderValue","placeholderShown","clearClass","hasDividerClass","hasInnerHintClass","hasHint","hasHintClass","requiredPlacementClass","requiredAlignRight","labelPlacementClass","concat","hasValueClass","keepPlaceholderClass","wrapperWithoutLeftContent","hasEmptyContentLeft","wrapperWithoutRightContent","hasEmptyContentRight","contentRightCompensationMargin","hintRef","useOutsideClick","hintInnerRef","hintForkRef","handleInput","event","_ref2","target","useEffect","textWidth","getInputWidth","width","_inputRef$current2","removeProperty","handleFocus","handleBlur","handleHintShow","handleHintHide","handleHintClick","_hintInnerRef$current","stopPropagation","targetIsPopover","rootHasTarget","contains","handleChange","_event$target","maxLength","currentTarget","updateChips","newChips","newValues","_useKeyNavigation","useKeyNavigation","onEnterDisabled","handleInputKeydown","handleChipKeyDown","onChipClear","handleContentKeyDown","onChipClick","handleInputFocus","scrollTo","top","left","offsetLeft","behavior","focus","getRef","element","index","handleOnKeyDown","map","text","_inputRef$current3","innerOptional","hasPlaceholderOptional","optionalTextNode","React","createElement","StyledOptionalText","classTextEllipsis","_textEllipsisDisable","inputTextEllipsis","_extends","onClick","cx","textFieldGroupItem","OuterLabelWrapper","isInnerLabel","StyledIndicatorWrapper","Label","htmlFor","StyledHintWrapper","HintComponent","StyledIndicator","outerLabelPlacement","TitleCaption","InputWrapper","inputWrapperRef","inputWrapper","Fragment","innerLabelPlacement","StyledContentLeft","isClear","InputLabelWrapper","tabIndex","StyledTextBefore","StyledChips","chipsWrapper","_ref3","chipId","validationView","String","resView","TextFieldChip","key","onClear","rootWrapper","InputContainer","hasDynamicWidth","Input","readOnlyInput","onInput","InputPlaceholder","hasPadding","isHidden","StyledTextAfter","StyledContentRightWrapper","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","clearCSS","attrs","disabledCSS","readOnlyCSS","labelPlacementCSS","hintViewCSS","hintSizeCSS","chipViewCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"TextField.js","sources":["../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type {\n FormEventHandler,\n ChangeEventHandler,\n KeyboardEvent,\n ChangeEvent,\n MouseEventHandler,\n ClipboardEventHandler,\n} from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { css } from '@linaria/core';\nimport { cx, safeUseId } from 'src/utils';\nimport type { RootProps } from 'src/engines';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { ChipValues, TextFieldPrimitiveValue, TextFieldProps, TextFieldRootProps } from './TextField.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as clearCSS } from './variations/_clear/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_read-only/base';\nimport { base as labelPlacementCSS } from './variations/_label-placement/base';\nimport { base as hintViewCSS } from './variations/_hint-view/base';\nimport { base as hintSizeCSS } from './variations/_hint-size/base';\nimport { base as chipViewCSS } from './variations/_chip-view/base';\nimport {\n Input,\n InputContainer,\n LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n StyledTextBefore,\n StyledTextAfter,\n StyledIndicator,\n StyledOptionalText,\n InputPlaceholder,\n OuterLabelWrapper,\n TitleCaption,\n StyledHintWrapper,\n StyledIndicatorWrapper,\n StyledContentRightWrapper,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks';\nimport { HintComponent } from './ui/Hint/Hint';\nimport { getInputWidth } from './getInputWidth';\n\nconst optionalText = 'optional';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n`;\n\nconst HINT_DEFAULT_OFFSET: [number, number] = [0, 0];\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldRootProps>) =>\n forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n id,\n className,\n style,\n\n // layout\n contentLeft,\n contentRight,\n label,\n labelPlacement,\n keepPlaceholder,\n textBefore,\n textAfter,\n placeholder,\n leftHelper,\n enumerationType = 'plain',\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n titleCaption,\n chipView = 'default',\n chipValidator,\n\n // hint\n hintTrigger = 'hover',\n hintText,\n hintView = 'default',\n hintSize = 'm',\n hintTargetIcon,\n hintTargetPlacement = 'outer',\n hintPlacement = 'auto',\n hintHasArrow,\n hintOffset = HINT_DEFAULT_OFFSET,\n hintWidth,\n hintContentLeft,\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n required = false,\n clear = false,\n optional,\n hasDivider,\n\n // controlled\n value: outerValue,\n chips: values,\n chipType = 'default',\n\n // events\n onChange,\n onChangeChips,\n onSearch,\n onKeyDown,\n onFocus,\n onBlur,\n onPaste,\n\n // Пропсы для внутреннего использования, не отдается наружу.\n // @ts-ignore\n _onEnterDisabled,\n // @ts-ignore\n _forceChipManipulationWithReadonly,\n\n ...rest\n },\n ref,\n ) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const inputContainerRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n\n const controlledRefs = { contentRef, inputRef, chipsRefs };\n\n const [hasValue, setHasValue] = useState(\n Boolean(outerValue) || Boolean(inputRef?.current?.value) || Boolean(rest?.defaultValue),\n );\n const [hasFocus, setHasFocus] = useState(false);\n\n const [chips, setChips] = useState<Array<ChipValues>>([]);\n const [isHintVisible, setIsHintVisible] = useState(false);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const labelId = safeUseId();\n const helperTextId = safeUseId();\n\n const isDefaultView = view === 'default' || readOnly || disabled;\n\n const isChipEnumeration = enumerationType === 'chip';\n const isChipsVisible = isChipEnumeration && Boolean(chips?.length);\n const withHasChips = isChipsVisible ? classes.hasChips : undefined;\n\n const hasLabelValue = Boolean(label);\n const hasInnerLabel = size !== 'xs' && labelPlacement === 'inner' && !isChipsVisible && hasLabelValue;\n const hasOuterLabel = labelPlacement === 'outer' && hasLabelValue;\n const innerKeepPlaceholder = keepPlaceholder && labelPlacement === 'inner';\n const hasPlaceholder = Boolean(placeholder) && (innerKeepPlaceholder || !hasInnerLabel);\n let hasTextAfter = Boolean(textAfter);\n let hasTextBefore = textBefore && !isChipEnumeration;\n if (labelPlacement === 'inner') {\n if (!hasValue && !hasPlaceholder && !hasFocus) {\n hasTextAfter = false;\n hasTextBefore = false;\n }\n }\n\n const hasPlaceholderPadding = hasInnerLabel && keepPlaceholder && size !== 'xs';\n\n const innerLabelValue = hasInnerLabel || hasOuterLabel ? label : undefined;\n const innerLabelPlacementValue = labelPlacement === 'inner' && !hasInnerLabel ? undefined : labelPlacement;\n\n const innerPlaceholderValue = hasPlaceholder ? placeholder : undefined;\n const placeholderShown = Boolean(innerPlaceholderValue) && !hasValue;\n\n const clearClass = clear ? classes.clear : undefined;\n const hasDividerClass = hasDivider ? classes.hasDivider : undefined;\n const hasInnerHintClass = hintText && hintTargetPlacement === 'outer' ? classes.hasHint : undefined;\n const hasHintClass = hintText ? classes.hasHint : undefined;\n const requiredPlacementClass = requiredPlacement === 'right' ? classes.requiredAlignRight : undefined;\n const labelPlacementClass = innerLabelPlacementValue\n ? classes[`${innerLabelPlacementValue}LabelPlacement` as keyof typeof classes]\n : undefined;\n const hasValueClass = hasValue ? classes.hasValue : undefined;\n const keepPlaceholderClass = hasPlaceholder && placeholderShown && classes.keepPlaceholder;\n\n const wrapperWithoutLeftContent =\n !contentLeft && isChipsVisible && chipType === 'default' ? classes.hasEmptyContentLeft : undefined;\n const wrapperWithoutRightContent =\n !contentRight && isChipsVisible && chipType === 'default' ? classes.hasEmptyContentRight : undefined;\n\n const contentRightCompensationMargin =\n !hasOuterLabel && hintText && hintTargetPlacement === 'inner'\n ? classes.contentRightCompensationMargin\n : undefined;\n\n const hintRef = useOutsideClick<HTMLDivElement>(() => {\n setIsHintVisible(false);\n });\n const hintInnerRef = useRef<HTMLDivElement>(null);\n const hintForkRef = useForkRef(hintRef, hintInnerRef);\n\n const handleInput: FormEventHandler<HTMLInputElement> = (event) => {\n const { value } = event.target as HTMLInputElement;\n\n setHasValue(Boolean(value));\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n setHasFocus(true);\n onFocus?.(event);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n setHasFocus(false);\n onBlur?.(event);\n };\n\n const handleHintShow = () => setIsHintVisible(true);\n const handleHintHide = () => setIsHintVisible(false);\n const handleHintClick: MouseEventHandler = (event) => {\n if (!hintText || hintTrigger !== 'click') {\n return;\n }\n\n event.stopPropagation();\n const targetIsPopover = event.target === hintInnerRef.current;\n const rootHasTarget = hintInnerRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n setIsHintVisible(true);\n }\n };\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const { maxLength, value } = event.target;\n\n if (maxLength !== -1 && value.length > maxLength) {\n return;\n }\n\n if (onChange) {\n onChange(event);\n }\n\n if (hasTextAfter) {\n const textWidth = getInputWidth(event.currentTarget, inputContainerRef.current);\n event.currentTarget.style.width = `${textWidth}px`;\n }\n };\n\n const handlePaste: ClipboardEventHandler<HTMLInputElement> = (event) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (onPaste) {\n onPaste(event);\n }\n\n if (hasTextAfter) {\n setTimeout(() => {\n if (!inputRef.current) {\n return;\n }\n\n const textWidth = getInputWidth(inputRef.current, inputContainerRef.current);\n inputRef.current.style.width = `${textWidth}px`;\n });\n }\n };\n\n const updateChips = (newChips: Array<ChipValues>, newValues: Array<TextFieldPrimitiveValue>) => {\n setChips(newChips);\n onChangeChips?.(newValues);\n };\n\n const { handleInputKeydown, handleChipKeyDown, onChipClear, handleContentKeyDown } = useKeyNavigation({\n controlledRefs,\n disabled,\n readOnly,\n chips,\n enumerationType,\n updateChips,\n onSearch,\n onChange,\n onEnterDisabled: _onEnterDisabled,\n });\n\n const onChipClick = (event: React.MouseEvent<HTMLButtonElement>) => event.stopPropagation();\n\n const handleInputFocus = () => {\n if (readOnly || disabled || !inputRef?.current) {\n return;\n }\n\n inputRef.current.scrollTo({\n top: 0,\n left: inputRef.current.offsetLeft,\n behavior: 'smooth',\n });\n\n inputRef.current.focus();\n };\n\n const getRef = (element: HTMLButtonElement | null, index: number) => {\n if (element && chipsRefs?.current) {\n chipsRefs.current[index] = element;\n }\n };\n\n const handleOnKeyDown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n handleInputKeydown(event);\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n useEffect(() => {\n if (hasTextAfter && inputRef.current) {\n const textWidth = getInputWidth(inputRef.current, inputContainerRef.current);\n inputRef.current.style.width = `${textWidth}px`;\n } else {\n inputRef.current?.style.removeProperty('width');\n }\n }, [hasTextAfter, outerValue]);\n\n useEffect(() => {\n if (!isChipEnumeration && !values?.length) {\n return;\n }\n\n const newChips =\n values?.map((value, index) => ({\n id: `${index}_${value}`,\n text: value,\n })) || [];\n\n setChips(newChips);\n }, [isChipEnumeration, values]);\n\n useEffect(() => {\n setHasValue(Boolean(rest?.defaultValue));\n }, [rest.defaultValue]);\n\n useEffect(() => {\n setHasValue(Boolean(outerValue) || Boolean(inputRef?.current?.value));\n }, [outerValue, inputRef?.current?.value]);\n\n const innerOptional = Boolean(required ? false : optional);\n const hasPlaceholderOptional = innerOptional && !innerLabelValue && !hasOuterLabel;\n const optionalTextNode = innerOptional ? (\n <StyledOptionalText>\n {Boolean(hasPlaceholderOptional ? innerPlaceholderValue : innerLabelValue) && '\\xa0'}\n {optionalText}\n </StyledOptionalText>\n ) : null;\n\n const classTextEllipsis =\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n !(rest as any)._textEllipsisDisable && !textAfter ? classes.inputTextEllipsis : undefined;\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n data-root\n className={cx(\n labelPlacementClass,\n clearClass,\n hasDividerClass,\n hasInnerHintClass,\n classes.textFieldGroupItem,\n className,\n )}\n style={style}\n {...(hintText && { hintView, hintSize })}\n >\n {(hasOuterLabel || titleCaption) && (\n <OuterLabelWrapper isInnerLabel={labelPlacement === 'inner'}>\n {hasOuterLabel && (\n <StyledIndicatorWrapper>\n <Label id={labelId} htmlFor={id}>\n {innerLabelValue}\n </Label>\n\n {hintText && (\n <StyledHintWrapper>\n <HintComponent\n ref={hintForkRef}\n hintText={hintText}\n hintTrigger={hintTrigger}\n isHintVisible={isHintVisible}\n hintTargetIcon={hintTargetIcon}\n hintPlacement={hintPlacement}\n hintHasArrow={hintHasArrow}\n hintOffset={hintOffset}\n hintWidth={hintWidth}\n hintContentLeft={hintContentLeft}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n />\n </StyledHintWrapper>\n )}\n {required && hasRequiredIndicator && (\n <StyledIndicator\n className={cx(\n classes.outerLabelPlacement,\n requiredPlacementClass,\n hasHintClass,\n )}\n />\n )}\n {optionalTextNode}\n </StyledIndicatorWrapper>\n )}\n {titleCaption && <TitleCaption data-root>{titleCaption}</TitleCaption>}\n </OuterLabelWrapper>\n )}\n <InputWrapper\n // Ref для внутреннего использования. Не отдается наружу.\n ref={(rest as any).inputWrapperRef}\n // TODO: #1544, и после убрать classes.inputWrapper\n className={cx(\n withHasChips,\n wrapperWithoutLeftContent,\n wrapperWithoutRightContent,\n classes.inputWrapper,\n )}\n >\n {!hasOuterLabel && (\n <>\n {required && hasRequiredIndicator && (\n <StyledIndicator\n className={cx(classes.innerLabelPlacement, requiredPlacementClass)}\n />\n )}\n {hintText && hintTargetPlacement === 'outer' && (\n <StyledHintWrapper className={classes.innerLabelPlacement}>\n <HintComponent\n ref={hintForkRef}\n hintText={hintText}\n hintTrigger={hintTrigger}\n isHintVisible={isHintVisible}\n hintTargetIcon={hintTargetIcon}\n hintPlacement={hintPlacement}\n hintHasArrow={hintHasArrow}\n hintOffset={hintOffset}\n hintWidth={hintWidth}\n hintContentLeft={hintContentLeft}\n size={size}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n isInnerLabel\n />\n </StyledHintWrapper>\n )}\n </>\n )}\n {contentLeft && (\n <StyledContentLeft data-root isClear={clear} isDefaultView={isDefaultView}>\n {contentLeft}\n </StyledContentLeft>\n )}\n <InputLabelWrapper\n tabIndex={-1}\n ref={contentRef}\n onKeyDown={handleContentKeyDown}\n className={withHasChips}\n >\n {Boolean(textBefore && isChipEnumeration) && (\n <StyledTextBefore>{textBefore}</StyledTextBefore>\n )}\n {isChipEnumeration && Boolean(chips?.length) && (\n <StyledChips className={classes.chipsWrapper}>\n {chips?.map(({ id: chipId, text }, index) => {\n const validationView = chipValidator?.(String(text));\n const resView = validationView?.view || chipView;\n\n return (\n <TextFieldChip\n id={chipId}\n ref={(element) => getRef(element, index)}\n key={`${chipId}_${index}`}\n disabled={disabled}\n readOnly={readOnly}\n value={text}\n text={text}\n onKeyDown={(event) => handleChipKeyDown(event, chipId, index)}\n onClear={() => onChipClear(chipId, index)}\n onClick={onChipClick}\n chipType={chipType}\n view={resView}\n rootWrapper={Root}\n // TODO: #1547\n // @ts-ignore\n _forceChipManipulationWithReadonly={_forceChipManipulationWithReadonly}\n />\n );\n })}\n </StyledChips>\n )}\n <InputContainer ref={inputContainerRef} hasDynamicWidth={hasTextAfter}>\n {hasTextBefore && <StyledTextBefore>{textBefore}</StyledTextBefore>}\n <Input\n ref={inputForkRef}\n id={innerId}\n value={outerValue}\n required={enumerationType === 'chip' ? chips.length === 0 && required : required}\n aria-labelledby={labelId}\n aria-describedby={helperTextId}\n placeholder={innerPlaceholderValue}\n className={cx(\n hasValueClass,\n keepPlaceholderClass,\n classTextEllipsis,\n readOnly && classes.readOnlyInput,\n )}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onInput={handleInput}\n onChange={handleChange}\n onKeyDown={handleOnKeyDown}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onPaste={handlePaste}\n data-tour\n {...rest}\n />\n {hasInnerLabel && (\n <Label data-root id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n {optionalTextNode}\n </Label>\n )}\n {placeholderShown && !hasValue && (\n <InputPlaceholder hasPadding={hasPlaceholderPadding}>\n {hasTextBefore && <StyledTextBefore isHidden>{textBefore}</StyledTextBefore>}\n {innerPlaceholderValue}\n {hasPlaceholderOptional && optionalTextNode}\n </InputPlaceholder>\n )}\n {hasTextAfter && <StyledTextAfter>{textAfter}</StyledTextAfter>}\n </InputContainer>\n </InputLabelWrapper>\n <StyledContentRightWrapper className={cx(contentRightCompensationMargin)}>\n {contentRight && <StyledContentRight data-root>{contentRight}</StyledContentRight>}\n\n {!hasOuterLabel && hintText && hintTargetPlacement === 'inner' && (\n <HintComponent\n ref={hintForkRef}\n hintText={hintText}\n hintTrigger={hintTrigger}\n isHintVisible={isHintVisible}\n hintTargetIcon={hintTargetIcon}\n hintPlacement={hintPlacement}\n hintHasArrow={hintHasArrow}\n hintOffset={hintOffset}\n hintWidth={hintWidth}\n hintContentLeft={hintContentLeft}\n size={size}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n isInnerLabel\n />\n )}\n </StyledContentRightWrapper>\n </InputWrapper>\n {leftHelper && (\n <LeftHelper data-root id={helperTextId}>\n {leftHelper}\n </LeftHelper>\n )}\n </Root>\n );\n },\n );\n\nexport const textFieldConfig = {\n name: 'TextField',\n tag: 'div',\n layout: textFieldRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n clear: {\n css: clearCSS,\n attrs: true,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n labelPlacement: {\n css: labelPlacementCSS,\n },\n hintView: {\n css: hintViewCSS,\n },\n hintSize: {\n css: hintSizeCSS,\n },\n chipView: {\n css: chipViewCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["optionalText","base","HINT_DEFAULT_OFFSET","textFieldRoot","Root","forwardRef","_ref","ref","_inputRef$current","_inputRef$current4","id","className","style","contentLeft","contentRight","label","labelPlacement","keepPlaceholder","textBefore","textAfter","placeholder","leftHelper","_ref$enumerationType","enumerationType","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","titleCaption","_ref$chipView","chipView","chipValidator","_ref$hintTrigger","hintTrigger","hintText","_ref$hintView","hintView","_ref$hintSize","hintSize","hintTargetIcon","_ref$hintTargetPlacem","hintTargetPlacement","_ref$hintPlacement","hintPlacement","hintHasArrow","_ref$hintOffset","hintOffset","hintWidth","hintContentLeft","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","_ref$required","required","_ref$clear","clear","optional","hasDivider","outerValue","value","values","chips","_ref$chipType","chipType","onChange","onChangeChips","onSearch","onKeyDown","onFocus","onBlur","onPaste","_onEnterDisabled","_forceChipManipulationWithReadonly","rest","contentRef","useRef","inputContainerRef","inputRef","inputForkRef","useForkRef","chipsRefs","controlledRefs","_useState","useState","Boolean","current","defaultValue","_useState2","_slicedToArray","hasValue","setHasValue","_useState3","_useState4","hasFocus","setHasFocus","_useState5","_useState6","setChips","_useState7","_useState8","isHintVisible","setIsHintVisible","uniqId","safeUseId","innerId","labelId","helperTextId","isDefaultView","isChipEnumeration","isChipsVisible","length","withHasChips","classes","hasChips","undefined","hasLabelValue","hasInnerLabel","hasOuterLabel","innerKeepPlaceholder","hasPlaceholder","hasTextAfter","hasTextBefore","hasPlaceholderPadding","innerLabelValue","innerLabelPlacementValue","innerPlaceholderValue","placeholderShown","clearClass","hasDividerClass","hasInnerHintClass","hasHint","hasHintClass","requiredPlacementClass","requiredAlignRight","labelPlacementClass","concat","hasValueClass","keepPlaceholderClass","wrapperWithoutLeftContent","hasEmptyContentLeft","wrapperWithoutRightContent","hasEmptyContentRight","contentRightCompensationMargin","hintRef","useOutsideClick","hintInnerRef","hintForkRef","handleInput","event","_ref2","target","handleFocus","handleBlur","handleHintShow","handleHintHide","handleHintClick","_hintInnerRef$current","stopPropagation","targetIsPopover","rootHasTarget","contains","handleChange","_event$target","maxLength","textWidth","getInputWidth","currentTarget","width","handlePaste","setTimeout","updateChips","newChips","newValues","_useKeyNavigation","useKeyNavigation","onEnterDisabled","handleInputKeydown","handleChipKeyDown","onChipClear","handleContentKeyDown","onChipClick","handleInputFocus","scrollTo","top","left","offsetLeft","behavior","focus","getRef","element","index","handleOnKeyDown","useEffect","_inputRef$current2","removeProperty","map","text","_inputRef$current3","innerOptional","hasPlaceholderOptional","optionalTextNode","React","createElement","StyledOptionalText","classTextEllipsis","_textEllipsisDisable","inputTextEllipsis","_extends","onClick","cx","textFieldGroupItem","OuterLabelWrapper","isInnerLabel","StyledIndicatorWrapper","Label","htmlFor","StyledHintWrapper","HintComponent","StyledIndicator","outerLabelPlacement","TitleCaption","InputWrapper","inputWrapperRef","inputWrapper","Fragment","innerLabelPlacement","StyledContentLeft","isClear","InputLabelWrapper","tabIndex","StyledTextBefore","StyledChips","chipsWrapper","_ref3","chipId","validationView","String","resView","TextFieldChip","key","onClear","rootWrapper","InputContainer","hasDynamicWidth","Input","readOnlyInput","onInput","InputPlaceholder","hasPadding","isHidden","StyledTextAfter","StyledContentRightWrapper","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","clearCSS","attrs","disabledCSS","readOnlyCSS","labelPlacementCSS","hintViewCSS","hintSizeCSS","chipViewCSS","defaults"],"mappings":"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"}
|
@@ -10,6 +10,15 @@ Object.defineProperty(exports, "composeNumberFormat", {
|
|
10
10
|
});
|
11
11
|
var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
12
12
|
var _reactnumberformat = require("react-number-format");
|
13
|
+
var _plasmacore = require("@salutejs/plasma-core");
|
14
|
+
function _array_like_to_array(arr, len) {
|
15
|
+
if (len == null || len > arr.length) len = arr.length;
|
16
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
17
|
+
return arr2;
|
18
|
+
}
|
19
|
+
function _array_with_holes(arr) {
|
20
|
+
if (Array.isArray(arr)) return arr;
|
21
|
+
}
|
13
22
|
function _define_property(obj, key, value) {
|
14
23
|
if (key in obj) {
|
15
24
|
Object.defineProperty(obj, key, {
|
@@ -64,6 +73,33 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
64
73
|
}
|
65
74
|
return newObj;
|
66
75
|
}
|
76
|
+
function _iterable_to_array_limit(arr, i) {
|
77
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
78
|
+
if (_i == null) return;
|
79
|
+
var _arr = [];
|
80
|
+
var _n = true;
|
81
|
+
var _d = false;
|
82
|
+
var _s, _e;
|
83
|
+
try {
|
84
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
85
|
+
_arr.push(_s.value);
|
86
|
+
if (i && _arr.length === i) break;
|
87
|
+
}
|
88
|
+
} catch (err) {
|
89
|
+
_d = true;
|
90
|
+
_e = err;
|
91
|
+
} finally{
|
92
|
+
try {
|
93
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
94
|
+
} finally{
|
95
|
+
if (_d) throw _e;
|
96
|
+
}
|
97
|
+
}
|
98
|
+
return _arr;
|
99
|
+
}
|
100
|
+
function _non_iterable_rest() {
|
101
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
102
|
+
}
|
67
103
|
function _object_spread(target) {
|
68
104
|
for(var i = 1; i < arguments.length; i++){
|
69
105
|
var source = arguments[i] != null ? arguments[i] : {};
|
@@ -106,28 +142,83 @@ function _object_without_properties_loose(source, excluded) {
|
|
106
142
|
}
|
107
143
|
return target;
|
108
144
|
}
|
145
|
+
function _sliced_to_array(arr, i) {
|
146
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
147
|
+
}
|
148
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
149
|
+
if (!o) return;
|
150
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
151
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
152
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
153
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
154
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
155
|
+
}
|
109
156
|
var composeNumberFormat = function(InputComponent) {
|
110
157
|
return /*#__PURE__*/ (0, _react.forwardRef)(function(_param, outerRef) {
|
111
|
-
var _param_thousandSeparator = _param.thousandSeparator, thousandSeparator = _param_thousandSeparator === void 0 ? ' ' : _param_thousandSeparator, _param_decimalScale = _param.decimalScale, decimalScale = _param_decimalScale === void 0 ? 3 : _param_decimalScale, _param_decimalSeparator = _param.decimalSeparator, decimalSeparator = _param_decimalSeparator === void 0 ? '.' : _param_decimalSeparator, onChange = _param.onChange, rest = _object_without_properties(_param, [
|
158
|
+
var _param_thousandSeparator = _param.thousandSeparator, thousandSeparator = _param_thousandSeparator === void 0 ? ' ' : _param_thousandSeparator, _param_decimalScale = _param.decimalScale, decimalScale = _param_decimalScale === void 0 ? 3 : _param_decimalScale, _param_decimalSeparator = _param.decimalSeparator, decimalSeparator = _param_decimalSeparator === void 0 ? '.' : _param_decimalSeparator, disabled = _param.disabled, value = _param.value, onChange = _param.onChange, onPaste = _param.onPaste, rest = _object_without_properties(_param, [
|
112
159
|
"thousandSeparator",
|
113
160
|
"decimalScale",
|
114
161
|
"decimalSeparator",
|
115
|
-
"
|
162
|
+
"disabled",
|
163
|
+
"value",
|
164
|
+
"onChange",
|
165
|
+
"onPaste"
|
116
166
|
]);
|
167
|
+
var inputRef = (0, _react.useRef)(null);
|
168
|
+
var inputForkRef = (0, _plasmacore.useForkRef)(inputRef, outerRef);
|
169
|
+
var _useState = _sliced_to_array((0, _react.useState)(value ? (0, _reactnumberformat.numericFormatter)(String(value), {
|
170
|
+
thousandSeparator: thousandSeparator,
|
171
|
+
decimalScale: decimalScale,
|
172
|
+
decimalSeparator: decimalSeparator
|
173
|
+
}) : ''), 2), innerValue = _useState[0], setInnerValue = _useState[1];
|
117
174
|
var handleChangeValue = function(values, sourceInfo) {
|
118
175
|
if (onChange) {
|
119
176
|
var changeEvent = sourceInfo.event;
|
177
|
+
setInnerValue(values.value);
|
120
178
|
onChange(changeEvent, values);
|
121
179
|
}
|
122
180
|
};
|
181
|
+
var handlePaste = function(event) {
|
182
|
+
if (disabled) {
|
183
|
+
return;
|
184
|
+
}
|
185
|
+
if (decimalSeparator !== '.' && inputRef.current) {
|
186
|
+
if (!Number.isNaN(Number(event.clipboardData.getData('text/plain')))) {
|
187
|
+
event.preventDefault();
|
188
|
+
var pastedValue = event.clipboardData.getData('text/plain').replace('.', decimalSeparator);
|
189
|
+
var input = event.target;
|
190
|
+
var startPos = input.selectionStart || 0;
|
191
|
+
var newCursorPos = startPos + pastedValue.length;
|
192
|
+
setInnerValue(pastedValue);
|
193
|
+
setTimeout(function() {
|
194
|
+
var _inputRef_current;
|
195
|
+
(_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.setSelectionRange(newCursorPos, newCursorPos);
|
196
|
+
}, 10);
|
197
|
+
}
|
198
|
+
}
|
199
|
+
if (onPaste) {
|
200
|
+
onPaste(event);
|
201
|
+
}
|
202
|
+
};
|
203
|
+
(0, _react.useEffect)(function() {
|
204
|
+
setInnerValue(value ? (0, _reactnumberformat.numericFormatter)(String(value), {
|
205
|
+
thousandSeparator: thousandSeparator,
|
206
|
+
decimalScale: decimalScale,
|
207
|
+
decimalSeparator: decimalSeparator
|
208
|
+
}) : '');
|
209
|
+
}, [
|
210
|
+
value
|
211
|
+
]);
|
123
212
|
return /*#__PURE__*/ _react.default.createElement(_reactnumberformat.NumericFormat, _object_spread({
|
213
|
+
value: innerValue,
|
124
214
|
thousandSeparator: thousandSeparator,
|
125
215
|
decimalScale: decimalScale,
|
126
216
|
decimalSeparator: decimalSeparator,
|
127
217
|
customInput: InputComponent,
|
128
|
-
getInputRef:
|
218
|
+
getInputRef: inputForkRef,
|
129
219
|
_textEllipsisDisable: true,
|
130
|
-
onValueChange: handleChangeValue
|
220
|
+
onValueChange: handleChangeValue,
|
221
|
+
onPaste: handlePaste
|
131
222
|
}, rest));
|
132
223
|
});
|
133
224
|
};
|