diff --git a/docs/demo/AutoComplete.md b/docs/demo/AutoComplete.md deleted file mode 100644 index ada1846..0000000 --- a/docs/demo/AutoComplete.md +++ /dev/null @@ -1,4 +0,0 @@ -## AutoComplete - - - diff --git a/docs/demo/Cascader.md b/docs/demo/Cascader.md deleted file mode 100644 index c999b1f..0000000 --- a/docs/demo/Cascader.md +++ /dev/null @@ -1,4 +0,0 @@ -## Cascader - - - diff --git a/docs/demo/Comment.md b/docs/demo/Comment.md new file mode 100644 index 0000000..567db4b --- /dev/null +++ b/docs/demo/Comment.md @@ -0,0 +1,4 @@ +## Comment + + + diff --git a/docs/demo/DatePicker.md b/docs/demo/DatePicker.md deleted file mode 100644 index 471487d..0000000 --- a/docs/demo/DatePicker.md +++ /dev/null @@ -1,4 +0,0 @@ -## DatePicker - - - diff --git a/docs/demo/Mentions.md b/docs/demo/Mentions.md deleted file mode 100644 index 1311345..0000000 --- a/docs/demo/Mentions.md +++ /dev/null @@ -1,4 +0,0 @@ -## Mentions - - - diff --git a/docs/demo/Select.md b/docs/demo/Select.md deleted file mode 100644 index 15f9017..0000000 --- a/docs/demo/Select.md +++ /dev/null @@ -1,4 +0,0 @@ -## Select - - - diff --git a/docs/demo/TimePicker.md b/docs/demo/TimePicker.md deleted file mode 100644 index 451772b..0000000 --- a/docs/demo/TimePicker.md +++ /dev/null @@ -1,4 +0,0 @@ -## TimePicker - - - diff --git a/docs/demo/TreeSelect.md b/docs/demo/TreeSelect.md deleted file mode 100644 index 91f0948..0000000 --- a/docs/demo/TreeSelect.md +++ /dev/null @@ -1,4 +0,0 @@ -## TreeSelect - - - diff --git a/docs/examples/AutoComplete.tsx b/docs/examples/AutoComplete.tsx deleted file mode 100644 index 4d50a51..0000000 --- a/docs/examples/AutoComplete.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import React from 'react'; -import { AutoComplete } from '../../src'; - -export default () => { - return ( - - ); -}; diff --git a/docs/examples/Cascader.tsx b/docs/examples/Cascader.tsx deleted file mode 100644 index ca645fd..0000000 --- a/docs/examples/Cascader.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import React from 'react'; -import { Cascader } from '../../src'; - -export default () => { - const options = [ - { - value: 'zhejiang', - label: 'Zhejiang', - children: [ - { - value: 'hangzhou', - label: 'Hangzhou', - children: [ - { - value: 'xihu', - label: 'West Lake', - }, - ], - }, - ], - }, - { - value: 'jiangsu', - label: 'Jiangsu', - children: [ - { - value: 'nanjing', - label: 'Nanjing', - children: [ - { - value: 'zhonghuamen', - label: 'Zhong Hua Men', - }, - ], - }, - ], - }, - ]; - - function onChange(value) { - console.log(value); - } - - return ( - - ); -}; diff --git a/docs/examples/Comment.tsx b/docs/examples/Comment.tsx new file mode 100644 index 0000000..d6be3ca --- /dev/null +++ b/docs/examples/Comment.tsx @@ -0,0 +1,73 @@ +import React, { useState, createElement } from 'react'; +import { DislikeFilled, DislikeOutlined, LikeFilled, LikeOutlined } from '@ant-design/icons'; +import { Avatar, Tooltip } from 'antd'; +import { Comment } from '../../src'; + +import { presetPalettes } from '@ant-design/colors' +console.log(presetPalettes); + + +const lines = []; +Object.keys(presetPalettes).forEach((key) => { + for (let i = 0; i < 10; i += 1) { + lines.push(`@${key}-${i + 1}: ${presetPalettes[key][i]};`); + } +}); + +console.log(lines.join('\n')); + +const App: React.FC = () => { + const [likes, setLikes] = useState(0); + const [dislikes, setDislikes] = useState(0); + const [action, setAction] = useState(null); + + const like = () => { + setLikes(1); + setDislikes(0); + setAction('liked'); + }; + + const dislike = () => { + setLikes(0); + setDislikes(1); + setAction('disliked'); + }; + + const actions = [ + + + {createElement(action === 'liked' ? LikeFilled : LikeOutlined)} + {likes} + + , + + + {React.createElement(action === 'disliked' ? DislikeFilled : DislikeOutlined)} + {dislikes} + + , + Reply to, + ]; + + return ( + Han Solo} + avatar={} + content={ +

+ We supply a series of design principles, practical patterns and high quality design + resources (Sketch and Axure), to help people create their product prototypes beautifully + and efficiently. +

+ } + datetime={ + + 8 hours ago + + } + /> + ); +}; + +export default App; diff --git a/docs/examples/DatePicker.tsx b/docs/examples/DatePicker.tsx deleted file mode 100644 index 48f4ac1..0000000 --- a/docs/examples/DatePicker.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import React from 'react'; -import { DatePicker, } from '../../src'; -import { Space } from 'antd'; -const { RangePicker } = DatePicker; - -const onChange = (date, dateString) => { - console.log(date, dateString); -}; - -export default () => ( - - - - -); diff --git a/docs/examples/Mentions.tsx b/docs/examples/Mentions.tsx deleted file mode 100644 index 9ffc119..0000000 --- a/docs/examples/Mentions.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import React from 'react'; -import { Mentions } from '../../src'; -import type { OptionProps } from 'antd/es/mentions'; - -const { Option } = Mentions; - -const onChange = (value: string) => { - console.log('Change:', value); -}; - -const onSelect = (option: OptionProps) => { - console.log('select', option); -}; - -export default () => { - return ( - - - - - - ); -}; diff --git a/docs/examples/Select.tsx b/docs/examples/Select.tsx deleted file mode 100644 index c68fc07..0000000 --- a/docs/examples/Select.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; -import { Select } from '../../src'; -const { Option } = Select; - -export default () => { - const handleChange = (value: string) => { - console.log(`selected ${value}`); - }; - return ( - - ); -}; diff --git a/docs/examples/TimePicker.tsx b/docs/examples/TimePicker.tsx deleted file mode 100644 index ac48125..0000000 --- a/docs/examples/TimePicker.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; -import { TimePicker, } from '../../src'; -import type { Dayjs } from 'dayjs'; -import dayjs from 'dayjs'; -import customParseFormat from 'dayjs/plugin/customParseFormat'; -dayjs.extend(customParseFormat); - -export default () => { - const onChange = (time: Dayjs, timeString: string) => { - console.log(time, timeString); - }; - - return ( - - ); -}; diff --git a/docs/examples/TreeSelect.tsx b/docs/examples/TreeSelect.tsx deleted file mode 100644 index c482ead..0000000 --- a/docs/examples/TreeSelect.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React, { useState } from 'react'; -import { TreeSelect} from '../../src'; -const { TreeNode } = TreeSelect; - -export default () => { - const [value, setValue] = useState(undefined); - - const onChange = (newValue: string) => { - setValue(newValue); - }; - - return ( - - - - - - - - leaf3} /> - - - - ) -}; diff --git a/package.json b/package.json index 86e673a..bac05d2 100644 --- a/package.json +++ b/package.json @@ -44,11 +44,12 @@ "dayjs": "^1.11.4" }, "peerDependencies": { - "antd": "^5.0.0-experimental.18", + "antd": "^5.0.0-alpha.1", "react": ">=16.0.0", "react-dom": ">=16.0.0" }, "devDependencies": { + "@ant-design/icons": "^4.7.0", "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^13.0.0", "@types/enzyme": "^3.10.5", @@ -57,7 +58,7 @@ "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", "@umijs/fabric": "^2.5.2", - "antd": "^5.0.0-experimental.18", + "antd": "^5.0.0-alpha.1", "dumi": "^1.1.0", "eslint": "^7.18.0", "father": "^4.0.0-rc.8", diff --git a/src/AutoComplete.tsx b/src/AutoComplete.tsx deleted file mode 100644 index f23f2e7..0000000 --- a/src/AutoComplete.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import * as React from 'react'; -import { AutoComplete } from 'antd'; -import warning from 'rc-util/lib/warning'; - -type AutoCompleteProps = Parameters[0]; -type AutoCompleteRef = AutoCompleteProps['ref']; - -type CompatibleAutoCompleteProps = AutoCompleteProps & { - /** @deprecated Please use `popupClassName` instead. */ - dropdownClassName?: string; -}; - -const CompatibleAutoComplete = React.forwardRef( - ( - { dropdownClassName, popupClassName, ...restProps }: CompatibleAutoCompleteProps, - ref: AutoCompleteRef, - ) => { - warning( - !dropdownClassName, - "[antd: AutoComplete] `dropdownClassName` is removed in v5, please use `popupClassName` instead.", - ); - - return ( - - ); - }, -); - -if (process.env.NODE_ENV !== 'production') { - CompatibleAutoComplete.displayName = 'CompatibleAutoComplete'; -} - -export default CompatibleAutoComplete; diff --git a/src/Cascader.tsx b/src/Cascader.tsx deleted file mode 100644 index acb6bc9..0000000 --- a/src/Cascader.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import * as React from 'react'; -import { Cascader } from 'antd'; -import warning from 'rc-util/lib/warning'; - -type CascaderProps = Parameters[0]; -type CascaderRef = CascaderProps['ref']; - -type CompatibleCascaderProps = CascaderProps & { - /** @deprecated Please use `popupClassName` instead. */ - dropdownClassName?: string; -}; - -const CompatibleCascader = React.forwardRef( - ( - { dropdownClassName, popupClassName, ...restProps }: CompatibleCascaderProps, - ref: CascaderRef, - ) => { - warning( - !dropdownClassName, - "[antd: Cascader] `dropdownClassName` is removed in v5, please use `popupClassName` instead.", - ); - return ( - - ); - }, -); - -if (process.env.NODE_ENV !== 'production') { - CompatibleCascader.displayName = 'CompatibleCascader'; -} - -export default CompatibleCascader; diff --git a/src/DatePicker.tsx b/src/DatePicker.tsx deleted file mode 100644 index f2dfdd8..0000000 --- a/src/DatePicker.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import * as React from 'react'; -import { DatePicker } from 'antd'; - -import warning from 'rc-util/lib/warning'; - -type FCProps = Component extends React.ComponentType ? Props : never; -type InferProps = FCProps; - -type CompatibleDatePickerProps = InferProps & { - /** @deprecated Please use `popupClassName` instead. */ - dropdownClassName?: string; - popupClassName?: string; -} - -const CompatibleDatePicker = React.forwardRef( - ( - { dropdownClassName, popupClassName,...restProps }: CompatibleDatePickerProps, - ref - ) => { - warning( - !dropdownClassName, - "[antd: DatePicker] `dropdownClassName` is removed in v5, please use `popupClassName` instead.", - ); - - return ( - - ); - }, -); - - -CompatibleDatePicker.RangePicker = React.forwardRef( - ( - { dropdownClassName, popupClassName,...restProps }: CompatibleDatePickerProps, - ref - ) => { - console.log('dropdownClassName--->>>',dropdownClassName) - warning( - !dropdownClassName, - "[antd: RangePicker] `dropdownClassName` is removed in v5, please use `popupClassName` instead.", - ); - - return ( - - ); - }, -); - -if (process.env.NODE_ENV !== 'production') { - CompatibleDatePicker.displayName = 'CompatibleDatePicker'; -} - -export default CompatibleDatePicker; diff --git a/src/Mentions.tsx b/src/Mentions.tsx deleted file mode 100644 index b56dbab..0000000 --- a/src/Mentions.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import * as React from 'react'; -import { Mentions } from 'antd'; -import warning from 'rc-util/lib/warning'; - -type MentionsProps = Parameters[0]; -type MentionsRef = MentionsProps['ref']; - -type CompatibleMentionsProps = MentionsProps & { - /** @deprecated Please use `popupClassName` instead. */ - dropdownClassName?: string; -}; - -const CompatibleMentions = React.forwardRef( - ( - { dropdownClassName, popupClassName, ...restProps }: CompatibleMentionsProps, - ref: MentionsRef, - ) => { - warning( - !dropdownClassName, - "[antd: Mentions] `dropdownClassName` is removed in v5, please use `popupClassName` instead.", - ); - - return ( - - ); - }, -); - -if (process.env.NODE_ENV !== 'production') { - CompatibleMentions.displayName = 'CompatibleMentions'; -} - -export default CompatibleMentions; diff --git a/src/Select.tsx b/src/Select.tsx deleted file mode 100644 index 2301840..0000000 --- a/src/Select.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import * as React from 'react'; -import { Select } from 'antd'; -import warning from 'rc-util/lib/warning'; -import type { Option } from 'rc-select'; -type SelectProps = Parameters[0]; -type SelectRef = SelectProps['ref']; - -type CompatibleSelectProps = SelectProps& { - /** @deprecated Please use `popupClassName` instead. */ - dropdownClassName?: string; -}; - -const CompatibleSelect = React.forwardRef( - ( - { dropdownClassName, popupClassName, ...restProps }: CompatibleSelectProps, - ref: SelectRef, - ) => { - warning( - !dropdownClassName, - "[antd: Select] `dropdownClassName` is removed in v5, please use `popupClassName` instead.", - ); - - return ( - - 1 - 2 - , - ); - - expect(errSpy).toHaveBeenCalledWith( - "Warning: [antd: Select] `dropdownClassName` is removed in v5, please use `popupClassName` instead.", - ); - - // TODO: Remove this when antd release version - // expect(container.querySelector('.test')).toBeTruthy(); - - errSpy.mockRestore(); - }); -}); diff --git a/tests/TimePicker.test.tsx b/tests/TimePicker.test.tsx deleted file mode 100644 index ded5ddf..0000000 --- a/tests/TimePicker.test.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import React from 'react'; -import { TimePicker } from '../src'; -import { render } from '@testing-library/react'; - -describe('TimePicker', () => { - - - it('TimePicker dropdownClassName', async () => { - const errSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); - - const { container } = render( - , - ); - - expect(errSpy).toHaveBeenCalledWith( - "Warning: [antd: TimePicker] `dropdownClassName` is removed in v5, please use `popupClassName` instead.", - ); - - // TODO: Remove this when antd release version - // expect(container.querySelector('.test')).toBeTruthy(); - - errSpy.mockRestore(); - }); - - it('TimePicker.RangePicker dropdownClassName', async () => { - const errSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); - - const { container } = render( - , - ); - - expect(errSpy).toHaveBeenCalledWith( - "Warning: [antd: RangePicker] `dropdownClassName` is removed in v5, please use `popupClassName` instead.", - ); - - // TODO: Remove this when antd release version - // expect(container.querySelector('.test')).toBeTruthy(); - - errSpy.mockRestore(); - }); -}); diff --git a/tests/TreeSelect.test.tsx b/tests/TreeSelect.test.tsx deleted file mode 100644 index d246ec1..0000000 --- a/tests/TreeSelect.test.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from 'react'; -import { TreeSelect } from '../src'; -import { render } from '@testing-library/react'; - -describe('TreeSelect', () => { - it('dropdownClassName', async () => { - const errSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); - - const { container } = render( - , - ); - - expect(errSpy).toHaveBeenCalledWith( - "Warning: [antd: TreeSelect] `dropdownClassName` is removed in v5, please use `popupClassName` instead.", - ); - - // TODO: Remove this when antd release version - // expect(container.querySelector('.test')).toBeTruthy(); - - errSpy.mockRestore(); - }); -}); diff --git a/tests/__snapshots__/Comment.test.tsx.snap b/tests/__snapshots__/Comment.test.tsx.snap new file mode 100644 index 0000000..94f8da4 --- /dev/null +++ b/tests/__snapshots__/Comment.test.tsx.snap @@ -0,0 +1,21 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Comment work 1`] = ` +
+
+
+
+
+
+
+
+
+`;