{"ast":null,"code":"import { signal, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nfunction LoginComponent_Conditional_37_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 25);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r0.errorMsg(), \" \");\n }\n}\nexport let LoginComponent = /*#__PURE__*/(() => {\n class LoginComponent {\n constructor() {\n this.router = inject(Router);\n this.email = '';\n this.password = '';\n this.errorMsg = signal('');\n }\n onEmailChange(event) {\n this.email = event.target.value;\n }\n onPasswordChange(event) {\n this.password = event.target.value;\n }\n loginLocal() {\n if (!this.email || !this.password) {\n this.errorMsg.set('Por favor, ingresa tu correo y contraseña corporativos.');\n return;\n }\n if (this.email.includes('admin') || this.email.includes('kinetix')) {\n // Set local session credentials\n const userName = this.email.split('@')[0];\n const displayName = userName.charAt(0).toUpperCase() + userName.slice(1);\n localStorage.setItem('kinetix_token', 'local-mock-jwt-token-998822');\n localStorage.setItem('kinetix_user', JSON.stringify({\n name: displayName,\n email: this.email,\n role: 'Consortium Manager',\n avatar: displayName.substring(0, 2).toUpperCase()\n }));\n this.router.navigate(['/dashboard']);\n } else {\n this.errorMsg.set('Credenciales locales no encontradas. Intenta usar Active Directory SSO.');\n }\n }\n loginSSO() {\n // Simulate active directory single sign on flow\n localStorage.setItem('kinetix_token', 'ad-jwt-token-microsoft-entra-id-2026');\n localStorage.setItem('kinetix_user', JSON.stringify({\n name: 'Jess Miller',\n email: 'jess.miller@kinetix-consortium.com',\n role: 'Chief Architect & Director',\n avatar: 'JM'\n }));\n this.router.navigate(['/dashboard']);\n }\n static {\n this.ɵfac = function LoginComponent_Factory(t) {\n return new (t || LoginComponent)();\n };\n }\n static {\n this.ɵcmp = /*@__PURE__*/i0.ɵɵdefineComponent({\n type: LoginComponent,\n selectors: [[\"app-login\"]],\n standalone: true,\n features: [i0.ɵɵStandaloneFeature],\n decls: 40,\n vars: 1,\n consts: [[1, \"min-h-[75vh]\", \"flex\", \"items-center\", \"justify-center\", \"relative\", \"overflow-hidden\", \"px-4\"], [1, \"absolute\", \"-right-20\", \"-top-20\", \"w-80\", \"h-80\", \"bg-cyan-500/10\", \"rounded-full\", \"blur-[120px]\"], [1, \"absolute\", \"-left-20\", \"-bottom-20\", \"w-80\", \"h-80\", \"bg-magenta-500/10\", \"rounded-full\", \"blur-[120px]\"], [1, \"glass-panel\", \"p-8\", \"rounded-3xl\", \"w-full\", \"max-w-md\", \"relative\", \"border-white/5\", \"bg-[#0d0f1b]/75\"], [1, \"flex\", \"flex-col\", \"items-center\", \"gap-2\", \"mb-8\", \"text-center\"], [1, \"w-14\", \"h-14\", \"rounded-2xl\", \"bg-gradient-to-tr\", \"from-cyan-400\", \"via-blue-500\", \"to-indigo-500\", \"p-0.5\", \"shadow-[0_0_20px_rgba(0,242,254,0.3)]\"], [1, \"w-full\", \"h-full\", \"bg-[#0a0a0c]\", \"rounded-[14px]\", \"flex\", \"items-center\", \"justify-center\", \"font-black\", \"text-xl\", \"text-cyan-400\"], [1, \"text-xs\", \"uppercase\", \"font-extrabold\", \"tracking-widest\", \"text-slate-400\"], [1, \"text-2xl\", \"font-black\", \"text-white\", \"tracking-tight\", \"leading-none\", \"mt-1\"], [1, \"text-transparent\", \"bg-clip-text\", \"bg-gradient-to-r\", \"from-cyan-400\", \"to-blue-500\"], [1, \"flex\", \"flex-col\", \"gap-4\"], [1, \"flex\", \"flex-col\", \"gap-1.5\"], [1, \"text-[10px]\", \"uppercase\", \"font-bold\", \"text-slate-400\", \"tracking-wider\"], [\"type\", \"email\", \"placeholder\", \"nombre@kinetix.com\", 1, \"px-4\", \"py-3\", \"rounded-full\", \"input-cyberpunk\", \"text-sm\", \"w-full\", 3, \"change\"], [\"type\", \"password\", \"placeholder\", \"\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\", 1, \"px-4\", \"py-3\", \"rounded-full\", \"input-cyberpunk\", \"text-sm\", \"w-full\", 3, \"change\"], [1, \"w-full\", \"py-3\", \"rounded-full\", \"btn-cyan\", \"text-xs\", \"uppercase\", \"font-extrabold\", \"tracking-wider\", \"mt-2\", 3, \"click\"], [1, \"flex\", \"items-center\", \"gap-3\", \"my-3\"], [1, \"flex-grow\", \"border-white/5\"], [1, \"text-[9px]\", \"uppercase\", \"font-bold\", \"text-white/30\", \"tracking-widest\"], [1, \"w-full\", \"py-3\", \"rounded-full\", \"border\", \"border-cyan-500/25\", \"hover:border-cyan-500/50\", \"bg-cyan-950/20\", \"hover:bg-cyan-950/45\", \"text-cyan-400\", \"font-extrabold\", \"text-xs\", \"uppercase\", \"tracking-wider\", \"flex\", \"items-center\", \"justify-center\", \"gap-2.5\", \"transition-all\", 3, \"click\"], [\"viewBox\", \"0 0 23 23\", \"fill\", \"currentColor\", 1, \"w-4\", \"h-4\"], [\"x\", \"0\", \"y\", \"0\", \"width\", \"11\", \"height\", \"11\", \"fill\", \"#f25022\"], [\"x\", \"12\", \"y\", \"0\", \"width\", \"11\", \"height\", \"11\", \"fill\", \"#7fba00\"], [\"x\", \"0\", \"y\", \"12\", \"width\", \"11\", \"height\", \"11\", \"fill\", \"#00a4ef\"], [\"x\", \"12\", \"y\", \"12\", \"width\", \"11\", \"height\", \"11\", \"fill\", \"#ffb900\"], [1, \"mt-4\", \"p-3\", \"bg-magenta-500/10\", \"border\", \"border-magenta-500/20\", \"text-magenta-400\", \"rounded-xl\", \"text-xs\", \"text-center\", \"font-semibold\", \"animate-fadeIn\"], [1, \"text-[9px]\", \"text-white/30\", \"text-center\", \"mt-6\", \"uppercase\", \"tracking-wider\"]],\n template: function LoginComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 0);\n i0.ɵɵelement(1, \"div\", 1)(2, \"div\", 2);\n i0.ɵɵelementStart(3, \"div\", 3)(4, \"div\", 4)(5, \"div\", 5)(6, \"div\", 6);\n i0.ɵɵtext(7, \" K \");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(8, \"h2\", 7);\n i0.ɵɵtext(9, \"Portal Corporativo\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(10, \"h1\", 8);\n i0.ɵɵtext(11, \" Consorcio \");\n i0.ɵɵelementStart(12, \"span\", 9);\n i0.ɵɵtext(13, \"Kinetix\");\n i0.ɵɵelementEnd()()();\n i0.ɵɵelementStart(14, \"div\", 10)(15, \"div\", 11)(16, \"label\", 12);\n i0.ɵɵtext(17, \"Correo Corporativo\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(18, \"input\", 13);\n i0.ɵɵlistener(\"change\", function LoginComponent_Template_input_change_18_listener($event) {\n return ctx.onEmailChange($event);\n });\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(19, \"div\", 11)(20, \"label\", 12);\n i0.ɵɵtext(21, \"Contrase\\u00F1a\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(22, \"input\", 14);\n i0.ɵɵlistener(\"change\", function LoginComponent_Template_input_change_22_listener($event) {\n return ctx.onPasswordChange($event);\n });\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(23, \"button\", 15);\n i0.ɵɵlistener(\"click\", function LoginComponent_Template_button_click_23_listener() {\n return ctx.loginLocal();\n });\n i0.ɵɵtext(24, \" INGRESAR A LA INTRANET \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(25, \"div\", 16);\n i0.ɵɵelement(26, \"hr\", 17);\n i0.ɵɵelementStart(27, \"span\", 18);\n i0.ɵɵtext(28, \"O ACCEDER CON\");\n i0.ɵɵelementEnd();\n i0.ɵɵelement(29, \"hr\", 17);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(30, \"button\", 19);\n i0.ɵɵlistener(\"click\", function LoginComponent_Template_button_click_30_listener() {\n return ctx.loginSSO();\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(31, \"svg\", 20);\n i0.ɵɵelement(32, \"rect\", 21)(33, \"rect\", 22)(34, \"rect\", 23)(35, \"rect\", 24);\n i0.ɵɵelementEnd();\n i0.ɵɵtext(36, \" Active Directory SSO \");\n i0.ɵɵelementEnd()();\n i0.ɵɵtemplate(37, LoginComponent_Conditional_37_Template, 2, 1, \"div\", 25);\n i0.ɵɵnamespaceHTML();\n i0.ɵɵelementStart(38, \"div\", 26);\n i0.ɵɵtext(39, \" Acceso restringido. Encriptaci\\u00F3n SSL/TLS y pol\\u00EDticas Entra ID activas. \");\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵadvance(37);\n i0.ɵɵconditional(ctx.errorMsg() ? 37 : -1);\n }\n },\n dependencies: [CommonModule],\n styles: [\".animate-fadeIn[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_fadeIn .4s ease-out forwards}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}\"]\n });\n }\n }\n return LoginComponent;\n})();","map":null,"metadata":{},"sourceType":"module","externalDependencies":[]}