recce-nightly 1.10.0.20250625__py3-none-any.whl → 1.30.0.20251221__py3-none-any.whl

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.

Potentially problematic release.


This version of recce-nightly might be problematic. Click here for more details.

Files changed (229) hide show
  1. recce/VERSION +1 -1
  2. recce/__init__.py +5 -0
  3. recce/adapter/dbt_adapter/__init__.py +343 -245
  4. recce/apis/check_api.py +20 -14
  5. recce/apis/check_events_api.py +353 -0
  6. recce/apis/check_func.py +5 -5
  7. recce/apis/run_func.py +32 -3
  8. recce/artifact.py +76 -3
  9. recce/cli.py +705 -82
  10. recce/config.py +2 -2
  11. recce/connect_to_cloud.py +1 -1
  12. recce/core.py +3 -3
  13. recce/data/404/index.html +2 -0
  14. recce/data/404.html +2 -22
  15. recce/data/__next.@lineage.!KHNsb3Qp.__PAGE__.txt +7 -0
  16. recce/data/__next.@lineage.!KHNsb3Qp.txt +4 -0
  17. recce/data/__next.__PAGE__.txt +6 -0
  18. recce/data/__next._full.txt +32 -0
  19. recce/data/__next._head.txt +8 -0
  20. recce/data/__next._index.txt +14 -0
  21. recce/data/__next._tree.txt +8 -0
  22. recce/data/_next/static/chunks/025a7e3e3f9f40ae.js +1 -0
  23. recce/data/_next/static/chunks/0ce56d67ef5779ca.js +4 -0
  24. recce/data/_next/static/chunks/1a6a78780155dac7.js +48 -0
  25. recce/data/_next/static/chunks/1de8485918b9182a.css +2 -0
  26. recce/data/_next/static/chunks/1e4b1b50d1e34993.js +1 -0
  27. recce/data/_next/static/chunks/206d5d181e4c738e.js +1 -0
  28. recce/data/_next/static/chunks/2c357efc34c5b859.js +25 -0
  29. recce/data/_next/static/chunks/2e9d95d2d48c479c.js +1 -0
  30. recce/data/_next/static/chunks/2f016dc4a3edad2e.js +2 -0
  31. recce/data/_next/static/chunks/313251962d698f7c.js +1 -0
  32. recce/data/_next/static/chunks/3a9f021f38eb5574.css +1 -0
  33. recce/data/_next/static/chunks/40079da8d2b8f651.js +1 -0
  34. recce/data/_next/static/chunks/4599182bffb64661.js +38 -0
  35. recce/data/_next/static/chunks/4e62f6e184173580.js +1 -0
  36. recce/data/_next/static/chunks/5c4dfb0d09eaa401.js +1 -0
  37. recce/data/_next/static/chunks/69e4f06ccfdfc3ac.js +1 -0
  38. recce/data/_next/static/chunks/6b206cb4707d6bee.js +1 -0
  39. recce/data/_next/static/chunks/6d8557f062aa4386.css +1 -0
  40. recce/data/_next/static/chunks/7fbe3650bd83b6b5.js +1 -0
  41. recce/data/_next/static/chunks/83fa823a825674f6.js +1 -0
  42. recce/data/_next/static/chunks/848a6c9b5f55f7ed.js +1 -0
  43. recce/data/_next/static/chunks/859462b0858aef88.css +2 -0
  44. recce/data/_next/static/chunks/923964f18c87d0f1.css +1 -0
  45. recce/data/_next/static/chunks/939390f911895d7c.js +48 -0
  46. recce/data/_next/static/chunks/99a9817237a07f43.js +1 -0
  47. recce/data/_next/static/chunks/9fed8b4b2b924054.js +5 -0
  48. recce/data/_next/static/chunks/b6949f6c5892110c.js +1 -0
  49. recce/data/_next/static/chunks/b851a1d3f8149828.js +1 -0
  50. recce/data/_next/static/chunks/c734f9ad957de0b4.js +1 -0
  51. recce/data/_next/static/chunks/cdde321b0ec75717.js +2 -0
  52. recce/data/_next/static/chunks/d0f91117d77ff844.css +1 -0
  53. recce/data/_next/static/chunks/d6c8667911c2500f.js +1 -0
  54. recce/data/_next/static/chunks/da8dab68c02752cf.js +74 -0
  55. recce/data/_next/static/chunks/dc074049c9d12d97.js +109 -0
  56. recce/data/_next/static/chunks/ee7f1a8227342421.js +1 -0
  57. recce/data/_next/static/chunks/fa2f4e56c2fccc73.js +1 -0
  58. recce/data/_next/static/chunks/turbopack-1fad664f62979b93.js +3 -0
  59. recce/data/_next/static/media/favicon.a8d38d84.ico +0 -0
  60. recce/data/_next/static/media/montserrat-cyrillic-800-normal.d80d830d.woff2 +0 -0
  61. recce/data/_next/static/media/{montserrat-cyrillic-800-normal.bd5c9f50.woff → montserrat-cyrillic-800-normal.f9d58125.woff} +0 -0
  62. recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.076c2a93.woff2 +0 -0
  63. recce/data/_next/static/media/montserrat-latin-800-normal.cde454cc.woff2 +0 -0
  64. recce/data/_next/static/media/{montserrat-latin-800-normal.fc315020.woff → montserrat-latin-800-normal.d5761935.woff} +0 -0
  65. recce/data/_next/static/media/montserrat-latin-ext-800-normal.40ec0659.woff2 +0 -0
  66. recce/data/_next/static/media/{montserrat-latin-ext-800-normal.2e5381b2.woff → montserrat-latin-ext-800-normal.b671449b.woff} +0 -0
  67. recce/data/_next/static/media/{montserrat-vietnamese-800-normal.20c545e6.woff → montserrat-vietnamese-800-normal.9f7b8541.woff} +0 -0
  68. recce/data/_next/static/media/montserrat-vietnamese-800-normal.f9eb854e.woff2 +0 -0
  69. recce/data/_next/static/nX-Uz0AH6Tc6hIQUFGqaB/_buildManifest.js +11 -0
  70. recce/data/_next/static/nX-Uz0AH6Tc6hIQUFGqaB/_clientMiddlewareManifest.json +1 -0
  71. recce/data/_not-found/__next._full.txt +24 -0
  72. recce/data/_not-found/__next._head.txt +8 -0
  73. recce/data/_not-found/__next._index.txt +13 -0
  74. recce/data/_not-found/__next._not-found.__PAGE__.txt +5 -0
  75. recce/data/_not-found/__next._not-found.txt +4 -0
  76. recce/data/_not-found/__next._tree.txt +6 -0
  77. recce/data/_not-found/index.html +2 -0
  78. recce/data/_not-found/index.txt +24 -0
  79. recce/data/auth_callback.html +1 -1
  80. recce/data/checks/__next.@lineage.__DEFAULT__.txt +7 -0
  81. recce/data/checks/__next._full.txt +39 -0
  82. recce/data/checks/__next._head.txt +8 -0
  83. recce/data/checks/__next._index.txt +14 -0
  84. recce/data/checks/__next._tree.txt +8 -0
  85. recce/data/checks/__next.checks.__PAGE__.txt +10 -0
  86. recce/data/checks/__next.checks.txt +4 -0
  87. recce/data/checks/index.html +2 -0
  88. recce/data/checks/index.txt +39 -0
  89. recce/data/index.html +2 -27
  90. recce/data/index.txt +32 -8
  91. recce/data/lineage/__next.@lineage.__DEFAULT__.txt +7 -0
  92. recce/data/lineage/__next._full.txt +39 -0
  93. recce/data/lineage/__next._head.txt +8 -0
  94. recce/data/lineage/__next._index.txt +14 -0
  95. recce/data/lineage/__next._tree.txt +8 -0
  96. recce/data/lineage/__next.lineage.__PAGE__.txt +10 -0
  97. recce/data/lineage/__next.lineage.txt +4 -0
  98. recce/data/lineage/index.html +2 -0
  99. recce/data/lineage/index.txt +39 -0
  100. recce/data/query/__next.@lineage.__DEFAULT__.txt +7 -0
  101. recce/data/query/__next._full.txt +37 -0
  102. recce/data/query/__next._head.txt +8 -0
  103. recce/data/query/__next._index.txt +14 -0
  104. recce/data/query/__next._tree.txt +8 -0
  105. recce/data/query/__next.query.__PAGE__.txt +9 -0
  106. recce/data/query/__next.query.txt +4 -0
  107. recce/data/query/index.html +2 -0
  108. recce/data/query/index.txt +37 -0
  109. recce/event/CONFIG.bak +1 -0
  110. recce/event/__init__.py +9 -8
  111. recce/event/collector.py +6 -2
  112. recce/event/track.py +10 -0
  113. recce/github.py +1 -1
  114. recce/mcp_server.py +725 -0
  115. recce/models/check.py +433 -15
  116. recce/models/types.py +61 -2
  117. recce/pull_request.py +1 -1
  118. recce/run.py +37 -17
  119. recce/server.py +216 -21
  120. recce/state/__init__.py +31 -0
  121. recce/state/cloud.py +644 -0
  122. recce/state/const.py +26 -0
  123. recce/state/local.py +56 -0
  124. recce/state/state.py +119 -0
  125. recce/state/state_loader.py +174 -0
  126. recce/summary.py +25 -3
  127. recce/tasks/dataframe.py +63 -1
  128. recce/tasks/query.py +40 -3
  129. recce/tasks/rowcount.py +4 -1
  130. recce/tasks/schema.py +4 -1
  131. recce/tasks/utils.py +147 -0
  132. recce/tasks/valuediff.py +85 -57
  133. recce/util/api_token.py +11 -2
  134. recce/util/breaking.py +10 -1
  135. recce/util/cll.py +1 -2
  136. recce/util/cloud/__init__.py +15 -0
  137. recce/util/cloud/base.py +115 -0
  138. recce/util/cloud/check_events.py +190 -0
  139. recce/util/cloud/checks.py +242 -0
  140. recce/util/io.py +2 -2
  141. recce/util/lineage.py +19 -18
  142. recce/util/perf_tracking.py +85 -0
  143. recce/util/recce_cloud.py +254 -5
  144. recce/util/startup_perf.py +121 -0
  145. recce/yaml/__init__.py +2 -2
  146. {recce_nightly-1.10.0.20250625.dist-info → recce_nightly-1.30.0.20251221.dist-info}/METADATA +91 -71
  147. recce_nightly-1.30.0.20251221.dist-info/RECORD +183 -0
  148. {recce_nightly-1.10.0.20250625.dist-info → recce_nightly-1.30.0.20251221.dist-info}/WHEEL +1 -2
  149. recce/data/_next/static/abCX3x3UoIdRLEDWxx4xd/_buildManifest.js +0 -1
  150. recce/data/_next/static/chunks/181-acc61ddada3bc0ca.js +0 -43
  151. recce/data/_next/static/chunks/1bff33f1-1ef85cf5e658a751.js +0 -1
  152. recce/data/_next/static/chunks/217-879a84d70f7a907c.js +0 -2
  153. recce/data/_next/static/chunks/29e3cc0d-60045b2e47aa3916.js +0 -1
  154. recce/data/_next/static/chunks/36e1c10d-8e7be4a6c1f6ab2d.js +0 -1
  155. recce/data/_next/static/chunks/3998a672-03adacad07b346ac.js +0 -1
  156. recce/data/_next/static/chunks/3a92ee20-1081c360214f9602.js +0 -1
  157. recce/data/_next/static/chunks/42-cd3c06533f5fd47c.js +0 -9
  158. recce/data/_next/static/chunks/450c323b-fd94e7ffaa4a5efa.js +0 -1
  159. recce/data/_next/static/chunks/47d8844f-929aed9b1c73a905.js +0 -1
  160. recce/data/_next/static/chunks/608-3b079b544e5d5f5e.js +0 -15
  161. recce/data/_next/static/chunks/6dc81886-adbfa45836061d79.js +0 -1
  162. recce/data/_next/static/chunks/7a8a3e83-edf6dc64b5d5f0a5.js +0 -1
  163. recce/data/_next/static/chunks/7f27ae6c-d5f0438edd5c2a5b.js +0 -1
  164. recce/data/_next/static/chunks/86730205-cfb14e3f051bab35.js +0 -1
  165. recce/data/_next/static/chunks/8d700b6a.8bb140898499c512.js +0 -1
  166. recce/data/_next/static/chunks/92-607cd1af83c41f43.js +0 -1
  167. recce/data/_next/static/chunks/9746af58-a42b7d169cacadf0.js +0 -1
  168. recce/data/_next/static/chunks/a30376cd-de84559016d7e133.js +0 -1
  169. recce/data/_next/static/chunks/app/_not-found/page-01ed58b7f971d311.js +0 -1
  170. recce/data/_next/static/chunks/app/layout-177a410a97e0d018.js +0 -1
  171. recce/data/_next/static/chunks/app/page-da6e046a8235dbfc.js +0 -1
  172. recce/data/_next/static/chunks/b63b1b3f-4282bdcf459e075c.js +0 -1
  173. recce/data/_next/static/chunks/bbda5537-9ec25eb1dd62348a.js +0 -1
  174. recce/data/_next/static/chunks/c132bf7d-08cb668a789d6afd.js +0 -1
  175. recce/data/_next/static/chunks/ce84277d-2e5d1d46910cf052.js +0 -1
  176. recce/data/_next/static/chunks/febdd86e-c6b525341634b860.js +0 -54
  177. recce/data/_next/static/chunks/fee69bc6-2dbccaf9b90474e6.js +0 -1
  178. recce/data/_next/static/chunks/framework-ded83d71b51ce901.js +0 -1
  179. recce/data/_next/static/chunks/main-app-39061b0166c47f55.js +0 -1
  180. recce/data/_next/static/chunks/main-b5b3ae20a1405261.js +0 -1
  181. recce/data/_next/static/chunks/pages/_app-437c455677d62394.js +0 -1
  182. recce/data/_next/static/chunks/pages/_error-e7650df18ca04bde.js +0 -1
  183. recce/data/_next/static/chunks/webpack-7b49d5ba7e3a434d.js +0 -1
  184. recce/data/_next/static/css/17a96168e3a9db13.css +0 -1
  185. recce/data/_next/static/css/1b121dc4d36aeb4d.css +0 -3
  186. recce/data/_next/static/css/35c6679a098e1e34.css +0 -1
  187. recce/data/_next/static/css/951e2e0eea2d4a5b.css +0 -14
  188. recce/data/_next/static/media/montserrat-cyrillic-800-normal.22628180.woff2 +0 -0
  189. recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.94a63aea.woff2 +0 -0
  190. recce/data/_next/static/media/montserrat-latin-800-normal.6f8fa298.woff2 +0 -0
  191. recce/data/_next/static/media/montserrat-latin-ext-800-normal.013b84f9.woff2 +0 -0
  192. recce/data/_next/static/media/montserrat-vietnamese-800-normal.c0035377.woff2 +0 -0
  193. recce/data/_next/static/media/reload-image.79aabb7d.svg +0 -4
  194. recce/state.py +0 -786
  195. recce_nightly-1.10.0.20250625.dist-info/RECORD +0 -154
  196. recce_nightly-1.10.0.20250625.dist-info/top_level.txt +0 -2
  197. tests/__init__.py +0 -0
  198. tests/adapter/__init__.py +0 -0
  199. tests/adapter/dbt_adapter/__init__.py +0 -0
  200. tests/adapter/dbt_adapter/conftest.py +0 -17
  201. tests/adapter/dbt_adapter/dbt_test_helper.py +0 -298
  202. tests/adapter/dbt_adapter/test_dbt_adapter.py +0 -25
  203. tests/adapter/dbt_adapter/test_dbt_cll.py +0 -384
  204. tests/adapter/dbt_adapter/test_selector.py +0 -202
  205. tests/tasks/__init__.py +0 -0
  206. tests/tasks/conftest.py +0 -4
  207. tests/tasks/test_histogram.py +0 -129
  208. tests/tasks/test_lineage.py +0 -55
  209. tests/tasks/test_preset_checks.py +0 -64
  210. tests/tasks/test_profile.py +0 -397
  211. tests/tasks/test_query.py +0 -151
  212. tests/tasks/test_row_count.py +0 -135
  213. tests/tasks/test_schema.py +0 -122
  214. tests/tasks/test_top_k.py +0 -77
  215. tests/tasks/test_valuediff.py +0 -85
  216. tests/test_cli.py +0 -133
  217. tests/test_config.py +0 -43
  218. tests/test_connect_to_cloud.py +0 -82
  219. tests/test_core.py +0 -29
  220. tests/test_dbt.py +0 -36
  221. tests/test_pull_request.py +0 -130
  222. tests/test_server.py +0 -104
  223. tests/test_state.py +0 -134
  224. tests/test_summary.py +0 -65
  225. /recce/data/_next/static/chunks/{polyfills-42372ed130431b0a.js → a6dad97d9634a72d.js} +0 -0
  226. /recce/data/_next/static/media/{montserrat-cyrillic-ext-800-normal.e6e0d8d0.woff → montserrat-cyrillic-ext-800-normal.a4fa76b5.woff} +0 -0
  227. /recce/data/_next/static/{abCX3x3UoIdRLEDWxx4xd → nX-Uz0AH6Tc6hIQUFGqaB}/_ssgManifest.js +0 -0
  228. {recce_nightly-1.10.0.20250625.dist-info → recce_nightly-1.30.0.20251221.dist-info}/entry_points.txt +0 -0
  229. {recce_nightly-1.10.0.20250625.dist-info → recce_nightly-1.30.0.20251221.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,48 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,107983,(e,t,n)=>{"use strict";var o=e.r(187725),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},a=o.useState,r=o.useEffect,l=o.useLayoutEffect,s=o.useDebugValue;function d(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch(e){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),o=a({inst:{value:n,getSnapshot:t}}),i=o[0].inst,c=o[1];return l(function(){i.value=n,i.getSnapshot=t,d(i)&&c({inst:i})},[e,n,t]),r(function(){return d(i)&&c({inst:i}),e(function(){d(i)&&c({inst:i})})},[e]),s(n),n};n.useSyncExternalStore=void 0!==o.useSyncExternalStore?o.useSyncExternalStore:c},33347,(e,t,n)=>{"use strict";t.exports=e.r(107983)},683842,(e,t,n)=>{"use strict";var o=e.r(187725),i=e.r(33347),a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},r=i.useSyncExternalStore,l=o.useRef,s=o.useEffect,d=o.useMemo,c=o.useDebugValue;n.useSyncExternalStoreWithSelector=function(e,t,n,o,i){var u=l(null);if(null===u.current){var f={hasValue:!1,value:null};u.current=f}else f=u.current;var p=r(e,(u=d(function(){function e(e){if(!s){if(s=!0,r=e,e=o(e),void 0!==i&&f.hasValue){var t=f.value;if(i(t,e))return l=t}return l=e}if(t=l,a(r,e))return t;var n=o(e);return void 0!==i&&i(t,n)?(r=e,t):(r=e,l=n)}var r,l,s=!1,d=void 0===n?null:n;return[function(){return e(t())},null===d?void 0:function(){return e(d())}]},[t,n,o,i]))[0],u[1]);return s(function(){f.hasValue=!0,f.value=p},[p]),c(p),p}},551165,(e,t,n)=>{"use strict";t.exports=e.r(683842)},918132,953131,323194,987923,2216,525519,248859,88515,166598,904451,632951,676502,163669,636819,592355,832421,739145,428537,224779,765996,637418,634513,e=>{"use strict";e.i(316575);var t,n,o=e.i(19483),i=e.i(187725);function a(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let n=0,o;n<e.length;n++)""!==(o=a(e[n]))&&(t+=(t&&" ")+o);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var r=e.i(292002),l=e.i(551165);let s={get url(){return`file://${e.P("node_modules/.pnpm/zustand@4.5.7_@types+react@19.2.7_react@19.2.3/node_modules/zustand/esm/vanilla.mjs")}`}},d=e=>{let t,n=new Set,o=(e,o)=>{let i="function"==typeof e?e(t):e;if(!Object.is(i,t)){let e=t;t=(null!=o?o:"object"!=typeof i||null===i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:o,getState:i,getInitialState:()=>r,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{(s.env?s.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},r=t=e(o,i,a);return a},{useDebugValue:c}=i.default,{useSyncExternalStoreWithSelector:u}=l.default,f=e=>e;function p(e,t=f,n){let o=u(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return c(o),o}let g=(e,t)=>{let n=e?d(e):d,o=(e,o=t)=>p(n,e,o);return Object.assign(o,n),o};function h(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,o]of e)if(!Object.is(o,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let o of n)if(!Object.prototype.hasOwnProperty.call(t,o)||!Object.is(e[o],t[o]))return!1;return!0}e.i(316245);let m=(0,i.createContext)(null),x=m.Provider,y=r.errorMessages.error001();function b(e,t){let n=(0,i.useContext)(m);if(null===n)throw Error(y);return p(n,e,t)}function w(){let e=(0,i.useContext)(m);if(null===e)throw Error(y);return(0,i.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}let v={display:"none"},C={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},S="react-flow__node-desc",j="react-flow__edge-desc",_=e=>e.ariaLiveMessage,E=e=>e.ariaLabelConfig;function k({rfId:e}){let t=b(_);return(0,o.jsx)("div",{id:`react-flow__aria-live-${e}`,"aria-live":"assertive","aria-atomic":"true",style:C,children:t})}function R({rfId:e,disableKeyboardA11y:t}){let n=b(E);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{id:`${S}-${e}`,style:v,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),(0,o.jsx)("div",{id:`${j}-${e}`,style:v,children:n["edge.a11yDescription.default"]}),!t&&(0,o.jsx)(k,{rfId:e})]})}let N=(0,i.forwardRef)(({position:e="top-left",children:t,className:n,style:i,...r},l)=>{let s=`${e}`.split("-");return(0,o.jsx)("div",{className:a(["react-flow__panel",n,...s]),style:i,ref:l,...r,children:t})});function I({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:(0,o.jsx)(N,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:(0,o.jsx)("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}N.displayName="Panel";let L=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},D=e=>e.id;function M(e,t){return h(e.selectedNodes.map(D),t.selectedNodes.map(D))&&h(e.selectedEdges.map(D),t.selectedEdges.map(D))}function O({onSelectionChange:e}){let t=w(),{selectedNodes:n,selectedEdges:o}=b(L,M);return(0,i.useEffect)(()=>{let i={nodes:n,edges:o};e?.(i),t.getState().onSelectionChangeHandlers.forEach(e=>e(i))},[n,o,e]),null}let P=e=>!!e.onSelectionChangeHandlers;function A({onSelectionChange:e}){let t=b(P);return e||t?(0,o.jsx)(O,{onSelectionChange:e}):null}let T=[0,0],z={x:0,y:0,zoom:1},F=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode","rfId"],V=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),B={translateExtent:r.infiniteExtent,nodeOrigin:T,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function $(e){let{setNodes:t,setEdges:n,setMinZoom:o,setMaxZoom:a,setTranslateExtent:l,setNodeExtent:s,reset:d,setDefaultNodesAndEdges:c}=b(V,h),u=w();(0,i.useEffect)(()=>(c(e.defaultNodes,e.defaultEdges),()=>{f.current=B,d()}),[]);let f=(0,i.useRef)(B);return(0,i.useEffect)(()=>{for(let i of F){let d=e[i];d!==f.current[i]&&void 0!==e[i]&&("nodes"===i?t(d):"edges"===i?n(d):"minZoom"===i?o(d):"maxZoom"===i?a(d):"translateExtent"===i?l(d):"nodeExtent"===i?s(d):"ariaLabelConfig"===i?u.setState({ariaLabelConfig:(0,r.mergeAriaLabelConfig)(d)}):"fitView"===i?u.setState({fitViewQueued:d}):"fitViewOptions"===i?u.setState({fitViewOptions:d}):u.setState({[i]:d}))}f.current=e},F.map(t=>e[t])),null}function H(){return"undefined"!=typeof window&&window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)"):null}let G="undefined"!=typeof document?document:null;function U(e=null,t={target:G,actInsideInputWithModifier:!0}){let[n,o]=(0,i.useState)(!1),a=(0,i.useRef)(!1),l=(0,i.useRef)(new Set([])),[s,d]=(0,i.useMemo)(()=>{if(null!==e){let t=(Array.isArray(e)?e:[e]).filter(e=>"string"==typeof e).map(e=>e.replace("+","\n").replace("\n\n","\n+").split("\n")),n=t.reduce((e,t)=>e.concat(...t),[]);return[t,n]}return[[],[]]},[e]);return(0,i.useEffect)(()=>{let n=t?.target??G,i=t?.actInsideInputWithModifier??!0;if(null!==e){let e=e=>{if(a.current=e.ctrlKey||e.metaKey||e.shiftKey||e.altKey,(!a.current||a.current&&!i)&&(0,r.isInputDOMNode)(e))return!1;let n=W(e.code,d);if(l.current.add(e[n]),X(s,l.current,!1)){let n=e.composedPath?.()?.[0]||e.target,i=n?.nodeName==="BUTTON"||n?.nodeName==="A";!1!==t.preventDefault&&(a.current||!i)&&e.preventDefault(),o(!0)}},c=e=>{let t=W(e.code,d);X(s,l.current,!0)?(o(!1),l.current.clear()):l.current.delete(e[t]),"Meta"===e.key&&l.current.clear(),a.current=!1},u=()=>{l.current.clear(),o(!1)};return n?.addEventListener("keydown",e),n?.addEventListener("keyup",c),window.addEventListener("blur",u),window.addEventListener("contextmenu",u),()=>{n?.removeEventListener("keydown",e),n?.removeEventListener("keyup",c),window.removeEventListener("blur",u),window.removeEventListener("contextmenu",u)}}},[e,o]),n}function X(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function W(e,t){return t.includes(e)?"code":"key"}function K(e,t){let n=[],o=new Map,i=[];for(let t of e)if("add"===t.type){i.push(t);continue}else if("remove"===t.type||"replace"===t.type)o.set(t.id,[t]);else{let e=o.get(t.id);e?e.push(t):o.set(t.id,[t])}for(let e of t){let t=o.get(e.id);if(!t){n.push(e);continue}if("remove"===t[0].type)continue;if("replace"===t[0].type){n.push({...t[0].item});continue}let i={...e};for(let e of t){var a=e,r=i;switch(a.type){case"select":r.selected=a.selected;break;case"position":void 0!==a.position&&(r.position=a.position),void 0!==a.dragging&&(r.dragging=a.dragging);break;case"dimensions":void 0!==a.dimensions&&(r.measured={...a.dimensions},a.setAttributes&&((!0===a.setAttributes||"width"===a.setAttributes)&&(r.width=a.dimensions.width),(!0===a.setAttributes||"height"===a.setAttributes)&&(r.height=a.dimensions.height))),"boolean"==typeof a.resizing&&(r.resizing=a.resizing)}}n.push(i)}return i.length&&i.forEach(e=>{void 0!==e.index?n.splice(e.index,0,{...e.item}):n.push({...e.item})}),n}function Z(e,t){return{id:e,type:"select",selected:t}}function Q(e,t=new Set,n=!1){let o=[];for(let[i,a]of e){let e=t.has(i);(void 0!==a.selected||e)&&a.selected!==e&&(n&&(a.selected=e),o.push(Z(a.id,e)))}return o}function q({items:e=[],lookup:t}){let n=[],o=new Map(e.map(e=>[e.id,e]));for(let[o,i]of e.entries()){let e=t.get(i.id),a=e?.internals?.userNode??e;void 0!==a&&a!==i&&n.push({id:i.id,item:i,type:"replace"}),void 0===a&&n.push({item:i,type:"add",index:o})}for(let[e]of t)void 0===o.get(e)&&n.push({id:e,type:"remove"});return n}function Y(e){return{id:e.id,type:"remove"}}let J=e=>(0,r.isNodeBase)(e);function ee(e){return(0,i.forwardRef)(e)}let et="undefined"!=typeof window?i.useLayoutEffect:i.useEffect;function en(e){let[t,n]=(0,i.useState)(BigInt(0)),[o]=(0,i.useState)(()=>{var e;let t;return e=()=>n(e=>e+BigInt(1)),t=[],{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}});return et(()=>{let t=o.get();t.length&&(e(t),o.reset())},[t]),o}let eo=(0,i.createContext)(null);function ei({children:e}){let t=w(),n=en((0,i.useCallback)(e=>{let{nodes:n=[],setNodes:o,hasDefaultNodes:i,onNodesChange:a,nodeLookup:r,fitViewQueued:l,onNodesChangeMiddlewareMap:s}=t.getState(),d=n;for(let t of e)d="function"==typeof t?t(d):t;let c=q({items:d,lookup:r});for(let e of s.values())c=e(c);i&&o(d),c.length>0?a?.(c):l&&window.requestAnimationFrame(()=>{let{fitViewQueued:e,nodes:n,setNodes:o}=t.getState();e&&o(n)})},[])),a=en((0,i.useCallback)(e=>{let{edges:n=[],setEdges:o,hasDefaultEdges:i,onEdgesChange:a,edgeLookup:r}=t.getState(),l=n;for(let t of e)l="function"==typeof t?t(l):t;i?o(l):a&&a(q({items:l,lookup:r}))},[])),r=(0,i.useMemo)(()=>({nodeQueue:n,edgeQueue:a}),[]);return(0,o.jsx)(eo.Provider,{value:r,children:e})}let ea=e=>!!e.panZoom;function er(){let e,t=(e=w(),(0,i.useMemo)(()=>({zoomIn:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1.2,{duration:t?.duration}):Promise.resolve(!1)},zoomOut:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,{duration:t?.duration}):Promise.resolve(!1)},zoomTo:(t,n)=>{let{panZoom:o}=e.getState();return o?o.scaleTo(t,{duration:n?.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{let{transform:[o,i,a],panZoom:r}=e.getState();return r?(await r.setViewport({x:t.x??o,y:t.y??i,zoom:t.zoom??a},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{let[t,n,o]=e.getState().transform;return{x:t,y:n,zoom:o}},setCenter:async(t,n,o)=>e.getState().setCenter(t,n,o),fitBounds:async(t,n)=>{let{width:o,height:i,minZoom:a,maxZoom:l,panZoom:s}=e.getState(),d=(0,r.getViewportForBounds)(t,o,i,a,l,n?.padding??.1);return s?(await s.setViewport(d,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,n={})=>{let{transform:o,snapGrid:i,snapToGrid:a,domNode:l}=e.getState();if(!l)return t;let{x:s,y:d}=l.getBoundingClientRect(),c={x:t.x-s,y:t.y-d},u=n.snapGrid??i,f=n.snapToGrid??a;return(0,r.pointToRendererPoint)(c,o,f,u)},flowToScreenPosition:t=>{let{transform:n,domNode:o}=e.getState();if(!o)return t;let{x:i,y:a}=o.getBoundingClientRect(),l=(0,r.rendererPointToPoint)(t,n);return{x:l.x+i,y:l.y+a}}}),[])),n=w(),o=function(){let e=(0,i.useContext)(eo);if(!e)throw Error("useBatchContext must be used within a BatchProvider");return e}(),a=b(ea),l=(0,i.useMemo)(()=>{let e=e=>n.getState().nodeLookup.get(e),t=e=>{o.nodeQueue.push(e)},i=e=>{o.edgeQueue.push(e)},a=e=>{let{nodeLookup:t,nodeOrigin:o}=n.getState(),i=J(e)?e:t.get(e.id),a=i.parentId?(0,r.evaluateAbsolutePosition)(i.position,i.measured,i.parentId,t,o):i.position,l={...i,position:a,width:i.measured?.width??i.width,height:i.measured?.height??i.height};return(0,r.nodeToRect)(l)},l=(e,n,o={replace:!1})=>{t(t=>t.map(t=>{if(t.id===e){let e="function"==typeof n?n(t):n;return o.replace&&J(e)?e:{...t,...e}}return t}))},s=(e,t,n={replace:!1})=>{i(o=>o.map(o=>{if(o.id===e){let e="function"==typeof t?t(o):t;return n.replace&&(0,r.isEdgeBase)(e)?e:{...o,...e}}return o}))};return{getNodes:()=>n.getState().nodes.map(e=>({...e})),getNode:t=>e(t)?.internals.userNode,getInternalNode:e,getEdges:()=>{let{edges:e=[]}=n.getState();return e.map(e=>({...e}))},getEdge:e=>n.getState().edgeLookup.get(e),setNodes:t,setEdges:i,addNodes:e=>{let t=Array.isArray(e)?e:[e];o.nodeQueue.push(e=>[...e,...t])},addEdges:e=>{let t=Array.isArray(e)?e:[e];o.edgeQueue.push(e=>[...e,...t])},toObject:()=>{let{nodes:e=[],edges:t=[],transform:o}=n.getState(),[i,a,r]=o;return{nodes:e.map(e=>({...e})),edges:t.map(e=>({...e})),viewport:{x:i,y:a,zoom:r}}},deleteElements:async({nodes:e=[],edges:t=[]})=>{let{nodes:o,edges:i,onNodesDelete:a,onEdgesDelete:l,triggerNodeChanges:s,triggerEdgeChanges:d,onDelete:c,onBeforeDelete:u}=n.getState(),{nodes:f,edges:p}=await (0,r.getElementsToRemove)({nodesToRemove:e,edgesToRemove:t,nodes:o,edges:i,onBeforeDelete:u}),g=p.length>0,h=f.length>0;if(g){let e=p.map(Y);l?.(p),d(e)}if(h){let e=f.map(Y);a?.(f),s(e)}return(h||g)&&c?.({nodes:f,edges:p}),{deletedNodes:f,deletedEdges:p}},getIntersectingNodes:(e,t=!0,o)=>{let i=(0,r.isRectObject)(e),l=i?e:a(e),s=void 0!==o;return l?(o||n.getState().nodes).filter(o=>{let a=n.getState().nodeLookup.get(o.id);if(a&&!i&&(o.id===e.id||!a.internals.positionAbsolute))return!1;let d=(0,r.nodeToRect)(s?o:a),c=(0,r.getOverlappingArea)(d,l);return t&&c>0||c>=d.width*d.height||c>=l.width*l.height}):[]},isNodeIntersecting:(e,t,n=!0)=>{let o=(0,r.isRectObject)(e)?e:a(e);if(!o)return!1;let i=(0,r.getOverlappingArea)(o,t);return n&&i>0||i>=t.width*t.height||i>=o.width*o.height},updateNode:l,updateNodeData:(e,t,n={replace:!1})=>{l(e,e=>{let o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}},n)},updateEdge:s,updateEdgeData:(e,t,n={replace:!1})=>{s(e,e=>{let o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}},n)},getNodesBounds:e=>{let{nodeLookup:t,nodeOrigin:o}=n.getState();return(0,r.getNodesBounds)(e,{nodeLookup:t,nodeOrigin:o})},getHandleConnections:({type:e,id:t,nodeId:o})=>Array.from(n.getState().connectionLookup.get(`${o}-${e}${t?`-${t}`:""}`)?.values()??[]),getNodeConnections:({type:e,handleId:t,nodeId:o})=>Array.from(n.getState().connectionLookup.get(`${o}${e?t?`-${e}-${t}`:`-${e}`:""}`)?.values()??[]),fitView:async e=>{let t=n.getState().fitViewResolver??(0,r.withResolvers)();return n.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:t}),o.nodeQueue.push(e=>[...e]),t.promise}}},[]);return(0,i.useMemo)(()=>({...l,...t,viewportInitialized:a}),[a])}let el=e=>e.selected,es="undefined"!=typeof window?window:void 0,ed={position:"absolute",width:"100%",height:"100%",top:0,left:0},ec=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function eu({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:a=!1,panOnScrollSpeed:l=.5,panOnScrollMode:s=r.PanOnScrollMode.Free,zoomOnDoubleClick:d=!0,panOnDrag:c=!0,defaultViewport:u,translateExtent:f,minZoom:p,maxZoom:g,zoomActivationKeyCode:m,preventScrolling:x=!0,children:y,noWheelClassName:v,noPanClassName:C,onViewportChange:S,isControlledViewport:j,paneClickDistance:_,selectionOnDrag:E}){let k,R=w(),N=(0,i.useRef)(null),{userSelectionActive:I,lib:L,connectionInProgress:D}=b(ec,h),M=U(m),O=(0,i.useRef)();k=w(),(0,i.useEffect)(()=>{let e=()=>{if(!N.current||!(N.current.checkVisibility?.()??!0))return!1;let e=(0,r.getDimensions)(N.current);(0===e.height||0===e.width)&&k.getState().onError?.("004",r.errorMessages.error004()),k.setState({width:e.width||500,height:e.height||500})};if(N.current){e(),window.addEventListener("resize",e);let t=new ResizeObserver(()=>e());return t.observe(N.current),()=>{window.removeEventListener("resize",e),t&&N.current&&t.unobserve(N.current)}}},[]);let P=(0,i.useCallback)(e=>{S?.({x:e[0],y:e[1],zoom:e[2]}),j||R.setState({transform:e})},[S,j]);return(0,i.useEffect)(()=>{if(N.current){O.current=(0,r.XYPanZoom)({domNode:N.current,minZoom:p,maxZoom:g,translateExtent:f,viewport:u,onDraggingChange:e=>R.setState({paneDragging:e}),onPanZoomStart:(e,t)=>{let{onViewportChangeStart:n,onMoveStart:o}=R.getState();o?.(e,t),n?.(t)},onPanZoom:(e,t)=>{let{onViewportChange:n,onMove:o}=R.getState();o?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{let{onViewportChangeEnd:n,onMoveEnd:o}=R.getState();o?.(e,t),n?.(t)}});let{x:e,y:t,zoom:n}=O.current.getViewport();return R.setState({panZoom:O.current,transform:[e,t,n],domNode:N.current.closest(".react-flow")}),()=>{O.current?.destroy()}}},[]),(0,i.useEffect)(()=>{O.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:a,panOnScrollSpeed:l,panOnScrollMode:s,zoomOnDoubleClick:d,panOnDrag:c,zoomActivationKeyPressed:M,preventScrolling:x,noPanClassName:C,userSelectionActive:I,noWheelClassName:v,lib:L,onTransformChange:P,connectionInProgress:D,selectionOnDrag:E,paneClickDistance:_})},[e,t,n,a,l,s,d,c,M,x,C,I,v,L,P,D,E,_]),(0,o.jsx)("div",{className:"react-flow__renderer",ref:N,style:ed,children:y})}let ef=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function ep(){let{userSelectionActive:e,userSelectionRect:t}=b(ef,h);return e&&t?(0,o.jsx)("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}let eg=(e,t)=>n=>{n.target===t.current&&e?.(n)},eh=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function em({isSelecting:e,selectionKeyPressed:t,selectionMode:n=r.SelectionMode.Full,panOnDrag:l,paneClickDistance:s,selectionOnDrag:d,onSelectionStart:c,onSelectionEnd:u,onPaneClick:f,onPaneContextMenu:p,onPaneScroll:g,onPaneMouseEnter:m,onPaneMouseMove:x,onPaneMouseLeave:y,children:v}){let C=w(),{userSelectionActive:S,elementsSelectable:j,dragging:_,connectionInProgress:E}=b(eh,h),k=j&&(e||S),R=(0,i.useRef)(null),N=(0,i.useRef)(),I=(0,i.useRef)(new Set),L=(0,i.useRef)(new Set),D=(0,i.useRef)(!1),M=e=>{if(D.current||E){D.current=!1;return}f?.(e),C.getState().resetSelectedElements(),C.setState({nodesSelectionActive:!1})},O=!0===l||Array.isArray(l)&&l.includes(0);return(0,o.jsxs)("div",{className:a(["react-flow__pane",{draggable:O,dragging:_,selection:e}]),onClick:k?void 0:eg(M,R),onContextMenu:eg(e=>{Array.isArray(l)&&l?.includes(2)?e.preventDefault():p?.(e)},R),onWheel:eg(g?e=>g(e):void 0,R),onPointerEnter:k?void 0:m,onPointerMove:k?e=>{let{userSelectionRect:o,transform:i,nodeLookup:a,edgeLookup:l,connectionLookup:d,triggerNodeChanges:u,triggerEdgeChanges:f,defaultEdgeOptions:p,resetSelectedElements:g}=C.getState();if(!N.current||!o)return;let{x:h,y:m}=(0,r.getEventPosition)(e.nativeEvent,N.current),{startX:x,startY:y}=o;if(!D.current){if(Math.hypot(h-x,m-y)<=(t?0:s))return;g(),c?.(e)}D.current=!0;let b={startX:x,startY:y,x:h<x?h:x,y:m<y?m:y,width:Math.abs(h-x),height:Math.abs(m-y)},w=I.current,v=L.current;I.current=new Set((0,r.getNodesInside)(a,b,i,n===r.SelectionMode.Partial,!0).map(e=>e.id)),L.current=new Set;let S=p?.selectable??!0;for(let e of I.current){let t=d.get(e);if(t)for(let{edgeId:e}of t.values()){let t=l.get(e);t&&(t.selectable??S)&&L.current.add(e)}}(0,r.areSetsEqual)(w,I.current)||u(Q(a,I.current,!0)),(0,r.areSetsEqual)(v,L.current)||f(Q(l,L.current)),C.setState({userSelectionRect:b,userSelectionActive:!0,nodesSelectionActive:!1})}:x,onPointerUp:k?e=>{0===e.button&&(e.target?.releasePointerCapture?.(e.pointerId),!S&&e.target===R.current&&C.getState().userSelectionRect&&M?.(e),C.setState({userSelectionActive:!1,userSelectionRect:null}),D.current&&(u?.(e),C.setState({nodesSelectionActive:I.current.size>0})))}:void 0,onPointerDownCapture:k?n=>{let{domNode:o}=C.getState();if(N.current=o?.getBoundingClientRect(),!N.current)return;let i=n.target===R.current;if(!i&&n.target.closest(".nokey")||!e||!(d&&i||t)||0!==n.button||!n.isPrimary)return;n.target?.setPointerCapture?.(n.pointerId),D.current=!1;let{x:a,y:l}=(0,r.getEventPosition)(n.nativeEvent,N.current);C.setState({userSelectionRect:{width:0,height:0,startX:a,startY:l,x:a,y:l}}),i||(n.stopPropagation(),n.preventDefault())}:void 0,onClickCapture:k?e=>{D.current&&(e.stopPropagation(),D.current=!1)}:void 0,onPointerLeave:y,ref:R,style:ed,children:[v,(0,o.jsx)(ep,{})]})}function ex({id:e,store:t,unselect:n=!1,nodeRef:o}){let{addSelectedNodes:i,unselectNodesAndEdges:a,multiSelectionActive:l,nodeLookup:s,onError:d}=t.getState(),c=s.get(e);c?(t.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&l)&&(a({nodes:[c],edges:[]}),requestAnimationFrame(()=>o?.current?.blur())):i([e])):d?.("012",r.errorMessages.error012(e))}function ey({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:o,nodeId:a,isSelectable:l,nodeClickDistance:s}){let d=w(),[c,u]=(0,i.useState)(!1),f=(0,i.useRef)();return(0,i.useEffect)(()=>{f.current=(0,r.XYDrag)({getStoreItems:()=>d.getState(),onNodeMouseDown:t=>{ex({id:t,store:d,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),(0,i.useEffect)(()=>{if(t)f.current?.destroy();else if(e.current)return f.current?.update({noDragClassName:n,handleSelector:o,domNode:e.current,isSelectable:l,nodeId:a,nodeClickDistance:s}),()=>{f.current?.destroy()}},[n,o,t,l,e,a]),c}function eb(){let e=w();return(0,i.useCallback)(t=>{let{nodeExtent:n,snapToGrid:o,snapGrid:i,nodesDraggable:a,onError:l,updateNodePositions:s,nodeLookup:d,nodeOrigin:c}=e.getState(),u=new Map,f=e=>e.selected&&(e.draggable||a&&void 0===e.draggable),p=o?i[0]:5,g=o?i[1]:5,h=t.direction.x*p*t.factor,m=t.direction.y*g*t.factor;for(let[,e]of d){if(!f(e))continue;let t={x:e.internals.positionAbsolute.x+h,y:e.internals.positionAbsolute.y+m};o&&(t=(0,r.snapPosition)(t,i));let{position:a,positionAbsolute:s}=(0,r.calculateNodePosition)({nodeId:e.id,nextPosition:t,nodeLookup:d,nodeExtent:n,nodeOrigin:c,onError:l});e.position=a,e.internals.positionAbsolute=s,u.set(e.id,e)}s(u)},[])}let ew=(0,i.createContext)(null),ev=ew.Provider;ew.Consumer;let eC=()=>(0,i.useContext)(ew),eS=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),ej=(0,i.memo)(ee(function({type:e="source",position:t=r.Position.Top,isValidConnection:n,isConnectable:i=!0,isConnectableStart:l=!0,isConnectableEnd:s=!0,id:d,onConnect:c,children:u,className:f,onMouseDown:p,onTouchStart:g,...m},x){let y=d||null,v="target"===e,C=w(),S=eC(),{connectOnClick:j,noPanClassName:_,rfId:E}=b(eS,h),{connectingFrom:k,connectingTo:R,clickConnecting:N,isPossibleEndHandle:I,connectionInProcess:L,clickConnectionInProcess:D,valid:M}=b(t=>{let{connectionClickStartHandle:n,connectionMode:o,connection:i}=t,{fromHandle:a,toHandle:l,isValid:s}=i,d=l?.nodeId===S&&l?.id===y&&l?.type===e;return{connectingFrom:a?.nodeId===S&&a?.id===y&&a?.type===e,connectingTo:d,clickConnecting:n?.nodeId===S&&n?.id===y&&n?.type===e,isPossibleEndHandle:o===r.ConnectionMode.Strict?a?.type!==e:S!==a?.nodeId||y!==a?.id,connectionInProcess:!!a,clickConnectionInProcess:!!n,valid:d&&s}},h);S||C.getState().onError?.("010",r.errorMessages.error010());let O=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:o}=C.getState(),i={...t,...e};if(o){let{edges:e,setEdges:t}=C.getState();t((0,r.addEdge)(i,e))}n?.(i),c?.(i)},P=e=>{if(!S)return;let t=(0,r.isMouseEvent)(e.nativeEvent);if(l&&(t&&0===e.button||!t)){let t=C.getState();r.XYHandle.onPointerDown(e.nativeEvent,{handleDomNode:e.currentTarget,autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodeLookup:t.nodeLookup,lib:t.lib,isTarget:v,handleId:y,nodeId:S,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:t.onConnectEnd,updateConnection:t.updateConnection,onConnect:O,isValidConnection:n||t.isValidConnection,getTransform:()=>C.getState().transform,getFromHandle:()=>C.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?p?.(e):g?.(e)};return(0,o.jsx)("div",{"data-handleid":y,"data-nodeid":S,"data-handlepos":t,"data-id":`${E}-${S}-${y}-${e}`,className:a(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",_,f,{source:!v,target:v,connectable:i,connectablestart:l,connectableend:s,clickconnecting:N,connectingfrom:k,connectingto:R,valid:M,connectionindicator:i&&(!L||I)&&(L||D?s:l)}]),onMouseDown:P,onTouchStart:P,onClick:j?t=>{let{onClickConnectStart:o,onClickConnectEnd:i,connectionClickStartHandle:a,connectionMode:s,isValidConnection:d,lib:c,rfId:u,nodeLookup:f,connection:p}=C.getState();if(!S||!a&&!l)return;if(!a){o?.(t.nativeEvent,{nodeId:S,handleId:y,handleType:e}),C.setState({connectionClickStartHandle:{nodeId:S,type:e,id:y}});return}let g=(0,r.getHostForElement)(t.target),h=n||d,{connection:m,isValid:x}=r.XYHandle.isValid(t.nativeEvent,{handle:{nodeId:S,id:y,type:e},connectionMode:s,fromNodeId:a.nodeId,fromHandleId:a.id||null,fromType:a.type,isValidConnection:h,flowId:u,doc:g,lib:c,nodeLookup:f});x&&m&&O(m);let b=structuredClone(p);delete b.inProgress,b.toPosition=b.toHandle?b.toHandle.position:null,i?.(t,b),C.setState({connectionClickStartHandle:null})}:void 0,ref:x,...m,children:u})})),e_={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},eE={input:function({data:e,isConnectable:t,sourcePosition:n=r.Position.Bottom}){return(0,o.jsxs)(o.Fragment,{children:[e?.label,(0,o.jsx)(ej,{type:"source",position:n,isConnectable:t})]})},default:function({data:e,isConnectable:t,targetPosition:n=r.Position.Top,sourcePosition:i=r.Position.Bottom}){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(ej,{type:"target",position:n,isConnectable:t}),e?.label,(0,o.jsx)(ej,{type:"source",position:i,isConnectable:t})]})},output:function({data:e,isConnectable:t,targetPosition:n=r.Position.Top}){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(ej,{type:"target",position:n,isConnectable:t}),e?.label]})},group:function(){return null}},ek=e=>{let{width:t,height:n,x:o,y:i}=(0,r.getInternalNodesBounds)(e.nodeLookup,{filter:e=>!!e.selected});return{width:(0,r.isNumeric)(t)?t:null,height:(0,r.isNumeric)(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${i}px)`}};function eR({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let r=w(),{width:l,height:s,transformString:d,userSelectionActive:c}=b(ek,h),u=eb(),f=(0,i.useRef)(null);if((0,i.useEffect)(()=>{n||f.current?.focus({preventScroll:!0})},[n]),ey({nodeRef:f}),c||!l||!s)return null;let p=e?t=>{e(t,r.getState().nodes.filter(e=>e.selected))}:void 0;return(0,o.jsx)("div",{className:a(["react-flow__nodesselection","react-flow__container",t]),style:{transform:d},children:(0,o.jsx)("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(e_,e.key)&&(e.preventDefault(),u({direction:e_[e.key],factor:e.shiftKey?4:1}))},style:{width:l,height:s}})})}let eN="undefined"!=typeof window?window:void 0,eI=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function eL({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:a,onPaneMouseLeave:r,onPaneContextMenu:l,onPaneScroll:s,paneClickDistance:d,deleteKeyCode:c,selectionKeyCode:u,selectionOnDrag:f,selectionMode:p,onSelectionStart:g,onSelectionEnd:m,multiSelectionKeyCode:x,panActivationKeyCode:y,zoomActivationKeyCode:v,elementsSelectable:C,zoomOnScroll:S,zoomOnPinch:j,panOnScroll:_,panOnScrollSpeed:E,panOnScrollMode:k,zoomOnDoubleClick:R,panOnDrag:N,defaultViewport:I,translateExtent:L,minZoom:D,maxZoom:M,preventScrolling:O,onSelectionContextMenu:P,noWheelClassName:A,noPanClassName:T,disableKeyboardA11y:z,onViewportChange:F,isControlledViewport:V}){let{nodesSelectionActive:B,userSelectionActive:$}=b(eI,h),H=U(u,{target:eN}),G=U(y,{target:eN}),X=G||N,W=G||_,K=f&&!0!==X,Z=H||$||K;return!function({deleteKeyCode:e,multiSelectionKeyCode:t}){let n=w(),{deleteElements:o}=er(),a=U(e,{actInsideInputWithModifier:!1}),r=U(t,{target:es});(0,i.useEffect)(()=>{if(a){let{edges:e,nodes:t}=n.getState();o({nodes:t.filter(el),edges:e.filter(el)}),n.setState({nodesSelectionActive:!1})}},[a]),(0,i.useEffect)(()=>{n.setState({multiSelectionActive:r})},[r])}({deleteKeyCode:c,multiSelectionKeyCode:x}),(0,o.jsx)(eu,{onPaneContextMenu:l,elementsSelectable:C,zoomOnScroll:S,zoomOnPinch:j,panOnScroll:W,panOnScrollSpeed:E,panOnScrollMode:k,zoomOnDoubleClick:R,panOnDrag:!H&&X,defaultViewport:I,translateExtent:L,minZoom:D,maxZoom:M,zoomActivationKeyCode:v,preventScrolling:O,noWheelClassName:A,noPanClassName:T,onViewportChange:F,isControlledViewport:V,paneClickDistance:d,selectionOnDrag:K,children:(0,o.jsxs)(em,{onSelectionStart:g,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:a,onPaneMouseLeave:r,onPaneContextMenu:l,onPaneScroll:s,panOnDrag:X,isSelecting:!!Z,selectionMode:p,selectionKeyPressed:H,paneClickDistance:d,selectionOnDrag:K,children:[e,B&&(0,o.jsx)(eR,{onSelectionContextMenu:P,noPanClassName:T,disableKeyboardA11y:z})]})})}eL.displayName="FlowRenderer";let eD=(0,i.memo)(eL),eM=e=>e.updateNodeInternals;var eO=(0,i.memo)(function({id:e,onClick:t,onMouseEnter:n,onMouseMove:l,onMouseLeave:s,onContextMenu:d,onDoubleClick:c,nodesDraggable:u,elementsSelectable:f,nodesConnectable:p,nodesFocusable:g,resizeObserver:m,noDragClassName:x,noPanClassName:y,disableKeyboardA11y:v,rfId:C,nodeTypes:j,nodeClickDistance:_,onError:E}){let{node:k,internals:R,isParent:N}=b(t=>{let n=t.nodeLookup.get(e),o=t.parentLookup.has(e);return{node:n,internals:n.internals,isParent:o}},h),I=k.type||"default",L=j?.[I]||eE[I];void 0===L&&(E?.("003",r.errorMessages.error003(I)),I="default",L=j?.default||eE.default);let D=!!(k.draggable||u&&void 0===k.draggable),M=!!(k.selectable||f&&void 0===k.selectable),O=!!(k.connectable||p&&void 0===k.connectable),P=!!(k.focusable||g&&void 0===k.focusable),A=w(),T=(0,r.nodeHasDimensions)(k),z=function({node:e,nodeType:t,hasDimensions:n,resizeObserver:o}){let a=w(),r=(0,i.useRef)(null),l=(0,i.useRef)(null),s=(0,i.useRef)(e.sourcePosition),d=(0,i.useRef)(e.targetPosition),c=(0,i.useRef)(t),u=n&&!!e.internals.handleBounds;return(0,i.useEffect)(()=>{!r.current||e.hidden||u&&l.current===r.current||(l.current&&o?.unobserve(l.current),o?.observe(r.current),l.current=r.current)},[u,e.hidden]),(0,i.useEffect)(()=>()=>{l.current&&(o?.unobserve(l.current),l.current=null)},[]),(0,i.useEffect)(()=>{if(r.current){let n=c.current!==t,o=s.current!==e.sourcePosition,i=d.current!==e.targetPosition;(n||o||i)&&(c.current=t,s.current=e.sourcePosition,d.current=e.targetPosition,a.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:r.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),r}({node:k,nodeType:I,hasDimensions:T,resizeObserver:m}),F=ey({nodeRef:z,disabled:k.hidden||!D,noDragClassName:x,handleSelector:k.dragHandle,nodeId:e,isSelectable:M,nodeClickDistance:_}),V=eb();if(k.hidden)return null;let B=(0,r.getNodeDimensions)(k),$=void 0===k.internals.handleBounds?{width:k.width??k.initialWidth??k.style?.width,height:k.height??k.initialHeight??k.style?.height}:{width:k.width??k.style?.width,height:k.height??k.style?.height},H=M||D||t||n||l||s,G=n?e=>n(e,{...R.userNode}):void 0,U=l?e=>l(e,{...R.userNode}):void 0,X=s?e=>s(e,{...R.userNode}):void 0,W=d?e=>d(e,{...R.userNode}):void 0,K=c?e=>c(e,{...R.userNode}):void 0;return(0,o.jsx)("div",{className:a(["react-flow__node",`react-flow__node-${I}`,{[y]:D},k.className,{selected:k.selected,selectable:M,parent:N,draggable:D,dragging:F}]),ref:z,style:{zIndex:R.z,transform:`translate(${R.positionAbsolute.x}px,${R.positionAbsolute.y}px)`,pointerEvents:H?"all":"none",visibility:T?"visible":"hidden",...k.style,...$},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:G,onMouseMove:U,onMouseLeave:X,onContextMenu:W,onClick:n=>{let{selectNodesOnDrag:o,nodeDragThreshold:i}=A.getState();M&&(!o||!D||i>0)&&ex({id:e,store:A,nodeRef:z}),t&&t(n,{...R.userNode})},onDoubleClick:K,onKeyDown:P?t=>{if(!(0,r.isInputDOMNode)(t.nativeEvent)&&!v){if(r.elementSelectionKeys.includes(t.key)&&M)ex({id:e,store:A,unselect:"Escape"===t.key,nodeRef:z});else if(D&&k.selected&&Object.prototype.hasOwnProperty.call(e_,t.key)){t.preventDefault();let{ariaLabelConfig:e}=A.getState();A.setState({ariaLiveMessage:e["node.a11yDescription.ariaLiveMessage"]({direction:t.key.replace("Arrow","").toLowerCase(),x:~~R.positionAbsolute.x,y:~~R.positionAbsolute.y})}),V({direction:e_[t.key],factor:t.shiftKey?4:1})}}}:void 0,tabIndex:P?0:void 0,onFocus:P?()=>{if(v||!z.current?.matches(":focus-visible"))return;let{transform:t,width:n,height:o,autoPanOnNodeFocus:i,setCenter:a}=A.getState();!i||(0,r.getNodesInside)(new Map([[e,k]]),{x:0,y:0,width:n,height:o},t,!0).length>0||a(k.position.x+B.width/2,k.position.y+B.height/2,{zoom:t[2]})}:void 0,role:k.ariaRole??(P?"group":void 0),"aria-roledescription":"node","aria-describedby":v?void 0:`${S}-${C}`,"aria-label":k.ariaLabel,...k.domAttributes,children:(0,o.jsx)(ev,{value:e,children:(0,o.jsx)(L,{id:e,data:k.data,type:I,positionAbsoluteX:R.positionAbsolute.x,positionAbsoluteY:R.positionAbsolute.y,selected:k.selected??!1,selectable:M,draggable:D,deletable:k.deletable??!0,isConnectable:O,sourcePosition:k.sourcePosition,targetPosition:k.targetPosition,dragging:F,dragHandle:k.dragHandle,zIndex:R.z,parentId:k.parentId,...B})})})});let eP=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function eA(e){var t;let{nodesDraggable:n,nodesConnectable:a,nodesFocusable:l,elementsSelectable:s,onError:d}=b(eP,h),c=(t=e.onlyRenderVisibleElements,b((0,i.useCallback)(e=>t?(0,r.getNodesInside)(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(e=>e.id):Array.from(e.nodeLookup.keys()),[t]),h)),u=function(){let e=b(eM),[t]=(0,i.useState)(()=>"undefined"==typeof ResizeObserver?null:new ResizeObserver(t=>{let n=new Map;t.forEach(e=>{let t=e.target.getAttribute("data-id");n.set(t,{id:t,nodeElement:e.target,force:!0})}),e(n)}));return(0,i.useEffect)(()=>()=>{t?.disconnect()},[t]),t}();return(0,o.jsx)("div",{className:"react-flow__nodes",style:ed,children:c.map(t=>(0,o.jsx)(eO,{id:t,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:u,nodesDraggable:n,nodesConnectable:a,nodesFocusable:l,elementsSelectable:s,nodeClickDistance:e.nodeClickDistance,onError:d},t))})}eA.displayName="NodeRenderer";let eT=(0,i.memo)(eA),ez={[r.MarkerType.Arrow]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e}};return(0,o.jsx)("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},[r.MarkerType.ArrowClosed]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e,fill:e}};return(0,o.jsx)("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})}},eF=({id:e,type:t,color:n,width:a=12.5,height:l=12.5,markerUnits:s="strokeWidth",strokeWidth:d,orient:c="auto-start-reverse"})=>{let u,f=(u=w(),(0,i.useMemo)(()=>Object.prototype.hasOwnProperty.call(ez,t)?ez[t]:(u.getState().onError?.("009",r.errorMessages.error009(t)),null),[t]));return f?(0,o.jsx)("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${a}`,markerHeight:`${l}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:c,refX:"0",refY:"0",children:(0,o.jsx)(f,{color:n,strokeWidth:d})}):null},eV=({defaultColor:e,rfId:t})=>{let n=b(e=>e.edges),a=b(e=>e.defaultEdgeOptions),l=(0,i.useMemo)(()=>(0,r.createMarkerIds)(n,{id:t,defaultColor:e,defaultMarkerStart:a?.markerStart,defaultMarkerEnd:a?.markerEnd}),[n,a,t,e]);return l.length?(0,o.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,o.jsx)("defs",{children:l.map(e=>(0,o.jsx)(eF,{id:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient},e.id))})}):null};eV.displayName="MarkerDefinitions";var eB=(0,i.memo)(eV);function e$({x:e,y:t,label:n,labelStyle:r,labelShowBg:l=!0,labelBgStyle:s,labelBgPadding:d=[2,4],labelBgBorderRadius:c=2,children:u,className:f,...p}){let[g,h]=(0,i.useState)({x:1,y:0,width:0,height:0}),m=a(["react-flow__edge-textwrapper",f]),x=(0,i.useRef)(null);return((0,i.useEffect)(()=>{if(x.current){let e=x.current.getBBox();h({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),n)?(0,o.jsxs)("g",{transform:`translate(${e-g.width/2} ${t-g.height/2})`,className:m,visibility:g.width?"visible":"hidden",...p,children:[l&&(0,o.jsx)("rect",{width:g.width+2*d[0],x:-d[0],y:-d[1],height:g.height+2*d[1],className:"react-flow__edge-textbg",style:s,rx:c,ry:c}),(0,o.jsx)("text",{className:"react-flow__edge-text",y:g.height/2,dy:"0.3em",ref:x,style:r,children:n}),u]}):null}e$.displayName="EdgeText";let eH=(0,i.memo)(e$);function eG({path:e,labelX:t,labelY:n,label:i,labelStyle:l,labelShowBg:s,labelBgStyle:d,labelBgPadding:c,labelBgBorderRadius:u,interactionWidth:f=20,...p}){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("path",{...p,d:e,fill:"none",className:a(["react-flow__edge-path",p.className])}),f?(0,o.jsx)("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:f,className:"react-flow__edge-interaction"}):null,i&&(0,r.isNumeric)(t)&&(0,r.isNumeric)(n)?(0,o.jsx)(eH,{x:t,y:n,label:i,labelStyle:l,labelShowBg:s,labelBgStyle:d,labelBgPadding:c,labelBgBorderRadius:u}):null]})}function eU({pos:e,x1:t,y1:n,x2:o,y2:i}){return e===r.Position.Left||e===r.Position.Right?[.5*(t+o),n]:[t,.5*(n+i)]}function eX({sourceX:e,sourceY:t,sourcePosition:n=r.Position.Bottom,targetX:o,targetY:i,targetPosition:a=r.Position.Top}){let[l,s]=eU({pos:n,x1:e,y1:t,x2:o,y2:i}),[d,c]=eU({pos:a,x1:o,y1:i,x2:e,y2:t}),[u,f,p,g]=(0,r.getBezierEdgeCenter)({sourceX:e,sourceY:t,targetX:o,targetY:i,sourceControlX:l,sourceControlY:s,targetControlX:d,targetControlY:c});return[`M${e},${t} C${l},${s} ${d},${c} ${o},${i}`,u,f,p,g]}function eW(e){return(0,i.memo)(({id:t,sourceX:n,sourceY:i,targetX:a,targetY:r,sourcePosition:l,targetPosition:s,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:g,style:h,markerEnd:m,markerStart:x,interactionWidth:y})=>{let[b,w,v]=eX({sourceX:n,sourceY:i,sourcePosition:l,targetX:a,targetY:r,targetPosition:s}),C=e.isInternal?void 0:t;return(0,o.jsx)(eG,{id:C,path:b,labelX:w,labelY:v,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:g,style:h,markerEnd:m,markerStart:x,interactionWidth:y})})}let eK=eW({isInternal:!1}),eZ=eW({isInternal:!0});function eQ(e){return(0,i.memo)(({id:t,sourceX:n,sourceY:i,targetX:a,targetY:l,label:s,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:p,style:g,sourcePosition:h=r.Position.Bottom,targetPosition:m=r.Position.Top,markerEnd:x,markerStart:y,pathOptions:b,interactionWidth:w})=>{let[v,C,S]=(0,r.getSmoothStepPath)({sourceX:n,sourceY:i,sourcePosition:h,targetX:a,targetY:l,targetPosition:m,borderRadius:b?.borderRadius,offset:b?.offset,stepPosition:b?.stepPosition}),j=e.isInternal?void 0:t;return(0,o.jsx)(eG,{id:j,path:v,labelX:C,labelY:S,label:s,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:p,style:g,markerEnd:x,markerStart:y,interactionWidth:w})})}eK.displayName="SimpleBezierEdge",eZ.displayName="SimpleBezierEdgeInternal";let eq=eQ({isInternal:!1}),eY=eQ({isInternal:!0});function eJ(e){return(0,i.memo)(({id:t,...n})=>{let a=e.isInternal?void 0:t;return(0,o.jsx)(eq,{...n,id:a,pathOptions:(0,i.useMemo)(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}eq.displayName="SmoothStepEdge",eY.displayName="SmoothStepEdgeInternal";let e0=eJ({isInternal:!1}),e1=eJ({isInternal:!0});function e2(e){return(0,i.memo)(({id:t,sourceX:n,sourceY:i,targetX:a,targetY:l,label:s,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:p,style:g,markerEnd:h,markerStart:m,interactionWidth:x})=>{let[y,b,w]=(0,r.getStraightPath)({sourceX:n,sourceY:i,targetX:a,targetY:l}),v=e.isInternal?void 0:t;return(0,o.jsx)(eG,{id:v,path:y,labelX:b,labelY:w,label:s,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:p,style:g,markerEnd:h,markerStart:m,interactionWidth:x})})}e0.displayName="StepEdge",e1.displayName="StepEdgeInternal";let e3=e2({isInternal:!1}),e5=e2({isInternal:!0});function e4(e){return(0,i.memo)(({id:t,sourceX:n,sourceY:i,targetX:a,targetY:l,sourcePosition:s=r.Position.Bottom,targetPosition:d=r.Position.Top,label:c,labelStyle:u,labelShowBg:f,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:h,style:m,markerEnd:x,markerStart:y,pathOptions:b,interactionWidth:w})=>{let[v,C,S]=(0,r.getBezierPath)({sourceX:n,sourceY:i,sourcePosition:s,targetX:a,targetY:l,targetPosition:d,curvature:b?.curvature}),j=e.isInternal?void 0:t;return(0,o.jsx)(eG,{id:j,path:v,labelX:C,labelY:S,label:c,labelStyle:u,labelShowBg:f,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:h,style:m,markerEnd:x,markerStart:y,interactionWidth:w})})}e3.displayName="StraightEdge",e5.displayName="StraightEdgeInternal";let e6=e4({isInternal:!1}),e8=e4({isInternal:!0});e6.displayName="BezierEdge",e8.displayName="BezierEdgeInternal";let e7={default:e8,straight:e5,step:e1,smoothstep:eY,simplebezier:eZ},e9={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},te="react-flow__edgeupdater";function tt({position:e,centerX:t,centerY:n,radius:i=10,onMouseDown:l,onMouseEnter:s,onMouseOut:d,type:c}){return(0,o.jsx)("circle",{onMouseDown:l,onMouseEnter:s,onMouseOut:d,className:a([te,`${te}-${c}`]),cx:e===r.Position.Left?t-i:e===r.Position.Right?t+i:t,cy:e===r.Position.Top?n-i:e===r.Position.Bottom?n+i:n,r:i,stroke:"transparent",fill:"transparent"})}function tn({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:i,sourceY:a,targetX:l,targetY:s,sourcePosition:d,targetPosition:c,onReconnect:u,onReconnectStart:f,onReconnectEnd:p,setReconnecting:g,setUpdateHover:h}){let m=w(),x=(e,t)=>{if(0!==e.button)return;let{autoPanOnConnect:o,domNode:i,isValidConnection:a,connectionMode:l,connectionRadius:s,lib:d,onConnectStart:c,onConnectEnd:h,cancelConnection:x,nodeLookup:y,rfId:b,panBy:w,updateConnection:v}=m.getState(),C="target"===t.type;r.XYHandle.onPointerDown(e.nativeEvent,{autoPanOnConnect:o,connectionMode:l,connectionRadius:s,domNode:i,handleId:t.id,nodeId:t.nodeId,nodeLookup:y,isTarget:C,edgeUpdaterType:t.type,lib:d,flowId:b,cancelConnection:x,panBy:w,isValidConnection:a,onConnect:e=>u?.(n,e),onConnectStart:(o,i)=>{g(!0),f?.(e,n,t.type),c?.(o,i)},onConnectEnd:h,onReconnectEnd:(e,o)=>{g(!1),p?.(e,n,t.type,o)},updateConnection:v,getTransform:()=>m.getState().transform,getFromHandle:()=>m.getState().connection.fromHandle,dragThreshold:m.getState().connectionDragThreshold,handleDomNode:e.currentTarget})},y=()=>h(!0),b=()=>h(!1);return(0,o.jsxs)(o.Fragment,{children:[(!0===e||"source"===e)&&(0,o.jsx)(tt,{position:d,centerX:i,centerY:a,radius:t,onMouseDown:e=>x(e,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),onMouseEnter:y,onMouseOut:b,type:"source"}),(!0===e||"target"===e)&&(0,o.jsx)(tt,{position:c,centerX:l,centerY:s,radius:t,onMouseDown:e=>x(e,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),onMouseEnter:y,onMouseOut:b,type:"target"})]})}var to=(0,i.memo)(function({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:l,onClick:s,onDoubleClick:d,onContextMenu:c,onMouseEnter:u,onMouseMove:f,onMouseLeave:p,reconnectRadius:g,onReconnect:m,onReconnectStart:x,onReconnectEnd:y,rfId:v,edgeTypes:C,noPanClassName:S,onError:_,disableKeyboardA11y:E}){let k=b(t=>t.edgeLookup.get(e)),R=b(e=>e.defaultEdgeOptions),N=(k=R?{...R,...k}:k).type||"default",I=C?.[N]||e7[N];void 0===I&&(_?.("011",r.errorMessages.error011(N)),N="default",I=C?.default||e7.default);let L=!!(k.focusable||t&&void 0===k.focusable),D=void 0!==m&&(k.reconnectable||n&&void 0===k.reconnectable),M=!!(k.selectable||l&&void 0===k.selectable),O=(0,i.useRef)(null),[P,A]=(0,i.useState)(!1),[T,z]=(0,i.useState)(!1),F=w(),{zIndex:V,sourceX:B,sourceY:$,targetX:H,targetY:G,sourcePosition:U,targetPosition:X}=b((0,i.useCallback)(t=>{let n=t.nodeLookup.get(k.source),o=t.nodeLookup.get(k.target);if(!n||!o)return{zIndex:k.zIndex,...e9};let i=(0,r.getEdgePosition)({id:e,sourceNode:n,targetNode:o,sourceHandle:k.sourceHandle||null,targetHandle:k.targetHandle||null,connectionMode:t.connectionMode,onError:_});return{zIndex:(0,r.getElevatedEdgeZIndex)({selected:k.selected,zIndex:k.zIndex,sourceNode:n,targetNode:o,elevateOnSelect:t.elevateEdgesOnSelect,zIndexMode:t.zIndexMode}),...i||e9}},[k.source,k.target,k.sourceHandle,k.targetHandle,k.selected,k.zIndex]),h),W=(0,i.useMemo)(()=>k.markerStart?`url('#${(0,r.getMarkerId)(k.markerStart,v)}')`:void 0,[k.markerStart,v]),K=(0,i.useMemo)(()=>k.markerEnd?`url('#${(0,r.getMarkerId)(k.markerEnd,v)}')`:void 0,[k.markerEnd,v]);if(k.hidden||null===B||null===$||null===H||null===G)return null;let Z=d?e=>{d(e,{...k})}:void 0,Q=c?e=>{c(e,{...k})}:void 0,q=u?e=>{u(e,{...k})}:void 0,Y=f?e=>{f(e,{...k})}:void 0,J=p?e=>{p(e,{...k})}:void 0;return(0,o.jsx)("svg",{style:{zIndex:V},children:(0,o.jsxs)("g",{className:a(["react-flow__edge",`react-flow__edge-${N}`,k.className,S,{selected:k.selected,animated:k.animated,inactive:!M&&!s,updating:P,selectable:M}]),onClick:t=>{let{addSelectedEdges:n,unselectNodesAndEdges:o,multiSelectionActive:i}=F.getState();M&&(F.setState({nodesSelectionActive:!1}),k.selected&&i?(o({nodes:[],edges:[k]}),O.current?.blur()):n([e])),s&&s(t,k)},onDoubleClick:Z,onContextMenu:Q,onMouseEnter:q,onMouseMove:Y,onMouseLeave:J,onKeyDown:L?t=>{if(!E&&r.elementSelectionKeys.includes(t.key)&&M){let{unselectNodesAndEdges:n,addSelectedEdges:o}=F.getState();"Escape"===t.key?(O.current?.blur(),n({edges:[k]})):o([e])}}:void 0,tabIndex:L?0:void 0,role:k.ariaRole??(L?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":null===k.ariaLabel?void 0:k.ariaLabel||`Edge from ${k.source} to ${k.target}`,"aria-describedby":L?`${j}-${v}`:void 0,ref:O,...k.domAttributes,children:[!T&&(0,o.jsx)(I,{id:e,source:k.source,target:k.target,type:k.type,selected:k.selected,animated:k.animated,selectable:M,deletable:k.deletable??!0,label:k.label,labelStyle:k.labelStyle,labelShowBg:k.labelShowBg,labelBgStyle:k.labelBgStyle,labelBgPadding:k.labelBgPadding,labelBgBorderRadius:k.labelBgBorderRadius,sourceX:B,sourceY:$,targetX:H,targetY:G,sourcePosition:U,targetPosition:X,data:k.data,style:k.style,sourceHandleId:k.sourceHandle,targetHandleId:k.targetHandle,markerStart:W,markerEnd:K,pathOptions:"pathOptions"in k?k.pathOptions:void 0,interactionWidth:k.interactionWidth}),D&&(0,o.jsx)(tn,{edge:k,isReconnectable:D,reconnectRadius:g,onReconnect:m,onReconnectStart:x,onReconnectEnd:y,sourceX:B,sourceY:$,targetX:H,targetY:G,sourcePosition:U,targetPosition:X,setUpdateHover:A,setReconnecting:z})]})})});let ti=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function ta({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:a,noPanClassName:l,onReconnect:s,onEdgeContextMenu:d,onEdgeMouseEnter:c,onEdgeMouseMove:u,onEdgeMouseLeave:f,onEdgeClick:p,reconnectRadius:g,onEdgeDoubleClick:m,onReconnectStart:x,onReconnectEnd:y,disableKeyboardA11y:w}){let{edgesFocusable:v,edgesReconnectable:C,elementsSelectable:S,onError:j}=b(ti,h),_=b((0,i.useCallback)(e=>{if(!t)return e.edges.map(e=>e.id);let n=[];if(e.width&&e.height)for(let t of e.edges){let o=e.nodeLookup.get(t.source),i=e.nodeLookup.get(t.target);o&&i&&(0,r.isEdgeVisible)({sourceNode:o,targetNode:i,width:e.width,height:e.height,transform:e.transform})&&n.push(t.id)}return n},[t]),h);return(0,o.jsxs)("div",{className:"react-flow__edges",children:[(0,o.jsx)(eB,{defaultColor:e,rfId:n}),_.map(e=>(0,o.jsx)(to,{id:e,edgesFocusable:v,edgesReconnectable:C,elementsSelectable:S,noPanClassName:l,onReconnect:s,onContextMenu:d,onMouseEnter:c,onMouseMove:u,onMouseLeave:f,onClick:p,reconnectRadius:g,onDoubleClick:m,onReconnectStart:x,onReconnectEnd:y,rfId:n,onError:j,edgeTypes:a,disableKeyboardA11y:w},e))]})}ta.displayName="EdgeRenderer";let tr=(0,i.memo)(ta),tl=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function ts({children:e}){let t=b(tl);return(0,o.jsx)("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}let td=e=>e.panZoom?.syncViewport;function tc(e){return e.connection.inProgress?{...e.connection,to:(0,r.pointToRendererPoint)(e.connection.to,e.transform)}:{...e.connection}}let tu=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function tf({containerStyle:e,style:t,type:n,component:i}){let{nodesConnectable:l,width:s,height:d,isValid:c,inProgress:u}=b(tu,h);return s&&l&&u?(0,o.jsx)("svg",{style:e,width:s,height:d,className:"react-flow__connectionline react-flow__container",children:(0,o.jsx)("g",{className:a(["react-flow__connection",(0,r.getConnectionStatus)(c)]),children:(0,o.jsx)(tp,{style:t,type:n,CustomComponent:i,isValid:c})})}):null}let tp=({style:e,type:t=r.ConnectionLineType.Bezier,CustomComponent:n,isValid:i})=>{let{inProgress:a,from:l,fromNode:s,fromHandle:d,fromPosition:c,to:u,toNode:f,toHandle:p,toPosition:g,pointer:m}=b(tc,h);if(!a)return;if(n)return(0,o.jsx)(n,{connectionLineType:t,connectionLineStyle:e,fromNode:s,fromHandle:d,fromX:l.x,fromY:l.y,toX:u.x,toY:u.y,fromPosition:c,toPosition:g,connectionStatus:(0,r.getConnectionStatus)(i),toNode:f,toHandle:p,pointer:m});let x="",y={sourceX:l.x,sourceY:l.y,sourcePosition:c,targetX:u.x,targetY:u.y,targetPosition:g};switch(t){case r.ConnectionLineType.Bezier:[x]=(0,r.getBezierPath)(y);break;case r.ConnectionLineType.SimpleBezier:[x]=eX(y);break;case r.ConnectionLineType.Step:[x]=(0,r.getSmoothStepPath)({...y,borderRadius:0});break;case r.ConnectionLineType.SmoothStep:[x]=(0,r.getSmoothStepPath)(y);break;default:[x]=(0,r.getStraightPath)(y)}return(0,o.jsx)("path",{d:x,fill:"none",className:"react-flow__connection-path",style:e})};tp.displayName="ConnectionLine";let tg={};function th(e=tg){(0,i.useRef)(e),w(),(0,i.useEffect)(()=>{},[e])}function tm({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:a,onEdgeClick:r,onNodeDoubleClick:l,onEdgeDoubleClick:s,onNodeMouseEnter:d,onNodeMouseMove:c,onNodeMouseLeave:u,onNodeContextMenu:f,onSelectionContextMenu:p,onSelectionStart:g,onSelectionEnd:h,connectionLineType:m,connectionLineStyle:x,connectionLineComponent:y,connectionLineContainerStyle:v,selectionKeyCode:C,selectionOnDrag:S,selectionMode:j,multiSelectionKeyCode:_,panActivationKeyCode:E,zoomActivationKeyCode:k,deleteKeyCode:R,onlyRenderVisibleElements:N,elementsSelectable:I,defaultViewport:L,translateExtent:D,minZoom:M,maxZoom:O,preventScrolling:P,defaultMarkerColor:A,zoomOnScroll:T,zoomOnPinch:z,panOnScroll:F,panOnScrollSpeed:V,panOnScrollMode:B,zoomOnDoubleClick:$,panOnDrag:H,onPaneClick:G,onPaneMouseEnter:U,onPaneMouseMove:X,onPaneMouseLeave:W,onPaneScroll:K,onPaneContextMenu:Z,paneClickDistance:Q,nodeClickDistance:q,onEdgeContextMenu:Y,onEdgeMouseEnter:J,onEdgeMouseMove:ee,onEdgeMouseLeave:et,reconnectRadius:en,onReconnect:eo,onReconnectStart:ei,onReconnectEnd:ea,noDragClassName:el,noWheelClassName:es,noPanClassName:ed,disableKeyboardA11y:ec,nodeExtent:eu,rfId:ef,viewport:ep,onViewportChange:eg}){let eh,em,ex,ey;return th(e),th(t),w(),(0,i.useRef)(!1),(0,i.useEffect)(()=>{},[]),eh=er(),em=(0,i.useRef)(!1),(0,i.useEffect)(()=>{!em.current&&eh.viewportInitialized&&n&&(setTimeout(()=>n(eh),1),em.current=!0)},[n,eh.viewportInitialized]),ex=b(td),ey=w(),(0,i.useEffect)(()=>{ep&&(ex?.(ep),ey.setState({transform:[ep.x,ep.y,ep.zoom]}))},[ep,ex]),(0,o.jsx)(eD,{onPaneClick:G,onPaneMouseEnter:U,onPaneMouseMove:X,onPaneMouseLeave:W,onPaneContextMenu:Z,onPaneScroll:K,paneClickDistance:Q,deleteKeyCode:R,selectionKeyCode:C,selectionOnDrag:S,selectionMode:j,onSelectionStart:g,onSelectionEnd:h,multiSelectionKeyCode:_,panActivationKeyCode:E,zoomActivationKeyCode:k,elementsSelectable:I,zoomOnScroll:T,zoomOnPinch:z,zoomOnDoubleClick:$,panOnScroll:F,panOnScrollSpeed:V,panOnScrollMode:B,panOnDrag:H,defaultViewport:L,translateExtent:D,minZoom:M,maxZoom:O,onSelectionContextMenu:p,preventScrolling:P,noDragClassName:el,noWheelClassName:es,noPanClassName:ed,disableKeyboardA11y:ec,onViewportChange:eg,isControlledViewport:!!ep,children:(0,o.jsxs)(ts,{children:[(0,o.jsx)(tr,{edgeTypes:t,onEdgeClick:r,onEdgeDoubleClick:s,onReconnect:eo,onReconnectStart:ei,onReconnectEnd:ea,onlyRenderVisibleElements:N,onEdgeContextMenu:Y,onEdgeMouseEnter:J,onEdgeMouseMove:ee,onEdgeMouseLeave:et,reconnectRadius:en,defaultMarkerColor:A,noPanClassName:ed,disableKeyboardA11y:ec,rfId:ef}),(0,o.jsx)(tf,{style:x,type:m,component:y,containerStyle:v}),(0,o.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,o.jsx)(eT,{nodeTypes:e,onNodeClick:a,onNodeDoubleClick:l,onNodeMouseEnter:d,onNodeMouseMove:c,onNodeMouseLeave:u,onNodeContextMenu:f,nodeClickDistance:q,onlyRenderVisibleElements:N,noPanClassName:ed,noDragClassName:el,disableKeyboardA11y:ec,nodeExtent:eu,rfId:ef}),(0,o.jsx)("div",{className:"react-flow__viewport-portal"})]})})}tm.displayName="GraphView";let tx=(0,i.memo)(tm),ty=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:i,height:a,fitView:l,fitViewOptions:s,minZoom:d=.5,maxZoom:c=2,nodeOrigin:u,nodeExtent:f,zIndexMode:p="basic"}={})=>{let g=new Map,h=new Map,m=new Map,x=new Map,y=o??t??[],b=n??e??[],w=u??[0,0],v=f??r.infiniteExtent;(0,r.updateConnectionLookup)(m,x,y);let C=(0,r.adoptUserNodes)(b,g,h,{nodeOrigin:w,nodeExtent:v,zIndexMode:p}),S=[0,0,1];if(l&&i&&a){let e=(0,r.getInternalNodesBounds)(g,{filter:e=>!!((e.width||e.initialWidth)&&(e.height||e.initialHeight))}),{x:t,y:n,zoom:o}=(0,r.getViewportForBounds)(e,i,a,d,c,s?.padding??.1);S=[t,n,o]}return{rfId:"1",width:i??0,height:a??0,transform:S,nodes:b,nodesInitialized:C,nodeLookup:g,parentLookup:h,edges:y,edgeLookup:x,connectionLookup:m,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==n,hasDefaultEdges:void 0!==o,panZoom:null,minZoom:d,maxZoom:c,translateExtent:r.infiniteExtent,nodeExtent:v,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:r.ConnectionMode.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:w,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:l??!1,fitViewOptions:s,fitViewResolver:null,connection:{...r.initialConnection},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:r.devWarn,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:r.defaultAriaLabelConfig,zIndexMode:p,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}};function tb({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:a,initialWidth:l,initialHeight:s,initialMinZoom:d,initialMaxZoom:c,initialFitViewOptions:u,fitView:f,nodeOrigin:p,nodeExtent:h,zIndexMode:m,children:y}){let[b]=(0,i.useState)(()=>(({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:i,height:a,fitView:l,fitViewOptions:s,minZoom:d,maxZoom:c,nodeOrigin:u,nodeExtent:f,zIndexMode:p})=>{let h,m;return h=(g,h)=>{async function m(){let{nodeLookup:e,panZoom:t,fitViewOptions:n,fitViewResolver:o,width:i,height:a,minZoom:l,maxZoom:s}=h();t&&(await (0,r.fitViewport)({nodes:e,width:i,height:a,panZoom:t,minZoom:l,maxZoom:s},n),o?.resolve(!0),g({fitViewResolver:null}))}return{...ty({nodes:e,edges:t,width:i,height:a,fitView:l,fitViewOptions:s,minZoom:d,maxZoom:c,nodeOrigin:u,nodeExtent:f,defaultNodes:n,defaultEdges:o,zIndexMode:p}),setNodes:e=>{let{nodeLookup:t,parentLookup:n,nodeOrigin:o,elevateNodesOnSelect:i,fitViewQueued:a,zIndexMode:l}=h(),s=(0,r.adoptUserNodes)(e,t,n,{nodeOrigin:o,nodeExtent:f,elevateNodesOnSelect:i,checkEquality:!0,zIndexMode:l});a&&s?(m(),g({nodes:e,nodesInitialized:s,fitViewQueued:!1,fitViewOptions:void 0})):g({nodes:e,nodesInitialized:s})},setEdges:e=>{let{connectionLookup:t,edgeLookup:n}=h();(0,r.updateConnectionLookup)(t,n,e),g({edges:e})},setDefaultNodesAndEdges:(e,t)=>{if(e){let{setNodes:t}=h();t(e),g({hasDefaultNodes:!0})}if(t){let{setEdges:e}=h();e(t),g({hasDefaultEdges:!0})}},updateNodeInternals:e=>{let{triggerNodeChanges:t,nodeLookup:n,parentLookup:o,domNode:i,nodeOrigin:a,nodeExtent:l,debug:s,fitViewQueued:d,zIndexMode:c}=h(),{changes:u,updatedInternals:f}=(0,r.updateNodeInternals)(e,n,o,i,a,l,c);f&&((0,r.updateAbsolutePositions)(n,o,{nodeOrigin:a,nodeExtent:l,zIndexMode:c}),d?(m(),g({fitViewQueued:!1,fitViewOptions:void 0})):g({}),u?.length>0&&(s&&console.log("React Flow: trigger node changes",u),t?.(u)))},updateNodePositions:(e,t=!1)=>{let n=[],o=[],{nodeLookup:i,triggerNodeChanges:a,connection:l,updateConnection:s,onNodesChangeMiddlewareMap:d}=h();for(let[a,d]of e){let e=i.get(a),c=!!(e?.expandParent&&e?.parentId&&d?.position),u={id:a,type:"position",position:c?{x:Math.max(0,d.position.x),y:Math.max(0,d.position.y)}:d.position,dragging:t};if(e&&l.inProgress&&l.fromNode.id===e.id){let t=(0,r.getHandlePosition)(e,l.fromHandle,r.Position.Left,!0);s({...l,from:t})}c&&e.parentId&&n.push({id:a,parentId:e.parentId,rect:{...d.internals.positionAbsolute,width:d.measured.width??0,height:d.measured.height??0}}),o.push(u)}if(n.length>0){let{parentLookup:e,nodeOrigin:t}=h(),a=(0,r.handleExpandParent)(n,i,e,t);o.push(...a)}for(let e of d.values())o=e(o);a(o)},triggerNodeChanges:e=>{let{onNodesChange:t,setNodes:n,nodes:o,hasDefaultNodes:i,debug:a}=h();e?.length&&(i&&n(K(e,o)),a&&console.log("React Flow: trigger node changes",e),t?.(e))},triggerEdgeChanges:e=>{let{onEdgesChange:t,setEdges:n,edges:o,hasDefaultEdges:i,debug:a}=h();e?.length&&(i&&n(K(e,o)),a&&console.log("React Flow: trigger edge changes",e),t?.(e))},addSelectedNodes:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:o,triggerNodeChanges:i,triggerEdgeChanges:a}=h();t?i(e.map(e=>Z(e,!0))):(i(Q(o,new Set([...e]),!0)),a(Q(n)))},addSelectedEdges:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:o,triggerNodeChanges:i,triggerEdgeChanges:a}=h();t?a(e.map(e=>Z(e,!0))):(a(Q(n,new Set([...e]))),i(Q(o,new Set,!0)))},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{let{edges:n,nodes:o,nodeLookup:i,triggerNodeChanges:a,triggerEdgeChanges:r}=h(),l=(e||o).map(e=>{let t=i.get(e.id);return t&&(t.selected=!1),Z(e.id,!1)}),s=(t||n).map(e=>Z(e.id,!1));a(l),r(s)},setMinZoom:e=>{let{panZoom:t,maxZoom:n}=h();t?.setScaleExtent([e,n]),g({minZoom:e})},setMaxZoom:e=>{let{panZoom:t,minZoom:n}=h();t?.setScaleExtent([n,e]),g({maxZoom:e})},setTranslateExtent:e=>{h().panZoom?.setTranslateExtent(e),g({translateExtent:e})},resetSelectedElements:()=>{let{edges:e,nodes:t,triggerNodeChanges:n,triggerEdgeChanges:o,elementsSelectable:i}=h();if(!i)return;let a=t.reduce((e,t)=>t.selected?[...e,Z(t.id,!1)]:e,[]),r=e.reduce((e,t)=>t.selected?[...e,Z(t.id,!1)]:e,[]);n(a),o(r)},setNodeExtent:e=>{let{nodes:t,nodeLookup:n,parentLookup:o,nodeOrigin:i,elevateNodesOnSelect:a,nodeExtent:l,zIndexMode:s}=h();(e[0][0]!==l[0][0]||e[0][1]!==l[0][1]||e[1][0]!==l[1][0]||e[1][1]!==l[1][1])&&((0,r.adoptUserNodes)(t,n,o,{nodeOrigin:i,nodeExtent:e,elevateNodesOnSelect:a,checkEquality:!1,zIndexMode:s}),g({nodeExtent:e}))},panBy:e=>{let{transform:t,width:n,height:o,panZoom:i,translateExtent:a}=h();return(0,r.panBy)({delta:e,panZoom:i,transform:t,translateExtent:a,width:n,height:o})},setCenter:async(e,t,n)=>{let{width:o,height:i,maxZoom:a,panZoom:r}=h();if(!r)return Promise.resolve(!1);let l=void 0!==n?.zoom?n.zoom:a;return await r.setViewport({x:o/2-e*l,y:i/2-t*l,zoom:l},{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{g({connection:{...r.initialConnection}})},updateConnection:e=>{g({connection:e})},reset:()=>g({...ty()})}},m=Object.is,h?g(h,m):g})({nodes:e,edges:t,defaultNodes:n,defaultEdges:a,width:l,height:s,fitView:f,minZoom:d,maxZoom:c,fitViewOptions:u,nodeOrigin:p,nodeExtent:h,zIndexMode:m}));return(0,o.jsx)(x,{value:b,children:(0,o.jsx)(ei,{children:y})})}function tw({children:e,nodes:t,edges:n,defaultNodes:a,defaultEdges:r,width:l,height:s,fitView:d,fitViewOptions:c,minZoom:u,maxZoom:f,nodeOrigin:p,nodeExtent:g,zIndexMode:h}){return(0,i.useContext)(m)?(0,o.jsx)(o.Fragment,{children:e}):(0,o.jsx)(tb,{initialNodes:t,initialEdges:n,defaultNodes:a,defaultEdges:r,initialWidth:l,initialHeight:s,fitView:d,initialFitViewOptions:c,initialMinZoom:u,initialMaxZoom:f,nodeOrigin:p,nodeExtent:g,zIndexMode:h,children:e})}let tv={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};var tC=ee(function({nodes:e,edges:t,defaultNodes:n,defaultEdges:l,className:s,nodeTypes:d,edgeTypes:c,onNodeClick:u,onEdgeClick:f,onInit:p,onMove:g,onMoveStart:h,onMoveEnd:m,onConnect:x,onConnectStart:y,onConnectEnd:b,onClickConnectStart:w,onClickConnectEnd:v,onNodeMouseEnter:C,onNodeMouseMove:S,onNodeMouseLeave:j,onNodeContextMenu:_,onNodeDoubleClick:E,onNodeDragStart:k,onNodeDrag:N,onNodeDragStop:L,onNodesDelete:D,onEdgesDelete:M,onDelete:O,onSelectionChange:P,onSelectionDragStart:F,onSelectionDrag:V,onSelectionDragStop:B,onSelectionContextMenu:G,onSelectionStart:U,onSelectionEnd:X,onBeforeDelete:W,connectionMode:K,connectionLineType:Z=r.ConnectionLineType.Bezier,connectionLineStyle:Q,connectionLineComponent:q,connectionLineContainerStyle:Y,deleteKeyCode:J="Backspace",selectionKeyCode:ee="Shift",selectionOnDrag:et=!1,selectionMode:en=r.SelectionMode.Full,panActivationKeyCode:eo="Space",multiSelectionKeyCode:ei=(0,r.isMacOs)()?"Meta":"Control",zoomActivationKeyCode:ea=(0,r.isMacOs)()?"Meta":"Control",snapToGrid:er,snapGrid:el,onlyRenderVisibleElements:es=!1,selectNodesOnDrag:ed,nodesDraggable:ec,autoPanOnNodeFocus:eu,nodesConnectable:ef,nodesFocusable:ep,nodeOrigin:eg=T,edgesFocusable:eh,edgesReconnectable:em,elementsSelectable:ex=!0,defaultViewport:ey=z,minZoom:eb=.5,maxZoom:ew=2,translateExtent:ev=r.infiniteExtent,preventScrolling:eC=!0,nodeExtent:eS,defaultMarkerColor:ej="#b1b1b7",zoomOnScroll:e_=!0,zoomOnPinch:eE=!0,panOnScroll:ek=!1,panOnScrollSpeed:eR=.5,panOnScrollMode:eN=r.PanOnScrollMode.Free,zoomOnDoubleClick:eI=!0,panOnDrag:eL=!0,onPaneClick:eD,onPaneMouseEnter:eM,onPaneMouseMove:eO,onPaneMouseLeave:eP,onPaneScroll:eA,onPaneContextMenu:eT,paneClickDistance:ez=1,nodeClickDistance:eF=0,children:eV,onReconnect:eB,onReconnectStart:e$,onReconnectEnd:eH,onEdgeContextMenu:eG,onEdgeDoubleClick:eU,onEdgeMouseEnter:eX,onEdgeMouseMove:eW,onEdgeMouseLeave:eK,reconnectRadius:eZ=10,onNodesChange:eQ,onEdgesChange:eq,noDragClassName:eY="nodrag",noWheelClassName:eJ="nowheel",noPanClassName:e0="nopan",fitView:e1,fitViewOptions:e2,connectOnClick:e3,attributionPosition:e5,proOptions:e4,defaultEdgeOptions:e6,elevateNodesOnSelect:e8=!0,elevateEdgesOnSelect:e7=!1,disableKeyboardA11y:e9=!1,autoPanOnConnect:te,autoPanOnNodeDrag:tt,autoPanSpeed:tn,connectionRadius:to,isValidConnection:ti,onError:ta,style:tr,id:tl,nodeDragThreshold:ts,connectionDragThreshold:td,viewport:tc,onViewportChange:tu,width:tf,height:tp,colorMode:tg="light",debug:th,onScroll:tm,ariaLabelConfig:ty,zIndexMode:tb="basic",...tC},tS){let tj=tl||"1",t_=function(e){let[t,n]=(0,i.useState)("system"===e?null:e);return(0,i.useEffect)(()=>{if("system"!==e)return void n(e);let t=H(),o=()=>n(t?.matches?"dark":"light");return o(),t?.addEventListener("change",o),()=>{t?.removeEventListener("change",o)}},[e]),null!==t?t:H()?.matches?"dark":"light"}(tg),tE=(0,i.useCallback)(e=>{e.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),tm?.(e)},[tm]);return(0,o.jsx)("div",{"data-testid":"rf__wrapper",...tC,onScroll:tE,style:{...tr,...tv},ref:tS,className:a(["react-flow",s,t_]),id:tl,role:"application",children:(0,o.jsxs)(tw,{nodes:e,edges:t,width:tf,height:tp,fitView:e1,fitViewOptions:e2,minZoom:eb,maxZoom:ew,nodeOrigin:eg,nodeExtent:eS,zIndexMode:tb,children:[(0,o.jsx)(tx,{onInit:p,onNodeClick:u,onEdgeClick:f,onNodeMouseEnter:C,onNodeMouseMove:S,onNodeMouseLeave:j,onNodeContextMenu:_,onNodeDoubleClick:E,nodeTypes:d,edgeTypes:c,connectionLineType:Z,connectionLineStyle:Q,connectionLineComponent:q,connectionLineContainerStyle:Y,selectionKeyCode:ee,selectionOnDrag:et,selectionMode:en,deleteKeyCode:J,multiSelectionKeyCode:ei,panActivationKeyCode:eo,zoomActivationKeyCode:ea,onlyRenderVisibleElements:es,defaultViewport:ey,translateExtent:ev,minZoom:eb,maxZoom:ew,preventScrolling:eC,zoomOnScroll:e_,zoomOnPinch:eE,zoomOnDoubleClick:eI,panOnScroll:ek,panOnScrollSpeed:eR,panOnScrollMode:eN,panOnDrag:eL,onPaneClick:eD,onPaneMouseEnter:eM,onPaneMouseMove:eO,onPaneMouseLeave:eP,onPaneScroll:eA,onPaneContextMenu:eT,paneClickDistance:ez,nodeClickDistance:eF,onSelectionContextMenu:G,onSelectionStart:U,onSelectionEnd:X,onReconnect:eB,onReconnectStart:e$,onReconnectEnd:eH,onEdgeContextMenu:eG,onEdgeDoubleClick:eU,onEdgeMouseEnter:eX,onEdgeMouseMove:eW,onEdgeMouseLeave:eK,reconnectRadius:eZ,defaultMarkerColor:ej,noDragClassName:eY,noWheelClassName:eJ,noPanClassName:e0,rfId:tj,disableKeyboardA11y:e9,nodeExtent:eS,viewport:tc,onViewportChange:tu}),(0,o.jsx)($,{nodes:e,edges:t,defaultNodes:n,defaultEdges:l,onConnect:x,onConnectStart:y,onConnectEnd:b,onClickConnectStart:w,onClickConnectEnd:v,nodesDraggable:ec,autoPanOnNodeFocus:eu,nodesConnectable:ef,nodesFocusable:ep,edgesFocusable:eh,edgesReconnectable:em,elementsSelectable:ex,elevateNodesOnSelect:e8,elevateEdgesOnSelect:e7,minZoom:eb,maxZoom:ew,nodeExtent:eS,onNodesChange:eQ,onEdgesChange:eq,snapToGrid:er,snapGrid:el,connectionMode:K,translateExtent:ev,connectOnClick:e3,defaultEdgeOptions:e6,fitView:e1,fitViewOptions:e2,onNodesDelete:D,onEdgesDelete:M,onDelete:O,onNodeDragStart:k,onNodeDrag:N,onNodeDragStop:L,onSelectionDrag:V,onSelectionDragStart:F,onSelectionDragStop:B,onMove:g,onMoveStart:h,onMoveEnd:m,noPanClassName:e0,nodeOrigin:eg,rfId:tj,autoPanOnConnect:te,autoPanOnNodeDrag:tt,autoPanSpeed:tn,onError:ta,connectionRadius:to,isValidConnection:ti,selectNodesOnDrag:ed,nodeDragThreshold:ts,connectionDragThreshold:td,onBeforeDelete:W,debug:th,ariaLabelConfig:ty,zIndexMode:tb}),(0,o.jsx)(A,{onSelectionChange:P}),eV,(0,o.jsx)(I,{proOptions:e4,position:e5}),(0,o.jsx)(R,{rfId:tj,disableKeyboardA11y:e9})]})})});function tS(e){let[t,n]=(0,i.useState)(e),o=(0,i.useCallback)(e=>n(t=>K(e,t)),[]);return[t,n,o]}function tj(e){let[t,n]=(0,i.useState)(e),o=(0,i.useCallback)(e=>n(t=>K(e,t)),[]);return[t,n,o]}function t_({dimensions:e,lineWidth:t,variant:n,className:i}){return(0,o.jsx)("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:a(["react-flow__background-pattern",n,i])})}function tE({radius:e,className:t}){return(0,o.jsx)("circle",{cx:e,cy:e,r:e,className:a(["react-flow__background-pattern","dots",t])})}r.errorMessages.error014(),(t=n||(n={})).Lines="lines",t.Dots="dots",t.Cross="cross";let tk={[n.Dots]:1,[n.Lines]:1,[n.Cross]:6},tR=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function tN({id:e,variant:t=n.Dots,gap:r=20,size:l,lineWidth:s=1,offset:d=0,color:c,bgColor:u,style:f,className:p,patternClassName:g}){let m=(0,i.useRef)(null),{transform:x,patternId:y}=b(tR,h),w=l||tk[t],v=t===n.Dots,C=t===n.Cross,S=Array.isArray(r)?r:[r,r],j=[S[0]*x[2]||1,S[1]*x[2]||1],_=w*x[2],E=Array.isArray(d)?d:[d,d],k=C?[_,_]:j,R=[E[0]*x[2]||1+k[0]/2,E[1]*x[2]||1+k[1]/2],N=`${y}${e||""}`;return(0,o.jsxs)("svg",{className:a(["react-flow__background",p]),style:{...f,...ed,"--xy-background-color-props":u,"--xy-background-pattern-color-props":c},ref:m,"data-testid":"rf__background",children:[(0,o.jsx)("pattern",{id:N,x:x[0]%j[0],y:x[1]%j[1],width:j[0],height:j[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${R[0]},-${R[1]})`,children:v?(0,o.jsx)(tE,{radius:_/2,className:g}):(0,o.jsx)(t_,{dimensions:k,lineWidth:s,variant:t,className:g})}),(0,o.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${N})`})]})}tN.displayName="Background";let tI=(0,i.memo)(tN);function tL(){return(0,o.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,o.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function tD(){return(0,o.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,o.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function tM(){return(0,o.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,o.jsx)("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function tO(){return(0,o.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,o.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function tP(){return(0,o.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,o.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function tA({children:e,className:t,...n}){return(0,o.jsx)("button",{type:"button",className:a(["react-flow__controls-button",t]),...n,children:e})}let tT=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function tz({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:i=!0,fitViewOptions:r,onZoomIn:l,onZoomOut:s,onFitView:d,onInteractiveChange:c,className:u,children:f,position:p="bottom-left",orientation:g="vertical","aria-label":m}){let x=w(),{isInteractive:y,minZoomReached:v,maxZoomReached:C,ariaLabelConfig:S}=b(tT,h),{zoomIn:j,zoomOut:_,fitView:E}=er();return(0,o.jsxs)(N,{className:a(["react-flow__controls","horizontal"===g?"horizontal":"vertical",u]),position:p,style:e,"data-testid":"rf__controls","aria-label":m??S["controls.ariaLabel"],children:[t&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(tA,{onClick:()=>{j(),l?.()},className:"react-flow__controls-zoomin",title:S["controls.zoomIn.ariaLabel"],"aria-label":S["controls.zoomIn.ariaLabel"],disabled:C,children:(0,o.jsx)(tL,{})}),(0,o.jsx)(tA,{onClick:()=>{_(),s?.()},className:"react-flow__controls-zoomout",title:S["controls.zoomOut.ariaLabel"],"aria-label":S["controls.zoomOut.ariaLabel"],disabled:v,children:(0,o.jsx)(tD,{})})]}),n&&(0,o.jsx)(tA,{className:"react-flow__controls-fitview",onClick:()=>{E(r),d?.()},title:S["controls.fitView.ariaLabel"],"aria-label":S["controls.fitView.ariaLabel"],children:(0,o.jsx)(tM,{})}),i&&(0,o.jsx)(tA,{className:"react-flow__controls-interactive",onClick:()=>{x.setState({nodesDraggable:!y,nodesConnectable:!y,elementsSelectable:!y}),c?.(!y)},title:S["controls.interactive.ariaLabel"],"aria-label":S["controls.interactive.ariaLabel"],children:y?(0,o.jsx)(tP,{}):(0,o.jsx)(tO,{})}),f]})}tz.displayName="Controls";let tF=(0,i.memo)(tz),tV=(0,i.memo)(function({id:e,x:t,y:n,width:i,height:r,style:l,color:s,strokeColor:d,strokeWidth:c,className:u,borderRadius:f,shapeRendering:p,selected:g,onClick:h}){let{background:m,backgroundColor:x}=l||{};return(0,o.jsx)("rect",{className:a(["react-flow__minimap-node",{selected:g},u]),x:t,y:n,rx:f,ry:f,width:i,height:r,style:{fill:s||m||x,stroke:d,strokeWidth:c},shapeRendering:p,onClick:h?t=>h(t,e):void 0})}),tB=e=>e.nodes.map(e=>e.id),t$=e=>e instanceof Function?e:()=>e,tH=(0,i.memo)(function({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:i,nodeBorderRadius:a,nodeStrokeWidth:l,shapeRendering:s,NodeComponent:d,onClick:c}){let{node:u,x:f,y:p,width:g,height:m}=b(t=>{let{internals:n}=t.nodeLookup.get(e),o=n.userNode,{x:i,y:a}=n.positionAbsolute,{width:l,height:s}=(0,r.getNodeDimensions)(o);return{node:o,x:i,y:a,width:l,height:s}},h);return u&&!u.hidden&&(0,r.nodeHasDimensions)(u)?(0,o.jsx)(d,{x:f,y:p,width:g,height:m,style:u.style,selected:!!u.selected,className:i(u),color:t(u),borderRadius:a,strokeColor:n(u),strokeWidth:l,shapeRendering:s,onClick:c,id:u.id}):null});var tG=(0,i.memo)(function({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:i=5,nodeStrokeWidth:a,nodeComponent:r=tV,onClick:l}){let s=b(tB,h),d=t$(t),c=t$(e),u=t$(n),f="undefined"==typeof window||window.chrome?"crispEdges":"geometricPrecision";return(0,o.jsx)(o.Fragment,{children:s.map(e=>(0,o.jsx)(tH,{id:e,nodeColorFunc:d,nodeStrokeColorFunc:c,nodeClassNameFunc:u,nodeBorderRadius:i,nodeStrokeWidth:a,NodeComponent:r,onClick:l,shapeRendering:f},e))})});let tU=e=>!e.hidden,tX=e=>{let t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?(0,r.getBoundsOfRects)((0,r.getInternalNodesBounds)(e.nodeLookup,{filter:tU}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}};function tW({style:e,className:t,nodeStrokeColor:n,nodeColor:l,nodeClassName:s="",nodeBorderRadius:d=5,nodeStrokeWidth:c,nodeComponent:u,bgColor:f,maskColor:p,maskStrokeColor:g,maskStrokeWidth:m,position:x="bottom-right",onClick:y,onNodeClick:v,pannable:C=!1,zoomable:S=!1,ariaLabel:j,inversePan:_,zoomStep:E=1,offsetScale:k=5}){let R=w(),I=(0,i.useRef)(null),{boundingRect:L,viewBB:D,rfId:M,panZoom:O,translateExtent:P,flowWidth:A,flowHeight:T,ariaLabelConfig:z}=b(tX,h),F=e?.width??200,V=e?.height??150,B=Math.max(L.width/F,L.height/V),$=B*F,H=B*V,G=k*B,U=L.x-($-L.width)/2-G,X=L.y-(H-L.height)/2-G,W=$+2*G,K=H+2*G,Z=`react-flow__minimap-desc-${M}`,Q=(0,i.useRef)(0),q=(0,i.useRef)();Q.current=B,(0,i.useEffect)(()=>{if(I.current&&O)return q.current=(0,r.XYMinimap)({domNode:I.current,panZoom:O,getTransform:()=>R.getState().transform,getViewScale:()=>Q.current}),()=>{q.current?.destroy()}},[O]),(0,i.useEffect)(()=>{q.current?.update({translateExtent:P,width:A,height:T,inversePan:_,pannable:C,zoomStep:E,zoomable:S})},[C,S,_,E,P,A,T]);let Y=y?e=>{let[t,n]=q.current?.pointer(e)||[0,0];y(e,{x:t,y:n})}:void 0,J=v?(0,i.useCallback)((e,t)=>{v(e,R.getState().nodeLookup.get(t).internals.userNode)},[]):void 0,ee=j??z["minimap.ariaLabel"];return(0,o.jsx)(N,{position:x,style:{...e,"--xy-minimap-background-color-props":"string"==typeof f?f:void 0,"--xy-minimap-mask-background-color-props":"string"==typeof p?p:void 0,"--xy-minimap-mask-stroke-color-props":"string"==typeof g?g:void 0,"--xy-minimap-mask-stroke-width-props":"number"==typeof m?m*B:void 0,"--xy-minimap-node-background-color-props":"string"==typeof l?l:void 0,"--xy-minimap-node-stroke-color-props":"string"==typeof n?n:void 0,"--xy-minimap-node-stroke-width-props":"number"==typeof c?c:void 0},className:a(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:(0,o.jsxs)("svg",{width:F,height:V,viewBox:`${U} ${X} ${W} ${K}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":Z,ref:I,onClick:Y,children:[ee&&(0,o.jsx)("title",{id:Z,children:ee}),(0,o.jsx)(tG,{onClick:J,nodeColor:l,nodeStrokeColor:n,nodeBorderRadius:d,nodeClassName:s,nodeStrokeWidth:c,nodeComponent:u}),(0,o.jsx)("path",{className:"react-flow__minimap-mask",d:`M${U-G},${X-G}h${W+2*G}v${K+2*G}h${-W-2*G}z
2
+ M${D.x},${D.y}h${D.width}v${D.height}h${-D.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}tW.displayName="MiniMap";let tK=(0,i.memo)(tW),tZ={[r.ResizeControlVariant.Line]:"right",[r.ResizeControlVariant.Handle]:"bottom-right"};(0,i.memo)(function({nodeId:e,position:t,variant:n=r.ResizeControlVariant.Handle,className:l,style:s,children:d,color:c,minWidth:u=10,minHeight:f=10,maxWidth:p=Number.MAX_VALUE,maxHeight:g=Number.MAX_VALUE,keepAspectRatio:m=!1,resizeDirection:x,autoScale:y=!0,shouldResize:v,onResizeStart:C,onResize:S,onResizeEnd:j}){let _,E=eC(),k="string"==typeof e?e:E,R=w(),N=(0,i.useRef)(null),I=n===r.ResizeControlVariant.Handle,L=b((0,i.useCallback)((_=I&&y,e=>_?`${Math.max(1/e.transform[2],1)}`:void 0),[I,y]),h),D=(0,i.useRef)(null),M=t??tZ[n];(0,i.useEffect)(()=>{if(N.current&&k)return D.current||(D.current=(0,r.XYResizer)({domNode:N.current,nodeId:k,getStoreItems:()=>{let{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:o,nodeOrigin:i,domNode:a}=R.getState();return{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:o,nodeOrigin:i,paneDomNode:a}},onChange:(e,t)=>{let{triggerNodeChanges:n,nodeLookup:o,parentLookup:i,nodeOrigin:a}=R.getState(),l=[],s={x:e.x,y:e.y},d=o.get(k);if(d&&d.expandParent&&d.parentId){let t=d.origin??a,n=e.width??d.measured.width??0,c=e.height??d.measured.height??0,u={id:d.id,parentId:d.parentId,rect:{width:n,height:c,...(0,r.evaluateAbsolutePosition)({x:e.x??d.position.x,y:e.y??d.position.y},{width:n,height:c},d.parentId,o,t)}},f=(0,r.handleExpandParent)([u],o,i,a);l.push(...f),s.x=e.x?Math.max(t[0]*n,e.x):void 0,s.y=e.y?Math.max(t[1]*c,e.y):void 0}if(void 0!==s.x&&void 0!==s.y){let e={id:k,type:"position",position:{...s}};l.push(e)}if(void 0!==e.width&&void 0!==e.height){let t={id:k,type:"dimensions",resizing:!0,setAttributes:!x||("horizontal"===x?"width":"height"),dimensions:{width:e.width,height:e.height}};l.push(t)}for(let e of t){let t={...e,type:"position"};l.push(t)}n(l)},onEnd:({width:e,height:t})=>{R.getState().triggerNodeChanges([{id:k,type:"dimensions",resizing:!1,dimensions:{width:e,height:t}}])}})),D.current.update({controlPosition:M,boundaries:{minWidth:u,minHeight:f,maxWidth:p,maxHeight:g},keepAspectRatio:m,resizeDirection:x,onResizeStart:C,onResize:S,onResizeEnd:j,shouldResize:v}),()=>{D.current?.destroy()}},[M,u,f,p,g,m,C,S,j,v]);let O=M.split("-");return(0,o.jsx)("div",{className:a(["react-flow__resize-control","nodrag",...O,n,l]),ref:N,style:{...s,scale:L,...c&&{[I?"backgroundColor":"borderColor"]:c}},children:d})}),e.s(["Background",()=>tI,"BaseEdge",()=>eG,"ControlButton",()=>tA,"Controls",()=>tF,"Handle",()=>ej,"MiniMap",()=>tK,"Panel",()=>N,"ReactFlow",()=>tC,"ReactFlowProvider",()=>tb,"useEdgesState",()=>tj,"useNodesState",()=>tS,"useReactFlow",()=>er,"useStore",()=>b],918132);var tQ=e.i(705443);async function tq(e){return(await tQ.axiosClient.post("/api/cll",e)).data}async function tY(e){return(await tQ.axiosClient.post("/api/checks",{type:"lineage_diff",params:{},view_options:e})).data}async function tJ(e){return(await tQ.axiosClient.post("/api/checks",{type:"schema_diff",params:e})).data}async function t0(e){return(await tQ.axiosClient.post("/api/select",e)).data}e.s(["getCll",()=>tq],953131),e.s(["createLineageDiffCheck",()=>tY],323194),e.s(["createSchemaDiffCheck",()=>tJ],987923),e.s(["select",()=>t0],2216);var t1=e.i(324066),t2=e.i(76130),t3=e.i(610985),t5=e.i(336277),t4=e.i(187726);function t6({onClose:e}){let{cancel:t,actionState:n}=(0,t4.useLineageViewContextSafe)();return(0,o.jsx)(t1.default,{sx:{bgcolor:"white",borderRadius:1,boxShadow:6},children:(0,o.jsxs)(t5.default,{direction:"row",divider:(0,o.jsx)(t3.default,{orientation:"vertical",flexItem:!0}),spacing:2,sx:{p:"5px 15px",mt:2},children:[(0,o.jsxs)(t1.default,{sx:{fontSize:"10pt"},children:["Progress: ","per_node"===n.mode?`${n.completed} / ${n.total}`:n.currentRun?.progress?.percentage?`${100*n.currentRun.progress.percentage}%`:"completed"===n.status?"100%":"0%"," ","canceled"===n.status?" (canceled)":""]}),"running"===n.status||"canceling"===n.status?(0,o.jsx)(t2.default,{size:"small",variant:"outlined",onClick:t,disabled:"canceling"===n.status,children:"canceling"===n.status?"Canceling":"Cancel"}):(0,o.jsx)(t5.default,{direction:"row",children:(0,o.jsx)(t2.default,{size:"small",variant:"outlined",onClick:e,children:"Close"})})]})})}e.s(["ActionControl",()=>t6],525519);var t8=e.i(197068),t7=e.i(569210),t9=e.i(65086),ne=e.i(224378),nt=e.i(960247);let nn=ne.VscDiffAdded,no=ne.VscDiffRemoved,ni=ne.VscDiffModified;function na(e){if("added"===e){let e=String((0,nt.token)("colors.green.solid")),t=String((0,nt.token)("colors.green.subtle"));return{color:e,hexColor:e,backgroundColor:t,hexBackgroundColor:t,icon:nn}}if("removed"===e){let e=String((0,nt.token)("colors.red.solid")),t=String((0,nt.token)("colors.red.subtle"));return{color:e,hexColor:e,backgroundColor:t,hexBackgroundColor:t,icon:no}}if("modified"===e){let e=String((0,nt.token)("colors.amber.emphasized")),t=String((0,nt.token)("colors.amber.subtle"));return{color:e,hexColor:e,backgroundColor:t,hexBackgroundColor:t,icon:ni}}let t=String((0,nt.token)("colors.gray.focusRing")),n="#ffffff";return{color:t,hexColor:t,backgroundColor:n,hexBackgroundColor:n,icon:void 0}}function nr(e){if("model"===e)return{color:String((0,nt.token)("colors.cyan.subtle")),icon:t7.FaCube};if("metric"===e)return{color:String((0,nt.token)("colors.rose.subtle")),icon:t9.FaChartSimple};if("source"===e)return{color:String((0,nt.token)("colors.green.muted")),icon:t7.FaDatabase};if("exposure"===e)return{color:String((0,nt.token)("colors.rose.subtle")),icon:t9.FaGauge};if("semantic_model"===e)return{color:String((0,nt.token)("colors.rose.focusRing")),icon:t9.FaCircleNodes};else if("seed"===e)return{color:String((0,nt.token)("colors.green.emphasized")),icon:t7.FaSeedling};else if("snapshot"===e)return{color:String((0,nt.token)("colors.green.emphasized")),icon:t7.FaCamera};else return{color:"inherit",icon:void 0}}function nl(){return(0,o.jsx)(t1.default,{sx:{bgcolor:"white",padding:"12px",border:"1px solid",borderColor:"grey.200",fontSize:"0.875rem"},children:Object.entries({added:["Added","Added resource"],removed:["Removed","Removed resource"],modified:["Modified","Modified resource"]}).map(([e,[t,n]])=>{let{icon:i,color:a}=na(e);return(0,o.jsx)(t8.default,{title:n,placement:"right",children:(0,o.jsxs)(t1.default,{sx:{display:"flex",alignItems:"center",gap:"6px",mb:"2px"},children:[i&&(0,o.jsx)(t1.default,{component:i,sx:{color:a}})," ",t]})},e)})})}e.s(["getIconForChangeStatus",()=>na,"getIconForResourceType",()=>nr],248859),e.s(["ChangeStatusLegend",()=>nl],88515);var ns=e.i(924011),nd=e.i(73371);e.i(939338),e.i(359143);var nc=e.i(427938),nu=e.i(388797),nf=e.i(916955),np=e.i(286568);let ng=()=>{let{lineageGraph:e}=(0,nf.useLineageGraphContext)(),{centerNode:t,viewOptions:n}=(0,t4.useLineageViewContextSafe)(),i=n.column_level_lineage;if(!e)return(0,o.jsx)(o.Fragment,{});if(!i)return"Default View";if(void 0===i.node_id)return(0,o.jsx)(nc.default,{component:"span",children:"Impact Radius for All Changed Models"});let a=i.node_id in e.nodes?e.nodes[i.node_id].data.name:i.node_id;if(i.column){let e=`${i.node_id}_${i.column}`;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(nc.default,{component:"span",sx:{mr:"5px"},children:["Column Lineage for"," "]}),(0,o.jsxs)(t1.default,{component:"code",onClick:()=>{t(e)},sx:{cursor:"pointer",fontFamily:"monospace",bgcolor:"grey.100",px:.5,borderRadius:.5},children:[a,".",i.column]})]})}{let e=i.node_id;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(nc.default,{component:"span",sx:{mr:"5px"},children:"Impact Radius for"}),(0,o.jsx)(t1.default,{component:"code",onClick:()=>{t(e)},sx:{cursor:"pointer",fontFamily:"monospace",bgcolor:"grey.100",px:.5,borderRadius:.5},children:a})]})}};e.s(["ColumnLevelLineageControl",0,({action:e})=>{let{showColumnLevelLineage:t,resetColumnLevelLineage:n,interactive:i,viewOptions:a}=(0,t4.useLineageViewContextSafe)(),{data:r}=(0,np.useRecceServerFlag)(),l=r?.single_env_onboarding??!1,{lineageGraph:s}=(0,nf.useLineageGraphContext)(),d=!s?.catalogMetadata.current;return(0,o.jsxs)(t5.default,{direction:"row",spacing:"5px",children:[!l&&(0,o.jsx)(t1.default,{sx:{borderRadius:1,boxShadow:3},children:(0,o.jsx)(t8.default,{enterDelay:50,title:d?"Please provide catalog.json to enable Impact Radius":"",placement:"top",children:(0,o.jsx)("span",{children:(0,o.jsx)(t2.default,{size:"small",variant:"outlined",sx:{borderColor:"neutral.light",whiteSpace:"nowrap",display:"inline-flex"},disabled:!i||d,startIcon:(0,o.jsx)(t7.FaRegDotCircle,{}),onClick:()=>{t({no_upstream:!0,change_analysis:!0})},children:"Impact Radius"})})})}),a.column_level_lineage&&(0,o.jsxs)(t5.default,{direction:"row",alignItems:"center",sx:{borderRadius:1,boxShadow:3,border:"1px solid",borderColor:"neutral.light",bgcolor:"white",fontSize:"0.8rem",p:"0 0.625rem"},children:[(0,o.jsx)(ng,{}),e.isError&&(0,o.jsx)(t8.default,{title:`Error: ${e.error.message}`,placement:"bottom",children:(0,o.jsx)(nc.default,{component:"span",sx:{color:"error.main",ml:"2px",display:"inline-flex",alignItems:"center"},children:(0,o.jsx)(t1.default,{component:nu.PiInfo,sx:{color:"error.main",fontSize:"14px"}})})}),e.isPending?(0,o.jsx)(ns.default,{size:12,sx:{ml:"2px"}}):(0,o.jsx)(nd.default,{size:"small",sx:{ml:"2px"},"aria-label":"Reset Column Level Lineage",onClick:()=>{n()},children:(0,o.jsx)(nu.PiX,{size:"10px"})})]})]})}],166598);var nh=e.i(325782),nm=e.i(523043);let nx=({changeStatus:e})=>{if(!e)return(0,o.jsx)(o.Fragment,{});let{color:t,icon:n}=na(e);return n?(0,o.jsx)(t1.default,{component:n,sx:{fontSize:14,display:"inline-flex",color:t}}):(0,o.jsx)(o.Fragment,{})},ny=({transformationType:e,legend:t})=>{let n="U",i="error";return("passthrough"===e?(n="P",i="default"):"renamed"===e?(n="R",i="warning"):"derived"===e?(n="D",i="warning"):"source"===e?(n="S",i="info"):(n="U",i="error"),e)?(0,o.jsx)(nh.default,{label:n,size:"small",color:i,sx:{fontSize:"8pt",height:18,minWidth:18,"& .MuiChip-label":{px:.5}}}):(0,o.jsx)(o.Fragment,{})};function nb(e){let{id:t,data:n}=e,{id:a}=n.node,{column:l,type:s,transformationType:d,changeStatus:c}=n,u=b(e=>e.transform[2]>.3),{viewOptions:f,showContextMenu:p,isNodeHighlighted:g,isNodeShowingChangeAnalysis:h}=(0,t4.useLineageViewContextSafe)(),m=f.column_level_lineage?.node_id,x=l===f.column_level_lineage?.column&&a===m,[y,w]=i.default.useState(!1),v=g(t),C=h(a);return u?(0,o.jsxs)(t1.default,{sx:{display:"flex",width:280,padding:"0px 10px",border:"1px solid gray",backgroundColor:x?"#f0f0f0":"inherit","&:hover":{backgroundColor:"#f0f0f0"},filter:v?"none":"opacity(0.2) grayscale(50%)",cursor:"pointer"},onMouseEnter:()=>{w(!0)},onMouseLeave:()=>{w(!1)},children:[(0,o.jsxs)(t1.default,{sx:{display:"flex",fontSize:"11px",color:"black",width:"100%",gap:"3px",alignItems:"center",height:`${nm.COLUMN_HEIGHT-1}px`},children:[C&&c?(0,o.jsx)(nx,{changeStatus:c}):(0,o.jsx)(ny,{transformationType:d}),(0,o.jsx)(t1.default,{sx:{height:`${nm.COLUMN_HEIGHT+1}px`},children:l}),(0,o.jsx)(t1.default,{sx:{flexGrow:1}}),y?(0,o.jsx)(t1.default,{component:ne.VscKebabVertical,sx:{fontSize:14,display:"inline-flex",cursor:"pointer","&:hover":{color:"black"}},onClick:t=>{t.preventDefault(),t.stopPropagation(),p(t,e)}}):(0,o.jsx)(t1.default,{sx:{height:`${nm.COLUMN_HEIGHT+1} px`},children:s})]}),(0,o.jsx)(ej,{type:"target",position:r.Position.Left,isConnectable:!1,style:{left:0,visibility:"hidden"}}),(0,o.jsx)(ej,{type:"source",position:r.Position.Right,isConnectable:!1,style:{right:0,visibility:"hidden"}})]}):(0,o.jsx)(o.Fragment,{})}function nw(){return(0,o.jsx)(t1.default,{sx:{bgcolor:"white",padding:"12px",border:"1px solid",borderColor:"grey.200",fontSize:"0.875rem"},children:Object.entries({passthrough:["Pass Through","The column is directly selected from the upstream table."],renamed:["Renamed","The column is selected from the upstream table but with a different name."],derived:["Derived","The column is created through transformations applied to upstream columns, such as calculations, conditions, functions, or aggregations."],source:["Source","The column is not derived from any upstream data. It may originate from a seed/source node, literal value, or data generation function."],unknown:["Unknown","We have no information about the transformation type. This could be due to a parse error, or other unknown reason."]}).map(([e,[t,n]])=>(0,o.jsx)(t8.default,{title:n,placement:"right",children:(0,o.jsxs)(t1.default,{sx:{display:"flex",alignItems:"center",gap:"6px",mb:"2px"},children:[(0,o.jsx)(ny,{legend:!0,transformationType:e})," ",t]})},e))})}function nv(e){let{source:t,target:n,sourceX:i,sourceY:a,targetX:l,targetY:s,sourcePosition:d,targetPosition:c,style:u={},markerEnd:f,data:p}=e,g={...u},{isEdgeHighlighted:h}=(0,t4.useLineageViewContextSafe)();p?.changeStatus&&(g.stroke=na(p.changeStatus).hexColor,g.strokeDasharray="5"),h(t,n)||(g.filter="opacity(0.2) grayscale(50%)");let[m]=(0,r.getBezierPath)({sourceX:i,sourceY:a,sourcePosition:d,targetX:l,targetY:s,targetPosition:c});return(0,o.jsx)(o.Fragment,{children:(0,o.jsx)(eG,{path:m,markerEnd:f,style:{...g,...u}})})}e.s(["GraphColumnNode",()=>nb,"TransformationType",0,ny],904451),e.s(["ColumnLevelLineageLegend",()=>nw],632951),e.s(["default",()=>nv],676502);var nC=e.i(652058),nS=e.i(372230);function nj(e,t){if(!e||!t)return;let n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!0;for(let e=0;e<n.length;e++)if(n[e]!==o[e])return!0;for(let n of o)if(!e[n]||e[n].type!==t[n]?.type)return!0;return!1}e.s(["isSchemaChanged",()=>nj],163669);var n_=e.i(862754),nE=e.i(7284),nk=e.i(778024),nR=e.i(51071),nN=e.i(446547),nI=e.i(73205),nL=e.i(519273),nD=e.i(435983),nM=e.i(446519);function nO(e){return(0,nM.default)("MuiSkeleton",e)}(0,nD.default)("MuiSkeleton",["root","text","rectangular","rounded","circular","pulse","wave","withChildren","fitContent","heightAuto"]);let nP=nR.keyframes`
3
+ 0% {
4
+ opacity: 1;
5
+ }
6
+
7
+ 50% {
8
+ opacity: 0.4;
9
+ }
10
+
11
+ 100% {
12
+ opacity: 1;
13
+ }
14
+ `,nA=nR.keyframes`
15
+ 0% {
16
+ transform: translateX(-100%);
17
+ }
18
+
19
+ 50% {
20
+ /* +0.5s of delay between each loop */
21
+ transform: translateX(100%);
22
+ }
23
+
24
+ 100% {
25
+ transform: translateX(100%);
26
+ }
27
+ `,nT="string"!=typeof nP?nR.css`
28
+ animation: ${nP} 2s ease-in-out 0.5s infinite;
29
+ `:null,nz="string"!=typeof nA?nR.css`
30
+ &::after {
31
+ animation: ${nA} 2s linear 0.5s infinite;
32
+ }
33
+ `:null,nF=(0,nN.styled)("span",{name:"MuiSkeleton",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[n.variant],!1!==n.animation&&t[n.animation],n.hasChildren&&t.withChildren,n.hasChildren&&!n.width&&t.fitContent,n.hasChildren&&!n.height&&t.heightAuto]}})((0,nI.default)(({theme:e})=>{let t=String(e.shape.borderRadius).match(/[\d.\-+]*\s*(.*)/)[1]||"px",n=parseFloat(e.shape.borderRadius);return{display:"block",backgroundColor:e.vars?e.vars.palette.Skeleton.bg:e.alpha(e.palette.text.primary,"light"===e.palette.mode?.11:.13),height:"1.2em",variants:[{props:{variant:"text"},style:{marginTop:0,marginBottom:0,height:"auto",transformOrigin:"0 55%",transform:"scale(1, 0.60)",borderRadius:`${n}${t}/${Math.round(n/.6*10)/10}${t}`,"&:empty:before":{content:'"\\00a0"'}}},{props:{variant:"circular"},style:{borderRadius:"50%"}},{props:{variant:"rounded"},style:{borderRadius:(e.vars||e).shape.borderRadius}},{props:({ownerState:e})=>e.hasChildren,style:{"& > *":{visibility:"hidden"}}},{props:({ownerState:e})=>e.hasChildren&&!e.width,style:{maxWidth:"fit-content"}},{props:({ownerState:e})=>e.hasChildren&&!e.height,style:{height:"auto"}},{props:{animation:"pulse"},style:nT||{animation:`${nP} 2s ease-in-out 0.5s infinite`}},{props:{animation:"wave"},style:{position:"relative",overflow:"hidden",WebkitMaskImage:"-webkit-radial-gradient(white, black)","&::after":{background:`linear-gradient(
34
+ 90deg,
35
+ transparent,
36
+ ${(e.vars||e).palette.action.hover},
37
+ transparent
38
+ )`,content:'""',position:"absolute",transform:"translateX(-100%)",bottom:0,left:0,right:0,top:0}}},{props:{animation:"wave"},style:nz||{"&::after":{animation:`${nA} 2s linear 0.5s infinite`}}}]}})),nV=i.forwardRef(function(e,t){let n=(0,nL.useDefaultProps)({props:e,name:"MuiSkeleton"}),{animation:i="pulse",className:a,component:r="span",height:l,style:s,variant:d="text",width:c,...u}=n,f={...n,animation:i,component:r,variant:d,hasChildren:!!u.children},p=(e=>{let{classes:t,variant:n,animation:o,hasChildren:i,width:a,height:r}=e;return(0,nk.default)({root:["root",n,o,i&&"withChildren",i&&!a&&"fitContent",i&&!r&&"heightAuto"]},nO,t)})(f);return(0,o.jsx)(nF,{as:r,ref:t,className:(0,nE.default)(p.root,a),ownerState:f,...u,style:{width:c,height:l,...s}})});var nB=e.i(84723),n$=e.i(42409),nH=e.i(913369),nG=e.i(912007);let nU={display:"inline-flex",alignItems:"center",borderRadius:16,px:1,py:.25,fontSize:"0.75rem",bgcolor:"grey.100"},nX={mr:.5,display:"flex",alignItems:"center"};function nW({node:e}){let{icon:t}=nr(e.data.resourceType);return(0,o.jsx)(t8.default,{arrow:!0,title:"Type of resource",children:(0,o.jsxs)(t1.default,{component:"span",sx:nU,children:[t&&(0,o.jsx)(t1.default,{component:"span",sx:nX,children:(0,o.jsx)(t,{})}),e.data.resourceType]})})}function nK({rowCount:e}){let t=e.base,n=e.curr,i=null===e.base?"N/A":`${e.base} rows`,a=null===e.curr?"N/A":`${e.curr} rows`;return null===t&&null===n?(0,o.jsx)(o.Fragment,{children:" Failed to load"}):null===t||null===n?(0,o.jsxs)(t5.default,{direction:"row",alignItems:"center",spacing:.5,children:[(0,o.jsx)(nc.default,{variant:"body2",component:"span",children:i}),(0,o.jsx)(nB.FiArrowRight,{}),(0,o.jsx)(nc.default,{variant:"body2",component:"span",children:a})]}):t===n?(0,o.jsxs)(t5.default,{direction:"row",alignItems:"center",spacing:.5,children:[(0,o.jsx)(nc.default,{variant:"body2",component:"span",children:a}),(0,o.jsx)(t1.default,{component:"span",sx:{color:"grey.500",display:"flex"},children:(0,o.jsx)(n$.RiSwapLine,{})}),(0,o.jsx)(nc.default,{variant:"body2",component:"span",sx:{color:"grey.500"},children:"No Change"})]}):t<n?(0,o.jsxs)(t5.default,{direction:"row",alignItems:"center",spacing:.5,children:[(0,o.jsx)(nc.default,{variant:"body2",component:"span",children:a}),(0,o.jsx)(t1.default,{component:"span",sx:{color:"success.main",display:"flex"},children:(0,o.jsx)(n$.RiArrowUpSFill,{})}),(0,o.jsx)(nc.default,{variant:"body2",component:"span",sx:{color:"success.main"},children:(0,nC.deltaPercentageString)(t,n)})]}):(0,o.jsxs)(t5.default,{direction:"row",alignItems:"center",spacing:.5,children:[(0,o.jsx)(nc.default,{variant:"body2",component:"span",children:a}),(0,o.jsx)(t1.default,{component:"span",sx:{color:"error.main",display:"flex"},children:(0,o.jsx)(n$.RiArrowDownSFill,{})}),(0,o.jsx)(nc.default,{variant:"body2",component:"span",sx:{color:"error.main"},children:(0,nC.deltaPercentageString)(t,n)})]})}function nZ({rowCount:e,node:t,onRefresh:n,isFetching:i}){let{featureToggles:a}=(0,nG.useRecceInstanceContext)(),{runsAggregated:r}=(0,nf.useLineageGraphContext)(),l=r?.[t.id]?.row_count_diff.result,s=(0,nS.findByRunType)("row_count_diff").icon,d=e??l,c=d?`${d.base??"N/A"} -> ${d.curr??"N/A"} rows`:"";return(0,o.jsx)(t8.default,{title:c,children:(0,o.jsx)(nH.default,{display:"metadata only"===a.mode,children:(0,o.jsxs)(t1.default,{component:"span",sx:{...nU,gap:.5},children:[(0,o.jsx)(s,{}),null!=d||i?i?(0,o.jsx)(nV,{width:30,height:16}):null!=d?(0,o.jsx)(nK,{rowCount:d}):(0,o.jsx)(nc.default,{variant:"caption",children:"row count"}):(0,o.jsx)(nc.default,{variant:"caption",children:"row count"}),n&&(0,o.jsx)(nd.default,{"aria-label":"Query Row Count",size:"small",onClick:n,disabled:a.disableDatabaseQuery,sx:{p:0,ml:.5},children:(0,o.jsx)(nu.PiRepeat,{size:12})})]})})})}function nQ({rowCount:e,node:t,onRefresh:n,isFetching:i}){let a,{runsAggregated:r}=(0,nf.useLineageGraphContext)(),l=r?.[t.id]?.row_count.result,s=(0,nS.findByRunType)("row_count").icon,d=e??l;if(d){let e=d.curr??"N/A";a=`${e} rows`}return(0,o.jsxs)(t1.default,{component:"span",sx:nU,children:[(0,o.jsx)(t1.default,{component:"span",sx:nX,children:(0,o.jsx)(s,{})}),d||i?i?(0,o.jsx)(nV,{width:30,height:16}):(0,o.jsx)(nc.default,{variant:"caption",children:a}):(0,o.jsx)(nc.default,{variant:"caption",children:"row count"}),n&&(0,o.jsx)(nd.default,{"aria-label":"Query Row Count",size:"small",onClick:n,disabled:"base"===t.data.from,sx:{p:0,ml:.5},children:(0,o.jsx)(nu.PiRepeat,{size:12})})]})}e.s(["ResourceTypeTag",()=>nW,"RowCountDiffTag",()=>nZ,"RowCountTag",()=>nQ],636819);let nq=({node:e,action:t})=>{let{status:n,skipReason:i,run:a}=t;if("pending"===n)return(0,o.jsx)(ns.default,{size:16});if("skipped"===n)return(0,o.jsx)(nh.default,{size:"small",label:(0,o.jsxs)(t5.default,{direction:"row",sx:{fontSize:"10pt",color:"grey.500",alignItems:"center",gap:"3px"},children:[(0,o.jsx)(t1.default,{children:"Skipped"}),i&&(0,o.jsx)(t8.default,{title:i,children:(0,o.jsx)(t1.default,{component:"span",sx:{display:"flex"},children:(0,o.jsx)(nu.PiInfo,{})})})]}),sx:{bgcolor:"grey.100"}});if(!a)return(0,o.jsx)(ns.default,{size:16});let{error:r,run_id:l,progress:s}=a;if("running"===n)if(s?.percentage===void 0)return(0,o.jsx)(ns.default,{size:16});else return(0,o.jsx)(ns.default,{variant:"determinate",value:100*s.percentage,size:16});if(r)return(0,o.jsxs)(t5.default,{direction:"row",sx:{fontSize:"10pt",color:"gray",alignItems:"center"},children:[(0,o.jsx)(t1.default,{children:"Error"}),i&&(0,o.jsx)(t8.default,{title:r,children:(0,o.jsx)(t1.default,{component:"span",sx:{display:"flex"},children:(0,o.jsx)(nu.PiWarning,{})})})]});if((0,n_.isValueDiffRun)(a)&&a.result){let e=a.result,t=0;for(let n of e.data.data)n[2]<1&&t++;return(0,o.jsx)(nh.default,{size:"small",sx:{bgcolor:t>0?"error.light":"success.light"},label:(0,o.jsx)(t5.default,{direction:"row",sx:{fontSize:"10pt",color:t>0?"error.main":"success.main",alignItems:"center",gap:"3px"},children:t>0?`${t} columns mismatched`:"All columns match"})})}if((0,n_.isRowCountDiffRun)(a)&&a.result){let t=a.result;return(0,o.jsx)(nZ,{rowCount:t[e.data.name],node:e})}if((0,n_.isRowCountRun)(a)&&a.result){let t=a.result;return(0,o.jsx)(nQ,{rowCount:t[e.data.name],node:e})}return(0,o.jsx)(o.Fragment,{children:l})};function nY({rowCount:e}){let t,n=e.base,i=e.curr,a=null===e.base?"N/A":`${e.base} Rows`,r=null===e.curr?"N/A":`${e.curr} Rows`,l="default";null===n&&null===i?(t="Failed to load",l="default"):null===n||null===i?(t=`${a} -> ${r}`,l=null===n?"success":"error"):n===i?(t="=",l="default"):n!==i&&(t=`${(0,nC.deltaPercentageString)(n,i)} Rows`,l=n<i?"success":"error");let s=(0,nS.findByRunType)("row_count_diff").icon;return(0,o.jsx)(nh.default,{size:"small",color:l,icon:s?(0,o.jsx)(s,{}):void 0,label:t,sx:{height:20,fontSize:"0.7rem"}})}let nJ={breaking:"Breaking",non_breaking:"Non Breaking",partial_breaking:"Partial Breaking",unknown:"Unknown"},n0=({id:e,inverted:t})=>{let n,i,{lineageGraph:a,runsAggregated:r}=(0,nf.useLineageGraphContext)(),l=r?.[e],s=a?.nodes[e];if(!l&&!s)return(0,o.jsx)(o.Fragment,{});if(s?.data.data.base&&s.data.data.current&&(n=nj(s.data.data.base.columns,s.data.data.current.columns)),l?.row_count_diff){let e=l.row_count_diff.result;i=e.curr!==e.base}let d=t?"white":na("modified").color,c=(0,nS.findByRunType)("schema_diff").icon;return(0,o.jsxs)(t1.default,{sx:{display:"flex",flex:1,alignItems:"center"},children:[void 0!==n&&(0,o.jsx)(t8.default,{title:`Schema (${n?"changed":"no change"})`,enterDelay:500,children:(0,o.jsx)(t1.default,{sx:{height:16},children:c&&(0,o.jsx)(t1.default,{component:c,sx:{color:n?d:t?"gray":"gray.100"}})})}),(0,o.jsx)(t1.default,{sx:{flexGrow:1}}),l?.row_count_diff&&void 0!==i&&(0,o.jsx)(t8.default,{title:`Row count (${i?"changed":"="})`,enterDelay:500,children:(0,o.jsx)(t1.default,{children:(0,o.jsx)(nY,{rowCount:l.row_count_diff.result})})})]})},n1=({checked:e,onClick:t})=>(0,o.jsx)(t1.default,{onClick:t,sx:{alignSelf:"center",display:"flex",alignItems:"center",cursor:"pointer"},children:e?(0,o.jsx)(t1.default,{component:t7.FaCheckSquare,sx:{fontSize:20}}):(0,o.jsx)(t1.default,{component:t7.FaRegSquare,sx:{fontSize:20}})}),n2=({name:e,color:t,resourceType:n})=>(0,o.jsx)(t1.default,{sx:{flex:1,color:t,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(0,o.jsx)(t8.default,{title:"model"===n?e:`${e} (${n})`,placement:"top",children:(0,o.jsx)("span",{children:e})})});function n3(e){let{data:t}=e,{id:n,resourceType:a,changeStatus:l}=t,s=b(e=>e.transform[2]>.3),{icon:d}=nr(a),[c,u]=(0,i.useState)(!1),{interactive:f,selectNode:p,selectMode:g,focusedNode:h,getNodeAction:m,getNodeColumnSet:x,isNodeHighlighted:y,isNodeSelected:w,isNodeShowingChangeAnalysis:v,showContextMenu:C,viewOptions:S,cll:j,showColumnLevelLineage:_}=(0,t4.useLineageViewContextSafe)(),E=j?.current.nodes[n]?.change_category,k=y(n),R=w(n),N=S.column_level_lineage?.node_id===n&&void 0===S.column_level_lineage.column,I=h?.id===n||N,L=v(n),{icon:D,color:M,backgroundColor:O}=l?na(l):{icon:void 0,color:String((0,nt.token)("colors.gray.400")),backgroundColor:String((0,nt.token)("colors.gray.100"))},P=t.name,A=x(t.id),T=A.size>0,z="action_result"===g?m(t.id):void 0,F=s?"selecting"===g?R?M:"white":"action_result"!==g?I||R||c?O:"white":z?I||R||c?O:M:"white":I||R||c?M:O,V="selecting"===g?R?"white":"inherit":"action_result"===g&&z&&!R?"white":"inherit",B="selecting"===g?R?"white":"inherit":"action_result"===g&&z&&!R?"white":"inherit",$="selecting"===g?R?"white":M:"action_result"===g?z&&!R?"white":"inherit":M;return(0,o.jsxs)(t1.default,{sx:{display:"flex",flexDirection:"column",width:300,cursor:"selecting"===g?"pointer":"inherit",transition:"box-shadow 0.2s ease-in-out",padding:0,filter:"action_result"===g?z?"none":"opacity(0.2) grayscale(50%)":k||I||R||c?"none":"opacity(0.2) grayscale(50%)"},onMouseEnter:()=>{u(!0)},onMouseLeave:()=>{u(!1)},children:[(0,o.jsxs)(t1.default,{sx:{display:"flex",borderColor:M,borderWidth:"2px",borderStyle:"solid",borderTopLeftRadius:8,borderTopRightRadius:8,borderBottomLeftRadius:8*!T,borderBottomRightRadius:8*!T,backgroundColor:F,height:60},children:[(0,o.jsx)(t1.default,{sx:{display:"flex",bgcolor:M,padding:f?"8px":"2px",borderRightWidth:"2px",borderRightStyle:"solid",borderColor:"selecting"===g?"#00000020":M,alignItems:"top",visibility:s?"inherit":"hidden"},children:f&&(0,o.jsx)(n1,{checked:"selecting"===g&&R||"action_result"===g&&!!z,onClick:e=>{"action_result"!==g&&(e.stopPropagation(),p(t.id))}})}),(0,o.jsxs)(t1.default,{sx:{display:"flex",flex:"1 0 auto",mx:.5,width:100,flexDirection:"column"},children:[(0,o.jsxs)(t1.default,{sx:{display:"flex",width:"100%",textAlign:"left",fontWeight:600,flex:1,p:.5,gap:"5px",alignItems:"center",visibility:s?"inherit":"hidden"},children:[(0,o.jsx)(n2,{name:P,color:V,resourceType:a}),c?(0,o.jsxs)(o.Fragment,{children:["modified"===l&&(0,o.jsx)(t8.default,{title:"Show Impact Radius",placement:"top",enterDelay:500,children:(0,o.jsx)(t1.default,{sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:(0,o.jsx)(t1.default,{component:t7.FaRegDotCircle,sx:{fontSize:14,color:"gray",cursor:"pointer","&:hover":{color:"black"}},onClick:e=>{e.preventDefault(),e.stopPropagation(),_({node_id:n,change_analysis:!0,no_upstream:!0})}})})}),(0,o.jsx)(t1.default,{component:ne.VscKebabVertical,sx:{color:"gray",cursor:"pointer","&:hover":{color:"black"}},onClick:t=>{t.preventDefault(),t.stopPropagation(),C(t,e)}})]}):(0,o.jsxs)(o.Fragment,{children:[d&&(0,o.jsx)(t1.default,{component:d,sx:{fontSize:16,color:B}}),l&&D&&(0,o.jsx)(t1.default,{component:D,sx:{color:$}})]})]}),(0,o.jsx)(t1.default,{sx:{display:"flex",flex:"1 0 auto",mx:.5,flexDirection:"column",paddingBottom:.5,visibility:s?"inherit":"hidden"},children:(0,o.jsx)(t5.default,{direction:"row",spacing:1,children:z?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t1.default,{sx:{flexGrow:1}}),(0,o.jsx)(nq,{node:t,action:z})]}):L?(0,o.jsx)(t1.default,{sx:{height:20,color:"gray",fontSize:"9pt",margin:0,fontWeight:600},children:E?nJ[E]:""}):"action_result"!==g&&"model"===t.resourceType?(0,o.jsx)(n0,{id:t.id,inverted:"selecting"===g&&R}):(0,o.jsx)(o.Fragment,{})})})]})]}),T&&(0,o.jsx)(t1.default,{sx:{p:"10px 10px",borderColor:M,borderWidth:"2px",borderStyle:"solid",borderTopWidth:0,borderBottomLeftRadius:8,borderBottomRightRadius:8},children:(0,o.jsx)(t1.default,{sx:{height:`${A.size*nm.COLUMN_HEIGHT}px`,overflow:"auto"}})}),Object.keys(t.parents).length>0&&(0,o.jsx)(ej,{type:"target",position:r.Position.Left,isConnectable:!1}),Object.keys(t.children).length>0&&(0,o.jsx)(ej,{type:"source",position:r.Position.Right,isConnectable:!1})]})}e.s(["GraphNode",()=>n3],592355);var n5=e.i(135301),n4=e.i(263712),n6=e.i(955343);function n8(e){return(0,n6.GenIcon)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M6 18h12v2H6zm6-14.414-6.707 6.707 1.414 1.414L11 7.414V16h2V7.414l4.293 4.293 1.414-1.414z"},child:[]}]})(e)}function n7(e){return(0,n6.GenIcon)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M6 18h12v2H6zm5-14v8.586L6.707 8.293 5.293 9.707 12 16.414l6.707-6.707-1.414-1.414L13 12.586V4z"},child:[]}]})(e)}var n9=e.i(203158),oe=e.i(675155);function ot(e,t){let n=(0,oe.mergeKeys)(e,t);if(0===n.length)return[];if(0===e.length||0===t.length)return n.map((e,t)=>t===n.length-1?e:e+",");let o="";return n.forEach(n=>{e.includes(n)&&t.includes(n)&&(o=n)}),n.map((i,a)=>{let r;return(r=e.includes(i)?t.includes(i)?i:`--- ${i} (Removed)`:`--- ${i} (Added)`,i===o||a===n.length-1)?r:r+","})}e.s(["formatSelectColumns",()=>ot],832421);var on=e.i(29134),oo=e.i(475119),oi=e.i(505251),oa=e.i(400905),or=e.i(645364);let ol=({menuItems:e,open:t,onClose:n,x:i,y:a})=>{let{featureToggles:r}=(0,nG.useRecceInstanceContext)();return(0,o.jsx)(n5.default,{open:t,onClose:n,anchorReference:"anchorPosition",anchorPosition:{top:a,left:i},slotProps:{paper:{sx:{fontSize:"0.85rem",width:"250px"}}},children:0===e.length?(0,o.jsx)(n4.default,{disabled:!0,children:"No action available"},"no action"):e.map(({isSeparator:e,label:t,isDisabled:i,action:a,itemIcon:l})=>{if(e)return(0,o.jsx)(t3.default,{},t);{let e=(0,o.jsxs)(n4.default,{disabled:i,onClick:()=>{a&&a(),n()},children:[l," ",t]},t);return i?(0,o.jsx)(nH.default,{display:"metadata only"===r.mode,children:e},t):e}})})},os=({isOpen:e,onClose:t,x:n,y:i,node:a})=>{let r=[],{selectParentNodes:l,selectChildNodes:s,getNodeColumnSet:d,selectMode:c,cll:u,showColumnLevelLineage:f}=(0,t4.useLineageViewContextSafe)(),{runAction:p}=(0,on.useRecceActionContext)(),{featureToggles:g}=(0,nG.useRecceInstanceContext)(),{isActionAvailable:h}=(0,nf.useLineageGraphContext)(),{data:m}=(0,np.useRecceServerFlag)(),{lineageGraph:x}=(0,nf.useLineageGraphContext)(),y=!x?.catalogMetadata.current,b=m?.single_env_onboarding??!1,w=g.disableDatabaseQuery,{primaryKey:v}=(0,oa.default)(a?.data?.data.name),{setSqlQuery:C,setPrimaryKeys:S}=(0,oo.useRecceQueryContext)(),[,j]=(0,oi.useAppLocation)();if(!a?.data)return(0,o.jsx)(o.Fragment,{});let _=a.data,E=_.resourceType,k=Array.from(d(a.id)),R={source:"lineage_model_node"};if("modified"===_.changeStatus&&r.push({label:"Show Impact Radius",itemIcon:(0,o.jsx)(t7.FaRegDotCircle,{}),isDisabled:y,action:()=>{f({node_id:a.id,change_analysis:!0,no_upstream:!0})}}),!c&&E&&["model","seed","snapshot"].includes(E)){r.length>0&&r.push({label:"select group one",isSeparator:!0});let e=(0,nS.findByRunType)(b?"query":"query_diff"),t=ot(Object.keys(_.data.base?.columns??{}),Object.keys(_.data.current?.columns??{})),n=`select * from {{ ref("${_.name}") }}`;if(t.length&&(n=`select
39
+ ${t.join("\n ")}
40
+ from {{ ref("${_.name}") }}`),r.push({label:"Query",itemIcon:(0,o.jsx)(t1.default,{component:e.icon,sx:{display:"inline-flex"}}),isDisabled:w,action:()=>{C(n),h("query_diff_with_primary_key")&&S(void 0!==v?[v]:void 0),j("/query")}}),k.length>0)if(void 0!==u){let t=new Set;v&&t.add(v),k.forEach(e=>{t.add(e)}),r.push({label:"Query Related Columns",itemIcon:(0,o.jsx)(t1.default,{component:e.icon,sx:{display:"inline-flex"}}),isDisabled:w,action:()=>{C(`select
41
+ ${Array.from(t).join(",\n ")}
42
+ from {{ ref("${_.name}") }}`),h("query_diff_with_primary_key")&&S(void 0!==v?[v]:void 0),j("/query")}})}else{let t=Object.entries(_.change?.columns??{}).filter(([,e])=>"modified"===e).map(([e])=>e);if(t.length>0){let n=new Set;v&&n.add(v),t.forEach(e=>{n.add(e)}),r.push({label:"Query Modified Columns",itemIcon:(0,o.jsx)(t1.default,{component:e.icon,sx:{display:"inline-flex"}}),isDisabled:w,action:()=>{C(`select
43
+ ${Array.from(n).join(",\n ")}
44
+ from {{ ref("${_.name}") }}`),h("query_diff_with_primary_key")&&S(void 0!==v?[v]:void 0),j("/query")}})}}let i=(0,nS.findByRunType)(b?"row_count":"row_count_diff");r.push({label:i.title,itemIcon:(0,o.jsx)(t1.default,{component:i.icon,sx:{display:"inline-flex"}}),isDisabled:w,action:()=>{(0,n9.trackExploreAction)({action:b?n9.EXPLORE_ACTION.ROW_COUNT:n9.EXPLORE_ACTION.ROW_COUNT_DIFF,source:n9.EXPLORE_SOURCE.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),p(b?"row_count":"row_count_diff",{node_names:[_.name]},{showForm:!1,trackProps:R})}});let l=(0,nS.findByRunType)(b?"profile":"profile_diff");if(r.push({label:l.title,itemIcon:(0,o.jsx)(t1.default,{component:l.icon,sx:{display:"inline-flex"}}),isDisabled:w,action:()=>{let e=Array.from(d(a.id));(0,n9.trackExploreAction)({action:b?n9.EXPLORE_ACTION.PROFILE:n9.EXPLORE_ACTION.PROFILE_DIFF,source:n9.EXPLORE_SOURCE.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),p(b?"profile":"profile_diff",{model:_.name,columns:e},{showForm:!0,trackProps:R})}}),!b){let e=(0,nS.findByRunType)("value_diff");r.push({label:e.title,itemIcon:(0,o.jsx)(t1.default,{component:e.icon,sx:{display:"inline-flex"}}),isDisabled:w,action:()=>{let e=Array.from(d(a.id));(0,n9.trackExploreAction)({action:n9.EXPLORE_ACTION.VALUE_DIFF,source:n9.EXPLORE_SOURCE.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),p("value_diff",{model:_.name,columns:e},{showForm:!0,trackProps:R})}})}}return b||(r.length>0&&r.push({label:"select group two",isSeparator:!0}),r.push({label:"Select Parent Nodes",itemIcon:(0,o.jsx)(n8,{}),action:()=>{(0,n9.trackLineageSelection)({action:n9.LINEAGE_SELECTION_ACTION.SELECT_PARENT_NODES}),l(a.id,1)}}),r.push({label:"Select Child Nodes",itemIcon:(0,o.jsx)(n7,{}),action:()=>{(0,n9.trackLineageSelection)({action:n9.LINEAGE_SELECTION_ACTION.SELECT_CHILD_NODES}),s(a.id,1)}}),r.push({label:"Select All Upstream Nodes",itemIcon:(0,o.jsx)(n8,{}),action:()=>{(0,n9.trackLineageSelection)({action:n9.LINEAGE_SELECTION_ACTION.SELECT_ALL_UPSTREAM}),l(a.id)}}),r.push({label:"Select All Downstream Nodes",itemIcon:(0,o.jsx)(n7,{}),action:()=>{(0,n9.trackLineageSelection)({action:n9.LINEAGE_SELECTION_ACTION.SELECT_ALL_DOWNSTREAM}),s(a.id)}})),(0,o.jsx)(ol,{x:n,y:i,menuItems:r,open:e,onClose:t})},od=({isOpen:e,onClose:t,x:n,y:i,node:a})=>{let r=[],{runAction:l}=(0,on.useRecceActionContext)(),{isActionAvailable:s}=(0,nf.useLineageGraphContext)(),{featureToggles:d}=(0,nG.useRecceInstanceContext)(),{data:c}=(0,np.useRecceServerFlag)(),u=c?.single_env_onboarding??!1,f=d.disableDatabaseQuery;if(a?.data===void 0)return(0,o.jsx)(o.Fragment,{});let p=a.data,g=p.node,h=p.column,m=p.type,x={source:"lineage_column_node"},y=g.data.base?.columns?.[h]===void 0||g.data.current?.columns?.[h]===void 0,b=(0,nS.findByRunType)(u?"profile":"profile_diff");if(r.push({label:b.title,itemIcon:(0,o.jsx)(t1.default,{component:b.icon,sx:{display:"inline-flex"}}),action:()=>{(0,n9.trackExploreAction)({action:n9.EXPLORE_ACTION.PROFILE_DIFF,source:n9.EXPLORE_SOURCE.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),l("profile_diff",{model:g.name,columns:[h]},{showForm:!1,trackProps:x})},isDisabled:y||!s("profile_diff")||f}),!u){let e=(0,nS.findByRunType)("histogram_diff");r.push({label:e.title,itemIcon:(0,o.jsx)(t1.default,{component:e.icon,sx:{display:"inline-flex"}}),action:()=>{(0,n9.trackExploreAction)({action:n9.EXPLORE_ACTION.HISTOGRAM_DIFF,source:n9.EXPLORE_SOURCE.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),l("histogram_diff",{model:g.name,column_name:h,column_type:m},{showForm:!1,trackProps:x})},isDisabled:y||!m||!(0,or.supportsHistogramDiff)(m)||f});let t=(0,nS.findByRunType)("top_k_diff");r.push({label:t.title,itemIcon:(0,o.jsx)(t1.default,{component:t.icon,sx:{display:"inline-flex"}}),action:()=>{(0,n9.trackExploreAction)({action:n9.EXPLORE_ACTION.TOP_K_DIFF,source:n9.EXPLORE_SOURCE.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),l("top_k_diff",{model:g.name,column_name:h,k:50},{showForm:!1,trackProps:x})},isDisabled:y||f});let n=(0,nS.findByRunType)("value_diff");r.push({label:n.title,itemIcon:(0,o.jsx)(t1.default,{component:n.icon,sx:{display:"inline-flex"}}),action:()=>{(0,n9.trackExploreAction)({action:n9.EXPLORE_ACTION.VALUE_DIFF,source:n9.EXPLORE_SOURCE.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),l("value_diff",{model:g.name,columns:[h]},{showForm:!0,trackProps:x})},isDisabled:y||f})}return(0,o.jsx)(ol,{x:n,y:i,menuItems:r,open:e,onClose:t})};e.s(["LineageViewContextMenu",0,({isOpen:e,onClose:t,x:n,y:i,node:a})=>{let{featureToggles:r}=(0,nG.useRecceInstanceContext)();return r.disableViewActionDropdown?(0,o.jsx)(ol,{menuItems:[],open:e,onClose:t,x:n,y:i}):a&&(0,nm.isLineageGraphNode)(a)?(0,o.jsx)(os,{x:n,y:i,isOpen:e,onClose:t,node:a}):a&&(0,nm.isLineageGraphColumnNode)(a)?(0,o.jsx)(od,{x:n,y:i,isOpen:e,onClose:t,node:a}):void 0},"useLineageViewContextMenu",0,()=>{let[e,t]=(0,i.useState)(!1),n=()=>t(!1),[o,a]=(0,i.useState)({x:0,y:0}),[r,l]=(0,i.useState)();return{props:{x:o.x,y:o.y,node:r,isOpen:e,onClose:n},showContextMenu:(e,n,o)=>{a({x:e,y:n}),l(o),t(!0)},closeContextMenu:()=>{a({x:0,y:0}),l(void 0),n()}}}],739145);var oc=e.i(603338);let ou="recce",of={recommendationIgnored:`${ou}-recommendation-ignored`,recommendationShowed:`${ou}-recommendation-showed`,prevRefreshTimeStamp:`${ou}-prev-refresh-timestamp`,lineageNotificationDismissed:`${ou}-lineage-notification-dismissed`};function op({notification:e,type:t}){let n=of.lineageNotificationDismissed,[a,r]=(0,i.useState)(()=>"true"!==sessionStorage.getItem(n));return null!==e&&a?(0,o.jsxs)(t1.default,{sx:{width:"100%",display:"flex",flexDirection:"row",p:"5px 10px",gap:"5px",alignItems:"flex-start",borderRadius:1,boxShadow:4,border:"1px solid",borderColor:"neutral.light",bgcolor:{info:"iochmara.light",success:"success.light",warning:"warning.light",error:"error.light"}[t]},children:[e,(0,o.jsx)(t1.default,{sx:{flex:1}}),(0,o.jsx)(nd.default,{size:"small",onClick:()=>{sessionStorage.setItem(n,"true"),r(!1)},children:(0,o.jsx)(oc.IoClose,{})})]}):null}e.s(["LineageViewNotification",()=>op],428537);var og=e.i(562903),oh=e.i(233799),om=e.i(754228),ox=e.i(571167),oy=e.i(130115),ob=e.i(670857),ow=e.i(634665),ov=e.i(664766),oC=e.i(2936);let oS=()=>(0,o.jsxs)(t5.default,{alignItems:"flex-start",spacing:0,children:[(0,o.jsx)(nc.default,{fontSize:"10pt",color:"text.secondary",pb:1,children:"Select nodes by dbt node selector syntax"}),(0,o.jsxs)(nc.default,{fontSize:"8pt",children:[(0,o.jsx)(t1.default,{component:"code",sx:{fontSize:"8pt",bgcolor:"grey.100",px:.5,borderRadius:1},children:"model_name"})," ","Select a node"]}),(0,o.jsxs)(nc.default,{fontSize:"8pt",children:[(0,o.jsx)(t1.default,{component:"code",sx:{fontSize:"8pt",bgcolor:"grey.100",px:.5,borderRadius:1},children:"model_name+"})," ","Select downstream nodes"]}),(0,o.jsxs)(nc.default,{fontSize:"8pt",children:[(0,o.jsx)(t1.default,{component:"code",sx:{fontSize:"8pt",bgcolor:"grey.100",px:.5,borderRadius:1},children:"+model_name"})," ","Select upstream nodes"]}),(0,o.jsxs)(nc.default,{fontSize:"8pt",children:[(0,o.jsx)(t1.default,{component:"code",sx:{fontSize:"8pt",bgcolor:"grey.100",px:.5,borderRadius:1},children:"model*"})," ","Select by wildcard"]})]}),oj=({isDisabled:e})=>{let[t,n]=(0,i.useState)(null),{viewOptions:a,onViewOptionsChanged:r}=(0,t4.useLineageViewContextSafe)(),l=a.view_mode??"changed_models",s=()=>{n(null)},d=e=>{r({...a,view_mode:e}),s()},c=nr("model").icon;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t2.default,{size:"xsmall",variant:"outlined",color:"neutral",onClick:e=>{n(e.currentTarget)},disabled:e,startIcon:c&&(0,o.jsx)(c,{}),endIcon:(0,o.jsx)(nu.PiCaretDown,{}),sx:{minWidth:100,textTransform:"none",fontSize:"0.75rem"},children:"changed_models"===l?"Changed Models":"All"}),(0,o.jsxs)(n5.default,{anchorEl:t,open:!!t,onClose:s,children:[(0,o.jsx)(oy.default,{sx:{lineHeight:"32px",bgcolor:"transparent"},children:"mode"}),(0,o.jsxs)(ow.default,{value:l,children:[(0,o.jsx)(n4.default,{onClick:()=>d("changed_models"),children:(0,o.jsx)(oh.default,{value:"changed_models",control:(0,o.jsx)(ob.default,{size:"small",sx:{py:0}}),label:"Changed Models",sx:{m:0}})}),(0,o.jsx)(n4.default,{onClick:()=>d("all"),children:(0,o.jsx)(oh.default,{value:"all",control:(0,o.jsx)(ob.default,{size:"small",sx:{py:0}}),label:"All",sx:{m:0}})})]})]})]})},o_=({isDisabled:e})=>{let[t,n]=(0,i.useState)(null),{lineageGraph:a}=(0,nf.useLineageGraphContext)(),{viewOptions:r,onViewOptionsChanged:l}=(0,t4.useLineageViewContextSafe)(),s=new Set;for(let e of Object.values(a?.nodes??{}))e.data.packageName&&s.add(e.data.packageName);let d=a?.manifestMetadata.current?.project_name,c=r.packages?new Set(r.packages):d?new Set([d]):s,u=c.size===s.size,f=0===c.size,p=1===c.size?Array.from(c)[0]:u?"All Packages":f?"No Package":`${c.size} Packages`;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t2.default,{size:"xsmall",variant:"outlined",color:"neutral",onClick:e=>{n(e.currentTarget)},disabled:e,startIcon:(0,o.jsx)(nB.FiPackage,{}),endIcon:(0,o.jsx)(nu.PiCaretDown,{}),sx:{minWidth:100,textTransform:"none",fontSize:"0.75rem"},children:p}),(0,o.jsxs)(n5.default,{anchorEl:t,open:!!t,onClose:()=>{n(null)},children:[(0,o.jsx)(oy.default,{sx:{lineHeight:"32px",bgcolor:"transparent"},children:"Select Packages"}),(0,o.jsxs)(n4.default,{onClick:()=>{u?l({...r,packages:[]}):l({...r,packages:Array.from(s)})},children:[(0,o.jsx)(og.default,{checked:u,indeterminate:!u&&!f,size:"small",sx:{py:0}}),(0,o.jsx)(ox.default,{children:"Select All"})]}),(0,o.jsx)(t3.default,{}),Array.from(s).map(e=>(0,o.jsxs)(n4.default,{onClick:()=>{let t;(t=new Set(c)).has(e)?t.delete(e):t.add(e),l({...r,packages:Array.from(t)})},children:[(0,o.jsx)(og.default,{checked:c.has(e),size:"small",sx:{py:0}}),(0,o.jsx)(ox.default,{className:"no-track-pii-safe",children:e})]},e))]})]})},oE=e=>{let[t,n]=(0,i.useState)(e.value),{data:a}=(0,np.useRecceServerFlag)(),r=(0,i.useRef)(null);return(0,i.useEffect)(()=>{r.current&&(r.current.value=e.value)},[e.value]),(0,o.jsx)(t8.default,{title:a?.single_env_onboarding?e.tooltipComponent:"",placement:"bottom-start",slotProps:{tooltip:{sx:{width:"18.75rem",p:2,boxShadow:3,border:1,borderRadius:1,color:"black",bgcolor:"white"}}},children:(0,o.jsx)(ov.default,{inputRef:r,size:"small",placeholder:"with selectors",disabled:e.isDisabled,value:t,onChange:e=>{n(e.target.value)},onKeyUp:o=>{"Enter"===o.key?e.onChange(t):"Escape"===o.key&&(o.preventDefault(),n(e.value),r.current&&r.current.blur())},onBlur:()=>{n(e.value)},sx:{"& .MuiInputBase-root":{width:"18.75rem",height:24,fontSize:"0.75rem"},"& .MuiInputBase-input":{py:.5,px:1}}})})},ok=({isDisabled:e})=>{let{viewOptions:t,onViewOptionsChanged:n}=(0,t4.useLineageViewContextSafe)();return(0,o.jsx)(oE,{isDisabled:e,value:t.select??"",onChange:e=>{n({...t,select:e||void 0})},tooltipComponent:(0,o.jsx)(oS,{})})},oR=({isDisabled:e})=>{let{viewOptions:t,onViewOptionsChanged:n}=(0,t4.useLineageViewContextSafe)();return(0,o.jsx)(oE,{isDisabled:e,value:t.exclude??"",onChange:e=>{n({...t,exclude:e||void 0})}})},oN=e=>(0,o.jsxs)(t1.default,{style:e.style,sx:{maxWidth:300},children:[(0,o.jsx)(nc.default,{fontSize:"8pt",children:(e.label??"").trim()||(0,o.jsx)(o.Fragment,{children:" "})}),e.children]});e.s(["LineageViewTopBar",0,()=>{let{deselect:e,focusedNode:t,selectedNodes:n,...a}=(0,t4.useLineageViewContextSafe)(),{featureToggles:r}=(0,nG.useRecceInstanceContext)(),{data:l}=(0,np.useRecceServerFlag)(),s=l?.single_env_onboarding,[d,c]=(0,i.useState)(null),u=!!d,f=n.length>0,p=!t&&!f,g=e=>{c(e.currentTarget)},h=()=>{c(null)},m=(0,nS.findByRunType)("row_count_diff").icon,x=(0,nS.findByRunType)("value_diff").icon,y=(0,nS.findByRunType)("lineage_diff").icon,b=(0,nS.findByRunType)("schema_diff").icon;return(0,o.jsx)(t5.default,{direction:"row",alignItems:"center",borderBottom:1,borderColor:"neutral.light",sx:{width:"100%",p:"4pt 8pt",gap:"0.5rem"},children:(0,o.jsxs)(t5.default,{direction:"row",alignItems:"center",sx:{flex:1,gap:"0.5rem"},children:[(0,o.jsx)(oC.default,{}),(0,o.jsx)(oN,{label:"Mode",style:{flexShrink:1},children:(0,o.jsx)(oj,{isDisabled:f})}),(0,o.jsx)(oN,{label:"Package",style:{flexShrink:1},children:(0,o.jsx)(o_,{isDisabled:f})}),(0,o.jsx)(oN,{label:"Select",style:{flexShrink:1},children:(0,o.jsx)(ok,{isDisabled:f})}),(0,o.jsx)(oN,{label:"Exclude",style:{flexShrink:1},children:(0,o.jsx)(oR,{isDisabled:f})}),(0,o.jsx)(t1.default,{sx:{flexGrow:1}}),f&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(oN,{label:"",style:{flexShrink:0},children:(0,o.jsx)(nc.default,{fontSize:"9pt",color:"text.secondary",children:n.length>1?`${n.length} nodes selected`:`${n.length} node selected`})}),(0,o.jsx)(oN,{label:"",children:(0,o.jsx)(t2.default,{variant:"outlined",color:"neutral",size:"xsmall",onClick:()=>{e()},sx:{textTransform:"none",fontSize:"9pt"},children:"Deselect"})}),s&&(0,o.jsx)(oN,{label:"Explore",children:(0,o.jsxs)(t1.default,{sx:{display:"inline-flex"},children:[(0,o.jsx)(t2.default,{size:"xsmall",color:"neutral",variant:"outlined",onClick:g,endIcon:(0,o.jsx)(nu.PiCaretDown,{}),sx:{textTransform:"none",fontSize:"0.75rem"},children:"Actions"}),(0,o.jsx)(n5.default,{anchorEl:d,open:u,onClose:h,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:(0,o.jsxs)(n4.default,{disabled:r.disableDatabaseQuery,onClick:async()=>{await a.runRowCount(),h()},children:[(0,o.jsx)(om.default,{children:(0,o.jsx)(m,{fontSize:"small"})}),(0,o.jsx)(ox.default,{children:"Row Count"})]})})]})})]}),!s&&(0,o.jsx)(oN,{label:"Explore",children:(0,o.jsxs)(t1.default,{sx:{display:"inline-flex"},children:[(0,o.jsx)(t2.default,{size:"xsmall",color:"neutral",variant:"outlined",disabled:r.disableViewActionDropdown,onClick:g,endIcon:(0,o.jsx)(nu.PiCaretDown,{}),sx:{textTransform:"none",fontSize:"0.75rem"},children:"Actions"}),(0,o.jsxs)(n5.default,{anchorEl:d,open:u,onClose:h,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[(0,o.jsx)(oy.default,{sx:{lineHeight:"32px",bgcolor:"transparent"},children:"Diff"}),(0,o.jsx)(nH.default,{display:"metadata only"===r.mode,children:(0,o.jsxs)(n4.default,{disabled:r.disableDatabaseQuery,onClick:async()=>{await a.runRowCountDiff(),h()},children:[(0,o.jsx)(om.default,{children:(0,o.jsx)(m,{fontSize:"small"})}),(0,o.jsx)(ox.default,{children:"Row Count Diff"})]})}),(0,o.jsx)(nH.default,{display:"metadata only"===r.mode,children:(0,o.jsxs)(n4.default,{disabled:r.disableDatabaseQuery,onClick:async()=>{await a.runValueDiff(),h()},children:[(0,o.jsx)(om.default,{children:(0,o.jsx)(x,{fontSize:"small"})}),(0,o.jsx)(ox.default,{children:"Value Diff"})]})}),(0,o.jsx)(t3.default,{}),(0,o.jsx)(oy.default,{sx:{lineHeight:"32px",bgcolor:"transparent"},children:"Add to Checklist"}),(0,o.jsxs)(n4.default,{disabled:!(p||f&&n.length>1),onClick:()=>{a.addLineageDiffCheck(a.viewOptions.view_mode),h()},children:[(0,o.jsx)(om.default,{children:(0,o.jsx)(y,{fontSize:"small"})}),(0,o.jsx)(ox.default,{children:"Lineage Diff"})]}),(0,o.jsxs)(n4.default,{onClick:()=>{a.addSchemaDiffCheck(),h()},children:[(0,o.jsx)(om.default,{children:(0,o.jsx)(b,{fontSize:"small"})}),(0,o.jsx)(ox.default,{children:"Schema Diff"})]})]})]})})]})})}],224779),e.s(["DisableTooltipMessages",0,{add_or_remove:"Unavailable for added or removed resources."}],765996);var oI=e.i(388846);e.i(49931);var oL=e.i(716396),oD=e.i(162234);let oM=(0,i.forwardRef)(function({base:e,current:t,enableScreenshot:n=!1,showMenu:a=!0},r){let l,s,d=(0,t4.useLineageViewContext)(),[c,u]=(0,i.useState)(new Map),{columns:f,rows:p}=(0,i.useMemo)(()=>{let n=t?.resource_type??e?.resource_type,o=n&&["model","seed","snapshot","source"].includes(n)?t??e:void 0;return(0,oL.createDataGridFromData)({type:"schema_diff",base:e?.columns,current:t?.columns},{node:o,cllRunningMap:c,showMenu:a})},[e,t,c,a]),{lineageGraph:g}=(0,nf.useLineageGraphContext)(),h=!g?.catalogMetadata.base,m=!g?.catalogMetadata.current;h&&m?l="catalog.json not found on both environments. Run `recce debug` to troubleshoot.":h?l="catalog.json not found on base environment. Run `recce debug` to troubleshoot.":m&&(l="catalog.json not found on current environment. Run `recce debug` to troubleshoot.");let x=e&&void 0===e.columns,y=t&&void 0===t.columns;x&&y?s="catalog.json is outdated on both environments. Update catalog.json to get schema information.":x?s="catalog.json is outdated on base environment. Update catalog.json to get schema information.":y&&(s="catalog.json is outdated on current environment. Update catalog.json to get schema information.");let b=async n=>{(0,n9.trackColumnLevelLineage)({action:"view",source:"schema_column"}),u(e=>new Map(e).set(n,!0));let o=t?.id??e?.id;o&&await d?.showColumnLevelLineage({node_id:o,column:n}),u(e=>new Map(e).set(n,!1))},w=d?.viewOptions.column_level_lineage,v=w?new Set([`${w.node_id}-${w.column}`]):new Set;return(0,o.jsxs)(t1.default,{sx:{display:"flex",flexDirection:"column"},children:[l?(0,o.jsx)(oI.default,{severity:"warning",sx:{fontSize:"12px",p:1},children:l}):s?(0,o.jsx)(oI.default,{severity:"warning",sx:{fontSize:"12px",p:1},children:s}):(0,o.jsx)(o.Fragment,{}),p.length>0&&(0,o.jsx)(oD.ScreenshotDataGrid,{style:{blockSize:"auto",maxHeight:"100%",overflow:"auto",fontSize:"0.8rem",borderWidth:1},columns:f,rows:p,rowHeight:35,renderers:{noRowsFallback:(0,o.jsx)(oD.EmptyRowsRenderer,{})},className:"rdg-light no-track-pii-safe",ref:r,rowKeyGetter:n=>{let o=t?.id??e?.id;return`${o}-${n.name}`},selectedRows:v,onSelectedRowsChange:()=>{},onCellClick:async e=>{(void 0===e.row.baseIndex||void 0!==e.row.currentIndex)&&await b(e.row.name)},rowClass:e=>{let t;if(void 0===e.baseIndex)t="row-added";else{if(void 0===e.currentIndex)return"row-removed";t="row-normal"}return void 0!==d&&(t+=" row-selectable"),t}})]})}),oO=(0,i.forwardRef)(function({current:e,showMenu:t=!0},n){let a,r,l=(0,t4.useLineageViewContext)(),[s,d]=(0,i.useState)(new Map),{columns:c,rows:u}=(0,i.useMemo)(()=>(0,oL.createDataGridFromData)({type:"schema_single",columns:e?.columns},{node:e,cllRunningMap:s,showMenu:t}),[e,s,t]),{lineageGraph:f}=(0,nf.useLineageGraphContext)();f?.catalogMetadata.current||(a="catalog.json not found. Run `recce debug` to troubleshoot."),e&&void 0===e.columns&&(r="catalog.json is outdated. Update catalog.json to get schema information.");let p=async t=>{(0,n9.trackColumnLevelLineage)({action:"view",source:"schema_column"}),d(e=>new Map(e).set(t,!0));let n=e?.id;n&&await l?.showColumnLevelLineage({node_id:n,column:t}),d(e=>new Map(e).set(t,!1))},g=l?.viewOptions.column_level_lineage,h=g?new Set([`${g.node_id}-${g.column}`]):new Set;return(0,o.jsxs)(t1.default,{sx:{display:"flex",flexDirection:"column"},children:[a?(0,o.jsx)(oI.default,{severity:"warning",sx:{fontSize:"12px",p:1},children:a}):r?(0,o.jsx)(oI.default,{severity:"warning",sx:{fontSize:"12px",p:1},children:r}):(0,o.jsx)(o.Fragment,{}),u.length>0&&(0,o.jsx)(oD.ScreenshotDataGrid,{style:{blockSize:"auto",maxHeight:"100%",overflow:"auto",fontSize:"10pt",borderWidth:1},columns:c,rows:u,renderers:{noRowsFallback:(0,o.jsx)(oD.EmptyRowsRenderer,{})},className:"rdg-light",ref:n,rowKeyGetter:t=>{let n=e?.id;return`${n}-${t.name}`},selectedRows:h,onSelectedRowsChange:()=>{},onCellClick:async e=>{await p(e.row.name)},rowClass:()=>void 0!==l?"row-normal row-selectable":"row-normal"})]})});e.s(["SchemaView",0,oM,"SingleEnvSchemaView",0,oO],637418);var oP=e.i(468836),oA=e.i(772510),oT=e.i(845209);e.i(909139);var oz=e.i(750060),oF=e.i(113145);e.s(["NodeSqlView",0,({node:e})=>{let[t,n]=(0,i.useState)(!1),[a,r]=(0,i.useState)(!1),{data:l,isLoading:s}=(0,np.useRecceServerFlag)(),d=l?.single_env_onboarding;if(s)return(0,o.jsx)(o.Fragment,{});if("model"!==e.data.resourceType&&"snapshot"!==e.data.resourceType)return"Not available";let c=e.data.data.base?.raw_code,u=e.data.data.current?.raw_code,f=e.data.data.base?.name??e.data.data.current?.name??"";return(0,o.jsxs)(t1.default,{className:"no-track-pii-safe",sx:{position:"relative",height:"100%"},onMouseEnter:()=>{r(!0)},onMouseLeave:()=>{r(!1)},children:[d?(0,o.jsx)(oz.CodeEditor,{language:"sql",value:c??"",readOnly:!0,lineNumbers:!0,wordWrap:!1}):(0,o.jsx)(oF.DiffEditor,{original:c??"",modified:u??"",language:"sql",readOnly:!0,lineNumbers:!0,sideBySide:!1,height:"100%"}),(0,o.jsx)(nd.default,{onClick:()=>n(!0),size:"medium","aria-label":"Expand",sx:{position:"absolute",top:"5px",right:"20px",opacity:a?.5:.1,transition:"opacity 0.3s ease-in-out"},children:(0,o.jsx)(t7.FaExpandArrowsAlt,{})}),(0,o.jsxs)(oP.default,{open:t,onClose:()=>n(!1),maxWidth:"sm",fullWidth:!0,slotProps:{paper:{sx:{height:"75%",overflowY:"auto"}}},children:[(0,o.jsxs)(oT.default,{sx:{display:"flex",alignItems:"center"},children:[d?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("code",{children:f})," Model Code"]}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("code",{children:f})," Model Code Diff"]}),(0,o.jsx)(t1.default,{sx:{flex:1}}),(0,o.jsx)(nd.default,{size:"small",onClick:()=>n(!1),children:(0,o.jsx)(oc.IoClose,{})})]}),(0,o.jsx)(oA.default,{children:d?(0,o.jsx)(oz.CodeEditor,{language:"sql",value:c??"",fontSize:16,readOnly:!0,lineNumbers:!0,wordWrap:!1}):(0,o.jsx)(oF.DiffEditor,{original:c??"",modified:u??"",language:"sql",className:"text-base"})})]})]})}],634513)},581435,e=>{"use strict";var t=e.i(487122),n=e.i(868422);function o(e,o){return(0,n.formatDistance)(e,(0,t.constructFrom)(e,Date.now()),o)}e.s(["formatDistanceToNow",()=>o],581435)},302061,e=>{"use strict";var t=e.i(19483),n=e.i(324066),o=e.i(76130),i=e.i(924011),a=e.i(610985),r=e.i(336277),l=e.i(427938),s=e.i(918132),d=e.i(292002),c=e.i(187725),u=e.i(523043),f=e.i(130209),p=e.i(838208),g=e.i(84723),h=e.i(377855),m=e.i(953131),x=e.i(323194),y=e.i(987923),b=e.i(2216),w=e.i(203158),v=e.i(862754),C=e.i(916955),S=e.i(29134),j=e.i(912007),_=e.i(224882),E=e.i(505251),k=e.i(453330),R=e.i(269324),N=e.i(435843),I=e.i(525519),L=e.i(88515),D=e.i(166598),M=e.i(632951),O=e.i(904451),P=e.i(676502),A=e.i(592355),T=e.i(81167),z=e.i(187726),F=e.i(739145),V=e.i(428537),B=e.i(224779),$=e.i(73371),H=e.i(754228),G=e.i(571167),U=e.i(130115),X=e.i(135301),W=e.i(263712),K=e.i(407670),Z=e.i(132136),Q=e.i(197068),q=e.i(603338),Y=e.i(388797),J=e.i(913369),ee=e.i(765996),et=e.i(832421),en=e.i(475119),eo=e.i(400905),ei=e.i(727653),ea=e.i(372230),er=e.i(637418),el=e.i(634513),es=e.i(636819),ed=e.i(325782),ec=e.i(468836),eu=e.i(772510),ef=e.i(581435),ep=e.i(955343);function eg(e){return(0,ep.GenIcon)({tag:"svg",attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M512 472a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm367 352.9L696.3 352V178H768v-68H256v68h71.7v174L145 824.9c-2.8 7.4-4.3 15.2-4.3 23.1 0 35.3 28.7 64 64 64h614.6c7.9 0 15.7-1.5 23.1-4.3 33-12.7 49.4-49.8 36.6-82.8zM395.7 364.7V180h232.6v184.7L719.2 600c-20.7-5.3-42.1-8-63.9-8-61.2 0-119.2 21.5-165.3 60a188.78 188.78 0 0 1-121.3 43.9c-32.7 0-64.1-8.3-91.8-23.7l118.8-307.5zM210.5 844l41.7-107.8c35.7 18.1 75.4 27.8 116.6 27.8 61.2 0 119.2-21.5 165.3-60 33.9-28.2 76.3-43.9 121.3-43.9 35 0 68.4 9.5 97.6 27.1L813.5 844h-603z"},child:[]}]})(e)}var eh=e.i(224378);e.i(909139);var em=e.i(113145),ex=e.i(507524),ey=e.i(638337),eb=e.i(461566),ew=e.i(939338),ev=e.i(901407);function eC({description:e,onLike:o,onDislike:i,onClickLink:a,externalLink:r,externalLinkText:l}){return(0,t.jsxs)(n.default,{sx:{display:"flex",gap:4,justifyContent:"center",alignContent:"center",alignItems:"center"},children:[e,(0,t.jsx)($.default,{"aria-label":"thumbs up",onClick:o,sx:{width:"32px",height:"32px"},children:(0,t.jsx)(n.default,{component:"img",src:"/imgs/feedback/thumbs-up.png",alt:"like"})}),(0,t.jsx)($.default,{"aria-label":"thumbs down",onClick:i,sx:{width:"32px",height:"32px"},children:(0,t.jsx)(n.default,{component:"img",src:"/imgs/feedback/thumbs-down.png",alt:"dislike"})}),r&&l&&(0,t.jsxs)(ew.default,{href:r,target:"_blank",onClick:a,sx:{textDecoration:"underline"},children:[l," ",(0,t.jsx)(ev.LuExternalLink,{})]})]})}var eS=e.i(286568),ej=e.i(65089),e_=e.i(182809),eE=e.i(170660);function ek({current:e,primaryKeys:i,setPrimaryKeys:a,onRunResultOpen:s,runQuery:d,isPending:c}){return(0,t.jsxs)(r.default,{direction:"row",justifyContent:"flex-end",alignItems:"center",sx:{p:"4pt 8pt",gap:"5px",height:"54px",borderBottom:"1px solid lightgray",flex:"0 0 54px"},children:[(0,t.jsxs)(n.default,{children:[(0,t.jsxs)(l.default,{variant:"h6",component:"h2",sx:{display:"flex",alignItems:"center",gap:"5px"},children:[(0,t.jsx)(n.default,{component:eg,sx:{fontSize:"1.2em"}}),"Sandbox"]}),(0,t.jsxs)(l.default,{sx:{fontSize:"0.75rem",color:"grey.500"},children:["Compare the run results based on the modified SQL code of model"," ",(0,t.jsx)("b",{children:e?.name})]})]}),(0,t.jsx)(n.default,{sx:{flexGrow:1}}),(0,t.jsx)(e_.QueryForm,{defaultPrimaryKeys:i,onPrimaryKeysChange:a}),(0,t.jsx)(Q.default,{title:"Run diff to see the changes",children:(0,t.jsx)(o.default,{size:"small",sx:{mt:"16px",fontSize:"14px"},onClick:()=>{s(),d()},color:"iochmara",variant:"contained",disabled:c,children:c?"Running...":"Run Diff"})})]})}function eR({currentModelID:e,height:n="32px",flex:o="0 0 auto"}){let{lineageGraph:i,envInfo:a}=(0,C.useLineageGraphContext)(),s="0 16px",d=(0,ej.formatTimestamp)(a?.dbt?.current?.generated_at??""),c=(0,ef.formatDistanceToNow)(d,{addSuffix:!0}),u="N/A";if(i?.nodes[e]){let t=i.nodes[e];t.data.data.current?.schema&&(u=t.data.data.current.schema)}return(0,t.jsxs)(r.default,{direction:"row",sx:{gap:0,height:n,flex:o,fontSize:"14px",alignItems:"center",m:0,bgcolor:"#EDF2F880"},children:[(0,t.jsx)(r.default,{sx:{width:"50%"},children:(0,t.jsxs)(l.default,{sx:{fontWeight:"bold",margin:s},children:["ORIGINAL (Schema: ",u,", Last Updated: ",c,")"]})}),(0,t.jsx)(r.default,{sx:{width:"50%"},children:(0,t.jsx)(l.default,{sx:{fontWeight:"bold",margin:s},children:"SANDBOX EDITOR"})})]})}function eN({current:e,onChange:n}){return(0,t.jsx)(em.DiffEditor,{original:e?.raw_code??"",modified:e?.raw_code??"",language:"sql",readOnly:!1,lineNumbers:!0,sideBySide:!0,height:"100%",onModifiedChange:n})}function eI({isOpen:e,onClose:o,current:i}){let[a,s]=(0,c.useState)(!1),[d,u]=(0,c.useState)(i?.raw_code??""),[p,g]=(0,c.useState)(e),{showRunId:m,clearRunResult:x}=(0,S.useRecceActionContext)(),{primaryKeys:y,setPrimaryKeys:b}=(0,en.useRecceQueryContext)(),{data:v,isLoading:C}=(0,eS.useRecceServerFlag)(),j=async()=>{let e=ex.submitQueryDiff,t={current_model:i?.name??"",primary_keys:y,sql_template:d},{run_id:n}=await e(t,{nowait:!0});return m(n),await (0,eb.waitRun)(n)},{mutate:_,isPending:E}=(0,f.useMutation)({mutationFn:j,onSuccess(e){e.error?(0,w.trackPreviewChange)({action:"run",node:i?.name,status:"failure"}):((0,w.trackPreviewChange)({action:"run",node:i?.name,status:"success"}),setTimeout(()=>{k()},1e3),!C&&v?.single_env_onboarding&&setTimeout(()=>{I()},2e3))}}),{feedbackToast:k,closeToast:R}=function(e){let{feedbackId:n,description:o,onFeedbackSubmit:i,externalLink:a,externalLinkText:l}=e,[s,d]=(0,c.useState)(void 0);return{feedbackToast:function(e=!1){let c=localStorage.getItem(n);null!=s||("true"!==c||e)&&d(h.toaster.create({id:n,duration:void 0,type:"success",description:(0,t.jsx)(r.default,{direction:"row",children:(0,t.jsx)(eC,{description:o,onLike:()=>{i("like"),h.toaster.dismiss(n),localStorage.setItem(n,"true")},onDislike:()=>{i("dislike"),h.toaster.dismiss(n),localStorage.setItem(n,"true")},externalLink:a,externalLinkText:l,onClickLink:()=>{i("link")}})})}))},closeToast:()=>{s&&h.toaster.dismiss(s)}}}({feedbackId:ey.localStorageKeys.previewChangeFeedbackID,description:"Enjoy preview change?",onFeedbackSubmit:e=>{switch(e){case"like":(0,w.trackPreviewChangeFeedback)({feedback:"like",node:i?.name});break;case"dislike":(0,w.trackPreviewChangeFeedback)({feedback:"dislike",node:i?.name});break;case"link":(0,w.trackPreviewChangeFeedback)({feedback:"form",node:i?.name});break;default:console.log("Not support feedback type")}},externalLink:"https://docs.google.com/forms/d/e/1FAIpQLSd7Lei7Ijwo7MinWaI0K6rzZi_21gV1BKetmiNEX254kDziDA/viewform?usp=header",externalLinkText:"Give us feedback"}),{guideToast:I,closeGuideToast:L}=function(e){let[t,n]=(0,c.useState)(void 0),{guideId:o,description:i,externalLinkText:a,onExternalLinkClick:r}=e;return{guideToast:function(){null==t&&n(h.toaster.create({id:o,duration:3e3,type:"success",description:i,action:{label:a??"link",onClick:()=>{r&&r()}}}))},closeGuideToast:()=>{t&&h.toaster.dismiss(t)}}}({guideId:ey.localStorageKeys.prepareEnvGuideID,description:"Want to compare data changes with production data?",externalLink:"https://docs.datarecce.io/get-started/#prepare-dbt-artifacts",externalLinkText:"Learn how.",onExternalLinkClick:()=>{(0,w.trackSingleEnvironment)({action:"external_link",from:"preview_changes",node:i?.name})}});e!==p&&(g(e),e&&u(i?.raw_code??""));let D=()=>{o(),s(!1),x(),R(),L(),(0,w.trackPreviewChange)({action:"close",node:i?.name})};return(0,t.jsxs)(ec.default,{open:e,onClose:D,maxWidth:!1,fullWidth:!0,slotProps:{paper:{sx:{width:"100%",height:"100%",maxWidth:"100%",maxHeight:"100%",m:0}}},children:[(0,t.jsxs)(n.default,{sx:{height:"40px",bgcolor:"rgb(77, 209, 176)",px:0,py:2,display:"flex",alignItems:"center"},children:[(0,t.jsxs)(r.default,{direction:"row",alignItems:"center",sx:{height:"100%",gap:"10px"},children:[(0,t.jsx)(n.default,{component:"img",sx:{width:"20px",height:"20px",ml:"18px"},src:"/logo/recce-logo-white.png",alt:"recce-logo-white"}),(0,t.jsx)(l.default,{variant:"h6",component:"h1",sx:{fontFamily:'"Montserrat", sans-serif',fontSize:"1.125rem",color:"white"},children:"RECCE"}),(0,t.jsx)(ed.default,{label:"Experiment",size:"small",variant:"outlined",sx:{fontSize:"0.875rem",color:"white",borderColor:"rgba(255,255,255,0.5)"}})]}),(0,t.jsx)($.default,{"aria-label":"close",onClick:D,sx:{position:"absolute",right:8,top:4,color:"white"},children:(0,t.jsx)(q.IoClose,{})})]}),(0,t.jsx)(eu.default,{sx:{p:0},children:(0,t.jsxs)(N.VSplit,{sizes:a?[50,50]:[100,0],minSize:100*!!a,gutterSize:5*!!a,style:{flex:"1",contain:"size",height:"100%"},children:[(0,t.jsxs)(r.default,{sx:{height:"100%",m:0,p:0},children:[(0,t.jsx)(ek,{current:i,primaryKeys:y??[],setPrimaryKeys:b,onRunResultOpen:()=>s(!0),runQuery:_,isPending:E}),(0,t.jsx)(eR,{height:"32px",flex:"0 0 auto",currentModelID:i?.id??""}),(0,t.jsx)(eN,{current:i,onChange:u})]}),a?(0,t.jsx)(eE.RunResultPane,{onClose:()=>s(!1),disableAddToChecklist:!0}):(0,t.jsx)(n.default,{})]})}),(0,t.jsx)(n.default,{sx:{position:"fixed",bottom:16,right:16,opacity:.5},children:(0,t.jsx)(Q.default,{title:"Give us feedback",children:(0,t.jsx)($.default,{"aria-label":"feedback",size:"medium",onClick:()=>{k(!0)},children:(0,t.jsx)(eh.VscFeedback,{})})})})]})}function eL({children:e,value:n,index:o}){return n===o?(0,t.jsx)(t.Fragment,{children:e}):null}function eD({node:e,onCloseNode:o}){let i="model"===e.data.resourceType||"seed"===e.data.resourceType||"source"===e.data.resourceType||"snapshot"===e.data.resourceType,[a,s]=(0,c.useState)(!1),[d,u]=(0,c.useState)(!0),[f,p]=(0,c.useState)(0),{runAction:g}=(0,S.useRecceActionContext)(),{isActionAvailable:h}=(0,C.useLineageGraphContext)(),m=()=>{(0,w.trackExploreAction)({action:w.EXPLORE_ACTION.ROW_COUNT,source:w.EXPLORE_SOURCE.SCHEMA_ROW_COUNT_BUTTON,node_count:1}),g("row_count",{node_names:[e.data.name]},{showForm:!1,showLast:!1})},x=()=>{(0,w.trackExploreAction)({action:w.EXPLORE_ACTION.ROW_COUNT_DIFF,source:w.EXPLORE_SOURCE.SCHEMA_ROW_COUNT_BUTTON,node_count:1}),g("row_count_diff",{node_names:[e.data.name]},{showForm:!1,showLast:!1})},{singleEnv:y}=(0,j.useRecceInstanceContext)(),b=(e,t)=>e?ee.DisableTooltipMessages.add_or_remove:h(t)?"":"This action is not supported yet.",v=Object.keys(e.data.data.base?.columns??{}),_=Object.keys(e.data.data.current?.columns??{});return(0,t.jsxs)(n.default,{sx:{height:"100%",display:"grid",gridTemplateRows:"auto auto 1fr"},children:[(0,t.jsxs)(r.default,{direction:"row",alignItems:"center",children:[(0,t.jsx)(n.default,{sx:{flex:"0 1 20%",p:2},children:(0,t.jsx)(l.default,{variant:"subtitle1",fontWeight:600,className:"no-track-pii-safe",children:e.data.name})}),(0,t.jsx)(n.default,{sx:{flexGrow:1}}),y?(0,t.jsx)(eM,{node:e,baseColumns:v,currentColumns:_,refetchRowCount:m,disableReason:b}):(0,t.jsx)(eO,{node:e,baseColumns:v,currentColumns:_,disableReason:b,refetchRowCountDiff:x,onSandboxOpen:()=>s(!0)}),(0,t.jsx)(n.default,{sx:{flex:"0 1 1%"},children:(0,t.jsx)($.default,{size:"small",onClick:o,children:(0,t.jsx)(q.IoClose,{})})})]}),(0,t.jsx)(n.default,{sx:{color:"text.secondary",pl:2},children:(0,t.jsxs)(r.default,{direction:"row",spacing:1,children:[(0,t.jsx)(es.ResourceTypeTag,{node:e}),("model"===e.data.resourceType||"snapshot"===e.data.resourceType||"seed"===e.data.resourceType)&&(y?(0,t.jsx)(es.RowCountTag,{node:e,onRefresh:m}):(0,t.jsx)(es.RowCountDiffTag,{node:e,onRefresh:x}))]})}),i&&(0,t.jsxs)(n.default,{sx:{overflow:"auto",display:"flex",flexDirection:"column"},children:[y&&d&&(0,t.jsx)(n.default,{sx:{p:1.5},children:(0,t.jsx)(ei.RecceNotification,{onClose:()=>u(!1),align:"flex-start",children:(0,t.jsxs)(l.default,{variant:"body2",children:["Enable the Recce Checklist and start adding checks for better data validation and review.",(0,t.jsx)("br",{}),(0,t.jsx)(ei.LearnHowLink,{})]})})}),(0,t.jsxs)(Z.default,{value:f,onChange:(e,t)=>p(t),sx:{borderBottom:1,borderColor:"divider"},children:[(0,t.jsx)(K.default,{label:"Columns"}),(0,t.jsx)(K.default,{label:"Code"})]}),(0,t.jsxs)(n.default,{sx:{overflow:"auto",height:"calc(100% - 48px)"},children:[(0,t.jsx)(eL,{value:f,index:0,children:(0,t.jsx)(n.default,{sx:{overflowY:"auto",height:"100%"},children:y?(0,t.jsx)(er.SingleEnvSchemaView,{current:e.data.data.current}):(0,t.jsx)(er.SchemaView,{base:e.data.data.base,current:e.data.data.current})})}),(0,t.jsx)(eL,{value:f,index:1,children:(0,t.jsx)(n.default,{sx:{height:"100%"},children:(0,t.jsx)(el.NodeSqlView,{node:e})})})]})]}),(0,t.jsx)(eI,{isOpen:a,onClose:()=>s(!1),current:e.data.data.current})]})}function eM({node:e,baseColumns:n,currentColumns:i,refetchRowCount:a,disableReason:r}){let[l,s]=(0,c.useState)(null),[,d]=(0,E.useAppLocation)(),{setSqlQuery:u}=(0,en.useRecceQueryContext)(),{runAction:f}=(0,S.useRecceActionContext)(),{envInfo:p}=(0,C.useLineageGraphContext)(),g="added"===e.data.changeStatus||"removed"===e.data.changeStatus,h=(0,et.formatSelectColumns)(n,i),m=`select * from {{ ref("${e.data.name}") }}`;h.length&&(m=`select
45
+ ${h.join("\n ")}
46
+ from {{ ref("${e.data.name}") }}`);let x=()=>{s(null)};if("model"===e.data.resourceType||"seed"===e.data.resourceType||"snapshot"===e.data.resourceType){let n=(0,ea.findByRunType)("query").icon,i=(0,ea.findByRunType)("row_count").icon,c=(0,ea.findByRunType)("profile").icon;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.default,{size:"small",variant:"outlined",onClick:e=>{s(e.currentTarget)},endIcon:(0,t.jsx)(Y.PiCaretDown,{}),sx:{textTransform:"none"},children:"Explore"}),(0,t.jsxs)(X.default,{anchorEl:l,open:!!l,onClose:x,children:[(0,t.jsxs)(W.default,{onClick:()=>{p?.adapterType==="dbt"?u(m):p?.adapterType==="sqlmesh"&&u(`select * from ${e.data.name}`),d("/query"),x()},children:[(0,t.jsx)(H.default,{children:(0,t.jsx)(n,{fontSize:"small"})}),(0,t.jsx)(G.default,{children:"Query"})]}),(0,t.jsxs)(W.default,{onClick:()=>{a(),x()},children:[(0,t.jsx)(H.default,{children:(0,t.jsx)(i,{fontSize:"small"})}),(0,t.jsx)(G.default,{children:"Row Count"})]}),(0,t.jsx)(Q.default,{title:r(g,"profile"),placement:"left",children:(0,t.jsx)("span",{children:(0,t.jsxs)(W.default,{disabled:g,onClick:()=>{(0,w.trackExploreAction)({action:w.EXPLORE_ACTION.PROFILE,source:w.EXPLORE_SOURCE.NODE_SIDEBAR_SINGLE_ENV,node_count:1}),f("profile",{model:e.data.name},{showForm:!0,showLast:!1}),x()},children:[(0,t.jsx)(H.default,{children:(0,t.jsx)(c,{fontSize:"small"})}),(0,t.jsx)(G.default,{children:"Profile"})]})})})]})]})}return null}function eO({node:e,baseColumns:n,currentColumns:i,disableReason:r,onSandboxOpen:l,refetchRowCountDiff:s}){let[d,u]=(0,c.useState)(null),[,f]=(0,E.useAppLocation)(),{runAction:p}=(0,S.useRecceActionContext)(),{setSqlQuery:g,setPrimaryKeys:h}=(0,en.useRecceQueryContext)(),{envInfo:m,isActionAvailable:x}=(0,C.useLineageGraphContext)(),{featureToggles:b}=(0,j.useRecceInstanceContext)(),{primaryKey:v}=(0,eo.default)(e.data.name),_="metadata only"===b.mode,k="added"===e.data.changeStatus||"removed"===e.data.changeStatus,R=(0,c.useCallback)(async()=>{let t=e.id,n=await (0,y.createSchemaDiffCheck)({node_id:t});f(`/checks/?id=${n.check_id}`)},[e,f]),N=(0,et.formatSelectColumns)(n,i),I=`select * from {{ ref("${e.data.name}") }}`;N.length&&(I=`select
47
+ ${N.join("\n ")}
48
+ from {{ ref("${e.data.name}") }}`);let L=()=>{u(null)},D=(e,n)=>{if(_)return(0,t.jsx)(J.default,{display:!0,children:e});let o=r(k,n);return(0,t.jsx)(Q.default,{title:o,placement:"left",children:(0,t.jsx)("span",{children:e})})};if("model"===e.data.resourceType||"seed"===e.data.resourceType||"snapshot"===e.data.resourceType){let n=(0,ea.findByRunType)("query_diff").icon,i=(0,ea.findByRunType)("sandbox").icon,r=(0,ea.findByRunType)("row_count_diff").icon,c=(0,ea.findByRunType)("profile_diff").icon,y=(0,ea.findByRunType)("value_diff").icon,C=(0,ea.findByRunType)("top_k_diff").icon,S=(0,ea.findByRunType)("histogram_diff").icon,j=(0,ea.findByRunType)("schema_diff").icon;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.default,{size:"xsmall",variant:"outlined",color:"neutral",onClick:e=>{u(e.currentTarget)},disabled:b.disableNodeActionDropdown,endIcon:(0,t.jsx)(Y.PiCaretDown,{}),sx:{textTransform:"none",fontSize:"0.75rem"},children:"Explore"}),(0,t.jsxs)(X.default,{anchorEl:d,open:!!d,onClose:L,children:[(0,t.jsx)(J.default,{display:_,children:(0,t.jsxs)(W.default,{disabled:b.disableDatabaseQuery,onClick:()=>{m?.adapterType==="dbt"?g(I):m?.adapterType==="sqlmesh"&&g(`select * from ${e.data.name}`),x("query_diff_with_primary_key")&&h(void 0!==v?[v]:void 0),f("/query"),L()},children:[(0,t.jsx)(H.default,{children:(0,t.jsx)(n,{fontSize:"small"})}),(0,t.jsx)(G.default,{children:"Query"})]})}),(0,t.jsx)(J.default,{display:_,children:(0,t.jsxs)(W.default,{disabled:b.disableDatabaseQuery,onClick:()=>{x("query_diff_with_primary_key")&&h(void 0!==v?[v]:void 0),l(),(0,w.trackPreviewChange)({action:"explore",node:e.data.name}),L()},children:[(0,t.jsx)(H.default,{children:(0,t.jsx)(i,{fontSize:"small"})}),(0,t.jsx)(G.default,{children:"Sandbox (Experiment)"})]})}),(0,t.jsx)(a.default,{}),(0,t.jsx)(U.default,{sx:{lineHeight:"32px",bgcolor:"transparent"},children:"Diff"}),(0,t.jsx)(J.default,{display:_,children:(0,t.jsxs)(W.default,{disabled:b.disableDatabaseQuery,onClick:()=>{s(),L()},children:[(0,t.jsx)(H.default,{children:(0,t.jsx)(r,{fontSize:"small"})}),(0,t.jsx)(G.default,{children:"Row Count Diff"})]})}),D((0,t.jsxs)(W.default,{disabled:k||b.disableDatabaseQuery,onClick:()=>{(0,w.trackExploreAction)({action:w.EXPLORE_ACTION.PROFILE_DIFF,source:w.EXPLORE_SOURCE.NODE_SIDEBAR_MULTI_ENV,node_count:1}),p("profile_diff",{model:e.data.name},{showForm:!0,showLast:!1}),L()},children:[(0,t.jsx)(H.default,{children:(0,t.jsx)(c,{fontSize:"small"})}),(0,t.jsx)(G.default,{children:"Profile Diff"})]}),"profile_diff"),D((0,t.jsxs)(W.default,{disabled:k||b.disableDatabaseQuery,onClick:()=>{(0,w.trackExploreAction)({action:w.EXPLORE_ACTION.VALUE_DIFF,source:w.EXPLORE_SOURCE.NODE_SIDEBAR_MULTI_ENV,node_count:1}),p("value_diff",{model:e.data.name},{showForm:!0,showLast:!1}),L()},children:[(0,t.jsx)(H.default,{children:(0,t.jsx)(y,{fontSize:"small"})}),(0,t.jsx)(G.default,{children:"Value Diff"})]}),"value_diff"),D((0,t.jsxs)(W.default,{disabled:k||b.disableDatabaseQuery,onClick:()=>{(0,w.trackExploreAction)({action:w.EXPLORE_ACTION.TOP_K_DIFF,source:w.EXPLORE_SOURCE.NODE_SIDEBAR_MULTI_ENV,node_count:1}),p("top_k_diff",{model:e.data.name,column_name:"",k:50},{showForm:!0}),L()},children:[(0,t.jsx)(H.default,{children:(0,t.jsx)(C,{fontSize:"small"})}),(0,t.jsx)(G.default,{children:"Top-K Diff"})]}),"top_k_diff"),D((0,t.jsxs)(W.default,{disabled:k||b.disableDatabaseQuery,onClick:()=>{(0,w.trackExploreAction)({action:w.EXPLORE_ACTION.HISTOGRAM_DIFF,source:w.EXPLORE_SOURCE.NODE_SIDEBAR_MULTI_ENV,node_count:1}),p("histogram_diff",{model:e.data.name,column_name:"",column_type:""},{showForm:!0}),L()},children:[(0,t.jsx)(H.default,{children:(0,t.jsx)(S,{fontSize:"small"})}),(0,t.jsx)(G.default,{children:"Histogram Diff"})]}),"histogram_diff"),(0,t.jsx)(a.default,{}),(0,t.jsx)(U.default,{sx:{lineHeight:"32px",bgcolor:"transparent"},children:"Add to Checklist"}),(0,t.jsxs)(W.default,{onClick:()=>{R(),L()},children:[(0,t.jsx)(H.default,{children:(0,t.jsx)(j,{fontSize:"small"})}),(0,t.jsx)(G.default,{children:"Schema Diff"})]})]})]})}return null}var eP=e.i(333207),eA=e.i(407101),eT=e.i(109624),ez=e.i(373921);function eF(){let{featureToggles:e}=(0,j.useRecceInstanceContext)(),{data:i}=(0,eP.useQuery)({queryKey:eA.cacheKeys.instanceInfo(),queryFn:eT.getRecceInstanceInfo});return"metadata only"!==e.mode?null:(0,t.jsx)(n.default,{sx:{display:"flex",alignItems:"center",width:"100%",px:1,py:.25,bgcolor:"cyan.50"},children:(0,t.jsxs)(r.default,{direction:"row",alignItems:"center",sx:{flex:1,fontSize:"0.875rem",color:"cyan.600"},spacing:1,children:[(0,t.jsx)(n.default,{component:Y.PiInfo}),(0,t.jsx)(l.default,{sx:{fontSize:"inherit",color:"inherit"},children:"Query functions disabled without a data warehouse connection."}),(0,t.jsx)(o.default,{sx:{bgcolor:"iochmara.400"},size:"small",variant:"contained",onClick:()=>{window.open((0,ez.getSettingsUrl)(i),"_blank")},children:"Connect to Data Warehouse"})]})})}var eV=e.i(783586),eB=e.i(248859);let e$={mode:"per_node",status:"pending",completed:0,total:0,actions:{}};var eH=e.i(11321),eG=e.i(845209);let eU=function(){let[e,i]=(0,c.useState)(!1),[a,l]=(0,c.useState)(0),[s,d]=(0,c.useState)(),u=(0,c.useRef)(null),f=(0,c.useCallback)(e=>(l(e),new Promise(e=>{d(()=>e),i(!0)})),[]),p=()=>{(0,w.trackExploreActionForm)({action:w.EXPLORE_ACTION.VALUE_DIFF,event:w.EXPLORE_FORM_EVENT.CANCEL}),s?.(!1),i(!1)};return{confirm:f,AlertDialog:(0,t.jsxs)(ec.default,{open:e,onClose:p,maxWidth:"md",fullWidth:!0,"aria-labelledby":"value-diff-alert-dialog-title",children:[(0,t.jsxs)(eG.default,{id:"value-diff-alert-dialog-title",sx:{fontSize:"1.125rem",fontWeight:"bold"},children:["Value Diff on ",a," nodes"]}),(0,t.jsx)($.default,{"aria-label":"close",onClick:p,sx:{position:"absolute",right:8,top:8,color:"grey.500"},children:(0,t.jsx)(q.IoClose,{})}),(0,t.jsx)(eu.default,{children:(0,t.jsx)(r.default,{spacing:"20px",children:(0,t.jsxs)(n.default,{children:["Value diff will be executed on ",a," nodes in the Lineage, which can add extra costs to your bill."]})})}),(0,t.jsxs)(eH.default,{sx:{gap:.5},children:[(0,t.jsx)(o.default,{ref:u,onClick:p,variant:"outlined",color:"neutral",children:"Cancel"}),(0,t.jsx)(o.default,{color:"iochmara",variant:"contained",onClick:()=>{(0,w.trackExploreActionForm)({action:w.EXPLORE_ACTION.VALUE_DIFF,event:w.EXPLORE_FORM_EVENT.EXECUTE}),s?.(!0),i(!1)},sx:{ml:1.5},children:"Execute"})]})]})}},eX={lineageGraphNode:A.GraphNode,lineageGraphColumnNode:O.GraphColumnNode},eW=[],eK={lineageGraphEdge:P.default},eZ=e=>e.data.changeStatus?(0,eB.getIconForChangeStatus)(e.data.changeStatus).hexColor:"lightgray",eQ=(0,c.forwardRef)(function({interactive:e=!1,...O},P){var A;let $,H=(0,s.useReactFlow)(),G=(0,c.useRef)(null),{successToast:U,failToast:X}=(0,k.useClipBoardToast)(),{copyToClipboard:W,ImageDownloadModal:K,ref:Z}=(0,_.useCopyToClipboard)({renderLibrary:"html-to-image",imageType:"png",shadowEffect:!0,backgroundColor:"white",ignoreElements:e=>{try{return e.classList.contains(_.IGNORE_SCREENSHOT_CLASS)}catch{if(e.className)return e.className.includes(_.IGNORE_SCREENSHOT_CLASS);return!1}},onSuccess:()=>{U("Copied the Lineage View as an image to clipboard")},onError:e=>{console.error("Error taking screenshot",e),X("Failed to copy image to clipboard",e)}}),[Q,q,Y]=(0,s.useNodesState)(eW),[J,ee,et]=(0,s.useEdgesState)([]),{lineageGraph:en,retchLineageGraph:eo,isLoading:ei,error:ea,refetchRunsAggregated:er}=(0,C.useLineageGraphContext)(),{featureToggles:el,singleEnv:es}=(0,j.useRecceInstanceContext)(),{runId:ed,showRunId:ec,closeRunResult:eu,runAction:ef,isRunResultOpen:ep}=(0,S.useRecceActionContext)(),{run:eg}=(0,R.useRun)(ed),[eh,em]=(0,c.useState)({...O.viewOptions}),ex=(0,c.useCallback)((e,t,n,o,i)=>{let a=e.filter(u.isLineageGraphNode),r=Object.fromEntries(Object.entries(Object.groupBy(a,e=>e.data.changeStatus??"unchanged")).map(([e,t])=>[`nodes_${e}`,t?.length??0])),l={node_count:a.length,view_mode:t,impact_radius_enabled:n,right_sidebar_open:i,...r};o&&(l.cll_column_active=!0),(0,w.trackLineageViewRender)(l)},[]),ey=(0,c.useRef)([]).current,[ew,ev]=(0,c.useState)(void 0),eC=(0,f.useMutation)({mutationFn:m.getCll}),[eS,ej]=(0,c.useState)({}),e_=(0,c.useCallback)(e=>Q.filter(u.isLineageGraphNode).find(t=>t.data.name===e),[Q]);(0,c.useImperativeHandle)(P,()=>({copyToClipboard:W}));let eE=(0,c.useMemo)(()=>!!(en&&en.modifiedSet.length>0),[en]),ek=eh.view_mode??"changed_models",eR=(0,c.useMemo)(()=>Q.filter(e=>"lineageGraphNode"===e.type).map(e=>e.id),[Q]),eN=(0,c.useMemo)(()=>en?eR.map(e=>en.nodes[e]):[],[en,eR]),[eI,eL]=(0,c.useState)(),eM=eI?en?.nodes[eI]:void 0,[eO,eP]=(0,c.useState)(),[eA,eT]=(0,c.useState)(new Set),ez=(0,c.useMemo)(()=>en?Array.from(eA).map(e=>en.nodes[e]):[],[en,eA]),eB=((e,{onActionStarted:t,onActionNodeUpdated:n,onActionCompleted:o})=>{let i=(0,c.useRef)({...e$}).current,{showRunId:a}=(0,S.useRecceActionContext)(),r=async(r,l,s)=>{i.mode="multi_nodes",i.actions={};let d=i.mode,c=i.actions;t(),i.status="running";let u=[];for(let t of e){let e=l(t);e?(c[t.id]={mode:d,status:"skipped",skipReason:e},n(t)):(c[t.id]={mode:d,status:"pending"},u.push(t))}let f=s(u);try{let{run_id:e}=await (0,eb.submitRun)(r,f,{nowait:!0});for(a(e),i.currentRun={run_id:e},i.total=1;;){let t=await (0,eb.waitRun)(e,2);i.currentRun=t;let o=t.error?"failure":t.result?"success":"running";for(let e of u)c[e.id]={mode:d,status:o,run:t},n(e);if(t.error||t.result)break}}catch(e){}if(i.completed=1,"canceling"===i.status){i.status="canceled",o();return}i.status="completed",o()},l=async(a,r)=>{i.mode="per_node",i.actions={};let l=i.mode,s=i.actions;for(let o of(t(),i.status="running",e))s[o.id]={mode:l,status:"pending"},n(o);for(let t of(i.completed=0,i.total=e.length,e)){let{params:e,skipReason:d}=r(t);if(d)s[t.id]={mode:l,status:"skipped",skipReason:d},n(t);else try{let{run_id:o}=await (0,eb.submitRun)(a,e,{nowait:!0});for(i.currentRun={run_id:o},s[t.id]={mode:l,status:"running"},n(t);;){let e=await (0,eb.waitRun)(o,2);i.currentRun=e;let a=e.error?"failure":e.result?"success":"running";if(s[t.id]={mode:l,status:a,run:e},n(t),e.error||e.result)break}}catch(e){}finally{i.currentRun=void 0}if(i.completed++,"canceling"===i.status){i.status="canceled",o();return}}i.status="completed",o()},s=async()=>{(0,w.trackExploreAction)({action:w.EXPLORE_ACTION.ROW_COUNT,source:w.EXPLORE_SOURCE.LINEAGE_VIEW_TOP_BAR,node_count:e.length});let t=[];for(let o of e)"model"!==o.data.resourceType?(i.actions[o.id]={mode:"multi_nodes",status:"skipped",skipReason:"Not a model"},n(o)):t.push(o.data.name);await r("row_count",e=>{if("model"!==e.data.resourceType)return"Not a model"},e=>({node_names:e.map(e=>e.data.name)}))},d=async()=>{(0,w.trackExploreAction)({action:w.EXPLORE_ACTION.ROW_COUNT_DIFF,source:w.EXPLORE_SOURCE.LINEAGE_VIEW_TOP_BAR,node_count:e.length});let t=[];for(let o of e)"model"!==o.data.resourceType?(i.actions[o.id]={mode:"multi_nodes",status:"skipped",skipReason:"Not a model"},n(o)):t.push(o.data.name);await r("row_count_diff",e=>{if("model"!==e.data.resourceType)return"Not a model"},e=>({node_names:e.map(e=>e.data.name)}))},u=async()=>{i.status="canceling",i.currentRun?.run_id&&await (0,eb.cancelRun)(i.currentRun.run_id)};return{actionState:i,runRowCount:s,runRowCountDiff:d,runValueDiff:async()=>{(0,w.trackExploreAction)({action:w.EXPLORE_ACTION.VALUE_DIFF,source:w.EXPLORE_SOURCE.LINEAGE_VIEW_TOP_BAR,node_count:e.length}),await l("value_diff",e=>{let t=e.data.data.current?.primary_key;return t?{params:{model:e.data.name,primary_key:t}}:{skipReason:"No primary key found. The first unique column is used as primary key."}})},addLineageDiffCheck:async()=>{let t=e.map(e=>e.id);return await (0,x.createLineageDiffCheck)({node_ids:t})},addSchemaDiffCheck:async()=>{let t;if(1===e.length)t=await (0,y.createSchemaDiffCheck)({node_id:e[0].id});else{let n=e.map(e=>e.id);t=await (0,y.createSchemaDiffCheck)({node_id:n})}return t},cancel:u,reset:()=>{Object.assign(i,e$)}}})(ez.length>0?ez:eN,{onActionStarted:()=>{eP("action_result")},onActionNodeUpdated:e=>{q(t=>t.map(t=>t.id===e.id?{...t}:t))},onActionCompleted:()=>{}}),eH=(0,c.useMemo)(()=>{if(!en)return new Set;let e=new Set;if(ew){for(let[t,n]of Object.entries(ew.current.nodes))!1!==n.impacted&&e.add(t);for(let t of Object.keys(ew.current.columns))e.add(t)}else e="action_result"===eO?new Set(Object.keys(eB.actionState.actions)):eM?(0,T.union)((0,u.selectUpstream)(en,[eM.id]),(0,u.selectDownstream)(en,[eM.id])):eE?(0,u.selectDownstream)(en,en.modifiedSet):new Set(eR);return new Set(e)},[en,ew,eO,eM,eE,eB.actionState.actions,eR]),eG=(0,F.useLineageViewContextMenu)(),eQ=()=>{eG.closeContextMenu()};(0,c.useLayoutEffect)(()=>{(async()=>{let e,t;if(!en)return;if(eh.node_ids)t=eh.node_ids;else{let e=en.manifestMetadata.current?.project_name,n={view_mode:eh.view_mode??(eE?"changed_models":"all"),packages:e?[e]:void 0,...O.viewOptions};try{t=(await (0,b.select)({select:n.select,exclude:n.exclude,packages:n.packages,view_mode:n.view_mode})).nodes}catch(e){n.view_mode="all",t=(await (0,b.select)({select:n.select,exclude:n.exclude,packages:n.packages,view_mode:n.view_mode})).nodes}em(n)}if(eh.column_level_lineage)try{e=await eC.mutateAsync(eh.column_level_lineage)}catch(e){if(e instanceof p.AxiosError)return void h.toaster.create({title:"Column Level Lineage error",description:e.response?.data.detail??e.message,type:"error",closable:!0})}let[n,o,i]=(0,u.toReactFlow)(en,{selectedNodes:t,cll:e});(0,u.layout)(n,o),q(n),ee(o),ej(i),ev(e),ex(n,eh.view_mode??"changed_models",eh.column_level_lineage?.change_analysis??!1,!!eh.column_level_lineage?.column,!!eI||!!eg)})()},[en]);let eq=()=>{eL(void 0)},eY=async e=>{let t=Q.find(t=>t.id===e);if(t){if(t.parentId){let e=t.parentId;t=Q.find(t=>t.id===e)??t}if(null!=t.measured){let{width:e,height:n}=t.measured;if(e&&n){let o=t.position.x+e/2,i=t.position.y+n/2,a=H.getZoom();await H.setCenter(o,i,{zoom:a,duration:200})}}}},eJ=(()=>{let[,e]=(0,E.useAppLocation)();return(0,c.useCallback)(t=>{t.check_id&&e(`/checks/?id=${t.check_id}`)},[e])})();A=async()=>{"selecting"!==eO&&(eI?await eY(eI):await H.fitView({nodes:Q,duration:200}))},$=(0,c.useRef)({width:0,height:0}),(0,c.useEffect)(()=>{let e=G.current,t=new ResizeObserver(e=>{for(let t of e){let e=t.contentRect.width,n=t.contentRect.height;(Math.abs(n-$.current.height)>10||Math.abs(e-$.current.width)>10)&&$.current.height>0&&n>0&&$.current.width>0&&e>0&&A(),$.current={width:e,height:n}}});return e&&t.observe(e),()=>{e&&t.unobserve(e)}},[A,G]);let e0=async(e,t=!1)=>{let n=eh.column_level_lineage;await e5({...eh,column_level_lineage:e},!1),t||ey.push(n),e?.node_id?eL(e.node_id):eL(void 0)},e1=async e=>{if(e){if(0===ey.length)return;let e=ey.pop();e?await e0(e,!0):await e0(void 0,!0)}else await e0(void 0,!0)},e2=(t,n)=>{if(e&&en){if((0,u.isLineageGraphColumnNode)(n))return void(!eO&&e0({node_id:n.data.node.id,column:n.data.column}));if(eQ(),eO)if("action_result"===eO){let e=eB.actionState.actions[n.id];e.run?.run_id&&ec(e.run.run_id),eL(n.id)}else{let e=new Set(eA);eA.has(n.id)?e.delete(n.id):e.add(n.id),eT(e),0===e.size&&eP(void 0)}else eL(n.id)}},e3=async e=>{let t,n,{viewOptions:o=eh}=e,{fitView:i}=e;if(!en)return;if(eh.select!==o.select||eh.exclude!==o.exclude||eh.packages!==o.packages||eh.view_mode!==o.view_mode){try{let e=await (0,b.select)({select:o.select,exclude:o.exclude,packages:o.packages,view_mode:o.view_mode});o={...o,column_level_lineage:void 0},t=e.nodes}catch(e){e instanceof p.AxiosError&&h.toaster.create({title:"Select node error",description:e.response?.data.detail??e.message,type:"error",closable:!0});return}eL(void 0)}else t=Q.map(e=>e.id);if(o.column_level_lineage)try{n=await eC.mutateAsync(o.column_level_lineage)}catch(e){if(e instanceof p.AxiosError)return void h.toaster.create({title:"Column Level Lineage error",description:e.response?.data.detail??e.message,type:"error",closable:!0})}let[a,r,l]=(0,u.toReactFlow)(en,{selectedNodes:t,cll:n});q(a),ee(r),ej(l),ev(n),ex(a,o.view_mode??"changed_models",o.column_level_lineage?.change_analysis??!1,!!o.column_level_lineage?.column,!!eI||!!eg),eg&&((0,v.isTopKDiffRun)(eg)||(0,v.isProfileDiffRun)(eg)||(0,v.isHistogramDiffRun)(eg)||(0,v.isValueDiffRun)(eg)||(0,v.isValueDiffDetailRun)(eg))&&eg.params?.model&&!e_(eg.params.model)&&eu(),i&&(await new Promise(e=>setTimeout(e,1)),H.fitView({nodes:a,duration:200}))},e5=async(e,t=!0)=>{em(e),await e3({viewOptions:e,fitView:t})},e4=eU();(0,c.useEffect)(()=>{let t=eg?.type;if(e&&ep&&!(!t||["query_diff","query","row_count"].includes(t))&&!eO){let e;((0,v.isTopKDiffRun)(eg)||(0,v.isProfileDiffRun)(eg)||(0,v.isHistogramDiffRun)(eg)||(0,v.isValueDiffRun)(eg)||(0,v.isValueDiffDetailRun)(eg))&&(e=eg.params?.model);let t=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window});if(e){let n=e_(e);n?(0,u.isLineageGraphNode)(n)&&eM!==n.data.data&&e2(t,n):e5({...eh,view_mode:"all"})}else eq()}},[eg,eh,ep,eO,e_,eM,e]);let e6=(t,n)=>{if(!e||"action_result"===eO)return;t.preventDefault();let o=Z.current,i=o.getBoundingClientRect(),a=t.clientX-i.left,r=t.clientY-i.top+o.offsetTop;eG.showContextMenu(a,r,n)},e8=()=>{eP(void 0),eT(new Set),eL(void 0),eu(),er?.()},e7={interactive:e,nodes:Q,focusedNode:eM,selectedNodes:ez,viewOptions:eh,showContextMenu:e6,onViewOptionsChanged:e5,selectMode:eO,selectNode:e=>{if(eO){if("selecting"===eO){let t=new Set(eA);eA.has(e)?t.delete(e):t.add(e),eT(t),0===t.size&&eP(void 0)}}else en&&(eT(new Set([e])),eP("selecting"),eL(void 0),eB.reset())},selectParentNodes:(e,t=1e3)=>{if("action_result"===eO||void 0===en)return;!eO&&(eP("selecting"),eB.reset(),eh.column_level_lineage&&e5({...eh,column_level_lineage:void 0}));let n=(0,u.selectUpstream)(en,[e],t);eT((0,T.union)(eA,n))},selectChildNodes:(e,t=1e3)=>{if("action_result"===eO||void 0===en)return;!eO&&(eP("selecting"),eB.reset(),eh.column_level_lineage&&e5({...eh,column_level_lineage:void 0}));let n=(0,u.selectDownstream)(en,[e],t);eT((0,T.union)(eA,n))},deselect:e8,isNodeHighlighted:e=>eH.has(e),isNodeSelected:e=>eA.has(e),isEdgeHighlighted:(e,t)=>ew?e in ew.current.parent_map&&t in ew.current.parent_map[e]:eH.has(e)&&eH.has(t),isNodeShowingChangeAnalysis:e=>{if(!en)return!1;let t=e in en.nodes?en.nodes[e]:void 0;if(eh.column_level_lineage?.change_analysis){let n=eh.column_level_lineage;return n.node_id&&!n.column?n.node_id===e&&!!t?.data.changeStatus:!!t?.data.changeStatus}return!1},getNodeAction:e=>eB.actionState.actions[e],getNodeColumnSet:e=>e in eS?new Set(eS[e]):new Set,runRowCount:async()=>{"selecting"===eO?(await eB.runRowCount(),(0,w.trackMultiNodesAction)({type:"row_count",selected:"multi"})):eM?(ef("row_count",{node_names:[eM.data.name]},{showForm:!1,showLast:!1}),(0,w.trackMultiNodesAction)({type:"row_count",selected:"single"})):(ef("row_count",{select:eh.select,exclude:eh.exclude,packages:eh.packages,view_mode:eh.view_mode}),(0,w.trackMultiNodesAction)({type:"row_count",selected:"none"}))},runRowCountDiff:async()=>{"selecting"===eO?(await eB.runRowCountDiff(),(0,w.trackMultiNodesAction)({type:"row_count_diff",selected:"multi"})):eM?(ef("row_count_diff",{node_names:[eM.data.name]},{showForm:!1,showLast:!1}),(0,w.trackMultiNodesAction)({type:"row_count_diff",selected:"single"})):(ef("row_count_diff",{select:eh.select,exclude:eh.exclude,packages:eh.packages,view_mode:eh.view_mode}),(0,w.trackMultiNodesAction)({type:"row_count_diff",selected:"none"}))},runValueDiff:async()=>{if(eM)ef("value_diff",{model:eM.data.name},{showForm:!0,showLast:!1}),(0,w.trackMultiNodesAction)({type:"value_diff",selected:"single"});else{let e="selecting"===eO?ez.length:eR.length;await e4.confirm(e)&&(await eB.runValueDiff(),(0,w.trackMultiNodesAction)({type:"value_diff",selected:"selecting"===eO?"multi":"none"}))}},addLineageDiffCheck:async()=>{let e;"selecting"===eO?(e=await eB.addLineageDiffCheck(),e8(),(0,w.trackMultiNodesAction)({type:"lineage_diff",selected:"multi"})):eM||(e=await (0,x.createLineageDiffCheck)(eh),(0,w.trackMultiNodesAction)({type:"lineage_diff",selected:"none"})),e&&eJ(e)},addSchemaDiffCheck:async()=>{let e;"selecting"===eO?ez.length>0&&(e=await eB.addSchemaDiffCheck(),e8(),(0,w.trackMultiNodesAction)({type:"schema_diff",selected:"multi"})):eM?(e=await (0,y.createSchemaDiffCheck)({node_id:eM.id}),(0,w.trackMultiNodesAction)({type:"schema_diff",selected:"single"})):(e=await (0,y.createSchemaDiffCheck)({select:eh.select,exclude:eh.exclude,packages:eh.packages,view_mode:eh.view_mode}),(0,w.trackMultiNodesAction)({type:"schema_diff",selected:"none"})),e&&eJ(e)},cancel:eB.cancel,actionState:eB.actionState,centerNode:eY,cll:ew,showColumnLevelLineage:e0,resetColumnLevelLineage:e1};return ei?(0,t.jsx)(n.default,{sx:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,t.jsx)(i.default,{size:48})}):ea?(0,t.jsx)(n.default,{sx:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,t.jsxs)(r.default,{alignItems:"center",spacing:1,children:[(0,t.jsx)(n.default,{children:"Failed to load lineage data. This could be because the server has been terminated or there is a network error."}),(0,t.jsxs)(n.default,{children:["[Reason: ",ea,"]"]}),(0,t.jsx)(o.default,{color:"iochmara",variant:"contained",onClick:()=>{eo&&eo()},children:"Retry"})]})}):en&&Q!=eW?"changed_models"!==ek||en.modifiedSet.length?(0,t.jsxs)(z.LineageViewContext.Provider,{value:e7,children:[(0,t.jsxs)(N.HSplit,{sizes:eM?[70,30]:[100,0],minSize:400*!!eM,gutterSize:5*!!eM,style:{height:"100%",width:"100%"},children:[(0,t.jsxs)(r.default,{ref:G,divider:(0,t.jsx)(a.default,{sx:{borderColor:"grey.200"}}),spacing:0,sx:{contain:"strict",position:"relative"},children:[e&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(B.LineageViewTopBar,{}),"metadata only"===el.mode&&(0,t.jsx)(eF,{})]}),(0,t.jsxs)(s.ReactFlow,{proOptions:{hideAttribution:!0},nodeTypes:eX,edgeTypes:eK,nodes:Q,edges:J,onNodesChange:Y,onEdgesChange:et,onNodeClick:e2,onNodeContextMenu:e6,onClick:eQ,onInit:async()=>{if(eE)await H.fitView();else{let e=(0,d.getNodesBounds)(Q,{});await H.setCenter(e.x+e.width/2,e.y+e.height/2,{zoom:1})}},maxZoom:1,minZoom:.1,nodesDraggable:e,ref:Z,children:[(0,t.jsx)(s.Background,{color:"#ccc"}),(0,t.jsx)(s.Controls,{showInteractive:!1,position:"top-right",className:_.IGNORE_SCREENSHOT_CLASS,children:(0,t.jsx)(s.ControlButton,{title:"copy image",onClick:async()=>{await W(),(0,w.trackCopyToClipboard)({type:ek,from:"lineage_view"})},children:(0,t.jsx)(n.default,{component:g.FiCopy})})}),(0,t.jsx)(K,{}),(0,t.jsx)(s.Panel,{position:"bottom-left",children:(0,t.jsxs)(r.default,{spacing:"5px",children:[eE&&(0,t.jsx)(L.ChangeStatusLegend,{}),eh.column_level_lineage&&(0,t.jsx)(M.ColumnLevelLineageLegend,{})]})}),(0,t.jsx)(s.Panel,{position:"top-center",children:(0,t.jsx)(V.LineageViewNotification,{notification:es?(0,t.jsx)(eV.BaseEnvironmentSetupNotification,{}):null,type:"info"})}),(0,t.jsx)(s.Panel,{position:"top-left",children:(0,t.jsxs)(r.default,{spacing:"5px",children:[(0,t.jsx)(D.ColumnLevelLineageControl,{action:eC}),0==Q.length&&(0,t.jsx)(l.default,{sx:{fontSize:"1.25rem",color:"grey",opacity:.5},children:"No nodes"})]})}),(0,t.jsx)(s.MiniMap,{nodeColor:eZ,nodeStrokeWidth:3,zoomable:!0,pannable:!0}),"action_result"===eO&&(0,t.jsx)(s.Panel,{position:"bottom-center",className:_.IGNORE_SCREENSHOT_CLASS,children:(0,t.jsx)(I.ActionControl,{onClose:()=>{e8()}})})]}),(0,t.jsx)(F.LineageViewContextMenu,{...eG.props})]}),eM?(0,t.jsx)(n.default,{sx:{borderLeft:"solid 1px lightgray",height:"100%"},children:(0,t.jsx)(eD,{node:eM,onCloseNode:eq})}):(0,t.jsx)(n.default,{})]}),e4.AlertDialog]}):(0,t.jsx)(n.default,{sx:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,t.jsxs)(r.default,{alignItems:"center",spacing:1,children:[(0,t.jsx)(t.Fragment,{children:"No change detected"}),(0,t.jsx)(o.default,{color:"iochmara",variant:"contained",onClick:async()=>{await e5({...eh,view_mode:"all"})},children:"Show all nodes"})]})}):(0,t.jsx)(t.Fragment,{})});e.s(["LineageView",0,eQ],302061)}]);
@@ -0,0 +1,2 @@
1
+ .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))}
2
+ .node-unhighlight{filter:opacity(.2)grayscale(50%)}.node-highlight{border-width:1px;border-color:"orange";box-shadow:"0px 5px 15px #00000040"}