analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
1 lines • 3.34 kB
Source Map (JSON)
{"version":3,"sources":["../src/components/TokenValidation/TokenValidation.tsx"],"sourcesContent":["import Text from '../Text/Text';\nimport { cn } from '../../utils/utils';\nimport { CircleNotchIcon } from '@phosphor-icons/react/dist/csr/CircleNotch';\n\n/**\n * Props interface for the TokenValidation component\n *\n * @interface TokenValidationProps\n * @property {string} [title] - Custom title text (default: \"Validando acesso...\")\n * @property {string} [description] - Custom description text\n * @property {string} [logoSrc] - Logo image source URL\n * @property {string} [logoAlt] - Logo image alt text\n * @property {string} [className] - Additional CSS classes for the container\n */\nexport interface TokenValidationProps {\n title?: string;\n description?: string;\n logoSrc?: string;\n logoAlt?: string;\n className?: string;\n}\n\n/**\n * TokenValidation component for displaying a loading state while validating tokens\n *\n * A reusable component for displaying a loading screen during token validation\n * with configurable content and logo.\n *\n * @param {TokenValidationProps} props - The component props\n * @returns {JSX.Element} The TokenValidation component\n *\n * @example\n * ```typescript\n * <TokenValidation\n * logoSrc=\"/logo.png\"\n * title=\"Autenticando...\"\n * description=\"Por favor, aguarde enquanto validamos seu acesso.\"\n * />\n * ```\n */\nconst TokenValidation = ({\n title = 'Validando acesso...',\n description = 'Por favor, aguarde enquanto verificamos suas credenciais.',\n logoSrc,\n logoAlt = 'Logo',\n className = '',\n}: TokenValidationProps) => {\n return (\n <div\n className={cn(\n 'min-h-screen w-full bg-primary-800 flex flex-col items-center justify-center p-4',\n className\n )}\n >\n <div className=\"flex flex-col items-center gap-8 max-w-md w-full\">\n {logoSrc && (\n <img src={logoSrc} alt={logoAlt} className=\"h-12 object-contain\" />\n )}\n\n <div className=\"bg-background rounded-xl p-8 w-full flex flex-col items-center gap-6 shadow-lg\">\n <div className=\"bg-primary-100 p-4 rounded-full\">\n <CircleNotchIcon\n size={48}\n className=\"text-primary-800 animate-spin\"\n />\n </div>\n\n <div className=\"flex flex-col items-center gap-2 text-center\">\n <Text size=\"xl\" weight=\"bold\">\n {title}\n </Text>\n <Text size=\"md\" color=\"text-text-500\">\n {description}\n </Text>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default TokenValidation;\n"],"mappings":";;;;;;;;AAEA,SAAS,uBAAuB;AAsDtB,cAWA,YAXA;AAhBV,IAAM,kBAAkB,CAAC;AAAA,EACvB,QAAQ;AAAA,EACR,cAAc;AAAA,EACd;AAAA,EACA,UAAU;AAAA,EACV,YAAY;AACd,MAA4B;AAC1B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MAEA,+BAAC,SAAI,WAAU,oDACZ;AAAA,mBACC,oBAAC,SAAI,KAAK,SAAS,KAAK,SAAS,WAAU,uBAAsB;AAAA,QAGnE,qBAAC,SAAI,WAAU,kFACb;AAAA,8BAAC,SAAI,WAAU,mCACb;AAAA,YAAC;AAAA;AAAA,cACC,MAAM;AAAA,cACN,WAAU;AAAA;AAAA,UACZ,GACF;AAAA,UAEA,qBAAC,SAAI,WAAU,gDACb;AAAA,gCAAC,gBAAK,MAAK,MAAK,QAAO,QACpB,iBACH;AAAA,YACA,oBAAC,gBAAK,MAAK,MAAK,OAAM,iBACnB,uBACH;AAAA,aACF;AAAA,WACF;AAAA,SACF;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,0BAAQ;","names":[]}