@datarecce/ui 0.1.41 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (728) hide show
  1. package/README.md +28 -133
  2. package/dist/AuthModal-C8LetZNB.js +23 -0
  3. package/dist/AuthModal-C8LetZNB.js.map +1 -0
  4. package/dist/LineageCanvas-CR38SDYr.d.ts +41 -0
  5. package/dist/LineageCanvas-CR38SDYr.d.ts.map +1 -0
  6. package/dist/ResultErrorFallback-C7c-TN1p.js +3 -0
  7. package/dist/ResultErrorFallback-C7c-TN1p.js.map +1 -0
  8. package/dist/RouteConfigContext-z8YNimdP.d.ts +172 -0
  9. package/dist/RouteConfigContext-z8YNimdP.d.ts.map +1 -0
  10. package/dist/RunProgress-DyFIALbI.d.ts +429 -0
  11. package/dist/RunProgress-DyFIALbI.d.ts.map +1 -0
  12. package/dist/ScreenshotDataGrid-BfxYUThx.d.ts +64 -0
  13. package/dist/ScreenshotDataGrid-BfxYUThx.d.ts.map +1 -0
  14. package/dist/SplitPane-B-BLxZaQ.d.ts +1427 -0
  15. package/dist/SplitPane-B-BLxZaQ.d.ts.map +1 -0
  16. package/dist/advanced.d.ts +18 -0
  17. package/dist/advanced.d.ts.map +1 -0
  18. package/dist/advanced.js +3 -0
  19. package/dist/advanced.js.map +1 -0
  20. package/dist/api-ZZ4cc9b9.d.ts +255 -0
  21. package/dist/api-ZZ4cc9b9.d.ts.map +1 -0
  22. package/dist/api-_i6BZPkM.js +3 -0
  23. package/dist/api-_i6BZPkM.js.map +1 -0
  24. package/dist/api.d.ts +3 -2
  25. package/dist/api.js +2 -100
  26. package/dist/colors--47Kkns4.js +3 -0
  27. package/dist/colors--47Kkns4.js.map +1 -0
  28. package/dist/colors-vY9Yzui0.d.ts +255 -0
  29. package/dist/colors-vY9Yzui0.d.ts.map +1 -0
  30. package/dist/components-run.d.ts +8 -0
  31. package/dist/components-run.js +2 -0
  32. package/dist/components.d.ts +22 -2
  33. package/dist/components.js +2 -86
  34. package/dist/const-DbXBkrxT.js +3 -0
  35. package/dist/const-DbXBkrxT.js.map +1 -0
  36. package/dist/constants-DD5vJv2q.js +3 -0
  37. package/dist/constants-DD5vJv2q.js.map +1 -0
  38. package/dist/constants.d.ts +3 -0
  39. package/dist/constants.js +2 -0
  40. package/dist/contexts.d.ts +7 -0
  41. package/dist/contexts.js +2 -0
  42. package/dist/flag-CiR2E5oz.d.ts +898 -0
  43. package/dist/flag-CiR2E5oz.d.ts.map +1 -0
  44. package/dist/flag-koeDAqr3.js +3 -0
  45. package/dist/flag-koeDAqr3.js.map +1 -0
  46. package/dist/hooks.d.ts +15 -2
  47. package/dist/hooks.js +2 -43
  48. package/dist/index-BFkbe0aF.d.ts +698 -0
  49. package/dist/index-BFkbe0aF.d.ts.map +1 -0
  50. package/dist/index-Ba3hp2Ng.d.ts +471 -0
  51. package/dist/index-Ba3hp2Ng.d.ts.map +1 -0
  52. package/dist/index-C_kD4ZQ3.d.ts +1079 -0
  53. package/dist/index-C_kD4ZQ3.d.ts.map +1 -0
  54. package/dist/index-CiPcALu4.d.ts +146 -0
  55. package/dist/index-CiPcALu4.d.ts.map +1 -0
  56. package/dist/index-CkXLPYZY.d.ts +13 -0
  57. package/dist/index-CkXLPYZY.d.ts.map +1 -0
  58. package/dist/index-DTCpHvX_.d.ts +211 -0
  59. package/dist/index-DTCpHvX_.d.ts.map +1 -0
  60. package/dist/index-DVoQsx5c.d.ts +349 -0
  61. package/dist/index-DVoQsx5c.d.ts.map +1 -0
  62. package/dist/index-DmwYRgDR.d.ts +192 -0
  63. package/dist/index-DmwYRgDR.d.ts.map +1 -0
  64. package/dist/index-N8N7XmRj.d.ts +130 -0
  65. package/dist/index-N8N7XmRj.d.ts.map +1 -0
  66. package/dist/index-h_fw6R9U.d.ts +1501 -0
  67. package/dist/index-h_fw6R9U.d.ts.map +1 -0
  68. package/dist/index-o48TPoFN.d.ts +734 -0
  69. package/dist/index-o48TPoFN.d.ts.map +1 -0
  70. package/dist/index.d.ts +24 -2
  71. package/dist/index.js +2 -198
  72. package/dist/keepAlive-CEzyrDfg.js +3 -0
  73. package/dist/keepAlive-CEzyrDfg.js.map +1 -0
  74. package/dist/lib/api/axiosClient.d.ts +8 -0
  75. package/dist/lib/api/axiosClient.d.ts.map +1 -0
  76. package/dist/lib/api/axiosClient.js +3 -0
  77. package/dist/lib/api/axiosClient.js.map +1 -0
  78. package/dist/lib/api/track.d.ts +137 -0
  79. package/dist/lib/api/track.d.ts.map +1 -0
  80. package/dist/lib/api/track.js +2 -0
  81. package/dist/lib/api/user.d.ts +16 -0
  82. package/dist/lib/api/user.d.ts.map +1 -0
  83. package/dist/lib/api/user.js +2 -0
  84. package/dist/lib/const.d.ts +8 -0
  85. package/dist/lib/const.d.ts.map +1 -0
  86. package/dist/lib/const.js +2 -0
  87. package/dist/lib/result/ResultErrorFallback.d.ts +8 -0
  88. package/dist/lib/result/ResultErrorFallback.d.ts.map +1 -0
  89. package/dist/lib/result/ResultErrorFallback.js +2 -0
  90. package/dist/primitives-CgGUvwHB.d.ts +914 -0
  91. package/dist/primitives-CgGUvwHB.d.ts.map +1 -0
  92. package/dist/primitives.d.ts +12 -0
  93. package/dist/primitives.js +2 -0
  94. package/dist/result.d.ts +4 -0
  95. package/dist/result.js +2 -0
  96. package/dist/src-BgHSbbHk.js +67 -0
  97. package/dist/src-BgHSbbHk.js.map +1 -0
  98. package/dist/styles.css +478 -4
  99. package/dist/theme-CeWzymUn.js +64 -0
  100. package/dist/theme-CeWzymUn.js.map +1 -0
  101. package/dist/theme.d.ts +3 -2
  102. package/dist/theme.js +2 -9
  103. package/dist/track-9ZQpBlUK.js +3 -0
  104. package/dist/track-9ZQpBlUK.js.map +1 -0
  105. package/dist/types-CFbNxrx2.d.ts +171 -0
  106. package/dist/types-CFbNxrx2.d.ts.map +1 -0
  107. package/dist/types-CZre3j02.d.ts +231 -0
  108. package/dist/types-CZre3j02.d.ts.map +1 -0
  109. package/dist/types.d.ts +14 -2
  110. package/dist/types.js +3 -9
  111. package/dist/types.js.map +1 -0
  112. package/dist/useRecceServerFlag-Bg5R67J4.js +3 -0
  113. package/dist/useRecceServerFlag-Bg5R67J4.js.map +1 -0
  114. package/dist/useThemeColors--prVbMmM.js +3 -0
  115. package/dist/useThemeColors--prVbMmM.js.map +1 -0
  116. package/dist/useThemeColors-DHEroo8f.d.ts +104 -0
  117. package/dist/useThemeColors-DHEroo8f.d.ts.map +1 -0
  118. package/dist/user-DMT7E0fc.js +3 -0
  119. package/dist/user-DMT7E0fc.js.map +1 -0
  120. package/dist/utils-CW2skXm_.js +3 -0
  121. package/dist/utils-CW2skXm_.js.map +1 -0
  122. package/dist/utils-CXWhfyxC.js +5 -0
  123. package/dist/utils-CXWhfyxC.js.map +1 -0
  124. package/dist/utils.d.ts +7 -0
  125. package/dist/utils.js +2 -0
  126. package/package.json +115 -107
  127. package/LICENSE +0 -201
  128. package/dist/RecceCheckContext-BJprb2xR.js +0 -7968
  129. package/dist/RecceCheckContext-BJprb2xR.js.map +0 -1
  130. package/dist/RecceCheckContext-DPnWB_aU.css +0 -215
  131. package/dist/RecceCheckContext-DPnWB_aU.css.map +0 -1
  132. package/dist/RecceCheckContext-DbZ7BdRy.mjs +0 -7426
  133. package/dist/RecceCheckContext-DbZ7BdRy.mjs.map +0 -1
  134. package/dist/RecceCheckContext-DyxOeUsX.css +0 -215
  135. package/dist/RecceCheckContext-DyxOeUsX.css.map +0 -1
  136. package/dist/api.d.mts +0 -3
  137. package/dist/api.js.map +0 -1
  138. package/dist/api.mjs +0 -46
  139. package/dist/api.mjs.map +0 -1
  140. package/dist/components-BeAjVBV3.css +0 -70
  141. package/dist/components-BeAjVBV3.css.map +0 -1
  142. package/dist/components-DfXnN1Hx.js +0 -14689
  143. package/dist/components-DfXnN1Hx.js.map +0 -1
  144. package/dist/components-iUxcqtUB.css +0 -70
  145. package/dist/components-iUxcqtUB.css.map +0 -1
  146. package/dist/components-jh6r4tQn.mjs +0 -12348
  147. package/dist/components-jh6r4tQn.mjs.map +0 -1
  148. package/dist/components.d.mts +0 -3
  149. package/dist/components.mjs +0 -9
  150. package/dist/const-CaIm1Z8g.mjs +0 -12
  151. package/dist/const-CaIm1Z8g.mjs.map +0 -1
  152. package/dist/const-CvdZO0FN.js +0 -24
  153. package/dist/const-CvdZO0FN.js.map +0 -1
  154. package/dist/hooks-cQsBXBd1.js +0 -40
  155. package/dist/hooks-cQsBXBd1.js.map +0 -1
  156. package/dist/hooks-eaHm_yEp.mjs +0 -33
  157. package/dist/hooks-eaHm_yEp.mjs.map +0 -1
  158. package/dist/hooks.d.mts +0 -3
  159. package/dist/hooks.mjs +0 -8
  160. package/dist/html2canvas-pro.esm-CsuSOHXp.js +0 -7250
  161. package/dist/html2canvas-pro.esm-CsuSOHXp.js.map +0 -1
  162. package/dist/html2canvas-pro.esm-E7kpobrC.mjs +0 -7249
  163. package/dist/html2canvas-pro.esm-E7kpobrC.mjs.map +0 -1
  164. package/dist/index-B5bpmv0i.d.mts +0 -2172
  165. package/dist/index-B5bpmv0i.d.mts.map +0 -1
  166. package/dist/index-B9lSPJTi.d.ts +0 -2170
  167. package/dist/index-B9lSPJTi.d.ts.map +0 -1
  168. package/dist/index.d.mts +0 -3
  169. package/dist/index.js.map +0 -1
  170. package/dist/index.mjs +0 -20
  171. package/dist/index.mjs.map +0 -1
  172. package/dist/mui-theme-CUhybmBq.mjs +0 -696
  173. package/dist/mui-theme-CUhybmBq.mjs.map +0 -1
  174. package/dist/mui-theme-iBHkjXJq.js +0 -732
  175. package/dist/mui-theme-iBHkjXJq.js.map +0 -1
  176. package/dist/state-CTITyT0R.js +0 -795
  177. package/dist/state-CTITyT0R.js.map +0 -1
  178. package/dist/state-Sc2b4jri.mjs +0 -382
  179. package/dist/state-Sc2b4jri.mjs.map +0 -1
  180. package/dist/theme.d.mts +0 -3
  181. package/dist/theme.mjs +0 -4
  182. package/dist/tooltipMessage-BC5W7H3X.js +0 -13
  183. package/dist/tooltipMessage-BC5W7H3X.js.map +0 -1
  184. package/dist/tooltipMessage-B_xMIKWL.mjs +0 -7
  185. package/dist/tooltipMessage-B_xMIKWL.mjs.map +0 -1
  186. package/dist/types.d.mts +0 -3
  187. package/dist/types.mjs +0 -6
  188. package/dist/urls-BQW5wjg-.js +0 -13
  189. package/dist/urls-BQW5wjg-.js.map +0 -1
  190. package/dist/urls-DT7FVEcS.mjs +0 -7
  191. package/dist/urls-DT7FVEcS.mjs.map +0 -1
  192. package/dist/version-B9s8yne-.js +0 -300
  193. package/dist/version-B9s8yne-.js.map +0 -1
  194. package/dist/version-DP1kU_7v.mjs +0 -162
  195. package/dist/version-DP1kU_7v.mjs.map +0 -1
  196. package/recce-source/.editorconfig +0 -26
  197. package/recce-source/.flake8 +0 -37
  198. package/recce-source/.github/ISSUE_TEMPLATE/bug_report.yml +0 -67
  199. package/recce-source/.github/ISSUE_TEMPLATE/custom.md +0 -10
  200. package/recce-source/.github/ISSUE_TEMPLATE/feature_request.yml +0 -42
  201. package/recce-source/.github/PULL_REQUEST_TEMPLATE.md +0 -21
  202. package/recce-source/.github/copilot-instructions.md +0 -331
  203. package/recce-source/.github/instructions/backend-instructions.md +0 -541
  204. package/recce-source/.github/instructions/frontend-instructions.md +0 -317
  205. package/recce-source/.github/workflows/build-statics.yaml +0 -72
  206. package/recce-source/.github/workflows/bump.yaml +0 -48
  207. package/recce-source/.github/workflows/integration-tests-cloud.yaml +0 -92
  208. package/recce-source/.github/workflows/integration-tests-sqlmesh.yaml +0 -33
  209. package/recce-source/.github/workflows/integration-tests.yaml +0 -52
  210. package/recce-source/.github/workflows/nightly.yaml +0 -246
  211. package/recce-source/.github/workflows/release.yaml +0 -196
  212. package/recce-source/.github/workflows/tests-js.yaml +0 -58
  213. package/recce-source/.github/workflows/tests-python.yaml +0 -128
  214. package/recce-source/.pre-commit-config.yaml +0 -26
  215. package/recce-source/CLAUDE.md +0 -483
  216. package/recce-source/CODE_OF_CONDUCT.md +0 -128
  217. package/recce-source/CONTRIBUTING.md +0 -107
  218. package/recce-source/LICENSE +0 -201
  219. package/recce-source/Makefile +0 -126
  220. package/recce-source/README.md +0 -182
  221. package/recce-source/RECCE_CLOUD.md +0 -81
  222. package/recce-source/SECURITY.md +0 -25
  223. package/recce-source/docs/PACKAGING.md +0 -340
  224. package/recce-source/docs/README.md +0 -1
  225. package/recce-source/docs/plans/2024-12-31-csv-download-design.md +0 -121
  226. package/recce-source/docs/plans/2024-12-31-csv-download-implementation.md +0 -930
  227. package/recce-source/integration_tests/dbt/dbt_project.yml +0 -26
  228. package/recce-source/integration_tests/dbt/models/customers.sql +0 -69
  229. package/recce-source/integration_tests/dbt/models/docs.md +0 -14
  230. package/recce-source/integration_tests/dbt/models/orders.sql +0 -56
  231. package/recce-source/integration_tests/dbt/models/schema.yml +0 -82
  232. package/recce-source/integration_tests/dbt/models/staging/schema.yml +0 -31
  233. package/recce-source/integration_tests/dbt/models/staging/stg_customers.sql +0 -22
  234. package/recce-source/integration_tests/dbt/models/staging/stg_orders.sql +0 -23
  235. package/recce-source/integration_tests/dbt/models/staging/stg_payments.sql +0 -25
  236. package/recce-source/integration_tests/dbt/packages.yml +0 -7
  237. package/recce-source/integration_tests/dbt/profiles.yml +0 -8
  238. package/recce-source/integration_tests/dbt/seeds/raw_customers.csv +0 -101
  239. package/recce-source/integration_tests/dbt/seeds/raw_orders.csv +0 -100
  240. package/recce-source/integration_tests/dbt/seeds/raw_payments.csv +0 -114
  241. package/recce-source/integration_tests/dbt/seeds/raw_statuses.csv +0 -5
  242. package/recce-source/integration_tests/dbt/smoke_test.sh +0 -72
  243. package/recce-source/integration_tests/dbt/smoke_test_cloud.sh +0 -71
  244. package/recce-source/integration_tests/sqlmesh/__init__.py +0 -0
  245. package/recce-source/integration_tests/sqlmesh/audits/assert_item_price_above_zero.sql +0 -9
  246. package/recce-source/integration_tests/sqlmesh/audits/items.sql +0 -7
  247. package/recce-source/integration_tests/sqlmesh/audits/order_items.sql +0 -7
  248. package/recce-source/integration_tests/sqlmesh/config.py +0 -171
  249. package/recce-source/integration_tests/sqlmesh/helper.py +0 -20
  250. package/recce-source/integration_tests/sqlmesh/hooks/__init__.py +0 -0
  251. package/recce-source/integration_tests/sqlmesh/macros/__init__.py +0 -0
  252. package/recce-source/integration_tests/sqlmesh/macros/macros.py +0 -8
  253. package/recce-source/integration_tests/sqlmesh/macros/macros.sql +0 -8
  254. package/recce-source/integration_tests/sqlmesh/macros/utils.py +0 -11
  255. package/recce-source/integration_tests/sqlmesh/metrics/metrics.sql +0 -25
  256. package/recce-source/integration_tests/sqlmesh/models/customer_revenue_by_day.sql +0 -41
  257. package/recce-source/integration_tests/sqlmesh/models/customer_revenue_lifetime.sql +0 -60
  258. package/recce-source/integration_tests/sqlmesh/models/customers.sql +0 -32
  259. package/recce-source/integration_tests/sqlmesh/models/items.py +0 -95
  260. package/recce-source/integration_tests/sqlmesh/models/marketing.sql +0 -15
  261. package/recce-source/integration_tests/sqlmesh/models/order_items.py +0 -95
  262. package/recce-source/integration_tests/sqlmesh/models/orders.py +0 -70
  263. package/recce-source/integration_tests/sqlmesh/models/raw_marketing.py +0 -62
  264. package/recce-source/integration_tests/sqlmesh/models/top_waiters.sql +0 -23
  265. package/recce-source/integration_tests/sqlmesh/models/waiter_as_customer_by_day.sql +0 -29
  266. package/recce-source/integration_tests/sqlmesh/models/waiter_names.sql +0 -10
  267. package/recce-source/integration_tests/sqlmesh/models/waiter_revenue_by_day.sql +0 -29
  268. package/recce-source/integration_tests/sqlmesh/models/waiters.py +0 -62
  269. package/recce-source/integration_tests/sqlmesh/prep_env.sh +0 -16
  270. package/recce-source/integration_tests/sqlmesh/schema.yaml +0 -5
  271. package/recce-source/integration_tests/sqlmesh/seeds/waiter_names.csv +0 -11
  272. package/recce-source/integration_tests/sqlmesh/test_server.sh +0 -29
  273. package/recce-source/integration_tests/sqlmesh/tests/test_customer_revenue_by_day.yaml +0 -63
  274. package/recce-source/integration_tests/sqlmesh/tests/test_order_items.yaml +0 -72
  275. package/recce-source/js/.editorconfig +0 -27
  276. package/recce-source/js/.env.development +0 -5
  277. package/recce-source/js/.husky/pre-commit +0 -29
  278. package/recce-source/js/.nvmrc +0 -1
  279. package/recce-source/js/README.md +0 -39
  280. package/recce-source/js/app/(mainComponents)/DisplayModeToggle.tsx +0 -65
  281. package/recce-source/js/app/(mainComponents)/NavBar.tsx +0 -228
  282. package/recce-source/js/app/(mainComponents)/RecceVersionBadge.tsx +0 -107
  283. package/recce-source/js/app/(mainComponents)/TopBar.tsx +0 -252
  284. package/recce-source/js/app/@lineage/default.tsx +0 -20
  285. package/recce-source/js/app/@lineage/page.tsx +0 -14
  286. package/recce-source/js/app/MainLayout.tsx +0 -170
  287. package/recce-source/js/app/Providers.tsx +0 -49
  288. package/recce-source/js/app/checks/page.tsx +0 -296
  289. package/recce-source/js/app/error.tsx +0 -93
  290. package/recce-source/js/app/favicon.ico +0 -0
  291. package/recce-source/js/app/global-error.tsx +0 -115
  292. package/recce-source/js/app/global.css +0 -82
  293. package/recce-source/js/app/layout.tsx +0 -48
  294. package/recce-source/js/app/lineage/page.tsx +0 -15
  295. package/recce-source/js/app/page.tsx +0 -12
  296. package/recce-source/js/app/query/page.tsx +0 -8
  297. package/recce-source/js/biome.json +0 -313
  298. package/recce-source/js/jest.config.js +0 -34
  299. package/recce-source/js/jest.globals.d.ts +0 -32
  300. package/recce-source/js/jest.setup.js +0 -91
  301. package/recce-source/js/next.config.js +0 -16
  302. package/recce-source/js/package-lock.json +0 -13843
  303. package/recce-source/js/package.json +0 -123
  304. package/recce-source/js/pnpm-lock.yaml +0 -9235
  305. package/recce-source/js/pnpm-workspace.yaml +0 -6
  306. package/recce-source/js/postcss.config.js +0 -5
  307. package/recce-source/js/public/auth_callback.html +0 -68
  308. package/recce-source/js/public/imgs/feedback/thumbs-down.png +0 -0
  309. package/recce-source/js/public/imgs/feedback/thumbs-up.png +0 -0
  310. package/recce-source/js/public/imgs/reload-image.svg +0 -4
  311. package/recce-source/js/public/logo/recce-logo-white.png +0 -0
  312. package/recce-source/js/src/components/AuthModal/AuthModal.tsx +0 -202
  313. package/recce-source/js/src/components/app/AvatarDropdown.tsx +0 -159
  314. package/recce-source/js/src/components/app/EnvInfo.tsx +0 -357
  315. package/recce-source/js/src/components/app/Filename.tsx +0 -388
  316. package/recce-source/js/src/components/app/SetupConnectionPopover.tsx +0 -91
  317. package/recce-source/js/src/components/app/StateExporter.tsx +0 -57
  318. package/recce-source/js/src/components/app/StateImporter.tsx +0 -198
  319. package/recce-source/js/src/components/app/StateSharing.tsx +0 -145
  320. package/recce-source/js/src/components/app/StateSynchronizer.tsx +0 -205
  321. package/recce-source/js/src/components/charts/HistogramChart.tsx +0 -291
  322. package/recce-source/js/src/components/charts/SquareIcon.tsx +0 -51
  323. package/recce-source/js/src/components/charts/TopKSummaryList.tsx +0 -457
  324. package/recce-source/js/src/components/charts/chartTheme.ts +0 -74
  325. package/recce-source/js/src/components/check/CheckBreadcrumb.tsx +0 -97
  326. package/recce-source/js/src/components/check/CheckDescription.tsx +0 -134
  327. package/recce-source/js/src/components/check/CheckDetail.tsx +0 -797
  328. package/recce-source/js/src/components/check/CheckEmptyState.tsx +0 -84
  329. package/recce-source/js/src/components/check/CheckList.tsx +0 -320
  330. package/recce-source/js/src/components/check/LineageDiffView.tsx +0 -32
  331. package/recce-source/js/src/components/check/PresetCheckTemplateView.tsx +0 -48
  332. package/recce-source/js/src/components/check/SchemaDiffView.tsx +0 -290
  333. package/recce-source/js/src/components/check/check.ts +0 -25
  334. package/recce-source/js/src/components/check/timeline/CheckTimeline.tsx +0 -163
  335. package/recce-source/js/src/components/check/timeline/CommentInput.tsx +0 -84
  336. package/recce-source/js/src/components/check/timeline/TimelineEvent.tsx +0 -468
  337. package/recce-source/js/src/components/check/timeline/index.ts +0 -12
  338. package/recce-source/js/src/components/check/utils.ts +0 -12
  339. package/recce-source/js/src/components/data-grid/ScreenshotDataGrid.tsx +0 -333
  340. package/recce-source/js/src/components/data-grid/agGridStyles.css +0 -55
  341. package/recce-source/js/src/components/data-grid/agGridTheme.ts +0 -43
  342. package/recce-source/js/src/components/editor/CodeEditor.tsx +0 -107
  343. package/recce-source/js/src/components/editor/DiffEditor.tsx +0 -162
  344. package/recce-source/js/src/components/editor/index.ts +0 -12
  345. package/recce-source/js/src/components/errorboundary/ErrorBoundary.tsx +0 -87
  346. package/recce-source/js/src/components/histogram/HistogramDiffForm.tsx +0 -147
  347. package/recce-source/js/src/components/histogram/HistogramDiffResultView.tsx +0 -63
  348. package/recce-source/js/src/components/icons/index.tsx +0 -142
  349. package/recce-source/js/src/components/lineage/ActionControl.tsx +0 -63
  350. package/recce-source/js/src/components/lineage/ActionTag.tsx +0 -141
  351. package/recce-source/js/src/components/lineage/ChangeStatusLegend.tsx +0 -46
  352. package/recce-source/js/src/components/lineage/ColumnLevelLineageControl.tsx +0 -327
  353. package/recce-source/js/src/components/lineage/ColumnLevelLineageLegend.tsx +0 -57
  354. package/recce-source/js/src/components/lineage/GraphColumnNode.tsx +0 -199
  355. package/recce-source/js/src/components/lineage/GraphEdge.tsx +0 -59
  356. package/recce-source/js/src/components/lineage/GraphNode.tsx +0 -555
  357. package/recce-source/js/src/components/lineage/LineagePage.tsx +0 -10
  358. package/recce-source/js/src/components/lineage/LineageView.tsx +0 -1384
  359. package/recce-source/js/src/components/lineage/LineageViewContext.tsx +0 -86
  360. package/recce-source/js/src/components/lineage/LineageViewContextMenu.tsx +0 -637
  361. package/recce-source/js/src/components/lineage/LineageViewNotification.tsx +0 -64
  362. package/recce-source/js/src/components/lineage/LineageViewTopBar.tsx +0 -596
  363. package/recce-source/js/src/components/lineage/NodeSqlView.tsx +0 -136
  364. package/recce-source/js/src/components/lineage/NodeTag.tsx +0 -278
  365. package/recce-source/js/src/components/lineage/NodeView.tsx +0 -642
  366. package/recce-source/js/src/components/lineage/SandboxView.tsx +0 -436
  367. package/recce-source/js/src/components/lineage/ServerDisconnectedModalContent.tsx +0 -105
  368. package/recce-source/js/src/components/lineage/SetupConnectionBanner.tsx +0 -52
  369. package/recce-source/js/src/components/lineage/SingleEnvironmentQueryView.tsx +0 -152
  370. package/recce-source/js/src/components/lineage/graph.test.ts +0 -31
  371. package/recce-source/js/src/components/lineage/graph.ts +0 -58
  372. package/recce-source/js/src/components/lineage/lineage.test.ts +0 -169
  373. package/recce-source/js/src/components/lineage/lineage.ts +0 -521
  374. package/recce-source/js/src/components/lineage/styles.css +0 -42
  375. package/recce-source/js/src/components/lineage/styles.tsx +0 -165
  376. package/recce-source/js/src/components/lineage/useMultiNodesAction.ts +0 -352
  377. package/recce-source/js/src/components/lineage/useValueDiffAlertDialog.tsx +0 -108
  378. package/recce-source/js/src/components/onboarding-guide/Notification.tsx +0 -62
  379. package/recce-source/js/src/components/profile/ProfileDiffForm.tsx +0 -134
  380. package/recce-source/js/src/components/profile/ProfileDiffResultView.tsx +0 -243
  381. package/recce-source/js/src/components/query/ChangedOnlyCheckbox.tsx +0 -29
  382. package/recce-source/js/src/components/query/DiffText.tsx +0 -120
  383. package/recce-source/js/src/components/query/QueryDiffResultView.tsx +0 -468
  384. package/recce-source/js/src/components/query/QueryForm.tsx +0 -80
  385. package/recce-source/js/src/components/query/QueryPage.tsx +0 -282
  386. package/recce-source/js/src/components/query/QueryResultView.tsx +0 -180
  387. package/recce-source/js/src/components/query/SetupConnectionGuide.tsx +0 -57
  388. package/recce-source/js/src/components/query/SqlEditor.tsx +0 -245
  389. package/recce-source/js/src/components/query/ToggleSwitch.tsx +0 -84
  390. package/recce-source/js/src/components/query/styles.css +0 -21
  391. package/recce-source/js/src/components/routing/DirectUrlAccess.test.tsx +0 -428
  392. package/recce-source/js/src/components/routing/LineageStatePreservation.test.tsx +0 -311
  393. package/recce-source/js/src/components/routing/Navigation.test.tsx +0 -256
  394. package/recce-source/js/src/components/rowcount/RowCountDiffResultView.tsx +0 -108
  395. package/recce-source/js/src/components/rowcount/delta.test.ts +0 -51
  396. package/recce-source/js/src/components/rowcount/delta.ts +0 -16
  397. package/recce-source/js/src/components/run/RunList.tsx +0 -303
  398. package/recce-source/js/src/components/run/RunModal.tsx +0 -191
  399. package/recce-source/js/src/components/run/RunPage.tsx +0 -26
  400. package/recce-source/js/src/components/run/RunResultPane.tsx +0 -578
  401. package/recce-source/js/src/components/run/RunStatusAndDate.tsx +0 -106
  402. package/recce-source/js/src/components/run/RunToolbar.tsx +0 -70
  403. package/recce-source/js/src/components/run/RunView.tsx +0 -196
  404. package/recce-source/js/src/components/run/registry.ts +0 -214
  405. package/recce-source/js/src/components/run/types.ts +0 -14
  406. package/recce-source/js/src/components/schema/ColumnNameCell.test.tsx +0 -169
  407. package/recce-source/js/src/components/schema/ColumnNameCell.tsx +0 -198
  408. package/recce-source/js/src/components/schema/SchemaView.tsx +0 -336
  409. package/recce-source/js/src/components/schema/schemaDiff.ts +0 -32
  410. package/recce-source/js/src/components/schema/style.css +0 -134
  411. package/recce-source/js/src/components/screenshot/ScreenshotBox.tsx +0 -39
  412. package/recce-source/js/src/components/shared/HistoryToggle.tsx +0 -35
  413. package/recce-source/js/src/components/split/Split.tsx +0 -40
  414. package/recce-source/js/src/components/split/styles.css +0 -24
  415. package/recce-source/js/src/components/summary/ChangeSummary.tsx +0 -264
  416. package/recce-source/js/src/components/summary/SchemaSummary.tsx +0 -123
  417. package/recce-source/js/src/components/summary/SummaryView.tsx +0 -29
  418. package/recce-source/js/src/components/timeout/IdleTimeoutBadge.tsx +0 -48
  419. package/recce-source/js/src/components/top-k/TopKDiffForm.tsx +0 -58
  420. package/recce-source/js/src/components/top-k/TopKDiffResultView.tsx +0 -73
  421. package/recce-source/js/src/components/ui/dataGrid/DataFrameColumnGroupHeader.tsx +0 -228
  422. package/recce-source/js/src/components/ui/dataGrid/DataFrameColumnHeader.tsx +0 -113
  423. package/recce-source/js/src/components/ui/dataGrid/defaultRenderCell.tsx +0 -72
  424. package/recce-source/js/src/components/ui/dataGrid/index.ts +0 -23
  425. package/recce-source/js/src/components/ui/dataGrid/inlineRenderCell.test.tsx +0 -607
  426. package/recce-source/js/src/components/ui/dataGrid/inlineRenderCell.tsx +0 -211
  427. package/recce-source/js/src/components/ui/dataGrid/schemaCells.test.tsx +0 -452
  428. package/recce-source/js/src/components/ui/dataGrid/schemaCells.tsx +0 -142
  429. package/recce-source/js/src/components/ui/dataGrid/valueDiffCells.test.tsx +0 -178
  430. package/recce-source/js/src/components/ui/dataGrid/valueDiffCells.tsx +0 -275
  431. package/recce-source/js/src/components/ui/markdown/ExternalLinkConfirmDialog.tsx +0 -134
  432. package/recce-source/js/src/components/ui/markdown/MarkdownContent.tsx +0 -364
  433. package/recce-source/js/src/components/ui/mui/index.ts +0 -13
  434. package/recce-source/js/src/components/ui/mui-provider.tsx +0 -67
  435. package/recce-source/js/src/components/ui/mui-theme.ts +0 -1039
  436. package/recce-source/js/src/components/ui/mui-utils.ts +0 -113
  437. package/recce-source/js/src/components/ui/toaster.tsx +0 -288
  438. package/recce-source/js/src/components/valuediff/ValueDiffDetailResultView.tsx +0 -216
  439. package/recce-source/js/src/components/valuediff/ValueDiffForm.tsx +0 -246
  440. package/recce-source/js/src/components/valuediff/ValueDiffResultView.tsx +0 -81
  441. package/recce-source/js/src/components/valuediff/shared.ts +0 -33
  442. package/recce-source/js/src/constants/tooltipMessage.ts +0 -3
  443. package/recce-source/js/src/constants/urls.ts +0 -1
  444. package/recce-source/js/src/lib/UrlHash.ts +0 -12
  445. package/recce-source/js/src/lib/api/adhocQuery.ts +0 -70
  446. package/recce-source/js/src/lib/api/axiosClient.ts +0 -9
  447. package/recce-source/js/src/lib/api/cacheKeys.ts +0 -13
  448. package/recce-source/js/src/lib/api/checkEvents.ts +0 -252
  449. package/recce-source/js/src/lib/api/checks.ts +0 -129
  450. package/recce-source/js/src/lib/api/cll.ts +0 -53
  451. package/recce-source/js/src/lib/api/connectToCloud.ts +0 -13
  452. package/recce-source/js/src/lib/api/flag.ts +0 -37
  453. package/recce-source/js/src/lib/api/info.ts +0 -198
  454. package/recce-source/js/src/lib/api/instanceInfo.ts +0 -25
  455. package/recce-source/js/src/lib/api/keepAlive.ts +0 -108
  456. package/recce-source/js/src/lib/api/lineagecheck.ts +0 -35
  457. package/recce-source/js/src/lib/api/localStorageKeys.ts +0 -7
  458. package/recce-source/js/src/lib/api/models.ts +0 -59
  459. package/recce-source/js/src/lib/api/profile.ts +0 -65
  460. package/recce-source/js/src/lib/api/rowcount.ts +0 -19
  461. package/recce-source/js/src/lib/api/runs.ts +0 -174
  462. package/recce-source/js/src/lib/api/schemacheck.ts +0 -31
  463. package/recce-source/js/src/lib/api/select.ts +0 -25
  464. package/recce-source/js/src/lib/api/sessionStorageKeys.ts +0 -8
  465. package/recce-source/js/src/lib/api/state.ts +0 -117
  466. package/recce-source/js/src/lib/api/track.ts +0 -281
  467. package/recce-source/js/src/lib/api/types.ts +0 -284
  468. package/recce-source/js/src/lib/api/user.ts +0 -42
  469. package/recce-source/js/src/lib/api/valuediff.ts +0 -46
  470. package/recce-source/js/src/lib/api/version.ts +0 -40
  471. package/recce-source/js/src/lib/const.ts +0 -9
  472. package/recce-source/js/src/lib/csv/extractors.test.ts +0 -456
  473. package/recce-source/js/src/lib/csv/extractors.ts +0 -468
  474. package/recce-source/js/src/lib/csv/format.test.ts +0 -211
  475. package/recce-source/js/src/lib/csv/format.ts +0 -44
  476. package/recce-source/js/src/lib/csv/index.test.ts +0 -155
  477. package/recce-source/js/src/lib/csv/index.ts +0 -109
  478. package/recce-source/js/src/lib/dataGrid/crossFunctionConsistency.test.ts +0 -626
  479. package/recce-source/js/src/lib/dataGrid/dataGridFactory.test.ts +0 -2140
  480. package/recce-source/js/src/lib/dataGrid/dataGridFactory.ts +0 -397
  481. package/recce-source/js/src/lib/dataGrid/generators/rowCountUtils.test.ts +0 -132
  482. package/recce-source/js/src/lib/dataGrid/generators/rowCountUtils.ts +0 -126
  483. package/recce-source/js/src/lib/dataGrid/generators/toDataDiffGrid.test.ts +0 -1627
  484. package/recce-source/js/src/lib/dataGrid/generators/toDataDiffGrid.ts +0 -140
  485. package/recce-source/js/src/lib/dataGrid/generators/toDataGrid.ts +0 -67
  486. package/recce-source/js/src/lib/dataGrid/generators/toRowCountDataGrid.test.ts +0 -142
  487. package/recce-source/js/src/lib/dataGrid/generators/toRowCountDataGrid.ts +0 -71
  488. package/recce-source/js/src/lib/dataGrid/generators/toRowCountDiffDataGrid.test.ts +0 -258
  489. package/recce-source/js/src/lib/dataGrid/generators/toRowCountDiffDataGrid.ts +0 -153
  490. package/recce-source/js/src/lib/dataGrid/generators/toSchemaDataGrid.test.ts +0 -951
  491. package/recce-source/js/src/lib/dataGrid/generators/toSchemaDataGrid.ts +0 -221
  492. package/recce-source/js/src/lib/dataGrid/generators/toValueDataGrid.test.ts +0 -395
  493. package/recce-source/js/src/lib/dataGrid/generators/toValueDataGrid.ts +0 -184
  494. package/recce-source/js/src/lib/dataGrid/generators/toValueDiffGrid.test.ts +0 -884
  495. package/recce-source/js/src/lib/dataGrid/generators/toValueDiffGrid.ts +0 -113
  496. package/recce-source/js/src/lib/dataGrid/index.ts +0 -51
  497. package/recce-source/js/src/lib/dataGrid/propertyBased.test.ts +0 -858
  498. package/recce-source/js/src/lib/dataGrid/shared/columnBuilders.test.ts +0 -482
  499. package/recce-source/js/src/lib/dataGrid/shared/columnBuilders.ts +0 -345
  500. package/recce-source/js/src/lib/dataGrid/shared/dataTypeEdgeCases.test.ts +0 -698
  501. package/recce-source/js/src/lib/dataGrid/shared/diffColumnBuilder.test.tsx +0 -820
  502. package/recce-source/js/src/lib/dataGrid/shared/diffColumnBuilder.tsx +0 -277
  503. package/recce-source/js/src/lib/dataGrid/shared/gridUtils.test.ts +0 -785
  504. package/recce-source/js/src/lib/dataGrid/shared/gridUtils.ts +0 -370
  505. package/recce-source/js/src/lib/dataGrid/shared/index.ts +0 -81
  506. package/recce-source/js/src/lib/dataGrid/shared/rowBuilders.test.ts +0 -909
  507. package/recce-source/js/src/lib/dataGrid/shared/rowBuilders.ts +0 -325
  508. package/recce-source/js/src/lib/dataGrid/shared/simpleColumnBuilder.tsx +0 -240
  509. package/recce-source/js/src/lib/dataGrid/shared/toDiffColumn.test.tsx +0 -719
  510. package/recce-source/js/src/lib/dataGrid/shared/toDiffColumn.tsx +0 -231
  511. package/recce-source/js/src/lib/dataGrid/shared/validation.test.ts +0 -559
  512. package/recce-source/js/src/lib/dataGrid/shared/validation.ts +0 -367
  513. package/recce-source/js/src/lib/dataGrid/warehouseNamingConventions.test.ts +0 -1117
  514. package/recce-source/js/src/lib/formatSelect.ts +0 -50
  515. package/recce-source/js/src/lib/hooks/ApiConfigContext.tsx +0 -181
  516. package/recce-source/js/src/lib/hooks/IdleTimeoutContext.tsx +0 -177
  517. package/recce-source/js/src/lib/hooks/LineageGraphContext.tsx +0 -512
  518. package/recce-source/js/src/lib/hooks/RecceActionContext.tsx +0 -269
  519. package/recce-source/js/src/lib/hooks/RecceCheckContext.tsx +0 -33
  520. package/recce-source/js/src/lib/hooks/RecceContextProvider.tsx +0 -54
  521. package/recce-source/js/src/lib/hooks/RecceInstanceContext.tsx +0 -129
  522. package/recce-source/js/src/lib/hooks/RecceQueryContext.tsx +0 -98
  523. package/recce-source/js/src/lib/hooks/RecceShareStateContext.tsx +0 -59
  524. package/recce-source/js/src/lib/hooks/ScreenShot.tsx +0 -399
  525. package/recce-source/js/src/lib/hooks/useAppRouter.test.ts +0 -211
  526. package/recce-source/js/src/lib/hooks/useAppRouter.ts +0 -200
  527. package/recce-source/js/src/lib/hooks/useCSVExport.ts +0 -136
  528. package/recce-source/js/src/lib/hooks/useCheckEvents.ts +0 -99
  529. package/recce-source/js/src/lib/hooks/useCheckToast.tsx +0 -14
  530. package/recce-source/js/src/lib/hooks/useClipBoardToast.tsx +0 -27
  531. package/recce-source/js/src/lib/hooks/useCountdownToast.tsx +0 -102
  532. package/recce-source/js/src/lib/hooks/useFeedbackCollectionToast.tsx +0 -130
  533. package/recce-source/js/src/lib/hooks/useGuideToast.tsx +0 -45
  534. package/recce-source/js/src/lib/hooks/useIdleDetection.tsx +0 -185
  535. package/recce-source/js/src/lib/hooks/useModelColumns.tsx +0 -113
  536. package/recce-source/js/src/lib/hooks/useRecceInstanceInfo.tsx +0 -13
  537. package/recce-source/js/src/lib/hooks/useRecceServerFlag.tsx +0 -13
  538. package/recce-source/js/src/lib/hooks/useRun.tsx +0 -89
  539. package/recce-source/js/src/lib/hooks/useThemeColors.ts +0 -115
  540. package/recce-source/js/src/lib/mergeKeys.test.ts +0 -89
  541. package/recce-source/js/src/lib/mergeKeys.ts +0 -86
  542. package/recce-source/js/src/lib/result/ResultErrorFallback.tsx +0 -9
  543. package/recce-source/js/src/lib/utils/formatTime.ts +0 -84
  544. package/recce-source/js/src/lib/utils/urls.ts +0 -16
  545. package/recce-source/js/src/utils/DropdownValuesInput.tsx +0 -297
  546. package/recce-source/js/src/utils/formatters.tsx +0 -237
  547. package/recce-source/js/src/utils/transforms.ts +0 -81
  548. package/recce-source/js/tsconfig.json +0 -47
  549. package/recce-source/macros/README.md +0 -8
  550. package/recce-source/macros/recce_athena.sql +0 -73
  551. package/recce-source/pyproject.toml +0 -109
  552. package/recce-source/recce/VERSION +0 -1
  553. package/recce-source/recce/__init__.py +0 -84
  554. package/recce-source/recce/adapter/__init__.py +0 -0
  555. package/recce-source/recce/adapter/base.py +0 -109
  556. package/recce-source/recce/adapter/dbt_adapter/__init__.py +0 -1699
  557. package/recce-source/recce/adapter/dbt_adapter/dbt_version.py +0 -42
  558. package/recce-source/recce/adapter/sqlmesh_adapter.py +0 -141
  559. package/recce-source/recce/apis/__init__.py +0 -0
  560. package/recce-source/recce/apis/check_api.py +0 -203
  561. package/recce-source/recce/apis/check_events_api.py +0 -353
  562. package/recce-source/recce/apis/check_func.py +0 -130
  563. package/recce-source/recce/apis/run_api.py +0 -130
  564. package/recce-source/recce/apis/run_func.py +0 -258
  565. package/recce-source/recce/artifact.py +0 -266
  566. package/recce-source/recce/cli.py +0 -1846
  567. package/recce-source/recce/config.py +0 -127
  568. package/recce-source/recce/connect_to_cloud.py +0 -138
  569. package/recce-source/recce/core.py +0 -334
  570. package/recce-source/recce/diff.py +0 -26
  571. package/recce-source/recce/event/CONFIG +0 -1
  572. package/recce-source/recce/event/SENTRY_DNS +0 -1
  573. package/recce-source/recce/event/__init__.py +0 -304
  574. package/recce-source/recce/event/collector.py +0 -184
  575. package/recce-source/recce/event/track.py +0 -158
  576. package/recce-source/recce/exceptions.py +0 -21
  577. package/recce-source/recce/git.py +0 -77
  578. package/recce-source/recce/github.py +0 -222
  579. package/recce-source/recce/mcp_server.py +0 -885
  580. package/recce-source/recce/models/__init__.py +0 -6
  581. package/recce-source/recce/models/check.py +0 -481
  582. package/recce-source/recce/models/run.py +0 -46
  583. package/recce-source/recce/models/types.py +0 -218
  584. package/recce-source/recce/pull_request.py +0 -124
  585. package/recce-source/recce/run.py +0 -390
  586. package/recce-source/recce/server.py +0 -877
  587. package/recce-source/recce/state/__init__.py +0 -31
  588. package/recce-source/recce/state/cloud.py +0 -644
  589. package/recce-source/recce/state/const.py +0 -26
  590. package/recce-source/recce/state/local.py +0 -56
  591. package/recce-source/recce/state/state.py +0 -119
  592. package/recce-source/recce/state/state_loader.py +0 -174
  593. package/recce-source/recce/summary.py +0 -575
  594. package/recce-source/recce/tasks/__init__.py +0 -23
  595. package/recce-source/recce/tasks/core.py +0 -134
  596. package/recce-source/recce/tasks/dataframe.py +0 -170
  597. package/recce-source/recce/tasks/histogram.py +0 -433
  598. package/recce-source/recce/tasks/lineage.py +0 -19
  599. package/recce-source/recce/tasks/profile.py +0 -298
  600. package/recce-source/recce/tasks/query.py +0 -450
  601. package/recce-source/recce/tasks/rowcount.py +0 -277
  602. package/recce-source/recce/tasks/schema.py +0 -65
  603. package/recce-source/recce/tasks/top_k.py +0 -172
  604. package/recce-source/recce/tasks/utils.py +0 -147
  605. package/recce-source/recce/tasks/valuediff.py +0 -497
  606. package/recce-source/recce/util/__init__.py +0 -4
  607. package/recce-source/recce/util/api_token.py +0 -80
  608. package/recce-source/recce/util/breaking.py +0 -330
  609. package/recce-source/recce/util/cache.py +0 -25
  610. package/recce-source/recce/util/cll.py +0 -355
  611. package/recce-source/recce/util/cloud/__init__.py +0 -15
  612. package/recce-source/recce/util/cloud/base.py +0 -115
  613. package/recce-source/recce/util/cloud/check_events.py +0 -190
  614. package/recce-source/recce/util/cloud/checks.py +0 -242
  615. package/recce-source/recce/util/io.py +0 -120
  616. package/recce-source/recce/util/lineage.py +0 -83
  617. package/recce-source/recce/util/logger.py +0 -25
  618. package/recce-source/recce/util/onboarding_state.py +0 -45
  619. package/recce-source/recce/util/perf_tracking.py +0 -85
  620. package/recce-source/recce/util/pydantic_model.py +0 -22
  621. package/recce-source/recce/util/recce_cloud.py +0 -454
  622. package/recce-source/recce/util/singleton.py +0 -18
  623. package/recce-source/recce/util/startup_perf.py +0 -121
  624. package/recce-source/recce/yaml/__init__.py +0 -58
  625. package/recce-source/recce_cloud/README.md +0 -780
  626. package/recce-source/recce_cloud/VERSION +0 -1
  627. package/recce-source/recce_cloud/__init__.py +0 -24
  628. package/recce-source/recce_cloud/api/__init__.py +0 -17
  629. package/recce-source/recce_cloud/api/base.py +0 -132
  630. package/recce-source/recce_cloud/api/client.py +0 -186
  631. package/recce-source/recce_cloud/api/exceptions.py +0 -26
  632. package/recce-source/recce_cloud/api/factory.py +0 -63
  633. package/recce-source/recce_cloud/api/github.py +0 -106
  634. package/recce-source/recce_cloud/api/gitlab.py +0 -111
  635. package/recce-source/recce_cloud/artifact.py +0 -57
  636. package/recce-source/recce_cloud/ci_providers/__init__.py +0 -9
  637. package/recce-source/recce_cloud/ci_providers/base.py +0 -82
  638. package/recce-source/recce_cloud/ci_providers/detector.py +0 -147
  639. package/recce-source/recce_cloud/ci_providers/github_actions.py +0 -136
  640. package/recce-source/recce_cloud/ci_providers/gitlab_ci.py +0 -130
  641. package/recce-source/recce_cloud/cli.py +0 -434
  642. package/recce-source/recce_cloud/download.py +0 -230
  643. package/recce-source/recce_cloud/hatch_build.py +0 -20
  644. package/recce-source/recce_cloud/pyproject.toml +0 -49
  645. package/recce-source/recce_cloud/upload.py +0 -214
  646. package/recce-source/test.py +0 -0
  647. package/recce-source/tests/__init__.py +0 -0
  648. package/recce-source/tests/adapter/__init__.py +0 -0
  649. package/recce-source/tests/adapter/dbt_adapter/__init__.py +0 -0
  650. package/recce-source/tests/adapter/dbt_adapter/conftest.py +0 -17
  651. package/recce-source/tests/adapter/dbt_adapter/dbt_test_helper.py +0 -298
  652. package/recce-source/tests/adapter/dbt_adapter/test_dbt_adapter.py +0 -25
  653. package/recce-source/tests/adapter/dbt_adapter/test_dbt_cll.py +0 -717
  654. package/recce-source/tests/adapter/dbt_adapter/test_proj/dbt_project.yml +0 -4
  655. package/recce-source/tests/adapter/dbt_adapter/test_proj/manifest.json +0 -1
  656. package/recce-source/tests/adapter/dbt_adapter/test_proj/package-lock.yml +0 -8
  657. package/recce-source/tests/adapter/dbt_adapter/test_proj/packages.yml +0 -7
  658. package/recce-source/tests/adapter/dbt_adapter/test_proj/profiles.yml +0 -6
  659. package/recce-source/tests/adapter/dbt_adapter/test_selector.py +0 -205
  660. package/recce-source/tests/apis/__init__.py +0 -0
  661. package/recce-source/tests/apis/row_count_diff.json +0 -59
  662. package/recce-source/tests/apis/test_check_events_api.py +0 -615
  663. package/recce-source/tests/apis/test_run_func.py +0 -433
  664. package/recce-source/tests/catalog.json +0 -527
  665. package/recce-source/tests/data/manifest/base/catalog.json +0 -1
  666. package/recce-source/tests/data/manifest/base/manifest.json +0 -1
  667. package/recce-source/tests/data/manifest/pr2/catalog.json +0 -1
  668. package/recce-source/tests/data/manifest/pr2/manifest.json +0 -1
  669. package/recce-source/tests/manifest.json +0 -10655
  670. package/recce-source/tests/models/__init__.py +0 -0
  671. package/recce-source/tests/models/test_check.py +0 -731
  672. package/recce-source/tests/models/test_run_models.py +0 -295
  673. package/recce-source/tests/recce_cloud/__init__.py +0 -0
  674. package/recce-source/tests/recce_cloud/test_ci_providers.py +0 -351
  675. package/recce-source/tests/recce_cloud/test_cli.py +0 -735
  676. package/recce-source/tests/recce_cloud/test_client.py +0 -379
  677. package/recce-source/tests/recce_cloud/test_platform_clients.py +0 -483
  678. package/recce-source/tests/recce_state.json +0 -1
  679. package/recce-source/tests/state/test_cloud.py +0 -719
  680. package/recce-source/tests/state/test_local.py +0 -164
  681. package/recce-source/tests/state/test_state_loader.py +0 -211
  682. package/recce-source/tests/tasks/__init__.py +0 -0
  683. package/recce-source/tests/tasks/conftest.py +0 -4
  684. package/recce-source/tests/tasks/test_histogram.py +0 -129
  685. package/recce-source/tests/tasks/test_lineage.py +0 -55
  686. package/recce-source/tests/tasks/test_preset_checks.py +0 -64
  687. package/recce-source/tests/tasks/test_profile.py +0 -397
  688. package/recce-source/tests/tasks/test_query.py +0 -528
  689. package/recce-source/tests/tasks/test_row_count.py +0 -133
  690. package/recce-source/tests/tasks/test_schema.py +0 -122
  691. package/recce-source/tests/tasks/test_top_k.py +0 -77
  692. package/recce-source/tests/tasks/test_utils.py +0 -439
  693. package/recce-source/tests/tasks/test_valuediff.py +0 -361
  694. package/recce-source/tests/test_cli.py +0 -236
  695. package/recce-source/tests/test_cli_mcp_optional.py +0 -45
  696. package/recce-source/tests/test_cloud_listing_cli.py +0 -324
  697. package/recce-source/tests/test_config.py +0 -43
  698. package/recce-source/tests/test_connect_to_cloud.py +0 -82
  699. package/recce-source/tests/test_core.py +0 -174
  700. package/recce-source/tests/test_dbt.py +0 -36
  701. package/recce-source/tests/test_mcp_server.py +0 -505
  702. package/recce-source/tests/test_pull_request.py +0 -130
  703. package/recce-source/tests/test_server.py +0 -202
  704. package/recce-source/tests/test_server_lifespan.py +0 -138
  705. package/recce-source/tests/test_summary.py +0 -73
  706. package/recce-source/tests/util/__init__.py +0 -0
  707. package/recce-source/tests/util/cloud/__init__.py +0 -0
  708. package/recce-source/tests/util/cloud/test_check_events.py +0 -255
  709. package/recce-source/tests/util/cloud/test_checks.py +0 -204
  710. package/recce-source/tests/util/test_api_token.py +0 -119
  711. package/recce-source/tests/util/test_breaking.py +0 -1427
  712. package/recce-source/tests/util/test_cll.py +0 -706
  713. package/recce-source/tests/util/test_lineage.py +0 -122
  714. package/recce-source/tests/util/test_onboarding_state.py +0 -84
  715. package/recce-source/tests/util/test_recce_cloud.py +0 -231
  716. package/recce-source/tox.ini +0 -40
  717. package/recce-source/uv.lock +0 -3928
  718. package/src/api/index.ts +0 -32
  719. package/src/components/index.ts +0 -154
  720. package/src/global.d.ts +0 -14
  721. package/src/hooks/index.ts +0 -56
  722. package/src/index.ts +0 -17
  723. package/src/lib/hooks/RouteConfigContext.ts +0 -139
  724. package/src/lib/hooks/useAppRouter.ts +0 -240
  725. package/src/mui-augmentation.d.ts +0 -139
  726. package/src/theme/index.ts +0 -13
  727. package/src/theme.ts +0 -23
  728. package/src/types/index.ts +0 -23
@@ -0,0 +1,67 @@
1
+ "use client";
2
+ import{$t as e,A as t,B as n,C as r,D as i,Gt as a,Ht as o,I as s,It as c,Kt as l,Lt as u,O as d,Pt as f,Qt as p,Rt as m,T as h,Ut as g,Vt as _,Wt as v,Xt as y,Zt as b,_ as x,_n as S,a as C,an as w,b as T,bn as E,bt as D,ct as O,d as ee,en as te,et as k,f as A,fn as ne,ft as re,gt as ie,hn as ae,j,k as oe,lt as se,mn as ce,n as le,o as ue,on as de,p as fe,qt as pe,rn as me,s as he,t as ge,tn as _e,u as M,ut as N,vn as ve,w as ye,x as be,xn as xe,xt as Se,zt as Ce}from"./AuthModal-C8LetZNB.js";import{$ as we,A as Te,D as Ee,G as De,J as Oe,K as ke,M as Ae,N as je,O as Me,R as Ne,W as Pe,_t as Fe,a as Ie,c as Le,d as Re,et as ze,gt as Be,h as Ve,it as He,j as Ue,k as We,l as Ge,lt as Ke,m as qe,mt as Je,n as Ye,nt as Xe,o as Ze,p as Qe,s as $e,u as et,w as tt,x as nt}from"./api-_i6BZPkM.js";import{o as rt,u as P}from"./keepAlive-CEzyrDfg.js";import{i as it,n as at,o as ot,r as st,t as ct}from"./useRecceServerFlag-Bg5R67J4.js";import{T as lt,a as ut,b as dt,d as ft,f as pt,g as mt,h as ht,l as gt,m as _t,o as vt,p as F,s as yt,t as bt,u as xt,w as St,x as Ct,y as wt}from"./utils-CW2skXm_.js";import{i as Tt,n as Et}from"./colors--47Kkns4.js";import{a as Dt,c as Ot,d as kt,f as At,l as jt,o as Mt,r as Nt,s as Pt,t as Ft,u as It}from"./useThemeColors--prVbMmM.js";import{B as Lt,V as Rt,a as zt,et as Bt,i as Vt,m as Ht,n as Ut,o as Wt,r as Gt,s as Kt,t as qt}from"./utils-CXWhfyxC.js";import{n as Jt,t as Yt}from"./user-DMT7E0fc.js";import{r as Xt}from"./const-DbXBkrxT.js";import{S as Zt,_ as Qt,b as $t,c as en,d as tn,f as nn,g as rn,h as an,l as on,m as sn,n as cn,p as ln,r as un,s as dn,t as fn,u as pn,v as mn,x as hn,y as gn}from"./track-9ZQpBlUK.js";import{t as _n}from"./constants-DD5vJv2q.js";import{QueryClient as vn,QueryClientProvider as yn,useMutation as bn,useQuery as xn,useQueryClient as Sn}from"@tanstack/react-query";import{AxiosError as Cn,isAxiosError as wn}from"axios";import I,{Suspense as Tn,createContext as En,forwardRef as Dn,memo as On,useCallback as L,useContext as kn,useEffect as R,useImperativeHandle as An,useLayoutEffect as jn,useMemo as Mn,useRef as z,useState as B}from"react";import{Fragment as V,jsx as H,jsxs as U}from"react/jsx-runtime";import W from"@mui/material/Box";import G from"@mui/material/Button";import Nn from"@mui/material/Dialog";import Pn from"@mui/material/DialogActions";import Fn from"@mui/material/DialogContent";import In from"@mui/material/DialogTitle";import Ln from"@mui/material/Link";import K from"@mui/material/Stack";import q from"@mui/material/Typography";import{LuExternalLink as Rn,LuSave as zn}from"react-icons/lu";import{alpha as Bn,useTheme as Vn}from"@mui/material/styles";import{useTheme as Hn}from"next-themes";import J from"@mui/material/IconButton";import Un from"next/link";import{IoBookmarksOutline as Wn,IoClose as Gn,IoSync as Kn,IoWarning as qn}from"react-icons/io5";import Jn from"@mui/material/Divider";import Yn from"@mui/material/CircularProgress";import Y from"@mui/material/Tooltip";import{FaCloud as Xn,FaExpandArrowsAlt as Zn,FaGithub as Qn,FaQuestionCircle as $n,FaRegDotCircle as er,FaSlack as tr,FaUser as nr}from"react-icons/fa";import{PiBookmarkSimple as rr,PiCaretDown as ir,PiChatText as ar,PiCheckCircle as or,PiCircle as sr,PiCopy as cr,PiExport as lr,PiInfo as ur,PiInfoFill as dr,PiMoon as fr,PiNotePencil as pr,PiPencil as mr,PiPencilSimple as hr,PiPlusCircle as gr,PiRepeat as _r,PiSun as vr,PiTrashFill as yr,PiTrashSimple as br,PiX as xr}from"react-icons/pi";import Sr from"@mui/material/Chip";import{Background as Cr,BackgroundVariant as wr,BaseEdge as Tr,ControlButton as Er,Controls as Dr,MiniMap as Or,Panel as kr,Position as Ar,ReactFlow as jr,ReactFlowProvider as Mr,getBezierPath as Nr,getNodesBounds as Pr,useEdgesState as Fr,useNodesState as Ir,useReactFlow as Lr,useStore as Rr}from"@xyflow/react";import zr from"file-saver";import Br from"@mui/material/Checkbox";import Vr from"@mui/material/FormControlLabel";import Hr from"@mui/material/Menu";import Ur from"@mui/material/MenuItem";import{isEmpty as Wr}from"lodash";import{VscCircleLarge as Gr,VscFeedback as Kr,VscGitPullRequest as qr,VscHistory as Jr,VscKebabVertical as Yr}from"react-icons/vsc";import Xr from"@mui/material/ListSubheader";import Zr from"@mui/material/TextField";import Qr from"@mui/material/Tab";import $r from"@mui/material/Tabs";import ei from"@mui/material/List";import ti from"@mui/material/ListItem";import"@xyflow/react/dist/style.css";import ni from"@mui/material/Avatar";import ri from"@mui/material/Popover";import{format as ii,formatDistanceToNow as ai,parseISO as oi}from"date-fns";import si,{flushSync as ci}from"react-dom";import li from"@mui/material/Alert";import{useCopyToClipboard as ui,useInterval as di}from"usehooks-ts";import{usePathname as fi,useRouter as pi,useSearchParams as mi}from"next/navigation";import{TbChecklist as hi,TbCloudUpload as gi,TbEdit as _i}from"react-icons/tb";import vi from"@mui/material/ListItemIcon";import yi from"@mui/material/ListItemText";import{FiArrowRight as bi,FiCopy as xi,FiInfo as Si,FiPackage as Ci}from"react-icons/fi";import wi from"@mui/material/Switch";import{RiArrowDownSFill as Ti,RiArrowUpSFill as Ei,RiMindMap as Di,RiSwapLine as Oi,RiTerminalBoxLine as ki}from"react-icons/ri";import{FaBookmark as Ai,FaFileImport as ji}from"react-icons/fa6";import{BiArrowFromBottom as Mi,BiArrowToBottom as Ni}from"react-icons/bi";import Pi from"@mui/material/Skeleton";import{AiOutlineExperiment as Fi}from"react-icons/ai";import Ii from"@mui/material/Radio";import Li from"@mui/material/RadioGroup";import Ri from"@mui/material/Table";import zi from"@mui/material/TableBody";import Bi from"@mui/material/TableCell";import Vi from"@mui/material/TableContainer";import Hi from"@mui/material/TableHead";import Ui from"@mui/material/TableRow";import Wi from"@mui/material/Badge";import Gi from"@mui/material/Grid";import{IoMdCodeWorking as Ki}from"react-icons/io";import{applyMiddleware as qi,bindActionCreators as Ji,compose as Yi,createStore as Xi}from"redux";import{Provider as Zi,connect as Qi}from"react-redux";import $i from"@mui/material/Card";import ea from"@mui/material/CardContent";import ta from"@mui/material/CardHeader";const na=En(null);na.displayName=`RecceRoutingContext`;function ra(){return kn(na)||{basePath:``,buildPath:e=>e,pathname:``,navigate:e=>{typeof window<`u`&&(window.location.href=e)}}}function ia(){let{pathname:e,navigate:t}=ra();return[e,t]}function aa({children:e,config:t}){let n=t?.basePath??``,r=t?.pathname??``,i=t?.onNavigate,a=L(e=>n?`${n}${e.startsWith(`/`)?e:`/${e}`}`:e,[n]),o=L((e,t)=>{i?i(e,t):typeof window<`u`&&(t?.replace?(window.history.replaceState(null,``,e),window.dispatchEvent(new PopStateEvent(`popstate`))):window.location.href=e)},[i]),s=Mn(()=>({basePath:n,buildPath:a,pathname:r,navigate:o}),[n,a,r,o]);return H(na.Provider,{value:s,children:e})}const oa=e=>new vn({defaultOptions:{queries:{staleTime:e?.staleTime??1e3*60,gcTime:e?.gcTime??1e3*60*5,retry:1,refetchOnWindowFocus:!1}}});function sa({children:e,api:t,theme:n=`system`,routing:r,queryClient:i,runActions:a,lineage:o,checks:s,query:c,features:l={}}){let u=i?.staleTime,d=i?.gcTime,f=Mn(()=>oa({staleTime:u,gcTime:d}),[u,d]),{enableInstance:p=!0,enableIdleTimeout:m=!0,enableLineage:h=!0,enableRunActions:g=!0,enableChecks:_=!0,enableQuery:v=!0}=l,y=e;return y=H(aa,{config:r,children:y}),y=H(At,{defaultMode:n,children:y}),y=H(rt,{config:t,children:y}),y=H(yn,{client:f,children:y}),v&&(y=H(ae,{sql:c?.sql,isExecuting:c?.isExecuting,error:c?.error,baseResult:c?.baseResult,currentResult:c?.currentResult,onSqlChange:c?.onSqlChange,onExecute:c?.onExecute,onCancel:c?.onCancel,children:y})),_&&(y=H(S,{checks:s?.checks,isLoading:s?.isLoading,error:s?.error,selectedCheckId:s?.selectedCheckId,onSelectCheck:s?.onSelectCheck,onCreateCheck:s?.onCreateCheck,onUpdateCheck:s?.onUpdateCheck,onDeleteCheck:s?.onDeleteCheck,onReorderChecks:s?.onReorderChecks,refetchChecks:s?.refetchChecks,children:y})),g&&(y=H(St,{onRunAction:a?.onRunAction,onShowRunId:a?.onShowRunId,initialRunId:a?.initialRunId,initialHistoryOpen:a?.initialHistoryOpen,children:y})),h&&(y=H(pt,{lineageGraph:o?.lineageGraph,envInfo:o?.envInfo,reviewMode:o?.reviewMode,cloudMode:o?.cloudMode,fileMode:o?.fileMode,fileName:o?.fileName,isDemoSite:o?.isDemoSite,isCodespace:o?.isCodespace,isLoading:o?.isLoading,error:o?.error,supportTasks:o?.supportTasks,onRefetchLineageGraph:o?.onRefetchLineageGraph,runsAggregated:o?.runsAggregated,onRefetchRunsAggregated:o?.onRefetchRunsAggregated,children:y})),m&&(y=H(ht,{children:y})),p&&(y=H(wt,{children:y})),y}function ca({actionState:e,onCancel:t,onClose:n}){let r=()=>e.mode===`per_node`?`${e.completed} / ${e.total}`:e.currentRun?.progress?.percentage?`${e.currentRun.progress.percentage*100}%`:e.status===`completed`?`100%`:`0%`,i=e.status===`running`||e.status===`canceling`;return H(W,{sx:{bgcolor:`background.paper`,borderRadius:1,boxShadow:6},children:U(K,{direction:`row`,divider:H(Jn,{orientation:`vertical`,flexItem:!0}),spacing:2,sx:{p:`5px 15px`,mt:2},children:[U(W,{sx:{fontSize:`10pt`},children:[`Progress: `,r(),` `,e.status===`canceled`?` (canceled)`:``]}),i?H(G,{size:`small`,variant:`outlined`,onClick:t,disabled:e.status===`canceling`,children:e.status===`canceling`?`Canceling`:`Cancel`}):H(K,{direction:`row`,children:H(G,{size:`small`,variant:`outlined`,onClick:n,children:`Close`})})]})})}const la=({lineageGraph:e,cllInput:t,onCenterNode:n})=>{let r={cursor:`pointer`,fontFamily:`monospace`,bgcolor:kt()?`grey.700`:`grey.100`,px:.5,borderRadius:.5};if(!e)return H(V,{});if(!t)return H(V,{children:`Default View`});if(t.node_id===void 0)return H(q,{component:`span`,children:`Impact Radius for All Changed Models`});let i=t.node_id in e.nodes?e.nodes[t.node_id].data.name:t.node_id;if(!t.column){let e=t.node_id;return U(V,{children:[H(q,{component:`span`,sx:{mr:`5px`},children:`Impact Radius for`}),H(W,{component:`code`,onClick:()=>{n(e)},sx:r,children:i})]})}let a=`${t.node_id}_${t.column}`;return U(V,{children:[U(q,{component:`span`,sx:{mr:`5px`},children:[`Column Lineage for`,` `]}),U(W,{component:`code`,onClick:()=>{n(a)},sx:r,children:[i,`.`,t.column]})]})},ua=({action:e,interactive:t,viewOptions:n,lineageGraph:r,singleEnvMode:i=!1,onShowCll:a,onResetCll:o,onCenterNode:s})=>{let c=n.column_level_lineage,l=!r?.catalogMetadata.current;return U(K,{direction:`row`,spacing:`5px`,children:[!i&&H(W,{sx:{borderRadius:1,boxShadow:3},children:H(Y,{enterDelay:50,title:l?`Please provide catalog.json to enable Impact Radius`:``,placement:`top`,children:H(`span`,{children:H(G,{size:`small`,variant:`outlined`,color:`neutral`,sx:{whiteSpace:`nowrap`,display:`inline-flex`,bgcolor:`background.paper`},disabled:!t||l,startIcon:H(er,{}),onClick:()=>{a({no_upstream:!0,change_analysis:!0})},children:`Impact Radius`})})})}),c&&U(K,{direction:`row`,alignItems:`center`,sx:{borderRadius:1,boxShadow:3,border:`1px solid`,borderColor:`divider`,bgcolor:`background.paper`,fontSize:`0.8rem`,p:`0 0.625rem`},children:[H(la,{lineageGraph:r,cllInput:c,onCenterNode:s}),e.isError&&H(Y,{title:`Error: ${e.error.message}`,placement:`bottom`,children:H(q,{component:`span`,sx:{color:`error.main`,ml:`2px`,display:`inline-flex`,alignItems:`center`},children:H(W,{component:ur,sx:{color:`error.main`,fontSize:`14px`}})})}),e.isPending?H(Yn,{size:12,sx:{ml:`2px`}}):H(J,{size:`small`,sx:{ml:`2px`},"aria-label":`Reset Column Level Lineage`,onClick:()=>{o()},children:H(xr,{size:`10px`})})]})]})};function da({onClose:e}){let{cancel:t,actionState:n}=it();return H(ca,{actionState:n,onCancel:t,onClose:e})}const fa=({action:e})=>{let{showColumnLevelLineage:t,resetColumnLevelLineage:n,interactive:r,viewOptions:i,centerNode:a}=it(),{data:o}=ct(),s=o?.single_env_onboarding??!1,{lineageGraph:c}=F();return H(ua,{action:e,interactive:r,viewOptions:i,lineageGraph:c,singleEnvMode:s,onShowCll:t,onResetCll:()=>n(),onCenterNode:a})};function pa(e){let{id:t,data:n}=e,{id:r}=n.node,{column:i,type:a,transformationType:o,changeStatus:s}=n,c=Rr(e=>e.transform[2]>.3),{isDark:l}=Ft(),{viewOptions:u,showContextMenu:d,isNodeHighlighted:f,isNodeShowingChangeAnalysis:p}=it(),m=u.column_level_lineage?.node_id,h=i===u.column_level_lineage?.column&&r===m,g=f(t),_=p(r);return H(ne,{id:t,data:{column:i,type:a,nodeId:r,transformationType:o,changeStatus:s,isHighlighted:g,isFocused:h},showContent:c,showChangeAnalysis:_,isDark:l,onContextMenu:(t,n)=>{d(t,e)}})}const ma=On(pa);ma.displayName=`GraphColumnNode`;function ha(e){let{source:t,target:n,sourceX:r,sourceY:i,targetX:a,targetY:o,sourcePosition:s,targetPosition:c,style:l={},markerEnd:u,data:d,isEdgeHighlighted:f}=e,p={...l};d?.changeStatus&&(p.stroke=jt(d.changeStatus).hexColor,p.strokeDasharray=`5`),!f||f(t,n)||(p.filter=`opacity(0.2) grayscale(50%)`);let[m]=Nr({sourceX:r,sourceY:i,sourcePosition:s,targetX:a,targetY:o,targetPosition:c});return H(V,{children:H(Tr,{path:m,markerEnd:u,style:{...p,...l}})})}const ga=On(ha);ga.displayName=`GraphEdge`;function _a(e){let{isEdgeHighlighted:t}=it();return H(ga,{...e,isEdgeHighlighted:t})}const va=()=>H(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 256 256`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,children:H(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm16-40a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176ZM112,84a12,12,0,1,1,12,12A12,12,0,0,1,112,84Z`})}),ya=()=>H(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`,viewBox:`0 0 256 256`,height:`1em`,width:`1em`,xmlns:`http://www.w3.org/2000/svg`,children:H(`path`,{d:`M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z`})});function ba({skipReason:e}){return H(Sr,{size:`small`,label:U(K,{direction:`row`,sx:{fontSize:`10pt`,color:`grey.500`,alignItems:`center`,gap:`3px`},children:[H(W,{children:`Skipped`}),e&&H(Y,{title:e,children:H(W,{component:`span`,sx:{display:`flex`},children:H(va,{})})})]}),sx:{bgcolor:`grey.100`}})}function xa({errorMessage:e}){return U(K,{direction:`row`,sx:{fontSize:`10pt`,color:`gray`,alignItems:`center`},children:[H(W,{children:`Error`}),e&&H(Y,{title:e,children:H(W,{component:`span`,sx:{display:`flex`},children:H(ya,{})})})]})}function Sa({result:e}){let{mismatchedColumns:t}=e,n=t>0;return H(Sr,{size:`small`,sx:{bgcolor:n?`error.light`:`success.light`},label:H(K,{direction:`row`,sx:{fontSize:`10pt`,color:n?`error.main`:`success.main`,alignItems:`center`,gap:`3px`},children:n?`${t} columns mismatched`:`All columns match`})})}function Ca({result:e}){let{base:t,current:n}=e,r=t===null?`N/A`:t.toLocaleString(),i=n===null?`N/A`:n.toLocaleString(),a=``,o=`grey.500`;return t!==null&&n!==null&&(n>t?(a=`↑`,o=`success.main`):n<t?(a=`↓`,o=`error.main`):a=`=`),H(Sr,{size:`small`,sx:{bgcolor:`grey.100`},label:U(K,{direction:`row`,sx:{fontSize:`10pt`,alignItems:`center`,gap:`3px`},children:[H(W,{children:r}),H(W,{children:`→`}),H(W,{children:i}),a&&H(W,{component:`span`,sx:{color:o,ml:.5},children:a})]})})}function wa({status:e,skipReason:t,errorMessage:n,progress:r,valueDiffResult:i,rowCountDiffResult:a,runId:o,"data-testid":s}){return e===`pending`?H(Yn,{size:16,"data-testid":s,"data-status":`pending`}):e===`skipped`?H(W,{"data-testid":s,"data-status":`skipped`,children:H(ba,{skipReason:t})}):e===`running`?r?.percentage===void 0?H(Yn,{size:16,"data-testid":s,"data-status":`running`}):H(Yn,{variant:`determinate`,value:r.percentage*100,size:16,"data-testid":s,"data-status":`running`}):e===`error`?H(W,{"data-testid":s,"data-status":`error`,children:H(xa,{errorMessage:n})}):i?H(W,{"data-testid":s,"data-status":`success`,children:H(Sa,{result:i})}):a?H(W,{"data-testid":s,"data-status":`success`,children:H(Ca,{result:a})}):H(W,{"data-testid":s,"data-status":`success`,children:o||`Complete`})}const Ta=On(wa);Ta.displayName=`ActionTag`;function Ea({event:e}){let t=Ne(e),n={create:gr,comment:ar,approve:or,unapprove:sr,edit:pr,preset:rr},r={create:`primary.main`,comment:`grey.500`,approve:`success.main`,unapprove:`grey.400`,edit:`warning.main`,preset:`secondary.main`},i=n[t],a=r[t];return H(W,{component:i,sx:{color:a,fontSize:16}})}function Da({event:e}){let{actor:t}=e,{avatarUrl:n}=o({userId:t.user_id}),r=(t.fullname||t.login||`User`).charAt(0).toUpperCase();return H(ni,{src:n||void 0,sx:{width:24,height:24,fontSize:`0.75rem`},children:r})}function Oa({event:e}){let{actor:t}=e,n=t.fullname||t.login||`Someone`,r=ai(new Date(e.created_at),{addSuffix:!0}),i=``;switch(e.event_type){case`check_created`:i=`created this check`;break;case`approval_change`:i=e.new_value===`true`?`approved this check`:`unapproved this check`;break;case`description_change`:i=`updated the description`;break;case`name_change`:i=`renamed this check`;break;case`preset_applied`:i=`applied a preset`;break;default:i=`made a change`}return U(W,{sx:{display:`flex`,gap:1,alignItems:`flex-start`,py:1},children:[H(W,{sx:{pt:`2px`},children:H(Ea,{event:e})}),H(W,{sx:{flex:1},children:U(K,{direction:`row`,spacing:.5,flexWrap:`wrap`,alignItems:`center`,children:[H(Da,{event:e}),H(q,{variant:`body2`,fontWeight:`500`,children:n}),H(q,{variant:`body2`,color:`text.secondary`,children:i}),H(q,{variant:`caption`,color:`text.disabled`,children:r})]})})]})}function ka({event:e,currentUserId:t,onEdit:n,onDelete:r}){let i=kt(),[a,o]=B(!1),[s,c]=B(e.content||``),[l,u]=B(!1),[d,f]=B(!1),[p,m]=B(null),h=!!p,{actor:g}=e,_=g.fullname||g.login||`Someone`,v=ai(new Date(e.created_at),{addSuffix:!0}),y=t&&String(g.user_id)===String(t),b=()=>{c(e.content||``),o(!0)},x=()=>{c(e.content||``),o(!1)},S=async()=>{let t=s.trim();if(!t||t===e.content){x();return}if(n){u(!0);try{await n(e.id,t),o(!1)}finally{u(!1)}}},C=e=>{e.key===`Escape`?x():e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),S())},w=e=>{m(e.currentTarget)},T=()=>{m(null)},E=async()=>{if(r){f(!0);try{await r(e.id),T()}finally{f(!1)}}};return e.is_deleted?U(W,{sx:{display:`flex`,gap:1,alignItems:`center`,py:1},children:[H(W,{sx:{pt:`2px`,display:`flex`,alignItems:`center`},children:H(Ea,{event:e})}),H(W,{sx:{display:`flex`,flex:1,alignItems:`center`},children:H(q,{variant:`body2`,color:`text.disabled`,fontStyle:`italic`,children:`Comment deleted`})})]}):U(W,{sx:{display:`flex`,gap:1,alignItems:`flex-start`,py:1},children:[H(W,{sx:{pt:`2px`},children:H(Ea,{event:e})}),U(W,{sx:{flex:1},children:[U(K,{direction:`row`,spacing:.5,sx:{mb:.5},flexWrap:`wrap`,alignItems:`center`,children:[H(Da,{event:e}),U(q,{variant:`body2`,fontWeight:`500`,children:[_,y&&U(q,{component:`span`,variant:`body2`,color:`text.secondary`,children:[` `,`(Author)`]})]}),H(q,{variant:`caption`,color:`text.disabled`,children:v}),e.is_edited&&H(q,{variant:`caption`,color:`text.disabled`,children:`(edited)`})]}),a?U(W,{children:[H(Zr,{value:s,onChange:e=>c(e.target.value),onKeyDown:C,size:`small`,multiline:!0,minRows:3,fullWidth:!0,disabled:l,autoFocus:!0,sx:{"& .MuiOutlinedInput-root":{bgcolor:`background.paper`,"&:focus-within":{borderColor:`primary.main`}}}}),U(K,{direction:`row`,spacing:1,sx:{mt:1},justifyContent:`flex-end`,children:[H(G,{size:`small`,variant:`text`,onClick:x,disabled:l,children:`Cancel`}),H(G,{size:`small`,variant:`contained`,onClick:S,disabled:!s.trim()||l,children:l?`Saving...`:`Save`})]})]}):U(W,{sx:{bgcolor:i?`grey.800`:`grey.50`,borderRadius:1,p:1,border:`1px solid`,borderColor:i?`grey.700`:`grey.200`,position:`relative`,"&:hover .comment-actions":{opacity:1}},children:[H(re,{content:e.content||``,fontSize:`sm`}),y&&(n||r)&&U(K,{className:`comment-actions`,direction:`row`,spacing:0,sx:{position:`absolute`,top:4,right:4,opacity:0,transition:`opacity 0.2s`},children:[n&&H(Y,{title:`Edit comment`,children:H(J,{"aria-label":`Edit comment`,size:`small`,onClick:b,children:H(hr,{})})}),r&&U(V,{children:[H(Y,{title:`Delete comment`,children:H(J,{"aria-label":`Delete comment`,size:`small`,color:`error`,onClick:w,children:H(br,{})})}),H(ri,{open:h,anchorEl:p,onClose:T,anchorOrigin:{vertical:`bottom`,horizontal:`center`},transformOrigin:{vertical:`top`,horizontal:`center`},children:U(W,{sx:{p:2},children:[H(q,{variant:`body2`,sx:{mb:2},children:`Delete this comment?`}),U(K,{direction:`row`,spacing:1,justifyContent:`flex-end`,children:[H(G,{size:`small`,variant:`text`,onClick:T,disabled:d,children:`Cancel`}),H(G,{size:`small`,variant:`contained`,color:`error`,onClick:E,disabled:d,children:d?`Deleting...`:`Delete`})]})]})})]})]})]})]})]})}function Aa({event:e,currentUserId:t,onEdit:n,onDelete:r}){return e.event_type===`comment`?H(ka,{event:e,currentUserId:t,onEdit:n,onDelete:r}):H(Oa,{event:e})}function ja({checkId:e}){let t=kt(),{apiClient:n}=g(),{events:r,isLoading:i,error:a,createComment:o,isCreatingComment:s,updateComment:c,deleteComment:l}=M(e),{data:u}=xn({queryKey:P.user(),queryFn:()=>Jt(n),retry:!1}),d=e=>{o(e)},f=async(e,t)=>{await c({eventId:e,content:t})},p=async e=>{await l(e)};return i?H(W,{sx:{height:`100%`,p:4,display:`flex`,justifyContent:`center`,alignItems:`center`},children:H(Yn,{size:20})}):a?H(W,{sx:{height:`100%`,p:4,display:`flex`,justifyContent:`center`,alignItems:`center`},children:H(q,{sx:{fontSize:`0.875rem`,color:`error.main`},children:`Failed to load timeline`})}):U(K,{sx:{height:`100%`,alignItems:`stretch`,borderLeft:`1px solid`,borderColor:t?`grey.700`:`grey.200`},spacing:0,children:[H(W,{sx:{px:3,py:2,borderBottom:`1px solid`,borderColor:t?`grey.700`:`grey.200`},children:H(q,{variant:`subtitle2`,sx:{fontWeight:500},children:`Activity`})}),H(W,{sx:{flex:1,overflowY:`auto`,px:3,py:2},children:r.length===0?H(q,{sx:{fontSize:`0.875rem`,color:`grey.500`},children:`No activity yet`}):H(K,{sx:{alignItems:`stretch`},spacing:0,children:r.map((e,n)=>U(W,{children:[H(Aa,{event:e,currentUserId:u?.id,onEdit:f,onDelete:p}),n<r.length-1&&H(Jn,{sx:{borderColor:t?`grey.700`:`grey.100`}})]},e.id))})}),H(W,{sx:{px:3,py:3,borderTop:`1px solid`,borderColor:t?`grey.700`:`grey.200`,bgcolor:t?`grey.900`:`grey.50`},children:H(_,{onSubmit:d,isSubmitting:s})})]})}function Ma({color:e}){return H(W,{component:`span`,sx:{display:`inline-block`,width:`10px`,height:`10px`,bgcolor:e,mr:1,borderRadius:`4px`}})}const Na=({defaultPrimaryKeys:e,onPrimaryKeysChange:t,...n})=>{let{lineageGraph:r,isActionAvailable:i}=F(),a=Mn(()=>{if(!r)return[];let e=new Set;for(let t in r.nodes){let n=r.nodes[t],i={...n.data.data.base?.columns??{},...n.data.data.current?.columns??{}};Object.entries(i).forEach(([t,n])=>{n?.unique&&e.add(t)})}return Array.from(e).sort()},[r]);return H(W,{sx:{display:`flex`},...n,children:U(K,{spacing:0,sx:{m:`0 0.5rem`},children:[U(K,{direction:`row`,alignItems:`center`,spacing:.5,children:[H(q,{component:`label`,sx:{fontSize:`0.625rem`,color:`text.secondary`},children:`Diff with Primary Key(s) (suggested)`}),H(Y,{title:`Provide a primary key to perform query diff in data warehouse and only return changed rows.`,placement:`bottom-end`,children:H(W,{component:`span`,sx:{display:`flex`,color:`grey.600`,cursor:`help`},children:H(ur,{fontSize:`0.75rem`})})})]}),H(de,{className:`no-track-pii-safe`,unitName:`key`,defaultValues:e,suggestionList:a,onValuesChange:t,size:`2xs`,width:`240px`,placeholder:`Select or type to add keys`,disabled:!i(`query_diff_with_primary_key`)})]})})};function Pa({supportCalendarUrl:e=`https://cal.com/team/recce/chat`}){let{data:t}=Ct();return H(`div`,{className:`flex flex-1 h-full min-h-0 m-2 p-4 bg-blue-50 rounded-lg shadow-md justify-center`,children:U(`div`,{className:`w-4/5 flex flex-col overflow-y-auto gap-6 px-8 pb-8`,children:[U(K,{alignItems:`center`,spacing:2,children:[H(W,{sx:{p:1,bgcolor:`background.paper`,borderRadius:`50%`,display:`flex`,alignItems:`center`,justifyContent:`center`,boxShadow:2},children:H(W,{component:ki,sx:{fontSize:28,color:`iochmara.500`}})}),H(q,{variant:`h5`,sx:{mt:2},children:`Wait, there's more!`}),U(q,{sx:{fontSize:`1rem`,textAlign:`center`},children:[`Query functions disabled without a`,` `,H(q,{component:`span`,sx:{fontWeight:`bold`},children:`data warehouse connection`})]})]}),H(K,{sx:{width:`50%`,mt:3,mx:`auto`},children:H(G,{color:`iochmara`,variant:`contained`,size:`large`,onClick:()=>{window.open(qt(t,e),`_blank`)},children:`Connect to Data Warehouse`})})]})})}const Fa=()=>{let{isCustomQueries:e,setCustomQueries:t,sqlQuery:n,setBaseSqlQuery:r}=be();return U(W,{children:[U(K,{direction:`row`,spacing:.5,alignItems:`center`,fontSize:`0.75rem`,children:[H(q,{variant:`body2`,sx:{fontSize:`0.75rem`},children:`Custom Queries`}),H(Y,{title:`Custom queries allow you to use two SQL queries to compare results between current and base environments.`,children:H(W,{component:`span`,sx:{display:`flex`,color:`grey.600`},children:H(dr,{fontSize:`1rem`})})})]}),H(wi,{size:`small`,checked:e,onChange:()=>{!e&&r&&r(n),t(!e)},color:`primary`})]})},Ia=()=>{let{sqlQuery:e,baseSqlQuery:t,setSqlQuery:n,setBaseSqlQuery:r,primaryKeys:i,setPrimaryKeys:a,isCustomQueries:o}=be(),{lineageGraph:s,envInfo:c}=F(),{featureToggles:l,singleEnv:u}=dt(),f=e;c?.adapterType===`sqlmesh`&&e===T&&(f=`select * from db.mymodel`),l.mode===`read only`&&(f=`--- Would like to do query here? Book a demo with us at ${Xt}\n${f}`);let{showRunId:p}=lt(),{apiClient:m}=g(),{mutate:h,isPending:_}=bn({mutationFn:async e=>{function n(e){switch(e){case`query`:return Pe;case`query_base`:return De;case`query_diff`:return ke;default:throw Error(`Unknown query type: ${e}`)}}let r=e===`query_base`?t??``:f,a=n(e),s={sql_template:r},c={nowait:!0};e===`query_diff`&&(s.primary_keys=i,o&&(s.base_sql_template=t));let{run_id:l}=await a(s,c,m);return p(l),await ze(l,void 0,m)}}),v=Mn(()=>{let e={};if(!s)return`N/A`;for(let t in s.nodes){let n=s.nodes[t].data.data.current?.schema;n&&(e[n]=(e[n]||0)+1)}return Object.keys(e).reduce((t,n)=>e[n]>(e[t]||0)?n:t,`N/A`)},[s]);return u||l.mode===`metadata only`?U(W,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:[U(W,{sx:{display:`flex`,justifyContent:`right`,alignItems:`center`,padding:`4pt 8pt`,gap:`5px`,height:`54px`,borderBottom:`1px solid`,borderColor:`divider`},children:[H(qs,{}),H(W,{sx:{flexGrow:1}}),u?H(Y,{title:`Please configure the base environment before running the diff`,placement:`left`,children:H(`span`,{children:H(G,{variant:`contained`,disabled:!0,size:`small`,sx:{fontSize:`14px`,mt:`16px`},children:`Run Diff`})})}):H(Pc,{display:l.mode===`metadata only`,children:H(G,{variant:`contained`,disabled:!0,size:`small`,sx:{fontSize:`14px`,mt:`16px`},children:`Run Diff`})})]}),H(d,{value:f,onChange:n,onRun:()=>{h(`query`)},labels:[`base (production)`,`current (${v})`],SetupGuide:l.mode===`metadata only`?H(Pa,{}):H(Hs,{})})]}):U(W,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:[U(W,{sx:{display:`flex`,justifyContent:`right`,alignItems:`flex-end`,padding:`4pt 8pt`,gap:`5px`,height:`54px`,borderBottom:`1px solid`,borderColor:`divider`,flex:`0 0 54px`},children:[H(qs,{}),H(Fa,{}),H(W,{sx:{flexGrow:1}}),H(Na,{defaultPrimaryKeys:i,onPrimaryKeysChange:a}),H(G,{variant:`contained`,onClick:()=>{h(`query_diff`)},disabled:_||l.disableDatabaseQuery,size:`small`,children:`Run Diff`})]}),H(W,{sx:{width:`100%`,flex:1,overflowY:`auto`},children:o?H(d,{value:f,baseValue:t,onChange:n,onChangeBase:r,onRun:()=>{h(`query`)},onRunBase:()=>{h(`query_base`)},onRunDiff:()=>{h(`query_diff`)}}):H(oe,{value:f,onChange:n,onRun:()=>{h(`query`)},onRunDiff:()=>{h(`query_diff`)}})})]})};function La({rowCount:e}){let t=e.base,r=e.curr,i=e.base===null?`N/A`:`${e.base} Rows`,a=e.curr===null?`N/A`:`${e.curr} Rows`,o,s;t===null&&r===null?(o=`Failed to load`,s=`default`):t===null||r===null?(o=`${i} -> ${a}`,s=t===null?`success`:`error`):t===r?(o=`=`,s=`default`):(o=`${Ht(t,r)} Rows`,s=t<r?`success`:`error`);let c=n(`row_count_diff`).icon;return H(Sr,{size:`small`,color:s,icon:c?H(c,{}):void 0,label:o,sx:{height:20,fontSize:`0.7rem`}})}function Ra({id:e,inverted:t}){let{lineageGraph:r,runsAggregated:i}=F(),{text:a,isDark:o}=Ft(),s=i?.[e],c=r?.nodes[e];if(!s&&!c)return null;let l;if(c?.data.data.base&&c.data.data.current){let e=c.data.data.base.columns,t=c.data.data.current.columns;l=Ut(e,t)}let u;if(s?.row_count_diff){let e=s.row_count_diff.result;u=e.curr!==e.base}let d=t?a.inverted:jt(`modified`).color,f=t?a.secondary:o?`grey.700`:`grey.100`,p=n(`schema_diff`).icon;return U(W,{sx:{display:`flex`,flex:1,alignItems:`center`},children:[l!==void 0&&H(Y,{title:`Schema (${l?`changed`:`no change`})`,enterDelay:500,children:H(W,{sx:{height:16},children:p&&H(W,{component:p,sx:{color:l?d:f}})})}),H(W,{sx:{flexGrow:1}}),s?.row_count_diff&&u!==void 0&&H(Y,{title:`Row count (${u?`changed`:`=`})`,enterDelay:500,children:H(W,{children:H(La,{rowCount:s.row_count_diff.result})})})]})}function za({nodeId:e,nodeName:t}){let{getNodeAction:n}=it(),r=n(e);if(!r)return null;let{status:i,skipReason:a,run:o}=r;if(i===`pending`)return H(Ta,{status:`pending`});if(i===`skipped`)return H(Ta,{status:`skipped`,skipReason:a});if(!o)return H(Ta,{status:`pending`});let{error:s,run_id:c,progress:l}=o;if(i===`running`)return H(Ta,{status:`running`,progress:{percentage:l?.percentage}});if(s)return H(Ta,{status:`error`,errorMessage:s});if(o.type===`value_diff`&&o.result){let e=o.result,t=0,n=e.data.data.length;for(let n of e.data.data)n[2]<1&&t++;return H(Ta,{status:`success`,valueDiffResult:{mismatchedColumns:t,totalColumns:n}})}if(Ke(o)&&o.result){let e=o.result[t];if(e)return H(La,{rowCount:e})}if(o.type===`row_count`&&o.result){let e=o.result[t];if(e?.curr!==void 0&&e.curr!==null)return H(Sr,{size:`small`,label:`${e.curr.toLocaleString()} Rows`,sx:{height:20,fontSize:`0.7rem`}})}return H(Ta,{status:`success`,runId:c})}function Ba(e){let{data:t}=e,{id:n,resourceType:r,changeStatus:i,name:a}=t,o=Rr(e=>e.transform[2]>.3),{isDark:s}=Ft(),{interactive:c,selectNode:l,selectMode:u,focusedNode:d,getNodeAction:f,getNodeColumnSet:p,isNodeHighlighted:m,isNodeSelected:h,isNodeShowingChangeAnalysis:g,showContextMenu:_,viewOptions:v,cll:y,showColumnLevelLineage:b}=it(),x=y?.current.nodes[n]?.change_category,S=m(n),C=h(n),w=v.column_level_lineage?.node_id===n&&v.column_level_lineage.column===void 0,T=d?.id===n||w,E=g(n),D=p(t.id),O=u===`action_result`?f(t.id):void 0,ee=i,te=u,k=u===`action_result`&&O?H(za,{nodeId:n,nodeName:a}):void 0,A=u!==`action_result`&&t.resourceType===`model`?H(Ra,{id:t.id,inverted:u===`selecting`&&C}):void 0;return H(Nt,{id:n,data:{label:a,changeStatus:ee,resourceType:r},interactive:c,selectMode:te,isNodeSelected:C,isFocused:T,isHighlighted:S,showContent:o,actionTag:k,showChangeAnalysis:E,changeCategory:x,runsAggregatedTag:A,hasParents:Object.keys(t.parents).length>0,hasChildren:Object.keys(t.children).length>0,columnCount:D.size,columnHeight:bt,isDark:s,onSelect:e=>{l(e)},onContextMenu:(t,n)=>{_(t,e)},onShowImpactRadius:i===`modified`?e=>{b({node_id:e,change_analysis:!0,no_upstream:!0})}:void 0})}const Va=On(Ba);Va.displayName=`GraphNode`;const Ha={lineageGraphNode:Va,lineageGraphColumnNode:ma},Ua={lineageGraphEdge:_a},Wa=[],Ga=e=>e.data.changeStatus?jt(e.data.changeStatus).hexColor:Et.neutral[400],Ka={ROW_COUNT:`row_count`,ROW_COUNT_DIFF:`row_count_diff`,PROFILE:`profile`,PROFILE_DIFF:`profile_diff`,VALUE_DIFF:`value_diff`,HISTOGRAM_DIFF:`histogram_diff`,TOP_K_DIFF:`top_k_diff`},qa={LINEAGE_VIEW_CONTEXT_MENU:`lineage_view_context_menu`},Ja={SELECT_PARENT_NODES:`select_parent_nodes`,SELECT_CHILD_NODES:`select_child_nodes`,SELECT_ALL_UPSTREAM:`select_all_upstream`,SELECT_ALL_DOWNSTREAM:`select_all_downstream`},Ya=({menuItems:e,open:t,onClose:n,x:r,y:i,featureToggles:a,DisabledItemWrapper:o})=>{let s=o??(({children:e})=>H(V,{children:e})),c=a?.mode===`metadata only`;return H(Hr,{open:t,onClose:n,anchorReference:`anchorPosition`,anchorPosition:{top:i,left:r},slotProps:{paper:{sx:{fontSize:`0.85rem`,width:`250px`}}},children:e.length===0?H(Ur,{disabled:!0,children:`No action available`},`no action`):e.map(({isSeparator:e,label:t,isDisabled:r,action:i,itemIcon:a})=>{if(e)return H(Jn,{},t);let l=U(Ur,{disabled:r,onClick:()=>{i&&i(),n()},children:[a,` `,t]},t);return r&&o?H(s,{display:c,children:l},t):l})})},Xa=({isOpen:e,onClose:t,x:n,y:r,node:i,deps:a={},viewOptions:o={},featureToggles:s={},serverFlags:c={},noCatalogCurrent:l=!1,isActionAvailable:u=()=>!0})=>{let d=[],{runAction:f,onNavigate:p,onTrack:m,findByRunType:h,setSqlQuery:g,setPrimaryKeys:_,getPrimaryKey:v,DisabledItemWrapper:y}=a,{selectMode:b,cll:x,showColumnLevelLineage:S,selectParentNodes:C,selectChildNodes:w,getNodeColumnSet:T}=o,E=c.single_env_onboarding??!1,D=s.disableDatabaseQuery??!1;if(!i?.data)return H(V,{});let O=i.data,ee=O.resourceType,te=T?Array.from(T(i.id)):[],k={source:`lineage_model_node`},A=O.changeStatus,ne=v?.(O.name);if(A===`modified`&&d.push({label:`Show Impact Radius`,itemIcon:H(er,{}),isDisabled:l,action:()=>{S?.({node_id:i.id,change_analysis:!0,no_upstream:!0})}}),!b&&ee&&[`model`,`seed`,`snapshot`].includes(ee)){d.length>0&&d.push({label:`select group one`,isSeparator:!0});let e=h?.(E?`query`:`query_diff`),t=Wt(Object.keys(O.data.base?.columns??{}),Object.keys(O.data.current?.columns??{})),n=`select * from {{ ref("${O.name}") }}`;if(t.length&&(n=`select \n ${t.join(`
3
+ `)}\nfrom {{ ref("${O.name}") }}`),e&&d.push({label:`Query`,itemIcon:H(W,{component:e.icon,sx:{display:`inline-flex`}}),isDisabled:D,action:()=>{g?.(n),u(`query_diff_with_primary_key`)&&_?.(ne===void 0?void 0:[ne]),p?.(`/query`)}}),te.length>0&&e)if(x!==void 0){let t=new Set;ne&&t.add(ne),te.forEach(e=>{t.add(e)}),d.push({label:`Query Related Columns`,itemIcon:H(W,{component:e.icon,sx:{display:`inline-flex`}}),isDisabled:D,action:()=>{let e=`select \n ${Array.from(t).join(`,
4
+ `)}\nfrom {{ ref("${O.name}") }}`;g?.(e),u(`query_diff_with_primary_key`)&&_?.(ne===void 0?void 0:[ne]),p?.(`/query`)}})}else{let t=Object.entries(O.change?.columns??{}).filter(([,e])=>e===`modified`).map(([e])=>e);if(t.length>0){let n=new Set;ne&&n.add(ne),t.forEach(e=>{n.add(e)}),d.push({label:`Query Modified Columns`,itemIcon:H(W,{component:e.icon,sx:{display:`inline-flex`}}),isDisabled:D,action:()=>{let e=`select \n ${Array.from(n).join(`,
5
+ `)}\nfrom {{ ref("${O.name}") }}`;g?.(e),u(`query_diff_with_primary_key`)&&_?.(ne===void 0?void 0:[ne]),p?.(`/query`)}})}}let r=E?`row_count`:`row_count_diff`,a=h?.(r);a&&d.push({label:a.title,itemIcon:H(W,{component:a.icon,sx:{display:`inline-flex`}}),isDisabled:D,action:()=>{m?.(`explore_action`,{action:E?Ka.ROW_COUNT:Ka.ROW_COUNT_DIFF,source:qa.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),f?.(r,{node_names:[O.name]},{showForm:!1,trackProps:k})}});let o=E?`profile`:`profile_diff`,s=h?.(o);if(s&&d.push({label:s.title,itemIcon:H(W,{component:s.icon,sx:{display:`inline-flex`}}),isDisabled:D,action:()=>{let e=T?Array.from(T(i.id)):[];m?.(`explore_action`,{action:E?Ka.PROFILE:Ka.PROFILE_DIFF,source:qa.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),f?.(o,{model:O.name,columns:e},{showForm:!0,trackProps:k})}}),!E){let e=h?.(`value_diff`);e&&d.push({label:e.title,itemIcon:H(W,{component:e.icon,sx:{display:`inline-flex`}}),isDisabled:D,action:()=>{let e=T?Array.from(T(i.id)):[];m?.(`explore_action`,{action:Ka.VALUE_DIFF,source:qa.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),f?.(`value_diff`,{model:O.name,columns:e},{showForm:!0,trackProps:k})}})}}return E||(d.length>0&&d.push({label:`select group two`,isSeparator:!0}),d.push({label:`Select Parent Nodes`,itemIcon:H(Mi,{}),action:()=>{m?.(`lineage_selection`,{action:Ja.SELECT_PARENT_NODES}),C?.(i.id,1)}}),d.push({label:`Select Child Nodes`,itemIcon:H(Ni,{}),action:()=>{m?.(`lineage_selection`,{action:Ja.SELECT_CHILD_NODES}),w?.(i.id,1)}}),d.push({label:`Select All Upstream Nodes`,itemIcon:H(Mi,{}),action:()=>{m?.(`lineage_selection`,{action:Ja.SELECT_ALL_UPSTREAM}),C?.(i.id)}}),d.push({label:`Select All Downstream Nodes`,itemIcon:H(Ni,{}),action:()=>{m?.(`lineage_selection`,{action:Ja.SELECT_ALL_DOWNSTREAM}),w?.(i.id)}})),H(Ya,{x:n,y:r,menuItems:d,open:e,onClose:t,featureToggles:s,DisabledItemWrapper:y})},Za=({isOpen:e,onClose:t,x:n,y:r,node:i,deps:a={},featureToggles:o={},serverFlags:s={},isActionAvailable:c=()=>!0})=>{let l=[],{runAction:u,onTrack:d,findByRunType:f,supportsHistogramDiff:p,DisabledItemWrapper:m}=a,h=s.single_env_onboarding??!1,g=o.disableDatabaseQuery??!1;if(i?.data===void 0)return H(V,{});let _=i.data,v=_.node,y=_.column,b=_.type,x={source:`lineage_column_node`},S=()=>{d?.(`explore_action`,{action:Ka.PROFILE_DIFF,source:qa.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),u?.(`profile_diff`,{model:v.name,columns:[y]},{showForm:!1,trackProps:x})},C=()=>{d?.(`explore_action`,{action:Ka.HISTOGRAM_DIFF,source:qa.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),u?.(`histogram_diff`,{model:v.name,column_name:y,column_type:b},{showForm:!1,trackProps:x})},w=()=>{d?.(`explore_action`,{action:Ka.TOP_K_DIFF,source:qa.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),u?.(`top_k_diff`,{model:v.name,column_name:y,k:50},{showForm:!1,trackProps:x})},T=()=>{d?.(`explore_action`,{action:Ka.VALUE_DIFF,source:qa.LINEAGE_VIEW_CONTEXT_MENU,node_count:1}),u?.(`value_diff`,{model:v.name,columns:[y]},{showForm:!0,trackProps:x})},E=v.data.base?.columns?.[y]===void 0||v.data.current?.columns?.[y]===void 0,D=f?.(h?`profile`:`profile_diff`);if(D&&l.push({label:D.title,itemIcon:H(W,{component:D.icon,sx:{display:`inline-flex`}}),action:S,isDisabled:E||!c(`profile_diff`)||g}),!h){let e=f?.(`histogram_diff`);if(e){let t=p?.(b)??!0;l.push({label:e.title,itemIcon:H(W,{component:e.icon,sx:{display:`inline-flex`}}),action:C,isDisabled:E||!t||g})}let t=f?.(`top_k_diff`);t&&l.push({label:t.title,itemIcon:H(W,{component:t.icon,sx:{display:`inline-flex`}}),action:w,isDisabled:E||g});let n=f?.(`value_diff`);n&&l.push({label:n.title,itemIcon:H(W,{component:n.icon,sx:{display:`inline-flex`}}),action:T,isDisabled:E||g})}return H(Ya,{x:n,y:r,menuItems:l,open:e,onClose:t,featureToggles:o,DisabledItemWrapper:m})},Qa=({isOpen:e,onClose:t,x:n,y:r,node:i,deps:a={},viewOptions:o={},featureToggles:s={},serverFlags:c={},noCatalogCurrent:l=!1,isActionAvailable:u=()=>!0})=>s.disableViewActionDropdown?H(Ya,{menuItems:[],open:e,onClose:t,x:n,y:r,featureToggles:s,DisabledItemWrapper:a.DisabledItemWrapper}):i&&ft(i)?H(Xa,{x:n,y:r,isOpen:e,onClose:t,node:i,deps:a,viewOptions:o,featureToggles:s,serverFlags:c,noCatalogCurrent:l,isActionAvailable:u}):i&&xt(i)?H(Za,{x:n,y:r,isOpen:e,onClose:t,node:i,deps:a,featureToggles:s,serverFlags:c,isActionAvailable:u}):null,$a=()=>{let[e,t]=B(!1),n=()=>t(!0),r=()=>t(!1),[i,a]=B({x:0,y:0}),[o,s]=B();return{props:{x:i.x,y:i.y,node:o,isOpen:e,onClose:r},showContextMenu:(e,t,r)=>{a({x:e,y:t}),s(r),n()},closeContextMenu:()=>{a({x:0,y:0}),s(void 0),r()}}},eo=()=>{let{isDark:e}=Ft(),{successToast:t,failToast:n}=Lt();return A({renderLibrary:`html-to-image`,imageType:`png`,shadowEffect:!0,backgroundColor:e?Et.neutral[900]:Et.neutral[50],ignoreElements:e=>{try{return e.classList.contains(ee)}catch{return e.className?e.className.includes(ee):!1}},onSuccess:()=>{t(`Copied the Lineage View as an image to clipboard`)},onError:e=>{console.error(`Error taking screenshot`,e),n(`Failed to copy image to clipboard`,e)}})},to=()=>{let e=pi(),{basePath:t}=ot();return L(n=>{n.check_id&&e.push(`${t}/checks/?id=${n.check_id}`)},[e.push,t])},no=(e,t)=>{let n=z({width:0,height:0});R(()=>{let r=e.current,i=new ResizeObserver(e=>{for(let r of e){let e=r.contentRect.width,i=r.contentRect.height;(Math.abs(i-n.current.height)>10||Math.abs(e-n.current.width)>10)&&n.current.height>0&&i>0&&n.current.width>0&&e>0&&t(),n.current={width:e,height:i}}});return r&&i.observe(r),()=>{r&&i.unobserve(r)}},[t,e])},ro=()=>L((e,t,n,r,i)=>{let a=e.filter(ft),o=Object.groupBy(a,e=>e.data.changeStatus??`unchanged`),s=Object.fromEntries(Object.entries(o).map(([e,t])=>[`nodes_${e}`,t?.length??0])),c={node_count:a.length,view_mode:t,impact_radius_enabled:n,right_sidebar_open:i,...s};r&&(c.cll_column_active=!0),an(c)},[]),io={row_count:fn.ROW_COUNT,row_count_diff:fn.ROW_COUNT_DIFF,value_diff:fn.VALUE_DIFF},ao=e=>{let t=io[e.action];t&&pn({action:t,source:un.LINEAGE_VIEW_TOP_BAR,node_count:e.node_count})},oo=(e,t)=>ye(e,{...t,onTrackAction:ao,trackingSource:un.LINEAGE_VIEW_TOP_BAR});function so(){return r({onConfirm:()=>tn({action:fn.VALUE_DIFF,event:cn.EXECUTE}),onCancel:()=>tn({action:fn.VALUE_DIFF,event:cn.CANCEL})})}var co=so;function lo({notification:e,type:t}){let n=Ze.lineageNotificationDismissed,[r,i]=B(()=>sessionStorage.getItem(n)!==`true`);if(e===null||!r)return null;let a={info:`iochmara.light`,success:`success.light`,warning:`warning.light`,error:`error.light`}[t];return U(W,{sx:{width:`100%`,display:`flex`,flexDirection:`row`,p:`5px 10px`,gap:`5px`,alignItems:`flex-start`,borderRadius:1,boxShadow:4,border:`1px solid`,borderColor:`neutral.light`,bgcolor:a},children:[e,H(W,{sx:{flex:1}}),H(J,{size:`small`,onClick:()=>{sessionStorage.setItem(n,`true`),i(!1)},children:H(Gn,{})})]})}const uo=e=>{let{runAction:t}=lt(),{setSqlQuery:r,setPrimaryKeys:i}=be(),a=pi(),{primaryKey:o}=C(e),{basePath:s}=ot();return{runAction:(e,n,r)=>{t(e,n,r)},onNavigate:e=>{a.push(`${s}${e}`)},onTrack:(e,t)=>{e===`explore_action`?pn({action:t.action,source:qa.LINEAGE_VIEW_CONTEXT_MENU,node_count:t.node_count}):e===`lineage_selection`&&sn({action:t.action})},supportsHistogramDiff:w,findByRunType:e=>{let t=n(e);return t?{title:t.title,icon:t.icon}:void 0},setSqlQuery:r,setPrimaryKeys:i,getPrimaryKey:()=>o,DisabledItemWrapper:Pc}},fo=({isOpen:e,onClose:t,x:n,y:r,node:i})=>{let{selectParentNodes:a,selectChildNodes:o,getNodeColumnSet:s,selectMode:c,cll:l,showColumnLevelLineage:u}=it(),{featureToggles:d}=dt(),{isActionAvailable:f,lineageGraph:p}=F(),{data:m}=ct(),h=!p?.catalogMetadata.current;return H(Qa,{x:n,y:r,node:i,isOpen:e,onClose:t,deps:uo(i?.type===`lineageGraphNode`?i.data?.name:i?.type===`lineageGraphColumnNode`?i.data?.node?.name:void 0),viewOptions:{selectMode:c,cll:l,showColumnLevelLineage:u,selectParentNodes:a,selectChildNodes:o,getNodeColumnSet:s},featureToggles:{disableDatabaseQuery:d.disableDatabaseQuery,disableViewActionDropdown:d.disableViewActionDropdown,mode:d.mode??void 0},serverFlags:{single_env_onboarding:m?.single_env_onboarding},noCatalogCurrent:h,isActionAvailable:f})},po=$a;var mo=E(((e,t)=>{var n=`\0`,r=`\0`,i=``,a=class{_isDirected=!0;_isMultigraph=!1;_isCompound=!1;_label;_defaultNodeLabelFn=()=>void 0;_defaultEdgeLabelFn=()=>void 0;_nodes={};_in={};_preds={};_out={};_sucs={};_edgeObjs={};_edgeLabels={};_nodeCount=0;_edgeCount=0;_parent;_children;constructor(e){e&&(this._isDirected=Object.hasOwn(e,`directed`)?e.directed:!0,this._isMultigraph=Object.hasOwn(e,`multigraph`)?e.multigraph:!1,this._isCompound=Object.hasOwn(e,`compound`)?e.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[r]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return this._defaultNodeLabelFn=e,typeof e!=`function`&&(this._defaultNodeLabelFn=()=>e),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var e=this;return this.nodes().filter(t=>Object.keys(e._in[t]).length===0)}sinks(){var e=this;return this.nodes().filter(t=>Object.keys(e._out[t]).length===0)}setNodes(e,t){var n=arguments,r=this;return e.forEach(function(e){n.length>1?r.setNode(e,t):r.setNode(e)}),this}setNode(e,t){return Object.hasOwn(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=r,this._children[e]={},this._children[r][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.hasOwn(this._nodes,e)}removeNode(e){var t=this;if(Object.hasOwn(this._nodes,e)){var n=e=>t.removeEdge(t._edgeObjs[e]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],this.children(e).forEach(function(e){t.setParent(e)}),delete this._children[e]),Object.keys(this._in[e]).forEach(n),delete this._in[e],delete this._preds[e],Object.keys(this._out[e]).forEach(n),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw Error(`Cannot set parent in a non-compound graph`);if(t===void 0)t=r;else{t+=``;for(var n=t;n!==void 0;n=this.parent(n))if(n===e)throw Error(`Setting `+t+` as parent of `+e+` would create a cycle`);this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var t=this._parent[e];if(t!==r)return t}}children(e=r){if(this._isCompound){var t=this._children[e];if(t)return Object.keys(t)}else if(e===r)return this.nodes();else if(this.hasNode(e))return[]}predecessors(e){var t=this._preds[e];if(t)return Object.keys(t)}successors(e){var t=this._sucs[e];if(t)return Object.keys(t)}neighbors(e){var t=this.predecessors(e);if(t){let r=new Set(t);for(var n of this.successors(e))r.add(n);return Array.from(r.values())}}isLeaf(e){return(this.isDirected()?this.successors(e):this.neighbors(e)).length===0}filterNodes(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var n=this;Object.entries(this._nodes).forEach(function([n,r]){e(n)&&t.setNode(n,r)}),Object.values(this._edgeObjs).forEach(function(e){t.hasNode(e.v)&&t.hasNode(e.w)&&t.setEdge(e,n.edge(e))});var r={};function i(e){var a=n.parent(e);return a===void 0||t.hasNode(a)?(r[e]=a,a):a in r?r[a]:i(a)}return this._isCompound&&t.nodes().forEach(e=>t.setParent(e,i(e))),t}setDefaultEdgeLabel(e){return this._defaultEdgeLabelFn=e,typeof e!=`function`&&(this._defaultEdgeLabelFn=()=>e),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(e,t){var n=this,r=arguments;return e.reduce(function(e,i){return r.length>1?n.setEdge(e,i,t):n.setEdge(e,i),i}),this}setEdge(){var e,t,n,r,i=!1,a=arguments[0];typeof a==`object`&&a&&`v`in a?(e=a.v,t=a.w,n=a.name,arguments.length===2&&(r=arguments[1],i=!0)):(e=a,t=arguments[1],n=arguments[3],arguments.length>2&&(r=arguments[2],i=!0)),e=``+e,t=``+t,n!==void 0&&(n=``+n);var s=c(this._isDirected,e,t,n);if(Object.hasOwn(this._edgeLabels,s))return i&&(this._edgeLabels[s]=r),this;if(n!==void 0&&!this._isMultigraph)throw Error(`Cannot set a named edge when isMultigraph = false`);this.setNode(e),this.setNode(t),this._edgeLabels[s]=i?r:this._defaultEdgeLabelFn(e,t,n);var u=l(this._isDirected,e,t,n);return e=u.v,t=u.w,Object.freeze(u),this._edgeObjs[s]=u,o(this._preds[t],e),o(this._sucs[e],t),this._in[t][s]=u,this._out[e][s]=u,this._edgeCount++,this}edge(e,t,n){var r=arguments.length===1?u(this._isDirected,arguments[0]):c(this._isDirected,e,t,n);return this._edgeLabels[r]}edgeAsObj(){let e=this.edge(...arguments);return typeof e==`object`?e:{label:e}}hasEdge(e,t,n){var r=arguments.length===1?u(this._isDirected,arguments[0]):c(this._isDirected,e,t,n);return Object.hasOwn(this._edgeLabels,r)}removeEdge(e,t,n){var r=arguments.length===1?u(this._isDirected,arguments[0]):c(this._isDirected,e,t,n),i=this._edgeObjs[r];return i&&(e=i.v,t=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],s(this._preds[t],e),s(this._sucs[e],t),delete this._in[t][r],delete this._out[e][r],this._edgeCount--),this}inEdges(e,t){var n=this._in[e];if(n){var r=Object.values(n);return t?r.filter(e=>e.v===t):r}}outEdges(e,t){var n=this._out[e];if(n){var r=Object.values(n);return t?r.filter(e=>e.w===t):r}}nodeEdges(e,t){var n=this.inEdges(e,t);if(n)return n.concat(this.outEdges(e,t))}};function o(e,t){e[t]?e[t]++:e[t]=1}function s(e,t){--e[t]||delete e[t]}function c(e,t,r,a){var o=``+t,s=``+r;if(!e&&o>s){var c=o;o=s,s=c}return o+i+s+i+(a===void 0?n:a)}function l(e,t,n,r){var i=``+t,a=``+n;if(!e&&i>a){var o=i;i=a,a=o}var s={v:i,w:a};return r&&(s.name=r),s}function u(e,t){return c(e,t.v,t.w,t.name)}t.exports=a})),ho=E(((e,t)=>{t.exports=`2.2.4`})),go=E(((e,t)=>{t.exports={Graph:mo(),version:ho()}})),_o=E(((e,t)=>{var n=mo();t.exports={write:r,read:o};function r(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:i(e),edges:a(e)};return e.graph()!==void 0&&(t.value=structuredClone(e.graph())),t}function i(e){return e.nodes().map(function(t){var n=e.node(t),r=e.parent(t),i={v:t};return n!==void 0&&(i.value=n),r!==void 0&&(i.parent=r),i})}function a(e){return e.edges().map(function(t){var n=e.edge(t),r={v:t.v,w:t.w};return t.name!==void 0&&(r.name=t.name),n!==void 0&&(r.value=n),r})}function o(e){var t=new n(e.options).setGraph(e.value);return e.nodes.forEach(function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),e.edges.forEach(function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}})),vo=E(((e,t)=>{t.exports=n;function n(e){var t={},n=[],r;function i(n){Object.hasOwn(t,n)||(t[n]=!0,r.push(n),e.successors(n).forEach(i),e.predecessors(n).forEach(i))}return e.nodes().forEach(function(e){r=[],i(e),r.length&&n.push(r)}),n}})),yo=E(((e,t)=>{t.exports=class{_arr=[];_keyIndices={};size(){return this._arr.length}keys(){return this._arr.map(function(e){return e.key})}has(e){return Object.hasOwn(this._keyIndices,e)}priority(e){var t=this._keyIndices[e];if(t!==void 0)return this._arr[t].priority}min(){if(this.size()===0)throw Error(`Queue underflow`);return this._arr[0].key}add(e,t){var n=this._keyIndices;if(e=String(e),!Object.hasOwn(n,e)){var r=this._arr,i=r.length;return n[e]=i,r.push({key:e,priority:t}),this._decrease(i),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key}decrease(e,t){var n=this._keyIndices[e];if(t>this._arr[n].priority)throw Error(`New priority is greater than current priority. Key: `+e+` Old: `+this._arr[n].priority+` New: `+t);this._arr[n].priority=t,this._decrease(n)}_heapify(e){var t=this._arr,n=2*e,r=n+1,i=e;n<t.length&&(i=t[n].priority<t[i].priority?n:i,r<t.length&&(i=t[r].priority<t[i].priority?r:i),i!==e&&(this._swap(e,i),this._heapify(i)))}_decrease(e){for(var t=this._arr,n=t[e].priority,r;e!==0&&(r=e>>1,!(t[r].priority<n));)this._swap(e,r),e=r}_swap(e,t){var n=this._arr,r=this._keyIndices,i=n[e],a=n[t];n[e]=a,n[t]=i,r[a.key]=e,r[i.key]=t}}})),bo=E(((e,t)=>{var n=yo();t.exports=i;var r=()=>1;function i(e,t,n,i){return a(e,String(t),n||r,i||function(t){return e.outEdges(t)})}function a(e,t,r,i){var a={},o=new n,s,c,l=function(e){var t=e.v===s?e.w:e.v,n=a[t],i=r(e),l=c.distance+i;if(i<0)throw Error(`dijkstra does not allow negative edge weights. Bad edge: `+e+` Weight: `+i);l<n.distance&&(n.distance=l,n.predecessor=s,o.decrease(t,l))};for(e.nodes().forEach(function(e){var n=e===t?0:1/0;a[e]={distance:n},o.add(e,n)});o.size()>0&&(s=o.removeMin(),c=a[s],c.distance!==1/0);)i(s).forEach(l);return a}})),xo=E(((e,t)=>{var n=bo();t.exports=r;function r(e,t,r){return e.nodes().reduce(function(i,a){return i[a]=n(e,a,t,r),i},{})}})),So=E(((e,t)=>{t.exports=n;function n(e){var t=0,n=[],r={},i=[];function a(o){var s=r[o]={onStack:!0,lowlink:t,index:t++};if(n.push(o),e.successors(o).forEach(function(e){Object.hasOwn(r,e)?r[e].onStack&&(s.lowlink=Math.min(s.lowlink,r[e].index)):(a(e),s.lowlink=Math.min(s.lowlink,r[e].lowlink))}),s.lowlink===s.index){var c=[],l;do l=n.pop(),r[l].onStack=!1,c.push(l);while(o!==l);i.push(c)}}return e.nodes().forEach(function(e){Object.hasOwn(r,e)||a(e)}),i}})),Co=E(((e,t)=>{var n=So();t.exports=r;function r(e){return n(e).filter(function(t){return t.length>1||t.length===1&&e.hasEdge(t[0],t[0])})}})),wo=E(((e,t)=>{t.exports=r;var n=()=>1;function r(e,t,r){return i(e,t||n,r||function(t){return e.outEdges(t)})}function i(e,t,n){var r={},i=e.nodes();return i.forEach(function(e){r[e]={},r[e][e]={distance:0},i.forEach(function(t){e!==t&&(r[e][t]={distance:1/0})}),n(e).forEach(function(n){var i=n.v===e?n.w:n.v,a=t(n);r[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=r[e];i.forEach(function(n){var a=r[n];i.forEach(function(n){var r=a[e],i=t[n],o=a[n],s=r.distance+i.distance;s<o.distance&&(o.distance=s,o.predecessor=i.predecessor)})})}),r}})),To=E(((e,t)=>{function n(e){var t={},n={},i=[];function a(o){if(Object.hasOwn(n,o))throw new r;Object.hasOwn(t,o)||(n[o]=!0,t[o]=!0,e.predecessors(o).forEach(a),delete n[o],i.push(o))}if(e.sinks().forEach(a),Object.keys(t).length!==e.nodeCount())throw new r;return i}var r=class extends Error{constructor(){super(...arguments)}};t.exports=n,n.CycleException=r})),Eo=E(((e,t)=>{var n=To();t.exports=r;function r(e){try{n(e)}catch(e){if(e instanceof n.CycleException)return!1;throw e}return!0}})),Do=E(((e,t)=>{t.exports=n;function n(e,t,n){Array.isArray(t)||(t=[t]);var a=e.isDirected()?t=>e.successors(t):t=>e.neighbors(t),o=n===`post`?r:i,s=[],c={};return t.forEach(t=>{if(!e.hasNode(t))throw Error(`Graph does not have node: `+t);o(t,a,c,s)}),s}function r(e,t,n,r){for(var i=[[e,!1]];i.length>0;){var o=i.pop();o[1]?r.push(o[0]):Object.hasOwn(n,o[0])||(n[o[0]]=!0,i.push([o[0],!0]),a(t(o[0]),e=>i.push([e,!1])))}}function i(e,t,n,r){for(var i=[e];i.length>0;){var o=i.pop();Object.hasOwn(n,o)||(n[o]=!0,r.push(o),a(t(o),e=>i.push(e)))}}function a(e,t){for(var n=e.length;n--;)t(e[n],n,e);return e}})),Oo=E(((e,t)=>{var n=Do();t.exports=r;function r(e,t){return n(e,t,`post`)}})),ko=E(((e,t)=>{var n=Do();t.exports=r;function r(e,t){return n(e,t,`pre`)}})),Ao=E(((e,t)=>{var n=mo(),r=yo();t.exports=i;function i(e,t){var i=new n,a={},o=new r,s;function c(e){var n=e.v===s?e.w:e.v,r=o.priority(n);if(r!==void 0){var i=t(e);i<r&&(a[n]=s,o.decrease(n,i))}}if(e.nodeCount()===0)return i;e.nodes().forEach(function(e){o.add(e,1/0),i.setNode(e)}),o.decrease(e.nodes()[0],0);for(var l=!1;o.size()>0;){if(s=o.removeMin(),Object.hasOwn(a,s))i.setEdge(s,a[s]);else if(l)throw Error(`Input graph is not connected: `+e);else l=!0;e.nodeEdges(s).forEach(c)}return i}})),jo=E(((e,t)=>{t.exports={components:vo(),dijkstra:bo(),dijkstraAll:xo(),findCycles:Co(),floydWarshall:wo(),isAcyclic:Eo(),postorder:Oo(),preorder:ko(),prim:Ao(),tarjan:So(),topsort:To()}})),Mo=E(((e,t)=>{var n=go();t.exports={Graph:n.Graph,json:_o(),alg:jo(),version:n.version}})),No=E(((e,t)=>{var n=class{constructor(){let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return r(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&r(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){let e=[],t=this._sentinel,n=t._prev;for(;n!==t;)e.push(JSON.stringify(n,i)),n=n._prev;return`[`+e.join(`, `)+`]`}};function r(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){if(e!==`_next`&&e!==`_prev`)return t}t.exports=n})),Po=E(((e,t)=>{let n=Mo().Graph,r=No();t.exports=a;let i=()=>1;function a(e,t){if(e.nodeCount()<=1)return[];let n=c(e,t||i);return o(n.graph,n.buckets,n.zeroIdx).flatMap(t=>e.outEdges(t.v,t.w))}function o(e,t,n){let r=[],i=t[t.length-1],a=t[0],o;for(;e.nodeCount();){for(;o=a.dequeue();)s(e,t,n,o);for(;o=i.dequeue();)s(e,t,n,o);if(e.nodeCount()){for(let i=t.length-2;i>0;--i)if(o=t[i].dequeue(),o){r=r.concat(s(e,t,n,o,!0));break}}}return r}function s(e,t,n,r,i){let a=i?[]:void 0;return e.inEdges(r.v).forEach(r=>{let o=e.edge(r),s=e.node(r.v);i&&a.push({v:r.v,w:r.w}),s.out-=o,l(t,n,s)}),e.outEdges(r.v).forEach(r=>{let i=e.edge(r),a=r.w,o=e.node(a);o.in-=i,l(t,n,o)}),e.removeNode(r.v),a}function c(e,t){let i=new n,a=0,o=0;e.nodes().forEach(e=>{i.setNode(e,{v:e,in:0,out:0})}),e.edges().forEach(e=>{let n=i.edge(e.v,e.w)||0,r=t(e),s=n+r;i.setEdge(e.v,e.w,s),o=Math.max(o,i.node(e.v).out+=r),a=Math.max(a,i.node(e.w).in+=r)});let s=u(o+a+3).map(()=>new r),c=a+1;return i.nodes().forEach(e=>{l(s,c,i.node(e))}),{graph:i,buckets:s,zeroIdx:c}}function l(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}function u(e){let t=[];for(let n=0;n<e;n++)t.push(n);return t}})),Fo=E(((e,t)=>{let n=Mo().Graph;t.exports={addBorderNode:f,addDummyNode:r,applyWithChunking:h,asNonCompoundGraph:a,buildLayerMatrix:l,intersectRect:c,mapValues:w,maxRank:g,normalizeRanks:u,notime:y,partition:_,pick:C,predecessorWeights:s,range:S,removeEmptyRanks:d,simplify:i,successorWeights:o,time:v,uniqueId:x,zipObject:T};function r(e,t,n,r){for(var i=r;e.hasNode(i);)i=x(r);return n.dummy=t,e.setNode(i,n),i}function i(e){let t=new n().setGraph(e.graph());return e.nodes().forEach(n=>t.setNode(n,e.node(n))),e.edges().forEach(n=>{let r=t.edge(n.v,n.w)||{weight:0,minlen:1},i=e.edge(n);t.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),t}function a(e){let t=new n({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(n=>{e.children(n).length||t.setNode(n,e.node(n))}),e.edges().forEach(n=>{t.setEdge(n,e.edge(n))}),t}function o(e){let t=e.nodes().map(t=>{let n={};return e.outEdges(t).forEach(t=>{n[t.w]=(n[t.w]||0)+e.edge(t).weight}),n});return T(e.nodes(),t)}function s(e){let t=e.nodes().map(t=>{let n={};return e.inEdges(t).forEach(t=>{n[t.v]=(n[t.v]||0)+e.edge(t).weight}),n});return T(e.nodes(),t)}function c(e,t){let n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2;if(!i&&!a)throw Error(`Not possible to find intersection inside of the rectangle`);let c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,l=s):(i<0&&(o=-o),c=o,l=o*a/i),{x:n+c,y:r+l}}function l(e){let t=S(g(e)+1).map(()=>[]);return e.nodes().forEach(n=>{let r=e.node(n),i=r.rank;i!==void 0&&(t[i][r.order]=n)}),t}function u(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return n===void 0?Number.MAX_VALUE:n}),n=h(Math.min,t);e.nodes().forEach(t=>{let r=e.node(t);Object.hasOwn(r,`rank`)&&(r.rank-=n)})}function d(e){let t=e.nodes().map(t=>e.node(t).rank),n=h(Math.min,t),r=[];e.nodes().forEach(t=>{let i=e.node(t).rank-n;r[i]||(r[i]=[]),r[i].push(t)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((t,n)=>{t===void 0&&n%a!==0?--i:t!==void 0&&i&&t.forEach(t=>e.node(t).rank+=i)})}function f(e,t,n,i){let a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(e,`border`,a,t)}function p(e,t=m){let n=[];for(let r=0;r<e.length;r+=t){let i=e.slice(r,r+t);n.push(i)}return n}let m=65535;function h(e,t){if(t.length>m){let n=p(t);return e.apply(null,n.map(t=>e.apply(null,t)))}else return e.apply(null,t)}function g(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return n===void 0?Number.MIN_VALUE:n});return h(Math.max,t)}function _(e,t){let n={lhs:[],rhs:[]};return e.forEach(e=>{t(e)?n.lhs.push(e):n.rhs.push(e)}),n}function v(e,t){let n=Date.now();try{return t()}finally{console.log(e+` time: `+(Date.now()-n)+`ms`)}}function y(e,t){return t()}let b=0;function x(e){return e+(``+ ++b)}function S(e,t,n=1){t??(t=e,e=0);let r=e=>e<t;n<0&&(r=e=>t<e);let i=[];for(let t=e;r(t);t+=n)i.push(t);return i}function C(e,t){let n={};for(let r of t)e[r]!==void 0&&(n[r]=e[r]);return n}function w(e,t){let n=t;return typeof t==`string`&&(n=e=>e[t]),Object.entries(e).reduce((e,[t,r])=>(e[t]=n(r,t),e),{})}function T(e,t){return e.reduce((e,n,r)=>(e[n]=t[r],e),{})}})),Io=E(((e,t)=>{let n=Po(),r=Fo().uniqueId;t.exports={run:i,undo:o};function i(e){(e.graph().acyclicer===`greedy`?n(e,t(e)):a(e)).forEach(t=>{let n=e.edge(t);e.removeEdge(t),n.forwardName=t.name,n.reversed=!0,e.setEdge(t.w,t.v,n,r(`rev`))});function t(e){return t=>e.edge(t).weight}}function a(e){let t=[],n={},r={};function i(a){Object.hasOwn(r,a)||(r[a]=!0,n[a]=!0,e.outEdges(a).forEach(e=>{Object.hasOwn(n,e.w)?t.push(e):i(e.w)}),delete n[a])}return e.nodes().forEach(i),t}function o(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.reversed){e.removeEdge(t);let r=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,r)}})}})),Lo=E(((e,t)=>{let n=Fo();t.exports={run:r,undo:a};function r(e){e.graph().dummyChains=[],e.edges().forEach(t=>i(e,t))}function i(e,t){let r=t.v,i=e.node(r).rank,a=t.w,o=e.node(a).rank,s=t.name,c=e.edge(t),l=c.labelRank;if(o===i+1)return;e.removeEdge(t);let u,d,f;for(f=0,++i;i<o;++f,++i)c.points=[],d={width:0,height:0,edgeLabel:c,edgeObj:t,rank:i},u=n.addDummyNode(e,`edge`,d,`_d`),i===l&&(d.width=c.width,d.height=c.height,d.dummy=`edge-label`,d.labelpos=c.labelpos),e.setEdge(r,u,{weight:c.weight},s),f===0&&e.graph().dummyChains.push(u),r=u;e.setEdge(r,a,{weight:c.weight},s)}function a(e){e.graph().dummyChains.forEach(t=>{let n=e.node(t),r=n.edgeLabel,i;for(e.setEdge(n.edgeObj,r);n.dummy;)i=e.successors(t)[0],e.removeNode(t),r.points.push({x:n.x,y:n.y}),n.dummy===`edge-label`&&(r.x=n.x,r.y=n.y,r.width=n.width,r.height=n.height),t=i,n=e.node(t)})}})),Ro=E(((e,t)=>{let{applyWithChunking:n}=Fo();t.exports={longestPath:r,slack:i};function r(e){var t={};function r(i){var a=e.node(i);if(Object.hasOwn(t,i))return a.rank;t[i]=!0;let o=e.outEdges(i).map(t=>t==null?1/0:r(t.w)-e.edge(t).minlen);var s=n(Math.min,o);return s===1/0&&(s=0),a.rank=s}e.sources().forEach(r)}function i(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}})),zo=E(((e,t)=>{var n=Mo().Graph,r=Ro().slack;t.exports=i;function i(e){var t=new n({directed:!1}),i=e.nodes()[0],c=e.nodeCount();t.setNode(i,{});for(var l,u;a(t,e)<c;)l=o(t,e),u=t.hasNode(l.v)?r(e,l):-r(e,l),s(t,e,u);return t}function a(e,t){function n(i){t.nodeEdges(i).forEach(a=>{var o=a.v,s=i===o?a.w:o;!e.hasNode(s)&&!r(t,a)&&(e.setNode(s,{}),e.setEdge(i,s,{}),n(s))})}return e.nodes().forEach(n),e.nodeCount()}function o(e,t){return t.edges().reduce((n,i)=>{let a=1/0;return e.hasNode(i.v)!==e.hasNode(i.w)&&(a=r(t,i)),a<n[0]?[a,i]:n},[1/0,null])[1]}function s(e,t,n){e.nodes().forEach(e=>t.node(e).rank+=n)}})),Bo=E(((e,t)=>{var n=zo(),r=Ro().slack,i=Ro().longestPath,a=Mo().alg.preorder,o=Mo().alg.postorder,s=Fo().simplify;t.exports=c,c.initLowLimValues=f,c.initCutValues=l,c.calcCutValue=d,c.leaveEdge=m,c.enterEdge=h,c.exchangeEdges=g;function c(e){e=s(e),i(e);var t=n(e);f(t),l(t,e);for(var r,a;r=m(t);)a=h(t,e,r),g(t,e,r,a)}function l(e,t){var n=o(e,e.nodes());n=n.slice(0,n.length-1),n.forEach(n=>u(e,t,n))}function u(e,t,n){var r=e.node(n).parent;e.edge(n,r).cutvalue=d(e,t,n)}function d(e,t,n){var r=e.node(n).parent,i=!0,a=t.edge(n,r),o=0;return a||=(i=!1,t.edge(r,n)),o=a.weight,t.nodeEdges(n).forEach(a=>{var s=a.v===n,c=s?a.w:a.v;if(c!==r){var l=s===i,u=t.edge(a).weight;if(o+=l?u:-u,v(e,n,c)){var d=e.edge(n,c).cutvalue;o+=l?-d:d}}}),o}function f(e,t){arguments.length<2&&(t=e.nodes()[0]),p(e,{},1,t)}function p(e,t,n,r,i){var a=n,o=e.node(r);return t[r]=!0,e.neighbors(r).forEach(i=>{Object.hasOwn(t,i)||(n=p(e,t,n,i,r))}),o.low=a,o.lim=n++,i?o.parent=i:delete o.parent,n}function m(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function h(e,t,n){var i=n.v,a=n.w;t.hasEdge(i,a)||(i=n.w,a=n.v);var o=e.node(i),s=e.node(a),c=o,l=!1;return o.lim>s.lim&&(c=s,l=!0),t.edges().filter(t=>l===y(e,e.node(t.v),c)&&l!==y(e,e.node(t.w),c)).reduce((e,n)=>r(t,n)<r(t,e)?n:e)}function g(e,t,n,r){var i=n.v,a=n.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),f(e),l(e,t),_(e,t)}function _(e,t){var n=a(e,e.nodes().find(e=>!t.node(e).parent));n=n.slice(1),n.forEach(n=>{var r=e.node(n).parent,i=t.edge(n,r),a=!1;i||(i=t.edge(r,n),a=!0),t.node(n).rank=t.node(r).rank+(a?i.minlen:-i.minlen)})}function v(e,t,n){return e.hasEdge(t,n)}function y(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}})),Vo=E(((e,t)=>{var n=Ro().longestPath,r=zo(),i=Bo();t.exports=a;function a(e){var t=e.graph().ranker;if(t instanceof Function)return t(e);switch(e.graph().ranker){case`network-simplex`:c(e);break;case`tight-tree`:s(e);break;case`longest-path`:o(e);break;case`none`:break;default:c(e)}}var o=n;function s(e){n(e),r(e)}function c(e){i(e)}})),Ho=E(((e,t)=>{t.exports=n;function n(e){let t=i(e);e.graph().dummyChains.forEach(n=>{let i=e.node(n),a=i.edgeObj,o=r(e,t,a.v,a.w),s=o.path,c=o.lca,l=0,u=s[l],d=!0;for(;n!==a.w;){if(i=e.node(n),d){for(;(u=s[l])!==c&&e.node(u).maxRank<i.rank;)l++;u===c&&(d=!1)}if(!d){for(;l<s.length-1&&e.node(u=s[l+1]).minRank<=i.rank;)l++;u=s[l]}e.setParent(n,u),n=e.successors(n)[0]}})}function r(e,t,n,r){let i=[],a=[],o=Math.min(t[n].low,t[r].low),s=Math.max(t[n].lim,t[r].lim),c,l;c=n;do c=e.parent(c),i.push(c);while(c&&(t[c].low>o||s>t[c].lim));for(l=c,c=r;(c=e.parent(c))!==l;)a.push(c);return{path:i.concat(a.reverse()),lca:l}}function i(e){let t={},n=0;function r(i){let a=n;e.children(i).forEach(r),t[i]={low:a,lim:n++}}return e.children().forEach(r),t}})),Uo=E(((e,t)=>{let n=Fo();t.exports={run:r,cleanup:s};function r(e){let t=n.addDummyNode(e,`root`,{},`_root`),r=a(e),s=Object.values(r),c=n.applyWithChunking(Math.max,s)-1,l=2*c+1;e.graph().nestingRoot=t,e.edges().forEach(t=>e.edge(t).minlen*=l);let u=o(e)+1;e.children().forEach(n=>i(e,t,l,u,c,r,n)),e.graph().nodeRankFactor=l}function i(e,t,r,a,o,s,c){let l=e.children(c);if(!l.length){c!==t&&e.setEdge(t,c,{weight:0,minlen:r});return}let u=n.addBorderNode(e,`_bt`),d=n.addBorderNode(e,`_bb`),f=e.node(c);e.setParent(u,c),f.borderTop=u,e.setParent(d,c),f.borderBottom=d,l.forEach(n=>{i(e,t,r,a,o,s,n);let l=e.node(n),f=l.borderTop?l.borderTop:n,p=l.borderBottom?l.borderBottom:n,m=l.borderTop?a:2*a,h=f===p?o-s[c]+1:1;e.setEdge(u,f,{weight:m,minlen:h,nestingEdge:!0}),e.setEdge(p,d,{weight:m,minlen:h,nestingEdge:!0})}),e.parent(c)||e.setEdge(t,u,{weight:0,minlen:o+s[c]})}function a(e){var t={};function n(r,i){var a=e.children(r);a&&a.length&&a.forEach(e=>n(e,i+1)),t[r]=i}return e.children().forEach(e=>n(e,1)),t}function o(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}function s(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(t=>{e.edge(t).nestingEdge&&e.removeEdge(t)})}})),Wo=E(((e,t)=>{let n=Fo();t.exports=r;function r(e){function t(n){let r=e.children(n),a=e.node(n);if(r.length&&r.forEach(t),Object.hasOwn(a,`minRank`)){a.borderLeft=[],a.borderRight=[];for(let t=a.minRank,r=a.maxRank+1;t<r;++t)i(e,`borderLeft`,`_bl`,n,a,t),i(e,`borderRight`,`_br`,n,a,t)}}e.children().forEach(t)}function i(e,t,r,i,a,o){let s={width:0,height:0,rank:o,borderType:t},c=a[t][o-1],l=n.addDummyNode(e,`border`,s,r);a[t][o]=l,e.setParent(l,i),c&&e.setEdge(c,l,{weight:1})}})),Go=E(((e,t)=>{t.exports={adjust:n,undo:r};function n(e){let t=e.graph().rankdir.toLowerCase();(t===`lr`||t===`rl`)&&i(e)}function r(e){let t=e.graph().rankdir.toLowerCase();(t===`bt`||t===`rl`)&&o(e),(t===`lr`||t===`rl`)&&(c(e),i(e))}function i(e){e.nodes().forEach(t=>a(e.node(t))),e.edges().forEach(t=>a(e.edge(t)))}function a(e){let t=e.width;e.width=e.height,e.height=t}function o(e){e.nodes().forEach(t=>s(e.node(t))),e.edges().forEach(t=>{let n=e.edge(t);n.points.forEach(s),Object.hasOwn(n,`y`)&&s(n)})}function s(e){e.y=-e.y}function c(e){e.nodes().forEach(t=>l(e.node(t))),e.edges().forEach(t=>{let n=e.edge(t);n.points.forEach(l),Object.hasOwn(n,`x`)&&l(n)})}function l(e){let t=e.x;e.x=e.y,e.y=t}})),Ko=E(((e,t)=>{let n=Fo();t.exports=r;function r(e){let t={},r=e.nodes().filter(t=>!e.children(t).length),i=r.map(t=>e.node(t).rank),a=n.applyWithChunking(Math.max,i),o=n.range(a+1).map(()=>[]);function s(n){t[n]||(t[n]=!0,o[e.node(n).rank].push(n),e.successors(n).forEach(s))}return r.sort((t,n)=>e.node(t).rank-e.node(n).rank).forEach(s),o}})),qo=E(((e,t)=>{let n=Fo().zipObject;t.exports=r;function r(e,t){let n=0;for(let r=1;r<t.length;++r)n+=i(e,t[r-1],t[r]);return n}function i(e,t,r){let i=n(r,r.map((e,t)=>t)),a=t.flatMap(t=>e.outEdges(t).map(t=>({pos:i[t.w],weight:e.edge(t).weight})).sort((e,t)=>e.pos-t.pos)),o=1;for(;o<r.length;)o<<=1;let s=2*o-1;--o;let c=Array(s).fill(0),l=0;return a.forEach(e=>{let t=e.pos+o;c[t]+=e.weight;let n=0;for(;t>0;)t%2&&(n+=c[t+1]),t=t-1>>1,c[t]+=e.weight;l+=e.weight*n}),l}})),Jo=E(((e,t)=>{t.exports=n;function n(e,t=[]){return t.map(t=>{let n=e.inEdges(t);if(n.length){let r=n.reduce((t,n)=>{let r=e.edge(n),i=e.node(n.v);return{sum:t.sum+r.weight*i.order,weight:t.weight+r.weight}},{sum:0,weight:0});return{v:t,barycenter:r.sum/r.weight,weight:r.weight}}else return{v:t}})}})),Yo=E(((e,t)=>{let n=Fo();t.exports=r;function r(e,t){let n={};return e.forEach((e,t)=>{let r=n[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};e.barycenter!==void 0&&(r.barycenter=e.barycenter,r.weight=e.weight)}),t.edges().forEach(e=>{let t=n[e.v],r=n[e.w];t!==void 0&&r!==void 0&&(r.indegree++,t.out.push(n[e.w]))}),i(Object.values(n).filter(e=>!e.indegree))}function i(e){let t=[];function r(e){return t=>{t.merged||(t.barycenter===void 0||e.barycenter===void 0||t.barycenter>=e.barycenter)&&a(e,t)}}function i(t){return n=>{n.in.push(t),--n.indegree===0&&e.push(n)}}for(;e.length;){let n=e.pop();t.push(n),n.in.reverse().forEach(r(n)),n.out.forEach(i(n))}return t.filter(e=>!e.merged).map(e=>n.pick(e,[`vs`,`i`,`barycenter`,`weight`]))}function a(e,t){let n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),t.weight&&(n+=t.barycenter*t.weight,r+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}})),Xo=E(((e,t)=>{let n=Fo();t.exports=r;function r(e,t){let r=n.partition(e,e=>Object.hasOwn(e,`barycenter`)),o=r.lhs,s=r.rhs.sort((e,t)=>t.i-e.i),c=[],l=0,u=0,d=0;o.sort(a(!!t)),d=i(c,s,d),o.forEach(e=>{d+=e.vs.length,c.push(e.vs),l+=e.barycenter*e.weight,u+=e.weight,d=i(c,s,d)});let f={vs:c.flat(!0)};return u&&(f.barycenter=l/u,f.weight=u),f}function i(e,t,n){let r;for(;t.length&&(r=t[t.length-1]).i<=n;)t.pop(),e.push(r.vs),n++;return n}function a(e){return(t,n)=>t.barycenter<n.barycenter?-1:t.barycenter>n.barycenter?1:e?n.i-t.i:t.i-n.i}})),Zo=E(((e,t)=>{let n=Jo(),r=Yo(),i=Xo();t.exports=a;function a(e,t,c,l){let u=e.children(t),d=e.node(t),f=d?d.borderLeft:void 0,p=d?d.borderRight:void 0,m={};f&&(u=u.filter(e=>e!==f&&e!==p));let h=n(e,u);h.forEach(t=>{if(e.children(t.v).length){let n=a(e,t.v,c,l);m[t.v]=n,Object.hasOwn(n,`barycenter`)&&s(t,n)}});let g=r(h,c);o(g,m);let _=i(g,l);if(f&&(_.vs=[f,_.vs,p].flat(!0),e.predecessors(f).length)){let t=e.node(e.predecessors(f)[0]),n=e.node(e.predecessors(p)[0]);Object.hasOwn(_,`barycenter`)||(_.barycenter=0,_.weight=0),_.barycenter=(_.barycenter*_.weight+t.order+n.order)/(_.weight+2),_.weight+=2}return _}function o(e,t){e.forEach(e=>{e.vs=e.vs.flatMap(e=>t[e]?t[e].vs:e)})}function s(e,t){e.barycenter===void 0?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}})),Qo=E(((e,t)=>{let n=Mo().Graph,r=Fo();t.exports=i;function i(e,t,r,i){i||=e.nodes();let o=a(e),s=new n({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(t=>e.node(t));return i.forEach(n=>{let i=e.node(n),a=e.parent(n);(i.rank===t||i.minRank<=t&&t<=i.maxRank)&&(s.setNode(n),s.setParent(n,a||o),e[r](n).forEach(t=>{let r=t.v===n?t.w:t.v,i=s.edge(r,n),a=i===void 0?0:i.weight;s.setEdge(r,n,{weight:e.edge(t).weight+a})}),Object.hasOwn(i,`minRank`)&&s.setNode(n,{borderLeft:i.borderLeft[t],borderRight:i.borderRight[t]}))}),s}function a(e){for(var t;e.hasNode(t=r.uniqueId(`_root`)););return t}})),$o=E(((e,t)=>{t.exports=n;function n(e,t,n){let r={},i;n.forEach(n=>{let a=e.parent(n),o,s;for(;a;){if(o=e.parent(a),o?(s=r[o],r[o]=a):(s=i,i=a),s&&s!==a){t.setEdge(s,a);return}a=o}})}})),es=E(((e,t)=>{let n=Ko(),r=qo(),i=Zo(),a=Qo(),o=$o(),s=Mo().Graph,c=Fo();t.exports=l;function l(e,t){if(t&&typeof t.customOrder==`function`){t.customOrder(e,l);return}let i=c.maxRank(e),a=u(e,c.range(1,i+1),`inEdges`),o=u(e,c.range(i-1,-1,-1),`outEdges`),s=n(e);if(f(e,s),t&&t.disableOptimalOrderHeuristic)return;let p=1/0,m;for(let t=0,n=0;n<4;++t,++n){d(t%2?a:o,t%4>=2),s=c.buildLayerMatrix(e);let i=r(e,s);i<p&&(n=0,m=Object.assign({},s),p=i)}f(e,m)}function u(e,t,n){let r=new Map,i=(e,t)=>{r.has(e)||r.set(e,[]),r.get(e).push(t)};for(let t of e.nodes()){let n=e.node(t);if(typeof n.rank==`number`&&i(n.rank,t),typeof n.minRank==`number`&&typeof n.maxRank==`number`)for(let e=n.minRank;e<=n.maxRank;e++)e!==n.rank&&i(e,t)}return t.map(function(t){return a(e,t,n,r.get(t)||[])})}function d(e,t){let n=new s;e.forEach(function(e){let r=e.graph().root,a=i(e,r,n,t);a.vs.forEach((t,n)=>e.node(t).order=n),o(e,n,a.vs)})}function f(e,t){Object.values(t).forEach(t=>t.forEach((t,n)=>e.node(t).order=n))}})),ts=E(((e,t)=>{let n=Mo().Graph,r=Fo();t.exports={positionX:h,findType1Conflicts:i,findType2Conflicts:a,addConflict:s,hasConflict:c,verticalAlignment:l,horizontalCompaction:u,alignCoordinates:p,findSmallestWidthAlignment:f,balance:m};function i(e,t){let n={};function r(t,r){let i=0,a=0,c=t.length,l=r[r.length-1];return r.forEach((t,u)=>{let d=o(e,t),f=d?e.node(d).order:c;(d||t===l)&&(r.slice(a,u+1).forEach(t=>{e.predecessors(t).forEach(r=>{let a=e.node(r),o=a.order;(o<i||f<o)&&!(a.dummy&&e.node(t).dummy)&&s(n,r,t)})}),a=u+1,i=f)}),r}return t.length&&t.reduce(r),n}function a(e,t){let n={};function i(t,i,a,o,c){let l;r.range(i,a).forEach(r=>{l=t[r],e.node(l).dummy&&e.predecessors(l).forEach(t=>{let r=e.node(t);r.dummy&&(r.order<o||r.order>c)&&s(n,t,l)})})}function a(t,n){let r=-1,a,o=0;return n.forEach((s,c)=>{if(e.node(s).dummy===`border`){let t=e.predecessors(s);t.length&&(a=e.node(t[0]).order,i(n,o,c,r,a),o=c,r=a)}i(n,o,n.length,a,t.length)}),n}return t.length&&t.reduce(a),n}function o(e,t){if(e.node(t).dummy)return e.predecessors(t).find(t=>e.node(t).dummy)}function s(e,t,n){if(t>n){let e=t;t=n,n=e}let r=e[t];r||(e[t]=r={}),r[n]=!0}function c(e,t,n){if(t>n){let e=t;t=n,n=e}return!!e[t]&&Object.hasOwn(e[t],n)}function l(e,t,n,r){let i={},a={},o={};return t.forEach(e=>{e.forEach((e,t)=>{i[e]=e,a[e]=e,o[e]=t})}),t.forEach(e=>{let t=-1;e.forEach(e=>{let s=r(e);if(s.length){s=s.sort((e,t)=>o[e]-o[t]);let r=(s.length-1)/2;for(let l=Math.floor(r),u=Math.ceil(r);l<=u;++l){let r=s[l];a[e]===e&&t<o[r]&&!c(n,e,r)&&(a[r]=e,a[e]=i[e]=i[r],t=o[r])}}})}),{root:i,align:a}}function u(e,t,n,r,i){let a={},o=d(e,t,n,i),s=i?`borderLeft`:`borderRight`;function c(e,t){let n=o.nodes(),r=n.pop(),i={};for(;r;)i[r]?e(r):(i[r]=!0,n.push(r),n=n.concat(t(r))),r=n.pop()}function l(e){a[e]=o.inEdges(e).reduce((e,t)=>Math.max(e,a[t.v]+o.edge(t)),0)}function u(t){let n=o.outEdges(t).reduce((e,t)=>Math.min(e,a[t.w]-o.edge(t)),1/0),r=e.node(t);n!==1/0&&r.borderType!==s&&(a[t]=Math.max(a[t],n))}return c(l,o.predecessors.bind(o)),c(u,o.successors.bind(o)),Object.keys(r).forEach(e=>a[e]=a[n[e]]),a}function d(e,t,r,i){let a=new n,o=e.graph(),s=g(o.nodesep,o.edgesep,i);return t.forEach(t=>{let n;t.forEach(t=>{let i=r[t];if(a.setNode(i),n){var o=r[n],c=a.edge(o,i);a.setEdge(o,i,Math.max(s(e,t,n),c||0))}n=t})}),a}function f(e,t){return Object.values(t).reduce((t,n)=>{let r=-1/0,i=1/0;Object.entries(n).forEach(([t,n])=>{let a=_(e,t)/2;r=Math.max(n+a,r),i=Math.min(n-a,i)});let a=r-i;return a<t[0]&&(t=[a,n]),t},[1/0,null])[1]}function p(e,t){let n=Object.values(t),i=r.applyWithChunking(Math.min,n),a=r.applyWithChunking(Math.max,n);[`u`,`d`].forEach(n=>{[`l`,`r`].forEach(o=>{let s=n+o,c=e[s];if(c===t)return;let l=Object.values(c),u=i-r.applyWithChunking(Math.min,l);o!==`l`&&(u=a-r.applyWithChunking(Math.max,l)),u&&(e[s]=r.mapValues(c,e=>e+u))})})}function m(e,t){return r.mapValues(e.ul,(n,r)=>{if(t)return e[t.toLowerCase()][r];{let t=Object.values(e).map(e=>e[r]).sort((e,t)=>e-t);return(t[1]+t[2])/2}})}function h(e){let t=r.buildLayerMatrix(e),n=Object.assign(i(e,t),a(e,t)),o={},s;return[`u`,`d`].forEach(i=>{s=i===`u`?t:Object.values(t).reverse(),[`l`,`r`].forEach(t=>{t===`r`&&(s=s.map(e=>Object.values(e).reverse()));let a=(i===`u`?e.predecessors:e.successors).bind(e),c=l(e,s,n,a),d=u(e,s,c.root,c.align,t===`r`);t===`r`&&(d=r.mapValues(d,e=>-e)),o[i+t]=d})}),p(o,f(e,o)),m(o,e.graph().align)}function g(e,t,n){return(r,i,a)=>{let o=r.node(i),s=r.node(a),c=0,l;if(c+=o.width/2,Object.hasOwn(o,`labelpos`))switch(o.labelpos.toLowerCase()){case`l`:l=-o.width/2;break;case`r`:l=o.width/2;break}if(l&&(c+=n?l:-l),l=0,c+=(o.dummy?t:e)/2,c+=(s.dummy?t:e)/2,c+=s.width/2,Object.hasOwn(s,`labelpos`))switch(s.labelpos.toLowerCase()){case`l`:l=s.width/2;break;case`r`:l=-s.width/2;break}return l&&(c+=n?l:-l),l=0,c}}function _(e,t){return e.node(t).width}})),ns=E(((e,t)=>{let n=Fo(),r=ts().positionX;t.exports=i;function i(e){e=n.asNonCompoundGraph(e),a(e),Object.entries(r(e)).forEach(([t,n])=>e.node(t).x=n)}function a(e){let t=n.buildLayerMatrix(e),r=e.graph().ranksep,i=0;t.forEach(t=>{let n=t.reduce((t,n)=>{let r=e.node(n).height;return t>r?t:r},0);t.forEach(t=>e.node(t).y=i+n/2),i+=n+r})}})),rs=E(((e,t)=>{let n=Io(),r=Lo(),i=Vo(),a=Fo().normalizeRanks,o=Ho(),s=Fo().removeEmptyRanks,c=Uo(),l=Wo(),u=Go(),d=es(),f=ns(),p=Fo(),m=Mo().Graph;t.exports=h;function h(e,t){let n=t&&t.debugTiming?p.time:p.notime;n(`layout`,()=>{let r=n(` buildLayoutGraph`,()=>E(e));n(` runLayout`,()=>g(r,n,t)),n(` updateInputGraph`,()=>_(e,r))})}function g(e,t,m){t(` makeSpaceForEdgeLabels`,()=>D(e)),t(` removeSelfEdges`,()=>ae(e)),t(` acyclic`,()=>n.run(e)),t(` nestingGraph.run`,()=>c.run(e)),t(` rank`,()=>i(p.asNonCompoundGraph(e))),t(` injectEdgeLabelProxies`,()=>O(e)),t(` removeEmptyRanks`,()=>s(e)),t(` nestingGraph.cleanup`,()=>c.cleanup(e)),t(` normalizeRanks`,()=>a(e)),t(` assignRankMinMax`,()=>ee(e)),t(` removeEdgeLabelProxies`,()=>te(e)),t(` normalize.run`,()=>r.run(e)),t(` parentDummyChains`,()=>o(e)),t(` addBorderSegments`,()=>l(e)),t(` order`,()=>d(e,m)),t(` insertSelfEdges`,()=>j(e)),t(` adjustCoordinateSystem`,()=>u.adjust(e)),t(` position`,()=>f(e)),t(` positionSelfEdges`,()=>oe(e)),t(` removeBorderNodes`,()=>ie(e)),t(` normalize.undo`,()=>r.undo(e)),t(` fixupEdgeLabelCoords`,()=>ne(e)),t(` undoCoordinateSystem`,()=>u.undo(e)),t(` translateGraph`,()=>k(e)),t(` assignNodeIntersects`,()=>A(e)),t(` reversePoints`,()=>re(e)),t(` acyclic.undo`,()=>n.undo(e))}function _(e,t){e.nodes().forEach(n=>{let r=e.node(n),i=t.node(n);r&&(r.x=i.x,r.y=i.y,r.rank=i.rank,t.children(n).length&&(r.width=i.width,r.height=i.height))}),e.edges().forEach(n=>{let r=e.edge(n),i=t.edge(n);r.points=i.points,Object.hasOwn(i,`x`)&&(r.x=i.x,r.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}let v=[`nodesep`,`edgesep`,`ranksep`,`marginx`,`marginy`],y={ranksep:50,edgesep:20,nodesep:50,rankdir:`tb`},b=[`acyclicer`,`ranker`,`rankdir`,`align`],x=[`width`,`height`,`rank`],S={width:0,height:0},C=[`minlen`,`weight`,`width`,`height`,`labeloffset`],w={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:`r`},T=[`labelpos`];function E(e){let t=new m({multigraph:!0,compound:!0}),n=ce(e.graph());return t.setGraph(Object.assign({},y,se(n,v),p.pick(n,b))),e.nodes().forEach(n=>{let r=se(ce(e.node(n)),x);Object.keys(S).forEach(e=>{r[e]===void 0&&(r[e]=S[e])}),t.setNode(n,r),t.setParent(n,e.parent(n))}),e.edges().forEach(n=>{let r=ce(e.edge(n));t.setEdge(n,Object.assign({},w,se(r,C),p.pick(r,T)))}),t}function D(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(n=>{let r=e.edge(n);r.minlen*=2,r.labelpos.toLowerCase()!==`c`&&(t.rankdir===`TB`||t.rankdir===`BT`?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function O(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let n=e.node(t.v),r={rank:(e.node(t.w).rank-n.rank)/2+n.rank,e:t};p.addDummyNode(e,`edge-proxy`,r,`_ep`)}})}function ee(e){let t=0;e.nodes().forEach(n=>{let r=e.node(n);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,t=Math.max(t,r.maxRank))}),e.graph().maxRank=t}function te(e){e.nodes().forEach(t=>{let n=e.node(t);n.dummy===`edge-proxy`&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))})}function k(e){let t=1/0,n=0,r=1/0,i=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;function c(e){let a=e.x,o=e.y,s=e.width,c=e.height;t=Math.min(t,a-s/2),n=Math.max(n,a+s/2),r=Math.min(r,o-c/2),i=Math.max(i,o+c/2)}e.nodes().forEach(t=>c(e.node(t))),e.edges().forEach(t=>{let n=e.edge(t);Object.hasOwn(n,`x`)&&c(n)}),t-=o,r-=s,e.nodes().forEach(n=>{let i=e.node(n);i.x-=t,i.y-=r}),e.edges().forEach(n=>{let i=e.edge(n);i.points.forEach(e=>{e.x-=t,e.y-=r}),Object.hasOwn(i,`x`)&&(i.x-=t),Object.hasOwn(i,`y`)&&(i.y-=r)}),a.width=n-t+o,a.height=i-r+s}function A(e){e.edges().forEach(t=>{let n=e.edge(t),r=e.node(t.v),i=e.node(t.w),a,o;n.points?(a=n.points[0],o=n.points[n.points.length-1]):(n.points=[],a=i,o=r),n.points.unshift(p.intersectRect(r,a)),n.points.push(p.intersectRect(i,o))})}function ne(e){e.edges().forEach(t=>{let n=e.edge(t);if(Object.hasOwn(n,`x`))switch((n.labelpos===`l`||n.labelpos===`r`)&&(n.width-=n.labeloffset),n.labelpos){case`l`:n.x-=n.width/2+n.labeloffset;break;case`r`:n.x+=n.width/2+n.labeloffset;break}})}function re(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}function ie(e){e.nodes().forEach(t=>{if(e.children(t).length){let n=e.node(t),r=e.node(n.borderTop),i=e.node(n.borderBottom),a=e.node(n.borderLeft[n.borderLeft.length-1]),o=e.node(n.borderRight[n.borderRight.length-1]);n.width=Math.abs(o.x-a.x),n.height=Math.abs(i.y-r.y),n.x=a.x+n.width/2,n.y=r.y+n.height/2}}),e.nodes().forEach(t=>{e.node(t).dummy===`border`&&e.removeNode(t)})}function ae(e){e.edges().forEach(t=>{if(t.v===t.w){var n=e.node(t.v);n.selfEdges||=[],n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function j(e){p.buildLayerMatrix(e).forEach(t=>{var n=0;t.forEach((t,r)=>{var i=e.node(t);i.order=r+n,(i.selfEdges||[]).forEach(t=>{p.addDummyNode(e,`selfedge`,{width:t.label.width,height:t.label.height,rank:i.rank,order:r+ ++n,e:t.e,label:t.label},`_se`)}),delete i.selfEdges})})}function oe(e){e.nodes().forEach(t=>{var n=e.node(t);if(n.dummy===`selfedge`){var r=e.node(n.e.v),i=r.x+r.width/2,a=r.y,o=n.x-i,s=r.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:i+2*o/3,y:a-s},{x:i+5*o/6,y:a-s},{x:i+o,y:a},{x:i+5*o/6,y:a+s},{x:i+2*o/3,y:a+s}],n.label.x=n.x,n.label.y=n.y}})}function se(e,t){return p.mapValues(p.pick(e,t),Number)}function ce(e){var t={};return e&&Object.entries(e).forEach(([e,n])=>{typeof e==`string`&&(e=e.toLowerCase()),t[e]=n}),t}})),is=E(((e,t)=>{let n=Fo(),r=Mo().Graph;t.exports={debugOrdering:i};function i(e){let t=n.buildLayerMatrix(e),i=new r({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(t=>{i.setNode(t,{label:t}),i.setParent(t,`layer`+e.node(t).rank)}),e.edges().forEach(e=>i.setEdge(e.v,e.w,{},e.name)),t.forEach((e,t)=>{let n=`layer`+t;i.setNode(n,{rank:`same`}),e.reduce((e,t)=>(i.setEdge(e,t,{style:`invis`}),t))}),i}})),as=E(((e,t)=>{t.exports=`1.1.8`})),os=xe(E(((e,t)=>{t.exports={graphlib:Mo(),layout:rs(),debug:is(),util:{time:Fo().time,notime:Fo().notime},version:as()}}))(),1);function ss(e,t){let n=[],r=[],{selectedNodes:i,cll:a}=t??{},o={};function s(e){return e===`base`?0:e===`current`?2:1}function c(e,t){let n=s(e.data?.from),r=s(t.data?.from);return n<r?-1:n>r?1:0}let l=i===void 0?void 0:new Set(i),u=Object.values(e.nodes).sort(c);for(let e of u){if(l&&!l.has(e.id))continue;let t=new Set,i=0;if(a){let o=a.current?.parent_map[e.id]??new Set;for(let t of o){let n=t,i=e.id;r.push({id:`m2c_${n}_${i}`,source:n,target:i,style:{zIndex:9999}})}for(let o of Object.keys(e.data.data.current?.columns??{})){let s=`${e.id}_${o}`,c=a.current,l=c?.columns[s],u=c?.parent_map[s]??new Set;if(l!=null){n.push({id:s,position:{x:10,y:70+i*bt},parentId:e.id,extent:`parent`,draggable:!1,className:`no-track-pii-safe`,data:{node:e.data,column:l.name,type:l.type,transformationType:l.transformation_type,changeStatus:l.change_status},style:{zIndex:9999},type:`lineageGraphColumnNode`,targetPosition:Ar.Left,sourcePosition:Ar.Right});for(let e of u){let t=e,n=s;r.push({id:`${t}_${n}`,source:t,target:n,style:{zIndex:9999}})}i++,t.add(l.name)}}}o[e.id]=t;let s=60;i>0&&(s+=20+i*bt),n.unshift({id:e.id,position:{x:0,y:0},width:300,height:s,className:`no-track-pii-safe`,data:{...e.data},type:`lineageGraphNode`,targetPosition:Ar.Left,sourcePosition:Ar.Right,style:{width:300,height:s}})}let d=Object.values(e.edges).sort(c);for(let e of d)l&&(!l.has(e.source)||!l.has(e.target))||r.push({id:e.id,type:`lineageGraphEdge`,source:e.source,target:e.target,data:{...e.data}});return cs(n,r),[n,r,o]}const cs=(e,t,n=`LR`)=>{ut(os.default,e,t,n)};function ls({current:e,showMenu:t=!0},n){let r=st(),[i,a]=B(null),[o,s]=B(new Map),{columns:c,rows:l}=Mn(()=>k({type:`schema_single`,columns:e?.columns},{node:e,cllRunningMap:o,showMenu:t}),[e,o,t]),{lineageGraph:u}=F(),d=!u?.catalogMetadata.current,f;d&&(f="catalog.json not found. Run `recce debug` to troubleshoot.");let p=e&&e.columns===void 0,m;p&&(m=`catalog.json is outdated. Update catalog.json to get schema information.`);let h=async t=>{dn({action:`view`,source:`schema_column`}),s(e=>new Map(e).set(t,!0));let n=e?.id;n&&await r?.showColumnLevelLineage({node_id:n,column:t}),s(e=>new Map(e).set(t,!1))},g=L(t=>`${e?.id}-${t.data.name}`,[e?.id]),_=r?.viewOptions.column_level_lineage,v=_?`${_.node_id}-${_.column}`:null;R(()=>{if(i&&(i.deselectAll(),v)){let e=i.getRowNode(v);e&&e.setSelected(!0)}},[i,v]);let y=L(e=>{a(e.api)},[]);return U(W,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:[f?H(li,{severity:`warning`,sx:{fontSize:`12px`,p:1},children:f}):m?H(li,{severity:`warning`,sx:{fontSize:`12px`,p:1},children:m}):H(V,{}),l.length>0&&H(Se,{style:{blockSize:`auto`,maxHeight:`100%`,overflow:`auto`,fontSize:`10pt`,borderWidth:1},columns:c,rows:l,renderers:{noRowsFallback:H(D,{})},ref:n,getRowId:g,getRowClass:e=>r===void 0?`row-normal`:`row-normal row-selectable`,onCellClicked:async e=>{if((e.event?.target)?.closest(`.row-context-menu`))return;let t=e.data;t&&await h(t.name)},onGridReady:y,rowSelection:{mode:`singleRow`},containerClassName:`no-track-pii-safe`,rowClassName:`no-track-pii-safe`})]})}function us({base:e,current:t,showMenu:n=!0},r){let i=st(),[a,o]=B(null),[s,c]=B(new Map),{columns:l,rows:u}=Mn(()=>{let r=t?.resource_type??e?.resource_type,i=r&&[`model`,`seed`,`snapshot`,`source`].includes(r)?t??e:void 0;return k({type:`schema_diff`,base:e?.columns,current:t?.columns},{node:i,cllRunningMap:s,showMenu:n})},[e,t,s,n]),{lineageGraph:d}=F(),f=!d?.catalogMetadata.base,p=!d?.catalogMetadata.current,m;f&&p?m="catalog.json not found on both environments. Run `recce debug` to troubleshoot.":f?m="catalog.json not found on base environment. Run `recce debug` to troubleshoot.":p&&(m="catalog.json not found on current environment. Run `recce debug` to troubleshoot.");let h=e&&e.columns===void 0,g=t&&t.columns===void 0,_;h&&g?_=`catalog.json is outdated on both environments. Update catalog.json to get schema information.`:g?_=`catalog.json is outdated on current environment. Update catalog.json to get schema information.`:h&&(_=`catalog.json is outdated on base environment. Update catalog.json to get schema information.`);let v=async n=>{dn({action:`view`,source:`schema_column`}),c(e=>new Map(e).set(n,!0));let r=t?.id??e?.id;r&&await i?.showColumnLevelLineage({node_id:r,column:n}),c(e=>new Map(e).set(n,!1))},y=L(n=>`${t?.id??e?.id}-${n.data.name}`,[t?.id,e?.id]),b=i?.viewOptions.column_level_lineage,x=b?`${b.node_id}-${b.column}`:null;R(()=>{if(a&&(a.deselectAll(),x)){let e=a.getRowNode(x);e&&e.setSelected(!0)}},[a,x]);let S=L(e=>{o(e.api)},[]);return U(W,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:[m?H(li,{severity:`warning`,sx:{fontSize:`12px`,p:1},children:m}):_?H(li,{severity:`warning`,sx:{fontSize:`12px`,p:1},children:_}):H(V,{}),u.length>0&&H(Se,{style:{blockSize:`auto`,maxHeight:`100%`,overflow:`auto`,fontSize:`0.8rem`,borderWidth:1},columns:l,rows:u,rowHeight:35,renderers:{noRowsFallback:H(D,{})},className:`rdg-light no-track-pii-safe`,ref:r,getRowId:y,getRowClass:e=>{let t=e.data;if(!t)return`row-normal`;let n;if(t.baseIndex===void 0)n=`row-added`;else if(t.currentIndex===void 0)return`row-removed`;else n=`row-normal`;return i!==void 0&&(n+=` row-selectable`),n},onCellClicked:async e=>{if((e.event?.target)?.closest(`.row-context-menu`))return;let t=e.data;t&&(t.baseIndex!==void 0&&t.currentIndex===void 0||await v(t.name))},onGridReady:S,rowSelection:{mode:`singleRow`},containerClassName:`no-track-pii-safe`,rowClassName:`no-track-pii-safe`})]})}const ds=Dn(us),fs=Dn(ls),ps=({node:e,isSingleEnv:t,CodeEditor:n,DiffEditor:r,isDark:i=!1})=>{let[a,o]=B(!1),[s,c]=B(!1);if(e.data.resourceType!==`model`&&e.data.resourceType!==`snapshot`)return`Not available`;let l=e.data.data.base?.raw_code,u=e.data.data.current?.raw_code,d=e.data.data.base?.name??e.data.data.current?.name??``;return U(W,{className:`no-track-pii-safe`,sx:{position:`relative`,height:`100%`},onMouseEnter:()=>{c(!0)},onMouseLeave:()=>{c(!1)},children:[t?H(n,{language:`sql`,value:l??``,readOnly:!0,lineNumbers:!0,wordWrap:!1,theme:i?`dark`:`light`}):H(r,{original:l??``,modified:u??``,language:`sql`,readOnly:!0,lineNumbers:!0,sideBySide:!1,theme:i?`dark`:`light`,height:`100%`}),H(J,{onClick:()=>o(!0),size:`medium`,"aria-label":`Expand`,sx:{position:`absolute`,top:`5px`,right:`20px`,opacity:s?.5:.1,transition:`opacity 0.3s ease-in-out`},children:H(Zn,{})}),U(Nn,{open:a,onClose:()=>o(!1),maxWidth:`sm`,fullWidth:!0,slotProps:{paper:{sx:{height:`75%`,overflowY:`auto`}}},children:[U(In,{sx:{display:`flex`,alignItems:`center`},children:[t?U(V,{children:[H(`code`,{children:d}),`\xA0Model Code`]}):U(V,{children:[H(`code`,{children:d}),`\xA0Model Code Diff`]}),H(W,{sx:{flex:1}}),H(J,{size:`small`,onClick:()=>o(!1),children:H(Gn,{})})]}),H(Fn,{children:t?H(n,{language:`sql`,value:l??``,fontSize:16,readOnly:!0,lineNumbers:!0,wordWrap:!1,theme:i?`dark`:`light`}):H(r,{original:l??``,modified:u??``,language:`sql`,theme:i?`dark`:`light`,className:`text-base`})})]})]})},ms=({node:e})=>{let{data:t,isLoading:n}=ct(),r=kt();return n?H(V,{}):H(ps,{node:e,isSingleEnv:t?.single_env_onboarding??!1,CodeEditor:l,DiffEditor:ie,isDark:r})},hs=e=>({display:`inline-flex`,alignItems:`center`,borderRadius:16,px:1,py:.25,fontSize:`0.75rem`,bgcolor:e?`grey.700`:`grey.100`,color:e?`grey.100`:`inherit`}),gs={mr:.5,display:`flex`,alignItems:`center`};function _s({data:e,"data-testid":t}){let n=kt(),{icon:r}=It(e.resourceType);return H(Y,{arrow:!0,title:`Type of resource`,children:U(W,{component:`span`,sx:hs(n),"data-testid":t,children:[r&&H(W,{component:`span`,sx:gs,children:H(r,{})}),e.resourceType]})})}const vs=On(_s);vs.displayName=`ResourceTypeTag`;function ys({rowCount:e}){let t=e.base,n=e.curr,r=e.base===null?`N/A`:`${e.base} rows`,i=e.curr===null?`N/A`:`${e.curr} rows`;return t===null&&n===null?H(V,{children:` Failed to load`}):t===null||n===null?U(K,{direction:`row`,alignItems:`center`,spacing:.5,children:[H(q,{variant:`body2`,component:`span`,children:r}),H(bi,{}),H(q,{variant:`body2`,component:`span`,children:i})]}):t===n?U(K,{direction:`row`,alignItems:`center`,spacing:.5,children:[H(q,{variant:`body2`,component:`span`,children:i}),H(W,{component:`span`,sx:{color:`grey.500`,display:`flex`},children:H(Oi,{})}),H(q,{variant:`body2`,component:`span`,sx:{color:`grey.500`},children:`No Change`})]}):t<n?U(K,{direction:`row`,alignItems:`center`,spacing:.5,children:[H(q,{variant:`body2`,component:`span`,children:i}),H(W,{component:`span`,sx:{color:`success.main`,display:`flex`},children:H(Ei,{})}),H(q,{variant:`body2`,component:`span`,sx:{color:`success.main`},children:Ht(t,n)})]}):U(K,{direction:`row`,alignItems:`center`,spacing:.5,children:[H(q,{variant:`body2`,component:`span`,children:i}),H(W,{component:`span`,sx:{color:`error.main`,display:`flex`},children:H(Ti,{})}),H(q,{variant:`body2`,component:`span`,sx:{color:`error.main`},children:Ht(t,n)})]})}function bs({rowCount:e,node:t,onRefresh:r,isFetching:i}){let a=kt(),{featureToggles:o}=dt(),{runsAggregated:s}=F(),c=s?.[t.id]?.row_count_diff.result,l=n(`row_count_diff`).icon,u=e??c,d=u;return H(Y,{title:u?`${u.base??`N/A`} -> ${u.curr??`N/A`} rows`:``,children:H(Pc,{display:o.mode===`metadata only`,children:U(W,{component:`span`,sx:{...hs(a),gap:.5},children:[H(l,{}),d!=null||i?i?H(Pi,{width:30,height:16}):d==null?H(q,{variant:`caption`,children:`row count`}):H(ys,{rowCount:d}):H(q,{variant:`caption`,children:`row count`}),r&&H(J,{"aria-label":`Query Row Count`,size:`small`,onClick:r,disabled:o.disableDatabaseQuery,sx:{p:0,ml:.5},children:H(_r,{size:12})})]})})})}function xs({rowCount:e,node:t,onRefresh:r,isFetching:i}){let a=kt(),{runsAggregated:o}=F(),s=o?.[t.id]?.row_count.result,c=n(`row_count`).icon,l,u=e??s;return u&&(l=`${u.curr??`N/A`} rows`),U(W,{component:`span`,sx:hs(a),children:[H(W,{component:`span`,sx:gs,children:H(c,{})}),u||i?i?H(Pi,{width:30,height:16}):H(q,{variant:`caption`,children:l}):H(q,{variant:`caption`,children:`row count`}),r&&H(J,{"aria-label":`Query Row Count`,size:`small`,onClick:r,disabled:t.data.from===`base`,sx:{p:0,ml:.5},children:H(_r,{size:12})})]})}function Ss({children:e,value:t,index:n}){return t===n?H(V,{children:e}):null}const Cs=()=>H(`span`,{}),ws=({children:e})=>H(V,{children:e}),Ts=()=>!0;function Es(e,t,n){return e?_n.add_or_remove:n(t)?``:`This action is not supported yet.`}function Ds({node:e,actionCallbacks:t,runTypeIcons:n,isActionAvailable:r}){let i=e.data.changeStatus===`added`||e.data.changeStatus===`removed`,a=n?.query??Cs,o=n?.row_count??Cs,s=n?.profile??Cs;return U(K,{direction:`row`,alignItems:`center`,flexWrap:`wrap`,gap:1,children:[H(G,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:H(a,{fontSize:`small`}),onClick:t?.onQueryClick,sx:{textTransform:`none`},children:`Query`}),H(G,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:H(o,{fontSize:`small`}),onClick:t?.onRowCountClick,sx:{textTransform:`none`},children:`Row Count`}),H(Y,{title:Es(i,`profile`,r),placement:`top`,children:H(`span`,{children:H(G,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:H(s,{fontSize:`small`}),onClick:t?.onProfileClick,disabled:i,sx:{textTransform:`none`},children:`Profile`})})})]})}function Os({actionCallbacks:e,runTypeIcons:t,featureToggles:n,ConnectionPopoverWrapper:r}){let i=n?.mode===`metadata only`,a=t?.schema_diff??Cs,o=t?.sandbox??Cs;return U(K,{direction:`row`,alignItems:`center`,sx:{mr:1},flexWrap:`wrap`,gap:1,children:[H(G,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:H(a,{fontSize:`small`}),onClick:e?.onAddSchemaDiffClick,sx:{textTransform:`none`},children:`Add schema diff to checklist`}),H(r,{display:i,children:H(G,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:H(o,{fontSize:`small`}),onClick:e?.onSandboxClick,disabled:n?.disableDatabaseQuery,sx:{textTransform:`none`},children:`Sandbox`})})]})}function ks({node:e,actionCallbacks:t,runTypeIcons:n,featureToggles:r,isActionAvailable:i,ConnectionPopoverWrapper:a}){let o=r?.mode===`metadata only`,s=e.data.changeStatus===`added`||e.data.changeStatus===`removed`,c=n?.query_diff??Cs,l=n?.row_count_diff??Cs,u=n?.profile_diff??Cs,d=n?.value_diff??Cs,f=n?.top_k_diff??Cs,p=n?.histogram_diff??Cs,m=(e,t)=>o?H(a,{display:!0,children:e}):H(Y,{title:Es(s,t,i),placement:`top`,children:H(`span`,{children:e})});return U(K,{direction:`row`,alignItems:`center`,flexWrap:`wrap`,gap:2,children:[H(q,{variant:`caption`,fontWeight:`bold`,children:`Diff`}),U(K,{direction:`row`,alignItems:`center`,flexWrap:`wrap`,gap:1,width:`93%`,children:[H(a,{display:o,children:H(G,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:H(l,{fontSize:`small`}),onClick:t?.onRowCountDiffClick,disabled:r?.disableDatabaseQuery,sx:{textTransform:`none`},children:`Row Count`})}),m(H(G,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:H(u,{fontSize:`small`}),onClick:t?.onProfileDiffClick,disabled:s||r?.disableDatabaseQuery,sx:{textTransform:`none`},children:`Profile`}),`profile_diff`),m(H(G,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:H(d,{fontSize:`small`}),onClick:t?.onValueDiffClick,disabled:s||r?.disableDatabaseQuery,sx:{textTransform:`none`},children:`Value`}),`value_diff`),m(H(G,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:H(f,{fontSize:`small`}),onClick:t?.onTopKDiffClick,disabled:s||r?.disableDatabaseQuery,sx:{textTransform:`none`},children:`Top-K`}),`top_k_diff`),m(H(G,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:H(p,{fontSize:`small`}),onClick:t?.onHistogramDiffClick,disabled:s||r?.disableDatabaseQuery,sx:{textTransform:`none`},children:`Histogram`}),`histogram_diff`),H(a,{display:o,children:H(G,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:H(c,{fontSize:`small`}),onClick:t?.onQueryDiffClick,disabled:r?.disableDatabaseQuery,sx:{textTransform:`none`},children:`Query`})})]})]})}function As({node:e,onCloseNode:t,isSingleEnv:n,featureToggles:r,SchemaView:i,SingleEnvSchemaView:a,NodeSqlView:o,RowCountDiffTag:s,RowCountTag:c,ResourceTypeTag:l,NotificationComponent:u,ConnectionPopoverWrapper:d=ws,SandboxDialog:f,runTypeIcons:p,actionCallbacks:m,isActionAvailable:h=Ts}){let g=e.data.resourceType===`model`||e.data.resourceType===`seed`||e.data.resourceType===`source`||e.data.resourceType===`snapshot`,[_,v]=B(!1),[y,b]=B(!0),[x,S]=B(0),C=e.data.resourceType===`model`||e.data.resourceType===`seed`||e.data.resourceType===`snapshot`,w={...m,onSandboxClick:()=>{m?.onSandboxClick?.(),v(!0)}};return U(W,{sx:{height:`100%`,display:`grid`,gridTemplateRows:`auto auto auto 1fr`},children:[U(K,{direction:`row`,alignItems:`center`,children:[H(W,{sx:{flex:`0 1 20%`,p:2},children:H(q,{variant:`subtitle1`,fontWeight:600,className:`no-track-pii-safe`,children:e.data.name})}),H(W,{sx:{flexGrow:1}}),!n&&C&&H(Os,{node:e,actionCallbacks:w,runTypeIcons:p,featureToggles:r,ConnectionPopoverWrapper:d}),H(W,{sx:{flex:`0 1 1%`},children:H(J,{size:`small`,onClick:t,children:H(Gn,{})})})]}),H(W,{sx:{color:`text.secondary`,pl:2},children:U(K,{direction:`row`,spacing:1,children:[l&&H(l,{node:e}),C&&(n?c&&H(c,{node:e,onRefresh:m?.onRowCountClick}):s&&H(s,{node:e,onRefresh:m?.onRowCountDiffClick}))]})}),C&&H(W,{sx:{pl:2,py:1},children:n?H(Ds,{node:e,actionCallbacks:m,runTypeIcons:p,isActionAvailable:h}):H(ks,{node:e,actionCallbacks:w,runTypeIcons:p,featureToggles:r,isActionAvailable:h,ConnectionPopoverWrapper:d})}),g&&U(W,{sx:{overflow:`auto`,display:`flex`,flexDirection:`column`},children:[n&&y&&u&&H(W,{sx:{p:1.5},children:H(u,{onClose:()=>b(!1),children:H(q,{variant:`body2`,children:`Enable the Recce Checklist and start adding checks for better data validation and review.`})})}),U($r,{value:x,onChange:(e,t)=>S(t),sx:{borderBottom:1,borderColor:`divider`},children:[H(Qr,{label:`Columns`}),H(Qr,{label:`Code`})]}),U(W,{sx:{overflow:`auto`,height:`calc(100% - 48px)`},children:[H(Ss,{value:x,index:0,children:H(W,{sx:{overflowY:`auto`,height:`100%`},children:n?a&&H(a,{current:e.data.data.current}):i&&H(i,{base:e.data.data.base,current:e.data.data.current})})}),H(Ss,{value:x,index:1,children:H(W,{sx:{height:`100%`},children:o&&H(o,{node:e})})})]})]}),f&&H(f,{isOpen:_,onClose:()=>v(!1),current:e.data.data.current})]})}function js(e){return ii(oi(e),`yyyy-MM-dd'T'HH:mm:ss`)}function Ms({current:e,primaryKeys:t,onPrimaryKeysChange:n,onRunResultOpen:r,runQuery:i,isPending:a,QueryForm:o}){return U(K,{direction:`row`,justifyContent:`flex-end`,alignItems:`center`,sx:{p:`4pt 8pt`,gap:`5px`,height:`54px`,borderBottom:`1px solid`,borderBottomColor:`divider`,flex:`0 0 54px`},children:[U(W,{children:[U(q,{variant:`h6`,component:`h2`,sx:{display:`flex`,alignItems:`center`,gap:`5px`},children:[H(W,{component:Fi,sx:{fontSize:`1.2em`}}),`Sandbox`]}),U(q,{sx:{fontSize:`0.75rem`,color:`grey.500`},children:[`Compare the run results based on the modified SQL code of model`,` `,H(`b`,{children:e?.name})]})]}),H(W,{sx:{flexGrow:1}}),H(o,{defaultPrimaryKeys:t,onPrimaryKeysChange:n}),H(Y,{title:`Run diff to see the changes`,children:H(G,{size:`small`,sx:{mt:`16px`,fontSize:`14px`},onClick:()=>{r(),i()},color:`iochmara`,variant:`contained`,disabled:a,children:a?`Running...`:`Run Diff`})})]})}function Ns({currentModelID:e,height:t=`32px`,flex:n=`0 0 auto`,isDark:r=!1}){let{lineageGraph:i,envInfo:a}=F(),o=`0 16px`,s=ai(js(a?.dbt?.current?.generated_at??``),{addSuffix:!0}),c=`N/A`;if(i?.nodes[e]){let t=i.nodes[e];t.data.data.current?.schema&&(c=t.data.data.current.schema)}return U(K,{direction:`row`,sx:{gap:0,height:t,flex:n,fontSize:`14px`,alignItems:`center`,m:0,bgcolor:Bn(r?Et.neutral[700]:Et.neutral[100],.5)},children:[H(K,{sx:{width:`50%`},children:U(q,{sx:{fontWeight:`bold`,margin:o},children:[`ORIGINAL (Schema: `,c,`, Last Updated: `,s,`)`]})}),H(K,{sx:{width:`50%`},children:H(q,{sx:{fontWeight:`bold`,margin:o},children:`SANDBOX EDITOR`})})]})}function Ps({current:e,onChange:t,isDark:n,DiffEditor:r}){return H(r,{original:e?.raw_code??``,modified:e?.raw_code??``,language:`sql`,readOnly:!1,lineNumbers:!0,sideBySide:!0,theme:n?`dark`:`light`,height:`100%`,onModifiedChange:t})}function Fs({isOpen:e,onClose:t,current:n,DiffEditor:r,QueryForm:i,RunResultPane:a,isDark:o=!1,primaryKeys:s=[],onPrimaryKeysChange:c,isPending:l=!1,onRunQuery:u,onRunResultOpen:d,onModifiedCodeChange:f,onShowFeedback:p,tracking:m,logoUrl:h=`/logo/recce-logo-white.png`,brandName:g=`RECCE`}){let[_,v]=B(!1),y=e=>{f?.(e)},b=()=>{v(!0),d?.()},x=()=>{u?.()},S=()=>{t(),v(!1),m?.onPreviewChange?.({action:`close`,node:n?.name})},C=e=>{c?.(e)};return U(Nn,{open:e,onClose:S,maxWidth:!1,fullWidth:!0,slotProps:{paper:{sx:{width:`100%`,height:`100%`,maxWidth:`100%`,maxHeight:`100%`,m:0}}},children:[U(W,{sx:{height:`40px`,bgcolor:`cyan.600`,px:0,py:2,display:`flex`,alignItems:`center`},children:[U(K,{direction:`row`,alignItems:`center`,sx:{height:`100%`,gap:`10px`},children:[H(W,{component:`img`,sx:{width:`20px`,height:`20px`,ml:`18px`},src:h,alt:`logo`}),H(q,{variant:`h6`,component:`h1`,sx:{fontFamily:`"Montserrat", sans-serif`,fontSize:`1.125rem`,color:`common.white`},children:g}),H(Sr,{label:`Experiment`,size:`small`,variant:`outlined`,sx:{fontSize:`0.875rem`,color:`common.white`,borderColor:`rgba(255,255,255,0.5)`}})]}),H(J,{"aria-label":`close`,onClick:S,sx:{position:`absolute`,right:8,top:4,color:`common.white`},children:H(Gn,{})})]}),H(Fn,{sx:{p:0},children:U(se,{sizes:_?[50,50]:[100,0],minSize:_?100:0,gutterSize:_?5:0,style:{flex:`1`,contain:`size`,height:`100%`},children:[U(K,{sx:{height:`100%`,m:0,p:0},children:[H(Ms,{current:n,primaryKeys:s,onPrimaryKeysChange:C,onRunResultOpen:b,runQuery:x,isPending:l,QueryForm:i}),H(Ns,{height:`32px`,flex:`0 0 auto`,currentModelID:n?.id??``,isDark:o}),H(Ps,{current:n,onChange:y,isDark:o,DiffEditor:r})]}),_?H(a,{onClose:()=>v(!1),disableAddToChecklist:!0}):H(W,{})]})}),H(W,{sx:{position:`fixed`,bottom:16,right:16,opacity:.5},children:H(Y,{title:`Give us feedback`,children:H(J,{"aria-label":`feedback`,size:`medium`,onClick:()=>{p?.()},children:H(Kr,{})})})})]})}function Is({isOpen:e,onClose:t,current:n}){let[r,a]=B(n?.raw_code??``),[o,s]=B(e),{showRunId:c,clearRunResult:l}=lt(),{primaryKeys:u,setPrimaryKeys:d}=be(),{data:f,isLoading:p}=ct(),{apiClient:m}=g(),h=kt();e!==o&&(s(e),e&&a(n?.raw_code??``));let{mutate:_,isPending:v}=bn({mutationFn:async()=>{let e=r,{run_id:t}=await ke({current_model:n?.name??``,primary_keys:u,sql_template:e},{nowait:!0},m);return c(t),await ze(t,void 0,m)},onSuccess(e){e.error?mn({action:`run`,node:n?.name,status:`failure`}):(mn({action:`run`,node:n?.name,status:`success`}),setTimeout(()=>{y()},1e3),!p&&f?.single_env_onboarding&&setTimeout(()=>{x()},2e3))}}),{feedbackToast:y,closeToast:b}=he({feedbackId:Ie.previewChangeFeedbackID,description:`Enjoy preview change?`,onFeedbackSubmit:e=>{switch(e){case`like`:gn({feedback:`like`,node:n?.name});break;case`dislike`:gn({feedback:`dislike`,node:n?.name});break;case`link`:gn({feedback:`form`,node:n?.name});break;default:console.log(`Not support feedback type`)}},externalLink:`https://docs.google.com/forms/d/e/1FAIpQLSd7Lei7Ijwo7MinWaI0K6rzZi_21gV1BKetmiNEX254kDziDA/viewform?usp=header`,externalLinkText:`Give us feedback`}),{guideToast:x,closeGuideToast:S}=ue({guideId:Ie.prepareEnvGuideID,description:`Want to compare data changes with production data?`,externalLink:`https://docs.datarecce.io/get-started/#prepare-dbt-artifacts`,externalLinkText:`Learn how.`,onExternalLinkClick:()=>{hn({action:`external_link`,from:`preview_changes`,node:n?.name})}});return H(Fs,{isOpen:e,onClose:()=>{t(),l(),b(),S()},current:n,DiffEditor:ie,QueryForm:Na,RunResultPane:i,isDark:h,primaryKeys:u??[],onPrimaryKeysChange:d,isPending:v,onRunQuery:_,onModifiedCodeChange:a,onShowFeedback:()=>y(!0),tracking:{onPreviewChange:mn}})}const Ls=({node:e})=>H(vs,{data:{resourceType:e.data.resourceType}});function Rs({onClose:e}){return H(j,{onClose:e,align:`flex-start`,children:U(q,{variant:`body2`,children:[`Enable the Recce Checklist and start adding checks for better data validation and review.`,H(`br`,{}),H(t,{})]})})}function zs({node:e,onCloseNode:t}){let r=pi(),{runAction:i}=lt(),{isActionAvailable:a,envInfo:o}=F(),{singleEnv:s,featureToggles:c}=dt(),{setSqlQuery:l,setPrimaryKeys:u}=be(),{primaryKey:d}=C(e.data.name),{apiClient:f}=g(),{basePath:p}=ot(),m=Mn(()=>({query:n(`query`).icon,row_count:n(`row_count`).icon,row_count_diff:n(`row_count_diff`).icon,profile:n(`profile`).icon,profile_diff:n(`profile_diff`).icon,query_diff:n(`query_diff`).icon,value_diff:n(`value_diff`).icon,top_k_diff:n(`top_k_diff`).icon,histogram_diff:n(`histogram_diff`).icon,schema_diff:n(`schema_diff`).icon,sandbox:n(`sandbox`).icon}),[]),h=Wt(Object.keys(e.data.data.base?.columns??{}),Object.keys(e.data.data.current?.columns??{})),_=Mn(()=>h.length?`select \n ${h.join(`
6
+ `)}\nfrom {{ ref("${e.data.name}") }}`:`select * from {{ ref("${e.data.name}") }}`,[h,e.data.name]),v=Mn(()=>({onQueryClick:()=>{o?.adapterType===`dbt`?l(_):o?.adapterType===`sqlmesh`&&l(`select * from ${e.data.name}`),r.push(`${p}/query`)},onRowCountClick:()=>{pn({action:fn.ROW_COUNT,source:un.SCHEMA_ROW_COUNT_BUTTON,node_count:1}),i(`row_count`,{node_names:[e.data.name]},{showForm:!1,showLast:!1})},onRowCountDiffClick:()=>{pn({action:fn.ROW_COUNT_DIFF,source:un.SCHEMA_ROW_COUNT_BUTTON,node_count:1}),i(`row_count_diff`,{node_names:[e.data.name]},{showForm:!1,showLast:!1})},onProfileClick:()=>{pn({action:fn.PROFILE,source:un.NODE_SIDEBAR_SINGLE_ENV,node_count:1}),i(`profile`,{model:e.data.name},{showForm:!0,showLast:!1})},onProfileDiffClick:()=>{pn({action:fn.PROFILE_DIFF,source:un.NODE_SIDEBAR_MULTI_ENV,node_count:1}),i(`profile_diff`,{model:e.data.name},{showForm:!0,showLast:!1})},onQueryDiffClick:()=>{o?.adapterType===`dbt`?l(_):o?.adapterType===`sqlmesh`&&l(`select * from ${e.data.name}`),a(`query_diff_with_primary_key`)&&u(d===void 0?void 0:[d]),r.push(`${p}/query`)},onValueDiffClick:()=>{pn({action:fn.VALUE_DIFF,source:un.NODE_SIDEBAR_MULTI_ENV,node_count:1}),i(`value_diff`,{model:e.data.name},{showForm:!0,showLast:!1})},onTopKDiffClick:()=>{pn({action:fn.TOP_K_DIFF,source:un.NODE_SIDEBAR_MULTI_ENV,node_count:1}),i(`top_k_diff`,{model:e.data.name,column_name:``,k:50},{showForm:!0})},onHistogramDiffClick:()=>{pn({action:fn.HISTOGRAM_DIFF,source:un.NODE_SIDEBAR_MULTI_ENV,node_count:1}),i(`histogram_diff`,{model:e.data.name,column_name:``,column_type:``},{showForm:!0})},onAddSchemaDiffClick:async()=>{let t=await Ve({node_id:e.id},f);r.push(`${p}/checks/?id=${t.check_id}`)},onSandboxClick:()=>{a(`query_diff_with_primary_key`)&&u(d===void 0?void 0:[d]),mn({action:`explore`,node:e.data.name})}}),[e,_,o,l,i,a,u,d,f,r.push,p]);return H(As,{node:e,onCloseNode:t,isSingleEnv:s??!1,featureToggles:c,SchemaView:ds,SingleEnvSchemaView:fs,NodeSqlView:ms,ResourceTypeTag:Ls,RowCountDiffTag:bs,RowCountTag:xs,NotificationComponent:Rs,ConnectionPopoverWrapper:Pc,SandboxDialog:Is,runTypeIcons:m,actionCallbacks:v,isActionAvailable:a})}function Bs({featureToggles:e,settingsUrl:t}){return e.mode===`metadata only`?H(W,{sx:{display:`flex`,alignItems:`center`,width:`100%`,px:1,py:.25,bgcolor:`cyan.50`},children:U(K,{direction:`row`,alignItems:`center`,sx:{flex:1,fontSize:`0.875rem`,color:`cyan.600`},spacing:1,children:[H(W,{component:ur}),H(q,{sx:{fontSize:`inherit`,color:`inherit`},children:`Query functions disabled without a data warehouse connection.`}),H(G,{sx:{bgcolor:`iochmara.400`},size:`small`,variant:`contained`,onClick:()=>{window.open(t,`_blank`)},children:`Connect to Data Warehouse`})]})}):null}function Vs(e){let{featureToggles:t}=dt(),{data:n}=Ct();return H(Bs,{featureToggles:e.featureToggles??t,settingsUrl:e.settingsUrl??qt(n,Xt)})}function Hs({docsUrl:e=`https://docs.datarecce.io/get-started/#prepare-dbt-artifacts`,onStartClick:t}={}){return H(K,{sx:{flex:1,height:`100%`,minHeight:0,m:1,p:2,bgcolor:`iochmara.50`,borderRadius:2,boxShadow:2,justifyContent:`center`},children:U(K,{sx:{width:`80%`,overflowY:`auto`,gap:3,px:4,pb:4},alignSelf:`center`,children:[U(K,{alignItems:`center`,spacing:2,children:[H(W,{sx:{p:1,bgcolor:`background.paper`,borderRadius:`50%`,display:`flex`,alignItems:`center`,justifyContent:`center`,boxShadow:2},children:H(W,{component:ki,sx:{fontSize:28,color:`iochmara.500`}})}),H(q,{variant:`h5`,sx:{mt:2},children:`Wait, there's more!`}),U(q,{sx:{textAlign:`center`},children:[`Recce is currently running in`,` `,H(q,{component:`span`,sx:{fontWeight:`bold`},children:`limited functionality mode`}),` `,`so you can run queries but`,` `,H(q,{component:`span`,sx:{fontWeight:`bold`},children:`can't diff the results yet!`})]})]}),U(K,{spacing:1,children:[H(q,{children:`To unlock the full power of Recce, set up a base environment of dbt artifacts for comparison.`}),H(q,{children:`Once configured, you'll be able to:`}),U(ei,{sx:{listStyleType:`disc`,pl:2},children:[H(ti,{sx:{display:`list-item`,p:0},children:H(q,{children:`Run statistical data diffs`})}),H(ti,{sx:{display:`list-item`,p:0},children:H(q,{children:`Run query diffs`})}),H(ti,{sx:{display:`list-item`,p:0},children:H(q,{children:`Save checks to your Recce Checklist`})}),H(ti,{sx:{display:`list-item`,p:0},children:H(q,{children:`...and more!`})})]}),H(q,{children:`Take the next step toward better data impact assessment.`})]}),H(K,{sx:{width:`100%`,mt:3},children:H(G,{color:`iochmara`,variant:`contained`,size:`large`,onClick:()=>{t?t():window.open(e,`_blank`)},children:`Start Now`})})]})})}function Us({docsUrl:e=`https://docs.datarecce.io/configure-diff/`}={}){return U(K,{direction:`row`,spacing:`10px`,alignItems:`flex-start`,children:[H(W,{component:Di,sx:{color:`iochmara.main`,fontSize:20}}),U(K,{spacing:`5px`,children:[U(q,{sx:{fontWeight:700},children:[`Single Environment Mode`,` `,H(q,{component:`span`,sx:{color:`error.main`,fontWeight:600},children:`Limited Functionality`})]}),H(q,{sx:{fontSize:`0.875rem`},children:`Single Environment Mode allows you to explore your dbt project but won't show data comparisons between environments.`}),H(q,{sx:{fontSize:`0.875rem`},children:`To set up full environment comparison:`}),U(ei,{sx:{pl:2},children:[H(ti,{sx:{p:0,display:`list-item`},children:H(q,{sx:{fontSize:`0.875rem`},children:"Run `recce debug` for setup assistance"})}),H(ti,{sx:{p:0,display:`list-item`},children:U(q,{sx:{fontSize:`0.875rem`},children:[`Visit`,` `,H(Ln,{sx:{color:`primary.main`,fontWeight:500},target:`_blank`,href:e,children:`docs`}),` `,`for configuration details`]})})]})]})]})}function Ws(){return H(W,{sx:{width:`100%`,height:`100%`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:H(Yn,{size:48})})}function Gs({error:e,onRetry:t}){return H(W,{sx:{height:`100%`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:U(K,{alignItems:`center`,spacing:1,children:[H(W,{children:`Failed to load lineage data. This could be because the server has been terminated or there is a network error.`}),U(W,{children:[`[Reason: `,e,`]`]}),H(G,{color:`iochmara`,variant:`contained`,onClick:()=>{t&&t()},children:`Retry`})]})})}function Ks({viewOptions:e,onViewOptionsChanged:t}){return H(W,{sx:{height:`100%`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:U(K,{alignItems:`center`,spacing:1,children:[H(V,{children:`No change detected`}),H(G,{color:`iochmara`,variant:`contained`,onClick:async()=>{await t({...e,view_mode:`all`})},children:`Show all nodes`})]})})}function qs(){let{isHistoryOpen:e,showHistory:t}=lt();if(!e)return U(W,{children:[H(W,{sx:{fontSize:`8pt`},children:`History`}),H(G,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:H(Jr,{}),onClick:()=>{nn({name:e?`hide`:`show`}),t()},children:`Show`})]})}const Js=e=>({fontSize:`8pt`,bgcolor:e?`grey.700`:`grey.100`,px:.5,borderRadius:1}),Ys=()=>{let e=Js(kt());return U(K,{alignItems:`flex-start`,spacing:0,children:[H(q,{fontSize:`10pt`,color:`text.secondary`,pb:1,children:`Select nodes by dbt node selector syntax`}),U(q,{fontSize:`8pt`,children:[H(W,{component:`code`,sx:e,children:`model_name`}),` `,`Select a node`]}),U(q,{fontSize:`8pt`,children:[H(W,{component:`code`,sx:e,children:`model_name+`}),` `,`Select downstream nodes`]}),U(q,{fontSize:`8pt`,children:[H(W,{component:`code`,sx:e,children:`+model_name`}),` `,`Select upstream nodes`]}),U(q,{fontSize:`8pt`,children:[H(W,{component:`code`,sx:e,children:`model*`}),` `,`Select by wildcard`]})]})},Xs=({isDisabled:e,viewOptions:t,onViewOptionsChanged:n})=>{let[r,i]=B(null),a=!!r,o=t.view_mode??`changed_models`,s=o===`changed_models`?`Changed Models`:`All`,c=e=>{i(e.currentTarget)},l=()=>{i(null)},u=e=>{n({...t,view_mode:e}),l()},d=It(`model`).icon;return U(V,{children:[H(G,{size:`xsmall`,variant:`outlined`,color:`neutral`,onClick:c,disabled:e,startIcon:d&&H(d,{}),endIcon:H(ir,{}),sx:{minWidth:100,textTransform:`none`,fontSize:`0.75rem`},children:s}),U(Hr,{anchorEl:r,open:a,onClose:l,children:[H(Xr,{sx:{lineHeight:`32px`,bgcolor:`transparent`},children:`mode`}),U(Li,{value:o,children:[H(Ur,{onClick:()=>u(`changed_models`),children:H(Vr,{value:`changed_models`,control:H(Ii,{size:`small`,sx:{py:0}}),label:`Changed Models`,sx:{m:0}})}),H(Ur,{onClick:()=>u(`all`),children:H(Vr,{value:`all`,control:H(Ii,{size:`small`,sx:{py:0}}),label:`All`,sx:{m:0}})})]})]})]})},Zs=({isDisabled:e,viewOptions:t,onViewOptionsChanged:n,lineageGraph:r})=>{let[i,a]=B(null),o=!!i,s=new Set,c=Object.values(r?.nodes??{});for(let e of c)e.data.packageName&&s.add(e.data.packageName);let l=r?.manifestMetadata.current?.project_name,u=t.packages?new Set(t.packages):l?new Set([l]):s,d=u.size===s.size,f=u.size===0,p=u.size===1?Array.from(u)[0]:d?`All Packages`:f?`No Package`:`${u.size} Packages`,m=e=>{a(e.currentTarget)},h=()=>{a(null)},g=()=>{n(d?{...t,packages:[]}:{...t,packages:Array.from(s)})},_=e=>{let r=new Set(u);r.has(e)?r.delete(e):r.add(e),n({...t,packages:Array.from(r)})};return U(V,{children:[H(G,{size:`xsmall`,variant:`outlined`,color:`neutral`,onClick:m,disabled:e,startIcon:H(Ci,{}),endIcon:H(ir,{}),sx:{minWidth:100,textTransform:`none`,fontSize:`0.75rem`},children:p}),U(Hr,{anchorEl:i,open:o,onClose:h,children:[H(Xr,{sx:{lineHeight:`32px`,bgcolor:`transparent`},children:`Select Packages`}),U(Ur,{onClick:g,children:[H(Br,{checked:d,indeterminate:!d&&!f,size:`small`,sx:{py:0}}),H(yi,{children:`Select All`})]}),H(Jn,{}),Array.from(s).map(e=>U(Ur,{onClick:()=>_(e),children:[H(Br,{checked:u.has(e),size:`small`,sx:{py:0}}),H(yi,{className:`no-track-pii-safe`,children:e})]},e))]})]})},Qs=({value:e,onChange:t,isDisabled:n,tooltipComponent:r,showTooltip:i=!0})=>{let[a,o]=B(e),s=z(null);return R(()=>{s.current&&(s.current.value=e)},[e]),H(Y,{title:i?r:``,placement:`bottom-start`,slotProps:{tooltip:{sx:{width:`18.75rem`,p:2,boxShadow:3,border:1,borderRadius:1,color:`text.primary`,bgcolor:`background.paper`}}},children:H(Zr,{inputRef:s,size:`small`,placeholder:`with selectors`,disabled:n,value:a,onChange:e=>{o(e.target.value)},onKeyUp:n=>{n.key===`Enter`?t(a):n.key===`Escape`&&(n.preventDefault(),o(e),s.current&&s.current.blur())},onBlur:()=>{o(e)},sx:{"& .MuiInputBase-root":{width:`18.75rem`,height:24,fontSize:`0.75rem`},"& .MuiInputBase-input":{py:.5,px:1}}})})},$s=({isDisabled:e,viewOptions:t,onViewOptionsChanged:n,showTooltip:r})=>H(Qs,{isDisabled:e,value:t.select??``,onChange:e=>{n({...t,select:e||void 0})},tooltipComponent:H(Ys,{}),showTooltip:r}),ec=({isDisabled:e,viewOptions:t,onViewOptionsChanged:n})=>H(Qs,{isDisabled:e,value:t.exclude??``,onChange:e=>{n({...t,exclude:e||void 0})}}),tc=({label:e,children:t,style:n})=>U(W,{style:n,sx:{maxWidth:300},children:[H(q,{fontSize:`8pt`,children:(e??``).trim()||H(V,{children:`\xA0`})}),t]}),nc=({children:e})=>H(V,{children:e}),rc=({viewOptions:e,onViewOptionsChanged:t,lineageGraph:n,featureToggles:r,serverFlags:i,focusedNode:a,selectedNodes:o,onDeselect:s,onRunRowCount:c,onRunRowCountDiff:l,onRunValueDiff:u,onAddLineageDiffCheck:d,onAddSchemaDiffCheck:f,runTypeIcons:p,historyToggleSlot:m,SetupConnectionPopoverSlot:h=nc})=>{let g=i?.single_env_onboarding,[_,v]=B(null),y=!!_,b=!!a,x=o.length>0,S=!b&&!x,C=x,w=e=>{v(e.currentTarget)},T=()=>{v(null)},E=p.rowCountDiff,D=p.valueDiff,O=p.lineageDiff,ee=p.schemaDiff;return H(K,{direction:`row`,alignItems:`center`,borderBottom:1,borderColor:`neutral.light`,sx:{width:`100%`,p:`4pt 8pt`,gap:`0.5rem`},children:U(K,{direction:`row`,alignItems:`center`,sx:{flex:1,gap:`0.5rem`},children:[m,H(tc,{label:`Mode`,style:{flexShrink:1},children:H(Xs,{isDisabled:C,viewOptions:e,onViewOptionsChanged:t})}),H(tc,{label:`Package`,style:{flexShrink:1},children:H(Zs,{isDisabled:C,viewOptions:e,onViewOptionsChanged:t,lineageGraph:n})}),H(tc,{label:`Select`,style:{flexShrink:1},children:H($s,{isDisabled:C,viewOptions:e,onViewOptionsChanged:t,showTooltip:g})}),H(tc,{label:`Exclude`,style:{flexShrink:1},children:H(ec,{isDisabled:C,viewOptions:e,onViewOptionsChanged:t})}),H(W,{sx:{flexGrow:1}}),x&&U(V,{children:[H(tc,{label:``,style:{flexShrink:0},children:H(q,{fontSize:`9pt`,color:`text.secondary`,children:o.length>1?`${o.length} nodes selected`:`${o.length} node selected`})}),H(tc,{label:``,children:H(G,{variant:`outlined`,color:`neutral`,size:`xsmall`,onClick:()=>{s()},sx:{textTransform:`none`,fontSize:`9pt`},children:`Deselect`})}),g&&H(tc,{label:`Explore`,children:U(W,{sx:{display:`inline-flex`},children:[H(G,{size:`xsmall`,color:`neutral`,variant:`outlined`,onClick:w,endIcon:H(ir,{}),sx:{textTransform:`none`,fontSize:`0.75rem`},children:`Actions`}),H(Hr,{anchorEl:_,open:y,onClose:T,anchorOrigin:{vertical:`bottom`,horizontal:`right`},transformOrigin:{vertical:`top`,horizontal:`right`},children:U(Ur,{disabled:r.disableDatabaseQuery,onClick:async()=>{await c?.(),T()},children:[H(vi,{children:H(E,{fontSize:`small`})}),H(yi,{children:`Row Count`})]})})]})})]}),!g&&H(tc,{label:`Explore`,children:U(W,{sx:{display:`inline-flex`},children:[H(G,{size:`xsmall`,color:`neutral`,variant:`outlined`,disabled:r.disableViewActionDropdown,onClick:w,endIcon:H(ir,{}),sx:{textTransform:`none`,fontSize:`0.75rem`},children:`Actions`}),U(Hr,{anchorEl:_,open:y,onClose:T,anchorOrigin:{vertical:`bottom`,horizontal:`right`},transformOrigin:{vertical:`top`,horizontal:`right`},children:[H(Xr,{sx:{lineHeight:`32px`,bgcolor:`transparent`},children:`Diff`}),H(h,{display:r.mode===`metadata only`,children:U(Ur,{disabled:r.disableDatabaseQuery,onClick:async()=>{await l?.(),T()},children:[H(vi,{children:H(E,{fontSize:`small`})}),H(yi,{children:`Row Count Diff`})]})}),H(h,{display:r.mode===`metadata only`,children:U(Ur,{disabled:r.disableDatabaseQuery,onClick:async()=>{await u?.(),T()},children:[H(vi,{children:H(D,{fontSize:`small`})}),H(yi,{children:`Value Diff`})]})}),H(Jn,{}),H(Xr,{sx:{lineHeight:`32px`,bgcolor:`transparent`},children:`Add to Checklist`}),U(Ur,{disabled:!(S||x&&o.length>1),onClick:()=>{d?.(e.view_mode),T()},children:[H(vi,{children:H(O,{fontSize:`small`})}),H(yi,{children:`Lineage Diff`})]}),U(Ur,{onClick:()=>{f?.(),T()},children:[H(vi,{children:H(ee,{fontSize:`small`})}),H(yi,{children:`Schema Diff`})]})]})]})})]})})},ic=({display:e,children:t})=>H(Pc,{display:e,children:t}),ac=()=>{let{deselect:e,focusedNode:t,selectedNodes:r,viewOptions:i,onViewOptionsChanged:a,runRowCount:o,runRowCountDiff:s,runValueDiff:c,addLineageDiffCheck:l,addSchemaDiffCheck:u}=it(),{lineageGraph:d}=F(),{featureToggles:f}=dt(),{data:p}=ct();return H(rc,{viewOptions:i,onViewOptionsChanged:a,lineageGraph:d,featureToggles:f,serverFlags:p,focusedNode:t,selectedNodes:r,onDeselect:e,onRunRowCount:o,onRunRowCountDiff:s,onRunValueDiff:c,onAddLineageDiffCheck:l,onAddSchemaDiffCheck:u,runTypeIcons:{rowCountDiff:n(`row_count_diff`).icon,valueDiff:n(`value_diff`).icon,lineageDiff:n(`lineage_diff`).icon,schemaDiff:n(`schema_diff`).icon},historyToggleSlot:H(qs,{}),SetupConnectionPopoverSlot:ic})};function oc({interactive:e=!1,...t},n){let{isDark:r}=Ft(),{apiClient:i}=g(),a=Lr(),o=z(null),{copyToClipboard:s,ImageDownloadModal:c,ref:l}=eo(),[u,d,f]=Ir(Wa),[p,m,h]=Fr([]),{lineageGraph:_,retchLineageGraph:v,isLoading:y,error:b,refetchRunsAggregated:x}=F(),{featureToggles:S,singleEnv:C}=dt(),{runId:w,showRunId:T,closeRunResult:E,runAction:D,isRunResultOpen:te}=lt(),{run:k}=le(w),[A,ne]=B({...t.viewOptions}),re=ro(),ie=z([]).current,[ae,j]=B(void 0),oe=bn({mutationFn:e=>tt(e,i)}),[se,ce]=B({}),ue=L(e=>u.filter(ft).find(t=>t.data.name===e),[u]);An(n,()=>({copyToClipboard:s}));let de=Mn(()=>!!(_&&_.modifiedSet.length>0),[_]),fe=A.view_mode??`changed_models`,pe=Mn(()=>u.filter(e=>e.type===`lineageGraphNode`).map(e=>e.id),[u]),he=Mn(()=>_?pe.map(e=>_.nodes[e]):[],[_,pe]),[ge,_e]=B(),M=ge?_?.nodes[ge]:void 0,[N,ve]=B(),[ye,be]=B(new Set),xe=Mn(()=>_?Array.from(ye).map(e=>_.nodes[e]):[],[_,ye]),Se=oo(xe.length>0?xe:he,{onActionStarted:()=>{ve(`action_result`)},onActionNodeUpdated:e=>{d(t=>t.map(t=>t.id===e.id?{...t}:t))},onActionCompleted:()=>{}}),Ce=Mn(()=>{if(!_)return new Set;let e=new Set;if(ae){for(let[t,n]of Object.entries(ae.current.nodes))n.impacted!==!1&&e.add(t);for(let t of Object.keys(ae.current.columns))e.add(t)}else if(N===`action_result`){let t=Object.keys(Se.actionState.actions);e=new Set(t)}else e=M?gt(yt(_,[M.id]),vt(_,[M.id])):de?vt(_,_.modifiedSet):new Set(pe);return new Set(e)},[_,ae,N,M,de,Se.actionState.actions,pe]),we=po(),Te=()=>{we.closeContextMenu()};jn(()=>{(async()=>{let e;if(!_)return;if(A.node_ids)e=A.node_ids;else{let n=_.manifestMetadata.current?.project_name,r={view_mode:A.view_mode??(de?`changed_models`:`all`),packages:n?[n]:void 0,...t.viewOptions};try{e=(await qe({select:r.select,exclude:r.exclude,packages:r.packages,view_mode:r.view_mode},i)).nodes}catch{r.view_mode=`all`,e=(await qe({select:r.select,exclude:r.exclude,packages:r.packages,view_mode:r.view_mode},i)).nodes}ne(r)}let n;if(A.column_level_lineage)try{n=await oe.mutateAsync(A.column_level_lineage)}catch(e){if(e instanceof Cn){let t=e;Rt.create({title:`Column Level Lineage error`,description:t.response?.data.detail??e.message,type:`error`,closable:!0});return}}let[r,a,o]=await ss(_,{selectedNodes:e,cll:n});d(r),m(a),ce(o),j(n),re(r,A.view_mode??`changed_models`,A.column_level_lineage?.change_analysis??!1,!!A.column_level_lineage?.column,!!ge||!!k)})()},[_]);let Ee=()=>{_e(void 0)},De=async e=>{let t=u.find(t=>t.id===e);if(t){if(t.parentId){let e=t.parentId;t=u.find(t=>t.id===e)??t}if(t.measured!=null){let{width:e,height:n}=t.measured;if(e&&n){let r=t.position.x+e/2,i=t.position.y+n/2,o=a.getZoom();await a.setCenter(r,i,{zoom:o,duration:200})}}}},Oe=to();no(o,async()=>{N!==`selecting`&&(ge?await De(ge):await a.fitView({nodes:u,duration:200}))});let ke=async(e,t=!1)=>{let n=A.column_level_lineage;await Pe({...A,column_level_lineage:e},!1),t||ie.push(n),e?.node_id?_e(e.node_id):_e(void 0)},Ae=async e=>{if(e){if(ie.length===0)return;let e=ie.pop();e?await ke(e,!0):await ke(void 0,!0)}else await ke(void 0,!0)},je=(e,t)=>{N||ke({node_id:t.data.node.id,column:t.data.column})},Me=(t,n)=>{if(e&&_){if(xt(n)){je(t,n);return}if(Te(),!N)_e(n.id);else if(N===`action_result`){let e=Se.actionState.actions[n.id];e.run?.run_id&&T(e.run.run_id),_e(n.id)}else{let e=new Set(ye);ye.has(n.id)?e.delete(n.id):e.add(n.id),be(e),e.size===0&&ve(void 0)}}},Ne=async e=>{let{viewOptions:t=A}=e,{fitView:n}=e,r;if(!_)return;if(A.select!==t.select||A.exclude!==t.exclude||A.packages!==t.packages||A.view_mode!==t.view_mode){try{let e=await qe({select:t.select,exclude:t.exclude,packages:t.packages,view_mode:t.view_mode},i);t={...t,column_level_lineage:void 0},r=e.nodes}catch(e){if(e instanceof Cn){let t=e;Rt.create({title:`Select node error`,description:t.response?.data.detail??e.message,type:`error`,closable:!0})}return}_e(void 0)}else r=u.map(e=>e.id);let o;if(t.column_level_lineage)try{o=await oe.mutateAsync(t.column_level_lineage)}catch(e){if(e instanceof Cn){let t=e;Rt.create({title:`Column Level Lineage error`,description:t.response?.data.detail??e.message,type:`error`,closable:!0});return}}let[s,c,l]=await ss(_,{selectedNodes:r,cll:o});d(s),m(c),ce(l),j(o),re(s,t.view_mode??`changed_models`,t.column_level_lineage?.change_analysis??!1,!!t.column_level_lineage?.column,!!ge||!!k),k&&(Je(k)||He(k)||Xe(k)||Fe(k)||Be(k))&&k.params?.model&&!ue(k.params.model)&&E(),n&&(await new Promise(e=>setTimeout(e,1)),a.fitView({nodes:s,duration:200}))},Pe=async(e,t=!0)=>{ne(e),await Ne({viewOptions:e,fitView:t})},Ie=co();R(()=>{let t=k?.type;if(e&&te&&!(!t||[`query_diff`,`query`,`row_count`].includes(t))&&!N){let e;(Je(k)||He(k)||Xe(k)||Fe(k)||Be(k))&&(e=k.params?.model);let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window});if(e){let n=ue(e);n?ft(n)&&M!==n.data.data&&Me(t,n):Pe({...A,view_mode:`all`})}else Ee()}},[k,A,te,N,ue,M,e]);let Le=(e,t=1e3)=>{N===`action_result`||_===void 0||(N||(ve(`selecting`),Se.reset(),A.column_level_lineage&&Pe({...A,column_level_lineage:void 0})),be(gt(ye,yt(_,[e],t))))},Re=(e,t=1e3)=>{N===`action_result`||_===void 0||(N||(ve(`selecting`),Se.reset(),A.column_level_lineage&&Pe({...A,column_level_lineage:void 0})),be(gt(ye,vt(_,[e],t))))},ze=(t,n)=>{if(!e||N===`action_result`)return;t.preventDefault();let r=l.current,i=r.getBoundingClientRect(),a=t.clientX-i.left,o=t.clientY-i.top+r.offsetTop;we.showContextMenu(a,o,n)},Ue=e=>{if(N){if(N===`selecting`){let t=new Set(ye);ye.has(e)?t.delete(e):t.add(e),be(t),t.size===0&&ve(void 0)}}else{if(!_)return;be(new Set([e])),ve(`selecting`),_e(void 0),Se.reset()}},We=()=>{ve(void 0),be(new Set),_e(void 0),E(),x?.()},Ge={interactive:e,nodes:u,focusedNode:M,selectedNodes:xe,viewOptions:A,showContextMenu:ze,onViewOptionsChanged:Pe,selectMode:N,selectNode:Ue,selectParentNodes:Le,selectChildNodes:Re,deselect:We,isNodeHighlighted:e=>Ce.has(e),isNodeSelected:e=>ye.has(e),isEdgeHighlighted:(e,t)=>ae?e in ae.current.parent_map?t in ae.current.parent_map[e]:!1:Ce.has(e)&&Ce.has(t),isNodeShowingChangeAnalysis:e=>{if(!_)return!1;let t=e in _.nodes?_.nodes[e]:void 0;if(A.column_level_lineage?.change_analysis){let n=A.column_level_lineage;return n.node_id&&!n.column?n.node_id===e&&!!t?.data.changeStatus:!!t?.data.changeStatus}return!1},getNodeAction:e=>Se.actionState.actions[e],getNodeColumnSet:e=>e in se?new Set(se[e]):new Set,runRowCount:async()=>{N===`selecting`?(await Se.runRowCount(),rn({type:`row_count`,selected:`multi`})):M?(D(`row_count`,{node_names:[M.data.name]},{showForm:!1,showLast:!1}),rn({type:`row_count`,selected:`single`})):(D(`row_count`,{select:A.select,exclude:A.exclude,packages:A.packages,view_mode:A.view_mode}),rn({type:`row_count`,selected:`none`}))},runRowCountDiff:async()=>{N===`selecting`?(await Se.runRowCountDiff(),rn({type:`row_count_diff`,selected:`multi`})):M?(D(`row_count_diff`,{node_names:[M.data.name]},{showForm:!1,showLast:!1}),rn({type:`row_count_diff`,selected:`single`})):(D(`row_count_diff`,{select:A.select,exclude:A.exclude,packages:A.packages,view_mode:A.view_mode}),rn({type:`row_count_diff`,selected:`none`}))},runValueDiff:async()=>{if(M)D(`value_diff`,{model:M.data.name},{showForm:!0,showLast:!1}),rn({type:`value_diff`,selected:`single`});else{let e=N===`selecting`?xe.length:pe.length;await Ie.confirm(e)&&(await Se.runValueDiff(),rn({type:`value_diff`,selected:N===`selecting`?`multi`:`none`}))}},addLineageDiffCheck:async()=>{let e;N===`selecting`?(e=await Se.addLineageDiffCheck(),We(),rn({type:`lineage_diff`,selected:`multi`})):M||(e=await nt(A,i),rn({type:`lineage_diff`,selected:`none`})),e&&Oe(e)},addSchemaDiffCheck:async()=>{let e;N===`selecting`?xe.length>0&&(e=await Se.addSchemaDiffCheck(),We(),rn({type:`schema_diff`,selected:`multi`})):M?(e=await Ve({node_id:M.id},i),rn({type:`schema_diff`,selected:`single`})):(e=await Ve({select:A.select,exclude:A.exclude,packages:A.packages,view_mode:A.view_mode},i),rn({type:`schema_diff`,selected:`none`})),e&&Oe(e)},cancel:Se.cancel,actionState:Se.actionState,centerNode:De,cll:ae,showColumnLevelLineage:ke,resetColumnLevelLineage:Ae};return y?H(Ws,{}):b?H(Gs,{error:b,onRetry:v}):!_||u==Wa?H(V,{}):fe===`changed_models`&&!_.modifiedSet.length?H(Ks,{viewOptions:A,onViewOptionsChanged:Pe}):U(at.Provider,{value:Ge,children:[U(O,{sizes:M?[70,30]:[100,0],minSize:M?400:0,gutterSize:M?5:0,style:{height:`100%`,width:`100%`},children:[U(K,{ref:o,divider:H(Jn,{sx:{borderColor:`grey.200`}}),spacing:0,sx:{contain:`strict`,position:`relative`},children:[e&&U(V,{children:[H(ac,{}),S.mode===`metadata only`&&H(Vs,{})]}),U(jr,{proOptions:{hideAttribution:!0},nodeTypes:Ha,edgeTypes:Ua,nodes:u,edges:p,onNodesChange:f,onEdgesChange:h,onNodeClick:Me,onNodeContextMenu:ze,onClick:Te,onInit:async()=>{if(de)await a.fitView();else{let e=Pr(u,{});await a.setCenter(e.x+e.width/2,e.y+e.height/2,{zoom:1})}},maxZoom:1,minZoom:.1,nodesDraggable:e,ref:l,colorMode:r?`dark`:`light`,children:[H(Cr,{id:`lineage-bg`,variant:wr.Dots,color:r?Et.neutral[700]:Et.neutral[300],gap:20,size:2}),H(Dr,{showInteractive:!1,position:`top-right`,className:ee,style:{backgroundColor:r?Et.neutral[700]:void 0,borderColor:r?Et.neutral[600]:void 0},children:H(Er,{title:`copy image`,onClick:async()=>{await s(),en({type:fe,from:`lineage_view`})},style:{backgroundColor:r?Et.neutral[700]:void 0,color:r?Et.neutral[200]:void 0},children:H(W,{component:xi})})}),H(c,{}),H(kr,{position:`bottom-left`,children:U(K,{spacing:`5px`,children:[de&&H(me,{variant:`changeStatus`}),A.column_level_lineage&&H(me,{variant:`transformation`})]})}),H(kr,{position:`top-center`,children:H(lo,{notification:C?H(Us,{}):null,type:`info`})}),H(kr,{position:`top-left`,children:U(K,{spacing:`5px`,children:[H(fa,{action:oe}),u.length==0&&H(q,{sx:{fontSize:`1.25rem`,color:`grey`,opacity:.5},children:`No nodes`})]})}),H(Or,{nodeColor:Ga,nodeStrokeWidth:3,zoomable:!0,pannable:!0,bgColor:r?Et.neutral[800]:void 0,maskColor:r?`${Et.neutral[900]}99`:`${Et.neutral[100]}99`}),N===`action_result`&&H(kr,{position:`bottom-center`,className:ee,children:H(da,{onClose:()=>{We()}})})]}),H(fo,{...we.props})]}),M?H(W,{sx:{borderLeft:`solid 1px`,borderColor:`divider`,height:`100%`},children:H(zs,{node:M,onCloseNode:Ee})}):H(W,{})]}),Ie.AlertDialog]})}const sc=Dn(oc);function cc(){return H(Mr,{children:H(sc,{interactive:!0})})}function lc(){let{apiClient:e}=g(),{data:t,isLoading:n,error:r}=xn({queryKey:P.user(),queryFn:()=>Jt(e),retry:!1}),{data:i}=xn({queryKey:[`github-avatar`,t?.id],queryFn:()=>t?Yt(t.id):Promise.resolve(null),enabled:!!t?.id&&t.login_type===`github`,retry:!1,staleTime:300*1e3}),[a,o]=B(null),s=!!a,c=e=>{o(e.currentTarget)},l=()=>{o(null)},u=!n&&!r&&t;return U(V,{children:[n?H(W,{onClick:c,sx:{width:32,height:32,borderRadius:`50%`,bgcolor:`background.paper`,color:`primary.main`,display:`flex`,alignItems:`center`,justifyContent:`center`,cursor:`pointer`},children:H(Yn,{size:16})}):H(ni,{onClick:c,src:i||void 0,sx:{width:28,height:28,cursor:`pointer`,outline:`1px solid white`,fontSize:`0.875rem`},children:(e=>e?e.charAt(0).toUpperCase():`U`)(t?.login)}),U(Hr,{anchorEl:a,open:s,onClose:l,slotProps:{paper:{sx:{bgcolor:`background.paper`,borderColor:`divider`,boxShadow:3,minWidth:180}}},children:[U(W,{sx:{px:2,py:1.5},children:[n&&U(W,{sx:{display:`flex`,alignItems:`center`,gap:1},children:[H(q,{variant:`body2`,color:`text.primary`,children:`Loading...`}),H(Yn,{size:16})]}),r&&H(q,{variant:`caption`,color:`error`,children:`Failed to load user information`}),u&&U(V,{children:[H(q,{variant:`body2`,fontWeight:`600`,color:`text.primary`,children:t.login}),t.email&&H(q,{variant:`caption`,color:`text.secondary`,children:t.email})]})]}),H(Jn,{}),U(Ur,{onClick:()=>{window.open(`https://cloud.datarecce.io/`,`_blank`),l()},children:[H(vi,{children:H(Xn,{})}),H(yi,{children:`Recce Cloud`})]}),U(Ur,{onClick:()=>{window.open(Xt,`_blank`),l()},children:[H(vi,{children:H(nr,{})}),H(yi,{children:`Get live support`})]})]})]})}const uc=()=>{let{setTheme:e,resolvedTheme:t}=Hn(),[n,r]=B(!1);R(()=>{r(!0)},[]);let i=()=>{e(t===`dark`?`light`:`dark`)};if(!n)return H(J,{size:`small`,sx:{color:`rgba(255, 255, 255, 0.8)`,"&:hover":{bgcolor:`rgba(255, 255, 255, 0.1)`}},disabled:!0,children:H(vr,{style:{width:18,height:18}})});let a=t===`dark`;return H(Y,{title:a?`Switch to light mode`:`Switch to dark mode`,children:H(J,{size:`small`,onClick:i,sx:{color:`rgba(255, 255, 255, 0.8)`,"&:hover":{bgcolor:`rgba(255, 255, 255, 0.1)`}},"aria-label":a?`Switch to light mode`:`Switch to dark mode`,children:H(a?vr:fr,{style:{width:18,height:18}})})})};function dc(e,t,n,r){let i=e?.git,a=e?.pullRequest,o=e?.dbt?.base,s=e?.dbt?.current,c={review_mode:t||!1,adapter_type:e?.adapterType||null,has_git_info:!Wr(i),has_pr_info:!Wr(a)};return e?.adapterType===`dbt`&&(c.base={schema_count:n.size,dbt_version:o?.dbt_version||null,timestamp:o?.generated_at||null},c.current={schema_count:r.size,dbt_version:s?.dbt_version||null,timestamp:s?.generated_at||null},c.schemas_match=n.size===r.size&&Array.from(n).every(e=>r.has(e))),e?.adapterType===`sqlmesh`&&(c.base={has_env:!!e.sqlmesh?.base_env},c.current={has_env:!!e.sqlmesh?.current_env}),c}function fc(e){return Object.values(e).every(e=>e===null)?[H(W,{sx:{ml:`10px`},children:`No information`},`no info`)]:Object.entries(e).filter(([e,t])=>e!==`url`&&t!=null).map(([e,t])=>U(`li`,{style:{marginLeft:`10px`},children:[e,`: `,t]},e))}function pc(){let{envInfo:e,reviewMode:t,lineageGraph:n}=F(),[r,i]=B(!1),a=e?.git,o=e?.pullRequest,s={...a,...o},c=e?.dbt?.base,l=e?.dbt?.current,u=c?.generated_at?zt(c.generated_at):``,d=l?.generated_at?zt(l.generated_at):``,f=``,p=``;c&&(f=c.generated_at?Vt(c.generated_at):``),l&&(p=l.generated_at?Vt(l.generated_at):``);let[m,h]=Kt(n),g=z(!1);R(()=>{!g.current&&e&&(g.current=!0,on(dc(e,t,m,h)))},[e,t,m,h]);let _=()=>i(!0),v=()=>i(!1);return U(V,{children:[H(Y,{title:`Environment Info`,placement:`bottom-end`,children:U(W,{sx:{display:`flex`,alignItems:`center`,cursor:`pointer`,"&:hover":{color:`text.primary`}},onClick:_,children:[U(K,{direction:`column`,sx:{display:{xs:`none`,lg:`flex`},fontSize:`0.875rem`},children:[U(W,{sx:{display:`flex`,gap:.5},children:[H(q,{component:`span`,noWrap:!0,sx:{color:`warning.main`,maxWidth:128},className:`no-track-pii-safe`,children:Array.from(m).join(`, `)}),` `,`(`,f,`)`]}),U(W,{sx:{display:`flex`,gap:.5},children:[H(q,{component:`span`,noWrap:!0,sx:{color:`primary.main`,maxWidth:128},className:`no-track-pii-safe`,children:Array.from(h).join(`, `)}),` `,`(`,p,`)`]})]}),H(J,{size:`small`,"aria-label":`Environment Info`,children:H(W,{component:ur,sx:{fontSize:16,verticalAlign:`middle`}})})]})}),U(Nn,{open:r,onClose:v,maxWidth:`sm`,fullWidth:!0,children:[U(In,{sx:{display:`flex`,alignItems:`center`},children:[`Environment Information`,H(W,{sx:{flexGrow:1}}),H(J,{size:`small`,onClick:v,children:H(Gn,{})})]}),H(Fn,{children:U(K,{direction:`column`,spacing:1,children:[t?U(K,{direction:`column`,spacing:.5,children:[H(q,{variant:`h6`,sx:{fontSize:`1rem`},children:`Review Information`}),U(`ul`,{style:{margin:0,paddingLeft:`20px`},children:[s.url&&U(`li`,{style:{marginLeft:`10px`},children:[`url:`,` `,U(Ln,{href:s.url,target:`_blank`,sx:{color:`primary.main`},children:[s.url,` `,H(Rn,{})]})]}),!Wr(s)&&fc(s)]})]}):U(K,{direction:`column`,spacing:.5,children:[H(q,{variant:`h6`,sx:{fontSize:`1rem`},children:`Dev Information`}),H(`ul`,{style:{margin:0,paddingLeft:`20px`},children:a&&fc(a)})]}),H(Jn,{}),e?.adapterType===`dbt`&&U(K,{direction:`column`,spacing:.5,children:[H(q,{variant:`h6`,sx:{fontSize:`1rem`},children:`DBT`}),H(Vi,{sx:{border:1,borderColor:`divider`,maxHeight:`30rem`},children:U(Ri,{size:`small`,stickyHeader:!0,children:[H(Hi,{children:U(Ui,{children:[H(Bi,{}),H(Bi,{children:`base`}),H(Bi,{children:`current`})]})}),U(zi,{children:[U(Ui,{children:[H(Bi,{children:`schema`}),H(Bi,{className:`no-track-pii-safe`,children:Array.from(m).map(e=>H(Y,{title:e,placement:`bottom`,children:H(`div`,{className:`max-w-72 truncate`,children:e})},e))}),H(Bi,{className:`no-track-pii-safe`,children:Array.from(h).map(e=>H(Y,{title:e,placement:`bottom`,children:H(`div`,{className:`max-w-72 truncate`,children:e})},e))})]}),U(Ui,{children:[H(Bi,{children:`version`}),H(Bi,{children:c?.dbt_version}),H(Bi,{children:l?.dbt_version})]}),U(Ui,{children:[H(Bi,{children:`timestamp`}),H(Bi,{children:u}),H(Bi,{children:d})]})]})]})})]}),e?.adapterType===`sqlmesh`&&U(K,{direction:`column`,spacing:.5,children:[H(q,{variant:`h6`,sx:{fontSize:`1rem`},children:`SQLMesh`}),H(Vi,{sx:{border:1,borderColor:`divider`,maxHeight:`30rem`},children:U(Ri,{stickyHeader:!0,children:[H(Hi,{children:U(Ui,{children:[H(Bi,{}),H(Bi,{children:`base`}),H(Bi,{children:`current`})]})}),H(zi,{children:U(Ui,{children:[H(Bi,{children:`Environment`}),H(Bi,{className:`no-track-pii-safe`,children:e.sqlmesh?.base_env}),H(Bi,{className:`no-track-pii-safe`,children:e.sqlmesh?.current_env})]})})]})})]})]})}),H(Pn,{children:H(G,{color:`iochmara`,onClick:v,children:`Close`})})]})]})}const mc=()=>({toastSuccess:e=>{Rt.create({description:e,type:`success`,duration:5e3,closable:!0})},toastError:(e,t)=>{let n=e;t!=null&&(n=wn(t)?`${e}. ${String(t.response?.data?.detail)}`:`${e}. ${t}`),Rt.create({description:n,type:`error`,duration:5e3,closable:!0})}}),hc=e=>{R(()=>{let t=e=>{e.preventDefault()};return e&&window.addEventListener(`beforeunload`,t),()=>{e&&window.removeEventListener(`beforeunload`,t)}},[e])},gc=()=>{let{featureToggles:e}=dt(),{fileName:t,cloudMode:n,isDemoSite:r,envInfo:i}=F(),{apiClient:a}=g(),[o,s]=B(!1),[c,l]=B(!1),u=!t&&!n&&!r,{data:d}=je(u),p=d!=null&&d.filter(e=>!e.is_preset).length>0;hc(u&&p);let[{newFileName:m,errorMessage:h,modified:_,overwriteWithMethod:v,bypass:y},b]=B({newFileName:t??`recce_state.json`,bypass:!1}),x=z(null),{toastSuccess:S,toastError:C}=mc(),w=Sn(),T=()=>{b({newFileName:t??`recce_state.json`,modified:!t,bypass:!1}),s(!0)},E=()=>s(!1),D=()=>l(!1),O=async(e,t)=>{if(!m)return;let n=localStorage.getItem(Ie.bypassSaveOverwrite)===`true`;try{e===`save`?await Re({filename:m,overwrite:t??n},a):await et({filename:m,overwrite:t??n},a),S(e===`save`?`Save file successfully`:`Rename file successfully`),await w.invalidateQueries({queryKey:P.lineage()}),y&&localStorage.setItem(Ie.bypassSaveOverwrite,`true`)}catch(t){if(wn(t)&&t.response?.status===409){b(t=>({...t,overwriteWithMethod:e})),l(!0);return}C(e===`save`?`Save file failed`:`Rename file failed`,t)}finally{E()}},ee=()=>{D(),s(!0),b(e=>({...e,overwriteWithMethod:void 0}))};if(n||r)return H(V,{});let te=`New Instance`+(p?` (unsaved)`:``),k;if(e.disableSaveToFile&&t){let e=i?.stateMetadata?.generated_at,n=e?f(new Date(e)):null;k=n?`${t} (${n})`:null}return U(V,{children:[U(K,{direction:`row`,alignItems:`center`,justifyContent:`center`,children:[H(W,{sx:{fontWeight:600},children:k??t??te}),!e.disableSaveToFile&&H(Y,{title:t?`Change Filename`:`Save`,enterDelay:1e3,children:H(J,{onClick:T,"aria-label":t?`Change Filename`:`Save`,size:`small`,children:H(W,{component:t?mr:zn,sx:{fontSize:16,verticalAlign:`middle`}})})})]}),U(Nn,{open:o,onClose:E,children:[U(In,{sx:{display:`flex`,alignItems:`center`},children:[t?`Change Filename`:`Save File`,H(W,{sx:{flexGrow:1}}),H(J,{size:`small`,onClick:E,children:H(Gn,{})})]}),H(Fn,{onKeyDown:e=>{e.stopPropagation()},children:H(Zr,{inputRef:x,value:m,label:`File name`,placeholder:`Enter filename`,error:!!h,helperText:h,fullWidth:!0,size:`small`,sx:{mt:1},onChange:e=>{let n=e.target.value,r;n?n.endsWith(`.json`)?/^[a-zA-Z0-9 _-]+\.json$/.test(n)?t&&n===t&&(r=`Filename is the same as the current one.`):r=`Invalid filename. Only alphanumeric, space, _ and - are allowed.`:r=`Filename must end with .json.`:r=`Filename cannot be empty.`,b(e=>({...e,modified:!0,newFileName:n,errorMessage:r}))},onKeyDown:e=>{if(e.key===`Enter`){if(h)return;O(t?`rename`:`save`)}else e.key===`Escape`&&E()}})}),U(Pn,{sx:{gap:`5px`},children:[H(G,{size:`small`,color:t?`inherit`:`iochmara`,variant:`contained`,onClick:async()=>{await O(`save`)},disabled:!m||!!h||!_,children:t?`Save as New File`:`Confirm`}),t&&H(G,{size:`small`,color:`iochmara`,variant:`contained`,onClick:async()=>{await O(`rename`)},disabled:!m||!!h||!_,children:`Rename`})]})]}),U(Nn,{open:c,onClose:D,children:[U(In,{sx:{display:`flex`,alignItems:`center`},children:[`Overwrite File?`,H(W,{sx:{flexGrow:1}}),H(J,{size:`small`,onClick:D,children:H(Gn,{})})]}),U(Fn,{sx:{borderTop:`solid 1px`,borderBottom:`solid 1px`,borderColor:`divider`},onKeyDown:e=>{e.stopPropagation()},children:[H(q,{sx:{fontSize:`12pt`},children:v===`save`?`Saving a file with this name will overwrite the existing file. Are you sure you wish to continue?`:`Renaming the file with this name will overwrite the existing file. Are you sure you wish to continue?`}),H(Vr,{control:H(Br,{size:`small`,checked:y,onChange:e=>{b(t=>({...t,bypass:e.target.checked}))}}),label:H(q,{sx:{fontWeight:`bold`,pt:`8px`},children:`Don't show this again`})})]}),U(Pn,{sx:{gap:`5px`},children:[H(G,{variant:`outlined`,onClick:ee,size:`small`,children:`Back`}),H(G,{size:`small`,color:`iochmara`,variant:`contained`,onClick:()=>{v&&(O(v,!0),D())},children:`Overwrite`})]})]})]})};function _c(){let{featureToggles:e}=dt(),{apiClient:t}=g(),n=async()=>{try{let e=await $e(t),n=JSON.stringify(e,null,2);zr(new Blob([n],{type:`application/json`}),`recce-state-${ii(new Date,`yyyy-MM-dd-HH-mm-ss`)}.json`)}catch(e){console.error(`Export failed`,e),Rt.create({title:`Export failed`,description:String(e),type:`error`,duration:5e3,closable:!0})}};return H(Y,{title:`Export`,children:H(J,{size:`small`,"aria-label":`Export state`,onClick:async()=>{await n(),Zt({name:`export`})},disabled:e.disableExportStateFile,children:H(W,{component:lr,sx:{verticalAlign:`middle`,width:`16px`,height:`16px`}})})})}const vc=[`Processing...`,`Still processing, please wait...`,`Almost there, thanks for your patience...`];function yc(){let{successToast:e,failToast:t}=Lt(),[,n]=ui(),{authed:r}=dt(),{shareUrl:i,isLoading:a,error:o,handleShareClick:s}=x(),[c,l]=B(!1),[u,d]=B(0),[f,p]=B(a);a!==f&&(p(a),a&&d(0)),di(()=>{d(e=>Math.min(e+1,vc.length-1))},a?3e4:null),R(()=>{o&&t(`Failed to share state`,o)},[o,t]);let m=async()=>{try{await n(String(i)),e(`Copied the link to clipboard`)}catch(e){t(`Failed to copy the link`,e)}};return r?U(K,{direction:`row`,sx:{flex:1,alignItems:`center`,gap:`5px`},children:[H(G,{size:`xsmall`,variant:`outlined`,color:`neutral`,startIcon:H(gi,{}),endIcon:i?H(W,{component:or,sx:{color:`success.main`}}):void 0,onClick:async()=>{await s(),$t({name:`create`})},disabled:a,children:a?`Sharing...`:`Share`}),a&&H(q,{sx:{fontSize:14,color:`grey.500`},children:vc[u]}),H(K,{direction:`row`,spacing:.5,alignItems:`center`,children:i&&U(V,{children:[H(W,{sx:{overflowX:`auto`,whiteSpace:`nowrap`,maxWidth:`350px`},children:H(q,{sx:{fontSize:14},children:i})}),H(J,{size:`small`,"aria-label":`Copy the share URL`,onClick:async()=>{await m(),$t({name:`copy`})},children:H(cr,{})})]})})]}):U(K,{direction:`row`,sx:{flex:1,alignItems:`center`},children:[H(G,{size:`xsmall`,color:`neutral`,variant:`outlined`,onClick:()=>{l(!0)},startIcon:H(gi,{}),children:`Share`}),c&&H(ge,{parentOpen:c,handleParentClose:l,ignoreCookie:!0,variant:`enable-share`})]})}function bc(e){return/^\/checks\/([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/.test(e)}function xc(){return H(Y,{title:`Syncing`,children:H(W,{sx:{mx:`10px`},children:H(Yn,{size:20})})})}function Sc(){let[e,t]=B(!1),n=Sn(),{apiClient:r}=g(),i=pi(),a=fi(),{basePath:o}=ot(),[s,c]=B(!1),[l,u]=B(``),{data:d}=Ct(),f=()=>c(!1),p=L(async e=>{if(c(!1),t(!0),(await Qe(e,r)).status===`conflict`){c(!0),t(!1);return}for(;await Ge(r);)await new Promise(e=>setTimeout(e,1e3));Rt.create({description:`Sync Completed`,type:`success`,duration:5e3,closable:!0}),t(!1),u(``),await n.invalidateQueries({queryKey:P.lineage()}),await n.invalidateQueries({queryKey:P.checks()}),await n.invalidateQueries({queryKey:P.runs()}),bc(a)&&i.push(`${o}/checks`)},[n,a,r,i.push,o]);return e?H(xc,{}):U(V,{children:[H(Y,{title:`Sync with Cloud`,children:H(J,{size:`small`,"aria-label":`Sync state`,onClick:()=>p(d?.session_id?{method:`merge`}:{}),children:H(W,{component:Kn,sx:{fontSize:16,verticalAlign:`middle`}})})}),U(Nn,{open:s,onClose:f,children:[U(In,{sx:{display:`flex`,alignItems:`center`,fontWeight:`bold`},children:[`Sync with Cloud`,H(W,{sx:{flexGrow:1}}),H(J,{size:`small`,onClick:f,children:H(Gn,{})})]}),U(Fn,{children:[H(q,{children:`New changes have been detected in the cloud. Please choose a method to sync your state`}),H(W,{sx:{mt:`5px`},children:H(Li,{value:l,onChange:e=>{u(e.target.value)},children:U(K,{direction:`column`,children:[H(Vr,{value:`merge`,control:H(Ii,{}),label:U(K,{direction:`row`,alignItems:`center`,children:[`Merge`,H(Y,{title:`This will merge the local and remote states.`,children:H(W,{component:ur,sx:{ml:2,cursor:`pointer`}})})]})}),H(Vr,{value:`overwrite`,control:H(Ii,{}),label:U(K,{direction:`row`,alignItems:`center`,children:[`Overwrite`,H(Y,{title:`This will overwrite the remote state file with the local state.`,children:H(W,{component:ur,sx:{ml:2,cursor:`pointer`}})})]})}),H(Vr,{value:`revert`,control:H(Ii,{}),label:U(K,{direction:`row`,alignItems:`center`,children:[`Revert`,H(Y,{title:`This will discard local changes and revert to the cloud state.`,children:H(W,{component:ur,sx:{ml:2,cursor:`pointer`}})})]})})]})})})]}),U(Pn,{children:[H(G,{onClick:f,sx:{mr:1},children:`Cancel`}),H(G,{color:`iochmara`,variant:`contained`,onClick:()=>p({method:l||void 0}),disabled:!l,children:`Sync`})]})]})]})}const Cc=[{path:`/lineage`,name:`Lineage`},{path:`/query`,name:`Query`},{path:`/checks`,name:`Checklist`}];function wc({queryKey:e,fetchCallback:t,selectCallback:n}){let{data:r,isLoading:i,error:a}=xn({queryKey:e,queryFn:t,select:n});return i||a||r===0?H(V,{}):H(W,{bgcolor:`brand.main`,display:`flex`,justifyContent:`center`,alignItems:`center`,p:1,borderRadius:`100%`,color:`white`,fontWeight:700,fontSize:`0.75rem`,children:H(`span`,{children:r})})}function Tc(){let{apiClient:e}=g();return H(wc,{queryKey:P.checks(),fetchCallback:()=>We(e),selectCallback:e=>e.filter(e=>!e.is_checked).length})}const Ec=()=>{let e=fi(),{isDemoSite:t,isLoading:n,cloudMode:r}=F(),{featureToggles:i}=dt(),{data:a,isLoading:o}=ct(),s=z(null);return R(()=>{s.current&&s.current!==e&&Qt({from:s.current,to:e}),s.current=e},[e]),H(W,{sx:{borderBottom:`1px solid lightgray`,px:`12px`},children:U(W,{sx:{display:`grid`,gridTemplateColumns:`1fr auto 1fr`,width:`100%`,alignItems:`center`},children:[H($r,{value:Mn(()=>e.startsWith(`/checks`)?`/checks`:e.startsWith(`/query`)?`/query`:e.startsWith(`/runs`)?`/runs`:`/lineage`,[e]),sx:{borderBottom:`none`,minHeight:`auto`},children:Cc.map(({path:e,name:t})=>t===`Query`&&a?.single_env_onboarding?null:t===`Checklist`&&Tc?H(Qr,{value:e,disabled:n||o,sx:{p:0},label:H(W,{sx:{display:`flex`,alignItems:`center`,gap:`4px`},children:U(Un,{href:e,style:{textDecoration:`none`,color:`inherit`,padding:`0.875rem 1.1875rem`,display:`flex`,gap:3,alignItems:`center`},children:[t,` `,H(Tc,{})]})})},e):H(Qr,{value:e,disabled:n||o,sx:{p:0},label:H(W,{sx:{display:`flex`,alignItems:`center`,gap:`4px`},children:H(Un,{href:e,style:{textDecoration:`none`,color:`inherit`,padding:`0.875rem 1.1875rem`},children:t})})},e))}),U(W,{sx:{display:`flex`,alignItems:`center`,gap:`12px`,justifyContent:`center`},children:[!n&&!t&&H(gc,{}),!n&&!t&&!a?.single_env_onboarding&&!i.disableShare&&H(yc,{})]}),!n&&U(W,{sx:{display:`flex`,justifyContent:`right`,alignItems:`center`,mr:`8px`},children:[H(pc,{}),r&&H(Sc,{}),H(_c,{})]})]})})};function Dc(){let{remainingSeconds:e,isEnabled:t}=mt();return!t||e===null||e>60?null:U(Wi,{color:`warning`,variant:`standard`,sx:{display:`flex`,alignItems:`center`,gap:1,fontSize:`0.75rem`,mr:2},children:[H(W,{component:qn,sx:{display:`inline-flex`}}),`Idle timeout: `,Gt(e,`compact`)]})}const Oc=()=>{let{version:e,latestVersion:t}=Ye(),n=Mn(()=>RegExp(`^\\d+\\.\\d+\\.\\d+$`),[]);return R(()=>{if(n.test(e)&&e!==t){let e=`recce-update-toast-shown`;if(sessionStorage.getItem(e))return;setTimeout(()=>{Rt.create({id:`recce-update-available`,title:`Update available`,description:U(`span`,{children:[`A new version of Recce (v`,t,`) is available.`,H(`br`,{}),`Please run`,` `,H(W,{component:`code`,sx:{bgcolor:`grey.200`,px:.5,py:.25,borderRadius:.5,fontFamily:`monospace`,fontSize:`0.875em`},children:`pip install --upgrade recce`}),` `,`to update Recce.`,H(`br`,{}),H(Ln,{sx:{color:`primary.main`,fontWeight:`bold`,"&:hover":{textDecoration:`underline`}},href:`https://github.com/DataRecce/recce/releases/tag/v${t}`,target:`_blank`,children:`Click here to view the detail of latest release`})]}),duration:60*1e3,closable:!0}),sessionStorage.setItem(e,`true`)},0)}},[e,t,n]),n.test(e)?H(Ln,{href:`https://github.com/DataRecce/recce/releases/tag/v${e}`,sx:{"&:hover":{textDecoration:`none`},fontSize:`sm`,color:`rgba(255,255,255,0.8)`,textTransform:`uppercase`,borderWidth:1,px:1,borderRadius:.75},target:`_blank`,children:e}):H(q,{component:`span`,sx:{fontSize:`sm`,color:`rgba(255,255,255,0.8)`,textTransform:`uppercase`,borderWidth:1,px:1,borderRadius:.75},children:e})};function kc({icon:e,href:t,sx:n,...r}){let i=Vn();return H(Ln,{sx:{height:`20px`,color:`common.white`,...n},href:t,target:`_blank`,...r,children:H(e,{style:{color:i.palette.common.white,width:20,height:20}})})}const Ac=()=>{let{reviewMode:e,isDemoSite:t,envInfo:n,cloudMode:r}=F(),{featureToggles:i,authed:a}=dt(),{url:o,id:s}=n?.pullRequest??{},c=o?o.split(`/`).pop():null,l=r||a?`https://cloud.datarecce.io/`:`https://reccehq.com/`,[u,d]=B(!1);return U(W,{sx:{display:`flex`,gap:`10px`,minHeight:`40px`,alignItems:`center`,bgcolor:Et.brand[400]},children:[H(Ln,{href:l,target:`_blank`,sx:{"&:hover":{textDecoration:`none`}},children:U(W,{sx:{display:`flex`,gap:`10px`,alignItems:`center`},children:[H(W,{component:`img`,sx:{width:20,height:20,ml:`18px`},src:`/logo/recce-logo-white.png`,alt:`recce-logo-white`}),H(q,{variant:`h4`,sx:{fontFamily:`"Montserrat", sans-serif`,color:`common.white`,fontSize:`1.25rem`},children:`RECCE`})]})}),H(uc,{}),H(Oc,{}),(i.mode??e)&&H(Wi,{sx:{fontSize:`0.875rem`,color:`rgba(255,255,255,0.8)`,textTransform:`uppercase`,borderWidth:1,px:1,borderRadius:.75,borderColor:`rgba(255,255,255,0.8)`},children:i.mode??`review mode`}),r&&s&&H(Wi,{sx:{fontSize:`0.875rem`,color:`rgba(255,255,255,0.8)`,textTransform:`uppercase`,borderWidth:1,px:1,borderRadius:.75,borderColor:`rgba(255,255,255,0.8)`},children:U(K,{direction:`row`,spacing:1,alignItems:`center`,children:[H(W,{children:`cloud mode`}),H(W,{sx:{borderLeft:`1px solid rgba(255,255,255,0.8)`,pl:`8px`},children:U(Ln,{href:o,sx:{"&:hover":{textDecoration:`none`}},target:`_blank`,children:[H(qr,{style:{color:`rgba(255,255,255,0.8)`,width:12,height:12,marginRight:2,display:`inline`,verticalAlign:`middle`}}),H(q,{component:`span`,sx:{color:`rgba(255,255,255,0.8)`,display:`inline`},children:`#${String(s)}`})]})})]})}),t&&o&&c&&H(Wi,{sx:{fontSize:`0.875rem`,color:`rgba(255,255,255,0.8)`,textTransform:`uppercase`,borderWidth:1,px:1,borderRadius:.75,borderColor:`rgba(255,255,255,0.8)`},children:U(K,{direction:`row`,spacing:1,alignItems:`center`,children:[H(W,{children:`demo mode`}),H(W,{sx:{borderLeft:`1px solid rgba(255,255,255,0.8)`,pl:`8px`},children:U(Ln,{href:o,sx:{"&:hover":{textDecoration:`none`}},target:`_blank`,children:[H(qr,{style:{color:`rgba(255,255,255,0.8)`,width:12,height:12,marginRight:2,display:`inline`,verticalAlign:`middle`}}),H(q,{component:`span`,sx:{color:`rgba(255,255,255,0.8)`,display:`inline`},children:`#${c}`})]})})]})}),H(W,{sx:{flex:1}}),(t||i.mode===`read only`)&&U(V,{children:[H(kc,{icon:Qn,href:`https://github.com/DataRecce/recce`}),H(kc,{icon:tr,href:`https://getdbt.slack.com/archives/C05C28V7CPP`}),H(kc,{sx:{mr:2},icon:$n,href:`https://docs.datarecce.io`})]}),!t&&i.mode!==`read only`&&U(V,{children:[H(Dc,{}),a||r?H(W,{sx:{mr:2},children:H(lc,{})}):U(V,{children:[H(W,{component:`button`,sx:{color:`common.white`,fontSize:`0.875rem`,fontWeight:600,bgcolor:`brand.700`,borderRadius:1,px:3,py:1,mr:2,cursor:`pointer`,border:`none`},onClick:()=>{d(!0)},children:`Connect to Cloud`}),u&&H(ge,{parentOpen:u,handleParentClose:d,ignoreCookie:!0,variant:`user-profile`})]})]})]})};function jc(){return H(W,{sx:{display:`flex`,height:`100%`,alignItems:`center`,justifyContent:`center`,contain:`size`},children:H(W,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:`100%`},children:H(Yn,{size:48})})})}function Mc({children:e,lineage:t}){let n=fi(),{isDemoSite:r,isLoading:i,isCodespace:a}=F(),{featureToggles:o}=dt(),s=n.replace(/\/$/,``)||`/`,c=s===`/lineage`||s===`/`;return R(()=>{ln()},[]),U(W,{sx:{display:`flex`,flexDirection:`column`,height:`100vh`,overflow:`hidden`},children:[H(Ac,{}),H(Ec,{}),H(Nc,{isLineageRoute:c,lineage:t,children:e}),!i&&!r&&!a&&o.mode===null&&H(ge,{})]})}function Nc({children:e,lineage:t,isLineageRoute:n,disableInternalHistory:r=!1}){let{isRunResultOpen:a,isHistoryOpen:o,closeRunResult:c}=lt(),{basePath:l}=ot(),{data:u}=ct(),d=fi(),f=kt(),p=a&&!d.startsWith(`${l}/checks`),m=r?!1:o&&!d.startsWith(`${l}/checks`);return U(O,{sizes:[0,100],minSize:m?300:0,gutterSize:m?5:0,style:{height:`100%`},children:[H(W,{style:{contain:`size`},suppressHydrationWarning:!0,children:m&&H(s,{})}),U(se,{sizes:p?[50,50]:[100,0],minSize:p?100:0,gutterSize:p?5:0,style:{flex:`1`,contain:`size`},children:[H(Tn,{fallback:H(jc,{}),children:U(W,{sx:{p:0,contain:`content`,height:`100%`,position:`relative`},suppressHydrationWarning:!0,children:[H(W,{sx:{display:n?`block`:`none`,height:`100%`,position:n?`relative`:`absolute`,inset:0},children:t}),!n&&e]})}),H(W,{sx:{height:`100%`,bgcolor:f?`grey.900`:`grey.50`},suppressHydrationWarning:!0,children:p?H(i,{onClose:c,isSingleEnvironment:!!u?.single_env_onboarding}):null})]})]})}function Pc({children:e,display:t}){let[n,r]=B(!1),i=z(null),a=z(null),o=L(()=>{i.current&&=(clearTimeout(i.current),null),r(!0)},[]),s=L(()=>{i.current=setTimeout(()=>{r(!1)},100)},[]);return t?U(V,{children:[H(W,{ref:a,onMouseEnter:o,onMouseLeave:s,sx:{display:`contents`},children:e}),U(ri,{open:n,anchorEl:a.current,onClose:()=>r(!1),anchorOrigin:{vertical:`bottom`,horizontal:`left`},transformOrigin:{vertical:`top`,horizontal:`left`},disableAutoFocus:!0,disableEnforceFocus:!0,sx:{pointerEvents:`none`},slotProps:{paper:{onMouseEnter:o,onMouseLeave:s,sx:{bgcolor:`grey.600`,color:`white`,p:1.5,pointerEvents:`auto`}}},children:[`Connect to a data warehouse to unlock Diff.`,` `,H(Ln,{href:Xt,target:`_blank`,sx:{color:`white`,textDecoration:`underline`},children:`Learn more`}),`.`]})]}):e}function Fc({checksOnly:e=!0}){let t=kt(),{featureToggles:n}=dt(),r=Sn(),{apiClient:i}=g(),a=z(null),o=z(null),[s,c]=B(null),[l,u]=B(!1),d=pi(),f=fi(),{basePath:p}=ot(),[,m]=_t(),h=L(async()=>{if(s){try{let{runs:t,checks:n}=await Le(s,e,i);m?.(),await r.invalidateQueries({queryKey:P.checks()}),await r.invalidateQueries({queryKey:P.runs()}),f.includes(`/checks`)&&d.push(`${p}/checks`);let a=e?`${n} checks imported successfully`:`${t} runs and ${n} checks imported successfully`;Rt.create({description:a,type:`info`,duration:5e3,closable:!0})}catch(e){console.error(`Import failed`,e),Rt.create({title:`Import failed`,description:String(e),type:`error`,duration:5e3,closable:!0})}u(!1)}},[r,s,f,m,e,i,d.push,p]),_=()=>{a.current&&a.current.click()},v=e=>{e.target.files?.length===1&&(c(e.target.files[0]),u(!0)),a.current&&(a.current.value=``)},y=()=>u(!1),b=e?`checks`:`runs and checks`,{isDemoSite:x}=F();return U(V,{children:[H(Y,{title:`Import Checklist from State File`+(x?` (Disabled in the demo site)`:``),children:H(J,{sx:{pt:`6px`,color:t?`grey.300`:`grey.600`,"&:hover":{color:t?`grey.100`:`grey.800`},fontSize:20},"aria-label":`Import state`,onClick:()=>{_(),Zt({name:`import`})},disabled:n.disableImportStateFile||x,children:H(ji,{})})}),H(`input`,{type:`file`,style:{display:`none`},ref:a,onChange:v}),U(Nn,{open:l,onClose:y,maxWidth:`sm`,fullWidth:!0,"aria-labelledby":`import-dialog-title`,children:[U(In,{id:`import-dialog-title`,sx:{display:`flex`,alignItems:`center`,fontWeight:`bold`},children:[`Import state`,H(W,{sx:{flexGrow:1}}),H(J,{size:`small`,onClick:y,children:H(Gn,{})})]}),H(Fn,{children:U(K,{direction:`column`,spacing:1,sx:{px:`5px`,borderRadius:1},children:[U(K,{direction:`row`,alignItems:`center`,spacing:.5,children:[H(W,{component:ur,sx:{color:`error.main`}}),H(q,{component:`span`,sx:{fontWeight:500,color:`error.main`},children:`Caution!`})]}),U(q,{children:[`The current `,b,` will be`,` `,H(q,{component:`span`,sx:{fontWeight:600},children:`merged`}),` `,`with the imported state`]})]})}),U(Pn,{children:[H(G,{ref:o,onClick:y,children:`Cancel`}),H(G,{color:`iochmara`,variant:`contained`,onClick:h,sx:{ml:`5px`},children:`Import`})]})]})]})}var Ic=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),Lc=Rc([``,``],[``,``]);function Rc(e,t){return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function zc(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}var Bc=function(){function e(){var t=this,n=[...arguments];return zc(this,e),this.tag=function(e){var n=[...arguments].slice(1);return typeof e==`function`?t.interimTag.bind(t,e):typeof e==`string`?t.transformEndResult(e):(e=e.map(t.transformString.bind(t)),t.transformEndResult(e.reduce(t.processSubstitutions.bind(t,n))))},n.length>0&&Array.isArray(n[0])&&(n=n[0]),this.transformers=n.map(function(e){return typeof e==`function`?e():e}),this.tag}return Ic(e,[{key:`interimTag`,value:function(e,t){var n=[...arguments].slice(2);return this.tag(Lc,e.apply(void 0,[t].concat(n)))}},{key:`processSubstitutions`,value:function(e,t,n){return`${t}${this.transformSubstitution(e.shift(),t)}${n}`}},{key:`transformString`,value:function(e){return this.transformers.reduce(function(e,t){return t.onString?t.onString(e):e},e)}},{key:`transformSubstitution`,value:function(e,t){return this.transformers.reduce(function(e,n){return n.onSubstitution?n.onSubstitution(e,t):e},e)}},{key:`transformEndResult`,value:function(e){return this.transformers.reduce(function(e,t){return t.onEndResult?t.onEndResult(e):e},e)}}]),e}(),Vc=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:``;return{onEndResult:function(t){if(e===``)return t.trim();if(e=e.toLowerCase(),e===`start`||e===`left`)return t.replace(/^\s*/,``);if(e===`end`||e===`right`)return t.replace(/\s*$/,``);throw Error(`Side not supported: `+e)}}};function Hc(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}else return Array.from(e)}var Uc=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:`initial`;return{onEndResult:function(t){if(e===`initial`){var n=t.match(/^[^\S\n]*(?=\S)/gm),r=n&&Math.min.apply(Math,Hc(n.map(function(e){return e.length})));if(r){var i=RegExp(`^.{`+r+`}`,`gm`);return t.replace(i,``)}return t}if(e===`all`)return t.replace(/^[^\S\n]+/gm,``);throw Error(`Unknown type: `+e)}}},Wc=function(e,t){return{onEndResult:function(n){if(e==null||t==null)throw Error(`replaceResultTransformer requires at least 2 arguments.`);return n.replace(e,t)}}},Gc=function(e,t){return{onSubstitution:function(n,r){if(e==null||t==null)throw Error(`replaceSubstitutionTransformer requires at least 2 arguments.`);return n==null?n:n.toString().replace(e,t)}}},Kc={separator:``,conjunction:``,serial:!1},qc=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Kc;return{onSubstitution:function(t,n){if(Array.isArray(t)){var r=t.length,i=e.separator,a=e.conjunction,o=e.serial,s=n.match(/(\n?[^\S\n]+)$/);if(t=s?t.join(i+s[1]):t.join(i+` `),a&&r>1){var c=t.lastIndexOf(i);t=t.slice(0,c)+(o?i:``)+` `+a+t.slice(c+1)}}return t}}},Jc=function(e){return{onSubstitution:function(t,n){if(e!=null&&typeof e==`string`)typeof t==`string`&&t.includes(e)&&(t=t.split(e));else throw Error(`You need to specify a string character to split by.`);return t}}},Yc=function(e){return e!=null&&!Number.isNaN(e)&&typeof e!=`boolean`};new Bc(qc({separator:`,`}),Uc,Vc),new Bc(qc({separator:`,`,conjunction:`and`}),Uc,Vc),new Bc(qc({separator:`,`,conjunction:`or`}),Uc,Vc),new Bc(Jc(`
7
+ `),function(){return{onSubstitution:function(e){return Array.isArray(e)?e.filter(Yc):Yc(e)?e:``}}},qc,Uc,Vc),new Bc(Jc(`
8
+ `),qc,Uc,Vc,Gc(/&/g,`&amp;`),Gc(/</g,`&lt;`),Gc(/>/g,`&gt;`),Gc(/"/g,`&quot;`),Gc(/'/g,`&#x27;`),Gc(/`/g,`&#x60;`)),new Bc(Wc(/(?:\n(?:\s*))+/g,` `),Vc),new Bc(Wc(/(?:\n\s*)/g,``),Vc),new Bc(qc({separator:`,`}),Wc(/(?:\s+)/g,` `),Vc),new Bc(qc({separator:`,`,conjunction:`or`}),Wc(/(?:\s+)/g,` `),Vc),new Bc(qc({separator:`,`,conjunction:`and`}),Wc(/(?:\s+)/g,` `),Vc),new Bc(qc,Uc,Vc),new Bc(qc,Wc(/(?:\s+)/g,` `),Vc),new Bc(Uc,Vc);var Xc=new Bc(Uc(`all`),Vc);function Zc({check:e},t){return H(W,{sx:{display:`flex`,flexDirection:`column`,height:`100%`},children:H(Mr,{children:H(sc,{viewOptions:{...e.params,...e.view_options},interactive:!1,ref:t})})})}const Qc=Dn(Zc),$c=({node:e,selected:t,onSelect:r,schemaChanged:i,isDark:a})=>{let{icon:o}=It(e.data.resourceType),{base:s,current:c}=e.data.data,l,u;return i?(l=n(`schema_diff`).icon,u=jt(`modified`).color):!s&&c?(l=jt(`added`).icon,u=jt(`added`).color):s&&!c&&(l=jt(`removed`).icon,u=jt(`removed`).color),H(ti,{disablePadding:!0,children:U(W,{sx:{display:`flex`,width:`100%`,fontSize:`10pt`,p:`5px 8px`,cursor:`pointer`,"&:hover":{bgcolor:a?`grey.700`:`grey.200`},bgcolor:t?a?`grey.800`:`grey.100`:`inherit`,alignItems:`center`,gap:`5px`},onClick:()=>{r(e.id)},children:[o&&H(W,{component:o}),H(W,{sx:{flex:1,textOverflow:`ellipsis`,whiteSpace:`nowrap`,overflow:`hidden`},children:e.data.name}),l&&u&&H(W,{component:l,sx:{color:u}})]})})};function el({check:e},t){let n=kt(),{apiClient:r}=g(),{lineageGraph:i}=F(),a=e.params,{isLoading:o,error:s,data:c}=xn({queryKey:[...P.check(e.check_id),`select`],queryFn:async()=>qe({select:a.select,exclude:a.exclude,packages:a.packages,view_mode:a.view_mode},r),refetchOnMount:!0,enabled:!a.node_id}),[l,u]=Mn(()=>{let e=[],t=[],n=[],r=[];if(a.node_id){let t=a.node_id instanceof Array?a.node_id:[a.node_id];for(let n of t){let t=i?.nodes[n];t&&e.push(t)}}else for(let t of c?.nodes??[]){let n=i?.nodes[t];n&&e.push(n)}let o=e.filter(e=>e.data.resourceType===`model`||e.data.resourceType===`seed`||e.data.resourceType===`source`||e.data.resourceType===`snapshot`);for(let e of o)Ut(e.data.data.base?.columns,e.data.data.current?.columns)?t.push(e.id):!e.data.data.base&&e.data.data.current?n.push(e.id):e.data.data.base&&!e.data.data.current&&r.push(e.id);function s(e){return t.includes(e.id)?3:n.includes(e.id)?2:r.includes(e.id)?1:0}return o.sort((e,t)=>{let n=s(e),r=s(t);return n===r?e.data.name.localeCompare(t.data.name):r-n}),[o,t]},[a.node_id,c?.nodes,i]),[d,f]=B(0);if(o)return H(W,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,bgcolor:n?`grey.900`:`grey.50`,height:`100%`},children:`Loading...`});if(s)return U(W,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,bgcolor:n?`grey.900`:`grey.50`,height:`100%`},className:`no-track-pii-safe`,children:[`Error: `,s.message]});if(l.length==0)return H(W,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,bgcolor:n?`grey.900`:`grey.50`,height:`100%`},children:`No nodes matched`});if(d<l.length){let e=l[d];return U(O,{sizes:[80,20],minSize:30,style:{height:`100%`},children:[H(ds,{base:e.data.data.base,current:e.data.data.current,enableScreenshot:!0,showMenu:!1,ref:t}),H(ei,{sx:{overflow:`auto`,bgcolor:`background.paper`,listStyle:`none`},children:l.map((e,t)=>H($c,{node:e,schemaChanged:u.includes(e.id),selected:t===d,isDark:n,onSelect:()=>{f(t)}},e.id))})]})}return H(V,{})}const tl=Dn(el);function nl({checkId:t,refreshCheckList:r}){let i=Vn(),o=kt(),{apiClient:s}=g(),{featureToggles:c,sessionId:l}=dt(),{setLatestSelectedCheckId:u}=ce(),{cloudMode:f}=F(),p=Sn(),m=pi(),{basePath:_}=ot(),{setSqlQuery:y,setBaseSqlQuery:b,setCustomQueries:x,setPrimaryKeys:S}=be(),{successToast:C,failToast:w}=Lt(),[T,E]=B(),[D]=B(),[O,ee]=B(!1),[te,k]=B(!1),[A,ne]=B(null),re=!!A,{isLoading:ie,error:ae,data:j}=xn({queryKey:P.check(t),queryFn:async()=>Me(t,s),refetchOnMount:!0}),ue=T??j?.last_run?.run_id,{run:de,error:pe}=le(ue),me=T?!de||de.status===`Running`:de?.status===`Running`,he=j?.type?n(j.type):void 0,ge;he&&(ge=he.RunResultView);let M=j?.is_preset??!1,N=z(null),{mutate:ve}=bn({mutationFn:e=>Ae(t,e,s),onSuccess:async()=>{await p.invalidateQueries({queryKey:P.check(t)}),await p.invalidateQueries({queryKey:P.checks()})}}),{mutate:ye}=bn({mutationFn:()=>Ee(t,s),onSuccess:async()=>{u(``),await p.invalidateQueries({queryKey:P.checks()}),m.push(`${_}/checks`)}}),{mutate:xe,isPending:Se}=bn({mutationFn:async()=>{if(!j)throw Error(`Check not found`);return await Te(t,s)},onSuccess:async()=>{C(`Check marked as preset successfully`),await p.invalidateQueries({queryKey:P.check(t)})},onError:e=>{w(`Failed to mark check as preset`,e)}}),De=L(async()=>{j?.type&&(E((await we(t,{nowait:!0},s)).run_id),await p.invalidateQueries({queryKey:P.check(t)}),r&&r())},[j,t,p,r,s]),ke=L(async()=>{if(ee(!0),ue)return await Oe(ue,s)},[ue,s]),je=async()=>{if(!j)return;let e=rl(j);if(!window.isSecureContext){w(`Failed to copy the check to clipboard`,Error(`Copy to clipboard is available only in secure contexts (HTTPS)`));return}try{await navigator.clipboard.writeText(e),C(`Copied the check to the clipboard`)}catch(e){w(`Failed to copy the check to clipboard`,e)}},Ne=L(()=>{let e=j?.is_checked;ve({is_checked:!e}),e||Rt.create({title:`Marked as approved`,type:`success`,duration:2e3})},[j?.is_checked,ve]),Pe=e=>{ve({view_options:e})},Fe=e=>{ve({description:e})},Ie=e=>{ne(e.currentTarget)},Le=()=>{ne(null)},Re=L(()=>{if(!j)return;let e=j.params;y(e?.sql_template||``),`base_sql_template`in e&&e.base_sql_template?(b(e.base_sql_template),x(!0)):(b(``),x(!1)),`primary_keys`in e&&e.primary_keys?S(e.primary_keys):S(void 0),m.push(`${_}/query`)},[j,m,_,y,b,x,S]),[ze,Be]=B(`result`),{ref:Ve,onCopyToClipboard:He,onMouseEnter:Ue,onMouseLeave:We}=fe(),Ge=a({name:j?.name??``,description:j?.description??``,type:j?.type??``,params:j?.params,viewOptions:j?.view_options});if(ie)return H(W,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:`100%`},children:`Loading`});if(ae)return U(W,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:`100%`},children:[`Error: `,H(`span`,{className:`no-track-pii-safe`,children:ae.message})]});if(!j)return H(se,{minSize:100,sizes:[30,70],style:{height:`100%`,width:`100%`,maxHeight:`100%`},children:H(W,{style:{contain:`strict`},sx:{display:`flex`,flexDirection:`column`},children:H(W,{sx:{display:`flex`,p:`0px 16px`,alignItems:`center`,height:40},children:H(_e,{name:`Check not found`,disabled:!0})})})});let Ke=de?.run_at?ai(new Date(de.run_at),{addSuffix:!0}):null,qe=he?.icon;return U(Gi,{spacing:0,container:!0,sx:{height:`100%`,width:`100%`},children:[H(Gi,{size:{xs:12,md:f?9:12},sx:{height:`100%`},children:U(se,{minSize:100,sizes:[40,60],style:{height:`100%`,width:`100%`,maxHeight:`100%`},children:[H(W,{sx:{height:`100%`,contain:`strict`,display:`flex`,flexDirection:`row`},children:U(W,{sx:{flex:1,height:`100%`,display:`flex`,flexDirection:`column`,overflow:`hidden`,minWidth:0},children:[U(W,{sx:{display:`flex`,p:`0px 16px`,alignItems:`center`,height:40,borderBottom:`2px solid`,borderColor:o?`grey.700`:`grey.300`},children:[qe&&H(W,{component:qe,sx:{fontSize:20,mr:1,flexShrink:0}}),H(_e,{name:j.name,onNameChange:e=>{ve({name:e})}}),H(W,{sx:{flexGrow:1}}),U(K,{direction:`row`,spacing:2,sx:{mr:`10px`},children:[Ke&&H(W,{sx:{textOverflow:`ellipsis`,whiteSpace:`nowrap`,overflow:`hidden`,fontSize:`0.75rem`,display:`flex`,alignItems:`center`},children:Ke}),M&&H(Y,{title:`This is a preset check`,children:H(W,{display:`flex`,alignItems:`center`,justifyContent:`center`,children:H(Ai,{size:`1rem`,color:i.palette.iochmara.dark})})}),H(J,{size:`small`,onClick:Ie,children:H(Yr,{})}),U(Hr,{anchorEl:A,open:re,onClose:Le,children:[l&&U(Ur,{onClick:()=>{xe(),Le()},disabled:Se||M,children:[H(vi,{children:H(Wn,{})}),H(yi,{children:`Mark as Preset Check`})]}),U(Ur,{onClick:()=>{k(!0),Le()},children:[H(vi,{children:H(Ki,{})}),H(yi,{children:`Get Preset Check Template`})]}),U(Ur,{onClick:()=>{je(),Le()},children:[H(vi,{children:H(cr,{})}),H(yi,{children:`Copy Markdown`})]}),H(Jn,{}),U(Ur,{onClick:()=>{ye(),Le()},disabled:c.disableUpdateChecklist,sx:{color:`error.main`},children:[H(vi,{sx:{color:`error.main`},children:H(yr,{})}),H(yi,{children:`Delete`})]})]}),H(Y,{title:Ce({type:j.type,hasResult:!!de?.result,hasError:!!de?.error})?`Run the check first`:j.is_checked?`Remove approval`:`Mark as approved`,placement:`bottom-end`,children:H(G,{size:`small`,color:j.is_checked?`success`:`neutral`,variant:j.is_checked?`contained`:`outlined`,onClick:()=>{Ne()},disabled:Ce({type:j.type,hasResult:!!de?.result,hasError:!!de?.error})||c.disableUpdateChecklist,startIcon:j.is_checked?H(or,{}):H(Gr,{style:{color:o?i.palette.grey[600]:i.palette.grey[400]}}),sx:{flex:`0 0 auto`,textTransform:`none`},children:j.is_checked?`Approved`:`Pending`})})]})]}),H(W,{sx:{flex:1,p:`8px 16px`,minHeight:100},children:H(e,{value:j.description,onChange:Fe,disabled:c.disableUpdateChecklist},j.check_id)})]})}),H(W,{style:{contain:`strict`},children:U(W,{sx:{height:`100%`,display:`flex`,flexDirection:`column`},children:[U(W,{sx:{display:`flex`,alignItems:`center`,borderBottom:1,borderColor:`divider`,height:50},children:[U($r,{value:ze,onChange:(e,t)=>Be(t),children:[H(Qr,{label:`Result`,value:`result`,sx:{fontSize:`0.75rem`,textTransform:`none`}}),(j.type===`query`||j.type===`query_diff`)&&H(Qr,{label:`Query`,value:`query`,sx:{fontSize:`0.75rem`,textTransform:`none`}})]}),H(W,{sx:{flexGrow:1}}),U(K,{direction:`row`,spacing:1,sx:{mr:`10px`},children:[(j.type===`query`||j.type===`query_base`||j.type===`query_diff`)&&H(Y,{title:`Open in Query tab`,children:H(G,{variant:`outlined`,color:`neutral`,size:`small`,onClick:Re,disabled:c.disableDatabaseQuery,startIcon:H(_i,{}),sx:{textTransform:`none`},children:`Open Query`})}),ge&&H(Y,{title:`Rerun`,children:H(G,{variant:`outlined`,color:`neutral`,size:`small`,onClick:()=>De(),disabled:c.disableDatabaseQuery||me,startIcon:H(_r,{}),sx:{textTransform:`none`},children:me?`Running...`:`Rerun`})}),H(G,{variant:`outlined`,color:`neutral`,disabled:Ce({type:j.type,hasResult:!!de?.result,hasError:!!de?.error})||ze!==`result`,onMouseEnter:Ue,onMouseLeave:We,size:`small`,onClick:async()=>{j.type===`lineage_diff`?N.current?.copyToClipboard():await He(),en({type:j.type,from:`check`})},startIcon:H(cr,{}),sx:{textTransform:`none`},children:`Copy to Clipboard`})]})]}),U(W,{sx:{flex:1,contain:`strict`},children:[ze===`result`&&U(W,{sx:{width:`100%`,height:`100%`},children:[ge&&(j.last_run||ue?H(h,{ref:Ve,isRunning:me,isAborting:O,run:ue?de:j.last_run,error:pe,progress:D,RunResultView:ge,viewOptions:j.view_options,onViewOptionsChanged:Pe,onCancel:ke,onExecuteRun:De}):H(W,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,bgcolor:o?`grey.900`:`grey.50`,height:`100%`},children:U(K,{spacing:2,alignItems:`center`,children:[H(W,{children:`This action is part of the initial preset and has not been performed yet. Once performed, the result will be shown here.`}),H(Pc,{display:c.mode===`metadata only`,children:H(G,{onClick:De,variant:`contained`,size:`small`,disabled:c.disableDatabaseQuery,children:`Run Query`})})]})})),j.type===`schema_diff`&&H(tl,{check:j,ref:Ve},j.check_id),j.type===`lineage_diff`&&H(Qc,{check:j,ref:N},j.check_id)]}),ze===`query`&&(j.type===`query`||j.type===`query_diff`||j.type===`query_base`)&&H(W,{sx:{height:`100%`,width:`100%`},children:j.params.base_sql_template?H(d,{value:j.params.sql_template||``,baseValue:j.params.base_sql_template??``,options:{readOnly:!0}}):H(oe,{value:j.params.sql_template||``,options:{readOnly:!0}})})]})]})}),U(Nn,{open:te,onClose:()=>k(!1),maxWidth:`md`,fullWidth:!0,children:[H(In,{children:`Preset Check Template`}),U(Fn,{children:[U(q,{variant:`subtitle2`,fontWeight:`bold`,sx:{mb:2},children:[`Please`,` `,H(q,{component:`span`,sx:{cursor:`pointer`,"&:hover":{textDecoration:`underline`},color:`primary.main`},onClick:async()=>{await navigator.clipboard.writeText(Ge),C(`Copied the template to the clipboard`)},children:`copy`}),` `,`the following template and paste it into the`,` `,H(W,{component:`span`,sx:{px:.5,bgcolor:`error.light`,borderRadius:.5},children:`recce.yml`}),` `,`file.`]}),H(v,{yamlTemplate:Ge})]}),H(Pn,{children:H(J,{size:`small`,onClick:()=>k(!1),sx:{position:`absolute`,top:8,right:8},children:H(Gn,{})})})]})]})}),f&&H(Gi,{size:3,sx:{height:`100%`,overflow:`hidden`,flexShrink:0,display:{xs:`none`,md:`block`}},children:H(ja,{checkId:t})})]})}function rl(e){return Xc`
9
+ <details><summary>${u({name:e.name,isChecked:e.is_checked})}</summary>
10
+
11
+ ${il(e)}
12
+
13
+ </details>`}function il(e){let t=c({description:e.description});if(e.type===`query`||e.type===`query_diff`){let n=e.params;return`${t}\n\n${m({sql:n&&`sql_template`in n?n.sql_template:``})}`}return t}const al=()=>{let e=Sn(),t=pi(),{apiClient:n}=g(),{basePath:r}=ot(),{mutate:i,isPending:a}=bn({mutationFn:()=>Ve({select:`state:modified`},n),onSuccess:async n=>{await e.invalidateQueries({queryKey:P.checks()}),t.push(`${r}/checks/?id=${n.check_id}`)}});return H(b,{title:`No checks yet`,description:`Checks help you validate data quality and catch issues.`,icon:H(hi,{size:48}),actionText:`Create Schema Diff Check`,onAction:()=>{i()},isLoading:a,helperText:`The schema checks compare modified models between environments to detect changes, additions, or removals.`})};var ol=!0,sl=`Invariant failed`;function cl(e,t){if(!e){if(ol)throw Error(sl);var n=typeof t==`function`?t():t,r=n?`${sl}: ${n}`:sl;throw Error(r)}}var ll=function(e){var t=e.top,n=e.right,r=e.bottom,i=e.left;return{top:t,right:n,bottom:r,left:i,width:n-i,height:r-t,x:i,y:t,center:{x:(n+i)/2,y:(r+t)/2}}},ul=function(e,t){return{top:e.top-t.top,left:e.left-t.left,bottom:e.bottom+t.bottom,right:e.right+t.right}},dl=function(e,t){return{top:e.top+t.top,left:e.left+t.left,bottom:e.bottom-t.bottom,right:e.right-t.right}},fl=function(e,t){return{top:e.top+t.y,left:e.left+t.x,bottom:e.bottom+t.y,right:e.right+t.x}},pl={top:0,right:0,bottom:0,left:0},ml=function(e){var t=e.borderBox,n=e.margin,r=n===void 0?pl:n,i=e.border,a=i===void 0?pl:i,o=e.padding,s=o===void 0?pl:o,c=ll(ul(t,r)),l=ll(dl(t,a)),u=ll(dl(l,s));return{marginBox:c,borderBox:ll(t),paddingBox:l,contentBox:u,margin:r,border:a,padding:s}},hl=function(e){var t=e.slice(0,-2);if(e.slice(-2)!==`px`)return 0;var n=Number(t);return isNaN(n)&&cl(!1),n},gl=function(){return{x:window.pageXOffset,y:window.pageYOffset}},_l=function(e,t){var n=e.borderBox,r=e.border,i=e.margin,a=e.padding;return ml({borderBox:fl(n,t),border:r,margin:i,padding:a})},vl=function(e,t){return t===void 0&&(t=gl()),_l(e,t)},yl=function(e,t){return ml({borderBox:e,margin:{top:hl(t.marginTop),right:hl(t.marginRight),bottom:hl(t.marginBottom),left:hl(t.marginLeft)},padding:{top:hl(t.paddingTop),right:hl(t.paddingRight),bottom:hl(t.paddingBottom),left:hl(t.paddingLeft)},border:{top:hl(t.borderTopWidth),right:hl(t.borderRightWidth),bottom:hl(t.borderBottomWidth),left:hl(t.borderLeftWidth)}})},bl=function(e){return yl(e.getBoundingClientRect(),window.getComputedStyle(e))},xl=function(e){var t=[],n=null,r=function(){t=[...arguments],!n&&(n=requestAnimationFrame(function(){n=null,e.apply(void 0,t)}))};return r.cancel=function(){n&&=(cancelAnimationFrame(n),null)},r};function Sl(e,t){}Sl.bind(null,`warn`),Sl.bind(null,`error`);function Cl(){}function wl(e,t){return{...e,...t}}function Tl(e,t,n){let r=t.map(t=>{let r=wl(n,t.options);return e.addEventListener(t.eventName,t.fn,r),function(){e.removeEventListener(t.eventName,t.fn,r)}});return function(){r.forEach(e=>{e()})}}var El=class extends Error{};El.prototype.toString=function(){return this.message};function X(e,t){throw new El(`Invariant failed`)}var Dl=class extends I.Component{constructor(...e){super(...e),this.callbacks=null,this.unbind=Cl,this.onWindowError=e=>{let t=this.getCallbacks();t.isDragging()&&t.tryAbort(),e.error instanceof El&&e.preventDefault()},this.getCallbacks=()=>{if(!this.callbacks)throw Error(`Unable to find AppCallbacks in <ErrorBoundary/>`);return this.callbacks},this.setCallbacks=e=>{this.callbacks=e}}componentDidMount(){this.unbind=Tl(window,[{eventName:`error`,fn:this.onWindowError}])}componentDidCatch(e){if(e instanceof El){this.setState({});return}throw e}componentWillUnmount(){this.unbind()}render(){return this.props.children(this.setCallbacks)}};const Ol=e=>e+1,kl=e=>`
14
+ You have lifted an item in position ${Ol(e.source.index)}
15
+ `,Al=(e,t)=>{let n=e.droppableId===t.droppableId,r=Ol(e.index),i=Ol(t.index);return n?`
16
+ You have moved the item from position ${r}
17
+ to position ${i}
18
+ `:`
19
+ You have moved the item from position ${r}
20
+ in list ${e.droppableId}
21
+ to list ${t.droppableId}
22
+ in position ${i}
23
+ `},jl=(e,t,n)=>t.droppableId===n.droppableId?`
24
+ The item ${e}
25
+ has been combined with ${n.draggableId}`:`
26
+ The item ${e}
27
+ in list ${t.droppableId}
28
+ has been combined with ${n.draggableId}
29
+ in list ${n.droppableId}
30
+ `,Ml=e=>{let t=e.destination;if(t)return Al(e.source,t);let n=e.combine;return n?jl(e.draggableId,e.source,n):`You are over an area that cannot be dropped on`},Nl=e=>`
31
+ The item has returned to its starting position
32
+ of ${Ol(e.index)}
33
+ `,Pl={dragHandleUsageInstructions:`
34
+ Press space bar to start a drag.
35
+ When dragging you can use the arrow keys to move the item around and escape to cancel.
36
+ Some screen readers may require you to be in focus mode or to use your pass through key
37
+ `,onDragStart:kl,onDragUpdate:Ml,onDragEnd:e=>{if(e.reason===`CANCEL`)return`
38
+ Movement cancelled.
39
+ ${Nl(e.source)}
40
+ `;let t=e.destination,n=e.combine;return t?`
41
+ You have dropped the item.
42
+ ${Al(e.source,t)}
43
+ `:n?`
44
+ You have dropped the item.
45
+ ${jl(e.draggableId,e.source,n)}
46
+ `:`
47
+ The item has been dropped while not over a drop area.
48
+ ${Nl(e.source)}
49
+ `}};function Fl(e,t){return!!(e===t||Number.isNaN(e)&&Number.isNaN(t))}function Il(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Fl(e[n],t[n]))return!1;return!0}function Z(e,t){let n=B(()=>({inputs:t,result:e()}))[0],r=z(!0),i=z(n),a=r.current||t&&i.current.inputs&&Il(t,i.current.inputs)?i.current:{inputs:t,result:e()};return R(()=>{r.current=!1,i.current=a},[a]),a.result}function Q(e,t){return Z(()=>e,t)}const Ll={x:0,y:0},Rl=(e,t)=>({x:e.x+t.x,y:e.y+t.y}),zl=(e,t)=>({x:e.x-t.x,y:e.y-t.y}),Bl=(e,t)=>e.x===t.x&&e.y===t.y,Vl=e=>({x:e.x===0?0:-e.x,y:e.y===0?0:-e.y}),Hl=(e,t,n=0)=>e===`x`?{x:t,y:n}:{x:n,y:t},Ul=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2),Wl=(e,t)=>Math.min(...t.map(t=>Ul(e,t))),Gl=e=>t=>({x:e(t.x),y:e(t.y)});var Kl=(e,t)=>{let n=ll({top:Math.max(t.top,e.top),right:Math.min(t.right,e.right),bottom:Math.min(t.bottom,e.bottom),left:Math.max(t.left,e.left)});return n.width<=0||n.height<=0?null:n};const ql=(e,t)=>({top:e.top+t.y,left:e.left+t.x,bottom:e.bottom+t.y,right:e.right+t.x}),Jl=e=>[{x:e.left,y:e.top},{x:e.right,y:e.top},{x:e.left,y:e.bottom},{x:e.right,y:e.bottom}],Yl={top:0,right:0,bottom:0,left:0},Xl=(e,t)=>t?ql(e,t.scroll.diff.displacement):e,Zl=(e,t,n)=>n&&n.increasedBy?{...e,[t.end]:e[t.end]+n.increasedBy[t.line]}:e,Ql=(e,t)=>t&&t.shouldClipSubject?Kl(t.pageMarginBox,e):ll(e);var $l=({page:e,withPlaceholder:t,axis:n,frame:r})=>({page:e,withPlaceholder:t,active:Ql(Zl(Xl(e.marginBox,r),n,t),r)}),eu=(e,t)=>{!e.frame&&X();let n=e.frame,r=zl(t,n.scroll.initial),i=Vl(r),a={...n,scroll:{initial:n.scroll.initial,current:t,diff:{value:r,displacement:i},max:n.scroll.max}},o=$l({page:e.subject.page,withPlaceholder:e.subject.withPlaceholder,axis:e.axis,frame:a});return{...e,frame:a,subject:o}};function tu(e,t=Il){let n=null;function r(...r){if(n&&n.lastThis===this&&t(r,n.lastArgs))return n.lastResult;let i=e.apply(this,r);return n={lastResult:i,lastArgs:r,lastThis:this},i}return r.clear=function(){n=null},r}const nu=tu(e=>e.reduce((e,t)=>(e[t.descriptor.id]=t,e),{})),ru=tu(e=>e.reduce((e,t)=>(e[t.descriptor.id]=t,e),{})),iu=tu(e=>Object.values(e)),au=tu(e=>Object.values(e));var ou=tu((e,t)=>au(t).filter(t=>e===t.descriptor.droppableId).sort((e,t)=>e.descriptor.index-t.descriptor.index));function su(e){return e.at&&e.at.type===`REORDER`?e.at.destination:null}function cu(e){return e.at&&e.at.type===`COMBINE`?e.at.combine:null}var lu=tu((e,t)=>t.filter(t=>t.descriptor.id!==e.descriptor.id)),uu=({isMovingForward:e,draggable:t,destination:n,insideDestination:r,previousImpact:i})=>{if(!n.isCombineEnabled||!su(i))return null;function a(e){let t={type:`COMBINE`,combine:{draggableId:e,droppableId:n.descriptor.id}};return{...i,at:t}}let o=i.displaced.all,s=o.length?o[0]:null;if(e)return s?a(s):null;let c=lu(t,r);if(!s){if(!c.length)return null;let e=c[c.length-1];return a(e.descriptor.id)}let l=c.findIndex(e=>e.descriptor.id===s);l===-1&&X();let u=l-1;if(u<0)return null;let d=c[u];return a(d.descriptor.id)},du=(e,t)=>e.descriptor.droppableId===t.descriptor.id;const fu={point:Ll,value:0},pu={invisible:{},visible:{},all:[]},mu={displaced:pu,displacedBy:fu,at:null};var hu=(e,t)=>n=>e<=n&&n<=t,gu=e=>{let t=hu(e.top,e.bottom),n=hu(e.left,e.right);return r=>{if(t(r.top)&&t(r.bottom)&&n(r.left)&&n(r.right))return!0;let i=t(r.top)||t(r.bottom),a=n(r.left)||n(r.right);if(i&&a)return!0;let o=r.top<e.top&&r.bottom>e.bottom,s=r.left<e.left&&r.right>e.right;return o&&s?!0:o&&a||s&&i}},_u=e=>{let t=hu(e.top,e.bottom),n=hu(e.left,e.right);return e=>t(e.top)&&t(e.bottom)&&n(e.left)&&n(e.right)};const vu={direction:`vertical`,line:`y`,crossAxisLine:`x`,start:`top`,end:`bottom`,size:`height`,crossAxisStart:`left`,crossAxisEnd:`right`,crossAxisSize:`width`},yu={direction:`horizontal`,line:`x`,crossAxisLine:`y`,start:`left`,end:`right`,size:`width`,crossAxisStart:`top`,crossAxisEnd:`bottom`,crossAxisSize:`height`};var bu=e=>t=>{let n=hu(t.top,t.bottom),r=hu(t.left,t.right);return t=>e===vu?n(t.top)&&n(t.bottom):r(t.left)&&r(t.right)};const xu=(e,t)=>ql(e,t.frame?t.frame.scroll.diff.displacement:Ll),Su=(e,t,n)=>t.subject.active?n(t.subject.active)(e):!1,Cu=(e,t,n)=>n(t)(e),wu=({target:e,destination:t,viewport:n,withDroppableDisplacement:r,isVisibleThroughFrameFn:i})=>{let a=r?xu(e,t):e;return Su(a,t,i)&&Cu(a,n,i)},Tu=e=>wu({...e,isVisibleThroughFrameFn:gu}),Eu=e=>wu({...e,isVisibleThroughFrameFn:_u}),Du=e=>wu({...e,isVisibleThroughFrameFn:bu(e.destination.axis)}),Ou=(e,t,n)=>{if(typeof n==`boolean`)return n;if(!t)return!0;let{invisible:r,visible:i}=t;if(r[e])return!1;let a=i[e];return a?a.shouldAnimate:!0};function ku(e,t){let n=e.page.marginBox;return ll(ul(n,{top:t.point.y,right:0,bottom:0,left:t.point.x}))}function Au({afterDragging:e,destination:t,displacedBy:n,viewport:r,forceShouldAnimate:i,last:a}){return e.reduce(function(e,o){let s=ku(o,n),c=o.descriptor.id;if(e.all.push(c),!Tu({target:s,destination:t,viewport:r,withDroppableDisplacement:!0}))return e.invisible[o.descriptor.id]=!0,e;let l={draggableId:c,shouldAnimate:Ou(c,a,i)};return e.visible[c]=l,e},{all:[],visible:{},invisible:{}})}function ju(e,t){if(!e.length)return 0;let n=e[e.length-1].descriptor.index;return t.inHomeList?n:n+1}function Mu({insideDestination:e,inHomeList:t,displacedBy:n,destination:r}){let i=ju(e,{inHomeList:t});return{displaced:pu,displacedBy:n,at:{type:`REORDER`,destination:{droppableId:r.descriptor.id,index:i}}}}function Nu({draggable:e,insideDestination:t,destination:n,viewport:r,displacedBy:i,last:a,index:o,forceShouldAnimate:s}){let c=du(e,n);if(o==null)return Mu({insideDestination:t,inHomeList:c,displacedBy:i,destination:n});let l=t.find(e=>e.descriptor.index===o);if(!l)return Mu({insideDestination:t,inHomeList:c,displacedBy:i,destination:n});let u=lu(e,t),d=t.indexOf(l);return{displaced:Au({afterDragging:u.slice(d),destination:n,displacedBy:i,last:a,viewport:r.frame,forceShouldAnimate:s}),displacedBy:i,at:{type:`REORDER`,destination:{droppableId:n.descriptor.id,index:o}}}}function Pu(e,t){return!!t.effected[e]}var Fu=({isMovingForward:e,destination:t,draggables:n,combine:r,afterCritical:i})=>{if(!t.isCombineEnabled)return null;let a=r.draggableId,o=n[a].descriptor.index;return Pu(a,i)?e?o:o-1:e?o+1:o},Iu=({isMovingForward:e,isInHomeList:t,insideDestination:n,location:r})=>{if(!n.length)return null;let i=r.index,a=e?i+1:i-1,o=n[0].descriptor.index,s=n[n.length-1].descriptor.index,c=t?s:s+1;return a<o||a>c?null:a},Lu=({isMovingForward:e,isInHomeList:t,draggable:n,draggables:r,destination:i,insideDestination:a,previousImpact:o,viewport:s,afterCritical:c})=>{let l=o.at;if(!l&&X(),l.type===`REORDER`){let r=Iu({isMovingForward:e,isInHomeList:t,location:l.destination,insideDestination:a});return r==null?null:Nu({draggable:n,insideDestination:a,destination:i,viewport:s,last:o.displaced,displacedBy:o.displacedBy,index:r})}let u=Fu({isMovingForward:e,destination:i,displaced:o.displaced,draggables:r,combine:l.combine,afterCritical:c});return u==null?null:Nu({draggable:n,insideDestination:a,destination:i,viewport:s,last:o.displaced,displacedBy:o.displacedBy,index:u})},Ru=({displaced:e,afterCritical:t,combineWith:n,displacedBy:r})=>{let i=!!(e.visible[n]||e.invisible[n]);return Pu(n,t)?i?Ll:Vl(r.point):i?r.point:Ll},zu=({afterCritical:e,impact:t,draggables:n})=>{let r=cu(t);!r&&X();let i=r.draggableId,a=n[i].page.borderBox.center;return Rl(a,Ru({displaced:t.displaced,afterCritical:e,combineWith:i,displacedBy:t.displacedBy}))};const Bu=(e,t)=>t.margin[e.start]+t.borderBox[e.size]/2,Vu=(e,t)=>t.margin[e.end]+t.borderBox[e.size]/2,Hu=(e,t,n)=>t[e.crossAxisStart]+n.margin[e.crossAxisStart]+n.borderBox[e.crossAxisSize]/2,Uu=({axis:e,moveRelativeTo:t,isMoving:n})=>Hl(e.line,t.marginBox[e.end]+Bu(e,n),Hu(e,t.marginBox,n)),Wu=({axis:e,moveRelativeTo:t,isMoving:n})=>Hl(e.line,t.marginBox[e.start]-Vu(e,n),Hu(e,t.marginBox,n)),Gu=({axis:e,moveInto:t,isMoving:n})=>Hl(e.line,t.contentBox[e.start]+Bu(e,n),Hu(e,t.contentBox,n));var Ku=({impact:e,draggable:t,draggables:n,droppable:r,afterCritical:i})=>{let a=ou(r.descriptor.id,n),o=t.page,s=r.axis;if(!a.length)return Gu({axis:s,moveInto:r.page,isMoving:o});let{displaced:c,displacedBy:l}=e,u=c.all[0];if(u){let e=n[u];return Pu(u,i)?Wu({axis:s,moveRelativeTo:e.page,isMoving:o}):Wu({axis:s,moveRelativeTo:_l(e.page,l.point),isMoving:o})}let d=a[a.length-1];return d.descriptor.id===t.descriptor.id?o.borderBox.center:Pu(d.descriptor.id,i)?Uu({axis:s,moveRelativeTo:_l(d.page,Vl(i.displacedBy.point)),isMoving:o}):Uu({axis:s,moveRelativeTo:d.page,isMoving:o})},qu=(e,t)=>{let n=e.frame;return n?Rl(t,n.scroll.diff.displacement):t};const Ju=({impact:e,draggable:t,droppable:n,draggables:r,afterCritical:i})=>{let a=t.page.borderBox.center,o=e.at;return!n||!o?a:o.type===`REORDER`?Ku({impact:e,draggable:t,draggables:r,droppable:n,afterCritical:i}):zu({impact:e,draggables:r,afterCritical:i})};var Yu=e=>{let t=Ju(e),n=e.droppable;return n?qu(n,t):t},Xu=(e,t)=>{let n=zl(t,e.scroll.initial),r=Vl(n);return{frame:ll({top:t.y,bottom:t.y+e.frame.height,left:t.x,right:t.x+e.frame.width}),scroll:{initial:e.scroll.initial,max:e.scroll.max,current:t,diff:{value:n,displacement:r}}}};function Zu(e,t){return e.map(e=>t[e])}function Qu(e,t){for(let n=0;n<t.length;n++){let r=t[n].visible[e];if(r)return r}return null}var $u=({impact:e,viewport:t,destination:n,draggables:r,maxScrollChange:i})=>{let a=Xu(t,Rl(t.scroll.current,i)),o=n.frame?eu(n,Rl(n.frame.scroll.current,i)):n,s=e.displaced,c=Au({afterDragging:Zu(s.all,r),destination:n,displacedBy:e.displacedBy,viewport:a.frame,last:s,forceShouldAnimate:!1}),l=Au({afterDragging:Zu(s.all,r),destination:o,displacedBy:e.displacedBy,viewport:t.frame,last:s,forceShouldAnimate:!1}),u={},d={},f=[s,c,l];return s.all.forEach(e=>{let t=Qu(e,f);if(t){d[e]=t;return}u[e]=!0}),{...e,displaced:{all:s.all,invisible:u,visible:d}}},ed=(e,t)=>Rl(e.scroll.diff.displacement,t),td=({pageBorderBoxCenter:e,draggable:t,viewport:n})=>{let r=zl(ed(n,e),t.page.borderBox.center);return Rl(t.client.borderBox.center,r)},nd=({draggable:e,destination:t,newPageBorderBoxCenter:n,viewport:r,withDroppableDisplacement:i,onlyOnMainAxis:a=!1})=>{let o=zl(n,e.page.borderBox.center),s={target:ql(e.page.borderBox,o),destination:t,withDroppableDisplacement:i,viewport:r};return a?Du(s):Eu(s)},rd=({isMovingForward:e,draggable:t,destination:n,draggables:r,previousImpact:i,viewport:a,previousPageBorderBoxCenter:o,previousClientSelection:s,afterCritical:c})=>{if(!n.isEnabled)return null;let l=ou(n.descriptor.id,r),u=du(t,n),d=uu({isMovingForward:e,draggable:t,destination:n,insideDestination:l,previousImpact:i})||Lu({isMovingForward:e,isInHomeList:u,draggable:t,draggables:r,destination:n,insideDestination:l,previousImpact:i,viewport:a,afterCritical:c});if(!d)return null;let f=Yu({impact:d,draggable:t,droppable:n,draggables:r,afterCritical:c});if(nd({draggable:t,destination:n,newPageBorderBoxCenter:f,viewport:a.frame,withDroppableDisplacement:!1,onlyOnMainAxis:!0}))return{clientSelection:td({pageBorderBoxCenter:f,draggable:t,viewport:a}),impact:d,scrollJumpRequest:null};let p=zl(f,o);return{clientSelection:s,impact:$u({impact:d,viewport:a,destination:n,draggables:r,maxScrollChange:p}),scrollJumpRequest:p}};const id=e=>{let t=e.subject.active;return!t&&X(),t};var ad=({isMovingForward:e,pageBorderBoxCenter:t,source:n,droppables:r,viewport:i})=>{let a=n.subject.active;if(!a)return null;let o=n.axis,s=hu(a[o.start],a[o.end]),c=iu(r).filter(e=>e!==n).filter(e=>e.isEnabled).filter(e=>!!e.subject.active).filter(e=>gu(i.frame)(id(e))).filter(t=>{let n=id(t);return e?a[o.crossAxisEnd]<n[o.crossAxisEnd]:n[o.crossAxisStart]<a[o.crossAxisStart]}).filter(e=>{let t=id(e),n=hu(t[o.start],t[o.end]);return s(t[o.start])||s(t[o.end])||n(a[o.start])||n(a[o.end])}).sort((t,n)=>{let r=id(t)[o.crossAxisStart],i=id(n)[o.crossAxisStart];return e?r-i:i-r}).filter((e,t,n)=>id(e)[o.crossAxisStart]===id(n[0])[o.crossAxisStart]);if(!c.length)return null;if(c.length===1)return c[0];let l=c.filter(e=>hu(id(e)[o.start],id(e)[o.end])(t[o.line]));return l.length===1?l[0]:l.length>1?l.sort((e,t)=>id(e)[o.start]-id(t)[o.start])[0]:c.sort((e,n)=>{let r=Wl(t,Jl(id(e))),i=Wl(t,Jl(id(n)));return r===i?id(e)[o.start]-id(n)[o.start]:r-i})[0]};const od=(e,t)=>{let n=e.page.borderBox.center;return Pu(e.descriptor.id,t)?zl(n,t.displacedBy.point):n},sd=(e,t)=>{let n=e.page.borderBox;return Pu(e.descriptor.id,t)?ql(n,Vl(t.displacedBy.point)):n};var cd=({pageBorderBoxCenter:e,viewport:t,destination:n,insideDestination:r,afterCritical:i})=>r.filter(e=>Eu({target:sd(e,i),destination:n,viewport:t.frame,withDroppableDisplacement:!0})).sort((t,r)=>{let a=Ul(e,qu(n,od(t,i))),o=Ul(e,qu(n,od(r,i)));return a<o?-1:o<a?1:t.descriptor.index-r.descriptor.index})[0]||null,ld=tu(function(e,t){let n=t[e.line];return{value:n,point:Hl(e.line,n)}});const ud=(e,t,n)=>{let r=e.axis;if(e.descriptor.mode===`virtual`)return Hl(r.line,t[r.line]);let i=e.subject.page.contentBox[r.size],a=ou(e.descriptor.id,n).reduce((e,t)=>e+t.client.marginBox[r.size],0)+t[r.line]-i;return a<=0?null:Hl(r.line,a)},dd=(e,t)=>({...e,scroll:{...e.scroll,max:t}}),fd=(e,t,n)=>{let r=e.frame;du(t,e)&&X(),e.subject.withPlaceholder&&X();let i=ld(e.axis,t.displaceBy).point,a=ud(e,i,n),o={placeholderSize:i,increasedBy:a,oldFrameMaxScroll:e.frame?e.frame.scroll.max:null};if(!r){let t=$l({page:e.subject.page,withPlaceholder:o,axis:e.axis,frame:e.frame});return{...e,subject:t}}let s=dd(r,a?Rl(r.scroll.max,a):r.scroll.max),c=$l({page:e.subject.page,withPlaceholder:o,axis:e.axis,frame:s});return{...e,subject:c,frame:s}},pd=e=>{let t=e.subject.withPlaceholder;!t&&X();let n=e.frame;if(!n){let t=$l({page:e.subject.page,axis:e.axis,frame:null,withPlaceholder:null});return{...e,subject:t}}let r=t.oldFrameMaxScroll;!r&&X();let i=dd(n,r),a=$l({page:e.subject.page,axis:e.axis,frame:i,withPlaceholder:null});return{...e,subject:a,frame:i}};var md=({previousPageBorderBoxCenter:e,moveRelativeTo:t,insideDestination:n,draggable:r,draggables:i,destination:a,viewport:o,afterCritical:s})=>{if(!t){if(n.length)return null;let e={displaced:pu,displacedBy:fu,at:{type:`REORDER`,destination:{droppableId:a.descriptor.id,index:0}}},t=Yu({impact:e,draggable:r,droppable:a,draggables:i,afterCritical:s});return nd({draggable:r,destination:du(r,a)?a:fd(a,r,i),newPageBorderBoxCenter:t,viewport:o.frame,withDroppableDisplacement:!1,onlyOnMainAxis:!0})?e:null}let c=e[a.axis.line]<=t.page.borderBox.center[a.axis.line],l=(()=>{let e=t.descriptor.index;return t.descriptor.id===r.descriptor.id||c?e:e+1})();return Nu({draggable:r,insideDestination:n,destination:a,viewport:o,displacedBy:ld(a.axis,r.displaceBy),last:pu,index:l})},hd=({isMovingForward:e,previousPageBorderBoxCenter:t,draggable:n,isOver:r,draggables:i,droppables:a,viewport:o,afterCritical:s})=>{let c=ad({isMovingForward:e,pageBorderBoxCenter:t,source:r,droppables:a,viewport:o});if(!c)return null;let l=ou(c.descriptor.id,i),u=md({previousPageBorderBoxCenter:t,destination:c,draggable:n,draggables:i,moveRelativeTo:cd({pageBorderBoxCenter:t,viewport:o,destination:c,insideDestination:l,afterCritical:s}),insideDestination:l,viewport:o,afterCritical:s});return u?{clientSelection:td({pageBorderBoxCenter:Yu({impact:u,draggable:n,droppable:c,draggables:i,afterCritical:s}),draggable:n,viewport:o}),impact:u,scrollJumpRequest:null}:null},gd=e=>{let t=e.at;return t?t.type===`REORDER`?t.destination.droppableId:t.combine.droppableId:null};const _d=(e,t)=>{let n=gd(e);return n?t[n]:null};var vd=({state:e,type:t})=>{let n=_d(e.impact,e.dimensions.droppables),r=!!n,i=e.dimensions.droppables[e.critical.droppable.id],a=n||i,o=a.axis.direction,s=o===`vertical`&&(t===`MOVE_UP`||t===`MOVE_DOWN`)||o===`horizontal`&&(t===`MOVE_LEFT`||t===`MOVE_RIGHT`);if(s&&!r)return null;let c=t===`MOVE_DOWN`||t===`MOVE_RIGHT`,l=e.dimensions.draggables[e.critical.draggable.id],u=e.current.page.borderBoxCenter,{draggables:d,droppables:f}=e.dimensions;return s?rd({isMovingForward:c,previousPageBorderBoxCenter:u,draggable:l,destination:a,draggables:d,viewport:e.viewport,previousClientSelection:e.current.client.selection,previousImpact:e.impact,afterCritical:e.afterCritical}):hd({isMovingForward:c,previousPageBorderBoxCenter:u,draggable:l,isOver:a,draggables:d,droppables:f,viewport:e.viewport,afterCritical:e.afterCritical})};function yd(e){return e.phase===`DRAGGING`||e.phase===`COLLECTING`}function bd(e){let t=hu(e.top,e.bottom),n=hu(e.left,e.right);return function(e){return t(e.y)&&n(e.x)}}function xd(e,t){return e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}function Sd({pageBorderBox:e,draggable:t,candidates:n}){let r=t.page.borderBox.center,i=n.map(t=>{let n=t.axis,i=Hl(t.axis.line,e.center[n.line],t.page.borderBox.center[n.crossAxisLine]);return{id:t.descriptor.id,distance:Ul(r,i)}}).sort((e,t)=>t.distance-e.distance);return i[0]?i[0].id:null}function Cd({pageBorderBox:e,draggable:t,droppables:n}){let r=iu(n).filter(t=>{if(!t.isEnabled)return!1;let n=t.subject.active;if(!n||!xd(e,n))return!1;if(bd(n)(e.center))return!0;let r=t.axis,i=n.center[r.crossAxisLine],a=e[r.crossAxisStart],o=e[r.crossAxisEnd],s=hu(n[r.crossAxisStart],n[r.crossAxisEnd]),c=s(a),l=s(o);return!c&&!l?!0:c?a<i:o>i});return r.length?r.length===1?r[0].descriptor.id:Sd({pageBorderBox:e,draggable:t,candidates:r}):null}const wd=(e,t)=>ll(ql(e,t));var Td=(e,t)=>{let n=e.frame;return n?wd(t,n.scroll.diff.value):t};function Ed({displaced:e,id:t}){return!!(e.visible[t]||e.invisible[t])}function Dd({draggable:e,closest:t,inHomeList:n}){return t?n&&t.descriptor.index>e.descriptor.index?t.descriptor.index-1:t.descriptor.index:null}var Od=({pageBorderBoxWithDroppableScroll:e,draggable:t,destination:n,insideDestination:r,last:i,viewport:a,afterCritical:o})=>{let s=n.axis,c=ld(n.axis,t.displaceBy),l=c.value,u=e[s.start],d=e[s.end];return Nu({draggable:t,insideDestination:r,destination:n,viewport:a,last:i,displacedBy:c,index:Dd({draggable:t,closest:lu(t,r).find(e=>{let t=e.descriptor.id,n=e.page.borderBox.center[s.line],r=Pu(t,o),a=Ed({displaced:i,id:t});return r?a?d<=n:u<n-l:a?d<=n+l:u<n})||null,inHomeList:du(t,n)})})},kd=({draggable:e,pageBorderBoxWithDroppableScroll:t,previousImpact:n,destination:r,insideDestination:i,afterCritical:a})=>{if(!r.isCombineEnabled)return null;let o=r.axis,s=ld(r.axis,e.displaceBy),c=s.value,l=t[o.start],u=t[o.end],d=lu(e,i).find(e=>{let t=e.descriptor.id,r=e.page.borderBox,i=r[o.size]/4,s=Pu(t,a),d=Ed({displaced:n.displaced,id:t});return s?d?u>r[o.start]+i&&u<r[o.end]-i:l>r[o.start]-c+i&&l<r[o.end]-c-i:d?u>r[o.start]+c+i&&u<r[o.end]+c-i:l>r[o.start]+i&&l<r[o.end]-i});return d?{displacedBy:s,displaced:n.displaced,at:{type:`COMBINE`,combine:{draggableId:d.descriptor.id,droppableId:r.descriptor.id}}}:null},Ad=({pageOffset:e,draggable:t,draggables:n,droppables:r,previousImpact:i,viewport:a,afterCritical:o})=>{let s=wd(t.page.borderBox,e),c=Cd({pageBorderBox:s,draggable:t,droppables:r});if(!c)return mu;let l=r[c],u=ou(l.descriptor.id,n),d=Td(l,s);return kd({pageBorderBoxWithDroppableScroll:d,draggable:t,previousImpact:i,destination:l,insideDestination:u,afterCritical:o})||Od({pageBorderBoxWithDroppableScroll:d,draggable:t,destination:l,insideDestination:u,last:i.displaced,viewport:a,afterCritical:o})},jd=(e,t)=>({...e,[t.descriptor.id]:t});const Md=({previousImpact:e,impact:t,droppables:n})=>{let r=gd(e),i=gd(t);if(!r||r===i)return n;let a=n[r];return a.subject.withPlaceholder?jd(n,pd(a)):n};var Nd=({draggable:e,draggables:t,droppables:n,previousImpact:r,impact:i})=>{let a=Md({previousImpact:r,impact:i,droppables:n}),o=gd(i);if(!o)return a;let s=n[o];return du(e,s)||s.subject.withPlaceholder?a:jd(a,fd(s,e,t))},Pd=({state:e,clientSelection:t,dimensions:n,viewport:r,impact:i,scrollJumpRequest:a})=>{let o=r||e.viewport,s=n||e.dimensions,c=t||e.current.client.selection,l=zl(c,e.initial.client.selection),u={offset:l,selection:c,borderBoxCenter:Rl(e.initial.client.borderBoxCenter,l)},d={selection:Rl(u.selection,o.scroll.current),borderBoxCenter:Rl(u.borderBoxCenter,o.scroll.current),offset:Rl(u.offset,o.scroll.diff.value)},f={client:u,page:d};if(e.phase===`COLLECTING`)return{...e,dimensions:s,viewport:o,current:f};let p=s.draggables[e.critical.draggable.id],m=i||Ad({pageOffset:d.offset,draggable:p,draggables:s.draggables,droppables:s.droppables,previousImpact:e.impact,viewport:o,afterCritical:e.afterCritical}),h=Nd({draggable:p,impact:m,previousImpact:e.impact,draggables:s.draggables,droppables:s.droppables});return{...e,current:f,dimensions:{draggables:s.draggables,droppables:h},impact:m,viewport:o,scrollJumpRequest:a||null,forceShouldAnimate:a?!1:null}};function Fd(e,t){return e.map(e=>t[e])}var Id=({impact:e,viewport:t,draggables:n,destination:r,forceShouldAnimate:i})=>{let a=e.displaced,o=Au({afterDragging:Fd(a.all,n),destination:r,displacedBy:e.displacedBy,viewport:t.frame,forceShouldAnimate:i,last:a});return{...e,displaced:o}},Ld=({impact:e,draggable:t,droppable:n,draggables:r,viewport:i,afterCritical:a})=>td({pageBorderBoxCenter:Yu({impact:e,draggable:t,draggables:r,droppable:n,afterCritical:a}),draggable:t,viewport:i}),Rd=({state:e,dimensions:t,viewport:n})=>{e.movementMode!==`SNAP`&&X();let r=e.impact,i=n||e.viewport,a=t||e.dimensions,{draggables:o,droppables:s}=a,c=o[e.critical.draggable.id],l=gd(r);!l&&X();let u=s[l],d=Id({impact:r,viewport:i,destination:u,draggables:o});return Pd({impact:d,clientSelection:Ld({impact:d,draggable:c,droppable:u,draggables:o,viewport:i,afterCritical:e.afterCritical}),state:e,dimensions:a,viewport:i})},zd=e=>({index:e.index,droppableId:e.droppableId}),Bd=({draggable:e,home:t,draggables:n,viewport:r})=>{let i=ld(t.axis,e.displaceBy),a=ou(t.descriptor.id,n),o=a.indexOf(e);o===-1&&X();let s=a.slice(o+1),c=s.reduce((e,t)=>(e[t.descriptor.id]=!0,e),{}),l={inVirtualList:t.descriptor.mode===`virtual`,displacedBy:i,effected:c};return{impact:{displaced:Au({afterDragging:s,destination:t,displacedBy:i,last:null,viewport:r.frame,forceShouldAnimate:!1}),displacedBy:i,at:{type:`REORDER`,destination:zd(e.descriptor)}},afterCritical:l}},Vd=(e,t)=>({draggables:e.draggables,droppables:jd(e.droppables,t)}),Hd=({draggable:e,offset:t,initialWindowScroll:n})=>{let r=_l(e.client,t),i=vl(r,n);return{...e,placeholder:{...e.placeholder,client:r},client:r,page:i}},Ud=e=>{let t=e.frame;return!t&&X(),t},Wd=({additions:e,updatedDroppables:t,viewport:n})=>{let r=n.scroll.diff.value;return e.map(e=>{let i=t[e.descriptor.droppableId],a=Ud(i).scroll.diff.value;return Hd({draggable:e,offset:Rl(r,a),initialWindowScroll:n.scroll.initial})})},Gd=({state:e,published:t})=>{let n=t.modified.map(t=>{let n=e.dimensions.droppables[t.droppableId];return eu(n,t.scroll)}),r={...e.dimensions.droppables,...nu(n)},i=ru(Wd({additions:t.additions,updatedDroppables:r,viewport:e.viewport})),a={...e.dimensions.draggables,...i};t.removals.forEach(e=>{delete a[e]});let o={droppables:r,draggables:a},s=gd(e.impact),c=s?o.droppables[s]:null,l=o.draggables[e.critical.draggable.id],u=o.droppables[e.critical.droppable.id],{impact:d,afterCritical:f}=Bd({draggable:l,home:u,draggables:a,viewport:e.viewport}),p=c&&c.isCombineEnabled?e.impact:d,m=Ad({pageOffset:e.current.page.offset,draggable:o.draggables[e.critical.draggable.id],draggables:o.draggables,droppables:o.droppables,previousImpact:p,viewport:e.viewport,afterCritical:f}),h={...e,phase:`DRAGGING`,impact:m,onLiftImpact:d,dimensions:o,afterCritical:f,forceShouldAnimate:!1};return e.phase===`COLLECTING`?h:{...h,phase:`DROP_PENDING`,reason:e.reason,isWaiting:!1}};const Kd=e=>e.movementMode===`SNAP`,qd=(e,t,n)=>{let r=Vd(e.dimensions,t);return!Kd(e)||n?Pd({state:e,dimensions:r}):Rd({state:e,dimensions:r})};function Jd(e){return e.isDragging&&e.movementMode===`SNAP`?{...e,scrollJumpRequest:null}:e}const Yd={phase:`IDLE`,completed:null,shouldFlush:!1};var Xd=(e=Yd,t)=>{if(t.type===`FLUSH`)return{...Yd,shouldFlush:!0};if(t.type===`INITIAL_PUBLISH`){e.phase!==`IDLE`&&X();let{critical:n,clientSelection:r,viewport:i,dimensions:a,movementMode:o}=t.payload,s=a.draggables[n.draggable.id],c=a.droppables[n.droppable.id],l={selection:r,borderBoxCenter:s.client.borderBox.center,offset:Ll},u={client:l,page:{selection:Rl(l.selection,i.scroll.initial),borderBoxCenter:Rl(l.selection,i.scroll.initial),offset:Rl(l.selection,i.scroll.diff.value)}},d=iu(a.droppables).every(e=>!e.isFixedOnPage),{impact:f,afterCritical:p}=Bd({draggable:s,home:c,draggables:a.draggables,viewport:i});return{phase:`DRAGGING`,isDragging:!0,critical:n,movementMode:o,dimensions:a,initial:u,current:u,isWindowScrollAllowed:d,impact:f,afterCritical:p,onLiftImpact:f,viewport:i,scrollJumpRequest:null,forceShouldAnimate:null}}if(t.type===`COLLECTION_STARTING`)return e.phase===`COLLECTING`||e.phase===`DROP_PENDING`?e:(e.phase!==`DRAGGING`&&X(),{...e,phase:`COLLECTING`});if(t.type===`PUBLISH_WHILE_DRAGGING`)return!(e.phase===`COLLECTING`||e.phase===`DROP_PENDING`)&&X(),Gd({state:e,published:t.payload});if(t.type===`MOVE`){if(e.phase===`DROP_PENDING`)return e;!yd(e)&&X();let{client:n}=t.payload;return Bl(n,e.current.client.selection)?e:Pd({state:e,clientSelection:n,impact:Kd(e)?e.impact:null})}if(t.type===`UPDATE_DROPPABLE_SCROLL`){if(e.phase===`DROP_PENDING`||e.phase===`COLLECTING`)return Jd(e);!yd(e)&&X();let{id:n,newScroll:r}=t.payload,i=e.dimensions.droppables[n];return i?qd(e,eu(i,r),!1):e}if(t.type===`UPDATE_DROPPABLE_IS_ENABLED`){if(e.phase===`DROP_PENDING`)return e;!yd(e)&&X();let{id:n,isEnabled:r}=t.payload,i=e.dimensions.droppables[n];return!i&&X(),i.isEnabled===r&&X(),qd(e,{...i,isEnabled:r},!0)}if(t.type===`UPDATE_DROPPABLE_IS_COMBINE_ENABLED`){if(e.phase===`DROP_PENDING`)return e;!yd(e)&&X();let{id:n,isCombineEnabled:r}=t.payload,i=e.dimensions.droppables[n];return!i&&X(),i.isCombineEnabled===r&&X(),qd(e,{...i,isCombineEnabled:r},!0)}if(t.type===`MOVE_BY_WINDOW_SCROLL`){if(e.phase===`DROP_PENDING`||e.phase===`DROP_ANIMATING`)return e;!yd(e)&&X(),!e.isWindowScrollAllowed&&X();let n=t.payload.newScroll;if(Bl(e.viewport.scroll.current,n))return Jd(e);let r=Xu(e.viewport,n);return Kd(e)?Rd({state:e,viewport:r}):Pd({state:e,viewport:r})}if(t.type===`UPDATE_VIEWPORT_MAX_SCROLL`){if(!yd(e))return e;let n=t.payload.maxScroll;if(Bl(n,e.viewport.scroll.max))return e;let r={...e.viewport,scroll:{...e.viewport.scroll,max:n}};return{...e,viewport:r}}if(t.type===`MOVE_UP`||t.type===`MOVE_DOWN`||t.type===`MOVE_LEFT`||t.type===`MOVE_RIGHT`){if(e.phase===`COLLECTING`||e.phase===`DROP_PENDING`)return e;e.phase!==`DRAGGING`&&X();let n=vd({state:e,type:t.type});return n?Pd({state:e,impact:n.impact,clientSelection:n.clientSelection,scrollJumpRequest:n.scrollJumpRequest}):e}if(t.type===`DROP_PENDING`){let n=t.payload.reason;return e.phase!==`COLLECTING`&&X(),{...e,phase:`DROP_PENDING`,isWaiting:!0,reason:n}}if(t.type===`DROP_ANIMATE`){let{completed:n,dropDuration:r,newHomeClientOffset:i}=t.payload;return!(e.phase===`DRAGGING`||e.phase===`DROP_PENDING`)&&X(),{phase:`DROP_ANIMATING`,completed:n,dropDuration:r,newHomeClientOffset:i,dimensions:e.dimensions}}if(t.type===`DROP_COMPLETE`){let{completed:e}=t.payload;return{phase:`IDLE`,completed:e,shouldFlush:!1}}return e};function $(e,t){return e instanceof Object&&`type`in e&&e.type===t}const Zd=e=>({type:`BEFORE_INITIAL_CAPTURE`,payload:e}),Qd=e=>({type:`LIFT`,payload:e}),$d=e=>({type:`INITIAL_PUBLISH`,payload:e}),ef=e=>({type:`PUBLISH_WHILE_DRAGGING`,payload:e}),tf=()=>({type:`COLLECTION_STARTING`,payload:null}),nf=e=>({type:`UPDATE_DROPPABLE_SCROLL`,payload:e}),rf=e=>({type:`UPDATE_DROPPABLE_IS_ENABLED`,payload:e}),af=e=>({type:`UPDATE_DROPPABLE_IS_COMBINE_ENABLED`,payload:e}),of=e=>({type:`MOVE`,payload:e}),sf=e=>({type:`MOVE_BY_WINDOW_SCROLL`,payload:e}),cf=e=>({type:`UPDATE_VIEWPORT_MAX_SCROLL`,payload:e}),lf=()=>({type:`MOVE_UP`,payload:null}),uf=()=>({type:`MOVE_DOWN`,payload:null}),df=()=>({type:`MOVE_RIGHT`,payload:null}),ff=()=>({type:`MOVE_LEFT`,payload:null}),pf=()=>({type:`FLUSH`,payload:null}),mf=e=>({type:`DROP_ANIMATE`,payload:e}),hf=e=>({type:`DROP_COMPLETE`,payload:e}),gf=e=>({type:`DROP`,payload:e}),_f=e=>({type:`DROP_PENDING`,payload:e}),vf=()=>({type:`DROP_ANIMATION_FINISHED`,payload:null});var yf=e=>({getState:t,dispatch:n})=>r=>i=>{if(!$(i,`LIFT`)){r(i);return}let{id:a,clientSelection:o,movementMode:s}=i.payload,c=t();c.phase===`DROP_ANIMATING`&&n(hf({completed:c.completed})),t().phase!==`IDLE`&&X(),n(pf()),n(Zd({draggableId:a,movementMode:s}));let l={draggableId:a,scrollOptions:{shouldPublishImmediately:s===`SNAP`}},{critical:u,dimensions:d,viewport:f}=e.startPublishing(l);n($d({critical:u,dimensions:d,clientSelection:o,movementMode:s,viewport:f}))},bf=e=>()=>t=>n=>{$(n,`INITIAL_PUBLISH`)&&e.dragging(),$(n,`DROP_ANIMATE`)&&e.dropping(n.payload.completed.result.reason),($(n,`FLUSH`)||$(n,`DROP_COMPLETE`))&&e.resting(),t(n)};const xf={outOfTheWay:`cubic-bezier(0.2, 0, 0, 1)`,drop:`cubic-bezier(.2,1,.1,1)`},Sf={opacity:{drop:0,combining:.7},scale:{drop:.75}},Cf={outOfTheWay:.2,minDropTime:.33,maxDropTime:.55},wf=`${Cf.outOfTheWay}s ${xf.outOfTheWay}`,Tf={fluid:`opacity ${wf}`,snap:`transform ${wf}, opacity ${wf}`,drop:e=>{let t=`${e}s ${xf.drop}`;return`transform ${t}, opacity ${t}`},outOfTheWay:`transform ${wf}`,placeholder:`height ${wf}, width ${wf}, margin ${wf}`},Ef=e=>Bl(e,Ll)?void 0:`translate(${e.x}px, ${e.y}px)`,Df={moveTo:Ef,drop:(e,t)=>{let n=Ef(e);if(n)return t?`${n} scale(${Sf.scale.drop})`:n}},{minDropTime:Of,maxDropTime:kf}=Cf,Af=kf-Of,jf=1500;var Mf=({current:e,destination:t,reason:n})=>{let r=Ul(e,t);if(r<=0)return Of;if(r>=jf)return kf;let i=Of+r/jf*Af,a=n===`CANCEL`?i*.6:i;return Number(a.toFixed(2))},Nf=({impact:e,draggable:t,dimensions:n,viewport:r,afterCritical:i})=>{let{draggables:a,droppables:o}=n,s=gd(e),c=s?o[s]:null,l=o[t.descriptor.droppableId];return zl(Ld({impact:e,draggable:t,draggables:a,afterCritical:i,droppable:c||l,viewport:r}),t.client.borderBox.center)},Pf=({draggables:e,reason:t,lastImpact:n,home:r,viewport:i,onLiftImpact:a})=>!n.at||t!==`DROP`?{impact:Id({draggables:e,impact:a,destination:r,viewport:i,forceShouldAnimate:!0}),didDropInsideDroppable:!1}:n.at.type===`REORDER`?{impact:n,didDropInsideDroppable:!0}:{impact:{...n,displaced:pu},didDropInsideDroppable:!0};const Ff=({getState:e,dispatch:t})=>n=>r=>{if(!$(r,`DROP`)){n(r);return}let i=e(),a=r.payload.reason;if(i.phase===`COLLECTING`){t(_f({reason:a}));return}if(i.phase===`IDLE`)return;i.phase===`DROP_PENDING`&&i.isWaiting&&X(),!(i.phase===`DRAGGING`||i.phase===`DROP_PENDING`)&&X();let o=i.critical,s=i.dimensions,c=s.draggables[i.critical.draggable.id],{impact:l,didDropInsideDroppable:u}=Pf({reason:a,lastImpact:i.impact,afterCritical:i.afterCritical,onLiftImpact:i.onLiftImpact,home:i.dimensions.droppables[i.critical.droppable.id],viewport:i.viewport,draggables:i.dimensions.draggables}),d=u?su(l):null,f=u?cu(l):null,p={index:o.draggable.index,droppableId:o.droppable.id},m={draggableId:c.descriptor.id,type:c.descriptor.type,source:p,reason:a,mode:i.movementMode,destination:d,combine:f},h=Nf({impact:l,draggable:c,dimensions:s,viewport:i.viewport,afterCritical:i.afterCritical}),g={critical:i.critical,afterCritical:i.afterCritical,result:m,impact:l};if(!(!Bl(i.current.client.offset,h)||m.combine)){t(hf({completed:g}));return}t(mf({newHomeClientOffset:h,dropDuration:Mf({current:i.current.client.offset,destination:h,reason:a}),completed:g}))};var If=()=>({x:window.pageXOffset,y:window.pageYOffset});function Lf(e){return{eventName:`scroll`,options:{passive:!0,capture:!1},fn:t=>{t.target!==window&&t.target!==window.document||e()}}}function Rf({onWindowScroll:e}){function t(){e(If())}let n=xl(t),r=Lf(n),i=Cl;function a(){return i!==Cl}function o(){a()&&X(),i=Tl(window,[r])}function s(){!a()&&X(),n.cancel(),i(),i=Cl}return{start:o,stop:s,isActive:a}}const zf=e=>$(e,`DROP_COMPLETE`)||$(e,`DROP_ANIMATE`)||$(e,`FLUSH`),Bf=e=>{let t=Rf({onWindowScroll:t=>{e.dispatch(sf({newScroll:t}))}});return e=>n=>{!t.isActive()&&$(n,`INITIAL_PUBLISH`)&&t.start(),t.isActive()&&zf(n)&&t.stop(),e(n)}};var Vf=e=>{let t=!1,n=!1,r=setTimeout(()=>{n=!0}),i=i=>{t||n||(t=!0,e(i),clearTimeout(r))};return i.wasCalled=()=>t,i},Hf=()=>{let e=[],t=t=>{let n=e.findIndex(e=>e.timerId===t);n===-1&&X();let[r]=e.splice(n,1);r.callback()};return{add:n=>{let r=setTimeout(()=>t(r)),i={timerId:r,callback:n};e.push(i)},flush:()=>{if(!e.length)return;let t=[...e];e.length=0,t.forEach(e=>{clearTimeout(e.timerId),e.callback()})}}};const Uf=(e,t)=>e==null&&t==null?!0:e==null||t==null?!1:e.droppableId===t.droppableId&&e.index===t.index,Wf=(e,t)=>e==null&&t==null?!0:e==null||t==null?!1:e.draggableId===t.draggableId&&e.droppableId===t.droppableId,Gf=(e,t)=>{if(e===t)return!0;let n=e.draggable.id===t.draggable.id&&e.draggable.droppableId===t.draggable.droppableId&&e.draggable.type===t.draggable.type&&e.draggable.index===t.draggable.index,r=e.droppable.id===t.droppable.id&&e.droppable.type===t.droppable.type;return n&&r},Kf=(e,t)=>{t()},qf=(e,t)=>({draggableId:e.draggable.id,type:e.droppable.type,source:{droppableId:e.droppable.id,index:e.draggable.index},mode:t});function Jf(e,t,n,r){if(!e){n(r(t));return}let i=Vf(n);e(t,{announce:i}),i.wasCalled()||n(r(t))}var Yf=(e,t)=>{let n=Hf(),r=null,i=(t,n)=>{r&&X(),Kf(`onBeforeCapture`,()=>{let r=e().onBeforeCapture;r&&r({draggableId:t,mode:n})})},a=(t,n)=>{r&&X(),Kf(`onBeforeDragStart`,()=>{let r=e().onBeforeDragStart;r&&r(qf(t,n))})},o=(i,a)=>{r&&X();let o=qf(i,a);r={mode:a,lastCritical:i,lastLocation:o.source,lastCombine:null},n.add(()=>{Kf(`onDragStart`,()=>Jf(e().onDragStart,o,t,Pl.onDragStart))})},s=(i,a)=>{let o=su(a),s=cu(a);!r&&X();let c=!Gf(i,r.lastCritical);c&&(r.lastCritical=i);let l=!Uf(r.lastLocation,o);l&&(r.lastLocation=o);let u=!Wf(r.lastCombine,s);if(u&&(r.lastCombine=s),!c&&!l&&!u)return;let d={...qf(i,r.mode),combine:s,destination:o};n.add(()=>{Kf(`onDragUpdate`,()=>Jf(e().onDragUpdate,d,t,Pl.onDragUpdate))})},c=()=>{!r&&X(),n.flush()},l=n=>{!r&&X(),r=null,Kf(`onDragEnd`,()=>Jf(e().onDragEnd,n,t,Pl.onDragEnd))};return{beforeCapture:i,beforeStart:a,start:o,update:s,flush:c,drop:l,abort:()=>{r&&l({...qf(r.lastCritical,r.mode),combine:null,destination:null,reason:`CANCEL`})}}},Xf=(e,t)=>{let n=Yf(e,t);return e=>t=>r=>{if($(r,`BEFORE_INITIAL_CAPTURE`)){n.beforeCapture(r.payload.draggableId,r.payload.movementMode);return}if($(r,`INITIAL_PUBLISH`)){let e=r.payload.critical;n.beforeStart(e,r.payload.movementMode),t(r),n.start(e,r.payload.movementMode);return}if($(r,`DROP_COMPLETE`)){let e=r.payload.completed.result;n.flush(),t(r),n.drop(e);return}if(t(r),$(r,`FLUSH`)){n.abort();return}let i=e.getState();i.phase===`DRAGGING`&&n.update(i.critical,i.impact)}};const Zf=e=>t=>n=>{if(!$(n,`DROP_ANIMATION_FINISHED`)){t(n);return}let r=e.getState();r.phase!==`DROP_ANIMATING`&&X(),e.dispatch(hf({completed:r.completed}))},Qf=e=>{let t=null,n=null;function r(){n&&=(cancelAnimationFrame(n),null),t&&=(t(),null)}return i=>a=>{if(($(a,`FLUSH`)||$(a,`DROP_COMPLETE`)||$(a,`DROP_ANIMATION_FINISHED`))&&r(),i(a),!$(a,`DROP_ANIMATE`))return;let o={eventName:`scroll`,options:{capture:!0,passive:!1,once:!0},fn:function(){e.getState().phase===`DROP_ANIMATING`&&e.dispatch(vf())}};n=requestAnimationFrame(()=>{n=null,t=Tl(window,[o])})}};var $f=e=>()=>t=>n=>{($(n,`DROP_COMPLETE`)||$(n,`FLUSH`)||$(n,`DROP_ANIMATE`))&&e.stopPublishing(),t(n)},ep=e=>{let t=!1;return()=>n=>r=>{if($(r,`INITIAL_PUBLISH`)){t=!0,e.tryRecordFocus(r.payload.critical.draggable.id),n(r),e.tryRestoreFocusRecorded();return}if(n(r),t){if($(r,`FLUSH`)){t=!1,e.tryRestoreFocusRecorded();return}if($(r,`DROP_COMPLETE`)){t=!1;let n=r.payload.completed.result;n.combine&&e.tryShiftRecord(n.draggableId,n.combine.draggableId),e.tryRestoreFocusRecorded()}}}};const tp=e=>$(e,`DROP_COMPLETE`)||$(e,`DROP_ANIMATE`)||$(e,`FLUSH`);var np=e=>t=>n=>r=>{if(tp(r)){e.stop(),n(r);return}if($(r,`INITIAL_PUBLISH`)){n(r);let i=t.getState();i.phase!==`DRAGGING`&&X(),e.start(i);return}n(r),e.scroll(t.getState())};const rp=e=>t=>n=>{if(t(n),!$(n,`PUBLISH_WHILE_DRAGGING`))return;let r=e.getState();r.phase===`DROP_PENDING`&&(r.isWaiting||e.dispatch(gf({reason:r.reason})))},ip=Yi;var ap=({dimensionMarshal:e,focusMarshal:t,styleMarshal:n,getResponders:r,announce:i,autoScroller:a})=>Xi(Xd,ip(qi(bf(n),$f(e),yf(e),Ff,Zf,Qf,rp,np(a),Bf,ep(t),Xf(r,i))));const op=()=>({additions:{},removals:{},modified:{}});function sp({registry:e,callbacks:t}){let n=op(),r=null,i=()=>{r||=(t.collectionStarting(),requestAnimationFrame(()=>{r=null;let{additions:i,removals:a,modified:o}=n,s=Object.keys(i).map(t=>e.draggable.getById(t).getDimension(Ll)).sort((e,t)=>e.descriptor.index-t.descriptor.index),c=Object.keys(o).map(t=>({droppableId:t,scroll:e.droppable.getById(t).callbacks.getScrollWhileDragging()})),l={additions:s,removals:Object.keys(a),modified:c};n=op(),t.publish(l)}))};return{add:e=>{let t=e.descriptor.id;n.additions[t]=e,n.modified[e.descriptor.droppableId]=!0,n.removals[t]&&delete n.removals[t],i()},remove:e=>{let t=e.descriptor;n.removals[t.id]=!0,n.modified[t.droppableId]=!0,n.additions[t.id]&&delete n.additions[t.id],i()},stop:()=>{r&&(cancelAnimationFrame(r),r=null,n=op())}}}var cp=({scrollHeight:e,scrollWidth:t,height:n,width:r})=>{let i=zl({x:t,y:e},{x:r,y:n});return{x:Math.max(0,i.x),y:Math.max(0,i.y)}},lp=()=>{let e=document.documentElement;return!e&&X(),e},up=()=>{let e=lp();return cp({scrollHeight:e.scrollHeight,scrollWidth:e.scrollWidth,width:e.clientWidth,height:e.clientHeight})},dp=()=>{let e=If(),t=up(),n=e.y,r=e.x,i=lp(),a=i.clientWidth,o=i.clientHeight;return{frame:ll({top:n,left:r,right:r+a,bottom:n+o}),scroll:{initial:e,current:e,max:t,diff:{value:Ll,displacement:Ll}}}},fp=({critical:e,scrollOptions:t,registry:n})=>{let r=dp(),i=r.scroll.current,a=e.droppable,o=n.droppable.getAllByType(a.type).map(e=>e.callbacks.getDimensionAndWatchScroll(i,t));return{dimensions:{draggables:ru(n.draggable.getAllByType(e.draggable.type).map(e=>e.getDimension(i))),droppables:nu(o)},critical:e,viewport:r}};function pp(e,t,n){return!(n.descriptor.id===t.id||n.descriptor.type!==t.type||e.droppable.getById(n.descriptor.droppableId).descriptor.mode!==`virtual`)}var mp=(e,t)=>{let n=null,r=sp({callbacks:{publish:t.publishWhileDragging,collectionStarting:t.collectionStarting},registry:e}),i=(r,i)=>{!e.droppable.exists(r)&&X(),n&&t.updateDroppableIsEnabled({id:r,isEnabled:i})},a=(r,i)=>{n&&(!e.droppable.exists(r)&&X(),t.updateDroppableIsCombineEnabled({id:r,isCombineEnabled:i}))},o=(r,i)=>{n&&(!e.droppable.exists(r)&&X(),t.updateDroppableScroll({id:r,newScroll:i}))},s=(t,r)=>{n&&e.droppable.getById(t).callbacks.scroll(r)},c=()=>{if(!n)return;r.stop();let t=n.critical.droppable;e.droppable.getAllByType(t.type).forEach(e=>e.callbacks.dragStopped()),n.unsubscribe(),n=null},l=t=>{!n&&X();let i=n.critical.draggable;t.type===`ADDITION`&&pp(e,i,t.value)&&r.add(t.value),t.type===`REMOVAL`&&pp(e,i,t.value)&&r.remove(t.value)};return{updateDroppableIsEnabled:i,updateDroppableIsCombineEnabled:a,scrollDroppable:s,updateDroppableScroll:o,startPublishing:t=>{n&&X();let r=e.draggable.getById(t.draggableId),i=e.droppable.getById(r.descriptor.droppableId),a={draggable:r.descriptor,droppable:i.descriptor};return n={critical:a,unsubscribe:e.subscribe(l)},fp({critical:a,registry:e,scrollOptions:t.scrollOptions})},stopPublishing:c}},hp=(e,t)=>e.phase===`IDLE`?!0:e.phase!==`DROP_ANIMATING`||e.completed.result.draggableId===t?!1:e.completed.result.reason===`DROP`,gp=e=>{window.scrollBy(e.x,e.y)};const _p=tu(e=>iu(e).filter(e=>!(!e.isEnabled||!e.frame))),vp=(e,t)=>_p(t).find(t=>(!t.frame&&X(),bd(t.frame.pageMarginBox)(e)))||null;var yp=({center:e,destination:t,droppables:n})=>{if(t){let e=n[t];return e.frame?e:null}return vp(e,n)};const bp={startFromPercentage:.25,maxScrollAtPercentage:.05,maxPixelScroll:28,ease:e=>e**2,durationDampening:{stopDampeningAt:1200,accelerateAt:360},disabled:!1};var xp=(e,t,n=()=>bp)=>{let r=n();return{startScrollingFrom:e[t.size]*r.startFromPercentage,maxScrollValueAt:e[t.size]*r.maxScrollAtPercentage}},Sp=({startOfRange:e,endOfRange:t,current:n})=>{let r=t-e;return r===0?0:(n-e)/r},Cp=1,wp=(e,t,n=()=>bp)=>{let r=n();if(e>t.startScrollingFrom)return 0;if(e<=t.maxScrollValueAt)return r.maxPixelScroll;if(e===t.startScrollingFrom)return Cp;let i=1-Sp({startOfRange:t.maxScrollValueAt,endOfRange:t.startScrollingFrom,current:e}),a=r.maxPixelScroll*r.ease(i);return Math.ceil(a)},Tp=(e,t,n)=>{let r=n(),i=r.durationDampening.accelerateAt,a=r.durationDampening.stopDampeningAt,o=t,s=a,c=Date.now()-o;if(c>=a)return e;if(c<i)return Cp;let l=Sp({startOfRange:i,endOfRange:s,current:c}),u=e*r.ease(l);return Math.ceil(u)},Ep=({distanceToEdge:e,thresholds:t,dragStartTime:n,shouldUseTimeDampening:r,getAutoScrollerOptions:i})=>{let a=wp(e,t,i);return a===0?0:r?Math.max(Tp(a,n,i),Cp):a},Dp=({container:e,distanceToEdges:t,dragStartTime:n,axis:r,shouldUseTimeDampening:i,getAutoScrollerOptions:a})=>{let o=xp(e,r,a);return t[r.end]<t[r.start]?Ep({distanceToEdge:t[r.end],thresholds:o,dragStartTime:n,shouldUseTimeDampening:i,getAutoScrollerOptions:a}):-1*Ep({distanceToEdge:t[r.start],thresholds:o,dragStartTime:n,shouldUseTimeDampening:i,getAutoScrollerOptions:a})},Op=({container:e,subject:t,proposedScroll:n})=>{let r=t.height>e.height,i=t.width>e.width;return!i&&!r?n:i&&r?null:{x:i?0:n.x,y:r?0:n.y}};const kp=Gl(e=>e===0?0:e);var Ap=({dragStartTime:e,container:t,subject:n,center:r,shouldUseTimeDampening:i,getAutoScrollerOptions:a})=>{let o={top:r.y-t.top,right:t.right-r.x,bottom:t.bottom-r.y,left:r.x-t.left},s=Dp({container:t,distanceToEdges:o,dragStartTime:e,axis:vu,shouldUseTimeDampening:i,getAutoScrollerOptions:a}),c=kp({x:Dp({container:t,distanceToEdges:o,dragStartTime:e,axis:yu,shouldUseTimeDampening:i,getAutoScrollerOptions:a}),y:s});if(Bl(c,Ll))return null;let l=Op({container:t,subject:n,proposedScroll:c});return l?Bl(l,Ll)?null:l:null};const jp=Gl(e=>e===0?0:e>0?1:-1),Mp=(()=>{let e=(e,t)=>e<0?e:e>t?e-t:0;return({current:t,max:n,change:r})=>{let i=Rl(t,r),a={x:e(i.x,n.x),y:e(i.y,n.y)};return Bl(a,Ll)?null:a}})(),Np=({max:e,current:t,change:n})=>{let r={x:Math.max(t.x,e.x),y:Math.max(t.y,e.y)},i=jp(n),a=Mp({max:r,current:t,change:i});return!a||i.x!==0&&a.x===0||i.y!==0&&a.y===0},Pp=(e,t)=>Np({current:e.scroll.current,max:e.scroll.max,change:t}),Fp=(e,t)=>{if(!Pp(e,t))return null;let n=e.scroll.max,r=e.scroll.current;return Mp({current:r,max:n,change:t})},Ip=(e,t)=>{let n=e.frame;return n?Np({current:n.scroll.current,max:n.scroll.max,change:t}):!1},Lp=(e,t)=>{let n=e.frame;return!n||!Ip(e,t)?null:Mp({current:n.scroll.current,max:n.scroll.max,change:t})};var Rp=({viewport:e,subject:t,center:n,dragStartTime:r,shouldUseTimeDampening:i,getAutoScrollerOptions:a})=>{let o=Ap({dragStartTime:r,container:e.frame,subject:t,center:n,shouldUseTimeDampening:i,getAutoScrollerOptions:a});return o&&Pp(e,o)?o:null},zp=({droppable:e,subject:t,center:n,dragStartTime:r,shouldUseTimeDampening:i,getAutoScrollerOptions:a})=>{let o=e.frame;if(!o)return null;let s=Ap({dragStartTime:r,container:o.pageMarginBox,subject:t,center:n,shouldUseTimeDampening:i,getAutoScrollerOptions:a});return s&&Ip(e,s)?s:null},Bp=({state:e,dragStartTime:t,shouldUseTimeDampening:n,scrollWindow:r,scrollDroppable:i,getAutoScrollerOptions:a})=>{let o=e.current.page.borderBoxCenter,s=e.dimensions.draggables[e.critical.draggable.id].page.marginBox;if(e.isWindowScrollAllowed){let i=e.viewport,c=Rp({dragStartTime:t,viewport:i,subject:s,center:o,shouldUseTimeDampening:n,getAutoScrollerOptions:a});if(c){r(c);return}}let c=yp({center:o,destination:gd(e.impact),droppables:e.dimensions.droppables});if(!c)return;let l=zp({dragStartTime:t,droppable:c,subject:s,center:o,shouldUseTimeDampening:n,getAutoScrollerOptions:a});l&&i(c.descriptor.id,l)},Vp=({scrollWindow:e,scrollDroppable:t,getAutoScrollerOptions:n=()=>bp})=>{let r=xl(e),i=xl(t),a=null,o=e=>{!a&&X();let{shouldUseTimeDampening:t,dragStartTime:o}=a;Bp({state:e,scrollWindow:r,scrollDroppable:i,dragStartTime:o,shouldUseTimeDampening:t,getAutoScrollerOptions:n})};return{start:e=>{a&&X();let t=Date.now(),r=!1,i=()=>{r=!0};Bp({state:e,dragStartTime:0,shouldUseTimeDampening:!1,scrollWindow:i,scrollDroppable:i,getAutoScrollerOptions:n}),a={dragStartTime:t,shouldUseTimeDampening:r},r&&o(e)},stop:()=>{a&&=(r.cancel(),i.cancel(),null)},scroll:o}},Hp=({move:e,scrollDroppable:t,scrollWindow:n})=>{let r=(t,n)=>{e({client:Rl(t.current.client.selection,n)})},i=(e,n)=>{if(!Ip(e,n))return n;let r=Lp(e,n);if(!r)return t(e.descriptor.id,n),null;let i=zl(n,r);return t(e.descriptor.id,i),zl(n,i)},a=(e,t,r)=>{if(!e||!Pp(t,r))return r;let i=Fp(t,r);if(!i)return n(r),null;let a=zl(r,i);return n(a),zl(r,a)};return e=>{let t=e.scrollJumpRequest;if(!t)return;let n=gd(e.impact);!n&&X();let o=i(e.dimensions.droppables[n],t);if(!o)return;let s=e.viewport,c=a(e.isWindowScrollAllowed,s,o);c&&r(e,c)}},Up=({scrollDroppable:e,scrollWindow:t,move:n,getAutoScrollerOptions:r})=>{let i=Vp({scrollWindow:t,scrollDroppable:e,getAutoScrollerOptions:r}),a=Hp({move:n,scrollWindow:t,scrollDroppable:e});return{scroll:e=>{if(!(r().disabled||e.phase!==`DRAGGING`)){if(e.movementMode===`FLUID`){i.scroll(e);return}e.scrollJumpRequest&&a(e)}},start:i.start,stop:i.stop}};const Wp=`data-rfd`,Gp=(()=>{let e=`${Wp}-drag-handle`;return{base:e,draggableId:`${e}-draggable-id`,contextId:`${e}-context-id`}})(),Kp=(()=>{let e=`${Wp}-draggable`;return{base:e,contextId:`${e}-context-id`,id:`${e}-id`}})(),qp=(()=>{let e=`${Wp}-droppable`;return{base:e,contextId:`${e}-context-id`,id:`${e}-id`}})(),Jp={contextId:`${Wp}-scroll-container-context-id`},Yp=e=>t=>`[${t}="${e}"]`,Xp=(e,t)=>e.map(e=>{let n=e.styles[t];return n?`${e.selector} { ${n} }`:``}).join(` `);var Zp=e=>{let t=Yp(e),n=(()=>{let e=`
50
+ cursor: -webkit-grab;
51
+ cursor: grab;
52
+ `;return{selector:t(Gp.contextId),styles:{always:`
53
+ -webkit-touch-callout: none;
54
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
55
+ touch-action: manipulation;
56
+ `,resting:e,dragging:`pointer-events: none;`,dropAnimating:e}}})(),r=[(()=>{let e=`
57
+ transition: ${Tf.outOfTheWay};
58
+ `;return{selector:t(Kp.contextId),styles:{dragging:e,dropAnimating:e,userCancel:e}}})(),n,{selector:t(qp.contextId),styles:{always:`overflow-anchor: none;`}},{selector:`body`,styles:{dragging:`
59
+ cursor: grabbing;
60
+ cursor: -webkit-grabbing;
61
+ user-select: none;
62
+ -webkit-user-select: none;
63
+ -moz-user-select: none;
64
+ -ms-user-select: none;
65
+ overflow-anchor: none;
66
+ `}}];return{always:Xp(r,`always`),resting:Xp(r,`resting`),dragging:Xp(r,`dragging`),dropAnimating:Xp(r,`dropAnimating`),userCancel:Xp(r,`userCancel`)}};const Qp=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0?jn:R,$p=()=>{let e=document.querySelector(`head`);return!e&&X(),e},em=e=>{let t=document.createElement(`style`);return e&&t.setAttribute(`nonce`,e),t.type=`text/css`,t};function tm(e,t){let n=Z(()=>Zp(e),[e]),r=z(null),i=z(null),a=Q(tu(e=>{let t=i.current;!t&&X(),t.textContent=e}),[]),o=Q(e=>{let t=r.current;!t&&X(),t.textContent=e},[]);Qp(()=>{!(!r.current&&!i.current)&&X();let s=em(t),c=em(t);return r.current=s,i.current=c,s.setAttribute(`${Wp}-always`,e),c.setAttribute(`${Wp}-dynamic`,e),$p().appendChild(s),$p().appendChild(c),o(n.always),a(n.resting),()=>{let e=e=>{let t=e.current;!t&&X(),$p().removeChild(t),e.current=null};e(r),e(i)}},[t,o,a,n.always,n.resting,e]);let s=Q(()=>a(n.dragging),[a,n.dragging]),c=Q(e=>{if(e===`DROP`){a(n.dropAnimating);return}a(n.userCancel)},[a,n.dropAnimating,n.userCancel]),l=Q(()=>{i.current&&a(n.resting)},[a,n.resting]);return Z(()=>({dragging:s,dropping:c,resting:l}),[s,c,l])}function nm(e,t){return Array.from(e.querySelectorAll(t))}var rm=e=>e&&e.ownerDocument&&e.ownerDocument.defaultView?e.ownerDocument.defaultView:window;function im(e){return e instanceof rm(e).HTMLElement}function am(e,t){let n=`[${Gp.contextId}="${e}"]`,r=nm(document,n);if(!r.length)return null;let i=r.find(e=>e.getAttribute(Gp.draggableId)===t);return!i||!im(i)?null:i}function om(e){let t=z({}),n=z(null),r=z(null),i=z(!1),a=Q(function(e,n){let r={id:e,focus:n};return t.current[e]=r,function(){let n=t.current;n[e]!==r&&delete n[e]}},[]),o=Q(function(t){let n=am(e,t);n&&n!==document.activeElement&&n.focus()},[e]),s=Q(function(e,t){n.current===e&&(n.current=t)},[]),c=Q(function(){r.current||i.current&&(r.current=requestAnimationFrame(()=>{r.current=null;let e=n.current;e&&o(e)}))},[o]),l=Q(function(e){n.current=null;let t=document.activeElement;t&&t.getAttribute(Gp.draggableId)===e&&(n.current=e)},[]);return Qp(()=>(i.current=!0,function(){i.current=!1;let e=r.current;e&&cancelAnimationFrame(e)}),[]),Z(()=>({register:a,tryRecordFocus:l,tryRestoreFocusRecorded:c,tryShiftRecord:s}),[a,l,c,s])}function sm(){let e={draggables:{},droppables:{}},t=[];function n(e){return t.push(e),function(){let n=t.indexOf(e);n!==-1&&t.splice(n,1)}}function r(e){t.length&&t.forEach(t=>t(e))}function i(t){return e.draggables[t]||null}function a(e){let t=i(e);return!t&&X(),t}let o={register:t=>{e.draggables[t.descriptor.id]=t,r({type:`ADDITION`,value:t})},update:(t,n)=>{let r=e.draggables[n.descriptor.id];r&&r.uniqueId===t.uniqueId&&(delete e.draggables[n.descriptor.id],e.draggables[t.descriptor.id]=t)},unregister:t=>{let n=t.descriptor.id,a=i(n);a&&t.uniqueId===a.uniqueId&&(delete e.draggables[n],e.droppables[t.descriptor.droppableId]&&r({type:`REMOVAL`,value:t}))},getById:a,findById:i,exists:e=>!!i(e),getAllByType:t=>Object.values(e.draggables).filter(e=>e.descriptor.type===t)};function s(t){return e.droppables[t]||null}function c(e){let t=s(e);return!t&&X(),t}let l={register:t=>{e.droppables[t.descriptor.id]=t},unregister:t=>{let n=s(t.descriptor.id);n&&t.uniqueId===n.uniqueId&&delete e.droppables[t.descriptor.id]},getById:c,findById:s,exists:e=>!!s(e),getAllByType:t=>Object.values(e.droppables).filter(e=>e.descriptor.type===t)};function u(){e.draggables={},e.droppables={},t.length=0}return{draggable:o,droppable:l,subscribe:n,clean:u}}function cm(){let e=Z(sm,[]);return R(()=>function(){e.clean()},[e]),e}var lm=I.createContext(null),um=()=>{let e=document.body;return!e&&X(),e};const dm={position:`absolute`,width:`1px`,height:`1px`,margin:`-1px`,border:`0`,padding:`0`,overflow:`hidden`,clip:`rect(0 0 0 0)`,"clip-path":`inset(100%)`},fm=e=>`rfd-announcement-${e}`;function pm(e){let t=Z(()=>fm(e),[e]),n=z(null);return R(function(){let e=document.createElement(`div`);return n.current=e,e.id=t,e.setAttribute(`aria-live`,`assertive`),e.setAttribute(`aria-atomic`,`true`),pe(e.style,dm),um().appendChild(e),function(){setTimeout(function(){let t=um();t.contains(e)&&t.removeChild(e),e===n.current&&(n.current=null)})}},[t]),Q(e=>{let t=n.current;if(t){t.textContent=e;return}},[])}const mm={separator:`::`};function hm(e,t=mm){let n=I.useId();return Z(()=>`${e}${t.separator}${n}`,[t.separator,e,n])}function gm({contextId:e,uniqueId:t}){return`rfd-hidden-text-${e}-${t}`}function _m({contextId:e,text:t}){let n=hm(`hidden-text`,{separator:`-`}),r=Z(()=>gm({contextId:e,uniqueId:n}),[n,e]);return R(function(){let e=document.createElement(`div`);return e.id=r,e.textContent=t,e.style.display=`none`,um().appendChild(e),function(){let t=um();t.contains(e)&&t.removeChild(e)}},[r,t]),r}var vm=I.createContext(null);function ym(e){let t=z(e);return R(()=>{t.current=e}),t}function bm(){let e=null;function t(){return!!e}function n(t){return t===e}function r(t){e&&X();let n={abandon:t};return e=n,n}function i(){!e&&X(),e=null}function a(){e&&(e.abandon(),i())}return{isClaimed:t,isActive:n,claim:r,release:i,tryAbandon:a}}function xm(e){return e.phase===`IDLE`||e.phase===`DROP_ANIMATING`?!1:e.isDragging}const Sm={13:!0,9:!0};var Cm=e=>{Sm[e.keyCode]&&e.preventDefault()};const wm=(()=>{let e=`visibilitychange`;return typeof document>`u`?e:[e,`ms${e}`,`webkit${e}`,`moz${e}`,`o${e}`].find(e=>`on${e}`in document)||e})();function Tm(e,t){return Math.abs(t.x-e.x)>=5||Math.abs(t.y-e.y)>=5}const Em={type:`IDLE`};function Dm({cancel:e,completed:t,getPhase:n,setPhase:r}){return[{eventName:`mousemove`,fn:e=>{let{button:t,clientX:i,clientY:a}=e;if(t!==0)return;let o={x:i,y:a},s=n();if(s.type===`DRAGGING`){e.preventDefault(),s.actions.move(o);return}s.type!==`PENDING`&&X();let c=s.point;Tm(c,o)&&(e.preventDefault(),r({type:`DRAGGING`,actions:s.actions.fluidLift(o)}))}},{eventName:`mouseup`,fn:r=>{let i=n();if(i.type!==`DRAGGING`){e();return}r.preventDefault(),i.actions.drop({shouldBlockNextClick:!0}),t()}},{eventName:`mousedown`,fn:t=>{n().type===`DRAGGING`&&t.preventDefault(),e()}},{eventName:`keydown`,fn:t=>{if(n().type===`PENDING`){e();return}if(t.keyCode===27){t.preventDefault(),e();return}Cm(t)}},{eventName:`resize`,fn:e},{eventName:`scroll`,options:{passive:!0,capture:!1},fn:()=>{n().type===`PENDING`&&e()}},{eventName:`webkitmouseforcedown`,fn:t=>{let r=n();if(r.type===`IDLE`&&X(),r.actions.shouldRespectForcePress()){e();return}t.preventDefault()}},{eventName:wm,fn:e}]}function Om(e){let t=z(Em),n=z(Cl),r=Z(()=>({eventName:`mousedown`,fn:function(t){if(t.defaultPrevented||t.button!==0||t.ctrlKey||t.metaKey||t.shiftKey||t.altKey)return;let r=e.findClosestDraggableId(t);if(!r)return;let i=e.tryGetLock(r,o,{sourceEvent:t});if(!i)return;t.preventDefault();let a={x:t.clientX,y:t.clientY};n.current(),l(i,a)}}),[e]),i=Z(()=>({eventName:`webkitmouseforcewillbegin`,fn:t=>{if(t.defaultPrevented)return;let n=e.findClosestDraggableId(t);if(!n)return;let r=e.findOptionsForDraggable(n);r&&(r.shouldRespectForcePress||e.canGetLock(n)&&t.preventDefault())}}),[e]),a=Q(function(){n.current=Tl(window,[i,r],{passive:!1,capture:!0})},[i,r]),o=Q(()=>{t.current.type!==`IDLE`&&(t.current=Em,n.current(),a())},[a]),s=Q(()=>{let e=t.current;o(),e.type===`DRAGGING`&&e.actions.cancel({shouldBlockNextClick:!0}),e.type===`PENDING`&&e.actions.abort()},[o]),c=Q(function(){let e={capture:!0,passive:!1},r=Dm({cancel:s,completed:o,getPhase:()=>t.current,setPhase:e=>{t.current=e}});n.current=Tl(window,r,e)},[s,o]),l=Q(function(e,n){t.current.type!==`IDLE`&&X(),t.current={type:`PENDING`,point:n,actions:e},c()},[c]);Qp(function(){return a(),function(){n.current()}},[a])}function km(){}const Am={34:!0,33:!0,36:!0,35:!0};function jm(e,t){function n(){t(),e.cancel()}function r(){t(),e.drop()}return[{eventName:`keydown`,fn:t=>{if(t.keyCode===27){t.preventDefault(),n();return}if(t.keyCode===32){t.preventDefault(),r();return}if(t.keyCode===40){t.preventDefault(),e.moveDown();return}if(t.keyCode===38){t.preventDefault(),e.moveUp();return}if(t.keyCode===39){t.preventDefault(),e.moveRight();return}if(t.keyCode===37){t.preventDefault(),e.moveLeft();return}if(Am[t.keyCode]){t.preventDefault();return}Cm(t)}},{eventName:`mousedown`,fn:n},{eventName:`mouseup`,fn:n},{eventName:`click`,fn:n},{eventName:`touchstart`,fn:n},{eventName:`resize`,fn:n},{eventName:`wheel`,fn:n,options:{passive:!0}},{eventName:wm,fn:n}]}function Mm(e){let t=z(km),n=Z(()=>({eventName:`keydown`,fn:function(n){if(n.defaultPrevented||n.keyCode!==32)return;let i=e.findClosestDraggableId(n);if(!i)return;let a=e.tryGetLock(i,c,{sourceEvent:n});if(!a)return;n.preventDefault();let o=!0,s=a.snapLift();t.current();function c(){!o&&X(),o=!1,t.current(),r()}t.current=Tl(window,jm(s,c),{capture:!0,passive:!1})}}),[e]),r=Q(function(){t.current=Tl(window,[n],{passive:!1,capture:!0})},[n]);Qp(function(){return r(),function(){t.current()}},[r])}const Nm={type:`IDLE`};function Pm({cancel:e,getPhase:t}){return[{eventName:`orientationchange`,fn:e},{eventName:`resize`,fn:e},{eventName:`contextmenu`,fn:e=>{e.preventDefault()}},{eventName:`keydown`,fn:n=>{if(t().type!==`DRAGGING`){e();return}n.keyCode===27&&n.preventDefault(),e()}},{eventName:wm,fn:e}]}function Fm({cancel:e,completed:t,getPhase:n}){return[{eventName:`touchmove`,options:{capture:!1},fn:t=>{let r=n();if(r.type!==`DRAGGING`){e();return}r.hasMoved=!0;let{clientX:i,clientY:a}=t.touches[0],o={x:i,y:a};t.preventDefault(),r.actions.move(o)}},{eventName:`touchend`,fn:r=>{let i=n();if(i.type!==`DRAGGING`){e();return}r.preventDefault(),i.actions.drop({shouldBlockNextClick:!0}),t()}},{eventName:`touchcancel`,fn:t=>{if(n().type!==`DRAGGING`){e();return}t.preventDefault(),e()}},{eventName:`touchforcechange`,fn:t=>{let r=n();r.type===`IDLE`&&X();let i=t.touches[0];if(!i||!(i.force>=.15))return;let a=r.actions.shouldRespectForcePress();if(r.type===`PENDING`){a&&e();return}if(a){if(r.hasMoved){t.preventDefault();return}e();return}t.preventDefault()}},{eventName:wm,fn:e}]}function Im(e){let t=z(Nm),n=z(Cl),r=Q(function(){return t.current},[]),i=Q(function(e){t.current=e},[]),a=Z(()=>({eventName:`touchstart`,fn:function(t){if(t.defaultPrevented)return;let r=e.findClosestDraggableId(t);if(!r)return;let i=e.tryGetLock(r,s,{sourceEvent:t});if(!i)return;let{clientX:a,clientY:o}=t.touches[0],c={x:a,y:o};n.current(),d(i,c)}}),[e]),o=Q(function(){n.current=Tl(window,[a],{capture:!0,passive:!1})},[a]),s=Q(()=>{let e=t.current;e.type!==`IDLE`&&(e.type===`PENDING`&&clearTimeout(e.longPressTimerId),i(Nm),n.current(),o())},[o,i]),c=Q(()=>{let e=t.current;s(),e.type===`DRAGGING`&&e.actions.cancel({shouldBlockNextClick:!0}),e.type===`PENDING`&&e.actions.abort()},[s]),l=Q(function(){let e={capture:!0,passive:!1},t={cancel:c,completed:s,getPhase:r},i=Tl(window,Fm(t),e),a=Tl(window,Pm(t),e);n.current=function(){i(),a()}},[c,r,s]),u=Q(function(){let e=r();e.type!==`PENDING`&&X(),i({type:`DRAGGING`,actions:e.actions.fluidLift(e.point),hasMoved:!1})},[r,i]),d=Q(function(e,t){r().type!==`IDLE`&&X(),i({type:`PENDING`,point:t,actions:e,longPressTimerId:setTimeout(u,120)}),l()},[l,r,i,u]);Qp(function(){return o(),function(){n.current();let e=r();e.type===`PENDING`&&(clearTimeout(e.longPressTimerId),i(Nm))}},[r,o,i]),Qp(function(){return Tl(window,[{eventName:`touchmove`,fn:()=>{},options:{capture:!1,passive:!1}}])},[])}const Lm=[`input`,`button`,`textarea`,`select`,`option`,`optgroup`,`video`,`audio`];function Rm(e,t){if(t==null)return!1;if(Lm.includes(t.tagName.toLowerCase()))return!0;let n=t.getAttribute(`contenteditable`);return n===`true`||n===``?!0:t===e?!1:Rm(e,t.parentElement)}function zm(e,t){let n=t.target;return im(n)?Rm(e,n):!1}var Bm=e=>ll(e.getBoundingClientRect()).center;function Vm(e){return e instanceof rm(e).Element}const Hm=(()=>{let e=`matches`;return typeof document>`u`?e:[e,`msMatchesSelector`,`webkitMatchesSelector`].find(e=>e in Element.prototype)||e})();function Um(e,t){return e==null?null:e[Hm](t)?e:Um(e.parentElement,t)}function Wm(e,t){return e.closest?e.closest(t):Um(e,t)}function Gm(e){return`[${Gp.contextId}="${e}"]`}function Km(e,t){let n=t.target;if(!Vm(n))return null;let r=Wm(n,Gm(e));return!r||!im(r)?null:r}function qm(e,t){let n=Km(e,t);return n?n.getAttribute(Gp.draggableId):null}function Jm(e,t){let n=`[${Kp.contextId}="${e}"]`,r=nm(document,n).find(e=>e.getAttribute(Kp.id)===t);return!r||!im(r)?null:r}function Ym(e){e.preventDefault()}function Xm({expected:e,phase:t,isLockActive:n,shouldWarn:r}){return!(!n()||e!==t)}function Zm({lockAPI:e,store:t,registry:n,draggableId:r}){if(e.isClaimed())return!1;let i=n.draggable.findById(r);return!(!i||!i.options.isEnabled||!hp(t.getState(),r))}function Qm({lockAPI:e,contextId:t,store:n,registry:r,draggableId:i,forceSensorStop:a,sourceEvent:o}){if(!Zm({lockAPI:e,store:n,registry:r,draggableId:i}))return null;let s=r.draggable.getById(i),c=Jm(t,s.descriptor.id);if(!c||o&&!s.options.canDragInteractiveElements&&zm(c,o))return null;let l=e.claim(a||Cl),u=`PRE_DRAG`;function d(){return s.options.shouldRespectForcePress}function f(){return e.isActive(l)}function p(e,t){Xm({expected:e,phase:u,isLockActive:f,shouldWarn:!0})&&n.dispatch(t())}let m=p.bind(null,`DRAGGING`);function h(t){function r(){e.release(),u=`COMPLETED`}u!==`PRE_DRAG`&&(r(),X()),n.dispatch(Qd(t.liftActionArgs)),u=`DRAGGING`;function i(e,i={shouldBlockNextClick:!1}){if(t.cleanup(),i.shouldBlockNextClick){let e=Tl(window,[{eventName:`click`,fn:Ym,options:{once:!0,passive:!1,capture:!0}}]);setTimeout(e)}r(),n.dispatch(gf({reason:e}))}return{isActive:()=>Xm({expected:`DRAGGING`,phase:u,isLockActive:f,shouldWarn:!1}),shouldRespectForcePress:d,drop:e=>i(`DROP`,e),cancel:e=>i(`CANCEL`,e),...t.actions}}function g(e){let t=xl(e=>{m(()=>of({client:e}))});return{...h({liftActionArgs:{id:i,clientSelection:e,movementMode:`FLUID`},cleanup:()=>t.cancel(),actions:{move:t}}),move:t}}function _(){return h({liftActionArgs:{id:i,clientSelection:Bm(c),movementMode:`SNAP`},cleanup:Cl,actions:{moveUp:()=>m(lf),moveRight:()=>m(df),moveDown:()=>m(uf),moveLeft:()=>m(ff)}})}function v(){Xm({expected:`PRE_DRAG`,phase:u,isLockActive:f,shouldWarn:!0})&&e.release()}return{isActive:()=>Xm({expected:`PRE_DRAG`,phase:u,isLockActive:f,shouldWarn:!1}),shouldRespectForcePress:d,fluidLift:g,snapLift:_,abort:v}}const $m=[Om,Mm,Im];function eh({contextId:e,store:t,registry:n,customSensors:r,enableDefaultSensors:i}){let a=[...i?$m:[],...r||[]],o=B(()=>bm())[0],s=Q(function(e,t){xm(e)&&!xm(t)&&o.tryAbandon()},[o]);Qp(function(){let e=t.getState();return t.subscribe(()=>{let n=t.getState();s(e,n),e=n})},[o,t,s]),Qp(()=>o.tryAbandon,[o.tryAbandon]);let c=Q(e=>Zm({lockAPI:o,registry:n,store:t,draggableId:e}),[o,n,t]),l=Q((r,i,a)=>Qm({lockAPI:o,registry:n,contextId:e,store:t,draggableId:r,forceSensorStop:i||null,sourceEvent:a&&a.sourceEvent?a.sourceEvent:null}),[e,o,n,t]),u=Q(t=>qm(e,t),[e]),d=Q(e=>{let t=n.draggable.findById(e);return t?t.options:null},[n.draggable]),f=Q(function(){o.isClaimed()&&(o.tryAbandon(),t.getState().phase!==`IDLE`&&t.dispatch(pf()))},[o,t]),p=Q(()=>o.isClaimed(),[o]),m=Z(()=>({canGetLock:c,tryGetLock:l,findClosestDraggableId:u,findOptionsForDraggable:d,tryReleaseLock:f,isLockClaimed:p}),[c,l,u,d,f,p]);for(let e=0;e<a.length;e++)a[e](m)}const th=e=>({onBeforeCapture:t=>{ci(()=>{e.onBeforeCapture&&e.onBeforeCapture(t)})},onBeforeDragStart:e.onBeforeDragStart,onDragStart:e.onDragStart,onDragEnd:e.onDragEnd,onDragUpdate:e.onDragUpdate}),nh=e=>({...bp,...e.autoScrollerOptions,durationDampening:{...bp.durationDampening,...e.autoScrollerOptions}});function rh(e){return!e.current&&X(),e.current}function ih(e){let{contextId:t,setCallbacks:n,sensors:r,nonce:i,dragHandleUsageInstructions:a}=e,o=z(null),s=ym(e),c=Q(()=>th(s.current),[s]),l=Q(()=>nh(s.current),[s]),u=pm(t),d=_m({contextId:t,text:a}),f=tm(t,i),p=Q(e=>{rh(o).dispatch(e)},[]),m=Z(()=>Ji({publishWhileDragging:ef,updateDroppableScroll:nf,updateDroppableIsEnabled:rf,updateDroppableIsCombineEnabled:af,collectionStarting:tf},p),[p]),h=cm(),g=Z(()=>mp(h,m),[h,m]),_=Z(()=>Up({scrollWindow:gp,scrollDroppable:g.scrollDroppable,getAutoScrollerOptions:l,...Ji({move:of},p)}),[g.scrollDroppable,p,l]),v=om(t),y=Z(()=>ap({announce:u,autoScroller:_,dimensionMarshal:g,focusMarshal:v,getResponders:c,styleMarshal:f}),[u,_,g,v,c,f]);o.current=y;let b=Q(()=>{let e=rh(o);e.getState().phase!==`IDLE`&&e.dispatch(pf())},[]),x=Q(()=>{let e=rh(o).getState();return e.phase===`DROP_ANIMATING`?!0:e.phase===`IDLE`?!1:e.isDragging},[]);n(Z(()=>({isDragging:x,tryAbort:b}),[x,b]));let S=Q(e=>hp(rh(o).getState(),e),[]),C=Q(()=>yd(rh(o).getState()),[]),w=Z(()=>({marshal:g,focus:v,contextId:t,canLift:S,isMovementAllowed:C,dragHandleUsageInstructionsId:d,registry:h}),[t,g,d,v,S,C,h]);return eh({contextId:t,store:y,registry:h,customSensors:r||null,enableDefaultSensors:e.enableDefaultSensors!==!1}),R(()=>b,[b]),I.createElement(vm.Provider,{value:w},I.createElement(Zi,{context:lm,store:y},e.children))}function ah(){return I.useId()}function oh(e){let t=ah(),n=e.dragHandleUsageInstructions||Pl.dragHandleUsageInstructions;return I.createElement(Dl,null,r=>I.createElement(ih,{nonce:e.nonce,contextId:t,setCallbacks:r,dragHandleUsageInstructions:n,enableDefaultSensors:e.enableDefaultSensors,sensors:e.sensors,onBeforeCapture:e.onBeforeCapture,onBeforeDragStart:e.onBeforeDragStart,onDragStart:e.onDragStart,onDragUpdate:e.onDragUpdate,onDragEnd:e.onDragEnd,autoScrollerOptions:e.autoScrollerOptions},e.children))}const sh={dragging:5e3,dropAnimating:4500},ch=(e,t)=>t?Tf.drop(t.duration):e?Tf.snap:Tf.fluid,lh=(e,t)=>{if(e)return t?Sf.opacity.drop:Sf.opacity.combining},uh=e=>e.forceShouldAnimate==null?e.mode===`SNAP`:e.forceShouldAnimate;function dh(e){let t=e.dimension.client,{offset:n,combineWith:r,dropping:i}=e,a=!!r,o=uh(e),s=!!i,c=s?Df.drop(n,a):Df.moveTo(n);return{position:`fixed`,top:t.marginBox.top,left:t.marginBox.left,boxSizing:`border-box`,width:t.borderBox.width,height:t.borderBox.height,transition:ch(o,i),transform:c,opacity:lh(a,s),zIndex:s?sh.dropAnimating:sh.dragging,pointerEvents:`none`}}function fh(e){return{transform:Df.moveTo(e.offset),transition:e.shouldAnimateDisplacement?void 0:`none`}}function ph(e){return e.type===`DRAGGING`?dh(e):fh(e)}function mh(e,t,n=Ll){let r=window.getComputedStyle(t),i=yl(t.getBoundingClientRect(),r),a=vl(i,n);return{descriptor:e,placeholder:{client:i,tagName:t.tagName.toLowerCase(),display:r.display},displaceBy:{x:i.marginBox.width,y:i.marginBox.height},client:i,page:a}}function hh(e){let t=hm(`draggable`),{descriptor:n,registry:r,getDraggableRef:i,canDragInteractiveElements:a,shouldRespectForcePress:o,isEnabled:s}=e,c=Z(()=>({canDragInteractiveElements:a,shouldRespectForcePress:o,isEnabled:s}),[a,s,o]),l=Q(e=>{let t=i();return!t&&X(),mh(n,t,e)},[n,i]),u=Z(()=>({uniqueId:t,descriptor:n,options:c,getDimension:l}),[n,l,c,t]),d=z(u),f=z(!0);Qp(()=>(r.draggable.register(d.current),()=>r.draggable.unregister(d.current)),[r.draggable]),Qp(()=>{if(f.current){f.current=!1;return}let e=d.current;d.current=u,r.draggable.update(u,e)},[u,r.draggable])}var gh=I.createContext(null);function _h(e){let t=kn(e);return!t&&X(),t}function vh(e){e.preventDefault()}const yh=e=>{let t=z(null),n=Q((e=null)=>{t.current=e},[]),r=Q(()=>t.current,[]),{contextId:i,dragHandleUsageInstructionsId:a,registry:o}=_h(vm),{type:s,droppableId:c}=_h(gh),l=Z(()=>({id:e.draggableId,index:e.index,type:s,droppableId:c}),[e.draggableId,e.index,s,c]),{children:u,draggableId:d,isEnabled:f,shouldRespectForcePress:p,canDragInteractiveElements:m,isClone:h,mapped:g,dropAnimationFinished:_}=e;h||hh(Z(()=>({descriptor:l,registry:o,getDraggableRef:r,canDragInteractiveElements:m,shouldRespectForcePress:p,isEnabled:f}),[l,o,r,m,p,f]));let v=Z(()=>f?{tabIndex:0,role:`button`,"aria-describedby":a,"data-rfd-drag-handle-draggable-id":d,"data-rfd-drag-handle-context-id":i,draggable:!1,onDragStart:vh}:null,[i,a,d,f]),y=Q(e=>{g.type===`DRAGGING`&&g.dropping&&e.propertyName===`transform`&&ci(_)},[_,g]),b=Z(()=>{let e=ph(g),t=g.type===`DRAGGING`&&g.dropping?y:void 0;return{innerRef:n,draggableProps:{"data-rfd-draggable-context-id":i,"data-rfd-draggable-id":d,style:e,onTransitionEnd:t},dragHandleProps:v}},[i,v,d,g,y,n]),x=Z(()=>({draggableId:l.id,type:l.type,source:{index:l.index,droppableId:l.droppableId}}),[l.droppableId,l.id,l.index,l.type]);return I.createElement(I.Fragment,null,u(b,g.snapshot,x))};var bh=(e,t)=>e===t,xh=e=>{let{combine:t,destination:n}=e;return n?n.droppableId:t?t.droppableId:null};const Sh=e=>e.combine?e.combine.draggableId:null,Ch=e=>e.at&&e.at.type===`COMBINE`?e.at.combine.draggableId:null;function wh(){let e=tu((e,t)=>({x:e,y:t})),t=tu((e,t,n=null,r=null,i=null)=>({isDragging:!0,isClone:t,isDropAnimating:!!i,dropAnimation:i,mode:e,draggingOver:n,combineWith:r,combineTargetFor:null})),n=tu((e,n,r,i,a=null,o=null,s=null)=>({mapped:{type:`DRAGGING`,dropping:null,draggingOver:a,combineWith:o,mode:n,offset:e,dimension:r,forceShouldAnimate:s,snapshot:t(n,i,a,o,null)}}));return(r,i)=>{if(xm(r)){if(r.critical.draggable.id!==i.draggableId)return null;let t=r.current.client.offset,a=r.dimensions.draggables[i.draggableId],o=gd(r.impact),s=Ch(r.impact),c=r.forceShouldAnimate;return n(e(t.x,t.y),r.movementMode,a,i.isClone,o,s,c)}if(r.phase===`DROP_ANIMATING`){let e=r.completed;if(e.result.draggableId!==i.draggableId)return null;let n=i.isClone,a=r.dimensions.draggables[i.draggableId],o=e.result,s=o.mode,c=xh(o),l=Sh(o),u={duration:r.dropDuration,curve:xf.drop,moveTo:r.newHomeClientOffset,opacity:l?Sf.opacity.drop:null,scale:l?Sf.scale.drop:null};return{mapped:{type:`DRAGGING`,offset:r.newHomeClientOffset,dimension:a,dropping:u,draggingOver:c,combineWith:l,mode:s,forceShouldAnimate:null,snapshot:t(s,n,c,l,u)}}}return null}}function Th(e=null){return{isDragging:!1,isDropAnimating:!1,isClone:!1,dropAnimation:null,mode:null,draggingOver:null,combineTargetFor:e,combineWith:null}}const Eh={mapped:{type:`SECONDARY`,offset:Ll,combineTargetFor:null,shouldAnimateDisplacement:!0,snapshot:Th(null)}};function Dh(){let e=tu((e,t)=>({x:e,y:t})),t=tu(Th),n=tu((e,n=null,r)=>({mapped:{type:`SECONDARY`,offset:e,combineTargetFor:n,shouldAnimateDisplacement:r,snapshot:t(n)}})),r=e=>e?n(Ll,e,!0):null,i=(t,i,a,o)=>{let s=a.displaced.visible[t],c=!!(o.inVirtualList&&o.effected[t]),l=cu(a),u=l&&l.draggableId===t?i:null;if(!s){if(!c)return r(u);if(a.displaced.invisible[t])return null;let i=Vl(o.displacedBy.point);return n(e(i.x,i.y),u,!0)}if(c)return r(u);let d=a.displacedBy.point;return n(e(d.x,d.y),u,s.shouldAnimate)};return(e,t)=>{if(xm(e))return e.critical.draggable.id===t.draggableId?null:i(t.draggableId,e.critical.draggable.id,e.impact,e.afterCritical);if(e.phase===`DROP_ANIMATING`){let n=e.completed;return n.result.draggableId===t.draggableId?null:i(t.draggableId,n.result.draggableId,n.impact,n.afterCritical)}return null}}const Oh=Qi(()=>{let e=wh(),t=Dh();return(n,r)=>e(n,r)||t(n,r)||Eh},{dropAnimationFinished:vf},null,{context:lm,areStatePropsEqual:bh})(yh);function kh(e){return _h(gh).isUsingCloneFor===e.draggableId&&!e.isClone?null:I.createElement(Oh,e)}function Ah(e){let t=typeof e.isDragDisabled==`boolean`?!e.isDragDisabled:!0,n=!!e.disableInteractiveElementBlocking,r=!!e.shouldRespectForcePress;return I.createElement(kh,pe({},e,{isClone:!1,isEnabled:t,canDragInteractiveElements:n,shouldRespectForcePress:r}))}const jh=e=>t=>e===t,Mh=jh(`scroll`),Nh=jh(`auto`),Ph=(e,t)=>t(e.overflowX)||t(e.overflowY),Fh=e=>{let t=window.getComputedStyle(e),n={overflowX:t.overflowX,overflowY:t.overflowY};return Ph(n,Mh)||Ph(n,Nh)},Ih=()=>!1,Lh=e=>e==null?null:e===document.body?Ih()?e:null:e===document.documentElement?null:Fh(e)?e:Lh(e.parentElement);var Rh=e=>({x:e.scrollLeft,y:e.scrollTop});const zh=e=>e?window.getComputedStyle(e).position===`fixed`?!0:zh(e.parentElement):!1;var Bh=e=>({closestScrollable:Lh(e),isFixedOnPage:zh(e)}),Vh=({descriptor:e,isEnabled:t,isCombineEnabled:n,isFixedOnPage:r,direction:i,client:a,page:o,closest:s})=>{let c=(()=>{if(!s)return null;let{scrollSize:e,client:t}=s,n=cp({scrollHeight:e.scrollHeight,scrollWidth:e.scrollWidth,height:t.paddingBox.height,width:t.paddingBox.width});return{pageMarginBox:s.page.marginBox,frameClient:t,scrollSize:e,shouldClipSubject:s.shouldClipSubject,scroll:{initial:s.scroll,current:s.scroll,max:n,diff:{value:Ll,displacement:Ll}}}})(),l=i===`vertical`?vu:yu;return{descriptor:e,isCombineEnabled:n,isFixedOnPage:r,axis:l,isEnabled:t,client:a,page:o,frame:c,subject:$l({page:o,withPlaceholder:null,axis:l,frame:c})}};const Hh=(e,t)=>{let n=bl(e);if(!t||e!==t)return n;let r=n.paddingBox.top-t.scrollTop,i=n.paddingBox.left-t.scrollLeft,a=r+t.scrollHeight;return ml({borderBox:ul({top:r,right:i+t.scrollWidth,bottom:a,left:i},n.border),margin:n.margin,border:n.border,padding:n.padding})};var Uh=({ref:e,descriptor:t,env:n,windowScroll:r,direction:i,isDropDisabled:a,isCombineEnabled:o,shouldClipSubject:s})=>{let c=n.closestScrollable,l=Hh(e,c),u=vl(l,r),d=(()=>{if(!c)return null;let e=bl(c),t={scrollHeight:c.scrollHeight,scrollWidth:c.scrollWidth};return{client:e,page:vl(e,r),scroll:Rh(c),scrollSize:t,shouldClipSubject:s}})();return Vh({descriptor:t,isEnabled:!a,isCombineEnabled:o,isFixedOnPage:n.isFixedOnPage,direction:i,client:l,page:u,closest:d})};const Wh={passive:!1},Gh={passive:!0};var Kh=e=>e.shouldPublishImmediately?Wh:Gh;const qh=e=>e&&e.env.closestScrollable||null;function Jh(e){let t=z(null),n=_h(vm),r=hm(`droppable`),{registry:i,marshal:a}=n,o=ym(e),s=Z(()=>({id:e.droppableId,type:e.type,mode:e.mode}),[e.droppableId,e.mode,e.type]),c=z(s),l=Z(()=>tu((e,n)=>{!t.current&&X();let r={x:e,y:n};a.updateDroppableScroll(s.id,r)}),[s.id,a]),u=Q(()=>{let e=t.current;return!e||!e.env.closestScrollable?Ll:Rh(e.env.closestScrollable)},[]),d=Q(()=>{let e=u();l(e.x,e.y)},[u,l]),f=Z(()=>xl(d),[d]),p=Q(()=>{let e=t.current,n=qh(e);if(!(e&&n)&&X(),e.scrollOptions.shouldPublishImmediately){d();return}f()},[f,d]),m=Q((e,r)=>{t.current&&X();let i=o.current,a=i.getDroppableRef();!a&&X();let c=Bh(a),l={ref:a,descriptor:s,env:c,scrollOptions:r};t.current=l;let u=Uh({ref:a,descriptor:s,env:c,windowScroll:e,direction:i.direction,isDropDisabled:i.isDropDisabled,isCombineEnabled:i.isCombineEnabled,shouldClipSubject:!i.ignoreContainerClipping}),d=c.closestScrollable;return d&&(d.setAttribute(Jp.contextId,n.contextId),d.addEventListener(`scroll`,p,Kh(l.scrollOptions))),u},[n.contextId,s,p,o]),h=Q(()=>{let e=t.current,n=qh(e);return!(e&&n)&&X(),Rh(n)},[]),g=Q(()=>{let e=t.current;!e&&X();let n=qh(e);t.current=null,n&&(f.cancel(),n.removeAttribute(Jp.contextId),n.removeEventListener(`scroll`,p,Kh(e.scrollOptions)))},[p,f]),_=Q(e=>{let n=t.current;!n&&X();let r=qh(n);!r&&X(),r.scrollTop+=e.y,r.scrollLeft+=e.x},[]),v=Z(()=>({getDimensionAndWatchScroll:m,getScrollWhileDragging:h,dragStopped:g,scroll:_}),[g,m,h,_]),y=Z(()=>({uniqueId:r,descriptor:s,callbacks:v}),[v,s,r]);Qp(()=>(c.current=y.descriptor,i.droppable.register(y),()=>{t.current&&g(),i.droppable.unregister(y)}),[v,s,g,y,a,i.droppable]),Qp(()=>{t.current&&a.updateDroppableIsEnabled(c.current.id,!e.isDropDisabled)},[e.isDropDisabled,a]),Qp(()=>{t.current&&a.updateDroppableIsCombineEnabled(c.current.id,e.isCombineEnabled)},[e.isCombineEnabled,a])}function Yh(){}const Xh={width:0,height:0,margin:Yl},Zh=({isAnimatingOpenOnMount:e,placeholder:t,animate:n})=>e||n===`close`?Xh:{height:t.client.borderBox.height,width:t.client.borderBox.width,margin:t.client.margin},Qh=({isAnimatingOpenOnMount:e,placeholder:t,animate:n})=>{let r=Zh({isAnimatingOpenOnMount:e,placeholder:t,animate:n});return{display:t.display,boxSizing:`border-box`,width:r.width,height:r.height,marginTop:r.margin.top,marginRight:r.margin.right,marginBottom:r.margin.bottom,marginLeft:r.margin.left,flexShrink:`0`,flexGrow:`0`,pointerEvents:`none`,transition:n===`none`?null:Tf.placeholder}};var $h=I.memo(e=>{let t=z(null),n=Q(()=>{t.current&&=(clearTimeout(t.current),null)},[]),{animate:r,onTransitionEnd:i,onClose:a,contextId:o}=e,[s,c]=B(e.animate===`open`);R(()=>s?r===`open`?t.current?Yh:(t.current=setTimeout(()=>{t.current=null,c(!1)}),n):(n(),c(!1),Yh):Yh,[r,s,n]);let l=Q(e=>{e.propertyName===`height`&&(i(),r===`close`&&a())},[r,a,i]),u=Qh({isAnimatingOpenOnMount:s,animate:e.animate,placeholder:e.placeholder});return I.createElement(e.placeholder.tagName,{style:u,"data-rfd-placeholder-context-id":o,onTransitionEnd:l,ref:e.innerRef})}),eg=class extends I.PureComponent{constructor(...e){super(...e),this.state={isVisible:!!this.props.on,data:this.props.on,animate:this.props.shouldAnimate&&this.props.on?`open`:`none`},this.onClose=()=>{this.state.animate===`close`&&this.setState({isVisible:!1})}}static getDerivedStateFromProps(e,t){return e.shouldAnimate?e.on?{isVisible:!0,data:e.on,animate:`open`}:t.isVisible?{isVisible:!0,data:t.data,animate:`close`}:{isVisible:!1,animate:`close`,data:null}:{isVisible:!!e.on,data:e.on,animate:`none`}}render(){if(!this.state.isVisible)return null;let e={onClose:this.onClose,data:this.state.data,animate:this.state.animate};return this.props.children(e)}};const tg=e=>{let t=kn(vm);!t&&X();let{contextId:n,isMovementAllowed:r}=t,i=z(null),a=z(null),{children:o,droppableId:s,type:c,mode:l,direction:u,ignoreContainerClipping:d,isDropDisabled:f,isCombineEnabled:p,snapshot:m,useClone:h,updateViewportMaxScroll:g,getContainerForClone:_}=e,v=Q(()=>i.current,[]),y=Q((e=null)=>{i.current=e},[]);Q(()=>a.current,[]);let b=Q((e=null)=>{a.current=e},[]),x=Q(()=>{r()&&g({maxScroll:up()})},[r,g]);Jh({droppableId:s,type:c,mode:l,direction:u,isDropDisabled:f,isCombineEnabled:p,ignoreContainerClipping:d,getDroppableRef:v});let S=Z(()=>I.createElement(eg,{on:e.placeholder,shouldAnimate:e.shouldAnimatePlaceholder},({onClose:e,data:t,animate:r})=>I.createElement($h,{placeholder:t,onClose:e,innerRef:b,animate:r,contextId:n,onTransitionEnd:x})),[n,x,e.placeholder,e.shouldAnimatePlaceholder,b]),C=Z(()=>({innerRef:y,placeholder:S,droppableProps:{"data-rfd-droppable-id":s,"data-rfd-droppable-context-id":n}}),[n,s,S,y]),w=h?h.dragging.draggableId:null,T=Z(()=>({droppableId:s,type:c,isUsingCloneFor:w}),[s,w,c]);function E(){if(!h)return null;let{dragging:e,render:t}=h,n=I.createElement(kh,{draggableId:e.draggableId,index:e.source.index,isClone:!0,isEnabled:!0,shouldRespectForcePress:!1,canDragInteractiveElements:!0},(n,r)=>t(n,r,e));return si.createPortal(n,_())}return I.createElement(gh.Provider,{value:T},o(C,m),E())};function ng(){return!document.body&&X(),document.body}const rg={mode:`standard`,type:`DEFAULT`,direction:`vertical`,isDropDisabled:!1,isCombineEnabled:!1,ignoreContainerClipping:!1,renderClone:null,getContainerForClone:ng},ig=e=>{let t={...e},n;for(n in rg)e[n]===void 0&&(t={...t,[n]:rg[n]});return t},ag=(e,t)=>e===t.droppable.type,og=(e,t)=>t.draggables[e.draggable.id],sg=Qi(()=>{let e={placeholder:null,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:!1,draggingOverWith:null,draggingFromThisWith:null,isUsingPlaceholder:!1},useClone:null},t={...e,shouldAnimatePlaceholder:!1},n=tu(e=>({draggableId:e.id,type:e.type,source:{index:e.index,droppableId:e.droppableId}})),r=tu((r,i,a,o,s,c)=>{let l=s.descriptor.id;if(s.descriptor.droppableId===r){let e=c?{render:c,dragging:n(s.descriptor)}:null,t={isDraggingOver:a,draggingOverWith:a?l:null,draggingFromThisWith:l,isUsingPlaceholder:!0};return{placeholder:s.placeholder,shouldAnimatePlaceholder:!1,snapshot:t,useClone:e}}if(!i)return t;if(!o)return e;let u={isDraggingOver:a,draggingOverWith:l,draggingFromThisWith:null,isUsingPlaceholder:!0};return{placeholder:s.placeholder,shouldAnimatePlaceholder:!0,snapshot:u,useClone:null}});return(n,i)=>{let a=ig(i),o=a.droppableId,s=a.type,c=!a.isDropDisabled,l=a.renderClone;if(xm(n)){let e=n.critical;if(!ag(s,e))return t;let i=og(e,n.dimensions),a=gd(n.impact)===o;return r(o,c,a,a,i,l)}if(n.phase===`DROP_ANIMATING`){let e=n.completed;if(!ag(s,e.critical))return t;let i=og(e.critical,n.dimensions);return r(o,c,xh(e.result)===o,gd(e.impact)===o,i,l)}if(n.phase===`IDLE`&&n.completed&&!n.shouldFlush){let r=n.completed;if(!ag(s,r.critical))return t;let i=gd(r.impact)===o,a=!!(r.impact.at&&r.impact.at.type===`COMBINE`),c=r.critical.droppable.id===o;return i?a?e:t:c?e:t}return t}},{updateViewportMaxScroll:cf},(e,t,n)=>({...ig(n),...e,...t}),{context:lm,areStatePropsEqual:bh})(tg),cg=({check:e,selected:t,onSelect:n,onApprovalChange:r})=>{let{featureToggles:i}=dt(),a=e.last_run?.run_id,{run:o}=le(a),s=Ce({type:e.type,hasResult:!!o?.result,hasError:!!o?.error}),c=s||i.disableUpdateChecklist;return H(te,{check:{id:e.check_id,name:e.name,type:e.type,isApproved:e.is_checked,runStatus:(()=>{if(o){if(o.error)return`error`;if(o.result)return`success`}})(),isPreset:e.is_preset},isSelected:t,onClick:n,onApprovalChange:r,disableApproval:c,disabledApprovalTooltip:s?`Run the check first`:void 0})},lg=({checks:e,selectedItem:t,onCheckSelected:n,onChecksReordered:r})=>{let[i,a]=B(!1),[o,s]=B(!1),[c,l]=B(null),u=Sn(),{apiClient:d}=g(),{mutate:f}=bn({mutationFn:({checkId:e,isChecked:t})=>Ae(e,{is_checked:t},d),onSuccess:async(e,{checkId:t})=>{await u.invalidateQueries({queryKey:P.check(t)}),await u.invalidateQueries({queryKey:P.checks()})}}),p=e=>{e.destination&&r(e.source.index,e.destination.index)},m=()=>s(!0),h=()=>{s(!1),l(null)},_=()=>{Rt.create({title:`Marked as approved`,type:`success`,duration:2e3})},v=(e,t)=>{t?localStorage.getItem(`bypassMarkAsApprovedWarning`)===`true`?(f({checkId:e,isChecked:!0}),_()):(l(e),m()):f({checkId:e,isChecked:!1})};return U(V,{children:[H(oh,{onDragEnd:p,children:H(sg,{droppableId:`checklist`,children:r=>U(K,{...r.droppableProps,ref:r.innerRef,className:`no-track-pii-safe`,sx:{width:`100%`,flex:1,overflow:`auto`},spacing:0,children:[e.map((e,r)=>H(Ah,{draggableId:e.check_id,index:r,children:(r,i)=>{let a=r.draggableProps.style;if(i.isDragging&&a&&`left`in a){let e={x:0,y:80};a={...a,left:a.left-e.x,top:a.top-e.y}}return H(W,{ref:r.innerRef,...r.draggableProps,...r.dragHandleProps,style:a,sx:{width:`100%`},borderBottom:`1px solid`,borderColor:`divider`,children:H(cg,{check:e,selected:e.check_id===t,onSelect:n,onApprovalChange:v},e.check_id)})}},e.check_id)),r.placeholder]})})}),U(Nn,{open:o,onClose:h,maxWidth:`xs`,fullWidth:!0,children:[U(In,{sx:{display:`flex`,alignItems:`center`},children:[`Mark as Approved?`,H(W,{sx:{flexGrow:1}}),H(J,{size:`small`,onClick:h,children:H(Gn,{})})]}),H(Jn,{}),U(Fn,{sx:{fontSize:`0.875rem`},children:[H(q,{children:`Please ensure you have reviewed the contents of this check before marking it as approved.`}),H(Vr,{control:H(Br,{checked:i,onChange:e=>{a(e.target.checked)},size:`small`}),label:H(q,{sx:{fontWeight:`bold`,pt:`8px`},children:`Don't show this again`})})]}),H(Jn,{}),U(Pn,{sx:{gap:0},children:[H(G,{variant:`outlined`,size:`small`,onClick:h,children:`Cancel`}),H(G,{color:`iochmara`,variant:`contained`,size:`small`,onClick:()=>{c&&(f({checkId:c,isChecked:!0}),i&&localStorage.setItem(`bypassMarkAsApprovedWarning`,`true`),_(),h(),l(null))},children:`Mark as approved`})]})]})]})},ug=()=>{let e=Vn().palette.mode===`dark`?`grey.700`:`grey.300`,t=pi(),n=mi().get(`id`),{latestSelectedCheckId:r,setLatestSelectedCheckId:i}=ce(),a=Sn(),{apiClient:o}=g(),{basePath:s}=ot(),c=n;R(()=>{c&&i(c)},[c,i]);let{isLoading:l,error:u,data:d,status:f,refetch:p}=xn({queryKey:P.checks(),queryFn:()=>We(o),refetchOnMount:!0}),m=L(e=>{t.push(`${s}/checks/?id=${e}`)},[t.push,s]),[h,_]=B(d??[]),[v,y]=B(d);d!==v&&(y(d),_(d??[]));let{mutate:b}=bn({mutationFn:e=>Ue(e,o),onSuccess:async()=>{await a.invalidateQueries({queryKey:P.checks()})}}),x=L((e,t)=>{let n=[...h],[r]=n.splice(e,1);n.splice(t,0,r),b({source:e,destination:t}),_(n)},[h,b]),S=Mn(()=>!!(c&&d?.some(e=>e.check_id===c)),[c,d]);return R(()=>{f!==`success`||d.length===0||S||(r&&d.some(e=>e.check_id===r)?t.replace(`${s}/checks/?id=${r}`):t.replace(`${s}/checks/?id=${d[0].check_id}`))},[f,S,d,r,t.replace,s]),l?null:u?U(W,{children:[`Error: `,H(`span`,{className:`no-track-pii-safe`,children:u.message})]}):d?.length?U(O,{style:{height:`100%`},minSize:50,sizes:[20,80],children:[H(W,{sx:{height:`100%`},style:{contain:`size`},children:U(K,{sx:{height:`100%`,alignItems:`stretch`},style:{contain:`strict`},spacing:0,children:[H(W,{sx:{display:`flex`,justifyContent:`flex-end`,p:`0px 10px`},children:H(Fc,{checksOnly:!0})}),H(Jn,{}),H(lg,{checks:h,selectedItem:c,onCheckSelected:m,onChecksReordered:x})]})}),H(W,{sx:{height:`100%`},children:S&&c&&H(nl,{checkId:c,refreshCheckList:p},c)})]}):U(O,{style:{height:`100%`},minSize:50,sizes:[20,80],children:[H(W,{sx:{borderRight:`1px solid`,borderRightColor:e,height:`100%`},style:{contain:`size`},children:U(K,{sx:{height:`100%`,alignItems:`stretch`},style:{contain:`strict`},spacing:0,children:[H(W,{sx:{display:`flex`,justifyContent:`flex-end`,p:`0px 10px`},children:H(Fc,{checksOnly:!0})}),H(Jn,{}),H(W,{sx:{height:`100%`,display:`flex`,justifyContent:`center`,alignItems:`center`},children:H(W,{sx:{textAlign:`center`,color:`grey.500`},children:`No checks`})})]})}),H(W,{children:H(W,{sx:{height:`100%`,display:`flex`,justifyContent:`center`,alignItems:`center`},children:H(al,{})})})]})},dg=()=>U(O,{style:{height:`100%`},minSize:50,sizes:[20,80],children:[H(W,{sx:{borderRight:`1px solid`,borderRightColor:Vn().palette.mode===`dark`?`grey.700`:`grey.300`,height:`100%`},style:{contain:`size`},children:H(W,{sx:{height:`100%`,display:`flex`,justifyContent:`center`,alignItems:`center`},children:H(Yn,{size:20})})}),H(W,{children:H(W,{sx:{height:`100%`,display:`flex`,justifyContent:`center`,alignItems:`center`},children:H(Yn,{size:20})})})]}),fg={added:[`Model Added`,`Added resource`],removed:[`Model Removed`,`Removed resource`],modified:[`Model Modified`,`Modified resource`],col_added:[`Column Added`,`Added column`],col_removed:[`Column Removed`,`Removed column`],col_changed:[`Column Modified`,`Modified column`],folder_changed:[`Modified`,`Modified folder`]};function pg(e){let t=String(Tt(`colors.green.solid`)),n=String(Tt(`colors.red.solid`)),r=String(Tt(`colors.amber.emphasized`));return e===`added`?{color:t,icon:Dt}:e===`removed`?{color:n,icon:Ot}:e===`modified`?{color:r,icon:Pt}:e===`col_added`?{color:t,icon:Dt}:e===`col_removed`?{color:n,icon:Ot}:e===`col_changed`?{color:r,icon:Pt}:e===`folder_changed`?{color:r,icon:Mt}:{color:`inherit`,icon:void 0}}function mg(e,t){let n=0,r=0,i=0;return!e&&!t?{adds:n,removes:r,modifies:i}:(t&&Object.keys(t.columns??{}).forEach(t=>{e?.columns?.[t]||n++}),e&&Object.keys(e.columns??{}).forEach(e=>{t?.columns?.[e]||r++}),t&&e&&Object.keys(t.columns??{}).forEach(n=>{e.columns&&t.columns?.[n]&&e.columns[n]&&e.columns[n].type!==t.columns[n].type&&i++}),{adds:n,removes:r,modifies:i})}function hg(e){let t=e.modifiedSet,n=0,r=0,i=0,a=0,o=0,s=0;return t.forEach(t=>{e.nodes[t].data.changeStatus===`added`?n++:e.nodes[t].data.changeStatus===`removed`?r++:e.nodes[t].data.changeStatus===`modified`&&i++;let c=e.nodes[t].data.data.base,l=e.nodes[t].data.data.current,u=mg(c,l);a+=u.adds,o+=u.removes,s+=u.modifies}),{adds:n,removes:r,modifies:i,col_added:a,col_removed:o,col_changed:s}}function gg({name:e,value:t,tip:n}){return U(K,{alignItems:`stretch`,children:[U(q,{sx:{fontSize:`0.875rem`,color:`grey.600`},children:[e,n&&H(Y,{title:n,children:H(W,{sx:{display:`inline-block`},children:H(W,{component:Si,sx:{mx:`2px`,fontSize:12,verticalAlign:`middle`}})})})]}),t]})}function _g({changeStatus:e,value:t}){let[n]=e?fg[e]:[``],{icon:r,color:i}=pg(e);return U(K,{alignItems:`stretch`,children:[U(K,{direction:`row`,alignItems:`center`,sx:{fontSize:`0.875rem`,color:`grey.600`},children:[r&&H(W,{component:r,sx:{mr:`5px`,color:i,fontSize:`1rem`}}),n]}),H(q,{sx:{fontSize:`0.875rem`},children:t})]})}function vg({lineageGraph:e}){let{adds:t,removes:n,modifies:r,col_added:i,col_removed:a,col_changed:o}=hg(e);return U(Gi,{container:!0,sx:{mb:`10px`,borderTop:`1px solid`,borderColor:`divider`,p:`2.5vw`},children:[H(Gi,{size:6,sx:{borderColor:`divider`},children:H(gg,{name:`Code Changes`,value:U(Gi,{container:!0,sx:{width:`100%`},children:[H(Gi,{size:4,children:H(_g,{changeStatus:`added`,value:t})}),H(Gi,{size:4,children:H(_g,{changeStatus:`removed`,value:n})}),H(Gi,{size:4,children:H(_g,{changeStatus:`modified`,value:r})})]})})}),H(Gi,{size:6,sx:{borderLeft:`1px solid`,borderLeftColor:`divider`,pl:`12px`},children:H(gg,{name:`Column Changes`,value:U(Gi,{container:!0,sx:{width:`100%`},children:[H(Gi,{size:4,children:H(_g,{changeStatus:`col_added`,value:i})}),H(Gi,{size:4,children:H(_g,{changeStatus:`col_removed`,value:a})}),H(Gi,{size:4,children:H(_g,{changeStatus:`col_changed`,value:o})})]})})})]})}function yg({node:e,...t}){return U($i,{sx:{maxWidth:500},children:[H(ta,{title:H(q,{sx:{fontSize:18,fontWeight:`bold`},children:t.title}),subheader:U(K,{direction:`row`,spacing:`8px`,sx:{p:`16px`},children:[H(vs,{data:{resourceType:e.data.resourceType}}),e.data.resourceType===`model`&&H(bs,{node:e})]})}),H(ea,{children:H(W,{sx:{display:`flex`},children:H(ds,{base:e.data.data.base,current:e.data.data.current})})})]})}function bg(e){let t=[],n=e.nodes;return e.modifiedSet.forEach(e=>{let r=n[e],i=Bt(Object.keys(r.data.data.base?.columns??{}),Object.keys(r.data.data.current?.columns??{}));!Object.values(i).every(e=>e===void 0)&&r.data.data.base&&r.data.data.current&&t.push(r)}),t}function xg({lineageGraph:e}){let[t,n]=B([]);return R(()=>{n(bg(e))},[e]),U(V,{children:[H(W,{sx:{width:`100%`,pb:`10px`,mb:`20px`,mt:`20px`},children:H(q,{variant:`h5`,sx:{fontSize:24},children:`Schema Summary`})}),H(W,{sx:{width:`100%`,pb:`10px`,mb:`20px`},children:t.length===0?H(q,{sx:{fontSize:18,color:`grey.600`},children:`No schema changes detected.`}):H(W,{sx:{display:`grid`,gridTemplateColumns:`repeat(auto-fill, minmax(400px, 1fr))`,gap:`2vw`,p:`2.5vw`,width:`100%`,bgcolor:`lightgray`},children:t.map(e=>H(yg,{title:e.data.name,node:e},e.id))})})]})}function Sg({checks:e,isLoading:t,error:n,selectedCheckId:r,onCheckSelect:i,onApprovalChange:a,onAction:o,onReorder:s,onDescriptionChange:c,onNameChange:l,onCreateCheck:u,getCheckTabs:d,getPrimaryActions:f,getSecondaryActions:m,disableApproval:h=!1,disabledApprovalTooltip:g,height:_=`100%`,listPaneSize:v=30,minListSize:x=200,maxListSize:S=500,listTitle:C,className:w}){let T=ve(),E=e??T.checks,D=t===void 0?T.isLoading:t,O=n??T.error,ee=r??T.selectedCheckId,te=i??T.onSelectCheck,k=Mn(()=>E.map(e=>({id:e.check_id,name:e.name,type:e.type,description:e.description,isApproved:e.is_checked})),[E]),A=Mn(()=>E.find(e=>e.check_id===ee),[E,ee]),ne=L(e=>{te?.(e)},[te]),re=L((e,t)=>{o?.(e,t)},[o]),ie=L(e=>{ee&&c?.(ee,e)},[ee,c]),ae=L(e=>{ee&&l?.(ee,e)},[ee,l]);if(D)return H(W,{className:w,sx:{width:`100%`,height:_,display:`flex`,alignItems:`center`,justifyContent:`center`},children:H(Yn,{})});if(O)return H(W,{className:w,sx:{width:`100%`,height:_,display:`flex`,alignItems:`center`,justifyContent:`center`},children:H(q,{color:`error`,children:O})});if(E.length===0)return H(W,{className:w,sx:{width:`100%`,height:_,display:`flex`,alignItems:`center`,justifyContent:`center`},children:H(b,{title:`No checks yet`,description:`Create your first check to start validating your data.`,actionText:`Create Check`,onAction:u})});let j=A?d?.(A):void 0,oe=A?f?.(A):void 0,se=A?m?.(A):void 0;return H(W,{className:w,sx:{width:`100%`,height:_},children:U(N,{direction:`horizontal`,sizes:[v,100-v],minSizes:[x,200],maxSizes:[S,1/0],children:[H(W,{sx:{height:`100%`,overflow:`auto`},children:H(y,{checks:k,selectedId:ee,onCheckSelect:ne,onApprovalChange:a,onReorder:s,disableApproval:h,disabledApprovalTooltip:g,title:C})}),H(W,{sx:{height:`100%`,overflow:`auto`},children:A?H(p,{checkId:A.check_id,name:A.name,type:A.type,description:A.description,isApproved:A.is_checked,tabs:j,primaryActions:oe,secondaryActions:se,onAction:re,onDescriptionChange:ie,onNameChange:ae}):H(W,{sx:{height:`100%`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:H(q,{color:`text.secondary`,children:`Select a check from the list to view details`})})})]})})}const Cg=On(Sg);Cg.displayName=`ChecksView`;const wg=`0.2.0`;export{Ia as C,sa as D,Ma as E,ia as O,lo as S,Na as T,pc as _,hg as a,ds as b,fg as c,lg as d,al as f,Dc as g,Mc as h,vg as i,ra as k,dg as l,Nc as m,Cg as n,mg as o,nl as p,xg as r,pg as s,wg as t,ug as u,cc as v,Pa as w,fs as x,qs as y};
67
+ //# sourceMappingURL=src-BgHSbbHk.js.map