chordia-ui 3.3.0 → 3.3.2
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/FileUploadingState.cjs.js +2 -2
- package/dist/FileUploadingState.cjs.js.map +1 -1
- package/dist/FileUploadingState.es.js +5 -4
- package/dist/FileUploadingState.es.js.map +1 -1
- package/dist/components/onboarding.cjs.js +1 -1
- package/dist/components/onboarding.cjs.js.map +1 -1
- package/dist/components/onboarding.es.js +540 -417
- package/dist/components/onboarding.es.js.map +1 -1
- package/dist/index.cjs2.js +2 -2
- package/dist/index.cjs2.js.map +1 -1
- package/dist/index.es2.js +449 -437
- package/dist/index.es2.js.map +1 -1
- package/package.json +1 -1
- package/src/components/common/FileUploadingState.jsx +4 -4
- package/src/components/login/LoginPage.jsx +21 -3
- package/src/components/onboarding/AddTeammates.jsx +246 -66
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.es.js","sources":["../../src/components/onboarding/ConnectData.jsx","../../src/components/onboarding/AddTeammates.jsx","../../src/components/onboarding/GettingStarted.jsx"],"sourcesContent":["import IntegrationCard from '../layout/IntegrationCard';\n\nconst FF = 'var(--font-sans)';\n\n// ─── Styles ───\n\nconst containerStyle = {\n fontFamily: FF,\n};\n\nconst sectionTitleStyle = {\n fontSize: 20,\n fontWeight: 600,\n fontStyle: 'normal',\n fontFamily: FF,\n color: 'var(--grey-strong)',\n margin: 0,\n lineHeight: 'normal',\n};\n\nconst sectionSubtitleStyle = {\n fontSize: 13,\n fontWeight: 400,\n fontStyle: 'normal',\n color: 'var(--color-text-secondary)',\n fontFamily: FF,\n margin: '4px 0 0',\n lineHeight: '140%',\n};\n\nconst gridStyle = {\n display: 'grid',\n gridTemplateColumns: 'repeat(3, 1fr)',\n gap: 16,\n marginTop: 24,\n};\n\n// ─── Default Integrations ───\n\nconst DEFAULT_INTEGRATIONS = [\n {\n providerName: 'Five9',\n description: 'Cloud contact center platform for voice and digital channels',\n status: 'connected',\n railColor: '#5E88B0',\n },\n {\n providerName: 'Twilio Flex',\n description: 'Programmable contact center with custom workflows',\n status: 'available',\n railColor: '#9B7AA8',\n },\n {\n providerName: 'Zoom Phone',\n description: 'Cloud phone system with recording capabilities',\n status: 'coming-soon',\n railColor: '#6B7C93',\n },\n];\n\n// ─── Component ───\n\nconst ConnectData = ({ integrations = DEFAULT_INTEGRATIONS, onConfigure }) => {\n return (\n <div style={containerStyle}>\n <h2 style={sectionTitleStyle}>Connect Data Source</h2>\n <p style={sectionSubtitleStyle}>\n Choose your preferred platforms to synchronise data.\n </p>\n\n <div style={gridStyle}>\n {integrations.map((integration) => (\n <IntegrationCard\n key={integration.providerName}\n providerName={integration.providerName}\n description={integration.description}\n status={integration.status}\n railColor={integration.railColor}\n logoUrl={integration.logoUrl}\n icon={integration.icon}\n onConfigure={() => onConfigure?.(integration)}\n />\n ))}\n </div>\n </div>\n );\n};\n\nexport default ConnectData;\n","import { useState, useRef, useEffect } from 'react';\nimport { ChevronDown, Trash, SquareUser } from 'lucide-react';\n\nconst FF = 'var(--font-sans)';\n\nconst ROLES = ['Super Admin', 'Admin', 'Analyst', 'Supervisor', 'Agent'];\n\n/**\n * AddTeammates — Create users, set roles/projects, and send invites.\n *\n * Props:\n * - title string Heading (default \"Create User\")\n * - subtitle string Description text\n * - projects string[] List of project names for assignment dropdown\n * - defaultRole string Default role for new members (default \"Admin\")\n * - defaultProject string Default project for new members\n * - roles string[] Available roles (default ROLES)\n * - onSendInvite function(members[]) Called with array of { email, role, project }\n * - onInvite function(emails[]) Legacy callback\n */\nconst AddTeammates = ({\n title = 'Create User',\n subtitle = 'Create users and send invites to add them to the platform.',\n projects = ['Andromeda Project'],\n defaultRole = 'Admin',\n defaultProject,\n roles = ROLES,\n onSendInvite,\n onInvite,\n}) => {\n const [inputValue, setInputValue] = useState('');\n const [members, setMembers] = useState([]);\n const [openDropdownIdx, setOpenDropdownIdx] = useState(null);\n const [openProjectIdx, setOpenProjectIdx] = useState(null);\n const inputRef = useRef(null);\n const dropdownRef = useRef(null);\n\n const resolvedDefaultProject = defaultProject || projects[0] || '';\n\n // Close dropdowns on outside click\n useEffect(() => {\n if (openDropdownIdx === null && openProjectIdx === null) return;\n const handleClick = (e) => {\n if (dropdownRef.current && !dropdownRef.current.contains(e.target)) {\n setOpenDropdownIdx(null);\n setOpenProjectIdx(null);\n }\n };\n document.addEventListener('mousedown', handleClick);\n return () => document.removeEventListener('mousedown', handleClick);\n }, [openDropdownIdx, openProjectIdx]);\n\n const addEmails = () => {\n const raw = inputValue\n .split(',')\n .map((e) => e.trim())\n .filter((e) => e.includes('@'));\n const existing = new Set(members.map((m) => m.email));\n const newMembers = raw\n .filter((e) => !existing.has(e))\n .map((email) => ({ email, role: defaultRole, project: resolvedDefaultProject }));\n if (newMembers.length) {\n setMembers([...members, ...newMembers]);\n setInputValue('');\n }\n };\n\n const handleKeyDown = (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n addEmails();\n }\n };\n\n const removeMember = (idx) => {\n setMembers(members.filter((_, i) => i !== idx));\n setOpenDropdownIdx(null);\n };\n\n const updateMember = (idx, field, value) => {\n setMembers(members.map((m, i) => (i === idx ? { ...m, [field]: value } : m)));\n };\n\n const handleSendInvite = () => {\n if (members.length) {\n onSendInvite?.(members);\n onInvite?.(members.map((m) => m.email));\n }\n };\n\n return (\n <div style={{ fontFamily: FF }}>\n {/* Header */}\n <h2 style={{ fontSize: 20, fontWeight: 600, color: 'var(--grey-strong, #2E3236)', margin: 0, lineHeight: 'normal' }}>\n {title}\n </h2>\n <p style={{ fontSize: 13, fontWeight: 400, color: 'var(--color-text-secondary, #808183)', margin: '4px 0 0', lineHeight: '140%' }}>\n {subtitle}\n </p>\n\n {/* Email input row */}\n <div style={{ display: 'flex', alignItems: 'center', gap: 12, marginTop: 24 }}>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n minHeight: 44,\n padding: '6px 14px',\n borderRadius: 10,\n border: '1px solid var(--color-input-border, #D9D9D9)',\n background: 'var(--grey-white, #FFF)',\n boxSizing: 'border-box',\n gap: 4,\n flexWrap: 'wrap',\n }}\n >\n {/* Email tags from input */}\n {inputValue.split(',').filter((s) => s.trim()).length > 1 &&\n inputValue\n .split(',')\n .map((s) => s.trim())\n .filter((s) => s.includes('@'))\n .map((email, i) => (\n <span\n key={i}\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n padding: '4px 10px',\n borderRadius: 6,\n background: 'var(--hover-warm, #F5F0E8)',\n fontSize: 14,\n fontWeight: 500,\n color: 'var(--grey-strong, #2E3236)',\n whiteSpace: 'nowrap',\n }}\n >\n {email}\n </span>\n ))}\n <input\n ref={inputRef}\n type=\"text\"\n placeholder=\"Enter email addresses separated by commas\"\n value={inputValue}\n onChange={(e) => setInputValue(e.target.value)}\n onKeyDown={handleKeyDown}\n style={{\n flex: 1,\n minWidth: 200,\n border: 'none',\n outline: 'none',\n fontSize: 14,\n fontWeight: 400,\n fontFamily: FF,\n color: 'var(--grey-strong, #2E3236)',\n background: 'transparent',\n height: 32,\n }}\n />\n </div>\n <button\n onClick={addEmails}\n style={{\n display: 'flex',\n height: 44,\n padding: '0 24px',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: 10,\n background: 'var(--grey-strong, #2E3236)',\n fontSize: 14,\n fontWeight: 600,\n fontFamily: FF,\n color: 'var(--grey-white, #FFF)',\n border: 'none',\n cursor: 'pointer',\n flexShrink: 0,\n }}\n >\n Add\n </button>\n </div>\n\n {/* Invited Members section */}\n {members.length > 0 && (\n <div style={{ marginTop: 24 }}>\n {/* Section header */}\n <div style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between', marginBottom: 12 }}>\n <span style={{ fontSize: 14, fontWeight: 400, fontFamily: 'Varta, var(--font-sans)', fontStyle: 'normal', lineHeight: 'normal', color: 'var(--Content-Tertiary, #676767)' }}>\n Invited Members\n </span>\n <button\n onClick={handleSendInvite}\n style={{\n display: 'flex',\n height: 28,\n padding: 10,\n justifyContent: 'center',\n alignItems: 'center',\n gap: 10,\n borderRadius: 10,\n border: '1px solid var(--Base-absent, #D9D9D9)',\n background: 'var(--Base-White, #FFF)',\n fontSize: 14,\n fontWeight: 600,\n fontFamily: FF,\n color: 'var(--Content-Primary, #2E3236)',\n cursor: 'pointer',\n }}\n >\n Send Invite\n </button>\n </div>\n\n {/* Members list */}\n <div style={{ border: '1px solid var(--border, #ECEEF2)', borderRadius: 10, overflow: 'visible' }}>\n {members.map((member, idx) => (\n <div\n key={member.email}\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '12px 16px',\n borderBottom: idx < members.length - 1 ? '1px solid var(--border, #ECEEF2)' : 'none',\n position: 'relative',\n }}\n >\n {/* Left: avatar + info */}\n <div style={{ display: 'flex', alignItems: 'center', gap: 12 }}>\n <div\n style={{\n width: 36,\n height: 36,\n borderRadius: 9999,\n background: 'var(--hover-warm, #F5F0E8)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n }}\n >\n <SquareUser size={24} color=\"var(--color-text-secondary, #808183)\" />\n </div>\n <div>\n <p style={{ fontSize: 14, fontWeight: 500, color: 'var(--grey-strong, #2E3236)', margin: 0, lineHeight: '120%' }}>\n {member.email}\n </p>\n <p style={{ fontSize: 13, fontWeight: 400, color: 'var(--color-text-secondary, #808183)', margin: '2px 0 0', lineHeight: '140%' }}>\n {member.role && member.project\n ? `${member.role} · ${member.project}`\n : 'Role & Project is not defined'}\n </p>\n </div>\n </div>\n\n {/* Right: Set Permissions dropdown */}\n <div style={{ position: 'relative' }} ref={openDropdownIdx === idx ? dropdownRef : null}>\n <button\n onClick={() => setOpenDropdownIdx(openDropdownIdx === idx ? null : idx)}\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n padding: '8px 12px',\n borderRadius: 10,\n border: '1px solid var(--Border-Subtle, #E6E6E6)',\n background: 'var(--Base-White, #FFF)',\n fontSize: 14,\n fontWeight: 500,\n fontFamily: FF,\n color: 'var(--Content-Primary, #2E3236)',\n cursor: 'pointer',\n whiteSpace: 'nowrap',\n }}\n >\n Set Permissions\n <ChevronDown size={16} color=\"var(--Grey-Strong, #808183)\" />\n </button>\n\n {/* Dropdown */}\n {openDropdownIdx === idx && (\n <div\n style={{\n position: 'absolute',\n top: '100%',\n right: 0,\n marginTop: 4,\n display: 'flex',\n width: 217,\n padding: '4px 12px',\n flexDirection: 'column',\n alignItems: 'flex-start',\n gap: 4,\n borderRadius: 10,\n border: '1px solid var(--Border-Subtle, #E6E6E6)',\n background: 'var(--Dropdown-Dropdown-Area-Fill, #FFF)',\n boxShadow: '0 8px 24px rgba(0,0,0,0.10)',\n zIndex: 100,\n boxSizing: 'border-box',\n }}\n >\n {/* User Role */}\n <div style={{ padding: '8px 0 4px', fontSize: 14, fontWeight: 600, color: 'var(--Content-Primary, #2E3236)', width: '100%' }}>\n Set User Role\n </div>\n {roles.map((role) => (\n <div\n key={role}\n onClick={() => updateMember(idx, 'role', role)}\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n padding: '6px 0',\n cursor: 'pointer',\n fontSize: 14,\n fontWeight: 400,\n color: 'var(--Content-Primary, #2E3236)',\n width: '100%',\n }}\n >\n {/* Radio */}\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" style={{ flexShrink: 0 }}>\n <circle cx=\"10\" cy=\"10\" r=\"7.33\" stroke={member.role === role ? '#00A66E' : '#D9D9D9'} strokeWidth=\"2\" />\n {member.role === role && <ellipse cx=\"10\" cy=\"10\" rx=\"4.17\" ry=\"4.17\" fill=\"#00A66E\" />}\n </svg>\n {role}\n </div>\n ))}\n\n {/* Divider */}\n <div style={{ height: 1, background: 'var(--Border-Subtle, #E6E6E6)', width: '100%' }} />\n\n {/* Project Assignment */}\n <div style={{ padding: '4px 0', fontSize: 14, fontWeight: 600, color: 'var(--Content-Primary, #2E3236)', width: '100%' }}>\n Project Assignment\n </div>\n <div style={{ width: '100%', position: 'relative' }}>\n {/* Project trigger */}\n <div\n onClick={() => setOpenProjectIdx(openProjectIdx === idx ? null : idx)}\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '100%',\n padding: '8px 10px',\n borderRadius: 10,\n border: '1px solid var(--Border-Subtle, #E6E6E6)',\n background: 'var(--Base-White, #FFF)',\n fontSize: 14,\n fontWeight: 400,\n fontFamily: FF,\n color: 'var(--Content-Primary, #2E3236)',\n cursor: 'pointer',\n boxSizing: 'border-box',\n }}\n >\n {member.project}\n <ChevronDown size={16} color=\"var(--Grey-Strong, #808183)\" />\n </div>\n {/* Project options */}\n {openProjectIdx === idx && (\n <div\n style={{\n position: 'absolute',\n top: '100%',\n left: 0,\n right: 0,\n marginTop: 4,\n borderRadius: 10,\n border: '1px solid var(--Border-Subtle, #E6E6E6)',\n background: 'var(--Dropdown-Dropdown-Area-Fill, #FFF)',\n boxShadow: '0 4px 12px rgba(0,0,0,0.08)',\n zIndex: 101,\n padding: 4,\n }}\n >\n {projects.map((p) => (\n <div\n key={p}\n onClick={() => {\n updateMember(idx, 'project', p);\n setOpenProjectIdx(null);\n }}\n style={{\n display: 'flex',\n height: 26,\n padding: '12px 16px 12px 8px',\n alignItems: 'center',\n gap: 6,\n alignSelf: 'stretch',\n borderRadius: 8,\n background: member.project === p ? 'var(--Neutral-50, #F2F2F0)' : 'transparent',\n fontSize: 14,\n fontWeight: 400,\n fontFamily: FF,\n color: 'var(--Content-Primary, #2E3236)',\n cursor: 'pointer',\n }}\n onMouseEnter={(e) => {\n if (member.project !== p) e.currentTarget.style.background = 'var(--Neutral-50, #F2F2F0)';\n }}\n onMouseLeave={(e) => {\n if (member.project !== p) e.currentTarget.style.background = 'transparent';\n }}\n >\n {p}\n </div>\n ))}\n </div>\n )}\n </div>\n\n {/* Divider */}\n <div style={{ height: 1, background: 'var(--Border-Subtle, #E6E6E6)', width: '100%' }} />\n\n {/* Remove */}\n <div\n onClick={() => removeMember(idx)}\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n padding: '6px 0',\n cursor: 'pointer',\n fontSize: 14,\n fontWeight: 500,\n color: 'var(--Content-Primary, #2E3236)',\n width: '100%',\n }}\n >\n <Trash size={16} />\n Remove\n </div>\n </div>\n )}\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n </div>\n );\n};\n\nexport default AddTeammates;\n","import { useState } from 'react';\nimport { MessageSquare, Database, Users, BookOpen, SlidersHorizontal, Briefcase } from 'lucide-react';\nimport UploadInteraction from './UploadInteraction';\nimport ConnectData from './ConnectData';\nimport AddTeammates from './AddTeammates';\n\nconst FF = 'var(--font-sans)';\n\n// ─── Steps Configuration ───\n\nconst DEFAULT_STEPS = [\n { id: 'workspace', label: 'Workspace Name', description: 'Give your project a title.', icon: Briefcase },\n { id: 'interaction', label: 'Add Interaction', description: 'Connect data to see patterns.', icon: MessageSquare },\n { id: 'connect', label: 'Connect Data', description: 'Link your platform for auto-evaluation.', icon: Database },\n { id: 'invite', label: 'Invite Team', description: 'Add members to collaborate.', icon: Users },\n { id: 'concepts', label: 'Learn Concepts', description: 'Explore conditions and evidence.', icon: BookOpen },\n { id: 'scope', label: 'Define Scope', description: 'Customize evaluation signals.', icon: SlidersHorizontal },\n];\n\n// ─── Styles ───\n\nconst pageStyle = {\n fontFamily: FF,\n background: 'var(--grey-white)',\n minHeight: '100vh',\n boxSizing: 'border-box',\n};\n\nconst headerStyle = {\n padding: '24px 48px',\n borderBottom: '1px solid var(--border)',\n background: 'var(--grey-white)',\n};\n\nconst headerTopRow = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n marginBottom: 8,\n};\n\nconst titleStyle = {\n fontSize: 24,\n fontWeight: 600,\n fontStyle: 'normal',\n fontFamily: FF,\n color: 'var(--grey-strong)',\n margin: 0,\n lineHeight: 'normal',\n};\n\nconst subtitleStyle = {\n fontSize: 14,\n fontWeight: 400,\n lineHeight: '140%',\n color: 'var(--text-muted)',\n margin: '4px 0 0',\n fontFamily: FF,\n};\n\nconst headerActions = {\n display: 'flex',\n alignItems: 'center',\n gap: 12,\n};\n\nconst remindBtnStyle = {\n display: 'flex',\n height: 36,\n padding: '0 16px',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: 10,\n background: 'transparent',\n border: '1px solid var(--border-strong)',\n fontSize: 14,\n fontWeight: 500,\n fontFamily: FF,\n color: 'var(--text-base)',\n cursor: 'pointer',\n transition: 'var(--transition-fast)',\n outline: 'none',\n};\n\nconst saveBtnStyle = {\n display: 'flex',\n height: 36,\n padding: '0 20px',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: 10,\n background: 'var(--grey-strong)',\n fontSize: 14,\n fontWeight: 600,\n fontFamily: FF,\n color: 'var(--grey-white)',\n border: 'none',\n cursor: 'pointer',\n transition: 'var(--transition-fast)',\n outline: 'none',\n};\n\nconst progressBarBg = {\n width: '100%',\n height: 6,\n borderRadius: 3,\n background: 'var(--border)',\n overflow: 'hidden',\n marginTop: 12,\n};\n\nconst progressBarFill = (pct) => ({\n width: `${pct}%`,\n height: '100%',\n borderRadius: 3,\n background: 'var(--color-green)',\n transition: 'width 0.4s ease-out',\n});\n\nconst bodyStyle = {\n display: 'flex',\n flex: 1,\n minHeight: 'calc(100vh - 140px)',\n};\n\n// ─── Sidebar Styles ───\n\nconst sidebarStyle = {\n width: 312,\n minWidth: 312,\n borderRight: '1px solid var(--border)',\n padding: '24px 24px',\n background: 'var(--grey-white)',\n boxSizing: 'border-box',\n};\n\nconst stepsCountStyle = {\n fontSize: 13,\n fontWeight: 500,\n color: 'var(--text-muted)',\n fontFamily: FF,\n margin: '0 0 12px',\n};\n\nconst stepsListStyle = {\n display: 'flex',\n width: 264,\n flexDirection: 'column',\n alignItems: 'flex-start',\n gap: 8,\n alignSelf: 'stretch',\n};\n\nconst stepItemStyle = (isActive) => ({\n display: 'flex',\n alignItems: 'center',\n gap: 4,\n padding: '8px 4px',\n cursor: 'pointer',\n transition: 'var(--transition-fast)',\n background: isActive ? 'var(--hover-warm)' : 'var(--grey-white)',\n borderRadius: 8,\n alignSelf: 'stretch',\n});\n\nconst stepIconWrap = {\n width: 40,\n height: 40,\n flexShrink: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n};\n\nconst stepLabelStyle = {\n fontSize: 14,\n fontWeight: 600,\n fontStyle: 'normal',\n color: 'var(--grey-strong)',\n fontFamily: FF,\n margin: 0,\n lineHeight: '120%',\n};\n\nconst stepDescStyle = {\n fontSize: 12,\n fontWeight: 400,\n color: 'var(--text-muted)',\n fontFamily: FF,\n margin: '2px 0 0',\n lineHeight: 1.3,\n};\n\n// ─── Content Styles ───\n\nconst contentStyle = {\n flex: 1,\n padding: '40px 48px',\n background: 'var(--grey-white)',\n boxSizing: 'border-box',\n};\n\nconst sectionTitleStyle = {\n fontSize: 20,\n fontWeight: 600,\n fontStyle: 'normal',\n fontFamily: FF,\n color: 'var(--grey-strong)',\n margin: 0,\n lineHeight: 'normal',\n};\n\nconst sectionSubtitleStyle = {\n fontSize: 13,\n fontWeight: 400,\n fontStyle: 'normal',\n color: 'var(--color-text-secondary)',\n fontFamily: FF,\n margin: '4px 0 0',\n lineHeight: '140%',\n};\n\nconst fieldLabelStyle = {\n fontSize: 16,\n fontWeight: 600,\n fontStyle: 'normal',\n color: 'var(--grey-strong)',\n fontFamily: FF,\n lineHeight: 'normal',\n margin: 0,\n display: 'block',\n};\n\nconst inputStyle = {\n width: '100%',\n height: 44,\n padding: '0 14px',\n borderRadius: 6,\n border: '1px solid var(--color-input-border)',\n fontSize: 16,\n fontWeight: 400,\n fontStyle: 'normal',\n lineHeight: 'normal',\n fontFamily: FF,\n color: 'var(--color-text-secondary)',\n background: 'var(--grey-white)',\n boxSizing: 'border-box',\n outline: 'none',\n transition: 'var(--transition-fast)',\n};\n\nconst textareaWrapStyle = {\n position: 'relative',\n marginTop: 8,\n};\n\nconst textareaStyle = {\n width: '100%',\n minHeight: 160,\n padding: '12px 14px 28px 14px',\n borderRadius: 6,\n border: '1px solid var(--color-input-border)',\n fontSize: 16,\n fontWeight: 400,\n fontStyle: 'normal',\n lineHeight: 'normal',\n fontFamily: FF,\n color: 'var(--color-text-secondary)',\n background: 'var(--grey-white)',\n boxSizing: 'border-box',\n outline: 'none',\n resize: 'vertical',\n lineHeight: '140%',\n transition: 'var(--transition-fast)',\n};\n\nconst charCountStyle = {\n position: 'absolute',\n bottom: 10,\n right: 14,\n fontSize: 12,\n fontWeight: 400,\n color: 'var(--text-faint)',\n fontFamily: FF,\n margin: 0,\n pointerEvents: 'none',\n};\n\n// ─── Step Indicator Icons ───\n\nfunction CompletedIcon() {\n return (\n <div\n style={{\n width: 24,\n height: 24,\n borderRadius: 6,\n background: 'var(--grey-strong)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n }}\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\n <path d=\"M2.5 7.5L5.5 10.5L11.5 4\" stroke=\"var(--grey-white)\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </div>\n );\n}\n\nfunction IncompleteIcon() {\n return (\n <div\n style={{\n width: 24,\n height: 24,\n borderRadius: '50%',\n border: '2px solid var(--grey-muted)',\n background: 'transparent',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n gap: 2,\n boxSizing: 'border-box',\n }}\n >\n <span style={{ width: 3, height: 3, borderRadius: '50%', background: 'var(--grey-muted)' }} />\n <span style={{ width: 3, height: 3, borderRadius: '50%', background: 'var(--grey-muted)' }} />\n <span style={{ width: 3, height: 3, borderRadius: '50%', background: 'var(--grey-muted)' }} />\n </div>\n );\n}\n\n// ─── Step Item Component ───\n\nfunction StepItem({ step, isCompleted, isActive, onClick }) {\n const [hovered, setHovered] = useState(false);\n\n return (\n <div\n style={{\n ...stepItemStyle(isActive),\n ...(hovered && !isActive ? { background: 'var(--hover-warm-subtle)' } : {}),\n }}\n onClick={onClick}\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n >\n <div style={stepIconWrap}>\n {isCompleted ? <CompletedIcon /> : <IncompleteIcon />}\n </div>\n <div>\n <p style={stepLabelStyle}>{step.label}</p>\n <p style={stepDescStyle}>{step.description}</p>\n </div>\n </div>\n );\n}\n\n// ─── Workspace Name Step Content ───\n\nfunction WorkspaceNameContent({ workspaceName, setWorkspaceName, description, setDescription, maxDescLength }) {\n const [nameFocused, setNameFocused] = useState(false);\n const [descFocused, setDescFocused] = useState(false);\n\n return (\n <div>\n <h2 style={sectionTitleStyle}>Name of your workspace</h2>\n <p style={sectionSubtitleStyle}>Tell us about the project or company you're organizing here.</p>\n\n <div style={{ marginTop: 28 }}>\n <label style={fieldLabelStyle}>Workspace Name</label>\n <input\n type=\"text\"\n placeholder=\"e.g. Acme Marketing\"\n value={workspaceName}\n onChange={(e) => setWorkspaceName(e.target.value)}\n onFocus={() => setNameFocused(true)}\n onBlur={() => setNameFocused(false)}\n style={{\n ...inputStyle,\n marginTop: 8,\n borderColor: nameFocused ? 'var(--color-green)' : 'var(--color-input-border)',\n boxShadow: nameFocused ? '0 0 0 3px var(--color-green-ring)' : 'none',\n }}\n />\n </div>\n\n <div style={{ marginTop: 24 }}>\n <label style={fieldLabelStyle}>Description</label>\n <div style={textareaWrapStyle}>\n <textarea\n placeholder=\"what's the goal of this workspace?\"\n value={description}\n onChange={(e) => {\n if (e.target.value.length <= maxDescLength) {\n setDescription(e.target.value);\n }\n }}\n onFocus={() => setDescFocused(true)}\n onBlur={() => setDescFocused(false)}\n style={{\n ...textareaStyle,\n borderColor: descFocused ? 'var(--color-green)' : 'var(--color-input-border)',\n boxShadow: descFocused ? '0 0 0 3px var(--color-green-ring)' : 'none',\n }}\n />\n <span style={charCountStyle}>{description.length}/{maxDescLength}</span>\n </div>\n </div>\n </div>\n );\n}\n\n// ─── Main Component ───\n\nconst GettingStarted = ({\n steps = DEFAULT_STEPS,\n completedSteps = ['workspace', 'invite'],\n initialActiveStep = 'workspace',\n onSaveNext,\n onRemindLater,\n onStepChange,\n}) => {\n const [activeStepId, setActiveStepId] = useState(initialActiveStep);\n const [workspaceName, setWorkspaceName] = useState('');\n const [description, setDescription] = useState('');\n const maxDescLength = 1000;\n\n const completedCount = completedSteps.length;\n const totalCount = steps.length;\n const progressPct = (completedCount / totalCount) * 100;\n\n const handleStepClick = (stepId) => {\n setActiveStepId(stepId);\n onStepChange?.(stepId);\n };\n\n const handleSaveNext = () => {\n onSaveNext?.({ stepId: activeStepId, workspaceName, description });\n };\n\n return (\n <div style={pageStyle}>\n {/* Header */}\n <div style={headerStyle}>\n <div style={headerTopRow}>\n <div>\n <h1 style={titleStyle}>Getting started with Chordia</h1>\n <p style={subtitleStyle}>Complete these steps to get the most out of Chordia.</p>\n </div>\n <div style={headerActions}>\n <button\n style={remindBtnStyle}\n onClick={onRemindLater}\n onMouseEnter={(e) => { e.currentTarget.style.background = 'var(--hover-warm-subtle)'; }}\n onMouseLeave={(e) => { e.currentTarget.style.background = 'transparent'; }}\n >\n Remind me Later\n </button>\n <button\n style={saveBtnStyle}\n onClick={handleSaveNext}\n onMouseEnter={(e) => { e.currentTarget.style.opacity = '0.85'; }}\n onMouseLeave={(e) => { e.currentTarget.style.opacity = '1'; }}\n >\n Save & Next\n </button>\n </div>\n </div>\n <div style={progressBarBg}>\n <div style={progressBarFill(progressPct)} />\n </div>\n </div>\n\n {/* Body */}\n <div style={bodyStyle}>\n {/* Sidebar */}\n <div style={sidebarStyle}>\n <p style={stepsCountStyle}>\n {completedCount} of {totalCount} steps completed\n </p>\n <div style={stepsListStyle}>\n {steps.map((step) => (\n <StepItem\n key={step.id}\n step={step}\n isCompleted={completedSteps.includes(step.id)}\n isActive={activeStepId === step.id}\n onClick={() => handleStepClick(step.id)}\n />\n ))}\n </div>\n </div>\n\n {/* Content */}\n <div style={contentStyle}>\n {activeStepId === 'workspace' && (\n <WorkspaceNameContent\n workspaceName={workspaceName}\n setWorkspaceName={setWorkspaceName}\n description={description}\n setDescription={setDescription}\n maxDescLength={maxDescLength}\n />\n )}\n {activeStepId === 'interaction' && (\n <UploadInteraction />\n )}\n {activeStepId === 'connect' && (\n <ConnectData />\n )}\n {activeStepId === 'invite' && (\n <AddTeammates />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default GettingStarted;\n"],"names":["FF","containerStyle","sectionTitleStyle","sectionSubtitleStyle","gridStyle","DEFAULT_INTEGRATIONS","ConnectData","integrations","onConfigure","jsxs","jsx","integration","IntegrationCard","ROLES","AddTeammates","title","subtitle","projects","defaultRole","defaultProject","roles","onSendInvite","onInvite","inputValue","setInputValue","useState","members","setMembers","openDropdownIdx","setOpenDropdownIdx","openProjectIdx","setOpenProjectIdx","inputRef","useRef","dropdownRef","resolvedDefaultProject","useEffect","handleClick","e","addEmails","raw","existing","m","newMembers","email","handleKeyDown","removeMember","idx","_","updateMember","field","value","i","handleSendInvite","s","member","SquareUser","ChevronDown","role","p","Trash","DEFAULT_STEPS","Briefcase","MessageSquare","Database","Users","BookOpen","SlidersHorizontal","pageStyle","headerStyle","headerTopRow","titleStyle","subtitleStyle","headerActions","remindBtnStyle","saveBtnStyle","progressBarBg","progressBarFill","pct","bodyStyle","sidebarStyle","stepsCountStyle","stepsListStyle","stepItemStyle","isActive","stepIconWrap","stepLabelStyle","stepDescStyle","contentStyle","fieldLabelStyle","inputStyle","textareaWrapStyle","textareaStyle","charCountStyle","CompletedIcon","IncompleteIcon","StepItem","step","isCompleted","onClick","hovered","setHovered","WorkspaceNameContent","workspaceName","setWorkspaceName","description","setDescription","maxDescLength","nameFocused","setNameFocused","descFocused","setDescFocused","GettingStarted","steps","completedSteps","initialActiveStep","onSaveNext","onRemindLater","onStepChange","activeStepId","setActiveStepId","completedCount","totalCount","progressPct","handleStepClick","stepId","UploadInteraction"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"onboarding.es.js","sources":["../../src/components/onboarding/ConnectData.jsx","../../src/components/onboarding/AddTeammates.jsx","../../src/components/onboarding/GettingStarted.jsx"],"sourcesContent":["import IntegrationCard from '../layout/IntegrationCard';\n\nconst FF = 'var(--font-sans)';\n\n// ─── Styles ───\n\nconst containerStyle = {\n fontFamily: FF,\n};\n\nconst sectionTitleStyle = {\n fontSize: 20,\n fontWeight: 600,\n fontStyle: 'normal',\n fontFamily: FF,\n color: 'var(--grey-strong)',\n margin: 0,\n lineHeight: 'normal',\n};\n\nconst sectionSubtitleStyle = {\n fontSize: 13,\n fontWeight: 400,\n fontStyle: 'normal',\n color: 'var(--color-text-secondary)',\n fontFamily: FF,\n margin: '4px 0 0',\n lineHeight: '140%',\n};\n\nconst gridStyle = {\n display: 'grid',\n gridTemplateColumns: 'repeat(3, 1fr)',\n gap: 16,\n marginTop: 24,\n};\n\n// ─── Default Integrations ───\n\nconst DEFAULT_INTEGRATIONS = [\n {\n providerName: 'Five9',\n description: 'Cloud contact center platform for voice and digital channels',\n status: 'connected',\n railColor: '#5E88B0',\n },\n {\n providerName: 'Twilio Flex',\n description: 'Programmable contact center with custom workflows',\n status: 'available',\n railColor: '#9B7AA8',\n },\n {\n providerName: 'Zoom Phone',\n description: 'Cloud phone system with recording capabilities',\n status: 'coming-soon',\n railColor: '#6B7C93',\n },\n];\n\n// ─── Component ───\n\nconst ConnectData = ({ integrations = DEFAULT_INTEGRATIONS, onConfigure }) => {\n return (\n <div style={containerStyle}>\n <h2 style={sectionTitleStyle}>Connect Data Source</h2>\n <p style={sectionSubtitleStyle}>\n Choose your preferred platforms to synchronise data.\n </p>\n\n <div style={gridStyle}>\n {integrations.map((integration) => (\n <IntegrationCard\n key={integration.providerName}\n providerName={integration.providerName}\n description={integration.description}\n status={integration.status}\n railColor={integration.railColor}\n logoUrl={integration.logoUrl}\n icon={integration.icon}\n onConfigure={() => onConfigure?.(integration)}\n />\n ))}\n </div>\n </div>\n );\n};\n\nexport default ConnectData;\n","import { useState, useRef, useEffect } from 'react';\nimport { ChevronDown, Trash, SquareUser, Check } from 'lucide-react';\n\nconst FF = 'var(--font-sans)';\n\nconst ROLES = ['Super Admin', 'Admin', 'Analyst', 'Supervisor', 'Agent'];\n\n/**\n * AddTeammates — Create users, set roles/projects, and send invites.\n *\n * Props:\n * - title string Heading (default \"Create User\")\n * - subtitle string Description text\n * - projects string[] List of project names for assignment dropdown\n * - defaultRole string Default role for new members (default \"Admin\")\n * - defaultProject string Default project for new members\n * - roles string[] Available roles (default ROLES)\n * - onSendInvite function(members[]) Called with array of { email, role, project }\n * - onInvite function(emails[]) Legacy callback\n */\nconst AddTeammates = ({\n title = 'Create User',\n subtitle = 'Create users and send invites to add them to the platform.',\n projects = ['Andromeda Project'],\n defaultRole = 'Admin',\n defaultProject,\n roles = ROLES,\n onSendInvite,\n onInvite,\n}) => {\n const [inputValue, setInputValue] = useState('');\n const [emailTags, setEmailTags] = useState([]);\n const [editingIndex, setEditingIndex] = useState(null);\n const [editingValue, setEditingValue] = useState('');\n const [emailError, setEmailError] = useState('');\n const [members, setMembers] = useState([]);\n const [openDropdownIdx, setOpenDropdownIdx] = useState(null);\n const [openProjectIdx, setOpenProjectIdx] = useState(null);\n const inputRef = useRef(null);\n const editInputRef = useRef(null);\n const dropdownRef = useRef(null);\n\n const resolvedDefaultProject = defaultProject || projects[0] || '';\n\n const isValidEmail = (email) => /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email);\n\n // Close dropdowns on outside click\n useEffect(() => {\n if (openDropdownIdx === null && openProjectIdx === null) return;\n const handleClick = (e) => {\n if (dropdownRef.current && !dropdownRef.current.contains(e.target)) {\n setOpenDropdownIdx(null);\n setOpenProjectIdx(null);\n }\n };\n document.addEventListener('mousedown', handleClick);\n return () => document.removeEventListener('mousedown', handleClick);\n }, [openDropdownIdx, openProjectIdx]);\n\n // Focus the inline edit input when editingIndex changes\n useEffect(() => {\n if (editingIndex !== null && editInputRef.current) {\n editInputRef.current.focus();\n }\n }, [editingIndex]);\n\n const handleInputChange = (e) => {\n const val = e.target.value;\n setEmailError('');\n if (val.endsWith(',')) {\n const email = val.slice(0, -1).trim();\n if (!email) { setInputValue(''); return; }\n if (!isValidEmail(email)) {\n setEmailError(`\"${email}\" is not a valid email address.`);\n return;\n }\n if (!emailTags.includes(email)) {\n setEmailTags([...emailTags, email]);\n }\n setInputValue('');\n } else {\n setInputValue(val);\n }\n };\n\n const handleTagClick = (idx) => {\n setEditingIndex(idx);\n setEditingValue(emailTags[idx]);\n };\n\n const commitEdit = (idx) => {\n const trimmed = editingValue.trim();\n setEmailError('');\n if (!trimmed) {\n setEmailTags(emailTags.filter((_, i) => i !== idx));\n } else if (!isValidEmail(trimmed)) {\n setEmailError(`\"${trimmed}\" is not a valid email address.`);\n return;\n } else if (trimmed !== emailTags[idx]) {\n setEmailTags(emailTags.map((t, i) => (i === idx ? trimmed : t)));\n }\n setEditingIndex(null);\n setEditingValue('');\n };\n\n const handleEditChange = (e) => {\n const val = e.target.value;\n if (val.endsWith(',')) {\n // Commit the edit (strip comma)\n setEditingValue(val.slice(0, -1));\n commitEdit(editingIndex);\n } else {\n setEditingValue(val);\n }\n };\n\n const handleEditKeyDown = (e, idx) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n commitEdit(idx);\n }\n if (e.key === 'Escape') {\n // Cancel editing, revert\n setEditingIndex(null);\n setEditingValue('');\n }\n if (e.key === 'Backspace' && !editingValue) {\n // Empty and backspace — remove the tag\n setEmailTags(emailTags.filter((_, i) => i !== idx));\n setEditingIndex(null);\n setEditingValue('');\n }\n };\n\n const addEmails = () => {\n setEmailError('');\n const trimmed = inputValue.trim();\n if (trimmed && !isValidEmail(trimmed)) {\n setEmailError(`\"${trimmed}\" is not a valid email address.`);\n return;\n }\n const allEmails = [...emailTags];\n if (trimmed && isValidEmail(trimmed)) {\n allEmails.push(trimmed);\n }\n if (!allEmails.length) return;\n const existing = new Set(members.map((m) => m.email));\n const newMembers = [...new Set(allEmails)]\n .filter((e) => !existing.has(e))\n .map((email) => ({ email, role: defaultRole, project: resolvedDefaultProject, invited: false }));\n if (newMembers.length) {\n setMembers([...members, ...newMembers]);\n }\n setEmailTags([]);\n setInputValue('');\n };\n\n const handleKeyDown = (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n addEmails();\n }\n if (e.key === 'Backspace' && !inputValue && emailTags.length) {\n // Start editing the last tag\n handleTagClick(emailTags.length - 1);\n }\n };\n\n const removeMember = (idx) => {\n setMembers(members.filter((_, i) => i !== idx));\n setOpenDropdownIdx(null);\n };\n\n const updateMember = (idx, field, value) => {\n setMembers(members.map((m, i) => (i === idx ? { ...m, [field]: value } : m)));\n };\n\n const handleSendInvite = () => {\n if (members.length) {\n setMembers(members.map((m) => ({ ...m, invited: true })));\n onSendInvite?.(members);\n onInvite?.(members.map((m) => m.email));\n }\n };\n\n const hasPermissions = (m) => m.role && m.project;\n\n return (\n <div style={{ fontFamily: FF }}>\n {/* Header */}\n <h2 style={{ fontSize: 20, fontWeight: 600, color: 'var(--grey-strong, #2E3236)', margin: 0, lineHeight: 'normal' }}>\n {title}\n </h2>\n <p style={{ fontSize: 13, fontWeight: 400, color: 'var(--color-text-secondary, #808183)', margin: '4px 0 0', lineHeight: '140%' }}>\n {subtitle}\n </p>\n\n {/* Email input row */}\n <div style={{ display: 'flex', alignItems: 'center', gap: 12, marginTop: 24 }}>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n minHeight: 44,\n padding: '6px 14px',\n borderRadius: 10,\n border: '1px solid var(--color-input-border, #D9D9D9)',\n background: 'var(--grey-white, #FFF)',\n boxSizing: 'border-box',\n gap: 4,\n flexWrap: 'wrap',\n }}\n >\n {emailTags.map((email, i) => (\n <span\n key={i}\n style={{ display: 'inline-flex', alignItems: 'center', gap: 2 }}\n >\n {editingIndex === i ? (\n <input\n ref={editInputRef}\n type=\"text\"\n autoComplete=\"off\"\n value={editingValue}\n onChange={handleEditChange}\n onKeyDown={(e) => handleEditKeyDown(e, i)}\n onBlur={() => commitEdit(i)}\n style={{\n border: 'none',\n outline: 'none',\n fontSize: 14,\n fontWeight: 500,\n fontFamily: FF,\n color: 'var(--grey-strong, #2E3236)',\n background: '#F3F7F7',\n borderRadius: 6,\n padding: '4px 8px',\n width: `${Math.max(editingValue.length, 1) * 8.5 + 16}px`,\n }}\n />\n ) : (\n <span\n onClick={(e) => { e.stopPropagation(); handleTagClick(i); }}\n style={{\n display: 'flex',\n padding: '4px 8px',\n justifyContent: 'center',\n alignItems: 'center',\n gap: 10,\n borderRadius: 6,\n background: '#F3F7F7',\n fontSize: 14,\n fontWeight: 500,\n color: 'var(--grey-strong, #2E3236)',\n whiteSpace: 'nowrap',\n cursor: 'text',\n }}\n >\n {email}\n </span>\n )}\n <span style={{ fontSize: 14, color: 'var(--grey-strong, #2E3236)' }}>,</span>\n </span>\n ))}\n <input\n ref={inputRef}\n type=\"text\"\n autoComplete=\"off\"\n placeholder={emailTags.length ? '' : 'Enter email addresses separated by commas'}\n value={inputValue}\n onChange={handleInputChange}\n onKeyDown={handleKeyDown}\n style={{\n flex: 1,\n minWidth: 80,\n border: 'none',\n outline: 'none',\n fontSize: 14,\n fontWeight: 400,\n fontFamily: FF,\n color: 'var(--grey-strong, #2E3236)',\n background: 'transparent',\n height: 32,\n }}\n />\n </div>\n <button\n onClick={addEmails}\n style={{\n display: 'flex',\n height: 44,\n padding: '0 24px',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: 10,\n background: 'var(--grey-strong, #2E3236)',\n fontSize: 14,\n fontWeight: 600,\n fontFamily: FF,\n color: 'var(--grey-white, #FFF)',\n border: 'none',\n cursor: 'pointer',\n flexShrink: 0,\n }}\n >\n Add\n </button>\n </div>\n\n {/* Validation error */}\n {emailError && (\n <div style={{ display: 'flex', flexDirection: 'row', alignItems: 'center', padding: 8, gap: 6, width: '100%', boxSizing: 'border-box', background: 'var(--color-error-bg, #F5F0E8)', borderRadius: 5, fontSize: 15, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text, #2E3236)', fontFamily: FF, marginTop: 8 }}>\n <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"var(--color-text, #2E3236)\" style={{ flexShrink: 0 }}>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"/>\n </svg>\n {emailError}\n </div>\n )}\n\n {/* Invited Members section */}\n {members.length > 0 && (\n <div style={{ marginTop: 24 }}>\n {/* Section header */}\n <div style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between', marginBottom: 12 }}>\n <span style={{ fontSize: 14, fontWeight: 400, fontFamily: 'Varta, var(--font-sans)', fontStyle: 'normal', lineHeight: 'normal', color: 'var(--Content-Tertiary, #676767)' }}>\n Invited Members\n </span>\n {members.every((m) => m.invited) ? (\n <button\n style={{\n display: 'flex',\n height: 28,\n minWidth: 80,\n padding: '16px 12px',\n justifyContent: 'center',\n alignItems: 'center',\n gap: 10,\n borderRadius: 10,\n border: '1px solid var(--Base-absent, #D9D9D9)',\n background: 'var(--Base-White, #FFF)',\n fontSize: 14,\n fontWeight: 500,\n fontFamily: FF,\n color: 'var(--Content-Primary, #2E3236)',\n cursor: 'default',\n }}\n >\n <Check size={16} />\n Sent\n </button>\n ) : (\n <button\n onClick={handleSendInvite}\n style={{\n display: 'flex',\n height: 28,\n minWidth: 80,\n padding: '16px 12px',\n justifyContent: 'center',\n alignItems: 'center',\n gap: 10,\n borderRadius: 10,\n border: '1px solid var(--Base-absent, #D9D9D9)',\n background: 'var(--Base-White, #FFF)',\n fontSize: 14,\n fontWeight: 500,\n fontFamily: FF,\n color: 'var(--Content-Primary, #2E3236)',\n cursor: 'pointer',\n }}\n >\n Send Invite\n </button>\n )}\n </div>\n\n {/* Members list */}\n <div style={{ border: '1px solid var(--border, #ECEEF2)', borderRadius: 10, overflow: 'visible' }}>\n {members.map((member, idx) => (\n <div\n key={member.email}\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '12px 16px',\n borderBottom: idx < members.length - 1 ? '1px solid var(--border, #ECEEF2)' : 'none',\n position: 'relative',\n }}\n >\n {/* Left: avatar + info */}\n <div style={{ display: 'flex', alignItems: 'center', gap: 12 }}>\n <div\n style={{\n width: 36,\n height: 36,\n borderRadius: 9999,\n background: 'var(--hover-warm, #F5F0E8)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n }}\n >\n <SquareUser size={24} color=\"var(--color-text-secondary, #808183)\" />\n </div>\n <div>\n <p style={{ fontSize: 14, fontWeight: 500, color: 'var(--grey-strong, #2E3236)', margin: 0, lineHeight: '120%' }}>\n {member.email}\n </p>\n <p style={{ fontSize: 13, fontWeight: 400, color: 'var(--color-text-secondary, #808183)', margin: '2px 0 0', lineHeight: '140%' }}>\n {member.role && member.project\n ? `${member.role} · ${member.project}`\n : 'Role & Project is not defined'}\n </p>\n </div>\n </div>\n\n {/* Right: Invite sent + dropdown */}\n <div style={{ display: 'flex', alignItems: 'center', gap: 12 }}>\n {/* Invite sent label */}\n {member.invited && hasPermissions(member) && (\n <span style={{ fontFamily: 'Varta, var(--font-sans)', fontSize: 14, fontStyle: 'normal', fontWeight: 400, lineHeight: 'normal', color: 'var(--Content-Tertiary, #676767)', whiteSpace: 'nowrap' }}>\n Invite sent\n </span>\n )}\n\n {/* Dropdown trigger */}\n <div style={{ position: 'relative' }} ref={openDropdownIdx === idx ? dropdownRef : null}>\n <button\n onClick={() => setOpenDropdownIdx(openDropdownIdx === idx ? null : idx)}\n style={{\n display: 'flex',\n width: 160,\n height: 32,\n minWidth: 96,\n padding: '16px 12px 16px 16px',\n justifyContent: 'center',\n alignItems: 'center',\n gap: 10,\n borderRadius: 10,\n border: '1px solid var(--Base-absent, #D9D9D9)',\n background: 'var(--Base-White, #FFF)',\n fontSize: 13,\n fontWeight: 500,\n fontFamily: FF,\n color: 'var(--Content-Primary, #2E3236)',\n cursor: 'pointer',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n boxSizing: 'border-box',\n }}\n >\n <span style={{ overflow: 'hidden', textOverflow: 'ellipsis', flex: 1, textAlign: 'left' }}>\n {hasPermissions(member) ? `${member.role}, ${member.project}` : 'Set Permissions'}\n </span>\n <ChevronDown size={16} color=\"var(--Grey-Strong, #808183)\" style={{ flexShrink: 0 }} />\n </button>\n\n {/* Dropdown */}\n {openDropdownIdx === idx && (\n <div\n style={{\n position: 'absolute',\n top: '100%',\n right: 0,\n marginTop: 4,\n display: 'flex',\n width: 217,\n padding: '4px 12px',\n flexDirection: 'column',\n alignItems: 'flex-start',\n gap: 4,\n borderRadius: 10,\n border: '1px solid var(--Border-Subtle, #E6E6E6)',\n background: 'var(--Dropdown-Dropdown-Area-Fill, #FFF)',\n boxShadow: '0 8px 24px rgba(0,0,0,0.10)',\n zIndex: 100,\n boxSizing: 'border-box',\n }}\n >\n {/* User Role */}\n <div style={{ padding: '8px 0 4px', fontSize: 14, fontWeight: 600, color: 'var(--Content-Primary, #2E3236)', width: '100%' }}>\n Set User Role\n </div>\n {roles.map((role) => (\n <div\n key={role}\n onClick={() => updateMember(idx, 'role', role)}\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n padding: '6px 0',\n cursor: 'pointer',\n fontSize: 14,\n fontWeight: 400,\n color: 'var(--Content-Primary, #2E3236)',\n width: '100%',\n }}\n >\n {/* Radio */}\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" style={{ flexShrink: 0 }}>\n <circle cx=\"10\" cy=\"10\" r=\"7.33\" stroke={member.role === role ? '#00A66E' : '#D9D9D9'} strokeWidth=\"2\" />\n {member.role === role && <ellipse cx=\"10\" cy=\"10\" rx=\"4.17\" ry=\"4.17\" fill=\"#00A66E\" />}\n </svg>\n {role}\n </div>\n ))}\n\n {/* Divider */}\n <div style={{ height: 1, background: 'var(--Border-Subtle, #E6E6E6)', width: '100%' }} />\n\n {/* Project Assignment */}\n <div style={{ padding: '4px 0', fontSize: 14, fontWeight: 600, color: 'var(--Content-Primary, #2E3236)', width: '100%' }}>\n Project Assignment\n </div>\n <div style={{ width: '100%', position: 'relative' }}>\n {/* Project trigger */}\n <div\n onClick={() => setOpenProjectIdx(openProjectIdx === idx ? null : idx)}\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '100%',\n padding: '8px 10px',\n borderRadius: 10,\n border: '1px solid var(--Border-Subtle, #E6E6E6)',\n background: 'var(--Base-White, #FFF)',\n fontSize: 14,\n fontWeight: 400,\n fontFamily: FF,\n color: 'var(--Content-Primary, #2E3236)',\n cursor: 'pointer',\n boxSizing: 'border-box',\n }}\n >\n {member.project}\n <ChevronDown size={16} color=\"var(--Grey-Strong, #808183)\" />\n </div>\n {/* Project options */}\n {openProjectIdx === idx && (\n <div\n style={{\n position: 'absolute',\n top: '100%',\n left: 0,\n right: 0,\n marginTop: 4,\n borderRadius: 10,\n border: '1px solid var(--Border-Subtle, #E6E6E6)',\n background: 'var(--Dropdown-Dropdown-Area-Fill, #FFF)',\n boxShadow: '0 4px 12px rgba(0,0,0,0.08)',\n zIndex: 101,\n padding: 4,\n }}\n >\n {projects.map((p) => (\n <div\n key={p}\n onClick={() => {\n updateMember(idx, 'project', p);\n setOpenProjectIdx(null);\n }}\n style={{\n display: 'flex',\n height: 26,\n padding: '12px 16px 12px 8px',\n alignItems: 'center',\n gap: 6,\n alignSelf: 'stretch',\n borderRadius: 8,\n background: member.project === p ? 'var(--Neutral-50, #F2F2F0)' : 'transparent',\n fontSize: 14,\n fontWeight: 400,\n fontFamily: FF,\n color: 'var(--Content-Primary, #2E3236)',\n cursor: 'pointer',\n }}\n onMouseEnter={(e) => {\n if (member.project !== p) e.currentTarget.style.background = 'var(--Neutral-50, #F2F2F0)';\n }}\n onMouseLeave={(e) => {\n if (member.project !== p) e.currentTarget.style.background = 'transparent';\n }}\n >\n {p}\n </div>\n ))}\n </div>\n )}\n </div>\n\n {/* Divider */}\n <div style={{ height: 1, background: 'var(--Border-Subtle, #E6E6E6)', width: '100%' }} />\n\n {/* Remove */}\n <div\n onClick={() => removeMember(idx)}\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n padding: '6px 0',\n cursor: 'pointer',\n fontSize: 14,\n fontWeight: 500,\n color: 'var(--Content-Primary, #2E3236)',\n width: '100%',\n }}\n >\n <Trash size={16} />\n Remove\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n </div>\n );\n};\n\nexport default AddTeammates;\n","import { useState } from 'react';\nimport { MessageSquare, Database, Users, BookOpen, SlidersHorizontal, Briefcase } from 'lucide-react';\nimport UploadInteraction from './UploadInteraction';\nimport ConnectData from './ConnectData';\nimport AddTeammates from './AddTeammates';\n\nconst FF = 'var(--font-sans)';\n\n// ─── Steps Configuration ───\n\nconst DEFAULT_STEPS = [\n { id: 'workspace', label: 'Workspace Name', description: 'Give your project a title.', icon: Briefcase },\n { id: 'interaction', label: 'Add Interaction', description: 'Connect data to see patterns.', icon: MessageSquare },\n { id: 'connect', label: 'Connect Data', description: 'Link your platform for auto-evaluation.', icon: Database },\n { id: 'invite', label: 'Invite Team', description: 'Add members to collaborate.', icon: Users },\n { id: 'concepts', label: 'Learn Concepts', description: 'Explore conditions and evidence.', icon: BookOpen },\n { id: 'scope', label: 'Define Scope', description: 'Customize evaluation signals.', icon: SlidersHorizontal },\n];\n\n// ─── Styles ───\n\nconst pageStyle = {\n fontFamily: FF,\n background: 'var(--grey-white)',\n minHeight: '100vh',\n boxSizing: 'border-box',\n};\n\nconst headerStyle = {\n padding: '24px 48px',\n borderBottom: '1px solid var(--border)',\n background: 'var(--grey-white)',\n};\n\nconst headerTopRow = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n marginBottom: 8,\n};\n\nconst titleStyle = {\n fontSize: 24,\n fontWeight: 600,\n fontStyle: 'normal',\n fontFamily: FF,\n color: 'var(--grey-strong)',\n margin: 0,\n lineHeight: 'normal',\n};\n\nconst subtitleStyle = {\n fontSize: 14,\n fontWeight: 400,\n lineHeight: '140%',\n color: 'var(--text-muted)',\n margin: '4px 0 0',\n fontFamily: FF,\n};\n\nconst headerActions = {\n display: 'flex',\n alignItems: 'center',\n gap: 12,\n};\n\nconst remindBtnStyle = {\n display: 'flex',\n height: 36,\n padding: '0 16px',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: 10,\n background: 'transparent',\n border: '1px solid var(--border-strong)',\n fontSize: 14,\n fontWeight: 500,\n fontFamily: FF,\n color: 'var(--text-base)',\n cursor: 'pointer',\n transition: 'var(--transition-fast)',\n outline: 'none',\n};\n\nconst saveBtnStyle = {\n display: 'flex',\n height: 36,\n padding: '0 20px',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: 10,\n background: 'var(--grey-strong)',\n fontSize: 14,\n fontWeight: 600,\n fontFamily: FF,\n color: 'var(--grey-white)',\n border: 'none',\n cursor: 'pointer',\n transition: 'var(--transition-fast)',\n outline: 'none',\n};\n\nconst progressBarBg = {\n width: '100%',\n height: 6,\n borderRadius: 3,\n background: 'var(--border)',\n overflow: 'hidden',\n marginTop: 12,\n};\n\nconst progressBarFill = (pct) => ({\n width: `${pct}%`,\n height: '100%',\n borderRadius: 3,\n background: 'var(--color-green)',\n transition: 'width 0.4s ease-out',\n});\n\nconst bodyStyle = {\n display: 'flex',\n flex: 1,\n minHeight: 'calc(100vh - 140px)',\n};\n\n// ─── Sidebar Styles ───\n\nconst sidebarStyle = {\n width: 312,\n minWidth: 312,\n borderRight: '1px solid var(--border)',\n padding: '24px 24px',\n background: 'var(--grey-white)',\n boxSizing: 'border-box',\n};\n\nconst stepsCountStyle = {\n fontSize: 13,\n fontWeight: 500,\n color: 'var(--text-muted)',\n fontFamily: FF,\n margin: '0 0 12px',\n};\n\nconst stepsListStyle = {\n display: 'flex',\n width: 264,\n flexDirection: 'column',\n alignItems: 'flex-start',\n gap: 8,\n alignSelf: 'stretch',\n};\n\nconst stepItemStyle = (isActive) => ({\n display: 'flex',\n alignItems: 'center',\n gap: 4,\n padding: '8px 4px',\n cursor: 'pointer',\n transition: 'var(--transition-fast)',\n background: isActive ? 'var(--hover-warm)' : 'var(--grey-white)',\n borderRadius: 8,\n alignSelf: 'stretch',\n});\n\nconst stepIconWrap = {\n width: 40,\n height: 40,\n flexShrink: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n};\n\nconst stepLabelStyle = {\n fontSize: 14,\n fontWeight: 600,\n fontStyle: 'normal',\n color: 'var(--grey-strong)',\n fontFamily: FF,\n margin: 0,\n lineHeight: '120%',\n};\n\nconst stepDescStyle = {\n fontSize: 12,\n fontWeight: 400,\n color: 'var(--text-muted)',\n fontFamily: FF,\n margin: '2px 0 0',\n lineHeight: 1.3,\n};\n\n// ─── Content Styles ───\n\nconst contentStyle = {\n flex: 1,\n padding: '40px 48px',\n background: 'var(--grey-white)',\n boxSizing: 'border-box',\n};\n\nconst sectionTitleStyle = {\n fontSize: 20,\n fontWeight: 600,\n fontStyle: 'normal',\n fontFamily: FF,\n color: 'var(--grey-strong)',\n margin: 0,\n lineHeight: 'normal',\n};\n\nconst sectionSubtitleStyle = {\n fontSize: 13,\n fontWeight: 400,\n fontStyle: 'normal',\n color: 'var(--color-text-secondary)',\n fontFamily: FF,\n margin: '4px 0 0',\n lineHeight: '140%',\n};\n\nconst fieldLabelStyle = {\n fontSize: 16,\n fontWeight: 600,\n fontStyle: 'normal',\n color: 'var(--grey-strong)',\n fontFamily: FF,\n lineHeight: 'normal',\n margin: 0,\n display: 'block',\n};\n\nconst inputStyle = {\n width: '100%',\n height: 44,\n padding: '0 14px',\n borderRadius: 6,\n border: '1px solid var(--color-input-border)',\n fontSize: 16,\n fontWeight: 400,\n fontStyle: 'normal',\n lineHeight: 'normal',\n fontFamily: FF,\n color: 'var(--color-text-secondary)',\n background: 'var(--grey-white)',\n boxSizing: 'border-box',\n outline: 'none',\n transition: 'var(--transition-fast)',\n};\n\nconst textareaWrapStyle = {\n position: 'relative',\n marginTop: 8,\n};\n\nconst textareaStyle = {\n width: '100%',\n minHeight: 160,\n padding: '12px 14px 28px 14px',\n borderRadius: 6,\n border: '1px solid var(--color-input-border)',\n fontSize: 16,\n fontWeight: 400,\n fontStyle: 'normal',\n lineHeight: 'normal',\n fontFamily: FF,\n color: 'var(--color-text-secondary)',\n background: 'var(--grey-white)',\n boxSizing: 'border-box',\n outline: 'none',\n resize: 'vertical',\n lineHeight: '140%',\n transition: 'var(--transition-fast)',\n};\n\nconst charCountStyle = {\n position: 'absolute',\n bottom: 10,\n right: 14,\n fontSize: 12,\n fontWeight: 400,\n color: 'var(--text-faint)',\n fontFamily: FF,\n margin: 0,\n pointerEvents: 'none',\n};\n\n// ─── Step Indicator Icons ───\n\nfunction CompletedIcon() {\n return (\n <div\n style={{\n width: 24,\n height: 24,\n borderRadius: 6,\n background: 'var(--grey-strong)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n }}\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\n <path d=\"M2.5 7.5L5.5 10.5L11.5 4\" stroke=\"var(--grey-white)\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </div>\n );\n}\n\nfunction IncompleteIcon() {\n return (\n <div\n style={{\n width: 24,\n height: 24,\n borderRadius: '50%',\n border: '2px solid var(--grey-muted)',\n background: 'transparent',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n gap: 2,\n boxSizing: 'border-box',\n }}\n >\n <span style={{ width: 3, height: 3, borderRadius: '50%', background: 'var(--grey-muted)' }} />\n <span style={{ width: 3, height: 3, borderRadius: '50%', background: 'var(--grey-muted)' }} />\n <span style={{ width: 3, height: 3, borderRadius: '50%', background: 'var(--grey-muted)' }} />\n </div>\n );\n}\n\n// ─── Step Item Component ───\n\nfunction StepItem({ step, isCompleted, isActive, onClick }) {\n const [hovered, setHovered] = useState(false);\n\n return (\n <div\n style={{\n ...stepItemStyle(isActive),\n ...(hovered && !isActive ? { background: 'var(--hover-warm-subtle)' } : {}),\n }}\n onClick={onClick}\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n >\n <div style={stepIconWrap}>\n {isCompleted ? <CompletedIcon /> : <IncompleteIcon />}\n </div>\n <div>\n <p style={stepLabelStyle}>{step.label}</p>\n <p style={stepDescStyle}>{step.description}</p>\n </div>\n </div>\n );\n}\n\n// ─── Workspace Name Step Content ───\n\nfunction WorkspaceNameContent({ workspaceName, setWorkspaceName, description, setDescription, maxDescLength }) {\n const [nameFocused, setNameFocused] = useState(false);\n const [descFocused, setDescFocused] = useState(false);\n\n return (\n <div>\n <h2 style={sectionTitleStyle}>Name of your workspace</h2>\n <p style={sectionSubtitleStyle}>Tell us about the project or company you're organizing here.</p>\n\n <div style={{ marginTop: 28 }}>\n <label style={fieldLabelStyle}>Workspace Name</label>\n <input\n type=\"text\"\n placeholder=\"e.g. Acme Marketing\"\n value={workspaceName}\n onChange={(e) => setWorkspaceName(e.target.value)}\n onFocus={() => setNameFocused(true)}\n onBlur={() => setNameFocused(false)}\n style={{\n ...inputStyle,\n marginTop: 8,\n borderColor: nameFocused ? 'var(--color-green)' : 'var(--color-input-border)',\n boxShadow: nameFocused ? '0 0 0 3px var(--color-green-ring)' : 'none',\n }}\n />\n </div>\n\n <div style={{ marginTop: 24 }}>\n <label style={fieldLabelStyle}>Description</label>\n <div style={textareaWrapStyle}>\n <textarea\n placeholder=\"what's the goal of this workspace?\"\n value={description}\n onChange={(e) => {\n if (e.target.value.length <= maxDescLength) {\n setDescription(e.target.value);\n }\n }}\n onFocus={() => setDescFocused(true)}\n onBlur={() => setDescFocused(false)}\n style={{\n ...textareaStyle,\n borderColor: descFocused ? 'var(--color-green)' : 'var(--color-input-border)',\n boxShadow: descFocused ? '0 0 0 3px var(--color-green-ring)' : 'none',\n }}\n />\n <span style={charCountStyle}>{description.length}/{maxDescLength}</span>\n </div>\n </div>\n </div>\n );\n}\n\n// ─── Main Component ───\n\nconst GettingStarted = ({\n steps = DEFAULT_STEPS,\n completedSteps = ['workspace', 'invite'],\n initialActiveStep = 'workspace',\n onSaveNext,\n onRemindLater,\n onStepChange,\n}) => {\n const [activeStepId, setActiveStepId] = useState(initialActiveStep);\n const [workspaceName, setWorkspaceName] = useState('');\n const [description, setDescription] = useState('');\n const maxDescLength = 1000;\n\n const completedCount = completedSteps.length;\n const totalCount = steps.length;\n const progressPct = (completedCount / totalCount) * 100;\n\n const handleStepClick = (stepId) => {\n setActiveStepId(stepId);\n onStepChange?.(stepId);\n };\n\n const handleSaveNext = () => {\n onSaveNext?.({ stepId: activeStepId, workspaceName, description });\n };\n\n return (\n <div style={pageStyle}>\n {/* Header */}\n <div style={headerStyle}>\n <div style={headerTopRow}>\n <div>\n <h1 style={titleStyle}>Getting started with Chordia</h1>\n <p style={subtitleStyle}>Complete these steps to get the most out of Chordia.</p>\n </div>\n <div style={headerActions}>\n <button\n style={remindBtnStyle}\n onClick={onRemindLater}\n onMouseEnter={(e) => { e.currentTarget.style.background = 'var(--hover-warm-subtle)'; }}\n onMouseLeave={(e) => { e.currentTarget.style.background = 'transparent'; }}\n >\n Remind me Later\n </button>\n <button\n style={saveBtnStyle}\n onClick={handleSaveNext}\n onMouseEnter={(e) => { e.currentTarget.style.opacity = '0.85'; }}\n onMouseLeave={(e) => { e.currentTarget.style.opacity = '1'; }}\n >\n Save & Next\n </button>\n </div>\n </div>\n <div style={progressBarBg}>\n <div style={progressBarFill(progressPct)} />\n </div>\n </div>\n\n {/* Body */}\n <div style={bodyStyle}>\n {/* Sidebar */}\n <div style={sidebarStyle}>\n <p style={stepsCountStyle}>\n {completedCount} of {totalCount} steps completed\n </p>\n <div style={stepsListStyle}>\n {steps.map((step) => (\n <StepItem\n key={step.id}\n step={step}\n isCompleted={completedSteps.includes(step.id)}\n isActive={activeStepId === step.id}\n onClick={() => handleStepClick(step.id)}\n />\n ))}\n </div>\n </div>\n\n {/* Content */}\n <div style={contentStyle}>\n {activeStepId === 'workspace' && (\n <WorkspaceNameContent\n workspaceName={workspaceName}\n setWorkspaceName={setWorkspaceName}\n description={description}\n setDescription={setDescription}\n maxDescLength={maxDescLength}\n />\n )}\n {activeStepId === 'interaction' && (\n <UploadInteraction />\n )}\n {activeStepId === 'connect' && (\n <ConnectData />\n )}\n {activeStepId === 'invite' && (\n <AddTeammates />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default GettingStarted;\n"],"names":["FF","containerStyle","sectionTitleStyle","sectionSubtitleStyle","gridStyle","DEFAULT_INTEGRATIONS","ConnectData","integrations","onConfigure","jsxs","jsx","integration","IntegrationCard","ROLES","AddTeammates","title","subtitle","projects","defaultRole","defaultProject","roles","onSendInvite","onInvite","inputValue","setInputValue","useState","emailTags","setEmailTags","editingIndex","setEditingIndex","editingValue","setEditingValue","emailError","setEmailError","members","setMembers","openDropdownIdx","setOpenDropdownIdx","openProjectIdx","setOpenProjectIdx","inputRef","useRef","editInputRef","dropdownRef","resolvedDefaultProject","isValidEmail","email","useEffect","handleClick","e","handleInputChange","val","handleTagClick","idx","commitEdit","trimmed","_","i","t","handleEditChange","handleEditKeyDown","addEmails","allEmails","existing","m","newMembers","handleKeyDown","removeMember","updateMember","field","value","handleSendInvite","hasPermissions","Check","member","SquareUser","ChevronDown","role","p","Trash","DEFAULT_STEPS","Briefcase","MessageSquare","Database","Users","BookOpen","SlidersHorizontal","pageStyle","headerStyle","headerTopRow","titleStyle","subtitleStyle","headerActions","remindBtnStyle","saveBtnStyle","progressBarBg","progressBarFill","pct","bodyStyle","sidebarStyle","stepsCountStyle","stepsListStyle","stepItemStyle","isActive","stepIconWrap","stepLabelStyle","stepDescStyle","contentStyle","fieldLabelStyle","inputStyle","textareaWrapStyle","textareaStyle","charCountStyle","CompletedIcon","IncompleteIcon","StepItem","step","isCompleted","onClick","hovered","setHovered","WorkspaceNameContent","workspaceName","setWorkspaceName","description","setDescription","maxDescLength","nameFocused","setNameFocused","descFocused","setDescFocused","GettingStarted","steps","completedSteps","initialActiveStep","onSaveNext","onRemindLater","onStepChange","activeStepId","setActiveStepId","completedCount","totalCount","progressPct","handleStepClick","stepId","UploadInteraction"],"mappings":"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"}
|