@salutejs/plasma-new-hope 0.336.0-canary.2210.17491654160.0 → 0.336.0-canary.2210.17550717632.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.
@@ -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";
@@ -149,13 +149,14 @@ 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
156
  var inputRefs = useRef([]);
157
157
  var inputContainerRef = useRef(null);
158
158
  var captionRef = useRef(null);
159
+ var autocompleteRef = useRef(null);
159
160
  var fieldPattern = getFieldPattern(allowedSymbols);
160
161
  var placeholderValue = getPlaceholderValue(codeLength, placeholder);
161
162
  var parts = codeLength === 6 ? 2 : 1;
@@ -171,25 +172,21 @@ export var codeFieldRoot = function(Root) {
171
172
  return lastEmptyIndex >= 0 ? lastEmptyIndex : codeLength - 1;
172
173
  };
173
174
  var codeSetter = function(newCode) {
174
- setInnerValue(newCode);
175
175
  var originalCode = newCode.join('');
176
+ setInnerValue(getCodeValue(codeLength, originalCode));
176
177
  setOriginalValue(originalCode);
177
178
  if (onChange) {
178
179
  onChange(originalCode);
179
180
  }
180
- if (originalCode.length > 0) {
181
- stopWebOTPListener();
182
- }
183
181
  };
184
- var _useWebOTP = useWebOTP({
182
+ useWebOTP({
185
183
  codeString: originalValue,
186
184
  enableSMSAutoRead: autoComplete === 'one-time-code',
187
185
  disabled: Boolean(disabled),
188
186
  codeLength: codeLength,
189
187
  codeSetter: codeSetter,
190
- onFullCodeEnter: onFullCodeEnter,
191
- setOtpVal: setOtpVal
192
- }), startWebOTPListener = _useWebOTP.startWebOTPListener, stopWebOTPListener = _useWebOTP.stopWebOTPListener;
188
+ onFullCodeEnter: onFullCodeEnter
189
+ });
193
190
  var handleClick = function() {
194
191
  if (disabled) {
195
192
  return;
@@ -247,6 +244,9 @@ export var codeFieldRoot = function(Root) {
247
244
  setIsError(false);
248
245
  }
249
246
  }
247
+ if (!symbol) {
248
+ return;
249
+ }
250
250
  if (!fieldPattern) {
251
251
  newCode[index] = symbol;
252
252
  codeSetter(newCode);
@@ -256,9 +256,6 @@ export var codeFieldRoot = function(Root) {
256
256
  }
257
257
  return;
258
258
  }
259
- if (!symbol) {
260
- return;
261
- }
262
259
  if (fieldPattern.test(symbol)) {
263
260
  newCode[index] = symbol.charAt(symbol.length - 1);
264
261
  codeSetter(newCode);
@@ -303,7 +300,6 @@ export var codeFieldRoot = function(Root) {
303
300
  if (onFullCodeEnter) {
304
301
  onFullCodeEnter(fullCode);
305
302
  }
306
- startWebOTPListener();
307
303
  }, []);
308
304
  useCodeHook({
309
305
  inputRefs: inputRefs,
@@ -330,6 +326,16 @@ export var codeFieldRoot = function(Root) {
330
326
  }, [
331
327
  isError
332
328
  ]);
329
+ useEffect(function() {
330
+ if (disabled || !autocompleteRef.current) {
331
+ return;
332
+ }
333
+ var autocompleteCode = autocompleteRef.current.value.split('');
334
+ codeSetter(autocompleteCode);
335
+ }, [
336
+ (_autocompleteRef_current = autocompleteRef.current) === null || _autocompleteRef_current === void 0 ? void 0 : _autocompleteRef_current.value,
337
+ disabled
338
+ ]);
333
339
  return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(Root, _object_spread({
334
340
  ref: ref,
335
341
  view: view,
@@ -372,9 +378,10 @@ export var codeFieldRoot = function(Root) {
372
378
  captionAlign: captionAlign,
373
379
  widthValue: widthValue
374
380
  }, caption), isWebOTPEnabled && /*#__PURE__*/ React.createElement(HiddenInput, _object_spread({
381
+ ref: autocompleteRef,
375
382
  autoComplete: autoComplete,
376
383
  tabIndex: -1
377
- }, rest))), /*#__PURE__*/ React.createElement("div", null, JSON.stringify(otpVal)));
384
+ }, rest))));
378
385
  });
379
386
  };
380
387
  export var codeFieldConfig = {
@@ -127,12 +127,11 @@ function _ts_generator(thisArg, body) {
127
127
  }
128
128
  import { useCallback, useEffect, useRef } from "react";
129
129
  import { getCodeValue, isWebOTPSupported } from "../utils";
130
- // Type guard function to check if credential is OTPCredential
131
130
  var isOTPCredential = function(credential) {
132
131
  return credential !== null && 'code' in credential;
133
132
  };
134
133
  export var useWebOTP = function(param) {
135
- var codeString = param.codeString, enableSMSAutoRead = param.enableSMSAutoRead, disabled = param.disabled, codeLength = param.codeLength, codeSetter = param.codeSetter, onFullCodeEnter = param.onFullCodeEnter, setOtpVal = param.setOtpVal;
134
+ var codeString = param.codeString, enableSMSAutoRead = param.enableSMSAutoRead, disabled = param.disabled, codeLength = param.codeLength, codeSetter = param.codeSetter, onFullCodeEnter = param.onFullCodeEnter;
136
135
  var abortControllerRef = useRef(null);
137
136
  var startWebOTPListener = useCallback(function() {
138
137
  return _async_to_generator(function() {
@@ -170,16 +169,11 @@ export var useWebOTP = function(param) {
170
169
  ];
171
170
  case 2:
172
171
  otp = _state.sent();
173
- console.log('otp received', otp);
174
- setOtpVal(otp);
175
- // Type guard to check if it's an OTP credential
176
172
  if (otp && isOTPCredential(otp) && otp.code) {
177
173
  otpCode = otp.code;
178
- // Validate the OTP code length matches our expected length
179
174
  if (otpCode.length === codeLength) {
180
175
  newCode = getCodeValue(codeLength, otpCode);
181
176
  codeSetter(newCode);
182
- // Trigger full code enter callback
183
177
  if (onFullCodeEnter) {
184
178
  onFullCodeEnter(otpCode);
185
179
  }
@@ -239,8 +233,4 @@ export var useWebOTP = function(param) {
239
233
  startWebOTPListener,
240
234
  stopWebOTPListener
241
235
  ]);
242
- return {
243
- startWebOTPListener: startWebOTPListener,
244
- stopWebOTPListener: stopWebOTPListener
245
- };
246
236
  };
@@ -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';
@@ -21,6 +21,7 @@ var _Separator;
21
21
  var _excluded = ["className", "value", "placeholder", "autoFocus", "codeLength", "caption", "captionAlign", "width", "shape", "view", "size", "disabled", "isError", "allowedSymbols", "itemErrorBehavior", "codeErrorBehavior", "autoComplete", "setIsError", "onChange", "onFullCodeEnter"];
22
22
  var codeFieldRoot = function codeFieldRoot(Root) {
23
23
  return /*#__PURE__*/forwardRef(function (_ref, ref) {
24
+ var _autocompleteRef$curr;
24
25
  var className = _ref.className,
25
26
  outerValue = _ref.value,
26
27
  placeholder = _ref.placeholder,
@@ -53,18 +54,15 @@ var codeFieldRoot = function codeFieldRoot(Root) {
53
54
  _useState2 = _slicedToArray(_useState, 2),
54
55
  innerValue = _useState2[0],
55
56
  setInnerValue = _useState2[1];
56
- var code = outerValue !== null && outerValue !== void 0 && outerValue.length ? getCodeValue(codeLength, outerValue) : innerValue;
57
+ var code = typeof outerValue === 'string' ? getCodeValue(codeLength, outerValue) : innerValue;
57
58
  var _useState3 = useState(code.join('')),
58
59
  _useState4 = _slicedToArray(_useState3, 2),
59
60
  originalValue = _useState4[0],
60
61
  setOriginalValue = _useState4[1];
61
- var _useState5 = useState(null),
62
- _useState6 = _slicedToArray(_useState5, 2),
63
- otpVal = _useState6[0],
64
- setOtpVal = _useState6[1];
65
62
  var inputRefs = useRef([]);
66
63
  var inputContainerRef = useRef(null);
67
64
  var captionRef = useRef(null);
65
+ var autocompleteRef = useRef(null);
68
66
  var fieldPattern = getFieldPattern(allowedSymbols);
69
67
  var placeholderValue = getPlaceholderValue(codeLength, placeholder);
70
68
  var parts = codeLength === 6 ? 2 : 1;
@@ -80,27 +78,21 @@ var codeFieldRoot = function codeFieldRoot(Root) {
80
78
  return lastEmptyIndex >= 0 ? lastEmptyIndex : codeLength - 1;
81
79
  };
82
80
  var codeSetter = function codeSetter(newCode) {
83
- setInnerValue(newCode);
84
81
  var originalCode = newCode.join('');
82
+ setInnerValue(getCodeValue(codeLength, originalCode));
85
83
  setOriginalValue(originalCode);
86
84
  if (onChange) {
87
85
  onChange(originalCode);
88
86
  }
89
- if (originalCode.length > 0) {
90
- stopWebOTPListener();
91
- }
92
87
  };
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;
88
+ useWebOTP({
89
+ codeString: originalValue,
90
+ enableSMSAutoRead: autoComplete === 'one-time-code',
91
+ disabled: Boolean(disabled),
92
+ codeLength: codeLength,
93
+ codeSetter: codeSetter,
94
+ onFullCodeEnter: onFullCodeEnter
95
+ });
104
96
  var handleClick = function handleClick() {
105
97
  if (disabled) {
106
98
  return;
@@ -158,6 +150,9 @@ var codeFieldRoot = function codeFieldRoot(Root) {
158
150
  setIsError(false);
159
151
  }
160
152
  }
153
+ if (!symbol) {
154
+ return;
155
+ }
161
156
  if (!fieldPattern) {
162
157
  newCode[index] = symbol;
163
158
  codeSetter(newCode);
@@ -167,9 +162,6 @@ var codeFieldRoot = function codeFieldRoot(Root) {
167
162
  }
168
163
  return;
169
164
  }
170
- if (!symbol) {
171
- return;
172
- }
173
165
  if (fieldPattern.test(symbol)) {
174
166
  newCode[index] = symbol.charAt(symbol.length - 1);
175
167
  codeSetter(newCode);
@@ -214,7 +206,6 @@ var codeFieldRoot = function codeFieldRoot(Root) {
214
206
  if (onFullCodeEnter) {
215
207
  onFullCodeEnter(fullCode);
216
208
  }
217
- startWebOTPListener();
218
209
  }, []);
219
210
  useCodeHook({
220
211
  inputRefs: inputRefs,
@@ -239,6 +230,13 @@ var codeFieldRoot = function codeFieldRoot(Root) {
239
230
  });
240
231
  }
241
232
  }, [isError]);
233
+ useEffect(function () {
234
+ if (disabled || !autocompleteRef.current) {
235
+ return;
236
+ }
237
+ var autocompleteCode = autocompleteRef.current.value.split('');
238
+ codeSetter(autocompleteCode);
239
+ }, [(_autocompleteRef$curr = autocompleteRef.current) === null || _autocompleteRef$curr === void 0 ? void 0 : _autocompleteRef$curr.value, disabled]);
242
240
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Root, _extends({
243
241
  ref: ref,
244
242
  view: view,
@@ -280,9 +278,10 @@ var codeFieldRoot = function codeFieldRoot(Root) {
280
278
  captionAlign: captionAlign,
281
279
  widthValue: widthValue
282
280
  }, caption), isWebOTPEnabled && /*#__PURE__*/React.createElement(HiddenInput, _extends({
281
+ ref: autocompleteRef,
283
282
  autoComplete: autoComplete,
284
283
  tabIndex: -1
285
- }, rest))), /*#__PURE__*/React.createElement("div", null, JSON.stringify(otpVal)));
284
+ }, rest))));
286
285
  });
287
286
  };
288
287
  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';\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 = typeof outerValue === 'string' ? getCodeValue(codeLength, outerValue) : innerValue;\n\n const [originalValue, setOriginalValue] = useState<string>(code.join(''));\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\n useWebOTP({\n codeString: originalValue,\n enableSMSAutoRead: autoComplete === 'one-time-code',\n disabled: Boolean(disabled),\n codeLength,\n codeSetter,\n onFullCodeEnter,\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\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 </>\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","useWebOTP","codeString","enableSMSAutoRead","Boolean","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","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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"}
@@ -3,7 +3,6 @@ import { useRef, useCallback, useEffect } from 'react';
3
3
  import { isWebOTPSupported } from '../utils/isWebOTPSupported.js';
4
4
  import { getCodeValue } from '../utils/initialValuesHelper.js';
5
5
 
6
- // Type guard function to check if credential is OTPCredential
7
6
  var isOTPCredential = function isOTPCredential(credential) {
8
7
  return credential !== null && 'code' in credential;
9
8
  };
@@ -13,8 +12,7 @@ var useWebOTP = function useWebOTP(_ref) {
13
12
  disabled = _ref.disabled,
14
13
  codeLength = _ref.codeLength,
15
14
  codeSetter = _ref.codeSetter,
16
- onFullCodeEnter = _ref.onFullCodeEnter,
17
- setOtpVal = _ref.setOtpVal;
15
+ onFullCodeEnter = _ref.onFullCodeEnter;
18
16
  var abortControllerRef = useRef(null);
19
17
  var startWebOTPListener = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
20
18
  var otp, otpCode, newCode;
@@ -41,26 +39,20 @@ var useWebOTP = function useWebOTP(_ref) {
41
39
  });
42
40
  case 7:
43
41
  otp = _context.sent;
44
- console.log('otp received', otp);
45
- setOtpVal(otp);
46
-
47
- // Type guard to check if it's an OTP credential
48
42
  if (otp && isOTPCredential(otp) && otp.code) {
49
- otpCode = otp.code; // Validate the OTP code length matches our expected length
43
+ otpCode = otp.code;
50
44
  if (otpCode.length === codeLength) {
51
45
  newCode = getCodeValue(codeLength, otpCode);
52
46
  codeSetter(newCode);
53
-
54
- // Trigger full code enter callback
55
47
  if (onFullCodeEnter) {
56
48
  onFullCodeEnter(otpCode);
57
49
  }
58
50
  }
59
51
  }
60
- _context.next = 16;
52
+ _context.next = 14;
61
53
  break;
62
- case 13:
63
- _context.prev = 13;
54
+ case 11:
55
+ _context.prev = 11;
64
56
  _context.t0 = _context["catch"](4);
65
57
  if (_context.t0 instanceof DOMException) {
66
58
  if (_context.t0.name !== 'AbortError' && _context.t0.name !== 'NotAllowedError') {
@@ -71,11 +63,11 @@ var useWebOTP = function useWebOTP(_ref) {
71
63
  } else {
72
64
  console.warn('Unknown Web OTP API error:', _context.t0);
73
65
  }
74
- case 16:
66
+ case 14:
75
67
  case "end":
76
68
  return _context.stop();
77
69
  }
78
- }, _callee, null, [[4, 13]]);
70
+ }, _callee, null, [[4, 11]]);
79
71
  })), [enableSMSAutoRead, disabled, codeLength, onFullCodeEnter]);
80
72
  var stopWebOTPListener = useCallback(function () {
81
73
  if (abortControllerRef.current) {
@@ -93,10 +85,6 @@ var useWebOTP = function useWebOTP(_ref) {
93
85
  stopWebOTPListener();
94
86
  };
95
87
  }, [codeString, enableSMSAutoRead, disabled, startWebOTPListener, stopWebOTPListener]);
96
- return {
97
- startWebOTPListener: startWebOTPListener,
98
- stopWebOTPListener: stopWebOTPListener
99
- };
100
88
  };
101
89
 
102
90
  export { useWebOTP };
@@ -1 +1 @@
1
- {"version":3,"file":"useWebOTP.js","sources":["../../../../src/components/CodeField/hooks/useWebOTP.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { getCodeValue, isWebOTPSupported } from '../utils';\n\ntype UseWebOTPProps = {\n codeString: string;\n enableSMSAutoRead: boolean;\n disabled: boolean;\n codeLength: number;\n codeSetter: (newCode: Array<string>) => void;\n onFullCodeEnter?: (code: string) => void;\n setOtpVal: React.Dispatch<React.SetStateAction<Credential | null>>;\n};\n\ntype OTPTransport = 'sms';\n\ninterface OTPCredential extends Credential {\n code: string;\n}\n\ndeclare global {\n interface CredentialRequestOptions {\n otp?: {\n transport: OTPTransport[];\n };\n signal?: AbortSignal;\n }\n}\n\n// Type guard function to check if credential is OTPCredential\nconst isOTPCredential = (credential: Credential | null): credential is OTPCredential => {\n return credential !== null && 'code' in credential;\n};\n\nexport const useWebOTP = ({\n codeString,\n enableSMSAutoRead,\n disabled,\n codeLength,\n codeSetter,\n onFullCodeEnter,\n setOtpVal,\n}: UseWebOTPProps) => {\n const abortControllerRef = useRef<AbortController | null>(null);\n\n const startWebOTPListener = useCallback(async () => {\n if (!enableSMSAutoRead || disabled || !isWebOTPSupported()) {\n return;\n }\n\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n }\n\n abortControllerRef.current = new AbortController();\n\n try {\n const otp = await navigator.credentials.get({\n otp: { transport: ['sms'] as OTPTransport[] },\n signal: abortControllerRef.current.signal,\n });\n\n console.log('otp received', otp);\n\n setOtpVal(otp);\n\n // Type guard to check if it's an OTP credential\n if (otp && isOTPCredential(otp) && otp.code) {\n const otpCode = otp.code;\n\n // Validate the OTP code length matches our expected length\n if (otpCode.length === codeLength) {\n const newCode = getCodeValue(codeLength, otpCode);\n codeSetter(newCode);\n\n // Trigger full code enter callback\n if (onFullCodeEnter) {\n onFullCodeEnter(otpCode);\n }\n }\n }\n } catch (err) {\n if (err instanceof DOMException) {\n if (err.name !== 'AbortError' && err.name !== 'NotAllowedError') {\n console.warn('Web OTP API error:', err);\n }\n } else if (err instanceof Error) {\n console.warn('Web OTP API error:', err);\n } else {\n console.warn('Unknown Web OTP API error:', err);\n }\n }\n }, [enableSMSAutoRead, disabled, codeLength, onFullCodeEnter]);\n\n const stopWebOTPListener = useCallback(() => {\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n abortControllerRef.current = null;\n }\n }, []);\n\n useEffect(() => {\n if (isWebOTPSupported() && codeString === '' && enableSMSAutoRead && !disabled) {\n startWebOTPListener();\n } else {\n stopWebOTPListener();\n }\n\n return () => {\n stopWebOTPListener();\n };\n }, [codeString, enableSMSAutoRead, disabled, startWebOTPListener, stopWebOTPListener]);\n\n return { startWebOTPListener, stopWebOTPListener };\n};\n"],"names":["isOTPCredential","credential","useWebOTP","_ref","codeString","enableSMSAutoRead","disabled","codeLength","codeSetter","onFullCodeEnter","setOtpVal","abortControllerRef","useRef","startWebOTPListener","useCallback","_asyncToGenerator","_regeneratorRuntime","mark","_callee","otp","otpCode","newCode","wrap","_callee$","_context","prev","next","isWebOTPSupported","abrupt","current","abort","AbortController","navigator","credentials","get","transport","signal","sent","console","log","code","length","getCodeValue","t0","DOMException","name","warn","Error","stop","stopWebOTPListener","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"useWebOTP.js","sources":["../../../../src/components/CodeField/hooks/useWebOTP.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { getCodeValue, isWebOTPSupported } from '../utils';\n\ntype UseWebOTPProps = {\n codeString: string;\n enableSMSAutoRead: boolean;\n disabled: boolean;\n codeLength: number;\n codeSetter: (newCode: Array<string>) => void;\n onFullCodeEnter?: (code: string) => void;\n};\n\ntype OTPTransport = 'sms';\n\ninterface OTPCredential extends Credential {\n code: string;\n}\n\ndeclare global {\n interface CredentialRequestOptions {\n otp?: {\n transport: OTPTransport[];\n };\n signal?: AbortSignal;\n }\n}\n\nconst isOTPCredential = (credential: Credential | null): credential is OTPCredential => {\n return credential !== null && 'code' in credential;\n};\n\nexport const useWebOTP = ({\n codeString,\n enableSMSAutoRead,\n disabled,\n codeLength,\n codeSetter,\n onFullCodeEnter,\n}: UseWebOTPProps) => {\n const abortControllerRef = useRef<AbortController | null>(null);\n\n const startWebOTPListener = useCallback(async () => {\n if (!enableSMSAutoRead || disabled || !isWebOTPSupported()) {\n return;\n }\n\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n }\n\n abortControllerRef.current = new AbortController();\n\n try {\n const otp = await navigator.credentials.get({\n otp: { transport: ['sms'] as OTPTransport[] },\n signal: abortControllerRef.current.signal,\n });\n\n if (otp && isOTPCredential(otp) && otp.code) {\n const otpCode = otp.code;\n\n if (otpCode.length === codeLength) {\n const newCode = getCodeValue(codeLength, otpCode);\n codeSetter(newCode);\n\n if (onFullCodeEnter) {\n onFullCodeEnter(otpCode);\n }\n }\n }\n } catch (err) {\n if (err instanceof DOMException) {\n if (err.name !== 'AbortError' && err.name !== 'NotAllowedError') {\n console.warn('Web OTP API error:', err);\n }\n } else if (err instanceof Error) {\n console.warn('Web OTP API error:', err);\n } else {\n console.warn('Unknown Web OTP API error:', err);\n }\n }\n }, [enableSMSAutoRead, disabled, codeLength, onFullCodeEnter]);\n\n const stopWebOTPListener = useCallback(() => {\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n abortControllerRef.current = null;\n }\n }, []);\n\n useEffect(() => {\n if (isWebOTPSupported() && codeString === '' && enableSMSAutoRead && !disabled) {\n startWebOTPListener();\n } else {\n stopWebOTPListener();\n }\n\n return () => {\n stopWebOTPListener();\n };\n }, [codeString, enableSMSAutoRead, disabled, startWebOTPListener, stopWebOTPListener]);\n};\n"],"names":["isOTPCredential","credential","useWebOTP","_ref","codeString","enableSMSAutoRead","disabled","codeLength","codeSetter","onFullCodeEnter","abortControllerRef","useRef","startWebOTPListener","useCallback","_asyncToGenerator","_regeneratorRuntime","mark","_callee","otp","otpCode","newCode","wrap","_callee$","_context","prev","next","isWebOTPSupported","abrupt","current","abort","AbortController","navigator","credentials","get","transport","signal","sent","code","length","getCodeValue","t0","DOMException","name","console","warn","Error","stop","stopWebOTPListener","useEffect"],"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.17550717632.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": "8a0e7f9f2a6ba0e6f731f49999833d445f411912"
141
141
  }