{"version":3,"file":"4914.js","mappings":"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","sources":["webpack://new_ui/./src/components/Icons/CheckIcon.js","webpack://new_ui/./src/components/Inputs/EmailInput.js","webpack://new_ui/./src/utils/strings.js","webpack://new_ui/./src/utils/validators.js"],"sourcesContent":["export default function CheckIcon() {\n return (\n \n \n \n );\n}\n","import {\n validEmail,\n required,\n minLength,\n maxLength,\n} from \"../../utils/validators\";\nimport { buildStringFromArray } from \"../../utils/strings\";\nimport CheckIcon from \"../Icons/CheckIcon\";\n\nexport const InitialEmailState = {\n value: \"\",\n validators: [],\n};\n\nexport default function EmailInput(props) {\n const handleEmailChange = async (event) => {\n event.persist();\n const value = event.target.value;\n if (validEmail(value) && props.setEmail) {\n props.setEmail({\n value: value,\n validators: getInputValidators(value),\n });\n }\n };\n\n const getInputValidators = (value) => {\n const validators = [];\n\n if (props.validEmail) {\n validators.push(validEmail(value));\n }\n\n if (props.isRequired) {\n validators.push(required(value));\n }\n if (props.minLength) {\n validators.push(minLength(value, props.minLength));\n }\n if (props.maxLength) {\n validators.push(maxLength(value, props.maxLength));\n }\n return validators;\n };\n\n const errorMessages = buildStringFromArray(props.email.validators);\n\n const getErrorStyles = () => {\n if (errorMessages.length > 0) {\n return \"border-brand-red-1 text-brand-red-1 focus:border-brand-red-1 focus:ring-brand-red-1 input-error-shadow\";\n }\n return \"border-brand-light-gray text-white focus:border-brand-light-blue focus:ring-brand-light-blue\";\n };\n\n const errors = errorMessages.map((message, index) => {\n return
{`• ${message}`}
;\n });\n\n return (\n
\n \n
\n handleEmailChange(event)}\n name={props.name ?? \"email\"}\n onBlur={props?.onBlur}\n />\n { props.checkIcon ? (\n
\n {errorMessages.length === 0 && props?.email?.value && }\n
\n ) : \"\"\n }\n\n {props.showErrorBelowInput && errors.length > 0 ? (\n
\n {errors}\n
\n ) : (\n <>\n {errors.length > 0 && (\n \n )}\n {errors.length > 0 && (\n
\n {errors}\n
\n )}\n \n )}\n
\n
\n );\n}\n","export const buildStringFromArray = (array) => {\n if (typeof array !== \"object\") return;\n const cleanedArray = array.filter((value) => typeof value === \"string\");\n return cleanedArray;\n};\n\nexport const makeid = (length) => {\n let result = '';\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n const charactersLength = characters.length;\n let counter = 0;\n while (counter < length) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n counter += 1;\n }\n return result;\n}\n\nexport const renderPosition = (position) => {\n const ones = position % 10;\n const tens = Math.floor(position / 10) % 10;\n\n if (tens === 1) {\n return `${position}th`;\n } else {\n switch (ones) {\n case 1:\n return `${position}st`;\n case 2:\n return `${position}nd`;\n case 3:\n return `${position}rd`;\n default:\n return `${position}th`;\n }\n }\n};\n\nexport const camelCaseToSnakeCase = (string) => {\n return string.replace(/([a-z])([A-Z])/g, \"$1_$2\").toLowerCase();\n}\n\nexport const snakeCaseToCamelCase = (string) => {\n return string.replace(/_([a-z])/g, (match, char) => char.toUpperCase());\n};\n\nexport const snakeCaseToTitleCase = (string) => {\n return string\n .split(\"_\")\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \");\n};\n\nexport const mapErrorsFromForm = (errors) => {\n return errors?.map((error) => error);\n};\n\nexport function truncateText(text, maxLength) {\n if (text.length <= maxLength) {\n return text\n } else {\n return text.slice(0, maxLength) + \"...\"\n }\n}\n\n\nexport const getFirstWallet = (wallets) => {\n if (wallets.length === 0) return;\n return truncateText(wallets[0].address, 10);\n};\n\nexport const generateRandomBigInt = (lowBigInt, highBigInt) => {\n const min = BigInt(lowBigInt);\n const max = BigInt(highBigInt);\n\n if (min >= max) {\n throw new Error(\"lowBigInt must be smaller than highBigInt\");\n }\n\n const range = max - min + BigInt(1);\n const randomBigInt = BigInt(Math.floor(Math.random() * Number(range)));\n\n return min + randomBigInt;\n}","import { profanity } from '@2toad/profanity';\nimport { PublicKey } from '@solana/web3.js';\nimport Decimal from \"decimal.js\";\n\n// https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address\nexport const EMAIL_REGEX = /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/\n\nexport const isNumeric = (value) => {\n return /^-?\\d+$/.test(value);\n}\n\nexport const validEmail = (value) => {\n return (\n EMAIL_REGEX.test(value) ||\n \"It should be a valid email address.\"\n );\n};\n\nexport const required = (value) => {\n return (value && value?.length && value?.trim() !== \"\") || \"Field required.\";\n};\n\nexport const requiredNumber = (value) => {\n return (value !== null && value !== undefined) || \"Field required.\";\n};\n\nexport const dateIsRequired = (value) => {\n return (value !== null && value !== undefined) || \"Field required.\";\n};\n\nexport const minLength = (value, len) => {\n return value?.length >= len || `Minimum of ${len} characters.`;\n};\n\nexport const maxLength = (value, len) => {\n return value?.length <= len || `${len} characters max.`;\n};\n\nexport const leastOneUppercase = (value) => {\n return /[A-Z]/.test(value) || \"At least 1 uppercase character.\";\n};\n\nexport const leastOneLowercase = (value) => {\n return /[a-z]/.test(value) || \"At least 1 lowercase character.\";\n};\n\nexport const leastOneNumber = (value) => {\n return /[0-9]/.test(value) || \"At least 1 number.\";\n};\n\nexport const onlyNumbers = (value) => {\n return isNumeric(value) || \"Only numbers are allowed.\";\n};\n\nexport const onlyNumbersWithDecimals = (value) => {\n return /^\\d*(\\.\\d*)?$/.test(value) || \"Only numbers are allowed.\";\n};\n\nexport const isValidDecimal = (number) => {\n const decimalRegex = /^[-+]?\\d+\\.\\d+$/;\n return decimalRegex.test(number);\n};\n\nexport const minVal = (value, min) => {\n return Number(value) >= Number(min) || `Minimum of ${min}.`;\n};\n\nexport const maxVal = (value, max) => {\n return Number(value) <= Number(max) || `Maximum of ${max}.`;\n};\n\nexport const leastOneSpecialCharacter = (value) => {\n return /[!@#$%^&*]/.test(value) || \"At least 1 special symbol.\";\n};\n\nexport const validPassword = (value) => {\n return (\n leastOneUppercase(value) &&\n leastOneLowercase(value) &&\n leastOneNumber(value)\n );\n};\n\nexport const validName = (value) => {\n return (\n /^[a-zA-Z0-9]+$/.test(value) ||\n \"We only accept letters and numbers in this field.\"\n );\n};\n\nexport const withoutSpaces = (value) => {\n return (\n !/\\s/.test(value) ||\n \"This field does not accept spaces.\"\n );\n};\n\nexport const isAllTrue = (array) => {\n if (!array) return false;\n return array.every((value) => value === true);\n};\n\nexport const notBadWords = (value) => {\n return (\n !profanity.exists(value) ||\n \"This display name does not conform to our guidelines, please enter a different display name.\"\n );\n};\n\nexport const isEthereumAddressBoolean = (value) => {\n return /^(0x)?[0-9a-f]{40}$/i.test(value)\n}\n\nexport const isSolanaAddressBoolean = (value) => {\n let isValid = false\n try {\n const address = new PublicKey(value)\n isValid = PublicKey.isOnCurve(address)\n } catch (e) {}\n return isValid\n}\n\nexport const isEthereumAddress = (value) => {\n return (\n isEthereumAddressBoolean(value) ||\n \"It should be a valid Ethereum address.\"\n );\n}\n\nexport const isSolanaAddress = (value) => {\n return (\n isSolanaAddressBoolean(value) ||\n \"It should be a valid Solana address.\"\n );\n}\n\nexport const isUrlAddress = (value) => {\n return (\n /^(https?|ftp):\\/\\/[^\\s/$.?#].[^\\s]*$/i.test(value) ||\n \"It should be a valid url address.\"\n );\n}\n\n\nexport const validateGreaterOrEqualThan = (num1, num2, msg) => {\n if (Decimal(num1).greaterThanOrEqualTo(num2)) {\n return true;\n } else {\n return msg;\n }\n}\n\nexport const validateLessOrEqualThan = (num1, num2, msg) => {\n if (Decimal(num1).lessThanOrEqualTo(num2)) {\n return true;\n } else {\n return msg;\n }\n }\n"],"names":["CheckIcon","width","height","viewBox","fill","xmlns","fillRule","clipRule","d","InitialEmailState","value","validators","EmailInput","props","handleEmailChange","event","persist","target","validEmail","setEmail","getInputValidators","push","isRequired","required","minLength","maxLength","errorMessages","buildStringFromArray","email","errors","map","message","index","key","className","labelClassName","label","length","inputClassName","id","type","placeholder","autoComplete","disabled","onChange","name","onBlur","checkIcon","showErrorBelowInput","errorsClassName","array","filter","makeid","result","characters","charactersLength","counter","charAt","Math","floor","random","camelCaseToSnakeCase","string","replace","toLowerCase","snakeCaseToCamelCase","match","char","toUpperCase","snakeCaseToTitleCase","split","word","slice","join","mapErrorsFromForm","error","truncateText","text","generateRandomBigInt","lowBigInt","highBigInt","min","BigInt","max","randomBigInt","Number","EMAIL_REGEX","isNumeric","test","trim","requiredNumber","dateIsRequired","len","leastOneUppercase","leastOneLowercase","leastOneNumber","onlyNumbers","onlyNumbersWithDecimals","minVal","maxVal","leastOneSpecialCharacter","validPassword","validName","withoutSpaces","isAllTrue","every","notBadWords","profanity","isEthereumAddressBoolean","isSolanaAddressBoolean","isValid","address","PublicKey","e","isEthereumAddress","isUrlAddress","validateGreaterOrEqualThan","num1","num2","msg","Decimal","greaterThanOrEqualTo","validateLessOrEqualThan","lessThanOrEqualTo"],"sourceRoot":""}