@datarecce/ui 1.53.0-nightly.20260615 → 1.53.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/advanced.d.ts +3 -3
- package/dist/advanced.js +1 -1
- package/dist/components-CX4IKLp2.js +3 -0
- package/dist/{components-DhHBt0fL.js.map → components-CX4IKLp2.js.map} +1 -1
- package/dist/components-run.js +1 -1
- package/dist/components.d.ts +3 -3
- package/dist/components.js +1 -1
- package/dist/hooks.js +1 -1
- package/dist/{index-DNkSLklg.d.ts → index-BI0TA-5T.d.ts} +2 -2
- package/dist/{index-DNkSLklg.d.ts.map → index-BI0TA-5T.d.ts.map} +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/{lineage-CwiFPVvR.d.ts → lineage-DQYm0BLV.d.ts} +3 -3
- package/dist/{lineage-CwiFPVvR.d.ts.map → lineage-DQYm0BLV.d.ts.map} +1 -1
- package/dist/lineage-yiiuC0Il.js +7 -0
- package/dist/lineage-yiiuC0Il.js.map +1 -0
- package/dist/{primitives-BjWGLhDI.d.ts → primitives-CMRs10su.d.ts} +2 -2
- package/dist/{primitives-BjWGLhDI.d.ts.map → primitives-CMRs10su.d.ts.map} +1 -1
- package/dist/primitives.d.ts +1 -1
- package/dist/primitives.js +1 -1
- package/dist/result.js +1 -1
- package/dist/{src-D-gy72sb.js → src-BjFwHKOB.js} +2 -2
- package/dist/{src-D-gy72sb.js.map → src-BjFwHKOB.js.map} +1 -1
- package/dist/theme-wN7zbYoG.js +3 -0
- package/dist/theme-wN7zbYoG.js.map +1 -0
- package/dist/theme.js +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/utils-D1bvitEj.js +6 -0
- package/dist/{utils-h0d712cQ.js.map → utils-D1bvitEj.js.map} +1 -1
- package/dist/utils.js +1 -1
- package/package.json +1 -1
- package/dist/components-DhHBt0fL.js +0 -3
- package/dist/lineage-CTqImE8Y.js +0 -7
- package/dist/lineage-CTqImE8Y.js.map +0 -1
- package/dist/theme-u98ih3Tv.js +0 -3
- package/dist/theme-u98ih3Tv.js.map +0 -1
- package/dist/utils-h0d712cQ.js +0 -6
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import{n as e}from"./colors-4aGxuAVw.js";import{createContext as t,memo as n,useCallback as r,useContext as i,useEffect as a,useId as o,useState as s}from"react";import{Fragment as c,jsx as l,jsxs as u}from"react/jsx-runtime";import d from"@mui/material/Box";import f from"@mui/material/Tooltip";import p from"@mui/material/IconButton";import m from"@mui/material/Typography";import h from"@mui/material/Alert";import g from"@mui/material/CircularProgress";import _ from"@mui/material/Snackbar";import v from"@mui/material/Stack";import{PiCopy as y,PiDotsThreeVertical as b}from"react-icons/pi";import ee from"@mui/material/Menu";import te from"@mui/material/MenuItem";import{format as ne,formatDistance as x,parseISO as S}from"date-fns";import{VscClose as re,VscKebabVertical as ie,VscKey as ae,VscPin as oe,VscPinned as se}from"react-icons/vsc";import C from"file-saver";import ce from"write-excel-file/universal";import w from"lodash";import{useCopyToClipboard as le}from"usehooks-ts";import ue from"react-split";const de={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 fe(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 de[n===-1?t:t.slice(0,n).trimEnd()]??`unknown`}const T=.6,pe=18/30;function E({size:e=`1em`,style:t,className:n,children:r}){return u(`svg`,{viewBox:`0 0 30 18`,width:e,height:typeof e==`number`?e*pe:`${pe}em`,style:t,className:n,"aria-hidden":`true`,children:[l(`rect`,{x:T,y:T,width:30-T*2,height:18-T*2,rx:3,fill:`none`,stroke:`currentColor`,strokeWidth:1.2}),r]})}function D({text:e,size:t,style:n,className:r}){return l(E,{size:t,style:n,className:r,children:l(`text`,{x:30/2,y:18/2,textAnchor:`middle`,dominantBaseline:`central`,fontSize:10.5,fontFamily:`monospace`,fontWeight:500,fill:`currentColor`,children:e})})}function me(e){return l(D,{text:`123`,...e})}function he(e){return l(D,{text:`1.2`,...e})}function ge(e){return l(D,{text:`abc`,...e})}function _e(e){return l(D,{text:`T/F`,...e})}function ve({size:e,style:t,className:n}){let r=o(),i=T,a=T;return u(E,{size:e,style:t,className:n,children:[u(`mask`,{id:r,children:[l(`rect`,{x:i,y:a,width:15-i,height:16.8,fill:`white`}),l(`text`,{x:15/2,y:18/2,textAnchor:`middle`,dominantBaseline:`central`,fontSize:10,fontFamily:`monospace`,fontWeight:700,fill:`black`,children:`0`})]}),l(`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})`}),l(`text`,{x:22.5,y:18/2,textAnchor:`middle`,dominantBaseline:`central`,fontSize:10,fontFamily:`monospace`,fontWeight:700,fill:`currentColor`,children:`1`})]})}function ye(e){return l(D,{text:`{ }`,...e})}function be({size:e,style:t,className:n}){return u(E,{size:e,style:t,className:n,children:[u(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1.2,strokeLinecap:`round`,children:[l(`line`,{x1:6,y1:5,x2:4,y2:5}),l(`line`,{x1:4,y1:5,x2:4,y2:13}),l(`line`,{x1:4,y1:13,x2:6,y2:13}),l(`line`,{x1:24,y1:5,x2:26,y2:5}),l(`line`,{x1:26,y1:5,x2:26,y2:13}),l(`line`,{x1:26,y1:13,x2:24,y2:13})]}),l(`text`,{x:30/2,y:18/2,textAnchor:`middle`,dominantBaseline:`central`,fontSize:9,fontFamily:`monospace`,fontWeight:500,fill:`currentColor`,children:`1,2`})]})}function xe(e){return l(D,{text:`···`,...e})}function Se({size:e,style:t,className:n}){return l(E,{size:e,style:t,className:n,children:u(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,transform:`translate(9, 2.5)`,children:[l(`rect`,{x:0,y:2,width:11,height:9.5,rx:1.2}),l(`line`,{x1:3,y1:.5,x2:3,y2:3.5}),l(`line`,{x1:8,y1:.5,x2:8,y2:3.5}),l(`line`,{x1:0,y1:5.5,x2:11,y2:5.5})]})})}function Ce({size:e,style:t,className:n}){return l(E,{size:e,style:t,className:n,children:u(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,transform:`translate(4, 2.5)`,children:[l(`rect`,{x:0,y:2,width:9.5,height:8.5,rx:1.2}),l(`line`,{x1:2.5,y1:.5,x2:2.5,y2:3.5}),l(`line`,{x1:7,y1:.5,x2:7,y2:3.5}),l(`line`,{x1:0,y1:5,x2:9.5,y2:5}),l(`circle`,{cx:17,cy:8.5,r:3.2}),l(`line`,{x1:17,y1:6.8,x2:17,y2:8.5}),l(`line`,{x1:17,y1:8.5,x2:18.3,y2:9.5})]})})}function we({size:e,style:t,className:n}){return l(E,{size:e,style:t,className:n,children:u(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,transform:`translate(10, 3.5)`,children:[l(`circle`,{cx:5,cy:5.5,r:5}),l(`line`,{x1:5,y1:3,x2:5,y2:5.5}),l(`line`,{x1:5,y1:5.5,x2:7,y2:6.8})]})})}function Te({size:e,style:t,className:n}){return l(E,{size:e,style:t,className:n,children:u(`g`,{stroke:`currentColor`,fill:`none`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,children:[l(`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}),l(`circle`,{cx:15,cy:8,r:1.5,fill:`currentColor`,stroke:`none`})]})})}function Ee(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 De={integer:me,number:he,text:ge,boolean:_e,date:Se,datetime:Ce,time:we,binary:ve,json:ye,array:be,geography:Te,unknown:xe};function Oe({type:e,size:t,style:n,className:r,disableTooltip:i}){let a=De[fe(e)],o=l(`span`,{"data-testid":`data-type-icon`,style:{display:`inline-flex`,alignItems:`center`,lineHeight:0},children:l(a,{size:t,style:n,className:r})});return i?o:l(f,{title:e,placement:`top`,arrow:!0,children:o})}const O=t(null);O.displayName=`RecceThemeContext`;function ke(){let e=i(O);if(!e)throw Error(`useRecceTheme must be used within RecceProvider`);return e}function Ae(){return i(O)}function je({children:e,defaultMode:t=`system`}){let[n,r]=s(t),[i,o]=s(()=>typeof window>`u`?`light`:t===`system`?window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:t);return a(()=>{if(n===`system`){let e=window.matchMedia(`(prefers-color-scheme: dark)`);o(e.matches?`dark`:`light`);let t=e=>{o(e.matches?`dark`:`light`)};return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)}else o(n)},[n]),a(()=>{typeof window>`u`||document.documentElement.classList.toggle(`dark`,i===`dark`)},[i]),l(O.Provider,{value:{mode:n,resolvedMode:i,setMode:r},children:e})}const Me=t(null);let k=0;function Ne({children:e}){let[t,n]=s([]),i=r(e=>{let t=e.id||`toast-${++k}`,r={id:t,open:!0,duration:e.type===`loading`?null:e.duration??5e3,closable:e.closable??!0,...e};return n(e=>[...e.filter(e=>e.id!==t),r]),t},[]),a=r(e=>{n(t=>t.map(t=>t.id===e?{...t,open:!1}:t)),setTimeout(()=>{n(t=>t.filter(t=>t.id!==e))},300)},[]),o={toast:i,success:e=>i({...e,type:`success`}),error:e=>i({...e,type:`error`}),warning:e=>i({...e,type:`warning`}),info:e=>i({...e,type:`info`}),loading:e=>i({...e,type:`loading`}),dismiss:a,update:r((e,t)=>{n(n=>n.map(n=>n.id===e?{...n,...t}:n))},[])};return u(Me.Provider,{value:o,children:[e,t.map(e=>l(_,{open:e.open,autoHideDuration:e.duration,onClose:()=>e.closable&&a(e.id),anchorOrigin:{vertical:`bottom`,horizontal:`right`},children:l(h,{severity:e.type===`loading`?`info`:e.type||`info`,onClose:e.closable?()=>a(e.id):void 0,icon:e.type===`loading`?l(g,{size:20,color:`inherit`}):void 0,sx:{width:`100%`,minWidth:300},children:u(v,{spacing:.5,children:[e.title&&l(m,{variant:`subtitle2`,sx:{fontWeight:`bold`},children:e.title}),e.description&&l(m,{variant:`body2`,component:`div`,children:e.description})]})})},e.id))]})}function Pe(){let e=i(Me);if(!e)throw Error(`useToaster must be used within ToasterProvider`);return e}const A=new Set,j={create:e=>{let t=e.id||`toast-${++k}`;return A.forEach(n=>n({type:`create`,options:{...e,id:t}})),t},success:e=>j.create({...e,type:`success`}),error:e=>j.create({...e,type:`error`}),warning:e=>j.create({...e,type:`warning`}),info:e=>j.create({...e,type:`info`}),loading:e=>j.create({...e,type:`loading`}),dismiss:e=>{A.forEach(t=>t({type:`dismiss`,id:e}))},remove:e=>{A.forEach(t=>t({type:`dismiss`,id:e}))},update:(e,t)=>{A.forEach(n=>n({type:`update`,id:e,options:t}))},subscribe:e=>(A.add(e),()=>A.delete(e))};function Fe(){let[e,t]=s([]);s(()=>j.subscribe(e=>{if(e.type===`create`&&e.options){let n={id:e.options.id||`toast-${++k}`,open:!0,duration:e.options.type===`loading`?void 0:e.options.duration??5e3,closable:e.options.closable??!0,...e.options};t(e=>[...e.filter(e=>e.id!==n.id),n])}else if(e.type===`dismiss`&&e.id){let n=e.id;t(e=>e.map(e=>e.id===n?{...e,open:!1}:e)),setTimeout(()=>{t(e=>e.filter(e=>e.id!==n))},300)}else e.type===`update`&&e.id&&e.options&&t(t=>t.map(t=>t.id===e.id?{...t,...e.options}:t))}));let n=e=>{t(t=>t.map(t=>t.id===e?{...t,open:!1}:t)),setTimeout(()=>{t(t=>t.filter(t=>t.id!==e))},300)};return l(c,{children:e.map(e=>l(_,{open:e.open,autoHideDuration:e.duration,onClose:()=>e.closable&&n(e.id),anchorOrigin:{vertical:`bottom`,horizontal:`right`},children:l(h,{severity:e.type===`loading`?`info`:e.type||`info`,onClose:e.closable?()=>n(e.id):void 0,icon:e.type===`loading`?l(g,{size:20,color:`inherit`}):void 0,sx:{width:`100%`,minWidth:300},children:u(v,{spacing:.5,children:[e.title&&l(m,{variant:`subtitle2`,sx:{fontWeight:`bold`},children:e.title}),e.description&&l(m,{variant:`body2`,component:`div`,children:e.description})]})})},e.id))})}function M(){let e=Ae(),[t,n]=s(!1),[r,i]=s(!1);return a(()=>{if(n(!0),!e){let e=()=>{i(document.documentElement.classList.contains(`dark`))};e();let t=new MutationObserver(e);return t.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),()=>t.disconnect()}},[e]),t?e?e.resolvedMode===`dark`:r:!1}function N(e,t=`en-US`,n){return typeof e==`number`?new Intl.NumberFormat(t,n).format(e):e}function Ie(e){let t=e>0&&e<=.001,n=e<1&&e>=.999,r=(t=e)=>N(t,`en-US`,{style:`percent`,minimumFractionDigits:1});return t?`<${r(.001)}`:n?`>${r(.999)}`:r()}function Le(e){if(typeof e!=`number`)return e;{let t=Math.abs(e),n=10**-2,r=10**3,i=10**6,a=10**9,o=10**12,s=10**15,c=t>=n,l=t>=1,u=t>=r,d=t>=i,f=t>=a,p=t>=o,m=t>=s;if(m||p)return new Intl.NumberFormat(`en-US`,{style:`unit`,unit:`liter`,unitDisplay:`narrow`,maximumFractionDigits:m?0:2}).format(e/0xe8d4a51000).replace(`L`,`T`);if(f||d||u){let t={base:f?a:d?i:r,unit:f?`B`:d?`M`:`K`};return new Intl.NumberFormat(`en-US`,{style:`unit`,unit:`liter`,unitDisplay:`narrow`,maximumFractionDigits:1}).format(e/t.base).replace(`L`,t.unit)}else if(l)return new Intl.NumberFormat(`en-US`,{maximumFractionDigits:2}).format(e);else return new Intl.NumberFormat(`en-US`,{maximumFractionDigits:c?3:2,notation:c||t===0?`standard`:`scientific`}).format(e)}}function Re(e,t){return`${e}_${t}`}function ze(e,t,n){return n?.has(Re(e,t))??!1}function Be(e,t){C(new Blob([e],{type:`text/csv;charset=utf-8`}),t)}function Ve(e,t){C(new Blob([e],{type:`text/tab-separated-values;charset=utf-8`}),t)}function He(e,t){C(e,t)}async function Ue(e){if(typeof navigator>`u`||!navigator.clipboard?.writeText)throw Error(`Clipboard API not available. Ensure you're using HTTPS or localhost.`);await navigator.clipboard.writeText(e)}function We(e){return e==null?null:typeof e==`object`?{value:JSON.stringify(e),type:String}:typeof e==`number`?{value:e,type:Number}:typeof e==`boolean`?{value:e,type:Boolean}:{value:String(e),type:String}}function Ge(e,t){return ce([e.map(e=>({value:e,type:String})),...t.map(e=>e.map(We))]).toBlob()}function Ke(e,t){return(e==null?``:String(e))===(t==null?``:String(t))?e:`${e==null?``:`(${e})`} ${t==null?``:`(${t})`}`.trim()}function P(e){return!e?.columns||!e.data?null:{columns:e.columns.map(e=>e.name),rows:e.data.map(e=>[...e])}}function qe(e){return P(e)}function Je(e){return P(e)}function Ye(e,t){let n=e,r=t?.displayMode??`inline`,i=t?.primaryKeys??[];return n?.diff?Xe(n.diff,r,i):Ze(n,r)}function Xe(e,t,n){if(!e?.columns||!e?.data)return null;let r=e.columns.findIndex(e=>e.key.toLowerCase()===`in_a`),i=e.columns.findIndex(e=>e.key.toLowerCase()===`in_b`),a=e.columns.filter(e=>e.key.toLowerCase()!==`in_a`&&e.key.toLowerCase()!==`in_b`),o=a.map(e=>e.name),s=a.map(t=>e.columns.findIndex(e=>e.key===t.key)),c=n.map(t=>e.columns.findIndex(e=>e.key===t)).filter(e=>e>=0),l=e=>s.map(t=>e[t]),u=e=>c.length===0?``:c.map(t=>String(e[t]??``)).join(`|||`),d=new Map,f=[];if(e.data.forEach((e,t)=>{let n=r>=0?e[r]:!0,a=i>=0?e[i]:!0,o=u(e);o===``&&(o=String(t)),d.has(o)||(d.set(o,{base:null,current:null}),f.push(o));let s=d.get(o);if(!s)return;let c=l(e);n&&(s.base=c),a&&(s.current=c)}),t===`side_by_side`){let e=[];o.forEach(t=>{e.push(`base__${t}`,`current__${t}`)});let t=[];for(let e of f){let n=d.get(e);if(!n)continue;let r=n.base,i=n.current,a=[];o.forEach((e,t)=>{a.push(r?r[t]:null),a.push(i?i[t]:null)}),t.push(a)}return{columns:e,rows:t}}let p=[...o],m=[];for(let e of f){let t=d.get(e);if(!t)continue;let n=t.base,r=t.current,i=[];o.forEach((e,t)=>{let a=n?n[t]:null,o=r?r[t]:null;i.push(Ke(a,o))}),m.push(i)}return{columns:p,rows:m}}function Ze(e,t){let n=e?.current||e?.base;if(!n)return null;if(!e?.base||!e?.current)return P(n);let r=e.current.columns.map(e=>e.name);if(t===`side_by_side`){let t=[];r.forEach(e=>{t.push(`base__${e}`,`current__${e}`)});let n=[],i=Math.max(e.base.data.length,e.current.data.length);for(let t=0;t<i;t++){let i=[],a=t<e.base.data.length?e.base.data[t]:null,o=t<e.current.data.length?e.current.data[t]:null;r.forEach((e,t)=>{i.push(a?a[t]:null),i.push(o?o[t]:null)}),n.push(i)}return{columns:t,rows:n}}let i=[...r],a=[],o=Math.max(e.base.data.length,e.current.data.length);for(let t=0;t<o;t++){let n=t<e.base.data.length?e.base.data[t]:null,i=t<e.current.data.length?e.current.data[t]:null,o=[];r.forEach((e,t)=>{let r=n?n[t]:null,a=i?i[t]:null;o.push(Ke(r,a))}),a.push(o)}return{columns:i,rows:a}}function Qe(e){let t=e,n=t?.current||t?.base;if(!n)return null;if(t?.base&&t?.current){let e=[`_source`,...t.current.columns.map(e=>e.name)],n=[];return t.base.data.forEach(e=>{n.push([`base`,...e])}),t.current.data.forEach(e=>{n.push([`current`,...e])}),{columns:e,rows:n}}return P(n)}function $e(e){let t=e;if(!t||typeof t!=`object`)return null;let n=[`node`,`base_count`,`current_count`,`diff`,`diff_percent`],r=[];for(let[e,n]of Object.entries(t))if(n&&typeof n==`object`){let t=n.base,i=n.curr,a=t!=null&&i!=null?i-t:null,o=t&&a!==null?(a/t*100).toFixed(2)+`%`:null;r.push([e,t,i,a,o])}return{columns:n,rows:r}}function et(e){let t=e;return t?.data?P(t.data):null}function tt(e){return P(e)}function nt(e){let t=e,n=!!t?.base?.values,r=!!t?.current?.values;if(!n&&!r)return null;let i=[`_source`,`value`,`count`],a=[];return t?.base?.values&&t.base.values.forEach((e,n)=>{a.push([`base`,e,t.base.counts[n]])}),t?.current?.values&&t.current.values.forEach((e,n)=>{a.push([`current`,e,t.current.counts[n]])}),{columns:i,rows:a}}const rt={query:qe,query_base:Je,query_diff:Ye,profile:Qe,profile_diff:Qe,row_count:$e,row_count_diff:$e,value_diff:et,value_diff_detail:tt,top_k_diff:nt};function it(e,t,n){let r=rt[e];if(!r)return null;try{return r(t,n)}catch(t){return console.error(`Failed to extract CSV data for run type "${e}":`,t),null}}function at(e){return e in rt}function ot(e){if(e==null)return``;let t=typeof e==`object`?JSON.stringify(e):String(e);return t.includes(`,`)||t.includes(`"`)||t.includes(`
|
|
3
|
+
`)||t.includes(`\r`)?`"${t.replace(/"/g,`""`)}"`:t}function st(e,t){return``+[e.map(ot).join(`,`),...t.map(e=>e.map(ot).join(`,`))].join(`\r
|
|
4
|
+
`)}function F(e){return e==null?``:(typeof e==`object`?JSON.stringify(e):String(e)).replace(/[\t\r\n]+/g,` `)}function ct(e,t){return[e.map(F).join(` `),...t.map(e=>e.map(F).join(` `))].join(`\r
|
|
5
|
+
`)}function lt(e){let t=e===1?`row`:`rows`;if(e<1e3)return`${e} ${t}`;if(e<1e6){let n=e/1e3;return n>=999.95?`1M ${t}`:`${n%1==0?String(n):n.toFixed(1)}k ${t}`}let n=e/1e6;return`${n%1==0?String(n):n.toFixed(1)}M ${t}`}function I(){let e=new Date;return`${e.getFullYear()}${String(e.getMonth()+1).padStart(2,`0`)}${String(e.getDate()).padStart(2,`0`)}-${String(e.getHours()).padStart(2,`0`)}${String(e.getMinutes()).padStart(2,`0`)}${String(e.getSeconds()).padStart(2,`0`)}`}function ut(e,t){let n=I(),r=e.replace(/_/g,`-`),i;return t?.node_names&&Array.isArray(t.node_names)&&t.node_names.length===1?i=String(t.node_names[0]):t?.model&&typeof t.model==`string`&&(i=t.model),i?(i=i.replace(/[^a-zA-Z0-9_.-]/g,`-`).toLowerCase(),`${r}-${i}-${n}.csv`):`${r}-result-${n}.csv`}function L({value:t,colorPalette:n,grayOut:r,noCopy:i,fontSize:a,onCopy:o}){let[c,f]=s(!1),p=M();return u(d,{sx:{display:`flex`,p:`2px 5px`,minWidth:`30px`,maxWidth:`200px`,overflow:`hidden`,textOverflow:`ellipsis`,color:p?e[n][300]:e[n][800],bgcolor:p?e[n][900]:e[n][100],alignItems:`center`,gap:`2px`,borderRadius:`8px`,fontSize:a,flexShrink:i?0:`inherit`},onMouseEnter:()=>{f(!0)},onMouseLeave:()=>{f(!1)},children:[l(d,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,color:r?`text.disabled`:`inherit`},children:t}),l(dt,{value:t,noCopy:i,grayOut:r,isHovered:c,onCopy:o})]})}function dt({value:e,noCopy:t,grayOut:n,isHovered:r,onCopy:i}){return t||n||!r?null:l(f,{title:`Copy Value`,children:l(p,{"aria-label":`Copy`,size:`small`,onClick:()=>{i?i(e):typeof navigator<`u`&&navigator.clipboard&&navigator.clipboard.writeText(e)},sx:{minWidth:`0.625rem`,height:`0.625rem`,display:`flex`,alignItems:`center`,justifyContent:`center`,p:0,color:`inherit`},children:l(y,{size:`0.625rem`})})})}function R(e,t){return[{value:`Show raw value`,onClick:()=>{t({[e]:`raw`})}},{value:`Show 2 decimal points`,onClick:()=>{t({[e]:2})}},{value:`Show as percentage`,onClick:()=>{t({[e]:`percent`})}},{value:`Show with net change`,onClick:()=>{t({[e]:`delta`})}}]}function z({name:e,columnStatus:t,columnType:n,primaryKeys:r=[],onPrimaryKeyChange:i,pinnedColumns:a=[],onPinnedColumnsChange:o,onColumnsRenderModeChanged:f}){let[m,h]=s(null),g=!!m,_=e=>{h(e.currentTarget)},v=()=>{h(null)};if(e===`index`)return l(c,{});let y=r.includes(e),b=a.includes(e),ne=t!==`added`&&t!==`removed`,x=[];return f&&(x=R(e,f)),u(d,{sx:{display:`flex`,alignItems:`center`,gap:`10px`,width:`100%`},className:`grid-header`,children:[y&&l(ae,{}),l(d,{sx:{flex:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e}),ne&&i&&l(d,{component:y?re:ae,className:y?`close-icon`:`key-icon`,sx:{display:y?`block`:`none`,cursor:`pointer`},onClick:y?()=>{i&&i(r.filter(t=>t!==e))}:()=>{i&&i([...r.filter(e=>e!==`index`),e])}}),!y&&o&&l(d,{component:b?se:oe,className:b?`unpin-icon`:`pin-icon`,sx:{display:b?`block`:`none`,cursor:`pointer`},onClick:b?()=>{o&&o(a.filter(t=>t!==e))}:()=>{o&&o([...a,e])}}),!y&&n===`number`&&x.length>0&&u(c,{children:[l(p,{"aria-label":`Options`,size:`small`,className:`!size-4 !min-w-4`,onClick:_,children:l(ie,{})}),l(ee,{anchorEl:m,open:g,onClose:v,children:x.map(e=>l(te,{onClick:()=>{e.onClick(),v()},children:e.value},e.value))})]})]})}function ft({name:e,pinnedColumns:t=[],onPinnedColumnsChange:n=()=>{},columnType:r,onColumnsRenderModeChanged:i}){let[a,o]=s(null),f=!!a,m=e=>{o(e.currentTarget)},h=()=>{o(null)},g=[];i&&(g=R(e,i));let _=t.includes(e);return u(d,{sx:{display:`flex`,alignItems:`center`,width:`100%`},className:`grid-header`,children:[l(d,{sx:{flex:1},children:e}),l(d,{component:_?se:oe,className:_?`unpin-icon`:`pin-icon`,sx:{display:_?`block`:`none`,cursor:`pointer`},onClick:_?()=>{n(t.filter(t=>t!==e))}:()=>{n([...t,e])}}),r===`number`&&u(c,{children:[l(p,{"aria-label":`Options`,size:`small`,className:`size-6!`,sx:{p:0},onClick:m,children:l(b,{})}),l(ee,{anchorEl:a,open:f,onClose:h,children:g.map(e=>l(te,{onClick:()=>{e.onClick(),h()},children:e.value},e.value))})]})]})}function B(e){return e.data.map((t,n)=>({...e.columns.reduce((e,n,r)=>(e[n.key]=t[r],e),{}),__status:void 0,_index:n+1}))}function pt(e){let t=Number(e);return!Number.isNaN(t)&&Number.isFinite(t)?t:mt(e)}function mt(e){let t=0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)-t+r,t&=t}return Math.abs(t)}function ht(e,t){let n=t.toLowerCase();if(n in e)return e[n];let r=Object.keys(e).find(e=>e.toLowerCase()===n);return r?e[r]:void 0}function V(e,t){let n=[...e],r=[...t],i=[];for(;n.length>0&&r.length>0;)if(i.includes(n[0]))n.shift();else if(i.includes(r[0]))r.shift();else if(n[0]===r[0])i.push(n[0]),n.shift(),r.shift();else if(r.includes(n[0])){let e=r.indexOf(n[0]);for(let t=0;t<e;t++)i.includes(r[t])||i.push(r[t]);i.push(n[0]),n.shift(),r.splice(0,e+1)}else i.push(n[0]),n.shift();return n.forEach(e=>{i.includes(e)||i.push(e)}),r.forEach(e=>{i.includes(e)||i.push(e)}),i}function H(e,t){let n=V(e,t),r={};for(let i of n)e.includes(i)?t.includes(i)?r[i]=void 0:r[i]=`removed`:r[i]=`added`;let i={};e.forEach((e,t)=>{i[e]=t});let a=-1;for(let e of n){let t=i[e];t!=null&&(t>a?a=t:r[e]=`reordered`)}return r}function gt(e){let t={};return e.columns.forEach((e,n)=>{t[e.name]={key:e.key,index:n,colType:e.type}}),t}function _t(e){let t={};if(e.columns.forEach((e,n)=>{t[e.key]={key:e.key,index:n,colType:e.type}}),!t.in_a)throw Error(`Joined DataFrame missing required 'in_a' column`);if(!t.in_b)throw Error(`Joined DataFrame missing required 'in_b' column`);return t}function vt(e,t){let n={},r=H(e.columns.map(e=>e.key),t.columns.map(e=>e.key));return Object.entries(r).forEach(([r,i])=>{let a=e.columns.find(e=>e.key===r),o=t.columns.find(e=>e.key===r);n[r]={status:i,baseColumnKey:a?.key??`unknown`,currentColumnKey:o?.key??`unknown`,colType:a?.type??o?.type??`unknown`,key:a?.key??o?.key??`unknown`}}),n}function U(e,t){let n=[];for(let r of t){let t=e.find(e=>e.key===r);if(!t)throw Error(`Column ${r} not found`);n.push(t.key)}return n}function W(e,t,n){if(t.length===0)return String(n._index);let r=[];for(let i of t){let t=e.find(e=>e.key===i);if(!t)throw Error(`Primary Column ${i} not found`);let a=n[i];r.push(`${t.name}=${a}`)}return r.join(`|`)}function G(e,t=2){let n=N(Object.is(e,-0)?0:e,`en-US`,{maximumFractionDigits:t,roundingMode:`halfEven`})??String(e);return n===`-0`?`0`:n}function yt(e,t){return Number.isNaN(e)?`NaN`:Number.isFinite(e)?t===`raw`?String(e):typeof t==`number`?G(e,t):t===`percent`?N(e,`en-US`,{style:`percent`,maximumFractionDigits:2})??String(e):G(e,2):e>0?`∞`:`-∞`}function K(e,t,n,r){let i=ht(e,t);if(i==null)return[`-`,!0];let a,o=!1;return typeof i==`boolean`?a=i.toString():i===``?(a=`(empty)`,o=!0):a=typeof i==`number`?yt(i,r):n===`number`?yt(parseFloat(i),r):String(i),[a,o]}function bt(e){if(e===`added`)return`diff-header-added`;if(e===`removed`)return`diff-header-removed`}const xt=e=>{let t=e.colDef,n=t?.context?.columnType,r=t?.context?.columnRenderMode,i=t?.field??``;if(!e.data)return null;let[a,o]=K(e.data,i,n,r);return l(m,{component:`span`,style:{color:o?`gray`:`inherit`},children:a})};function St(){function e(e){j.create({description:e,type:`info`,duration:5e3,closable:!0})}function t(e,t){j.create({title:e,description:String(t),type:`error`,duration:5e3,closable:!0})}return{successToast:e,failToast:t}}function Ct(e){let[,t]=le(),{successToast:n}=St(),r=e=>{t(e),n(`${e} copied`)};return l(L,{...e,onCopy:r})}function wt(e={}){let t=e.DiffTextComponent??L;return e=>{let n=e.colDef,r=n?.context?.columnType,i=n?.context?.columnRenderMode,a=n?.field??``;if(!e.data)return null;let o=e.data,s=`base__${a}`.toLowerCase(),c=`current__${a}`.toLowerCase();if(!Object.hasOwn(o,s)&&!Object.hasOwn(o,c))return`-`;let p=Object.hasOwn(o,s),h=Object.hasOwn(o,c),[g,_]=K(o,`base__${a}`.toLowerCase(),r,i),[v,y]=K(o,`current__${a}`.toLowerCase(),r,i);if(o[s]===o[c])return l(m,{component:`span`,style:{color:y?`gray`:`inherit`},children:v});if(i===`delta`&&(r===`number`||r===`integer`)&&p&&h){let e=Et(o[s]),n=Et(o[c]);if(Number.isFinite(e)&&Number.isFinite(n)){let r=n-e,i=e===0?0:r/e*100,a=G(n),o=G(r),s=`(${r>=0?`+`:``}${o})`;return l(f,{title:`Base: ${e}\nCurrent: ${n}\nChange: ${r>=0?`+`:``}${r} (${i>=0?`+`:``}${i.toFixed(2)}%)`,slotProps:{tooltip:{sx:{whiteSpace:`pre-line`}}},enterDelay:300,placement:`top`,children:u(d,{sx:{gap:`5px`,display:`flex`,alignItems:`center`,lineHeight:`normal`,height:`100%`},children:[l(t,{value:a,colorPalette:`green`,grayOut:y}),l(m,{sx:{color:r>=0?`green.600`:`red.600`,fontSize:`0.75rem`},children:s})]})})}}return u(d,{sx:{display:`flex`,gap:`5px`,alignItems:`center`,lineHeight:`normal`,height:`100%`},children:[p&&l(t,{value:g,colorPalette:`red`,grayOut:_}),h&&l(t,{value:v,colorPalette:`green`,grayOut:y})]})}}const Tt=wt({DiffTextComponent:Ct});function Et(e){if(typeof e==`number`)return e;if(typeof e==`string`){let t=Number.parseFloat(e);return Number.isNaN(t)?0:t}return 0}function Dt({children:e,direction:t=`horizontal`,sizes:n,minSizes:r=0,maxSizes:i,gutterSize:a=5,snapOffset:o=30,dragInterval:s=1,onDragEnd:c,onDrag:u,theme:f,style:p,className:m}){let h=M(),g=f?f===`dark`:h,_={display:`flex`,flexDirection:t===`horizontal`?`row`:`column`,height:`100%`,width:`100%`,...p};return l(d,{className:m,sx:{height:`100%`,width:`100%`,"& .gutter":{backgroundColor:`divider`,backgroundRepeat:`no-repeat`,backgroundPosition:`50%`,transition:`background-color 0.15s ease`,"&:hover":{backgroundColor:g?`grey.600`:`grey.300`}},"& .gutter.gutter-horizontal":{cursor:`col-resize`},"& .gutter.gutter-vertical":{cursor:`row-resize`}},children:l(ue,{style:_,direction:t,sizes:n,minSize:r,maxSize:i,gutterSize:a,snapOffset:o,dragInterval:s,onDragEnd:c,onDrag:u,children:e})})}const q=n(Dt);q.displayName=`SplitPane`;function Ot(e){let{style:t,children:n,gutterSize:r=5,minSize:i,maxSize:a,sizes:o,snapOffset:s,dragInterval:c,onDragEnd:u,onDrag:d,className:f}=e;return l(q,{direction:`horizontal`,gutterSize:r,minSizes:i,maxSizes:a,sizes:o,snapOffset:typeof s==`number`?s:void 0,dragInterval:c,onDragEnd:u,onDrag:d,style:t,className:f,children:n})}function kt(e){let{style:t,children:n,gutterSize:r=5,minSize:i,maxSize:a,sizes:o,snapOffset:s,dragInterval:c,onDragEnd:u,onDrag:d,className:f}=e;return l(q,{direction:`vertical`,gutterSize:r,minSizes:i,maxSizes:a,sizes:o,snapOffset:typeof s==`number`?s:void 0,dragInterval:c,onDragEnd:u,onDrag:d,style:t,className:f,children:n})}function At({color:e}){return l(d,{component:`span`,sx:{display:`inline-block`,width:`10px`,height:`10px`,bgcolor:e,mr:1,borderRadius:`4px`}})}function jt(e,t){return n=>{let r=n.data;if(!r)return;let i=r.__status;if(i===`removed`)return`diff-cell-removed`;if(i===`added`)return`diff-cell-added`;if(t===`added`||t===`removed`)return;let a=`base__${e}`.toLowerCase(),o=`current__${e}`.toLowerCase();if(!w.isEqual(r[a],r[o]))return`diff-cell-removed`}}function Mt(e,t){return n=>{let r=n.data;if(!r)return;let i=r.__status;if(i===`removed`)return`diff-cell-removed`;if(i===`added`)return`diff-cell-added`;if(t===`added`||t===`removed`)return;let a=`base__${e}`.toLowerCase(),o=`current__${e}`.toLowerCase();if(!w.isEqual(r[a],r[o]))return`diff-cell-added`}}function Nt(e){let{name:t,columnStatus:n,columnType:r,columnRenderMode:i,displayMode:a,baseTitle:o=`Base`,currentTitle:s=`Current`,headerProps:c={},renderComponents:u}=e,{DataFrameColumnGroupHeader:d,defaultRenderCell:f,inlineRenderCell:p}=u,m=bt(n),h=()=>l(d,{name:t,columnStatus:n,columnType:r,...c});if(a===`inline`)return{field:t,headerName:t,headerClass:m,headerComponent:h,cellRenderer:p,context:{columnType:r,columnRenderMode:i}};let g=jt(t,n),_=Mt(t,n);return{headerName:t,headerClass:m,headerGroupComponent:h,context:{columnType:r,columnRenderMode:i},children:[{field:`base__${t}`,headerName:o,headerClass:m,cellClass:g,cellRenderer:f,context:{columnType:r,columnRenderMode:i}},{field:`current__${t}`,headerName:s,headerClass:m,cellClass:_,cellRenderer:f,context:{columnType:r,columnRenderMode:i}}]}}function Pt(){return{field:`_index`,headerName:``,width:50,maxWidth:100,cellClass:`index-column`,resizable:!1,pinned:`left`}}function Ft(e,t,n){let{key:r,name:i,columnType:a,columnStatus:o,columnRenderMode:s}=e,{DataFrameColumnGroupHeader:c,defaultRenderCell:u}=n;return{field:r,headerName:i,headerComponent:()=>l(c,{name:i,columnStatus:o??``,columnType:a,...t}),pinned:`left`,cellClass:e=>{if(e.data?.__status)return`diff-header-${e.data.__status}`},cellRenderer:u,context:{columnType:a,columnRenderMode:s}}}function It(e,t,n,r,i,a){let{name:o,columnType:s,columnStatus:c,columnRenderMode:l}=e;return Nt({name:o,columnStatus:c??``,columnType:s,columnRenderMode:l,displayMode:t,baseTitle:i,currentTitle:a,headerProps:n,renderComponents:r})}function J(e){let{columns:t,displayMode:n,headerProps:r,baseTitle:i,currentTitle:a,allowIndexFallback:o=!1,renderComponents:s}=e,c=[],l=!1;!t.some(e=>e.isPrimaryKey)&&o&&(c.push(Pt()),l=!0);for(let e of t)if(e.isPrimaryKey)c.push(Ft(e,r,s));else{let t=It(e,n,r,s,i,a);c.push({...t,pinned:e.frozen?`left`:void 0})}return{columns:c,usedIndexFallback:l}}function Lt(e,t,n){return!t||!n?!0:e===`added`||e===`removed`||e===`modified`}function Rt(e,t){return t.includes(e)}function zt(e,t){return t.includes(e)}function Bt(e,t){return t.includes(e)}function Vt(e,t){return e[t]}function Ht(e){let{columnMap:t,primaryKeys:n,pinnedColumns:r,columnsRenderMode:i,changedOnly:a=!1,rowStats:o,excludeColumns:s=[],strictMode:c=!1}=e,l=(o?.modified??0)>0,u=[];return n.forEach(e=>{let n=Vt(t,e);if(!n){if(c)throw Error(`Primary key column "${e}" not found in columnMap`);return}u.push({key:e,name:e,columnType:n.colType,columnStatus:n.status,columnRenderMode:i[e],frozen:!0,isPrimaryKey:!0})}),r.forEach(e=>{if(Rt(e,n)||Bt(e,s))return;let r=Vt(t,e);if(!r){if(c)throw Error(`Pinned column "${e}" not found in columnMap`);return}u.push({key:e,name:e,columnType:r.colType,columnStatus:r.status,columnRenderMode:i[e],frozen:!0})}),Object.entries(t).forEach(([e,t])=>{Rt(e,n)||zt(e,r)||Bt(e,s)||Lt(t.status,a,l)&&u.push({key:e,name:e,columnType:t.colType,columnStatus:t.status,columnRenderMode:i[e]})}),u}function Ut(e){let{columnMap:t,primaryKeys:n,pinnedColumns:r,columnsRenderMode:i,excludeColumns:a=[],strictMode:o=!1}=e,s=[];return n.forEach(e=>{let n=t[e];if(!n){if(o)throw Error(`Primary key column "${e}" not found in columnMap`);return}s.push({key:e,name:e,columnType:n.colType,columnRenderMode:i[e],frozen:!0,isPrimaryKey:!0})}),r.forEach(e=>{if(n.includes(e)||a.includes(e))return;let r=t[e];if(!r){if(o)throw Error(`Pinned column "${e}" not found in columnMap`);return}s.push({key:r.key,name:e,columnType:r.colType,columnRenderMode:i[e],frozen:!0})}),Object.entries(t).forEach(([e,t])=>{n.includes(e)||r.includes(e)||a.includes(e)||s.push({key:t.key,name:e,columnType:t.colType,columnRenderMode:i[e]})}),s}function Wt(e){return`baseColumnKey`in e&&`currentColumnKey`in e}function Gt(e,t){return t.includes(e)}function Kt(e){return Wt(e)?{baseKey:e.baseColumnKey,currentKey:e.currentColumnKey}:{baseKey:e.key,currentKey:e.key}}function qt(e,t,n,r,i){n.forEach(n=>{let a=n.key;Gt(a,i)?e[String(a).toLowerCase()]=t[a]:e[`${r}${a}`.toLowerCase()]=t[a]})}function Jt(e,t,n,r){let i=!1;for(let[a,o]of Object.entries(n)){if(a===`index`||Gt(a,r))continue;let{baseKey:n,currentKey:s}=Kt(o);if(n===`unknown`||s===`unknown`)continue;let c=e[n],l=t[s];w.isEqual(c,l)||(i=!0,o.status=`modified`)}return i}function Y(e){let{baseMap:t,currentMap:n,baseColumns:r,currentColumns:i,columnMap:a,primaryKeys:o,changedOnly:s=!1}=e,c=H(Object.keys(t),Object.keys(n)),l={added:0,removed:0,modified:0},u=Object.entries(c).map(([e])=>{let s=t[e],c=n[e],u={_index:pt(e),__status:void 0};return s&&qt(u,s,r,`base__`,o),c&&qt(u,c,i,`current__`,o),s?c?Jt(s,c,a,o)&&(u.__status=`modified`,l.modified++):(u.__status=`removed`,l.removed++):(u.__status=`added`,l.added++),u});return s&&(u=u.filter(e=>e.__status===`added`||e.__status===`removed`||e.__status===`modified`)),{rows:u,rowStats:l}}var X=class extends Error{context;details;constructor(e,t,n){super(t?`[${t}] ${e}`:e),this.context=t,this.details=n,this.name=`DataGridValidationError`}};function Z(e,t=`DataFrame`){if(e!=null){if(typeof e!=`object`)throw new X(`Expected an object, got ${typeof e}`,t);if(!(`columns`in e))throw new X(`Missing 'columns' property`,t,{receivedKeys:Object.keys(e)});if(!Array.isArray(e.columns))throw new X(`'columns' must be an array, got ${typeof e.columns}`,t);if(!(`data`in e))throw new X(`Missing 'data' property`,t,{receivedKeys:Object.keys(e)});if(!Array.isArray(e.data))throw new X(`'data' must be an array, got ${typeof e.data}`,t);Yt(e.columns,t),e.data.length>0&&Xt(e,t)}}function Yt(e,t=`DataFrame`){e.forEach((e,n)=>{if(!e||typeof e!=`object`)throw new X(`Column at index ${n} is not an object`,t,{column:e});if(typeof e.key!=`string`||e.key===``)throw new X(`Column at index ${n} has invalid 'key': expected non-empty string, got ${JSON.stringify(e.key)}`,t,{column:e});if(typeof e.name!=`string`)throw new X(`Column '${e.key}' has invalid 'name': expected string, got ${typeof e.name}`,t,{column:e});if(typeof e.type!=`string`)throw new X(`Column '${e.key}' has invalid 'type': expected string, got ${typeof e.type}`,t,{column:e})})}function Xt(e,t=`DataFrame`){let n=e.columns.length;for(let r=0;r<e.data.length;r++){let i=e.data[r];if(!Array.isArray(i))throw new X(`Row at index ${r} is not an array`,t,{row:i,rowType:typeof i});if(i.length!==n)throw new X(`Row ${r} has ${i.length} values but expected ${n} (column count)`,t,{rowIndex:r,rowLength:i.length,columnCount:n,columns:e.columns.map(e=>e.key)})}}function Zt(e,t,n={}){let{required:r=!1,caseInsensitive:i=!1,context:a=`primaryKeys`}=n;if(r&&(!e||e.length===0))throw new X(`Primary keys are required but none were provided`,a);if(!e||e.length===0)return;let o=t.map(e=>e.key),s=i?o.map(e=>e.toLowerCase()):o;for(let t of e){let e=i?t.toLowerCase():t;if(!(i?s.includes(e):o.includes(t)))throw new X(`Primary key column '${t}' not found in columns`,a,{requestedKey:t,availableColumns:o,caseInsensitive:i})}let c=new Set;for(let t of e){let n=i?t.toLowerCase():t;if(c.has(n))throw new X(`Duplicate primary key: '${t}'`,a,{primaryKeys:e});c.add(n)}}function Qt(e,t){Z(e,`dataframe`),e&&t?.primaryKeys&&Zt(t.primaryKeys,e.columns,{context:`toDataGrid`})}function $t(e,t,n){if(Z(e,`base`),Z(t,`current`),n?.primaryKeys&&n.primaryKeys.length>0){let r=e?.columns??[],i=t?.columns??[],a=new Set([...r.map(e=>e.key),...i.map(e=>e.key)]);for(let e of n.primaryKeys)if(!a.has(e))throw new X(`Primary key column '${e}' not found in either base or current DataFrame`,`toDataDiffGrid`,{requestedKey:e,baseColumns:r.map(e=>e.key),currentColumns:i.map(e=>e.key)})}}function en(e,t){if(!e)throw new X(`DataFrame is required for value diff`);if(Z(e),!t||t.length===0)throw new X(`Primary keys are required for value diff`);Zt(t,e.columns,{required:!0,context:`toValueDiffGrid`});let n=e.columns.map(e=>e.key);if(!n.includes(`in_a`))throw new X(`Value diff DataFrame must include lowercase 'in_a' column`);if(!n.includes(`in_b`))throw new X(`Value diff DataFrame must include lowercase 'in_b' column`)}function tn(e,t,n,r){$t(e,t,n);let i=e??{columns:[],data:[]},a=t??{columns:[],data:[]},o=n?.primaryKeys??[],s=n?.pinnedColumns??[],c=n?.changedOnly??!1,l=n?.displayMode??`side_by_side`,u=n?.columnsRenderMode??{},d=B(i),f=B(a),p=vt(i,a),m={},h={},g=!1,_=!1;if(o.length===0)d.forEach(e=>{m[String(e._index)]=e}),f.forEach(e=>{h[String(e._index)]=e});else{let e=U(i.columns,o);d.forEach(t=>{let n=W(i.columns,e,t);n in m&&(g=!0),m[n]=t});let t=U(a.columns,o);f.forEach(e=>{let n=W(a.columns,t,e);n in h&&(_=!0),h[n]=e})}let{rows:v,rowStats:y}=Y({baseMap:m,currentMap:h,baseColumns:i.columns,currentColumns:a.columns,columnMap:p,primaryKeys:o,changedOnly:c}),{columns:b}=J({columns:Ht({columnMap:p,primaryKeys:o,pinnedColumns:s,columnsRenderMode:u,changedOnly:c,rowStats:y,excludeColumns:[`index`],strictMode:!1}),displayMode:l,allowIndexFallback:!0,baseTitle:n?.baseTitle,currentTitle:n?.currentTitle,headerProps:{primaryKeys:o,pinnedColumns:s,onPrimaryKeyChange:n?.onPrimaryKeyChange,onPinnedColumnsChange:n?.onPinnedColumnsChange,onColumnsRenderModeChanged:n?.onColumnsRenderModeChanged},renderComponents:r?.renderComponents??{DataFrameColumnGroupHeader:()=>null,defaultRenderCell:()=>null,inlineRenderCell:()=>null}});return{columns:b,rows:v,invalidPKeyBase:g,invalidPKeyCurrent:_}}function nn(){return{field:`_index`,headerName:``,width:50,cellClass:`index-column`,resizable:!1,pinned:`left`}}function rn(e,t,n){let{key:r,name:i,columnType:a,columnRenderMode:o}=e,{DataFrameColumnGroupHeader:s,defaultRenderCell:c}=n;return{field:r,headerName:i,headerComponent:()=>l(s,{name:i,columnStatus:``,columnType:a,pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged}),pinned:`left`,cellRenderer:c,context:{columnType:a,columnRenderMode:o}}}function an(e,t,n){let{key:r,name:i,columnType:a,columnRenderMode:o}=e,{DataFrameColumnHeader:s,defaultRenderCell:c}=n;return{field:r,headerName:i,headerComponent:()=>l(s,{name:i,columnType:a,pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged}),cellRenderer:c,context:{columnType:a,columnRenderMode:o}}}function on(e){let{columns:t,headerProps:n,allowIndexFallback:r=!0,renderComponents:i}=e,a=[],o=!1;!t.some(e=>e.isPrimaryKey)&&r&&(a.push(nn()),o=!0);for(let e of t)if(e.isPrimaryKey)a.push(rn(e,n,i));else{let t=an(e,n,i);a.push({...t,pinned:e.frozen?`left`:void 0})}return{columns:a,usedIndexFallback:o}}function sn(e,t,n){Qt(e,t);let r=t.primaryKeys??[],i=t.pinnedColumns??[],a=t.columnsRenderMode??{},{columns:o}=on({columns:Ut({columnMap:gt(e),primaryKeys:r,pinnedColumns:i,columnsRenderMode:a}),headerProps:{pinnedColumns:i,onPinnedColumnsChange:t.onPinnedColumnsChange,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged},allowIndexFallback:!0,renderComponents:n.renderComponents});return{columns:o,rows:B(e)}}function cn(e,t,n,r){en(e,t);let i=n?.pinnedColumns??[],a=n?.changedOnly??!1,o=n?.displayMode??`inline`,s=n?.columnsRenderMode??{},c=B(e),l=_t(e),u={},d={},f=U(e.columns,t),p=l.in_a.key,m=l.in_b.key;c.forEach(t=>{let n=W(e.columns,f,t);t[p]&&(u[n.toLowerCase()]=t),t[m]&&(d[n.toLowerCase()]=t)});let{rows:h,rowStats:g}=Y({baseMap:u,currentMap:d,baseColumns:e.columns,currentColumns:e.columns,columnMap:l,primaryKeys:t,changedOnly:a}),{columns:_}=J({columns:Ht({columnMap:l,primaryKeys:t,pinnedColumns:i,columnsRenderMode:s,changedOnly:a,rowStats:g,excludeColumns:[`in_a`,`in_b`],strictMode:!0}),displayMode:o,allowIndexFallback:!1,baseTitle:n?.baseTitle,currentTitle:n?.currentTitle,headerProps:{primaryKeys:t,pinnedColumns:i,onPinnedColumnsChange:n?.onPinnedColumnsChange,onColumnsRenderModeChanged:n?.onColumnsRenderModeChanged},renderComponents:r?.renderComponents??{DataFrameColumnGroupHeader:()=>null,defaultRenderCell:()=>null,inlineRenderCell:()=>null}});return{columns:_,rows:h}}const Q={DataFrameColumnGroupHeader:z,defaultRenderCell:xt,inlineRenderCell:Tt},$={DataFrameColumnGroupHeader:z,DataFrameColumnHeader:ft,defaultRenderCell:xt};function ln(e){return Nt({...e,renderComponents:Q})}function un(e){return J({...e,renderComponents:Q})}function dn(e,t,n){return tn(e,t,n,{renderComponents:Q})}function fn(e,t,n){return cn(e,t,n,{renderComponents:Q})}function pn(e,t){return sn(e,t,{renderComponents:$})}function mn(e){return on({...e,renderComponents:$})}function hn(e,t){if(e===0&&t!==0)return`N/A`;if(e<t){let n=(t-e)/e*100;return`+${n>=.1?n.toFixed(1):` <0.1 `}%`}else if(e>t){let n=(e-t)/e*100;return`-${n>=.1?n.toFixed(1):` <0.1 `}%`}else return`0`}function gn(e,t){return e!==null&&t!==null?e===t?`0`:hn(e,t):e===t?`N/A`:e===null?`Added`:t===null?`Removed`:`N/A`}function _n(e){return{columns:[{key:`name`,name:`Name`,type:`text`},{key:`base`,name:`Base Rows`,type:`number`},{key:`current`,name:`Current Rows`,type:`number`},{key:`delta`,name:`Delta`,type:`text`}],data:Object.entries(e).map(([e,t])=>{let n=typeof t.base==`number`?t.base:null,r=typeof t.curr==`number`?t.curr:null;return[e,n,r,gn(n,r)]})}}function vn(e){return{columns:[{key:`name`,name:`Name`,type:`text`},{key:`current`,name:`Row Count`,type:`number`}],data:Object.entries(e).map(([e,t])=>[e,typeof t.curr==`number`?t.curr:null])}}function yn(e,t){if(e===null&&t!==null)return`added`;if(e!==null&&t===null)return`removed`;if(e!==null&&t!==null&&e!==t)return`modified`}function bn(e){return{columns:[{field:`name`,headerName:`Name`,resizable:!0},{field:`current`,headerName:`Row Count`,resizable:!0}],rows:B(vn(e)).map(e=>({...e,current:e.current??`N/A`,__status:void 0}))}}function xn(){return e=>{let t=e.data;if(!t)return;let n=t.base,r=t.current,i=n===`N/A`?null:n,a=r===`N/A`?null:r;if(i!==a){if(i===null||typeof i==`number`&&typeof a==`number`&&i<a)return`diff-cell-added`;if(a===null||typeof i==`number`&&typeof a==`number`&&i>a)return`diff-cell-removed`}}}function Sn(e){let t=B(_n(e)).map(e=>{let t=e.base,n=e.current;return{...e,base:t??`N/A`,current:n??`N/A`,__status:yn(typeof t==`number`?t:null,typeof n==`number`?n:null)}}),n=xn();return{columns:[{field:`name`,headerName:`Name`,resizable:!0,cellClass:n},{field:`base`,headerName:`Base Rows`,resizable:!0,cellClass:n},{field:`current`,headerName:`Current Rows`,resizable:!0,cellClass:n},{field:`delta`,headerName:`Delta`,resizable:!0,cellClass:n}],rows:t}}function Cn(e){let t=new Set,n=new Set;if(e?.nodes){let r=Object.values(e.nodes);for(let e of r)e.data.schema&&(e.data.changeStatus!==`added`&&t.add(e.data.schema),e.data.changeStatus!==`removed`&&n.add(e.data.schema))}return[t,n]}function wn(e,t){let n=V(e,t);if(n.length===0)return[];if(e.length===0||t.length===0)return n.map((e,t)=>t===n.length-1?e:e+`,`);let r=``;return n.forEach(n=>{e.includes(n)&&t.includes(n)&&(r=n)}),n.map((i,a)=>{let o;return o=e.includes(i)?t.includes(i)?i:`--- ${i} (Removed)`:`--- ${i} (Added)`,i===r||a===n.length-1?o:o+`,`})}function Tn(e){let t=Math.floor(e);return{hours:Math.floor(t/3600),minutes:Math.floor(t%3600/60),seconds:t%60}}function En({hours:e,minutes:t,seconds:n}){return e>0?`${e}:${t.toString().padStart(2,`0`)}:${n.toString().padStart(2,`0`)}`:`${t}:${n.toString().padStart(2,`0`)}`}function Dn({hours:e,minutes:t,seconds:n}){let r=[];return e>0&&r.push(`${e} hour${e===1?``:`s`}`),t>0&&r.push(`${t} min${t===1?``:`s`}`),e===0&&(r.length===0||n>0)&&r.push(`${n} second${n===1?``:`s`}`),r.join(` `)}function On(e,t=`verbose`){let n=Tn(e);return t===`compact`?En(n):Dn(n)}function kn(e){if(!Number.isFinite(e))return String(e);let{hours:t,minutes:n,seconds:r}=Tn((Math.floor(e)%86400+86400)%86400),i=e=>e.toString().padStart(2,`0`);return`${i(t)}:${i(n)}:${i(r)}`}function An(e){let t=new Date(e*1e3);return Number.isNaN(t.getTime())?String(e):t.toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`,timeZone:`UTC`})}function jn(e){return ne(S(e),`yyyy-MM-dd'T'HH:mm:ss`)}function Mn(e){return x(S(e),new Date,{addSuffix:!0})}function Nn(e,t){if(!e||!t)return;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!0;for(let e=0;e<n.length;e++)if(n[e]!==r[e])return!0;for(let n of r)if(!e[n]||e[n].type!==t[n]?.type)return!0;return!1}function Pn(e,t){return e?.organization_name&&e.web_url?`${e.web_url}/organizations/${e.organization_name}/settings`:t}export{validateToDataGridInputs as $,Oe as $t,createCellClassCurrent as A,I as At,isPinnedColumn as B,Ve as Bt,buildJoinedColumnMap as C,St as Ct,columnPrecisionSelectOptions as D,ht as Dt,calculateDelta as E,B as Et,getHeaderCellClass as F,at as Ft,toDiffColumn as G,M as Gt,rowCountDiffResultToDataFrame as H,ze as Ht,getPrimaryKeyValue as I,Ge as It,validateColumns as J,j as Jt,toRenderedValue as K,Fe as Kt,getRowCountDiffStatus as L,Ue as Lt,formatSmartDecimal as M,st as Mt,getCellClass as N,ct as Nt,columnRenderedValue as O,L as Ot,getDisplayColumns as P,it as Pt,validateToDataDiffGridInputs as Q,Ae as Qt,getSimpleDisplayColumns as R,Be as Rt,buildDiffRows as S,Ct as St,buildSimpleColumnDefinitions as T,H as Tt,rowCountResultToDataFrame as U,Le as Ut,isPrimaryKeyColumn as V,Re as Vt,shouldIncludeColumn as W,Ie as Wt,validatePrimaryKeyConfig as X,je as Xt,validateDataFrame as Y,Pe as Yt,validatePrimaryKeys as Z,ke as Zt,Cn as _,ToggleSwitch as _t,getCaseInsensitive as a,bn as at,buildColumnOrder as b,kt as bt,keyToNumber as c,mn as ct,On as d,dn as dt,Ee as en,validateToValueDiffGridInputs as et,An as f,pn as ft,wn as g,DiffDisplayModeSwitch as gt,jn as h,ChangedOnlyCheckbox as ht,formatNumber as i,Sn as it,determineRowStatus as j,lt as jt,createCellClassBase as k,ut as kt,Pn as l,Q as lt,Mn as m,fn as mt,formatAsAbbreviatedNumber as n,toDataGrid as nt,getValueAtPath as o,hn as ot,kn as p,ln as pt,validateColumnDataAlignment as q,Ne as qt,formatIntervalMinMax as r,toValueDiffGrid as rt,hashStringToNumber as s,un as st,dataFrameToRowObjects as t,fe as tn,toDataDiffGrid as tt,Nn as u,$ as ut,DataGridValidationError as v,At as vt,buildMergedColumnMap as w,V as wt,buildDiffColumnDefinitions as x,q as xt,buildColumnMap as y,Ot as yt,isExcludedColumn as z,He as zt};
|
|
6
|
+
//# sourceMappingURL=utils-D1bvitEj.js.map
|