Skip to content

Commit a148e6f

Browse files
committed
chore: update @rc-component/dropdown
1 parent 95e6e50 commit a148e6f

File tree

7 files changed

+25
-19
lines changed

7 files changed

+25
-19
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ es
2828
coverage
2929
yarn.lock
3030
package-lock.json
31+
pnpm-lock.yaml
3132

3233
# dumi
3334
.dumi/tmp

package.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"name": "rc-dropdown",
3-
"version": "4.2.1",
2+
"name": "@rc-component/dropdown",
3+
"version": "1.0.0",
44
"description": "dropdown ui component for react",
55
"keywords": [
66
"react",
@@ -46,15 +46,16 @@
4646
"dependencies": {
4747
"@babel/runtime": "^7.18.3",
4848
"@rc-component/trigger": "^2.0.0",
49-
"classnames": "^2.2.6",
50-
"rc-util": "^5.44.1"
49+
"@rc-component/util": "^1.2.0",
50+
"classnames": "^2.2.6"
5151
},
5252
"devDependencies": {
5353
"@rc-component/father-plugin": "^1.0.0",
5454
"@testing-library/jest-dom": "^5.16.5",
5555
"@testing-library/react": "^14.0.0",
5656
"@types/classnames": "^2.2.6",
5757
"@types/jest": "^29.0.0",
58+
"@types/node": "^22.12.0",
5859
"@types/react": "^18.0.0",
5960
"@types/react-dom": "^18.0.0",
6061
"@types/warning": "^3.0.0",

src/Dropdown.tsx

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { TriggerProps } from '@rc-component/trigger';
1+
import type { TriggerProps, TriggerRef } from '@rc-component/trigger';
22
import Trigger from '@rc-component/trigger';
33
import type {
44
ActionType,
@@ -7,7 +7,7 @@ import type {
77
BuildInPlacements,
88
} from '@rc-component/trigger/lib/interface';
99
import classNames from 'classnames';
10-
import { composeRef, getNodeRef, supportRef } from 'rc-util/lib/ref';
10+
import { composeRef, getNodeRef, supportRef } from '@rc-component/util/lib/ref';
1111
import React from 'react';
1212
import useAccessibility from './hooks/useAccessibility';
1313
import Overlay from './Overlay';
@@ -46,7 +46,10 @@ export interface DropdownProps
4646
autoFocus?: boolean;
4747
}
4848

49-
function Dropdown(props: DropdownProps, ref) {
49+
const Dropdown: React.ForwardRefRenderFunction<TriggerRef, DropdownProps> = (
50+
props,
51+
ref,
52+
) => {
5053
const {
5154
arrow = false,
5255
prefixCls = 'rc-dropdown',
@@ -72,9 +75,10 @@ function Dropdown(props: DropdownProps, ref) {
7275
const [triggerVisible, setTriggerVisible] = React.useState<boolean>();
7376
const mergedVisible = 'visible' in props ? visible : triggerVisible;
7477

75-
const triggerRef = React.useRef(null);
76-
const overlayRef = React.useRef(null);
77-
const childRef = React.useRef(null);
78+
const triggerRef = React.useRef<TriggerRef>(null);
79+
const overlayRef = React.useRef<HTMLElement>(null);
80+
const childRef = React.useRef<HTMLElement>(null);
81+
7882
React.useImperativeHandle(ref, () => triggerRef.current);
7983

8084
const handleVisibleChange = (newVisible: boolean) => {
@@ -174,6 +178,6 @@ function Dropdown(props: DropdownProps, ref) {
174178
{childrenNode}
175179
</Trigger>
176180
);
177-
}
181+
};
178182

179183
export default React.forwardRef(Dropdown);

src/Overlay.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { composeRef, getNodeRef, supportRef } from 'rc-util/lib/ref';
1+
import { composeRef, getNodeRef, supportRef } from '@rc-component/util/lib/ref';
22
import React, { forwardRef, useMemo } from 'react';
33
import type { DropdownProps } from './Dropdown';
44

src/hooks/useAccessibility.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import KeyCode from "rc-util/lib/KeyCode";
2-
import raf from "rc-util/lib/raf";
3-
import * as React from "react";
1+
import KeyCode from '@rc-component/util/lib/KeyCode';
2+
import raf from '@rc-component/util/lib/raf';
3+
import * as React from 'react';
44

55
const { ESC, TAB } = KeyCode;
66

@@ -60,13 +60,13 @@ export default function useAccessibility({
6060

6161
React.useEffect(() => {
6262
if (visible) {
63-
window.addEventListener("keydown", handleKeyDown);
63+
window.addEventListener('keydown', handleKeyDown);
6464
if (autoFocus) {
6565
// FIXME: hack with raf
6666
raf(focusMenu, 3);
6767
}
6868
return () => {
69-
window.removeEventListener("keydown", handleKeyDown);
69+
window.removeEventListener('keydown', handleKeyDown);
7070
focusMenuRef.current = false;
7171
};
7272
}

tests/basic.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { act, fireEvent } from '@testing-library/react';
33
import type { MenuRef } from 'rc-menu';
44
import Menu, { Divider, Item as MenuItem } from 'rc-menu';
55
import { _rs } from 'rc-resize-observer';
6-
import { spyElementPrototypes } from 'rc-util/lib/test/domHook';
6+
import { spyElementPrototypes } from '@rc-component/util/lib/test/domHook';
77
import type { HTMLAttributes } from 'react';
88
import * as React from 'react';
99
import { createRef, forwardRef, useImperativeHandle } from 'react';

tests/utils.js renamed to tests/utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export async function sleep(timeout = 0) {
1111
});
1212
}
1313

14-
function customRender(ui, options) {
14+
function customRender(ui: any, options: any = {}) {
1515
return render(ui, { wrapper: StrictMode, ...options });
1616
}
1717

0 commit comments

Comments
 (0)