1import{j as e}from"./vendor-xyflow-Bqj2XMRf.js";import{f as x,r as m,L as l}from"./vendor-react-Mx8zmtJs.js";import{u,j as p,E as f,v as h,L as g}from"./index-C_xpKSSY.js";import{u as b}from"./useApi-DuF2XD3B.js";import{S as c}from"./Skeleton-C_UfDS7C.js";import{E as j}from"./ErrorDisplay-BLL6uajh.js";import{D as N}from"./DeploLogo-D4xchect.js";import{A as y}from"./arrow-right-ChVVABHC.js";import"./UpgradeConnectionCard-Det5sggA.js";import"./circle-check-BSK4rklu.js";import"./triangle-alert-D1u4XH4j.js";import"./mail-DMs_uPbb.js";function k(s){switch(s){case"Flow":return"badge-flow";case"ApexClass":case"ApexTrigger":return"badge-apex";case"LightningComponentBundle":case"AuraDefinitionBundle":return"badge-lwc";case"Report":case"Dashboard":return"badge-report";case"ValidationRule":case"WorkflowRule":case"WorkflowFieldUpdate":case"ApprovalProcess":return"badge-validation";case"FormulaField":return"badge-lwc";case"EmailTemplate":case"CustomButton":case"PageLayout":case"ListView":case"CompactLayout":case"PathAssistant":return"badge-other";case"LightningPage":case"QuickAction":return"badge-flow";case"CustomReportType":return"badge-report";case"SharingRule":return"badge-validation";case"VisualforcePage":return"badge-apex";default:return"badge-other"}}function w(s){return s.split(/\*\*(.+?)\*\*/g).map((t,r)=>r%2===1?e.jsx("strong",{className:"text-ink font-semibold",children:t},r):t)}function d(s){switch(s){case"Flow":return"Flow";case"ApexClass":return"Apex";case"ApexTrigger":return"Trigger";case"LightningComponentBundle":return"LWC";case"AuraDefinitionBundle":return"Aura";case"Report":return"Report";case"Dashboard":return"Dashboard";case"ValidationRule":return"Validation";case"FormulaField":return"Formula";case"WorkflowRule":return"Workflow Rule";case"WorkflowFieldUpdate":return"Workflow Action";case"ApprovalProcess":return"Approval";case"EmailTemplate":return"Email";case"CustomButton":return"Button/Link";case"PageLayout":return"Page Layout";case"ListView":return"List View";case"LightningPage":return"Lightning Page";case"CustomReportType":return"Report Type";case"CompactLayout":return"Compact Layout";case"QuickAction":return"Quick Action";case"SharingRule":return"Sharing Rule";case"PathAssistant":return"Path Settings";case"VisualforcePage":return"VF Page";case"PermissionSet":return"Perm Set";case"Profile":return"Profile";default:return String(s)}}const A={Flow:"bg-blue-400",ApexClass:"bg-risk-med",ApexTrigger:"bg-risk-med",LightningComponentBundle:"bg-risk-med",AuraDefinitionBundle:"bg-risk-med",Report:"bg-green-400",Dashboard:"bg-green-400",ValidationRule:"bg-risk-high"};function v(s){const a=new Map;for(const t of s){const r=a.get(t.type)??[];r.push(t),a.set(t.type,r)}return a}function I(){const{token:s}=x(),a=b(()=>s?h.getReport(s):Promise.reject(new Error("No token")),[s]),t=a.data?`${a.data.objectApiName}${a.data.fieldApiName?`.${a.data.fieldApiName}`:""} â Salesforce field analysis`:"Shared analysis report";return u({title:t,description:"A read-only Deplo field-impact report. View dependency risk + AI explanation for this Salesforce field.",noindex:!0}),m.useEffect(()=>{a.data&&p.track(f.REPORT_VIEWED_PUBLIC,{objectApiName:a.data.objectApiName,fieldApiName:a.data.fieldApiName})},[a.data]),a.loading?e.jsxs("div",{className:"min-h-screen px-4 py-12 max-w-3xl mx-auto space-y-4",children:[e.jsx(c,{}),e.jsx(c,{}),e.jsx(c,{})]}):a.error!=null||!a.data?e.jsxs("div",{className:"min-h-screen px-4 py-20 max-w-xl mx-auto",children:[e.jsx(j,{error:a.error??new Error("Report not found")}),e.jsx("p",{className:"text-center mt-6",children:e.jsx(l,{to:"/",className:"text-accent hover:text-accent text-sm underline underline-offset-2",children:"Back to Deplo"})})]}):e.jsx(C,{report:a.data})}function C({report:s}){const a=m.useMemo(()=>v(s.rawDependencies??[]),[s.rawDependencies]),t=s.dependencyCount>10?"text-risk-high bg-risk-high-bg border border-default":s.dependencyCount>3?"text-risk-med bg-risk-med-bg border border-default":"text-green-400 bg-green-500/10 border border-green-500/20",r=new Date(s.analyzedAt).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"});return e.jsxs("div",{className:"min-h-screen",children:[e.jsxs("header",{className:"border-b border-default bg-surface px-6 py-4 flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx(N,{size:22}),e.jsx("span",{className:"font-semibold text-ink",children:"Deplo"}),e.jsx("span",{className:"text-ink-4 text-sm mx-1",children:"·"}),e.jsx("span",{className:"text-ink-3 text-sm",children:"Impact Report"})]}),e.jsx(l,{to:"/auth",className:"text-xs text-ink-3 hover:text-ink-2 bg-surface-2 border border-default rounded px-3 py-1.5 transition-colors",children:"Sign in â"})]}),e.jsxs("main",{className:"max-w-3xl mx-auto px-4 py-10 space-y-6",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs text-ink-4 mb-3",children:[s.orgName&&e.jsxs(e.Fragment,{children:[e.jsx("span",{children:s.orgName}),e.jsx("span",{children:"·"})]}),e.jsxs("span",{children:["Analyzed ",r]})]}),e.jsx("h1",{className:"text-2xl font-bold text-ink mb-1",children:s.fieldLabel??s.fieldApiName}),e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsxs("span",{className:"font-mono text-sm text-ink-3",children:[s.objectApiName,".",s.fieldApiName]}),s.fieldType&&e.jsx("span",{className:"text-xs text-ink-4 bg-surface-2 border border-default rounded px-2 py-0.5",children:s.fieldType})]})]}),e.jsx("div",{className:"flex items-center gap-3",children:e.jsxs("span",{className:`text-sm font-semibold px-3 py-1 rounded-lg ${t}`,children:[s.dependencyCount," ",s.dependencyCount===1?"dependency":"dependencies"," found"]}
1)}),s.aiSummary&&e.jsxs("div",{className:"bg-accent-soft border border-default rounded-xl p-5",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"#a78bfa",strokeWidth:"2",children:[e.jsx("circle",{cx:"12",cy:"12",r:"10"}),e.jsx("path",{d:"M12 8v4l3 3"})]}),e.jsx("span",{className:"text-xs text-accent font-semibold uppercase tracking-wider",children:"AI Impact Summary"})]}),e.jsx("p",{className:"text-sm text-ink-2 leading-relaxed whitespace-pre-line",children:w(s.aiSummary)})]}),s.dependencyCount>0&&(s.rawDependencies?.length??0)>0?e.jsx("div",{className:"space-y-4",children:Array.from(a.entries()).map(([i,o])=>e.jsxs("div",{className:"card overflow-hidden",children:[e.jsxs("div",{className:"flex items-center justify-between px-5 py-3 border-b border-default bg-surface",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:`w-2 h-2 rounded-full ${A[i]??"bg-surface-2"}`}),e.jsx("span",{className:"text-sm font-semibold text-ink-2",children:d(i)}),e.jsxs("span",{className:"text-xs text-ink-3",children:["(",o.length,")"]})]}),e.jsx("span",{className:"text-xs text-ink-4 font-mono",children:i})]}),o.map(n=>e.jsxs("div",{className:"flex items-center justify-between px-5 py-3 border-b border-default last:border-0 hover:bg-surface transition-colors",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx("span",{className:`text-xs font-medium px-2 py-0.5 rounded-full ${k(n.type)}`,children:d(n.type)}),e.jsx("span",{className:"text-sm font-mono text-ink-2 truncate",children:n.name}),n.namespace&&e.jsx("span",{className:"text-xs text-ink-4 shrink-0",children:n.namespace})]}),n.sfUrl&&e.jsx("a",{href:n.sfUrl,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-accent hover:text-accent shrink-0 ml-2 transition-colors",children:"View in Setup â"})]},n.id))]},i))}):s.dependencyCount>0?e.jsxs("div",{className:"card p-8 text-center",children:[e.jsx("p",{className:"mb-2 text-ink-3",children:e.jsx(g,{size:26,className:"mx-auto","aria-hidden":!0})}),e.jsxs("p",{className:"text-ink-2 text-sm font-semibold",children:[s.dependencyCount," ",s.dependencyCount===1?"dependency was":"dependencies were"," found, but the share creator chose not to expose them publicly."]}),e.jsx("p",{className:"text-ink-4 text-xs mt-2 max-w-md mx-auto leading-relaxed",children:"Sign up free to run Deplo against your own org and see the full dependency list â every flow, validation rule, Apex class, and report that references this field."})]}):e.jsxs("div",{className:"card p-8 text-center",children:[e.jsx("p",{className:"text-2xl mb-2",children:"â"}
1),e.jsx("p",{className:"text-ink-2 text-sm",children:"No dependencies found for this field."}),e.jsx("p",{className:"text-ink-4 text-xs mt-1",children:"Safe to change with no expected downstream impact."})]}),e.jsxs("div",{className:"card-brand p-8 text-center rounded-xl",children:[e.jsx("p",{className:"text-ink font-semibold text-base mb-1",children:"Analyze your own Salesforce fields for free"}),e.jsx("p",{className:"text-ink-3 text-sm mb-4",children:"14-day free trial · no credit card · cancel anytime"}),e.jsxs(l,{to:"/auth",className:"btn btn-primary inline-flex items-center gap-1.5",children:["Get started with Deplo",e.jsx(y,{size:13,strokeWidth:2})]})]})]})]})}export{I as default};
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.