@salutejs/plasma-new-hope 0.336.0-canary.2208.17465207747.0 → 0.336.0-canary.2210.17487143389.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.
Files changed (81) hide show
  1. package/cjs/components/CodeField/CodeField.css +7 -6
  2. package/cjs/components/CodeField/CodeField.js +54 -23
  3. package/cjs/components/CodeField/CodeField.js.map +1 -1
  4. package/cjs/components/CodeField/CodeField.styles.js +7 -1
  5. package/cjs/components/CodeField/CodeField.styles.js.map +1 -1
  6. package/cjs/components/CodeField/{CodeField.styles_ebdpd0.css → CodeField.styles_14p25hi.css} +1 -0
  7. package/cjs/components/CodeField/hooks/useWebOTP.js +103 -0
  8. package/cjs/components/CodeField/hooks/useWebOTP.js.map +1 -0
  9. package/cjs/components/CodeField/utils/handleCodeError.js +2 -2
  10. package/cjs/components/CodeField/utils/handleCodeError.js.map +1 -1
  11. package/cjs/components/CodeField/utils/handleItemError.js +14 -4
  12. package/cjs/components/CodeField/utils/handleItemError.js.map +1 -1
  13. package/cjs/components/CodeField/utils/isWebOTPSupported.js +10 -0
  14. package/cjs/components/CodeField/utils/isWebOTPSupported.js.map +1 -0
  15. package/cjs/components/Drawer/hooks/useDrawer.js +0 -12
  16. package/cjs/components/Drawer/hooks/useDrawer.js.map +1 -1
  17. package/cjs/index.css +7 -6
  18. package/emotion/cjs/components/CodeField/CodeField.js +47 -19
  19. package/emotion/cjs/components/CodeField/CodeField.styles.js +18 -11
  20. package/emotion/cjs/components/CodeField/hooks/useWebOTP.js +254 -0
  21. package/emotion/cjs/components/CodeField/utils/handleCodeError.js +2 -2
  22. package/emotion/cjs/components/CodeField/utils/handleItemError.js +12 -3
  23. package/emotion/cjs/components/CodeField/utils/index.js +4 -0
  24. package/emotion/cjs/components/CodeField/utils/isWebOTPSupported.js +13 -0
  25. package/emotion/cjs/components/Drawer/hooks/useDrawer.js +0 -11
  26. package/emotion/es/components/CodeField/CodeField.js +49 -21
  27. package/emotion/es/components/CodeField/CodeField.styles.js +15 -11
  28. package/emotion/es/components/CodeField/hooks/useWebOTP.js +244 -0
  29. package/emotion/es/components/CodeField/utils/handleCodeError.js +2 -2
  30. package/emotion/es/components/CodeField/utils/handleItemError.js +12 -3
  31. package/emotion/es/components/CodeField/utils/index.js +1 -0
  32. package/emotion/es/components/CodeField/utils/isWebOTPSupported.js +3 -0
  33. package/emotion/es/components/Drawer/hooks/useDrawer.js +0 -11
  34. package/es/components/CodeField/CodeField.css +7 -6
  35. package/es/components/CodeField/CodeField.js +56 -25
  36. package/es/components/CodeField/CodeField.js.map +1 -1
  37. package/es/components/CodeField/CodeField.styles.js +7 -2
  38. package/es/components/CodeField/CodeField.styles.js.map +1 -1
  39. package/es/components/CodeField/{CodeField.styles_ebdpd0.css → CodeField.styles_14p25hi.css} +1 -0
  40. package/es/components/CodeField/hooks/useWebOTP.js +99 -0
  41. package/es/components/CodeField/hooks/useWebOTP.js.map +1 -0
  42. package/es/components/CodeField/utils/handleCodeError.js +2 -2
  43. package/es/components/CodeField/utils/handleCodeError.js.map +1 -1
  44. package/es/components/CodeField/utils/handleItemError.js +14 -4
  45. package/es/components/CodeField/utils/handleItemError.js.map +1 -1
  46. package/es/components/CodeField/utils/isWebOTPSupported.js +6 -0
  47. package/es/components/CodeField/utils/isWebOTPSupported.js.map +1 -0
  48. package/es/components/Drawer/hooks/useDrawer.js +0 -12
  49. package/es/components/Drawer/hooks/useDrawer.js.map +1 -1
  50. package/es/index.css +7 -6
  51. package/package.json +2 -2
  52. package/styled-components/cjs/components/CodeField/CodeField.js +47 -19
  53. package/styled-components/cjs/components/CodeField/CodeField.styles.js +14 -5
  54. package/styled-components/cjs/components/CodeField/hooks/useWebOTP.js +254 -0
  55. package/styled-components/cjs/components/CodeField/utils/handleCodeError.js +2 -2
  56. package/styled-components/cjs/components/CodeField/utils/handleItemError.js +12 -3
  57. package/styled-components/cjs/components/CodeField/utils/index.js +4 -0
  58. package/styled-components/cjs/components/CodeField/utils/isWebOTPSupported.js +13 -0
  59. package/styled-components/cjs/components/Drawer/hooks/useDrawer.js +0 -11
  60. package/styled-components/es/components/CodeField/CodeField.js +49 -21
  61. package/styled-components/es/components/CodeField/CodeField.styles.js +11 -5
  62. package/styled-components/es/components/CodeField/hooks/useWebOTP.js +244 -0
  63. package/styled-components/es/components/CodeField/utils/handleCodeError.js +2 -2
  64. package/styled-components/es/components/CodeField/utils/handleItemError.js +12 -3
  65. package/styled-components/es/components/CodeField/utils/index.js +1 -0
  66. package/styled-components/es/components/CodeField/utils/isWebOTPSupported.js +3 -0
  67. package/styled-components/es/components/Drawer/hooks/useDrawer.js +0 -11
  68. package/types/components/CodeField/CodeField.d.ts.map +1 -1
  69. package/types/components/CodeField/CodeField.styles.d.ts +1 -0
  70. package/types/components/CodeField/CodeField.styles.d.ts.map +1 -1
  71. package/types/components/CodeField/hooks/useWebOTP.d.ts +23 -0
  72. package/types/components/CodeField/hooks/useWebOTP.d.ts.map +1 -0
  73. package/types/components/CodeField/utils/handleCodeError.d.ts +2 -2
  74. package/types/components/CodeField/utils/handleCodeError.d.ts.map +1 -1
  75. package/types/components/CodeField/utils/handleItemError.d.ts +3 -2
  76. package/types/components/CodeField/utils/handleItemError.d.ts.map +1 -1
  77. package/types/components/CodeField/utils/index.d.ts +1 -0
  78. package/types/components/CodeField/utils/index.d.ts.map +1 -1
  79. package/types/components/CodeField/utils/isWebOTPSupported.d.ts +2 -0
  80. package/types/components/CodeField/utils/isWebOTPSupported.d.ts.map +1 -0
  81. package/types/components/Drawer/hooks/useDrawer.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"handleCodeError.js","sources":["../../../../src/components/CodeField/utils/handleCodeError.ts"],"sourcesContent":["import { Dispatch, MutableRefObject, SetStateAction } from 'react';\n\nimport type { CodeErrorBehavior } from '../CodeField.types';\nimport { classes } from '../CodeField.tokens';\n\nimport { ANIMATION_TIMEOUT } from './constants';\nimport { getCodeValue } from './initialValuesHelper';\n\ntype ValidateSymbolsArgs = {\n codeLength: number;\n codeErrorBehavior: CodeErrorBehavior;\n currentCode: Array<string>;\n inputContainerRef: MutableRefObject<HTMLDivElement | null>;\n inputRefs: MutableRefObject<Array<HTMLInputElement | null>>;\n captionRef: MutableRefObject<HTMLDivElement | null>;\n setCode: Dispatch<SetStateAction<Array<string>>>;\n codeSetter: (newCode: Array<string>) => void;\n};\n\nexport const handleCodeError = ({\n codeLength,\n codeErrorBehavior,\n currentCode,\n inputRefs,\n inputContainerRef,\n captionRef,\n setCode,\n codeSetter,\n}: ValidateSymbolsArgs) => {\n if (!inputContainerRef.current) {\n return;\n }\n\n switch (codeErrorBehavior) {\n case 'keep':\n inputContainerRef.current.classList.add(classes.codeError, classes.codeErrorAnimation);\n captionRef.current?.classList.add(classes.captionError);\n\n setTimeout(() => {\n const newCode = [...currentCode];\n\n newCode.pop();\n codeSetter(newCode);\n setCode(currentCode);\n\n inputContainerRef.current?.classList.remove(classes.codeErrorAnimation);\n\n setTimeout(() => {\n inputRefs.current[inputRefs.current.length - 1]?.setSelectionRange(0, 1);\n inputRefs.current[inputRefs.current.length - 1]?.focus();\n }, 0);\n }, ANIMATION_TIMEOUT);\n\n break;\n case 'remove-code':\n default:\n inputContainerRef.current.classList.add(\n classes.codeError,\n classes.codeErrorAnimation,\n classes.codeErrorFade,\n );\n captionRef.current?.classList.add(classes.captionError);\n\n setTimeout(() => {\n codeSetter(getCodeValue(codeLength, ''));\n\n inputRefs.current[0]?.focus();\n inputContainerRef.current?.classList.remove(\n classes.codeError,\n classes.codeErrorAnimation,\n classes.codeErrorFade,\n );\n }, ANIMATION_TIMEOUT);\n }\n};\n"],"names":["handleCodeError","_ref","_captionRef$current","_captionRef$current2","codeLength","codeErrorBehavior","currentCode","inputRefs","inputContainerRef","captionRef","setCode","codeSetter","current","classList","add","classes","codeError","codeErrorAnimation","captionError","setTimeout","_inputContainerRef$cu","newCode","_toConsumableArray","pop","remove","_inputRefs$current","_inputRefs$current2","length","setSelectionRange","focus","ANIMATION_TIMEOUT","codeErrorFade","_inputRefs$current$","_inputContainerRef$cu2","getCodeValue"],"mappings":"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"}
1
+ {"version":3,"file":"handleCodeError.js","sources":["../../../../src/components/CodeField/utils/handleCodeError.ts"],"sourcesContent":["import { Dispatch, MutableRefObject, SetStateAction } from 'react';\n\nimport type { CodeErrorBehavior } from '../CodeField.types';\nimport { classes } from '../CodeField.tokens';\n\nimport { ANIMATION_TIMEOUT } from './constants';\nimport { getCodeValue } from './initialValuesHelper';\n\ntype ValidateSymbolsArgs = {\n codeLength: number;\n codeErrorBehavior: CodeErrorBehavior;\n currentCode: Array<string>;\n inputContainerRef: MutableRefObject<HTMLDivElement | null>;\n inputRefs: MutableRefObject<Array<HTMLInputElement | null>>;\n captionRef: MutableRefObject<HTMLDivElement | null>;\n setInnerValue: Dispatch<SetStateAction<Array<string>>>;\n codeSetter: (newCode: Array<string>) => void;\n};\n\nexport const handleCodeError = ({\n codeLength,\n codeErrorBehavior,\n currentCode,\n inputRefs,\n inputContainerRef,\n captionRef,\n setInnerValue,\n codeSetter,\n}: ValidateSymbolsArgs) => {\n if (!inputContainerRef.current) {\n return;\n }\n\n switch (codeErrorBehavior) {\n case 'keep':\n inputContainerRef.current.classList.add(classes.codeError, classes.codeErrorAnimation);\n captionRef.current?.classList.add(classes.captionError);\n\n setTimeout(() => {\n const newCode = [...currentCode];\n\n newCode.pop();\n codeSetter(newCode);\n setInnerValue(currentCode);\n\n inputContainerRef.current?.classList.remove(classes.codeErrorAnimation);\n\n setTimeout(() => {\n inputRefs.current[inputRefs.current.length - 1]?.setSelectionRange(0, 1);\n inputRefs.current[inputRefs.current.length - 1]?.focus();\n }, 0);\n }, ANIMATION_TIMEOUT);\n\n break;\n case 'remove-code':\n default:\n inputContainerRef.current.classList.add(\n classes.codeError,\n classes.codeErrorAnimation,\n classes.codeErrorFade,\n );\n captionRef.current?.classList.add(classes.captionError);\n\n setTimeout(() => {\n codeSetter(getCodeValue(codeLength, ''));\n\n inputRefs.current[0]?.focus();\n inputContainerRef.current?.classList.remove(\n classes.codeError,\n classes.codeErrorAnimation,\n classes.codeErrorFade,\n );\n }, ANIMATION_TIMEOUT);\n }\n};\n"],"names":["handleCodeError","_ref","_captionRef$current","_captionRef$current2","codeLength","codeErrorBehavior","currentCode","inputRefs","inputContainerRef","captionRef","setInnerValue","codeSetter","current","classList","add","classes","codeError","codeErrorAnimation","captionError","setTimeout","_inputContainerRef$cu","newCode","_toConsumableArray","pop","remove","_inputRefs$current","_inputRefs$current2","length","setSelectionRange","focus","ANIMATION_TIMEOUT","codeErrorFade","_inputRefs$current$","_inputContainerRef$cu2","getCodeValue"],"mappings":"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"}
@@ -9,14 +9,18 @@ var handleItemError = function handleItemError(_ref) {
9
9
  index = _ref.index,
10
10
  newCode = _ref.newCode,
11
11
  inputRefs = _ref.inputRefs,
12
- setCode = _ref.setCode,
13
- codeSetter = _ref.codeSetter;
12
+ setInnerValue = _ref.setInnerValue,
13
+ codeSetter = _ref.codeSetter,
14
+ onChange = _ref.onChange;
14
15
  if (!inputRefs.current[index] || currentSymbol === ' ') {
15
16
  return;
16
17
  }
17
18
  switch (itemErrorBehavior) {
18
19
  case 'keep':
19
- setCode(newCode);
20
+ setInnerValue(newCode);
21
+ if (onChange) {
22
+ onChange(newCode.join(''));
23
+ }
20
24
  (_inputRefs$current$in = inputRefs.current[index]) === null || _inputRefs$current$in === void 0 || _inputRefs$current$in.classList.add(classes.itemError, classes.itemErrorAnimation);
21
25
  setTimeout(function () {
22
26
  var _inputRefs$current$in2;
@@ -30,10 +34,16 @@ var handleItemError = function handleItemError(_ref) {
30
34
  case 'forbid-enter':
31
35
  newCode[index] = '';
32
36
  codeSetter(newCode);
37
+ if (onChange) {
38
+ onChange(newCode.join(''));
39
+ }
33
40
  break;
34
41
  case 'remove-symbol':
35
42
  default:
36
- setCode(newCode);
43
+ setInnerValue(newCode);
44
+ if (onChange) {
45
+ onChange(newCode.join(''));
46
+ }
37
47
  (_inputRefs$current$in4 = inputRefs.current[index]) === null || _inputRefs$current$in4 === void 0 || _inputRefs$current$in4.classList.add(classes.itemError, classes.itemErrorFade, classes.itemErrorAnimation);
38
48
  setTimeout(function () {
39
49
  var _inputRefs$current$in5;
@@ -1 +1 @@
1
- {"version":3,"file":"handleItemError.js","sources":["../../../../src/components/CodeField/utils/handleItemError.ts"],"sourcesContent":["import { Dispatch, MutableRefObject, SetStateAction } from 'react';\n\nimport type { ItemErrorBehavior } from '../CodeField.types';\nimport { classes } from '../CodeField.tokens';\n\nimport { ANIMATION_TIMEOUT } from './constants';\n\ntype ValidateSymbolsArgs = {\n currentSymbol: string;\n itemErrorBehavior: ItemErrorBehavior;\n index: number;\n newCode: Array<string>;\n inputRefs: MutableRefObject<Array<HTMLInputElement | null>>;\n setCode: Dispatch<SetStateAction<Array<string>>>;\n codeSetter: (newCode: Array<string>) => void;\n};\n\nexport const handleItemError = ({\n currentSymbol,\n itemErrorBehavior,\n index,\n newCode,\n inputRefs,\n setCode,\n codeSetter,\n}: ValidateSymbolsArgs) => {\n if (!inputRefs.current[index] || currentSymbol === ' ') {\n return;\n }\n\n switch (itemErrorBehavior) {\n case 'keep':\n setCode(newCode);\n inputRefs.current[index]?.classList.add(classes.itemError, classes.itemErrorAnimation);\n\n setTimeout(() => {\n inputRefs.current[index]?.classList.remove(classes.itemErrorAnimation);\n\n setTimeout(() => inputRefs.current[index]?.setSelectionRange(0, 1), 0);\n }, ANIMATION_TIMEOUT);\n\n break;\n case 'forbid-enter':\n newCode[index] = '';\n codeSetter(newCode);\n\n break;\n case 'remove-symbol':\n default:\n setCode(newCode);\n inputRefs.current[index]?.classList.add(\n classes.itemError,\n classes.itemErrorFade,\n classes.itemErrorAnimation,\n );\n\n setTimeout(() => {\n const updatedCode = [...newCode];\n updatedCode[index] = '';\n\n codeSetter(updatedCode);\n\n inputRefs.current[index]?.classList.remove(\n classes.itemError,\n classes.itemErrorFade,\n classes.itemErrorAnimation,\n );\n }, ANIMATION_TIMEOUT);\n }\n};\n"],"names":["handleItemError","_ref","_inputRefs$current$in","_inputRefs$current$in4","currentSymbol","itemErrorBehavior","index","newCode","inputRefs","setCode","codeSetter","current","classList","add","classes","itemError","itemErrorAnimation","setTimeout","_inputRefs$current$in2","remove","_inputRefs$current$in3","setSelectionRange","ANIMATION_TIMEOUT","itemErrorFade","_inputRefs$current$in5","updatedCode","_toConsumableArray"],"mappings":"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"}
1
+ {"version":3,"file":"handleItemError.js","sources":["../../../../src/components/CodeField/utils/handleItemError.ts"],"sourcesContent":["import { Dispatch, MutableRefObject, SetStateAction } from 'react';\n\nimport type { ItemErrorBehavior } from '../CodeField.types';\nimport { classes } from '../CodeField.tokens';\n\nimport { ANIMATION_TIMEOUT } from './constants';\n\ntype ValidateSymbolsArgs = {\n currentSymbol: string;\n itemErrorBehavior: ItemErrorBehavior;\n index: number;\n newCode: Array<string>;\n inputRefs: MutableRefObject<Array<HTMLInputElement | null>>;\n setInnerValue: Dispatch<SetStateAction<Array<string>>>;\n codeSetter: (newCode: Array<string>) => void;\n onChange?: (value: string) => void;\n};\n\nexport const handleItemError = ({\n currentSymbol,\n itemErrorBehavior,\n index,\n newCode,\n inputRefs,\n setInnerValue,\n codeSetter,\n onChange,\n}: ValidateSymbolsArgs) => {\n if (!inputRefs.current[index] || currentSymbol === ' ') {\n return;\n }\n\n switch (itemErrorBehavior) {\n case 'keep':\n setInnerValue(newCode);\n if (onChange) {\n onChange(newCode.join(''));\n }\n\n inputRefs.current[index]?.classList.add(classes.itemError, classes.itemErrorAnimation);\n\n setTimeout(() => {\n inputRefs.current[index]?.classList.remove(classes.itemErrorAnimation);\n\n setTimeout(() => inputRefs.current[index]?.setSelectionRange(0, 1), 0);\n }, ANIMATION_TIMEOUT);\n\n break;\n case 'forbid-enter':\n newCode[index] = '';\n codeSetter(newCode);\n if (onChange) {\n onChange(newCode.join(''));\n }\n\n break;\n case 'remove-symbol':\n default:\n setInnerValue(newCode);\n if (onChange) {\n onChange(newCode.join(''));\n }\n\n inputRefs.current[index]?.classList.add(\n classes.itemError,\n classes.itemErrorFade,\n classes.itemErrorAnimation,\n );\n\n setTimeout(() => {\n const updatedCode = [...newCode];\n updatedCode[index] = '';\n\n codeSetter(updatedCode);\n\n inputRefs.current[index]?.classList.remove(\n classes.itemError,\n classes.itemErrorFade,\n classes.itemErrorAnimation,\n );\n }, ANIMATION_TIMEOUT);\n }\n};\n"],"names":["handleItemError","_ref","_inputRefs$current$in","_inputRefs$current$in4","currentSymbol","itemErrorBehavior","index","newCode","inputRefs","setInnerValue","codeSetter","onChange","current","join","classList","add","classes","itemError","itemErrorAnimation","setTimeout","_inputRefs$current$in2","remove","_inputRefs$current$in3","setSelectionRange","ANIMATION_TIMEOUT","itemErrorFade","_inputRefs$current$in5","updatedCode","_toConsumableArray"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ var isWebOTPSupported = function isWebOTPSupported() {
2
+ return typeof window !== 'undefined' && 'OTPCredential' in window && navigator.credentials && typeof navigator.credentials.get === 'function';
3
+ };
4
+
5
+ export { isWebOTPSupported };
6
+ //# sourceMappingURL=isWebOTPSupported.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isWebOTPSupported.js","sources":["../../../../src/components/CodeField/utils/isWebOTPSupported.ts"],"sourcesContent":["export const isWebOTPSupported = () => {\n return (\n typeof window !== 'undefined' &&\n 'OTPCredential' in window &&\n navigator.credentials &&\n typeof navigator.credentials.get === 'function'\n );\n};\n"],"names":["isWebOTPSupported","window","navigator","credentials","get"],"mappings":"IAAaA,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAS;EACnC,OACI,OAAOC,MAAM,KAAK,WAAW,IAC7B,eAAe,IAAIA,MAAM,IACzBC,SAAS,CAACC,WAAW,IACrB,OAAOD,SAAS,CAACC,WAAW,CAACC,GAAG,KAAK,UAAU,CAAA;AAEvD;;;;"}
@@ -58,18 +58,6 @@ var useDrawer = function useDrawer(_ref) {
58
58
  document.body.style.overflow = overflow.current;
59
59
  }
60
60
  }, [isOpen, popupController.items]);
61
-
62
- // При анмаунте компонента нужно обновлять overflow у body.
63
- useEffect(function () {
64
- return function () {
65
- if (!canUseDOM) {
66
- return;
67
- }
68
- if (!hasDrawers(Array.from(popupController.items.values()))) {
69
- document.body.style.overflow = overflow.current;
70
- }
71
- };
72
- }, []);
73
61
  var drawerInfo = _objectSpread2({
74
62
  id: id,
75
63
  info: {
@@ -1 +1 @@
1
- {"version":3,"file":"useDrawer.js","sources":["../../../../src/components/Drawer/hooks/useDrawer.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { DrawerInfo, getIdLastDrawer, hasDrawers } from '../DrawerContext';\nimport { DrawerHookArgs } from '../Drawer.types';\nimport { usePopupContext } from '../../Popup';\nimport { canUseDOM } from '../../../utils';\n\nconst ESCAPE_KEYCODE = 27;\n\nexport const useDrawer = ({\n id,\n isOpen,\n popupInfo,\n onEscKeyDown,\n onClose,\n closeOnEsc = true,\n disableScroll = true,\n}: DrawerHookArgs) => {\n const popupController = usePopupContext();\n const overflow = useRef<string>(canUseDOM ? document.body.style.overflow : 'initial');\n\n // При ESC закрывает текущее окно, если это возможно\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (!closeOnEsc) {\n return;\n }\n if (\n event.keyCode === ESCAPE_KEYCODE &&\n getIdLastDrawer(Array.from(popupController.items.values())) === id\n ) {\n if (onEscKeyDown) {\n onEscKeyDown(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n }\n },\n [onClose, onEscKeyDown, popupController.items, closeOnEsc],\n );\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown);\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onKeyDown]);\n\n // linaria не поддерживает динамический global\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (isOpen && disableScroll) {\n overflow.current = document.body.style.overflow;\n\n document.body.style.overflow = 'hidden';\n }\n }, [isOpen, disableScroll]);\n\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (!isOpen && !hasDrawers(Array.from(popupController.items.values()))) {\n document.body.style.overflow = overflow.current;\n }\n }, [isOpen, popupController.items]);\n\n // При анмаунте компонента нужно обновлять overflow у body.\n useEffect(() => {\n return () => {\n if (!canUseDOM) {\n return;\n }\n\n if (!hasDrawers(Array.from(popupController.items.values()))) {\n document.body.style.overflow = overflow.current;\n }\n };\n }, []);\n\n const drawerInfo: DrawerInfo = {\n id,\n info: {\n isDrawer: true,\n },\n ...popupInfo,\n };\n\n return { drawerInfo };\n};\n"],"names":["ESCAPE_KEYCODE","useDrawer","_ref","id","isOpen","popupInfo","onEscKeyDown","onClose","_ref$closeOnEsc","closeOnEsc","_ref$disableScroll","disableScroll","popupController","usePopupContext","overflow","useRef","canUseDOM","document","body","style","onKeyDown","useCallback","event","keyCode","getIdLastDrawer","Array","from","items","values","useEffect","window","addEventListener","removeEventListener","current","hasDrawers","drawerInfo","_objectSpread","info","isDrawer"],"mappings":"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"}
1
+ {"version":3,"file":"useDrawer.js","sources":["../../../../src/components/Drawer/hooks/useDrawer.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { DrawerInfo, getIdLastDrawer, hasDrawers } from '../DrawerContext';\nimport { DrawerHookArgs } from '../Drawer.types';\nimport { usePopupContext } from '../../Popup';\nimport { canUseDOM } from '../../../utils';\n\nconst ESCAPE_KEYCODE = 27;\n\nexport const useDrawer = ({\n id,\n isOpen,\n popupInfo,\n onEscKeyDown,\n onClose,\n closeOnEsc = true,\n disableScroll = true,\n}: DrawerHookArgs) => {\n const popupController = usePopupContext();\n const overflow = useRef<string>(canUseDOM ? document.body.style.overflow : 'initial');\n\n // При ESC закрывает текущее окно, если это возможно\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (!closeOnEsc) {\n return;\n }\n if (\n event.keyCode === ESCAPE_KEYCODE &&\n getIdLastDrawer(Array.from(popupController.items.values())) === id\n ) {\n if (onEscKeyDown) {\n onEscKeyDown(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n }\n },\n [onClose, onEscKeyDown, popupController.items, closeOnEsc],\n );\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown);\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onKeyDown]);\n\n // linaria не поддерживает динамический global\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (isOpen && disableScroll) {\n overflow.current = document.body.style.overflow;\n\n document.body.style.overflow = 'hidden';\n }\n }, [isOpen, disableScroll]);\n\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (!isOpen && !hasDrawers(Array.from(popupController.items.values()))) {\n document.body.style.overflow = overflow.current;\n }\n }, [isOpen, popupController.items]);\n\n const drawerInfo: DrawerInfo = {\n id,\n info: {\n isDrawer: true,\n },\n ...popupInfo,\n };\n\n return { drawerInfo };\n};\n"],"names":["ESCAPE_KEYCODE","useDrawer","_ref","id","isOpen","popupInfo","onEscKeyDown","onClose","_ref$closeOnEsc","closeOnEsc","_ref$disableScroll","disableScroll","popupController","usePopupContext","overflow","useRef","canUseDOM","document","body","style","onKeyDown","useCallback","event","keyCode","getIdLastDrawer","Array","from","items","values","useEffect","window","addEventListener","removeEventListener","current","hasDrawers","drawerInfo","_objectSpread","info","isDrawer"],"mappings":"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"}
package/es/index.css CHANGED
@@ -1056,12 +1056,13 @@
1056
1056
 
1057
1057
  .base_vkh53h_b1vzcfqx__e0f9eeea.base_vkh53h_b1vzcfqx__e0f9eeea[disabled]{opacity:var(--plasma-codeinput-disabled-opacity);cursor:not-allowed;}.base_vkh53h_b1vzcfqx__e0f9eeea.base_vkh53h_b1vzcfqx__e0f9eeea[disabled] > *{pointer-events:none;}
1058
1058
 
1059
- .CodeField_styles_ebdpd0_b1xx9skx__3407b383{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:-webkit-min-content;width:-moz-min-content;width:min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.CodeField_styles_ebdpd0_b1xx9skx__3407b383.CodeField_styles_ebdpd0_codefieldCaptionAlignLeft__3407b383{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}
1060
- .CodeField_styles_ebdpd0_c1wzspax__3407b383{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
1061
- .CodeField_styles_ebdpd0_c7swj1z__3407b383{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
1062
- .CodeField_styles_ebdpd0_s13uxcg8__3407b383{width:var(--plasma-codefield-separator-width);}
1063
- .CodeField_styles_ebdpd0_ig5h1kg__3407b383{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;outline:none;pointer-events:none;text-align:center;}
1064
- .CodeField_styles_ebdpd0_c1jpzjak__3407b383{text-align:var(--c1jpzjak-0);-webkit-align-self:var(--c1jpzjak-0);-ms-flex-item-align:var(--c1jpzjak-0);align-self:var(--c1jpzjak-0);width:var(--c1jpzjak-1);white-space:pre-line;}
1059
+ .CodeField_styles_14p25hi_b1xx9skx__a0f2e82d{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:-webkit-min-content;width:-moz-min-content;width:min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.CodeField_styles_14p25hi_b1xx9skx__a0f2e82d.CodeField_styles_14p25hi_codefieldCaptionAlignLeft__a0f2e82d{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}
1060
+ .CodeField_styles_14p25hi_c1wzspax__a0f2e82d{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
1061
+ .CodeField_styles_14p25hi_c7swj1z__a0f2e82d{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
1062
+ .CodeField_styles_14p25hi_s13uxcg8__a0f2e82d{width:var(--plasma-codefield-separator-width);}
1063
+ .CodeField_styles_14p25hi_ig5h1kg__a0f2e82d{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;outline:none;pointer-events:none;text-align:center;}
1064
+ .CodeField_styles_14p25hi_c1jpzjak__a0f2e82d{text-align:var(--c1jpzjak-0);-webkit-align-self:var(--c1jpzjak-0);-ms-flex-item-align:var(--c1jpzjak-0);align-self:var(--c1jpzjak-0);width:var(--c1jpzjak-1);white-space:pre-line;}
1065
+ .CodeField_styles_14p25hi_h1x845wl__a0f2e82d{display:none;}
1065
1066
 
1066
1067
  .base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_c1jpzjak__e66aaab8{color:var(--plasma-codefield-caption-color);}.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_c1jpzjak__e66aaab8.base_9a5yza_codefieldCaptionError__e66aaab8{color:var(--plasma-codefield-caption-color-error);}.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_ig5h1kg__e66aaab8{color:var(--plasma-codefield-code-color);caret-color:var(--plasma-codefield-caret-color);background-color:var(--plasma-codefield-background-color);box-shadow:inset 0 0 0 var(--plasma-codefield-border-width) var(--plasma-codefield-border-color);}.base_9a5yza_b1g41h91__e66aaab8:hover .base_9a5yza_codefieldItemHoverEnabled__e66aaab8{background-color:var(--plasma-codefield-background-color-hover);box-shadow:inset 0 0 0 var(--plasma-codefield-border-width) var(--plasma-codefield-border-color-hover);}.base_9a5yza_b1g41h91__e66aaab8:focus-within .base_9a5yza_ig5h1kg__e66aaab8:focus-within{background-color:var(--plasma-codefield-background-color-focus);box-shadow:inset 0 0 0 var(--plasma-codefield-border-width) var(--plasma-codefield-border-color-focus);}.base_9a5yza_b1g41h91__e66aaab8.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_codefieldCodeErrorAnimation__e66aaab8{-webkit-animation:base_9a5yza_shakingErrorB1g41h91__e66aaab8 0.3s forwards;animation:base_9a5yza_shakingErrorB1g41h91__e66aaab8 0.3s forwards;}.base_9a5yza_b1g41h91__e66aaab8.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_codefieldCodeError__e66aaab8 .base_9a5yza_ig5h1kg__e66aaab8{color:var(--plasma-codefield-code-color-error);background-color:var(--plasma-codefield-background-error-color);box-shadow:inset 0 0 0 var(--plasma-codefield-border-width) var(--plasma-codefield-border-error-color);}.base_9a5yza_b1g41h91__e66aaab8.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_codefieldCodeError__e66aaab8:focus-within .base_9a5yza_ig5h1kg__e66aaab8{background-color:var(--plasma-codefield-background-error-color);box-shadow:inset 0 0 0 var(--plasma-codefield-border-width) var(--plasma-codefield-border-error-color);}.base_9a5yza_b1g41h91__e66aaab8.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_codefieldCodeError__e66aaab8.base_9a5yza_codefieldCodeErrorFade__e66aaab8 .base_9a5yza_ig5h1kg__e66aaab8{-webkit-animation:base_9a5yza_fadeErrorB1g41h91__e66aaab8 0.3s forwards;animation:base_9a5yza_fadeErrorB1g41h91__e66aaab8 0.3s forwards;}.base_9a5yza_b1g41h91__e66aaab8.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_codefieldItemErrorAnimation__e66aaab8{-webkit-animation:base_9a5yza_shakingErrorB1g41h91__e66aaab8 0.3s forwards;animation:base_9a5yza_shakingErrorB1g41h91__e66aaab8 0.3s forwards;}.base_9a5yza_b1g41h91__e66aaab8.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_codefieldItemError__e66aaab8,.base_9a5yza_b1g41h91__e66aaab8.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_codefieldItemError__e66aaab8:focus-within{color:var(--plasma-codefield-code-color-error);background-color:var(--plasma-codefield-background-error-color);box-shadow:inset 0 0 0 var(--plasma-codefield-border-width) var(--plasma-codefield-border-error-color);}.base_9a5yza_b1g41h91__e66aaab8.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_codefieldItemError__e66aaab8.base_9a5yza_codefieldCodeErrorFade__e66aaab8,.base_9a5yza_b1g41h91__e66aaab8.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_codefieldItemError__e66aaab8:focus-within.base_9a5yza_codefieldCodeErrorFade__e66aaab8{-webkit-animation:base_9a5yza_shakingErrorB1g41h91__e66aaab8 0.3s forwards :local(fadeError-b1g41h91) 0.3s :local(forwards);animation:base_9a5yza_shakingErrorB1g41h91__e66aaab8 0.3s forwards :local(fadeError-b1g41h91) 0.3s :local(forwards);}@-webkit-keyframes base_9a5yza_shakingErrorB1g41h91__e66aaab8{14%{-webkit-transform:translateX(-0.125rem);-ms-transform:translateX(-0.125rem);transform:translateX(-0.125rem);}28%{-webkit-transform:translateX(0.125rem);-ms-transform:translateX(0.125rem);transform:translateX(0.125rem);}42%{-webkit-transform:translateX(-0.125rem);-ms-transform:translateX(-0.125rem);transform:translateX(-0.125rem);}57%{-webkit-transform:translateX(0.125rem);-ms-transform:translateX(0.125rem);transform:translateX(0.125rem);}71%{-webkit-transform:translateX(-0.125rem);-ms-transform:translateX(-0.125rem);transform:translateX(-0.125rem);}85%{-webkit-transform:translateX(0.125rem);-ms-transform:translateX(0.125rem);transform:translateX(0.125rem);}100%{-webkit-transform:translateX(-0.125rem);-ms-transform:translateX(-0.125rem);transform:translateX(-0.125rem);}}@keyframes base_9a5yza_shakingErrorB1g41h91__e66aaab8{14%{-webkit-transform:translateX(-0.125rem);-ms-transform:translateX(-0.125rem);transform:translateX(-0.125rem);}28%{-webkit-transform:translateX(0.125rem);-ms-transform:translateX(0.125rem);transform:translateX(0.125rem);}42%{-webkit-transform:translateX(-0.125rem);-ms-transform:translateX(-0.125rem);transform:translateX(-0.125rem);}57%{-webkit-transform:translateX(0.125rem);-ms-transform:translateX(0.125rem);transform:translateX(0.125rem);}71%{-webkit-transform:translateX(-0.125rem);-ms-transform:translateX(-0.125rem);transform:translateX(-0.125rem);}85%{-webkit-transform:translateX(0.125rem);-ms-transform:translateX(0.125rem);transform:translateX(0.125rem);}100%{-webkit-transform:translateX(-0.125rem);-ms-transform:translateX(-0.125rem);transform:translateX(-0.125rem);}}@-webkit-keyframes base_9a5yza_fadeErrorB1g41h91__e66aaab8{50%{color:var(--plasma-codefield-code-color-error);}100%{color:transparent;}}@keyframes base_9a5yza_fadeErrorB1g41h91__e66aaab8{50%{color:var(--plasma-codefield-code-color-error);}100%{color:transparent;}}
1067
1068
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.336.0-canary.2208.17465207747.0",
3
+ "version": "0.336.0-canary.2210.17487143389.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": "92cc5e932323a5ab0c930d3988cd089dff1705ab"
140
+ "gitHead": "4dd9d5120a66fc5b18ff0acdeadbdcb3068248dc"
141
141
  }
@@ -29,6 +29,7 @@ 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");
32
33
  function _array_like_to_array(arr, len) {
33
34
  if (len == null || len > arr.length) len = arr.length;
34
35
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
@@ -212,7 +213,8 @@ var codeFieldRoot = function(Root) {
212
213
  "onChange",
213
214
  "onFullCodeEnter"
214
215
  ]);
215
- var _useState = _sliced_to_array((0, _react.useState)((0, _utils1.getCodeValue)(codeLength, outerValue || '')), 2), code = _useState[0], setCode = _useState[1];
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;
216
218
  var _useState1 = _sliced_to_array((0, _react.useState)(code.join('')), 2), originalValue = _useState1[0], setOriginalValue = _useState1[1];
217
219
  var inputRefs = (0, _react.useRef)([]);
218
220
  var inputContainerRef = (0, _react.useRef)(null);
@@ -221,6 +223,7 @@ var codeFieldRoot = function(Root) {
221
223
  var placeholderValue = (0, _utils1.getPlaceholderValue)(codeLength, placeholder);
222
224
  var parts = codeLength === 6 ? 2 : 1;
223
225
  var widthValue = width ? (0, _utils.getSizeValueFromProp)(width, 'rem') : undefined;
226
+ var isWebOTPEnabled = autoComplete === 'one-time-code' && !disabled && !(0, _utils1.isWebOTPSupported)();
224
227
  var getLastActiveIndex = function() {
225
228
  if (code.length && code.length < codeLength) {
226
229
  return code.length;
@@ -230,6 +233,25 @@ var codeFieldRoot = function(Root) {
230
233
  });
231
234
  return lastEmptyIndex >= 0 ? lastEmptyIndex : codeLength - 1;
232
235
  };
236
+ var codeSetter = function(newCode) {
237
+ setInnerValue(newCode);
238
+ var originalCode = newCode.join('');
239
+ setOriginalValue(originalCode);
240
+ if (onChange) {
241
+ onChange(originalCode);
242
+ }
243
+ if (originalCode.length > 0) {
244
+ stopWebOTPListener();
245
+ }
246
+ };
247
+ var _useWebOTP1 = (0, _useWebOTP.useWebOTP)({
248
+ codeString: originalValue,
249
+ enableSMSAutoRead: autoComplete === 'one-time-code',
250
+ disabled: Boolean(disabled),
251
+ codeLength: codeLength,
252
+ codeSetter: codeSetter,
253
+ onFullCodeEnter: onFullCodeEnter
254
+ }), startWebOTPListener = _useWebOTP1.startWebOTPListener, stopWebOTPListener = _useWebOTP1.stopWebOTPListener;
233
255
  var handleClick = function() {
234
256
  if (disabled) {
235
257
  return;
@@ -249,19 +271,24 @@ var codeFieldRoot = function(Root) {
249
271
  return;
250
272
  }
251
273
  if (key === _constants.BACKSPACE_KEY) {
252
- if (index > 0 && code[index] === '') {
253
- var _inputRefs_current_;
254
- (_inputRefs_current_ = inputRefs.current[index - 1]) === null || _inputRefs_current_ === void 0 ? void 0 : _inputRefs_current_.focus();
274
+ if (index > 0) {
275
+ var _inputRefs_current_index;
276
+ var newCode = _to_consumable_array(code);
277
+ newCode[index] = '';
278
+ if (index >= codeLength - 1 && code[index]) {
279
+ codeSetter(newCode);
280
+ return;
281
+ }
282
+ if (!code[index]) {
283
+ var _inputRefs_current_;
284
+ newCode[index - 1] = '';
285
+ (_inputRefs_current_ = inputRefs.current[index - 1]) === null || _inputRefs_current_ === void 0 ? void 0 : _inputRefs_current_.focus();
286
+ }
287
+ (_inputRefs_current_index = inputRefs.current[index]) === null || _inputRefs_current_index === void 0 ? void 0 : _inputRefs_current_index.classList.remove(_CodeFieldtokens.classes.itemError);
288
+ codeSetter(newCode);
255
289
  }
256
290
  }
257
291
  };
258
- var codeSetter = function(newCode) {
259
- setCode(newCode);
260
- setOriginalValue(newCode.join(''));
261
- if (onChange) {
262
- onChange(newCode.join(''));
263
- }
264
- };
265
292
  var handleChange = function(event, index) {
266
293
  var _inputRefs_current_index;
267
294
  if (disabled) {
@@ -292,8 +319,6 @@ var codeFieldRoot = function(Root) {
292
319
  return;
293
320
  }
294
321
  if (!symbol) {
295
- newCode[index] = '';
296
- codeSetter(newCode);
297
322
  return;
298
323
  }
299
324
  if (fieldPattern.test(symbol)) {
@@ -311,8 +336,9 @@ var codeFieldRoot = function(Root) {
311
336
  index: index,
312
337
  newCode: newCode,
313
338
  inputRefs: inputRefs,
314
- setCode: setCode,
315
- codeSetter: codeSetter
339
+ setInnerValue: setInnerValue,
340
+ codeSetter: codeSetter,
341
+ onChange: onChange
316
342
  });
317
343
  }
318
344
  };
@@ -339,6 +365,7 @@ var codeFieldRoot = function(Root) {
339
365
  if (onFullCodeEnter) {
340
366
  onFullCodeEnter(fullCode);
341
367
  }
368
+ startWebOTPListener();
342
369
  }, []);
343
370
  (0, _hooks1.useCodeHook)({
344
371
  inputRefs: inputRefs,
@@ -358,7 +385,7 @@ var codeFieldRoot = function(Root) {
358
385
  inputRefs: inputRefs,
359
386
  inputContainerRef: inputContainerRef,
360
387
  captionRef: captionRef,
361
- setCode: setCode,
388
+ setInnerValue: setInnerValue,
362
389
  codeSetter: codeSetter
363
390
  });
364
391
  }
@@ -373,7 +400,7 @@ var codeFieldRoot = function(Root) {
373
400
  disabled: disabled,
374
401
  onClick: handleClick,
375
402
  className: (0, _classnames.default)(className, _define_property({}, _CodeFieldtokens.classes.captionAlignLeft, captionAlign === 'left'))
376
- }, rest), /*#__PURE__*/ _react.default.createElement(_CodeFieldstyles.CodeWrapper, {
403
+ }, !isWebOTPEnabled && _object_spread({}, rest)), /*#__PURE__*/ _react.default.createElement(_CodeFieldstyles.CodeWrapper, {
377
404
  ref: inputContainerRef
378
405
  }, _to_consumable_array(Array(parts)).map(function(_, partIndex) {
379
406
  return /*#__PURE__*/ _react.default.createElement(_react.Fragment, {
@@ -390,7 +417,6 @@ var codeFieldRoot = function(Root) {
390
417
  },
391
418
  className: (0, _classnames.default)((_obj = {}, _define_property(_obj, _CodeFieldtokens.classes.segmented, shape === 'segmented'), _define_property(_obj, _CodeFieldtokens.classes.hoverEnabled, !disabled && inputCorrectIndex >= originalValue.length), _obj)),
392
419
  value: code[inputCorrectIndex] || '',
393
- autoComplete: autoComplete,
394
420
  onChange: function(e) {
395
421
  handleChange(e, inputCorrectIndex);
396
422
  },
@@ -407,7 +433,9 @@ var codeFieldRoot = function(Root) {
407
433
  ref: captionRef,
408
434
  captionAlign: captionAlign,
409
435
  widthValue: widthValue
410
- }, caption));
436
+ }, caption), isWebOTPEnabled && /*#__PURE__*/ _react.default.createElement(_CodeFieldstyles.HiddenInput, _object_spread({
437
+ tabIndex: -1
438
+ }, rest)));
411
439
  });
412
440
  };
413
441
  var codeFieldConfig = {
@@ -18,6 +18,9 @@ _export(exports, {
18
18
  get CodeWrapper () {
19
19
  return CodeWrapper;
20
20
  },
21
+ get HiddenInput () {
22
+ return HiddenInput;
23
+ },
21
24
  get ItemInput () {
22
25
  return ItemInput;
23
26
  },
@@ -77,32 +80,32 @@ var base = (0, _styledcomponents.css)([
77
80
  ], _CodeFieldtokens.classes.captionAlignLeft);
78
81
  var CodeWrapper = _styledcomponents.default.div.withConfig({
79
82
  displayName: "CodeField.styles__CodeWrapper",
80
- componentId: "sc-88b863b6-0"
83
+ componentId: "sc-ff3d9c22-0"
81
84
  })([
82
85
  "display:flex;align-items:center;"
83
86
  ]);
84
87
  var CodeGroup = _styledcomponents.default.div.withConfig({
85
88
  displayName: "CodeField.styles__CodeGroup",
86
- componentId: "sc-88b863b6-1"
89
+ componentId: "sc-ff3d9c22-1"
87
90
  })([
88
91
  "display:flex;align-items:center;"
89
92
  ]);
90
93
  var Separator = _styledcomponents.default.div.withConfig({
91
94
  displayName: "CodeField.styles__Separator",
92
- componentId: "sc-88b863b6-2"
95
+ componentId: "sc-ff3d9c22-2"
93
96
  })([
94
97
  "width:var(",
95
98
  ");"
96
99
  ], _CodeFieldtokens.tokens.separatorWidth);
97
100
  var ItemInput = _styledcomponents.default.input.withConfig({
98
101
  displayName: "CodeField.styles__ItemInput",
99
- componentId: "sc-88b863b6-3"
102
+ componentId: "sc-ff3d9c22-3"
100
103
  })([
101
104
  "box-sizing:border-box;appearance:none;border:0;padding:0;outline:none;pointer-events:none;text-align:center;"
102
105
  ]);
103
106
  var CaptionWrapper = _styledcomponents.default.div.withConfig({
104
107
  displayName: "CodeField.styles__CaptionWrapper",
105
- componentId: "sc-88b863b6-4"
108
+ componentId: "sc-ff3d9c22-4"
106
109
  })([
107
110
  "text-align:",
108
111
  ";align-self:",
@@ -118,3 +121,9 @@ var CaptionWrapper = _styledcomponents.default.div.withConfig({
118
121
  var widthValue = param.widthValue;
119
122
  return widthValue || 'auto';
120
123
  });
124
+ var HiddenInput = _styledcomponents.default.input.withConfig({
125
+ displayName: "CodeField.styles__HiddenInput",
126
+ componentId: "sc-ff3d9c22-5"
127
+ })([
128
+ "display:none;"
129
+ ]);