UNPKG

@frank-auth/react

Version:

Flexible and customizable React UI components for Frank Authentication

1 lines 2.3 kB
{"version":3,"file":"resend-email-button.cjs","sources":["../../../../../../src/components/auth/verification/email-verification/resend-email-button.tsx"],"sourcesContent":["// ============================================================================\n// Resend Email Button Component\n// ============================================================================\n\nimport { withErrorBoundary } from \"@/components\";\nimport { Button } from \"@/components/ui\";\nimport { ArrowPathIcon } from \"@heroicons/react/24/outline\";\nimport React from \"react\";\nimport type { ResendEmailButtonProps } from \"./email-verification\";\n\nexport const ResendEmailButton = withErrorBoundary(function ResendEmailButton({\n\tonResend,\n\tdisabled = false,\n\tremainingTime = 0,\n\tattempt = 0,\n\tmaxAttempts = 3,\n\tclassName,\n\tsize = \"md\",\n\tradius = \"md\",\n}: ResendEmailButtonProps) {\n\tconst canResend = remainingTime === 0 && attempt < maxAttempts;\n\tconst attemptsLeft = maxAttempts - attempt;\n\n\treturn (\n\t\t<Button\n\t\t\tcolor=\"primary\"\n\t\t\tvariant=\"light\"\n\t\t\tsize={size}\n\t\t\tradius={radius}\n\t\t\tonClick={onResend}\n\t\t\tdisabled={disabled || !canResend}\n\t\t\tclassName={className}\n\t\t\tstartContent={\n\t\t\t\t!canResend ? undefined : <ArrowPathIcon className=\"h-3 w-3\" />\n\t\t\t}\n\t\t>\n\t\t\t{remainingTime > 0\n\t\t\t\t? `Resend in ${remainingTime}s`\n\t\t\t\t: attempt >= maxAttempts\n\t\t\t\t\t? \"Max attempts reached\"\n\t\t\t\t\t: `Resend${attempt > 0 ? ` (${attemptsLeft} left)` : \"\"}`}\n\t\t</Button>\n\t);\n});\n"],"names":["ResendEmailButton","withErrorBoundary","onResend","disabled","remainingTime","attempt","maxAttempts","className","size","radius","canResend","attemptsLeft","jsx","Button","ArrowPathIcon"],"mappings":"uRAUaA,EAAoBC,EAAAA,kBAAkB,SAA2B,CAC7E,SAAAC,EACA,SAAAC,EAAW,GACX,cAAAC,EAAgB,EAChB,QAAAC,EAAU,EACV,YAAAC,EAAc,EACd,UAAAC,EACA,KAAAC,EAAO,KACP,OAAAC,EAAS,IACV,EAA2B,CACpB,MAAAC,EAAYN,IAAkB,GAAKC,EAAUC,EAC7CK,EAAeL,EAAcD,EAGlC,OAAAO,EAAA,IAACC,EAAA,OAAA,CACA,MAAM,UACN,QAAQ,QACR,KAAAL,EACA,OAAAC,EACA,QAASP,EACT,SAAUC,GAAY,CAACO,EACvB,UAAAH,EACA,aACEG,EAAyBE,EAAAA,IAAAE,EAAAA,cAAA,CAAc,UAAU,UAAU,EAA/C,OAGb,SAAgBV,EAAA,EACd,aAAaA,CAAa,IAC1BC,GAAWC,EACV,uBACA,SAASD,EAAU,EAAI,KAAKM,CAAY,SAAW,EAAE,EAAA,CAC1D,CAEF,CAAC"}