@datarecce/ui 1.40.1 → 1.40.2
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/AuthModal-CboQ6ZoC.js +7 -0
- package/dist/AuthModal-CboQ6ZoC.js.map +1 -0
- package/dist/advanced.js +1 -1
- package/dist/components-run.js +1 -1
- package/dist/components.js +1 -1
- package/dist/hooks.d.ts +1 -1
- package/dist/hooks.js +1 -1
- package/dist/{index-DVBYg7un.d.ts → index-BOLbDTy8.d.ts} +2 -2
- package/dist/{index-DVBYg7un.d.ts.map → index-BOLbDTy8.d.ts.map} +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/primitives.js +1 -1
- package/dist/result.js +1 -1
- package/dist/{src-Bupu_4Ew.js → src-DPMlORPa.js} +2 -2
- package/dist/{src-Bupu_4Ew.js.map → src-DPMlORPa.js.map} +1 -1
- package/package.json +1 -1
- package/dist/AuthModal-DfjL0GZU.js +0 -7
- package/dist/AuthModal-DfjL0GZU.js.map +0 -1
package/dist/advanced.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use client";import{T as e,_ as t,a as n,b as r,c as i,d as a,f as o,i as s,k as c,l,n as u,o as d,r as f,s as p,t as m,v as h,w as g}from"./utils-CjMo0oH2.js";import{n as _}from"./colors-BpyRE67g.js";import{Jt as v,n as y}from"./AuthModal-
|
|
2
|
+
"use client";import{T as e,_ as t,a as n,b as r,c as i,d as a,f as o,i as s,k as c,l,n as u,o as d,r as f,s as p,t as m,v as h,w as g}from"./utils-CjMo0oH2.js";import{n as _}from"./colors-BpyRE67g.js";import{Jt as v,n as y}from"./AuthModal-CboQ6ZoC.js";import{T as b,b as x,w as S}from"./src-DPMlORPa.js";const C=`0.2.0`;export{C as ADVANCED_API_VERSION,m as COLUMN_HEIGHT,v as LineageCanvas,x as NodeView,u as buildLineageGraph,_ as colors,f as getNeighborSet,s as intersect,a as isLineageGraphColumnNode,o as isLineageGraphNode,S as layout,n as layoutWithDagre,d as selectDownstream,p as selectUpstream,b as toReactFlow,i as toReactFlowBasic,l as union,r as useIdleTimeout,t as useLineageGraphContext,c as useRecceActionContext,g as useRecceInstanceContext,e as useRecceInstanceInfo,h as useRunsAggregated,y as useThemeColors};
|
|
3
3
|
//# sourceMappingURL=advanced.js.map
|
package/dist/components-run.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use client";import{At as e,B as t,Dt as n,E as r,Et as i,F as a,H as o,I as s,L as c,Mt as l,N as u,Nt as d,O as f,Ot as p,P as m,Pt as h,R as g,Tt as _,V as v,jt as y,kt as b,wt as x,z as S}from"./AuthModal-
|
|
2
|
+
"use client";import{At as e,B as t,Dt as n,E as r,Et as i,F as a,H as o,I as s,L as c,Mt as l,N as u,Nt as d,O as f,Ot as p,P as m,Pt as h,R as g,Tt as _,V as v,jt as y,kt as b,wt as x,z as S}from"./AuthModal-CboQ6ZoC.js";export{n as RunList,p as RunListItem,c as RunListOss,s as RunModal,a as RunModalOss,_ as RunProgress,i as RunProgressOverlay,u as RunResultPane,f as RunResultPaneOss,b as RunStatusAndDate,e as RunStatusBadge,y as RunStatusWithDate,x as RunToolbar,m as RunView,r as RunViewOss,g as createBoundFindByRunType,S as createRunTypeRegistry,t as defaultRunTypeConfig,v as findByRunType,l as formatRunDate,d as formatRunDateTime,h as inferRunStatus,o as registry};
|
package/dist/components.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use client";import{$ as e,$t as t,A as n,At as r,B as i,D as a,Dt as o,E as s,Et as c,G as l,J as u,Jt as d,K as f,L as p,M as m,Mt as h,Nt as g,Ot as _,Q as v,Qt as y,R as b,Rt as x,Sn as S,Tt as C,U as w,V as T,W as E,X as D,Xt as O,Y as k,Yt as A,Z as j,Zt as M,an as N,at as P,bn as F,cn as I,en as L,et as R,in as z,j as B,jt as V,k as H,ln as U,lt as W,ot as G,q as K,qt as q,sn as J,tn as Y,ut as X,wt as Z,xn as Q,z as $}from"./AuthModal-
|
|
2
|
+
"use client";import{$ as e,$t as t,A as n,At as r,B as i,D as a,Dt as o,E as s,Et as c,G as l,J as u,Jt as d,K as f,L as p,M as m,Mt as h,Nt as g,Ot as _,Q as v,Qt as y,R as b,Rt as x,Sn as S,Tt as C,U as w,V as T,W as E,X as D,Xt as O,Y as k,Yt as A,Z as j,Zt as M,an as N,at as P,bn as F,cn as I,en as L,et as R,in as z,j as B,jt as V,k as H,ln as U,lt as W,ot as G,q as K,qt as q,sn as J,tn as Y,ut as X,wt as Z,xn as Q,z as $}from"./AuthModal-CboQ6ZoC.js";import{A as ee,C as te,D as ne,E as re,O as ie,S as ae,_ as oe,a as se,c as ce,d as le,f as ue,g as de,h as fe,i as pe,k as me,l as he,m as ge,n as _e,o as ve,p as ye,r as be,s as xe,u as Se,v as Ce,x as we,y as Te}from"./src-DPMlORPa.js";import{pt as Ee}from"./utils-m8zHoMN7.js";export{pe as ChangeSummary,U as ChangedOnlyCheckbox,Y as CheckActions,L as CheckBreadcrumb,t as CheckCard,y as CheckDescription,M as CheckDetail,ye as CheckDetailOss,O as CheckEmptyState,ue as CheckEmptyStateOss,A as CheckList,le as CheckListOss,Se as CheckPageContentOss,he as CheckPageLoadingOss,_e as ChecksView,P as ColumnNameCell,F as DataTypeIcon,J as DiffDisplayModeSwitch,Ee as DiffText,H as DualSqlEditor,oe as EnvInfo,a as ErrorBoundary,W as HSplit,z as HistogramDiffForm,G as HistogramDiffResultView,Te as HistoryToggle,de as IdleTimeoutBadge,B as LearnHowLink,d as LineageCanvas,Ce as LineagePageOss,q as LineageView,re as LineageViewNotification,ge as Main,fe as MainLayout,ce as NODE_CHANGE_STATUS_MSGS,R as ProfileDiffForm,v as ProfileDiffResultView,e as ProfileResultView,j as QueryDiffResultView,me as QueryForm,ne as QueryPageOss,D as QueryResultView,m as RecceNotification,u as RowCountDiffResultView,k as RowCountResultView,o as RunList,_ as RunListItem,p as RunListOss,C as RunProgress,c as RunProgressOverlay,r as RunStatusBadge,V as RunStatusWithDate,Z as RunToolbar,s as RunViewOss,we as SchemaLegend,be as SchemaSummary,ae as SchemaView,ie as SetupConnectionGuide,te as SingleEnvSchemaView,n as SqlEditor,ee as SquareIcon,I as ToggleSwitch,K as TopKDiffForm,f as TopKDiffResultView,X as VSplit,l as ValueDiffDetailResultView,E as ValueDiffForm,w as ValueDiffResultView,Q as buildColumnTooltip,se as calculateChangeSummary,ve as calculateColumnChange,S as classifyType,b as createBoundFindByRunType,$ as createRunTypeRegistry,i as defaultRunTypeConfig,T as findByRunType,h as formatRunDate,g as formatRunDateTime,xe as getIconForChangeStatus,x as isDisabledByNoResult,N as supportsHistogramDiff};
|
package/dist/hooks.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
2
|
import { n as useThemeColors, t as ThemeColors } from "./useThemeColors-DUsTsanG.js";
|
|
3
|
-
import { A as useCopyToClipboard, B as defaultSqlQuery, C as useCheckEvents, D as ApiConfigContextType, E as useAvatar, F as RecceContextProvider, G as useRecceCheckContext, H as LineageGraphAdapter, I as RecceActionAdapter, K as MuiProvider, L as RecceActionOptions, M as useImageDownloadModal, N as RecceShareStateContextProvider, O as useApiConfig, P as useRecceShareStateContext, R as OSSQueryContext, S as useClipBoardToast, T as UseAvatarResult, U as CheckContextAdapter, V as useRecceQueryContext, W as OSSCheckContext, _ as useIsDark, a as useRun, b as useCSVExport, c as MultiNodesActionTracking, d as UseMultiNodesActionReturn, f as useMultiNodesAction, g as useModelColumns, h as unionColumns, i as UseRunResult, j as useCopyToClipboardButton, k as IGNORE_SCREENSHOT_CLASS, l as MultiNodesActionType, m as extractColumns, n as UseValueDiffAlertDialogReturn, o as MultiNodesActionCallbacks, p as UseModelColumnsReturn, r as useValueDiffAlertDialog, s as MultiNodesActionTrackProps, t as UseValueDiffAlertDialogOptions, u as UseMultiNodesActionOptions, v as useGuideToast, w as UseAvatarOptions, x as useCountdownToast, y as useFeedbackCollectionToast, z as QueryContextAdapter } from "./index-
|
|
3
|
+
import { A as useCopyToClipboard, B as defaultSqlQuery, C as useCheckEvents, D as ApiConfigContextType, E as useAvatar, F as RecceContextProvider, G as useRecceCheckContext, H as LineageGraphAdapter, I as RecceActionAdapter, K as MuiProvider, L as RecceActionOptions, M as useImageDownloadModal, N as RecceShareStateContextProvider, O as useApiConfig, P as useRecceShareStateContext, R as OSSQueryContext, S as useClipBoardToast, T as UseAvatarResult, U as CheckContextAdapter, V as useRecceQueryContext, W as OSSCheckContext, _ as useIsDark, a as useRun, b as useCSVExport, c as MultiNodesActionTracking, d as UseMultiNodesActionReturn, f as useMultiNodesAction, g as useModelColumns, h as unionColumns, i as UseRunResult, j as useCopyToClipboardButton, k as IGNORE_SCREENSHOT_CLASS, l as MultiNodesActionType, m as extractColumns, n as UseValueDiffAlertDialogReturn, o as MultiNodesActionCallbacks, p as UseModelColumnsReturn, r as useValueDiffAlertDialog, s as MultiNodesActionTrackProps, t as UseValueDiffAlertDialogOptions, u as UseMultiNodesActionOptions, v as useGuideToast, w as UseAvatarOptions, x as useCountdownToast, y as useFeedbackCollectionToast, z as QueryContextAdapter } from "./index-BOLbDTy8.js";
|
|
4
4
|
export { ApiConfigContextType, CheckContextAdapter, IGNORE_SCREENSHOT_CLASS, LineageGraphAdapter, MuiProvider, MultiNodesActionCallbacks, MultiNodesActionTrackProps, MultiNodesActionTracking, MultiNodesActionType, OSSCheckContext, OSSQueryContext, QueryContextAdapter, RecceActionAdapter, RecceActionOptions, RecceContextProvider, RecceShareStateContextProvider, ThemeColors, UseAvatarOptions, UseAvatarResult, UseModelColumnsReturn, UseMultiNodesActionOptions, UseMultiNodesActionReturn, UseRunResult, UseValueDiffAlertDialogOptions, UseValueDiffAlertDialogReturn, defaultSqlQuery, extractColumns, unionColumns, useApiConfig, useAvatar, useCSVExport, useCheckEvents, useClipBoardToast, useCopyToClipboard, useCopyToClipboardButton, useCountdownToast, useFeedbackCollectionToast, useGuideToast, useImageDownloadModal, useIsDark, useModelColumns, useMultiNodesAction, useRecceCheckContext, useRecceQueryContext, useRecceShareStateContext, useRun, useThemeColors, useValueDiffAlertDialog };
|
package/dist/hooks.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{C as e,Cn as t,Ht as n,S as r,T as i,Vt as a,_ as o,a as s,b as c,c as l,d as u,f as d,g as f,h as p,i as m,kn as h,l as g,m as _,n as v,o as y,p as b,r as x,s as S,u as C,v as w,w as T,wn as E,x as D,y as O}from"./AuthModal-
|
|
2
|
+
import{C as e,Cn as t,Ht as n,S as r,T as i,Vt as a,_ as o,a as s,b as c,c as l,d as u,f as d,g as f,h as p,i as m,kn as h,l as g,m as _,n as v,o as y,p as b,r as x,s as S,u as C,v as w,w as T,wn as E,x as D,y as O}from"./AuthModal-CboQ6ZoC.js";import{Nt as k,ct as A}from"./utils-m8zHoMN7.js";export{t as CheckContextAdapter,d as IGNORE_SCREENSHOT_CLASS,e as LineageGraphAdapter,h as MuiProvider,c as QueryContextAdapter,O as RecceActionAdapter,f as RecceContextProvider,o as RecceShareStateContextProvider,D as defaultSqlQuery,m as extractColumns,s as unionColumns,n as useApiConfig,a as useAvatar,g as useCSVExport,u as useCheckEvents,A as useClipBoardToast,b as useCopyToClipboard,_ as useCopyToClipboardButton,C as useCountdownToast,l as useFeedbackCollectionToast,S as useGuideToast,p as useImageDownloadModal,k as useIsDark,y as useModelColumns,i as useMultiNodesAction,E as useRecceCheckContext,r as useRecceQueryContext,w as useRecceShareStateContext,x as useRun,v as useThemeColors,T as useValueDiffAlertDialog};
|
|
@@ -236,7 +236,7 @@ declare function useCopyToClipboard({
|
|
|
236
236
|
onError,
|
|
237
237
|
ignoreElements
|
|
238
238
|
}: HookOptions): {
|
|
239
|
-
status: "
|
|
239
|
+
status: "success" | "error" | "idle" | "loading";
|
|
240
240
|
isLoading: boolean;
|
|
241
241
|
isErrored: boolean;
|
|
242
242
|
isSuccess: boolean;
|
|
@@ -737,4 +737,4 @@ interface UseValueDiffAlertDialogReturn {
|
|
|
737
737
|
declare function useValueDiffAlertDialog(options?: UseValueDiffAlertDialogOptions): UseValueDiffAlertDialogReturn;
|
|
738
738
|
//#endregion
|
|
739
739
|
export { useCopyToClipboard as A, defaultSqlQuery as B, useCheckEvents as C, ApiConfigContextType as D, useAvatar as E, RecceContextProvider as F, useRecceCheckContext as G, LineageGraphAdapter as H, RecceActionAdapter as I, MuiProvider as K, RecceActionOptions as L, useImageDownloadModal as M, RecceShareStateContextProvider as N, useApiConfig as O, useRecceShareStateContext as P, OSSQueryContext as R, useClipBoardToast as S, UseAvatarResult as T, CheckContextAdapter as U, useRecceQueryContext as V, OSSCheckContext as W, useIsDark as _, useRun as a, useCSVExport as b, MultiNodesActionTracking as c, UseMultiNodesActionReturn as d, useMultiNodesAction as f, useModelColumns as g, unionColumns as h, UseRunResult as i, useCopyToClipboardButton as j, IGNORE_SCREENSHOT_CLASS as k, MultiNodesActionType as l, extractColumns as m, UseValueDiffAlertDialogReturn as n, MultiNodesActionCallbacks as o, UseModelColumnsReturn as p, useValueDiffAlertDialog as r, MultiNodesActionTrackProps as s, UseValueDiffAlertDialogOptions as t, UseMultiNodesActionOptions as u, useGuideToast as v, UseAvatarOptions as w, useCountdownToast as x, useFeedbackCollectionToast as y, QueryContextAdapter as z };
|
|
740
|
-
//# sourceMappingURL=index-
|
|
740
|
+
//# sourceMappingURL=index-BOLbDTy8.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-BOLbDTy8.d.ts","names":[],"sources":["../src/components/ui/mui-provider.tsx","../src/hooks/CheckContextAdapter.tsx","../src/hooks/LineageGraphAdapter.tsx","../src/hooks/QueryContextAdapter.tsx","../src/hooks/RecceActionAdapter.tsx","../src/hooks/RecceContextProvider.tsx","../src/hooks/RecceShareStateContext.tsx","../src/hooks/ScreenShot.tsx","../src/hooks/useApiConfig.ts","../src/hooks/useAvatar.ts","../src/hooks/useCheckEvents.ts","../src/hooks/useClipBoardToast.tsx","../src/hooks/useCountdownToast.tsx","../src/hooks/useCSVExport.ts","../src/hooks/useFeedbackCollectionToast.tsx","../src/hooks/useGuideToast.tsx","../src/hooks/useIsDark.ts","../src/hooks/useModelColumns.tsx","../src/hooks/useMultiNodesAction.ts","../src/hooks/useRun.tsx","../src/hooks/useValueDiffAlertDialog.tsx"],"mappings":";;;;;;;;;;;;UAQU,gBAAA;EACR,QAAA,EAAU,SAAA;;;;EAIV,WAAA;;;;;EAKA,iBAAA;AAAA;;;;;;;;;AAiBF;;;;;;iBAAgB,WAAA,CAAA;EACd,QAAA;EACA,WAAA;EACA;AAAA,GACC,gBAAA,GAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;UClCT,wBAAA;EACR,QAAA,EAAU,SAAA;AAAA;;;;;;UAQK,eAAA;EACf,qBAAA;EACA,wBAAA,GAA2B,OAAA;AAAA;;;;;;;;;ADmB7B;;iBCNgB,mBAAA,CAAA;EAAsB;AAAA,GAAY,wBAAA,GAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;;iBA2B1D,oBAAA,CAAA,GAAwB,eAAA;;;UC+L9B,wBAAA;EACR,QAAA,EAAU,KAAA,CAAM,SAAA;AAAA;;;;;;;;AFnPgC;;;;;iBEkQlC,mBAAA,CAAA;EAAsB;AAAA,GAAY,wBAAA,GAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;UClQhE,wBAAA;EACR,QAAA,EAAU,SAAA;AAAA;AAAA,cAGC,eAAA;;;;;;UAOI,eAAA;EACf,QAAA;EACA,WAAA,GAAc,GAAA;EACd,WAAA;EACA,cAAA,GAAiB,GAAA;EACjB,eAAA;EACA,gBAAA,GAAmB,QAAA;EACnB,YAAA;EACA,eAAA,GAAkB,GAAA;AAAA;;AHWpB;;;;;;;;;;;iBGIgB,mBAAA,CAAA;EAAsB;AAAA,GAAY,wBAAA,GAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;;iBA8C1D,oBAAA,CAAA,GAAwB,eAAA;;;;;;UC5CvB,kBAAA;EACf,QAAA;EACA,QAAA;EACA,UAAA,GAAa,mBAAA;AAAA;AAAA,UA4BL,uBAAA;EACR,QAAA,EAAU,KAAA,CAAM,SAAA;AAAA;;;;;;;;;AJtClB;;;;;iBIsDgB,kBAAA,CAAA;EAAqB;AAAA,GAAY,uBAAA,GAAuB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;UCjF9D,iBAAA;EACR,QAAA,EAAU,KAAA,CAAM,SAAA;AAAA;;;;;;;;ALJgC;;;;;;;;;;AA8BlD;;;iBKHwB,oBAAA,CAAA;EAAuB;AAAA,GAAY,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;UC5BlE,eAAA;EACR,QAAA;EACA,SAAA;EACA,KAAA;EACA,gBAAA,QAAwB,OAAA;AAAA;AAAA,iBAKV,8BAAA,CAAA;EACd;AAAA;EAEA,QAAA,EAAU,KAAA,CAAM,SAAA;AAAA,IACjB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAiCY,yBAAA,QAAyB,eAAA;;;KCZjC,eAAA,GAAkB,cAAA;EAAmB,OAAA,GAAU,WAAA;AAAA;AAAA,cAcvC,uBAAA;AAAA,UAKI,WAAA;EACf,aAAA;EACA,SAAA;EACA,eAAA;EACA,WAAA;EACA,YAAA;EACA,WAAA;EACA,YAAA;EACA,SAAA;EACA,OAAA,IAAW,KAAA;EACX,qBAAA,IAAyB,IAAA,EAAM,IAAA;EAC/B,cAAA,IAAkB,OAAA,EAAS,OAAA;AAAA;AAAA,iBAYb,kBAAA,CAAA;EACd,aAAA;EACA,SAAA;EACA,eAAA;EACA,WAAA;EACA,YAAA;EACA,WAAA;EACA,YAAA;EACA,SAAA;EACA,OAAA;EACA;AAAA,GACC,WAAA;;;;;;;;;iBA6Ia,wBAAA,CAAyB,OAAA,GAAU,WAAA;;;;;;IAoD/C,SAAA;EAAA,MACD,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;;iBA6Ba,qBAAA,CAAA;;;;;;;;;;;;;;;UC9SC,oBAAA;;ARPiC;;;;EQahD,SAAA;ERTU;;;;EQeV,SAAA;ERWc;;;;EQLd,OAAA;ERQA;;;;EQHA,SAAA,EAAW,aAAA;AAAA;;;;;;;;;iBAmBG,YAAA,CAAA,GAAgB,oBAAA;;;;;;;;;;;;;;ARjDkB;;;USejC,gBAAA;ETXf;ESaA,MAAA;ETTA;ESWA,OAAA;AAAA;AAAA,UAGe,eAAA;ETQD;ESNd,SAAA;;EAEA,SAAA;ETMA;ESJA,YAAA;AAAA;;;;;;;;;;;;;;;;;;AR/B+C;;iBQqDjC,SAAA,CAAA;EACd,MAAA;EACA;AAAA,GACC,gBAAA,GAAmB,eAAA;;;;;;;;;UCvCZ,qBAAA;EACR,OAAA;AAAA;AAAA,iBAGc,cAAA,CACd,OAAA,UACA,OAAA,GAAS,qBAAA;UAA0B,UAAA;;;;;;;;;;;;;;;;;;;iBCvBrB,iBAAA,CAAA;;6BAUkB,KAAA;AAAA;;;;;;;;;;;;;;AXPgB;;;;;iBY2BlC,iBAAA,CAAkB,iBAAA,EAAmB,IAAA;;;UCX3C,mBAAA;EACR,GAAA,GAAM,GAAA;;EAEN,WAAA,GAAc,MAAA;AAAA;AAAA,UAGN,kBAAA;;EAER,YAAA;EbrBwB;EauBxB,SAAA,QAAiB,OAAA;EbtBE;EawBnB,SAAA,QAAiB,OAAA;EbxBP;Ea0BV,aAAA;EbjBA;EamBA,aAAA;EbnBiB;EaqBjB,eAAA;AAAA;AAAA,iBAGc,YAAA,CAAA;EACd,GAAA;EACA;AAAA,GACC,mBAAA,GAAsB,kBAAA;;;iBCqBT,0BAAA,CAA2B,OAAA;EACzC,UAAA;EACA,WAAA;EACA,gBAAA,GAAmB,QAAA;EACnB,YAAA;EACA,gBAAA;AAAA;;;;;;;;;;;;;;;;;AdlEgD;iBeWlC,aAAA,CAAc,OAAA;EAC5B,OAAA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;EACA,mBAAA;AAAA;;;;;;;;;;;;;;;;;AfhBgD;;;;;;;;;iBgBoBlC,SAAA,CAAA;;;;;;AhBpBkC;iBiBelC,cAAA,CAAe,IAAA,EAAM,gBAAA,GAAmB,cAAA;;;;;iBAuBxC,YAAA,CACd,WAAA,EAAa,cAAA,IACb,cAAA,EAAgB,cAAA,KACf,cAAA;;;;UAmBc,qBAAA;EACf,OAAA,EAAS,cAAA;EACT,UAAA;EACA,SAAA;EACA,KAAA,EAAO,KAAA;AAAA;;;;;;;;;;;;;;;;;;;AhBnEwC;;iBgB0FjC,eAAA,CACd,KAAA,sBACA,MAAA,GAAS,aAAA,GACR,qBAAA;;;;;;;KC5CS,oBAAA;;;;UAQK,0BAAA;ElBpBE;EkBsBjB,MAAA,EAAQ,oBAAA;ElBtBS;EkBwBjB,MAAA;;EAEA,UAAA;AAAA;;;;;AjBnDF;UiB2DiB,wBAAA;;;;;;EAMf,aAAA,IAAiB,KAAA,EAAO,0BAAA;AAAA;AjBlD1B;;;;;AAAA,UiB0DiB,yBAAA;EjB1DyD;EiB4DxE,eAAA;EjB5DoC;EiB8DpC,mBAAA,GAAsB,IAAA,EAAM,gBAAA;EjB9DoB;EiBgEhD,iBAAA;AAAA;;;AjBrCF;UiB2CiB,0BAAA,SACP,yBAAA,EACN,wBAAA;;;;;;EAMF,cAAA;AAAA;;;;UAMe,yBAAA;EhBuIL;EgBrIV,WAAA,EAAa,WAAA;EhBqIY;EgBnIzB,WAAA,QAAmB,OAAA;EhBkJL;EgBhJd,eAAA,QAAuB,OAAA;;EAEvB,YAAA,QAAoB,OAAA;EhB8I4B;EgB5IhD,mBAAA,QAA2B,OAAA,CAAQ,KAAA;EhB4IqC;EgB1IxE,kBAAA,QAA0B,OAAA,CAAQ,KAAA;EhB0IE;EgBxIpC,MAAA,QAAc,OAAA;EhBwIkC;EgBtIhD,KAAA;AAAA;;;;;;Af/H+C;;;;;AAOjD;;;;;AAOA;;;;;;;;;;;;;;;;;;AAuBA;;;;;ce+Ia,mBAAA,GACX,KAAA,EAAO,gBAAA,IACP,OAAA,EAAS,0BAAA,KACR,yBAAA;;;UChLc,YAAA;EACf,GAAA,GAAM,GAAA;EACN,QAAA;EACA,SAAA;EACA,KAAA,EAAO,KAAA;EACP,QAAA,QAAgB,OAAA;EAChB,aAAA,GAAgB,aAAA;AAAA;AAAA,cAGL,MAAA,GAAU,KAAA,cAAiB,YAAA;;;;;;UCOvB,8BAAA;;EAEf,SAAA,IAAa,SAAA;;EAEb,QAAA,IAAY,SAAA;AAAA;;ApBxBoC;;UoB8BjC,6BAAA;EpB1BI;EoB4BnB,OAAA,GAAU,SAAA,aAAsB,OAAA;EpB5BtB;EoB8BV,WAAA,EAAa,GAAA,CAAI,OAAA;AAAA;;;ApBJnB;;;;;;;;;;;;;;;;;;;;;;;;ACjCiD;;;;;AAYjD;;;;;;;;;AAeA;;;;;;;;;;;;iBmBiEgB,uBAAA,CACd,OAAA,GAAU,8BAAA,GACT,6BAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ import { _ as RecceFeatureMode, a as useIdleTimeoutSafe, b as defaultInstanceInf
|
|
|
12
12
|
import { n as useThemeColors, t as ThemeColors } from "./useThemeColors-DUsTsanG.js";
|
|
13
13
|
import { r as theme, s as colors, t as Theme } from "./index-D7srcYQt.js";
|
|
14
14
|
import { c as useApiClient, l as useApiConfig, u as useApiConfigOptional } from "./RouteConfigContext-C7SoarJ8.js";
|
|
15
|
-
import { A as useCopyToClipboard, B as defaultSqlQuery, C as useCheckEvents, G as useRecceCheckContext, H as LineageGraphAdapter, I as RecceActionAdapter, L as RecceActionOptions, M as useImageDownloadModal, N as RecceShareStateContextProvider, P as useRecceShareStateContext, R as OSSQueryContext, U as CheckContextAdapter, V as useRecceQueryContext, W as OSSCheckContext, _ as useIsDark, a as useRun, b as useCSVExport, c as MultiNodesActionTracking, d as UseMultiNodesActionReturn, f as useMultiNodesAction, g as useModelColumns, h as unionColumns, i as UseRunResult, j as useCopyToClipboardButton, k as IGNORE_SCREENSHOT_CLASS, l as MultiNodesActionType, m as extractColumns, o as MultiNodesActionCallbacks, p as UseModelColumnsReturn, s as MultiNodesActionTrackProps, u as UseMultiNodesActionOptions, y as useFeedbackCollectionToast, z as QueryContextAdapter } from "./index-
|
|
15
|
+
import { A as useCopyToClipboard, B as defaultSqlQuery, C as useCheckEvents, G as useRecceCheckContext, H as LineageGraphAdapter, I as RecceActionAdapter, L as RecceActionOptions, M as useImageDownloadModal, N as RecceShareStateContextProvider, P as useRecceShareStateContext, R as OSSQueryContext, U as CheckContextAdapter, V as useRecceQueryContext, W as OSSCheckContext, _ as useIsDark, a as useRun, b as useCSVExport, c as MultiNodesActionTracking, d as UseMultiNodesActionReturn, f as useMultiNodesAction, g as useModelColumns, h as unionColumns, i as UseRunResult, j as useCopyToClipboardButton, k as IGNORE_SCREENSHOT_CLASS, l as MultiNodesActionType, m as extractColumns, o as MultiNodesActionCallbacks, p as UseModelColumnsReturn, s as MultiNodesActionTrackProps, u as UseMultiNodesActionOptions, y as useFeedbackCollectionToast, z as QueryContextAdapter } from "./index-BOLbDTy8.js";
|
|
16
16
|
import { n as DisableTooltipMessages, t as DisableTooltipMessageKey } from "./index-D1R7DtRx.js";
|
|
17
17
|
import { _ as formatTimestamp, b as deltaPercentageString, g as formatTimeToNow, s as isSchemaChanged, y as extractSchemas } from "./index-DrBgVRgY.js";
|
|
18
18
|
export { ActionMode, ActionState, AxiosQueryParams, COLUMN_HEIGHT, CatalogMetadata, Check, CheckContextAdapter, CheckContextType, CheckProvider, CheckProviderProps, ChecksView, ChecksViewProps, ColumnTooltipInput, CreatedResultViewProps, DataTypeIcon, DataTypeIconProps, DiffText, DiffTextProps, DisableTooltipMessageKey, DisableTooltipMessages, EnvInfo, GitInfo, HSplit, IGNORE_SCREENSHOT_CLASS, IdleTimeoutContextType, IdleTimeoutProvider, InstanceInfoType, LineageCanvas, LineageCanvasProps, LineageData, LineageDataFromMetadata, LineageDiffData, LineageGraph, LineageGraphAdapter, LineageGraphColumnNode, LineageGraphContextType, LineageGraphEdge, LineageGraphNode, LineageGraphNodes, LineageGraphProvider, LineageGraphProviderProps, LineageView, LineageViewContextType, LineageViewProps, LineageViewRef, ManifestMetadata, ModelInfoResult, MultiNodesActionCallbacks, MultiNodesActionTrackProps, MultiNodesActionTracking, MultiNodesActionType, NavigateOptions, NodeAction, NodeColumnData, NodeColumnSetMap, NodeData, OSSCheckContext, OSSQueryContext, RecceActionOptions as OSSRecceActionOptions, PullRequestInfo, QueryContextAdapter, QueryContextType, QueryProvider, QueryProviderProps, QueryResult, RecceActionAdapter, RecceActionContextType, RecceActionOptions$1 as RecceActionOptions, RecceActionProvider, RecceActionProviderProps, RecceFeatureMode, RecceFeatureToggles, RecceInstanceInfo, RecceInstanceInfoProvider, RecceProvider, RecceProviderProps, RecceServerFlags, RecceShareStateContextProvider, ResultViewConfig, ResultViewData, ResultViewProps, ResultViewRef, ResultViewTransformOptions, RoutingConfig, RoutingContextValue, RunsAggregated, SQLMeshInfo, SchemaDataGridOptions, SchemaDataGridResult, SchemaDiffRow, SchemaRow, ScreenshotWrapperType, SelectMode, ServerInfoResult, ServerMode, SingleEnvSchemaDataGridResult, SplitProps, SquareIcon, SquareIconProps, StateMetadata, SubmitRunTrackProps, Theme, ThemeColors, TypeCategory, UseModelColumnsReturn, UseMultiNodesActionOptions, UseMultiNodesActionReturn, UseRunResult, VERSION, VSplit, aggregateRuns, buildColumnTooltip, buildLineageGraph, cacheKeys, classifyType, colors, createResultView, defaultFeatureToggles, defaultInstanceInfo, defaultSqlQuery, deltaPercentageString, extractColumns, extractSchemas, formatTimeToNow, formatTimestamp, getLastKeepAliveTime, getModelInfo, getNeighborSet, getRecceInstanceInfo, getServerFlag, getServerInfo, intersect, isLineageGraphColumnNode, isLineageGraphNode, isSchemaChanged, layoutWithDagre, markRelaunchHintCompleted, mergeColumns, reorderChecks, resetKeepAliveState, selectDownstream, selectUpstream, sendKeepAlive, setKeepAliveCallback, theme, toReactFlowBasic, toSchemaDataGrid, toSingleEnvDataGrid, union, unionColumns, useApiClient, useApiConfig, useApiConfigOptional, useAppLocation, useCSVExport, useCheckContext, useCheckEvents, useChecks, useCopyToClipboard, useCopyToClipboardButton, useFeedbackCollectionToast, useIdleDetection, useIdleTimeout, useIdleTimeoutSafe, useImageDownloadModal, useIsDark, useLineageGraphContext, useModelColumns, useMultiNodesAction, useQueryContext, useRecceActionContext, useRecceCheckContext, useRecceInstanceContext, useRecceInstanceInfo, useRecceQueryContext, useRecceServerFlag, useRecceShareStateContext, useRecceTheme, useRouting, useRun, useRunsAggregated, useThemeColors };
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{C as e,N as t,S as n,j as r,q as i}from"./api-CYMr4Sk7.js";import{a,d as o,f as s,i as c,l,n as u,o as d,r as f,s as p,t as m,u as h}from"./keepAlive-CkKaK4Uw.js";import{C as g,D as _,E as v,O as y,S as b,T as x,_ as S,a as C,b as w,c as T,d as E,f as D,g as O,i as k,k as A,l as j,n as M,o as N,r as P,s as F,t as I,u as L,v as R,w as z,x as B,y as V}from"./utils-CjMo0oH2.js";import{t as H}from"./theme-CVMsuRpK.js";import{n as U}from"./colors-BpyRE67g.js";import{C as W,Cn as G,Dn as K,En as q,Jt as J,On as Y,S as X,Sn as Z,T as Q,Tn as $,_ as ee,a as te,b as ne,bn as re,c as ie,ct as ae,d as oe,f as se,h as ce,i as le,it as ue,l as de,lt as fe,m as pe,n as me,nt as he,o as ge,p as _e,qt as ve,r as ye,rt as be,ut as xe,v as Se,wn as Ce,x as we,xn as Te,y as Ee}from"./AuthModal-
|
|
2
|
+
import{C as e,N as t,S as n,j as r,q as i}from"./api-CYMr4Sk7.js";import{a,d as o,f as s,i as c,l,n as u,o as d,r as f,s as p,t as m,u as h}from"./keepAlive-CkKaK4Uw.js";import{C as g,D as _,E as v,O as y,S as b,T as x,_ as S,a as C,b as w,c as T,d as E,f as D,g as O,i as k,k as A,l as j,n as M,o as N,r as P,s as F,t as I,u as L,v as R,w as z,x as B,y as V}from"./utils-CjMo0oH2.js";import{t as H}from"./theme-CVMsuRpK.js";import{n as U}from"./colors-BpyRE67g.js";import{C as W,Cn as G,Dn as K,En as q,Jt as J,On as Y,S as X,Sn as Z,T as Q,Tn as $,_ as ee,a as te,b as ne,bn as re,c as ie,ct as ae,d as oe,f as se,h as ce,i as le,it as ue,l as de,lt as fe,m as pe,n as me,nt as he,o as ge,p as _e,qt as ve,r as ye,rt as be,ut as xe,v as Se,wn as Ce,x as we,xn as Te,y as Ee}from"./AuthModal-CboQ6ZoC.js";import{A as De,M as Oe,N as ke,j as Ae,n as je,t as Me}from"./src-DPMlORPa.js";import{Ft as Ne,Nt as Pe,a as Fe,i as Ie,m as Le,n as Re,pt as ze,s as Be}from"./utils-m8zHoMN7.js";import{t as Ve}from"./constants-DWSSKzi8.js";export{I as COLUMN_HEIGHT,G as CheckContextAdapter,K as CheckProvider,je as ChecksView,re as DataTypeIcon,ze as DiffText,Ve as DisableTooltipMessages,fe as HSplit,se as IGNORE_SCREENSHOT_CLASS,V as IdleTimeoutProvider,J as LineageCanvas,W as LineageGraphAdapter,O as LineageGraphProvider,ve as LineageView,ne as QueryContextAdapter,$ as QueryProvider,Ee as RecceActionAdapter,y as RecceActionProvider,g as RecceInstanceInfoProvider,Ae as RecceProvider,ee as RecceShareStateContextProvider,De as SquareIcon,Me as VERSION,xe as VSplit,i as aggregateRuns,Te as buildColumnTooltip,M as buildLineageGraph,s as cacheKeys,Z as classifyType,U as colors,ae as createResultView,v as defaultFeatureToggles,_ as defaultInstanceInfo,we as defaultSqlQuery,Le as deltaPercentageString,le as extractColumns,Be as extractSchemas,Ie as formatTimeToNow,Fe as formatTimestamp,m as getLastKeepAliveTime,n as getModelInfo,P as getNeighborSet,a as getRecceInstanceInfo,d as getServerFlag,e as getServerInfo,k as intersect,E as isLineageGraphColumnNode,D as isLineageGraphNode,Re as isSchemaChanged,C as layoutWithDagre,p as markRelaunchHintCompleted,he as mergeColumns,r as reorderChecks,u as resetKeepAliveState,N as selectDownstream,F as selectUpstream,f as sendKeepAlive,c as setKeepAliveCallback,H as theme,T as toReactFlowBasic,be as toSchemaDataGrid,ue as toSingleEnvDataGrid,j as union,te as unionColumns,l as useApiClient,h as useApiConfig,o as useApiConfigOptional,Oe as useAppLocation,de as useCSVExport,Y as useCheckContext,oe as useCheckEvents,t as useChecks,_e as useCopyToClipboard,pe as useCopyToClipboardButton,ie as useFeedbackCollectionToast,B as useIdleDetection,w as useIdleTimeout,b as useIdleTimeoutSafe,ce as useImageDownloadModal,Pe as useIsDark,S as useLineageGraphContext,ge as useModelColumns,Q as useMultiNodesAction,q as useQueryContext,A as useRecceActionContext,Ce as useRecceCheckContext,z as useRecceInstanceContext,x as useRecceInstanceInfo,X as useRecceQueryContext,L as useRecceServerFlag,Se as useRecceShareStateContext,Ne as useRecceTheme,ke as useRouting,ye as useRun,R as useRunsAggregated,me as useThemeColors};
|
package/dist/primitives.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use client";import{$t as e,At as t,Bt as n,Ct as r,Dt as i,Et as a,Ft as o,Gt as s,It as c,Kt as l,Lt as u,Mt as d,Nt as f,Ot as p,Pt as m,Qt as h,Rt as g,St as _,Tt as v,Ut as y,Wt as b,Xt as x,Yt as S,Zt as C,_n as w,_t as T,bt as E,cn as D,ct as O,dt as k,en as A,ft as j,gt as M,ht as N,jt as P,kt as F,ln as I,lt as L,mt as R,nn as z,on as B,pt as V,rn as H,sn as U,st as W,tn as G,un as K,ut as q,vn as J,vt as Y,wt as X,xt as Z,yn as Q,yt as $,zt as ee}from"./AuthModal-
|
|
2
|
+
"use client";import{$t as e,At as t,Bt as n,Ct as r,Dt as i,Et as a,Ft as o,Gt as s,It as c,Kt as l,Lt as u,Mt as d,Nt as f,Ot as p,Pt as m,Qt as h,Rt as g,St as _,Tt as v,Ut as y,Wt as b,Xt as x,Yt as S,Zt as C,_n as w,_t as T,bt as E,cn as D,ct as O,dt as k,en as A,ft as j,gt as M,ht as N,jt as P,kt as F,ln as I,lt as L,mt as R,nn as z,on as B,pt as V,rn as H,sn as U,st as W,tn as G,un as K,ut as q,vn as J,vt as Y,wt as X,xt as Z,yn as Q,yt as $,zt as ee}from"./AuthModal-CboQ6ZoC.js";import{dt as te,ft as ne,lt as re,pt as ie,st as ae,ut as oe}from"./utils-m8zHoMN7.js";export{w as COLUMN_NODE_HEIGHT,J as COLUMN_NODE_WIDTH,I as ChangedOnlyCheckbox,G as CheckActions,A as CheckBreadcrumb,e as CheckCard,h as CheckDescription,C as CheckDetail,x as CheckEmptyState,S as CheckList,s as CodeEditor,n as CommentInput,U as DiffDisplayModeSwitch,T as DiffEditor,ie as DiffText,ae as DiffTextWithToast,B as DropdownValuesInput,$ as EmptyRowsRenderer,M as EmptyState,R as ExternalLinkConfirmDialog,L as HSplit,Z as HistogramChart,Q as LineageColumnNode,l as LineageDiffView,K as LineageEdge,H as LineageLegend,z as LineageNode,V as MarkdownContent,W as PRIMITIVES_API_VERSION,y as PresetCheckTemplateView,i as RunList,p as RunListItem,v as RunProgress,a as RunProgressOverlay,F as RunStatusAndDate,t as RunStatusBadge,P as RunStatusWithDate,X as RunToolbar,j as ScreenshotBox,E as ScreenshotDataGrid,k as SplitPane,ee as TimelineEvent,re as Toaster,oe as ToasterProvider,D as ToggleSwitch,Y as TopKBarChart,q as VSplit,o as buildCheckDescription,c as buildCheckTitle,O as createResultView,d as formatRunDate,f as formatRunDateTime,u as formatSqlAsMarkdown,b as generateCheckTemplate,_ as getChartBarColors,r as getChartThemeColors,m as inferRunStatus,g as isDisabledByNoResult,te as toaster,N as truncateUrl,ne as useToaster};
|
package/dist/result.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use client";import{ct as e}from"./AuthModal-
|
|
2
|
+
"use client";import{ct as e}from"./AuthModal-CboQ6ZoC.js";export{e as createResultView};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{$ as e,A as t,D as n,G as r,J as i,K as a,M as o,N as s,O as c,R as l,W as u,_t as d,a as f,c as p,d as m,et as h,gt as g,h as _,it as v,j as y,k as b,l as x,lt as S,m as C,mt as w,n as T,nt as E,o as D,p as O,s as k,u as ee,w as te,x as ne}from"./api-CYMr4Sk7.js";import{c as re,f as A}from"./keepAlive-CkKaK4Uw.js";import{C as ie,O as ae,T as j,_ as M,a as oe,b as N,d as se,f as ce,g as P,h as le,j as ue,k as de,l as fe,m as pe,o as me,p as he,s as ge,u as F,v as _e,w as I,y as ve}from"./utils-CjMo0oH2.js";import{i as ye,n as be}from"./colors-BpyRE67g.js";import{$t as xe,A as Se,Bt as Ce,Dn as we,E as Te,Ft as Ee,Gt as De,Ht as Oe,It as ke,L as Ae,Lt as je,M as Me,Nt as Ne,O as L,On as R,Qt as Pe,Rt as Fe,S as Ie,T as Le,Tn as Re,Ut as ze,V as z,Vt as Be,Wt as Ve,Xt as He,Yt as Ue,Zt as We,_t as Ge,an as Ke,bt as qe,c as Je,d as Ye,dn as Xe,dt as Ze,en as Qe,f as $e,fn as et,gn as tt,hn as nt,j as rt,k as it,lt as at,m as ot,mn as st,n as ct,nn as lt,o as ut,on as dt,p as ft,pn as pt,pt as mt,r as ht,rn as gt,s as _t,t as vt,tt as yt,ut as bt,v as xt,w as St,wn as Ct,yn as wt,yt as Tt}from"./AuthModal-DfjL0GZU.js";import{Nt as Et,Pt as Dt,Q as Ot,a as kt,ct as At,dt as jt,i as Mt,m as Nt,n as Pt,o as Ft,r as It,s as Lt,t as Rt}from"./utils-m8zHoMN7.js";import{fetchGitHubAvatar as zt,fetchUser as Bt}from"./lib/api/user.js";import{PUBLIC_CLOUD_WEB_URL as Vt,RECCE_SUPPORT_CALENDAR_URL as Ht}from"./lib/const.js";import{EXPLORE_ACTION as Ut,EXPLORE_FORM_EVENT as Wt,EXPLORE_SOURCE as Gt,trackColumnLevelLineage as Kt,trackCopyToClipboard as qt,trackEnvironmentConfig as Jt,trackExploreAction as Yt,trackExploreActionForm as Xt,trackHistoryAction as Zt,trackInit as Qt,trackLineageSelection as $t,trackLineageViewRender as en,trackMultiNodesAction as tn,trackNavigation as nn,trackPreviewChange as rn,trackPreviewChangeFeedback as an,trackShareState as on,trackSingleEnvironment as sn,trackStateAction as cn}from"./lib/api/track.js";import{t as ln}from"./constants-DWSSKzi8.js";import{QueryClient as un,QueryClientProvider as dn,useMutation as fn,useQuery as pn,useQueryClient as mn}from"@tanstack/react-query";import{AxiosError as hn,isAxiosError as gn}from"axios";import{Suspense as _n,createContext as vn,forwardRef as yn,memo as bn,useCallback as B,useContext as xn,useEffect as Sn,useImperativeHandle as Cn,useLayoutEffect as wn,useMemo as V,useRef as Tn,useState as H}from"react";import{Fragment as U,jsx as W,jsxs as G}from"react/jsx-runtime";import K from"@mui/material/Box";import q from"@mui/material/Button";import En from"@mui/material/Dialog";import Dn from"@mui/material/DialogActions";import On from"@mui/material/DialogContent";import kn from"@mui/material/DialogTitle";import An from"@mui/material/Link";import J from"@mui/material/Stack";import Y from"@mui/material/Typography";import{LuExternalLink as jn,LuSave as Mn}from"react-icons/lu";import{alpha as Nn,useTheme as Pn}from"@mui/material/styles";import{useTheme as Fn}from"next-themes";import X from"@mui/material/IconButton";import In from"next/link";import{IoBookmarksOutline as Ln,IoClose as Rn,IoSync as zn,IoWarning as Bn}from"react-icons/io5";import Vn from"@mui/material/Divider";import Hn from"@mui/material/CircularProgress";import Z from"@mui/material/Tooltip";import{FaCloud as Un,FaExpandArrowsAlt as Wn,FaGithub as Gn,FaQuestionCircle as Kn,FaRegDotCircle as qn,FaSlack as Jn,FaUser as Yn}from"react-icons/fa";import{PiBookmarkSimple as Xn,PiCaretDown as Zn,PiChatText as Qn,PiCheckCircle as $n,PiCircle as er,PiCopy as tr,PiExport as nr,PiInfo as rr,PiInfoFill as ir,PiMoon as ar,PiNotePencil as or,PiPencil as sr,PiPencilSimple as cr,PiPlusCircle as lr,PiRepeat as ur,PiSun as dr,PiTrashFill as fr,PiTrashSimple as pr,PiX as mr}from"react-icons/pi";import hr from"@mui/material/Chip";import{Background as gr,BackgroundVariant as _r,BaseEdge as vr,ControlButton as yr,Controls as br,MiniMap as xr,Panel as Sr,Position as Cr,ReactFlow as wr,ReactFlowProvider as Tr,getBezierPath as Er,getNodesBounds as Dr,useEdgesState as Or,useNodesState as kr,useReactFlow as Ar,useStore as jr}from"@xyflow/react";import Mr from"file-saver";import Nr from"@mui/material/Checkbox";import Pr from"@mui/material/FormControlLabel";import{useCopyToClipboard as Fr,useInterval as Ir}from"usehooks-ts";import Lr from"@mui/material/Alert";import Rr from"@mui/material/Menu";import Q from"@mui/material/MenuItem";import{isEmpty as zr}from"lodash";import{VscCircleLarge as Br,VscFeedback as Vr,VscGitPullRequest as Hr,VscHistory as Ur,VscKebabVertical as Wr}from"react-icons/vsc";import Gr from"@mui/material/ListSubheader";import Kr from"@mui/material/TextField";import qr from"@mui/material/Tab";import Jr from"@mui/material/Tabs";import Yr from"@mui/material/List";import Xr from"@mui/material/ListItem";import"@xyflow/react/dist/style.css";import Zr from"@mui/material/Avatar";import Qr from"@mui/material/Popover";import{format as $r,formatDistanceToNow as ei,parseISO as ti}from"date-fns";import{usePathname as ni,useRouter as ri,useSearchParams as ii}from"next/navigation";import{MdWarningAmber as ai}from"react-icons/md";import{TbChecklist as oi,TbCloudUpload as si,TbEdit as ci}from"react-icons/tb";import li from"@mui/material/ListItemIcon";import ui from"@mui/material/ListItemText";import{FiArrowRight as di,FiCopy as fi,FiInfo as pi,FiPackage as mi}from"react-icons/fi";import hi from"@mui/material/Switch";import{RiArrowDownSFill as gi,RiArrowUpSFill as _i,RiMindMap as vi,RiSwapLine as yi,RiTerminalBoxLine as bi}from"react-icons/ri";import{FaBookmark as xi,FaFileImport as Si}from"react-icons/fa6";import{BiArrowFromBottom as Ci,BiArrowToBottom as wi}from"react-icons/bi";import Ti from"@dagrejs/dagre";import Ei from"@mui/material/Skeleton";import{AiOutlineExperiment as Di}from"react-icons/ai";import Oi from"@mui/material/Radio";import ki from"@mui/material/RadioGroup";import Ai from"@mui/material/Table";import ji from"@mui/material/TableBody";import $ from"@mui/material/TableCell";import Mi from"@mui/material/TableContainer";import Ni from"@mui/material/TableHead";import Pi from"@mui/material/TableRow";import Fi from"@mui/material/DialogContentText";import Ii from"@mui/material/Badge";import Li from"@mui/material/Grid";import{stripIndents as Ri}from"common-tags";import{IoMdCodeWorking as zi}from"react-icons/io";import{DragDropContext as Bi,Draggable as Vi,Droppable as Hi}from"@hello-pangea/dnd";import Ui from"@mui/material/Card";import Wi from"@mui/material/CardContent";import Gi from"@mui/material/CardHeader";const Ki=vn(null);Ki.displayName=`RecceRoutingContext`;function qi(){return xn(Ki)||{basePath:``,buildPath:e=>e,pathname:``,navigate:e=>{typeof window<`u`&&(window.location.href=e)}}}function Ji(){let{pathname:e,navigate:t}=qi();return[e,t]}function Yi({children:e,config:t}){let n=t?.basePath??``,r=t?.pathname??``,i=t?.onNavigate,a=B(e=>n?`${n}${e.startsWith(`/`)?e:`/${e}`}`:e,[n]),o=B((e,t)=>{i?i(e,t):typeof window<`u`&&(t?.replace?(window.history.replaceState(null,``,e),window.dispatchEvent(new PopStateEvent(`popstate`))):window.location.href=e)},[i]),s=V(()=>({basePath:n,buildPath:a,pathname:r,navigate:o}),[n,a,r,o]);return W(Ki.Provider,{value:s,children:e})}const Xi=e=>new un({defaultOptions:{queries:{staleTime:e?.staleTime??1e3*60,gcTime:e?.gcTime??1e3*60*5,retry:1,refetchOnWindowFocus:!1}}});function Zi({children:e,api:t,theme:n=`system`,routing:r,queryClient:i,runActions:a,lineage:o,checks:s,query:c,features:l={}}){let u=i?.staleTime,d=i?.gcTime,f=V(()=>Xi({staleTime:u,gcTime:d}),[u,d]),{enableInstance:p=!0,enableIdleTimeout:m=!0,enableLineage:h=!0,enableRunActions:g=!0,enableChecks:_=!0,enableQuery:v=!0}=l,y=e;return y=W(Yi,{config:r,children:y}),y=W(Dt,{defaultMode:n,children:y}),y=W(re,{config:t,children:y}),y=W(dn,{client:f,children:y}),v&&(y=W(Re,{sql:c?.sql,isExecuting:c?.isExecuting,error:c?.error,baseResult:c?.baseResult,currentResult:c?.currentResult,onSqlChange:c?.onSqlChange,onExecute:c?.onExecute,onCancel:c?.onCancel,children:y})),_&&(y=W(we,{checks:s?.checks,isLoading:s?.isLoading,error:s?.error,selectedCheckId:s?.selectedCheckId,onSelectCheck:s?.onSelectCheck,onCreateCheck:s?.onCreateCheck,onUpdateCheck:s?.onUpdateCheck,onDeleteCheck:s?.onDeleteCheck,onReorderChecks:s?.onReorderChecks,refetchChecks:s?.refetchChecks,children:y})),g&&(y=W(ae,{onRunAction:a?.onRunAction,onShowRunId:a?.onShowRunId,initialRunId:a?.initialRunId,initialHistoryOpen:a?.initialHistoryOpen,children:y})),h&&(y=W(P,{lineageGraph:o?.lineageGraph,envInfo:o?.envInfo,reviewMode:o?.reviewMode,cloudMode:o?.cloudMode,fileMode:o?.fileMode,fileName:o?.fileName,isDemoSite:o?.isDemoSite,isCodespace:o?.isCodespace,isLoading:o?.isLoading,error:o?.error,supportTasks:o?.supportTasks,onRefetchLineageGraph:o?.onRefetchLineageGraph,runsAggregated:o?.runsAggregated,onRefetchRunsAggregated:o?.onRefetchRunsAggregated,children:y})),m&&(y=W(ve,{children:y})),p&&(y=W(ie,{children:y})),y}function Qi({actionState:e,onCancel:t,onClose:n}){let r=()=>e.mode===`per_node`?`${e.completed} / ${e.total}`:e.currentRun?.progress?.percentage?`${e.currentRun.progress.percentage*100}%`:e.status===`completed`?`100%`:`0%`,i=e.status===`running`||e.status===`canceling`;return W(K,{sx:{bgcolor:`background.paper`,borderRadius:1,boxShadow:6},children:G(J,{direction:`row`,divider:W(Vn,{orientation:`vertical`,flexItem:!0}),spacing:2,sx:{p:`5px 15px`,mt:2},children:[G(K,{sx:{fontSize:`10pt`},children:[`Progress: `,r(),` `,e.status===`canceled`?` (canceled)`:``]}),i?W(q,{size:`small`,variant:`outlined`,onClick:t,disabled:e.status===`canceling`,children:e.status===`canceling`?`Canceling`:`Cancel`}):W(J,{direction:`row`,children:W(q,{size:`small`,variant:`outlined`,onClick:n,children:`Close`})})]})})}const $i=({lineageGraph:e,cllInput:t,onCenterNode:n})=>{let r={cursor:`pointer`,fontFamily:`monospace`,bgcolor:Et()?`grey.700`:`grey.100`,px:.5,borderRadius:.5};if(!e)return W(U,{});if(!t)return W(U,{children:`Default View`});if(t.node_id===void 0)return W(Y,{component:`span`,children:`Impact Radius for All Changed Models`});let i=t.node_id in e.nodes?e.nodes[t.node_id].data.name:t.node_id;if(!t.column){let e=t.node_id;return G(U,{children:[W(Y,{component:`span`,sx:{mr:`5px`},children:`Impact Radius for`}),W(K,{component:`code`,onClick:()=>{n(e)},sx:r,children:i})]})}let a=`${t.node_id}_${t.column}`;return G(U,{children:[G(Y,{component:`span`,sx:{mr:`5px`},children:[`Column Lineage for`,` `]}),G(K,{component:`code`,onClick:()=>{n(a)},sx:r,children:[i,`.`,t.column]})]})},ea=({action:e,interactive:t,viewOptions:n,lineageGraph:r,singleEnvMode:i=!1,changeAnalysisAvailable:a=!0,onShowCll:o,onResetCll:s,onCenterNode:c,setChangeAnalysisMode:l})=>{let u=n.column_level_lineage,d=!r?.catalogMetadata.current;return G(J,{direction:`row`,spacing:`5px`,children:[!i&&W(K,{sx:{borderRadius:1,boxShadow:3},children:W(Z,{enterDelay:50,title:a?d?`Please provide catalog.json to enable Impact Radius`:``:`Requires warehouse connection`,placement:`top`,children:W(`span`,{children:W(q,{size:`small`,variant:`outlined`,color:`neutral`,sx:{whiteSpace:`nowrap`,display:`inline-flex`,bgcolor:`background.paper`},disabled:!t||d||!a,startIcon:W(qn,{}),onClick:()=>{l?.(!0),o({no_upstream:!0,change_analysis:!0})},children:`Impact Radius`})})})}),u&&G(J,{direction:`row`,alignItems:`center`,sx:{borderRadius:1,boxShadow:3,border:`1px solid`,borderColor:`divider`,bgcolor:`background.paper`,fontSize:`0.8rem`,p:`0 0.625rem`},children:[W($i,{lineageGraph:r,cllInput:u,onCenterNode:c}),e.isError&&W(Z,{title:`Error: ${e.error.message}`,placement:`bottom`,children:W(Y,{component:`span`,sx:{color:`error.main`,ml:`2px`,display:`inline-flex`,alignItems:`center`},children:W(K,{component:rr,sx:{color:`error.main`,fontSize:`14px`}})})}),e.isPending?W(Hn,{size:12,sx:{ml:`2px`}}):W(X,{size:`small`,sx:{ml:`2px`},"aria-label":`Reset Column Level Lineage`,onClick:()=>{s()},children:W(mr,{size:`10px`})})]})]})};function ta({onClose:e}){let{cancel:t,actionState:n}=le();return W(Qi,{actionState:n,onCancel:t,onClose:e})}const na=({action:e})=>{let{showColumnLevelLineage:t,resetColumnLevelLineage:n,interactive:r,viewOptions:i,centerNode:a,setChangeAnalysisMode:o}=le(),{data:s}=F(),c=s?.single_env_onboarding??!1,{lineageGraph:l,isActionAvailable:u}=M();return W(ea,{action:e,interactive:r,viewOptions:i,lineageGraph:l,singleEnvMode:c,changeAnalysisAvailable:u(`change_analysis`),onShowCll:t,onResetCll:()=>n(),onCenterNode:a,setChangeAnalysisMode:o})};function ra(e){let{id:t,data:n}=e,{id:r}=n.node,{column:i,type:a,transformationType:o,changeStatus:s}=n,c=jr(e=>e.transform[2]>.3),{isDark:l}=ct(),{viewOptions:u,showContextMenu:d,isNodeHighlighted:f,isNodeShowingChangeAnalysis:p}=le(),m=u.column_level_lineage?.node_id,h=i===u.column_level_lineage?.column&&r===m,g=f(t),_=p(r);return W(wt,{id:t,data:{column:i,type:a,nodeId:r,transformationType:o,changeStatus:s,isHighlighted:g,isFocused:h},showContent:c,showChangeAnalysis:_,isDark:l,onContextMenu:(t,n)=>{d(t,e)}})}const ia=bn(ra);ia.displayName=`GraphColumnNode`;function aa(e){let{source:t,target:n,sourceX:r,sourceY:i,targetX:a,targetY:o,sourcePosition:s,targetPosition:c,style:l={},markerEnd:u,data:d,isEdgeHighlighted:f}=e,p={...l};d?.changeStatus&&(p.stroke=nt(d.changeStatus).hexColor,p.strokeDasharray=`5`),!f||f(t,n)||(p.filter=`opacity(0.2) grayscale(50%)`);let[m]=Er({sourceX:r,sourceY:i,sourcePosition:s,targetX:a,targetY:o,targetPosition:c});return W(U,{children:W(vr,{path:m,markerEnd:u,style:{...p,...l}})})}const oa=bn(aa);oa.displayName=`GraphEdge`;function sa(e){let{isEdgeHighlighted:t}=le();return W(oa,{...e,isEdgeHighlighted:t})}const ca=()=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 256 256`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,children:W(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm16-40a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176ZM112,84a12,12,0,1,1,12,12A12,12,0,0,1,112,84Z`})}),la=()=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 256 256`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,children:W(`path`,{d:`M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z`})});function ua({skipReason:e}){return W(hr,{size:`small`,label:G(J,{direction:`row`,sx:{fontSize:`10pt`,color:`grey.500`,alignItems:`center`,gap:`3px`},children:[W(K,{children:`Skipped`}),e&&W(Z,{title:e,children:W(K,{component:`span`,sx:{display:`flex`},children:W(ca,{})})})]}),sx:{bgcolor:`grey.100`}})}function da({errorMessage:e}){return G(J,{direction:`row`,sx:{fontSize:`10pt`,color:`gray`,alignItems:`center`},children:[W(K,{children:`Error`}),e&&W(Z,{title:e,children:W(K,{component:`span`,sx:{display:`flex`},children:W(la,{})})})]})}function fa({result:e}){let{mismatchedColumns:t}=e,n=t>0;return W(hr,{size:`small`,sx:{bgcolor:n?`error.light`:`success.light`},label:W(J,{direction:`row`,sx:{fontSize:`10pt`,color:n?`error.main`:`success.main`,alignItems:`center`,gap:`3px`},children:n?`${t} columns mismatched`:`All columns match`})})}function pa({result:e}){let{base:t,current:n}=e,r=t===null?`N/A`:t.toLocaleString(),i=n===null?`N/A`:n.toLocaleString(),a=``,o=`grey.500`;return t!==null&&n!==null&&(n>t?(a=`↑`,o=`success.main`):n<t?(a=`↓`,o=`error.main`):a=`=`),W(hr,{size:`small`,sx:{bgcolor:`grey.100`},label:G(J,{direction:`row`,sx:{fontSize:`10pt`,alignItems:`center`,gap:`3px`},children:[W(K,{children:r}),W(K,{children:`→`}),W(K,{children:i}),a&&W(K,{component:`span`,sx:{color:o,ml:.5},children:a})]})})}function ma({status:e,skipReason:t,errorMessage:n,progress:r,valueDiffResult:i,rowCountDiffResult:a,runId:o,"data-testid":s}){return e===`pending`?W(Hn,{size:16,"data-testid":s,"data-status":`pending`}):e===`skipped`?W(K,{"data-testid":s,"data-status":`skipped`,children:W(ua,{skipReason:t})}):e===`running`?r?.percentage===void 0?W(Hn,{size:16,"data-testid":s,"data-status":`running`}):W(Hn,{variant:`determinate`,value:r.percentage*100,size:16,"data-testid":s,"data-status":`running`}):e===`error`?W(K,{"data-testid":s,"data-status":`error`,children:W(da,{errorMessage:n})}):i?W(K,{"data-testid":s,"data-status":`success`,children:W(fa,{result:i})}):a?W(K,{"data-testid":s,"data-status":`success`,children:W(pa,{result:a})}):W(K,{"data-testid":s,"data-status":`success`,children:o||`Complete`})}const ha=bn(ma);ha.displayName=`ActionTag`;function ga({event:e}){let t=l(e),n={create:lr,comment:Qn,approve:$n,unapprove:er,edit:or,preset:Xn},r={create:`primary.main`,comment:`grey.500`,approve:`success.main`,unapprove:`grey.400`,edit:`warning.main`,preset:`secondary.main`},i=n[t],a=r[t];return W(K,{component:i,sx:{color:a,fontSize:16}})}function _a({event:e}){let{actor:t}=e,{avatarUrl:n}=Be({userId:t.user_id}),r=(t.fullname||t.login||`User`).charAt(0).toUpperCase();return W(Zr,{src:n||void 0,sx:{width:24,height:24,fontSize:`0.75rem`},children:r})}function va({event:e}){let{actor:t}=e,n=t.fullname||t.login||`Someone`,r=ei(new Date(e.created_at),{addSuffix:!0}),i=``;switch(e.event_type){case`check_created`:i=`created this check`;break;case`approval_change`:i=e.new_value===`true`?`approved this check`:`unapproved this check`;break;case`description_change`:i=`updated the description`;break;case`name_change`:i=`renamed this check`;break;case`preset_applied`:i=`applied a preset`;break;default:i=`made a change`}return G(K,{sx:{display:`flex`,gap:1,alignItems:`flex-start`,py:1},children:[W(K,{sx:{pt:`2px`},children:W(ga,{event:e})}),W(K,{sx:{flex:1},children:G(J,{direction:`row`,spacing:.5,flexWrap:`wrap`,alignItems:`center`,children:[W(_a,{event:e}),W(Y,{variant:`body2`,fontWeight:`500`,children:n}),W(Y,{variant:`body2`,color:`text.secondary`,children:i}),W(Y,{variant:`caption`,color:`text.disabled`,children:r})]})})]})}function ya({event:e,currentUserId:t,onEdit:n,onDelete:r}){let i=Et(),[a,o]=H(!1),[s,c]=H(e.content||``),[l,u]=H(!1),[d,f]=H(!1),[p,m]=H(null),h=!!p,{actor:g}=e,_=g.fullname||g.login||`Someone`,v=ei(new Date(e.created_at),{addSuffix:!0}),y=t&&String(g.user_id)===String(t),b=()=>{c(e.content||``),o(!0)},x=()=>{c(e.content||``),o(!1)},S=async()=>{let t=s.trim();if(!t||t===e.content){x();return}if(n){u(!0);try{await n(e.id,t),o(!1)}finally{u(!1)}}},C=e=>{e.key===`Escape`?x():e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),S())},w=e=>{m(e.currentTarget)},T=()=>{m(null)},E=async()=>{if(r){f(!0);try{await r(e.id),T()}finally{f(!1)}}};return e.is_deleted?G(K,{sx:{display:`flex`,gap:1,alignItems:`center`,py:1},children:[W(K,{sx:{pt:`2px`,display:`flex`,alignItems:`center`},children:W(ga,{event:e})}),W(K,{sx:{display:`flex`,flex:1,alignItems:`center`},children:W(Y,{variant:`body2`,color:`text.disabled`,fontStyle:`italic`,children:`Comment deleted`})})]}):G(K,{sx:{display:`flex`,gap:1,alignItems:`flex-start`,py:1},children:[W(K,{sx:{pt:`2px`},children:W(ga,{event:e})}),G(K,{sx:{flex:1},children:[G(J,{direction:`row`,spacing:.5,sx:{mb:.5},flexWrap:`wrap`,alignItems:`center`,children:[W(_a,{event:e}),G(Y,{variant:`body2`,fontWeight:`500`,children:[_,y&&G(Y,{component:`span`,variant:`body2`,color:`text.secondary`,children:[` `,`(Author)`]})]}),W(Y,{variant:`caption`,color:`text.disabled`,children:v}),e.is_edited&&W(Y,{variant:`caption`,color:`text.disabled`,children:`(edited)`})]}),a?G(K,{children:[W(Kr,{value:s,onChange:e=>c(e.target.value),onKeyDown:C,size:`small`,multiline:!0,minRows:3,fullWidth:!0,disabled:l,autoFocus:!0,sx:{"& .MuiOutlinedInput-root":{bgcolor:`background.paper`,"&:focus-within":{borderColor:`primary.main`}}}}),G(J,{direction:`row`,spacing:1,sx:{mt:1},justifyContent:`flex-end`,children:[W(q,{size:`small`,variant:`text`,onClick:x,disabled:l,children:`Cancel`}),W(q,{size:`small`,variant:`contained`,onClick:S,disabled:!s.trim()||l,children:l?`Saving...`:`Save`})]})]}):G(K,{sx:{bgcolor:i?`grey.800`:`grey.50`,borderRadius:1,p:1,border:`1px solid`,borderColor:i?`grey.700`:`grey.200`,position:`relative`,"&:hover .comment-actions":{opacity:1}},children:[W(mt,{content:e.content||``,fontSize:`sm`}),y&&(n||r)&&G(J,{className:`comment-actions`,direction:`row`,spacing:0,sx:{position:`absolute`,top:4,right:4,opacity:0,transition:`opacity 0.2s`},children:[n&&W(Z,{title:`Edit comment`,children:W(X,{"aria-label":`Edit comment`,size:`small`,onClick:b,children:W(cr,{})})}),r&&G(U,{children:[W(Z,{title:`Delete comment`,children:W(X,{"aria-label":`Delete comment`,size:`small`,color:`error`,onClick:w,children:W(pr,{})})}),W(Qr,{open:h,anchorEl:p,onClose:T,anchorOrigin:{vertical:`bottom`,horizontal:`center`},transformOrigin:{vertical:`top`,horizontal:`center`},children:G(K,{sx:{p:2},children:[W(Y,{variant:`body2`,sx:{mb:2},children:`Delete this comment?`}),G(J,{direction:`row`,spacing:1,justifyContent:`flex-end`,children:[W(q,{size:`small`,variant:`text`,onClick:T,disabled:d,children:`Cancel`}),W(q,{size:`small`,variant:`contained`,color:`error`,onClick:E,disabled:d,children:d?`Deleting...`:`Delete`})]})]})})]})]})]})]})]})}function ba({event:e,currentUserId:t,onEdit:n,onDelete:r}){return e.event_type===`comment`?W(ya,{event:e,currentUserId:t,onEdit:n,onDelete:r}):W(va,{event:e})}function xa({checkId:e}){let t=Et(),{apiClient:n}=Oe(),{events:r,isLoading:i,error:a,createComment:o,isCreatingComment:s,updateComment:c,deleteComment:l}=Ye(e),{data:u}=pn({queryKey:A.user(),queryFn:()=>Bt(n),retry:!1}),d=e=>{o(e)},f=async(e,t)=>{await c({eventId:e,content:t})},p=async e=>{await l(e)};return i?W(K,{sx:{height:`100%`,p:4,display:`flex`,justifyContent:`center`,alignItems:`center`},children:W(Hn,{size:20})}):a?W(K,{sx:{height:`100%`,p:4,display:`flex`,justifyContent:`center`,alignItems:`center`},children:W(Y,{sx:{fontSize:`0.875rem`,color:`error.main`},children:`Failed to load timeline`})}):G(J,{sx:{height:`100%`,alignItems:`stretch`,borderLeft:`1px solid`,borderColor:t?`grey.700`:`grey.200`},spacing:0,children:[W(K,{sx:{px:3,py:2,borderBottom:`1px solid`,borderColor:t?`grey.700`:`grey.200`},children:W(Y,{variant:`subtitle2`,sx:{fontWeight:500},children:`Activity`})}),W(K,{sx:{flex:1,overflowY:`auto`,px:3,py:2},children:r.length===0?W(Y,{sx:{fontSize:`0.875rem`,color:`grey.500`},children:`No activity yet`}):W(J,{sx:{alignItems:`stretch`},spacing:0,children:r.map((e,n)=>G(K,{children:[W(ba,{event:e,currentUserId:u?.id,onEdit:f,onDelete:p}),n<r.length-1&&W(Vn,{sx:{borderColor:t?`grey.700`:`grey.100`}})]},e.id))})}),W(K,{sx:{px:3,py:3,borderTop:`1px solid`,borderColor:t?`grey.700`:`grey.200`,bgcolor:t?`grey.900`:`grey.50`},children:W(Ce,{onSubmit:d,isSubmitting:s})})]})}function Sa({color:e}){return W(K,{component:`span`,sx:{display:`inline-block`,width:`10px`,height:`10px`,bgcolor:e,mr:1,borderRadius:`4px`}})}const Ca=({defaultPrimaryKeys:e,onPrimaryKeysChange:t,...n})=>{let{lineageGraph:r,isActionAvailable:i}=M(),a=V(()=>{if(!r)return[];let e=new Set;for(let t in r.nodes){let n=r.nodes[t],i={...n.data.data.base?.columns??{},...n.data.data.current?.columns??{}};Object.entries(i).forEach(([t,n])=>{n?.unique&&e.add(t)})}return Array.from(e).sort()},[r]);return W(K,{sx:{display:`flex`},...n,children:G(J,{spacing:0,sx:{m:`0 0.5rem`},children:[G(J,{direction:`row`,alignItems:`center`,spacing:.5,children:[W(Y,{component:`label`,sx:{fontSize:`0.625rem`,color:`text.secondary`},children:`Diff with Primary Key(s) (suggested)`}),W(Z,{title:`Provide a primary key to perform query diff in data warehouse and only return changed rows.`,placement:`bottom-end`,children:W(K,{component:`span`,sx:{display:`flex`,color:`grey.600`,cursor:`help`},children:W(rr,{fontSize:`0.75rem`})})})]}),W(dt,{className:`no-track-pii-safe`,unitName:`key`,defaultValues:e,suggestionList:a,onValuesChange:t,size:`2xs`,width:`240px`,placeholder:`Select or type to add keys`,disabled:!i(`query_diff_with_primary_key`)})]})})};function wa({supportCalendarUrl:e=`https://cal.com/team/recce/chat`}){let{data:t}=j();return W(`div`,{className:`flex flex-1 h-full min-h-0 m-2 p-4 bg-blue-50 rounded-lg shadow-md justify-center`,children:G(`div`,{className:`w-4/5 flex flex-col overflow-y-auto gap-6 px-8 pb-8`,children:[G(J,{alignItems:`center`,spacing:2,children:[W(K,{sx:{p:1,bgcolor:`background.paper`,borderRadius:`50%`,display:`flex`,alignItems:`center`,justifyContent:`center`,boxShadow:2},children:W(K,{component:bi,sx:{fontSize:28,color:`iochmara.500`}})}),W(Y,{variant:`h5`,sx:{mt:2},children:`Wait, there's more!`}),G(Y,{sx:{fontSize:`1rem`,textAlign:`center`},children:[`Query functions disabled without a`,` `,W(Y,{component:`span`,sx:{fontWeight:`bold`},children:`data warehouse connection`})]})]}),W(J,{sx:{width:`50%`,mt:3,mx:`auto`},children:W(q,{color:`iochmara`,variant:`contained`,size:`large`,onClick:()=>{window.open(Rt(t,e),`_blank`)},children:`Connect to Data Warehouse`})})]})})}const Ta=()=>{let{isCustomQueries:e,setCustomQueries:t,sqlQuery:n,setBaseSqlQuery:r}=Ie();return G(K,{children:[G(J,{direction:`row`,spacing:.5,alignItems:`center`,fontSize:`0.75rem`,children:[W(Y,{variant:`body2`,sx:{fontSize:`0.75rem`},children:`Custom Queries`}),W(Z,{title:`Custom queries allow you to use two SQL queries to compare results between current and base environments.`,children:W(K,{component:`span`,sx:{display:`flex`,color:`grey.600`},children:W(ir,{fontSize:`1rem`})})})]}),W(hi,{size:`small`,checked:e,onChange:()=>{!e&&r&&r(n),t(!e)},color:`primary`})]})},Ea=()=>{let{sqlQuery:e,baseSqlQuery:t,setSqlQuery:n,setBaseSqlQuery:i,primaryKeys:o,setPrimaryKeys:s,isCustomQueries:c}=Ie(),{lineageGraph:l,envInfo:d}=M(),{featureToggles:f,singleEnv:p}=I(),m=e;d?.adapterType===`sqlmesh`&&e===`select * from {{ ref("mymodel") }}`&&(m=`select * from db.mymodel`),f.mode===`read only`&&(m=`--- Would like to do query here? Book a demo with us at ${Ht}\n${m}`);let{showRunId:g}=de(),{apiClient:_}=Oe(),{mutate:v,isPending:y}=fn({mutationFn:async e=>{function n(e){switch(e){case`query`:return u;case`query_base`:return r;case`query_diff`:return a;default:throw Error(`Unknown query type: ${e}`)}}let i=e===`query_base`?t??``:m,s=n(e),l={sql_template:i},d={nowait:!0};e===`query_diff`&&(l.primary_keys=o,c&&(l.base_sql_template=t));let{run_id:f}=await s(l,d,_);return g(f),await h(f,void 0,_)}}),b=V(()=>{let e={};if(!l)return`N/A`;for(let t in l.nodes){let n=l.nodes[t].data.data.current?.schema;n&&(e[n]=(e[n]||0)+1)}return Object.keys(e).reduce((t,n)=>e[n]>(e[t]||0)?n:t,`N/A`)},[l]);return p||f.mode===`metadata only`?G(K,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:[G(K,{sx:{display:`flex`,justifyContent:`right`,alignItems:`center`,padding:`4pt 8pt`,gap:`5px`,height:`54px`,borderBottom:`1px solid`,borderColor:`divider`},children:[W(Go,{}),W(K,{sx:{flexGrow:1}}),p?W(Z,{title:`Please configure the base environment before running the diff`,placement:`left`,children:W(`span`,{children:W(q,{variant:`contained`,disabled:!0,size:`small`,sx:{fontSize:`14px`,mt:`16px`},children:`Run Diff`})})}):W(Ps,{display:f.mode===`metadata only`,children:W(q,{variant:`contained`,disabled:!0,size:`small`,sx:{fontSize:`14px`,mt:`16px`},children:`Run Diff`})})]}),W(it,{value:m,onChange:n,onRun:()=>{v(`query`)},labels:[`base (production)`,`current (${b})`],SetupGuide:f.mode===`metadata only`?W(wa,{}):W(Bo,{})})]}):G(K,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:[G(K,{sx:{display:`flex`,justifyContent:`right`,alignItems:`flex-end`,padding:`4pt 8pt`,gap:`5px`,height:`54px`,borderBottom:`1px solid`,borderColor:`divider`,flex:`0 0 54px`},children:[W(Go,{}),W(Ta,{}),W(K,{sx:{flexGrow:1}}),W(Ca,{defaultPrimaryKeys:o,onPrimaryKeysChange:s}),W(q,{variant:`contained`,onClick:()=>{v(`query_diff`)},disabled:y||f.disableDatabaseQuery,size:`small`,children:`Run Diff`})]}),W(K,{sx:{width:`100%`,flex:1,overflowY:`auto`},children:c?W(it,{value:m,baseValue:t,onChange:n,onChangeBase:i,onRun:()=>{v(`query`)},onRunBase:()=>{v(`query_base`)},onRunDiff:()=>{v(`query_diff`)}}):W(Se,{value:m,onChange:n,onRun:()=>{v(`query`)},onRunDiff:()=>{v(`query_diff`)}})})]})};function Da({rowCount:e}){let t=e.base,n=e.curr,r=e.base===null?`N/A`:`${e.base} Rows`,i=e.curr===null?`N/A`:`${e.curr} Rows`,a,o;t===null&&n===null?(a=`Failed to load`,o=`default`):t===null||n===null?(a=`${r} -> ${i}`,o=t===null?`success`:`error`):t===n?(a=`=`,o=`default`):(a=`${Nt(t,n)} Rows`,o=t<n?`success`:`error`);let s=z(`row_count_diff`).icon;return W(hr,{size:`small`,color:o,icon:s?W(s,{}):void 0,label:a,sx:{height:20,fontSize:`0.7rem`}})}function Oa({id:e,inverted:t}){let{lineageGraph:n,runsAggregated:r}=M(),{text:i,isDark:a}=ct(),o=r?.[e],s=n?.nodes[e];if(!o&&!s)return null;let c;if(s?.data.data.base&&s.data.data.current){let e=s.data.data.base.columns,t=s.data.data.current.columns;c=Pt(e,t)}let l;if(o?.row_count_diff){let e=o.row_count_diff.result;l=e.curr!==e.base}let u=t?i.inverted:nt(`modified`).color,d=t?i.secondary:a?`grey.700`:`grey.100`,f=z(`schema_diff`).icon;return G(K,{sx:{display:`flex`,flex:1,alignItems:`center`},children:[c!==void 0&&W(Z,{title:`Schema (${c?`changed`:`no change`})`,enterDelay:500,children:W(K,{sx:{height:16},children:f&&W(K,{component:f,sx:{color:c?u:d}})})}),W(K,{sx:{flexGrow:1}}),o?.row_count_diff&&l!==void 0&&W(Z,{title:`Row count (${l?`changed`:`=`})`,enterDelay:500,children:W(K,{children:W(Da,{rowCount:o.row_count_diff.result})})})]})}function ka({nodeId:e,nodeName:t}){let{getNodeAction:n}=le(),r=n(e);if(!r)return null;let{status:i,skipReason:a,run:o}=r;if(i===`pending`)return W(ha,{status:`pending`});if(i===`skipped`)return W(ha,{status:`skipped`,skipReason:a});if(!o)return W(ha,{status:`pending`});let{error:s,run_id:c,progress:l}=o;if(i===`running`)return W(ha,{status:`running`,progress:{percentage:l?.percentage}});if(s)return W(ha,{status:`error`,errorMessage:s});if(o.type===`value_diff`&&o.result){let e=o.result,t=0,n=e.data.data.length;for(let n of e.data.data)n[2]<1&&t++;return W(ha,{status:`success`,valueDiffResult:{mismatchedColumns:t,totalColumns:n}})}if(S(o)&&o.result){let e=o.result[t];if(e)return W(Da,{rowCount:e})}if(o.type===`row_count`&&o.result){let e=o.result[t];if(e?.curr!==void 0&&e.curr!==null)return W(hr,{size:`small`,label:`${e.curr.toLocaleString()} Rows`,sx:{height:20,fontSize:`0.7rem`}})}return W(ha,{status:`success`,runId:c})}function Aa(e){let{data:t}=e,{id:n,resourceType:r,changeStatus:i,name:a}=t,o=jr(e=>e.transform[2]>.3),{isDark:s}=ct(),{interactive:c,selectNode:l,selectMode:u,focusedNode:d,getNodeAction:f,getNodeColumnSet:p,isNodeHighlighted:m,isNodeSelected:h,isNodeShowingChangeAnalysis:g,showContextMenu:_,viewOptions:v,cll:y,showColumnLevelLineage:b,setChangeAnalysisMode:x}=le(),{isActionAvailable:S}=M(),C=y?.current.nodes[n]?.change_category,w=m(n),T=h(n),E=v.column_level_lineage?.node_id===n&&v.column_level_lineage.column===void 0,D=d?.id===n||E,O=g(n),k=p(t.id),ee=u===`action_result`?f(t.id):void 0,te=i,ne=u,re=u===`action_result`&&ee?W(ka,{nodeId:n,nodeName:a}):void 0,A=u!==`action_result`&&t.resourceType===`model`?W(Oa,{id:t.id,inverted:u===`selecting`&&T}):void 0;return W(lt,{id:n,data:{label:a,changeStatus:te,resourceType:r},interactive:c,selectMode:ne,isNodeSelected:T,isFocused:D,isHighlighted:w,showContent:o,actionTag:re,showChangeAnalysis:O,changeCategory:C,runsAggregatedTag:A,hasParents:Object.keys(t.parents).length>0,hasChildren:Object.keys(t.children).length>0,columnCount:k.size,columnHeight:24,isDark:s,onSelect:e=>{l(e)},onContextMenu:(t,n)=>{_(t,e)},onShowImpactRadius:i===`modified`&&S(`change_analysis`)?e=>{x(!0),b({node_id:e,change_analysis:!0,no_upstream:!0})}:void 0})}const ja=bn(Aa);ja.displayName=`GraphNode`;const Ma={lineageGraphNode:ja,lineageGraphColumnNode:ia},Na={lineageGraphEdge:sa},Pa=[],Fa=e=>e.data.changeStatus?nt(e.data.changeStatus).hexColor:be.neutral[400],Ia={ROW_COUNT:`row_count`,ROW_COUNT_DIFF:`row_count_diff`,PROFILE:`profile`,PROFILE_DIFF:`profile_diff`,VALUE_DIFF:`value_diff`,HISTOGRAM_DIFF:`histogram_diff`,TOP_K_DIFF:`top_k_diff`},La={LINEAGE_VIEW_CONTEXT_MENU:`lineage_view_context_menu`},Ra={SELECT_PARENT_NODES:`select_parent_nodes`,SELECT_CHILD_NODES:`select_child_nodes`,SELECT_ALL_UPSTREAM:`select_all_upstream`,SELECT_ALL_DOWNSTREAM:`select_all_downstream`},za=({menuItems:e,open:t,onClose:n,x:r,y:i,featureToggles:a,DisabledItemWrapper:o})=>{let s=o??(({children:e})=>W(U,{children:e})),c=a?.mode===`metadata only`;return W(Rr,{open:t,onClose:n,anchorReference:`anchorPosition`,anchorPosition:{top:i,left:r},slotProps:{paper:{sx:{fontSize:`0.85rem`,width:`250px`}}},children:e.length===0?W(Q,{disabled:!0,children:`No action available`},`no action`):e.map(({isSeparator:e,label:t,isDisabled:r,action:i,itemIcon:a})=>{if(e)return W(Vn,{},t);let l=G(Q,{disabled:r,onClick:()=>{i&&i(),n()},children:[a,` `,t]},t);return r&&o?W(s,{display:c,children:l},t):l})})},Ba=({isOpen:e,onClose:t,x:n,y:r,node:i,deps:a={},viewOptions:o={},featureToggles:s={},serverFlags:c={},noCatalogCurrent:l=!1,isActionAvailable:u=()=>!0})=>{let d=[],{runAction:f,onNavigate:p,onTrack:m,findByRunType:h,setSqlQuery:g,setPrimaryKeys:_,getPrimaryKey:v,DisabledItemWrapper:y}=a,{selectMode:b,cll:x,showColumnLevelLineage:S,setChangeAnalysisMode:C,selectParentNodes:w,selectChildNodes:T,getNodeColumnSet:E}=o,D=c.single_env_onboarding??!1,O=s.disableDatabaseQuery??!1;if(!i?.data)return W(U,{});let k=i.data,ee=k.resourceType,te=E?Array.from(E(i.id)):[],ne={source:`lineage_model_node`},re=k.changeStatus,A=v?.(k.name);if(re===`modified`&&d.push({label:`Show Impact Radius`,itemIcon:W(qn,{}),isDisabled:l||!u(`change_analysis`),action:()=>{C?.(!0),S?.({node_id:i.id,change_analysis:!0,no_upstream:!0})}}),!b&&ee&&[`model`,`seed`,`snapshot`].includes(ee)){d.length>0&&d.push({label:`select group one`,isSeparator:!0});let e=h?.(D?`query`:`query_diff`),t=Ft(Object.keys(k.data.base?.columns??{}),Object.keys(k.data.current?.columns??{})),n=`select * from {{ ref("${k.name}") }}`;if(t.length&&(n=`select \n ${t.join(`
|
|
2
|
+
import{$ as e,A as t,D as n,G as r,J as i,K as a,M as o,N as s,O as c,R as l,W as u,_t as d,a as f,c as p,d as m,et as h,gt as g,h as _,it as v,j as y,k as b,l as x,lt as S,m as C,mt as w,n as T,nt as E,o as D,p as O,s as k,u as ee,w as te,x as ne}from"./api-CYMr4Sk7.js";import{c as re,f as A}from"./keepAlive-CkKaK4Uw.js";import{C as ie,O as ae,T as j,_ as M,a as oe,b as N,d as se,f as ce,g as P,h as le,j as ue,k as de,l as fe,m as pe,o as me,p as he,s as ge,u as F,v as _e,w as I,y as ve}from"./utils-CjMo0oH2.js";import{i as ye,n as be}from"./colors-BpyRE67g.js";import{$t as xe,A as Se,Bt as Ce,Dn as we,E as Te,Ft as Ee,Gt as De,Ht as Oe,It as ke,L as Ae,Lt as je,M as Me,Nt as Ne,O as L,On as R,Qt as Pe,Rt as Fe,S as Ie,T as Le,Tn as Re,Ut as ze,V as z,Vt as Be,Wt as Ve,Xt as He,Yt as Ue,Zt as We,_t as Ge,an as Ke,bt as qe,c as Je,d as Ye,dn as Xe,dt as Ze,en as Qe,f as $e,fn as et,gn as tt,hn as nt,j as rt,k as it,lt as at,m as ot,mn as st,n as ct,nn as lt,o as ut,on as dt,p as ft,pn as pt,pt as mt,r as ht,rn as gt,s as _t,t as vt,tt as yt,ut as bt,v as xt,w as St,wn as Ct,yn as wt,yt as Tt}from"./AuthModal-CboQ6ZoC.js";import{Nt as Et,Pt as Dt,Q as Ot,a as kt,ct as At,dt as jt,i as Mt,m as Nt,n as Pt,o as Ft,r as It,s as Lt,t as Rt}from"./utils-m8zHoMN7.js";import{fetchGitHubAvatar as zt,fetchUser as Bt}from"./lib/api/user.js";import{PUBLIC_CLOUD_WEB_URL as Vt,RECCE_SUPPORT_CALENDAR_URL as Ht}from"./lib/const.js";import{EXPLORE_ACTION as Ut,EXPLORE_FORM_EVENT as Wt,EXPLORE_SOURCE as Gt,trackColumnLevelLineage as Kt,trackCopyToClipboard as qt,trackEnvironmentConfig as Jt,trackExploreAction as Yt,trackExploreActionForm as Xt,trackHistoryAction as Zt,trackInit as Qt,trackLineageSelection as $t,trackLineageViewRender as en,trackMultiNodesAction as tn,trackNavigation as nn,trackPreviewChange as rn,trackPreviewChangeFeedback as an,trackShareState as on,trackSingleEnvironment as sn,trackStateAction as cn}from"./lib/api/track.js";import{t as ln}from"./constants-DWSSKzi8.js";import{QueryClient as un,QueryClientProvider as dn,useMutation as fn,useQuery as pn,useQueryClient as mn}from"@tanstack/react-query";import{AxiosError as hn,isAxiosError as gn}from"axios";import{Suspense as _n,createContext as vn,forwardRef as yn,memo as bn,useCallback as B,useContext as xn,useEffect as Sn,useImperativeHandle as Cn,useLayoutEffect as wn,useMemo as V,useRef as Tn,useState as H}from"react";import{Fragment as U,jsx as W,jsxs as G}from"react/jsx-runtime";import K from"@mui/material/Box";import q from"@mui/material/Button";import En from"@mui/material/Dialog";import Dn from"@mui/material/DialogActions";import On from"@mui/material/DialogContent";import kn from"@mui/material/DialogTitle";import An from"@mui/material/Link";import J from"@mui/material/Stack";import Y from"@mui/material/Typography";import{LuExternalLink as jn,LuSave as Mn}from"react-icons/lu";import{alpha as Nn,useTheme as Pn}from"@mui/material/styles";import{useTheme as Fn}from"next-themes";import X from"@mui/material/IconButton";import In from"next/link";import{IoBookmarksOutline as Ln,IoClose as Rn,IoSync as zn,IoWarning as Bn}from"react-icons/io5";import Vn from"@mui/material/Divider";import Hn from"@mui/material/CircularProgress";import Z from"@mui/material/Tooltip";import{FaCloud as Un,FaExpandArrowsAlt as Wn,FaGithub as Gn,FaQuestionCircle as Kn,FaRegDotCircle as qn,FaSlack as Jn,FaUser as Yn}from"react-icons/fa";import{PiBookmarkSimple as Xn,PiCaretDown as Zn,PiChatText as Qn,PiCheckCircle as $n,PiCircle as er,PiCopy as tr,PiExport as nr,PiInfo as rr,PiInfoFill as ir,PiMoon as ar,PiNotePencil as or,PiPencil as sr,PiPencilSimple as cr,PiPlusCircle as lr,PiRepeat as ur,PiSun as dr,PiTrashFill as fr,PiTrashSimple as pr,PiX as mr}from"react-icons/pi";import hr from"@mui/material/Chip";import{Background as gr,BackgroundVariant as _r,BaseEdge as vr,ControlButton as yr,Controls as br,MiniMap as xr,Panel as Sr,Position as Cr,ReactFlow as wr,ReactFlowProvider as Tr,getBezierPath as Er,getNodesBounds as Dr,useEdgesState as Or,useNodesState as kr,useReactFlow as Ar,useStore as jr}from"@xyflow/react";import Mr from"file-saver";import Nr from"@mui/material/Checkbox";import Pr from"@mui/material/FormControlLabel";import{useCopyToClipboard as Fr,useInterval as Ir}from"usehooks-ts";import Lr from"@mui/material/Alert";import Rr from"@mui/material/Menu";import Q from"@mui/material/MenuItem";import{isEmpty as zr}from"lodash";import{VscCircleLarge as Br,VscFeedback as Vr,VscGitPullRequest as Hr,VscHistory as Ur,VscKebabVertical as Wr}from"react-icons/vsc";import Gr from"@mui/material/ListSubheader";import Kr from"@mui/material/TextField";import qr from"@mui/material/Tab";import Jr from"@mui/material/Tabs";import Yr from"@mui/material/List";import Xr from"@mui/material/ListItem";import"@xyflow/react/dist/style.css";import Zr from"@mui/material/Avatar";import Qr from"@mui/material/Popover";import{format as $r,formatDistanceToNow as ei,parseISO as ti}from"date-fns";import{usePathname as ni,useRouter as ri,useSearchParams as ii}from"next/navigation";import{MdWarningAmber as ai}from"react-icons/md";import{TbChecklist as oi,TbCloudUpload as si,TbEdit as ci}from"react-icons/tb";import li from"@mui/material/ListItemIcon";import ui from"@mui/material/ListItemText";import{FiArrowRight as di,FiCopy as fi,FiInfo as pi,FiPackage as mi}from"react-icons/fi";import hi from"@mui/material/Switch";import{RiArrowDownSFill as gi,RiArrowUpSFill as _i,RiMindMap as vi,RiSwapLine as yi,RiTerminalBoxLine as bi}from"react-icons/ri";import{FaBookmark as xi,FaFileImport as Si}from"react-icons/fa6";import{BiArrowFromBottom as Ci,BiArrowToBottom as wi}from"react-icons/bi";import Ti from"@dagrejs/dagre";import Ei from"@mui/material/Skeleton";import{AiOutlineExperiment as Di}from"react-icons/ai";import Oi from"@mui/material/Radio";import ki from"@mui/material/RadioGroup";import Ai from"@mui/material/Table";import ji from"@mui/material/TableBody";import $ from"@mui/material/TableCell";import Mi from"@mui/material/TableContainer";import Ni from"@mui/material/TableHead";import Pi from"@mui/material/TableRow";import Fi from"@mui/material/DialogContentText";import Ii from"@mui/material/Badge";import Li from"@mui/material/Grid";import{stripIndents as Ri}from"common-tags";import{IoMdCodeWorking as zi}from"react-icons/io";import{DragDropContext as Bi,Draggable as Vi,Droppable as Hi}from"@hello-pangea/dnd";import Ui from"@mui/material/Card";import Wi from"@mui/material/CardContent";import Gi from"@mui/material/CardHeader";const Ki=vn(null);Ki.displayName=`RecceRoutingContext`;function qi(){return xn(Ki)||{basePath:``,buildPath:e=>e,pathname:``,navigate:e=>{typeof window<`u`&&(window.location.href=e)}}}function Ji(){let{pathname:e,navigate:t}=qi();return[e,t]}function Yi({children:e,config:t}){let n=t?.basePath??``,r=t?.pathname??``,i=t?.onNavigate,a=B(e=>n?`${n}${e.startsWith(`/`)?e:`/${e}`}`:e,[n]),o=B((e,t)=>{i?i(e,t):typeof window<`u`&&(t?.replace?(window.history.replaceState(null,``,e),window.dispatchEvent(new PopStateEvent(`popstate`))):window.location.href=e)},[i]),s=V(()=>({basePath:n,buildPath:a,pathname:r,navigate:o}),[n,a,r,o]);return W(Ki.Provider,{value:s,children:e})}const Xi=e=>new un({defaultOptions:{queries:{staleTime:e?.staleTime??1e3*60,gcTime:e?.gcTime??1e3*60*5,retry:1,refetchOnWindowFocus:!1}}});function Zi({children:e,api:t,theme:n=`system`,routing:r,queryClient:i,runActions:a,lineage:o,checks:s,query:c,features:l={}}){let u=i?.staleTime,d=i?.gcTime,f=V(()=>Xi({staleTime:u,gcTime:d}),[u,d]),{enableInstance:p=!0,enableIdleTimeout:m=!0,enableLineage:h=!0,enableRunActions:g=!0,enableChecks:_=!0,enableQuery:v=!0}=l,y=e;return y=W(Yi,{config:r,children:y}),y=W(Dt,{defaultMode:n,children:y}),y=W(re,{config:t,children:y}),y=W(dn,{client:f,children:y}),v&&(y=W(Re,{sql:c?.sql,isExecuting:c?.isExecuting,error:c?.error,baseResult:c?.baseResult,currentResult:c?.currentResult,onSqlChange:c?.onSqlChange,onExecute:c?.onExecute,onCancel:c?.onCancel,children:y})),_&&(y=W(we,{checks:s?.checks,isLoading:s?.isLoading,error:s?.error,selectedCheckId:s?.selectedCheckId,onSelectCheck:s?.onSelectCheck,onCreateCheck:s?.onCreateCheck,onUpdateCheck:s?.onUpdateCheck,onDeleteCheck:s?.onDeleteCheck,onReorderChecks:s?.onReorderChecks,refetchChecks:s?.refetchChecks,children:y})),g&&(y=W(ae,{onRunAction:a?.onRunAction,onShowRunId:a?.onShowRunId,initialRunId:a?.initialRunId,initialHistoryOpen:a?.initialHistoryOpen,children:y})),h&&(y=W(P,{lineageGraph:o?.lineageGraph,envInfo:o?.envInfo,reviewMode:o?.reviewMode,cloudMode:o?.cloudMode,fileMode:o?.fileMode,fileName:o?.fileName,isDemoSite:o?.isDemoSite,isCodespace:o?.isCodespace,isLoading:o?.isLoading,error:o?.error,supportTasks:o?.supportTasks,onRefetchLineageGraph:o?.onRefetchLineageGraph,runsAggregated:o?.runsAggregated,onRefetchRunsAggregated:o?.onRefetchRunsAggregated,children:y})),m&&(y=W(ve,{children:y})),p&&(y=W(ie,{children:y})),y}function Qi({actionState:e,onCancel:t,onClose:n}){let r=()=>e.mode===`per_node`?`${e.completed} / ${e.total}`:e.currentRun?.progress?.percentage?`${e.currentRun.progress.percentage*100}%`:e.status===`completed`?`100%`:`0%`,i=e.status===`running`||e.status===`canceling`;return W(K,{sx:{bgcolor:`background.paper`,borderRadius:1,boxShadow:6},children:G(J,{direction:`row`,divider:W(Vn,{orientation:`vertical`,flexItem:!0}),spacing:2,sx:{p:`5px 15px`,mt:2},children:[G(K,{sx:{fontSize:`10pt`},children:[`Progress: `,r(),` `,e.status===`canceled`?` (canceled)`:``]}),i?W(q,{size:`small`,variant:`outlined`,onClick:t,disabled:e.status===`canceling`,children:e.status===`canceling`?`Canceling`:`Cancel`}):W(J,{direction:`row`,children:W(q,{size:`small`,variant:`outlined`,onClick:n,children:`Close`})})]})})}const $i=({lineageGraph:e,cllInput:t,onCenterNode:n})=>{let r={cursor:`pointer`,fontFamily:`monospace`,bgcolor:Et()?`grey.700`:`grey.100`,px:.5,borderRadius:.5};if(!e)return W(U,{});if(!t)return W(U,{children:`Default View`});if(t.node_id===void 0)return W(Y,{component:`span`,children:`Impact Radius for All Changed Models`});let i=t.node_id in e.nodes?e.nodes[t.node_id].data.name:t.node_id;if(!t.column){let e=t.node_id;return G(U,{children:[W(Y,{component:`span`,sx:{mr:`5px`},children:`Impact Radius for`}),W(K,{component:`code`,onClick:()=>{n(e)},sx:r,children:i})]})}let a=`${t.node_id}_${t.column}`;return G(U,{children:[G(Y,{component:`span`,sx:{mr:`5px`},children:[`Column Lineage for`,` `]}),G(K,{component:`code`,onClick:()=>{n(a)},sx:r,children:[i,`.`,t.column]})]})},ea=({action:e,interactive:t,viewOptions:n,lineageGraph:r,singleEnvMode:i=!1,changeAnalysisAvailable:a=!0,onShowCll:o,onResetCll:s,onCenterNode:c,setChangeAnalysisMode:l})=>{let u=n.column_level_lineage,d=!r?.catalogMetadata.current;return G(J,{direction:`row`,spacing:`5px`,children:[!i&&W(K,{sx:{borderRadius:1,boxShadow:3},children:W(Z,{enterDelay:50,title:a?d?`Please provide catalog.json to enable Impact Radius`:``:`Requires warehouse connection`,placement:`top`,children:W(`span`,{children:W(q,{size:`small`,variant:`outlined`,color:`neutral`,sx:{whiteSpace:`nowrap`,display:`inline-flex`,bgcolor:`background.paper`},disabled:!t||d||!a,startIcon:W(qn,{}),onClick:()=>{l?.(!0),o({no_upstream:!0,change_analysis:!0})},children:`Impact Radius`})})})}),u&&G(J,{direction:`row`,alignItems:`center`,sx:{borderRadius:1,boxShadow:3,border:`1px solid`,borderColor:`divider`,bgcolor:`background.paper`,fontSize:`0.8rem`,p:`0 0.625rem`},children:[W($i,{lineageGraph:r,cllInput:u,onCenterNode:c}),e.isError&&W(Z,{title:`Error: ${e.error.message}`,placement:`bottom`,children:W(Y,{component:`span`,sx:{color:`error.main`,ml:`2px`,display:`inline-flex`,alignItems:`center`},children:W(K,{component:rr,sx:{color:`error.main`,fontSize:`14px`}})})}),e.isPending?W(Hn,{size:12,sx:{ml:`2px`}}):W(X,{size:`small`,sx:{ml:`2px`},"aria-label":`Reset Column Level Lineage`,onClick:()=>{s()},children:W(mr,{size:`10px`})})]})]})};function ta({onClose:e}){let{cancel:t,actionState:n}=le();return W(Qi,{actionState:n,onCancel:t,onClose:e})}const na=({action:e})=>{let{showColumnLevelLineage:t,resetColumnLevelLineage:n,interactive:r,viewOptions:i,centerNode:a,setChangeAnalysisMode:o}=le(),{data:s}=F(),c=s?.single_env_onboarding??!1,{lineageGraph:l,isActionAvailable:u}=M();return W(ea,{action:e,interactive:r,viewOptions:i,lineageGraph:l,singleEnvMode:c,changeAnalysisAvailable:u(`change_analysis`),onShowCll:t,onResetCll:()=>n(),onCenterNode:a,setChangeAnalysisMode:o})};function ra(e){let{id:t,data:n}=e,{id:r}=n.node,{column:i,type:a,transformationType:o,changeStatus:s}=n,c=jr(e=>e.transform[2]>.3),{isDark:l}=ct(),{viewOptions:u,showContextMenu:d,isNodeHighlighted:f,isNodeShowingChangeAnalysis:p}=le(),m=u.column_level_lineage?.node_id,h=i===u.column_level_lineage?.column&&r===m,g=f(t),_=p(r);return W(wt,{id:t,data:{column:i,type:a,nodeId:r,transformationType:o,changeStatus:s,isHighlighted:g,isFocused:h},showContent:c,showChangeAnalysis:_,isDark:l,onContextMenu:(t,n)=>{d(t,e)}})}const ia=bn(ra);ia.displayName=`GraphColumnNode`;function aa(e){let{source:t,target:n,sourceX:r,sourceY:i,targetX:a,targetY:o,sourcePosition:s,targetPosition:c,style:l={},markerEnd:u,data:d,isEdgeHighlighted:f}=e,p={...l};d?.changeStatus&&(p.stroke=nt(d.changeStatus).hexColor,p.strokeDasharray=`5`),!f||f(t,n)||(p.filter=`opacity(0.2) grayscale(50%)`);let[m]=Er({sourceX:r,sourceY:i,sourcePosition:s,targetX:a,targetY:o,targetPosition:c});return W(U,{children:W(vr,{path:m,markerEnd:u,style:{...p,...l}})})}const oa=bn(aa);oa.displayName=`GraphEdge`;function sa(e){let{isEdgeHighlighted:t}=le();return W(oa,{...e,isEdgeHighlighted:t})}const ca=()=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 256 256`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,children:W(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm16-40a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176ZM112,84a12,12,0,1,1,12,12A12,12,0,0,1,112,84Z`})}),la=()=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 256 256`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,children:W(`path`,{d:`M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z`})});function ua({skipReason:e}){return W(hr,{size:`small`,label:G(J,{direction:`row`,sx:{fontSize:`10pt`,color:`grey.500`,alignItems:`center`,gap:`3px`},children:[W(K,{children:`Skipped`}),e&&W(Z,{title:e,children:W(K,{component:`span`,sx:{display:`flex`},children:W(ca,{})})})]}),sx:{bgcolor:`grey.100`}})}function da({errorMessage:e}){return G(J,{direction:`row`,sx:{fontSize:`10pt`,color:`gray`,alignItems:`center`},children:[W(K,{children:`Error`}),e&&W(Z,{title:e,children:W(K,{component:`span`,sx:{display:`flex`},children:W(la,{})})})]})}function fa({result:e}){let{mismatchedColumns:t}=e,n=t>0;return W(hr,{size:`small`,sx:{bgcolor:n?`error.light`:`success.light`},label:W(J,{direction:`row`,sx:{fontSize:`10pt`,color:n?`error.main`:`success.main`,alignItems:`center`,gap:`3px`},children:n?`${t} columns mismatched`:`All columns match`})})}function pa({result:e}){let{base:t,current:n}=e,r=t===null?`N/A`:t.toLocaleString(),i=n===null?`N/A`:n.toLocaleString(),a=``,o=`grey.500`;return t!==null&&n!==null&&(n>t?(a=`↑`,o=`success.main`):n<t?(a=`↓`,o=`error.main`):a=`=`),W(hr,{size:`small`,sx:{bgcolor:`grey.100`},label:G(J,{direction:`row`,sx:{fontSize:`10pt`,alignItems:`center`,gap:`3px`},children:[W(K,{children:r}),W(K,{children:`→`}),W(K,{children:i}),a&&W(K,{component:`span`,sx:{color:o,ml:.5},children:a})]})})}function ma({status:e,skipReason:t,errorMessage:n,progress:r,valueDiffResult:i,rowCountDiffResult:a,runId:o,"data-testid":s}){return e===`pending`?W(Hn,{size:16,"data-testid":s,"data-status":`pending`}):e===`skipped`?W(K,{"data-testid":s,"data-status":`skipped`,children:W(ua,{skipReason:t})}):e===`running`?r?.percentage===void 0?W(Hn,{size:16,"data-testid":s,"data-status":`running`}):W(Hn,{variant:`determinate`,value:r.percentage*100,size:16,"data-testid":s,"data-status":`running`}):e===`error`?W(K,{"data-testid":s,"data-status":`error`,children:W(da,{errorMessage:n})}):i?W(K,{"data-testid":s,"data-status":`success`,children:W(fa,{result:i})}):a?W(K,{"data-testid":s,"data-status":`success`,children:W(pa,{result:a})}):W(K,{"data-testid":s,"data-status":`success`,children:o||`Complete`})}const ha=bn(ma);ha.displayName=`ActionTag`;function ga({event:e}){let t=l(e),n={create:lr,comment:Qn,approve:$n,unapprove:er,edit:or,preset:Xn},r={create:`primary.main`,comment:`grey.500`,approve:`success.main`,unapprove:`grey.400`,edit:`warning.main`,preset:`secondary.main`},i=n[t],a=r[t];return W(K,{component:i,sx:{color:a,fontSize:16}})}function _a({event:e}){let{actor:t}=e,{avatarUrl:n}=Be({userId:t.user_id}),r=(t.fullname||t.login||`User`).charAt(0).toUpperCase();return W(Zr,{src:n||void 0,sx:{width:24,height:24,fontSize:`0.75rem`},children:r})}function va({event:e}){let{actor:t}=e,n=t.fullname||t.login||`Someone`,r=ei(new Date(e.created_at),{addSuffix:!0}),i=``;switch(e.event_type){case`check_created`:i=`created this check`;break;case`approval_change`:i=e.new_value===`true`?`approved this check`:`unapproved this check`;break;case`description_change`:i=`updated the description`;break;case`name_change`:i=`renamed this check`;break;case`preset_applied`:i=`applied a preset`;break;default:i=`made a change`}return G(K,{sx:{display:`flex`,gap:1,alignItems:`flex-start`,py:1},children:[W(K,{sx:{pt:`2px`},children:W(ga,{event:e})}),W(K,{sx:{flex:1},children:G(J,{direction:`row`,spacing:.5,flexWrap:`wrap`,alignItems:`center`,children:[W(_a,{event:e}),W(Y,{variant:`body2`,fontWeight:`500`,children:n}),W(Y,{variant:`body2`,color:`text.secondary`,children:i}),W(Y,{variant:`caption`,color:`text.disabled`,children:r})]})})]})}function ya({event:e,currentUserId:t,onEdit:n,onDelete:r}){let i=Et(),[a,o]=H(!1),[s,c]=H(e.content||``),[l,u]=H(!1),[d,f]=H(!1),[p,m]=H(null),h=!!p,{actor:g}=e,_=g.fullname||g.login||`Someone`,v=ei(new Date(e.created_at),{addSuffix:!0}),y=t&&String(g.user_id)===String(t),b=()=>{c(e.content||``),o(!0)},x=()=>{c(e.content||``),o(!1)},S=async()=>{let t=s.trim();if(!t||t===e.content){x();return}if(n){u(!0);try{await n(e.id,t),o(!1)}finally{u(!1)}}},C=e=>{e.key===`Escape`?x():e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),S())},w=e=>{m(e.currentTarget)},T=()=>{m(null)},E=async()=>{if(r){f(!0);try{await r(e.id),T()}finally{f(!1)}}};return e.is_deleted?G(K,{sx:{display:`flex`,gap:1,alignItems:`center`,py:1},children:[W(K,{sx:{pt:`2px`,display:`flex`,alignItems:`center`},children:W(ga,{event:e})}),W(K,{sx:{display:`flex`,flex:1,alignItems:`center`},children:W(Y,{variant:`body2`,color:`text.disabled`,fontStyle:`italic`,children:`Comment deleted`})})]}):G(K,{sx:{display:`flex`,gap:1,alignItems:`flex-start`,py:1},children:[W(K,{sx:{pt:`2px`},children:W(ga,{event:e})}),G(K,{sx:{flex:1},children:[G(J,{direction:`row`,spacing:.5,sx:{mb:.5},flexWrap:`wrap`,alignItems:`center`,children:[W(_a,{event:e}),G(Y,{variant:`body2`,fontWeight:`500`,children:[_,y&&G(Y,{component:`span`,variant:`body2`,color:`text.secondary`,children:[` `,`(Author)`]})]}),W(Y,{variant:`caption`,color:`text.disabled`,children:v}),e.is_edited&&W(Y,{variant:`caption`,color:`text.disabled`,children:`(edited)`})]}),a?G(K,{children:[W(Kr,{value:s,onChange:e=>c(e.target.value),onKeyDown:C,size:`small`,multiline:!0,minRows:3,fullWidth:!0,disabled:l,autoFocus:!0,sx:{"& .MuiOutlinedInput-root":{bgcolor:`background.paper`,"&:focus-within":{borderColor:`primary.main`}}}}),G(J,{direction:`row`,spacing:1,sx:{mt:1},justifyContent:`flex-end`,children:[W(q,{size:`small`,variant:`text`,onClick:x,disabled:l,children:`Cancel`}),W(q,{size:`small`,variant:`contained`,onClick:S,disabled:!s.trim()||l,children:l?`Saving...`:`Save`})]})]}):G(K,{sx:{bgcolor:i?`grey.800`:`grey.50`,borderRadius:1,p:1,border:`1px solid`,borderColor:i?`grey.700`:`grey.200`,position:`relative`,"&:hover .comment-actions":{opacity:1}},children:[W(mt,{content:e.content||``,fontSize:`sm`}),y&&(n||r)&&G(J,{className:`comment-actions`,direction:`row`,spacing:0,sx:{position:`absolute`,top:4,right:4,opacity:0,transition:`opacity 0.2s`},children:[n&&W(Z,{title:`Edit comment`,children:W(X,{"aria-label":`Edit comment`,size:`small`,onClick:b,children:W(cr,{})})}),r&&G(U,{children:[W(Z,{title:`Delete comment`,children:W(X,{"aria-label":`Delete comment`,size:`small`,color:`error`,onClick:w,children:W(pr,{})})}),W(Qr,{open:h,anchorEl:p,onClose:T,anchorOrigin:{vertical:`bottom`,horizontal:`center`},transformOrigin:{vertical:`top`,horizontal:`center`},children:G(K,{sx:{p:2},children:[W(Y,{variant:`body2`,sx:{mb:2},children:`Delete this comment?`}),G(J,{direction:`row`,spacing:1,justifyContent:`flex-end`,children:[W(q,{size:`small`,variant:`text`,onClick:T,disabled:d,children:`Cancel`}),W(q,{size:`small`,variant:`contained`,color:`error`,onClick:E,disabled:d,children:d?`Deleting...`:`Delete`})]})]})})]})]})]})]})]})}function ba({event:e,currentUserId:t,onEdit:n,onDelete:r}){return e.event_type===`comment`?W(ya,{event:e,currentUserId:t,onEdit:n,onDelete:r}):W(va,{event:e})}function xa({checkId:e}){let t=Et(),{apiClient:n}=Oe(),{events:r,isLoading:i,error:a,createComment:o,isCreatingComment:s,updateComment:c,deleteComment:l}=Ye(e),{data:u}=pn({queryKey:A.user(),queryFn:()=>Bt(n),retry:!1}),d=e=>{o(e)},f=async(e,t)=>{await c({eventId:e,content:t})},p=async e=>{await l(e)};return i?W(K,{sx:{height:`100%`,p:4,display:`flex`,justifyContent:`center`,alignItems:`center`},children:W(Hn,{size:20})}):a?W(K,{sx:{height:`100%`,p:4,display:`flex`,justifyContent:`center`,alignItems:`center`},children:W(Y,{sx:{fontSize:`0.875rem`,color:`error.main`},children:`Failed to load timeline`})}):G(J,{sx:{height:`100%`,alignItems:`stretch`,borderLeft:`1px solid`,borderColor:t?`grey.700`:`grey.200`},spacing:0,children:[W(K,{sx:{px:3,py:2,borderBottom:`1px solid`,borderColor:t?`grey.700`:`grey.200`},children:W(Y,{variant:`subtitle2`,sx:{fontWeight:500},children:`Activity`})}),W(K,{sx:{flex:1,overflowY:`auto`,px:3,py:2},children:r.length===0?W(Y,{sx:{fontSize:`0.875rem`,color:`grey.500`},children:`No activity yet`}):W(J,{sx:{alignItems:`stretch`},spacing:0,children:r.map((e,n)=>G(K,{children:[W(ba,{event:e,currentUserId:u?.id,onEdit:f,onDelete:p}),n<r.length-1&&W(Vn,{sx:{borderColor:t?`grey.700`:`grey.100`}})]},e.id))})}),W(K,{sx:{px:3,py:3,borderTop:`1px solid`,borderColor:t?`grey.700`:`grey.200`,bgcolor:t?`grey.900`:`grey.50`},children:W(Ce,{onSubmit:d,isSubmitting:s})})]})}function Sa({color:e}){return W(K,{component:`span`,sx:{display:`inline-block`,width:`10px`,height:`10px`,bgcolor:e,mr:1,borderRadius:`4px`}})}const Ca=({defaultPrimaryKeys:e,onPrimaryKeysChange:t,...n})=>{let{lineageGraph:r,isActionAvailable:i}=M(),a=V(()=>{if(!r)return[];let e=new Set;for(let t in r.nodes){let n=r.nodes[t],i={...n.data.data.base?.columns??{},...n.data.data.current?.columns??{}};Object.entries(i).forEach(([t,n])=>{n?.unique&&e.add(t)})}return Array.from(e).sort()},[r]);return W(K,{sx:{display:`flex`},...n,children:G(J,{spacing:0,sx:{m:`0 0.5rem`},children:[G(J,{direction:`row`,alignItems:`center`,spacing:.5,children:[W(Y,{component:`label`,sx:{fontSize:`0.625rem`,color:`text.secondary`},children:`Diff with Primary Key(s) (suggested)`}),W(Z,{title:`Provide a primary key to perform query diff in data warehouse and only return changed rows.`,placement:`bottom-end`,children:W(K,{component:`span`,sx:{display:`flex`,color:`grey.600`,cursor:`help`},children:W(rr,{fontSize:`0.75rem`})})})]}),W(dt,{className:`no-track-pii-safe`,unitName:`key`,defaultValues:e,suggestionList:a,onValuesChange:t,size:`2xs`,width:`240px`,placeholder:`Select or type to add keys`,disabled:!i(`query_diff_with_primary_key`)})]})})};function wa({supportCalendarUrl:e=`https://cal.com/team/recce/chat`}){let{data:t}=j();return W(`div`,{className:`flex flex-1 h-full min-h-0 m-2 p-4 bg-blue-50 rounded-lg shadow-md justify-center`,children:G(`div`,{className:`w-4/5 flex flex-col overflow-y-auto gap-6 px-8 pb-8`,children:[G(J,{alignItems:`center`,spacing:2,children:[W(K,{sx:{p:1,bgcolor:`background.paper`,borderRadius:`50%`,display:`flex`,alignItems:`center`,justifyContent:`center`,boxShadow:2},children:W(K,{component:bi,sx:{fontSize:28,color:`iochmara.500`}})}),W(Y,{variant:`h5`,sx:{mt:2},children:`Wait, there's more!`}),G(Y,{sx:{fontSize:`1rem`,textAlign:`center`},children:[`Query functions disabled without a`,` `,W(Y,{component:`span`,sx:{fontWeight:`bold`},children:`data warehouse connection`})]})]}),W(J,{sx:{width:`50%`,mt:3,mx:`auto`},children:W(q,{color:`iochmara`,variant:`contained`,size:`large`,onClick:()=>{window.open(Rt(t,e),`_blank`)},children:`Connect to Data Warehouse`})})]})})}const Ta=()=>{let{isCustomQueries:e,setCustomQueries:t,sqlQuery:n,setBaseSqlQuery:r}=Ie();return G(K,{children:[G(J,{direction:`row`,spacing:.5,alignItems:`center`,fontSize:`0.75rem`,children:[W(Y,{variant:`body2`,sx:{fontSize:`0.75rem`},children:`Custom Queries`}),W(Z,{title:`Custom queries allow you to use two SQL queries to compare results between current and base environments.`,children:W(K,{component:`span`,sx:{display:`flex`,color:`grey.600`},children:W(ir,{fontSize:`1rem`})})})]}),W(hi,{size:`small`,checked:e,onChange:()=>{!e&&r&&r(n),t(!e)},color:`primary`})]})},Ea=()=>{let{sqlQuery:e,baseSqlQuery:t,setSqlQuery:n,setBaseSqlQuery:i,primaryKeys:o,setPrimaryKeys:s,isCustomQueries:c}=Ie(),{lineageGraph:l,envInfo:d}=M(),{featureToggles:f,singleEnv:p}=I(),m=e;d?.adapterType===`sqlmesh`&&e===`select * from {{ ref("mymodel") }}`&&(m=`select * from db.mymodel`),f.mode===`read only`&&(m=`--- Would like to do query here? Book a demo with us at ${Ht}\n${m}`);let{showRunId:g}=de(),{apiClient:_}=Oe(),{mutate:v,isPending:y}=fn({mutationFn:async e=>{function n(e){switch(e){case`query`:return u;case`query_base`:return r;case`query_diff`:return a;default:throw Error(`Unknown query type: ${e}`)}}let i=e===`query_base`?t??``:m,s=n(e),l={sql_template:i},d={nowait:!0};e===`query_diff`&&(l.primary_keys=o,c&&(l.base_sql_template=t));let{run_id:f}=await s(l,d,_);return g(f),await h(f,void 0,_)}}),b=V(()=>{let e={};if(!l)return`N/A`;for(let t in l.nodes){let n=l.nodes[t].data.data.current?.schema;n&&(e[n]=(e[n]||0)+1)}return Object.keys(e).reduce((t,n)=>e[n]>(e[t]||0)?n:t,`N/A`)},[l]);return p||f.mode===`metadata only`?G(K,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:[G(K,{sx:{display:`flex`,justifyContent:`right`,alignItems:`center`,padding:`4pt 8pt`,gap:`5px`,height:`54px`,borderBottom:`1px solid`,borderColor:`divider`},children:[W(Go,{}),W(K,{sx:{flexGrow:1}}),p?W(Z,{title:`Please configure the base environment before running the diff`,placement:`left`,children:W(`span`,{children:W(q,{variant:`contained`,disabled:!0,size:`small`,sx:{fontSize:`14px`,mt:`16px`},children:`Run Diff`})})}):W(Ps,{display:f.mode===`metadata only`,children:W(q,{variant:`contained`,disabled:!0,size:`small`,sx:{fontSize:`14px`,mt:`16px`},children:`Run Diff`})})]}),W(it,{value:m,onChange:n,onRun:()=>{v(`query`)},labels:[`base (production)`,`current (${b})`],SetupGuide:f.mode===`metadata only`?W(wa,{}):W(Bo,{})})]}):G(K,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:[G(K,{sx:{display:`flex`,justifyContent:`right`,alignItems:`flex-end`,padding:`4pt 8pt`,gap:`5px`,height:`54px`,borderBottom:`1px solid`,borderColor:`divider`,flex:`0 0 54px`},children:[W(Go,{}),W(Ta,{}),W(K,{sx:{flexGrow:1}}),W(Ca,{defaultPrimaryKeys:o,onPrimaryKeysChange:s}),W(q,{variant:`contained`,onClick:()=>{v(`query_diff`)},disabled:y||f.disableDatabaseQuery,size:`small`,children:`Run Diff`})]}),W(K,{sx:{width:`100%`,flex:1,overflowY:`auto`},children:c?W(it,{value:m,baseValue:t,onChange:n,onChangeBase:i,onRun:()=>{v(`query`)},onRunBase:()=>{v(`query_base`)},onRunDiff:()=>{v(`query_diff`)}}):W(Se,{value:m,onChange:n,onRun:()=>{v(`query`)},onRunDiff:()=>{v(`query_diff`)}})})]})};function Da({rowCount:e}){let t=e.base,n=e.curr,r=e.base===null?`N/A`:`${e.base} Rows`,i=e.curr===null?`N/A`:`${e.curr} Rows`,a,o;t===null&&n===null?(a=`Failed to load`,o=`default`):t===null||n===null?(a=`${r} -> ${i}`,o=t===null?`success`:`error`):t===n?(a=`=`,o=`default`):(a=`${Nt(t,n)} Rows`,o=t<n?`success`:`error`);let s=z(`row_count_diff`).icon;return W(hr,{size:`small`,color:o,icon:s?W(s,{}):void 0,label:a,sx:{height:20,fontSize:`0.7rem`}})}function Oa({id:e,inverted:t}){let{lineageGraph:n,runsAggregated:r}=M(),{text:i,isDark:a}=ct(),o=r?.[e],s=n?.nodes[e];if(!o&&!s)return null;let c;if(s?.data.data.base&&s.data.data.current){let e=s.data.data.base.columns,t=s.data.data.current.columns;c=Pt(e,t)}let l;if(o?.row_count_diff){let e=o.row_count_diff.result;l=e.curr!==e.base}let u=t?i.inverted:nt(`modified`).color,d=t?i.secondary:a?`grey.700`:`grey.100`,f=z(`schema_diff`).icon;return G(K,{sx:{display:`flex`,flex:1,alignItems:`center`},children:[c!==void 0&&W(Z,{title:`Schema (${c?`changed`:`no change`})`,enterDelay:500,children:W(K,{sx:{height:16},children:f&&W(K,{component:f,sx:{color:c?u:d}})})}),W(K,{sx:{flexGrow:1}}),o?.row_count_diff&&l!==void 0&&W(Z,{title:`Row count (${l?`changed`:`=`})`,enterDelay:500,children:W(K,{children:W(Da,{rowCount:o.row_count_diff.result})})})]})}function ka({nodeId:e,nodeName:t}){let{getNodeAction:n}=le(),r=n(e);if(!r)return null;let{status:i,skipReason:a,run:o}=r;if(i===`pending`)return W(ha,{status:`pending`});if(i===`skipped`)return W(ha,{status:`skipped`,skipReason:a});if(!o)return W(ha,{status:`pending`});let{error:s,run_id:c,progress:l}=o;if(i===`running`)return W(ha,{status:`running`,progress:{percentage:l?.percentage}});if(s)return W(ha,{status:`error`,errorMessage:s});if(o.type===`value_diff`&&o.result){let e=o.result,t=0,n=e.data.data.length;for(let n of e.data.data)n[2]<1&&t++;return W(ha,{status:`success`,valueDiffResult:{mismatchedColumns:t,totalColumns:n}})}if(S(o)&&o.result){let e=o.result[t];if(e)return W(Da,{rowCount:e})}if(o.type===`row_count`&&o.result){let e=o.result[t];if(e?.curr!==void 0&&e.curr!==null)return W(hr,{size:`small`,label:`${e.curr.toLocaleString()} Rows`,sx:{height:20,fontSize:`0.7rem`}})}return W(ha,{status:`success`,runId:c})}function Aa(e){let{data:t}=e,{id:n,resourceType:r,changeStatus:i,name:a}=t,o=jr(e=>e.transform[2]>.3),{isDark:s}=ct(),{interactive:c,selectNode:l,selectMode:u,focusedNode:d,getNodeAction:f,getNodeColumnSet:p,isNodeHighlighted:m,isNodeSelected:h,isNodeShowingChangeAnalysis:g,showContextMenu:_,viewOptions:v,cll:y,showColumnLevelLineage:b,setChangeAnalysisMode:x}=le(),{isActionAvailable:S}=M(),C=y?.current.nodes[n]?.change_category,w=m(n),T=h(n),E=v.column_level_lineage?.node_id===n&&v.column_level_lineage.column===void 0,D=d?.id===n||E,O=g(n),k=p(t.id),ee=u===`action_result`?f(t.id):void 0,te=i,ne=u,re=u===`action_result`&&ee?W(ka,{nodeId:n,nodeName:a}):void 0,A=u!==`action_result`&&t.resourceType===`model`?W(Oa,{id:t.id,inverted:u===`selecting`&&T}):void 0;return W(lt,{id:n,data:{label:a,changeStatus:te,resourceType:r},interactive:c,selectMode:ne,isNodeSelected:T,isFocused:D,isHighlighted:w,showContent:o,actionTag:re,showChangeAnalysis:O,changeCategory:C,runsAggregatedTag:A,hasParents:Object.keys(t.parents).length>0,hasChildren:Object.keys(t.children).length>0,columnCount:k.size,columnHeight:24,isDark:s,onSelect:e=>{l(e)},onContextMenu:(t,n)=>{_(t,e)},onShowImpactRadius:i===`modified`&&S(`change_analysis`)?e=>{x(!0),b({node_id:e,change_analysis:!0,no_upstream:!0})}:void 0})}const ja=bn(Aa);ja.displayName=`GraphNode`;const Ma={lineageGraphNode:ja,lineageGraphColumnNode:ia},Na={lineageGraphEdge:sa},Pa=[],Fa=e=>e.data.changeStatus?nt(e.data.changeStatus).hexColor:be.neutral[400],Ia={ROW_COUNT:`row_count`,ROW_COUNT_DIFF:`row_count_diff`,PROFILE:`profile`,PROFILE_DIFF:`profile_diff`,VALUE_DIFF:`value_diff`,HISTOGRAM_DIFF:`histogram_diff`,TOP_K_DIFF:`top_k_diff`},La={LINEAGE_VIEW_CONTEXT_MENU:`lineage_view_context_menu`},Ra={SELECT_PARENT_NODES:`select_parent_nodes`,SELECT_CHILD_NODES:`select_child_nodes`,SELECT_ALL_UPSTREAM:`select_all_upstream`,SELECT_ALL_DOWNSTREAM:`select_all_downstream`},za=({menuItems:e,open:t,onClose:n,x:r,y:i,featureToggles:a,DisabledItemWrapper:o})=>{let s=o??(({children:e})=>W(U,{children:e})),c=a?.mode===`metadata only`;return W(Rr,{open:t,onClose:n,anchorReference:`anchorPosition`,anchorPosition:{top:i,left:r},slotProps:{paper:{sx:{fontSize:`0.85rem`,width:`250px`}}},children:e.length===0?W(Q,{disabled:!0,children:`No action available`},`no action`):e.map(({isSeparator:e,label:t,isDisabled:r,action:i,itemIcon:a})=>{if(e)return W(Vn,{},t);let l=G(Q,{disabled:r,onClick:()=>{i&&i(),n()},children:[a,` `,t]},t);return r&&o?W(s,{display:c,children:l},t):l})})},Ba=({isOpen:e,onClose:t,x:n,y:r,node:i,deps:a={},viewOptions:o={},featureToggles:s={},serverFlags:c={},noCatalogCurrent:l=!1,isActionAvailable:u=()=>!0})=>{let d=[],{runAction:f,onNavigate:p,onTrack:m,findByRunType:h,setSqlQuery:g,setPrimaryKeys:_,getPrimaryKey:v,DisabledItemWrapper:y}=a,{selectMode:b,cll:x,showColumnLevelLineage:S,setChangeAnalysisMode:C,selectParentNodes:w,selectChildNodes:T,getNodeColumnSet:E}=o,D=c.single_env_onboarding??!1,O=s.disableDatabaseQuery??!1;if(!i?.data)return W(U,{});let k=i.data,ee=k.resourceType,te=E?Array.from(E(i.id)):[],ne={source:`lineage_model_node`},re=k.changeStatus,A=v?.(k.name);if(re===`modified`&&d.push({label:`Show Impact Radius`,itemIcon:W(qn,{}),isDisabled:l||!u(`change_analysis`),action:()=>{C?.(!0),S?.({node_id:i.id,change_analysis:!0,no_upstream:!0})}}),!b&&ee&&[`model`,`seed`,`snapshot`].includes(ee)){d.length>0&&d.push({label:`select group one`,isSeparator:!0});let e=h?.(D?`query`:`query_diff`),t=Ft(Object.keys(k.data.base?.columns??{}),Object.keys(k.data.current?.columns??{})),n=`select * from {{ ref("${k.name}") }}`;if(t.length&&(n=`select \n ${t.join(`
|
|
3
3
|
`)}\nfrom {{ ref("${k.name}") }}`),e&&d.push({label:`Query`,itemIcon:W(K,{component:e.icon,sx:{display:`inline-flex`}}),isDisabled:O,action:()=>{g?.(n),u(`query_diff_with_primary_key`)&&_?.(A===void 0?void 0:[A]),p?.(`/query`)}}),te.length>0&&e)if(x!==void 0){let t=new Set;A&&t.add(A),te.forEach(e=>{t.add(e)}),d.push({label:`Query Related Columns`,itemIcon:W(K,{component:e.icon,sx:{display:`inline-flex`}}),isDisabled:O,action:()=>{let e=`select \n ${Array.from(t).join(`,
|
|
4
4
|
`)}\nfrom {{ ref("${k.name}") }}`;g?.(e),u(`query_diff_with_primary_key`)&&_?.(A===void 0?void 0:[A]),p?.(`/query`)}})}else{let t=Object.entries(k.change?.columns??{}).filter(([,e])=>e===`modified`).map(([e])=>e);if(t.length>0){let n=new Set;A&&n.add(A),t.forEach(e=>{n.add(e)}),d.push({label:`Query Modified Columns`,itemIcon:W(K,{component:e.icon,sx:{display:`inline-flex`}}),isDisabled:O,action:()=>{let e=`select \n ${Array.from(n).join(`,
|
|
5
5
|
`)}\nfrom {{ ref("${k.name}") }}`;g?.(e),u(`query_diff_with_primary_key`)&&_?.(A===void 0?void 0:[A]),p?.(`/query`)}})}}let r=D?`row_count`:`row_count_diff`,a=h?.(r);a&&d.push({label:a.title,itemIcon:W(K,{component:a.icon,sx:{display:`inline-flex`}}),isDisabled:O,action:()=>{m?.(`explore_action`,{action:D?Ia.ROW_COUNT:Ia.ROW_COUNT_DIFF,source:La.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),f?.(r,{node_names:[k.name]},{showForm:!1,trackProps:ne})}});let o=D?`profile`:`profile_diff`,s=h?.(o);if(s&&d.push({label:s.title,itemIcon:W(K,{component:s.icon,sx:{display:`inline-flex`}}),isDisabled:O,action:()=>{let e=E?Array.from(E(i.id)):[];m?.(`explore_action`,{action:D?Ia.PROFILE:Ia.PROFILE_DIFF,source:La.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),f?.(o,{model:k.name,columns:e},{showForm:!0,trackProps:ne})}}),!D){let e=h?.(`value_diff`);e&&d.push({label:e.title,itemIcon:W(K,{component:e.icon,sx:{display:`inline-flex`}}),isDisabled:O,action:()=>{let e=E?Array.from(E(i.id)):[];m?.(`explore_action`,{action:Ia.VALUE_DIFF,source:La.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),f?.(`value_diff`,{model:k.name,columns:e},{showForm:!0,trackProps:ne})}})}}return D||(d.length>0&&d.push({label:`select group two`,isSeparator:!0}),d.push({label:`Select Parent Nodes`,itemIcon:W(Ci,{}),action:()=>{m?.(`lineage_selection`,{action:Ra.SELECT_PARENT_NODES}),w?.(i.id,1)}}),d.push({label:`Select Child Nodes`,itemIcon:W(wi,{}),action:()=>{m?.(`lineage_selection`,{action:Ra.SELECT_CHILD_NODES}),T?.(i.id,1)}}),d.push({label:`Select All Upstream Nodes`,itemIcon:W(Ci,{}),action:()=>{m?.(`lineage_selection`,{action:Ra.SELECT_ALL_UPSTREAM}),w?.(i.id)}}),d.push({label:`Select All Downstream Nodes`,itemIcon:W(wi,{}),action:()=>{m?.(`lineage_selection`,{action:Ra.SELECT_ALL_DOWNSTREAM}),T?.(i.id)}})),W(za,{x:n,y:r,menuItems:d,open:e,onClose:t,featureToggles:s,DisabledItemWrapper:y})},Va=({isOpen:e,onClose:t,x:n,y:r,node:i,deps:a={},featureToggles:o={},serverFlags:s={},isActionAvailable:c=()=>!0})=>{let l=[],{runAction:u,onTrack:d,findByRunType:f,supportsHistogramDiff:p,DisabledItemWrapper:m}=a,h=s.single_env_onboarding??!1,g=o.disableDatabaseQuery??!1;if(i?.data===void 0)return W(U,{});let _=i.data,v=_.node,y=_.column,b=_.type,x={source:`lineage_column_node`},S=()=>{d?.(`explore_action`,{action:Ia.PROFILE_DIFF,source:La.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),u?.(`profile_diff`,{model:v.name,columns:[y]},{showForm:!1,trackProps:x})},C=()=>{d?.(`explore_action`,{action:Ia.HISTOGRAM_DIFF,source:La.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),u?.(`histogram_diff`,{model:v.name,column_name:y,column_type:b},{showForm:!1,trackProps:x})},w=()=>{d?.(`explore_action`,{action:Ia.TOP_K_DIFF,source:La.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),u?.(`top_k_diff`,{model:v.name,column_name:y,k:50},{showForm:!1,trackProps:x})},T=()=>{d?.(`explore_action`,{action:Ia.VALUE_DIFF,source:La.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),u?.(`value_diff`,{model:v.name,columns:[y]},{showForm:!0,trackProps:x})},E=v.data.base?.columns?.[y]===void 0||v.data.current?.columns?.[y]===void 0,D=f?.(h?`profile`:`profile_diff`);if(D&&l.push({label:D.title,itemIcon:W(K,{component:D.icon,sx:{display:`inline-flex`}}),action:S,isDisabled:E||!c(`profile_diff`)||g}),!h){let e=f?.(`histogram_diff`);if(e){let t=p?.(b)??!0;l.push({label:e.title,itemIcon:W(K,{component:e.icon,sx:{display:`inline-flex`}}),action:C,isDisabled:E||!t||g})}let t=f?.(`top_k_diff`);t&&l.push({label:t.title,itemIcon:W(K,{component:t.icon,sx:{display:`inline-flex`}}),action:w,isDisabled:E||g});let n=f?.(`value_diff`);n&&l.push({label:n.title,itemIcon:W(K,{component:n.icon,sx:{display:`inline-flex`}}),action:T,isDisabled:E||g})}return W(za,{x:n,y:r,menuItems:l,open:e,onClose:t,featureToggles:o,DisabledItemWrapper:m})},Ha=({isOpen:e,onClose:t,x:n,y:r,node:i,deps:a={},viewOptions:o={},featureToggles:s={},serverFlags:c={},noCatalogCurrent:l=!1,isActionAvailable:u=()=>!0})=>s.disableViewActionDropdown?W(za,{menuItems:[],open:e,onClose:t,x:n,y:r,featureToggles:s,DisabledItemWrapper:a.DisabledItemWrapper}):i&&ce(i)?W(Ba,{x:n,y:r,isOpen:e,onClose:t,node:i,deps:a,viewOptions:o,featureToggles:s,serverFlags:c,noCatalogCurrent:l,isActionAvailable:u}):i&&se(i)?W(Va,{x:n,y:r,isOpen:e,onClose:t,node:i,deps:a,featureToggles:s,serverFlags:c,isActionAvailable:u}):null,Ua=()=>{let[e,t]=H(!1),n=()=>t(!0),r=()=>t(!1),[i,a]=H({x:0,y:0}),[o,s]=H();return{props:{x:i.x,y:i.y,node:o,isOpen:e,onClose:r},showContextMenu:(e,t,r)=>{a({x:e,y:t}),s(r),n()},closeContextMenu:()=>{a({x:0,y:0}),s(void 0),r()}}},Wa=()=>{let{isDark:e}=ct(),{successToast:t,failToast:n}=At();return ft({renderLibrary:`html-to-image`,imageType:`png`,shadowEffect:!0,backgroundColor:e?be.neutral[900]:be.neutral[50],ignoreElements:e=>{try{return e.classList.contains($e)}catch{return e.className?e.className.includes($e):!1}},onSuccess:()=>{t(`Copied the Lineage View as an image to clipboard`)},onError:e=>{console.error(`Error taking screenshot`,e),n(`Failed to copy image to clipboard`,e)}})},Ga=()=>{let e=ri(),{basePath:t}=ue();return B(n=>{n.check_id&&e.push(`${t}/checks/?id=${n.check_id}`)},[e.push,t])},Ka=(e,t)=>{let n=Tn({width:0,height:0});Sn(()=>{let r=e.current,i=new ResizeObserver(e=>{for(let r of e){let e=r.contentRect.width,i=r.contentRect.height;(Math.abs(i-n.current.height)>10||Math.abs(e-n.current.width)>10)&&n.current.height>0&&i>0&&n.current.width>0&&e>0&&t(),n.current={width:e,height:i}}});return r&&i.observe(r),()=>{r&&i.unobserve(r)}},[t,e])},qa=()=>B((e,t,n,r,i)=>{let a=e.filter(ce),o=Object.groupBy(a,e=>e.data.changeStatus??`unchanged`),s=Object.fromEntries(Object.entries(o).map(([e,t])=>[`nodes_${e}`,t?.length??0])),c={node_count:a.length,view_mode:t,impact_radius_enabled:n,right_sidebar_open:i,...s};r&&(c.cll_column_active=!0),en(c)},[]),Ja={row_count:Ut.ROW_COUNT,row_count_diff:Ut.ROW_COUNT_DIFF,value_diff:Ut.VALUE_DIFF},Ya=e=>{let t=Ja[e.action];t&&Yt({action:t,source:Gt.LINEAGE_VIEW_TOP_BAR,node_count:e.node_count})},Xa=(e,t)=>Le(e,{...t,onTrackAction:Ya,trackingSource:Gt.LINEAGE_VIEW_TOP_BAR});function Za(){return St({onConfirm:()=>Xt({action:Ut.VALUE_DIFF,event:Wt.EXECUTE}),onCancel:()=>Xt({action:Ut.VALUE_DIFF,event:Wt.CANCEL})})}function Qa({notification:e,type:t}){let n=D.lineageNotificationDismissed,[r,i]=H(()=>sessionStorage.getItem(n)!==`true`);if(e===null||!r)return null;let a={info:`iochmara.light`,success:`success.light`,warning:`warning.light`,error:`error.light`}[t];return G(K,{sx:{width:`100%`,display:`flex`,flexDirection:`row`,p:`5px 10px`,gap:`5px`,alignItems:`flex-start`,borderRadius:1,boxShadow:4,border:`1px solid`,borderColor:`neutral.light`,bgcolor:a},children:[e,W(K,{sx:{flex:1}}),W(X,{size:`small`,onClick:()=>{sessionStorage.setItem(n,`true`),i(!1)},children:W(Rn,{})})]})}const $a=e=>{let{runAction:t}=de(),{setSqlQuery:n,setPrimaryKeys:r}=Ie(),i=ri(),{primaryKey:a}=ut(e),{basePath:o}=ue();return{runAction:(e,n,r)=>{t(e,n,r)},onNavigate:e=>{i.push(`${o}${e}`)},onTrack:(e,t)=>{e===`explore_action`?Yt({action:t.action,source:La.LINEAGE_VIEW_CONTEXT_MENU,node_count:t.node_count}):e===`lineage_selection`&&$t({action:t.action})},supportsHistogramDiff:Ke,findByRunType:e=>{let t=z(e);return t?{title:t.title,icon:t.icon}:void 0},setSqlQuery:n,setPrimaryKeys:r,getPrimaryKey:()=>a,DisabledItemWrapper:Ps}},eo=({isOpen:e,onClose:t,x:n,y:r,node:i})=>{let{selectParentNodes:a,selectChildNodes:o,getNodeColumnSet:s,selectMode:c,cll:l,showColumnLevelLineage:u,setChangeAnalysisMode:d}=le(),{featureToggles:f}=I(),{isActionAvailable:p,lineageGraph:m}=M(),{data:h}=F(),g=!m?.catalogMetadata.current;return W(Ha,{x:n,y:r,node:i,isOpen:e,onClose:t,deps:$a(i?.type===`lineageGraphNode`?i.data?.name:i?.type===`lineageGraphColumnNode`?i.data?.node?.name:void 0),viewOptions:{selectMode:c,cll:l,showColumnLevelLineage:u,setChangeAnalysisMode:d,selectParentNodes:a,selectChildNodes:o,getNodeColumnSet:s},featureToggles:{disableDatabaseQuery:f.disableDatabaseQuery,disableViewActionDropdown:f.disableViewActionDropdown,mode:f.mode??void 0},serverFlags:{single_env_onboarding:h?.single_env_onboarding},noCatalogCurrent:g,isActionAvailable:p})},to=Ua;function no(e,t){let n=[],r=[],{selectedNodes:i,cll:a,existingPositions:o}=t??{},s={};function c(e){return e===`base`?0:e===`current`?2:1}function l(e,t){let n=c(e.data?.from),r=c(t.data?.from);return n<r?-1:n>r?1:0}let u=i===void 0?void 0:new Set(i),d=Object.values(e.nodes).sort(l);for(let e of d){if(u&&!u.has(e.id))continue;let t=new Set,i=0;if(a){let o=a.current?.parent_map[e.id]??new Set;for(let t of o){let n=t,i=e.id;r.push({id:`m2c_${n}_${i}`,source:n,target:i,style:{zIndex:9999}})}for(let o of Object.keys(e.data.data.current?.columns??{})){let s=`${e.id}_${o}`,c=a.current,l=c?.columns[s],u=c?.parent_map[s]??new Set;if(l!=null){n.push({id:s,position:{x:10,y:70+i*24},parentId:e.id,extent:`parent`,draggable:!1,className:`no-track-pii-safe`,data:{node:e.data,column:l.name,type:l.type,transformationType:l.transformation_type,changeStatus:l.change_status},style:{zIndex:9999},type:`lineageGraphColumnNode`,targetPosition:Cr.Left,sourcePosition:Cr.Right});for(let e of u){let t=e,n=s;r.push({id:`${t}_${n}`,source:t,target:n,style:{zIndex:9999}})}i++,t.add(l.name)}}}s[e.id]=t;let c=60;i>0&&(c+=20+i*24);let l=o?.get(e.id);n.unshift({id:e.id,position:l??{x:0,y:0},width:300,height:c,className:`no-track-pii-safe`,data:{...e.data},type:`lineageGraphNode`,targetPosition:Cr.Left,sourcePosition:Cr.Right,style:{width:300,height:c}})}let f=Object.values(e.edges).sort(l);for(let e of f)u&&(!u.has(e.source)||!u.has(e.target))||r.push({id:e.id,type:`lineageGraphEdge`,source:e.source,target:e.target,data:{...e.data}});return n.some(e=>e.type===`lineageGraphNode`&&!o?.has(e.id))&&ro(n,r),[n,r,s]}const ro=(e,t,n=`LR`)=>{oe(Ti,e,t,n)};function io(){return G(K,{sx:{display:`flex`,gap:2,px:1,py:.5,fontSize:`0.75rem`,color:`text.secondary`},children:[G(`span`,{children:[W(`span`,{className:`schema-change-badge schema-change-badge-added`,children:`+`}),` `,`added`]}),G(`span`,{children:[W(`span`,{className:`schema-change-badge schema-change-badge-removed`,children:`-`}),` `,`removed`]}),G(`span`,{children:[W(`span`,{className:`schema-change-badge schema-change-badge-changed`,children:`~`}),` `,`changed`]})]})}function ao({current:e,showMenu:t=!0},n){let r=pe(),[i,a]=H(null),[o,s]=H(new Map),{columns:c,rows:l}=V(()=>yt({type:`schema_single`,columns:e?.columns},{node:e,cllRunningMap:o,showMenu:t}),[e,o,t]),{lineageGraph:u,isActionAvailable:d}=M(),f=d(`change_analysis`),p=!u?.catalogMetadata.current,m;p&&(m="catalog.json not found. Run `recce debug` to troubleshoot.");let h=e&&e.columns===void 0,g;h&&(g=`Node schema not found in catalog.json. Please regenerate your catalog.json to update.`);let _=async t=>{if(!f)return;Kt({action:`view`,source:`schema_column`}),s(e=>new Map(e).set(t,!0));let n=e?.id;n&&await r?.showColumnLevelLineage({node_id:n,column:t}),s(e=>new Map(e).set(t,!1))},v=B(t=>`${e?.id}-${t.data.name}`,[e?.id]),y=r?.viewOptions.column_level_lineage,b=y?`${y.node_id}-${y.column}`:null;Sn(()=>{if(i&&(i.deselectAll(),b)){let e=i.getRowNode(b);e&&e.setSelected(!0)}},[i,b]);let x=B(e=>{a(e.api)},[]);return G(K,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:[m?W(Lr,{severity:`warning`,sx:{fontSize:`12px`,p:1},children:m}):g?W(Lr,{severity:`warning`,sx:{fontSize:`12px`,p:1},children:g}):W(U,{}),l.length>0&&W(qe,{style:{blockSize:`auto`,maxHeight:`100%`,overflow:`auto`,fontSize:`10pt`,borderWidth:1},columns:c,rows:l,renderers:{noRowsFallback:W(Tt,{})},ref:n,getRowId:v,getRowClass:e=>r!==void 0&&f?`row-normal row-selectable`:`row-normal`,onCellClicked:async e=>{if((e.event?.target)?.closest(`.row-context-menu`))return;let t=e.data;t&&await _(t.name)},onGridReady:x,rowSelection:{mode:`singleRow`,checkboxes:!1},containerClassName:`no-track-pii-safe`,rowClassName:`no-track-pii-safe`})]})}function oo({base:e,current:t,showMenu:n=!0,columnChanges:r,onViewCode:i},a){let o=pe(),[s,c]=H(null),[l,u]=H(new Map),{columns:d,rows:f}=V(()=>{let a=t?.resource_type??e?.resource_type,o=a&&[`model`,`seed`,`snapshot`,`source`].includes(a)?t??e:void 0;return yt({type:`schema_diff`,base:e?.columns,current:t?.columns},{node:o,cllRunningMap:l,showMenu:n,columnChanges:r,onViewCode:i})},[e,t,l,n,r,i]),{lineageGraph:p,isActionAvailable:m}=M(),h=m(`change_analysis`),g=!p?.catalogMetadata.base,_=!p?.catalogMetadata.current,v;g&&_?v="catalog.json not found on both environments. Run `recce debug` to troubleshoot.":g?v="catalog.json not found on base environment. Run `recce debug` to troubleshoot.":_&&(v="catalog.json not found on current environment. Run `recce debug` to troubleshoot.");let y=e&&e.columns===void 0,b=t&&t.columns===void 0,x;y&&b?x=`Node schema not found in catalog.json on both environments. Please regenerate your catalog.json to update.`:b?x=`Node schema not found in catalog.json on current environment. Please regenerate your catalog.json to update.`:y&&(x=`Node schema not found in catalog.json on base environment. Please regenerate your catalog.json to update.`);let S=async n=>{if(!h)return;Kt({action:`view`,source:`schema_column`}),u(e=>new Map(e).set(n,!0));let r=t?.id??e?.id;r&&await o?.showColumnLevelLineage({node_id:r,column:n}),u(e=>new Map(e).set(n,!1))},C=B(n=>`${t?.id??e?.id}-${n.data.name}`,[t?.id,e?.id]),w=o?.viewOptions.column_level_lineage,T=w?`${w.node_id}-${w.column}`:null;Sn(()=>{if(s&&(s.deselectAll(),T)){let e=s.getRowNode(T);e&&e.setSelected(!0)}},[s,T]);let E=B(e=>{c(e.api)},[]);return G(K,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:[v?W(Lr,{severity:`warning`,sx:{fontSize:`12px`,p:1},children:v}):x?W(Lr,{severity:`warning`,sx:{fontSize:`12px`,p:1},children:x}):W(U,{}),W(io,{}),f.length>0&&W(qe,{style:{blockSize:`auto`,maxHeight:`100%`,overflow:`auto`,fontSize:`0.8rem`,borderWidth:1},columns:d,rows:f,rowHeight:35,renderers:{noRowsFallback:W(Tt,{})},className:`rdg-light no-track-pii-safe`,ref:a,getRowId:C,getRowClass:e=>{let t=e.data;if(!t)return`row-normal`;let n;if(t.baseIndex===void 0)n=`row-added`;else if(t.currentIndex===void 0)return`row-removed`;else n=t.baseType!==t.currentType||t.reordered===!0||t.definitionChanged===!0?`row-changed`:`row-normal`;return o!==void 0&&h&&(n+=` row-selectable`),n},onCellClicked:async e=>{if((e.event?.target)?.closest(`.row-context-menu`))return;let t=e.data;t&&(t.baseIndex!==void 0&&t.currentIndex===void 0||await S(t.name))},onGridReady:E,rowSelection:{mode:`singleRow`,checkboxes:!1},containerClassName:`no-track-pii-safe`,rowClassName:`no-track-pii-safe`})]})}const so=yn(oo),co=yn(ao),lo=({node:e,isSingleEnv:t,CodeEditor:n,DiffEditor:r,isDark:i=!1})=>{let[a,o]=H(!1),[s,c]=H(!1);if(e.data.resourceType!==`model`&&e.data.resourceType!==`snapshot`)return`Not available`;let l=e.data.data.base?.raw_code,u=e.data.data.current?.raw_code,d=e.data.data.base?.name??e.data.data.current?.name??``;return G(K,{className:`no-track-pii-safe`,sx:{position:`relative`,height:`100%`},onMouseEnter:()=>{c(!0)},onMouseLeave:()=>{c(!1)},children:[t?W(n,{language:`sql`,value:l??``,readOnly:!0,lineNumbers:!0,wordWrap:!1,theme:i?`dark`:`light`}):W(r,{original:l??``,modified:u??``,language:`sql`,readOnly:!0,lineNumbers:!0,sideBySide:!1,theme:i?`dark`:`light`,height:`100%`}),W(X,{onClick:()=>o(!0),size:`medium`,"aria-label":`Expand`,sx:{position:`absolute`,top:`5px`,right:`20px`,opacity:s?.5:.1,transition:`opacity 0.3s ease-in-out`},children:W(Wn,{})}),G(En,{open:a,onClose:()=>o(!1),maxWidth:`sm`,fullWidth:!0,slotProps:{paper:{sx:{height:`75%`,overflowY:`auto`}}},children:[G(kn,{sx:{display:`flex`,alignItems:`center`},children:[t?G(U,{children:[W(`code`,{children:d}),`\xA0Model Code`]}):G(U,{children:[W(`code`,{children:d}),`\xA0Model Code Diff`]}),W(K,{sx:{flex:1}}),W(X,{size:`small`,onClick:()=>o(!1),children:W(Rn,{})})]}),W(On,{children:t?W(n,{language:`sql`,value:l??``,fontSize:16,readOnly:!0,lineNumbers:!0,wordWrap:!1,theme:i?`dark`:`light`}):W(r,{original:l??``,modified:u??``,language:`sql`,theme:i?`dark`:`light`,className:`text-base`})})]})]})},uo=({node:e})=>{let{data:t,isLoading:n}=F(),r=Et();return n?W(U,{}):W(lo,{node:e,isSingleEnv:t?.single_env_onboarding??!1,CodeEditor:De,DiffEditor:Ge,isDark:r})},fo=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`}),po={mr:.5,display:`flex`,alignItems:`center`};function mo({data:e,"data-testid":t}){let n=Et(),{icon:r}=tt(e.resourceType);return W(Z,{arrow:!0,title:`Type of resource`,children:G(K,{component:`span`,sx:fo(n),"data-testid":t,children:[r&&W(K,{component:`span`,sx:po,children:W(r,{})}),e.resourceType]})})}const ho=bn(mo);ho.displayName=`ResourceTypeTag`;function go({rowCount:e}){let t=e.base,n=e.curr,r=e.base===null?`N/A`:`${e.base} rows`,i=e.curr===null?`N/A`:`${e.curr} rows`;return t===null&&n===null?W(U,{children:` Failed to load`}):t===null||n===null?G(J,{direction:`row`,alignItems:`center`,spacing:.5,children:[W(Y,{variant:`body2`,component:`span`,children:r}),W(di,{}),W(Y,{variant:`body2`,component:`span`,children:i})]}):t===n?G(J,{direction:`row`,alignItems:`center`,spacing:.5,children:[W(Y,{variant:`body2`,component:`span`,children:i}),W(K,{component:`span`,sx:{color:`grey.500`,display:`flex`},children:W(yi,{})}),W(Y,{variant:`body2`,component:`span`,sx:{color:`grey.500`},children:`No Change`})]}):t<n?G(J,{direction:`row`,alignItems:`center`,spacing:.5,children:[W(Y,{variant:`body2`,component:`span`,children:i}),W(K,{component:`span`,sx:{color:`success.main`,display:`flex`},children:W(_i,{})}),W(Y,{variant:`body2`,component:`span`,sx:{color:`success.main`},children:Nt(t,n)})]}):G(J,{direction:`row`,alignItems:`center`,spacing:.5,children:[W(Y,{variant:`body2`,component:`span`,children:i}),W(K,{component:`span`,sx:{color:`error.main`,display:`flex`},children:W(gi,{})}),W(Y,{variant:`body2`,component:`span`,sx:{color:`error.main`},children:Nt(t,n)})]})}function _o({rowCount:e,node:t,onRefresh:n,isFetching:r}){let i=Et(),{featureToggles:a}=I(),{runsAggregated:o}=M(),s=o?.[t.id]?.row_count_diff.result,c=z(`row_count_diff`).icon,l=e??s,u=l;return W(Z,{title:l?`${l.base??`N/A`} -> ${l.curr??`N/A`} rows`:``,children:W(Ps,{display:a.mode===`metadata only`,children:G(K,{component:`span`,sx:{...fo(i),gap:.5},children:[W(c,{}),u!=null||r?r?W(Ei,{width:30,height:16}):u==null?W(Y,{variant:`caption`,children:`row count`}):W(go,{rowCount:u}):W(Y,{variant:`caption`,children:`row count`}),n&&W(X,{"aria-label":`Query Row Count`,size:`small`,onClick:n,disabled:a.disableDatabaseQuery,sx:{p:0,ml:.5},children:W(ur,{size:12})})]})})})}function vo({rowCount:e,node:t,onRefresh:n,isFetching:r}){let i=Et(),{runsAggregated:a}=M(),o=a?.[t.id]?.row_count.result,s=z(`row_count`).icon,c,l=e??o;return l&&(c=`${l.curr??`N/A`} rows`),G(K,{component:`span`,sx:fo(i),children:[W(K,{component:`span`,sx:po,children:W(s,{})}),l||r?r?W(Ei,{width:30,height:16}):W(Y,{variant:`caption`,children:c}):W(Y,{variant:`caption`,children:`row count`}),n&&W(X,{"aria-label":`Query Row Count`,size:`small`,onClick:n,disabled:t.data.from===`base`,sx:{p:0,ml:.5},children:W(ur,{size:12})})]})}function yo({children:e,value:t,index:n}){return t===n?W(U,{children:e}):null}const bo=()=>W(`span`,{}),xo=({children:e})=>W(U,{children:e}),So=()=>!0;function Co(e,t,n){return e?ln.add_or_remove:n(t)?``:`This action is not supported yet.`}function wo({node:e,actionCallbacks:t,runTypeIcons:n,isActionAvailable:r}){let i=e.data.changeStatus===`added`||e.data.changeStatus===`removed`,a=n?.query??bo,o=n?.row_count??bo,s=n?.profile??bo;return G(J,{direction:`row`,alignItems:`center`,flexWrap:`wrap`,gap:1,children:[W(q,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:W(a,{fontSize:`small`}),onClick:t?.onQueryClick,sx:{textTransform:`none`},children:`Query`}),W(q,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:W(o,{fontSize:`small`}),onClick:t?.onRowCountClick,sx:{textTransform:`none`},children:`Row Count`}),W(Z,{title:Co(i,`profile`,r),placement:`top`,children:W(`span`,{children:W(q,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:W(s,{fontSize:`small`}),onClick:t?.onProfileClick,disabled:i,sx:{textTransform:`none`},children:`Profile`})})})]})}function To({actionCallbacks:e,runTypeIcons:t,featureToggles:n,ConnectionPopoverWrapper:r}){let i=n?.mode===`metadata only`,a=t?.schema_diff??bo,o=t?.sandbox??bo;return G(J,{direction:`row`,alignItems:`center`,sx:{mr:1},flexWrap:`wrap`,gap:1,children:[W(q,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:W(a,{fontSize:`small`}),onClick:e?.onAddSchemaDiffClick,sx:{textTransform:`none`},children:`Add schema diff to checklist`}),W(r,{display:i,children:W(q,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:W(o,{fontSize:`small`}),onClick:e?.onSandboxClick,disabled:n?.disableDatabaseQuery,sx:{textTransform:`none`},children:`Sandbox`})})]})}function Eo({node:e,actionCallbacks:t,runTypeIcons:n,featureToggles:r,isActionAvailable:i,ConnectionPopoverWrapper:a}){let o=r?.mode===`metadata only`,s=e.data.changeStatus===`added`||e.data.changeStatus===`removed`,c=n?.query_diff??bo,l=n?.row_count_diff??bo,u=n?.profile_diff??bo,d=n?.value_diff??bo,f=n?.top_k_diff??bo,p=n?.histogram_diff??bo,m=(e,t)=>o?W(a,{display:!0,children:e}):W(Z,{title:Co(s,t,i),placement:`top`,children:W(`span`,{children:e})});return G(J,{direction:`row`,alignItems:`center`,flexWrap:`wrap`,gap:2,children:[W(Y,{variant:`caption`,fontWeight:`bold`,children:`Diff`}),G(J,{direction:`row`,alignItems:`center`,flexWrap:`wrap`,gap:1,width:`93%`,children:[W(a,{display:o,children:W(q,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:W(l,{fontSize:`small`}),onClick:t?.onRowCountDiffClick,disabled:r?.disableDatabaseQuery,sx:{textTransform:`none`},children:`Row Count`})}),m(W(q,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:W(u,{fontSize:`small`}),onClick:t?.onProfileDiffClick,disabled:s||r?.disableDatabaseQuery,sx:{textTransform:`none`},children:`Profile`}),`profile_diff`),m(W(q,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:W(d,{fontSize:`small`}),onClick:t?.onValueDiffClick,disabled:s||r?.disableDatabaseQuery,sx:{textTransform:`none`},children:`Value`}),`value_diff`),m(W(q,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:W(f,{fontSize:`small`}),onClick:t?.onTopKDiffClick,disabled:s||r?.disableDatabaseQuery,sx:{textTransform:`none`},children:`Top-K`}),`top_k_diff`),m(W(q,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:W(p,{fontSize:`small`}),onClick:t?.onHistogramDiffClick,disabled:s||r?.disableDatabaseQuery,sx:{textTransform:`none`},children:`Histogram`}),`histogram_diff`),W(a,{display:o,children:W(q,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:W(c,{fontSize:`small`}),onClick:t?.onQueryDiffClick,disabled:r?.disableDatabaseQuery,sx:{textTransform:`none`},children:`Query`})})]})]})}function Do({node:e,onCloseNode:t,isSingleEnv:n,featureToggles:r,SchemaView:i,SingleEnvSchemaView:a,NodeSqlView:o,RowCountDiffTag:s,RowCountTag:c,ResourceTypeTag:l,NotificationComponent:u,ConnectionPopoverWrapper:d=xo,SandboxDialog:f,runTypeIcons:p,actionCallbacks:m,isActionAvailable:h=So}){let g=e.data.resourceType===`model`||e.data.resourceType===`seed`||e.data.resourceType===`source`||e.data.resourceType===`snapshot`,[_,v]=H(!1),[y,b]=H(!0),[x,S]=H(0),{base:C,current:w}=e.data.data,T=!n&&Pt(C?.columns,w?.columns)===!0,E=!n&&C?.raw_code!=null&&w?.raw_code!=null&&C.raw_code!==w.raw_code,D=e.data.resourceType===`model`||e.data.resourceType===`seed`||e.data.resourceType===`snapshot`,O={...m,onSandboxClick:()=>{m?.onSandboxClick?.(),v(!0)}};return G(K,{sx:{height:`100%`,display:`flex`,flexDirection:`column`},children:[G(J,{direction:`row`,alignItems:`center`,children:[W(K,{sx:{flex:`0 1 20%`,p:2},children:W(Y,{variant:`subtitle1`,fontWeight:600,className:`no-track-pii-safe`,children:e.data.name})}),W(K,{sx:{flexGrow:1}}),!n&&D&&W(To,{node:e,actionCallbacks:O,runTypeIcons:p,featureToggles:r,ConnectionPopoverWrapper:d}),W(K,{sx:{flex:`0 1 1%`},children:W(X,{size:`small`,onClick:t,children:W(Rn,{})})})]}),W(K,{sx:{color:`text.secondary`,pl:2},children:G(J,{direction:`row`,spacing:1,children:[l&&W(l,{node:e}),D&&(n?c&&W(c,{node:e,onRefresh:m?.onRowCountClick}):s&&W(s,{node:e,onRefresh:m?.onRowCountDiffClick}))]})}),D&&W(K,{sx:{pl:2,py:1},children:n?W(wo,{node:e,actionCallbacks:m,runTypeIcons:p,isActionAvailable:h}):W(Eo,{node:e,actionCallbacks:O,runTypeIcons:p,featureToggles:r,isActionAvailable:h,ConnectionPopoverWrapper:d})}),g&&G(K,{sx:{overflow:`auto`,display:`flex`,flexDirection:`column`,flex:1,minHeight:0},children:[n&&y&&u&&W(K,{sx:{p:1.5},children:W(u,{onClose:()=>b(!1),children:W(Y,{variant:`body2`,children:`Enable the Recce Checklist and start adding checks for better data validation and review.`})})}),G(Jr,{value:x,onChange:(e,t)=>S(t),sx:{borderBottom:1,borderColor:`divider`},children:[W(qr,{label:G(K,{component:`span`,sx:{display:`flex`,alignItems:`center`,gap:.75},children:[`Columns`,T&&W(K,{component:`span`,sx:{color:`amber.main`,fontSize:`0.5rem`,lineHeight:1},children:`●`})]})}),W(qr,{label:G(K,{component:`span`,sx:{display:`flex`,alignItems:`center`,gap:.75},children:[`Code`,E&&W(K,{component:`span`,sx:{color:`amber.main`,fontSize:`0.5rem`,lineHeight:1},children:`●`})]})})]}),G(K,{sx:{overflow:`auto`,height:`calc(100% - 48px)`},children:[W(yo,{value:x,index:0,children:W(K,{sx:{overflowY:`auto`,height:`100%`},children:n?a&&W(a,{current:e.data.data.current}):i&&W(i,{base:e.data.data.base,current:e.data.data.current,columnChanges:e.data.change?.columns,onViewCode:()=>S(1)})})}),W(yo,{value:x,index:1,children:W(K,{sx:{height:`100%`},children:o&&W(o,{node:e})})})]})]}),f&&W(f,{isOpen:_,onClose:()=>v(!1),current:e.data.data.current})]})}function Oo(e){return $r(ti(e),`yyyy-MM-dd'T'HH:mm:ss`)}function ko({current:e,primaryKeys:t,onPrimaryKeysChange:n,onRunResultOpen:r,runQuery:i,isPending:a,QueryForm:o}){return G(J,{direction:`row`,justifyContent:`flex-end`,alignItems:`center`,sx:{p:`4pt 8pt`,gap:`5px`,height:`54px`,borderBottom:`1px solid`,borderBottomColor:`divider`,flex:`0 0 54px`},children:[G(K,{children:[G(Y,{variant:`h6`,component:`h2`,sx:{display:`flex`,alignItems:`center`,gap:`5px`},children:[W(K,{component:Di,sx:{fontSize:`1.2em`}}),`Sandbox`]}),G(Y,{sx:{fontSize:`0.75rem`,color:`grey.500`},children:[`Compare the run results based on the modified SQL code of model`,` `,W(`b`,{children:e?.name})]})]}),W(K,{sx:{flexGrow:1}}),W(o,{defaultPrimaryKeys:t,onPrimaryKeysChange:n}),W(Z,{title:`Run diff to see the changes`,children:W(q,{size:`small`,sx:{mt:`16px`,fontSize:`14px`},onClick:()=>{r(),i()},color:`iochmara`,variant:`contained`,disabled:a,children:a?`Running...`:`Run Diff`})})]})}function Ao({currentModelID:e,height:t=`32px`,flex:n=`0 0 auto`,isDark:r=!1}){let{lineageGraph:i,envInfo:a}=M(),o=`0 16px`,s=ei(Oo(a?.dbt?.current?.generated_at??``),{addSuffix:!0}),c=`N/A`;if(i?.nodes[e]){let t=i.nodes[e];t.data.data.current?.schema&&(c=t.data.data.current.schema)}return G(J,{direction:`row`,sx:{gap:0,height:t,flex:n,fontSize:`14px`,alignItems:`center`,m:0,bgcolor:Nn(r?be.neutral[700]:be.neutral[100],.5)},children:[W(J,{sx:{width:`50%`},children:G(Y,{sx:{fontWeight:`bold`,margin:o},children:[`ORIGINAL (Schema: `,c,`, Last Updated: `,s,`)`]})}),W(J,{sx:{width:`50%`},children:W(Y,{sx:{fontWeight:`bold`,margin:o},children:`SANDBOX EDITOR`})})]})}function jo({current:e,onChange:t,isDark:n,DiffEditor:r}){return W(r,{original:e?.raw_code??``,modified:e?.raw_code??``,language:`sql`,readOnly:!1,lineNumbers:!0,sideBySide:!0,theme:n?`dark`:`light`,height:`100%`,onModifiedChange:t})}function Mo({isOpen:e,onClose:t,current:n,DiffEditor:r,QueryForm:i,RunResultPane:a,isDark:o=!1,primaryKeys:s=[],onPrimaryKeysChange:c,isPending:l=!1,onRunQuery:u,onRunResultOpen:d,onModifiedCodeChange:f,onShowFeedback:p,tracking:m,logoUrl:h=`/logo/recce-logo-white.png`,brandName:g=`RECCE`}){let[_,v]=H(!1),y=e=>{f?.(e)},b=()=>{v(!0),d?.()},x=()=>{u?.()},S=()=>{t(),v(!1),m?.onPreviewChange?.({action:`close`,node:n?.name})},C=e=>{c?.(e)};return G(En,{open:e,onClose:S,maxWidth:!1,fullWidth:!0,slotProps:{paper:{sx:{width:`100%`,height:`100%`,maxWidth:`100%`,maxHeight:`100%`,m:0}}},children:[G(K,{sx:{height:`40px`,bgcolor:`cyan.600`,px:0,py:2,display:`flex`,alignItems:`center`},children:[G(J,{direction:`row`,alignItems:`center`,sx:{height:`100%`,gap:`10px`},children:[W(K,{component:`img`,sx:{width:`20px`,height:`20px`,ml:`18px`},src:h,alt:`logo`}),W(Y,{variant:`h6`,component:`h1`,sx:{fontFamily:`"Montserrat", sans-serif`,fontSize:`1.125rem`,color:`common.white`},children:g}),W(hr,{label:`Experiment`,size:`small`,variant:`outlined`,sx:{fontSize:`0.875rem`,color:`common.white`,borderColor:`rgba(255,255,255,0.5)`}})]}),W(X,{"aria-label":`close`,onClick:S,sx:{position:`absolute`,right:8,top:4,color:`common.white`},children:W(Rn,{})})]}),W(On,{sx:{p:0},children:G(bt,{sizes:_?[50,50]:[100,0],minSize:0,gutterSize:5,className:_?void 0:`split-gutter-hidden`,style:{flex:`1`,contain:`size`,height:`100%`},children:[G(J,{sx:{height:`100%`,m:0,p:0},children:[W(ko,{current:n,primaryKeys:s,onPrimaryKeysChange:C,onRunResultOpen:b,runQuery:x,isPending:l,QueryForm:i}),W(Ao,{height:`32px`,flex:`0 0 auto`,currentModelID:n?.id??``,isDark:o}),W(jo,{current:n,onChange:y,isDark:o,DiffEditor:r})]}),_?W(a,{onClose:()=>v(!1),disableAddToChecklist:!0}):W(K,{})]})}),W(K,{sx:{position:`fixed`,bottom:16,right:16,opacity:.5},children:W(Z,{title:`Give us feedback`,children:W(X,{"aria-label":`feedback`,size:`medium`,onClick:()=>{p?.()},children:W(Vr,{})})})})]})}function No({isOpen:e,onClose:t,current:n}){let[r,i]=H(n?.raw_code??``),[o,s]=H(e),{showRunId:c,clearRunResult:l}=de(),{primaryKeys:u,setPrimaryKeys:d}=Ie(),{data:p,isLoading:m}=F(),{apiClient:g}=Oe(),_=Et();e!==o&&(s(e),e&&i(n?.raw_code??``));let{mutate:v,isPending:y}=fn({mutationFn:async()=>{let e=r,{run_id:t}=await a({current_model:n?.name??``,primary_keys:u,sql_template:e},{nowait:!0},g);return c(t),await h(t,void 0,g)},onSuccess(e){e.error?rn({action:`run`,node:n?.name,status:`failure`}):(rn({action:`run`,node:n?.name,status:`success`}),setTimeout(()=>{b()},1e3),!m&&p?.single_env_onboarding&&setTimeout(()=>{S()},2e3))}}),{feedbackToast:b,closeToast:x}=Je({feedbackId:f.previewChangeFeedbackID,description:`Enjoy preview change?`,onFeedbackSubmit:e=>{switch(e){case`like`:an({feedback:`like`,node:n?.name});break;case`dislike`:an({feedback:`dislike`,node:n?.name});break;case`link`:an({feedback:`form`,node:n?.name});break;default:console.log(`Not support feedback type`)}},externalLink:`https://docs.google.com/forms/d/e/1FAIpQLSd7Lei7Ijwo7MinWaI0K6rzZi_21gV1BKetmiNEX254kDziDA/viewform?usp=header`,externalLinkText:`Give us feedback`}),{guideToast:S,closeGuideToast:C}=_t({guideId:f.prepareEnvGuideID,description:`Want to compare data changes with production data?`,externalLink:`https://docs.reccehq.com/get-started/#prepare-dbt-artifacts`,externalLinkText:`Learn how.`,onExternalLinkClick:()=>{sn({action:`external_link`,from:`preview_changes`,node:n?.name})}});return W(Mo,{isOpen:e,onClose:()=>{t(),l(),x(),C()},current:n,DiffEditor:Ge,QueryForm:Ca,RunResultPane:L,isDark:_,primaryKeys:u??[],onPrimaryKeysChange:d,isPending:y,onRunQuery:v,onModifiedCodeChange:i,onShowFeedback:()=>b(!0),tracking:{onPreviewChange:rn}})}const Po=({node:e})=>W(ho,{data:{resourceType:e.data.resourceType}});function Fo({onClose:e}){return W(Me,{onClose:e,align:`flex-start`,children:G(Y,{variant:`body2`,children:[`Enable the Recce Checklist and start adding checks for better data validation and review.`,W(`br`,{}),W(rt,{})]})})}function Io({node:e,onCloseNode:t}){let n=ri(),{runAction:r}=de(),{isActionAvailable:i,envInfo:a}=M(),{singleEnv:o,featureToggles:s}=I(),{setSqlQuery:c,setPrimaryKeys:l}=Ie(),{primaryKey:u}=ut(e.data.name),{apiClient:d}=Oe(),{basePath:f}=ue(),p=V(()=>({query:z(`query`).icon,row_count:z(`row_count`).icon,row_count_diff:z(`row_count_diff`).icon,profile:z(`profile`).icon,profile_diff:z(`profile_diff`).icon,query_diff:z(`query_diff`).icon,value_diff:z(`value_diff`).icon,top_k_diff:z(`top_k_diff`).icon,histogram_diff:z(`histogram_diff`).icon,schema_diff:z(`schema_diff`).icon,sandbox:z(`sandbox`).icon}),[]),m=Ft(Object.keys(e.data.data.base?.columns??{}),Object.keys(e.data.data.current?.columns??{})),h=V(()=>m.length?`select \n ${m.join(`
|
|
@@ -9,4 +9,4 @@ import{$ as e,A as t,D as n,G as r,J as i,K as a,M as o,N as s,O as c,R as l,W a
|
|
|
9
9
|
${Us(e)}
|
|
10
10
|
|
|
11
11
|
</details>`}function Us(e){let t=Ee({description:e.description});if(e.type===`query`||e.type===`query_diff`){let n=e.params;return`${t}\n\n${je({sql:n&&`sql_template`in n?n.sql_template:``})}`}return t}const Ws=()=>{let e=mn(),t=ri(),{apiClient:n}=Oe(),{basePath:r}=ue(),{mutate:i,isPending:a}=fn({mutationFn:()=>_({select:`state:modified`},n),onSuccess:async n=>{await e.invalidateQueries({queryKey:A.checks()}),t.push(`${r}/checks/?id=${n.check_id}`)}});return W(He,{title:`No checks yet`,description:`Checks help you validate data quality and catch issues.`,icon:W(oi,{size:48}),actionText:`Create Schema Diff Check`,onAction:()=>{i()},isLoading:a,helperText:`The schema checks compare modified models between environments to detect changes, additions, or removals.`})},Gs=({check:e,selected:t,onSelect:n,onApprovalChange:r})=>{let{featureToggles:i}=I(),a=e.last_run?.run_id,{run:o}=ht(a),s=Fe({type:e.type,hasResult:!!o?.result,hasError:!!o?.error}),c=s||i.disableUpdateChecklist;return W(xe,{check:{id:e.check_id,name:e.name,type:e.type,isApproved:e.is_checked,runStatus:(()=>{if(o){if(o.error)return`error`;if(o.result)return`success`}})(),isPreset:e.is_preset},isSelected:t,onClick:n,onApprovalChange:r,disableApproval:c,disabledApprovalTooltip:s?`Run the check first`:void 0})},Ks=({checks:e,selectedItem:t,onCheckSelected:n,onChecksReordered:r})=>{let[i,a]=H(!1),[s,c]=H(!1),[l,u]=H(null),d=mn(),{apiClient:f}=Oe(),{mutate:p}=fn({mutationFn:({checkId:e,isChecked:t})=>o(e,{is_checked:t},f),onSuccess:async(e,{checkId:t})=>{await d.invalidateQueries({queryKey:A.check(t)}),await d.invalidateQueries({queryKey:A.checks()})}}),m=e=>{e.destination&&r(e.source.index,e.destination.index)},h=()=>c(!0),g=()=>{c(!1),u(null)},_=()=>{jt.create({title:`Marked as approved`,type:`success`,duration:2e3})},v=(e,t)=>{t?localStorage.getItem(`bypassMarkAsApprovedWarning`)===`true`?(p({checkId:e,isChecked:!0}),_()):(u(e),h()):p({checkId:e,isChecked:!1})};return G(U,{children:[W(Bi,{onDragEnd:m,children:W(Hi,{droppableId:`checklist`,children:r=>G(J,{...r.droppableProps,ref:r.innerRef,className:`no-track-pii-safe`,sx:{width:`100%`,flex:1,overflow:`auto`},spacing:0,children:[e.map((e,r)=>W(Vi,{draggableId:e.check_id,index:r,children:(r,i)=>{let a=r.draggableProps.style;if(i.isDragging&&a&&`left`in a){let e={x:0,y:80};a={...a,left:a.left-e.x,top:a.top-e.y}}return W(K,{ref:r.innerRef,...r.draggableProps,...r.dragHandleProps,style:a,sx:{width:`100%`},borderBottom:`1px solid`,borderColor:`divider`,children:W(Gs,{check:e,selected:e.check_id===t,onSelect:n,onApprovalChange:v},e.check_id)})}},e.check_id)),r.placeholder]})})}),G(En,{open:s,onClose:g,maxWidth:`xs`,fullWidth:!0,children:[G(kn,{sx:{display:`flex`,alignItems:`center`},children:[`Mark as Approved?`,W(K,{sx:{flexGrow:1}}),W(X,{size:`small`,onClick:g,children:W(Rn,{})})]}),W(Vn,{}),G(On,{sx:{fontSize:`0.875rem`},children:[W(Y,{children:`Please ensure you have reviewed the contents of this check before marking it as approved.`}),W(Pr,{control:W(Nr,{checked:i,onChange:e=>{a(e.target.checked)},size:`small`}),label:W(Y,{sx:{fontWeight:`bold`,pt:`8px`},children:`Don't show this again`})})]}),W(Vn,{}),G(Dn,{sx:{gap:0},children:[W(q,{variant:`outlined`,size:`small`,onClick:g,children:`Cancel`}),W(q,{color:`iochmara`,variant:`contained`,size:`small`,onClick:()=>{l&&(p({checkId:l,isChecked:!0}),i&&localStorage.setItem(`bypassMarkAsApprovedWarning`,`true`),_(),g(),u(null))},children:`Mark as approved`})]})]})]})},qs=()=>{let e=Pn().palette.mode===`dark`?`grey.700`:`grey.300`,t=ri(),n=ii().get(`id`),{latestSelectedCheckId:r,setLatestSelectedCheckId:i}=Ct(),a=mn(),{apiClient:o}=Oe(),{basePath:s}=ue(),c=n;Sn(()=>{c&&i(c)},[c,i]);let{isLoading:l,error:u,data:d,status:f,refetch:p}=pn({queryKey:A.checks(),queryFn:()=>b(o),refetchOnMount:!0}),m=B(e=>{t.push(`${s}/checks/?id=${e}`)},[t.push,s]),[h,g]=H(d??[]),[_,v]=H(d);d!==_&&(v(d),g(d??[]));let{mutate:x}=fn({mutationFn:e=>y(e,o),onSuccess:async()=>{await a.invalidateQueries({queryKey:A.checks()})}}),S=B((e,t)=>{let n=[...h],[r]=n.splice(e,1);n.splice(t,0,r),x({source:e,destination:t}),g(n)},[h,x]),C=V(()=>!!(c&&d?.some(e=>e.check_id===c)),[c,d]);return Sn(()=>{f!==`success`||d.length===0||C||(r&&d.some(e=>e.check_id===r)?t.replace(`${s}/checks/?id=${r}`):t.replace(`${s}/checks/?id=${d[0].check_id}`))},[f,C,d,r,t.replace,s]),l?null:u?G(K,{children:[`Error: `,W(`span`,{className:`no-track-pii-safe`,children:u.message})]}):d?.length?G(at,{style:{height:`100%`},minSize:50,sizes:[20,80],children:[W(K,{sx:{height:`100%`},style:{contain:`size`},children:G(J,{sx:{height:`100%`,alignItems:`stretch`},style:{contain:`strict`},spacing:0,children:[W(K,{sx:{display:`flex`,justifyContent:`flex-end`,p:`0px 10px`},children:W(Fs,{checksOnly:!0})}),W(Vn,{}),W(Ks,{checks:h,selectedItem:c,onCheckSelected:m,onChecksReordered:S})]})}),W(K,{sx:{height:`100%`},children:C&&c&&W(Vs,{checkId:c,refreshCheckList:p},c)})]}):G(at,{style:{height:`100%`},minSize:50,sizes:[20,80],children:[W(K,{sx:{borderRight:`1px solid`,borderRightColor:e,height:`100%`},style:{contain:`size`},children:G(J,{sx:{height:`100%`,alignItems:`stretch`},style:{contain:`strict`},spacing:0,children:[W(K,{sx:{display:`flex`,justifyContent:`flex-end`,p:`0px 10px`},children:W(Fs,{checksOnly:!0})}),W(Vn,{}),W(K,{sx:{height:`100%`,display:`flex`,justifyContent:`center`,alignItems:`center`},children:W(K,{sx:{textAlign:`center`,color:`grey.500`},children:`No checks`})})]})}),W(K,{children:W(K,{sx:{height:`100%`,display:`flex`,justifyContent:`center`,alignItems:`center`},children:W(Ws,{})})})]})},Js=()=>G(at,{style:{height:`100%`},minSize:50,sizes:[20,80],children:[W(K,{sx:{borderRight:`1px solid`,borderRightColor:Pn().palette.mode===`dark`?`grey.700`:`grey.300`,height:`100%`},style:{contain:`size`},children:W(K,{sx:{height:`100%`,display:`flex`,justifyContent:`center`,alignItems:`center`},children:W(Hn,{size:20})})}),W(K,{children:W(K,{sx:{height:`100%`,display:`flex`,justifyContent:`center`,alignItems:`center`},children:W(Hn,{size:20})})})]}),Ys={added:[`Model Added`,`Added resource`],removed:[`Model Removed`,`Removed resource`],modified:[`Model Modified`,`Modified resource`],col_added:[`Column Added`,`Added column`],col_removed:[`Column Removed`,`Removed column`],col_changed:[`Column Modified`,`Modified column`],folder_changed:[`Modified`,`Modified folder`]};function Xs(e){let t=String(ye(`colors.green.solid`)),n=String(ye(`colors.red.solid`)),r=String(ye(`colors.amber.emphasized`));return e===`added`?{color:t,icon:Xe}:e===`removed`?{color:n,icon:st}:e===`modified`?{color:r,icon:pt}:e===`col_added`?{color:t,icon:Xe}:e===`col_removed`?{color:n,icon:st}:e===`col_changed`?{color:r,icon:pt}:e===`folder_changed`?{color:r,icon:et}:{color:`inherit`,icon:void 0}}function Zs(e,t){let n=0,r=0,i=0;return!e&&!t?{adds:n,removes:r,modifies:i}:(t&&Object.keys(t.columns??{}).forEach(t=>{e?.columns?.[t]||n++}),e&&Object.keys(e.columns??{}).forEach(e=>{t?.columns?.[e]||r++}),t&&e&&Object.keys(t.columns??{}).forEach(n=>{e.columns&&t.columns?.[n]&&e.columns[n]&&e.columns[n].type!==t.columns[n].type&&i++}),{adds:n,removes:r,modifies:i})}function Qs(e){let t=e.modifiedSet,n=0,r=0,i=0,a=0,o=0,s=0;return t.forEach(t=>{e.nodes[t].data.changeStatus===`added`?n++:e.nodes[t].data.changeStatus===`removed`?r++:e.nodes[t].data.changeStatus===`modified`&&i++;let c=e.nodes[t].data.data.base,l=e.nodes[t].data.data.current,u=Zs(c,l);a+=u.adds,o+=u.removes,s+=u.modifies}),{adds:n,removes:r,modifies:i,col_added:a,col_removed:o,col_changed:s}}function $s({name:e,value:t,tip:n}){return G(J,{alignItems:`stretch`,children:[G(Y,{sx:{fontSize:`0.875rem`,color:`grey.600`},children:[e,n&&W(Z,{title:n,children:W(K,{sx:{display:`inline-block`},children:W(K,{component:pi,sx:{mx:`2px`,fontSize:12,verticalAlign:`middle`}})})})]}),t]})}function ec({changeStatus:e,value:t}){let[n]=e?Ys[e]:[``],{icon:r,color:i}=Xs(e);return G(J,{alignItems:`stretch`,children:[G(J,{direction:`row`,alignItems:`center`,sx:{fontSize:`0.875rem`,color:`grey.600`},children:[r&&W(K,{component:r,sx:{mr:`5px`,color:i,fontSize:`1rem`}}),n]}),W(Y,{sx:{fontSize:`0.875rem`},children:t})]})}function tc({lineageGraph:e}){let{adds:t,removes:n,modifies:r,col_added:i,col_removed:a,col_changed:o}=Qs(e);return G(Li,{container:!0,sx:{mb:`10px`,borderTop:`1px solid`,borderColor:`divider`,p:`2.5vw`},children:[W(Li,{size:6,sx:{borderColor:`divider`},children:W($s,{name:`Code Changes`,value:G(Li,{container:!0,sx:{width:`100%`},children:[W(Li,{size:4,children:W(ec,{changeStatus:`added`,value:t})}),W(Li,{size:4,children:W(ec,{changeStatus:`removed`,value:n})}),W(Li,{size:4,children:W(ec,{changeStatus:`modified`,value:r})})]})})}),W(Li,{size:6,sx:{borderLeft:`1px solid`,borderLeftColor:`divider`,pl:`12px`},children:W($s,{name:`Column Changes`,value:G(Li,{container:!0,sx:{width:`100%`},children:[W(Li,{size:4,children:W(ec,{changeStatus:`col_added`,value:i})}),W(Li,{size:4,children:W(ec,{changeStatus:`col_removed`,value:a})}),W(Li,{size:4,children:W(ec,{changeStatus:`col_changed`,value:o})})]})})})]})}function nc({node:e,...t}){return G(Ui,{sx:{maxWidth:500},children:[W(Gi,{title:W(Y,{sx:{fontSize:18,fontWeight:`bold`},children:t.title}),subheader:G(J,{direction:`row`,spacing:`8px`,sx:{p:`16px`},children:[W(ho,{data:{resourceType:e.data.resourceType}}),e.data.resourceType===`model`&&W(_o,{node:e})]})}),W(Wi,{children:W(K,{sx:{display:`flex`},children:W(so,{base:e.data.data.base,current:e.data.data.current,columnChanges:e.data.change?.columns})})})]})}function rc(e){let t=[],n=e.nodes;return e.modifiedSet.forEach(e=>{let r=n[e],i=Ot(Object.keys(r.data.data.base?.columns??{}),Object.keys(r.data.data.current?.columns??{}));!Object.values(i).every(e=>e===void 0)&&r.data.data.base&&r.data.data.current&&t.push(r)}),t}function ic({lineageGraph:e}){let[t,n]=H([]);return Sn(()=>{n(rc(e))},[e]),G(U,{children:[W(K,{sx:{width:`100%`,pb:`10px`,mb:`20px`,mt:`20px`},children:W(Y,{variant:`h5`,sx:{fontSize:24},children:`Schema Summary`})}),W(K,{sx:{width:`100%`,pb:`10px`,mb:`20px`},children:t.length===0?W(Y,{sx:{fontSize:18,color:`grey.600`},children:`No schema changes detected.`}):W(K,{sx:{display:`grid`,gridTemplateColumns:`repeat(auto-fill, minmax(400px, 1fr))`,gap:`2vw`,p:`2.5vw`,width:`100%`,bgcolor:`lightgray`},children:t.map(e=>W(nc,{title:e.data.name,node:e},e.id))})})]})}function ac({checks:e,isLoading:t,error:n,selectedCheckId:r,onCheckSelect:i,onApprovalChange:a,onAction:o,onReorder:s,onDescriptionChange:c,onNameChange:l,onCreateCheck:u,getCheckTabs:d,getPrimaryActions:f,getSecondaryActions:p,disableApproval:m=!1,disabledApprovalTooltip:h,height:g=`100%`,listPaneSize:_=30,minListSize:v=200,maxListSize:y=500,listTitle:b,className:x}){let S=R(),C=e??S.checks,w=t===void 0?S.isLoading:t,T=n??S.error,E=r??S.selectedCheckId,D=i??S.onSelectCheck,O=V(()=>C.map(e=>({id:e.check_id,name:e.name,type:e.type,description:e.description,isApproved:e.is_checked})),[C]),k=V(()=>C.find(e=>e.check_id===E),[C,E]),ee=B(e=>{D?.(e)},[D]),te=B((e,t)=>{o?.(e,t)},[o]),ne=B(e=>{E&&c?.(E,e)},[E,c]),re=B(e=>{E&&l?.(E,e)},[E,l]);if(w)return W(K,{className:x,sx:{width:`100%`,height:g,display:`flex`,alignItems:`center`,justifyContent:`center`},children:W(Hn,{})});if(T)return W(K,{className:x,sx:{width:`100%`,height:g,display:`flex`,alignItems:`center`,justifyContent:`center`},children:W(Y,{color:`error`,children:T})});if(C.length===0)return W(K,{className:x,sx:{width:`100%`,height:g,display:`flex`,alignItems:`center`,justifyContent:`center`},children:W(He,{title:`No checks yet`,description:`Create your first check to start validating your data.`,actionText:`Create Check`,onAction:u})});let A=k?d?.(k):void 0,ie=k?f?.(k):void 0,ae=k?p?.(k):void 0;return W(K,{className:x,sx:{width:`100%`,height:g},children:G(Ze,{direction:`horizontal`,sizes:[_,100-_],minSizes:[v,200],maxSizes:[y,1/0],children:[W(K,{sx:{height:`100%`,overflow:`auto`},children:W(Ue,{checks:O,selectedId:E,onCheckSelect:ee,onApprovalChange:a,onReorder:s,disableApproval:m,disabledApprovalTooltip:h,title:b})}),W(K,{sx:{height:`100%`,overflow:`auto`},children:k?W(We,{checkId:k.check_id,name:k.name,type:k.type,description:k.description,isApproved:k.is_checked,tabs:A,primaryActions:ie,secondaryActions:ae,onAction:te,onDescriptionChange:ne,onNameChange:re}):W(K,{sx:{height:`100%`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:W(Y,{color:`text.secondary`,children:`Select a check from the list to view details`})})})]})})}const oc=bn(ac);oc.displayName=`ChecksView`;const sc=`0.2.0`;export{Sa as A,co as C,Ea as D,Qa as E,Ji as M,qi as N,wa as O,so as S,no as T,ds as _,Qs as a,Do as b,Ys as c,Ks as d,Ws as f,Ds as g,Ms as h,tc as i,Zi as j,Ca as k,Js as l,Ns as m,oc as n,Zs as o,Vs as p,ic as r,Xs as s,sc as t,qs as u,os as v,ro as w,io as x,Go as y};
|
|
12
|
-
//# sourceMappingURL=src-
|
|
12
|
+
//# sourceMappingURL=src-DPMlORPa.js.map
|