pro-design-vue 0.0.1-beta.3 → 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/README.md +5 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +96 -22
  4. package/dist/index.full.min.js +8 -8
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +8 -8
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +92 -19
  9. package/es/components/button/index.d.ts +83 -8
  10. package/es/components/button/src/Button.d.ts +84 -9
  11. package/es/components/button/src/Button.mjs +39 -7
  12. package/es/components/button/src/Button.mjs.map +1 -1
  13. package/es/components/form/src/Form.d.ts +49 -470
  14. package/es/components/form/src/base/BaseForm.d.ts +49 -470
  15. package/es/components/form/src/base/StepForm.d.ts +49 -470
  16. package/es/components/form/src/fields/FieldDigitRange.mjs +1 -1
  17. package/es/components/form/src/layouts/DrawerForm.d.ts +49 -470
  18. package/es/components/form/src/layouts/ModalForm.d.ts +49 -470
  19. package/es/components/form/src/layouts/QueryFilter.d.ts +50 -470
  20. package/es/components/form/src/layouts/StepsForm.d.ts +49 -470
  21. package/es/components/form/src/props.d.ts +147 -961
  22. package/es/components/form/src/props.mjs +43 -4
  23. package/es/components/form/src/props.mjs.map +1 -1
  24. package/es/components/layout/src/layout.vue2.mjs +1 -1
  25. package/es/components/layout/src/layout.vue2.mjs.map +1 -1
  26. package/es/components/layout/src/typing.d.ts +3 -1
  27. package/es/components/page/src/page.vue2.mjs +7 -5
  28. package/es/components/page/src/page.vue2.mjs.map +1 -1
  29. package/es/components/table/src/components/AutoHeightHeader/Header.vue.d.ts +83 -8
  30. package/es/components/table/src/components/AutoHeightHeader/HeaderRow.vue.d.ts +83 -8
  31. package/es/components/table/src/components/Body/BodyRow.vue.mjs +3 -3
  32. package/es/components/table/src/components/Filter/FilterDropdown.vue.d.ts +83 -8
  33. package/es/components/table/src/components/Header/Header.vue.d.ts +83 -8
  34. package/es/components/table/src/components/Header/HeaderCell.vue.d.ts +83 -8
  35. package/es/components/table/src/components/Header/HeaderRows.vue.d.ts +83 -8
  36. package/es/components/table/src/components/Header/HeaderRowsWrap.vue.d.ts +83 -8
  37. package/es/components/table/src/components/InteralTable.vue.d.ts +166 -16
  38. package/es/index.d.ts +447 -3336
  39. package/es/version.d.ts +1 -1
  40. package/es/version.mjs +1 -1
  41. package/es/version.mjs.map +1 -1
  42. package/lib/components/button/index.d.ts +83 -8
  43. package/lib/components/button/src/Button.d.ts +84 -9
  44. package/lib/components/button/src/Button.js +38 -6
  45. package/lib/components/button/src/Button.js.map +1 -1
  46. package/lib/components/form/src/Form.d.ts +49 -470
  47. package/lib/components/form/src/base/BaseForm.d.ts +49 -470
  48. package/lib/components/form/src/base/StepForm.d.ts +49 -470
  49. package/lib/components/form/src/fields/FieldDigitRange.js +1 -1
  50. package/lib/components/form/src/layouts/DrawerForm.d.ts +49 -470
  51. package/lib/components/form/src/layouts/ModalForm.d.ts +49 -470
  52. package/lib/components/form/src/layouts/QueryFilter.d.ts +50 -470
  53. package/lib/components/form/src/layouts/StepsForm.d.ts +49 -470
  54. package/lib/components/form/src/props.d.ts +147 -961
  55. package/lib/components/form/src/props.js +43 -3
  56. package/lib/components/form/src/props.js.map +1 -1
  57. package/lib/components/layout/src/layout.vue2.js +1 -1
  58. package/lib/components/layout/src/layout.vue2.js.map +1 -1
  59. package/lib/components/layout/src/typing.d.ts +3 -1
  60. package/lib/components/page/src/page.vue2.js +7 -5
  61. package/lib/components/page/src/page.vue2.js.map +1 -1
  62. package/lib/components/table/src/components/AutoHeightHeader/Header.vue.d.ts +83 -8
  63. package/lib/components/table/src/components/AutoHeightHeader/HeaderRow.vue.d.ts +83 -8
  64. package/lib/components/table/src/components/Body/BodyRow.vue.js +3 -3
  65. package/lib/components/table/src/components/Filter/FilterDropdown.vue.d.ts +83 -8
  66. package/lib/components/table/src/components/Header/Header.vue.d.ts +83 -8
  67. package/lib/components/table/src/components/Header/HeaderCell.vue.d.ts +83 -8
  68. package/lib/components/table/src/components/Header/HeaderRows.vue.d.ts +83 -8
  69. package/lib/components/table/src/components/Header/HeaderRowsWrap.vue.d.ts +83 -8
  70. package/lib/components/table/src/components/InteralTable.vue.d.ts +166 -16
  71. package/lib/index.d.ts +447 -3336
  72. package/lib/version.d.ts +1 -1
  73. package/lib/version.js +1 -1
  74. package/lib/version.js.map +1 -1
  75. package/package.json +6 -6
  76. package/theme-chalk/index.css +1 -1
  77. package/theme-chalk/pro-page.css +1 -1
  78. package/theme-chalk/src/page.less +4 -4
package/es/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.0.1-beta.3";
1
+ export declare const version = "1.0.0-beta.1";
package/es/version.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const version = "0.0.1-beta.3";
1
+ const version = "1.0.0-beta.1";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../packages/pro-design-vue/version.ts"],"sourcesContent":["export const version = '0.0.1-beta.3'\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../packages/pro-design-vue/version.ts"],"sourcesContent":["export const version = '1.0.0-beta.1'\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
@@ -1,4 +1,42 @@
1
1
  export declare const ProButton: import("pro-design-vue/es/utils").SFCWithInstall<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["type"]>;
3
+ htmlType: {
4
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["htmlType"]>;
5
+ default: string;
6
+ };
7
+ shape: {
8
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["shape"]>;
9
+ };
10
+ size: {
11
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["size"]>;
12
+ };
13
+ loading: {
14
+ type: import("vue").PropType<boolean | {
15
+ delay?: number;
16
+ }>;
17
+ default: () => boolean | {
18
+ delay?: number;
19
+ };
20
+ };
21
+ disabled: {
22
+ type: BooleanConstructor;
23
+ default: undefined;
24
+ };
25
+ ghost: {
26
+ type: BooleanConstructor;
27
+ default: undefined;
28
+ };
29
+ block: {
30
+ type: BooleanConstructor;
31
+ default: undefined;
32
+ };
33
+ danger: {
34
+ type: BooleanConstructor;
35
+ default: undefined;
36
+ };
37
+ href: StringConstructor;
38
+ target: StringConstructor;
39
+ title: StringConstructor;
2
40
  mode: {
3
41
  type: import("vue").PropType<"default" | "popconfirm" | "confirm" | "dropdown">;
4
42
  default: string;
@@ -24,10 +62,6 @@ export declare const ProButton: import("pro-design-vue/es/utils").SFCWithInstall
24
62
  type?: "danger" | "warning";
25
63
  }>;
26
64
  };
27
- disabled: {
28
- type: BooleanConstructor;
29
- default: boolean;
30
- };
31
65
  icon: {
32
66
  type: StringConstructor;
33
67
  default: string;
@@ -48,6 +82,44 @@ export declare const ProButton: import("pro-design-vue/es/utils").SFCWithInstall
48
82
  onCancel: import("vue").PropType<(e: MouseEvent) => void>;
49
83
  onMenuClick: import("vue").PropType<import("ant-design-vue").MenuProps["onClick"]>;
50
84
  }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("cancel" | "click" | "confirm" | "menu-click")[], "cancel" | "click" | "confirm" | "menu-click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
85
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["type"]>;
86
+ htmlType: {
87
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["htmlType"]>;
88
+ default: string;
89
+ };
90
+ shape: {
91
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["shape"]>;
92
+ };
93
+ size: {
94
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["size"]>;
95
+ };
96
+ loading: {
97
+ type: import("vue").PropType<boolean | {
98
+ delay?: number;
99
+ }>;
100
+ default: () => boolean | {
101
+ delay?: number;
102
+ };
103
+ };
104
+ disabled: {
105
+ type: BooleanConstructor;
106
+ default: undefined;
107
+ };
108
+ ghost: {
109
+ type: BooleanConstructor;
110
+ default: undefined;
111
+ };
112
+ block: {
113
+ type: BooleanConstructor;
114
+ default: undefined;
115
+ };
116
+ danger: {
117
+ type: BooleanConstructor;
118
+ default: undefined;
119
+ };
120
+ href: StringConstructor;
121
+ target: StringConstructor;
122
+ title: StringConstructor;
51
123
  mode: {
52
124
  type: import("vue").PropType<"default" | "popconfirm" | "confirm" | "dropdown">;
53
125
  default: string;
@@ -73,10 +145,6 @@ export declare const ProButton: import("pro-design-vue/es/utils").SFCWithInstall
73
145
  type?: "danger" | "warning";
74
146
  }>;
75
147
  };
76
- disabled: {
77
- type: BooleanConstructor;
78
- default: boolean;
79
- };
80
148
  icon: {
81
149
  type: StringConstructor;
82
150
  default: string;
@@ -102,8 +170,15 @@ export declare const ProButton: import("pro-design-vue/es/utils").SFCWithInstall
102
170
  onConfirm?: ((...args: any[]) => any) | undefined;
103
171
  "onMenu-click"?: ((...args: any[]) => any) | undefined;
104
172
  }>, {
173
+ danger: boolean;
105
174
  icon: string;
175
+ htmlType: import("ant-design-vue/es/button/buttonTypes").ButtonHTMLType | undefined;
176
+ loading: boolean | {
177
+ delay?: number;
178
+ };
106
179
  disabled: boolean;
180
+ ghost: boolean;
181
+ block: boolean;
107
182
  mode: "default" | "popconfirm" | "confirm" | "dropdown";
108
183
  items: import("ant-design-vue").ItemType[];
109
184
  tooltip: string;
@@ -1,7 +1,45 @@
1
1
  import { type PropType, type CSSProperties } from 'vue';
2
- import { type TooltipProps, type PopconfirmProps, type DropdownProps, type MenuProps, type ItemType, type ModalFuncProps } from 'ant-design-vue';
2
+ import { type TooltipProps, type PopconfirmProps, type DropdownProps, type MenuProps, type ItemType, type ModalFuncProps, type ButtonProps } from 'ant-design-vue';
3
3
  type ConfirmType = 'danger' | 'warning';
4
4
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
+ type: PropType<ButtonProps["type"]>;
6
+ htmlType: {
7
+ type: PropType<ButtonProps["htmlType"]>;
8
+ default: string;
9
+ };
10
+ shape: {
11
+ type: PropType<ButtonProps["shape"]>;
12
+ };
13
+ size: {
14
+ type: PropType<ButtonProps["size"]>;
15
+ };
16
+ loading: {
17
+ type: PropType<boolean | {
18
+ delay?: number;
19
+ }>;
20
+ default: () => boolean | {
21
+ delay?: number;
22
+ };
23
+ };
24
+ disabled: {
25
+ type: BooleanConstructor;
26
+ default: undefined;
27
+ };
28
+ ghost: {
29
+ type: BooleanConstructor;
30
+ default: undefined;
31
+ };
32
+ block: {
33
+ type: BooleanConstructor;
34
+ default: undefined;
35
+ };
36
+ danger: {
37
+ type: BooleanConstructor;
38
+ default: undefined;
39
+ };
40
+ href: StringConstructor;
41
+ target: StringConstructor;
42
+ title: StringConstructor;
5
43
  mode: {
6
44
  type: PropType<"default" | "popconfirm" | "confirm" | "dropdown">;
7
45
  default: string;
@@ -27,10 +65,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
27
65
  type?: ConfirmType;
28
66
  }>;
29
67
  };
30
- disabled: {
31
- type: BooleanConstructor;
32
- default: boolean;
33
- };
34
68
  icon: {
35
69
  type: StringConstructor;
36
70
  default: string;
@@ -51,6 +85,44 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
51
85
  onCancel: PropType<(e: MouseEvent) => void>;
52
86
  onMenuClick: PropType<MenuProps["onClick"]>;
53
87
  }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("cancel" | "click" | "confirm" | "menu-click")[], "cancel" | "click" | "confirm" | "menu-click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
88
+ type: PropType<ButtonProps["type"]>;
89
+ htmlType: {
90
+ type: PropType<ButtonProps["htmlType"]>;
91
+ default: string;
92
+ };
93
+ shape: {
94
+ type: PropType<ButtonProps["shape"]>;
95
+ };
96
+ size: {
97
+ type: PropType<ButtonProps["size"]>;
98
+ };
99
+ loading: {
100
+ type: PropType<boolean | {
101
+ delay?: number;
102
+ }>;
103
+ default: () => boolean | {
104
+ delay?: number;
105
+ };
106
+ };
107
+ disabled: {
108
+ type: BooleanConstructor;
109
+ default: undefined;
110
+ };
111
+ ghost: {
112
+ type: BooleanConstructor;
113
+ default: undefined;
114
+ };
115
+ block: {
116
+ type: BooleanConstructor;
117
+ default: undefined;
118
+ };
119
+ danger: {
120
+ type: BooleanConstructor;
121
+ default: undefined;
122
+ };
123
+ href: StringConstructor;
124
+ target: StringConstructor;
125
+ title: StringConstructor;
54
126
  mode: {
55
127
  type: PropType<"default" | "popconfirm" | "confirm" | "dropdown">;
56
128
  default: string;
@@ -76,10 +148,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
76
148
  type?: ConfirmType;
77
149
  }>;
78
150
  };
79
- disabled: {
80
- type: BooleanConstructor;
81
- default: boolean;
82
- };
83
151
  icon: {
84
152
  type: StringConstructor;
85
153
  default: string;
@@ -105,8 +173,15 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
105
173
  onConfirm?: ((...args: any[]) => any) | undefined;
106
174
  "onMenu-click"?: ((...args: any[]) => any) | undefined;
107
175
  }>, {
176
+ danger: boolean;
108
177
  icon: string;
178
+ htmlType: import("ant-design-vue/es/button/buttonTypes").ButtonHTMLType | undefined;
179
+ loading: boolean | {
180
+ delay?: number;
181
+ };
109
182
  disabled: boolean;
183
+ ghost: boolean;
184
+ block: boolean;
110
185
  mode: "default" | "popconfirm" | "confirm" | "dropdown";
111
186
  items: ItemType[];
112
187
  tooltip: string;
@@ -6,6 +6,7 @@ var vue = require('vue');
6
6
  var antDesignVue = require('ant-design-vue');
7
7
  var index$1 = require('../../icon/index.js');
8
8
  var index = require('../../../hooks/use-prefix-cls/index.js');
9
+ var omit = require('../../../utils/omit.js');
9
10
  var confirm = require('../../../utils/antd/confirm.js');
10
11
  var vnode = require('../../../utils/vnode.js');
11
12
 
@@ -16,6 +17,40 @@ var Button = /* @__PURE__ */ vue.defineComponent({
16
17
  name: "ProButton",
17
18
  inheritAttrs: false,
18
19
  props: {
20
+ type: String,
21
+ htmlType: {
22
+ type: String,
23
+ default: "button"
24
+ },
25
+ shape: {
26
+ type: String
27
+ },
28
+ size: {
29
+ type: String
30
+ },
31
+ loading: {
32
+ type: [Boolean, Object],
33
+ default: () => false
34
+ },
35
+ disabled: {
36
+ type: Boolean,
37
+ default: void 0
38
+ },
39
+ ghost: {
40
+ type: Boolean,
41
+ default: void 0
42
+ },
43
+ block: {
44
+ type: Boolean,
45
+ default: void 0
46
+ },
47
+ danger: {
48
+ type: Boolean,
49
+ default: void 0
50
+ },
51
+ href: String,
52
+ target: String,
53
+ title: String,
19
54
  mode: {
20
55
  type: String,
21
56
  default: "default"
@@ -39,10 +74,6 @@ var Button = /* @__PURE__ */ vue.defineComponent({
39
74
  confirmProps: {
40
75
  type: Object
41
76
  },
42
- disabled: {
43
- type: Boolean,
44
- default: false
45
- },
46
77
  icon: {
47
78
  type: String,
48
79
  default: ""
@@ -59,6 +90,7 @@ var Button = /* @__PURE__ */ vue.defineComponent({
59
90
  default: () => []
60
91
  },
61
92
  onClick: Function,
93
+ // onMousedown: Function as PropType<(e: MouseEvent) => void>,
62
94
  onConfirm: Function,
63
95
  onCancel: Function,
64
96
  onMenuClick: Function
@@ -79,6 +111,7 @@ var Button = /* @__PURE__ */ vue.defineComponent({
79
111
  }
80
112
  return void 0;
81
113
  };
114
+ const buttonProps = vue.computed(() => omit.omit(props, ["items", "permission", "iconStyle", "icon", "confirmProps", "popconfirmProps", "menuProps", "dropdownProps", "tooltipProps", "tooltip", "mode", "onConfirm", "onClick", "onCancel", "onMenuClick"]));
82
115
  const onClick = (e) => {
83
116
  var _a, _b, _c, _d, _e;
84
117
  if (props.mode === "default") {
@@ -111,8 +144,7 @@ var Button = /* @__PURE__ */ vue.defineComponent({
111
144
  "icon": props.icon
112
145
  }, null)]);
113
146
  }
114
- let defaultDom = vue.createVNode(antDesignVue.Button, vue.mergeProps(attrs, {
115
- "disabled": props.disabled,
147
+ let defaultDom = vue.createVNode(antDesignVue.Button, vue.mergeProps(attrs, buttonProps.value, {
116
148
  "class": prefixCls,
117
149
  "onClick": props.mode === "popconfirm" || props.mode === "dropdown" ? void 0 : onClick
118
150
  }), {
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../../../../../packages/components/button/src/Button.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2024-03-09 11:41:13\n * @LastEditors: shen\n * @LastEditTime: 2025-08-26 20:54:53\n * @Description:\n */\nimport { type PropType, defineComponent, type CSSProperties, type VNode } from 'vue'\nimport {\n Button,\n Tooltip,\n type TooltipProps,\n Popconfirm,\n type PopconfirmProps,\n Dropdown,\n type DropdownProps,\n Menu,\n type MenuProps,\n type ItemType,\n type ModalFuncProps,\n} from 'ant-design-vue'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { confirm, ensureValidVNode } from '@pro-design-vue/utils'\nimport { ProIcon } from '@pro-design-vue/components/icon'\ntype ConfirmType = 'danger' | 'warning'\nexport default defineComponent({\n name: 'ProButton',\n inheritAttrs: false,\n props: {\n mode: {\n type: String as PropType<'default' | 'popconfirm' | 'confirm' | 'dropdown'>,\n default: 'default',\n },\n tooltip: {\n type: String,\n default: '',\n },\n tooltipProps: {\n type: Object as PropType<TooltipProps>,\n },\n dropdownProps: {\n type: Object as PropType<DropdownProps>,\n },\n menuProps: {\n type: Object as PropType<Omit<MenuProps, 'onClick' | 'items'>>,\n },\n popconfirmProps: {\n type: Object as PropType<Omit<PopconfirmProps, 'onConfirm' | 'onCancel'>>,\n },\n confirmProps: {\n type: Object as PropType<\n Omit<ModalFuncProps, 'type' | 'onCancel' | 'onOk'> & { type?: ConfirmType }\n >,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n icon: {\n type: String,\n default: '',\n },\n iconStyle: {\n type: Object as PropType<CSSProperties>,\n },\n permission: {\n type: String,\n default: '',\n },\n items: {\n type: Array as PropType<ItemType[]>,\n default: () => [],\n },\n onClick: Function as PropType<(e: MouseEvent) => void>,\n onConfirm: Function as PropType<(e: MouseEvent) => void>,\n onCancel: Function as PropType<(e: MouseEvent) => void>,\n onMenuClick: Function as PropType<MenuProps['onClick']>,\n },\n emits: ['confirm', 'click', 'cancel', 'menu-click'],\n setup(props, { attrs, slots }) {\n const prefixCls = usePrefixCls('button')\n\n const renderConfirmContent = (key: string) => {\n if (slots[key]) {\n const vnodes = slots[key]?.()\n if (ensureValidVNode(vnodes)) {\n return vnodes\n }\n }\n return undefined\n }\n\n const onClick = (e: MouseEvent) => {\n if (props.mode === 'default') {\n props.onClick?.(e)\n return\n }\n\n if (props.mode === 'confirm') {\n confirm({\n ...props.confirmProps,\n content:\n renderConfirmContent(props.confirmProps?.content as string) ||\n props.confirmProps?.content,\n title:\n renderConfirmContent(props.confirmProps?.title as string) || props.confirmProps?.title,\n onCancel() {\n return props.onCancel?.()\n },\n onOk() {\n return props.onConfirm?.()\n },\n })\n }\n }\n\n return () => {\n let icon: VNode | null = null\n if (slots.icon || props.icon) {\n icon = (\n <span class=\"anticon\" style={props.iconStyle}>\n {slots.icon ? slots.icon() : <ProIcon icon={props.icon} />}\n </span>\n )\n }\n let defaultDom = (\n <Button\n {...attrs}\n disabled={props.disabled}\n class={prefixCls}\n v-slots={{\n icon: () => icon,\n }}\n onClick={props.mode === 'popconfirm' || props.mode === 'dropdown' ? undefined : onClick}\n >\n {slots.default?.()}\n </Button>\n )\n\n if (props.disabled) {\n return defaultDom\n }\n\n if (props.tooltip) {\n defaultDom = (\n <Tooltip {...props.tooltipProps} title={props.tooltip}>\n {defaultDom}\n </Tooltip>\n )\n }\n\n if (props.mode === 'popconfirm') {\n return (\n <Popconfirm\n {...props.popconfirmProps}\n onConfirm={props.onConfirm}\n onCancel={props.onCancel}\n >\n {defaultDom}\n </Popconfirm>\n )\n }\n\n if (props.mode === 'dropdown') {\n return (\n <Dropdown\n {...props.dropdownProps}\n v-slots={{\n overlay: () => (\n <Menu {...props.menuProps} items={props.items} onClick={props.onMenuClick} />\n ),\n }}\n >\n {defaultDom}\n </Dropdown>\n )\n }\n\n return defaultDom\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","inheritAttrs","props","mode","type","String","default","tooltip","tooltipProps","dropdownProps","menuProps","popconfirmProps","confirmProps","disabled","Boolean","icon","iconStyle","permission","items","Array","onClick","Function","onConfirm","onCancel","onMenuClick","emits","setup","attrs","slots","prefixCls","usePrefixCls","renderConfirmContent","key","vnodes","ensureValidVNode","undefined","e","confirm","content","title","_a","onOk","_createVNode","ProIcon","defaultDom","Button","_mergeProps","_defaultDom","Tooltip","Popconfirm","Dropdown","overlay","Menu"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","sources":["../../../../../../packages/components/button/src/Button.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2024-03-09 11:41:13\n * @LastEditors: shen\n * @LastEditTime: 2025-09-07 23:38:12\n * @Description:\n */\nimport { type PropType, defineComponent, type CSSProperties, type VNode, computed } from 'vue'\nimport {\n Button,\n Tooltip,\n type TooltipProps,\n Popconfirm,\n type PopconfirmProps,\n Dropdown,\n type DropdownProps,\n Menu,\n type MenuProps,\n type ItemType,\n type ModalFuncProps,\n type ButtonProps,\n} from 'ant-design-vue'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { confirm, ensureValidVNode, omit } from '@pro-design-vue/utils'\nimport { ProIcon } from '@pro-design-vue/components/icon'\ntype ConfirmType = 'danger' | 'warning'\nexport default defineComponent({\n name: 'ProButton',\n inheritAttrs: false,\n props: {\n type: String as PropType<ButtonProps['type']>,\n htmlType: { type: String as PropType<ButtonProps['htmlType']>, default: 'button' },\n shape: { type: String as PropType<ButtonProps['shape']> },\n size: {\n type: String as PropType<ButtonProps['size']>,\n },\n loading: {\n type: [Boolean, Object] as PropType<boolean | { delay?: number }>,\n default: (): boolean | { delay?: number } => false,\n },\n disabled: { type: Boolean, default: undefined },\n ghost: { type: Boolean, default: undefined },\n block: { type: Boolean, default: undefined },\n danger: { type: Boolean, default: undefined },\n href: String,\n target: String,\n title: String,\n mode: {\n type: String as PropType<'default' | 'popconfirm' | 'confirm' | 'dropdown'>,\n default: 'default',\n },\n tooltip: {\n type: String,\n default: '',\n },\n tooltipProps: {\n type: Object as PropType<TooltipProps>,\n },\n dropdownProps: {\n type: Object as PropType<DropdownProps>,\n },\n menuProps: {\n type: Object as PropType<Omit<MenuProps, 'onClick' | 'items'>>,\n },\n popconfirmProps: {\n type: Object as PropType<Omit<PopconfirmProps, 'onConfirm' | 'onCancel'>>,\n },\n confirmProps: {\n type: Object as PropType<\n Omit<ModalFuncProps, 'type' | 'onCancel' | 'onOk'> & { type?: ConfirmType }\n >,\n },\n icon: {\n type: String,\n default: '',\n },\n iconStyle: {\n type: Object as PropType<CSSProperties>,\n },\n permission: {\n type: String,\n default: '',\n },\n items: {\n type: Array as PropType<ItemType[]>,\n default: () => [],\n },\n onClick: Function as PropType<(e: MouseEvent) => void>,\n // onMousedown: Function as PropType<(e: MouseEvent) => void>,\n onConfirm: Function as PropType<(e: MouseEvent) => void>,\n onCancel: Function as PropType<(e: MouseEvent) => void>,\n onMenuClick: Function as PropType<MenuProps['onClick']>,\n },\n emits: ['confirm', 'click', 'cancel', 'menu-click'],\n setup(props, { attrs, slots }) {\n const prefixCls = usePrefixCls('button')\n const renderConfirmContent = (key: string) => {\n if (slots[key]) {\n const vnodes = slots[key]?.()\n if (ensureValidVNode(vnodes)) {\n return vnodes\n }\n }\n return undefined\n }\n\n const buttonProps = computed(() =>\n omit(props, [\n 'items',\n 'permission',\n 'iconStyle',\n 'icon',\n 'confirmProps',\n 'popconfirmProps',\n 'menuProps',\n 'dropdownProps',\n 'tooltipProps',\n 'tooltip',\n 'mode',\n 'onConfirm',\n 'onClick',\n 'onCancel',\n 'onMenuClick',\n ]),\n )\n\n const onClick = (e: MouseEvent) => {\n if (props.mode === 'default') {\n props.onClick?.(e)\n return\n }\n\n if (props.mode === 'confirm') {\n confirm({\n ...props.confirmProps,\n content:\n renderConfirmContent(props.confirmProps?.content as string) ||\n props.confirmProps?.content,\n title:\n renderConfirmContent(props.confirmProps?.title as string) || props.confirmProps?.title,\n onCancel() {\n return props.onCancel?.()\n },\n onOk() {\n return props.onConfirm?.()\n },\n })\n }\n }\n\n return () => {\n let icon: VNode | null = null\n if (slots.icon || props.icon) {\n icon = (\n <span class=\"anticon\" style={props.iconStyle}>\n {slots.icon ? slots.icon() : <ProIcon icon={props.icon} />}\n </span>\n )\n }\n let defaultDom = (\n <Button\n {...attrs}\n {...buttonProps.value}\n class={prefixCls}\n v-slots={{\n icon: () => icon,\n }}\n onClick={props.mode === 'popconfirm' || props.mode === 'dropdown' ? undefined : onClick}\n >\n {slots.default?.()}\n </Button>\n )\n\n if (props.disabled) {\n return defaultDom\n }\n\n if (props.tooltip) {\n defaultDom = (\n <Tooltip {...props.tooltipProps} title={props.tooltip}>\n {defaultDom}\n </Tooltip>\n )\n }\n\n if (props.mode === 'popconfirm') {\n return (\n <Popconfirm\n {...props.popconfirmProps}\n onConfirm={props.onConfirm}\n onCancel={props.onCancel}\n >\n {defaultDom}\n </Popconfirm>\n )\n }\n\n if (props.mode === 'dropdown') {\n return (\n <Dropdown\n {...props.dropdownProps}\n v-slots={{\n overlay: () => (\n <Menu {...props.menuProps} items={props.items} onClick={props.onMenuClick} />\n ),\n }}\n >\n {defaultDom}\n </Dropdown>\n )\n }\n\n return defaultDom\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","inheritAttrs","props","type","String","htmlType","default","shape","size","loading","Boolean","disabled","undefined","ghost","block","danger","href","target","title","mode","tooltip","tooltipProps","dropdownProps","menuProps","popconfirmProps","confirmProps","icon","iconStyle","permission","items","Array","onClick","Function","onConfirm","onCancel","onMenuClick","emits","setup","attrs","slots","prefixCls","usePrefixCls","renderConfirmContent","key","vnodes","ensureValidVNode","buttonProps","computed","omit","e","confirm","content","_a","onOk","_createVNode","ProIcon","defaultDom","Button","_mergeProps","value","_defaultDom","Tooltip","Popconfirm","Dropdown","overlay","Menu"],"mappings":"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"}