chore: merge master into feature

This commit is contained in:
栗嘉男 2023-09-06 02:49:25 +08:00
commit 70466b0ebb
7 changed files with 73 additions and 24 deletions

View File

@ -78,6 +78,10 @@ npm install antd --save
yarn add antd yarn add antd
``` ```
```bash
pnpm add antd
```
## 🔨 示例 ## 🔨 示例
```jsx ```jsx

View File

@ -78,6 +78,10 @@ npm install antd
yarn add antd yarn add antd
``` ```
```bash
pnpm add antd
```
## 🔨 Usage ## 🔨 Usage
```jsx ```jsx

View File

@ -5,8 +5,8 @@ import { genComponentStyleHook, mergeToken } from '../../theme/internal';
export interface ComponentToken { export interface ComponentToken {
/** /**
* @desc * @desc
* @descEN Background color of Avatar * @descEN Size of Avatar
*/ */
containerSize: number; containerSize: number;
/** /**

View File

@ -1,5 +1,6 @@
import type { CSSObject } from '@ant-design/cssinjs'; import type { CSSObject } from '@ant-design/cssinjs';
import { TinyColor } from '@ctrl/tinycolor'; import { TinyColor } from '@ctrl/tinycolor';
import type { SharedComponentToken, SharedInputToken } from '../../input/style'; import type { SharedComponentToken, SharedInputToken } from '../../input/style';
import { import {
genActiveStyle, genActiveStyle,
@ -682,7 +683,7 @@ export const genPanelStyle = (token: SharedPickerToken): CSSObject => {
textAlign: 'center', textAlign: 'center',
'&-extra': { '&-extra': {
padding: `0 ${paddingSM}`, padding: `0 ${paddingSM}px`,
lineHeight: `${textHeight - 2 * lineWidth}px`, lineHeight: `${textHeight - 2 * lineWidth}px`,
textAlign: 'start', textAlign: 'start',

View File

@ -181,6 +181,7 @@ const ConfirmDialog: React.FC<ConfirmDialogProps> = (props) => {
closeIcon, closeIcon,
modalRender, modalRender,
focusTriggerAfterClose, focusTriggerAfterClose,
onConfirm,
} = props; } = props;
if (process.env.NODE_ENV !== 'production') { if (process.env.NODE_ENV !== 'production') {
@ -220,7 +221,10 @@ const ConfirmDialog: React.FC<ConfirmDialogProps> = (props) => {
{ [`${confirmPrefixCls}-centered`]: !!props.centered }, { [`${confirmPrefixCls}-centered`]: !!props.centered },
wrapClassName, wrapClassName,
)} )}
onCancel={() => close?.({ triggerCancel: true })} onCancel={() => {
close?.({ triggerCancel: true });
onConfirm?.(false);
}}
open={open} open={open}
title="" title=""
footer={null} footer={null}

View File

@ -1,15 +1,15 @@
import React from 'react';
import CSSMotion from 'rc-motion'; import CSSMotion from 'rc-motion';
import { genCSSMotion } from 'rc-motion/lib/CSSMotion'; import { genCSSMotion } from 'rc-motion/lib/CSSMotion';
import KeyCode from 'rc-util/lib/KeyCode'; import KeyCode from 'rc-util/lib/KeyCode';
import React from 'react';
import { act } from 'react-dom/test-utils'; import { act } from 'react-dom/test-utils';
import Modal from '..'; import Modal from '..';
import zhCN from '../../locale/zh_CN';
import { fireEvent, render, waitFakeTimer } from '../../../tests/utils'; import { fireEvent, render, waitFakeTimer } from '../../../tests/utils';
import Button from '../../button'; import Button from '../../button';
import ConfigProvider from '../../config-provider'; import ConfigProvider from '../../config-provider';
import Input from '../../input'; import Input from '../../input';
import zhCN from '../../locale/zh_CN';
import type { ModalFunc } from '../confirm'; import type { ModalFunc } from '../confirm';
jest.mock('rc-util/lib/Portal'); jest.mock('rc-util/lib/Portal');
@ -410,7 +410,8 @@ describe('Modal.hook', () => {
jest.useRealTimers(); jest.useRealTimers();
}); });
it('support await', async () => { describe('support await', () => {
it('click', async () => {
jest.useFakeTimers(); jest.useFakeTimers();
let notReady = true; let notReady = true;
@ -454,3 +455,38 @@ describe('Modal.hook', () => {
jest.useRealTimers(); jest.useRealTimers();
}); });
}); });
it('esc', async () => {
jest.useFakeTimers();
let lastResult: boolean | null = null;
const Demo: React.FC = () => {
const [modal, contextHolder] = Modal.useModal();
React.useEffect(() => {
(async () => {
lastResult = await modal.confirm({
content: <Input />,
});
})();
}, []);
return contextHolder;
};
render(<Demo />);
// Wait for modal show
await waitFakeTimer();
// ESC to close
fireEvent.keyDown(document.querySelector('.ant-modal')!, {
key: 'Esc',
keyCode: KeyCode.ESC,
});
await waitFakeTimer();
expect(lastResult).toBe(false);
});
});

View File

@ -22,7 +22,7 @@ export type {
AntdTreeNodeAttribute, AntdTreeNodeAttribute,
TreeProps, TreeProps,
} from './Tree'; } from './Tree';
export type { DataNode }; export type { DataNode, BasicDataNode };
type CompoundedComponent = (<T extends BasicDataNode | DataNode = DataNode>( type CompoundedComponent = (<T extends BasicDataNode | DataNode = DataNode>(
props: React.PropsWithChildren<TreeProps<T>> & { ref?: React.Ref<RcTree> }, props: React.PropsWithChildren<TreeProps<T>> & { ref?: React.Ref<RcTree> },