@datarecce/ui 1.52.0-nightly.20260609 → 1.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import{n as e}from"./colors-4aGxuAVw.js";import{createTheme as t}from"@mui/material/styles";function n(e){return{gridColor:e?`#4b5563`:`#d1d5db`,textColor:e?`#e5e7eb`:`#374151`,borderColor:e?`#6b7280`:`#9ca3af`,tooltipBackgroundColor:e?`#1f2937`:`#ffffff`,tooltipTextColor:e?`#e5e7eb`:`#111827`,barLabelColor:e?`#ffffff`:`#1f2937`,secondaryTextColor:e?`#e5e7eb`:`#6b7280`,overlayBackgroundColor:e?`#1f2937cc`:`#ffffffcc`}}function r(e,t=!0){let r=n(e);return{grid:{color:t?r.gridColor:void 0,display:t},ticks:{color:r.textColor},border:{color:r.borderColor}}}function i(e){let t=n(e);return{legend:{labels:{color:t.textColor}},title:{color:t.textColor},tooltip:{backgroundColor:t.tooltipBackgroundColor,titleColor:t.tooltipTextColor,bodyColor:t.tooltipTextColor,borderColor:t.borderColor,borderWidth:1}}}const a=`#63B3ED`,o=`#F6AD55`,s=`${a}A5`,c=`${o}A5`,l=`#90CDF4`,u=`#FBD38D`,d=`${l}A5`,f=`${u}A5`,p=a,m=l;function h(e){return{current:e?l:a,base:e?u:o,currentWithAlpha:e?d:s,baseWithAlpha:e?f:c,info:e?m:p}}function g(e,t){return[{props:{color:e,variant:`contained`},style:{backgroundColor:`var(--mui-palette-${e}-main, ${t[500]})`,color:`var(--mui-palette-${e}-contrastText, #ffffff)`,"&:hover":{backgroundColor:`var(--mui-palette-${e}-dark, ${t[600]})`}}},{props:{color:e,variant:`outlined`},style:{"&&":{borderColor:`var(--mui-palette-${e}-main, ${t[500]})`,color:`var(--mui-palette-${e}-dark, ${t[600]})`},"&:hover":{borderColor:`var(--mui-palette-${e}-dark, ${t[600]})`,backgroundColor:`color-mix(in srgb, var(--mui-palette-${e}-light, ${t[50]}) 30%, transparent)`}}},{props:{color:e,variant:`text`},style:{"&&":{color:`var(--mui-palette-${e}-dark, ${t[600]})`},"&:hover":{backgroundColor:`color-mix(in srgb, var(--mui-palette-${e}-light, ${t[50]}) 30%, transparent)`}}}]}function _(e,t){return[{props:{color:e,variant:`filled`},style:{backgroundColor:`var(--mui-palette-${e}-main, ${t[500]})`,color:`var(--mui-palette-${e}-contrastText, #ffffff)`,"&:hover":{backgroundColor:`var(--mui-palette-${e}-dark, ${t[600]})`},"&.MuiChip-clickable:hover":{backgroundColor:`var(--mui-palette-${e}-dark, ${t[600]})`}}},{props:{color:e,variant:`outlined`},style:{"&&":{borderColor:`var(--mui-palette-${e}-main, ${t[500]})`,color:`var(--mui-palette-${e}-dark, ${t[600]})`},"&:hover":{backgroundColor:`color-mix(in srgb, var(--mui-palette-${e}-light, ${t[50]}) 25%, transparent)`}}}]}function v(e,t){return[{props:{color:e},style:{"& .MuiBadge-badge":{backgroundColor:`var(--mui-palette-${e}-main, ${t[500]})`,color:`var(--mui-palette-${e}-contrastText, #ffffff)`}}}]}function y(e,t){return[{props:{color:e},style:{color:`var(--mui-palette-${e}-main, ${t[500]})`}}]}const b=[...g(`brand`,e.brand),...g(`iochmara`,e.iochmara),...g(`cyan`,e.cyan),...g(`amber`,e.amber),...g(`green`,e.green),...g(`red`,e.red),...g(`rose`,e.rose),...g(`fuchsia`,e.fuchsia),...g(`neutral`,e.neutral)],x=[..._(`brand`,e.brand),..._(`iochmara`,e.iochmara),..._(`cyan`,e.cyan),..._(`amber`,e.amber),..._(`green`,e.green),..._(`red`,e.red),..._(`rose`,e.rose),..._(`fuchsia`,e.fuchsia),..._(`neutral`,e.neutral)],S=[...v(`brand`,e.brand),...v(`iochmara`,e.iochmara)],C=[...y(`brand`,e.brand),...y(`iochmara`,e.iochmara)],w={typography:{fontFamily:[`-apple-system`,`BlinkMacSystemFont`,`"Segoe UI"`,`Roboto`,`"Helvetica Neue"`,`Arial`,`sans-serif`,`"Apple Color Emoji"`,`"Segoe UI Emoji"`,`"Segoe UI Symbol"`].join(`,`),fontSize:14,h1:{fontWeight:600},h2:{fontWeight:600},h3:{fontWeight:600},h4:{fontWeight:600},h5:{fontWeight:600},h6:{fontWeight:600},button:{textTransform:`none`,fontWeight:500}},shape:{borderRadius:8},components:{MuiButton:{defaultProps:{disableElevation:!0},styleOverrides:{root:{borderRadius:6,boxShadow:`none`,textTransform:`none`,fontWeight:500,"&:hover":{boxShadow:`none`}},sizeSmall:{fontSize:`0.8125rem`,padding:`4px 10px`},sizeMedium:{padding:`0.5rem 1rem`,fontSize:`1rem`},sizeLarge:{padding:`0.75rem 1.5rem`,fontSize:`1.125rem`},contained:{"&:hover":{boxShadow:`none`}},outlined:{borderWidth:`1px`,"&:hover":{borderWidth:`1px`}}},variants:[{props:{size:`xsmall`},style:{fontSize:`0.75rem`,padding:`2px 8px`,minHeight:24}},...b]},MuiChip:{styleOverrides:{root:{borderRadius:6,fontWeight:500},sizeSmall:{fontSize:`0.75rem`,height:24},sizeMedium:{height:32,fontSize:`0.875rem`}},variants:[{props:{size:`xsmall`},style:{fontSize:`0.6875rem`,height:20,"& .MuiChip-label":{padding:`0 6px`}}},...x]},MuiBadge:{variants:[...S],styleOverrides:{badge:{fontWeight:500,fontSize:`0.75rem`}}},MuiAlert:{styleOverrides:{root:{borderRadius:6,"&.MuiAlert-standard.MuiAlert-colorSuccess":{backgroundColor:`var(--mui-palette-success-light)`,color:`var(--mui-palette-success-dark)`,"& .MuiAlert-icon":{color:`var(--mui-palette-success-dark)`}},"&.MuiAlert-standard.MuiAlert-colorWarning":{backgroundColor:`var(--mui-palette-warning-light)`,color:`var(--mui-palette-warning-dark)`,"& .MuiAlert-icon":{color:`var(--mui-palette-warning-dark)`}},"&.MuiAlert-standard.MuiAlert-colorError":{backgroundColor:`var(--mui-palette-error-light)`,color:`var(--mui-palette-error-dark)`,"& .MuiAlert-icon":{color:`var(--mui-palette-error-dark)`}},"&.MuiAlert-standard.MuiAlert-colorInfo":{backgroundColor:`var(--mui-palette-info-light)`,color:`var(--mui-palette-info-dark)`,"& .MuiAlert-icon":{color:`var(--mui-palette-info-dark)`}}}}},MuiTabs:{styleOverrides:{indicator:{height:2}}},MuiTab:{styleOverrides:{root:{textTransform:`none`,fontWeight:500,minHeight:48}}},MuiAvatar:{styleOverrides:{root:{fontWeight:500}}},MuiCircularProgress:{defaultProps:{color:`primary`},variants:[...C]},MuiLink:{defaultProps:{underline:`hover`},styleOverrides:{root:{fontWeight:500,color:`var(--mui-palette-secondary-main)`,textDecorationColor:`var(--mui-palette-secondary-light)`,"&:hover":{color:`var(--mui-palette-secondary-dark)`}}}},MuiPopover:{styleOverrides:{paper:{borderRadius:8,boxShadow:`0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)`}}},MuiDivider:{styleOverrides:{root:{borderColor:`var(--mui-palette-divider)`}}},MuiBreadcrumbs:{styleOverrides:{separator:{color:`var(--mui-palette-text-secondary)`}}},MuiCard:{styleOverrides:{root:{borderRadius:8,boxShadow:`0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)`}}},MuiPaper:{styleOverrides:{root:{backgroundImage:`none`}}},MuiTooltip:{styleOverrides:{tooltip:{fontSize:`0.75rem`}}},MuiIconButton:{styleOverrides:{root:{borderRadius:6},sizeSmall:{padding:4},sizeMedium:{padding:8},sizeLarge:{padding:12}}},MuiTextField:{defaultProps:{variant:`outlined`,size:`small`},styleOverrides:{root:{"& .MuiOutlinedInput-root":{borderRadius:6}}}},MuiOutlinedInput:{styleOverrides:{root:{borderRadius:6,"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:`var(--mui-palette-secondary-light)`},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:`var(--mui-palette-secondary-main)`,borderWidth:2}},notchedOutline:{borderColor:`var(--mui-palette-divider)`}}},MuiCheckbox:{defaultProps:{color:`primary`},styleOverrides:{root:{borderRadius:4}}},MuiSwitch:{defaultProps:{color:`primary`}},MuiDialog:{styleOverrides:{paper:{borderRadius:8}}},MuiDialogTitle:{styleOverrides:{root:{fontWeight:600,fontSize:`1.125rem`}}},MuiMenu:{styleOverrides:{paper:{borderRadius:8,boxShadow:`0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)`}}},MuiMenuItem:{styleOverrides:{root:{fontSize:`0.875rem`,padding:`0.5rem 0.75rem`,"&:hover":{backgroundColor:`var(--mui-palette-action-hover)`},"&.Mui-selected":{backgroundColor:`var(--mui-palette-action-selected)`,"&:hover":{backgroundColor:`var(--mui-palette-action-selected)`}}}}},MuiAutocomplete:{styleOverrides:{paper:{borderRadius:6,boxShadow:`0 4px 6px -1px rgba(0, 0, 0, 0.15), 0 2px 4px -2px rgba(0, 0, 0, 0.1)`,backgroundColor:e.neutral[200],".dark &":{backgroundColor:e.neutral[700]}},listbox:{padding:`4px 0`},option:{fontSize:`0.875rem`,padding:`0.5rem 0.75rem`,'&[aria-selected="true"]':{backgroundColor:`var(--mui-palette-action-selected)`},"&.Mui-focused":{backgroundColor:`var(--mui-palette-action-hover)`}}}}}},T=t({cssVariables:{colorSchemeSelector:`class`},colorSchemes:{light:{palette:{mode:`light`,primary:{main:e.iochmara[500],light:e.iochmara[300],dark:e.iochmara[600],contrastText:`#ffffff`},secondary:{main:e.cyan[500],light:e.cyan[400],dark:e.cyan[600],contrastText:`#ffffff`},brand:{light:e.brand[400],main:e.brand[500],dark:e.brand[600],contrastText:`#ffffff`},iochmara:{light:e.iochmara[400],main:e.iochmara[500],dark:e.iochmara[600],contrastText:`#ffffff`},cyan:{main:e.cyan[500],light:e.cyan[300],dark:e.cyan[600],contrastText:`#ffffff`},amber:{main:e.amber[500],light:e.amber[300],dark:e.amber[600],contrastText:`#ffffff`},green:{main:e.green[500],light:e.green[300],dark:e.green[600],contrastText:`#ffffff`},red:{main:e.red[500],light:e.red[300],dark:e.red[600],contrastText:`#ffffff`},rose:{main:e.rose[500],light:e.rose[300],dark:e.rose[600],contrastText:`#ffffff`},fuchsia:{main:e.fuchsia[500],light:e.fuchsia[300],dark:e.fuchsia[600],contrastText:`#ffffff`},neutral:{main:e.neutral[600],light:e.neutral[300],dark:e.neutral[700],contrastText:`#ffffff`},grey:e.neutral,success:e.success,warning:e.warning,error:e.error,info:e.info,background:{default:`#ffffff`,paper:e.neutral[50]},text:{primary:e.neutral[900],secondary:e.neutral[600],disabled:e.neutral[400]},divider:e.neutral[200]}},dark:{palette:{mode:`dark`,primary:{main:e.iochmara[500],light:e.iochmara[300],dark:e.iochmara[600],contrastText:`#ffffff`},secondary:{main:e.cyan[500],light:e.cyan[400],dark:e.cyan[600],contrastText:`#ffffff`},brand:{light:e.brand[300],main:e.brand[400],dark:e.brand[600],contrastText:`#ffffff`},iochmara:{light:e.iochmara[300],main:e.iochmara[400],dark:e.iochmara[600],contrastText:`#ffffff`},cyan:{main:e.cyan[400],light:e.cyan[300],dark:e.cyan[600],contrastText:`#ffffff`},amber:{main:e.amber[400],light:e.amber[300],dark:e.amber[600],contrastText:`#000000`},green:{main:e.green[400],light:e.green[300],dark:e.green[600],contrastText:`#ffffff`},red:{main:e.red[400],light:e.red[300],dark:e.red[600],contrastText:`#ffffff`},rose:{main:e.rose[400],light:e.rose[300],dark:e.rose[600],contrastText:`#ffffff`},fuchsia:{main:e.fuchsia[400],light:e.fuchsia[300],dark:e.fuchsia[600],contrastText:`#ffffff`},neutral:{main:e.neutral[400],light:e.neutral[300],dark:e.neutral[200],contrastText:e.neutral[900]},grey:e.neutral,success:{light:e.success.light,main:e.success.main,dark:e.success.dark,contrastText:`#000000`},warning:{light:e.warning.light,main:e.warning.main,dark:e.warning.dark,contrastText:`#000000`},error:{light:e.error.light,main:e.error.main,dark:e.error.dark,contrastText:`#ffffff`},info:{light:e.info.light,main:e.info.main,dark:e.info.dark,contrastText:`#ffffff`},background:{default:e.neutral[900],paper:e.neutral[800]},text:{primary:e.neutral[50],secondary:e.neutral[400],disabled:e.neutral[600]},divider:e.neutral[700]}}},...w});export{r as _,u as a,a as c,s as d,p as f,i as g,n as h,o as i,l,h as m,dataGridThemeLight as n,f as o,m as p,T as r,c as s,dataGridThemeDark as t,d as u};
3
+ //# sourceMappingURL=theme-wN7zbYoG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-wN7zbYoG.js","names":[],"sources":["../src/theme/chartTheme.ts","../src/theme/theme.ts"],"sourcesContent":["/**\n * Shared chart theme utilities — single source of truth for both\n * Chart.js-backed charts (`HistogramChart`, `TopKBarChart`) and the\n * SVG-rendered paired histogram cells.\n */\n\nexport interface ChartThemeColors {\n gridColor: string;\n textColor: string;\n borderColor: string;\n tooltipBackgroundColor: string;\n tooltipTextColor: string;\n /** Text color for labels drawn inside bars (must contrast with pastel bar fills) */\n barLabelColor: string;\n /** Subdued text color for secondary labels like percentages */\n secondaryTextColor: string;\n /** Semi-transparent background for chips/badges drawn over bars (e.g. trimmed-top-K marker). */\n overlayBackgroundColor: string;\n}\n\n/**\n * Get theme-aware colors for Chart.js charts\n * @param isDark - Whether dark mode is active\n * @returns Theme colors for Chart.js configuration\n */\nexport function getChartThemeColors(isDark: boolean): ChartThemeColors {\n return {\n gridColor: isDark ? \"#4b5563\" : \"#d1d5db\",\n textColor: isDark ? \"#e5e7eb\" : \"#374151\",\n borderColor: isDark ? \"#6b7280\" : \"#9ca3af\",\n tooltipBackgroundColor: isDark ? \"#1f2937\" : \"#ffffff\",\n tooltipTextColor: isDark ? \"#e5e7eb\" : \"#111827\",\n barLabelColor: isDark ? \"#ffffff\" : \"#1f2937\",\n secondaryTextColor: isDark ? \"#e5e7eb\" : \"#6b7280\",\n // 80% (cc) opacity: legible over a tall bar without reading as a hard block.\n overlayBackgroundColor: isDark ? \"#1f2937cc\" : \"#ffffffcc\",\n };\n}\n\n/**\n * Get Chart.js scale options with theme-aware colors\n * @param isDark - Whether dark mode is active\n * @param showGrid - Whether to show grid lines\n * @returns Partial scale options for Chart.js\n */\nexport function getThemedScaleOptions(isDark: boolean, showGrid = true) {\n const colors = getChartThemeColors(isDark);\n return {\n grid: {\n color: showGrid ? colors.gridColor : undefined,\n display: showGrid,\n },\n ticks: {\n color: colors.textColor,\n },\n border: {\n color: colors.borderColor,\n },\n };\n}\n\n/**\n * Get Chart.js plugin options with theme-aware colors\n * @param isDark - Whether dark mode is active\n * @returns Plugin options for Chart.js (legend, title, tooltip)\n */\nexport function getThemedPluginOptions(isDark: boolean) {\n const colors = getChartThemeColors(isDark);\n return {\n legend: {\n labels: {\n color: colors.textColor,\n },\n },\n title: {\n color: colors.textColor,\n },\n tooltip: {\n backgroundColor: colors.tooltipBackgroundColor,\n titleColor: colors.tooltipTextColor,\n bodyColor: colors.tooltipTextColor,\n borderColor: colors.borderColor,\n borderWidth: 1,\n },\n };\n}\n\n// Bar color constants - Light mode\nexport const CURRENT_BAR_COLOR = \"#63B3ED\";\nexport const BASE_BAR_COLOR = \"#F6AD55\";\nexport const CURRENT_BAR_COLOR_WITH_ALPHA = `${CURRENT_BAR_COLOR}A5`;\nexport const BASE_BAR_COLOR_WITH_ALPHA = `${BASE_BAR_COLOR}A5`;\n\n// Bar color constants - Dark mode (slightly brighter for better visibility)\nexport const CURRENT_BAR_COLOR_DARK = \"#90CDF4\";\nexport const BASE_BAR_COLOR_DARK = \"#FBD38D\";\nexport const CURRENT_BAR_COLOR_DARK_WITH_ALPHA = `${CURRENT_BAR_COLOR_DARK}A5`;\nexport const BASE_BAR_COLOR_DARK_WITH_ALPHA = `${BASE_BAR_COLOR_DARK}A5`;\n\n// `info`-style accent color used by some chart legends. Equal to the current\n// bar color today but kept as a named export so consumers can pull a stable\n// \"info\" accent without binding to the base/current palette.\nexport const INFO_VAL_COLOR = CURRENT_BAR_COLOR;\nexport const INFO_VAL_COLOR_DARK = CURRENT_BAR_COLOR_DARK;\n\n/**\n * Bar colors for base/current comparison.\n */\nexport interface ChartBarColors {\n current: string;\n base: string;\n currentWithAlpha: string;\n baseWithAlpha: string;\n /** Accent color for `info`-styled legends; matches `current` today. */\n info: string;\n}\n\n/**\n * Get theme-aware bar colors for charts.\n * @param isDark - Whether dark mode is active\n */\nexport function getChartBarColors(isDark: boolean): ChartBarColors {\n return {\n current: isDark ? CURRENT_BAR_COLOR_DARK : CURRENT_BAR_COLOR,\n base: isDark ? BASE_BAR_COLOR_DARK : BASE_BAR_COLOR,\n currentWithAlpha: isDark\n ? CURRENT_BAR_COLOR_DARK_WITH_ALPHA\n : CURRENT_BAR_COLOR_WITH_ALPHA,\n baseWithAlpha: isDark\n ? BASE_BAR_COLOR_DARK_WITH_ALPHA\n : BASE_BAR_COLOR_WITH_ALPHA,\n info: isDark ? INFO_VAL_COLOR_DARK : INFO_VAL_COLOR,\n };\n}\n","/**\n * MUI Theme configuration with CSS Variables mode\n *\n * This theme uses MUI 7's CSS Variables mode with `colorSchemeSelector: 'class'`\n * to toggle between light and dark modes using the `.dark` class on the document.\n * This integrates with the ThemeContext which manages the class toggle.\n *\n * Color values and component variants are aligned with the main Recce theme at\n * ui/src/components/ui/mui-theme.ts for consistency.\n */\n\nimport { createTheme, type ThemeOptions } from \"@mui/material/styles\";\n\nimport { colors } from \"./colors\";\n\n// Custom color names type for variant generation\ntype CustomColorName =\n | \"brand\"\n | \"iochmara\"\n | \"cyan\"\n | \"amber\"\n | \"green\"\n | \"red\"\n | \"rose\"\n | \"fuchsia\"\n | \"neutral\";\n\n// Type for color scales with numeric keys (50, 100, 200, etc.)\ninterface ColorScale {\n readonly [key: number]: string;\n readonly 50: string;\n readonly 100: string;\n readonly 200: string;\n readonly 300: string;\n readonly 400: string;\n readonly 500: string;\n readonly 600: string;\n readonly 700: string;\n readonly 800: string;\n readonly 900: string;\n readonly 950: string;\n}\n\n/**\n * Helper to generate button color variants for a given color\n * Creates contained, outlined, and text variant styles\n *\n * Uses the `&&` selector pattern to increase CSS specificity, ensuring our\n * custom color variant styles override MUI's default outlined/text button styles.\n * MUI's default styles have high specificity that would otherwise win the cascade.\n *\n * @see https://mui.com/material-ui/customization/theme-components/#specificity\n */\nfunction createButtonColorVariants<T extends CustomColorName>(\n colorName: T,\n colorScale: ColorScale,\n) {\n return [\n // Contained variant (solid) - uses CSS variables for light/dark mode\n {\n props: { color: colorName, variant: \"contained\" as const },\n style: {\n backgroundColor: `var(--mui-palette-${colorName}-main, ${colorScale[500]})`,\n color: `var(--mui-palette-${colorName}-contrastText, #ffffff)`,\n \"&:hover\": {\n backgroundColor: `var(--mui-palette-${colorName}-dark, ${colorScale[600]})`,\n },\n },\n },\n // Outlined variant - uses && for higher specificity over MUI defaults\n {\n props: { color: colorName, variant: \"outlined\" as const },\n style: {\n // && increases specificity to override MUI's default outlined styles\n \"&&\": {\n borderColor: `var(--mui-palette-${colorName}-main, ${colorScale[500]})`,\n color: `var(--mui-palette-${colorName}-dark, ${colorScale[600]})`,\n },\n \"&:hover\": {\n borderColor: `var(--mui-palette-${colorName}-dark, ${colorScale[600]})`,\n backgroundColor: `color-mix(in srgb, var(--mui-palette-${colorName}-light, ${colorScale[50]}) 30%, transparent)`,\n },\n },\n },\n // Text variant (ghost) - uses && for higher specificity over MUI defaults\n {\n props: { color: colorName, variant: \"text\" as const },\n style: {\n // && increases specificity to override MUI's default text styles\n \"&&\": {\n color: `var(--mui-palette-${colorName}-dark, ${colorScale[600]})`,\n },\n \"&:hover\": {\n backgroundColor: `color-mix(in srgb, var(--mui-palette-${colorName}-light, ${colorScale[50]}) 30%, transparent)`,\n },\n },\n },\n ];\n}\n\n/**\n * Helper to generate Chip color variants\n * Uses CSS variables for automatic light/dark mode support\n *\n * Uses the `&&` selector pattern for outlined variant to ensure our custom\n * color styles override MUI's default chip outlined styles.\n */\nfunction createChipColorVariants<T extends CustomColorName>(\n colorName: T,\n colorScale: ColorScale,\n) {\n return [\n // Filled variant - uses CSS variables for light/dark mode\n {\n props: { color: colorName, variant: \"filled\" as const },\n style: {\n backgroundColor: `var(--mui-palette-${colorName}-main, ${colorScale[500]})`,\n color: `var(--mui-palette-${colorName}-contrastText, #ffffff)`,\n \"&:hover\": {\n backgroundColor: `var(--mui-palette-${colorName}-dark, ${colorScale[600]})`,\n },\n \"&.MuiChip-clickable:hover\": {\n backgroundColor: `var(--mui-palette-${colorName}-dark, ${colorScale[600]})`,\n },\n },\n },\n // Outlined variant - uses && for higher specificity over MUI defaults\n {\n props: { color: colorName, variant: \"outlined\" as const },\n style: {\n // && increases specificity to override MUI's default outlined styles\n \"&&\": {\n borderColor: `var(--mui-palette-${colorName}-main, ${colorScale[500]})`,\n color: `var(--mui-palette-${colorName}-dark, ${colorScale[600]})`,\n },\n \"&:hover\": {\n backgroundColor: `color-mix(in srgb, var(--mui-palette-${colorName}-light, ${colorScale[50]}) 25%, transparent)`,\n },\n },\n },\n ];\n}\n\n/**\n * Helper to generate Badge color variants\n * Uses CSS variables for automatic light/dark mode support\n */\nfunction createBadgeColorVariant<T extends CustomColorName>(\n colorName: T,\n colorScale: ColorScale,\n) {\n return [\n {\n props: { color: colorName },\n style: {\n \"& .MuiBadge-badge\": {\n backgroundColor: `var(--mui-palette-${colorName}-main, ${colorScale[500]})`,\n color: `var(--mui-palette-${colorName}-contrastText, #ffffff)`,\n },\n },\n },\n ];\n}\n\n/**\n * Helper to generate CircularProgress color variants\n * Uses CSS variables for automatic light/dark mode support\n */\nfunction createProgressColorVariant<T extends CustomColorName>(\n colorName: T,\n colorScale: ColorScale,\n) {\n return [\n {\n props: { color: colorName },\n style: {\n color: `var(--mui-palette-${colorName}-main, ${colorScale[500]})`,\n },\n },\n ];\n}\n\n// Generate all button color variants\nconst buttonColorVariants = [\n ...createButtonColorVariants(\"brand\", colors.brand),\n ...createButtonColorVariants(\"iochmara\", colors.iochmara),\n ...createButtonColorVariants(\"cyan\", colors.cyan),\n ...createButtonColorVariants(\"amber\", colors.amber),\n ...createButtonColorVariants(\"green\", colors.green),\n ...createButtonColorVariants(\"red\", colors.red),\n ...createButtonColorVariants(\"rose\", colors.rose),\n ...createButtonColorVariants(\"fuchsia\", colors.fuchsia),\n ...createButtonColorVariants(\"neutral\", colors.neutral),\n];\n\n// Generate all chip color variants\nconst chipColorVariants = [\n ...createChipColorVariants(\"brand\", colors.brand),\n ...createChipColorVariants(\"iochmara\", colors.iochmara),\n ...createChipColorVariants(\"cyan\", colors.cyan),\n ...createChipColorVariants(\"amber\", colors.amber),\n ...createChipColorVariants(\"green\", colors.green),\n ...createChipColorVariants(\"red\", colors.red),\n ...createChipColorVariants(\"rose\", colors.rose),\n ...createChipColorVariants(\"fuchsia\", colors.fuchsia),\n ...createChipColorVariants(\"neutral\", colors.neutral),\n];\n\n// Generate all badge color variants\nconst badgeColorVariants = [\n ...createBadgeColorVariant(\"brand\", colors.brand),\n ...createBadgeColorVariant(\"iochmara\", colors.iochmara),\n];\n\n// Generate all progress color variants\nconst progressColorVariants = [\n ...createProgressColorVariant(\"brand\", colors.brand),\n ...createProgressColorVariant(\"iochmara\", colors.iochmara),\n];\n\n// Module augmentations are in js/mui-augmentations.d.ts (included via tsconfig)\n\n/**\n * System font stack for optimal cross-platform rendering\n */\nconst systemFontStack = [\n \"-apple-system\",\n \"BlinkMacSystemFont\",\n '\"Segoe UI\"',\n \"Roboto\",\n '\"Helvetica Neue\"',\n \"Arial\",\n \"sans-serif\",\n '\"Apple Color Emoji\"',\n '\"Segoe UI Emoji\"',\n '\"Segoe UI Symbol\"',\n].join(\",\");\n\n/**\n * Shared theme options for both light and dark modes\n */\nconst sharedThemeOptions: ThemeOptions = {\n typography: {\n fontFamily: systemFontStack,\n // Slightly smaller default sizes for data-dense UIs\n fontSize: 14,\n h1: { fontWeight: 600 },\n h2: { fontWeight: 600 },\n h3: { fontWeight: 600 },\n h4: { fontWeight: 600 },\n h5: { fontWeight: 600 },\n h6: { fontWeight: 600 },\n button: {\n textTransform: \"none\", // No uppercase for buttons\n fontWeight: 500,\n },\n },\n shape: {\n borderRadius: 8, // Rounded corners\n },\n components: {\n MuiButton: {\n defaultProps: {\n disableElevation: true, // Match Chakra's flat button style\n },\n styleOverrides: {\n root: {\n borderRadius: 6,\n boxShadow: \"none\",\n textTransform: \"none\",\n fontWeight: 500,\n \"&:hover\": {\n boxShadow: \"none\",\n },\n },\n sizeSmall: {\n fontSize: \"0.8125rem\",\n padding: \"4px 10px\",\n },\n sizeMedium: {\n padding: \"0.5rem 1rem\",\n fontSize: \"1rem\",\n },\n sizeLarge: {\n padding: \"0.75rem 1.5rem\",\n fontSize: \"1.125rem\",\n },\n contained: {\n \"&:hover\": {\n boxShadow: \"none\",\n },\n },\n outlined: {\n borderWidth: \"1px\",\n \"&:hover\": {\n borderWidth: \"1px\",\n },\n },\n },\n variants: [\n // Size variant: xsmall\n {\n props: { size: \"xsmall\" },\n style: {\n fontSize: \"0.75rem\",\n padding: \"2px 8px\",\n minHeight: 24,\n },\n },\n // Color variants for brand and iochmara\n ...buttonColorVariants,\n ],\n },\n MuiChip: {\n styleOverrides: {\n root: {\n borderRadius: 6,\n fontWeight: 500,\n },\n sizeSmall: {\n fontSize: \"0.75rem\",\n height: 24,\n },\n sizeMedium: {\n height: 32,\n fontSize: \"0.875rem\",\n },\n },\n variants: [\n // Size variant: xsmall\n {\n props: { size: \"xsmall\" },\n style: {\n fontSize: \"0.6875rem\",\n height: 20,\n \"& .MuiChip-label\": {\n padding: \"0 6px\",\n },\n },\n },\n // Color variants for brand and iochmara\n ...chipColorVariants,\n ],\n },\n MuiBadge: {\n variants: [\n // Color variants for brand and iochmara\n ...badgeColorVariants,\n ],\n styleOverrides: {\n badge: {\n fontWeight: 500,\n fontSize: \"0.75rem\",\n },\n },\n },\n // Alert overrides\n MuiAlert: {\n styleOverrides: {\n root: {\n borderRadius: 6,\n \"&.MuiAlert-standard.MuiAlert-colorSuccess\": {\n backgroundColor: \"var(--mui-palette-success-light)\",\n color: \"var(--mui-palette-success-dark)\",\n \"& .MuiAlert-icon\": {\n color: \"var(--mui-palette-success-dark)\",\n },\n },\n \"&.MuiAlert-standard.MuiAlert-colorWarning\": {\n backgroundColor: \"var(--mui-palette-warning-light)\",\n color: \"var(--mui-palette-warning-dark)\",\n \"& .MuiAlert-icon\": {\n color: \"var(--mui-palette-warning-dark)\",\n },\n },\n \"&.MuiAlert-standard.MuiAlert-colorError\": {\n backgroundColor: \"var(--mui-palette-error-light)\",\n color: \"var(--mui-palette-error-dark)\",\n \"& .MuiAlert-icon\": {\n color: \"var(--mui-palette-error-dark)\",\n },\n },\n \"&.MuiAlert-standard.MuiAlert-colorInfo\": {\n backgroundColor: \"var(--mui-palette-info-light)\",\n color: \"var(--mui-palette-info-dark)\",\n \"& .MuiAlert-icon\": {\n color: \"var(--mui-palette-info-dark)\",\n },\n },\n },\n },\n },\n // Tabs overrides\n MuiTabs: {\n styleOverrides: {\n indicator: {\n height: 2,\n },\n },\n },\n MuiTab: {\n styleOverrides: {\n root: {\n textTransform: \"none\",\n fontWeight: 500,\n minHeight: 48,\n },\n },\n },\n // Avatar overrides\n MuiAvatar: {\n styleOverrides: {\n root: {\n fontWeight: 500,\n },\n },\n },\n MuiCircularProgress: {\n defaultProps: {\n color: \"primary\",\n },\n variants: [\n // Color variants for brand and iochmara\n ...progressColorVariants,\n ],\n },\n // Link overrides\n MuiLink: {\n defaultProps: {\n underline: \"hover\",\n },\n styleOverrides: {\n root: {\n fontWeight: 500,\n color: \"var(--mui-palette-secondary-main)\",\n textDecorationColor: \"var(--mui-palette-secondary-light)\",\n \"&:hover\": {\n color: \"var(--mui-palette-secondary-dark)\",\n },\n },\n },\n },\n // Popover overrides\n MuiPopover: {\n styleOverrides: {\n paper: {\n borderRadius: 8,\n boxShadow:\n \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)\",\n },\n },\n },\n // Divider overrides\n MuiDivider: {\n styleOverrides: {\n root: {\n borderColor: \"var(--mui-palette-divider)\",\n },\n },\n },\n // Breadcrumbs overrides\n MuiBreadcrumbs: {\n styleOverrides: {\n separator: {\n color: \"var(--mui-palette-text-secondary)\",\n },\n },\n },\n MuiCard: {\n styleOverrides: {\n root: {\n borderRadius: 8,\n boxShadow:\n \"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)\",\n },\n },\n },\n MuiPaper: {\n styleOverrides: {\n root: {\n backgroundImage: \"none\", // Remove default gradient\n },\n },\n },\n MuiTooltip: {\n styleOverrides: {\n tooltip: {\n fontSize: \"0.75rem\",\n },\n },\n },\n // IconButton overrides\n MuiIconButton: {\n styleOverrides: {\n root: {\n borderRadius: 6,\n },\n sizeSmall: {\n padding: 4,\n },\n sizeMedium: {\n padding: 8,\n },\n sizeLarge: {\n padding: 12,\n },\n },\n },\n // TextField overrides\n MuiTextField: {\n defaultProps: {\n variant: \"outlined\",\n size: \"small\",\n },\n styleOverrides: {\n root: {\n \"& .MuiOutlinedInput-root\": {\n borderRadius: 6,\n },\n },\n },\n },\n // OutlinedInput overrides\n MuiOutlinedInput: {\n styleOverrides: {\n root: {\n borderRadius: 6,\n \"&:hover .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"var(--mui-palette-secondary-light)\",\n },\n \"&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"var(--mui-palette-secondary-main)\",\n borderWidth: 2,\n },\n },\n notchedOutline: {\n borderColor: \"var(--mui-palette-divider)\",\n },\n },\n },\n // Checkbox overrides\n MuiCheckbox: {\n defaultProps: {\n color: \"primary\",\n },\n styleOverrides: {\n root: {\n borderRadius: 4,\n },\n },\n },\n // Switch overrides\n MuiSwitch: {\n defaultProps: {\n color: \"primary\",\n },\n },\n // Dialog overrides\n MuiDialog: {\n styleOverrides: {\n paper: {\n borderRadius: 8,\n },\n },\n },\n MuiDialogTitle: {\n styleOverrides: {\n root: {\n fontWeight: 600,\n fontSize: \"1.125rem\",\n },\n },\n },\n // Menu overrides\n MuiMenu: {\n styleOverrides: {\n paper: {\n borderRadius: 8,\n boxShadow:\n \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)\",\n },\n },\n },\n MuiMenuItem: {\n styleOverrides: {\n root: {\n fontSize: \"0.875rem\",\n padding: \"0.5rem 0.75rem\",\n \"&:hover\": {\n backgroundColor: \"var(--mui-palette-action-hover)\",\n },\n \"&.Mui-selected\": {\n backgroundColor: \"var(--mui-palette-action-selected)\",\n \"&:hover\": {\n backgroundColor: \"var(--mui-palette-action-selected)\",\n },\n },\n },\n },\n },\n // Autocomplete overrides\n MuiAutocomplete: {\n styleOverrides: {\n paper: {\n borderRadius: 6,\n boxShadow:\n \"0 4px 6px -1px rgba(0, 0, 0, 0.15), 0 2px 4px -2px rgba(0, 0, 0, 0.1)\",\n backgroundColor: colors.neutral[200],\n \".dark &\": {\n backgroundColor: colors.neutral[700],\n },\n },\n listbox: {\n padding: \"4px 0\",\n },\n option: {\n fontSize: \"0.875rem\",\n padding: \"0.5rem 0.75rem\",\n '&[aria-selected=\"true\"]': {\n backgroundColor: \"var(--mui-palette-action-selected)\",\n },\n \"&.Mui-focused\": {\n backgroundColor: \"var(--mui-palette-action-hover)\",\n },\n },\n },\n },\n },\n};\n\n/**\n * MUI Theme with CSS Variables mode enabled\n *\n * Uses `colorSchemeSelector: 'class'` to switch themes via `.dark` class,\n * which is toggled by the ThemeContext provider.\n *\n * Usage:\n * ```tsx\n * import { ThemeProvider } from '@mui/material/styles';\n * import { theme } from '@datarecce/ui/theme';\n *\n * <ThemeProvider theme={theme}>\n * <App />\n * </ThemeProvider>\n * ```\n */\nexport const theme = createTheme({\n cssVariables: {\n colorSchemeSelector: \"class\", // Use .dark class for dark mode\n },\n colorSchemes: {\n light: {\n palette: {\n mode: \"light\",\n primary: {\n main: colors.iochmara[500],\n light: colors.iochmara[300],\n dark: colors.iochmara[600],\n contrastText: \"#ffffff\",\n },\n secondary: {\n main: colors.cyan[500],\n light: colors.cyan[400],\n dark: colors.cyan[600],\n contrastText: \"#ffffff\",\n },\n brand: {\n light: colors.brand[400],\n main: colors.brand[500],\n dark: colors.brand[600],\n contrastText: \"#ffffff\",\n },\n iochmara: {\n light: colors.iochmara[400],\n main: colors.iochmara[500],\n dark: colors.iochmara[600],\n contrastText: \"#ffffff\",\n },\n cyan: {\n main: colors.cyan[500],\n light: colors.cyan[300],\n dark: colors.cyan[600],\n contrastText: \"#ffffff\",\n },\n amber: {\n main: colors.amber[500],\n light: colors.amber[300],\n dark: colors.amber[600],\n contrastText: \"#ffffff\",\n },\n green: {\n main: colors.green[500],\n light: colors.green[300],\n dark: colors.green[600],\n contrastText: \"#ffffff\",\n },\n red: {\n main: colors.red[500],\n light: colors.red[300],\n dark: colors.red[600],\n contrastText: \"#ffffff\",\n },\n rose: {\n main: colors.rose[500],\n light: colors.rose[300],\n dark: colors.rose[600],\n contrastText: \"#ffffff\",\n },\n fuchsia: {\n main: colors.fuchsia[500],\n light: colors.fuchsia[300],\n dark: colors.fuchsia[600],\n contrastText: \"#ffffff\",\n },\n neutral: {\n main: colors.neutral[600],\n light: colors.neutral[300],\n dark: colors.neutral[700],\n contrastText: \"#ffffff\",\n },\n grey: colors.neutral, // Color scale (50, 100, etc.) - MUI's built-in grey\n success: colors.success,\n warning: colors.warning,\n error: colors.error,\n info: colors.info,\n background: {\n default: \"#ffffff\",\n paper: colors.neutral[50],\n },\n text: {\n primary: colors.neutral[900],\n secondary: colors.neutral[600],\n disabled: colors.neutral[400],\n },\n divider: colors.neutral[200],\n },\n },\n dark: {\n palette: {\n mode: \"dark\",\n primary: {\n main: colors.iochmara[500],\n light: colors.iochmara[300],\n dark: colors.iochmara[600],\n contrastText: \"#ffffff\",\n },\n secondary: {\n main: colors.cyan[500],\n light: colors.cyan[400],\n dark: colors.cyan[600],\n contrastText: \"#ffffff\",\n },\n brand: {\n light: colors.brand[300],\n main: colors.brand[400],\n dark: colors.brand[600],\n contrastText: \"#ffffff\",\n },\n iochmara: {\n light: colors.iochmara[300],\n main: colors.iochmara[400],\n dark: colors.iochmara[600],\n contrastText: \"#ffffff\",\n },\n cyan: {\n main: colors.cyan[400],\n light: colors.cyan[300],\n dark: colors.cyan[600],\n contrastText: \"#ffffff\",\n },\n amber: {\n main: colors.amber[400],\n light: colors.amber[300],\n dark: colors.amber[600],\n contrastText: \"#000000\",\n },\n green: {\n main: colors.green[400],\n light: colors.green[300],\n dark: colors.green[600],\n contrastText: \"#ffffff\",\n },\n red: {\n main: colors.red[400],\n light: colors.red[300],\n dark: colors.red[600],\n contrastText: \"#ffffff\",\n },\n rose: {\n main: colors.rose[400],\n light: colors.rose[300],\n dark: colors.rose[600],\n contrastText: \"#ffffff\",\n },\n fuchsia: {\n main: colors.fuchsia[400],\n light: colors.fuchsia[300],\n dark: colors.fuchsia[600],\n contrastText: \"#ffffff\",\n },\n neutral: {\n main: colors.neutral[400],\n light: colors.neutral[300],\n dark: colors.neutral[200],\n contrastText: colors.neutral[900],\n },\n grey: colors.neutral, // Color scale (50, 100, etc.) - MUI's built-in grey\n success: {\n light: colors.success.light,\n main: colors.success.main,\n dark: colors.success.dark,\n contrastText: \"#000000\",\n },\n warning: {\n light: colors.warning.light,\n main: colors.warning.main,\n dark: colors.warning.dark,\n contrastText: \"#000000\",\n },\n error: {\n light: colors.error.light,\n main: colors.error.main,\n dark: colors.error.dark,\n contrastText: \"#ffffff\",\n },\n info: {\n light: colors.info.light,\n main: colors.info.main,\n dark: colors.info.dark,\n contrastText: \"#ffffff\",\n },\n background: {\n default: colors.neutral[900],\n paper: colors.neutral[800],\n },\n text: {\n primary: colors.neutral[50],\n secondary: colors.neutral[400],\n disabled: colors.neutral[600],\n },\n divider: colors.neutral[700],\n },\n },\n },\n ...sharedThemeOptions,\n});\n\n/**\n * Theme type export for consumers who need to type their theme\n */\nexport type RecceTheme = typeof theme;\n"],"mappings":";4FAyBA,SAAgB,EAAoB,EAAmC,CACrE,MAAO,CACL,UAAW,EAAS,UAAY,UAChC,UAAW,EAAS,UAAY,UAChC,YAAa,EAAS,UAAY,UAClC,uBAAwB,EAAS,UAAY,UAC7C,iBAAkB,EAAS,UAAY,UACvC,cAAe,EAAS,UAAY,UACpC,mBAAoB,EAAS,UAAY,UAEzC,uBAAwB,EAAS,YAAc,WACjD,CACF,CAQA,SAAgB,EAAsB,EAAiB,EAAW,GAAM,CACtE,IAAM,EAAS,EAAoB,CAAM,EACzC,MAAO,CACL,KAAM,CACJ,MAAO,EAAW,EAAO,UAAY,IAAA,GACrC,QAAS,CACX,EACA,MAAO,CACL,MAAO,EAAO,SAChB,EACA,OAAQ,CACN,MAAO,EAAO,WAChB,CACF,CACF,CAOA,SAAgB,EAAuB,EAAiB,CACtD,IAAM,EAAS,EAAoB,CAAM,EACzC,MAAO,CACL,OAAQ,CACN,OAAQ,CACN,MAAO,EAAO,SAChB,CACF,EACA,MAAO,CACL,MAAO,EAAO,SAChB,EACA,QAAS,CACP,gBAAiB,EAAO,uBACxB,WAAY,EAAO,iBACnB,UAAW,EAAO,iBAClB,YAAa,EAAO,YACpB,YAAa,CACf,CACF,CACF,CAGA,MAAa,EAAoB,UACpB,EAAiB,UACjB,EAA+B,GAAG,EAAkB,IACpD,EAA4B,GAAG,EAAe,IAG9C,EAAyB,UACzB,EAAsB,UACtB,EAAoC,GAAG,EAAuB,IAC9D,EAAiC,GAAG,EAAoB,IAKxD,EAAiB,EACjB,EAAsB,EAkBnC,SAAgB,EAAkB,EAAiC,CACjE,MAAO,CACL,QAAS,EAAS,EAAyB,EAC3C,KAAM,EAAS,EAAsB,EACrC,iBAAkB,EACd,EACA,EACJ,cAAe,EACX,EACA,EACJ,KAAM,EAAS,EAAsB,CACvC,CACF,CChFA,SAAS,EACP,EACA,EACA,CACA,MAAO,CAEL,CACE,MAAO,CAAE,MAAO,EAAW,QAAS,WAAqB,EACzD,MAAO,CACL,gBAAiB,qBAAqB,EAAU,SAAS,EAAW,KAAK,GACzE,MAAO,qBAAqB,EAAU,yBACtC,UAAW,CACT,gBAAiB,qBAAqB,EAAU,SAAS,EAAW,KAAK,EAC3E,CACF,CACF,EAEA,CACE,MAAO,CAAE,MAAO,EAAW,QAAS,UAAoB,EACxD,MAAO,CAEL,KAAM,CACJ,YAAa,qBAAqB,EAAU,SAAS,EAAW,KAAK,GACrE,MAAO,qBAAqB,EAAU,SAAS,EAAW,KAAK,EACjE,EACA,UAAW,CACT,YAAa,qBAAqB,EAAU,SAAS,EAAW,KAAK,GACrE,gBAAiB,wCAAwC,EAAU,UAAU,EAAW,IAAI,oBAC9F,CACF,CACF,EAEA,CACE,MAAO,CAAE,MAAO,EAAW,QAAS,MAAgB,EACpD,MAAO,CAEL,KAAM,CACJ,MAAO,qBAAqB,EAAU,SAAS,EAAW,KAAK,EACjE,EACA,UAAW,CACT,gBAAiB,wCAAwC,EAAU,UAAU,EAAW,IAAI,oBAC9F,CACF,CACF,CACF,CACF,CASA,SAAS,EACP,EACA,EACA,CACA,MAAO,CAEL,CACE,MAAO,CAAE,MAAO,EAAW,QAAS,QAAkB,EACtD,MAAO,CACL,gBAAiB,qBAAqB,EAAU,SAAS,EAAW,KAAK,GACzE,MAAO,qBAAqB,EAAU,yBACtC,UAAW,CACT,gBAAiB,qBAAqB,EAAU,SAAS,EAAW,KAAK,EAC3E,EACA,4BAA6B,CAC3B,gBAAiB,qBAAqB,EAAU,SAAS,EAAW,KAAK,EAC3E,CACF,CACF,EAEA,CACE,MAAO,CAAE,MAAO,EAAW,QAAS,UAAoB,EACxD,MAAO,CAEL,KAAM,CACJ,YAAa,qBAAqB,EAAU,SAAS,EAAW,KAAK,GACrE,MAAO,qBAAqB,EAAU,SAAS,EAAW,KAAK,EACjE,EACA,UAAW,CACT,gBAAiB,wCAAwC,EAAU,UAAU,EAAW,IAAI,oBAC9F,CACF,CACF,CACF,CACF,CAMA,SAAS,EACP,EACA,EACA,CACA,MAAO,CACL,CACE,MAAO,CAAE,MAAO,CAAU,EAC1B,MAAO,CACL,oBAAqB,CACnB,gBAAiB,qBAAqB,EAAU,SAAS,EAAW,KAAK,GACzE,MAAO,qBAAqB,EAAU,wBACxC,CACF,CACF,CACF,CACF,CAMA,SAAS,EACP,EACA,EACA,CACA,MAAO,CACL,CACE,MAAO,CAAE,MAAO,CAAU,EAC1B,MAAO,CACL,MAAO,qBAAqB,EAAU,SAAS,EAAW,KAAK,EACjE,CACF,CACF,CACF,CAGA,MAAM,EAAsB,CAC1B,GAAG,EAA0B,QAAS,EAAO,KAAK,EAClD,GAAG,EAA0B,WAAY,EAAO,QAAQ,EACxD,GAAG,EAA0B,OAAQ,EAAO,IAAI,EAChD,GAAG,EAA0B,QAAS,EAAO,KAAK,EAClD,GAAG,EAA0B,QAAS,EAAO,KAAK,EAClD,GAAG,EAA0B,MAAO,EAAO,GAAG,EAC9C,GAAG,EAA0B,OAAQ,EAAO,IAAI,EAChD,GAAG,EAA0B,UAAW,EAAO,OAAO,EACtD,GAAG,EAA0B,UAAW,EAAO,OAAO,CACxD,EAGM,EAAoB,CACxB,GAAG,EAAwB,QAAS,EAAO,KAAK,EAChD,GAAG,EAAwB,WAAY,EAAO,QAAQ,EACtD,GAAG,EAAwB,OAAQ,EAAO,IAAI,EAC9C,GAAG,EAAwB,QAAS,EAAO,KAAK,EAChD,GAAG,EAAwB,QAAS,EAAO,KAAK,EAChD,GAAG,EAAwB,MAAO,EAAO,GAAG,EAC5C,GAAG,EAAwB,OAAQ,EAAO,IAAI,EAC9C,GAAG,EAAwB,UAAW,EAAO,OAAO,EACpD,GAAG,EAAwB,UAAW,EAAO,OAAO,CACtD,EAGM,EAAqB,CACzB,GAAG,EAAwB,QAAS,EAAO,KAAK,EAChD,GAAG,EAAwB,WAAY,EAAO,QAAQ,CACxD,EAGM,EAAwB,CAC5B,GAAG,EAA2B,QAAS,EAAO,KAAK,EACnD,GAAG,EAA2B,WAAY,EAAO,QAAQ,CAC3D,EAuBM,EAAmC,CACvC,WAAY,CACV,WAlBoB,CACtB,gBACA,qBACA,aACA,SACA,mBACA,QACA,aACA,sBACA,mBACA,mBACF,CAAC,CAAC,KAAK,GAOuB,EAE1B,SAAU,GACV,GAAI,CAAE,WAAY,GAAI,EACtB,GAAI,CAAE,WAAY,GAAI,EACtB,GAAI,CAAE,WAAY,GAAI,EACtB,GAAI,CAAE,WAAY,GAAI,EACtB,GAAI,CAAE,WAAY,GAAI,EACtB,GAAI,CAAE,WAAY,GAAI,EACtB,OAAQ,CACN,cAAe,OACf,WAAY,GACd,CACF,EACA,MAAO,CACL,aAAc,CAChB,EACA,WAAY,CACV,UAAW,CACT,aAAc,CACZ,iBAAkB,EACpB,EACA,eAAgB,CACd,KAAM,CACJ,aAAc,EACd,UAAW,OACX,cAAe,OACf,WAAY,IACZ,UAAW,CACT,UAAW,MACb,CACF,EACA,UAAW,CACT,SAAU,YACV,QAAS,UACX,EACA,WAAY,CACV,QAAS,cACT,SAAU,MACZ,EACA,UAAW,CACT,QAAS,iBACT,SAAU,UACZ,EACA,UAAW,CACT,UAAW,CACT,UAAW,MACb,CACF,EACA,SAAU,CACR,YAAa,MACb,UAAW,CACT,YAAa,KACf,CACF,CACF,EACA,SAAU,CAER,CACE,MAAO,CAAE,KAAM,QAAS,EACxB,MAAO,CACL,SAAU,UACV,QAAS,UACT,UAAW,EACb,CACF,EAEA,GAAG,CACL,CACF,EACA,QAAS,CACP,eAAgB,CACd,KAAM,CACJ,aAAc,EACd,WAAY,GACd,EACA,UAAW,CACT,SAAU,UACV,OAAQ,EACV,EACA,WAAY,CACV,OAAQ,GACR,SAAU,UACZ,CACF,EACA,SAAU,CAER,CACE,MAAO,CAAE,KAAM,QAAS,EACxB,MAAO,CACL,SAAU,YACV,OAAQ,GACR,mBAAoB,CAClB,QAAS,OACX,CACF,CACF,EAEA,GAAG,CACL,CACF,EACA,SAAU,CACR,SAAU,CAER,GAAG,CACL,EACA,eAAgB,CACd,MAAO,CACL,WAAY,IACZ,SAAU,SACZ,CACF,CACF,EAEA,SAAU,CACR,eAAgB,CACd,KAAM,CACJ,aAAc,EACd,4CAA6C,CAC3C,gBAAiB,mCACjB,MAAO,kCACP,mBAAoB,CAClB,MAAO,iCACT,CACF,EACA,4CAA6C,CAC3C,gBAAiB,mCACjB,MAAO,kCACP,mBAAoB,CAClB,MAAO,iCACT,CACF,EACA,0CAA2C,CACzC,gBAAiB,iCACjB,MAAO,gCACP,mBAAoB,CAClB,MAAO,+BACT,CACF,EACA,yCAA0C,CACxC,gBAAiB,gCACjB,MAAO,+BACP,mBAAoB,CAClB,MAAO,8BACT,CACF,CACF,CACF,CACF,EAEA,QAAS,CACP,eAAgB,CACd,UAAW,CACT,OAAQ,CACV,CACF,CACF,EACA,OAAQ,CACN,eAAgB,CACd,KAAM,CACJ,cAAe,OACf,WAAY,IACZ,UAAW,EACb,CACF,CACF,EAEA,UAAW,CACT,eAAgB,CACd,KAAM,CACJ,WAAY,GACd,CACF,CACF,EACA,oBAAqB,CACnB,aAAc,CACZ,MAAO,SACT,EACA,SAAU,CAER,GAAG,CACL,CACF,EAEA,QAAS,CACP,aAAc,CACZ,UAAW,OACb,EACA,eAAgB,CACd,KAAM,CACJ,WAAY,IACZ,MAAO,oCACP,oBAAqB,qCACrB,UAAW,CACT,MAAO,mCACT,CACF,CACF,CACF,EAEA,WAAY,CACV,eAAgB,CACd,MAAO,CACL,aAAc,EACd,UACE,sEACJ,CACF,CACF,EAEA,WAAY,CACV,eAAgB,CACd,KAAM,CACJ,YAAa,4BACf,CACF,CACF,EAEA,eAAgB,CACd,eAAgB,CACd,UAAW,CACT,MAAO,mCACT,CACF,CACF,EACA,QAAS,CACP,eAAgB,CACd,KAAM,CACJ,aAAc,EACd,UACE,mEACJ,CACF,CACF,EACA,SAAU,CACR,eAAgB,CACd,KAAM,CACJ,gBAAiB,MACnB,CACF,CACF,EACA,WAAY,CACV,eAAgB,CACd,QAAS,CACP,SAAU,SACZ,CACF,CACF,EAEA,cAAe,CACb,eAAgB,CACd,KAAM,CACJ,aAAc,CAChB,EACA,UAAW,CACT,QAAS,CACX,EACA,WAAY,CACV,QAAS,CACX,EACA,UAAW,CACT,QAAS,EACX,CACF,CACF,EAEA,aAAc,CACZ,aAAc,CACZ,QAAS,WACT,KAAM,OACR,EACA,eAAgB,CACd,KAAM,CACJ,2BAA4B,CAC1B,aAAc,CAChB,CACF,CACF,CACF,EAEA,iBAAkB,CAChB,eAAgB,CACd,KAAM,CACJ,aAAc,EACd,2CAA4C,CAC1C,YAAa,oCACf,EACA,iDAAkD,CAChD,YAAa,oCACb,YAAa,CACf,CACF,EACA,eAAgB,CACd,YAAa,4BACf,CACF,CACF,EAEA,YAAa,CACX,aAAc,CACZ,MAAO,SACT,EACA,eAAgB,CACd,KAAM,CACJ,aAAc,CAChB,CACF,CACF,EAEA,UAAW,CACT,aAAc,CACZ,MAAO,SACT,CACF,EAEA,UAAW,CACT,eAAgB,CACd,MAAO,CACL,aAAc,CAChB,CACF,CACF,EACA,eAAgB,CACd,eAAgB,CACd,KAAM,CACJ,WAAY,IACZ,SAAU,UACZ,CACF,CACF,EAEA,QAAS,CACP,eAAgB,CACd,MAAO,CACL,aAAc,EACd,UACE,sEACJ,CACF,CACF,EACA,YAAa,CACX,eAAgB,CACd,KAAM,CACJ,SAAU,WACV,QAAS,iBACT,UAAW,CACT,gBAAiB,iCACnB,EACA,iBAAkB,CAChB,gBAAiB,qCACjB,UAAW,CACT,gBAAiB,oCACnB,CACF,CACF,CACF,CACF,EAEA,gBAAiB,CACf,eAAgB,CACd,MAAO,CACL,aAAc,EACd,UACE,wEACF,gBAAiB,EAAO,QAAQ,KAChC,UAAW,CACT,gBAAiB,EAAO,QAAQ,IAClC,CACF,EACA,QAAS,CACP,QAAS,OACX,EACA,OAAQ,CACN,SAAU,WACV,QAAS,iBACT,0BAA2B,CACzB,gBAAiB,oCACnB,EACA,gBAAiB,CACf,gBAAiB,iCACnB,CACF,CACF,CACF,CACF,CACF,EAkBa,EAAQ,EAAY,CAC/B,aAAc,CACZ,oBAAqB,OACvB,EACA,aAAc,CACZ,MAAO,CACL,QAAS,CACP,KAAM,QACN,QAAS,CACP,KAAM,EAAO,SAAS,KACtB,MAAO,EAAO,SAAS,KACvB,KAAM,EAAO,SAAS,KACtB,aAAc,SAChB,EACA,UAAW,CACT,KAAM,EAAO,KAAK,KAClB,MAAO,EAAO,KAAK,KACnB,KAAM,EAAO,KAAK,KAClB,aAAc,SAChB,EACA,MAAO,CACL,MAAO,EAAO,MAAM,KACpB,KAAM,EAAO,MAAM,KACnB,KAAM,EAAO,MAAM,KACnB,aAAc,SAChB,EACA,SAAU,CACR,MAAO,EAAO,SAAS,KACvB,KAAM,EAAO,SAAS,KACtB,KAAM,EAAO,SAAS,KACtB,aAAc,SAChB,EACA,KAAM,CACJ,KAAM,EAAO,KAAK,KAClB,MAAO,EAAO,KAAK,KACnB,KAAM,EAAO,KAAK,KAClB,aAAc,SAChB,EACA,MAAO,CACL,KAAM,EAAO,MAAM,KACnB,MAAO,EAAO,MAAM,KACpB,KAAM,EAAO,MAAM,KACnB,aAAc,SAChB,EACA,MAAO,CACL,KAAM,EAAO,MAAM,KACnB,MAAO,EAAO,MAAM,KACpB,KAAM,EAAO,MAAM,KACnB,aAAc,SAChB,EACA,IAAK,CACH,KAAM,EAAO,IAAI,KACjB,MAAO,EAAO,IAAI,KAClB,KAAM,EAAO,IAAI,KACjB,aAAc,SAChB,EACA,KAAM,CACJ,KAAM,EAAO,KAAK,KAClB,MAAO,EAAO,KAAK,KACnB,KAAM,EAAO,KAAK,KAClB,aAAc,SAChB,EACA,QAAS,CACP,KAAM,EAAO,QAAQ,KACrB,MAAO,EAAO,QAAQ,KACtB,KAAM,EAAO,QAAQ,KACrB,aAAc,SAChB,EACA,QAAS,CACP,KAAM,EAAO,QAAQ,KACrB,MAAO,EAAO,QAAQ,KACtB,KAAM,EAAO,QAAQ,KACrB,aAAc,SAChB,EACA,KAAM,EAAO,QACb,QAAS,EAAO,QAChB,QAAS,EAAO,QAChB,MAAO,EAAO,MACd,KAAM,EAAO,KACb,WAAY,CACV,QAAS,UACT,MAAO,EAAO,QAAQ,GACxB,EACA,KAAM,CACJ,QAAS,EAAO,QAAQ,KACxB,UAAW,EAAO,QAAQ,KAC1B,SAAU,EAAO,QAAQ,IAC3B,EACA,QAAS,EAAO,QAAQ,IAC1B,CACF,EACA,KAAM,CACJ,QAAS,CACP,KAAM,OACN,QAAS,CACP,KAAM,EAAO,SAAS,KACtB,MAAO,EAAO,SAAS,KACvB,KAAM,EAAO,SAAS,KACtB,aAAc,SAChB,EACA,UAAW,CACT,KAAM,EAAO,KAAK,KAClB,MAAO,EAAO,KAAK,KACnB,KAAM,EAAO,KAAK,KAClB,aAAc,SAChB,EACA,MAAO,CACL,MAAO,EAAO,MAAM,KACpB,KAAM,EAAO,MAAM,KACnB,KAAM,EAAO,MAAM,KACnB,aAAc,SAChB,EACA,SAAU,CACR,MAAO,EAAO,SAAS,KACvB,KAAM,EAAO,SAAS,KACtB,KAAM,EAAO,SAAS,KACtB,aAAc,SAChB,EACA,KAAM,CACJ,KAAM,EAAO,KAAK,KAClB,MAAO,EAAO,KAAK,KACnB,KAAM,EAAO,KAAK,KAClB,aAAc,SAChB,EACA,MAAO,CACL,KAAM,EAAO,MAAM,KACnB,MAAO,EAAO,MAAM,KACpB,KAAM,EAAO,MAAM,KACnB,aAAc,SAChB,EACA,MAAO,CACL,KAAM,EAAO,MAAM,KACnB,MAAO,EAAO,MAAM,KACpB,KAAM,EAAO,MAAM,KACnB,aAAc,SAChB,EACA,IAAK,CACH,KAAM,EAAO,IAAI,KACjB,MAAO,EAAO,IAAI,KAClB,KAAM,EAAO,IAAI,KACjB,aAAc,SAChB,EACA,KAAM,CACJ,KAAM,EAAO,KAAK,KAClB,MAAO,EAAO,KAAK,KACnB,KAAM,EAAO,KAAK,KAClB,aAAc,SAChB,EACA,QAAS,CACP,KAAM,EAAO,QAAQ,KACrB,MAAO,EAAO,QAAQ,KACtB,KAAM,EAAO,QAAQ,KACrB,aAAc,SAChB,EACA,QAAS,CACP,KAAM,EAAO,QAAQ,KACrB,MAAO,EAAO,QAAQ,KACtB,KAAM,EAAO,QAAQ,KACrB,aAAc,EAAO,QAAQ,IAC/B,EACA,KAAM,EAAO,QACb,QAAS,CACP,MAAO,EAAO,QAAQ,MACtB,KAAM,EAAO,QAAQ,KACrB,KAAM,EAAO,QAAQ,KACrB,aAAc,SAChB,EACA,QAAS,CACP,MAAO,EAAO,QAAQ,MACtB,KAAM,EAAO,QAAQ,KACrB,KAAM,EAAO,QAAQ,KACrB,aAAc,SAChB,EACA,MAAO,CACL,MAAO,EAAO,MAAM,MACpB,KAAM,EAAO,MAAM,KACnB,KAAM,EAAO,MAAM,KACnB,aAAc,SAChB,EACA,KAAM,CACJ,MAAO,EAAO,KAAK,MACnB,KAAM,EAAO,KAAK,KAClB,KAAM,EAAO,KAAK,KAClB,aAAc,SAChB,EACA,WAAY,CACV,QAAS,EAAO,QAAQ,KACxB,MAAO,EAAO,QAAQ,IACxB,EACA,KAAM,CACJ,QAAS,EAAO,QAAQ,IACxB,UAAW,EAAO,QAAQ,KAC1B,SAAU,EAAO,QAAQ,IAC3B,EACA,QAAS,EAAO,QAAQ,IAC1B,CACF,CACF,EACA,GAAG,CACL,CAAC"}
package/dist/theme.js CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,n as u,o as d,p as f,r as p,s as m,t as h,u as g}from"./theme-u98ih3Tv.js";import{i as _,n as v,r as y,t as b}from"./colors-4aGxuAVw.js";export{u as BASE_BAR_COLOR,p as BASE_BAR_COLOR_DARK,s as BASE_BAR_COLOR_DARK_WITH_ALPHA,t as BASE_BAR_COLOR_WITH_ALPHA,d as CURRENT_BAR_COLOR,m as CURRENT_BAR_COLOR_DARK,n as CURRENT_BAR_COLOR_DARK_WITH_ALPHA,c as CURRENT_BAR_COLOR_WITH_ALPHA,g as INFO_VAL_COLOR,r as INFO_VAL_COLOR_DARK,b as colorAliases,v as colors,a as dataGridThemeDark,e as dataGridThemeLight,i as getChartBarColors,f as getChartThemeColors,l as getThemedPluginOptions,o as getThemedScaleOptions,y as semanticVariantMap,h as theme,_ as token};
2
+ import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,n as u,o as d,p as f,r as p,s as m,t as h,u as g}from"./theme-wN7zbYoG.js";import{i as _,n as v,r as y,t as b}from"./colors-4aGxuAVw.js";export{s as BASE_BAR_COLOR,t as BASE_BAR_COLOR_DARK,d as BASE_BAR_COLOR_DARK_WITH_ALPHA,m as BASE_BAR_COLOR_WITH_ALPHA,n as CURRENT_BAR_COLOR,c as CURRENT_BAR_COLOR_DARK,g as CURRENT_BAR_COLOR_DARK_WITH_ALPHA,r as CURRENT_BAR_COLOR_WITH_ALPHA,i as INFO_VAL_COLOR,f as INFO_VAL_COLOR_DARK,b as colorAliases,v as colors,h as dataGridThemeDark,u as dataGridThemeLight,l as getChartBarColors,o as getChartThemeColors,a as getThemedPluginOptions,e as getThemedScaleOptions,y as semanticVariantMap,p as theme,_ as token};
package/dist/types.d.ts CHANGED
@@ -2,8 +2,8 @@
2
2
  import { Lt as RunsAggregated, Sn as ServerInfoResult, bn as PullRequestInfo, cn as LineageData, dn as ManifestMetadata, fn as MergedEdgeData, hn as MergedNodeData, i as RecceServerFlags, ln as LineageDataFromMetadata, mn as MergedLineageResponse, n as ServerMode, on as CatalogMetadata, pn as MergedLineageEnvMetadata, sn as GitInfo, t as RecceInstanceInfo, vn as NodeColumnData, wn as StateMetadata, xn as SQLMeshInfo, yn as NodeData } from "./instanceInfo-CMOHULsR.js";
3
3
  import { a as LineageGraphColumnNode, c as LineageGraphNode, i as LineageGraph, l as LineageGraphNodes, o as LineageGraphContextType, r as EnvInfo, s as LineageGraphEdge } from "./types-9MeiHUfo.js";
4
4
  import { o as LineageGraphProviderProps, u as NodeColumnSetMap } from "./index-BOFGzyVm.js";
5
- import { Bt as TransformationLegendItem, C as EmptyStateProps, Cn as LineageEdgeProps, Ct as HistogramDataset, Dn as NodeChangeStatus, En as LineageNodeProps, Gt as LineageColumnNodeData, Kt as LineageColumnNodeProps, L as DiffEditorLanguage, Lt as ChangeStatusLegendItem, Qt as CheckListProps, R as DiffEditorProps, Sn as LineageEdgeData, St as HistogramDataType, Tn as LineageNodeData, Ut as ColumnTransformationType, W as SchemaDiffStatus, an as CheckDescriptionProps, at as TopKBarChartProps, bn as EdgeChangeStatus, cn as CheckCardProps, d as SplitPaneProps, en as CheckEmptyStateProps, gn as CheckActionsProps, l as SplitDirection, ln as CheckRunStatus, mn as CheckActionType, nn as CheckDetailProps, ot as TopKDataset, pn as CheckAction, q as SchemaDiffRow, rn as CheckDetailTab, sn as CheckCardData, st as TopKItem, un as CheckType, vn as LineageViewProps, xt as HistogramChartProps, yn as LineageViewRef, z as DiffEditorTheme, zt as LineageLegendProps } from "./primitives-C9KdxbpP.js";
6
- import { _ as CheckProviderProps, a as RoutingConfig, b as LineageCanvasProps, d as QueryProviderProps, f as QueryResult, h as CheckContextType, i as NavigateOptions, l as QueryContextType, m as Check, o as RoutingContextValue, r as RecceProviderProps, t as TYPES_API_VERSION } from "./index-0JRmnHad.js";
5
+ import { Bt as TransformationLegendItem, C as EmptyStateProps, Cn as LineageEdgeProps, Ct as HistogramDataset, Dn as NodeChangeStatus, En as LineageNodeProps, Gt as LineageColumnNodeData, Kt as LineageColumnNodeProps, L as DiffEditorLanguage, Lt as ChangeStatusLegendItem, Qt as CheckListProps, R as DiffEditorProps, Sn as LineageEdgeData, St as HistogramDataType, Tn as LineageNodeData, Ut as ColumnTransformationType, W as SchemaDiffStatus, an as CheckDescriptionProps, at as TopKBarChartProps, bn as EdgeChangeStatus, cn as CheckCardProps, d as SplitPaneProps, en as CheckEmptyStateProps, gn as CheckActionsProps, l as SplitDirection, ln as CheckRunStatus, mn as CheckActionType, nn as CheckDetailProps, ot as TopKDataset, pn as CheckAction, q as SchemaDiffRow, rn as CheckDetailTab, sn as CheckCardData, st as TopKItem, un as CheckType, vn as LineageViewProps, xt as HistogramChartProps, yn as LineageViewRef, z as DiffEditorTheme, zt as LineageLegendProps } from "./primitives-Dvljxc6u.js";
6
+ import { _ as CheckProviderProps, a as RoutingConfig, b as LineageCanvasProps, d as QueryProviderProps, f as QueryResult, h as CheckContextType, i as NavigateOptions, l as QueryContextType, m as Check, o as RoutingContextValue, r as RecceProviderProps, t as TYPES_API_VERSION } from "./index-DjuwVxKT.js";
7
7
  import { A as RunListProps, C as RunProgressOverlayProps, F as RunStatusBadgeProps, L as RunStatusWithDateProps, O as RunListItemData, T as RunProgressVariant, j as RunStatus, k as RunListItemProps, w as RunProgressProps } from "./types-CbujhEfL.js";
8
8
  import { _ as RecceFeatureMode, d as RecceActionOptions, f as SubmitRunTrackProps, g as InstanceInfoType, i as IdleTimeoutContextType, l as AxiosQueryParams, s as RecceActionProviderProps, u as RecceActionContextType, v as RecceFeatureToggles } from "./index-CL1zCliW.js";
9
9
  import { t as ThemeColors } from "./useThemeColors-CUdNH8LP.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datarecce/ui",
3
- "version": "1.52.0-nightly.20260609",
3
+ "version": "1.52.0",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Recce Dev Team <dev@reccehq.com>",
6
6
  "description": "Recce UI Components Library - Reusable React components for data validation and review",
@@ -1,7 +0,0 @@
1
- "use client";
2
- import{$ as e,C as t,G as n,K as r,L as i,O as a,R as o,S as s,X as c,Z as l,at as u,bt as d,ct as f,dt as p,et as m,f as h,ft as g,gt as _,h as v,lt as y,pt as b,rt as x,st as S,tt as C,ut as w,vt as T,w as E,yt as D}from"./api-S5ho3Qs3.js";import{d as O,f as k,l as A,s as ee}from"./keepAlive-bjIHulj-.js";import{n as te,r as ne}from"./fetchClient-D0p358nB.js";import{A as re,E as ie,N as ae,S as oe,T as se,b as ce,f as j,g as le,j as M,n as ue,v as de,y as fe}from"./utils-FOrjYCpW.js";import{_ as pe,f as N,g as me,p as he,t as ge}from"./theme-u98ih3Tv.js";import{n as P}from"./colors-4aGxuAVw.js";import{At as _e,Dt as ve,Ft as ye,It as be,Mt as xe,Nt as Se,Ot as Ce,Pt as we,Rt as Te,S as Ee,Tt as De,Vt as Oe,a as ke,d as Ae,et as je,ft as Me,gt as F,ht as Ne,i as Pe,jt as Fe,kt as Ie,l as Le,nt as Re,o as ze,pt as Be,r as Ve,st as He,tt as Ue,u as We,ut as I,w as Ge,x as Ke}from"./utils-Dl2dMzK8.js";import{EXPLORE_FORM_EVENT as qe,isExploreAction as Je,trackCopyToClipboard as Ye,trackExploreActionForm as Xe,trackHistoryAction as Ze,trackSingleEnvironment as Qe}from"./lib/api/track.js";import{PUBLIC_API_URL as $e,RECCE_SUPPORT_CALENDAR_URL as et}from"./lib/const.js";import tt from"./lib/result/ResultErrorFallback.js";import{fetchGitHubAvatar as nt,fetchUser as rt}from"./lib/api/user.js";import{useMutation as it,useQuery as at,useQueryClient as ot}from"@tanstack/react-query";import{Fragment as st,createContext as ct,forwardRef as lt,memo as L,useCallback as R,useContext as ut,useEffect as z,useId as dt,useImperativeHandle as ft,useMemo as B,useRef as V,useState as H}from"react";import{Fragment as U,jsx as W,jsxs as G}from"react/jsx-runtime";import K from"@mui/material/Box";import q from"@mui/material/Button";import pt from"@mui/material/Dialog";import mt from"@mui/material/DialogActions";import ht from"@mui/material/DialogContent";import gt from"@mui/material/DialogTitle";import _t from"@mui/material/Link";import J from"@mui/material/Stack";import Y from"@mui/material/Typography";import{LuChartBarBig as vt,LuExternalLink as yt}from"react-icons/lu";import bt from"@mui/material/CssBaseline";import{ThemeProvider as xt,alpha as St,useTheme as Ct}from"@mui/material/styles";import{useTheme as wt}from"next-themes";import{AllCommunityModule as Tt,ModuleRegistry as Et}from"ag-grid-community";import X from"@mui/material/IconButton";import Dt from"next/link";import{IoClose as Ot}from"react-icons/io5";import kt from"@mui/material/Chip";import{BaseEdge as At,EdgeLabelRenderer as jt,Handle as Mt,NodeToolbar as Nt,Position as Pt,getBezierPath as Ft}from"@xyflow/react";import Z from"@mui/material/Tooltip";import It from"file-saver";import Lt from"@mui/material/Checkbox";import Rt from"@mui/material/FormControlLabel";import{PiBookmarkSimple as zt,PiCaretDown as Bt,PiChatText as Vt,PiCheck as Ht,PiCheckCircle as Ut,PiCircle as Wt,PiClipboardText as Gt,PiCopy as Kt,PiDotsThreeVertical as qt,PiDownloadSimple as Jt,PiImage as Yt,PiInfo as Xt,PiNotePencil as Zt,PiPencilSimple as Qt,PiPlusCircle as $t,PiRepeat as en,PiSelectionPlus as tn,PiTable as nn,PiTrashSimple as rn,PiWarning as an,PiX as on}from"react-icons/pi";import sn from"@mui/material/ButtonGroup";import cn from"@mui/material/Menu";import Q from"@mui/material/MenuItem";import{VscError as ln,VscKebabVertical as un,VscKey as dn}from"react-icons/vsc";import fn from"@mui/material/CircularProgress";import pn from"@mui/material/ListSubheader";import mn from"@mui/material/FormControl";import hn from"@mui/material/FormLabel";import gn from"@mui/material/NativeSelect";import{Box as _n}from"@mui/material";import vn from"@mui/material/TextField";import{format as yn,formatDistanceToNow as bn}from"date-fns";import xn from"@mui/material/Divider";import Sn from"@mui/material/Tab";import Cn from"@mui/material/Tabs";import wn from"@mui/material/List";import Tn from"@mui/material/ListItem";import En from"yaml";import{PostgreSQL as Dn,sql as On}from"@codemirror/lang-sql";import{yaml as kn}from"@codemirror/lang-yaml";import{EditorState as An,Prec as jn}from"@codemirror/state";import{EditorView as Mn,keymap as Nn,lineNumbers as Pn}from"@codemirror/view";import{githubDark as Fn,githubLight as In}from"@uiw/codemirror-theme-github";import Ln from"@uiw/react-codemirror";import Rn from"@mui/material/Avatar";import zn from"@mui/material/Popover";import Bn from"@mui/material/LinearProgress";import{BarElement as Vn,CategoryScale as Hn,Chart as Un,Legend as Wn,LinearScale as Gn,TimeSeriesScale as Kn,Title as qn,Tooltip as Jn}from"chart.js";import{Bar as Yn,Chart as Xn}from"react-chartjs-2";import Zn from"@mui/material/Alert";import Qn from"@mui/material/AlertTitle";import{AgGridReact as $n}from"ag-grid-react";import{MergeView as er,unifiedMergeView as tr}from"@codemirror/merge";import{useTimeout as nr}from"usehooks-ts";import rr from"@mui/material/InputBase";import ir from"lodash";import ar from"react-markdown";import{Prism as or}from"react-syntax-highlighter";import{oneDark as sr}from"react-syntax-highlighter/dist/esm/styles/prism";import cr from"remark-gfm";import lr from"react-split";import{amber as ur}from"@mui/material/colors";import{usePathname as dr,useRouter as fr}from"next/navigation";import{FaCheckCircle as pr,FaRegCheckCircle as mr}from"react-icons/fa";import{MdFormatListNumberedRtl as hr,MdSchema as gr}from"react-icons/md";import{TbAlignBoxLeftStretch as _r,TbBrandStackshare as vr,TbChartHistogram as yr,TbEyeEdit as br,TbEyeSearch as xr,TbSql as Sr}from"react-icons/tb";import Cr from"@mui/material/Autocomplete";import wr from"@mui/material/DialogContentText";import Tr from"@mui/material/ListItemIcon";import Er from"@mui/material/ListItemText";import{FiInfo as Dr}from"react-icons/fi";import{FaPlay as Or}from"react-icons/fa6";import{ErrorBoundary as kr}from"@sentry/react";import{snapdom as Ar}from"@zumer/snapdom";function jr({children:e,forcedTheme:t,enableCssBaseline:n=!1}){let{resolvedTheme:r}=wt();return z(()=>{(t??r)===`dark`?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)},[t,r]),G(xt,{theme:ge,children:[n&&W(bt,{}),e]})}const Mr=ct({checks:[],isLoading:!1});Mr.displayName=`RecceCheckContext`;function Nr({children:e,checks:t=[],isLoading:n=!1,error:r,selectedCheckId:i,onSelectCheck:a,onCreateCheck:o,onUpdateCheck:s,onDeleteCheck:c,onReorderChecks:l,refetchChecks:u,latestSelectedCheckId:d,setLatestSelectedCheckId:f}){let p=i??d,m=a??f,h=B(()=>({checks:t,isLoading:n,error:r,selectedCheckId:p,onSelectCheck:m,onCreateCheck:o,onUpdateCheck:s,onDeleteCheck:c,onReorderChecks:l,refetchChecks:u,latestSelectedCheckId:p,setLatestSelectedCheckId:m}),[t,n,r,p,m,o,s,c,l,u]);return W(Mr.Provider,{value:h,children:e})}function Pr(){return ut(Mr)}const Fr=ct({sql:``,isExecuting:!1});Fr.displayName=`RecceQueryContext`;function Ir({children:e,sql:t=``,isExecuting:n=!1,error:r,baseResult:i,currentResult:a,onSqlChange:o,onExecute:s,onCancel:c,sqlQuery:l,setSqlQuery:u,primaryKeys:d,setPrimaryKeys:f,isCustomQueries:p,setCustomQueries:m,baseSqlQuery:h,setBaseSqlQuery:g}){let _=B(()=>({sql:t,isExecuting:n,error:r,baseResult:i,currentResult:a,onSqlChange:o,onExecute:s,onCancel:c,sqlQuery:l,setSqlQuery:u,primaryKeys:d,setPrimaryKeys:f,isCustomQueries:p,setCustomQueries:m,baseSqlQuery:h,setBaseSqlQuery:g}),[t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g]);return W(Fr.Provider,{value:_,children:e})}function Lr(){return ut(Fr)}function Rr({children:e}){let[t,n]=H(``);return W(Nr,{selectedCheckId:t,onSelectCheck:n,latestSelectedCheckId:t,setLatestSelectedCheckId:n,children:e})}const zr=()=>{};function Br(){let e=Pr();return{latestSelectedCheckId:e.latestSelectedCheckId??``,setLatestSelectedCheckId:e.setLatestSelectedCheckId??zr}}const Vr={INTEGER:`integer`,INT:`integer`,BIGINT:`integer`,SMALLINT:`integer`,TINYINT:`integer`,INT64:`integer`,INT32:`integer`,INT16:`integer`,INT8:`integer`,INT4:`integer`,INT2:`integer`,MEDIUMINT:`integer`,SERIAL:`integer`,BIGSERIAL:`integer`,SMALLSERIAL:`integer`,DOUBLE:`number`,FLOAT:`number`,REAL:`number`,NUMERIC:`number`,DECIMAL:`number`,NUMBER:`number`,FLOAT64:`number`,FLOAT32:`number`,"DOUBLE PRECISION":`number`,VARCHAR:`text`,TEXT:`text`,STRING:`text`,CHAR:`text`,"CHARACTER VARYING":`text`,CHARACTER:`text`,NCHAR:`text`,NVARCHAR:`text`,VARCHAR2:`text`,NVARCHAR2:`text`,CLOB:`text`,NCLOB:`text`,TINYTEXT:`text`,MEDIUMTEXT:`text`,LONGTEXT:`text`,BOOLEAN:`boolean`,BOOL:`boolean`,DATE:`date`,TIMESTAMP:`datetime`,DATETIME:`datetime`,TIMESTAMP_NTZ:`datetime`,TIMESTAMP_LTZ:`datetime`,TIMESTAMP_TZ:`datetime`,TIMESTAMPTZ:`datetime`,"TIMESTAMP WITH TIME ZONE":`datetime`,"TIMESTAMP WITHOUT TIME ZONE":`datetime`,"TIMESTAMP WITH LOCAL TIME ZONE":`datetime`,DATETIME2:`datetime`,SMALLDATETIME:`datetime`,DATETIMEOFFSET:`datetime`,TIME:`time`,TIMETZ:`time`,"TIME WITH TIME ZONE":`time`,"TIME WITHOUT TIME ZONE":`time`,BINARY:`binary`,VARBINARY:`binary`,BYTES:`binary`,BLOB:`binary`,BYTEA:`binary`,TINYBLOB:`binary`,MEDIUMBLOB:`binary`,LONGBLOB:`binary`,JSON:`json`,JSONB:`json`,VARIANT:`json`,OBJECT:`json`,STRUCT:`json`,MAP:`json`,ARRAY:`array`,LIST:`array`,GEOGRAPHY:`geography`,GEOMETRY:`geography`,POINT:`geography`,LINESTRING:`geography`,POLYGON:`geography`,MULTIPOINT:`geography`,MULTILINESTRING:`geography`,MULTIPOLYGON:`geography`,GEOMETRYCOLLECTION:`geography`,SDO_GEOMETRY:`geography`};function Hr(e){let t=e.trim().toUpperCase();if(!t)return`unknown`;if(/^TINYINT\s*\(\s*1\s*\)$/.test(t))return`boolean`;let n=t.indexOf(`(`);return Vr[n===-1?t:t.slice(0,n).trimEnd()]??`unknown`}const Ur=.6,Wr=18/30;function Gr({size:e=`1em`,style:t,className:n,children:r}){return G(`svg`,{viewBox:`0 0 30 18`,width:e,height:typeof e==`number`?e*Wr:`${Wr}em`,style:t,className:n,"aria-hidden":`true`,children:[W(`rect`,{x:Ur,y:Ur,width:30-Ur*2,height:18-Ur*2,rx:3,fill:`none`,stroke:`currentColor`,strokeWidth:1.2}),r]})}function Kr({text:e,size:t,style:n,className:r}){return W(Gr,{size:t,style:n,className:r,children:W(`text`,{x:30/2,y:18/2,textAnchor:`middle`,dominantBaseline:`central`,fontSize:10.5,fontFamily:`monospace`,fontWeight:500,fill:`currentColor`,children:e})})}function qr(e){return W(Kr,{text:`123`,...e})}function Jr(e){return W(Kr,{text:`1.2`,...e})}function Yr(e){return W(Kr,{text:`abc`,...e})}function Xr(e){return W(Kr,{text:`T/F`,...e})}function Zr({size:e,style:t,className:n}){let r=dt(),i=Ur,a=Ur;return G(Gr,{size:e,style:t,className:n,children:[G(`mask`,{id:r,children:[W(`rect`,{x:i,y:a,width:15-i,height:16.8,fill:`white`}),W(`text`,{x:15/2,y:18/2,textAnchor:`middle`,dominantBaseline:`central`,fontSize:10,fontFamily:`monospace`,fontWeight:700,fill:`black`,children:`0`})]}),W(`path`,{d:`M15 ${a} H3.6 Q${i} ${a} ${i} 3.6 V14.400000000000002 Q${i} 17.400000000000002 3.6 17.400000000000002 H15 Z`,fill:`currentColor`,mask:`url(#${r})`}),W(`text`,{x:22.5,y:18/2,textAnchor:`middle`,dominantBaseline:`central`,fontSize:10,fontFamily:`monospace`,fontWeight:700,fill:`currentColor`,children:`1`})]})}function Qr(e){return W(Kr,{text:`{ }`,...e})}function $r({size:e,style:t,className:n}){return G(Gr,{size:e,style:t,className:n,children:[G(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1.2,strokeLinecap:`round`,children:[W(`line`,{x1:6,y1:5,x2:4,y2:5}),W(`line`,{x1:4,y1:5,x2:4,y2:13}),W(`line`,{x1:4,y1:13,x2:6,y2:13}),W(`line`,{x1:24,y1:5,x2:26,y2:5}),W(`line`,{x1:26,y1:5,x2:26,y2:13}),W(`line`,{x1:26,y1:13,x2:24,y2:13})]}),W(`text`,{x:30/2,y:18/2,textAnchor:`middle`,dominantBaseline:`central`,fontSize:9,fontFamily:`monospace`,fontWeight:500,fill:`currentColor`,children:`1,2`})]})}function ei(e){return W(Kr,{text:`···`,...e})}function ti({size:e,style:t,className:n}){return W(Gr,{size:e,style:t,className:n,children:G(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,transform:`translate(9, 2.5)`,children:[W(`rect`,{x:0,y:2,width:11,height:9.5,rx:1.2}),W(`line`,{x1:3,y1:.5,x2:3,y2:3.5}),W(`line`,{x1:8,y1:.5,x2:8,y2:3.5}),W(`line`,{x1:0,y1:5.5,x2:11,y2:5.5})]})})}function ni({size:e,style:t,className:n}){return W(Gr,{size:e,style:t,className:n,children:G(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,transform:`translate(4, 2.5)`,children:[W(`rect`,{x:0,y:2,width:9.5,height:8.5,rx:1.2}),W(`line`,{x1:2.5,y1:.5,x2:2.5,y2:3.5}),W(`line`,{x1:7,y1:.5,x2:7,y2:3.5}),W(`line`,{x1:0,y1:5,x2:9.5,y2:5}),W(`circle`,{cx:17,cy:8.5,r:3.2}),W(`line`,{x1:17,y1:6.8,x2:17,y2:8.5}),W(`line`,{x1:17,y1:8.5,x2:18.3,y2:9.5})]})})}function ri({size:e,style:t,className:n}){return W(Gr,{size:e,style:t,className:n,children:G(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,transform:`translate(10, 3.5)`,children:[W(`circle`,{cx:5,cy:5.5,r:5}),W(`line`,{x1:5,y1:3,x2:5,y2:5.5}),W(`line`,{x1:5,y1:5.5,x2:7,y2:6.8})]})})}function ii({size:e,style:t,className:n}){return W(Gr,{size:e,style:t,className:n,children:G(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,children:[W(`path`,{d:`M15 14.5 C15 14.5 10.5 11 10.5 8 A4.5 4.5 0 0 1 19.5 8 C19.5 11 15 14.5 15 14.5 Z`,strokeWidth:1.2}),W(`circle`,{cx:15,cy:8,r:1.5,fill:`currentColor`,stroke:`none`})]})})}function ai(e){let{name:t,status:n,baseType:r,currentType:i,cllAvailable:a,impacted:o}=e,s;switch(n){case`added`:s=i?`${t} added ${i}`:`${t} added`;break;case`removed`:return`deleted ${t}`;case`type_changed`:s=`${t}, was ${r} now ${i}`;break;case`definition_changed`:s=i?`${t} ${i} changed definition`:`${t} changed definition`;break;case`definition_unknown`:s=i?`${t} ${i} change status unknown`:`${t} change status unknown`;break;case`unchanged`:s=i?`${t} ${i}`:t;break;default:s=r&&i&&r!==i?`${t}, was ${r} now ${i}`:i?`${t} ${i}`:t;break}return o&&(s+=` · impacted`),a&&(s+=` · Click for column lineage`),s}const oi={integer:qr,number:Jr,text:Yr,boolean:Xr,date:ti,datetime:ni,time:ri,binary:Zr,json:Qr,array:$r,geography:ii,unknown:ei};function si({type:e,size:t,style:n,className:r,disableTooltip:i}){let a=oi[Hr(e)],o=W(`span`,{"data-testid":`data-type-icon`,style:{display:`inline-flex`,alignItems:`center`,lineHeight:0},children:W(a,{size:t,style:n,className:r})});return i?o:W(Z,{title:e,placement:`top`,arrow:!0,children:o})}const ci=.35,li=.1,ui=.15,di=`opacity(0.4) grayscale(40%)`,fi=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M1.5 1h13l.5.5v13l-.5.5h-13l-.5-.5v-13l.5-.5zM2 2v12h12V2H2zm6.5 2.5v2.5h2.5v1H8.5v2.5h-1V8H5V7h2.5V4.5h1z`})}),pi=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M1.5 1h13l.5.5v13l-.5.5h-13l-.5-.5v-13l.5-.5zM2 2v12h12V2H2zm3 5.5h6v1H5v-1z`})}),mi=e=>G(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[W(`path`,{d:`M1.5 1h13l.5.5v13l-.5.5h-13l-.5-.5v-13l.5-.5zM2 2v12h12V2H2z`}),W(`path`,{d:`M10.6 8.7c-.1.1-.3.2-.5.2h-.1l-1.4-.3c-.5-.1-1.1-.3-1.8-.3-.6 0-1 .2-1.3.5-.2.2-.2.4-.2.7v.1l-.9.3v-.2c0-.3 0-.6.1-.9.2-.4.5-.8 1-1.1.5-.4 1.2-.5 2-.5h.2l1.5.4h.1c.5.1 1 .3 1.5.3.6 0 .9-.2 1.2-.4.2-.2.3-.5.3-.8v-.3l.8-.3h.1v.3c0 .6-.2 1.2-.6 1.6-.2.2-.3.4-.5.5l-.5.2z`})]}),hi=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6z`})}),gi=e=>G(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[W(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M1.5 1h13l.5.5v13l-.5.5h-13l-.5-.5v-13l.5-.5zM2 2v12h12V2H2z`}),W(`path`,{d:`M7.5 4h1v5h-1V4zm0 6h1v1.5h-1V10z`})]}),_i=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z`})}),vi=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 448 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z`})}),yi=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z`})}),bi=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z`})}),xi=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 448 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M160 80c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48h-32c-26.5 0-48-21.5-48-48V80zM0 272c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48v160c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V272zM368 96h32c26.5 0 48 21.5 48 48v288c0 26.5-21.5 48-48 48h-32c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48z`})}),Si=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-15.9-5.8-30.4-15.3-41.6l76.6-147.4c6.1-11.8 1.5-26.3-10.2-32.4s-26.2-1.5-32.4 10.2L262.1 288.3c-2-.2-4-.3-6.1-.3c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64z`})}),Ci=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M418.4 157.9c35.3-8.3 61.6-40 61.6-77.9c0-44.2-35.8-80-80-80c-43.4 0-78.7 34.5-80 77.5L136.2 151.1C121.7 136.8 101.9 128 80 128c-44.2 0-80 35.8-80 80s35.8 80 80 80c12.2 0 23.8-2.7 34.1-7.6L259.7 407.8c-2.4 7.6-3.7 15.8-3.7 24.2c0 44.2 35.8 80 80 80s80-35.8 80-80c0-27.7-14-52.1-35.4-66.4l37.8-207.7zM156.3 232.2c2.2-6.9 3.5-14.2 3.7-21.7l183.8-73.5c3.6 3.5 7.4 6.7 11.6 9.5L317.6 354.1c-5.5 1.3-10.8 3.1-15.8 5.5L156.3 232.2z`})}),wi=e=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M256 128C141.4 128 37.5 193.3 1.6 246.1c-2.1 3.2-2.1 7.5 0 10.7C37.5 309.7 141.4 384 256 384s218.5-74.3 254.4-127.2c2.1-3.2 2.1-7.5 0-10.7C474.5 193.3 370.6 128 256 128zm0 208c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96zm0-144c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z`})}),Ti=e=>{let t=dt(),n=`inc-bottom-${t}`,r=`inc-top-${t}`;return G(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[G(`defs`,{children:[W(`clipPath`,{id:n,children:W(`rect`,{x:`0`,y:`200`,width:`512`,height:`312`})}),W(`clipPath`,{id:r,children:W(`rect`,{x:`0`,y:`0`,width:`512`,height:`200`})})]}),W(`path`,{clipPath:`url(#${n})`,d:`M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z`}),W(`path`,{clipPath:`url(#${r})`,d:`M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z`,fill:`none`,stroke:`currentColor`,strokeWidth:`12`,strokeDasharray:`20 12`})]})},Ei=e=>W(`svg`,{stroke:`currentColor`,fill:`none`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:W(`path`,{d:`M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z`,fill:`none`,stroke:`currentColor`,strokeWidth:`12`,strokeDasharray:`20 12`})}),Di=e=>G(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 512 512`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[W(`g`,{transform:`translate(0, 0) scale(0.75)`,children:W(`path`,{d:`M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z`})}),W(`g`,{transform:`translate(250, 260) scale(0.5)`,children:W(`path`,{d:`M256 128C141.4 128 37.5 193.3 1.6 246.1c-2.1 3.2-2.1 7.5 0 10.7C37.5 309.7 141.4 384 256 384s218.5-74.3 254.4-127.2c2.1-3.2 2.1-7.5 0-10.7C474.5 193.3 370.6 128 256 128zm0 208c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96zm0-144c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z`})})]}),Oi={added:fi,removed:pi,modified:mi,impacted:gi};function ki(e,t){return e===`cll`?{colors:$,bg:t?Bi:zi}:{colors:Ii,bg:t?Ri:Li}}function Ai(e,t,n=`default`){let r=e??`unchanged`,{colors:i,bg:a}=ki(n,t),o=i[r],s=a[r];return{color:o,hexColor:o,backgroundColor:s,hexBackgroundColor:s,icon:Oi[r]}}function ji(e){return Ai(`impacted`,e,`cll`)}function Mi(e,t){let{changeStatus:n,isImpacted:r,newCllExperience:i}=e;return i&&r&&(!n||n===`unchanged`)?ji(t):Ai(n,t,i?`cll`:`default`)}function Ni(e){switch(e){case`model`:return{color:P.cyan[200],icon:_i};case`source`:return{color:P.green[300],icon:vi};case`seed`:return{color:P.green[500],icon:yi};case`snapshot`:return{color:P.green[500],icon:bi};case`metric`:return{color:P.rose[200],icon:xi};case`exposure`:return{color:P.rose[200],icon:Si};case`semantic_model`:return{color:P.rose[400],icon:Ci};default:return{color:`inherit`,icon:void 0}}}function Pi(e){switch(e){case`table`:return{color:P.cyan[200],icon:_i};case`view`:return{color:P.fuchsia[300],icon:wi};case`incremental`:return{color:P.iochmara[300],icon:Ti};case`ephemeral`:return{color:P.neutral[400],icon:Ei};case`materialized_view`:case`dynamic_table`:case`streaming_table`:return{color:P.fuchsia[200],icon:Di};default:return{color:`inherit`,icon:void 0}}}function Fi(e,t,n){return t?`${e} - ${t===`model`&&n||t}`:e}const Ii={added:P.green[500],removed:P.red[500],modified:P.amber[500],unchanged:P.neutral[500]},Li={added:P.green[100],removed:P.red[200],modified:P.amber[100],unchanged:P.white},Ri={added:P.green[900],removed:P.red[950],modified:P.amber[900],unchanged:P.neutral[700]},$={added:`rgb(46 160 67)`,removed:`rgb(248 81 73)`,modified:`rgb(212 133 11)`,impacted:`rgb(252 211 77)`,unchanged:P.neutral[500]},zi={added:`rgb(222 248 227)`,removed:`rgb(252 225 224)`,modified:`rgb(255 237 175)`,impacted:`rgb(254 249 227)`,unchanged:P.white},Bi={added:`rgb(30 58 30)`,removed:`rgb(68 35 35)`,modified:`rgb(75 65 33)`,impacted:`rgb(50 44 24)`,unchanged:`rgb(38 38 38)`},Vi=`252 211 77`,Hi={light:$.impacted,dark:`rgb(${Vi})`},Ui={light:`rgb(${Vi} / 0.35)`,dark:`rgb(${Vi} / 0.18)`},Wi={light:`rgb(146 64 14)`,dark:`rgb(${Vi})`},Gi=$.modified,Ki={light:`rgb(255 173 21 / 0.25)`,dark:`rgb(255 173 21 / 0.2)`},qi={light:`rgb(160 100 0)`,dark:`rgb(255 200 80)`},Ji={light:$.added,dark:`rgb(80 200 100)`},Yi={light:`rgb(46 160 67 / 0.2)`,dark:`rgb(46 160 67 / 0.2)`},Xi={light:`rgb(22 110 40)`,dark:Ji.dark},Zi=24,Qi=280,$i={passthrough:{letter:`P`,color:`default`},renamed:{letter:`R`,color:`warning`},derived:{letter:`D`,color:`warning`},source:{letter:`S`,color:`info`},unknown:{letter:`U`,color:`error`}};function ea({size:e=14}){return G(`svg`,{width:e,height:e,viewBox:`0 0 16 16`,fill:`currentColor`,xmlns:`http://www.w3.org/2000/svg`,children:[W(`circle`,{cx:`8`,cy:`3`,r:`1.5`}),W(`circle`,{cx:`8`,cy:`8`,r:`1.5`}),W(`circle`,{cx:`8`,cy:`13`,r:`1.5`})]})}function ta({changeStatus:e,newCllExperience:t}){if(!e)return null;let n=(t?$:Ii)[e];return W(K,{sx:{width:14,height:14,borderRadius:`50%`,backgroundColor:n,color:`white`,fontSize:10,fontWeight:`bold`,display:`flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0},children:{added:`+`,removed:`-`,modified:`~`}[e]})}function na({transformationType:e}){if(!e)return null;let t=$i[e];return W(kt,{label:t.letter,size:`small`,color:t.color,sx:{fontSize:`8pt`,height:18,minWidth:18,"& .MuiChip-label":{px:.5}}})}function ra({id:e,data:t,showContent:n=!0,showChangeAnalysis:r=!1,isDark:i=!1,newCllExperience:a,onColumnClick:o,onContextMenu:s}){let{column:c,type:l,transformationType:u,changeStatus:d,isHighlighted:f=!0,isFocused:p=!1,isImpacted:m=!1}=t,h=a??t.newCllExperience??!1,[g,_]=H(!1);if(!n)return null;let v=r&&d,y=h&&d?(i?Bi:zi)[d]:void 0,b=h&&d?$[d]:void 0,x=m&&!d?ji(i):void 0,S=y??x?.backgroundColor,C=b??x?.color,w=h&&i?`#262626`:`background.paper`,T=h&&i?`#333333`:`action.hover`,E=h&&i?`#404040`:`action.selected`,D=h&&i?`#ffffff`:`text.primary`;return G(K,{onClick:()=>o?.(e),sx:{display:`flex`,width:280,padding:`0px 10px`,border:`1px solid`,borderColor:`divider`,backgroundColor:S||(p?E:g?T:w),borderLeft:C?`3px solid ${C}`:void 0,filter:f?`none`:di,cursor:`pointer`,transition:`background-color 0.15s ease`},onMouseEnter:()=>_(!0),onMouseLeave:()=>_(!1),children:[G(K,{sx:{display:`flex`,fontSize:`11px`,color:D,width:`100%`,gap:`6px`,alignItems:`center`,height:`23px`},children:[v?W(ta,{changeStatus:d,newCllExperience:h}):W(na,{transformationType:u}),W(K,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,flexGrow:1,height:`25px`,lineHeight:`25px`},children:c}),g&&s?W(K,{sx:{display:`inline-flex`,alignItems:`center`,cursor:`pointer`,"&:hover":{color:`text.primary`}},onClick:t=>{t.preventDefault(),t.stopPropagation(),s(t,e)},"data-testid":`column-kebab-menu`,children:W(ea,{size:14})}):l&&W(si,{type:l,style:{flexShrink:0,opacity:.7,fontSize:`1rem`}})]}),W(Mt,{type:`target`,position:Pt.Left,isConnectable:!1,style:{left:0,visibility:`hidden`}}),W(Mt,{type:`source`,position:Pt.Right,isConnectable:!1,style:{right:0,visibility:`hidden`}})]})}const ia=L(ra);ia.displayName=`LineageColumnNode`;function aa({id:e,sourceX:t,sourceY:n,targetX:r,targetY:i,sourcePosition:a,targetPosition:o,data:s,selected:c}){let l=s?.changeStatus??`unchanged`,u=s?.isHighlighted??!1,d=s?.label,[f,p,m]=Ft({sourceX:t,sourceY:n,sourcePosition:a,targetX:r,targetY:i,targetPosition:o}),h=$[l];return G(U,{children:[W(At,{id:e,path:f,style:{stroke:h,strokeWidth:u||c?2.5:1.5,opacity:u||c?1:.6}}),d&&W(jt,{children:W(`div`,{style:{position:`absolute`,transform:`translate(-50%, -50%) translate(${p}px,${m}px)`,fontSize:10,fontWeight:500,background:`white`,padding:`2px 4px`,borderRadius:4,pointerEvents:`all`},children:d})})]})}const oa=L(aa);oa.displayName=`LineageEdge`;function sa({changedOnly:e,onChange:t}){return W(Rt,{control:W(Lt,{checked:e??!1,onChange:()=>{t()},size:`small`}),label:`Changed only`,slotProps:{typography:{variant:`body2`}}})}function ca({value:e,onChange:t,textOn:n,textOff:r}){return G(sn,{variant:`outlined`,size:`xsmall`,sx:{borderRadius:1},children:[W(q,{onClick:()=>{t(!1)},sx:{color:e?`text.disabled`:`text.primary`,bgcolor:e?`action.hover`:`background.paper`,borderColor:`divider`,"&:hover":{bgcolor:e?`action.selected`:`background.paper`,borderColor:`divider`}},children:r??`Off`}),W(q,{onClick:()=>{t(!0)},sx:{color:e?`text.primary`:`text.disabled`,bgcolor:e?`background.paper`:`action.hover`,borderColor:`divider`,"&:hover":{bgcolor:e?`background.paper`:`action.selected`,borderColor:`divider`}},children:n??`On`})]})}function la({displayMode:e,onDisplayModeChanged:t}){return G(U,{children:[e===`inline`&&G(U,{children:[W(Ne,{value:`Base`,colorPalette:`red`,grayOut:!1,fontSize:`10pt`,noCopy:!0}),W(Ne,{value:`Current`,colorPalette:`green`,grayOut:!1,fontSize:`10pt`,noCopy:!0})]}),W(ca,{value:e===`side_by_side`,onChange:e=>{t(e?`side_by_side`:`inline`)},textOff:`Inline`,textOn:`Side by side`})]})}const ua=`Paired baseline and current continuous distribution`,da=`Paired baseline and current categorical distribution`;function fa({ariaLabel:e,className:t,children:n}){return G(`svg`,{width:140,height:28,viewBox:`0 0 140 28`,className:t,style:{display:`block`,overflow:`visible`},role:`img`,"aria-label":e,children:[W(`title`,{children:e}),n]})}function pa({y:e,stroke:t}){return W(`line`,{x1:0,y1:e,x2:140,y2:e,stroke:t,strokeWidth:.5})}function ma(e,t,n){return`${e} [base: ${`${(t*100).toFixed(1)}%`}, current: ${`${(n*100).toFixed(1)}%`}]`}function ha(e,t,n){return`${e} [${t===null?`not in base top-K`:`base rank: ${t}`}, ${n===null?`not in current top-K`:`current rank: ${n}`}]`}function ga({data:e,formatValue:t=Me,className:n}){let r=F(),i=N(r),a=he(r),o=i.base,s=i.current,c=a.borderColor,l=`phc-overlap-${dt().replace(/:/g,``)}`,u=B(()=>va(e,140),[e]);return u.bins.length===0?W(fa,{ariaLabel:ua,className:n}):G(fa,{ariaLabel:ua,className:n,children:[W(`defs`,{children:G(`pattern`,{id:l,patternUnits:`userSpaceOnUse`,width:4,height:4,children:[W(`rect`,{x:0,y:0,width:2,height:2,fill:o}),W(`rect`,{x:2,y:2,width:2,height:2,fill:o}),W(`rect`,{x:2,y:0,width:2,height:2,fill:s}),W(`rect`,{x:0,y:2,width:2,height:2,fill:s})]})}),u.bins.map((e,n)=>{let r=e.baseDensity/u.maxDensity*26,i=e.currentDensity/u.maxDensity*26,a=Math.min(r,i),c=Math.max(r,i),d=r>i?o:s,f=Math.max(.5,e.width-.25),p=ya(e,t);return G(`g`,{children:[W(`rect`,{x:e.x,y:0,width:e.width,height:26,fill:`none`,pointerEvents:`all`,children:W(`title`,{children:p})}),a>0&&W(`rect`,{x:e.x,y:26-a,width:f,height:a,fill:`url(#${l})`,pointerEvents:`none`}),c>a&&W(`rect`,{x:e.x,y:26-c,width:f,height:c-a,fill:d,pointerEvents:`none`})]},n)}),W(pa,{y:26,stroke:c})]})}function _a(e,t,n){if(n<e[0]||n>e[e.length-1])return 0;for(let r=0;r<t.length;r+=1)if(n>=e[r]&&n<e[r+1])return t[r];return t[t.length-1]}function va(e,t){let{baseBinEdges:n,currentBinEdges:r,baseDensity:i,currentDensity:a}=e,o=e=>e.every(Number.isFinite),s=i.length>0&&n.length===i.length+1&&o(n)&&o(i),c=a.length>0&&r.length===a.length+1&&o(r)&&o(a),l=!s&&(n.length>0||i.length>0),u=!c&&(r.length>0||a.length>0);if(l||u||!s&&!c)return{bins:[],maxDensity:0,minVal:0,maxVal:0};let d=[...s?n:[],...c?r:[]],f=Math.min(...d),p=Math.max(...d),m=p-f,h=[];if(m<=0||!Number.isFinite(m)){let e=Math.max(i.length,a.length),n=t/e;for(let t=0;t<e;t+=1)h.push({x:t*n,width:n,baseDensity:i[t]??0,currentDensity:a[t]??0,lo:f,hi:p})}else{let e=Array.from(new Set(d)).sort((e,t)=>e-t);for(let o=0;o<e.length-1;o+=1){let l=e[o],u=e[o+1];if(u<=l)continue;let d=(l+u)/2;h.push({x:(l-f)/m*t,width:(u-l)/m*t,baseDensity:s?_a(n,i,d):0,currentDensity:c?_a(r,a,d):0,lo:l,hi:u})}}if(h.length>0){let e=h[h.length-1];e.width=Math.max(0,t-e.x)}let g=[];for(let e of h)g.push(e.baseDensity,e.currentDensity);return{bins:h,maxDensity:Math.max(1e-9,...g),minVal:f,maxVal:p}}function ya(e,t){let n=e.hi-e.lo,r=n>0?e.baseDensity*n:0,i=n>0?e.currentDensity*n:0;return ma(`${t(e.lo)}–${t(e.hi)}`,r,i)}function ba({data:e,formatValue:t=Sa,className:n}){let r=F(),i=N(r),a=he(r),o=i.base,s=i.current,c=a.borderColor,l=a.secondaryTextColor,u=B(()=>xa(e,26,t),[e,26,t]);if(u.length===0)return W(fa,{ariaLabel:da,className:n});let d=140/Math.max(1,u.length),f=d*.1,p=d-f*2,m=Math.max(1,Math.min(2,p*.1)),h=Math.max(1,(p-m)/2);return G(fa,{ariaLabel:da,className:n,children:[u.map((e,t)=>{let n=t*d,r=n+f,i=n+f+h+m;return G(`g`,{children:[W(`rect`,{x:n,y:0,width:d,height:26,fill:`none`,pointerEvents:`all`,children:W(`title`,{children:e.hoverTitle})}),e.baseH>0&&W(`rect`,{x:r,y:26-e.baseH,width:h,height:e.baseH,fill:o,pointerEvents:`none`}),e.currH>0&&W(`rect`,{x:i,y:26-e.currH,width:h,height:e.currH,fill:s,pointerEvents:`none`})]},t)}),W(pa,{y:26,stroke:c}),e.trimmed&&G(`g`,{pointerEvents:`none`,children:[W(`rect`,{x:102,y:1,width:37,height:10,fill:a.overlayBackgroundColor,rx:2,"data-testid":`trimmed-marker-bg`}),W(`text`,{x:139,y:9,fontFamily:`system-ui, -apple-system, sans-serif`,fontSize:8,fill:l,textAnchor:`end`,children:`trimmed`})]})]})}function xa(e,t,n){if(e.mode===`ranks`){let{slots:r}=Ta(e);return r.map(r=>({baseH:Ca(r.baseRank,e.k,t),currH:Ca(r.currRank,e.k,t),hoverTitle:ha(n(r.value),r.baseRank,r.currRank)}))}let{slots:r,maxProp:i}=wa(e);return r.map(e=>({baseH:e.baseProp/i*t,currH:e.currProp/i*t,hoverTitle:ma(n(e.value),e.baseProp,e.currProp)}))}function Sa(e){return String(e)}function Ca(e,t,n){if(e===null||t<=0)return 0;let r=(t-e+1)/t*n;return Math.max(0,Math.min(n,r))}function wa(e){let{values:t,baseCounts:n,currentCounts:r,baseTotal:i,currentTotal:a}=e;if(!Array.isArray(t)||!Array.isArray(n)||!Array.isArray(r)||t.length===0||t.length!==n.length||t.length!==r.length)return{slots:[],maxProp:0};let o=t.map((e,t)=>{let o=n[t]??0,s=r[t]??0;return{value:e,baseCount:o,currCount:s,baseProp:i>0?o/i:0,currProp:a>0?s/a:0}}),s=[];for(let e of o)s.push(e.baseProp),s.push(e.currProp);return{slots:o,maxProp:Math.max(1e-9,...s)}}function Ta(e){let{values:t,baseRanks:n,currentRanks:r}=e;if(!Array.isArray(t)||!Array.isArray(n)||!Array.isArray(r)||t.length===0||t.length!==n.length||t.length!==r.length)return{slots:[]};let i=t.map((e,t)=>({value:e,baseRank:n[t]??null,currRank:r[t]??null})),a=i.filter(e=>e.baseRank!==null||e.currRank!==null);return a.length<i.length&&console.warn(`[PairedHistogramDiscrete] computeRanksSlots: dropped ${i.length-a.length} value(s) absent from both base and current top-K (Stage B contract violation).`),{slots:a}}function Ea(e){if(!e)return!1;let t=e.toLowerCase();return t.includes(`timestamp`)||t.includes(`datetime`)||t.includes(`date`)}function Da(e){if(!e)return!1;let t=e.toLowerCase();return t.includes(`time`)&&!t.includes(`timestamp`)&&!t.includes(`datetime`)}function Oa({title:e,testId:t}){return W(`span`,{className:`schema-distribution-error`,title:e,role:`img`,"aria-label":e,"data-testid":t,children:W(ln,{"aria-hidden":!0})})}function ka(){return W(`span`,{className:`schema-distribution-not-profiled`,title:`Not profiled — only changed columns are shown`,"aria-hidden":!0,"data-testid":`inline-distribution-not-profiled`,children:`–`})}function Aa(e){return e==null?`(null)`:typeof e==`boolean`?e?`true`:`false`:String(e)}function ja(e){return{baseBinEdges:e.base_bin_edges,currentBinEdges:e.current_bin_edges,baseDensity:e.base_density,currentDensity:e.current_density,baseTotal:e.base_total,currentTotal:e.current_total}}function Ma(e,t,n){return e.mode===`ranks`?{mode:`ranks`,values:e.values,baseRanks:e.base_ranks,currentRanks:e.current_ranks,k:e.k,trimmed:e.trimmed}:{mode:`counts`,values:e.values,baseCounts:e.base_counts.map(e=>e??0),currentCounts:e.current_counts.map(e=>e??0),baseTotal:t,currentTotal:n,trimmed:e.trimmed}}function Na({payload:e,columnType:t,baseTotal:n=0,currentTotal:r=0,isLoading:i=!1,hasError:a=!1,notProfiled:o=!1,className:s}){if(i)return W(`span`,{className:`schema-distribution-pending`,"aria-label":`Loading distribution`,role:`status`,"data-testid":`inline-distribution-pending`});if(a)return W(Oa,{title:`Failed to read distribution`,testId:`inline-distribution-error`});if(!e)return o?W(ka,{}):null;if(e.kind===null)return W(Oa,{title:`Failed to read distribution for this column`,testId:`inline-distribution-column-failure`});if(e.kind===`histogram`){let n=Da(t)?ke:Ea(t)?Pe:void 0;return W(ga,{data:ja(e),formatValue:n,className:s})}return W(ba,{data:Ma(e,n,r),formatValue:Aa,className:s})}function Pa(e){let t=[`CHAR`,`VARCHAR`,`TINYTEXT`,`TEXT`,`MEDIUMTEXT`,`LONGTEXT`,`NCHAR`,`NVARCHAR`,`VARCHAR2`,`NVARCHAR2`,`CLOB`,`NCLOB`,`VARCHAR(MAX)`,`XML`,`JSON`],n=e.trim().toUpperCase();return t.includes(n)?!0:/^(VARCHAR|NVARCHAR|VARCHAR2|NVARCHAR2|CHAR|NCHAR)\(\d+\)$/.test(n)}function Fa(e){return[`BOOLEAN`,`TINYINT(1)`,`BIT`,`NUMBER(1)`,`BOOL`].includes(e.toUpperCase())}function Ia(e){return[`DATE`,`DATETIME`,`TIMESTAMP`,`TIME`,`YEAR`,`DATETIME2`,`SMALLDATETIME`,`DATETIMEOFFSET`,`INTERVAL`,`TIMESTAMPTZ`,`TIMETZ`,`TIMESTAMP WITH TIME ZONE`,`TIMESTAMP WITH LOCAL TIME ZONE`,`TIMESTAMP_LTZ`,`TIMESTAMP_NTZ`,`TIMESTAMP_TZ`].includes(e.toUpperCase())}function La(e){return!Pa(e)&&!Fa(e)&&!Ia(e)}function Ra({params:e,onParamsChanged:t,setIsReadyToExecute:n}){let{columns:r,isLoading:i,error:a}=ju(e.model),o=r.filter(e=>!Pa(e.type)&&!Fa(e.type)&&!Ia(e.type));return i?W(K,{children:`Loading...`}):r.length===0||a?W(K,{children:`Error: Please provide the 'catalog.json' to list column candidates`}):W(K,{sx:{m:`16px`},children:G(mn,{fullWidth:!0,disabled:o.length===0,children:[W(hn,{sx:{mb:1},children:`Pick a column to show Histogram Diff`}),G(gn,{value:e.column_name,onChange:r=>{let i=r.target.value;n(!!i);let a=o.find(e=>e.name===i)?.type??``;t({...e,column_name:i,column_type:a})},children:[W(`option`,{value:``,children:o.length===0?`No numeric column is available`:`Select column`}),o.map(e=>G(`option`,{value:e.name,className:`no-track-pii-safe`,children:[e.name,` : `,e.type]},e.name))]})]})})}const za=[{status:`added`,label:`Added`,description:`Newly added resource`},{status:`removed`,label:`Removed`,description:`Removed resource`},{status:`modified`,label:`Modified`,description:`Modified resource`},{status:`impacted`,label:`Impacted`,description:`Downstream of a modified resource`}],Ba=[{type:`passthrough`,label:`Passthrough`,description:`Column passes through unchanged`},{type:`renamed`,label:`Renamed`,description:`Column was renamed from source`},{type:`derived`,label:`Derived`,description:`Column is derived from other columns`},{type:`source`,label:`Source`,description:`Original source column`},{type:`unknown`,label:`Unknown`,description:`Transformation type could not be determined`}],Va={added:{color:Ii.added,symbol:`+`},removed:{color:Ii.removed,symbol:`-`},modified:{color:Ii.modified,symbol:`~`}},Ha={added:{color:$.added,symbol:`+`},removed:{color:$.removed,symbol:`-`},modified:{color:$.modified,symbol:`~`},impacted:{color:$.impacted,symbol:`!`}},Ua={passthrough:{letter:`P`,color:`default`},renamed:{letter:`R`,color:`warning`},derived:{letter:`D`,color:`warning`},source:{letter:`S`,color:`info`},unknown:{letter:`U`,color:`error`}};function Wa({status:e,newCllExperience:t}){let n=(t?Ha:Va)[e];return W(K,{sx:{width:16,height:16,borderRadius:`50%`,backgroundColor:n.color,color:`white`,fontSize:10,fontWeight:`bold`,display:`flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0},children:n.symbol})}function Ga({type:e}){let t=Ua[e];return W(kt,{label:t.letter,size:`small`,color:t.color,sx:{fontSize:`8pt`,height:18,minWidth:18,"& .MuiChip-label":{px:.5}}})}function Ka({variant:e,showTooltips:t=!0,title:n,className:r,newCllExperience:i=!1}){let a=i?za:za.filter(e=>e.status!==`impacted`),o=e===`changeStatus`?a:Ba;return G(K,{className:r,sx:{bgcolor:`background.paper`,padding:`12px`,border:`1px solid`,borderColor:`divider`,borderRadius:1,fontSize:`0.875rem`},children:[n&&W(Y,{variant:`caption`,sx:{display:`block`,fontWeight:600,mb:1,color:`text.secondary`},children:n}),e===`changeStatus`&&o.map(e=>{let n=G(K,{sx:{display:`flex`,alignItems:`center`,gap:`8px`,mb:`4px`,"&:last-child":{mb:0}},children:[W(Wa,{status:e.status,newCllExperience:i}),W(Y,{variant:`body2`,children:e.label})]},e.status);return t&&e.description?W(Z,{title:e.description,placement:`right`,children:n},e.status):n}),e===`transformation`&&o.map(e=>{let n=G(K,{sx:{display:`flex`,alignItems:`center`,gap:`8px`,mb:`4px`,"&:last-child":{mb:0}},children:[W(Ga,{type:e.type}),W(Y,{variant:`body2`,children:e.label})]},e.type);return t&&e.description?W(Z,{title:e.description,placement:`right`,children:n},e.type):n})]})}const qa={badge:{fontSize:`0.65rem`,fontWeight:700,lineHeight:1,height:16,minWidth:16,px:.5,borderRadius:`3px`},titleChip:{fontSize:`1rem`,fontWeight:600,lineHeight:1.4,height:`auto`,minWidth:0,px:1,py:.25,borderRadius:`6px`}};function Ja({tokens:e,variant:t=`badge`,testId:n,ariaLabel:r,children:i,sx:a,...o}){return W(_n,{"data-testid":n,"aria-label":r,sx:[{display:`inline-flex`,alignItems:`center`,justifyContent:`center`,backgroundColor:e.badgeBg,border:`1px solid ${e.badgeBorder}`,color:e.fg},qa[t],...Array.isArray(a)?a:a?[a]:[]],...o,children:i})}function Ya(e,t){return{isWholeModelChanged:t.wholeModelChangedNodeIds.has(e),isWholeModelImpacted:t.wholeModelImpactedNodeIds.has(e)}}const Xa={changed:{tooltip:`Whole-model change`,ariaLabel:`whole-model change`},impacted:{tooltip:`Whole-model impact`,ariaLabel:`whole-model impact`}},Za={additive:{text:`ADD`,tooltip:`Additive change`,ariaLabel:`additive change`,testId:`whole-model-additive-badge`},"column-changed":{text:`COLUMN`,tooltip:`Column-only change`,ariaLabel:`column-only change`,testId:`column-changed-badge`},"column-impacted":{text:`COLUMN`,tooltip:`Column-only impact`,ariaLabel:`column-only impact`,testId:`column-impacted-badge`}};function Qa(e){return e.wholeModelImpact?e.isWholeModelChanged?`changed`:e.isWholeModelImpacted?`impacted`:null:null}function $a(e){return!e.wholeModelImpact||e.isWholeModelChanged||e.isWholeModelImpacted?null:e.changeCategory===`non_breaking`?`additive`:e.changeCategory===`partial_breaking`?`column-changed`:e.isImpacted?`column-impacted`:null}function eo(e,t){let n=Qa(e);return n?{kind:n,...Xa[n],tokens:no(n,t)}:null}function to(e,t){let n=$a(e);return n?{kind:n,...Za[n],tokens:no(n,t)}:null}function no(e,t){let n=t?`dark`:`light`;return e===`changed`||e===`column-changed`?{stripeAccent:`var(--schema-color-changed-accent)`,fg:qi[n],badgeBg:Ki[n],badgeBorder:Gi}:e===`additive`?{stripeAccent:`var(--schema-color-added-accent)`,fg:Xi[n],badgeBg:Yi[n],badgeBorder:Ji[n]}:{stripeAccent:`var(--schema-color-impacted-accent)`,fg:Wi[n],badgeBg:Ui[n],badgeBorder:Hi[n]}}function ro(e){let t=Qa(e);if(t)return Xa[t].tooltip;let n=$a(e);if(n)return Za[n].tooltip}function io(e,t){let n=Fi(e.name,e.resourceType,e.materialized),r=ro(t);return r?`${n} - ${r}`:n}const ao={breaking:`Model-Wide Change`,non_breaking:`Additive Change`,partial_breaking:`Column Change`,unknown:`Unknown`},oo=()=>W(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 16 16`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,children:W(`path`,{d:`M8 3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm0 6.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm0 6.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z`})});function so({name:e,color:t}){return W(K,{sx:{flex:1,color:t,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:W(`span`,{children:e})})}function co({id:e,data:t,selected:n,interactive:r=!1,selectMode:i=`normal`,isNodeSelected:a=!1,isFocused:o=!1,isHighlighted:s=!0,showContent:c=!0,actionTag:l,showChangeAnalysis:u=!1,changeCategory:d,runsAggregatedTag:f,hasParents:p=!0,hasChildren:m=!0,columnCount:h=0,columnHeight:g=28,isDark:_=!1,newCllExperience:v,isImpacted:y,isWholeModelChanged:b=!1,isWholeModelImpacted:x=!1,wholeModelImpact:S=!1,onNodeClick:C,onNodeDoubleClick:w,onSelect:T,onContextMenu:E}){let[D,O]=H(!1),k=V(null),A=R(()=>{k.current&&=(clearTimeout(k.current),null)},[]),ee=R(()=>{A(),O(!0)},[A]),te=R(()=>{A(),k.current=setTimeout(()=>O(!1),500)},[A]);z(()=>()=>A(),[A]);let{label:ne,changeStatus:re=`unchanged`,isSelected:ie,resourceType:ae,materialized:oe}=t,se=v??t.newCllExperience??!1,ce=y??t.isImpacted??!1,j=a||ie||n||!1,le=h>0,M=i===`action_result`&&l,{icon:ue,color:de,backgroundColor:fe}=Mi({changeStatus:re,isImpacted:ce,newCllExperience:se},_),{icon:pe}=ae===`model`&&oe?Pi(oe):Ni(ae),N=de,me=(()=>{let e=_?`#1e1e1e`:`#ffffff`;return c?i===`selecting`?j?de:e:i===`action_result`?M?o||j||D?fe:de:e:o||j||D?fe:e:o||j||D?de:fe})(),he=(()=>{let e=_?`#ffffff`:`#000000`,t=_?`#000000`:`#ffffff`;return i===`selecting`?j?t:e:i===`action_result`&&M&&!j?t:e})(),ge=(()=>{let e=_?`#ffffff`:`#000000`,t=_?`#000000`:`#ffffff`;return i===`selecting`?j?t:e:i===`action_result`&&M&&!j?t:e})(),P=(()=>{let e=_?`#ffffff`:`#000000`,t=_?`#000000`:`#ffffff`;return i===`selecting`?j?t:de:i===`action_result`?M&&!j?t:e:de})(),_e=se?`none`:i===`action_result`?M?`none`:di:s||o||j||D?`none`:di,ve=t=>{i!==`action_result`&&(t.stopPropagation(),T?.(e))},ye=t=>{t.preventDefault(),t.stopPropagation(),E?.(t,e)},be={wholeModelImpact:S,isWholeModelChanged:b,isWholeModelImpacted:x,isImpacted:ce,changeCategory:d},xe=to(be,_),Se=io({name:ne,resourceType:ae,materialized:oe},be),Ce=u&&d&&(!S||d===`unknown`)?ao[d]:null;return G(K,{onClick:()=>C?.(e),onDoubleClick:()=>w?.(e),onMouseEnter:ee,onMouseLeave:te,sx:{display:`flex`,flexDirection:`column`,width:300,cursor:i===`selecting`?`pointer`:`inherit`,transition:`box-shadow 0.2s ease-in-out`,padding:0,filter:_e},children:[W(Nt,{isVisible:D,position:Pt.Right,offset:6,align:`center`,children:W(K,{onMouseEnter:ee,onMouseLeave:te,sx:{display:`flex`,alignItems:`center`,gap:.75,"&::before":{content:`""`,position:`absolute`,top:0,bottom:0,right:`100%`,width:`12px`},position:`relative`,px:.75,py:.5,borderRadius:1,backgroundColor:`background.paper`,border:`1px solid`,borderColor:`divider`,boxShadow:`0 2px 6px rgb(0 0 0 / 0.15), 0 1px 2px rgb(0 0 0 / 0.1)`},children:E&&W(K,{"data-testid":`lineage-node-kebab`,onClick:ye,sx:{cursor:`pointer`,color:`text.secondary`,"&:hover":{color:`text.primary`}},children:W(oo,{})})})}),G(K,{sx:{display:`flex`,borderColor:N,borderWidth:`2px`,borderStyle:`solid`,borderTopLeftRadius:8,borderTopRightRadius:8,borderBottomLeftRadius:le?0:8,borderBottomRightRadius:le?0:8,backgroundColor:me,height:60},children:[W(K,{sx:{display:`flex`,bgcolor:de,padding:r?`8px`:`2px`,borderRightWidth:`2px`,borderRightStyle:`solid`,borderColor:i===`selecting`?`#00000020`:N,alignItems:`top`,visibility:c?`inherit`:`hidden`},children:r&&W(Lt,{checked:i===`selecting`&&j||i===`action_result`&&!!M,onClick:ve,disabled:i===`action_result`,size:`small`,sx:{padding:0,color:`inherit`,"&.Mui-checked":{color:`inherit`}}})}),G(K,{sx:{display:`flex`,flex:`1 0 auto`,mx:.5,width:100,flexDirection:`column`},children:[W(Z,{title:Se,placement:`top`,children:G(K,{sx:{display:`flex`,width:`100%`,textAlign:`left`,fontWeight:600,flex:1,p:.5,gap:`5px`,alignItems:`center`,visibility:c?`inherit`:`hidden`},children:[W(so,{name:ne,color:he}),xe&&W(Ja,{tokens:xe.tokens,testId:xe.testId,ariaLabel:xe.ariaLabel,children:xe.text}),pe&&W(K,{sx:{fontSize:16,color:ge},children:W(pe,{"aria-hidden":`true`})}),re&&ue&&W(K,{sx:{color:P},children:W(ue,{"aria-hidden":`true`})})]})}),W(K,{sx:{display:`flex`,flex:`1 0 auto`,mx:.5,flexDirection:`column`,paddingBottom:.5,visibility:c?`inherit`:`hidden`},children:W(J,{direction:`row`,spacing:1,children:l?G(U,{children:[W(K,{sx:{flexGrow:1}}),l]}):Ce?W(Y,{sx:{height:20,color:`text.secondary`,fontSize:`9pt`,margin:0,fontWeight:600},children:Ce}):i!==`action_result`&&f?f:null})})]})]}),le&&W(K,{sx:{p:`10px 10px`,borderColor:N,borderWidth:`2px`,borderStyle:`solid`,borderTopWidth:0,borderBottomLeftRadius:8,borderBottomRightRadius:8},children:W(K,{sx:{height:`${h*g}px`,overflow:`auto`}})}),p&&W(Mt,{type:`target`,position:Pt.Left,isConnectable:!1}),m&&W(Mt,{type:`source`,position:Pt.Right,isConnectable:!1})]})}const lo=L(co);lo.displayName=`LineageNode`;const uo=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`}),fo={mr:.5,display:`flex`,alignItems:`center`},po={table:`table`,view:`view`,incremental:`incremental`,ephemeral:`ephemeral`,materialized_view:`mat. view`,dynamic_table:`dyn. table`,streaming_table:`stream. table`};function mo(e){return po[e]??e}function ho({resourceType:e,materialized:t,"data-testid":n}){let r=F(),i=e===`model`&&t!=null,{icon:a}=i?Pi(t):Ni(e),o=i?mo(t):e;return W(Z,{arrow:!0,title:i?`Materialization strategy`:`Type of resource`,children:G(K,{component:`span`,sx:uo(r),"data-testid":n,children:[a&&W(K,{component:`span`,sx:fo,children:W(a,{"aria-hidden":`true`})}),o]})})}const go=L(ho);go.displayName=`NodeTag`;const _o=()=>G(K,{component:`span`,sx:{display:`flex`,flexDirection:`column`,gap:`2px`,"& > span":{width:4,height:4,borderRadius:`50%`,backgroundColor:`currentColor`}},children:[W(`span`,{}),W(`span`,{}),W(`span`,{})]});function vo({checkId:e,primaryActions:t=[],secondaryActions:n=[],onAction:r,variant:i=`combined`,size:a=`small`,menuIcon:o,className:s}){let[c,l]=H(null),u=!!c,d=e=>{e.stopPropagation(),l(e.currentTarget)},f=()=>{l(null)},p=t=>{f(),r?.(e,t)},m=e=>{let t=W(q,{variant:`outlined`,size:a,disabled:e.disabled,onClick:()=>p(e.type),startIcon:e.icon,color:e.destructive?`error`:`inherit`,children:e.label},e.type);return e.disabled&&e.disabledTooltip?W(Z,{title:e.disabledTooltip,children:W(`span`,{children:t})},e.type):t};if(i===`menu`){let e=[...t,...n];return G(K,{className:s,children:[W(X,{onClick:d,size:a,children:o||W(_o,{})}),W(cn,{anchorEl:c,open:u,onClose:f,children:e.map(e=>G(Q,{onClick:()=>p(e.type),disabled:e.disabled,sx:{color:e.destructive?`error.main`:`inherit`},children:[e.icon&&W(K,{component:`span`,sx:{mr:1,display:`flex`},children:e.icon}),e.label]},e.type))})]})}return i===`buttons`?W(K,{className:s,sx:{display:`flex`,gap:1},children:W(sn,{size:a,variant:`outlined`,children:t.map(m)})}):G(K,{className:s,sx:{display:`flex`,gap:1},children:[t.length>0&&W(sn,{size:a,variant:`outlined`,children:t.map(m)}),n.length>0&&G(U,{children:[W(X,{onClick:d,size:a,children:o||W(_o,{})}),W(cn,{anchorEl:c,open:u,onClose:f,children:n.map(e=>G(Q,{onClick:()=>p(e.type),disabled:e.disabled,sx:{color:e.destructive?`error.main`:`inherit`},children:[e.icon&&W(K,{component:`span`,sx:{mr:1,display:`flex`},children:e.icon}),e.label]},e.type))})]})]})}const yo=L(vo);yo.displayName=`CheckActions`;function bo({name:e,onNameChange:t,placeholder:n=`Unnamed check`,disabled:r=!1,className:i}){let[a,o]=H(!1),[s,c]=H(e),l=V(null);z(()=>{c(e)},[e]);let u=R(()=>{r||(c(e),o(!0))},[r,e]),d=R(()=>{let n=s.trim();n&&n!==e&&t?.(n),o(!1)},[s,e,t]),f=R(t=>{t.key===`Enter`?(t.preventDefault(),d()):t.key===`Escape`&&(t.preventDefault(),c(e),o(!1))},[d,e]),p=R(e=>{c(e.target.value)},[]);return z(()=>{let e=e=>{l.current&&!l.current.contains(e.target)&&d()};return a&&document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[a,d]),z(()=>{a&&l.current&&(l.current.focus(),l.current.select())},[a]),W(K,{className:i,sx:{flex:`2`,fontSize:`1rem`,fontWeight:500,overflow:`hidden`,color:`text.primary`,cursor:r?`default`:`pointer`},children:a?W(vn,{inputRef:l,value:s,onChange:p,onKeyDown:f,placeholder:n,size:`small`,sx:{width:`100%`},variant:`outlined`}):W(K,{sx:{flex:`0 1 auto`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,overflow:`hidden`,"&:hover":{textDecoration:r?`none`:`underline`}},onClick:u,children:e||W(K,{component:`span`,sx:{color:`text.secondary`,fontStyle:`italic`},children:n})})})}const xo=L(bo);xo.displayName=`CheckBreadcrumb`;function So(e){return{query:`Q`,query_base:`Q`,query_diff:`QD`,schema_diff:`SD`,lineage_diff:`LD`,profile:`P`,profile_diff:`PD`,row_count:`R`,row_count_diff:`RD`,value_diff:`VD`,histogram_diff:`H`,top_k_diff:`TK`,simple:`•`}[e]||`?`}function Co(e){return{query:`#3b82f6`,query_base:`#3b82f6`,query_diff:`#8b5cf6`,schema_diff:`#06b6d4`,lineage_diff:`#10b981`,profile:`#f59e0b`,profile_diff:`#f97316`,row_count:`#ec4899`,row_count_diff:`#ef4444`,value_diff:`#6366f1`,histogram_diff:`#14b8a6`,top_k_diff:`#a855f7`,simple:`#6b7280`}[e]||`#6b7280`}function wo(e){if(!e)return`Check may be outdated`;let t=new Date(e);if(Number.isNaN(t.getTime()))return`Check may be outdated`;if(t.getTime()>Date.now())return`Check may be outdated — last run: just now`;try{return`Check may be outdated — last run: ${bn(t,{addSuffix:!0})}`}catch{return`Check may be outdated`}}const To={recce_ai:{label:`AI`,color:`#7c3aed`,bg:`rgb(124 58 237 / 0.12)`},user:{label:`User`,color:`#059669`,bg:`rgb(5 150 105 / 0.12)`},preset_system:{label:`Preset`,color:`#2563eb`,bg:`rgb(37 99 235 / 0.12)`}};function Eo({check:e,isSelected:t=!1,onClick:n,onApprovalChange:r,disableApproval:i=!1,disabledApprovalTooltip:a,disabled:o=!1,className:s}){let c=()=>{!o&&n&&n(e.id)},l=W(Lt,{checked:e.isApproved??!1,onChange:(t,n)=>{r&&r(e.id,n)},onClick:e=>{e.stopPropagation()},disabled:i||o,size:`small`,sx:{padding:`4px`,"&.Mui-disabled":{opacity:.5}}});return G(K,{className:s,onClick:c,sx:{display:`flex`,alignItems:`center`,gap:1,padding:`8px 12px`,cursor:o?`default`:`pointer`,borderLeft:t?`3px solid`:`3px solid transparent`,borderLeftColor:t?`primary.main`:`transparent`,backgroundColor:t?`action.selected`:`transparent`,opacity:o?.6:1,transition:`background-color 0.15s ease`,"&:hover":{backgroundColor:o?`transparent`:t?`action.selected`:`action.hover`}},children:[W(kt,{label:So(e.type),size:`small`,sx:{minWidth:32,height:24,fontSize:`0.7rem`,fontWeight:600,backgroundColor:`${Co(e.type)}20`,color:Co(e.type),"& .MuiChip-label":{px:1}}}),W(Y,{variant:`body2`,sx:{flexGrow:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.name}),e.isOutdated&&W(Z,{title:wo(e.lastRunAt),children:W(kt,{label:`Outdated`,size:`small`,sx:{height:20,fontSize:`0.65rem`,fontWeight:500,backgroundColor:`rgb(245 158 11 / 0.12)`,color:`#b45309`,flexShrink:0,"& .MuiChip-label":{px:.75}}})}),e.actorType&&!e.isPreset&&To[e.actorType]&&W(kt,{label:To[e.actorType].label,size:`small`,sx:{height:20,fontSize:`0.65rem`,fontWeight:500,backgroundColor:To[e.actorType].bg,color:To[e.actorType].color,flexShrink:0,"& .MuiChip-label":{px:.75}}}),e.isPreset&&W(kt,{label:`Preset`,size:`small`,variant:`outlined`,sx:{height:20,fontSize:`0.65rem`}}),i&&a?W(Z,{title:a,children:W(`span`,{children:l})}):l]})}const Do=L(Eo);Do.displayName=`CheckCard`;function Oo({value:e,onChange:t,placeholder:n=`Add description here`,disabled:r=!1,className:i}){let[a,o]=H(!1),[s,c]=H(e??``);z(()=>{c(e??``)},[e]);let l=R(()=>{r||(o(!0),c(e??``))},[r,e]),u=R(()=>{let e=s.trim();t?.(e||void 0),o(!1)},[s,t]),d=R(()=>{c(e??``),o(!1)},[e]),f=R(e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),u()),e.key===`Escape`&&(e.preventDefault(),d())},[u,d]);return a?G(K,{className:i,sx:{height:`100%`},children:[W(vn,{multiline:!0,fullWidth:!0,minRows:3,value:s,onChange:e=>c(e.target.value),onKeyDown:f,placeholder:n,autoFocus:!0,sx:{"& .MuiInputBase-root":{fontSize:`0.875rem`}}}),G(J,{direction:`row`,spacing:1,sx:{mt:1},children:[W(q,{variant:`contained`,size:`small`,onClick:u,children:`Update`}),W(_t,{component:`button`,variant:`body2`,onClick:d,sx:{cursor:`pointer`},children:`Cancel`})]}),G(Y,{variant:`caption`,sx:{color:`text.secondary`,display:`block`,mt:.5},children:[navigator.platform.includes(`Mac`)?`⌘`:`Ctrl`,`+Enter to save, Escape to cancel`]})]}):W(K,{className:i,onClick:l,sx:{height:`100%`,overflow:`auto`,cursor:r?`default`:`pointer`,padding:1,borderRadius:1,"&:hover":{backgroundColor:r?`transparent`:`action.hover`}},children:e?W(Y,{variant:`body2`,sx:{whiteSpace:`pre-wrap`,wordBreak:`break-word`},children:e}):W(Y,{variant:`body2`,sx:{color:`text.secondary`,fontStyle:`italic`},children:n})})}const ko=L(Oo);ko.displayName=`CheckDescription`;function Ao({checkId:e,name:t,type:n,description:r,isApproved:i=!1,tabs:a=[],defaultTab:o,primaryActions:s=[],secondaryActions:c=[],onAction:l,onDescriptionChange:u,onNameChange:d,disabled:f=!1,headerContent:p,sidebarContent:m,className:h}){let[g,_]=H(o??a[0]?.id),[v,y]=H(!1),[b,x]=H(t),S=()=>{f||(y(!0),x(t))},C=()=>{b.trim()&&b!==t&&d?.(b.trim()),y(!1)},w=e=>{e.key===`Enter`?C():e.key===`Escape`&&(x(t),y(!1))},T=a.find(e=>e.id===g)?.content;return G(K,{className:h,sx:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[G(K,{sx:{p:2,borderBottom:1,borderColor:`divider`},children:[p,G(K,{sx:{display:`flex`,alignItems:`flex-start`,justifyContent:`space-between`,gap:2},children:[G(K,{sx:{flexGrow:1,minWidth:0},children:[v?W(`input`,{type:`text`,value:b,onChange:e=>x(e.target.value),onBlur:C,onKeyDown:w,autoFocus:!0,style:{fontSize:`1.25rem`,fontWeight:500,border:`none`,borderBottom:`2px solid`,borderColor:`currentColor`,outline:`none`,background:`transparent`,width:`100%`}}):W(Y,{variant:`h6`,onClick:S,sx:{cursor:f?`default`:`pointer`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,"&:hover":{textDecoration:f?`none`:`underline`}},children:t}),G(Y,{variant:`caption`,sx:{color:`text.secondary`},children:[n,` `,i&&`• Approved`]})]}),W(yo,{checkId:e,primaryActions:s,secondaryActions:c,onAction:l})]})]}),G(K,{sx:{display:`flex`,flexGrow:1,overflow:`hidden`},children:[G(K,{sx:{flexGrow:1,display:`flex`,flexDirection:`column`,overflow:`hidden`},children:[G(K,{sx:{p:2,borderBottom:1,borderColor:`divider`},children:[W(Y,{variant:`subtitle2`,sx:{mb:1},children:`Description`}),W(ko,{value:r,onChange:u,disabled:f})]}),a.length>0&&G(U,{children:[W(K,{sx:{borderBottom:1,borderColor:`divider`},children:W(Cn,{value:g,onChange:(e,t)=>_(t),children:a.map(e=>W(Sn,{value:e.id,label:e.label},e.id))})}),W(K,{sx:{flexGrow:1,overflow:`auto`,p:2},children:T})]})]}),m&&G(U,{children:[W(xn,{orientation:`vertical`,flexItem:!0}),W(K,{sx:{width:350,flexShrink:0,overflow:`auto`},children:m})]})]})]})}const jo=L(Ao);jo.displayName=`CheckDetail`;function Mo({title:e=`No checks yet`,description:t=`Create your first check to start validating data changes`,icon:n,actionText:r,onAction:i,isLoading:a=!1,helperText:o,className:s}){return W(K,{className:s,sx:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,textAlign:`center`,padding:4,minHeight:300},children:G(J,{spacing:2,sx:{alignItems:`center`},children:[n&&W(K,{sx:{color:`text.secondary`,fontSize:48,mb:1},children:n}),W(Y,{variant:`h6`,sx:{fontWeight:500,color:`text.primary`},children:e}),W(Y,{variant:`body2`,sx:{color:`text.secondary`,maxWidth:400},children:t}),r&&i&&W(q,{variant:`contained`,onClick:i,disabled:a,sx:{mt:2},children:a?`Creating...`:r}),o&&W(Y,{variant:`caption`,sx:{color:`text.secondary`,mt:1},children:o})]})})}const No=L(Mo);No.displayName=`CheckEmptyState`;function Po({checks:e,selectedId:t,onCheckSelect:n,onApprovalChange:r,disableApproval:i=!1,disabledApprovalTooltip:a,title:o,className:s,isLoading:c=!1,emptyContent:l}){return c?W(K,{className:s,sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:200},children:W(Y,{sx:{color:`text.secondary`},children:`Loading checks...`})}):e.length===0?G(K,{className:s,children:[o&&W(Y,{variant:`subtitle2`,sx:{px:2,py:1,color:`text.secondary`},children:o}),l||W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:200},children:W(Y,{sx:{color:`text.secondary`},children:`No checks`})})]}):G(K,{className:s,sx:{height:`100%`,overflow:`auto`},children:[o&&W(Y,{variant:`subtitle2`,sx:{px:2,py:1,color:`text.secondary`},children:o}),W(wn,{disablePadding:!0,children:e.map(e=>W(Tn,{disablePadding:!0,children:W(Do,{check:e,isSelected:t===e.id,onClick:n,onApprovalChange:r,disableApproval:i,disabledApprovalTooltip:a})},e.id))})]})}const Fo=L(Po);Fo.displayName=`CheckList`;function Io(e){switch(e){case`sql`:return On({dialect:Dn});case`yaml`:return kn();default:return null}}function Lo({value:e,onChange:t,language:n=`sql`,readOnly:r=!1,lineNumbers:i=!0,wordWrap:a=!0,fontSize:o=14,height:s=`100%`,className:c=``,theme:l=`light`,keyBindings:u=[]}){let d=B(()=>{let e=[Mn.theme({"&":{fontSize:`${o}px`},".cm-content":{fontFamily:`'JetBrains Mono', 'Fira Code', monospace`},".cm-gutters":{fontFamily:`'JetBrains Mono', 'Fira Code', monospace`}})],t=Io(n);return t&&e.push(t),a&&e.push(Mn.lineWrapping),u.length>0&&e.push(jn.highest(Nn.of(u))),e},[n,o,a,u]),f=B(()=>l===`dark`?Fn:In,[l]);return W(Ln,{value:e,onChange:e=>{t&&t(e)},extensions:d,readOnly:r,basicSetup:{lineNumbers:i,foldGutter:!0,highlightActiveLineGutter:!r,highlightActiveLine:!r,tabSize:2},height:s,className:`${c} no-track-pii-safe`,theme:f})}function Ro({name:e,description:t,type:n,params:r,viewOptions:i}){let a={name:e,description:t,type:n,params:r};return i&&(a.view_options=i),En.stringify({checks:[a]})}function zo({yamlTemplate:e,height:t=`300px`}){return W(Lo,{value:e,language:`yaml`,readOnly:!0,lineNumbers:!1,wordWrap:!0,fontSize:14,theme:F()?`dark`:`light`,height:t})}const Bo=L(zo);Bo.displayName=`PresetCheckTemplateView`;function Vo({onSubmit:e,isSubmitting:t=!1,placeholder:n=`Add a comment...`,submitLabel:r=`Comment`,submittingLabel:i=`Submitting...`,className:a}){let o=F(),[s,c]=H(``),l=R(()=>{let t=s.trim();t&&(e(t),c(``))},[s,e]),u=R(e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),l())},[l]);return G(K,{className:a,children:[W(vn,{value:s,onChange:R(e=>{c(e.target.value)},[]),onKeyDown:u,placeholder:n,size:`small`,multiline:!0,fullWidth:!0,minRows:3,disabled:t,sx:{"& .MuiOutlinedInput-root":{bgcolor:`background.paper`,"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:o?`grey.500`:`grey.400`},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:`iochmara.400`,boxShadow:`0 0 0 1px #4299E1`}},"& .MuiOutlinedInput-notchedOutline":{borderColor:o?`grey.600`:void 0}}}),W(J,{direction:`row`,sx:{justifyContent:`flex-end`,mt:2},children:W(q,{size:`small`,color:`iochmara`,variant:`contained`,onClick:l,disabled:!s.trim()||t,children:t?i:r})})]})}const Ho=L(Vo);Ho.displayName=`CommentInput`;function Uo(e){switch(e.event_type){case`check_created`:return`create`;case`comment`:return`comment`;case`approval_change`:return e.new_value===`true`?`approve`:`unapprove`;case`description_change`:case`name_change`:return`edit`;case`preset_applied`:return`preset`;default:return`edit`}}function Wo({event:e}){let t=Uo(e),n={create:$t,comment:Vt,approve:Ut,unapprove:Wt,edit:Zt,preset:zt},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 Go({actor:e}){let t=(e.fullname||e.login||`User`).charAt(0).toUpperCase();return W(Rn,{src:e.avatarUrl||void 0,sx:{width:24,height:24,fontSize:`0.75rem`},children:t})}function Ko({event:e}){let{actor:t}=e,n=t.fullname||t.login||`Someone`,r=bn(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(Wo,{event:e})}),W(K,{sx:{flex:1},children:G(J,{direction:`row`,spacing:.5,sx:{flexWrap:`wrap`,alignItems:`center`},children:[W(Go,{actor:t}),W(Y,{variant:`body2`,sx:{fontWeight:`500`},children:n}),W(Y,{variant:`body2`,sx:{color:`text.secondary`},children:i}),W(Y,{variant:`caption`,sx:{color:`text.disabled`},children:r})]})})]})}const qo=L(Ko);qo.displayName=`StateChangeEvent`;function Jo({event:e,currentUserId:t,onEdit:n,onDelete:r,markdownRenderer:i}){let a=F(),[o,s]=H(!1),[c,l]=H(e.content||``),[u,d]=H(!1),[f,p]=H(!1),[m,h]=H(null),g=!!m,{actor:_}=e,v=_.fullname||_.login||`Someone`,y=bn(new Date(e.created_at),{addSuffix:!0}),b=t&&String(_.user_id)===String(t),x=R(()=>{l(e.content||``),s(!0)},[e.content]),S=R(()=>{l(e.content||``),s(!1)},[e.content]),C=R(async()=>{let t=c.trim();if(!t||t===e.content){S();return}if(n){d(!0);try{await n(e.id,t),s(!1)}finally{d(!1)}}},[c,e.content,e.id,n,S]),w=R(e=>{e.key===`Escape`?S():e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),C())},[S,C]),T=R(e=>{h(e.currentTarget)},[]),E=R(()=>{h(null)},[]),D=R(async()=>{if(r){p(!0);try{await r(e.id),E()}finally{p(!1)}}},[r,e.id,E]),O=R(e=>{l(e.target.value)},[]);return e.is_deleted?G(K,{sx:{display:`flex`,gap:1,alignItems:`center`,py:1},children:[W(K,{sx:{pt:`2px`,display:`flex`,alignItems:`center`},children:W(Wo,{event:e})}),W(K,{sx:{display:`flex`,flex:1,alignItems:`center`},children:W(Y,{variant:`body2`,sx:{color:`text.disabled`,fontStyle:`italic`},children:`Comment deleted`})})]}):G(K,{sx:{display:`flex`,gap:1,alignItems:`flex-start`,py:1},children:[W(K,{sx:{pt:`2px`},children:W(Wo,{event:e})}),G(K,{sx:{flex:1},children:[G(J,{direction:`row`,spacing:.5,sx:{flexWrap:`wrap`,alignItems:`center`,mb:.5},children:[W(Go,{actor:_}),G(Y,{variant:`body2`,sx:{fontWeight:`500`},children:[v,b&&G(Y,{component:`span`,variant:`body2`,sx:{color:`text.secondary`},children:[` `,`(Author)`]})]}),W(Y,{variant:`caption`,sx:{color:`text.disabled`},children:y}),e.is_edited&&W(Y,{variant:`caption`,sx:{color:`text.disabled`},children:`(edited)`})]}),o?G(K,{children:[W(vn,{value:c,onChange:O,onKeyDown:w,size:`small`,multiline:!0,minRows:3,fullWidth:!0,disabled:u,autoFocus:!0,sx:{"& .MuiOutlinedInput-root":{bgcolor:`background.paper`,"&:focus-within":{borderColor:`primary.main`}}}}),G(J,{direction:`row`,spacing:1,sx:{justifyContent:`flex-end`,mt:1},children:[W(q,{size:`small`,variant:`text`,onClick:S,disabled:u,children:`Cancel`}),W(q,{size:`small`,variant:`contained`,onClick:C,disabled:!c.trim()||u,children:u?`Saving...`:`Save`})]})]}):G(K,{sx:{bgcolor:a?`grey.800`:`grey.50`,borderRadius:1,p:1,border:`1px solid`,borderColor:a?`grey.700`:`grey.200`,position:`relative`,"&:hover .comment-actions":{opacity:1}},children:[i?W(i,{content:e.content||``}):W(Y,{variant:`body2`,sx:{whiteSpace:`pre-wrap`},children:e.content}),b&&(n||r)&&G(J,{className:`comment-actions`,direction:`row`,spacing:0,sx:{position:`absolute`,top:4,right:4,opacity:0,transition:`opacity 0.2s`},children:[n&&W(Z,{title:`Edit comment`,children:W(X,{"aria-label":`Edit comment`,size:`small`,onClick:x,children:W(Qt,{})})}),r&&G(U,{children:[W(Z,{title:`Delete comment`,children:W(X,{"aria-label":`Delete comment`,size:`small`,color:`error`,onClick:T,children:W(rn,{})})}),W(zn,{open:g,anchorEl:m,onClose:E,anchorOrigin:{vertical:`bottom`,horizontal:`center`},transformOrigin:{vertical:`top`,horizontal:`center`},children:G(K,{sx:{p:2},children:[W(Y,{variant:`body2`,sx:{mb:2},children:`Delete this comment?`}),G(J,{direction:`row`,spacing:1,sx:{justifyContent:`flex-end`},children:[W(q,{size:`small`,variant:`text`,onClick:E,disabled:f,children:`Cancel`}),W(q,{size:`small`,variant:`contained`,color:`error`,onClick:D,disabled:f,children:f?`Deleting...`:`Delete`})]})]})})]})]})]})]})]})}const Yo=L(Jo);Yo.displayName=`CommentEvent`;function Xo({event:e,currentUserId:t,onEdit:n,onDelete:r,markdownRenderer:i,className:a}){return e.event_type===`comment`?W(K,{className:a,children:W(Yo,{event:e,currentUserId:t,onEdit:n,onDelete:r,markdownRenderer:i})}):W(K,{className:a,children:W(qo,{event:e})})}const Zo=L(Xo);Zo.displayName=`TimelineEvent`;function Qo({name:e,isChecked:t}){return`${t?`✅ `:``}${e}`}function $o({description:e,fallback:t=`_(no description)_`}){return(e??``)||t}function es({type:e,hasResult:t,hasError:n}){return e===`schema_diff`||e===`lineage_diff`?!1:!t||n}function ts({sql:e,label:t=`SQL`}){return`**${t}**
3
- \`\`\`sql
4
- ${e}
5
- \`\`\``}const ns=`recce:canceledRuns`,rs=`recce:canceledRuns:changed`;function is(){if(typeof window>`u`)return[];try{let e=window.localStorage.getItem(ns);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function as(e){if(!(typeof window>`u`))try{window.localStorage.setItem(ns,JSON.stringify(e))}catch{}}function os(){let[e,t]=H(()=>is());return z(()=>{if(typeof window>`u`)return;let e=e=>{if(e.key===ns){if(e.newValue==null){t(is());return}try{let n=JSON.parse(e.newValue);if(!Array.isArray(n)){t([]);return}t(n.filter(e=>typeof e==`string`))}catch{t(is())}}},n=()=>t(is());return window.addEventListener(`storage`,e),window.addEventListener(rs,n),()=>{window.removeEventListener(`storage`,e),window.removeEventListener(rs,n)}},[]),{has:R(t=>e.includes(t),[e]),add:R(e=>{let n=is();if(n.includes(e)){t(n);return}let r=[...n,e],i=r.length>200?r.slice(r.length-200):r;if(as(i),t(i),typeof window<`u`)try{window.dispatchEvent(new Event(rs))}catch{}},[])}}function ss(e){return e.status?e.status:e.result?`Finished`:e.error?`Failed`:`Finished`}function cs(e){switch(e){case`Running`:return{color:`blue`,label:`Running`};case`Finished`:return{color:`green`,label:`Finished`};case`Failed`:return{color:`red`,label:`Failed`};case`Cancelled`:return{color:`grey`,label:`Cancelled`};default:return{color:`green`,label:`Finished`}}}function ls({status:e,showSpinner:t=!0,size:n=`small`,className:r}){let{color:i,label:a}=cs(e);return G(K,{className:r,sx:{display:`inline-flex`,alignItems:`center`,gap:.5},children:[e===`Running`&&t&&W(fn,{size:n===`small`?12:16,color:`primary`}),W(Y,{component:`span`,sx:{fontWeight:500,fontSize:n===`small`?`0.75rem`:`0.875rem`,color:`${i}.500`},children:a})]})}const us=L(ls);us.displayName=`RunStatusBadge`;function ds(e){if(e==null)return null;let t=new Date,n=new Date;return n.setDate(t.getDate()-1),t.toDateString()===e.toDateString()?`Today`:n.toDateString()===e.toDateString()?`Yesterday`:e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}function fs(e){if(e==null)return null;let t=new Date,n=new Date;n.setDate(t.getDate()-1);let r=e.toLocaleTimeString(`en-US`,{hour:`2-digit`,minute:`2-digit`,hour12:!1});return t.toDateString()===e.toDateString()?`Today, ${r}`:n.toDateString()===e.toDateString()?`Yesterday, ${r}`:`${e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}, ${r}`}function ps({status:e,runAt:t,className:n}){let r=t?fs(typeof t==`string`?new Date(t):t):null;return G(K,{className:n,sx:{display:`flex`,alignItems:`center`,gap:.5,fontSize:`0.75rem`,color:`text.secondary`},children:[W(us,{status:e,size:`small`}),r&&G(U,{children:[W(Y,{component:`span`,sx:{fontSize:`inherit`},children:`•`}),W(Y,{component:`span`,sx:{fontSize:`inherit`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:r})]})]})}const ms=L(ps);ms.displayName=`RunStatusWithDate`;function hs({run:e,className:t}){return W(ms,{status:ss(e),runAt:e.run_at,className:t})}const gs=L(hs);gs.displayName=`RunStatusAndDate`;function _s({run:e,isSelected:t=!1,icon:n,onClick:r,onAddToChecklist:i,onGoToCheck:a,addToChecklistIcon:o,goToCheckIcon:s,hideAddToChecklist:c=!1,disableAddToChecklist:l=!1,className:u}){let d=F(),f=os().has(e.id)?`Cancelled`:e.status,p=e.checkId!=null,m=!c&&!p&&(i||l);return G(K,{className:u,onClick:()=>r?.(e.id),sx:e=>({display:`flex`,flexDirection:`column`,width:`100%`,p:`8px 16px`,cursor:`pointer`,borderBottom:1,borderColor:`divider`,borderLeft:`4px solid`,borderLeftColor:t?`warning.main`:`transparent`,bgcolor:t?d?`warning.dark`:`warning.light`:`transparent`,"&:hover":{bgcolor:t?d?`warning.dark`:`warning.light`:e.palette.action.hover}}),children:[G(K,{sx:{display:`flex`,alignItems:`center`,gap:1.5},children:[n&&W(K,{sx:{fontSize:16,color:`text.secondary`,flexShrink:0},children:n}),W(Y,{sx:{flex:1,fontSize:`0.875rem`,fontWeight:500,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,color:e.name?`text.primary`:`text.secondary`},children:e.name?.trim()||`<no name>`}),p&&a&&W(Z,{title:`Go to Check`,children:W(X,{size:`small`,onClick:t=>{t.stopPropagation(),e.checkId&&a(e.checkId)},sx:{p:.5},children:s||W(K,{component:`span`,sx:{fontSize:14,color:`success.main`},children:`✓`})})}),m&&W(Z,{title:l?`You don't have permission to add checks`:`Add to Checklist`,children:W(`span`,{children:W(X,{size:`small`,disabled:l,onClick:t=>{t.stopPropagation(),i?.(e.id)},sx:{p:.5},children:o||W(K,{component:`span`,sx:{fontSize:14},children:`○`})})})})]}),W(ms,{status:f,runAt:e.runAt})]})}const vs=L(_s);vs.displayName=`RunListItem`;const ys=L(function({date:e}){return W(K,{sx:{width:`100%`,p:`8px 16px`,borderBottom:1,borderColor:`divider`,color:`text.secondary`,fontSize:`0.75rem`,fontWeight:500,bgcolor:`action.hover`},children:e})});function bs({runs:e,selectedId:t,isLoading:n=!1,onRunSelect:r,onAddToChecklist:i,onGoToCheck:a,getRunIcon:o,hideAddToChecklist:s=!1,disableAddToChecklist:c=!1,title:l=`Runs`,headerActions:u,emptyMessage:d=`No runs`,loadingMessage:f=`Loading...`,groupByDate:p=!1,addToChecklistIcon:m,goToCheckIcon:h,className:g}){return G(K,{className:g,sx:{display:`flex`,flexDirection:`column`,height:`100%`,width:`100%`},children:[G(J,{direction:`row`,sx:{alignItems:`center`,flex:`0 0 auto`,px:2,py:1.5,borderBottom:1,borderColor:`divider`},children:[W(Y,{variant:`h6`,children:l}),W(K,{sx:{flex:1}}),u]}),W(K,{sx:{flex:1,overflow:`auto`},children:n?W(K,{sx:{display:`flex`,justifyContent:`center`,alignItems:`center`,height:`100%`,color:`text.secondary`},children:f}):(()=>{if(e.length===0)return W(K,{sx:{display:`flex`,justifyContent:`center`,alignItems:`center`,height:`100%`,color:`text.secondary`,p:4},children:d});let n=null;return e.map(e=>{let l=e.runAt?ds(new Date(e.runAt)):null,u=p&&l&&n!==l;return n=l,G(K,{children:[u&&W(ys,{date:l}),W(vs,{run:e,isSelected:e.id===t,icon:o?.(e.type),onClick:r,onAddToChecklist:i,onGoToCheck:a,hideAddToChecklist:s,disableAddToChecklist:c,addToChecklistIcon:m,goToCheckIcon:h})]},e.id)})})()})]})}const xs=L(bs);xs.displayName=`RunList`;function Ss({status:e,progress:t,message:n,errorMessage:r,variant:i=`spinner`,showStatus:a=!0,icon:o,className:s}){let c=e===`Running`,l=e===`Failed`,u=t!==void 0&&t>=0;return G(K,{className:s,sx:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:2,p:3,textAlign:`center`},children:[o?W(K,{sx:{fontSize:40,color:`text.secondary`},children:o}):c&&G(U,{children:[i===`spinner`&&W(fn,{size:40,color:`primary`}),i===`circular`&&W(fn,{size:60,variant:u?`determinate`:`indeterminate`,value:t,color:`primary`})]}),c&&i===`linear`&&G(K,{sx:{width:`100%`,maxWidth:300},children:[W(Bn,{variant:u?`determinate`:`indeterminate`,value:t,sx:{height:8,borderRadius:4}}),u&&G(Y,{variant:`caption`,sx:{color:`text.secondary`,mt:.5,display:`block`},children:[Math.round(t),`%`]})]}),a&&W(us,{status:e,size:`medium`}),n&&!l&&W(Y,{variant:`body2`,sx:{color:`text.secondary`},children:n}),l&&r&&W(K,{sx:{p:2,bgcolor:`error.light`,borderRadius:1,maxWidth:400},children:W(Y,{variant:`body2`,sx:{color:`error.contrastText`},children:r})})]})}const Cs=L(Ss);Cs.displayName=`RunProgress`;function ws({visible:e=!0,opacity:t=.8,...n}){return e?W(K,{sx:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,bgcolor:`rgba(255, 255, 255, ${t})`,zIndex:10,".dark &":{bgcolor:`rgba(0, 0, 0, ${t})`}},children:W(Cs,{...n})}):null}const Ts=L(ws);Ts.displayName=`RunProgressOverlay`;function Es({warnings:e,children:t,className:n}){let r=F(),i=e&&e.length>0;return G(K,{className:n,sx:{display:`flex`,borderBottom:`1px solid`,borderColor:`divider`,justifyContent:`flex-end`,gap:`5px`,alignItems:`center`,px:`10px`,bgcolor:i?r?P.amber[900]:P.amber[100]:`inherit`,color:i?r?P.amber[200]:P.amber[800]:`inherit`},children:[W(K,{sx:{display:`flex`,flexDirection:`column`,alignItems:`flex-start`,gap:0},children:e?.map((e,t)=>G(K,{children:[W(an,{color:r?P.amber[400]:P.amber[600],style:{verticalAlign:`middle`,marginRight:4}}),e]},e))}),W(K,{sx:{flex:1,minHeight:`32px`}}),t]})}const Ds=L(Es);Ds.displayName=`RunToolbar`,Un.register(Vn,Kn,Gn,Hn,qn,Wn,Jn);function Os(e,t){let n=e[t],r=e[t+1];return`${Me(n)} - ${Me(r)}`}function ks({title:e,dataType:t=`numeric`,samples:n=0,min:r=0,max:i=0,binEdges:a,baseData:o,currentData:s,animate:c=!1,hideAxis:l=!1,theme:u=`light`,height:d=300,className:f}){let p=u===`dark`,m=he(p),h=N(p),g=t===`datetime`,_=B(()=>{let e=a.slice(0,-1).map((e,t)=>Os(a,t)),t=(e,t,n)=>{let r=e.counts??[];return{label:t,data:g?r.map((e,t)=>[a[t],e]):r,backgroundColor:n,borderColor:n,hoverBackgroundColor:n,borderWidth:0,categoryPercentage:1,barPercentage:1,xAxisID:`x`}};return{labels:e,datasets:[t(s,s.label??`Current`,h.currentWithAlpha),t(o,o.label??`Base`,h.baseWithAlpha)]}},[a,o,s,h,g]),v=B(()=>{let u=Math.max(...s.counts,...o.counts),d=a.slice(0,-1).map((e,t)=>Os(a,t)),f=g?`Date Range`:t===`string`?`Text Length`:`Value Range`;return{responsive:!0,maintainAspectRatio:!1,animation:c?void 0:!1,plugins:{legend:{reverse:!0,labels:{color:m.textColor}},title:{display:!0,text:e,font:{size:20},color:m.textColor},tooltip:{mode:`index`,intersect:!1,backgroundColor:m.tooltipBackgroundColor,titleColor:m.tooltipTextColor,bodyColor:m.tooltipTextColor,borderColor:m.borderColor,borderWidth:1,callbacks:{title([{dataIndex:e}]){return`${f}\n${Os(a,e)}`},label({datasetIndex:e,dataIndex:t,dataset:r}){let i=(e===0?s.counts:o.counts)[t],a=n>0?Be(i/n):``;return`${r.label}: ${i}${a?` (${a})`:``}`}}}},scales:{x:g?{display:!l,type:`timeseries`,min:r,max:i,adapters:{date:{}},time:{minUnit:`day`},grid:{display:!1},ticks:{minRotation:30,maxRotation:30,maxTicksLimit:8,color:m.textColor}}:{display:!l,type:`category`,grid:{display:!1},ticks:{callback(e,t){return d[t]},color:m.textColor},stacked:!0},y:{display:!l,type:`linear`,max:u,border:{dash:[2,2],color:m.borderColor},grid:{color:m.gridColor},ticks:{maxTicksLimit:8,color:m.textColor,callback(e){return Me(e)}},beginAtZero:!0}}}},[e,t,g,n,r,i,a,o,s,l,c,m]);return W(`div`,{className:f,style:{height:d},children:W(Xn,{type:`bar`,options:v,data:_})})}const As=L(ks);As.displayName=`HistogramChart`;function js({reason:e,adapterType:t,className:n}){let r=e??`This warehouse doesn't expose native HLL / approx-percentile / approx-top-k aggregates, so paired column distributions aren't available here.`;return G(Zn,{severity:`info`,variant:`outlined`,className:n,sx:{fontSize:`0.75rem`,py:.5,px:1,"& .MuiAlert-message":{py:.5}},role:`status`,"aria-live":`polite`,"data-testid":`profile-distribution-unsupported-banner`,children:[W(Qn,{sx:{fontSize:`0.75rem`,fontWeight:600,mb:.25},children:t?`Paired distributions unavailable on ${t}`:`Paired distributions unavailable on this adapter`}),r]})}Et.registerModules([Tt]);function Ms({emptyMessage:e}){return W(K,{sx:{display:`flex`,height:`35px`,alignItems:`center`,justifyContent:`center`,bgcolor:`grey.100`,textAlign:`center`,gridColumn:`1/-1`},children:W(Y,{sx:{fontWeight:600},children:e??`No rows`})})}function Ns({style:e,className:t,columnDefs:n,rowData:r,columns:i,rows:a,getRowId:o,rowHeight:s=32,headerHeight:c=36,defaultColDef:l,defaultColumnOptions:u,renderers:d,rowClassName:f,containerClassName:p,...m},h){let g=V(null),_=V(null);ft(h,()=>({api:_.current,element:g.current}),[]);let v=F(),y=B(()=>v?me:pe,[v]),b=n??i,x=r??a,S=l??u,C=B(()=>({resizable:!0,suppressMovable:!0,...S}),[S]),w=B(()=>{if(d?.noRowsFallback)return()=>d.noRowsFallback},[d?.noRowsFallback]),T=B(()=>o||(e=>{let t=e.data;if(t?.__rowKey!==void 0)return String(t.__rowKey);let n=e.data?.rowIndex;return String(n??Math.random())}),[o]),E=B(()=>b?`grid-${b.filter(e=>`field`in e&&e.pinned===`left`).map(e=>e.field).sort().join(`,`)}`:`grid`,[b]);return W(K,{ref:g,className:[t,p].filter(Boolean).join(` `)||void 0,sx:{flex:1,minHeight:0,width:`100%`,overflow:`hidden`,"& .ag-root-wrapper":{border:`none`,height:`100%`},"& .ag-header":{borderBottom:`1px solid var(--ag-border-color)`},"& .ag-row":{borderBottom:`1px solid var(--ag-border-color)`},"& .ag-cell":{borderRight:`1px solid var(--ag-border-color)`},"& .ag-header-cell":{borderRight:`1px solid var(--ag-border-color)`},"& .diff-cell-added":{backgroundColor:v?`#1a4d1a !important`:`#cefece !important`,color:`var(--mui-palette-text-primary)`},"& .diff-cell-removed":{backgroundColor:v?`#5c1f1f !important`:`#ffc5c5 !important`,color:`var(--mui-palette-text-primary)`},"& .diff-cell-modified":{backgroundColor:v?`#713F12 !important`:`#FEF3C7 !important`,color:`var(--mui-palette-text-primary)`},"& .diff-header-added":{backgroundColor:`#15803d !important`,color:`white`},"& .diff-header-removed":{backgroundColor:`#f43f5e !important`,color:`white`},"& .diff-header-modified":{backgroundColor:`#f59e0b !important`,color:`white`},"& .index-column":{color:`var(--mui-palette-text-secondary)`,textAlign:`right`},"& .ag-pinned-left-cols-container .ag-cell":{backgroundColor:v?`#2d2d2d`:`#f5f5f5`}},children:W($n,{theme:y,columnDefs:b,rowData:x,getRowId:T,rowHeight:s,headerHeight:c,defaultColDef:C,suppressCellFocus:!0,suppressRowHoverHighlight:!1,animateRows:!1,enableCellTextSelection:!0,ensureDomOrder:!0,rowClass:f,noRowsOverlayComponent:w,onGridReady:e=>{_.current=e.api},...m},E)})}const Ps=lt(Ns);Un.register(Hn,Vn,Gn,Wn,Jn);function Fs(e,t){let n=Math.min(t,e.counts.length),r=e.counts.slice(0,n),i=r.reduce((e,t)=>e+t,0),a=e.valids-i,o=r.map((t,n)=>{let r=e.values[n],i,a=!1;return r==null?(i=`(null)`,a=!0):typeof r==`string`&&r.length===0?(i=`(empty)`,a=!0):i=String(r),{label:i,count:t,isSpecial:a}});return a>0&&o.push({label:`(others)`,count:a,isSpecial:!0}),o}function Is({count:e,total:t,color:n,theme:r=`light`,height:i=16}){let a=r===`dark`,o=he(a),s=N(a),c=n??s.current,l=B(()=>({labels:[``],datasets:[{indexAxis:`y`,data:[e],backgroundColor:c,hoverBackgroundColor:c,borderWidth:0,borderColor:c,barPercentage:1,categoryPercentage:.6}]}),[e,c]),u=B(()=>({responsive:!0,maintainAspectRatio:!1,indexAxis:`y`,scales:{x:{display:!1,max:t,grid:{display:!1},ticks:{color:o.textColor}},y:{display:!1,ticks:{color:o.textColor}}},plugins:{tooltip:{enabled:!1}},animation:!1}),[t,o]);return W(`div`,{style:{height:i,width:`100%`},children:W(Yn,{data:l,options:u})})}const Ls=L(Is);Ls.displayName=`SingleBarChart`;function Rs({data:e,maxItems:t=10,theme:n=`light`,className:r}){let i=N(n===`dark`);return W(K,{className:r,sx:{width:`100%`},children:B(()=>Fs(e,t),[e,t]).map(t=>G(st,{children:[G(K,{sx:{display:`flex`,alignItems:`center`,width:`100%`,"&:hover":{bgcolor:`action.hover`},px:1.5},children:[W(Z,{title:t.label,placement:`top-start`,children:W(Y,{sx:{width:`14em`,fontSize:`0.875rem`,color:t.isSpecial?`grey.400`:`inherit`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t.label})}),W(K,{sx:{display:`flex`,height:`2em`,width:`10em`},children:W(Ls,{count:t.count,total:e.valids,color:i.current,theme:n})}),W(Z,{title:String(t.count),placement:`top-start`,children:W(Y,{sx:{ml:2.5,mr:1,fontSize:`0.875rem`,width:`4em`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:Me(t.count)})}),W(Y,{sx:{color:`grey.400`,fontSize:`0.875rem`,width:`4em`},children:Be(t.count/e.valids)})]}),W(xn,{})]},t.label))})}const zs=L(Rs);zs.displayName=`TopKSummaryList`;function Bs({baseData:e,currentData:t,maxItems:n=10,showComparison:r=!1,theme:i=`light`,title:a,className:o}){let s=i===`dark`,c=N(s),l=he(s),u=B(()=>Fs(t,n),[t,n]),d=B(()=>e?Fs(e,n):[],[e,n]),f=r&&e&&d.length>0,p=t.valids||1,m=e?.valids||1,h=B(()=>u.map((e,t)=>({current:e,base:f?d[t]??null:null})).filter(({current:e,base:t})=>!(e.label===`(others)`&&e.count===0&&(!t||t.count===0))),[u,d,f]),g=B(()=>{let e=h.map(({current:e})=>e.label),t=[{label:`Current`,data:h.map(({current:e})=>e.count/p),backgroundColor:c.current,hoverBackgroundColor:c.current,borderWidth:0,borderRadius:3,barPercentage:f?.9:1,categoryPercentage:f?.75:.6}];return f&&t.push({label:`Base`,data:h.map(({base:e})=>(e?.count??0)/m),backgroundColor:c.base,hoverBackgroundColor:c.base,borderWidth:0,borderRadius:3,barPercentage:.9,categoryPercentage:.75}),{labels:e,datasets:t}},[h,c,f,p,m]),_=B(()=>({responsive:!0,maintainAspectRatio:!1,indexAxis:`y`,layout:{padding:{right:80}},scales:{x:{display:!1,grid:{display:!1}},y:{grid:{display:!1},ticks:{padding:8,color:e=>h[e.index]?.current.isSpecial?`#9ca3af`:l.textColor}}},plugins:{legend:{display:!!f,position:`top`,align:`center`,reverse:!0,labels:{boxWidth:32,boxHeight:12,borderRadius:3,useBorderRadius:!0,color:l.textColor}},tooltip:{mode:`index`,callbacks:{label:e=>{let t=e.parsed.x??0,n=e.dataset.label===`Base`?m:p,r=Math.round(t*n);return`${e.dataset.label}: ${Me(r)} (${Be(t)})`}}}},animation:!1}),[h,l,f,m,p]),v={id:`barLabels`,afterDatasetsDraw(e){let{ctx:t}=e;t.save(),t.font=`11px system-ui, sans-serif`,t.textBaseline=`middle`;let n=he(s);for(let r=0;r<e.data.datasets.length;r++){let i=e.data.datasets[r],a=i.label===`Base`?m:p,o=e.getDatasetMeta(r);for(let e=0;e<o.data.length;e++){let{x:r,y:s,base:c}=o.data[e],l=i.data[e]??0;if(l===0)continue;let u=Math.round(l*a),d=r-c,f=Me(u),p=Be(l)??``,m=t.measureText(f).width;m+8<d?(t.fillStyle=n.barLabelColor,t.textAlign=`left`,t.fillText(f,c+4,s),t.fillStyle=n.secondaryTextColor,t.textAlign=`left`,t.fillText(p,r+4,s)):(t.fillStyle=n.textColor,t.textAlign=`left`,t.fillText(f,r+4,s),t.fillStyle=n.secondaryTextColor,t.fillText(p,r+4+m+4,s))}}t.restore()}},y=h.length*(f?46:32)+(f?30:0);return G(K,{className:o,sx:{width:`100%`,px:2,py:2},children:[a&&W(Y,{variant:`subtitle1`,sx:{fontWeight:500,mb:1},children:a}),W(`div`,{style:{height:Math.max(y,50)},children:W(Yn,{data:g,options:_,plugins:[v]})})]})}const Vs=L(Bs);Vs.displayName=`TopKBarChart`;function Hs(e){switch(e){case`sql`:return On();case`yaml`:return kn();default:return null}}function Us(e){return[Mn.theme({"&":{backgroundColor:e?`#1e1e1e`:`#ffffff`,color:e?`#d4d4d4`:`#1f2937`},".cm-content":{caretColor:e?`#d4d4d4`:`#1f2937`,fontFamily:`'JetBrains Mono', 'Fira Code', monospace`,fontSize:`13px`},".cm-gutters":{backgroundColor:e?`#252526`:`#f5f5f5`,color:e?`#858585`:`#6b7280`,border:`none`},".cm-activeLineGutter":{backgroundColor:e?`#2a2d2e`:`#e5e7eb`},".cm-activeLine":{backgroundColor:e?`#2a2d2e40`:`#f3f4f640`},".cm-changedLine":{backgroundColor:e?`#3d3d0050`:`#fff3c550`},".cm-changedText":{backgroundColor:e?`#5c5c0080`:`#fef08a80`},".cm-deletedChunk":{backgroundColor:e?`#5c1f1f50`:`#ffc5c550`},".cm-insertedChunk":{backgroundColor:e?`#1a4d1a50`:`#cefece50`}},{dark:e})]}function Ws({original:e,modified:t,language:n=`text`,readOnly:r=!0,lineNumbers:i=!0,sideBySide:a=!0,height:o=`400px`,theme:s=`light`,onModifiedChange:c,className:l}){let u=V(null),d=V(null),f=s===`dark`;return z(()=>{if(!u.current)return;d.current&&=(d.current instanceof er,d.current.destroy(),null);let o=[...Us(f)];i&&o.push(Pn());let s=Hs(n);if(s&&o.push(s),r&&o.push(An.readOnly.of(!0)),c&&!r&&o.push(Mn.updateListener.of(e=>{e.docChanged&&c(e.state.doc.toString())})),a)d.current=new er({a:{doc:e,extensions:[...o]},b:{doc:t,extensions:[...o]},parent:u.current,orientation:`a-b`,highlightChanges:!0,gutter:!0,collapseUnchanged:{margin:3,minSize:4}});else{let n=[...o,tr({original:e,highlightChanges:!0,gutter:!0,mergeControls:!1,collapseUnchanged:{margin:3,minSize:4}})];d.current=new Mn({state:An.create({doc:t,extensions:n}),parent:u.current})}return()=>{d.current&&=(d.current instanceof er,d.current.destroy(),null)}},[e,t,n,r,i,a,f,c]),W(K,{ref:u,className:l,sx:{height:o,width:`100%`,overflow:`auto`,border:`1px solid`,borderColor:f?`grey.700`:`grey.300`,borderRadius:1,"& .cm-editor":{height:`100%`},"& .cm-scroller":{overflow:`auto`},"& .cm-merge-view":{height:`100%`},"& .cm-merge-view > div":{height:`100%`}}})}const Gs=L(Ws);Gs.displayName=`DiffEditor`;const Ks=e=>{let{defaultValues:t,suggestionList:n,onValuesChange:r,className:i}=e,[a,o]=H(t??[]),[s,c]=H(``),[l,u]=H(!1),[d,f]=H(null),p=V(null),m=!!d,h=t=>t.length>1?`${t.length} ${e.unitName}s selected`:t.length===1?t[0]:``,g=e=>{f(e.currentTarget),setTimeout(()=>p.current?.focus(),100)},_=()=>{f(null),u(!1)},v=e=>{a.includes(e)||(c(``),o([...a,e]),r([...a,e]))},y=()=>{c(``),o([]),r([])},b=e=>{o(a.filter(t=>t!==e)),r(a.filter(t=>t!==e))},x=s.toLowerCase(),S=n?.filter(e=>x===``||e.toLowerCase().includes(x)).filter(e=>!a.includes(e))??[],C=()=>{switch(e.size){case`2xs`:return`0.625rem`;case`xs`:return`0.75rem`;case`sm`:return`0.875rem`;default:return`0.875rem`}};return G(K,{sx:{display:`flex`,alignItems:`center`,width:e.width},className:i,children:[G(q,{variant:`outlined`,color:`neutral`,size:`small`,onClick:g,disabled:e.disabled,sx:{width:`100%`,height:(()=>{switch(e.size){case`2xs`:return 24;case`xs`:return 28;case`sm`:return 32;default:return 36}})(),justifyContent:`space-between`,textTransform:`none`,fontSize:C(),fontWeight:`normal`,px:1},children:[W(Y,{component:`span`,sx:{fontSize:C(),color:a.length>0?`text.primary`:`text.secondary`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:h(a)||e.placeholder||``}),a.length>0&&W(Y,{component:`span`,onClick:e=>{e.stopPropagation(),y()},sx:{fontSize:C(),color:`primary.main`,cursor:`pointer`,ml:1,"&:hover":{textDecoration:`underline`}},children:`Clear`})]}),G(cn,{anchorEl:d,open:m,onClose:_,slotProps:{paper:{sx:{width:e.width,fontSize:C()}}},children:[W(K,{sx:{px:.5,py:.5},children:G(K,{sx:{border:`1px solid`,borderColor:`divider`,borderRadius:1,p:.5,display:`flex`,flexWrap:`wrap`,gap:.5,alignItems:`center`},className:`no-track-pii-safe`,children:[a.map(e=>W(kt,{label:e,size:`small`,onDelete:()=>b(e),sx:{height:22,fontSize:C()}},e)),W(rr,{inputRef:p,placeholder:`Filter or add custom keys`,value:s,onChange:e=>{c(e.target.value),u(!0)},onKeyDown:e=>{e.key!==`Escape`&&e.stopPropagation();let t=e.target,n=t.value.trim().replace(`,`,``);switch(e.key){case`,`:case`Enter`:e.preventDefault(),n&&(v(n),c(``));break;case`Backspace`:t.value===``&&a.length>0&&(o(a.slice(0,-1)),r(a.slice(0,-1)));break;default:break}},onBlur:()=>{p.current&&l&&p.current.focus()},sx:{flex:1,minWidth:120,fontSize:C(),"& input":{p:.5}}})]})}),W(xn,{}),s!==``&&!n?.includes(s)&&G(Q,{onClick:()=>{v(s),u(!1)},sx:{fontSize:C()},children:[`Add '`,s,`' to the list`]}),S.slice(0,10).map((e,t)=>W(Q,{onClick:()=>{v(e)},sx:{fontSize:C()},children:e},ir.uniqueId(`option-${t}`))),S.length>10&&W(Z,{title:`Please use filter to find more items`,placement:`top`,children:G(K,{sx:{px:1.5,py:.5,color:`text.secondary`,fontSize:`8pt`},children:[`and `,S.length-10,` more items...`]})})]})]})};function qs({title:e,description:t,icon:n,actionLabel:r,onAction:i,secondaryActionLabel:a,onSecondaryAction:o,theme:s=`light`,paddingY:c=8,className:l,children:u}){let d=s===`dark`;return G(K,{className:l,sx:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,textAlign:`center`,py:c,px:4,height:`100%`,minHeight:200},children:[n&&W(K,{sx:{mb:2,color:d?`grey.500`:`grey.400`,"& svg":{width:48,height:48}},children:n}),W(Y,{variant:`h6`,sx:{fontWeight:500,color:d?`grey.300`:`grey.700`,mb:+!!t},children:e}),t&&W(Y,{variant:`body2`,sx:{color:d?`grey.400`:`grey.500`,maxWidth:400,mb:r||a?3:0},children:t}),(r||a)&&G(K,{sx:{display:`flex`,gap:2,mt:1},children:[r&&i&&W(q,{variant:`contained`,onClick:i,size:`small`,children:r}),a&&o&&W(q,{variant:`outlined`,onClick:o,size:`small`,children:a})]}),u&&W(K,{sx:{mt:3},children:u})]})}const Js=L(qs);Js.displayName=`EmptyState`;function Ys(e,t=60){if(e.length<=t)return e;try{let n=new URL(e),r=n.hostname,i=n.pathname+n.search+n.hash;if(r.length>=t-3)return r.substring(0,t-3)+`...`;let a=t-r.length-3;return i.length>a?`${r}${i.substring(0,a)}...`:e}catch{return e.substring(0,t-3)+`...`}}function Xs({isOpen:e,url:t,onConfirm:n,onCancel:r}){let i=V(null);return G(pt,{open:e,onClose:r,maxWidth:`sm`,fullWidth:!0,"aria-labelledby":`external-link-dialog-title`,children:[G(gt,{id:`external-link-dialog-title`,sx:{display:`flex`,alignItems:`center`,gap:1},children:[W(K,{component:an,sx:{color:`amber.500`,fontSize:20}}),`External Link`]}),W(X,{"aria-label":`close`,onClick:r,sx:{position:`absolute`,right:8,top:8,color:`grey.500`},children:W(Ot,{})}),G(ht,{children:[W(Y,{sx:{mb:1.5},children:`This link will take you to an external website outside of Recce. Are you sure you want to continue?`}),W(K,{sx:{bgcolor:`grey.50`,p:1,borderRadius:1,border:`1px solid`,borderColor:`grey.200`},children:W(K,{component:`code`,sx:{fontSize:`0.875rem`,wordBreak:`break-all`,whiteSpace:`pre-wrap`,bgcolor:`transparent`,fontFamily:`monospace`},children:Ys(t,100)})})]}),G(mt,{sx:{gap:1},children:[W(q,{ref:i,variant:`outlined`,onClick:r,children:`Cancel`}),W(q,{color:`iochmara`,variant:`contained`,onClick:n,children:`Open Link`})]})]})}function Zs(e,t){if(!e||e.startsWith(`/`)||e.startsWith(`#`)||e.startsWith(`?`))return!1;try{let n=new URL(e,window.location.origin);return!t.some(e=>n.hostname===e||n.hostname.endsWith(`.${e}`))}catch{return!1}}function Qs({href:e,children:t,internalDomains:n}){let[r,i]=H(!1),[a,o]=H(null),s=t=>{e&&Zs(e,n)&&(t.preventDefault(),o(e),i(!0))},c=()=>{a&&window.open(a,`_blank`,`noopener,noreferrer`),i(!1),o(null)},l=()=>{i(!1),o(null)},u=e?Zs(e,n):!1;return G(U,{children:[G(_t,{href:e,onClick:s,sx:{color:`primary.main`,textDecoration:`underline`,"&:hover":{color:`iochmara.600`}},target:`_blank`,rel:u?`noopener noreferrer`:void 0,children:[t,u&&` ↗`]}),W(Xs,{isOpen:r,url:a||``,onConfirm:c,onCancel:l})]})}function $s({className:e,children:t,isDark:n=!1}){let r=/language-(\w+)/.exec(e||``),i=r?r[1]:void 0,a=String(t).replace(/\n$/,``);return!r&&!String(t).includes(`
6
- `)?W(K,{component:`code`,sx:{bgcolor:n?`grey.800`:`grey.100`,color:n?`grey.200`:`inherit`,px:1,py:.5,borderRadius:.5,fontSize:`0.9em`,fontFamily:`monospace`},children:t}):W(K,{sx:{my:2,borderRadius:1,overflow:`hidden`,fontSize:`0.875rem`},children:W(or,{style:sr,language:i,PreTag:`div`,customStyle:{margin:0,borderRadius:`6px`,fontSize:`0.85em`},children:a})})}function ec({content:e,fontSize:t=`0.875rem`,internalDomains:n=[]}){let r=F(),i=[window.location.hostname,`reccehq.com`,`datarecce.io`,`localhost`,...n];return W(K,{className:`markdown-content`,children:W(ar,{remarkPlugins:[cr],components:{a:({href:e,children:t})=>W(Qs,{href:e,internalDomains:i,children:t}),code:e=>W($s,{...e,isDark:r}),p:({children:e})=>W(Y,{component:`p`,sx:{fontSize:t,mb:2,"&:last-child":{mb:0}},children:e}),h1:({children:e})=>W(Y,{sx:{fontSize:`1.25rem`,fontWeight:`bold`,mb:2,mt:3},children:e}),h2:({children:e})=>W(Y,{sx:{fontSize:`1.125rem`,fontWeight:`bold`,mb:2,mt:3},children:e}),h3:({children:e})=>W(Y,{sx:{fontSize:`1rem`,fontWeight:600,mb:2,mt:2},children:e}),ul:({children:e})=>W(K,{component:`ul`,sx:{pl:4,mb:2,listStyleType:`disc`},children:e}),ol:({children:e})=>W(K,{component:`ol`,sx:{pl:4,mb:2,listStyleType:`decimal`},children:e}),li:({children:e})=>W(K,{component:`li`,sx:{fontSize:t,mb:1},children:e}),blockquote:({children:e})=>W(K,{sx:{borderLeft:`3px solid`,borderLeftColor:r?`grey.600`:`grey.300`,pl:3,py:1,my:2,color:r?`grey.400`:`grey.600`,fontStyle:`italic`},children:e}),table:({children:e})=>W(K,{sx:{overflowX:`auto`,my:2},children:W(K,{component:`table`,sx:{width:`100%`,fontSize:t,border:`1px solid`,borderColor:r?`grey.700`:`grey.200`,borderRadius:1},children:e})}),thead:({children:e})=>W(K,{component:`thead`,sx:{bgcolor:r?`grey.800`:`grey.50`},children:e}),tbody:({children:e})=>W(K,{component:`tbody`,children:e}),tr:({children:e})=>W(K,{component:`tr`,sx:{borderBottom:`1px solid`,borderColor:r?`grey.700`:`grey.200`},children:e}),th:({children:e})=>W(K,{component:`th`,sx:{px:2,py:1,fontWeight:600,textAlign:`left`},children:e}),td:({children:e})=>W(K,{component:`td`,sx:{px:2,py:1},children:e}),hr:()=>W(K,{component:`hr`,sx:{my:3,borderColor:r?`grey.700`:`grey.200`}}),strong:({children:e})=>W(Y,{component:`strong`,sx:{fontWeight:600},children:e}),em:({children:e})=>W(Y,{component:`em`,sx:{fontStyle:`italic`},children:e}),del:({children:e})=>W(Y,{component:`del`,sx:{textDecoration:`line-through`,color:`grey.500`},children:e})},children:e})})}const tc=lt(function({backgroundColor:e=`white`,blockSize:t,children:n,...r},i){return W(K,{ref:i,...r,sx:{overflowY:`auto`,overflowX:`hidden`,...r.sx},children:W(K,{sx:{backgroundColor:e,height:`100%`,blockSize:t},children:n})})});function nc({children:e,direction:t=`horizontal`,sizes:n,minSizes:r=0,maxSizes:i,gutterSize:a=5,snapOffset:o=30,dragInterval:s=1,onDragEnd:c,onDrag:l,theme:u,style:d,className:f}){let p=F(),m=u?u===`dark`:p,h={display:`flex`,flexDirection:t===`horizontal`?`row`:`column`,height:`100%`,width:`100%`,...d};return W(K,{className:f,sx:{height:`100%`,width:`100%`,"& .gutter":{backgroundColor:`divider`,backgroundRepeat:`no-repeat`,backgroundPosition:`50%`,transition:`background-color 0.15s ease`,"&:hover":{backgroundColor:m?`grey.600`:`grey.300`}},"& .gutter.gutter-horizontal":{cursor:`col-resize`},"& .gutter.gutter-vertical":{cursor:`row-resize`}},children:W(lr,{style:h,direction:t,sizes:n,minSize:r,maxSize:i,gutterSize:a,snapOffset:o,dragInterval:s,onDragEnd:c,onDrag:l,children:e})})}const rc=L(nc);rc.displayName=`SplitPane`;function ic(e){let{style:t,children:n,gutterSize:r=5,minSize:i,maxSize:a,sizes:o,snapOffset:s,dragInterval:c,onDragEnd:l,onDrag:u,className:d}=e;return W(rc,{direction:`horizontal`,gutterSize:r,minSizes:i,maxSizes:a,sizes:o,snapOffset:typeof s==`number`?s:void 0,dragInterval:c,onDragEnd:l,onDrag:u,style:t,className:d,children:n})}function ac(e){let{style:t,children:n,gutterSize:r=5,minSize:i,maxSize:a,sizes:o,snapOffset:s,dragInterval:c,onDragEnd:l,onDrag:u,className:d}=e;return W(rc,{direction:`vertical`,gutterSize:r,minSizes:i,maxSizes:a,sizes:o,snapOffset:typeof s==`number`?s:void 0,dragInterval:c,onDragEnd:l,onDrag:u,style:t,className:d,children:n})}const oc={mode:`multiRow`,checkboxes:!0,headerCheckbox:!0,enableClickSelection:!1};function sc({warning:e,isDark:t}){return G(K,{sx:{display:`flex`,alignItems:`center`,gap:.5,fontSize:`0.75rem`},children:[W(an,{color:t?ur[400]:ur[600]}),W(K,{children:e})]})}function cc({toolbar:e,warnings:t,warningStyle:n=`alert`,isDark:r}){return!e&&(!t||t.length===0)?null:G(K,{sx:{display:`flex`,alignItems:`center`,gap:1,px:1,py:.5,borderBottom:1,borderColor:`divider`,bgcolor:n===`amber`&&t&&t.length>0?r?ur[900]:ur[100]:r?`grey.900`:`grey.50`,color:n===`amber`&&t&&t.length>0?r?ur[200]:ur[800]:void 0},children:[n===`amber`?t?.map(e=>W(sc,{warning:e,isDark:r},e)):t?.map(e=>W(Zn,{severity:`warning`,sx:{py:0,fontSize:`0.75rem`},children:e},e)),W(K,{sx:{flex:1}}),e]})}function lc(e){let{displayName:t,typeGuard:n,expectedRunType:r,screenshotWrapper:i,transformData:a,emptyState:o=`No data`,conditionalEmptyState:s,enableRowSelection:c}=e;function l({run:e,viewOptions:t,onViewOptionsChanged:l,onAddToChecklist:u},d){let f=F();if(!n(e))throw Error(`Run type must be ${r}`);let p=B(()=>a(e,{viewOptions:t,onViewOptionsChanged:l,onAddToChecklist:u,isDark:f}),[e,t,l,u,f]),m=s?.(e,t);return m==null?p?.renderNull?null:!p||p.isEmpty?p?.toolbar||p?.warnings&&p.warnings.length>0?G(K,{sx:{display:`flex`,flexDirection:`column`,bgcolor:f?`grey.900`:`grey.50`,height:`100%`},children:[W(cc,{toolbar:p?.toolbar,warnings:p?.warnings,warningStyle:p?.warningStyle,isDark:f}),W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,flex:1},children:p?.emptyMessage??o})]}):W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,bgcolor:f?`grey.900`:`grey.50`,height:`100%`},children:o}):i===`grid`?G(K,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:[p.header,W(cc,{toolbar:p.toolbar,warnings:p.warnings,warningStyle:p.warningStyle,isDark:f}),W(Ps,{ref:d,style:{blockSize:`auto`,maxHeight:`100%`,overflow:`auto`,fontSize:`0.875rem`,borderWidth:1},columns:p.columns??[],rows:p.rows??[],renderers:{noRowsFallback:W(Ms,{emptyMessage:p.noRowsMessage})},defaultColumnOptions:p.defaultColumnOptions,rowSelection:c?oc:void 0}),p.footer]}):G(K,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:[p.header,W(cc,{toolbar:p.toolbar,warnings:p.warnings,warningStyle:p.warningStyle,isDark:f}),W(tc,{ref:d,backgroundColor:f?`#1f2937`:`white`,sx:{height:`100%`},children:p.content}),p.footer]}):W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,bgcolor:f?`grey.900`:`grey.50`,height:`100%`},children:m})}return l.displayName=t,lt(l)}const uc=`0.1.0`;function dc(e){return u(e)}const fc=lc({displayName:`HistogramDiffResultView`,typeGuard:dc,expectedRunType:`histogram_diff`,screenshotWrapper:`box`,conditionalEmptyState:e=>{let t=e.result?.base,n=e.result?.current;return!t||!n?W(`div`,{children:`Loading...`}):null},transformData:(e,{isDark:t})=>{let n=e.params,r=e.result?.base,i=e.result?.current,a=e.result?.min,o=e.result?.max,s=e.result?.bin_edges??[];if(!r||!i)return{isEmpty:!0};let c=e.params?.column_type??`numeric`,l=c===`datetime`?`datetime`:c===`string`?`string`:`numeric`;return{content:G(K,{sx:{display:`flex`,flexDirection:`row`},children:[W(K,{sx:{flex:1}}),W(K,{sx:{width:`80%`,height:`35vh`,m:4},children:W(As,{title:`Model ${n.model}.${n.column_name}`,dataType:l,baseData:{counts:r.counts},currentData:{counts:i.counts},min:a,max:o,samples:r.total,binEdges:s,theme:t?`dark`:`light`})}),W(K,{sx:{flex:1}})]})}}});function pc({model:e,row:t,singleEnv:n,cllRunning:r,showMenu:i=!0,onViewCode:a,isImpacted:o}){let s=le(),{isActionAvailable:c}=fe(),{runAction:l}=M(),{featureToggles:u}=ie(),{name:d,baseType:f,currentType:p,baseIndex:m,currentIndex:h,reordered:g,definitionChanged:_,changeUnknown:v}=t,y=p??f??t.type,b=m===void 0&&h!==void 0,x=m!==void 0&&h===void 0,S=!b&&!x&&f!==p,C=!b&&!x&&(f!==p||g===!0),w=n?`unchanged`:b?`added`:x?`removed`:S?`type_changed`:_?`definition_changed`:v?`definition_unknown`:`unchanged`,[T,E]=H(null),D=!!T,O=e=>{e.stopPropagation(),E(e.currentTarget)},k=()=>{E(null)},A=()=>{l(`profile_diff`,{model:e.name,columns:[d]},{showForm:!1,trackProps:{action:`profile_diff`,source:`schema_column_menu`,node_count:1}})},ee=()=>{l(`histogram_diff`,{model:e.name,column_name:d,column_type:y},{showForm:!1,trackProps:{action:`histogram_diff`,source:`schema_column_menu`,node_count:1}})},te=()=>{l(`top_k_diff`,{model:e.name,column_name:d,k:50},{showForm:!1,trackProps:{action:`top_k_diff`,source:`schema_column_menu`,node_count:1}})},ne=()=>{l(`value_diff`,{model:e.name,columns:[d]},{showForm:!0,trackProps:{action:`value_diff`,source:`schema_column_menu`,node_count:1}})},re=!f||!p;return W(Z,{title:ai({name:d,status:w,baseType:f,currentType:p,cllAvailable:!(s===void 0||!c(`change_analysis`)||m!==void 0&&h===void 0),impacted:!!o&&!b&&!x&&!C&&!_}),placement:`top`,children:G(K,{sx:{display:`flex`,alignItems:`center`,gap:`3px`},children:[C&&W(`span`,{className:`schema-change-badge schema-change-badge-changed`,children:`~`}),b&&W(`span`,{className:`schema-change-badge schema-change-badge-added`,children:`+`}),x&&W(`span`,{className:`schema-change-badge schema-change-badge-removed`,children:`-`}),o&&!b&&!x&&!C&&!_&&!v&&W(`span`,{className:`schema-change-badge schema-change-badge-impacted`,children:`!`}),_&&W(Z,{title:`Definition changed — click to view code`,placement:`top`,onMouseOver:e=>e.stopPropagation(),children:a?W(`button`,{type:`button`,className:`schema-change-badge schema-change-badge-changed schema-change-badge-clickable`,onClick:e=>{e.stopPropagation(),a()},children:`~`}):W(`span`,{className:`schema-change-badge schema-change-badge-changed`,children:`~`})}),v&&!b&&!x&&!C&&!_&&W(Z,{title:`Change status unknown — analyzer couldn't resolve column dependencies`,placement:`top`,onMouseOver:e=>e.stopPropagation(),children:W(`span`,{className:`schema-change-badge schema-change-badge-unknown`,children:`?`})}),W(K,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:d}),S?G(K,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`,gap:`0.125rem`,ml:`0.25rem`,fontSize:`1.6rem`},children:[f&&W(K,{component:`span`,sx:{textDecoration:`line-through`,opacity:.6},children:W(si,{type:f,disableTooltip:!0})}),W(K,{component:`span`,sx:{fontSize:`0.7em`,opacity:.5},children:`→`}),p&&W(si,{type:p,disableTooltip:!0})]}):y&&W(K,{component:`span`,sx:{ml:`0.25rem`,fontSize:`1.6rem`},children:W(si,{type:y,disableTooltip:!0})}),W(K,{sx:{flex:1}}),r&&W(fn,{size:12,color:`inherit`}),i&&!n&&e.resource_type!==`source`&&G(U,{children:[W(X,{"aria-label":`Column options`,className:`row-context-menu`,size:`small`,disabled:u.disableDatabaseQuery,onClick:O,children:W(un,{})}),G(cn,{anchorEl:T,open:D,onClose:k,slotProps:{list:{sx:{lineHeight:`20px`}}},children:[W(pn,{sx:{m:0,p:`4px 12px`,lineHeight:`20px`},children:`Diff`}),W(Q,{onClick:()=>{A(),k()},disabled:re,sx:{fontSize:`0.85rem`},children:`Profile Diff`}),W(Q,{onClick:()=>{ee(),k()},disabled:re||(y?!La(y):!0),sx:{fontSize:`0.85rem`},children:`Histogram Diff`}),W(Q,{onClick:()=>{te(),k()},disabled:re,sx:{fontSize:`0.85rem`},children:`Top-k Diff`}),W(Q,{onClick:()=>{ne(),k()},disabled:re,sx:{fontSize:`0.85rem`},children:`Value Diff`})]})]})]})})}function mc(e,t,n,r){return i=>{let a=i.data;return a?W(pc,{model:e,row:a,cllRunning:t?.get(a.name)??!1,showMenu:n,onViewCode:r,isImpacted:a.isImpacted}):null}}function hc(e,t,n){return r=>{let i=r.data;return i?W(pc,{model:e,row:i,cllRunning:t?.get(i.name)??!1,singleEnv:!0,showMenu:n}):null}}function gc(e){let t=e.scopedColumns?new Set(e.scopedColumns):void 0;return n=>{let r=n.data;if(!r)return null;let i=e.payloads[r.name],a=!t||t.has(r.name);return W(Na,{payload:i,columnType:r.currentType??r.baseType,baseTotal:e.baseTotal,currentTotal:e.currentTotal,isLoading:e.isLoading&&!i&&a,hasError:e.hasError&&a,notProfiled:!a})}}function _c(e){if(!e.data)return null;let{baseIndex:t,currentIndex:n,reordered:r}=e.data;return r&&t!==void 0&&n!==void 0&&t!==n?G(`span`,{children:[W(`span`,{className:`schema-index-old`,children:t}),W(`span`,{className:`schema-index-new`,children:n})]}):W(`span`,{children:n===void 0?t??`-`:n??`-`})}function vc(e={},t={}){let n={},r=je(Object.keys(e),Object.keys(t));Object.entries(r).forEach(([e,t])=>{n[e]={name:e,reordered:t===`reordered`,__status:void 0}});let i=0;return Object.entries(e).forEach(([e,t])=>{t!=null&&(n[e].baseIndex=i+=1,n[e].baseType=t.type)}),i=0,Object.entries(t).forEach(([e,t])=>{t!=null&&(n[e].currentIndex=i+=1,n[e].currentType=t.type)}),n}function yc(e,t={}){let{node:n,cllRunningMap:r,showMenu:i,columnChanges:a,onViewCode:o,impactedColumns:s,nodeId:c,distribution:l}=t,u=[{field:`index`,headerName:``,resizable:!0,minWidth:35,width:35,cellRenderer:_c,cellClass:`schema-column schema-column-index`},{field:`name`,headerName:`Name`,resizable:!0,cellRenderer:n?mc(n,r,i,o):void 0,cellClass:`schema-column`,valueGetter:e=>{let t=e.data;return t?`${t.name}|${t.definitionChanged??!1}|${t.isImpacted??!1}|${t.changeUnknown??!1}`:``}}];l&&u.push({colId:`distribution`,headerName:`Distribution`,resizable:!0,sortable:!1,minWidth:150,width:160,cellRenderer:gc(l),cellClass:`schema-column schema-column-profile-distribution`});let d=Object.values(e);if(a)for(let e of d){let t=e.baseIndex===void 0,n=e.currentIndex===void 0,r=!t&&!n&&e.baseType!==e.currentType,i=a[e.name];i===`modified`&&!t&&!n&&!r&&!e.reordered?e.definitionChanged=!0:i===`unknown`&&!t&&!n&&!r&&!e.reordered&&(e.changeUnknown=!0)}if(c&&s)for(let e of d)Te(c,e.name,s)&&(e.isImpacted=!0);return{columns:u,rows:d}}function bc(e={},t={}){let{node:n,cllRunningMap:r,showMenu:i}=t,a=Object.entries(e).filter(([e,t])=>t!=null).map(([e,t],n)=>({name:e,index:n+1,type:t.type,__status:void 0}));return{columns:[{field:`index`,headerName:``,resizable:!0,minWidth:35,width:35,cellClass:`schema-column schema-column-index`},{field:`name`,headerName:`Name`,resizable:!0,cellRenderer:n?hc(n,r,i):void 0,cellClass:`schema-column`}],rows:a}}function xc({columnName:e,primaryKeys:t}){return W(K,{sx:{display:`flex`,justifyContent:`center`,alignItems:`center`,height:`100%`},children:t.includes(e)&&W(dn,{})})}function Sc({params:e,column:t}){let{runAction:n}=M(),{featureToggles:r}=ie(),[i,a]=H(null),o=!!i,s=e=>{a(e.currentTarget)},c=()=>{a(null)},l=(t,r)=>{n(`value_diff_detail`,{...e,...t},r)};return G(K,{sx:{display:`flex`},children:[W(K,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t}),W(K,{sx:{flex:1}}),W(X,{"aria-label":`Column options`,className:`row-context-menu`,size:`small`,disabled:r.disableDatabaseQuery,onClick:s,children:W(qt,{})}),G(cn,{anchorEl:i,open:o,onClose:c,slotProps:{list:{sx:{lineHeight:`20px`}}},children:[W(pn,{sx:{fontSize:`8pt`,lineHeight:`20px`},children:`Action`}),W(Q,{onClick:()=>{l({},{showForm:!0}),c()},sx:{fontSize:`10pt`},children:`Show mismatched values...`}),G(Q,{onClick:()=>{l({columns:[t]},{showForm:!1}),c()},sx:{fontSize:`10pt`},children:[`Show mismatched values for '`,t,`'`]})]})]})}function Cc({value:e}){let t=`N/A`;return e!=null&&(t=e>.9999&&e<1?`~99.99 %`:e<1e-4&&e>0?`~0.01 %`:`${(e*100).toFixed(2)} %`),W(K,{sx:{textAlign:`right`},children:t})}function wc(e){return t=>{let n=t.data;return n?W(xc,{columnName:String(n[0]),primaryKeys:e}):null}}function Tc(e){return t=>{let n=t.data,r=t.colDef?.field??``;return n?W(Sc,{column:String(n[r]),params:e}):null}}function Ec(e){let t=e.data,n=e.colDef?.field??``;return t?W(Cc,{value:t[n]}):null}const Dc=[{key:`0`,name:`Column`,type:`text`},{key:`1`,name:`Matched`,type:`number`},{key:`2`,name:`Matched %`,type:`number`}];function Oc(e){let t=e.data;if(!t)return;let n=t[2];return n!=null&&n<1?`diff-cell-modified`:void 0}function kc(e,t){let n=e==null,r=t==null;return n&&r?0:n?1:r?-1:e-t}const Ac={PRIMARY_KEY_INDICATOR:`__is_pk__`,COLUMN_NAME:`0`,MATCHED_COUNT:`1`,MATCHED_PERCENT:`2`};function jc(e,t){return[{field:Ac.PRIMARY_KEY_INDICATOR,headerName:``,width:30,maxWidth:30,sortable:!1,cellRenderer:wc(e)},{field:Ac.COLUMN_NAME,headerName:`Column`,resizable:!0,cellRenderer:Tc(t),cellClass:`cell-show-context-menu`},{field:Ac.MATCHED_COUNT,headerName:`Matched`,resizable:!0,cellClass:Oc},{field:Ac.MATCHED_PERCENT,headerName:`Matched %`,resizable:!0,sort:`asc`,comparator:kc,cellRenderer:Ec,cellClass:Oc}]}function Mc(e,t){let{params:n}=t,r=Array.isArray(n.primary_key)?n.primary_key:[n.primary_key],i={...e.data,columns:Dc};return{columns:jc(r,n),rows:Ue(i)}}function Nc(e){if(p(e)||y(e))return e.result?{kind:`query`,result:e.result}:null;if(w(e))return e.result?e.result.diff&&e.params?.primary_keys?{kind:`query_diff_joined`,result:e.result,primaryKeys:e.params.primary_keys}:{kind:`query_diff_separate`,result:e.result}:null;if(D(e))return!e.result||!e.params?null:{kind:`value_diff`,result:e.result,params:e.params};if(T(e)){if(!e.result||!e.params?.primary_key)return null;let t=e.params.primary_key,n=Array.isArray(t)?t:[t];return{kind:`value_diff_detail`,result:e.result,primaryKeys:n}}return f(e)?e.result?.current?{kind:`profile`,result:e.result}:null:S(e)?e.result?{kind:`profile_diff`,result:e.result}:null:b(e)?e.result?{kind:`row_count`,result:e.result}:null:g(e)&&e.result?{kind:`row_count_diff`,result:e.result}:null}function Pc(e){let t=e.data;if(!t)return null;let n=e.colDef?.field??``,r=String(Re(t,n)??e.value??``),i=String(Re(t,`data_type`)??``)||void 0;return W(Z,{title:ai({name:r,currentType:i}),placement:`top`,children:G(K,{sx:{display:`flex`,alignItems:`center`,gap:`6px`,overflow:`hidden`,height:`100%`},children:[W(K,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:r}),i&&W(K,{component:`span`,sx:{fontSize:`1.6rem`},children:W(si,{type:i,disableTooltip:!0})})]})})}function Fc(e){let t=e.data;if(!t)return null;let n=e.colDef?.field??``,r=String(Re(t,n)??e.value??``),i=Re(t,`base__data_type`),a=i==null?void 0:String(i),o=Re(t,`current__data_type`),s=o==null?void 0:String(o),c=a!=null&&s!=null&&a!==s,l=s??a;return W(Z,{title:ai({name:r,baseType:a,currentType:s}),placement:`top`,children:G(K,{sx:{display:`flex`,alignItems:`center`,gap:`6px`,overflow:`hidden`,height:`100%`},children:[W(K,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:r}),c?G(K,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`,gap:`0.125rem`,fontSize:`1.6rem`},children:[W(K,{component:`span`,sx:{textDecoration:`line-through`,opacity:.6},children:W(si,{type:a,disableTooltip:!0})}),W(K,{component:`span`,sx:{fontSize:`0.7em`,opacity:.5},children:`→`}),W(si,{type:s,disableTooltip:!0})]}):l&&W(K,{component:`span`,sx:{fontSize:`1.6rem`},children:W(si,{type:l,disableTooltip:!0})})]})})}function Ic(e){if(!e)return!1;let t=e.toLowerCase();return t===`data_type`||t===`base__data_type`||t===`current__data_type`}function Lc(e){let t=e.rows.length>0&&Object.hasOwn(e.rows[0],`base__data_type`),n=e.columns.filter(e=>{if(`children`in e&&e.children){let t=e.children.filter(e=>!Ic(e.field));return t.length===0?!1:(e.children=t,!0)}return!Ic(e.field)}).map(e=>{if(`children`in e&&e.children)return{...e,children:e.children.map(e=>{let t=e;return t.field?.toLowerCase()===`column_name`?{...t,cellRenderer:Pc}:e})};let n=e;return n.field?.toLowerCase()===`column_name`?{...n,cellRenderer:t?Fc:Pc}:e});return{...e,columns:n}}function Rc(e){return e.current?.columns.find(e=>e.name.toLowerCase()===`column_name`)?.name??`column_name`}function zc(e,t={}){let n=Nc(e);if(!n)return null;switch(n.kind){case`query`:return Ee(n.result,{primaryKeys:t.primaryKeys,pinnedColumns:t.pinnedColumns,columnsRenderMode:t.columnsRenderMode,onPrimaryKeyChange:t.onPrimaryKeyChange,onPinnedColumnsChange:t.onPinnedColumnsChange,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged});case`query_diff_separate`:return Ke(n.result.base,n.result.current,t);case`query_diff_joined`:return n.result.diff?Ge(n.result.diff,n.primaryKeys,{changedOnly:t.changedOnly,pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,baseTitle:t.baseTitle,currentTitle:t.currentTitle,displayMode:t.displayMode,columnsRenderMode:t.columnsRenderMode,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged}):null;case`value_diff`:return Mc(n.result,{params:n.params});case`value_diff_detail`:return Ge(n.result,n.primaryKeys,{changedOnly:t.changedOnly,pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,displayMode:t.displayMode,columnsRenderMode:t.columnsRenderMode,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged});case`profile`:{if(!n.result.current)return null;let e=Rc(n.result);return Lc(Ee(n.result.current,{primaryKeys:[e],pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,columnsRenderMode:t.columnsRenderMode,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged}))}case`profile_diff`:{let e=Rc(n.result);return Lc(Ke(n.result.base,n.result.current,{primaryKeys:[e],pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,displayMode:t.displayMode,columnsRenderMode:t.columnsRenderMode,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged}))}case`row_count`:return Ae(n.result);case`row_count_diff`:return We(n.result);default:return null}}function Bc(e,t){switch(e.type){case`single`:return Ee(e.dataframe,t??{});case`dual`:return Ke(e.base,e.current,t??{});case`joined`:return Ge(e.dataframe,e.primaryKeys,t??{});case`schema_diff`:{let n=t??{};return yc(vc(e.base,e.current),n)}case`schema_single`:return bc(e.columns,t??{})}}function Vc({params:e,onParamsChanged:t,setIsReadyToExecute:n}){let[r,i]=H(!e.columns||e.columns.length===0),a=e.model,{columns:o,isLoading:s,error:c}=ju(e.model);z(()=>{n(!!a)},[a,n]);let l=o.map(e=>e.name);return s?W(K,{children:`Loading...`}):l.length===0||c?W(K,{children:`Error: Please provide the 'catalog.json' to list column candidates`}):G(J,{spacing:5,sx:{m:`8px 24px`,pb:`200px`},children:[G(K,{children:[W(Y,{variant:`body2`,sx:{mb:1},children:`Model`}),W(vn,{fullWidth:!0,size:`small`,value:e.model,slotProps:{input:{readOnly:!0}}})]}),G(K,{children:[W(Y,{variant:`body2`,sx:{mb:1},children:`Columns`}),W(Rt,{control:W(Lt,{checked:r,onChange:n=>{i(n.target.checked),t({...e,columns:void 0})},size:`small`}),label:`All columns`,sx:{mb:`10px`}}),!r&&W(Cr,{multiple:!0,size:`small`,disableCloseOnSelect:!0,options:l,value:e.columns??[],onChange:(n,r)=>{t({...e,columns:r.length===0?void 0:r})},renderInput:t=>W(vn,{...t,placeholder:(e.columns??[]).length===0?`Select columns`:``,className:`no-track-pii-safe`})})]})]})}const Hc=e=>typeof e==`object`&&!!e&&`type`in e&&S(e),Uc=lc({displayName:`ProfileResultView`,typeGuard:e=>typeof e==`object`&&!!e&&`type`in e&&f(e),expectedRunType:`profile`,screenshotWrapper:`grid`,transformData:(e,{viewOptions:t,onViewOptionsChanged:n})=>{let r=zc(e,{pinnedColumns:t?.pinned_columns??[],onPinnedColumnsChange:e=>{n&&n({...t,pinned_columns:e})},columnsRenderMode:{distinct_proportion:`percent`,not_null_proportion:`percent`,...t?.columnsRenderMode},onColumnsRenderModeChanged:e=>{let r={...t?.columnsRenderMode??{},...e};n&&n({...t,columnsRenderMode:r})}})??{columns:[],rows:[]};return{columns:r.columns,rows:r.rows,isEmpty:r.columns.length===0}}}),Wc=lc({displayName:`ProfileDiffResultView`,typeGuard:Hc,expectedRunType:`profile_diff`,screenshotWrapper:`grid`,transformData:(e,{viewOptions:t,onViewOptionsChanged:n})=>{let r=t?.pinned_columns??[],i=t?.display_mode??`inline`,a=zc(e,{pinnedColumns:r,onPinnedColumnsChange:e=>{n&&n({...t,pinned_columns:e})},displayMode:i,columnsRenderMode:{distinct_proportion:`percent`,not_null_proportion:`percent`,...t?.columnsRenderMode},onColumnsRenderModeChanged:e=>{let r={...t?.columnsRenderMode??{},...e};n&&n({...t,columnsRenderMode:r})}})??{columns:[],rows:[]},o=W(Ds,{children:W(la,{displayMode:i,onDisplayModeChanged:e=>{n&&n({...t,display_mode:e})}})});return{columns:a.columns,rows:a.rows,header:o,isEmpty:a.columns.length===0}}});function Gc(e){return w(e)}const Kc=lc({displayName:`QueryDiffResultView`,typeGuard:Gc,expectedRunType:`query_diff`,screenshotWrapper:`grid`,enableRowSelection:!0,emptyState:`No data`,transformData:(e,{viewOptions:t,onViewOptionsChanged:n})=>{let r=e.result&&`diff`in e.result&&e.result.diff!=null,i,a;e.params&&e.params.current_model&&(i=`Original`,a=`Editor`);let o=t?.changed_only??!1,s=t?.pinned_columns??[],c=t?.display_mode??`inline`,l=t?.columnsRenderMode??{},u=r?[]:t?.primary_keys??[],d=e=>{let r={...t?.columnsRenderMode??{},...e};n&&n({...t,columnsRenderMode:r})},f=r?void 0:e=>{n&&n({...t,primary_keys:e})},p=e=>{n&&n({...t,pinned_columns:e})},m;if(r&&e.result?.diff){let t=e.params?.primary_keys??[];m=Ge(e.result.diff,t,{changedOnly:o,pinnedColumns:s,onPinnedColumnsChange:p,columnsRenderMode:l,onColumnsRenderModeChanged:d,baseTitle:i,currentTitle:a,displayMode:c})}else m=Ke(e.result?.base,e.result?.current,{changedOnly:o,pinnedColumns:s,onPinnedColumnsChange:p,columnsRenderMode:l,onColumnsRenderModeChanged:d,baseTitle:i,currentTitle:a,displayMode:c,primaryKeys:u,onPrimaryKeyChange:f});let h=[];if(!r&&u.length>0){let e=u.join(`, `);m.invalidPKeyBase&&m.invalidPKeyCurrent?h.push(`Warning: The primary key '${e}' is not unique in the base and current environments`):m.invalidPKeyBase?h.push(`Warning: The primary key '${e}' is not unique in the base environment`):m.invalidPKeyCurrent&&h.push(`Warning: The primary key '${e}' is not unique in the current environment`)}let g=r?e.result?.diff?.limit??0:e.result?.current?.limit??0,_=r?e.result?.diff?.more:e.result?.current?.more||e.result?.base?.more;if(g>0&&_&&h.push(`Warning: Displayed results are limited to ${g.toLocaleString()} records. To ensure complete data retrieval, consider applying a LIMIT or WHERE clause to constrain the result set.`),m.columns.length===0)return{isEmpty:!0};let v=G(U,{children:[W(la,{displayMode:c,onDisplayModeChanged:e=>{n&&n({...t,display_mode:e})}}),W(sa,{changedOnly:t?.changed_only,onChange:()=>{let e=!t?.changed_only;n&&n({...t,changed_only:e})}})]});return r&&o&&m.rows.length===0?{isEmpty:!0,emptyMessage:`No change`,toolbar:v,warnings:h.length>0?h:void 0}:{columns:m.columns,rows:m.rows,warnings:h.length>0?h:void 0,toolbar:v,defaultColumnOptions:{resizable:!0,maxWidth:800,minWidth:35},noRowsMessage:`No mismatched rows`}}});function qc(e){return p(e)||y(e)}const Jc=lc({displayName:`QueryResultView`,typeGuard:qc,expectedRunType:`query`,screenshotWrapper:`grid`,enableRowSelection:!0,emptyState:`No data`,transformData:(e,{viewOptions:t,onViewOptionsChanged:n,onAddToChecklist:r})=>{let i=t?.pinned_columns??[],a=t?.columnsRenderMode??{},o=e=>{let r={...t?.columnsRenderMode??{},...e};n&&n({...t,columnsRenderMode:r})},s=e=>{n&&n({...t,pinned_columns:e})};if(!e.result)return{isEmpty:!0};let c=Ee(e.result,{pinnedColumns:i,onPinnedColumnsChange:s,columnsRenderMode:a,onColumnsRenderModeChanged:o});if(c.columns.length===0)return{isEmpty:!0};let l=e.result,u=l?l.limit??0:0,d=[];u>0&&l?.more&&d.push(`Warning: Displayed results are limited to ${u.toLocaleString()} records. To ensure complete data retrieval, consider applying a LIMIT or WHERE clause to constrain the result set.`);let f=r?W(q,{sx:{my:`5px`},size:`small`,color:`iochmara`,variant:`contained`,onClick:()=>{r(e)},children:`Add to Checklist`}):void 0;return{columns:c.columns,rows:c.rows,warnings:d.length>0?d:void 0,warningStyle:`amber`,toolbar:f,defaultColumnOptions:{resizable:!0,maxWidth:800,minWidth:35}}}});function Yc(e){return b(e)}function Xc(e){return g(e)}function Zc(e){if(!e.result)return null;let t=Ae(e.result);return{columns:t.columns,rows:t.rows,isEmpty:t.rows.length===0}}function Qc(e){if(!e.result)return null;let t=We(e.result);return{columns:t.columns,rows:t.rows,isEmpty:t.rows.length===0}}const $c=lc({displayName:`RowCountResultView`,typeGuard:Yc,expectedRunType:`row_count`,screenshotWrapper:`grid`,transformData:Zc,emptyState:`No nodes matched`}),el=lc({displayName:`RowCountDiffResultView`,typeGuard:Xc,expectedRunType:`row_count_diff`,screenshotWrapper:`grid`,transformData:Qc,emptyState:`No nodes matched`});function tl({params:e,onParamsChanged:t,setIsReadyToExecute:n}){let{columns:r,isLoading:i,error:a}=ju(e.model),o=r.map(e=>e.name);return z(()=>{n(!!e.column_name)},[e,n]),i?W(K,{children:`Loading...`}):o.length===0||a?W(K,{children:`Error: Please provide the 'catalog.json' to list column candidates`}):W(K,{sx:{m:`16px`},children:G(mn,{fullWidth:!0,children:[W(hn,{sx:{mb:1},children:`Pick a column to show top-k`}),G(gn,{value:e.column_name,onChange:n=>{let r=n.target.value;t({...e,column_name:r})},children:[W(`option`,{value:``,children:`Select column`}),o.map(e=>W(`option`,{value:e,className:`no-track-pii-safe`,children:e},e))]})]})})}function nl(e){return _(e)}function rl({model:e,columnName:t}){return G(Y,{variant:`h5`,sx:{pt:4,textAlign:`center`,color:F()?`grey.200`:`grey.600`},children:[`Model `,e,`.`,t]})}function il({showAll:e,onToggle:t}){return W(K,{sx:{display:`flex`,p:5,justifyContent:`start`},children:W(_t,{component:`button`,onClick:t,sx:{color:`iochmara.main`,cursor:`pointer`},children:e?`View Only Top-10`:`View More Items`})})}function al(e,{viewOptions:t,onViewOptionsChanged:n,isDark:r}){let i=e.result,a=e.params;if(!i)return{isEmpty:!0};let o=i.base,s=i.current,c=t?.show_all??!1,l=!c,u=o.values.length>10||s.values.length>10?W(il,{showAll:c,onToggle:()=>{n&&n({...t,show_all:!c})}}):void 0;return{content:G(U,{children:[W(rl,{model:a.model,columnName:a.column_name}),G(J,{direction:`row`,sx:{alignItems:`center`},children:[W(K,{sx:{flex:1}}),W(Vs,{baseData:o,currentData:s,showComparison:!0,maxItems:l?10:void 0,theme:r?`dark`:`light`}),W(K,{sx:{flex:1}})]})]}),footer:u}}const ol=lc({displayName:`TopKDiffResultView`,typeGuard:nl,expectedRunType:`top_k_diff`,screenshotWrapper:`box`,emptyState:`No data`,transformData:al});function sl(e){return T(e)}const cl=lc({displayName:`ValueDiffDetailResultView`,typeGuard:sl,expectedRunType:`value_diff_detail`,screenshotWrapper:`grid`,emptyState:`No data`,transformData:(e,{viewOptions:t,onViewOptionsChanged:n})=>{let r=t?.changed_only??!1,i=t?.pinned_columns??[],a=t?.display_mode??`inline`,o=t?.columnsRenderMode??{},s=e.params?.primary_key;if(!s||!e.result)return{isEmpty:!0};let c=Array.isArray(s)?s:[s],l=Ge(e.result,c,{changedOnly:r,pinnedColumns:i,onPinnedColumnsChange:e=>{n&&n({...t,pinned_columns:e})},columnsRenderMode:o,onColumnsRenderModeChanged:e=>{let r={...t?.columnsRenderMode??{},...e};n&&n({...t,columnsRenderMode:r})},displayMode:a});if(l.columns.length===0)return{isEmpty:!0};let u=e.result?.limit??0,d=[];u>0&&e.result?.more&&d.push(`Warning: Displayed results are limited to ${u.toLocaleString()} records. To ensure complete data retrieval, consider applying a LIMIT or WHERE clause to constrain the result set.`);let f=G(U,{children:[W(la,{displayMode:a,onDisplayModeChanged:e=>{n&&n({...t,display_mode:e})}}),W(sa,{changedOnly:t?.changed_only,onChange:()=>{let e=!t?.changed_only;n&&n({...t,changed_only:e})}})]});return r&&l.rows.length===0?{isEmpty:!0,emptyMessage:`No change`,toolbar:f,warnings:d.length>0?d:void 0,warningStyle:`amber`}:{columns:l.columns,rows:l.rows,warnings:d.length>0?d:void 0,warningStyle:`amber`,toolbar:f,defaultColumnOptions:{resizable:!0,maxWidth:800,minWidth:35},noRowsMessage:`No mismatched rows`}}});function ll({params:e,onParamsChanged:t,setIsReadyToExecute:n}){let[r,i]=H(!e.columns||e.columns.length===0),a=e.model,o=e.primary_key,{columns:s,primaryKey:c,isLoading:l,error:u}=ju(e.model);z(()=>{!o&&c&&t({...e,primary_key:c})},[o,c,e,t]),z(()=>{n(!!(o&&a))},[o,a,n]);let d=s.map(e=>e.name),f=Array.isArray(o)?o:o?[o]:void 0;return l?W(K,{children:`Loading...`}):d.length===0||u?W(K,{children:`Error: Please provide the 'catalog.json' to list column candidates`}):G(J,{spacing:5,sx:{m:`8px 24px`,pb:`200px`},children:[G(K,{children:[W(Y,{variant:`body2`,sx:{mb:1},children:`Model`}),W(vn,{fullWidth:!0,size:`small`,value:e.model,slotProps:{input:{readOnly:!0}}})]}),G(K,{children:[W(Y,{variant:`body2`,sx:{mb:1},children:`Primary key`}),W(Cr,{multiple:!0,size:`small`,disableCloseOnSelect:!0,options:d,value:(f??[]).filter(e=>e!==void 0),onChange:(n,r)=>{t({...e,primary_key:r.length===1?r[0]:r})},renderInput:e=>W(vn,{...e,placeholder:(f??[]).length===0?`Select primary key`:``,className:`no-track-pii-safe`})})]}),G(K,{children:[W(Y,{variant:`body2`,sx:{mb:1},children:`Columns`}),W(Rt,{control:W(Lt,{checked:r,onChange:n=>{i(n.target.checked),t({...e,columns:void 0})},size:`small`}),label:`All columns`,sx:{mb:`10px`}}),!r&&W(Cr,{multiple:!0,size:`small`,disableCloseOnSelect:!0,options:d,value:e.columns??[],onChange:(n,r)=>{t({...e,columns:r.length===0?void 0:r})},renderInput:t=>W(vn,{...t,placeholder:(e.columns??[]).length===0?`Select columns`:``,className:`no-track-pii-safe`})})]})]})}function ul(e){return D(e)}function dl({params:e,summary:t}){let n=t.total-t.added-t.removed;return G(K,{sx:{px:`16px`,pt:`5px`,pb:`5px`},children:[`Model: `,e.model,`, `,t.total,` total (`,n,` common,`,` `,t.added,` added, `,t.removed,` removed)`]})}function fl(e){if(!e.result||!e.params)return{renderNull:!0};let t=Mc(e.result,{params:e.params});return t?{columns:t.columns,rows:t.rows,isEmpty:!1,header:W(dl,{params:e.params,summary:e.result.summary})}:{renderNull:!0}}const pl=lc({displayName:`ValueDiffResultView`,typeGuard:ul,expectedRunType:`value_diff`,screenshotWrapper:`grid`,transformData:fl}),ml={lineage_diff:{title:`Lineage Diff`,icon:vr},schema_diff:{title:`Schema Diff`,icon:gr},query:{title:`Query`,icon:Sr,RunResultView:Jc},query_base:{title:`Query Base`,icon:Sr,RunResultView:Jc},query_diff:{title:`Query Diff`,icon:Sr,RunResultView:Kc},row_count:{title:`Row Count`,icon:hr,RunResultView:$c},row_count_diff:{title:`Row Count Diff`,icon:hr,RunResultView:el},profile:{title:`Profile`,icon:xr,RunResultView:Uc,RunForm:Vc},profile_diff:{title:`Profile Diff`,icon:xr,RunResultView:Wc,RunForm:Vc},value_diff:{title:`Value Diff`,icon:_r,RunResultView:pl,RunForm:ll},value_diff_detail:{title:`Value Diff Detail`,icon:_r,RunResultView:cl,RunForm:ll},top_k_diff:{title:`Top-K Diff`,icon:vt,RunResultView:ol,RunForm:tl},histogram_diff:{title:`Histogram Diff`,icon:yr,RunResultView:fc,RunForm:Ra},simple:{title:`Simple`,icon:br}};function hl(e){return ml[e]}const gl=ml;function _l(e){let t={...ml};for(let[n,r]of Object.entries(e))r&&n in t&&(t[n]={...t[n],...r});return t}function vl(e){return t=>e[t]}function yl(e){return{id:e.run_id,name:e.name,type:e.type,status:e.status??`Finished`,runAt:e.run_at,checkId:e.check_id}}function bl(){let{closeHistory:t,showRunId:n,runId:r}=M(),{featureToggles:i}=ie(),{apiClient:o}=Zl(),s=fr(),c=ot(),{basePath:l}=ae(),{data:u,isLoading:d}=at({queryKey:k.runs(),queryFn:async()=>await e(o),retry:!1}),f=B(()=>(u??[]).map(yl),[u]),p=R(e=>{Ze({name:`click_run`}),n(e,!1)},[n]),m=R(async e=>{Ze({name:`add_to_checklist`});let t=await a(e,void 0,o);await c.invalidateQueries({queryKey:k.checks()}),s.push(`${l}/checks/?id=${t.check_id}`)},[o,c,s.push,l]),h=R(e=>{Ze({name:`go_to_check`}),s.push(`${l}/checks/?id=${e}`)},[s.push,l]),g=R(()=>{Ze({name:`hide`}),t()},[t]),_=R(e=>{let t=hl(e)?.icon;return t?W(t,{}):null},[]),v=W(X,{"aria-label":`Close History`,onClick:g,children:W(on,{})});return W(xs,{runs:f,selectedId:r,isLoading:d,onRunSelect:p,onAddToChecklist:m,onGoToCheck:h,getRunIcon:_,hideAddToChecklist:i.disableUpdateChecklist&&!i.checklistPermissionDenied,disableAddToChecklist:i.checklistPermissionDenied,title:`History`,headerActions:v,emptyMessage:`No runs`,loadingMessage:`Loading...`,groupByDate:!0,addToChecklistIcon:W(mr,{}),goToCheckIcon:W(pr,{color:`green`})})}const xl=({size:e=16})=>G(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,children:[W(`circle`,{cx:`12`,cy:`12`,r:`10`}),W(`path`,{d:`M12 16v-4`}),W(`path`,{d:`M12 8h.01`})]});function Sl({isOpen:e,onClose:t,onExecute:n,type:r,title:i,params:a,RunForm:o,onCancel:s,onExecuteClick:c,documentationUrl:l,InfoIcon:u=xl}){let[d,f]=H(a??{}),[p,m]=H(null),[h,g]=H(!1),_=V(!1),v=()=>{_.current||s?.(),_.current=!1,t()};return G(pt,{open:e,onClose:v,maxWidth:`sm`,fullWidth:!0,scroll:`paper`,slotProps:{paper:{sx:{height:`75%`,minHeight:`400px`}}},children:[G(gt,{sx:{display:`flex`,alignItems:`center`},children:[i,` `,l&&G(U,{children:[W(X,{size:`small`,"aria-label":`Click this button to learn more about the SQL behind`,onMouseEnter:e=>m(e.currentTarget),onMouseLeave:()=>m(null),onClick:()=>window.open(l,`_blank`),children:W(K,{component:u,sx:{fontSize:`16px`}})}),W(zn,{open:!!p,anchorEl:p,onClose:()=>m(null),anchorOrigin:{vertical:`bottom`,horizontal:`right`},transformOrigin:{vertical:`top`,horizontal:`right`},disableRestoreFocus:!0,sx:{pointerEvents:`none`},slotProps:{paper:{sx:{bgcolor:`black`,color:`white`,p:1}}},children:G(Y,{sx:{fontSize:`0.875rem`},children:[`Click`,` `,W(_t,{href:l,target:`_blank`,sx:{textDecoration:`underline`,color:`white`,"&:hover":{color:`iochmara.300`}},children:`here`}),` `,`to learn more about the SQL behind`]})})]})]}),W(X,{"aria-label":`close`,onClick:v,sx:{position:`absolute`,right:8,top:8,color:`grey.500`},children:W(Ot,{})}),W(ht,{sx:{p:0,overflow:`auto`,borderTop:`1px solid`,borderBottom:`1px solid`,borderColor:`divider`},children:W(K,{sx:{contain:`layout`},children:o&&W(o,{params:d,onParamsChanged:f,setIsReadyToExecute:g})})}),W(mt,{children:W(J,{direction:`row`,spacing:`10px`,children:W(q,{disabled:!h,color:`iochmara`,variant:`contained`,onClick:()=>{_.current=!0,c?.(),n(r,d)},children:`Execute`})})})]})}const Cl=e=>({value_diff:`https://docs.reccehq.com/features/lineage/#value-diff`,profile_diff:`https://docs.reccehq.com/features/lineage/#profile-diff`,histogram_diff:`https://docs.reccehq.com/features/lineage/#histogram-diff`,top_k_diff:`https://docs.reccehq.com/features/lineage/#top-k-diff`})[e]||null;function wl({isOpen:e,onClose:t,onExecute:n,type:r,title:i,params:a,initialRun:o,RunForm:s}){return W(Sl,{isOpen:e,onClose:t,onExecute:n,type:r,title:i,params:a,initialRun:o,RunForm:s,onCancel:()=>{Je(r)&&Xe({action:r,event:qe.CANCEL})},onExecuteClick:()=>{Je(r)&&Xe({action:r,event:qe.EXECUTE})},documentationUrl:Cl(r),InfoIcon:Xt})}const Tl=lt(function({isRunning:e,runId:t,progress:n,error:r,run:i,onCancel:a,viewOptions:o,onViewOptionsChanged:s,RunResultView:c,children:l,ErrorBoundary:u,errorBoundaryFallback:d},f){let p=F(),m=os(),h=r?.response?.data?.detail??i?.error,g=i?.run_id??t,_=g!=null&&m.has(g),v=i?.status===`Cancelled`||_;if(h)return G(Zn,{severity:`error`,sx:p?{bgcolor:`error.dark`,color:`common.white`,"& .MuiAlert-icon":{color:`common.white`}}:void 0,children:[`Error: `,W(`span`,{className:`no-track-pii-safe`,children:h})]});if(v)return W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,p:`1rem`,height:`100%`,bgcolor:p?`grey.900`:`grey.50`},children:W(J,{spacing:1,sx:{alignItems:`center`},children:W(Y,{children:`Cancelled`})})});if((e||i?.status===`Running`)&&!_){let e=`Loading...`;n?.message?e=n.message:i?.progress?.message&&(e=i.progress.message);let t=n?.percentage==null?void 0:n.percentage*100;return W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,p:`1rem`,height:`100%`,bgcolor:p?`grey.900`:`grey.50`},children:G(J,{spacing:2,sx:{alignItems:`center`},children:[G(J,{direction:`row`,spacing:1,sx:{alignItems:`center`},children:[t==null?W(fn,{size:32}):G(K,{sx:{position:`relative`,display:`inline-flex`},children:[W(fn,{variant:`determinate`,value:t,size:32}),W(K,{sx:{top:0,left:0,bottom:0,right:0,position:`absolute`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:W(Y,{variant:`caption`,component:`div`,sx:{fontSize:`0.6rem`},children:`${Math.round(t)}%`})})]}),W(Y,{className:`no-track-pii-safe`,children:e})]}),W(q,{variant:`contained`,onClick:a,size:`small`,children:`Cancel`})]})})}if(!i)return W(K,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,bgcolor:p?`grey.900`:`grey.50`,height:`100%`},children:W(fn,{size:32})});if(l&&c)throw Error(`RunView requires either a children or a RunResultView prop, but not both.`);if(!l&&!c)throw Error(`RunView requires at least one of children or RunResultView prop.`);return W(K,{sx:{height:`100%`,contain:`layout`,overflow:`auto`,bgcolor:p?`grey.900`:`grey.50`},className:`no-track-pii-safe`,children:(()=>{let e=c&&(i.error??i.result)?W(c,{ref:f,run:i,viewOptions:o,onViewOptionsChanged:s}):null,t=l?.({run:i,viewOptions:o,onViewOptionsChanged:s});return u&&e?G(U,{children:[W(u,{fallback:d,children:e}),t]}):G(U,{children:[e,t]})})()})});Tl.displayName=`RunView`;const El=L(({type:e,params:t})=>{let n=F();return W(Lo,{value:En.stringify({type:e,params:t},null,2),language:`yaml`,readOnly:!0,lineNumbers:!1,wordWrap:!0,fontSize:14,height:`100%`,theme:n?`dark`:`light`,className:`no-track-pii-safe`})});El.displayName=`ParamView`;function Dl(e,t){return t!=null&&t>0?`${e} (${ve(t)})`:e}const Ol=L(({open:e,rowCount:t,onContinue:n,onCancel:r})=>G(pt,{open:e,onClose:r,children:[W(gt,{children:`Large Export Warning`}),W(ht,{children:G(wr,{children:[`You are about to download `,W(`strong`,{children:ve(t)}),`. This may take a while and produce a large file. Are you sure you want to continue?`]})}),G(mt,{children:[W(q,{onClick:r,children:`Cancel`}),W(q,{onClick:n,variant:`contained`,children:`Continue`})]})]}));Ol.displayName=`LargeExportWarningDialog`;const kl=L(({disableExport:e,onCopyAsImage:t,onMouseEnter:n,onMouseLeave:r,csvExport:i,label:a=`Export`})=>{let[o,s]=H(null),c=!!o,[l,u]=H(!1),[d,f]=H(null),p=i?.totalRowCount??0,m=p>1e5,h=e=>{s(e.currentTarget)},g=()=>{s(null)},_=e=>{m?(f(()=>e),u(!0)):(e(),g())};return G(U,{children:[W(q,{size:`small`,variant:`outlined`,color:`neutral`,onClick:h,endIcon:W(Bt,{}),sx:{textTransform:`none`},children:a}),G(cn,{anchorEl:o,open:c,onClose:g,children:[G(Q,{onClick:async()=>{await t(),g()},onMouseEnter:n,onMouseLeave:r,disabled:e,children:[W(Tr,{children:W(Yt,{})}),W(Er,{children:`Copy as Image`})]}),G(Q,{onClick:async()=>{await i?.copyAsTSV?.(),g()},disabled:e||!i?.canExportCSV,children:[W(Tr,{children:W(Gt,{})}),W(Er,{children:`Copy as Text`})]}),G(Q,{onClick:async()=>{await i?.copyAsCSV(),g()},disabled:e||!i?.canExportCSV,children:[W(Tr,{children:W(nn,{})}),W(Er,{children:`Copy as CSV`})]}),i?.copySelectedRows&&G(Q,{onClick:async()=>{await i.copySelectedRows?.(),g()},disabled:e,children:[W(Tr,{children:W(tn,{})}),W(Er,{children:`Copy Selected Rows`})]}),G(Q,{onClick:()=>_(()=>i?.downloadAsCSV()),disabled:e||!i?.canExportCSV,children:[W(Tr,{children:W(Jt,{})}),W(Er,{children:Dl(`Download as CSV`,i?.totalRowCount)})]}),G(Q,{onClick:()=>_(()=>i?.downloadAsTSV?.()),disabled:e||!i?.canExportCSV,children:[W(Tr,{children:W(Jt,{})}),W(Er,{children:Dl(`Download as TSV`,i?.totalRowCount)})]}),i?.downloadAsExcel&&G(Q,{onClick:()=>_(()=>i?.downloadAsExcel?.()),disabled:e||!i?.canExportCSV,children:[W(Tr,{children:W(Jt,{})}),W(Er,{children:Dl(`Download as Excel`,i?.totalRowCount)})]})]}),W(Ol,{open:l,rowCount:p,onContinue:()=>{u(!1),d?.(),f(null),g()},onCancel:()=>{u(!1),f(null)}})]})});kl.displayName=`DefaultExportMenu`;const Al=L(({runId:e,run:t,disableUpdateChecklist:n,checklistPermissionDenied:r,hasError:i,onGoToCheck:a,onAddToChecklist:o})=>{let s=os();if(e&&s.has(e))return null;let c=t?.check_id,l=!e||!t?.result||i;return n&&!r?null:c?W(q,{disabled:l,size:`small`,variant:`contained`,onClick:()=>a?.(c),startIcon:W(Ht,{}),sx:{textTransform:`none`},children:`Go to Check`}):W(Z,{title:r?`You don't have permission to add checks`:``,children:W(`span`,{children:W(q,{disabled:l||r,size:`small`,variant:`contained`,onClick:o,startIcon:W(Ht,{}),sx:{textTransform:`none`},children:`Add to Checklist`})})})});Al.displayName=`DefaultAddToCheckButton`;const jl=L(({run:e})=>{let t=os(),n=e.run_id&&t.has(e.run_id)?`Cancelled`:e.status||(e.result?`Finished`:e.error?`Failed`:`unknown`),r=e=>{switch(e.toLowerCase()){case`finished`:return`success.main`;case`failed`:return`error.main`;case`running`:return`primary.main`;default:return`text.secondary`}},i=e.run_at?bn(new Date(e.run_at),{addSuffix:!0}):`Unknown time`;return G(Y,{variant:`body2`,sx:{color:`text.secondary`},children:[W(K,{component:`span`,sx:{fontWeight:600,color:r(n)},children:n}),`・`,i]})});jl.displayName=`RunStatusAndDateDisplay`;function Ml({runId:e,run:t,isRunning:n,error:r,viewOptions:i,onViewOptionsChanged:a,isSingleEnvironment:o,disableDatabaseQuery:s,disableShare:c,disableUpdateChecklist:l,checklistPermissionDenied:u,onClose:d,onCancel:f,onRerun:p,onCopyAsImage:m,onCopyMouseEnter:h,onCopyMouseLeave:g,csvExport:_,onTrackCopyToClipboard:v,onGoToCheck:y,onAddToChecklist:b,SingleEnvironmentNotification:x,SqlEditorComponent:S,DualSqlEditorComponent:C,RunResultView:w,resultViewRef:T,children:E}){let D=F(),O=os(),k=e?O.has(e):!1,[A,ee]=H(`result`),[te,ne]=H(!0),re=t?.type===`query`||t?.type===`query_diff`||t?.type===`query_base`,ie=!e||!t?.result||!!r||A!==`result`||k,ae=R(async()=>{await m?.(),v&&v(t?.type??`unknown`,`run`)},[m,v,t?.type]),oe=t?.type===`query_diff`,se=t?.params;return G(K,{sx:{display:`flex`,flexDirection:`column`,height:`100%`,bgcolor:D?`grey.900`:`grey.50`},children:[o&&te&&x&&W(x,{runType:t?.type,onClose:()=>ne(!1)}),G(K,{sx:{display:`flex`,alignItems:`center`,borderBottom:1,borderColor:`divider`,mb:`1px`},children:[G(Cn,{value:A,onChange:(e,t)=>ee(t),children:[W(Sn,{label:`Result`,value:`result`}),W(Sn,{label:`Params`,value:`params`}),re&&W(Sn,{label:`Query`,value:`query`})]}),W(K,{sx:{flexGrow:1}}),G(J,{direction:`row`,spacing:1,sx:{alignItems:`center`,overflow:`hidden`,pr:1},children:[t&&W(jl,{run:t}),W(q,{variant:`outlined`,color:`neutral`,disabled:!e||n||s,size:`small`,onClick:p,startIcon:W(en,{}),sx:{textTransform:`none`},children:`Rerun`}),W(kl,{run:t,disableExport:ie,onCopyAsImage:ae,onMouseEnter:h,onMouseLeave:g,csvExport:_,label:c?`Export`:`Share`}),W(Al,{runId:e,run:t,disableUpdateChecklist:l,checklistPermissionDenied:u,hasError:!!r,onGoToCheck:y,onAddToChecklist:b}),W(X,{size:`small`,onClick:d,children:W(Ot,{})})]})]}),A===`result`&&(w||E)&&W(Tl,{ref:T,runId:e,isRunning:n,error:r,run:t,onCancel:f,viewOptions:i,onViewOptionsChanged:a,RunResultView:w,children:E}),A===`params`&&t&&W(El,{type:t.type,params:t.params}),A===`query`&&t&&re&&se?.sql_template&&W(U,{children:oe&&C?W(C,{value:se.sql_template,baseValue:se.base_sql_template,readOnly:!0}):S?W(S,{value:se.sql_template,readOnly:!0}):W(Lo,{value:se.sql_template,language:`sql`,readOnly:!0,theme:`dark`,height:`100%`})})]})}const Nl=L(Ml);Nl.displayName=`RunResultPane`;function Pl(e){let t=e.getSelectedNodes();if(t.length===0)return null;let n=e.getAllDisplayedColumns().filter(e=>e.getColId()!==`ag-Grid-SelectionColumn`);return n.length===0?null:Ie(n.map(e=>{let t=e.getColDef();return String(t.headerName??t.field??e.getColId())}),t.map(t=>n.map(n=>e.getCellValue({rowNode:t,colKey:n,useFormatter:!0})??``)))}const Fl=e=>G(K,{sx:{display:`flex`,flex:1,minHeight:`48px`,m:`4px`,px:`16px`,py:`12px`,bgcolor:`primary.50`,border:`1px solid`,borderRadius:`4px`,borderColor:`primary.400`,alignItems:e.align??`center`,gap:`12px`},children:[W(K,{component:Dr,sx:{width:`20px`,height:`20px`,color:`primary.900`}}),e.children,W(K,{sx:{flexGrow:1}}),W(X,{size:`small`,onClick:e.onClose,children:W(Ot,{})})]}),Il=()=>G(_t,{href:`https://docs.reccehq.com/get-started/#prepare-dbt-artifacts`,target:`_blank`,sx:{color:`primary.main`,fontWeight:`bold`,textDecoration:`underline`,display:`inline-flex`,alignItems:`center`,gap:.5},children:[`Learn how `,W(yt,{})]});function Ll({value:e,onChange:t,onRun:n,onRunBase:r,onRunDiff:i,label:a,CustomEditor:o,options:s={},manifestData:c,schemas:l,...u}){let{featureToggles:d}=ie(),f=F(),p=e=>{t&&t(e)},m=``;c&&(m=c.generated_at?ze(c.generated_at):``);let h=B(()=>{let e=[];return n&&e.push({key:`Mod-Enter`,run:()=>(n(),!0)}),r&&e.push({key:`Alt-Enter`,run:()=>(r(),!0)}),i&&e.push({key:`Mod-Shift-Enter`,run:()=>(i(),!0)}),e},[n,r,i]);return G(U,{children:[(a??n??r)&&G(J,{direction:`row`,sx:{bgcolor:St(f?P.neutral[600]:P.neutral[200],.7),height:`40px`,minHeight:`40px`,fontSize:`14px`,alignItems:`center`,m:0,p:`0px 16px`,flex:`0 0 40px`},children:[W(Y,{component:`strong`,sx:{fontWeight:`bold`},className:`no-track-pii-safe`,children:a?a.toUpperCase():``}),c&&G(`span`,{className:`ml-1`,children:[`(`,l&&G(`span`,{className:`no-track-pii-safe`,children:[l,`, `]}),W(`span`,{children:m}),`)`]}),W(K,{sx:{flexGrow:1}}),(n??r)&&W(q,{size:`xsmall`,variant:`outlined`,onClick:n??r,sx:{bgcolor:`background.paper`,p:`6px 12px`},disabled:d.disableDatabaseQuery,startIcon:W(Or,{}),children:`Run Query`})]}),o??W(Lo,{value:e,onChange:p,language:`sql`,readOnly:s.readOnly??!1,lineNumbers:s.lineNumbers!==`off`,wordWrap:s.wordWrap!==`off`,fontSize:s.fontSize??16,keyBindings:h,theme:f?`dark`:`light`,className:`no-track-pii-safe max-h-dvh h-full`})]})}function Rl({value:e,baseValue:t,onChange:n,onChangeBase:r,onRun:i,onRunBase:a,onRunDiff:o,options:s={},labels:c,SetupGuide:l,...u}){let d=c?c[0]:`Base`,f=c?c[1]:`Current`,{envInfo:p,lineageGraph:m}=fe(),h,g;p?.dbt?.base&&p.dbt.current&&(h=p.dbt.base,g=p.dbt.current);let[_,v]=Le(m);return W(U,{children:G(J,{direction:`row`,sx:{height:`100%`,gap:0},children:[W(J,{sx:{height:`100%`,width:`50%`,gap:0,borderRight:`1px solid`,borderRightColor:`divider`},children:W(Ll,{label:d,value:t??``,onChange:r,onRunBase:a,options:s,CustomEditor:l,manifestData:h??void 0,schemas:Array.from(_).join(`, `),...u})}),W(J,{sx:{height:`100%`,width:`50%`,gap:0},children:W(Ll,{label:f,value:e,onChange:n,onRun:i,options:s,manifestData:g??void 0,schemas:Array.from(v).join(`, `),...u})})]})})}const zl=({runType:e,onClose:t})=>{switch(e){case`row_count`:return W(Fl,{onClose:t,children:G(Y,{children:[`Enable row count diffing, and other Recce features, by configuring a base dbt environment to compare against. `,W(Il,{})]})});case`profile`:return W(Fl,{onClose:t,children:G(Y,{children:[`Enable data-profile diffing, and other Recce features, by configuring a base dbt environment to compare against.`,` `,W(Il,{})]})});default:return null}},Bl=({value:e,readOnly:t})=>W(Ll,{value:e,options:{readOnly:t}}),Vl=({value:e,baseValue:t,readOnly:n})=>W(Rl,{value:e,baseValue:t,options:{readOnly:n}}),Hl=({runId:e,onClose:t,isSingleEnvironment:n})=>{let{featureToggles:r}=ie(),{runAction:i}=M(),{error:o,run:s,onCancel:c,isRunning:l}=Mu(e),[u,f]=H(),p=ot(),m=fr(),{apiClient:h}=Zl(),{basePath:g}=ae(),_;s&&d(s.type)&&(_=hl(s.type).RunResultView);let{ref:v,onCopyToClipboard:y,onMouseEnter:b,onMouseLeave:x}=bu(),S=Eu({run:s,runId:e,viewOptions:u}),C=!!s?.type&&[`query`,`query_base`,`query_diff`].includes(s.type),w=R(async()=>{let e=v.current?.api;if(!e)return;let t=Pl(e);if(!t){I.create({title:`No rows selected`,description:`Select rows with the checkboxes, then copy.`,type:`info`,duration:3e3});return}try{await Se(t),I.create({title:`Copied to clipboard`,description:`Selected rows copied — paste into any spreadsheet`,type:`success`,duration:2e3}),Ye({type:s?.type??`unknown`,from:`run-selection`})}catch(e){console.error(`Failed to copy selected rows:`,e),I.create({title:`Copy failed`,description:`Failed to copy to clipboard`,type:`error`,duration:3e3})}},[v,s?.type]),T=R(()=>{s&&i(s.type,s.params)},[s,i]),E=R(async()=>{await y(),Ye({type:s?.type??`unknown`,from:`run`})},[y,s?.type]),D=R(e=>{m.push(`${g}/checks/?id=${e}`)},[m.push,g]),O=R(async()=>{if(e)try{let t=await a(e,u,h);await p.invalidateQueries({queryKey:k.checks()}),m.push(`${g}/checks/?id=${t.check_id}`)}catch(e){ne(e)&&e.status===403?I.error({title:`Permission denied`,description:`You don't have permission to add checks. Contact your org admin for access.`}):I.error({title:`Failed to create check`,description:e instanceof Error?e.message:`An unexpected error occurred`})}},[e,u,h,p,m.push,g]);return W(Nl,{runId:e,run:s,isRunning:l,error:o,viewOptions:u,onViewOptionsChanged:f,isSingleEnvironment:n,disableDatabaseQuery:r.disableDatabaseQuery,disableShare:r.disableShare,disableUpdateChecklist:r.disableUpdateChecklist,checklistPermissionDenied:r.checklistPermissionDenied,onClose:t,onCancel:c,onRerun:T,onCopyAsImage:E,onCopyMouseEnter:b,onCopyMouseLeave:x,csvExport:{...S,copySelectedRows:C?w:void 0},onGoToCheck:D,onAddToChecklist:O,SingleEnvironmentNotification:zl,SqlEditorComponent:Bl,DualSqlEditorComponent:Vl,RunResultView:_,resultViewRef:v})},Ul=({onClose:e,isSingleEnvironment:t})=>{let{runId:n}=M();return W(Hl,{runId:n,onClose:e,isSingleEnvironment:t})};function Wl({error:e,resetError:t}){let{background:n,text:r}=Nu();return W(K,{sx:{height:`100%`,bgcolor:n.subtle,display:`flex`,alignItems:`center`,justifyContent:`center`},children:G(K,{sx:{p:4,display:`flex`,flexDirection:`column`,justifyContent:`flex-start`,bgcolor:`background.paper`,border:`solid 1px`,borderColor:`divider`,minHeight:`200px`},children:[W(Y,{variant:`h6`,sx:{width:`800px`},children:`You have encountered an error`}),W(K,{sx:{flex:1,fontSize:`10pt`,color:r.secondary},children:String(e)}),W(q,{sx:{justifySelf:`center`,alignSelf:`center`,mt:`20px`},color:`iochmara`,variant:`contained`,size:`small`,onClick:t,children:`Reset`})]})})}const Gl=e=>W(Wl,{error:e.error,resetError:e.resetError}),Kl=({children:e,fallback:t=Gl})=>W(kr,{fallback:t,children:e}),ql=lt(function(e,t){return W(Tl,{...e,ErrorBoundary:Kl,errorBoundaryFallback:tt,ref:t})});ql.displayName=`RunViewOss`;const Jl={mode:`per_node`,status:`pending`,completed:0,total:0,actions:{}},Yl=(e,t)=>{let{onActionStarted:n,onActionNodeUpdated:r,onActionCompleted:i,onTrackAction:a,trackingSource:o=`lineage_view_top_bar`}=t,c=A(),u=V({...Jl}).current,d=os(),{showRunId:f}=M(),p=async(t,a,o)=>{u.mode=`multi_nodes`,u.actions={};let s=u.mode,l=u.actions;n(),u.status=`running`;let d=[];for(let t of e){let e=a(t);e?(l[t.id]={mode:s,status:`skipped`,skipReason:e},r(t)):(l[t.id]={mode:s,status:`pending`},d.push(t))}let p=o(d);try{let{run_id:e}=await C(t,p,{nowait:!0},c);for(f(e),u.currentRun={run_id:e},u.total=1;;){let t=await x(e,2,c);u.currentRun=t;let n=t.error?`failure`:t.result?`success`:`running`;for(let e of d)l[e.id]={mode:s,status:n,run:t},r(e);if(t.error||t.result)break}}catch{}if(u.completed=1,u.status===`canceling`){u.status=`canceled`,i();return}u.status=`completed`,i()},m=async(t,a)=>{u.mode=`per_node`,u.actions={};let o=u.mode,s=u.actions;n(),u.status=`running`;for(let t of e)s[t.id]={mode:o,status:`pending`},r(t);u.completed=0,u.total=e.length;for(let n of e){let{params:e,skipReason:l}=a(n);if(l)s[n.id]={mode:o,status:`skipped`,skipReason:l},r(n);else try{let{run_id:i}=await C(t,e,{nowait:!0},c);for(u.currentRun={run_id:i},s[n.id]={mode:o,status:`running`},r(n);;){let e=await x(i,2,c);u.currentRun=e;let t=e.error?`failure`:e.result?`success`:`running`;if(s[n.id]={mode:o,status:t,run:e},r(n),e.error||e.result)break}}catch{}finally{u.currentRun=void 0}if(u.completed++,u.status===`canceling`){u.status=`canceled`,i();return}}u.status=`completed`,i()};return{actionState:u,runRowCount:async()=>{a?.({action:`row_count`,source:o,node_count:e.length});for(let t of e)t.data.resourceType!==`model`&&(u.actions[t.id]={mode:`multi_nodes`,status:`skipped`,skipReason:`Not a model`},r(t));await p(`row_count`,e=>{if(e.data.resourceType!==`model`)return`Not a model`},e=>({node_names:e.map(e=>e.data.name)}))},runRowCountDiff:async()=>{a?.({action:`row_count_diff`,source:o,node_count:e.length});for(let t of e)t.data.resourceType!==`model`&&(u.actions[t.id]={mode:`multi_nodes`,status:`skipped`,skipReason:`Not a model`},r(t));await p(`row_count_diff`,e=>{if(e.data.resourceType!==`model`)return`Not a model`},e=>({node_names:e.map(e=>e.data.name)}))},runValueDiff:async()=>{a?.({action:`value_diff`,source:o,node_count:e.length}),await m(`value_diff`,e=>({skipReason:`No primary key found. The first unique column is used as primary key.`}))},addLineageDiffCheck:async()=>await s({node_ids:e.map(e=>e.id)},c),addSchemaDiffCheck:async()=>{let t;return t=e.length===1?await v({node_id:e[0].id},c):await v({node_id:e.map(e=>e.id)},c),t},cancel:()=>{u.status=`canceling`;let e=u.currentRun?.run_id;return e&&(d.add(e),l(e,c)),Promise.resolve()},reset:()=>{Object.assign(u,Jl)}}},Xl={apiPrefix:``,authToken:void 0,baseUrl:void 0,apiClient:te({baseURL:$e??``})};function Zl(){return O()??Xl}function Ql({connect:e,idleSeconds:t}){return G(U,{children:[W(gt,{children:`Server Disconnected`}),W(ht,{children:t!=null&&t>0?G(Y,{children:[`The server has been idle for `,Ve(t),` and was automatically stopped. Please restart the Recce server to continue.`]}):W(Y,{children:`The server connection has been lost. Please restart the Recce server and try again.`})}),W(mt,{children:W(q,{color:`iochmara`,variant:`contained`,onClick:()=>{e()},children:`Retry`})})]})}function $l({shareUrl:e,mode:t,supportCalendarUrl:n,LinkComponent:r}){let i={"read only":{title:`Share Instance Expired`,body:`This Share Instance has expired. Please restart the share instance.`,action:`Restart`,link:e},"metadata only":{title:`Preview Instance Expired`,body:`This Preview Instance has expired. To browse more, please book a meeting with us.`,action:`Contact us`,link:n}}[t],a=W(q,{color:`iochmara`,variant:`contained`,children:i.action});return G(U,{children:[W(gt,{children:i.title}),W(ht,{children:W(Y,{children:i.body})}),W(mt,{children:t===`read only`?W(r||`a`,{href:i.link,children:a}):W(q,{color:`iochmara`,variant:`contained`,onClick:()=>window.open(i.link,`_blank`),children:i.action})})]})}function eu(e){let{apiClient:t}=Zl();return at({queryKey:k.lineage(),queryFn:()=>E(t),...e})}function tu({enabled:e=!0,baseUrl:t,apiPrefix:n}={}){let[r,i]=H(void 0),a=V({ws:void 0,status:`pending`,artifactsUpdatedToastId:void 0}),[o,s]=H(e?`pending`:`connected`),[c,l]=H(void 0);z(()=>{a.current.status=o},[o]),z(()=>{a.current.artifactsUpdatedToastId=r},[r]);let u=ot(),d=R(()=>{u.invalidateQueries({queryKey:k.lineage()}),u.invalidateQueries({queryKey:k.checks()}),u.invalidateQueries({queryKey:k.runs()})},[u]),f=R(()=>{function e(e){return e.replace(/(http)(s)?:\/\//,`ws$2://`)}let r=t??$e,o=n?`${n}/ws`:`/api/ws`,c=new WebSocket(`${e(r)}${o}`);a.current.ws=c,c.onopen=()=>{c.send(`ping`)},c.onmessage=e=>{if(e.data===`pong`){a.current.status===`disconnected`&&d(),s(`connected`);return}try{let t=JSON.parse(e.data);if(`type`in t&&t.type===`metadata_updated`){d();return}let n=t;if(n.command===`refresh`){let{eventType:e,srcPath:t}=n.event,[r,o]=t.split(`/`).slice(-2),s=o.replace(/\.[^/.]+$/,``),c=`${r}-${s}-${e}`;a.current.artifactsUpdatedToastId??i(I.create({id:c,description:`Detected ${r} ${s} ${e}`,type:`info`,duration:5e3,closable:!0})),d()}else if(n.command===`relaunch`)l(`relaunch`);else{let{id:e,title:t,description:r,status:a,duration:o}=n.event;i(I.create({id:e||`broadcast`,title:t,description:r,type:a??`info`,duration:o??5e3,closable:!0}))}}catch(e){console.error(e)}},c.onerror=e=>{console.error(`An error occurred during Handling WebSockets`,e)},c.onclose=()=>{s(e=>e===`connected`?`disconnected`:e),a.current.ws=void 0}},[d,t,n]);return z(()=>{if(!e)return;let t=a.current;return f(),()=>{t.ws&&t.ws.close()}},[f,e]),{connectionStatus:o,connect:f,envStatus:c}}function nu({children:e}){let{idleTimeout:t,remainingSeconds:n,isEnabled:r,setDisconnected:i,resetConnection:a}=oe(),{apiClient:o,apiPrefix:s,baseUrl:l}=Zl(),u=eu(),d=at({queryKey:k.runsAggregated(),queryFn:()=>c(o)}),f=B(()=>{let e=u.data?.lineage;if(e?.nodes)return ue(e)},[u.data]),p=u.error?.message,{state_metadata:m,lineage:h,sqlmesh:g,demo:_,codespace:v,review_mode:y,cloud_mode:b,file_mode:x,filename:S,adapter_type:C,git:w,pull_request:T,support_tasks:E}=u.data??{demo:!1},D={stateMetadata:m,adapterType:C,git:w,pullRequest:T,dbt:{base:h?.metadata?.base?.manifest_metadata,current:h?.metadata?.current?.manifest_metadata},sqlmesh:g},{connectionStatus:O,connect:A,envStatus:te}=tu({enabled:!0,baseUrl:l,apiPrefix:s});z(()=>{O===`disconnected`?i():O===`connected`&&a()},[O,i,a]);let{data:ne,isLoading:re}=j(),{featureToggles:ae,shareUrl:se}=ie(),[ce,le]=H(!1),[M,fe]=H(!1),pe=ot(),N=!re&&te===`relaunch`&&ne?.single_env_onboarding===!0&&ne.show_relaunch_hint;N!==M&&(fe(N),le(N)),z(()=>{N&&ce&&Qe({action:`target_base_added`})},[N,ce]);let me=()=>{le(!1),ee(o),pe.invalidateQueries({queryKey:k.flag()})},he=R(()=>{d.refetch()},[d]),ge=R(()=>{d.refetch()},[d]);return G(U,{children:[W(de,{lineageGraph:f,envInfo:D,reviewMode:y,cloudMode:b,fileMode:x,fileName:S,isDemoSite:_??!1,isCodespace:v,isLoading:u.isLoading,error:p,supportTasks:E,onRefetchLineageGraph:he,runsAggregated:d.data,onRefetchRunsAggregated:ge,children:e}),W(pt,{open:O===`disconnected`,onClose:()=>void 0,children:se&&ae.mode!==null?W($l,{shareUrl:se,mode:ae.mode,supportCalendarUrl:et,LinkComponent:({href:e,children:t})=>W(Dt,{href:e,passHref:!0,children:t})}):W(Ql,{connect:A,idleSeconds:r&&t!==null&&n!==null&&n<=5?t-Math.max(0,n):void 0})}),ne?.single_env_onboarding&&G(pt,{open:ce,onClose:me,children:[W(gt,{children:`Target-base Added`}),W(X,{"aria-label":`close`,onClick:me,sx:{position:`absolute`,right:8,top:8,color:`grey.500`},children:W(Ot,{})}),W(ht,{children:W(Y,{children:`Please restart the Recce server.`})}),W(mt,{children:W(q,{color:`iochmara`,variant:`contained`,onClick:me,children:`Got it!`})})]})]})}const ru=`select * from {{ ref("mymodel") }}`;function iu({children:e}){let[t,n]=H(ru),[r,i]=H(ru),[a,o]=H(!1),[s,c]=H();return W(Ir,{sql:t,sqlQuery:t,setSqlQuery:n,primaryKeys:s,setPrimaryKeys:c,isCustomQueries:a,setCustomQueries:o,baseSqlQuery:r,setBaseSqlQuery:i,children:e})}const au=e=>{},ou=e=>{},su=e=>{},cu=e=>{};function lu(){let e=Lr();return{sqlQuery:e.sqlQuery??`select * from {{ ref("mymodel") }}`,setSqlQuery:e.setSqlQuery??au,primaryKeys:e.primaryKeys,setPrimaryKeys:e.setPrimaryKeys??ou,isCustomQueries:e.isCustomQueries??!1,setCustomQueries:e.setCustomQueries??su,baseSqlQuery:e.baseSqlQuery??`select * from {{ ref("mymodel") }}`,setBaseSqlQuery:e.setBaseSqlQuery??cu}}function uu(e){z(()=>{e()},[e,dr()])}function du({children:e}){let{apiClient:t}=Zl(),[n,r]=H(),[i,a]=H(!1),o=R(()=>a(!0),[]),s=R(()=>a(!1),[]),c=fr(),l=dr(),u=ot(),{basePath:d}=ae(),f=V(null);uu(s);let p=R(async(e,t)=>{t!==!1&&await u.invalidateQueries({queryKey:k.runs()})},[u]),h=R(async(e,n,i)=>{try{let a=new Date().getTime().toString(),s,p=i;if(p?.showLast){let r=await m(e,n,1,t);r.length===1&&(s=r[0])}let h=hl(e);if(!h)throw Error(`Run type ${e} does not have a result view`);let g=h.RunResultView,{title:_,RunForm:v}=h;if(g===void 0)throw Error(`Run type ${e} does not have a result view`);if(v===void 0||!i?.showForm){let{run_id:r}=await C(e,n,{nowait:!0,trackProps:p?.trackProps},t);await u.invalidateQueries({queryKey:k.runs()}),f.current&&f.current(r);let i=`${d}/lineage`;l.startsWith(`${i}/`)&&l!==i&&c.push(i);return}r({session:a,title:_,type:e,params:n,lastRun:s,options:p,RunForm:v}),o();return}catch(e){I.create({title:`Failed to submit a run`,description:e instanceof Error?e.message:void 0,type:`error`,duration:5e3,closable:!0});return}},[o,u,t,l,c,d]),g=R(async(e,r)=>{try{s();let{run_id:i}=await C(e,r,{nowait:!0,trackProps:n?.options?.trackProps},t);f.current&&f.current(i)}catch(e){I.create({title:`Failed to submit a run`,description:e instanceof Error?e.message:void 0,type:`error`,duration:5e3,closable:!0})}},[s,n?.options?.trackProps,t]);return G(re,{onRunAction:h,onShowRunId:p,children:[W(fu,{showRunIdRef:f,children:e}),n&&W(wl,{isOpen:i,onClose:s,onExecute:g,title:n.title,type:n.type,params:n.params,initialRun:n.lastRun,RunForm:n.options?.showForm&&n.RunForm?n.RunForm:void 0},n.session)]})}function fu({children:e,showRunIdRef:t}){let{showRunId:n}=M();return z(()=>(t.current=n,()=>{t.current=null}),[n,t]),W(U,{children:e})}const pu=ct(void 0);function mu({children:e}){let[t,n]=H(),[r,i]=H(!1),[a,o]=H(),{apiClient:s}=Zl();return W(pu.Provider,{value:{shareUrl:t,isLoading:r,error:a,handleShareClick:async()=>{i(!0),o(void 0),n(void 0);try{let e=await h(s);if(e.status!==`success`){o(e.message);return}n(e.share_url)}catch(e){o(e.message)}finally{i(!1)}}},children:e})}const hu=()=>{let e=ut(pu);if(!e)throw Error(`useRecceShareStateContext must be used within a RecceShareStateContextProvider`);return e};function gu({children:e}){return W(se,{children:W(mu,{children:W(iu,{children:W(nu,{children:W(du,{children:W(Rr,{children:e})})})})})})}const _u=e=>`element`in e?e.element:e,vu=`ignore-screenshot`;function yu({imageType:e=`png`,backgroundColor:t=null,boardEffect:n=!0,shadowEffect:r=!1,borderStyle:i=`solid 1px ${P.neutral[300]}`,borderRadius:a=`10px`,onSuccess:o,onError:s,ignoreElements:c}){let[l,u]=H(`idle`),d=V(null),{onOpen:f,setImgBlob:p,ImageDownloadModal:m}=xu(),h=async()=>{if(!d.current)throw console.error(`No node to use for screenshot`),Error(`No node to use for screenshot`);let e=_u(d.current);if(!e)throw console.error(`Could not get HTMLElement from ref`),Error(`Could not get HTMLElement from ref`);let o=e.style.overflow,s=e.style.border,l=e.style.borderRadius,f=e.style.backgroundColor,p=e.style.height;function m(){let t=e;t&&(t.style.overflow=o,t.style.border=s,t.style.borderRadius=l,t.style.backgroundColor=f,t.style.height=p)}let h=document.createElement(`style`);document.head.appendChild(h),h.sheet?.insertRule(`body > div:last-child img { display: inline-block; }`);try{e.style.overflow=`hidden`,e.style.border=n?i:``,e.style.borderRadius=n?a:``,e.style.backgroundColor=t??P.neutral[100],e.style.height=`${String(e.offsetHeight)}px`;let o=c?e=>!c(e):void 0;u(`loading`);let s=await Ar.toCanvas(e,{filter:o,filterMode:`remove`,backgroundColor:t??P.neutral[100]}),l=r?document.createElement(`canvas`):s;if(r){l.width=s.width+80,l.height=s.height+80;let e=l.getContext(`2d`);if(e)e.shadowColor=`rgba(0, 0, 0, 0.5)`,e.shadowBlur=20,e.shadowOffsetX=10,e.shadowOffsetY=10,e.drawImage(s,40,40);else throw console.error(`Error getting canvas context`),Error(`Error getting canvas context to add shadow effect`)}return await(await fetch(l.toDataURL())).blob()}catch(e){throw console.error(`Error converting to image`,e),e}finally{h.remove(),m()}};return{status:l,isLoading:l===`loading`,isErrored:l===`error`,isSuccess:l===`success`,copyToClipboard:async()=>{try{await navigator.clipboard.write([new ClipboardItem({[`image/${e}`]:h()})]),u(`success`),o&&o()}catch(e){e.message===`ClipboardItem is not defined`?(p(await h()),f(),u(`success`)):(u(`error`),console.error(`Error copying to clipboard`,e),s&&s(e))}},ImageDownloadModal:m,ref:d}}function bu(e){let{successToast:t,failToast:n}=He(),{isLoading:r,copyToClipboard:i,ImageDownloadModal:a,ref:o}=yu({imageType:`png`,shadowEffect:!0,backgroundColor:e?.backgroundColor??P.neutral[100],onSuccess:()=>{t(`Copied the query result as an image to clipboard`)},onError:e=>{console.error(`Error taking screenshot`,e),n(`Failed to copy image to clipboard`,e)}}),s=R(()=>{if(o.current){let e=_u(o.current);e&&(e.style.boxShadow=`rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px`,e.style.transition=`box-shadow 0.5s ease-in-out`)}},[o]),c=R(()=>{if(o.current){let e=_u(o.current);e&&(e.style.boxShadow=``)}},[o]),l=R(async()=>{if(o.current){await i();let e=_u(o.current);e&&(e.style.boxShadow=``)}else n(`Failed to copy image to clipboard`,`No content to copy`)},[o,i,n]);function u({imageType:e=`png`,...t}){return G(U,{children:[W(q,{size:`small`,sx:{position:`absolute`,bottom:16,right:16},disabled:r,onMouseEnter:s,onMouseLeave:c,onClick:l,startIcon:W(Kt,{}),...t,children:`Copy to Clipboard`}),W(a,{})]})}return{ref:o,CopyToClipboardButton:u,onMouseEnter:s,onMouseLeave:c,onCopyToClipboard:l}}function xu(){let[e,t]=H(!1),[n,r]=H(),i=()=>t(!0),a=()=>t(!1);function o(){let[t,r]=H();return z(()=>{if(!n)return;let e=new FileReader;e.readAsDataURL(n),e.onloadend=e=>{e.target?.result!=null&&r(e.target.result)}},[]),G(pt,{open:e,onClose:a,maxWidth:`sm`,fullWidth:!0,children:[W(gt,{children:`Screenshot Preview`}),W(X,{"aria-label":`close`,onClick:a,sx:{position:`absolute`,right:8,top:8,color:`grey.500`},children:W(Ot,{})}),G(ht,{children:[G(J,{sx:{px:`10px`,gap:`10px`},children:[G(J,{direction:`row`,spacing:`5px`,sx:{alignItems:`center`},children:[W(K,{component:Xt,sx:{color:`error.main`}}),W(Y,{sx:{fontWeight:500,display:`inline`},children:`Copy to the Clipboard`}),` `,`is not supported in the current browser`]}),W(Y,{children:`Please download it directly`})]}),W(K,{component:`img`,src:t,alt:`screenshot`,sx:{maxWidth:`100%`}})]}),G(mt,{children:[W(q,{sx:{mr:1.5},onClick:a,children:`Close`}),W(q,{color:`iochmara`,variant:`contained`,onClick:()=>{n&&(It(n,`recce-screenshot-${yn(new Date,`yyyy-MM-dd-HH-mm-ss`)}.png`),a())},children:`Download`})]})]})}return{onOpen:i,setImgBlob:r,ImageDownloadModal:o}}function Su({userId:e,enabled:t=!0}){let{apiClient:n}=Zl(),r=e?.toString(),{data:i,isLoading:a}=at({queryKey:k.user(),queryFn:()=>rt(n),enabled:t&&!!r,retry:!1,staleTime:300*1e3}),o=!!(i&&r&&i.id===r)&&i?.login_type===`github`,s=!!(t&&o&&r),{data:c,isLoading:l}=at({queryKey:[`github-avatar`,r],queryFn:()=>r?nt(r):Promise.resolve(null),enabled:s,retry:!1,staleTime:300*1e3});return{avatarUrl:typeof c==`string`?c:null,isLoading:a||s&&l,isGitHubUser:!!o}}function Cu(e,t={}){let{enabled:a=!0}=t,s=ot(),{apiClient:c}=Zl(),{data:l,isLoading:u,error:d,refetch:f}=at({queryKey:k.checkEvents(e),queryFn:()=>n(e,c),enabled:a,refetchInterval:1e4,refetchIntervalInBackground:!1}),p=it({mutationFn:t=>i(e,t,c),onSuccess:async()=>{await s.invalidateQueries({queryKey:k.checkEvents(e)})}}),m=it({mutationFn:({eventId:t,content:n})=>r(e,t,n,c),onSuccess:async()=>{await s.invalidateQueries({queryKey:k.checkEvents(e)})}}),h=it({mutationFn:t=>o(e,t,c),onSuccess:async()=>{await s.invalidateQueries({queryKey:k.checkEvents(e)})}});return{events:l??[],isLoading:u,error:d,refetch:f,createComment:p.mutate,isCreatingComment:p.isPending,createCommentError:p.error,updateComment:m.mutateAsync,isUpdatingComment:m.isPending,updateCommentError:m.error,deleteComment:h.mutateAsync,isDeletingComment:h.isPending,deleteCommentError:h.error}}const wu={TOAST_ID:`lifetime-countdown`,WARNING_THRESHOLD:60,UPDATE_INTERVAL:1e3,MESSAGE:e=>`The server will be closed in ${e} seconds.`,STYLE:{fontFamily:`monospace`}};function Tu(e){let t=I,[n,r]=H(null),i=V(void 0),a=R(()=>{if(!e)return 0;let t=new Date,n=Math.floor((e.getTime()-t.getTime())/1e3);return Math.max(0,n)},[e]),o=R(()=>{n!=null&&(t.remove(n),r(null))},[n]),s=R(()=>{if(n==null)return;let e=a();if(e<=0){o();return}t.update(n,{description:wu.MESSAGE(e)})},[n,a,o]),c=R(()=>{if(!e)return;o();let n=a();n<=0||(r(t.create({id:wu.TOAST_ID,description:wu.MESSAGE(n)})),i.current=setInterval(s,wu.UPDATE_INTERVAL))},[e,a,s,o]),l=a();nr(c,e?Math.max(0,l-wu.WARNING_THRESHOLD)*1e3:null),z(()=>o,[o])}function Eu({run:e,runId:t,viewOptions:n}){let r=B(()=>!e?.type||!e?.result?!1:Fe(e.type),[e?.type,e?.result]),i=B(()=>{if(!e?.result)return null;let t=e.result;if(`total_row_count`in t&&typeof t.total_row_count==`number`)return t.total_row_count;let n=t.base,r=t.current,i=typeof n?.total_row_count==`number`?n.total_row_count:null,a=typeof r?.total_row_count==`number`?r.total_row_count:null;return i!==null&&a!==null?Math.max(i,a):i??a},[e?.result]),a=R(()=>{if(!e?.type||!e?.result)return null;let t={displayMode:n?.display_mode,primaryKeys:e?.params?.primary_keys};return _e(e.type,e.result,t)},[e?.type,e?.result,e?.params,n]),o=R(()=>{let e=a();return e?Ce(e.columns,e.rows):null},[a]),s=R(()=>{let e=a();return e?Ie(e.columns,e.rows):null},[a]),c=R(e=>{if(!t)return;let n=document.createElement(`a`);n.href=`/api/runs/${t}/export?format=${e}`,document.body.appendChild(n),n.click(),document.body.removeChild(n)},[t]),l=R(async()=>{let e=o();if(!e){I.create({title:`Export failed`,description:`Unable to extract data for CSV export`,type:`error`,duration:3e3});return}try{await Se(e),I.create({title:`Copied to clipboard`,description:`CSV data copied successfully`,type:`success`,duration:2e3})}catch(e){console.error(`Failed to copy CSV to clipboard:`,e),I.create({title:`Copy failed`,description:`Failed to copy to clipboard`,type:`error`,duration:3e3})}},[o]),u=B(()=>e?.type===`query_diff`&&!!e?.params?.primary_keys,[e?.type,e?.params]),d=R(()=>{if(t&&!u&&[`query`,`query_base`,`query_diff`].includes(e?.type??``)){c(`csv`);return}let n=o();if(!n){I.create({title:`Export failed`,description:`Unable to extract data for CSV export`,type:`error`,duration:3e3});return}try{let t=De(e?.type??``,e?.params);we(n,t),I.create({title:`Downloaded`,description:t,type:`success`,duration:3e3})}catch(e){console.error(`Failed to download CSV file:`,e),I.create({title:`Download failed`,description:`Failed to download CSV file`,type:`error`,duration:3e3})}},[t,e,u,o,c]),f=R(async()=>{let e=s();if(!e){I.create({title:`Export failed`,description:`Unable to extract data for export`,type:`error`,duration:3e3});return}try{await Se(e),I.create({title:`Copied to clipboard`,description:`Text data copied — paste into any spreadsheet`,type:`success`,duration:2e3})}catch(e){console.error(`Failed to copy TSV to clipboard:`,e),I.create({title:`Copy failed`,description:`Failed to copy to clipboard`,type:`error`,duration:3e3})}},[s]),p=R(()=>{if(t&&!u&&[`query`,`query_base`,`query_diff`].includes(e?.type??``)){c(`tsv`);return}let n=s();if(!n){I.create({title:`Export failed`,description:`Unable to extract data for export`,type:`error`,duration:3e3});return}try{let t=De(e?.type??``,e?.params).replace(/\.csv$/,`.tsv`);be(n,t),I.create({title:`Downloaded`,description:t,type:`success`,duration:3e3})}catch(e){console.error(`Failed to download TSV file:`,e),I.create({title:`Download failed`,description:`Failed to download TSV file`,type:`error`,duration:3e3})}},[t,e,u,s,c]);return{canExportCSV:r,totalRowCount:i,copyAsCSV:l,copyAsTSV:f,downloadAsCSV:d,downloadAsExcel:R(async()=>{if(t&&!u&&[`query`,`query_base`,`query_diff`].includes(e?.type??``)){c(`xlsx`);return}let n=a();if(!n){I.create({title:`Export failed`,description:`Unable to extract data for export`,type:`error`,duration:3e3});return}try{let t=await xe(n.columns,n.rows),r=De(e?.type??``,e?.params).replace(/\.csv$/,`.xlsx`);ye(t,r),I.create({title:`Downloaded`,description:r,type:`success`,duration:3e3})}catch(e){console.error(`Failed to download Excel file:`,e),I.create({title:`Download failed`,description:`Failed to download Excel file`,type:`error`,duration:3e3})}},[t,e,u,a,c]),downloadAsTSV:p}}function Du({description:e,onLike:t,onDislike:n,onClickLink:r,externalLink:i,externalLinkText:a}){return G(K,{sx:{display:`flex`,gap:4,justifyContent:`center`,alignContent:`center`,alignItems:`center`},children:[e,W(X,{"aria-label":`thumbs up`,onClick:t,sx:{width:`32px`,height:`32px`},children:W(K,{component:`img`,src:`/imgs/feedback/thumbs-up.png`,alt:`like`})}),W(X,{"aria-label":`thumbs down`,onClick:n,sx:{width:`32px`,height:`32px`},children:W(K,{component:`img`,src:`/imgs/feedback/thumbs-down.png`,alt:`dislike`})}),i&&a&&G(_t,{href:i,target:`_blank`,onClick:r,sx:{textDecoration:`underline`},children:[a,` `,W(yt,{})]})]})}function Ou(e){let{feedbackId:t,description:n,onFeedbackSubmit:r,externalLink:i,externalLinkText:a}=e,[o,s]=H(void 0);function c(e=!1){let c=localStorage.getItem(t);o??(c===`true`&&!e||s(I.create({id:t,duration:void 0,type:`success`,description:W(J,{direction:`row`,children:W(Du,{description:n,onLike:()=>{r(`like`),I.dismiss(t),localStorage.setItem(t,`true`)},onDislike:()=>{r(`dislike`),I.dismiss(t),localStorage.setItem(t,`true`)},externalLink:i,externalLinkText:a,onClickLink:()=>{r(`link`)}})})})))}return{feedbackToast:c,closeToast:()=>{o&&I.dismiss(o)}}}function ku(e){let[t,n]=H(void 0),{guideId:r,description:i,externalLinkText:a,onExternalLinkClick:o}=e;function s(){t??n(I.create({id:r,duration:3e3,type:`success`,description:i,action:{label:a??`link`,onClick:()=>{o&&o()}}}))}return{guideToast:s,closeGuideToast:()=>{t&&I.dismiss(t)}}}function Au(e,t){let n=[];return e.forEach(e=>{n.some(t=>t.name===e.name)||n.push(e)}),t.forEach(e=>{n.some(t=>t.name===e.name)||n.push(e)}),n}function ju(e,n){let{lineageGraph:r}=fe(),i=O(),a=n??i?.apiClient,o=ir.find(r?.nodes,{data:{name:e}}),s=!!a&&!!o?.id,{data:c,isLoading:l,error:u}=at({queryKey:[`modelDetail`,o?.id],queryFn:()=>{if(!o?.id||!a)throw Error(`useModelColumns: missing node id or api client`);return t(o.id,a)},enabled:s,staleTime:300*1e3}),{columns:d,primaryKey:f}=B(()=>{let e=c?.model;return!e?.base.columns||!e.current.columns?{columns:[],primaryKey:e?.current.primary_key}:{columns:Au(Object.values(e.base.columns),Object.values(e.current.columns)),primaryKey:e.current.primary_key}},[c]);return{columns:d,primaryKey:f,isLoading:s?l:!1,error:u?u instanceof Error?u:Error(String(u)):null}}const Mu=e=>{let{apiClient:t}=Zl(),n=ot(),r=os(),[i,a]=H(!!e),[,o]=ce(),s=V(null);z(()=>{e&&(a(!0),s.current=null)},[e]);let c=e?r.has(e):!1,u=i&&!c,{error:f,data:p}=at({queryKey:k.run(e??``),queryFn:async()=>await x(e??``,u?2:0,t),enabled:!!e&&!c,refetchInterval:u?50:!1,retry:!1});z(()=>{if(!p)return;let e=p.status?.toLowerCase();f||p.result||p.error||e&&e!==`running`?s.current!==p.run_id&&(s.current=p.run_id,a(!1)):e===`running`&&!c&&(s.current=null,a(!0))},[p,f,c]),z(()=>{(f||p?.result||p?.error)&&(p?.type===`row_count_diff`||p?.type===`row_count`)&&o?.()},[p,f,o]);let m=r.add,h=R(()=>e?(n.setQueryData(k.run(e),e=>e&&{...e,status:`Cancelled`}),m(e),a(!1),s.current=e,l(e,t),Promise.resolve()):Promise.resolve(),[e,t,n,m]),g;return p&&d(p.type)&&(g=hl(p.type).RunResultView),{run:p,isRunning:i,error:f,onCancel:h,RunResultView:g}};function Nu(){let e=Ct(),t=Oe(),n=F(),[r,i]=H(!1);z(()=>{i(!0)},[]);let a=r?t?t.resolvedMode===`dark`:n:!1;return{isDark:a,theme:e,background:{default:a?P.neutral[900]:P.white,paper:a?P.neutral[800]:P.white,subtle:a?P.neutral[800]:P.neutral[50],emphasized:a?P.neutral[700]:P.neutral[100]},text:{primary:a?P.neutral[50]:P.neutral[900],secondary:a?P.neutral[400]:P.neutral[600],disabled:a?P.neutral[500]:P.neutral[400],inverted:a?P.neutral[900]:P.neutral[50]},border:{light:a?P.neutral[700]:P.neutral[200],default:a?P.neutral[600]:P.neutral[300],strong:a?P.neutral[500]:P.neutral[400]},status:{added:{bg:a?P.green[900]:P.green[100],text:a?P.neutral[50]:P.neutral[900]},removed:{bg:a?P.red[950]:P.red[200],text:a?P.neutral[50]:P.neutral[900]},modified:{bg:a?P.yellow[900]:P.amber[100],text:a?P.neutral[50]:P.neutral[900]}},interactive:{hover:a?P.neutral[700]:P.neutral[100],active:a?P.neutral[600]:P.neutral[200],focus:P.iochmara[500]}}}export{Uc as $,uo as $t,Ll as A,Mi as An,us as At,gl as B,Ir as Bn,Ho as Bt,eu as C,Ii as Cn,As as Ct,Kl as D,Wi as Dn,xs as Dt,ql as E,Ui as En,Ts as Et,wl as F,si as Fn,$o as Ft,cl as G,No as Gt,ml as H,Nr as Hn,Ro as Ht,Sl as I,ai as In,Qo as It,el as J,To as Jt,ol as K,jo as Kt,bl as L,Hr as Ln,ts as Lt,Fl as M,li as Mn,ds as Mt,Nl as N,ui as Nn,fs as Nt,Ul as O,Ai as On,vs as Ot,Tl as P,ci as Pn,ss as Pt,Wc as Q,go as Qt,vl as R,Rr as Rn,es as Rt,nu as S,pi as Sn,js as St,Yl as T,Hi as Tn,Cs as Tt,pl as U,Pr as Un,Lo as Ut,hl as V,Lr as Vn,Bo as Vt,ll as W,jr as Wn,Fo as Wt,Jc as X,xo as Xt,$c as Y,Do as Yt,Kc as Z,yo as Zt,hu as _,Qi as _n,Ks as _t,ku as a,Ja as an,pc as at,ru as b,hi as bn,Ms as bt,Tu as c,La as cn,lc as ct,vu as d,ga as dn,rc as dt,fo as en,Vc as et,yu as f,la as fn,tc as ft,mu as g,Zi as gn,Js as gt,gu as h,oa as hn,Ys as ht,ju as i,Ya as in,bc as it,Il as j,di as jn,ms as jt,Rl as k,Ni as kn,gs as kt,Cu as l,Na as ln,ic as lt,xu as m,sa as mn,Xs as mt,Mu as n,io as nn,vc as nt,Ou as o,Ka as on,fc as ot,bu as p,ca as pn,ec as pt,tl as q,ko as qt,Au as r,eo as rn,yc as rt,Eu as s,Ra as sn,uc as st,Nu as t,lo as tn,Bc as tt,Su as u,ba as un,ac as ut,du as v,ia as vn,Gs as vt,Zl as w,$ as wn,Ds as wt,lu as x,mi as xn,Ps as xt,iu as y,fi as yn,Vs as yt,_l as z,Br as zn,Zo as zt};
7
- //# sourceMappingURL=hooks-ReWA3Ert.js.map