Skip to content

Commit 6dafd0f

Browse files
aojunhao123zombieJ
andauthored
chore: bump trigger (#240)
* chore: update package configuration and dependencies * chore: migrate from rc-util to @rc-component packages * chore: update import paths * refactor: update Dropdown motion name * chore: adjust motion name * chore: bump deps * test: fix test case --------- Co-authored-by: 二货机器人 <[email protected]>
1 parent 95e6e50 commit 6dafd0f

12 files changed

+88
-86
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ es
2828
coverage
2929
yarn.lock
3030
package-lock.json
31+
.vscode
3132

3233
# dumi
3334
.dumi/tmp

docs/examples/arrow.jsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import Menu, { Item as MenuItem, Divider } from 'rc-menu';
2-
import '../../assets/index.less';
1+
import Dropdown from '@rc-component/dropdown';
2+
import Menu, { Divider, Item as MenuItem } from '@rc-component/menu';
33
import React from 'react';
4-
import Dropdown from 'rc-dropdown';
4+
import '../../assets/index.less';
55

66
function onSelect({ key }) {
77
console.log(`${key} selected`);

docs/examples/context-menu.jsx

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
import Menu, { Item as MenuItem } from 'rc-menu'
2-
import '../../assets/index.less'
3-
import React from 'react'
4-
import Dropdown from 'rc-dropdown'
1+
import Dropdown from '@rc-component/dropdown';
2+
import Menu, { Item as MenuItem } from '@rc-component/menu';
3+
import React from 'react';
4+
import '../../assets/index.less';
55

66
function ContextMenu() {
77
const menu = (
88
<Menu style={{ width: 140 }}>
99
<MenuItem key="1">one</MenuItem>
1010
<MenuItem key="2">two</MenuItem>
1111
</Menu>
12-
)
12+
);
1313

1414
return (
1515
<Dropdown
@@ -29,7 +29,7 @@ function ContextMenu() {
2929
Right click me!
3030
</div>
3131
</Dropdown>
32-
)
32+
);
3333
}
3434

35-
export default ContextMenu
35+
export default ContextMenu;

docs/examples/dropdown-menu-width.jsx

+14-14
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
1-
import Menu, { Item as MenuItem } from 'rc-menu'
2-
import '../../assets/index.less'
3-
import React, { PureComponent } from 'react'
4-
import Dropdown from 'rc-dropdown'
1+
import Dropdown from '@rc-component/dropdown';
2+
import Menu, { Item as MenuItem } from '@rc-component/menu';
3+
import React, { PureComponent } from 'react';
4+
import '../../assets/index.less';
55

66
class Example extends PureComponent {
7-
state = { longList: false }
7+
state = { longList: false };
88

99
short = () => {
10-
this.setState({ longList: false })
11-
}
10+
this.setState({ longList: false });
11+
};
1212

1313
long = () => {
14-
this.setState({ longList: true })
15-
}
14+
this.setState({ longList: true });
15+
};
1616

1717
render() {
1818
const menuItems = [
1919
<MenuItem key="1">1st item</MenuItem>,
2020
<MenuItem key="2">2nd item</MenuItem>,
21-
]
21+
];
2222

2323
if (this.state.longList) {
24-
menuItems.push(<MenuItem key="3">3rd LONG SUPER LONG item</MenuItem>)
24+
menuItems.push(<MenuItem key="3">3rd LONG SUPER LONG item</MenuItem>);
2525
}
26-
const menu = <Menu>{menuItems}</Menu>
26+
const menu = <Menu>{menuItems}</Menu>;
2727
return (
2828
<div>
2929
<Dropdown overlay={menu}>
@@ -32,8 +32,8 @@ class Example extends PureComponent {
3232
<button onClick={this.long}>Long List</button>
3333
<button onClick={this.short}>Short List</button>
3434
</div>
35-
)
35+
);
3636
}
3737
}
3838

39-
export default Example
39+
export default Example;

docs/examples/multiple.jsx

+18-18
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
1-
import Menu, { Item as MenuItem, Divider } from 'rc-menu'
2-
import '../../assets/index.less'
3-
import React, { Component } from 'react'
4-
import Dropdown from 'rc-dropdown'
1+
import Dropdown from '@rc-component/dropdown';
2+
import Menu, { Divider, Item as MenuItem } from '@rc-component/menu';
3+
import React, { Component } from 'react';
4+
import '../../assets/index.less';
55

66
class Test extends Component {
77
state = {
88
visible: false,
9-
}
9+
};
1010

11-
onVisibleChange = visible => {
12-
console.log('visible', visible)
11+
onVisibleChange = (visible) => {
12+
console.log('visible', visible);
1313
this.setState({
1414
visible,
15-
})
16-
}
15+
});
16+
};
1717

18-
selected = []
18+
selected = [];
1919

2020
saveSelected = ({ selectedKeys }) => {
21-
this.selected = selectedKeys
22-
}
21+
this.selected = selectedKeys;
22+
};
2323

2424
confirm = () => {
25-
console.log(this.selected)
25+
console.log(this.selected);
2626
this.setState({
2727
visible: false,
28-
})
29-
}
28+
});
29+
};
3030

3131
render() {
3232
const menu = (
@@ -52,7 +52,7 @@ class Test extends Component {
5252
</button>
5353
</MenuItem>
5454
</Menu>
55-
)
55+
);
5656

5757
return (
5858
<Dropdown
@@ -65,8 +65,8 @@ class Test extends Component {
6565
>
6666
<button>open</button>
6767
</Dropdown>
68-
)
68+
);
6969
}
7070
}
7171

72-
export default Test
72+
export default Test;

docs/examples/overlay-callback.jsx

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
import Menu, { Item as MenuItem, Divider } from 'rc-menu'
2-
import '../../assets/index.less'
3-
import React from 'react'
4-
import Dropdown from 'rc-dropdown'
1+
import Dropdown from '@rc-component/dropdown';
2+
import Menu, { Divider, Item as MenuItem } from '@rc-component/menu';
3+
import React from 'react';
4+
import '../../assets/index.less';
55

66
function onSelect({ key }) {
7-
console.log(`${key} selected`)
7+
console.log(`${key} selected`);
88
}
99

1010
function onVisibleChange(visible) {
11-
console.log(visible)
11+
console.log(visible);
1212
}
1313

1414
const menuCallback = () => (
@@ -18,7 +18,7 @@ const menuCallback = () => (
1818
<Divider />
1919
<MenuItem key="2">two</MenuItem>
2020
</Menu>
21-
)
21+
);
2222

2323
export default function OverlayCallback() {
2424
return (
@@ -35,5 +35,5 @@ export default function OverlayCallback() {
3535
</Dropdown>
3636
</div>
3737
</div>
38-
)
38+
);
3939
}

docs/examples/simple.jsx

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
/* eslint-disable no-console,react/button-has-type */
2-
import Menu, { Item as MenuItem, Divider } from 'rc-menu'
3-
import '../../assets/index.less'
4-
import React from 'react'
5-
import Dropdown from 'rc-dropdown'
2+
import Dropdown from '@rc-component/dropdown';
3+
import Menu, { Divider, Item as MenuItem } from '@rc-component/menu';
4+
import React from 'react';
5+
import '../../assets/index.less';
66

77
function onSelect({ key }) {
8-
console.log(`${key} selected`)
8+
console.log(`${key} selected`);
99
}
1010

1111
function onVisibleChange(visible) {
12-
console.log(visible)
12+
console.log(visible);
1313
}
1414

1515
const menu = (
@@ -19,7 +19,7 @@ const menu = (
1919
<Divider />
2020
<MenuItem key="2">two</MenuItem>
2121
</Menu>
22-
)
22+
);
2323

2424
export default function Simple() {
2525
return (
@@ -37,5 +37,5 @@ export default function Simple() {
3737
</Dropdown>
3838
</div>
3939
</div>
40-
)
40+
);
4141
}

package.json

+10-11
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",
@@ -33,7 +33,7 @@
3333
"lint": "eslint src/ docs/examples/ --ext .tsx,.ts,.jsx,.js",
3434
"now-build": "npm run build",
3535
"prepare": "husky install && dumi setup",
36-
"prepublishOnly": "npm run compile && np --no-cleanup --yolo --no-publish",
36+
"prepublishOnly": "npm run compile && rc-np",
3737
"start": "dumi dev",
3838
"test": "rc-test"
3939
},
@@ -44,13 +44,14 @@
4444
]
4545
},
4646
"dependencies": {
47-
"@babel/runtime": "^7.18.3",
48-
"@rc-component/trigger": "^2.0.0",
49-
"classnames": "^2.2.6",
50-
"rc-util": "^5.44.1"
47+
"@rc-component/trigger": "^3.0.0",
48+
"@rc-component/util": "^1.2.1",
49+
"classnames": "^2.2.6"
5150
},
5251
"devDependencies": {
53-
"@rc-component/father-plugin": "^1.0.0",
52+
"@rc-component/father-plugin": "^2.0.2",
53+
"@rc-component/np": "^1.0.3",
54+
"@rc-component/resize-observer": "^1.0.0",
5455
"@testing-library/jest-dom": "^5.16.5",
5556
"@testing-library/react": "^14.0.0",
5657
"@types/classnames": "^2.2.6",
@@ -69,10 +70,8 @@
6970
"jquery": "^3.3.1",
7071
"less": "^4.1.1",
7172
"lint-staged": "^13.2.1",
72-
"np": "^6.0.0",
7373
"prettier": "^2.8.7",
74-
"rc-menu": "^9.5.2",
75-
"rc-resize-observer": "^1.4.0",
74+
"@rc-component/menu": "^1.0.0",
7675
"rc-test": "^7.0.14",
7776
"react": "^18.0.0",
7877
"react-dom": "^18.0.0",

src/Dropdown.tsx

+5-3
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import type {
66
AnimationType,
77
BuildInPlacements,
88
} from '@rc-component/trigger/lib/interface';
9+
import { composeRef, getNodeRef, supportRef } from '@rc-component/util/lib/ref';
910
import classNames from 'classnames';
10-
import { composeRef, getNodeRef, supportRef } from 'rc-util/lib/ref';
1111
import React from 'react';
1212
import useAccessibility from './hooks/useAccessibility';
1313
import Overlay from './Overlay';
@@ -71,6 +71,9 @@ function Dropdown(props: DropdownProps, ref) {
7171

7272
const [triggerVisible, setTriggerVisible] = React.useState<boolean>();
7373
const mergedVisible = 'visible' in props ? visible : triggerVisible;
74+
const mergedMotionName = animation
75+
? `${prefixCls}-${animation}`
76+
: transitionName;
7477

7578
const triggerRef = React.useRef(null);
7679
const overlayRef = React.useRef(null);
@@ -162,8 +165,7 @@ function Dropdown(props: DropdownProps, ref) {
162165
hideAction={triggerHideAction}
163166
popupPlacement={placement}
164167
popupAlign={align}
165-
popupTransitionName={transitionName}
166-
popupAnimation={animation}
168+
popupMotion={{ motionName: mergedMotionName }}
167169
popupVisible={mergedVisible}
168170
stretch={getMinOverlayWidthMatchTrigger() ? 'minWidth' : ''}
169171
popup={getMenuElementOrLambda()}

src/Overlay.tsx

+1-1
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

+5-5
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
}

0 commit comments

Comments
 (0)