@datarecce/ui 0.1.29 → 0.1.31

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 (601) hide show
  1. package/dist/{RecceCheckContext-fAKHgsGz.js → RecceCheckContext-DPpu9nG5.js} +2 -2
  2. package/dist/{RecceCheckContext-fAKHgsGz.js.map → RecceCheckContext-DPpu9nG5.js.map} +1 -1
  3. package/dist/{RecceCheckContext-PT4-g1bW.mjs → RecceCheckContext-bXdfQLGG.mjs} +2 -2
  4. package/dist/{RecceCheckContext-PT4-g1bW.mjs.map → RecceCheckContext-bXdfQLGG.mjs.map} +1 -1
  5. package/dist/api.d.mts +1 -1
  6. package/dist/api.d.ts +1 -1
  7. package/dist/api.js +4 -3
  8. package/dist/api.mjs +4 -3
  9. package/dist/{components-B9F5oJbK.js → components-B-YxuuPz.js} +66 -65
  10. package/dist/{components-B9F5oJbK.js.map → components-B-YxuuPz.js.map} +1 -1
  11. package/dist/{components-D2DRqJsz.css → components-BeAjVBV3.css} +1 -1
  12. package/dist/{components-D2DRqJsz.css.map → components-BeAjVBV3.css.map} +1 -1
  13. package/dist/{components-gDC1ucjo.mjs → components-DCOI1YlQ.mjs} +8 -7
  14. package/dist/{components-gDC1ucjo.mjs.map → components-DCOI1YlQ.mjs.map} +1 -1
  15. package/dist/{components-dVXbmdqd.css → components-iUxcqtUB.css} +1 -1
  16. package/dist/{components-dVXbmdqd.css.map → components-iUxcqtUB.css.map} +1 -1
  17. package/dist/components.d.mts +1 -1
  18. package/dist/components.d.ts +1 -1
  19. package/dist/components.js +6 -5
  20. package/dist/components.mjs +6 -5
  21. package/dist/{hooks-C2jUJ9EN.js → hooks-B9hsc1oD.js} +3 -3
  22. package/dist/{hooks-C2jUJ9EN.js.map → hooks-B9hsc1oD.js.map} +1 -1
  23. package/dist/{hooks-4hRUjy9Q.mjs → hooks-DjBNmTdh.mjs} +3 -3
  24. package/dist/{hooks-4hRUjy9Q.mjs.map → hooks-DjBNmTdh.mjs.map} +1 -1
  25. package/dist/hooks.d.mts +1 -1
  26. package/dist/hooks.d.ts +1 -1
  27. package/dist/hooks.js +5 -4
  28. package/dist/hooks.mjs +5 -4
  29. package/dist/{html2canvas-pro.esm-BR5xeFe-.mjs → html2canvas-pro.esm-BInzOtWO.mjs} +1 -1
  30. package/dist/{html2canvas-pro.esm-BR5xeFe-.mjs.map → html2canvas-pro.esm-BInzOtWO.mjs.map} +1 -1
  31. package/dist/{html2canvas-pro.esm-CVOsBdk0.js → html2canvas-pro.esm-WJxOmKlq.js} +1 -1
  32. package/dist/{html2canvas-pro.esm-CVOsBdk0.js.map → html2canvas-pro.esm-WJxOmKlq.js.map} +1 -1
  33. package/dist/{index-Bv5R8iLo.d.mts → index-B9lSPJTi.d.ts} +192 -12
  34. package/dist/index-B9lSPJTi.d.ts.map +1 -0
  35. package/dist/{index-CUtFlKOo.d.ts → index-IIXVIoOL.d.mts} +262 -78
  36. package/dist/index-IIXVIoOL.d.mts.map +1 -0
  37. package/dist/index.d.mts +2 -2
  38. package/dist/index.d.ts +2 -2
  39. package/dist/index.js +15 -7
  40. package/dist/index.js.map +1 -1
  41. package/dist/index.mjs +10 -8
  42. package/dist/index.mjs.map +1 -1
  43. package/dist/mui-theme-B2wm_cvZ.js +732 -0
  44. package/dist/mui-theme-B2wm_cvZ.js.map +1 -0
  45. package/dist/mui-theme-CUhybmBq.mjs +696 -0
  46. package/dist/mui-theme-CUhybmBq.mjs.map +1 -0
  47. package/dist/{state-CELzQ0tM.mjs → state-B9yzhuKs.mjs} +5 -694
  48. package/dist/state-B9yzhuKs.mjs.map +1 -0
  49. package/dist/{state-eEsMhIy4.css → state-DOUPNifc.css} +1 -1
  50. package/dist/{state-eEsMhIy4.css.map → state-DOUPNifc.css.map} +1 -1
  51. package/dist/{state-CemiRRon.js → state-lPCQsWy5.js} +24 -737
  52. package/dist/state-lPCQsWy5.js.map +1 -0
  53. package/dist/styles.css +4 -0
  54. package/dist/theme.d.mts +3 -0
  55. package/dist/theme.d.ts +3 -0
  56. package/dist/theme.js +9 -0
  57. package/dist/theme.mjs +4 -0
  58. package/dist/{tooltipMessage-CrXjOmVM.mjs → tooltipMessage-B--I3p1V.mjs} +1 -1
  59. package/dist/{tooltipMessage-CrXjOmVM.mjs.map → tooltipMessage-B--I3p1V.mjs.map} +1 -1
  60. package/dist/{tooltipMessage-Dbi1kkfi.js → tooltipMessage-DosF13kZ.js} +1 -1
  61. package/dist/{tooltipMessage-Dbi1kkfi.js.map → tooltipMessage-DosF13kZ.js.map} +1 -1
  62. package/dist/types.d.mts +1 -1
  63. package/dist/types.d.ts +1 -1
  64. package/dist/types.js +2 -2
  65. package/dist/types.mjs +2 -2
  66. package/dist/{urls-D7PrPolY.mjs → urls-B1Ymdoz-.mjs} +1 -1
  67. package/dist/{urls-D7PrPolY.mjs.map → urls-B1Ymdoz-.mjs.map} +1 -1
  68. package/dist/{urls-SazAekCZ.js → urls-C4eAc82S.js} +1 -1
  69. package/dist/{urls-SazAekCZ.js.map → urls-C4eAc82S.js.map} +1 -1
  70. package/dist/{version-bWg7XwOu.js → version-Dh8sZhvs.js} +2 -2
  71. package/dist/{version-bWg7XwOu.js.map → version-Dh8sZhvs.js.map} +1 -1
  72. package/dist/{version-paZ9esBk.mjs → version-OnOKzBeQ.mjs} +2 -2
  73. package/dist/{version-paZ9esBk.mjs.map → version-OnOKzBeQ.mjs.map} +1 -1
  74. package/package.json +9 -2
  75. package/recce-source/.editorconfig +26 -0
  76. package/recce-source/.flake8 +37 -0
  77. package/recce-source/.github/ISSUE_TEMPLATE/bug_report.yml +67 -0
  78. package/recce-source/.github/ISSUE_TEMPLATE/custom.md +10 -0
  79. package/recce-source/.github/ISSUE_TEMPLATE/feature_request.yml +42 -0
  80. package/recce-source/.github/PULL_REQUEST_TEMPLATE.md +21 -0
  81. package/recce-source/.github/copilot-instructions.md +331 -0
  82. package/recce-source/.github/instructions/backend-instructions.md +541 -0
  83. package/recce-source/.github/instructions/frontend-instructions.md +317 -0
  84. package/recce-source/.github/workflows/build-statics.yaml +72 -0
  85. package/recce-source/.github/workflows/bump.yaml +48 -0
  86. package/recce-source/.github/workflows/integration-tests-cloud.yaml +92 -0
  87. package/recce-source/.github/workflows/integration-tests-sqlmesh.yaml +33 -0
  88. package/recce-source/.github/workflows/integration-tests.yaml +52 -0
  89. package/recce-source/.github/workflows/nightly.yaml +246 -0
  90. package/recce-source/.github/workflows/release.yaml +196 -0
  91. package/recce-source/.github/workflows/tests-js.yaml +58 -0
  92. package/recce-source/.github/workflows/tests-python.yaml +128 -0
  93. package/recce-source/.pre-commit-config.yaml +26 -0
  94. package/recce-source/CLAUDE.md +483 -0
  95. package/recce-source/CODE_OF_CONDUCT.md +128 -0
  96. package/recce-source/CONTRIBUTING.md +107 -0
  97. package/recce-source/LICENSE +201 -0
  98. package/recce-source/Makefile +126 -0
  99. package/recce-source/README.md +182 -0
  100. package/recce-source/RECCE_CLOUD.md +81 -0
  101. package/recce-source/SECURITY.md +25 -0
  102. package/recce-source/docs/PACKAGING.md +340 -0
  103. package/recce-source/docs/README.md +1 -0
  104. package/recce-source/integration_tests/dbt/dbt_project.yml +26 -0
  105. package/recce-source/integration_tests/dbt/models/customers.sql +69 -0
  106. package/recce-source/integration_tests/dbt/models/docs.md +14 -0
  107. package/recce-source/integration_tests/dbt/models/orders.sql +56 -0
  108. package/recce-source/integration_tests/dbt/models/schema.yml +82 -0
  109. package/recce-source/integration_tests/dbt/models/staging/schema.yml +31 -0
  110. package/recce-source/integration_tests/dbt/models/staging/stg_customers.sql +22 -0
  111. package/recce-source/integration_tests/dbt/models/staging/stg_orders.sql +23 -0
  112. package/recce-source/integration_tests/dbt/models/staging/stg_payments.sql +25 -0
  113. package/recce-source/integration_tests/dbt/packages.yml +7 -0
  114. package/recce-source/integration_tests/dbt/profiles.yml +8 -0
  115. package/recce-source/integration_tests/dbt/seeds/raw_customers.csv +101 -0
  116. package/recce-source/integration_tests/dbt/seeds/raw_orders.csv +100 -0
  117. package/recce-source/integration_tests/dbt/seeds/raw_payments.csv +114 -0
  118. package/recce-source/integration_tests/dbt/seeds/raw_statuses.csv +5 -0
  119. package/recce-source/integration_tests/dbt/smoke_test.sh +72 -0
  120. package/recce-source/integration_tests/dbt/smoke_test_cloud.sh +71 -0
  121. package/recce-source/integration_tests/sqlmesh/__init__.py +0 -0
  122. package/recce-source/integration_tests/sqlmesh/audits/assert_item_price_above_zero.sql +9 -0
  123. package/recce-source/integration_tests/sqlmesh/audits/items.sql +7 -0
  124. package/recce-source/integration_tests/sqlmesh/audits/order_items.sql +7 -0
  125. package/recce-source/integration_tests/sqlmesh/config.py +171 -0
  126. package/recce-source/integration_tests/sqlmesh/helper.py +20 -0
  127. package/recce-source/integration_tests/sqlmesh/hooks/__init__.py +0 -0
  128. package/recce-source/integration_tests/sqlmesh/macros/__init__.py +0 -0
  129. package/recce-source/integration_tests/sqlmesh/macros/macros.py +8 -0
  130. package/recce-source/integration_tests/sqlmesh/macros/macros.sql +8 -0
  131. package/recce-source/integration_tests/sqlmesh/macros/utils.py +11 -0
  132. package/recce-source/integration_tests/sqlmesh/metrics/metrics.sql +25 -0
  133. package/recce-source/integration_tests/sqlmesh/models/customer_revenue_by_day.sql +41 -0
  134. package/recce-source/integration_tests/sqlmesh/models/customer_revenue_lifetime.sql +60 -0
  135. package/recce-source/integration_tests/sqlmesh/models/customers.sql +32 -0
  136. package/recce-source/integration_tests/sqlmesh/models/items.py +95 -0
  137. package/recce-source/integration_tests/sqlmesh/models/marketing.sql +15 -0
  138. package/recce-source/integration_tests/sqlmesh/models/order_items.py +95 -0
  139. package/recce-source/integration_tests/sqlmesh/models/orders.py +70 -0
  140. package/recce-source/integration_tests/sqlmesh/models/raw_marketing.py +62 -0
  141. package/recce-source/integration_tests/sqlmesh/models/top_waiters.sql +23 -0
  142. package/recce-source/integration_tests/sqlmesh/models/waiter_as_customer_by_day.sql +29 -0
  143. package/recce-source/integration_tests/sqlmesh/models/waiter_names.sql +10 -0
  144. package/recce-source/integration_tests/sqlmesh/models/waiter_revenue_by_day.sql +29 -0
  145. package/recce-source/integration_tests/sqlmesh/models/waiters.py +62 -0
  146. package/recce-source/integration_tests/sqlmesh/prep_env.sh +16 -0
  147. package/recce-source/integration_tests/sqlmesh/schema.yaml +5 -0
  148. package/recce-source/integration_tests/sqlmesh/seeds/waiter_names.csv +11 -0
  149. package/recce-source/integration_tests/sqlmesh/test_server.sh +29 -0
  150. package/recce-source/integration_tests/sqlmesh/tests/test_customer_revenue_by_day.yaml +63 -0
  151. package/recce-source/integration_tests/sqlmesh/tests/test_order_items.yaml +72 -0
  152. package/recce-source/js/.editorconfig +27 -0
  153. package/recce-source/js/.env.development +5 -0
  154. package/recce-source/js/.husky/pre-commit +29 -0
  155. package/recce-source/js/.nvmrc +1 -0
  156. package/recce-source/js/README.md +39 -0
  157. package/recce-source/js/app/(mainComponents)/DisplayModeToggle.tsx +65 -0
  158. package/recce-source/js/app/(mainComponents)/NavBar.tsx +228 -0
  159. package/recce-source/js/app/(mainComponents)/RecceVersionBadge.tsx +107 -0
  160. package/recce-source/js/app/(mainComponents)/TopBar.tsx +252 -0
  161. package/recce-source/js/app/@lineage/default.tsx +20 -0
  162. package/recce-source/js/app/@lineage/page.tsx +14 -0
  163. package/recce-source/js/app/MainLayout.tsx +170 -0
  164. package/recce-source/js/app/Providers.tsx +49 -0
  165. package/recce-source/js/app/checks/page.tsx +296 -0
  166. package/recce-source/js/app/error.tsx +93 -0
  167. package/recce-source/js/app/favicon.ico +0 -0
  168. package/recce-source/js/app/global-error.tsx +115 -0
  169. package/recce-source/js/app/global.css +82 -0
  170. package/recce-source/js/app/layout.tsx +48 -0
  171. package/recce-source/js/app/lineage/page.tsx +15 -0
  172. package/recce-source/js/app/page.tsx +12 -0
  173. package/recce-source/js/app/query/page.tsx +8 -0
  174. package/recce-source/js/biome.json +313 -0
  175. package/recce-source/js/jest.config.js +34 -0
  176. package/recce-source/js/jest.globals.d.ts +32 -0
  177. package/recce-source/js/jest.setup.js +91 -0
  178. package/recce-source/js/next.config.js +16 -0
  179. package/recce-source/js/package-lock.json +13843 -0
  180. package/recce-source/js/package.json +123 -0
  181. package/recce-source/js/pnpm-lock.yaml +9235 -0
  182. package/recce-source/js/pnpm-workspace.yaml +6 -0
  183. package/recce-source/js/postcss.config.js +5 -0
  184. package/recce-source/js/public/auth_callback.html +68 -0
  185. package/recce-source/js/public/imgs/feedback/thumbs-down.png +0 -0
  186. package/recce-source/js/public/imgs/feedback/thumbs-up.png +0 -0
  187. package/recce-source/js/public/imgs/reload-image.svg +4 -0
  188. package/recce-source/js/public/logo/recce-logo-white.png +0 -0
  189. package/recce-source/js/src/components/AuthModal/AuthModal.tsx +202 -0
  190. package/recce-source/js/src/components/app/AvatarDropdown.tsx +159 -0
  191. package/recce-source/js/src/components/app/EnvInfo.tsx +357 -0
  192. package/recce-source/js/src/components/app/Filename.tsx +388 -0
  193. package/recce-source/js/src/components/app/SetupConnectionPopover.tsx +91 -0
  194. package/recce-source/js/src/components/app/StateExporter.tsx +57 -0
  195. package/recce-source/js/src/components/app/StateImporter.tsx +198 -0
  196. package/recce-source/js/src/components/app/StateSharing.tsx +145 -0
  197. package/recce-source/js/src/components/app/StateSynchronizer.tsx +205 -0
  198. package/recce-source/js/src/components/charts/HistogramChart.tsx +291 -0
  199. package/recce-source/js/src/components/charts/SquareIcon.tsx +51 -0
  200. package/recce-source/js/src/components/charts/TopKSummaryList.tsx +457 -0
  201. package/recce-source/js/src/components/charts/chartTheme.ts +74 -0
  202. package/recce-source/js/src/components/check/CheckBreadcrumb.tsx +97 -0
  203. package/recce-source/js/src/components/check/CheckDescription.tsx +134 -0
  204. package/recce-source/js/src/components/check/CheckDetail.tsx +797 -0
  205. package/recce-source/js/src/components/check/CheckEmptyState.tsx +84 -0
  206. package/recce-source/js/src/components/check/CheckList.tsx +320 -0
  207. package/recce-source/js/src/components/check/LineageDiffView.tsx +32 -0
  208. package/recce-source/js/src/components/check/PresetCheckTemplateView.tsx +48 -0
  209. package/recce-source/js/src/components/check/SchemaDiffView.tsx +290 -0
  210. package/recce-source/js/src/components/check/check.ts +25 -0
  211. package/recce-source/js/src/components/check/timeline/CheckTimeline.tsx +163 -0
  212. package/recce-source/js/src/components/check/timeline/CommentInput.tsx +84 -0
  213. package/recce-source/js/src/components/check/timeline/TimelineEvent.tsx +468 -0
  214. package/recce-source/js/src/components/check/timeline/index.ts +12 -0
  215. package/recce-source/js/src/components/check/utils.ts +12 -0
  216. package/recce-source/js/src/components/data-grid/ScreenshotDataGrid.tsx +333 -0
  217. package/recce-source/js/src/components/data-grid/agGridStyles.css +55 -0
  218. package/recce-source/js/src/components/data-grid/agGridTheme.ts +43 -0
  219. package/recce-source/js/src/components/editor/CodeEditor.tsx +107 -0
  220. package/recce-source/js/src/components/editor/DiffEditor.tsx +162 -0
  221. package/recce-source/js/src/components/editor/index.ts +12 -0
  222. package/recce-source/js/src/components/errorboundary/ErrorBoundary.tsx +87 -0
  223. package/recce-source/js/src/components/histogram/HistogramDiffForm.tsx +147 -0
  224. package/recce-source/js/src/components/histogram/HistogramDiffResultView.tsx +63 -0
  225. package/recce-source/js/src/components/icons/index.tsx +142 -0
  226. package/recce-source/js/src/components/lineage/ActionControl.tsx +63 -0
  227. package/recce-source/js/src/components/lineage/ActionTag.tsx +141 -0
  228. package/recce-source/js/src/components/lineage/ChangeStatusLegend.tsx +46 -0
  229. package/recce-source/js/src/components/lineage/ColumnLevelLineageControl.tsx +327 -0
  230. package/recce-source/js/src/components/lineage/ColumnLevelLineageLegend.tsx +57 -0
  231. package/recce-source/js/src/components/lineage/GraphColumnNode.tsx +199 -0
  232. package/recce-source/js/src/components/lineage/GraphEdge.tsx +59 -0
  233. package/recce-source/js/src/components/lineage/GraphNode.tsx +555 -0
  234. package/recce-source/js/src/components/lineage/LineagePage.tsx +10 -0
  235. package/recce-source/js/src/components/lineage/LineageView.tsx +1384 -0
  236. package/recce-source/js/src/components/lineage/LineageViewContext.tsx +86 -0
  237. package/recce-source/js/src/components/lineage/LineageViewContextMenu.tsx +637 -0
  238. package/recce-source/js/src/components/lineage/LineageViewNotification.tsx +64 -0
  239. package/recce-source/js/src/components/lineage/LineageViewTopBar.tsx +596 -0
  240. package/recce-source/js/src/components/lineage/NodeSqlView.tsx +136 -0
  241. package/recce-source/js/src/components/lineage/NodeTag.tsx +278 -0
  242. package/recce-source/js/src/components/lineage/NodeView.tsx +642 -0
  243. package/recce-source/js/src/components/lineage/SandboxView.tsx +436 -0
  244. package/recce-source/js/src/components/lineage/ServerDisconnectedModalContent.tsx +105 -0
  245. package/recce-source/js/src/components/lineage/SetupConnectionBanner.tsx +52 -0
  246. package/recce-source/js/src/components/lineage/SingleEnvironmentQueryView.tsx +152 -0
  247. package/recce-source/js/src/components/lineage/graph.test.ts +31 -0
  248. package/recce-source/js/src/components/lineage/graph.ts +58 -0
  249. package/recce-source/js/src/components/lineage/lineage.test.ts +169 -0
  250. package/recce-source/js/src/components/lineage/lineage.ts +521 -0
  251. package/recce-source/js/src/components/lineage/styles.css +42 -0
  252. package/recce-source/js/src/components/lineage/styles.tsx +165 -0
  253. package/recce-source/js/src/components/lineage/useMultiNodesAction.ts +352 -0
  254. package/recce-source/js/src/components/lineage/useValueDiffAlertDialog.tsx +108 -0
  255. package/recce-source/js/src/components/onboarding-guide/Notification.tsx +62 -0
  256. package/recce-source/js/src/components/profile/ProfileDiffForm.tsx +134 -0
  257. package/recce-source/js/src/components/profile/ProfileDiffResultView.tsx +245 -0
  258. package/recce-source/js/src/components/query/ChangedOnlyCheckbox.tsx +29 -0
  259. package/recce-source/js/src/components/query/DiffText.tsx +120 -0
  260. package/recce-source/js/src/components/query/QueryDiffResultView.tsx +470 -0
  261. package/recce-source/js/src/components/query/QueryForm.tsx +80 -0
  262. package/recce-source/js/src/components/query/QueryPage.tsx +282 -0
  263. package/recce-source/js/src/components/query/QueryResultView.tsx +180 -0
  264. package/recce-source/js/src/components/query/SetupConnectionGuide.tsx +57 -0
  265. package/recce-source/js/src/components/query/SqlEditor.tsx +245 -0
  266. package/recce-source/js/src/components/query/ToggleSwitch.tsx +84 -0
  267. package/recce-source/js/src/components/query/styles.css +21 -0
  268. package/recce-source/js/src/components/routing/DirectUrlAccess.test.tsx +428 -0
  269. package/recce-source/js/src/components/routing/LineageStatePreservation.test.tsx +311 -0
  270. package/recce-source/js/src/components/routing/Navigation.test.tsx +256 -0
  271. package/recce-source/js/src/components/rowcount/RowCountDiffResultView.tsx +109 -0
  272. package/recce-source/js/src/components/rowcount/delta.ts +11 -0
  273. package/recce-source/js/src/components/run/RunList.tsx +303 -0
  274. package/recce-source/js/src/components/run/RunModal.tsx +191 -0
  275. package/recce-source/js/src/components/run/RunPage.tsx +26 -0
  276. package/recce-source/js/src/components/run/RunResultPane.tsx +454 -0
  277. package/recce-source/js/src/components/run/RunStatusAndDate.tsx +106 -0
  278. package/recce-source/js/src/components/run/RunToolbar.tsx +70 -0
  279. package/recce-source/js/src/components/run/RunView.tsx +196 -0
  280. package/recce-source/js/src/components/run/registry.ts +214 -0
  281. package/recce-source/js/src/components/run/types.ts +14 -0
  282. package/recce-source/js/src/components/schema/ColumnNameCell.test.tsx +169 -0
  283. package/recce-source/js/src/components/schema/ColumnNameCell.tsx +198 -0
  284. package/recce-source/js/src/components/schema/SchemaView.tsx +337 -0
  285. package/recce-source/js/src/components/schema/schemaDiff.ts +32 -0
  286. package/recce-source/js/src/components/schema/style.css +134 -0
  287. package/recce-source/js/src/components/screenshot/ScreenshotBox.tsx +39 -0
  288. package/recce-source/js/src/components/shared/HistoryToggle.tsx +35 -0
  289. package/recce-source/js/src/components/split/Split.tsx +40 -0
  290. package/recce-source/js/src/components/split/styles.css +24 -0
  291. package/recce-source/js/src/components/summary/ChangeSummary.tsx +264 -0
  292. package/recce-source/js/src/components/summary/SchemaSummary.tsx +123 -0
  293. package/recce-source/js/src/components/summary/SummaryView.tsx +29 -0
  294. package/recce-source/js/src/components/timeout/IdleTimeoutBadge.tsx +48 -0
  295. package/recce-source/js/src/components/top-k/TopKDiffForm.tsx +58 -0
  296. package/recce-source/js/src/components/top-k/TopKDiffResultView.tsx +73 -0
  297. package/recce-source/js/src/components/ui/dataGrid/DataFrameColumnGroupHeader.tsx +228 -0
  298. package/recce-source/js/src/components/ui/dataGrid/DataFrameColumnHeader.tsx +113 -0
  299. package/recce-source/js/src/components/ui/dataGrid/defaultRenderCell.tsx +72 -0
  300. package/recce-source/js/src/components/ui/dataGrid/index.ts +23 -0
  301. package/recce-source/js/src/components/ui/dataGrid/inlineRenderCell.test.tsx +607 -0
  302. package/recce-source/js/src/components/ui/dataGrid/inlineRenderCell.tsx +211 -0
  303. package/recce-source/js/src/components/ui/dataGrid/schemaCells.test.tsx +452 -0
  304. package/recce-source/js/src/components/ui/dataGrid/schemaCells.tsx +142 -0
  305. package/recce-source/js/src/components/ui/dataGrid/valueDiffCells.test.tsx +178 -0
  306. package/recce-source/js/src/components/ui/dataGrid/valueDiffCells.tsx +275 -0
  307. package/recce-source/js/src/components/ui/markdown/ExternalLinkConfirmDialog.tsx +134 -0
  308. package/recce-source/js/src/components/ui/markdown/MarkdownContent.tsx +364 -0
  309. package/recce-source/js/src/components/ui/mui/index.ts +13 -0
  310. package/recce-source/js/src/components/ui/mui-provider.tsx +67 -0
  311. package/recce-source/js/src/components/ui/mui-theme.ts +1039 -0
  312. package/recce-source/js/src/components/ui/mui-utils.ts +113 -0
  313. package/recce-source/js/src/components/ui/toaster.tsx +288 -0
  314. package/recce-source/js/src/components/valuediff/ValueDiffDetailResultView.tsx +217 -0
  315. package/recce-source/js/src/components/valuediff/ValueDiffForm.tsx +246 -0
  316. package/recce-source/js/src/components/valuediff/ValueDiffResultView.tsx +82 -0
  317. package/recce-source/js/src/components/valuediff/shared.ts +33 -0
  318. package/recce-source/js/src/constants/tooltipMessage.ts +3 -0
  319. package/recce-source/js/src/constants/urls.ts +1 -0
  320. package/recce-source/js/src/lib/UrlHash.ts +12 -0
  321. package/recce-source/js/src/lib/api/adhocQuery.ts +70 -0
  322. package/recce-source/js/src/lib/api/axiosClient.ts +9 -0
  323. package/recce-source/js/src/lib/api/cacheKeys.ts +13 -0
  324. package/recce-source/js/src/lib/api/checkEvents.ts +252 -0
  325. package/recce-source/js/src/lib/api/checks.ts +129 -0
  326. package/recce-source/js/src/lib/api/cll.ts +53 -0
  327. package/recce-source/js/src/lib/api/connectToCloud.ts +13 -0
  328. package/recce-source/js/src/lib/api/flag.ts +37 -0
  329. package/recce-source/js/src/lib/api/info.ts +198 -0
  330. package/recce-source/js/src/lib/api/instanceInfo.ts +25 -0
  331. package/recce-source/js/src/lib/api/keepAlive.ts +108 -0
  332. package/recce-source/js/src/lib/api/lineagecheck.ts +35 -0
  333. package/recce-source/js/src/lib/api/localStorageKeys.ts +7 -0
  334. package/recce-source/js/src/lib/api/models.ts +59 -0
  335. package/recce-source/js/src/lib/api/profile.ts +65 -0
  336. package/recce-source/js/src/lib/api/rowcount.ts +19 -0
  337. package/recce-source/js/src/lib/api/runs.ts +174 -0
  338. package/recce-source/js/src/lib/api/schemacheck.ts +31 -0
  339. package/recce-source/js/src/lib/api/select.ts +25 -0
  340. package/recce-source/js/src/lib/api/sessionStorageKeys.ts +8 -0
  341. package/recce-source/js/src/lib/api/state.ts +117 -0
  342. package/recce-source/js/src/lib/api/track.ts +281 -0
  343. package/recce-source/js/src/lib/api/types.ts +284 -0
  344. package/recce-source/js/src/lib/api/user.ts +42 -0
  345. package/recce-source/js/src/lib/api/valuediff.ts +46 -0
  346. package/recce-source/js/src/lib/api/version.ts +40 -0
  347. package/recce-source/js/src/lib/const.ts +9 -0
  348. package/recce-source/js/src/lib/dataGrid/crossFunctionConsistency.test.ts +626 -0
  349. package/recce-source/js/src/lib/dataGrid/dataGridFactory.test.ts +2140 -0
  350. package/recce-source/js/src/lib/dataGrid/dataGridFactory.ts +397 -0
  351. package/recce-source/js/src/lib/dataGrid/generators/rowCountUtils.test.ts +132 -0
  352. package/recce-source/js/src/lib/dataGrid/generators/rowCountUtils.ts +126 -0
  353. package/recce-source/js/src/lib/dataGrid/generators/toDataDiffGrid.test.ts +1627 -0
  354. package/recce-source/js/src/lib/dataGrid/generators/toDataDiffGrid.ts +140 -0
  355. package/recce-source/js/src/lib/dataGrid/generators/toDataGrid.ts +67 -0
  356. package/recce-source/js/src/lib/dataGrid/generators/toRowCountDataGrid.test.ts +142 -0
  357. package/recce-source/js/src/lib/dataGrid/generators/toRowCountDataGrid.ts +71 -0
  358. package/recce-source/js/src/lib/dataGrid/generators/toRowCountDiffDataGrid.test.ts +258 -0
  359. package/recce-source/js/src/lib/dataGrid/generators/toRowCountDiffDataGrid.ts +153 -0
  360. package/recce-source/js/src/lib/dataGrid/generators/toSchemaDataGrid.test.ts +951 -0
  361. package/recce-source/js/src/lib/dataGrid/generators/toSchemaDataGrid.ts +221 -0
  362. package/recce-source/js/src/lib/dataGrid/generators/toValueDataGrid.test.ts +395 -0
  363. package/recce-source/js/src/lib/dataGrid/generators/toValueDataGrid.ts +184 -0
  364. package/recce-source/js/src/lib/dataGrid/generators/toValueDiffGrid.test.ts +884 -0
  365. package/recce-source/js/src/lib/dataGrid/generators/toValueDiffGrid.ts +113 -0
  366. package/recce-source/js/src/lib/dataGrid/index.ts +51 -0
  367. package/recce-source/js/src/lib/dataGrid/propertyBased.test.ts +858 -0
  368. package/recce-source/js/src/lib/dataGrid/shared/columnBuilders.test.ts +482 -0
  369. package/recce-source/js/src/lib/dataGrid/shared/columnBuilders.ts +345 -0
  370. package/recce-source/js/src/lib/dataGrid/shared/dataTypeEdgeCases.test.ts +698 -0
  371. package/recce-source/js/src/lib/dataGrid/shared/diffColumnBuilder.test.tsx +820 -0
  372. package/recce-source/js/src/lib/dataGrid/shared/diffColumnBuilder.tsx +277 -0
  373. package/recce-source/js/src/lib/dataGrid/shared/gridUtils.test.ts +785 -0
  374. package/recce-source/js/src/lib/dataGrid/shared/gridUtils.ts +370 -0
  375. package/recce-source/js/src/lib/dataGrid/shared/index.ts +81 -0
  376. package/recce-source/js/src/lib/dataGrid/shared/rowBuilders.test.ts +909 -0
  377. package/recce-source/js/src/lib/dataGrid/shared/rowBuilders.ts +325 -0
  378. package/recce-source/js/src/lib/dataGrid/shared/simpleColumnBuilder.tsx +240 -0
  379. package/recce-source/js/src/lib/dataGrid/shared/toDiffColumn.test.tsx +719 -0
  380. package/recce-source/js/src/lib/dataGrid/shared/toDiffColumn.tsx +231 -0
  381. package/recce-source/js/src/lib/dataGrid/shared/validation.test.ts +559 -0
  382. package/recce-source/js/src/lib/dataGrid/shared/validation.ts +367 -0
  383. package/recce-source/js/src/lib/dataGrid/warehouseNamingConventions.test.ts +1117 -0
  384. package/recce-source/js/src/lib/formatSelect.ts +50 -0
  385. package/recce-source/js/src/lib/hooks/ApiConfigContext.tsx +181 -0
  386. package/recce-source/js/src/lib/hooks/IdleTimeoutContext.tsx +177 -0
  387. package/recce-source/js/src/lib/hooks/LineageGraphContext.tsx +512 -0
  388. package/recce-source/js/src/lib/hooks/RecceActionContext.tsx +269 -0
  389. package/recce-source/js/src/lib/hooks/RecceCheckContext.tsx +33 -0
  390. package/recce-source/js/src/lib/hooks/RecceContextProvider.tsx +54 -0
  391. package/recce-source/js/src/lib/hooks/RecceInstanceContext.tsx +129 -0
  392. package/recce-source/js/src/lib/hooks/RecceQueryContext.tsx +98 -0
  393. package/recce-source/js/src/lib/hooks/RecceShareStateContext.tsx +59 -0
  394. package/recce-source/js/src/lib/hooks/ScreenShot.tsx +399 -0
  395. package/recce-source/js/src/lib/hooks/useAppRouter.test.ts +211 -0
  396. package/recce-source/js/src/lib/hooks/useAppRouter.ts +200 -0
  397. package/recce-source/js/src/lib/hooks/useCheckEvents.ts +99 -0
  398. package/recce-source/js/src/lib/hooks/useCheckToast.tsx +14 -0
  399. package/recce-source/js/src/lib/hooks/useClipBoardToast.tsx +27 -0
  400. package/recce-source/js/src/lib/hooks/useCountdownToast.tsx +102 -0
  401. package/recce-source/js/src/lib/hooks/useFeedbackCollectionToast.tsx +130 -0
  402. package/recce-source/js/src/lib/hooks/useGuideToast.tsx +45 -0
  403. package/recce-source/js/src/lib/hooks/useIdleDetection.tsx +185 -0
  404. package/recce-source/js/src/lib/hooks/useModelColumns.tsx +113 -0
  405. package/recce-source/js/src/lib/hooks/useRecceInstanceInfo.tsx +13 -0
  406. package/recce-source/js/src/lib/hooks/useRecceServerFlag.tsx +13 -0
  407. package/recce-source/js/src/lib/hooks/useRun.tsx +89 -0
  408. package/recce-source/js/src/lib/hooks/useThemeColors.ts +115 -0
  409. package/recce-source/js/src/lib/mergeKeys.test.ts +89 -0
  410. package/recce-source/js/src/lib/mergeKeys.ts +86 -0
  411. package/recce-source/js/src/lib/result/ResultErrorFallback.tsx +9 -0
  412. package/recce-source/js/src/lib/utils/formatTime.ts +84 -0
  413. package/recce-source/js/src/lib/utils/urls.ts +16 -0
  414. package/recce-source/js/src/utils/DropdownValuesInput.tsx +297 -0
  415. package/recce-source/js/src/utils/formatters.tsx +237 -0
  416. package/recce-source/js/src/utils/transforms.ts +81 -0
  417. package/recce-source/js/tsconfig.json +47 -0
  418. package/recce-source/macros/README.md +8 -0
  419. package/recce-source/macros/recce_athena.sql +73 -0
  420. package/recce-source/pyproject.toml +109 -0
  421. package/recce-source/recce/VERSION +1 -0
  422. package/recce-source/recce/__init__.py +84 -0
  423. package/recce-source/recce/adapter/__init__.py +0 -0
  424. package/recce-source/recce/adapter/base.py +109 -0
  425. package/recce-source/recce/adapter/dbt_adapter/__init__.py +1699 -0
  426. package/recce-source/recce/adapter/dbt_adapter/dbt_version.py +42 -0
  427. package/recce-source/recce/adapter/sqlmesh_adapter.py +141 -0
  428. package/recce-source/recce/apis/__init__.py +0 -0
  429. package/recce-source/recce/apis/check_api.py +203 -0
  430. package/recce-source/recce/apis/check_events_api.py +353 -0
  431. package/recce-source/recce/apis/check_func.py +130 -0
  432. package/recce-source/recce/apis/run_api.py +130 -0
  433. package/recce-source/recce/apis/run_func.py +258 -0
  434. package/recce-source/recce/artifact.py +266 -0
  435. package/recce-source/recce/cli.py +1846 -0
  436. package/recce-source/recce/config.py +127 -0
  437. package/recce-source/recce/connect_to_cloud.py +138 -0
  438. package/recce-source/recce/core.py +334 -0
  439. package/recce-source/recce/diff.py +26 -0
  440. package/recce-source/recce/event/CONFIG +1 -0
  441. package/recce-source/recce/event/SENTRY_DNS +1 -0
  442. package/recce-source/recce/event/__init__.py +304 -0
  443. package/recce-source/recce/event/collector.py +184 -0
  444. package/recce-source/recce/event/track.py +158 -0
  445. package/recce-source/recce/exceptions.py +21 -0
  446. package/recce-source/recce/git.py +77 -0
  447. package/recce-source/recce/github.py +222 -0
  448. package/recce-source/recce/mcp_server.py +861 -0
  449. package/recce-source/recce/models/__init__.py +6 -0
  450. package/recce-source/recce/models/check.py +473 -0
  451. package/recce-source/recce/models/run.py +46 -0
  452. package/recce-source/recce/models/types.py +218 -0
  453. package/recce-source/recce/pull_request.py +124 -0
  454. package/recce-source/recce/run.py +390 -0
  455. package/recce-source/recce/server.py +877 -0
  456. package/recce-source/recce/state/__init__.py +31 -0
  457. package/recce-source/recce/state/cloud.py +644 -0
  458. package/recce-source/recce/state/const.py +26 -0
  459. package/recce-source/recce/state/local.py +56 -0
  460. package/recce-source/recce/state/state.py +119 -0
  461. package/recce-source/recce/state/state_loader.py +174 -0
  462. package/recce-source/recce/summary.py +575 -0
  463. package/recce-source/recce/tasks/__init__.py +23 -0
  464. package/recce-source/recce/tasks/core.py +134 -0
  465. package/recce-source/recce/tasks/dataframe.py +170 -0
  466. package/recce-source/recce/tasks/histogram.py +433 -0
  467. package/recce-source/recce/tasks/lineage.py +19 -0
  468. package/recce-source/recce/tasks/profile.py +298 -0
  469. package/recce-source/recce/tasks/query.py +450 -0
  470. package/recce-source/recce/tasks/rowcount.py +277 -0
  471. package/recce-source/recce/tasks/schema.py +65 -0
  472. package/recce-source/recce/tasks/top_k.py +172 -0
  473. package/recce-source/recce/tasks/utils.py +147 -0
  474. package/recce-source/recce/tasks/valuediff.py +497 -0
  475. package/recce-source/recce/util/__init__.py +4 -0
  476. package/recce-source/recce/util/api_token.py +80 -0
  477. package/recce-source/recce/util/breaking.py +330 -0
  478. package/recce-source/recce/util/cache.py +25 -0
  479. package/recce-source/recce/util/cll.py +355 -0
  480. package/recce-source/recce/util/cloud/__init__.py +15 -0
  481. package/recce-source/recce/util/cloud/base.py +115 -0
  482. package/recce-source/recce/util/cloud/check_events.py +190 -0
  483. package/recce-source/recce/util/cloud/checks.py +242 -0
  484. package/recce-source/recce/util/io.py +120 -0
  485. package/recce-source/recce/util/lineage.py +83 -0
  486. package/recce-source/recce/util/logger.py +25 -0
  487. package/recce-source/recce/util/onboarding_state.py +45 -0
  488. package/recce-source/recce/util/perf_tracking.py +85 -0
  489. package/recce-source/recce/util/pydantic_model.py +22 -0
  490. package/recce-source/recce/util/recce_cloud.py +454 -0
  491. package/recce-source/recce/util/singleton.py +18 -0
  492. package/recce-source/recce/util/startup_perf.py +121 -0
  493. package/recce-source/recce/yaml/__init__.py +58 -0
  494. package/recce-source/recce_cloud/README.md +780 -0
  495. package/recce-source/recce_cloud/VERSION +1 -0
  496. package/recce-source/recce_cloud/__init__.py +24 -0
  497. package/recce-source/recce_cloud/api/__init__.py +17 -0
  498. package/recce-source/recce_cloud/api/base.py +132 -0
  499. package/recce-source/recce_cloud/api/client.py +186 -0
  500. package/recce-source/recce_cloud/api/exceptions.py +26 -0
  501. package/recce-source/recce_cloud/api/factory.py +63 -0
  502. package/recce-source/recce_cloud/api/github.py +106 -0
  503. package/recce-source/recce_cloud/api/gitlab.py +111 -0
  504. package/recce-source/recce_cloud/artifact.py +57 -0
  505. package/recce-source/recce_cloud/ci_providers/__init__.py +9 -0
  506. package/recce-source/recce_cloud/ci_providers/base.py +82 -0
  507. package/recce-source/recce_cloud/ci_providers/detector.py +147 -0
  508. package/recce-source/recce_cloud/ci_providers/github_actions.py +136 -0
  509. package/recce-source/recce_cloud/ci_providers/gitlab_ci.py +130 -0
  510. package/recce-source/recce_cloud/cli.py +434 -0
  511. package/recce-source/recce_cloud/download.py +230 -0
  512. package/recce-source/recce_cloud/hatch_build.py +20 -0
  513. package/recce-source/recce_cloud/pyproject.toml +49 -0
  514. package/recce-source/recce_cloud/upload.py +214 -0
  515. package/recce-source/test.py +0 -0
  516. package/recce-source/tests/__init__.py +0 -0
  517. package/recce-source/tests/adapter/__init__.py +0 -0
  518. package/recce-source/tests/adapter/dbt_adapter/__init__.py +0 -0
  519. package/recce-source/tests/adapter/dbt_adapter/conftest.py +17 -0
  520. package/recce-source/tests/adapter/dbt_adapter/dbt_test_helper.py +298 -0
  521. package/recce-source/tests/adapter/dbt_adapter/test_dbt_adapter.py +25 -0
  522. package/recce-source/tests/adapter/dbt_adapter/test_dbt_cll.py +717 -0
  523. package/recce-source/tests/adapter/dbt_adapter/test_proj/dbt_project.yml +4 -0
  524. package/recce-source/tests/adapter/dbt_adapter/test_proj/manifest.json +1 -0
  525. package/recce-source/tests/adapter/dbt_adapter/test_proj/package-lock.yml +8 -0
  526. package/recce-source/tests/adapter/dbt_adapter/test_proj/packages.yml +7 -0
  527. package/recce-source/tests/adapter/dbt_adapter/test_proj/profiles.yml +6 -0
  528. package/recce-source/tests/adapter/dbt_adapter/test_selector.py +205 -0
  529. package/recce-source/tests/apis/__init__.py +0 -0
  530. package/recce-source/tests/apis/row_count_diff.json +59 -0
  531. package/recce-source/tests/apis/test_check_events_api.py +615 -0
  532. package/recce-source/tests/apis/test_run_func.py +433 -0
  533. package/recce-source/tests/catalog.json +527 -0
  534. package/recce-source/tests/data/manifest/base/catalog.json +1 -0
  535. package/recce-source/tests/data/manifest/base/manifest.json +1 -0
  536. package/recce-source/tests/data/manifest/pr2/catalog.json +1 -0
  537. package/recce-source/tests/data/manifest/pr2/manifest.json +1 -0
  538. package/recce-source/tests/manifest.json +10655 -0
  539. package/recce-source/tests/models/__init__.py +0 -0
  540. package/recce-source/tests/models/test_check.py +731 -0
  541. package/recce-source/tests/models/test_run_models.py +295 -0
  542. package/recce-source/tests/recce_cloud/__init__.py +0 -0
  543. package/recce-source/tests/recce_cloud/test_ci_providers.py +351 -0
  544. package/recce-source/tests/recce_cloud/test_cli.py +735 -0
  545. package/recce-source/tests/recce_cloud/test_client.py +379 -0
  546. package/recce-source/tests/recce_cloud/test_platform_clients.py +483 -0
  547. package/recce-source/tests/recce_state.json +1 -0
  548. package/recce-source/tests/state/test_cloud.py +719 -0
  549. package/recce-source/tests/state/test_local.py +164 -0
  550. package/recce-source/tests/state/test_state_loader.py +211 -0
  551. package/recce-source/tests/tasks/__init__.py +0 -0
  552. package/recce-source/tests/tasks/conftest.py +4 -0
  553. package/recce-source/tests/tasks/test_histogram.py +129 -0
  554. package/recce-source/tests/tasks/test_lineage.py +55 -0
  555. package/recce-source/tests/tasks/test_preset_checks.py +64 -0
  556. package/recce-source/tests/tasks/test_profile.py +397 -0
  557. package/recce-source/tests/tasks/test_query.py +528 -0
  558. package/recce-source/tests/tasks/test_row_count.py +133 -0
  559. package/recce-source/tests/tasks/test_schema.py +122 -0
  560. package/recce-source/tests/tasks/test_top_k.py +77 -0
  561. package/recce-source/tests/tasks/test_utils.py +439 -0
  562. package/recce-source/tests/tasks/test_valuediff.py +361 -0
  563. package/recce-source/tests/test_cli.py +236 -0
  564. package/recce-source/tests/test_cli_mcp_optional.py +45 -0
  565. package/recce-source/tests/test_cloud_listing_cli.py +324 -0
  566. package/recce-source/tests/test_config.py +43 -0
  567. package/recce-source/tests/test_connect_to_cloud.py +82 -0
  568. package/recce-source/tests/test_core.py +174 -0
  569. package/recce-source/tests/test_dbt.py +36 -0
  570. package/recce-source/tests/test_mcp_server.py +505 -0
  571. package/recce-source/tests/test_pull_request.py +130 -0
  572. package/recce-source/tests/test_server.py +202 -0
  573. package/recce-source/tests/test_server_lifespan.py +138 -0
  574. package/recce-source/tests/test_summary.py +73 -0
  575. package/recce-source/tests/util/__init__.py +0 -0
  576. package/recce-source/tests/util/cloud/__init__.py +0 -0
  577. package/recce-source/tests/util/cloud/test_check_events.py +255 -0
  578. package/recce-source/tests/util/cloud/test_checks.py +204 -0
  579. package/recce-source/tests/util/test_api_token.py +119 -0
  580. package/recce-source/tests/util/test_breaking.py +1427 -0
  581. package/recce-source/tests/util/test_cll.py +706 -0
  582. package/recce-source/tests/util/test_lineage.py +122 -0
  583. package/recce-source/tests/util/test_onboarding_state.py +84 -0
  584. package/recce-source/tests/util/test_recce_cloud.py +231 -0
  585. package/recce-source/tox.ini +40 -0
  586. package/recce-source/uv.lock +3928 -0
  587. package/src/api/index.ts +32 -0
  588. package/src/components/index.ts +154 -0
  589. package/src/global.d.ts +14 -0
  590. package/src/hooks/index.ts +56 -0
  591. package/src/index.ts +17 -0
  592. package/src/lib/hooks/RouteConfigContext.ts +139 -0
  593. package/src/lib/hooks/useAppRouter.ts +240 -0
  594. package/src/mui-augmentation.d.ts +139 -0
  595. package/src/theme/index.ts +13 -0
  596. package/src/theme.ts +23 -0
  597. package/src/types/index.ts +23 -0
  598. package/dist/index-Bv5R8iLo.d.mts.map +0 -1
  599. package/dist/index-CUtFlKOo.d.ts.map +0 -1
  600. package/dist/state-CELzQ0tM.mjs.map +0 -1
  601. package/dist/state-CemiRRon.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  "use client"
2
- import { n as PUBLIC_API_URL, t as RECCE_SUPPORT_CALENDAR_URL } from "./urls-D7PrPolY.mjs";
3
- import { createTheme, useTheme } from "@mui/material/styles";
2
+ import { t as colors } from "./mui-theme-CUhybmBq.mjs";
3
+ import { n as PUBLIC_API_URL, t as RECCE_SUPPORT_CALENDAR_URL } from "./urls-B1Ymdoz-.mjs";
4
+ import { useTheme } from "@mui/material/styles";
4
5
  import React, { ComponentType, Dispatch, ForwardRefExoticComponent, Fragment, ReactNode, Ref, RefAttributes, SetStateAction, createContext, forwardRef, useCallback, useContext, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
5
6
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
6
7
  import Alert from "@mui/material/Alert";
@@ -55,696 +56,6 @@ import Link from "@mui/material/Link";
55
56
  import MuiPopover from "@mui/material/Popover";
56
57
  import ButtonGroup from "@mui/material/ButtonGroup";
57
58
 
58
- //#region recce-source/js/src/components/ui/mui-theme.ts
59
- /**
60
- * MUI Theme Configuration for Recce
61
- *
62
- * This theme mirrors the existing Chakra UI theme tokens from theme.ts
63
- * to ensure visual consistency during the migration period.
64
- *
65
- * Color palette mappings:
66
- * - iochmara (custom blue) -> primary
67
- * - cyan -> secondary
68
- * - brand (orange) -> custom palette
69
- * - green -> success
70
- * - amber -> warning
71
- * - red -> error
72
- * - neutral -> grey
73
- */
74
- const white = "#FFFFFF";
75
- const black = "#000000";
76
- const colors = {
77
- white,
78
- black,
79
- iochmara: {
80
- 50: "#EAF3FB",
81
- 100: "#C4DDF3",
82
- 200: "#9EC6EB",
83
- 300: "#79B0E2",
84
- 400: "#5599D8",
85
- 500: "#3182CE",
86
- 600: "#2A6CA7",
87
- 700: "#225581",
88
- 800: "#193E5C",
89
- 900: "#102638",
90
- 950: "#060E14"
91
- },
92
- cyan: {
93
- 50: "#ECFEFF",
94
- 100: "#CFFAFE",
95
- 200: "#A5F3FC",
96
- 300: "#67E8F9",
97
- 400: "#22D3EE",
98
- 500: "#06B6D4",
99
- 600: "#0891B2",
100
- 700: "#0E7490",
101
- 800: "#155E75",
102
- 900: "#164E63",
103
- 950: "#083344"
104
- },
105
- neutral: {
106
- 50: "#FAFAFA",
107
- 100: "#F5F5F5",
108
- 200: "#E5E5E5",
109
- 300: "#D4D4D4",
110
- 400: "#A3A3A3",
111
- 500: "#737373",
112
- 600: "#525252",
113
- 700: "#404040",
114
- 800: "#262626",
115
- 900: "#171717",
116
- 950: "#0A0A0A"
117
- },
118
- amber: {
119
- 50: "#FFFBEB",
120
- 100: "#FEF3C7",
121
- 200: "#FDE68A",
122
- 300: "#FCD34D",
123
- 400: "#FBBF24",
124
- 500: "#F59E0B",
125
- 600: "#D97706",
126
- 700: "#B45309",
127
- 800: "#92400E",
128
- 900: "#78350F",
129
- 950: "#431407"
130
- },
131
- yellow: {
132
- 50: "#FEFCE8",
133
- 100: "#FEF9C3",
134
- 200: "#FEF08A",
135
- 300: "#FDE047",
136
- 400: "#FACC15",
137
- 500: "#EAB308",
138
- 600: "#CA8A04",
139
- 700: "#A16207",
140
- 800: "#854D0E",
141
- 900: "#713F12",
142
- 950: "#422006"
143
- },
144
- green: {
145
- 50: "#F0FDF4",
146
- 100: "#DCFCE7",
147
- 200: "#BBF7D0",
148
- 300: "#86EFAC",
149
- 400: "#4ADE80",
150
- 500: "#22C55E",
151
- 600: "#16A34A",
152
- 700: "#15803D",
153
- 800: "#166534",
154
- 900: "#14532D",
155
- 950: "#052E16"
156
- },
157
- red: {
158
- 50: "#FEF2F2",
159
- 100: "#FEE2E2",
160
- 200: "#FECACA",
161
- 300: "#FCA5A5",
162
- 400: "#F87171",
163
- 500: "#EF4444",
164
- 600: "#DC2626",
165
- 700: "#B91C1C",
166
- 800: "#991B1B",
167
- 900: "#7F1D1D",
168
- 950: "#450A0A"
169
- },
170
- rose: {
171
- 50: "#FFF1F2",
172
- 100: "#FFE4E6",
173
- 200: "#FECDD3",
174
- 300: "#FDA4AF",
175
- 400: "#FB7185",
176
- 500: "#F43F5E",
177
- 600: "#E11D48",
178
- 700: "#BE123C",
179
- 800: "#9F1239",
180
- 900: "#881337",
181
- 950: "#4C0519"
182
- },
183
- fuchsia: {
184
- 50: "#FDF4FF",
185
- 100: "#FAE8FF",
186
- 200: "#F5D0FE",
187
- 300: "#F0ABFC",
188
- 400: "#E879F9",
189
- 500: "#D946EF",
190
- 600: "#C026D3",
191
- 700: "#A21CAF",
192
- 800: "#86198F",
193
- 900: "#701A75",
194
- 950: "#4A044E"
195
- },
196
- brand: {
197
- 50: "#FFDED5",
198
- 100: "#FFC1B0",
199
- 200: "#FFA58C",
200
- 300: "#FF8967",
201
- 400: "#FF6E42",
202
- 500: "#FD541E",
203
- 600: "#F04104",
204
- 700: "#C93A06",
205
- 800: "#A23206",
206
- 900: "#7C2906",
207
- 950: "#571E05"
208
- }
209
- };
210
- const semanticColors = {
211
- envBase: colors.amber[500],
212
- envCurrent: colors.iochmara[500]
213
- };
214
- /**
215
- * Helper to generate button color variants for a given color
216
- * Creates contained, outlined, and text variant styles
217
- */
218
- function createButtonColorVariants(colorName, colorScale) {
219
- return [
220
- {
221
- props: {
222
- color: colorName,
223
- variant: "contained"
224
- },
225
- style: {
226
- backgroundColor: colorScale[500],
227
- color: white,
228
- "&:hover": { backgroundColor: colorScale[600] }
229
- }
230
- },
231
- {
232
- props: {
233
- color: colorName,
234
- variant: "outlined"
235
- },
236
- style: {
237
- borderColor: colorScale[500],
238
- color: colorScale[600],
239
- "&:hover": {
240
- borderColor: colorScale[600],
241
- backgroundColor: `${colorScale[50]}80`
242
- }
243
- }
244
- },
245
- {
246
- props: {
247
- color: colorName,
248
- variant: "text"
249
- },
250
- style: {
251
- color: colorScale[600],
252
- "&:hover": { backgroundColor: `${colorScale[50]}80` }
253
- }
254
- }
255
- ];
256
- }
257
- /**
258
- * Helper to generate CircularProgress color variants
259
- */
260
- function createProgressColorVariant(colorName, colorScale) {
261
- return {
262
- props: { color: colorName },
263
- style: { color: colorScale[500] }
264
- };
265
- }
266
- /**
267
- * Helper to generate Badge color variants
268
- */
269
- function createBadgeColorVariant(colorName, colorScale) {
270
- return {
271
- props: { color: colorName },
272
- style: { "& .MuiBadge-badge": {
273
- backgroundColor: colorScale[500],
274
- color: white
275
- } }
276
- };
277
- }
278
- /**
279
- * Helper to generate Chip color variants
280
- */
281
- function createChipColorVariants(colorName, colorScale) {
282
- return [{
283
- props: {
284
- color: colorName,
285
- variant: "filled"
286
- },
287
- style: {
288
- backgroundColor: colorScale[500],
289
- color: white,
290
- "&:hover": { backgroundColor: colorScale[600] }
291
- }
292
- }, {
293
- props: {
294
- color: colorName,
295
- variant: "outlined"
296
- },
297
- style: {
298
- borderColor: colorScale[500],
299
- color: colorScale[600]
300
- }
301
- }];
302
- }
303
- const buttonColorVariants = [
304
- ...createButtonColorVariants("iochmara", colors.iochmara),
305
- ...createButtonColorVariants("cyan", colors.cyan),
306
- ...createButtonColorVariants("amber", colors.amber),
307
- ...createButtonColorVariants("green", colors.green),
308
- ...createButtonColorVariants("red", colors.red),
309
- ...createButtonColorVariants("rose", colors.rose),
310
- ...createButtonColorVariants("fuchsia", colors.fuchsia),
311
- ...createButtonColorVariants("brand", colors.brand)
312
- ];
313
- const progressColorVariants = [
314
- createProgressColorVariant("iochmara", colors.iochmara),
315
- createProgressColorVariant("cyan", colors.cyan),
316
- createProgressColorVariant("amber", colors.amber),
317
- createProgressColorVariant("green", colors.green),
318
- createProgressColorVariant("red", colors.red),
319
- createProgressColorVariant("rose", colors.rose),
320
- createProgressColorVariant("fuchsia", colors.fuchsia),
321
- createProgressColorVariant("brand", colors.brand),
322
- createProgressColorVariant("neutral", colors.neutral)
323
- ];
324
- const badgeColorVariants = [
325
- createBadgeColorVariant("iochmara", colors.iochmara),
326
- createBadgeColorVariant("cyan", colors.cyan),
327
- createBadgeColorVariant("amber", colors.amber),
328
- createBadgeColorVariant("green", colors.green),
329
- createBadgeColorVariant("red", colors.red),
330
- createBadgeColorVariant("rose", colors.rose),
331
- createBadgeColorVariant("fuchsia", colors.fuchsia),
332
- createBadgeColorVariant("brand", colors.brand),
333
- createBadgeColorVariant("neutral", colors.neutral)
334
- ];
335
- const chipColorVariants = [
336
- ...createChipColorVariants("iochmara", colors.iochmara),
337
- ...createChipColorVariants("cyan", colors.cyan),
338
- ...createChipColorVariants("amber", colors.amber),
339
- ...createChipColorVariants("green", colors.green),
340
- ...createChipColorVariants("red", colors.red),
341
- ...createChipColorVariants("rose", colors.rose),
342
- ...createChipColorVariants("fuchsia", colors.fuchsia),
343
- ...createChipColorVariants("brand", colors.brand),
344
- ...createChipColorVariants("neutral", colors.neutral)
345
- ];
346
- const componentOverrides = {
347
- MuiButton: {
348
- defaultProps: { disableElevation: true },
349
- variants: [{
350
- props: { size: "xsmall" },
351
- style: {
352
- padding: "0 0.5rem",
353
- fontSize: "0.75rem",
354
- fontWeight: 500,
355
- borderRadius: 4,
356
- minHeight: "unset",
357
- lineHeight: 1.5
358
- }
359
- }, ...buttonColorVariants],
360
- styleOverrides: {
361
- root: ({ theme, ownerState }) => ({
362
- textTransform: "none",
363
- fontWeight: 500,
364
- borderRadius: 6,
365
- ...ownerState.color === "neutral" && ownerState.variant === "contained" && {
366
- backgroundColor: colors.neutral[700],
367
- color: white,
368
- "&:hover": { backgroundColor: colors.neutral[800] }
369
- },
370
- ...ownerState.color === "neutral" && ownerState.variant === "outlined" && {
371
- borderColor: theme.palette.mode === "dark" ? colors.neutral[500] : colors.neutral[300],
372
- color: theme.palette.mode === "dark" ? colors.neutral[100] : colors.neutral[900],
373
- "&:hover": {
374
- borderColor: theme.palette.mode === "dark" ? colors.neutral[400] : colors.neutral[400],
375
- backgroundColor: theme.palette.mode === "dark" ? colors.neutral[700] : colors.neutral[100]
376
- }
377
- },
378
- ...ownerState.color === "neutral" && ownerState.variant === "text" && {
379
- color: theme.palette.mode === "dark" ? colors.neutral[200] : colors.neutral[700],
380
- "&:hover": { backgroundColor: theme.palette.mode === "dark" ? colors.neutral[700] : colors.neutral[100] }
381
- }
382
- }),
383
- sizeSmall: {
384
- padding: "0.25rem 0.75rem",
385
- fontSize: "0.875rem"
386
- },
387
- sizeMedium: {
388
- padding: "0.5rem 1rem",
389
- fontSize: "1rem"
390
- },
391
- sizeLarge: {
392
- padding: "0.75rem 1.5rem",
393
- fontSize: "1.125rem"
394
- },
395
- contained: { "&:hover": { boxShadow: "none" } },
396
- outlined: {
397
- borderWidth: "1px",
398
- "&:hover": { borderWidth: "1px" }
399
- },
400
- text: ({ theme }) => ({ "&:hover": { backgroundColor: theme.palette.mode === "dark" ? "rgba(255, 255, 255, 0.08)" : "rgba(0, 0, 0, 0.04)" } })
401
- }
402
- },
403
- MuiIconButton: { styleOverrides: {
404
- root: { borderRadius: 6 },
405
- sizeSmall: { padding: 4 },
406
- sizeMedium: { padding: 8 },
407
- sizeLarge: { padding: 12 }
408
- } },
409
- MuiTextField: {
410
- defaultProps: {
411
- variant: "outlined",
412
- size: "small"
413
- },
414
- styleOverrides: { root: { "& .MuiOutlinedInput-root": { borderRadius: 6 } } }
415
- },
416
- MuiOutlinedInput: { styleOverrides: {
417
- root: {
418
- borderRadius: 6,
419
- "&:hover .MuiOutlinedInput-notchedOutline": { borderColor: colors.iochmara[400] },
420
- "&.Mui-focused .MuiOutlinedInput-notchedOutline": {
421
- borderColor: colors.iochmara[500],
422
- borderWidth: 2
423
- }
424
- },
425
- notchedOutline: ({ theme }) => ({ borderColor: theme.palette.mode === "dark" ? colors.neutral[600] : colors.neutral[300] })
426
- } },
427
- MuiCheckbox: {
428
- defaultProps: { color: "primary" },
429
- styleOverrides: { root: { borderRadius: 4 } }
430
- },
431
- MuiSwitch: { defaultProps: { color: "primary" } },
432
- MuiDialog: { styleOverrides: { paper: { borderRadius: 8 } } },
433
- MuiDialogTitle: { styleOverrides: { root: {
434
- fontWeight: 600,
435
- fontSize: "1.125rem"
436
- } } },
437
- MuiMenu: { styleOverrides: { paper: ({ theme }) => ({
438
- borderRadius: 8,
439
- boxShadow: theme.shadows[3]
440
- }) } },
441
- MuiMenuItem: { styleOverrides: { root: ({ theme }) => ({
442
- fontSize: "0.875rem",
443
- padding: "0.5rem 0.75rem",
444
- "&:hover": { backgroundColor: theme.palette.mode === "dark" ? colors.neutral[600] : colors.neutral[100] },
445
- "&.Mui-selected": {
446
- backgroundColor: theme.palette.mode === "dark" ? colors.iochmara[900] : colors.iochmara[50],
447
- "&:hover": { backgroundColor: theme.palette.mode === "dark" ? colors.iochmara[800] : colors.iochmara[100] }
448
- }
449
- }) } },
450
- MuiChip: {
451
- variants: [{
452
- props: { size: "xsmall" },
453
- style: {
454
- height: 20,
455
- fontSize: "0.625rem"
456
- }
457
- }, ...chipColorVariants],
458
- styleOverrides: {
459
- root: {
460
- borderRadius: 6,
461
- fontWeight: 500
462
- },
463
- sizeSmall: {
464
- height: 24,
465
- fontSize: "0.75rem"
466
- },
467
- sizeMedium: {
468
- height: 32,
469
- fontSize: "0.875rem"
470
- }
471
- }
472
- },
473
- MuiTooltip: { styleOverrides: {
474
- tooltip: ({ theme }) => ({
475
- backgroundColor: theme.palette.mode === "dark" ? colors.neutral[700] : colors.neutral[800],
476
- fontSize: "0.75rem",
477
- padding: "0.25rem 0.5rem",
478
- borderRadius: 4
479
- }),
480
- arrow: ({ theme }) => ({ color: theme.palette.mode === "dark" ? colors.neutral[700] : colors.neutral[800] })
481
- } },
482
- MuiAlert: { styleOverrides: {
483
- root: { borderRadius: 6 },
484
- standardSuccess: ({ theme }) => ({
485
- backgroundColor: theme.palette.mode === "dark" ? colors.green[900] : colors.green[50],
486
- color: theme.palette.mode === "dark" ? colors.green[200] : colors.green[800]
487
- }),
488
- standardWarning: ({ theme }) => ({
489
- backgroundColor: theme.palette.mode === "dark" ? colors.amber[900] : colors.amber[50],
490
- color: theme.palette.mode === "dark" ? colors.amber[200] : colors.amber[800]
491
- }),
492
- standardError: ({ theme }) => ({
493
- backgroundColor: theme.palette.mode === "dark" ? colors.red[900] : colors.red[50],
494
- color: theme.palette.mode === "dark" ? colors.red[200] : colors.red[800]
495
- }),
496
- standardInfo: ({ theme }) => ({
497
- backgroundColor: theme.palette.mode === "dark" ? colors.iochmara[900] : colors.iochmara[50],
498
- color: theme.palette.mode === "dark" ? colors.iochmara[200] : colors.iochmara[800]
499
- })
500
- } },
501
- MuiTabs: { styleOverrides: { indicator: { height: 2 } } },
502
- MuiTab: { styleOverrides: { root: {
503
- textTransform: "none",
504
- fontWeight: 500,
505
- minHeight: 48
506
- } } },
507
- MuiAvatar: { styleOverrides: { root: { fontWeight: 500 } } },
508
- MuiBadge: {
509
- variants: badgeColorVariants,
510
- styleOverrides: { badge: {
511
- fontWeight: 500,
512
- fontSize: "0.75rem"
513
- } }
514
- },
515
- MuiCircularProgress: {
516
- defaultProps: { color: "primary" },
517
- variants: progressColorVariants
518
- },
519
- MuiLink: {
520
- defaultProps: {
521
- underline: "hover",
522
- fontWeight: 500
523
- },
524
- styleOverrides: { root: {
525
- color: colors.iochmara[600],
526
- textDecorationColor: colors.iochmara[300],
527
- "&:hover": { color: colors.iochmara[700] }
528
- } }
529
- },
530
- MuiPaper: { styleOverrides: { rounded: { borderRadius: 8 } } },
531
- MuiPopover: { styleOverrides: { paper: ({ theme }) => ({
532
- borderRadius: 8,
533
- boxShadow: theme.shadows[3]
534
- }) } },
535
- MuiDivider: { styleOverrides: { root: ({ theme }) => ({ borderColor: theme.palette.mode === "dark" ? colors.neutral[700] : colors.neutral[200] }) } },
536
- MuiBreadcrumbs: { styleOverrides: { separator: ({ theme }) => ({ color: theme.palette.mode === "dark" ? colors.neutral[500] : colors.neutral[400] }) } }
537
- };
538
- const baseThemeOptions = {
539
- palette: {
540
- primary: {
541
- main: colors.iochmara[500],
542
- light: colors.iochmara[300],
543
- dark: colors.iochmara[600],
544
- contrastText: white
545
- },
546
- secondary: {
547
- main: colors.cyan[500],
548
- light: colors.cyan[400],
549
- dark: colors.cyan[600],
550
- contrastText: white
551
- },
552
- success: {
553
- main: colors.green[500],
554
- light: colors.green[400],
555
- dark: colors.green[600],
556
- contrastText: white
557
- },
558
- warning: {
559
- main: colors.amber[500],
560
- light: colors.amber[400],
561
- dark: colors.amber[600],
562
- contrastText: white
563
- },
564
- error: {
565
- main: colors.red[500],
566
- light: colors.red[400],
567
- dark: colors.red[600],
568
- contrastText: white
569
- },
570
- grey: {
571
- 50: colors.neutral[50],
572
- 100: colors.neutral[100],
573
- 200: colors.neutral[200],
574
- 300: colors.neutral[300],
575
- 400: colors.neutral[400],
576
- 500: colors.neutral[500],
577
- 600: colors.neutral[600],
578
- 700: colors.neutral[700],
579
- 800: colors.neutral[800],
580
- 900: colors.neutral[900]
581
- }
582
- },
583
- typography: {
584
- fontFamily: "ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"",
585
- fontWeightLight: 300,
586
- fontWeightRegular: 400,
587
- fontWeightMedium: 500,
588
- fontWeightBold: 700,
589
- h1: {
590
- fontWeight: 700,
591
- fontSize: "2.25rem",
592
- lineHeight: 1.2
593
- },
594
- h2: {
595
- fontWeight: 700,
596
- fontSize: "1.875rem",
597
- lineHeight: 1.2
598
- },
599
- h3: {
600
- fontWeight: 600,
601
- fontSize: "1.5rem",
602
- lineHeight: 1.3
603
- },
604
- h4: {
605
- fontWeight: 600,
606
- fontSize: "1.25rem",
607
- lineHeight: 1.4
608
- },
609
- h5: {
610
- fontWeight: 600,
611
- fontSize: "1.125rem",
612
- lineHeight: 1.4
613
- },
614
- h6: {
615
- fontWeight: 600,
616
- fontSize: "1rem",
617
- lineHeight: 1.5
618
- },
619
- body1: {
620
- fontSize: "0.875rem",
621
- lineHeight: 1.5
622
- },
623
- body2: {
624
- fontSize: "0.75rem",
625
- lineHeight: 1.5
626
- },
627
- button: {
628
- textTransform: "none",
629
- fontWeight: 500
630
- }
631
- },
632
- shape: { borderRadius: 6 },
633
- spacing: 4,
634
- components: componentOverrides
635
- };
636
- const lightThemeOptions = {
637
- ...baseThemeOptions,
638
- palette: {
639
- ...baseThemeOptions.palette,
640
- mode: "light",
641
- background: {
642
- default: white,
643
- paper: white
644
- },
645
- text: {
646
- primary: colors.neutral[900],
647
- secondary: colors.neutral[600]
648
- }
649
- }
650
- };
651
- const darkThemeOptions = {
652
- ...baseThemeOptions,
653
- palette: {
654
- ...baseThemeOptions.palette,
655
- mode: "dark",
656
- background: {
657
- default: colors.neutral[900],
658
- paper: colors.neutral[800]
659
- },
660
- text: {
661
- primary: colors.neutral[50],
662
- secondary: colors.neutral[400]
663
- }
664
- }
665
- };
666
- const lightTheme = createTheme(lightThemeOptions);
667
- const darkTheme = createTheme(darkThemeOptions);
668
- function createPaletteColor(colorScale) {
669
- return {
670
- main: colorScale[500],
671
- light: colorScale[300],
672
- dark: colorScale[600],
673
- contrastText: white
674
- };
675
- }
676
- const customPaletteAdditions = {
677
- brand: createPaletteColor(colors.brand),
678
- iochmara: {
679
- main: colors.iochmara[500],
680
- light: colors.iochmara[50],
681
- dark: colors.iochmara[700],
682
- contrastText: white
683
- },
684
- cyan: createPaletteColor(colors.cyan),
685
- amber: createPaletteColor(colors.amber),
686
- green: createPaletteColor(colors.green),
687
- red: createPaletteColor(colors.red),
688
- rose: createPaletteColor(colors.rose),
689
- fuchsia: createPaletteColor(colors.fuchsia),
690
- neutral: {
691
- main: colors.neutral[500],
692
- light: colors.neutral[300],
693
- dark: colors.neutral[600],
694
- contrastText: white
695
- },
696
- envBase: semanticColors.envBase,
697
- envCurrent: semanticColors.envCurrent
698
- };
699
- Object.assign(lightTheme.palette, customPaletteAdditions);
700
- Object.assign(darkTheme.palette, customPaletteAdditions);
701
- /**
702
- * Semantic variant mappings from Chakra-style tokens to scale values
703
- * These map semantic names to numeric scale values in the color palette
704
- */
705
- const semanticVariantMap = {
706
- solid: 600,
707
- subtle: 50,
708
- muted: 200,
709
- emphasized: 500,
710
- focusRing: 400,
711
- light: 300
712
- };
713
- /**
714
- * Color aliases - map Chakra color names to our color palette
715
- */
716
- const colorAliases = {
717
- orange: "amber",
718
- gray: "neutral"
719
- };
720
- /**
721
- * Token lookup function to mimic Chakra UI's token API
722
- * Usage: token("colors.green.solid") => "#16A34A"
723
- */
724
- function token(path$1) {
725
- const parts = path$1.split(".");
726
- if (parts[0] === "colors" && parts.length >= 3) {
727
- let colorName = parts[1];
728
- const variant = parts[2];
729
- if (colorName in colorAliases) colorName = colorAliases[colorName];
730
- if (colorName === "white") return white;
731
- if (colorName === "black") return black;
732
- if (colorName in semanticColors) {
733
- const semantic = semanticColors[colorName];
734
- if (typeof semantic === "object" && variant in semantic) return semantic[variant];
735
- }
736
- if (colorName in colors) {
737
- const color = colors[colorName];
738
- if (typeof color === "object" && variant in color) return color[variant];
739
- if (variant in semanticVariantMap) {
740
- const scaleValue = semanticVariantMap[variant];
741
- if (typeof color === "object" && scaleValue in color) return color[scaleValue];
742
- }
743
- }
744
- }
745
- }
746
-
747
- //#endregion
748
59
  //#region recce-source/js/src/components/ui/toaster.tsx
749
60
  const ToasterContext = createContext(null);
750
61
  let toastIdCounter = 0;
@@ -8385,5 +7696,5 @@ async function shareState(client = axiosClient) {
8385
7696
  }
8386
7697
 
8387
7698
  //#endregion
8388
- export { DiffText as $, trackColumnLevelLineage as $t, ColumnNameCell as A, selectUpstream as An, useApiConfigSafe as At, useAppNavigation as B, reactQueryClient as Bn, submitQueryDiff as Bt, TopKSummaryList as C, isValueDiffDetailRun as Cn, formatDuration as Ct, QueryDiffResultView as D, isLineageGraphNode as Dn, ApiConfigProvider as Dt, QueryResultView as E, isLineageGraphColumnNode as En, useRecceInstanceInfo as Et, RecceActionContextProvider as F, getLineageDiff as Fn, submitValueDiffDetail as Ft, RunModal as G, useToaster as Gn, searchRuns as Gt, RouteConfigProvider as H, Toaster as Hn, cancelRun as Ht, useRecceActionContext as I, getLineageWithError as In, submitProfileDiff as It, IconImport as J, lightTheme as Jn, waitRun as Jt, IconEdit as K, colors as Kn, submitRun as Kt, navigateTo as L, getModelInfo as Ln, createLineageDiffCheck as Lt, useLineageViewContext as M, union as Mn, EmptyRowsRenderer as Mt, useLineageViewContextSafe as N, getCll as Nn, ScreenshotDataGrid as Nt, ProfileDiffResultView as O, layout as On, useApiClient as Ot, RecceActionContext as P, getLineage as Pn, submitValueDiff as Pt, deltaPercentageString as Q, LINEAGE_SELECTION_ACTION as Qt, useAppLocation as R, getServerInfo as Rn, submitQuery as Rt, TopKDiffResultView as S, isTopKDiffRun as Sn, markRelaunchHintCompleted as St, RowCountDiffResultView as T, COLUMN_HEIGHT as Tn, useRecceInstanceContext as Tt, useRouteConfig as U, ToasterProvider as Un, getRun as Ut, useAppRoute as V, ScreenshotBox as Vn, aggregateRuns as Vt, useRouteConfigSafe as W, toaster as Wn, listRuns as Wt, IconSave as X, EXPLORE_FORM_EVENT as Xt, IconInfo as Y, token as Yn, EXPLORE_ACTION as Yt, IconSync as Z, EXPLORE_SOURCE as Zt, findByRunType as _, isQueryBaseRun as _n, useRecceServerFlag as _t, saveAs as a, trackLineageSelection as an, queryModelRowCount as at, ValueDiffForm as b, isRowCountDiffRun as bn, getServerFlag as bt, createCheckByRun as c, trackNavigation as cn, HistogramDiffResultView as ct, getCheck as d, trackShareState as dn, HistogramDiffForm as dt, trackCopyToClipboard as en, useClipBoardToast as et, listChecks as f, trackSingleEnvironment as fn, supportsHistogramDiff as ft, useChecks as g, isProfileDiffRun as gn, useRunsAggregated as gt, updateCheck as h, isHistogramDiffRun as hn, useLineageGraphContext as ht, rename as i, trackHistoryAction as in, fetchModelRowCount as it, LineageViewContext as j, toReactFlow as jn, cacheKeys as jt, createDataGridFromData as k, selectDownstream as kn, useApiConfig as kt, createSimpleCheck as l, trackPreviewChange as ln, HistogramChart as lt, reorderChecks as m, RunToolbar as mn, LineageGraphContextProvider as mt, importState as n, trackExploreAction as nn, mergeKeysWithStatus as nt, shareState as o, trackLineageViewRender as on, queryRowCount as ot, markAsPresetCheck as p, trackStateAction as pn, useModelColumns_default as pt, IconExport as q, darkTheme as qn, submitRunFromCheck as qt, isStateSyncing as r, trackExploreActionForm as rn, submitRowCountDiff as rt, syncState as s, trackMultiNodesAction as sn, ProfileDiffForm as st, exportState as t, trackEnvironmentConfig as tn, mergeKeys as tt, deleteCheck as u, trackPreviewChangeFeedback as un, SquareIcon as ut, runTypeHasRef as v, isQueryDiffRun as vn, IdleTimeoutProvider as vt, TopKDiffForm as w, isValueDiffRun as wn, RecceInstanceInfoProvider as wt, ValueDiffDetailResultView as x, isRowCountRun as xn, markOnboardingCompleted as xt, ValueDiffResultView as y, isQueryRun as yn, useIdleTimeout as yt, useAppLocationWithSearch as z, axiosClient as zn, submitQueryBase as zt };
8389
- //# sourceMappingURL=state-CELzQ0tM.mjs.map
7699
+ export { DiffText as $, trackColumnLevelLineage as $t, ColumnNameCell as A, selectUpstream as An, useApiConfigSafe as At, useAppNavigation as B, reactQueryClient as Bn, submitQueryDiff as Bt, TopKSummaryList as C, isValueDiffDetailRun as Cn, formatDuration as Ct, QueryDiffResultView as D, isLineageGraphNode as Dn, ApiConfigProvider as Dt, QueryResultView as E, isLineageGraphColumnNode as En, useRecceInstanceInfo as Et, RecceActionContextProvider as F, getLineageDiff as Fn, submitValueDiffDetail as Ft, RunModal as G, useToaster as Gn, searchRuns as Gt, RouteConfigProvider as H, Toaster as Hn, cancelRun as Ht, useRecceActionContext as I, getLineageWithError as In, submitProfileDiff as It, IconImport as J, waitRun as Jt, IconEdit as K, submitRun as Kt, navigateTo as L, getModelInfo as Ln, createLineageDiffCheck as Lt, useLineageViewContext as M, union as Mn, EmptyRowsRenderer as Mt, useLineageViewContextSafe as N, getCll as Nn, ScreenshotDataGrid as Nt, ProfileDiffResultView as O, layout as On, useApiClient as Ot, RecceActionContext as P, getLineage as Pn, submitValueDiff as Pt, deltaPercentageString as Q, LINEAGE_SELECTION_ACTION as Qt, useAppLocation as R, getServerInfo as Rn, submitQuery as Rt, TopKDiffResultView as S, isTopKDiffRun as Sn, markRelaunchHintCompleted as St, RowCountDiffResultView as T, COLUMN_HEIGHT as Tn, useRecceInstanceContext as Tt, useRouteConfig as U, ToasterProvider as Un, getRun as Ut, useAppRoute as V, ScreenshotBox as Vn, aggregateRuns as Vt, useRouteConfigSafe as W, toaster as Wn, listRuns as Wt, IconSave as X, EXPLORE_FORM_EVENT as Xt, IconInfo as Y, EXPLORE_ACTION as Yt, IconSync as Z, EXPLORE_SOURCE as Zt, findByRunType as _, isQueryBaseRun as _n, useRecceServerFlag as _t, saveAs as a, trackLineageSelection as an, queryModelRowCount as at, ValueDiffForm as b, isRowCountDiffRun as bn, getServerFlag as bt, createCheckByRun as c, trackNavigation as cn, HistogramDiffResultView as ct, getCheck as d, trackShareState as dn, HistogramDiffForm as dt, trackCopyToClipboard as en, useClipBoardToast as et, listChecks as f, trackSingleEnvironment as fn, supportsHistogramDiff as ft, useChecks as g, isProfileDiffRun as gn, useRunsAggregated as gt, updateCheck as h, isHistogramDiffRun as hn, useLineageGraphContext as ht, rename as i, trackHistoryAction as in, fetchModelRowCount as it, LineageViewContext as j, toReactFlow as jn, cacheKeys as jt, createDataGridFromData as k, selectDownstream as kn, useApiConfig as kt, createSimpleCheck as l, trackPreviewChange as ln, HistogramChart as lt, reorderChecks as m, RunToolbar as mn, LineageGraphContextProvider as mt, importState as n, trackExploreAction as nn, mergeKeysWithStatus as nt, shareState as o, trackLineageViewRender as on, queryRowCount as ot, markAsPresetCheck as p, trackStateAction as pn, useModelColumns_default as pt, IconExport as q, submitRunFromCheck as qt, isStateSyncing as r, trackExploreActionForm as rn, submitRowCountDiff as rt, syncState as s, trackMultiNodesAction as sn, ProfileDiffForm as st, exportState as t, trackEnvironmentConfig as tn, mergeKeys as tt, deleteCheck as u, trackPreviewChangeFeedback as un, SquareIcon as ut, runTypeHasRef as v, isQueryDiffRun as vn, IdleTimeoutProvider as vt, TopKDiffForm as w, isValueDiffRun as wn, RecceInstanceInfoProvider as wt, ValueDiffDetailResultView as x, isRowCountRun as xn, markOnboardingCompleted as xt, ValueDiffResultView as y, isQueryRun as yn, useIdleTimeout as yt, useAppLocationWithSearch as z, axiosClient as zn, submitQueryBase as zt };
7700
+ //# sourceMappingURL=state-B9yzhuKs.mjs.map