chore: auto merge branchs (#34493)

chore: next merge master
This commit is contained in:
github-actions[bot] 2022-03-14 13:39:23 +00:00 committed by GitHub
commit 18399ae9d2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 144 additions and 74 deletions

View File

@ -15,6 +15,28 @@ timeline: true
---
## 4.19.2
`2022-03-13`
- 🐞 Fix Dropdown not auto adjust placement when position on the edge of window. [#34390](https://github.com/ant-design/ant-design/pull/34390)
- 💄 Change PageHeader elements margin from `12px` to `8px` inside `extra`. [#34428](https://github.com/ant-design/ant-design/pull/34428)
- 🛠 Export css variable function in `antd/es/config-provider` folder to enable ssr requirement. [#34436](https://github.com/ant-design/ant-design/pull/34436)
- 🛠 Refactor Menu with React hooks. [#34433](https://github.com/ant-design/ant-design/pull/34433)
- Input
- 💄 Fix Input font-size when `size` is large. [#34381](https://github.com/ant-design/ant-design/pull/34381)
- 💄 Fix Input.Group wrong border when status is error. [#34412](https://github.com/ant-design/ant-design/pull/34412)
- Form
- 🐞 Fix Form.Item removed in `form.validateFields` throw `Can't perform a React state update on an unmounted component` warning. [#34405](https://github.com/ant-design/ant-design/pull/34405)
- 🐞 Fix to Form that `initialValues` would change if `preserve` is false. [#34411](https://github.com/ant-design/ant-design/pull/34411)
- Tooltip
- 💄 Fix Tooltip width in Safari. [#34415](https://github.com/ant-design/ant-design/pull/34415) [@jiandandkl](https://github.com/jiandandkl)
- 💄 Fix arrow size of Tooltip/Popover/Popconfirm. [#34407](https://github.com/ant-design/ant-design/pull/34407)
- 💄 Remove Collapse bottom border in simple style. [#34366](https://github.com/ant-design/ant-design/pull/34366) [@PanStar](https://github.com/PanStar)
- TypeScript
- 🤖 Fix Input `data-*` type definition. [#34410](https://github.com/ant-design/ant-design/pull/34410) [@GitKou](https://github.com/GitKou)
- 🤖 Fix Transfer `footer` type definition. [#34337](https://github.com/ant-design/ant-design/pull/34337) [@zomixi](https://github.com/zomixi)
## 4.19.1
`2022-03-08`
@ -31,7 +53,7 @@ timeline: true
- 💄 Optimize arrow style for some components. [#33710](https://github.com/ant-design/ant-design/pull/33710)
![image](https://user-images.githubusercontent.com/27722486/157088587-ca49cc29-bf25-42d1-8c14-020b5501c62e.png)
<img src="https://user-images.githubusercontent.com/27722486/157088587-ca49cc29-bf25-42d1-8c14-020b5501c62e.png" width="500" />
- Input
- 🛠 Refactor Input with rc-input. [#34206](https://github.com/ant-design/ant-design/pull/34206)
@ -43,6 +65,7 @@ timeline: true
- ⌨️ Table adds `aria-sort` attribute for screen readers. [#33603](https://github.com/ant-design/ant-design/pull/33603) [@dgreene1](https://github.com/dgreene1)
- 🐞 Fix Table filters select-all Checkbox not changed when select item. [#34295](https://github.com/ant-design/ant-design/pull/34295)
- 🆕 Data entry components add `status` prop to support custom status.
- Transfer [#34098](https://github.com/ant-design/ant-design/pull/34098)
- AutoComplete [#34096](https://github.com/ant-design/ant-design/pull/34096)
- TreeSelect [#34093](https://github.com/ant-design/ant-design/pull/34093)
@ -53,7 +76,7 @@ timeline: true
- InputNumber [#34042](https://github.com/ant-design/ant-design/pull/34042)
- Input [#33995](https://github.com/ant-design/ant-design/pull/33995)
![image](https://user-images.githubusercontent.com/27722486/157089015-f96b0153-2cc4-4e04-94d6-e0e4b195d5d1.png)
<img src="https://user-images.githubusercontent.com/27722486/157089015-f96b0153-2cc4-4e04-94d6-e0e4b195d5d1.png" width="500" />
- 🆕 InputNumber supports `controls={{ upIcon, downIcon }}` to customize icon up and down. [#33914](https://github.com/ant-design/ant-design/pull/33914) [@heiyu4585](https://github.com/heiyu4585)
- 🆕 Notification `placement` support `top` / `bottom` [#33871](https://github.com/ant-design/ant-design/pull/33871) [@heiyu4585](https://github.com/heiyu4585)

View File

@ -13,13 +13,35 @@ timeline: true
- 次版本号:每月发布一个带有新特性的向下兼容的版本。
- 主版本号:含有破坏性更新和新特性,不在发布周期内。
---
--
## 4.19.2
`2022-03-13`
- 🐞 修复 Dropdown 在边界情况下不会自动调整展示位置的问题。[#34390](https://github.com/ant-design/ant-design/pull/34390)
- 💄 缩小 PageHeader `extra` 内元素间距为 `8px`。[#34428](https://github.com/ant-design/ant-design/pull/34428)
- 🛠 导出 antd/es/config-provider 目录下的 css variable 函数以支持 ssr 的需求。[#34436](https://github.com/ant-design/ant-design/pull/34436)
- 🛠 使用 React hooks 重构 Menu。[#34433](https://github.com/ant-design/ant-design/pull/34433)
- Input
- 💄 修复大尺寸 Input 的字号问题。[#34381](https://github.com/ant-design/ant-design/pull/34381)
- 💄 修复 Input.Group 多余的错误边框样式。[#34412](https://github.com/ant-design/ant-design/pull/34412)
- Form
- 🐞 修复 Form.Item 在 `form.validateFields` 中移除时抛出 `Can't perform a React state update on an unmounted component` 警告的问题。[#34405](https://github.com/ant-design/ant-design/pull/34405)
- 🐞 修复 Form 组件当 `preserve``false``initialValues` 会被更改的问题。[#34411](https://github.com/ant-design/ant-design/pull/34411)
- Tooltip
- 💄 修复 Tooltip 在 Safari 下的内容宽度问题。[#34415](https://github.com/ant-design/ant-design/pull/34415) [@jiandandkl](https://github.com/jiandandkl)
- 💄 修复 Tooltip/Popover/Popconfirm 等组件箭头大小问题。[#34407](https://github.com/ant-design/ant-design/pull/34407)
- 💄 优化 Collapse 简洁模式的底边框。[#34366](https://github.com/ant-design/ant-design/pull/34366) [@PanStar](https://github.com/PanStar)
- TypeScript
- 🤖 修复 Input 不支持 `data-*` TS 定义的问题。[#34410](https://github.com/ant-design/ant-design/pull/34410) [@GitKou](https://github.com/GitKou)
- 🤖 修复 Transfer 的 `footer` 类型定义。[#34337](https://github.com/ant-design/ant-design/pull/34337) [@zomixi](https://github.com/zomixi)
## 4.19.1
`2022-03-08`
- 🐞 修复自定义状态相关的 less 编译错误 [#34350](https://github.com/ant-design/ant-design/pull/34350)
- 🐞 修复自定义状态相关的 less 编译错误。[#34350](htps://github.com/ant-dign/ant-design/pull/34350)
- 🐞 修复使用定制主题时 less 编译提示 `ReferenceError: colorPalette is not defined` 错误。
- 🐞 修复引入 `antd/dist/antd.css` 时提示 `Error: Invalid class or id selector syntax` 错误。
- 🐞 修复 Input.Passowrd 图标颜色错误。[#34354](https://github.com/ant-design/ant-design/pull/34354)
@ -31,7 +53,7 @@ timeline: true
- 💄 优化部分组件箭头样式。[#33710](https://github.com/ant-design/ant-design/pull/33710)
![image](https://user-images.githubusercontent.com/27722486/157088587-ca49cc29-bf25-42d1-8c14-020b5501c62e.png)
<img src="https://user-images.githubusercontent.com/27722486/157088587-ca49cc29-bf25-42d1-8c14-020b5501c62e.png" width="500" />
- Input
- 🛠 引入 rc-input 重构 Input 组件为 function component。[#34206](https://github.com/ant-design/ant-design/pull/34206)
@ -43,6 +65,7 @@ timeline: true
- ⌨️ 增加 `aria-sort` 属性以优化屏幕阅读器的使用体验。[#33603](https://github.com/ant-design/ant-design/pull/33603) [@dgreene1](https://github.com/dgreene1)
- 🐞 修复 Table 列筛选器中选择全部 Checkbox 状态问题。[#34295](https://github.com/ant-design/ant-design/pull/34295)
- 🆕 表单组件新增 `status` 属性以支持自定义状态。
- Transfer [#34098](https://github.com/ant-design/ant-design/pull/34098)
- AutoComplete [#34096](https://github.com/ant-design/ant-design/pull/34096)
- TreeSelect [#34093](https://github.com/ant-design/ant-design/pull/34093)
@ -53,7 +76,7 @@ timeline: true
- InputNumber [#34042](https://github.com/ant-design/ant-design/pull/34042)
- Input [#33995](https://github.com/ant-design/ant-design/pull/33995)
![image](https://user-images.githubusercontent.com/27722486/157089015-f96b0153-2cc4-4e04-94d6-e0e4b195d5d1.png)
<img src="https://user-images.githubusercontent.com/27722486/157089015-f96b0153-2cc4-4e04-94d6-e0e4b195d5d1.png" width="500" />
- 🆕 InputNumber 组件支持 `controls={{ upIcon, downIcon }}` 用于自定义上下图标。[#33914](https://github.com/ant-design/ant-design/pull/33914) [@heiyu4585](https://github.com/heiyu4585)
- 🆕 Notification 组件弹窗位置新增支持 `top` / `bottom`。[#33871](https://github.com/ant-design/ant-design/pull/33871) [@heiyu4585](https://github.com/heiyu4585)

View File

@ -33,6 +33,10 @@ export interface AffixProps {
children: React.ReactNode;
}
export interface InternalAffixProps extends AffixProps {
affixPrefixCls: string;
}
enum AffixStatus {
None,
Prepare,
@ -47,7 +51,7 @@ export interface AffixState {
prevTarget: Window | HTMLElement | null;
}
class Affix extends React.Component<AffixProps, AffixState> {
class Affix extends React.Component<InternalAffixProps, AffixState> {
static contextType = ConfigContext;
state: AffixState = {
@ -250,14 +254,20 @@ class Affix extends React.Component<AffixProps, AffixState> {
// =================== Render ===================
render() {
const { getPrefixCls } = this.context;
const { affixStyle, placeholderStyle } = this.state;
const { prefixCls, children } = this.props;
const { affixPrefixCls, children } = this.props;
const className = classNames({
[getPrefixCls('affix', prefixCls)]: !!affixStyle,
[affixPrefixCls]: !!affixStyle,
});
let props = omit(this.props, ['prefixCls', 'offsetTop', 'offsetBottom', 'target', 'onChange']);
let props = omit(this.props, [
'prefixCls',
'offsetTop',
'offsetBottom',
'target',
'onChange',
'affixPrefixCls',
]);
// Omit this since `onTestUpdatePosition` only works on test.
if (process.env.NODE_ENV === 'test') {
props = omit(props as typeof props & { onTestUpdatePosition: any }, ['onTestUpdatePosition']);
@ -286,7 +296,20 @@ class Affix extends React.Component<AffixProps, AffixState> {
}
}
const AffixFC = React.forwardRef<Affix, AffixProps>((props, ref) => <Affix {...props} ref={ref} />);
const AffixFC = React.forwardRef<Affix, AffixProps>((props, ref) => {
const { prefixCls: customizePrefixCls } = props;
const { getPrefixCls } = React.useContext(ConfigContext);
const affixPrefixCls = getPrefixCls('affix', customizePrefixCls);
const AffixProps: InternalAffixProps = {
...props,
affixPrefixCls,
};
return <Affix {...AffixProps} ref={ref} />;
});
if (process.env.NODE_ENV !== 'production') {
AffixFC.displayName = 'Affix';

View File

@ -24,6 +24,7 @@ Cascade selection box.
| allowClear | Whether allow clear | boolean | true | |
| autoFocus | If get focus when component mounted | boolean | false | |
| bordered | Whether has border style | boolean | true | |
| clearIcon | The custom clear icon | ReactNode | - | |
| changeOnSelect | (Work on single select) Change value on each selection if set to true, see above demo for details | boolean | false | |
| className | The additional css class | string | - | |
| defaultValue | Initial selected value | string\[] \| number\[] | \[] | |
@ -53,6 +54,7 @@ Cascade selection box.
| onChange | Callback when finishing cascader select | (value, selectedOptions) => void | - | |
| onDropdownVisibleChange | Callback when popup shown or hidden | (value) => void | - | 4.17.0 |
| multiple | Support multiple or not | boolean | - | 4.17.0 |
| removeIcon | The custom remove icon | ReactNode | - | |
| searchValue | Set search valueNeed work with `showSearch` | string | - | 4.17.0 |
| onSearch | The callback function triggered when input changed | (search: string) => void | - | 4.17.0 |
| dropdownMenuColumnStyle | The style of the drop-down menu column | CSSProperties | - | |

View File

@ -25,6 +25,7 @@ cover: https://gw.alipayobjects.com/zos/alicdn/UdS8y8xyZ/Cascader.svg
| allowClear | 是否支持清除 | boolean | true | |
| autoFocus | 自动获取焦点 | boolean | false | |
| bordered | 是否有边框 | boolean | true | |
| clearIcon | 自定义的选择框清空图标 | ReactNode | - | |
| changeOnSelect | (单选时生效)当此项为 true 时,点选每级菜单选项值都会发生变化,具体见上面的演示 | boolean | false | |
| className | 自定义类名 | string | - | |
| defaultValue | 默认的选中项 | string\[] \| number\[] | \[] | |
@ -54,6 +55,7 @@ cover: https://gw.alipayobjects.com/zos/alicdn/UdS8y8xyZ/Cascader.svg
| onChange | 选择完成后的回调 | (value, selectedOptions) => void | - | |
| onDropdownVisibleChange | 显示/隐藏浮层的回调 | (value) => void | - | 4.17.0 |
| multiple | 支持多选节点 | boolean | - | 4.17.0 |
| removeIcon | 自定义的多选框清除图标 | ReactNode | - | |
| searchValue | 设置搜索的值,需要与 `showSearch` 配合使用 | string | - | 4.17.0 |
| onSearch | 监听搜索,返回输入的值 | (search: string) => void | - | 4.17.0 |
| dropdownMenuColumnStyle | 下拉菜单列的样式 | CSSProperties | - | |

View File

@ -13790,7 +13790,7 @@ exports[`ConfigProvider components Input configProvider componentSize large 1`]
>
<input
action="click"
class="config-input"
class="config-input config-input-lg"
type="password"
value=""
/>

View File

@ -9,7 +9,7 @@ import devWarning from '../_util/devWarning';
const dynamicStyleMark = `-ant-${Date.now()}-${Math.random()}`;
export function registerTheme(globalPrefixCls: string, theme: Theme) {
export function getStyle(globalPrefixCls: string, theme: Theme) {
const variables: Record<string, string> = {};
const formatColor = (
@ -88,15 +88,18 @@ export function registerTheme(globalPrefixCls: string, theme: Theme) {
key => `--${globalPrefixCls}-${key}: ${variables[key]};`,
);
if (canUseDom()) {
updateCSS(
`
return `
:root {
${cssList.join('\n')}
}
`,
`${dynamicStyleMark}-dynamic-theme`,
);
`.trim();
}
export function registerTheme(globalPrefixCls: string, theme: Theme) {
const style = getStyle(globalPrefixCls, theme);
if (canUseDom()) {
updateCSS(style, `${dynamicStyleMark}-dynamic-theme`);
} else {
devWarning(false, 'ConfigProvider', 'SSR do not support dynamic theme with css variables.');
}

View File

@ -155,7 +155,7 @@ const Input = forwardRef<InputRef, InputProps>((props, ref) => {
const mergedStatus = getMergedStatus(contextStatus, customStatus);
// ===================== Focus warning =====================
const inputHasPrefixSuffix = hasPrefixSuffix(props);
const inputHasPrefixSuffix = hasPrefixSuffix(props) || !!hasFeedback;
const prevHasPrefixSuffix = useRef<boolean>(inputHasPrefixSuffix);
useEffect(() => {
if (inputHasPrefixSuffix && !prevHasPrefixSuffix.current) {
@ -206,8 +206,6 @@ const Input = forwardRef<InputRef, InputProps>((props, ref) => {
</>
);
const withPrefixSuffix = hasPrefixSuffix(props) || hasFeedback;
// Allow clear
let mergedAllowClear;
if (typeof allowClear === 'object' && allowClear?.clearIcon) {
@ -229,13 +227,13 @@ const Input = forwardRef<InputRef, InputProps>((props, ref) => {
addonAfter={addonAfter && <NoFormStatus>{addonAfter}</NoFormStatus>}
addonBefore={addonBefore && <NoFormStatus>{addonBefore}</NoFormStatus>}
inputClassName={classNames(
!withPrefixSuffix && {
{
[`${prefixCls}-sm`]: mergedSize === 'small',
[`${prefixCls}-lg`]: mergedSize === 'large',
[`${prefixCls}-rtl`]: direction === 'rtl',
[`${prefixCls}-borderless`]: !bordered,
},
!withPrefixSuffix && getStatusClassNames(prefixCls, mergedStatus),
!inputHasPrefixSuffix && getStatusClassNames(prefixCls, mergedStatus),
hashId,
)}
affixWrapperClassName={classNames(

View File

@ -6,7 +6,7 @@ exports[`Input.Password rtl render component should be rendered correctly in RTL
>
<input
action="click"
class="ant-input"
class="ant-input ant-input-rtl"
type="password"
value=""
/>
@ -163,7 +163,7 @@ exports[`Input.Password should support size 1`] = `
>
<input
action="click"
class="ant-input"
class="ant-input ant-input-lg"
type="password"
value=""
/>

View File

@ -5009,7 +5009,7 @@ exports[`renders ./components/input/demo/borderless-debug.md extend context corr
class="ant-input-affix-wrapper ant-input-affix-wrapper-borderless"
>
<input
class="ant-input"
class="ant-input ant-input-borderless"
placeholder="Unbordered"
type="text"
value=""
@ -5053,7 +5053,7 @@ exports[`renders ./components/input/demo/borderless-debug.md extend context corr
</span>
<input
class="ant-input"
class="ant-input ant-input-borderless"
type="text"
value=""
/>
@ -5072,7 +5072,7 @@ exports[`renders ./components/input/demo/borderless-debug.md extend context corr
</span>
<input
class="ant-input ant-input-disabled"
class="ant-input ant-input-disabled ant-input-borderless"
disabled=""
type="text"
value=""
@ -9161,7 +9161,7 @@ exports[`renders ./components/input/demo/search-input.md extend context correctl
class="ant-input-affix-wrapper ant-input-affix-wrapper-lg"
>
<input
class="ant-input"
class="ant-input ant-input-lg"
placeholder="input search text"
type="text"
value=""
@ -9224,7 +9224,7 @@ exports[`renders ./components/input/demo/search-input.md extend context correctl
class="ant-input-affix-wrapper ant-input-affix-wrapper-lg"
>
<input
class="ant-input"
class="ant-input ant-input-lg"
placeholder="input search text"
type="text"
value=""
@ -9485,7 +9485,7 @@ Array [
</span>
</span>
<input
class="ant-input"
class="ant-input ant-input-lg"
placeholder="large size"
type="text"
value=""
@ -9555,7 +9555,7 @@ Array [
</span>
</span>
<input
class="ant-input"
class="ant-input ant-input-sm"
placeholder="small size"
type="text"
value=""

View File

@ -1226,7 +1226,7 @@ exports[`renders ./components/input/demo/borderless-debug.md correctly 1`] = `
class="ant-input-affix-wrapper ant-input-affix-wrapper-borderless"
>
<input
class="ant-input"
class="ant-input ant-input-borderless"
placeholder="Unbordered"
type="text"
value=""
@ -1270,7 +1270,7 @@ exports[`renders ./components/input/demo/borderless-debug.md correctly 1`] = `
</span>
<input
class="ant-input"
class="ant-input ant-input-borderless"
type="text"
value=""
/>
@ -1289,7 +1289,7 @@ exports[`renders ./components/input/demo/borderless-debug.md correctly 1`] = `
</span>
<input
class="ant-input ant-input-disabled"
class="ant-input ant-input-disabled ant-input-borderless"
disabled=""
type="text"
value=""
@ -2935,7 +2935,7 @@ exports[`renders ./components/input/demo/search-input.md correctly 1`] = `
class="ant-input-affix-wrapper ant-input-affix-wrapper-lg"
>
<input
class="ant-input"
class="ant-input ant-input-lg"
placeholder="input search text"
type="text"
value=""
@ -2998,7 +2998,7 @@ exports[`renders ./components/input/demo/search-input.md correctly 1`] = `
class="ant-input-affix-wrapper ant-input-affix-wrapper-lg"
>
<input
class="ant-input"
class="ant-input ant-input-lg"
placeholder="input search text"
type="text"
value=""
@ -3259,7 +3259,7 @@ Array [
</span>
</span>
<input
class="ant-input"
class="ant-input ant-input-lg"
placeholder="large size"
type="text"
value=""
@ -3329,7 +3329,7 @@ Array [
</span>
</span>
<input
class="ant-input"
class="ant-input ant-input-sm"
placeholder="small size"
type="text"
value=""

View File

@ -7,10 +7,6 @@
.input-lg() {
padding: @input-padding-vertical-lg @input-padding-horizontal-lg;
font-size: @font-size-lg;
input {
font-size: @font-size-lg;
}
}
.input-sm() {

View File

@ -41,7 +41,7 @@ cover: https://gw.alipayobjects.com/zos/antfincdn/vJmo00mmgR/Timeline.svg
| 参数 | 说明 | 类型 | 默认值 |
| --- | --- | --- | --- |
| color | 指定圆圈颜色 `blue`, `red`, `green`, `gray`,或自定义的色值 | string | `blue` |
| color | 指定圆圈颜色 `blue`、`red`、`green`、`gray`,或自定义的色值 | string | `blue` |
| dot | 自定义时间轴点 | ReactNode | - |
| label | 设置标签 | ReactNode | - |
| position | 自定义节点位置 | `left` \| `right` | - |

View File

@ -1,6 +1,6 @@
{
"name": "antd",
"version": "4.19.1",
"version": "4.19.2",
"description": "An enterprise-class UI design language and React components implementation",
"title": "Ant Design",
"keywords": [
@ -131,10 +131,10 @@
"rc-dropdown": "~3.3.2",
"rc-field-form": "~1.24.0",
"rc-image": "~5.2.5",
"rc-input": "^0.0.1-alpha.5",
"rc-input": "~0.0.1-alpha.5",
"rc-input-number": "~7.3.0",
"rc-mentions": "~1.6.1",
"rc-menu": "~9.2.1",
"rc-menu": "~9.3.2",
"rc-motion": "^2.4.4",
"rc-notification": "~4.5.7",
"rc-pagination": "~3.1.9",
@ -142,7 +142,7 @@
"rc-progress": "~3.2.1",
"rc-rate": "~2.9.0",
"rc-resize-observer": "^1.2.0",
"rc-select": "~14.0.0-alpha.15",
"rc-select": "~14.0.2",
"rc-slider": "~10.0.0-alpha.4",
"rc-steps": "~4.1.0",
"rc-switch": "~3.2.0",

View File

@ -2,7 +2,7 @@
const chalk = require('chalk');
const path = require('path');
const fetch = require('isomorphic-fetch');
const simpleGit = require('simple-git/promise');
const simpleGit = require('simple-git');
const cwd = process.cwd();
const git = simpleGit(cwd);

View File

@ -1,6 +1,6 @@
const path = require('path');
const fs = require('fs');
const simpleGit = require('simple-git/promise');
const simpleGit = require('simple-git');
const _ = require('lodash');
const cwd = process.cwd();

View File

@ -7,7 +7,7 @@ const fetch = require('isomorphic-fetch');
const open = require('open');
const fs = require('fs-extra');
const path = require('path');
const simpleGit = require('simple-git/promise');
const simpleGit = require('simple-git');
const inquirer = require('inquirer');
const { JSDOM } = jsdom;