@salutejs/plasma-new-hope 0.336.0-canary.2210.17491654160.0 → 0.336.0-canary.2210.17546691141.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.
@@ -1,5 +1,5 @@
1
1
  import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends, objectSpread2 as _objectSpread2, defineProperty as _defineProperty, toConsumableArray as _toConsumableArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React, { forwardRef, useState, useRef, useCallback, Fragment } from 'react';
2
+ import React, { forwardRef, useState, useRef, useCallback, useEffect, Fragment } from 'react';
3
3
  import cls from 'classnames';
4
4
  import { FORBIDDEN_KEYS, BACKSPACE_KEY, ONLY_DIGITS_PATTERN } from './utils/constants.js';
5
5
  import { classes } from './CodeField.tokens.js';
@@ -8,7 +8,6 @@ import { base as base$1 } from './variations/_view/base.js';
8
8
  import { base as base$2 } from './variations/_size/base.js';
9
9
  import { base as base$3 } from './variations/_shape/base.js';
10
10
  import { base as base$4 } from './variations/_disabled/base.js';
11
- import { useWebOTP } from './hooks/useWebOTP.js';
12
11
  import { getCodeValue, getPlaceholderValue, getFieldPattern } from './utils/initialValuesHelper.js';
13
12
  import { useCodeHook } from '../../hooks/useCodeHook.js';
14
13
  import { useDidMountEffect } from '../../hooks/useDidMountEffect.js';
@@ -19,8 +18,11 @@ import { handleItemError } from './utils/handleItemError.js';
19
18
 
20
19
  var _Separator;
21
20
  var _excluded = ["className", "value", "placeholder", "autoFocus", "codeLength", "caption", "captionAlign", "width", "shape", "view", "size", "disabled", "isError", "allowedSymbols", "itemErrorBehavior", "codeErrorBehavior", "autoComplete", "setIsError", "onChange", "onFullCodeEnter"];
21
+ // import { useWebOTP } from './hooks/useWebOTP';
22
+
22
23
  var codeFieldRoot = function codeFieldRoot(Root) {
23
24
  return /*#__PURE__*/forwardRef(function (_ref, ref) {
25
+ var _autocompleteRef$curr;
24
26
  var className = _ref.className,
25
27
  outerValue = _ref.value,
26
28
  placeholder = _ref.placeholder,
@@ -53,18 +55,17 @@ var codeFieldRoot = function codeFieldRoot(Root) {
53
55
  _useState2 = _slicedToArray(_useState, 2),
54
56
  innerValue = _useState2[0],
55
57
  setInnerValue = _useState2[1];
56
- var code = outerValue !== null && outerValue !== void 0 && outerValue.length ? getCodeValue(codeLength, outerValue) : innerValue;
58
+ var code = typeof outerValue === 'string' ? getCodeValue(codeLength, outerValue) : innerValue;
57
59
  var _useState3 = useState(code.join('')),
58
60
  _useState4 = _slicedToArray(_useState3, 2),
59
61
  originalValue = _useState4[0],
60
62
  setOriginalValue = _useState4[1];
61
- var _useState5 = useState(null),
62
- _useState6 = _slicedToArray(_useState5, 2),
63
- otpVal = _useState6[0],
64
- setOtpVal = _useState6[1];
63
+ // const [otpVal, setOtpVal] = useState<Credential | null>(null);
64
+
65
65
  var inputRefs = useRef([]);
66
66
  var inputContainerRef = useRef(null);
67
67
  var captionRef = useRef(null);
68
+ var autocompleteRef = useRef(null);
68
69
  var fieldPattern = getFieldPattern(allowedSymbols);
69
70
  var placeholderValue = getPlaceholderValue(codeLength, placeholder);
70
71
  var parts = codeLength === 6 ? 2 : 1;
@@ -80,27 +81,28 @@ var codeFieldRoot = function codeFieldRoot(Root) {
80
81
  return lastEmptyIndex >= 0 ? lastEmptyIndex : codeLength - 1;
81
82
  };
82
83
  var codeSetter = function codeSetter(newCode) {
83
- setInnerValue(newCode);
84
84
  var originalCode = newCode.join('');
85
+ setInnerValue(getCodeValue(codeLength, originalCode));
85
86
  setOriginalValue(originalCode);
86
87
  if (onChange) {
87
88
  onChange(originalCode);
88
89
  }
89
- if (originalCode.length > 0) {
90
- stopWebOTPListener();
91
- }
90
+
91
+ // if (originalCode.length > 0) {
92
+ // stopWebOTPListener();
93
+ // }
92
94
  };
93
- var _useWebOTP = useWebOTP({
94
- codeString: originalValue,
95
- enableSMSAutoRead: autoComplete === 'one-time-code',
96
- disabled: Boolean(disabled),
97
- codeLength: codeLength,
98
- codeSetter: codeSetter,
99
- onFullCodeEnter: onFullCodeEnter,
100
- setOtpVal: setOtpVal
101
- }),
102
- startWebOTPListener = _useWebOTP.startWebOTPListener,
103
- stopWebOTPListener = _useWebOTP.stopWebOTPListener;
95
+
96
+ // const { startWebOTPListener, stopWebOTPListener } = useWebOTP({
97
+ // codeString: originalValue,
98
+ // enableSMSAutoRead: autoComplete === 'one-time-code',
99
+ // disabled: Boolean(disabled),
100
+ // codeLength,
101
+ // codeSetter,
102
+ // onFullCodeEnter,
103
+ // setOtpVal,
104
+ // });
105
+
104
106
  var handleClick = function handleClick() {
105
107
  if (disabled) {
106
108
  return;
@@ -158,6 +160,9 @@ var codeFieldRoot = function codeFieldRoot(Root) {
158
160
  setIsError(false);
159
161
  }
160
162
  }
163
+ if (!symbol) {
164
+ return;
165
+ }
161
166
  if (!fieldPattern) {
162
167
  newCode[index] = symbol;
163
168
  codeSetter(newCode);
@@ -167,9 +172,6 @@ var codeFieldRoot = function codeFieldRoot(Root) {
167
172
  }
168
173
  return;
169
174
  }
170
- if (!symbol) {
171
- return;
172
- }
173
175
  if (fieldPattern.test(symbol)) {
174
176
  newCode[index] = symbol.charAt(symbol.length - 1);
175
177
  codeSetter(newCode);
@@ -214,7 +216,8 @@ var codeFieldRoot = function codeFieldRoot(Root) {
214
216
  if (onFullCodeEnter) {
215
217
  onFullCodeEnter(fullCode);
216
218
  }
217
- startWebOTPListener();
219
+
220
+ // startWebOTPListener();
218
221
  }, []);
219
222
  useCodeHook({
220
223
  inputRefs: inputRefs,
@@ -239,6 +242,13 @@ var codeFieldRoot = function codeFieldRoot(Root) {
239
242
  });
240
243
  }
241
244
  }, [isError]);
245
+ useEffect(function () {
246
+ if (disabled || !autocompleteRef.current) {
247
+ return;
248
+ }
249
+ var autocompleteCode = autocompleteRef.current.value.split('');
250
+ codeSetter(autocompleteCode);
251
+ }, [(_autocompleteRef$curr = autocompleteRef.current) === null || _autocompleteRef$curr === void 0 ? void 0 : _autocompleteRef$curr.value, disabled]);
242
252
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Root, _extends({
243
253
  ref: ref,
244
254
  view: view,
@@ -280,9 +290,10 @@ var codeFieldRoot = function codeFieldRoot(Root) {
280
290
  captionAlign: captionAlign,
281
291
  widthValue: widthValue
282
292
  }, caption), isWebOTPEnabled && /*#__PURE__*/React.createElement(HiddenInput, _extends({
293
+ ref: autocompleteRef,
283
294
  autoComplete: autoComplete,
284
295
  tabIndex: -1
285
- }, rest))), /*#__PURE__*/React.createElement("div", null, JSON.stringify(otpVal)));
296
+ }, rest))));
286
297
  });
287
298
  };
288
299
  var codeFieldConfig = {
@@ -1 +1 @@
1
- {"version":3,"file":"CodeField.js","sources":["../../../src/components/CodeField/CodeField.tsx"],"sourcesContent":["import React, { forwardRef, Fragment, useCallback, useRef, useState } from 'react';\nimport cls from 'classnames';\nimport type { ChangeEvent, KeyboardEvent, ClipboardEvent } from 'react';\nimport type { RootProps } from 'src/engines';\nimport { useDidMountEffect } from 'src/hooks';\nimport { getSizeValueFromProp } from 'src/utils';\n\nimport { useCodeHook } from '../../hooks';\n\nimport type { CodeFieldProps } from './CodeField.types';\nimport { BACKSPACE_KEY, FORBIDDEN_KEYS, ONLY_DIGITS_PATTERN } from './utils/constants';\nimport {\n getCodeValue,\n getFieldPattern,\n getPlaceholderValue,\n handleCodeError,\n handleItemError,\n isWebOTPSupported,\n} from './utils';\nimport { classes } from './CodeField.tokens';\nimport { base, CaptionWrapper, CodeGroup, CodeWrapper, HiddenInput, ItemInput, Separator } from './CodeField.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as shapeCSS } from './variations/_shape/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { useWebOTP } from './hooks/useWebOTP';\n\nexport const codeFieldRoot = (Root: RootProps<HTMLDivElement, CodeFieldProps>) =>\n forwardRef<HTMLInputElement, CodeFieldProps>(\n (\n {\n className,\n value: outerValue,\n placeholder,\n autoFocus,\n codeLength = 6,\n caption,\n captionAlign = 'left',\n width,\n shape = 'default',\n view,\n size,\n disabled,\n isError,\n allowedSymbols = ONLY_DIGITS_PATTERN,\n itemErrorBehavior = 'remove-symbol',\n codeErrorBehavior = 'remove-code',\n autoComplete = 'one-time-code',\n setIsError,\n onChange,\n onFullCodeEnter,\n ...rest\n },\n ref,\n ) => {\n const [innerValue, setInnerValue] = useState<Array<string>>(getCodeValue(codeLength, ''));\n const code = outerValue?.length ? getCodeValue(codeLength, outerValue) : innerValue;\n\n const [originalValue, setOriginalValue] = useState<string>(code.join(''));\n const [otpVal, setOtpVal] = useState<Credential | null>(null);\n\n const inputRefs = useRef<Array<HTMLInputElement>>([]);\n const inputContainerRef = useRef<HTMLDivElement | null>(null);\n const captionRef = useRef<HTMLDivElement | null>(null);\n\n const fieldPattern = getFieldPattern(allowedSymbols);\n const placeholderValue = getPlaceholderValue(codeLength, placeholder);\n const parts = codeLength === 6 ? 2 : 1;\n\n const widthValue = width ? getSizeValueFromProp(width, 'rem') : undefined;\n const isWebOTPEnabled = autoComplete === 'one-time-code' && !disabled && isWebOTPSupported();\n\n const getLastActiveIndex = () => {\n if (code.length && code.length < codeLength) {\n return code.length;\n }\n\n const lastEmptyIndex = code.findIndex((digit) => digit === '');\n return lastEmptyIndex >= 0 ? lastEmptyIndex : codeLength - 1;\n };\n\n const codeSetter = (newCode: Array<string>) => {\n setInnerValue(newCode);\n const originalCode = newCode.join('');\n setOriginalValue(originalCode);\n\n if (onChange) {\n onChange(originalCode);\n }\n\n if (originalCode.length > 0) {\n stopWebOTPListener();\n }\n };\n\n const { startWebOTPListener, stopWebOTPListener } = useWebOTP({\n codeString: originalValue,\n enableSMSAutoRead: autoComplete === 'one-time-code',\n disabled: Boolean(disabled),\n codeLength,\n codeSetter,\n onFullCodeEnter,\n setOtpVal,\n });\n\n const handleClick = () => {\n if (disabled) {\n return;\n }\n\n const lastActiveIndex = getLastActiveIndex();\n\n if (inputRefs.current[lastActiveIndex]) {\n inputRefs.current[lastActiveIndex].focus();\n }\n };\n\n const handleOnKeyDown = (event: KeyboardEvent<HTMLInputElement>, index: number) => {\n if (disabled) {\n return;\n }\n\n const { key } = event;\n if (FORBIDDEN_KEYS.includes(key)) {\n event.preventDefault();\n\n return;\n }\n\n if (key === BACKSPACE_KEY) {\n if (index > 0) {\n const newCode = [...code];\n\n newCode[index] = '';\n\n if (index >= codeLength - 1 && code[index]) {\n codeSetter(newCode);\n return;\n }\n\n if (!code[index]) {\n newCode[index - 1] = '';\n inputRefs.current[index - 1]?.focus();\n }\n\n inputRefs.current[index]?.classList.remove(classes.itemError);\n codeSetter(newCode);\n }\n }\n };\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>, index: number) => {\n if (disabled) {\n return;\n }\n\n const rawSymbol = event.currentTarget.value;\n const symbol = rawSymbol.charAt(rawSymbol.length - 1);\n const newCode = [...code];\n\n inputRefs.current[index]?.classList.remove(classes.itemError);\n if (isError) {\n captionRef.current?.classList.remove(classes.captionError);\n\n if (codeErrorBehavior === 'keep') {\n inputContainerRef.current?.classList.remove(classes.codeError, classes.codeErrorAnimation);\n }\n\n if (setIsError) {\n setIsError(false);\n }\n }\n\n if (!fieldPattern) {\n newCode[index] = symbol;\n codeSetter(newCode);\n\n if (symbol && index < codeLength - 1) {\n inputRefs.current[index + 1]?.focus();\n }\n\n return;\n }\n\n if (!symbol) {\n return;\n }\n\n if (fieldPattern.test(symbol)) {\n newCode[index] = symbol.charAt(symbol.length - 1);\n codeSetter(newCode);\n\n if (index < codeLength - 1) {\n inputRefs.current[index + 1]?.focus();\n }\n } else {\n newCode[index] = symbol.charAt(symbol.length - 1);\n\n handleItemError({\n currentSymbol: symbol,\n itemErrorBehavior,\n index,\n newCode,\n inputRefs,\n setInnerValue,\n codeSetter,\n onChange,\n });\n }\n };\n\n const handlePaste = (event: ClipboardEvent<HTMLInputElement>) => {\n const newCode = [...code];\n\n if (disabled) {\n return;\n }\n\n event.preventDefault();\n\n const rawData = event.clipboardData.getData('text/plain');\n\n const pastedData = (fieldPattern\n ? rawData\n .split('')\n .map((symb) => symb.match(fieldPattern)?.[0] || '')\n .filter(Boolean) || []\n : rawData.split('')\n ).slice(0, codeLength);\n\n pastedData.forEach((element, index) => {\n newCode[index] = element;\n });\n\n const activeIndex = Math.min(pastedData.length, codeLength - 1);\n inputRefs.current[activeIndex]?.focus();\n\n codeSetter(newCode);\n };\n\n const handleFullCodeEnter = useCallback((fullCode: string) => {\n if (onFullCodeEnter) {\n onFullCodeEnter(fullCode);\n }\n\n startWebOTPListener();\n }, []);\n\n useCodeHook({\n inputRefs,\n codeLength,\n disabled,\n autoFocus,\n originalValue,\n getLastActiveIndex,\n handleFullCodeEnter,\n });\n\n useDidMountEffect(() => {\n if (isError) {\n handleCodeError({\n codeLength,\n codeErrorBehavior,\n currentCode: code,\n inputRefs,\n inputContainerRef,\n captionRef,\n setInnerValue,\n codeSetter,\n });\n }\n }, [isError]);\n\n return (\n <>\n <Root\n ref={ref}\n view={view}\n size={size}\n shape={shape}\n disabled={disabled}\n onClick={handleClick}\n className={cls(className, {\n [classes.captionAlignLeft]: captionAlign === 'left',\n })}\n {...(!isWebOTPEnabled && { ...rest })}\n >\n <CodeWrapper ref={inputContainerRef}>\n {[...Array(parts)].map((_, partIndex) => (\n <Fragment key={partIndex}>\n <CodeGroup role=\"group\">\n {[...Array(codeLength / parts)].map((_, i) => {\n const inputCorrectIndex = i + (codeLength / parts) * partIndex;\n\n return (\n <ItemInput\n key={partIndex + i + partIndex * i}\n ref={(element: HTMLInputElement) => {\n inputRefs.current[inputCorrectIndex] = element;\n }}\n className={cls({\n [classes.segmented]: shape === 'segmented',\n [classes.hoverEnabled]:\n !disabled && inputCorrectIndex >= originalValue.length,\n })}\n value={code[inputCorrectIndex] || ''}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n handleChange(e, inputCorrectIndex);\n }}\n onKeyDown={(e: KeyboardEvent<HTMLInputElement>) => {\n handleOnKeyDown(e, inputCorrectIndex);\n }}\n onPaste={handlePaste}\n tabIndex={\n !disabled && originalValue.length === inputCorrectIndex ? 0 : -1\n }\n {...(placeholderValue && {\n placeholder: placeholderValue[inputCorrectIndex],\n })}\n />\n );\n })}\n </CodeGroup>\n {partIndex !== parts - 1 && <Separator />}\n </Fragment>\n ))}\n </CodeWrapper>\n\n {caption && (\n <CaptionWrapper ref={captionRef} captionAlign={captionAlign} widthValue={widthValue}>\n {caption}\n </CaptionWrapper>\n )}\n\n {isWebOTPEnabled && <HiddenInput autoComplete={autoComplete} tabIndex={-1} {...rest} />}\n </Root>\n <div>{JSON.stringify(otpVal)}</div>\n </>\n );\n },\n );\n\nexport const codeFieldConfig = {\n name: 'CodeField',\n tag: 'div',\n layout: codeFieldRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n shape: {\n css: shapeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n shape: 'default',\n },\n};\n"],"names":["codeFieldRoot","Root","forwardRef","_ref","ref","className","outerValue","value","placeholder","autoFocus","_ref$codeLength","codeLength","caption","_ref$captionAlign","captionAlign","width","_ref$shape","shape","view","size","disabled","isError","_ref$allowedSymbols","allowedSymbols","ONLY_DIGITS_PATTERN","_ref$itemErrorBehavio","itemErrorBehavior","_ref$codeErrorBehavio","codeErrorBehavior","_ref$autoComplete","autoComplete","setIsError","onChange","onFullCodeEnter","rest","_objectWithoutProperties","_excluded","_useState","useState","getCodeValue","_useState2","_slicedToArray","innerValue","setInnerValue","code","length","_useState3","join","_useState4","originalValue","setOriginalValue","_useState5","_useState6","otpVal","setOtpVal","inputRefs","useRef","inputContainerRef","captionRef","fieldPattern","getFieldPattern","placeholderValue","getPlaceholderValue","parts","widthValue","getSizeValueFromProp","undefined","isWebOTPEnabled","isWebOTPSupported","getLastActiveIndex","lastEmptyIndex","findIndex","digit","codeSetter","newCode","originalCode","stopWebOTPListener","_useWebOTP","useWebOTP","codeString","enableSMSAutoRead","Boolean","startWebOTPListener","handleClick","lastActiveIndex","current","focus","handleOnKeyDown","event","index","key","FORBIDDEN_KEYS","includes","preventDefault","BACKSPACE_KEY","_inputRefs$current$in","_toConsumableArray","_inputRefs$current","classList","remove","classes","itemError","handleChange","_inputRefs$current$in2","rawSymbol","currentTarget","symbol","charAt","_captionRef$current","captionError","_inputContainerRef$cu","codeError","codeErrorAnimation","_inputRefs$current2","test","_inputRefs$current3","handleItemError","currentSymbol","handlePaste","_inputRefs$current$ac","rawData","clipboardData","getData","pastedData","split","map","symb","_symb$match","match","filter","slice","forEach","element","activeIndex","Math","min","handleFullCodeEnter","useCallback","fullCode","useCodeHook","useDidMountEffect","handleCodeError","currentCode","React","createElement","Fragment","_extends","onClick","cls","_defineProperty","captionAlignLeft","_objectSpread","CodeWrapper","Array","_","partIndex","CodeGroup","role","i","inputCorrectIndex","ItemInput","segmented","hoverEnabled","e","onKeyDown","onPaste","tabIndex","_Separator","Separator","CaptionWrapper","HiddenInput","JSON","stringify","codeFieldConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","shapeCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"CodeField.js","sources":["../../../src/components/CodeField/CodeField.tsx"],"sourcesContent":["import React, { forwardRef, Fragment, useCallback, useEffect, useRef, useState } from 'react';\nimport cls from 'classnames';\nimport type { ChangeEvent, KeyboardEvent, ClipboardEvent } from 'react';\nimport type { RootProps } from 'src/engines';\nimport { useDidMountEffect } from 'src/hooks';\nimport { getSizeValueFromProp } from 'src/utils';\n\nimport { useCodeHook } from '../../hooks';\n\nimport type { CodeFieldProps } from './CodeField.types';\nimport { BACKSPACE_KEY, FORBIDDEN_KEYS, ONLY_DIGITS_PATTERN } from './utils/constants';\nimport {\n getCodeValue,\n getFieldPattern,\n getPlaceholderValue,\n handleCodeError,\n handleItemError,\n isWebOTPSupported,\n} from './utils';\nimport { classes } from './CodeField.tokens';\nimport { base, CaptionWrapper, CodeGroup, CodeWrapper, HiddenInput, ItemInput, Separator } from './CodeField.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as shapeCSS } from './variations/_shape/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\n// import { useWebOTP } from './hooks/useWebOTP';\n\nexport const codeFieldRoot = (Root: RootProps<HTMLDivElement, CodeFieldProps>) =>\n forwardRef<HTMLInputElement, CodeFieldProps>(\n (\n {\n className,\n value: outerValue,\n placeholder,\n autoFocus,\n codeLength = 6,\n caption,\n captionAlign = 'left',\n width,\n shape = 'default',\n view,\n size,\n disabled,\n isError,\n allowedSymbols = ONLY_DIGITS_PATTERN,\n itemErrorBehavior = 'remove-symbol',\n codeErrorBehavior = 'remove-code',\n autoComplete = 'one-time-code',\n setIsError,\n onChange,\n onFullCodeEnter,\n ...rest\n },\n ref,\n ) => {\n const [innerValue, setInnerValue] = useState<Array<string>>(getCodeValue(codeLength, ''));\n const code = typeof outerValue === 'string' ? getCodeValue(codeLength, outerValue) : innerValue;\n\n const [originalValue, setOriginalValue] = useState<string>(code.join(''));\n // const [otpVal, setOtpVal] = useState<Credential | null>(null);\n\n const inputRefs = useRef<Array<HTMLInputElement>>([]);\n const inputContainerRef = useRef<HTMLDivElement | null>(null);\n const captionRef = useRef<HTMLDivElement | null>(null);\n const autocompleteRef = useRef<HTMLInputElement | null>(null);\n\n const fieldPattern = getFieldPattern(allowedSymbols);\n const placeholderValue = getPlaceholderValue(codeLength, placeholder);\n const parts = codeLength === 6 ? 2 : 1;\n\n const widthValue = width ? getSizeValueFromProp(width, 'rem') : undefined;\n const isWebOTPEnabled = autoComplete === 'one-time-code' && !disabled && isWebOTPSupported();\n\n const getLastActiveIndex = () => {\n if (code.length && code.length < codeLength) {\n return code.length;\n }\n\n const lastEmptyIndex = code.findIndex((digit) => digit === '');\n return lastEmptyIndex >= 0 ? lastEmptyIndex : codeLength - 1;\n };\n\n const codeSetter = (newCode: Array<string>) => {\n const originalCode = newCode.join('');\n\n setInnerValue(getCodeValue(codeLength, originalCode));\n setOriginalValue(originalCode);\n\n if (onChange) {\n onChange(originalCode);\n }\n\n // if (originalCode.length > 0) {\n // stopWebOTPListener();\n // }\n };\n\n // const { startWebOTPListener, stopWebOTPListener } = useWebOTP({\n // codeString: originalValue,\n // enableSMSAutoRead: autoComplete === 'one-time-code',\n // disabled: Boolean(disabled),\n // codeLength,\n // codeSetter,\n // onFullCodeEnter,\n // setOtpVal,\n // });\n\n const handleClick = () => {\n if (disabled) {\n return;\n }\n\n const lastActiveIndex = getLastActiveIndex();\n\n if (inputRefs.current[lastActiveIndex]) {\n inputRefs.current[lastActiveIndex].focus();\n }\n };\n\n const handleOnKeyDown = (event: KeyboardEvent<HTMLInputElement>, index: number) => {\n if (disabled) {\n return;\n }\n\n const { key } = event;\n if (FORBIDDEN_KEYS.includes(key)) {\n event.preventDefault();\n\n return;\n }\n\n if (key === BACKSPACE_KEY) {\n if (index > 0) {\n const newCode = [...code];\n\n newCode[index] = '';\n\n if (index >= codeLength - 1 && code[index]) {\n codeSetter(newCode);\n return;\n }\n\n if (!code[index]) {\n newCode[index - 1] = '';\n inputRefs.current[index - 1]?.focus();\n }\n\n inputRefs.current[index]?.classList.remove(classes.itemError);\n codeSetter(newCode);\n }\n }\n };\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>, index: number) => {\n if (disabled) {\n return;\n }\n\n const rawSymbol = event.currentTarget.value;\n const symbol = rawSymbol.charAt(rawSymbol.length - 1);\n const newCode = [...code];\n\n inputRefs.current[index]?.classList.remove(classes.itemError);\n if (isError) {\n captionRef.current?.classList.remove(classes.captionError);\n\n if (codeErrorBehavior === 'keep') {\n inputContainerRef.current?.classList.remove(classes.codeError, classes.codeErrorAnimation);\n }\n\n if (setIsError) {\n setIsError(false);\n }\n }\n\n if (!symbol) {\n return;\n }\n\n if (!fieldPattern) {\n newCode[index] = symbol;\n codeSetter(newCode);\n\n if (symbol && index < codeLength - 1) {\n inputRefs.current[index + 1]?.focus();\n }\n\n return;\n }\n\n if (fieldPattern.test(symbol)) {\n newCode[index] = symbol.charAt(symbol.length - 1);\n codeSetter(newCode);\n\n if (index < codeLength - 1) {\n inputRefs.current[index + 1]?.focus();\n }\n } else {\n newCode[index] = symbol.charAt(symbol.length - 1);\n\n handleItemError({\n currentSymbol: symbol,\n itemErrorBehavior,\n index,\n newCode,\n inputRefs,\n setInnerValue,\n codeSetter,\n onChange,\n });\n }\n };\n\n const handlePaste = (event: ClipboardEvent<HTMLInputElement>) => {\n const newCode = [...code];\n\n if (disabled) {\n return;\n }\n\n event.preventDefault();\n\n const rawData = event.clipboardData.getData('text/plain');\n\n const pastedData = (fieldPattern\n ? rawData\n .split('')\n .map((symb) => symb.match(fieldPattern)?.[0] || '')\n .filter(Boolean) || []\n : rawData.split('')\n ).slice(0, codeLength);\n\n pastedData.forEach((element, index) => {\n newCode[index] = element;\n });\n\n const activeIndex = Math.min(pastedData.length, codeLength - 1);\n inputRefs.current[activeIndex]?.focus();\n\n codeSetter(newCode);\n };\n\n const handleFullCodeEnter = useCallback((fullCode: string) => {\n if (onFullCodeEnter) {\n onFullCodeEnter(fullCode);\n }\n\n // startWebOTPListener();\n }, []);\n\n useCodeHook({\n inputRefs,\n codeLength,\n disabled,\n autoFocus,\n originalValue,\n getLastActiveIndex,\n handleFullCodeEnter,\n });\n\n useDidMountEffect(() => {\n if (isError) {\n handleCodeError({\n codeLength,\n codeErrorBehavior,\n currentCode: code,\n inputRefs,\n inputContainerRef,\n captionRef,\n setInnerValue,\n codeSetter,\n });\n }\n }, [isError]);\n\n useEffect(() => {\n if (disabled || !autocompleteRef.current) {\n return;\n }\n\n const autocompleteCode = autocompleteRef.current.value.split('');\n codeSetter(autocompleteCode);\n }, [autocompleteRef.current?.value, disabled]);\n\n return (\n <>\n <Root\n ref={ref}\n view={view}\n size={size}\n shape={shape}\n disabled={disabled}\n onClick={handleClick}\n className={cls(className, {\n [classes.captionAlignLeft]: captionAlign === 'left',\n })}\n {...(!isWebOTPEnabled && { ...rest })}\n >\n <CodeWrapper ref={inputContainerRef}>\n {[...Array(parts)].map((_, partIndex) => (\n <Fragment key={partIndex}>\n <CodeGroup role=\"group\">\n {[...Array(codeLength / parts)].map((_, i) => {\n const inputCorrectIndex = i + (codeLength / parts) * partIndex;\n\n return (\n <ItemInput\n key={partIndex + i + partIndex * i}\n ref={(element: HTMLInputElement) => {\n inputRefs.current[inputCorrectIndex] = element;\n }}\n className={cls({\n [classes.segmented]: shape === 'segmented',\n [classes.hoverEnabled]:\n !disabled && inputCorrectIndex >= originalValue.length,\n })}\n value={code[inputCorrectIndex] || ''}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n handleChange(e, inputCorrectIndex);\n }}\n onKeyDown={(e: KeyboardEvent<HTMLInputElement>) => {\n handleOnKeyDown(e, inputCorrectIndex);\n }}\n onPaste={handlePaste}\n tabIndex={\n !disabled && originalValue.length === inputCorrectIndex ? 0 : -1\n }\n {...(placeholderValue && {\n placeholder: placeholderValue[inputCorrectIndex],\n })}\n />\n );\n })}\n </CodeGroup>\n {partIndex !== parts - 1 && <Separator />}\n </Fragment>\n ))}\n </CodeWrapper>\n\n {caption && (\n <CaptionWrapper ref={captionRef} captionAlign={captionAlign} widthValue={widthValue}>\n {caption}\n </CaptionWrapper>\n )}\n\n {isWebOTPEnabled && (\n <HiddenInput ref={autocompleteRef} autoComplete={autoComplete} tabIndex={-1} {...rest} />\n )}\n </Root>\n {/* <div>{JSON.stringify(otpVal)}</div> */}\n </>\n );\n },\n );\n\nexport const codeFieldConfig = {\n name: 'CodeField',\n tag: 'div',\n layout: codeFieldRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n shape: {\n css: shapeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n shape: 'default',\n },\n};\n"],"names":["codeFieldRoot","Root","forwardRef","_ref","ref","_autocompleteRef$curr","className","outerValue","value","placeholder","autoFocus","_ref$codeLength","codeLength","caption","_ref$captionAlign","captionAlign","width","_ref$shape","shape","view","size","disabled","isError","_ref$allowedSymbols","allowedSymbols","ONLY_DIGITS_PATTERN","_ref$itemErrorBehavio","itemErrorBehavior","_ref$codeErrorBehavio","codeErrorBehavior","_ref$autoComplete","autoComplete","setIsError","onChange","onFullCodeEnter","rest","_objectWithoutProperties","_excluded","_useState","useState","getCodeValue","_useState2","_slicedToArray","innerValue","setInnerValue","code","_useState3","join","_useState4","originalValue","setOriginalValue","inputRefs","useRef","inputContainerRef","captionRef","autocompleteRef","fieldPattern","getFieldPattern","placeholderValue","getPlaceholderValue","parts","widthValue","getSizeValueFromProp","undefined","isWebOTPEnabled","isWebOTPSupported","getLastActiveIndex","length","lastEmptyIndex","findIndex","digit","codeSetter","newCode","originalCode","handleClick","lastActiveIndex","current","focus","handleOnKeyDown","event","index","key","FORBIDDEN_KEYS","includes","preventDefault","BACKSPACE_KEY","_inputRefs$current$in","_toConsumableArray","_inputRefs$current","classList","remove","classes","itemError","handleChange","_inputRefs$current$in2","rawSymbol","currentTarget","symbol","charAt","_captionRef$current","captionError","_inputContainerRef$cu","codeError","codeErrorAnimation","_inputRefs$current2","test","_inputRefs$current3","handleItemError","currentSymbol","handlePaste","_inputRefs$current$ac","rawData","clipboardData","getData","pastedData","split","map","symb","_symb$match","match","filter","Boolean","slice","forEach","element","activeIndex","Math","min","handleFullCodeEnter","useCallback","fullCode","useCodeHook","useDidMountEffect","handleCodeError","currentCode","useEffect","autocompleteCode","React","createElement","Fragment","_extends","onClick","cls","_defineProperty","captionAlignLeft","_objectSpread","CodeWrapper","Array","_","partIndex","CodeGroup","role","i","inputCorrectIndex","ItemInput","segmented","hoverEnabled","e","onKeyDown","onPaste","tabIndex","_Separator","Separator","CaptionWrapper","HiddenInput","codeFieldConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","shapeCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.336.0-canary.2210.17491654160.0",
3
+ "version": "0.336.0-canary.2210.17546691141.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -137,5 +137,5 @@
137
137
  "sideEffects": [
138
138
  "*.css"
139
139
  ],
140
- "gitHead": "98ba0164fef9ffa0a1fc289cf58088abf7ef181b"
140
+ "gitHead": "2655f37eacf1217feccd430765f880841ff9c64c"
141
141
  }
@@ -29,7 +29,6 @@ var _base = require("./variations/_view/base");
29
29
  var _base1 = require("./variations/_size/base");
30
30
  var _base2 = require("./variations/_shape/base");
31
31
  var _base3 = require("./variations/_disabled/base");
32
- var _useWebOTP = require("./hooks/useWebOTP");
33
32
  function _array_like_to_array(arr, len) {
34
33
  if (len == null || len > arr.length) len = arr.length;
35
34
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
@@ -213,13 +212,15 @@ var codeFieldRoot = function(Root) {
213
212
  "onChange",
214
213
  "onFullCodeEnter"
215
214
  ]);
215
+ var _autocompleteRef_current;
216
216
  var _useState = _sliced_to_array((0, _react.useState)((0, _utils1.getCodeValue)(codeLength, '')), 2), innerValue = _useState[0], setInnerValue = _useState[1];
217
- var code = (outerValue === null || outerValue === void 0 ? void 0 : outerValue.length) ? (0, _utils1.getCodeValue)(codeLength, outerValue) : innerValue;
217
+ var code = typeof outerValue === 'string' ? (0, _utils1.getCodeValue)(codeLength, outerValue) : innerValue;
218
218
  var _useState1 = _sliced_to_array((0, _react.useState)(code.join('')), 2), originalValue = _useState1[0], setOriginalValue = _useState1[1];
219
- var _useState2 = _sliced_to_array((0, _react.useState)(null), 2), otpVal = _useState2[0], setOtpVal = _useState2[1];
219
+ // const [otpVal, setOtpVal] = useState<Credential | null>(null);
220
220
  var inputRefs = (0, _react.useRef)([]);
221
221
  var inputContainerRef = (0, _react.useRef)(null);
222
222
  var captionRef = (0, _react.useRef)(null);
223
+ var autocompleteRef = (0, _react.useRef)(null);
223
224
  var fieldPattern = (0, _utils1.getFieldPattern)(allowedSymbols);
224
225
  var placeholderValue = (0, _utils1.getPlaceholderValue)(codeLength, placeholder);
225
226
  var parts = codeLength === 6 ? 2 : 1;
@@ -235,25 +236,25 @@ var codeFieldRoot = function(Root) {
235
236
  return lastEmptyIndex >= 0 ? lastEmptyIndex : codeLength - 1;
236
237
  };
237
238
  var codeSetter = function(newCode) {
238
- setInnerValue(newCode);
239
239
  var originalCode = newCode.join('');
240
+ setInnerValue((0, _utils1.getCodeValue)(codeLength, originalCode));
240
241
  setOriginalValue(originalCode);
241
242
  if (onChange) {
242
243
  onChange(originalCode);
243
244
  }
244
- if (originalCode.length > 0) {
245
- stopWebOTPListener();
246
- }
245
+ // if (originalCode.length > 0) {
246
+ // stopWebOTPListener();
247
+ // }
247
248
  };
248
- var _useWebOTP1 = (0, _useWebOTP.useWebOTP)({
249
- codeString: originalValue,
250
- enableSMSAutoRead: autoComplete === 'one-time-code',
251
- disabled: Boolean(disabled),
252
- codeLength: codeLength,
253
- codeSetter: codeSetter,
254
- onFullCodeEnter: onFullCodeEnter,
255
- setOtpVal: setOtpVal
256
- }), startWebOTPListener = _useWebOTP1.startWebOTPListener, stopWebOTPListener = _useWebOTP1.stopWebOTPListener;
249
+ // const { startWebOTPListener, stopWebOTPListener } = useWebOTP({
250
+ // codeString: originalValue,
251
+ // enableSMSAutoRead: autoComplete === 'one-time-code',
252
+ // disabled: Boolean(disabled),
253
+ // codeLength,
254
+ // codeSetter,
255
+ // onFullCodeEnter,
256
+ // setOtpVal,
257
+ // });
257
258
  var handleClick = function() {
258
259
  if (disabled) {
259
260
  return;
@@ -311,6 +312,9 @@ var codeFieldRoot = function(Root) {
311
312
  setIsError(false);
312
313
  }
313
314
  }
315
+ if (!symbol) {
316
+ return;
317
+ }
314
318
  if (!fieldPattern) {
315
319
  newCode[index] = symbol;
316
320
  codeSetter(newCode);
@@ -320,9 +324,6 @@ var codeFieldRoot = function(Root) {
320
324
  }
321
325
  return;
322
326
  }
323
- if (!symbol) {
324
- return;
325
- }
326
327
  if (fieldPattern.test(symbol)) {
327
328
  newCode[index] = symbol.charAt(symbol.length - 1);
328
329
  codeSetter(newCode);
@@ -367,7 +368,7 @@ var codeFieldRoot = function(Root) {
367
368
  if (onFullCodeEnter) {
368
369
  onFullCodeEnter(fullCode);
369
370
  }
370
- startWebOTPListener();
371
+ // startWebOTPListener();
371
372
  }, []);
372
373
  (0, _hooks1.useCodeHook)({
373
374
  inputRefs: inputRefs,
@@ -394,6 +395,16 @@ var codeFieldRoot = function(Root) {
394
395
  }, [
395
396
  isError
396
397
  ]);
398
+ (0, _react.useEffect)(function() {
399
+ if (disabled || !autocompleteRef.current) {
400
+ return;
401
+ }
402
+ var autocompleteCode = autocompleteRef.current.value.split('');
403
+ codeSetter(autocompleteCode);
404
+ }, [
405
+ (_autocompleteRef_current = autocompleteRef.current) === null || _autocompleteRef_current === void 0 ? void 0 : _autocompleteRef_current.value,
406
+ disabled
407
+ ]);
397
408
  return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(Root, _object_spread({
398
409
  ref: ref,
399
410
  view: view,
@@ -436,9 +447,10 @@ var codeFieldRoot = function(Root) {
436
447
  captionAlign: captionAlign,
437
448
  widthValue: widthValue
438
449
  }, caption), isWebOTPEnabled && /*#__PURE__*/ _react.default.createElement(_CodeFieldstyles.HiddenInput, _object_spread({
450
+ ref: autocompleteRef,
439
451
  autoComplete: autoComplete,
440
452
  tabIndex: -1
441
- }, rest))), /*#__PURE__*/ _react.default.createElement("div", null, JSON.stringify(otpVal)));
453
+ }, rest))));
442
454
  });
443
455
  };
444
456
  var codeFieldConfig = {
@@ -1 +1,16 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "Combobox", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return Combobox;
9
+ }
10
+ });
11
+ var _engines = require("../../../engines");
12
+ var _ = require("../../..");
13
+ var _Comboboxconfig = require("./Combobox.config");
14
+ var mergedConfig = (0, _engines.mergeConfig)(_.comboboxNewConfig, _Comboboxconfig.config);
15
+ var ComboboxComponent = (0, _engines.component)(mergedConfig);
16
+ var Combobox = ComboboxComponent;
@@ -111,7 +111,7 @@ function _unsupported_iterable_to_array(o, minLen) {
111
111
  if (n === "Map" || n === "Set") return Array.from(n);
112
112
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
113
113
  }
114
- import React, { forwardRef, Fragment, useCallback, useRef, useState } from "react";
114
+ import React, { forwardRef, Fragment, useCallback, useEffect, useRef, useState } from "react";
115
115
  import cls from "classnames";
116
116
  import { useDidMountEffect } from "../../hooks";
117
117
  import { getSizeValueFromProp } from "../../utils";
@@ -124,7 +124,7 @@ import { base as viewCSS } from "./variations/_view/base";
124
124
  import { base as sizeCSS } from "./variations/_size/base";
125
125
  import { base as shapeCSS } from "./variations/_shape/base";
126
126
  import { base as disabledCSS } from "./variations/_disabled/base";
127
- import { useWebOTP } from "./hooks/useWebOTP";
127
+ // import { useWebOTP } from './hooks/useWebOTP';
128
128
  export var codeFieldRoot = function(Root) {
129
129
  return /*#__PURE__*/ forwardRef(function(_param, ref) {
130
130
  var className = _param.className, outerValue = _param.value, placeholder = _param.placeholder, autoFocus = _param.autoFocus, _param_codeLength = _param.codeLength, codeLength = _param_codeLength === void 0 ? 6 : _param_codeLength, caption = _param.caption, _param_captionAlign = _param.captionAlign, captionAlign = _param_captionAlign === void 0 ? 'left' : _param_captionAlign, width = _param.width, _param_shape = _param.shape, shape = _param_shape === void 0 ? 'default' : _param_shape, view = _param.view, size = _param.size, disabled = _param.disabled, isError = _param.isError, _param_allowedSymbols = _param.allowedSymbols, allowedSymbols = _param_allowedSymbols === void 0 ? ONLY_DIGITS_PATTERN : _param_allowedSymbols, _param_itemErrorBehavior = _param.itemErrorBehavior, itemErrorBehavior = _param_itemErrorBehavior === void 0 ? 'remove-symbol' : _param_itemErrorBehavior, _param_codeErrorBehavior = _param.codeErrorBehavior, codeErrorBehavior = _param_codeErrorBehavior === void 0 ? 'remove-code' : _param_codeErrorBehavior, _param_autoComplete = _param.autoComplete, autoComplete = _param_autoComplete === void 0 ? 'one-time-code' : _param_autoComplete, setIsError = _param.setIsError, onChange = _param.onChange, onFullCodeEnter = _param.onFullCodeEnter, rest = _object_without_properties(_param, [
@@ -149,13 +149,15 @@ export var codeFieldRoot = function(Root) {
149
149
  "onChange",
150
150
  "onFullCodeEnter"
151
151
  ]);
152
+ var _autocompleteRef_current;
152
153
  var _useState = _sliced_to_array(useState(getCodeValue(codeLength, '')), 2), innerValue = _useState[0], setInnerValue = _useState[1];
153
- var code = (outerValue === null || outerValue === void 0 ? void 0 : outerValue.length) ? getCodeValue(codeLength, outerValue) : innerValue;
154
+ var code = typeof outerValue === 'string' ? getCodeValue(codeLength, outerValue) : innerValue;
154
155
  var _useState1 = _sliced_to_array(useState(code.join('')), 2), originalValue = _useState1[0], setOriginalValue = _useState1[1];
155
- var _useState2 = _sliced_to_array(useState(null), 2), otpVal = _useState2[0], setOtpVal = _useState2[1];
156
+ // const [otpVal, setOtpVal] = useState<Credential | null>(null);
156
157
  var inputRefs = useRef([]);
157
158
  var inputContainerRef = useRef(null);
158
159
  var captionRef = useRef(null);
160
+ var autocompleteRef = useRef(null);
159
161
  var fieldPattern = getFieldPattern(allowedSymbols);
160
162
  var placeholderValue = getPlaceholderValue(codeLength, placeholder);
161
163
  var parts = codeLength === 6 ? 2 : 1;
@@ -171,25 +173,25 @@ export var codeFieldRoot = function(Root) {
171
173
  return lastEmptyIndex >= 0 ? lastEmptyIndex : codeLength - 1;
172
174
  };
173
175
  var codeSetter = function(newCode) {
174
- setInnerValue(newCode);
175
176
  var originalCode = newCode.join('');
177
+ setInnerValue(getCodeValue(codeLength, originalCode));
176
178
  setOriginalValue(originalCode);
177
179
  if (onChange) {
178
180
  onChange(originalCode);
179
181
  }
180
- if (originalCode.length > 0) {
181
- stopWebOTPListener();
182
- }
182
+ // if (originalCode.length > 0) {
183
+ // stopWebOTPListener();
184
+ // }
183
185
  };
184
- var _useWebOTP = useWebOTP({
185
- codeString: originalValue,
186
- enableSMSAutoRead: autoComplete === 'one-time-code',
187
- disabled: Boolean(disabled),
188
- codeLength: codeLength,
189
- codeSetter: codeSetter,
190
- onFullCodeEnter: onFullCodeEnter,
191
- setOtpVal: setOtpVal
192
- }), startWebOTPListener = _useWebOTP.startWebOTPListener, stopWebOTPListener = _useWebOTP.stopWebOTPListener;
186
+ // const { startWebOTPListener, stopWebOTPListener } = useWebOTP({
187
+ // codeString: originalValue,
188
+ // enableSMSAutoRead: autoComplete === 'one-time-code',
189
+ // disabled: Boolean(disabled),
190
+ // codeLength,
191
+ // codeSetter,
192
+ // onFullCodeEnter,
193
+ // setOtpVal,
194
+ // });
193
195
  var handleClick = function() {
194
196
  if (disabled) {
195
197
  return;
@@ -247,6 +249,9 @@ export var codeFieldRoot = function(Root) {
247
249
  setIsError(false);
248
250
  }
249
251
  }
252
+ if (!symbol) {
253
+ return;
254
+ }
250
255
  if (!fieldPattern) {
251
256
  newCode[index] = symbol;
252
257
  codeSetter(newCode);
@@ -256,9 +261,6 @@ export var codeFieldRoot = function(Root) {
256
261
  }
257
262
  return;
258
263
  }
259
- if (!symbol) {
260
- return;
261
- }
262
264
  if (fieldPattern.test(symbol)) {
263
265
  newCode[index] = symbol.charAt(symbol.length - 1);
264
266
  codeSetter(newCode);
@@ -303,7 +305,7 @@ export var codeFieldRoot = function(Root) {
303
305
  if (onFullCodeEnter) {
304
306
  onFullCodeEnter(fullCode);
305
307
  }
306
- startWebOTPListener();
308
+ // startWebOTPListener();
307
309
  }, []);
308
310
  useCodeHook({
309
311
  inputRefs: inputRefs,
@@ -330,6 +332,16 @@ export var codeFieldRoot = function(Root) {
330
332
  }, [
331
333
  isError
332
334
  ]);
335
+ useEffect(function() {
336
+ if (disabled || !autocompleteRef.current) {
337
+ return;
338
+ }
339
+ var autocompleteCode = autocompleteRef.current.value.split('');
340
+ codeSetter(autocompleteCode);
341
+ }, [
342
+ (_autocompleteRef_current = autocompleteRef.current) === null || _autocompleteRef_current === void 0 ? void 0 : _autocompleteRef_current.value,
343
+ disabled
344
+ ]);
333
345
  return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(Root, _object_spread({
334
346
  ref: ref,
335
347
  view: view,
@@ -372,9 +384,10 @@ export var codeFieldRoot = function(Root) {
372
384
  captionAlign: captionAlign,
373
385
  widthValue: widthValue
374
386
  }, caption), isWebOTPEnabled && /*#__PURE__*/ React.createElement(HiddenInput, _object_spread({
387
+ ref: autocompleteRef,
375
388
  autoComplete: autoComplete,
376
389
  tabIndex: -1
377
- }, rest))), /*#__PURE__*/ React.createElement("div", null, JSON.stringify(otpVal)));
390
+ }, rest))));
378
391
  });
379
392
  };
380
393
  export var codeFieldConfig = {
@@ -1,7 +0,0 @@
1
- import { component, mergeConfig } from "../../../engines";
2
- import { comboboxNewConfig } from "../../..";
3
- import { config } from "./Combobox.config";
4
- var mergedConfig = mergeConfig(comboboxNewConfig, config);
5
- var ComboboxComponent = component(mergedConfig);
6
- var Combobox = ComboboxComponent;
7
- export { Combobox };
@@ -1 +1 @@
1
- {"version":3,"file":"CodeField.d.ts","sourceRoot":"","sources":["../../../src/components/CodeField/CodeField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8D,MAAM,OAAO,CAAC;AAGnF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAkBxD,eAAO,MAAM,aAAa,SAAU,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;;;;;;;;;;;;;;;;;;;sLAyTxE,CAAC;AAEN,eAAO,MAAM,eAAe;;;mBA3TQ,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoV5E,CAAC"}
1
+ {"version":3,"file":"CodeField.d.ts","sourceRoot":"","sources":["../../../src/components/CodeField/CodeField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyE,MAAM,OAAO,CAAC;AAG9F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAkBxD,eAAO,MAAM,aAAa,SAAU,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;;;;;;;;;;;;;;;;;;;sLAsUxE,CAAC;AAEN,eAAO,MAAM,eAAe;;;mBAxUQ,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiW5E,CAAC"}