@datarecce/ui 1.52.0-nightly.20260608 → 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.
Files changed (123) hide show
  1. package/dist/{RouteConfigContext-Dhffxg0a.d.ts → RouteConfigContext-B9Wq4LRq.d.ts} +2 -2
  2. package/dist/RouteConfigContext-B9Wq4LRq.d.ts.map +1 -0
  3. package/dist/{ScreenshotDataGrid-5EwaZxMk.d.ts → ScreenshotDataGrid-C8snBiZi.d.ts} +1 -1
  4. package/dist/ScreenshotDataGrid-C8snBiZi.d.ts.map +1 -0
  5. package/dist/advanced.d.ts +9 -9
  6. package/dist/advanced.d.ts.map +1 -1
  7. package/dist/advanced.js +1 -1
  8. package/dist/{api-D7m6D3R5.js → api-S5ho3Qs3.js} +2 -2
  9. package/dist/{api-D7m6D3R5.js.map → api-S5ho3Qs3.js.map} +1 -1
  10. package/dist/{api-DZymTKh4.d.ts → api-e2VbrOsl.d.ts} +3 -3
  11. package/dist/api-e2VbrOsl.d.ts.map +1 -0
  12. package/dist/api.d.ts +2 -2
  13. package/dist/api.js +1 -1
  14. package/dist/{chartTheme-CzJoXHE8.d.ts → chartTheme-CRNnzu80.d.ts} +1 -1
  15. package/dist/chartTheme-CRNnzu80.d.ts.map +1 -0
  16. package/dist/{colors-BbPSDR1X.js → colors-4aGxuAVw.js} +1 -1
  17. package/dist/{colors-BbPSDR1X.js.map → colors-4aGxuAVw.js.map} +1 -1
  18. package/dist/components-run.d.ts +2 -2
  19. package/dist/components-run.js +1 -1
  20. package/dist/components.d.ts +6 -6
  21. package/dist/components.js +1 -1
  22. package/dist/{constants-D-hOGDbU.js → constants-Bgp90yan.js} +1 -1
  23. package/dist/{constants-D-hOGDbU.js.map → constants-Bgp90yan.js.map} +1 -1
  24. package/dist/constants.d.ts +1 -1
  25. package/dist/constants.js +1 -1
  26. package/dist/contexts.d.ts +4 -4
  27. package/dist/contexts.js +1 -1
  28. package/dist/{fetchClient-BVyYwVMf.js → fetchClient-D0p358nB.js} +1 -1
  29. package/dist/{fetchClient-BVyYwVMf.js.map → fetchClient-D0p358nB.js.map} +1 -1
  30. package/dist/{fetchClient-CTnJ39EA.d.ts → fetchClient-DXG9CLUq.d.ts} +1 -1
  31. package/dist/{fetchClient-CTnJ39EA.d.ts.map → fetchClient-DXG9CLUq.d.ts.map} +1 -1
  32. package/dist/hooks-CrJq15DU.js +7 -0
  33. package/dist/hooks-CrJq15DU.js.map +1 -0
  34. package/dist/hooks.d.ts +2 -2
  35. package/dist/hooks.js +1 -1
  36. package/dist/{index-DbZc6tFS.d.ts → index-BOFGzyVm.d.ts} +3 -3
  37. package/dist/index-BOFGzyVm.d.ts.map +1 -0
  38. package/dist/{index-BwwK0z1-.d.ts → index-CL1zCliW.d.ts} +2 -2
  39. package/dist/index-CL1zCliW.d.ts.map +1 -0
  40. package/dist/{index--3nbLBO3.d.ts → index-CPBF1Xr2.d.ts} +3 -3
  41. package/dist/index-CPBF1Xr2.d.ts.map +1 -0
  42. package/dist/{index-CHGw3r8p.d.ts → index-CQRX1OT9.d.ts} +2 -2
  43. package/dist/index-CQRX1OT9.d.ts.map +1 -0
  44. package/dist/{index-CcjcKQNp.d.ts → index-Cq6tdNkH.d.ts} +1 -1
  45. package/dist/index-Cq6tdNkH.d.ts.map +1 -0
  46. package/dist/{index-DiylGzO1.d.ts → index-DjuwVxKT.d.ts} +5 -5
  47. package/dist/index-DjuwVxKT.d.ts.map +1 -0
  48. package/dist/{index-yom8qvXO.d.ts → index-DnkjRy48.d.ts} +3 -3
  49. package/dist/index-DnkjRy48.d.ts.map +1 -0
  50. package/dist/{index-ljGk0vtJ.d.ts → index-L2LAN6Z9.d.ts} +1 -1
  51. package/dist/index-L2LAN6Z9.d.ts.map +1 -0
  52. package/dist/{index-tycbfWRA.d.ts → index-jFG10ql3.d.ts} +7 -7
  53. package/dist/index-jFG10ql3.d.ts.map +1 -0
  54. package/dist/index.d.ts +15 -15
  55. package/dist/index.js +1 -1
  56. package/dist/{instanceInfo-Cxe3cNOM.d.ts → instanceInfo-CMOHULsR.d.ts} +2 -2
  57. package/dist/instanceInfo-CMOHULsR.d.ts.map +1 -0
  58. package/dist/{keepAlive-DbC0X4zr.js → keepAlive-bjIHulj-.js} +2 -2
  59. package/dist/{keepAlive-DbC0X4zr.js.map → keepAlive-bjIHulj-.js.map} +1 -1
  60. package/dist/lib/api/queryClient.d.ts.map +1 -1
  61. package/dist/lib/api/track.d.ts.map +1 -1
  62. package/dist/lib/api/track.js.map +1 -1
  63. package/dist/lib/api/user.d.ts +1 -1
  64. package/dist/lib/api/user.d.ts.map +1 -1
  65. package/dist/lib/api/user.js +1 -1
  66. package/dist/lib/api/user.js.map +1 -1
  67. package/dist/lib/result/ResultErrorFallback.d.ts.map +1 -1
  68. package/dist/lib/result/ResultErrorFallback.js.map +1 -1
  69. package/dist/{lineage-Ba_RtC68.d.ts → lineage-2nc0YlpN.d.ts} +10 -10
  70. package/dist/lineage-2nc0YlpN.d.ts.map +1 -0
  71. package/dist/{primitives-CH-N_7Xw.d.ts → primitives-Dvljxc6u.d.ts} +5 -5
  72. package/dist/primitives-Dvljxc6u.d.ts.map +1 -0
  73. package/dist/primitives.d.ts +6 -6
  74. package/dist/primitives.js +1 -1
  75. package/dist/result.d.ts +1 -1
  76. package/dist/result.js +1 -1
  77. package/dist/src-DI-sLY25.js +12 -0
  78. package/dist/src-DI-sLY25.js.map +1 -0
  79. package/dist/styles.css +1 -1
  80. package/dist/theme-wN7zbYoG.js +3 -0
  81. package/dist/theme-wN7zbYoG.js.map +1 -0
  82. package/dist/theme.d.ts +2 -2
  83. package/dist/theme.js +1 -1
  84. package/dist/{types-Dmemk4LS.d.ts → types-9MeiHUfo.d.ts} +2 -2
  85. package/dist/types-9MeiHUfo.d.ts.map +1 -0
  86. package/dist/{types-B3DXJzwE.d.ts → types-CbujhEfL.d.ts} +3 -3
  87. package/dist/types-CbujhEfL.d.ts.map +1 -0
  88. package/dist/types.d.ts +9 -9
  89. package/dist/{useThemeColors-C-siKolp.d.ts → useThemeColors-CUdNH8LP.d.ts} +1 -1
  90. package/dist/useThemeColors-CUdNH8LP.d.ts.map +1 -0
  91. package/dist/utils-Dl2dMzK8.js +6 -0
  92. package/dist/{utils-D1p-E_Ng.js.map → utils-Dl2dMzK8.js.map} +1 -1
  93. package/dist/{utils-Br2xknRC.js → utils-FOrjYCpW.js} +2 -2
  94. package/dist/{utils-Br2xknRC.js.map → utils-FOrjYCpW.js.map} +1 -1
  95. package/dist/utils.d.ts +1 -1
  96. package/dist/utils.js +1 -1
  97. package/package.json +1 -1
  98. package/dist/RouteConfigContext-Dhffxg0a.d.ts.map +0 -1
  99. package/dist/ScreenshotDataGrid-5EwaZxMk.d.ts.map +0 -1
  100. package/dist/api-DZymTKh4.d.ts.map +0 -1
  101. package/dist/chartTheme-CzJoXHE8.d.ts.map +0 -1
  102. package/dist/hooks-DxNrS1mN.js +0 -7
  103. package/dist/hooks-DxNrS1mN.js.map +0 -1
  104. package/dist/index--3nbLBO3.d.ts.map +0 -1
  105. package/dist/index-BwwK0z1-.d.ts.map +0 -1
  106. package/dist/index-CHGw3r8p.d.ts.map +0 -1
  107. package/dist/index-CcjcKQNp.d.ts.map +0 -1
  108. package/dist/index-DbZc6tFS.d.ts.map +0 -1
  109. package/dist/index-DiylGzO1.d.ts.map +0 -1
  110. package/dist/index-ljGk0vtJ.d.ts.map +0 -1
  111. package/dist/index-tycbfWRA.d.ts.map +0 -1
  112. package/dist/index-yom8qvXO.d.ts.map +0 -1
  113. package/dist/instanceInfo-Cxe3cNOM.d.ts.map +0 -1
  114. package/dist/lineage-Ba_RtC68.d.ts.map +0 -1
  115. package/dist/primitives-CH-N_7Xw.d.ts.map +0 -1
  116. package/dist/src-CEyf4Rbb.js +0 -12
  117. package/dist/src-CEyf4Rbb.js.map +0 -1
  118. package/dist/theme-Db-mFBbo.js +0 -3
  119. package/dist/theme-Db-mFBbo.js.map +0 -1
  120. package/dist/types-B3DXJzwE.d.ts.map +0 -1
  121. package/dist/types-Dmemk4LS.d.ts.map +0 -1
  122. package/dist/useThemeColors-C-siKolp.d.ts.map +0 -1
  123. package/dist/utils-D1p-E_Ng.js +0 -6
package/dist/styles.css CHANGED
@@ -12,7 +12,7 @@
12
12
  * @license MIT
13
13
  */
14
14
  /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
15
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-100:#fee2e2;--color-red-300:#fca5a5;--color-red-400:#f87171;--color-red-500:#ef4444;--color-red-700:#b91c1c;--color-red-900:#7f1d1d;--color-amber-100:#fef3c7;--color-amber-300:#fcd34d;--color-amber-400:#fbbf24;--color-amber-500:#f59e0b;--color-amber-600:#d97706;--color-amber-700:#b45309;--color-amber-800:#92400e;--color-amber-900:#78350f;--color-green-100:#dcfce7;--color-green-300:#86efac;--color-green-400:#4ade80;--color-green-500:#22c55e;--color-green-700:#15803d;--color-green-900:#14532d;--color-cyan-200:#a5f3fc;--color-cyan-300:#67e8f9;--color-cyan-400:#22d3ee;--color-blue-50:oklch(97% .014 254.604);--color-fuchsia-300:#f0abfc;--color-fuchsia-400:#e879f9;--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-400:#a3a3a3;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#171717;--color-neutral-950:#0a0a0a;--spacing:.25rem;--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-light:300;--radius-lg:.5rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-brand-50:#ffded5;--color-brand-200:#ffa58c;--color-brand-400:#ff6e42;--color-brand-500:#fd541e;--color-brand-600:#f04104;--color-brand-700:#c93a06;--color-brand-800:#a23206;--color-brand-900:#7c2906;--color-brand-950:#571e05;--color-iochmara-100:#c4ddf3;--color-iochmara-300:#79b0e2;--color-iochmara-400:#5599d8;--color-iochmara-500:#3182ce;--color-iochmara-600:#2a6ca7;--color-iochmara-700:#225581;--color-iochmara-900:#102638}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-10{top:calc(var(--spacing) * 10)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-2{margin:calc(var(--spacing) * 2)}.ml-1{margin-left:calc(var(--spacing) * 1)}.box-content{box-sizing:content-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.\!size-4{width:calc(var(--spacing) * 4)!important;height:calc(var(--spacing) * 4)!important}.size-6\!{width:calc(var(--spacing) * 6)!important;height:calc(var(--spacing) * 6)!important}.h-full{height:100%}.max-h-dvh{max-height:100dvh}.min-h-0{min-height:calc(var(--spacing) * 0)}.w-4\/5{width:80%}.max-w-72{max-width:calc(var(--spacing) * 72)}.\!min-w-4{min-width:calc(var(--spacing) * 4)!important}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.justify-center{justify-content:center}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-blue-50{background-color:var(--color-blue-50)}.p-4{padding:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.break-all{word-break:break-all}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--recce-bg-default:var(--color-neutral-50);--recce-bg-paper:#fff;--recce-bg-elevated:#fff;--recce-bg-subtle:var(--color-neutral-100);--recce-text-primary:var(--color-neutral-900);--recce-text-secondary:var(--color-neutral-600);--recce-text-muted:var(--color-neutral-400);--recce-border:var(--color-neutral-200);--recce-border-subtle:var(--color-neutral-100);--recce-brand:var(--color-brand-500);--recce-brand-hover:var(--color-brand-600);--recce-brand-active:var(--color-brand-700);--recce-secondary:var(--color-iochmara-500);--recce-secondary-hover:var(--color-iochmara-600);--recce-secondary-active:var(--color-iochmara-700);--recce-success:var(--color-green-500);--recce-warning:var(--color-amber-500);--recce-error:var(--color-red-500);--recce-info:var(--color-iochmara-500);--recce-shadow-sm:0 1px 2px 0 #0000000d;--recce-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--recce-shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--recce-shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a}.dark{--recce-bg-default:var(--color-neutral-950);--recce-bg-paper:var(--color-neutral-900);--recce-bg-elevated:var(--color-neutral-800);--recce-bg-subtle:var(--color-neutral-800);--recce-text-primary:var(--color-neutral-50);--recce-text-secondary:var(--color-neutral-400);--recce-text-muted:var(--color-neutral-600);--recce-border:var(--color-neutral-800);--recce-border-subtle:var(--color-neutral-700);--recce-brand:var(--color-brand-400);--recce-brand-hover:var(--color-brand-500);--recce-brand-active:var(--color-brand-600);--recce-secondary:var(--color-iochmara-400);--recce-secondary-hover:var(--color-iochmara-500);--recce-secondary-active:var(--color-iochmara-600);--recce-success:var(--color-green-400);--recce-warning:var(--color-amber-400);--recce-error:var(--color-red-400);--recce-info:var(--color-iochmara-400);--recce-shadow-sm:0 1px 2px 0 #0000004d;--recce-shadow:0 1px 3px 0 #0006, 0 1px 2px -1px #0000004d;--recce-shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0000004d;--recce-shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -4px #0000004d}.dark .react-flow__controls{background-color:var(--recce-bg-paper);border-color:var(--recce-border)}.dark .react-flow__controls button{background-color:var(--recce-bg-paper);border-color:var(--recce-border);color:var(--recce-text-primary);fill:var(--recce-text-primary)}.dark .react-flow__controls button:hover{background-color:var(--recce-bg-elevated)}.dark .react-flow__controls button svg{fill:var(--recce-text-primary)}.dark .react-flow__minimap{background-color:var(--recce-bg-paper)}.dark .react-flow__minimap-mask{fill:var(--recce-bg-default);opacity:.6}.dark .react-flow__minimap-node{fill:var(--recce-text-muted)}.dark .react-flow__background{background-color:var(--recce-bg-default)}.dark .react-flow__background pattern circle,.dark .react-flow__background pattern line{stroke:var(--recce-border)}.dark .react-flow__attribution{background-color:var(--recce-bg-paper)}.dark .react-flow__attribution a{color:var(--recce-text-secondary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--recce-bg-subtle);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--recce-text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--recce-text-secondary)}*{scrollbar-width:thin;scrollbar-color:var(--recce-text-muted) var(--recce-bg-subtle)}.dark ::-webkit-scrollbar-track{background:var(--recce-bg-paper)}.dark ::-webkit-scrollbar-thumb{background:var(--recce-border)}.dark ::-webkit-scrollbar-thumb:hover{background:var(--recce-text-muted)}::selection{background-color:var(--color-brand-200);color:var(--color-brand-950)}.dark ::selection{background-color:var(--color-brand-700);color:var(--color-brand-50)}:focus-visible{outline:2px solid var(--recce-brand);outline-offset:2px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
15
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-100:#fee2e2;--color-red-300:#fca5a5;--color-red-400:#f87171;--color-red-500:#ef4444;--color-red-700:#b91c1c;--color-red-900:#7f1d1d;--color-amber-100:#fef3c7;--color-amber-300:#fcd34d;--color-amber-400:#fbbf24;--color-amber-500:#f59e0b;--color-amber-600:#d97706;--color-amber-700:#b45309;--color-amber-800:#92400e;--color-amber-900:#78350f;--color-green-100:#dcfce7;--color-green-300:#86efac;--color-green-400:#4ade80;--color-green-500:#22c55e;--color-green-700:#15803d;--color-green-900:#14532d;--color-cyan-200:#a5f3fc;--color-cyan-300:#67e8f9;--color-cyan-400:#22d3ee;--color-blue-50:oklch(97% .014 254.604);--color-fuchsia-300:#f0abfc;--color-fuchsia-400:#e879f9;--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-400:#a3a3a3;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#171717;--color-neutral-950:#0a0a0a;--spacing:.25rem;--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-light:300;--radius-lg:.5rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-brand-50:#ffded5;--color-brand-200:#ffa58c;--color-brand-400:#ff6e42;--color-brand-500:#fd541e;--color-brand-600:#f04104;--color-brand-700:#c93a06;--color-brand-800:#a23206;--color-brand-900:#7c2906;--color-brand-950:#571e05;--color-iochmara-100:#c4ddf3;--color-iochmara-300:#79b0e2;--color-iochmara-400:#5599d8;--color-iochmara-500:#3182ce;--color-iochmara-600:#2a6ca7;--color-iochmara-700:#225581;--color-iochmara-900:#102638}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-10{top:calc(var(--spacing) * 10)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-2{margin:calc(var(--spacing) * 2)}.ml-1{margin-left:calc(var(--spacing) * 1)}.box-content{box-sizing:content-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.\!size-4{width:calc(var(--spacing) * 4)!important;height:calc(var(--spacing) * 4)!important}.size-6\!{width:calc(var(--spacing) * 6)!important;height:calc(var(--spacing) * 6)!important}.h-full{height:100%}.max-h-dvh{max-height:100dvh}.min-h-0{min-height:calc(var(--spacing) * 0)}.w-4\/5{width:80%}.max-w-72{max-width:calc(var(--spacing) * 72)}.\!min-w-4{min-width:calc(var(--spacing) * 4)!important}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.justify-center{justify-content:center}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-blue-50{background-color:var(--color-blue-50)}.p-4{padding:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.break-all{word-break:break-all}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--recce-bg-default:var(--color-neutral-50);--recce-bg-paper:#fff;--recce-bg-elevated:#fff;--recce-bg-subtle:var(--color-neutral-100);--recce-text-primary:var(--color-neutral-900);--recce-text-secondary:var(--color-neutral-600);--recce-text-muted:var(--color-neutral-400);--recce-border:var(--color-neutral-200);--recce-border-subtle:var(--color-neutral-100);--recce-brand:var(--color-brand-500);--recce-brand-hover:var(--color-brand-600);--recce-brand-active:var(--color-brand-700);--recce-secondary:var(--color-iochmara-500);--recce-secondary-hover:var(--color-iochmara-600);--recce-secondary-active:var(--color-iochmara-700);--recce-success:var(--color-green-500);--recce-warning:var(--color-amber-500);--recce-error:var(--color-red-500);--recce-info:var(--color-iochmara-500);--recce-shadow-sm:0 1px 2px 0 #0000000d;--recce-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--recce-shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--recce-shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a}.dark{--recce-bg-default:var(--color-neutral-950);--recce-bg-paper:var(--color-neutral-900);--recce-bg-elevated:var(--color-neutral-800);--recce-bg-subtle:var(--color-neutral-800);--recce-text-primary:var(--color-neutral-50);--recce-text-secondary:var(--color-neutral-400);--recce-text-muted:var(--color-neutral-600);--recce-border:var(--color-neutral-800);--recce-border-subtle:var(--color-neutral-700);--recce-brand:var(--color-brand-400);--recce-brand-hover:var(--color-brand-500);--recce-brand-active:var(--color-brand-600);--recce-secondary:var(--color-iochmara-400);--recce-secondary-hover:var(--color-iochmara-500);--recce-secondary-active:var(--color-iochmara-600);--recce-success:var(--color-green-400);--recce-warning:var(--color-amber-400);--recce-error:var(--color-red-400);--recce-info:var(--color-iochmara-400);--recce-shadow-sm:0 1px 2px 0 #0000004d;--recce-shadow:0 1px 3px 0 #0006, 0 1px 2px -1px #0000004d;--recce-shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0000004d;--recce-shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -4px #0000004d}.dark .react-flow__controls{background-color:var(--recce-bg-paper);border-color:var(--recce-border)}.dark .react-flow__controls button{background-color:var(--recce-bg-paper);border-color:var(--recce-border);color:var(--recce-text-primary);fill:var(--recce-text-primary)}.dark .react-flow__controls button:hover{background-color:var(--recce-bg-elevated)}.dark .react-flow__controls button svg{fill:var(--recce-text-primary)}.dark .react-flow__minimap{background-color:var(--recce-bg-paper)}.dark .react-flow__minimap-mask{fill:var(--recce-bg-default);opacity:.6}.dark .react-flow__minimap-node{fill:var(--recce-text-muted)}.dark .react-flow__background{background-color:var(--recce-bg-default)}.dark .react-flow__background pattern circle,.dark .react-flow__background pattern line{stroke:var(--recce-border)}.dark .react-flow__attribution{background-color:var(--recce-bg-paper)}.dark .react-flow__attribution a{color:var(--recce-text-secondary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--recce-bg-subtle);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--recce-text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--recce-text-secondary)}*{scrollbar-width:thin;scrollbar-color:var(--recce-text-muted) var(--recce-bg-subtle)}.dark ::-webkit-scrollbar-track{background:var(--recce-bg-paper)}.dark ::-webkit-scrollbar-thumb{background:var(--recce-border)}.dark ::-webkit-scrollbar-thumb:hover{background:var(--recce-text-muted)}::selection{background-color:var(--color-brand-200);color:var(--color-brand-950)}.dark ::selection{background-color:var(--color-brand-700);color:var(--color-brand-50)}:focus-visible{outline:2px solid var(--recce-brand);outline-offset:2px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
16
16
  /* Third-party component overrides */
17
17
  /**
18
18
  * @datarecce/ui - Third-party component style overrides
@@ -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":"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AAkB,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.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
 
2
- import { a as CURRENT_BAR_COLOR, c as CURRENT_BAR_COLOR_WITH_ALPHA, d as INFO_VAL_COLOR, f as INFO_VAL_COLOR_DARK, g as getThemedScaleOptions, h as getThemedPluginOptions, i as BASE_BAR_COLOR_WITH_ALPHA, l as ChartBarColors, m as getChartThemeColors, n as BASE_BAR_COLOR_DARK, o as CURRENT_BAR_COLOR_DARK, p as getChartBarColors, r as BASE_BAR_COLOR_DARK_WITH_ALPHA, s as CURRENT_BAR_COLOR_DARK_WITH_ALPHA, t as BASE_BAR_COLOR, u as ChartThemeColors } from "./chartTheme-CzJoXHE8.js";
3
- import { a as SemanticColorVariant, c as semanticVariantMap, d as dataGridThemeLight, i as ColorShade, l as token, n as RecceTheme, o as colorAliases, r as theme, s as colors, t as Theme, u as dataGridThemeDark } from "./index-ljGk0vtJ.js";
2
+ import { a as CURRENT_BAR_COLOR, c as CURRENT_BAR_COLOR_WITH_ALPHA, d as INFO_VAL_COLOR, f as INFO_VAL_COLOR_DARK, g as getThemedScaleOptions, h as getThemedPluginOptions, i as BASE_BAR_COLOR_WITH_ALPHA, l as ChartBarColors, m as getChartThemeColors, n as BASE_BAR_COLOR_DARK, o as CURRENT_BAR_COLOR_DARK, p as getChartBarColors, r as BASE_BAR_COLOR_DARK_WITH_ALPHA, s as CURRENT_BAR_COLOR_DARK_WITH_ALPHA, t as BASE_BAR_COLOR, u as ChartThemeColors } from "./chartTheme-CRNnzu80.js";
3
+ import { a as SemanticColorVariant, c as semanticVariantMap, d as dataGridThemeLight, i as ColorShade, l as token, n as RecceTheme, o as colorAliases, r as theme, s as colors, t as Theme, u as dataGridThemeDark } from "./index-L2LAN6Z9.js";
4
4
  export { BASE_BAR_COLOR, BASE_BAR_COLOR_DARK, BASE_BAR_COLOR_DARK_WITH_ALPHA, BASE_BAR_COLOR_WITH_ALPHA, CURRENT_BAR_COLOR, CURRENT_BAR_COLOR_DARK, CURRENT_BAR_COLOR_DARK_WITH_ALPHA, CURRENT_BAR_COLOR_WITH_ALPHA, type ChartBarColors, type ChartThemeColors, type ColorShade, INFO_VAL_COLOR, INFO_VAL_COLOR_DARK, type RecceTheme, type SemanticColorVariant, type Theme, colorAliases, colors, dataGridThemeDark, dataGridThemeLight, getChartBarColors, getChartThemeColors, getThemedPluginOptions, getThemedScaleOptions, semanticVariantMap, theme, token };
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-Db-mFBbo.js";import{i as _,n as v,r as y,t as b}from"./colors-BbPSDR1X.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};
@@ -1,5 +1,5 @@
1
1
 
2
- import { Lt as RunsAggregated, M as Run, bn as PullRequestInfo, dn as ManifestMetadata, on as CatalogMetadata, rn as ColumnLineageData, s as LineageDiffViewOptions, sn as GitInfo, tn as CllInput, wn as StateMetadata, xn as SQLMeshInfo } from "./instanceInfo-Cxe3cNOM.js";
2
+ import { Lt as RunsAggregated, M as Run, bn as PullRequestInfo, dn as ManifestMetadata, on as CatalogMetadata, rn as ColumnLineageData, s as LineageDiffViewOptions, sn as GitInfo, tn as CllInput, wn as StateMetadata, xn as SQLMeshInfo } from "./instanceInfo-CMOHULsR.js";
3
3
  import React from "react";
4
4
  import { Edge, Node } from "@xyflow/react";
5
5
 
@@ -262,4 +262,4 @@ interface LineageViewContextType {
262
262
  }
263
263
  //#endregion
264
264
  export { LineageGraphColumnNode as a, LineageGraphNode as c, NodeAction as d, SelectMode as f, LineageGraph as i, LineageGraphNodes as l, isLineageGraphNode as m, ActionState as n, LineageGraphContextType as o, isLineageGraphColumnNode as p, EnvInfo as r, LineageGraphEdge as s, ActionMode as t, LineageViewContextType as u };
265
- //# sourceMappingURL=types-Dmemk4LS.d.ts.map
265
+ //# sourceMappingURL=types-9MeiHUfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-9MeiHUfo.d.ts","names":[],"sources":["../src/contexts/lineage/types.ts"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
 
2
- import { Ct as TopKViewOptions, I as RunType, Jt as AxiosQueryParams, M as Run, Nt as QueryViewOptions, Ot as QueryDiffViewOptions, _t as ProfileDiffParams, bt as TopKDiffParams, mt as HistogramDiffParams, nt as ValueDiffDetailViewOptions, rt as ValueDiffParams, s as LineageDiffViewOptions, yt as ProfileDiffViewOptions } from "./instanceInfo-Cxe3cNOM.js";
3
- import { r as DataGridHandle } from "./ScreenshotDataGrid-5EwaZxMk.js";
2
+ import { Ct as TopKViewOptions, I as RunType, Jt as AxiosQueryParams, M as Run, Nt as QueryViewOptions, Ot as QueryDiffViewOptions, _t as ProfileDiffParams, bt as TopKDiffParams, mt as HistogramDiffParams, nt as ValueDiffDetailViewOptions, rt as ValueDiffParams, s as LineageDiffViewOptions, yt as ProfileDiffViewOptions } from "./instanceInfo-CMOHULsR.js";
3
+ import { r as DataGridHandle } from "./ScreenshotDataGrid-C8snBiZi.js";
4
4
  import { ComponentType, ForwardRefExoticComponent, ReactNode, Ref, RefAttributes } from "react";
5
5
 
6
6
  //#region src/components/run/RunStatusBadge.d.ts
@@ -684,4 +684,4 @@ type RunFormParamTypes = ProfileDiffParams | ValueDiffParams | TopKDiffParams |
684
684
  type RegistryEntry<RefType = RefTypes, ViewOptions = ViewOptionTypes, FormParams = RunFormParamTypes> = RunTypeConfig<RefType, ViewOptions, FormParams>;
685
685
  //#endregion
686
686
  export { RunListProps as A, inferRunStatus as B, RunProgressOverlayProps as C, RunListItem as D, RunList as E, RunStatusBadgeProps as F, RunStatusWithDate as I, RunStatusWithDateProps as L, RunStatusAndDate as M, RunStatusAndDateProps as N, RunListItemData as O, RunStatusBadge as P, formatRunDate as R, RunProgressOverlay as S, RunProgressVariant as T, registry as _, RunFormParamTypes as a, RunToolbarProps as b, RunResultViewRef as c, ViewOptionTypes as d, RunRegistry as f, findByRunType as g, defaultRunTypeConfig as h, RegistryEntry as i, RunStatus as j, RunListItemProps as k, RunTypeConfig as l, createRunTypeRegistry as m, PartialRunTypeRegistry as n, RunFormProps as o, createBoundFindByRunType as p, RefTypes as r, RunResultViewProps as s, IconComponent as t, RunTypeRegistry as u, DiffViewOptions as v, RunProgressProps as w, RunProgress as x, RunToolbar as y, formatRunDateTime as z };
687
- //# sourceMappingURL=types-B3DXJzwE.d.ts.map
687
+ //# sourceMappingURL=types-CbujhEfL.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-CbujhEfL.d.ts","names":[],"sources":["../src/components/run/RunStatusBadge.tsx","../src/components/run/RunList.tsx","../src/components/run/RunProgress.tsx","../src/components/run/RunToolbar.tsx","../src/components/run/registry.ts","../src/components/run/types.ts"],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
 
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-Cxe3cNOM.js";
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-Dmemk4LS.js";
4
- import { o as LineageGraphProviderProps, u as NodeColumnSetMap } from "./index-DbZc6tFS.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-CH-N_7Xw.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-DiylGzO1.js";
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-B3DXJzwE.js";
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-BwwK0z1-.js";
9
- import { t as ThemeColors } from "./useThemeColors-C-siKolp.js";
10
- import { a as SemanticColorVariant, i as ColorShade, t as Theme } from "./index-ljGk0vtJ.js";
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
+ 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
+ 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-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
+ 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
+ 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
+ import { t as ThemeColors } from "./useThemeColors-CUdNH8LP.js";
10
+ import { a as SemanticColorVariant, i as ColorShade, t as Theme } from "./index-L2LAN6Z9.js";
11
11
  export { type AxiosQueryParams, type CatalogMetadata, type ChangeStatusLegendItem, type Check, type CheckAction, type CheckActionType, type CheckActionsProps, type CheckCardData, type CheckCardProps, type CheckContextType, type CheckDescriptionProps, type CheckDetailProps, type CheckDetailTab, type CheckEmptyStateProps, type CheckListProps, type CheckProviderProps, type CheckRunStatus, type CheckType, type ColorShade, type ColumnTransformationType, type DiffEditorLanguage, type DiffEditorProps, type DiffEditorTheme, type EdgeChangeStatus, type EmptyStateProps, type EnvInfo, type GitInfo, type HistogramChartProps, type HistogramDataType, type HistogramDataset, type IdleTimeoutContextType, type InstanceInfoType, type LineageCanvasProps, type LineageColumnNodeData, type LineageColumnNodeProps, type LineageData, type LineageDataFromMetadata, type LineageEdgeData, type LineageEdgeProps, type LineageGraph, type LineageGraphColumnNode, type LineageGraphContextType, type LineageGraphEdge, type LineageGraphNode, type LineageGraphNodes, type LineageGraphProviderProps, type LineageLegendProps, type LineageNodeData, type LineageNodeProps, type LineageViewProps, type LineageViewRef, type ManifestMetadata, type MergedEdgeData, type MergedLineageEnvMetadata, type MergedLineageResponse, type MergedNodeData, type NavigateOptions, type NodeChangeStatus, type NodeColumnData, type NodeColumnSetMap, type NodeData, type PullRequestInfo, type QueryContextType, type QueryProviderProps, type QueryResult, type RecceActionContextType, type RecceActionOptions, type RecceActionProviderProps, type RecceFeatureMode, type RecceFeatureToggles, type RecceInstanceInfo, type RecceProviderProps, type RecceServerFlags, type RoutingConfig, type RoutingContextValue, type RunListItemData, type RunListItemProps, type RunListProps, type RunProgressOverlayProps, type RunProgressProps, type RunProgressVariant, type RunStatus, type RunStatusBadgeProps, type RunStatusWithDateProps, type RunsAggregated, type SQLMeshInfo, type SchemaDiffRow, type SchemaDiffStatus, type SemanticColorVariant, type ServerInfoResult, type ServerMode, type SplitDirection, type SplitPaneProps, type StateMetadata, type SubmitRunTrackProps, TYPES_API_VERSION, type Theme, type ThemeColors, type TopKBarChartProps, type TopKDataset, type TopKItem, type TransformationLegendItem };
@@ -74,4 +74,4 @@ declare function useThemeColors(): {
74
74
  type ThemeColors = ReturnType<typeof useThemeColors>;
75
75
  //#endregion
76
76
  export { useThemeColors as n, ThemeColors as t };
77
- //# sourceMappingURL=useThemeColors-C-siKolp.d.ts.map
77
+ //# sourceMappingURL=useThemeColors-CUdNH8LP.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useThemeColors-CUdNH8LP.d.ts","names":[],"sources":["../src/hooks/useThemeColors.ts"],"mappings":";;;AAuCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAgB,cAAA;;;;IA2FJ,8DAAgC;kCAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAA9C,WAAA,GAAc,UAAU,QAAQ,cAAA"}
@@ -0,0 +1,6 @@
1
+ "use client";
2
+ import{n as e}from"./colors-4aGxuAVw.js";import{createContext as t,useCallback as n,useContext as r,useEffect as i,useState as a}from"react";import{Fragment as o,jsx as s,jsxs as c}from"react/jsx-runtime";import l from"@mui/material/Box";import u from"@mui/material/Stack";import d from"@mui/material/Typography";import f from"@mui/material/IconButton";import p from"@mui/material/Tooltip";import m from"file-saver";import h from"write-excel-file/universal";import{PiCopy as g,PiDotsThreeVertical as _}from"react-icons/pi";import v from"@mui/material/Menu";import y from"@mui/material/MenuItem";import{VscClose as b,VscKebabVertical as ee,VscKey as te,VscPin as ne,VscPinned as re}from"react-icons/vsc";import x from"@mui/material/CircularProgress";import{format as S,formatDistance as C,parseISO as w}from"date-fns";import T from"@mui/material/Alert";import{useCopyToClipboard as ie}from"usehooks-ts";import ae from"@mui/material/Snackbar";import E from"lodash";const D=t(null);D.displayName=`RecceThemeContext`;function oe(){let e=r(D);if(!e)throw Error(`useRecceTheme must be used within RecceProvider`);return e}function se(){return r(D)}function ce({children:e,defaultMode:t=`system`}){let[n,r]=a(t),[o,c]=a(()=>typeof window>`u`?`light`:t===`system`?window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:t);return i(()=>{if(n===`system`){let e=window.matchMedia(`(prefers-color-scheme: dark)`);c(e.matches?`dark`:`light`);let t=e=>{c(e.matches?`dark`:`light`)};return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)}else c(n)},[n]),i(()=>{typeof window>`u`||document.documentElement.classList.toggle(`dark`,o===`dark`)},[o]),s(D.Provider,{value:{mode:n,resolvedMode:o,setMode:r},children:e})}function le(e,t){return`${e}_${t}`}function ue(e,t,n){return n?.has(le(e,t))??!1}function de(e,t){m(new Blob([e],{type:`text/csv;charset=utf-8`}),t)}function fe(e,t){m(new Blob([e],{type:`text/tab-separated-values;charset=utf-8`}),t)}function pe(e,t){m(e,t)}async function me(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 he(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 h([e.map(e=>({value:e,type:String})),...t.map(e=>e.map(he))]).toBlob()}function _e(e,t){return(e==null?``:String(e))===(t==null?``:String(t))?e:`${e==null?``:`(${e})`} ${t==null?``:`(${t})`}`.trim()}function O(e){return!e?.columns||!e.data?null:{columns:e.columns.map(e=>e.name),rows:e.data.map(e=>[...e])}}function ve(e){return O(e)}function ye(e){return O(e)}function be(e,t){let n=e,r=t?.displayMode??`inline`,i=t?.primaryKeys??[];return n?.diff?xe(n.diff,r,i):Se(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(_e(a,o))}),m.push(i)}return{columns:p,rows:m}}function Se(e,t){let n=e?.current||e?.base;if(!n)return null;if(!e?.base||!e?.current)return O(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(_e(r,a))}),a.push(o)}return{columns:i,rows:a}}function Ce(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 O(n)}function we(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 Te(e){let t=e;return t?.data?O(t.data):null}function Ee(e){return O(e)}function De(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 Oe={query:ve,query_base:ye,query_diff:be,profile:Ce,profile_diff:Ce,row_count:we,row_count_diff:we,value_diff:Te,value_diff_detail:Ee,top_k_diff:De};function ke(e,t,n){let r=Oe[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 Ae(e){return e in Oe}function je(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 Me(e,t){return``+[e.map(je).join(`,`),...t.map(e=>e.map(je).join(`,`))].join(`\r
4
+ `)}function Ne(e){return e==null?``:(typeof e==`object`?JSON.stringify(e):String(e)).replace(/[\t\r\n]+/g,` `)}function Pe(e,t){return[e.map(Ne).join(` `),...t.map(e=>e.map(Ne).join(` `))].join(`\r
5
+ `)}function Fe(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 Ie(){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 Le(e,t){let n=Ie(),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 Re(e){let{primaryKeys:t,pinnedColumns:n,allColumns:r,excludeColumns:i=[]}=e,a=[],o=new Set,s=e=>i.includes(e);return t.forEach(e=>{!o.has(e)&&!s(e)&&(a.push(e),o.add(e))}),n.forEach(e=>{!o.has(e)&&!s(e)&&(a.push(e),o.add(e))}),r.forEach(e=>{!o.has(e)&&!s(e)&&(a.push(e),o.add(e))}),a}function ze(e,t,n){return!t||!n?!0:e===`added`||e===`removed`||e===`modified`}function k(e,t){return t.includes(e)}function Be(e,t){return t.includes(e)}function A(e,t){return t.includes(e)}function Ve(e,t){return e[t]}function j(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=Ve(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(k(e,n)||A(e,s))return;let r=Ve(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])=>{k(e,n)||Be(e,r)||A(e,s)||ze(t.status,a,l)&&u.push({key:e,name:e,columnType:t.colType,columnStatus:t.status,columnRenderMode:i[e]})}),u}function He(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 M(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 Ue(){let e=se(),[t,n]=a(!1),[r,o]=a(!1);return i(()=>{if(n(!0),!e){let e=()=>{o(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({value:t,colorPalette:n,grayOut:r,noCopy:i,fontSize:o,onCopy:u}){let[d,f]=a(!1),p=Ue();return c(l,{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:o,flexShrink:i?0:`inherit`},onMouseEnter:()=>{f(!0)},onMouseLeave:()=>{f(!1)},children:[s(l,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,color:r?`text.disabled`:`inherit`},children:t}),s(We,{value:t,noCopy:i,grayOut:r,isHovered:d,onCopy:u})]})}function We({value:e,noCopy:t,grayOut:n,isHovered:r,onCopy:i}){return t||n||!r?null:s(p,{title:`Copy Value`,children:s(f,{"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:s(g,{size:`0.625rem`})})})}function Ge({name:e,columnStatus:t,columnType:n,primaryKeys:r=[],onPrimaryKeyChange:i,pinnedColumns:u=[],onPinnedColumnsChange:d,onColumnsRenderModeChanged:p}){let[m,h]=a(null),g=!!m,_=e=>{h(e.currentTarget)},x=()=>{h(null)};if(e===`index`)return s(o,{});let S=r.includes(e),C=u.includes(e),w=t!==`added`&&t!==`removed`,T=[];return p&&(T=M(e,p)),c(l,{sx:{display:`flex`,alignItems:`center`,gap:`10px`,width:`100%`},className:`grid-header`,children:[S&&s(te,{}),s(l,{sx:{flex:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e}),w&&i&&s(l,{component:S?b:te,className:S?`close-icon`:`key-icon`,sx:{display:S?`block`:`none`,cursor:`pointer`},onClick:S?()=>{i&&i(r.filter(t=>t!==e))}:()=>{i&&i([...r.filter(e=>e!==`index`),e])}}),!S&&d&&s(l,{component:C?re:ne,className:C?`unpin-icon`:`pin-icon`,sx:{display:C?`block`:`none`,cursor:`pointer`},onClick:C?()=>{d&&d(u.filter(t=>t!==e))}:()=>{d&&d([...u,e])}}),!S&&n===`number`&&T.length>0&&c(o,{children:[s(f,{"aria-label":`Options`,size:`small`,className:`!size-4 !min-w-4`,onClick:_,children:s(ee,{})}),s(v,{anchorEl:m,open:g,onClose:x,children:T.map(e=>s(y,{onClick:()=>{e.onClick(),x()},children:e.value},e.value))})]})]})}function Ke({name:e,pinnedColumns:t=[],onPinnedColumnsChange:n=()=>{},columnType:r,onColumnsRenderModeChanged:i}){let[u,d]=a(null),p=!!u,m=e=>{d(e.currentTarget)},h=()=>{d(null)},g=[];i&&(g=M(e,i));let b=t.includes(e);return c(l,{sx:{display:`flex`,alignItems:`center`,width:`100%`},className:`grid-header`,children:[s(l,{sx:{flex:1},children:e}),s(l,{component:b?re:ne,className:b?`unpin-icon`:`pin-icon`,sx:{display:b?`block`:`none`,cursor:`pointer`},onClick:b?()=>{n(t.filter(t=>t!==e))}:()=>{n([...t,e])}}),r===`number`&&c(o,{children:[s(f,{"aria-label":`Options`,size:`small`,className:`size-6!`,sx:{p:0},onClick:m,children:s(_,{})}),s(v,{anchorEl:u,open:p,onClose:h,children:g.map(e=>s(y,{onClick:()=>{e.onClick(),h()},children:e.value},e.value))})]})]})}function P(e,t=`en-US`,n){return typeof e==`number`?new Intl.NumberFormat(t,n).format(e):e}function qe(e){let t=e>0&&e<=.001,n=e<1&&e>=.999,r=(t=e)=>P(t,`en-US`,{style:`percent`,minimumFractionDigits:1});return t?`<${r(.001)}`:n?`>${r(.999)}`:r()}function Je(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)}}const Ye=t(null);let F=0;function Xe({children:e}){let[t,r]=a([]),i=n(e=>{let t=e.id||`toast-${++F}`,n={id:t,open:!0,duration:e.type===`loading`?null:e.duration??5e3,closable:e.closable??!0,...e};return r(e=>[...e.filter(e=>e.id!==t),n]),t},[]),o=n(e=>{r(t=>t.map(t=>t.id===e?{...t,open:!1}:t)),setTimeout(()=>{r(t=>t.filter(t=>t.id!==e))},300)},[]),l={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:o,update:n((e,t)=>{r(n=>n.map(n=>n.id===e?{...n,...t}:n))},[])};return c(Ye.Provider,{value:l,children:[e,t.map(e=>s(ae,{open:e.open,autoHideDuration:e.duration,onClose:()=>e.closable&&o(e.id),anchorOrigin:{vertical:`bottom`,horizontal:`right`},children:s(T,{severity:e.type===`loading`?`info`:e.type||`info`,onClose:e.closable?()=>o(e.id):void 0,icon:e.type===`loading`?s(x,{size:20,color:`inherit`}):void 0,sx:{width:`100%`,minWidth:300},children:c(u,{spacing:.5,children:[e.title&&s(d,{variant:`subtitle2`,sx:{fontWeight:`bold`},children:e.title}),e.description&&s(d,{variant:`body2`,component:`div`,children:e.description})]})})},e.id))]})}function Ze(){let e=r(Ye);if(!e)throw Error(`useToaster must be used within ToasterProvider`);return e}const I=new Set,L={create:e=>{let t=e.id||`toast-${++F}`;return I.forEach(n=>n({type:`create`,options:{...e,id:t}})),t},success:e=>L.create({...e,type:`success`}),error:e=>L.create({...e,type:`error`}),warning:e=>L.create({...e,type:`warning`}),info:e=>L.create({...e,type:`info`}),loading:e=>L.create({...e,type:`loading`}),dismiss:e=>{I.forEach(t=>t({type:`dismiss`,id:e}))},remove:e=>{I.forEach(t=>t({type:`dismiss`,id:e}))},update:(e,t)=>{I.forEach(n=>n({type:`update`,id:e,options:t}))},subscribe:e=>(I.add(e),()=>I.delete(e))};function Qe(){let[e,t]=a([]);a(()=>L.subscribe(e=>{if(e.type===`create`&&e.options){let n={id:e.options.id||`toast-${++F}`,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 s(o,{children:e.map(e=>s(ae,{open:e.open,autoHideDuration:e.duration,onClose:()=>e.closable&&n(e.id),anchorOrigin:{vertical:`bottom`,horizontal:`right`},children:s(T,{severity:e.type===`loading`?`info`:e.type||`info`,onClose:e.closable?()=>n(e.id):void 0,icon:e.type===`loading`?s(x,{size:20,color:`inherit`}):void 0,sx:{width:`100%`,minWidth:300},children:c(u,{spacing:.5,children:[e.title&&s(d,{variant:`subtitle2`,sx:{fontWeight:`bold`},children:e.title}),e.description&&s(d,{variant:`body2`,component:`div`,children:e.description})]})})},e.id))})}function $e(){function e(e){L.create({description:e,type:`info`,duration:5e3,closable:!0})}function t(e,t){L.create({title:e,description:String(t),type:`error`,duration:5e3,closable:!0})}return{successToast:e,failToast:t}}function et(e){let[,t]=ie(),{successToast:n}=$e(),r=e=>{t(e),n(`${e} copied`)};return s(N,{...e,onCopy:r})}function R(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 tt(e){let t=Number(e);return!Number.isNaN(t)&&Number.isFinite(t)?t:nt(e)}function nt(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 rt(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 it(e,t){let n=e[t.toLowerCase()];return n||=e[t.toUpperCase()],n||=e[t],n}function z(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 B(e,t){let n=z(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 at(e){let t={};return e.columns.forEach((e,n)=>{t[e.name]={key:e.key,index:n,colType:e.type}}),t}function ot(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 st(e,t){let n={},r=B(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 V(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 H(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 ct(e,t,n,r){if(!e)return`added`;if(!t)return`removed`;let i=e===t;for(let[a,o]of Object.entries(n)){if(a===`index`||r.includes(a))continue;let n,s;if(i){let r=`base__${o.key}`,i=`current__${o.key}`;n=e[r],s=t[i]}else n=e[o.key],s=t[o.key];if(!E.isEqual(n,s))return`modified`}}function U(e,t=2){let n=P(Object.is(e,-0)?0:e,`en-US`,{maximumFractionDigits:t,roundingMode:`halfEven`})??String(e);return n===`-0`?`0`:n}function W(e,t){return Number.isNaN(e)?`NaN`:Number.isFinite(e)?t===`raw`?String(e):typeof t==`number`?U(e,t):t===`percent`?P(e,`en-US`,{style:`percent`,maximumFractionDigits:2})??String(e):U(e,2):e>0?`∞`:`-∞`}function G(e,t,n,r){let i=rt(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`?W(i,r):n===`number`?W(parseFloat(i),r):String(i),[a,o]}function lt(e,t,n,r){let i=e.__status;if(i===`removed`)return`diff-cell-removed`;if(i===`added`)return`diff-cell-added`;if(t===`added`||t===`removed`)return;let a=`base__${n}`.toLowerCase(),o=`current__${n}`.toLowerCase();if(!E.isEqual(e[a],e[o]))return r?`diff-cell-removed`:`diff-cell-added`}function ut(e){if(e===`added`)return`diff-header-added`;if(e===`removed`)return`diff-header-removed`}const dt=e=>{let t=e.colDef,n=t?.context?.columnType,r=t?.context?.columnRenderMode,i=t?.field??``;if(!e.data)return null;let[a,o]=G(e.data,i,n,r);return s(d,{component:`span`,style:{color:o?`gray`:`inherit`},children:a})};function ft(e={}){let t=e.DiffTextComponent??N;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,u=`base__${a}`.toLowerCase(),f=`current__${a}`.toLowerCase();if(!Object.hasOwn(o,u)&&!Object.hasOwn(o,f))return`-`;let m=Object.hasOwn(o,u),h=Object.hasOwn(o,f),[g,_]=G(o,`base__${a}`.toLowerCase(),r,i),[v,y]=G(o,`current__${a}`.toLowerCase(),r,i);if(o[u]===o[f])return s(d,{component:`span`,style:{color:y?`gray`:`inherit`},children:v});if(i===`delta`&&(r===`number`||r===`integer`)&&m&&h){let e=mt(o[u]),n=mt(o[f]);if(Number.isFinite(e)&&Number.isFinite(n)){let r=n-e,i=e===0?0:r/e*100,a=U(n),o=U(r),u=`(${r>=0?`+`:``}${o})`;return s(p,{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:c(l,{sx:{gap:`5px`,display:`flex`,alignItems:`center`,lineHeight:`normal`,height:`100%`},children:[s(t,{value:a,colorPalette:`green`,grayOut:y}),s(d,{sx:{color:r>=0?`green.600`:`red.600`,fontSize:`0.75rem`},children:u})]})})}}return c(l,{sx:{display:`flex`,gap:`5px`,alignItems:`center`,lineHeight:`normal`,height:`100%`},children:[m&&s(t,{value:g,colorPalette:`red`,grayOut:_}),h&&s(t,{value:v,colorPalette:`green`,grayOut:y})]})}}const pt=ft({DiffTextComponent:et});function mt(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 ht(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(!E.isEqual(r[a],r[o]))return`diff-cell-removed`}}function gt(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(!E.isEqual(r[a],r[o]))return`diff-cell-added`}}function K(e){let{name:t,columnStatus:n,columnType:r,columnRenderMode:i,displayMode:a,baseTitle:o=`Base`,currentTitle:c=`Current`,headerProps:l={},renderComponents:u}=e,{DataFrameColumnGroupHeader:d,defaultRenderCell:f,inlineRenderCell:p}=u,m=ut(n),h=()=>s(d,{name:t,columnStatus:n,columnType:r,...l});if(a===`inline`)return{field:t,headerName:t,headerClass:m,headerComponent:h,cellRenderer:p,context:{columnType:r,columnRenderMode:i}};let g=ht(t,n),_=gt(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:c,headerClass:m,cellClass:_,cellRenderer:f,context:{columnType:r,columnRenderMode:i}}]}}function _t(){return{field:`_index`,headerName:``,width:50,maxWidth:100,cellClass:`index-column`,resizable:!1,pinned:`left`}}function vt(e,t,n){let{key:r,name:i,columnType:a,columnStatus:o,columnRenderMode:c}=e,{DataFrameColumnGroupHeader:l,defaultRenderCell:u}=n;return{field:r,headerName:i,headerComponent:()=>s(l,{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:c}}}function yt(e,t,n,r,i,a){let{name:o,columnType:s,columnStatus:c,columnRenderMode:l}=e;return K({name:o,columnStatus:c??``,columnType:s,columnRenderMode:l,displayMode:t,baseTitle:i,currentTitle:a,headerProps:n,renderComponents:r})}function q(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(_t()),l=!0);for(let e of t)if(e.isPrimaryKey)c.push(vt(e,r,s));else{let t=yt(e,n,r,s,i,a);c.push({...t,pinned:e.frozen?`left`:void 0})}return{columns:c,usedIndexFallback:l}}function bt(e){return`baseColumnKey`in e&&`currentColumnKey`in e}function xt(e,t){return t.includes(e)}function St(e){return bt(e)?{baseKey:e.baseColumnKey,currentKey:e.currentColumnKey}:{baseKey:e.key,currentKey:e.key}}function Ct(e,t,n,r,i){n.forEach(n=>{let a=n.key;xt(a,i)?e[String(a).toLowerCase()]=t[a]:e[`${r}${a}`.toLowerCase()]=t[a]})}function wt(e,t,n,r){let i=!1;for(let[a,o]of Object.entries(n)){if(a===`index`||xt(a,r))continue;let{baseKey:n,currentKey:s}=St(o);if(n===`unknown`||s===`unknown`)continue;let c=e[n],l=t[s];E.isEqual(c,l)||(i=!0,o.status=`modified`)}return i}function J(e){let{baseMap:t,currentMap:n,baseColumns:r,currentColumns:i,columnMap:a,primaryKeys:o,changedOnly:s=!1}=e,c=B(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:tt(e),__status:void 0};return s&&Ct(u,s,r,`base__`,o),c&&Ct(u,c,i,`current__`,o),s?c?wt(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 Y=class extends Error{context;details;constructor(e,t,n){super(t?`[${t}] ${e}`:e),this.context=t,this.details=n,this.name=`DataGridValidationError`}};function X(e,t=`DataFrame`){if(e!=null){if(typeof e!=`object`)throw new Y(`Expected an object, got ${typeof e}`,t);if(!(`columns`in e))throw new Y(`Missing 'columns' property`,t,{receivedKeys:Object.keys(e)});if(!Array.isArray(e.columns))throw new Y(`'columns' must be an array, got ${typeof e.columns}`,t);if(!(`data`in e))throw new Y(`Missing 'data' property`,t,{receivedKeys:Object.keys(e)});if(!Array.isArray(e.data))throw new Y(`'data' must be an array, got ${typeof e.data}`,t);Tt(e.columns,t),e.data.length>0&&Et(e,t)}}function Tt(e,t=`DataFrame`){e.forEach((e,n)=>{if(!e||typeof e!=`object`)throw new Y(`Column at index ${n} is not an object`,t,{column:e});if(typeof e.key!=`string`||e.key===``)throw new Y(`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 Y(`Column '${e.key}' has invalid 'name': expected string, got ${typeof e.name}`,t,{column:e});if(typeof e.type!=`string`)throw new Y(`Column '${e.key}' has invalid 'type': expected string, got ${typeof e.type}`,t,{column:e})})}function Et(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 Y(`Row at index ${r} is not an array`,t,{row:i,rowType:typeof i});if(i.length!==n)throw new Y(`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 Z(e,t,n={}){let{required:r=!1,caseInsensitive:i=!1,context:a=`primaryKeys`}=n;if(r&&(!e||e.length===0))throw new Y(`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 Y(`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 Y(`Duplicate primary key: '${t}'`,a,{primaryKeys:e});c.add(n)}}function Dt(e,t){X(e,`dataframe`),e&&t?.primaryKeys&&Z(t.primaryKeys,e.columns,{context:`toDataGrid`})}function Ot(e,t,n){if(X(e,`base`),X(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 Y(`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 kt(e,t){if(!e)throw new Y(`DataFrame is required for value diff`);if(X(e),!t||t.length===0)throw new Y(`Primary keys are required for value diff`);Z(t,e.columns,{required:!0,context:`toValueDiffGrid`});let n=e.columns.map(e=>e.key);if(!n.includes(`in_a`))throw new Y(`Value diff DataFrame must include lowercase 'in_a' column`);if(!n.includes(`in_b`))throw new Y(`Value diff DataFrame must include lowercase 'in_b' column`)}function At(e,t,n,r){Ot(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=R(i),f=R(a),p=st(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=V(i.columns,o);d.forEach(t=>{let n=H(i.columns,e,t);n in m&&(g=!0),m[n]=t});let t=V(a.columns,o);f.forEach(e=>{let n=H(a.columns,t,e);n in h&&(_=!0),h[n]=e})}let{rows:v,rowStats:y}=J({baseMap:m,currentMap:h,baseColumns:i.columns,currentColumns:a.columns,columnMap:p,primaryKeys:o,changedOnly:c}),{columns:b}=q({columns:j({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 jt(){return{field:`_index`,headerName:``,width:50,cellClass:`index-column`,resizable:!1,pinned:`left`}}function Mt(e,t,n){let{key:r,name:i,columnType:a,columnRenderMode:o}=e,{DataFrameColumnGroupHeader:c,defaultRenderCell:l}=n;return{field:r,headerName:i,headerComponent:()=>s(c,{name:i,columnStatus:``,columnType:a,pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged}),pinned:`left`,cellRenderer:l,context:{columnType:a,columnRenderMode:o}}}function Nt(e,t,n){let{key:r,name:i,columnType:a,columnRenderMode:o}=e,{DataFrameColumnHeader:c,defaultRenderCell:l}=n;return{field:r,headerName:i,headerComponent:()=>s(c,{name:i,columnType:a,pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged}),cellRenderer:l,context:{columnType:a,columnRenderMode:o}}}function Q(e){let{columns:t,headerProps:n,allowIndexFallback:r=!0,renderComponents:i}=e,a=[],o=!1;!t.some(e=>e.isPrimaryKey)&&r&&(a.push(jt()),o=!0);for(let e of t)if(e.isPrimaryKey)a.push(Mt(e,n,i));else{let t=Nt(e,n,i);a.push({...t,pinned:e.frozen?`left`:void 0})}return{columns:a,usedIndexFallback:o}}function Pt(e,t,n){Dt(e,t);let r=t.primaryKeys??[],i=t.pinnedColumns??[],a=t.columnsRenderMode??{},{columns:o}=Q({columns:He({columnMap:at(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:R(e)}}function Ft(e,t,n,r){kt(e,t);let i=n?.pinnedColumns??[],a=n?.changedOnly??!1,o=n?.displayMode??`inline`,s=n?.columnsRenderMode??{},c=R(e),l=ot(e),u={},d={},f=V(e.columns,t),p=l.in_a.key,m=l.in_b.key;c.forEach(t=>{let n=H(e.columns,f,t);t[p]&&(u[n.toLowerCase()]=t),t[m]&&(d[n.toLowerCase()]=t)});let{rows:h,rowStats:g}=J({baseMap:u,currentMap:d,baseColumns:e.columns,currentColumns:e.columns,columnMap:l,primaryKeys:t,changedOnly:a}),{columns:_}=q({columns:j({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 $={DataFrameColumnGroupHeader:Ge,defaultRenderCell:dt,inlineRenderCell:pt},It={DataFrameColumnGroupHeader:Ge,DataFrameColumnHeader:Ke,defaultRenderCell:dt};function Lt(e){return K({...e,renderComponents:$})}function Rt(e){return q({...e,renderComponents:$})}function zt(e,t,n){return At(e,t,n,{renderComponents:$})}function Bt(e,t,n){return Ft(e,t,n,{renderComponents:$})}function Vt(e,t){return Pt(e,t,{renderComponents:It})}function Ht(e){return Q({...e,renderComponents:It})}function Ut(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 Wt(e,t){return e!==null&&t!==null?e===t?`0`:Ut(e,t):e===t?`N/A`:e===null?`Added`:t===null?`Removed`:`N/A`}function Gt(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,Wt(n,r)]})}}function Kt(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 qt(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 Jt(e){return{columns:[{field:`name`,headerName:`Name`,resizable:!0},{field:`current`,headerName:`Row Count`,resizable:!0}],rows:R(Kt(e)).map(e=>({...e,current:e.current??`N/A`,__status:void 0}))}}function Yt(){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 Xt(e){let t=R(Gt(e)).map(e=>{let t=e.base,n=e.current;return{...e,base:t??`N/A`,current:n??`N/A`,__status:qt(typeof t==`number`?t:null,typeof n==`number`?n:null)}}),n=Yt();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 Zt(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 Qt(e,t){let n=z(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 $t(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 tn({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 nn(e,t=`verbose`){let n=$t(e);return t===`compact`?en(n):tn(n)}function rn(e){if(!Number.isFinite(e))return String(e);let{hours:t,minutes:n,seconds:r}=$t((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 on(e){return S(w(e),`yyyy-MM-dd'T'HH:mm:ss`)}function sn(e){return C(w(e),new Date,{addSuffix:!0})}function cn(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 ln(e,t){return e?.organization_name&&e.web_url?`${e.web_url}/organizations/${e.organization_name}/settings`:t}export{z as $,Et as A,ke as At,gt as B,oe as Bt,Lt as C,k as Ct,Q as D,Fe as Dt,Pt as E,Ie as Et,Dt as F,pe as Ft,W as G,at as H,kt as I,fe as It,lt as J,ct as K,J as L,le as Lt,X as M,ge as Mt,Z as N,me as Nt,At as O,Me as Ot,Ot as P,de as Pt,V as Q,q as R,ue as Rt,Vt as S,Be as St,Ft as T,Le as Tt,ot as U,K as V,se as Vt,st as W,H as X,ut as Y,G as Z,Rt as _,M as _t,rn as a,tt as at,It as b,He as bt,Qt as c,Qe as ct,Jt as d,Ze as dt,B as et,Wt as f,Je as ft,Ut as g,Ue as gt,Kt as h,N as ht,an as i,nt as it,Tt as j,Ae as jt,Y as k,Pe as kt,Zt as l,Xe as lt,Gt as m,P as mt,cn as n,rt as nt,sn as o,et as ot,qt as p,qe as pt,U as q,nn as r,it as rt,on as s,$e as st,ln as t,R as tt,Xt as u,L as ut,Ht as v,Re as vt,Bt as w,ze as wt,zt as x,A as xt,$ as y,j as yt,ht as z,ce as zt};
6
+ //# sourceMappingURL=utils-Dl2dMzK8.js.map