@datarecce/ui 1.64.0-nightly.20260907 → 1.64.0

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 (54) hide show
  1. package/dist/{RouteConfigContext-367DdwY4.d.ts → RouteConfigContext--vAmbSFM.d.ts} +2 -2
  2. package/dist/{RouteConfigContext-367DdwY4.d.ts.map → RouteConfigContext--vAmbSFM.d.ts.map} +1 -1
  3. package/dist/advanced.d.ts +7 -7
  4. package/dist/advanced.js +1 -1
  5. package/dist/{api-B_skAKT6.d.ts → api-DHRfPMHD.d.ts} +2 -2
  6. package/dist/{api-B_skAKT6.d.ts.map → api-DHRfPMHD.d.ts.map} +1 -1
  7. package/dist/api-cPhVDn2I.js.map +1 -1
  8. package/dist/api.d.ts +3 -3
  9. package/dist/components-run.d.ts +2 -2
  10. package/dist/components-run.js +1 -1
  11. package/dist/components.d.ts +6 -6
  12. package/dist/components.js +1 -1
  13. package/dist/contexts.d.ts +4 -4
  14. package/dist/{hooks-BSxXEMR0.js → hooks-ThfMFiAt.js} +3 -3
  15. package/dist/hooks-ThfMFiAt.js.map +1 -0
  16. package/dist/hooks.d.ts +1 -1
  17. package/dist/hooks.js +1 -1
  18. package/dist/{index-CRa-1JsL.d.ts → index-DBJCYvR5.d.ts} +3 -3
  19. package/dist/{index-CRa-1JsL.d.ts.map → index-DBJCYvR5.d.ts.map} +1 -1
  20. package/dist/{index-CKe_lWCa.d.ts → index-DJDIPW8P.d.ts} +3 -3
  21. package/dist/{index-CKe_lWCa.d.ts.map → index-DJDIPW8P.d.ts.map} +1 -1
  22. package/dist/{index-uYf0lWvH.d.ts → index-Zr-xf-Xu.d.ts} +4 -4
  23. package/dist/{index-uYf0lWvH.d.ts.map → index-Zr-xf-Xu.d.ts.map} +1 -1
  24. package/dist/{index-BN6CHUlP.d.ts → index-aiXlnVHA.d.ts} +5 -5
  25. package/dist/{index-BN6CHUlP.d.ts.map → index-aiXlnVHA.d.ts.map} +1 -1
  26. package/dist/{index-w9QQM3lB.d.ts → index-wxLE0wgO.d.ts} +7 -7
  27. package/dist/{index-w9QQM3lB.d.ts.map → index-wxLE0wgO.d.ts.map} +1 -1
  28. package/dist/index.d.ts +11 -11
  29. package/dist/index.js +1 -1
  30. package/dist/{instanceInfo-Du8rItaU.d.ts → instanceInfo-BJSksM8Y.d.ts} +38 -5
  31. package/dist/instanceInfo-BJSksM8Y.d.ts.map +1 -0
  32. package/dist/{lineage-ByaWpzhF.d.ts → lineage-CtdTcDRo.d.ts} +16 -12
  33. package/dist/{lineage-ByaWpzhF.d.ts.map → lineage-CtdTcDRo.d.ts.map} +1 -1
  34. package/dist/{primitives-TkFRmCop.d.ts → primitives-CUGBs6c7.d.ts} +4 -4
  35. package/dist/{primitives-TkFRmCop.d.ts.map → primitives-CUGBs6c7.d.ts.map} +1 -1
  36. package/dist/primitives.d.ts +3 -3
  37. package/dist/primitives.js +1 -1
  38. package/dist/result.js +1 -1
  39. package/dist/src-CLsh3QXf.js +12 -0
  40. package/dist/src-CLsh3QXf.js.map +1 -0
  41. package/dist/{types-C3QUIPi2.d.ts → types-D1yn0fSO.d.ts} +2 -2
  42. package/dist/{types-C3QUIPi2.d.ts.map → types-D1yn0fSO.d.ts.map} +1 -1
  43. package/dist/{types-BqB0C6yi.d.ts → types-GXcdehfJ.d.ts} +17 -3
  44. package/dist/types-GXcdehfJ.d.ts.map +1 -0
  45. package/dist/types.d.ts +7 -7
  46. package/dist/types.js.map +1 -1
  47. package/dist/utils-C20Vb3f6.js.map +1 -1
  48. package/dist/utils.d.ts +1 -1
  49. package/package.json +1 -1
  50. package/dist/hooks-BSxXEMR0.js.map +0 -1
  51. package/dist/instanceInfo-Du8rItaU.d.ts.map +0 -1
  52. package/dist/src-Bv9q0fda.js +0 -12
  53. package/dist/src-Bv9q0fda.js.map +0 -1
  54. package/dist/types-BqB0C6yi.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import{$ as e,C as t,G as n,K as r,L as i,O as a,R as o,S as s,X as c,Z as l,at as u,bt as d,ct as f,dt as p,et as m,f as h,ft as g,gt as _,h as v,lt as y,pt as b,rt as x,st as S,tt as C,ut as w,vt as T,w as E,yt as D}from"./api-cPhVDn2I.js";import{d as O,f as k,l as A,s as ee}from"./keepAlive-ysOdIHPt.js";import{n as te,r as ne}from"./fetchClient-CrlcoCZY.js";import{A as re,E as ie,N as ae,S as oe,T as j,b as se,f as ce,g as le,j as M,n as ue,v as de,y as fe}from"./utils-C20Vb3f6.js";import{C as pe,D as me,E as he,S as ge,T as N,_ as _e,r as P,t as ve,x as ye}from"./theme-nKZCsBcx.js";import{At as be,Bt as xe,C as Se,Dt as Ce,Ft as we,It as Te,Mt as Ee,Nt as De,Ot as Oe,Pt as ke,Rt as Ae,S as je,T as Me,Tt as Ne,Vt as F,Wt as Pe,a as Fe,ct as Ie,d as Le,dt as Re,gt as ze,i as Be,jt as Ve,kt as He,l as Ue,mt as I,nt as We,o as Ge,r as Ke,rt as qe,st as Je,tt as Ye,u as Xe,zt as Ze}from"./utils-Uyt6wNnz.js";import{fetchGitHubAvatar as Qe,fetchUser as $e}from"./lib/api/user.js";import{PUBLIC_API_URL as et,RECCE_SUPPORT_CALENDAR_URL as tt}from"./lib/const.js";import{EXPLORE_FORM_EVENT as nt,isExploreAction as rt,trackCopyToClipboard as it,trackExploreActionForm as at,trackHistoryAction as ot,trackSingleEnvironment as st}from"./lib/api/track.js";import ct from"./lib/result/ResultErrorFallback.js";import{useMutation as lt,useQuery as ut,useQueryClient as dt}from"@tanstack/react-query";import{Fragment as ft,createContext as pt,forwardRef as mt,memo as L,useCallback as R,useContext as ht,useEffect as z,useId as gt,useImperativeHandle as _t,useMemo as B,useRef as V,useState as H}from"react";import{Fragment as U,jsx as W,jsxs as G}from"react/jsx-runtime";import K from"@mui/material/Box";import q from"@mui/material/Button";import vt from"@mui/material/Dialog";import yt from"@mui/material/DialogActions";import bt from"@mui/material/DialogContent";import xt from"@mui/material/DialogTitle";import St from"@mui/material/Link";import J from"@mui/material/Stack";import Y from"@mui/material/Typography";import{LuChartBarBig as Ct,LuExternalLink as wt}from"react-icons/lu";import Tt from"@mui/material/CssBaseline";import{ThemeProvider as Et,alpha as Dt,useTheme as Ot}from"@mui/material/styles";import{useTheme as kt}from"next-themes";import{AllCommunityModule as At,ModuleRegistry as jt}from"ag-grid-community";import X from"@mui/material/IconButton";import Mt from"next/link";import{IoClose as Nt}from"react-icons/io5";import Pt from"@mui/material/Divider";import Ft from"@mui/material/CircularProgress";import Z from"@mui/material/Tooltip";import{FaCheckCircle as It,FaRegCheckCircle as Lt}from"react-icons/fa";import{PiBookmarkSimple as Rt,PiCaretDown as zt,PiChatText as Bt,PiCheck as Vt,PiCheckCircle as Ht,PiCircle as Ut,PiClipboardText as Wt,PiCopy as Gt,PiDotsThreeVertical as Kt,PiDownloadSimple as qt,PiImage as Jt,PiInfo as Yt,PiNotePencil as Xt,PiPencilSimple as Zt,PiPlusCircle as Qt,PiRepeat as $t,PiSelectionPlus as en,PiTable as tn,PiTrashSimple as nn,PiWarning as rn,PiX as an}from"react-icons/pi";import on from"@mui/material/Chip";import{BaseEdge as sn,EdgeLabelRenderer as cn,Handle as ln,NodeToolbar as un,Position as dn,getBezierPath as fn}from"@xyflow/react";import pn from"file-saver";import mn from"@mui/material/Checkbox";import hn from"@mui/material/FormControlLabel";import gn from"@mui/material/ButtonGroup";import{useTimeout as _n}from"usehooks-ts";import vn from"@mui/material/Alert";import yn from"@mui/material/InputBase";import bn from"@mui/material/Menu";import Q from"@mui/material/MenuItem";import xn from"lodash";import{VscError as Sn,VscKebabVertical as Cn,VscKey as wn}from"react-icons/vsc";import Tn from"@mui/material/ListSubheader";import En from"@mui/material/FormControl";import Dn from"@mui/material/FormLabel";import On from"@mui/material/NativeSelect";import{Box as kn}from"@mui/material";import An from"@mui/material/TextField";import{format as jn,formatDistanceToNow as Mn}from"date-fns";import Nn from"@mui/material/Tab";import Pn from"@mui/material/Tabs";import Fn from"@mui/material/List";import In from"@mui/material/ListItem";import Ln from"yaml";import{PostgreSQL as Rn,sql as zn}from"@codemirror/lang-sql";import{yaml as Bn}from"@codemirror/lang-yaml";import{EditorState as Vn,Prec as Hn}from"@codemirror/state";import{EditorView as Un,keymap as Wn,lineNumbers as Gn}from"@codemirror/view";import{githubDark as Kn,githubLight as qn}from"@uiw/codemirror-theme-github";import Jn from"@uiw/react-codemirror";import Yn from"@mui/material/Avatar";import Xn from"@mui/material/Popover";import Zn from"@mui/material/LinearProgress";import"chartjs-adapter-date-fns";import{BarElement as Qn,CategoryScale as $n,Chart as er,Legend as tr,LinearScale as nr,TimeSeriesScale as rr,Title as ir,Tooltip as ar}from"chart.js";import{Bar as or,Chart as sr}from"react-chartjs-2";import cr from"@mui/material/AlertTitle";import{AgGridReact as lr}from"ag-grid-react";import{MergeView as ur,unifiedMergeView as dr}from"@codemirror/merge";import fr from"react-markdown";import{Prism as pr}from"react-syntax-highlighter";import{oneDark as mr}from"react-syntax-highlighter/dist/esm/styles/prism";import hr from"remark-gfm";import gr from"react-split";import{amber as _r}from"@mui/material/colors";import{usePathname as vr,useRouter as yr}from"next/navigation";import{MdFormatListNumberedRtl as br,MdSchema as xr}from"react-icons/md";import{TbAlignBoxLeftStretch as Sr,TbBrandStackshare as Cr,TbChartHistogram as wr,TbEyeEdit as Tr,TbEyeSearch as Er,TbSql as Dr}from"react-icons/tb";import Or from"@mui/material/Autocomplete";import kr from"@mui/material/DialogContentText";import Ar from"@mui/material/ListItemIcon";import jr from"@mui/material/ListItemText";import{FiInfo as Mr}from"react-icons/fi";import{FaPlay as Nr}from"react-icons/fa6";import{ErrorBoundary as Pr}from"@sentry/react";import{snapdom as Fr}from"@zumer/snapdom";function Ir({children:e,forcedTheme:t,enableCssBaseline:n=!1}){let{resolvedTheme:r}=kt();return z(()=>{(t??r)===`dark`?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)},[t,r]),G(Et,{theme:ve,children:[n&&W(Tt,{}),e]})}const Lr=pt({checks:[],isLoading:!1});Lr.displayName=`RecceCheckContext`;function Rr({children:e,checks:t=[],isLoading:n=!1,error:r,selectedCheckId:i,onSelectCheck:a,onCreateCheck:o,onUpdateCheck:s,onDeleteCheck:c,onReorderChecks:l,refetchChecks:u,latestSelectedCheckId:d,setLatestSelectedCheckId:f}){let p=i??d,m=a??f,h=B(()=>({checks:t,isLoading:n,error:r,selectedCheckId:p,onSelectCheck:m,onCreateCheck:o,onUpdateCheck:s,onDeleteCheck:c,onReorderChecks:l,refetchChecks:u,latestSelectedCheckId:p,setLatestSelectedCheckId:m}),[t,n,r,p,m,o,s,c,l,u]);return W(Lr.Provider,{value:h,children:e})}function zr(){return ht(Lr)}const Br=pt({sql:``,isExecuting:!1});Br.displayName=`RecceQueryContext`;function Vr({children:e,sql:t=``,isExecuting:n=!1,error:r,baseResult:i,currentResult:a,onSqlChange:o,onExecute:s,onCancel:c,sqlQuery:l,setSqlQuery:u,primaryKeys:d,setPrimaryKeys:f,isCustomQueries:p,setCustomQueries:m,baseSqlQuery:h,setBaseSqlQuery:g}){let _=B(()=>({sql:t,isExecuting:n,error:r,baseResult:i,currentResult:a,onSqlChange:o,onExecute:s,onCancel:c,sqlQuery:l,setSqlQuery:u,primaryKeys:d,setPrimaryKeys:f,isCustomQueries:p,setCustomQueries:m,baseSqlQuery:h,setBaseSqlQuery:g}),[t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g]);return W(Br.Provider,{value:_,children:e})}function Hr(){return ht(Br)}function Ur({children:e}){let[t,n]=H(``);return W(Rr,{selectedCheckId:t,onSelectCheck:n,latestSelectedCheckId:t,setLatestSelectedCheckId:n,children:e})}const Wr=()=>{};function Gr(){let e=zr();return{latestSelectedCheckId:e.latestSelectedCheckId??``,setLatestSelectedCheckId:e.setLatestSelectedCheckId??Wr}}const Kr={INTEGER:`integer`,INT:`integer`,BIGINT:`integer`,SMALLINT:`integer`,TINYINT:`integer`,INT64:`integer`,INT32:`integer`,INT16:`integer`,INT8:`integer`,INT4:`integer`,INT2:`integer`,INT128:`integer`,MEDIUMINT:`integer`,SERIAL:`integer`,BIGSERIAL:`integer`,SMALLSERIAL:`integer`,HUGEINT:`integer`,UHUGEINT:`integer`,UTINYINT:`integer`,USMALLINT:`integer`,UINTEGER:`integer`,UBIGINT:`integer`,DOUBLE:`number`,FLOAT:`number`,REAL:`number`,NUMERIC:`number`,DECIMAL:`number`,NUMBER:`number`,FLOAT64:`number`,FLOAT32:`number`,"DOUBLE PRECISION":`number`,VARCHAR:`text`,TEXT:`text`,STRING:`text`,CHAR:`text`,"CHARACTER VARYING":`text`,CHARACTER:`text`,NCHAR:`text`,NVARCHAR:`text`,VARCHAR2:`text`,NVARCHAR2:`text`,CLOB:`text`,NCLOB:`text`,TINYTEXT:`text`,MEDIUMTEXT:`text`,LONGTEXT:`text`,BOOLEAN:`boolean`,BOOL:`boolean`,DATE:`date`,DATE32:`date`,TIMESTAMP:`datetime`,DATETIME:`datetime`,DATETIME64:`datetime`,TIMESTAMP_S:`datetime`,TIMESTAMP_MS:`datetime`,TIMESTAMP_NS:`datetime`,TIMESTAMP_NTZ:`datetime`,TIMESTAMP_LTZ:`datetime`,TIMESTAMP_TZ:`datetime`,TIMESTAMPTZ:`datetime`,"TIMESTAMP WITH TIME ZONE":`datetime`,"TIMESTAMP WITHOUT TIME ZONE":`datetime`,"TIMESTAMP WITH LOCAL TIME ZONE":`datetime`,DATETIME2:`datetime`,SMALLDATETIME:`datetime`,DATETIMEOFFSET:`datetime`,TIME:`time`,TIMETZ:`time`,"TIME WITH TIME ZONE":`time`,"TIME WITHOUT TIME ZONE":`time`,BINARY:`binary`,VARBINARY:`binary`,BYTES:`binary`,BLOB:`binary`,BYTEA:`binary`,TINYBLOB:`binary`,MEDIUMBLOB:`binary`,LONGBLOB:`binary`,JSON:`json`,JSONB:`json`,VARIANT:`json`,OBJECT:`json`,STRUCT:`json`,MAP:`json`,ARRAY:`array`,LIST:`array`,GEOGRAPHY:`geography`,GEOMETRY:`geography`,POINT:`geography`,LINESTRING:`geography`,POLYGON:`geography`,MULTIPOINT:`geography`,MULTILINESTRING:`geography`,MULTIPOLYGON:`geography`,GEOMETRYCOLLECTION:`geography`,SDO_GEOMETRY:`geography`};function qr(e){let t=e.trim().toUpperCase().replace(/\s+/g,` `);if(!t)return`unknown`;if(/^TINYINT\s*\(\s*1\s*\)$/.test(t))return`boolean`;let n=t.indexOf(`(`),r=n===-1?t:t.slice(0,n).trimEnd();return Kr[r]??`unknown`}const Jr=.6,Yr=18/30;function Xr({size:e=`1em`,style:t,className:n,children:r}){return G(`svg`,{viewBox:`0 0 30 18`,width:e,height:typeof e==`number`?e*Yr:`${Yr}em`,style:t,className:n,"aria-hidden":`true`,children:[W(`rect`,{x:Jr,y:Jr,width:30-Jr*2,height:18-Jr*2,rx:3,fill:`none`,stroke:`currentColor`,strokeWidth:1.2}),r]})}function Zr({text:e,size:t,style:n,className:r}){return W(Xr,{size:t,style:n,className:r,children:W(`text`,{x:15,y:9,textAnchor:`middle`,dominantBaseline:`central`,fontSize:10.5,fontFamily:`monospace`,fontWeight:500,fill:`currentColor`,children:e})})}function Qr(e){return W(Zr,{text:`123`,...e})}function $r(e){return W(Zr,{text:`1.2`,...e})}function ei(e){return W(Zr,{text:`abc`,...e})}function ti(e){return W(Zr,{text:`T/F`,...e})}function ni({size:e,style:t,className:n}){let r=gt(),i=Jr,a=Jr;return G(Xr,{size:e,style:t,className:n,children:[G(`mask`,{id:r,children:[W(`rect`,{x:i,y:a,width:14.4,height:16.8,fill:`white`}),W(`text`,{x:15/2,y:9,textAnchor:`middle`,dominantBaseline:`central`,fontSize:10,fontFamily:`monospace`,fontWeight:700,fill:`black`,children:`0`})]}),W(`path`,{d:`M15 ${a} H3.6 Q${i} ${a} ${i} 3.6 V14.400000000000002 Q${i} 17.400000000000002 3.6 17.400000000000002 H15 Z`,fill:`currentColor`,mask:`url(#${r})`}),W(`text`,{x:22.5,y:9,textAnchor:`middle`,dominantBaseline:`central`,fontSize:10,fontFamily:`monospace`,fontWeight:700,fill:`currentColor`,children:`1`})]})}function ri(e){return W(Zr,{text:`{ }`,...e})}function ii({size:e,style:t,className:n}){return G(Xr,{size:e,style:t,className:n,children:[G(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1.2,strokeLinecap:`round`,children:[W(`line`,{x1:6,y1:5,x2:4,y2:5}),W(`line`,{x1:4,y1:5,x2:4,y2:13}),W(`line`,{x1:4,y1:13,x2:6,y2:13}),W(`line`,{x1:24,y1:5,x2:26,y2:5}),W(`line`,{x1:26,y1:5,x2:26,y2:13}),W(`line`,{x1:26,y1:13,x2:24,y2:13})]}),W(`text`,{x:15,y:9,textAnchor:`middle`,dominantBaseline:`central`,fontSize:9,fontFamily:`monospace`,fontWeight:500,fill:`currentColor`,children:`1,2`})]})}function ai(e){return W(Zr,{text:`···`,...e})}function oi({size:e,style:t,className:n}){return W(Xr,{size:e,style:t,className:n,children:G(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,transform:`translate(9, 2.5)`,children:[W(`rect`,{x:0,y:2,width:11,height:9.5,rx:1.2}),W(`line`,{x1:3,y1:.5,x2:3,y2:3.5}),W(`line`,{x1:8,y1:.5,x2:8,y2:3.5}),W(`line`,{x1:0,y1:5.5,x2:11,y2:5.5})]})})}function si({size:e,style:t,className:n}){return W(Xr,{size:e,style:t,className:n,children:G(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,transform:`translate(4, 2.5)`,children:[W(`rect`,{x:0,y:2,width:9.5,height:8.5,rx:1.2}),W(`line`,{x1:2.5,y1:.5,x2:2.5,y2:3.5}),W(`line`,{x1:7,y1:.5,x2:7,y2:3.5}),W(`line`,{x1:0,y1:5,x2:9.5,y2:5}),W(`circle`,{cx:17,cy:8.5,r:3.2}),W(`line`,{x1:17,y1:6.8,x2:17,y2:8.5}),W(`line`,{x1:17,y1:8.5,x2:18.3,y2:9.5})]})})}function ci({size:e,style:t,className:n}){return W(Xr,{size:e,style:t,className:n,children:G(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,transform:`translate(10, 3.5)`,children:[W(`circle`,{cx:5,cy:5.5,r:5}),W(`line`,{x1:5,y1:3,x2:5,y2:5.5}),W(`line`,{x1:5,y1:5.5,x2:7,y2:6.8})]})})}function li({size:e,style:t,className:n}){return W(Xr,{size:e,style:t,className:n,children:G(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,children:[W(`path`,{d:`M15 14.5 C15 14.5 10.5 11 10.5 8 A4.5 4.5 0 0 1 19.5 8 C19.5 11 15 14.5 15 14.5 Z`,strokeWidth:1.2}),W(`circle`,{cx:15,cy:8,r:1.5,fill:`currentColor`,stroke:`none`})]})})}const ui={"CHARACTER VARYING":`VARCHAR`,"DOUBLE PRECISION":`DOUBLE`};function di(e){let t=e.trim();if(!t)return``;let n=t.search(/[([]/),r=n===-1?t:t.slice(0,n),i=n===-1?``:t.slice(n),a=r.trimEnd().toUpperCase();return qr(a)===`unknown`?e:`${ui[a]??a}${i}`}function fi(e){let{name:t,status:n,baseType:r,currentType:i,cllAvailable:a,impacted:o}=e,s;switch(n){case`added`:s=i?`${t} added ${i}`:`${t} added`;break;case`removed`:return`deleted ${t}`;case`type_changed`:s=i&&r===i?`${t} ${i}`:`${t}, was ${r} now ${i}`;break;case`definition_changed`:s=i?`${t} ${i} changed definition`:`${t} changed definition`;break;case`definition_unknown`:s=i?`${t} ${i} change status unknown`:`${t} change status unknown`;break;case`unchanged`:s=i?`${t} ${i}`:t;break;default:s=r&&i&&r!==i?`${t}, was ${r} now ${i}`:i?`${t} ${i}`:t}return o&&(s+=` · impacted`),a&&(s+=` · Click for column lineage`),s}const pi={integer:Qr,number:$r,text:ei,boolean:ti,date:oi,datetime:si,time:ci,binary:ni,json:ri,array:ii,geography:li,unknown:ai};function mi({type:e,size:t,style:n,className:r,disableTooltip:i}){let a=qr(e),o=pi[a],s=W(`span`,{"data-testid":`data-type-icon`,style:{display:`inline-flex`,alignItems:`center`,lineHeight:0},children:W(o,{size:t,style:n,className:r})});return i?s:W(Z,{title:e,placement:`top`,arrow:!0,children:s})}const hi=[`passthrough`,`renamed`,`derived`,`source`,`unknown`],gi={passthrough:{letter:`P`,label:`Passthrough`,description:`Same-name reference to an upstream column`,color:`default`},renamed:{letter:`R`,label:`Renamed`,description:`Direct upstream column reference with a different output name`,color:`warning`},derived:{letter:`D`,label:`Derived`,description:`Expression derived from one or more upstream columns`,color:`warning`},source:{letter:`S`,label:`Source`,description:`No upstream column dependency`,color:`info`},unknown:{letter:`U`,label:`Unknown`,description:`Transformation could not be determined`,color:`error`}};function _i(e){return typeof e==`string`&&Ze(gi,e)}function vi(e,t){let n=new Set;for(let r of e){if(r.type!==`lineageGraphColumnNode`)continue;let{changeStatus:e,transformationType:i}=r.data;_i(i)&&(e&&t(r.data.node.id)||n.add(i))}return hi.filter(e=>n.has(e))}const yi=.35,bi=.1,xi=.3,Si=.15,Ci=`opacity(0.4) grayscale(40%)`,wi=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M1.5 1h13l.5.5v13l-.5.5h-13l-.5-.5v-13l.5-.5zM2 2v12h12V2H2zm6.5 2.5v2.5h2.5v1H8.5v2.5h-1V8H5V7h2.5V4.5h1z`})}),Ti=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M1.5 1h13l.5.5v13l-.5.5h-13l-.5-.5v-13l.5-.5zM2 2v12h12V2H2zm3 5.5h6v1H5v-1z`})}),Ei=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M8 2 1.5 14h13L8 2zm0 2.4 4.3 8.1H3.7L8 4.4z`})}),Di=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6z`})}),Oi=e=>G(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[W(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M1.5 1h13l.5.5v13l-.5.5h-13l-.5-.5v-13l.5-.5zM2 2v12h12V2H2z`}),W(`path`,{d:`M7.5 4h1v5h-1V4zm0 6h1v1.5h-1V10z`})]}),ki=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z`})}),Ai=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 448 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z`})}),ji=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z`})}),Mi=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z`})}),Ni=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 448 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M160 80c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48h-32c-26.5 0-48-21.5-48-48V80zM0 272c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48v160c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V272zM368 96h32c26.5 0 48 21.5 48 48v288c0 26.5-21.5 48-48 48h-32c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48z`})}),Pi=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-15.9-5.8-30.4-15.3-41.6l76.6-147.4c6.1-11.8 1.5-26.3-10.2-32.4s-26.2-1.5-32.4 10.2L262.1 288.3c-2-.2-4-.3-6.1-.3c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64z`})}),Fi=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M418.4 157.9c35.3-8.3 61.6-40 61.6-77.9c0-44.2-35.8-80-80-80c-43.4 0-78.7 34.5-80 77.5L136.2 151.1C121.7 136.8 101.9 128 80 128c-44.2 0-80 35.8-80 80s35.8 80 80 80c12.2 0 23.8-2.7 34.1-7.6L259.7 407.8c-2.4 7.6-3.7 15.8-3.7 24.2c0 44.2 35.8 80 80 80s80-35.8 80-80c0-27.7-14-52.1-35.4-66.4l37.8-207.7zM156.3 232.2c2.2-6.9 3.5-14.2 3.7-21.7l183.8-73.5c3.6 3.5 7.4 6.7 11.6 9.5L317.6 354.1c-5.5 1.3-10.8 3.1-15.8 5.5L156.3 232.2z`})}),Ii=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M256 128C141.4 128 37.5 193.3 1.6 246.1c-2.1 3.2-2.1 7.5 0 10.7C37.5 309.7 141.4 384 256 384s218.5-74.3 254.4-127.2c2.1-3.2 2.1-7.5 0-10.7C474.5 193.3 370.6 128 256 128zm0 208c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96zm0-144c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z`})}),Li=e=>{let t=gt(),n=`inc-bottom-${t}`,r=`inc-top-${t}`;return G(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[G(`defs`,{children:[W(`clipPath`,{id:n,children:W(`rect`,{x:`0`,y:`200`,width:`512`,height:`312`})}),W(`clipPath`,{id:r,children:W(`rect`,{x:`0`,y:`0`,width:`512`,height:`200`})})]}),W(`path`,{clipPath:`url(#${n})`,d:`M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z`}),W(`path`,{clipPath:`url(#${r})`,d:`M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z`,fill:`none`,stroke:`currentColor`,strokeWidth:`12`,strokeDasharray:`20 12`})]})},Ri=e=>W(`svg`,{stroke:`currentColor`,fill:`none`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z`,fill:`none`,stroke:`currentColor`,strokeWidth:`12`,strokeDasharray:`20 12`})}),zi=e=>G(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[W(`g`,{transform:`translate(0, 0) scale(0.75)`,children:W(`path`,{d:`M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z`})}),W(`g`,{transform:`translate(250, 260) scale(0.5)`,children:W(`path`,{d:`M256 128C141.4 128 37.5 193.3 1.6 246.1c-2.1 3.2-2.1 7.5 0 10.7C37.5 309.7 141.4 384 256 384s218.5-74.3 254.4-127.2c2.1-3.2 2.1-7.5 0-10.7C474.5 193.3 370.6 128 256 128zm0 208c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96zm0-144c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z`})})]}),Bi={added:wi,removed:Ti,modified:Ei,impacted:Oi};function Vi(e,t,n=`default`){let r=e??`unchanged`;if(r===`impacted`){let e=qi.impacted,n=(t?Yi:Ji).impacted;return{color:e,hexColor:e,backgroundColor:n,hexBackgroundColor:n,borderColor:e,secondaryAccent:e,icon:Oi}}let i=N(t??!1),a=i.structural.neutral;return{color:a.border,hexColor:a.border,backgroundColor:a.background,hexBackgroundColor:a.background,borderColor:a.border,secondaryAccent:i.structural.secondaryAccent[r],icon:Bi[r]}}function Hi(e){return Vi(`impacted`,e,`cll`)}function Ui(e,t){let{changeStatus:n,isImpacted:r,newCllExperience:i}=e;return i&&r&&(!n||n===`unchanged`)?Hi(t):Vi(n,t,i?`cll`:`default`)}function Wi(e){switch(e){case`model`:return{color:P.cyan[200],icon:ki};case`source`:return{color:P.green[300],icon:Ai};case`seed`:return{color:P.green[500],icon:ji};case`snapshot`:return{color:P.green[500],icon:Mi};case`metric`:return{color:P.rose[200],icon:Ni};case`exposure`:return{color:P.rose[200],icon:Pi};case`semantic_model`:return{color:P.rose[400],icon:Fi};default:return{color:`inherit`,icon:void 0}}}function Gi(e){switch(e){case`table`:return{color:P.cyan[200],icon:ki};case`view`:return{color:P.fuchsia[300],icon:Ii};case`incremental`:return{color:P.iochmara[300],icon:Li};case`ephemeral`:return{color:P.neutral[400],icon:Ri};case`materialized_view`:case`dynamic_table`:case`streaming_table`:return{color:P.fuchsia[200],icon:zi};default:return{color:`inherit`,icon:void 0}}}function Ki(e,t,n){return t?`${e} - ${t===`model`&&n||t}`:e}P.green[500],P.red[500],P.amber[500],P.neutral[500],P.green[100],P.red[200],P.amber[100],P.white,P.green[900],P.red[950],P.amber[900],P.neutral[700];const qi={added:`rgb(46 160 67)`,removed:`rgb(248 81 73)`,modified:`rgb(212 133 11)`,impacted:`rgb(252 211 77)`,unchanged:P.neutral[500]},Ji={added:`rgb(222 248 227)`,removed:`rgb(252 225 224)`,modified:`rgb(255 237 175)`,impacted:`rgb(254 249 227)`,unchanged:P.white},Yi={added:`rgb(30 58 30)`,removed:`rgb(68 35 35)`,modified:`rgb(75 65 33)`,impacted:`rgb(50 44 24)`,unchanged:`rgb(38 38 38)`},Xi=`252 211 77`,Zi={light:qi.impacted,dark:`rgb(${Xi})`},Qi={light:`rgb(${Xi} / 0.35)`,dark:`rgb(${Xi} / 0.18)`},$i={light:`rgb(146 64 14)`,dark:`rgb(${Xi})`},ea={light:`rgb(255 173 21 / 0.25)`,dark:`rgb(255 173 21 / 0.2)`},ta={light:`rgb(160 100 0)`,dark:`rgb(255 200 80)`},na={light:`rgb(46 160 67)`,dark:`rgb(80 200 100)`},ra={light:`rgb(46 160 67 / 0.2)`,dark:`rgb(46 160 67 / 0.2)`},ia={light:`rgb(22 110 40)`,dark:na.dark},aa=24,oa=280;function sa({size:e=14}){return G(`svg`,{width:e,height:e,viewBox:`0 0 16 16`,fill:`currentColor`,xmlns:`http://www.w3.org/2000/svg`,children:[W(`circle`,{cx:`8`,cy:`3`,r:`1.5`}),W(`circle`,{cx:`8`,cy:`8`,r:`1.5`}),W(`circle`,{cx:`8`,cy:`13`,r:`1.5`})]})}function ca({changeStatus:e}){return e?W(xe,{status:e,emphasis:`secondary`,size:`sm`}):null}function la({transformationType:e}){if(!e)return null;let t=gi[e],n=`${t.label} transformation`;return W(Z,{describeChild:!0,title:`${t.label}: ${t.description}`,placement:`top`,children:W(K,{component:`span`,role:`img`,"aria-label":n,tabIndex:0,sx:{display:`inline-flex`},children:W(on,{"aria-hidden":`true`,label:t.letter,size:`small`,color:t.color,sx:{fontSize:`0.6667rem`,height:18,minWidth:18,"& .MuiChip-label":{px:.5}}})})})}function ua({count:e,direction:t}){if(!e)return null;let n=`${e} ${t} lineage column${e===1?``:`s`} hidden by the current view`;return W(K,{component:`span`,role:`img`,"aria-label":n,title:n,sx:{display:`inline-flex`,alignItems:`center`,flexShrink:0,height:18,px:.5,border:`1px solid`,borderColor:`warning.main`,borderRadius:`4px`,color:`warning.dark`,backgroundColor:`action.hover`,fontSize:`0.625rem`,fontWeight:600,lineHeight:1},children:t===`upstream`?`← ${e}`:`${e} →`})}function da({id:e,data:t,showContent:n=!0,showChangeAnalysis:r=!1,isDark:i=!1,newCllExperience:a,onColumnClick:o,onContextMenu:s}){let{column:c,type:l,transformationType:u,changeStatus:d,isHighlighted:f=!0,isFocused:p=!1,isImpacted:m=!1,hiddenUpstreamColumnCount:h,hiddenDownstreamColumnCount:g}=t,_=a??t.newCllExperience??!1,v=N(i),[y,b]=H(!1);if(!n)return null;let x=d?p?i?`#404040`:`#E5E5E5`:y?i?`#262626`:`#F5F5F5`:v.structural.neutral.background:void 0,S=d?v.structural.secondaryAccent[d]:void 0,C=m&&!d?Hi(i):void 0,w=x??C?.backgroundColor,T=S??C?.color,E=_&&i?`#262626`:`background.paper`,D=_&&i?`#333333`:`action.hover`,O=_&&i?`#404040`:`action.selected`,k=_&&i?`#ffffff`:`text.primary`;return G(K,{onClick:()=>o?.(e),sx:{display:`flex`,width:280,padding:`0px 10px`,border:`1px solid`,borderColor:d?v.structural.neutral.border:`divider`,backgroundColor:w||(p?O:y?D:E),borderLeft:T?`3px solid ${T}`:void 0,filter:f?`none`:Ci,cursor:`pointer`,transition:`background-color 0.15s ease`},onMouseEnter:()=>b(!0),onMouseLeave:()=>b(!1),children:[G(K,{sx:{display:`flex`,fontSize:`0.6875rem`,color:k,width:`100%`,gap:`6px`,alignItems:`center`,height:`23px`},children:[W(ua,{count:h,direction:`upstream`}),d&&W(ca,{changeStatus:d}),(!r||!d)&&W(la,{transformationType:u}),W(K,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,flexGrow:1,height:`25px`,lineHeight:`25px`},children:c}),W(ua,{count:g,direction:`downstream`}),y&&s?W(K,{sx:{display:`inline-flex`,alignItems:`center`,cursor:`pointer`,"&:hover":{color:`text.primary`}},onClick:t=>{t.preventDefault(),t.stopPropagation(),s(t,e)},"data-testid":`column-kebab-menu`,children:W(sa,{size:14})}):l&&W(mi,{type:l,style:{flexShrink:0,opacity:.7,fontSize:`1rem`}})]}),W(ln,{type:`target`,position:dn.Left,isConnectable:!1,style:{left:0,visibility:`hidden`}}),W(ln,{type:`source`,position:dn.Right,isConnectable:!1,style:{right:0,visibility:`hidden`}})]})}const fa=L(da);fa.displayName=`LineageColumnNode`;function pa({id:e,sourceX:t,sourceY:n,targetX:r,targetY:i,sourcePosition:a,targetPosition:o,data:s,selected:c}){let l=F(),u=s?.changeStatus??`unchanged`,d=`${ye[u].label} change`,f=s?.isHighlighted??!1,p=s?.label,[m,h,g]=fn({sourceX:t,sourceY:n,sourcePosition:a,targetX:r,targetY:i,targetPosition:o}),_=N(l).structural.neutral.border,v=f||c?2.5:1.5,y=f||c?1:.6;return G(U,{children:[W(sn,{id:e,path:m,role:`img`,"aria-label":d,style:{stroke:_,strokeDasharray:ge[u],strokeWidth:v,opacity:y}}),p&&W(cn,{children:W(`div`,{style:{position:`absolute`,transform:`translate(-50%, -50%) translate(${h}px,${g}px)`,fontSize:10,fontWeight:500,background:`white`,padding:`2px 4px`,borderRadius:4,pointerEvents:`all`},children:p})})]})}const ma=L(pa);ma.displayName=`LineageEdge`;function ha({changedOnly:e,onChange:t}){return W(hn,{control:W(mn,{checked:e??!1,onChange:()=>{t()},size:`small`}),label:`Changed only`,slotProps:{typography:{variant:`body2`}}})}function ga({value:e,onChange:t,textOn:n,textOff:r}){return G(gn,{variant:`outlined`,size:`xsmall`,sx:{borderRadius:1},children:[W(q,{onClick:()=>{t(!1)},sx:{color:e?`text.disabled`:`text.primary`,bgcolor:e?`action.hover`:`background.paper`,borderColor:`divider`,"&:hover":{bgcolor:e?`action.selected`:`background.paper`,borderColor:`divider`}},children:r??`Off`}),W(q,{onClick:()=>{t(!0)},sx:{color:e?`text.primary`:`text.disabled`,bgcolor:e?`background.paper`:`action.hover`,borderColor:`divider`,"&:hover":{bgcolor:e?`background.paper`:`action.selected`,borderColor:`divider`}},children:n??`On`})]})}function _a({displayMode:e,onDisplayModeChanged:t}){return G(U,{children:[e===`inline`&&G(U,{children:[W(ze,{value:`Base`,comparisonRole:`base`,grayOut:!1,fontSize:`10pt`,noCopy:!0}),W(ze,{value:`Current`,comparisonRole:`current`,grayOut:!1,fontSize:`10pt`,noCopy:!0})]}),W(ga,{value:e===`side_by_side`,onChange:e=>{t(e?`side_by_side`:`inline`)},textOff:`Inline`,textOn:`Side by side`})]})}const va=e=>{let{defaultValues:t,suggestionList:n,onValuesChange:r,className:i}=e,[a,o]=H(t??[]),[s,c]=H(``),[l,u]=H(!1),[d,f]=H(null),p=V(null),m=!!d,h=t=>t.length>1?`${t.length} ${e.unitName}s selected`:t.length===1?t[0]:``,g=e=>{f(e.currentTarget),setTimeout(()=>p.current?.focus(),100)},_=()=>{f(null),u(!1)},v=e=>{a.includes(e)||(c(``),o([...a,e]),r([...a,e]))},y=()=>{c(``),o([]),r([])},b=e=>{o(a.filter(t=>t!==e)),r(a.filter(t=>t!==e))},x=s.toLowerCase(),S=n?.filter(e=>x===``||e.toLowerCase().includes(x)).filter(e=>!a.includes(e))??[],C=()=>{switch(e.size){case`2xs`:return`0.625rem`;case`xs`:return`0.75rem`;case`sm`:return`0.875rem`;default:return`0.875rem`}};return G(K,{sx:{display:`flex`,alignItems:`center`,width:e.width},className:i,children:[G(q,{variant:`outlined`,color:`neutral`,size:`small`,onClick:g,disabled:e.disabled,sx:{width:`100%`,height:(()=>{switch(e.size){case`2xs`:return 24;case`xs`:return 28;case`sm`:return 32;default:return 36}})(),justifyContent:`space-between`,textTransform:`none`,fontSize:C(),fontWeight:`normal`,px:1},children:[W(Y,{component:`span`,sx:{fontSize:C(),color:a.length>0?`text.primary`:`text.secondary`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:h(a)||e.placeholder||``}),a.length>0&&W(Y,{component:`span`,onClick:e=>{e.stopPropagation(),y()},sx:{fontSize:C(),color:`primary.main`,cursor:`pointer`,ml:1,"&:hover":{textDecoration:`underline`}},children:`Clear`})]}),G(bn,{anchorEl:d,open:m,onClose:_,slotProps:{paper:{sx:{width:e.width,fontSize:C()}}},children:[W(K,{sx:{px:.5,py:.5},children:G(K,{sx:{border:`1px solid`,borderColor:`divider`,borderRadius:1,p:.5,display:`flex`,flexWrap:`wrap`,gap:.5,alignItems:`center`},className:`no-track-pii-safe`,children:[a.map(e=>W(on,{label:e,size:`small`,onDelete:()=>b(e),sx:{height:22,fontSize:C()}},e)),W(yn,{inputRef:p,placeholder:`Filter or add custom keys`,value:s,onChange:e=>{c(e.target.value),u(!0)},onKeyDown:e=>{e.key!==`Escape`&&e.stopPropagation();let t=e.target,n=t.value.trim().replace(`,`,``);switch(e.key){case`,`:case`Enter`:e.preventDefault(),n&&(v(n),c(``));break;case`Backspace`:t.value===``&&a.length>0&&(o(a.slice(0,-1)),r(a.slice(0,-1)))}},onBlur:()=>{p.current&&l&&p.current.focus()},sx:{flex:1,minWidth:120,fontSize:C(),"& input":{p:.5}}})]})}),W(Pt,{}),s!==``&&!n?.includes(s)&&G(Q,{onClick:()=>{v(s),u(!1)},sx:{fontSize:C()},children:[`Add '`,s,`' to the list`]}),S.slice(0,10).map((e,t)=>W(Q,{onClick:()=>{v(e)},sx:{fontSize:C()},children:e},xn.uniqueId(`option-${t}`))),S.length>10&&W(Z,{title:`Please use filter to find more items`,placement:`top`,children:G(K,{sx:{px:1.5,py:.5,color:`text.secondary`,fontSize:`8pt`},children:[`and `,S.length-10,` more items...`]})})]})]})},ya=`Paired baseline and current continuous distribution`,ba=`Paired baseline and current categorical distribution`;function xa({ariaLabel:e,className:t,children:n}){return G(`svg`,{width:140,height:28,viewBox:`0 0 140 28`,className:t,style:{display:`block`,overflow:`visible`},role:`img`,"aria-label":e,children:[W(`title`,{children:e}),n]})}function Sa({y:e,stroke:t}){return W(`line`,{x1:0,y1:e,x2:140,y2:e,stroke:t,strokeWidth:.5})}function Ca(e,t,n){return`${e} [base: ${`${(t*100).toFixed(1)}%`}, current: ${`${(n*100).toFixed(1)}%`}]`}function wa(e,t,n){return`${e} [${t===null?`not in base top-K`:`base rank: ${t}`}, ${n===null?`not in current top-K`:`current rank: ${n}`}]`}function Ta({data:e,formatValue:t=Je,className:n}){let r=F(),i=N(r).comparison,a=_e(r),o=i.base.chartFill,s=i.current.chartFill,c=a.borderColor,l=`phc-overlap-${gt().replace(/:/g,``)}`,u=B(()=>Da(e,140),[e]);return u.bins.length===0?W(xa,{ariaLabel:ya,className:n}):G(xa,{ariaLabel:ya,className:n,children:[W(`defs`,{children:G(`pattern`,{id:l,patternUnits:`userSpaceOnUse`,width:4,height:4,children:[W(`rect`,{x:0,y:0,width:2,height:2,fill:o}),W(`rect`,{x:2,y:2,width:2,height:2,fill:o}),W(`rect`,{x:2,y:0,width:2,height:2,fill:s}),W(`rect`,{x:0,y:2,width:2,height:2,fill:s})]})}),u.bins.map((e,n)=>{let r=e.baseDensity/u.maxDensity*26,a=e.currentDensity/u.maxDensity*26,o=Math.min(r,a),s=Math.max(r,a),c=r>a?i.base:i.current,d=c.chartFill,f=Math.max(.5,e.width-.25),p=Oa(e,t);return G(`g`,{children:[W(`rect`,{x:e.x,y:0,width:e.width,height:26,fill:`none`,pointerEvents:`all`,children:W(`title`,{children:p})}),o>0&&W(`rect`,{x:e.x,y:26-o,width:f,height:o,fill:`url(#${l})`,stroke:c.border,strokeWidth:2,pointerEvents:`none`}),s>o&&W(`rect`,{x:e.x,y:26-s,width:f,height:s-o,fill:d,stroke:c.border,strokeWidth:2,pointerEvents:`none`})]},n)}),W(Sa,{y:26,stroke:c})]})}function Ea(e,t,n){if(n<e[0]||n>e[e.length-1])return 0;for(let r=0;r<t.length;r+=1)if(n>=e[r]&&n<e[r+1])return t[r];return t[t.length-1]}function Da(e,t){let{baseBinEdges:n,currentBinEdges:r,baseDensity:i,currentDensity:a}=e,o=e=>e.every(Number.isFinite),s=i.length>0&&n.length===i.length+1&&o(n)&&o(i),c=a.length>0&&r.length===a.length+1&&o(r)&&o(a),l=!s&&(n.length>0||i.length>0),u=!c&&(r.length>0||a.length>0);if(l||u||!s&&!c)return{bins:[],maxDensity:0,minVal:0,maxVal:0};let d=[...s?n:[],...c?r:[]],f=Math.min(...d),p=Math.max(...d),m=p-f,h=[];if(m<=0||!Number.isFinite(m)){let e=Math.max(i.length,a.length),n=t/e;for(let t=0;t<e;t+=1)h.push({x:t*n,width:n,baseDensity:i[t]??0,currentDensity:a[t]??0,lo:f,hi:p})}else{let e=Array.from(new Set(d)).sort((e,t)=>e-t);for(let o=0;o<e.length-1;o+=1){let l=e[o],u=e[o+1];if(u<=l)continue;let d=(l+u)/2;h.push({x:(l-f)/m*t,width:(u-l)/m*t,baseDensity:s?Ea(n,i,d):0,currentDensity:c?Ea(r,a,d):0,lo:l,hi:u})}}if(h.length>0){let e=h[h.length-1];e.width=Math.max(0,t-e.x)}let g=[];for(let e of h)g.push(e.baseDensity,e.currentDensity);return{bins:h,maxDensity:Math.max(1e-9,...g),minVal:f,maxVal:p}}function Oa(e,t){let n=e.hi-e.lo,r=n>0?e.baseDensity*n:0,i=n>0?e.currentDensity*n:0;return Ca(`${t(e.lo)}–${t(e.hi)}`,r,i)}function ka({data:e,formatValue:t=ja,className:n}){let r=F(),i=N(r).comparison,a=_e(r),o=i.base.chartFill,s=i.current.chartFill,c=a.borderColor,l=a.secondaryTextColor,u=B(()=>Aa(e,26,t),[e,26,t]);if(u.length===0)return W(xa,{ariaLabel:ba,className:n});let d=140/Math.max(1,u.length),f=d*.1,p=d-f*2,m=Math.max(1,Math.min(2,p*.1)),h=Math.max(1,(p-m)/2);return G(xa,{ariaLabel:ba,className:n,children:[u.map((e,t)=>{let n=t*d,r=n+f,a=n+f+h+m;return G(`g`,{children:[W(`rect`,{x:n,y:0,width:d,height:26,fill:`none`,pointerEvents:`all`,children:W(`title`,{children:e.hoverTitle})}),e.baseH>0&&W(`rect`,{x:r,y:26-e.baseH,width:h,height:e.baseH,fill:o,stroke:i.base.border,strokeWidth:2,pointerEvents:`none`}),e.currH>0&&W(`rect`,{x:a,y:26-e.currH,width:h,height:e.currH,fill:s,stroke:i.current.border,strokeWidth:2,pointerEvents:`none`})]},t)}),W(Sa,{y:26,stroke:c}),e.trimmed&&G(`g`,{pointerEvents:`none`,children:[W(`rect`,{x:102,y:1,width:37,height:10,fill:a.overlayBackgroundColor,rx:2,"data-testid":`trimmed-marker-bg`}),W(`text`,{x:139,y:9,fontFamily:`system-ui, -apple-system, sans-serif`,fontSize:8,fill:l,textAnchor:`end`,children:`trimmed`})]})]})}function Aa(e,t,n){if(e.mode===`ranks`){let{slots:r}=Pa(e);return r.map(r=>({baseH:Ma(r.baseRank,e.k,t),currH:Ma(r.currRank,e.k,t),hoverTitle:wa(n(r.value),r.baseRank,r.currRank)}))}let{slots:r,maxProp:i}=Na(e);return r.map(e=>({baseH:e.baseProp/i*t,currH:e.currProp/i*t,hoverTitle:Ca(n(e.value),e.baseProp,e.currProp)}))}function ja(e){return String(e)}function Ma(e,t,n){if(e===null||t<=0)return 0;let r=(t-e+1)/t*n;return Math.max(0,Math.min(n,r))}function Na(e){let{values:t,baseCounts:n,currentCounts:r,baseTotal:i,currentTotal:a}=e;if(!Array.isArray(t)||!Array.isArray(n)||!Array.isArray(r)||t.length===0||t.length!==n.length||t.length!==r.length)return{slots:[],maxProp:0};let o=t.map((e,t)=>{let o=n[t]??0,s=r[t]??0;return{value:e,baseCount:o,currCount:s,baseProp:i>0?o/i:0,currProp:a>0?s/a:0}}),s=[];for(let e of o)s.push(e.baseProp),s.push(e.currProp);return{slots:o,maxProp:Math.max(1e-9,...s)}}function Pa(e){let{values:t,baseRanks:n,currentRanks:r}=e;if(!Array.isArray(t)||!Array.isArray(n)||!Array.isArray(r)||t.length===0||t.length!==n.length||t.length!==r.length)return{slots:[]};let i=t.map((e,t)=>({value:e,baseRank:n[t]??null,currRank:r[t]??null})),a=i.filter(e=>e.baseRank!==null||e.currRank!==null);return a.length<i.length&&console.warn(`[PairedHistogramDiscrete] computeRanksSlots: dropped ${i.length-a.length} value(s) absent from both base and current top-K (Stage B contract violation).`),{slots:a}}function Fa({title:e,testId:t}){return W(`span`,{className:`schema-distribution-error`,title:e,role:`img`,"aria-label":e,"data-testid":t,children:W(Sn,{"aria-hidden":!0})})}function Ia(){return W(`span`,{className:`schema-distribution-not-profiled`,title:`Not profiled — only changed columns are shown`,"aria-hidden":!0,"data-testid":`inline-distribution-not-profiled`,children:`–`})}function La(e){return e==null?`(null)`:typeof e==`boolean`?e?`true`:`false`:String(e)}function Ra(e){let t=[...e.base_bin_edges,...e.current_bin_edges].filter(Number.isFinite);if(t.length===0)return e=>Be(e);let n=Array.from(new Set(t)).sort((e,t)=>e-t);if(n.length<2)return e=>Be(e);let r=1/0;for(let e=1;e<n.length;e++){let t=n[e]-n[e-1];t<r&&(r=t)}if(r>=86400)return e=>Be(e);let i=r<60?`seconds`:!0;return e=>Be(e,i)}function za(e){return{baseBinEdges:e.base_bin_edges,currentBinEdges:e.current_bin_edges,baseDensity:e.base_density,currentDensity:e.current_density,baseTotal:e.base_total,currentTotal:e.current_total}}function Ba(e,t,n){return e.mode===`ranks`?{mode:`ranks`,values:e.values,baseRanks:e.base_ranks,currentRanks:e.current_ranks,k:e.k,trimmed:e.trimmed}:{mode:`counts`,values:e.values,baseCounts:e.base_counts.map(e=>e??0),currentCounts:e.current_counts.map(e=>e??0),baseTotal:t,currentTotal:n,trimmed:e.trimmed}}function Va({payload:e,columnType:t,baseTotal:n=0,currentTotal:r=0,isLoading:i=!1,hasError:a=!1,notProfiled:o=!1,className:s}){if(i)return W(`span`,{className:`schema-distribution-pending`,"aria-label":`Loading distribution`,role:`status`,"data-testid":`inline-distribution-pending`});if(a)return W(Fa,{title:`Failed to read distribution`,testId:`inline-distribution-error`});if(!e)return o?W(Ia,{}):null;if(e.kind===null)return W(Fa,{title:`Failed to read distribution for this column`,testId:`inline-distribution-column-failure`});if(e.kind===`histogram`){let n=t?qr(t):`unknown`,r=n===`time`?Fe:n===`date`||n===`datetime`?Ra(e):void 0;return W(Ta,{data:za(e),formatValue:r,className:s})}return W(ka,{data:Ba(e,n,r),formatValue:La,className:s})}const Ha=new Set([`DATE`,`DATETIME`,`TIMESTAMP`,`YEAR`,`DATETIME2`,`SMALLDATETIME`,`DATETIMEOFFSET`,`INTERVAL`,`TIMESTAMPTZ`,`TIMESTAMP WITH TIME ZONE`,`TIMESTAMP WITHOUT TIME ZONE`,`TIMESTAMP WITH LOCAL TIME ZONE`,`TIMESTAMP_LTZ`,`TIMESTAMP_NTZ`,`TIMESTAMP_TZ`]),Ua=/\s*\(\s*\d+\s*\)/;function Wa(e){let t=e.trim().toUpperCase().replace(/\s+/g,` `).replace(Ua,``);return Ha.has(t)}function Ga(e){let t=[`CHAR`,`VARCHAR`,`TINYTEXT`,`TEXT`,`MEDIUMTEXT`,`LONGTEXT`,`NCHAR`,`NVARCHAR`,`VARCHAR2`,`NVARCHAR2`,`CLOB`,`NCLOB`,`VARCHAR(MAX)`,`XML`,`JSON`],n=e.trim().toUpperCase();return t.includes(n)?!0:/^(VARCHAR|NVARCHAR|VARCHAR2|NVARCHAR2|CHAR|NCHAR)\(\d+\)$/.test(n)}function Ka(e){return[`BOOLEAN`,`TINYINT(1)`,`BIT`,`NUMBER(1)`,`BOOL`].includes(e.toUpperCase())}function qa(e){return qr(e)===`time`||Wa(e)}function Ja(e){return!Ga(e)&&!Ka(e)&&!qa(e)}function Ya({params:e,onParamsChanged:t,setIsReadyToExecute:n,onSubmitRequested:r}){let{columns:i,columnAvailability:a,isLoading:o,error:s}=_d(e.model),c=i.filter(e=>!Ga(e.type)&&!Ka(e.type)&&!qa(e.type)),l=e=>{let t=a[e];return t?.base===!0&&t.current===!0},u=c.filter(e=>l(e.name));return o?W(K,{children:`Loading...`}):i.length===0||s?W(K,{children:`Error: Please provide the 'catalog.json' to list column candidates`}):W(K,{sx:{m:`16px`},children:G(En,{fullWidth:!0,disabled:u.length===0,children:[W(Dn,{sx:{mb:1},children:`Pick a column to show Histogram Diff`}),G(On,{value:e.column_name,onChange:i=>{let a=i.target.value,o=c.find(e=>e.name===a),s=o!==void 0&&l(a);n(s);let u=o?.type??``,d={...e,column_name:a,column_type:u};t(d),s&&u&&r?.(d)},children:[W(`option`,{value:``,children:u.length===0?`No numeric column is available in both environments`:`Select column`}),c.map(e=>G(`option`,{value:e.name,className:`no-track-pii-safe`,disabled:!l(e.name),children:[e.name,` : `,e.type]},e.name))]})]})})}const Xa={breaking:`Model-Wide Change`,partial_breaking:`Column Change`,non_breaking:`Additive Change`,unknown:`Unknown`},Za=[{category:`breaking`,description:`Change affects the model as a whole`},{category:`partial_breaking`,description:`Change is scoped to specific columns`},{category:`non_breaking`,description:`Change only adds new columns or structure`},{category:`unknown`,description:`Change category could not be determined`}];function Qa(e){return e!==void 0&&Ze(Xa,e)}function $a(e){return Qa(e)?Xa[e]:void 0}function eo(e,t){return Qa(e)?e:Qa(t)?t:void 0}const to={badge:{fontSize:`0.65rem`,fontWeight:700,lineHeight:1,height:16,minWidth:16,px:.5,borderRadius:`3px`},titleChip:{fontSize:`1rem`,fontWeight:600,lineHeight:1.4,height:`auto`,minWidth:0,px:1,py:.25,borderRadius:`6px`}};function no({tokens:e,variant:t=`badge`,testId:n,ariaLabel:r,children:i,sx:a,...o}){return W(kn,{"data-testid":n,"aria-label":r,sx:[{display:`inline-flex`,alignItems:`center`,justifyContent:`center`,backgroundColor:e.badgeBg,border:`1px solid ${e.badgeBorder}`,color:e.fg},to[t],...Array.isArray(a)?a:a?[a]:[]],...o,children:i})}function ro(e,t){return{isWholeModelChanged:t.wholeModelChangedNodeIds.has(e),isWholeModelImpacted:t.wholeModelImpactedNodeIds.has(e)}}const io={changed:{tooltip:`Whole-model change`,ariaLabel:`whole-model change`},impacted:{tooltip:`Whole-model impact`,ariaLabel:`whole-model impact`}},ao={additive:{text:`ADD`,tooltip:`Additive change`,ariaLabel:`additive change`,testId:`whole-model-additive-badge`},"column-changed":{text:`COLUMN`,tooltip:`Column-only change`,ariaLabel:`column-only change`,testId:`column-changed-badge`},"column-impacted":{text:`COLUMN`,tooltip:`Column-only impact`,ariaLabel:`column-only impact`,testId:`column-impacted-badge`}};function oo(e){return e.newCllExperience?e.isWholeModelChanged?`changed`:e.isWholeModelImpacted?`impacted`:null:null}function so(e){return!e.newCllExperience||e.isWholeModelChanged||e.isWholeModelImpacted?null:e.changeCategory===`partial_breaking`?`column-changed`:e.isImpacted?`column-impacted`:e.changeCategory===`non_breaking`?`additive`:null}function co(e,t){let n=oo(e);return n?{kind:n,...io[n],tokens:mo(n,t)}:null}function lo(e,t){let n=so(e);return n?{kind:n,...ao[n],tokens:mo(n,t)}:null}const uo={additive:0,"column-changed":1,"column-impacted":2},fo=Object.keys(ao).sort((e,t)=>uo[e]-uo[t]);function po(e){return fo.map(t=>({kind:t,...ao[t],tokens:mo(t,e)}))}function mo(e,t){let n=t?`dark`:`light`;return e===`changed`||e===`column-changed`?{stripeAccent:`var(--schema-color-changed-accent)`,fg:ta[n],badgeBg:ea[n],badgeBorder:`rgb(212 133 11)`}:e===`additive`?{stripeAccent:`var(--schema-color-added-accent)`,fg:ia[n],badgeBg:ra[n],badgeBorder:na[n]}:{stripeAccent:`var(--schema-color-impacted-accent)`,fg:$i[n],badgeBg:Qi[n],badgeBorder:Zi[n]}}function ho(e){let t=oo(e);if(t)return io[t].tooltip;let n=so(e);if(n)return ao[n].tooltip}function go(e,t){let n=Ki(e.name,e.resourceType,e.materialized),r=ho(t);return r?`${n} - ${r}`:n}const _o=[{status:`added`,label:`Added`,description:`Newly added resource`},{status:`removed`,label:`Removed`,description:`Removed resource`},{status:`modified`,label:`Modified`,description:`Modified resource`},{status:`impacted`,label:`Impacted`,description:`Downstream of a modified resource`}],vo=hi.map(e=>({type:e,label:gi[e].label,description:gi[e].description}));function yo({status:e,isDark:t}){return e===`impacted`?W(K,{"aria-label":`Impacted change`,sx:{width:16,height:16,color:t?Zi.dark:Zi.light,fontSize:`0.875rem`,fontWeight:`bold`,display:`flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0},children:W(`span`,{"aria-hidden":`true`,children:`!`})}):W(xe,{status:e,emphasis:`secondary`,size:`sm`})}function bo({type:e}){let t=gi[e];return W(on,{"aria-hidden":`true`,label:t.letter,size:`small`,color:t.color,sx:{fontSize:`0.6667rem`,height:18,minWidth:18,"& .MuiChip-label":{px:.5}}})}function xo({variant:e,showTooltips:t=!0,title:n,className:r,newCllExperience:i=!1,transformationTypes:a}){let o=F(),s=i?_o:_o.filter(e=>e.status!==`impacted`),c=a?new Set(a):void 0,l=c?vo.filter(e=>c.has(e.type)):vo,u=e===`changeStatus`?s:l;return e===`transformation`&&l.length===0?null:G(K,{className:r,sx:{bgcolor:`background.paper`,padding:`12px`,border:`1px solid`,borderColor:`divider`,borderRadius:1,fontSize:`0.875rem`},children:[n&&W(Y,{variant:`caption`,sx:{display:`block`,fontWeight:600,mb:1,color:`text.secondary`},children:n}),e===`changeStatus`&&u.map(e=>{let n=G(K,{sx:{display:`flex`,alignItems:`center`,gap:`8px`,mb:`4px`,"&:last-child":{mb:0}},children:[W(yo,{status:e.status,isDark:o}),W(Y,{variant:`body2`,children:e.label})]},e.status);return t&&e.description?W(Z,{title:e.description,placement:`right`,children:n},e.status):n}),e===`changeStatus`&&!i&&G(K,{sx:{mt:1,pt:1,borderTop:`1px solid`,borderColor:`divider`},children:[W(Y,{variant:`caption`,sx:{display:`block`,fontWeight:600,mb:.5,color:`text.secondary`},children:`Change Categories`}),Za.map(({category:e,description:n})=>{let r=W(Y,{variant:`body2`,sx:{fontWeight:600,mb:`2px`},children:Xa[e]},e);return t?W(Z,{title:n,placement:`right`,children:r},e):r})]}),e===`changeStatus`&&i&&G(K,{sx:{mt:1,pt:1,borderTop:`1px solid`,borderColor:`divider`},children:[W(Y,{variant:`caption`,sx:{display:`block`,fontWeight:600,mb:.5,color:`text.secondary`},children:`Badges`}),po(o).map(e=>G(K,{sx:{display:`flex`,alignItems:`center`,gap:`8px`,mb:`4px`,"&:last-child":{mb:0}},children:[W(no,{tokens:e.tokens,testId:`legend-treatment-${e.kind}`,ariaLabel:e.ariaLabel,children:e.text}),W(Y,{variant:`body2`,children:e.tooltip})]},e.kind))]}),e===`transformation`&&u.map(e=>{let n=G(K,{tabIndex:t&&e.description?0:void 0,sx:{display:`flex`,alignItems:`center`,gap:`8px`,mb:`4px`,"&:last-child":{mb:0}},children:[W(bo,{type:e.type}),W(Y,{variant:`body2`,children:e.label})]},e.type);return t&&e.description?W(Z,{describeChild:!0,title:e.description,placement:`right`,children:n},e.type):n})]})}const So=()=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,children:W(`path`,{d:`M8 3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm0 6.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm0 6.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z`})});function Co({name:e,color:t}){return W(K,{sx:{flex:1,color:t,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:W(`span`,{children:e})})}function wo({id:e,data:t,selected:n,interactive:r=!1,selectMode:i=`normal`,isNodeSelected:a=!1,isFocused:o=!1,isHighlighted:s=!0,showContent:c=!0,actionTag:l,showChangeAnalysis:u=!1,changeCategory:d,runsAggregatedTag:f,hasParents:p=!0,hasChildren:m=!0,columnCount:h=0,columnHeight:g=28,isDark:_=!1,newCllExperience:v,isImpacted:y,isWholeModelChanged:b=!1,isWholeModelImpacted:x=!1,onNodeClick:S,onNodeDoubleClick:C,onSelect:w,onContextMenu:T}){let[E,D]=H(!1),[O,k]=H(!1),A=V(null),ee=R(()=>{A.current&&=(clearTimeout(A.current),null)},[]),te=R(()=>{ee(),D(!0)},[ee]),ne=R(()=>{ee(),A.current=setTimeout(()=>D(!1),500)},[ee]);z(()=>()=>ee(),[ee]);let{label:re,changeStatus:ie=`unchanged`,isSelected:ae,resourceType:oe,materialized:j}=t,se=v??t.newCllExperience??!1,ce=y??t.isImpacted??!1,le=a||ae||n||!1,M=h>0,ue=i===`action_result`&&l,de=i!==`normal`,fe=de||E||O,{backgroundColor:pe,borderColor:me,secondaryAccent:he}=Ui({changeStatus:ie,isImpacted:ce,newCllExperience:se},_),{icon:ge}=oe===`model`&&j?Gi(j):Wi(oe),N=ie!==`unchanged`,_e=N?he:me,ve=_?P.white:P.black,ye=_?P.black:P.white,be=se&&ce&&!N,Se=_?P.neutral[800]:P.neutral[100],Ce=_?P.neutral[700]:P.neutral[200],we=be?pe:o||le?Ce:E?Se:pe,Te=N?he:we,Ee=N?ye:ve,De=ve,Oe=ve,ke=se?`none`:i===`action_result`?ue?`none`:Ci:s||o||le||E?`none`:Ci,Ae=t=>{i!==`action_result`&&(t.stopPropagation(),w?.(e))},je=t=>{t.preventDefault(),t.stopPropagation(),T?.(t,e)},Me={newCllExperience:se,isWholeModelChanged:b,isWholeModelImpacted:x,isImpacted:ce,changeCategory:d},Ne=lo(Me,_),F=go({name:re,resourceType:oe,materialized:j},Me),Pe=u&&d&&(!se||d===`unknown`)?$a(d):null;return G(K,{onClick:()=>S?.(e),onDoubleClick:()=>C?.(e),onMouseEnter:te,onMouseLeave:ne,sx:{display:`flex`,flexDirection:`column`,width:300,cursor:i===`selecting`?`pointer`:`inherit`,transition:`box-shadow 0.2s ease-in-out`,padding:0,filter:ke},children:[W(un,{isVisible:E,position:dn.Right,offset:6,align:`center`,children:W(K,{onMouseEnter:te,onMouseLeave:ne,sx:{display:`flex`,alignItems:`center`,gap:.75,"&::before":{content:`""`,position:`absolute`,top:0,bottom:0,right:`100%`,width:`12px`},position:`relative`,px:.75,py:.5,borderRadius:1,backgroundColor:`background.paper`,border:`1px solid`,borderColor:`divider`,boxShadow:`0 2px 6px rgb(0 0 0 / 0.15), 0 1px 2px rgb(0 0 0 / 0.1)`},children:T&&W(K,{"data-testid":`lineage-node-kebab`,onClick:je,sx:{cursor:`pointer`,color:`text.secondary`,"&:hover":{color:`text.primary`}},children:W(So,{})})})}),G(K,{"data-testid":`lineage-node-card`,sx:{display:`flex`,borderColor:_e,borderWidth:`2px`,borderStyle:`solid`,borderTopLeftRadius:8,borderTopRightRadius:8,borderBottomLeftRadius:M?0:8,borderBottomRightRadius:M?0:8,backgroundColor:we,height:60,position:`relative`},children:[W(K,{"data-testid":`lineage-node-status-block`,sx:{display:`flex`,bgcolor:Te,color:Ee,padding:de?`8px`:`2px`,borderRightWidth:`2px`,borderRightStyle:`solid`,borderColor:_e,alignItems:`top`,position:`relative`,visibility:c?`inherit`:`hidden`},children:r&&W(mn,{checked:i===`selecting`&&le||i===`action_result`&&!!ue,onClick:Ae,onBlur:()=>k(!1),onFocus:()=>k(!0),disabled:i===`action_result`,size:`small`,slotProps:{input:{"aria-label":`Select ${re}`}},sx:{...i===`normal`&&{backgroundColor:Te,borderRadius:1,left:2,opacity:+!!fe,pointerEvents:fe?`auto`:`none`,position:`absolute`,top:`50%`,transform:`translateY(-50%)`,transition:`opacity 0.15s ease-in-out`,zIndex:1},padding:0,color:`inherit`,"&.Mui-checked":{color:`inherit`}}})}),!c&&N&&W(K,{"data-testid":`compact-structural-change-indicator`,sx:{alignItems:`center`,display:`flex`,inset:0,justifyContent:`center`,position:`absolute`},children:W(xe,{status:ie,emphasis:`secondary`,size:`sm`})}),G(K,{sx:{display:`flex`,flex:`1 0 auto`,mx:.5,width:100,flexDirection:`column`},children:[W(Z,{title:F,placement:`top`,children:G(K,{sx:{display:`flex`,width:`100%`,textAlign:`left`,fontWeight:600,flex:1,p:.5,gap:`5px`,alignItems:`center`,visibility:c?`inherit`:`hidden`},children:[W(Co,{name:re,color:De}),Ne&&W(no,{tokens:Ne.tokens,testId:Ne.testId,ariaLabel:Ne.ariaLabel,children:Ne.text}),ge&&W(K,{sx:{fontSize:16,color:Oe},children:W(ge,{"aria-hidden":`true`})}),W(xe,{status:ie,emphasis:`secondary`,size:`sm`})]})}),W(K,{sx:{display:`flex`,flex:`1 0 auto`,mx:.5,flexDirection:`column`,paddingBottom:.5,visibility:c?`inherit`:`hidden`},children:W(J,{direction:`row`,spacing:1,children:l?G(U,{children:[W(K,{sx:{flexGrow:1}}),l]}):Pe?W(Y,{sx:{height:20,color:`text.secondary`,fontSize:`9pt`,margin:0,fontWeight:600},children:Pe}):i!==`action_result`&&f?f:null})})]})]}),M&&W(K,{sx:{p:`10px 10px`,borderColor:_e,borderWidth:`2px`,borderStyle:`solid`,borderTopWidth:0,borderBottomLeftRadius:8,borderBottomRightRadius:8},children:W(K,{sx:{height:`${h*g}px`,overflow:`auto`}})}),p&&W(ln,{type:`target`,position:dn.Left,isConnectable:!1}),m&&W(ln,{type:`source`,position:dn.Right,isConnectable:!1})]})}const To=L(wo);To.displayName=`LineageNode`;const Eo=e=>({display:`inline-flex`,alignItems:`center`,borderRadius:16,px:1,py:.25,fontSize:`0.75rem`,bgcolor:e?`grey.700`:`grey.100`,color:e?`grey.100`:`inherit`}),Do={mr:.5,display:`flex`,alignItems:`center`},Oo={table:`table`,view:`view`,incremental:`incremental`,ephemeral:`ephemeral`,materialized_view:`mat. view`,dynamic_table:`dyn. table`,streaming_table:`stream. table`};function ko(e){return Oo[e]??e}function Ao({resourceType:e,materialized:t,"data-testid":n}){let r=F(),i=e===`model`&&t!=null,{icon:a}=i?Gi(t):Wi(e),o=i?ko(t):e;return W(Z,{arrow:!0,title:i?`Materialization strategy`:`Type of resource`,children:G(K,{component:`span`,sx:Eo(r),"data-testid":n,children:[a&&W(K,{component:`span`,sx:Do,children:W(a,{"aria-hidden":`true`})}),o]})})}const jo=L(Ao);jo.displayName=`NodeTag`;const Mo=()=>G(K,{component:`span`,sx:{display:`flex`,flexDirection:`column`,gap:`2px`,"& > span":{width:4,height:4,borderRadius:`50%`,backgroundColor:`currentColor`}},children:[W(`span`,{}),W(`span`,{}),W(`span`,{})]});function No({checkId:e,primaryActions:t=[],secondaryActions:n=[],onAction:r,variant:i=`combined`,size:a=`small`,menuIcon:o,className:s}){let[c,l]=H(null),u=!!c,d=e=>{e.stopPropagation(),l(e.currentTarget)},f=()=>{l(null)},p=t=>{f(),r?.(e,t)},m=e=>{let t=W(q,{variant:`outlined`,size:a,disabled:e.disabled,onClick:()=>p(e.type),startIcon:e.icon,color:e.destructive?`error`:`inherit`,children:e.label},e.type);return e.disabled&&e.disabledTooltip?W(Z,{title:e.disabledTooltip,children:W(`span`,{children:t})},e.type):t};if(i===`menu`){let e=[...t,...n];return G(K,{className:s,children:[W(X,{onClick:d,size:a,children:o||W(Mo,{})}),W(bn,{anchorEl:c,open:u,onClose:f,children:e.map(e=>G(Q,{onClick:()=>p(e.type),disabled:e.disabled,sx:{color:e.destructive?`error.main`:`inherit`},children:[e.icon&&W(K,{component:`span`,sx:{mr:1,display:`flex`},children:e.icon}),e.label]},e.type))})]})}return i===`buttons`?W(K,{className:s,sx:{display:`flex`,gap:1},children:W(gn,{size:a,variant:`outlined`,children:t.map(m)})}):G(K,{className:s,sx:{display:`flex`,gap:1},children:[t.length>0&&W(gn,{size:a,variant:`outlined`,children:t.map(m)}),n.length>0&&G(U,{children:[W(X,{onClick:d,size:a,children:o||W(Mo,{})}),W(bn,{anchorEl:c,open:u,onClose:f,children:n.map(e=>G(Q,{onClick:()=>p(e.type),disabled:e.disabled,sx:{color:e.destructive?`error.main`:`inherit`},children:[e.icon&&W(K,{component:`span`,sx:{mr:1,display:`flex`},children:e.icon}),e.label]},e.type))})]})]})}const Po=L(No);Po.displayName=`CheckActions`;function Fo({name:e,onNameChange:t,placeholder:n=`Unnamed check`,disabled:r=!1,className:i}){let[a,o]=H(!1),[s,c]=H(e),l=V(null);z(()=>{c(e)},[e]);let u=R(()=>{r||(c(e),o(!0))},[r,e]),d=R(()=>{let n=s.trim();n&&n!==e&&t?.(n),o(!1)},[s,e,t]),f=R(t=>{t.key===`Enter`?(t.preventDefault(),d()):t.key===`Escape`&&(t.preventDefault(),c(e),o(!1))},[d,e]),p=R(e=>{c(e.target.value)},[]);return z(()=>{let e=e=>{l.current&&!l.current.contains(e.target)&&d()};return a&&document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[a,d]),z(()=>{a&&l.current&&(l.current.focus(),l.current.select())},[a]),W(K,{className:i,sx:{flex:`2`,fontSize:`1rem`,fontWeight:500,overflow:`hidden`,color:`text.primary`,cursor:r?`default`:`pointer`},children:a?W(An,{inputRef:l,value:s,onChange:p,onKeyDown:f,placeholder:n,size:`small`,sx:{width:`100%`},variant:`outlined`}):W(K,{sx:{flex:`0 1 auto`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,overflow:`hidden`,"&:hover":{textDecoration:r?`none`:`underline`}},onClick:u,children:e||W(K,{component:`span`,sx:{color:`text.secondary`,fontStyle:`italic`},children:n})})})}const Io=L(Fo);Io.displayName=`CheckBreadcrumb`;function Lo(e){return{query:`Q`,query_base:`Q`,query_diff:`QD`,schema_diff:`SD`,lineage_diff:`LD`,profile:`P`,profile_diff:`PD`,row_count:`R`,row_count_diff:`RD`,value_diff:`VD`,histogram_diff:`H`,top_k_diff:`TK`,simple:`•`}[e]||`?`}function Ro(e){return{query:`#3b82f6`,query_base:`#3b82f6`,query_diff:`#8b5cf6`,schema_diff:`#06b6d4`,lineage_diff:`#10b981`,profile:`#f59e0b`,profile_diff:`#f97316`,row_count:`#ec4899`,row_count_diff:`#ef4444`,value_diff:`#6366f1`,histogram_diff:`#14b8a6`,top_k_diff:`#a855f7`,simple:`#6b7280`}[e]||`#6b7280`}function zo(e){if(!e)return`Check may be outdated`;let t=new Date(e);if(Number.isNaN(t.getTime()))return`Check may be outdated`;if(t.getTime()>Date.now())return`Check may be outdated — last run: just now`;try{return`Check may be outdated — last run: ${Mn(t,{addSuffix:!0})}`}catch{return`Check may be outdated`}}const Bo={recce_ai:{label:`AI`,color:`#7c3aed`,bg:`rgb(124 58 237 / 0.12)`},user:{label:`User`,color:`#059669`,bg:`rgb(5 150 105 / 0.12)`},preset_system:{label:`Preset`,color:`#2563eb`,bg:`rgb(37 99 235 / 0.12)`}};function Vo({check:e,isSelected:t=!1,onClick:n,onApprovalChange:r,disableApproval:i=!1,disabledApprovalTooltip:a,disabled:o=!1,className:s}){let c=()=>{!o&&n&&n(e.id)},l=W(mn,{checked:e.isApproved??!1,onChange:(t,n)=>{r&&r(e.id,n)},onClick:e=>{e.stopPropagation()},disabled:i||o,size:`small`,sx:{padding:`4px`,"&.Mui-disabled":{opacity:.5}}});return G(K,{className:s,onClick:c,sx:{display:`flex`,alignItems:`center`,gap:1,padding:`8px 12px`,cursor:o?`default`:`pointer`,borderLeft:t?`3px solid`:`3px solid transparent`,borderLeftColor:t?`primary.main`:`transparent`,backgroundColor:t?`action.selected`:`transparent`,opacity:o?.6:1,transition:`background-color 0.15s ease`,"&:hover":{backgroundColor:o?`transparent`:t?`action.selected`:`action.hover`}},children:[W(on,{label:Lo(e.type),size:`small`,sx:{minWidth:32,height:24,fontSize:`0.7rem`,fontWeight:600,backgroundColor:`${Ro(e.type)}20`,color:Ro(e.type),"& .MuiChip-label":{px:1}}}),W(Y,{variant:`body2`,sx:{flexGrow:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.name}),e.isOutdated&&W(Z,{title:zo(e.lastRunAt),children:W(on,{label:`Outdated`,size:`small`,sx:{height:20,fontSize:`0.65rem`,fontWeight:500,backgroundColor:`rgb(245 158 11 / 0.12)`,color:`#b45309`,flexShrink:0,"& .MuiChip-label":{px:.75}}})}),e.actorType&&!e.isPreset&&Bo[e.actorType]&&W(on,{label:Bo[e.actorType].label,size:`small`,sx:{height:20,fontSize:`0.65rem`,fontWeight:500,backgroundColor:Bo[e.actorType].bg,color:Bo[e.actorType].color,flexShrink:0,"& .MuiChip-label":{px:.75}}}),e.isPreset&&W(on,{label:`Preset`,size:`small`,variant:`outlined`,sx:{height:20,fontSize:`0.65rem`}}),i&&a?W(Z,{title:a,children:W(`span`,{children:l})}):l]})}const Ho=L(Vo);Ho.displayName=`CheckCard`;function Uo({value:e,onChange:t,placeholder:n=`Add description here`,disabled:r=!1,className:i}){let[a,o]=H(!1),[s,c]=H(e??``);z(()=>{c(e??``)},[e]);let l=R(()=>{r||(o(!0),c(e??``))},[r,e]),u=R(()=>{let e=s.trim();t?.(e||void 0),o(!1)},[s,t]),d=R(()=>{c(e??``),o(!1)},[e]),f=R(e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),u()),e.key===`Escape`&&(e.preventDefault(),d())},[u,d]);return a?G(K,{className:i,sx:{height:`100%`},children:[W(An,{multiline:!0,fullWidth:!0,minRows:3,value:s,onChange:e=>c(e.target.value),onKeyDown:f,placeholder:n,autoFocus:!0,sx:{"& .MuiInputBase-root":{fontSize:`0.875rem`}}}),G(J,{direction:`row`,spacing:1,sx:{mt:1},children:[W(q,{variant:`contained`,size:`small`,onClick:u,children:`Update`}),W(St,{component:`button`,variant:`body2`,onClick:d,sx:{cursor:`pointer`},children:`Cancel`})]}),G(Y,{variant:`caption`,sx:{color:`text.secondary`,display:`block`,mt:.5},children:[navigator.platform.includes(`Mac`)?`⌘`:`Ctrl`,`+Enter to save, Escape to cancel`]})]}):W(K,{className:i,onClick:l,sx:{height:`100%`,overflow:`auto`,cursor:r?`default`:`pointer`,padding:1,borderRadius:1,"&:hover":{backgroundColor:r?`transparent`:`action.hover`}},children:e?W(Y,{variant:`body2`,sx:{whiteSpace:`pre-wrap`,wordBreak:`break-word`},children:e}):W(Y,{variant:`body2`,sx:{color:`text.secondary`,fontStyle:`italic`},children:n})})}const Wo=L(Uo);Wo.displayName=`CheckDescription`;function Go({checkId:e,name:t,type:n,description:r,isApproved:i=!1,tabs:a=[],defaultTab:o,primaryActions:s=[],secondaryActions:c=[],onAction:l,onDescriptionChange:u,onNameChange:d,disabled:f=!1,headerContent:p,sidebarContent:m,className:h}){let[g,_]=H(o??a[0]?.id),[v,y]=H(!1),[b,x]=H(t),S=()=>{f||(y(!0),x(t))},C=()=>{b.trim()&&b!==t&&d?.(b.trim()),y(!1)},w=e=>{e.key===`Enter`?C():e.key===`Escape`&&(x(t),y(!1))},T=a.find(e=>e.id===g)?.content;return G(K,{className:h,sx:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[G(K,{sx:{p:2,borderBottom:1,borderColor:`divider`},children:[p,G(K,{sx:{display:`flex`,alignItems:`flex-start`,justifyContent:`space-between`,gap:2},children:[G(K,{sx:{flexGrow:1,minWidth:0},children:[v?W(`input`,{type:`text`,value:b,onChange:e=>x(e.target.value),onBlur:C,onKeyDown:w,autoFocus:!0,style:{fontSize:`1.25rem`,fontWeight:500,border:`none`,borderBottom:`2px solid`,borderColor:`currentColor`,outline:`none`,background:`transparent`,width:`100%`}}):W(Y,{variant:`h6`,onClick:S,sx:{cursor:f?`default`:`pointer`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,"&:hover":{textDecoration:f?`none`:`underline`}},children:t}),G(Y,{variant:`caption`,sx:{color:`text.secondary`},children:[n,` `,i&&`• Approved`]})]}),W(Po,{checkId:e,primaryActions:s,secondaryActions:c,onAction:l})]})]}),G(K,{sx:{display:`flex`,flexGrow:1,overflow:`hidden`},children:[G(K,{sx:{flexGrow:1,display:`flex`,flexDirection:`column`,overflow:`hidden`},children:[G(K,{sx:{p:2,borderBottom:1,borderColor:`divider`},children:[W(Y,{variant:`subtitle2`,sx:{mb:1},children:`Description`}),W(Wo,{value:r,onChange:u,disabled:f})]}),a.length>0&&G(U,{children:[W(K,{sx:{borderBottom:1,borderColor:`divider`},children:W(Pn,{value:g,onChange:(e,t)=>_(t),children:a.map(e=>W(Nn,{value:e.id,label:e.label},e.id))})}),W(K,{sx:{flexGrow:1,overflow:`auto`,p:2},children:T})]})]}),m&&G(U,{children:[W(Pt,{orientation:`vertical`,flexItem:!0}),W(K,{sx:{width:350,flexShrink:0,overflow:`auto`},children:m})]})]})]})}const Ko=L(Go);Ko.displayName=`CheckDetail`;function qo({title:e=`No checks yet`,description:t=`Create your first check to start validating data changes`,icon:n,actionText:r,onAction:i,isLoading:a=!1,helperText:o,className:s}){return W(K,{className:s,sx:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,textAlign:`center`,padding:4,minHeight:300},children:G(J,{spacing:2,sx:{alignItems:`center`},children:[n&&W(K,{sx:{color:`text.secondary`,fontSize:48,mb:1},children:n}),W(Y,{variant:`h6`,sx:{fontWeight:500,color:`text.primary`},children:e}),W(Y,{variant:`body2`,sx:{color:`text.secondary`,maxWidth:400},children:t}),r&&i&&W(q,{variant:`contained`,onClick:i,disabled:a,sx:{mt:2},children:a?`Creating...`:r}),o&&W(Y,{variant:`caption`,sx:{color:`text.secondary`,mt:1},children:o})]})})}const Jo=L(qo);Jo.displayName=`CheckEmptyState`;function Yo({checks:e,selectedId:t,onCheckSelect:n,onApprovalChange:r,disableApproval:i=!1,disabledApprovalTooltip:a,title:o,className:s,isLoading:c=!1,emptyContent:l}){return c?W(K,{className:s,sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:200},children:W(Y,{sx:{color:`text.secondary`},children:`Loading checks...`})}):e.length===0?G(K,{className:s,children:[o&&W(Y,{variant:`subtitle2`,sx:{px:2,py:1,color:`text.secondary`},children:o}),l||W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:200},children:W(Y,{sx:{color:`text.secondary`},children:`No checks`})})]}):G(K,{className:s,sx:{height:`100%`,overflow:`auto`},children:[o&&W(Y,{variant:`subtitle2`,sx:{px:2,py:1,color:`text.secondary`},children:o}),W(Fn,{disablePadding:!0,children:e.map(e=>W(In,{disablePadding:!0,children:W(Ho,{check:e,isSelected:t===e.id,onClick:n,onApprovalChange:r,disableApproval:i,disabledApprovalTooltip:a})},e.id))})]})}const Xo=L(Yo);Xo.displayName=`CheckList`;function Zo(e){switch(e){case`sql`:return zn({dialect:Rn});case`yaml`:return Bn();default:return null}}function Qo({value:e,onChange:t,language:n=`sql`,readOnly:r=!1,lineNumbers:i=!0,wordWrap:a=!0,fontSize:o=14,height:s=`100%`,className:c=``,theme:l=`light`,keyBindings:u=[]}){let d=B(()=>{let e=[Un.theme({"&":{fontSize:`${o}px`},".cm-content":{fontFamily:`'JetBrains Mono', 'Fira Code', monospace`},".cm-gutters":{fontFamily:`'JetBrains Mono', 'Fira Code', monospace`}})],t=Zo(n);return t&&e.push(t),a&&e.push(Un.lineWrapping),u.length>0&&e.push(Hn.highest(Wn.of(u))),e},[n,o,a,u]),f=B(()=>l===`dark`?Kn:qn,[l]);return W(Jn,{value:e,onChange:e=>{t&&t(e)},extensions:d,readOnly:r,basicSetup:{lineNumbers:i,foldGutter:!0,highlightActiveLineGutter:!r,highlightActiveLine:!r,tabSize:2},height:s,className:`${c} no-track-pii-safe`,theme:f})}function $o({name:e,description:t,type:n,params:r,viewOptions:i}){let a={name:e,description:t,type:n,params:r};return i&&(a.view_options=i),Ln.stringify({checks:[a]})}function es({yamlTemplate:e,height:t=`300px`}){let n=F();return W(Qo,{value:e,language:`yaml`,readOnly:!0,lineNumbers:!1,wordWrap:!0,fontSize:14,theme:n?`dark`:`light`,height:t})}const ts=L(es);ts.displayName=`PresetCheckTemplateView`;const ns={apiPrefix:``,authToken:void 0,baseUrl:void 0,apiClient:te({baseURL:et??``})};function rs(){return O()??ns}function is({userId:e,enabled:t=!0}){let{apiClient:n}=rs(),r=e?.toString(),{data:i,isLoading:a}=ut({queryKey:k.user(),queryFn:()=>$e(n),enabled:t&&!!r,retry:!1,staleTime:3e5}),o=!!(i&&r&&i.id===r)&&i?.login_type===`github`,s=!!(t&&o&&r),{data:c,isLoading:l}=ut({queryKey:[`github-avatar`,r],queryFn:()=>r?Qe(r):Promise.resolve(null),enabled:s,retry:!1,staleTime:3e5});return{avatarUrl:typeof c==`string`?c:null,isLoading:a||s&&l,isGitHubUser:!!o}}function as({onSubmit:e,isSubmitting:t=!1,placeholder:n=`Add a comment...`,submitLabel:r=`Comment`,submittingLabel:i=`Submitting...`,className:a}){let o=F(),[s,c]=H(``),l=R(()=>{let t=s.trim();t&&(e(t),c(``))},[s,e]),u=R(e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),l())},[l]),d=R(e=>{c(e.target.value)},[]);return G(K,{className:a,children:[W(An,{value:s,onChange:d,onKeyDown:u,placeholder:n,size:`small`,multiline:!0,fullWidth:!0,minRows:3,disabled:t,sx:{"& .MuiOutlinedInput-root":{bgcolor:`background.paper`,"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:o?`grey.500`:`grey.400`},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:`iochmara.400`,boxShadow:`0 0 0 1px #4299E1`}},"& .MuiOutlinedInput-notchedOutline":{borderColor:o?`grey.600`:void 0}}}),W(J,{direction:`row`,sx:{justifyContent:`flex-end`,mt:2},children:W(q,{size:`small`,color:`iochmara`,variant:`contained`,onClick:l,disabled:!s.trim()||t,children:t?i:r})})]})}const os=L(as);os.displayName=`CommentInput`;function ss(e){switch(e.event_type){case`check_created`:return`create`;case`comment`:return`comment`;case`approval_change`:return e.new_value===`true`?`approve`:`unapprove`;case`description_change`:case`name_change`:return`edit`;case`preset_applied`:return`preset`;default:return`edit`}}function cs({event:e}){let t=ss(e),n={create:Qt,comment:Bt,approve:Ht,unapprove:Ut,edit:Xt,preset:Rt},r={create:`primary.main`,comment:`grey.500`,approve:`success.main`,unapprove:`grey.400`,edit:`warning.main`,preset:`secondary.main`},i=n[t],a=r[t];return W(K,{component:i,sx:{color:a,fontSize:16}})}function ls({actor:e}){let t=(e.fullname||e.login||`User`).charAt(0).toUpperCase();return W(Yn,{src:e.avatarUrl||void 0,sx:{width:24,height:24,fontSize:`0.75rem`},children:t})}function us({event:e}){let{actor:t}=e,n=t.fullname||t.login||`Someone`,r=Mn(new Date(e.created_at),{addSuffix:!0}),i=``;switch(e.event_type){case`check_created`:i=`created this check`;break;case`approval_change`:i=e.new_value===`true`?`approved this check`:`unapproved this check`;break;case`description_change`:i=`updated the description`;break;case`name_change`:i=`renamed this check`;break;case`preset_applied`:i=`applied a preset`;break;default:i=`made a change`}return G(K,{sx:{display:`flex`,gap:1,alignItems:`flex-start`,py:1},children:[W(K,{sx:{pt:`2px`},children:W(cs,{event:e})}),W(K,{sx:{flex:1},children:G(J,{direction:`row`,spacing:.5,sx:{flexWrap:`wrap`,alignItems:`center`},children:[W(ls,{actor:t}),W(Y,{variant:`body2`,sx:{fontWeight:`500`},children:n}),W(Y,{variant:`body2`,sx:{color:`text.secondary`},children:i}),W(Y,{variant:`caption`,sx:{color:`text.disabled`},children:r})]})})]})}const ds=L(us);ds.displayName=`StateChangeEvent`;function fs({event:e,currentUserId:t,onEdit:n,onDelete:r,markdownRenderer:i}){let a=F(),[o,s]=H(!1),[c,l]=H(e.content||``),[u,d]=H(!1),[f,p]=H(!1),[m,h]=H(null),g=!!m,{actor:_}=e,v=_.fullname||_.login||`Someone`,y=Mn(new Date(e.created_at),{addSuffix:!0}),b=t&&String(_.user_id)===String(t),x=R(()=>{l(e.content||``),s(!0)},[e.content]),S=R(()=>{l(e.content||``),s(!1)},[e.content]),C=R(async()=>{let t=c.trim();if(!t||t===e.content){S();return}if(n){d(!0);try{await n(e.id,t),s(!1)}finally{d(!1)}}},[c,e.content,e.id,n,S]),w=R(e=>{e.key===`Escape`?S():e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),C())},[S,C]),T=R(e=>{h(e.currentTarget)},[]),E=R(()=>{h(null)},[]),D=R(async()=>{if(r){p(!0);try{await r(e.id),E()}finally{p(!1)}}},[r,e.id,E]),O=R(e=>{l(e.target.value)},[]);return e.is_deleted?G(K,{sx:{display:`flex`,gap:1,alignItems:`center`,py:1},children:[W(K,{sx:{pt:`2px`,display:`flex`,alignItems:`center`},children:W(cs,{event:e})}),W(K,{sx:{display:`flex`,flex:1,alignItems:`center`},children:W(Y,{variant:`body2`,sx:{color:`text.disabled`,fontStyle:`italic`},children:`Comment deleted`})})]}):G(K,{sx:{display:`flex`,gap:1,alignItems:`flex-start`,py:1},children:[W(K,{sx:{pt:`2px`},children:W(cs,{event:e})}),G(K,{sx:{flex:1},children:[G(J,{direction:`row`,spacing:.5,sx:{flexWrap:`wrap`,alignItems:`center`,mb:.5},children:[W(ls,{actor:_}),G(Y,{variant:`body2`,sx:{fontWeight:`500`},children:[v,b&&G(Y,{component:`span`,variant:`body2`,sx:{color:`text.secondary`},children:[` `,`(Author)`]})]}),W(Y,{variant:`caption`,sx:{color:`text.disabled`},children:y}),e.is_edited&&W(Y,{variant:`caption`,sx:{color:`text.disabled`},children:`(edited)`})]}),o?G(K,{children:[W(An,{value:c,onChange:O,onKeyDown:w,size:`small`,multiline:!0,minRows:3,fullWidth:!0,disabled:u,autoFocus:!0,sx:{"& .MuiOutlinedInput-root":{bgcolor:`background.paper`,"&:focus-within":{borderColor:`primary.main`}}}}),G(J,{direction:`row`,spacing:1,sx:{justifyContent:`flex-end`,mt:1},children:[W(q,{size:`small`,variant:`text`,onClick:S,disabled:u,children:`Cancel`}),W(q,{size:`small`,variant:`contained`,onClick:C,disabled:!c.trim()||u,children:u?`Saving...`:`Save`})]})]}):G(K,{sx:{bgcolor:a?`grey.800`:`grey.50`,borderRadius:1,p:1,border:`1px solid`,borderColor:a?`grey.700`:`grey.200`,position:`relative`,"&:hover .comment-actions":{opacity:1}},children:[i?W(i,{content:e.content||``}):W(Y,{variant:`body2`,sx:{whiteSpace:`pre-wrap`},children:e.content}),b&&(n||r)&&G(J,{className:`comment-actions`,direction:`row`,spacing:0,sx:{position:`absolute`,top:4,right:4,opacity:0,transition:`opacity 0.2s`},children:[n&&W(Z,{title:`Edit comment`,children:W(X,{"aria-label":`Edit comment`,size:`small`,onClick:x,children:W(Zt,{})})}),r&&G(U,{children:[W(Z,{title:`Delete comment`,children:W(X,{"aria-label":`Delete comment`,size:`small`,color:`error`,onClick:T,children:W(nn,{})})}),W(Xn,{open:g,anchorEl:m,onClose:E,anchorOrigin:{vertical:`bottom`,horizontal:`center`},transformOrigin:{vertical:`top`,horizontal:`center`},children:G(K,{sx:{p:2},children:[W(Y,{variant:`body2`,sx:{mb:2},children:`Delete this comment?`}),G(J,{direction:`row`,spacing:1,sx:{justifyContent:`flex-end`},children:[W(q,{size:`small`,variant:`text`,onClick:E,disabled:f,children:`Cancel`}),W(q,{size:`small`,variant:`contained`,color:`error`,onClick:D,disabled:f,children:f?`Deleting...`:`Delete`})]})]})})]})]})]})]})]})}const ps=L(fs);ps.displayName=`CommentEvent`;function ms({event:e,currentUserId:t,onEdit:n,onDelete:r,markdownRenderer:i,className:a}){return e.event_type===`comment`?W(K,{className:a,children:W(ps,{event:e,currentUserId:t,onEdit:n,onDelete:r,markdownRenderer:i})}):W(K,{className:a,children:W(ds,{event:e})})}const hs=L(ms);hs.displayName=`TimelineEvent`;function gs({name:e,isChecked:t}){return`${t?`✅ `:``}${e}`}function _s({description:e,fallback:t=`_(no description)_`}){return(e??``)||t}function vs({type:e,hasResult:t,hasError:n}){return e===`schema_diff`||e===`lineage_diff`?!1:!t||n}function ys({sql:e,label:t=`SQL`}){return`**${t}**
2
+ import{$ as e,C as t,G as n,K as r,L as i,O as a,R as o,S as s,X as c,Z as l,at as u,bt as d,ct as f,dt as p,et as m,f as h,ft as g,gt as _,h as v,lt as y,pt as b,rt as x,st as S,tt as C,ut as w,vt as T,w as E,yt as D}from"./api-cPhVDn2I.js";import{d as O,f as k,l as A,s as ee}from"./keepAlive-ysOdIHPt.js";import{n as te,r as ne}from"./fetchClient-CrlcoCZY.js";import{A as re,E as ie,N as ae,S as oe,T as j,b as se,f as ce,g as le,j as M,n as ue,v as de,y as fe}from"./utils-C20Vb3f6.js";import{C as pe,D as me,E as he,S as ge,T as N,_ as _e,r as P,t as ve,x as ye}from"./theme-nKZCsBcx.js";import{At as be,Bt as xe,C as Se,Dt as Ce,Ft as we,It as Te,Mt as Ee,Nt as De,Ot as Oe,Pt as ke,Rt as Ae,S as je,T as Me,Tt as Ne,Vt as F,Wt as Pe,a as Fe,ct as Ie,d as Le,dt as Re,gt as ze,i as Be,jt as Ve,kt as He,l as Ue,mt as I,nt as We,o as Ge,r as Ke,rt as qe,st as Je,tt as Ye,u as Xe,zt as Ze}from"./utils-Uyt6wNnz.js";import{fetchGitHubAvatar as Qe,fetchUser as $e}from"./lib/api/user.js";import{PUBLIC_API_URL as et,RECCE_SUPPORT_CALENDAR_URL as tt}from"./lib/const.js";import{EXPLORE_FORM_EVENT as nt,isExploreAction as rt,trackCopyToClipboard as it,trackExploreActionForm as at,trackHistoryAction as ot,trackSingleEnvironment as st}from"./lib/api/track.js";import ct from"./lib/result/ResultErrorFallback.js";import{useMutation as lt,useQuery as ut,useQueryClient as dt}from"@tanstack/react-query";import{Fragment as ft,createContext as pt,forwardRef as mt,memo as L,useCallback as R,useContext as ht,useEffect as z,useId as gt,useImperativeHandle as _t,useMemo as B,useRef as V,useState as H}from"react";import{Fragment as U,jsx as W,jsxs as G}from"react/jsx-runtime";import K from"@mui/material/Box";import q from"@mui/material/Button";import vt from"@mui/material/Dialog";import yt from"@mui/material/DialogActions";import bt from"@mui/material/DialogContent";import xt from"@mui/material/DialogTitle";import St from"@mui/material/Link";import J from"@mui/material/Stack";import Y from"@mui/material/Typography";import{LuChartBarBig as Ct,LuExternalLink as wt}from"react-icons/lu";import Tt from"@mui/material/CssBaseline";import{ThemeProvider as Et,alpha as Dt,useTheme as Ot}from"@mui/material/styles";import{useTheme as kt}from"next-themes";import{AllCommunityModule as At,ModuleRegistry as jt}from"ag-grid-community";import X from"@mui/material/IconButton";import Mt from"next/link";import{IoClose as Nt}from"react-icons/io5";import Pt from"@mui/material/Divider";import Ft from"@mui/material/CircularProgress";import Z from"@mui/material/Tooltip";import{FaCheckCircle as It,FaRegCheckCircle as Lt}from"react-icons/fa";import{PiBookmarkSimple as Rt,PiCaretDown as zt,PiChatText as Bt,PiCheck as Vt,PiCheckCircle as Ht,PiCircle as Ut,PiClipboardText as Wt,PiCopy as Gt,PiDotsThreeVertical as Kt,PiDownloadSimple as qt,PiImage as Jt,PiInfo as Yt,PiNotePencil as Xt,PiPencilSimple as Zt,PiPlusCircle as Qt,PiRepeat as $t,PiSelectionPlus as en,PiTable as tn,PiTrashSimple as nn,PiWarning as rn,PiX as an}from"react-icons/pi";import on from"@mui/material/Chip";import{BaseEdge as sn,EdgeLabelRenderer as cn,Handle as ln,NodeToolbar as un,Position as dn,getBezierPath as fn}from"@xyflow/react";import pn from"file-saver";import mn from"@mui/material/Checkbox";import hn from"@mui/material/FormControlLabel";import gn from"@mui/material/ButtonGroup";import{useTimeout as _n}from"usehooks-ts";import vn from"@mui/material/Alert";import yn from"@mui/material/InputBase";import bn from"@mui/material/Menu";import Q from"@mui/material/MenuItem";import xn from"lodash";import{VscError as Sn,VscKebabVertical as Cn,VscKey as wn}from"react-icons/vsc";import Tn from"@mui/material/ListSubheader";import En from"@mui/material/FormControl";import Dn from"@mui/material/FormLabel";import On from"@mui/material/NativeSelect";import{Box as kn}from"@mui/material";import An from"@mui/material/TextField";import{format as jn,formatDistanceToNow as Mn}from"date-fns";import Nn from"@mui/material/Tab";import Pn from"@mui/material/Tabs";import Fn from"@mui/material/List";import In from"@mui/material/ListItem";import Ln from"yaml";import{PostgreSQL as Rn,sql as zn}from"@codemirror/lang-sql";import{yaml as Bn}from"@codemirror/lang-yaml";import{EditorState as Vn,Prec as Hn}from"@codemirror/state";import{EditorView as Un,keymap as Wn,lineNumbers as Gn}from"@codemirror/view";import{githubDark as Kn,githubLight as qn}from"@uiw/codemirror-theme-github";import Jn from"@uiw/react-codemirror";import Yn from"@mui/material/Avatar";import Xn from"@mui/material/Popover";import Zn from"@mui/material/LinearProgress";import"chartjs-adapter-date-fns";import{BarElement as Qn,CategoryScale as $n,Chart as er,Legend as tr,LinearScale as nr,TimeSeriesScale as rr,Title as ir,Tooltip as ar}from"chart.js";import{Bar as or,Chart as sr}from"react-chartjs-2";import cr from"@mui/material/AlertTitle";import{AgGridReact as lr}from"ag-grid-react";import{MergeView as ur,unifiedMergeView as dr}from"@codemirror/merge";import fr from"react-markdown";import{Prism as pr}from"react-syntax-highlighter";import{oneDark as mr}from"react-syntax-highlighter/dist/esm/styles/prism";import hr from"remark-gfm";import gr from"react-split";import{amber as _r}from"@mui/material/colors";import{usePathname as vr,useRouter as yr}from"next/navigation";import{MdFormatListNumberedRtl as br,MdSchema as xr}from"react-icons/md";import{TbAlignBoxLeftStretch as Sr,TbBrandStackshare as Cr,TbChartHistogram as wr,TbEyeEdit as Tr,TbEyeSearch as Er,TbSql as Dr}from"react-icons/tb";import Or from"@mui/material/Autocomplete";import kr from"@mui/material/DialogContentText";import Ar from"@mui/material/ListItemIcon";import jr from"@mui/material/ListItemText";import{FiInfo as Mr}from"react-icons/fi";import{FaPlay as Nr}from"react-icons/fa6";import{ErrorBoundary as Pr}from"@sentry/react";import{snapdom as Fr}from"@zumer/snapdom";function Ir({children:e,forcedTheme:t,enableCssBaseline:n=!1}){let{resolvedTheme:r}=kt();return z(()=>{(t??r)===`dark`?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)},[t,r]),G(Et,{theme:ve,children:[n&&W(Tt,{}),e]})}const Lr=pt({checks:[],isLoading:!1});Lr.displayName=`RecceCheckContext`;function Rr({children:e,checks:t=[],isLoading:n=!1,error:r,selectedCheckId:i,onSelectCheck:a,onCreateCheck:o,onUpdateCheck:s,onDeleteCheck:c,onReorderChecks:l,refetchChecks:u,latestSelectedCheckId:d,setLatestSelectedCheckId:f}){let p=i??d,m=a??f,h=B(()=>({checks:t,isLoading:n,error:r,selectedCheckId:p,onSelectCheck:m,onCreateCheck:o,onUpdateCheck:s,onDeleteCheck:c,onReorderChecks:l,refetchChecks:u,latestSelectedCheckId:p,setLatestSelectedCheckId:m}),[t,n,r,p,m,o,s,c,l,u]);return W(Lr.Provider,{value:h,children:e})}function zr(){return ht(Lr)}const Br=pt({sql:``,isExecuting:!1});Br.displayName=`RecceQueryContext`;function Vr({children:e,sql:t=``,isExecuting:n=!1,error:r,baseResult:i,currentResult:a,onSqlChange:o,onExecute:s,onCancel:c,sqlQuery:l,setSqlQuery:u,primaryKeys:d,setPrimaryKeys:f,isCustomQueries:p,setCustomQueries:m,baseSqlQuery:h,setBaseSqlQuery:g}){let _=B(()=>({sql:t,isExecuting:n,error:r,baseResult:i,currentResult:a,onSqlChange:o,onExecute:s,onCancel:c,sqlQuery:l,setSqlQuery:u,primaryKeys:d,setPrimaryKeys:f,isCustomQueries:p,setCustomQueries:m,baseSqlQuery:h,setBaseSqlQuery:g}),[t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g]);return W(Br.Provider,{value:_,children:e})}function Hr(){return ht(Br)}function Ur({children:e}){let[t,n]=H(``);return W(Rr,{selectedCheckId:t,onSelectCheck:n,latestSelectedCheckId:t,setLatestSelectedCheckId:n,children:e})}const Wr=()=>{};function Gr(){let e=zr();return{latestSelectedCheckId:e.latestSelectedCheckId??``,setLatestSelectedCheckId:e.setLatestSelectedCheckId??Wr}}const Kr={INTEGER:`integer`,INT:`integer`,BIGINT:`integer`,SMALLINT:`integer`,TINYINT:`integer`,INT64:`integer`,INT32:`integer`,INT16:`integer`,INT8:`integer`,INT4:`integer`,INT2:`integer`,INT128:`integer`,MEDIUMINT:`integer`,SERIAL:`integer`,BIGSERIAL:`integer`,SMALLSERIAL:`integer`,HUGEINT:`integer`,UHUGEINT:`integer`,UTINYINT:`integer`,USMALLINT:`integer`,UINTEGER:`integer`,UBIGINT:`integer`,DOUBLE:`number`,FLOAT:`number`,REAL:`number`,NUMERIC:`number`,DECIMAL:`number`,NUMBER:`number`,FLOAT64:`number`,FLOAT32:`number`,"DOUBLE PRECISION":`number`,VARCHAR:`text`,TEXT:`text`,STRING:`text`,CHAR:`text`,"CHARACTER VARYING":`text`,CHARACTER:`text`,NCHAR:`text`,NVARCHAR:`text`,VARCHAR2:`text`,NVARCHAR2:`text`,CLOB:`text`,NCLOB:`text`,TINYTEXT:`text`,MEDIUMTEXT:`text`,LONGTEXT:`text`,BOOLEAN:`boolean`,BOOL:`boolean`,DATE:`date`,DATE32:`date`,TIMESTAMP:`datetime`,DATETIME:`datetime`,DATETIME64:`datetime`,TIMESTAMP_S:`datetime`,TIMESTAMP_MS:`datetime`,TIMESTAMP_NS:`datetime`,TIMESTAMP_NTZ:`datetime`,TIMESTAMP_LTZ:`datetime`,TIMESTAMP_TZ:`datetime`,TIMESTAMPTZ:`datetime`,"TIMESTAMP WITH TIME ZONE":`datetime`,"TIMESTAMP WITHOUT TIME ZONE":`datetime`,"TIMESTAMP WITH LOCAL TIME ZONE":`datetime`,DATETIME2:`datetime`,SMALLDATETIME:`datetime`,DATETIMEOFFSET:`datetime`,TIME:`time`,TIMETZ:`time`,"TIME WITH TIME ZONE":`time`,"TIME WITHOUT TIME ZONE":`time`,BINARY:`binary`,VARBINARY:`binary`,BYTES:`binary`,BLOB:`binary`,BYTEA:`binary`,TINYBLOB:`binary`,MEDIUMBLOB:`binary`,LONGBLOB:`binary`,JSON:`json`,JSONB:`json`,VARIANT:`json`,OBJECT:`json`,STRUCT:`json`,MAP:`json`,ARRAY:`array`,LIST:`array`,GEOGRAPHY:`geography`,GEOMETRY:`geography`,POINT:`geography`,LINESTRING:`geography`,POLYGON:`geography`,MULTIPOINT:`geography`,MULTILINESTRING:`geography`,MULTIPOLYGON:`geography`,GEOMETRYCOLLECTION:`geography`,SDO_GEOMETRY:`geography`};function qr(e){let t=e.trim().toUpperCase().replace(/\s+/g,` `);if(!t)return`unknown`;if(/^TINYINT\s*\(\s*1\s*\)$/.test(t))return`boolean`;let n=t.indexOf(`(`),r=n===-1?t:t.slice(0,n).trimEnd();return Kr[r]??`unknown`}const Jr=.6,Yr=18/30;function Xr({size:e=`1em`,style:t,className:n,children:r}){return G(`svg`,{viewBox:`0 0 30 18`,width:e,height:typeof e==`number`?e*Yr:`${Yr}em`,style:t,className:n,"aria-hidden":`true`,children:[W(`rect`,{x:Jr,y:Jr,width:30-Jr*2,height:18-Jr*2,rx:3,fill:`none`,stroke:`currentColor`,strokeWidth:1.2}),r]})}function Zr({text:e,size:t,style:n,className:r}){return W(Xr,{size:t,style:n,className:r,children:W(`text`,{x:15,y:9,textAnchor:`middle`,dominantBaseline:`central`,fontSize:10.5,fontFamily:`monospace`,fontWeight:500,fill:`currentColor`,children:e})})}function Qr(e){return W(Zr,{text:`123`,...e})}function $r(e){return W(Zr,{text:`1.2`,...e})}function ei(e){return W(Zr,{text:`abc`,...e})}function ti(e){return W(Zr,{text:`T/F`,...e})}function ni({size:e,style:t,className:n}){let r=gt(),i=Jr,a=Jr;return G(Xr,{size:e,style:t,className:n,children:[G(`mask`,{id:r,children:[W(`rect`,{x:i,y:a,width:14.4,height:16.8,fill:`white`}),W(`text`,{x:15/2,y:9,textAnchor:`middle`,dominantBaseline:`central`,fontSize:10,fontFamily:`monospace`,fontWeight:700,fill:`black`,children:`0`})]}),W(`path`,{d:`M15 ${a} H3.6 Q${i} ${a} ${i} 3.6 V14.400000000000002 Q${i} 17.400000000000002 3.6 17.400000000000002 H15 Z`,fill:`currentColor`,mask:`url(#${r})`}),W(`text`,{x:22.5,y:9,textAnchor:`middle`,dominantBaseline:`central`,fontSize:10,fontFamily:`monospace`,fontWeight:700,fill:`currentColor`,children:`1`})]})}function ri(e){return W(Zr,{text:`{ }`,...e})}function ii({size:e,style:t,className:n}){return G(Xr,{size:e,style:t,className:n,children:[G(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1.2,strokeLinecap:`round`,children:[W(`line`,{x1:6,y1:5,x2:4,y2:5}),W(`line`,{x1:4,y1:5,x2:4,y2:13}),W(`line`,{x1:4,y1:13,x2:6,y2:13}),W(`line`,{x1:24,y1:5,x2:26,y2:5}),W(`line`,{x1:26,y1:5,x2:26,y2:13}),W(`line`,{x1:26,y1:13,x2:24,y2:13})]}),W(`text`,{x:15,y:9,textAnchor:`middle`,dominantBaseline:`central`,fontSize:9,fontFamily:`monospace`,fontWeight:500,fill:`currentColor`,children:`1,2`})]})}function ai(e){return W(Zr,{text:`···`,...e})}function oi({size:e,style:t,className:n}){return W(Xr,{size:e,style:t,className:n,children:G(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,transform:`translate(9, 2.5)`,children:[W(`rect`,{x:0,y:2,width:11,height:9.5,rx:1.2}),W(`line`,{x1:3,y1:.5,x2:3,y2:3.5}),W(`line`,{x1:8,y1:.5,x2:8,y2:3.5}),W(`line`,{x1:0,y1:5.5,x2:11,y2:5.5})]})})}function si({size:e,style:t,className:n}){return W(Xr,{size:e,style:t,className:n,children:G(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,transform:`translate(4, 2.5)`,children:[W(`rect`,{x:0,y:2,width:9.5,height:8.5,rx:1.2}),W(`line`,{x1:2.5,y1:.5,x2:2.5,y2:3.5}),W(`line`,{x1:7,y1:.5,x2:7,y2:3.5}),W(`line`,{x1:0,y1:5,x2:9.5,y2:5}),W(`circle`,{cx:17,cy:8.5,r:3.2}),W(`line`,{x1:17,y1:6.8,x2:17,y2:8.5}),W(`line`,{x1:17,y1:8.5,x2:18.3,y2:9.5})]})})}function ci({size:e,style:t,className:n}){return W(Xr,{size:e,style:t,className:n,children:G(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,transform:`translate(10, 3.5)`,children:[W(`circle`,{cx:5,cy:5.5,r:5}),W(`line`,{x1:5,y1:3,x2:5,y2:5.5}),W(`line`,{x1:5,y1:5.5,x2:7,y2:6.8})]})})}function li({size:e,style:t,className:n}){return W(Xr,{size:e,style:t,className:n,children:G(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,children:[W(`path`,{d:`M15 14.5 C15 14.5 10.5 11 10.5 8 A4.5 4.5 0 0 1 19.5 8 C19.5 11 15 14.5 15 14.5 Z`,strokeWidth:1.2}),W(`circle`,{cx:15,cy:8,r:1.5,fill:`currentColor`,stroke:`none`})]})})}const ui={"CHARACTER VARYING":`VARCHAR`,"DOUBLE PRECISION":`DOUBLE`};function di(e){let t=e.trim();if(!t)return``;let n=t.search(/[([]/),r=n===-1?t:t.slice(0,n),i=n===-1?``:t.slice(n),a=r.trimEnd().toUpperCase();return qr(a)===`unknown`?e:`${ui[a]??a}${i}`}function fi(e){let{name:t,status:n,baseType:r,currentType:i,cllAvailable:a,impacted:o}=e,s;switch(n){case`added`:s=i?`${t} added ${i}`:`${t} added`;break;case`removed`:return`deleted ${t}`;case`type_changed`:s=i&&r===i?`${t} ${i}`:`${t}, was ${r} now ${i}`;break;case`definition_changed`:s=i?`${t} ${i} changed definition`:`${t} changed definition`;break;case`definition_unknown`:s=i?`${t} ${i} change status unknown`:`${t} change status unknown`;break;case`unchanged`:s=i?`${t} ${i}`:t;break;default:s=r&&i&&r!==i?`${t}, was ${r} now ${i}`:i?`${t} ${i}`:t}return o&&(s+=` · impacted`),a&&(s+=` · Click for column lineage`),s}const pi={integer:Qr,number:$r,text:ei,boolean:ti,date:oi,datetime:si,time:ci,binary:ni,json:ri,array:ii,geography:li,unknown:ai};function mi({type:e,size:t,style:n,className:r,disableTooltip:i}){let a=qr(e),o=pi[a],s=W(`span`,{"data-testid":`data-type-icon`,style:{display:`inline-flex`,alignItems:`center`,lineHeight:0},children:W(o,{size:t,style:n,className:r})});return i?s:W(Z,{title:e,placement:`top`,arrow:!0,children:s})}const hi=[`passthrough`,`renamed`,`derived`,`source`,`unknown`],gi={passthrough:{letter:`P`,label:`Passthrough`,description:`Same-name reference to an upstream column`,color:`default`},renamed:{letter:`R`,label:`Renamed`,description:`Direct upstream column reference with a different output name`,color:`warning`},derived:{letter:`D`,label:`Derived`,description:`Expression derived from one or more upstream columns`,color:`warning`},source:{letter:`S`,label:`Source`,description:`No upstream column dependency`,color:`info`},unknown:{letter:`U`,label:`Unknown`,description:`Transformation could not be determined`,color:`error`}};function _i(e){return typeof e==`string`&&Ze(gi,e)}function vi(e,t){let n=new Set;for(let r of e){if(r.type!==`lineageGraphColumnNode`)continue;let{changeStatus:e,transformationType:i}=r.data;_i(i)&&(e&&t(r.data.node.id)||n.add(i))}return hi.filter(e=>n.has(e))}const yi=.35,bi=.1,xi=.3,Si=.15,Ci=`opacity(0.4) grayscale(40%)`,wi=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M1.5 1h13l.5.5v13l-.5.5h-13l-.5-.5v-13l.5-.5zM2 2v12h12V2H2zm6.5 2.5v2.5h2.5v1H8.5v2.5h-1V8H5V7h2.5V4.5h1z`})}),Ti=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M1.5 1h13l.5.5v13l-.5.5h-13l-.5-.5v-13l.5-.5zM2 2v12h12V2H2zm3 5.5h6v1H5v-1z`})}),Ei=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M8 2 1.5 14h13L8 2zm0 2.4 4.3 8.1H3.7L8 4.4z`})}),Di=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6z`})}),Oi=e=>G(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[W(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M1.5 1h13l.5.5v13l-.5.5h-13l-.5-.5v-13l.5-.5zM2 2v12h12V2H2z`}),W(`path`,{d:`M7.5 4h1v5h-1V4zm0 6h1v1.5h-1V10z`})]}),ki=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z`})}),Ai=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 448 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z`})}),ji=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z`})}),Mi=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z`})}),Ni=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 448 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M160 80c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48h-32c-26.5 0-48-21.5-48-48V80zM0 272c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48v160c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V272zM368 96h32c26.5 0 48 21.5 48 48v288c0 26.5-21.5 48-48 48h-32c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48z`})}),Pi=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-15.9-5.8-30.4-15.3-41.6l76.6-147.4c6.1-11.8 1.5-26.3-10.2-32.4s-26.2-1.5-32.4 10.2L262.1 288.3c-2-.2-4-.3-6.1-.3c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64z`})}),Fi=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M418.4 157.9c35.3-8.3 61.6-40 61.6-77.9c0-44.2-35.8-80-80-80c-43.4 0-78.7 34.5-80 77.5L136.2 151.1C121.7 136.8 101.9 128 80 128c-44.2 0-80 35.8-80 80s35.8 80 80 80c12.2 0 23.8-2.7 34.1-7.6L259.7 407.8c-2.4 7.6-3.7 15.8-3.7 24.2c0 44.2 35.8 80 80 80s80-35.8 80-80c0-27.7-14-52.1-35.4-66.4l37.8-207.7zM156.3 232.2c2.2-6.9 3.5-14.2 3.7-21.7l183.8-73.5c3.6 3.5 7.4 6.7 11.6 9.5L317.6 354.1c-5.5 1.3-10.8 3.1-15.8 5.5L156.3 232.2z`})}),Ii=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M256 128C141.4 128 37.5 193.3 1.6 246.1c-2.1 3.2-2.1 7.5 0 10.7C37.5 309.7 141.4 384 256 384s218.5-74.3 254.4-127.2c2.1-3.2 2.1-7.5 0-10.7C474.5 193.3 370.6 128 256 128zm0 208c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96zm0-144c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z`})}),Li=e=>{let t=gt(),n=`inc-bottom-${t}`,r=`inc-top-${t}`;return G(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[G(`defs`,{children:[W(`clipPath`,{id:n,children:W(`rect`,{x:`0`,y:`200`,width:`512`,height:`312`})}),W(`clipPath`,{id:r,children:W(`rect`,{x:`0`,y:`0`,width:`512`,height:`200`})})]}),W(`path`,{clipPath:`url(#${n})`,d:`M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z`}),W(`path`,{clipPath:`url(#${r})`,d:`M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z`,fill:`none`,stroke:`currentColor`,strokeWidth:`12`,strokeDasharray:`20 12`})]})},Ri=e=>W(`svg`,{stroke:`currentColor`,fill:`none`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z`,fill:`none`,stroke:`currentColor`,strokeWidth:`12`,strokeDasharray:`20 12`})}),zi=e=>G(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[W(`g`,{transform:`translate(0, 0) scale(0.75)`,children:W(`path`,{d:`M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z`})}),W(`g`,{transform:`translate(250, 260) scale(0.5)`,children:W(`path`,{d:`M256 128C141.4 128 37.5 193.3 1.6 246.1c-2.1 3.2-2.1 7.5 0 10.7C37.5 309.7 141.4 384 256 384s218.5-74.3 254.4-127.2c2.1-3.2 2.1-7.5 0-10.7C474.5 193.3 370.6 128 256 128zm0 208c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96zm0-144c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z`})})]}),Bi={added:wi,removed:Ti,modified:Ei,impacted:Oi};function Vi(e,t,n=`default`){let r=e??`unchanged`;if(r===`impacted`){let e=qi.impacted,n=(t?Yi:Ji).impacted;return{color:e,hexColor:e,backgroundColor:n,hexBackgroundColor:n,borderColor:e,secondaryAccent:e,icon:Oi}}let i=N(t??!1),a=i.structural.neutral;return{color:a.border,hexColor:a.border,backgroundColor:a.background,hexBackgroundColor:a.background,borderColor:a.border,secondaryAccent:i.structural.secondaryAccent[r],icon:Bi[r]}}function Hi(e){return Vi(`impacted`,e,`cll`)}function Ui(e,t){let{changeStatus:n,isImpacted:r,newCllExperience:i}=e;return i&&r&&(!n||n===`unchanged`)?Hi(t):Vi(n,t,i?`cll`:`default`)}function Wi(e){switch(e){case`model`:return{color:P.cyan[200],icon:ki};case`source`:return{color:P.green[300],icon:Ai};case`seed`:return{color:P.green[500],icon:ji};case`snapshot`:return{color:P.green[500],icon:Mi};case`metric`:return{color:P.rose[200],icon:Ni};case`exposure`:return{color:P.rose[200],icon:Pi};case`semantic_model`:return{color:P.rose[400],icon:Fi};default:return{color:`inherit`,icon:void 0}}}function Gi(e){switch(e){case`table`:return{color:P.cyan[200],icon:ki};case`view`:return{color:P.fuchsia[300],icon:Ii};case`incremental`:return{color:P.iochmara[300],icon:Li};case`ephemeral`:return{color:P.neutral[400],icon:Ri};case`materialized_view`:case`dynamic_table`:case`streaming_table`:return{color:P.fuchsia[200],icon:zi};default:return{color:`inherit`,icon:void 0}}}function Ki(e,t,n){return t?`${e} - ${t===`model`&&n||t}`:e}P.green[500],P.red[500],P.amber[500],P.neutral[500],P.green[100],P.red[200],P.amber[100],P.white,P.green[900],P.red[950],P.amber[900],P.neutral[700];const qi={added:`rgb(46 160 67)`,removed:`rgb(248 81 73)`,modified:`rgb(212 133 11)`,impacted:`rgb(252 211 77)`,unchanged:P.neutral[500]},Ji={added:`rgb(222 248 227)`,removed:`rgb(252 225 224)`,modified:`rgb(255 237 175)`,impacted:`rgb(254 249 227)`,unchanged:P.white},Yi={added:`rgb(30 58 30)`,removed:`rgb(68 35 35)`,modified:`rgb(75 65 33)`,impacted:`rgb(50 44 24)`,unchanged:`rgb(38 38 38)`},Xi=`252 211 77`,Zi={light:qi.impacted,dark:`rgb(${Xi})`},Qi={light:`rgb(${Xi} / 0.35)`,dark:`rgb(${Xi} / 0.18)`},$i={light:`rgb(146 64 14)`,dark:`rgb(${Xi})`},ea={light:`rgb(255 173 21 / 0.25)`,dark:`rgb(255 173 21 / 0.2)`},ta={light:`rgb(160 100 0)`,dark:`rgb(255 200 80)`},na={light:`rgb(46 160 67)`,dark:`rgb(80 200 100)`},ra={light:`rgb(46 160 67 / 0.2)`,dark:`rgb(46 160 67 / 0.2)`},ia={light:`rgb(22 110 40)`,dark:na.dark},aa=24,oa=280;function sa({size:e=14}){return G(`svg`,{width:e,height:e,viewBox:`0 0 16 16`,fill:`currentColor`,xmlns:`http://www.w3.org/2000/svg`,children:[W(`circle`,{cx:`8`,cy:`3`,r:`1.5`}),W(`circle`,{cx:`8`,cy:`8`,r:`1.5`}),W(`circle`,{cx:`8`,cy:`13`,r:`1.5`})]})}function ca({changeStatus:e}){return e?W(xe,{status:e,emphasis:`secondary`,size:`sm`}):null}function la({transformationType:e}){if(!e)return null;let t=gi[e],n=`${t.label} transformation`;return W(Z,{describeChild:!0,title:`${t.label}: ${t.description}`,placement:`top`,children:W(K,{component:`span`,role:`img`,"aria-label":n,tabIndex:0,sx:{display:`inline-flex`},children:W(on,{"aria-hidden":`true`,label:t.letter,size:`small`,color:t.color,sx:{fontSize:`0.6667rem`,height:18,minWidth:18,"& .MuiChip-label":{px:.5}}})})})}function ua({count:e,direction:t}){if(!e)return null;let n=`${e} ${t} lineage column${e===1?``:`s`} hidden by the current view`;return W(K,{component:`span`,role:`img`,"aria-label":n,title:n,sx:{display:`inline-flex`,alignItems:`center`,flexShrink:0,height:18,px:.5,border:`1px solid`,borderColor:`warning.main`,borderRadius:`4px`,color:`warning.dark`,backgroundColor:`action.hover`,fontSize:`0.625rem`,fontWeight:600,lineHeight:1},children:t===`upstream`?`← ${e}`:`${e} →`})}function da({id:e,data:t,showContent:n=!0,showChangeAnalysis:r=!1,isDark:i=!1,newCllExperience:a,onColumnClick:o,onContextMenu:s}){let{column:c,type:l,transformationType:u,changeStatus:d,isHighlighted:f=!0,isFocused:p=!1,isImpacted:m=!1,hiddenUpstreamColumnCount:h,hiddenDownstreamColumnCount:g}=t,_=a??t.newCllExperience??!1,v=N(i),[y,b]=H(!1);if(!n)return null;let x=d?p?i?`#404040`:`#E5E5E5`:y?i?`#262626`:`#F5F5F5`:v.structural.neutral.background:void 0,S=d?v.structural.secondaryAccent[d]:void 0,C=m&&!d?Hi(i):void 0,w=x??C?.backgroundColor,T=S??C?.color,E=_&&i?`#262626`:`background.paper`,D=_&&i?`#333333`:`action.hover`,O=_&&i?`#404040`:`action.selected`,k=_&&i?`#ffffff`:`text.primary`;return G(K,{onClick:()=>o?.(e),sx:{display:`flex`,width:280,padding:`0px 10px`,border:`1px solid`,borderColor:d?v.structural.neutral.border:`divider`,backgroundColor:w||(p?O:y?D:E),borderLeft:T?`3px solid ${T}`:void 0,filter:f?`none`:Ci,cursor:`pointer`,transition:`background-color 0.15s ease`},onMouseEnter:()=>b(!0),onMouseLeave:()=>b(!1),children:[G(K,{sx:{display:`flex`,fontSize:`0.6875rem`,color:k,width:`100%`,gap:`6px`,alignItems:`center`,height:`23px`},children:[W(ua,{count:h,direction:`upstream`}),d&&W(ca,{changeStatus:d}),(!r||!d)&&W(la,{transformationType:u}),W(K,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,flexGrow:1,height:`25px`,lineHeight:`25px`},children:c}),W(ua,{count:g,direction:`downstream`}),y&&s?W(K,{sx:{display:`inline-flex`,alignItems:`center`,cursor:`pointer`,"&:hover":{color:`text.primary`}},onClick:t=>{t.preventDefault(),t.stopPropagation(),s(t,e)},"data-testid":`column-kebab-menu`,children:W(sa,{size:14})}):l&&W(mi,{type:l,style:{flexShrink:0,opacity:.7,fontSize:`1rem`}})]}),W(ln,{type:`target`,position:dn.Left,isConnectable:!1,style:{left:0,visibility:`hidden`}}),W(ln,{type:`source`,position:dn.Right,isConnectable:!1,style:{right:0,visibility:`hidden`}})]})}const fa=L(da);fa.displayName=`LineageColumnNode`;function pa({id:e,sourceX:t,sourceY:n,targetX:r,targetY:i,sourcePosition:a,targetPosition:o,data:s,selected:c}){let l=F(),u=s?.changeStatus??`unchanged`,d=`${ye[u].label} change`,f=s?.isHighlighted??!1,p=s?.label,[m,h,g]=fn({sourceX:t,sourceY:n,sourcePosition:a,targetX:r,targetY:i,targetPosition:o}),_=N(l).structural.neutral.border,v=f||c?2.5:1.5,y=f||c?1:.6;return G(U,{children:[W(sn,{id:e,path:m,role:`img`,"aria-label":d,style:{stroke:_,strokeDasharray:ge[u],strokeWidth:v,opacity:y}}),p&&W(cn,{children:W(`div`,{style:{position:`absolute`,transform:`translate(-50%, -50%) translate(${h}px,${g}px)`,fontSize:10,fontWeight:500,background:`white`,padding:`2px 4px`,borderRadius:4,pointerEvents:`all`},children:p})})]})}const ma=L(pa);ma.displayName=`LineageEdge`;function ha({changedOnly:e,onChange:t}){return W(hn,{control:W(mn,{checked:e??!1,onChange:()=>{t()},size:`small`}),label:`Changed only`,slotProps:{typography:{variant:`body2`}}})}function ga({value:e,onChange:t,textOn:n,textOff:r}){return G(gn,{variant:`outlined`,size:`xsmall`,sx:{borderRadius:1},children:[W(q,{onClick:()=>{t(!1)},sx:{color:e?`text.disabled`:`text.primary`,bgcolor:e?`action.hover`:`background.paper`,borderColor:`divider`,"&:hover":{bgcolor:e?`action.selected`:`background.paper`,borderColor:`divider`}},children:r??`Off`}),W(q,{onClick:()=>{t(!0)},sx:{color:e?`text.primary`:`text.disabled`,bgcolor:e?`background.paper`:`action.hover`,borderColor:`divider`,"&:hover":{bgcolor:e?`background.paper`:`action.selected`,borderColor:`divider`}},children:n??`On`})]})}function _a({displayMode:e,onDisplayModeChanged:t}){return G(U,{children:[e===`inline`&&G(U,{children:[W(ze,{value:`Base`,comparisonRole:`base`,grayOut:!1,fontSize:`10pt`,noCopy:!0}),W(ze,{value:`Current`,comparisonRole:`current`,grayOut:!1,fontSize:`10pt`,noCopy:!0})]}),W(ga,{value:e===`side_by_side`,onChange:e=>{t(e?`side_by_side`:`inline`)},textOff:`Inline`,textOn:`Side by side`})]})}const va=e=>{let{defaultValues:t,suggestionList:n,onValuesChange:r,className:i}=e,[a,o]=H(t??[]),[s,c]=H(``),[l,u]=H(!1),[d,f]=H(null),p=V(null),m=!!d,h=t=>t.length>1?`${t.length} ${e.unitName}s selected`:t.length===1?t[0]:``,g=e=>{f(e.currentTarget),setTimeout(()=>p.current?.focus(),100)},_=()=>{f(null),u(!1)},v=e=>{a.includes(e)||(c(``),o([...a,e]),r([...a,e]))},y=()=>{c(``),o([]),r([])},b=e=>{o(a.filter(t=>t!==e)),r(a.filter(t=>t!==e))},x=s.toLowerCase(),S=n?.filter(e=>x===``||e.toLowerCase().includes(x)).filter(e=>!a.includes(e))??[],C=()=>{switch(e.size){case`2xs`:return`0.625rem`;case`xs`:return`0.75rem`;case`sm`:return`0.875rem`;default:return`0.875rem`}};return G(K,{sx:{display:`flex`,alignItems:`center`,width:e.width},className:i,children:[G(q,{variant:`outlined`,color:`neutral`,size:`small`,onClick:g,disabled:e.disabled,sx:{width:`100%`,height:(()=>{switch(e.size){case`2xs`:return 24;case`xs`:return 28;case`sm`:return 32;default:return 36}})(),justifyContent:`space-between`,textTransform:`none`,fontSize:C(),fontWeight:`normal`,px:1},children:[W(Y,{component:`span`,sx:{fontSize:C(),color:a.length>0?`text.primary`:`text.secondary`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:h(a)||e.placeholder||``}),a.length>0&&W(Y,{component:`span`,onClick:e=>{e.stopPropagation(),y()},sx:{fontSize:C(),color:`primary.main`,cursor:`pointer`,ml:1,"&:hover":{textDecoration:`underline`}},children:`Clear`})]}),G(bn,{anchorEl:d,open:m,onClose:_,slotProps:{paper:{sx:{width:e.width,fontSize:C()}}},children:[W(K,{sx:{px:.5,py:.5},children:G(K,{sx:{border:`1px solid`,borderColor:`divider`,borderRadius:1,p:.5,display:`flex`,flexWrap:`wrap`,gap:.5,alignItems:`center`},className:`no-track-pii-safe`,children:[a.map(e=>W(on,{label:e,size:`small`,onDelete:()=>b(e),sx:{height:22,fontSize:C()}},e)),W(yn,{inputRef:p,placeholder:`Filter or add custom keys`,value:s,onChange:e=>{c(e.target.value),u(!0)},onKeyDown:e=>{e.key!==`Escape`&&e.stopPropagation();let t=e.target,n=t.value.trim().replace(`,`,``);switch(e.key){case`,`:case`Enter`:e.preventDefault(),n&&(v(n),c(``));break;case`Backspace`:t.value===``&&a.length>0&&(o(a.slice(0,-1)),r(a.slice(0,-1)))}},onBlur:()=>{p.current&&l&&p.current.focus()},sx:{flex:1,minWidth:120,fontSize:C(),"& input":{p:.5}}})]})}),W(Pt,{}),s!==``&&!n?.includes(s)&&G(Q,{onClick:()=>{v(s),u(!1)},sx:{fontSize:C()},children:[`Add '`,s,`' to the list`]}),S.slice(0,10).map((e,t)=>W(Q,{onClick:()=>{v(e)},sx:{fontSize:C()},children:e},xn.uniqueId(`option-${t}`))),S.length>10&&W(Z,{title:`Please use filter to find more items`,placement:`top`,children:G(K,{sx:{px:1.5,py:.5,color:`text.secondary`,fontSize:`8pt`},children:[`and `,S.length-10,` more items...`]})})]})]})},ya=`Paired baseline and current continuous distribution`,ba=`Paired baseline and current categorical distribution`;function xa({ariaLabel:e,className:t,children:n}){return G(`svg`,{width:140,height:28,viewBox:`0 0 140 28`,className:t,style:{display:`block`,overflow:`visible`},role:`img`,"aria-label":e,children:[W(`title`,{children:e}),n]})}function Sa({y:e,stroke:t}){return W(`line`,{x1:0,y1:e,x2:140,y2:e,stroke:t,strokeWidth:.5})}function Ca(e,t,n){return`${e} [base: ${`${(t*100).toFixed(1)}%`}, current: ${`${(n*100).toFixed(1)}%`}]`}function wa(e,t,n){return`${e} [${t===null?`not in base top-K`:`base rank: ${t}`}, ${n===null?`not in current top-K`:`current rank: ${n}`}]`}function Ta({data:e,formatValue:t=Je,className:n}){let r=F(),i=N(r).comparison,a=_e(r),o=i.base.chartFill,s=i.current.chartFill,c=a.borderColor,l=`phc-overlap-${gt().replace(/:/g,``)}`,u=B(()=>Da(e,140),[e]);return u.bins.length===0?W(xa,{ariaLabel:ya,className:n}):G(xa,{ariaLabel:ya,className:n,children:[W(`defs`,{children:G(`pattern`,{id:l,patternUnits:`userSpaceOnUse`,width:4,height:4,children:[W(`rect`,{x:0,y:0,width:2,height:2,fill:o}),W(`rect`,{x:2,y:2,width:2,height:2,fill:o}),W(`rect`,{x:2,y:0,width:2,height:2,fill:s}),W(`rect`,{x:0,y:2,width:2,height:2,fill:s})]})}),u.bins.map((e,n)=>{let r=e.baseDensity/u.maxDensity*26,a=e.currentDensity/u.maxDensity*26,o=Math.min(r,a),s=Math.max(r,a),c=r>a?i.base:i.current,d=c.chartFill,f=Math.max(.5,e.width-.25),p=Oa(e,t);return G(`g`,{children:[W(`rect`,{x:e.x,y:0,width:e.width,height:26,fill:`none`,pointerEvents:`all`,children:W(`title`,{children:p})}),o>0&&W(`rect`,{x:e.x,y:26-o,width:f,height:o,fill:`url(#${l})`,stroke:c.border,strokeWidth:2,pointerEvents:`none`}),s>o&&W(`rect`,{x:e.x,y:26-s,width:f,height:s-o,fill:d,stroke:c.border,strokeWidth:2,pointerEvents:`none`})]},n)}),W(Sa,{y:26,stroke:c})]})}function Ea(e,t,n){if(n<e[0]||n>e[e.length-1])return 0;for(let r=0;r<t.length;r+=1)if(n>=e[r]&&n<e[r+1])return t[r];return t[t.length-1]}function Da(e,t){let{baseBinEdges:n,currentBinEdges:r,baseDensity:i,currentDensity:a}=e,o=e=>e.every(Number.isFinite),s=i.length>0&&n.length===i.length+1&&o(n)&&o(i),c=a.length>0&&r.length===a.length+1&&o(r)&&o(a),l=!s&&(n.length>0||i.length>0),u=!c&&(r.length>0||a.length>0);if(l||u||!s&&!c)return{bins:[],maxDensity:0,minVal:0,maxVal:0};let d=[...s?n:[],...c?r:[]],f=Math.min(...d),p=Math.max(...d),m=p-f,h=[];if(m<=0||!Number.isFinite(m)){let e=Math.max(i.length,a.length),n=t/e;for(let t=0;t<e;t+=1)h.push({x:t*n,width:n,baseDensity:i[t]??0,currentDensity:a[t]??0,lo:f,hi:p})}else{let e=Array.from(new Set(d)).sort((e,t)=>e-t);for(let o=0;o<e.length-1;o+=1){let l=e[o],u=e[o+1];if(u<=l)continue;let d=(l+u)/2;h.push({x:(l-f)/m*t,width:(u-l)/m*t,baseDensity:s?Ea(n,i,d):0,currentDensity:c?Ea(r,a,d):0,lo:l,hi:u})}}if(h.length>0){let e=h[h.length-1];e.width=Math.max(0,t-e.x)}let g=[];for(let e of h)g.push(e.baseDensity,e.currentDensity);return{bins:h,maxDensity:Math.max(1e-9,...g),minVal:f,maxVal:p}}function Oa(e,t){let n=e.hi-e.lo,r=n>0?e.baseDensity*n:0,i=n>0?e.currentDensity*n:0;return Ca(`${t(e.lo)}–${t(e.hi)}`,r,i)}function ka({data:e,formatValue:t=ja,className:n}){let r=F(),i=N(r).comparison,a=_e(r),o=i.base.chartFill,s=i.current.chartFill,c=a.borderColor,l=a.secondaryTextColor,u=B(()=>Aa(e,26,t),[e,26,t]);if(u.length===0)return W(xa,{ariaLabel:ba,className:n});let d=140/Math.max(1,u.length),f=d*.1,p=d-f*2,m=Math.max(1,Math.min(2,p*.1)),h=Math.max(1,(p-m)/2);return G(xa,{ariaLabel:ba,className:n,children:[u.map((e,t)=>{let n=t*d,r=n+f,a=n+f+h+m;return G(`g`,{children:[W(`rect`,{x:n,y:0,width:d,height:26,fill:`none`,pointerEvents:`all`,children:W(`title`,{children:e.hoverTitle})}),e.baseH>0&&W(`rect`,{x:r,y:26-e.baseH,width:h,height:e.baseH,fill:o,stroke:i.base.border,strokeWidth:2,pointerEvents:`none`}),e.currH>0&&W(`rect`,{x:a,y:26-e.currH,width:h,height:e.currH,fill:s,stroke:i.current.border,strokeWidth:2,pointerEvents:`none`})]},t)}),W(Sa,{y:26,stroke:c}),e.trimmed&&G(`g`,{pointerEvents:`none`,children:[W(`rect`,{x:102,y:1,width:37,height:10,fill:a.overlayBackgroundColor,rx:2,"data-testid":`trimmed-marker-bg`}),W(`text`,{x:139,y:9,fontFamily:`system-ui, -apple-system, sans-serif`,fontSize:8,fill:l,textAnchor:`end`,children:`trimmed`})]})]})}function Aa(e,t,n){if(e.mode===`ranks`){let{slots:r}=Pa(e);return r.map(r=>({baseH:Ma(r.baseRank,e.k,t),currH:Ma(r.currRank,e.k,t),hoverTitle:wa(n(r.value),r.baseRank,r.currRank)}))}let{slots:r,maxProp:i}=Na(e);return r.map(e=>({baseH:e.baseProp/i*t,currH:e.currProp/i*t,hoverTitle:Ca(n(e.value),e.baseProp,e.currProp)}))}function ja(e){return String(e)}function Ma(e,t,n){if(e===null||t<=0)return 0;let r=(t-e+1)/t*n;return Math.max(0,Math.min(n,r))}function Na(e){let{values:t,baseCounts:n,currentCounts:r,baseTotal:i,currentTotal:a}=e;if(!Array.isArray(t)||!Array.isArray(n)||!Array.isArray(r)||t.length===0||t.length!==n.length||t.length!==r.length)return{slots:[],maxProp:0};let o=t.map((e,t)=>{let o=n[t]??0,s=r[t]??0;return{value:e,baseCount:o,currCount:s,baseProp:i>0?o/i:0,currProp:a>0?s/a:0}}),s=[];for(let e of o)s.push(e.baseProp),s.push(e.currProp);return{slots:o,maxProp:Math.max(1e-9,...s)}}function Pa(e){let{values:t,baseRanks:n,currentRanks:r}=e;if(!Array.isArray(t)||!Array.isArray(n)||!Array.isArray(r)||t.length===0||t.length!==n.length||t.length!==r.length)return{slots:[]};let i=t.map((e,t)=>({value:e,baseRank:n[t]??null,currRank:r[t]??null})),a=i.filter(e=>e.baseRank!==null||e.currRank!==null);return a.length<i.length&&console.warn(`[PairedHistogramDiscrete] computeRanksSlots: dropped ${i.length-a.length} value(s) absent from both base and current top-K (Stage B contract violation).`),{slots:a}}function Fa({title:e,testId:t}){return W(`span`,{className:`schema-distribution-error`,title:e,role:`img`,"aria-label":e,"data-testid":t,children:W(Sn,{"aria-hidden":!0})})}function Ia(){return W(`span`,{className:`schema-distribution-not-profiled`,title:`Not profiled — only changed columns are shown`,"aria-hidden":!0,"data-testid":`inline-distribution-not-profiled`,children:`–`})}function La(e){return e==null?`(null)`:typeof e==`boolean`?e?`true`:`false`:String(e)}function Ra(e){let t=[...e.base_bin_edges,...e.current_bin_edges].filter(Number.isFinite);if(t.length===0)return e=>Be(e);let n=Array.from(new Set(t)).sort((e,t)=>e-t);if(n.length<2)return e=>Be(e);let r=1/0;for(let e=1;e<n.length;e++){let t=n[e]-n[e-1];t<r&&(r=t)}if(r>=86400)return e=>Be(e);let i=r<60?`seconds`:!0;return e=>Be(e,i)}function za(e){return{baseBinEdges:e.base_bin_edges,currentBinEdges:e.current_bin_edges,baseDensity:e.base_density,currentDensity:e.current_density,baseTotal:e.base_total,currentTotal:e.current_total}}function Ba(e,t,n){return e.mode===`ranks`?{mode:`ranks`,values:e.values,baseRanks:e.base_ranks,currentRanks:e.current_ranks,k:e.k,trimmed:e.trimmed}:{mode:`counts`,values:e.values,baseCounts:e.base_counts.map(e=>e??0),currentCounts:e.current_counts.map(e=>e??0),baseTotal:t,currentTotal:n,trimmed:e.trimmed}}function Va({payload:e,columnType:t,baseTotal:n=0,currentTotal:r=0,isLoading:i=!1,hasError:a=!1,notProfiled:o=!1,className:s}){if(i)return W(`span`,{className:`schema-distribution-pending`,"aria-label":`Loading distribution`,role:`status`,"data-testid":`inline-distribution-pending`});if(a)return W(Fa,{title:`Failed to read distribution`,testId:`inline-distribution-error`});if(!e)return o?W(Ia,{}):null;if(e.kind===null)return W(Fa,{title:`Failed to read distribution for this column`,testId:`inline-distribution-column-failure`});if(e.kind===`histogram`){let n=t?qr(t):`unknown`,r=n===`time`?Fe:n===`date`||n===`datetime`?Ra(e):void 0;return W(Ta,{data:za(e),formatValue:r,className:s})}return W(ka,{data:Ba(e,n,r),formatValue:La,className:s})}const Ha=new Set([`DATE`,`DATETIME`,`TIMESTAMP`,`YEAR`,`DATETIME2`,`SMALLDATETIME`,`DATETIMEOFFSET`,`INTERVAL`,`TIMESTAMPTZ`,`TIMESTAMP WITH TIME ZONE`,`TIMESTAMP WITHOUT TIME ZONE`,`TIMESTAMP WITH LOCAL TIME ZONE`,`TIMESTAMP_LTZ`,`TIMESTAMP_NTZ`,`TIMESTAMP_TZ`]),Ua=/\s*\(\s*\d+\s*\)/;function Wa(e){let t=e.trim().toUpperCase().replace(/\s+/g,` `).replace(Ua,``);return Ha.has(t)}function Ga(e){let t=[`CHAR`,`VARCHAR`,`TINYTEXT`,`TEXT`,`MEDIUMTEXT`,`LONGTEXT`,`NCHAR`,`NVARCHAR`,`VARCHAR2`,`NVARCHAR2`,`CLOB`,`NCLOB`,`VARCHAR(MAX)`,`XML`,`JSON`],n=e.trim().toUpperCase();return t.includes(n)?!0:/^(VARCHAR|NVARCHAR|VARCHAR2|NVARCHAR2|CHAR|NCHAR)\(\d+\)$/.test(n)}function Ka(e){return[`BOOLEAN`,`TINYINT(1)`,`BIT`,`NUMBER(1)`,`BOOL`].includes(e.toUpperCase())}function qa(e){return qr(e)===`time`||Wa(e)}function Ja(e){return!Ga(e)&&!Ka(e)&&!qa(e)}function Ya({params:e,onParamsChanged:t,setIsReadyToExecute:n,onSubmitRequested:r}){let{columns:i,columnAvailability:a,isLoading:o,error:s}=_d(e.model),c=i.filter(e=>!Ga(e.type)&&!Ka(e.type)&&!qa(e.type)),l=e=>{let t=a[e];return t?.base===!0&&t.current===!0},u=c.filter(e=>l(e.name));return o?W(K,{children:`Loading...`}):i.length===0||s?W(K,{children:`Error: Please provide the 'catalog.json' to list column candidates`}):W(K,{sx:{m:`16px`},children:G(En,{fullWidth:!0,disabled:u.length===0,children:[W(Dn,{sx:{mb:1},children:`Pick a column to show Histogram Diff`}),G(On,{value:e.column_name,onChange:i=>{let a=i.target.value,o=c.find(e=>e.name===a),s=o!==void 0&&l(a);n(s);let u=o?.type??``,d={...e,column_name:a,column_type:u};t(d),s&&u&&r?.(d)},children:[W(`option`,{value:``,children:u.length===0?`No numeric column is available in both environments`:`Select column`}),c.map(e=>G(`option`,{value:e.name,className:`no-track-pii-safe`,disabled:!l(e.name),children:[e.name,` : `,e.type]},e.name))]})]})})}const Xa={breaking:`Model-Wide Change`,partial_breaking:`Column Change`,non_breaking:`Additive Change`,unknown:`Unknown`},Za=[{category:`breaking`,description:`Change affects the model as a whole`},{category:`partial_breaking`,description:`Change is scoped to specific columns`},{category:`non_breaking`,description:`Change only adds new columns or structure`},{category:`unknown`,description:`Change category could not be determined`}];function Qa(e){return e!==void 0&&Ze(Xa,e)}function $a(e){return Qa(e)?Xa[e]:void 0}function eo(e,t){return Qa(e)?e:Qa(t)?t:void 0}const to={badge:{fontSize:`0.65rem`,fontWeight:700,lineHeight:1,height:16,minWidth:16,px:.5,borderRadius:`3px`},titleChip:{fontSize:`1rem`,fontWeight:600,lineHeight:1.4,height:`auto`,minWidth:0,px:1,py:.25,borderRadius:`6px`}};function no({tokens:e,variant:t=`badge`,testId:n,ariaLabel:r,children:i,sx:a,...o}){return W(kn,{"data-testid":n,"aria-label":r,sx:[{display:`inline-flex`,alignItems:`center`,justifyContent:`center`,backgroundColor:e.badgeBg,border:`1px solid ${e.badgeBorder}`,color:e.fg},to[t],...Array.isArray(a)?a:a?[a]:[]],...o,children:i})}function ro(e,t){return{isWholeModelChanged:t.wholeModelChangedNodeIds.has(e),isWholeModelImpacted:t.wholeModelImpactedNodeIds.has(e)}}const io={changed:{tooltip:`Whole-model change`,ariaLabel:`whole-model change`},impacted:{tooltip:`Whole-model impact`,ariaLabel:`whole-model impact`}},ao={additive:{text:`ADD`,tooltip:`Additive change`,ariaLabel:`additive change`,testId:`whole-model-additive-badge`},"column-changed":{text:`COLUMN`,tooltip:`Column-only change`,ariaLabel:`column-only change`,testId:`column-changed-badge`},"column-impacted":{text:`COLUMN`,tooltip:`Column-only impact`,ariaLabel:`column-only impact`,testId:`column-impacted-badge`}};function oo(e){return e.newCllExperience?e.isWholeModelChanged?`changed`:e.isWholeModelImpacted?`impacted`:null:null}function so(e){return!e.newCllExperience||e.isWholeModelChanged||e.isWholeModelImpacted?null:e.changeCategory===`partial_breaking`?`column-changed`:e.isImpacted?`column-impacted`:e.changeCategory===`non_breaking`?`additive`:null}function co(e,t){let n=oo(e);return n?{kind:n,...io[n],tokens:mo(n,t)}:null}function lo(e,t){let n=so(e);return n?{kind:n,...ao[n],tokens:mo(n,t)}:null}const uo={additive:0,"column-changed":1,"column-impacted":2},fo=Object.keys(ao).sort((e,t)=>uo[e]-uo[t]);function po(e){return fo.map(t=>({kind:t,...ao[t],tokens:mo(t,e)}))}function mo(e,t){let n=t?`dark`:`light`;return e===`changed`||e===`column-changed`?{stripeAccent:`var(--schema-color-changed-accent)`,fg:ta[n],badgeBg:ea[n],badgeBorder:`rgb(212 133 11)`}:e===`additive`?{stripeAccent:`var(--schema-color-added-accent)`,fg:ia[n],badgeBg:ra[n],badgeBorder:na[n]}:{stripeAccent:`var(--schema-color-impacted-accent)`,fg:$i[n],badgeBg:Qi[n],badgeBorder:Zi[n]}}function ho(e){let t=oo(e);if(t)return io[t].tooltip;let n=so(e);if(n)return ao[n].tooltip}function go(e,t){let n=Ki(e.name,e.resourceType,e.materialized),r=ho(t);return r?`${n} - ${r}`:n}const _o=[{status:`added`,label:`Added`,description:`Newly added resource`},{status:`removed`,label:`Removed`,description:`Removed resource`},{status:`modified`,label:`Modified`,description:`Modified resource`},{status:`impacted`,label:`Impacted`,description:`Downstream of a modified resource`}],vo=hi.map(e=>({type:e,label:gi[e].label,description:gi[e].description}));function yo({status:e,isDark:t}){return e===`impacted`?W(K,{"aria-label":`Impacted change`,sx:{width:16,height:16,color:t?Zi.dark:Zi.light,fontSize:`0.875rem`,fontWeight:`bold`,display:`flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0},children:W(`span`,{"aria-hidden":`true`,children:`!`})}):W(xe,{status:e,emphasis:`secondary`,size:`sm`})}function bo({type:e}){let t=gi[e];return W(on,{"aria-hidden":`true`,label:t.letter,size:`small`,color:t.color,sx:{fontSize:`0.6667rem`,height:18,minWidth:18,"& .MuiChip-label":{px:.5}}})}function xo({variant:e,showTooltips:t=!0,title:n,className:r,newCllExperience:i=!1,transformationTypes:a}){let o=F(),s=i?_o:_o.filter(e=>e.status!==`impacted`),c=a?new Set(a):void 0,l=c?vo.filter(e=>c.has(e.type)):vo,u=e===`changeStatus`?s:l;return e===`transformation`&&l.length===0?null:G(K,{className:r,sx:{bgcolor:`background.paper`,padding:`12px`,border:`1px solid`,borderColor:`divider`,borderRadius:1,fontSize:`0.875rem`},children:[n&&W(Y,{variant:`caption`,sx:{display:`block`,fontWeight:600,mb:1,color:`text.secondary`},children:n}),e===`changeStatus`&&u.map(e=>{let n=G(K,{sx:{display:`flex`,alignItems:`center`,gap:`8px`,mb:`4px`,"&:last-child":{mb:0}},children:[W(yo,{status:e.status,isDark:o}),W(Y,{variant:`body2`,children:e.label})]},e.status);return t&&e.description?W(Z,{title:e.description,placement:`right`,children:n},e.status):n}),e===`changeStatus`&&!i&&G(K,{sx:{mt:1,pt:1,borderTop:`1px solid`,borderColor:`divider`},children:[W(Y,{variant:`caption`,sx:{display:`block`,fontWeight:600,mb:.5,color:`text.secondary`},children:`Change Categories`}),Za.map(({category:e,description:n})=>{let r=W(Y,{variant:`body2`,sx:{fontWeight:600,mb:`2px`},children:Xa[e]},e);return t?W(Z,{title:n,placement:`right`,children:r},e):r})]}),e===`changeStatus`&&i&&G(K,{sx:{mt:1,pt:1,borderTop:`1px solid`,borderColor:`divider`},children:[W(Y,{variant:`caption`,sx:{display:`block`,fontWeight:600,mb:.5,color:`text.secondary`},children:`Badges`}),po(o).map(e=>G(K,{sx:{display:`flex`,alignItems:`center`,gap:`8px`,mb:`4px`,"&:last-child":{mb:0}},children:[W(no,{tokens:e.tokens,testId:`legend-treatment-${e.kind}`,ariaLabel:e.ariaLabel,children:e.text}),W(Y,{variant:`body2`,children:e.tooltip})]},e.kind))]}),e===`transformation`&&u.map(e=>{let n=G(K,{tabIndex:t&&e.description?0:void 0,sx:{display:`flex`,alignItems:`center`,gap:`8px`,mb:`4px`,"&:last-child":{mb:0}},children:[W(bo,{type:e.type}),W(Y,{variant:`body2`,children:e.label})]},e.type);return t&&e.description?W(Z,{describeChild:!0,title:e.description,placement:`right`,children:n},e.type):n})]})}const So=()=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,children:W(`path`,{d:`M8 3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm0 6.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm0 6.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z`})});function Co({name:e,color:t}){return W(K,{sx:{flex:1,color:t,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:W(`span`,{children:e})})}function wo({id:e,data:t,selected:n,interactive:r=!1,selectMode:i=`normal`,isNodeSelected:a=!1,isFocused:o=!1,isHighlighted:s=!0,showContent:c=!0,actionTag:l,showChangeAnalysis:u=!1,changeCategory:d,runsAggregatedTag:f,hasParents:p=!0,hasChildren:m=!0,columnCount:h=0,columnHeight:g=28,isDark:_=!1,newCllExperience:v,isImpacted:y,isWholeModelChanged:b=!1,isWholeModelImpacted:x=!1,onNodeClick:S,onNodeDoubleClick:C,onSelect:w,onContextMenu:T}){let[E,D]=H(!1),[O,k]=H(!1),A=V(null),ee=R(()=>{A.current&&=(clearTimeout(A.current),null)},[]),te=R(()=>{ee(),D(!0)},[ee]),ne=R(()=>{ee(),A.current=setTimeout(()=>D(!1),500)},[ee]);z(()=>()=>ee(),[ee]);let{label:re,changeStatus:ie=`unchanged`,isSelected:ae,resourceType:oe,materialized:j}=t,se=v??t.newCllExperience??!1,ce=y??t.isImpacted??!1,le=a||ae||n||!1,M=h>0,ue=i===`action_result`&&l,de=i!==`normal`,fe=de||E||O,{backgroundColor:pe,borderColor:me,secondaryAccent:he}=Ui({changeStatus:ie,isImpacted:ce,newCllExperience:se},_),{icon:ge}=oe===`model`&&j?Gi(j):Wi(oe),N=ie!==`unchanged`,_e=N?he:me,ve=_?P.white:P.black,ye=_?P.black:P.white,be=se&&ce&&!N,Se=_?P.neutral[800]:P.neutral[100],Ce=_?P.neutral[700]:P.neutral[200],we=be?pe:o||le?Ce:E?Se:pe,Te=N?he:we,Ee=N?ye:ve,De=ve,Oe=ve,ke=se?`none`:i===`action_result`?ue?`none`:Ci:s||o||le||E?`none`:Ci,Ae=t=>{i!==`action_result`&&(t.stopPropagation(),w?.(e))},je=t=>{t.preventDefault(),t.stopPropagation(),T?.(t,e)},Me={newCllExperience:se,isWholeModelChanged:b,isWholeModelImpacted:x,isImpacted:ce,changeCategory:d},Ne=lo(Me,_),F=go({name:re,resourceType:oe,materialized:j},Me),Pe=u&&d&&(!se||d===`unknown`)?$a(d):null;return G(K,{onClick:()=>S?.(e),onDoubleClick:()=>C?.(e),onMouseEnter:te,onMouseLeave:ne,sx:{display:`flex`,flexDirection:`column`,width:300,cursor:i===`selecting`?`pointer`:`inherit`,transition:`box-shadow 0.2s ease-in-out`,padding:0,filter:ke},children:[W(un,{isVisible:E,position:dn.Right,offset:6,align:`center`,children:W(K,{onMouseEnter:te,onMouseLeave:ne,sx:{display:`flex`,alignItems:`center`,gap:.75,"&::before":{content:`""`,position:`absolute`,top:0,bottom:0,right:`100%`,width:`12px`},position:`relative`,px:.75,py:.5,borderRadius:1,backgroundColor:`background.paper`,border:`1px solid`,borderColor:`divider`,boxShadow:`0 2px 6px rgb(0 0 0 / 0.15), 0 1px 2px rgb(0 0 0 / 0.1)`},children:T&&W(K,{"data-testid":`lineage-node-kebab`,onClick:je,sx:{cursor:`pointer`,color:`text.secondary`,"&:hover":{color:`text.primary`}},children:W(So,{})})})}),G(K,{"data-testid":`lineage-node-card`,sx:{display:`flex`,borderColor:_e,borderWidth:`2px`,borderStyle:`solid`,borderTopLeftRadius:8,borderTopRightRadius:8,borderBottomLeftRadius:M?0:8,borderBottomRightRadius:M?0:8,backgroundColor:we,height:60,position:`relative`},children:[W(K,{"data-testid":`lineage-node-status-block`,sx:{display:`flex`,bgcolor:Te,color:Ee,padding:de?`8px`:`2px`,borderRightWidth:`2px`,borderRightStyle:`solid`,borderColor:_e,alignItems:`top`,position:`relative`,visibility:c?`inherit`:`hidden`},children:r&&W(mn,{checked:i===`selecting`&&le||i===`action_result`&&!!ue,onClick:Ae,onBlur:()=>k(!1),onFocus:()=>k(!0),disabled:i===`action_result`,size:`small`,slotProps:{input:{"aria-label":`Select ${re}`}},sx:{...i===`normal`&&{backgroundColor:Te,borderRadius:1,left:2,opacity:+!!fe,pointerEvents:fe?`auto`:`none`,position:`absolute`,top:`50%`,transform:`translateY(-50%)`,transition:`opacity 0.15s ease-in-out`,zIndex:1},padding:0,color:`inherit`,"&.Mui-checked":{color:`inherit`}}})}),!c&&N&&W(K,{"data-testid":`compact-structural-change-indicator`,sx:{alignItems:`center`,display:`flex`,inset:0,justifyContent:`center`,position:`absolute`},children:W(xe,{status:ie,emphasis:`secondary`,size:`sm`})}),G(K,{sx:{display:`flex`,flex:`1 0 auto`,mx:.5,width:100,flexDirection:`column`},children:[W(Z,{title:F,placement:`top`,children:G(K,{sx:{display:`flex`,width:`100%`,textAlign:`left`,fontWeight:600,flex:1,p:.5,gap:`5px`,alignItems:`center`,visibility:c?`inherit`:`hidden`},children:[W(Co,{name:re,color:De}),Ne&&W(no,{tokens:Ne.tokens,testId:Ne.testId,ariaLabel:Ne.ariaLabel,children:Ne.text}),ge&&W(K,{sx:{fontSize:16,color:Oe},children:W(ge,{"aria-hidden":`true`})}),W(xe,{status:ie,emphasis:`secondary`,size:`sm`})]})}),W(K,{sx:{display:`flex`,flex:`1 0 auto`,mx:.5,flexDirection:`column`,paddingBottom:.5,visibility:c?`inherit`:`hidden`},children:W(J,{direction:`row`,spacing:1,sx:{alignItems:`center`,minWidth:0},children:l?G(U,{children:[W(K,{sx:{flexGrow:1}}),l]}):G(U,{children:[Pe&&W(Y,{sx:{color:`text.secondary`,flex:`0 1 auto`,fontSize:`0.75rem`,fontWeight:600,height:20,margin:0,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:Pe}),i!==`action_result`&&f&&W(K,{sx:{display:`flex`,flex:1,minWidth:0},children:f})]})})})]})]}),M&&W(K,{sx:{p:`10px 10px`,borderColor:_e,borderWidth:`2px`,borderStyle:`solid`,borderTopWidth:0,borderBottomLeftRadius:8,borderBottomRightRadius:8},children:W(K,{sx:{height:`${h*g}px`,overflow:`auto`}})}),p&&W(ln,{type:`target`,position:dn.Left,isConnectable:!1}),m&&W(ln,{type:`source`,position:dn.Right,isConnectable:!1})]})}const To=L(wo);To.displayName=`LineageNode`;const Eo=e=>({display:`inline-flex`,alignItems:`center`,borderRadius:16,px:1,py:.25,fontSize:`0.75rem`,bgcolor:e?`grey.700`:`grey.100`,color:e?`grey.100`:`inherit`}),Do={mr:.5,display:`flex`,alignItems:`center`},Oo={table:`table`,view:`view`,incremental:`incremental`,ephemeral:`ephemeral`,materialized_view:`mat. view`,dynamic_table:`dyn. table`,streaming_table:`stream. table`};function ko(e){return Oo[e]??e}function Ao({resourceType:e,materialized:t,"data-testid":n}){let r=F(),i=e===`model`&&t!=null,{icon:a}=i?Gi(t):Wi(e),o=i?ko(t):e;return W(Z,{arrow:!0,title:i?`Materialization strategy`:`Type of resource`,children:G(K,{component:`span`,sx:Eo(r),"data-testid":n,children:[a&&W(K,{component:`span`,sx:Do,children:W(a,{"aria-hidden":`true`})}),o]})})}const jo=L(Ao);jo.displayName=`NodeTag`;const Mo=()=>G(K,{component:`span`,sx:{display:`flex`,flexDirection:`column`,gap:`2px`,"& > span":{width:4,height:4,borderRadius:`50%`,backgroundColor:`currentColor`}},children:[W(`span`,{}),W(`span`,{}),W(`span`,{})]});function No({checkId:e,primaryActions:t=[],secondaryActions:n=[],onAction:r,variant:i=`combined`,size:a=`small`,menuIcon:o,className:s}){let[c,l]=H(null),u=!!c,d=e=>{e.stopPropagation(),l(e.currentTarget)},f=()=>{l(null)},p=t=>{f(),r?.(e,t)},m=e=>{let t=W(q,{variant:`outlined`,size:a,disabled:e.disabled,onClick:()=>p(e.type),startIcon:e.icon,color:e.destructive?`error`:`inherit`,children:e.label},e.type);return e.disabled&&e.disabledTooltip?W(Z,{title:e.disabledTooltip,children:W(`span`,{children:t})},e.type):t};if(i===`menu`){let e=[...t,...n];return G(K,{className:s,children:[W(X,{onClick:d,size:a,children:o||W(Mo,{})}),W(bn,{anchorEl:c,open:u,onClose:f,children:e.map(e=>G(Q,{onClick:()=>p(e.type),disabled:e.disabled,sx:{color:e.destructive?`error.main`:`inherit`},children:[e.icon&&W(K,{component:`span`,sx:{mr:1,display:`flex`},children:e.icon}),e.label]},e.type))})]})}return i===`buttons`?W(K,{className:s,sx:{display:`flex`,gap:1},children:W(gn,{size:a,variant:`outlined`,children:t.map(m)})}):G(K,{className:s,sx:{display:`flex`,gap:1},children:[t.length>0&&W(gn,{size:a,variant:`outlined`,children:t.map(m)}),n.length>0&&G(U,{children:[W(X,{onClick:d,size:a,children:o||W(Mo,{})}),W(bn,{anchorEl:c,open:u,onClose:f,children:n.map(e=>G(Q,{onClick:()=>p(e.type),disabled:e.disabled,sx:{color:e.destructive?`error.main`:`inherit`},children:[e.icon&&W(K,{component:`span`,sx:{mr:1,display:`flex`},children:e.icon}),e.label]},e.type))})]})]})}const Po=L(No);Po.displayName=`CheckActions`;function Fo({name:e,onNameChange:t,placeholder:n=`Unnamed check`,disabled:r=!1,className:i}){let[a,o]=H(!1),[s,c]=H(e),l=V(null);z(()=>{c(e)},[e]);let u=R(()=>{r||(c(e),o(!0))},[r,e]),d=R(()=>{let n=s.trim();n&&n!==e&&t?.(n),o(!1)},[s,e,t]),f=R(t=>{t.key===`Enter`?(t.preventDefault(),d()):t.key===`Escape`&&(t.preventDefault(),c(e),o(!1))},[d,e]),p=R(e=>{c(e.target.value)},[]);return z(()=>{let e=e=>{l.current&&!l.current.contains(e.target)&&d()};return a&&document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[a,d]),z(()=>{a&&l.current&&(l.current.focus(),l.current.select())},[a]),W(K,{className:i,sx:{flex:`2`,fontSize:`1rem`,fontWeight:500,overflow:`hidden`,color:`text.primary`,cursor:r?`default`:`pointer`},children:a?W(An,{inputRef:l,value:s,onChange:p,onKeyDown:f,placeholder:n,size:`small`,sx:{width:`100%`},variant:`outlined`}):W(K,{sx:{flex:`0 1 auto`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,overflow:`hidden`,"&:hover":{textDecoration:r?`none`:`underline`}},onClick:u,children:e||W(K,{component:`span`,sx:{color:`text.secondary`,fontStyle:`italic`},children:n})})})}const Io=L(Fo);Io.displayName=`CheckBreadcrumb`;function Lo(e){return{query:`Q`,query_base:`Q`,query_diff:`QD`,schema_diff:`SD`,lineage_diff:`LD`,profile:`P`,profile_diff:`PD`,row_count:`R`,row_count_diff:`RD`,value_diff:`VD`,histogram_diff:`H`,top_k_diff:`TK`,simple:`•`}[e]||`?`}function Ro(e){return{query:`#3b82f6`,query_base:`#3b82f6`,query_diff:`#8b5cf6`,schema_diff:`#06b6d4`,lineage_diff:`#10b981`,profile:`#f59e0b`,profile_diff:`#f97316`,row_count:`#ec4899`,row_count_diff:`#ef4444`,value_diff:`#6366f1`,histogram_diff:`#14b8a6`,top_k_diff:`#a855f7`,simple:`#6b7280`}[e]||`#6b7280`}function zo(e){if(!e)return`Check may be outdated`;let t=new Date(e);if(Number.isNaN(t.getTime()))return`Check may be outdated`;if(t.getTime()>Date.now())return`Check may be outdated — last run: just now`;try{return`Check may be outdated — last run: ${Mn(t,{addSuffix:!0})}`}catch{return`Check may be outdated`}}const Bo={recce_ai:{label:`AI`,color:`#7c3aed`,bg:`rgb(124 58 237 / 0.12)`},user:{label:`User`,color:`#059669`,bg:`rgb(5 150 105 / 0.12)`},preset_system:{label:`Preset`,color:`#2563eb`,bg:`rgb(37 99 235 / 0.12)`}};function Vo({check:e,isSelected:t=!1,onClick:n,onApprovalChange:r,disableApproval:i=!1,disabledApprovalTooltip:a,disabled:o=!1,className:s}){let c=()=>{!o&&n&&n(e.id)},l=W(mn,{checked:e.isApproved??!1,onChange:(t,n)=>{r&&r(e.id,n)},onClick:e=>{e.stopPropagation()},disabled:i||o,size:`small`,sx:{padding:`4px`,"&.Mui-disabled":{opacity:.5}}});return G(K,{className:s,onClick:c,sx:{display:`flex`,alignItems:`center`,gap:1,padding:`8px 12px`,cursor:o?`default`:`pointer`,borderLeft:t?`3px solid`:`3px solid transparent`,borderLeftColor:t?`primary.main`:`transparent`,backgroundColor:t?`action.selected`:`transparent`,opacity:o?.6:1,transition:`background-color 0.15s ease`,"&:hover":{backgroundColor:o?`transparent`:t?`action.selected`:`action.hover`}},children:[W(on,{label:Lo(e.type),size:`small`,sx:{minWidth:32,height:24,fontSize:`0.7rem`,fontWeight:600,backgroundColor:`${Ro(e.type)}20`,color:Ro(e.type),"& .MuiChip-label":{px:1}}}),W(Y,{variant:`body2`,sx:{flexGrow:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.name}),e.isOutdated&&W(Z,{title:zo(e.lastRunAt),children:W(on,{label:`Outdated`,size:`small`,sx:{height:20,fontSize:`0.65rem`,fontWeight:500,backgroundColor:`rgb(245 158 11 / 0.12)`,color:`#b45309`,flexShrink:0,"& .MuiChip-label":{px:.75}}})}),e.actorType&&!e.isPreset&&Bo[e.actorType]&&W(on,{label:Bo[e.actorType].label,size:`small`,sx:{height:20,fontSize:`0.65rem`,fontWeight:500,backgroundColor:Bo[e.actorType].bg,color:Bo[e.actorType].color,flexShrink:0,"& .MuiChip-label":{px:.75}}}),e.isPreset&&W(on,{label:`Preset`,size:`small`,variant:`outlined`,sx:{height:20,fontSize:`0.65rem`}}),i&&a?W(Z,{title:a,children:W(`span`,{children:l})}):l]})}const Ho=L(Vo);Ho.displayName=`CheckCard`;function Uo({value:e,onChange:t,placeholder:n=`Add description here`,disabled:r=!1,className:i}){let[a,o]=H(!1),[s,c]=H(e??``);z(()=>{c(e??``)},[e]);let l=R(()=>{r||(o(!0),c(e??``))},[r,e]),u=R(()=>{let e=s.trim();t?.(e||void 0),o(!1)},[s,t]),d=R(()=>{c(e??``),o(!1)},[e]),f=R(e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),u()),e.key===`Escape`&&(e.preventDefault(),d())},[u,d]);return a?G(K,{className:i,sx:{height:`100%`},children:[W(An,{multiline:!0,fullWidth:!0,minRows:3,value:s,onChange:e=>c(e.target.value),onKeyDown:f,placeholder:n,autoFocus:!0,sx:{"& .MuiInputBase-root":{fontSize:`0.875rem`}}}),G(J,{direction:`row`,spacing:1,sx:{mt:1},children:[W(q,{variant:`contained`,size:`small`,onClick:u,children:`Update`}),W(St,{component:`button`,variant:`body2`,onClick:d,sx:{cursor:`pointer`},children:`Cancel`})]}),G(Y,{variant:`caption`,sx:{color:`text.secondary`,display:`block`,mt:.5},children:[navigator.platform.includes(`Mac`)?`⌘`:`Ctrl`,`+Enter to save, Escape to cancel`]})]}):W(K,{className:i,onClick:l,sx:{height:`100%`,overflow:`auto`,cursor:r?`default`:`pointer`,padding:1,borderRadius:1,"&:hover":{backgroundColor:r?`transparent`:`action.hover`}},children:e?W(Y,{variant:`body2`,sx:{whiteSpace:`pre-wrap`,wordBreak:`break-word`},children:e}):W(Y,{variant:`body2`,sx:{color:`text.secondary`,fontStyle:`italic`},children:n})})}const Wo=L(Uo);Wo.displayName=`CheckDescription`;function Go({checkId:e,name:t,type:n,description:r,isApproved:i=!1,tabs:a=[],defaultTab:o,primaryActions:s=[],secondaryActions:c=[],onAction:l,onDescriptionChange:u,onNameChange:d,disabled:f=!1,headerContent:p,sidebarContent:m,className:h}){let[g,_]=H(o??a[0]?.id),[v,y]=H(!1),[b,x]=H(t),S=()=>{f||(y(!0),x(t))},C=()=>{b.trim()&&b!==t&&d?.(b.trim()),y(!1)},w=e=>{e.key===`Enter`?C():e.key===`Escape`&&(x(t),y(!1))},T=a.find(e=>e.id===g)?.content;return G(K,{className:h,sx:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[G(K,{sx:{p:2,borderBottom:1,borderColor:`divider`},children:[p,G(K,{sx:{display:`flex`,alignItems:`flex-start`,justifyContent:`space-between`,gap:2},children:[G(K,{sx:{flexGrow:1,minWidth:0},children:[v?W(`input`,{type:`text`,value:b,onChange:e=>x(e.target.value),onBlur:C,onKeyDown:w,autoFocus:!0,style:{fontSize:`1.25rem`,fontWeight:500,border:`none`,borderBottom:`2px solid`,borderColor:`currentColor`,outline:`none`,background:`transparent`,width:`100%`}}):W(Y,{variant:`h6`,onClick:S,sx:{cursor:f?`default`:`pointer`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,"&:hover":{textDecoration:f?`none`:`underline`}},children:t}),G(Y,{variant:`caption`,sx:{color:`text.secondary`},children:[n,` `,i&&`• Approved`]})]}),W(Po,{checkId:e,primaryActions:s,secondaryActions:c,onAction:l})]})]}),G(K,{sx:{display:`flex`,flexGrow:1,overflow:`hidden`},children:[G(K,{sx:{flexGrow:1,display:`flex`,flexDirection:`column`,overflow:`hidden`},children:[G(K,{sx:{p:2,borderBottom:1,borderColor:`divider`},children:[W(Y,{variant:`subtitle2`,sx:{mb:1},children:`Description`}),W(Wo,{value:r,onChange:u,disabled:f})]}),a.length>0&&G(U,{children:[W(K,{sx:{borderBottom:1,borderColor:`divider`},children:W(Pn,{value:g,onChange:(e,t)=>_(t),children:a.map(e=>W(Nn,{value:e.id,label:e.label},e.id))})}),W(K,{sx:{flexGrow:1,overflow:`auto`,p:2},children:T})]})]}),m&&G(U,{children:[W(Pt,{orientation:`vertical`,flexItem:!0}),W(K,{sx:{width:350,flexShrink:0,overflow:`auto`},children:m})]})]})]})}const Ko=L(Go);Ko.displayName=`CheckDetail`;function qo({title:e=`No checks yet`,description:t=`Create your first check to start validating data changes`,icon:n,actionText:r,onAction:i,isLoading:a=!1,helperText:o,className:s}){return W(K,{className:s,sx:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,textAlign:`center`,padding:4,minHeight:300},children:G(J,{spacing:2,sx:{alignItems:`center`},children:[n&&W(K,{sx:{color:`text.secondary`,fontSize:48,mb:1},children:n}),W(Y,{variant:`h6`,sx:{fontWeight:500,color:`text.primary`},children:e}),W(Y,{variant:`body2`,sx:{color:`text.secondary`,maxWidth:400},children:t}),r&&i&&W(q,{variant:`contained`,onClick:i,disabled:a,sx:{mt:2},children:a?`Creating...`:r}),o&&W(Y,{variant:`caption`,sx:{color:`text.secondary`,mt:1},children:o})]})})}const Jo=L(qo);Jo.displayName=`CheckEmptyState`;function Yo({checks:e,selectedId:t,onCheckSelect:n,onApprovalChange:r,disableApproval:i=!1,disabledApprovalTooltip:a,title:o,className:s,isLoading:c=!1,emptyContent:l}){return c?W(K,{className:s,sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:200},children:W(Y,{sx:{color:`text.secondary`},children:`Loading checks...`})}):e.length===0?G(K,{className:s,children:[o&&W(Y,{variant:`subtitle2`,sx:{px:2,py:1,color:`text.secondary`},children:o}),l||W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:200},children:W(Y,{sx:{color:`text.secondary`},children:`No checks`})})]}):G(K,{className:s,sx:{height:`100%`,overflow:`auto`},children:[o&&W(Y,{variant:`subtitle2`,sx:{px:2,py:1,color:`text.secondary`},children:o}),W(Fn,{disablePadding:!0,children:e.map(e=>W(In,{disablePadding:!0,children:W(Ho,{check:e,isSelected:t===e.id,onClick:n,onApprovalChange:r,disableApproval:i,disabledApprovalTooltip:a})},e.id))})]})}const Xo=L(Yo);Xo.displayName=`CheckList`;function Zo(e){switch(e){case`sql`:return zn({dialect:Rn});case`yaml`:return Bn();default:return null}}function Qo({value:e,onChange:t,language:n=`sql`,readOnly:r=!1,lineNumbers:i=!0,wordWrap:a=!0,fontSize:o=14,height:s=`100%`,className:c=``,theme:l=`light`,keyBindings:u=[]}){let d=B(()=>{let e=[Un.theme({"&":{fontSize:`${o}px`},".cm-content":{fontFamily:`'JetBrains Mono', 'Fira Code', monospace`},".cm-gutters":{fontFamily:`'JetBrains Mono', 'Fira Code', monospace`}})],t=Zo(n);return t&&e.push(t),a&&e.push(Un.lineWrapping),u.length>0&&e.push(Hn.highest(Wn.of(u))),e},[n,o,a,u]),f=B(()=>l===`dark`?Kn:qn,[l]);return W(Jn,{value:e,onChange:e=>{t&&t(e)},extensions:d,readOnly:r,basicSetup:{lineNumbers:i,foldGutter:!0,highlightActiveLineGutter:!r,highlightActiveLine:!r,tabSize:2},height:s,className:`${c} no-track-pii-safe`,theme:f})}function $o({name:e,description:t,type:n,params:r,viewOptions:i}){let a={name:e,description:t,type:n,params:r};return i&&(a.view_options=i),Ln.stringify({checks:[a]})}function es({yamlTemplate:e,height:t=`300px`}){let n=F();return W(Qo,{value:e,language:`yaml`,readOnly:!0,lineNumbers:!1,wordWrap:!0,fontSize:14,theme:n?`dark`:`light`,height:t})}const ts=L(es);ts.displayName=`PresetCheckTemplateView`;const ns={apiPrefix:``,authToken:void 0,baseUrl:void 0,apiClient:te({baseURL:et??``})};function rs(){return O()??ns}function is({userId:e,enabled:t=!0}){let{apiClient:n}=rs(),r=e?.toString(),{data:i,isLoading:a}=ut({queryKey:k.user(),queryFn:()=>$e(n),enabled:t&&!!r,retry:!1,staleTime:3e5}),o=!!(i&&r&&i.id===r)&&i?.login_type===`github`,s=!!(t&&o&&r),{data:c,isLoading:l}=ut({queryKey:[`github-avatar`,r],queryFn:()=>r?Qe(r):Promise.resolve(null),enabled:s,retry:!1,staleTime:3e5});return{avatarUrl:typeof c==`string`?c:null,isLoading:a||s&&l,isGitHubUser:!!o}}function as({onSubmit:e,isSubmitting:t=!1,placeholder:n=`Add a comment...`,submitLabel:r=`Comment`,submittingLabel:i=`Submitting...`,className:a}){let o=F(),[s,c]=H(``),l=R(()=>{let t=s.trim();t&&(e(t),c(``))},[s,e]),u=R(e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),l())},[l]),d=R(e=>{c(e.target.value)},[]);return G(K,{className:a,children:[W(An,{value:s,onChange:d,onKeyDown:u,placeholder:n,size:`small`,multiline:!0,fullWidth:!0,minRows:3,disabled:t,sx:{"& .MuiOutlinedInput-root":{bgcolor:`background.paper`,"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:o?`grey.500`:`grey.400`},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:`iochmara.400`,boxShadow:`0 0 0 1px #4299E1`}},"& .MuiOutlinedInput-notchedOutline":{borderColor:o?`grey.600`:void 0}}}),W(J,{direction:`row`,sx:{justifyContent:`flex-end`,mt:2},children:W(q,{size:`small`,color:`iochmara`,variant:`contained`,onClick:l,disabled:!s.trim()||t,children:t?i:r})})]})}const os=L(as);os.displayName=`CommentInput`;function ss(e){switch(e.event_type){case`check_created`:return`create`;case`comment`:return`comment`;case`approval_change`:return e.new_value===`true`?`approve`:`unapprove`;case`description_change`:case`name_change`:return`edit`;case`preset_applied`:return`preset`;default:return`edit`}}function cs({event:e}){let t=ss(e),n={create:Qt,comment:Bt,approve:Ht,unapprove:Ut,edit:Xt,preset:Rt},r={create:`primary.main`,comment:`grey.500`,approve:`success.main`,unapprove:`grey.400`,edit:`warning.main`,preset:`secondary.main`},i=n[t],a=r[t];return W(K,{component:i,sx:{color:a,fontSize:16}})}function ls({actor:e}){let t=(e.fullname||e.login||`User`).charAt(0).toUpperCase();return W(Yn,{src:e.avatarUrl||void 0,sx:{width:24,height:24,fontSize:`0.75rem`},children:t})}function us({event:e}){let{actor:t}=e,n=t.fullname||t.login||`Someone`,r=Mn(new Date(e.created_at),{addSuffix:!0}),i=``;switch(e.event_type){case`check_created`:i=`created this check`;break;case`approval_change`:i=e.new_value===`true`?`approved this check`:`unapproved this check`;break;case`description_change`:i=`updated the description`;break;case`name_change`:i=`renamed this check`;break;case`preset_applied`:i=`applied a preset`;break;default:i=`made a change`}return G(K,{sx:{display:`flex`,gap:1,alignItems:`flex-start`,py:1},children:[W(K,{sx:{pt:`2px`},children:W(cs,{event:e})}),W(K,{sx:{flex:1},children:G(J,{direction:`row`,spacing:.5,sx:{flexWrap:`wrap`,alignItems:`center`},children:[W(ls,{actor:t}),W(Y,{variant:`body2`,sx:{fontWeight:`500`},children:n}),W(Y,{variant:`body2`,sx:{color:`text.secondary`},children:i}),W(Y,{variant:`caption`,sx:{color:`text.disabled`},children:r})]})})]})}const ds=L(us);ds.displayName=`StateChangeEvent`;function fs({event:e,currentUserId:t,onEdit:n,onDelete:r,markdownRenderer:i}){let a=F(),[o,s]=H(!1),[c,l]=H(e.content||``),[u,d]=H(!1),[f,p]=H(!1),[m,h]=H(null),g=!!m,{actor:_}=e,v=_.fullname||_.login||`Someone`,y=Mn(new Date(e.created_at),{addSuffix:!0}),b=t&&String(_.user_id)===String(t),x=R(()=>{l(e.content||``),s(!0)},[e.content]),S=R(()=>{l(e.content||``),s(!1)},[e.content]),C=R(async()=>{let t=c.trim();if(!t||t===e.content){S();return}if(n){d(!0);try{await n(e.id,t),s(!1)}finally{d(!1)}}},[c,e.content,e.id,n,S]),w=R(e=>{e.key===`Escape`?S():e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),C())},[S,C]),T=R(e=>{h(e.currentTarget)},[]),E=R(()=>{h(null)},[]),D=R(async()=>{if(r){p(!0);try{await r(e.id),E()}finally{p(!1)}}},[r,e.id,E]),O=R(e=>{l(e.target.value)},[]);return e.is_deleted?G(K,{sx:{display:`flex`,gap:1,alignItems:`center`,py:1},children:[W(K,{sx:{pt:`2px`,display:`flex`,alignItems:`center`},children:W(cs,{event:e})}),W(K,{sx:{display:`flex`,flex:1,alignItems:`center`},children:W(Y,{variant:`body2`,sx:{color:`text.disabled`,fontStyle:`italic`},children:`Comment deleted`})})]}):G(K,{sx:{display:`flex`,gap:1,alignItems:`flex-start`,py:1},children:[W(K,{sx:{pt:`2px`},children:W(cs,{event:e})}),G(K,{sx:{flex:1},children:[G(J,{direction:`row`,spacing:.5,sx:{flexWrap:`wrap`,alignItems:`center`,mb:.5},children:[W(ls,{actor:_}),G(Y,{variant:`body2`,sx:{fontWeight:`500`},children:[v,b&&G(Y,{component:`span`,variant:`body2`,sx:{color:`text.secondary`},children:[` `,`(Author)`]})]}),W(Y,{variant:`caption`,sx:{color:`text.disabled`},children:y}),e.is_edited&&W(Y,{variant:`caption`,sx:{color:`text.disabled`},children:`(edited)`})]}),o?G(K,{children:[W(An,{value:c,onChange:O,onKeyDown:w,size:`small`,multiline:!0,minRows:3,fullWidth:!0,disabled:u,autoFocus:!0,sx:{"& .MuiOutlinedInput-root":{bgcolor:`background.paper`,"&:focus-within":{borderColor:`primary.main`}}}}),G(J,{direction:`row`,spacing:1,sx:{justifyContent:`flex-end`,mt:1},children:[W(q,{size:`small`,variant:`text`,onClick:S,disabled:u,children:`Cancel`}),W(q,{size:`small`,variant:`contained`,onClick:C,disabled:!c.trim()||u,children:u?`Saving...`:`Save`})]})]}):G(K,{sx:{bgcolor:a?`grey.800`:`grey.50`,borderRadius:1,p:1,border:`1px solid`,borderColor:a?`grey.700`:`grey.200`,position:`relative`,"&:hover .comment-actions":{opacity:1}},children:[i?W(i,{content:e.content||``}):W(Y,{variant:`body2`,sx:{whiteSpace:`pre-wrap`},children:e.content}),b&&(n||r)&&G(J,{className:`comment-actions`,direction:`row`,spacing:0,sx:{position:`absolute`,top:4,right:4,opacity:0,transition:`opacity 0.2s`},children:[n&&W(Z,{title:`Edit comment`,children:W(X,{"aria-label":`Edit comment`,size:`small`,onClick:x,children:W(Zt,{})})}),r&&G(U,{children:[W(Z,{title:`Delete comment`,children:W(X,{"aria-label":`Delete comment`,size:`small`,color:`error`,onClick:T,children:W(nn,{})})}),W(Xn,{open:g,anchorEl:m,onClose:E,anchorOrigin:{vertical:`bottom`,horizontal:`center`},transformOrigin:{vertical:`top`,horizontal:`center`},children:G(K,{sx:{p:2},children:[W(Y,{variant:`body2`,sx:{mb:2},children:`Delete this comment?`}),G(J,{direction:`row`,spacing:1,sx:{justifyContent:`flex-end`},children:[W(q,{size:`small`,variant:`text`,onClick:E,disabled:f,children:`Cancel`}),W(q,{size:`small`,variant:`contained`,color:`error`,onClick:D,disabled:f,children:f?`Deleting...`:`Delete`})]})]})})]})]})]})]})]})}const ps=L(fs);ps.displayName=`CommentEvent`;function ms({event:e,currentUserId:t,onEdit:n,onDelete:r,markdownRenderer:i,className:a}){return e.event_type===`comment`?W(K,{className:a,children:W(ps,{event:e,currentUserId:t,onEdit:n,onDelete:r,markdownRenderer:i})}):W(K,{className:a,children:W(ds,{event:e})})}const hs=L(ms);hs.displayName=`TimelineEvent`;function gs({name:e,isChecked:t}){return`${t?`✅ `:``}${e}`}function _s({description:e,fallback:t=`_(no description)_`}){return(e??``)||t}function vs({type:e,hasResult:t,hasError:n}){return e===`schema_diff`||e===`lineage_diff`?!1:!t||n}function ys({sql:e,label:t=`SQL`}){return`**${t}**
3
3
  \`\`\`sql
4
4
  ${e}
5
5
  \`\`\``}const bs=`recce:canceledRuns`,xs=`recce:canceledRuns:changed`;function Ss(){if(typeof window>`u`)return[];try{let e=window.localStorage.getItem(bs);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function Cs(e){if(!(typeof window>`u`))try{window.localStorage.setItem(bs,JSON.stringify(e))}catch{}}function ws(){let[e,t]=H(()=>Ss());return z(()=>{if(typeof window>`u`)return;let e=e=>{if(e.key===bs){if(e.newValue==null){t(Ss());return}try{let n=JSON.parse(e.newValue);if(!Array.isArray(n)){t([]);return}t(n.filter(e=>typeof e==`string`))}catch{t(Ss())}}},n=()=>t(Ss());return window.addEventListener(`storage`,e),window.addEventListener(xs,n),()=>{window.removeEventListener(`storage`,e),window.removeEventListener(xs,n)}},[]),{has:R(t=>e.includes(t),[e]),add:R(e=>{let n=Ss();if(n.includes(e)){t(n);return}let r=[...n,e],i=r.length>200?r.slice(r.length-200):r;if(Cs(i),t(i),typeof window<`u`)try{window.dispatchEvent(new Event(xs))}catch{}},[])}}function Ts(e){return e.status?e.status:e.result?`Finished`:e.error?`Failed`:`Finished`}function Es(e){switch(e){case`Running`:return{color:`primary.main`,label:`Running`};case`Finished`:return{color:`text.secondary`,label:`Last computed`};case`Failed`:return{color:`error.main`,label:`Failed`};case`Cancelled`:return{color:`text.secondary`,label:`Cancelled`};default:return{color:`text.secondary`,label:`Last computed`}}}function Ds({status:e,showSpinner:t=!0,size:n=`small`,className:r}){let{color:i,label:a}=Es(e);return G(K,{className:r,sx:{display:`inline-flex`,alignItems:`center`,gap:.5},children:[e===`Running`&&t&&W(Ft,{size:n===`small`?12:16,color:`primary`}),W(Y,{component:`span`,sx:{fontWeight:500,fontSize:n===`small`?`0.75rem`:`0.875rem`,color:i},children:a})]})}const Os=L(Ds);Os.displayName=`RunStatusBadge`;function ks(e){if(e==null)return null;let t=new Date,n=new Date;return n.setDate(t.getDate()-1),t.toDateString()===e.toDateString()?`Today`:n.toDateString()===e.toDateString()?`Yesterday`:e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}function As(e){if(e==null)return null;let t=new Date,n=new Date;n.setDate(t.getDate()-1);let r=e.toLocaleTimeString(`en-US`,{hour:`2-digit`,minute:`2-digit`,hour12:!1});return t.toDateString()===e.toDateString()?`Today, ${r}`:n.toDateString()===e.toDateString()?`Yesterday, ${r}`:`${e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}, ${r}`}function js({status:e,runAt:t,className:n}){let r=t?As(typeof t==`string`?new Date(t):t):null;return G(K,{className:n,sx:{display:`flex`,alignItems:`center`,gap:.5,fontSize:`0.75rem`,color:`text.secondary`},children:[W(Os,{status:e,size:`small`}),r&&G(U,{children:[W(Y,{component:`span`,sx:{fontSize:`inherit`},children:`•`}),W(Y,{component:`span`,sx:{fontSize:`inherit`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:r})]})]})}const Ms=L(js);Ms.displayName=`RunStatusWithDate`;function Ns({run:e,className:t}){let n=Ts(e);return W(Ms,{status:n,runAt:e.run_at,className:t})}const Ps=L(Ns);Ps.displayName=`RunStatusAndDate`;function Fs({run:e,isSelected:t=!1,icon:n,onClick:r,onAddToChecklist:i,onGoToCheck:a,addToChecklistIcon:o,goToCheckIcon:s,hideAddToChecklist:c=!1,disableAddToChecklist:l=!1,className:u}){let d=F(),f=ws().has(e.id)?`Cancelled`:e.status,p=e.checkId!=null,m=!c&&!p&&(i||l);return G(K,{className:u,onClick:()=>r?.(e.id),sx:e=>({display:`flex`,flexDirection:`column`,width:`100%`,p:`8px 16px`,cursor:`pointer`,borderBottom:1,borderColor:`divider`,borderLeft:`4px solid`,borderLeftColor:t?`warning.main`:`transparent`,bgcolor:t?d?`warning.dark`:`warning.light`:`transparent`,"&:hover":{bgcolor:t?d?`warning.dark`:`warning.light`:e.palette.action.hover}}),children:[G(K,{sx:{display:`flex`,alignItems:`center`,gap:1.5},children:[n&&W(K,{sx:{fontSize:16,color:`text.secondary`,flexShrink:0},children:n}),W(Y,{sx:{flex:1,fontSize:`0.875rem`,fontWeight:500,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,color:e.name?`text.primary`:`text.secondary`},children:e.name?.trim()||`<no name>`}),p&&a&&W(Z,{title:`Go to Check`,children:W(X,{size:`small`,onClick:t=>{t.stopPropagation(),e.checkId&&a(e.checkId)},sx:{p:.5},children:s||W(K,{component:`span`,sx:{fontSize:14,color:`success.main`},children:`✓`})})}),m&&W(Z,{title:l?`You don't have permission to add checks`:`Add to Checklist`,children:W(`span`,{children:W(X,{size:`small`,disabled:l,onClick:t=>{t.stopPropagation(),i?.(e.id)},sx:{p:.5},children:o||W(K,{component:`span`,sx:{fontSize:14},children:`○`})})})})]}),W(Ms,{status:f,runAt:e.runAt})]})}const Is=L(Fs);Is.displayName=`RunListItem`;const Ls=L(function({date:e}){return W(K,{sx:{width:`100%`,p:`8px 16px`,borderBottom:1,borderColor:`divider`,color:`text.secondary`,fontSize:`0.75rem`,fontWeight:500,bgcolor:`action.hover`},children:e})});function Rs({runs:e,selectedId:t,isLoading:n=!1,onRunSelect:r,onAddToChecklist:i,onGoToCheck:a,getRunIcon:o,hideAddToChecklist:s=!1,disableAddToChecklist:c=!1,title:l=`Runs`,headerActions:u,emptyMessage:d=`No runs`,loadingMessage:f=`Loading...`,groupByDate:p=!1,addToChecklistIcon:m,goToCheckIcon:h,className:g}){return G(K,{className:g,sx:{display:`flex`,flexDirection:`column`,height:`100%`,width:`100%`},children:[G(J,{direction:`row`,sx:{alignItems:`center`,flex:`0 0 auto`,px:2,py:1.5,borderBottom:1,borderColor:`divider`},children:[W(Y,{variant:`h6`,children:l}),W(K,{sx:{flex:1}}),u]}),W(K,{sx:{flex:1,overflow:`auto`},children:n?W(K,{sx:{display:`flex`,justifyContent:`center`,alignItems:`center`,height:`100%`,color:`text.secondary`},children:f}):(()=>{if(e.length===0)return W(K,{sx:{display:`flex`,justifyContent:`center`,alignItems:`center`,height:`100%`,color:`text.secondary`,p:4},children:d});let n=null;return e.map(e=>{let l=e.runAt?ks(new Date(e.runAt)):null,u=p&&l&&n!==l;return n=l,G(K,{children:[u&&W(Ls,{date:l}),W(Is,{run:e,isSelected:e.id===t,icon:o?.(e.type),onClick:r,onAddToChecklist:i,onGoToCheck:a,hideAddToChecklist:s,disableAddToChecklist:c,addToChecklistIcon:m,goToCheckIcon:h})]},e.id)})})()})]})}const zs=L(Rs);zs.displayName=`RunList`;function Bs({status:e,progress:t,message:n,errorMessage:r,variant:i=`spinner`,showStatus:a=!0,icon:o,className:s}){let c=e===`Running`,l=e===`Failed`,u=t!==void 0&&t>=0;return G(K,{className:s,sx:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:2,p:3,textAlign:`center`},children:[o?W(K,{sx:{fontSize:40,color:`text.secondary`},children:o}):c&&G(U,{children:[i===`spinner`&&W(Ft,{size:40,color:`primary`}),i===`circular`&&W(Ft,{size:60,variant:u?`determinate`:`indeterminate`,value:t,color:`primary`})]}),c&&i===`linear`&&G(K,{sx:{width:`100%`,maxWidth:300},children:[W(Zn,{variant:u?`determinate`:`indeterminate`,value:t,sx:{height:8,borderRadius:4}}),u&&G(Y,{variant:`caption`,sx:{color:`text.secondary`,mt:.5,display:`block`},children:[Math.round(t),`%`]})]}),a&&W(Os,{status:e,size:`medium`}),n&&!l&&W(Y,{variant:`body2`,sx:{color:`text.secondary`},children:n}),l&&r&&W(K,{sx:{p:2,bgcolor:`error.light`,borderRadius:1,maxWidth:400},children:W(Y,{variant:`body2`,sx:{color:`error.contrastText`},children:r})})]})}const Vs=L(Bs);Vs.displayName=`RunProgress`;function Hs({visible:e=!0,opacity:t=.8,...n}){return e?W(K,{sx:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,bgcolor:`rgba(255, 255, 255, ${t})`,zIndex:10,".dark &":{bgcolor:`rgba(0, 0, 0, ${t})`}},children:W(Vs,{...n})}):null}const Us=L(Hs);Us.displayName=`RunProgressOverlay`;function Ws({warnings:e,children:t,className:n}){let r=F(),i=e&&e.length>0;return G(K,{className:n,sx:{display:`flex`,borderBottom:`1px solid`,borderColor:`divider`,justifyContent:`flex-end`,gap:`5px`,alignItems:`center`,px:`10px`,bgcolor:i?r?P.amber[900]:P.amber[100]:`inherit`,color:i?r?P.amber[200]:P.amber[800]:`inherit`},children:[W(K,{sx:{display:`flex`,flexDirection:`column`,alignItems:`flex-start`,gap:0},children:e?.map((e,t)=>G(K,{children:[W(rn,{color:r?P.amber[400]:P.amber[600],style:{verticalAlign:`middle`,marginRight:4}}),e]},e))}),W(K,{sx:{flex:1,minHeight:`32px`}}),t]})}const Gs=L(Ws);Gs.displayName=`RunToolbar`;function Ks(e,t,n,r){let i=e;if(!Number.isFinite(t)||!Number.isFinite(n)||n<=t){i.hidden=!0,i.inXRange=()=>!1,i.skip=!0,i.width=0;return}i.hidden=!1,i.inXRange=e=>e>=t&&(r?e<=n:e<n),i.skip=!1,i.x=(t+n)/2,i.width=n-t}const qs={id:`histogramBinGeometry`,afterDatasetUpdate(e,{meta:t},n){let r=n?.binEdges,i=t.xScale;if(!(!r||!i||i.axis!==`x`))for(let[e,n]of t.data.entries()){let a=r[e],o=r[e+1];Ks(n,i.getPixelForValue(a),i.getPixelForValue(o),e===t.data.length-1)}}},Js=[{divisor:0xe8d4a51000,suffix:`T`},{divisor:1e9,suffix:`B`},{divisor:1e6,suffix:`M`},{divisor:1e3,suffix:`K`}];function Ys(e,t){return new Set(e.map(t)).size===e.length}function Xs(e){let t=[...new Set(e.filter(Number.isFinite))],n=e=>String(Je(e));if(Ys(t,n))return n;let r=Math.max(0,...t.map(Math.abs)),i=Js.find(({divisor:e})=>r>=e)??{divisor:1,suffix:``};for(let e=0;e<=20;e+=1){let n=new Intl.NumberFormat(`en-US`,{maximumFractionDigits:e,useGrouping:i.divisor===1}),r=e=>`${n.format(e/i.divisor)}${i.suffix}`;if(Ys(t,r))return r}return e=>e.toString()}const Zs=[`x`,`y`,`width`,`base`],Qs=new WeakMap;function $s(e,t){let{overlap:n}=t,r=`${n.chartFill}:${n.foreground}:${t.canvasBackground}`,i=Qs.get(e);if(i?.key===r)return i.pattern;let a=pe(n.chartFill,t.canvasBackground),o=e.canvas.ownerDocument.createElement(`canvas`);o.width=8,o.height=8;let s=o.getContext(`2d`);if(!s)return a;s.fillStyle=a,s.fillRect(0,0,8,8),s.strokeStyle=n.foreground,s.lineWidth=1,s.beginPath(),s.moveTo(-2,0),s.lineTo(8,10),s.moveTo(4,-2),s.lineTo(10,4),s.moveTo(10,0),s.lineTo(0,10),s.moveTo(4,-2),s.lineTo(-2,4),s.stroke();let c=e.createPattern(o,`repeat`);return c?(Qs.set(e,{key:r,pattern:c}),c):a}function ec(e){let t=e.getProps([...Zs],!1);if(!(![t.x,t.y,t.width,t.base].every(Number.isFinite)||t.width<=0))return t}function tc(e,t){let n=Math.max(e.x-e.width/2,t.x-t.width/2),r=Math.min(e.x+e.width/2,t.x+t.width/2),i=Math.max(Math.min(e.y,e.base),Math.min(t.y,t.base)),a=Math.min(Math.max(e.y,e.base),Math.max(t.y,t.base));if(!(r<=n||a<=i))return{left:n,top:i,width:r-n,height:a-i}}function nc(e,t,n){let r=e.isDatasetVisible(0),i=e.isDatasetVisible(1);return[{text:t.base,datasetIndex:1,fillStyle:n.base.chartFill,fontColor:n.legendText,strokeStyle:n.base.border,lineWidth:2,hidden:!i},{text:t.current,datasetIndex:0,fillStyle:n.current.chartFill,fontColor:n.legendText,strokeStyle:n.current.border,lineWidth:2,hidden:!r},{text:`Overlap`,fillStyle:$s(e.ctx,n),fontColor:n.legendText,strokeStyle:n.overlap.border,lineWidth:2,hidden:!i||!r}]}function rc(e,t,n){let{datasetIndex:r}=t;if(r===void 0)return;let{chart:i}=n;i.isDatasetVisible(r)?(i.hide(r),t.hidden=!0):(i.show(r),t.hidden=!1)}const ic={id:`histogramOverlap`,afterDatasetsDraw(e,t,n){let r=n?.palette;if(!r||!e.isDatasetVisible(0)||!e.isDatasetVisible(1))return;let i=e.getDatasetMeta(0).data,a=e.getDatasetMeta(1).data,o=Math.min(i.length,a.length);if(o===0)return;let{ctx:s}=e,c=$s(s,r);s.save(),s.fillStyle=c;let{left:l,top:u,right:d,bottom:f}=e.chartArea;for(let e=0;e<o;e+=1){let t=ec(i[e]),n=ec(a[e]);if(!t||!n)continue;let r=tc(t,n);if(!r)continue;let o=Math.max(r.left,l),c=Math.max(r.top,u),p=Math.min(r.left+r.width,d),m=Math.min(r.top+r.height,f);p<=o||m<=c||s.fillRect(o,c,p-o,m-c)}s.restore()}};er.register(Qn,rr,nr,$n,ir,tr,ar);function ac(e,t,n=e=>String(Je(e))){let r=e[t],i=e[t+1];return`${n(r)} - ${n(i)}`}function oc(e){if(!Number.isFinite(e))return String(e);let t=new Date(e).toISOString();return t.endsWith(`T00:00:00.000Z`)?t.slice(0,10):t.replace(`.000Z`,`Z`)}function sc({title:e,dataType:t=`numeric`,samples:n=0,binEdges:r,baseData:i,currentData:a,animate:o=!1,hideAxis:s=!1,theme:c=`light`,height:l=300,className:u}){let d=c===`dark`,f=_e(d),p=N(d),m=p.comparison,h=t===`datetime`,g=t===`numeric`,_=i.counts??[],v=a.counts??[],y=B(()=>Xs(r),[r]),b=`${e}. Histogram comparing Base and Current series. Overlap marks their shared distribution.`,x=B(()=>({base:m.base,canvasBackground:p.structural.neutral.background,current:m.current,legendText:f.textColor,overlap:p.categorical.overlap}),[m,p.categorical.overlap,p.structural.neutral.background,f.textColor]),S=B(()=>{let e=r.slice(0,-1).map((e,t)=>ac(r,t,g?y:h?oc:void 0)),t=(e,t,n)=>{let i=e.counts??[];return{label:t,data:h||g?i.map((e,t)=>({x:(r[t]+r[t+1])/2,y:e})):i,backgroundColor:n.chartFill,borderColor:n.border,hoverBackgroundColor:n.chartFill,borderWidth:2,categoryPercentage:1,barPercentage:1,grouped:!1,xAxisID:`x`}};return{labels:g?[]:e,datasets:[t(a,a.label??`Current`,m.current),t(i,i.label??`Base`,m.base)]}},[r,i,m,a,y,h,g]),C=B(()=>{let c=Math.max(0,...v,..._),l=Math.max(1,Math.ceil((r.length-1)/7)),u=r[0]??0,d=r[r.length-1]??u,p=h?`Date Range`:t===`string`?`Text Length`:`Value Range`;return{responsive:!0,maintainAspectRatio:!1,animation:o?void 0:!1,animations:g?{numbers:{properties:[`y`,`base`,`height`]}}:void 0,plugins:{histogramBinGeometry:g?{binEdges:r}:void 0,histogramOverlap:{palette:x},legend:{onClick:rc,labels:{color:f.textColor,generateLabels:e=>nc(e,{base:i.label??`Base`,current:a.label??`Current`},x)}},title:{display:!0,text:e,font:{size:20},color:f.textColor},tooltip:{mode:g?`x`:`index`,intersect:!1,backgroundColor:f.tooltipBackgroundColor,titleColor:f.tooltipTextColor,bodyColor:f.tooltipTextColor,borderColor:f.borderColor,borderWidth:1,callbacks:{title([{dataIndex:e}]){let t=ac(r,e,g?y:h?oc:void 0);return`${p}\n${t}`},label({datasetIndex:e,dataIndex:t,dataset:r}){let i=(e===0?v:_)[t],a=n>0?Ie(i/n):``;return`${r.label}: ${i}${a?` (${a})`:``}`}}}},scales:{x:h?{display:!s,type:`timeseries`,min:u,max:d,adapters:{date:{}},time:{minUnit:`day`},grid:{display:!1},ticks:{minRotation:30,maxRotation:30,maxTicksLimit:8,callback(e){return oc(e)},color:f.textColor}}:g?{display:!s,type:`linear`,min:u,max:d,grid:{display:!1},afterBuildTicks(e){e.ticks=r.map(e=>({value:e}))},ticks:{autoSkip:!1,callback(e,t){if(t%l===0||t===r.length-1)return y(e)},color:f.textColor}}:{display:!s,type:`category`,grid:{display:!1},ticks:{color:f.textColor}},y:{display:!s,type:`linear`,max:c,border:{dash:[2,2],color:f.borderColor},grid:{color:f.gridColor},ticks:{maxTicksLimit:8,color:f.textColor,callback(e){return Je(e)}},beginAtZero:!0}}}},[e,t,h,g,n,r,i,a,_,v,s,o,f,x,y]);return W(`div`,{className:u,style:{height:l},children:W(sr,{type:`bar`,options:C,data:S,role:`img`,"aria-label":b,fallbackContent:b,plugins:[ic,qs]})})}const cc=L(sc);cc.displayName=`HistogramChart`;function lc({reason:e,adapterType:t,className:n}){let r=e??`This warehouse doesn't expose native HLL / approx-percentile / approx-top-k aggregates, so paired column distributions aren't available here.`,i=t?`Paired distributions unavailable on ${t}`:`Paired distributions unavailable on this adapter`;return G(vn,{severity:`info`,variant:`outlined`,className:n,sx:{fontSize:`0.75rem`,py:.5,px:1,"& .MuiAlert-message":{py:.5}},role:`status`,"aria-live":`polite`,"data-testid":`profile-distribution-unsupported-banner`,children:[W(cr,{sx:{fontSize:`0.75rem`,fontWeight:600,mb:.25},children:i}),r]})}jt.registerModules([At]);function uc({emptyMessage:e}){return W(K,{sx:{display:`flex`,height:`35px`,alignItems:`center`,justifyContent:`center`,bgcolor:`grey.100`,textAlign:`center`,gridColumn:`1/-1`},children:W(Y,{sx:{fontWeight:600},children:e??`No rows`})})}function dc({style:e,className:t,columnDefs:n,rowData:r,columns:i,rows:a,getRowId:o,rowHeight:s=32,headerHeight:c=36,defaultColDef:l,defaultColumnOptions:u,renderers:d,rowClassName:f,containerClassName:p,...m},h){let g=V(null),_=V(null);_t(h,()=>({get api(){return _.current},get element(){return g.current}}),[]);let v=F(),y=N(v),b=B(()=>v?he:me,[v]),x=n??i,S=r??a,C=l??u,w=B(()=>({resizable:!0,suppressMovable:!0,...C}),[C]),T=B(()=>{if(d?.noRowsFallback)return()=>d.noRowsFallback},[d?.noRowsFallback]),E=B(()=>o||(e=>{let t=e.data;return t?.__rowKey===void 0?t?._index===void 0?t?.rowIndex===void 0?String(Math.random()):String(t.rowIndex):String(t._index):String(t.__rowKey)}),[o]),D=B(()=>x?`grid-${x.filter(e=>`field`in e&&e.pinned===`left`).map(e=>e.field).sort().join(`,`)}`:`grid`,[x]),O=[t,p].filter(Boolean).join(` `);return W(K,{ref:g,className:O||void 0,sx:{flex:1,minHeight:0,width:`100%`,overflow:`hidden`,"& .ag-root-wrapper":{border:`none`,height:`100%`},"& .ag-header":{borderBottom:`1px solid var(--ag-border-color)`},"& .ag-row":{borderBottom:`1px solid var(--ag-border-color)`},"& .ag-cell":{borderRight:`1px solid var(--ag-border-color)`},"& .ag-header-cell":{borderRight:`1px solid var(--ag-border-color)`},"& .comparison-cell-base":{backgroundColor:`${y.comparison.base.background} !important`,boxShadow:`inset 0 0 0 2px ${y.comparison.base.border}`,color:`${y.comparison.base.foreground} !important`},"& .comparison-cell-current":{backgroundColor:`${y.comparison.current.background} !important`,boxShadow:`inset 0 0 0 2px ${y.comparison.current.border}`,color:`${y.comparison.current.foreground} !important`},"& .structural-row-added":{boxShadow:`inset 3px 0 ${y.structural.secondaryAccent.added}`},"& .structural-row-removed":{boxShadow:`inset 3px 0 ${y.structural.secondaryAccent.removed}`},"& .structural-row-modified":{boxShadow:`inset 3px 0 ${y.structural.secondaryAccent.modified}`},"& .comparison-cell-base.structural-row-added":{boxShadow:`inset 0 0 0 2px ${y.comparison.base.border}, inset 3px 0 ${y.structural.secondaryAccent.added}`},"& .comparison-cell-base.structural-row-removed":{boxShadow:`inset 0 0 0 2px ${y.comparison.base.border}, inset 3px 0 ${y.structural.secondaryAccent.removed}`},"& .comparison-cell-base.structural-row-modified":{boxShadow:`inset 0 0 0 2px ${y.comparison.base.border}, inset 3px 0 ${y.structural.secondaryAccent.modified}`},"& .comparison-cell-current.structural-row-added":{boxShadow:`inset 0 0 0 2px ${y.comparison.current.border}, inset 3px 0 ${y.structural.secondaryAccent.added}`},"& .comparison-cell-current.structural-row-removed":{boxShadow:`inset 0 0 0 2px ${y.comparison.current.border}, inset 3px 0 ${y.structural.secondaryAccent.removed}`},"& .comparison-cell-current.structural-row-modified":{boxShadow:`inset 0 0 0 2px ${y.comparison.current.border}, inset 3px 0 ${y.structural.secondaryAccent.modified}`},"& .diff-cell-modified":{boxShadow:`inset 3px 0 ${y.structural.secondaryAccent.modified}`},"& .row-count-delta-increase, & .row-count-delta-decrease, & .row-count-delta-unchanged, & .row-count-delta-structural":{backgroundColor:`${y.direction.background} !important`,color:`${y.direction.foreground} !important`,fontWeight:600},"& .structural-header-added":{backgroundColor:`${y.structural.neutral.background} !important`,borderBottom:`3px solid ${y.structural.secondaryAccent.added}`,color:`${y.structural.neutral.foreground} !important`},"& .structural-header-removed":{backgroundColor:`${y.structural.neutral.background} !important`,borderBottom:`3px solid ${y.structural.secondaryAccent.removed}`,color:`${y.structural.neutral.foreground} !important`},"& .structural-header-modified":{backgroundColor:`${y.structural.neutral.background} !important`,borderBottom:`3px solid ${y.structural.secondaryAccent.modified}`,color:`${y.structural.neutral.foreground} !important`},"& .index-column":{color:`var(--mui-palette-text-secondary)`,textAlign:`right`},"& .ag-grid-scrolling-rows .ag-grid-pinned-left-cells .ag-cell":{backgroundColor:v?`#2d2d2d`:`#f5f5f5`}},children:W(lr,{theme:b,columnDefs:x,rowData:S,getRowId:E,rowHeight:s,headerHeight:c,defaultColDef:w,suppressCellFocus:!0,suppressRowHoverHighlight:!1,animateRows:!1,enableCellTextSelection:!0,ensureDomOrder:!0,rowClass:f,noRowsOverlayComponent:T,onGridReady:e=>{_.current=e.api},...m},D)})}const fc=mt(dc);er.register($n,Qn,nr,tr,ar);function pc(e,t){let n=Math.min(t,e.counts.length),r=e.counts.slice(0,n),i=r.reduce((e,t)=>e+t,0),a=e.valids-i,o=r.map((t,n)=>{let r=e.values[n],i,a=!1;return r==null?(i=`(null)`,a=!0):typeof r==`string`&&r.length===0?(i=`(empty)`,a=!0):i=String(r),{label:i,count:t,isSpecial:a}});return a>0&&o.push({label:`(others)`,count:a,isSpecial:!0}),o}function mc({count:e,total:t,color:n,borderColor:r,theme:i=`light`,height:a=16}){let o=i===`dark`,s=_e(o),c=N(o).comparison.current,l=n??c.chartFill,u=r??c.border,d=B(()=>({labels:[``],datasets:[{indexAxis:`y`,data:[e],backgroundColor:l,hoverBackgroundColor:l,borderWidth:2,borderColor:u,barPercentage:1,categoryPercentage:.6}]}),[e,l,u]),f=B(()=>({responsive:!0,maintainAspectRatio:!1,indexAxis:`y`,scales:{x:{display:!1,max:t,grid:{display:!1},ticks:{color:s.textColor}},y:{display:!1,ticks:{color:s.textColor}}},plugins:{tooltip:{enabled:!1}},animation:!1}),[t,s]);return W(`div`,{style:{height:a,width:`100%`},children:W(or,{data:d,options:f})})}const hc=L(mc);hc.displayName=`SingleBarChart`;function gc({data:e,maxItems:t=10,theme:n=`light`,className:r}){let i=N(n===`dark`).comparison,a=B(()=>pc(e,t),[e,t]);return W(K,{className:r,sx:{width:`100%`},children:a.map(t=>G(ft,{children:[G(K,{sx:{display:`flex`,alignItems:`center`,width:`100%`,"&:hover":{bgcolor:`action.hover`},px:1.5},children:[W(Z,{title:t.label,placement:`top-start`,children:W(Y,{sx:{width:`14em`,fontSize:`0.875rem`,color:t.isSpecial?`grey.400`:`inherit`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t.label})}),W(K,{sx:{display:`flex`,height:`2em`,width:`10em`},children:W(hc,{count:t.count,total:e.valids,color:i.current.chartFill,borderColor:i.current.border,theme:n})}),W(Z,{title:String(t.count),placement:`top-start`,children:W(Y,{sx:{ml:2.5,mr:1,fontSize:`0.875rem`,width:`4em`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:Je(t.count)})}),W(Y,{sx:{color:`grey.400`,fontSize:`0.875rem`,width:`4em`},children:Ie(t.count/e.valids)})]}),W(Pt,{})]},t.label))})}const _c=L(gc);_c.displayName=`TopKSummaryList`;function vc({baseData:e,currentData:t,maxItems:n=10,showComparison:r=!1,theme:i=`light`,title:a,className:o}){let s=i===`dark`,c=N(s).comparison,l=_e(s),u=B(()=>pc(t,n),[t,n]),d=B(()=>e?pc(e,n):[],[e,n]),f=r&&e&&d.length>0,p=f?`Top-K chart comparing Base and Current series.`:`Top-K chart showing the Current series.`,m=t.valids||1,h=e?.valids||1,g=B(()=>u.map((e,t)=>({current:e,base:f?d[t]??null:null})).filter(({current:e,base:t})=>!(e.label===`(others)`&&e.count===0&&(!t||t.count===0))),[u,d,f]),_=B(()=>{let e=g.map(({current:e})=>e.label),t=[{label:`Current`,data:g.map(({current:e})=>e.count/m),backgroundColor:c.current.chartFill,hoverBackgroundColor:c.current.chartFill,borderColor:c.current.border,borderWidth:2,borderRadius:3,barPercentage:f?.9:1,categoryPercentage:f?.75:.6}];return f&&t.push({label:`Base`,data:g.map(({base:e})=>(e?.count??0)/h),backgroundColor:c.base.chartFill,hoverBackgroundColor:c.base.chartFill,borderColor:c.base.border,borderWidth:2,borderRadius:3,barPercentage:.9,categoryPercentage:.75}),{labels:e,datasets:t}},[g,c,f,m,h]),v=B(()=>({responsive:!0,maintainAspectRatio:!1,indexAxis:`y`,layout:{padding:{right:80}},scales:{x:{display:!1,grid:{display:!1}},y:{grid:{display:!1},ticks:{padding:8,color:e=>g[e.index]?.current.isSpecial?`#9ca3af`:l.textColor}}},plugins:{legend:{display:!!f,position:`top`,align:`center`,reverse:!0,labels:{boxWidth:32,boxHeight:12,borderRadius:3,useBorderRadius:!0,color:l.textColor}},tooltip:{mode:`index`,callbacks:{label:e=>{let t=e.parsed.x??0,n=e.dataset.label===`Base`?h:m,r=Math.round(t*n);return`${e.dataset.label}: ${Je(r)} (${Ie(t)})`}}}},animation:!1}),[g,l,f,h,m]),y={id:`barLabels`,afterDatasetsDraw(e){let{ctx:t}=e;t.save(),t.font=`11px system-ui, sans-serif`,t.textBaseline=`middle`;let n=_e(s);for(let r=0;r<e.data.datasets.length;r++){let i=e.data.datasets[r],a=i.label===`Base`?h:m,o=e.getDatasetMeta(r);for(let e=0;e<o.data.length;e++){let{x:r,y:s,base:c}=o.data[e],l=i.data[e]??0;if(l===0)continue;let u=Math.round(l*a),d=r-c,f=Je(u),p=Ie(l)??``,m=t.measureText(f).width;m+8<d?(t.fillStyle=n.barLabelColor,t.textAlign=`left`,t.fillText(f,c+4,s),t.fillStyle=n.secondaryTextColor,t.textAlign=`left`,t.fillText(p,r+4,s)):(t.fillStyle=n.textColor,t.textAlign=`left`,t.fillText(f,r+4,s),t.fillStyle=n.secondaryTextColor,t.fillText(p,r+4+m+4,s))}}t.restore()}},b=g.length*(f?46:32)+(f?30:0);return G(K,{className:o,sx:{width:`100%`,px:2,py:2},children:[a&&W(Y,{variant:`subtitle1`,sx:{fontWeight:500,mb:1},children:a}),W(`div`,{style:{height:Math.max(b,50)},children:W(or,{data:_,options:v,plugins:[y],role:`img`,"aria-label":p,fallbackContent:p})})]})}const yc=L(vc);yc.displayName=`TopKBarChart`;function bc(e){switch(e){case`sql`:return zn();case`yaml`:return Bn();default:return null}}function xc(e){return[Un.theme({"&":{backgroundColor:e?`#1e1e1e`:`#ffffff`,color:e?`#d4d4d4`:`#1f2937`},".cm-content":{caretColor:e?`#d4d4d4`:`#1f2937`,fontFamily:`'JetBrains Mono', 'Fira Code', monospace`,fontSize:`13px`},".cm-gutters":{backgroundColor:e?`#252526`:`#f5f5f5`,color:e?`#858585`:`#6b7280`,border:`none`},".cm-activeLineGutter":{backgroundColor:e?`#2a2d2e`:`#e5e7eb`},".cm-activeLine":{backgroundColor:e?`#2a2d2e40`:`#f3f4f640`},".cm-changedLine":{backgroundColor:e?`#3d3d0050`:`#fff3c550`},".cm-changedText":{backgroundColor:e?`#5c5c0080`:`#fef08a80`},".cm-deletedChunk":{backgroundColor:e?`#5c1f1f50`:`#ffc5c550`},".cm-insertedChunk":{backgroundColor:e?`#1a4d1a50`:`#cefece50`}},{dark:e})]}function Sc({original:e,modified:t,language:n=`text`,readOnly:r=!0,lineNumbers:i=!0,sideBySide:a=!0,height:o=`400px`,theme:s=`light`,onModifiedChange:c,className:l}){let u=V(null),d=V(null),f=s===`dark`;return z(()=>{if(!u.current)return;d.current&&=(d.current instanceof ur,d.current.destroy(),null);let o=[...xc(f)];i&&o.push(Gn());let s=bc(n);if(s&&o.push(s),r&&o.push(Vn.readOnly.of(!0)),c&&!r&&o.push(Un.updateListener.of(e=>{e.docChanged&&c(e.state.doc.toString())})),a){let n=new ur({a:{doc:e,extensions:[...o]},b:{doc:t,extensions:[...o]},parent:u.current,orientation:`a-b`,highlightChanges:!0,gutter:!0,collapseUnchanged:{margin:3,minSize:4}});d.current=n}else{let n=[...o,dr({original:e,highlightChanges:!0,gutter:!0,mergeControls:!1,collapseUnchanged:{margin:3,minSize:4}})],r=new Un({state:Vn.create({doc:t,extensions:n}),parent:u.current});d.current=r}return()=>{d.current&&=(d.current instanceof ur,d.current.destroy(),null)}},[e,t,n,r,i,a,f,c]),W(K,{ref:u,className:l,sx:{height:o,width:`100%`,overflow:`auto`,border:`1px solid`,borderColor:f?`grey.700`:`grey.300`,borderRadius:1,"& .cm-editor":{height:`100%`},"& .cm-scroller":{overflow:`auto`},"& .cm-merge-view":{height:`100%`},"& .cm-merge-view > div":{height:`100%`}}})}const Cc=L(Sc);Cc.displayName=`DiffEditor`;function wc({title:e,description:t,icon:n,actionLabel:r,onAction:i,secondaryActionLabel:a,onSecondaryAction:o,theme:s=`light`,paddingY:c=8,className:l,children:u}){let d=s===`dark`;return G(K,{className:l,sx:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,textAlign:`center`,py:c,px:4,height:`100%`,minHeight:200},children:[n&&W(K,{sx:{mb:2,color:d?`grey.500`:`grey.400`,"& svg":{width:48,height:48}},children:n}),W(Y,{variant:`h6`,sx:{fontWeight:500,color:d?`grey.300`:`grey.700`,mb:+!!t},children:e}),t&&W(Y,{variant:`body2`,sx:{color:d?`grey.400`:`grey.500`,maxWidth:400,mb:r||a?3:0},children:t}),(r||a)&&G(K,{sx:{display:`flex`,gap:2,mt:1},children:[r&&i&&W(q,{variant:`contained`,onClick:i,size:`small`,children:r}),a&&o&&W(q,{variant:`outlined`,onClick:o,size:`small`,children:a})]}),u&&W(K,{sx:{mt:3},children:u})]})}const Tc=L(wc);Tc.displayName=`EmptyState`;function Ec(e,t=60){if(e.length<=t)return e;try{let n=new URL(e),r=n.hostname,i=n.pathname+n.search+n.hash;if(r.length>=t-3)return r.substring(0,t-3)+`...`;let a=t-r.length-3;return i.length>a?`${r}${i.substring(0,a)}...`:e}catch{return e.substring(0,t-3)+`...`}}function Dc({isOpen:e,url:t,onConfirm:n,onCancel:r}){let i=V(null);return G(vt,{open:e,onClose:r,maxWidth:`sm`,fullWidth:!0,"aria-labelledby":`external-link-dialog-title`,children:[G(xt,{id:`external-link-dialog-title`,sx:{display:`flex`,alignItems:`center`,gap:1},children:[W(K,{component:rn,sx:{color:`amber.500`,fontSize:20}}),`External Link`]}),W(X,{"aria-label":`close`,onClick:r,sx:{position:`absolute`,right:8,top:8,color:`grey.500`},children:W(Nt,{})}),G(bt,{children:[W(Y,{sx:{mb:1.5},children:`This link will take you to an external website outside of Recce. Are you sure you want to continue?`}),W(K,{sx:{bgcolor:`grey.50`,p:1,borderRadius:1,border:`1px solid`,borderColor:`grey.200`},children:W(K,{component:`code`,sx:{fontSize:`0.875rem`,wordBreak:`break-all`,whiteSpace:`pre-wrap`,bgcolor:`transparent`,fontFamily:`monospace`},children:Ec(t,100)})})]}),G(yt,{sx:{gap:1},children:[W(q,{ref:i,variant:`outlined`,onClick:r,children:`Cancel`}),W(q,{color:`iochmara`,variant:`contained`,onClick:n,children:`Open Link`})]})]})}function Oc(e,t){if(!e||e.startsWith(`/`)||e.startsWith(`#`)||e.startsWith(`?`))return!1;try{let n=new URL(e,window.location.origin);return!t.some(e=>n.hostname===e||n.hostname.endsWith(`.${e}`))}catch{return!1}}function kc({href:e,children:t,internalDomains:n}){let[r,i]=H(!1),[a,o]=H(null),s=t=>{e&&Oc(e,n)&&(t.preventDefault(),o(e),i(!0))},c=()=>{a&&window.open(a,`_blank`,`noopener,noreferrer`),i(!1),o(null)},l=()=>{i(!1),o(null)},u=e?Oc(e,n):!1;return G(U,{children:[G(St,{href:e,onClick:s,sx:{color:`primary.main`,textDecoration:`underline`,"&:hover":{color:`iochmara.600`}},target:`_blank`,rel:u?`noopener noreferrer`:void 0,children:[t,u&&` ↗`]}),W(Dc,{isOpen:r,url:a||``,onConfirm:c,onCancel:l})]})}function Ac({className:e,children:t,isDark:n=!1}){let r=/language-(\w+)/.exec(e||``),i=r?r[1]:void 0,a=String(t).replace(/\n$/,``);return!r&&!String(t).includes(`
6
- `)?W(K,{component:`code`,sx:{bgcolor:n?`grey.800`:`grey.100`,color:n?`grey.200`:`inherit`,px:1,py:.5,borderRadius:.5,fontSize:`0.9em`,fontFamily:`monospace`},children:t}):W(K,{sx:{my:2,borderRadius:1,overflow:`hidden`,fontSize:`0.875rem`},children:W(pr,{style:mr,language:i,PreTag:`div`,customStyle:{margin:0,borderRadius:`6px`,fontSize:`0.85em`},children:a})})}function jc({content:e,fontSize:t=`0.875rem`,internalDomains:n=[]}){let r=F(),i=[window.location.hostname,`reccehq.com`,`datarecce.io`,`localhost`,...n];return W(K,{className:`markdown-content`,children:W(fr,{remarkPlugins:[hr],components:{a:({href:e,children:t})=>W(kc,{href:e,internalDomains:i,children:t}),code:e=>W(Ac,{...e,isDark:r}),p:({children:e})=>W(Y,{component:`p`,sx:{fontSize:t,mb:2,"&:last-child":{mb:0}},children:e}),h1:({children:e})=>W(Y,{sx:{fontSize:`1.25rem`,fontWeight:`bold`,mb:2,mt:3},children:e}),h2:({children:e})=>W(Y,{sx:{fontSize:`1.125rem`,fontWeight:`bold`,mb:2,mt:3},children:e}),h3:({children:e})=>W(Y,{sx:{fontSize:`1rem`,fontWeight:600,mb:2,mt:2},children:e}),ul:({children:e})=>W(K,{component:`ul`,sx:{pl:4,mb:2,listStyleType:`disc`},children:e}),ol:({children:e})=>W(K,{component:`ol`,sx:{pl:4,mb:2,listStyleType:`decimal`},children:e}),li:({children:e})=>W(K,{component:`li`,sx:{fontSize:t,mb:1},children:e}),blockquote:({children:e})=>W(K,{sx:{borderLeft:`3px solid`,borderLeftColor:r?`grey.600`:`grey.300`,pl:3,py:1,my:2,color:r?`grey.400`:`grey.600`,fontStyle:`italic`},children:e}),table:({children:e})=>W(K,{sx:{overflowX:`auto`,my:2},children:W(K,{component:`table`,sx:{width:`100%`,fontSize:t,border:`1px solid`,borderColor:r?`grey.700`:`grey.200`,borderRadius:1},children:e})}),thead:({children:e})=>W(K,{component:`thead`,sx:{bgcolor:r?`grey.800`:`grey.50`},children:e}),tbody:({children:e})=>W(K,{component:`tbody`,children:e}),tr:({children:e})=>W(K,{component:`tr`,sx:{borderBottom:`1px solid`,borderColor:r?`grey.700`:`grey.200`},children:e}),th:({children:e})=>W(K,{component:`th`,sx:{px:2,py:1,fontWeight:600,textAlign:`left`},children:e}),td:({children:e})=>W(K,{component:`td`,sx:{px:2,py:1},children:e}),hr:()=>W(K,{component:`hr`,sx:{my:3,borderColor:r?`grey.700`:`grey.200`}}),strong:({children:e})=>W(Y,{component:`strong`,sx:{fontWeight:600},children:e}),em:({children:e})=>W(Y,{component:`em`,sx:{fontStyle:`italic`},children:e}),del:({children:e})=>W(Y,{component:`del`,sx:{textDecoration:`line-through`,color:`grey.500`},children:e})},children:e})})}const Mc=mt(function({backgroundColor:e=`white`,blockSize:t,children:n,...r},i){return W(K,{ref:i,...r,sx:{overflowY:`auto`,overflowX:`hidden`,...r.sx},children:W(K,{sx:{backgroundColor:e,height:`100%`,blockSize:t},children:n})})});function Nc({children:e,direction:t=`horizontal`,sizes:n,minSizes:r=0,maxSizes:i,gutterSize:a=5,snapOffset:o=30,dragInterval:s=1,onDragEnd:c,onDrag:l,theme:u,style:d,className:f}){let p=F(),m=u?u===`dark`:p,h={display:`flex`,flexDirection:t===`horizontal`?`row`:`column`,height:`100%`,width:`100%`,...d};return W(K,{className:f,sx:{height:`100%`,width:`100%`,"& .gutter":{backgroundColor:`divider`,backgroundRepeat:`no-repeat`,backgroundPosition:`50%`,transition:`background-color 0.15s ease`,"&:hover":{backgroundColor:m?`grey.600`:`grey.300`}},"& .gutter.gutter-horizontal":{cursor:`col-resize`},"& .gutter.gutter-vertical":{cursor:`row-resize`}},children:W(gr,{style:h,direction:t,sizes:n,minSize:r,maxSize:i,gutterSize:a,snapOffset:o,dragInterval:s,onDragEnd:c,onDrag:l,children:e})})}const Pc=L(Nc);Pc.displayName=`SplitPane`;function Fc(e){let{style:t,children:n,gutterSize:r=5,minSize:i,maxSize:a,sizes:o,snapOffset:s,dragInterval:c,onDragEnd:l,onDrag:u,className:d}=e;return W(Pc,{direction:`horizontal`,gutterSize:r,minSizes:i,maxSizes:a,sizes:o,snapOffset:typeof s==`number`?s:void 0,dragInterval:c,onDragEnd:l,onDrag:u,style:t,className:d,children:n})}function Ic(e){let{style:t,children:n,gutterSize:r=5,minSize:i,maxSize:a,sizes:o,snapOffset:s,dragInterval:c,onDragEnd:l,onDrag:u,className:d}=e;return W(Pc,{direction:`vertical`,gutterSize:r,minSizes:i,maxSizes:a,sizes:o,snapOffset:typeof s==`number`?s:void 0,dragInterval:c,onDragEnd:l,onDrag:u,style:t,className:d,children:n})}const Lc={mode:`multiRow`,checkboxes:!0,headerCheckbox:!0,enableClickSelection:!1};function Rc({warning:e,isDark:t}){return G(K,{sx:{display:`flex`,alignItems:`center`,gap:.5,fontSize:`0.75rem`},children:[W(rn,{color:t?_r[400]:_r[600]}),W(K,{children:e})]})}function zc({toolbar:e,warnings:t,warningStyle:n=`alert`,isDark:r}){if(!e&&(!t||t.length===0))return null;let i=n===`amber`&&t&&t.length>0?r?_r[900]:_r[100]:r?`grey.900`:`grey.50`,a=n===`amber`&&t&&t.length>0?r?_r[200]:_r[800]:void 0;return G(K,{sx:{display:`flex`,alignItems:`center`,gap:1,px:1,py:.5,borderBottom:1,borderColor:`divider`,bgcolor:i,color:a},children:[n===`amber`?t?.map(e=>W(Rc,{warning:e,isDark:r},e)):t?.map(e=>W(vn,{severity:`warning`,sx:{py:0,fontSize:`0.75rem`},children:e},e)),W(K,{sx:{flex:1}}),e]})}function $(e){let{displayName:t,typeGuard:n,expectedRunType:r,screenshotWrapper:i,transformData:a,emptyState:o=`No data`,conditionalEmptyState:s,enableRowSelection:c}=e;function l({run:e,viewOptions:t,onViewOptionsChanged:l,onAddToChecklist:u},d){let f=F();if(!n(e))throw Error(`Run type must be ${r}`);let p=B(()=>a(e,{viewOptions:t,onViewOptionsChanged:l,onAddToChecklist:u,isDark:f}),[e,t,l,u,f]),m=s?.(e,t);return m==null?p?.renderNull?null:!p||p.isEmpty?p?.toolbar||p?.warnings&&p.warnings.length>0?G(K,{sx:{display:`flex`,flexDirection:`column`,bgcolor:f?`grey.900`:`grey.50`,height:`100%`},children:[W(zc,{toolbar:p?.toolbar,warnings:p?.warnings,warningStyle:p?.warningStyle,isDark:f}),W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,flex:1},children:p?.emptyMessage??o})]}):W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,bgcolor:f?`grey.900`:`grey.50`,height:`100%`},children:o}):i===`grid`?G(K,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:[p.header,W(zc,{toolbar:p.toolbar,warnings:p.warnings,warningStyle:p.warningStyle,isDark:f}),W(fc,{ref:d,style:{blockSize:`auto`,maxHeight:`100%`,overflow:`auto`,fontSize:`0.875rem`,borderWidth:1},columns:p.columns??[],rows:p.rows??[],renderers:{noRowsFallback:W(uc,{emptyMessage:p.noRowsMessage})},defaultColumnOptions:p.defaultColumnOptions,rowSelection:c?Lc:void 0}),p.footer]}):G(K,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:[p.header,W(zc,{toolbar:p.toolbar,warnings:p.warnings,warningStyle:p.warningStyle,isDark:f}),W(Mc,{ref:d,backgroundColor:f?`#1f2937`:`white`,sx:{height:`100%`},children:p.content}),p.footer]}):W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,bgcolor:f?`grey.900`:`grey.50`,height:`100%`},children:m})}return l.displayName=t,mt(l)}const Bc=`0.1.0`,Vc=/^\d{4}-\d{2}-\d{2}$/,Hc=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?$/i,Uc=/(?:Z|[+-]\d{2}:\d{2})$/i;function Wc(e){if(typeof e==`number`){if(Number.isFinite(e))return e;throw RangeError(`Histogram timestamp must be finite`)}let t=e.trim(),n;if(Vc.test(t))n=`${t}T00:00:00Z`;else if(Hc.test(t))n=Uc.test(t)?t:`${t}Z`;else throw RangeError(`Histogram timestamp must use an ISO date or datetime`);let r=Date.parse(n);if(!Number.isFinite(r))throw RangeError(`Histogram timestamp is outside the supported date range`);return r}function Gc(e){return u(e)}function Kc(e){return e==null?void 0:Wc(e)}const qc=$({displayName:`HistogramDiffResultView`,typeGuard:Gc,expectedRunType:`histogram_diff`,screenshotWrapper:`box`,conditionalEmptyState:e=>{let t=e.result?.base,n=e.result?.current;return!t||!n?W(`div`,{children:`Loading...`}):null},transformData:(e,{isDark:t})=>{let n=e.params,r=e.result?.base,i=e.result?.current,a=e.result?.min,o=e.result?.max,s=e.result?.bin_edges??[];if(!r||!i)return{isEmpty:!0};let c=e.params?.column_type??`numeric`,l=Wa(c)?`datetime`:c===`string`?`string`:`numeric`,u,d,f;try{u=l===`datetime`?Kc(a):a,d=l===`datetime`?Kc(o):o,f=l===`datetime`?s.map(Wc):s}catch{return{content:W(`div`,{children:`Invalid histogram data`})}}let p=Array.isArray(r.counts)?r.counts:[],m=Array.isArray(i.counts)?i.counts:[];return{content:G(K,{sx:{display:`flex`,flexDirection:`row`},children:[W(K,{sx:{flex:1}}),W(K,{sx:{width:`80%`,height:`35vh`,m:4},children:W(cc,{title:`Model ${n.model}.${n.column_name}`,dataType:l,baseData:{counts:p},currentData:{counts:m},min:u,max:d,samples:r.total??0,binEdges:f,theme:t?`dark`:`light`})}),W(K,{sx:{flex:1}})]})}}});function Jc(e,t){if(e.baseIndex===void 0&&e.currentIndex!==void 0)return`added`;if(e.baseIndex!==void 0&&e.currentIndex===void 0)return`removed`;let n=e.baseType!==e.currentType,r=e.definitionChanged===!0||e.reordered===!0;return n&&!r&&t&&e.changeUnknown!==!0?`impacted`:n||r?`changed`:e.changeUnknown===!0?`unknown`:t?`impacted`:`unchanged`}function Yc({model:e,row:t,singleEnv:n,cllRunning:r,showMenu:i=!0,onViewCode:a,isImpacted:o}){let s=le(),{isActionAvailable:c}=fe(),{runAction:l}=M(),{featureToggles:u}=ie(),{name:d,baseType:f,currentType:p,baseIndex:m,currentIndex:h,definitionChanged:g}=t,_=p??f??t.type,v=(m!==void 0||h===void 0)&&(m===void 0||h!==void 0)&&f!==p,y=n?`unchanged`:Jc(t,o),b=y===`added`?`added`:y===`removed`?`removed`:y===`unknown`?`definition_unknown`:(y===`changed`||y===`impacted`)&&v?`type_changed`:y===`changed`&&g?`definition_changed`:`unchanged`,[x,S]=H(null),C=!!x,w=e=>{e.stopPropagation(),S(e.currentTarget)},T=()=>{S(null)},E=()=>{l(`profile_diff`,{model:e.name,columns:[d]},{showForm:!1,trackProps:{action:`profile_diff`,source:`schema_column_menu`,node_count:1}})},D=()=>{l(`histogram_diff`,{model:e.name,column_name:d,column_type:_},{showForm:!1,trackProps:{action:`histogram_diff`,source:`schema_column_menu`,node_count:1}})},O=()=>{l(`top_k_diff`,{model:e.name,column_name:d,k:50},{showForm:!1,trackProps:{action:`top_k_diff`,source:`schema_column_menu`,node_count:1}})},k=()=>{l(`value_diff`,{model:e.name,columns:[d]},{showForm:!0,trackProps:{action:`value_diff`,source:`schema_column_menu`,node_count:1}})},A=!f||!p,ee=s===void 0||!c(`change_analysis`)||m!==void 0&&h===void 0,te=y===`impacted`,ne=fi({name:d,status:b,baseType:f?di(f):void 0,currentType:p?di(p):void 0,cllAvailable:!ee,impacted:te});return W(Z,{title:ne,placement:`top`,children:G(K,{sx:{display:`flex`,alignItems:`center`,gap:`3px`},children:[y===`changed`&&(g?W(Z,{title:`Definition changed — click to view code`,placement:`top`,onMouseOver:e=>e.stopPropagation(),children:a?W(`button`,{type:`button`,className:`schema-change-badge schema-change-badge-changed schema-change-badge-clickable`,onClick:e=>{e.stopPropagation(),a()},children:`~`}):W(`span`,{className:`schema-change-badge schema-change-badge-changed`,children:`~`})}):W(`span`,{className:`schema-change-badge schema-change-badge-changed`,children:`~`})),y===`added`&&W(`span`,{className:`schema-change-badge schema-change-badge-added`,children:`+`}),y===`removed`&&W(`span`,{className:`schema-change-badge schema-change-badge-removed`,children:`-`}),y===`impacted`&&W(`span`,{className:`schema-change-badge schema-change-badge-impacted`,children:`!`}),y===`unknown`&&W(Z,{title:`Change status unknown — analyzer couldn't resolve column dependencies`,placement:`top`,onMouseOver:e=>e.stopPropagation(),children:W(`span`,{className:`schema-change-badge schema-change-badge-unknown`,children:`?`})}),W(K,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:d}),v?G(K,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`,gap:`0.125rem`,ml:`0.25rem`,fontSize:`1.6rem`,lineHeight:1},children:[f&&W(K,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`,textDecoration:`line-through`,opacity:.6},children:W(mi,{type:f,disableTooltip:!0})}),W(K,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`,fontSize:`0.7em`,opacity:.5},children:`→`}),p&&W(K,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`},children:W(mi,{type:p,disableTooltip:!0})})]}):_&&W(K,{component:`span`,sx:{ml:`0.25rem`,fontSize:`1.6rem`},children:W(mi,{type:_,disableTooltip:!0})}),W(K,{sx:{flex:1}}),r&&W(Ft,{size:12,color:`inherit`}),i&&!n&&e.resource_type!==`source`&&G(U,{children:[W(X,{"aria-label":`Column options`,className:`row-context-menu`,size:`small`,disabled:u.disableDatabaseQuery,onClick:w,children:W(Cn,{})}),G(bn,{anchorEl:x,open:C,onClose:T,slotProps:{list:{sx:{lineHeight:`20px`}}},children:[W(Tn,{sx:{m:0,p:`4px 12px`,lineHeight:`20px`},children:`Diff`}),W(Q,{onClick:()=>{E(),T()},disabled:A,sx:{fontSize:`0.85rem`},children:`Profile Diff`}),W(Q,{onClick:()=>{D(),T()},disabled:A||!_||!Ja(_),sx:{fontSize:`0.85rem`},children:`Histogram Diff`}),W(Q,{onClick:()=>{O(),T()},disabled:A,sx:{fontSize:`0.85rem`},children:`Top-k Diff`}),W(Q,{onClick:()=>{k(),T()},disabled:A,sx:{fontSize:`0.85rem`},children:`Value Diff`})]})]})]})})}function Xc(e,t,n,r){return i=>{let a=i.data;return a?W(Yc,{model:e,row:a,cllRunning:t?.get(a.name)??!1,showMenu:n,onViewCode:r,isImpacted:a.isImpacted}):null}}function Zc(e,t,n){return r=>{let i=r.data;return i?W(Yc,{model:e,row:i,cllRunning:t?.get(i.name)??!1,singleEnv:!0,showMenu:n}):null}}function Qc(e){let t=e.scopedColumns?new Set(e.scopedColumns):void 0;return n=>{let r=n.data;if(!r)return null;let i=e.payloads[r.name],a=!t||t.has(r.name);return W(Va,{payload:i,columnType:r.currentType??r.baseType,baseTotal:e.baseTotal,currentTotal:e.currentTotal,isLoading:e.isLoading&&!i&&a,hasError:e.hasError&&a,notProfiled:!a})}}function $c(e){if(!e.data)return null;let{baseIndex:t,currentIndex:n,reordered:r}=e.data;return r&&t!==void 0&&n!==void 0&&t!==n?G(`span`,{children:[W(`span`,{className:`schema-index-old`,children:t}),W(`span`,{className:`schema-index-new`,children:n})]}):W(`span`,{children:n===void 0?t??`-`:n??`-`})}function el(e={},t={}){let n={},r=Ye(Object.keys(e),Object.keys(t));Object.entries(r).forEach(([e,t])=>{n[e]={name:e,reordered:t===`reordered`,__status:void 0}});let i=0;return Object.entries(e).forEach(([e,t])=>{t!=null&&(n[e].baseIndex=i+=1,n[e].baseType=t.type)}),i=0,Object.entries(t).forEach(([e,t])=>{t!=null&&(n[e].currentIndex=i+=1,n[e].currentType=t.type)}),n}function tl(e,t={}){let{node:n,cllRunningMap:r,showMenu:i,columnChanges:a,onViewCode:o,impactedColumns:s,nodeId:c,distribution:l,schemaComparisonStatus:u}=t,d=[{field:`index`,headerName:``,resizable:!0,minWidth:35,width:35,cellRenderer:$c,cellClass:`schema-column schema-column-index`},{field:`name`,headerName:`Name`,resizable:!0,flex:1,minWidth:180,cellRenderer:n?Xc(n,r,i,o):void 0,cellClass:`schema-column`,valueGetter:e=>{let t=e.data;return t?`${t.name}|${t.definitionChanged??!1}|${t.isImpacted??!1}|${t.changeUnknown??!1}`:``}}];l&&d.push({colId:`distribution`,headerName:`Distribution`,resizable:!0,sortable:!1,minWidth:150,width:160,cellRenderer:Qc(l),cellClass:`schema-column schema-column-profile-distribution`});let f=u===`unchecked`,p=Object.values(e).filter(e=>!f||e.baseIndex!==void 0&&e.currentIndex!==void 0&&e.baseType===e.currentType&&!e.reordered);if(a)for(let e of p){let t=e.baseIndex===void 0,n=e.currentIndex===void 0,r=!t&&!n&&e.baseType!==e.currentType,i=a[e.name];i===`modified`&&!t&&!n&&!r&&!e.reordered?e.definitionChanged=!0:i===`unknown`&&!t&&!n&&!r&&!e.reordered&&(e.changeUnknown=!0)}if(c&&s)for(let e of p)Ae(c,e.name,s)&&(e.isImpacted=!0);return{columns:d,rows:p}}function nl(e={},t={}){let{node:n,cllRunningMap:r,showMenu:i}=t,a=Object.entries(e).filter(([e,t])=>t!=null).map(([e,t],n)=>({name:e,index:n+1,type:t.type,__status:void 0}));return{columns:[{field:`index`,headerName:``,resizable:!0,minWidth:35,width:35,cellClass:`schema-column schema-column-index`},{field:`name`,headerName:`Name`,resizable:!0,flex:1,minWidth:180,cellRenderer:n?Zc(n,r,i):void 0,cellClass:`schema-column`}],rows:a}}function rl({columnName:e,primaryKeys:t}){let n=t.includes(e);return W(K,{sx:{display:`flex`,justifyContent:`center`,alignItems:`center`,height:`100%`},children:n&&W(wn,{})})}function il({params:e,column:t}){let{runAction:n}=M(),{featureToggles:r}=ie(),[i,a]=H(null),o=!!i,s=e=>{a(e.currentTarget)},c=()=>{a(null)},l=(t,r)=>{let i={...e,...t};n(`value_diff_detail`,i,r)};return G(K,{sx:{display:`flex`},children:[W(K,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t}),W(K,{sx:{flex:1}}),W(X,{"aria-label":`Column options`,className:`row-context-menu`,size:`small`,disabled:r.disableDatabaseQuery,onClick:s,children:W(Kt,{})}),G(bn,{anchorEl:i,open:o,onClose:c,slotProps:{list:{sx:{lineHeight:`20px`}}},children:[W(Tn,{sx:{fontSize:`8pt`,lineHeight:`20px`},children:`Action`}),W(Q,{onClick:()=>{l({},{showForm:!0}),c()},sx:{fontSize:`10pt`},children:`Show mismatched values...`}),G(Q,{onClick:()=>{l({columns:[t]},{showForm:!1}),c()},sx:{fontSize:`10pt`},children:[`Show mismatched values for '`,t,`'`]})]})]})}function al({value:e}){let t=`N/A`;return e!=null&&(t=e>.9999&&e<1?`~99.99 %`:e<1e-4&&e>0?`~0.01 %`:`${(e*100).toFixed(2)} %`),W(K,{sx:{textAlign:`right`},children:t})}function ol(e){return t=>{let n=t.data;return n?W(rl,{columnName:String(n[0]),primaryKeys:e}):null}}function sl(e){return t=>{let n=t.data,r=t.colDef?.field??``;return n?W(il,{column:String(n[r]),params:e}):null}}function cl(e){let t=e.data,n=e.colDef?.field??``;return t?W(al,{value:t[n]}):null}const ll=[{key:`0`,name:`Column`,type:`text`},{key:`1`,name:`Matched`,type:`number`},{key:`2`,name:`Matched %`,type:`number`}];function ul(e){let t=e.data;if(!t)return;let n=t[2];return n!=null&&n<1?`diff-cell-modified`:void 0}function dl(e,t){let n=e==null,r=t==null;return n&&r?0:n?1:r?-1:e-t}const fl={PRIMARY_KEY_INDICATOR:`__is_pk__`,COLUMN_NAME:`0`,MATCHED_COUNT:`1`,MATCHED_PERCENT:`2`};function pl(e,t){return[{field:fl.PRIMARY_KEY_INDICATOR,headerName:``,width:30,maxWidth:30,sortable:!1,cellRenderer:ol(e)},{field:fl.COLUMN_NAME,headerName:`Column`,resizable:!0,cellRenderer:sl(t),cellClass:`cell-show-context-menu`},{field:fl.MATCHED_COUNT,headerName:`Matched`,resizable:!0,cellClass:ul},{field:fl.MATCHED_PERCENT,headerName:`Matched %`,resizable:!0,sort:`asc`,comparator:dl,cellRenderer:cl,cellClass:ul}]}function ml(e,t){let{params:n}=t,r=Array.isArray(n.primary_key)?n.primary_key:[n.primary_key],i={...e.data,columns:ll};return{columns:pl(r,n),rows:We(i)}}function hl(e){if(p(e)||y(e))return e.result?{kind:`query`,result:e.result}:null;if(w(e))return e.result?e.result.diff&&e.params?.primary_keys?{kind:`query_diff_joined`,result:e.result,primaryKeys:e.params.primary_keys}:{kind:`query_diff_separate`,result:e.result}:null;if(D(e))return!e.result||!e.params?null:{kind:`value_diff`,result:e.result,params:e.params};if(T(e)){if(!e.result||!e.params?.primary_key)return null;let t=e.params.primary_key,n=Array.isArray(t)?t:[t];return{kind:`value_diff_detail`,result:e.result,primaryKeys:n}}return f(e)?e.result?.current?{kind:`profile`,result:e.result}:null:S(e)?e.result?{kind:`profile_diff`,result:e.result}:null:b(e)?e.result?{kind:`row_count`,result:e.result}:null:g(e)&&e.result?{kind:`row_count_diff`,result:e.result}:null}function gl(e){let t=e.data;if(!t)return null;let n=e.colDef?.field??``,r=String(qe(t,n)??e.value??``),i=String(qe(t,`data_type`)??``)||void 0,a=fi({name:r,currentType:i?di(i):void 0});return W(Z,{title:a,placement:`top`,children:G(K,{sx:{display:`flex`,alignItems:`center`,gap:`6px`,overflow:`hidden`,height:`100%`},children:[W(K,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:r}),i&&W(K,{component:`span`,sx:{fontSize:`1.6rem`},children:W(mi,{type:i,disableTooltip:!0})})]})})}function _l(e){let t=e.data;if(!t)return null;let n=e.colDef?.field??``,r=String(qe(t,n)??e.value??``),i=qe(t,`base__data_type`),a=i==null?void 0:String(i),o=qe(t,`current__data_type`),s=o==null?void 0:String(o),c=a!=null&&s!=null&&a!==s,l=s??a,u=fi({name:r,baseType:a?di(a):void 0,currentType:s?di(s):void 0});return W(Z,{title:u,placement:`top`,children:G(K,{sx:{display:`flex`,alignItems:`center`,gap:`6px`,overflow:`hidden`,height:`100%`},children:[W(K,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:r}),c?G(K,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`,gap:`0.125rem`,fontSize:`1.6rem`},children:[W(K,{component:`span`,sx:{textDecoration:`line-through`,opacity:.6},children:W(mi,{type:a,disableTooltip:!0})}),W(K,{component:`span`,sx:{fontSize:`0.7em`,opacity:.5},children:`→`}),W(mi,{type:s,disableTooltip:!0})]}):l&&W(K,{component:`span`,sx:{fontSize:`1.6rem`},children:W(mi,{type:l,disableTooltip:!0})})]})})}function vl(e){if(!e)return!1;let t=e.toLowerCase();return t===`data_type`||t===`base__data_type`||t===`current__data_type`}function yl(e){let t=e.rows.length>0&&Ze(e.rows[0],`base__data_type`),n=e.columns.filter(e=>{if(`children`in e&&e.children){let t=e.children.filter(e=>!vl(e.field));return t.length!==0&&(e.children=t,!0)}return!vl(e.field)}).map(e=>{if(`children`in e&&e.children)return{...e,children:e.children.map(e=>{let t=e;return t.field?.toLowerCase()===`column_name`?{...t,cellRenderer:gl}:e})};let n=e;return n.field?.toLowerCase()===`column_name`?{...n,cellRenderer:t?_l:gl}:e});return{...e,columns:n}}function bl(e){return e.current?.columns.find(e=>e.name.toLowerCase()===`column_name`)?.name??`column_name`}function xl(e){return e.trim().split(/[_\s]+/).filter(Boolean).map(e=>`${e.charAt(0).toUpperCase()}${e.slice(1).toLowerCase()}`).join(` `)}const Sl=[`raw`,2,`percent`,`delta`];function Cl(e){return e.type===`number`||e.type===`float`||e.type===`integer`}function wl(e){return[`distinct_proportion`,`not_null_proportion`].includes(e.toLowerCase())?`percent_delta`:`percent_change`}function Tl(e,t){let n=[...e.base?.columns??[],...e.current?.columns??[]];return Object.fromEntries(n.map(e=>[e.key,{displayName:xl(e.key),hidePrimaryKeyIcon:e.key.toLowerCase()===`column_name`,allowedRenderModes:t===`inline`&&Cl(e)?[...Sl,wl(e.key)]:void 0}]))}function El(e){let t=e.columns.map(e=>{if(`children`in e&&e.children)return e;let t=e,n=t.context?.columnType;return n!==`number`&&n!==`float`&&n!==`integer`?e:{...t,context:{...t.context,profileDiffPercentMode:wl(t.field??``)}}});return{...e,columns:t}}function Dl(e,t={}){let n=hl(e);if(!n)return null;switch(n.kind){case`query`:return Se(n.result,{primaryKeys:t.primaryKeys,pinnedColumns:t.pinnedColumns,columnsRenderMode:t.columnsRenderMode,onPrimaryKeyChange:t.onPrimaryKeyChange,onPinnedColumnsChange:t.onPinnedColumnsChange,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged});case`query_diff_separate`:return je(n.result.base,n.result.current,t);case`query_diff_joined`:return n.result.diff?Me(n.result.diff,n.primaryKeys,{changedOnly:t.changedOnly,pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,baseTitle:t.baseTitle,currentTitle:t.currentTitle,displayMode:t.displayMode,columnsRenderMode:t.columnsRenderMode,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged}):null;case`value_diff`:return ml(n.result,{params:n.params});case`value_diff_detail`:return Me(n.result,n.primaryKeys,{changedOnly:t.changedOnly,pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,displayMode:t.displayMode,columnsRenderMode:t.columnsRenderMode,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged});case`profile`:{if(!n.result.current)return null;let e=bl(n.result);return yl(Se(n.result.current,{primaryKeys:[e],pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,columnsRenderMode:t.columnsRenderMode,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged,headerPresentation:Tl(n.result)}))}case`profile_diff`:{let e=bl(n.result);return El(yl(je(n.result.base,n.result.current,{primaryKeys:[e],pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,displayMode:t.displayMode,columnsRenderMode:t.columnsRenderMode,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged,headerPresentation:Tl(n.result,t.displayMode??`inline`)})))}case`row_count`:return Le(n.result);case`row_count_diff`:return Xe(n.result);default:return null}}function Ol(e,t){switch(e.type){case`single`:return Se(e.dataframe,t??{});case`dual`:return je(e.base,e.current,t??{});case`joined`:return Me(e.dataframe,e.primaryKeys,t??{});case`schema_diff`:{let n=t??{};return tl(el(e.base,e.current),n)}case`schema_single`:return nl(e.columns,t??{})}}function kl({params:e,onParamsChanged:t,setIsReadyToExecute:n}){let[r,i]=H(!e.columns||e.columns.length===0),a=e.model,{columns:o,isLoading:s,error:c}=_d(e.model);z(()=>{n(!!a)},[a,n]);let l=o.map(e=>e.name);return s?W(K,{children:`Loading...`}):l.length===0||c?W(K,{children:`Error: Please provide the 'catalog.json' to list column candidates`}):G(J,{spacing:5,sx:{m:`8px 24px`,pb:`200px`},children:[G(K,{children:[W(Y,{variant:`body2`,sx:{mb:1},children:`Model`}),W(An,{fullWidth:!0,size:`small`,value:e.model,slotProps:{input:{readOnly:!0}}})]}),G(K,{children:[W(Y,{variant:`body2`,sx:{mb:1},children:`Columns`}),W(hn,{control:W(mn,{checked:r,onChange:n=>{i(n.target.checked),t({...e,columns:void 0})},size:`small`}),label:`All columns`,sx:{mb:`10px`}}),!r&&W(Or,{multiple:!0,size:`small`,disableCloseOnSelect:!0,options:l,value:e.columns??[],onChange:(n,r)=>{t({...e,columns:r.length===0?void 0:r})},renderInput:t=>W(An,{...t,placeholder:(e.columns??[]).length===0?`Select columns`:``,className:`no-track-pii-safe`})})]})]})}const Al=e=>typeof e==`object`&&!!e&&`type`in e&&S(e),jl=$({displayName:`ProfileResultView`,typeGuard:e=>typeof e==`object`&&!!e&&`type`in e&&f(e),expectedRunType:`profile`,screenshotWrapper:`grid`,transformData:(e,{viewOptions:t,onViewOptionsChanged:n})=>{let r=Dl(e,{pinnedColumns:t?.pinned_columns??[],onPinnedColumnsChange:e=>{n&&n({...t,pinned_columns:e})},columnsRenderMode:{distinct_proportion:`percent`,not_null_proportion:`percent`,...t?.columnsRenderMode},onColumnsRenderModeChanged:e=>{let r={...t?.columnsRenderMode??{},...e};n&&n({...t,columnsRenderMode:r})}})??{columns:[],rows:[]};return{columns:r.columns,rows:r.rows,isEmpty:r.columns.length===0}}}),Ml=$({displayName:`ProfileDiffResultView`,typeGuard:Al,expectedRunType:`profile_diff`,screenshotWrapper:`grid`,transformData:(e,{viewOptions:t,onViewOptionsChanged:n})=>{let r=t?.pinned_columns??[],i=t?.display_mode??`inline`,a=Dl(e,{pinnedColumns:r,onPinnedColumnsChange:e=>{n&&n({...t,pinned_columns:e})},displayMode:i,columnsRenderMode:{distinct_proportion:`percent`,not_null_proportion:`percent`,...t?.columnsRenderMode},onColumnsRenderModeChanged:e=>{let r={...t?.columnsRenderMode??{},...e};n&&n({...t,columnsRenderMode:r})}})??{columns:[],rows:[]},o=W(Gs,{children:W(_a,{displayMode:i,onDisplayModeChanged:e=>{n&&n({...t,display_mode:e})}})});return{columns:a.columns,rows:a.rows,header:o,isEmpty:a.columns.length===0}}});function Nl(e){return w(e)}const Pl=$({displayName:`QueryDiffResultView`,typeGuard:Nl,expectedRunType:`query_diff`,screenshotWrapper:`grid`,enableRowSelection:!0,emptyState:`No data`,transformData:(e,{viewOptions:t,onViewOptionsChanged:n})=>{let r=e.result&&`diff`in e.result&&e.result.diff!=null,i,a;e.params&&e.params.current_model&&(i=`Original`,a=`Editor`);let o=t?.changed_only??!1,s=t?.pinned_columns??[],c=t?.display_mode??`inline`,l=t?.columnsRenderMode??{},u=r?[]:t?.primary_keys??[],d=e=>{let r={...t?.columnsRenderMode??{},...e};n&&n({...t,columnsRenderMode:r})},f=r?void 0:e=>{n&&n({...t,primary_keys:e})},p=e=>{n&&n({...t,pinned_columns:e})},m;if(r&&e.result?.diff){let t=e.params?.primary_keys??[];m=Me(e.result.diff,t,{changedOnly:o,pinnedColumns:s,onPinnedColumnsChange:p,columnsRenderMode:l,onColumnsRenderModeChanged:d,baseTitle:i,currentTitle:a,displayMode:c})}else m=je(e.result?.base,e.result?.current,{changedOnly:o,pinnedColumns:s,onPinnedColumnsChange:p,columnsRenderMode:l,onColumnsRenderModeChanged:d,baseTitle:i,currentTitle:a,displayMode:c,primaryKeys:u,onPrimaryKeyChange:f});let h=[];if(!r&&u.length>0){let e=u.join(`, `);m.invalidPKeyBase&&m.invalidPKeyCurrent?h.push(`Warning: The primary key '${e}' is not unique in the base and current environments`):m.invalidPKeyBase?h.push(`Warning: The primary key '${e}' is not unique in the base environment`):m.invalidPKeyCurrent&&h.push(`Warning: The primary key '${e}' is not unique in the current environment`)}let g=r?e.result?.diff?.limit??0:e.result?.current?.limit??0,_=r?e.result?.diff?.more:e.result?.current?.more||e.result?.base?.more;if(g>0&&_&&h.push(`Warning: Displayed results are limited to ${g.toLocaleString()} records. To ensure complete data retrieval, consider applying a LIMIT or WHERE clause to constrain the result set.`),m.columns.length===0)return{isEmpty:!0};let v=G(U,{children:[W(_a,{displayMode:c,onDisplayModeChanged:e=>{n&&n({...t,display_mode:e})}}),W(ha,{changedOnly:t?.changed_only,onChange:()=>{let e=!t?.changed_only;n&&n({...t,changed_only:e})}})]});return r&&o&&m.rows.length===0?{isEmpty:!0,emptyMessage:`No change`,toolbar:v,warnings:h.length>0?h:void 0}:{columns:m.columns,rows:m.rows,warnings:h.length>0?h:void 0,toolbar:v,defaultColumnOptions:{resizable:!0,maxWidth:800,minWidth:35},noRowsMessage:`No mismatched rows`}}});function Fl(e){return p(e)||y(e)}const Il=$({displayName:`QueryResultView`,typeGuard:Fl,expectedRunType:`query`,screenshotWrapper:`grid`,enableRowSelection:!0,emptyState:`No data`,transformData:(e,{viewOptions:t,onViewOptionsChanged:n,onAddToChecklist:r})=>{let i=t?.pinned_columns??[],a=t?.columnsRenderMode??{},o=e=>{let r={...t?.columnsRenderMode??{},...e};n&&n({...t,columnsRenderMode:r})},s=e=>{n&&n({...t,pinned_columns:e})};if(!e.result)return{isEmpty:!0};let c=Se(e.result,{pinnedColumns:i,onPinnedColumnsChange:s,columnsRenderMode:a,onColumnsRenderModeChanged:o});if(c.columns.length===0)return{isEmpty:!0};let l=e.result,u=l?l.limit??0:0,d=[];u>0&&l?.more&&d.push(`Warning: Displayed results are limited to ${u.toLocaleString()} records. To ensure complete data retrieval, consider applying a LIMIT or WHERE clause to constrain the result set.`);let f=r?W(q,{sx:{my:`5px`},size:`small`,color:`iochmara`,variant:`contained`,onClick:()=>{r(e)},children:`Add to Checklist`}):void 0;return{columns:c.columns,rows:c.rows,warnings:d.length>0?d:void 0,warningStyle:`amber`,toolbar:f,defaultColumnOptions:{resizable:!0,maxWidth:800,minWidth:35}}}});function Ll(e){return b(e)}function Rl(e){return g(e)}function zl(e){if(!e.result)return null;let t=Le(e.result);return{columns:t.columns,rows:t.rows,isEmpty:t.rows.length===0}}function Bl(e,{isDark:t}){if(!e.result)return null;let n=Xe(e.result);return{columns:n.columns,rows:n.rows,isEmpty:n.rows.length===0,footer:W(Vl,{isDark:t})}}function Vl({isDark:e}){let t=N(e).direction;return W(K,{component:`ul`,"aria-label":`Row count change legend`,"data-color-axis":`neutral-direction`,sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:3,m:0,px:2,py:1,borderTop:1,borderColor:`divider`,listStyle:`none`,bgcolor:t.background,color:t.foreground,fontSize:`0.8125rem`},children:[{symbol:`↑`,label:`Increase`,direction:`increase`},{symbol:`↓`,label:`Decrease`,direction:`decrease`},{symbol:`=`,label:`No change`,direction:`equal`}].map(e=>G(K,{component:`li`,sx:{display:`inline-flex`,alignItems:`center`,gap:.75},children:[W(K,{component:`span`,"aria-hidden":`true`,"data-direction":e.direction,sx:{width:14,height:14,borderRadius:.5,bgcolor:t.background,border:`1px solid ${t.border}`}}),`${e.symbol} ${e.label}`]},e.label))})}const Hl=$({displayName:`RowCountResultView`,typeGuard:Ll,expectedRunType:`row_count`,screenshotWrapper:`grid`,transformData:zl,emptyState:`No nodes matched`}),Ul=$({displayName:`RowCountDiffResultView`,typeGuard:Rl,expectedRunType:`row_count_diff`,screenshotWrapper:`grid`,transformData:Bl,emptyState:`No nodes matched`});function Wl({params:e,onParamsChanged:t,setIsReadyToExecute:n}){let{columns:r,isLoading:i,error:a}=_d(e.model),o=r.map(e=>e.name);return z(()=>{n(!!e.column_name)},[e,n]),i?W(K,{children:`Loading...`}):o.length===0||a?W(K,{children:`Error: Please provide the 'catalog.json' to list column candidates`}):W(K,{sx:{m:`16px`},children:G(En,{fullWidth:!0,children:[W(Dn,{sx:{mb:1},children:`Pick a column to show top-k`}),G(On,{value:e.column_name,onChange:n=>{let r=n.target.value;t({...e,column_name:r})},children:[W(`option`,{value:``,children:`Select column`}),o.map(e=>W(`option`,{value:e,className:`no-track-pii-safe`,children:e},e))]})]})})}function Gl(e){return _(e)}function Kl({model:e,columnName:t}){let n=F();return G(Y,{variant:`h5`,sx:{pt:4,textAlign:`center`,color:n?`grey.200`:`grey.600`},children:[`Model `,e,`.`,t]})}function ql({showAll:e,onToggle:t}){return W(K,{sx:{display:`flex`,p:5,justifyContent:`start`},children:W(St,{component:`button`,onClick:t,sx:{color:`iochmara.main`,cursor:`pointer`},children:e?`View Only Top-10`:`View More Items`})})}function Jl(e,{viewOptions:t,onViewOptionsChanged:n,isDark:r}){let i=e.result,a=e.params;if(!i)return{isEmpty:!0};let o=i.base,s=i.current,c=t?.show_all??!1,l=!c,u=o.values.length>10||s.values.length>10?W(ql,{showAll:c,onToggle:()=>{n&&n({...t,show_all:!c})}}):void 0;return{content:G(U,{children:[W(Kl,{model:a.model,columnName:a.column_name}),G(J,{direction:`row`,sx:{alignItems:`center`},children:[W(K,{sx:{flex:1}}),W(yc,{baseData:o,currentData:s,showComparison:!0,maxItems:l?10:void 0,theme:r?`dark`:`light`}),W(K,{sx:{flex:1}})]})]}),footer:u}}const Yl=$({displayName:`TopKDiffResultView`,typeGuard:Gl,expectedRunType:`top_k_diff`,screenshotWrapper:`box`,emptyState:`No data`,transformData:Jl});function Xl(e){return T(e)}const Zl=$({displayName:`ValueDiffDetailResultView`,typeGuard:Xl,expectedRunType:`value_diff_detail`,screenshotWrapper:`grid`,emptyState:`No data`,transformData:(e,{viewOptions:t,onViewOptionsChanged:n})=>{let r=t?.changed_only??!1,i=t?.pinned_columns??[],a=t?.display_mode??`inline`,o=t?.columnsRenderMode??{},s=e.params?.primary_key;if(!s||!e.result)return{isEmpty:!0};let c=Array.isArray(s)?s:[s],l=Me(e.result,c,{changedOnly:r,pinnedColumns:i,onPinnedColumnsChange:e=>{n&&n({...t,pinned_columns:e})},columnsRenderMode:o,onColumnsRenderModeChanged:e=>{let r={...t?.columnsRenderMode??{},...e};n&&n({...t,columnsRenderMode:r})},displayMode:a});if(l.columns.length===0)return{isEmpty:!0};let u=e.result?.limit??0,d=[];u>0&&e.result?.more&&d.push(`Warning: Displayed results are limited to ${u.toLocaleString()} records. To ensure complete data retrieval, consider applying a LIMIT or WHERE clause to constrain the result set.`);let f=G(U,{children:[W(_a,{displayMode:a,onDisplayModeChanged:e=>{n&&n({...t,display_mode:e})}}),W(ha,{changedOnly:t?.changed_only,onChange:()=>{let e=!t?.changed_only;n&&n({...t,changed_only:e})}})]});return r&&l.rows.length===0?{isEmpty:!0,emptyMessage:`No change`,toolbar:f,warnings:d.length>0?d:void 0,warningStyle:`amber`}:{columns:l.columns,rows:l.rows,warnings:d.length>0?d:void 0,warningStyle:`amber`,toolbar:f,defaultColumnOptions:{resizable:!0,maxWidth:800,minWidth:35},noRowsMessage:`No mismatched rows`}}});function Ql({params:e,onParamsChanged:t,setIsReadyToExecute:n}){let[r,i]=H(!e.columns||e.columns.length===0),a=e.model,o=e.primary_key,{columns:s,primaryKey:c,isLoading:l,error:u}=_d(e.model);z(()=>{!o&&c&&t({...e,primary_key:c})},[o,c,e,t]),z(()=>{n(!!(o&&a))},[o,a,n]);let d=s.map(e=>e.name),f=Array.isArray(o)?o:o?[o]:void 0;return l?W(K,{children:`Loading...`}):d.length===0||u?W(K,{children:`Error: Please provide the 'catalog.json' to list column candidates`}):G(J,{spacing:5,sx:{m:`8px 24px`,pb:`200px`},children:[G(K,{children:[W(Y,{variant:`body2`,sx:{mb:1},children:`Model`}),W(An,{fullWidth:!0,size:`small`,value:e.model,slotProps:{input:{readOnly:!0}}})]}),G(K,{children:[W(Y,{variant:`body2`,sx:{mb:1},children:`Primary key`}),W(Or,{multiple:!0,size:`small`,disableCloseOnSelect:!0,options:d,value:(f??[]).filter(e=>e!==void 0),onChange:(n,r)=>{t({...e,primary_key:r.length===1?r[0]:r})},renderInput:e=>W(An,{...e,placeholder:(f??[]).length===0?`Select primary key`:``,className:`no-track-pii-safe`})})]}),G(K,{children:[W(Y,{variant:`body2`,sx:{mb:1},children:`Columns`}),W(hn,{control:W(mn,{checked:r,onChange:n=>{i(n.target.checked),t({...e,columns:void 0})},size:`small`}),label:`All columns`,sx:{mb:`10px`}}),!r&&W(Or,{multiple:!0,size:`small`,disableCloseOnSelect:!0,options:d,value:e.columns??[],onChange:(n,r)=>{t({...e,columns:r.length===0?void 0:r})},renderInput:t=>W(An,{...t,placeholder:(e.columns??[]).length===0?`Select columns`:``,className:`no-track-pii-safe`})})]})]})}function $l(e){return D(e)}function eu({params:e,summary:t}){let n=t.total-t.added-t.removed;return G(K,{sx:{px:`16px`,pt:`5px`,pb:`5px`},children:[`Model: `,e.model,`, `,t.total,` total (`,n,` common,`,` `,t.added,` added, `,t.removed,` removed)`]})}function tu(e){if(!e.result||!e.params)return{renderNull:!0};let t=ml(e.result,{params:e.params});return t?{columns:t.columns,rows:t.rows,isEmpty:!1,header:W(eu,{params:e.params,summary:e.result.summary})}:{renderNull:!0}}const nu=$({displayName:`ValueDiffResultView`,typeGuard:$l,expectedRunType:`value_diff`,screenshotWrapper:`grid`,transformData:tu}),ru={lineage_diff:{title:`Lineage Diff`,icon:Cr},schema_diff:{title:`Schema Diff`,icon:xr},query:{title:`Query`,icon:Dr,RunResultView:Il},query_base:{title:`Query Base`,icon:Dr,RunResultView:Il},query_diff:{title:`Query Diff`,icon:Dr,RunResultView:Pl},row_count:{title:`Row Count`,icon:br,RunResultView:Hl},row_count_diff:{title:`Row Count Diff`,icon:br,RunResultView:Ul},profile:{title:`Profile`,icon:Er,RunResultView:jl,RunForm:kl},profile_diff:{title:`Profile Diff`,icon:Er,RunResultView:Ml,RunForm:kl},value_diff:{title:`Value Diff`,icon:Sr,RunResultView:nu,RunForm:Ql},value_diff_detail:{title:`Value Diff Detail`,icon:Sr,RunResultView:Zl,RunForm:Ql},top_k_diff:{title:`Top-K Diff`,icon:Ct,RunResultView:Yl,RunForm:Wl},histogram_diff:{title:`Histogram Diff`,icon:wr,RunResultView:qc,RunForm:Ya},simple:{title:`Simple`,icon:Tr}};function iu(e){return ru[e]}const au=ru;function ou(e){let t={...ru};for(let[n,r]of Object.entries(e))r&&n in t&&(t[n]={...t[n],...r});return t}function su(e){return t=>e[t]}function cu(e){return{id:e.run_id,name:e.name,type:e.type,status:e.status??`Finished`,runAt:e.run_at,checkId:e.check_id}}function lu(){let{closeHistory:t,showRunId:n,runId:r}=M(),{featureToggles:i}=ie(),{apiClient:o}=rs(),s=yr(),c=dt(),{basePath:l}=ae(),{data:u,isLoading:d}=ut({queryKey:k.runs(),queryFn:async()=>await e(o),retry:!1}),f=B(()=>(u??[]).map(cu),[u]),p=R(e=>{ot({name:`click_run`}),n(e,!1)},[n]),m=R(async e=>{ot({name:`add_to_checklist`});let t=await a(e,void 0,o);await c.invalidateQueries({queryKey:k.checks()}),s.push(`${l}/checks/?id=${t.check_id}`)},[o,c,s.push,l]),h=R(e=>{ot({name:`go_to_check`}),s.push(`${l}/checks/?id=${e}`)},[s.push,l]),g=R(()=>{ot({name:`hide`}),t()},[t]),_=R(e=>{let t=iu(e)?.icon;return t?W(t,{}):null},[]),v=W(X,{"aria-label":`Close History`,onClick:g,children:W(an,{})});return W(zs,{runs:f,selectedId:r,isLoading:d,onRunSelect:p,onAddToChecklist:m,onGoToCheck:h,getRunIcon:_,hideAddToChecklist:i.disableUpdateChecklist&&!i.checklistPermissionDenied,disableAddToChecklist:i.checklistPermissionDenied,title:`History`,headerActions:v,emptyMessage:`No runs`,loadingMessage:`Loading...`,groupByDate:!0,addToChecklistIcon:W(Lt,{}),goToCheckIcon:W(It,{color:`green`})})}const uu=({size:e=16})=>G(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,children:[W(`circle`,{cx:`12`,cy:`12`,r:`10`}),W(`path`,{d:`M12 16v-4`}),W(`path`,{d:`M12 8h.01`})]});function du({isOpen:e,onClose:t,onExecute:n,type:r,title:i,params:a,RunForm:o,submitOnSelection:s=!1,onCancel:c,onExecuteClick:l,documentationUrl:u,InfoIcon:d=uu}){let[f,p]=H(a??{}),[m,h]=H(null),[g,_]=H(!1),v=V(!1),y=()=>{v.current||c?.(),v.current=!1,t()},b=e=>{v.current=!0,l?.(),n(r,e)};return G(vt,{open:e,onClose:y,maxWidth:`sm`,fullWidth:!0,scroll:`paper`,slotProps:{paper:{sx:{height:`75%`,minHeight:`400px`}}},children:[G(xt,{sx:{display:`flex`,alignItems:`center`},children:[i,` `,u&&G(U,{children:[W(X,{size:`small`,"aria-label":`Click this button to learn more about the SQL behind`,onMouseEnter:e=>h(e.currentTarget),onMouseLeave:()=>h(null),onClick:()=>window.open(u,`_blank`),children:W(K,{component:d,sx:{fontSize:`16px`}})}),W(Xn,{open:!!m,anchorEl:m,onClose:()=>h(null),anchorOrigin:{vertical:`bottom`,horizontal:`right`},transformOrigin:{vertical:`top`,horizontal:`right`},disableRestoreFocus:!0,sx:{pointerEvents:`none`},slotProps:{paper:{sx:{bgcolor:`black`,color:`white`,p:1}}},children:G(Y,{sx:{fontSize:`0.875rem`},children:[`Click`,` `,W(St,{href:u,target:`_blank`,sx:{textDecoration:`underline`,color:`white`,"&:hover":{color:`iochmara.300`}},children:`here`}),` `,`to learn more about the SQL behind`]})})]})]}),W(X,{"aria-label":`close`,onClick:y,sx:{position:`absolute`,right:8,top:8,color:`grey.500`},children:W(Nt,{})}),W(bt,{sx:{p:0,overflow:`auto`,borderTop:`1px solid`,borderBottom:`1px solid`,borderColor:`divider`},children:W(K,{sx:{contain:`layout`},children:o&&W(o,{params:f,onParamsChanged:p,setIsReadyToExecute:_,onSubmitRequested:s?b:void 0})})}),W(yt,{children:W(J,{direction:`row`,spacing:`10px`,children:W(q,{disabled:!g,color:`iochmara`,variant:`contained`,onClick:()=>b(f),children:`Execute`})})})]})}const fu=e=>({value_diff:`https://docs.reccehq.com/features/lineage/#value-diff`,profile_diff:`https://docs.reccehq.com/features/lineage/#profile-diff`,histogram_diff:`https://docs.reccehq.com/features/lineage/#histogram-diff`,top_k_diff:`https://docs.reccehq.com/features/lineage/#top-k-diff`})[e]||null;function pu({isOpen:e,onClose:t,onExecute:n,type:r,title:i,params:a,initialRun:o,RunForm:s,submitOnSelection:c}){return W(du,{isOpen:e,onClose:t,onExecute:n,type:r,title:i,params:a,initialRun:o,RunForm:s,submitOnSelection:c,onCancel:()=>{rt(r)&&at({action:r,event:nt.CANCEL})},onExecuteClick:()=>{rt(r)&&at({action:r,event:nt.EXECUTE})},documentationUrl:fu(r),InfoIcon:Yt})}const mu=mt(function({isRunning:e,runId:t,progress:n,error:r,run:i,onCancel:a,viewOptions:o,onViewOptionsChanged:s,RunResultView:c,children:l,ErrorBoundary:u,errorBoundaryFallback:d},f){let p=F(),m=ws(),h=r?.response?.data?.detail??i?.error,g=i?.run_id??t,_=g!=null&&m.has(g),v=i?.status===`Cancelled`||_;if(h)return G(vn,{severity:`error`,sx:p?{bgcolor:`error.dark`,color:`common.white`,"& .MuiAlert-icon":{color:`common.white`}}:void 0,children:[`Error: `,W(`span`,{className:`no-track-pii-safe`,children:h})]});if(v)return W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,p:`1rem`,height:`100%`,bgcolor:p?`grey.900`:`grey.50`},children:W(J,{spacing:1,sx:{alignItems:`center`},children:W(Y,{children:`Cancelled`})})});if((e||i?.status===`Running`)&&!_){let e=`Loading...`;n?.message?e=n.message:i?.progress?.message&&(e=i.progress.message);let t=n?.percentage==null?void 0:n.percentage*100;return W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,p:`1rem`,height:`100%`,bgcolor:p?`grey.900`:`grey.50`},children:G(J,{spacing:2,sx:{alignItems:`center`},children:[G(J,{direction:`row`,spacing:1,sx:{alignItems:`center`},children:[t==null?W(Ft,{size:32}):G(K,{sx:{position:`relative`,display:`inline-flex`},children:[W(Ft,{variant:`determinate`,value:t,size:32}),W(K,{sx:{top:0,left:0,bottom:0,right:0,position:`absolute`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:W(Y,{variant:`caption`,component:`div`,sx:{fontSize:`0.6rem`},children:`${Math.round(t)}%`})})]}),W(Y,{className:`no-track-pii-safe`,children:e})]}),W(q,{variant:`contained`,onClick:a,size:`small`,children:`Cancel`})]})})}if(!i)return W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,bgcolor:p?`grey.900`:`grey.50`,height:`100%`},children:W(Ft,{size:32})});if(l&&c)throw Error(`RunView requires either a children or a RunResultView prop, but not both.`);if(!l&&!c)throw Error(`RunView requires at least one of children or RunResultView prop.`);return W(K,{sx:{height:`100%`,contain:`layout`,overflow:`auto`,bgcolor:p?`grey.900`:`grey.50`},className:`no-track-pii-safe`,children:(()=>{let e=c&&(i.error??i.result)?W(c,{ref:f,run:i,viewOptions:o,onViewOptionsChanged:s}):null,t=l?.({run:i,viewOptions:o,onViewOptionsChanged:s});return u&&e?G(U,{children:[W(u,{fallback:d,children:e}),t]}):G(U,{children:[e,t]})})()})});mu.displayName=`RunView`;const hu=L(({type:e,params:t})=>{let n=F(),r=Ln.stringify({type:e,params:t},null,2);return W(Qo,{value:r,language:`yaml`,readOnly:!0,lineNumbers:!1,wordWrap:!0,fontSize:14,height:`100%`,theme:n?`dark`:`light`,className:`no-track-pii-safe`})});hu.displayName=`ParamView`;function gu(e,t){return t!=null&&t>0?`${e} (${Ce(t)})`:e}const _u=L(({open:e,rowCount:t,onContinue:n,onCancel:r})=>G(vt,{open:e,onClose:r,children:[W(xt,{children:`Large Export Warning`}),W(bt,{children:G(kr,{children:[`You are about to download `,W(`strong`,{children:Ce(t)}),`. This may take a while and produce a large file. Are you sure you want to continue?`]})}),G(yt,{children:[W(q,{onClick:r,children:`Cancel`}),W(q,{onClick:n,variant:`contained`,children:`Continue`})]})]}));_u.displayName=`LargeExportWarningDialog`;const vu=L(({disableExport:e,onCopyAsImage:t,onMouseEnter:n,onMouseLeave:r,csvExport:i,label:a=`Export`})=>{let[o,s]=H(null),c=!!o,[l,u]=H(!1),[d,f]=H(null),p=i?.totalRowCount??0,m=p>1e5,h=e=>{s(e.currentTarget)},g=()=>{s(null)},_=e=>{m?(f(()=>e),u(!0)):(e(),g())};return G(U,{children:[W(q,{size:`small`,variant:`outlined`,color:`neutral`,onClick:h,endIcon:W(zt,{}),sx:{textTransform:`none`},children:a}),G(bn,{anchorEl:o,open:c,onClose:g,children:[G(Q,{onClick:async()=>{await t(),g()},onMouseEnter:n,onMouseLeave:r,disabled:e,children:[W(Ar,{children:W(Jt,{})}),W(jr,{children:`Copy as Image`})]}),G(Q,{onClick:async()=>{await i?.copyAsTSV?.(),g()},disabled:e||!i?.canExportCSV,children:[W(Ar,{children:W(Wt,{})}),W(jr,{children:`Copy as Text`})]}),G(Q,{onClick:async()=>{await i?.copyAsCSV(),g()},disabled:e||!i?.canExportCSV,children:[W(Ar,{children:W(tn,{})}),W(jr,{children:`Copy as CSV`})]}),i?.copySelectedRows&&G(Q,{onClick:async()=>{await i.copySelectedRows?.(),g()},disabled:e,children:[W(Ar,{children:W(en,{})}),W(jr,{children:`Copy Selected Rows`})]}),G(Q,{onClick:()=>_(()=>i?.downloadAsCSV()),disabled:e||!i?.canExportCSV,children:[W(Ar,{children:W(qt,{})}),W(jr,{children:gu(`Download as CSV`,i?.totalRowCount)})]}),G(Q,{onClick:()=>_(()=>i?.downloadAsTSV?.()),disabled:e||!i?.canExportCSV,children:[W(Ar,{children:W(qt,{})}),W(jr,{children:gu(`Download as TSV`,i?.totalRowCount)})]}),i?.downloadAsExcel&&G(Q,{onClick:()=>_(()=>i?.downloadAsExcel?.()),disabled:e||!i?.canExportCSV,children:[W(Ar,{children:W(qt,{})}),W(jr,{children:gu(`Download as Excel`,i?.totalRowCount)})]})]}),W(_u,{open:l,rowCount:p,onContinue:()=>{u(!1),d?.(),f(null),g()},onCancel:()=>{u(!1),f(null)}})]})});vu.displayName=`DefaultExportMenu`;const yu=L(({runId:e,run:t,disableUpdateChecklist:n,checklistPermissionDenied:r,hasError:i,onGoToCheck:a,onAddToChecklist:o})=>{let s=ws();if(e&&s.has(e))return null;let c=t?.check_id,l=!e||!t?.result||i;return n&&!r?null:c?W(q,{disabled:l,size:`small`,variant:`contained`,onClick:()=>a?.(c),startIcon:W(Vt,{}),sx:{textTransform:`none`},children:`Go to Check`}):W(Z,{title:r?`You don't have permission to add checks`:``,children:W(`span`,{children:W(q,{disabled:l||r,size:`small`,variant:`contained`,onClick:o,startIcon:W(Vt,{}),sx:{textTransform:`none`},children:`Add to Checklist`})})})});yu.displayName=`DefaultAddToCheckButton`;const bu=L(({run:e})=>{let t=ws(),{color:n,label:r}=Es(e.run_id&&t.has(e.run_id)?`Cancelled`:Ts(e)),i=e.run_at?Mn(new Date(e.run_at),{addSuffix:!0}):`Unknown time`;return G(Y,{variant:`body2`,sx:{color:`text.secondary`},children:[W(K,{component:`span`,sx:{fontWeight:600,color:n},children:r}),`・`,i]})});bu.displayName=`RunStatusAndDateDisplay`;function xu({runId:e,run:t,isRunning:n,error:r,viewOptions:i,onViewOptionsChanged:a,isSingleEnvironment:o,disableDatabaseQuery:s,disableShare:c,disableUpdateChecklist:l,checklistPermissionDenied:u,onClose:d,onCancel:f,onRerun:p,onCopyAsImage:m,onCopyMouseEnter:h,onCopyMouseLeave:g,csvExport:_,onTrackCopyToClipboard:v,onGoToCheck:y,onAddToChecklist:b,SingleEnvironmentNotification:x,SqlEditorComponent:S,DualSqlEditorComponent:C,RunResultView:w,resultViewRef:T,children:E}){let D=F(),O=ws(),k=e?O.has(e):!1,[A,ee]=H(`result`),[te,ne]=H(!0),re=t?.type===`query`||t?.type===`query_diff`||t?.type===`query_base`,ie=!e||!t?.result||!!r||A!==`result`||k,ae=R(async()=>{await m?.(),v&&v(t?.type??`unknown`,`run`)},[m,v,t?.type]),oe=t?.type===`query_diff`,j=t?.params;return G(K,{sx:{display:`flex`,flexDirection:`column`,height:`100%`,bgcolor:D?`grey.900`:`grey.50`},children:[o&&te&&x&&W(x,{runType:t?.type,onClose:()=>ne(!1)}),G(K,{sx:{display:`flex`,alignItems:`center`,borderBottom:1,borderColor:`divider`,mb:`1px`},children:[G(Pn,{value:A,onChange:(e,t)=>ee(t),children:[W(Nn,{label:`Result`,value:`result`}),W(Nn,{label:`Params`,value:`params`}),re&&W(Nn,{label:`Query`,value:`query`})]}),W(K,{sx:{flexGrow:1}}),G(J,{direction:`row`,spacing:1,sx:{alignItems:`center`,overflow:`hidden`,pr:1},children:[t&&W(bu,{run:t}),W(q,{variant:`outlined`,color:`neutral`,disabled:!e||n||s,size:`small`,onClick:p,startIcon:W($t,{}),sx:{textTransform:`none`},children:`Rerun`}),W(vu,{run:t,disableExport:ie,onCopyAsImage:ae,onMouseEnter:h,onMouseLeave:g,csvExport:_,label:c?`Export`:`Share`}),W(yu,{runId:e,run:t,disableUpdateChecklist:l,checklistPermissionDenied:u,hasError:!!r,onGoToCheck:y,onAddToChecklist:b}),W(X,{size:`small`,onClick:d,children:W(Nt,{})})]})]}),A===`result`&&(w||E)&&W(mu,{ref:T,runId:e,isRunning:n,error:r,run:t,onCancel:f,viewOptions:i,onViewOptionsChanged:a,RunResultView:w,children:E}),A===`params`&&t&&W(hu,{type:t.type,params:t.params}),A===`query`&&t&&re&&j?.sql_template&&W(U,{children:oe&&C?W(C,{value:j.sql_template,baseValue:j.base_sql_template,readOnly:!0}):S?W(S,{value:j.sql_template,readOnly:!0}):W(Qo,{value:j.sql_template,language:`sql`,readOnly:!0,theme:`dark`,height:`100%`})})]})}const Su=L(xu);Su.displayName=`RunResultPane`;function Cu(e){let t=e.getSelectedNodes();if(t.length===0)return null;let n=e.getAllDisplayedColumns().filter(e=>e.getColId()!==`ag-Grid-SelectionColumn`);if(n.length===0)return null;let r=n.map(e=>{let t=e.getColDef();return String(t.headerName??t.field??e.getColId())}),i=t.map(t=>n.map(n=>e.getCellValue({rowNode:t,colKey:n,useFormatter:!0})??``));return He(r,i)}const wu=e=>G(K,{sx:{display:`flex`,flex:1,minHeight:`48px`,m:`4px`,px:`16px`,py:`12px`,bgcolor:`primary.50`,border:`1px solid`,borderRadius:`4px`,borderColor:`primary.400`,alignItems:e.align??`center`,gap:`12px`},children:[W(K,{component:Mr,sx:{width:`20px`,height:`20px`,color:`primary.900`}}),e.children,W(K,{sx:{flexGrow:1}}),W(X,{size:`small`,onClick:e.onClose,children:W(Nt,{})})]}),Tu=()=>G(St,{href:`https://docs.reccehq.com/get-started/#prepare-dbt-artifacts`,target:`_blank`,sx:{color:`primary.main`,fontWeight:`bold`,textDecoration:`underline`,display:`inline-flex`,alignItems:`center`,gap:.5},children:[`Learn how `,W(wt,{})]});function Eu({value:e,onChange:t,onRun:n,onRunBase:r,onRunDiff:i,label:a,CustomEditor:o,options:s={},manifestData:c,schemas:l,...u}){let{featureToggles:d}=ie(),f=F(),p=e=>{t&&t(e)},m=``;c&&(m=c.generated_at?Ge(c.generated_at):``);let h=B(()=>{let e=[];return n&&e.push({key:`Mod-Enter`,run:()=>(n(),!0)}),r&&e.push({key:`Alt-Enter`,run:()=>(r(),!0)}),i&&e.push({key:`Mod-Shift-Enter`,run:()=>(i(),!0)}),e},[n,r,i]);return G(U,{children:[(a??n??r)&&G(J,{direction:`row`,sx:{bgcolor:Dt(f?P.neutral[600]:P.neutral[200],.7),height:`40px`,minHeight:`40px`,fontSize:`14px`,alignItems:`center`,m:0,p:`0px 16px`,flex:`0 0 40px`},children:[W(Y,{component:`strong`,sx:{fontWeight:`bold`},className:`no-track-pii-safe`,children:a?a.toUpperCase():``}),c&&G(`span`,{className:`ml-1`,children:[`(`,l&&G(`span`,{className:`no-track-pii-safe`,children:[l,`, `]}),W(`span`,{children:m}),`)`]}),W(K,{sx:{flexGrow:1}}),(n??r)&&W(q,{size:`xsmall`,variant:`outlined`,onClick:n??r,sx:{bgcolor:`background.paper`,p:`6px 12px`},disabled:d.disableDatabaseQuery,startIcon:W(Nr,{}),children:`Run Query`})]}),o??W(Qo,{value:e,onChange:p,language:`sql`,readOnly:s.readOnly??!1,lineNumbers:s.lineNumbers!==`off`,wordWrap:s.wordWrap!==`off`,fontSize:s.fontSize??16,keyBindings:h,theme:f?`dark`:`light`,className:`no-track-pii-safe max-h-dvh h-full`})]})}function Du({value:e,baseValue:t,onChange:n,onChangeBase:r,onRun:i,onRunBase:a,onRunDiff:o,options:s={},labels:c,SetupGuide:l,...u}){let d=c?c[0]:`Base`,f=c?c[1]:`Current`,{envInfo:p,lineageGraph:m}=fe(),h,g;p?.dbt?.base&&p.dbt.current&&(h=p.dbt.base,g=p.dbt.current);let[_,v]=Ue(m);return W(U,{children:G(J,{direction:`row`,sx:{height:`100%`,gap:0},children:[W(J,{sx:{height:`100%`,width:`50%`,gap:0,borderRight:`1px solid`,borderRightColor:`divider`},children:W(Eu,{label:d,value:t??``,onChange:r,onRunBase:a,options:s,CustomEditor:l,manifestData:h??void 0,schemas:Array.from(_).join(`, `),...u})}),W(J,{sx:{height:`100%`,width:`50%`,gap:0},children:W(Eu,{label:f,value:e,onChange:n,onRun:i,options:s,manifestData:g??void 0,schemas:Array.from(v).join(`, `),...u})})]})})}const Ou=({runType:e,onClose:t})=>{switch(e){case`row_count`:return W(wu,{onClose:t,children:G(Y,{children:[`Enable row count diffing, and other Recce features, by configuring a base dbt environment to compare against. `,W(Tu,{})]})});case`profile`:return W(wu,{onClose:t,children:G(Y,{children:[`Enable data-profile diffing, and other Recce features, by configuring a base dbt environment to compare against.`,` `,W(Tu,{})]})});default:return null}},ku=({value:e,readOnly:t})=>W(Eu,{value:e,options:{readOnly:t}}),Au=({value:e,baseValue:t,readOnly:n})=>W(Du,{value:e,baseValue:t,options:{readOnly:n}}),ju=({runId:e,onClose:t,isSingleEnvironment:n})=>{let{featureToggles:r}=ie(),{runAction:i}=M(),{error:o,run:s,onCancel:c,isRunning:l}=vd(e),[u,f]=H(),p=dt(),m=yr(),{apiClient:h}=rs(),{basePath:g}=ae(),_;s&&d(s.type)&&(_=iu(s.type).RunResultView);let{ref:v,onCopyToClipboard:y,onMouseEnter:b,onMouseLeave:x}=sd(),S=fd({run:s,runId:e,viewOptions:u}),C=!!s?.type&&[`query`,`query_base`,`query_diff`].includes(s.type),w=R(async()=>{let e=v.current?.api;if(!e)return;let t=Cu(e);if(!t){I.create({title:`No rows selected`,description:`Select rows with the checkboxes, then copy.`,type:`info`,duration:3e3});return}try{await De(t),I.create({title:`Copied to clipboard`,description:`Selected rows copied — paste into any spreadsheet`,type:`success`,duration:2e3}),it({type:s?.type??`unknown`,from:`run-selection`})}catch(e){console.error(`Failed to copy selected rows:`,e),I.create({title:`Copy failed`,description:`Failed to copy to clipboard`,type:`error`,duration:3e3})}},[v,s?.type]),T=R(()=>{s&&i(s.type,s.params)},[s,i]),E=R(async()=>{await y(),it({type:s?.type??`unknown`,from:`run`})},[y,s?.type]),D=R(e=>{m.push(`${g}/checks/?id=${e}`)},[m.push,g]),O=R(async()=>{if(e)try{let t=await a(e,u,h);await p.invalidateQueries({queryKey:k.checks()}),m.push(`${g}/checks/?id=${t.check_id}`)}catch(e){ne(e)&&e.status===403?I.error({title:`Permission denied`,description:`You don't have permission to add checks. Contact your org admin for access.`}):I.error({title:`Failed to create check`,description:e instanceof Error?e.message:`An unexpected error occurred`})}},[e,u,h,p,m.push,g]);return W(Su,{runId:e,run:s,isRunning:l,error:o,viewOptions:u,onViewOptionsChanged:f,isSingleEnvironment:n,disableDatabaseQuery:r.disableDatabaseQuery,disableShare:r.disableShare,disableUpdateChecklist:r.disableUpdateChecklist,checklistPermissionDenied:r.checklistPermissionDenied,onClose:t,onCancel:c,onRerun:T,onCopyAsImage:E,onCopyMouseEnter:b,onCopyMouseLeave:x,csvExport:{...S,copySelectedRows:C?w:void 0},onGoToCheck:D,onAddToChecklist:O,SingleEnvironmentNotification:Ou,SqlEditorComponent:ku,DualSqlEditorComponent:Au,RunResultView:_,resultViewRef:v})},Mu=({onClose:e,isSingleEnvironment:t})=>{let{runId:n}=M();return W(ju,{runId:n,onClose:e,isSingleEnvironment:t})};function Nu({error:e,resetError:t}){let{background:n,text:r}=yd();return W(K,{sx:{height:`100%`,bgcolor:n.subtle,display:`flex`,alignItems:`center`,justifyContent:`center`},children:G(K,{sx:{p:4,display:`flex`,flexDirection:`column`,justifyContent:`flex-start`,bgcolor:`background.paper`,border:`solid 1px`,borderColor:`divider`,minHeight:`200px`},children:[W(Y,{variant:`h6`,sx:{width:`800px`},children:`You have encountered an error`}),W(K,{sx:{flex:1,fontSize:`10pt`,color:r.secondary},children:String(e)}),W(q,{sx:{justifySelf:`center`,alignSelf:`center`,mt:`20px`},color:`iochmara`,variant:`contained`,size:`small`,onClick:t,children:`Reset`})]})})}const Pu=e=>W(Nu,{error:e.error,resetError:e.resetError}),Fu=({children:e,fallback:t=Pu})=>W(Pr,{fallback:t,children:e}),Iu=mt(function(e,t){let n={...e,ErrorBoundary:Fu,errorBoundaryFallback:ct};return W(mu,{...n,ref:t})});Iu.displayName=`RunViewOss`;const Lu={mode:`per_node`,status:`pending`,completed:0,total:0,actions:{}},Ru=(e,t)=>{let{onActionStarted:n,onActionNodeUpdated:r,onActionCompleted:i,onTrackAction:a,trackingSource:o=`lineage_view_top_bar`}=t,c=A(),u=V({...Lu}).current,d=ws(),{showRunId:f}=M(),p=async(t,a,o)=>{u.mode=`multi_nodes`,u.actions={};let s=u.mode,l=u.actions;n(),u.status=`running`;let d=[];for(let t of e){let e=a(t);e?(l[t.id]={mode:s,status:`skipped`,skipReason:e},r(t)):(l[t.id]={mode:s,status:`pending`},d.push(t))}let p=o(d);try{let{run_id:e}=await C(t,p,{nowait:!0},c);for(f(e),u.currentRun={run_id:e},u.total=1;;){let t=await x(e,2,c);u.currentRun=t;let n=t.error?`failure`:t.result?`success`:`running`;for(let e of d)l[e.id]={mode:s,status:n,run:t},r(e);if(t.error||t.result)break}}catch{}if(u.completed=1,u.status===`canceling`){u.status=`canceled`,i();return}u.status=`completed`,i()},m=async(t,a)=>{u.mode=`per_node`,u.actions={};let o=u.mode,s=u.actions;n(),u.status=`running`;for(let t of e)s[t.id]={mode:o,status:`pending`},r(t);u.completed=0,u.total=e.length;for(let n of e){let{params:e,skipReason:l}=a(n);if(l)s[n.id]={mode:o,status:`skipped`,skipReason:l},r(n);else try{let{run_id:i}=await C(t,e,{nowait:!0},c);for(u.currentRun={run_id:i},s[n.id]={mode:o,status:`running`},r(n);;){let e=await x(i,2,c);u.currentRun=e;let t=e.error?`failure`:e.result?`success`:`running`;if(s[n.id]={mode:o,status:t,run:e},r(n),e.error||e.result)break}}catch{}finally{u.currentRun=void 0}if(u.completed++,u.status===`canceling`){u.status=`canceled`,i();return}}u.status=`completed`,i()};return{actionState:u,runRowCount:async()=>{a?.({action:`row_count`,source:o,node_count:e.length});for(let t of e)t.data.resourceType!==`model`&&(u.actions[t.id]={mode:`multi_nodes`,status:`skipped`,skipReason:`Not a model`},r(t));await p(`row_count`,e=>{if(e.data.resourceType!==`model`)return`Not a model`},e=>({node_names:e.map(e=>e.data.name)}))},runRowCountDiff:async()=>{a?.({action:`row_count_diff`,source:o,node_count:e.length});for(let t of e)t.data.resourceType!==`model`&&(u.actions[t.id]={mode:`multi_nodes`,status:`skipped`,skipReason:`Not a model`},r(t));await p(`row_count_diff`,e=>{if(e.data.resourceType!==`model`)return`Not a model`},e=>({node_names:e.map(e=>e.data.name)}))},runValueDiff:async()=>{a?.({action:`value_diff`,source:o,node_count:e.length}),await m(`value_diff`,e=>({skipReason:`No primary key found. The first unique column is used as primary key.`}))},addLineageDiffCheck:async()=>{let t=e.map(e=>e.id);return await s({node_ids:t},c)},addSchemaDiffCheck:async()=>{let t;if(e.length===1)t=await v({node_id:e[0].id},c);else{let n=e.map(e=>e.id);t=await v({node_id:n},c)}return t},cancel:()=>{u.status=`canceling`;let e=u.currentRun?.run_id;return e&&(d.add(e),l(e,c)),Promise.resolve()},reset:()=>{Object.assign(u,Lu)}}};function zu({connect:e,idleSeconds:t}){return G(U,{children:[W(xt,{children:`Server Disconnected`}),W(bt,{children:t!=null&&t>0?G(Y,{children:[`The server has been idle for `,Ke(t),` and was automatically stopped. Please restart the Recce server to continue.`]}):W(Y,{children:`The server connection has been lost. Please restart the Recce server and try again.`})}),W(yt,{children:W(q,{color:`iochmara`,variant:`contained`,onClick:()=>{e()},children:`Retry`})})]})}function Bu({shareUrl:e,mode:t,supportCalendarUrl:n,LinkComponent:r}){let i={"read only":{title:`Share Instance Expired`,body:`This Share Instance has expired. Please restart the share instance.`,action:`Restart`,link:e},"metadata only":{title:`Preview Instance Expired`,body:`This Preview Instance has expired. To browse more, please book a meeting with us.`,action:`Contact us`,link:n}}[t],a=W(q,{color:`iochmara`,variant:`contained`,children:i.action});return G(U,{children:[W(xt,{children:i.title}),W(bt,{children:W(Y,{children:i.body})}),W(yt,{children:t===`read only`?W(r||`a`,{href:i.link,children:a}):W(q,{color:`iochmara`,variant:`contained`,onClick:()=>window.open(i.link,`_blank`),children:i.action})})]})}function Vu(e){let{apiClient:t}=rs();return ut({queryKey:k.lineage(),queryFn:()=>E(t),...e})}function Hu({enabled:e=!0,baseUrl:t,apiPrefix:n}={}){let[r,i]=H(void 0),a=V({ws:void 0,status:`pending`,artifactsUpdatedToastId:void 0}),[o,s]=H(e?`pending`:`connected`),[c,l]=H(void 0);z(()=>{a.current.status=o},[o]),z(()=>{a.current.artifactsUpdatedToastId=r},[r]);let u=dt(),d=R(()=>{u.invalidateQueries({queryKey:k.lineage()}),u.invalidateQueries({queryKey:k.checks()}),u.invalidateQueries({queryKey:k.runs()})},[u]),f=R(()=>{function e(e){return e.replace(/(http)(s)?:\/\//,`ws$2://`)}let r=t??et,o=n?`${n}/ws`:`/api/ws`,c=new WebSocket(`${e(r)}${o}`);a.current.ws=c,c.onopen=()=>{c.send(`ping`)},c.onmessage=e=>{if(e.data===`pong`){a.current.status===`disconnected`&&d(),s(`connected`);return}try{let t=JSON.parse(e.data);if(`type`in t&&t.type===`metadata_updated`){d();return}let n=t;if(n.command===`refresh`){let{eventType:e,srcPath:t}=n.event,[r,o]=t.split(`/`).slice(-2),s=o.replace(/\.[^/.]+$/,``),c=`${r}-${s}-${e}`;a.current.artifactsUpdatedToastId??i(I.create({id:c,description:`Detected ${r} ${s} ${e}`,type:`info`,duration:5e3,closable:!0})),d()}else if(n.command===`relaunch`)l(`relaunch`);else{let{id:e,title:t,description:r,status:a,duration:o}=n.event;i(I.create({id:e||`broadcast`,title:t,description:r,type:a??`info`,duration:o??5e3,closable:!0}))}}catch(e){console.error(e)}},c.onerror=e=>{console.error(`An error occurred during Handling WebSockets`,e)},c.onclose=()=>{s(e=>e===`connected`?`disconnected`:e),a.current.ws=void 0}},[d,t,n]);return z(()=>{if(!e)return;let t=a.current;return f(),()=>{t.ws&&t.ws.close()}},[f,e]),{connectionStatus:o,connect:f,envStatus:c}}function Uu({children:e}){let{idleTimeout:t,remainingSeconds:n,isEnabled:r,setDisconnected:i,resetConnection:a}=oe(),{apiClient:o,apiPrefix:s,baseUrl:l}=rs(),u=Vu(),d=ut({queryKey:k.runsAggregated(),queryFn:()=>c(o)}),f=B(()=>{let e=u.data?.lineage;if(e?.nodes)return ue(e)},[u.data]),p=u.error?.message,{state_metadata:m,lineage:h,sqlmesh:g,demo:_,codespace:v,review_mode:y,cloud_mode:b,file_mode:x,filename:S,adapter_type:C,git:w,pull_request:T,support_tasks:E}=u.data??{demo:!1},D={stateMetadata:m,adapterType:C,git:w,pullRequest:T,dbt:{base:h?.metadata?.base?.manifest_metadata,current:h?.metadata?.current?.manifest_metadata},sqlmesh:g},{connectionStatus:O,connect:A,envStatus:te}=Hu({enabled:!0,baseUrl:l,apiPrefix:s});z(()=>{O===`disconnected`?i():O===`connected`&&a()},[O,i,a]);let{data:ne,isLoading:re}=ce(),{featureToggles:ae,shareUrl:j}=ie(),[se,le]=H(!1),[M,fe]=H(!1),pe=dt(),me=!re&&te===`relaunch`&&ne?.single_env_onboarding===!0&&ne.show_relaunch_hint;me!==M&&(fe(me),le(me)),z(()=>{me&&se&&st({action:`target_base_added`})},[me,se]);let he=()=>{le(!1),ee(o),pe.invalidateQueries({queryKey:k.flag()})},ge=R(()=>{d.refetch()},[d]),N=R(()=>{d.refetch()},[d]);return G(U,{children:[W(de,{lineageGraph:f,envInfo:D,reviewMode:y,cloudMode:b,fileMode:x,fileName:S,isDemoSite:_??!1,isCodespace:v,isLoading:u.isLoading,error:p,supportTasks:E,onRefetchLineageGraph:ge,runsAggregated:d.data,onRefetchRunsAggregated:N,children:e}),W(vt,{open:O===`disconnected`,onClose:()=>void 0,children:j&&ae.mode!==null?W(Bu,{shareUrl:j,mode:ae.mode,supportCalendarUrl:tt,LinkComponent:({href:e,children:t})=>W(Mt,{href:e,passHref:!0,children:t})}):W(zu,{connect:A,idleSeconds:r&&t!==null&&n!==null&&n<=5?t-Math.max(0,n):void 0})}),ne?.single_env_onboarding&&G(vt,{open:se,onClose:he,children:[W(xt,{children:`Target-base Added`}),W(X,{"aria-label":`close`,onClick:he,sx:{position:`absolute`,right:8,top:8,color:`grey.500`},children:W(Nt,{})}),W(bt,{children:W(Y,{children:`Please restart the Recce server.`})}),W(yt,{children:W(q,{color:`iochmara`,variant:`contained`,onClick:he,children:`Got it!`})})]})]})}const Wu=`select * from {{ ref("mymodel") }}`;function Gu({children:e}){let[t,n]=H(Wu),[r,i]=H(Wu),[a,o]=H(!1),[s,c]=H();return W(Vr,{sql:t,sqlQuery:t,setSqlQuery:n,primaryKeys:s,setPrimaryKeys:c,isCustomQueries:a,setCustomQueries:o,baseSqlQuery:r,setBaseSqlQuery:i,children:e})}const Ku=e=>{},qu=e=>{},Ju=e=>{},Yu=e=>{};function Xu(){let e=Hr();return{sqlQuery:e.sqlQuery??`select * from {{ ref("mymodel") }}`,setSqlQuery:e.setSqlQuery??Ku,primaryKeys:e.primaryKeys,setPrimaryKeys:e.setPrimaryKeys??qu,isCustomQueries:e.isCustomQueries??!1,setCustomQueries:e.setCustomQueries??Ju,baseSqlQuery:e.baseSqlQuery??`select * from {{ ref("mymodel") }}`,setBaseSqlQuery:e.setBaseSqlQuery??Yu}}function Zu(e){let t=vr();z(()=>{e()},[e,t])}function Qu({children:e}){let{apiClient:t}=rs(),[n,r]=H(),[i,a]=H(!1),o=R(()=>a(!0),[]),s=R(()=>a(!1),[]),c=yr(),l=vr(),u=dt(),{basePath:d}=ae(),f=V(null);Zu(s);let p=R(async(e,t)=>{t!==!1&&await u.invalidateQueries({queryKey:k.runs()})},[u]),h=R(async(e,n,i)=>{try{let a=new Date().getTime().toString(),s,p=i;if(p?.showLast){let r=await m(e,n,1,t);r.length===1&&(s=r[0])}let h=iu(e);if(!h)throw Error(`Run type ${e} does not have a result view`);let g=h.RunResultView,{title:_,RunForm:v}=h;if(g===void 0)throw Error(`Run type ${e} does not have a result view`);if(v===void 0||!i?.showForm){let{run_id:r}=await C(e,n,{nowait:!0,trackProps:p?.trackProps},t);await u.invalidateQueries({queryKey:k.runs()}),f.current&&f.current(r);let i=`${d}/lineage`;l.startsWith(`${i}/`)&&l!==i&&c.push(i);return}r({session:a,title:_,type:e,params:n,lastRun:s,options:p,RunForm:v}),o();return}catch(e){I.create({title:`Failed to submit a run`,description:e instanceof Error?e.message:void 0,type:`error`,duration:5e3,closable:!0});return}},[o,u,t,l,c,d]),g=R(async(e,r)=>{try{s();let{run_id:i}=await C(e,r,{nowait:!0,trackProps:n?.options?.trackProps},t);f.current&&f.current(i)}catch(e){I.create({title:`Failed to submit a run`,description:e instanceof Error?e.message:void 0,type:`error`,duration:5e3,closable:!0})}},[s,n?.options?.trackProps,t]);return G(re,{onRunAction:h,onShowRunId:p,children:[W($u,{showRunIdRef:f,children:e}),n&&W(pu,{isOpen:i,onClose:s,onExecute:g,title:n.title,type:n.type,params:n.params,initialRun:n.lastRun,RunForm:n.options?.showForm&&n.RunForm?n.RunForm:void 0,submitOnSelection:n.options?.submitOnSelection},n.session)]})}function $u({children:e,showRunIdRef:t}){let{showRunId:n}=M();return z(()=>(t.current=n,()=>{t.current=null}),[n,t]),W(U,{children:e})}const ed=pt(void 0);function td({children:e}){let[t,n]=H(),[r,i]=H(!1),[a,o]=H(),{apiClient:s}=rs();return W(ed.Provider,{value:{shareUrl:t,isLoading:r,error:a,handleShareClick:async()=>{i(!0),o(void 0),n(void 0);try{let e=await h(s);if(e.status!==`success`){o(e.message);return}n(e.share_url)}catch(e){o(e.message)}finally{i(!1)}}},children:e})}const nd=()=>{let e=ht(ed);if(!e)throw Error(`useRecceShareStateContext must be used within a RecceShareStateContextProvider`);return e};function rd({children:e}){return W(j,{children:W(td,{children:W(Gu,{children:W(Uu,{children:W(Qu,{children:W(Ur,{children:e})})})})})})}const id=e=>`element`in e?e.element:e,ad=`ignore-screenshot`;function od({imageType:e=`png`,backgroundColor:t=null,boardEffect:n=!0,shadowEffect:r=!1,borderStyle:i=`solid 1px ${P.neutral[300]}`,borderRadius:a=`10px`,onSuccess:o,onError:s,ignoreElements:c}){let[l,u]=H(`idle`),d=V(null),{onOpen:f,setImgBlob:p,ImageDownloadModal:m}=cd(),h=async()=>{if(!d.current)throw console.error(`No node to use for screenshot`),Error(`No node to use for screenshot`);let e=id(d.current);if(!e)throw console.error(`Could not get HTMLElement from ref`),Error(`Could not get HTMLElement from ref`);let o=e.style.overflow,s=e.style.border,l=e.style.borderRadius,f=e.style.backgroundColor,p=e.style.height;function m(){let t=e;t&&(t.style.overflow=o,t.style.border=s,t.style.borderRadius=l,t.style.backgroundColor=f,t.style.height=p)}let h=document.createElement(`style`);document.head.appendChild(h),h.sheet?.insertRule(`body > div:last-child img { display: inline-block; }`);try{e.style.overflow=`hidden`,e.style.border=n?i:``,e.style.borderRadius=n?a:``,e.style.backgroundColor=t??P.neutral[100],e.style.height=`${String(e.offsetHeight)}px`;let o=c?e=>!c(e):void 0;u(`loading`);let s=await Fr.toCanvas(e,{filter:o,filterMode:`remove`,backgroundColor:t??P.neutral[100]}),l=r?document.createElement(`canvas`):s;if(r){l.width=s.width+80,l.height=s.height+80;let e=l.getContext(`2d`);if(e)e.shadowColor=`rgba(0, 0, 0, 0.5)`,e.shadowBlur=20,e.shadowOffsetX=10,e.shadowOffsetY=10,e.drawImage(s,40,40);else throw console.error(`Error getting canvas context`),Error(`Error getting canvas context to add shadow effect`)}return await(await fetch(l.toDataURL())).blob()}catch(e){throw console.error(`Error converting to image`,e),e}finally{h.remove(),m()}};return{status:l,isLoading:l===`loading`,isErrored:l===`error`,isSuccess:l===`success`,copyToClipboard:async()=>{try{await navigator.clipboard.write([new ClipboardItem({[`image/${e}`]:h()})]),u(`success`),o&&o()}catch(e){if(e.message===`ClipboardItem is not defined`){let e=await h();p(e),f(),u(`success`)}else u(`error`),console.error(`Error copying to clipboard`,e),s&&s(e)}},ImageDownloadModal:m,ref:d}}function sd(e){let{successToast:t,failToast:n}=Re(),{isLoading:r,copyToClipboard:i,ImageDownloadModal:a,ref:o}=od({imageType:`png`,shadowEffect:!0,backgroundColor:e?.backgroundColor??P.neutral[100],onSuccess:()=>{t(`Copied the query result as an image to clipboard`)},onError:e=>{console.error(`Error taking screenshot`,e),n(`Failed to copy image to clipboard`,e)}}),s=R(()=>{if(o.current){let e=id(o.current);e&&(e.style.boxShadow=`rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px`,e.style.transition=`box-shadow 0.5s ease-in-out`)}},[o]),c=R(()=>{if(o.current){let e=id(o.current);e&&(e.style.boxShadow=``)}},[o]),l=R(async()=>{if(o.current){await i();let e=id(o.current);e&&(e.style.boxShadow=``)}else n(`Failed to copy image to clipboard`,`No content to copy`)},[o,i,n]);function u({imageType:e=`png`,...t}){return G(U,{children:[W(q,{size:`small`,sx:{position:`absolute`,bottom:16,right:16},disabled:r,onMouseEnter:s,onMouseLeave:c,onClick:l,startIcon:W(Gt,{}),...t,children:`Copy to Clipboard`}),W(a,{})]})}return{ref:o,CopyToClipboardButton:u,onMouseEnter:s,onMouseLeave:c,onCopyToClipboard:l}}function cd(){let[e,t]=H(!1),[n,r]=H(),i=()=>t(!0),a=()=>t(!1);function o(){let[t,r]=H();return z(()=>{if(!n)return;let e=new FileReader;e.readAsDataURL(n),e.onloadend=e=>{e.target?.result!=null&&r(e.target.result)}},[]),G(vt,{open:e,onClose:a,maxWidth:`sm`,fullWidth:!0,children:[W(xt,{children:`Screenshot Preview`}),W(X,{"aria-label":`close`,onClick:a,sx:{position:`absolute`,right:8,top:8,color:`grey.500`},children:W(Nt,{})}),G(bt,{children:[G(J,{sx:{px:`10px`,gap:`10px`},children:[G(J,{direction:`row`,spacing:`5px`,sx:{alignItems:`center`},children:[W(K,{component:Yt,sx:{color:`error.main`}}),W(Y,{sx:{fontWeight:500,display:`inline`},children:`Copy to the Clipboard`}),` `,`is not supported in the current browser`]}),W(Y,{children:`Please download it directly`})]}),W(K,{component:`img`,src:t,alt:`screenshot`,sx:{maxWidth:`100%`}})]}),G(yt,{children:[W(q,{sx:{mr:1.5},onClick:a,children:`Close`}),W(q,{color:`iochmara`,variant:`contained`,onClick:()=>{if(!n)return;let e=`recce-screenshot-${jn(new Date,`yyyy-MM-dd-HH-mm-ss`)}.png`;pn(n,e),a()},children:`Download`})]})]})}return{onOpen:i,setImgBlob:r,ImageDownloadModal:o}}function ld(e,t={}){let{enabled:a=!0}=t,s=dt(),{apiClient:c}=rs(),{data:l,isLoading:u,error:d,refetch:f}=ut({queryKey:k.checkEvents(e),queryFn:()=>n(e,c),enabled:a,refetchInterval:1e4,refetchIntervalInBackground:!1}),p=lt({mutationFn:t=>i(e,t,c),onSuccess:async()=>{await s.invalidateQueries({queryKey:k.checkEvents(e)})}}),m=lt({mutationFn:({eventId:t,content:n})=>r(e,t,n,c),onSuccess:async()=>{await s.invalidateQueries({queryKey:k.checkEvents(e)})}}),h=lt({mutationFn:t=>o(e,t,c),onSuccess:async()=>{await s.invalidateQueries({queryKey:k.checkEvents(e)})}});return{events:l??[],isLoading:u,error:d,refetch:f,createComment:p.mutate,isCreatingComment:p.isPending,createCommentError:p.error,updateComment:m.mutateAsync,isUpdatingComment:m.isPending,updateCommentError:m.error,deleteComment:h.mutateAsync,isDeletingComment:h.isPending,deleteCommentError:h.error}}const ud={TOAST_ID:`lifetime-countdown`,WARNING_THRESHOLD:60,UPDATE_INTERVAL:1e3,MESSAGE:e=>`The server will be closed in ${e} seconds.`,STYLE:{fontFamily:`monospace`}};function dd(e){let t=I,[n,r]=H(null),i=V(void 0),a=R(()=>{if(!e)return 0;let t=new Date,n=Math.floor((e.getTime()-t.getTime())/1e3);return Math.max(0,n)},[e]),o=R(()=>{n!=null&&(t.remove(n),r(null))},[n]),s=R(()=>{if(n==null)return;let e=a();if(e<=0){o();return}t.update(n,{description:ud.MESSAGE(e)})},[n,a,o]),c=R(()=>{if(!e)return;o();let n=a();n<=0||(r(t.create({id:ud.TOAST_ID,description:ud.MESSAGE(n)})),i.current=setInterval(s,ud.UPDATE_INTERVAL))},[e,a,s,o]),l=a(),u=e?Math.max(0,l-ud.WARNING_THRESHOLD)*1e3:null;_n(c,u),z(()=>o,[o])}function fd({run:e,runId:t,viewOptions:n}){let r=B(()=>!e?.type||!e?.result?!1:Ve(e.type),[e?.type,e?.result]),i=B(()=>{if(!e?.result)return null;let t=e.result;if(`total_row_count`in t&&typeof t.total_row_count==`number`)return t.total_row_count;let n=t.base,r=t.current,i=typeof n?.total_row_count==`number`?n.total_row_count:null,a=typeof r?.total_row_count==`number`?r.total_row_count:null;return i!==null&&a!==null?Math.max(i,a):i??a},[e?.result]),a=R(()=>{if(!e?.type||!e?.result)return null;let t={displayMode:n?.display_mode,primaryKeys:e?.params?.primary_keys};return be(e.type,e.result,t)},[e?.type,e?.result,e?.params,n]),o=R(()=>{let e=a();return e?Oe(e.columns,e.rows):null},[a]),s=R(()=>{let e=a();return e?He(e.columns,e.rows):null},[a]),c=R(e=>{if(!t)return;let n=document.createElement(`a`);n.href=`/api/runs/${t}/export?format=${e}`,document.body.appendChild(n),n.click(),document.body.removeChild(n)},[t]),l=R(async()=>{let e=o();if(!e){I.create({title:`Export failed`,description:`Unable to extract data for CSV export`,type:`error`,duration:3e3});return}try{await De(e),I.create({title:`Copied to clipboard`,description:`CSV data copied successfully`,type:`success`,duration:2e3})}catch(e){console.error(`Failed to copy CSV to clipboard:`,e),I.create({title:`Copy failed`,description:`Failed to copy to clipboard`,type:`error`,duration:3e3})}},[o]),u=B(()=>e?.type===`query_diff`&&!!e?.params?.primary_keys,[e?.type,e?.params]),d=R(()=>{if(t&&!u&&[`query`,`query_base`,`query_diff`].includes(e?.type??``)){c(`csv`);return}let n=o();if(!n){I.create({title:`Export failed`,description:`Unable to extract data for CSV export`,type:`error`,duration:3e3});return}try{let t=Ne(e?.type??``,e?.params);ke(n,t),I.create({title:`Downloaded`,description:t,type:`success`,duration:3e3})}catch(e){console.error(`Failed to download CSV file:`,e),I.create({title:`Download failed`,description:`Failed to download CSV file`,type:`error`,duration:3e3})}},[t,e,u,o,c]),f=R(async()=>{let e=s();if(!e){I.create({title:`Export failed`,description:`Unable to extract data for export`,type:`error`,duration:3e3});return}try{await De(e),I.create({title:`Copied to clipboard`,description:`Text data copied — paste into any spreadsheet`,type:`success`,duration:2e3})}catch(e){console.error(`Failed to copy TSV to clipboard:`,e),I.create({title:`Copy failed`,description:`Failed to copy to clipboard`,type:`error`,duration:3e3})}},[s]),p=R(()=>{if(t&&!u&&[`query`,`query_base`,`query_diff`].includes(e?.type??``)){c(`tsv`);return}let n=s();if(!n){I.create({title:`Export failed`,description:`Unable to extract data for export`,type:`error`,duration:3e3});return}try{let t=Ne(e?.type??``,e?.params).replace(/\.csv$/,`.tsv`);Te(n,t),I.create({title:`Downloaded`,description:t,type:`success`,duration:3e3})}catch(e){console.error(`Failed to download TSV file:`,e),I.create({title:`Download failed`,description:`Failed to download TSV file`,type:`error`,duration:3e3})}},[t,e,u,s,c]);return{canExportCSV:r,totalRowCount:i,copyAsCSV:l,copyAsTSV:f,downloadAsCSV:d,downloadAsExcel:R(async()=>{if(t&&!u&&[`query`,`query_base`,`query_diff`].includes(e?.type??``)){c(`xlsx`);return}let n=a();if(!n){I.create({title:`Export failed`,description:`Unable to extract data for export`,type:`error`,duration:3e3});return}try{let t=await Ee(n.columns,n.rows),r=Ne(e?.type??``,e?.params).replace(/\.csv$/,`.xlsx`);we(t,r),I.create({title:`Downloaded`,description:r,type:`success`,duration:3e3})}catch(e){console.error(`Failed to download Excel file:`,e),I.create({title:`Download failed`,description:`Failed to download Excel file`,type:`error`,duration:3e3})}},[t,e,u,a,c]),downloadAsTSV:p}}function pd({description:e,onLike:t,onDislike:n,onClickLink:r,externalLink:i,externalLinkText:a}){return G(K,{sx:{display:`flex`,gap:4,justifyContent:`center`,alignContent:`center`,alignItems:`center`},children:[e,W(X,{"aria-label":`thumbs up`,onClick:t,sx:{width:`32px`,height:`32px`},children:W(K,{component:`img`,src:`/imgs/feedback/thumbs-up.png`,alt:`like`})}),W(X,{"aria-label":`thumbs down`,onClick:n,sx:{width:`32px`,height:`32px`},children:W(K,{component:`img`,src:`/imgs/feedback/thumbs-down.png`,alt:`dislike`})}),i&&a&&G(St,{href:i,target:`_blank`,onClick:r,sx:{textDecoration:`underline`},children:[a,` `,W(wt,{})]})]})}function md(e){let{feedbackId:t,description:n,onFeedbackSubmit:r,externalLink:i,externalLinkText:a}=e,[o,s]=H(void 0);function c(e=!1){let c=localStorage.getItem(t);o??(c===`true`&&!e||s(I.create({id:t,duration:void 0,type:`success`,description:W(J,{direction:`row`,children:W(pd,{description:n,onLike:()=>{r(`like`),I.dismiss(t),localStorage.setItem(t,`true`)},onDislike:()=>{r(`dislike`),I.dismiss(t),localStorage.setItem(t,`true`)},externalLink:i,externalLinkText:a,onClickLink:()=>{r(`link`)}})})})))}return{feedbackToast:c,closeToast:()=>{o&&I.dismiss(o)}}}function hd(e){let[t,n]=H(void 0),{guideId:r,description:i,externalLinkText:a,onExternalLinkClick:o}=e;function s(){t??n(I.create({id:r,duration:3e3,type:`success`,description:i,action:{label:a??`link`,onClick:()=>{o&&o()}}}))}return{guideToast:s,closeGuideToast:()=>{t&&I.dismiss(t)}}}function gd(e,t){let n=[];return e.forEach(e=>{n.some(t=>t.name===e.name)||n.push(e)}),t.forEach(e=>{n.some(t=>t.name===e.name)||n.push(e)}),n}function _d(e,n){let{lineageGraph:r}=fe(),i=O(),a=n??i?.apiClient,o=xn.find(r?.nodes,{data:{name:e}}),s=!!a&&!!o?.id,{data:c,isLoading:l,error:u}=ut({queryKey:[`modelDetail`,o?.id],queryFn:()=>{if(!o?.id||!a)throw Error(`useModelColumns: missing node id or api client`);return t(o.id,a)},enabled:s,staleTime:3e5}),{columns:d,columnAvailability:f,primaryKey:p}=B(()=>{let e=c?.model,t=e?.base?.columns?Object.values(e.base.columns):[],n=e?.current?.columns?Object.values(e.current.columns):[],r=gd(t,n),i=new Set(t.map(e=>e.name)),a=new Set(n.map(e=>e.name));return{columns:r,columnAvailability:Object.fromEntries(r.map(e=>[e.name,{base:i.has(e.name),current:a.has(e.name)}])),primaryKey:e?.current?.primary_key??e?.base?.primary_key}},[c]);return{columns:d,columnAvailability:f,primaryKey:p,isLoading:s?l:!1,error:u?u instanceof Error?u:Error(String(u)):null}}const vd=e=>{let{apiClient:t}=rs(),n=dt(),r=ws(),[i,a]=H(!!e),[,o]=se(),s=V(null);z(()=>{e&&(a(!0),s.current=null)},[e]);let c=e?r.has(e):!1,u=i&&!c,{error:f,data:p}=ut({queryKey:k.run(e??``),queryFn:async()=>await x(e??``,u?2:0,t),enabled:!!e&&!c,refetchInterval:u?50:!1,retry:!1});z(()=>{if(!p)return;let e=p.status?.toLowerCase();f||p.result||p.error||e&&e!==`running`?s.current!==p.run_id&&(s.current=p.run_id,a(!1),n.invalidateQueries({queryKey:k.runs(),exact:!0})):e===`running`&&!c&&(s.current=null,a(!0))},[p,f,c,n]),z(()=>{(f||p?.result||p?.error)&&(p?.type===`row_count_diff`||p?.type===`row_count`)&&o?.()},[p,f,o]);let m=r.add,h=R(()=>e?(n.setQueryData(k.run(e),e=>e&&{...e,status:`Cancelled`}),m(e),a(!1),s.current=e,l(e,t),Promise.resolve()):Promise.resolve(),[e,t,n,m]),g;return p&&d(p.type)&&(g=iu(p.type).RunResultView),{run:p,isRunning:i,error:f,onCancel:h,RunResultView:g}};function yd(){let e=Ot(),t=Pe(),n=F(),[r,i]=H(!1);z(()=>{i(!0)},[]);let a=r?t?t.resolvedMode===`dark`:n:!1;return{isDark:a,theme:e,background:{default:a?P.neutral[900]:P.white,paper:a?P.neutral[800]:P.white,subtle:a?P.neutral[800]:P.neutral[50],emphasized:a?P.neutral[700]:P.neutral[100]},text:{primary:a?P.neutral[50]:P.neutral[900],secondary:a?P.neutral[400]:P.neutral[600],disabled:a?P.neutral[500]:P.neutral[400],inverted:a?P.neutral[900]:P.neutral[50]},border:{light:a?P.neutral[700]:P.neutral[200],default:a?P.neutral[600]:P.neutral[300],strong:a?P.neutral[500]:P.neutral[400]},status:{added:{bg:a?P.green[900]:P.green[100],text:a?P.neutral[50]:P.neutral[900]},removed:{bg:a?P.red[950]:P.red[200],text:a?P.neutral[50]:P.neutral[900]},modified:{bg:a?P.yellow[900]:P.amber[100],text:a?P.neutral[50]:P.neutral[900]}},interactive:{hover:a?P.neutral[700]:P.neutral[100],active:a?P.neutral[600]:P.neutral[200],focus:P.iochmara[500]}}}export{Ol as $,Eo as $t,wu as A,Vi as An,ks as At,ru as B,fi as Bn,rs as Bt,Ru as C,Di as Cn,Vs as Ct,Du as D,Zi as Dn,Ps as Dt,Mu as E,qi as En,Is as Et,lu as F,bi as Fn,ys as Ft,Wl as G,Vr as Gn,Jo as Gt,Ql as H,qr as Hn,$o as Ht,su as I,Si as In,vs as It,Il as J,zr as Jn,Bo as Jt,Ul as K,Hr as Kn,Ko as Kt,ou as L,yi as Ln,hs as Lt,mu as M,Ui as Mn,Ts as Mt,pu as N,xi as Nn,_s as Nt,Eu as O,Qi as On,Os as Ot,du as P,Ci as Pn,gs as Pt,kl as Q,jo as Qt,au as R,vi as Rn,os as Rt,Vu as S,wi as Sn,Gs as St,Fu as T,Ti as Tn,zs as Tt,Zl as U,Ur as Un,Qo as Ut,nu as V,di as Vn,ts as Vt,Yl as W,Gr as Wn,Xo as Wt,Ml as X,Io as Xt,Pl as Y,Ir as Yn,Ho as Yt,jl as Z,Po as Zt,Qu as _,ha as _n,yc as _t,hd as a,ro as an,qc as at,Xu as b,oa as bn,lc as bt,dd as c,eo as cn,Fc as ct,od as d,Va as dn,Mc as dt,Do as en,el as et,sd as f,ka as fn,jc as ft,nd as g,ga as gn,Cc as gt,td as h,_a as hn,Tc as ht,_d as i,co as in,Jc as it,Su as j,Wi as jn,As as jt,Tu as k,$i as kn,Ms as kt,ld as l,Ya as ln,Ic as lt,rd as m,va as mn,Ec as mt,vd as n,xo as nn,nl as nt,md as o,no as on,Bc as ot,cd as p,Ta as pn,Dc as pt,Hl as q,Rr as qn,Wo as qt,gd as r,go as rn,Yc as rt,fd as s,$a as sn,$ as st,yd as t,To as tn,tl as tt,ad as u,Ja as un,Pc as ut,Gu as v,ma as vn,uc as vt,Iu as w,Ei as wn,Us as wt,Uu as x,fa as xn,cc as xt,Wu as y,aa as yn,fc as yt,iu as z,mi as zn,is as zt};
7
- //# sourceMappingURL=hooks-BSxXEMR0.js.map
6
+ `)?W(K,{component:`code`,sx:{bgcolor:n?`grey.800`:`grey.100`,color:n?`grey.200`:`inherit`,px:1,py:.5,borderRadius:.5,fontSize:`0.9em`,fontFamily:`monospace`},children:t}):W(K,{sx:{my:2,borderRadius:1,overflow:`hidden`,fontSize:`0.875rem`},children:W(pr,{style:mr,language:i,PreTag:`div`,customStyle:{margin:0,borderRadius:`6px`,fontSize:`0.85em`},children:a})})}function jc({content:e,fontSize:t=`0.875rem`,internalDomains:n=[]}){let r=F(),i=[window.location.hostname,`reccehq.com`,`datarecce.io`,`localhost`,...n];return W(K,{className:`markdown-content`,children:W(fr,{remarkPlugins:[hr],components:{a:({href:e,children:t})=>W(kc,{href:e,internalDomains:i,children:t}),code:e=>W(Ac,{...e,isDark:r}),p:({children:e})=>W(Y,{component:`p`,sx:{fontSize:t,mb:2,"&:last-child":{mb:0}},children:e}),h1:({children:e})=>W(Y,{sx:{fontSize:`1.25rem`,fontWeight:`bold`,mb:2,mt:3},children:e}),h2:({children:e})=>W(Y,{sx:{fontSize:`1.125rem`,fontWeight:`bold`,mb:2,mt:3},children:e}),h3:({children:e})=>W(Y,{sx:{fontSize:`1rem`,fontWeight:600,mb:2,mt:2},children:e}),ul:({children:e})=>W(K,{component:`ul`,sx:{pl:4,mb:2,listStyleType:`disc`},children:e}),ol:({children:e})=>W(K,{component:`ol`,sx:{pl:4,mb:2,listStyleType:`decimal`},children:e}),li:({children:e})=>W(K,{component:`li`,sx:{fontSize:t,mb:1},children:e}),blockquote:({children:e})=>W(K,{sx:{borderLeft:`3px solid`,borderLeftColor:r?`grey.600`:`grey.300`,pl:3,py:1,my:2,color:r?`grey.400`:`grey.600`,fontStyle:`italic`},children:e}),table:({children:e})=>W(K,{sx:{overflowX:`auto`,my:2},children:W(K,{component:`table`,sx:{width:`100%`,fontSize:t,border:`1px solid`,borderColor:r?`grey.700`:`grey.200`,borderRadius:1},children:e})}),thead:({children:e})=>W(K,{component:`thead`,sx:{bgcolor:r?`grey.800`:`grey.50`},children:e}),tbody:({children:e})=>W(K,{component:`tbody`,children:e}),tr:({children:e})=>W(K,{component:`tr`,sx:{borderBottom:`1px solid`,borderColor:r?`grey.700`:`grey.200`},children:e}),th:({children:e})=>W(K,{component:`th`,sx:{px:2,py:1,fontWeight:600,textAlign:`left`},children:e}),td:({children:e})=>W(K,{component:`td`,sx:{px:2,py:1},children:e}),hr:()=>W(K,{component:`hr`,sx:{my:3,borderColor:r?`grey.700`:`grey.200`}}),strong:({children:e})=>W(Y,{component:`strong`,sx:{fontWeight:600},children:e}),em:({children:e})=>W(Y,{component:`em`,sx:{fontStyle:`italic`},children:e}),del:({children:e})=>W(Y,{component:`del`,sx:{textDecoration:`line-through`,color:`grey.500`},children:e})},children:e})})}const Mc=mt(function({backgroundColor:e=`white`,blockSize:t,children:n,...r},i){return W(K,{ref:i,...r,sx:{overflowY:`auto`,overflowX:`hidden`,...r.sx},children:W(K,{sx:{backgroundColor:e,height:`100%`,blockSize:t},children:n})})});function Nc({children:e,direction:t=`horizontal`,sizes:n,minSizes:r=0,maxSizes:i,gutterSize:a=5,snapOffset:o=30,dragInterval:s=1,onDragEnd:c,onDrag:l,theme:u,style:d,className:f}){let p=F(),m=u?u===`dark`:p,h={display:`flex`,flexDirection:t===`horizontal`?`row`:`column`,height:`100%`,width:`100%`,...d};return W(K,{className:f,sx:{height:`100%`,width:`100%`,"& .gutter":{backgroundColor:`divider`,backgroundRepeat:`no-repeat`,backgroundPosition:`50%`,transition:`background-color 0.15s ease`,"&:hover":{backgroundColor:m?`grey.600`:`grey.300`}},"& .gutter.gutter-horizontal":{cursor:`col-resize`},"& .gutter.gutter-vertical":{cursor:`row-resize`}},children:W(gr,{style:h,direction:t,sizes:n,minSize:r,maxSize:i,gutterSize:a,snapOffset:o,dragInterval:s,onDragEnd:c,onDrag:l,children:e})})}const Pc=L(Nc);Pc.displayName=`SplitPane`;function Fc(e){let{style:t,children:n,gutterSize:r=5,minSize:i,maxSize:a,sizes:o,snapOffset:s,dragInterval:c,onDragEnd:l,onDrag:u,className:d}=e;return W(Pc,{direction:`horizontal`,gutterSize:r,minSizes:i,maxSizes:a,sizes:o,snapOffset:typeof s==`number`?s:void 0,dragInterval:c,onDragEnd:l,onDrag:u,style:t,className:d,children:n})}function Ic(e){let{style:t,children:n,gutterSize:r=5,minSize:i,maxSize:a,sizes:o,snapOffset:s,dragInterval:c,onDragEnd:l,onDrag:u,className:d}=e;return W(Pc,{direction:`vertical`,gutterSize:r,minSizes:i,maxSizes:a,sizes:o,snapOffset:typeof s==`number`?s:void 0,dragInterval:c,onDragEnd:l,onDrag:u,style:t,className:d,children:n})}const Lc={mode:`multiRow`,checkboxes:!0,headerCheckbox:!0,enableClickSelection:!1};function Rc({warning:e,isDark:t}){return G(K,{sx:{display:`flex`,alignItems:`center`,gap:.5,fontSize:`0.75rem`},children:[W(rn,{color:t?_r[400]:_r[600]}),W(K,{children:e})]})}function zc({toolbar:e,warnings:t,warningStyle:n=`alert`,isDark:r}){if(!e&&(!t||t.length===0))return null;let i=n===`amber`&&t&&t.length>0?r?_r[900]:_r[100]:r?`grey.900`:`grey.50`,a=n===`amber`&&t&&t.length>0?r?_r[200]:_r[800]:void 0;return G(K,{sx:{display:`flex`,alignItems:`center`,gap:1,px:1,py:.5,borderBottom:1,borderColor:`divider`,bgcolor:i,color:a},children:[n===`amber`?t?.map(e=>W(Rc,{warning:e,isDark:r},e)):t?.map(e=>W(vn,{severity:`warning`,sx:{py:0,fontSize:`0.75rem`},children:e},e)),W(K,{sx:{flex:1}}),e]})}function $(e){let{displayName:t,typeGuard:n,expectedRunType:r,screenshotWrapper:i,transformData:a,emptyState:o=`No data`,conditionalEmptyState:s,enableRowSelection:c}=e;function l({run:e,viewOptions:t,onViewOptionsChanged:l,onAddToChecklist:u},d){let f=F();if(!n(e))throw Error(`Run type must be ${r}`);let p=B(()=>a(e,{viewOptions:t,onViewOptionsChanged:l,onAddToChecklist:u,isDark:f}),[e,t,l,u,f]),m=s?.(e,t);return m==null?p?.renderNull?null:!p||p.isEmpty?p?.toolbar||p?.warnings&&p.warnings.length>0?G(K,{sx:{display:`flex`,flexDirection:`column`,bgcolor:f?`grey.900`:`grey.50`,height:`100%`},children:[W(zc,{toolbar:p?.toolbar,warnings:p?.warnings,warningStyle:p?.warningStyle,isDark:f}),W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,flex:1},children:p?.emptyMessage??o})]}):W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,bgcolor:f?`grey.900`:`grey.50`,height:`100%`},children:o}):i===`grid`?G(K,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:[p.header,W(zc,{toolbar:p.toolbar,warnings:p.warnings,warningStyle:p.warningStyle,isDark:f}),W(fc,{ref:d,style:{blockSize:`auto`,maxHeight:`100%`,overflow:`auto`,fontSize:`0.875rem`,borderWidth:1},columns:p.columns??[],rows:p.rows??[],renderers:{noRowsFallback:W(uc,{emptyMessage:p.noRowsMessage})},defaultColumnOptions:p.defaultColumnOptions,rowSelection:c?Lc:void 0}),p.footer]}):G(K,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:[p.header,W(zc,{toolbar:p.toolbar,warnings:p.warnings,warningStyle:p.warningStyle,isDark:f}),W(Mc,{ref:d,backgroundColor:f?`#1f2937`:`white`,sx:{height:`100%`},children:p.content}),p.footer]}):W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,bgcolor:f?`grey.900`:`grey.50`,height:`100%`},children:m})}return l.displayName=t,mt(l)}const Bc=`0.1.0`,Vc=/^\d{4}-\d{2}-\d{2}$/,Hc=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?$/i,Uc=/(?:Z|[+-]\d{2}:\d{2})$/i;function Wc(e){if(typeof e==`number`){if(Number.isFinite(e))return e;throw RangeError(`Histogram timestamp must be finite`)}let t=e.trim(),n;if(Vc.test(t))n=`${t}T00:00:00Z`;else if(Hc.test(t))n=Uc.test(t)?t:`${t}Z`;else throw RangeError(`Histogram timestamp must use an ISO date or datetime`);let r=Date.parse(n);if(!Number.isFinite(r))throw RangeError(`Histogram timestamp is outside the supported date range`);return r}function Gc(e){return u(e)}function Kc(e){return e==null?void 0:Wc(e)}const qc=$({displayName:`HistogramDiffResultView`,typeGuard:Gc,expectedRunType:`histogram_diff`,screenshotWrapper:`box`,conditionalEmptyState:e=>{let t=e.result?.base,n=e.result?.current;return!t||!n?W(`div`,{children:`Loading...`}):null},transformData:(e,{isDark:t})=>{let n=e.params,r=e.result?.base,i=e.result?.current,a=e.result?.min,o=e.result?.max,s=e.result?.bin_edges??[];if(!r||!i)return{isEmpty:!0};let c=e.params?.column_type??`numeric`,l=Wa(c)?`datetime`:c===`string`?`string`:`numeric`,u,d,f;try{u=l===`datetime`?Kc(a):a,d=l===`datetime`?Kc(o):o,f=l===`datetime`?s.map(Wc):s}catch{return{content:W(`div`,{children:`Invalid histogram data`})}}let p=Array.isArray(r.counts)?r.counts:[],m=Array.isArray(i.counts)?i.counts:[];return{content:G(K,{sx:{display:`flex`,flexDirection:`row`},children:[W(K,{sx:{flex:1}}),W(K,{sx:{width:`80%`,height:`35vh`,m:4},children:W(cc,{title:`Model ${n.model}.${n.column_name}`,dataType:l,baseData:{counts:p},currentData:{counts:m},min:u,max:d,samples:r.total??0,binEdges:f,theme:t?`dark`:`light`})}),W(K,{sx:{flex:1}})]})}}});function Jc(e,t){if(e.baseIndex===void 0&&e.currentIndex!==void 0)return`added`;if(e.baseIndex!==void 0&&e.currentIndex===void 0)return`removed`;let n=e.baseType!==e.currentType,r=e.definitionChanged===!0||e.reordered===!0;return n&&!r&&t&&e.changeUnknown!==!0?`impacted`:n||r?`changed`:e.changeUnknown===!0?`unknown`:t?`impacted`:`unchanged`}function Yc({model:e,row:t,singleEnv:n,cllRunning:r,showMenu:i=!0,onViewCode:a,isImpacted:o}){let s=le(),{isActionAvailable:c}=fe(),{runAction:l}=M(),{featureToggles:u}=ie(),{name:d,baseType:f,currentType:p,baseIndex:m,currentIndex:h,definitionChanged:g}=t,_=p??f??t.type,v=(m!==void 0||h===void 0)&&(m===void 0||h!==void 0)&&f!==p,y=n?`unchanged`:Jc(t,o),b=y===`added`?`added`:y===`removed`?`removed`:y===`unknown`?`definition_unknown`:(y===`changed`||y===`impacted`)&&v?`type_changed`:y===`changed`&&g?`definition_changed`:`unchanged`,[x,S]=H(null),C=!!x,w=e=>{e.stopPropagation(),S(e.currentTarget)},T=()=>{S(null)},E=()=>{l(`profile_diff`,{model:e.name,columns:[d]},{showForm:!1,trackProps:{action:`profile_diff`,source:`schema_column_menu`,node_count:1}})},D=()=>{l(`histogram_diff`,{model:e.name,column_name:d,column_type:_},{showForm:!1,trackProps:{action:`histogram_diff`,source:`schema_column_menu`,node_count:1}})},O=()=>{l(`top_k_diff`,{model:e.name,column_name:d,k:50},{showForm:!1,trackProps:{action:`top_k_diff`,source:`schema_column_menu`,node_count:1}})},k=()=>{l(`value_diff`,{model:e.name,columns:[d]},{showForm:!0,trackProps:{action:`value_diff`,source:`schema_column_menu`,node_count:1}})},A=!f||!p,ee=s===void 0||!c(`change_analysis`)||m!==void 0&&h===void 0,te=y===`impacted`,ne=fi({name:d,status:b,baseType:f?di(f):void 0,currentType:p?di(p):void 0,cllAvailable:!ee,impacted:te});return W(Z,{title:ne,placement:`top`,children:G(K,{sx:{display:`flex`,alignItems:`center`,gap:`3px`},children:[y===`changed`&&(g?W(Z,{title:`Definition changed — click to view code`,placement:`top`,onMouseOver:e=>e.stopPropagation(),children:a?W(`button`,{type:`button`,className:`schema-change-badge schema-change-badge-changed schema-change-badge-clickable`,onClick:e=>{e.stopPropagation(),a()},children:`~`}):W(`span`,{className:`schema-change-badge schema-change-badge-changed`,children:`~`})}):W(`span`,{className:`schema-change-badge schema-change-badge-changed`,children:`~`})),y===`added`&&W(`span`,{className:`schema-change-badge schema-change-badge-added`,children:`+`}),y===`removed`&&W(`span`,{className:`schema-change-badge schema-change-badge-removed`,children:`-`}),y===`impacted`&&W(`span`,{className:`schema-change-badge schema-change-badge-impacted`,children:`!`}),y===`unknown`&&W(Z,{title:`Change status unknown — analyzer couldn't resolve column dependencies`,placement:`top`,onMouseOver:e=>e.stopPropagation(),children:W(`span`,{className:`schema-change-badge schema-change-badge-unknown`,children:`?`})}),W(K,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:d}),v?G(K,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`,gap:`0.125rem`,ml:`0.25rem`,fontSize:`1.6rem`,lineHeight:1},children:[f&&W(K,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`,textDecoration:`line-through`,opacity:.6},children:W(mi,{type:f,disableTooltip:!0})}),W(K,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`,fontSize:`0.7em`,opacity:.5},children:`→`}),p&&W(K,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`},children:W(mi,{type:p,disableTooltip:!0})})]}):_&&W(K,{component:`span`,sx:{ml:`0.25rem`,fontSize:`1.6rem`},children:W(mi,{type:_,disableTooltip:!0})}),W(K,{sx:{flex:1}}),r&&W(Ft,{size:12,color:`inherit`}),i&&!n&&e.resource_type!==`source`&&G(U,{children:[W(X,{"aria-label":`Column options`,className:`row-context-menu`,size:`small`,disabled:u.disableDatabaseQuery,onClick:w,children:W(Cn,{})}),G(bn,{anchorEl:x,open:C,onClose:T,slotProps:{list:{sx:{lineHeight:`20px`}}},children:[W(Tn,{sx:{m:0,p:`4px 12px`,lineHeight:`20px`},children:`Diff`}),W(Q,{onClick:()=>{E(),T()},disabled:A,sx:{fontSize:`0.85rem`},children:`Profile Diff`}),W(Q,{onClick:()=>{D(),T()},disabled:A||!_||!Ja(_),sx:{fontSize:`0.85rem`},children:`Histogram Diff`}),W(Q,{onClick:()=>{O(),T()},disabled:A,sx:{fontSize:`0.85rem`},children:`Top-k Diff`}),W(Q,{onClick:()=>{k(),T()},disabled:A,sx:{fontSize:`0.85rem`},children:`Value Diff`})]})]})]})})}function Xc(e,t,n,r){return i=>{let a=i.data;return a?W(Yc,{model:e,row:a,cllRunning:t?.get(a.name)??!1,showMenu:n,onViewCode:r,isImpacted:a.isImpacted}):null}}function Zc(e,t,n){return r=>{let i=r.data;return i?W(Yc,{model:e,row:i,cllRunning:t?.get(i.name)??!1,singleEnv:!0,showMenu:n}):null}}function Qc(e){let t=e.scopedColumns?new Set(e.scopedColumns):void 0;return n=>{let r=n.data;if(!r)return null;let i=e.payloads[r.name],a=!t||t.has(r.name);return W(Va,{payload:i,columnType:r.currentType??r.baseType,baseTotal:e.baseTotal,currentTotal:e.currentTotal,isLoading:e.isLoading&&!i&&a,hasError:e.hasError&&a,notProfiled:!a})}}function $c(e){if(!e.data)return null;let{baseIndex:t,currentIndex:n,reordered:r}=e.data;return r&&t!==void 0&&n!==void 0&&t!==n?G(`span`,{children:[W(`span`,{className:`schema-index-old`,children:t}),W(`span`,{className:`schema-index-new`,children:n})]}):W(`span`,{children:n===void 0?t??`-`:n??`-`})}function el(e={},t={}){let n={},r=Ye(Object.keys(e),Object.keys(t));Object.entries(r).forEach(([e,t])=>{n[e]={name:e,reordered:t===`reordered`,__status:void 0}});let i=0;return Object.entries(e).forEach(([e,t])=>{t!=null&&(n[e].baseIndex=i+=1,n[e].baseType=t.type)}),i=0,Object.entries(t).forEach(([e,t])=>{t!=null&&(n[e].currentIndex=i+=1,n[e].currentType=t.type)}),n}function tl(e,t={}){let{node:n,cllRunningMap:r,showMenu:i,columnChanges:a,onViewCode:o,impactedColumns:s,nodeId:c,distribution:l,schemaComparisonStatus:u}=t,d=[{field:`index`,headerName:``,resizable:!0,minWidth:35,width:35,cellRenderer:$c,cellClass:`schema-column schema-column-index`},{field:`name`,headerName:`Name`,resizable:!0,flex:1,minWidth:180,cellRenderer:n?Xc(n,r,i,o):void 0,cellClass:`schema-column`,valueGetter:e=>{let t=e.data;return t?`${t.name}|${t.definitionChanged??!1}|${t.isImpacted??!1}|${t.changeUnknown??!1}`:``}}];l&&d.push({colId:`distribution`,headerName:`Distribution`,resizable:!0,sortable:!1,minWidth:150,width:160,cellRenderer:Qc(l),cellClass:`schema-column schema-column-profile-distribution`});let f=u===`unchecked`,p=Object.values(e).filter(e=>!f||e.baseIndex!==void 0&&e.currentIndex!==void 0&&e.baseType===e.currentType&&!e.reordered);if(a)for(let e of p){let t=e.baseIndex===void 0,n=e.currentIndex===void 0,r=!t&&!n&&e.baseType!==e.currentType,i=a[e.name];i===`modified`&&!t&&!n&&!r&&!e.reordered?e.definitionChanged=!0:i===`unknown`&&!t&&!n&&!r&&!e.reordered&&(e.changeUnknown=!0)}if(c&&s)for(let e of p)Ae(c,e.name,s)&&(e.isImpacted=!0);return{columns:d,rows:p}}function nl(e={},t={}){let{node:n,cllRunningMap:r,showMenu:i}=t,a=Object.entries(e).filter(([e,t])=>t!=null).map(([e,t],n)=>({name:e,index:n+1,type:t.type,__status:void 0}));return{columns:[{field:`index`,headerName:``,resizable:!0,minWidth:35,width:35,cellClass:`schema-column schema-column-index`},{field:`name`,headerName:`Name`,resizable:!0,flex:1,minWidth:180,cellRenderer:n?Zc(n,r,i):void 0,cellClass:`schema-column`}],rows:a}}function rl({columnName:e,primaryKeys:t}){let n=t.includes(e);return W(K,{sx:{display:`flex`,justifyContent:`center`,alignItems:`center`,height:`100%`},children:n&&W(wn,{})})}function il({params:e,column:t}){let{runAction:n}=M(),{featureToggles:r}=ie(),[i,a]=H(null),o=!!i,s=e=>{a(e.currentTarget)},c=()=>{a(null)},l=(t,r)=>{let i={...e,...t};n(`value_diff_detail`,i,r)};return G(K,{sx:{display:`flex`},children:[W(K,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t}),W(K,{sx:{flex:1}}),W(X,{"aria-label":`Column options`,className:`row-context-menu`,size:`small`,disabled:r.disableDatabaseQuery,onClick:s,children:W(Kt,{})}),G(bn,{anchorEl:i,open:o,onClose:c,slotProps:{list:{sx:{lineHeight:`20px`}}},children:[W(Tn,{sx:{fontSize:`8pt`,lineHeight:`20px`},children:`Action`}),W(Q,{onClick:()=>{l({},{showForm:!0}),c()},sx:{fontSize:`10pt`},children:`Show mismatched values...`}),G(Q,{onClick:()=>{l({columns:[t]},{showForm:!1}),c()},sx:{fontSize:`10pt`},children:[`Show mismatched values for '`,t,`'`]})]})]})}function al({value:e}){let t=`N/A`;return e!=null&&(t=e>.9999&&e<1?`~99.99 %`:e<1e-4&&e>0?`~0.01 %`:`${(e*100).toFixed(2)} %`),W(K,{sx:{textAlign:`right`},children:t})}function ol(e){return t=>{let n=t.data;return n?W(rl,{columnName:String(n[0]),primaryKeys:e}):null}}function sl(e){return t=>{let n=t.data,r=t.colDef?.field??``;return n?W(il,{column:String(n[r]),params:e}):null}}function cl(e){let t=e.data,n=e.colDef?.field??``;return t?W(al,{value:t[n]}):null}const ll=[{key:`0`,name:`Column`,type:`text`},{key:`1`,name:`Matched`,type:`number`},{key:`2`,name:`Matched %`,type:`number`}];function ul(e){let t=e.data;if(!t)return;let n=t[2];return n!=null&&n<1?`diff-cell-modified`:void 0}function dl(e,t){let n=e==null,r=t==null;return n&&r?0:n?1:r?-1:e-t}const fl={PRIMARY_KEY_INDICATOR:`__is_pk__`,COLUMN_NAME:`0`,MATCHED_COUNT:`1`,MATCHED_PERCENT:`2`};function pl(e,t){return[{field:fl.PRIMARY_KEY_INDICATOR,headerName:``,width:30,maxWidth:30,sortable:!1,cellRenderer:ol(e)},{field:fl.COLUMN_NAME,headerName:`Column`,resizable:!0,cellRenderer:sl(t),cellClass:`cell-show-context-menu`},{field:fl.MATCHED_COUNT,headerName:`Matched`,resizable:!0,cellClass:ul},{field:fl.MATCHED_PERCENT,headerName:`Matched %`,resizable:!0,sort:`asc`,comparator:dl,cellRenderer:cl,cellClass:ul}]}function ml(e,t){let{params:n}=t,r=Array.isArray(n.primary_key)?n.primary_key:[n.primary_key],i={...e.data,columns:ll};return{columns:pl(r,n),rows:We(i)}}function hl(e){if(p(e)||y(e))return e.result?{kind:`query`,result:e.result}:null;if(w(e))return e.result?e.result.diff&&e.params?.primary_keys?{kind:`query_diff_joined`,result:e.result,primaryKeys:e.params.primary_keys}:{kind:`query_diff_separate`,result:e.result}:null;if(D(e))return!e.result||!e.params?null:{kind:`value_diff`,result:e.result,params:e.params};if(T(e)){if(!e.result||!e.params?.primary_key)return null;let t=e.params.primary_key,n=Array.isArray(t)?t:[t];return{kind:`value_diff_detail`,result:e.result,primaryKeys:n}}return f(e)?e.result?.current?{kind:`profile`,result:e.result}:null:S(e)?e.result?{kind:`profile_diff`,result:e.result}:null:b(e)?e.result?{kind:`row_count`,result:e.result}:null:g(e)&&e.result?{kind:`row_count_diff`,result:e.result}:null}function gl(e){let t=e.data;if(!t)return null;let n=e.colDef?.field??``,r=String(qe(t,n)??e.value??``),i=String(qe(t,`data_type`)??``)||void 0,a=fi({name:r,currentType:i?di(i):void 0});return W(Z,{title:a,placement:`top`,children:G(K,{sx:{display:`flex`,alignItems:`center`,gap:`6px`,overflow:`hidden`,height:`100%`},children:[W(K,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:r}),i&&W(K,{component:`span`,sx:{fontSize:`1.6rem`},children:W(mi,{type:i,disableTooltip:!0})})]})})}function _l(e){let t=e.data;if(!t)return null;let n=e.colDef?.field??``,r=String(qe(t,n)??e.value??``),i=qe(t,`base__data_type`),a=i==null?void 0:String(i),o=qe(t,`current__data_type`),s=o==null?void 0:String(o),c=a!=null&&s!=null&&a!==s,l=s??a,u=fi({name:r,baseType:a?di(a):void 0,currentType:s?di(s):void 0});return W(Z,{title:u,placement:`top`,children:G(K,{sx:{display:`flex`,alignItems:`center`,gap:`6px`,overflow:`hidden`,height:`100%`},children:[W(K,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:r}),c?G(K,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`,gap:`0.125rem`,fontSize:`1.6rem`},children:[W(K,{component:`span`,sx:{textDecoration:`line-through`,opacity:.6},children:W(mi,{type:a,disableTooltip:!0})}),W(K,{component:`span`,sx:{fontSize:`0.7em`,opacity:.5},children:`→`}),W(mi,{type:s,disableTooltip:!0})]}):l&&W(K,{component:`span`,sx:{fontSize:`1.6rem`},children:W(mi,{type:l,disableTooltip:!0})})]})})}function vl(e){if(!e)return!1;let t=e.toLowerCase();return t===`data_type`||t===`base__data_type`||t===`current__data_type`}function yl(e){let t=e.rows.length>0&&Ze(e.rows[0],`base__data_type`),n=e.columns.filter(e=>{if(`children`in e&&e.children){let t=e.children.filter(e=>!vl(e.field));return t.length!==0&&(e.children=t,!0)}return!vl(e.field)}).map(e=>{if(`children`in e&&e.children)return{...e,children:e.children.map(e=>{let t=e;return t.field?.toLowerCase()===`column_name`?{...t,cellRenderer:gl}:e})};let n=e;return n.field?.toLowerCase()===`column_name`?{...n,cellRenderer:t?_l:gl}:e});return{...e,columns:n}}function bl(e){return e.current?.columns.find(e=>e.name.toLowerCase()===`column_name`)?.name??`column_name`}function xl(e){return e.trim().split(/[_\s]+/).filter(Boolean).map(e=>`${e.charAt(0).toUpperCase()}${e.slice(1).toLowerCase()}`).join(` `)}const Sl=[`raw`,2,`percent`,`delta`];function Cl(e){return e.type===`number`||e.type===`float`||e.type===`integer`}function wl(e){return[`distinct_proportion`,`not_null_proportion`].includes(e.toLowerCase())?`percent_delta`:`percent_change`}function Tl(e,t){let n=[...e.base?.columns??[],...e.current?.columns??[]];return Object.fromEntries(n.map(e=>[e.key,{displayName:xl(e.key),hidePrimaryKeyIcon:e.key.toLowerCase()===`column_name`,allowedRenderModes:t===`inline`&&Cl(e)?[...Sl,wl(e.key)]:void 0}]))}function El(e){let t=e.columns.map(e=>{if(`children`in e&&e.children)return e;let t=e,n=t.context?.columnType;return n!==`number`&&n!==`float`&&n!==`integer`?e:{...t,context:{...t.context,profileDiffPercentMode:wl(t.field??``)}}});return{...e,columns:t}}function Dl(e,t={}){let n=hl(e);if(!n)return null;switch(n.kind){case`query`:return Se(n.result,{primaryKeys:t.primaryKeys,pinnedColumns:t.pinnedColumns,columnsRenderMode:t.columnsRenderMode,onPrimaryKeyChange:t.onPrimaryKeyChange,onPinnedColumnsChange:t.onPinnedColumnsChange,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged});case`query_diff_separate`:return je(n.result.base,n.result.current,t);case`query_diff_joined`:return n.result.diff?Me(n.result.diff,n.primaryKeys,{changedOnly:t.changedOnly,pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,baseTitle:t.baseTitle,currentTitle:t.currentTitle,displayMode:t.displayMode,columnsRenderMode:t.columnsRenderMode,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged}):null;case`value_diff`:return ml(n.result,{params:n.params});case`value_diff_detail`:return Me(n.result,n.primaryKeys,{changedOnly:t.changedOnly,pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,displayMode:t.displayMode,columnsRenderMode:t.columnsRenderMode,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged});case`profile`:{if(!n.result.current)return null;let e=bl(n.result);return yl(Se(n.result.current,{primaryKeys:[e],pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,columnsRenderMode:t.columnsRenderMode,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged,headerPresentation:Tl(n.result)}))}case`profile_diff`:{let e=bl(n.result);return El(yl(je(n.result.base,n.result.current,{primaryKeys:[e],pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,displayMode:t.displayMode,columnsRenderMode:t.columnsRenderMode,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged,headerPresentation:Tl(n.result,t.displayMode??`inline`)})))}case`row_count`:return Le(n.result);case`row_count_diff`:return Xe(n.result);default:return null}}function Ol(e,t){switch(e.type){case`single`:return Se(e.dataframe,t??{});case`dual`:return je(e.base,e.current,t??{});case`joined`:return Me(e.dataframe,e.primaryKeys,t??{});case`schema_diff`:{let n=t??{};return tl(el(e.base,e.current),n)}case`schema_single`:return nl(e.columns,t??{})}}function kl({params:e,onParamsChanged:t,setIsReadyToExecute:n}){let[r,i]=H(!e.columns||e.columns.length===0),a=e.model,{columns:o,isLoading:s,error:c}=_d(e.model);z(()=>{n(!!a)},[a,n]);let l=o.map(e=>e.name);return s?W(K,{children:`Loading...`}):l.length===0||c?W(K,{children:`Error: Please provide the 'catalog.json' to list column candidates`}):G(J,{spacing:5,sx:{m:`8px 24px`,pb:`200px`},children:[G(K,{children:[W(Y,{variant:`body2`,sx:{mb:1},children:`Model`}),W(An,{fullWidth:!0,size:`small`,value:e.model,slotProps:{input:{readOnly:!0}}})]}),G(K,{children:[W(Y,{variant:`body2`,sx:{mb:1},children:`Columns`}),W(hn,{control:W(mn,{checked:r,onChange:n=>{i(n.target.checked),t({...e,columns:void 0})},size:`small`}),label:`All columns`,sx:{mb:`10px`}}),!r&&W(Or,{multiple:!0,size:`small`,disableCloseOnSelect:!0,options:l,value:e.columns??[],onChange:(n,r)=>{t({...e,columns:r.length===0?void 0:r})},renderInput:t=>W(An,{...t,placeholder:(e.columns??[]).length===0?`Select columns`:``,className:`no-track-pii-safe`})})]})]})}const Al=e=>typeof e==`object`&&!!e&&`type`in e&&S(e),jl=$({displayName:`ProfileResultView`,typeGuard:e=>typeof e==`object`&&!!e&&`type`in e&&f(e),expectedRunType:`profile`,screenshotWrapper:`grid`,transformData:(e,{viewOptions:t,onViewOptionsChanged:n})=>{let r=Dl(e,{pinnedColumns:t?.pinned_columns??[],onPinnedColumnsChange:e=>{n&&n({...t,pinned_columns:e})},columnsRenderMode:{distinct_proportion:`percent`,not_null_proportion:`percent`,...t?.columnsRenderMode},onColumnsRenderModeChanged:e=>{let r={...t?.columnsRenderMode??{},...e};n&&n({...t,columnsRenderMode:r})}})??{columns:[],rows:[]};return{columns:r.columns,rows:r.rows,isEmpty:r.columns.length===0}}}),Ml=$({displayName:`ProfileDiffResultView`,typeGuard:Al,expectedRunType:`profile_diff`,screenshotWrapper:`grid`,transformData:(e,{viewOptions:t,onViewOptionsChanged:n})=>{let r=t?.pinned_columns??[],i=t?.display_mode??`inline`,a=Dl(e,{pinnedColumns:r,onPinnedColumnsChange:e=>{n&&n({...t,pinned_columns:e})},displayMode:i,columnsRenderMode:{distinct_proportion:`percent`,not_null_proportion:`percent`,...t?.columnsRenderMode},onColumnsRenderModeChanged:e=>{let r={...t?.columnsRenderMode??{},...e};n&&n({...t,columnsRenderMode:r})}})??{columns:[],rows:[]},o=W(Gs,{children:W(_a,{displayMode:i,onDisplayModeChanged:e=>{n&&n({...t,display_mode:e})}})});return{columns:a.columns,rows:a.rows,header:o,isEmpty:a.columns.length===0}}});function Nl(e){return w(e)}const Pl=$({displayName:`QueryDiffResultView`,typeGuard:Nl,expectedRunType:`query_diff`,screenshotWrapper:`grid`,enableRowSelection:!0,emptyState:`No data`,transformData:(e,{viewOptions:t,onViewOptionsChanged:n})=>{let r=e.result&&`diff`in e.result&&e.result.diff!=null,i,a;e.params&&e.params.current_model&&(i=`Original`,a=`Editor`);let o=t?.changed_only??!1,s=t?.pinned_columns??[],c=t?.display_mode??`inline`,l=t?.columnsRenderMode??{},u=r?[]:t?.primary_keys??[],d=e=>{let r={...t?.columnsRenderMode??{},...e};n&&n({...t,columnsRenderMode:r})},f=r?void 0:e=>{n&&n({...t,primary_keys:e})},p=e=>{n&&n({...t,pinned_columns:e})},m;if(r&&e.result?.diff){let t=e.params?.primary_keys??[];m=Me(e.result.diff,t,{changedOnly:o,pinnedColumns:s,onPinnedColumnsChange:p,columnsRenderMode:l,onColumnsRenderModeChanged:d,baseTitle:i,currentTitle:a,displayMode:c})}else m=je(e.result?.base,e.result?.current,{changedOnly:o,pinnedColumns:s,onPinnedColumnsChange:p,columnsRenderMode:l,onColumnsRenderModeChanged:d,baseTitle:i,currentTitle:a,displayMode:c,primaryKeys:u,onPrimaryKeyChange:f});let h=[];if(!r&&u.length>0){let e=u.join(`, `);m.invalidPKeyBase&&m.invalidPKeyCurrent?h.push(`Warning: The primary key '${e}' is not unique in the base and current environments`):m.invalidPKeyBase?h.push(`Warning: The primary key '${e}' is not unique in the base environment`):m.invalidPKeyCurrent&&h.push(`Warning: The primary key '${e}' is not unique in the current environment`)}let g=r?e.result?.diff?.limit??0:e.result?.current?.limit??0,_=r?e.result?.diff?.more:e.result?.current?.more||e.result?.base?.more;if(g>0&&_&&h.push(`Warning: Displayed results are limited to ${g.toLocaleString()} records. To ensure complete data retrieval, consider applying a LIMIT or WHERE clause to constrain the result set.`),m.columns.length===0)return{isEmpty:!0};let v=G(U,{children:[W(_a,{displayMode:c,onDisplayModeChanged:e=>{n&&n({...t,display_mode:e})}}),W(ha,{changedOnly:t?.changed_only,onChange:()=>{let e=!t?.changed_only;n&&n({...t,changed_only:e})}})]});return r&&o&&m.rows.length===0?{isEmpty:!0,emptyMessage:`No change`,toolbar:v,warnings:h.length>0?h:void 0}:{columns:m.columns,rows:m.rows,warnings:h.length>0?h:void 0,toolbar:v,defaultColumnOptions:{resizable:!0,maxWidth:800,minWidth:35},noRowsMessage:`No mismatched rows`}}});function Fl(e){return p(e)||y(e)}const Il=$({displayName:`QueryResultView`,typeGuard:Fl,expectedRunType:`query`,screenshotWrapper:`grid`,enableRowSelection:!0,emptyState:`No data`,transformData:(e,{viewOptions:t,onViewOptionsChanged:n,onAddToChecklist:r})=>{let i=t?.pinned_columns??[],a=t?.columnsRenderMode??{},o=e=>{let r={...t?.columnsRenderMode??{},...e};n&&n({...t,columnsRenderMode:r})},s=e=>{n&&n({...t,pinned_columns:e})};if(!e.result)return{isEmpty:!0};let c=Se(e.result,{pinnedColumns:i,onPinnedColumnsChange:s,columnsRenderMode:a,onColumnsRenderModeChanged:o});if(c.columns.length===0)return{isEmpty:!0};let l=e.result,u=l?l.limit??0:0,d=[];u>0&&l?.more&&d.push(`Warning: Displayed results are limited to ${u.toLocaleString()} records. To ensure complete data retrieval, consider applying a LIMIT or WHERE clause to constrain the result set.`);let f=r?W(q,{sx:{my:`5px`},size:`small`,color:`iochmara`,variant:`contained`,onClick:()=>{r(e)},children:`Add to Checklist`}):void 0;return{columns:c.columns,rows:c.rows,warnings:d.length>0?d:void 0,warningStyle:`amber`,toolbar:f,defaultColumnOptions:{resizable:!0,maxWidth:800,minWidth:35}}}});function Ll(e){return b(e)}function Rl(e){return g(e)}function zl(e){if(!e.result)return null;let t=Le(e.result);return{columns:t.columns,rows:t.rows,isEmpty:t.rows.length===0}}function Bl(e,{isDark:t}){if(!e.result)return null;let n=Xe(e.result);return{columns:n.columns,rows:n.rows,isEmpty:n.rows.length===0,footer:W(Vl,{isDark:t})}}function Vl({isDark:e}){let t=N(e).direction;return W(K,{component:`ul`,"aria-label":`Row count change legend`,"data-color-axis":`neutral-direction`,sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:3,m:0,px:2,py:1,borderTop:1,borderColor:`divider`,listStyle:`none`,bgcolor:t.background,color:t.foreground,fontSize:`0.8125rem`},children:[{symbol:`↑`,label:`Increase`,direction:`increase`},{symbol:`↓`,label:`Decrease`,direction:`decrease`},{symbol:`=`,label:`No change`,direction:`equal`}].map(e=>G(K,{component:`li`,sx:{display:`inline-flex`,alignItems:`center`,gap:.75},children:[W(K,{component:`span`,"aria-hidden":`true`,"data-direction":e.direction,sx:{width:14,height:14,borderRadius:.5,bgcolor:t.background,border:`1px solid ${t.border}`}}),`${e.symbol} ${e.label}`]},e.label))})}const Hl=$({displayName:`RowCountResultView`,typeGuard:Ll,expectedRunType:`row_count`,screenshotWrapper:`grid`,transformData:zl,emptyState:`No nodes matched`}),Ul=$({displayName:`RowCountDiffResultView`,typeGuard:Rl,expectedRunType:`row_count_diff`,screenshotWrapper:`grid`,transformData:Bl,emptyState:`No nodes matched`});function Wl({params:e,onParamsChanged:t,setIsReadyToExecute:n}){let{columns:r,isLoading:i,error:a}=_d(e.model),o=r.map(e=>e.name);return z(()=>{n(!!e.column_name)},[e,n]),i?W(K,{children:`Loading...`}):o.length===0||a?W(K,{children:`Error: Please provide the 'catalog.json' to list column candidates`}):W(K,{sx:{m:`16px`},children:G(En,{fullWidth:!0,children:[W(Dn,{sx:{mb:1},children:`Pick a column to show top-k`}),G(On,{value:e.column_name,onChange:n=>{let r=n.target.value;t({...e,column_name:r})},children:[W(`option`,{value:``,children:`Select column`}),o.map(e=>W(`option`,{value:e,className:`no-track-pii-safe`,children:e},e))]})]})})}function Gl(e){return _(e)}function Kl({model:e,columnName:t}){let n=F();return G(Y,{variant:`h5`,sx:{pt:4,textAlign:`center`,color:n?`grey.200`:`grey.600`},children:[`Model `,e,`.`,t]})}function ql({showAll:e,onToggle:t}){return W(K,{sx:{display:`flex`,p:5,justifyContent:`start`},children:W(St,{component:`button`,onClick:t,sx:{color:`iochmara.main`,cursor:`pointer`},children:e?`View Only Top-10`:`View More Items`})})}function Jl(e,{viewOptions:t,onViewOptionsChanged:n,isDark:r}){let i=e.result,a=e.params;if(!i)return{isEmpty:!0};let o=i.base,s=i.current,c=t?.show_all??!1,l=!c,u=o.values.length>10||s.values.length>10?W(ql,{showAll:c,onToggle:()=>{n&&n({...t,show_all:!c})}}):void 0;return{content:G(U,{children:[W(Kl,{model:a.model,columnName:a.column_name}),G(J,{direction:`row`,sx:{alignItems:`center`},children:[W(K,{sx:{flex:1}}),W(yc,{baseData:o,currentData:s,showComparison:!0,maxItems:l?10:void 0,theme:r?`dark`:`light`}),W(K,{sx:{flex:1}})]})]}),footer:u}}const Yl=$({displayName:`TopKDiffResultView`,typeGuard:Gl,expectedRunType:`top_k_diff`,screenshotWrapper:`box`,emptyState:`No data`,transformData:Jl});function Xl(e){return T(e)}const Zl=$({displayName:`ValueDiffDetailResultView`,typeGuard:Xl,expectedRunType:`value_diff_detail`,screenshotWrapper:`grid`,emptyState:`No data`,transformData:(e,{viewOptions:t,onViewOptionsChanged:n})=>{let r=t?.changed_only??!1,i=t?.pinned_columns??[],a=t?.display_mode??`inline`,o=t?.columnsRenderMode??{},s=e.params?.primary_key;if(!s||!e.result)return{isEmpty:!0};let c=Array.isArray(s)?s:[s],l=Me(e.result,c,{changedOnly:r,pinnedColumns:i,onPinnedColumnsChange:e=>{n&&n({...t,pinned_columns:e})},columnsRenderMode:o,onColumnsRenderModeChanged:e=>{let r={...t?.columnsRenderMode??{},...e};n&&n({...t,columnsRenderMode:r})},displayMode:a});if(l.columns.length===0)return{isEmpty:!0};let u=e.result?.limit??0,d=[];u>0&&e.result?.more&&d.push(`Warning: Displayed results are limited to ${u.toLocaleString()} records. To ensure complete data retrieval, consider applying a LIMIT or WHERE clause to constrain the result set.`);let f=G(U,{children:[W(_a,{displayMode:a,onDisplayModeChanged:e=>{n&&n({...t,display_mode:e})}}),W(ha,{changedOnly:t?.changed_only,onChange:()=>{let e=!t?.changed_only;n&&n({...t,changed_only:e})}})]});return r&&l.rows.length===0?{isEmpty:!0,emptyMessage:`No change`,toolbar:f,warnings:d.length>0?d:void 0,warningStyle:`amber`}:{columns:l.columns,rows:l.rows,warnings:d.length>0?d:void 0,warningStyle:`amber`,toolbar:f,defaultColumnOptions:{resizable:!0,maxWidth:800,minWidth:35},noRowsMessage:`No mismatched rows`}}});function Ql({params:e,onParamsChanged:t,setIsReadyToExecute:n}){let[r,i]=H(!e.columns||e.columns.length===0),a=e.model,o=e.primary_key,{columns:s,primaryKey:c,isLoading:l,error:u}=_d(e.model);z(()=>{!o&&c&&t({...e,primary_key:c})},[o,c,e,t]),z(()=>{n(!!(o&&a))},[o,a,n]);let d=s.map(e=>e.name),f=Array.isArray(o)?o:o?[o]:void 0;return l?W(K,{children:`Loading...`}):d.length===0||u?W(K,{children:`Error: Please provide the 'catalog.json' to list column candidates`}):G(J,{spacing:5,sx:{m:`8px 24px`,pb:`200px`},children:[G(K,{children:[W(Y,{variant:`body2`,sx:{mb:1},children:`Model`}),W(An,{fullWidth:!0,size:`small`,value:e.model,slotProps:{input:{readOnly:!0}}})]}),G(K,{children:[W(Y,{variant:`body2`,sx:{mb:1},children:`Primary key`}),W(Or,{multiple:!0,size:`small`,disableCloseOnSelect:!0,options:d,value:(f??[]).filter(e=>e!==void 0),onChange:(n,r)=>{t({...e,primary_key:r.length===1?r[0]:r})},renderInput:e=>W(An,{...e,placeholder:(f??[]).length===0?`Select primary key`:``,className:`no-track-pii-safe`})})]}),G(K,{children:[W(Y,{variant:`body2`,sx:{mb:1},children:`Columns`}),W(hn,{control:W(mn,{checked:r,onChange:n=>{i(n.target.checked),t({...e,columns:void 0})},size:`small`}),label:`All columns`,sx:{mb:`10px`}}),!r&&W(Or,{multiple:!0,size:`small`,disableCloseOnSelect:!0,options:d,value:e.columns??[],onChange:(n,r)=>{t({...e,columns:r.length===0?void 0:r})},renderInput:t=>W(An,{...t,placeholder:(e.columns??[]).length===0?`Select columns`:``,className:`no-track-pii-safe`})})]})]})}function $l(e){return D(e)}function eu({params:e,summary:t}){let n=t.total-t.added-t.removed;return G(K,{sx:{px:`16px`,pt:`5px`,pb:`5px`},children:[`Model: `,e.model,`, `,t.total,` total (`,n,` common,`,` `,t.added,` added, `,t.removed,` removed)`]})}function tu(e){if(!e.result||!e.params)return{renderNull:!0};let t=ml(e.result,{params:e.params});return t?{columns:t.columns,rows:t.rows,isEmpty:!1,header:W(eu,{params:e.params,summary:e.result.summary})}:{renderNull:!0}}const nu=$({displayName:`ValueDiffResultView`,typeGuard:$l,expectedRunType:`value_diff`,screenshotWrapper:`grid`,transformData:tu}),ru={lineage_diff:{title:`Lineage Diff`,icon:Cr},schema_diff:{title:`Schema Diff`,icon:xr},query:{title:`Query`,icon:Dr,RunResultView:Il},query_base:{title:`Query Base`,icon:Dr,RunResultView:Il},query_diff:{title:`Query Diff`,icon:Dr,RunResultView:Pl},row_count:{title:`Row Count`,icon:br,RunResultView:Hl},row_count_diff:{title:`Row Count Diff`,icon:br,RunResultView:Ul},profile:{title:`Profile`,icon:Er,RunResultView:jl,RunForm:kl},profile_diff:{title:`Profile Diff`,icon:Er,RunResultView:Ml,RunForm:kl},value_diff:{title:`Value Diff`,icon:Sr,RunResultView:nu,RunForm:Ql},value_diff_detail:{title:`Value Diff Detail`,icon:Sr,RunResultView:Zl,RunForm:Ql},top_k_diff:{title:`Top-K Diff`,icon:Ct,RunResultView:Yl,RunForm:Wl},histogram_diff:{title:`Histogram Diff`,icon:wr,RunResultView:qc,RunForm:Ya},simple:{title:`Simple`,icon:Tr}};function iu(e){return ru[e]}const au=ru;function ou(e){let t={...ru};for(let[n,r]of Object.entries(e))r&&n in t&&(t[n]={...t[n],...r});return t}function su(e){return t=>e[t]}function cu(e){return{id:e.run_id,name:e.name,type:e.type,status:e.status??`Finished`,runAt:e.run_at,checkId:e.check_id}}function lu(){let{closeHistory:t,showRunId:n,runId:r}=M(),{featureToggles:i}=ie(),{apiClient:o}=rs(),s=yr(),c=dt(),{basePath:l}=ae(),{data:u,isLoading:d}=ut({queryKey:k.runs(),queryFn:async()=>await e(o),retry:!1}),f=B(()=>(u??[]).map(cu),[u]),p=R(e=>{ot({name:`click_run`}),n(e,!1)},[n]),m=R(async e=>{ot({name:`add_to_checklist`});let t=await a(e,void 0,o);await c.invalidateQueries({queryKey:k.checks()}),s.push(`${l}/checks/?id=${t.check_id}`)},[o,c,s.push,l]),h=R(e=>{ot({name:`go_to_check`}),s.push(`${l}/checks/?id=${e}`)},[s.push,l]),g=R(()=>{ot({name:`hide`}),t()},[t]),_=R(e=>{let t=iu(e)?.icon;return t?W(t,{}):null},[]),v=W(X,{"aria-label":`Close History`,onClick:g,children:W(an,{})});return W(zs,{runs:f,selectedId:r,isLoading:d,onRunSelect:p,onAddToChecklist:m,onGoToCheck:h,getRunIcon:_,hideAddToChecklist:i.disableUpdateChecklist&&!i.checklistPermissionDenied,disableAddToChecklist:i.checklistPermissionDenied,title:`History`,headerActions:v,emptyMessage:`No runs`,loadingMessage:`Loading...`,groupByDate:!0,addToChecklistIcon:W(Lt,{}),goToCheckIcon:W(It,{color:`green`})})}const uu=({size:e=16})=>G(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,children:[W(`circle`,{cx:`12`,cy:`12`,r:`10`}),W(`path`,{d:`M12 16v-4`}),W(`path`,{d:`M12 8h.01`})]});function du({isOpen:e,onClose:t,onExecute:n,type:r,title:i,params:a,RunForm:o,submitOnSelection:s=!1,onCancel:c,onExecuteClick:l,documentationUrl:u,InfoIcon:d=uu}){let[f,p]=H(a??{}),[m,h]=H(null),[g,_]=H(!1),v=V(!1),y=()=>{v.current||c?.(),v.current=!1,t()},b=e=>{v.current=!0,l?.(),n(r,e)};return G(vt,{open:e,onClose:y,maxWidth:`sm`,fullWidth:!0,scroll:`paper`,slotProps:{paper:{sx:{height:`75%`,minHeight:`400px`}}},children:[G(xt,{sx:{display:`flex`,alignItems:`center`},children:[i,` `,u&&G(U,{children:[W(X,{size:`small`,"aria-label":`Click this button to learn more about the SQL behind`,onMouseEnter:e=>h(e.currentTarget),onMouseLeave:()=>h(null),onClick:()=>window.open(u,`_blank`),children:W(K,{component:d,sx:{fontSize:`16px`}})}),W(Xn,{open:!!m,anchorEl:m,onClose:()=>h(null),anchorOrigin:{vertical:`bottom`,horizontal:`right`},transformOrigin:{vertical:`top`,horizontal:`right`},disableRestoreFocus:!0,sx:{pointerEvents:`none`},slotProps:{paper:{sx:{bgcolor:`black`,color:`white`,p:1}}},children:G(Y,{sx:{fontSize:`0.875rem`},children:[`Click`,` `,W(St,{href:u,target:`_blank`,sx:{textDecoration:`underline`,color:`white`,"&:hover":{color:`iochmara.300`}},children:`here`}),` `,`to learn more about the SQL behind`]})})]})]}),W(X,{"aria-label":`close`,onClick:y,sx:{position:`absolute`,right:8,top:8,color:`grey.500`},children:W(Nt,{})}),W(bt,{sx:{p:0,overflow:`auto`,borderTop:`1px solid`,borderBottom:`1px solid`,borderColor:`divider`},children:W(K,{sx:{contain:`layout`},children:o&&W(o,{params:f,onParamsChanged:p,setIsReadyToExecute:_,onSubmitRequested:s?b:void 0})})}),W(yt,{children:W(J,{direction:`row`,spacing:`10px`,children:W(q,{disabled:!g,color:`iochmara`,variant:`contained`,onClick:()=>b(f),children:`Execute`})})})]})}const fu=e=>({value_diff:`https://docs.reccehq.com/features/lineage/#value-diff`,profile_diff:`https://docs.reccehq.com/features/lineage/#profile-diff`,histogram_diff:`https://docs.reccehq.com/features/lineage/#histogram-diff`,top_k_diff:`https://docs.reccehq.com/features/lineage/#top-k-diff`})[e]||null;function pu({isOpen:e,onClose:t,onExecute:n,type:r,title:i,params:a,initialRun:o,RunForm:s,submitOnSelection:c}){return W(du,{isOpen:e,onClose:t,onExecute:n,type:r,title:i,params:a,initialRun:o,RunForm:s,submitOnSelection:c,onCancel:()=>{rt(r)&&at({action:r,event:nt.CANCEL})},onExecuteClick:()=>{rt(r)&&at({action:r,event:nt.EXECUTE})},documentationUrl:fu(r),InfoIcon:Yt})}const mu=mt(function({isRunning:e,runId:t,progress:n,error:r,run:i,onCancel:a,viewOptions:o,onViewOptionsChanged:s,RunResultView:c,children:l,ErrorBoundary:u,errorBoundaryFallback:d},f){let p=F(),m=ws(),h=r?.response?.data?.detail??i?.error,g=i?.run_id??t,_=g!=null&&m.has(g),v=i?.status===`Cancelled`||_;if(h)return G(vn,{severity:`error`,sx:p?{bgcolor:`error.dark`,color:`common.white`,"& .MuiAlert-icon":{color:`common.white`}}:void 0,children:[`Error: `,W(`span`,{className:`no-track-pii-safe`,children:h})]});if(v)return W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,p:`1rem`,height:`100%`,bgcolor:p?`grey.900`:`grey.50`},children:W(J,{spacing:1,sx:{alignItems:`center`},children:W(Y,{children:`Cancelled`})})});if((e||i?.status===`Running`)&&!_){let e=`Loading...`;n?.message?e=n.message:i?.progress?.message&&(e=i.progress.message);let t=n?.percentage==null?void 0:n.percentage*100;return W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,p:`1rem`,height:`100%`,bgcolor:p?`grey.900`:`grey.50`},children:G(J,{spacing:2,sx:{alignItems:`center`},children:[G(J,{direction:`row`,spacing:1,sx:{alignItems:`center`},children:[t==null?W(Ft,{size:32}):G(K,{sx:{position:`relative`,display:`inline-flex`},children:[W(Ft,{variant:`determinate`,value:t,size:32}),W(K,{sx:{top:0,left:0,bottom:0,right:0,position:`absolute`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:W(Y,{variant:`caption`,component:`div`,sx:{fontSize:`0.6rem`},children:`${Math.round(t)}%`})})]}),W(Y,{className:`no-track-pii-safe`,children:e})]}),W(q,{variant:`contained`,onClick:a,size:`small`,children:`Cancel`})]})})}if(!i)return W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,bgcolor:p?`grey.900`:`grey.50`,height:`100%`},children:W(Ft,{size:32})});if(l&&c)throw Error(`RunView requires either a children or a RunResultView prop, but not both.`);if(!l&&!c)throw Error(`RunView requires at least one of children or RunResultView prop.`);return W(K,{sx:{height:`100%`,contain:`layout`,overflow:`auto`,bgcolor:p?`grey.900`:`grey.50`},className:`no-track-pii-safe`,children:(()=>{let e=c&&(i.error??i.result)?W(c,{ref:f,run:i,viewOptions:o,onViewOptionsChanged:s}):null,t=l?.({run:i,viewOptions:o,onViewOptionsChanged:s});return u&&e?G(U,{children:[W(u,{fallback:d,children:e}),t]}):G(U,{children:[e,t]})})()})});mu.displayName=`RunView`;const hu=L(({type:e,params:t})=>{let n=F(),r=Ln.stringify({type:e,params:t},null,2);return W(Qo,{value:r,language:`yaml`,readOnly:!0,lineNumbers:!1,wordWrap:!0,fontSize:14,height:`100%`,theme:n?`dark`:`light`,className:`no-track-pii-safe`})});hu.displayName=`ParamView`;function gu(e,t){return t!=null&&t>0?`${e} (${Ce(t)})`:e}const _u=L(({open:e,rowCount:t,onContinue:n,onCancel:r})=>G(vt,{open:e,onClose:r,children:[W(xt,{children:`Large Export Warning`}),W(bt,{children:G(kr,{children:[`You are about to download `,W(`strong`,{children:Ce(t)}),`. This may take a while and produce a large file. Are you sure you want to continue?`]})}),G(yt,{children:[W(q,{onClick:r,children:`Cancel`}),W(q,{onClick:n,variant:`contained`,children:`Continue`})]})]}));_u.displayName=`LargeExportWarningDialog`;const vu=L(({disableExport:e,onCopyAsImage:t,onMouseEnter:n,onMouseLeave:r,csvExport:i,label:a=`Export`})=>{let[o,s]=H(null),c=!!o,[l,u]=H(!1),[d,f]=H(null),p=i?.totalRowCount??0,m=p>1e5,h=e=>{s(e.currentTarget)},g=()=>{s(null)},_=e=>{m?(f(()=>e),u(!0)):(e(),g())};return G(U,{children:[W(q,{size:`small`,variant:`outlined`,color:`neutral`,onClick:h,endIcon:W(zt,{}),sx:{textTransform:`none`},children:a}),G(bn,{anchorEl:o,open:c,onClose:g,children:[G(Q,{onClick:async()=>{await t(),g()},onMouseEnter:n,onMouseLeave:r,disabled:e,children:[W(Ar,{children:W(Jt,{})}),W(jr,{children:`Copy as Image`})]}),G(Q,{onClick:async()=>{await i?.copyAsTSV?.(),g()},disabled:e||!i?.canExportCSV,children:[W(Ar,{children:W(Wt,{})}),W(jr,{children:`Copy as Text`})]}),G(Q,{onClick:async()=>{await i?.copyAsCSV(),g()},disabled:e||!i?.canExportCSV,children:[W(Ar,{children:W(tn,{})}),W(jr,{children:`Copy as CSV`})]}),i?.copySelectedRows&&G(Q,{onClick:async()=>{await i.copySelectedRows?.(),g()},disabled:e,children:[W(Ar,{children:W(en,{})}),W(jr,{children:`Copy Selected Rows`})]}),G(Q,{onClick:()=>_(()=>i?.downloadAsCSV()),disabled:e||!i?.canExportCSV,children:[W(Ar,{children:W(qt,{})}),W(jr,{children:gu(`Download as CSV`,i?.totalRowCount)})]}),G(Q,{onClick:()=>_(()=>i?.downloadAsTSV?.()),disabled:e||!i?.canExportCSV,children:[W(Ar,{children:W(qt,{})}),W(jr,{children:gu(`Download as TSV`,i?.totalRowCount)})]}),i?.downloadAsExcel&&G(Q,{onClick:()=>_(()=>i?.downloadAsExcel?.()),disabled:e||!i?.canExportCSV,children:[W(Ar,{children:W(qt,{})}),W(jr,{children:gu(`Download as Excel`,i?.totalRowCount)})]})]}),W(_u,{open:l,rowCount:p,onContinue:()=>{u(!1),d?.(),f(null),g()},onCancel:()=>{u(!1),f(null)}})]})});vu.displayName=`DefaultExportMenu`;const yu=L(({runId:e,run:t,disableUpdateChecklist:n,checklistPermissionDenied:r,hasError:i,onGoToCheck:a,onAddToChecklist:o})=>{let s=ws();if(e&&s.has(e))return null;let c=t?.check_id,l=!e||!t?.result||i;return n&&!r?null:c?W(q,{disabled:l,size:`small`,variant:`contained`,onClick:()=>a?.(c),startIcon:W(Vt,{}),sx:{textTransform:`none`},children:`Go to Check`}):W(Z,{title:r?`You don't have permission to add checks`:``,children:W(`span`,{children:W(q,{disabled:l||r,size:`small`,variant:`contained`,onClick:o,startIcon:W(Vt,{}),sx:{textTransform:`none`},children:`Add to Checklist`})})})});yu.displayName=`DefaultAddToCheckButton`;const bu=L(({run:e})=>{let t=ws(),{color:n,label:r}=Es(e.run_id&&t.has(e.run_id)?`Cancelled`:Ts(e)),i=e.run_at?Mn(new Date(e.run_at),{addSuffix:!0}):`Unknown time`;return G(Y,{variant:`body2`,sx:{color:`text.secondary`},children:[W(K,{component:`span`,sx:{fontWeight:600,color:n},children:r}),`・`,i]})});bu.displayName=`RunStatusAndDateDisplay`;function xu({runId:e,run:t,isRunning:n,error:r,viewOptions:i,onViewOptionsChanged:a,isSingleEnvironment:o,disableDatabaseQuery:s,disableShare:c,disableUpdateChecklist:l,checklistPermissionDenied:u,onClose:d,onCancel:f,onRerun:p,onCopyAsImage:m,onCopyMouseEnter:h,onCopyMouseLeave:g,csvExport:_,onTrackCopyToClipboard:v,onGoToCheck:y,onAddToChecklist:b,SingleEnvironmentNotification:x,SqlEditorComponent:S,DualSqlEditorComponent:C,RunResultView:w,resultViewRef:T,children:E}){let D=F(),O=ws(),k=e?O.has(e):!1,[A,ee]=H(`result`),[te,ne]=H(!0),re=t?.type===`query`||t?.type===`query_diff`||t?.type===`query_base`,ie=!e||!t?.result||!!r||A!==`result`||k,ae=R(async()=>{await m?.(),v&&v(t?.type??`unknown`,`run`)},[m,v,t?.type]),oe=t?.type===`query_diff`,j=t?.params;return G(K,{sx:{display:`flex`,flexDirection:`column`,height:`100%`,bgcolor:D?`grey.900`:`grey.50`},children:[o&&te&&x&&W(x,{runType:t?.type,onClose:()=>ne(!1)}),G(K,{sx:{display:`flex`,alignItems:`center`,borderBottom:1,borderColor:`divider`,mb:`1px`},children:[G(Pn,{value:A,onChange:(e,t)=>ee(t),children:[W(Nn,{label:`Result`,value:`result`}),W(Nn,{label:`Params`,value:`params`}),re&&W(Nn,{label:`Query`,value:`query`})]}),W(K,{sx:{flexGrow:1}}),G(J,{direction:`row`,spacing:1,sx:{alignItems:`center`,overflow:`hidden`,pr:1},children:[t&&W(bu,{run:t}),W(q,{variant:`outlined`,color:`neutral`,disabled:!e||n||s,size:`small`,onClick:p,startIcon:W($t,{}),sx:{textTransform:`none`},children:`Rerun`}),W(vu,{run:t,disableExport:ie,onCopyAsImage:ae,onMouseEnter:h,onMouseLeave:g,csvExport:_,label:c?`Export`:`Share`}),W(yu,{runId:e,run:t,disableUpdateChecklist:l,checklistPermissionDenied:u,hasError:!!r,onGoToCheck:y,onAddToChecklist:b}),W(X,{size:`small`,onClick:d,children:W(Nt,{})})]})]}),A===`result`&&(w||E)&&W(mu,{ref:T,runId:e,isRunning:n,error:r,run:t,onCancel:f,viewOptions:i,onViewOptionsChanged:a,RunResultView:w,children:E}),A===`params`&&t&&W(hu,{type:t.type,params:t.params}),A===`query`&&t&&re&&j?.sql_template&&W(U,{children:oe&&C?W(C,{value:j.sql_template,baseValue:j.base_sql_template,readOnly:!0}):S?W(S,{value:j.sql_template,readOnly:!0}):W(Qo,{value:j.sql_template,language:`sql`,readOnly:!0,theme:`dark`,height:`100%`})})]})}const Su=L(xu);Su.displayName=`RunResultPane`;function Cu(e){let t=e.getSelectedNodes();if(t.length===0)return null;let n=e.getAllDisplayedColumns().filter(e=>e.getColId()!==`ag-Grid-SelectionColumn`);if(n.length===0)return null;let r=n.map(e=>{let t=e.getColDef();return String(t.headerName??t.field??e.getColId())}),i=t.map(t=>n.map(n=>e.getCellValue({rowNode:t,colKey:n,useFormatter:!0})??``));return He(r,i)}const wu=e=>G(K,{sx:{display:`flex`,flex:1,minHeight:`48px`,m:`4px`,px:`16px`,py:`12px`,bgcolor:`primary.50`,border:`1px solid`,borderRadius:`4px`,borderColor:`primary.400`,alignItems:e.align??`center`,gap:`12px`},children:[W(K,{component:Mr,sx:{width:`20px`,height:`20px`,color:`primary.900`}}),e.children,W(K,{sx:{flexGrow:1}}),W(X,{size:`small`,onClick:e.onClose,children:W(Nt,{})})]}),Tu=()=>G(St,{href:`https://docs.reccehq.com/get-started/#prepare-dbt-artifacts`,target:`_blank`,sx:{color:`primary.main`,fontWeight:`bold`,textDecoration:`underline`,display:`inline-flex`,alignItems:`center`,gap:.5},children:[`Learn how `,W(wt,{})]});function Eu({value:e,onChange:t,onRun:n,onRunBase:r,onRunDiff:i,label:a,CustomEditor:o,options:s={},manifestData:c,schemas:l,...u}){let{featureToggles:d}=ie(),f=F(),p=e=>{t&&t(e)},m=``;c&&(m=c.generated_at?Ge(c.generated_at):``);let h=B(()=>{let e=[];return n&&e.push({key:`Mod-Enter`,run:()=>(n(),!0)}),r&&e.push({key:`Alt-Enter`,run:()=>(r(),!0)}),i&&e.push({key:`Mod-Shift-Enter`,run:()=>(i(),!0)}),e},[n,r,i]);return G(U,{children:[(a??n??r)&&G(J,{direction:`row`,sx:{bgcolor:Dt(f?P.neutral[600]:P.neutral[200],.7),height:`40px`,minHeight:`40px`,fontSize:`14px`,alignItems:`center`,m:0,p:`0px 16px`,flex:`0 0 40px`},children:[W(Y,{component:`strong`,sx:{fontWeight:`bold`},className:`no-track-pii-safe`,children:a?a.toUpperCase():``}),c&&G(`span`,{className:`ml-1`,children:[`(`,l&&G(`span`,{className:`no-track-pii-safe`,children:[l,`, `]}),W(`span`,{children:m}),`)`]}),W(K,{sx:{flexGrow:1}}),(n??r)&&W(q,{size:`xsmall`,variant:`outlined`,onClick:n??r,sx:{bgcolor:`background.paper`,p:`6px 12px`},disabled:d.disableDatabaseQuery,startIcon:W(Nr,{}),children:`Run Query`})]}),o??W(Qo,{value:e,onChange:p,language:`sql`,readOnly:s.readOnly??!1,lineNumbers:s.lineNumbers!==`off`,wordWrap:s.wordWrap!==`off`,fontSize:s.fontSize??16,keyBindings:h,theme:f?`dark`:`light`,className:`no-track-pii-safe max-h-dvh h-full`})]})}function Du({value:e,baseValue:t,onChange:n,onChangeBase:r,onRun:i,onRunBase:a,onRunDiff:o,options:s={},labels:c,SetupGuide:l,...u}){let d=c?c[0]:`Base`,f=c?c[1]:`Current`,{envInfo:p,lineageGraph:m}=fe(),h,g;p?.dbt?.base&&p.dbt.current&&(h=p.dbt.base,g=p.dbt.current);let[_,v]=Ue(m);return W(U,{children:G(J,{direction:`row`,sx:{height:`100%`,gap:0},children:[W(J,{sx:{height:`100%`,width:`50%`,gap:0,borderRight:`1px solid`,borderRightColor:`divider`},children:W(Eu,{label:d,value:t??``,onChange:r,onRunBase:a,options:s,CustomEditor:l,manifestData:h??void 0,schemas:Array.from(_).join(`, `),...u})}),W(J,{sx:{height:`100%`,width:`50%`,gap:0},children:W(Eu,{label:f,value:e,onChange:n,onRun:i,options:s,manifestData:g??void 0,schemas:Array.from(v).join(`, `),...u})})]})})}const Ou=({runType:e,onClose:t})=>{switch(e){case`row_count`:return W(wu,{onClose:t,children:G(Y,{children:[`Enable row count diffing, and other Recce features, by configuring a base dbt environment to compare against. `,W(Tu,{})]})});case`profile`:return W(wu,{onClose:t,children:G(Y,{children:[`Enable data-profile diffing, and other Recce features, by configuring a base dbt environment to compare against.`,` `,W(Tu,{})]})});default:return null}},ku=({value:e,readOnly:t})=>W(Eu,{value:e,options:{readOnly:t}}),Au=({value:e,baseValue:t,readOnly:n})=>W(Du,{value:e,baseValue:t,options:{readOnly:n}}),ju=({runId:e,onClose:t,isSingleEnvironment:n})=>{let{featureToggles:r}=ie(),{runAction:i}=M(),{error:o,run:s,onCancel:c,isRunning:l}=yd(e),[u,f]=H(),p=dt(),m=yr(),{apiClient:h}=rs(),{basePath:g}=ae(),_;s&&d(s.type)&&(_=iu(s.type).RunResultView);let{ref:v,onCopyToClipboard:y,onMouseEnter:b,onMouseLeave:x}=sd(),S=fd({run:s,runId:e,viewOptions:u}),C=!!s?.type&&[`query`,`query_base`,`query_diff`].includes(s.type),w=R(async()=>{let e=v.current?.api;if(!e)return;let t=Cu(e);if(!t){I.create({title:`No rows selected`,description:`Select rows with the checkboxes, then copy.`,type:`info`,duration:3e3});return}try{await De(t),I.create({title:`Copied to clipboard`,description:`Selected rows copied — paste into any spreadsheet`,type:`success`,duration:2e3}),it({type:s?.type??`unknown`,from:`run-selection`})}catch(e){console.error(`Failed to copy selected rows:`,e),I.create({title:`Copy failed`,description:`Failed to copy to clipboard`,type:`error`,duration:3e3})}},[v,s?.type]),T=R(()=>{s&&i(s.type,s.params)},[s,i]),E=R(async()=>{await y(),it({type:s?.type??`unknown`,from:`run`})},[y,s?.type]),D=R(e=>{m.push(`${g}/checks/?id=${e}`)},[m.push,g]),O=R(async()=>{if(e)try{let t=await a(e,u,h);await p.invalidateQueries({queryKey:k.checks()}),m.push(`${g}/checks/?id=${t.check_id}`)}catch(e){ne(e)&&e.status===403?I.error({title:`Permission denied`,description:`You don't have permission to add checks. Contact your org admin for access.`}):I.error({title:`Failed to create check`,description:e instanceof Error?e.message:`An unexpected error occurred`})}},[e,u,h,p,m.push,g]);return W(Su,{runId:e,run:s,isRunning:l,error:o,viewOptions:u,onViewOptionsChanged:f,isSingleEnvironment:n,disableDatabaseQuery:r.disableDatabaseQuery,disableShare:r.disableShare,disableUpdateChecklist:r.disableUpdateChecklist,checklistPermissionDenied:r.checklistPermissionDenied,onClose:t,onCancel:c,onRerun:T,onCopyAsImage:E,onCopyMouseEnter:b,onCopyMouseLeave:x,csvExport:{...S,copySelectedRows:C?w:void 0},onGoToCheck:D,onAddToChecklist:O,SingleEnvironmentNotification:Ou,SqlEditorComponent:ku,DualSqlEditorComponent:Au,RunResultView:_,resultViewRef:v})},Mu=({onClose:e,isSingleEnvironment:t})=>{let{runId:n}=M();return W(ju,{runId:n,onClose:e,isSingleEnvironment:t})};function Nu({error:e,resetError:t}){let{background:n,text:r}=bd();return W(K,{sx:{height:`100%`,bgcolor:n.subtle,display:`flex`,alignItems:`center`,justifyContent:`center`},children:G(K,{sx:{p:4,display:`flex`,flexDirection:`column`,justifyContent:`flex-start`,bgcolor:`background.paper`,border:`solid 1px`,borderColor:`divider`,minHeight:`200px`},children:[W(Y,{variant:`h6`,sx:{width:`800px`},children:`You have encountered an error`}),W(K,{sx:{flex:1,fontSize:`10pt`,color:r.secondary},children:String(e)}),W(q,{sx:{justifySelf:`center`,alignSelf:`center`,mt:`20px`},color:`iochmara`,variant:`contained`,size:`small`,onClick:t,children:`Reset`})]})})}const Pu=e=>W(Nu,{error:e.error,resetError:e.resetError}),Fu=({children:e,fallback:t=Pu})=>W(Pr,{fallback:t,children:e}),Iu=mt(function(e,t){let n={...e,ErrorBoundary:Fu,errorBoundaryFallback:ct};return W(mu,{...n,ref:t})});Iu.displayName=`RunViewOss`;const Lu={mode:`per_node`,status:`pending`,completed:0,total:0,actions:{}},Ru=(e,t)=>{let{onActionStarted:n,onActionNodeUpdated:r,onActionCompleted:i,onTrackAction:a,trackingSource:o=`lineage_view_top_bar`}=t,c=A(),u=V({...Lu}).current,d=ws(),{showRunId:f}=M(),p=async(t,a,o)=>{u.mode=`multi_nodes`,u.actions={};let s=u.mode,l=u.actions;n(),u.status=`running`;let d=[];for(let t of e){let e=a(t);e?(l[t.id]={mode:s,status:`skipped`,skipReason:e},r(t)):(l[t.id]={mode:s,status:`pending`},d.push(t))}let p=o(d);try{let{run_id:e}=await C(t,p,{nowait:!0},c);for(f(e),u.currentRun={run_id:e},u.total=1;;){let t=await x(e,2,c);u.currentRun=t;let n=t.error?`failure`:t.result?`success`:`running`;for(let e of d)l[e.id]={mode:s,status:n,run:t},r(e);if(t.error||t.result)break}}catch{}if(u.completed=1,u.status===`canceling`){u.status=`canceled`,i();return}u.status=`completed`,i()},m=async(t,a)=>{u.mode=`per_node`,u.actions={};let o=u.mode,s=u.actions;n(),u.status=`running`;for(let t of e)s[t.id]={mode:o,status:`pending`},r(t);u.completed=0,u.total=e.length;for(let n of e){let{params:e,skipReason:l}=a(n);if(l)s[n.id]={mode:o,status:`skipped`,skipReason:l},r(n);else try{let{run_id:i}=await C(t,e,{nowait:!0},c);for(u.currentRun={run_id:i},s[n.id]={mode:o,status:`running`},r(n);;){let e=await x(i,2,c);u.currentRun=e;let t=e.error?`failure`:e.result?`success`:`running`;if(s[n.id]={mode:o,status:t,run:e},r(n),e.error||e.result)break}}catch{}finally{u.currentRun=void 0}if(u.completed++,u.status===`canceling`){u.status=`canceled`,i();return}}u.status=`completed`,i()};return{actionState:u,runRowCount:async()=>{a?.({action:`row_count`,source:o,node_count:e.length});for(let t of e)t.data.resourceType!==`model`&&(u.actions[t.id]={mode:`multi_nodes`,status:`skipped`,skipReason:`Not a model`},r(t));await p(`row_count`,e=>{if(e.data.resourceType!==`model`)return`Not a model`},e=>({node_names:e.map(e=>e.data.name)}))},runRowCountDiff:async()=>{a?.({action:`row_count_diff`,source:o,node_count:e.length});for(let t of e)t.data.resourceType!==`model`&&(u.actions[t.id]={mode:`multi_nodes`,status:`skipped`,skipReason:`Not a model`},r(t));await p(`row_count_diff`,e=>{if(e.data.resourceType!==`model`)return`Not a model`},e=>({node_names:e.map(e=>e.data.name)}))},runValueDiff:async()=>{a?.({action:`value_diff`,source:o,node_count:e.length}),await m(`value_diff`,e=>({skipReason:`No primary key found. The first unique column is used as primary key.`}))},addLineageDiffCheck:async()=>{let t=e.map(e=>e.id);return await s({node_ids:t},c)},addSchemaDiffCheck:async()=>{let t;if(e.length===1)t=await v({node_id:e[0].id},c);else{let n=e.map(e=>e.id);t=await v({node_id:n},c)}return t},cancel:()=>{u.status=`canceling`;let e=u.currentRun?.run_id;return e&&(d.add(e),l(e,c)),Promise.resolve()},reset:()=>{Object.assign(u,Lu)}}};function zu({connect:e,idleSeconds:t}){return G(U,{children:[W(xt,{children:`Server Disconnected`}),W(bt,{children:t!=null&&t>0?G(Y,{children:[`The server has been idle for `,Ke(t),` and was automatically stopped. Please restart the Recce server to continue.`]}):W(Y,{children:`The server connection has been lost. Please restart the Recce server and try again.`})}),W(yt,{children:W(q,{color:`iochmara`,variant:`contained`,onClick:()=>{e()},children:`Retry`})})]})}function Bu({shareUrl:e,mode:t,supportCalendarUrl:n,LinkComponent:r}){let i={"read only":{title:`Share Instance Expired`,body:`This Share Instance has expired. Please restart the share instance.`,action:`Restart`,link:e},"metadata only":{title:`Preview Instance Expired`,body:`This Preview Instance has expired. To browse more, please book a meeting with us.`,action:`Contact us`,link:n}}[t],a=W(q,{color:`iochmara`,variant:`contained`,children:i.action});return G(U,{children:[W(xt,{children:i.title}),W(bt,{children:W(Y,{children:i.body})}),W(yt,{children:t===`read only`?W(r||`a`,{href:i.link,children:a}):W(q,{color:`iochmara`,variant:`contained`,onClick:()=>window.open(i.link,`_blank`),children:i.action})})]})}function Vu(e){let{apiClient:t}=rs();return ut({queryKey:k.lineage(),queryFn:()=>E(t),...e})}function Hu({enabled:e=!0,baseUrl:t,apiPrefix:n}={}){let[r,i]=H(void 0),a=V({ws:void 0,status:`pending`,artifactsUpdatedToastId:void 0}),[o,s]=H(e?`pending`:`connected`),[c,l]=H(void 0);z(()=>{a.current.status=o},[o]),z(()=>{a.current.artifactsUpdatedToastId=r},[r]);let u=dt(),d=R(()=>{u.invalidateQueries({queryKey:k.lineage()}),u.invalidateQueries({queryKey:k.checks()}),u.invalidateQueries({queryKey:k.runs()})},[u]),f=R(()=>{function e(e){return e.replace(/(http)(s)?:\/\//,`ws$2://`)}let r=t??et,o=n?`${n}/ws`:`/api/ws`,c=new WebSocket(`${e(r)}${o}`);a.current.ws=c,c.onopen=()=>{c.send(`ping`)},c.onmessage=e=>{if(e.data===`pong`){a.current.status===`disconnected`&&d(),s(`connected`);return}try{let t=JSON.parse(e.data);if(`type`in t&&t.type===`metadata_updated`){d();return}let n=t;if(n.command===`refresh`){let{eventType:e,srcPath:t}=n.event,[r,o]=t.split(`/`).slice(-2),s=o.replace(/\.[^/.]+$/,``),c=`${r}-${s}-${e}`;a.current.artifactsUpdatedToastId??i(I.create({id:c,description:`Detected ${r} ${s} ${e}`,type:`info`,duration:5e3,closable:!0})),d()}else if(n.command===`relaunch`)l(`relaunch`);else{let{id:e,title:t,description:r,status:a,duration:o}=n.event;i(I.create({id:e||`broadcast`,title:t,description:r,type:a??`info`,duration:o??5e3,closable:!0}))}}catch(e){console.error(e)}},c.onerror=e=>{console.error(`An error occurred during Handling WebSockets`,e)},c.onclose=()=>{s(e=>e===`connected`?`disconnected`:e),a.current.ws=void 0}},[d,t,n]);return z(()=>{if(!e)return;let t=a.current;return f(),()=>{t.ws&&t.ws.close()}},[f,e]),{connectionStatus:o,connect:f,envStatus:c}}function Uu({children:e}){let{idleTimeout:t,remainingSeconds:n,isEnabled:r,setDisconnected:i,resetConnection:a}=oe(),{apiClient:o,apiPrefix:s,baseUrl:l}=rs(),u=Vu(),d=ut({queryKey:k.runsAggregated(),queryFn:()=>c(o)}),f=B(()=>{let e=u.data?.lineage;if(e?.nodes)return ue(e)},[u.data]),p=u.error?.message,{state_metadata:m,lineage:h,sqlmesh:g,demo:_,codespace:v,review_mode:y,cloud_mode:b,file_mode:x,filename:S,adapter_type:C,git:w,pull_request:T,support_tasks:E}=u.data??{demo:!1},D={stateMetadata:m,adapterType:C,git:w,pullRequest:T,dbt:{base:h?.metadata?.base?.manifest_metadata,current:h?.metadata?.current?.manifest_metadata},sqlmesh:g},{connectionStatus:O,connect:A,envStatus:te}=Hu({enabled:!0,baseUrl:l,apiPrefix:s});z(()=>{O===`disconnected`?i():O===`connected`&&a()},[O,i,a]);let{data:ne,isLoading:re}=ce(),{featureToggles:ae,shareUrl:j}=ie(),[se,le]=H(!1),[M,fe]=H(!1),pe=dt(),me=!re&&te===`relaunch`&&ne?.single_env_onboarding===!0&&ne.show_relaunch_hint;me!==M&&(fe(me),le(me)),z(()=>{me&&se&&st({action:`target_base_added`})},[me,se]);let he=()=>{le(!1),ee(o),pe.invalidateQueries({queryKey:k.flag()})},ge=R(()=>{d.refetch()},[d]),N=R(()=>{d.refetch()},[d]);return G(U,{children:[W(de,{lineageGraph:f,envInfo:D,reviewMode:y,cloudMode:b,fileMode:x,fileName:S,isDemoSite:_??!1,isCodespace:v,isLoading:u.isLoading,error:p,supportTasks:E,onRefetchLineageGraph:ge,runsAggregated:d.data,onRefetchRunsAggregated:N,children:e}),W(vt,{open:O===`disconnected`,onClose:()=>void 0,children:j&&ae.mode!==null?W(Bu,{shareUrl:j,mode:ae.mode,supportCalendarUrl:tt,LinkComponent:({href:e,children:t})=>W(Mt,{href:e,passHref:!0,children:t})}):W(zu,{connect:A,idleSeconds:r&&t!==null&&n!==null&&n<=5?t-Math.max(0,n):void 0})}),ne?.single_env_onboarding&&G(vt,{open:se,onClose:he,children:[W(xt,{children:`Target-base Added`}),W(X,{"aria-label":`close`,onClick:he,sx:{position:`absolute`,right:8,top:8,color:`grey.500`},children:W(Nt,{})}),W(bt,{children:W(Y,{children:`Please restart the Recce server.`})}),W(yt,{children:W(q,{color:`iochmara`,variant:`contained`,onClick:he,children:`Got it!`})})]})]})}const Wu=`select * from {{ ref("mymodel") }}`;function Gu({children:e}){let[t,n]=H(Wu),[r,i]=H(Wu),[a,o]=H(!1),[s,c]=H();return W(Vr,{sql:t,sqlQuery:t,setSqlQuery:n,primaryKeys:s,setPrimaryKeys:c,isCustomQueries:a,setCustomQueries:o,baseSqlQuery:r,setBaseSqlQuery:i,children:e})}const Ku=e=>{},qu=e=>{},Ju=e=>{},Yu=e=>{};function Xu(){let e=Hr();return{sqlQuery:e.sqlQuery??`select * from {{ ref("mymodel") }}`,setSqlQuery:e.setSqlQuery??Ku,primaryKeys:e.primaryKeys,setPrimaryKeys:e.setPrimaryKeys??qu,isCustomQueries:e.isCustomQueries??!1,setCustomQueries:e.setCustomQueries??Ju,baseSqlQuery:e.baseSqlQuery??`select * from {{ ref("mymodel") }}`,setBaseSqlQuery:e.setBaseSqlQuery??Yu}}function Zu(e){let t=vr();z(()=>{e()},[e,t])}function Qu({children:e}){let{apiClient:t}=rs(),[n,r]=H(),[i,a]=H(!1),o=R(()=>a(!0),[]),s=R(()=>a(!1),[]),c=yr(),l=vr(),u=dt(),{basePath:d}=ae(),f=V(null);Zu(s);let p=R(async(e,t)=>{t!==!1&&await u.invalidateQueries({queryKey:k.runs()})},[u]),h=R(async(e,n,i)=>{try{let a=new Date().getTime().toString(),s,p=i;if(p?.showLast){let r=await m(e,n,1,t);r.length===1&&(s=r[0])}let h=iu(e);if(!h)throw Error(`Run type ${e} does not have a result view`);let g=h.RunResultView,{title:_,RunForm:v}=h;if(g===void 0)throw Error(`Run type ${e} does not have a result view`);if(v===void 0||!i?.showForm){let{run_id:r}=await C(e,n,{nowait:!0,trackProps:p?.trackProps},t);await u.invalidateQueries({queryKey:k.runs()}),f.current&&f.current(r);let i=`${d}/lineage`;l.startsWith(`${i}/`)&&l!==i&&c.push(i);return}r({session:a,title:_,type:e,params:n,lastRun:s,options:p,RunForm:v}),o();return}catch(e){I.create({title:`Failed to submit a run`,description:e instanceof Error?e.message:void 0,type:`error`,duration:5e3,closable:!0});return}},[o,u,t,l,c,d]),g=R(async(e,r)=>{try{s();let{run_id:i}=await C(e,r,{nowait:!0,trackProps:n?.options?.trackProps},t);f.current&&f.current(i)}catch(e){I.create({title:`Failed to submit a run`,description:e instanceof Error?e.message:void 0,type:`error`,duration:5e3,closable:!0})}},[s,n?.options?.trackProps,t]);return G(re,{onRunAction:h,onShowRunId:p,children:[W($u,{showRunIdRef:f,children:e}),n&&W(pu,{isOpen:i,onClose:s,onExecute:g,title:n.title,type:n.type,params:n.params,initialRun:n.lastRun,RunForm:n.options?.showForm&&n.RunForm?n.RunForm:void 0,submitOnSelection:n.options?.submitOnSelection},n.session)]})}function $u({children:e,showRunIdRef:t}){let{showRunId:n}=M();return z(()=>(t.current=n,()=>{t.current=null}),[n,t]),W(U,{children:e})}const ed=pt(void 0);function td({children:e}){let[t,n]=H(),[r,i]=H(!1),[a,o]=H(),{apiClient:s}=rs();return W(ed.Provider,{value:{shareUrl:t,isLoading:r,error:a,handleShareClick:async()=>{i(!0),o(void 0),n(void 0);try{let e=await h(s);if(e.status!==`success`){o(e.message);return}n(e.share_url)}catch(e){o(e.message)}finally{i(!1)}}},children:e})}const nd=()=>{let e=ht(ed);if(!e)throw Error(`useRecceShareStateContext must be used within a RecceShareStateContextProvider`);return e};function rd({children:e}){return W(j,{children:W(td,{children:W(Gu,{children:W(Uu,{children:W(Qu,{children:W(Ur,{children:e})})})})})})}const id=e=>`element`in e?e.element:e,ad=`ignore-screenshot`;function od({imageType:e=`png`,backgroundColor:t=null,boardEffect:n=!0,shadowEffect:r=!1,borderStyle:i=`solid 1px ${P.neutral[300]}`,borderRadius:a=`10px`,onSuccess:o,onError:s,ignoreElements:c}){let[l,u]=H(`idle`),d=V(null),{onOpen:f,setImgBlob:p,ImageDownloadModal:m}=cd(),h=async()=>{if(!d.current)throw console.error(`No node to use for screenshot`),Error(`No node to use for screenshot`);let e=id(d.current);if(!e)throw console.error(`Could not get HTMLElement from ref`),Error(`Could not get HTMLElement from ref`);let o=e.style.overflow,s=e.style.border,l=e.style.borderRadius,f=e.style.backgroundColor,p=e.style.height;function m(){let t=e;t&&(t.style.overflow=o,t.style.border=s,t.style.borderRadius=l,t.style.backgroundColor=f,t.style.height=p)}let h=document.createElement(`style`);document.head.appendChild(h),h.sheet?.insertRule(`body > div:last-child img { display: inline-block; }`);try{e.style.overflow=`hidden`,e.style.border=n?i:``,e.style.borderRadius=n?a:``,e.style.backgroundColor=t??P.neutral[100],e.style.height=`${String(e.offsetHeight)}px`;let o=c?e=>!c(e):void 0;u(`loading`);let s=await Fr.toCanvas(e,{filter:o,filterMode:`remove`,backgroundColor:t??P.neutral[100]}),l=r?document.createElement(`canvas`):s;if(r){l.width=s.width+80,l.height=s.height+80;let e=l.getContext(`2d`);if(e)e.shadowColor=`rgba(0, 0, 0, 0.5)`,e.shadowBlur=20,e.shadowOffsetX=10,e.shadowOffsetY=10,e.drawImage(s,40,40);else throw console.error(`Error getting canvas context`),Error(`Error getting canvas context to add shadow effect`)}return await(await fetch(l.toDataURL())).blob()}catch(e){throw console.error(`Error converting to image`,e),e}finally{h.remove(),m()}};return{status:l,isLoading:l===`loading`,isErrored:l===`error`,isSuccess:l===`success`,copyToClipboard:async()=>{try{await navigator.clipboard.write([new ClipboardItem({[`image/${e}`]:h()})]),u(`success`),o&&o()}catch(e){if(e.message===`ClipboardItem is not defined`){let e=await h();p(e),f(),u(`success`)}else u(`error`),console.error(`Error copying to clipboard`,e),s&&s(e)}},ImageDownloadModal:m,ref:d}}function sd(e){let{successToast:t,failToast:n}=Re(),{isLoading:r,copyToClipboard:i,ImageDownloadModal:a,ref:o}=od({imageType:`png`,shadowEffect:!0,backgroundColor:e?.backgroundColor??P.neutral[100],onSuccess:()=>{t(`Copied the query result as an image to clipboard`)},onError:e=>{console.error(`Error taking screenshot`,e),n(`Failed to copy image to clipboard`,e)}}),s=R(()=>{if(o.current){let e=id(o.current);e&&(e.style.boxShadow=`rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px`,e.style.transition=`box-shadow 0.5s ease-in-out`)}},[o]),c=R(()=>{if(o.current){let e=id(o.current);e&&(e.style.boxShadow=``)}},[o]),l=R(async()=>{if(o.current){await i();let e=id(o.current);e&&(e.style.boxShadow=``)}else n(`Failed to copy image to clipboard`,`No content to copy`)},[o,i,n]);function u({imageType:e=`png`,...t}){return G(U,{children:[W(q,{size:`small`,sx:{position:`absolute`,bottom:16,right:16},disabled:r,onMouseEnter:s,onMouseLeave:c,onClick:l,startIcon:W(Gt,{}),...t,children:`Copy to Clipboard`}),W(a,{})]})}return{ref:o,CopyToClipboardButton:u,onMouseEnter:s,onMouseLeave:c,onCopyToClipboard:l}}function cd(){let[e,t]=H(!1),[n,r]=H(),i=()=>t(!0),a=()=>t(!1);function o(){let[t,r]=H();return z(()=>{if(!n)return;let e=new FileReader;e.readAsDataURL(n),e.onloadend=e=>{e.target?.result!=null&&r(e.target.result)}},[]),G(vt,{open:e,onClose:a,maxWidth:`sm`,fullWidth:!0,children:[W(xt,{children:`Screenshot Preview`}),W(X,{"aria-label":`close`,onClick:a,sx:{position:`absolute`,right:8,top:8,color:`grey.500`},children:W(Nt,{})}),G(bt,{children:[G(J,{sx:{px:`10px`,gap:`10px`},children:[G(J,{direction:`row`,spacing:`5px`,sx:{alignItems:`center`},children:[W(K,{component:Yt,sx:{color:`error.main`}}),W(Y,{sx:{fontWeight:500,display:`inline`},children:`Copy to the Clipboard`}),` `,`is not supported in the current browser`]}),W(Y,{children:`Please download it directly`})]}),W(K,{component:`img`,src:t,alt:`screenshot`,sx:{maxWidth:`100%`}})]}),G(yt,{children:[W(q,{sx:{mr:1.5},onClick:a,children:`Close`}),W(q,{color:`iochmara`,variant:`contained`,onClick:()=>{if(!n)return;let e=`recce-screenshot-${jn(new Date,`yyyy-MM-dd-HH-mm-ss`)}.png`;pn(n,e),a()},children:`Download`})]})]})}return{onOpen:i,setImgBlob:r,ImageDownloadModal:o}}function ld(e,t={}){let{enabled:a=!0}=t,s=dt(),{apiClient:c}=rs(),{data:l,isLoading:u,error:d,refetch:f}=ut({queryKey:k.checkEvents(e),queryFn:()=>n(e,c),enabled:a,refetchInterval:1e4,refetchIntervalInBackground:!1}),p=lt({mutationFn:t=>i(e,t,c),onSuccess:async()=>{await s.invalidateQueries({queryKey:k.checkEvents(e)})}}),m=lt({mutationFn:({eventId:t,content:n})=>r(e,t,n,c),onSuccess:async()=>{await s.invalidateQueries({queryKey:k.checkEvents(e)})}}),h=lt({mutationFn:t=>o(e,t,c),onSuccess:async()=>{await s.invalidateQueries({queryKey:k.checkEvents(e)})}});return{events:l??[],isLoading:u,error:d,refetch:f,createComment:p.mutate,isCreatingComment:p.isPending,createCommentError:p.error,updateComment:m.mutateAsync,isUpdatingComment:m.isPending,updateCommentError:m.error,deleteComment:h.mutateAsync,isDeletingComment:h.isPending,deleteCommentError:h.error}}const ud={TOAST_ID:`lifetime-countdown`,WARNING_THRESHOLD:60,UPDATE_INTERVAL:1e3,MESSAGE:e=>`The server will be closed in ${e} seconds.`,STYLE:{fontFamily:`monospace`}};function dd(e){let t=I,[n,r]=H(null),i=V(void 0),a=R(()=>{if(!e)return 0;let t=new Date,n=Math.floor((e.getTime()-t.getTime())/1e3);return Math.max(0,n)},[e]),o=R(()=>{n!=null&&(t.remove(n),r(null))},[n]),s=R(()=>{if(n==null)return;let e=a();if(e<=0){o();return}t.update(n,{description:ud.MESSAGE(e)})},[n,a,o]),c=R(()=>{if(!e)return;o();let n=a();n<=0||(r(t.create({id:ud.TOAST_ID,description:ud.MESSAGE(n)})),i.current=setInterval(s,ud.UPDATE_INTERVAL))},[e,a,s,o]),l=a(),u=e?Math.max(0,l-ud.WARNING_THRESHOLD)*1e3:null;_n(c,u),z(()=>o,[o])}function fd({run:e,runId:t,viewOptions:n}){let r=B(()=>!e?.type||!e?.result?!1:Ve(e.type),[e?.type,e?.result]),i=B(()=>{if(!e?.result)return null;let t=e.result;if(`total_row_count`in t&&typeof t.total_row_count==`number`)return t.total_row_count;let n=t.base,r=t.current,i=typeof n?.total_row_count==`number`?n.total_row_count:null,a=typeof r?.total_row_count==`number`?r.total_row_count:null;return i!==null&&a!==null?Math.max(i,a):i??a},[e?.result]),a=R(()=>{if(!e?.type||!e?.result)return null;let t={displayMode:n?.display_mode,primaryKeys:e?.params?.primary_keys};return be(e.type,e.result,t)},[e?.type,e?.result,e?.params,n]),o=R(()=>{let e=a();return e?Oe(e.columns,e.rows):null},[a]),s=R(()=>{let e=a();return e?He(e.columns,e.rows):null},[a]),c=R(e=>{if(!t)return;let n=document.createElement(`a`);n.href=`/api/runs/${t}/export?format=${e}`,document.body.appendChild(n),n.click(),document.body.removeChild(n)},[t]),l=R(async()=>{let e=o();if(!e){I.create({title:`Export failed`,description:`Unable to extract data for CSV export`,type:`error`,duration:3e3});return}try{await De(e),I.create({title:`Copied to clipboard`,description:`CSV data copied successfully`,type:`success`,duration:2e3})}catch(e){console.error(`Failed to copy CSV to clipboard:`,e),I.create({title:`Copy failed`,description:`Failed to copy to clipboard`,type:`error`,duration:3e3})}},[o]),u=B(()=>e?.type===`query_diff`&&!!e?.params?.primary_keys,[e?.type,e?.params]),d=R(()=>{if(t&&!u&&[`query`,`query_base`,`query_diff`].includes(e?.type??``)){c(`csv`);return}let n=o();if(!n){I.create({title:`Export failed`,description:`Unable to extract data for CSV export`,type:`error`,duration:3e3});return}try{let t=Ne(e?.type??``,e?.params);ke(n,t),I.create({title:`Downloaded`,description:t,type:`success`,duration:3e3})}catch(e){console.error(`Failed to download CSV file:`,e),I.create({title:`Download failed`,description:`Failed to download CSV file`,type:`error`,duration:3e3})}},[t,e,u,o,c]),f=R(async()=>{let e=s();if(!e){I.create({title:`Export failed`,description:`Unable to extract data for export`,type:`error`,duration:3e3});return}try{await De(e),I.create({title:`Copied to clipboard`,description:`Text data copied — paste into any spreadsheet`,type:`success`,duration:2e3})}catch(e){console.error(`Failed to copy TSV to clipboard:`,e),I.create({title:`Copy failed`,description:`Failed to copy to clipboard`,type:`error`,duration:3e3})}},[s]),p=R(()=>{if(t&&!u&&[`query`,`query_base`,`query_diff`].includes(e?.type??``)){c(`tsv`);return}let n=s();if(!n){I.create({title:`Export failed`,description:`Unable to extract data for export`,type:`error`,duration:3e3});return}try{let t=Ne(e?.type??``,e?.params).replace(/\.csv$/,`.tsv`);Te(n,t),I.create({title:`Downloaded`,description:t,type:`success`,duration:3e3})}catch(e){console.error(`Failed to download TSV file:`,e),I.create({title:`Download failed`,description:`Failed to download TSV file`,type:`error`,duration:3e3})}},[t,e,u,s,c]);return{canExportCSV:r,totalRowCount:i,copyAsCSV:l,copyAsTSV:f,downloadAsCSV:d,downloadAsExcel:R(async()=>{if(t&&!u&&[`query`,`query_base`,`query_diff`].includes(e?.type??``)){c(`xlsx`);return}let n=a();if(!n){I.create({title:`Export failed`,description:`Unable to extract data for export`,type:`error`,duration:3e3});return}try{let t=await Ee(n.columns,n.rows),r=Ne(e?.type??``,e?.params).replace(/\.csv$/,`.xlsx`);we(t,r),I.create({title:`Downloaded`,description:r,type:`success`,duration:3e3})}catch(e){console.error(`Failed to download Excel file:`,e),I.create({title:`Download failed`,description:`Failed to download Excel file`,type:`error`,duration:3e3})}},[t,e,u,a,c]),downloadAsTSV:p}}function pd({description:e,onLike:t,onDislike:n,onClickLink:r,externalLink:i,externalLinkText:a}){return G(K,{sx:{display:`flex`,gap:4,justifyContent:`center`,alignContent:`center`,alignItems:`center`},children:[e,W(X,{"aria-label":`thumbs up`,onClick:t,sx:{width:`32px`,height:`32px`},children:W(K,{component:`img`,src:`/imgs/feedback/thumbs-up.png`,alt:`like`})}),W(X,{"aria-label":`thumbs down`,onClick:n,sx:{width:`32px`,height:`32px`},children:W(K,{component:`img`,src:`/imgs/feedback/thumbs-down.png`,alt:`dislike`})}),i&&a&&G(St,{href:i,target:`_blank`,onClick:r,sx:{textDecoration:`underline`},children:[a,` `,W(wt,{})]})]})}function md(e){let{feedbackId:t,description:n,onFeedbackSubmit:r,externalLink:i,externalLinkText:a}=e,[o,s]=H(void 0);function c(e=!1){let c=localStorage.getItem(t);o??(c===`true`&&!e||s(I.create({id:t,duration:void 0,type:`success`,description:W(J,{direction:`row`,children:W(pd,{description:n,onLike:()=>{r(`like`),I.dismiss(t),localStorage.setItem(t,`true`)},onDislike:()=>{r(`dislike`),I.dismiss(t),localStorage.setItem(t,`true`)},externalLink:i,externalLinkText:a,onClickLink:()=>{r(`link`)}})})})))}return{feedbackToast:c,closeToast:()=>{o&&I.dismiss(o)}}}function hd(e){let[t,n]=H(void 0),{guideId:r,description:i,externalLinkText:a,onExternalLinkClick:o}=e;function s(){t??n(I.create({id:r,duration:3e3,type:`success`,description:i,action:{label:a??`link`,onClick:()=>{o&&o()}}}))}return{guideToast:s,closeGuideToast:()=>{t&&I.dismiss(t)}}}function gd(e,t){let n=[];return e.forEach(e=>{n.some(t=>t.name===e.name)||n.push(e)}),t.forEach(e=>{n.some(t=>t.name===e.name)||n.push(e)}),n}function _d(e,n){let{lineageGraph:r}=fe(),i=O(),a=n??i?.apiClient,o=xn.find(r?.nodes,{data:{name:e}}),s=!!a&&!!o?.id,{data:c,isLoading:l,error:u}=ut({queryKey:[`modelDetail`,o?.id],queryFn:()=>{if(!o?.id||!a)throw Error(`useModelColumns: missing node id or api client`);return t(o.id,a)},enabled:s,staleTime:3e5}),{columns:d,columnAvailability:f,primaryKey:p}=B(()=>{let e=c?.model,t=e?.base?.columns?Object.values(e.base.columns):[],n=e?.current?.columns?Object.values(e.current.columns):[],r=gd(t,n),i=new Set(t.map(e=>e.name)),a=new Set(n.map(e=>e.name));return{columns:r,columnAvailability:Object.fromEntries(r.map(e=>[e.name,{base:i.has(e.name),current:a.has(e.name)}])),primaryKey:e?.current?.primary_key??e?.base?.primary_key}},[c]);return{columns:d,columnAvailability:f,primaryKey:p,isLoading:s?l:!1,error:u?u instanceof Error?u:Error(String(u)):null}}const vd=new Set([`row_count_diff`,`row_count`,`value_diff`,`profile_diff`,`top_k_diff`,`histogram_diff`]),yd=e=>{let{apiClient:t}=rs(),n=dt(),r=ws(),[i,a]=H(!!e),[,o]=se(),s=V(null);z(()=>{e&&(a(!0),s.current=null)},[e]);let c=e?r.has(e):!1,u=i&&!c,{error:f,data:p}=ut({queryKey:k.run(e??``),queryFn:async()=>await x(e??``,u?2:0,t),enabled:!!e&&!c,refetchInterval:u?50:!1,retry:!1});z(()=>{if(!p)return;let e=p.status?.toLowerCase();f||p.result||p.error||e&&e!==`running`?s.current!==p.run_id&&(s.current=p.run_id,a(!1),n.invalidateQueries({queryKey:k.runs(),exact:!0})):e===`running`&&!c&&(s.current=null,a(!0))},[p,f,c,n]),z(()=>{(f||p?.result||p?.error)&&p&&vd.has(p.type)&&o?.()},[p,f,o]);let m=r.add,h=R(()=>e?(n.setQueryData(k.run(e),e=>e&&{...e,status:`Cancelled`}),m(e),a(!1),s.current=e,l(e,t),Promise.resolve()):Promise.resolve(),[e,t,n,m]),g;return p&&d(p.type)&&(g=iu(p.type).RunResultView),{run:p,isRunning:i,error:f,onCancel:h,RunResultView:g}};function bd(){let e=Ot(),t=Pe(),n=F(),[r,i]=H(!1);z(()=>{i(!0)},[]);let a=r?t?t.resolvedMode===`dark`:n:!1;return{isDark:a,theme:e,background:{default:a?P.neutral[900]:P.white,paper:a?P.neutral[800]:P.white,subtle:a?P.neutral[800]:P.neutral[50],emphasized:a?P.neutral[700]:P.neutral[100]},text:{primary:a?P.neutral[50]:P.neutral[900],secondary:a?P.neutral[400]:P.neutral[600],disabled:a?P.neutral[500]:P.neutral[400],inverted:a?P.neutral[900]:P.neutral[50]},border:{light:a?P.neutral[700]:P.neutral[200],default:a?P.neutral[600]:P.neutral[300],strong:a?P.neutral[500]:P.neutral[400]},status:{added:{bg:a?P.green[900]:P.green[100],text:a?P.neutral[50]:P.neutral[900]},removed:{bg:a?P.red[950]:P.red[200],text:a?P.neutral[50]:P.neutral[900]},modified:{bg:a?P.yellow[900]:P.amber[100],text:a?P.neutral[50]:P.neutral[900]}},interactive:{hover:a?P.neutral[700]:P.neutral[100],active:a?P.neutral[600]:P.neutral[200],focus:P.iochmara[500]}}}export{Ol as $,Eo as $t,wu as A,Vi as An,ks as At,ru as B,fi as Bn,rs as Bt,Ru as C,Di as Cn,Vs as Ct,Du as D,Zi as Dn,Ps as Dt,Mu as E,qi as En,Is as Et,lu as F,bi as Fn,ys as Ft,Wl as G,Vr as Gn,Jo as Gt,Ql as H,qr as Hn,$o as Ht,su as I,Si as In,vs as It,Il as J,zr as Jn,Bo as Jt,Ul as K,Hr as Kn,Ko as Kt,ou as L,yi as Ln,hs as Lt,mu as M,Ui as Mn,Ts as Mt,pu as N,xi as Nn,_s as Nt,Eu as O,Qi as On,Os as Ot,du as P,Ci as Pn,gs as Pt,kl as Q,jo as Qt,au as R,vi as Rn,os as Rt,Vu as S,wi as Sn,Gs as St,Fu as T,Ti as Tn,zs as Tt,Zl as U,Ur as Un,Qo as Ut,nu as V,di as Vn,ts as Vt,Yl as W,Gr as Wn,Xo as Wt,Ml as X,Io as Xt,Pl as Y,Ir as Yn,Ho as Yt,jl as Z,Po as Zt,Qu as _,ha as _n,yc as _t,hd as a,ro as an,qc as at,Xu as b,oa as bn,lc as bt,dd as c,eo as cn,Fc as ct,od as d,Va as dn,Mc as dt,Do as en,el as et,sd as f,ka as fn,jc as ft,nd as g,ga as gn,Cc as gt,td as h,_a as hn,Tc as ht,_d as i,co as in,Jc as it,Su as j,Wi as jn,As as jt,Tu as k,$i as kn,Ms as kt,ld as l,Ya as ln,Ic as lt,rd as m,va as mn,Ec as mt,yd as n,xo as nn,nl as nt,md as o,no as on,Bc as ot,cd as p,Ta as pn,Dc as pt,Hl as q,Rr as qn,Wo as qt,gd as r,go as rn,Yc as rt,fd as s,$a as sn,$ as st,bd as t,To as tn,tl as tt,ad as u,Ja as un,Pc as ut,Gu as v,ma as vn,uc as vt,Iu as w,Ei as wn,Us as wt,Uu as x,fa as xn,cc as xt,Wu as y,aa as yn,fc as yt,iu as z,mi as zn,is as zt};
7
+ //# sourceMappingURL=hooks-ThfMFiAt.js.map