pro-design-vue 0.0.1-beta.2 → 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.
- package/README.md +66 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +96 -22
- package/dist/index.full.min.js +8 -8
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +8 -8
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +92 -19
- package/es/components/button/index.d.ts +83 -8
- package/es/components/button/src/Button.d.ts +84 -9
- package/es/components/button/src/Button.mjs +39 -7
- package/es/components/button/src/Button.mjs.map +1 -1
- package/es/components/form/src/Form.d.ts +49 -470
- package/es/components/form/src/base/BaseForm.d.ts +49 -470
- package/es/components/form/src/base/StepForm.d.ts +49 -470
- package/es/components/form/src/fields/FieldDigitRange.mjs +1 -1
- package/es/components/form/src/layouts/DrawerForm.d.ts +49 -470
- package/es/components/form/src/layouts/ModalForm.d.ts +49 -470
- package/es/components/form/src/layouts/QueryFilter.d.ts +50 -470
- package/es/components/form/src/layouts/StepsForm.d.ts +49 -470
- package/es/components/form/src/props.d.ts +147 -961
- package/es/components/form/src/props.mjs +43 -4
- package/es/components/form/src/props.mjs.map +1 -1
- package/es/components/layout/src/layout.vue2.mjs +1 -1
- package/es/components/layout/src/layout.vue2.mjs.map +1 -1
- package/es/components/layout/src/typing.d.ts +3 -1
- package/es/components/page/src/page.vue2.mjs +7 -5
- package/es/components/page/src/page.vue2.mjs.map +1 -1
- package/es/components/table/src/components/AutoHeightHeader/Header.vue.d.ts +83 -8
- package/es/components/table/src/components/AutoHeightHeader/HeaderRow.vue.d.ts +83 -8
- package/es/components/table/src/components/Body/BodyRow.vue.mjs +3 -3
- package/es/components/table/src/components/Filter/FilterDropdown.vue.d.ts +83 -8
- package/es/components/table/src/components/Header/Header.vue.d.ts +83 -8
- package/es/components/table/src/components/Header/HeaderCell.vue.d.ts +83 -8
- package/es/components/table/src/components/Header/HeaderRows.vue.d.ts +83 -8
- package/es/components/table/src/components/Header/HeaderRowsWrap.vue.d.ts +83 -8
- package/es/components/table/src/components/InteralTable.vue.d.ts +166 -16
- package/es/index.d.ts +447 -3336
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/button/index.d.ts +83 -8
- package/lib/components/button/src/Button.d.ts +84 -9
- package/lib/components/button/src/Button.js +38 -6
- package/lib/components/button/src/Button.js.map +1 -1
- package/lib/components/form/src/Form.d.ts +49 -470
- package/lib/components/form/src/base/BaseForm.d.ts +49 -470
- package/lib/components/form/src/base/StepForm.d.ts +49 -470
- package/lib/components/form/src/fields/FieldDigitRange.js +1 -1
- package/lib/components/form/src/layouts/DrawerForm.d.ts +49 -470
- package/lib/components/form/src/layouts/ModalForm.d.ts +49 -470
- package/lib/components/form/src/layouts/QueryFilter.d.ts +50 -470
- package/lib/components/form/src/layouts/StepsForm.d.ts +49 -470
- package/lib/components/form/src/props.d.ts +147 -961
- package/lib/components/form/src/props.js +43 -3
- package/lib/components/form/src/props.js.map +1 -1
- package/lib/components/layout/src/layout.vue2.js +1 -1
- package/lib/components/layout/src/layout.vue2.js.map +1 -1
- package/lib/components/layout/src/typing.d.ts +3 -1
- package/lib/components/page/src/page.vue2.js +7 -5
- package/lib/components/page/src/page.vue2.js.map +1 -1
- package/lib/components/table/src/components/AutoHeightHeader/Header.vue.d.ts +83 -8
- package/lib/components/table/src/components/AutoHeightHeader/HeaderRow.vue.d.ts +83 -8
- package/lib/components/table/src/components/Body/BodyRow.vue.js +3 -3
- package/lib/components/table/src/components/Filter/FilterDropdown.vue.d.ts +83 -8
- package/lib/components/table/src/components/Header/Header.vue.d.ts +83 -8
- package/lib/components/table/src/components/Header/HeaderCell.vue.d.ts +83 -8
- package/lib/components/table/src/components/Header/HeaderRows.vue.d.ts +83 -8
- package/lib/components/table/src/components/Header/HeaderRowsWrap.vue.d.ts +83 -8
- package/lib/components/table/src/components/InteralTable.vue.d.ts +166 -16
- package/lib/index.d.ts +447 -3336
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +7 -6
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/pro-page.css +1 -1
- package/theme-chalk/src/page.less +4 -4
package/dist/index.full.mjs
CHANGED
@@ -1,8 +1,7 @@
|
|
1
|
-
/*! Pro Design Vue
|
1
|
+
/*! Pro Design Vue v1.0.0-beta.1 */
|
2
2
|
|
3
3
|
import { Modal, ConfigProvider, App, Button as Button$1, Tooltip, Popconfirm, Dropdown, Menu, Slider, Drawer, Input, InputNumber, Form as Form$1, Space, Textarea, Select, TreeSelect, Checkbox as Checkbox$1, CheckboxGroup, RadioGroup, Radio as Radio$1, Cascader, Switch, Rate, DatePicker, RangePicker, TimePicker, TimeRangePicker, Upload, theme as theme$1, FormItemRest, Spin, message, Row as Row$1, Col, FormItem as FormItem$3, Steps, Popover, MenuItem, SubMenu, Empty, Badge, Pagination, InputSearch, Tree, Card, Tabs, TabPane } from 'ant-design-vue';
|
4
4
|
import { inject, ref, getCurrentInstance, nextTick, h, reactive, defineComponent, createVNode, isVNode, Fragment, cloneVNode, provide, computed, renderSlot, createPropsRestProxy, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, shallowRef, shallowReadonly, toValue, getCurrentScope, onScopeDispose, watch, onMounted, hasInjectionContext, isRef, toRefs as toRefs$1, customRef, toRef as toRef$1, readonly, watchEffect, toRaw, createElementBlock, createCommentVNode, resolveDynamicComponent, mergeProps, createElementVNode, normalizeStyle, toDisplayString, normalizeClass, createSlots, useAttrs, useTemplateRef, defineAsyncComponent, Teleport, onUnmounted, Comment as Comment$1, useSlots, useModel, withModifiers, mergeModels, renderList, camelize, isReactive, onActivated, onDeactivated, onBeforeUnmount, triggerRef, resolveDirective, withDirectives, vShow, render as render$1, resolveComponent, createTextVNode, vModelText } from 'vue';
|
5
|
-
import { formProps as formProps$1 } from 'ant-design-vue/es/form';
|
6
5
|
|
7
6
|
const INSTALLED_KEY = Symbol("INSTALLED_KEY");
|
8
7
|
|
@@ -14,7 +13,7 @@ const ELEMENT_ID_MAIN_CONTENT = `__pro_main_content`;
|
|
14
13
|
const SCROLL_FIXED_CLASS = `_scroll__fixed_`;
|
15
14
|
const DEFAULT_NAMESPACE = "pro";
|
16
15
|
|
17
|
-
const version$1 = "0.0
|
16
|
+
const version$1 = "1.0.0-beta.1";
|
18
17
|
|
19
18
|
const makeInstaller = (components = []) => {
|
20
19
|
const install = (app) => {
|
@@ -8569,6 +8568,40 @@ var Button = /* @__PURE__ */ defineComponent({
|
|
8569
8568
|
name: "ProButton",
|
8570
8569
|
inheritAttrs: false,
|
8571
8570
|
props: {
|
8571
|
+
type: String,
|
8572
|
+
htmlType: {
|
8573
|
+
type: String,
|
8574
|
+
default: "button"
|
8575
|
+
},
|
8576
|
+
shape: {
|
8577
|
+
type: String
|
8578
|
+
},
|
8579
|
+
size: {
|
8580
|
+
type: String
|
8581
|
+
},
|
8582
|
+
loading: {
|
8583
|
+
type: [Boolean, Object],
|
8584
|
+
default: () => false
|
8585
|
+
},
|
8586
|
+
disabled: {
|
8587
|
+
type: Boolean,
|
8588
|
+
default: void 0
|
8589
|
+
},
|
8590
|
+
ghost: {
|
8591
|
+
type: Boolean,
|
8592
|
+
default: void 0
|
8593
|
+
},
|
8594
|
+
block: {
|
8595
|
+
type: Boolean,
|
8596
|
+
default: void 0
|
8597
|
+
},
|
8598
|
+
danger: {
|
8599
|
+
type: Boolean,
|
8600
|
+
default: void 0
|
8601
|
+
},
|
8602
|
+
href: String,
|
8603
|
+
target: String,
|
8604
|
+
title: String,
|
8572
8605
|
mode: {
|
8573
8606
|
type: String,
|
8574
8607
|
default: "default"
|
@@ -8592,10 +8625,6 @@ var Button = /* @__PURE__ */ defineComponent({
|
|
8592
8625
|
confirmProps: {
|
8593
8626
|
type: Object
|
8594
8627
|
},
|
8595
|
-
disabled: {
|
8596
|
-
type: Boolean,
|
8597
|
-
default: false
|
8598
|
-
},
|
8599
8628
|
icon: {
|
8600
8629
|
type: String,
|
8601
8630
|
default: ""
|
@@ -8612,6 +8641,7 @@ var Button = /* @__PURE__ */ defineComponent({
|
|
8612
8641
|
default: () => []
|
8613
8642
|
},
|
8614
8643
|
onClick: Function,
|
8644
|
+
// onMousedown: Function as PropType<(e: MouseEvent) => void>,
|
8615
8645
|
onConfirm: Function,
|
8616
8646
|
onCancel: Function,
|
8617
8647
|
onMenuClick: Function
|
@@ -8632,6 +8662,7 @@ var Button = /* @__PURE__ */ defineComponent({
|
|
8632
8662
|
}
|
8633
8663
|
return void 0;
|
8634
8664
|
};
|
8665
|
+
const buttonProps = computed(() => omit(props, ["items", "permission", "iconStyle", "icon", "confirmProps", "popconfirmProps", "menuProps", "dropdownProps", "tooltipProps", "tooltip", "mode", "onConfirm", "onClick", "onCancel", "onMenuClick"]));
|
8635
8666
|
const onClick = (e) => {
|
8636
8667
|
var _a, _b, _c, _d, _e;
|
8637
8668
|
if (props.mode === "default") {
|
@@ -8664,8 +8695,7 @@ var Button = /* @__PURE__ */ defineComponent({
|
|
8664
8695
|
"icon": props.icon
|
8665
8696
|
}, null)]);
|
8666
8697
|
}
|
8667
|
-
let defaultDom = createVNode(Button$1, mergeProps(attrs, {
|
8668
|
-
"disabled": props.disabled,
|
8698
|
+
let defaultDom = createVNode(Button$1, mergeProps(attrs, buttonProps.value, {
|
8669
8699
|
"class": prefixCls,
|
8670
8700
|
"onClick": props.mode === "popconfirm" || props.mode === "dropdown" ? void 0 : onClick
|
8671
8701
|
}), {
|
@@ -11914,6 +11944,47 @@ var FormSlotsContextProvider = defineComponent({
|
|
11914
11944
|
}
|
11915
11945
|
});
|
11916
11946
|
|
11947
|
+
const antFormProps = () => ({
|
11948
|
+
layout: {
|
11949
|
+
type: String,
|
11950
|
+
default: "horizontal"
|
11951
|
+
},
|
11952
|
+
labelCol: {
|
11953
|
+
type: Object
|
11954
|
+
},
|
11955
|
+
wrapperCol: {
|
11956
|
+
type: Object
|
11957
|
+
},
|
11958
|
+
colon: {
|
11959
|
+
type: Boolean,
|
11960
|
+
default: true
|
11961
|
+
},
|
11962
|
+
labelAlign: {
|
11963
|
+
type: String,
|
11964
|
+
default: "right"
|
11965
|
+
},
|
11966
|
+
labelWrap: Boolean,
|
11967
|
+
disabled: {
|
11968
|
+
type: Boolean,
|
11969
|
+
default: false
|
11970
|
+
},
|
11971
|
+
prefixCls: String,
|
11972
|
+
requiredMark: [String, Boolean],
|
11973
|
+
validateMessages: Object,
|
11974
|
+
validateTrigger: {
|
11975
|
+
type: [String, Array],
|
11976
|
+
default: "change"
|
11977
|
+
},
|
11978
|
+
validateOnRuleChange: {
|
11979
|
+
type: Boolean,
|
11980
|
+
default: true
|
11981
|
+
},
|
11982
|
+
scrollToFirstError: {
|
11983
|
+
type: [Boolean, Object],
|
11984
|
+
default: false
|
11985
|
+
},
|
11986
|
+
name: String
|
11987
|
+
});
|
11917
11988
|
const commonFieldProps = () => ({
|
11918
11989
|
value: {
|
11919
11990
|
type: [String, Array, Number, Object, Boolean]
|
@@ -11951,7 +12022,7 @@ const commonFieldProps = () => ({
|
|
11951
12022
|
}
|
11952
12023
|
});
|
11953
12024
|
const baseFormProps = () => ({
|
11954
|
-
...
|
12025
|
+
...antFormProps(),
|
11955
12026
|
// name: String,
|
11956
12027
|
loading: {
|
11957
12028
|
type: Boolean,
|
@@ -18759,7 +18830,7 @@ var _sfc_main$E = /* @__PURE__ */ defineComponent({
|
|
18759
18830
|
watch(
|
18760
18831
|
() => contentOffsetTop.value,
|
18761
18832
|
(newValue) => {
|
18762
|
-
setContentOffsetTop(newValue);
|
18833
|
+
setContentOffsetTop == null ? void 0 : setContentOffsetTop(newValue);
|
18763
18834
|
},
|
18764
18835
|
{
|
18765
18836
|
immediate: true
|
@@ -29947,9 +30018,9 @@ function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) {
|
|
29947
30018
|
/* CLASS */
|
29948
30019
|
)
|
29949
30020
|
]),
|
29950
|
-
_:
|
29951
|
-
/*
|
29952
|
-
},
|
30021
|
+
_: 1
|
30022
|
+
/* STABLE */
|
30023
|
+
}, 8, ["prefix-cls", "item", "row-key", "type", "row-index", "flatten-row-index", "wrap-text", "column", "resize-observer", "cal-max-height", "has-append-node", "height", "get-popup-container", "tooltip-open", "edit-cell-keys", "onCloseEditor", "onOpenEditor", "onMouseenter", "onCellLeave", "onMousedown", "onMousemove", "onKeydown", "onClick"])) : createCommentVNode("v-if", true)
|
29953
30024
|
],
|
29954
30025
|
64
|
29955
30026
|
/* STABLE_FRAGMENT */
|
@@ -34301,10 +34372,12 @@ var _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
34301
34372
|
...__props.contentStyle
|
34302
34373
|
};
|
34303
34374
|
});
|
34304
|
-
const mergeTabsProps = computed(
|
34305
|
-
|
34306
|
-
|
34307
|
-
|
34375
|
+
const mergeTabsProps = computed(
|
34376
|
+
() => {
|
34377
|
+
var _a;
|
34378
|
+
return omit((_a = __props.tabProps) != null ? _a : {}, ["activeKey", "tabPosition", "onChange"]);
|
34379
|
+
}
|
34380
|
+
);
|
34308
34381
|
async function calcContentHeight() {
|
34309
34382
|
var _a, _b, _c;
|
34310
34383
|
if (!__props.autoContentHeight) {
|
@@ -34399,7 +34472,7 @@ var _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
34399
34472
|
createVNode(unref(Tabs), mergeProps({
|
34400
34473
|
activeKey: tabActiveKey.value,
|
34401
34474
|
"onUpdate:activeKey": _cache[0] || (_cache[0] = ($event) => tabActiveKey.value = $event)
|
34402
|
-
}, mergeTabsProps.value), {
|
34475
|
+
}, mergeTabsProps.value, { "tab-position": "top" }), {
|
34403
34476
|
default: withCtx(() => [
|
34404
34477
|
(openBlock(true), createElementBlock(
|
34405
34478
|
Fragment,
|
@@ -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;
|
@@ -1,7 +1,8 @@
|
|
1
|
-
import { defineComponent, createVNode, mergeProps, isVNode } from 'vue';
|
1
|
+
import { defineComponent, computed, createVNode, mergeProps, isVNode } from 'vue';
|
2
2
|
import { Button as Button$1, Tooltip, Popconfirm, Dropdown, Menu } from 'ant-design-vue';
|
3
3
|
import { ProIcon } from '../../icon/index.mjs';
|
4
4
|
import { usePrefixCls } from '../../../hooks/use-prefix-cls/index.mjs';
|
5
|
+
import { omit } from '../../../utils/omit.mjs';
|
5
6
|
import { confirm } from '../../../utils/antd/confirm.mjs';
|
6
7
|
import { ensureValidVNode } from '../../../utils/vnode.mjs';
|
7
8
|
|
@@ -12,6 +13,40 @@ var Button = /* @__PURE__ */ defineComponent({
|
|
12
13
|
name: "ProButton",
|
13
14
|
inheritAttrs: false,
|
14
15
|
props: {
|
16
|
+
type: String,
|
17
|
+
htmlType: {
|
18
|
+
type: String,
|
19
|
+
default: "button"
|
20
|
+
},
|
21
|
+
shape: {
|
22
|
+
type: String
|
23
|
+
},
|
24
|
+
size: {
|
25
|
+
type: String
|
26
|
+
},
|
27
|
+
loading: {
|
28
|
+
type: [Boolean, Object],
|
29
|
+
default: () => false
|
30
|
+
},
|
31
|
+
disabled: {
|
32
|
+
type: Boolean,
|
33
|
+
default: void 0
|
34
|
+
},
|
35
|
+
ghost: {
|
36
|
+
type: Boolean,
|
37
|
+
default: void 0
|
38
|
+
},
|
39
|
+
block: {
|
40
|
+
type: Boolean,
|
41
|
+
default: void 0
|
42
|
+
},
|
43
|
+
danger: {
|
44
|
+
type: Boolean,
|
45
|
+
default: void 0
|
46
|
+
},
|
47
|
+
href: String,
|
48
|
+
target: String,
|
49
|
+
title: String,
|
15
50
|
mode: {
|
16
51
|
type: String,
|
17
52
|
default: "default"
|
@@ -35,10 +70,6 @@ var Button = /* @__PURE__ */ defineComponent({
|
|
35
70
|
confirmProps: {
|
36
71
|
type: Object
|
37
72
|
},
|
38
|
-
disabled: {
|
39
|
-
type: Boolean,
|
40
|
-
default: false
|
41
|
-
},
|
42
73
|
icon: {
|
43
74
|
type: String,
|
44
75
|
default: ""
|
@@ -55,6 +86,7 @@ var Button = /* @__PURE__ */ defineComponent({
|
|
55
86
|
default: () => []
|
56
87
|
},
|
57
88
|
onClick: Function,
|
89
|
+
// onMousedown: Function as PropType<(e: MouseEvent) => void>,
|
58
90
|
onConfirm: Function,
|
59
91
|
onCancel: Function,
|
60
92
|
onMenuClick: Function
|
@@ -75,6 +107,7 @@ var Button = /* @__PURE__ */ defineComponent({
|
|
75
107
|
}
|
76
108
|
return void 0;
|
77
109
|
};
|
110
|
+
const buttonProps = computed(() => omit(props, ["items", "permission", "iconStyle", "icon", "confirmProps", "popconfirmProps", "menuProps", "dropdownProps", "tooltipProps", "tooltip", "mode", "onConfirm", "onClick", "onCancel", "onMenuClick"]));
|
78
111
|
const onClick = (e) => {
|
79
112
|
var _a, _b, _c, _d, _e;
|
80
113
|
if (props.mode === "default") {
|
@@ -107,8 +140,7 @@ var Button = /* @__PURE__ */ defineComponent({
|
|
107
140
|
"icon": props.icon
|
108
141
|
}, null)]);
|
109
142
|
}
|
110
|
-
let defaultDom = createVNode(Button$1, mergeProps(attrs, {
|
111
|
-
"disabled": props.disabled,
|
143
|
+
let defaultDom = createVNode(Button$1, mergeProps(attrs, buttonProps.value, {
|
112
144
|
"class": prefixCls,
|
113
145
|
"onClick": props.mode === "popconfirm" || props.mode === "dropdown" ? void 0 : onClick
|
114
146
|
}), {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Button.mjs","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.mjs","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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"}
|