@datarecce/ui 0.1.20 → 0.1.22

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 (82) hide show
  1. package/dist/RecceCheckContext-BETsmiD5.mjs +228 -0
  2. package/dist/RecceCheckContext-BETsmiD5.mjs.map +1 -0
  3. package/dist/RecceCheckContext-DNKi97uE.js +302 -0
  4. package/dist/RecceCheckContext-DNKi97uE.js.map +1 -0
  5. package/dist/api.d.mts +2 -102
  6. package/dist/api.d.ts +2 -102
  7. package/dist/api.js +82 -494
  8. package/dist/api.js.map +1 -1
  9. package/dist/api.mjs +29 -435
  10. package/dist/api.mjs.map +1 -1
  11. package/dist/components-C735_oqD.mjs +10438 -0
  12. package/dist/components-C735_oqD.mjs.map +1 -0
  13. package/dist/{styles-JV3V5MVO.css → components-D2DRqJsz.css} +28 -0
  14. package/dist/components-D2DRqJsz.css.map +1 -0
  15. package/dist/components-DeA4kqxK.js +12763 -0
  16. package/dist/components-DeA4kqxK.js.map +1 -0
  17. package/dist/components-dVXbmdqd.css +70 -0
  18. package/dist/components-dVXbmdqd.css.map +1 -0
  19. package/dist/components.d.mts +2 -471
  20. package/dist/components.d.ts +2 -471
  21. package/dist/components.js +81 -27392
  22. package/dist/components.mjs +8 -27250
  23. package/dist/hooks-Ba-AoxcK.mjs +34 -0
  24. package/dist/hooks-Ba-AoxcK.mjs.map +1 -0
  25. package/dist/hooks-D6xvNXEc.js +40 -0
  26. package/dist/hooks-D6xvNXEc.js.map +1 -0
  27. package/dist/hooks.d.mts +2 -296
  28. package/dist/hooks.d.ts +2 -296
  29. package/dist/hooks.js +33 -7583
  30. package/dist/hooks.mjs +6 -7521
  31. package/dist/html2canvas-pro.esm-BR5xeFe-.mjs +7249 -0
  32. package/dist/html2canvas-pro.esm-BR5xeFe-.mjs.map +1 -0
  33. package/dist/html2canvas-pro.esm-CVOsBdk0.js +7250 -0
  34. package/dist/html2canvas-pro.esm-CVOsBdk0.js.map +1 -0
  35. package/dist/index-DYduBYD8.d.ts +1807 -0
  36. package/dist/index-DYduBYD8.d.ts.map +1 -0
  37. package/dist/index-Sj_wOmNH.d.mts +1809 -0
  38. package/dist/index-Sj_wOmNH.d.mts.map +1 -0
  39. package/dist/index.d.mts +2 -29
  40. package/dist/index.d.ts +2 -29
  41. package/dist/index.js +173 -28784
  42. package/dist/index.js.map +1 -1
  43. package/dist/index.mjs +16 -28555
  44. package/dist/index.mjs.map +1 -1
  45. package/dist/state-BjKRZMwY.js +9158 -0
  46. package/dist/state-BjKRZMwY.js.map +1 -0
  47. package/dist/state-BySLlIE7.mjs +8198 -0
  48. package/dist/state-BySLlIE7.mjs.map +1 -0
  49. package/dist/{style-466WWZLM.css → state-IA7HWYOs.css} +81 -0
  50. package/dist/state-IA7HWYOs.css.map +1 -0
  51. package/dist/state-eEsMhIy4.css +215 -0
  52. package/dist/state-eEsMhIy4.css.map +1 -0
  53. package/dist/tooltipMessage-CrXjOmVM.mjs +7 -0
  54. package/dist/tooltipMessage-CrXjOmVM.mjs.map +1 -0
  55. package/dist/tooltipMessage-Dbi1kkfi.js +13 -0
  56. package/dist/tooltipMessage-Dbi1kkfi.js.map +1 -0
  57. package/dist/types.d.mts +2 -32
  58. package/dist/types.d.ts +2 -32
  59. package/dist/types.js +8 -24
  60. package/dist/types.mjs +4 -18
  61. package/dist/urls-D7PrPolY.mjs +16 -0
  62. package/dist/urls-D7PrPolY.mjs.map +1 -0
  63. package/dist/urls-SazAekCZ.js +34 -0
  64. package/dist/urls-SazAekCZ.js.map +1 -0
  65. package/dist/user-BHOgMaBf.mjs +65 -0
  66. package/dist/user-BHOgMaBf.mjs.map +1 -0
  67. package/dist/user-Dt_n5IJX.js +107 -0
  68. package/dist/user-Dt_n5IJX.js.map +1 -0
  69. package/package.json +11 -11
  70. package/dist/LineageViewContext-DEa54ZNF.d.mts +0 -103
  71. package/dist/LineageViewContext-DPVC8ak8.d.ts +0 -103
  72. package/dist/agGridStyles-VYALGSJU.css +0 -55
  73. package/dist/components.js.map +0 -1
  74. package/dist/components.mjs.map +0 -1
  75. package/dist/hooks.js.map +0 -1
  76. package/dist/hooks.mjs.map +0 -1
  77. package/dist/lineagecheck-BQaKAQzn.d.mts +0 -597
  78. package/dist/lineagecheck-BQaKAQzn.d.ts +0 -597
  79. package/dist/styles-QUPOR3LM.css +0 -24
  80. package/dist/styles-TU5BYTIL.css +0 -21
  81. package/dist/types.js.map +0 -1
  82. package/dist/types.mjs.map +0 -1
@@ -0,0 +1,107 @@
1
+ "use client"
2
+ const require_state = require('./state-BjKRZMwY.js');
3
+ let axios = require("axios");
4
+ axios = require_state.__toESM(axios);
5
+
6
+ //#region recce-source/js/src/lib/api/schemacheck.ts
7
+ async function createSchemaDiffCheck(params) {
8
+ return (await require_state.axiosClient.post("/api/checks", {
9
+ type: "schema_diff",
10
+ params
11
+ })).data;
12
+ }
13
+
14
+ //#endregion
15
+ //#region recce-source/js/src/lib/api/select.ts
16
+ async function select(input) {
17
+ return (await require_state.axiosClient.post(`/api/select`, input)).data;
18
+ }
19
+
20
+ //#endregion
21
+ //#region recce-source/js/src/lib/api/sessionStorageKeys.ts
22
+ const prefix$1 = "recce";
23
+ const sessionStorageKeys = {
24
+ recommendationIgnored: `${prefix$1}-recommendation-ignored`,
25
+ recommendationShowed: `${prefix$1}-recommendation-showed`,
26
+ prevRefreshTimeStamp: `${prefix$1}-prev-refresh-timestamp`,
27
+ lineageNotificationDismissed: `${prefix$1}-lineage-notification-dismissed`
28
+ };
29
+
30
+ //#endregion
31
+ //#region recce-source/js/src/lib/api/localStorageKeys.ts
32
+ const prefix = "recce-";
33
+ const localStorageKeys = {
34
+ bypassSaveOverwrite: `${prefix}-bypass-save-overwrite`,
35
+ previewChangeFeedbackID: `${prefix}-preview-change-feedback`,
36
+ prepareEnvGuideID: `${prefix}-prepare-env`
37
+ };
38
+
39
+ //#endregion
40
+ //#region recce-source/js/src/lib/api/connectToCloud.ts
41
+ async function connectToCloud() {
42
+ return (await require_state.axiosClient.post("/api/connect")).data;
43
+ }
44
+
45
+ //#endregion
46
+ //#region recce-source/js/src/lib/api/user.ts
47
+ async function fetchUser() {
48
+ try {
49
+ return (await require_state.axiosClient.get("/api/users")).data;
50
+ } catch (error) {
51
+ console.error("Error fetching user data:", error);
52
+ throw error;
53
+ }
54
+ }
55
+ async function fetchGitHubAvatar(userId) {
56
+ try {
57
+ return (await axios.default.get(`https://api.github.com/user/${userId}`)).data.avatar_url;
58
+ } catch (error) {
59
+ console.warn("Failed to fetch GitHub avatar:", error);
60
+ return null;
61
+ }
62
+ }
63
+
64
+ //#endregion
65
+ Object.defineProperty(exports, 'connectToCloud', {
66
+ enumerable: true,
67
+ get: function () {
68
+ return connectToCloud;
69
+ }
70
+ });
71
+ Object.defineProperty(exports, 'createSchemaDiffCheck', {
72
+ enumerable: true,
73
+ get: function () {
74
+ return createSchemaDiffCheck;
75
+ }
76
+ });
77
+ Object.defineProperty(exports, 'fetchGitHubAvatar', {
78
+ enumerable: true,
79
+ get: function () {
80
+ return fetchGitHubAvatar;
81
+ }
82
+ });
83
+ Object.defineProperty(exports, 'fetchUser', {
84
+ enumerable: true,
85
+ get: function () {
86
+ return fetchUser;
87
+ }
88
+ });
89
+ Object.defineProperty(exports, 'localStorageKeys', {
90
+ enumerable: true,
91
+ get: function () {
92
+ return localStorageKeys;
93
+ }
94
+ });
95
+ Object.defineProperty(exports, 'select', {
96
+ enumerable: true,
97
+ get: function () {
98
+ return select;
99
+ }
100
+ });
101
+ Object.defineProperty(exports, 'sessionStorageKeys', {
102
+ enumerable: true,
103
+ get: function () {
104
+ return sessionStorageKeys;
105
+ }
106
+ });
107
+ //# sourceMappingURL=user-Dt_n5IJX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-Dt_n5IJX.js","names":["axiosClient","axiosClient","prefix","axiosClient","axiosClient"],"sources":["../recce-source/js/src/lib/api/schemacheck.ts","../recce-source/js/src/lib/api/select.ts","../recce-source/js/src/lib/api/sessionStorageKeys.ts","../recce-source/js/src/lib/api/localStorageKeys.ts","../recce-source/js/src/lib/api/connectToCloud.ts","../recce-source/js/src/lib/api/user.ts"],"sourcesContent":["import { AxiosResponse } from \"axios\";\nimport { axiosClient } from \"./axiosClient\";\nimport { Check } from \"./checks\";\n\nexport interface SchemaDiffViewParams {\n node_id?: string | string[];\n select?: string;\n exclude?: string;\n view_mode?: \"all\" | \"changed_models\";\n packages?: string[];\n}\n\ninterface CreateSchemaDiffCheckBody {\n type: string;\n params: SchemaDiffViewParams;\n}\n\nexport async function createSchemaDiffCheck(\n params: SchemaDiffViewParams,\n): Promise<Check> {\n const response = await axiosClient.post<\n CreateSchemaDiffCheckBody,\n AxiosResponse<Check>\n >(\"/api/checks\", {\n type: \"schema_diff\",\n params: params,\n });\n\n return response.data;\n}\n","import { AxiosResponse } from \"axios\";\nimport { axiosClient } from \"./axiosClient\";\n\nexport interface SelectInput {\n select?: string;\n exclude?: string;\n packages?: string[];\n view_mode?: \"all\" | \"changed_models\";\n}\n\nexport interface SelectOutput {\n nodes: string[];\n}\n\nexport async function select(input: SelectInput): Promise<SelectOutput> {\n return (\n await axiosClient.post<SelectInput, AxiosResponse<SelectOutput>>(\n `/api/select`,\n input,\n )\n ).data;\n}\n","const prefix = \"recce\";\n\nexport const sessionStorageKeys = {\n recommendationIgnored: `${prefix}-recommendation-ignored`,\n recommendationShowed: `${prefix}-recommendation-showed`,\n prevRefreshTimeStamp: `${prefix}-prev-refresh-timestamp`,\n lineageNotificationDismissed: `${prefix}-lineage-notification-dismissed`,\n};\n","const prefix = \"recce-\";\n\nexport const localStorageKeys = {\n bypassSaveOverwrite: `${prefix}-bypass-save-overwrite`,\n previewChangeFeedbackID: `${prefix}-preview-change-feedback`,\n prepareEnvGuideID: `${prefix}-prepare-env`,\n};\n","import { axiosClient } from \"./axiosClient\";\n\nexport interface ConnectToCloud {\n connection_url: string;\n}\n\nexport async function connectToCloud(): Promise<ConnectToCloud> {\n const data = await axiosClient.post<ConnectToCloud>(\"/api/connect\");\n return data.data;\n}\n","import axios, { AxiosResponse } from \"axios\";\nimport { axiosClient } from \"./axiosClient\";\n\nexport interface User {\n id: string;\n login: string;\n login_type: string;\n email: string;\n onboarding_state: string;\n}\n\ninterface GitHubUser {\n login: string;\n id: number;\n avatar_url: string;\n}\n\nexport async function fetchUser(): Promise<User> {\n try {\n const response = await axiosClient.get<never, AxiosResponse<User>>(\n \"/api/users\",\n );\n return response.data;\n } catch (error) {\n console.error(\"Error fetching user data:\", error);\n throw error;\n }\n}\n\nexport async function fetchGitHubAvatar(\n userId: string,\n): Promise<string | null> {\n try {\n const response = await axios.get<GitHubUser>(\n `https://api.github.com/user/${userId}`,\n );\n return response.data.avatar_url;\n } catch (error) {\n console.warn(\"Failed to fetch GitHub avatar:\", error);\n return null;\n }\n}\n"],"mappings":";;;;;;AAiBA,eAAsB,sBACpB,QACgB;AAShB,SARiB,MAAMA,0BAAY,KAGjC,eAAe;EACf,MAAM;EACE;EACT,CAAC,EAEc;;;;;ACdlB,eAAsB,OAAO,OAA2C;AACtE,SACE,MAAMC,0BAAY,KAChB,eACA,MACD,EACD;;;;;ACpBJ,MAAMC,WAAS;AAEf,MAAa,qBAAqB;CAChC,uBAAuB,GAAGA,SAAO;CACjC,sBAAsB,GAAGA,SAAO;CAChC,sBAAsB,GAAGA,SAAO;CAChC,8BAA8B,GAAGA,SAAO;CACzC;;;;ACPD,MAAM,SAAS;AAEf,MAAa,mBAAmB;CAC9B,qBAAqB,GAAG,OAAO;CAC/B,yBAAyB,GAAG,OAAO;CACnC,mBAAmB,GAAG,OAAO;CAC9B;;;;ACAD,eAAsB,iBAA0C;AAE9D,SADa,MAAMC,0BAAY,KAAqB,eAAe,EACvD;;;;;ACSd,eAAsB,YAA2B;AAC/C,KAAI;AAIF,UAHiB,MAAMC,0BAAY,IACjC,aACD,EACe;UACT,OAAO;AACd,UAAQ,MAAM,6BAA6B,MAAM;AACjD,QAAM;;;AAIV,eAAsB,kBACpB,QACwB;AACxB,KAAI;AAIF,UAHiB,MAAM,cAAM,IAC3B,+BAA+B,SAChC,EACe,KAAK;UACd,OAAO;AACd,UAAQ,KAAK,kCAAkC,MAAM;AACrD,SAAO"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datarecce/ui",
3
- "version": "0.1.20",
3
+ "version": "0.1.22",
4
4
  "description": "Recce UI Components Library - Reusable React components for data validation and review",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -41,8 +41,8 @@
41
41
  "README.md"
42
42
  ],
43
43
  "scripts": {
44
- "dev": "tsup --watch",
45
- "build": "tsup",
44
+ "dev": "tsdown --watch",
45
+ "build": "tsdown",
46
46
  "type:check": "tsc --noEmit 2>&1 | grep -E '^src/' || echo 'Type check passed (OSS errors filtered)'",
47
47
  "type:check:strict": "tsc --noEmit",
48
48
  "type:check:all": "tsc --noEmit",
@@ -73,31 +73,31 @@
73
73
  },
74
74
  "peerDependencies": {
75
75
  "react": "^18.0.0 || ^19.0.0",
76
- "react-dom": "^18.0.0 || ^19.0.0"
76
+ "react-dom": "^18.0.0 || ^19.0.0",
77
+ "@amplitude/unified": "^1.0.0-beta.9",
78
+ "@emotion/react": "^11.0.0",
79
+ "@mui/material": "^7.0.0",
80
+ "@tanstack/react-query": "^5.0.0",
81
+ "@xyflow/react": "^12.0.0",
82
+ "axios": "^1.0.0"
77
83
  },
78
84
  "dependencies": {
79
- "@amplitude/unified": "1.0.0-beta.9",
80
85
  "@codemirror/lang-sql": "^6.10.0",
81
86
  "@codemirror/lang-yaml": "^6.1.2",
82
87
  "@codemirror/merge": "^6.11.2",
83
88
  "@codemirror/state": "^6.5.2",
84
89
  "@codemirror/view": "^6.39.4",
85
90
  "@dagrejs/dagre": "^1.1.8",
86
- "@emotion/react": "^11.14.0",
87
91
  "@emotion/styled": "^11.14.1",
88
92
  "@hello-pangea/dnd": "^18.0.1",
89
93
  "@jeromefitz/date-fns-tz": "3.0.0-canary.8",
90
- "@mui/material": "^7.3.6",
91
94
  "@mui/system": "^7.3.6",
92
95
  "@sentry/react": "^10.32.1",
93
- "@tanstack/react-query": "^5.90.12",
94
96
  "@types/js-cookie": "^3.0.6",
95
97
  "@uiw/codemirror-theme-github": "^4.25.4",
96
98
  "@uiw/react-codemirror": "^4.25.4",
97
- "@xyflow/react": "^12.10.0",
98
99
  "ag-grid-community": "^35.0.0",
99
100
  "ag-grid-react": "^35.0.0",
100
- "axios": "^1.13.2",
101
101
  "chart.js": "^4.5.1",
102
102
  "codemirror": "^6.0.2",
103
103
  "common-tags": "^1.8.2",
@@ -131,7 +131,7 @@
131
131
  "@types/react-dom": "19.2.3",
132
132
  "@types/react-syntax-highlighter": "^15.5.13",
133
133
  "next": "^16.1.0",
134
- "tsup": "^8.3.5",
134
+ "tsdown": "^0.18.2",
135
135
  "typescript": "^5.9.3"
136
136
  },
137
137
  "overrides": {
@@ -1,103 +0,0 @@
1
- import React__default from 'react';
2
- import { y as NodeData, M as ManifestMetadata, A as CatalogMetadata, w as ColumnLineageData, Y as LineageDiffViewOptions, aL as Run, t as CllInput } from './lineagecheck-BQaKAQzn.mjs';
3
- import { Node, Edge } from '@xyflow/react';
4
-
5
- /**
6
- * The types for internal data structures.
7
- */
8
- type LineageFrom = "both" | "base" | "current";
9
- type LineageGraphNode = Node<{
10
- id: string;
11
- name: string;
12
- from: LineageFrom;
13
- data: {
14
- base?: NodeData;
15
- current?: NodeData;
16
- };
17
- changeStatus?: "added" | "removed" | "modified";
18
- change?: {
19
- category: "breaking" | "non_breaking" | "partial_breaking" | "unknown";
20
- columns: Record<string, "added" | "removed" | "modified"> | null;
21
- };
22
- resourceType?: string;
23
- packageName?: string;
24
- parents: Record<string, LineageGraphEdge>;
25
- children: Record<string, LineageGraphEdge>;
26
- }, "lineageGraphNode">;
27
- type LineageGraphColumnNode = Node<{
28
- node: LineageGraphNode["data"];
29
- column: string;
30
- type: string;
31
- transformationType?: string;
32
- changeStatus?: "added" | "removed" | "modified";
33
- }, "lineageGraphColumnNode">;
34
- type LineageGraphEdge = Edge<{
35
- from: LineageFrom;
36
- changeStatus?: "added" | "removed";
37
- }, "lineageGraphEdge">;
38
- type LineageGraphNodes = LineageGraphNode | LineageGraphColumnNode;
39
- interface LineageGraph {
40
- nodes: Record<string, LineageGraphNode>;
41
- edges: Record<string, LineageGraphEdge>;
42
- modifiedSet: string[];
43
- manifestMetadata: {
44
- base?: ManifestMetadata;
45
- current?: ManifestMetadata;
46
- };
47
- catalogMetadata: {
48
- base?: CatalogMetadata;
49
- current?: CatalogMetadata;
50
- };
51
- }
52
-
53
- type NewType = LineageDiffViewOptions;
54
- type ActionMode = "per_node" | "multi_nodes";
55
- interface NodeAction {
56
- mode: ActionMode;
57
- status?: "pending" | "running" | "success" | "failure" | "skipped";
58
- skipReason?: string;
59
- run?: Run;
60
- }
61
- interface ActionState {
62
- mode: ActionMode;
63
- status: "pending" | "running" | "canceling" | "canceled" | "completed";
64
- currentRun?: Partial<Run>;
65
- completed: number;
66
- total: number;
67
- actions: Record<string, NodeAction>;
68
- }
69
- interface LineageViewContextType {
70
- interactive: boolean;
71
- nodes: LineageGraphNodes[];
72
- focusedNode?: LineageGraphNode;
73
- selectedNodes: LineageGraphNode[];
74
- cll: ColumnLineageData | undefined;
75
- showContextMenu: (event: React__default.MouseEvent, node: LineageGraphNodes) => void;
76
- viewOptions: LineageDiffViewOptions;
77
- onViewOptionsChanged: (options: NewType) => void;
78
- selectMode: "selecting" | "action_result" | undefined;
79
- selectNode: (nodeId: string) => void;
80
- selectParentNodes: (nodeId: string, degree?: number) => void;
81
- selectChildNodes: (nodeId: string, degree?: number) => void;
82
- deselect: () => void;
83
- isNodeHighlighted: (nodeId: string) => boolean;
84
- isNodeSelected: (nodeId: string) => boolean;
85
- isEdgeHighlighted: (source: string, target: string) => boolean;
86
- getNodeAction: (nodeId: string) => NodeAction;
87
- getNodeColumnSet: (nodeId: string) => Set<string>;
88
- isNodeShowingChangeAnalysis: (nodeId: string) => boolean;
89
- runRowCount: () => Promise<void>;
90
- runRowCountDiff: () => Promise<void>;
91
- runValueDiff: () => Promise<void>;
92
- addLineageDiffCheck: (viewMode?: string) => void;
93
- addSchemaDiffCheck: () => void;
94
- cancel: () => void;
95
- actionState: ActionState;
96
- centerNode: (nodeId: string) => void;
97
- showColumnLevelLineage: (cll?: CllInput) => Promise<void>;
98
- resetColumnLevelLineage: (previous?: boolean) => Promise<void>;
99
- }
100
- declare const LineageViewContext: React__default.Context<LineageViewContextType>;
101
- declare const useLineageViewContext: () => LineageViewContextType | undefined;
102
-
103
- export { LineageViewContext as L, type LineageGraphNode as a, type LineageGraphEdge as b, type LineageGraphColumnNode as c, type LineageGraph as d, useLineageViewContext as u };
@@ -1,103 +0,0 @@
1
- import React__default from 'react';
2
- import { y as NodeData, M as ManifestMetadata, A as CatalogMetadata, w as ColumnLineageData, Y as LineageDiffViewOptions, aL as Run, t as CllInput } from './lineagecheck-BQaKAQzn.js';
3
- import { Node, Edge } from '@xyflow/react';
4
-
5
- /**
6
- * The types for internal data structures.
7
- */
8
- type LineageFrom = "both" | "base" | "current";
9
- type LineageGraphNode = Node<{
10
- id: string;
11
- name: string;
12
- from: LineageFrom;
13
- data: {
14
- base?: NodeData;
15
- current?: NodeData;
16
- };
17
- changeStatus?: "added" | "removed" | "modified";
18
- change?: {
19
- category: "breaking" | "non_breaking" | "partial_breaking" | "unknown";
20
- columns: Record<string, "added" | "removed" | "modified"> | null;
21
- };
22
- resourceType?: string;
23
- packageName?: string;
24
- parents: Record<string, LineageGraphEdge>;
25
- children: Record<string, LineageGraphEdge>;
26
- }, "lineageGraphNode">;
27
- type LineageGraphColumnNode = Node<{
28
- node: LineageGraphNode["data"];
29
- column: string;
30
- type: string;
31
- transformationType?: string;
32
- changeStatus?: "added" | "removed" | "modified";
33
- }, "lineageGraphColumnNode">;
34
- type LineageGraphEdge = Edge<{
35
- from: LineageFrom;
36
- changeStatus?: "added" | "removed";
37
- }, "lineageGraphEdge">;
38
- type LineageGraphNodes = LineageGraphNode | LineageGraphColumnNode;
39
- interface LineageGraph {
40
- nodes: Record<string, LineageGraphNode>;
41
- edges: Record<string, LineageGraphEdge>;
42
- modifiedSet: string[];
43
- manifestMetadata: {
44
- base?: ManifestMetadata;
45
- current?: ManifestMetadata;
46
- };
47
- catalogMetadata: {
48
- base?: CatalogMetadata;
49
- current?: CatalogMetadata;
50
- };
51
- }
52
-
53
- type NewType = LineageDiffViewOptions;
54
- type ActionMode = "per_node" | "multi_nodes";
55
- interface NodeAction {
56
- mode: ActionMode;
57
- status?: "pending" | "running" | "success" | "failure" | "skipped";
58
- skipReason?: string;
59
- run?: Run;
60
- }
61
- interface ActionState {
62
- mode: ActionMode;
63
- status: "pending" | "running" | "canceling" | "canceled" | "completed";
64
- currentRun?: Partial<Run>;
65
- completed: number;
66
- total: number;
67
- actions: Record<string, NodeAction>;
68
- }
69
- interface LineageViewContextType {
70
- interactive: boolean;
71
- nodes: LineageGraphNodes[];
72
- focusedNode?: LineageGraphNode;
73
- selectedNodes: LineageGraphNode[];
74
- cll: ColumnLineageData | undefined;
75
- showContextMenu: (event: React__default.MouseEvent, node: LineageGraphNodes) => void;
76
- viewOptions: LineageDiffViewOptions;
77
- onViewOptionsChanged: (options: NewType) => void;
78
- selectMode: "selecting" | "action_result" | undefined;
79
- selectNode: (nodeId: string) => void;
80
- selectParentNodes: (nodeId: string, degree?: number) => void;
81
- selectChildNodes: (nodeId: string, degree?: number) => void;
82
- deselect: () => void;
83
- isNodeHighlighted: (nodeId: string) => boolean;
84
- isNodeSelected: (nodeId: string) => boolean;
85
- isEdgeHighlighted: (source: string, target: string) => boolean;
86
- getNodeAction: (nodeId: string) => NodeAction;
87
- getNodeColumnSet: (nodeId: string) => Set<string>;
88
- isNodeShowingChangeAnalysis: (nodeId: string) => boolean;
89
- runRowCount: () => Promise<void>;
90
- runRowCountDiff: () => Promise<void>;
91
- runValueDiff: () => Promise<void>;
92
- addLineageDiffCheck: (viewMode?: string) => void;
93
- addSchemaDiffCheck: () => void;
94
- cancel: () => void;
95
- actionState: ActionState;
96
- centerNode: (nodeId: string) => void;
97
- showColumnLevelLineage: (cll?: CllInput) => Promise<void>;
98
- resetColumnLevelLineage: (previous?: boolean) => Promise<void>;
99
- }
100
- declare const LineageViewContext: React__default.Context<LineageViewContextType>;
101
- declare const useLineageViewContext: () => LineageViewContextType | undefined;
102
-
103
- export { LineageViewContext as L, type LineageGraphNode as a, type LineageGraphEdge as b, type LineageGraphColumnNode as c, type LineageGraph as d, useLineageViewContext as u };
@@ -1,55 +0,0 @@
1
- /**
2
- * @file agGridStyles.css
3
- * @description Custom AG Grid styles for Recce data grids
4
- *
5
- * Provides header layout customization to ensure proper flex alignment:
6
- * - Header cells use flex layout with items centered vertically
7
- * - Labels aligned to the left
8
- * - Actions (menu, sort icons) aligned to the right
9
- * - Sticky headers when scrolling vertically
10
- *
11
- * Uses CSS custom properties from global.css for theme-aware colors.
12
- */
13
-
14
- /* AG Grid Viewport - uses theme-aware background */
15
- .ag-body-viewport,
16
- .ag-center-cols-viewport {
17
- background-color: var(--recce-bg-muted);
18
- }
19
-
20
- /* Sticky header - stays visible when scrolling vertically */
21
- .ag-header {
22
- position: sticky;
23
- top: 0;
24
- z-index: 1;
25
- }
26
-
27
- /* Header cell flex layout */
28
- .ag-header-cell-comp-wrapper {
29
- display: flex;
30
- align-items: center;
31
- width: 100%;
32
- }
33
-
34
- /* Header label takes available space and aligns left */
35
- .ag-header-cell-label {
36
- flex: 1;
37
- display: flex;
38
- align-items: center;
39
- overflow: hidden;
40
- }
41
-
42
- /* Sort icons stay with the label */
43
- .ag-header-cell-label .ag-sort-indicator-container {
44
- margin-left: 4px;
45
- }
46
-
47
- /* Actions container (menu button, etc.) aligned right */
48
- .ag-header-cell-menu-button {
49
- margin-left: auto;
50
- }
51
-
52
- /* Ensure header icons don't shrink */
53
- .ag-header-icon {
54
- flex-shrink: 0;
55
- }