From c017f56c9f15084fb978cf6df5998c3c425da94a Mon Sep 17 00:00:00 2001 From: Yash Raj Chhabra Date: Fri, 19 Sep 2025 17:26:27 +0530 Subject: [PATCH 1/2] fix(tooltip): allow props to be passed to wrapper --- src/components/Tooltip/Tooltip.stories.tsx | 3 +++ src/components/Tooltip/Tooltip.tsx | 5 +++++ src/components/Tooltip/Tooltip.types.ts | 6 ++++++ 3 files changed, 14 insertions(+) diff --git a/src/components/Tooltip/Tooltip.stories.tsx b/src/components/Tooltip/Tooltip.stories.tsx index c833fb98d..fb05e6180 100644 --- a/src/components/Tooltip/Tooltip.stories.tsx +++ b/src/components/Tooltip/Tooltip.stories.tsx @@ -121,6 +121,9 @@ export default { options: [true, false], control: { type: 'inline-radio' }, }, + wrapperProps: { + control: { type: 'object' }, + }, }, } as ComponentMeta; diff --git a/src/components/Tooltip/Tooltip.tsx b/src/components/Tooltip/Tooltip.tsx index b4ded3ae2..cb040e685 100644 --- a/src/components/Tooltip/Tooltip.tsx +++ b/src/components/Tooltip/Tooltip.tsx @@ -95,6 +95,7 @@ export const Tooltip: FC = React.memo( width, wrapperClassNames, wrapperStyle, + wrapperProps = {}, ...rest }, ref: React.ForwardedRef @@ -615,6 +616,8 @@ export const Tooltip: FC = React.memo( className={referenceWrapperClassNames} style={wrapperStyle} id={tooltipWrapperId?.current} + {...wrapperProps} + role={wrapperProps.role} onClick={( event: React.MouseEvent ): void => { @@ -670,6 +673,8 @@ export const Tooltip: FC = React.memo( id={tooltipWrapperId?.current} style={wrapperStyle} ref={reference} + {...wrapperProps} + role={wrapperProps.role} {...(TRIGGER_TO_HANDLER_MAP_ON_LEAVE[trigger] && !gestureType ? { [TRIGGER_TO_HANDLER_MAP_ON_LEAVE[trigger]]: toggle( diff --git a/src/components/Tooltip/Tooltip.types.ts b/src/components/Tooltip/Tooltip.types.ts index ec6a0e74d..bf1697369 100644 --- a/src/components/Tooltip/Tooltip.types.ts +++ b/src/components/Tooltip/Tooltip.types.ts @@ -242,6 +242,12 @@ export interface TooltipProps * The Wrapper style. */ wrapperStyle?: React.CSSProperties; + + /** + * The props of the Tooltip wrapper. + * @default {} + */ + wrapperProps?: React.HTMLAttributes; } export type TooltipRef = { From a0d15cef22e5e29d88842e769e42d196c85e972a Mon Sep 17 00:00:00 2001 From: Yash Raj Chhabra Date: Fri, 19 Sep 2025 17:27:22 +0530 Subject: [PATCH 2/2] chore: remove change --- src/components/Tooltip/Tooltip.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/components/Tooltip/Tooltip.tsx b/src/components/Tooltip/Tooltip.tsx index cb040e685..f048f9add 100644 --- a/src/components/Tooltip/Tooltip.tsx +++ b/src/components/Tooltip/Tooltip.tsx @@ -617,7 +617,6 @@ export const Tooltip: FC = React.memo( style={wrapperStyle} id={tooltipWrapperId?.current} {...wrapperProps} - role={wrapperProps.role} onClick={( event: React.MouseEvent ): void => { @@ -674,7 +673,6 @@ export const Tooltip: FC = React.memo( style={wrapperStyle} ref={reference} {...wrapperProps} - role={wrapperProps.role} {...(TRIGGER_TO_HANDLER_MAP_ON_LEAVE[trigger] && !gestureType ? { [TRIGGER_TO_HANDLER_MAP_ON_LEAVE[trigger]]: toggle(