chordia-ui 3.4.2 → 3.4.3

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 (31) hide show
  1. package/dist/Timeline.cjs.js +6 -1
  2. package/dist/Timeline.cjs.js.map +1 -1
  3. package/dist/Timeline.es.js +597 -129
  4. package/dist/Timeline.es.js.map +1 -1
  5. package/dist/UpdatedInteractionRecording.cjs.js +1 -1
  6. package/dist/UpdatedInteractionRecording.cjs.js.map +1 -1
  7. package/dist/UpdatedInteractionRecording.es.js +260 -258
  8. package/dist/UpdatedInteractionRecording.es.js.map +1 -1
  9. package/dist/components/UpdatedInteractionDetails.cjs.js +2 -2
  10. package/dist/components/UpdatedInteractionDetails.cjs.js.map +1 -1
  11. package/dist/components/UpdatedInteractionDetails.es.js +349 -322
  12. package/dist/components/UpdatedInteractionDetails.es.js.map +1 -1
  13. package/dist/components/media.cjs.js +1 -1
  14. package/dist/components/media.cjs.js.map +1 -1
  15. package/dist/components/media.es.js +8 -9
  16. package/dist/components/media.es.js.map +1 -1
  17. package/dist/index.cjs.js +1 -1
  18. package/dist/index.es.js +52 -53
  19. package/dist/index.es.js.map +1 -1
  20. package/dist/pages/interactionDetails.cjs.js +2 -2
  21. package/dist/pages/interactionDetails.cjs.js.map +1 -1
  22. package/dist/pages/interactionDetails.es.js +16 -17
  23. package/dist/pages/interactionDetails.es.js.map +1 -1
  24. package/package.json +1 -1
  25. package/src/components/UpdatedInteractionDetails/UpdatedInteractionDetails.jsx +35 -1
  26. package/src/components/UpdatedInteractionDetails/UpdatedInteractionRecording.jsx +142 -124
  27. package/src/components/UpdatedInteractionDetails/UpdatedInteractionSignals.jsx +14 -6
  28. package/dist/TranscriptCard.cjs.js +0 -7
  29. package/dist/TranscriptCard.cjs.js.map +0 -1
  30. package/dist/TranscriptCard.es.js +0 -474
  31. package/dist/TranscriptCard.es.js.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("../TranscriptCard.cjs.js"),C=require("../Timeline.cjs.js"),r=require("react/jsx-runtime"),w=require("react");require("lucide-react");const D={inbound:"var(--rail-discovery, #5E88B0)",outbound:"var(--rail-purple, #9B7AA8)",internal:"var(--rail-outcome, #6B7C93)",chat:"var(--rail-teal, #7BA89D)"},R=t=>{if(t==null||t<=0)return null;const i=Math.floor(t/3600),o=Math.floor(t%3600/60),s=Math.round(t%60);return i>0?`${i}:${String(o).padStart(2,"0")}:${String(s).padStart(2,"0")}`:`${o}:${String(s).padStart(2,"0")}`},W=t=>{if(!t)return null;try{return new Date(t).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}catch{return null}};function k({title:t,agentName:i,customerName:o,date:s,duration:y,direction:u,driver:x,sentiment:c,disposition:v,scores:p,tags:h,railColor:T,isActive:d=!1,onClick:g,children:S}){const j=T||D[u]||"var(--rail-outcome, #6B7C93)",f=R(y),b=W(s),n=[];i&&n.push(i),o&&n.push(o),b&&n.push(b),f&&n.push(f);const a=[];return u&&a.push({label:u}),x&&a.push({label:x}),c&&a.push({label:c}),v&&a.push({label:v}),h&&a.push(...h),r.jsxs("div",{onClick:g,style:{position:"relative",padding:"10px 14px 10px 18px",borderRadius:"var(--radius-md, 8px)",overflow:"hidden",background:d?"var(--hover-warm-subtle, rgba(231,212,162,0.08))":"var(--paper-elevated, rgba(255,255,255,0.82))",border:`1px solid ${d?"var(--border-hover, rgba(52,58,64,0.18))":"var(--border, rgba(52,58,64,0.12))"}`,cursor:g?"pointer":"default",transition:"background 0.15s, border-color 0.15s"},onMouseEnter:e=>{!d&&g&&(e.currentTarget.style.background="var(--hover-warm-subtle, rgba(231,212,162,0.08))",e.currentTarget.style.borderColor="var(--border-hover, rgba(52,58,64,0.18))")},onMouseLeave:e=>{d||(e.currentTarget.style.background="var(--paper-elevated, rgba(255,255,255,0.82))",e.currentTarget.style.borderColor="var(--border, rgba(52,58,64,0.12))")},children:[r.jsx("div",{style:{position:"absolute",left:0,top:0,bottom:0,width:"var(--rail-width-thin, 4px)",backgroundColor:j,borderRadius:"var(--radius-md, 8px) 0 0 var(--radius-md, 8px)"}}),r.jsxs("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:12},children:[r.jsxs("div",{style:{flex:1,minWidth:0},children:[t?r.jsx("div",{style:{fontSize:"var(--text-md, 13px)",fontWeight:550,color:"var(--text-strong, rgba(30,33,37,0.92))",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",lineHeight:"var(--leading-snug, 1.375)"},children:t}):null,n.length>0?r.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:6,marginTop:3,fontSize:"var(--text-sm, 11px)",color:"var(--text-muted, rgba(30,33,37,0.56))",lineHeight:"var(--leading-snug, 1.375)"},children:n.map((e,l)=>r.jsxs(w.Fragment,{children:[l>0?r.jsx("span",{style:{color:"var(--text-xfaint, rgba(30,33,37,0.28))"},children:"·"}):null,r.jsx("span",{children:e})]},l))}):null,a.length>0?r.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginTop:6},children:a.map((e,l)=>r.jsx("span",{style:{display:"inline-block",fontSize:"var(--text-xs, 10px)",fontWeight:500,padding:"1px 7px",borderRadius:999,background:"var(--paper, rgba(255,255,255,0.78))",border:"1px solid var(--border-subtle, rgba(52,58,64,0.08))",color:e.color||"var(--text-faint, rgba(30,33,37,0.36))",textTransform:"capitalize",letterSpacing:"0.01em",lineHeight:1.5},children:e.label},l))}):null]}),p&&p.length>0?r.jsx("div",{style:{display:"flex",gap:10,flexShrink:0,alignItems:"flex-start",paddingTop:2},children:p.map((e,l)=>r.jsxs("div",{style:{textAlign:"center",minWidth:28},children:[r.jsx("div",{style:{fontSize:"var(--text-lg, 14px)",fontWeight:600,color:"var(--text-strong, rgba(30,33,37,0.92))",fontFamily:"var(--font-mono, monospace)",lineHeight:1.2},children:e.value!=null?Math.round(e.value):"—"}),r.jsx("div",{style:{fontSize:"var(--text-xxs, 9px)",fontWeight:650,textTransform:"uppercase",letterSpacing:"var(--tracking-label, 0.16em)",color:"var(--text-xfaint, rgba(30,33,37,0.28))",marginTop:1},children:e.label})]},l))}):null]}),S]})}exports.ConversationTurn=m.ConversationTurn;exports.TranscriptCard=m.TranscriptCard;exports.Timeline=C.Timeline;exports.InteractionSummaryCard=k;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("../Timeline.cjs.js"),r=require("react/jsx-runtime"),w=require("react");require("lucide-react");const C={inbound:"var(--rail-discovery, #5E88B0)",outbound:"var(--rail-purple, #9B7AA8)",internal:"var(--rail-outcome, #6B7C93)",chat:"var(--rail-teal, #7BA89D)"},D=t=>{if(t==null||t<=0)return null;const i=Math.floor(t/3600),o=Math.floor(t%3600/60),s=Math.round(t%60);return i>0?`${i}:${String(o).padStart(2,"0")}:${String(s).padStart(2,"0")}`:`${o}:${String(s).padStart(2,"0")}`},R=t=>{if(!t)return null;try{return new Date(t).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}catch{return null}};function W({title:t,agentName:i,customerName:o,date:s,duration:y,direction:u,driver:v,sentiment:c,disposition:h,scores:p,tags:f,railColor:S,isActive:d=!1,onClick:g,children:T}){const j=S||C[u]||"var(--rail-outcome, #6B7C93)",b=D(y),m=R(s),l=[];i&&l.push(i),o&&l.push(o),m&&l.push(m),b&&l.push(b);const a=[];return u&&a.push({label:u}),v&&a.push({label:v}),c&&a.push({label:c}),h&&a.push({label:h}),f&&a.push(...f),r.jsxs("div",{onClick:g,style:{position:"relative",padding:"10px 14px 10px 18px",borderRadius:"var(--radius-md, 8px)",overflow:"hidden",background:d?"var(--hover-warm-subtle, rgba(231,212,162,0.08))":"var(--paper-elevated, rgba(255,255,255,0.82))",border:`1px solid ${d?"var(--border-hover, rgba(52,58,64,0.18))":"var(--border, rgba(52,58,64,0.12))"}`,cursor:g?"pointer":"default",transition:"background 0.15s, border-color 0.15s"},onMouseEnter:e=>{!d&&g&&(e.currentTarget.style.background="var(--hover-warm-subtle, rgba(231,212,162,0.08))",e.currentTarget.style.borderColor="var(--border-hover, rgba(52,58,64,0.18))")},onMouseLeave:e=>{d||(e.currentTarget.style.background="var(--paper-elevated, rgba(255,255,255,0.82))",e.currentTarget.style.borderColor="var(--border, rgba(52,58,64,0.12))")},children:[r.jsx("div",{style:{position:"absolute",left:0,top:0,bottom:0,width:"var(--rail-width-thin, 4px)",backgroundColor:j,borderRadius:"var(--radius-md, 8px) 0 0 var(--radius-md, 8px)"}}),r.jsxs("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:12},children:[r.jsxs("div",{style:{flex:1,minWidth:0},children:[t?r.jsx("div",{style:{fontSize:"var(--text-md, 13px)",fontWeight:550,color:"var(--text-strong, rgba(30,33,37,0.92))",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",lineHeight:"var(--leading-snug, 1.375)"},children:t}):null,l.length>0?r.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:6,marginTop:3,fontSize:"var(--text-sm, 11px)",color:"var(--text-muted, rgba(30,33,37,0.56))",lineHeight:"var(--leading-snug, 1.375)"},children:l.map((e,n)=>r.jsxs(w.Fragment,{children:[n>0?r.jsx("span",{style:{color:"var(--text-xfaint, rgba(30,33,37,0.28))"},children:"·"}):null,r.jsx("span",{children:e})]},n))}):null,a.length>0?r.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginTop:6},children:a.map((e,n)=>r.jsx("span",{style:{display:"inline-block",fontSize:"var(--text-xs, 10px)",fontWeight:500,padding:"1px 7px",borderRadius:999,background:"var(--paper, rgba(255,255,255,0.78))",border:"1px solid var(--border-subtle, rgba(52,58,64,0.08))",color:e.color||"var(--text-faint, rgba(30,33,37,0.36))",textTransform:"capitalize",letterSpacing:"0.01em",lineHeight:1.5},children:e.label},n))}):null]}),p&&p.length>0?r.jsx("div",{style:{display:"flex",gap:10,flexShrink:0,alignItems:"flex-start",paddingTop:2},children:p.map((e,n)=>r.jsxs("div",{style:{textAlign:"center",minWidth:28},children:[r.jsx("div",{style:{fontSize:"var(--text-lg, 14px)",fontWeight:600,color:"var(--text-strong, rgba(30,33,37,0.92))",fontFamily:"var(--font-mono, monospace)",lineHeight:1.2},children:e.value!=null?Math.round(e.value):"—"}),r.jsx("div",{style:{fontSize:"var(--text-xxs, 9px)",fontWeight:650,textTransform:"uppercase",letterSpacing:"var(--tracking-label, 0.16em)",color:"var(--text-xfaint, rgba(30,33,37,0.28))",marginTop:1},children:e.label})]},n))}):null]}),T]})}exports.ConversationTurn=x.ConversationTurn;exports.Timeline=x.Timeline;exports.TranscriptCard=x.TranscriptCard;exports.InteractionSummaryCard=W;
2
2
  //# sourceMappingURL=media.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"media.cjs.js","sources":["../../src/components/media/InteractionSummaryCard.jsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\n\n/**\n * Direction rail color mapping.\n * Uses rail colors for categorization, not judgment.\n */\nconst DIRECTION_COLORS = {\n inbound: \"var(--rail-discovery, #5E88B0)\",\n outbound: \"var(--rail-purple, #9B7AA8)\",\n internal: \"var(--rail-outcome, #6B7C93)\",\n chat: \"var(--rail-teal, #7BA89D)\",\n};\n\n/**\n * Format seconds to mm:ss or h:mm:ss\n */\nconst formatDuration = (seconds) => {\n if (seconds == null || seconds <= 0) return null;\n const h = Math.floor(seconds / 3600);\n const m = Math.floor((seconds % 3600) / 60);\n const s = Math.round(seconds % 60);\n if (h > 0) return `${h}:${String(m).padStart(2, \"0\")}:${String(s).padStart(2, \"0\")}`;\n return `${m}:${String(s).padStart(2, \"0\")}`;\n};\n\n/**\n * Format a date string to a compact, readable form.\n */\nconst formatDate = (dateStr) => {\n if (!dateStr) return null;\n try {\n return new Date(dateStr).toLocaleDateString(\"en-US\", {\n month: \"short\",\n day: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n });\n } catch {\n return null;\n }\n};\n\n/**\n * InteractionCard Component\n * Displays a summary card for a completed interaction (call/chat).\n * Designed for use in history lists, search results, and monitoring views.\n *\n * Uses the Chordia design language: left rail, muted metadata,\n * non-judgmental score display, subtle hover states.\n *\n * @param {Object} props\n * @param {string} [props.title] - Primary label (e.g., call purpose, one-liner)\n * @param {string} [props.agentName] - Agent who handled the interaction\n * @param {string} [props.customerName] - Customer name (omit if unknown)\n * @param {string} [props.date] - ISO date string for when the interaction occurred\n * @param {number} [props.duration] - Duration in seconds\n * @param {string} [props.direction] - \"inbound\" | \"outbound\" | \"internal\" | \"chat\"\n * @param {string} [props.driver] - Call driver / reason\n * @param {string} [props.sentiment] - Customer sentiment label\n * @param {string} [props.disposition] - Call disposition / outcome label\n * @param {Array} [props.scores] - [{label, value}] score metrics to display\n * @param {Array} [props.tags] - [{label, color?}] additional tag pills\n * @param {string} [props.railColor] - Override the left rail color\n * @param {boolean} [props.isActive] - Whether this card is currently selected/active\n * @param {Function} [props.onClick] - Click handler\n * @param {React.ReactNode} [props.children] - Additional content below the card body\n */\nexport default function InteractionCard({\n title,\n agentName,\n customerName,\n date,\n duration,\n direction,\n driver,\n sentiment,\n disposition,\n scores,\n tags,\n railColor,\n isActive = false,\n onClick,\n children,\n}) {\n const resolvedRailColor =\n railColor || DIRECTION_COLORS[direction] || \"var(--rail-outcome, #6B7C93)\";\n const formattedDuration = formatDuration(duration);\n const formattedDate = formatDate(date);\n\n // Collect metadata items\n const metaItems = [];\n if (agentName) metaItems.push(agentName);\n if (customerName) metaItems.push(customerName);\n if (formattedDate) metaItems.push(formattedDate);\n if (formattedDuration) metaItems.push(formattedDuration);\n\n // Collect tag items from explicit tags + contextual fields\n const allTags = [];\n if (direction) allTags.push({ label: direction });\n if (driver) allTags.push({ label: driver });\n if (sentiment) allTags.push({ label: sentiment });\n if (disposition) allTags.push({ label: disposition });\n if (tags) allTags.push(...tags);\n\n return (\n <div\n onClick={onClick}\n style={{\n position: \"relative\",\n padding: \"10px 14px 10px 18px\",\n borderRadius: \"var(--radius-md, 8px)\",\n overflow: \"hidden\",\n background: isActive\n ? \"var(--hover-warm-subtle, rgba(231,212,162,0.08))\"\n : \"var(--paper-elevated, rgba(255,255,255,0.82))\",\n border: `1px solid ${\n isActive\n ? \"var(--border-hover, rgba(52,58,64,0.18))\"\n : \"var(--border, rgba(52,58,64,0.12))\"\n }`,\n cursor: onClick ? \"pointer\" : \"default\",\n transition: \"background 0.15s, border-color 0.15s\",\n }}\n onMouseEnter={(e) => {\n if (!isActive && onClick) {\n e.currentTarget.style.background =\n \"var(--hover-warm-subtle, rgba(231,212,162,0.08))\";\n e.currentTarget.style.borderColor =\n \"var(--border-hover, rgba(52,58,64,0.18))\";\n }\n }}\n onMouseLeave={(e) => {\n if (!isActive) {\n e.currentTarget.style.background =\n \"var(--paper-elevated, rgba(255,255,255,0.82))\";\n e.currentTarget.style.borderColor =\n \"var(--border, rgba(52,58,64,0.12))\";\n }\n }}\n >\n {/* Left rail */}\n <div\n style={{\n position: \"absolute\",\n left: 0,\n top: 0,\n bottom: 0,\n width: \"var(--rail-width-thin, 4px)\",\n backgroundColor: resolvedRailColor,\n borderRadius: \"var(--radius-md, 8px) 0 0 var(--radius-md, 8px)\",\n }}\n />\n\n {/* Main content row */}\n <div\n style={{\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyContent: \"space-between\",\n gap: 12,\n }}\n >\n {/* Left: title + metadata */}\n <div style={{ flex: 1, minWidth: 0 }}>\n {/* Title */}\n {title ? (\n <div\n style={{\n fontSize: \"var(--text-md, 13px)\",\n fontWeight: 550,\n color: \"var(--text-strong, rgba(30,33,37,0.92))\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n lineHeight: \"var(--leading-snug, 1.375)\",\n }}\n >\n {title}\n </div>\n ) : null}\n\n {/* Metadata row */}\n {metaItems.length > 0 ? (\n <div\n style={{\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: 6,\n marginTop: 3,\n fontSize: \"var(--text-sm, 11px)\",\n color: \"var(--text-muted, rgba(30,33,37,0.56))\",\n lineHeight: \"var(--leading-snug, 1.375)\",\n }}\n >\n {metaItems.map((item, i) => (\n <React.Fragment key={i}>\n {i > 0 ? (\n <span\n style={{\n color: \"var(--text-xfaint, rgba(30,33,37,0.28))\",\n }}\n >\n ·\n </span>\n ) : null}\n <span>{item}</span>\n </React.Fragment>\n ))}\n </div>\n ) : null}\n\n {/* Tags row */}\n {allTags.length > 0 ? (\n <div\n style={{\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: 4,\n marginTop: 6,\n }}\n >\n {allTags.map((tag, i) => (\n <span\n key={i}\n style={{\n display: \"inline-block\",\n fontSize: \"var(--text-xs, 10px)\",\n fontWeight: 500,\n padding: \"1px 7px\",\n borderRadius: 999,\n background: \"var(--paper, rgba(255,255,255,0.78))\",\n border: \"1px solid var(--border-subtle, rgba(52,58,64,0.08))\",\n color: tag.color || \"var(--text-faint, rgba(30,33,37,0.36))\",\n textTransform: \"capitalize\",\n letterSpacing: \"0.01em\",\n lineHeight: 1.5,\n }}\n >\n {tag.label}\n </span>\n ))}\n </div>\n ) : null}\n </div>\n\n {/* Right: score pills */}\n {scores && scores.length > 0 ? (\n <div\n style={{\n display: \"flex\",\n gap: 10,\n flexShrink: 0,\n alignItems: \"flex-start\",\n paddingTop: 2,\n }}\n >\n {scores.map((score, i) => (\n <div key={i} style={{ textAlign: \"center\", minWidth: 28 }}>\n <div\n style={{\n fontSize: \"var(--text-lg, 14px)\",\n fontWeight: 600,\n color: \"var(--text-strong, rgba(30,33,37,0.92))\",\n fontFamily: \"var(--font-mono, monospace)\",\n lineHeight: 1.2,\n }}\n >\n {score.value != null ? Math.round(score.value) : \"—\"}\n </div>\n <div\n style={{\n fontSize: \"var(--text-xxs, 9px)\",\n fontWeight: 650,\n textTransform: \"uppercase\",\n letterSpacing: \"var(--tracking-label, 0.16em)\",\n color: \"var(--text-xfaint, rgba(30,33,37,0.28))\",\n marginTop: 1,\n }}\n >\n {score.label}\n </div>\n </div>\n ))}\n </div>\n ) : null}\n </div>\n\n {/* Optional children slot */}\n {children}\n </div>\n );\n}\n"],"names":["DIRECTION_COLORS","formatDuration","seconds","h","m","formatDate","dateStr","InteractionCard","title","agentName","customerName","date","duration","direction","driver","sentiment","disposition","scores","tags","railColor","isActive","onClick","children","resolvedRailColor","formattedDuration","formattedDate","metaItems","allTags","jsxs","jsx","item","i","React","tag","score"],"mappings":"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"}
1
+ {"version":3,"file":"media.cjs.js","sources":["../../src/components/media/InteractionSummaryCard.jsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\n\n/**\n * Direction rail color mapping.\n * Uses rail colors for categorization, not judgment.\n */\nconst DIRECTION_COLORS = {\n inbound: \"var(--rail-discovery, #5E88B0)\",\n outbound: \"var(--rail-purple, #9B7AA8)\",\n internal: \"var(--rail-outcome, #6B7C93)\",\n chat: \"var(--rail-teal, #7BA89D)\",\n};\n\n/**\n * Format seconds to mm:ss or h:mm:ss\n */\nconst formatDuration = (seconds) => {\n if (seconds == null || seconds <= 0) return null;\n const h = Math.floor(seconds / 3600);\n const m = Math.floor((seconds % 3600) / 60);\n const s = Math.round(seconds % 60);\n if (h > 0) return `${h}:${String(m).padStart(2, \"0\")}:${String(s).padStart(2, \"0\")}`;\n return `${m}:${String(s).padStart(2, \"0\")}`;\n};\n\n/**\n * Format a date string to a compact, readable form.\n */\nconst formatDate = (dateStr) => {\n if (!dateStr) return null;\n try {\n return new Date(dateStr).toLocaleDateString(\"en-US\", {\n month: \"short\",\n day: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n });\n } catch {\n return null;\n }\n};\n\n/**\n * InteractionCard Component\n * Displays a summary card for a completed interaction (call/chat).\n * Designed for use in history lists, search results, and monitoring views.\n *\n * Uses the Chordia design language: left rail, muted metadata,\n * non-judgmental score display, subtle hover states.\n *\n * @param {Object} props\n * @param {string} [props.title] - Primary label (e.g., call purpose, one-liner)\n * @param {string} [props.agentName] - Agent who handled the interaction\n * @param {string} [props.customerName] - Customer name (omit if unknown)\n * @param {string} [props.date] - ISO date string for when the interaction occurred\n * @param {number} [props.duration] - Duration in seconds\n * @param {string} [props.direction] - \"inbound\" | \"outbound\" | \"internal\" | \"chat\"\n * @param {string} [props.driver] - Call driver / reason\n * @param {string} [props.sentiment] - Customer sentiment label\n * @param {string} [props.disposition] - Call disposition / outcome label\n * @param {Array} [props.scores] - [{label, value}] score metrics to display\n * @param {Array} [props.tags] - [{label, color?}] additional tag pills\n * @param {string} [props.railColor] - Override the left rail color\n * @param {boolean} [props.isActive] - Whether this card is currently selected/active\n * @param {Function} [props.onClick] - Click handler\n * @param {React.ReactNode} [props.children] - Additional content below the card body\n */\nexport default function InteractionCard({\n title,\n agentName,\n customerName,\n date,\n duration,\n direction,\n driver,\n sentiment,\n disposition,\n scores,\n tags,\n railColor,\n isActive = false,\n onClick,\n children,\n}) {\n const resolvedRailColor =\n railColor || DIRECTION_COLORS[direction] || \"var(--rail-outcome, #6B7C93)\";\n const formattedDuration = formatDuration(duration);\n const formattedDate = formatDate(date);\n\n // Collect metadata items\n const metaItems = [];\n if (agentName) metaItems.push(agentName);\n if (customerName) metaItems.push(customerName);\n if (formattedDate) metaItems.push(formattedDate);\n if (formattedDuration) metaItems.push(formattedDuration);\n\n // Collect tag items from explicit tags + contextual fields\n const allTags = [];\n if (direction) allTags.push({ label: direction });\n if (driver) allTags.push({ label: driver });\n if (sentiment) allTags.push({ label: sentiment });\n if (disposition) allTags.push({ label: disposition });\n if (tags) allTags.push(...tags);\n\n return (\n <div\n onClick={onClick}\n style={{\n position: \"relative\",\n padding: \"10px 14px 10px 18px\",\n borderRadius: \"var(--radius-md, 8px)\",\n overflow: \"hidden\",\n background: isActive\n ? \"var(--hover-warm-subtle, rgba(231,212,162,0.08))\"\n : \"var(--paper-elevated, rgba(255,255,255,0.82))\",\n border: `1px solid ${\n isActive\n ? \"var(--border-hover, rgba(52,58,64,0.18))\"\n : \"var(--border, rgba(52,58,64,0.12))\"\n }`,\n cursor: onClick ? \"pointer\" : \"default\",\n transition: \"background 0.15s, border-color 0.15s\",\n }}\n onMouseEnter={(e) => {\n if (!isActive && onClick) {\n e.currentTarget.style.background =\n \"var(--hover-warm-subtle, rgba(231,212,162,0.08))\";\n e.currentTarget.style.borderColor =\n \"var(--border-hover, rgba(52,58,64,0.18))\";\n }\n }}\n onMouseLeave={(e) => {\n if (!isActive) {\n e.currentTarget.style.background =\n \"var(--paper-elevated, rgba(255,255,255,0.82))\";\n e.currentTarget.style.borderColor =\n \"var(--border, rgba(52,58,64,0.12))\";\n }\n }}\n >\n {/* Left rail */}\n <div\n style={{\n position: \"absolute\",\n left: 0,\n top: 0,\n bottom: 0,\n width: \"var(--rail-width-thin, 4px)\",\n backgroundColor: resolvedRailColor,\n borderRadius: \"var(--radius-md, 8px) 0 0 var(--radius-md, 8px)\",\n }}\n />\n\n {/* Main content row */}\n <div\n style={{\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyContent: \"space-between\",\n gap: 12,\n }}\n >\n {/* Left: title + metadata */}\n <div style={{ flex: 1, minWidth: 0 }}>\n {/* Title */}\n {title ? (\n <div\n style={{\n fontSize: \"var(--text-md, 13px)\",\n fontWeight: 550,\n color: \"var(--text-strong, rgba(30,33,37,0.92))\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n lineHeight: \"var(--leading-snug, 1.375)\",\n }}\n >\n {title}\n </div>\n ) : null}\n\n {/* Metadata row */}\n {metaItems.length > 0 ? (\n <div\n style={{\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: 6,\n marginTop: 3,\n fontSize: \"var(--text-sm, 11px)\",\n color: \"var(--text-muted, rgba(30,33,37,0.56))\",\n lineHeight: \"var(--leading-snug, 1.375)\",\n }}\n >\n {metaItems.map((item, i) => (\n <React.Fragment key={i}>\n {i > 0 ? (\n <span\n style={{\n color: \"var(--text-xfaint, rgba(30,33,37,0.28))\",\n }}\n >\n ·\n </span>\n ) : null}\n <span>{item}</span>\n </React.Fragment>\n ))}\n </div>\n ) : null}\n\n {/* Tags row */}\n {allTags.length > 0 ? (\n <div\n style={{\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: 4,\n marginTop: 6,\n }}\n >\n {allTags.map((tag, i) => (\n <span\n key={i}\n style={{\n display: \"inline-block\",\n fontSize: \"var(--text-xs, 10px)\",\n fontWeight: 500,\n padding: \"1px 7px\",\n borderRadius: 999,\n background: \"var(--paper, rgba(255,255,255,0.78))\",\n border: \"1px solid var(--border-subtle, rgba(52,58,64,0.08))\",\n color: tag.color || \"var(--text-faint, rgba(30,33,37,0.36))\",\n textTransform: \"capitalize\",\n letterSpacing: \"0.01em\",\n lineHeight: 1.5,\n }}\n >\n {tag.label}\n </span>\n ))}\n </div>\n ) : null}\n </div>\n\n {/* Right: score pills */}\n {scores && scores.length > 0 ? (\n <div\n style={{\n display: \"flex\",\n gap: 10,\n flexShrink: 0,\n alignItems: \"flex-start\",\n paddingTop: 2,\n }}\n >\n {scores.map((score, i) => (\n <div key={i} style={{ textAlign: \"center\", minWidth: 28 }}>\n <div\n style={{\n fontSize: \"var(--text-lg, 14px)\",\n fontWeight: 600,\n color: \"var(--text-strong, rgba(30,33,37,0.92))\",\n fontFamily: \"var(--font-mono, monospace)\",\n lineHeight: 1.2,\n }}\n >\n {score.value != null ? Math.round(score.value) : \"—\"}\n </div>\n <div\n style={{\n fontSize: \"var(--text-xxs, 9px)\",\n fontWeight: 650,\n textTransform: \"uppercase\",\n letterSpacing: \"var(--tracking-label, 0.16em)\",\n color: \"var(--text-xfaint, rgba(30,33,37,0.28))\",\n marginTop: 1,\n }}\n >\n {score.label}\n </div>\n </div>\n ))}\n </div>\n ) : null}\n </div>\n\n {/* Optional children slot */}\n {children}\n </div>\n );\n}\n"],"names":["DIRECTION_COLORS","formatDuration","seconds","h","m","formatDate","dateStr","InteractionCard","title","agentName","customerName","date","duration","direction","driver","sentiment","disposition","scores","tags","railColor","isActive","onClick","children","resolvedRailColor","formattedDuration","formattedDate","metaItems","allTags","jsxs","jsx","item","i","React","tag","score"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { C as H, T as O } from "../TranscriptCard.es.js";
2
- import { T as E } from "../Timeline.es.js";
1
+ import { C as H, a as O, T as j } from "../Timeline.es.js";
3
2
  import { jsxs as d, jsx as a } from "react/jsx-runtime";
4
3
  import C from "react";
5
4
  import "lucide-react";
@@ -36,18 +35,18 @@ function M({
36
35
  direction: u,
37
36
  driver: h,
38
37
  sentiment: v,
39
- disposition: x,
38
+ disposition: b,
40
39
  scores: g,
41
- tags: b,
40
+ tags: c,
42
41
  railColor: S,
43
42
  isActive: s = !1,
44
43
  onClick: f,
45
44
  children: T
46
45
  }) {
47
- const w = S || D[u] || "var(--rail-outcome, #6B7C93)", c = W(y), m = k(p), l = [];
48
- o && l.push(o), i && l.push(i), m && l.push(m), c && l.push(c);
46
+ const w = S || D[u] || "var(--rail-outcome, #6B7C93)", x = W(y), m = k(p), l = [];
47
+ o && l.push(o), i && l.push(i), m && l.push(m), x && l.push(x);
49
48
  const e = [];
50
- return u && e.push({ label: u }), h && e.push({ label: h }), v && e.push({ label: v }), x && e.push({ label: x }), b && e.push(...b), /* @__PURE__ */ d(
49
+ return u && e.push({ label: u }), h && e.push({ label: h }), v && e.push({ label: v }), b && e.push({ label: b }), c && e.push(...c), /* @__PURE__ */ d(
51
50
  "div",
52
51
  {
53
52
  onClick: f,
@@ -218,7 +217,7 @@ function M({
218
217
  export {
219
218
  H as ConversationTurn,
220
219
  M as InteractionSummaryCard,
221
- E as Timeline,
222
- O as TranscriptCard
220
+ O as Timeline,
221
+ j as TranscriptCard
223
222
  };
224
223
  //# sourceMappingURL=media.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"media.es.js","sources":["../../src/components/media/InteractionSummaryCard.jsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\n\n/**\n * Direction rail color mapping.\n * Uses rail colors for categorization, not judgment.\n */\nconst DIRECTION_COLORS = {\n inbound: \"var(--rail-discovery, #5E88B0)\",\n outbound: \"var(--rail-purple, #9B7AA8)\",\n internal: \"var(--rail-outcome, #6B7C93)\",\n chat: \"var(--rail-teal, #7BA89D)\",\n};\n\n/**\n * Format seconds to mm:ss or h:mm:ss\n */\nconst formatDuration = (seconds) => {\n if (seconds == null || seconds <= 0) return null;\n const h = Math.floor(seconds / 3600);\n const m = Math.floor((seconds % 3600) / 60);\n const s = Math.round(seconds % 60);\n if (h > 0) return `${h}:${String(m).padStart(2, \"0\")}:${String(s).padStart(2, \"0\")}`;\n return `${m}:${String(s).padStart(2, \"0\")}`;\n};\n\n/**\n * Format a date string to a compact, readable form.\n */\nconst formatDate = (dateStr) => {\n if (!dateStr) return null;\n try {\n return new Date(dateStr).toLocaleDateString(\"en-US\", {\n month: \"short\",\n day: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n });\n } catch {\n return null;\n }\n};\n\n/**\n * InteractionCard Component\n * Displays a summary card for a completed interaction (call/chat).\n * Designed for use in history lists, search results, and monitoring views.\n *\n * Uses the Chordia design language: left rail, muted metadata,\n * non-judgmental score display, subtle hover states.\n *\n * @param {Object} props\n * @param {string} [props.title] - Primary label (e.g., call purpose, one-liner)\n * @param {string} [props.agentName] - Agent who handled the interaction\n * @param {string} [props.customerName] - Customer name (omit if unknown)\n * @param {string} [props.date] - ISO date string for when the interaction occurred\n * @param {number} [props.duration] - Duration in seconds\n * @param {string} [props.direction] - \"inbound\" | \"outbound\" | \"internal\" | \"chat\"\n * @param {string} [props.driver] - Call driver / reason\n * @param {string} [props.sentiment] - Customer sentiment label\n * @param {string} [props.disposition] - Call disposition / outcome label\n * @param {Array} [props.scores] - [{label, value}] score metrics to display\n * @param {Array} [props.tags] - [{label, color?}] additional tag pills\n * @param {string} [props.railColor] - Override the left rail color\n * @param {boolean} [props.isActive] - Whether this card is currently selected/active\n * @param {Function} [props.onClick] - Click handler\n * @param {React.ReactNode} [props.children] - Additional content below the card body\n */\nexport default function InteractionCard({\n title,\n agentName,\n customerName,\n date,\n duration,\n direction,\n driver,\n sentiment,\n disposition,\n scores,\n tags,\n railColor,\n isActive = false,\n onClick,\n children,\n}) {\n const resolvedRailColor =\n railColor || DIRECTION_COLORS[direction] || \"var(--rail-outcome, #6B7C93)\";\n const formattedDuration = formatDuration(duration);\n const formattedDate = formatDate(date);\n\n // Collect metadata items\n const metaItems = [];\n if (agentName) metaItems.push(agentName);\n if (customerName) metaItems.push(customerName);\n if (formattedDate) metaItems.push(formattedDate);\n if (formattedDuration) metaItems.push(formattedDuration);\n\n // Collect tag items from explicit tags + contextual fields\n const allTags = [];\n if (direction) allTags.push({ label: direction });\n if (driver) allTags.push({ label: driver });\n if (sentiment) allTags.push({ label: sentiment });\n if (disposition) allTags.push({ label: disposition });\n if (tags) allTags.push(...tags);\n\n return (\n <div\n onClick={onClick}\n style={{\n position: \"relative\",\n padding: \"10px 14px 10px 18px\",\n borderRadius: \"var(--radius-md, 8px)\",\n overflow: \"hidden\",\n background: isActive\n ? \"var(--hover-warm-subtle, rgba(231,212,162,0.08))\"\n : \"var(--paper-elevated, rgba(255,255,255,0.82))\",\n border: `1px solid ${\n isActive\n ? \"var(--border-hover, rgba(52,58,64,0.18))\"\n : \"var(--border, rgba(52,58,64,0.12))\"\n }`,\n cursor: onClick ? \"pointer\" : \"default\",\n transition: \"background 0.15s, border-color 0.15s\",\n }}\n onMouseEnter={(e) => {\n if (!isActive && onClick) {\n e.currentTarget.style.background =\n \"var(--hover-warm-subtle, rgba(231,212,162,0.08))\";\n e.currentTarget.style.borderColor =\n \"var(--border-hover, rgba(52,58,64,0.18))\";\n }\n }}\n onMouseLeave={(e) => {\n if (!isActive) {\n e.currentTarget.style.background =\n \"var(--paper-elevated, rgba(255,255,255,0.82))\";\n e.currentTarget.style.borderColor =\n \"var(--border, rgba(52,58,64,0.12))\";\n }\n }}\n >\n {/* Left rail */}\n <div\n style={{\n position: \"absolute\",\n left: 0,\n top: 0,\n bottom: 0,\n width: \"var(--rail-width-thin, 4px)\",\n backgroundColor: resolvedRailColor,\n borderRadius: \"var(--radius-md, 8px) 0 0 var(--radius-md, 8px)\",\n }}\n />\n\n {/* Main content row */}\n <div\n style={{\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyContent: \"space-between\",\n gap: 12,\n }}\n >\n {/* Left: title + metadata */}\n <div style={{ flex: 1, minWidth: 0 }}>\n {/* Title */}\n {title ? (\n <div\n style={{\n fontSize: \"var(--text-md, 13px)\",\n fontWeight: 550,\n color: \"var(--text-strong, rgba(30,33,37,0.92))\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n lineHeight: \"var(--leading-snug, 1.375)\",\n }}\n >\n {title}\n </div>\n ) : null}\n\n {/* Metadata row */}\n {metaItems.length > 0 ? (\n <div\n style={{\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: 6,\n marginTop: 3,\n fontSize: \"var(--text-sm, 11px)\",\n color: \"var(--text-muted, rgba(30,33,37,0.56))\",\n lineHeight: \"var(--leading-snug, 1.375)\",\n }}\n >\n {metaItems.map((item, i) => (\n <React.Fragment key={i}>\n {i > 0 ? (\n <span\n style={{\n color: \"var(--text-xfaint, rgba(30,33,37,0.28))\",\n }}\n >\n ·\n </span>\n ) : null}\n <span>{item}</span>\n </React.Fragment>\n ))}\n </div>\n ) : null}\n\n {/* Tags row */}\n {allTags.length > 0 ? (\n <div\n style={{\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: 4,\n marginTop: 6,\n }}\n >\n {allTags.map((tag, i) => (\n <span\n key={i}\n style={{\n display: \"inline-block\",\n fontSize: \"var(--text-xs, 10px)\",\n fontWeight: 500,\n padding: \"1px 7px\",\n borderRadius: 999,\n background: \"var(--paper, rgba(255,255,255,0.78))\",\n border: \"1px solid var(--border-subtle, rgba(52,58,64,0.08))\",\n color: tag.color || \"var(--text-faint, rgba(30,33,37,0.36))\",\n textTransform: \"capitalize\",\n letterSpacing: \"0.01em\",\n lineHeight: 1.5,\n }}\n >\n {tag.label}\n </span>\n ))}\n </div>\n ) : null}\n </div>\n\n {/* Right: score pills */}\n {scores && scores.length > 0 ? (\n <div\n style={{\n display: \"flex\",\n gap: 10,\n flexShrink: 0,\n alignItems: \"flex-start\",\n paddingTop: 2,\n }}\n >\n {scores.map((score, i) => (\n <div key={i} style={{ textAlign: \"center\", minWidth: 28 }}>\n <div\n style={{\n fontSize: \"var(--text-lg, 14px)\",\n fontWeight: 600,\n color: \"var(--text-strong, rgba(30,33,37,0.92))\",\n fontFamily: \"var(--font-mono, monospace)\",\n lineHeight: 1.2,\n }}\n >\n {score.value != null ? Math.round(score.value) : \"—\"}\n </div>\n <div\n style={{\n fontSize: \"var(--text-xxs, 9px)\",\n fontWeight: 650,\n textTransform: \"uppercase\",\n letterSpacing: \"var(--tracking-label, 0.16em)\",\n color: \"var(--text-xfaint, rgba(30,33,37,0.28))\",\n marginTop: 1,\n }}\n >\n {score.label}\n </div>\n </div>\n ))}\n </div>\n ) : null}\n </div>\n\n {/* Optional children slot */}\n {children}\n </div>\n );\n}\n"],"names":["DIRECTION_COLORS","formatDuration","seconds","h","m","s","formatDate","dateStr","InteractionCard","title","agentName","customerName","date","duration","direction","driver","sentiment","disposition","scores","tags","railColor","isActive","onClick","children","resolvedRailColor","formattedDuration","formattedDate","metaItems","allTags","jsxs","e","jsx","item","i","React","tag","score"],"mappings":"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"}
1
+ {"version":3,"file":"media.es.js","sources":["../../src/components/media/InteractionSummaryCard.jsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\n\n/**\n * Direction rail color mapping.\n * Uses rail colors for categorization, not judgment.\n */\nconst DIRECTION_COLORS = {\n inbound: \"var(--rail-discovery, #5E88B0)\",\n outbound: \"var(--rail-purple, #9B7AA8)\",\n internal: \"var(--rail-outcome, #6B7C93)\",\n chat: \"var(--rail-teal, #7BA89D)\",\n};\n\n/**\n * Format seconds to mm:ss or h:mm:ss\n */\nconst formatDuration = (seconds) => {\n if (seconds == null || seconds <= 0) return null;\n const h = Math.floor(seconds / 3600);\n const m = Math.floor((seconds % 3600) / 60);\n const s = Math.round(seconds % 60);\n if (h > 0) return `${h}:${String(m).padStart(2, \"0\")}:${String(s).padStart(2, \"0\")}`;\n return `${m}:${String(s).padStart(2, \"0\")}`;\n};\n\n/**\n * Format a date string to a compact, readable form.\n */\nconst formatDate = (dateStr) => {\n if (!dateStr) return null;\n try {\n return new Date(dateStr).toLocaleDateString(\"en-US\", {\n month: \"short\",\n day: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n });\n } catch {\n return null;\n }\n};\n\n/**\n * InteractionCard Component\n * Displays a summary card for a completed interaction (call/chat).\n * Designed for use in history lists, search results, and monitoring views.\n *\n * Uses the Chordia design language: left rail, muted metadata,\n * non-judgmental score display, subtle hover states.\n *\n * @param {Object} props\n * @param {string} [props.title] - Primary label (e.g., call purpose, one-liner)\n * @param {string} [props.agentName] - Agent who handled the interaction\n * @param {string} [props.customerName] - Customer name (omit if unknown)\n * @param {string} [props.date] - ISO date string for when the interaction occurred\n * @param {number} [props.duration] - Duration in seconds\n * @param {string} [props.direction] - \"inbound\" | \"outbound\" | \"internal\" | \"chat\"\n * @param {string} [props.driver] - Call driver / reason\n * @param {string} [props.sentiment] - Customer sentiment label\n * @param {string} [props.disposition] - Call disposition / outcome label\n * @param {Array} [props.scores] - [{label, value}] score metrics to display\n * @param {Array} [props.tags] - [{label, color?}] additional tag pills\n * @param {string} [props.railColor] - Override the left rail color\n * @param {boolean} [props.isActive] - Whether this card is currently selected/active\n * @param {Function} [props.onClick] - Click handler\n * @param {React.ReactNode} [props.children] - Additional content below the card body\n */\nexport default function InteractionCard({\n title,\n agentName,\n customerName,\n date,\n duration,\n direction,\n driver,\n sentiment,\n disposition,\n scores,\n tags,\n railColor,\n isActive = false,\n onClick,\n children,\n}) {\n const resolvedRailColor =\n railColor || DIRECTION_COLORS[direction] || \"var(--rail-outcome, #6B7C93)\";\n const formattedDuration = formatDuration(duration);\n const formattedDate = formatDate(date);\n\n // Collect metadata items\n const metaItems = [];\n if (agentName) metaItems.push(agentName);\n if (customerName) metaItems.push(customerName);\n if (formattedDate) metaItems.push(formattedDate);\n if (formattedDuration) metaItems.push(formattedDuration);\n\n // Collect tag items from explicit tags + contextual fields\n const allTags = [];\n if (direction) allTags.push({ label: direction });\n if (driver) allTags.push({ label: driver });\n if (sentiment) allTags.push({ label: sentiment });\n if (disposition) allTags.push({ label: disposition });\n if (tags) allTags.push(...tags);\n\n return (\n <div\n onClick={onClick}\n style={{\n position: \"relative\",\n padding: \"10px 14px 10px 18px\",\n borderRadius: \"var(--radius-md, 8px)\",\n overflow: \"hidden\",\n background: isActive\n ? \"var(--hover-warm-subtle, rgba(231,212,162,0.08))\"\n : \"var(--paper-elevated, rgba(255,255,255,0.82))\",\n border: `1px solid ${\n isActive\n ? \"var(--border-hover, rgba(52,58,64,0.18))\"\n : \"var(--border, rgba(52,58,64,0.12))\"\n }`,\n cursor: onClick ? \"pointer\" : \"default\",\n transition: \"background 0.15s, border-color 0.15s\",\n }}\n onMouseEnter={(e) => {\n if (!isActive && onClick) {\n e.currentTarget.style.background =\n \"var(--hover-warm-subtle, rgba(231,212,162,0.08))\";\n e.currentTarget.style.borderColor =\n \"var(--border-hover, rgba(52,58,64,0.18))\";\n }\n }}\n onMouseLeave={(e) => {\n if (!isActive) {\n e.currentTarget.style.background =\n \"var(--paper-elevated, rgba(255,255,255,0.82))\";\n e.currentTarget.style.borderColor =\n \"var(--border, rgba(52,58,64,0.12))\";\n }\n }}\n >\n {/* Left rail */}\n <div\n style={{\n position: \"absolute\",\n left: 0,\n top: 0,\n bottom: 0,\n width: \"var(--rail-width-thin, 4px)\",\n backgroundColor: resolvedRailColor,\n borderRadius: \"var(--radius-md, 8px) 0 0 var(--radius-md, 8px)\",\n }}\n />\n\n {/* Main content row */}\n <div\n style={{\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyContent: \"space-between\",\n gap: 12,\n }}\n >\n {/* Left: title + metadata */}\n <div style={{ flex: 1, minWidth: 0 }}>\n {/* Title */}\n {title ? (\n <div\n style={{\n fontSize: \"var(--text-md, 13px)\",\n fontWeight: 550,\n color: \"var(--text-strong, rgba(30,33,37,0.92))\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n lineHeight: \"var(--leading-snug, 1.375)\",\n }}\n >\n {title}\n </div>\n ) : null}\n\n {/* Metadata row */}\n {metaItems.length > 0 ? (\n <div\n style={{\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: 6,\n marginTop: 3,\n fontSize: \"var(--text-sm, 11px)\",\n color: \"var(--text-muted, rgba(30,33,37,0.56))\",\n lineHeight: \"var(--leading-snug, 1.375)\",\n }}\n >\n {metaItems.map((item, i) => (\n <React.Fragment key={i}>\n {i > 0 ? (\n <span\n style={{\n color: \"var(--text-xfaint, rgba(30,33,37,0.28))\",\n }}\n >\n ·\n </span>\n ) : null}\n <span>{item}</span>\n </React.Fragment>\n ))}\n </div>\n ) : null}\n\n {/* Tags row */}\n {allTags.length > 0 ? (\n <div\n style={{\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: 4,\n marginTop: 6,\n }}\n >\n {allTags.map((tag, i) => (\n <span\n key={i}\n style={{\n display: \"inline-block\",\n fontSize: \"var(--text-xs, 10px)\",\n fontWeight: 500,\n padding: \"1px 7px\",\n borderRadius: 999,\n background: \"var(--paper, rgba(255,255,255,0.78))\",\n border: \"1px solid var(--border-subtle, rgba(52,58,64,0.08))\",\n color: tag.color || \"var(--text-faint, rgba(30,33,37,0.36))\",\n textTransform: \"capitalize\",\n letterSpacing: \"0.01em\",\n lineHeight: 1.5,\n }}\n >\n {tag.label}\n </span>\n ))}\n </div>\n ) : null}\n </div>\n\n {/* Right: score pills */}\n {scores && scores.length > 0 ? (\n <div\n style={{\n display: \"flex\",\n gap: 10,\n flexShrink: 0,\n alignItems: \"flex-start\",\n paddingTop: 2,\n }}\n >\n {scores.map((score, i) => (\n <div key={i} style={{ textAlign: \"center\", minWidth: 28 }}>\n <div\n style={{\n fontSize: \"var(--text-lg, 14px)\",\n fontWeight: 600,\n color: \"var(--text-strong, rgba(30,33,37,0.92))\",\n fontFamily: \"var(--font-mono, monospace)\",\n lineHeight: 1.2,\n }}\n >\n {score.value != null ? Math.round(score.value) : \"—\"}\n </div>\n <div\n style={{\n fontSize: \"var(--text-xxs, 9px)\",\n fontWeight: 650,\n textTransform: \"uppercase\",\n letterSpacing: \"var(--tracking-label, 0.16em)\",\n color: \"var(--text-xfaint, rgba(30,33,37,0.28))\",\n marginTop: 1,\n }}\n >\n {score.label}\n </div>\n </div>\n ))}\n </div>\n ) : null}\n </div>\n\n {/* Optional children slot */}\n {children}\n </div>\n );\n}\n"],"names":["DIRECTION_COLORS","formatDuration","seconds","h","m","s","formatDate","dateStr","InteractionCard","title","agentName","customerName","date","duration","direction","driver","sentiment","disposition","scores","tags","railColor","isActive","onClick","children","resolvedRailColor","formattedDuration","formattedDate","metaItems","allTags","jsxs","e","jsx","item","i","React","tag","score"],"mappings":"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"}
package/dist/index.cjs.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./SmallButton.cjs.js"),c=require("./Tooltip.cjs.js"),e=require("./components/primitives.cjs.js"),u=require("./SectionLabel.cjs.js"),g=require("./TextInput.cjs.js"),l=require("./components/data.cjs.js");require("react/jsx-runtime");require("react");require("lucide-react");const t=require("./SummarySection.cjs.js"),a=require("./FileUploadingState.cjs.js"),T=require("./TourGuideTooltip.cjs.js"),p=require("./TranscriptCard.cjs.js"),I=require("./Timeline.cjs.js"),q=require("./components/media.cjs.js"),r=require("./components/chat.cjs.js"),n=require("./components/navigation.cjs.js"),d=require("./components/layout.cjs.js"),D=require("./IntegrationCard.cjs.js"),S=require("./components/notifications.cjs.js"),v=require("./components/models.cjs.js"),C=require("./UploadInteraction.cjs.js"),s=require("./components/onboarding.cjs.js"),m=require("./index.cjs2.js"),o=require("./components/UpdatedInteractionDetails.cjs.js"),U=require("./UpdatedInteractionRecording.cjs.js");require("react-dom");require("./sortable.esm.cjs.js");require("./CustomFilterChips.cjs.js");require("recharts");require("./colors.cjs.js");exports.Card=i.Card;exports.DetailCard=i.DetailCard;exports.DeviationIndicator=i.DeviationIndicator;exports.SmallButton=i.SmallButton;exports.Tag=i.Tag;exports.Tooltip=c.Tooltip;exports.TooltipContent=c.TooltipContent;exports.TooltipProvider=c.TooltipProvider;exports.TooltipTrigger=c.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=u.SectionLabel;exports.Tabs=u.Tabs;exports.TextInput=g.TextInput;exports.DataTable=l.DataTable;exports.DataTableFilters=l.DataTableFilters;exports.SummaryStatsPanel=l.SummaryStatsPanel;exports.ConditionCard=t.ConditionCard;exports.ModelScoreCard=t.ModelScoreCard;exports.ObservationCard=t.ObservationCard;exports.ScoreDriverCard=t.ScoreDriverCard;exports.ScoreDriverCardVariant=t.ScoreDriverCardVariant;exports.SignalCard=t.SignalCard;exports.SmallObservationCard=t.SmallObservationCard;exports.SummarySection=t.SummarySection;exports.AutoSearch=a.AutoSearch;exports.DrawerButton=a.DrawerButton;exports.DrawerInput=a.DrawerInput;exports.DrawerLabel=a.DrawerLabel;exports.FileUploadSuccessState=a.FileUploadSuccessState;exports.FileUploadingState=a.FileUploadingState;exports.SideDrawer=a.SideDrawer;exports.TourGuideTooltip=T.TourGuideTooltip;exports.ConversationTurn=p.ConversationTurn;exports.TranscriptCard=p.TranscriptCard;exports.Timeline=I.Timeline;exports.InteractionSummaryCard=q.InteractionSummaryCard;exports.ChartRenderer=r.ChartRenderer;exports.ChatHistoryPanel=r.ChatHistoryPanel;exports.ChatInterface=r.ChatInterface;exports.ChatMessage=r.ChatMessage;exports.MessageThread=r.MessageThread;exports.ThinkingIndicator=r.ThinkingIndicator;exports.NavDropdown=n.NavDropdown;exports.NavDropdownItem=n.NavDropdownItem;exports.NavPill=n.NavPill;exports.NavigationBar=n.NavigationBar;exports.Sidebar=n.Sidebar;exports.StatusIndicator=n.StatusIndicator;exports.DemoProjectBanner=d.DemoProjectBanner;exports.FirstCallScreen=d.FirstCallScreen;exports.LoginForm=d.LoginForm;exports.OnboardingChecklist=d.OnboardingChecklist;exports.SplitPane=d.SplitPane;exports.IntegrationCard=D.IntegrationCard;exports.NotificationItem=S.NotificationItem;exports.NotificationPanel=S.NotificationPanel;exports.OverlayPanel=v.OverlayPanel;exports.UploadEvaluate=C.UploadEvaluate;exports.UploadInteraction=C.UploadInteraction;exports.AddTeammates=s.AddTeammates;exports.ConnectData=s.ConnectData;exports.GettingStarted=s.GettingStarted;exports.LoginPage=m.LoginPage;exports.SignUpPage=m.SignUpPage;exports.UpdatedCoachingSynthesisCard=o.UpdatedCoachingSynthesisCard;exports.UpdatedCompassScore=o.UpdatedCompassScore;exports.UpdatedInteractionContext=o.UpdatedInteractionContext;exports.UpdatedInteractionDetails=o.UpdatedInteractionDetails;exports.UpdatedInteractionScores=o.UpdatedInteractionScores;exports.UpdatedInteractionSignals=o.UpdatedInteractionSignals;exports.UpdatedInteractionRecording=U.UpdatedInteractionRecording;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./SmallButton.cjs.js"),c=require("./Tooltip.cjs.js"),e=require("./components/primitives.cjs.js"),p=require("./SectionLabel.cjs.js"),g=require("./TextInput.cjs.js"),l=require("./components/data.cjs.js");require("react/jsx-runtime");require("react");require("lucide-react");const t=require("./SummarySection.cjs.js"),a=require("./FileUploadingState.cjs.js"),T=require("./TourGuideTooltip.cjs.js"),s=require("./Timeline.cjs.js"),I=require("./components/media.cjs.js"),r=require("./components/chat.cjs.js"),o=require("./components/navigation.cjs.js"),d=require("./components/layout.cjs.js"),D=require("./IntegrationCard.cjs.js"),S=require("./components/notifications.cjs.js"),q=require("./components/models.cjs.js"),C=require("./UploadInteraction.cjs.js"),u=require("./components/onboarding.cjs.js"),m=require("./index.cjs2.js"),n=require("./components/UpdatedInteractionDetails.cjs.js"),v=require("./UpdatedInteractionRecording.cjs.js");require("react-dom");require("./sortable.esm.cjs.js");require("./CustomFilterChips.cjs.js");require("recharts");require("./colors.cjs.js");exports.Card=i.Card;exports.DetailCard=i.DetailCard;exports.DeviationIndicator=i.DeviationIndicator;exports.SmallButton=i.SmallButton;exports.Tag=i.Tag;exports.Tooltip=c.Tooltip;exports.TooltipContent=c.TooltipContent;exports.TooltipProvider=c.TooltipProvider;exports.TooltipTrigger=c.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=p.SectionLabel;exports.Tabs=p.Tabs;exports.TextInput=g.TextInput;exports.DataTable=l.DataTable;exports.DataTableFilters=l.DataTableFilters;exports.SummaryStatsPanel=l.SummaryStatsPanel;exports.ConditionCard=t.ConditionCard;exports.ModelScoreCard=t.ModelScoreCard;exports.ObservationCard=t.ObservationCard;exports.ScoreDriverCard=t.ScoreDriverCard;exports.ScoreDriverCardVariant=t.ScoreDriverCardVariant;exports.SignalCard=t.SignalCard;exports.SmallObservationCard=t.SmallObservationCard;exports.SummarySection=t.SummarySection;exports.AutoSearch=a.AutoSearch;exports.DrawerButton=a.DrawerButton;exports.DrawerInput=a.DrawerInput;exports.DrawerLabel=a.DrawerLabel;exports.FileUploadSuccessState=a.FileUploadSuccessState;exports.FileUploadingState=a.FileUploadingState;exports.SideDrawer=a.SideDrawer;exports.TourGuideTooltip=T.TourGuideTooltip;exports.ConversationTurn=s.ConversationTurn;exports.Timeline=s.Timeline;exports.TranscriptCard=s.TranscriptCard;exports.InteractionSummaryCard=I.InteractionSummaryCard;exports.ChartRenderer=r.ChartRenderer;exports.ChatHistoryPanel=r.ChatHistoryPanel;exports.ChatInterface=r.ChatInterface;exports.ChatMessage=r.ChatMessage;exports.MessageThread=r.MessageThread;exports.ThinkingIndicator=r.ThinkingIndicator;exports.NavDropdown=o.NavDropdown;exports.NavDropdownItem=o.NavDropdownItem;exports.NavPill=o.NavPill;exports.NavigationBar=o.NavigationBar;exports.Sidebar=o.Sidebar;exports.StatusIndicator=o.StatusIndicator;exports.DemoProjectBanner=d.DemoProjectBanner;exports.FirstCallScreen=d.FirstCallScreen;exports.LoginForm=d.LoginForm;exports.OnboardingChecklist=d.OnboardingChecklist;exports.SplitPane=d.SplitPane;exports.IntegrationCard=D.IntegrationCard;exports.NotificationItem=S.NotificationItem;exports.NotificationPanel=S.NotificationPanel;exports.OverlayPanel=q.OverlayPanel;exports.UploadEvaluate=C.UploadEvaluate;exports.UploadInteraction=C.UploadInteraction;exports.AddTeammates=u.AddTeammates;exports.ConnectData=u.ConnectData;exports.GettingStarted=u.GettingStarted;exports.LoginPage=m.LoginPage;exports.SignUpPage=m.SignUpPage;exports.UpdatedCoachingSynthesisCard=n.UpdatedCoachingSynthesisCard;exports.UpdatedCompassScore=n.UpdatedCompassScore;exports.UpdatedInteractionContext=n.UpdatedInteractionContext;exports.UpdatedInteractionDetails=n.UpdatedInteractionDetails;exports.UpdatedInteractionScores=n.UpdatedInteractionScores;exports.UpdatedInteractionSignals=n.UpdatedInteractionSignals;exports.UpdatedInteractionRecording=v.UpdatedInteractionRecording;
2
2
  //# sourceMappingURL=index.cjs.js.map
package/dist/index.es.js CHANGED
@@ -10,42 +10,41 @@ import "lucide-react";
10
10
  import { C as j, M as E, O as H, b as V, c as q, S as z, a as J, d as K } from "./SummarySection.es.js";
11
11
  import { A as W, D as X, b as Y, a as Z, c as _, F as $, S as aa } from "./FileUploadingState.es.js";
12
12
  import { T as ta } from "./TourGuideTooltip.es.js";
13
- import { C as ea, T as ia } from "./TranscriptCard.es.js";
14
- import { T as sa } from "./Timeline.es.js";
15
- import { InteractionSummaryCard as da } from "./components/media.es.js";
16
- import { ChartRenderer as la, ChatHistoryPanel as ca, ChatInterface as Sa, ChatMessage as Ca, MessageThread as fa, ThinkingIndicator as xa } from "./components/chat.es.js";
17
- import { NavDropdown as ga, NavDropdownItem as Ia, NavPill as Da, NavigationBar as ua, Sidebar as ba, StatusIndicator as Ua } from "./components/navigation.es.js";
18
- import { DemoProjectBanner as ha, FirstCallScreen as Pa, LoginForm as Fa, OnboardingChecklist as wa, SplitPane as ya } from "./components/layout.es.js";
19
- import { I as Na } from "./IntegrationCard.es.js";
20
- import { NotificationItem as Ma, NotificationPanel as Oa } from "./components/notifications.es.js";
21
- import { OverlayPanel as ka } from "./components/models.es.js";
22
- import { U as Ra, a as ja } from "./UploadInteraction.es.js";
23
- import { AddTeammates as Ha, ConnectData as Va, GettingStarted as qa } from "./components/onboarding.es.js";
24
- import { L as Ja, S as Ka } from "./index.es2.js";
25
- import { UpdatedCoachingSynthesisCard as Wa, UpdatedCompassScore as Xa, UpdatedInteractionContext as Ya, UpdatedInteractionDetails as Za, UpdatedInteractionScores as _a, UpdatedInteractionSignals as $a } from "./components/UpdatedInteractionDetails.es.js";
26
- import { U as rr } from "./UpdatedInteractionRecording.es.js";
13
+ import { C as oa, a as ia, T as na } from "./Timeline.es.js";
14
+ import { InteractionSummaryCard as pa } from "./components/media.es.js";
15
+ import { ChartRenderer as ma, ChatHistoryPanel as la, ChatInterface as ca, ChatMessage as Sa, MessageThread as Ca, ThinkingIndicator as fa } from "./components/chat.es.js";
16
+ import { NavDropdown as Ta, NavDropdownItem as ga, NavPill as Ia, NavigationBar as Da, Sidebar as ua, StatusIndicator as ba } from "./components/navigation.es.js";
17
+ import { DemoProjectBanner as va, FirstCallScreen as ha, LoginForm as Pa, OnboardingChecklist as Fa, SplitPane as wa } from "./components/layout.es.js";
18
+ import { I as La } from "./IntegrationCard.es.js";
19
+ import { NotificationItem as Ba, NotificationPanel as Ma } from "./components/notifications.es.js";
20
+ import { OverlayPanel as Aa } from "./components/models.es.js";
21
+ import { U as Ga, a as Ra } from "./UploadInteraction.es.js";
22
+ import { AddTeammates as Ea, ConnectData as Ha, GettingStarted as Va } from "./components/onboarding.es.js";
23
+ import { L as za, S as Ja } from "./index.es2.js";
24
+ import { UpdatedCoachingSynthesisCard as Qa, UpdatedCompassScore as Wa, UpdatedInteractionContext as Xa, UpdatedInteractionDetails as Ya, UpdatedInteractionScores as Za, UpdatedInteractionSignals as _a } from "./components/UpdatedInteractionDetails.es.js";
25
+ import { U as ar } from "./UpdatedInteractionRecording.es.js";
27
26
  import "react-dom";
28
27
  import "./sortable.esm.es.js";
29
28
  import "./CustomFilterChips.es.js";
30
29
  import "recharts";
31
30
  import "./colors.es.js";
32
31
  export {
33
- Ha as AddTeammates,
32
+ Ea as AddTeammates,
34
33
  W as AutoSearch,
35
34
  u as Badge,
36
35
  m as Card,
37
- la as ChartRenderer,
38
- ca as ChatHistoryPanel,
39
- Sa as ChatInterface,
40
- Ca as ChatMessage,
36
+ ma as ChartRenderer,
37
+ la as ChatHistoryPanel,
38
+ ca as ChatInterface,
39
+ Sa as ChatMessage,
41
40
  b as Checkbox,
42
41
  U as ColorPalette,
43
42
  j as ConditionCard,
44
- Va as ConnectData,
45
- ea as ConversationTurn,
43
+ Ha as ConnectData,
44
+ oa as ConversationTurn,
46
45
  A as DataTable,
47
46
  k as DataTableFilters,
48
- ha as DemoProjectBanner,
47
+ va as DemoProjectBanner,
49
48
  l as DetailCard,
50
49
  c as DeviationIndicator,
51
50
  X as DrawerButton,
@@ -53,60 +52,60 @@ export {
53
52
  Z as DrawerLabel,
54
53
  _ as FileUploadSuccessState,
55
54
  $ as FileUploadingState,
56
- Pa as FirstCallScreen,
55
+ ha as FirstCallScreen,
57
56
  v as FormLabel,
58
- qa as GettingStarted,
57
+ Va as GettingStarted,
59
58
  h as InlineConfirm,
60
- Na as IntegrationCard,
61
- da as InteractionSummaryCard,
62
- Fa as LoginForm,
63
- Ja as LoginPage,
64
- fa as MessageThread,
59
+ La as IntegrationCard,
60
+ pa as InteractionSummaryCard,
61
+ Pa as LoginForm,
62
+ za as LoginPage,
63
+ Ca as MessageThread,
65
64
  E as ModelScoreCard,
66
65
  P as MultiSelect,
67
- ga as NavDropdown,
68
- Ia as NavDropdownItem,
69
- Da as NavPill,
70
- ua as NavigationBar,
71
- Ma as NotificationItem,
72
- Oa as NotificationPanel,
66
+ Ta as NavDropdown,
67
+ ga as NavDropdownItem,
68
+ Ia as NavPill,
69
+ Da as NavigationBar,
70
+ Ba as NotificationItem,
71
+ Ma as NotificationPanel,
73
72
  H as ObservationCard,
74
- wa as OnboardingChecklist,
75
- ka as OverlayPanel,
73
+ Fa as OnboardingChecklist,
74
+ Aa as OverlayPanel,
76
75
  V as ScoreDriverCard,
77
76
  q as ScoreDriverCardVariant,
78
77
  L as SectionLabel,
79
78
  F as Select,
80
79
  aa as SideDrawer,
81
- ba as Sidebar,
82
- Ka as SignUpPage,
80
+ ua as Sidebar,
81
+ Ja as SignUpPage,
83
82
  z as SignalCard,
84
83
  S as SmallButton,
85
84
  J as SmallObservationCard,
86
- ya as SplitPane,
87
- Ua as StatusIndicator,
85
+ wa as SplitPane,
86
+ ba as StatusIndicator,
88
87
  K as SummarySection,
89
88
  G as SummaryStatsPanel,
90
89
  N as Tabs,
91
90
  C as Tag,
92
91
  w as TextArea,
93
92
  M as TextInput,
94
- xa as ThinkingIndicator,
95
- sa as Timeline,
93
+ fa as ThinkingIndicator,
94
+ ia as Timeline,
96
95
  x as Tooltip,
97
96
  T as TooltipContent,
98
97
  g as TooltipProvider,
99
98
  I as TooltipTrigger,
100
99
  ta as TourGuideTooltip,
101
- ia as TranscriptCard,
102
- Wa as UpdatedCoachingSynthesisCard,
103
- Xa as UpdatedCompassScore,
104
- Ya as UpdatedInteractionContext,
105
- Za as UpdatedInteractionDetails,
106
- rr as UpdatedInteractionRecording,
107
- _a as UpdatedInteractionScores,
108
- $a as UpdatedInteractionSignals,
109
- Ra as UploadEvaluate,
110
- ja as UploadInteraction
100
+ na as TranscriptCard,
101
+ Qa as UpdatedCoachingSynthesisCard,
102
+ Wa as UpdatedCompassScore,
103
+ Xa as UpdatedInteractionContext,
104
+ Ya as UpdatedInteractionDetails,
105
+ ar as UpdatedInteractionRecording,
106
+ Za as UpdatedInteractionScores,
107
+ _a as UpdatedInteractionSignals,
108
+ Ga as UploadEvaluate,
109
+ Ra as UploadInteraction
111
110
  };
112
111
  //# sourceMappingURL=index.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}