chordia-ui 3.3.8 → 3.3.9
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/AgentLiftCard.cjs.js.map +1 -1
- package/dist/AgentLiftCard.es.js +5 -3
- package/dist/AgentLiftCard.es.js.map +1 -1
- package/dist/CustomFilterChips.cjs.js.map +1 -1
- package/dist/CustomFilterChips.es.js +2 -1
- package/dist/CustomFilterChips.es.js.map +1 -1
- package/dist/FileUploadingState.cjs.js.map +1 -1
- package/dist/FileUploadingState.es.js +16 -10
- package/dist/FileUploadingState.es.js.map +1 -1
- package/dist/IntegrationCard.cjs.js.map +1 -1
- package/dist/IntegrationCard.es.js +3 -3
- package/dist/IntegrationCard.es.js.map +1 -1
- package/dist/SectionLabel.cjs.js.map +1 -1
- package/dist/SectionLabel.es.js.map +1 -1
- package/dist/SmallButton.cjs.js.map +1 -1
- package/dist/SmallButton.es.js +16 -16
- package/dist/SmallButton.es.js.map +1 -1
- package/dist/SummarySection.cjs.js.map +1 -1
- package/dist/SummarySection.es.js +11 -9
- package/dist/SummarySection.es.js.map +1 -1
- package/dist/TextInput.cjs.js.map +1 -1
- package/dist/TextInput.es.js.map +1 -1
- package/dist/Timeline.cjs.js.map +1 -1
- package/dist/Timeline.es.js +14 -8
- package/dist/Timeline.es.js.map +1 -1
- package/dist/Tooltip.cjs.js +1 -1
- package/dist/Tooltip.cjs.js.map +1 -1
- package/dist/Tooltip.es.js +31 -20
- package/dist/Tooltip.es.js.map +1 -1
- package/dist/TourGuideTooltip.cjs.js.map +1 -1
- package/dist/TourGuideTooltip.es.js +2 -1
- package/dist/TourGuideTooltip.es.js.map +1 -1
- package/dist/UpdatedInteractionRecording.cjs.js +1 -1
- package/dist/UpdatedInteractionRecording.cjs.js.map +1 -1
- package/dist/UpdatedInteractionRecording.es.js +79 -97
- package/dist/UpdatedInteractionRecording.es.js.map +1 -1
- package/dist/UploadInteraction.cjs.js.map +1 -1
- package/dist/UploadInteraction.es.js.map +1 -1
- package/dist/colors.cjs.js +2 -0
- package/dist/colors.cjs.js.map +1 -0
- package/dist/colors.es.js +2 -0
- package/dist/colors.es.js.map +1 -0
- package/dist/components/UpdatedInteractionDetails.cjs.js +10 -1
- package/dist/components/UpdatedInteractionDetails.cjs.js.map +1 -1
- package/dist/components/UpdatedInteractionDetails.es.js +1531 -9
- package/dist/components/UpdatedInteractionDetails.es.js.map +1 -1
- package/dist/components/chat.cjs.js +30 -1
- package/dist/components/chat.cjs.js.map +1 -1
- package/dist/components/chat.es.js +2222 -7
- package/dist/components/chat.es.js.map +1 -1
- package/dist/components/common.cjs.js +1 -1
- package/dist/components/common.es.js +32 -25
- package/dist/components/common.es.js.map +1 -1
- package/dist/components/data.cjs.js +1 -1
- package/dist/components/data.cjs.js.map +1 -1
- package/dist/components/data.es.js +1033 -4
- package/dist/components/data.es.js.map +1 -1
- package/dist/components/layout.cjs.js +3 -1
- package/dist/components/layout.cjs.js.map +1 -1
- package/dist/components/layout.es.js +1533 -8
- package/dist/components/layout.es.js.map +1 -1
- package/dist/components/login.cjs.js +1 -1
- package/dist/components/login.es.js +6 -2
- package/dist/components/login.es.js.map +1 -1
- package/dist/components/media.cjs.js +1 -1
- package/dist/components/media.cjs.js.map +1 -1
- package/dist/components/media.es.js +220 -6
- package/dist/components/media.es.js.map +1 -1
- package/dist/components/models.cjs.js +1 -1
- package/dist/components/models.cjs.js.map +1 -1
- package/dist/components/models.es.js +91 -2
- package/dist/components/models.es.js.map +1 -1
- package/dist/components/navigation.cjs.js +1 -1
- package/dist/components/navigation.cjs.js.map +1 -1
- package/dist/components/navigation.es.js +766 -7
- package/dist/components/navigation.es.js.map +1 -1
- package/dist/components/notifications.cjs.js +1 -1
- package/dist/components/notifications.cjs.js.map +1 -1
- package/dist/components/notifications.es.js +368 -3
- package/dist/components/notifications.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 +985 -7
- package/dist/components/onboarding.es.js.map +1 -1
- package/dist/components/primitives.cjs.js +1 -1
- package/dist/components/primitives.cjs.js.map +1 -1
- package/dist/components/primitives.es.js +635 -25
- package/dist/components/primitives.es.js.map +1 -1
- package/dist/debugger-wc.cjs.js +4 -4
- package/dist/debugger-wc.cjs.js.map +1 -1
- package/dist/debugger-wc.es.js +15 -11
- package/dist/debugger-wc.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs2.js +2 -49
- package/dist/index.cjs2.js.map +1 -1
- package/dist/index.cjs3.js +50 -0
- package/dist/index.cjs3.js.map +1 -0
- package/dist/index.es.js +104 -99
- package/dist/index.es.js.map +1 -1
- package/dist/index.es2.js +2632 -1776
- package/dist/index.es2.js.map +1 -1
- package/dist/index.es3.js +1944 -0
- package/dist/index.es3.js.map +1 -0
- package/dist/pages/interactionDetails.cjs.js +1 -1
- package/dist/pages/interactionDetails.cjs.js.map +1 -1
- package/dist/pages/interactionDetails.es.js +70 -47
- package/dist/pages/interactionDetails.es.js.map +1 -1
- package/dist/sortable.esm.cjs.js +1 -1
- package/dist/sortable.esm.cjs.js.map +1 -1
- package/dist/sortable.esm.es.js +55 -53
- package/dist/sortable.esm.es.js.map +1 -1
- package/dist/{chordia-ui.css → style.css} +1 -1
- package/package.json +1 -1
- package/src/components/UpdatedInteractionDetails/UpdatedInteractionDetails.jsx +318 -77
- package/src/components/UpdatedInteractionDetails/UpdatedInteractionRecording.jsx +7 -17
- package/dist/ChartRenderer.cjs.js +0 -31
- package/dist/ChartRenderer.cjs.js.map +0 -1
- package/dist/ChartRenderer.es.js +0 -2210
- package/dist/ChartRenderer.es.js.map +0 -1
- package/dist/GettingStarted.cjs.js +0 -2
- package/dist/GettingStarted.cjs.js.map +0 -1
- package/dist/GettingStarted.es.js +0 -983
- package/dist/GettingStarted.es.js.map +0 -1
- package/dist/InlineConfirm.cjs.js +0 -2
- package/dist/InlineConfirm.cjs.js.map +0 -1
- package/dist/InlineConfirm.es.js +0 -618
- package/dist/InlineConfirm.es.js.map +0 -1
- package/dist/InteractionSummaryCard.cjs.js +0 -2
- package/dist/InteractionSummaryCard.cjs.js.map +0 -1
- package/dist/InteractionSummaryCard.es.js +0 -216
- package/dist/InteractionSummaryCard.es.js.map +0 -1
- package/dist/LoginPage.cjs.js +0 -3
- package/dist/LoginPage.cjs.js.map +0 -1
- package/dist/LoginPage.es.js +0 -2618
- package/dist/LoginPage.es.js.map +0 -1
- package/dist/NavigationBar.cjs.js +0 -2
- package/dist/NavigationBar.cjs.js.map +0 -1
- package/dist/NavigationBar.es.js +0 -762
- package/dist/NavigationBar.es.js.map +0 -1
- package/dist/NotificationPanel.cjs.js +0 -2
- package/dist/NotificationPanel.cjs.js.map +0 -1
- package/dist/NotificationPanel.es.js +0 -371
- package/dist/NotificationPanel.es.js.map +0 -1
- package/dist/OverlayPanel.cjs.js +0 -2
- package/dist/OverlayPanel.cjs.js.map +0 -1
- package/dist/OverlayPanel.es.js +0 -93
- package/dist/OverlayPanel.es.js.map +0 -1
- package/dist/SplitPane.cjs.js +0 -4
- package/dist/SplitPane.cjs.js.map +0 -1
- package/dist/SplitPane.es.js +0 -1531
- package/dist/SplitPane.es.js.map +0 -1
- package/dist/SummaryStatsPanel.cjs.js +0 -2
- package/dist/SummaryStatsPanel.cjs.js.map +0 -1
- package/dist/SummaryStatsPanel.es.js +0 -1027
- package/dist/SummaryStatsPanel.es.js.map +0 -1
- package/dist/UpdatedInteractionDetails.cjs.js +0 -11
- package/dist/UpdatedInteractionDetails.cjs.js.map +0 -1
- package/dist/UpdatedInteractionDetails.es.js +0 -1310
- package/dist/UpdatedInteractionDetails.es.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
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: '140%',\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 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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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../SmallButton.cjs.js"),o=require("../Tooltip.cjs.js"),e=require("../InlineConfirm.cjs.js"),i=require("../SectionLabel.cjs.js"),l=require("../TextInput.cjs.js");exports.Card=t.Card;exports.DetailCard=t.DetailCard;exports.DeviationIndicator=t.DeviationIndicator;exports.SmallButton=t.SmallButton;exports.Tag=t.Tag;exports.Tooltip=o.Tooltip;exports.TooltipContent=o.TooltipContent;exports.TooltipProvider=o.TooltipProvider;exports.TooltipTrigger=o.TooltipTrigger;exports.Badge=e.Badge;exports.Checkbox=e.Checkbox;exports.ColorPalette=e.ColorPalette;exports.FormLabel=e.FormLabel;exports.InlineConfirm=e.InlineConfirm;exports.MultiSelect=e.MultiSelect;exports.Select=e.Select;exports.TextArea=e.TextArea;exports.SectionLabel=i.SectionLabel;exports.Tabs=i.Tabs;exports.TextInput=l.TextInput;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("../SmallButton.cjs.js"),b=require("../Tooltip.cjs.js"),e=require("react/jsx-runtime"),p=require("react"),D=require("../SectionLabel.cjs.js"),E=require("lucide-react"),H=require("../TextInput.cjs.js");require("react-dom");function W({colors:a=[]}){const r=a.reduce((n,t)=>(n[t.category]||(n[t.category]=[]),n[t.category].push(t),n),{});return e.jsx("div",{style:{fontFamily:"system-ui, -apple-system, sans-serif"},children:Object.entries(r).map(([n,t])=>e.jsxs("div",{style:{marginBottom:"24px"},children:[e.jsx("div",{style:{fontSize:"11px",letterSpacing:"0.14em",textTransform:"uppercase",marginBottom:"12px",color:"rgba(30, 33, 37, 0.62)",fontWeight:650},children:n}),e.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(220px, 1fr))",gap:"12px"},children:t.map((o,l)=>e.jsxs("div",{style:{border:"1px solid rgba(52, 58, 64, 0.12)",borderRadius:"12px",overflow:"hidden",background:"rgba(255, 255, 255, 0.72)"},children:[e.jsx("div",{style:{height:"64px",background:o.hex,borderBottom:"1px solid rgba(52, 58, 64, 0.10)"}}),e.jsxs("div",{style:{padding:"10px 12px"},children:[e.jsx("div",{style:{fontSize:"13px",fontWeight:680,color:"rgba(30, 33, 37, 0.92)",marginBottom:"4px"},children:o.name}),e.jsx("div",{style:{fontSize:"11.5px",fontFamily:"ui-monospace, monospace",color:"rgba(30, 33, 37, 0.52)",marginBottom:"6px"},children:o.hex}),e.jsx("div",{style:{fontSize:"11.5px",color:"rgba(30, 33, 37, 0.62)",lineHeight:1.4},children:o.usage})]})]},l))})]},n))})}function $({children:a,color:r,icon:n,...t}){const l={...{fontSize:"var(--text-xs)",padding:"1px 5px",borderRadius:"var(--radius-sm)",display:"inline-flex",alignItems:"center"},color:r,backgroundColor:`color-mix(in srgb, ${r} 15%, transparent)`,...t.style};return e.jsxs("span",{style:l,...t,children:[n&&e.jsx("span",{style:{marginRight:"3px"},children:n}),a]})}function M({checked:a=!1,onChange:r,label:n,size:t="md",disabled:o=!1,style:l,...u}){const i=t==="sm"?12:16,d=t==="sm"?8:11;return e.jsxs("label",{style:{display:"inline-flex",alignItems:"center",gap:t==="sm"?3:"var(--spacing-2)",fontSize:t==="sm"?"var(--text-xs)":"var(--text-sm)",color:o?"var(--text-faint)":"var(--text-base)",cursor:o?"not-allowed":"pointer",userSelect:"none",...l},onClick:c=>{c.preventDefault(),!o&&r&&r(!a)},...u,children:[e.jsx("span",{style:{width:i,height:i,borderRadius:t==="sm"?2:3,border:`1px solid ${a?"var(--text-ink)":"var(--border)"}`,background:a?"var(--text-ink)":"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",transition:"var(--transition-fast)",flexShrink:0,opacity:o?.5:1},children:a&&e.jsx(E.Check,{size:d,style:{color:"white"},strokeWidth:3})}),n]})}const A={width:"100%",padding:"var(--spacing-2)",fontSize:"var(--text-md)",border:"1px solid var(--border)",borderRadius:"var(--radius)",backgroundColor:"var(--paper)",color:"var(--text-base)",fontFamily:"var(--font-sans)",outline:"none",transition:"border-color 0.15s ease"};function V({value:a,onChange:r,placeholder:n,disabled:t=!1,mono:o=!1,rows:l=4,resize:u=!0,style:i,...d}){return e.jsx("textarea",{value:a,onChange:c=>r==null?void 0:r(c.target.value),placeholder:n,disabled:t,rows:l,style:{...A,resize:u?"vertical":"none",minHeight:l*20,...o?{fontFamily:"var(--font-mono)"}:{},...t?{opacity:.6,cursor:"not-allowed"}:{},...i},onFocus:c=>{c.currentTarget.style.borderColor="var(--border-hover)"},onBlur:c=>{c.currentTarget.style.borderColor="var(--border)"},...d})}const N={width:"100%",padding:"var(--spacing-1) var(--spacing-2)",fontSize:"var(--text-md)",border:"1px solid var(--border)",borderRadius:"var(--radius)",backgroundColor:"var(--paper)",color:"var(--text-base)",fontFamily:"var(--font-sans)",cursor:"pointer",outline:"none",transition:"border-color 0.15s ease"};function Y({value:a,onChange:r,options:n=[],disabled:t=!1,placeholder:o,style:l,...u}){return e.jsxs("select",{value:a,onChange:i=>r==null?void 0:r(i.target.value),disabled:t,style:{...N,...t?{opacity:.6,cursor:"not-allowed"}:{},...l},onFocus:i=>{i.currentTarget.style.borderColor="var(--border-hover)"},onBlur:i=>{i.currentTarget.style.borderColor="var(--border)"},...u,children:[o&&e.jsx("option",{value:"",children:o}),n.map(i=>e.jsx("option",{value:i.value,children:i.label},i.value))]})}function G({value:a=[],onChange:r,options:n=[],placeholder:t="Select options",disabled:o=!1,leftIcon:l=null,rightIcon:u=null,maxMenuHeight:i=240,draggable:d=!1}){const[c,B]=p.useState(!1),[O,F]=p.useState(null),[f,I]=p.useState(n),[z,h]=p.useState(null),S=p.useRef(null),j=p.useRef(null);p.useEffect(()=>{I(n)},[n]);const k=new Set((a||[]).map(String)),L=s=>{if(!r)return;const x=String(s),m=new Set(k);m.has(x)?m.delete(x):m.add(x),r(Array.from(m))};p.useEffect(()=>{if(!c)return;const s=x=>{S.current&&!S.current.contains(x.target)&&j.current&&!j.current.contains(x.target)&&B(!1)};return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[c]);const y=k.size,P=y===0?t:`${y} selected`;return e.jsxs("div",{style:{position:"relative",width:"100%"},children:[e.jsxs("button",{type:"button",ref:S,disabled:o,onClick:()=>!o&&B(s=>!s),style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,padding:"var(--spacing-1) var(--spacing-2)",borderRadius:"var(--radius)",...c?{borderBottomLeftRadius:0,borderBottomRightRadius:0}:{},border:"1px solid var(--border)",backgroundColor:o?"rgba(249, 250, 251, 1)":"var(--paper)",color:y===0?"var(--text-muted)":"var(--text-base)",cursor:o?"not-allowed":"pointer",fontFamily:"var(--font-sans)",fontSize:"var(--text-md)",outline:"none",transition:"border-color 0.15s ease, background-color 0.15s ease"},onMouseEnter:s=>{o||(s.currentTarget.style.borderColor="var(--border-hover)")},onMouseLeave:s=>{o||(s.currentTarget.style.borderColor="var(--border)")},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,minWidth:0,flex:1},children:[l&&e.jsx("span",{style:{flexShrink:0,display:"inline-flex"},children:l}),e.jsx("span",{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:P})]}),e.jsx("span",{style:{flexShrink:0,display:"inline-flex"},children:u||e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{transform:c?"rotate(180deg)":"rotate(0deg)",transition:"transform 150ms ease",color:"var(--text-muted)"},children:e.jsx("path",{d:"M5.25 7.5L10 12.25L14.75 7.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),c&&e.jsx("div",{ref:j,style:{position:"absolute",zIndex:40,marginTop:0,width:"100%",maxHeight:i,overflowY:"auto",backgroundColor:"#FFFFFF",borderRadius:8,borderTopLeftRadius:0,borderTopRightRadius:0,border:"1px solid rgba(209, 213, 219, 1)",borderTop:"none",boxShadow:"0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1)"},children:e.jsx("div",{style:{padding:"4px 0"},children:f&&f.length===0?e.jsx("div",{style:{padding:"8px 12px",fontSize:"var(--text-sm)",color:"var(--text-muted)",fontFamily:"var(--font-sans)"},children:"No options"}):f.map(s=>{const x=k.has(String(s.value)),m=z===String(s.value);return e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 12px",cursor:"pointer",backgroundColor:O===String(s.value)?"var(--hover-warm)":"transparent",opacity:m?.6:1},onClick:()=>L(s.value),onMouseEnter:()=>F(String(s.value)),onMouseLeave:()=>F(null),draggable:d,onDragStart:g=>{d&&(h(String(s.value)),g.dataTransfer&&(g.dataTransfer.effectAllowed="move"))},onDragOver:g=>{d&&g.preventDefault()},onDrop:g=>{if(!d)return;g.preventDefault();const w=f.findIndex(R=>String(R.value)===z),T=f.findIndex(R=>String(R.value)===String(s.value));if(w===-1||T===-1||w===T){h(null);return}const C=[...f],[q]=C.splice(w,1);C.splice(T,0,q),I(C),h(null)},onDragEnd:()=>{d&&h(null)},children:[d&&e.jsx("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:14,height:14,color:"var(--text-faint)",cursor:"grab"},onClick:g=>{g.stopPropagation()},children:e.jsx("svg",{width:"10",height:"10",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M4 7H16M4 10H16M4 13H16",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}),e.jsx(M,{size:"sm",checked:x,onChange:()=>L(s.value),style:{gap:0}}),e.jsx("span",{style:{fontSize:"var(--text-sm)",color:"var(--text-base)",fontFamily:"var(--font-sans)"},children:s.label})]},s.value)})})})]})}function J({children:a,htmlFor:r,style:n}){return e.jsx("label",{htmlFor:r,style:{display:"block",fontSize:"var(--text-base)",color:"var(--text-muted)",marginBottom:"var(--spacing-1)",fontFamily:"var(--font-sans)",...n},children:a})}function K({children:a,onConfirm:r,prompt:n="Delete?",confirmLabel:t="Yes",cancelLabel:o="No",style:l}){const[u,i]=p.useState(!1);return u?e.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:"var(--spacing-1)",...l},children:[e.jsx("span",{style:{fontSize:"var(--text-sm)",color:"var(--text-muted)"},children:n}),e.jsx(v.SmallButton,{variant:"ghost",size:"sm",onClick:d=>{d.stopPropagation(),r==null||r(),i(!1)},style:{color:"var(--text-ink)",fontWeight:"var(--font-semibold)"},children:t}),e.jsx(v.SmallButton,{variant:"ghost",size:"sm",onClick:d=>{d.stopPropagation(),i(!1)},children:o})]}):e.jsx("span",{onClick:d=>{d.stopPropagation(),i(!0)},style:{cursor:"pointer",...l},children:a})}exports.Card=v.Card;exports.DetailCard=v.DetailCard;exports.DeviationIndicator=v.DeviationIndicator;exports.SmallButton=v.SmallButton;exports.Tag=v.Tag;exports.Tooltip=b.Tooltip;exports.TooltipContent=b.TooltipContent;exports.TooltipProvider=b.TooltipProvider;exports.TooltipTrigger=b.TooltipTrigger;exports.SectionLabel=D.SectionLabel;exports.Tabs=D.Tabs;exports.TextInput=H.TextInput;exports.Badge=$;exports.Checkbox=M;exports.ColorPalette=W;exports.FormLabel=J;exports.InlineConfirm=K;exports.MultiSelect=G;exports.Select=Y;exports.TextArea=V;
|
|
2
2
|
//# sourceMappingURL=primitives.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"primitives.cjs.js","sources":["../../src/components/primitives/ColorPalette.jsx","../../src/components/primitives/Badge.jsx","../../src/components/primitives/Checkbox.jsx","../../src/components/primitives/TextArea.jsx","../../src/components/primitives/Select.jsx","../../src/components/primitives/MultiSelect.jsx","../../src/components/primitives/FormLabel.jsx","../../src/components/primitives/InlineConfirm.jsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\n\n/**\n * ColorPalette component\n * Renders grouped color chips with name, hex, and usage text.\n *\n * @param {{ name: string; hex: string; usage: string; category: string; }[]} colors\n */\nexport default function ColorPalette({ colors = [] }) {\n // Group colors by category\n const groupedColors = colors.reduce((acc, color) => {\n if (!acc[color.category]) {\n acc[color.category] = [];\n }\n acc[color.category].push(color);\n return acc;\n }, {});\n\n return (\n <div\n style={{\n fontFamily: \"system-ui, -apple-system, sans-serif\",\n }}\n >\n {Object.entries(groupedColors).map(([category, categoryColors]) => (\n <div key={category} style={{ marginBottom: \"24px\" }}>\n {/* Category header */}\n <div\n style={{\n fontSize: '11px',\n letterSpacing: '0.14em',\n textTransform: 'uppercase',\n marginBottom: '12px',\n color: \"rgba(30, 33, 37, 0.62)\",\n fontWeight: 650,\n }}\n >\n {category}\n </div>\n\n {/* Color chips grid */}\n <div\n style={{\n display: \"grid\",\n gridTemplateColumns: \"repeat(auto-fill, minmax(220px, 1fr))\",\n gap: \"12px\",\n }}\n >\n {categoryColors.map((color, i) => (\n <div\n key={i}\n style={{\n border: \"1px solid rgba(52, 58, 64, 0.12)\",\n borderRadius: \"12px\",\n overflow: \"hidden\",\n background: \"rgba(255, 255, 255, 0.72)\",\n }}\n >\n {/* Color swatch */}\n <div\n style={{\n height: \"64px\",\n background: color.hex,\n borderBottom: \"1px solid rgba(52, 58, 64, 0.10)\",\n }}\n />\n\n {/* Color info */}\n <div style={{ padding: \"10px 12px\" }}>\n <div\n style={{\n fontSize: \"13px\",\n fontWeight: 680,\n color: \"rgba(30, 33, 37, 0.92)\",\n marginBottom: \"4px\",\n }}\n >\n {color.name}\n </div>\n <div\n style={{\n fontSize: \"11.5px\",\n fontFamily: \"ui-monospace, monospace\",\n color: \"rgba(30, 33, 37, 0.52)\",\n marginBottom: \"6px\",\n }}\n >\n {color.hex}\n </div>\n <div\n style={{\n fontSize: \"11.5px\",\n color: \"rgba(30, 33, 37, 0.62)\",\n lineHeight: 1.4,\n }}\n >\n {color.usage}\n </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n ))}\n </div>\n );\n}\n\n\n","\"use client\";\n\nexport default function Badge({ children, color, icon, ...props }) {\n const baseStyle = {\n fontSize: 'var(--text-xs)',\n padding: '1px 5px',\n borderRadius: 'var(--radius-sm)',\n display: 'inline-flex',\n alignItems: 'center'\n };\n\n const computedStyle = {\n ...baseStyle,\n color: color,\n backgroundColor: `color-mix(in srgb, ${color} 15%, transparent)`,\n ...props.style\n };\n\n return (\n <span style={computedStyle} {...props}>\n {icon && (\n <span style={{ marginRight: '3px' }}>\n {icon}\n </span>\n )}\n {children}\n </span>\n );\n}","\"use client\";\n\nimport { Check } from 'lucide-react';\n\n/**\n * Styled checkbox matching Chordia design system.\n * Uses --rail-tone (purple) when checked, --border when unchecked.\n * No native browser checkbox — fully custom.\n *\n * @param {boolean} checked\n * @param {function} onChange - receives new boolean value\n * @param {string} [label] - optional label text\n * @param {'md'|'sm'} [size='md']\n * @param {boolean} [disabled=false]\n * @param {object} [style] - override style on the outer label\n */\nexport default function Checkbox({\n checked = false,\n onChange,\n label,\n size = 'md',\n disabled = false,\n style,\n ...props\n}) {\n const boxSize = size === 'sm' ? 12 : 16;\n const checkSize = size === 'sm' ? 8 : 11;\n\n return (\n <label\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: size === 'sm' ? 3 : 'var(--spacing-2)',\n fontSize: size === 'sm' ? 'var(--text-xs)' : 'var(--text-sm)',\n color: disabled ? 'var(--text-faint)' : 'var(--text-base)',\n cursor: disabled ? 'not-allowed' : 'pointer',\n userSelect: 'none',\n ...style,\n }}\n onClick={(e) => {\n e.preventDefault();\n if (!disabled && onChange) onChange(!checked);\n }}\n {...props}\n >\n <span\n style={{\n width: boxSize,\n height: boxSize,\n borderRadius: size === 'sm' ? 2 : 3,\n border: `1px solid ${checked ? 'var(--text-ink)' : 'var(--border)'}`,\n background: checked ? 'var(--text-ink)' : 'transparent',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n transition: 'var(--transition-fast)',\n flexShrink: 0,\n opacity: disabled ? 0.5 : 1,\n }}\n >\n {checked && (\n <Check size={checkSize} style={{ color: 'white' }} strokeWidth={3} />\n )}\n </span>\n {label}\n </label>\n );\n}\n","\"use client\";\nimport React from 'react';\n\nconst baseStyle = {\n width: '100%',\n padding: 'var(--spacing-2)',\n fontSize: 'var(--text-md)',\n border: '1px solid var(--border)',\n borderRadius: 'var(--radius)',\n backgroundColor: 'var(--paper)',\n color: 'var(--text-base)',\n fontFamily: 'var(--font-sans)',\n outline: 'none',\n transition: 'border-color 0.15s ease',\n};\n\nexport default function TextArea({\n value,\n onChange,\n placeholder,\n disabled = false,\n mono = false,\n rows = 4,\n resize = true,\n style,\n ...rest\n}) {\n return (\n <textarea\n value={value}\n onChange={(e) => onChange?.(e.target.value)}\n placeholder={placeholder}\n disabled={disabled}\n rows={rows}\n style={{\n ...baseStyle,\n resize: resize ? 'vertical' : 'none',\n minHeight: rows * 20,\n ...(mono ? { fontFamily: 'var(--font-mono)' } : {}),\n ...(disabled ? { opacity: 0.6, cursor: 'not-allowed' } : {}),\n ...style,\n }}\n onFocus={(e) => { e.currentTarget.style.borderColor = 'var(--border-hover)'; }}\n onBlur={(e) => { e.currentTarget.style.borderColor = 'var(--border)'; }}\n {...rest}\n />\n );\n}\n","\"use client\";\nimport React from 'react';\n\nconst baseStyle = {\n width: '100%',\n padding: 'var(--spacing-1) var(--spacing-2)',\n fontSize: 'var(--text-md)',\n border: '1px solid var(--border)',\n borderRadius: 'var(--radius)',\n backgroundColor: 'var(--paper)',\n color: 'var(--text-base)',\n fontFamily: 'var(--font-sans)',\n cursor: 'pointer',\n outline: 'none',\n transition: 'border-color 0.15s ease',\n};\n\nexport default function Select({\n value,\n onChange,\n options = [],\n disabled = false,\n placeholder,\n style,\n ...rest\n}) {\n return (\n <select\n value={value}\n onChange={(e) => onChange?.(e.target.value)}\n disabled={disabled}\n style={{\n ...baseStyle,\n ...(disabled ? { opacity: 0.6, cursor: 'not-allowed' } : {}),\n ...style,\n }}\n onFocus={(e) => { e.currentTarget.style.borderColor = 'var(--border-hover)'; }}\n onBlur={(e) => { e.currentTarget.style.borderColor = 'var(--border)'; }}\n {...rest}\n >\n {placeholder && <option value=\"\">{placeholder}</option>}\n {options.map((opt) => (\n <option key={opt.value} value={opt.value}>\n {opt.label}\n </option>\n ))}\n </select>\n );\n}\n","\"use client\";\nimport React, { useState, useRef, useEffect } from \"react\";\nimport Checkbox from \"./Checkbox\";\n\n/**\n * MultiSelect\n *\n * Lightweight multi-select dropdown built from primitives.\n * - Renders a trigger pill showing placeholder or \"N selected\"\n * - Shows options in a popover with checkboxes\n * - Optional left/right icons in the trigger\n *\n * Props:\n * - value: string[] // selected values\n * - onChange(nextValues: string[]) // change handler\n * - options: { value, label }[]\n * - placeholder?: string\n * - disabled?: boolean\n * - leftIcon?: ReactNode\n * - rightIcon?: ReactNode // if omitted, simple chevron is used\n * - maxMenuHeight?: number // px\n * - draggable?: boolean // if true, allow drag & drop reordering of options\n */\nexport default function MultiSelect({\n value = [],\n onChange,\n options = [],\n placeholder = \"Select options\",\n disabled = false,\n leftIcon = null,\n rightIcon = null,\n maxMenuHeight = 240,\n draggable = false,\n}) {\n const [open, setOpen] = useState(false);\n const [hoveredValue, setHoveredValue] = useState(null);\n const [orderedOptions, setOrderedOptions] = useState(options);\n const [draggingValue, setDraggingValue] = useState(null);\n const triggerRef = useRef(null);\n const menuRef = useRef(null);\n\n // Keep internal order in sync with props\n useEffect(() => {\n setOrderedOptions(options);\n }, [options]);\n\n const selectedSet = new Set((value || []).map(String));\n\n const handleToggle = (optionValue) => {\n if (!onChange) return;\n const key = String(optionValue);\n const next = new Set(selectedSet);\n if (next.has(key)) {\n next.delete(key);\n } else {\n next.add(key);\n }\n onChange(Array.from(next));\n };\n\n // Close on outside click\n useEffect(() => {\n if (!open) return;\n const handleClickOutside = (event) => {\n if (\n triggerRef.current &&\n !triggerRef.current.contains(event.target) &&\n menuRef.current &&\n !menuRef.current.contains(event.target)\n ) {\n setOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\n }, [open]);\n\n const selectedCount = selectedSet.size;\n const displayLabel =\n selectedCount === 0\n ? placeholder\n : `${selectedCount} ${selectedCount === 1 ? \"selected\" : \"selected\"}`;\n\n const isErrorState = false; // hook for future error styling, matches Select API shape\n\n return (\n <div style={{ position: \"relative\", width: \"100%\" }}>\n <button\n type=\"button\"\n ref={triggerRef}\n disabled={disabled}\n onClick={() => !disabled && setOpen((prev) => !prev)}\n style={{\n // Match Select base style as closely as possible\n width: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: 8,\n padding: \"var(--spacing-1) var(--spacing-2)\",\n borderRadius: \"var(--radius)\",\n ...(open\n ? {\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n }\n : {}),\n border: `1px solid ${isErrorState ? \"var(--state-present)\" : \"var(--border)\"}`,\n backgroundColor: disabled ? \"rgba(249, 250, 251, 1)\" : \"var(--paper)\",\n color: selectedCount === 0 ? \"var(--text-muted)\" : \"var(--text-base)\",\n cursor: disabled ? \"not-allowed\" : \"pointer\",\n fontFamily: \"var(--font-sans)\",\n fontSize: \"var(--text-md)\",\n outline: \"none\",\n transition: \"border-color 0.15s ease, background-color 0.15s ease\",\n }}\n onMouseEnter={(e) => {\n if (disabled) return;\n e.currentTarget.style.borderColor = \"var(--border-hover)\";\n }}\n onMouseLeave={(e) => {\n if (disabled) return;\n e.currentTarget.style.borderColor = \"var(--border)\";\n }}\n >\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 8,\n minWidth: 0,\n flex: 1,\n }}\n >\n {leftIcon && (\n <span style={{ flexShrink: 0, display: \"inline-flex\" }}>\n {leftIcon}\n </span>\n )}\n <span\n style={{\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n }}\n >\n {displayLabel}\n </span>\n </div>\n <span style={{ flexShrink: 0, display: \"inline-flex\" }}>\n {rightIcon || (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{\n transform: open ? \"rotate(180deg)\" : \"rotate(0deg)\",\n transition: \"transform 150ms ease\",\n color: \"var(--text-muted)\",\n }}\n >\n <path\n d=\"M5.25 7.5L10 12.25L14.75 7.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )}\n </span>\n </button>\n\n {open && (\n <div\n ref={menuRef}\n style={{\n position: \"absolute\",\n zIndex: 40,\n marginTop: 0,\n width: \"100%\",\n maxHeight: maxMenuHeight,\n overflowY: \"auto\",\n backgroundColor: \"#FFFFFF\",\n borderRadius: 8,\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n border: \"1px solid rgba(209, 213, 219, 1)\",\n borderTop: \"none\",\n boxShadow:\n \"0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1)\",\n }}\n >\n <div style={{ padding: \"4px 0\" }}>\n {(orderedOptions && orderedOptions.length === 0) ? (\n <div\n style={{\n padding: \"8px 12px\",\n fontSize: \"var(--text-sm)\",\n color: \"var(--text-muted)\",\n fontFamily: \"var(--font-sans)\",\n }}\n >\n No options\n </div>\n ) : (\n orderedOptions.map((opt) => {\n const isChecked = selectedSet.has(String(opt.value));\n const isDragging = draggingValue === String(opt.value);\n return (\n <div\n key={opt.value}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 8,\n padding: \"6px 12px\",\n cursor: \"pointer\",\n backgroundColor:\n hoveredValue === String(opt.value)\n ? \"var(--hover-warm)\"\n : \"transparent\",\n opacity: isDragging ? 0.6 : 1,\n }}\n onClick={() => handleToggle(opt.value)}\n onMouseEnter={() => setHoveredValue(String(opt.value))}\n onMouseLeave={() => setHoveredValue(null)}\n draggable={draggable}\n onDragStart={(e) => {\n if (!draggable) return;\n setDraggingValue(String(opt.value));\n if (e.dataTransfer) {\n e.dataTransfer.effectAllowed = \"move\";\n }\n }}\n onDragOver={(e) => {\n if (!draggable) return;\n e.preventDefault();\n }}\n onDrop={(e) => {\n if (!draggable) return;\n e.preventDefault();\n const fromIndex = orderedOptions.findIndex(\n (o) => String(o.value) === draggingValue\n );\n const toIndex = orderedOptions.findIndex(\n (o) => String(o.value) === String(opt.value)\n );\n if (\n fromIndex === -1 ||\n toIndex === -1 ||\n fromIndex === toIndex\n ) {\n setDraggingValue(null);\n return;\n }\n const next = [...orderedOptions];\n const [moved] = next.splice(fromIndex, 1);\n next.splice(toIndex, 0, moved);\n setOrderedOptions(next);\n setDraggingValue(null);\n }}\n onDragEnd={() => {\n if (!draggable) return;\n setDraggingValue(null);\n }}\n >\n {draggable && (\n <span\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: 14,\n height: 14,\n color: \"var(--text-faint)\",\n cursor: \"grab\",\n }}\n onClick={(e) => {\n e.stopPropagation(); // don't toggle when clicking handle\n }}\n >\n <svg\n width=\"10\"\n height=\"10\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4 7H16M4 10H16M4 13H16\"\n stroke=\"currentColor\"\n strokeWidth=\"1.4\"\n strokeLinecap=\"round\"\n />\n </svg>\n </span>\n )}\n <Checkbox\n size=\"sm\"\n checked={isChecked}\n onChange={() => handleToggle(opt.value)}\n style={{ gap: 0 }}\n />\n <span\n style={{\n fontSize: \"var(--text-sm)\",\n color: \"var(--text-base)\",\n fontFamily: \"var(--font-sans)\",\n }}\n >\n {opt.label}\n </span>\n </div>\n );\n })\n )}\n </div>\n </div>\n )}\n </div>\n );\n}\n\n","\"use client\";\nimport React from 'react';\n\nexport default function FormLabel({ children, htmlFor, style }) {\n return (\n <label\n htmlFor={htmlFor}\n style={{\n display: 'block',\n fontSize: 'var(--text-base)',\n color: 'var(--text-muted)',\n marginBottom: 'var(--spacing-1)',\n fontFamily: 'var(--font-sans)',\n ...style,\n }}\n >\n {children}\n </label>\n );\n}\n","\"use client\";\nimport React, { useState } from 'react';\nimport SmallButton from './SmallButton.jsx';\n\nexport default function InlineConfirm({\n children,\n onConfirm,\n prompt = 'Delete?',\n confirmLabel = 'Yes',\n cancelLabel = 'No',\n style,\n}) {\n const [confirming, setConfirming] = useState(false);\n\n if (confirming) {\n return (\n <span\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: 'var(--spacing-1)',\n ...style,\n }}\n >\n <span\n style={{\n fontSize: 'var(--text-sm)',\n color: 'var(--text-muted)',\n }}\n >\n {prompt}\n </span>\n <SmallButton\n variant=\"ghost\"\n size=\"sm\"\n onClick={(e) => {\n e.stopPropagation();\n onConfirm?.();\n setConfirming(false);\n }}\n style={{ color: 'var(--text-ink)', fontWeight: 'var(--font-semibold)' }}\n >\n {confirmLabel}\n </SmallButton>\n <SmallButton\n variant=\"ghost\"\n size=\"sm\"\n onClick={(e) => {\n e.stopPropagation();\n setConfirming(false);\n }}\n >\n {cancelLabel}\n </SmallButton>\n </span>\n );\n }\n\n return (\n <span\n onClick={(e) => {\n e.stopPropagation();\n setConfirming(true);\n }}\n style={{ cursor: 'pointer', ...style }}\n >\n {children}\n </span>\n );\n}\n"],"names":["ColorPalette","colors","groupedColors","acc","color","jsx","category","categoryColors","i","jsxs","Badge","children","icon","props","computedStyle","Checkbox","checked","onChange","label","size","disabled","style","boxSize","checkSize","e","Check","baseStyle","TextArea","value","placeholder","mono","rows","resize","rest","Select","options","opt","MultiSelect","leftIcon","rightIcon","maxMenuHeight","draggable","open","setOpen","useState","hoveredValue","setHoveredValue","orderedOptions","setOrderedOptions","draggingValue","setDraggingValue","triggerRef","useRef","menuRef","useEffect","selectedSet","handleToggle","optionValue","key","next","handleClickOutside","event","selectedCount","displayLabel","prev","isChecked","isDragging","fromIndex","o","toIndex","moved","FormLabel","htmlFor","InlineConfirm","onConfirm","prompt","confirmLabel","cancelLabel","confirming","setConfirming","SmallButton"],"mappings":"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"}
|