@vunk/form 0.0.1-alpha.4 → 0.0.1-alpha.41

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 (138) hide show
  1. package/components/button/index.d.ts +4 -0
  2. package/components/button/index.js +126 -0
  3. package/components/button/src/ctx.d.ts +91 -0
  4. package/components/button/src/ctx.js +39 -0
  5. package/components/button/src/index.vue.d.ts +241 -0
  6. package/components/button/src/types.d.ts +7 -0
  7. package/components/button/src/types.js +1 -0
  8. package/components/cascader/index.d.ts +4 -0
  9. package/components/cascader/index.js +108 -0
  10. package/components/cascader/src/ctx.d.ts +130 -0
  11. package/components/cascader/src/ctx.js +38 -0
  12. package/components/cascader/src/index.vue.d.ts +313 -0
  13. package/components/cascader/src/types.d.ts +1 -0
  14. package/components/cascader/src/types.js +1 -0
  15. package/components/checkbox/index.css +38 -0
  16. package/components/checkbox/index.d.ts +4 -0
  17. package/components/checkbox/index.js +127 -0
  18. package/components/checkbox/src/ctx.d.ts +82 -0
  19. package/components/checkbox/src/ctx.js +43 -0
  20. package/components/checkbox/src/index.vue.d.ts +213 -0
  21. package/components/checkbox/src/types.d.ts +1 -0
  22. package/components/checkbox/src/types.js +1 -0
  23. package/components/color-picker/index.d.ts +4 -0
  24. package/components/color-picker/index.js +77 -0
  25. package/components/color-picker/src/ctx.d.ts +74 -0
  26. package/components/color-picker/src/ctx.js +23 -0
  27. package/components/color-picker/src/index.vue.d.ts +196 -0
  28. package/components/color-picker/src/types.d.ts +1 -0
  29. package/components/color-picker/src/types.js +1 -0
  30. package/components/date-picker/index.js +26 -15
  31. package/components/date-picker/src/ctx.d.ts +64 -57
  32. package/components/date-picker/src/ctx.js +1 -1
  33. package/components/date-picker/src/index.vue.d.ts +183 -153
  34. package/components/date-picker/src/types.d.ts +7 -7
  35. package/components/firt-ep/index.d.ts +4 -0
  36. package/components/firt-ep/index.js +80 -0
  37. package/components/firt-ep/src/ctx.d.ts +9 -0
  38. package/components/firt-ep/src/ctx.js +9 -0
  39. package/components/firt-ep/src/index.vue.d.ts +19 -0
  40. package/components/firt-ep/src/types.d.ts +1 -0
  41. package/components/firt-ep/src/types.js +1 -0
  42. package/components/form/index.js +37 -16
  43. package/components/form/src/ctx.d.ts +95 -81
  44. package/components/form/src/ctx.js +5 -2
  45. package/components/form/src/index.vue.d.ts +284 -250
  46. package/components/form-item/index.css +4 -0
  47. package/components/form-item/index.js +34 -13
  48. package/components/form-item/src/ctx.d.ts +15 -7
  49. package/components/form-item/src/ctx.js +8 -0
  50. package/components/form-item/src/index.vue.d.ts +44 -14
  51. package/components/form-item-renderer/index.js +34 -30
  52. package/components/form-item-renderer/src/ctx.d.ts +3 -3
  53. package/components/form-item-renderer/src/index.vue.d.ts +8 -8
  54. package/components/form-item-renderer/src/types.d.ts +2 -0
  55. package/components/form-item-renderer-template/index.js +13 -6
  56. package/components/form-item-renderer-template/src/index.vue.d.ts +1 -1
  57. package/components/form-item-renderer-template-default/index.js +130 -31
  58. package/components/form-item-renderer-template-default/src/index.vue.d.ts +7 -7
  59. package/components/form-item-renderer-template-layout/index.js +41 -24
  60. package/components/form-item-renderer-template-layout/src/ctx.d.ts +3 -2
  61. package/components/form-item-renderer-template-layout/src/ctx.js +1 -1
  62. package/components/form-item-renderer-template-layout/src/index.vue.d.ts +18 -6
  63. package/components/input/index.js +39 -14
  64. package/components/input/src/ctx.d.ts +96 -49
  65. package/components/input/src/ctx.js +13 -1
  66. package/components/input/src/index.vue.d.ts +234 -128
  67. package/components/input-number/index.css +17 -0
  68. package/components/input-number/index.js +46 -14
  69. package/components/input-number/src/ctx.d.ts +28 -16
  70. package/components/input-number/src/ctx.js +13 -1
  71. package/components/input-number/src/index.vue.d.ts +104 -44
  72. package/components/radio/index.css +29 -0
  73. package/components/radio/index.d.ts +4 -0
  74. package/components/radio/index.js +123 -0
  75. package/components/radio/src/ctx.d.ts +77 -0
  76. package/components/radio/src/ctx.js +39 -0
  77. package/components/radio/src/index.vue.d.ts +204 -0
  78. package/components/radio/src/types.d.ts +1 -0
  79. package/components/radio/src/types.js +1 -0
  80. package/components/select/index.css +11 -0
  81. package/components/select/index.js +69 -49
  82. package/components/select/src/ctx.d.ts +48 -36
  83. package/components/select/src/ctx.js +4 -0
  84. package/components/select/src/index.vue.d.ts +206 -129
  85. package/components/switch/index.css +11 -0
  86. package/components/switch/index.js +44 -16
  87. package/components/switch/src/ctx.d.ts +46 -11
  88. package/components/switch/src/ctx.js +13 -2
  89. package/components/switch/src/index.vue.d.ts +147 -37
  90. package/components/upload/index.css +29 -0
  91. package/components/upload/index.d.ts +5 -0
  92. package/components/upload/index.js +522 -0
  93. package/components/upload/src/ctx.d.ts +173 -0
  94. package/components/upload/src/ctx.js +41 -0
  95. package/components/upload/src/file.vue.d.ts +96 -0
  96. package/components/upload/src/index.vue.d.ts +421 -0
  97. package/components/upload/src/types.d.ts +1 -0
  98. package/components/upload/src/types.js +1 -0
  99. package/composables/index.d.ts +1 -0
  100. package/composables/index.js +311 -7
  101. package/composables/useForm.d.ts +9 -0
  102. package/composables/useSourceManager.d.ts +2 -0
  103. package/index.css +146 -0
  104. package/index.d.ts +1 -0
  105. package/index.esm.js +4 -1
  106. package/package.json +4 -1
  107. package/shared/default-renderer-source/index.d.ts +12 -0
  108. package/shared/default-renderer-source/index.js +83 -0
  109. package/shared/element-plus/ctx.d.ts +86 -13
  110. package/shared/element-plus/index.js +18165 -32
  111. package/shared/element-plus/instances.d.ts +129 -27
  112. package/shared/infer-prop/index.d.ts +17 -0
  113. package/shared/infer-prop/index.js +34 -0
  114. package/shared/types/basic-source/index.d.ts +7 -0
  115. package/shared/types/basic-source/index.js +1 -0
  116. package/shared/types/ep-source/el-divider.d.ts +7 -0
  117. package/shared/types/ep-source/el-link.d.ts +8 -0
  118. package/shared/types/ep-source/index.d.ts +3 -0
  119. package/shared/types/ep-source/index.js +1 -0
  120. package/shared/types/form/checkbox.d.ts +13 -0
  121. package/shared/types/form/index.d.ts +2 -0
  122. package/shared/types/form/index.js +1 -0
  123. package/shared/types/form/radio.d.ts +8 -0
  124. package/shared/types/index.d.ts +2 -0
  125. package/shared/types/layout-source/index.d.ts +6 -4
  126. package/shared/types/renderer-source/button.d.ts +7 -0
  127. package/shared/types/renderer-source/cascader.d.ts +7 -0
  128. package/shared/types/renderer-source/checkbox.d.ts +7 -0
  129. package/shared/types/renderer-source/color-picker.d.ts +7 -0
  130. package/shared/types/renderer-source/compoent.d.ts +3 -0
  131. package/shared/types/renderer-source/date-picker.d.ts +3 -2
  132. package/shared/types/renderer-source/index.d.ts +13 -1
  133. package/shared/types/renderer-source/input-number.d.ts +3 -2
  134. package/shared/types/renderer-source/input.d.ts +3 -2
  135. package/shared/types/renderer-source/radio.d.ts +7 -0
  136. package/shared/types/renderer-source/select.d.ts +3 -2
  137. package/shared/types/renderer-source/switch.d.ts +3 -2
  138. package/shared/types/renderer-source/upload.d.ts +7 -0
@@ -0,0 +1,4 @@
1
+ import VkfButton from './src/index.vue';
2
+ export * as __VkfButton from './src/types';
3
+ export { VkfButton, };
4
+ export default VkfButton;
@@ -0,0 +1,126 @@
1
+ import { _VkfFormItemCtx, VkfFormItem } from '@vunk/form/components/form-item';
2
+ import { buttonProps, buttonEmits, ElButton, ElMessage } from 'element-plus';
3
+ import { defineComponent, inject, resolveComponent, openBlock, createBlock, normalizeProps, guardReactiveProps, withCtx, createVNode, mergeProps, toHandlers, createSlots, renderSlot, createTextVNode, toDisplayString, renderList, resolveDynamicComponent } from 'vue';
4
+ import { createButtonBindProps, createButtonOnEmits } from '@vunk/form/shared/element-plus';
5
+
6
+ var __defProp = Object.defineProperty;
7
+ var __defProps = Object.defineProperties;
8
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
9
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
24
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
+ const props = __spreadProps(__spreadValues(__spreadValues({}, _VkfFormItemCtx.props), buttonProps), {
26
+ buttonSlots: {
27
+ type: Object,
28
+ default: () => ({})
29
+ },
30
+ buttonLabel: {
31
+ type: String,
32
+ default: ""
33
+ },
34
+ validate: {
35
+ type: Boolean,
36
+ default: true
37
+ }
38
+ });
39
+ const emits = __spreadValues({}, buttonEmits);
40
+
41
+ var _export_sfc = (sfc, props) => {
42
+ const target = sfc.__vccOpts || sfc;
43
+ for (const [key, val] of props) {
44
+ target[key] = val;
45
+ }
46
+ return target;
47
+ };
48
+
49
+ const _sfc_main = defineComponent({
50
+ name: "VkfButton",
51
+ components: {
52
+ VkfFormItem,
53
+ ElButton
54
+ },
55
+ emits,
56
+ props,
57
+ setup(props2, { emit }) {
58
+ const coreBindProps = createButtonBindProps(props2);
59
+ const coreOnEmits = createButtonOnEmits(emit, ["click"]);
60
+ const formBindProps = _VkfFormItemCtx.createBindProps(props2);
61
+ const elFormRef = inject("elFormRef", null);
62
+ const handleClick = (e) => {
63
+ if (!elFormRef || !props2.validate)
64
+ return emit("click", e);
65
+ elFormRef.value.validate().then((flag) => {
66
+ if (flag) {
67
+ emit("click", e);
68
+ }
69
+ }).catch((err) => {
70
+ let msg = "";
71
+ for (const key in err) {
72
+ err[key].forEach((v) => {
73
+ msg += v.message + ";";
74
+ });
75
+ }
76
+ ElMessage({
77
+ type: "warning",
78
+ message: msg
79
+ });
80
+ });
81
+ };
82
+ return {
83
+ formBindProps,
84
+ coreBindProps,
85
+ coreOnEmits,
86
+ handleClick
87
+ };
88
+ }
89
+ });
90
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
91
+ const _component_ElButton = resolveComponent("ElButton");
92
+ const _component_VkfFormItem = resolveComponent("VkfFormItem");
93
+ return openBlock(), createBlock(_component_VkfFormItem, normalizeProps(guardReactiveProps(_ctx.formBindProps)), {
94
+ default: withCtx(() => [
95
+ createVNode(_component_ElButton, mergeProps(_ctx.coreBindProps, toHandlers(_ctx.coreOnEmits), { onClick: _ctx.handleClick }), createSlots({
96
+ default: withCtx(() => [
97
+ renderSlot(_ctx.$slots, "default", {}, () => [
98
+ createTextVNode(toDisplayString(_ctx.buttonLabel), 1)
99
+ ])
100
+ ]),
101
+ _: 2
102
+ }, [
103
+ renderList(_ctx.buttonSlots, (item, key) => {
104
+ return {
105
+ name: key,
106
+ fn: withCtx((e) => [
107
+ (openBlock(), createBlock(resolveDynamicComponent(item?.(e))))
108
+ ])
109
+ };
110
+ })
111
+ ]), 1040, ["onClick"])
112
+ ]),
113
+ _: 3
114
+ }, 16);
115
+ }
116
+ var VkfButton = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "index.vue"]]);
117
+
118
+ var types = /*#__PURE__*/Object.freeze({
119
+ __proto__: null
120
+ });
121
+
122
+ VkfButton.install = (app) => {
123
+ app.component(VkfButton.name, VkfButton);
124
+ };
125
+
126
+ export { VkfButton, types as __VkfButton, VkfButton as default };
@@ -0,0 +1,91 @@
1
+ import { PropType } from 'vue';
2
+ import { ButtonSlots } from './types';
3
+ export declare const props: {
4
+ buttonSlots: {
5
+ type: PropType<ButtonSlots>;
6
+ default: () => {};
7
+ };
8
+ buttonLabel: {
9
+ type: StringConstructor;
10
+ default: string;
11
+ };
12
+ validate: {
13
+ type: BooleanConstructor;
14
+ default: boolean;
15
+ };
16
+ size: {
17
+ readonly type: PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
18
+ readonly required: false;
19
+ readonly validator: ((val: unknown) => boolean) | undefined;
20
+ __epPropKey: true;
21
+ };
22
+ disabled: BooleanConstructor;
23
+ type: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "" | "default" | "success" | "text" | "primary" | "warning" | "info" | "danger", unknown, "", boolean>;
24
+ icon: {
25
+ readonly type: PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>>;
26
+ readonly required: false;
27
+ readonly validator: ((val: unknown) => boolean) | undefined;
28
+ __epPropKey: true;
29
+ };
30
+ nativeType: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "button" | "submit" | "reset", unknown, "button", boolean>;
31
+ loading: BooleanConstructor;
32
+ loadingIcon: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown, () => import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>, boolean>;
33
+ plain: BooleanConstructor;
34
+ text: BooleanConstructor;
35
+ link: BooleanConstructor;
36
+ bg: BooleanConstructor;
37
+ autofocus: BooleanConstructor;
38
+ round: BooleanConstructor;
39
+ circle: BooleanConstructor;
40
+ color: StringConstructor;
41
+ dark: BooleanConstructor;
42
+ autoInsertSpace: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
43
+ required: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
44
+ label: StringConstructor;
45
+ labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
46
+ prop: {
47
+ readonly type: PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp) | ((new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp))[], unknown, unknown>>;
48
+ readonly required: false;
49
+ readonly validator: ((val: unknown) => boolean) | undefined;
50
+ __epPropKey: true;
51
+ };
52
+ rules: {
53
+ readonly type: PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>) | ((new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>))[], unknown, unknown>>;
54
+ readonly required: false;
55
+ readonly validator: ((val: unknown) => boolean) | undefined;
56
+ __epPropKey: true;
57
+ };
58
+ error: StringConstructor;
59
+ validateStatus: {
60
+ readonly type: PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "error" | "success" | "validating", unknown>>;
61
+ readonly required: false;
62
+ readonly validator: ((val: unknown) => boolean) | undefined;
63
+ __epPropKey: true;
64
+ };
65
+ for: StringConstructor;
66
+ inlineMessage: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, BooleanConstructor], unknown, unknown, "", boolean>;
67
+ showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
68
+ formItemSize: {
69
+ type: PropType<"default" | "small" | "large">;
70
+ default: string;
71
+ };
72
+ formItemSlots: {
73
+ type: PropType<import("../../form-item/src/types").FormItemSlots>;
74
+ default: undefined;
75
+ };
76
+ elRef: {
77
+ type: PropType<any>;
78
+ required: boolean;
79
+ };
80
+ inline: {
81
+ type: BooleanConstructor;
82
+ default: boolean;
83
+ };
84
+ readonly: {
85
+ type: BooleanConstructor;
86
+ default: undefined;
87
+ };
88
+ };
89
+ export declare const emits: {
90
+ click: (evt: MouseEvent) => boolean;
91
+ };
@@ -0,0 +1,39 @@
1
+ import { _VkfFormItemCtx } from '@vunk/form/components/form-item';
2
+ import { buttonProps, buttonEmits } from 'element-plus';
3
+
4
+ var __defProp = Object.defineProperty;
5
+ var __defProps = Object.defineProperties;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
10
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
+ var __spreadValues = (a, b) => {
12
+ for (var prop in b || (b = {}))
13
+ if (__hasOwnProp.call(b, prop))
14
+ __defNormalProp(a, prop, b[prop]);
15
+ if (__getOwnPropSymbols)
16
+ for (var prop of __getOwnPropSymbols(b)) {
17
+ if (__propIsEnum.call(b, prop))
18
+ __defNormalProp(a, prop, b[prop]);
19
+ }
20
+ return a;
21
+ };
22
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
23
+ const props = __spreadProps(__spreadValues(__spreadValues({}, _VkfFormItemCtx.props), buttonProps), {
24
+ buttonSlots: {
25
+ type: Object,
26
+ default: () => ({})
27
+ },
28
+ buttonLabel: {
29
+ type: String,
30
+ default: ""
31
+ },
32
+ validate: {
33
+ type: Boolean,
34
+ default: true
35
+ }
36
+ });
37
+ const emits = __spreadValues({}, buttonEmits);
38
+
39
+ export { emits, props };
@@ -0,0 +1,241 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ buttonSlots: {
3
+ type: import("vue").PropType<import("./types").ButtonSlots>;
4
+ default: () => {};
5
+ };
6
+ buttonLabel: {
7
+ type: StringConstructor;
8
+ default: string;
9
+ };
10
+ validate: {
11
+ type: BooleanConstructor;
12
+ default: boolean;
13
+ };
14
+ size: {
15
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
16
+ readonly required: false;
17
+ readonly validator: ((val: unknown) => boolean) | undefined;
18
+ __epPropKey: true;
19
+ };
20
+ disabled: BooleanConstructor;
21
+ type: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "" | "default" | "success" | "text" | "primary" | "warning" | "info" | "danger", unknown, "", boolean>;
22
+ icon: {
23
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>>;
24
+ readonly required: false;
25
+ readonly validator: ((val: unknown) => boolean) | undefined;
26
+ __epPropKey: true;
27
+ };
28
+ nativeType: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "button" | "submit" | "reset", unknown, "button", boolean>;
29
+ loading: BooleanConstructor;
30
+ loadingIcon: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown, () => import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>, boolean>;
31
+ plain: BooleanConstructor;
32
+ text: BooleanConstructor;
33
+ link: BooleanConstructor;
34
+ bg: BooleanConstructor;
35
+ autofocus: BooleanConstructor;
36
+ round: BooleanConstructor;
37
+ circle: BooleanConstructor;
38
+ color: StringConstructor;
39
+ dark: BooleanConstructor;
40
+ autoInsertSpace: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
41
+ required: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
42
+ label: StringConstructor;
43
+ labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
44
+ prop: {
45
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp) | ((new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp))[], unknown, unknown>>;
46
+ readonly required: false;
47
+ readonly validator: ((val: unknown) => boolean) | undefined;
48
+ __epPropKey: true;
49
+ };
50
+ rules: {
51
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>) | ((new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>))[], unknown, unknown>>;
52
+ readonly required: false;
53
+ readonly validator: ((val: unknown) => boolean) | undefined;
54
+ __epPropKey: true;
55
+ };
56
+ error: StringConstructor;
57
+ validateStatus: {
58
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "error" | "success" | "validating", unknown>>;
59
+ readonly required: false;
60
+ readonly validator: ((val: unknown) => boolean) | undefined;
61
+ __epPropKey: true;
62
+ };
63
+ for: StringConstructor;
64
+ inlineMessage: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, BooleanConstructor], unknown, unknown, "", boolean>;
65
+ showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
66
+ formItemSize: {
67
+ type: import("vue").PropType<"default" | "small" | "large">;
68
+ default: string;
69
+ };
70
+ formItemSlots: {
71
+ type: import("vue").PropType<import("../../form-item/src/types").FormItemSlots>;
72
+ default: undefined;
73
+ };
74
+ elRef: {
75
+ type: import("vue").PropType<any>;
76
+ required: boolean;
77
+ };
78
+ inline: {
79
+ type: BooleanConstructor;
80
+ default: boolean;
81
+ };
82
+ readonly: {
83
+ type: BooleanConstructor;
84
+ default: undefined;
85
+ };
86
+ }, {
87
+ formBindProps: import("vue").ComputedRef<{
88
+ required: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
89
+ label: string | undefined;
90
+ labelWidth: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
91
+ prop: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp) | ((new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp))[], unknown, unknown> | undefined;
92
+ rules: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>) | ((new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>))[], unknown, unknown> | undefined;
93
+ error: string | undefined;
94
+ validateStatus: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "error" | "success" | "validating", unknown> | undefined;
95
+ for: string | undefined;
96
+ inlineMessage: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
97
+ showMessage: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
98
+ formItemSize: "default" | "small" | "large";
99
+ formItemSlots: import("../../form-item/src/types").FormItemSlots | undefined;
100
+ elRef: any;
101
+ inline: boolean;
102
+ readonly: boolean | undefined;
103
+ }>;
104
+ coreBindProps: import("vue").ComputedRef<{
105
+ type: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "success" | "text" | "primary" | "warning" | "info" | "danger", unknown>;
106
+ size: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never> | undefined;
107
+ link: boolean;
108
+ disabled: boolean;
109
+ icon: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown> | undefined;
110
+ nativeType: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "button" | "submit" | "reset", unknown>;
111
+ loading: boolean;
112
+ loadingIcon: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>;
113
+ plain: boolean;
114
+ text: boolean;
115
+ bg: boolean;
116
+ autofocus: boolean;
117
+ round: boolean;
118
+ circle: boolean;
119
+ color: string | undefined;
120
+ dark: boolean;
121
+ autoInsertSpace: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
122
+ }>;
123
+ coreOnEmits: {};
124
+ handleClick: (e: MouseEvent) => void;
125
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
126
+ click: (evt: MouseEvent) => boolean;
127
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
128
+ buttonSlots: {
129
+ type: import("vue").PropType<import("./types").ButtonSlots>;
130
+ default: () => {};
131
+ };
132
+ buttonLabel: {
133
+ type: StringConstructor;
134
+ default: string;
135
+ };
136
+ validate: {
137
+ type: BooleanConstructor;
138
+ default: boolean;
139
+ };
140
+ size: {
141
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
142
+ readonly required: false;
143
+ readonly validator: ((val: unknown) => boolean) | undefined;
144
+ __epPropKey: true;
145
+ };
146
+ disabled: BooleanConstructor;
147
+ type: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "" | "default" | "success" | "text" | "primary" | "warning" | "info" | "danger", unknown, "", boolean>;
148
+ icon: {
149
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>>;
150
+ readonly required: false;
151
+ readonly validator: ((val: unknown) => boolean) | undefined;
152
+ __epPropKey: true;
153
+ };
154
+ nativeType: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "button" | "submit" | "reset", unknown, "button", boolean>;
155
+ loading: BooleanConstructor;
156
+ loadingIcon: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown, () => import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>, boolean>;
157
+ plain: BooleanConstructor;
158
+ text: BooleanConstructor;
159
+ link: BooleanConstructor;
160
+ bg: BooleanConstructor;
161
+ autofocus: BooleanConstructor;
162
+ round: BooleanConstructor;
163
+ circle: BooleanConstructor;
164
+ color: StringConstructor;
165
+ dark: BooleanConstructor;
166
+ autoInsertSpace: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
167
+ required: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
168
+ label: StringConstructor;
169
+ labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
170
+ prop: {
171
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp) | ((new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp))[], unknown, unknown>>;
172
+ readonly required: false;
173
+ readonly validator: ((val: unknown) => boolean) | undefined;
174
+ __epPropKey: true;
175
+ };
176
+ rules: {
177
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>) | ((new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>))[], unknown, unknown>>;
178
+ readonly required: false;
179
+ readonly validator: ((val: unknown) => boolean) | undefined;
180
+ __epPropKey: true;
181
+ };
182
+ error: StringConstructor;
183
+ validateStatus: {
184
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "error" | "success" | "validating", unknown>>;
185
+ readonly required: false;
186
+ readonly validator: ((val: unknown) => boolean) | undefined;
187
+ __epPropKey: true;
188
+ };
189
+ for: StringConstructor;
190
+ inlineMessage: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, BooleanConstructor], unknown, unknown, "", boolean>;
191
+ showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
192
+ formItemSize: {
193
+ type: import("vue").PropType<"default" | "small" | "large">;
194
+ default: string;
195
+ };
196
+ formItemSlots: {
197
+ type: import("vue").PropType<import("../../form-item/src/types").FormItemSlots>;
198
+ default: undefined;
199
+ };
200
+ elRef: {
201
+ type: import("vue").PropType<any>;
202
+ required: boolean;
203
+ };
204
+ inline: {
205
+ type: BooleanConstructor;
206
+ default: boolean;
207
+ };
208
+ readonly: {
209
+ type: BooleanConstructor;
210
+ default: undefined;
211
+ };
212
+ }>> & {
213
+ onClick?: ((evt: MouseEvent) => any) | undefined;
214
+ }, {
215
+ required: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
216
+ type: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "success" | "text" | "primary" | "warning" | "info" | "danger", unknown>;
217
+ labelWidth: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
218
+ inlineMessage: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
219
+ showMessage: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
220
+ formItemSize: "default" | "small" | "large";
221
+ formItemSlots: import("../../form-item/src/types").FormItemSlots;
222
+ inline: boolean;
223
+ readonly: boolean;
224
+ validate: boolean;
225
+ link: boolean;
226
+ disabled: boolean;
227
+ nativeType: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "button" | "submit" | "reset", unknown>;
228
+ loading: boolean;
229
+ loadingIcon: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>;
230
+ plain: boolean;
231
+ text: boolean;
232
+ bg: boolean;
233
+ autofocus: boolean;
234
+ round: boolean;
235
+ circle: boolean;
236
+ dark: boolean;
237
+ autoInsertSpace: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
238
+ buttonSlots: import("./types").ButtonSlots;
239
+ buttonLabel: string;
240
+ }>;
241
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import { Func } from '@vunk/core';
2
+ export interface ButtonSlots {
3
+ loading: Func;
4
+ icon: Func;
5
+ default: Func;
6
+ }
7
+ export {};
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,4 @@
1
+ import VkfCascader from './src/index.vue';
2
+ export * as __VkfCascader from './src/types';
3
+ export { VkfCascader, };
4
+ export default VkfCascader;
@@ -0,0 +1,108 @@
1
+ import { _VkfFormItemCtx, VkfFormItem } from '@vunk/form/components/form-item';
2
+ import { bindPropsFactory, onEmitsFactory } from '@vunk/core/shared/utils-vue';
3
+ import { cascaderProps, cascaderEmits, createCascaderBindProps, createCascaderOnEmits } from '@vunk/form/shared/element-plus';
4
+ import { defineComponent, ref, watch, computed, resolveComponent, openBlock, createBlock, normalizeProps, guardReactiveProps, withCtx, createVNode, mergeProps, toHandlers } from 'vue';
5
+ import { ElCascader } from 'element-plus';
6
+ import { useComputedReadonly } from '@vunk/form/composables';
7
+
8
+ var __defProp = Object.defineProperty;
9
+ var __defProps = Object.defineProperties;
10
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
11
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
12
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
13
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
14
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
15
+ var __spreadValues = (a, b) => {
16
+ for (var prop in b || (b = {}))
17
+ if (__hasOwnProp.call(b, prop))
18
+ __defNormalProp(a, prop, b[prop]);
19
+ if (__getOwnPropSymbols)
20
+ for (var prop of __getOwnPropSymbols(b)) {
21
+ if (__propIsEnum.call(b, prop))
22
+ __defNormalProp(a, prop, b[prop]);
23
+ }
24
+ return a;
25
+ };
26
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
27
+ const props = __spreadProps(__spreadValues(__spreadValues({}, cascaderProps), _VkfFormItemCtx.props), {
28
+ optionsUrl: {
29
+ type: String,
30
+ default: ""
31
+ },
32
+ readonly: {
33
+ type: Boolean,
34
+ default: void 0
35
+ }
36
+ });
37
+ bindPropsFactory(props);
38
+ const emits = __spreadValues({}, cascaderEmits);
39
+ onEmitsFactory(emits);
40
+
41
+ var _export_sfc = (sfc, props) => {
42
+ const target = sfc.__vccOpts || sfc;
43
+ for (const [key, val] of props) {
44
+ target[key] = val;
45
+ }
46
+ return target;
47
+ };
48
+
49
+ const _sfc_main = defineComponent({
50
+ name: "VkfCascader",
51
+ components: {
52
+ ElCascader,
53
+ VkfFormItem
54
+ },
55
+ emits,
56
+ props,
57
+ setup(props2, { emit }) {
58
+ const coreBindProps = createCascaderBindProps(props2, ["options"]);
59
+ const coreOnEmits = createCascaderOnEmits(emit);
60
+ const formItemBindProps = _VkfFormItemCtx.createBindProps(props2);
61
+ const readonly = useComputedReadonly(props2);
62
+ const optionsFromUrl = ref([]);
63
+ watch(() => props2.optionsUrl, (url) => {
64
+ emit("update:modelValue", void 0);
65
+ if (url) {
66
+ fetch(url).then((res) => res.json()).then((data) => {
67
+ optionsFromUrl.value = data;
68
+ });
69
+ } else {
70
+ optionsFromUrl.value = [];
71
+ }
72
+ }, { immediate: true });
73
+ const options = computed(
74
+ () => optionsFromUrl.value.length ? optionsFromUrl.value : props2.options
75
+ );
76
+ return {
77
+ coreBindProps,
78
+ coreOnEmits,
79
+ formItemBindProps,
80
+ readonly,
81
+ options
82
+ };
83
+ }
84
+ });
85
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
86
+ const _component_ElCascader = resolveComponent("ElCascader");
87
+ const _component_VkfFormItem = resolveComponent("VkfFormItem");
88
+ return openBlock(), createBlock(_component_VkfFormItem, normalizeProps(guardReactiveProps(_ctx.formItemBindProps)), {
89
+ default: withCtx(() => [
90
+ createVNode(_component_ElCascader, mergeProps(_ctx.coreBindProps, toHandlers(_ctx.coreOnEmits), {
91
+ readonly: _ctx.readonly,
92
+ options: _ctx.options
93
+ }), null, 16, ["readonly", "options"])
94
+ ]),
95
+ _: 1
96
+ }, 16);
97
+ }
98
+ var VkfCascader = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "index.vue"]]);
99
+
100
+ var types = /*#__PURE__*/Object.freeze({
101
+ __proto__: null
102
+ });
103
+
104
+ VkfCascader.install = (app) => {
105
+ app.component(VkfCascader.name, VkfCascader);
106
+ };
107
+
108
+ export { VkfCascader, types as __VkfCascader, VkfCascader as default };