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.
Files changed (159) hide show
  1. package/dist/AgentLiftCard.cjs.js.map +1 -1
  2. package/dist/AgentLiftCard.es.js +5 -3
  3. package/dist/AgentLiftCard.es.js.map +1 -1
  4. package/dist/CustomFilterChips.cjs.js.map +1 -1
  5. package/dist/CustomFilterChips.es.js +2 -1
  6. package/dist/CustomFilterChips.es.js.map +1 -1
  7. package/dist/FileUploadingState.cjs.js.map +1 -1
  8. package/dist/FileUploadingState.es.js +16 -10
  9. package/dist/FileUploadingState.es.js.map +1 -1
  10. package/dist/IntegrationCard.cjs.js.map +1 -1
  11. package/dist/IntegrationCard.es.js +3 -3
  12. package/dist/IntegrationCard.es.js.map +1 -1
  13. package/dist/SectionLabel.cjs.js.map +1 -1
  14. package/dist/SectionLabel.es.js.map +1 -1
  15. package/dist/SmallButton.cjs.js.map +1 -1
  16. package/dist/SmallButton.es.js +16 -16
  17. package/dist/SmallButton.es.js.map +1 -1
  18. package/dist/SummarySection.cjs.js.map +1 -1
  19. package/dist/SummarySection.es.js +11 -9
  20. package/dist/SummarySection.es.js.map +1 -1
  21. package/dist/TextInput.cjs.js.map +1 -1
  22. package/dist/TextInput.es.js.map +1 -1
  23. package/dist/Timeline.cjs.js.map +1 -1
  24. package/dist/Timeline.es.js +14 -8
  25. package/dist/Timeline.es.js.map +1 -1
  26. package/dist/Tooltip.cjs.js +1 -1
  27. package/dist/Tooltip.cjs.js.map +1 -1
  28. package/dist/Tooltip.es.js +31 -20
  29. package/dist/Tooltip.es.js.map +1 -1
  30. package/dist/TourGuideTooltip.cjs.js.map +1 -1
  31. package/dist/TourGuideTooltip.es.js +2 -1
  32. package/dist/TourGuideTooltip.es.js.map +1 -1
  33. package/dist/UpdatedInteractionRecording.cjs.js +1 -1
  34. package/dist/UpdatedInteractionRecording.cjs.js.map +1 -1
  35. package/dist/UpdatedInteractionRecording.es.js +79 -97
  36. package/dist/UpdatedInteractionRecording.es.js.map +1 -1
  37. package/dist/UploadInteraction.cjs.js.map +1 -1
  38. package/dist/UploadInteraction.es.js.map +1 -1
  39. package/dist/colors.cjs.js +2 -0
  40. package/dist/colors.cjs.js.map +1 -0
  41. package/dist/colors.es.js +2 -0
  42. package/dist/colors.es.js.map +1 -0
  43. package/dist/components/UpdatedInteractionDetails.cjs.js +10 -1
  44. package/dist/components/UpdatedInteractionDetails.cjs.js.map +1 -1
  45. package/dist/components/UpdatedInteractionDetails.es.js +1531 -9
  46. package/dist/components/UpdatedInteractionDetails.es.js.map +1 -1
  47. package/dist/components/chat.cjs.js +30 -1
  48. package/dist/components/chat.cjs.js.map +1 -1
  49. package/dist/components/chat.es.js +2222 -7
  50. package/dist/components/chat.es.js.map +1 -1
  51. package/dist/components/common.cjs.js +1 -1
  52. package/dist/components/common.es.js +32 -25
  53. package/dist/components/common.es.js.map +1 -1
  54. package/dist/components/data.cjs.js +1 -1
  55. package/dist/components/data.cjs.js.map +1 -1
  56. package/dist/components/data.es.js +1033 -4
  57. package/dist/components/data.es.js.map +1 -1
  58. package/dist/components/layout.cjs.js +3 -1
  59. package/dist/components/layout.cjs.js.map +1 -1
  60. package/dist/components/layout.es.js +1533 -8
  61. package/dist/components/layout.es.js.map +1 -1
  62. package/dist/components/login.cjs.js +1 -1
  63. package/dist/components/login.es.js +6 -2
  64. package/dist/components/login.es.js.map +1 -1
  65. package/dist/components/media.cjs.js +1 -1
  66. package/dist/components/media.cjs.js.map +1 -1
  67. package/dist/components/media.es.js +220 -6
  68. package/dist/components/media.es.js.map +1 -1
  69. package/dist/components/models.cjs.js +1 -1
  70. package/dist/components/models.cjs.js.map +1 -1
  71. package/dist/components/models.es.js +91 -2
  72. package/dist/components/models.es.js.map +1 -1
  73. package/dist/components/navigation.cjs.js +1 -1
  74. package/dist/components/navigation.cjs.js.map +1 -1
  75. package/dist/components/navigation.es.js +766 -7
  76. package/dist/components/navigation.es.js.map +1 -1
  77. package/dist/components/notifications.cjs.js +1 -1
  78. package/dist/components/notifications.cjs.js.map +1 -1
  79. package/dist/components/notifications.es.js +368 -3
  80. package/dist/components/notifications.es.js.map +1 -1
  81. package/dist/components/onboarding.cjs.js +1 -1
  82. package/dist/components/onboarding.cjs.js.map +1 -1
  83. package/dist/components/onboarding.es.js +985 -7
  84. package/dist/components/onboarding.es.js.map +1 -1
  85. package/dist/components/primitives.cjs.js +1 -1
  86. package/dist/components/primitives.cjs.js.map +1 -1
  87. package/dist/components/primitives.es.js +635 -25
  88. package/dist/components/primitives.es.js.map +1 -1
  89. package/dist/debugger-wc.cjs.js +4 -4
  90. package/dist/debugger-wc.cjs.js.map +1 -1
  91. package/dist/debugger-wc.es.js +15 -11
  92. package/dist/debugger-wc.es.js.map +1 -1
  93. package/dist/index.cjs.js +1 -1
  94. package/dist/index.cjs2.js +2 -49
  95. package/dist/index.cjs2.js.map +1 -1
  96. package/dist/index.cjs3.js +50 -0
  97. package/dist/index.cjs3.js.map +1 -0
  98. package/dist/index.es.js +104 -99
  99. package/dist/index.es.js.map +1 -1
  100. package/dist/index.es2.js +2632 -1776
  101. package/dist/index.es2.js.map +1 -1
  102. package/dist/index.es3.js +1944 -0
  103. package/dist/index.es3.js.map +1 -0
  104. package/dist/pages/interactionDetails.cjs.js +1 -1
  105. package/dist/pages/interactionDetails.cjs.js.map +1 -1
  106. package/dist/pages/interactionDetails.es.js +70 -47
  107. package/dist/pages/interactionDetails.es.js.map +1 -1
  108. package/dist/sortable.esm.cjs.js +1 -1
  109. package/dist/sortable.esm.cjs.js.map +1 -1
  110. package/dist/sortable.esm.es.js +55 -53
  111. package/dist/sortable.esm.es.js.map +1 -1
  112. package/dist/{chordia-ui.css → style.css} +1 -1
  113. package/package.json +1 -1
  114. package/src/components/UpdatedInteractionDetails/UpdatedInteractionDetails.jsx +318 -77
  115. package/src/components/UpdatedInteractionDetails/UpdatedInteractionRecording.jsx +7 -17
  116. package/dist/ChartRenderer.cjs.js +0 -31
  117. package/dist/ChartRenderer.cjs.js.map +0 -1
  118. package/dist/ChartRenderer.es.js +0 -2210
  119. package/dist/ChartRenderer.es.js.map +0 -1
  120. package/dist/GettingStarted.cjs.js +0 -2
  121. package/dist/GettingStarted.cjs.js.map +0 -1
  122. package/dist/GettingStarted.es.js +0 -983
  123. package/dist/GettingStarted.es.js.map +0 -1
  124. package/dist/InlineConfirm.cjs.js +0 -2
  125. package/dist/InlineConfirm.cjs.js.map +0 -1
  126. package/dist/InlineConfirm.es.js +0 -618
  127. package/dist/InlineConfirm.es.js.map +0 -1
  128. package/dist/InteractionSummaryCard.cjs.js +0 -2
  129. package/dist/InteractionSummaryCard.cjs.js.map +0 -1
  130. package/dist/InteractionSummaryCard.es.js +0 -216
  131. package/dist/InteractionSummaryCard.es.js.map +0 -1
  132. package/dist/LoginPage.cjs.js +0 -3
  133. package/dist/LoginPage.cjs.js.map +0 -1
  134. package/dist/LoginPage.es.js +0 -2618
  135. package/dist/LoginPage.es.js.map +0 -1
  136. package/dist/NavigationBar.cjs.js +0 -2
  137. package/dist/NavigationBar.cjs.js.map +0 -1
  138. package/dist/NavigationBar.es.js +0 -762
  139. package/dist/NavigationBar.es.js.map +0 -1
  140. package/dist/NotificationPanel.cjs.js +0 -2
  141. package/dist/NotificationPanel.cjs.js.map +0 -1
  142. package/dist/NotificationPanel.es.js +0 -371
  143. package/dist/NotificationPanel.es.js.map +0 -1
  144. package/dist/OverlayPanel.cjs.js +0 -2
  145. package/dist/OverlayPanel.cjs.js.map +0 -1
  146. package/dist/OverlayPanel.es.js +0 -93
  147. package/dist/OverlayPanel.es.js.map +0 -1
  148. package/dist/SplitPane.cjs.js +0 -4
  149. package/dist/SplitPane.cjs.js.map +0 -1
  150. package/dist/SplitPane.es.js +0 -1531
  151. package/dist/SplitPane.es.js.map +0 -1
  152. package/dist/SummaryStatsPanel.cjs.js +0 -2
  153. package/dist/SummaryStatsPanel.cjs.js.map +0 -1
  154. package/dist/SummaryStatsPanel.es.js +0 -1027
  155. package/dist/SummaryStatsPanel.es.js.map +0 -1
  156. package/dist/UpdatedInteractionDetails.cjs.js +0 -11
  157. package/dist/UpdatedInteractionDetails.cjs.js.map +0 -1
  158. package/dist/UpdatedInteractionDetails.es.js +0 -1310
  159. package/dist/UpdatedInteractionDetails.es.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"GettingStarted.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 &amp; 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 +0,0 @@
1
- "use strict";const e=require("react/jsx-runtime"),x=require("react"),E=require("lucide-react"),I=require("./SmallButton.cjs.js");function H({colors:i=[]}){const r=i.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 W({children:i,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}),i]})}function L({checked:i=!1,onChange:r,label:n,size:t="md",disabled:o=!1,style:l,...u}){const a=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(!i)},...u,children:[e.jsx("span",{style:{width:a,height:a,borderRadius:t==="sm"?2:3,border:`1px solid ${i?"var(--text-ink)":"var(--border)"}`,background:i?"var(--text-ink)":"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",transition:"var(--transition-fast)",flexShrink:0,opacity:o?.5:1},children:i&&e.jsx(E.Check,{size:d,style:{color:"white"},strokeWidth:3})}),n]})}const P={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 $({value:i,onChange:r,placeholder:n,disabled:t=!1,mono:o=!1,rows:l=4,resize:u=!0,style:a,...d}){return e.jsx("textarea",{value:i,onChange:c=>r==null?void 0:r(c.target.value),placeholder:n,disabled:t,rows:l,style:{...P,resize:u?"vertical":"none",minHeight:l*20,...o?{fontFamily:"var(--font-mono)"}:{},...t?{opacity:.6,cursor:"not-allowed"}:{},...a},onFocus:c=>{c.currentTarget.style.borderColor="var(--border-hover)"},onBlur:c=>{c.currentTarget.style.borderColor="var(--border)"},...d})}const q={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 A({value:i,onChange:r,options:n=[],disabled:t=!1,placeholder:o,style:l,...u}){return e.jsxs("select",{value:i,onChange:a=>r==null?void 0:r(a.target.value),disabled:t,style:{...q,...t?{opacity:.6,cursor:"not-allowed"}:{},...l},onFocus:a=>{a.currentTarget.style.borderColor="var(--border-hover)"},onBlur:a=>{a.currentTarget.style.borderColor="var(--border)"},...u,children:[o&&e.jsx("option",{value:"",children:o}),n.map(a=>e.jsx("option",{value:a.value,children:a.label},a.value))]})}function V({value:i=[],onChange:r,options:n=[],placeholder:t="Select options",disabled:o=!1,leftIcon:l=null,rightIcon:u=null,maxMenuHeight:a=240,draggable:d=!1}){const[c,R]=x.useState(!1),[D,F]=x.useState(null),[f,z]=x.useState(n),[B,m]=x.useState(null),y=x.useRef(null),b=x.useRef(null);x.useEffect(()=>{z(n)},[n]);const S=new Set((i||[]).map(String)),T=s=>{if(!r)return;const p=String(s),g=new Set(S);g.has(p)?g.delete(p):g.add(p),r(Array.from(g))};x.useEffect(()=>{if(!c)return;const s=p=>{y.current&&!y.current.contains(p.target)&&b.current&&!b.current.contains(p.target)&&R(!1)};return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[c]);const h=S.size,M=h===0?t:`${h} selected`;return e.jsxs("div",{style:{position:"relative",width:"100%"},children:[e.jsxs("button",{type:"button",ref:y,disabled:o,onClick:()=>!o&&R(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:h===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:M})]}),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:b,style:{position:"absolute",zIndex:40,marginTop:0,width:"100%",maxHeight:a,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 p=S.has(String(s.value)),g=B===String(s.value);return e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 12px",cursor:"pointer",backgroundColor:D===String(s.value)?"var(--hover-warm)":"transparent",opacity:g?.6:1},onClick:()=>T(s.value),onMouseEnter:()=>F(String(s.value)),onMouseLeave:()=>F(null),draggable:d,onDragStart:v=>{d&&(m(String(s.value)),v.dataTransfer&&(v.dataTransfer.effectAllowed="move"))},onDragOver:v=>{d&&v.preventDefault()},onDrop:v=>{if(!d)return;v.preventDefault();const j=f.findIndex(C=>String(C.value)===B),k=f.findIndex(C=>String(C.value)===String(s.value));if(j===-1||k===-1||j===k){m(null);return}const w=[...f],[O]=w.splice(j,1);w.splice(k,0,O),z(w),m(null)},onDragEnd:()=>{d&&m(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:v=>{v.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(L,{size:"sm",checked:p,onChange:()=>T(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 N({children:i,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:i})}function Y({children:i,onConfirm:r,prompt:n="Delete?",confirmLabel:t="Yes",cancelLabel:o="No",style:l}){const[u,a]=x.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(I.SmallButton,{variant:"ghost",size:"sm",onClick:d=>{d.stopPropagation(),r==null||r(),a(!1)},style:{color:"var(--text-ink)",fontWeight:"var(--font-semibold)"},children:t}),e.jsx(I.SmallButton,{variant:"ghost",size:"sm",onClick:d=>{d.stopPropagation(),a(!1)},children:o})]}):e.jsx("span",{onClick:d=>{d.stopPropagation(),a(!0)},style:{cursor:"pointer",...l},children:i})}exports.Badge=W;exports.Checkbox=L;exports.ColorPalette=H;exports.FormLabel=N;exports.InlineConfirm=Y;exports.MultiSelect=V;exports.Select=A;exports.TextArea=$;
2
- //# sourceMappingURL=InlineConfirm.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InlineConfirm.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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"}