@salutejs/plasma-new-hope 0.327.0-canary.1973.15677961605.0 → 0.327.0-canary.1973.15679545656.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/CodeInput/CodeInput.js +1 -4
- package/cjs/components/CodeInput/CodeInput.js.map +1 -1
- package/emotion/cjs/components/CodeInput/CodeInput.js +1 -4
- package/emotion/es/components/CodeInput/CodeInput.js +1 -4
- package/es/components/CodeInput/CodeInput.js +1 -4
- package/es/components/CodeInput/CodeInput.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/CodeInput/CodeInput.js +1 -4
- package/styled-components/es/components/CodeInput/CodeInput.js +1 -4
- package/types/components/CodeInput/CodeInput.d.ts +0 -2
- package/types/components/CodeInput/CodeInput.d.ts.map +1 -1
- package/types/components/CodeInput/CodeInput.types.d.ts +2 -6
- package/types/components/CodeInput/CodeInput.types.d.ts.map +1 -1
@@ -23,7 +23,7 @@ var React__default = /*#__PURE__*/_interopDefault(React);
|
|
23
23
|
var cls__default = /*#__PURE__*/_interopDefault(cls);
|
24
24
|
|
25
25
|
var _Separator;
|
26
|
-
var _excluded = ["className", "value", "placeholder", "autoFocus", "codeLength", "caption", "captionAlign", "width", "view", "size", "
|
26
|
+
var _excluded = ["className", "value", "placeholder", "autoFocus", "codeLength", "caption", "captionAlign", "width", "view", "size", "hidden", "disabled", "isError", "allowedSymbols", "itemErrorBehavior", "codeErrorBehavior", "autoComplete", "setIsError", "onChange", "onFullCodeEnter"];
|
27
27
|
var codeInputRoot = function codeInputRoot(Root) {
|
28
28
|
return /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
29
29
|
var className = _ref.className,
|
@@ -38,8 +38,6 @@ var codeInputRoot = function codeInputRoot(Root) {
|
|
38
38
|
width = _ref.width,
|
39
39
|
view = _ref.view,
|
40
40
|
size = _ref.size,
|
41
|
-
_ref$screen = _ref.screen,
|
42
|
-
screen = _ref$screen === void 0 ? 'medium' : _ref$screen,
|
43
41
|
hidden = _ref.hidden,
|
44
42
|
disabled = _ref.disabled,
|
45
43
|
isError = _ref.isError,
|
@@ -231,7 +229,6 @@ var codeInputRoot = function codeInputRoot(Root) {
|
|
231
229
|
view: view,
|
232
230
|
size: size,
|
233
231
|
disabled: disabled,
|
234
|
-
screen: screen,
|
235
232
|
onClick: handleClick,
|
236
233
|
className: cls__default.default(className, _rollupPluginBabelHelpers.defineProperty({}, CodeInput_tokens.classes.captionAlignLeft, captionAlign === 'left'))
|
237
234
|
}, rest), /*#__PURE__*/React__default.default.createElement(CodeInput_styles.CodeWrapper, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CodeInput.js","sources":["../../../src/components/CodeInput/CodeInput.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 type { CodeInputProps } from './CodeInput.types';\nimport { BACKSPACE_KEY, FORBIDDEN_KEYS, ONLY_DIGITS_PATTERN } from './utils/constants';\nimport { getCodeValue, getFieldPattern, getPlaceholderValue, handleCodeError, handleItemError } from './utils';\nimport { classes } from './CodeInput.tokens';\nimport {\n base,\n CaptionWrapper,\n CodeGroup,\n CodeWrapper,\n ItemInput,\n Separator,\n ItemWrapper,\n ItemCircle,\n} from './CodeInput.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\n\nexport const codeInputRoot = (Root: RootProps<HTMLDivElement, CodeInputProps>) =>\n forwardRef<HTMLInputElement, CodeInputProps>(\n (\n {\n className,\n value: outerValue,\n placeholder,\n autoFocus,\n codeLength = 6,\n caption,\n captionAlign = 'left',\n width,\n view,\n size,\n screen = 'medium',\n hidden,\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 [code, setCode] = useState<Array<string>>(getCodeValue(codeLength, outerValue || ''));\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\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\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 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 = (\n event: KeyboardEvent<HTMLInputElement | HTMLDivElement>,\n index: number,\n type?: 'circle',\n ) => {\n if (disabled) {\n return;\n }\n\n const { key } = event;\n if (FORBIDDEN_KEYS.includes(key)) {\n event.preventDefault();\n return;\n }\n\n if (key === BACKSPACE_KEY) {\n if (index > 0 && code[index] === '') {\n inputRefs.current[index - 1]?.focus();\n }\n }\n\n if (type === 'circle') {\n handleAddSymbol(key, index);\n inputRefs.current[index]?.focus();\n }\n };\n\n const codeSetter = (newCode: Array<string>) => {\n setCode(newCode);\n setOriginalValue(newCode.join(''));\n\n if (onChange) {\n onChange(newCode.join(''));\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 handleAddSymbol(symbol, index);\n };\n\n const handleAddSymbol = (symbol: string, index: number) => {\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 newCode[index] = '';\n codeSetter(newCode);\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 inputContainerRef,\n codeSetter,\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 useEffect(() => {\n inputRefs.current = inputRefs.current.slice(0, codeLength);\n }, [codeLength]);\n\n useEffect(() => {\n if (autoFocus && !disabled) {\n const lastActiveIndex = getLastActiveIndex();\n\n inputRefs.current[lastActiveIndex]?.focus();\n }\n }, [autoFocus]);\n\n useDidMountEffect(() => {\n if (handleFullCodeEnter && originalValue.length === codeLength) {\n handleFullCodeEnter(originalValue);\n }\n }, [originalValue, handleFullCodeEnter]);\n\n useDidMountEffect(() => {\n if (isError) {\n handleCodeError({\n codeLength,\n codeErrorBehavior,\n currentCode: code,\n inputRefs,\n inputContainerRef,\n captionRef,\n setCode,\n codeSetter,\n });\n }\n }, [isError]);\n\n return (\n <Root\n ref={ref}\n view={view}\n size={size}\n disabled={disabled}\n screen={screen}\n onClick={handleClick}\n className={cls(className, {\n [classes.captionAlignLeft]: captionAlign === 'left',\n })}\n {...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 <ItemWrapper key={partIndex + i + partIndex * i}>\n {(!code[inputCorrectIndex] ||\n (!!code[inputCorrectIndex] && hidden)) && (\n <ItemCircle\n role=\"tab\"\n tabIndex={originalValue.length === inputCorrectIndex ? 0 : -1}\n onKeyDown={(e: KeyboardEvent<HTMLDivElement>) => {\n handleOnKeyDown(e, inputCorrectIndex, 'circle');\n }}\n className={cls([\n !!code[inputCorrectIndex] && hidden\n ? classes.itemCirlceFilled\n : '',\n `${classes.itemCircle}-${inputCorrectIndex}`,\n ])}\n />\n )}\n <ItemInput\n ref={(element: HTMLInputElement) => {\n inputRefs.current[inputCorrectIndex] = element;\n }}\n className={cls({\n [classes.hoverEnabled]:\n inputCorrectIndex >= originalValue.length,\n })}\n hide={hidden}\n value={code[inputCorrectIndex] || ''}\n tabIndex={originalValue.length === inputCorrectIndex ? 0 : -1}\n autoComplete={autoComplete}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n handleChange(e, inputCorrectIndex);\n }}\n onKeyDown={(e: KeyboardEvent<HTMLInputElement>) => {\n handleOnKeyDown(e, inputCorrectIndex);\n }}\n onPaste={handlePaste}\n {...(placeholderValue && {\n placeholder: placeholderValue[inputCorrectIndex],\n })}\n />\n </ItemWrapper>\n );\n })}\n </CodeGroup>\n {partIndex !== parts - 1 && <Separator />}\n </Fragment>\n ))}\n </CodeWrapper>\n {caption && (\n <CaptionWrapper ref={captionRef} captionAlign={captionAlign} widthValue={widthValue}>\n {caption}\n </CaptionWrapper>\n )}\n </Root>\n );\n },\n );\n\nexport const codeInputConfig = {\n name: 'CodeInput',\n tag: 'div',\n layout: codeInputRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["codeInputRoot","Root","forwardRef","_ref","ref","className","outerValue","value","placeholder","autoFocus","_ref$codeLength","codeLength","caption","_ref$captionAlign","captionAlign","width","view","size","_ref$screen","screen","hidden","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","code","setCode","_useState3","join","_useState4","originalValue","setOriginalValue","inputRefs","useRef","inputContainerRef","captionRef","fieldPattern","getFieldPattern","placeholderValue","getPlaceholderValue","parts","widthValue","getSizeValueFromProp","undefined","getLastActiveIndex","length","lastEmptyIndex","findIndex","digit","handleClick","lastActiveIndex","current","focus","handleOnKeyDown","event","index","type","key","FORBIDDEN_KEYS","includes","preventDefault","BACKSPACE_KEY","_inputRefs$current","_inputRefs$current$in","handleAddSymbol","codeSetter","newCode","handleChange","rawSymbol","currentTarget","symbol","charAt","_inputRefs$current$in2","_toConsumableArray","classList","remove","classes","itemError","_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","useEffect","_inputRefs$current$la","useDidMountEffect","handleCodeError","currentCode","React","createElement","_extends","onClick","cls","_defineProperty","captionAlignLeft","CodeWrapper","Array","_","partIndex","Fragment","CodeGroup","role","i","inputCorrectIndex","ItemWrapper","ItemCircle","tabIndex","onKeyDown","e","itemCirlceFilled","concat","itemCircle","ItemInput","hoverEnabled","hide","onPaste","_Separator","Separator","CaptionWrapper","codeInputConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"CodeInput.js","sources":["../../../src/components/CodeInput/CodeInput.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 type { CodeInputProps } from './CodeInput.types';\nimport { BACKSPACE_KEY, FORBIDDEN_KEYS, ONLY_DIGITS_PATTERN } from './utils/constants';\nimport { getCodeValue, getFieldPattern, getPlaceholderValue, handleCodeError, handleItemError } from './utils';\nimport { classes } from './CodeInput.tokens';\nimport {\n base,\n CaptionWrapper,\n CodeGroup,\n CodeWrapper,\n ItemInput,\n Separator,\n ItemWrapper,\n ItemCircle,\n} from './CodeInput.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\n\nexport const codeInputRoot = (Root: RootProps<HTMLDivElement, CodeInputProps>) =>\n forwardRef<HTMLInputElement, CodeInputProps>(\n (\n {\n className,\n value: outerValue,\n placeholder,\n autoFocus,\n codeLength = 6,\n caption,\n captionAlign = 'left',\n width,\n view,\n size,\n hidden,\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 [code, setCode] = useState<Array<string>>(getCodeValue(codeLength, outerValue || ''));\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\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\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 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 = (\n event: KeyboardEvent<HTMLInputElement | HTMLDivElement>,\n index: number,\n type?: 'circle',\n ) => {\n if (disabled) {\n return;\n }\n\n const { key } = event;\n if (FORBIDDEN_KEYS.includes(key)) {\n event.preventDefault();\n return;\n }\n\n if (key === BACKSPACE_KEY) {\n if (index > 0 && code[index] === '') {\n inputRefs.current[index - 1]?.focus();\n }\n }\n\n if (type === 'circle') {\n handleAddSymbol(key, index);\n inputRefs.current[index]?.focus();\n }\n };\n\n const codeSetter = (newCode: Array<string>) => {\n setCode(newCode);\n setOriginalValue(newCode.join(''));\n\n if (onChange) {\n onChange(newCode.join(''));\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 handleAddSymbol(symbol, index);\n };\n\n const handleAddSymbol = (symbol: string, index: number) => {\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 newCode[index] = '';\n codeSetter(newCode);\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 inputContainerRef,\n codeSetter,\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 useEffect(() => {\n inputRefs.current = inputRefs.current.slice(0, codeLength);\n }, [codeLength]);\n\n useEffect(() => {\n if (autoFocus && !disabled) {\n const lastActiveIndex = getLastActiveIndex();\n\n inputRefs.current[lastActiveIndex]?.focus();\n }\n }, [autoFocus]);\n\n useDidMountEffect(() => {\n if (handleFullCodeEnter && originalValue.length === codeLength) {\n handleFullCodeEnter(originalValue);\n }\n }, [originalValue, handleFullCodeEnter]);\n\n useDidMountEffect(() => {\n if (isError) {\n handleCodeError({\n codeLength,\n codeErrorBehavior,\n currentCode: code,\n inputRefs,\n inputContainerRef,\n captionRef,\n setCode,\n codeSetter,\n });\n }\n }, [isError]);\n\n return (\n <Root\n ref={ref}\n view={view}\n size={size}\n disabled={disabled}\n onClick={handleClick}\n className={cls(className, {\n [classes.captionAlignLeft]: captionAlign === 'left',\n })}\n {...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 <ItemWrapper key={partIndex + i + partIndex * i}>\n {(!code[inputCorrectIndex] ||\n (!!code[inputCorrectIndex] && hidden)) && (\n <ItemCircle\n role=\"tab\"\n tabIndex={originalValue.length === inputCorrectIndex ? 0 : -1}\n onKeyDown={(e: KeyboardEvent<HTMLDivElement>) => {\n handleOnKeyDown(e, inputCorrectIndex, 'circle');\n }}\n className={cls([\n !!code[inputCorrectIndex] && hidden\n ? classes.itemCirlceFilled\n : '',\n `${classes.itemCircle}-${inputCorrectIndex}`,\n ])}\n />\n )}\n <ItemInput\n ref={(element: HTMLInputElement) => {\n inputRefs.current[inputCorrectIndex] = element;\n }}\n className={cls({\n [classes.hoverEnabled]:\n inputCorrectIndex >= originalValue.length,\n })}\n hide={hidden}\n value={code[inputCorrectIndex] || ''}\n tabIndex={originalValue.length === inputCorrectIndex ? 0 : -1}\n autoComplete={autoComplete}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n handleChange(e, inputCorrectIndex);\n }}\n onKeyDown={(e: KeyboardEvent<HTMLInputElement>) => {\n handleOnKeyDown(e, inputCorrectIndex);\n }}\n onPaste={handlePaste}\n {...(placeholderValue && {\n placeholder: placeholderValue[inputCorrectIndex],\n })}\n />\n </ItemWrapper>\n );\n })}\n </CodeGroup>\n {partIndex !== parts - 1 && <Separator />}\n </Fragment>\n ))}\n </CodeWrapper>\n {caption && (\n <CaptionWrapper ref={captionRef} captionAlign={captionAlign} widthValue={widthValue}>\n {caption}\n </CaptionWrapper>\n )}\n </Root>\n );\n },\n );\n\nexport const codeInputConfig = {\n name: 'CodeInput',\n tag: 'div',\n layout: codeInputRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["codeInputRoot","Root","forwardRef","_ref","ref","className","outerValue","value","placeholder","autoFocus","_ref$codeLength","codeLength","caption","_ref$captionAlign","captionAlign","width","view","size","hidden","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","code","setCode","_useState3","join","_useState4","originalValue","setOriginalValue","inputRefs","useRef","inputContainerRef","captionRef","fieldPattern","getFieldPattern","placeholderValue","getPlaceholderValue","parts","widthValue","getSizeValueFromProp","undefined","getLastActiveIndex","length","lastEmptyIndex","findIndex","digit","handleClick","lastActiveIndex","current","focus","handleOnKeyDown","event","index","type","key","FORBIDDEN_KEYS","includes","preventDefault","BACKSPACE_KEY","_inputRefs$current","_inputRefs$current$in","handleAddSymbol","codeSetter","newCode","handleChange","rawSymbol","currentTarget","symbol","charAt","_inputRefs$current$in2","_toConsumableArray","classList","remove","classes","itemError","_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","useEffect","_inputRefs$current$la","useDidMountEffect","handleCodeError","currentCode","React","createElement","_extends","onClick","cls","_defineProperty","captionAlignLeft","CodeWrapper","Array","_","partIndex","Fragment","CodeGroup","role","i","inputCorrectIndex","ItemWrapper","ItemCircle","tabIndex","onKeyDown","e","itemCirlceFilled","concat","itemCircle","ItemInput","hoverEnabled","hide","onPaste","_Separator","Separator","CaptionWrapper","codeInputConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
|
@@ -17,7 +17,7 @@ var _base = /*#__PURE__*/require("./variations/_view/base");
|
|
17
17
|
var _base2 = /*#__PURE__*/require("./variations/_size/base");
|
18
18
|
var _base3 = /*#__PURE__*/require("./variations/_disabled/base");
|
19
19
|
var _Separator;
|
20
|
-
var _excluded = ["className", "value", "placeholder", "autoFocus", "codeLength", "caption", "captionAlign", "width", "view", "size", "
|
20
|
+
var _excluded = ["className", "value", "placeholder", "autoFocus", "codeLength", "caption", "captionAlign", "width", "view", "size", "hidden", "disabled", "isError", "allowedSymbols", "itemErrorBehavior", "codeErrorBehavior", "autoComplete", "setIsError", "onChange", "onFullCodeEnter"];
|
21
21
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
22
22
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
23
23
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
@@ -51,8 +51,6 @@ var codeInputRoot = exports.codeInputRoot = function codeInputRoot(Root) {
|
|
51
51
|
width = _ref.width,
|
52
52
|
view = _ref.view,
|
53
53
|
size = _ref.size,
|
54
|
-
_ref$screen = _ref.screen,
|
55
|
-
screen = _ref$screen === void 0 ? 'medium' : _ref$screen,
|
56
54
|
hidden = _ref.hidden,
|
57
55
|
disabled = _ref.disabled,
|
58
56
|
isError = _ref.isError,
|
@@ -244,7 +242,6 @@ var codeInputRoot = exports.codeInputRoot = function codeInputRoot(Root) {
|
|
244
242
|
view: view,
|
245
243
|
size: size,
|
246
244
|
disabled: disabled,
|
247
|
-
screen: screen,
|
248
245
|
onClick: handleClick,
|
249
246
|
className: (0, _classnames["default"])(className, _defineProperty({}, _CodeInput.classes.captionAlignLeft, captionAlign === 'left'))
|
250
247
|
}, rest), /*#__PURE__*/_react["default"].createElement(_CodeInput2.CodeWrapper, {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
2
2
|
var _Separator;
|
3
|
-
var _excluded = ["className", "value", "placeholder", "autoFocus", "codeLength", "caption", "captionAlign", "width", "view", "size", "
|
3
|
+
var _excluded = ["className", "value", "placeholder", "autoFocus", "codeLength", "caption", "captionAlign", "width", "view", "size", "hidden", "disabled", "isError", "allowedSymbols", "itemErrorBehavior", "codeErrorBehavior", "autoComplete", "setIsError", "onChange", "onFullCodeEnter"];
|
4
4
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
5
5
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
6
6
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
@@ -42,8 +42,6 @@ export var codeInputRoot = function codeInputRoot(Root) {
|
|
42
42
|
width = _ref.width,
|
43
43
|
view = _ref.view,
|
44
44
|
size = _ref.size,
|
45
|
-
_ref$screen = _ref.screen,
|
46
|
-
screen = _ref$screen === void 0 ? 'medium' : _ref$screen,
|
47
45
|
hidden = _ref.hidden,
|
48
46
|
disabled = _ref.disabled,
|
49
47
|
isError = _ref.isError,
|
@@ -235,7 +233,6 @@ export var codeInputRoot = function codeInputRoot(Root) {
|
|
235
233
|
view: view,
|
236
234
|
size: size,
|
237
235
|
disabled: disabled,
|
238
|
-
screen: screen,
|
239
236
|
onClick: handleClick,
|
240
237
|
className: cls(className, _defineProperty({}, classes.captionAlignLeft, captionAlign === 'left'))
|
241
238
|
}, rest), /*#__PURE__*/React.createElement(CodeWrapper, {
|
@@ -14,7 +14,7 @@ import { getSizeValueFromProp } from '../../utils/getSizeValueFromProp.js';
|
|
14
14
|
import { handleItemError } from './utils/handleItemError.js';
|
15
15
|
|
16
16
|
var _Separator;
|
17
|
-
var _excluded = ["className", "value", "placeholder", "autoFocus", "codeLength", "caption", "captionAlign", "width", "view", "size", "
|
17
|
+
var _excluded = ["className", "value", "placeholder", "autoFocus", "codeLength", "caption", "captionAlign", "width", "view", "size", "hidden", "disabled", "isError", "allowedSymbols", "itemErrorBehavior", "codeErrorBehavior", "autoComplete", "setIsError", "onChange", "onFullCodeEnter"];
|
18
18
|
var codeInputRoot = function codeInputRoot(Root) {
|
19
19
|
return /*#__PURE__*/forwardRef(function (_ref, ref) {
|
20
20
|
var className = _ref.className,
|
@@ -29,8 +29,6 @@ var codeInputRoot = function codeInputRoot(Root) {
|
|
29
29
|
width = _ref.width,
|
30
30
|
view = _ref.view,
|
31
31
|
size = _ref.size,
|
32
|
-
_ref$screen = _ref.screen,
|
33
|
-
screen = _ref$screen === void 0 ? 'medium' : _ref$screen,
|
34
32
|
hidden = _ref.hidden,
|
35
33
|
disabled = _ref.disabled,
|
36
34
|
isError = _ref.isError,
|
@@ -222,7 +220,6 @@ var codeInputRoot = function codeInputRoot(Root) {
|
|
222
220
|
view: view,
|
223
221
|
size: size,
|
224
222
|
disabled: disabled,
|
225
|
-
screen: screen,
|
226
223
|
onClick: handleClick,
|
227
224
|
className: cls(className, _defineProperty({}, classes.captionAlignLeft, captionAlign === 'left'))
|
228
225
|
}, rest), /*#__PURE__*/React.createElement(CodeWrapper, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CodeInput.js","sources":["../../../src/components/CodeInput/CodeInput.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 type { CodeInputProps } from './CodeInput.types';\nimport { BACKSPACE_KEY, FORBIDDEN_KEYS, ONLY_DIGITS_PATTERN } from './utils/constants';\nimport { getCodeValue, getFieldPattern, getPlaceholderValue, handleCodeError, handleItemError } from './utils';\nimport { classes } from './CodeInput.tokens';\nimport {\n base,\n CaptionWrapper,\n CodeGroup,\n CodeWrapper,\n ItemInput,\n Separator,\n ItemWrapper,\n ItemCircle,\n} from './CodeInput.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\n\nexport const codeInputRoot = (Root: RootProps<HTMLDivElement, CodeInputProps>) =>\n forwardRef<HTMLInputElement, CodeInputProps>(\n (\n {\n className,\n value: outerValue,\n placeholder,\n autoFocus,\n codeLength = 6,\n caption,\n captionAlign = 'left',\n width,\n view,\n size,\n screen = 'medium',\n hidden,\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 [code, setCode] = useState<Array<string>>(getCodeValue(codeLength, outerValue || ''));\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\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\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 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 = (\n event: KeyboardEvent<HTMLInputElement | HTMLDivElement>,\n index: number,\n type?: 'circle',\n ) => {\n if (disabled) {\n return;\n }\n\n const { key } = event;\n if (FORBIDDEN_KEYS.includes(key)) {\n event.preventDefault();\n return;\n }\n\n if (key === BACKSPACE_KEY) {\n if (index > 0 && code[index] === '') {\n inputRefs.current[index - 1]?.focus();\n }\n }\n\n if (type === 'circle') {\n handleAddSymbol(key, index);\n inputRefs.current[index]?.focus();\n }\n };\n\n const codeSetter = (newCode: Array<string>) => {\n setCode(newCode);\n setOriginalValue(newCode.join(''));\n\n if (onChange) {\n onChange(newCode.join(''));\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 handleAddSymbol(symbol, index);\n };\n\n const handleAddSymbol = (symbol: string, index: number) => {\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 newCode[index] = '';\n codeSetter(newCode);\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 inputContainerRef,\n codeSetter,\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 useEffect(() => {\n inputRefs.current = inputRefs.current.slice(0, codeLength);\n }, [codeLength]);\n\n useEffect(() => {\n if (autoFocus && !disabled) {\n const lastActiveIndex = getLastActiveIndex();\n\n inputRefs.current[lastActiveIndex]?.focus();\n }\n }, [autoFocus]);\n\n useDidMountEffect(() => {\n if (handleFullCodeEnter && originalValue.length === codeLength) {\n handleFullCodeEnter(originalValue);\n }\n }, [originalValue, handleFullCodeEnter]);\n\n useDidMountEffect(() => {\n if (isError) {\n handleCodeError({\n codeLength,\n codeErrorBehavior,\n currentCode: code,\n inputRefs,\n inputContainerRef,\n captionRef,\n setCode,\n codeSetter,\n });\n }\n }, [isError]);\n\n return (\n <Root\n ref={ref}\n view={view}\n size={size}\n disabled={disabled}\n screen={screen}\n onClick={handleClick}\n className={cls(className, {\n [classes.captionAlignLeft]: captionAlign === 'left',\n })}\n {...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 <ItemWrapper key={partIndex + i + partIndex * i}>\n {(!code[inputCorrectIndex] ||\n (!!code[inputCorrectIndex] && hidden)) && (\n <ItemCircle\n role=\"tab\"\n tabIndex={originalValue.length === inputCorrectIndex ? 0 : -1}\n onKeyDown={(e: KeyboardEvent<HTMLDivElement>) => {\n handleOnKeyDown(e, inputCorrectIndex, 'circle');\n }}\n className={cls([\n !!code[inputCorrectIndex] && hidden\n ? classes.itemCirlceFilled\n : '',\n `${classes.itemCircle}-${inputCorrectIndex}`,\n ])}\n />\n )}\n <ItemInput\n ref={(element: HTMLInputElement) => {\n inputRefs.current[inputCorrectIndex] = element;\n }}\n className={cls({\n [classes.hoverEnabled]:\n inputCorrectIndex >= originalValue.length,\n })}\n hide={hidden}\n value={code[inputCorrectIndex] || ''}\n tabIndex={originalValue.length === inputCorrectIndex ? 0 : -1}\n autoComplete={autoComplete}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n handleChange(e, inputCorrectIndex);\n }}\n onKeyDown={(e: KeyboardEvent<HTMLInputElement>) => {\n handleOnKeyDown(e, inputCorrectIndex);\n }}\n onPaste={handlePaste}\n {...(placeholderValue && {\n placeholder: placeholderValue[inputCorrectIndex],\n })}\n />\n </ItemWrapper>\n );\n })}\n </CodeGroup>\n {partIndex !== parts - 1 && <Separator />}\n </Fragment>\n ))}\n </CodeWrapper>\n {caption && (\n <CaptionWrapper ref={captionRef} captionAlign={captionAlign} widthValue={widthValue}>\n {caption}\n </CaptionWrapper>\n )}\n </Root>\n );\n },\n );\n\nexport const codeInputConfig = {\n name: 'CodeInput',\n tag: 'div',\n layout: codeInputRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["codeInputRoot","Root","forwardRef","_ref","ref","className","outerValue","value","placeholder","autoFocus","_ref$codeLength","codeLength","caption","_ref$captionAlign","captionAlign","width","view","size","_ref$screen","screen","hidden","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","code","setCode","_useState3","join","_useState4","originalValue","setOriginalValue","inputRefs","useRef","inputContainerRef","captionRef","fieldPattern","getFieldPattern","placeholderValue","getPlaceholderValue","parts","widthValue","getSizeValueFromProp","undefined","getLastActiveIndex","length","lastEmptyIndex","findIndex","digit","handleClick","lastActiveIndex","current","focus","handleOnKeyDown","event","index","type","key","FORBIDDEN_KEYS","includes","preventDefault","BACKSPACE_KEY","_inputRefs$current","_inputRefs$current$in","handleAddSymbol","codeSetter","newCode","handleChange","rawSymbol","currentTarget","symbol","charAt","_inputRefs$current$in2","_toConsumableArray","classList","remove","classes","itemError","_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","useEffect","_inputRefs$current$la","useDidMountEffect","handleCodeError","currentCode","React","createElement","_extends","onClick","cls","_defineProperty","captionAlignLeft","CodeWrapper","Array","_","partIndex","Fragment","CodeGroup","role","i","inputCorrectIndex","ItemWrapper","ItemCircle","tabIndex","onKeyDown","e","itemCirlceFilled","concat","itemCircle","ItemInput","hoverEnabled","hide","onPaste","_Separator","Separator","CaptionWrapper","codeInputConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"CodeInput.js","sources":["../../../src/components/CodeInput/CodeInput.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 type { CodeInputProps } from './CodeInput.types';\nimport { BACKSPACE_KEY, FORBIDDEN_KEYS, ONLY_DIGITS_PATTERN } from './utils/constants';\nimport { getCodeValue, getFieldPattern, getPlaceholderValue, handleCodeError, handleItemError } from './utils';\nimport { classes } from './CodeInput.tokens';\nimport {\n base,\n CaptionWrapper,\n CodeGroup,\n CodeWrapper,\n ItemInput,\n Separator,\n ItemWrapper,\n ItemCircle,\n} from './CodeInput.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\n\nexport const codeInputRoot = (Root: RootProps<HTMLDivElement, CodeInputProps>) =>\n forwardRef<HTMLInputElement, CodeInputProps>(\n (\n {\n className,\n value: outerValue,\n placeholder,\n autoFocus,\n codeLength = 6,\n caption,\n captionAlign = 'left',\n width,\n view,\n size,\n hidden,\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 [code, setCode] = useState<Array<string>>(getCodeValue(codeLength, outerValue || ''));\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\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\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 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 = (\n event: KeyboardEvent<HTMLInputElement | HTMLDivElement>,\n index: number,\n type?: 'circle',\n ) => {\n if (disabled) {\n return;\n }\n\n const { key } = event;\n if (FORBIDDEN_KEYS.includes(key)) {\n event.preventDefault();\n return;\n }\n\n if (key === BACKSPACE_KEY) {\n if (index > 0 && code[index] === '') {\n inputRefs.current[index - 1]?.focus();\n }\n }\n\n if (type === 'circle') {\n handleAddSymbol(key, index);\n inputRefs.current[index]?.focus();\n }\n };\n\n const codeSetter = (newCode: Array<string>) => {\n setCode(newCode);\n setOriginalValue(newCode.join(''));\n\n if (onChange) {\n onChange(newCode.join(''));\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 handleAddSymbol(symbol, index);\n };\n\n const handleAddSymbol = (symbol: string, index: number) => {\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 newCode[index] = '';\n codeSetter(newCode);\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 inputContainerRef,\n codeSetter,\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 useEffect(() => {\n inputRefs.current = inputRefs.current.slice(0, codeLength);\n }, [codeLength]);\n\n useEffect(() => {\n if (autoFocus && !disabled) {\n const lastActiveIndex = getLastActiveIndex();\n\n inputRefs.current[lastActiveIndex]?.focus();\n }\n }, [autoFocus]);\n\n useDidMountEffect(() => {\n if (handleFullCodeEnter && originalValue.length === codeLength) {\n handleFullCodeEnter(originalValue);\n }\n }, [originalValue, handleFullCodeEnter]);\n\n useDidMountEffect(() => {\n if (isError) {\n handleCodeError({\n codeLength,\n codeErrorBehavior,\n currentCode: code,\n inputRefs,\n inputContainerRef,\n captionRef,\n setCode,\n codeSetter,\n });\n }\n }, [isError]);\n\n return (\n <Root\n ref={ref}\n view={view}\n size={size}\n disabled={disabled}\n onClick={handleClick}\n className={cls(className, {\n [classes.captionAlignLeft]: captionAlign === 'left',\n })}\n {...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 <ItemWrapper key={partIndex + i + partIndex * i}>\n {(!code[inputCorrectIndex] ||\n (!!code[inputCorrectIndex] && hidden)) && (\n <ItemCircle\n role=\"tab\"\n tabIndex={originalValue.length === inputCorrectIndex ? 0 : -1}\n onKeyDown={(e: KeyboardEvent<HTMLDivElement>) => {\n handleOnKeyDown(e, inputCorrectIndex, 'circle');\n }}\n className={cls([\n !!code[inputCorrectIndex] && hidden\n ? classes.itemCirlceFilled\n : '',\n `${classes.itemCircle}-${inputCorrectIndex}`,\n ])}\n />\n )}\n <ItemInput\n ref={(element: HTMLInputElement) => {\n inputRefs.current[inputCorrectIndex] = element;\n }}\n className={cls({\n [classes.hoverEnabled]:\n inputCorrectIndex >= originalValue.length,\n })}\n hide={hidden}\n value={code[inputCorrectIndex] || ''}\n tabIndex={originalValue.length === inputCorrectIndex ? 0 : -1}\n autoComplete={autoComplete}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n handleChange(e, inputCorrectIndex);\n }}\n onKeyDown={(e: KeyboardEvent<HTMLInputElement>) => {\n handleOnKeyDown(e, inputCorrectIndex);\n }}\n onPaste={handlePaste}\n {...(placeholderValue && {\n placeholder: placeholderValue[inputCorrectIndex],\n })}\n />\n </ItemWrapper>\n );\n })}\n </CodeGroup>\n {partIndex !== parts - 1 && <Separator />}\n </Fragment>\n ))}\n </CodeWrapper>\n {caption && (\n <CaptionWrapper ref={captionRef} captionAlign={captionAlign} widthValue={widthValue}>\n {caption}\n </CaptionWrapper>\n )}\n </Root>\n );\n },\n );\n\nexport const codeInputConfig = {\n name: 'CodeInput',\n tag: 'div',\n layout: codeInputRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["codeInputRoot","Root","forwardRef","_ref","ref","className","outerValue","value","placeholder","autoFocus","_ref$codeLength","codeLength","caption","_ref$captionAlign","captionAlign","width","view","size","hidden","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","code","setCode","_useState3","join","_useState4","originalValue","setOriginalValue","inputRefs","useRef","inputContainerRef","captionRef","fieldPattern","getFieldPattern","placeholderValue","getPlaceholderValue","parts","widthValue","getSizeValueFromProp","undefined","getLastActiveIndex","length","lastEmptyIndex","findIndex","digit","handleClick","lastActiveIndex","current","focus","handleOnKeyDown","event","index","type","key","FORBIDDEN_KEYS","includes","preventDefault","BACKSPACE_KEY","_inputRefs$current","_inputRefs$current$in","handleAddSymbol","codeSetter","newCode","handleChange","rawSymbol","currentTarget","symbol","charAt","_inputRefs$current$in2","_toConsumableArray","classList","remove","classes","itemError","_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","useEffect","_inputRefs$current$la","useDidMountEffect","handleCodeError","currentCode","React","createElement","_extends","onClick","cls","_defineProperty","captionAlignLeft","CodeWrapper","Array","_","partIndex","Fragment","CodeGroup","role","i","inputCorrectIndex","ItemWrapper","ItemCircle","tabIndex","onKeyDown","e","itemCirlceFilled","concat","itemCircle","ItemInput","hoverEnabled","hide","onPaste","_Separator","Separator","CaptionWrapper","codeInputConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","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.327.0-canary.1973.
|
3
|
+
"version": "0.327.0-canary.1973.15679545656.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": "
|
140
|
+
"gitHead": "63b3362f90f395d516cf533d2a3d2d98303ba6d3"
|
141
141
|
}
|
@@ -17,7 +17,7 @@ var _base = /*#__PURE__*/require("./variations/_view/base");
|
|
17
17
|
var _base2 = /*#__PURE__*/require("./variations/_size/base");
|
18
18
|
var _base3 = /*#__PURE__*/require("./variations/_disabled/base");
|
19
19
|
var _Separator;
|
20
|
-
var _excluded = ["className", "value", "placeholder", "autoFocus", "codeLength", "caption", "captionAlign", "width", "view", "size", "
|
20
|
+
var _excluded = ["className", "value", "placeholder", "autoFocus", "codeLength", "caption", "captionAlign", "width", "view", "size", "hidden", "disabled", "isError", "allowedSymbols", "itemErrorBehavior", "codeErrorBehavior", "autoComplete", "setIsError", "onChange", "onFullCodeEnter"];
|
21
21
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
22
22
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
23
23
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
@@ -51,8 +51,6 @@ var codeInputRoot = exports.codeInputRoot = function codeInputRoot(Root) {
|
|
51
51
|
width = _ref.width,
|
52
52
|
view = _ref.view,
|
53
53
|
size = _ref.size,
|
54
|
-
_ref$screen = _ref.screen,
|
55
|
-
screen = _ref$screen === void 0 ? 'medium' : _ref$screen,
|
56
54
|
hidden = _ref.hidden,
|
57
55
|
disabled = _ref.disabled,
|
58
56
|
isError = _ref.isError,
|
@@ -244,7 +242,6 @@ var codeInputRoot = exports.codeInputRoot = function codeInputRoot(Root) {
|
|
244
242
|
view: view,
|
245
243
|
size: size,
|
246
244
|
disabled: disabled,
|
247
|
-
screen: screen,
|
248
245
|
onClick: handleClick,
|
249
246
|
className: (0, _classnames["default"])(className, _defineProperty({}, _CodeInput.classes.captionAlignLeft, captionAlign === 'left'))
|
250
247
|
}, rest), /*#__PURE__*/_react["default"].createElement(_CodeInput2.CodeWrapper, {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
2
2
|
var _Separator;
|
3
|
-
var _excluded = ["className", "value", "placeholder", "autoFocus", "codeLength", "caption", "captionAlign", "width", "view", "size", "
|
3
|
+
var _excluded = ["className", "value", "placeholder", "autoFocus", "codeLength", "caption", "captionAlign", "width", "view", "size", "hidden", "disabled", "isError", "allowedSymbols", "itemErrorBehavior", "codeErrorBehavior", "autoComplete", "setIsError", "onChange", "onFullCodeEnter"];
|
4
4
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
5
5
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
6
6
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
@@ -42,8 +42,6 @@ export var codeInputRoot = function codeInputRoot(Root) {
|
|
42
42
|
width = _ref.width,
|
43
43
|
view = _ref.view,
|
44
44
|
size = _ref.size,
|
45
|
-
_ref$screen = _ref.screen,
|
46
|
-
screen = _ref$screen === void 0 ? 'medium' : _ref$screen,
|
47
45
|
hidden = _ref.hidden,
|
48
46
|
disabled = _ref.disabled,
|
49
47
|
isError = _ref.isError,
|
@@ -235,7 +233,6 @@ export var codeInputRoot = function codeInputRoot(Root) {
|
|
235
233
|
view: view,
|
236
234
|
size: size,
|
237
235
|
disabled: disabled,
|
238
|
-
screen: screen,
|
239
236
|
onClick: handleClick,
|
240
237
|
className: cls(className, _defineProperty({}, classes.captionAlignLeft, captionAlign === 'left'))
|
241
238
|
}, rest), /*#__PURE__*/React.createElement(CodeWrapper, {
|
@@ -11,7 +11,6 @@ export declare const codeInputRoot: (Root: RootProps<HTMLDivElement, CodeInputPr
|
|
11
11
|
hidden?: boolean;
|
12
12
|
view?: string;
|
13
13
|
size?: string;
|
14
|
-
screen?: "large" | "medium" | "small";
|
15
14
|
disabled?: boolean;
|
16
15
|
isError?: boolean;
|
17
16
|
width?: string | number;
|
@@ -35,7 +34,6 @@ export declare const codeInputConfig: {
|
|
35
34
|
hidden?: boolean;
|
36
35
|
view?: string;
|
37
36
|
size?: string;
|
38
|
-
screen?: "large" | "medium" | "small";
|
39
37
|
disabled?: boolean;
|
40
38
|
isError?: boolean;
|
41
39
|
width?: string | number;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CodeInput.d.ts","sourceRoot":"","sources":["../../../src/components/CodeInput/CodeInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyE,MAAM,OAAO,CAAC;AAG9F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAkBxD,eAAO,MAAM,aAAa,SAAU,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC
|
1
|
+
{"version":3,"file":"CodeInput.d.ts","sourceRoot":"","sources":["../../../src/components/CodeInput/CodeInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyE,MAAM,OAAO,CAAC;AAG9F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAkBxD,eAAO,MAAM,aAAa,SAAU,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;;;;;;;;;;;;;;;;;;;sLAoTxE,CAAC;AAEN,eAAO,MAAM,eAAe;;;mBAtTQ,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2U5E,CAAC"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { Dispatch, HTMLAttributes, InputHTMLAttributes, ReactNode, SetStateAction } from 'react';
|
2
|
-
export type ItemErrorBehavior = 'remove-symbol' | 'keep' | '
|
2
|
+
export type ItemErrorBehavior = 'remove-symbol' | 'keep' | 'forbid-enter';
|
3
3
|
export type CodeErrorBehavior = 'remove-code' | 'keep';
|
4
4
|
export type CodeInputProps = {
|
5
5
|
/**
|
@@ -41,10 +41,6 @@ export type CodeInputProps = {
|
|
41
41
|
* Размер компонента
|
42
42
|
*/
|
43
43
|
size?: string;
|
44
|
-
/**
|
45
|
-
* Размер экрана
|
46
|
-
*/
|
47
|
-
screen?: 'large' | 'medium' | 'small';
|
48
44
|
/**
|
49
45
|
* Компонент не активен
|
50
46
|
*/
|
@@ -73,7 +69,7 @@ export type CodeInputProps = {
|
|
73
69
|
* Поведение элемента поля ввода, при вводе некорректного значения
|
74
70
|
* - `remove-symbol` - проигрывается анимация ошибки, значение элемента очищается
|
75
71
|
* - `keep` - проигрывается анимация ошибки, значение остается
|
76
|
-
* - `
|
72
|
+
* - `forbid-enter` - запрещается ввод некорректного значения
|
77
73
|
* @default 'remove-symbol'
|
78
74
|
*/
|
79
75
|
itemErrorBehavior?: ItemErrorBehavior;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CodeInput.types.d.ts","sourceRoot":"","sources":["../../../src/components/CodeInput/CodeInput.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,mBAAmB,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEtG,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAAG,MAAM,GAAG,
|
1
|
+
{"version":3,"file":"CodeInput.types.d.ts","sourceRoot":"","sources":["../../../src/components/CodeInput/CodeInput.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,mBAAmB,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEtG,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAAG,MAAM,GAAG,cAAc,CAAC;AAC1E,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,MAAM,CAAC;AAEvD,MAAM,MAAM,cAAc,GAAG;IACzB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACjC;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;OAEG;IACH,UAAU,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,YAAY,GAAG,cAAc,CAAC,GAC1E,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC"}
|