Skip to content

Commit 26fe158

Browse files
committed
perf: uninstall classnames, install clsx
1 parent 2b40fbd commit 26fe158

File tree

6 files changed

+11
-14
lines changed

6 files changed

+11
-14
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ es
2727
coverage
2828
yarn.lock
2929
package-lock.json
30+
pnpm-lock.yaml
3031
bun.lockb
3132
.vscode
3233

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,13 @@
4545
"@rc-component/portal": "^2.0.0",
4646
"@rc-component/resize-observer": "^1.0.0",
4747
"@rc-component/util": "^1.2.1",
48-
"classnames": "^2.3.2"
48+
"clsx": "^2.1.1"
4949
},
5050
"devDependencies": {
5151
"@rc-component/father-plugin": "^2.0.0",
5252
"@rc-component/np": "^1.0.3",
5353
"@testing-library/jest-dom": "^6.1.4",
5454
"@testing-library/react": "^16.0.0",
55-
"@types/classnames": "^2.2.10",
5655
"@types/jest": "^29.5.2",
5756
"@types/node": "^24.0.3",
5857
"@types/react": "^19.1.2",

src/Popup/Arrow.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import classNames from 'classnames';
1+
import { clsx } from 'clsx';
22
import * as React from 'react';
33
import type { AlignType, ArrowPos, ArrowTypeOuter } from '../interface';
44

@@ -57,7 +57,7 @@ export default function Arrow(props: ArrowProps) {
5757
return (
5858
<div
5959
ref={arrowRef}
60-
className={classNames(`${prefixCls}-arrow`, className)}
60+
className={clsx(`${prefixCls}-arrow`, className)}
6161
style={{ ...alignStyle, ...style }}
6262
>
6363
{content}

src/Popup/Mask.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import classNames from 'classnames';
1+
import { clsx } from 'clsx';
22
import type { CSSMotionProps } from '@rc-component/motion';
33
import CSSMotion from '@rc-component/motion';
44
import * as React from 'react';
@@ -36,7 +36,7 @@ export default function Mask(props: MaskProps) {
3636
{({ className }) => (
3737
<div
3838
style={{ zIndex }}
39-
className={classNames(
39+
className={clsx(
4040
`${prefixCls}-mask`,
4141
mobile && `${prefixCls}-mobile-mask`,
4242
className,

src/Popup/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import classNames from 'classnames';
1+
import { clsx } from 'clsx';
22
import type { CSSMotionProps } from '@rc-component/motion';
33
import CSSMotion from '@rc-component/motion';
44
import ResizeObserver, {
@@ -266,7 +266,7 @@ const Popup = React.forwardRef<HTMLDivElement, PopupProps>((props, ref) => {
266266
{ className: motionClassName, style: motionStyle },
267267
motionRef,
268268
) => {
269-
const cls = classNames(prefixCls, motionClassName, className, {
269+
const cls = clsx(prefixCls, motionClassName, className, {
270270
[`${prefixCls}-mobile`]: isMobile,
271271
});
272272

src/index.tsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import Portal from '@rc-component/portal';
2-
import classNames from 'classnames';
2+
import { clsx } from 'clsx';
33
import type { CSSMotionProps } from '@rc-component/motion';
44
import ResizeObserver from '@rc-component/resize-observer';
55
import { isDOM } from '@rc-component/util/lib/Dom/findDOMNode';
@@ -511,7 +511,7 @@ export function generateTrigger(
511511
alignPoint,
512512
);
513513

514-
return classNames(baseClassName, getPopupClassNameFromAlign?.(alignInfo));
514+
return clsx(baseClassName, getPopupClassNameFromAlign?.(alignInfo));
515515
}, [
516516
alignInfo,
517517
getPopupClassNameFromAlign,
@@ -804,10 +804,7 @@ export function generateTrigger(
804804
ref={setPopupRef}
805805
prefixCls={prefixCls}
806806
popup={popup}
807-
className={classNames(
808-
popupClassName,
809-
!isMobile && alignedClassName,
810-
)}
807+
className={clsx(popupClassName, !isMobile && alignedClassName)}
811808
style={popupStyle}
812809
target={targetEle}
813810
onMouseEnter={onPopupMouseEnter}

0 commit comments

Comments
 (0)