From 4ab7d3b3ae1b817b2dba2f687e1ea06f1b0aba94 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 May 2026 10:53:16 +0100 Subject: [PATCH] build(deps): bump the mui group across 1 directory with 2 updates (#6301) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> --- frontend/package-lock.json | 94 +++++++++---------- frontend/package.json | 4 +- .../components/pageEditor/FileThumbnail.tsx | 2 +- .../shared/NavigationWarningModal.tsx | 4 +- .../components/shared/ZipWarningModal.tsx | 2 +- .../tools/automate/AutomationSelection.tsx | 2 +- .../components/tools/automate/ToolList.tsx | 2 +- .../tools/certSign/SignControlsStrip.tsx | 2 +- .../src/core/tests/stubbed/compare.spec.ts | 21 ++++- .../stubbed/encrypted-pdf-unlock.spec.ts | 11 ++- .../config/configSections/SaasPlanSection.tsx | 2 +- .../prototypes/components/chat/ChatPanel.tsx | 2 +- 12 files changed, 82 insertions(+), 66 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index edd48d213..faa43ef44 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -42,8 +42,8 @@ "@mantine/dates": "^8.3.1", "@mantine/dropzone": "^8.3.1", "@mantine/hooks": "^8.3.1", - "@mui/icons-material": "^7.3.2", - "@mui/material": "^7.3.2", + "@mui/icons-material": "^9.0.0", + "@mui/material": "^9.0.0", "@posthog/react": "^1.8.2", "@reactour/tour": "^3.8.0", "@stripe/react-stripe-js": "^4.0.2", @@ -2097,9 +2097,9 @@ } }, "node_modules/@mui/core-downloads-tracker": { - "version": "7.3.9", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-7.3.9.tgz", - "integrity": "sha512-MOkOCTfbMJwLshlBCKJ59V2F/uaLYfmKnN76kksj6jlGUVdI25A9Hzs08m+zjBRdLv+sK7Rqdsefe8X7h/6PCw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-9.0.0.tgz", + "integrity": "sha512-uwQNGkhv0lf7ufxw6QXev77BW6pWbW+7uxYjU5+rfp4lBkFtMEgJCsarTM3Tn+i0lGx6+Ol2u88JdGXr0GDskA==", "license": "MIT", "funding": { "type": "opencollective", @@ -2107,12 +2107,12 @@ } }, "node_modules/@mui/icons-material": { - "version": "7.3.9", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-7.3.9.tgz", - "integrity": "sha512-BT+zPJXss8Hg/oEMRmHl17Q97bPACG4ufFSfGEdhiE96jOyR5Dz1ty7ZWt1fVGR0y1p+sSgEwQT/MNZQmoWDCw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-9.0.0.tgz", + "integrity": "sha512-oDwyvI6LgjWRC9MBcSGvLkPud9S9ELgSBQFYxa1rYcZn6Br55dn22SyvsPDMsn0G8OndFk53iMT45W5mNqrogw==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.28.6" + "@babel/runtime": "^7.29.2" }, "engines": { "node": ">=14.0.0" @@ -2122,7 +2122,7 @@ "url": "https://opencollective.com/mui-org" }, "peerDependencies": { - "@mui/material": "^7.3.9", + "@mui/material": "^9.0.0", "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, @@ -2133,22 +2133,22 @@ } }, "node_modules/@mui/material": { - "version": "7.3.9", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-7.3.9.tgz", - "integrity": "sha512-I8yO3t4T0y7bvDiR1qhIN6iBWZOTBfVOnmLlM7K6h3dx5YX2a7rnkuXzc2UkZaqhxY9NgTnEbdPlokR1RxCNRQ==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-9.0.0.tgz", + "integrity": "sha512-+VP/oQCDhDR87NQQgXnNBG8dwy6GNuQLnenS1pZvkbn2dKFSxRSRMybTpH9xUxXP+316mlYDy5CSbYtusnCWtw==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.28.6", - "@mui/core-downloads-tracker": "^7.3.9", - "@mui/system": "^7.3.9", - "@mui/types": "^7.4.12", - "@mui/utils": "^7.3.9", + "@babel/runtime": "^7.29.2", + "@mui/core-downloads-tracker": "^9.0.0", + "@mui/system": "^9.0.0", + "@mui/types": "^9.0.0", + "@mui/utils": "^9.0.0", "@popperjs/core": "^2.11.8", "@types/react-transition-group": "^4.4.12", "clsx": "^2.1.1", "csstype": "^3.2.3", "prop-types": "^15.8.1", - "react-is": "^19.2.3", + "react-is": "^19.2.4", "react-transition-group": "^4.4.5" }, "engines": { @@ -2161,7 +2161,7 @@ "peerDependencies": { "@emotion/react": "^11.5.0", "@emotion/styled": "^11.3.0", - "@mui/material-pigment-css": "^7.3.9", + "@mui/material-pigment-css": "^9.0.0", "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" @@ -2182,13 +2182,13 @@ } }, "node_modules/@mui/private-theming": { - "version": "7.3.9", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-7.3.9.tgz", - "integrity": "sha512-ErIyRQvsiQEq7Yvcvfw9UDHngaqjMy9P3JDPnRAaKG5qhpl2C4tX/W1S4zJvpu+feihmZJStjIyvnv6KDbIrlw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-9.0.0.tgz", + "integrity": "sha512-JtuZoaiCqwD6vjgYu6Xp3T7DZkrxJlgtDz5yESzhI34fEX5hHMh2VJUbuL9UOg8xrfIFMrq6dcYoH/7Zi4G0RA==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.28.6", - "@mui/utils": "^7.3.9", + "@babel/runtime": "^7.29.2", + "@mui/utils": "^9.0.0", "prop-types": "^15.8.1" }, "engines": { @@ -2209,12 +2209,12 @@ } }, "node_modules/@mui/styled-engine": { - "version": "7.3.9", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-7.3.9.tgz", - "integrity": "sha512-JqujWt5bX4okjUPGpVof/7pvgClqh7HvIbsIBIOOlCh2u3wG/Bwp4+E1bc1dXSwkrkp9WUAoNdI5HEC+5HKvMw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-9.0.0.tgz", + "integrity": "sha512-9RLGdX4Jg0aQPRuvqh/OLzYSPlgd5zyEw5/1HIRfdavSiOd03WtUaGZH9/w1RoTYuRKwpgy0hpIFaMHIqPVIWg==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.28.6", + "@babel/runtime": "^7.29.2", "@emotion/cache": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/sheet": "^1.4.0", @@ -2243,16 +2243,16 @@ } }, "node_modules/@mui/system": { - "version": "7.3.9", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-7.3.9.tgz", - "integrity": "sha512-aL1q9am8XpRrSabv9qWf5RHhJICJql34wnrc1nz0MuOglPRYF/liN+c8VqZdTvUn9qg+ZjRVbKf4sJVFfIDtmg==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-9.0.0.tgz", + "integrity": "sha512-YnC5Zg6j04IxiLc/boAKs0464jfZlLFVa7mf5E8lF0XOtZVUvG6R6gJK50lgUYdaaLdyLfxF6xR7LaPuEpeT/g==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.28.6", - "@mui/private-theming": "^7.3.9", - "@mui/styled-engine": "^7.3.9", - "@mui/types": "^7.4.12", - "@mui/utils": "^7.3.9", + "@babel/runtime": "^7.29.2", + "@mui/private-theming": "^9.0.0", + "@mui/styled-engine": "^9.0.0", + "@mui/types": "^9.0.0", + "@mui/utils": "^9.0.0", "clsx": "^2.1.1", "csstype": "^3.2.3", "prop-types": "^15.8.1" @@ -2283,12 +2283,12 @@ } }, "node_modules/@mui/types": { - "version": "7.4.12", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.4.12.tgz", - "integrity": "sha512-iKNAF2u9PzSIj40CjvKJWxFXJo122jXVdrmdh0hMYd+FR+NuJMkr/L88XwWLCRiJ5P1j+uyac25+Kp6YC4hu6w==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-9.0.0.tgz", + "integrity": "sha512-i1cuFCAWN44b3AJWO7mh7tuh1sqbQSeVr/94oG0TX5uXivac8XalgE4/6fQZcmGZigzbQ35IXxj/4jLpRIBYZg==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.28.6" + "@babel/runtime": "^7.29.2" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0" @@ -2300,17 +2300,17 @@ } }, "node_modules/@mui/utils": { - "version": "7.3.9", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-7.3.9.tgz", - "integrity": "sha512-U6SdZaGbfb65fqTsH3V5oJdFj9uYwyLE2WVuNvmbggTSDBb8QHrFsqY8BN3taK9t3yJ8/BPHD/kNvLNyjwM7Yw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-9.0.0.tgz", + "integrity": "sha512-bQcqyg/gjULUqTuyUjSAFr6LQGLvtkNtDbJerAtoUn9kGZ0hg5QJiN1PLHMLbeFpe3te1831uq7GFl2ITokGdg==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.28.6", - "@mui/types": "^7.4.12", + "@babel/runtime": "^7.29.2", + "@mui/types": "^9.0.0", "@types/prop-types": "^15.7.15", "clsx": "^2.1.1", "prop-types": "^15.8.1", - "react-is": "^19.2.3" + "react-is": "^19.2.4" }, "engines": { "node": ">=14.0.0" diff --git a/frontend/package.json b/frontend/package.json index 45357bc82..eea9633c3 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -38,8 +38,8 @@ "@mantine/dates": "^8.3.1", "@mantine/dropzone": "^8.3.1", "@mantine/hooks": "^8.3.1", - "@mui/icons-material": "^7.3.2", - "@mui/material": "^7.3.2", + "@mui/icons-material": "^9.0.0", + "@mui/material": "^9.0.0", "@posthog/react": "^1.8.2", "@reactour/tour": "^3.8.0", "@stripe/react-stripe-js": "^4.0.2", diff --git a/frontend/src/core/components/pageEditor/FileThumbnail.tsx b/frontend/src/core/components/pageEditor/FileThumbnail.tsx index 55d2c7d80..0356aa6c6 100644 --- a/frontend/src/core/components/pageEditor/FileThumbnail.tsx +++ b/frontend/src/core/components/pageEditor/FileThumbnail.tsx @@ -8,7 +8,7 @@ import React, { import { ActionIcon, CheckboxIndicator } from "@mantine/core"; import { useTranslation } from "react-i18next"; import MoreVertIcon from "@mui/icons-material/MoreVert"; -import DeleteOutlineIcon from "@mui/icons-material/DeleteOutline"; +import DeleteOutlineIcon from "@mui/icons-material/DeleteOutlined"; import PushPinIcon from "@mui/icons-material/PushPin"; import PushPinOutlinedIcon from "@mui/icons-material/PushPinOutlined"; import DragIndicatorIcon from "@mui/icons-material/DragIndicator"; diff --git a/frontend/src/core/components/shared/NavigationWarningModal.tsx b/frontend/src/core/components/shared/NavigationWarningModal.tsx index d35f2a470..4176d4862 100644 --- a/frontend/src/core/components/shared/NavigationWarningModal.tsx +++ b/frontend/src/core/components/shared/NavigationWarningModal.tsx @@ -3,8 +3,8 @@ import { Modal, Text, Button, Group, Stack } from "@mantine/core"; import { useNavigationGuard } from "@app/contexts/NavigationContext"; import { useTranslation } from "react-i18next"; import ArrowBackIcon from "@mui/icons-material/ArrowBack"; -import DeleteOutlineIcon from "@mui/icons-material/DeleteOutline"; -import CheckCircleOutlineIcon from "@mui/icons-material/CheckCircleOutline"; +import DeleteOutlineIcon from "@mui/icons-material/DeleteOutlined"; +import CheckCircleOutlineIcon from "@mui/icons-material/CheckCircleOutlined"; import { Z_INDEX_TOAST } from "@app/styles/zIndex"; const NavigationWarningModal = () => { diff --git a/frontend/src/core/components/shared/ZipWarningModal.tsx b/frontend/src/core/components/shared/ZipWarningModal.tsx index 024cb6397..3e52a534f 100644 --- a/frontend/src/core/components/shared/ZipWarningModal.tsx +++ b/frontend/src/core/components/shared/ZipWarningModal.tsx @@ -1,7 +1,7 @@ import { Modal, Text, Button, Group, Stack } from "@mantine/core"; import { useTranslation } from "react-i18next"; import WarningAmberIcon from "@mui/icons-material/WarningAmber"; -import CheckCircleOutlineIcon from "@mui/icons-material/CheckCircleOutline"; +import CheckCircleOutlineIcon from "@mui/icons-material/CheckCircleOutlined"; import CancelIcon from "@mui/icons-material/Cancel"; import { CSSProperties } from "react"; diff --git a/frontend/src/core/components/tools/automate/AutomationSelection.tsx b/frontend/src/core/components/tools/automate/AutomationSelection.tsx index 473559f51..9e0dd3348 100644 --- a/frontend/src/core/components/tools/automate/AutomationSelection.tsx +++ b/frontend/src/core/components/tools/automate/AutomationSelection.tsx @@ -1,6 +1,6 @@ import { useTranslation } from "react-i18next"; import { Title, Stack, Divider } from "@mantine/core"; -import AddCircleOutline from "@mui/icons-material/AddCircleOutline"; +import AddCircleOutline from "@mui/icons-material/AddCircleOutlined"; import SettingsIcon from "@mui/icons-material/Settings"; import AutomationEntry from "@app/components/tools/automate/AutomationEntry"; import { useSuggestedAutomations } from "@app/hooks/tools/automate/useSuggestedAutomations"; diff --git a/frontend/src/core/components/tools/automate/ToolList.tsx b/frontend/src/core/components/tools/automate/ToolList.tsx index 5804246fc..7345f0a9b 100644 --- a/frontend/src/core/components/tools/automate/ToolList.tsx +++ b/frontend/src/core/components/tools/automate/ToolList.tsx @@ -3,7 +3,7 @@ import { useTranslation } from "react-i18next"; import { Text, Stack, Group, ActionIcon } from "@mantine/core"; import SettingsIcon from "@mui/icons-material/Settings"; import CloseIcon from "@mui/icons-material/Close"; -import AddCircleOutline from "@mui/icons-material/AddCircleOutline"; +import AddCircleOutline from "@mui/icons-material/AddCircleOutlined"; import { AutomationTool } from "@app/types/automation"; import { ToolRegistry } from "@app/data/toolsTaxonomy"; import { ToolId } from "@app/types/toolId"; diff --git a/frontend/src/core/components/tools/certSign/SignControlsStrip.tsx b/frontend/src/core/components/tools/certSign/SignControlsStrip.tsx index 0d0228af3..ba5b3a827 100644 --- a/frontend/src/core/components/tools/certSign/SignControlsStrip.tsx +++ b/frontend/src/core/components/tools/certSign/SignControlsStrip.tsx @@ -22,7 +22,7 @@ import ImageIcon from "@mui/icons-material/Image"; import OpenWithIcon from "@mui/icons-material/OpenWith"; import TextFieldsIcon from "@mui/icons-material/TextFields"; import CloseIcon from "@mui/icons-material/Close"; -import DeleteOutlineIcon from "@mui/icons-material/DeleteOutline"; +import DeleteOutlineIcon from "@mui/icons-material/DeleteOutlined"; import CheckIcon from "@mui/icons-material/Check"; import { diff --git a/frontend/src/core/tests/stubbed/compare.spec.ts b/frontend/src/core/tests/stubbed/compare.spec.ts index 4e24c3670..7963c4272 100644 --- a/frontend/src/core/tests/stubbed/compare.spec.ts +++ b/frontend/src/core/tests/stubbed/compare.spec.ts @@ -45,16 +45,27 @@ async function uploadIntoSlot( timeout: 5000, }); await page.locator('[data-testid="file-input"]').setInputFiles(filePath); - await page.waitForSelector(".mantine-Modal-overlay", { - state: "hidden", - timeout: 10000, - }); + // The slot becoming filled is the user-visible outcome we actually care + // about. Don't gate on the modal-overlay close animation — Mantine 9's + // Modal can leave the overlay element mounted briefly while transitioning, + // which races with successive uploads in this test and produces flaky + // 10s timeouts. The slot fill assertion below covers the same intent and + // implies the upload completed. const slot = page.locator(`[data-testid="compare-slot-${role}"]`); await expect(slot).toHaveAttribute("data-slot-state", "filled", { - timeout: 10000, + timeout: 15000, }); await expect(slot).toHaveAttribute("data-slot-filename", expectedFilename); + + // Wait for the modal overlay to be fully gone before the next interaction + // so click targets in subsequent uploads aren't intercepted. + await page + .locator(".mantine-Modal-overlay") + .waitFor({ state: "detached", timeout: 5000 }) + .catch(() => { + /* if it's detached or re-detached during teardown, that's fine */ + }); } test.describe("Compare tool slot selection", () => { diff --git a/frontend/src/core/tests/stubbed/encrypted-pdf-unlock.spec.ts b/frontend/src/core/tests/stubbed/encrypted-pdf-unlock.spec.ts index 1d589e754..a999cbbdd 100644 --- a/frontend/src/core/tests/stubbed/encrypted-pdf-unlock.spec.ts +++ b/frontend/src/core/tests/stubbed/encrypted-pdf-unlock.spec.ts @@ -174,13 +174,18 @@ test.describe("Encrypted PDF Unlock Modal", () => { }, ]); - await expect(page.getByText(MODAL_TITLE)).toBeVisible({ timeout: 10000 }); + await expect(page.getByText(MODAL_TITLE)).toBeVisible({ timeout: 15000 }); + // The "Use for all" affordance only appears once BOTH files have been + // detected as encrypted. PDF.js encryption probing runs per-file and + // can lag the modal opening (which fires as soon as the first file + // surfaces a password prompt). A 10s timeout was occasionally too tight + // on heavily-loaded CI runners — bump to 20s. const unlockAllBtn = page.getByRole("button", { name: /Use for all/ }); - await expect(unlockAllBtn).toBeVisible({ timeout: 10000 }); + await expect(unlockAllBtn).toBeVisible({ timeout: 20000 }); await page.getByPlaceholder(PASSWORD_PLACEHOLDER).fill("testpass123"); await unlockAllBtn.click(); - await expect(page.getByText(MODAL_TITLE)).toBeHidden({ timeout: 10000 }); + await expect(page.getByText(MODAL_TITLE)).toBeHidden({ timeout: 15000 }); }); }); diff --git a/frontend/src/desktop/components/shared/config/configSections/SaasPlanSection.tsx b/frontend/src/desktop/components/shared/config/configSections/SaasPlanSection.tsx index fc91e84aa..43232dc1b 100644 --- a/frontend/src/desktop/components/shared/config/configSections/SaasPlanSection.tsx +++ b/frontend/src/desktop/components/shared/config/configSections/SaasPlanSection.tsx @@ -9,7 +9,7 @@ import { Flex, } from "@mantine/core"; import RefreshIcon from "@mui/icons-material/Refresh"; -import ErrorOutlineIcon from "@mui/icons-material/ErrorOutline"; +import ErrorOutlineIcon from "@mui/icons-material/ErrorOutlined"; import AccessTimeIcon from "@mui/icons-material/AccessTime"; import { useTranslation } from "react-i18next"; import { useSaaSBilling } from "@app/contexts/SaasBillingContext"; diff --git a/frontend/src/prototypes/components/chat/ChatPanel.tsx b/frontend/src/prototypes/components/chat/ChatPanel.tsx index 4428c824d..342f74bfa 100644 --- a/frontend/src/prototypes/components/chat/ChatPanel.tsx +++ b/frontend/src/prototypes/components/chat/ChatPanel.tsx @@ -22,7 +22,7 @@ import { List, } from "@mantine/core"; import SendIcon from "@mui/icons-material/Send"; -import ChatBubbleOutlineIcon from "@mui/icons-material/ChatBubbleOutline"; +import ChatBubbleOutlineIcon from "@mui/icons-material/ChatBubbleOutlined"; import CloseIcon from "@mui/icons-material/Close"; import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; import ExpandLessIcon from "@mui/icons-material/ExpandLess";