@salesmind-ai/design-system 0.3.8 → 0.3.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/index.cjs +18 -18
- package/dist/admin/index.d.cts +2 -2
- package/dist/admin/index.d.ts +2 -2
- package/dist/admin/index.js +1 -1
- package/dist/{chunk-OXNXEQY7.js → chunk-5SN66B2X.js} +11 -7
- package/dist/chunk-5SN66B2X.js.map +1 -0
- package/dist/{chunk-I75BFEYT.cjs → chunk-G2XGBO5V.cjs} +10 -6
- package/dist/chunk-G2XGBO5V.cjs.map +1 -0
- package/dist/core/index.css +1 -2
- package/dist/core/index.css.map +1 -1
- package/dist/index.cjs +18 -18
- package/dist/index.css +2 -3
- package/dist/index.css.map +1 -1
- package/dist/index.js +1 -1
- package/dist/motion/index.css +1 -1
- package/dist/motion/index.css.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-I75BFEYT.cjs.map +0 -1
- package/dist/chunk-OXNXEQY7.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Sidebar/Sidebar.tsx","../src/components/FloatingTabBar/FloatingTabBar.tsx","../src/components/Shell/Shell.tsx","../src/components/DataTable/DataTable.tsx","../src/components/Login/Login.tsx","../src/components/ChangeEmail/ChangeEmail.tsx","../src/components/Signup/Signup.tsx","../src/components/ForgotPassword/ForgotPassword.tsx","../src/components/LeadProfileView/LeadProfileView.tsx","../src/components/LeadProfileView/subcomponents/Icons.tsx","../src/components/LeadProfileView/subcomponents/EmptyStateDisplay.tsx","../src/components/LeadProfileView/subcomponents/LoadingStateDisplay.tsx","../src/components/LeadProfileView/subcomponents/IdentityHeader.tsx","../src/components/LeadProfileView/subcomponents/IntelligenceSummary.tsx","../src/components/LeadProfileView/subcomponents/MBTISpectrum.tsx","../src/components/LeadProfileView/subcomponents/BehavioralHighlights.tsx","../src/components/LeadProfileView/subcomponents/DeepDiveSection.tsx"],"names":["React","clsx","jsx","jsxs","useState","useEffect"],"mappings":"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","sourcesContent":["import React from 'react';\nimport clsx from 'clsx';\nimport './Sidebar.css';\n\nexport interface SidebarProps {\n /** Position of the sidebar */\n position?: 'left' | 'right';\n /** Width of the sidebar */\n width?: number | string;\n /** Whether the sidebar is collapsed */\n collapsed?: boolean;\n /** Custom class name */\n className?: string;\n /** Child content */\n children?: React.ReactNode;\n}\n\n/**\n * Sidebar — Level 1 Glass Panel\n *\n * A floating sidebar that maintains 24px minimum distance from viewport edges.\n * Uses Signature Glass treatment with full optical stack.\n */\nexport const Sidebar = React.forwardRef<HTMLElement, SidebarProps>(\n ({ position = 'left', width = 280, collapsed = false, className, children }, ref) => {\n const style: React.CSSProperties = {\n '--sidebar-width': typeof width === 'number' ? `${width}px` : width,\n } as React.CSSProperties;\n\n return (\n <aside\n ref={ref}\n className={clsx(\n 'ds-sidebar',\n `ds-sidebar--${position}`,\n collapsed && 'ds-sidebar--collapsed',\n className,\n )}\n style={style}\n >\n <div className=\"ds-sidebar__content\">{children}</div>\n </aside>\n );\n },\n);\n\nSidebar.displayName = 'Sidebar';\n\n/* Sidebar Section */\nexport interface SidebarSectionProps {\n title?: string;\n className?: string;\n children?: React.ReactNode;\n}\n\nexport const SidebarSection = React.forwardRef<HTMLDivElement, SidebarSectionProps>(\n ({ title, className, children }, ref) => {\n return (\n <div ref={ref} className={clsx('ds-sidebar__section', className)}>\n {title && <h3 className=\"ds-sidebar__section-title\">{title}</h3>}\n {children}\n </div>\n );\n },\n);\n\nSidebarSection.displayName = 'SidebarSection';\n\n/* Sidebar Item */\nexport interface SidebarItemProps {\n /** Whether this item is active */\n active?: boolean;\n /** Icon element */\n icon?: React.ReactNode;\n /** Click handler */\n onClick?: () => void;\n /** Custom class name */\n className?: string;\n /** Child content */\n children?: React.ReactNode;\n}\n\nexport const SidebarItem = React.forwardRef<HTMLButtonElement, SidebarItemProps>(\n ({ active = false, icon, onClick, className, children }, ref) => {\n return (\n <button\n ref={ref}\n className={clsx('ds-sidebar__item', active && 'ds-sidebar__item--active', className)}\n onClick={onClick}\n type=\"button\"\n >\n {icon && <span className=\"ds-sidebar__item-icon\">{icon}</span>}\n <span className=\"ds-sidebar__item-label\">{children}</span>\n </button>\n );\n },\n);\n\nSidebarItem.displayName = 'SidebarItem';\n","import React from 'react';\nimport clsx from 'clsx';\nimport './FloatingTabBar.css';\n\nexport interface FloatingTabBarProps {\n /** Position of the tab bar */\n position?: 'top' | 'bottom';\n /** Custom class name */\n className?: string;\n /** Child tabs */\n children?: React.ReactNode;\n}\n\n/**\n * FloatingTabBar — Level 2 Glass Ornament\n *\n * A floating navigation bar with stronger rim light and elevation.\n * Maintains 24px minimum distance from viewport edges.\n */\nexport const FloatingTabBar = React.forwardRef<HTMLDivElement, FloatingTabBarProps>(\n ({ position = 'bottom', className, children }, ref) => {\n return (\n <nav\n ref={ref}\n className={clsx('ds-floating-tab-bar', `ds-floating-tab-bar--${position}`, className)}\n role=\"tablist\"\n >\n {children}\n </nav>\n );\n },\n);\n\nFloatingTabBar.displayName = 'FloatingTabBar';\n\n/* Tab Item */\nexport interface TabItemProps {\n /** Whether this tab is active */\n active?: boolean;\n /** Icon element */\n icon?: React.ReactNode;\n /** Label text */\n label?: string;\n /** Click handler */\n onClick?: () => void;\n /** Custom class name */\n className?: string;\n}\n\nexport const TabItem = React.forwardRef<HTMLButtonElement, TabItemProps>(\n ({ active = false, icon, label, onClick, className }, ref) => {\n return (\n <button\n ref={ref}\n className={clsx('ds-tab-item', active && 'ds-tab-item--active', className)}\n onClick={onClick}\n role=\"tab\"\n aria-selected={active}\n type=\"button\"\n >\n {icon && <span className=\"ds-tab-item__icon\">{icon}</span>}\n {label && <span className=\"ds-tab-item__label\">{label}</span>}\n </button>\n );\n },\n);\n\nTabItem.displayName = 'TabItem';\n","import React, { useEffect, useState } from 'react';\nimport clsx from 'clsx';\nimport { Sidebar, SidebarSection, SidebarItem } from '../Sidebar/Sidebar';\nimport { FloatingTabBar, TabItem } from '../FloatingTabBar/FloatingTabBar';\nimport './Shell.css';\n\n// Icons\nconst HomeIcon = () => (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}>\n <path d=\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\" />\n <polyline points=\"9,22 9,12 15,12 15,22\" />\n </svg>\n);\nconst ChartIcon = () => (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}>\n <line x1=\"18\" y1=\"20\" x2=\"18\" y2=\"10\" />\n <line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"4\" />\n <line x1=\"6\" y1=\"20\" x2=\"6\" y2=\"14\" />\n </svg>\n);\nconst UsersIcon = () => (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}>\n <path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\" />\n <circle cx=\"9\" cy=\"7\" r=\"4\" />\n <path d=\"M23 21v-2a4 4 0 0 0-3-3.87\" />\n <path d=\"M16 3.13a4 4 0 0 1 0 7.75\" />\n </svg>\n);\nconst SettingsIcon = () => (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}>\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n <path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z\" />\n </svg>\n);\n\nimport type { NavPlacement } from '../../theme/AppearanceProvider';\n\nexport interface ShellProps {\n /**\n * Navigation placement.\n * If undefined, reads from document.documentElement.dataset.nav\n */\n layout?: NavPlacement;\n /** Custom class name */\n className?: string;\n /** Content */\n children?: React.ReactNode;\n /** Navigation items (optional - uses defaults if not provided) */\n navItems?: NavItem[];\n /** Active nav item key */\n activeNav?: string;\n /** Nav item click handler */\n onNavChange?: (key: string) => void;\n /** Title for the \"System\" sidebar section when navItems.length > 3. @default \"System\" */\n systemSectionTitle?: string;\n}\n\nexport interface NavItem {\n key: string;\n label: string;\n icon: React.ReactNode;\n}\n\nconst DEFAULT_NAV_ITEMS: NavItem[] = [\n { key: 'dashboard', label: 'Dashboard', icon: <HomeIcon /> },\n { key: 'analytics', label: 'Analytics', icon: <ChartIcon /> },\n { key: 'contacts', label: 'Contacts', icon: <UsersIcon /> },\n { key: 'settings', label: 'Settings', icon: <SettingsIcon /> },\n];\n\n/**\n * Read data-nav from HTML element\n */\nfunction getNavFromDocument(): NavPlacement {\n if (typeof document === 'undefined') return 'left';\n const nav = document.documentElement.getAttribute('data-nav');\n if (nav === 'left' || nav === 'right' || nav === 'bottom') {\n return nav;\n }\n return 'left';\n}\n\nexport const Shell = React.forwardRef<HTMLDivElement, ShellProps>(\n (\n {\n layout,\n className,\n children,\n navItems = DEFAULT_NAV_ITEMS,\n activeNav = 'dashboard',\n onNavChange,\n systemSectionTitle = 'System',\n },\n ref,\n ) => {\n // Support both prop-driven and attribute-driven layout\n const [computedLayout, setComputedLayout] = useState<NavPlacement>(\n layout || getNavFromDocument(),\n );\n\n useEffect(() => {\n if (layout) {\n setComputedLayout(layout);\n return;\n }\n\n // Watch for data-nav changes via MutationObserver\n if (typeof document === 'undefined') return;\n\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.type === 'attributes' && mutation.attributeName === 'data-nav') {\n setComputedLayout(getNavFromDocument());\n }\n });\n });\n\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['data-nav'],\n });\n\n // Initial read\n setComputedLayout(getNavFromDocument());\n\n return () => observer.disconnect();\n }, [layout]);\n\n const handleNavClick = (key: string) => {\n onNavChange?.(key);\n };\n\n return (\n <div\n ref={ref}\n className={clsx('ds-shell', `ds-shell--${computedLayout}`, className)}\n data-shell-layout={computedLayout}\n >\n {/* Sidebar Navigation */}\n {(computedLayout === 'left' || computedLayout === 'right') && (\n <Sidebar position={computedLayout}>\n <SidebarSection>\n {navItems.slice(0, 3).map((item) => (\n <SidebarItem\n key={item.key}\n icon={item.icon}\n active={activeNav === item.key}\n onClick={() => handleNavClick(item.key)}\n >\n {item.label}\n </SidebarItem>\n ))}\n </SidebarSection>\n {navItems.length > 3 && (\n <SidebarSection title={systemSectionTitle}>\n {navItems.slice(3).map((item) => (\n <SidebarItem\n key={item.key}\n icon={item.icon}\n active={activeNav === item.key}\n onClick={() => handleNavClick(item.key)}\n >\n {item.label}\n </SidebarItem>\n ))}\n </SidebarSection>\n )}\n </Sidebar>\n )}\n\n {/* Bottom Tab Bar Navigation */}\n {computedLayout === 'bottom' && (\n <FloatingTabBar position=\"bottom\">\n {navItems.map((item) => (\n <TabItem\n key={item.key}\n icon={item.icon}\n label={item.label}\n active={activeNav === item.key}\n onClick={() => handleNavClick(item.key)}\n />\n ))}\n </FloatingTabBar>\n )}\n\n {/* Main Content Area */}\n <main className=\"ds-shell__content\">{children}</main>\n </div>\n );\n },\n);\n\nShell.displayName = 'Shell';\n","import React from 'react';\nimport clsx from 'clsx';\nimport './DataTable.css';\n\n/* ============================================================================\n DATA TABLE ROOT\n ============================================================================ */\n\nexport interface DataTableProps extends React.TableHTMLAttributes<HTMLTableElement> {\n children?: React.ReactNode;\n}\n\nexport const DataTable = React.forwardRef<HTMLTableElement, DataTableProps>(\n ({ className, children, ...props }, ref) => {\n return (\n <div className=\"ds-data-table-container\">\n <table ref={ref} className={clsx('ds-data-table', className)} {...props}>\n {children}\n </table>\n </div>\n );\n },\n);\n\nDataTable.displayName = 'DataTable';\n\n/* ============================================================================\n DATA TABLE HEADER\n ============================================================================ */\n\nexport const DataTableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => {\n return <thead ref={ref} className={clsx('ds-data-table__header', className)} {...props} />;\n});\n\nDataTableHeader.displayName = 'DataTableHeader';\n\n/* ============================================================================\n DATA TABLE BODY\n ============================================================================ */\n\nexport const DataTableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => {\n return <tbody ref={ref} className={clsx('ds-data-table__body', className)} {...props} />;\n});\n\nDataTableBody.displayName = 'DataTableBody';\n\n/* ============================================================================\n DATA TABLE ROW\n ============================================================================ */\n\nexport const DataTableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => {\n return <tr ref={ref} className={clsx('ds-data-table__row', className)} {...props} />;\n});\n\nDataTableRow.displayName = 'DataTableRow';\n\n/* ============================================================================\n DATA TABLE HEAD CELL\n ============================================================================ */\n\nexport const DataTableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => {\n return <th ref={ref} className={clsx('ds-data-table__head', className)} {...props} />;\n});\n\nDataTableHead.displayName = 'DataTableHead';\n\n/* ============================================================================\n DATA TABLE CELL\n ============================================================================ */\n\nexport const DataTableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => {\n return <td ref={ref} className={clsx('ds-data-table__cell', className)} {...props} />;\n});\n\nDataTableCell.displayName = 'DataTableCell';\n","import React, { useState } from 'react';\nimport clsx from 'clsx';\nimport { Button } from '../Button/Button';\nimport { TextField } from '../TextField/TextField';\nimport { Checkbox } from '../Checkbox/Checkbox';\nimport './Login.css';\n\n/* ============================================================================\n LOGIN PAGE — Signature Glass Treatment with Animations\n ============================================================================ */\n\nexport interface LoginLabels {\n continueWithGoogleLabel?: string;\n orContinueWithEmailLabel?: string;\n emailPlaceholder?: string;\n passwordPlaceholder?: string;\n signInLabel?: string;\n doNotHaveAnAccountLabel?: string;\n emailLabel?: string;\n passwordLabel?: string;\n rememberMeLabel?: string;\n forgotPasswordLabel?: string;\n signUpLabel?: string;\n trustedByLabel?: string;\n}\n\nexport interface LoginProps {\n /** Company/Product name */\n brandName?: string;\n /** Tagline or description */\n tagline?: string;\n /** Translation strings */\n labels?: LoginLabels;\n /** Show social login options */\n showSocialLogin?: boolean;\n /** Show \"Remember me\" checkbox */\n showRememberMe?: boolean;\n /** Show \"Forgot password\" link */\n showForgotPassword?: boolean;\n /** Show sign up link */\n showSignUp?: boolean;\n /** Language selector component */\n localeSelector?: React.ReactNode;\n\n /** Custom logo element */\n logo?: React.ReactNode;\n /** Form submit handler */\n onSubmit?: (data: { email: string; password: string; rememberMe: boolean }) => void;\n /** Social login handlers */\n onGoogleLogin?: () => void;\n /** Link handlers */\n onForgotPassword?: () => void;\n onSignUp?: () => void;\n /** Loading state */\n isLoading?: boolean;\n /** Error message */\n error?: string;\n /** Custom class name */\n className?: string;\n /** Custom styles */\n style?: React.CSSProperties;\n}\n\nconst defaultLoginLabels: LoginLabels = {\n continueWithGoogleLabel: 'Continue with Google',\n orContinueWithEmailLabel: 'or continue with email',\n emailPlaceholder: 'you@company.com',\n passwordPlaceholder: 'Enter your password',\n signInLabel: 'Sign in',\n doNotHaveAnAccountLabel: \"Don't have an account?\",\n emailLabel: 'Email',\n passwordLabel: 'Password',\n rememberMeLabel: 'Remember me',\n forgotPasswordLabel: 'Forgot password?',\n signUpLabel: 'Sign up',\n trustedByLabel: 'Trusted by 500+ sales teams worldwide',\n};\n\nexport const Login: React.FC<LoginProps> = ({\n brandName,\n tagline = 'AI Sales Agents that automate your pipeline',\n labels: customLabels,\n showSocialLogin = true,\n showRememberMe = true,\n showForgotPassword = true,\n showSignUp = true,\n logo,\n onSubmit,\n onGoogleLogin,\n onForgotPassword,\n onSignUp,\n isLoading = false,\n error,\n className,\n style,\n}) => {\n const l = { ...defaultLoginLabels, ...customLabels };\n const [email, setEmail] = useState('');\n const [password, setPassword] = useState('');\n const [showPassword, setShowPassword] = useState(false);\n const [rememberMe, setRememberMe] = useState(false);\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n onSubmit?.({ email, password, rememberMe });\n };\n\n return (\n <div className={clsx('ds-login', className)} style={style}>\n {/* Animated Background Accents Container */}\n <div className=\"ds-login__background\">\n <div className=\"ds-login__accent ds-login__accent--1\" aria-hidden=\"true\" />\n <div className=\"ds-login__accent ds-login__accent--2\" aria-hidden=\"true\" />\n </div>\n\n {/* Main Card */}\n <div className=\"ds-login__card\">\n {/* Header */}\n <div className=\"ds-login__header\">\n {logo ? (\n <div className=\"ds-login__logo\">{logo}</div>\n ) : (\n <div className=\"ds-login__logo ds-login__logo--default\">\n <div className=\"ds-login__logo-icon\">\n <svg viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"32\" height=\"32\" rx=\"8\" fill=\"url(#logo-gradient)\" />\n <path\n d=\"M10 16L14 20L22 12\"\n stroke=\"white\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <defs>\n <linearGradient id=\"logo-gradient\" x1=\"0\" y1=\"0\" x2=\"32\" y2=\"32\">\n <stop stopColor=\"rgb(var(--accent-rgb))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--accent2-rgb))\" />\n </linearGradient>\n </defs>\n </svg>\n </div>\n </div>\n )}\n\n <h1 className=\"ds-login__title\">{brandName}</h1>\n <p className=\"ds-login__tagline\">{tagline}</p>\n </div>\n\n {/* Error Message */}\n {error && (\n <div className=\"ds-login__error\">\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"8\" cy=\"8\" r=\"7\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path d=\"M8 4.5V8.5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n <circle cx=\"8\" cy=\"11\" r=\"0.75\" fill=\"currentColor\" />\n </svg>\n <span>{error}</span>\n </div>\n )}\n\n {/* Social Login */}\n {showSocialLogin && (\n <div className=\"ds-login__social\">\n <button\n type=\"button\"\n className=\"ds-login__social-btn\"\n onClick={onGoogleLogin}\n disabled={isLoading}\n >\n <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\">\n <path\n fill=\"#4285F4\"\n d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z\"\n />\n <path\n fill=\"#34A853\"\n d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\"\n />\n <path\n fill=\"#FBBC05\"\n d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z\"\n />\n <path\n fill=\"#EA4335\"\n d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z\"\n />\n </svg>\n <span>{l.continueWithGoogleLabel}</span>\n </button>\n\n <div className=\"ds-login__divider\">\n <span>{l.orContinueWithEmailLabel}</span>\n </div>\n </div>\n )}\n\n {/* Form */}\n <form className=\"ds-login__form\" onSubmit={handleSubmit}>\n <div className=\"ds-login__field\">\n <TextField\n label={l.emailLabel}\n type=\"email\"\n placeholder={l.emailPlaceholder}\n value={email}\n onChange={(e) => setEmail(e.target.value)}\n disabled={isLoading}\n autoComplete=\"email\"\n />\n </div>\n\n <div className=\"ds-login__field\">\n <TextField\n label={l.passwordLabel}\n type={showPassword ? 'text' : 'password'}\n placeholder={l.passwordPlaceholder}\n value={password}\n onChange={(e) => setPassword(e.target.value)}\n disabled={isLoading}\n autoComplete=\"current-password\"\n endAdornment={\n <button\n type=\"button\"\n className=\"ds-login__password-toggle\"\n onClick={() => setShowPassword(!showPassword)}\n aria-label={showPassword ? 'Hide password' : 'Show password'}\n >\n {showPassword ? (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24\" />\n <line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\" />\n </svg>\n ) : (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\" />\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n </svg>\n )}\n </button>\n }\n />\n </div>\n\n <div className=\"ds-login__options\">\n {showRememberMe && (\n <Checkbox\n label={l.rememberMeLabel}\n checked={rememberMe}\n onCheckedChange={(checked) => setRememberMe(checked === true)}\n disabled={isLoading}\n />\n )}\n\n {showForgotPassword && (\n <button\n type=\"button\"\n className=\"ds-login__link\"\n onClick={onForgotPassword}\n disabled={isLoading}\n >\n {l.forgotPasswordLabel}\n </button>\n )}\n </div>\n\n <Button\n type=\"submit\"\n variant=\"primary\"\n size=\"lg\"\n disabled={isLoading || !email || !password}\n className=\"ds-login__submit\"\n >\n {isLoading ? <span className=\"ds-login__spinner\" /> : l.signInLabel}\n </Button>\n </form>\n\n {/* Footer */}\n {showSignUp && (\n <div className=\"ds-login__footer\">\n <span>{l.doNotHaveAnAccountLabel}</span>\n <button\n type=\"button\"\n className=\"ds-login__link ds-login__link--accent\"\n onClick={onSignUp}\n disabled={isLoading}\n >\n {l.signUpLabel}\n </button>\n </div>\n )}\n </div>\n </div>\n );\n};\n\nLogin.displayName = 'Login';\n","import React, { useState } from 'react';\nimport clsx from 'clsx';\nimport { Button } from '../Button/Button';\nimport { TextField } from '../TextField/TextField';\nimport './ChangeEmail.css';\n\nexport interface ChangeEmailLabels {\n changeEmailTitle?: string;\n enterNewEmailAndCurrentPasswordTagline?: string;\n newEmailLabel?: string;\n currentPasswordLabel?: string;\n forgotPasswordButton?: string;\n continueButton?: string;\n}\n\nexport interface ChangeEmailProps {\n /** Translation strings */\n labels?: ChangeEmailLabels;\n /** Custom logo element */\n logo?: React.ReactNode;\n /** Form submit handler */\n onSubmit?: (data: { newEmail: string; currentPassword: string }) => void;\n /** Loading state */\n isLoading?: boolean;\n /** Error message */\n error?: string;\n /** Custom class name */\n className?: string;\n /** Custom styles */\n style?: React.CSSProperties;\n}\n\nconst defaultChangeEmailLabels: Required<ChangeEmailLabels> = {\n changeEmailTitle: 'Change Email',\n enterNewEmailAndCurrentPasswordTagline: 'Enter you new email and the current password.',\n newEmailLabel: 'New Email *',\n currentPasswordLabel: 'Current Password *',\n forgotPasswordButton: 'Forgot password?',\n continueButton: 'Continue',\n};\n\nexport const ChangeEmail: React.FC<ChangeEmailProps> = ({\n labels: customLabels,\n logo,\n onSubmit,\n isLoading = false,\n error,\n className,\n style,\n}) => {\n const l = { ...defaultChangeEmailLabels, ...customLabels };\n const [newEmail, setNewEmail] = useState('');\n const [currentPassword, setCurrentPassword] = useState('');\n const [showPassword, setShowPassword] = useState(false);\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n onSubmit?.({ newEmail, currentPassword });\n };\n\n return (\n <div className={clsx('ds-change-email', className)} style={style}>\n <div className=\"ds-change-email__container\">\n {/* Animated Background Accents */}\n <div className=\"ds-change-email__accent ds-change-email__accent--1\" aria-hidden=\"true\" />\n <div className=\"ds-change-email__accent ds-change-email__accent--2\" aria-hidden=\"true\" />\n\n {/* Main Card */}\n <div className=\"ds-change-email__card\">\n {/* Header */}\n <div className=\"ds-change-email__header\">\n {logo ? (\n <div className=\"ds-change-email__logo\">{logo}</div>\n ) : (\n <div className=\"ds-change-email__logo ds-change-email__logo--default\">\n <div className=\"ds-change-email__logo-icon\">\n <svg viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"32\" height=\"32\" rx=\"8\" fill=\"url(#logo-gradient)\" />\n <path\n d=\"M10 16L14 20L22 12\"\n stroke=\"white\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <defs>\n <linearGradient id=\"logo-gradient\" x1=\"0\" y1=\"0\" x2=\"32\" y2=\"32\">\n <stop stopColor=\"rgb(var(--accent-rgb))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--accent2-rgb))\" />\n </linearGradient>\n </defs>\n </svg>\n </div>\n </div>\n )}\n\n <h1 className=\"ds-change-email__title\">{l.changeEmailTitle}</h1>\n <p className=\"ds-change-email__tagline\">{l.enterNewEmailAndCurrentPasswordTagline}</p>\n </div>\n\n {/* Error Message */}\n {error && (\n <div className=\"ds-change-email__error\">\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"8\" cy=\"8\" r=\"7\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path d=\"M8 4.5V8.5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n <circle cx=\"8\" cy=\"11\" r=\"0.75\" fill=\"currentColor\" />\n </svg>\n <span>{error}</span>\n </div>\n )}\n\n {/* Form */}\n <form className=\"ds-change-email__form\" onSubmit={handleSubmit}>\n <div className=\"ds-change-email__field\">\n <TextField\n label={l.newEmailLabel}\n type=\"email\"\n placeholder=\"\"\n value={newEmail}\n onChange={(e) => setNewEmail(e.target.value)}\n disabled={isLoading}\n autoComplete=\"email\"\n />\n </div>\n\n <div className=\"ds-change-email__field\">\n <TextField\n label={l.currentPasswordLabel}\n type={showPassword ? 'text' : 'password'}\n placeholder=\"\"\n value={currentPassword}\n onChange={(e) => setCurrentPassword(e.target.value)}\n disabled={isLoading}\n autoComplete=\"current-password\"\n endAdornment={\n <button\n type=\"button\"\n className=\"ds-change-email__password-toggle\"\n onClick={() => setShowPassword(!showPassword)}\n aria-label={showPassword ? 'Hide password' : 'Show password'}\n >\n {showPassword ? (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24\" />\n <line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\" />\n </svg>\n ) : (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\" />\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n </svg>\n )}\n </button>\n }\n />\n </div>\n\n <div className=\"ds-change-email__options\" style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '-8px' }}>\n <button\n type=\"button\"\n className=\"ds-change-email__link\"\n onClick={() => console.log('Forgot password clicked')}\n disabled={isLoading}\n style={{\n background: 'none',\n border: 'none',\n color: 'var(--text-secondary)',\n cursor: 'pointer',\n fontSize: '0.875rem'\n }}\n >\n {l.forgotPasswordButton}\n </button>\n </div>\n\n {/* We just need submit wrapped with some margin if necessary, matching Login.css .ds-change-email__submit */}\n <div style={{ marginTop: '24px' }}>\n <Button\n type=\"submit\"\n variant=\"primary\"\n size=\"lg\"\n disabled={isLoading || !newEmail || !currentPassword}\n className=\"ds-change-email__submit\"\n >\n {isLoading ? <span className=\"ds-change-email__spinner\" /> : l.continueButton}\n </Button>\n </div>\n </form>\n </div>\n </div>\n </div>\n );\n};\n\nChangeEmail.displayName = 'Change Email';\n","import React, { useState, useMemo } from 'react';\nimport clsx from 'clsx';\nimport { Button } from '../Button/Button';\nimport { TextField } from '../TextField/TextField';\nimport { Checkbox } from '../Checkbox/Checkbox';\nimport './Signup.css';\n\n/* ============================================================================\n SIGNUP PAGE — Full Registration Flow with Password Strength\n ============================================================================ */\n\nexport interface SignupLabels {\n formTitle?: string;\n googleButtonLabel?: string;\n dividerText?: string;\n nameLabel?: string;\n namePlaceholder?: string;\n emailLabel?: string;\n emailPlaceholder?: string;\n passwordLabel?: string;\n passwordPlaceholder?: string;\n phoneLabel?: string;\n phonePlaceholder?: string;\n hidePasswordLabel?: string;\n showPasswordLabel?: string;\n passwordStrengthLabels?: [string, string, string, string, string];\n termsAgreementPrefix?: string;\n termsLabel?: string;\n termsConjunction?: string;\n privacyLabel?: string;\n submitLabel?: string;\n loginPrompt?: string;\n loginLabel?: string;\n successTitle?: string;\n continueToLoginLabel?: string;\n}\n\nexport interface SignupProps {\n /** Company/Product name */\n brandName?: string;\n /** Tagline or description */\n tagline?: string;\n /** Show social signup options */\n showSocialSignup?: boolean;\n /** Custom logo element */\n logo?: React.ReactNode;\n /** Form submit handler */\n onSubmit?: (data: {\n name: string;\n email: string;\n phone: string;\n password: string;\n acceptedTerms: boolean;\n }) => void;\n /** Social signup handlers */\n onGoogleSignup?: () => void;\n /** Link handlers */\n onLogin?: () => void;\n onTermsClick?: () => void;\n onPrivacyClick?: () => void;\n /** Loading state */\n isLoading?: boolean;\n /** Error message */\n error?: string;\n /** Success state */\n isSuccess?: boolean;\n /** Success message — accepts a string or React nodes (e.g. with <br />) */\n successMessage?: React.ReactNode;\n /** Custom class name */\n className?: string;\n /** Custom styles */\n style?: React.CSSProperties;\n /** i18n labels — every key falls back to its English default */\n labels?: SignupLabels;\n /** Default country (ISO code, e.g. TH) */\n defaultCountry?: string;\n /** Array of countries to populate the dropdown */\n countries?: { code: string; dial: string; flag: string; name: string }[];\n /** Custom render for phone input */\n renderPhoneInput?: (props: {\n value: string;\n onChange: (val: string) => void;\n placeholder?: string;\n disabled?: boolean;\n className?: string;\n id?: string;\n }) => React.ReactNode;\n}\n\nconst defaultSignupLabels: SignupLabels = {\n formTitle: 'Create your account',\n googleButtonLabel: 'Sign up with Google',\n dividerText: 'or sign up with email',\n nameLabel: 'Full name',\n namePlaceholder: 'John Doe',\n emailLabel: 'Work email',\n emailPlaceholder: 'you@company.com',\n passwordLabel: 'Password',\n passwordPlaceholder: 'Create a strong password',\n phoneLabel: 'Phone',\n phonePlaceholder: 'Phone number',\n hidePasswordLabel: 'Hide password',\n showPasswordLabel: 'Show password',\n passwordStrengthLabels: ['Very Weak', 'Weak', 'Fair', 'Strong', 'Very Strong'],\n termsAgreementPrefix: 'I agree to the ',\n termsLabel: 'Terms of Service ',\n termsConjunction: 'and ',\n privacyLabel: 'Privacy Policy',\n submitLabel: 'Create account',\n loginPrompt: 'Already have an account?',\n loginLabel: 'Sign in',\n successTitle: 'Welcome!',\n continueToLoginLabel: 'Go to Application',\n};\n\n/**\n * Calculate password strength (0-4)\n */\nfunction calculatePasswordStrength(\n password: string,\n strengthLabels?: [string, string, string, string, string],\n): {\n score: number;\n label: string;\n color: string;\n} {\n let score = 0;\n\n if (password.length >= 8) score++;\n if (password.length >= 12) score++;\n if (/[a-z]/.test(password) && /[A-Z]/.test(password)) score++;\n if (/\\d/.test(password)) score++;\n if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) score++;\n\n // Normalize to 0-4\n score = Math.min(4, score);\n\n const labels = strengthLabels ?? defaultSignupLabels.passwordStrengthLabels!;\n const colors = [\n 'var(--status-error)',\n 'var(--status-warning)',\n '#ffd000',\n 'var(--status-success)',\n 'var(--status-success)',\n ];\n\n return {\n score,\n label: labels[score],\n color: colors[score],\n };\n}\n\nexport const Signup: React.FC<SignupProps> = ({\n brandName,\n showSocialSignup = true,\n logo,\n onSubmit,\n onGoogleSignup,\n onLogin,\n onTermsClick,\n onPrivacyClick,\n isLoading = false,\n error,\n isSuccess = false,\n successMessage = (\n <>\n {\"You're all set!\"}\n <br />\n {\"Check your email to verify your account.\"}\n </>\n ),\n className,\n style,\n labels: customLabels,\n defaultCountry = 'TH',\n countries = [],\n renderPhoneInput,\n}) => {\n const l = { ...defaultSignupLabels, ...customLabels };\n const [name, setName] = useState('');\n const [email, setEmail] = useState('');\n\n // Phone logic\n const defaultCountryData = countries.find(c => c.code === defaultCountry) || countries[0] || { code: 'TH', dial: '+66', flag: '🇹🇭', name: 'Thailand' };\n const [countryDial, setCountryDial] = useState(defaultCountryData.dial);\n const [phone, setPhone] = useState('');\n\n const [password, setPassword] = useState('');\n const [showPassword, setShowPassword] = useState(false);\n const [acceptedTerms, setAcceptedTerms] = useState(false);\n\n const passwordStrength = useMemo(\n () => calculatePasswordStrength(password, l.passwordStrengthLabels),\n [password, l.passwordStrengthLabels],\n );\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n const fullPhone = phone\n ? (phone.trim().startsWith('+') ? phone.trim() : `${countryDial} ${phone}`.trim())\n : '';\n onSubmit?.({ name, email, phone: fullPhone, password, acceptedTerms });\n };\n\n const isFormValid = name && email && password.length >= 8 && acceptedTerms;\n\n // Success State\n if (isSuccess) {\n return (\n <div className={clsx('ds-signup', className)} style={style}>\n {/* Animated Background Accents Container */}\n <div className=\"ds-signup__background\">\n <div className=\"ds-signup__accent ds-signup__accent--1\" aria-hidden=\"true\" />\n <div className=\"ds-signup__accent ds-signup__accent--2\" aria-hidden=\"true\" />\n </div>\n\n <div className=\"ds-signup__card ds-signup__card--success\">\n <div className=\"ds-signup__success-icon\">\n <svg viewBox=\"0 0 64 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"32\" cy=\"32\" r=\"30\" stroke=\"var(--status-success)\" strokeWidth=\"2\" />\n <path\n d=\"M20 32L28 40L44 24\"\n stroke=\"var(--status-success)\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </div>\n <h1 className=\"ds-signup__success-title\">\n {l.successTitle === 'Welcome!'\n ? brandName\n ? `Welcome to ${brandName}!`\n : 'Welcome!'\n : l.successTitle}\n </h1>\n <p className=\"ds-signup__success-message\">{successMessage}</p>\n <Button variant=\"primary\" size=\"lg\" onClick={onLogin} className=\"ds-signup__success-btn\">\n {l.continueToLoginLabel}\n </Button>\n </div>\n </div>\n );\n }\n\n return (\n <div className={clsx('ds-signup', className)} style={style}>\n {/* Animated Background Accents Container */}\n <div className=\"ds-signup__background\">\n <div className=\"ds-signup__accent ds-signup__accent--1\" aria-hidden=\"true\" />\n <div className=\"ds-signup__accent ds-signup__accent--2\" aria-hidden=\"true\" />\n </div>\n\n {/* Main Card */}\n <div className=\"ds-signup__card\">\n {/* Header */}\n <div className=\"ds-signup__header\">\n {logo ? (\n <div className=\"ds-signup__logo\">{logo}</div>\n ) : (\n <div className=\"ds-signup__logo ds-signup__logo--default\">\n <div className=\"ds-signup__logo-icon\">\n <svg viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"32\" height=\"32\" rx=\"8\" fill=\"url(#signup-logo-gradient)\" />\n <path\n d=\"M16 8V24M8 16H24\"\n stroke=\"white\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n />\n <defs>\n <linearGradient id=\"signup-logo-gradient\" x1=\"0\" y1=\"0\" x2=\"32\" y2=\"32\">\n <stop stopColor=\"rgb(var(--accent-rgb))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--accent2-rgb))\" />\n </linearGradient>\n </defs>\n </svg>\n </div>\n </div>\n )}\n\n <h1 className=\"ds-signup__title\">{l.formTitle}</h1>\n </div>\n\n {/* Error Message */}\n {error && (\n <div className=\"ds-signup__error\">\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"8\" cy=\"8\" r=\"7\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path d=\"M8 4.5V8.5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n <circle cx=\"8\" cy=\"11\" r=\"0.75\" fill=\"currentColor\" />\n </svg>\n <span>{error}</span>\n </div>\n )}\n\n {/* Social Signup */}\n {showSocialSignup && (\n <div className=\"ds-signup__social\">\n <button\n type=\"button\"\n className=\"ds-signup__social-btn\"\n onClick={onGoogleSignup}\n disabled={isLoading}\n >\n <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\">\n <path\n fill=\"#4285F4\"\n d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z\"\n />\n <path\n fill=\"#34A853\"\n d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\"\n />\n <path\n fill=\"#FBBC05\"\n d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z\"\n />\n <path\n fill=\"#EA4335\"\n d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z\"\n />\n </svg>\n <span>{l.googleButtonLabel}</span>\n </button>\n\n <div className=\"ds-signup__divider\">\n <span>{l.dividerText}</span>\n </div>\n </div>\n )}\n\n {/* Form */}\n <form className=\"ds-signup__form\" onSubmit={handleSubmit}>\n <div className=\"ds-signup__field\">\n <TextField\n label={l.nameLabel}\n type=\"text\"\n placeholder={l.namePlaceholder}\n value={name}\n onChange={(e) => setName(e.target.value)}\n disabled={isLoading}\n autoComplete=\"name\"\n />\n </div>\n\n <div className=\"ds-signup__field\">\n <TextField\n label={l.emailLabel}\n type=\"email\"\n placeholder={l.emailPlaceholder}\n value={email}\n onChange={(e) => setEmail(e.target.value)}\n disabled={isLoading}\n autoComplete=\"email\"\n />\n </div>\n\n <div className=\"ds-signup__field ds-signup__phone-field\">\n <div className=\"ds-textfield\">\n <label className=\"ds-textfield__label\" htmlFor=\"phone-input\">\n {l.phoneLabel}\n </label>\n <div className=\"ds-textfield__input-wrapper\">\n {renderPhoneInput ? (\n renderPhoneInput({\n value: phone,\n onChange: setPhone,\n placeholder: l.phonePlaceholder,\n disabled: isLoading,\n className: \"ds-signup__phone-container ds-textfield__input\",\n id: \"phone-input\"\n })\n ) : (\n <div className={clsx(\"ds-signup__phone-container\", \"ds-textfield__input\")}>\n <div className=\"ds-signup__flag-select-wrapper\">\n <select\n className=\"ds-signup__flag-select-native\"\n value={countryDial}\n onChange={(e) => {\n const newDial = e.target.value;\n setCountryDial(newDial);\n setPhone(newDial + ' ');\n }}\n disabled={isLoading}\n aria-label=\"Select country code\"\n >\n {countries.map((c) => (\n <option key={c.code} value={c.dial}>\n {c.name}\n </option>\n ))}\n </select>\n <div className=\"ds-signup__flag-display\" aria-hidden=\"true\">\n <span className=\"ds-signup__flag-icon\">\n {countries.find((c) => c.dial === countryDial)?.flag || '🌐'}\n </span>\n <svg width=\"10\" height=\"6\" viewBox=\"0 0 10 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M1 1L5 5L9 1\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </div>\n </div>\n <input\n id=\"phone-input\"\n type=\"tel\"\n placeholder={l.phonePlaceholder}\n value={phone}\n onChange={(e) => setPhone(e.target.value)}\n disabled={isLoading}\n className=\"ds-signup__phone-input ds-signup__phone-input-native\"\n autoComplete=\"tel\"\n />\n </div>\n )}\n </div>\n </div>\n </div>\n\n <div className=\"ds-signup__field\">\n <div className=\"ds-signup__password-wrapper\">\n <TextField\n label={l.passwordLabel}\n type={showPassword ? 'text' : 'password'}\n placeholder={l.passwordPlaceholder}\n value={password}\n onChange={(e) => setPassword(e.target.value)}\n disabled={isLoading}\n autoComplete=\"new-password\"\n />\n <button\n type=\"button\"\n className=\"ds-signup__password-toggle\"\n onClick={() => setShowPassword(!showPassword)}\n aria-label={showPassword ? l.hidePasswordLabel : l.showPasswordLabel}\n >\n {showPassword ? (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24\" />\n <line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\" />\n </svg>\n ) : (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\" />\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n </svg>\n )}\n </button>\n </div>\n\n {/* Password Strength Meter */}\n {password && (\n <div className=\"ds-signup__strength\">\n <div className=\"ds-signup__strength-bar\">\n {[0, 1, 2, 3].map((i) => (\n <div\n key={i}\n className={clsx(\n 'ds-signup__strength-segment',\n i < passwordStrength.score && 'ds-signup__strength-segment--active',\n )}\n style={\n i < passwordStrength.score\n ? { backgroundColor: passwordStrength.color }\n : {}\n }\n />\n ))}\n </div>\n <span\n className=\"ds-signup__strength-label\"\n style={{ color: passwordStrength.color }}\n >\n {passwordStrength.label}\n </span>\n </div>\n )}\n </div>\n\n {/* Terms Checkbox */}\n <div className=\"ds-signup__terms\">\n <Checkbox\n label=\"\"\n checked={acceptedTerms}\n onCheckedChange={(checked) => setAcceptedTerms(checked === true)}\n disabled={isLoading}\n />\n <span className=\"ds-signup__terms-text\">\n {(l.termsAgreementPrefix || '').endsWith(' ') ? (l.termsAgreementPrefix || '') : `${l.termsAgreementPrefix || ''} `}\n <button\n type=\"button\"\n className=\"ds-signup__link\"\n onClick={onTermsClick}\n disabled={isLoading}\n >\n {l.termsLabel}\n </button>\n {(l.termsConjunction || ' ').startsWith(' ') && (l.termsConjunction || ' ').endsWith(' ')\n ? (l.termsConjunction || ' ')\n : ` ${(l.termsConjunction || '').trim()} `}\n <button\n type=\"button\"\n className=\"ds-signup__link\"\n onClick={onPrivacyClick}\n disabled={isLoading}\n >\n {l.privacyLabel}\n </button>\n </span>\n </div>\n\n <Button\n type=\"submit\"\n variant=\"primary\"\n size=\"lg\"\n disabled={isLoading || !isFormValid}\n className=\"ds-signup__submit\"\n >\n {isLoading ? <span className=\"ds-signup__spinner\" /> : l.submitLabel}\n </Button>\n </form>\n\n {/* Footer */}\n <div className=\"ds-signup__footer\">\n <span>{l.loginPrompt}</span>\n <button\n type=\"button\"\n className=\"ds-signup__link ds-signup__link--accent\"\n onClick={onLogin}\n disabled={isLoading}\n >\n {l.loginLabel}\n </button>\n </div>\n </div>\n </div>\n );\n};\n\nSignup.displayName = 'Signup';\n","import React, { useState, useEffect } from 'react';\nimport clsx from 'clsx';\nimport { Button } from '../Button/Button';\nimport { TextField } from '../TextField/TextField';\nimport './ForgotPassword.css';\n\n/* ============================================================================\n FORGOT PASSWORD PAGE — Email Entry and Reset Flow\n ============================================================================ */\n\nexport interface ForgotPasswordLabels {\n forgotPasswordTitle?: string;\n resetInstructionsTagline?: string;\n emailLabel?: string;\n emailPlaceholder?: string;\n resetPasswordButton?: string;\n backToLoginButton?: string;\n checkYourEmailTitle?: string;\n passwordResetLinkTagline?: string;\n didNotReceiveEmailHint?: string;\n clickToResendButton?: string;\n setNewPasswordTitle?: string;\n mustBeCharactersTagline?: string;\n passwordLabel?: string;\n enterNewPasswordPlaceholder?: string;\n confirmPasswordLabel?: string;\n confirmNewPasswordPlaceholder?: string;\n passwordsDontMatchError?: string;\n passwordResetTitle?: string;\n passwordSuccessfullyResetTagline?: string;\n clickBelowLogInHint?: string;\n continueToLoginButton?: string;\n showPasswordLabel?: string;\n hidePasswordLabel?: string;\n}\n\nexport interface ForgotPasswordProps {\n /** Translation strings */\n labels?: ForgotPasswordLabels;\n /** Custom logo element */\n logo?: React.ReactNode;\n /** Form submit handler for email entry */\n onSubmit?: (email: string) => void;\n /** Form submit handler for password reset */\n onResetPassword?: (data: { password: string; confirmPassword: string }) => void;\n /** Back to login handler */\n onBackToLogin?: () => void;\n /** Loading state */\n isLoading?: boolean;\n /** Error message */\n error?: string;\n /** Current step: 'email' | 'sent' | 'reset' | 'success' */\n step?: 'email' | 'sent' | 'reset' | 'success';\n /** Email address (for display in sent state). */\n email?: string;\n /** Custom class name */\n className?: string;\n}\n\nconst defaultForgotPasswordLabels: Required<ForgotPasswordLabels> = {\n forgotPasswordTitle: 'Forgot password?',\n resetInstructionsTagline: \"No worries, we'll send you reset instructions.\",\n emailLabel: 'Email',\n emailPlaceholder: 'Enter your email',\n resetPasswordButton: 'Reset password',\n backToLoginButton: 'Back to login',\n checkYourEmailTitle: 'Check your email',\n passwordResetLinkTagline: 'We sent a password reset link to',\n didNotReceiveEmailHint: \"Didn't receive the email? \",\n clickToResendButton: 'Click to resend',\n setNewPasswordTitle: 'Set new password',\n mustBeCharactersTagline: 'Must be at least 8 characters.',\n passwordLabel: 'Password',\n enterNewPasswordPlaceholder: 'Enter new password',\n confirmPasswordLabel: 'Confirm password',\n confirmNewPasswordPlaceholder: 'Confirm new password',\n passwordsDontMatchError: \"Passwords don't match\",\n passwordResetTitle: 'Password reset',\n passwordSuccessfullyResetTagline: 'Your password has been successfully reset.',\n clickBelowLogInHint: 'Click below to log in.',\n continueToLoginButton: 'Continue to login',\n showPasswordLabel: 'Show password',\n hidePasswordLabel: 'Hide password',\n};\n\nexport const ForgotPassword: React.FC<ForgotPasswordProps> = ({\n logo,\n labels: customLabels,\n onSubmit,\n onResetPassword,\n onBackToLogin,\n isLoading = false,\n error,\n step = 'email',\n email: initialEmail = '',\n className,\n}) => {\n const l = { ...defaultForgotPasswordLabels, ...customLabels };\n const [email, setEmail] = useState(initialEmail);\n const [password, setPassword] = useState('');\n const [confirmPassword, setConfirmPassword] = useState('');\n const [showPassword, setShowPassword] = useState(false);\n const [resendTimer, setResendTimer] = useState(0);\n const hasStartedTimer = React.useRef(false);\n\n useEffect(() => {\n if (step === 'sent' && !hasStartedTimer.current) {\n hasStartedTimer.current = true;\n setResendTimer(60);\n } else if (step !== 'sent') {\n hasStartedTimer.current = false;\n }\n }, [step]);\n\n useEffect(() => {\n let timerId: NodeJS.Timeout;\n if (resendTimer > 0) {\n timerId = setInterval(() => {\n setResendTimer((prev) => prev - 1);\n }, 1000);\n }\n return () => {\n if (timerId) clearInterval(timerId);\n };\n }, [resendTimer]);\n\n const handleResendClick = () => {\n if (resendTimer === 0) {\n onSubmit?.(email || initialEmail);\n setResendTimer(60);\n }\n };\n\n const handleEmailSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n onSubmit?.(email);\n };\n\n const handleResetSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n onResetPassword?.({ password, confirmPassword });\n };\n\n const renderLogo = () =>\n logo ? (\n <div className=\"ds-forgot__logo\">{logo}</div>\n ) : (\n <div className=\"ds-forgot__logo ds-forgot__logo--default\">\n <div className=\"ds-forgot__logo-icon\">\n <svg viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"32\" height=\"32\" rx=\"8\" fill=\"url(#forgot-logo-gradient)\" />\n <path\n d=\"M16 10V14M16 22V22.01M16 26C21.5228 26 26 21.5228 26 16C26 10.4772 21.5228 6 16 6C10.4772 6 6 10.4772 6 16C6 21.5228 10.4772 26 16 26Z\"\n stroke=\"white\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <defs>\n <linearGradient id=\"forgot-logo-gradient\" x1=\"0\" y1=\"0\" x2=\"32\" y2=\"32\">\n <stop stopColor=\"rgb(var(--accent-rgb))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--accent2-rgb))\" />\n </linearGradient>\n </defs>\n </svg>\n </div>\n </div>\n );\n\n // Email Entry Step\n if (step === 'email') {\n return (\n <div className={clsx('ds-forgot', className)}>\n <div className=\"ds-forgot__accent ds-forgot__accent--1\" aria-hidden=\"true\" />\n <div className=\"ds-forgot__accent ds-forgot__accent--2\" aria-hidden=\"true\" />\n\n <div className=\"ds-forgot__card\">\n <div className=\"ds-forgot__header\">\n {renderLogo()}\n <h1 className=\"ds-forgot__title\">{l.forgotPasswordTitle}</h1>\n <p className=\"ds-forgot__tagline\">{l.resetInstructionsTagline}</p>\n </div>\n\n {error && (\n <div className=\"ds-forgot__error\">\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"8\" cy=\"8\" r=\"7\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path\n d=\"M8 4.5V8.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <circle cx=\"8\" cy=\"11\" r=\"0.75\" fill=\"currentColor\" />\n </svg>\n <span>{error}</span>\n </div>\n )}\n\n <form className=\"ds-forgot__form\" onSubmit={handleEmailSubmit}>\n <div className=\"ds-forgot__field\">\n <TextField\n label={l.emailLabel}\n type=\"email\"\n placeholder={l.emailPlaceholder}\n value={email}\n onChange={(e) => setEmail(e.target.value)}\n disabled={isLoading}\n autoComplete=\"email\"\n />\n </div>\n\n <Button\n type=\"submit\"\n variant=\"primary\"\n size=\"lg\"\n disabled={isLoading || !email}\n className=\"ds-forgot__submit\"\n >\n {isLoading ? <span className=\"ds-forgot__spinner\" /> : l.resetPasswordButton}\n </Button>\n </form>\n\n <div className=\"ds-forgot__footer\">\n <button\n type=\"button\"\n className=\"ds-forgot__back\"\n onClick={onBackToLogin}\n disabled={isLoading}\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M10 12L6 8L10 4\" />\n </svg>\n {l.backToLoginButton}\n </button>\n </div>\n </div>\n </div>\n );\n }\n\n // Email Sent Step\n if (step === 'sent') {\n return (\n <div className={clsx('ds-forgot', className)}>\n <div className=\"ds-forgot__accent ds-forgot__accent--1\" aria-hidden=\"true\" />\n <div className=\"ds-forgot__accent ds-forgot__accent--2\" aria-hidden=\"true\" />\n\n <div className=\"ds-forgot__card ds-forgot__card--centered\">\n <div className=\"ds-forgot__success-icon\">\n <svg viewBox=\"0 0 64 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"32\" cy=\"32\" r=\"30\" stroke=\"rgb(var(--accent-rgb))\" strokeWidth=\"2\" />\n <path\n d=\"M20 32L44 32M44 32L36 24M44 32L36 40\"\n stroke=\"rgb(var(--accent-rgb))\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </div>\n <h1 className=\"ds-forgot__title\">{l.checkYourEmailTitle}</h1>\n <p className=\"ds-forgot__tagline\">\n {l.passwordResetLinkTagline}\n <br />\n <strong>{email || initialEmail}</strong>\n </p>\n\n <div className=\"ds-forgot__hint\">\n <span>{l.didNotReceiveEmailHint}</span>\n <button\n type=\"button\"\n className=\"ds-forgot__link\"\n onClick={handleResendClick}\n disabled={isLoading || resendTimer > 0}\n >\n {resendTimer > 0 ? `${l.clickToResendButton} ${resendTimer}s` : l.clickToResendButton}\n </button>\n </div>\n\n <div className=\"ds-forgot__footer\">\n <button\n type=\"button\"\n className=\"ds-forgot__back\"\n onClick={onBackToLogin}\n disabled={isLoading}\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M10 12L6 8L10 4\" />\n </svg>\n {l.backToLoginButton}\n </button>\n </div>\n </div>\n </div>\n );\n }\n\n // Reset Password Step\n if (step === 'reset') {\n const passwordsMatch = password === confirmPassword;\n const isValid = password.length >= 8 && passwordsMatch;\n\n return (\n <div className={clsx('ds-forgot', className)}>\n <div className=\"ds-forgot__accent ds-forgot__accent--1\" aria-hidden=\"true\" />\n <div className=\"ds-forgot__accent ds-forgot__accent--2\" aria-hidden=\"true\" />\n\n <div className=\"ds-forgot__card\">\n <div className=\"ds-forgot__header\">\n {renderLogo()}\n <h1 className=\"ds-forgot__title\">{l.setNewPasswordTitle}</h1>\n <p className=\"ds-forgot__tagline\">{l.mustBeCharactersTagline}</p>\n </div>\n\n {error && (\n <div className=\"ds-forgot__error\">\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"8\" cy=\"8\" r=\"7\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path\n d=\"M8 4.5V8.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <circle cx=\"8\" cy=\"11\" r=\"0.75\" fill=\"currentColor\" />\n </svg>\n <span>{error}</span>\n </div>\n )}\n\n <form className=\"ds-forgot__form\" onSubmit={handleResetSubmit}>\n <div className=\"ds-forgot__field\">\n <div className=\"ds-forgot__password-wrapper\">\n <TextField\n label={l.passwordLabel}\n type={showPassword ? 'text' : 'password'}\n placeholder={l.enterNewPasswordPlaceholder}\n value={password}\n onChange={(e) => setPassword(e.target.value)}\n disabled={isLoading}\n autoComplete=\"new-password\"\n />\n <button\n type=\"button\"\n className=\"ds-forgot__password-toggle\"\n onClick={() => setShowPassword(!showPassword)}\n aria-label={showPassword ? l.hidePasswordLabel : l.showPasswordLabel}\n >\n {showPassword ? (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24\" />\n <line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\" />\n </svg>\n ) : (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\" />\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n </svg>\n )}\n </button>\n </div>\n </div>\n\n <div className=\"ds-forgot__field\">\n <TextField\n label={l.confirmPasswordLabel}\n type={showPassword ? 'text' : 'password'}\n placeholder={l.confirmNewPasswordPlaceholder}\n value={confirmPassword}\n onChange={(e) => setConfirmPassword(e.target.value)}\n disabled={isLoading}\n autoComplete=\"new-password\"\n error={confirmPassword.length > 0 && !passwordsMatch}\n helperText={\n confirmPassword.length > 0 && !passwordsMatch\n ? l.passwordsDontMatchError\n : undefined\n }\n />\n </div>\n\n <Button\n type=\"submit\"\n variant=\"primary\"\n size=\"lg\"\n disabled={isLoading || !isValid}\n className=\"ds-forgot__submit\"\n >\n {isLoading ? <span className=\"ds-forgot__spinner\" /> : l.resetPasswordButton}\n </Button>\n </form>\n\n <div className=\"ds-forgot__footer\">\n <button\n type=\"button\"\n className=\"ds-forgot__back\"\n onClick={onBackToLogin}\n disabled={isLoading}\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M10 12L6 8L10 4\" />\n </svg>\n {l.backToLoginButton}\n </button>\n </div>\n </div>\n </div>\n );\n }\n\n // Success Step\n return (\n <div className={clsx('ds-forgot', className)}>\n <div className=\"ds-forgot__accent ds-forgot__accent--1\" aria-hidden=\"true\" />\n <div className=\"ds-forgot__accent ds-forgot__accent--2\" aria-hidden=\"true\" />\n\n <div className=\"ds-forgot__card ds-forgot__card--centered\">\n <div className=\"ds-forgot__success-icon ds-forgot__success-icon--check\">\n <svg viewBox=\"0 0 64 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"32\" cy=\"32\" r=\"30\" stroke=\"var(--status-success)\" strokeWidth=\"2\" />\n <path\n d=\"M20 32L28 40L44 24\"\n stroke=\"var(--status-success)\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </div>\n <h1 className=\"ds-forgot__title\">{l.passwordResetTitle}</h1>\n <p className=\"ds-forgot__tagline\">\n {l.passwordSuccessfullyResetTagline}\n <br />\n {l.clickBelowLogInHint}\n </p>\n\n <Button variant=\"primary\" size=\"lg\" onClick={onBackToLogin} className=\"ds-forgot__submit\">\n {l.continueToLoginButton}\n </Button>\n </div>\n </div>\n );\n};\n\nForgotPassword.displayName = 'ForgotPassword';\n","// =============================================================================\n// LEAD PROFILE VIEW\n// Premium Lead Intelligence Page - The flagship component\n// =============================================================================\n\nimport React from 'react';\nimport clsx from 'clsx';\nimport { LeadProfileViewProps } from './types';\nimport './LeadProfileView.css';\n\n// Subcomponents\nimport { EmptyStateDisplay } from './subcomponents/EmptyStateDisplay';\nimport { LoadingStateDisplay } from './subcomponents/LoadingStateDisplay';\nimport { IdentityHeader } from './subcomponents/IdentityHeader';\nimport { IntelligenceSummary } from './subcomponents/IntelligenceSummary';\nimport { MBTISpectrum } from './subcomponents/MBTISpectrum';\nimport { BehavioralHighlights } from './subcomponents/BehavioralHighlights';\nimport { DeepDiveSection } from './subcomponents/DeepDiveSection';\n\nexport const LeadProfileView = React.forwardRef<HTMLDivElement, LeadProfileViewProps>(\n ({ state, data, analysisProgress, onRefresh, className }, ref) => {\n // ─────────────────────────────────────────────────────────────────────────\n // STATE 1: EMPTY - No data available yet\n // ─────────────────────────────────────────────────────────────────────────\n if (state === 'empty') {\n return (\n <div ref={ref} className={clsx('ds-lead-profile', 'ds-lead-profile--empty', className)}>\n <EmptyStateDisplay onRefresh={onRefresh} />\n </div>\n );\n }\n\n // ─────────────────────────────────────────────────────────────────────────\n // STATE 2: LOADING - Analysis in progress\n // ─────────────────────────────────────────────────────────────────────────\n if (state === 'loading') {\n return (\n <div ref={ref} className={clsx('ds-lead-profile', 'ds-lead-profile--loading', className)}>\n <LoadingStateDisplay progress={analysisProgress} />\n </div>\n );\n }\n\n // ─────────────────────────────────────────────────────────────────────────\n // STATE 3 & 4: PARTIAL or FULL - Data available\n // ─────────────────────────────────────────────────────────────────────────\n if (!data) return null;\n\n const isPartial = state === 'partial';\n const hasMBTI = !isPartial && data.mbtiScores?.length;\n const hasBehavioral = !isPartial && data.behavioralSignals;\n\n return (\n <div ref={ref} className={clsx('ds-lead-profile', `ds-lead-profile--${state}`, className)}>\n {/* ═══════════════════════════════════════════════════════════════════\n ZONE A: Identity & Trust (Always Visible)\n ═══════════════════════════════════════════════════════════════════ */}\n <section className=\"ds-lead-profile__zone ds-lead-profile__zone--identity\">\n <IdentityHeader data={data} compact={isPartial} />\n </section>\n\n {/* ═══════════════════════════════════════════════════════════════════\n ZONE B: Intelligence Overview (Primary Value Zone)\n ═══════════════════════════════════════════════════════════════════ */}\n <section className=\"ds-lead-profile__zone ds-lead-profile__zone--intelligence\">\n {/* Intelligence Summary */}\n <IntelligenceSummary data={data} isLocked={isPartial} />\n\n {/* MBTI Spectrum */}\n {(hasMBTI || isPartial) && (\n <div className=\"ds-lead-profile__mbti-wrapper\">\n <MBTISpectrum\n scores={data.mbtiScores || []}\n mbtiType={data.mbtiType}\n isLocked={isPartial}\n />\n </div>\n )}\n\n {/* Behavioral Highlights */}\n {(hasBehavioral || isPartial) && data.behavioralSignals && (\n <BehavioralHighlights signals={data.behavioralSignals} isLocked={isPartial} />\n )}\n\n {/* Partial state messaging */}\n {isPartial && (\n <div className=\"ds-lead-profile__partial-notice\">\n <div className=\"ds-lead-profile__partial-notice-content\">\n <span className=\"ds-lead-profile__partial-notice-text\">\n Full intelligence analysis will be available shortly\n </span>\n <div className=\"ds-lead-profile__partial-notice-progress\">\n <div className=\"ds-lead-profile__partial-notice-bar\" />\n </div>\n </div>\n </div>\n )}\n </section>\n\n {/* ═══════════════════════════════════════════════════════════════════\n ZONE C: Deep Dive (Expandable)\n ═══════════════════════════════════════════════════════════════════ */}\n {!isPartial && (\n <section className=\"ds-lead-profile__zone ds-lead-profile__zone--deep-dive\">\n <DeepDiveSection data={data} />\n </section>\n )}\n </div>\n );\n },\n);\n\nLeadProfileView.displayName = 'LeadProfileView';\n\n// Re-export types for consumers\nexport type {\n LeadProfileViewProps,\n LeadProfile,\n LeadProfileState,\n MBTIScore,\n EngagementTip,\n BehavioralSignals,\n AnalysisProgress,\n} from './types';\n","// =============================================================================\n// LEAD PROFILE VIEW - ICON LIBRARY\n// =============================================================================\n\nimport React from 'react';\n\ninterface IconProps {\n className?: string;\n size?: number;\n}\n\n// =============================================================================\n// SOCIAL & CONTACT ICONS\n// =============================================================================\n\nexport const IconLinkedIn: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n className={className}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M20.447 20.452H16.892V14.881C16.892 13.553 16.865 11.848 15.043 11.848C13.194 11.848 12.911 13.291 12.911 14.786V20.452H9.356V9.006H12.768V10.57H12.816C13.291 9.67 14.453 8.721 16.184 8.721C19.788 8.721 20.447 11.093 20.447 14.179V20.452ZM5.337 7.433C4.197 7.433 3.274 6.509 3.274 5.37C3.274 4.23 4.197 3.307 5.337 3.307C6.477 3.307 7.4 4.23 7.4 5.37C7.4 6.509 6.477 7.433 5.337 7.433ZM3.563 20.452H7.123V9.006H3.563V20.452Z\" />\n </svg>\n);\n\nexport const IconMail: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\" />\n <polyline points=\"22,6 12,13 2,6\" />\n </svg>\n);\n\nexport const IconPhone: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\" />\n </svg>\n);\n\n// =============================================================================\n// LOCATION & COMPANY\n// =============================================================================\n\nexport const IconMapPin: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\" />\n <circle cx=\"12\" cy=\"10\" r=\"3\" />\n </svg>\n);\n\nexport const IconBuilding: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <rect x=\"4\" y=\"2\" width=\"16\" height=\"20\" rx=\"2\" ry=\"2\" />\n <line x1=\"9\" y1=\"22\" x2=\"9\" y2=\"22.01\" />\n <line x1=\"15\" y1=\"22\" x2=\"15\" y2=\"22.01\" />\n <line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"18.01\" />\n <line x1=\"8\" y1=\"18\" x2=\"8\" y2=\"18.01\" />\n <line x1=\"16\" y1=\"18\" x2=\"16\" y2=\"18.01\" />\n <line x1=\"8\" y1=\"14\" x2=\"8\" y2=\"14.01\" />\n <line x1=\"12\" y1=\"14\" x2=\"12\" y2=\"14.01\" />\n <line x1=\"16\" y1=\"14\" x2=\"16\" y2=\"14.01\" />\n <line x1=\"8\" y1=\"10\" x2=\"8\" y2=\"10.01\" />\n <line x1=\"12\" y1=\"10\" x2=\"12\" y2=\"10.01\" />\n <line x1=\"16\" y1=\"10\" x2=\"16\" y2=\"10.01\" />\n <line x1=\"8\" y1=\"6\" x2=\"8\" y2=\"6.01\" />\n <line x1=\"12\" y1=\"6\" x2=\"12\" y2=\"6.01\" />\n <line x1=\"16\" y1=\"6\" x2=\"16\" y2=\"6.01\" />\n </svg>\n);\n\n// =============================================================================\n// CAREER & EDUCATION\n// =============================================================================\n\nexport const IconBriefcase: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <rect x=\"2\" y=\"7\" width=\"20\" height=\"14\" rx=\"2\" ry=\"2\" />\n <path d=\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\" />\n </svg>\n);\n\nexport const IconSchool: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <path d=\"M22 10v6M2 10l10-5 10 5-10 5z\" />\n <path d=\"M6 12v5c3 3 9 3 12 0v-5\" />\n </svg>\n);\n\n// =============================================================================\n// UI ICONS\n// =============================================================================\n\nexport const IconChevronDown: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n);\n\nexport const IconChevronUp: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <polyline points=\"18 15 12 9 6 15\" />\n </svg>\n);\n\nexport const IconRefresh: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <path d=\"M23 4v6h-6\" />\n <path d=\"M1 20v-6h6\" />\n <path d=\"M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15\" />\n </svg>\n);\n\nexport const IconCheck: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n);\n\nexport const IconLock: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\" />\n <path d=\"M7 11V7a5 5 0 0 1 10 0v4\" />\n </svg>\n);\n\nexport const IconInfo: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\" />\n <line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\" />\n </svg>\n);\n\nexport const IconShield: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\" />\n </svg>\n);\n\nexport const IconShieldCheck: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\" />\n <path d=\"M9 12l2 2 4-4\" />\n </svg>\n);\n\n// =============================================================================\n// BEHAVIORAL & INTELLIGENCE ICONS\n// =============================================================================\n\nexport const IconBrain: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <path d=\"M12 4.5a2.5 2.5 0 0 0-4.96-.46 2.5 2.5 0 0 0-1.98 3 2.5 2.5 0 0 0-1.32 4.24 3 3 0 0 0 .34 5.58 2.5 2.5 0 0 0 2.96 3.08A2.5 2.5 0 0 0 12 19.5a2.5 2.5 0 0 0 4.96.44 2.5 2.5 0 0 0 2.96-3.08 3 3 0 0 0 .34-5.58 2.5 2.5 0 0 0-1.32-4.24 2.5 2.5 0 0 0-1.98-3A2.5 2.5 0 0 0 12 4.5\" />\n <path d=\"M12 4.5v15\" />\n </svg>\n);\n\nexport const IconSparkles: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <path d=\"M12 3l1.912 5.813a2 2 0 0 0 1.275 1.275L21 12l-5.813 1.912a2 2 0 0 0-1.275 1.275L12 21l-1.912-5.813a2 2 0 0 0-1.275-1.275L3 12l5.813-1.912a2 2 0 0 0 1.275-1.275L12 3z\" />\n </svg>\n);\n\nexport const IconTarget: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <circle cx=\"12\" cy=\"12\" r=\"6\" />\n <circle cx=\"12\" cy=\"12\" r=\"2\" />\n </svg>\n);\n\nexport const IconMessageCircle: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <path d=\"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z\" />\n </svg>\n);\n\nexport const IconZap: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <polygon points=\"13 2 3 14 12 14 11 22 21 10 12 10 13 2\" />\n </svg>\n);\n\nexport const IconTrendingUp: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <polyline points=\"23 6 13.5 15.5 8.5 10.5 1 18\" />\n <polyline points=\"17 6 23 6 23 12\" />\n </svg>\n);\n\nexport const IconAlertTriangle: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\" />\n <line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\" />\n <line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\" />\n </svg>\n);\n\nexport const IconUser: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n);\n\nexport const IconClock: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <polyline points=\"12 6 12 12 16 14\" />\n </svg>\n);\n\n// =============================================================================\n// ENGAGEMENT TIP ICONS\n// =============================================================================\n\nexport const IconThumbsUp: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <path d=\"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\" />\n </svg>\n);\n\nexport const IconThumbsDown: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <path d=\"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17\" />\n </svg>\n);\n\nexport const IconLightbulb: React.FC<IconProps> = ({ className, size = 16 }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n >\n <path d=\"M9 18h6\" />\n <path d=\"M10 22h4\" />\n <path d=\"M15.09 14c.18-.98.65-1.74 1.41-2.5A4.65 4.65 0 0 0 18 8 6 6 0 0 0 6 8c0 1 .23 2.23 1.5 3.5A4.61 4.61 0 0 1 8.91 14\" />\n </svg>\n);\n","// =============================================================================\n// EMPTY STATE DISPLAY\n// A calm, intentional empty experience with visual metaphor\n// =============================================================================\n\nimport React from 'react';\nimport { EmptyStateDisplayProps } from '../types';\nimport { Button } from '../../Button/Button';\nimport { IconSparkles, IconRefresh } from './Icons';\n\nexport const EmptyStateDisplay: React.FC<EmptyStateDisplayProps> = ({ onRefresh }) => {\n return (\n <div className=\"ds-lead-empty\">\n {/* Pulsing avatar placeholder with gradient */}\n <div className=\"ds-lead-empty__avatar-container\">\n <div className=\"ds-lead-empty__avatar\">\n <div className=\"ds-lead-empty__avatar-pulse\" />\n <div className=\"ds-lead-empty__avatar-icon\">\n <IconSparkles size={32} />\n </div>\n </div>\n </div>\n\n {/* Human-centered messaging */}\n <div className=\"ds-lead-empty__content\">\n <h2 className=\"ds-lead-empty__title\">Discover Who They Really Are</h2>\n <p className=\"ds-lead-empty__description\">\n Our AI analyzes behavioral patterns, communication style, and personality signals to help\n you connect more effectively.\n </p>\n </div>\n\n {/* Primary action */}\n {onRefresh && (\n <div className=\"ds-lead-empty__action\">\n <Button onClick={onRefresh} variant=\"primary\" size=\"lg\">\n <IconRefresh /> Begin Analysis\n </Button>\n </div>\n )}\n\n {/* Trust indicators */}\n <div className=\"ds-lead-empty__trust\">\n <span className=\"ds-lead-empty__trust-item\">\n <span className=\"ds-lead-empty__trust-dot\" />\n Privacy-first approach\n </span>\n <span className=\"ds-lead-empty__trust-item\">\n <span className=\"ds-lead-empty__trust-dot\" />\n Public data only\n </span>\n <span className=\"ds-lead-empty__trust-item\">\n <span className=\"ds-lead-empty__trust-dot\" />\n ~2 min analysis\n </span>\n </div>\n </div>\n );\n};\n","// =============================================================================\n// LOADING STATE DISPLAY\n// Step-by-step analysis feedback that builds trust\n// =============================================================================\n\nimport React from 'react';\nimport clsx from 'clsx';\nimport { LoadingStateProps } from '../types';\nimport { IconUser, IconBrain, IconMessageCircle, IconSparkles, IconCheck } from './Icons';\n\nconst ANALYSIS_STAGES = [\n { id: 'identity', label: 'Verifying Identity', icon: IconUser },\n { id: 'behavior', label: 'Analyzing Behavior', icon: IconBrain },\n { id: 'communication', label: 'Mapping Communication Style', icon: IconMessageCircle },\n { id: 'personality', label: 'Building Personality Profile', icon: IconSparkles },\n] as const;\n\nexport const LoadingStateDisplay: React.FC<LoadingStateProps> = ({ progress }) => {\n const currentStage = progress?.currentStage || 'identity';\n const completedStages = progress?.completedStages || [];\n const estimatedTime = progress?.estimatedTimeRemaining;\n\n const getStageStatus = (stageId: string) => {\n if (completedStages.includes(stageId as (typeof completedStages)[number])) {\n return 'completed';\n }\n if (stageId === currentStage) {\n return 'active';\n }\n return 'pending';\n };\n\n const completionPercentage = Math.round(\n ((completedStages.length + 0.5) / ANALYSIS_STAGES.length) * 100,\n );\n\n return (\n <div className=\"ds-lead-loading\">\n {/* Progress visualization */}\n <div className=\"ds-lead-loading__progress\">\n <div className=\"ds-lead-loading__progress-bar\">\n <div\n className=\"ds-lead-loading__progress-fill\"\n style={{ width: `${completionPercentage}%` }}\n />\n </div>\n <span className=\"ds-lead-loading__progress-text\">{completionPercentage}% complete</span>\n </div>\n\n {/* Stage breakdown */}\n <div className=\"ds-lead-loading__stages\">\n {ANALYSIS_STAGES.map((stage, index) => {\n const status = getStageStatus(stage.id);\n const Icon = stage.icon;\n\n return (\n <div\n key={stage.id}\n className={clsx('ds-lead-loading__stage', `ds-lead-loading__stage--${status}`)}\n style={{ '--stage-index': index } as React.CSSProperties}\n >\n <div className=\"ds-lead-loading__stage-icon\">\n {status === 'completed' ? <IconCheck size={16} /> : <Icon size={16} />}\n </div>\n <span className=\"ds-lead-loading__stage-label\">{stage.label}</span>\n {status === 'active' && <div className=\"ds-lead-loading__stage-pulse\" />}\n </div>\n );\n })}\n </div>\n\n {/* Time estimate */}\n <div className=\"ds-lead-loading__footer\">\n {estimatedTime && estimatedTime > 0 ? (\n <p className=\"ds-lead-loading__time\">\n About {Math.ceil(estimatedTime / 60)} minute{estimatedTime > 60 ? 's' : ''} remaining\n </p>\n ) : (\n <p className=\"ds-lead-loading__time\">This typically takes 1–2 minutes</p>\n )}\n <p className=\"ds-lead-loading__message\">\n {progress?.message || 'Analyzing publicly available information...'}\n </p>\n </div>\n </div>\n );\n};\n","// =============================================================================\n// IDENTITY HEADER\n// Premium identity section with verification badges and confidence indicators\n// =============================================================================\n\nimport React from 'react';\nimport clsx from 'clsx';\nimport { IdentityHeaderProps } from '../types';\nimport { IconLinkedIn, IconMail, IconMapPin, IconShieldCheck, IconClock } from './Icons';\nimport { OutboundLink } from '../../OutboundLink/OutboundLink';\n\nexport const IdentityHeader: React.FC<IdentityHeaderProps> = ({ data, compact }) => {\n const avatarUrl =\n data.avatarUrl ||\n `https://ui-avatars.com/api/?name=${encodeURIComponent(data.name)}&background=1a1a2e&color=fff&size=240`;\n\n const emailStatus = data.contact?.emailStatus;\n const linkedinVerified = data.contact?.linkedinVerified;\n const confidenceScore = data.dataConfidence?.score;\n\n return (\n <div className={clsx('ds-lead-identity', compact && 'ds-lead-identity--compact')}>\n {/* Avatar with verification ring */}\n <div className=\"ds-lead-identity__avatar-wrapper\">\n <img src={avatarUrl} alt={data.name} className=\"ds-lead-identity__avatar\" />\n {confidenceScore && confidenceScore >= 80 && (\n <div className=\"ds-lead-identity__verified-badge\" title=\"High confidence data\">\n <IconShieldCheck size={14} />\n </div>\n )}\n </div>\n\n {/* Identity content */}\n <div className=\"ds-lead-identity__content\">\n {/* Name row with social proof */}\n <div className=\"ds-lead-identity__name-row\">\n <h1 className=\"ds-lead-identity__name\">{data.name}</h1>\n\n {/* Verification badges */}\n <div className=\"ds-lead-identity__badges\">\n {linkedinVerified && data.contact?.linkedinUrl && (\n <OutboundLink\n href={data.contact.linkedinUrl}\n context=\"identity-linkedin-badge\"\n className=\"ds-lead-identity__badge ds-lead-identity__badge--linkedin\"\n title=\"Verified LinkedIn Profile\"\n >\n <IconLinkedIn size={14} />\n </OutboundLink>\n )}\n {emailStatus === 'verified' && (\n <span\n className=\"ds-lead-identity__badge ds-lead-identity__badge--verified\"\n title=\"Email Verified\"\n >\n <IconMail size={14} />\n </span>\n )}\n </div>\n </div>\n\n {/* Role and company */}\n <div className=\"ds-lead-identity__role\">\n <span className=\"ds-lead-identity__role-title\">{data.role}</span>\n <span className=\"ds-lead-identity__role-separator\">at</span>\n <span className=\"ds-lead-identity__company\">\n {data.companyLogo && (\n <img\n src={data.companyLogo}\n alt={data.company}\n className=\"ds-lead-identity__company-logo\"\n />\n )}\n {data.company}\n </span>\n </div>\n\n {/* Meta information */}\n <div className=\"ds-lead-identity__meta\">\n <span className=\"ds-lead-identity__meta-item\">\n <IconMapPin size={14} />\n {data.location}\n </span>\n </div>\n\n {/* Contact and freshness row */}\n <div className=\"ds-lead-identity__actions\">\n {data.contact?.email && (\n <OutboundLink\n href={`mailto:${data.contact.email}`}\n context=\"identity-email-contact\"\n openInNewTab={false}\n className={clsx(\n 'ds-lead-identity__contact',\n emailStatus && `ds-lead-identity__contact--${emailStatus}`,\n )}\n >\n <IconMail size={14} />\n <span className=\"ds-lead-identity__contact-email\">{data.contact.email}</span>\n {emailStatus && (\n <span className=\"ds-lead-identity__contact-status\">\n {emailStatus === 'verified' && 'Verified'}\n {emailStatus === 'valid' && 'Valid'}\n {emailStatus === 'risky' && 'Risky'}\n {emailStatus === 'invalid' && 'Invalid'}\n </span>\n )}\n </OutboundLink>\n )}\n\n {data.lastUpdated && (\n <span className=\"ds-lead-identity__freshness\">\n <IconClock size={12} />\n Updated {data.lastUpdated}\n </span>\n )}\n </div>\n\n {/* Confidence indicator */}\n {confidenceScore !== undefined && (\n <div className=\"ds-lead-identity__confidence\">\n <div className=\"ds-lead-identity__confidence-bar\">\n <div\n className=\"ds-lead-identity__confidence-fill\"\n style={{ width: `${confidenceScore}%` }}\n />\n </div>\n <span className=\"ds-lead-identity__confidence-label\">\n {confidenceScore}% data confidence\n </span>\n </div>\n )}\n </div>\n </div>\n );\n};\n","// =============================================================================\n// INTELLIGENCE SUMMARY\n// Narrative cards presenting personality and engagement advice\n// =============================================================================\n\nimport React from 'react';\nimport clsx from 'clsx';\nimport { IntelligenceSummaryProps } from '../types';\nimport {\n IconBrain,\n IconTarget,\n IconThumbsUp,\n IconThumbsDown,\n IconLightbulb,\n IconLock,\n} from './Icons';\n\nexport const IntelligenceSummary: React.FC<IntelligenceSummaryProps> = ({\n data,\n isLocked = false,\n}) => {\n if (isLocked) {\n return (\n <div className=\"ds-lead-intelligence\">\n <div className=\"ds-lead-intelligence__grid\">\n {/* Locked personality card */}\n <div className=\"ds-lead-intelligence__card ds-lead-intelligence__card--locked\">\n <div className=\"ds-lead-intelligence__card-header\">\n <IconBrain size={20} />\n <span className=\"ds-lead-intelligence__card-title\">Personality Analysis</span>\n </div>\n <div className=\"ds-lead-intelligence__locked-content\">\n <div className=\"ds-lead-intelligence__locked-icon\">\n <IconLock size={24} />\n </div>\n <p className=\"ds-lead-intelligence__locked-text\">\n Personality analysis in progress...\n </p>\n <div className=\"ds-lead-intelligence__locked-shimmer\" />\n </div>\n </div>\n\n {/* Locked engagement card */}\n <div className=\"ds-lead-intelligence__card ds-lead-intelligence__card--locked\">\n <div className=\"ds-lead-intelligence__card-header\">\n <IconTarget size={20} />\n <span className=\"ds-lead-intelligence__card-title\">Engagement Strategy</span>\n </div>\n <div className=\"ds-lead-intelligence__locked-content\">\n <div className=\"ds-lead-intelligence__locked-icon\">\n <IconLock size={24} />\n </div>\n <p className=\"ds-lead-intelligence__locked-text\">\n Building engagement recommendations...\n </p>\n <div className=\"ds-lead-intelligence__locked-shimmer\" />\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n // If no intelligence data, return nothing\n if (!data.personalitySummary && !data.engagementTips?.length) {\n return null;\n }\n\n return (\n <div className=\"ds-lead-intelligence\">\n <div className=\"ds-lead-intelligence__grid\">\n {/* Personality Narrative Card */}\n {data.personalitySummary && (\n <div className=\"ds-lead-intelligence__card ds-lead-intelligence__card--personality\">\n <div className=\"ds-lead-intelligence__card-header\">\n <IconBrain size={20} />\n <span className=\"ds-lead-intelligence__card-title\">Personality Analysis</span>\n </div>\n <p className=\"ds-lead-intelligence__narrative\">{data.personalitySummary}</p>\n {data.mbtiType && (\n <div className=\"ds-lead-intelligence__mbti-badge\">\n <span className=\"ds-lead-intelligence__mbti-type\">{data.mbtiType}</span>\n <span className=\"ds-lead-intelligence__mbti-label\">Personality Type</span>\n </div>\n )}\n </div>\n )}\n\n {/* Engagement Tips Card */}\n {data.engagementTips && data.engagementTips.length > 0 && (\n <div className=\"ds-lead-intelligence__card ds-lead-intelligence__card--engagement\">\n <div className=\"ds-lead-intelligence__card-header\">\n <IconTarget size={20} />\n <span className=\"ds-lead-intelligence__card-title\">How to Engage</span>\n </div>\n <div className=\"ds-lead-intelligence__tips\">\n {data.engagementTips.map((tip, index) => (\n <div\n key={index}\n className={clsx(\n 'ds-lead-intelligence__tip',\n `ds-lead-intelligence__tip--${tip.type}`,\n )}\n >\n <div className=\"ds-lead-intelligence__tip-icon\">\n {tip.type === 'do' && <IconThumbsUp size={14} />}\n {tip.type === 'dont' && <IconThumbsDown size={14} />}\n {tip.type === 'insight' && <IconLightbulb size={14} />}\n </div>\n <div className=\"ds-lead-intelligence__tip-content\">\n <span className=\"ds-lead-intelligence__tip-text\">{tip.text}</span>\n {tip.detail && (\n <span className=\"ds-lead-intelligence__tip-detail\">{tip.detail}</span>\n )}\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n </div>\n </div>\n );\n};\n","// =============================================================================\n// MBTI SPECTRUM\n// Polished dimension sliders with semantic colors and tooltips\n// =============================================================================\n\nimport React, { useState } from 'react';\nimport clsx from 'clsx';\nimport { MBTISpectrumProps } from '../types';\nimport { IconLock, IconInfo } from './Icons';\n\n// Tooltip explanations for each dimension\nconst DIMENSION_TOOLTIPS: Record<string, { left: string; right: string; description: string }> = {\n energy: {\n left: 'Gains energy from social interaction and external activities',\n right: 'Recharges through solitude and internal reflection',\n description: 'Where you direct and receive energy',\n },\n mind: {\n left: 'Focuses on patterns, possibilities, and abstract thinking',\n right: 'Prefers concrete facts, details, and practical approaches',\n description: 'How you process information',\n },\n nature: {\n left: 'Prioritizes logic, consistency, and objective analysis',\n right: 'Values harmony, empathy, and personal considerations',\n description: 'How you make decisions',\n },\n tactics: {\n left: 'Prefers structure, planning, and decisive action',\n right: 'Favors flexibility, spontaneity, and keeping options open',\n description: 'How you organize your life',\n },\n};\n\nexport const MBTISpectrum: React.FC<MBTISpectrumProps> = ({\n scores,\n mbtiType,\n isLocked = false,\n}) => {\n const [hoveredDimension, setHoveredDimension] = useState<string | null>(null);\n\n if (isLocked) {\n return (\n <div className=\"ds-mbti ds-mbti--locked\">\n <div className=\"ds-mbti__header\">\n <h3 className=\"ds-mbti__title\">MBTI Personality Dimensions</h3>\n <div className=\"ds-mbti__locked-badge\">\n <IconLock size={14} />\n <span>Analysis in progress</span>\n </div>\n </div>\n <div className=\"ds-mbti__locked-content\">\n {[1, 2, 3, 4].map((i) => (\n <div key={i} className=\"ds-mbti__row ds-mbti__row--locked\">\n <span className=\"ds-mbti__label ds-mbti__label--skeleton\" />\n <div className=\"ds-mbti__track ds-mbti__track--skeleton\">\n <div className=\"ds-mbti__skeleton-shimmer\" />\n </div>\n <span className=\"ds-mbti__label ds-mbti__label--skeleton\" />\n </div>\n ))}\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"ds-mbti\">\n <div className=\"ds-mbti__header\">\n <h3 className=\"ds-mbti__title\">Personality Dimensions</h3>\n {mbtiType && <span className=\"ds-mbti__type-badge\">{mbtiType}</span>}\n </div>\n\n <div className=\"ds-mbti__dimensions\">\n {scores.map((score) => {\n const tooltip = DIMENSION_TOOLTIPS[score.dimension];\n const isHovered = hoveredDimension === score.dimension;\n const dominantSide = score.value < 50 ? 'left' : 'right';\n const intensity = Math.abs(score.value - 50);\n\n return (\n <div\n key={score.dimension}\n className={clsx(\n 'ds-mbti__row',\n `ds-mbti__row--${score.color}`,\n isHovered && 'ds-mbti__row--hovered',\n )}\n onMouseEnter={() => setHoveredDimension(score.dimension)}\n onMouseLeave={() => setHoveredDimension(null)}\n >\n {/* Left label */}\n <div\n className={clsx(\n 'ds-mbti__label',\n 'ds-mbti__label--left',\n dominantSide === 'left' && 'ds-mbti__label--active',\n )}\n >\n <span className=\"ds-mbti__label-text\">{score.leftLabel}</span>\n {dominantSide === 'left' && (\n <span className=\"ds-mbti__label-strength\">\n {intensity > 30 ? 'Strong' : intensity > 15 ? 'Moderate' : 'Slight'}\n </span>\n )}\n </div>\n\n {/* Track */}\n <div className=\"ds-mbti__track-container\">\n <div className={clsx('ds-mbti__track', `ds-mbti__track--${score.color}`)}>\n {/* Center marker */}\n <div className=\"ds-mbti__track-center\" />\n\n {/* Fill gradient */}\n <div\n className=\"ds-mbti__track-fill\"\n style={{\n left: score.value < 50 ? `${score.value}%` : '50%',\n width: `${Math.abs(score.value - 50)}%`,\n }}\n />\n\n {/* Thumb */}\n <div className=\"ds-mbti__thumb\" style={{ left: `${score.value}%` }}>\n <div className=\"ds-mbti__thumb-glow\" />\n </div>\n </div>\n\n {/* Dimension label */}\n <span className=\"ds-mbti__dimension-label\">{score.label}</span>\n </div>\n\n {/* Right label */}\n <div\n className={clsx(\n 'ds-mbti__label',\n 'ds-mbti__label--right',\n dominantSide === 'right' && 'ds-mbti__label--active',\n )}\n >\n <span className=\"ds-mbti__label-text\">{score.rightLabel}</span>\n {dominantSide === 'right' && (\n <span className=\"ds-mbti__label-strength\">\n {intensity > 30 ? 'Strong' : intensity > 15 ? 'Moderate' : 'Slight'}\n </span>\n )}\n </div>\n\n {/* Info button */}\n <button\n className=\"ds-mbti__info-button\"\n aria-label={`Learn more about ${score.label}`}\n >\n <IconInfo size={14} />\n </button>\n\n {/* Tooltip */}\n {isHovered && tooltip && (\n <div className=\"ds-mbti__tooltip\">\n <p className=\"ds-mbti__tooltip-description\">{tooltip.description}</p>\n <div className=\"ds-mbti__tooltip-traits\">\n <div className=\"ds-mbti__tooltip-trait\">\n <strong>{score.leftLabel}:</strong> {tooltip.left}\n </div>\n <div className=\"ds-mbti__tooltip-trait\">\n <strong>{score.rightLabel}:</strong> {tooltip.right}\n </div>\n </div>\n </div>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n","// =============================================================================\n// BEHAVIORAL HIGHLIGHTS\n// Visual indicators for communication and decision-making patterns\n// =============================================================================\n\nimport React from 'react';\nimport clsx from 'clsx';\nimport { BehavioralHighlightsProps } from '../types';\nimport { IconMessageCircle, IconZap, IconTrendingUp, IconLock } from './Icons';\n\nconst COMMUNICATION_LABELS = {\n visual: { label: 'Visual', description: 'Prefers diagrams, charts, and visual presentations' },\n verbal: { label: 'Verbal', description: 'Responds best to conversations and discussions' },\n analytical: { label: 'Analytical', description: 'Values data, logic, and detailed analysis' },\n written: { label: 'Written', description: 'Prefers documented, well-structured communication' },\n};\n\nconst DECISION_LABELS = {\n fast: { label: 'Fast Decider', description: 'Makes quick decisions with available information' },\n deliberate: { label: 'Deliberate', description: 'Takes time to weigh all options carefully' },\n consensus: { label: 'Consensus Builder', description: 'Seeks input from others before deciding' },\n 'data-driven': {\n label: 'Data-Driven',\n description: 'Requires strong evidence to make decisions',\n },\n};\n\nexport const BehavioralHighlights: React.FC<BehavioralHighlightsProps> = ({\n signals,\n isLocked = false,\n}) => {\n if (isLocked) {\n return (\n <div className=\"ds-behavioral ds-behavioral--locked\">\n <div className=\"ds-behavioral__header\">\n <h3 className=\"ds-behavioral__title\">Behavioral Signals</h3>\n <div className=\"ds-behavioral__locked-badge\">\n <IconLock size={14} />\n <span>Analyzing patterns...</span>\n </div>\n </div>\n <div className=\"ds-behavioral__grid\">\n {[1, 2, 3].map((i) => (\n <div key={i} className=\"ds-behavioral__item ds-behavioral__item--skeleton\">\n <div className=\"ds-behavioral__item-shimmer\" />\n </div>\n ))}\n </div>\n </div>\n );\n }\n\n const hasAnySignal =\n signals.communicationStyle || signals.decisionStyle || signals.riskTolerance !== undefined;\n\n if (!hasAnySignal) {\n return null;\n }\n\n return (\n <div className=\"ds-behavioral\">\n <div className=\"ds-behavioral__header\">\n <h3 className=\"ds-behavioral__title\">Behavioral Signals</h3>\n </div>\n\n <div className=\"ds-behavioral__grid\">\n {/* Communication Style */}\n {signals.communicationStyle && (\n <div className=\"ds-behavioral__item\">\n <div className=\"ds-behavioral__item-icon\">\n <IconMessageCircle size={18} />\n </div>\n <div className=\"ds-behavioral__item-content\">\n <span className=\"ds-behavioral__item-label\">Communication Style</span>\n <span className=\"ds-behavioral__item-value\">\n {COMMUNICATION_LABELS[signals.communicationStyle].label}\n </span>\n <span className=\"ds-behavioral__item-description\">\n {COMMUNICATION_LABELS[signals.communicationStyle].description}\n </span>\n </div>\n </div>\n )}\n\n {/* Decision Style */}\n {signals.decisionStyle && (\n <div className=\"ds-behavioral__item\">\n <div className=\"ds-behavioral__item-icon\">\n <IconZap size={18} />\n </div>\n <div className=\"ds-behavioral__item-content\">\n <span className=\"ds-behavioral__item-label\">Decision Making</span>\n <span className=\"ds-behavioral__item-value\">\n {DECISION_LABELS[signals.decisionStyle].label}\n </span>\n <span className=\"ds-behavioral__item-description\">\n {DECISION_LABELS[signals.decisionStyle].description}\n </span>\n </div>\n </div>\n )}\n\n {/* Risk Tolerance */}\n {signals.riskTolerance !== undefined && (\n <div className=\"ds-behavioral__item\">\n <div className=\"ds-behavioral__item-icon\">\n <IconTrendingUp size={18} />\n </div>\n <div className=\"ds-behavioral__item-content\">\n <span className=\"ds-behavioral__item-label\">Risk Tolerance</span>\n <div className=\"ds-behavioral__risk-meter\">\n <div className=\"ds-behavioral__risk-track\">\n <div\n className={clsx(\n 'ds-behavioral__risk-fill',\n signals.riskTolerance < 33 && 'ds-behavioral__risk-fill--low',\n signals.riskTolerance >= 33 &&\n signals.riskTolerance < 66 &&\n 'ds-behavioral__risk-fill--medium',\n signals.riskTolerance >= 66 && 'ds-behavioral__risk-fill--high',\n )}\n style={{ width: `${signals.riskTolerance}%` }}\n />\n </div>\n <span className=\"ds-behavioral__risk-label\">\n {signals.riskTolerance < 33 && 'Conservative'}\n {signals.riskTolerance >= 33 && signals.riskTolerance < 66 && 'Balanced'}\n {signals.riskTolerance >= 66 && 'Risk-Tolerant'}\n </span>\n </div>\n </div>\n </div>\n )}\n </div>\n </div>\n );\n};\n","// =============================================================================\n// DEEP DIVE SECTION\n// Expandable sections for detailed background information\n// =============================================================================\n\nimport React, { useState } from 'react';\nimport clsx from 'clsx';\nimport { DeepDiveSectionProps } from '../types';\nimport {\n IconChevronDown,\n IconChevronUp,\n IconSchool,\n IconBriefcase,\n IconTrendingUp,\n IconAlertTriangle,\n} from './Icons';\n\nexport const DeepDiveSection: React.FC<DeepDiveSectionProps> = ({\n data,\n defaultExpanded = false,\n}) => {\n const [isExpanded, setIsExpanded] = useState(defaultExpanded);\n\n const hasContent =\n data.education?.length ||\n data.experience?.length ||\n data.strengths?.length ||\n data.risks?.length ||\n data.careerInsights;\n\n if (!hasContent) {\n return null;\n }\n\n return (\n <div className={clsx('ds-deep-dive', isExpanded && 'ds-deep-dive--expanded')}>\n {/* Trigger */}\n <button\n className=\"ds-deep-dive__trigger\"\n onClick={() => setIsExpanded(!isExpanded)}\n aria-expanded={isExpanded}\n aria-controls=\"deep-dive-content\"\n >\n <span className=\"ds-deep-dive__trigger-text\">Deep Dive & Background</span>\n <span className=\"ds-deep-dive__trigger-icon\">\n {isExpanded ? <IconChevronUp size={16} /> : <IconChevronDown size={16} />}\n </span>\n </button>\n\n {/* Content */}\n {isExpanded && (\n <div id=\"deep-dive-content\" className=\"ds-deep-dive__content\">\n <div className=\"ds-deep-dive__grid\">\n {/* Strengths & Risks */}\n {(data.strengths?.length || data.risks?.length) && (\n <div className=\"ds-deep-dive__card ds-deep-dive__card--insights\">\n {data.strengths && data.strengths.length > 0 && (\n <div className=\"ds-deep-dive__section\">\n <div className=\"ds-deep-dive__section-header ds-deep-dive__section-header--success\">\n <IconTrendingUp size={16} />\n <h4 className=\"ds-deep-dive__section-title\">Key Strengths</h4>\n </div>\n <ul className=\"ds-deep-dive__list\">\n {data.strengths.map((strength, idx) => (\n <li key={idx} className=\"ds-deep-dive__list-item\">\n {strength}\n </li>\n ))}\n </ul>\n </div>\n )}\n\n {data.risks && data.risks.length > 0 && (\n <div className=\"ds-deep-dive__section\">\n <div className=\"ds-deep-dive__section-header ds-deep-dive__section-header--warning\">\n <IconAlertTriangle size={16} />\n <h4 className=\"ds-deep-dive__section-title\">Watch Out For</h4>\n </div>\n <ul className=\"ds-deep-dive__list\">\n {data.risks.map((risk, idx) => (\n <li key={idx} className=\"ds-deep-dive__list-item\">\n {risk}\n </li>\n ))}\n </ul>\n </div>\n )}\n </div>\n )}\n\n {/* Education */}\n {data.education && data.education.length > 0 && (\n <div className=\"ds-deep-dive__card\">\n <div className=\"ds-deep-dive__section-header\">\n <IconSchool size={16} />\n <h4 className=\"ds-deep-dive__section-title\">Education</h4>\n </div>\n <div className=\"ds-deep-dive__timeline\">\n {data.education.map((edu, idx) => (\n <div key={idx} className=\"ds-deep-dive__timeline-item\">\n {edu.logo ? (\n <img\n src={edu.logo}\n alt={edu.school}\n className=\"ds-deep-dive__timeline-logo\"\n />\n ) : (\n <div className=\"ds-deep-dive__timeline-icon\">\n <IconSchool size={16} />\n </div>\n )}\n <div className=\"ds-deep-dive__timeline-content\">\n <h5 className=\"ds-deep-dive__timeline-title\">{edu.school}</h5>\n <p className=\"ds-deep-dive__timeline-subtitle\">\n {edu.degree}\n {edu.field && ` in ${edu.field}`}\n </p>\n <span className=\"ds-deep-dive__timeline-date\">{edu.year}</span>\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n\n {/* Experience */}\n {data.experience && data.experience.length > 0 && (\n <div className=\"ds-deep-dive__card\">\n <div className=\"ds-deep-dive__section-header\">\n <IconBriefcase size={16} />\n <h4 className=\"ds-deep-dive__section-title\">Experience</h4>\n </div>\n <div className=\"ds-deep-dive__timeline\">\n {data.experience.map((exp, idx) => (\n <div\n key={idx}\n className={clsx(\n 'ds-deep-dive__timeline-item',\n exp.current && 'ds-deep-dive__timeline-item--current',\n )}\n >\n {exp.logo ? (\n <img\n src={exp.logo}\n alt={exp.company}\n className=\"ds-deep-dive__timeline-logo\"\n />\n ) : (\n <div className=\"ds-deep-dive__timeline-icon\">\n <IconBriefcase size={16} />\n </div>\n )}\n <div className=\"ds-deep-dive__timeline-content\">\n <h5 className=\"ds-deep-dive__timeline-title\">{exp.role}</h5>\n <p className=\"ds-deep-dive__timeline-subtitle\">{exp.company}</p>\n <span className=\"ds-deep-dive__timeline-date\">\n {exp.duration}\n {exp.current && (\n <span className=\"ds-deep-dive__current-badge\">Current</span>\n )}\n </span>\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n\n {/* Career Insights */}\n {data.careerInsights && (\n <div className=\"ds-deep-dive__card ds-deep-dive__card--wide\">\n <div className=\"ds-deep-dive__section-header\">\n <IconTrendingUp size={16} />\n <h4 className=\"ds-deep-dive__section-title\">Career Trajectory</h4>\n </div>\n <p className=\"ds-deep-dive__narrative\">{data.careerInsights}</p>\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n );\n};\n"]}
|
|
@@ -676,7 +676,7 @@ var defaultSignupLabels = {
|
|
|
676
676
|
loginPrompt: "Already have an account?",
|
|
677
677
|
loginLabel: "Sign in",
|
|
678
678
|
successTitle: "Welcome!",
|
|
679
|
-
continueToLoginLabel: "
|
|
679
|
+
continueToLoginLabel: "Go to Application"
|
|
680
680
|
};
|
|
681
681
|
function calculatePasswordStrength(password, strengthLabels) {
|
|
682
682
|
let score = 0;
|
|
@@ -712,7 +712,11 @@ var Signup = ({
|
|
|
712
712
|
isLoading = false,
|
|
713
713
|
error,
|
|
714
714
|
isSuccess = false,
|
|
715
|
-
successMessage =
|
|
715
|
+
successMessage = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
716
|
+
"You're all set!",
|
|
717
|
+
/* @__PURE__ */ jsxRuntime.jsx("br", {}),
|
|
718
|
+
"Check your email to verify your account."
|
|
719
|
+
] }),
|
|
716
720
|
className,
|
|
717
721
|
style,
|
|
718
722
|
labels: customLabels,
|
|
@@ -759,7 +763,7 @@ var Signup = ({
|
|
|
759
763
|
}
|
|
760
764
|
)
|
|
761
765
|
] }) }),
|
|
762
|
-
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "ds-signup__success-title", children: l.successTitle === "Welcome!" ? `Welcome to ${brandName}!` : l.successTitle }),
|
|
766
|
+
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "ds-signup__success-title", children: l.successTitle === "Welcome!" ? brandName ? `Welcome to ${brandName}!` : "Welcome!" : l.successTitle }),
|
|
763
767
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "ds-signup__success-message", children: successMessage }),
|
|
764
768
|
/* @__PURE__ */ jsxRuntime.jsx(chunkH2Y6BSTL_cjs.Button, { variant: "primary", size: "lg", onClick: onLogin, className: "ds-signup__success-btn", children: l.continueToLoginLabel })
|
|
765
769
|
] })
|
|
@@ -878,7 +882,7 @@ var Signup = ({
|
|
|
878
882
|
autoComplete: "email"
|
|
879
883
|
}
|
|
880
884
|
) }),
|
|
881
|
-
/* @__PURE__ */ jsxRuntime.
|
|
885
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-signup__field ds-signup__phone-field", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-textfield", children: [
|
|
882
886
|
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "ds-textfield__label", htmlFor: "phone-input", children: l.phoneLabel }),
|
|
883
887
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-textfield__input-wrapper", children: renderPhoneInput ? renderPhoneInput({
|
|
884
888
|
value: phone,
|
|
@@ -923,7 +927,7 @@ var Signup = ({
|
|
|
923
927
|
}
|
|
924
928
|
)
|
|
925
929
|
] }) })
|
|
926
|
-
] }),
|
|
930
|
+
] }) }),
|
|
927
931
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-signup__field", children: [
|
|
928
932
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-signup__password-wrapper", children: [
|
|
929
933
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2558,4 +2562,4 @@ exports.SidebarSection = SidebarSection;
|
|
|
2558
2562
|
exports.Signup = Signup;
|
|
2559
2563
|
exports.TabItem = TabItem;
|
|
2560
2564
|
//# sourceMappingURL=out.js.map
|
|
2561
|
-
//# sourceMappingURL=chunk-
|
|
2565
|
+
//# sourceMappingURL=chunk-G2XGBO5V.cjs.map
|