{"version":3,"sources":["webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/@paypalcorp/pp-react-code-input/dist/@paypalcorp/pp-react-code-input.esm.js"],"names":["_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","styles","tokens","Object","keys","length","console","warn","sysColorBackgroundMediumContrast","sysSpaceSm","sysTypographyFieldValueLgLineHeight","sysSpaceXs","sysSizeMediaSm","sysSizeFieldSm","sysColorErrorMain","_textStyles","headingSm","caption","base","codeInputTextInput","codeInputTextInputWithError","codeInputTextInputControl","inputWrapper","error","errorText","errorIcon","errorTextList","_excluded","CodeInput","forwardRef","_ref","ref","_ref$alphaCharCapital","alphaCharCapitalize","className","_ref$error","_ref$name","name","_ref$id","id","inputClassName","inputWrapperClassName","_ref$onChange","onChange","_ref$pinLength","pinLength","_ref$value","value","autoFocus","_ref$onBlur","onBlur","_ref$onFocus","onFocus","_ref$numberOnly","numberOnly","rest","internalRef","inputFieldRef","NUM_REGEX","keyEventsArry","NAME_BACKSPACE","NAME_DELETE","NAME_TAB","_React$useState","useState","_React$useState2","focused","setFocused","pinArray","Array","valueArr","split","map","val","generateCode","pinArr","current","input","join","focusOnField","idx","focus","processText","handleBlur","event","includes","relatedTarget","handleFocus","_styles","containerCSS","loadInputField","key","_ref3","css","cx","concat","el","setRef","onInput","evt","target","toUpperCase","slice","handleInput","onKeyDown","keyCode","KeyCode","IS_SPACEBAR","IS_HOME","IS_END","IS_ARROW_KEY","preventDefault","IS_BACKSPACE","IS_DELETE","IS_ARROW_LEFT","IS_ARROW_RIGHT","select","ctrlKey","metaKey","match","handleKeyDown","onPaste","clipboardValue","clipboardData","getData","pastedArr","replace","minArr","Math","min","i","handlePaste","pattern","isArray","text","index","_ref2","role","size"],"mappings":"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","file":"default~VisaPlusConfirmPhone~request-page~request-preview~send-page.esm.js","sourcesContent":["import _extends from '@babel/runtime/helpers/esm/extends';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { useRef, useEffect, useMemo } from 'react';\nimport { TextInput } from '@paypalcorp/pp-react-text-input';\nimport { CriticalIcon } from '@paypalcorp/pp-react-icons';\nimport { css, useTheme, jsx, ClassNames } from '@emotion/react';\nimport { KeyboardCode } from '@paypalcorp/pp-react-utils';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { textStyles } from '@paypalcorp/pp-react-text';\n\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n\n // 40px\n var sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysSpaceSm = tokens.sysSpaceSm,\n sysTypographyFieldValueLgLineHeight = tokens.sysTypographyFieldValueLgLineHeight,\n sysSpaceXs = tokens.sysSpaceXs,\n sysSizeMediaSm = tokens.sysSizeMediaSm,\n sysSizeFieldSm = tokens.sysSizeFieldSm,\n sysColorErrorMain = tokens.sysColorErrorMain;\n\n var _textStyles = textStyles(tokens),\n headingSm = _textStyles.headingSm,\n caption = _textStyles.caption;\n\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: code_input_base;\\n display: inline-block;\\n \"])));\n var codeInputTextInput = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: code_input_text_input;\\n width: \", \";\\n margin-right: \", \"; // 8px, gap property doesn't work\\n margin-bottom: \", \"; // 8px, gap property doesn't work\\n \", \";\\n @media (max-width: \", \") {\\n width: \", \";\\n }\\n \"])), sysSizeFieldSm, sysSpaceSm, sysSpaceSm, headingSm(), sysSizeMediaSm, '2.5rem');\n var codeInputTextInputWithError = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: code_input_text_input_with_error;\\n padding: 0;\\n \"])));\n var codeInputTextInputControl = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: code_input_text_input_control;\\n \", \";\\n text-align: center;\\n padding: 0;\\n caret-color: transparent; // change the blinking caret color in text input\\n -webkit-touch-callout: none; // iOS Safari disable text selection highlight\\n\\n // hide counter buttons for type:number (safari/chrome)\\n &::-webkit-outer-spin-button,\\n &::-webkit-inner-spin-button {\\n -webkit-appearance: none;\\n margin: 0;\\n }\\n // hide counter buttons for type:number (firefox)\\n &[type='number'] {\\n -moz-appearance: textfield;\\n }\\n\\n // remove text highlight\\n &::selection {\\n background: transparent;\\n }\\n &::-moz-selection {\\n background: transparent;\\n }\\n\\n // overwrite to fix the issue with bottom text getting cropped on chrome\\n &:first-line {\\n line-height: \", \";\\n }\\n \"])), headingSm(), sysTypographyFieldValueLgLineHeight);\n var inputWrapper = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: input_wrapper;\\n display: flex;\\n margin-right: -\", \"; // -8px to compensate spacing on input wrapper\\n margin-bottom: -\", \"; // -8px to compensate spacing on input wrapper\\n flex-wrap: wrap;\\n [dir='rtl'] & {\\n direction: ltr; // use ltr direction for input fields\\n }\\n \"])), sysSpaceSm, sysSpaceSm);\n var error = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: error;\\n margin-top: \", \";\\n display: flex;\\n align-items: center;\\n \"])), sysSpaceXs);\n var errorText = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: error_text;\\n \", \";\\n color: \", \";\\n flex-grow: 1;\\n width: 0;\\n \"])), caption(), sysColorBackgroundMediumContrast);\n var errorIcon = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: error_icon;\\n color: \", \";\\n margin-right: \", \";\\n [dir='rtl'] & {\\n margin-right: 0;\\n margin-left: \", \";\\n }\\n \"])), sysColorErrorMain, sysSpaceXs, sysSpaceXs);\n var errorTextList = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: error_text_list;\\n list-style: none;\\n padding: 0;\\n margin: 0;\\n \"])));\n return {\n base: base,\n codeInputTextInput: codeInputTextInput,\n codeInputTextInputWithError: codeInputTextInputWithError,\n codeInputTextInputControl: codeInputTextInputControl,\n inputWrapper: inputWrapper,\n error: error,\n errorText: errorText,\n errorIcon: errorIcon,\n errorTextList: errorTextList\n };\n}\n\nvar _excluded = [\"alphaCharCapitalize\", \"className\", \"errorText\", \"error\", \"name\", \"id\", \"inputClassName\", \"inputWrapperClassName\", \"onChange\", \"pinLength\", \"value\", \"autoFocus\", \"onBlur\", \"onFocus\", \"numberOnly\"];\nvar CodeInput = React.forwardRef(function (_ref, ref) {\n var _ref$alphaCharCapital = _ref.alphaCharCapitalize,\n alphaCharCapitalize = _ref$alphaCharCapital === void 0 ? false : _ref$alphaCharCapital,\n className = _ref.className,\n errorText = _ref.errorText,\n _ref$error = _ref.error,\n error = _ref$error === void 0 ? !!errorText : _ref$error,\n _ref$name = _ref.name,\n name = _ref$name === void 0 ? 'default' : _ref$name,\n _ref$id = _ref.id,\n id = _ref$id === void 0 ? name : _ref$id,\n inputClassName = _ref.inputClassName,\n inputWrapperClassName = _ref.inputWrapperClassName,\n _ref$onChange = _ref.onChange,\n onChange = _ref$onChange === void 0 ? console.warn('Required prop `onChange` is missing') : _ref$onChange,\n _ref$pinLength = _ref.pinLength,\n pinLength = _ref$pinLength === void 0 ? 6 : _ref$pinLength,\n _ref$value = _ref.value,\n value = _ref$value === void 0 ? '' : _ref$value,\n autoFocus = _ref.autoFocus,\n _ref$onBlur = _ref.onBlur,\n onBlur = _ref$onBlur === void 0 ? null : _ref$onBlur,\n _ref$onFocus = _ref.onFocus,\n onFocus = _ref$onFocus === void 0 ? null : _ref$onFocus,\n _ref$numberOnly = _ref.numberOnly,\n numberOnly = _ref$numberOnly === void 0 ? false : _ref$numberOnly,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var internalRef = useRef([]);\n var inputFieldRef = ref || internalRef; // pin length 3-6\n\n var MAX_PIN = 6;\n var NUM_REGEX = /^[0-9]+$/;\n var keyEventsArry = [KeyboardCode.NAME_BACKSPACE, KeyboardCode.NAME_DELETE, KeyboardCode.NAME_TAB];\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n focused = _React$useState2[0],\n setFocused = _React$useState2[1]; // check pin length and convert into array\n\n\n var pinArray = pinLength < 3 || pinLength >= MAX_PIN ? _toConsumableArray(Array(MAX_PIN).keys()) : _toConsumableArray(Array(pinLength).keys()); // convert it into an array and remove empty value\n\n var valueArr = value && value.split('').map(function (val) {\n return val === ' ' ? '' : val;\n }); // generate the final code\n\n var generateCode = function () {\n // generate the final code and add spaces for empty value\n var pinArr = inputFieldRef.current.map(function (input) {\n return input.value === '' ? ' ' : input.value;\n }).join(''); // onChange is called on each key\n\n if (onChange) {\n onChange(pinArr);\n }\n }; // focus on field provided an index valid\n\n\n var focusOnField = function (idx) {\n // check if idx is in the range\n if (inputFieldRef && inputFieldRef.current[idx]) {\n inputFieldRef.current[idx].focus();\n }\n };\n\n var handleInput = function (evt, idx) {\n // move focus fwd if there is a value\n if (evt.target.value !== '') {\n focusOnField(idx + 1);\n } // capitalize the characters\n\n\n if (alphaCharCapitalize) {\n evt.target.value = evt.target.value.toUpperCase();\n } // filter out if more than two characters\n\n\n if (evt.target.value.length > 1) {\n evt.target.value = evt.target.value.slice(0, 1);\n }\n\n generateCode();\n };\n\n useEffect(function () {\n if (autoFocus) {\n focusOnField(0);\n }\n }, []);\n /* eslint-disable complexity */\n\n var handleKeyDown = function (evt, idx) {\n /* istanbul ignore next */\n var keyCode = evt.key || evt.keyCode;\n var KeyCode = new KeyboardCode(keyCode);\n\n if (KeyCode.IS_SPACEBAR || KeyCode.IS_HOME || KeyCode.IS_END || KeyCode.IS_ARROW_KEY) {\n evt.preventDefault();\n }\n\n if (KeyCode.IS_BACKSPACE || KeyCode.IS_DELETE) {\n /* istanbul ignore next */\n if (evt.target.value === '' || evt.target.value === ' ') {\n focusOnField(idx - 1);\n } else {\n /* istanbul ignore next */\n evt.target.value = ' ';\n /* istanbul ignore next */\n\n generateCode();\n }\n } else if (KeyCode.IS_ARROW_LEFT) {\n focusOnField(idx - 1); // move focus back\n } else if (KeyCode.IS_ARROW_RIGHT) {\n focusOnField(idx + 1); // move focus forward\n } else if (KeyCode.IS_HOME) {\n focusOnField(0); // move focus back\n } else if (KeyCode.IS_END) {\n focusOnField(pinLength - 1); // move focus to last\n } else {\n evt.target.select(); // select the value so it can be replaced\n } // to allow paste command ctrl + v / cmd + v\n\n\n if ((evt.ctrlKey || evt.metaKey) && keyCode === 'v') {\n return;\n } // limit users to allow only numeric value\n\n\n if (!keyCode.match(NUM_REGEX) && !keyEventsArry.includes(keyCode) && numberOnly) {\n evt.preventDefault();\n }\n };\n /* eslint-enable complexity */\n // set ref of each input field and manually add the value\n // to make it a controlled component\n\n\n var setRef = function (el, idx) {\n if (el) {\n inputFieldRef.current[idx] = el;\n inputFieldRef.current[idx].value = valueArr ? valueArr[idx] : '';\n }\n };\n\n var handleBlur = function (event) {\n /* istanbul ignore else */\n if (onBlur && !inputFieldRef.current.includes(event.relatedTarget)) {\n onBlur(event);\n setFocused(false);\n }\n };\n\n var handleFocus = function (event) {\n /* istanbul ignore else */\n if (onFocus && !focused) {\n setFocused(true);\n onFocus(event);\n }\n }; // handle paste\n\n\n var handlePaste = function (evt) {\n var clipboardValue = evt.clipboardData && evt.clipboardData.getData('text'); // ignore the default behavior, onPaste calls onChange\n\n evt.preventDefault();\n\n if (clipboardValue && !clipboardValue.match(NUM_REGEX) && numberOnly) {\n return;\n }\n\n var pastedArr = clipboardValue && clipboardValue.replace(/\\s/g, '').split('');\n var minArr = Math.min(pastedArr && pastedArr.length, inputFieldRef.current.length);\n\n for (var i = 0; i < minArr; i++) {\n inputFieldRef.current[i].value = alphaCharCapitalize ? pastedArr[i].toUpperCase() : pastedArr[i];\n } // focus on next field or focus on the last field\n\n\n focusOnField(minArr === inputFieldRef.current.length ? minArr - 1 : minArr);\n generateCode();\n };\n\n var tokens = useTheme(); // Fetch tokens from Emotion context\n\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n\n var containerCSS = _styles.base;\n var loadInputField = pinArray.map(function (idx) {\n return jsx(ClassNames, {\n key: idx,\n \"data-ppui\": \"true\"\n }, function (_ref3) {\n var css = _ref3.css,\n cx = _ref3.cx;\n return jsx(TextInput, _extends({\n key: idx,\n className: cx(css([_styles.codeInputTextInput, errorText && _styles.error]), inputWrapperClassName),\n inputClassName: cx(css([_styles.codeInputTextInputControl, errorText && _styles.codeInputTextInputWithError]), inputClassName),\n \"aria-label\": \"\".concat(idx + 1, \"-\").concat(pinArray.length),\n name: \"\".concat(name, \"-\").concat(idx),\n id: \"ci-\".concat(id, \"-\").concat(idx),\n ref: function (el) {\n return setRef(el, idx);\n },\n onInput: function onInput(evt) {\n return handleInput(evt, idx);\n },\n onKeyDown: function onKeyDown(evt) {\n return handleKeyDown(evt, idx);\n },\n onPaste: function onPaste(evt) {\n return handlePaste(evt);\n },\n onFocus: handleFocus,\n onBlur: handleBlur,\n \"aria-describedby\": error ? \"message_\".concat(name) : null,\n error: error && !!errorText,\n pattern: numberOnly ? '[0-9]*' : ''\n }, rest, {\n \"data-ppui\": \"true\"\n }));\n });\n });\n return jsx(\"div\", {\n css: containerCSS,\n className: className,\n id: id,\n \"data-ppui-info\": \"code-input_2.2.9\"\n }, jsx(\"div\", {\n css: _styles.inputWrapper,\n \"data-ppui\": \"true\"\n }, loadInputField), errorText && function loadError() {\n var processText = Array.isArray(errorText) ? jsx(\"ul\", {\n css: _styles.errorTextList,\n \"data-ppui\": \"true\"\n }, errorText.map(function (text, index) {\n return jsx(\"li\", {\n key: \"text$-\".concat(index),\n \"data-ppui\": \"true\"\n }, text);\n })) : errorText;\n return jsx(ClassNames, {\n \"data-ppui\": \"true\"\n }, function (_ref2) {\n var css = _ref2.css;\n return jsx(\"div\", {\n css: _styles.error,\n id: \"message_\".concat(name),\n role: \"alert\",\n \"data-ppui\": \"true\"\n }, jsx(CriticalIcon // Refactor this with ClassName\n , {\n className: css(_styles.errorIcon),\n size: \"sm\",\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n }), jsx(\"span\", {\n css: _styles.errorText,\n \"data-ppui\": \"true\"\n }, processText));\n });\n }());\n});\n\nexport { CodeInput, styles as codeInputStyles };\n"],"sourceRoot":""}