@datarecce/ui 1.59.0 → 1.60.0-nightly.20260809
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/ScreenshotDataGrid-C0a0wbBT.d.ts.map +1 -1
- package/dist/advanced.d.ts +1 -1
- package/dist/advanced.js +1 -1
- package/dist/{chartTheme-CRNnzu80.d.ts → chartTheme-Bvfcz7RJ.d.ts} +24 -2
- package/dist/{chartTheme-CRNnzu80.d.ts.map → chartTheme-Bvfcz7RJ.d.ts.map} +1 -1
- package/dist/components-run.js +1 -1
- package/dist/components.d.ts +1 -1
- package/dist/components.js +1 -1
- package/dist/hooks-CHOQS8OF.js +7 -0
- package/dist/hooks-CHOQS8OF.js.map +1 -0
- package/dist/hooks.js +1 -1
- package/dist/{index-BGsgHfs5.d.ts → index-DFyyDTjx.d.ts} +11 -2
- package/dist/{index-BGsgHfs5.d.ts.map → index-DFyyDTjx.d.ts.map} +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/{lineage-BNYgYQBZ.d.ts → lineage-DYzdL90Y.d.ts} +4 -3
- package/dist/{lineage-BNYgYQBZ.d.ts.map → lineage-DYzdL90Y.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-wC_8HFG2.js +12 -0
- package/dist/src-wC_8HFG2.js.map +1 -0
- package/dist/theme-BFY2LXHk.js +3 -0
- package/dist/theme-BFY2LXHk.js.map +1 -0
- package/dist/theme.d.ts +2 -2
- package/dist/theme.js +1 -1
- package/dist/utils-svMSMuTZ.js +6 -0
- package/dist/utils-svMSMuTZ.js.map +1 -0
- package/dist/utils.d.ts +2 -2
- package/dist/utils.js +1 -1
- package/package.json +8 -8
- package/dist/hooks-DxCl_1oG.js +0 -7
- package/dist/hooks-DxCl_1oG.js.map +0 -1
- package/dist/src-GMigm_06.js +0 -12
- package/dist/src-GMigm_06.js.map +0 -1
- package/dist/theme-u98ih3Tv.js +0 -3
- package/dist/theme-u98ih3Tv.js.map +0 -1
- package/dist/utils-DITU6vUm.js +0 -6
- package/dist/utils-DITU6vUm.js.map +0 -1
package/dist/utils.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
|
|
2
|
-
import { $ as
|
|
3
|
-
export { type BuildDiffColumnDefinitionsConfig, type BuildDiffColumnDefinitionsConfigConfigured, type BuildDiffColumnDefinitionsResult, type BuildDiffRowsConfig, type BuildDiffRowsResult, type BuildSimpleColumnDefinitionsConfig, type BuildSimpleColumnDefinitionsConfigConfigured, type BuildSimpleColumnDefinitionsResult, type CSVData, type CSVExportOptions, type CellRendererFunction, type ColumnConfig, type ColumnMapEntry, type ColumnOrderConfig, type ColumnPrecisionOption, type ColumnRenderComponents, type DataDiffGridResult, type DataFrameColumnGroupHeaderProps, type DataFrameColumnHeaderProps, type DataGridResult, DataGridValidationError, type DiffColumnConfig, type DiffColumnConfigConfigured, type DiffColumnDefinition, type DiffColumnMapEntry, type DiffColumnRenderComponents, type DiffColumnResult, type GridColumnsConfig, type MergeColumnMapEntry, type MergeStatus, type QueryDataDiffGridOptions, type QueryDataGridOptions, type RecceColumnContext, type RowCountDataGridResult, type RowCountDiffDataGridResult, type RowCountDiffRowData, type RowCountRowData, type RowStats, type SimpleColumnDefinition, type SimpleColumnRenderComponents, type TimeFormatStyle, type ToDataDiffGridConfig, type ToDataGridConfig, type ToValueDiffGridConfig, type ValueDiffGridResult, buildColumnMap, buildColumnOrder, buildDiffColumnDefinitions, buildDiffColumnDefinitionsConfigured, buildDiffRows, buildJoinedColumnMap, buildMergedColumnMap, buildSimpleColumnDefinitions, buildSimpleColumnDefinitionsConfigured, calculateDelta, cllColumnId, columnPrecisionSelectOptions, columnRenderedValue, copyToClipboard, createCellClassBase, createCellClassCurrent, dataFrameToRowObjects, defaultRenderComponents, defaultSimpleRenderComponents, deltaPercentageString, determineRowStatus, downloadCSV, downloadExcel, downloadTSV, extractCSVData, extractSchemas, formatAsAbbreviatedNumber, formatDuration, formatEpochSeconds, formatIntervalMinMax, formatNumber, formatRowCount, formatSelectColumns, formatSmartDecimal, formatTimeOfDay, formatTimeToNow, formatTimestamp, generateCSVFilename, generateTimestamp, getCaseInsensitive, getCellClass, getDisplayColumns, getHeaderCellClass, getPrimaryKeyValue, getRowCountDiffStatus, getSettingsUrl, getSimpleDisplayColumns, getValueAtPath, hashStringToNumber, isColumnImpacted, isExcludedColumn, isPinnedColumn, isPrimaryKeyColumn, isSchemaChanged, keyToNumber, mergeKeys, mergeKeysWithStatus, rowCountDiffResultToDataFrame, rowCountResultToDataFrame, shouldIncludeColumn, supportsCSVExport, toCSV, toDataDiffGrid, toDataDiffGridConfigured, toDataGrid, toDataGridConfigured, toDiffColumn, toDiffColumnConfigured, toExcelBlob, toRenderedValue, toRowCountDataGrid, toRowCountDiffDataGrid, toTSV, toValueDiffGrid, toValueDiffGridConfigured, validateColumnDataAlignment, validateColumns, validateDataFrame, validatePrimaryKeyConfig, validatePrimaryKeys, validateToDataDiffGridInputs, validateToDataGridInputs, validateToValueDiffGridInputs };
|
|
2
|
+
import { $ as getHeaderCellClass, $t as GridColumnsConfig, A as validateToValueDiffGridInputs, At as QueryDataDiffGridOptions, B as BuildDiffRowsResult, Bt as createCellClassBase, C as DataGridValidationError, Ct as ToDataGridConfig, D as validatePrimaryKeyConfig, Dt as SimpleColumnDefinition, E as validateDataFrame, Et as BuildSimpleColumnDefinitionsResult, F as getRowCountChangeDirection, Ft as DiffColumnDefinition, G as RowStats, Gt as DataFrameColumnGroupHeaderProps, H as buildDiffRows, Ht as toDiffColumn, I as getRowCountDiffStatus, It as buildDiffColumnDefinitions, J as buildMergedColumnMap, Jt as SimpleColumnRenderComponents, K as buildColumnMap, Kt as DataFrameColumnHeaderProps, L as rowCountDiffResultToDataFrame, Lt as DiffColumnConfig, M as RowCountDiffRowData, Mt as toDataDiffGrid, N as RowCountRowData, Nt as BuildDiffColumnDefinitionsConfig, O as validateToDataDiffGridInputs, Ot as buildSimpleColumnDefinitions, P as calculateDelta, Pt as BuildDiffColumnDefinitionsResult, Q as getCellClass, Qt as ColumnOrderConfig, R as rowCountResultToDataFrame, Rt as DiffColumnResult, S as deltaPercentageString, Sn as isColumnImpacted, St as QueryDataGridOptions, T as validateColumns, Tt as BuildSimpleColumnDefinitionsConfig, U as ColumnMapEntry, Ut as CellRendererFunction, V as DiffColumnMapEntry, Vt as createCellClassCurrent, W as MergeColumnMapEntry, Wt as ColumnRenderComponents, X as determineRowStatus, Xt as columnPrecisionSelectOptions, Y as columnRenderedValue, Yt as ColumnPrecisionOption, Z as formatSmartDecimal, Zt as ColumnConfig, _ as formatTimeOfDay, _n as copyToClipboard, _t as toValueDiffGridConfigured, a as hashStringToNumber, an as isPrimaryKeyColumn, at as RowCountDataGridResult, b as formatSelectColumns, bn as downloadTSV, bt as toValueDiffGrid, c as MergeStatus, cn as generateTimestamp, ct as BuildSimpleColumnDefinitionsConfigConfigured, d as formatAsAbbreviatedNumber, dn as toTSV, dt as buildSimpleColumnDefinitionsConfigured, en as buildColumnOrder, et as getPrimaryKeyValue, f as formatIntervalMinMax, fn as CSVData, ft as defaultRenderComponents, g as formatEpochSeconds, gn as toExcelBlob, gt as toDiffColumnConfigured, h as formatDuration, hn as supportsCSVExport, ht as toDataGridConfigured, i as getValueAtPath, in as isPinnedColumn, it as toRowCountDiffDataGrid, j as RowCountChangeDirection, jt as ToDataDiffGridConfig, k as validateToDataGridInputs, kt as DataDiffGridResult, l as mergeKeys, ln as formatRowCount, lt as DiffColumnConfigConfigured, m as TimeFormatStyle, mn as extractCSVData, mt as toDataDiffGridConfigured, n as dataFrameToRowObjects, nn as getSimpleDisplayColumns, nt as validatePrimaryKeys, o as keyToNumber, on as shouldIncludeColumn, ot as toRowCountDataGrid, p as formatNumber, pn as CSVExportOptions, pt as defaultSimpleRenderComponents, q as buildJoinedColumnMap, qt as DiffColumnRenderComponents, r as getCaseInsensitive, rn as isExcludedColumn, rt as RowCountDiffDataGridResult, s as isSchemaChanged, sn as generateCSVFilename, st as BuildDiffColumnDefinitionsConfigConfigured, t as getSettingsUrl, tn as getDisplayColumns, tt as toRenderedValue, u as mergeKeysWithStatus, un as toCSV, ut as buildDiffColumnDefinitionsConfigured, v as formatTimeToNow, vn as downloadCSV, vt as ToValueDiffGridConfig, w as validateColumnDataAlignment, wt as toDataGrid, x as extractSchemas, xn as cllColumnId, xt as DataGridResult, y as formatTimestamp, yn as downloadExcel, yt as ValueDiffGridResult, z as BuildDiffRowsConfig, zt as RecceColumnContext } from "./index-DFyyDTjx.js";
|
|
3
|
+
export { type BuildDiffColumnDefinitionsConfig, type BuildDiffColumnDefinitionsConfigConfigured, type BuildDiffColumnDefinitionsResult, type BuildDiffRowsConfig, type BuildDiffRowsResult, type BuildSimpleColumnDefinitionsConfig, type BuildSimpleColumnDefinitionsConfigConfigured, type BuildSimpleColumnDefinitionsResult, type CSVData, type CSVExportOptions, type CellRendererFunction, type ColumnConfig, type ColumnMapEntry, type ColumnOrderConfig, type ColumnPrecisionOption, type ColumnRenderComponents, type DataDiffGridResult, type DataFrameColumnGroupHeaderProps, type DataFrameColumnHeaderProps, type DataGridResult, DataGridValidationError, type DiffColumnConfig, type DiffColumnConfigConfigured, type DiffColumnDefinition, type DiffColumnMapEntry, type DiffColumnRenderComponents, type DiffColumnResult, type GridColumnsConfig, type MergeColumnMapEntry, type MergeStatus, type QueryDataDiffGridOptions, type QueryDataGridOptions, type RecceColumnContext, type RowCountChangeDirection, type RowCountDataGridResult, type RowCountDiffDataGridResult, type RowCountDiffRowData, type RowCountRowData, type RowStats, type SimpleColumnDefinition, type SimpleColumnRenderComponents, type TimeFormatStyle, type ToDataDiffGridConfig, type ToDataGridConfig, type ToValueDiffGridConfig, type ValueDiffGridResult, buildColumnMap, buildColumnOrder, buildDiffColumnDefinitions, buildDiffColumnDefinitionsConfigured, buildDiffRows, buildJoinedColumnMap, buildMergedColumnMap, buildSimpleColumnDefinitions, buildSimpleColumnDefinitionsConfigured, calculateDelta, cllColumnId, columnPrecisionSelectOptions, columnRenderedValue, copyToClipboard, createCellClassBase, createCellClassCurrent, dataFrameToRowObjects, defaultRenderComponents, defaultSimpleRenderComponents, deltaPercentageString, determineRowStatus, downloadCSV, downloadExcel, downloadTSV, extractCSVData, extractSchemas, formatAsAbbreviatedNumber, formatDuration, formatEpochSeconds, formatIntervalMinMax, formatNumber, formatRowCount, formatSelectColumns, formatSmartDecimal, formatTimeOfDay, formatTimeToNow, formatTimestamp, generateCSVFilename, generateTimestamp, getCaseInsensitive, getCellClass, getDisplayColumns, getHeaderCellClass, getPrimaryKeyValue, getRowCountChangeDirection, getRowCountDiffStatus, getSettingsUrl, getSimpleDisplayColumns, getValueAtPath, hashStringToNumber, isColumnImpacted, isExcludedColumn, isPinnedColumn, isPrimaryKeyColumn, isSchemaChanged, keyToNumber, mergeKeys, mergeKeysWithStatus, rowCountDiffResultToDataFrame, rowCountResultToDataFrame, shouldIncludeColumn, supportsCSVExport, toCSV, toDataDiffGrid, toDataDiffGridConfigured, toDataGrid, toDataGridConfigured, toDiffColumn, toDiffColumnConfigured, toExcelBlob, toRenderedValue, toRowCountDataGrid, toRowCountDiffDataGrid, toTSV, toValueDiffGrid, toValueDiffGridConfigured, validateColumnDataAlignment, validateColumns, validateDataFrame, validatePrimaryKeyConfig, validatePrimaryKeys, validateToDataDiffGridInputs, validateToDataGridInputs, validateToValueDiffGridInputs };
|
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,C as i,Ct as a,D as o,Dt as s,E as c,Et as l,F as u,Ft as d,G as f,H as p,I as m,It as h,J as g,K as _,L as v,Lt as y,M as b,Mt as x,N as S,Nt as C,O as w,Ot as T,P as E,Pt as D,Q as O,R as k,
|
|
2
|
+
import{$ as e,A as t,At as n,B as r,C as i,Ct as a,D as o,Dt as s,E as c,Et as l,F as u,Ft as d,G as f,H as p,I as m,It as h,J as g,K as _,L as v,Lt as y,M as b,Mt as x,N as S,Nt as C,O as w,Ot as T,P as E,Pt as D,Q as O,R as k,Rt as A,S as j,St as M,T as N,Tt as P,U as F,V as I,W as L,X as R,Y as z,Z as B,_ as V,a as H,at as U,b as W,bt as G,c as K,ct as q,d as J,et as Y,f as X,g as Z,h as Q,i as $,it as ee,j as te,jt as ne,k as re,kt as ie,l as ae,lt as oe,m as se,n as ce,nt as le,o as ue,ot as de,p as fe,q as pe,r as me,rt as he,s as ge,t as _e,tt as ve,u as ye,ut as be,v as xe,vt as Se,w as Ce,wt as we,x as Te,xt as Ee,y as De,yt as Oe,z as ke,zt as Ae}from"./utils-svMSMuTZ.js";export{t as DataGridValidationError,F as buildColumnMap,Oe as buildColumnOrder,ke as buildDiffColumnDefinitions,xe as buildDiffColumnDefinitionsConfigured,k as buildDiffRows,L as buildJoinedColumnMap,f as buildMergedColumnMap,w as buildSimpleColumnDefinitions,De as buildSimpleColumnDefinitionsConfigured,X as calculateDelta,A as cllColumnId,Se as columnPrecisionSelectOptions,_ as columnRenderedValue,D as copyToClipboard,r as createCellClassBase,I as createCellClassCurrent,le as dataFrameToRowObjects,W as defaultRenderComponents,Te as defaultSimpleRenderComponents,V as deltaPercentageString,pe as determineRowStatus,d as downloadCSV,h as downloadExcel,y as downloadTSV,ne as extractCSVData,ae as extractSchemas,q as formatAsAbbreviatedNumber,me as formatDuration,$ as formatEpochSeconds,oe as formatIntervalMinMax,be as formatNumber,T as formatRowCount,K as formatSelectColumns,g as formatSmartDecimal,H as formatTimeOfDay,ue as formatTimeToNow,ge as formatTimestamp,l as generateCSVFilename,s as generateTimestamp,he as getCaseInsensitive,z as getCellClass,G as getDisplayColumns,R as getHeaderCellClass,B as getPrimaryKeyValue,fe as getRowCountChangeDirection,se as getRowCountDiffStatus,_e as getSettingsUrl,Ee as getSimpleDisplayColumns,ee as getValueAtPath,U as hashStringToNumber,Ae as isColumnImpacted,M as isExcludedColumn,a as isPinnedColumn,we as isPrimaryKeyColumn,ce as isSchemaChanged,de as keyToNumber,Y as mergeKeys,ve as mergeKeysWithStatus,Q as rowCountDiffResultToDataFrame,Z as rowCountResultToDataFrame,P as shouldIncludeColumn,x as supportsCSVExport,ie as toCSV,re as toDataDiffGrid,j as toDataDiffGridConfigured,o as toDataGrid,i as toDataGridConfigured,p as toDiffColumn,Ce as toDiffColumnConfigured,C as toExcelBlob,O as toRenderedValue,J as toRowCountDataGrid,ye as toRowCountDiffDataGrid,n as toTSV,c as toValueDiffGrid,N as toValueDiffGridConfigured,te as validateColumnDataAlignment,b as validateColumns,S as validateDataFrame,E as validatePrimaryKeyConfig,e as validatePrimaryKeys,u as validateToDataDiffGridInputs,m as validateToDataGridInputs,v as validateToValueDiffGridInputs};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datarecce/ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.60.0-nightly.20260809",
|
|
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",
|
|
@@ -136,14 +136,14 @@
|
|
|
136
136
|
}
|
|
137
137
|
},
|
|
138
138
|
"dependencies": {
|
|
139
|
-
"@amplitude/analytics-core": "^2.
|
|
140
|
-
"@amplitude/unified": "1.1.
|
|
139
|
+
"@amplitude/analytics-core": "^2.54.1",
|
|
140
|
+
"@amplitude/unified": "1.1.28",
|
|
141
141
|
"@codemirror/lang-sql": "^6.10.0",
|
|
142
142
|
"@codemirror/lang-yaml": "^6.1.0",
|
|
143
143
|
"@codemirror/merge": "^6.12.0",
|
|
144
144
|
"@codemirror/state": "^6.7.1",
|
|
145
|
-
"@codemirror/view": "^6.43.
|
|
146
|
-
"@dagrejs/dagre": "
|
|
145
|
+
"@codemirror/view": "^6.43.7",
|
|
146
|
+
"@dagrejs/dagre": "3.1.0",
|
|
147
147
|
"@emotion/react": "^11.14.0",
|
|
148
148
|
"@emotion/styled": "^11.14.0",
|
|
149
149
|
"@hello-pangea/dnd": "^18.0.0",
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
"@uiw/codemirror-theme-github": "^4.25.11",
|
|
154
154
|
"@uiw/react-codemirror": "^4.25.11",
|
|
155
155
|
"@xyflow/react": "^12.10.1",
|
|
156
|
-
"@zumer/snapdom": "^2.
|
|
156
|
+
"@zumer/snapdom": "^2.23.2",
|
|
157
157
|
"ag-grid-community": "^36.0.1",
|
|
158
158
|
"ag-grid-react": "^36.0.1",
|
|
159
159
|
"chart.js": "^4.5.0",
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
"js-cookie": "^3.0.7",
|
|
164
164
|
"lodash": "^4.17.21",
|
|
165
165
|
"next-themes": "^0.4.0",
|
|
166
|
-
"posthog-js": "^1.
|
|
166
|
+
"posthog-js": "^1.410.9",
|
|
167
167
|
"react-chartjs-2": "^5.3.0",
|
|
168
168
|
"react-icons": "^5.7.0",
|
|
169
169
|
"react-markdown": "^10.1.0",
|
|
@@ -175,10 +175,10 @@
|
|
|
175
175
|
"yaml": "^2.8.0"
|
|
176
176
|
},
|
|
177
177
|
"devDependencies": {
|
|
178
|
-
"@typescript/native": "npm:typescript@^7.0.2",
|
|
179
178
|
"@tailwindcss/cli": "^4.3.3",
|
|
180
179
|
"@tailwindcss/postcss": "^4.3.3",
|
|
181
180
|
"@tsdown/css": "^0.22.14",
|
|
181
|
+
"@typescript/native": "npm:typescript@^7.0.2",
|
|
182
182
|
"postcss": "^8.5.22",
|
|
183
183
|
"read-excel-file": "^9.3.4",
|
|
184
184
|
"tailwindcss": "^4.3.3",
|
package/dist/hooks-DxCl_1oG.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-S5ho3Qs3.js";import{d as D,f as O,l as k,s as te}from"./keepAlive-bjIHulj-.js";import{n as ne,r as re}from"./fetchClient-D0p358nB.js";import{A as ie,E as ae,N as oe,S as se,T as ce,b as A,f as le,g as ue,j as de,n as fe,v as pe,y as me}from"./utils-D2GZ30yl.js";import{_ as he,f as j,g as ge,p as M,t as _e}from"./theme-u98ih3Tv.js";import{n as N}from"./colors-4aGxuAVw.js";import{At as ve,Dt as ye,Et as be,Ft as xe,Lt as Se,Mt as Ce,Nt as we,Ot as Te,Pt as Ee,Rt as P,S as De,Vt as Oe,a as ke,d as Ae,et as je,ht as Me,i as Ne,jt as Pe,kt as Fe,l as Ie,nt as Le,o as Re,ot as ze,pt as F,r as Be,st as Ve,tt as He,u as Ue,ut as We,w as Ge,wt as Ke,x as qe}from"./utils-DITU6vUm.js";import{fetchGitHubAvatar as Je,fetchUser as Ye}from"./lib/api/user.js";import{PUBLIC_API_URL as Xe,RECCE_SUPPORT_CALENDAR_URL as Ze}from"./lib/const.js";import{EXPLORE_FORM_EVENT as Qe,isExploreAction as $e,trackCopyToClipboard as et,trackExploreActionForm as tt,trackHistoryAction as nt,trackSingleEnvironment as rt}from"./lib/api/track.js";import it from"./lib/result/ResultErrorFallback.js";import{useMutation as at,useQuery as ot,useQueryClient as st}from"@tanstack/react-query";import{Fragment as ct,createContext as lt,forwardRef as ut,memo as I,useCallback as L,useContext as dt,useEffect as R,useId as ft,useImperativeHandle as pt,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 K from"@mui/material/Button";import mt from"@mui/material/Dialog";import ht from"@mui/material/DialogActions";import gt from"@mui/material/DialogContent";import _t from"@mui/material/DialogTitle";import vt from"@mui/material/Link";import q from"@mui/material/Stack";import J from"@mui/material/Typography";import{LuChartBarBig as yt,LuExternalLink as bt}from"react-icons/lu";import xt from"@mui/material/CssBaseline";import{ThemeProvider as St,alpha as Ct,useTheme as wt}from"@mui/material/styles";import{useTheme as Tt}from"next-themes";import{AllCommunityModule as Et,ModuleRegistry as Dt}from"ag-grid-community";import Y from"@mui/material/IconButton";import Ot from"next/link";import{IoClose as kt}from"react-icons/io5";import At from"@mui/material/Divider";import jt from"@mui/material/CircularProgress";import X from"@mui/material/Tooltip";import{FaCheckCircle as Mt,FaRegCheckCircle as Nt}from"react-icons/fa";import{PiBookmarkSimple as Pt,PiCaretDown as Ft,PiChatText as It,PiCheck as Lt,PiCheckCircle as Rt,PiCircle as zt,PiClipboardText as Bt,PiCopy as Vt,PiDotsThreeVertical as Ht,PiDownloadSimple as Ut,PiImage as Wt,PiInfo as Gt,PiNotePencil as Kt,PiPencilSimple as qt,PiPlusCircle as Jt,PiRepeat as Yt,PiSelectionPlus as Xt,PiTable as Zt,PiTrashSimple as Qt,PiWarning as $t,PiX as en}from"react-icons/pi";import tn from"@mui/material/Chip";import{BaseEdge as nn,EdgeLabelRenderer as rn,Handle as an,NodeToolbar as on,Position as sn,getBezierPath as cn}from"@xyflow/react";import ln from"file-saver";import un from"@mui/material/Checkbox";import dn from"@mui/material/FormControlLabel";import fn from"@mui/material/ButtonGroup";import{useTimeout as pn}from"usehooks-ts";import mn from"@mui/material/Alert";import hn from"@mui/material/InputBase";import gn from"@mui/material/Menu";import Z from"@mui/material/MenuItem";import _n from"lodash";import{VscError as vn,VscKebabVertical as yn,VscKey as bn}from"react-icons/vsc";import xn from"@mui/material/ListSubheader";import Sn from"@mui/material/FormControl";import Cn from"@mui/material/FormLabel";import wn from"@mui/material/NativeSelect";import{Box as Tn}from"@mui/material";import En from"@mui/material/TextField";import{format as Dn,formatDistanceToNow as On}from"date-fns";import kn from"@mui/material/Tab";import An from"@mui/material/Tabs";import jn from"@mui/material/List";import Mn from"@mui/material/ListItem";import Nn from"yaml";import{PostgreSQL as Pn,sql as Fn}from"@codemirror/lang-sql";import{yaml as In}from"@codemirror/lang-yaml";import{EditorState as Ln,Prec as Rn}from"@codemirror/state";import{EditorView as zn,keymap as Bn,lineNumbers as Vn}from"@codemirror/view";import{githubDark as Hn,githubLight as Un}from"@uiw/codemirror-theme-github";import Wn from"@uiw/react-codemirror";import Gn from"@mui/material/Avatar";import Kn from"@mui/material/Popover";import qn from"@mui/material/LinearProgress";import{BarElement as Jn,CategoryScale as Yn,Chart as Xn,Legend as Zn,LinearScale as Qn,TimeSeriesScale as $n,Title as er,Tooltip as tr}from"chart.js";import{Bar as nr,Chart as rr}from"react-chartjs-2";import ir from"@mui/material/AlertTitle";import{AgGridReact as ar}from"ag-grid-react";import{MergeView as or,unifiedMergeView as sr}from"@codemirror/merge";import cr from"react-markdown";import{Prism as lr}from"react-syntax-highlighter";import{oneDark as ur}from"react-syntax-highlighter/dist/esm/styles/prism";import dr from"remark-gfm";import fr from"react-split";import{amber as pr}from"@mui/material/colors";import{usePathname as mr,useRouter as hr}from"next/navigation";import{MdFormatListNumberedRtl as gr,MdSchema as _r}from"react-icons/md";import{TbAlignBoxLeftStretch as vr,TbBrandStackshare as yr,TbChartHistogram as br,TbEyeEdit as xr,TbEyeSearch as Sr,TbSql as Cr}from"react-icons/tb";import wr from"@mui/material/Autocomplete";import Tr from"@mui/material/DialogContentText";import Er from"@mui/material/ListItemIcon";import Dr from"@mui/material/ListItemText";import{FiInfo as Or}from"react-icons/fi";import{FaPlay as kr}from"react-icons/fa6";import{ErrorBoundary as Ar}from"@sentry/react";import{snapdom as jr}from"@zumer/snapdom";function Mr({children:e,forcedTheme:t,enableCssBaseline:n=!1}){let{resolvedTheme:r}=Tt();return R(()=>{(t??r)===`dark`?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)},[t,r]),W(St,{theme:_e,children:[n&&U(xt,{}),e]})}const Nr=lt({checks:[],isLoading:!1});Nr.displayName=`RecceCheckContext`;function Pr({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(Nr.Provider,{value:h,children:e})}function Fr(){return dt(Nr)}const Ir=lt({sql:``,isExecuting:!1});Ir.displayName=`RecceQueryContext`;function Lr({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(Ir.Provider,{value:_,children:e})}function Rr(){return dt(Ir)}function zr({children:e}){let[t,n]=V(``);return U(Pr,{selectedCheckId:t,onSelectCheck:n,latestSelectedCheckId:t,setLatestSelectedCheckId:n,children:e})}const Br=()=>{};function Vr(){let e=Fr();return{latestSelectedCheckId:e.latestSelectedCheckId??``,setLatestSelectedCheckId:e.setLatestSelectedCheckId??Br}}const Hr={INTEGER:`integer`,INT:`integer`,BIGINT:`integer`,SMALLINT:`integer`,TINYINT:`integer`,INT64:`integer`,INT32:`integer`,INT16:`integer`,INT8:`integer`,INT4:`integer`,INT2:`integer`,INT128:`integer`,MEDIUMINT:`integer`,SERIAL:`integer`,BIGSERIAL:`integer`,SMALLSERIAL:`integer`,HUGEINT:`integer`,UHUGEINT:`integer`,UTINYINT:`integer`,USMALLINT:`integer`,UINTEGER:`integer`,UBIGINT:`integer`,DOUBLE:`number`,FLOAT:`number`,REAL:`number`,NUMERIC:`number`,DECIMAL:`number`,NUMBER:`number`,FLOAT64:`number`,FLOAT32:`number`,"DOUBLE PRECISION":`number`,VARCHAR:`text`,TEXT:`text`,STRING:`text`,CHAR:`text`,"CHARACTER VARYING":`text`,CHARACTER:`text`,NCHAR:`text`,NVARCHAR:`text`,VARCHAR2:`text`,NVARCHAR2:`text`,CLOB:`text`,NCLOB:`text`,TINYTEXT:`text`,MEDIUMTEXT:`text`,LONGTEXT:`text`,BOOLEAN:`boolean`,BOOL:`boolean`,DATE:`date`,DATE32:`date`,TIMESTAMP:`datetime`,DATETIME:`datetime`,DATETIME64:`datetime`,TIMESTAMP_S:`datetime`,TIMESTAMP_MS:`datetime`,TIMESTAMP_NS:`datetime`,TIMESTAMP_NTZ:`datetime`,TIMESTAMP_LTZ:`datetime`,TIMESTAMP_TZ:`datetime`,TIMESTAMPTZ:`datetime`,"TIMESTAMP WITH TIME ZONE":`datetime`,"TIMESTAMP WITHOUT TIME ZONE":`datetime`,"TIMESTAMP WITH LOCAL TIME ZONE":`datetime`,DATETIME2:`datetime`,SMALLDATETIME:`datetime`,DATETIMEOFFSET:`datetime`,TIME:`time`,TIMETZ:`time`,"TIME WITH TIME ZONE":`time`,"TIME WITHOUT TIME ZONE":`time`,BINARY:`binary`,VARBINARY:`binary`,BYTES:`binary`,BLOB:`binary`,BYTEA:`binary`,TINYBLOB:`binary`,MEDIUMBLOB:`binary`,LONGBLOB:`binary`,JSON:`json`,JSONB:`json`,VARIANT:`json`,OBJECT:`json`,STRUCT:`json`,MAP:`json`,ARRAY:`array`,LIST:`array`,GEOGRAPHY:`geography`,GEOMETRY:`geography`,POINT:`geography`,LINESTRING:`geography`,POLYGON:`geography`,MULTIPOINT:`geography`,MULTILINESTRING:`geography`,MULTIPOLYGON:`geography`,GEOMETRYCOLLECTION:`geography`,SDO_GEOMETRY:`geography`};function Ur(e){let t=e.trim().toUpperCase();if(!t)return`unknown`;if(/^TINYINT\s*\(\s*1\s*\)$/.test(t))return`boolean`;let n=t.indexOf(`(`),r=n===-1?t:t.slice(0,n).trimEnd();return Hr[r]??`unknown`}const Wr=.6,Gr=18/30;function Kr({size:e=`1em`,style:t,className:n,children:r}){return W(`svg`,{viewBox:`0 0 30 18`,width:e,height:typeof e==`number`?e*Gr:`${Gr}em`,style:t,className:n,"aria-hidden":`true`,children:[U(`rect`,{x:Wr,y:Wr,width:30-Wr*2,height:18-Wr*2,rx:3,fill:`none`,stroke:`currentColor`,strokeWidth:1.2}),r]})}function qr({text:e,size:t,style:n,className:r}){return U(Kr,{size:t,style:n,className:r,children:U(`text`,{x:30/2,y:18/2,textAnchor:`middle`,dominantBaseline:`central`,fontSize:10.5,fontFamily:`monospace`,fontWeight:500,fill:`currentColor`,children:e})})}function Jr(e){return U(qr,{text:`123`,...e})}function Yr(e){return U(qr,{text:`1.2`,...e})}function Xr(e){return U(qr,{text:`abc`,...e})}function Zr(e){return U(qr,{text:`T/F`,...e})}function Qr({size:e,style:t,className:n}){let r=ft(),i=Wr,a=Wr;return W(Kr,{size:e,style:t,className:n,children:[W(`mask`,{id:r,children:[U(`rect`,{x:i,y:a,width:15-i,height:16.8,fill:`white`}),U(`text`,{x:15/2,y:18/2,textAnchor:`middle`,dominantBaseline:`central`,fontSize:10,fontFamily:`monospace`,fontWeight:700,fill:`black`,children:`0`})]}),U(`path`,{d:`M15 ${a} H3.6 Q${i} ${a} ${i} 3.6 V14.400000000000002 Q${i} 17.400000000000002 3.6 17.400000000000002 H15 Z`,fill:`currentColor`,mask:`url(#${r})`}),U(`text`,{x:22.5,y:18/2,textAnchor:`middle`,dominantBaseline:`central`,fontSize:10,fontFamily:`monospace`,fontWeight:700,fill:`currentColor`,children:`1`})]})}function $r(e){return U(qr,{text:`{ }`,...e})}function ei({size:e,style:t,className:n}){return W(Kr,{size:e,style:t,className:n,children:[W(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1.2,strokeLinecap:`round`,children:[U(`line`,{x1:6,y1:5,x2:4,y2:5}),U(`line`,{x1:4,y1:5,x2:4,y2:13}),U(`line`,{x1:4,y1:13,x2:6,y2:13}),U(`line`,{x1:24,y1:5,x2:26,y2:5}),U(`line`,{x1:26,y1:5,x2:26,y2:13}),U(`line`,{x1:26,y1:13,x2:24,y2:13})]}),U(`text`,{x:30/2,y:18/2,textAnchor:`middle`,dominantBaseline:`central`,fontSize:9,fontFamily:`monospace`,fontWeight:500,fill:`currentColor`,children:`1,2`})]})}function ti(e){return U(qr,{text:`···`,...e})}function ni({size:e,style:t,className:n}){return U(Kr,{size:e,style:t,className:n,children:W(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,transform:`translate(9, 2.5)`,children:[U(`rect`,{x:0,y:2,width:11,height:9.5,rx:1.2}),U(`line`,{x1:3,y1:.5,x2:3,y2:3.5}),U(`line`,{x1:8,y1:.5,x2:8,y2:3.5}),U(`line`,{x1:0,y1:5.5,x2:11,y2:5.5})]})})}function ri({size:e,style:t,className:n}){return U(Kr,{size:e,style:t,className:n,children:W(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,transform:`translate(4, 2.5)`,children:[U(`rect`,{x:0,y:2,width:9.5,height:8.5,rx:1.2}),U(`line`,{x1:2.5,y1:.5,x2:2.5,y2:3.5}),U(`line`,{x1:7,y1:.5,x2:7,y2:3.5}),U(`line`,{x1:0,y1:5,x2:9.5,y2:5}),U(`circle`,{cx:17,cy:8.5,r:3.2}),U(`line`,{x1:17,y1:6.8,x2:17,y2:8.5}),U(`line`,{x1:17,y1:8.5,x2:18.3,y2:9.5})]})})}function ii({size:e,style:t,className:n}){return U(Kr,{size:e,style:t,className:n,children:W(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,transform:`translate(10, 3.5)`,children:[U(`circle`,{cx:5,cy:5.5,r:5}),U(`line`,{x1:5,y1:3,x2:5,y2:5.5}),U(`line`,{x1:5,y1:5.5,x2:7,y2:6.8})]})})}function ai({size:e,style:t,className:n}){return U(Kr,{size:e,style:t,className:n,children:W(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,children:[U(`path`,{d:`M15 14.5 C15 14.5 10.5 11 10.5 8 A4.5 4.5 0 0 1 19.5 8 C19.5 11 15 14.5 15 14.5 Z`,strokeWidth:1.2}),U(`circle`,{cx:15,cy:8,r:1.5,fill:`currentColor`,stroke:`none`})]})})}function oi(e){let{name:t,status:n,baseType:r,currentType:i,cllAvailable:a,impacted:o}=e,s;switch(n){case`added`:s=i?`${t} added ${i}`:`${t} added`;break;case`removed`:return`deleted ${t}`;case`type_changed`:s=`${t}, was ${r} now ${i}`;break;case`definition_changed`:s=i?`${t} ${i} changed definition`:`${t} changed definition`;break;case`definition_unknown`:s=i?`${t} ${i} change status unknown`:`${t} change status unknown`;break;case`unchanged`:s=i?`${t} ${i}`:t;break;default:s=r&&i&&r!==i?`${t}, was ${r} now ${i}`:i?`${t} ${i}`:t;break}return o&&(s+=` · impacted`),a&&(s+=` · Click for column lineage`),s}const si={integer:Jr,number:Yr,text:Xr,boolean:Zr,date:ni,datetime:ri,time:ii,binary:Qr,json:$r,array:ei,geography:ai,unknown:ti};function ci({type:e,size:t,style:n,className:r,disableTooltip:i}){let a=Ur(e),o=si[a],s=U(`span`,{"data-testid":`data-type-icon`,style:{display:`inline-flex`,alignItems:`center`,lineHeight:0},children:U(o,{size:t,style:n,className:r})});return i?s:U(X,{title:e,placement:`top`,arrow:!0,children:s})}const li=.35,ui=.1,di=.15,fi=`opacity(0.4) grayscale(40%)`,pi=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`})}),mi=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`})}),hi=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`})]}),gi=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:`M8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6z`})}),_i=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`})]}),vi=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`})}),yi=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`})}),bi=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`})}),xi=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`})}),Si=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`})}),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:`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`})}),wi=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`})}),Ti=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`})}),Ei=e=>{let t=ft(),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`})}),Oi=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`})})]}),ki={added:pi,removed:mi,modified:hi,impacted:_i};function Ai(e,t){return e===`cll`?{colors:Q,bg:t?Vi:Bi}:{colors:Li,bg:t?zi:Ri}}function ji(e,t,n=`default`){let r=e??`unchanged`,{colors:i,bg:a}=Ai(n,t),o=i[r],s=a[r];return{color:o,hexColor:o,backgroundColor:s,hexBackgroundColor:s,icon:ki[r]}}function Mi(e){return ji(`impacted`,e,`cll`)}function Ni(e,t){let{changeStatus:n,isImpacted:r,newCllExperience:i}=e;return i&&r&&(!n||n===`unchanged`)?Mi(t):ji(n,t,i?`cll`:`default`)}function Pi(e){switch(e){case`model`:return{color:N.cyan[200],icon:vi};case`source`:return{color:N.green[300],icon:yi};case`seed`:return{color:N.green[500],icon:bi};case`snapshot`:return{color:N.green[500],icon:xi};case`metric`:return{color:N.rose[200],icon:Si};case`exposure`:return{color:N.rose[200],icon:Ci};case`semantic_model`:return{color:N.rose[400],icon:wi};default:return{color:`inherit`,icon:void 0}}}function Fi(e){switch(e){case`table`:return{color:N.cyan[200],icon:vi};case`view`:return{color:N.fuchsia[300],icon:Ti};case`incremental`:return{color:N.iochmara[300],icon:Ei};case`ephemeral`:return{color:N.neutral[400],icon:Di};case`materialized_view`:case`dynamic_table`:case`streaming_table`:return{color:N.fuchsia[200],icon:Oi};default:return{color:`inherit`,icon:void 0}}}function Ii(e,t,n){return t?`${e} - ${t===`model`&&n||t}`:e}const Li={added:N.green[500],removed:N.red[500],modified:N.amber[500],unchanged:N.neutral[500]},Ri={added:N.green[100],removed:N.red[200],modified:N.amber[100],unchanged:N.white},zi={added:N.green[900],removed:N.red[950],modified:N.amber[900],unchanged:N.neutral[700]},Q={added:`rgb(46 160 67)`,removed:`rgb(248 81 73)`,modified:`rgb(212 133 11)`,impacted:`rgb(252 211 77)`,unchanged:N.neutral[500]},Bi={added:`rgb(222 248 227)`,removed:`rgb(252 225 224)`,modified:`rgb(255 237 175)`,impacted:`rgb(254 249 227)`,unchanged:N.white},Vi={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)`},Hi=`252 211 77`,Ui={light:Q.impacted,dark:`rgb(${Hi})`},Wi={light:`rgb(${Hi} / 0.35)`,dark:`rgb(${Hi} / 0.18)`},Gi={light:`rgb(146 64 14)`,dark:`rgb(${Hi})`},Ki=Q.modified,qi={light:`rgb(255 173 21 / 0.25)`,dark:`rgb(255 173 21 / 0.2)`},Ji={light:`rgb(160 100 0)`,dark:`rgb(255 200 80)`},Yi={light:Q.added,dark:`rgb(80 200 100)`},Xi={light:`rgb(46 160 67 / 0.2)`,dark:`rgb(46 160 67 / 0.2)`},Zi={light:`rgb(22 110 40)`,dark:Yi.dark},Qi=24,$i=280,ea={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 ta({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 na({changeStatus:e,newCllExperience:t}){if(!e)return null;let n=(t?Q:Li)[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 ra({transformationType:e}){if(!e)return null;let t=ea[e];return U(tn,{label:t.letter,size:`small`,color:t.color,sx:{fontSize:`8pt`,height:18,minWidth:18,"& .MuiChip-label":{px:.5}}})}function ia({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?Vi:Bi)[d]:void 0,b=h&&d?Q[d]:void 0,x=m&&!d?Mi(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`:fi,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(na,{changeStatus:d,newCllExperience:h}):U(ra,{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(ta,{size:14})}):l&&U(ci,{type:l,style:{flexShrink:0,opacity:.7,fontSize:`1rem`}})]}),U(an,{type:`target`,position:sn.Left,isConnectable:!1,style:{left:0,visibility:`hidden`}}),U(an,{type:`source`,position:sn.Right,isConnectable:!1,style:{right:0,visibility:`hidden`}})]})}const aa=I(ia);aa.displayName=`LineageColumnNode`;function oa({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]=cn({sourceX:t,sourceY:n,sourcePosition:a,targetX:r,targetY:i,targetPosition:o}),h=Q[l];return W(H,{children:[U(nn,{id:e,path:f,style:{stroke:h,strokeWidth:u||c?2.5:1.5,opacity:u||c?1:.6}}),d&&U(rn,{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 sa=I(oa);sa.displayName=`LineageEdge`;function ca({changedOnly:e,onChange:t}){return U(dn,{control:U(un,{checked:e??!1,onChange:()=>{t()},size:`small`}),label:`Changed only`,slotProps:{typography:{variant:`body2`}}})}function la({value:e,onChange:t,textOn:n,textOff:r}){return W(fn,{variant:`outlined`,size:`xsmall`,sx:{borderRadius:1},children:[U(K,{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(K,{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 ua({displayMode:e,onDisplayModeChanged:t}){return W(H,{children:[e===`inline`&&W(H,{children:[U(Me,{value:`Base`,colorPalette:`red`,grayOut:!1,fontSize:`10pt`,noCopy:!0}),U(Me,{value:`Current`,colorPalette:`green`,grayOut:!1,fontSize:`10pt`,noCopy:!0})]}),U(la,{value:e===`side_by_side`,onChange:e=>{t(e?`side_by_side`:`inline`)},textOff:`Inline`,textOn:`Side by side`})]})}const da=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(K,{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(J,{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(J,{component:`span`,onClick:e=>{e.stopPropagation(),y()},sx:{fontSize:C(),color:`primary.main`,cursor:`pointer`,ml:1,"&:hover":{textDecoration:`underline`}},children:`Clear`})]}),W(gn,{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(tn,{label:e,size:`small`,onDelete:()=>b(e),sx:{height:22,fontSize:C()}},e)),U(hn,{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(At,{}),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},_n.uniqueId(`option-${t}`))),S.length>10&&U(X,{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...`]})})]})]})},fa=`Paired baseline and current continuous distribution`,pa=`Paired baseline and current categorical distribution`;function ma({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 ha({y:e,stroke:t}){return U(`line`,{x1:0,y1:e,x2:140,y2:e,stroke:t,strokeWidth:.5})}function ga(e,t,n){return`${e} [base: ${`${(t*100).toFixed(1)}%`}, current: ${`${(n*100).toFixed(1)}%`}]`}function _a(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 va({data:e,formatValue:t=ze,className:n}){let r=P(),i=j(r),a=M(r),o=i.base,s=i.current,c=a.borderColor,l=`phc-overlap-${ft().replace(/:/g,``)}`,u=z(()=>ba(e,140),[e]);return u.bins.length===0?U(ma,{ariaLabel:fa,className:n}):W(ma,{ariaLabel:fa,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=xa(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(ha,{y:26,stroke:c})]})}function ya(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 ba(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?ya(n,i,d):0,currentDensity:c?ya(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 xa(e,t){let n=e.hi-e.lo,r=n>0?e.baseDensity*n:0,i=n>0?e.currentDensity*n:0;return ga(`${t(e.lo)}–${t(e.hi)}`,r,i)}function Sa({data:e,formatValue:t=wa,className:n}){let r=P(),i=j(r),a=M(r),o=i.base,s=i.current,c=a.borderColor,l=a.secondaryTextColor,u=z(()=>Ca(e,26,t),[e,26,t]);if(u.length===0)return U(ma,{ariaLabel:pa,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(ma,{ariaLabel:pa,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(ha,{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 Ca(e,t,n){if(e.mode===`ranks`){let{slots:r}=Da(e);return r.map(r=>({baseH:Ta(r.baseRank,e.k,t),currH:Ta(r.currRank,e.k,t),hoverTitle:_a(n(r.value),r.baseRank,r.currRank)}))}let{slots:r,maxProp:i}=Ea(e);return r.map(e=>({baseH:e.baseProp/i*t,currH:e.currProp/i*t,hoverTitle:ga(n(e.value),e.baseProp,e.currProp)}))}function wa(e){return String(e)}function Ta(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 Ea(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 Da(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 Oa({title:e,testId:t}){return U(`span`,{className:`schema-distribution-error`,title:e,role:`img`,"aria-label":e,"data-testid":t,children:U(vn,{"aria-hidden":!0})})}function ka(){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 Aa(e){return e==null?`(null)`:typeof e==`boolean`?e?`true`:`false`:String(e)}function ja(e){let t=[...e.base_bin_edges,...e.current_bin_edges].filter(Number.isFinite);if(t.length===0)return e=>Ne(e);let n=Array.from(new Set(t)).sort((e,t)=>e-t);if(n.length<2)return e=>Ne(e);let r=1/0;for(let e=1;e<n.length;e++){let t=n[e]-n[e-1];t<r&&(r=t)}if(r>=86400)return e=>Ne(e);let i=r<60?`seconds`:!0;return e=>Ne(e,i)}function Ma(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 Na(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 Pa({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(Oa,{title:`Failed to read distribution`,testId:`inline-distribution-error`});if(!e)return o?U(ka,{}):null;if(e.kind===null)return U(Oa,{title:`Failed to read distribution for this column`,testId:`inline-distribution-column-failure`});if(e.kind===`histogram`){let n=t?Ur(t):`unknown`,r=n===`time`?ke:n===`date`||n===`datetime`?ja(e):void 0;return U(va,{data:Ma(e),formatValue:r,className:s})}return U(Sa,{data:Na(e,n,r),formatValue:Aa,className:s})}function Fa(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 Ia(e){return[`BOOLEAN`,`TINYINT(1)`,`BIT`,`NUMBER(1)`,`BOOL`].includes(e.toUpperCase())}function La(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 Ra(e){return!Fa(e)&&!Ia(e)&&!La(e)}function za({params:e,onParamsChanged:t,setIsReadyToExecute:n}){let{columns:r,isLoading:i,error:a}=Ru(e.model),o=r.filter(e=>!Fa(e.type)&&!Ia(e.type)&&!La(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(Sn,{fullWidth:!0,disabled:o.length===0,children:[U(Cn,{sx:{mb:1},children:`Pick a column to show Histogram Diff`}),W(wn,{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))]})]})})}const Ba={breaking:`Model-Wide Change`,partial_breaking:`Column Change`,non_breaking:`Additive Change`,unknown:`Unknown`},Va=[{category:`breaking`,description:`Change affects the model as a whole`},{category:`partial_breaking`,description:`Change is scoped to specific columns`},{category:`non_breaking`,description:`Change only adds new columns or structure`},{category:`unknown`,description:`Change category could not be determined`}];function Ha(e){return e!==void 0&&Object.hasOwn(Ba,e)}function Ua(e){return Ha(e)?Ba[e]:void 0}function Wa(e,t){return Ha(e)?e:Ha(t)?t:void 0}const Ga={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 Ka({tokens:e,variant:t=`badge`,testId:n,ariaLabel:r,children:i,sx:a,...o}){return U(Tn,{"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},Ga[t],...Array.isArray(a)?a:a?[a]:[]],...o,children:i})}function qa(e,t){return{isWholeModelChanged:t.wholeModelChangedNodeIds.has(e),isWholeModelImpacted:t.wholeModelImpactedNodeIds.has(e)}}const Ja={changed:{tooltip:`Whole-model change`,ariaLabel:`whole-model change`},impacted:{tooltip:`Whole-model impact`,ariaLabel:`whole-model impact`}},Ya={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 Xa(e){return e.newCllExperience?e.isWholeModelChanged?`changed`:e.isWholeModelImpacted?`impacted`:null:null}function Za(e){return!e.newCllExperience||e.isWholeModelChanged||e.isWholeModelImpacted?null:e.changeCategory===`partial_breaking`?`column-changed`:e.isImpacted?`column-impacted`:e.changeCategory===`non_breaking`?`additive`:null}function Qa(e,t){let n=Xa(e);return n?{kind:n,...Ja[n],tokens:ro(n,t)}:null}function $a(e,t){let n=Za(e);return n?{kind:n,...Ya[n],tokens:ro(n,t)}:null}const eo={additive:0,"column-changed":1,"column-impacted":2},to=Object.keys(Ya).sort((e,t)=>eo[e]-eo[t]);function no(e){return to.map(t=>({kind:t,...Ya[t],tokens:ro(t,e)}))}function ro(e,t){let n=t?`dark`:`light`;return e===`changed`||e===`column-changed`?{stripeAccent:`var(--schema-color-changed-accent)`,fg:Ji[n],badgeBg:qi[n],badgeBorder:Ki}:e===`additive`?{stripeAccent:`var(--schema-color-added-accent)`,fg:Zi[n],badgeBg:Xi[n],badgeBorder:Yi[n]}:{stripeAccent:`var(--schema-color-impacted-accent)`,fg:Gi[n],badgeBg:Wi[n],badgeBorder:Ui[n]}}function io(e){let t=Xa(e);if(t)return Ja[t].tooltip;let n=Za(e);if(n)return Ya[n].tooltip}function ao(e,t){let n=Ii(e.name,e.resourceType,e.materialized),r=io(t);return r?`${n} - ${r}`:n}const oo=[{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`}],so=[{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`}],co={added:{color:Li.added,symbol:`+`},removed:{color:Li.removed,symbol:`-`},modified:{color:Li.modified,symbol:`~`}},lo={added:{color:Q.added,symbol:`+`},removed:{color:Q.removed,symbol:`-`},modified:{color:Q.modified,symbol:`~`},impacted:{color:Q.impacted,symbol:`!`}},uo={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 fo({status:e,newCllExperience:t}){let n=(t?lo:co)[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 po({type:e}){let t=uo[e];return U(tn,{label:t.letter,size:`small`,color:t.color,sx:{fontSize:`8pt`,height:18,minWidth:18,"& .MuiChip-label":{px:.5}}})}function mo({variant:e,showTooltips:t=!0,title:n,className:r,newCllExperience:i=!1}){let a=P(),o=i?oo:oo.filter(e=>e.status!==`impacted`),s=e===`changeStatus`?o:so;return W(G,{className:r,sx:{bgcolor:`background.paper`,padding:`12px`,border:`1px solid`,borderColor:`divider`,borderRadius:1,fontSize:`0.875rem`},children:[n&&U(J,{variant:`caption`,sx:{display:`block`,fontWeight:600,mb:1,color:`text.secondary`},children:n}),e===`changeStatus`&&s.map(e=>{let n=W(G,{sx:{display:`flex`,alignItems:`center`,gap:`8px`,mb:`4px`,"&:last-child":{mb:0}},children:[U(fo,{status:e.status,newCllExperience:i}),U(J,{variant:`body2`,children:e.label})]},e.status);return t&&e.description?U(X,{title:e.description,placement:`right`,children:n},e.status):n}),e===`changeStatus`&&!i&&W(G,{sx:{mt:1,pt:1,borderTop:`1px solid`,borderColor:`divider`},children:[U(J,{variant:`caption`,sx:{display:`block`,fontWeight:600,mb:.5,color:`text.secondary`},children:`Change Categories`}),Va.map(({category:e,description:n})=>{let r=U(J,{variant:`body2`,sx:{fontWeight:600,mb:`2px`},children:Ba[e]},e);return t?U(X,{title:n,placement:`right`,children:r},e):r})]}),e===`changeStatus`&&i&&W(G,{sx:{mt:1,pt:1,borderTop:`1px solid`,borderColor:`divider`},children:[U(J,{variant:`caption`,sx:{display:`block`,fontWeight:600,mb:.5,color:`text.secondary`},children:`Badges`}),no(a).map(e=>W(G,{sx:{display:`flex`,alignItems:`center`,gap:`8px`,mb:`4px`,"&:last-child":{mb:0}},children:[U(Ka,{tokens:e.tokens,testId:`legend-treatment-${e.kind}`,ariaLabel:e.ariaLabel,children:e.text}),U(J,{variant:`body2`,children:e.tooltip})]},e.kind))]}),e===`transformation`&&s.map(e=>{let n=W(G,{sx:{display:`flex`,alignItems:`center`,gap:`8px`,mb:`4px`,"&:last-child":{mb:0}},children:[U(po,{type:e.type}),U(J,{variant:`body2`,children:e.label})]},e.type);return t&&e.description?U(X,{title:e.description,placement:`right`,children:n},e.type):n})]})}const ho=()=>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 go({name:e,color:t}){return U(G,{sx:{flex:1,color:t,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:U(`span`,{children:e})})}function _o({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:fe,backgroundColor:pe}=Ni({changeStatus:re,isImpacted:ce,newCllExperience:se},_),{icon:me}=ae===`model`&&oe?Fi(oe):Pi(ae),he=fe,j=_?N.neutral[800]:N.white,ge=_?N.white:N.black,M=_?N.black:N.white,_e=c?i===`selecting`?A?fe:j:i===`action_result`?ue?o||A||E?pe:fe:j:o||A||E?pe:j:o||A||E?fe:pe,ve=i===`selecting`?A?M:ge:i===`action_result`&&ue&&!A?M:ge,ye=i===`selecting`?A?M:ge:i===`action_result`&&ue&&!A?M:ge,be=i===`selecting`?A?M:fe:i===`action_result`?ue&&!A?M:ge:fe,xe=se?`none`:i===`action_result`?ue?`none`:fi:s||o||A||E?`none`:fi,Se=t=>{i!==`action_result`&&(t.stopPropagation(),w?.(e))},Ce=t=>{t.preventDefault(),t.stopPropagation(),T?.(t,e)},we={newCllExperience:se,isWholeModelChanged:b,isWholeModelImpacted:x,isImpacted:ce,changeCategory:d},Te=$a(we,_),Ee=ao({name:ne,resourceType:ae,materialized:oe},we),P=u&&d&&(!se||d===`unknown`)?Ua(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:xe},children:[U(on,{isVisible:E,position:sn.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:Ce,sx:{cursor:`pointer`,color:`text.secondary`,"&:hover":{color:`text.primary`}},children:U(ho,{})})})}),W(G,{sx:{display:`flex`,borderColor:he,borderWidth:`2px`,borderStyle:`solid`,borderTopLeftRadius:8,borderTopRightRadius:8,borderBottomLeftRadius:le?0:8,borderBottomRightRadius:le?0:8,backgroundColor:_e,height:60},children:[U(G,{sx:{display:`flex`,bgcolor:fe,padding:r?`8px`:`2px`,borderRightWidth:`2px`,borderRightStyle:`solid`,borderColor:i===`selecting`?`#00000020`:he,alignItems:`top`,visibility:c?`inherit`:`hidden`},children:r&&U(un,{checked:i===`selecting`&&A||i===`action_result`&&!!ue,onClick:Se,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(X,{title:Ee,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(go,{name:ne,color:ve}),Te&&U(Ka,{tokens:Te.tokens,testId:Te.testId,ariaLabel:Te.ariaLabel,children:Te.text}),me&&U(G,{sx:{fontSize:16,color:ye},children:U(me,{"aria-hidden":`true`})}),re&&de&&U(G,{sx:{color:be},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(q,{direction:`row`,spacing:1,children:l?W(H,{children:[U(G,{sx:{flexGrow:1}}),l]}):P?U(J,{sx:{height:20,color:`text.secondary`,fontSize:`9pt`,margin:0,fontWeight:600},children:P}):i!==`action_result`&&f?f:null})})]})]}),le&&U(G,{sx:{p:`10px 10px`,borderColor:he,borderWidth:`2px`,borderStyle:`solid`,borderTopWidth:0,borderBottomLeftRadius:8,borderBottomRightRadius:8},children:U(G,{sx:{height:`${h*g}px`,overflow:`auto`}})}),p&&U(an,{type:`target`,position:sn.Left,isConnectable:!1}),m&&U(an,{type:`source`,position:sn.Right,isConnectable:!1})]})}const vo=I(_o);vo.displayName=`LineageNode`;const yo=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`}),bo={mr:.5,display:`flex`,alignItems:`center`},xo={table:`table`,view:`view`,incremental:`incremental`,ephemeral:`ephemeral`,materialized_view:`mat. view`,dynamic_table:`dyn. table`,streaming_table:`stream. table`};function So(e){return xo[e]??e}function Co({resourceType:e,materialized:t,"data-testid":n}){let r=P(),i=e===`model`&&t!=null,{icon:a}=i?Fi(t):Pi(e),o=i?So(t):e;return U(X,{arrow:!0,title:i?`Materialization strategy`:`Type of resource`,children:W(G,{component:`span`,sx:yo(r),"data-testid":n,children:[a&&U(G,{component:`span`,sx:bo,children:U(a,{"aria-hidden":`true`})}),o]})})}const wo=I(Co);wo.displayName=`NodeTag`;const To=()=>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 Eo({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(K,{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(X,{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(Y,{onClick:d,size:a,children:o||U(To,{})}),U(gn,{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(Y,{onClick:d,size:a,children:o||U(To,{})}),U(gn,{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 Do=I(Eo);Do.displayName=`CheckActions`;function Oo({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(En,{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 ko=I(Oo);ko.displayName=`CheckBreadcrumb`;function Ao(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 jo(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 Mo(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: ${On(t,{addSuffix:!0})}`}catch{return`Check may be outdated`}}const No={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 Po({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(un,{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(tn,{label:Ao(e.type),size:`small`,sx:{minWidth:32,height:24,fontSize:`0.7rem`,fontWeight:600,backgroundColor:`${jo(e.type)}20`,color:jo(e.type),"& .MuiChip-label":{px:1}}}),U(J,{variant:`body2`,sx:{flexGrow:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.name}),e.isOutdated&&U(X,{title:Mo(e.lastRunAt),children:U(tn,{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&&No[e.actorType]&&U(tn,{label:No[e.actorType].label,size:`small`,sx:{height:20,fontSize:`0.65rem`,fontWeight:500,backgroundColor:No[e.actorType].bg,color:No[e.actorType].color,flexShrink:0,"& .MuiChip-label":{px:.75}}}),e.isPreset&&U(tn,{label:`Preset`,size:`small`,variant:`outlined`,sx:{height:20,fontSize:`0.65rem`}}),i&&a?U(X,{title:a,children:U(`span`,{children:l})}):l]})}const Fo=I(Po);Fo.displayName=`CheckCard`;function Io({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(En,{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(q,{direction:`row`,spacing:1,sx:{mt:1},children:[U(K,{variant:`contained`,size:`small`,onClick:u,children:`Update`}),U(vt,{component:`button`,variant:`body2`,onClick:d,sx:{cursor:`pointer`},children:`Cancel`})]}),W(J,{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(J,{variant:`body2`,sx:{whiteSpace:`pre-wrap`,wordBreak:`break-word`},children:e}):U(J,{variant:`body2`,sx:{color:`text.secondary`,fontStyle:`italic`},children:n})})}const Lo=I(Io);Lo.displayName=`CheckDescription`;function Ro({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(J,{variant:`h6`,onClick:S,sx:{cursor:f?`default`:`pointer`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,"&:hover":{textDecoration:f?`none`:`underline`}},children:t}),W(J,{variant:`caption`,sx:{color:`text.secondary`},children:[n,` `,i&&`• Approved`]})]}),U(Do,{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(J,{variant:`subtitle2`,sx:{mb:1},children:`Description`}),U(Lo,{value:r,onChange:u,disabled:f})]}),a.length>0&&W(H,{children:[U(G,{sx:{borderBottom:1,borderColor:`divider`},children:U(An,{value:g,onChange:(e,t)=>_(t),children:a.map(e=>U(kn,{value:e.id,label:e.label},e.id))})}),U(G,{sx:{flexGrow:1,overflow:`auto`,p:2},children:T})]})]}),m&&W(H,{children:[U(At,{orientation:`vertical`,flexItem:!0}),U(G,{sx:{width:350,flexShrink:0,overflow:`auto`},children:m})]})]})]})}const zo=I(Ro);zo.displayName=`CheckDetail`;function Bo({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(q,{spacing:2,sx:{alignItems:`center`},children:[n&&U(G,{sx:{color:`text.secondary`,fontSize:48,mb:1},children:n}),U(J,{variant:`h6`,sx:{fontWeight:500,color:`text.primary`},children:e}),U(J,{variant:`body2`,sx:{color:`text.secondary`,maxWidth:400},children:t}),r&&i&&U(K,{variant:`contained`,onClick:i,disabled:a,sx:{mt:2},children:a?`Creating...`:r}),o&&U(J,{variant:`caption`,sx:{color:`text.secondary`,mt:1},children:o})]})})}const Vo=I(Bo);Vo.displayName=`CheckEmptyState`;function Ho({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(J,{sx:{color:`text.secondary`},children:`Loading checks...`})}):e.length===0?W(G,{className:s,children:[o&&U(J,{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(J,{sx:{color:`text.secondary`},children:`No checks`})})]}):W(G,{className:s,sx:{height:`100%`,overflow:`auto`},children:[o&&U(J,{variant:`subtitle2`,sx:{px:2,py:1,color:`text.secondary`},children:o}),U(jn,{disablePadding:!0,children:e.map(e=>U(Mn,{disablePadding:!0,children:U(Fo,{check:e,isSelected:t===e.id,onClick:n,onApprovalChange:r,disableApproval:i,disabledApprovalTooltip:a})},e.id))})]})}const Uo=I(Ho);Uo.displayName=`CheckList`;function Wo(e){switch(e){case`sql`:return Fn({dialect:Pn});case`yaml`:return In();default:return null}}function Go({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=[zn.theme({"&":{fontSize:`${o}px`},".cm-content":{fontFamily:`'JetBrains Mono', 'Fira Code', monospace`},".cm-gutters":{fontFamily:`'JetBrains Mono', 'Fira Code', monospace`}})],t=Wo(n);return t&&e.push(t),a&&e.push(zn.lineWrapping),u.length>0&&e.push(Rn.highest(Bn.of(u))),e},[n,o,a,u]),f=z(()=>l===`dark`?Hn:Un,[l]);return U(Wn,{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 Ko({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),Nn.stringify({checks:[a]})}function qo({yamlTemplate:e,height:t=`300px`}){return U(Go,{value:e,language:`yaml`,readOnly:!0,lineNumbers:!1,wordWrap:!0,fontSize:14,theme:P()?`dark`:`light`,height:t})}const Jo=I(qo);Jo.displayName=`PresetCheckTemplateView`;const Yo={apiPrefix:``,authToken:void 0,baseUrl:void 0,apiClient:ne({baseURL:Xe??``})};function Xo(){return D()??Yo}function Zo({userId:e,enabled:t=!0}){let{apiClient:n}=Xo(),r=e?.toString(),{data:i,isLoading:a}=ot({queryKey:O.user(),queryFn:()=>Ye(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}=ot({queryKey:[`github-avatar`,r],queryFn:()=>r?Je(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 Qo({onSubmit:e,isSubmitting:t=!1,placeholder:n=`Add a comment...`,submitLabel:r=`Comment`,submittingLabel:i=`Submitting...`,className:a}){let o=P(),[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(En,{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(q,{direction:`row`,sx:{justifyContent:`flex-end`,mt:2},children:U(K,{size:`small`,color:`iochmara`,variant:`contained`,onClick:l,disabled:!s.trim()||t,children:t?i:r})})]})}const $o=I(Qo);$o.displayName=`CommentInput`;function es(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 ts({event:e}){let t=es(e),n={create:Jt,comment:It,approve:Rt,unapprove:zt,edit:Kt,preset:Pt},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 ns({actor:e}){let t=(e.fullname||e.login||`User`).charAt(0).toUpperCase();return U(Gn,{src:e.avatarUrl||void 0,sx:{width:24,height:24,fontSize:`0.75rem`},children:t})}function rs({event:e}){let{actor:t}=e,n=t.fullname||t.login||`Someone`,r=On(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(ts,{event:e})}),U(G,{sx:{flex:1},children:W(q,{direction:`row`,spacing:.5,sx:{flexWrap:`wrap`,alignItems:`center`},children:[U(ns,{actor:t}),U(J,{variant:`body2`,sx:{fontWeight:`500`},children:n}),U(J,{variant:`body2`,sx:{color:`text.secondary`},children:i}),U(J,{variant:`caption`,sx:{color:`text.disabled`},children:r})]})})]})}const is=I(rs);is.displayName=`StateChangeEvent`;function as({event:e,currentUserId:t,onEdit:n,onDelete:r,markdownRenderer:i}){let a=P(),[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=On(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(ts,{event:e})}),U(G,{sx:{display:`flex`,flex:1,alignItems:`center`},children:U(J,{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(ts,{event:e})}),W(G,{sx:{flex:1},children:[W(q,{direction:`row`,spacing:.5,sx:{flexWrap:`wrap`,alignItems:`center`,mb:.5},children:[U(ns,{actor:_}),W(J,{variant:`body2`,sx:{fontWeight:`500`},children:[v,b&&W(J,{component:`span`,variant:`body2`,sx:{color:`text.secondary`},children:[` `,`(Author)`]})]}),U(J,{variant:`caption`,sx:{color:`text.disabled`},children:y}),e.is_edited&&U(J,{variant:`caption`,sx:{color:`text.disabled`},children:`(edited)`})]}),o?W(G,{children:[U(En,{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(q,{direction:`row`,spacing:1,sx:{justifyContent:`flex-end`,mt:1},children:[U(K,{size:`small`,variant:`text`,onClick:S,disabled:u,children:`Cancel`}),U(K,{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(J,{variant:`body2`,sx:{whiteSpace:`pre-wrap`},children:e.content}),b&&(n||r)&&W(q,{className:`comment-actions`,direction:`row`,spacing:0,sx:{position:`absolute`,top:4,right:4,opacity:0,transition:`opacity 0.2s`},children:[n&&U(X,{title:`Edit comment`,children:U(Y,{"aria-label":`Edit comment`,size:`small`,onClick:x,children:U(qt,{})})}),r&&W(H,{children:[U(X,{title:`Delete comment`,children:U(Y,{"aria-label":`Delete comment`,size:`small`,color:`error`,onClick:T,children:U(Qt,{})})}),U(Kn,{open:g,anchorEl:m,onClose:E,anchorOrigin:{vertical:`bottom`,horizontal:`center`},transformOrigin:{vertical:`top`,horizontal:`center`},children:W(G,{sx:{p:2},children:[U(J,{variant:`body2`,sx:{mb:2},children:`Delete this comment?`}),W(q,{direction:`row`,spacing:1,sx:{justifyContent:`flex-end`},children:[U(K,{size:`small`,variant:`text`,onClick:E,disabled:f,children:`Cancel`}),U(K,{size:`small`,variant:`contained`,color:`error`,onClick:ee,disabled:f,children:f?`Deleting...`:`Delete`})]})]})})]})]})]})]})]})}const os=I(as);os.displayName=`CommentEvent`;function ss({event:e,currentUserId:t,onEdit:n,onDelete:r,markdownRenderer:i,className:a}){return e.event_type===`comment`?U(G,{className:a,children:U(os,{event:e,currentUserId:t,onEdit:n,onDelete:r,markdownRenderer:i})}):U(G,{className:a,children:U(is,{event:e})})}const cs=I(ss);cs.displayName=`TimelineEvent`;function ls({name:e,isChecked:t}){return`${t?`✅ `:``}${e}`}function us({description:e,fallback:t=`_(no description)_`}){return(e??``)||t}function ds({type:e,hasResult:t,hasError:n}){return e===`schema_diff`||e===`lineage_diff`?!1:!t||n}function fs({sql:e,label:t=`SQL`}){return`**${t}**
|
|
3
|
-
\`\`\`sql
|
|
4
|
-
${e}
|
|
5
|
-
\`\`\``}const ps=`recce:canceledRuns`,ms=`recce:canceledRuns:changed`;function hs(){if(typeof window>`u`)return[];try{let e=window.localStorage.getItem(ps);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function gs(e){if(!(typeof window>`u`))try{window.localStorage.setItem(ps,JSON.stringify(e))}catch{}}function _s(){let[e,t]=V(()=>hs());return R(()=>{if(typeof window>`u`)return;let e=e=>{if(e.key===ps){if(e.newValue==null){t(hs());return}try{let n=JSON.parse(e.newValue);if(!Array.isArray(n)){t([]);return}t(n.filter(e=>typeof e==`string`))}catch{t(hs())}}},n=()=>t(hs());return window.addEventListener(`storage`,e),window.addEventListener(ms,n),()=>{window.removeEventListener(`storage`,e),window.removeEventListener(ms,n)}},[]),{has:L(t=>e.includes(t),[e]),add:L(e=>{let n=hs();if(n.includes(e)){t(n);return}let r=[...n,e],i=r.length>200?r.slice(r.length-200):r;if(gs(i),t(i),typeof window<`u`)try{window.dispatchEvent(new Event(ms))}catch{}},[])}}function vs(e){return e.status?e.status:e.result?`Finished`:e.error?`Failed`:`Finished`}function ys(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 bs({status:e,showSpinner:t=!0,size:n=`small`,className:r}){let{color:i,label:a}=ys(e);return W(G,{className:r,sx:{display:`inline-flex`,alignItems:`center`,gap:.5},children:[e===`Running`&&t&&U(jt,{size:n===`small`?12:16,color:`primary`}),U(J,{component:`span`,sx:{fontWeight:500,fontSize:n===`small`?`0.75rem`:`0.875rem`,color:`${i}.500`},children:a})]})}const xs=I(bs);xs.displayName=`RunStatusBadge`;function Ss(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 Cs(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 ws({status:e,runAt:t,className:n}){let r=t?Cs(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(xs,{status:e,size:`small`}),r&&W(H,{children:[U(J,{component:`span`,sx:{fontSize:`inherit`},children:`•`}),U(J,{component:`span`,sx:{fontSize:`inherit`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:r})]})]})}const Ts=I(ws);Ts.displayName=`RunStatusWithDate`;function Es({run:e,className:t}){let n=vs(e);return U(Ts,{status:n,runAt:e.run_at,className:t})}const Ds=I(Es);Ds.displayName=`RunStatusAndDate`;function Os({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=P(),f=_s().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(J,{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(X,{title:`Go to Check`,children:U(Y,{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(X,{title:l?`You don't have permission to add checks`:`Add to Checklist`,children:U(`span`,{children:U(Y,{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(Ts,{status:f,runAt:e.runAt})]})}const ks=I(Os);ks.displayName=`RunListItem`;const As=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 js({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(q,{direction:`row`,sx:{alignItems:`center`,flex:`0 0 auto`,px:2,py:1.5,borderBottom:1,borderColor:`divider`},children:[U(J,{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?Ss(new Date(e.runAt)):null,u=p&&l&&n!==l;return n=l,W(G,{children:[u&&U(As,{date:l}),U(ks,{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 Ms=I(js);Ms.displayName=`RunList`;function Ns({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(jt,{size:40,color:`primary`}),i===`circular`&&U(jt,{size:60,variant:u?`determinate`:`indeterminate`,value:t,color:`primary`})]}),c&&i===`linear`&&W(G,{sx:{width:`100%`,maxWidth:300},children:[U(qn,{variant:u?`determinate`:`indeterminate`,value:t,sx:{height:8,borderRadius:4}}),u&&W(J,{variant:`caption`,sx:{color:`text.secondary`,mt:.5,display:`block`},children:[Math.round(t),`%`]})]}),a&&U(xs,{status:e,size:`medium`}),n&&!l&&U(J,{variant:`body2`,sx:{color:`text.secondary`},children:n}),l&&r&&U(G,{sx:{p:2,bgcolor:`error.light`,borderRadius:1,maxWidth:400},children:U(J,{variant:`body2`,sx:{color:`error.contrastText`},children:r})})]})}const Ps=I(Ns);Ps.displayName=`RunProgress`;function Fs({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(Ps,{...n})}):null}const Is=I(Fs);Is.displayName=`RunProgressOverlay`;function Ls({warnings:e,children:t,className:n}){let r=P(),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?N.amber[900]:N.amber[100]:`inherit`,color:i?r?N.amber[200]:N.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($t,{color:r?N.amber[400]:N.amber[600],style:{verticalAlign:`middle`,marginRight:4}}),e]},e))}),U(G,{sx:{flex:1,minHeight:`32px`}}),t]})}const Rs=I(Ls);Rs.displayName=`RunToolbar`,Xn.register(Jn,$n,Qn,Yn,er,Zn,tr);function zs(e,t){let n=e[t],r=e[t+1];return`${ze(n)} - ${ze(r)}`}function Bs({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=M(p),h=j(p),g=t===`datetime`,_=z(()=>{let e=a.slice(0,-1).map((e,t)=>zs(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)=>zs(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}]){let t=zs(a,e);return`${f}\n${t}`},label({datasetIndex:e,dataIndex:t,dataset:r}){let i=(e===0?s.counts:o.counts)[t],a=n>0?Ve(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 ze(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(rr,{type:`bar`,options:v,data:_})})}const Vs=I(Bs);Vs.displayName=`HistogramChart`;function Hs({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(mn,{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(ir,{sx:{fontSize:`0.75rem`,fontWeight:600,mb:.25},children:t?`Paired distributions unavailable on ${t}`:`Paired distributions unavailable on this adapter`}),r]})}Dt.registerModules([Et]);function Us({emptyMessage:e}){return U(G,{sx:{display:`flex`,height:`35px`,alignItems:`center`,justifyContent:`center`,bgcolor:`grey.100`,textAlign:`center`,gridColumn:`1/-1`},children:U(J,{sx:{fontWeight:600},children:e??`No rows`})})}function Ws({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);pt(h,()=>({get api(){return _.current},get element(){return g.current}}),[]);let v=P(),y=z(()=>v?ge:he,[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;return t?.__rowKey===void 0?t?._index===void 0?t?.rowIndex===void 0?String(Math.random()):String(t.rowIndex):String(t._index):String(t.__rowKey)}),[o]),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-grid-scrolling-rows .ag-grid-pinned-left-cells .ag-cell":{backgroundColor:v?`#2d2d2d`:`#f5f5f5`}},children:U(ar,{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 Gs=ut(Ws);Xn.register(Yn,Jn,Qn,Zn,tr);function Ks(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 qs({count:e,total:t,color:n,theme:r=`light`,height:i=16}){let a=r===`dark`,o=M(a),s=j(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(nr,{data:l,options:u})})}const Js=I(qs);Js.displayName=`SingleBarChart`;function Ys({data:e,maxItems:t=10,theme:n=`light`,className:r}){let i=j(n===`dark`);return U(G,{className:r,sx:{width:`100%`},children:z(()=>Ks(e,t),[e,t]).map(t=>W(ct,{children:[W(G,{sx:{display:`flex`,alignItems:`center`,width:`100%`,"&:hover":{bgcolor:`action.hover`},px:1.5},children:[U(X,{title:t.label,placement:`top-start`,children:U(J,{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(Js,{count:t.count,total:e.valids,color:i.current,theme:n})}),U(X,{title:String(t.count),placement:`top-start`,children:U(J,{sx:{ml:2.5,mr:1,fontSize:`0.875rem`,width:`4em`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:ze(t.count)})}),U(J,{sx:{color:`grey.400`,fontSize:`0.875rem`,width:`4em`},children:Ve(t.count/e.valids)})]}),U(At,{})]},t.label))})}const Xs=I(Ys);Xs.displayName=`TopKSummaryList`;function Zs({baseData:e,currentData:t,maxItems:n=10,showComparison:r=!1,theme:i=`light`,title:a,className:o}){let s=i===`dark`,c=j(s),l=M(s),u=z(()=>Ks(t,n),[t,n]),d=z(()=>e?Ks(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}: ${ze(r)} (${Ve(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=M(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=ze(u),p=Ve(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(J,{variant:`subtitle1`,sx:{fontWeight:500,mb:1},children:a}),U(`div`,{style:{height:Math.max(y,50)},children:U(nr,{data:g,options:_,plugins:[v]})})]})}const Qs=I(Zs);Qs.displayName=`TopKBarChart`;function $s(e){switch(e){case`sql`:return Fn();case`yaml`:return In();default:return null}}function ec(e){return[zn.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 tc({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 or,d.current.destroy(),null);let o=[...ec(f)];i&&o.push(Vn());let s=$s(n);if(s&&o.push(s),r&&o.push(Ln.readOnly.of(!0)),c&&!r&&o.push(zn.updateListener.of(e=>{e.docChanged&&c(e.state.doc.toString())})),a){let n=new or({a:{doc:e,extensions:[...o]},b:{doc:t,extensions:[...o]},parent:u.current,orientation:`a-b`,highlightChanges:!0,gutter:!0,collapseUnchanged:{margin:3,minSize:4}});d.current=n}else{let n=[...o,sr({original:e,highlightChanges:!0,gutter:!0,mergeControls:!1,collapseUnchanged:{margin:3,minSize:4}})],r=new zn({state:Ln.create({doc:t,extensions:n}),parent:u.current});d.current=r}return()=>{d.current&&=(d.current instanceof or,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 nc=I(tc);nc.displayName=`DiffEditor`;function rc({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(J,{variant:`h6`,sx:{fontWeight:500,color:d?`grey.300`:`grey.700`,mb:+!!t},children:e}),t&&U(J,{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(K,{variant:`contained`,onClick:i,size:`small`,children:r}),a&&o&&U(K,{variant:`outlined`,onClick:o,size:`small`,children:a})]}),u&&U(G,{sx:{mt:3},children:u})]})}const ic=I(rc);ic.displayName=`EmptyState`;function ac(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 oc({isOpen:e,url:t,onConfirm:n,onCancel:r}){let i=B(null);return W(mt,{open:e,onClose:r,maxWidth:`sm`,fullWidth:!0,"aria-labelledby":`external-link-dialog-title`,children:[W(_t,{id:`external-link-dialog-title`,sx:{display:`flex`,alignItems:`center`,gap:1},children:[U(G,{component:$t,sx:{color:`amber.500`,fontSize:20}}),`External Link`]}),U(Y,{"aria-label":`close`,onClick:r,sx:{position:`absolute`,right:8,top:8,color:`grey.500`},children:U(kt,{})}),W(gt,{children:[U(J,{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:ac(t,100)})})]}),W(ht,{sx:{gap:1},children:[U(K,{ref:i,variant:`outlined`,onClick:r,children:`Cancel`}),U(K,{color:`iochmara`,variant:`contained`,onClick:n,children:`Open Link`})]})]})}function sc(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 cc({href:e,children:t,internalDomains:n}){let[r,i]=V(!1),[a,o]=V(null),s=t=>{e&&sc(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?sc(e,n):!1;return W(H,{children:[W(vt,{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(oc,{isOpen:r,url:a||``,onConfirm:c,onCancel:l})]})}function lc({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(lr,{style:ur,language:i,PreTag:`div`,customStyle:{margin:0,borderRadius:`6px`,fontSize:`0.85em`},children:a})})}function uc({content:e,fontSize:t=`0.875rem`,internalDomains:n=[]}){let r=P(),i=[window.location.hostname,`reccehq.com`,`datarecce.io`,`localhost`,...n];return U(G,{className:`markdown-content`,children:U(cr,{remarkPlugins:[dr],components:{a:({href:e,children:t})=>U(cc,{href:e,internalDomains:i,children:t}),code:e=>U(lc,{...e,isDark:r}),p:({children:e})=>U(J,{component:`p`,sx:{fontSize:t,mb:2,"&:last-child":{mb:0}},children:e}),h1:({children:e})=>U(J,{sx:{fontSize:`1.25rem`,fontWeight:`bold`,mb:2,mt:3},children:e}),h2:({children:e})=>U(J,{sx:{fontSize:`1.125rem`,fontWeight:`bold`,mb:2,mt:3},children:e}),h3:({children:e})=>U(J,{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(J,{component:`strong`,sx:{fontWeight:600},children:e}),em:({children:e})=>U(J,{component:`em`,sx:{fontStyle:`italic`},children:e}),del:({children:e})=>U(J,{component:`del`,sx:{textDecoration:`line-through`,color:`grey.500`},children:e})},children:e})})}const dc=ut(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})})});function fc({children:e,direction:t=`horizontal`,sizes:n,minSizes:r=0,maxSizes:i,gutterSize:a=5,snapOffset:o=30,dragInterval:s=1,onDragEnd:c,onDrag:l,theme:u,style:d,className:f}){let p=P(),m=u?u===`dark`:p,h={display:`flex`,flexDirection:t===`horizontal`?`row`:`column`,height:`100%`,width:`100%`,...d};return U(G,{className:f,sx:{height:`100%`,width:`100%`,"& .gutter":{backgroundColor:`divider`,backgroundRepeat:`no-repeat`,backgroundPosition:`50%`,transition:`background-color 0.15s ease`,"&:hover":{backgroundColor:m?`grey.600`:`grey.300`}},"& .gutter.gutter-horizontal":{cursor:`col-resize`},"& .gutter.gutter-vertical":{cursor:`row-resize`}},children:U(fr,{style:h,direction:t,sizes:n,minSize:r,maxSize:i,gutterSize:a,snapOffset:o,dragInterval:s,onDragEnd:c,onDrag:l,children:e})})}const pc=I(fc);pc.displayName=`SplitPane`;function mc(e){let{style:t,children:n,gutterSize:r=5,minSize:i,maxSize:a,sizes:o,snapOffset:s,dragInterval:c,onDragEnd:l,onDrag:u,className:d}=e;return U(pc,{direction:`horizontal`,gutterSize:r,minSizes:i,maxSizes:a,sizes:o,snapOffset:typeof s==`number`?s:void 0,dragInterval:c,onDragEnd:l,onDrag:u,style:t,className:d,children:n})}function hc(e){let{style:t,children:n,gutterSize:r=5,minSize:i,maxSize:a,sizes:o,snapOffset:s,dragInterval:c,onDragEnd:l,onDrag:u,className:d}=e;return U(pc,{direction:`vertical`,gutterSize:r,minSizes:i,maxSizes:a,sizes:o,snapOffset:typeof s==`number`?s:void 0,dragInterval:c,onDragEnd:l,onDrag:u,style:t,className:d,children:n})}const gc={mode:`multiRow`,checkboxes:!0,headerCheckbox:!0,enableClickSelection:!1};function _c({warning:e,isDark:t}){return W(G,{sx:{display:`flex`,alignItems:`center`,gap:.5,fontSize:`0.75rem`},children:[U($t,{color:t?pr[400]:pr[600]}),U(G,{children:e})]})}function vc({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(_c,{warning:e,isDark:r},e)):t?.map(e=>U(mn,{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=P();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(vc,{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(vc,{toolbar:p.toolbar,warnings:p.warnings,warningStyle:p.warningStyle,isDark:f}),U(Gs,{ref:d,style:{blockSize:`auto`,maxHeight:`100%`,overflow:`auto`,fontSize:`0.875rem`,borderWidth:1},columns:p.columns??[],rows:p.rows??[],renderers:{noRowsFallback:U(Us,{emptyMessage:p.noRowsMessage})},defaultColumnOptions:p.defaultColumnOptions,rowSelection:c?gc:void 0}),p.footer]}):W(G,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:[p.header,U(vc,{toolbar:p.toolbar,warnings:p.warnings,warningStyle:p.warningStyle,isDark:f}),U(dc,{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,ut(l)}const yc=`0.1.0`;function bc(e){return u(e)}const xc=$({displayName:`HistogramDiffResultView`,typeGuard:bc,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(Vs,{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 Sc(e,t){if(e.baseIndex===void 0&&e.currentIndex!==void 0)return`added`;if(e.baseIndex!==void 0&&e.currentIndex===void 0)return`removed`;let n=e.baseType!==e.currentType,r=e.definitionChanged===!0||e.reordered===!0;return n&&!r&&t&&e.changeUnknown!==!0?`impacted`:n||r?`changed`:e.changeUnknown===!0?`unknown`:t?`impacted`:`unchanged`}function Cc({model:e,row:t,singleEnv:n,cllRunning:r,showMenu:i=!0,onViewCode:a,isImpacted:o}){let s=ue(),{isActionAvailable:c}=me(),{runAction:l}=de(),{featureToggles:u}=ae(),{name:d,baseType:f,currentType:p,baseIndex:m,currentIndex:h,definitionChanged:g}=t,_=p??f??t.type,v=(m!==void 0||h===void 0)&&(m===void 0||h!==void 0)&&f!==p,y=n?`unchanged`:Sc(t,o),b=y===`added`?`added`:y===`removed`?`removed`:y===`unknown`?`definition_unknown`:(y===`changed`||y===`impacted`)&&v?`type_changed`:y===`changed`&&g?`definition_changed`:`unchanged`,[x,S]=V(null),C=!!x,w=e=>{e.stopPropagation(),S(e.currentTarget)},T=()=>{S(null)},E=()=>{l(`profile_diff`,{model:e.name,columns:[d]},{showForm:!1,trackProps:{action:`profile_diff`,source:`schema_column_menu`,node_count:1}})},ee=()=>{l(`histogram_diff`,{model:e.name,column_name:d,column_type:_},{showForm:!1,trackProps:{action:`histogram_diff`,source:`schema_column_menu`,node_count:1}})},D=()=>{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}})},O=()=>{l(`value_diff`,{model:e.name,columns:[d]},{showForm:!0,trackProps:{action:`value_diff`,source:`schema_column_menu`,node_count:1}})},k=!f||!p;return U(X,{title:oi({name:d,status:b,baseType:f,currentType:p,cllAvailable:!(s===void 0||!c(`change_analysis`)||m!==void 0&&h===void 0),impacted:y===`impacted`}),placement:`top`,children:W(G,{sx:{display:`flex`,alignItems:`center`,gap:`3px`},children:[y===`changed`&&(g?U(X,{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:`~`})}):U(`span`,{className:`schema-change-badge schema-change-badge-changed`,children:`~`})),y===`added`&&U(`span`,{className:`schema-change-badge schema-change-badge-added`,children:`+`}),y===`removed`&&U(`span`,{className:`schema-change-badge schema-change-badge-removed`,children:`-`}),y===`impacted`&&U(`span`,{className:`schema-change-badge schema-change-badge-impacted`,children:`!`}),y===`unknown`&&U(X,{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}),v?W(G,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`,gap:`0.125rem`,ml:`0.25rem`,fontSize:`1.6rem`,lineHeight:1},children:[f&&U(G,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`,textDecoration:`line-through`,opacity:.6},children:U(ci,{type:f,disableTooltip:!0})}),U(G,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`,fontSize:`0.7em`,opacity:.5},children:`→`}),p&&U(G,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`},children:U(ci,{type:p,disableTooltip:!0})})]}):_&&U(G,{component:`span`,sx:{ml:`0.25rem`,fontSize:`1.6rem`},children:U(ci,{type:_,disableTooltip:!0})}),U(G,{sx:{flex:1}}),r&&U(jt,{size:12,color:`inherit`}),i&&!n&&e.resource_type!==`source`&&W(H,{children:[U(Y,{"aria-label":`Column options`,className:`row-context-menu`,size:`small`,disabled:u.disableDatabaseQuery,onClick:w,children:U(yn,{})}),W(gn,{anchorEl:x,open:C,onClose:T,slotProps:{list:{sx:{lineHeight:`20px`}}},children:[U(xn,{sx:{m:0,p:`4px 12px`,lineHeight:`20px`},children:`Diff`}),U(Z,{onClick:()=>{E(),T()},disabled:k,sx:{fontSize:`0.85rem`},children:`Profile Diff`}),U(Z,{onClick:()=>{ee(),T()},disabled:k||!_||!Ra(_),sx:{fontSize:`0.85rem`},children:`Histogram Diff`}),U(Z,{onClick:()=>{D(),T()},disabled:k,sx:{fontSize:`0.85rem`},children:`Top-k Diff`}),U(Z,{onClick:()=>{O(),T()},disabled:k,sx:{fontSize:`0.85rem`},children:`Value Diff`})]})]})]})})}function wc(e,t,n,r){return i=>{let a=i.data;return a?U(Cc,{model:e,row:a,cllRunning:t?.get(a.name)??!1,showMenu:n,onViewCode:r,isImpacted:a.isImpacted}):null}}function Tc(e,t,n){return r=>{let i=r.data;return i?U(Cc,{model:e,row:i,cllRunning:t?.get(i.name)??!1,singleEnv:!0,showMenu:n}):null}}function Ec(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(Pa,{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 Dc(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 Oc(e={},t={}){let n={},r=je(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 kc(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:Dc,cellClass:`schema-column schema-column-index`},{field:`name`,headerName:`Name`,resizable:!0,flex:1,minWidth:180,cellRenderer:n?wc(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:Ec(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)Se(c,e.name,s)&&(e.isImpacted=!0);return{columns:u,rows:d}}function Ac(e={},t={}){let{node:n,cllRunningMap:r,showMenu:i}=t,a=Object.entries(e).filter(([e,t])=>t!=null).map(([e,t],n)=>({name:e,index:n+1,type:t.type,__status:void 0}));return{columns:[{field:`index`,headerName:``,resizable:!0,minWidth:35,width:35,cellClass:`schema-column schema-column-index`},{field:`name`,headerName:`Name`,resizable:!0,flex:1,minWidth:180,cellRenderer:n?Tc(n,r,i):void 0,cellClass:`schema-column`}],rows:a}}function jc({columnName:e,primaryKeys:t}){return U(G,{sx:{display:`flex`,justifyContent:`center`,alignItems:`center`,height:`100%`},children:t.includes(e)&&U(bn,{})})}function Mc({params:e,column:t}){let{runAction:n}=de(),{featureToggles:r}=ae(),[i,a]=V(null),o=!!i,s=e=>{a(e.currentTarget)},c=()=>{a(null)},l=(t,r)=>{let i={...e,...t};n(`value_diff_detail`,i,r)};return W(G,{sx:{display:`flex`},children:[U(G,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t}),U(G,{sx:{flex:1}}),U(Y,{"aria-label":`Column options`,className:`row-context-menu`,size:`small`,disabled:r.disableDatabaseQuery,onClick:s,children:U(Ht,{})}),W(gn,{anchorEl:i,open:o,onClose:c,slotProps:{list:{sx:{lineHeight:`20px`}}},children:[U(xn,{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 Nc({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 Pc(e){return t=>{let n=t.data;return n?U(jc,{columnName:String(n[0]),primaryKeys:e}):null}}function Fc(e){return t=>{let n=t.data,r=t.colDef?.field??``;return n?U(Mc,{column:String(n[r]),params:e}):null}}function Ic(e){let t=e.data,n=e.colDef?.field??``;return t?U(Nc,{value:t[n]}):null}const Lc=[{key:`0`,name:`Column`,type:`text`},{key:`1`,name:`Matched`,type:`number`},{key:`2`,name:`Matched %`,type:`number`}];function Rc(e){let t=e.data;if(!t)return;let n=t[2];return n!=null&&n<1?`diff-cell-modified`:void 0}function zc(e,t){let n=e==null,r=t==null;return n&&r?0:n?1:r?-1:e-t}const Bc={PRIMARY_KEY_INDICATOR:`__is_pk__`,COLUMN_NAME:`0`,MATCHED_COUNT:`1`,MATCHED_PERCENT:`2`};function Vc(e,t){return[{field:Bc.PRIMARY_KEY_INDICATOR,headerName:``,width:30,maxWidth:30,sortable:!1,cellRenderer:Pc(e)},{field:Bc.COLUMN_NAME,headerName:`Column`,resizable:!0,cellRenderer:Fc(t),cellClass:`cell-show-context-menu`},{field:Bc.MATCHED_COUNT,headerName:`Matched`,resizable:!0,cellClass:Rc},{field:Bc.MATCHED_PERCENT,headerName:`Matched %`,resizable:!0,sort:`asc`,comparator:zc,cellRenderer:Ic,cellClass:Rc}]}function Hc(e,t){let{params:n}=t,r=Array.isArray(n.primary_key)?n.primary_key:[n.primary_key],i={...e.data,columns:Lc};return{columns:Vc(r,n),rows:He(i)}}function Uc(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 Wc(e){let t=e.data;if(!t)return null;let n=e.colDef?.field??``,r=String(Le(t,n)??e.value??``),i=String(Le(t,`data_type`)??``)||void 0;return U(X,{title:oi({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(ci,{type:i,disableTooltip:!0})})]})})}function Gc(e){let t=e.data;if(!t)return null;let n=e.colDef?.field??``,r=String(Le(t,n)??e.value??``),i=Le(t,`base__data_type`),a=i==null?void 0:String(i),o=Le(t,`current__data_type`),s=o==null?void 0:String(o),c=a!=null&&s!=null&&a!==s,l=s??a;return U(X,{title:oi({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(ci,{type:a,disableTooltip:!0})}),U(G,{component:`span`,sx:{fontSize:`0.7em`,opacity:.5},children:`→`}),U(ci,{type:s,disableTooltip:!0})]}):l&&U(G,{component:`span`,sx:{fontSize:`1.6rem`},children:U(ci,{type:l,disableTooltip:!0})})]})})}function Kc(e){if(!e)return!1;let t=e.toLowerCase();return t===`data_type`||t===`base__data_type`||t===`current__data_type`}function qc(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=>!Kc(e.field));return t.length===0?!1:(e.children=t,!0)}return!Kc(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:Wc}:e})};let n=e;return n.field?.toLowerCase()===`column_name`?{...n,cellRenderer:t?Gc:Wc}:e});return{...e,columns:n}}function Jc(e){return e.current?.columns.find(e=>e.name.toLowerCase()===`column_name`)?.name??`column_name`}function Yc(e,t={}){let n=Uc(e);if(!n)return null;switch(n.kind){case`query`:return De(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 qe(n.result.base,n.result.current,t);case`query_diff_joined`:return n.result.diff?Ge(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 Hc(n.result,{params:n.params});case`value_diff_detail`:return Ge(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=Jc(n.result);return qc(De(n.result.current,{primaryKeys:[e],pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,columnsRenderMode:t.columnsRenderMode,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged}))}case`profile_diff`:{let e=Jc(n.result);return qc(qe(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 Ae(n.result);case`row_count_diff`:return Ue(n.result);default:return null}}function Xc(e,t){switch(e.type){case`single`:return De(e.dataframe,t??{});case`dual`:return qe(e.base,e.current,t??{});case`joined`:return Ge(e.dataframe,e.primaryKeys,t??{});case`schema_diff`:{let n=t??{};return kc(Oc(e.base,e.current),n)}case`schema_single`:return Ac(e.columns,t??{})}}function Zc({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}=Ru(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(q,{spacing:5,sx:{m:`8px 24px`,pb:`200px`},children:[W(G,{children:[U(J,{variant:`body2`,sx:{mb:1},children:`Model`}),U(En,{fullWidth:!0,size:`small`,value:e.model,slotProps:{input:{readOnly:!0}}})]}),W(G,{children:[U(J,{variant:`body2`,sx:{mb:1},children:`Columns`}),U(dn,{control:U(un,{checked:r,onChange:n=>{i(n.target.checked),t({...e,columns:void 0})},size:`small`}),label:`All columns`,sx:{mb:`10px`}}),!r&&U(wr,{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(En,{...t,placeholder:(e.columns??[]).length===0?`Select columns`:``,className:`no-track-pii-safe`})})]})]})}const Qc=e=>typeof e==`object`&&!!e&&`type`in e&&S(e),$c=$({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=Yc(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}}}),el=$({displayName:`ProfileDiffResultView`,typeGuard:Qc,expectedRunType:`profile_diff`,screenshotWrapper:`grid`,transformData:(e,{viewOptions:t,onViewOptionsChanged:n})=>{let r=t?.pinned_columns??[],i=t?.display_mode??`inline`,a=Yc(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(Rs,{children:U(ua,{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 tl(e){return w(e)}const nl=$({displayName:`QueryDiffResultView`,typeGuard:tl,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=Ge(e.result.diff,t,{changedOnly:o,pinnedColumns:s,onPinnedColumnsChange:p,columnsRenderMode:l,onColumnsRenderModeChanged:d,baseTitle:i,currentTitle:a,displayMode:c})}else m=qe(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(ua,{displayMode:c,onDisplayModeChanged:e=>{n&&n({...t,display_mode:e})}}),U(ca,{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 rl(e){return p(e)||y(e)}const il=$({displayName:`QueryResultView`,typeGuard:rl,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=De(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(K,{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 al(e){return b(e)}function ol(e){return g(e)}function sl(e){if(!e.result)return null;let t=Ae(e.result);return{columns:t.columns,rows:t.rows,isEmpty:t.rows.length===0}}function cl(e){if(!e.result)return null;let t=Ue(e.result);return{columns:t.columns,rows:t.rows,isEmpty:t.rows.length===0}}const ll=$({displayName:`RowCountResultView`,typeGuard:al,expectedRunType:`row_count`,screenshotWrapper:`grid`,transformData:sl,emptyState:`No nodes matched`}),ul=$({displayName:`RowCountDiffResultView`,typeGuard:ol,expectedRunType:`row_count_diff`,screenshotWrapper:`grid`,transformData:cl,emptyState:`No nodes matched`});function dl({params:e,onParamsChanged:t,setIsReadyToExecute:n}){let{columns:r,isLoading:i,error:a}=Ru(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(Sn,{fullWidth:!0,children:[U(Cn,{sx:{mb:1},children:`Pick a column to show top-k`}),W(wn,{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 fl(e){return _(e)}function pl({model:e,columnName:t}){return W(J,{variant:`h5`,sx:{pt:4,textAlign:`center`,color:P()?`grey.200`:`grey.600`},children:[`Model `,e,`.`,t]})}function ml({showAll:e,onToggle:t}){return U(G,{sx:{display:`flex`,p:5,justifyContent:`start`},children:U(vt,{component:`button`,onClick:t,sx:{color:`iochmara.main`,cursor:`pointer`},children:e?`View Only Top-10`:`View More Items`})})}function hl(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(ml,{showAll:c,onToggle:()=>{n&&n({...t,show_all:!c})}}):void 0;return{content:W(H,{children:[U(pl,{model:a.model,columnName:a.column_name}),W(q,{direction:`row`,sx:{alignItems:`center`},children:[U(G,{sx:{flex:1}}),U(Qs,{baseData:o,currentData:s,showComparison:!0,maxItems:l?10:void 0,theme:r?`dark`:`light`}),U(G,{sx:{flex:1}})]})]}),footer:u}}const gl=$({displayName:`TopKDiffResultView`,typeGuard:fl,expectedRunType:`top_k_diff`,screenshotWrapper:`box`,emptyState:`No data`,transformData:hl});function _l(e){return T(e)}const vl=$({displayName:`ValueDiffDetailResultView`,typeGuard:_l,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=Ge(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(ua,{displayMode:a,onDisplayModeChanged:e=>{n&&n({...t,display_mode:e})}}),U(ca,{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 yl({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}=Ru(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(q,{spacing:5,sx:{m:`8px 24px`,pb:`200px`},children:[W(G,{children:[U(J,{variant:`body2`,sx:{mb:1},children:`Model`}),U(En,{fullWidth:!0,size:`small`,value:e.model,slotProps:{input:{readOnly:!0}}})]}),W(G,{children:[U(J,{variant:`body2`,sx:{mb:1},children:`Primary key`}),U(wr,{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(En,{...e,placeholder:(f??[]).length===0?`Select primary key`:``,className:`no-track-pii-safe`})})]}),W(G,{children:[U(J,{variant:`body2`,sx:{mb:1},children:`Columns`}),U(dn,{control:U(un,{checked:r,onChange:n=>{i(n.target.checked),t({...e,columns:void 0})},size:`small`}),label:`All columns`,sx:{mb:`10px`}}),!r&&U(wr,{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(En,{...t,placeholder:(e.columns??[]).length===0?`Select columns`:``,className:`no-track-pii-safe`})})]})]})}function bl(e){return ee(e)}function xl({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 Sl(e){if(!e.result||!e.params)return{renderNull:!0};let t=Hc(e.result,{params:e.params});return t?{columns:t.columns,rows:t.rows,isEmpty:!1,header:U(xl,{params:e.params,summary:e.result.summary})}:{renderNull:!0}}const Cl=$({displayName:`ValueDiffResultView`,typeGuard:bl,expectedRunType:`value_diff`,screenshotWrapper:`grid`,transformData:Sl}),wl={lineage_diff:{title:`Lineage Diff`,icon:yr},schema_diff:{title:`Schema Diff`,icon:_r},query:{title:`Query`,icon:Cr,RunResultView:il},query_base:{title:`Query Base`,icon:Cr,RunResultView:il},query_diff:{title:`Query Diff`,icon:Cr,RunResultView:nl},row_count:{title:`Row Count`,icon:gr,RunResultView:ll},row_count_diff:{title:`Row Count Diff`,icon:gr,RunResultView:ul},profile:{title:`Profile`,icon:Sr,RunResultView:$c,RunForm:Zc},profile_diff:{title:`Profile Diff`,icon:Sr,RunResultView:el,RunForm:Zc},value_diff:{title:`Value Diff`,icon:vr,RunResultView:Cl,RunForm:yl},value_diff_detail:{title:`Value Diff Detail`,icon:vr,RunResultView:vl,RunForm:yl},top_k_diff:{title:`Top-K Diff`,icon:yt,RunResultView:gl,RunForm:dl},histogram_diff:{title:`Histogram Diff`,icon:br,RunResultView:xc,RunForm:za},simple:{title:`Simple`,icon:xr}};function Tl(e){return wl[e]}const El=wl;function Dl(e){let t={...wl};for(let[n,r]of Object.entries(e))r&&n in t&&(t[n]={...t[n],...r});return t}function Ol(e){return t=>e[t]}function kl(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 Al(){let{closeHistory:t,showRunId:n,runId:r}=de(),{featureToggles:i}=ae(),{apiClient:o}=Xo(),s=hr(),c=st(),{basePath:l}=oe(),{data:u,isLoading:d}=ot({queryKey:O.runs(),queryFn:async()=>await e(o),retry:!1}),f=z(()=>(u??[]).map(kl),[u]),p=L(e=>{nt({name:`click_run`}),n(e,!1)},[n]),m=L(async e=>{nt({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=>{nt({name:`go_to_check`}),s.push(`${l}/checks/?id=${e}`)},[s.push,l]),g=L(()=>{nt({name:`hide`}),t()},[t]),_=L(e=>{let t=Tl(e)?.icon;return t?U(t,{}):null},[]),v=U(Y,{"aria-label":`Close History`,onClick:g,children:U(en,{})});return U(Ms,{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(Nt,{}),goToCheckIcon:U(Mt,{color:`green`})})}const jl=({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 Ml({isOpen:e,onClose:t,onExecute:n,type:r,title:i,params:a,RunForm:o,onCancel:s,onExecuteClick:c,documentationUrl:l,InfoIcon:u=jl}){let[d,f]=V(a??{}),[p,m]=V(null),[h,g]=V(!1),_=B(!1),v=()=>{_.current||s?.(),_.current=!1,t()};return W(mt,{open:e,onClose:v,maxWidth:`sm`,fullWidth:!0,scroll:`paper`,slotProps:{paper:{sx:{height:`75%`,minHeight:`400px`}}},children:[W(_t,{sx:{display:`flex`,alignItems:`center`},children:[i,` `,l&&W(H,{children:[U(Y,{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(Kn,{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(J,{sx:{fontSize:`0.875rem`},children:[`Click`,` `,U(vt,{href:l,target:`_blank`,sx:{textDecoration:`underline`,color:`white`,"&:hover":{color:`iochmara.300`}},children:`here`}),` `,`to learn more about the SQL behind`]})})]})]}),U(Y,{"aria-label":`close`,onClick:v,sx:{position:`absolute`,right:8,top:8,color:`grey.500`},children:U(kt,{})}),U(gt,{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(ht,{children:U(q,{direction:`row`,spacing:`10px`,children:U(K,{disabled:!h,color:`iochmara`,variant:`contained`,onClick:()=>{_.current=!0,c?.(),n(r,d)},children:`Execute`})})})]})}const Nl=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 Pl({isOpen:e,onClose:t,onExecute:n,type:r,title:i,params:a,initialRun:o,RunForm:s}){return U(Ml,{isOpen:e,onClose:t,onExecute:n,type:r,title:i,params:a,initialRun:o,RunForm:s,onCancel:()=>{$e(r)&&tt({action:r,event:Qe.CANCEL})},onExecuteClick:()=>{$e(r)&&tt({action:r,event:Qe.EXECUTE})},documentationUrl:Nl(r),InfoIcon:Gt})}const Fl=ut(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=P(),m=_s(),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(mn,{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(q,{spacing:1,sx:{alignItems:`center`},children:U(J,{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(q,{spacing:2,sx:{alignItems:`center`},children:[W(q,{direction:`row`,spacing:1,sx:{alignItems:`center`},children:[t==null?U(jt,{size:32}):W(G,{sx:{position:`relative`,display:`inline-flex`},children:[U(jt,{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(J,{variant:`caption`,component:`div`,sx:{fontSize:`0.6rem`},children:`${Math.round(t)}%`})})]}),U(J,{className:`no-track-pii-safe`,children:e})]}),U(K,{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(jt,{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]})})()})});Fl.displayName=`RunView`;const Il=I(({type:e,params:t})=>{let n=P();return U(Go,{value:Nn.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`})});Il.displayName=`ParamView`;function Ll(e,t){return t!=null&&t>0?`${e} (${be(t)})`:e}const Rl=I(({open:e,rowCount:t,onContinue:n,onCancel:r})=>W(mt,{open:e,onClose:r,children:[U(_t,{children:`Large Export Warning`}),U(gt,{children:W(Tr,{children:[`You are about to download `,U(`strong`,{children:be(t)}),`. This may take a while and produce a large file. Are you sure you want to continue?`]})}),W(ht,{children:[U(K,{onClick:r,children:`Cancel`}),U(K,{onClick:n,variant:`contained`,children:`Continue`})]})]}));Rl.displayName=`LargeExportWarningDialog`;const zl=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(K,{size:`small`,variant:`outlined`,color:`neutral`,onClick:h,endIcon:U(Ft,{}),sx:{textTransform:`none`},children:a}),W(gn,{anchorEl:o,open:c,onClose:g,children:[W(Z,{onClick:async()=>{await t(),g()},onMouseEnter:n,onMouseLeave:r,disabled:e,children:[U(Er,{children:U(Wt,{})}),U(Dr,{children:`Copy as Image`})]}),W(Z,{onClick:async()=>{await i?.copyAsTSV?.(),g()},disabled:e||!i?.canExportCSV,children:[U(Er,{children:U(Bt,{})}),U(Dr,{children:`Copy as Text`})]}),W(Z,{onClick:async()=>{await i?.copyAsCSV(),g()},disabled:e||!i?.canExportCSV,children:[U(Er,{children:U(Zt,{})}),U(Dr,{children:`Copy as CSV`})]}),i?.copySelectedRows&&W(Z,{onClick:async()=>{await i.copySelectedRows?.(),g()},disabled:e,children:[U(Er,{children:U(Xt,{})}),U(Dr,{children:`Copy Selected Rows`})]}),W(Z,{onClick:()=>_(()=>i?.downloadAsCSV()),disabled:e||!i?.canExportCSV,children:[U(Er,{children:U(Ut,{})}),U(Dr,{children:Ll(`Download as CSV`,i?.totalRowCount)})]}),W(Z,{onClick:()=>_(()=>i?.downloadAsTSV?.()),disabled:e||!i?.canExportCSV,children:[U(Er,{children:U(Ut,{})}),U(Dr,{children:Ll(`Download as TSV`,i?.totalRowCount)})]}),i?.downloadAsExcel&&W(Z,{onClick:()=>_(()=>i?.downloadAsExcel?.()),disabled:e||!i?.canExportCSV,children:[U(Er,{children:U(Ut,{})}),U(Dr,{children:Ll(`Download as Excel`,i?.totalRowCount)})]})]}),U(Rl,{open:l,rowCount:p,onContinue:()=>{u(!1),d?.(),f(null),g()},onCancel:()=>{u(!1),f(null)}})]})});zl.displayName=`DefaultExportMenu`;const Bl=I(({runId:e,run:t,disableUpdateChecklist:n,checklistPermissionDenied:r,hasError:i,onGoToCheck:a,onAddToChecklist:o})=>{let s=_s();if(e&&s.has(e))return null;let c=t?.check_id,l=!e||!t?.result||i;return n&&!r?null:c?U(K,{disabled:l,size:`small`,variant:`contained`,onClick:()=>a?.(c),startIcon:U(Lt,{}),sx:{textTransform:`none`},children:`Go to Check`}):U(X,{title:r?`You don't have permission to add checks`:``,children:U(`span`,{children:U(K,{disabled:l||r,size:`small`,variant:`contained`,onClick:o,startIcon:U(Lt,{}),sx:{textTransform:`none`},children:`Add to Checklist`})})})});Bl.displayName=`DefaultAddToCheckButton`;const Vl=I(({run:e})=>{let t=_s(),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?On(new Date(e.run_at),{addSuffix:!0}):`Unknown time`;return W(J,{variant:`body2`,sx:{color:`text.secondary`},children:[U(G,{component:`span`,sx:{fontWeight:600,color:r(n)},children:n}),`・`,i]})});Vl.displayName=`RunStatusAndDateDisplay`;function Hl({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=P(),D=_s(),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(An,{value:k,onChange:(e,t)=>te(t),children:[U(kn,{label:`Result`,value:`result`}),U(kn,{label:`Params`,value:`params`}),ie&&U(kn,{label:`Query`,value:`query`})]}),U(G,{sx:{flexGrow:1}}),W(q,{direction:`row`,spacing:1,sx:{alignItems:`center`,overflow:`hidden`,pr:1},children:[t&&U(Vl,{run:t}),U(K,{variant:`outlined`,color:`neutral`,disabled:!e||n||s,size:`small`,onClick:p,startIcon:U(Yt,{}),sx:{textTransform:`none`},children:`Rerun`}),U(zl,{run:t,disableExport:ae,onCopyAsImage:oe,onMouseEnter:h,onMouseLeave:g,csvExport:_,label:c?`Export`:`Share`}),U(Bl,{runId:e,run:t,disableUpdateChecklist:l,checklistPermissionDenied:u,hasError:!!r,onGoToCheck:y,onAddToChecklist:b}),U(Y,{size:`small`,onClick:d,children:U(kt,{})})]})]}),k===`result`&&(w||E)&&U(Fl,{ref:T,runId:e,isRunning:n,error:r,run:t,onCancel:f,viewOptions:i,onViewOptionsChanged:a,RunResultView:w,children:E}),k===`params`&&t&&U(Il,{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(Go,{value:ce.sql_template,language:`sql`,readOnly:!0,theme:`dark`,height:`100%`})})]})}const Ul=I(Hl);Ul.displayName=`RunResultPane`;function Wl(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:Te(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 Gl=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:Or,sx:{width:`20px`,height:`20px`,color:`primary.900`}}),e.children,U(G,{sx:{flexGrow:1}}),U(Y,{size:`small`,onClick:e.onClose,children:U(kt,{})})]}),Kl=()=>W(vt,{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(bt,{})]});function ql({value:e,onChange:t,onRun:n,onRunBase:r,onRunDiff:i,label:a,CustomEditor:o,options:s={},manifestData:c,schemas:l,...u}){let{featureToggles:d}=ae(),f=P(),p=e=>{t&&t(e)},m=``;c&&(m=c.generated_at?Re(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(q,{direction:`row`,sx:{bgcolor:Ct(f?N.neutral[600]:N.neutral[200],.7),height:`40px`,minHeight:`40px`,fontSize:`14px`,alignItems:`center`,m:0,p:`0px 16px`,flex:`0 0 40px`},children:[U(J,{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(K,{size:`xsmall`,variant:`outlined`,onClick:n??r,sx:{bgcolor:`background.paper`,p:`6px 12px`},disabled:d.disableDatabaseQuery,startIcon:U(kr,{}),children:`Run Query`})]}),o??U(Go,{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 Jl({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}=me(),h,g;p?.dbt?.base&&p.dbt.current&&(h=p.dbt.base,g=p.dbt.current);let[_,v]=Ie(m);return U(H,{children:W(q,{direction:`row`,sx:{height:`100%`,gap:0},children:[U(q,{sx:{height:`100%`,width:`50%`,gap:0,borderRight:`1px solid`,borderRightColor:`divider`},children:U(ql,{label:d,value:t??``,onChange:r,onRunBase:a,options:s,CustomEditor:l,manifestData:h??void 0,schemas:Array.from(_).join(`, `),...u})}),U(q,{sx:{height:`100%`,width:`50%`,gap:0},children:U(ql,{label:f,value:e,onChange:n,onRun:i,options:s,manifestData:g??void 0,schemas:Array.from(v).join(`, `),...u})})]})})}const Yl=({runType:e,onClose:t})=>{switch(e){case`row_count`:return U(Gl,{onClose:t,children:W(J,{children:[`Enable row count diffing, and other Recce features, by configuring a base dbt environment to compare against. `,U(Kl,{})]})});case`profile`:return U(Gl,{onClose:t,children:W(J,{children:[`Enable data-profile diffing, and other Recce features, by configuring a base dbt environment to compare against.`,` `,U(Kl,{})]})});default:return null}},Xl=({value:e,readOnly:t})=>U(ql,{value:e,options:{readOnly:t}}),Zl=({value:e,baseValue:t,readOnly:n})=>U(Jl,{value:e,baseValue:t,options:{readOnly:n}}),Ql=({runId:e,onClose:t,isSingleEnvironment:n})=>{let{featureToggles:r}=ae(),{runAction:i}=de(),{error:o,run:s,onCancel:c,isRunning:l}=zu(e),[u,f]=V(),p=st(),m=hr(),{apiClient:h}=Xo(),{basePath:g}=oe(),_;s&&d(s.type)&&(_=Tl(s.type).RunResultView);let{ref:v,onCopyToClipboard:y,onMouseEnter:b,onMouseLeave:x}=Ou(),S=Nu({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=Wl(e);if(!t){F.create({title:`No rows selected`,description:`Select rows with the checkboxes, then copy.`,type:`info`,duration:3e3});return}try{await Ce(t),F.create({title:`Copied to clipboard`,description:`Selected rows copied — paste into any spreadsheet`,type:`success`,duration:2e3}),et({type:s?.type??`unknown`,from:`run-selection`})}catch(e){console.error(`Failed to copy selected rows:`,e),F.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(),et({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){re(e)&&e.status===403?F.error({title:`Permission denied`,description:`You don't have permission to add checks. Contact your org admin for access.`}):F.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(Ul,{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:Yl,SqlEditorComponent:Xl,DualSqlEditorComponent:Zl,RunResultView:_,resultViewRef:v})},$l=({onClose:e,isSingleEnvironment:t})=>{let{runId:n}=de();return U(Ql,{runId:n,onClose:e,isSingleEnvironment:t})};function eu({error:e,resetError:t}){let{background:n,text:r}=Bu();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(J,{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(K,{sx:{justifySelf:`center`,alignSelf:`center`,mt:`20px`},color:`iochmara`,variant:`contained`,size:`small`,onClick:t,children:`Reset`})]})})}const tu=e=>U(eu,{error:e.error,resetError:e.resetError}),nu=({children:e,fallback:t=tu})=>U(Ar,{fallback:t,children:e}),ru=ut(function(e,t){return U(Fl,{...e,ErrorBoundary:nu,errorBoundaryFallback:it,ref:t})});ru.displayName=`RunViewOss`;const iu={mode:`per_node`,status:`pending`,completed:0,total:0,actions:{}},au=(e,t)=>{let{onActionStarted:n,onActionNodeUpdated:r,onActionCompleted:i,onTrackAction:a,trackingSource:o=`lineage_view_top_bar`}=t,c=k(),u=B({...iu}).current,d=_s(),{showRunId:f}=de(),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,iu)}}};function ou({connect:e,idleSeconds:t}){return W(H,{children:[U(_t,{children:`Server Disconnected`}),U(gt,{children:t!=null&&t>0?W(J,{children:[`The server has been idle for `,Be(t),` and was automatically stopped. Please restart the Recce server to continue.`]}):U(J,{children:`The server connection has been lost. Please restart the Recce server and try again.`})}),U(ht,{children:U(K,{color:`iochmara`,variant:`contained`,onClick:()=>{e()},children:`Retry`})})]})}function su({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(K,{color:`iochmara`,variant:`contained`,children:i.action});return W(H,{children:[U(_t,{children:i.title}),U(gt,{children:U(J,{children:i.body})}),U(ht,{children:t===`read only`?U(r||`a`,{href:i.link,children:a}):U(K,{color:`iochmara`,variant:`contained`,onClick:()=>window.open(i.link,`_blank`),children:i.action})})]})}function cu(e){let{apiClient:t}=Xo();return ot({queryKey:O.lineage(),queryFn:()=>E(t),...e})}function lu({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=st(),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??Xe,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(F.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(F.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 uu({children:e}){let{idleTimeout:t,remainingSeconds:n,isEnabled:r,setDisconnected:i,resetConnection:a}=se(),{apiClient:o,apiPrefix:s,baseUrl:l}=Xo(),u=cu(),d=ot({queryKey:O.runsAggregated(),queryFn:()=>c(o)}),f=z(()=>{let e=u.data?.lineage;if(e?.nodes)return fe(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}=lu({enabled:!0,baseUrl:l,apiPrefix:s});R(()=>{D===`disconnected`?i():D===`connected`&&a()},[D,i,a]);let{data:re,isLoading:ie}=le(),{featureToggles:oe,shareUrl:ce}=ae(),[A,ue]=V(!1),[de,me]=V(!1),he=st(),j=!ie&&ne===`relaunch`&&re?.single_env_onboarding===!0&&re.show_relaunch_hint;j!==de&&(me(j),ue(j)),R(()=>{j&&A&&rt({action:`target_base_added`})},[j,A]);let ge=()=>{ue(!1),te(o),he.invalidateQueries({queryKey:O.flag()})},M=L(()=>{d.refetch()},[d]),_e=L(()=>{d.refetch()},[d]);return W(H,{children:[U(pe,{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:_e,children:e}),U(mt,{open:D===`disconnected`,onClose:()=>void 0,children:ce&&oe.mode!==null?U(su,{shareUrl:ce,mode:oe.mode,supportCalendarUrl:Ze,LinkComponent:({href:e,children:t})=>U(Ot,{href:e,passHref:!0,children:t})}):U(ou,{connect:k,idleSeconds:r&&t!==null&&n!==null&&n<=5?t-Math.max(0,n):void 0})}),re?.single_env_onboarding&&W(mt,{open:A,onClose:ge,children:[U(_t,{children:`Target-base Added`}),U(Y,{"aria-label":`close`,onClick:ge,sx:{position:`absolute`,right:8,top:8,color:`grey.500`},children:U(kt,{})}),U(gt,{children:U(J,{children:`Please restart the Recce server.`})}),U(ht,{children:U(K,{color:`iochmara`,variant:`contained`,onClick:ge,children:`Got it!`})})]})]})}const du=`select * from {{ ref("mymodel") }}`;function fu({children:e}){let[t,n]=V(du),[r,i]=V(du),[a,o]=V(!1),[s,c]=V();return U(Lr,{sql:t,sqlQuery:t,setSqlQuery:n,primaryKeys:s,setPrimaryKeys:c,isCustomQueries:a,setCustomQueries:o,baseSqlQuery:r,setBaseSqlQuery:i,children:e})}const pu=e=>{},mu=e=>{},hu=e=>{},gu=e=>{};function _u(){let e=Rr();return{sqlQuery:e.sqlQuery??`select * from {{ ref("mymodel") }}`,setSqlQuery:e.setSqlQuery??pu,primaryKeys:e.primaryKeys,setPrimaryKeys:e.setPrimaryKeys??mu,isCustomQueries:e.isCustomQueries??!1,setCustomQueries:e.setCustomQueries??hu,baseSqlQuery:e.baseSqlQuery??`select * from {{ ref("mymodel") }}`,setBaseSqlQuery:e.setBaseSqlQuery??gu}}function vu(e){R(()=>{e()},[e,mr()])}function yu({children:e}){let{apiClient:t}=Xo(),[n,r]=V(),[i,a]=V(!1),o=L(()=>a(!0),[]),s=L(()=>a(!1),[]),c=hr(),l=mr(),u=st(),{basePath:d}=oe(),f=B(null);vu(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=Tl(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){F.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){F.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(ie,{onRunAction:h,onShowRunId:p,children:[U(bu,{showRunIdRef:f,children:e}),n&&U(Pl,{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 bu({children:e,showRunIdRef:t}){let{showRunId:n}=de();return R(()=>(t.current=n,()=>{t.current=null}),[n,t]),U(H,{children:e})}const xu=lt(void 0);function Su({children:e}){let[t,n]=V(),[r,i]=V(!1),[a,o]=V(),{apiClient:s}=Xo();return U(xu.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 Cu=()=>{let e=dt(xu);if(!e)throw Error(`useRecceShareStateContext must be used within a RecceShareStateContextProvider`);return e};function wu({children:e}){return U(ce,{children:U(Su,{children:U(fu,{children:U(uu,{children:U(yu,{children:U(zr,{children:e})})})})})})}const Tu=e=>`element`in e?e.element:e,Eu=`ignore-screenshot`;function Du({imageType:e=`png`,backgroundColor:t=null,boardEffect:n=!0,shadowEffect:r=!1,borderStyle:i=`solid 1px ${N.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}=ku(),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??N.neutral[100],e.style.height=`${String(e.offsetHeight)}px`;let o=c?e=>!c(e):void 0;u(`loading`);let s=await jr.toCanvas(e,{filter:o,filterMode:`remove`,backgroundColor:t??N.neutral[100]}),l=r?document.createElement(`canvas`):s;if(r){l.width=s.width+80,l.height=s.height+80;let e=l.getContext(`2d`);if(e)e.shadowColor=`rgba(0, 0, 0, 0.5)`,e.shadowBlur=20,e.shadowOffsetX=10,e.shadowOffsetY=10,e.drawImage(s,40,40);else throw console.error(`Error getting canvas context`),Error(`Error getting canvas context to add shadow effect`)}return await(await fetch(l.toDataURL())).blob()}catch(e){throw console.error(`Error converting to image`,e),e}finally{h.remove(),m()}};return{status:l,isLoading:l===`loading`,isErrored:l===`error`,isSuccess:l===`success`,copyToClipboard:async()=>{try{await navigator.clipboard.write([new ClipboardItem({[`image/${e}`]:h()})]),u(`success`),o&&o()}catch(e){if(e.message===`ClipboardItem is not defined`){let e=await h();p(e),f(),u(`success`)}else u(`error`),console.error(`Error copying to clipboard`,e),s&&s(e)}},ImageDownloadModal:m,ref:d}}function Ou(e){let{successToast:t,failToast:n}=We(),{isLoading:r,copyToClipboard:i,ImageDownloadModal:a,ref:o}=Du({imageType:`png`,shadowEffect:!0,backgroundColor:e?.backgroundColor??N.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(K,{size:`small`,sx:{position:`absolute`,bottom:16,right:16},disabled:r,onMouseEnter:s,onMouseLeave:c,onClick:l,startIcon:U(Vt,{}),...t,children:`Copy to Clipboard`}),U(a,{})]})}return{ref:o,CopyToClipboardButton:u,onMouseEnter:s,onMouseLeave:c,onCopyToClipboard:l}}function ku(){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(mt,{open:e,onClose:a,maxWidth:`sm`,fullWidth:!0,children:[U(_t,{children:`Screenshot Preview`}),U(Y,{"aria-label":`close`,onClick:a,sx:{position:`absolute`,right:8,top:8,color:`grey.500`},children:U(kt,{})}),W(gt,{children:[W(q,{sx:{px:`10px`,gap:`10px`},children:[W(q,{direction:`row`,spacing:`5px`,sx:{alignItems:`center`},children:[U(G,{component:Gt,sx:{color:`error.main`}}),U(J,{sx:{fontWeight:500,display:`inline`},children:`Copy to the Clipboard`}),` `,`is not supported in the current browser`]}),U(J,{children:`Please download it directly`})]}),U(G,{component:`img`,src:t,alt:`screenshot`,sx:{maxWidth:`100%`}})]}),W(ht,{children:[U(K,{sx:{mr:1.5},onClick:a,children:`Close`}),U(K,{color:`iochmara`,variant:`contained`,onClick:()=>{if(!n)return;let e=`recce-screenshot-${Dn(new Date,`yyyy-MM-dd-HH-mm-ss`)}.png`;ln(n,e),a()},children:`Download`})]})]})}return{onOpen:i,setImgBlob:r,ImageDownloadModal:o}}function Au(e,t={}){let{enabled:a=!0}=t,s=st(),{apiClient:c}=Xo(),{data:l,isLoading:u,error:d,refetch:f}=ot({queryKey:O.checkEvents(e),queryFn:()=>n(e,c),enabled:a,refetchInterval:1e4,refetchIntervalInBackground:!1}),p=at({mutationFn:t=>i(e,t,c),onSuccess:async()=>{await s.invalidateQueries({queryKey:O.checkEvents(e)})}}),m=at({mutationFn:({eventId:t,content:n})=>r(e,t,n,c),onSuccess:async()=>{await s.invalidateQueries({queryKey:O.checkEvents(e)})}}),h=at({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 ju={TOAST_ID:`lifetime-countdown`,WARNING_THRESHOLD:60,UPDATE_INTERVAL:1e3,MESSAGE:e=>`The server will be closed in ${e} seconds.`,STYLE:{fontFamily:`monospace`}};function Mu(e){let t=F,[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:ju.MESSAGE(e)})},[n,a,o]),c=L(()=>{if(!e)return;o();let n=a();n<=0||(r(t.create({id:ju.TOAST_ID,description:ju.MESSAGE(n)})),i.current=setInterval(s,ju.UPDATE_INTERVAL))},[e,a,s,o]),l=a();pn(c,e?Math.max(0,l-ju.WARNING_THRESHOLD)*1e3:null),R(()=>o,[o])}function Nu({run:e,runId:t,viewOptions:n}){let r=z(()=>!e?.type||!e?.result?!1:ve(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 Fe(e.type,e.result,t)},[e?.type,e?.result,e?.params,n]),o=L(()=>{let e=a();return e?ye(e.columns,e.rows):null},[a]),s=L(()=>{let e=a();return e?Te(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){F.create({title:`Export failed`,description:`Unable to extract data for CSV export`,type:`error`,duration:3e3});return}try{await Ce(e),F.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),F.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){F.create({title:`Export failed`,description:`Unable to extract data for CSV export`,type:`error`,duration:3e3});return}try{let t=Ke(e?.type??``,e?.params);we(n,t),F.create({title:`Downloaded`,description:t,type:`success`,duration:3e3})}catch(e){console.error(`Failed to download CSV file:`,e),F.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){F.create({title:`Export failed`,description:`Unable to extract data for export`,type:`error`,duration:3e3});return}try{await Ce(e),F.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),F.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){F.create({title:`Export failed`,description:`Unable to extract data for export`,type:`error`,duration:3e3});return}try{let t=Ke(e?.type??``,e?.params).replace(/\.csv$/,`.tsv`);xe(n,t),F.create({title:`Downloaded`,description:t,type:`success`,duration:3e3})}catch(e){console.error(`Failed to download TSV file:`,e),F.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){F.create({title:`Export failed`,description:`Unable to extract data for export`,type:`error`,duration:3e3});return}try{let t=await Pe(n.columns,n.rows),r=Ke(e?.type??``,e?.params).replace(/\.csv$/,`.xlsx`);Ee(t,r),F.create({title:`Downloaded`,description:r,type:`success`,duration:3e3})}catch(e){console.error(`Failed to download Excel file:`,e),F.create({title:`Download failed`,description:`Failed to download Excel file`,type:`error`,duration:3e3})}},[t,e,u,a,c]),downloadAsTSV:p}}function Pu({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(Y,{"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(Y,{"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(vt,{href:i,target:`_blank`,onClick:r,sx:{textDecoration:`underline`},children:[a,` `,U(bt,{})]})]})}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(F.create({id:t,duration:void 0,type:`success`,description:U(q,{direction:`row`,children:U(Pu,{description:n,onLike:()=>{r(`like`),F.dismiss(t),localStorage.setItem(t,`true`)},onDislike:()=>{r(`dislike`),F.dismiss(t),localStorage.setItem(t,`true`)},externalLink:i,externalLinkText:a,onClickLink:()=>{r(`link`)}})})})))}return{feedbackToast:c,closeToast:()=>{o&&F.dismiss(o)}}}function Iu(e){let[t,n]=V(void 0),{guideId:r,description:i,externalLinkText:a,onExternalLinkClick:o}=e;function s(){t??n(F.create({id:r,duration:3e3,type:`success`,description:i,action:{label:a??`link`,onClick:()=>{o&&o()}}}))}return{guideToast:s,closeGuideToast:()=>{t&&F.dismiss(t)}}}function Lu(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 Ru(e,n){let{lineageGraph:r}=me(),i=D(),a=n??i?.apiClient,o=_n.find(r?.nodes,{data:{name:e}}),s=!!a&&!!o?.id,{data:c,isLoading:l,error:u}=ot({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{columns:Lu(e?.base?.columns?Object.values(e.base.columns):[],e?.current?.columns?Object.values(e.current.columns):[]),primaryKey:e?.current?.primary_key??e?.base?.primary_key}},[c]);return{columns:d,primaryKey:f,isLoading:s?l:!1,error:u?u instanceof Error?u:Error(String(u)):null}}const zu=e=>{let{apiClient:t}=Xo(),n=st(),r=_s(),[i,a]=V(!!e),[,o]=A(),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}=ot({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=Tl(p.type).RunResultView),{run:p,isRunning:i,error:f,onCancel:h,RunResultView:g}};function Bu(){let e=wt(),t=Oe(),n=P(),[r,i]=V(!1);R(()=>{i(!0)},[]);let a=r?t?t.resolvedMode===`dark`:n:!1;return{isDark:a,theme:e,background:{default:a?N.neutral[900]:N.white,paper:a?N.neutral[800]:N.white,subtle:a?N.neutral[800]:N.neutral[50],emphasized:a?N.neutral[700]:N.neutral[100]},text:{primary:a?N.neutral[50]:N.neutral[900],secondary:a?N.neutral[400]:N.neutral[600],disabled:a?N.neutral[500]:N.neutral[400],inverted:a?N.neutral[900]:N.neutral[50]},border:{light:a?N.neutral[700]:N.neutral[200],default:a?N.neutral[600]:N.neutral[300],strong:a?N.neutral[500]:N.neutral[400]},status:{added:{bg:a?N.green[900]:N.green[100],text:a?N.neutral[50]:N.neutral[900]},removed:{bg:a?N.red[950]:N.red[200],text:a?N.neutral[50]:N.neutral[900]},modified:{bg:a?N.yellow[900]:N.amber[100],text:a?N.neutral[50]:N.neutral[900]}},interactive:{hover:a?N.neutral[700]:N.neutral[100],active:a?N.neutral[600]:N.neutral[200],focus:N.iochmara[500]}}}export{Xc as $,yo as $t,Gl as A,Gi as An,Ss as At,wl as B,Ur as Bn,Xo as Bt,au as C,gi as Cn,Ps as Ct,Jl as D,Q as Dn,Ds as Dt,$l as E,Li as En,ks as Et,Al as F,ui as Fn,fs as Ft,dl as G,Pr as Gn,Vo as Gt,yl as H,Vr as Hn,Ko as Ht,Ol as I,di as In,ds as It,il as J,No as Jt,ul as K,Fr as Kn,zo as Kt,Dl as L,li as Ln,cs as Lt,Fl as M,Pi as Mn,vs as Mt,Pl as N,Ni as Nn,us as Nt,ql as O,Ui as On,xs as Ot,Ml as P,fi as Pn,ls as Pt,Zc as Q,wo as Qt,El as R,ci as Rn,$o as Rt,cu as S,pi as Sn,Rs as St,nu as T,mi as Tn,Ms as Tt,vl as U,Lr as Un,Go as Ut,Cl as V,zr as Vn,Jo as Vt,gl as W,Rr as Wn,Uo as Wt,el as X,ko as Xt,nl as Y,Fo as Yt,$c as Z,Do as Zt,yu as _,ca as _n,Qs as _t,Iu as a,qa as an,xc as at,_u as b,$i as bn,Hs as bt,Mu as c,Wa as cn,mc as ct,Du as d,Pa as dn,dc as dt,bo as en,Oc as et,Ou as f,Sa as fn,uc as ft,Cu as g,la as gn,nc as gt,Su as h,ua as hn,ic as ht,Ru as i,Qa as in,Sc as it,Ul as j,ji as jn,Cs as jt,Kl as k,Wi as kn,Ts as kt,Au as l,za as ln,hc as lt,wu as m,da as mn,ac as mt,zu as n,mo as nn,Ac as nt,Fu as o,Ka as on,yc as ot,ku as p,va as pn,oc as pt,ll as q,Mr as qn,Lo as qt,Lu as r,ao as rn,Cc as rt,Nu as s,Ua as sn,$ as st,Bu as t,vo as tn,kc as tt,Eu as u,Ra as un,pc as ut,fu as v,sa as vn,Us as vt,ru as w,hi as wn,Is as wt,uu as x,aa as xn,Vs as xt,du as y,Qi as yn,Gs as yt,Tl as z,oi as zn,Zo as zt};
|
|
7
|
-
//# sourceMappingURL=hooks-DxCl_1oG.js.map
|