Skip to content

Commit a2f7d6d

Browse files
authored
feat: Vue 3 Migration Build support (#5973), close #5765
closes #5765 Add `compatConfig: { MODE: 3 }` to all component definitions to signal to `@vue/compat` not to use any Vue 2 compatibility features.
1 parent b35f637 commit a2f7d6d

File tree

199 files changed

+205
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

199 files changed

+205
-0
lines changed

components/_util/ActionButton.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ function isThenable(thing?: PromiseLike<any>): boolean {
2626
}
2727

2828
export default defineComponent({
29+
compatConfig: { MODE: 3 },
2930
name: 'ActionButton',
3031
props: actionButtonProps,
3132
setup(props, { slots }) {

components/_util/BaseInput.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { defineComponent, ref, withDirectives } from 'vue';
22
import antInput from './antInputDirective';
33
import PropTypes from './vue-types';
44
const BaseInput = defineComponent({
5+
compatConfig: { MODE: 3 },
56
props: {
67
value: PropTypes.string.def(''),
78
},

components/_util/Portal.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {
1111
import { useInjectPortal } from '../vc-trigger/context';
1212

1313
export default defineComponent({
14+
compatConfig: { MODE: 3 },
1415
name: 'Portal',
1516
inheritAttrs: false,
1617
props: {

components/_util/PortalWrapper.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ const getParent = (getContainer: GetContainer) => {
4949
export type GetContainer = string | HTMLElement | (() => HTMLElement);
5050

5151
export default defineComponent({
52+
compatConfig: { MODE: 3 },
5253
name: 'PortalWrapper',
5354
inheritAttrs: false,
5455
props: {

components/_util/__mocks__/Portal.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { defineComponent } from 'vue';
22

33
export default defineComponent({
4+
compatConfig: { MODE: 3 },
45
name: 'Portal',
56
inheritAttrs: false,
67
props: ['getContainer'],

components/_util/transButton.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ const inlineStyle = {
1515
};
1616

1717
const TransButton = defineComponent({
18+
compatConfig: { MODE: 3 },
1819
name: 'TransButton',
1920
inheritAttrs: false,
2021
props: {

components/_util/wave.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ function isNotGrey(color: string) {
2121
return true;
2222
}
2323
export default defineComponent({
24+
compatConfig: { MODE: 3 },
2425
name: 'Wave',
2526
props: {
2627
insertExtraNode: Boolean,

components/affix/index.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ export type AffixExpose = {
7272

7373
export type AffixInstance = ComponentPublicInstance<AffixProps, AffixExpose>;
7474
const Affix = defineComponent({
75+
compatConfig: { MODE: 3 },
7576
name: 'AAffix',
7677
props: affixProps(),
7778
setup(props, { slots, emit, expose }) {

components/alert/index.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ export const alertProps = () => ({
6363
export type AlertProps = Partial<ExtractPropTypes<ReturnType<typeof alertProps>>>;
6464

6565
const Alert = defineComponent({
66+
compatConfig: { MODE: 3 },
6667
name: 'AAlert',
6768
inheritAttrs: false,
6869
props: alertProps(),

components/anchor/Anchor.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ export interface AnchorState {
7373
}
7474

7575
export default defineComponent({
76+
compatConfig: { MODE: 3 },
7677
name: 'AAnchor',
7778
inheritAttrs: false,
7879
props: anchorProps(),

components/anchor/AnchorLink.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export const anchorLinkProps = () => ({
1616
export type AnchorLinkProps = Partial<ExtractPropTypes<ReturnType<typeof anchorLinkProps>>>;
1717

1818
export default defineComponent({
19+
compatConfig: { MODE: 3 },
1920
name: 'AAnchorLink',
2021
props: initDefaultProps(anchorLinkProps(), { href: '#' }),
2122
slots: ['title'],

components/auto-complete/index.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export const AutoCompleteOption = Option;
3939
export const AutoCompleteOptGroup = OptGroup;
4040

4141
const AutoComplete = defineComponent({
42+
compatConfig: { MODE: 3 },
4243
name: 'AAutoComplete',
4344
inheritAttrs: false,
4445
props: autoCompleteProps(),

components/avatar/Avatar.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ export const avatarProps = () => ({
3737
export type AvatarProps = Partial<ExtractPropTypes<ReturnType<typeof avatarProps>>>;
3838

3939
const Avatar = defineComponent({
40+
compatConfig: { MODE: 3 },
4041
name: 'AAvatar',
4142
inheritAttrs: false,
4243
props: avatarProps(),

components/avatar/Group.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ export const groupProps = () => ({
2727
export type AvatarGroupProps = Partial<ExtractPropTypes<ReturnType<typeof groupProps>>>;
2828

2929
const Group = defineComponent({
30+
compatConfig: { MODE: 3 },
3031
name: 'AAvatarGroup',
3132
inheritAttrs: false,
3233
props: groupProps(),

components/back-top/index.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ export const backTopProps = () => ({
3232
export type BackTopProps = Partial<ExtractPropTypes<typeof backTopProps>>;
3333

3434
const BackTop = defineComponent({
35+
compatConfig: { MODE: 3 },
3536
name: 'ABackTop',
3637
inheritAttrs: false,
3738
props: backTopProps(),

components/badge/Badge.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ export const badgeProps = () => ({
3434
export type BadgeProps = Partial<ExtractPropTypes<ReturnType<typeof badgeProps>>>;
3535

3636
export default defineComponent({
37+
compatConfig: { MODE: 3 },
3738
name: 'ABadge',
3839
Ribbon,
3940
inheritAttrs: false,

components/badge/Ribbon.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export const ribbonProps = () => ({
1616
export type RibbonProps = Partial<ExtractPropTypes<ReturnType<typeof ribbonProps>>>;
1717

1818
export default defineComponent({
19+
compatConfig: { MODE: 3 },
1920
name: 'ABadgeRibbon',
2021
inheritAttrs: false,
2122
props: ribbonProps(),

components/badge/ScrollNumber.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ const scrollNumberProps = {
1818
export type ScrollNumberProps = Partial<ExtractPropTypes<typeof scrollNumberProps>>;
1919

2020
export default defineComponent({
21+
compatConfig: { MODE: 3 },
2122
name: 'ScrollNumber',
2223
inheritAttrs: false,
2324
props: scrollNumberProps,

components/badge/SingleNumber.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ function getOffset(start: number, end: number, unit: -1 | 1) {
4545
}
4646

4747
export default defineComponent({
48+
compatConfig: { MODE: 3 },
4849
name: 'SingleNumber',
4950
props: {
5051
prefixCls: String,

components/breadcrumb/Breadcrumb.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ function defaultItemRender(opt: {
5252
}
5353

5454
export default defineComponent({
55+
compatConfig: { MODE: 3 },
5556
name: 'ABreadcrumb',
5657
props: breadcrumbProps(),
5758
slots: ['separator', 'itemRender'],

components/breadcrumb/BreadcrumbItem.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export const breadcrumbItemProps = () => ({
1717

1818
export type BreadcrumbItemProps = Partial<ExtractPropTypes<ReturnType<typeof breadcrumbItemProps>>>;
1919
export default defineComponent({
20+
compatConfig: { MODE: 3 },
2021
name: 'ABreadcrumbItem',
2122
inheritAttrs: false,
2223
__ANT_BREADCRUMB_ITEM: true,

components/breadcrumb/BreadcrumbSeparator.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ export type BreadcrumbSeparatorProps = Partial<
1111
>;
1212

1313
export default defineComponent({
14+
compatConfig: { MODE: 3 },
1415
name: 'ABreadcrumbSeparator',
1516
__ANT_BREADCRUMB_SEPARATOR: true,
1617
inheritAttrs: false,

components/button/LoadingIcon.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ const resetStyle = (node: HTMLSpanElement) => {
2525
}
2626
};
2727
export default defineComponent({
28+
compatConfig: { MODE: 3 },
2829
name: 'LoadingIcon',
2930
props: {
3031
prefixCls: String,

components/button/button-group.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export const buttonGroupProps = () => ({
1616
export type ButtonGroupProps = Partial<ExtractPropTypes<ReturnType<typeof buttonGroupProps>>>;
1717

1818
export default defineComponent({
19+
compatConfig: { MODE: 3 },
1920
name: 'AButtonGroup',
2021
props: buttonGroupProps(),
2122
setup(props, { slots }) {

components/button/button.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ function isUnborderedButtonType(type: ButtonType | undefined) {
2929
}
3030
export { buttonProps };
3131
export default defineComponent({
32+
compatConfig: { MODE: 3 },
3233
name: 'AButton',
3334
inheritAttrs: false,
3435
__ANT_BUTTON: true,

components/card/Card.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export const cardProps = () => ({
4949
export type CardProps = Partial<ExtractPropTypes<ReturnType<typeof cardProps>>>;
5050

5151
const Card = defineComponent({
52+
compatConfig: { MODE: 3 },
5253
name: 'ACard',
5354
props: cardProps(),
5455
slots: ['title', 'extra', 'tabBarExtraContent', 'actions', 'cover', 'customTab'],

components/card/Grid.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ export const cardGridProps = () => ({
88
});
99
export type CardGridProps = Partial<ExtractPropTypes<ReturnType<typeof cardGridProps>>>;
1010
export default defineComponent({
11+
compatConfig: { MODE: 3 },
1112
name: 'ACardGrid',
1213
__ANT_CARD_GRID: true,
1314
props: cardGridProps(),

components/card/Meta.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export const cardMetaProps = () => ({
1212
});
1313
export type CardGridProps = Partial<ExtractPropTypes<ReturnType<typeof cardMetaProps>>>;
1414
export default defineComponent({
15+
compatConfig: { MODE: 3 },
1516
name: 'ACardMeta',
1617
props: cardMetaProps(),
1718
slots: ['title', 'description', 'avatar'],

components/carousel/index.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ export const carouselProps = () => ({
7070
});
7171
export type CarouselProps = Partial<ExtractPropTypes<ReturnType<typeof carouselProps>>>;
7272
const Carousel = defineComponent({
73+
compatConfig: { MODE: 3 },
7374
name: 'ACarousel',
7475
inheritAttrs: false,
7576
props: carouselProps(),

components/cascader/index.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ export interface CascaderRef {
112112
}
113113

114114
const Cascader = defineComponent({
115+
compatConfig: { MODE: 3 },
115116
name: 'ACascader',
116117
inheritAttrs: false,
117118
props: initDefaultProps(cascaderProps(), {

components/checkbox/Checkbox.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import type { CheckboxChangeEvent, CheckboxProps } from './interface';
1212
import { CheckboxGroupContextKey, checkboxProps } from './interface';
1313

1414
export default defineComponent({
15+
compatConfig: { MODE: 3 },
1516
name: 'ACheckbox',
1617
inheritAttrs: false,
1718
__ANT_CHECKBOX: true,

components/checkbox/Group.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import type { CheckboxOptionType } from './interface';
66
import { CheckboxGroupContextKey, checkboxGroupProps } from './interface';
77

88
export default defineComponent({
9+
compatConfig: { MODE: 3 },
910
name: 'ACheckboxGroup',
1011
props: checkboxGroupProps(),
1112
// emits: ['change', 'update:value'],

components/collapse/Collapse.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ function getActiveKeysArray(activeKey: Key | Key[]) {
3131
export { collapseProps };
3232
export type CollapseProps = Partial<ExtractPropTypes<ReturnType<typeof collapseProps>>>;
3333
export default defineComponent({
34+
compatConfig: { MODE: 3 },
3435
name: 'ACollapse',
3536
inheritAttrs: false,
3637
props: initDefaultProps(collapseProps(), {

components/collapse/CollapsePanel.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import useConfigInject from '../_util/hooks/useConfigInject';
1111
export { collapsePanelProps };
1212
export type CollapsePanelProps = Partial<ExtractPropTypes<ReturnType<typeof collapsePanelProps>>>;
1313
export default defineComponent({
14+
compatConfig: { MODE: 3 },
1415
name: 'ACollapsePanel',
1516
inheritAttrs: false,
1617
props: initDefaultProps(collapsePanelProps(), {

components/collapse/PanelContent.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { collapsePanelProps } from './commonProps';
33
import classNames from '../_util/classNames';
44

55
export default defineComponent({
6+
compatConfig: { MODE: 3 },
67
name: 'PanelContent',
78
props: collapsePanelProps(),
89
setup(props, { slots }) {

components/comment/index.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export const commentProps = () => ({
2222
export type CommentProps = Partial<ExtractPropTypes<ReturnType<typeof commentProps>>>;
2323

2424
const Comment = defineComponent({
25+
compatConfig: { MODE: 3 },
2526
name: 'AComment',
2627
props: commentProps(),
2728
slots: ['actions', 'author', 'avatar', 'content', 'datetime'],

components/config-provider/index.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ export const globalConfig = () => ({
105105
});
106106

107107
const ConfigProvider = defineComponent({
108+
compatConfig: { MODE: 3 },
108109
name: 'AConfigProvider',
109110
inheritAttrs: false,
110111
props: configProviderProps(),

components/date-picker/generatePicker/generateRangePicker.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export default function generateRangePicker<DateType, ExtraProps = {}>(
2424
extraProps: ExtraProps,
2525
) {
2626
const RangePicker = defineComponent({
27+
compatConfig: { MODE: 3 },
2728
name: 'ARangePicker',
2829
inheritAttrs: false,
2930
props: {

components/date-picker/generatePicker/generateSinglePicker.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export default function generateSinglePicker<DateType, ExtraProps = {}>(
2828
...extraProps,
2929
};
3030
return defineComponent({
31+
compatConfig: { MODE: 3 },
3132
name: displayName,
3233
inheritAttrs: false,
3334
props: comProps,

components/descriptions/index.tsx

+2
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ export type DescriptionsItemProp = Partial<
4646
>;
4747

4848
export const DescriptionsItem = defineComponent({
49+
compatConfig: { MODE: 3 },
4950
name: 'ADescriptionsItem',
5051
props: descriptionsItemProp(),
5152
slots: ['label'],
@@ -157,6 +158,7 @@ export const descriptionsContext: InjectionKey<DescriptionsContextProp> =
157158
Symbol('descriptionsContext');
158159

159160
const Descriptions = defineComponent({
161+
compatConfig: { MODE: 3 },
160162
name: 'ADescriptions',
161163
props: descriptionsProps(),
162164
slots: ['title', 'extra'],

components/divider/index.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ export const dividerProps = () => ({
2727
export type DividerProps = Partial<ExtractPropTypes<ReturnType<typeof dividerProps>>>;
2828

2929
const Divider = defineComponent({
30+
compatConfig: { MODE: 3 },
3031
name: 'ADivider',
3132
props: dividerProps(),
3233
setup(props, { slots }) {

components/drawer/index.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ export const drawerProps = () => ({
9090
export type DrawerProps = Partial<ExtractPropTypes<ReturnType<typeof drawerProps>>>;
9191

9292
const Drawer = defineComponent({
93+
compatConfig: { MODE: 3 },
9394
name: 'ADrawer',
9495
inheritAttrs: false,
9596
props: initDefaultProps(drawerProps(), {

components/dropdown/dropdown-button.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ const ButtonGroup = Button.Group;
1212
export type DropdownButtonProps = Partial<ExtractPropTypes<ReturnType<typeof dropdownButtonProps>>>;
1313

1414
export default defineComponent({
15+
compatConfig: { MODE: 3 },
1516
name: 'ADropdownButton',
1617
inheritAttrs: false,
1718
__ANT_BUTTON: true,

components/dropdown/dropdown.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import getPlacements from '../tooltip/placements';
1515
export type DropdownProps = Partial<ExtractPropTypes<ReturnType<typeof dropdownProps>>>;
1616

1717
const Dropdown = defineComponent({
18+
compatConfig: { MODE: 3 },
1819
name: 'ADropdown',
1920
inheritAttrs: false,
2021
props: initDefaultProps(dropdownProps(), {

components/form/ErrorList.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ export interface ErrorListProps {
1414
}
1515

1616
export default defineComponent({
17+
compatConfig: { MODE: 3 },
1718
name: 'ErrorList',
1819
props: ['errors', 'help', 'onDomErrorVisibleChange', 'helpStatus', 'warnings'],
1920
setup(props) {

components/form/Form.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ function isEqualName(name1: NamePath, name2: NamePath) {
9999
}
100100

101101
const Form = defineComponent({
102+
compatConfig: { MODE: 3 },
102103
name: 'AForm',
103104
inheritAttrs: false,
104105
props: initDefaultProps(formProps(), {

components/form/FormItem.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ let indexGuid = 0;
122122
const defaultItemNamePrefixCls = 'form_item';
123123

124124
export default defineComponent({
125+
compatConfig: { MODE: 3 },
125126
name: 'AFormItem',
126127
inheritAttrs: false,
127128
__ANT_NEW_FORM_ITEM: true,

components/form/FormItemContext.ts

+1
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ export const useInjectFormItemContext = () => {
9494
};
9595

9696
export default defineComponent({
97+
compatConfig: { MODE: 3 },
9798
name: 'AFormItemRest',
9899
setup(_, { slots }) {
99100
provide(InternalContextKey, defaultInternalContext);

components/form/FormItemInput.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ const iconMap: { [key: string]: any } = {
3434
validating: LoadingOutlined,
3535
};
3636
const FormItemInput = defineComponent({
37+
compatConfig: { MODE: 3 },
3738
slots: ['help', 'extra', 'errors'],
3839
inheritAttrs: false,
3940
props: [

0 commit comments

Comments
 (0)