1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9214],{4582:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>$});var r=a(37876),n=a(14232),l=a(32411),s=a(15750),i=a(99108),o=a(77328),d=a.n(o),c=a(44204),m=a(31188),u=a(13194),p=a(76423),b=a(11276),x=a(15665),h=a(74154),v=a(42298),f=a(15565),g=a(17796),y=a(29395),j=a(69801);async function N(e){if(!e.ok){let t="Request failed (".concat(e.status,")");try{let a=await e.json();(null==a?void 0:a.error)&&(t=String(a.error))}catch(e){}return{data:[],error:t}}let t=await e.json();return(null==t?void 0:t.success)?{data:Array.isArray(t.data)?t.data:[],error:null}:{data:[],error:String((null==t?void 0:t.error)||"Request failed")}}async function w(e){var t;if(!e.ok){let t="Request failed (".concat(e.status,")");try{let a=await e.json();(null==a?void 0:a.error)&&(t=String(a.error))}catch(e){}return{data:null,error:t}}let a=await e.json();return(null==a?void 0:a.success)?{data:null!=(t=a.data)?t:null,error:null}:{data:null,error:String((null==a?void 0:a.error)||"Request failed")}}async function E(e){try{let t=await (0,j.hJ)("/api/crm/content-assets",{appTenantId:null!=e?e:void 0});return N(t)}catch(e){return{data:[],error:"Network error"}}}async function C(e){try{let t=await (0,j.hJ)("/api/crm/content-assets?summary=1",{appTenantId:null!=e?e:void 0});return w(t)}catch(e){return{data:null,error:"Network error"}}}async function k(e,t){try{let a=await (0,j.hJ)("/api/crm/content-assets/upload",{method:"POST",appTenantId:null!=t?t:void 0,body:JSON.stringify(e)});return w(a)}catch(e){return{data:null,error:"Network error"}}}async function S(e,t,a){try{let r=await (0,j.hJ)("/api/crm/content-assets/".concat(encodeURIComponent(e)),{method:"PATCH",appTenantId:null!=a?a:void 0,body:JSON.stringify(t)});return w(r)}catch(e){return{data:null,error:"Network error"}}}async function T(e,t){try{let a=await (0,j.hJ)("/api/crm/content-assets/".concat(encodeURIComponent(e)),{method:"DELETE",appTenantId:null!=t?t:void 0}),r=await w(a);return{ok:!r.error,error:r.error}}catch(e){return{ok:!1,error:"Network error"}}}async function R(e){try{let t=await (0,j.hJ)("/api/crm/battle-cards",{appTenantId:null!=e?e:void 0});return N(t)}catch(e){return{data:[],error:"Network error"}}}async function A(e,t){try{let a=await (0,j.hJ)("/api/crm/battle-cards",{method:"POST",appTenantId:null!=t?t:void 0,body:JSON.stringify(e)});return w(a)}catch(e){return{data:null,error:"Network error"}}}async function I(e,t,a){try{let r=await (0,j.hJ)("/api/crm/battle-cards/".concat(encodeURIComponent(e)),{method:"PATCH",appTenantId:null!=a?a:void 0,body:JSON.stringify(t)});return w(r)}catch(e){return{data:null,error:"Network error"}}}async function U(e,t){try{let a=await (0,j.hJ)("/api/crm/battle-cards/".concat(encodeURIComponent(e)),{method:"DELETE",appTenantId:null!=t?t:void 0}),r=await w(a);return{ok:!r.error,error:r.error}}catch(e){return{ok:!1,error:"Network error"}}}async function L(e,t){try{let a=await (0,j.hJ)("/api/crm/content-assets/assignments",{method:"POST",appTenantId:null!=t?t:void 0,body:JSON.stringify(e)});return w(a)}catch(e){return{data:null,error:"Network error"}}}var P=a(40568),D=a(78829);let z={PDF:{tone:"text-rose-600 bg-rose-50"},Slides:{tone:"text-orange-600 bg-orange-50"},Video:{tone:"text-violet-600 bg-violet-50"},Image:{tone:"text-cyan-600 bg-cyan-50"},Audio:{tone:"text-pink-600 bg-pink-50"}};function $(){var e,t,a,o,N,w,$,J;let{t:O}=(0,l.Bd)(),{effectiveTenant:_}=(0,y.M)(),{data:M,loading:B,source:q}=(0,s.i)("CRM","intelligence"),F=function(){let{effectiveTenant:e}=(0,y.M)(),[t,a]=(0,n.useState)([]),[r,l]=(0,n.useState)(null),[s,i]=(0,n.useState)(!0),[o,d]=(0,n.useState)(null),c=(0,n.useCallback)(async()=>{i(!0),d(null);let[t,r]=await Promise.all([E(null==e?void 0:e.id),C(null==e?void 0:e.id)]);t.error?(a([]),d(t.error)):a(t.data),r.error||l(r.data),i(!1)},[null==e?void 0:e.id]);(0,n.useEffect)(()=>{c()},[c]);let m=(0,n.useCallback)(async t=>{let r=await k(t,null==e?void 0:e.id);return r.error||!r.data?(d(r.error||"Upload failed"),!1):(a(e=>[r.data,...e]),c(),!0)},[null==e?void 0:e.id,c]),u=(0,n.useCallback)(async(t,r)=>{let n=await S(t,r,null==e?void 0:e.id);return n.error||!n.data?(d(n.error||"Update failed"),!1):(a(e=>e.map(e=>e.id===t?n.data:e)),!0)},[null==e?void 0:e.id]),p=(0,n.useCallback)(async t=>{let r=await T(t,null==e?void 0:e.id);return r.ok?(a(e=>e.filter(e=>e.id!==t)),!0):(d(r.error||"Delete failed"),!1)},[null==e?void 0:e.id]),b=(0,n.useCallback)(async(t,a,r)=>{let n=await L({targetType:"asset",targetExternalId:t,assigneeName:a,notes:r},null==e?void 0:e.id);return n.error||!n.data?(d(n.error||"Assign failed"),!1):(c(),!0)},[null==e?void 0:e.id,c]);return{data:t,summary:r,loading:s,error:o,reload:c,upload:m,update:u,remove:p,assign:b}}(),G=function(){let{effectiveTenant:e}
1=(0,y.M)(),[t,a]=(0,n.useState)([]),[r,l]=(0,n.useState)(!0),[s,i]=(0,n.useState)(null),o=(0,n.useCallback)(async()=>{l(!0),i(null);let t=await R(null==e?void 0:e.id);t.error?(a([]),i(t.error)):a(t.data),l(!1)},[null==e?void 0:e.id]);(0,n.useEffect)(()=>{o()},[o]);let d=(0,n.useCallback)(async t=>{let r=await A(t,null==e?void 0:e.id);return r.error||!r.data?(i(r.error||"Create failed"),!1):(a(e=>[r.data,...e]),!0)},[null==e?void 0:e.id]),c=(0,n.useCallback)(async(t,r)=>{let n=await I(t,r,null==e?void 0:e.id);return n.error||!n.data?(i(n.error||"Update failed"),!1):(a(e=>e.map(e=>e.id===t?n.data:e)),!0)},[null==e?void 0:e.id]);return{data:t,loading:r,error:s,reload:o,create:d,update:c,remove:(0,n.useCallback)(async t=>{let r=await U(t,null==e?void 0:e.id);return r.ok?(a(e=>e.filter(e=>e.id!==t)),!0):(i(r.error||"Delete failed"),!1)},[null==e?void 0:e.id]),assign:(0,n.useCallback)(async(t,a)=>{let r=await L({targetType:"battle_card",targetExternalId:t,assigneeName:a},null==e?void 0:e.id);return!r.error&&!!r.data||(i(r.error||"Assign failed"),!1)},[null==e?void 0:e.id])}}(),H=(0,P.w)("sales"),[V,X]=(0,n.useState)(""),[Z,K]=(0,n.useState)(!1),[Q,W]=(0,n.useState)(""),[Y,ee]=(0,n.use
1State)(!1),et=(0,n.useRef)(null),[ea,er]=(0,n.useState)(!1),[en,el]=(0,n.useState)(""),[es,ei]=(0,n.useState)(""),[eo,ed]=(0,n.useState)(""),[ec,em]=(0,n.useState)(""),[eu,ep]=(0,n.useState)(""),[eb,ex]=(0,n.useState)(""),[eh,ev]=(0,n.useState)(null),[ef,eg]=(0,n.useState)(!1),[ey,ej]=(0,n.useState)(""),eN=(0,n.useMemo)(()=>{let e=V.trim().toLowerCase();return e?F.data.filter(t=>t.title.toLowerCase().includes(e)||t.category.toLowerCase().includes(e)||t.industry.toLowerCase().includes(e)||t.assetType.toLowerCase().includes(e)):F.data},[F.data,V]),ew=[{label:O("crmEnablement.heroAssets"),value:String(null!=(N=null==(e=F.summary)?void 0:e.assetCount)?N:F.data.length)},{label:O("crmEnablement.heroPublished"),value:String(null!=(w=null==(t=F.summary)?void 0:t.publishedCount)?w:0)},{label:O("crmEnablement.heroBattleCards"),value:String(null!=($=null==(a=F.summary)?void 0:a.battleCardCount)?$:G.data.length)},{label:O("crmEnablement.heroAssignments"),value:String(null!=(J=null==(o=F.summary)?void 0:o.assignmentCount)?J:0)}],eE=async()=>{var e,t;let a=null==(t=et.current)||null==(e=t.files)?void 0:e[0];if(!a||!Q.trim())return void(0,D.zb)(O("crmEnablement.title"));ee(!0);let r=new Uint8Array(await a.arrayBuffer()),n="";for(let e=0;e<r.length;e++)n+=String.fromCharCode(r[e]);let l=btoa(n),s=await F.upload({title:Q.trim(),fileName:a.name,fileBase64:l,contentType:a.type||void 0});ee(!1),s?((0,D.aj)(O("crmEnablement.uploadOk")),K(!1),W(""),et.current&&(et.current.value="")):(0,D.zb)(F.error||"Upload failed")},eC=async(e,t)=>{try{let a=await (0,j.hJ)("/api/crm/content-assets/".concat(encodeURIComponent(e),"?download=1"),{appTenantId:null==_?void 0:_.id});if(!a.ok)return void(0,D.zb)(O("crmEnablement.download"));let r=await a.blob(),n=URL.createObjectURL(r),l=document.createElement("a");l.href=n,l.download=t||"download",l.click(),URL.revokeObjectURL(n)}catch(e){(0,D.zb)(O("crmEnablement.download"))}},ek=async(e,t)=>{let a=window.prompt(O("crmEnablement.assigneePrompt"));if(null==a?void 0:a.trim())("asset"===e?await F.assign(t,a.trim()):"battle_card"===e?await G.assign(t,a.trim()):await H.enroll(t,a.trim()))?(0,D.aj)(O("crmEnablement.assignOk")):(0,D.zb)(O("crmEnablement.assign"))},eS=async()=>{if(!en.trim())return;let e=e=>e.split("\n").map(e=>e.trim()).filter(Boolean);await G.create({competitorName:en.trim(),overview:es.trim(),ourStrengths:e(eo),theirStrengths:e(ec),objectionHandling:e(eu),proofPoints:e(eb)})&&((0,D.aj)(O("crmEnablement.battleOk")),er(!1),el(""),ei(""),ed(""),em(""),ep(""),ex(""))},eT=async()=>{ey.trim()&&await H.create({title:ey.trim(),audience:"sales",status:"published"})&&((0,D.aj)(O("crmEnablement.createCourse")),eg(!1),ej(""))};return(0,r.jsx)(c.e,{title:O("pagescrmenablement.salesEnablementPlatform"),subtitle:O("pagescrmenablement.contentLmsBattleCardsMicrosites"),children:(0,r.jsxs)(i.H,{loading:B,source:q,data:M,children:[(0,r.jsx)(d(),{children:(0,r.jsx)("title",{children:O("pagescrmenablement.salesEnablementCmoAlto")})}),(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:ew.map(e=>(0,r.jsxs)(m.Zp,{className:"p-4 bg-gradient-to-br from-sky-500/5 to-sky-500/10 border-sky-500/20",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-2 text-sky-600",children:[(0,r.jsx)(b.A,{className:"h-4 w-4"}),(0,r.jsx)("h3",{className:"text-xs font-semibold",children:e.label})]}),(0,r.jsx)("p",{className:"text-2xl font-bold text-foreground",children:e.value})]},e.label))}),(0,r.jsxs)(u.tU,{defaultValue:"content",className:"w-full",children:[(0,r.jsxs)(u.j7,{className:"w-full justify-start border-b rounded-none h-auto p-0 bg-transparent mb-6 overflow-x-auto",children:[(0,r.jsx)(u.Xi,{value:"content",className:"data-[state=active]:border-b-2 data-[state=active]:border-primary rounded-none py-3 px-4",children:O("pagescrmenablement.contentLibrary")}),(0,r.jsx)(u.Xi,{value:"battlecards",className:"data-[state=active]:border-b-2 data-[state=active]:border-primary rounded-none py-3 px-4",children:O("pagescrmenablement.battleCards")}),(0,r.jsx)(u.Xi,{value:"training",className:"data-[state=active]:border-b-2 data-[state=active]:border-primary rounded-none py-3 px-4",children:O("pagescrmenablement.trainingLms")})]}),(0,r.jsx)(u.av,{value:"content",className:"space-y-4",children:(0,r.jsxs)(m.Zp,{className:"border-border/50 overflow-x-auto",children:[(0,r.jsxs)("div",{className:"p-4 border-b border-border/50 flex flex-wrap gap-3 justify-between items-center bg-muted/20",children:[(0,r.jsxs)("div",{className:"relative w-64",children:[(0,r.jsx)(x.A,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,r.jsx)("input",{type:"text",value:V,onChange:e=>X(e.target.value),placeholder:O("crmEnablement.searchPlaceholder"),className:"h-9 w-full pl-9 pr-3 rounded-lg border border-border/50 bg-background text-sm focus:outline-none focus:ring-2 focus:ring-primary/20"})]}),(0,r.jsx)(v.$,{size:"sm",className:"rounded-lg",onClick:()=>K(e=>!e),children:O("crmEnablement.uploadAsset")})]}),Z&&(0,r.jsxs)("div",{className:"p-4 border-b border-border/50 space-y-3 bg-muted/10",children:[(0,r.jsx)("input",{className:"h-9 w-full rounded-lg border px-3 text-sm",placeholder:O("crmEnablement.title"),value:Q,onChange:e=>W(e.target.value)}),(0,r.jsx)("input",{ref:et,type:"file",className:"text-sm"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(v.$,{size:"sm",disabled:Y,onClick:()=>void eE(),children:O("crmEnablement.save")}),(0,r.jsx)(v.$,{size:"sm",variant:"outline",onClick:()=>K(!1),children:O("crmEnablement.cancel")})]})]}),(0,r.jsx)(g.f,{loading:F.loading,error:F.error,empty:0===eN.length,emptyTitle:O("crmEnablement.emptyTitle"),emptyDescription:O("crmEnablement.emptyDesc"),onRetry:F.reload,children:(0,r.jsxs)("table",{className:"w-full text-sm text-left min-w-[800px]",children:[(0,r.jsx)("thead",{className:"bg-muted/30 text-muted-foreground",children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{className:"p-4 font-medium",children:O("pagescrmenablement.assetName")}),(0,r.jsx)("th",{className:"p-4 font-medium",children:O("pagescrmevents.type")}),(0,r.jsx)("th",{className:"p-4 font-medium",children:O("pagescrmevents.status")}),(0,r.jsx)("th",{className:"p-4 font-medium text-right",children:O("crmEnablement.download")})]})}),(0,r.jsx)("tbody",{className:"divide-y divide-border/50",children:eN.map(e=>{var t,a;let n=null!=(t=z[e.assetType])?t:{tone:"text-slate-600 bg-slate-100"};return(0,r.jsxs)("tr",{className:"hover:bg-muted/10 transition-colors",children:[(0,r.jsxs)("td",{className:"p-4",children:[(0,r.jsx)("p",{className:"font-medium",children:e.title}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:[e.category,e.industry,e.fileName].filter(
1Boolean).join(" ⢠")})]}),(0,r.jsx)("td",{className:"p-4",children:(0,r.jsx)(p.E,{variant:"outline",className:(0,f.cn)("text-[10px]",n.tone),children:e.assetType||O("crmEnablement.typeUnknown")})}),(0,r.jsx)("td",{className:"p-4",children:(0,r.jsx)(p.E,{variant:"published"===e.status?"default":"secondary",children:"published"===(a=e.status)?O("crmEnablement.statusPublished"):"archived"===a?O("crmEnablement.statusArchived"):O("crmEnablement.statusDraft")})}),(0,r.jsxs)("td",{className:"p-4 text-right space-x-2",children:[e.s3Key?(0,r.jsx)(v.$,{size:"sm",variant:"outline",onClick:()=>void eC(e.id,e.fileName),children:O("crmEnablement.download")}):null,(0,r.jsx)(v.$,{size:"sm",variant:"secondary",onClick:()=>void ek("asset",e.id),children:O("crmEnablement.assign")}),(0,r.jsx)(v.$,{size:"sm",variant:"ghost",onClick:()=>void F.remove(e.id),children:O("crmEnablement.delete")})]})]},e.id)})})]})})]})}),(0,r.jsxs)(u.av,{value:"battlecards",className:"space-y-4",children:[(0,r.jsx)("div",{className:"flex justify-end",children:(0,r.jsx)(v.$,{size:"sm",onClick:()=>er(e=>!e),children:O("crmEnablement.createBattleCard")})}),ea&&(0,r.jsxs)(m.Zp,{className:"p-4 space-y-3",children:[(0,r.jsx)("input",{className:"h-9 w-full rounded-lg border px-3 text-sm",placeholder:O("crmEnablement.competitor"),value:en,onChange:e=>el(e.target.value)}),(0,r.jsx)("textarea",{className:"w-full rounded-lg border px-3 py-2 text-sm",rows:2,placeholder:O("crmEnablement.overview"),value:es,onChange:e=>ei(e.target.value)}),(0,r.jsx)("textarea",{className:"w-full rounded-lg border px-3 py-2 text-sm",rows:2,placeholder:O("crmEnablement.ourStrengths"),value:eo,onChange:e=>ed(e.target.value)}),(0,r.jsx)("textarea",{className:"w-full rounded-lg border px-3 py-2 text-sm",rows:2,placeholder:O("crmEnablement.theirStrengths"),value:ec,onChange:e=>em(e.target.value)}),(0,r.jsx)("textarea",{className:"w-full rounded-lg border px-3 py-2 text-sm",rows:2,placeholder:O("crmEnablement.objections"),value:eu,onChange:e=>ep(e.target.value)}),(0,r.jsx)("textarea",{className:"w-full rounded-lg border px-3 py-2 text-sm",rows:2,placeholder:O("crmEnablement.proofPoints"),value:eb,onChange:e=>ex(e.target.value)}),(0,r.jsx)(v.$,{size:"sm",onClick:()=>void eS(),children:O("crmEnablement.save")})]}),(0,r.jsx)(g.f,{loading:G.loading,error:G.error,empty:0===G.data.length,emptyTitle:O("crmEnablement.battleEmptyTitle"),emptyDescription:O("crmEnablement.battleEmptyDesc"),onRetry:G.reload,children:(0,r.jsx)("div",{className:"grid md:grid-cols-2 gap-4",children:G.data.map(e=>{let t=Array.isArray(e.ourStrengths)?e.ourStrengths:[],a=Array.isArray(e.theirStrengths)?e.theirStrengths:[],n=eh===e.id;return(0,r.jsxs)(m.Zp,{className:"p-5 border-border/50 flex flex-col h-full",children:[(0,r.jsxs)("div",{className:"flex justify-between items-start mb-4",children:[(0,r.jsxs)("h3",{className:"text-xl font-bold",children:["vs ",e.competitorName]}),(0,r.jsxs)("div",{className:"text-right",children:[(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:O("crmEnablement.winRate")}),(0,r.jsx)("p",{className:"text-xl font-bold text-emerald-500",children:null==e.winRate?O("crmEnablement.winRateNone"):"".concat(e.winRate,"%")})]})]}),e.overview?(0,r.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:e.overview}):null,(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-4 mb-4 flex-1",children:[(0,r.jsxs)("div",{className:"p-3 bg-rose-500/5 rounded-xl border border-rose-500/10",children:[(0,r.jsx)("h4",{className:"text-xs font-bold text-rose-600 mb-2 uppercase tracking-wider",children:O("crmEnablement.theirStrengths")}),(0,r.jsx)("ul",{className:"space-y-1 text-sm",children:(n?a:a.slice(0,2)).map((e,t)=>(0,r.jsxs)("li",{className:"flex gap-2",children:[(0,r.jsx)("span",{className:"text-rose-400",children:"â¢"})," ",e]},t))})]}),(0,r.jsxs)("div",{className:"p-3 bg-emerald-500/5 rounded-xl border border-emerald-500/10",children:[(0,r.jsx)("h4",{className:"text-xs font-bold text-emerald-600 mb-2 uppercase tracking-wider",children:O("crmEnablement.ourStrengths")}),(0,r.jsx)("ul",{className:"space-y-1 text-sm",children:(n?t:t.slice(0,2)).map((e,t)=>(0,r.jsxs)("li",{className:"flex gap-2",children:[(0,r.jsx)("span",{className:"text-emerald-400",children:"â¢"})," ",e]},t))})]})]}),n&&(0,r.jsxs)("div",{className:"space-y-2 mb-4 text-sm",children:[(0,r.jsx)("p",{className:"font-semibold",children:O("crmEnablement.objections")}),(0,r.jsx)("ul",{children:(e.objectionHandling||[]).map((e,t)=>(0,r.jsxs)("li",{children:["⢠",e]},t))}),(0,r.jsx)("p",{className:"font-semibold",children:O("crmEnablement.proofPoints")}),(0,r.jsx)("ul",{children:(e.proofPoints||[]).map((e,t)=>(0,r.jsxs)("li",{children:["⢠",e]},t))})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(v.$,{variant:"outline",className:"flex-1 rounded-lg text-xs",onClick:()=>ev(n?null:e.id),children:n?O("crmEnablement.cancel"):O("pagescrmenablement.viewFullBattleCard")}),(0,r.jsx)(v.$,{variant:"secondary",className:"rounded-lg text-xs",onClick:()=>
1void ek("battle_card",e.id),children:O("crmEnablement.assign")})]})]},e.id)})})})]}),(0,r.jsxs)(u.av,{value:"training",className:"space-y-4",children:[(0,r.jsx)("div",{className:"flex justify-end",children:(0,r.jsx)(v.$,{size:"sm",onClick:()=>eg(e=>!e),children:O("crmEnablement.createCourse")})}),ef&&(0,r.jsxs)(m.Zp,{className:"p-4 flex gap-2",children:[(0,r.jsx)("input",{className:"h-9 flex-1 rounded-lg border px-3 text-sm",value:ey,onChange:e=>ej(e.target.value),placeholder:O("crmEnablement.title")}),(0,r.jsx)(v.$,{size:"sm",onClick:()=>void eT(),children:O("crmEnablement.save")})]}),(0,r.jsx)(m.Zp,{className:"border-border/50",children:(0,r.jsx)(g.f,{loading:H.loading,error:H.error,empty:0===H.data.length,emptyTitle:O("crmEnablement.trainingEmptyTitle"),emptyDescription:O("crmEnablement.trainingEmptyDesc"),onRetry:H.reload,children:(0,r.jsx)("div",{className:"p-4 grid gap-3",children:H.data.map(e=>(0,r.jsxs)("div",{className:"flex items-center justify-between p-4 border border-border/50 rounded-xl bg-card",children:[(0,r.jsxs)("div",{className:"flex items-center gap-4",children:[(0,r.jsx)("div",{className:"h-10 w-10 rounded-full bg-primary/10 flex items-center justify-center text-primary",children:(0,r.jsx)(h.A,{className:"h-5 w-5"})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-semibold",children:e.title}),(0,r.jsxs)("div",{className:"flex items-center gap-3 text-xs text-muted-foreground mt-1",children:[(0,r.jsx)("span",{children:e.level}),(0,r.jsx)("span",{children:"â¢"}),(0,r.jsxs)("span",{children:[e.durationMins," min"]}),(0,r.jsx)("span",{children:"â¢"}),(0,r.jsxs)("span",{children:[e.modules," modules"]}),null!=e.completionRate?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{children:"â¢"}),(0,r.jsxs)("span",{children:[e.completionRate,"%"]})]}):null]})]})]}),(0,r.jsx)(v.$,{variant:"secondary",size:"sm",className:"rounded-lg",onClick:()=>void ek("course",e.id),children:O("crmEnablement.enroll")})]},e.id))})})})]})]})]})]})})}},11276:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});let r=(0,a(18443).A)("Library",[["path",{d:"m16 6 4 14",key:"ji33uf"}],["path",{d:"M12 6v14",key:"1n7gus"}],["path",{d:"M8 8v12",key:"1gg7y9"}],["path",{d:"M4 4v16",key:"6qkkli"}]])},13194:(e,t,a)=>{"use strict";a.d(t,{Xi:()=>d,av:()=>c,j7:()=>o,tU:()=>i});var r=a(37876),n=a(14232),l=a(90491),s=a(15565);let i=l.bL,o=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,r.jsx)(l.B8,{ref:t,className:(0,s.cn)("inline-flex h-9 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",a),...n})});o.displayName=l.B8.displayName;let d=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,r.jsx)(l.l9,{ref:t,className:(0,s.cn)("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",a),...n})});d.displayName=l.l9.displayName;let c=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,r.jsx)(l.UC,{ref:t,className:(0,s.cn)("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",a),...n})});c.displayName=l.UC.displayName},49564:(e,t,a)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/crm/enablement",function(){return a(4582)}])},90491:(e,t,a)=>{"use strict";a.d(t,{B8:()=>R,UC:()=>I,bL:()=>T,l9:()=>A});var r=a(14232),n=a(33716),l=a(91844),s=a(64455),i=a(96822),o=a(57797),d=a(14966),c=a(58162),m=a(70294),u=a(37876),p="Tabs",[b,x]=(0,l.A)(p,[s.RG]),h=(0,s.RG)(),[v,f]=b(p),g=r.forwardRef((e,t)=>{let{__scopeTabs:a,value:r,onValueChange:n,defaultValue:l,orientation:s="horizontal",dir:i,activationMode:p="automatic",...b}=e,x=(0,d.jH)(i),[h,f]=(0,c.i)({prop:r,onChange:n,defaultProp:l});return(0,u.jsx)(v,{scope:a,baseId:(0,m.B)(),value:h,onValueChange:f,orientation:s,dir:x,activationMode:p,children:(0,u.jsx)(o.sG.div,{dir:x,"data-orientation":s,...b,ref:t})})});g.displayName=p;var y="TabsList",j=r.forwardRef((e,t)=>
1{let{__scopeTabs:a,loop:r=!0,...n}=e,l=f(y,a),i=h(a);return(0,u.jsx)(s.bL,{asChild:!0,...i,orientation:l.orientation,dir:l.dir,loop:r,children:(0,u.jsx)(o.sG.div,{role:"tablist","aria-orientation":l.orientation,...n,ref:t})})});j.displayName=y;var N="TabsTrigger",w=r.forwardRef((e,t)=>{let{__scopeTabs:a,value:r,disabled:l=!1,...i}=e,d=f(N,a),c=h(a),m=k(d.baseId,r),p=S(d.baseId,r),b=r===d.value;return(0,u.jsx)(s.q7,{asChild:!0,...c,focusable:!l,active:b,children:(0,u.jsx)(o.sG.button,{type:"button",role:"tab","aria-selected":b,"aria-controls":p,"data-state":b?"active":"inactive","data-disabled":l?"":void 0,disabled:l,id:m,...i,ref:t,onMouseDown:(0,n.m)(e.onMouseDown,e=>{l||0!==e.button||!1!==e.ctrlKey?e.preventDefault():d.onValueChange(r)}),onKeyDown:(0,n.m)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&d.onValueChange(r)}),onFocus:(0,n.m)(e.onFocus,()=>{let e="manual"!==d.activationMode;b||l||!e||d.onValueChange(r)})})})});w.displayName=N;var E="TabsContent",C=r.forwardRef((e,t)=>{let{__scopeTabs:a,value:n,forceMount:l,children:s,...d}=e,c=f(E,a),m=k(c.baseId,n),p=S(c.baseId,n),b=n===c.value,x=r.useRef(b);return r.useEffect(()=>{let e=requestAnimationFrame(()=>x.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,u.jsx)(i.C,{present:l||b,children:({present:a})=>(0,u.jsx)(o.sG.div,{"data-state":b?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":m,hidden:!a,id:p,tabIndex:0,...d,ref:t,style:{...e.style,animationDuration:x.current?"0s":void 0},children:a&&s})})});function k(e,t){return`${e}-trigger-${t}`}function S(e,t){return`${e}-content-${t}`}C.displayName=E;var T=g,R=j,A=w,I=C}},e=>{e.O(0,[5065,636,6593,8792],()=>e(e.s=49564)),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.