From f73f09f8313326913f072a2a404adbc963e553ad Mon Sep 17 00:00:00 2001 From: Rohan Chakraborty Date: Wed, 24 Sep 2025 12:51:44 +0530 Subject: [PATCH 1/2] feat: breadcrumb improvements --- .../components/breadcrumb/breadcrumb-item.tsx | 2 +- .../components/breadcrumb/breadcrumb-misc.tsx | 64 ++++++++++++------- .../breadcrumb/breadcrumb.module.css | 19 ++---- 3 files changed, 46 insertions(+), 39 deletions(-) diff --git a/packages/raystack/components/breadcrumb/breadcrumb-item.tsx b/packages/raystack/components/breadcrumb/breadcrumb-item.tsx index 6770d0f7..fdc5cf87 100644 --- a/packages/raystack/components/breadcrumb/breadcrumb-item.tsx +++ b/packages/raystack/components/breadcrumb/breadcrumb-item.tsx @@ -49,7 +49,7 @@ export const BreadcrumbItem = forwardRef< {leadingIcon && ( {leadingIcon} )} - {children} + {children && {children}} ); diff --git a/packages/raystack/components/breadcrumb/breadcrumb-misc.tsx b/packages/raystack/components/breadcrumb/breadcrumb-misc.tsx index 1d7c87c2..52bc07c9 100644 --- a/packages/raystack/components/breadcrumb/breadcrumb-misc.tsx +++ b/packages/raystack/components/breadcrumb/breadcrumb-misc.tsx @@ -1,6 +1,6 @@ 'use client'; -import { DotsHorizontalIcon } from '@radix-ui/react-icons'; +import { ChevronRightIcon, DotsHorizontalIcon } from '@radix-ui/react-icons'; import { cx } from 'class-variance-authority'; import { HTMLAttributes, forwardRef } from 'react'; import styles from './breadcrumb.module.css'; @@ -11,17 +11,26 @@ export interface BreadcrumbEllipsisProps export const BreadcrumbEllipsis = forwardRef< HTMLSpanElement, BreadcrumbEllipsisProps ->(({ className, children = , ...props }, ref) => { - return ( - - {children} - - ); -}); +>( + ( + { + className, + children = , + ...props + }, + ref + ) => { + return ( + + {children} + + ); + } +); BreadcrumbEllipsis.displayName = 'BreadcrumbEllipsis'; @@ -31,16 +40,25 @@ export interface BreadcrumbSeparatorProps export const BreadcrumbSeparator = forwardRef< HTMLSpanElement, BreadcrumbSeparatorProps ->(({ children = '/', className, ...props }, ref) => { - return ( - - {children} - - ); -}); +>( + ( + { + children = , + className, + ...props + }, + ref + ) => { + return ( + + {children} + + ); + } +); BreadcrumbSeparator.displayName = 'BreadcrumbSeparator'; diff --git a/packages/raystack/components/breadcrumb/breadcrumb.module.css b/packages/raystack/components/breadcrumb/breadcrumb.module.css index 6ab78706..88e2238b 100644 --- a/packages/raystack/components/breadcrumb/breadcrumb.module.css +++ b/packages/raystack/components/breadcrumb/breadcrumb.module.css @@ -21,6 +21,7 @@ list-style-type: none; padding: 0; margin: 0; + gap: var(--rs-space-2); } .breadcrumb-item { @@ -35,6 +36,7 @@ color: var(--rs-color-foreground-base-tertiary); text-decoration: none; text-wrap: nowrap; + gap: var(--rs-space-2); } .breadcrumb-link:hover { @@ -50,24 +52,11 @@ .breadcrumb-icon { display: flex; align-items: center; - margin-right: var(--rs-space-2); -} - -.breadcrumb-separator { - color: var(--rs-color-foreground-base-tertiary); - margin: 0 var(--rs-space-3); } +.breadcrumb-separator, .breadcrumb-ellipsis { - display: flex; - align-items: center; - color: var(--rs-color-foreground-base-secondary); -} - -.breadcrumb-ellipsis svg { - width: var(--rs-space-4); - height: var(--rs-space-4); - color: var(--rs-color-foreground-base-secondary); + color: var(--rs-color-foreground-base-tertiary); } .breadcrumb-dropdown-trigger { From 9378f56853fa48cc9741ce7fa5f82ca2155bb103 Mon Sep 17 00:00:00 2001 From: Rohan Chakraborty Date: Wed, 24 Sep 2025 12:55:06 +0530 Subject: [PATCH 2/2] fix: breadcrumb tests --- .../components/breadcrumb/__tests__/breadcrumb.test.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/raystack/components/breadcrumb/__tests__/breadcrumb.test.tsx b/packages/raystack/components/breadcrumb/__tests__/breadcrumb.test.tsx index ac685c2a..95b9587d 100644 --- a/packages/raystack/components/breadcrumb/__tests__/breadcrumb.test.tsx +++ b/packages/raystack/components/breadcrumb/__tests__/breadcrumb.test.tsx @@ -241,7 +241,7 @@ describe('Breadcrumb', () => { render( Home - + / Products ); @@ -349,13 +349,13 @@ describe('Breadcrumb', () => { render( Home - + / Products - + / Electronics - + / Laptop );