@datarecce/ui 1.53.0-nightly.20260615 → 1.53.1
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.
- package/dist/advanced.d.ts +3 -3
- package/dist/advanced.js +1 -1
- package/dist/components-CX4IKLp2.js +3 -0
- package/dist/{components-DhHBt0fL.js.map → components-CX4IKLp2.js.map} +1 -1
- package/dist/components-run.js +1 -1
- package/dist/components.d.ts +3 -3
- package/dist/components.js +1 -1
- package/dist/hooks.js +1 -1
- package/dist/{index-DNkSLklg.d.ts → index-BI0TA-5T.d.ts} +2 -2
- package/dist/{index-DNkSLklg.d.ts.map → index-BI0TA-5T.d.ts.map} +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/{lineage-CwiFPVvR.d.ts → lineage-DQYm0BLV.d.ts} +3 -3
- package/dist/{lineage-CwiFPVvR.d.ts.map → lineage-DQYm0BLV.d.ts.map} +1 -1
- package/dist/lineage-yiiuC0Il.js +7 -0
- package/dist/lineage-yiiuC0Il.js.map +1 -0
- package/dist/{primitives-BjWGLhDI.d.ts → primitives-CMRs10su.d.ts} +2 -2
- package/dist/{primitives-BjWGLhDI.d.ts.map → primitives-CMRs10su.d.ts.map} +1 -1
- package/dist/primitives.d.ts +1 -1
- package/dist/primitives.js +1 -1
- package/dist/result.js +1 -1
- package/dist/{src-D-gy72sb.js → src-BjFwHKOB.js} +2 -2
- package/dist/{src-D-gy72sb.js.map → src-BjFwHKOB.js.map} +1 -1
- package/dist/theme-wN7zbYoG.js +3 -0
- package/dist/theme-wN7zbYoG.js.map +1 -0
- package/dist/theme.js +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/utils-D1bvitEj.js +6 -0
- package/dist/{utils-h0d712cQ.js.map → utils-D1bvitEj.js.map} +1 -1
- package/dist/utils.js +1 -1
- package/package.json +1 -1
- package/dist/components-DhHBt0fL.js +0 -3
- package/dist/lineage-CTqImE8Y.js +0 -7
- package/dist/lineage-CTqImE8Y.js.map +0 -1
- package/dist/theme-u98ih3Tv.js +0 -3
- package/dist/theme-u98ih3Tv.js.map +0 -1
- package/dist/utils-h0d712cQ.js +0 -6
package/dist/utils.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{$ as e,A as t,At as n,B as r,Bt as i,C as a,
|
|
2
|
+
import{$ as e,A as t,At as n,B as r,Bt as i,C as a,D as o,E as s,F as c,Ft as l,G as u,H as d,Ht as f,I as p,It as m,J as h,K as g,L as _,Lt as v,M as y,Mt as b,N as x,Nt as S,O as C,P as w,Pt as T,Q as E,R as D,Rt as O,S as k,T as A,Tt as j,U as M,V as N,Vt as P,W as F,X as I,Y as L,Z as R,_ as z,a as B,at as V,b as H,c as U,ct as W,d as G,dt as K,et as q,f as J,ft as Y,g as X,h as Z,i as Q,it as $,j as ee,jt as te,k as ne,kt as re,l as ie,lt as ae,m as oe,mt as se,n as ce,nt as le,o as ue,ot as de,p as fe,pt as pe,q as me,r as he,rt as ge,s as _e,st as ve,t as ye,tt as be,u as xe,ut as Se,v as Ce,w as we,wt as Te,x as Ee,y as De,z as Oe,zt as ke}from"./utils-D1bvitEj.js";export{Ce as DataGridValidationError,De as buildColumnMap,H as buildColumnOrder,Ee as buildDiffColumnDefinitions,ve as buildDiffColumnDefinitionsConfigured,k as buildDiffRows,a as buildJoinedColumnMap,we as buildMergedColumnMap,A as buildSimpleColumnDefinitions,W as buildSimpleColumnDefinitionsConfigured,s as calculateDelta,P as cllColumnId,o as columnPrecisionSelectOptions,C as columnRenderedValue,v as copyToClipboard,ne as createCellClassBase,t as createCellClassCurrent,ye as dataFrameToRowObjects,ae as defaultRenderComponents,Se as defaultSimpleRenderComponents,de as deltaPercentageString,ee as determineRowStatus,O as downloadCSV,ke as downloadExcel,i as downloadTSV,T as extractCSVData,z as extractSchemas,ce as formatAsAbbreviatedNumber,G as formatDuration,J as formatEpochSeconds,he as formatIntervalMinMax,Q as formatNumber,te as formatRowCount,X as formatSelectColumns,y as formatSmartDecimal,fe as formatTimeOfDay,oe as formatTimeToNow,Z as formatTimestamp,re as generateCSVFilename,n as generateTimestamp,B as getCaseInsensitive,x as getCellClass,w as getDisplayColumns,c as getHeaderCellClass,p as getPrimaryKeyValue,_ as getRowCountDiffStatus,ie as getSettingsUrl,D as getSimpleDisplayColumns,ue as getValueAtPath,_e as hashStringToNumber,f as isColumnImpacted,Oe as isExcludedColumn,r as isPinnedColumn,N as isPrimaryKeyColumn,xe as isSchemaChanged,U as keyToNumber,Te as mergeKeys,j as mergeKeysWithStatus,d as rowCountDiffResultToDataFrame,M as rowCountResultToDataFrame,F as shouldIncludeColumn,l as supportsCSVExport,b as toCSV,be as toDataDiffGrid,K as toDataDiffGridConfigured,le as toDataGrid,Y as toDataGridConfigured,u as toDiffColumn,pe as toDiffColumnConfigured,m as toExcelBlob,g as toRenderedValue,V as toRowCountDataGrid,$ as toRowCountDiffDataGrid,S as toTSV,ge as toValueDiffGrid,se as toValueDiffGridConfigured,me as validateColumnDataAlignment,h as validateColumns,L as validateDataFrame,I as validatePrimaryKeyConfig,R as validatePrimaryKeys,E as validateToDataDiffGridInputs,e as validateToDataGridInputs,q as validateToValueDiffGridInputs};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datarecce/ui",
|
|
3
|
-
"version": "1.53.
|
|
3
|
+
"version": "1.53.1",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"author": "Recce Dev Team <dev@reccehq.com>",
|
|
6
6
|
"description": "Recce UI Components Library - Reusable React components for data validation and review",
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import{J as e}from"./utils-h0d712cQ.js";import{Ct as t,St as n,en as r,xt as i}from"./lineage-CTqImE8Y.js";import{A as a}from"./utils-BzZEjJAS.js";import{trackHistoryAction as o}from"./lib/api/track.js";import{memo as s,useCallback as c,useMemo as l}from"react";import{jsx as u,jsxs as d}from"react/jsx-runtime";import f from"@mui/material/Box";import p from"@mui/material/Button";import m from"@mui/material/Typography";import h from"@mui/material/CircularProgress";import{VscHistory as g}from"react-icons/vsc";function _(){let{isHistoryOpen:e,showHistory:t}=a();if(!e)return d(f,{children:[u(f,{sx:{fontSize:`8pt`},children:`History`}),u(p,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:u(g,{}),onClick:()=>{o({name:e?`hide`:`show`}),t()},children:`Show`})]})}function v({checks:a,isLoading:o,error:s,selectedCheckId:p,onCheckSelect:g,onApprovalChange:_,onAction:v,onReorder:y,onDescriptionChange:b,onNameChange:x,onCreateCheck:S,getCheckTabs:C,getPrimaryActions:w,getSecondaryActions:T,disableApproval:E=!1,disabledApprovalTooltip:D,height:O=`100%`,listPaneSize:k=30,minListSize:A=200,maxListSize:j=500,listTitle:M,className:N}){let P=r(),F=a??P.checks,I=o===void 0?P.isLoading:o,L=s??P.error,R=p??P.selectedCheckId,z=g??P.onSelectCheck,B=l(()=>F.map(e=>({id:e.check_id,name:e.name,type:e.type,description:e.description,isApproved:e.is_checked})),[F]),V=l(()=>F.find(e=>e.check_id===R),[F,R]),H=c(e=>{z?.(e)},[z]),U=c((e,t)=>{v?.(e,t)},[v]),W=c(e=>{R&&b?.(R,e)},[R,b]),G=c(e=>{R&&x?.(R,e)},[R,x]);if(I)return u(f,{className:N,sx:{width:`100%`,height:O,display:`flex`,alignItems:`center`,justifyContent:`center`},children:u(h,{})});if(L)return u(f,{className:N,sx:{width:`100%`,height:O,display:`flex`,alignItems:`center`,justifyContent:`center`},children:u(m,{color:`error`,children:L})});if(F.length===0)return u(f,{className:N,sx:{width:`100%`,height:O,display:`flex`,alignItems:`center`,justifyContent:`center`},children:u(n,{title:`No checks yet`,description:`Create your first check to start validating your data.`,actionText:`Create Check`,onAction:S})});let K=V?C?.(V):void 0,q=V?w?.(V):void 0,J=V?T?.(V):void 0;return u(f,{className:N,sx:{width:`100%`,height:O},children:d(e,{direction:`horizontal`,sizes:[k,100-k],minSizes:[A,200],maxSizes:[j,1/0],children:[u(f,{sx:{height:`100%`,overflow:`auto`},children:u(i,{checks:B,selectedId:R,onCheckSelect:H,onApprovalChange:_,onReorder:y,disableApproval:E,disabledApprovalTooltip:D,title:M})}),u(f,{sx:{height:`100%`,overflow:`auto`},children:V?u(t,{checkId:V.check_id,name:V.name,type:V.type,description:V.description,isApproved:V.is_checked,tabs:K,primaryActions:q,secondaryActions:J,onAction:U,onDescriptionChange:W,onNameChange:G}):u(f,{sx:{height:`100%`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:u(m,{sx:{color:`text.secondary`},children:`Select a check from the list to view details`})})})]})})}const y=s(v);y.displayName=`ChecksView`;export{ValueDiffDetailResultView as $,QueryForm as A,RunProgressOverlay as B,Main as C,ProfileDiffResultView as D,ProfileDiffForm as E,RowCountResultView as F,SchemaLegend as G,RunStatusWithDate as H,RunList as I,SetupConnectionGuide as J,SchemaSummary as K,RunListItem as L,QueryResultView as M,RecceNotification as N,ProfileResultView as O,RowCountDiffResultView as P,TopKDiffResultView as Q,RunListOss as R,LineageViewNotification as S,NODE_CHANGE_STATUS_MSGS as T,RunToolbar as U,RunStatusBadge as V,RunViewOss as W,SqlEditor as X,SingleEnvSchemaView as Y,TopKDiffForm as Z,ErrorBoundary as _,CheckDescription as a,createRunTypeRegistry as at,IdleTimeoutBadge as b,CheckEmptyState as c,formatRunDate as ct,CheckListOss as d,isDisabledByNoResult as dt,ValueDiffForm as et,CheckPageContentOss as f,supportsHistogramDiff as ft,EnvInfo as g,DualSqlEditor as h,CheckCard as i,createBoundFindByRunType as it,QueryPageOss as j,QueryDiffResultView as k,CheckEmptyStateOss as l,formatRunDateTime as lt,ColumnNameCell as m,_ as mt,CheckActions as n,calculateChangeSummary as nt,CheckDetail as o,defaultRunTypeConfig as ot,CheckPageLoadingOss as p,y as pt,SchemaView as q,CheckBreadcrumb as r,calculateColumnChange as rt,CheckDetailOss as s,findByRunType as st,ChangeSummary as t,ValueDiffResultView as tt,CheckList as u,getIconForChangeStatus as ut,HistogramDiffForm as v,MainLayout as w,LearnHowLink as x,HistogramDiffResultView as y,RunProgress as z};
|
|
3
|
-
//# sourceMappingURL=components-DhHBt0fL.js.map
|
package/dist/lineage-CTqImE8Y.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
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 ee}from"./api-DTKI1Y_n.js";import{d as D,f as O,l as k,s as te}from"./keepAlive-Bowms1oa.js";import{n as ne,t as re}from"./fetchClient-Bf9Q3QKq.js";import{At as ie,Dt as ae,Et as oe,Ft as se,Jt as ce,Lt as A,Mt as le,Nt as ue,Ot as de,Pt as j,Rt as M,S as fe,Vt as N,Wt as P,X as pe,Xt as me,Yt as he,a as ge,d as _e,dt as ve,g as ye,ht as be,i as xe,jt as Se,kt as Ce,l as we,lt as Te,o as Ee,r as De,u as Oe,ut as ke,w as Ae,wt as je,x as Me,zt as Ne}from"./utils-h0d712cQ.js";import{n as F}from"./colors-4aGxuAVw.js";import{A as Pe,M as Fe,T as Ie,_ as Le,c as Re,d as ze,h as Be,k as Ve,n as He,o as Ue,s as We,v as Ge,w as Ke,x as qe,y as Je}from"./utils-BzZEjJAS.js";import{_ as Ye,f as Xe,g as Ze,p as Qe,t as $e}from"./theme-u98ih3Tv.js";import{EXPLORE_FORM_EVENT as et,isExploreAction as tt,trackCopyToClipboard as nt,trackExploreActionForm as rt,trackHistoryAction as it,trackSingleEnvironment as at}from"./lib/api/track.js";import{PUBLIC_API_URL as ot,RECCE_SUPPORT_CALENDAR_URL as st}from"./lib/const.js";import ct from"./lib/result/ResultErrorFallback.js";import{fetchGitHubAvatar as lt,fetchUser as ut}from"./lib/api/user.js";import{useMutation as dt,useQuery as ft,useQueryClient as pt}from"@tanstack/react-query";import{Fragment as mt,createContext as ht,forwardRef as gt,memo as I,useCallback as L,useContext as _t,useEffect as R,useId as vt,useImperativeHandle as yt,useMemo as z,useRef as B,useState as V}from"react";import{Fragment as H,jsx as U,jsxs as W}from"react/jsx-runtime";import G from"@mui/material/Box";import bt from"@mui/material/Chip";import{Background as xt,BaseEdge as St,Controls as Ct,EdgeLabelRenderer as wt,Handle as Tt,MiniMap as Et,NodeToolbar as Dt,Position as Ot,ReactFlow as kt,getBezierPath as At,useEdgesState as jt,useNodesState as Mt}from"@xyflow/react";import K from"@mui/material/Tooltip";import Nt from"@mui/material/CssBaseline";import{ThemeProvider as Pt,alpha as Ft,useTheme as It}from"@mui/material/styles";import{useTheme as Lt}from"next-themes";import{AllCommunityModule as Rt,ModuleRegistry as zt}from"ag-grid-community";import q from"@mui/material/Button";import Bt from"@mui/material/Dialog";import Vt from"@mui/material/DialogActions";import Ht from"@mui/material/DialogContent";import Ut from"@mui/material/DialogTitle";import J from"@mui/material/IconButton";import Y from"@mui/material/Typography";import Wt from"next/link";import{IoClose as Gt}from"react-icons/io5";import Kt from"@mui/material/Alert";import qt from"@mui/material/CircularProgress";import X from"@mui/material/Stack";import{usePathname as Jt,useRouter as Yt}from"next/navigation";import{FaCheckCircle as Xt,FaRegCheckCircle as Zt}from"react-icons/fa";import{PiBookmarkSimple as Qt,PiCaretDown as $t,PiChatText as en,PiCheck as tn,PiCheckCircle as nn,PiCircle as rn,PiClipboardText as an,PiCopy as on,PiDotsThreeVertical as sn,PiDownloadSimple as cn,PiImage as ln,PiInfo as un,PiNotePencil as dn,PiPencilSimple as fn,PiPlusCircle as pn,PiRepeat as mn,PiSelectionPlus as hn,PiTable as gn,PiTrashSimple as _n,PiWarning as vn,PiX as yn}from"react-icons/pi";import{LuChartBarBig as bn,LuExternalLink as xn}from"react-icons/lu";import{MdFormatListNumberedRtl as Sn,MdSchema as Cn}from"react-icons/md";import{TbAlignBoxLeftStretch as wn,TbBrandStackshare as Tn,TbChartHistogram as En,TbEyeEdit as Dn,TbEyeSearch as On,TbSql as kn}from"react-icons/tb";import An from"@mui/material/FormControl";import jn from"@mui/material/FormLabel";import Mn from"@mui/material/NativeSelect";import Nn from"@mui/material/Checkbox";import{Box as Pn}from"@mui/material";import Fn from"@mui/material/ButtonGroup";import In from"@mui/material/Menu";import Z from"@mui/material/MenuItem";import Ln from"@mui/material/TextField";import{format as Rn,formatDistanceToNow as zn}from"date-fns";import Bn from"@mui/material/Link";import Vn from"@mui/material/Divider";import Hn from"@mui/material/Tab";import Un from"@mui/material/Tabs";import Wn from"@mui/material/List";import Gn from"@mui/material/ListItem";import Kn from"yaml";import{PostgreSQL as qn,sql as Jn}from"@codemirror/lang-sql";import{yaml as Yn}from"@codemirror/lang-yaml";import{EditorState as Xn,Prec as Zn}from"@codemirror/state";import{EditorView as Qn,keymap as $n,lineNumbers as er}from"@codemirror/view";import{githubDark as tr,githubLight as nr}from"@uiw/codemirror-theme-github";import rr from"@uiw/react-codemirror";import ir from"@mui/material/Avatar";import ar from"@mui/material/Popover";import or from"@mui/material/LinearProgress";import{BarElement as sr,CategoryScale as cr,Chart as lr,Legend as ur,LinearScale as dr,TimeSeriesScale as fr,Title as pr,Tooltip as mr}from"chart.js";import{Bar as hr,Chart as gr}from"react-chartjs-2";import{VscError as _r,VscKebabVertical as vr,VscKey as yr}from"react-icons/vsc";import br from"file-saver";import xr from"@mui/material/ListSubheader";import Sr from"lodash";import{useTimeout as Cr}from"usehooks-ts";import wr from"@mui/material/AlertTitle";import{AgGridReact as Tr}from"ag-grid-react";import{MergeView as Er,unifiedMergeView as Dr}from"@codemirror/merge";import Or from"@mui/material/FormControlLabel";import kr from"@mui/material/InputBase";import Ar from"react-markdown";import{Prism as jr}from"react-syntax-highlighter";import{oneDark as Mr}from"react-syntax-highlighter/dist/esm/styles/prism";import Nr from"remark-gfm";import{amber as Pr}from"@mui/material/colors";import Fr from"@mui/material/Autocomplete";import Ir from"@mui/material/DialogContentText";import Lr from"@mui/material/ListItemIcon";import Rr from"@mui/material/ListItemText";import{FiArrowRight as zr,FiInfo as Br}from"react-icons/fi";import{FaPlay as Vr}from"react-icons/fa6";import{ErrorBoundary as Hr}from"@sentry/react";import{snapdom as Ur}from"@zumer/snapdom";import"@xyflow/react/dist/style.css";import Wr from"@mui/material/Skeleton";import{RiArrowDownSFill as Gr,RiArrowUpSFill as Kr,RiSwapLine as qr}from"react-icons/ri";const Jr=.35,Yr=.1,Xr=.15,Zr=`opacity(0.4) grayscale(40%)`,Qr=e=>U(`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:U(`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`})}),$r=e=>U(`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:U(`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:[U(`path`,{d:`M1.5 1h13l.5.5v13l-.5.5h-13l-.5-.5v-13l.5-.5zM2 2v12h12V2H2z`}),U(`path`,{d:`M10.6 8.7c-.1.1-.3.2-.5.2h-.1l-1.4-.3c-.5-.1-1.1-.3-1.8-.3-.6 0-1 .2-1.3.5-.2.2-.2.4-.2.7v.1l-.9.3v-.2c0-.3 0-.6.1-.9.2-.4.5-.8 1-1.1.5-.4 1.2-.5 2-.5h.2l1.5.4h.1c.5.1 1 .3 1.5.3.6 0 .9-.2 1.2-.4.2-.2.3-.5.3-.8v-.3l.8-.3h.1v.3c0 .6-.2 1.2-.6 1.6-.2.2-.3.4-.5.5l-.5.2z`})]}),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:[U(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M1.5 1h13l.5.5v13l-.5.5h-13l-.5-.5v-13l.5-.5zM2 2v12h12V2H2z`}),U(`path`,{d:`M7.5 4h1v5h-1V4zm0 6h1v1.5h-1V10z`})]}),ni=e=>U(`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:U(`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`})}),ri=e=>U(`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:U(`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`})}),ii=e=>U(`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:U(`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`})}),ai=e=>U(`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:U(`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`})}),oi=e=>U(`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:U(`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`})}),si=e=>U(`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:U(`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`})}),ci=e=>U(`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:U(`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`})}),li=e=>U(`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:U(`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`})}),ui=e=>{let t=vt(),n=`inc-bottom-${t}`,r=`inc-top-${t}`;return 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(`defs`,{children:[U(`clipPath`,{id:n,children:U(`rect`,{x:`0`,y:`200`,width:`512`,height:`312`})}),U(`clipPath`,{id:r,children:U(`rect`,{x:`0`,y:`0`,width:`512`,height:`200`})})]}),U(`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`}),U(`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`})]})},di=e=>U(`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:U(`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`})}),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:[U(`g`,{transform:`translate(0, 0) scale(0.75)`,children:U(`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`})}),U(`g`,{transform:`translate(250, 260) scale(0.5)`,children:U(`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`})})]}),pi={added:Qr,removed:$r,modified:ei,impacted:ti};function mi(e,t){return e===`cll`?{colors:Q,bg:t?Ti:wi}:{colors:xi,bg:t?Ci:Si}}function hi(e,t,n=`default`){let r=e??`unchanged`,{colors:i,bg:a}=mi(n,t),o=i[r],s=a[r];return{color:o,hexColor:o,backgroundColor:s,hexBackgroundColor:s,icon:pi[r]}}function gi(e){return hi(`impacted`,e,`cll`)}function _i(e,t){let{changeStatus:n,isImpacted:r,newCllExperience:i}=e;return i&&r&&(!n||n===`unchanged`)?gi(t):hi(n,t,i?`cll`:`default`)}function vi(e){switch(e){case`model`:return{color:F.cyan[200],icon:ni};case`source`:return{color:F.green[300],icon:ri};case`seed`:return{color:F.green[500],icon:ii};case`snapshot`:return{color:F.green[500],icon:ai};case`metric`:return{color:F.rose[200],icon:oi};case`exposure`:return{color:F.rose[200],icon:si};case`semantic_model`:return{color:F.rose[400],icon:ci};default:return{color:`inherit`,icon:void 0}}}function yi(e){switch(e){case`table`:return{color:F.cyan[200],icon:ni};case`view`:return{color:F.fuchsia[300],icon:li};case`incremental`:return{color:F.iochmara[300],icon:ui};case`ephemeral`:return{color:F.neutral[400],icon:di};case`materialized_view`:case`dynamic_table`:case`streaming_table`:return{color:F.fuchsia[200],icon:fi};default:return{color:`inherit`,icon:void 0}}}function bi(e,t,n){return t?`${e} - ${t===`model`&&n||t}`:e}const xi={added:F.green[500],removed:F.red[500],modified:F.amber[500],unchanged:F.neutral[500]},Si={added:F.green[100],removed:F.red[200],modified:F.amber[100],unchanged:F.white},Ci={added:F.green[900],removed:F.red[950],modified:F.amber[900],unchanged:F.neutral[700]},Q={added:`rgb(46 160 67)`,removed:`rgb(248 81 73)`,modified:`rgb(212 133 11)`,impacted:`rgb(252 211 77)`,unchanged:F.neutral[500]},wi={added:`rgb(222 248 227)`,removed:`rgb(252 225 224)`,modified:`rgb(255 237 175)`,impacted:`rgb(254 249 227)`,unchanged:F.white},Ti={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)`},Ei=`252 211 77`,Di={light:Q.impacted,dark:`rgb(${Ei})`},Oi={light:`rgb(${Ei} / 0.35)`,dark:`rgb(${Ei} / 0.18)`},ki={light:`rgb(146 64 14)`,dark:`rgb(${Ei})`},Ai=Q.modified,ji={light:`rgb(255 173 21 / 0.25)`,dark:`rgb(255 173 21 / 0.2)`},Mi={light:`rgb(160 100 0)`,dark:`rgb(255 200 80)`},Ni={light:Q.added,dark:`rgb(80 200 100)`},Pi={light:`rgb(46 160 67 / 0.2)`,dark:`rgb(46 160 67 / 0.2)`},Fi={light:`rgb(22 110 40)`,dark:Ni.dark},Ii=24,Li=280,Ri={passthrough:{letter:`P`,color:`default`},renamed:{letter:`R`,color:`warning`},derived:{letter:`D`,color:`warning`},source:{letter:`S`,color:`info`},unknown:{letter:`U`,color:`error`}};function zi({size:e=14}){return W(`svg`,{width:e,height:e,viewBox:`0 0 16 16`,fill:`currentColor`,xmlns:`http://www.w3.org/2000/svg`,children:[U(`circle`,{cx:`8`,cy:`3`,r:`1.5`}),U(`circle`,{cx:`8`,cy:`8`,r:`1.5`}),U(`circle`,{cx:`8`,cy:`13`,r:`1.5`})]})}function Bi({changeStatus:e,newCllExperience:t}){if(!e)return null;let n=(t?Q:xi)[e];return U(G,{sx:{width:14,height:14,borderRadius:`50%`,backgroundColor:n,color:`white`,fontSize:10,fontWeight:`bold`,display:`flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0},children:{added:`+`,removed:`-`,modified:`~`}[e]})}function Vi({transformationType:e}){if(!e)return null;let t=Ri[e];return U(bt,{label:t.letter,size:`small`,color:t.color,sx:{fontSize:`8pt`,height:18,minWidth:18,"& .MuiChip-label":{px:.5}}})}function Hi({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}=t,h=a??t.newCllExperience??!1,[g,_]=V(!1);if(!n)return null;let v=r&&d,y=h&&d?(i?Ti:wi)[d]:void 0,b=h&&d?Q[d]:void 0,x=m&&!d?gi(i):void 0,S=y??x?.backgroundColor,C=b??x?.color,w=h&&i?`#262626`:`background.paper`,T=h&&i?`#333333`:`action.hover`,E=h&&i?`#404040`:`action.selected`,ee=h&&i?`#ffffff`:`text.primary`;return W(G,{onClick:()=>o?.(e),sx:{display:`flex`,width:280,padding:`0px 10px`,border:`1px solid`,borderColor:`divider`,backgroundColor:S||(p?E:g?T:w),borderLeft:C?`3px solid ${C}`:void 0,filter:f?`none`:Zr,cursor:`pointer`,transition:`background-color 0.15s ease`},onMouseEnter:()=>_(!0),onMouseLeave:()=>_(!1),children:[W(G,{sx:{display:`flex`,fontSize:`11px`,color:ee,width:`100%`,gap:`6px`,alignItems:`center`,height:`23px`},children:[v?U(Bi,{changeStatus:d,newCllExperience:h}):U(Vi,{transformationType:u}),U(G,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,flexGrow:1,height:`25px`,lineHeight:`25px`},children:c}),g&&s?U(G,{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:U(zi,{size:14})}):l&&U(he,{type:l,style:{flexShrink:0,opacity:.7,fontSize:`1rem`}})]}),U(Tt,{type:`target`,position:Ot.Left,isConnectable:!1,style:{left:0,visibility:`hidden`}}),U(Tt,{type:`source`,position:Ot.Right,isConnectable:!1,style:{right:0,visibility:`hidden`}})]})}const Ui=I(Hi);Ui.displayName=`LineageColumnNode`;function Wi({children:e,forcedTheme:t,enableCssBaseline:n=!1}){let{resolvedTheme:r}=Lt();return R(()=>{(t??r)===`dark`?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)},[t,r]),W(Pt,{theme:$e,children:[n&&U(Nt,{}),e]})}const Gi=ht({checks:[],isLoading:!1});Gi.displayName=`RecceCheckContext`;function Ki({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=z(()=>({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 U(Gi.Provider,{value:h,children:e})}function qi(){return _t(Gi)}const Ji=ht({sql:``,isExecuting:!1});Ji.displayName=`RecceQueryContext`;function Yi({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 _=z(()=>({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 U(Ji.Provider,{value:_,children:e})}function Xi(){return _t(Ji)}function Zi({children:e}){let[t,n]=V(``);return U(Ki,{selectedCheckId:t,onSelectCheck:n,latestSelectedCheckId:t,setLatestSelectedCheckId:n,children:e})}const Qi=()=>{};function $i(){let e=qi();return{latestSelectedCheckId:e.latestSelectedCheckId??``,setLatestSelectedCheckId:e.setLatestSelectedCheckId??Qi}}const ea={apiPrefix:``,authToken:void 0,baseUrl:void 0,apiClient:re({baseURL:ot??``})};function ta(){return D()??ea}function na(e){let{apiClient:t}=ta();return ft({queryKey:O.lineage(),queryFn:()=>E(t),...e})}function ra({enabled:e=!0,baseUrl:t,apiPrefix:n}={}){let[r,i]=V(void 0),a=B({ws:void 0,status:`pending`,artifactsUpdatedToastId:void 0}),[o,s]=V(e?`pending`:`connected`),[c,l]=V(void 0);R(()=>{a.current.status=o},[o]),R(()=>{a.current.artifactsUpdatedToastId=r},[r]);let u=pt(),d=L(()=>{u.invalidateQueries({queryKey:O.lineage()}),u.invalidateQueries({queryKey:O.checks()}),u.invalidateQueries({queryKey:O.runs()})},[u]),f=L(()=>{function e(e){return e.replace(/(http)(s)?:\/\//,`ws$2://`)}let r=t??ot,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(P.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(P.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 R(()=>{if(!e)return;let t=a.current;return f(),()=>{t.ws&&t.ws.close()}},[f,e]),{connectionStatus:o,connect:f,envStatus:c}}function ia({children:e}){let{idleTimeout:t,remainingSeconds:n,isEnabled:r,setDisconnected:i,resetConnection:a}=qe(),{apiClient:o,apiPrefix:s,baseUrl:l}=ta(),u=na(),d=ft({queryKey:O.runsAggregated(),queryFn:()=>c(o)}),f=z(()=>{let e=u.data?.lineage;if(e?.nodes)return He(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},ee={stateMetadata:m,adapterType:C,git:w,pullRequest:T,dbt:{base:h?.metadata?.base?.manifest_metadata,current:h?.metadata?.current?.manifest_metadata},sqlmesh:g},{connectionStatus:D,connect:k,envStatus:ne}=ra({enabled:!0,baseUrl:l,apiPrefix:s});R(()=>{D===`disconnected`?i():D===`connected`&&a()},[D,i,a]);let{data:re,isLoading:ie}=ze(),{featureToggles:ae,shareUrl:oe}=Ie(),[se,ce]=V(!1),[A,le]=V(!1),ue=pt(),de=!ie&&ne===`relaunch`&&re?.single_env_onboarding===!0&&re.show_relaunch_hint;de!==A&&(le(de),ce(de)),R(()=>{de&&se&&at({action:`target_base_added`})},[de,se]);let j=()=>{ce(!1),te(o),ue.invalidateQueries({queryKey:O.flag()})},M=L(()=>{d.refetch()},[d]),fe=L(()=>{d.refetch()},[d]);return W(H,{children:[U(Le,{lineageGraph:f,envInfo:ee,reviewMode:y,cloudMode:b,fileMode:x,fileName:S,isDemoSite:_??!1,isCodespace:v,isLoading:u.isLoading,error:p,supportTasks:E,onRefetchLineageGraph:M,runsAggregated:d.data,onRefetchRunsAggregated:fe,children:e}),U(Bt,{open:D===`disconnected`,onClose:()=>void 0,children:oe&&ae.mode!==null?U(Mu,{shareUrl:oe,mode:ae.mode,supportCalendarUrl:st,LinkComponent:({href:e,children:t})=>U(Wt,{href:e,passHref:!0,children:t})}):U(ju,{connect:k,idleSeconds:r&&t!==null&&n!==null&&n<=5?t-Math.max(0,n):void 0})}),re?.single_env_onboarding&&W(Bt,{open:se,onClose:j,children:[U(Ut,{children:`Target-base Added`}),U(J,{"aria-label":`close`,onClick:j,sx:{position:`absolute`,right:8,top:8,color:`grey.500`},children:U(Gt,{})}),U(Ht,{children:U(Y,{children:`Please restart the Recce server.`})}),U(Vt,{children:U(q,{color:`iochmara`,variant:`contained`,onClick:j,children:`Got it!`})})]})]})}const aa=`select * from {{ ref("mymodel") }}`;function oa({children:e}){let[t,n]=V(aa),[r,i]=V(aa),[a,o]=V(!1),[s,c]=V();return U(Yi,{sql:t,sqlQuery:t,setSqlQuery:n,primaryKeys:s,setPrimaryKeys:c,isCustomQueries:a,setCustomQueries:o,baseSqlQuery:r,setBaseSqlQuery:i,children:e})}const sa=e=>{},ca=e=>{},la=e=>{},ua=e=>{};function da(){let e=Xi();return{sqlQuery:e.sqlQuery??`select * from {{ ref("mymodel") }}`,setSqlQuery:e.setSqlQuery??sa,primaryKeys:e.primaryKeys,setPrimaryKeys:e.setPrimaryKeys??ca,isCustomQueries:e.isCustomQueries??!1,setCustomQueries:e.setCustomQueries??la,baseSqlQuery:e.baseSqlQuery??`select * from {{ ref("mymodel") }}`,setBaseSqlQuery:e.setBaseSqlQuery??ua}}const fa=`recce:canceledRuns`,pa=`recce:canceledRuns:changed`;function ma(){if(typeof window>`u`)return[];try{let e=window.localStorage.getItem(fa);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function ha(e){if(!(typeof window>`u`))try{window.localStorage.setItem(fa,JSON.stringify(e))}catch{}}function ga(){let[e,t]=V(()=>ma());return R(()=>{if(typeof window>`u`)return;let e=e=>{if(e.key===fa){if(e.newValue==null){t(ma());return}try{let n=JSON.parse(e.newValue);if(!Array.isArray(n)){t([]);return}t(n.filter(e=>typeof e==`string`))}catch{t(ma())}}},n=()=>t(ma());return window.addEventListener(`storage`,e),window.addEventListener(pa,n),()=>{window.removeEventListener(`storage`,e),window.removeEventListener(pa,n)}},[]),{has:L(t=>e.includes(t),[e]),add:L(e=>{let n=ma();if(n.includes(e)){t(n);return}let r=[...n,e],i=r.length>200?r.slice(r.length-200):r;if(ha(i),t(i),typeof window<`u`)try{window.dispatchEvent(new Event(pa))}catch{}},[])}}function _a(e){return e.status?e.status:e.result?`Finished`:e.error?`Failed`:`Finished`}function va(e){switch(e){case`Running`:return{color:`blue`,label:`Running`};case`Finished`:return{color:`green`,label:`Finished`};case`Failed`:return{color:`red`,label:`Failed`};case`Cancelled`:return{color:`grey`,label:`Cancelled`};default:return{color:`green`,label:`Finished`}}}function ya({status:e,showSpinner:t=!0,size:n=`small`,className:r}){let{color:i,label:a}=va(e);return W(G,{className:r,sx:{display:`inline-flex`,alignItems:`center`,gap:.5},children:[e===`Running`&&t&&U(qt,{size:n===`small`?12:16,color:`primary`}),U(Y,{component:`span`,sx:{fontWeight:500,fontSize:n===`small`?`0.75rem`:`0.875rem`,color:`${i}.500`},children:a})]})}const ba=I(ya);ba.displayName=`RunStatusBadge`;function xa(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 Sa(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 Ca({status:e,runAt:t,className:n}){let r=t?Sa(typeof t==`string`?new Date(t):t):null;return W(G,{className:n,sx:{display:`flex`,alignItems:`center`,gap:.5,fontSize:`0.75rem`,color:`text.secondary`},children:[U(ba,{status:e,size:`small`}),r&&W(H,{children:[U(Y,{component:`span`,sx:{fontSize:`inherit`},children:`•`}),U(Y,{component:`span`,sx:{fontSize:`inherit`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:r})]})]})}const wa=I(Ca);wa.displayName=`RunStatusWithDate`;function Ta({run:e,className:t}){return U(wa,{status:_a(e),runAt:e.run_at,className:t})}const Ea=I(Ta);Ea.displayName=`RunStatusAndDate`;function Da({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=N(),f=ga().has(e.id)?`Cancelled`:e.status,p=e.checkId!=null,m=!c&&!p&&(i||l);return W(G,{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:[W(G,{sx:{display:`flex`,alignItems:`center`,gap:1.5},children:[n&&U(G,{sx:{fontSize:16,color:`text.secondary`,flexShrink:0},children:n}),U(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&&U(K,{title:`Go to Check`,children:U(J,{size:`small`,onClick:t=>{t.stopPropagation(),e.checkId&&a(e.checkId)},sx:{p:.5},children:s||U(G,{component:`span`,sx:{fontSize:14,color:`success.main`},children:`✓`})})}),m&&U(K,{title:l?`You don't have permission to add checks`:`Add to Checklist`,children:U(`span`,{children:U(J,{size:`small`,disabled:l,onClick:t=>{t.stopPropagation(),i?.(e.id)},sx:{p:.5},children:o||U(G,{component:`span`,sx:{fontSize:14},children:`○`})})})})]}),U(wa,{status:f,runAt:e.runAt})]})}const Oa=I(Da);Oa.displayName=`RunListItem`;const ka=I(function({date:e}){return U(G,{sx:{width:`100%`,p:`8px 16px`,borderBottom:1,borderColor:`divider`,color:`text.secondary`,fontSize:`0.75rem`,fontWeight:500,bgcolor:`action.hover`},children:e})});function Aa({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 W(G,{className:g,sx:{display:`flex`,flexDirection:`column`,height:`100%`,width:`100%`},children:[W(X,{direction:`row`,sx:{alignItems:`center`,flex:`0 0 auto`,px:2,py:1.5,borderBottom:1,borderColor:`divider`},children:[U(Y,{variant:`h6`,children:l}),U(G,{sx:{flex:1}}),u]}),U(G,{sx:{flex:1,overflow:`auto`},children:n?U(G,{sx:{display:`flex`,justifyContent:`center`,alignItems:`center`,height:`100%`,color:`text.secondary`},children:f}):(()=>{if(e.length===0)return U(G,{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?xa(new Date(e.runAt)):null,u=p&&l&&n!==l;return n=l,W(G,{children:[u&&U(ka,{date:l}),U(Oa,{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 ja=I(Aa);ja.displayName=`RunList`;function Ma(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 Na(e){return[`BOOLEAN`,`TINYINT(1)`,`BIT`,`NUMBER(1)`,`BOOL`].includes(e.toUpperCase())}function Pa(e){return[`DATE`,`DATETIME`,`TIMESTAMP`,`TIME`,`YEAR`,`DATETIME2`,`SMALLDATETIME`,`DATETIMEOFFSET`,`INTERVAL`,`TIMESTAMPTZ`,`TIMETZ`,`TIMESTAMP WITH TIME ZONE`,`TIMESTAMP WITH LOCAL TIME ZONE`,`TIMESTAMP_LTZ`,`TIMESTAMP_NTZ`,`TIMESTAMP_TZ`].includes(e.toUpperCase())}function Fa(e){return!Ma(e)&&!Na(e)&&!Pa(e)}function Ia({params:e,onParamsChanged:t,setIsReadyToExecute:n}){let{columns:r,isLoading:i,error:a}=hu(e.model),o=r.filter(e=>!Ma(e.type)&&!Na(e.type)&&!Pa(e.type));return i?U(G,{children:`Loading...`}):r.length===0||a?U(G,{children:`Error: Please provide the 'catalog.json' to list column candidates`}):U(G,{sx:{m:`16px`},children:W(An,{fullWidth:!0,disabled:o.length===0,children:[U(jn,{sx:{mb:1},children:`Pick a column to show Histogram Diff`}),W(Mn,{value:e.column_name,onChange:r=>{let i=r.target.value;n(!!i);let a=o.find(e=>e.name===i)?.type??``;t({...e,column_name:i,column_type:a})},children:[U(`option`,{value:``,children:o.length===0?`No numeric column is available`:`Select column`}),o.map(e=>W(`option`,{value:e.name,className:`no-track-pii-safe`,children:[e.name,` : `,e.type]},e.name))]})]})})}function La({id:e,sourceX:t,sourceY:n,targetX:r,targetY:i,sourcePosition:a,targetPosition:o,data:s,selected:c}){let l=s?.changeStatus??`unchanged`,u=s?.isHighlighted??!1,d=s?.label,[f,p,m]=At({sourceX:t,sourceY:n,sourcePosition:a,targetX:r,targetY:i,targetPosition:o}),h=Q[l];return W(H,{children:[U(St,{id:e,path:f,style:{stroke:h,strokeWidth:u||c?2.5:1.5,opacity:u||c?1:.6}}),d&&U(wt,{children:U(`div`,{style:{position:`absolute`,transform:`translate(-50%, -50%) translate(${p}px,${m}px)`,fontSize:10,fontWeight:500,background:`white`,padding:`2px 4px`,borderRadius:4,pointerEvents:`all`},children:d})})]})}const Ra=I(La);Ra.displayName=`LineageEdge`;const za=[{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`}],Ba=[{type:`passthrough`,label:`Passthrough`,description:`Column passes through unchanged`},{type:`renamed`,label:`Renamed`,description:`Column was renamed from source`},{type:`derived`,label:`Derived`,description:`Column is derived from other columns`},{type:`source`,label:`Source`,description:`Original source column`},{type:`unknown`,label:`Unknown`,description:`Transformation type could not be determined`}],Va={added:{color:xi.added,symbol:`+`},removed:{color:xi.removed,symbol:`-`},modified:{color:xi.modified,symbol:`~`}},Ha={added:{color:Q.added,symbol:`+`},removed:{color:Q.removed,symbol:`-`},modified:{color:Q.modified,symbol:`~`},impacted:{color:Q.impacted,symbol:`!`}},Ua={passthrough:{letter:`P`,color:`default`},renamed:{letter:`R`,color:`warning`},derived:{letter:`D`,color:`warning`},source:{letter:`S`,color:`info`},unknown:{letter:`U`,color:`error`}};function Wa({status:e,newCllExperience:t}){let n=(t?Ha:Va)[e];return U(G,{sx:{width:16,height:16,borderRadius:`50%`,backgroundColor:n.color,color:`white`,fontSize:10,fontWeight:`bold`,display:`flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0},children:n.symbol})}function Ga({type:e}){let t=Ua[e];return U(bt,{label:t.letter,size:`small`,color:t.color,sx:{fontSize:`8pt`,height:18,minWidth:18,"& .MuiChip-label":{px:.5}}})}function Ka({variant:e,showTooltips:t=!0,title:n,className:r,newCllExperience:i=!1}){let a=i?za:za.filter(e=>e.status!==`impacted`),o=e===`changeStatus`?a:Ba;return W(G,{className:r,sx:{bgcolor:`background.paper`,padding:`12px`,border:`1px solid`,borderColor:`divider`,borderRadius:1,fontSize:`0.875rem`},children:[n&&U(Y,{variant:`caption`,sx:{display:`block`,fontWeight:600,mb:1,color:`text.secondary`},children:n}),e===`changeStatus`&&o.map(e=>{let n=W(G,{sx:{display:`flex`,alignItems:`center`,gap:`8px`,mb:`4px`,"&:last-child":{mb:0}},children:[U(Wa,{status:e.status,newCllExperience:i}),U(Y,{variant:`body2`,children:e.label})]},e.status);return t&&e.description?U(K,{title:e.description,placement:`right`,children:n},e.status):n}),e===`transformation`&&o.map(e=>{let n=W(G,{sx:{display:`flex`,alignItems:`center`,gap:`8px`,mb:`4px`,"&:last-child":{mb:0}},children:[U(Ga,{type:e.type}),U(Y,{variant:`body2`,children:e.label})]},e.type);return t&&e.description?U(K,{title:e.description,placement:`right`,children:n},e.type):n})]})}const qa={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 Ja({tokens:e,variant:t=`badge`,testId:n,ariaLabel:r,children:i,sx:a,...o}){return U(Pn,{"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},qa[t],...Array.isArray(a)?a:a?[a]:[]],...o,children:i})}const Ya={changed:{tooltip:`Whole-model change`,ariaLabel:`whole-model change`},impacted:{tooltip:`Whole-model impact`,ariaLabel:`whole-model impact`}},Xa={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 Za(e){return e.newCllExperience?e.isWholeModelChanged?`changed`:e.isWholeModelImpacted?`impacted`:null:null}function Qa(e){return!e.newCllExperience||e.isWholeModelChanged||e.isWholeModelImpacted?null:e.changeCategory===`non_breaking`?`additive`:e.changeCategory===`partial_breaking`?`column-changed`:e.isImpacted?`column-impacted`:null}function $a(e,t){let n=Za(e);return n?{kind:n,...Ya[n],tokens:to(n,t)}:null}function eo(e,t){let n=Qa(e);return n?{kind:n,...Xa[n],tokens:to(n,t)}:null}function to(e,t){let n=t?`dark`:`light`;return e===`changed`||e===`column-changed`?{stripeAccent:`var(--schema-color-changed-accent)`,fg:Mi[n],badgeBg:ji[n],badgeBorder:Ai}:e===`additive`?{stripeAccent:`var(--schema-color-added-accent)`,fg:Fi[n],badgeBg:Pi[n],badgeBorder:Ni[n]}:{stripeAccent:`var(--schema-color-impacted-accent)`,fg:ki[n],badgeBg:Oi[n],badgeBorder:Di[n]}}function no(e){let t=Za(e);if(t)return Ya[t].tooltip;let n=Qa(e);if(n)return Xa[n].tooltip}function ro(e,t){let n=bi(e.name,e.resourceType,e.materialized),r=no(t);return r?`${n} - ${r}`:n}const io={breaking:`Model-Wide Change`,non_breaking:`Additive Change`,partial_breaking:`Column Change`,unknown:`Unknown`},ao=()=>U(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,children:U(`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 oo({name:e,color:t}){return U(G,{sx:{flex:1,color:t,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:U(`span`,{children:e})})}function so({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,ee]=V(!1),D=B(null),O=L(()=>{D.current&&=(clearTimeout(D.current),null)},[]),k=L(()=>{O(),ee(!0)},[O]),te=L(()=>{O(),D.current=setTimeout(()=>ee(!1),500)},[O]);R(()=>()=>O(),[O]);let{label:ne,changeStatus:re=`unchanged`,isSelected:ie,resourceType:ae,materialized:oe}=t,se=v??t.newCllExperience??!1,ce=y??t.isImpacted??!1,A=a||ie||n||!1,le=h>0,ue=i===`action_result`&&l,{icon:de,color:j,backgroundColor:M}=_i({changeStatus:re,isImpacted:ce,newCllExperience:se},_),{icon:fe}=ae===`model`&&oe?yi(oe):vi(ae),N=j,P=(()=>{let e=_?`#1e1e1e`:`#ffffff`;return c?i===`selecting`?A?j:e:i===`action_result`?ue?o||A||E?M:j:e:o||A||E?M:e:o||A||E?j:M})(),pe=(()=>{let e=_?`#ffffff`:`#000000`,t=_?`#000000`:`#ffffff`;return i===`selecting`?A?t:e:i===`action_result`&&ue&&!A?t:e})(),me=(()=>{let e=_?`#ffffff`:`#000000`,t=_?`#000000`:`#ffffff`;return i===`selecting`?A?t:e:i===`action_result`&&ue&&!A?t:e})(),he=(()=>{let e=_?`#ffffff`:`#000000`,t=_?`#000000`:`#ffffff`;return i===`selecting`?A?t:j:i===`action_result`?ue&&!A?t:e:j})(),ge=se?`none`:i===`action_result`?ue?`none`:Zr:s||o||A||E?`none`:Zr,_e=t=>{i!==`action_result`&&(t.stopPropagation(),w?.(e))},ve=t=>{t.preventDefault(),t.stopPropagation(),T?.(t,e)},ye={newCllExperience:se,isWholeModelChanged:b,isWholeModelImpacted:x,isImpacted:ce,changeCategory:d},be=eo(ye,_),xe=ro({name:ne,resourceType:ae,materialized:oe},ye),Se=u&&d&&(!se||d===`unknown`)?io[d]:null;return W(G,{onClick:()=>S?.(e),onDoubleClick:()=>C?.(e),onMouseEnter:k,onMouseLeave:te,sx:{display:`flex`,flexDirection:`column`,width:300,cursor:i===`selecting`?`pointer`:`inherit`,transition:`box-shadow 0.2s ease-in-out`,padding:0,filter:ge},children:[U(Dt,{isVisible:E,position:Ot.Right,offset:6,align:`center`,children:U(G,{onMouseEnter:k,onMouseLeave:te,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&&U(G,{"data-testid":`lineage-node-kebab`,onClick:ve,sx:{cursor:`pointer`,color:`text.secondary`,"&:hover":{color:`text.primary`}},children:U(ao,{})})})}),W(G,{sx:{display:`flex`,borderColor:N,borderWidth:`2px`,borderStyle:`solid`,borderTopLeftRadius:8,borderTopRightRadius:8,borderBottomLeftRadius:le?0:8,borderBottomRightRadius:le?0:8,backgroundColor:P,height:60},children:[U(G,{sx:{display:`flex`,bgcolor:j,padding:r?`8px`:`2px`,borderRightWidth:`2px`,borderRightStyle:`solid`,borderColor:i===`selecting`?`#00000020`:N,alignItems:`top`,visibility:c?`inherit`:`hidden`},children:r&&U(Nn,{checked:i===`selecting`&&A||i===`action_result`&&!!ue,onClick:_e,disabled:i===`action_result`,size:`small`,sx:{padding:0,color:`inherit`,"&.Mui-checked":{color:`inherit`}}})}),W(G,{sx:{display:`flex`,flex:`1 0 auto`,mx:.5,width:100,flexDirection:`column`},children:[U(K,{title:xe,placement:`top`,children:W(G,{sx:{display:`flex`,width:`100%`,textAlign:`left`,fontWeight:600,flex:1,p:.5,gap:`5px`,alignItems:`center`,visibility:c?`inherit`:`hidden`},children:[U(oo,{name:ne,color:pe}),be&&U(Ja,{tokens:be.tokens,testId:be.testId,ariaLabel:be.ariaLabel,children:be.text}),fe&&U(G,{sx:{fontSize:16,color:me},children:U(fe,{"aria-hidden":`true`})}),re&&de&&U(G,{sx:{color:he},children:U(de,{"aria-hidden":`true`})})]})}),U(G,{sx:{display:`flex`,flex:`1 0 auto`,mx:.5,flexDirection:`column`,paddingBottom:.5,visibility:c?`inherit`:`hidden`},children:U(X,{direction:`row`,spacing:1,children:l?W(H,{children:[U(G,{sx:{flexGrow:1}}),l]}):Se?U(Y,{sx:{height:20,color:`text.secondary`,fontSize:`9pt`,margin:0,fontWeight:600},children:Se}):i!==`action_result`&&f?f:null})})]})]}),le&&U(G,{sx:{p:`10px 10px`,borderColor:N,borderWidth:`2px`,borderStyle:`solid`,borderTopWidth:0,borderBottomLeftRadius:8,borderBottomRightRadius:8},children:U(G,{sx:{height:`${h*g}px`,overflow:`auto`}})}),p&&U(Tt,{type:`target`,position:Ot.Left,isConnectable:!1}),m&&U(Tt,{type:`source`,position:Ot.Right,isConnectable:!1})]})}const co=I(so);co.displayName=`LineageNode`;const lo=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`}),uo={mr:.5,display:`flex`,alignItems:`center`},fo={table:`table`,view:`view`,incremental:`incremental`,ephemeral:`ephemeral`,materialized_view:`mat. view`,dynamic_table:`dyn. table`,streaming_table:`stream. table`};function po(e){return fo[e]??e}function mo({resourceType:e,materialized:t,"data-testid":n}){let r=N(),i=e===`model`&&t!=null,{icon:a}=i?yi(t):vi(e),o=i?po(t):e;return U(K,{arrow:!0,title:i?`Materialization strategy`:`Type of resource`,children:W(G,{component:`span`,sx:lo(r),"data-testid":n,children:[a&&U(G,{component:`span`,sx:uo,children:U(a,{"aria-hidden":`true`})}),o]})})}const ho=I(mo);ho.displayName=`NodeTag`;const go=()=>W(G,{component:`span`,sx:{display:`flex`,flexDirection:`column`,gap:`2px`,"& > span":{width:4,height:4,borderRadius:`50%`,backgroundColor:`currentColor`}},children:[U(`span`,{}),U(`span`,{}),U(`span`,{})]});function _o({checkId:e,primaryActions:t=[],secondaryActions:n=[],onAction:r,variant:i=`combined`,size:a=`small`,menuIcon:o,className:s}){let[c,l]=V(null),u=!!c,d=e=>{e.stopPropagation(),l(e.currentTarget)},f=()=>{l(null)},p=t=>{f(),r?.(e,t)},m=e=>{let t=U(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?U(K,{title:e.disabledTooltip,children:U(`span`,{children:t})},e.type):t};if(i===`menu`){let e=[...t,...n];return W(G,{className:s,children:[U(J,{onClick:d,size:a,children:o||U(go,{})}),U(In,{anchorEl:c,open:u,onClose:f,children:e.map(e=>W(Z,{onClick:()=>p(e.type),disabled:e.disabled,sx:{color:e.destructive?`error.main`:`inherit`},children:[e.icon&&U(G,{component:`span`,sx:{mr:1,display:`flex`},children:e.icon}),e.label]},e.type))})]})}return i===`buttons`?U(G,{className:s,sx:{display:`flex`,gap:1},children:U(Fn,{size:a,variant:`outlined`,children:t.map(m)})}):W(G,{className:s,sx:{display:`flex`,gap:1},children:[t.length>0&&U(Fn,{size:a,variant:`outlined`,children:t.map(m)}),n.length>0&&W(H,{children:[U(J,{onClick:d,size:a,children:o||U(go,{})}),U(In,{anchorEl:c,open:u,onClose:f,children:n.map(e=>W(Z,{onClick:()=>p(e.type),disabled:e.disabled,sx:{color:e.destructive?`error.main`:`inherit`},children:[e.icon&&U(G,{component:`span`,sx:{mr:1,display:`flex`},children:e.icon}),e.label]},e.type))})]})]})}const vo=I(_o);vo.displayName=`CheckActions`;function yo({name:e,onNameChange:t,placeholder:n=`Unnamed check`,disabled:r=!1,className:i}){let[a,o]=V(!1),[s,c]=V(e),l=B(null);R(()=>{c(e)},[e]);let u=L(()=>{r||(c(e),o(!0))},[r,e]),d=L(()=>{let n=s.trim();n&&n!==e&&t?.(n),o(!1)},[s,e,t]),f=L(t=>{t.key===`Enter`?(t.preventDefault(),d()):t.key===`Escape`&&(t.preventDefault(),c(e),o(!1))},[d,e]),p=L(e=>{c(e.target.value)},[]);return R(()=>{let e=e=>{l.current&&!l.current.contains(e.target)&&d()};return a&&document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[a,d]),R(()=>{a&&l.current&&(l.current.focus(),l.current.select())},[a]),U(G,{className:i,sx:{flex:`2`,fontSize:`1rem`,fontWeight:500,overflow:`hidden`,color:`text.primary`,cursor:r?`default`:`pointer`},children:a?U(Ln,{inputRef:l,value:s,onChange:p,onKeyDown:f,placeholder:n,size:`small`,sx:{width:`100%`},variant:`outlined`}):U(G,{sx:{flex:`0 1 auto`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,overflow:`hidden`,"&:hover":{textDecoration:r?`none`:`underline`}},onClick:u,children:e||U(G,{component:`span`,sx:{color:`text.secondary`,fontStyle:`italic`},children:n})})})}const bo=I(yo);bo.displayName=`CheckBreadcrumb`;function xo(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 So(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 Co(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: ${zn(t,{addSuffix:!0})}`}catch{return`Check may be outdated`}}const wo={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 To({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=U(Nn,{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 W(G,{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:[U(bt,{label:xo(e.type),size:`small`,sx:{minWidth:32,height:24,fontSize:`0.7rem`,fontWeight:600,backgroundColor:`${So(e.type)}20`,color:So(e.type),"& .MuiChip-label":{px:1}}}),U(Y,{variant:`body2`,sx:{flexGrow:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.name}),e.isOutdated&&U(K,{title:Co(e.lastRunAt),children:U(bt,{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&&wo[e.actorType]&&U(bt,{label:wo[e.actorType].label,size:`small`,sx:{height:20,fontSize:`0.65rem`,fontWeight:500,backgroundColor:wo[e.actorType].bg,color:wo[e.actorType].color,flexShrink:0,"& .MuiChip-label":{px:.75}}}),e.isPreset&&U(bt,{label:`Preset`,size:`small`,variant:`outlined`,sx:{height:20,fontSize:`0.65rem`}}),i&&a?U(K,{title:a,children:U(`span`,{children:l})}):l]})}const Eo=I(To);Eo.displayName=`CheckCard`;function Do({value:e,onChange:t,placeholder:n=`Add description here`,disabled:r=!1,className:i}){let[a,o]=V(!1),[s,c]=V(e??``);R(()=>{c(e??``)},[e]);let l=L(()=>{r||(o(!0),c(e??``))},[r,e]),u=L(()=>{let e=s.trim();t?.(e||void 0),o(!1)},[s,t]),d=L(()=>{c(e??``),o(!1)},[e]),f=L(e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),u()),e.key===`Escape`&&(e.preventDefault(),d())},[u,d]);return a?W(G,{className:i,sx:{height:`100%`},children:[U(Ln,{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`}}}),W(X,{direction:`row`,spacing:1,sx:{mt:1},children:[U(q,{variant:`contained`,size:`small`,onClick:u,children:`Update`}),U(Bn,{component:`button`,variant:`body2`,onClick:d,sx:{cursor:`pointer`},children:`Cancel`})]}),W(Y,{variant:`caption`,sx:{color:`text.secondary`,display:`block`,mt:.5},children:[navigator.platform.includes(`Mac`)?`⌘`:`Ctrl`,`+Enter to save, Escape to cancel`]})]}):U(G,{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?U(Y,{variant:`body2`,sx:{whiteSpace:`pre-wrap`,wordBreak:`break-word`},children:e}):U(Y,{variant:`body2`,sx:{color:`text.secondary`,fontStyle:`italic`},children:n})})}const Oo=I(Do);Oo.displayName=`CheckDescription`;function ko({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,_]=V(o??a[0]?.id),[v,y]=V(!1),[b,x]=V(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 W(G,{className:h,sx:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[W(G,{sx:{p:2,borderBottom:1,borderColor:`divider`},children:[p,W(G,{sx:{display:`flex`,alignItems:`flex-start`,justifyContent:`space-between`,gap:2},children:[W(G,{sx:{flexGrow:1,minWidth:0},children:[v?U(`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%`}}):U(Y,{variant:`h6`,onClick:S,sx:{cursor:f?`default`:`pointer`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,"&:hover":{textDecoration:f?`none`:`underline`}},children:t}),W(Y,{variant:`caption`,sx:{color:`text.secondary`},children:[n,` `,i&&`• Approved`]})]}),U(vo,{checkId:e,primaryActions:s,secondaryActions:c,onAction:l})]})]}),W(G,{sx:{display:`flex`,flexGrow:1,overflow:`hidden`},children:[W(G,{sx:{flexGrow:1,display:`flex`,flexDirection:`column`,overflow:`hidden`},children:[W(G,{sx:{p:2,borderBottom:1,borderColor:`divider`},children:[U(Y,{variant:`subtitle2`,sx:{mb:1},children:`Description`}),U(Oo,{value:r,onChange:u,disabled:f})]}),a.length>0&&W(H,{children:[U(G,{sx:{borderBottom:1,borderColor:`divider`},children:U(Un,{value:g,onChange:(e,t)=>_(t),children:a.map(e=>U(Hn,{value:e.id,label:e.label},e.id))})}),U(G,{sx:{flexGrow:1,overflow:`auto`,p:2},children:T})]})]}),m&&W(H,{children:[U(Vn,{orientation:`vertical`,flexItem:!0}),U(G,{sx:{width:350,flexShrink:0,overflow:`auto`},children:m})]})]})]})}const Ao=I(ko);Ao.displayName=`CheckDetail`;function jo({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 U(G,{className:s,sx:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,textAlign:`center`,padding:4,minHeight:300},children:W(X,{spacing:2,sx:{alignItems:`center`},children:[n&&U(G,{sx:{color:`text.secondary`,fontSize:48,mb:1},children:n}),U(Y,{variant:`h6`,sx:{fontWeight:500,color:`text.primary`},children:e}),U(Y,{variant:`body2`,sx:{color:`text.secondary`,maxWidth:400},children:t}),r&&i&&U(q,{variant:`contained`,onClick:i,disabled:a,sx:{mt:2},children:a?`Creating...`:r}),o&&U(Y,{variant:`caption`,sx:{color:`text.secondary`,mt:1},children:o})]})})}const Mo=I(jo);Mo.displayName=`CheckEmptyState`;function No({checks:e,selectedId:t,onCheckSelect:n,onApprovalChange:r,disableApproval:i=!1,disabledApprovalTooltip:a,title:o,className:s,isLoading:c=!1,emptyContent:l}){return c?U(G,{className:s,sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:200},children:U(Y,{sx:{color:`text.secondary`},children:`Loading checks...`})}):e.length===0?W(G,{className:s,children:[o&&U(Y,{variant:`subtitle2`,sx:{px:2,py:1,color:`text.secondary`},children:o}),l||U(G,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:200},children:U(Y,{sx:{color:`text.secondary`},children:`No checks`})})]}):W(G,{className:s,sx:{height:`100%`,overflow:`auto`},children:[o&&U(Y,{variant:`subtitle2`,sx:{px:2,py:1,color:`text.secondary`},children:o}),U(Wn,{disablePadding:!0,children:e.map(e=>U(Gn,{disablePadding:!0,children:U(Eo,{check:e,isSelected:t===e.id,onClick:n,onApprovalChange:r,disableApproval:i,disabledApprovalTooltip:a})},e.id))})]})}const Po=I(No);Po.displayName=`CheckList`;function Fo(e){switch(e){case`sql`:return Jn({dialect:qn});case`yaml`:return Yn();default:return null}}function Io({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=z(()=>{let e=[Qn.theme({"&":{fontSize:`${o}px`},".cm-content":{fontFamily:`'JetBrains Mono', 'Fira Code', monospace`},".cm-gutters":{fontFamily:`'JetBrains Mono', 'Fira Code', monospace`}})],t=Fo(n);return t&&e.push(t),a&&e.push(Qn.lineWrapping),u.length>0&&e.push(Zn.highest($n.of(u))),e},[n,o,a,u]),f=z(()=>l===`dark`?tr:nr,[l]);return U(rr,{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 Lo({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),Kn.stringify({checks:[a]})}function Ro({yamlTemplate:e,height:t=`300px`}){return U(Io,{value:e,language:`yaml`,readOnly:!0,lineNumbers:!1,wordWrap:!0,fontSize:14,theme:N()?`dark`:`light`,height:t})}const zo=I(Ro);zo.displayName=`PresetCheckTemplateView`;function Bo({onSubmit:e,isSubmitting:t=!1,placeholder:n=`Add a comment...`,submitLabel:r=`Comment`,submittingLabel:i=`Submitting...`,className:a}){let o=N(),[s,c]=V(``),l=L(()=>{let t=s.trim();t&&(e(t),c(``))},[s,e]),u=L(e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),l())},[l]);return W(G,{className:a,children:[U(Ln,{value:s,onChange:L(e=>{c(e.target.value)},[]),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}}}),U(X,{direction:`row`,sx:{justifyContent:`flex-end`,mt:2},children:U(q,{size:`small`,color:`iochmara`,variant:`contained`,onClick:l,disabled:!s.trim()||t,children:t?i:r})})]})}const Vo=I(Bo);Vo.displayName=`CommentInput`;function Ho(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 Uo({event:e}){let t=Ho(e),n={create:pn,comment:en,approve:nn,unapprove:rn,edit:dn,preset:Qt},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 U(G,{component:i,sx:{color:a,fontSize:16}})}function Wo({actor:e}){let t=(e.fullname||e.login||`User`).charAt(0).toUpperCase();return U(ir,{src:e.avatarUrl||void 0,sx:{width:24,height:24,fontSize:`0.75rem`},children:t})}function Go({event:e}){let{actor:t}=e,n=t.fullname||t.login||`Someone`,r=zn(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 W(G,{sx:{display:`flex`,gap:1,alignItems:`flex-start`,py:1},children:[U(G,{sx:{pt:`2px`},children:U(Uo,{event:e})}),U(G,{sx:{flex:1},children:W(X,{direction:`row`,spacing:.5,sx:{flexWrap:`wrap`,alignItems:`center`},children:[U(Wo,{actor:t}),U(Y,{variant:`body2`,sx:{fontWeight:`500`},children:n}),U(Y,{variant:`body2`,sx:{color:`text.secondary`},children:i}),U(Y,{variant:`caption`,sx:{color:`text.disabled`},children:r})]})})]})}const Ko=I(Go);Ko.displayName=`StateChangeEvent`;function qo({event:e,currentUserId:t,onEdit:n,onDelete:r,markdownRenderer:i}){let a=N(),[o,s]=V(!1),[c,l]=V(e.content||``),[u,d]=V(!1),[f,p]=V(!1),[m,h]=V(null),g=!!m,{actor:_}=e,v=_.fullname||_.login||`Someone`,y=zn(new Date(e.created_at),{addSuffix:!0}),b=t&&String(_.user_id)===String(t),x=L(()=>{l(e.content||``),s(!0)},[e.content]),S=L(()=>{l(e.content||``),s(!1)},[e.content]),C=L(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=L(e=>{e.key===`Escape`?S():e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),C())},[S,C]),T=L(e=>{h(e.currentTarget)},[]),E=L(()=>{h(null)},[]),ee=L(async()=>{if(r){p(!0);try{await r(e.id),E()}finally{p(!1)}}},[r,e.id,E]),D=L(e=>{l(e.target.value)},[]);return e.is_deleted?W(G,{sx:{display:`flex`,gap:1,alignItems:`center`,py:1},children:[U(G,{sx:{pt:`2px`,display:`flex`,alignItems:`center`},children:U(Uo,{event:e})}),U(G,{sx:{display:`flex`,flex:1,alignItems:`center`},children:U(Y,{variant:`body2`,sx:{color:`text.disabled`,fontStyle:`italic`},children:`Comment deleted`})})]}):W(G,{sx:{display:`flex`,gap:1,alignItems:`flex-start`,py:1},children:[U(G,{sx:{pt:`2px`},children:U(Uo,{event:e})}),W(G,{sx:{flex:1},children:[W(X,{direction:`row`,spacing:.5,sx:{flexWrap:`wrap`,alignItems:`center`,mb:.5},children:[U(Wo,{actor:_}),W(Y,{variant:`body2`,sx:{fontWeight:`500`},children:[v,b&&W(Y,{component:`span`,variant:`body2`,sx:{color:`text.secondary`},children:[` `,`(Author)`]})]}),U(Y,{variant:`caption`,sx:{color:`text.disabled`},children:y}),e.is_edited&&U(Y,{variant:`caption`,sx:{color:`text.disabled`},children:`(edited)`})]}),o?W(G,{children:[U(Ln,{value:c,onChange:D,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`}}}}),W(X,{direction:`row`,spacing:1,sx:{justifyContent:`flex-end`,mt:1},children:[U(q,{size:`small`,variant:`text`,onClick:S,disabled:u,children:`Cancel`}),U(q,{size:`small`,variant:`contained`,onClick:C,disabled:!c.trim()||u,children:u?`Saving...`:`Save`})]})]}):W(G,{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?U(i,{content:e.content||``}):U(Y,{variant:`body2`,sx:{whiteSpace:`pre-wrap`},children:e.content}),b&&(n||r)&&W(X,{className:`comment-actions`,direction:`row`,spacing:0,sx:{position:`absolute`,top:4,right:4,opacity:0,transition:`opacity 0.2s`},children:[n&&U(K,{title:`Edit comment`,children:U(J,{"aria-label":`Edit comment`,size:`small`,onClick:x,children:U(fn,{})})}),r&&W(H,{children:[U(K,{title:`Delete comment`,children:U(J,{"aria-label":`Delete comment`,size:`small`,color:`error`,onClick:T,children:U(_n,{})})}),U(ar,{open:g,anchorEl:m,onClose:E,anchorOrigin:{vertical:`bottom`,horizontal:`center`},transformOrigin:{vertical:`top`,horizontal:`center`},children:W(G,{sx:{p:2},children:[U(Y,{variant:`body2`,sx:{mb:2},children:`Delete this comment?`}),W(X,{direction:`row`,spacing:1,sx:{justifyContent:`flex-end`},children:[U(q,{size:`small`,variant:`text`,onClick:E,disabled:f,children:`Cancel`}),U(q,{size:`small`,variant:`contained`,color:`error`,onClick:ee,disabled:f,children:f?`Deleting...`:`Delete`})]})]})})]})]})]})]})]})}const Jo=I(qo);Jo.displayName=`CommentEvent`;function Yo({event:e,currentUserId:t,onEdit:n,onDelete:r,markdownRenderer:i,className:a}){return e.event_type===`comment`?U(G,{className:a,children:U(Jo,{event:e,currentUserId:t,onEdit:n,onDelete:r,markdownRenderer:i})}):U(G,{className:a,children:U(Ko,{event:e})})}const Xo=I(Yo);Xo.displayName=`TimelineEvent`;function Zo({name:e,isChecked:t}){return`${t?`✅ `:``}${e}`}function Qo({description:e,fallback:t=`_(no description)_`}){return(e??``)||t}function $o({type:e,hasResult:t,hasError:n}){return e===`schema_diff`||e===`lineage_diff`?!1:!t||n}function es({sql:e,label:t=`SQL`}){return`**${t}**
|
|
3
|
-
\`\`\`sql
|
|
4
|
-
${e}
|
|
5
|
-
\`\`\``}function ts({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 W(G,{className:s,sx:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:2,p:3,textAlign:`center`},children:[o?U(G,{sx:{fontSize:40,color:`text.secondary`},children:o}):c&&W(H,{children:[i===`spinner`&&U(qt,{size:40,color:`primary`}),i===`circular`&&U(qt,{size:60,variant:u?`determinate`:`indeterminate`,value:t,color:`primary`})]}),c&&i===`linear`&&W(G,{sx:{width:`100%`,maxWidth:300},children:[U(or,{variant:u?`determinate`:`indeterminate`,value:t,sx:{height:8,borderRadius:4}}),u&&W(Y,{variant:`caption`,sx:{color:`text.secondary`,mt:.5,display:`block`},children:[Math.round(t),`%`]})]}),a&&U(ba,{status:e,size:`medium`}),n&&!l&&U(Y,{variant:`body2`,sx:{color:`text.secondary`},children:n}),l&&r&&U(G,{sx:{p:2,bgcolor:`error.light`,borderRadius:1,maxWidth:400},children:U(Y,{variant:`body2`,sx:{color:`error.contrastText`},children:r})})]})}const ns=I(ts);ns.displayName=`RunProgress`;function rs({visible:e=!0,opacity:t=.8,...n}){return e?U(G,{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:U(ns,{...n})}):null}const is=I(rs);is.displayName=`RunProgressOverlay`;function as({warnings:e,children:t,className:n}){let r=N(),i=e&&e.length>0;return W(G,{className:n,sx:{display:`flex`,borderBottom:`1px solid`,borderColor:`divider`,justifyContent:`flex-end`,gap:`5px`,alignItems:`center`,px:`10px`,bgcolor:i?r?F.amber[900]:F.amber[100]:`inherit`,color:i?r?F.amber[200]:F.amber[800]:`inherit`},children:[U(G,{sx:{display:`flex`,flexDirection:`column`,alignItems:`flex-start`,gap:0},children:e?.map((e,t)=>W(G,{children:[U(vn,{color:r?F.amber[400]:F.amber[600],style:{verticalAlign:`middle`,marginRight:4}}),e]},e))}),U(G,{sx:{flex:1,minHeight:`32px`}}),t]})}const os=I(as);os.displayName=`RunToolbar`,lr.register(sr,fr,dr,cr,pr,ur,mr);function ss(e,t){let n=e[t],r=e[t+1];return`${M(n)} - ${M(r)}`}function cs({title:e,dataType:t=`numeric`,samples:n=0,min:r=0,max:i=0,binEdges:a,baseData:o,currentData:s,animate:c=!1,hideAxis:l=!1,theme:u=`light`,height:d=300,className:f}){let p=u===`dark`,m=Qe(p),h=Xe(p),g=t===`datetime`,_=z(()=>{let e=a.slice(0,-1).map((e,t)=>ss(a,t)),t=(e,t,n)=>{let r=e.counts??[];return{label:t,data:g?r.map((e,t)=>[a[t],e]):r,backgroundColor:n,borderColor:n,hoverBackgroundColor:n,borderWidth:0,categoryPercentage:1,barPercentage:1,xAxisID:`x`}};return{labels:e,datasets:[t(s,s.label??`Current`,h.currentWithAlpha),t(o,o.label??`Base`,h.baseWithAlpha)]}},[a,o,s,h,g]),v=z(()=>{let u=Math.max(...s.counts,...o.counts),d=a.slice(0,-1).map((e,t)=>ss(a,t)),f=g?`Date Range`:t===`string`?`Text Length`:`Value Range`;return{responsive:!0,maintainAspectRatio:!1,animation:c?void 0:!1,plugins:{legend:{reverse:!0,labels:{color:m.textColor}},title:{display:!0,text:e,font:{size:20},color:m.textColor},tooltip:{mode:`index`,intersect:!1,backgroundColor:m.tooltipBackgroundColor,titleColor:m.tooltipTextColor,bodyColor:m.tooltipTextColor,borderColor:m.borderColor,borderWidth:1,callbacks:{title([{dataIndex:e}]){return`${f}\n${ss(a,e)}`},label({datasetIndex:e,dataIndex:t,dataset:r}){let i=(e===0?s.counts:o.counts)[t],a=n>0?Ne(i/n):``;return`${r.label}: ${i}${a?` (${a})`:``}`}}}},scales:{x:g?{display:!l,type:`timeseries`,min:r,max:i,adapters:{date:{}},time:{minUnit:`day`},grid:{display:!1},ticks:{minRotation:30,maxRotation:30,maxTicksLimit:8,color:m.textColor}}:{display:!l,type:`category`,grid:{display:!1},ticks:{callback(e,t){return d[t]},color:m.textColor},stacked:!0},y:{display:!l,type:`linear`,max:u,border:{dash:[2,2],color:m.borderColor},grid:{color:m.gridColor},ticks:{maxTicksLimit:8,color:m.textColor,callback(e){return M(e)}},beginAtZero:!0}}}},[e,t,g,n,r,i,a,o,s,l,c,m]);return U(`div`,{className:f,style:{height:d},children:U(gr,{type:`bar`,options:v,data:_})})}const ls=I(cs);ls.displayName=`HistogramChart`;function us({model:e,row:t,singleEnv:n,cllRunning:r,showMenu:i=!0,onViewCode:a,isImpacted:o}){let s=Be(),{isActionAvailable:c}=Ge(),{runAction:l}=Pe(),{featureToggles:u}=Ie(),{name:d,baseType:f,currentType:p,baseIndex:m,currentIndex:h,reordered:g,definitionChanged:_,changeUnknown:v}=t,y=p??f??t.type,b=m===void 0&&h!==void 0,x=m!==void 0&&h===void 0,S=!b&&!x&&f!==p,C=!b&&!x&&(f!==p||g===!0),w=n?`unchanged`:b?`added`:x?`removed`:S?`type_changed`:_?`definition_changed`:v?`definition_unknown`:`unchanged`,[T,E]=V(null),ee=!!T,D=e=>{e.stopPropagation(),E(e.currentTarget)},O=()=>{E(null)},k=()=>{l(`profile_diff`,{model:e.name,columns:[d]},{showForm:!1,trackProps:{action:`profile_diff`,source:`schema_column_menu`,node_count:1}})},te=()=>{l(`histogram_diff`,{model:e.name,column_name:d,column_type:y},{showForm:!1,trackProps:{action:`histogram_diff`,source:`schema_column_menu`,node_count:1}})},ne=()=>{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}})},re=()=>{l(`value_diff`,{model:e.name,columns:[d]},{showForm:!0,trackProps:{action:`value_diff`,source:`schema_column_menu`,node_count:1}})},ie=!f||!p;return U(K,{title:me({name:d,status:w,baseType:f,currentType:p,cllAvailable:!(s===void 0||!c(`change_analysis`)||m!==void 0&&h===void 0),impacted:!!o&&!b&&!x&&!C&&!_}),placement:`top`,children:W(G,{sx:{display:`flex`,alignItems:`center`,gap:`3px`},children:[C&&U(`span`,{className:`schema-change-badge schema-change-badge-changed`,children:`~`}),b&&U(`span`,{className:`schema-change-badge schema-change-badge-added`,children:`+`}),x&&U(`span`,{className:`schema-change-badge schema-change-badge-removed`,children:`-`}),o&&!b&&!x&&!C&&!_&&!v&&U(`span`,{className:`schema-change-badge schema-change-badge-impacted`,children:`!`}),_&&U(K,{title:`Definition changed — click to view code`,placement:`top`,onMouseOver:e=>e.stopPropagation(),children:a?U(`button`,{type:`button`,className:`schema-change-badge schema-change-badge-changed schema-change-badge-clickable`,onClick:e=>{e.stopPropagation(),a()},children:`~`}):U(`span`,{className:`schema-change-badge schema-change-badge-changed`,children:`~`})}),v&&!b&&!x&&!C&&!_&&U(K,{title:`Change status unknown — analyzer couldn't resolve column dependencies`,placement:`top`,onMouseOver:e=>e.stopPropagation(),children:U(`span`,{className:`schema-change-badge schema-change-badge-unknown`,children:`?`})}),U(G,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:d}),S?W(G,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`,gap:`0.125rem`,ml:`0.25rem`,fontSize:`1.6rem`},children:[f&&U(G,{component:`span`,sx:{textDecoration:`line-through`,opacity:.6},children:U(he,{type:f,disableTooltip:!0})}),U(G,{component:`span`,sx:{fontSize:`0.7em`,opacity:.5},children:`→`}),p&&U(he,{type:p,disableTooltip:!0})]}):y&&U(G,{component:`span`,sx:{ml:`0.25rem`,fontSize:`1.6rem`},children:U(he,{type:y,disableTooltip:!0})}),U(G,{sx:{flex:1}}),r&&U(qt,{size:12,color:`inherit`}),i&&!n&&e.resource_type!==`source`&&W(H,{children:[U(J,{"aria-label":`Column options`,className:`row-context-menu`,size:`small`,disabled:u.disableDatabaseQuery,onClick:D,children:U(vr,{})}),W(In,{anchorEl:T,open:ee,onClose:O,slotProps:{list:{sx:{lineHeight:`20px`}}},children:[U(xr,{sx:{m:0,p:`4px 12px`,lineHeight:`20px`},children:`Diff`}),U(Z,{onClick:()=>{k(),O()},disabled:ie,sx:{fontSize:`0.85rem`},children:`Profile Diff`}),U(Z,{onClick:()=>{te(),O()},disabled:ie||(y?!Fa(y):!0),sx:{fontSize:`0.85rem`},children:`Histogram Diff`}),U(Z,{onClick:()=>{ne(),O()},disabled:ie,sx:{fontSize:`0.85rem`},children:`Top-k Diff`}),U(Z,{onClick:()=>{re(),O()},disabled:ie,sx:{fontSize:`0.85rem`},children:`Value Diff`})]})]})]})})}function ds(e,t,n,r){return i=>{let a=i.data;return a?U(us,{model:e,row:a,cllRunning:t?.get(a.name)??!1,showMenu:n,onViewCode:r,isImpacted:a.isImpacted}):null}}function fs(e,t,n){return r=>{let i=r.data;return i?U(us,{model:e,row:i,cllRunning:t?.get(i.name)??!1,singleEnv:!0,showMenu:n}):null}}function ps(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 U(oc,{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 ms(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?W(`span`,{children:[U(`span`,{className:`schema-index-old`,children:t}),U(`span`,{className:`schema-index-new`,children:n})]}):U(`span`,{children:n===void 0?t??`-`:n??`-`})}function hs(e={},t={}){let n={},r=Te(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 gs(e,t={}){let{node:n,cllRunningMap:r,showMenu:i,columnChanges:a,onViewCode:o,impactedColumns:s,nodeId:c,distribution:l}=t,u=[{field:`index`,headerName:``,resizable:!0,minWidth:35,width:35,cellRenderer:ms,cellClass:`schema-column schema-column-index`},{field:`name`,headerName:`Name`,resizable:!0,cellRenderer:n?ds(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&&u.push({colId:`distribution`,headerName:`Distribution`,resizable:!0,sortable:!1,minWidth:150,width:160,cellRenderer:ps(l),cellClass:`schema-column schema-column-profile-distribution`});let d=Object.values(e);if(a)for(let e of d){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 d)A(c,e.name,s)&&(e.isImpacted=!0);return{columns:u,rows:d}}function _s(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,cellRenderer:n?fs(n,r,i):void 0,cellClass:`schema-column`}],rows:a}}function vs({columnName:e,primaryKeys:t}){return U(G,{sx:{display:`flex`,justifyContent:`center`,alignItems:`center`,height:`100%`},children:t.includes(e)&&U(yr,{})})}function ys({params:e,column:t}){let{runAction:n}=Pe(),{featureToggles:r}=Ie(),[i,a]=V(null),o=!!i,s=e=>{a(e.currentTarget)},c=()=>{a(null)},l=(t,r)=>{n(`value_diff_detail`,{...e,...t},r)};return W(G,{sx:{display:`flex`},children:[U(G,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t}),U(G,{sx:{flex:1}}),U(J,{"aria-label":`Column options`,className:`row-context-menu`,size:`small`,disabled:r.disableDatabaseQuery,onClick:s,children:U(sn,{})}),W(In,{anchorEl:i,open:o,onClose:c,slotProps:{list:{sx:{lineHeight:`20px`}}},children:[U(xr,{sx:{fontSize:`8pt`,lineHeight:`20px`},children:`Action`}),U(Z,{onClick:()=>{l({},{showForm:!0}),c()},sx:{fontSize:`10pt`},children:`Show mismatched values...`}),W(Z,{onClick:()=>{l({columns:[t]},{showForm:!1}),c()},sx:{fontSize:`10pt`},children:[`Show mismatched values for '`,t,`'`]})]})]})}function bs({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)} %`),U(G,{sx:{textAlign:`right`},children:t})}function xs(e){return t=>{let n=t.data;return n?U(vs,{columnName:String(n[0]),primaryKeys:e}):null}}function Ss(e){return t=>{let n=t.data,r=t.colDef?.field??``;return n?U(ys,{column:String(n[r]),params:e}):null}}function Cs(e){let t=e.data,n=e.colDef?.field??``;return t?U(bs,{value:t[n]}):null}const ws=[{key:`0`,name:`Column`,type:`text`},{key:`1`,name:`Matched`,type:`number`},{key:`2`,name:`Matched %`,type:`number`}];function Ts(e){let t=e.data;if(!t)return;let n=t[2];return n!=null&&n<1?`diff-cell-modified`:void 0}function Es(e,t){let n=e==null,r=t==null;return n&&r?0:n?1:r?-1:e-t}const Ds={PRIMARY_KEY_INDICATOR:`__is_pk__`,COLUMN_NAME:`0`,MATCHED_COUNT:`1`,MATCHED_PERCENT:`2`};function Os(e,t){return[{field:Ds.PRIMARY_KEY_INDICATOR,headerName:``,width:30,maxWidth:30,sortable:!1,cellRenderer:xs(e)},{field:Ds.COLUMN_NAME,headerName:`Column`,resizable:!0,cellRenderer:Ss(t),cellClass:`cell-show-context-menu`},{field:Ds.MATCHED_COUNT,headerName:`Matched`,resizable:!0,cellClass:Ts},{field:Ds.MATCHED_PERCENT,headerName:`Matched %`,resizable:!0,sort:`asc`,comparator:Es,cellRenderer:Cs,cellClass:Ts}]}function ks(e,t){let{params:n}=t,r=Array.isArray(n.primary_key)?n.primary_key:[n.primary_key],i={...e.data,columns:ws};return{columns:Os(r,n),rows:ke(i)}}function As(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(ee(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 js(e){let t=e.data;if(!t)return null;let n=e.colDef?.field??``,r=String(ve(t,n)??e.value??``),i=String(ve(t,`data_type`)??``)||void 0;return U(K,{title:me({name:r,currentType:i}),placement:`top`,children:W(G,{sx:{display:`flex`,alignItems:`center`,gap:`6px`,overflow:`hidden`,height:`100%`},children:[U(G,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:r}),i&&U(G,{component:`span`,sx:{fontSize:`1.6rem`},children:U(he,{type:i,disableTooltip:!0})})]})})}function Ms(e){let t=e.data;if(!t)return null;let n=e.colDef?.field??``,r=String(ve(t,n)??e.value??``),i=ve(t,`base__data_type`),a=i==null?void 0:String(i),o=ve(t,`current__data_type`),s=o==null?void 0:String(o),c=a!=null&&s!=null&&a!==s,l=s??a;return U(K,{title:me({name:r,baseType:a,currentType:s}),placement:`top`,children:W(G,{sx:{display:`flex`,alignItems:`center`,gap:`6px`,overflow:`hidden`,height:`100%`},children:[U(G,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:r}),c?W(G,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`,gap:`0.125rem`,fontSize:`1.6rem`},children:[U(G,{component:`span`,sx:{textDecoration:`line-through`,opacity:.6},children:U(he,{type:a,disableTooltip:!0})}),U(G,{component:`span`,sx:{fontSize:`0.7em`,opacity:.5},children:`→`}),U(he,{type:s,disableTooltip:!0})]}):l&&U(G,{component:`span`,sx:{fontSize:`1.6rem`},children:U(he,{type:l,disableTooltip:!0})})]})})}function Ns(e){if(!e)return!1;let t=e.toLowerCase();return t===`data_type`||t===`base__data_type`||t===`current__data_type`}function Ps(e){let t=e.rows.length>0&&Object.hasOwn(e.rows[0],`base__data_type`),n=e.columns.filter(e=>{if(`children`in e&&e.children){let t=e.children.filter(e=>!Ns(e.field));return t.length===0?!1:(e.children=t,!0)}return!Ns(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:js}:e})};let n=e;return n.field?.toLowerCase()===`column_name`?{...n,cellRenderer:t?Ms:js}:e});return{...e,columns:n}}function Fs(e){return e.current?.columns.find(e=>e.name.toLowerCase()===`column_name`)?.name??`column_name`}function Is(e,t={}){let n=As(e);if(!n)return null;switch(n.kind){case`query`:return fe(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 Me(n.result.base,n.result.current,t);case`query_diff_joined`:return n.result.diff?Ae(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 ks(n.result,{params:n.params});case`value_diff_detail`:return Ae(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=Fs(n.result);return Ps(fe(n.result.current,{primaryKeys:[e],pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,columnsRenderMode:t.columnsRenderMode,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged}))}case`profile_diff`:{let e=Fs(n.result);return Ps(Me(n.result.base,n.result.current,{primaryKeys:[e],pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,displayMode:t.displayMode,columnsRenderMode:t.columnsRenderMode,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged}))}case`row_count`:return _e(n.result);case`row_count_diff`:return Oe(n.result);default:return null}}const Ls=`Paired baseline and current continuous distribution`,Rs=`Paired baseline and current categorical distribution`;function zs({ariaLabel:e,className:t,children:n}){return W(`svg`,{width:140,height:28,viewBox:`0 0 140 28`,className:t,style:{display:`block`,overflow:`visible`},role:`img`,"aria-label":e,children:[U(`title`,{children:e}),n]})}function Bs({y:e,stroke:t}){return U(`line`,{x1:0,y1:e,x2:140,y2:e,stroke:t,strokeWidth:.5})}function Vs(e,t,n){return`${e} [base: ${`${(t*100).toFixed(1)}%`}, current: ${`${(n*100).toFixed(1)}%`}]`}function Hs(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 Us({data:e,formatValue:t=M,className:n}){let r=N(),i=Xe(r),a=Qe(r),o=i.base,s=i.current,c=a.borderColor,l=`phc-overlap-${vt().replace(/:/g,``)}`,u=z(()=>Gs(e,140),[e]);return u.bins.length===0?U(zs,{ariaLabel:Ls,className:n}):W(zs,{ariaLabel:Ls,className:n,children:[U(`defs`,{children:W(`pattern`,{id:l,patternUnits:`userSpaceOnUse`,width:4,height:4,children:[U(`rect`,{x:0,y:0,width:2,height:2,fill:o}),U(`rect`,{x:2,y:2,width:2,height:2,fill:o}),U(`rect`,{x:2,y:0,width:2,height:2,fill:s}),U(`rect`,{x:0,y:2,width:2,height:2,fill:s})]})}),u.bins.map((e,n)=>{let r=e.baseDensity/u.maxDensity*26,i=e.currentDensity/u.maxDensity*26,a=Math.min(r,i),c=Math.max(r,i),d=r>i?o:s,f=Math.max(.5,e.width-.25),p=Ks(e,t);return W(`g`,{children:[U(`rect`,{x:e.x,y:0,width:e.width,height:26,fill:`none`,pointerEvents:`all`,children:U(`title`,{children:p})}),a>0&&U(`rect`,{x:e.x,y:26-a,width:f,height:a,fill:`url(#${l})`,pointerEvents:`none`}),c>a&&U(`rect`,{x:e.x,y:26-c,width:f,height:c-a,fill:d,pointerEvents:`none`})]},n)}),U(Bs,{y:26,stroke:c})]})}function Ws(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 Gs(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?Ws(n,i,d):0,currentDensity:c?Ws(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 Ks(e,t){let n=e.hi-e.lo,r=n>0?e.baseDensity*n:0,i=n>0?e.currentDensity*n:0;return Vs(`${t(e.lo)}–${t(e.hi)}`,r,i)}function qs({data:e,formatValue:t=Ys,className:n}){let r=N(),i=Xe(r),a=Qe(r),o=i.base,s=i.current,c=a.borderColor,l=a.secondaryTextColor,u=z(()=>Js(e,26,t),[e,26,t]);if(u.length===0)return U(zs,{ariaLabel:Rs,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 W(zs,{ariaLabel:Rs,className:n,children:[u.map((e,t)=>{let n=t*d,r=n+f,i=n+f+h+m;return W(`g`,{children:[U(`rect`,{x:n,y:0,width:d,height:26,fill:`none`,pointerEvents:`all`,children:U(`title`,{children:e.hoverTitle})}),e.baseH>0&&U(`rect`,{x:r,y:26-e.baseH,width:h,height:e.baseH,fill:o,pointerEvents:`none`}),e.currH>0&&U(`rect`,{x:i,y:26-e.currH,width:h,height:e.currH,fill:s,pointerEvents:`none`})]},t)}),U(Bs,{y:26,stroke:c}),e.trimmed&&W(`g`,{pointerEvents:`none`,children:[U(`rect`,{x:102,y:1,width:37,height:10,fill:a.overlayBackgroundColor,rx:2,"data-testid":`trimmed-marker-bg`}),U(`text`,{x:139,y:9,fontFamily:`system-ui, -apple-system, sans-serif`,fontSize:8,fill:l,textAnchor:`end`,children:`trimmed`})]})]})}function Js(e,t,n){if(e.mode===`ranks`){let{slots:r}=Qs(e);return r.map(r=>({baseH:Xs(r.baseRank,e.k,t),currH:Xs(r.currRank,e.k,t),hoverTitle:Hs(n(r.value),r.baseRank,r.currRank)}))}let{slots:r,maxProp:i}=Zs(e);return r.map(e=>({baseH:e.baseProp/i*t,currH:e.currProp/i*t,hoverTitle:Vs(n(e.value),e.baseProp,e.currProp)}))}function Ys(e){return String(e)}function Xs(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 Zs(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 Qs(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 $s(e){if(!e)return!1;let t=e.toLowerCase();return t.includes(`timestamp`)||t.includes(`datetime`)||t.includes(`date`)}function ec(e){if(!e)return!1;let t=e.toLowerCase();return t.includes(`time`)&&!t.includes(`timestamp`)&&!t.includes(`datetime`)}function tc({title:e,testId:t}){return U(`span`,{className:`schema-distribution-error`,title:e,role:`img`,"aria-label":e,"data-testid":t,children:U(_r,{"aria-hidden":!0})})}function nc(){return U(`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 rc(e){return e==null?`(null)`:typeof e==`boolean`?e?`true`:`false`:String(e)}function ic(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 ac(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 oc({payload:e,columnType:t,baseTotal:n=0,currentTotal:r=0,isLoading:i=!1,hasError:a=!1,notProfiled:o=!1,className:s}){if(i)return U(`span`,{className:`schema-distribution-pending`,"aria-label":`Loading distribution`,role:`status`,"data-testid":`inline-distribution-pending`});if(a)return U(tc,{title:`Failed to read distribution`,testId:`inline-distribution-error`});if(!e)return o?U(nc,{}):null;if(e.kind===null)return U(tc,{title:`Failed to read distribution for this column`,testId:`inline-distribution-column-failure`});if(e.kind===`histogram`){let n=ec(t)?ge:$s(t)?xe:void 0;return U(Us,{data:ic(e),formatValue:n,className:s})}return U(qs,{data:ac(e,n,r),formatValue:rc,className:s})}function sc({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.`;return W(Kt,{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:[U(wr,{sx:{fontSize:`0.75rem`,fontWeight:600,mb:.25},children:t?`Paired distributions unavailable on ${t}`:`Paired distributions unavailable on this adapter`}),r]})}zt.registerModules([Rt]);function cc({emptyMessage:e}){return U(G,{sx:{display:`flex`,height:`35px`,alignItems:`center`,justifyContent:`center`,bgcolor:`grey.100`,textAlign:`center`,gridColumn:`1/-1`},children:U(Y,{sx:{fontWeight:600},children:e??`No rows`})})}function lc({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=B(null),_=B(null);yt(h,()=>({api:_.current,element:g.current}),[]);let v=N(),y=z(()=>v?Ze:Ye,[v]),b=n??i,x=r??a,S=l??u,C=z(()=>({resizable:!0,suppressMovable:!0,...S}),[S]),w=z(()=>{if(d?.noRowsFallback)return()=>d.noRowsFallback},[d?.noRowsFallback]),T=z(()=>o||(e=>{let t=e.data;if(t?.__rowKey!==void 0)return String(t.__rowKey);let n=e.data?.rowIndex;return String(n??Math.random())}),[o]),E=z(()=>b?`grid-${b.filter(e=>`field`in e&&e.pinned===`left`).map(e=>e.field).sort().join(`,`)}`:`grid`,[b]);return U(G,{ref:g,className:[t,p].filter(Boolean).join(` `)||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)`},"& .diff-cell-added":{backgroundColor:v?`#1a4d1a !important`:`#cefece !important`,color:`var(--mui-palette-text-primary)`},"& .diff-cell-removed":{backgroundColor:v?`#5c1f1f !important`:`#ffc5c5 !important`,color:`var(--mui-palette-text-primary)`},"& .diff-cell-modified":{backgroundColor:v?`#713F12 !important`:`#FEF3C7 !important`,color:`var(--mui-palette-text-primary)`},"& .diff-header-added":{backgroundColor:`#15803d !important`,color:`white`},"& .diff-header-removed":{backgroundColor:`#f43f5e !important`,color:`white`},"& .diff-header-modified":{backgroundColor:`#f59e0b !important`,color:`white`},"& .index-column":{color:`var(--mui-palette-text-secondary)`,textAlign:`right`},"& .ag-pinned-left-cols-container .ag-cell":{backgroundColor:v?`#2d2d2d`:`#f5f5f5`}},children:U(Tr,{theme:y,columnDefs:b,rowData:x,getRowId:T,rowHeight:s,headerHeight:c,defaultColDef:C,suppressCellFocus:!0,suppressRowHoverHighlight:!1,animateRows:!1,enableCellTextSelection:!0,ensureDomOrder:!0,rowClass:f,noRowsOverlayComponent:w,onGridReady:e=>{_.current=e.api},...m},E)})}const uc=gt(lc);lr.register(cr,sr,dr,ur,mr);function dc(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 fc({count:e,total:t,color:n,theme:r=`light`,height:i=16}){let a=r===`dark`,o=Qe(a),s=Xe(a),c=n??s.current,l=z(()=>({labels:[``],datasets:[{indexAxis:`y`,data:[e],backgroundColor:c,hoverBackgroundColor:c,borderWidth:0,borderColor:c,barPercentage:1,categoryPercentage:.6}]}),[e,c]),u=z(()=>({responsive:!0,maintainAspectRatio:!1,indexAxis:`y`,scales:{x:{display:!1,max:t,grid:{display:!1},ticks:{color:o.textColor}},y:{display:!1,ticks:{color:o.textColor}}},plugins:{tooltip:{enabled:!1}},animation:!1}),[t,o]);return U(`div`,{style:{height:i,width:`100%`},children:U(hr,{data:l,options:u})})}const pc=I(fc);pc.displayName=`SingleBarChart`;function mc({data:e,maxItems:t=10,theme:n=`light`,className:r}){let i=Xe(n===`dark`);return U(G,{className:r,sx:{width:`100%`},children:z(()=>dc(e,t),[e,t]).map(t=>W(mt,{children:[W(G,{sx:{display:`flex`,alignItems:`center`,width:`100%`,"&:hover":{bgcolor:`action.hover`},px:1.5},children:[U(K,{title:t.label,placement:`top-start`,children:U(Y,{sx:{width:`14em`,fontSize:`0.875rem`,color:t.isSpecial?`grey.400`:`inherit`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t.label})}),U(G,{sx:{display:`flex`,height:`2em`,width:`10em`},children:U(pc,{count:t.count,total:e.valids,color:i.current,theme:n})}),U(K,{title:String(t.count),placement:`top-start`,children:U(Y,{sx:{ml:2.5,mr:1,fontSize:`0.875rem`,width:`4em`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:M(t.count)})}),U(Y,{sx:{color:`grey.400`,fontSize:`0.875rem`,width:`4em`},children:Ne(t.count/e.valids)})]}),U(Vn,{})]},t.label))})}const hc=I(mc);hc.displayName=`TopKSummaryList`;function gc({baseData:e,currentData:t,maxItems:n=10,showComparison:r=!1,theme:i=`light`,title:a,className:o}){let s=i===`dark`,c=Xe(s),l=Qe(s),u=z(()=>dc(t,n),[t,n]),d=z(()=>e?dc(e,n):[],[e,n]),f=r&&e&&d.length>0,p=t.valids||1,m=e?.valids||1,h=z(()=>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]),g=z(()=>{let e=h.map(({current:e})=>e.label),t=[{label:`Current`,data:h.map(({current:e})=>e.count/p),backgroundColor:c.current,hoverBackgroundColor:c.current,borderWidth:0,borderRadius:3,barPercentage:f?.9:1,categoryPercentage:f?.75:.6}];return f&&t.push({label:`Base`,data:h.map(({base:e})=>(e?.count??0)/m),backgroundColor:c.base,hoverBackgroundColor:c.base,borderWidth:0,borderRadius:3,barPercentage:.9,categoryPercentage:.75}),{labels:e,datasets:t}},[h,c,f,p,m]),_=z(()=>({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=>h[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`?m:p,r=Math.round(t*n);return`${e.dataset.label}: ${M(r)} (${Ne(t)})`}}}},animation:!1}),[h,l,f,m,p]),v={id:`barLabels`,afterDatasetsDraw(e){let{ctx:t}=e;t.save(),t.font=`11px system-ui, sans-serif`,t.textBaseline=`middle`;let n=Qe(s);for(let r=0;r<e.data.datasets.length;r++){let i=e.data.datasets[r],a=i.label===`Base`?m:p,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=M(u),p=Ne(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()}},y=h.length*(f?46:32)+(f?30:0);return W(G,{className:o,sx:{width:`100%`,px:2,py:2},children:[a&&U(Y,{variant:`subtitle1`,sx:{fontWeight:500,mb:1},children:a}),U(`div`,{style:{height:Math.max(y,50)},children:U(hr,{data:g,options:_,plugins:[v]})})]})}const _c=I(gc);_c.displayName=`TopKBarChart`;function vc(e){switch(e){case`sql`:return Jn();case`yaml`:return Yn();default:return null}}function yc(e){return[Qn.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 bc({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=B(null),d=B(null),f=s===`dark`;return R(()=>{if(!u.current)return;d.current&&=(d.current instanceof Er,d.current.destroy(),null);let o=[...yc(f)];i&&o.push(er());let s=vc(n);if(s&&o.push(s),r&&o.push(Xn.readOnly.of(!0)),c&&!r&&o.push(Qn.updateListener.of(e=>{e.docChanged&&c(e.state.doc.toString())})),a)d.current=new Er({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}});else{let n=[...o,Dr({original:e,highlightChanges:!0,gutter:!0,mergeControls:!1,collapseUnchanged:{margin:3,minSize:4}})];d.current=new Qn({state:Xn.create({doc:t,extensions:n}),parent:u.current})}return()=>{d.current&&=(d.current instanceof Er,d.current.destroy(),null)}},[e,t,n,r,i,a,f,c]),U(G,{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 xc=I(bc);xc.displayName=`DiffEditor`;function Sc({changedOnly:e,onChange:t}){return U(Or,{control:U(Nn,{checked:e??!1,onChange:()=>{t()},size:`small`}),label:`Changed only`,slotProps:{typography:{variant:`body2`}}})}function Cc({value:e,onChange:t,textOn:n,textOff:r}){return W(Fn,{variant:`outlined`,size:`xsmall`,sx:{borderRadius:1},children:[U(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`}),U(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 wc({displayMode:e,onDisplayModeChanged:t}){return W(H,{children:[e===`inline`&&W(H,{children:[U(be,{value:`Base`,colorPalette:`red`,grayOut:!1,fontSize:`10pt`,noCopy:!0}),U(be,{value:`Current`,colorPalette:`green`,grayOut:!1,fontSize:`10pt`,noCopy:!0})]}),U(Cc,{value:e===`side_by_side`,onChange:e=>{t(e?`side_by_side`:`inline`)},textOff:`Inline`,textOn:`Side by side`})]})}const Tc=e=>{let{defaultValues:t,suggestionList:n,onValuesChange:r,className:i}=e,[a,o]=V(t??[]),[s,c]=V(``),[l,u]=V(!1),[d,f]=V(null),p=B(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 W(G,{sx:{display:`flex`,alignItems:`center`,width:e.width},className:i,children:[W(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:[U(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&&U(Y,{component:`span`,onClick:e=>{e.stopPropagation(),y()},sx:{fontSize:C(),color:`primary.main`,cursor:`pointer`,ml:1,"&:hover":{textDecoration:`underline`}},children:`Clear`})]}),W(In,{anchorEl:d,open:m,onClose:_,slotProps:{paper:{sx:{width:e.width,fontSize:C()}}},children:[U(G,{sx:{px:.5,py:.5},children:W(G,{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=>U(bt,{label:e,size:`small`,onDelete:()=>b(e),sx:{height:22,fontSize:C()}},e)),U(kr,{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)));break;default:break}},onBlur:()=>{p.current&&l&&p.current.focus()},sx:{flex:1,minWidth:120,fontSize:C(),"& input":{p:.5}}})]})}),U(Vn,{}),s!==``&&!n?.includes(s)&&W(Z,{onClick:()=>{v(s),u(!1)},sx:{fontSize:C()},children:[`Add '`,s,`' to the list`]}),S.slice(0,10).map((e,t)=>U(Z,{onClick:()=>{v(e)},sx:{fontSize:C()},children:e},Sr.uniqueId(`option-${t}`))),S.length>10&&U(K,{title:`Please use filter to find more items`,placement:`top`,children:W(G,{sx:{px:1.5,py:.5,color:`text.secondary`,fontSize:`8pt`},children:[`and `,S.length-10,` more items...`]})})]})]})};function Ec({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 W(G,{className:l,sx:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,textAlign:`center`,py:c,px:4,height:`100%`,minHeight:200},children:[n&&U(G,{sx:{mb:2,color:d?`grey.500`:`grey.400`,"& svg":{width:48,height:48}},children:n}),U(Y,{variant:`h6`,sx:{fontWeight:500,color:d?`grey.300`:`grey.700`,mb:+!!t},children:e}),t&&U(Y,{variant:`body2`,sx:{color:d?`grey.400`:`grey.500`,maxWidth:400,mb:r||a?3:0},children:t}),(r||a)&&W(G,{sx:{display:`flex`,gap:2,mt:1},children:[r&&i&&U(q,{variant:`contained`,onClick:i,size:`small`,children:r}),a&&o&&U(q,{variant:`outlined`,onClick:o,size:`small`,children:a})]}),u&&U(G,{sx:{mt:3},children:u})]})}const Dc=I(Ec);Dc.displayName=`EmptyState`;function Oc(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 kc({isOpen:e,url:t,onConfirm:n,onCancel:r}){let i=B(null);return W(Bt,{open:e,onClose:r,maxWidth:`sm`,fullWidth:!0,"aria-labelledby":`external-link-dialog-title`,children:[W(Ut,{id:`external-link-dialog-title`,sx:{display:`flex`,alignItems:`center`,gap:1},children:[U(G,{component:vn,sx:{color:`amber.500`,fontSize:20}}),`External Link`]}),U(J,{"aria-label":`close`,onClick:r,sx:{position:`absolute`,right:8,top:8,color:`grey.500`},children:U(Gt,{})}),W(Ht,{children:[U(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?`}),U(G,{sx:{bgcolor:`grey.50`,p:1,borderRadius:1,border:`1px solid`,borderColor:`grey.200`},children:U(G,{component:`code`,sx:{fontSize:`0.875rem`,wordBreak:`break-all`,whiteSpace:`pre-wrap`,bgcolor:`transparent`,fontFamily:`monospace`},children:Oc(t,100)})})]}),W(Vt,{sx:{gap:1},children:[U(q,{ref:i,variant:`outlined`,onClick:r,children:`Cancel`}),U(q,{color:`iochmara`,variant:`contained`,onClick:n,children:`Open Link`})]})]})}function Ac(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 jc({href:e,children:t,internalDomains:n}){let[r,i]=V(!1),[a,o]=V(null),s=t=>{e&&Ac(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?Ac(e,n):!1;return W(H,{children:[W(Bn,{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&&` ↗`]}),U(kc,{isOpen:r,url:a||``,onConfirm:c,onCancel:l})]})}function Mc({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
|
-
`)?U(G,{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}):U(G,{sx:{my:2,borderRadius:1,overflow:`hidden`,fontSize:`0.875rem`},children:U(jr,{style:Mr,language:i,PreTag:`div`,customStyle:{margin:0,borderRadius:`6px`,fontSize:`0.85em`},children:a})})}function Nc({content:e,fontSize:t=`0.875rem`,internalDomains:n=[]}){let r=N(),i=[window.location.hostname,`reccehq.com`,`datarecce.io`,`localhost`,...n];return U(G,{className:`markdown-content`,children:U(Ar,{remarkPlugins:[Nr],components:{a:({href:e,children:t})=>U(jc,{href:e,internalDomains:i,children:t}),code:e=>U(Mc,{...e,isDark:r}),p:({children:e})=>U(Y,{component:`p`,sx:{fontSize:t,mb:2,"&:last-child":{mb:0}},children:e}),h1:({children:e})=>U(Y,{sx:{fontSize:`1.25rem`,fontWeight:`bold`,mb:2,mt:3},children:e}),h2:({children:e})=>U(Y,{sx:{fontSize:`1.125rem`,fontWeight:`bold`,mb:2,mt:3},children:e}),h3:({children:e})=>U(Y,{sx:{fontSize:`1rem`,fontWeight:600,mb:2,mt:2},children:e}),ul:({children:e})=>U(G,{component:`ul`,sx:{pl:4,mb:2,listStyleType:`disc`},children:e}),ol:({children:e})=>U(G,{component:`ol`,sx:{pl:4,mb:2,listStyleType:`decimal`},children:e}),li:({children:e})=>U(G,{component:`li`,sx:{fontSize:t,mb:1},children:e}),blockquote:({children:e})=>U(G,{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})=>U(G,{sx:{overflowX:`auto`,my:2},children:U(G,{component:`table`,sx:{width:`100%`,fontSize:t,border:`1px solid`,borderColor:r?`grey.700`:`grey.200`,borderRadius:1},children:e})}),thead:({children:e})=>U(G,{component:`thead`,sx:{bgcolor:r?`grey.800`:`grey.50`},children:e}),tbody:({children:e})=>U(G,{component:`tbody`,children:e}),tr:({children:e})=>U(G,{component:`tr`,sx:{borderBottom:`1px solid`,borderColor:r?`grey.700`:`grey.200`},children:e}),th:({children:e})=>U(G,{component:`th`,sx:{px:2,py:1,fontWeight:600,textAlign:`left`},children:e}),td:({children:e})=>U(G,{component:`td`,sx:{px:2,py:1},children:e}),hr:()=>U(G,{component:`hr`,sx:{my:3,borderColor:r?`grey.700`:`grey.200`}}),strong:({children:e})=>U(Y,{component:`strong`,sx:{fontWeight:600},children:e}),em:({children:e})=>U(Y,{component:`em`,sx:{fontStyle:`italic`},children:e}),del:({children:e})=>U(Y,{component:`del`,sx:{textDecoration:`line-through`,color:`grey.500`},children:e})},children:e})})}const Pc=gt(function({backgroundColor:e=`white`,blockSize:t,children:n,...r},i){return U(G,{ref:i,...r,sx:{overflowY:`auto`,overflowX:`hidden`,...r.sx},children:U(G,{sx:{backgroundColor:e,height:`100%`,blockSize:t},children:n})})}),Fc={mode:`multiRow`,checkboxes:!0,headerCheckbox:!0,enableClickSelection:!1};function Ic({warning:e,isDark:t}){return W(G,{sx:{display:`flex`,alignItems:`center`,gap:.5,fontSize:`0.75rem`},children:[U(vn,{color:t?Pr[400]:Pr[600]}),U(G,{children:e})]})}function Lc({toolbar:e,warnings:t,warningStyle:n=`alert`,isDark:r}){return!e&&(!t||t.length===0)?null:W(G,{sx:{display:`flex`,alignItems:`center`,gap:1,px:1,py:.5,borderBottom:1,borderColor:`divider`,bgcolor:n===`amber`&&t&&t.length>0?r?Pr[900]:Pr[100]:r?`grey.900`:`grey.50`,color:n===`amber`&&t&&t.length>0?r?Pr[200]:Pr[800]:void 0},children:[n===`amber`?t?.map(e=>U(Ic,{warning:e,isDark:r},e)):t?.map(e=>U(Kt,{severity:`warning`,sx:{py:0,fontSize:`0.75rem`},children:e},e)),U(G,{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=N();if(!n(e))throw Error(`Run type must be ${r}`);let p=z(()=>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?W(G,{sx:{display:`flex`,flexDirection:`column`,bgcolor:f?`grey.900`:`grey.50`,height:`100%`},children:[U(Lc,{toolbar:p?.toolbar,warnings:p?.warnings,warningStyle:p?.warningStyle,isDark:f}),U(G,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,flex:1},children:p?.emptyMessage??o})]}):U(G,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,bgcolor:f?`grey.900`:`grey.50`,height:`100%`},children:o}):i===`grid`?W(G,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:[p.header,U(Lc,{toolbar:p.toolbar,warnings:p.warnings,warningStyle:p.warningStyle,isDark:f}),U(uc,{ref:d,style:{blockSize:`auto`,maxHeight:`100%`,overflow:`auto`,fontSize:`0.875rem`,borderWidth:1},columns:p.columns??[],rows:p.rows??[],renderers:{noRowsFallback:U(cc,{emptyMessage:p.noRowsMessage})},defaultColumnOptions:p.defaultColumnOptions,rowSelection:c?Fc:void 0}),p.footer]}):W(G,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:[p.header,U(Lc,{toolbar:p.toolbar,warnings:p.warnings,warningStyle:p.warningStyle,isDark:f}),U(Pc,{ref:d,backgroundColor:f?`#1f2937`:`white`,sx:{height:`100%`},children:p.content}),p.footer]}):U(G,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,bgcolor:f?`grey.900`:`grey.50`,height:`100%`},children:m})}return l.displayName=t,gt(l)}const Rc=`0.1.0`;function zc(e){return u(e)}const Bc=$({displayName:`HistogramDiffResultView`,typeGuard:zc,expectedRunType:`histogram_diff`,screenshotWrapper:`box`,conditionalEmptyState:e=>{let t=e.result?.base,n=e.result?.current;return!t||!n?U(`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=c===`datetime`?`datetime`:c===`string`?`string`:`numeric`;return{content:W(G,{sx:{display:`flex`,flexDirection:`row`},children:[U(G,{sx:{flex:1}}),U(G,{sx:{width:`80%`,height:`35vh`,m:4},children:U(ls,{title:`Model ${n.model}.${n.column_name}`,dataType:l,baseData:{counts:r.counts},currentData:{counts:i.counts},min:a,max:o,samples:r.total,binEdges:s,theme:t?`dark`:`light`})}),U(G,{sx:{flex:1}})]})}}});function Vc({params:e,onParamsChanged:t,setIsReadyToExecute:n}){let[r,i]=V(!e.columns||e.columns.length===0),a=e.model,{columns:o,isLoading:s,error:c}=hu(e.model);R(()=>{n(!!a)},[a,n]);let l=o.map(e=>e.name);return s?U(G,{children:`Loading...`}):l.length===0||c?U(G,{children:`Error: Please provide the 'catalog.json' to list column candidates`}):W(X,{spacing:5,sx:{m:`8px 24px`,pb:`200px`},children:[W(G,{children:[U(Y,{variant:`body2`,sx:{mb:1},children:`Model`}),U(Ln,{fullWidth:!0,size:`small`,value:e.model,slotProps:{input:{readOnly:!0}}})]}),W(G,{children:[U(Y,{variant:`body2`,sx:{mb:1},children:`Columns`}),U(Or,{control:U(Nn,{checked:r,onChange:n=>{i(n.target.checked),t({...e,columns:void 0})},size:`small`}),label:`All columns`,sx:{mb:`10px`}}),!r&&U(Fr,{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=>U(Ln,{...t,placeholder:(e.columns??[]).length===0?`Select columns`:``,className:`no-track-pii-safe`})})]})]})}const Hc=e=>typeof e==`object`&&!!e&&`type`in e&&S(e),Uc=$({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=Is(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}}}),Wc=$({displayName:`ProfileDiffResultView`,typeGuard:Hc,expectedRunType:`profile_diff`,screenshotWrapper:`grid`,transformData:(e,{viewOptions:t,onViewOptionsChanged:n})=>{let r=t?.pinned_columns??[],i=t?.display_mode??`inline`,a=Is(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=U(os,{children:U(wc,{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 Gc(e){return w(e)}const Kc=$({displayName:`QueryDiffResultView`,typeGuard:Gc,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=Ae(e.result.diff,t,{changedOnly:o,pinnedColumns:s,onPinnedColumnsChange:p,columnsRenderMode:l,onColumnsRenderModeChanged:d,baseTitle:i,currentTitle:a,displayMode:c})}else m=Me(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=W(H,{children:[U(wc,{displayMode:c,onDisplayModeChanged:e=>{n&&n({...t,display_mode:e})}}),U(Sc,{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 qc(e){return p(e)||y(e)}const Jc=$({displayName:`QueryResultView`,typeGuard:qc,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=fe(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?U(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 Yc(e){return b(e)}function Xc(e){return g(e)}function Zc(e){if(!e.result)return null;let t=_e(e.result);return{columns:t.columns,rows:t.rows,isEmpty:t.rows.length===0}}function Qc(e){if(!e.result)return null;let t=Oe(e.result);return{columns:t.columns,rows:t.rows,isEmpty:t.rows.length===0}}const $c=$({displayName:`RowCountResultView`,typeGuard:Yc,expectedRunType:`row_count`,screenshotWrapper:`grid`,transformData:Zc,emptyState:`No nodes matched`}),el=$({displayName:`RowCountDiffResultView`,typeGuard:Xc,expectedRunType:`row_count_diff`,screenshotWrapper:`grid`,transformData:Qc,emptyState:`No nodes matched`});function tl({params:e,onParamsChanged:t,setIsReadyToExecute:n}){let{columns:r,isLoading:i,error:a}=hu(e.model),o=r.map(e=>e.name);return R(()=>{n(!!e.column_name)},[e,n]),i?U(G,{children:`Loading...`}):o.length===0||a?U(G,{children:`Error: Please provide the 'catalog.json' to list column candidates`}):U(G,{sx:{m:`16px`},children:W(An,{fullWidth:!0,children:[U(jn,{sx:{mb:1},children:`Pick a column to show top-k`}),W(Mn,{value:e.column_name,onChange:n=>{let r=n.target.value;t({...e,column_name:r})},children:[U(`option`,{value:``,children:`Select column`}),o.map(e=>U(`option`,{value:e,className:`no-track-pii-safe`,children:e},e))]})]})})}function nl(e){return _(e)}function rl({model:e,columnName:t}){return W(Y,{variant:`h5`,sx:{pt:4,textAlign:`center`,color:N()?`grey.200`:`grey.600`},children:[`Model `,e,`.`,t]})}function il({showAll:e,onToggle:t}){return U(G,{sx:{display:`flex`,p:5,justifyContent:`start`},children:U(Bn,{component:`button`,onClick:t,sx:{color:`iochmara.main`,cursor:`pointer`},children:e?`View Only Top-10`:`View More Items`})})}function al(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?U(il,{showAll:c,onToggle:()=>{n&&n({...t,show_all:!c})}}):void 0;return{content:W(H,{children:[U(rl,{model:a.model,columnName:a.column_name}),W(X,{direction:`row`,sx:{alignItems:`center`},children:[U(G,{sx:{flex:1}}),U(_c,{baseData:o,currentData:s,showComparison:!0,maxItems:l?10:void 0,theme:r?`dark`:`light`}),U(G,{sx:{flex:1}})]})]}),footer:u}}const ol=$({displayName:`TopKDiffResultView`,typeGuard:nl,expectedRunType:`top_k_diff`,screenshotWrapper:`box`,emptyState:`No data`,transformData:al});function sl(e){return T(e)}const cl=$({displayName:`ValueDiffDetailResultView`,typeGuard:sl,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=Ae(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=W(H,{children:[U(wc,{displayMode:a,onDisplayModeChanged:e=>{n&&n({...t,display_mode:e})}}),U(Sc,{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 ll({params:e,onParamsChanged:t,setIsReadyToExecute:n}){let[r,i]=V(!e.columns||e.columns.length===0),a=e.model,o=e.primary_key,{columns:s,primaryKey:c,isLoading:l,error:u}=hu(e.model);R(()=>{!o&&c&&t({...e,primary_key:c})},[o,c,e,t]),R(()=>{n(!!(o&&a))},[o,a,n]);let d=s.map(e=>e.name),f=Array.isArray(o)?o:o?[o]:void 0;return l?U(G,{children:`Loading...`}):d.length===0||u?U(G,{children:`Error: Please provide the 'catalog.json' to list column candidates`}):W(X,{spacing:5,sx:{m:`8px 24px`,pb:`200px`},children:[W(G,{children:[U(Y,{variant:`body2`,sx:{mb:1},children:`Model`}),U(Ln,{fullWidth:!0,size:`small`,value:e.model,slotProps:{input:{readOnly:!0}}})]}),W(G,{children:[U(Y,{variant:`body2`,sx:{mb:1},children:`Primary key`}),U(Fr,{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=>U(Ln,{...e,placeholder:(f??[]).length===0?`Select primary key`:``,className:`no-track-pii-safe`})})]}),W(G,{children:[U(Y,{variant:`body2`,sx:{mb:1},children:`Columns`}),U(Or,{control:U(Nn,{checked:r,onChange:n=>{i(n.target.checked),t({...e,columns:void 0})},size:`small`}),label:`All columns`,sx:{mb:`10px`}}),!r&&U(Fr,{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=>U(Ln,{...t,placeholder:(e.columns??[]).length===0?`Select columns`:``,className:`no-track-pii-safe`})})]})]})}function ul(e){return ee(e)}function dl({params:e,summary:t}){let n=t.total-t.added-t.removed;return W(G,{sx:{px:`16px`,pt:`5px`,pb:`5px`},children:[`Model: `,e.model,`, `,t.total,` total (`,n,` common,`,` `,t.added,` added, `,t.removed,` removed)`]})}function fl(e){if(!e.result||!e.params)return{renderNull:!0};let t=ks(e.result,{params:e.params});return t?{columns:t.columns,rows:t.rows,isEmpty:!1,header:U(dl,{params:e.params,summary:e.result.summary})}:{renderNull:!0}}const pl=$({displayName:`ValueDiffResultView`,typeGuard:ul,expectedRunType:`value_diff`,screenshotWrapper:`grid`,transformData:fl}),ml={lineage_diff:{title:`Lineage Diff`,icon:Tn},schema_diff:{title:`Schema Diff`,icon:Cn},query:{title:`Query`,icon:kn,RunResultView:Jc},query_base:{title:`Query Base`,icon:kn,RunResultView:Jc},query_diff:{title:`Query Diff`,icon:kn,RunResultView:Kc},row_count:{title:`Row Count`,icon:Sn,RunResultView:$c},row_count_diff:{title:`Row Count Diff`,icon:Sn,RunResultView:el},profile:{title:`Profile`,icon:On,RunResultView:Uc,RunForm:Vc},profile_diff:{title:`Profile Diff`,icon:On,RunResultView:Wc,RunForm:Vc},value_diff:{title:`Value Diff`,icon:wn,RunResultView:pl,RunForm:ll},value_diff_detail:{title:`Value Diff Detail`,icon:wn,RunResultView:cl,RunForm:ll},top_k_diff:{title:`Top-K Diff`,icon:bn,RunResultView:ol,RunForm:tl},histogram_diff:{title:`Histogram Diff`,icon:En,RunResultView:Bc,RunForm:Ia},simple:{title:`Simple`,icon:Dn}};function hl(e){return ml[e]}const gl=ml;function _l(e){let t={...ml};for(let[n,r]of Object.entries(e))r&&n in t&&(t[n]={...t[n],...r});return t}function vl(e){return t=>e[t]}function yl(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 bl(){let{closeHistory:t,showRunId:n,runId:r}=Pe(),{featureToggles:i}=Ie(),{apiClient:o}=ta(),s=Yt(),c=pt(),{basePath:l}=Fe(),{data:u,isLoading:d}=ft({queryKey:O.runs(),queryFn:async()=>await e(o),retry:!1}),f=z(()=>(u??[]).map(yl),[u]),p=L(e=>{it({name:`click_run`}),n(e,!1)},[n]),m=L(async e=>{it({name:`add_to_checklist`});let t=await a(e,void 0,o);await c.invalidateQueries({queryKey:O.checks()}),s.push(`${l}/checks/?id=${t.check_id}`)},[o,c,s.push,l]),h=L(e=>{it({name:`go_to_check`}),s.push(`${l}/checks/?id=${e}`)},[s.push,l]),g=L(()=>{it({name:`hide`}),t()},[t]),_=L(e=>{let t=hl(e)?.icon;return t?U(t,{}):null},[]),v=U(J,{"aria-label":`Close History`,onClick:g,children:U(yn,{})});return U(ja,{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:U(Zt,{}),goToCheckIcon:U(Xt,{color:`green`})})}const xl=({size:e=16})=>W(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,children:[U(`circle`,{cx:`12`,cy:`12`,r:`10`}),U(`path`,{d:`M12 16v-4`}),U(`path`,{d:`M12 8h.01`})]});function Sl({isOpen:e,onClose:t,onExecute:n,type:r,title:i,params:a,RunForm:o,onCancel:s,onExecuteClick:c,documentationUrl:l,InfoIcon:u=xl}){let[d,f]=V(a??{}),[p,m]=V(null),[h,g]=V(!1),_=B(!1),v=()=>{_.current||s?.(),_.current=!1,t()};return W(Bt,{open:e,onClose:v,maxWidth:`sm`,fullWidth:!0,scroll:`paper`,slotProps:{paper:{sx:{height:`75%`,minHeight:`400px`}}},children:[W(Ut,{sx:{display:`flex`,alignItems:`center`},children:[i,` `,l&&W(H,{children:[U(J,{size:`small`,"aria-label":`Click this button to learn more about the SQL behind`,onMouseEnter:e=>m(e.currentTarget),onMouseLeave:()=>m(null),onClick:()=>window.open(l,`_blank`),children:U(G,{component:u,sx:{fontSize:`16px`}})}),U(ar,{open:!!p,anchorEl:p,onClose:()=>m(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:W(Y,{sx:{fontSize:`0.875rem`},children:[`Click`,` `,U(Bn,{href:l,target:`_blank`,sx:{textDecoration:`underline`,color:`white`,"&:hover":{color:`iochmara.300`}},children:`here`}),` `,`to learn more about the SQL behind`]})})]})]}),U(J,{"aria-label":`close`,onClick:v,sx:{position:`absolute`,right:8,top:8,color:`grey.500`},children:U(Gt,{})}),U(Ht,{sx:{p:0,overflow:`auto`,borderTop:`1px solid`,borderBottom:`1px solid`,borderColor:`divider`},children:U(G,{sx:{contain:`layout`},children:o&&U(o,{params:d,onParamsChanged:f,setIsReadyToExecute:g})})}),U(Vt,{children:U(X,{direction:`row`,spacing:`10px`,children:U(q,{disabled:!h,color:`iochmara`,variant:`contained`,onClick:()=>{_.current=!0,c?.(),n(r,d)},children:`Execute`})})})]})}const Cl=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 wl({isOpen:e,onClose:t,onExecute:n,type:r,title:i,params:a,initialRun:o,RunForm:s}){return U(Sl,{isOpen:e,onClose:t,onExecute:n,type:r,title:i,params:a,initialRun:o,RunForm:s,onCancel:()=>{tt(r)&&rt({action:r,event:et.CANCEL})},onExecuteClick:()=>{tt(r)&&rt({action:r,event:et.EXECUTE})},documentationUrl:Cl(r),InfoIcon:un})}const Tl=gt(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=N(),m=ga(),h=r?.response?.data?.detail??i?.error,g=i?.run_id??t,_=g!=null&&m.has(g),v=i?.status===`Cancelled`||_;if(h)return W(Kt,{severity:`error`,sx:p?{bgcolor:`error.dark`,color:`common.white`,"& .MuiAlert-icon":{color:`common.white`}}:void 0,children:[`Error: `,U(`span`,{className:`no-track-pii-safe`,children:h})]});if(v)return U(G,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,p:`1rem`,height:`100%`,bgcolor:p?`grey.900`:`grey.50`},children:U(X,{spacing:1,sx:{alignItems:`center`},children:U(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 U(G,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,p:`1rem`,height:`100%`,bgcolor:p?`grey.900`:`grey.50`},children:W(X,{spacing:2,sx:{alignItems:`center`},children:[W(X,{direction:`row`,spacing:1,sx:{alignItems:`center`},children:[t==null?U(qt,{size:32}):W(G,{sx:{position:`relative`,display:`inline-flex`},children:[U(qt,{variant:`determinate`,value:t,size:32}),U(G,{sx:{top:0,left:0,bottom:0,right:0,position:`absolute`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:U(Y,{variant:`caption`,component:`div`,sx:{fontSize:`0.6rem`},children:`${Math.round(t)}%`})})]}),U(Y,{className:`no-track-pii-safe`,children:e})]}),U(q,{variant:`contained`,onClick:a,size:`small`,children:`Cancel`})]})})}if(!i)return U(G,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,bgcolor:p?`grey.900`:`grey.50`,height:`100%`},children:U(qt,{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 U(G,{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)?U(c,{ref:f,run:i,viewOptions:o,onViewOptionsChanged:s}):null,t=l?.({run:i,viewOptions:o,onViewOptionsChanged:s});return u&&e?W(H,{children:[U(u,{fallback:d,children:e}),t]}):W(H,{children:[e,t]})})()})});Tl.displayName=`RunView`;const El=I(({type:e,params:t})=>{let n=N();return U(Io,{value:Kn.stringify({type:e,params:t},null,2),language:`yaml`,readOnly:!0,lineNumbers:!1,wordWrap:!0,fontSize:14,height:`100%`,theme:n?`dark`:`light`,className:`no-track-pii-safe`})});El.displayName=`ParamView`;function Dl(e,t){return t!=null&&t>0?`${e} (${oe(t)})`:e}const Ol=I(({open:e,rowCount:t,onContinue:n,onCancel:r})=>W(Bt,{open:e,onClose:r,children:[U(Ut,{children:`Large Export Warning`}),U(Ht,{children:W(Ir,{children:[`You are about to download `,U(`strong`,{children:oe(t)}),`. This may take a while and produce a large file. Are you sure you want to continue?`]})}),W(Vt,{children:[U(q,{onClick:r,children:`Cancel`}),U(q,{onClick:n,variant:`contained`,children:`Continue`})]})]}));Ol.displayName=`LargeExportWarningDialog`;const kl=I(({disableExport:e,onCopyAsImage:t,onMouseEnter:n,onMouseLeave:r,csvExport:i,label:a=`Export`})=>{let[o,s]=V(null),c=!!o,[l,u]=V(!1),[d,f]=V(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 W(H,{children:[U(q,{size:`small`,variant:`outlined`,color:`neutral`,onClick:h,endIcon:U($t,{}),sx:{textTransform:`none`},children:a}),W(In,{anchorEl:o,open:c,onClose:g,children:[W(Z,{onClick:async()=>{await t(),g()},onMouseEnter:n,onMouseLeave:r,disabled:e,children:[U(Lr,{children:U(ln,{})}),U(Rr,{children:`Copy as Image`})]}),W(Z,{onClick:async()=>{await i?.copyAsTSV?.(),g()},disabled:e||!i?.canExportCSV,children:[U(Lr,{children:U(an,{})}),U(Rr,{children:`Copy as Text`})]}),W(Z,{onClick:async()=>{await i?.copyAsCSV(),g()},disabled:e||!i?.canExportCSV,children:[U(Lr,{children:U(gn,{})}),U(Rr,{children:`Copy as CSV`})]}),i?.copySelectedRows&&W(Z,{onClick:async()=>{await i.copySelectedRows?.(),g()},disabled:e,children:[U(Lr,{children:U(hn,{})}),U(Rr,{children:`Copy Selected Rows`})]}),W(Z,{onClick:()=>_(()=>i?.downloadAsCSV()),disabled:e||!i?.canExportCSV,children:[U(Lr,{children:U(cn,{})}),U(Rr,{children:Dl(`Download as CSV`,i?.totalRowCount)})]}),W(Z,{onClick:()=>_(()=>i?.downloadAsTSV?.()),disabled:e||!i?.canExportCSV,children:[U(Lr,{children:U(cn,{})}),U(Rr,{children:Dl(`Download as TSV`,i?.totalRowCount)})]}),i?.downloadAsExcel&&W(Z,{onClick:()=>_(()=>i?.downloadAsExcel?.()),disabled:e||!i?.canExportCSV,children:[U(Lr,{children:U(cn,{})}),U(Rr,{children:Dl(`Download as Excel`,i?.totalRowCount)})]})]}),U(Ol,{open:l,rowCount:p,onContinue:()=>{u(!1),d?.(),f(null),g()},onCancel:()=>{u(!1),f(null)}})]})});kl.displayName=`DefaultExportMenu`;const Al=I(({runId:e,run:t,disableUpdateChecklist:n,checklistPermissionDenied:r,hasError:i,onGoToCheck:a,onAddToChecklist:o})=>{let s=ga();if(e&&s.has(e))return null;let c=t?.check_id,l=!e||!t?.result||i;return n&&!r?null:c?U(q,{disabled:l,size:`small`,variant:`contained`,onClick:()=>a?.(c),startIcon:U(tn,{}),sx:{textTransform:`none`},children:`Go to Check`}):U(K,{title:r?`You don't have permission to add checks`:``,children:U(`span`,{children:U(q,{disabled:l||r,size:`small`,variant:`contained`,onClick:o,startIcon:U(tn,{}),sx:{textTransform:`none`},children:`Add to Checklist`})})})});Al.displayName=`DefaultAddToCheckButton`;const jl=I(({run:e})=>{let t=ga(),n=e.run_id&&t.has(e.run_id)?`Cancelled`:e.status||(e.result?`Finished`:e.error?`Failed`:`unknown`),r=e=>{switch(e.toLowerCase()){case`finished`:return`success.main`;case`failed`:return`error.main`;case`running`:return`primary.main`;default:return`text.secondary`}},i=e.run_at?zn(new Date(e.run_at),{addSuffix:!0}):`Unknown time`;return W(Y,{variant:`body2`,sx:{color:`text.secondary`},children:[U(G,{component:`span`,sx:{fontWeight:600,color:r(n)},children:n}),`・`,i]})});jl.displayName=`RunStatusAndDateDisplay`;function Ml({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 ee=N(),D=ga(),O=e?D.has(e):!1,[k,te]=V(`result`),[ne,re]=V(!0),ie=t?.type===`query`||t?.type===`query_diff`||t?.type===`query_base`,ae=!e||!t?.result||!!r||k!==`result`||O,oe=L(async()=>{await m?.(),v&&v(t?.type??`unknown`,`run`)},[m,v,t?.type]),se=t?.type===`query_diff`,ce=t?.params;return W(G,{sx:{display:`flex`,flexDirection:`column`,height:`100%`,bgcolor:ee?`grey.900`:`grey.50`},children:[o&&ne&&x&&U(x,{runType:t?.type,onClose:()=>re(!1)}),W(G,{sx:{display:`flex`,alignItems:`center`,borderBottom:1,borderColor:`divider`,mb:`1px`},children:[W(Un,{value:k,onChange:(e,t)=>te(t),children:[U(Hn,{label:`Result`,value:`result`}),U(Hn,{label:`Params`,value:`params`}),ie&&U(Hn,{label:`Query`,value:`query`})]}),U(G,{sx:{flexGrow:1}}),W(X,{direction:`row`,spacing:1,sx:{alignItems:`center`,overflow:`hidden`,pr:1},children:[t&&U(jl,{run:t}),U(q,{variant:`outlined`,color:`neutral`,disabled:!e||n||s,size:`small`,onClick:p,startIcon:U(mn,{}),sx:{textTransform:`none`},children:`Rerun`}),U(kl,{run:t,disableExport:ae,onCopyAsImage:oe,onMouseEnter:h,onMouseLeave:g,csvExport:_,label:c?`Export`:`Share`}),U(Al,{runId:e,run:t,disableUpdateChecklist:l,checklistPermissionDenied:u,hasError:!!r,onGoToCheck:y,onAddToChecklist:b}),U(J,{size:`small`,onClick:d,children:U(Gt,{})})]})]}),k===`result`&&(w||E)&&U(Tl,{ref:T,runId:e,isRunning:n,error:r,run:t,onCancel:f,viewOptions:i,onViewOptionsChanged:a,RunResultView:w,children:E}),k===`params`&&t&&U(El,{type:t.type,params:t.params}),k===`query`&&t&&ie&&ce?.sql_template&&U(H,{children:se&&C?U(C,{value:ce.sql_template,baseValue:ce.base_sql_template,readOnly:!0}):S?U(S,{value:ce.sql_template,readOnly:!0}):U(Io,{value:ce.sql_template,language:`sql`,readOnly:!0,theme:`dark`,height:`100%`})})]})}const Nl=I(Ml);Nl.displayName=`RunResultPane`;function Pl(e){let t=e.getSelectedNodes();if(t.length===0)return null;let n=e.getAllDisplayedColumns().filter(e=>e.getColId()!==`ag-Grid-SelectionColumn`);return n.length===0?null:de(n.map(e=>{let t=e.getColDef();return String(t.headerName??t.field??e.getColId())}),t.map(t=>n.map(n=>e.getCellValue({rowNode:t,colKey:n,useFormatter:!0})??``)))}const Fl=e=>W(G,{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:[U(G,{component:Br,sx:{width:`20px`,height:`20px`,color:`primary.900`}}),e.children,U(G,{sx:{flexGrow:1}}),U(J,{size:`small`,onClick:e.onClose,children:U(Gt,{})})]}),Il=()=>W(Bn,{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 `,U(xn,{})]});function Ll({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=N(),p=e=>{t&&t(e)},m=``;c&&(m=c.generated_at?Ee(c.generated_at):``);let h=z(()=>{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 W(H,{children:[(a??n??r)&&W(X,{direction:`row`,sx:{bgcolor:Ft(f?F.neutral[600]:F.neutral[200],.7),height:`40px`,minHeight:`40px`,fontSize:`14px`,alignItems:`center`,m:0,p:`0px 16px`,flex:`0 0 40px`},children:[U(Y,{component:`strong`,sx:{fontWeight:`bold`},className:`no-track-pii-safe`,children:a?a.toUpperCase():``}),c&&W(`span`,{className:`ml-1`,children:[`(`,l&&W(`span`,{className:`no-track-pii-safe`,children:[l,`, `]}),U(`span`,{children:m}),`)`]}),U(G,{sx:{flexGrow:1}}),(n??r)&&U(q,{size:`xsmall`,variant:`outlined`,onClick:n??r,sx:{bgcolor:`background.paper`,p:`6px 12px`},disabled:d.disableDatabaseQuery,startIcon:U(Vr,{}),children:`Run Query`})]}),o??U(Io,{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 Rl({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}=Ge(),h,g;p?.dbt?.base&&p.dbt.current&&(h=p.dbt.base,g=p.dbt.current);let[_,v]=we(m);return U(H,{children:W(X,{direction:`row`,sx:{height:`100%`,gap:0},children:[U(X,{sx:{height:`100%`,width:`50%`,gap:0,borderRight:`1px solid`,borderRightColor:`divider`},children:U(Ll,{label:d,value:t??``,onChange:r,onRunBase:a,options:s,CustomEditor:l,manifestData:h??void 0,schemas:Array.from(_).join(`, `),...u})}),U(X,{sx:{height:`100%`,width:`50%`,gap:0},children:U(Ll,{label:f,value:e,onChange:n,onRun:i,options:s,manifestData:g??void 0,schemas:Array.from(v).join(`, `),...u})})]})})}const zl=({runType:e,onClose:t})=>{switch(e){case`row_count`:return U(Fl,{onClose:t,children:W(Y,{children:[`Enable row count diffing, and other Recce features, by configuring a base dbt environment to compare against. `,U(Il,{})]})});case`profile`:return U(Fl,{onClose:t,children:W(Y,{children:[`Enable data-profile diffing, and other Recce features, by configuring a base dbt environment to compare against.`,` `,U(Il,{})]})});default:return null}},Bl=({value:e,readOnly:t})=>U(Ll,{value:e,options:{readOnly:t}}),Vl=({value:e,baseValue:t,readOnly:n})=>U(Rl,{value:e,baseValue:t,options:{readOnly:n}}),Hl=({runId:e,onClose:t,isSingleEnvironment:n})=>{let{featureToggles:r}=Ie(),{runAction:i}=Pe(),{error:o,run:s,onCancel:c,isRunning:l}=vu(e),[u,f]=V(),p=pt(),m=Yt(),{apiClient:h}=ta(),{basePath:g}=Fe(),_;s&&d(s.type)&&(_=hl(s.type).RunResultView);let{ref:v,onCopyToClipboard:y,onMouseEnter:b,onMouseLeave:x}=iu(),S=uu({run:s,runId:e,viewOptions:u}),C=!!s?.type&&[`query`,`query_base`,`query_diff`].includes(s.type),w=L(async()=>{let e=v.current?.api;if(!e)return;let t=Pl(e);if(!t){P.create({title:`No rows selected`,description:`Select rows with the checkboxes, then copy.`,type:`info`,duration:3e3});return}try{await le(t),P.create({title:`Copied to clipboard`,description:`Selected rows copied — paste into any spreadsheet`,type:`success`,duration:2e3}),nt({type:s?.type??`unknown`,from:`run-selection`})}catch(e){console.error(`Failed to copy selected rows:`,e),P.create({title:`Copy failed`,description:`Failed to copy to clipboard`,type:`error`,duration:3e3})}},[v,s?.type]),T=L(()=>{s&&i(s.type,s.params)},[s,i]),E=L(async()=>{await y(),nt({type:s?.type??`unknown`,from:`run`})},[y,s?.type]),ee=L(e=>{m.push(`${g}/checks/?id=${e}`)},[m.push,g]),D=L(async()=>{if(e)try{let t=await a(e,u,h);await p.invalidateQueries({queryKey:O.checks()}),m.push(`${g}/checks/?id=${t.check_id}`)}catch(e){ne(e)&&e.status===403?P.error({title:`Permission denied`,description:`You don't have permission to add checks. Contact your org admin for access.`}):P.error({title:`Failed to create check`,description:e instanceof Error?e.message:`An unexpected error occurred`})}},[e,u,h,p,m.push,g]);return U(Nl,{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:ee,onAddToChecklist:D,SingleEnvironmentNotification:zl,SqlEditorComponent:Bl,DualSqlEditorComponent:Vl,RunResultView:_,resultViewRef:v})},Ul=({onClose:e,isSingleEnvironment:t})=>{let{runId:n}=Pe();return U(Hl,{runId:n,onClose:e,isSingleEnvironment:t})};function Wl({error:e,resetError:t}){let{background:n,text:r}=yu();return U(G,{sx:{height:`100%`,bgcolor:n.subtle,display:`flex`,alignItems:`center`,justifyContent:`center`},children:W(G,{sx:{p:4,display:`flex`,flexDirection:`column`,justifyContent:`flex-start`,bgcolor:`background.paper`,border:`solid 1px`,borderColor:`divider`,minHeight:`200px`},children:[U(Y,{variant:`h6`,sx:{width:`800px`},children:`You have encountered an error`}),U(G,{sx:{flex:1,fontSize:`10pt`,color:r.secondary},children:String(e)}),U(q,{sx:{justifySelf:`center`,alignSelf:`center`,mt:`20px`},color:`iochmara`,variant:`contained`,size:`small`,onClick:t,children:`Reset`})]})})}const Gl=e=>U(Wl,{error:e.error,resetError:e.resetError}),Kl=({children:e,fallback:t=Gl})=>U(Hr,{fallback:t,children:e}),ql=gt(function(e,t){return U(Tl,{...e,ErrorBoundary:Kl,errorBoundaryFallback:ct,ref:t})});ql.displayName=`RunViewOss`;function Jl(e){R(()=>{e()},[e,Jt()])}function Yl({children:e}){let{apiClient:t}=ta(),[n,r]=V(),[i,a]=V(!1),o=L(()=>a(!0),[]),s=L(()=>a(!1),[]),c=Yt(),l=Jt(),u=pt(),{basePath:d}=Fe(),f=B(null);Jl(s);let p=L(async(e,t)=>{t!==!1&&await u.invalidateQueries({queryKey:O.runs()})},[u]),h=L(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=hl(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:O.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){P.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=L(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){P.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 W(Ve,{onRunAction:h,onShowRunId:p,children:[U(Xl,{showRunIdRef:f,children:e}),n&&U(wl,{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},n.session)]})}function Xl({children:e,showRunIdRef:t}){let{showRunId:n}=Pe();return R(()=>(t.current=n,()=>{t.current=null}),[n,t]),U(H,{children:e})}const Zl=ht(void 0);function Ql({children:e}){let[t,n]=V(),[r,i]=V(!1),[a,o]=V(),{apiClient:s}=ta();return U(Zl.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 $l=()=>{let e=_t(Zl);if(!e)throw Error(`useRecceShareStateContext must be used within a RecceShareStateContextProvider`);return e};function eu({children:e}){return U(Ke,{children:U(Ql,{children:U(oa,{children:U(ia,{children:U(Yl,{children:U(Zi,{children:e})})})})})})}const tu=e=>`element`in e?e.element:e,nu=`ignore-screenshot`;function ru({imageType:e=`png`,backgroundColor:t=null,boardEffect:n=!0,shadowEffect:r=!1,borderStyle:i=`solid 1px ${F.neutral[300]}`,borderRadius:a=`10px`,onSuccess:o,onError:s,ignoreElements:c}){let[l,u]=V(`idle`),d=B(null),{onOpen:f,setImgBlob:p,ImageDownloadModal:m}=au(),h=async()=>{if(!d.current)throw console.error(`No node to use for screenshot`),Error(`No node to use for screenshot`);let e=tu(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??F.neutral[100],e.style.height=`${String(e.offsetHeight)}px`;let o=c?e=>!c(e):void 0;u(`loading`);let s=await Ur.toCanvas(e,{filter:o,filterMode:`remove`,backgroundColor:t??F.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){e.message===`ClipboardItem is not defined`?(p(await h()),f(),u(`success`)):(u(`error`),console.error(`Error copying to clipboard`,e),s&&s(e))}},ImageDownloadModal:m,ref:d}}function iu(e){let{successToast:t,failToast:n}=pe(),{isLoading:r,copyToClipboard:i,ImageDownloadModal:a,ref:o}=ru({imageType:`png`,shadowEffect:!0,backgroundColor:e?.backgroundColor??F.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=L(()=>{if(o.current){let e=tu(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=L(()=>{if(o.current){let e=tu(o.current);e&&(e.style.boxShadow=``)}},[o]),l=L(async()=>{if(o.current){await i();let e=tu(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 W(H,{children:[U(q,{size:`small`,sx:{position:`absolute`,bottom:16,right:16},disabled:r,onMouseEnter:s,onMouseLeave:c,onClick:l,startIcon:U(on,{}),...t,children:`Copy to Clipboard`}),U(a,{})]})}return{ref:o,CopyToClipboardButton:u,onMouseEnter:s,onMouseLeave:c,onCopyToClipboard:l}}function au(){let[e,t]=V(!1),[n,r]=V(),i=()=>t(!0),a=()=>t(!1);function o(){let[t,r]=V();return R(()=>{if(!n)return;let e=new FileReader;e.readAsDataURL(n),e.onloadend=e=>{e.target?.result!=null&&r(e.target.result)}},[]),W(Bt,{open:e,onClose:a,maxWidth:`sm`,fullWidth:!0,children:[U(Ut,{children:`Screenshot Preview`}),U(J,{"aria-label":`close`,onClick:a,sx:{position:`absolute`,right:8,top:8,color:`grey.500`},children:U(Gt,{})}),W(Ht,{children:[W(X,{sx:{px:`10px`,gap:`10px`},children:[W(X,{direction:`row`,spacing:`5px`,sx:{alignItems:`center`},children:[U(G,{component:un,sx:{color:`error.main`}}),U(Y,{sx:{fontWeight:500,display:`inline`},children:`Copy to the Clipboard`}),` `,`is not supported in the current browser`]}),U(Y,{children:`Please download it directly`})]}),U(G,{component:`img`,src:t,alt:`screenshot`,sx:{maxWidth:`100%`}})]}),W(Vt,{children:[U(q,{sx:{mr:1.5},onClick:a,children:`Close`}),U(q,{color:`iochmara`,variant:`contained`,onClick:()=>{n&&(br(n,`recce-screenshot-${Rn(new Date,`yyyy-MM-dd-HH-mm-ss`)}.png`),a())},children:`Download`})]})]})}return{onOpen:i,setImgBlob:r,ImageDownloadModal:o}}function ou({userId:e,enabled:t=!0}){let{apiClient:n}=ta(),r=e?.toString(),{data:i,isLoading:a}=ft({queryKey:O.user(),queryFn:()=>ut(n),enabled:t&&!!r,retry:!1,staleTime:300*1e3}),o=!!(i&&r&&i.id===r)&&i?.login_type===`github`,s=!!(t&&o&&r),{data:c,isLoading:l}=ft({queryKey:[`github-avatar`,r],queryFn:()=>r?lt(r):Promise.resolve(null),enabled:s,retry:!1,staleTime:300*1e3});return{avatarUrl:typeof c==`string`?c:null,isLoading:a||s&&l,isGitHubUser:!!o}}function su(e,t={}){let{enabled:a=!0}=t,s=pt(),{apiClient:c}=ta(),{data:l,isLoading:u,error:d,refetch:f}=ft({queryKey:O.checkEvents(e),queryFn:()=>n(e,c),enabled:a,refetchInterval:1e4,refetchIntervalInBackground:!1}),p=dt({mutationFn:t=>i(e,t,c),onSuccess:async()=>{await s.invalidateQueries({queryKey:O.checkEvents(e)})}}),m=dt({mutationFn:({eventId:t,content:n})=>r(e,t,n,c),onSuccess:async()=>{await s.invalidateQueries({queryKey:O.checkEvents(e)})}}),h=dt({mutationFn:t=>o(e,t,c),onSuccess:async()=>{await s.invalidateQueries({queryKey:O.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 cu={TOAST_ID:`lifetime-countdown`,WARNING_THRESHOLD:60,UPDATE_INTERVAL:1e3,MESSAGE:e=>`The server will be closed in ${e} seconds.`,STYLE:{fontFamily:`monospace`}};function lu(e){let t=P,[n,r]=V(null),i=B(void 0),a=L(()=>{if(!e)return 0;let t=new Date,n=Math.floor((e.getTime()-t.getTime())/1e3);return Math.max(0,n)},[e]),o=L(()=>{n!=null&&(t.remove(n),r(null))},[n]),s=L(()=>{if(n==null)return;let e=a();if(e<=0){o();return}t.update(n,{description:cu.MESSAGE(e)})},[n,a,o]),c=L(()=>{if(!e)return;o();let n=a();n<=0||(r(t.create({id:cu.TOAST_ID,description:cu.MESSAGE(n)})),i.current=setInterval(s,cu.UPDATE_INTERVAL))},[e,a,s,o]),l=a();Cr(c,e?Math.max(0,l-cu.WARNING_THRESHOLD)*1e3:null),R(()=>o,[o])}function uu({run:e,runId:t,viewOptions:n}){let r=z(()=>!e?.type||!e?.result?!1:ie(e.type),[e?.type,e?.result]),i=z(()=>{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=L(()=>{if(!e?.type||!e?.result)return null;let t={displayMode:n?.display_mode,primaryKeys:e?.params?.primary_keys};return Ce(e.type,e.result,t)},[e?.type,e?.result,e?.params,n]),o=L(()=>{let e=a();return e?ae(e.columns,e.rows):null},[a]),s=L(()=>{let e=a();return e?de(e.columns,e.rows):null},[a]),c=L(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=L(async()=>{let e=o();if(!e){P.create({title:`Export failed`,description:`Unable to extract data for CSV export`,type:`error`,duration:3e3});return}try{await le(e),P.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),P.create({title:`Copy failed`,description:`Failed to copy to clipboard`,type:`error`,duration:3e3})}},[o]),u=z(()=>e?.type===`query_diff`&&!!e?.params?.primary_keys,[e?.type,e?.params]),d=L(()=>{if(t&&!u&&[`query`,`query_base`,`query_diff`].includes(e?.type??``)){c(`csv`);return}let n=o();if(!n){P.create({title:`Export failed`,description:`Unable to extract data for CSV export`,type:`error`,duration:3e3});return}try{let t=je(e?.type??``,e?.params);ue(n,t),P.create({title:`Downloaded`,description:t,type:`success`,duration:3e3})}catch(e){console.error(`Failed to download CSV file:`,e),P.create({title:`Download failed`,description:`Failed to download CSV file`,type:`error`,duration:3e3})}},[t,e,u,o,c]),f=L(async()=>{let e=s();if(!e){P.create({title:`Export failed`,description:`Unable to extract data for export`,type:`error`,duration:3e3});return}try{await le(e),P.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),P.create({title:`Copy failed`,description:`Failed to copy to clipboard`,type:`error`,duration:3e3})}},[s]),p=L(()=>{if(t&&!u&&[`query`,`query_base`,`query_diff`].includes(e?.type??``)){c(`tsv`);return}let n=s();if(!n){P.create({title:`Export failed`,description:`Unable to extract data for export`,type:`error`,duration:3e3});return}try{let t=je(e?.type??``,e?.params).replace(/\.csv$/,`.tsv`);se(n,t),P.create({title:`Downloaded`,description:t,type:`success`,duration:3e3})}catch(e){console.error(`Failed to download TSV file:`,e),P.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:L(async()=>{if(t&&!u&&[`query`,`query_base`,`query_diff`].includes(e?.type??``)){c(`xlsx`);return}let n=a();if(!n){P.create({title:`Export failed`,description:`Unable to extract data for export`,type:`error`,duration:3e3});return}try{let t=await Se(n.columns,n.rows),r=je(e?.type??``,e?.params).replace(/\.csv$/,`.xlsx`);j(t,r),P.create({title:`Downloaded`,description:r,type:`success`,duration:3e3})}catch(e){console.error(`Failed to download Excel file:`,e),P.create({title:`Download failed`,description:`Failed to download Excel file`,type:`error`,duration:3e3})}},[t,e,u,a,c]),downloadAsTSV:p}}function du({description:e,onLike:t,onDislike:n,onClickLink:r,externalLink:i,externalLinkText:a}){return W(G,{sx:{display:`flex`,gap:4,justifyContent:`center`,alignContent:`center`,alignItems:`center`},children:[e,U(J,{"aria-label":`thumbs up`,onClick:t,sx:{width:`32px`,height:`32px`},children:U(G,{component:`img`,src:`/imgs/feedback/thumbs-up.png`,alt:`like`})}),U(J,{"aria-label":`thumbs down`,onClick:n,sx:{width:`32px`,height:`32px`},children:U(G,{component:`img`,src:`/imgs/feedback/thumbs-down.png`,alt:`dislike`})}),i&&a&&W(Bn,{href:i,target:`_blank`,onClick:r,sx:{textDecoration:`underline`},children:[a,` `,U(xn,{})]})]})}function fu(e){let{feedbackId:t,description:n,onFeedbackSubmit:r,externalLink:i,externalLinkText:a}=e,[o,s]=V(void 0);function c(e=!1){let c=localStorage.getItem(t);o??(c===`true`&&!e||s(P.create({id:t,duration:void 0,type:`success`,description:U(X,{direction:`row`,children:U(du,{description:n,onLike:()=>{r(`like`),P.dismiss(t),localStorage.setItem(t,`true`)},onDislike:()=>{r(`dislike`),P.dismiss(t),localStorage.setItem(t,`true`)},externalLink:i,externalLinkText:a,onClickLink:()=>{r(`link`)}})})})))}return{feedbackToast:c,closeToast:()=>{o&&P.dismiss(o)}}}function pu(e){let[t,n]=V(void 0),{guideId:r,description:i,externalLinkText:a,onExternalLinkClick:o}=e;function s(){t??n(P.create({id:r,duration:3e3,type:`success`,description:i,action:{label:a??`link`,onClick:()=>{o&&o()}}}))}return{guideToast:s,closeGuideToast:()=>{t&&P.dismiss(t)}}}function mu(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 hu(e,n){let{lineageGraph:r}=Ge(),i=D(),a=n??i?.apiClient,o=Sr.find(r?.nodes,{data:{name:e}}),s=!!a&&!!o?.id,{data:c,isLoading:l,error:u}=ft({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:300*1e3}),{columns:d,primaryKey:f}=z(()=>{let e=c?.model;return!e?.base.columns||!e.current.columns?{columns:[],primaryKey:e?.current.primary_key}:{columns:mu(Object.values(e.base.columns),Object.values(e.current.columns)),primaryKey:e.current.primary_key}},[c]);return{columns:d,primaryKey:f,isLoading:s?l:!1,error:u?u instanceof Error?u:Error(String(u)):null}}const gu={mode:`per_node`,status:`pending`,completed:0,total:0,actions:{}},_u=(e,t)=>{let{onActionStarted:n,onActionNodeUpdated:r,onActionCompleted:i,onTrackAction:a,trackingSource:o=`lineage_view_top_bar`}=t,c=k(),u=B({...gu}).current,d=ga(),{showRunId:f}=Pe(),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()=>await s({node_ids:e.map(e=>e.id)},c),addSchemaDiffCheck:async()=>{let t;return t=e.length===1?await v({node_id:e[0].id},c):await v({node_id:e.map(e=>e.id)},c),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,gu)}}},vu=e=>{let{apiClient:t}=ta(),n=pt(),r=ga(),[i,a]=V(!!e),[,o]=Je(),s=B(null);R(()=>{e&&(a(!0),s.current=null)},[e]);let c=e?r.has(e):!1,u=i&&!c,{error:f,data:p}=ft({queryKey:O.run(e??``),queryFn:async()=>await x(e??``,u?2:0,t),enabled:!!e&&!c,refetchInterval:u?50:!1,retry:!1});R(()=>{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)):e===`running`&&!c&&(s.current=null,a(!0))},[p,f,c]),R(()=>{(f||p?.result||p?.error)&&(p?.type===`row_count_diff`||p?.type===`row_count`)&&o?.()},[p,f,o]);let m=r.add,h=L(()=>e?(n.setQueryData(O.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=hl(p.type).RunResultView),{run:p,isRunning:i,error:f,onCancel:h,RunResultView:g}};function yu(){let e=It(),t=ce(),n=N(),[r,i]=V(!1);R(()=>{i(!0)},[]);let a=r?t?t.resolvedMode===`dark`:n:!1;return{isDark:a,theme:e,background:{default:a?F.neutral[900]:F.white,paper:a?F.neutral[800]:F.white,subtle:a?F.neutral[800]:F.neutral[50],emphasized:a?F.neutral[700]:F.neutral[100]},text:{primary:a?F.neutral[50]:F.neutral[900],secondary:a?F.neutral[400]:F.neutral[600],disabled:a?F.neutral[500]:F.neutral[400],inverted:a?F.neutral[900]:F.neutral[50]},border:{light:a?F.neutral[700]:F.neutral[200],default:a?F.neutral[600]:F.neutral[300],strong:a?F.neutral[500]:F.neutral[400]},status:{added:{bg:a?F.green[900]:F.green[100],text:a?F.neutral[50]:F.neutral[900]},removed:{bg:a?F.red[950]:F.red[200],text:a?F.neutral[50]:F.neutral[900]},modified:{bg:a?F.yellow[900]:F.amber[100],text:a?F.neutral[50]:F.neutral[900]}},interactive:{hover:a?F.neutral[700]:F.neutral[100],active:a?F.neutral[600]:F.neutral[200],focus:F.iochmara[500]}}}const bu={lineageNode:co,lineageGraphColumnNode:Ui},xu={lineageEdge:Ra};function Su({nodes:e,edges:t,onNodeSelect:n,onNodeDoubleClick:r,onNodeContextMenu:i,showMiniMap:a=!0,showControls:o=!0,showBackground:s=!0,height:c=600,interactive:l=!0,minZoom:u,maxZoom:d,fitViewOptions:f}){let[p,m,h]=Mt(e),[g,_,v]=jt(t),y=L((e,t)=>{n?.(t.id)},[n]),b=L(()=>{n?.(null)},[n]),x=L((e,t)=>{r?.(t.id)},[r]),S=B(i);R(()=>{S.current=i},[i]);let C=i!=null,w=z(()=>{if(!C)return bu;let e=e=>U(co,{...e,onContextMenu:(e,t)=>S.current?.(e,t)});return e.displayName=`LineageNodeWithContextMenu`,{...bu,lineageNode:e}},[C]);return U(G,{sx:{width:`100%`,height:c},children:W(kt,{nodes:p,edges:g,onNodesChange:l?h:void 0,onEdgesChange:l?v:void 0,onNodeClick:y,onNodeDoubleClick:x,onPaneClick:b,nodeTypes:w,edgeTypes:xu,fitView:!0,fitViewOptions:f,minZoom:u,maxZoom:d,nodesDraggable:l,nodesConnectable:!1,elementsSelectable:l,children:[s&&U(xt,{}),o&&U(Ct,{}),a&&U(Et,{nodeColor:e=>{let t=e.data;return _i({changeStatus:t.changeStatus,isImpacted:t.isImpacted,newCllExperience:t.newCllExperience}).color}})]})})}const Cu=gt(function(e,t){let{lineageGraph:n,viewOptions:r,interactive:i=!0,height:a=600,filterNodes:o,onNodeSelect:s,onNodeDoubleClick:c,dagre:l,showMiniMap:u=!0,showControls:d=!0,showBackground:f=!0}=e,p=B(null),m=Ge(),h=n??m.lineageGraph,g=!n&&m.isLoading,_=n?void 0:m.error,{nodes:v,edges:y}=z(()=>{if(!h)return{nodes:[],edges:[]};let e;if(r?.node_ids&&r.node_ids.length>0?e=r.node_ids:r?.view_mode===`changed_models`&&(e=h.modifiedSet),r?.select&&e&&r.select.includes(`+`)){let t=We(h,e),n=Ue(h,e);e=[...new Set([...t,...n])]}if(r?.packages&&r.packages.length>0){let t=new Set(r.packages);e=(e??Object.keys(h.nodes)).filter(e=>{let n=h.nodes[e];return n?.data.packageName&&t.has(n.data.packageName)})}o&&(e=(e??Object.keys(h.nodes)).filter(e=>{let t=h.nodes[e];return t?o(e,t):!1}));let[t,n]=Re(h,e);return l&&t.length>0&&wu(l,t,n),{nodes:t.map(e=>({id:e.id,position:e.position,type:`lineageNode`,data:{label:e.data.name,nodeType:e.data.resourceType,changeStatus:e.data.changeStatus,resourceType:e.data.resourceType,packageName:e.data.packageName}})),edges:n.map(e=>({id:e.id,source:e.source,target:e.target,type:`lineageEdge`,data:{changeStatus:e.data?.changeStatus}}))}},[h,r,o,l]),b=L(async()=>{if(p.current)try{let e=await Ur.toBlob(p.current,{backgroundColor:`#ffffff`,dpr:1,scale:2,type:`png`});await navigator.clipboard.write([new ClipboardItem({[e.type]:e})])}catch(e){throw console.error(`Failed to copy to clipboard:`,e),e}},[]);return yt(t,()=>({copyToClipboard:b}),[b]),g?U(G,{sx:{width:`100%`,height:a,display:`flex`,alignItems:`center`,justifyContent:`center`},children:U(qt,{})}):_?U(G,{sx:{width:`100%`,height:a,display:`flex`,alignItems:`center`,justifyContent:`center`},children:U(Y,{color:`error`,children:_})}):h?v.length===0?U(G,{sx:{width:`100%`,height:a,display:`flex`,alignItems:`center`,justifyContent:`center`},children:U(Y,{sx:{color:`text.secondary`},children:`No nodes match the current filter criteria.`})}):U(G,{ref:p,sx:{width:`100%`,height:a},children:U(Su,{nodes:v,edges:y,onNodeSelect:s,onNodeDoubleClick:c,showMiniMap:u,showControls:d,showBackground:f,height:`100%`,interactive:i})}):U(G,{sx:{width:`100%`,height:a,display:`flex`,alignItems:`center`,justifyContent:`center`},children:U(Y,{sx:{color:`text.secondary`},children:`No lineage data available. Provide data via LineageGraphProvider or lineageGraph prop.`})})});function wu(e,t,n,r=`LR`){let i=new e.graphlib.Graph;i.setDefaultEdgeLabel(()=>({})),i.setGraph({rankdir:r,ranksep:50,nodesep:30});for(let e of t){let t=e.style?.width?Number(e.style.width):300,n=e.style?.height?Number(e.style.height):60;i.setNode(e.id,{width:t,height:n})}for(let e of n)i.setEdge(e.source,e.target);e.layout(i);for(let e of t){let t=e.style?.width?Number(e.style.width):300,n=e.style?.height?Number(e.style.height):60,r=i.node(e.id);r&&(e.position={x:r.x-t/2,y:r.y-n/2})}}function Tu({children:e,display:t}){let[n,r]=V(!1),i=B(null),a=B(null),o=L(()=>{i.current&&=(clearTimeout(i.current),null),r(!0)},[]),s=L(()=>{i.current=setTimeout(()=>{r(!1)},100)},[]);return t?W(H,{children:[U(G,{ref:a,onMouseEnter:o,onMouseLeave:s,sx:{display:`contents`},children:e}),W(ar,{open:n,anchorEl:a.current,onClose:()=>r(!1),anchorOrigin:{vertical:`bottom`,horizontal:`left`},transformOrigin:{vertical:`top`,horizontal:`left`},disableAutoFocus:!0,disableEnforceFocus:!0,sx:{pointerEvents:`none`},slotProps:{paper:{onMouseEnter:o,onMouseLeave:s,sx:{bgcolor:`grey.600`,color:`white`,p:1.5,pointerEvents:`auto`}}},children:[`Connect to a data warehouse to unlock Diff.`,` `,U(Bn,{href:st,target:`_blank`,sx:{color:`white`,textDecoration:`underline`},children:`Learn more`}),`.`]})]}):e}function Eu({rowCount:e}){return`base`in e?U(Ou,{rowCount:e}):U(`span`,{children:Du(e.curr)})}function Du(e){return e===null?`N/A`:`${e.toLocaleString()} ${e===1?`row`:`rows`}`}function Ou({rowCount:e}){let t=e.base,n=e.curr,r=Du(t),i=Du(n);return t===null&&n===null?U(H,{children:`Failed to load`}):t===null||n===null?W(X,{component:`span`,direction:`row`,spacing:.5,sx:{display:`inline-flex`,alignItems:`center`},children:[U(Y,{variant:`body2`,component:`span`,children:r}),U(zr,{}),U(Y,{variant:`body2`,component:`span`,children:i})]}):t===n?W(X,{component:`span`,direction:`row`,spacing:.5,sx:{display:`inline-flex`,alignItems:`center`},children:[U(Y,{variant:`body2`,component:`span`,children:i}),U(G,{component:`span`,sx:{color:`grey.500`,display:`flex`},children:U(qr,{})}),U(Y,{variant:`body2`,component:`span`,sx:{color:`grey.500`},children:`No Change`})]}):t<n?W(X,{component:`span`,direction:`row`,spacing:.5,sx:{display:`inline-flex`,alignItems:`center`},children:[U(Y,{variant:`body2`,component:`span`,children:i}),U(G,{component:`span`,sx:{color:`success.main`,display:`flex`},children:U(Kr,{})}),U(Y,{variant:`body2`,component:`span`,sx:{color:`success.main`},children:ye(t,n)})]}):W(X,{component:`span`,direction:`row`,spacing:.5,sx:{display:`inline-flex`,alignItems:`center`},children:[U(Y,{variant:`body2`,component:`span`,children:i}),U(G,{component:`span`,sx:{color:`error.main`,display:`flex`},children:U(Gr,{})}),U(Y,{variant:`body2`,component:`span`,sx:{color:`error.main`},children:ye(t,n)})]})}function ku({rowCount:e,node:t,onRefresh:n,isFetching:r}){let i=N(),{featureToggles:a}=Ie(),{runsAggregated:o}=Ge(),s=o?.[t.id]?.row_count_diff.result,c=hl(`row_count_diff`).icon,l=e??s,u=l;return U(K,{title:l?`${l.base??`N/A`} -> ${l.curr??`N/A`} rows`:``,children:U(Tu,{display:a.mode===`metadata only`,children:W(G,{component:`span`,sx:{...lo(i),gap:.5},children:[U(c,{}),u!=null||r?r?U(Wr,{width:30,height:16}):u==null?U(Y,{variant:`caption`,children:`row count`}):U(Ou,{rowCount:u}):U(Y,{variant:`caption`,children:`row count`}),n&&U(J,{"aria-label":`Query Row Count`,size:`small`,onClick:n,disabled:a.disableDatabaseQuery,sx:{p:0,ml:.5},children:U(mn,{size:12})})]})})})}function Au({rowCount:e,node:t,onRefresh:n,isFetching:r}){let i=N(),{runsAggregated:a}=Ge(),o=a?.[t.id]?.row_count.result,s=hl(`row_count`).icon,c,l=e??o;return l&&(c=`${l.curr??`N/A`} rows`),W(G,{component:`span`,sx:lo(i),children:[U(G,{component:`span`,sx:uo,children:U(s,{})}),l||r?r?U(Wr,{width:30,height:16}):U(Y,{variant:`caption`,children:c}):U(Y,{variant:`caption`,children:`row count`}),n&&U(J,{"aria-label":`Query Row Count`,size:`small`,onClick:n,disabled:t.data.changeStatus===`removed`,sx:{p:0,ml:.5},children:U(mn,{size:12})})]})}function ju({connect:e,idleSeconds:t}){return W(H,{children:[U(Ut,{children:`Server Disconnected`}),U(Ht,{children:t!=null&&t>0?W(Y,{children:[`The server has been idle for `,De(t),` and was automatically stopped. Please restart the Recce server to continue.`]}):U(Y,{children:`The server connection has been lost. Please restart the Recce server and try again.`})}),U(Vt,{children:U(q,{color:`iochmara`,variant:`contained`,onClick:()=>{e()},children:`Retry`})})]})}function Mu({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=U(q,{color:`iochmara`,variant:`contained`,children:i.action});return W(H,{children:[U(Ut,{children:i.title}),U(Ht,{children:U(Y,{children:i.body})}),U(Vt,{children:t===`read only`?U(r||`a`,{href:i.link,children:a}):U(q,{color:`iochmara`,variant:`contained`,onClick:()=>window.open(i.link,`_blank`),children:i.action})})]})}export{cc as $,Ki as $t,Nl as A,ro as At,Rc as B,xa as Bt,au as C,Ao as Ct,Yl as D,vo as Dt,$l as E,bo as Et,vl as F,ja as Ft,Oc as G,da as Gt,Pc as H,_a as Ht,_l as I,Oa as It,wc as J,ta as Jt,Dc as K,ia as Kt,gl as L,Ea as Lt,wl as M,Ja as Mt,Sl as N,Ka as Nt,ql as O,ho as Ot,bl as P,Ra as Pt,_c as Q,Xi as Qt,hl as R,ba as Rt,iu as S,Mo as St,Ql as T,Eo as Tt,Nc as U,oa as Ut,$ as V,Sa as Vt,kc as W,aa as Wt,Sc as X,$i as Xt,Cc as Y,Zi as Yt,xc as Z,Yi as Zt,lu as _,Vo as _t,Eu as a,xi as an,hs as at,nu as b,Io as bt,Su as c,Oi as cn,ls as ct,_u as d,Yr as dn,is as dt,qi as en,uc as et,mu as f,Xr as fn,Qo as ft,uu as g,Xo as gt,fu as h,$o as ht,ku as i,Ui as in,Us as it,Tl as j,$a as jt,Ul as k,co as kt,yu as l,ki as ln,os as lt,pu as m,es as mt,LineagePageOss as n,Ii as nn,oc as nt,Au as o,Q as on,gs as ot,hu as p,Jr as pn,Zo as pt,Tc as q,na as qt,StalenessBanner as r,Li as rn,qs as rt,Cu as s,Di as sn,_s as st,FirstTimePopover as t,Wi as tn,sc as tt,vu as u,Zr as un,ns as ut,su as v,zo as vt,eu as w,Oo as wt,ru as x,Po as xt,ou as y,Lo as yt,ml as z,wa as zt};
|
|
7
|
-
//# sourceMappingURL=lineage-CTqImE8Y.js.map
|