From c1db76038e981c94442937868ae2cd561d9858aa Mon Sep 17 00:00:00 2001 From: Tahier Hussain Date: Thu, 19 Mar 2026 16:42:13 +0530 Subject: [PATCH 1/7] Fix package-lock.json sync with package.json MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update lock file to include missing dependencies that were causing npm ci to fail in GitHub Actions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- frontend/package-lock.json | 45 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 59e9337..f27b0ab 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -7,6 +7,7 @@ "": { "name": "visitran_ui", "version": "0.1.44", + "license": "AGPL-3.0-only", "dependencies": { "@ant-design/x": "^1.0.5", "@monaco-editor/react": "^4.7.0", @@ -4042,6 +4043,26 @@ "url": "https://github.com/sponsors/gregberge" } }, + "node_modules/@testing-library/dom": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", + "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "picocolors": "1.1.1", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@testing-library/react": { "version": "13.4.0", "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", @@ -5648,6 +5669,16 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "license": "Python-2.0" }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, "node_modules/array-buffer-byte-length": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", @@ -21251,6 +21282,20 @@ "is-typedarray": "^1.0.0" } }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, "node_modules/unbox-primitive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", From 336acd4c66154cc188f9579e01dff03d559b0c56 Mon Sep 17 00:00:00 2001 From: Tahier Hussain Date: Thu, 19 Mar 2026 16:57:28 +0530 Subject: [PATCH 2/7] Add @testing-library/jest-dom dev dependency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add missing test dependency required by setupTests.js to fix test suite failure in GitHub Actions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- frontend/package-lock.json | 90 +++++++++++++++++++++++++++++++++++++- frontend/package.json | 1 + 2 files changed, 90 insertions(+), 1 deletion(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index f27b0ab..01ea59e 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -52,6 +52,7 @@ }, "devDependencies": { "@babel/plugin-proposal-private-property-in-object": "^7.21.11", + "@testing-library/jest-dom": "^6.9.1", "eslint-config-google": "^0.14.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", @@ -61,6 +62,13 @@ "resize-observer-polyfill": "^1.5.1" } }, + "node_modules/@adobe/css-tools": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.4.tgz", + "integrity": "sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==", + "dev": true, + "license": "MIT" + }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", @@ -4063,6 +4071,33 @@ "node": ">=18" } }, + "node_modules/@testing-library/jest-dom": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz", + "integrity": "sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.4.0", + "aria-query": "^5.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "picocolors": "^1.1.1", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "dev": true, + "license": "MIT" + }, "node_modules/@testing-library/react": { "version": "13.4.0", "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", @@ -5674,7 +5709,6 @@ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "license": "Apache-2.0", - "peer": true, "dependencies": { "dequal": "^2.0.3" } @@ -7648,6 +7682,13 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true, + "license": "MIT" + }, "node_modules/cssdb": { "version": "7.11.2", "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.11.2.tgz", @@ -11361,6 +11402,16 @@ "node": ">=0.8.19" } }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -14650,6 +14701,16 @@ "node": ">=6" } }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/mini-css-extract-plugin": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", @@ -18495,6 +18556,20 @@ "node": ">=6.0.0" } }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/redux": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", @@ -20381,6 +20456,19 @@ "node": ">=6" } }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", diff --git a/frontend/package.json b/frontend/package.json index e4768ac..8c4b027 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -70,6 +70,7 @@ }, "devDependencies": { "@babel/plugin-proposal-private-property-in-object": "^7.21.11", + "@testing-library/jest-dom": "^6.9.1", "eslint-config-google": "^0.14.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", From f0aab87ff2e1f8c5e08d0a79fabdcd60445d723a Mon Sep 17 00:00:00 2001 From: Tahier Hussain Date: Thu, 19 Mar 2026 17:03:36 +0530 Subject: [PATCH 3/7] Add Jest config to transform axios ES module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Configure transformIgnorePatterns to allow Jest to transform the axios package, which ships as an ES module and was causing test failures. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- frontend/package.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frontend/package.json b/frontend/package.json index 8c4b027..76e7466 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -78,5 +78,10 @@ "prettier": "^2.8.3", "pretty-quick": "^3.1.3", "resize-observer-polyfill": "^1.5.1" + }, + "jest": { + "transformIgnorePatterns": [ + "node_modules/(?!(axios)/)" + ] } } From d3ee39a652189f3be26ebcdc52289707edd53c82 Mon Sep 17 00:00:00 2001 From: Tahier Hussain Date: Thu, 19 Mar 2026 17:08:58 +0530 Subject: [PATCH 4/7] Add react-markdown and remark-gfm to Jest transformIgnorePatterns MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Include additional ES module packages in Jest transform config to fix test failures. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- frontend/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/package.json b/frontend/package.json index 76e7466..58397a9 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -81,7 +81,7 @@ }, "jest": { "transformIgnorePatterns": [ - "node_modules/(?!(axios)/)" + "node_modules/(?!(axios|react-markdown|remark-gfm)/)" ] } } From 370a5306964060ce3bfea3a9012d101b520a8416 Mon Sep 17 00:00:00 2001 From: Tahier Hussain Date: Thu, 19 Mar 2026 17:11:24 +0530 Subject: [PATCH 5/7] Fix ESLint unused variable errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove unused React import from OnboardingProgress.jsx - Remove unused yamlContent variable from TransformApply.jsx 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- frontend/src/ide/chat-ai/OnboardingProgress.jsx | 2 +- frontend/src/ide/chat-ai/TransformApply.jsx | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/frontend/src/ide/chat-ai/OnboardingProgress.jsx b/frontend/src/ide/chat-ai/OnboardingProgress.jsx index 7334604..8e76f23 100644 --- a/frontend/src/ide/chat-ai/OnboardingProgress.jsx +++ b/frontend/src/ide/chat-ai/OnboardingProgress.jsx @@ -1,4 +1,4 @@ -import React, { memo, useState, useEffect } from "react"; +import { memo, useState, useEffect } from "react"; import PropTypes from "prop-types"; import { Space, Button, Typography } from "antd"; import { CheckCircleOutlined, CloseOutlined } from "@ant-design/icons"; diff --git a/frontend/src/ide/chat-ai/TransformApply.jsx b/frontend/src/ide/chat-ai/TransformApply.jsx index 55eade5..e1ced83 100644 --- a/frontend/src/ide/chat-ai/TransformApply.jsx +++ b/frontend/src/ide/chat-ai/TransformApply.jsx @@ -47,7 +47,6 @@ const TransformApply = memo(function TransformApply({ }, [triggerRetryTransform]); const onApplyClick = () => { - const yamlContent = (message.response || []).join("\n"); handleTransformApply({ chatId: selectedChatId, chatMessageId: message.chat_message_id, From 2af792c6994f6431a523443284865980993c9baf Mon Sep 17 00:00:00 2001 From: Tahier Hussain Date: Thu, 19 Mar 2026 17:20:57 +0530 Subject: [PATCH 6/7] Fix CSS formatting issues MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../project-list/ProjectListCard.css | 6 +- .../settings/contents/ApiAccess.css | 6 +- .../base/project-listing/ProjectListing.css | 1 - frontend/src/ide/chat-ai/ChatAI.css | 11 ++- .../src/ide/chat-ai/ContextRulesPanel.css | 8 ++- .../src/ide/chat-ai/LowBalanceWarning.css | 2 +- .../ide/chat-ai/OnboardingCompletionPopup.css | 18 ++--- frontend/src/ide/chat-ai/OnboardingGuide.css | 25 ++++--- .../ide/chat-ai/ThoughtChainEnhancements.css | 11 +-- frontend/src/ide/chat-ai/TodoGuide.css | 4 +- .../ide/editor/lineage-tab/lineage-tab.css | 9 +-- .../no-code-configuration/button-styles.css | 6 +- .../toolbar-items/add-column.css | 7 +- .../ide/editor/sql-flow-tab/sql-flow-tab.css | 53 +++++++-------- .../ide/sequence-drawer/SequenceDrawer.css | 67 ++++++++++--------- frontend/src/variables.css | 10 +-- 16 files changed, 131 insertions(+), 113 deletions(-) diff --git a/frontend/src/base/components/project-list/ProjectListCard.css b/frontend/src/base/components/project-list/ProjectListCard.css index f2a55a6..a912020 100644 --- a/frontend/src/base/components/project-list/ProjectListCard.css +++ b/frontend/src/base/components/project-list/ProjectListCard.css @@ -169,7 +169,6 @@ white-space: nowrap; } - /* ---------- body ---------- */ .project-list-card-clickable-content { cursor: pointer; @@ -317,7 +316,9 @@ border: 1.5px solid var(--project-detail-bg); } -.project-list-card-shared-avatars .ant-avatar-group .ant-avatar.project-list-card-shared-avatar { +.project-list-card-shared-avatars + .ant-avatar-group + .ant-avatar.project-list-card-shared-avatar { background: #722ed1; } @@ -346,7 +347,6 @@ pointer-events: auto; } - .project-list-card-action-btn { flex: 1; padding: 4px 0; diff --git a/frontend/src/base/components/settings/contents/ApiAccess.css b/frontend/src/base/components/settings/contents/ApiAccess.css index 0813c93..fc4720b 100644 --- a/frontend/src/base/components/settings/contents/ApiAccess.css +++ b/frontend/src/base/components/settings/contents/ApiAccess.css @@ -33,7 +33,7 @@ } .api-access-info-row .info-value { - font-family: 'SF Mono', 'Menlo', 'Monaco', 'Consolas', monospace; + font-family: "SF Mono", "Menlo", "Monaco", "Consolas", monospace; font-size: 12px; background: var(--component-background, #f5f5f5); border: 1px solid var(--border-color, #d9d9d9); @@ -56,7 +56,7 @@ .api-access-code-block pre { margin: 0; - font-family: 'SF Mono', 'Menlo', 'Monaco', 'Consolas', monospace; + font-family: "SF Mono", "Menlo", "Monaco", "Consolas", monospace; font-size: 12px; line-height: 1.6; white-space: pre-wrap; @@ -101,7 +101,7 @@ } .endpoint-path { - font-family: 'SF Mono', 'Menlo', 'Monaco', 'Consolas', monospace; + font-family: "SF Mono", "Menlo", "Monaco", "Consolas", monospace; font-size: 12px; } diff --git a/frontend/src/base/project-listing/ProjectListing.css b/frontend/src/base/project-listing/ProjectListing.css index 5c2bedf..57e4ecf 100644 --- a/frontend/src/base/project-listing/ProjectListing.css +++ b/frontend/src/base/project-listing/ProjectListing.css @@ -408,7 +408,6 @@ margin-bottom: 12px; } - .welcome-title { font-size: 32px; font-weight: 700; diff --git a/frontend/src/ide/chat-ai/ChatAI.css b/frontend/src/ide/chat-ai/ChatAI.css index cb18008..cc3b76f 100644 --- a/frontend/src/ide/chat-ai/ChatAI.css +++ b/frontend/src/ide/chat-ai/ChatAI.css @@ -122,7 +122,8 @@ animation: collapsed-icon-glow 2s ease-in-out infinite; } @keyframes collapsed-icon-glow { - 0%, 100% { + 0%, + 100% { filter: drop-shadow(0 0 4px rgba(76, 154, 255, 0.4)); } 50% { @@ -170,7 +171,9 @@ border-left: 1px solid var(--border-color-1); border-right: 1px solid var(--border-color-1); } -.chat-ai-container.fullscreen-mode .height-100.overflow-y-auto.pad-8 > .ant-space { +.chat-ai-container.fullscreen-mode + .height-100.overflow-y-auto.pad-8 + > .ant-space { max-width: 800px; margin: 0 auto; } @@ -185,7 +188,9 @@ padding-left: 24px; padding-right: 24px; } -.chat-ai-container.fullscreen-mode .chat-ai-existing-chat-container > .ant-space { +.chat-ai-container.fullscreen-mode + .chat-ai-existing-chat-container + > .ant-space { max-width: 800px; margin: 0 auto; } diff --git a/frontend/src/ide/chat-ai/ContextRulesPanel.css b/frontend/src/ide/chat-ai/ContextRulesPanel.css index 3cfef63..42308de 100644 --- a/frontend/src/ide/chat-ai/ContextRulesPanel.css +++ b/frontend/src/ide/chat-ai/ContextRulesPanel.css @@ -186,7 +186,9 @@ border-radius: 3px; } -.context-rules-panel.dark .context-rules-tabs .ant-tabs-content-holder::-webkit-scrollbar-thumb { +.context-rules-panel.dark + .context-rules-tabs + .ant-tabs-content-holder::-webkit-scrollbar-thumb { background-color: rgba(255, 255, 255, 0.2); } @@ -194,7 +196,9 @@ background-color: rgba(0, 0, 0, 0.3); } -.context-rules-panel.dark .context-rules-tabs .ant-tabs-content-holder::-webkit-scrollbar-thumb:hover { +.context-rules-panel.dark + .context-rules-tabs + .ant-tabs-content-holder::-webkit-scrollbar-thumb:hover { background-color: rgba(255, 255, 255, 0.3); } diff --git a/frontend/src/ide/chat-ai/LowBalanceWarning.css b/frontend/src/ide/chat-ai/LowBalanceWarning.css index 6925482..111945e 100644 --- a/frontend/src/ide/chat-ai/LowBalanceWarning.css +++ b/frontend/src/ide/chat-ai/LowBalanceWarning.css @@ -45,4 +45,4 @@ .low-balance-warning .warning-icon { color: #faad14; -} \ No newline at end of file +} diff --git a/frontend/src/ide/chat-ai/OnboardingCompletionPopup.css b/frontend/src/ide/chat-ai/OnboardingCompletionPopup.css index eca3cce..9ff2a3e 100644 --- a/frontend/src/ide/chat-ai/OnboardingCompletionPopup.css +++ b/frontend/src/ide/chat-ai/OnboardingCompletionPopup.css @@ -13,7 +13,7 @@ /* Light theme */ .completion-popup-container.light { - background: #ECEFF3; + background: #eceff3; border: 1px solid #d9d9d9; } @@ -200,7 +200,7 @@ /* Floating particles effect */ .completion-popup-container.light::before, .completion-popup-container.light::after { - content: ''; + content: ""; position: absolute; width: 6px; height: 6px; @@ -211,7 +211,7 @@ .completion-popup-container.dark::before, .completion-popup-container.dark::after { - content: ''; + content: ""; position: absolute; width: 6px; height: 6px; @@ -233,7 +233,8 @@ } @keyframes float { - 0%, 100% { + 0%, + 100% { transform: translateY(0px) rotate(0deg); opacity: 0.6; } @@ -248,25 +249,24 @@ background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%); } - /* Responsive */ @media (max-width: 576px) { .completion-popup-container { padding: 30px 20px; } - + .completion-icon { font-size: 60px; } - + .completion-title { font-size: 24px !important; } - + .completion-message { font-size: 14px; } - + .completion-button { height: 44px; font-size: 14px; diff --git a/frontend/src/ide/chat-ai/OnboardingGuide.css b/frontend/src/ide/chat-ai/OnboardingGuide.css index 1f9e731..288143d 100644 --- a/frontend/src/ide/chat-ai/OnboardingGuide.css +++ b/frontend/src/ide/chat-ai/OnboardingGuide.css @@ -5,7 +5,6 @@ transform: translateY(-2px); } - /* Quick Start Guide Card */ .quick-start-card { border-radius: 12px; @@ -18,8 +17,8 @@ } .quick-start-card.dark { - border: 1px solid #0C3861; - background: #0C3861; + border: 1px solid #0c3861; + background: #0c3861; } .quick-start-card.fade-in-card { @@ -64,7 +63,7 @@ } .quick-start-title.dark { - color: #E6F6FD; + color: #e6f6fd; } .quick-start-description { @@ -77,13 +76,13 @@ } .quick-start-description.dark { - color: #E6F6FD; + color: #e6f6fd; } /* To-Do List Card */ .todo-list-card { border-radius: 12px; - box-shadow: 0 2px 8px rgba(0,0,0,0.06); + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06); } .todo-list-card.light { @@ -133,7 +132,7 @@ } .progress-title.dark { - color: #FFFFFF; + color: #ffffff; } .progress-step { @@ -145,7 +144,7 @@ } .progress-step.dark { - color: #E6F6FD; + color: #e6f6fd; } .progress-badge { @@ -173,7 +172,7 @@ } .skip-button.dark { - color: #E6F6FD; + color: #e6f6fd; } /* Interactive To-Do List Title */ @@ -188,7 +187,7 @@ } .todo-list-title.dark { - color: #FFFFFF; + color: #ffffff; } /* Task Items */ @@ -261,7 +260,7 @@ } .task-title.dark { - color: #FFFFFF; + color: #ffffff; } .task-description { @@ -274,7 +273,7 @@ } .task-description.dark { - color: #C2C3C2B2; + color: #c2c3c2b2; } .task-button { @@ -451,7 +450,7 @@ } .collapse-button.dark { - color: #E6F6FD; + color: #e6f6fd; } .collapse-button:hover { diff --git a/frontend/src/ide/chat-ai/ThoughtChainEnhancements.css b/frontend/src/ide/chat-ai/ThoughtChainEnhancements.css index beb10fe..2cba370 100644 --- a/frontend/src/ide/chat-ai/ThoughtChainEnhancements.css +++ b/frontend/src/ide/chat-ai/ThoughtChainEnhancements.css @@ -60,7 +60,7 @@ } .thought-chain-timeline::before { - content: ''; + content: ""; position: absolute; left: 8px; top: 0; @@ -79,7 +79,7 @@ } .thought-chain-item::before { - content: ''; + content: ""; position: absolute; left: -26px; top: 6px; @@ -113,7 +113,8 @@ } @keyframes pulse { - 0%, 100% { + 0%, + 100% { transform: scale(1); opacity: 1; } @@ -301,7 +302,7 @@ .model-progress-name { flex: 1; - font-family: 'Monaco', 'Menlo', monospace; + font-family: "Monaco", "Menlo", monospace; font-size: 13px; color: #262626; } @@ -380,7 +381,7 @@ } .error-popover-code { - font-family: 'Monaco', 'Menlo', monospace; + font-family: "Monaco", "Menlo", monospace; background: #f5f5f5; padding: 8px 12px; border-radius: 4px; diff --git a/frontend/src/ide/chat-ai/TodoGuide.css b/frontend/src/ide/chat-ai/TodoGuide.css index a623c58..b0af03e 100644 --- a/frontend/src/ide/chat-ai/TodoGuide.css +++ b/frontend/src/ide/chat-ai/TodoGuide.css @@ -198,13 +198,13 @@ .todo-guide-card .ant-card-body { padding: 16px; } - + .todo-guide-header { flex-direction: column; align-items: flex-start; gap: 12px; } - + .todo-guide-item { padding: 12px; } diff --git a/frontend/src/ide/editor/lineage-tab/lineage-tab.css b/frontend/src/ide/editor/lineage-tab/lineage-tab.css index 5e8d56a..0217407 100644 --- a/frontend/src/ide/editor/lineage-tab/lineage-tab.css +++ b/frontend/src/ide/editor/lineage-tab/lineage-tab.css @@ -130,7 +130,6 @@ background-color: #999; } - /* Sequence Panel Styles */ .lineage-tab-container .sequence-panel { position: absolute; @@ -237,8 +236,6 @@ padding-left: 40px; } - - /* Custom control button styling */ .lineage-tab-container .react-flow__controls { background: var(--content-bg, #fff); @@ -264,15 +261,15 @@ /* Legend colors */ .lineage-tab-container .legend-color-blue { - background-color: #00A6ED; + background-color: #00a6ed; } .lineage-tab-container .legend-color-yellow { - background-color: #E8A400; + background-color: #e8a400; } .lineage-tab-container .legend-color-pink { - background-color: #FF889D; + background-color: #ff889d; } .lineage-tab-container .legend-item { diff --git a/frontend/src/ide/editor/no-code-configuration/button-styles.css b/frontend/src/ide/editor/no-code-configuration/button-styles.css index a40b940..56727c1 100644 --- a/frontend/src/ide/editor/no-code-configuration/button-styles.css +++ b/frontend/src/ide/editor/no-code-configuration/button-styles.css @@ -82,9 +82,11 @@ /* SQL icon specific styling for light and dark themes */ .sql-icon-light { - filter: invert(42%) sepia(0%) saturate(0%) hue-rotate(143deg) brightness(95%) contrast(92%); + filter: invert(42%) sepia(0%) saturate(0%) hue-rotate(143deg) brightness(95%) + contrast(92%); } .sql-icon-dark { - filter: invert(80%) sepia(0%) saturate(0%) hue-rotate(143deg) brightness(95%) contrast(92%); + filter: invert(80%) sepia(0%) saturate(0%) hue-rotate(143deg) brightness(95%) + contrast(92%); } diff --git a/frontend/src/ide/editor/no-code-toolbar/toolbar-items/add-column.css b/frontend/src/ide/editor/no-code-toolbar/toolbar-items/add-column.css index 39aadb2..6f6b324 100644 --- a/frontend/src/ide/editor/no-code-toolbar/toolbar-items/add-column.css +++ b/frontend/src/ide/editor/no-code-toolbar/toolbar-items/add-column.css @@ -89,7 +89,12 @@ } .window-row { - background-color: rgba(99, 179, 237, 0.15); /* Light blue tint for window functions */ + background-color: rgba( + 99, + 179, + 237, + 0.15 + ); /* Light blue tint for window functions */ } .window-row:hover td { diff --git a/frontend/src/ide/editor/sql-flow-tab/sql-flow-tab.css b/frontend/src/ide/editor/sql-flow-tab/sql-flow-tab.css index d957801..2727107 100644 --- a/frontend/src/ide/editor/sql-flow-tab/sql-flow-tab.css +++ b/frontend/src/ide/editor/sql-flow-tab/sql-flow-tab.css @@ -54,11 +54,11 @@ .legend-line { width: 24px; height: 0; - border-top: 2px dashed #94A3B8; + border-top: 2px dashed #94a3b8; } .legend-line.dashed { - border-top: 2px dashed #94A3B8; + border-top: 2px dashed #94a3b8; } .sql-flow-stats { @@ -104,8 +104,8 @@ } .table-card-node.selected { - box-shadow: 0 0 0 2px #3B82F6, 0 4px 12px rgba(59, 130, 246, 0.25); - border-color: #3B82F6; + box-shadow: 0 0 0 2px #3b82f6, 0 4px 12px rgba(59, 130, 246, 0.25); + border-color: #3b82f6; } .table-card-node:hover { @@ -139,7 +139,6 @@ line-height: 1.2; } - .table-card-actions { display: flex; align-items: center; @@ -163,8 +162,8 @@ } .sql-btn:hover { - background: #2563EB; - border-color: #2563EB; + background: #2563eb; + border-color: #2563eb; color: white; } @@ -273,21 +272,21 @@ } .edge-label.join { - color: #1D4ED8; - border-color: #93C5FD; - background: #EFF6FF; + color: #1d4ed8; + border-color: #93c5fd; + background: #eff6ff; } .edge-label.union { - color: #6D28D9; - border-color: #C4B5FD; - background: #F5F3FF; + color: #6d28d9; + border-color: #c4b5fd; + background: #f5f3ff; } .edge-label.reference { - color: #B45309; - border-color: #FCD34D; - background: #FFFBEB; + color: #b45309; + border-color: #fcd34d; + background: #fffbeb; } /* ======================================== @@ -349,8 +348,8 @@ } .dark-theme .table-card-node.selected { - box-shadow: 0 0 0 2px #60A5FA, 0 4px 12px rgba(96, 165, 250, 0.3); - border-color: #60A5FA; + box-shadow: 0 0 0 2px #60a5fa, 0 4px 12px rgba(96, 165, 250, 0.3); + border-color: #60a5fa; } .dark-theme .table-card-node:hover { @@ -373,8 +372,8 @@ } .dark-theme .sql-btn:hover { - background: #3B82F6; - border-color: #3B82F6; + background: #3b82f6; + border-color: #3b82f6; color: white; } @@ -394,20 +393,20 @@ } .dark-theme .edge-label.join { - color: #60A5FA; - border-color: #1D4ED8; + color: #60a5fa; + border-color: #1d4ed8; background: #1e3a5f; } .dark-theme .edge-label.union { - color: #A78BFA; - border-color: #6D28D9; + color: #a78bfa; + border-color: #6d28d9; background: #2e1f5a; } .dark-theme .edge-label.reference { - color: #FBBF24; - border-color: #B45309; + color: #fbbf24; + border-color: #b45309; background: #422006; } @@ -484,7 +483,7 @@ .sql-panel-header { padding: 16px 20px; border-bottom: 1px solid var(--border-color-1, #e8e8e8); - border-left: 3px solid #3B82F6; + border-left: 3px solid #3b82f6; position: relative; } diff --git a/frontend/src/ide/sequence-drawer/SequenceDrawer.css b/frontend/src/ide/sequence-drawer/SequenceDrawer.css index 26c3c02..692f341 100644 --- a/frontend/src/ide/sequence-drawer/SequenceDrawer.css +++ b/frontend/src/ide/sequence-drawer/SequenceDrawer.css @@ -187,18 +187,18 @@ } .source-icon { - background: #74A700; + background: #74a700; color: white; font-size: 20px !important; } .transform-icon { - background: #0097D8; + background: #0097d8; color: white; } .output-icon { - background: #74A700; + background: #74a700; color: white; font-size: 20px !important; } @@ -221,7 +221,7 @@ } .sequence-collapse .ant-collapse-content-box::before { - content: ''; + content: ""; position: absolute; width: 44px; height: 2px; @@ -292,7 +292,7 @@ .timeline-table-name .ant-typography { font-size: 14px; color: #1890ff; - font-family: 'Monaco', 'Menlo', 'Courier New', monospace; + font-family: "Monaco", "Menlo", "Courier New", monospace; } /* Dark theme support for timeline */ @@ -459,7 +459,7 @@ } .pipeline-connector::after { - content: ''; + content: ""; position: absolute; bottom: -4px; left: -3px; @@ -621,7 +621,7 @@ background: #fff3cd; padding: 2px 6px; border-radius: 3px; - font-family: 'Monaco', 'Courier New', monospace; + font-family: "Monaco", "Courier New", monospace; font-size: 12px; } @@ -644,11 +644,17 @@ background: #1f1f1f; } -.dark-theme .timeline-details .ant-descriptions-bordered .ant-descriptions-item-label { +.dark-theme + .timeline-details + .ant-descriptions-bordered + .ant-descriptions-item-label { border-color: #434343; } -.dark-theme .timeline-details .ant-descriptions-bordered .ant-descriptions-item-content { +.dark-theme + .timeline-details + .ant-descriptions-bordered + .ant-descriptions-item-content { border-color: #434343; } @@ -661,7 +667,7 @@ /* Developer Mode View - Code Block Style */ .transform-details.dev-mode { padding: 0; - font-family: 'Monaco', 'Menlo', 'Courier New', monospace; + font-family: "Monaco", "Menlo", "Courier New", monospace; } .dark-theme .transform-details.dev-mode { @@ -678,7 +684,7 @@ font-size: 13px; line-height: 1.8; overflow-x: auto; - font-family: 'SF Mono', 'Monaco', 'Menlo', 'Courier New', monospace; + font-family: "SF Mono", "Monaco", "Menlo", "Courier New", monospace; } /* Code Section with Title */ @@ -695,11 +701,12 @@ font-weight: 600; color: rgba(255, 255, 255, 0.85); margin-bottom: 6px; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + sans-serif; } .code-inline { - font-family: 'Monaco', 'Menlo', 'Courier New', monospace; + font-family: "Monaco", "Menlo", "Courier New", monospace; font-weight: 400; color: #4096ff; } @@ -779,8 +786,8 @@ /* Light Theme Overrides for Code Blocks */ body:not(.dark) .code-block { - background: #F5F7F9; - border: 1px solid #ECEFF3; + background: #f5f7f9; + border: 1px solid #eceff3; } body:not(.dark) .code-section-title { @@ -802,8 +809,8 @@ body:not(.dark) .code-value { /* Light Theme Overrides for Accordion */ body:not(.dark) .sequence-collapse .ant-collapse-content-box { - background: #F5F7F9; - border: 1px solid #ECEFF3; + background: #f5f7f9; + border: 1px solid #eceff3; } /* Dark Theme - ChatGPT Code Block Style */ @@ -929,7 +936,7 @@ body:not(.dark) .sequence-collapse .ant-collapse-content-box { background: #e6f7ff; color: #0050b3; border-radius: 4px; - font-family: 'Monaco', 'Courier New', monospace; + font-family: "Monaco", "Courier New", monospace; font-size: 13px; font-weight: 600; border: 1px solid #91d5ff; @@ -988,7 +995,7 @@ body:not(.dark) .sequence-collapse .ant-collapse-content-box { } .formula-box code { - font-family: 'Monaco', 'Courier New', monospace; + font-family: "Monaco", "Courier New", monospace; font-size: 12px; color: #ad6800; line-height: 1.6; @@ -999,7 +1006,7 @@ body:not(.dark) .sequence-collapse .ant-collapse-content-box { background: #f5f5f5; border: 1px solid #d9d9d9; border-radius: 3px; - font-family: 'Monaco', 'Courier New', monospace; + font-family: "Monaco", "Courier New", monospace; font-size: 12px; color: #262626; } @@ -1053,7 +1060,7 @@ body:not(.dark) .sequence-collapse .ant-collapse-content-box { background: #fff1f0; color: #cf1322; border-radius: 4px; - font-family: 'Monaco', 'Courier New', monospace; + font-family: "Monaco", "Courier New", monospace; font-size: 13px; text-decoration: line-through; border: 1px solid #ffa39e; @@ -1064,7 +1071,7 @@ body:not(.dark) .sequence-collapse .ant-collapse-content-box { background: #f6ffed; color: #389e0d; border-radius: 4px; - font-family: 'Monaco', 'Courier New', monospace; + font-family: "Monaco", "Courier New", monospace; font-size: 13px; font-weight: 600; border: 1px solid #b7eb8f; @@ -1091,7 +1098,7 @@ body:not(.dark) .sequence-collapse .ant-collapse-content-box { background: #f0f5ff; border-left: 3px solid #1890ff; border-radius: 4px; - font-family: 'Monaco', 'Courier New', monospace; + font-family: "Monaco", "Courier New", monospace; font-size: 12px; color: #0050b3; } @@ -1132,7 +1139,7 @@ body:not(.dark) .sequence-collapse .ant-collapse-content-box { background: #e6f7ff; color: #0050b3; border-radius: 4px; - font-family: 'Monaco', 'Courier New', monospace; + font-family: "Monaco", "Courier New", monospace; font-size: 13px; font-weight: 600; border: 1px solid #91d5ff; @@ -1149,7 +1156,7 @@ body:not(.dark) .sequence-collapse .ant-collapse-content-box { background: #f9f0ff; border-left: 3px solid #722ed1; border-radius: 4px; - font-family: 'Monaco', 'Courier New', monospace; + font-family: "Monaco", "Courier New", monospace; font-size: 12px; color: #531dab; } @@ -1199,7 +1206,7 @@ body:not(.dark) .sequence-collapse .ant-collapse-content-box { } .agg-column { - font-family: 'Monaco', 'Courier New', monospace; + font-family: "Monaco", "Courier New", monospace; font-size: 12px; color: #389e0d; padding: 2px 6px; @@ -1218,7 +1225,7 @@ body:not(.dark) .sequence-collapse .ant-collapse-content-box { } .alias { - font-family: 'Monaco', 'Courier New', monospace; + font-family: "Monaco", "Courier New", monospace; font-size: 12px; color: #0050b3; font-weight: 600; @@ -1260,7 +1267,7 @@ body:not(.dark) .sequence-collapse .ant-collapse-content-box { background: #fff1f0; color: #cf1322; border-radius: 3px; - font-family: 'Monaco', 'Courier New', monospace; + font-family: "Monaco", "Courier New", monospace; font-size: 12px; text-decoration: line-through; } @@ -1270,7 +1277,7 @@ body:not(.dark) .sequence-collapse .ant-collapse-content-box { background: #f6ffed; color: #389e0d; border-radius: 3px; - font-family: 'Monaco', 'Courier New', monospace; + font-family: "Monaco", "Courier New", monospace; font-size: 12px; font-weight: 600; } @@ -1446,4 +1453,4 @@ body:not(.dark) .sequence-collapse .ant-collapse-content-box { .sort-item { flex-wrap: wrap; } -} \ No newline at end of file +} diff --git a/frontend/src/variables.css b/frontend/src/variables.css index 55a4af0..036d9c4 100644 --- a/frontend/src/variables.css +++ b/frontend/src/variables.css @@ -75,12 +75,12 @@ --error-overlay-bg: rgba(0, 0, 0, 0.5); --error-color: #ff4d4f; --success-color: #52c41a; - --action-button-wrapper:#91CAFF; + --action-button-wrapper: #91caff; /* Lineage node colors */ - --node-color-blue: #B0E3F9; - --node-color-yellow: #FFDD8A; - --node-color-pink: #FFC8D2; + --node-color-blue: #b0e3f9; + --node-color-yellow: #ffdd8a; + --node-color-pink: #ffc8d2; } .dark { @@ -150,7 +150,7 @@ --error-overlay-bg: rgba(0, 0, 0, 0.7); --error-color: #ff7875; --success-color: #73d13d; - --action-button-wrapper:#686868; + --action-button-wrapper: #686868; /* Lineage node colors */ --node-color-blue: #1a5a6e; From 90dfe1c8cef1afa502b50daa1cc235d6b4d1d377 Mon Sep 17 00:00:00 2001 From: Tahier Hussain Date: Thu, 19 Mar 2026 17:28:04 +0530 Subject: [PATCH 7/7] Revert Jest transformIgnorePatterns configuration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove Jest ES module transform config; will address in a separate PR. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- frontend/package.json | 5 ----- 1 file changed, 5 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index 58397a9..8c4b027 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -78,10 +78,5 @@ "prettier": "^2.8.3", "pretty-quick": "^3.1.3", "resize-observer-polyfill": "^1.5.1" - }, - "jest": { - "transformIgnorePatterns": [ - "node_modules/(?!(axios|react-markdown|remark-gfm)/)" - ] } }