From 65a44804ee1e0c7cfceee682c2d040b9aaebd037 Mon Sep 17 00:00:00 2001 From: edX requirements bot <49161187+edx-requirements-bot@users.noreply.github.com> Date: Sun, 21 Dec 2025 19:19:37 -0500 Subject: [PATCH 1/5] chore: update browserslist DB (#4056) Co-authored-by: adamstankiewicz <2828721+adamstankiewicz@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index d11752622d..73bd5ecb60 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15585,9 +15585,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001760", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001760.tgz", - "integrity": "sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==", + "version": "1.0.30001761", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001761.tgz", + "integrity": "sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g==", "funding": [ { "type": "opencollective", From 67084bdb31ce4cea9543d477eea9654851dfae42 Mon Sep 17 00:00:00 2001 From: edX requirements bot <49161187+edx-requirements-bot@users.noreply.github.com> Date: Sun, 4 Jan 2026 19:20:33 -0500 Subject: [PATCH 2/5] chore: update browserslist DB (#4071) Co-authored-by: adamstankiewicz <2828721+adamstankiewicz@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 73bd5ecb60..ec618b987e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15585,9 +15585,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001761", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001761.tgz", - "integrity": "sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g==", + "version": "1.0.30001762", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001762.tgz", + "integrity": "sha512-PxZwGNvH7Ak8WX5iXzoK1KPZttBXNPuaOvI2ZYU7NrlM+d9Ov+TUvlLOBNGzVXAntMSMMlJPd+jY6ovrVjSmUw==", "funding": [ { "type": "opencollective", From dfc69e26492c8285e6b7d85c77728cee4a4839cb Mon Sep 17 00:00:00 2001 From: Braden MacDonald Date: Fri, 9 Jan 2026 14:38:30 -0800 Subject: [PATCH 3/5] feat: Breadcumb now properly supports 'className' to append CSS (#4077) * feat: Breadcumb 'className' appends instead of replaces * fix: more specific typing of Breadcrumb's 'clickHandler' * fix: remove Breadcrumb '...props' - not added as an intentional feature --- ...readcrumb.test.jsx => Breadcrumb.test.tsx} | 25 +++++++++++++++++++ src/Breadcrumb/index.tsx | 11 ++++---- 2 files changed, 31 insertions(+), 5 deletions(-) rename src/Breadcrumb/{Breadcrumb.test.jsx => Breadcrumb.test.tsx} (75%) diff --git a/src/Breadcrumb/Breadcrumb.test.jsx b/src/Breadcrumb/Breadcrumb.test.tsx similarity index 75% rename from src/Breadcrumb/Breadcrumb.test.jsx rename to src/Breadcrumb/Breadcrumb.test.tsx index 3b402d971e..4f11c5afbb 100644 --- a/src/Breadcrumb/Breadcrumb.test.jsx +++ b/src/Breadcrumb/Breadcrumb.test.tsx @@ -95,4 +95,29 @@ describe('', () => { expect(links.getAttribute('target')).toBe('_blank'); expect(links.getAttribute('href')).toBe('/link-1'); }); + + it('renders with a custom CSS class', () => { + render(); + const nav = screen.getByLabelText('Breadcrumbs'); + expect(nav.classList).toContain('foobar'); + expect(nav.classList).toContain('pgn__breadcrumb'); + expect(nav.classList).toContain('pgn__breadcrumb-light'); + }); + + it('can access data-xxxxx attributes on the links in clickHandler', async () => { + const user = userEvent.setup(); + const clickHandler = jest.fn(); + render( + clickHandler(currentTarget.dataset.parentIndex)} + />, + ); + const link = screen.getByRole('link', { name: 'Link1' }); + await user.click(link); + expect(clickHandler).toHaveBeenCalledWith('17'); + }); }); diff --git a/src/Breadcrumb/index.tsx b/src/Breadcrumb/index.tsx index 25eed7ff3d..343c922f09 100644 --- a/src/Breadcrumb/index.tsx +++ b/src/Breadcrumb/index.tsx @@ -19,7 +19,7 @@ interface BreadcrumbProps { spacer?: React.ReactElement; /** allows to add a custom function to be called `onClick` of a breadcrumb link. * The use case for this is for adding custom analytics to the component. */ - clickHandler?: (event: React.MouseEvent, link: any) => void; + clickHandler?: (event: React.MouseEvent, link: any) => void; /** The `Breadcrumbs` style variant to use. */ variant?: 'light' | 'dark'; /** The `Breadcrumbs` mobile variant view. */ @@ -28,11 +28,13 @@ interface BreadcrumbProps { * [react-router's Link](https://reactrouter.com/en/main/components/link). */ linkAs?: React.ElementType; + /** Optional class name(s) to append to the base `