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

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 (82) hide show
  1. package/README.md +5 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +110 -30
  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 +106 -27
  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/components/table/src/hooks/useFetchData.mjs +14 -8
  39. package/es/components/table/src/hooks/useFetchData.mjs.map +1 -1
  40. package/es/index.d.ts +447 -3336
  41. package/es/version.d.ts +1 -1
  42. package/es/version.mjs +1 -1
  43. package/es/version.mjs.map +1 -1
  44. package/lib/components/button/index.d.ts +83 -8
  45. package/lib/components/button/src/Button.d.ts +84 -9
  46. package/lib/components/button/src/Button.js +38 -6
  47. package/lib/components/button/src/Button.js.map +1 -1
  48. package/lib/components/form/src/Form.d.ts +49 -470
  49. package/lib/components/form/src/base/BaseForm.d.ts +49 -470
  50. package/lib/components/form/src/base/StepForm.d.ts +49 -470
  51. package/lib/components/form/src/fields/FieldDigitRange.js +1 -1
  52. package/lib/components/form/src/layouts/DrawerForm.d.ts +49 -470
  53. package/lib/components/form/src/layouts/ModalForm.d.ts +49 -470
  54. package/lib/components/form/src/layouts/QueryFilter.d.ts +50 -470
  55. package/lib/components/form/src/layouts/StepsForm.d.ts +49 -470
  56. package/lib/components/form/src/props.d.ts +147 -961
  57. package/lib/components/form/src/props.js +43 -3
  58. package/lib/components/form/src/props.js.map +1 -1
  59. package/lib/components/layout/src/layout.vue2.js +1 -1
  60. package/lib/components/layout/src/layout.vue2.js.map +1 -1
  61. package/lib/components/layout/src/typing.d.ts +3 -1
  62. package/lib/components/page/src/page.vue2.js +7 -5
  63. package/lib/components/page/src/page.vue2.js.map +1 -1
  64. package/lib/components/table/src/components/AutoHeightHeader/Header.vue.d.ts +83 -8
  65. package/lib/components/table/src/components/AutoHeightHeader/HeaderRow.vue.d.ts +83 -8
  66. package/lib/components/table/src/components/Body/BodyRow.vue.js +3 -3
  67. package/lib/components/table/src/components/Filter/FilterDropdown.vue.d.ts +83 -8
  68. package/lib/components/table/src/components/Header/Header.vue.d.ts +83 -8
  69. package/lib/components/table/src/components/Header/HeaderCell.vue.d.ts +83 -8
  70. package/lib/components/table/src/components/Header/HeaderRows.vue.d.ts +83 -8
  71. package/lib/components/table/src/components/Header/HeaderRowsWrap.vue.d.ts +83 -8
  72. package/lib/components/table/src/components/InteralTable.vue.d.ts +166 -16
  73. package/lib/components/table/src/hooks/useFetchData.js +14 -8
  74. package/lib/components/table/src/hooks/useFetchData.js.map +1 -1
  75. package/lib/index.d.ts +447 -3336
  76. package/lib/version.d.ts +1 -1
  77. package/lib/version.js +1 -1
  78. package/lib/version.js.map +1 -1
  79. package/package.json +6 -6
  80. package/theme-chalk/index.css +1 -1
  81. package/theme-chalk/pro-page.css +1 -1
  82. package/theme-chalk/src/page.less +4 -4
@@ -1,8 +1,7 @@
1
- /*! Pro Design Vue v0.0.1-beta.3 */
1
+ /*! Pro Design Vue v1.0.0-beta.2 */
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.1-beta.3";
16
+ const version$1 = "1.0.0-beta.2";
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
- ...formProps$1(),
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
@@ -20407,14 +20478,20 @@ const useFetchData = (getData, props) => {
20407
20478
  deep: true
20408
20479
  }
20409
20480
  );
20410
- watch(formSearch, () => {
20411
- setPagination({
20412
- ...pagination.value,
20413
- current: 1
20414
- });
20415
- abortFetch();
20416
- fetchListDebounce(false);
20417
- });
20481
+ watch(
20482
+ formSearch,
20483
+ () => {
20484
+ setPagination({
20485
+ ...pagination.value,
20486
+ current: 1
20487
+ });
20488
+ abortFetch();
20489
+ fetchListDebounce(false);
20490
+ },
20491
+ {
20492
+ immediate: true
20493
+ }
20494
+ );
20418
20495
  const onTableChange = (pageInfo, filt, sort, extra) => {
20419
20496
  var _a2;
20420
20497
  if (extra.action === "paginate") {
@@ -29947,9 +30024,9 @@ function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) {
29947
30024
  /* CLASS */
29948
30025
  )
29949
30026
  ]),
29950
- _: 2
29951
- /* DYNAMIC */
29952
- }, 1032, ["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)
30027
+ _: 1
30028
+ /* STABLE */
30029
+ }, 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
30030
  ],
29954
30031
  64
29955
30032
  /* STABLE_FRAGMENT */
@@ -34301,10 +34378,12 @@ var _sfc_main$1 = /* @__PURE__ */ defineComponent({
34301
34378
  ...__props.contentStyle
34302
34379
  };
34303
34380
  });
34304
- const mergeTabsProps = computed(() => {
34305
- var _a;
34306
- return omit((_a = __props.tabProps) != null ? _a : {}, ["activeKey", "onChange"]);
34307
- });
34381
+ const mergeTabsProps = computed(
34382
+ () => {
34383
+ var _a;
34384
+ return omit((_a = __props.tabProps) != null ? _a : {}, ["activeKey", "tabPosition", "onChange"]);
34385
+ }
34386
+ );
34308
34387
  async function calcContentHeight() {
34309
34388
  var _a, _b, _c;
34310
34389
  if (!__props.autoContentHeight) {
@@ -34399,7 +34478,7 @@ var _sfc_main$1 = /* @__PURE__ */ defineComponent({
34399
34478
  createVNode(unref(Tabs), mergeProps({
34400
34479
  activeKey: tabActiveKey.value,
34401
34480
  "onUpdate:activeKey": _cache[0] || (_cache[0] = ($event) => tabActiveKey.value = $event)
34402
- }, mergeTabsProps.value), {
34481
+ }, mergeTabsProps.value, { "tab-position": "top" }), {
34403
34482
  default: withCtx(() => [
34404
34483
  (openBlock(true), createElementBlock(
34405
34484
  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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"}