From 02c639ddf1dfb97a5bab2f0458c7ba7c7aee6ab9 Mon Sep 17 00:00:00 2001 From: yoyo837 Date: Wed, 19 Apr 2023 15:02:24 +0800 Subject: [PATCH 1/2] feat: arrow support className --- README.md | 2 +- package.json | 2 +- src/Tooltip.tsx | 4 ++-- tests/index.test.tsx | 19 +++++++++++++++++++ 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4522ff5..450e1c8 100644 --- a/README.md +++ b/README.md @@ -170,7 +170,7 @@ Online examples: showArrow - boolean + boolean | { className?: string } true arrow visible diff --git a/package.json b/package.json index 40cd825..4404efb 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ }, "dependencies": { "@babel/runtime": "^7.11.2", - "@rc-component/trigger": "^1.0.4", + "@rc-component/trigger": "^1.10.0", "classnames": "^2.3.1" }, "devDependencies": { diff --git a/src/Tooltip.tsx b/src/Tooltip.tsx index 56dfdff..bc1a0d0 100644 --- a/src/Tooltip.tsx +++ b/src/Tooltip.tsx @@ -1,4 +1,4 @@ -import type { TriggerProps, TriggerRef } from '@rc-component/trigger'; +import type { TriggerProps, TriggerRef, ArrowType } from '@rc-component/trigger'; import Trigger from '@rc-component/trigger'; import type { ActionType, AlignType, AnimationType } from '@rc-component/trigger/lib/interface'; import * as React from 'react'; @@ -28,7 +28,7 @@ export interface TooltipProps extends Pick HTMLElement; destroyTooltipOnHide?: boolean; align?: AlignType; - showArrow?: boolean; + showArrow?: boolean | ArrowType; arrowContent?: React.ReactNode; id?: string; children?: React.ReactElement; diff --git a/tests/index.test.tsx b/tests/index.test.tsx index 6784be1..27cdeac 100644 --- a/tests/index.test.tsx +++ b/tests/index.test.tsx @@ -181,6 +181,25 @@ describe('rc-tooltip', () => { console.log(container.innerHTML); expect(container.querySelector('.rc-tooltip-arrow')).toBeTruthy(); }); + it('should show tooltip arrow when showArrow is object', () => { + const { container } = render( + Tooltip content} + showArrow={{ + className: 'abc' + }} + > +
Click this
+
, + ); + fireEvent.click(container.querySelector('.target')); + console.log(container.innerHTML); + expect(container.querySelector('.rc-tooltip-arrow')).toBeTruthy(); + expect(container.querySelector('.rc-tooltip-arrow').classList.contains('abc')).toBeTruthy(); + }); it('should hide tooltip arrow when showArrow is false', () => { const { container } = render( Date: Thu, 20 Apr 2023 10:04:38 +0800 Subject: [PATCH 2/2] chore: clear --- tests/index.test.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/index.test.tsx b/tests/index.test.tsx index 27cdeac..e852993 100644 --- a/tests/index.test.tsx +++ b/tests/index.test.tsx @@ -178,7 +178,6 @@ describe('rc-tooltip', () => { , ); fireEvent.click(container.querySelector('.target')); - console.log(container.innerHTML); expect(container.querySelector('.rc-tooltip-arrow')).toBeTruthy(); }); it('should show tooltip arrow when showArrow is object', () => { @@ -196,7 +195,6 @@ describe('rc-tooltip', () => { , ); fireEvent.click(container.querySelector('.target')); - console.log(container.innerHTML); expect(container.querySelector('.rc-tooltip-arrow')).toBeTruthy(); expect(container.querySelector('.rc-tooltip-arrow').classList.contains('abc')).toBeTruthy(); });