From 0f994a3545b22359101cd4f106a33fd9ec33340a Mon Sep 17 00:00:00 2001 From: PelayoFelgueroso Date: Tue, 11 Nov 2025 12:02:06 +0100 Subject: [PATCH 1/3] Fix preventDefult on Breadcrumbs item and modify examples to avoid browsing to an unexisting page --- .../breadcrumbs/code/examples/basicUsage.tsx | 10 +++++----- .../components/breadcrumbs/code/examples/nextJS.tsx | 10 +++++----- packages/lib/src/breadcrumbs/Item.tsx | 6 ++++-- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/apps/website/screens/components/breadcrumbs/code/examples/basicUsage.tsx b/apps/website/screens/components/breadcrumbs/code/examples/basicUsage.tsx index 4e4766289..7bd4f7c11 100644 --- a/apps/website/screens/components/breadcrumbs/code/examples/basicUsage.tsx +++ b/apps/website/screens/components/breadcrumbs/code/examples/basicUsage.tsx @@ -7,15 +7,15 @@ const code = `() => { href: "/components/select", }, { - label: "Specifications", - href: "/components/select/specifications", + label: "Code", + href: "/components/select/code", }, { - label: "Design Tokens", - href: "/components/select/specifications/#design-tokens", + label: "Examples", + href: "/components/select/code/#examples", }, { - label: "Color", + label: "Uncontrolled", } ]; diff --git a/apps/website/screens/components/breadcrumbs/code/examples/nextJS.tsx b/apps/website/screens/components/breadcrumbs/code/examples/nextJS.tsx index 5ee714380..2ae913d3d 100644 --- a/apps/website/screens/components/breadcrumbs/code/examples/nextJS.tsx +++ b/apps/website/screens/components/breadcrumbs/code/examples/nextJS.tsx @@ -13,15 +13,15 @@ const code = `() => { href: "/components/select", }, { - label: "Specifications", - href: "/components/select/specifications", + label: "Code", + href: "/components/select/code", }, { - label: "Design Tokens", - href: "/components/select/specifications/#design-tokens", + label: "Examples", + href: "/components/select/code/#examples", }, { - label: "Color", + label: "Uncontrolled", } ]; diff --git a/packages/lib/src/breadcrumbs/Item.tsx b/packages/lib/src/breadcrumbs/Item.tsx index d1105acbb..133eacb91 100644 --- a/packages/lib/src/breadcrumbs/Item.tsx +++ b/packages/lib/src/breadcrumbs/Item.tsx @@ -48,8 +48,10 @@ const Item = ({ isCurrentPage = false, href, label, onClick }: ItemPropsType) => const currentItemRef = useRef(null); const handleOnClick = (event: MouseEvent) => { - event.preventDefault(); - if (href) onClick?.(href); + if (onClick) { + event.preventDefault(); + if (href) onClick?.(href); + } }; const handleOnMouseEnter = (event: MouseEvent) => { From 8788088f4cec833b48de24eac9f3964784e39aaa Mon Sep 17 00:00:00 2001 From: PelayoFelgueroso Date: Tue, 11 Nov 2025 13:08:24 +0100 Subject: [PATCH 2/3] Fi based on comments --- packages/lib/src/breadcrumbs/Item.tsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/lib/src/breadcrumbs/Item.tsx b/packages/lib/src/breadcrumbs/Item.tsx index 133eacb91..0151487d3 100644 --- a/packages/lib/src/breadcrumbs/Item.tsx +++ b/packages/lib/src/breadcrumbs/Item.tsx @@ -48,10 +48,9 @@ const Item = ({ isCurrentPage = false, href, label, onClick }: ItemPropsType) => const currentItemRef = useRef(null); const handleOnClick = (event: MouseEvent) => { - if (onClick) { - event.preventDefault(); - if (href) onClick?.(href); - } + if (!onClick) return; + event.preventDefault(); + if (href) onClick(href); }; const handleOnMouseEnter = (event: MouseEvent) => { From 13ea036ae7b89401b349fb32aa65ffd5982e040b Mon Sep 17 00:00:00 2001 From: PelayoFelgueroso Date: Tue, 11 Nov 2025 13:15:46 +0100 Subject: [PATCH 3/3] Add typeof check so it performs better in Javascript --- packages/lib/src/breadcrumbs/Item.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/lib/src/breadcrumbs/Item.tsx b/packages/lib/src/breadcrumbs/Item.tsx index 0151487d3..59b7707e0 100644 --- a/packages/lib/src/breadcrumbs/Item.tsx +++ b/packages/lib/src/breadcrumbs/Item.tsx @@ -48,7 +48,7 @@ const Item = ({ isCurrentPage = false, href, label, onClick }: ItemPropsType) => const currentItemRef = useRef(null); const handleOnClick = (event: MouseEvent) => { - if (!onClick) return; + if (typeof onClick !== "function") return; event.preventDefault(); if (href) onClick(href); };