@formily-djd/component 0.0.3 → 0.0.4
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/dist/index.css +31 -25
- package/dist/index.d.mts +11 -2
- package/dist/index.mjs +1 -1
- package/package.json +2 -2
package/dist/index.css
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.custom-comp.grid,.custom-comp .grid{display:grid}.custom-comp.inline,.custom-comp .inline{display:inline}.custom-comp.inline-block,.custom-comp .inline-block{display:inline-block}.custom-comp.flex,.custom-comp .flex{display:flex}.custom-comp.flex-shrink,.custom-comp .flex-shrink{flex-shrink:1}.custom-comp.border,.custom-comp .border{border-width:1px}.custom-comp.px,.custom-comp .px{padding-left:1rem;padding-right:1rem}.custom-comp.transition,.custom-comp .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}
|
|
2
2
|
|
|
3
|
-
.formily-array[data-v-
|
|
3
|
+
.formily-array[data-v-815fbbb0] {
|
|
4
4
|
box-sizing: border-box;
|
|
5
5
|
width: 100%;
|
|
6
6
|
border: 1px solid #dcdfe6;
|
|
@@ -8,40 +8,40 @@
|
|
|
8
8
|
padding: 16px;
|
|
9
9
|
background: #fafafa;
|
|
10
10
|
}
|
|
11
|
-
.array-header[data-v-
|
|
11
|
+
.array-header[data-v-815fbbb0] {
|
|
12
12
|
display: flex;
|
|
13
13
|
justify-content: space-between;
|
|
14
14
|
align-items: center;
|
|
15
15
|
margin-bottom: 12px;
|
|
16
16
|
}
|
|
17
|
-
.array-title[data-v-
|
|
17
|
+
.array-title[data-v-815fbbb0] {
|
|
18
18
|
font-size: 14px;
|
|
19
19
|
font-weight: 600;
|
|
20
20
|
color: #303133;
|
|
21
21
|
}
|
|
22
|
-
.array-actions[data-v-
|
|
22
|
+
.array-actions[data-v-815fbbb0] {
|
|
23
23
|
display: flex;
|
|
24
24
|
gap: 8px;
|
|
25
25
|
}
|
|
26
|
-
.array-content[data-v-
|
|
26
|
+
.array-content[data-v-815fbbb0] {
|
|
27
27
|
display: flex;
|
|
28
28
|
flex-direction: column;
|
|
29
29
|
gap: 12px;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
.formily-array-item[data-v-
|
|
33
|
+
.formily-array-item[data-v-523a0579] {
|
|
34
34
|
width: 100%;
|
|
35
35
|
border: 1px solid #e4e7ed;
|
|
36
36
|
border-radius: 4px;
|
|
37
37
|
background: #ffffff;
|
|
38
38
|
transition: all 0.2s;
|
|
39
39
|
}
|
|
40
|
-
.formily-array-item[data-v-
|
|
40
|
+
.formily-array-item[data-v-523a0579]:hover {
|
|
41
41
|
border-color: #409eff;
|
|
42
42
|
box-shadow: 0 2px 8px rgba(64, 158, 255, 0.1);
|
|
43
43
|
}
|
|
44
|
-
.array-item-header[data-v-
|
|
44
|
+
.array-item-header[data-v-523a0579] {
|
|
45
45
|
display: flex;
|
|
46
46
|
justify-content: space-between;
|
|
47
47
|
align-items: center;
|
|
@@ -50,95 +50,95 @@
|
|
|
50
50
|
border-bottom: 1px solid #e4e7ed;
|
|
51
51
|
border-radius: 4px 4px 0 0;
|
|
52
52
|
}
|
|
53
|
-
.array-item-index[data-v-
|
|
53
|
+
.array-item-index[data-v-523a0579] {
|
|
54
54
|
font-size: 13px;
|
|
55
55
|
font-weight: 600;
|
|
56
56
|
color: #606266;
|
|
57
57
|
}
|
|
58
|
-
.array-item-actions[data-v-
|
|
58
|
+
.array-item-actions[data-v-523a0579] {
|
|
59
59
|
display: flex;
|
|
60
60
|
gap: 4px;
|
|
61
61
|
}
|
|
62
|
-
.array-item-content[data-v-
|
|
62
|
+
.array-item-content[data-v-523a0579] {
|
|
63
63
|
padding: 12px;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
|
|
67
|
-
.formily-form-item[data-v-
|
|
67
|
+
.formily-form-item[data-v-f9c057c6] {
|
|
68
68
|
display: flex;
|
|
69
69
|
width: 100%;
|
|
70
70
|
box-sizing: border-box;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
/* Inline 布局 */
|
|
74
|
-
.formily-form-item--inline[data-v-
|
|
74
|
+
.formily-form-item--inline[data-v-f9c057c6] {
|
|
75
75
|
flex-direction: row;
|
|
76
76
|
align-items: center;
|
|
77
77
|
gap: 12px;
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
/* Vertical 布局 */
|
|
81
|
-
.formily-form-item--vertical[data-v-
|
|
81
|
+
.formily-form-item--vertical[data-v-f9c057c6] {
|
|
82
82
|
flex-direction: column;
|
|
83
83
|
align-items: flex-start;
|
|
84
84
|
gap: 8px;
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
/* Label 样式 */
|
|
88
|
-
.formily-form-item__label[data-v-
|
|
88
|
+
.formily-form-item__label[data-v-f9c057c6] {
|
|
89
89
|
color: var(--el-text-color-regular);
|
|
90
90
|
font-size: 14px;
|
|
91
91
|
line-height: 32px;
|
|
92
92
|
white-space: nowrap;
|
|
93
93
|
flex-shrink: 0;
|
|
94
94
|
}
|
|
95
|
-
.formily-form-item--inline .formily-form-item__label[data-v-
|
|
95
|
+
.formily-form-item--inline .formily-form-item__label[data-v-f9c057c6] {
|
|
96
96
|
min-width: 80px;
|
|
97
97
|
}
|
|
98
|
-
.formily-form-item--vertical .formily-form-item__label[data-v-
|
|
98
|
+
.formily-form-item--vertical .formily-form-item__label[data-v-f9c057c6] {
|
|
99
99
|
text-align: left;
|
|
100
100
|
line-height: 24px;
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
/* 必填标记 */
|
|
104
|
-
.formily-form-item__required[data-v-
|
|
104
|
+
.formily-form-item__required[data-v-f9c057c6] {
|
|
105
105
|
color: var(--el-color-danger);
|
|
106
106
|
margin-right: 4px;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
/* Label 文本 */
|
|
110
|
-
.formily-form-item__label-text[data-v-
|
|
110
|
+
.formily-form-item__label-text[data-v-f9c057c6] {
|
|
111
111
|
flex-shrink: 0;
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
/* Tooltip 图标 */
|
|
115
|
-
.formily-form-item__tooltip[data-v-
|
|
115
|
+
.formily-form-item__tooltip[data-v-f9c057c6] {
|
|
116
116
|
color: var(--el-text-color-secondary);
|
|
117
117
|
cursor: help;
|
|
118
118
|
font-size: 14px;
|
|
119
119
|
flex-shrink: 0;
|
|
120
120
|
}
|
|
121
|
-
.formily-form-item__tooltip[data-v-
|
|
121
|
+
.formily-form-item__tooltip[data-v-f9c057c6]:hover {
|
|
122
122
|
color: var(--el-color-primary);
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
/* Content 区域 */
|
|
126
|
-
.formily-form-item__content[data-v-
|
|
126
|
+
.formily-form-item__content[data-v-f9c057c6] {
|
|
127
127
|
flex: 1;
|
|
128
128
|
min-width: 0;
|
|
129
129
|
}
|
|
130
|
-
.formily-form-item--vertical .formily-form-item__content[data-v-
|
|
130
|
+
.formily-form-item--vertical .formily-form-item__content[data-v-f9c057c6] {
|
|
131
131
|
width: 100%;
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
/* 响应式:小屏幕自动切换为 vertical */
|
|
135
135
|
@media (max-width: 768px) {
|
|
136
|
-
.formily-form-item--inline[data-v-
|
|
136
|
+
.formily-form-item--inline[data-v-f9c057c6] {
|
|
137
137
|
flex-direction: column;
|
|
138
138
|
align-items: flex-start;
|
|
139
139
|
gap: 8px;
|
|
140
140
|
}
|
|
141
|
-
.formily-form-item--inline .formily-form-item__label[data-v-
|
|
141
|
+
.formily-form-item--inline .formily-form-item__label[data-v-f9c057c6] {
|
|
142
142
|
text-align: left;
|
|
143
143
|
}
|
|
144
144
|
}
|
|
@@ -166,6 +166,12 @@
|
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
|
|
169
|
+
.formily-form-container[data-v-0ae4003a] {
|
|
170
|
+
display: flex;
|
|
171
|
+
flex-direction: column;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
|
|
169
175
|
.formily-grid[data-v-3e87dffd] {
|
|
170
176
|
width: 100%;
|
|
171
177
|
}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { Component } from "vue";
|
|
2
2
|
import { ISchema } from "@formily/vue";
|
|
3
3
|
|
|
4
|
+
//#region src/components/common/setterPresets.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Setter 配置类型
|
|
7
|
+
*/
|
|
8
|
+
interface SetterConfig {
|
|
9
|
+
basicSetter: Record<string, ISchema>;
|
|
10
|
+
componentSetter: ISchema;
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
4
13
|
//#region src/types.d.ts
|
|
5
14
|
interface ComponentConfig {
|
|
6
15
|
name: string;
|
|
@@ -11,7 +20,7 @@ interface ComponentConfig {
|
|
|
11
20
|
}
|
|
12
21
|
interface FormilyComponent {
|
|
13
22
|
component: Component;
|
|
14
|
-
setterSchema: ISchema;
|
|
23
|
+
setterSchema: ISchema | SetterConfig;
|
|
15
24
|
config: ComponentConfig;
|
|
16
25
|
defaultSchema: ISchema;
|
|
17
26
|
}
|
|
@@ -48,4 +57,4 @@ declare const components: {
|
|
|
48
57
|
FormContainer: FormilyComponent;
|
|
49
58
|
};
|
|
50
59
|
//#endregion
|
|
51
|
-
export { Array, ArrayItem, Checkbox, DatePicker, Divider, FormContainer, type FormilyComponent, Grid, Input, InputNumber, Radio, Select, Space, Switch, TextArea, components };
|
|
60
|
+
export { Array, ArrayItem, Checkbox, DatePicker, Divider, FormContainer, type FormilyComponent, Grid, Input, InputNumber, Radio, Select, type SetterConfig, Space, Switch, TextArea, components };
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Fragment as e,computed as t,createBlock as n,createCommentVNode as r,createElementBlock as i,createElementVNode as a,createTextVNode as o,createVNode as s,defineComponent as c,inject as l,normalizeClass as u,normalizeStyle as d,openBlock as f,provide as p,renderList as m,renderSlot as h,resolveComponent as g,toDisplayString as _,unref as v,withCtx as y}from"vue";import{QuestionFilled as b}from"@element-plus/icons-vue";import{ElTooltip as x}from"element-plus";var ee={type:`object`,properties:{minItems:{type:`number`,title:`最少项数`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`minItems`,"x-component-props":{min:0}},maxItems:{type:`number`,title:`最多项数`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`maxItems`,"x-component-props":{min:0}}}},S=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};const te={class:`formily-array`},C={class:`array-header`},ne={key:0,class:`array-title`},re={class:`array-actions`},ie={class:`array-content`};var ae={component:S(c({name:`Array`,inheritAttrs:!1,__name:`ui`,props:{title:{},onAdd:{type:Function},onPush:{type:Function},onUnshift:{type:Function}},setup(e){let t=e;return(e,n)=>{let c=g(`ElButton`);return f(),i(`div`,te,[a(`div`,C,[t.title?(f(),i(`div`,ne,_(t.title),1)):r(``,!0),a(`div`,re,[s(c,{type:`primary`,size:`small`,onClick:t.onAdd},{default:y(()=>[...n[0]||=[o(` 添加到末尾 `,-1)]]),_:1},8,[`onClick`]),s(c,{size:`small`,onClick:t.onUnshift},{default:y(()=>[...n[1]||=[o(` 添加到开头 `,-1)]]),_:1},8,[`onClick`])])]),a(`div`,ie,[h(e.$slots,`default`,{},void 0,!0)])])}}}),[[`__scopeId`,`data-v-199a477c`]]),setterSchema:ee,config:{name:`数组容器`,icon:`Grid`,category:`容器`,description:`数组字段容器`},defaultSchema:{type:`array`,title:`数组容器`,"x-component":`Array`,"x-decorator":`FormItem`,items:{type:`object`,"x-component":`ArrayItem`,properties:{}}}},oe={type:`object`,properties:{}};const se={class:`formily-array-item`},ce={class:`array-item-header`},le={class:`array-item-index`},ue={class:`array-item-actions`},de={class:`array-item-content`};var fe={component:S(c({name:`ArrayItem`,inheritAttrs:!1,__name:`ui`,props:{arrayIndex:{},onAdd:{type:Function},onRemove:{type:Function},onMoveUp:{type:Function},onMoveDown:{type:Function}},setup(e){let t=e;return(e,n)=>{let r=g(`ElButton`);return f(),i(`div`,se,[a(`div`,ce,[a(`div`,le,` # `+_((t.arrayIndex??0)+1),1),a(`div`,ue,[s(r,{text:``,type:`primary`,size:`small`,onClick:t.onAdd},{default:y(()=>[...n[3]||=[o(` 添加 `,-1)]]),_:1},8,[`onClick`]),s(r,{text:``,size:`small`,onClick:n[0]||=()=>t.onMoveUp?.(t.arrayIndex)},{default:y(()=>[...n[4]||=[o(` 上移 `,-1)]]),_:1}),s(r,{text:``,size:`small`,onClick:n[1]||=()=>t.onMoveDown?.(t.arrayIndex)},{default:y(()=>[...n[5]||=[o(` 下移 `,-1)]]),_:1}),s(r,{text:``,type:`danger`,size:`small`,onClick:n[2]||=()=>t.onRemove?.(t.arrayIndex)},{default:y(()=>[...n[6]||=[o(` 删除 `,-1)]]),_:1})])]),a(`div`,de,[h(e.$slots,`default`,{},void 0,!0)])])}}}),[[`__scopeId`,`data-v-189fa67a`]]),setterSchema:oe,config:{name:`数组项`,icon:`List`,category:`容器`,description:`数组项容器`,hidden:!0},defaultSchema:{type:`object`,"x-component":`ArrayItem`,"x-decorator":`FormItem`,properties:{}}};function pe(){return{title:{type:`string`,title:`标题`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`title`},required:{type:`boolean`,title:`必填标记`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`required`,"x-component-props":{activeText:`显示`,inactiveText:`隐藏`}},tooltip:{type:`string`,title:`提示信息`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.tooltip`,"x-component-props":{placeholder:`鼠标悬停时显示的提示`}},labelWidth:{type:`string`,title:`标签宽度`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.labelWidth`,"x-component-props":{placeholder:`如: 100px, auto`}},layout:{type:`string`,title:`布局方式`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-component-props.layout`,enum:[{label:`继承`,value:`inherit`},{label:`行内`,value:`inline`},{label:`垂直`,value:`vertical`}]},labelAlign:{type:`string`,title:`标签对齐`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-component-props.labelAlign`,enum:[{label:`继承`,value:`inherit`},{label:`左对齐`,value:`left`},{label:`右对齐`,value:`right`}]}}}function me(e){let{placeholder:t=!0,clearable:n=!0,disabled:r=!0,readonly:i=!0}=e||{},a={};return t&&(a.placeholder={type:`string`,title:`占位符`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.placeholder`}),n&&(a.clearable={type:`boolean`,title:`可清空`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.clearable`}),r&&(a.disabled={type:`string`,title:`禁用`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-component-props.disabled`,enum:[{label:`继承`,value:`inherit`},{label:`是`,value:!0},{label:`否`,value:!1}]}),i&&(a.readonly={type:`boolean`,title:`只读`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.readonly`}),a}function he(){return{size:{type:`string`,title:`尺寸`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-component-props.size`,enum:[{label:`继承`,value:`inherit`},{label:`大`,value:`large`},{label:`默认`,value:`default`},{label:`小`,value:`small`}]}}}function w(e,t){let{includeTitle:n=!0,includeInput:r=!0,includeSize:i=!1}=t||{},a={};if(n&&Object.assign(a,pe()),r){let e=typeof r==`object`?r:void 0;Object.assign(a,me(e))}return i&&Object.assign(a,he()),Object.assign(a,e),{type:`object`,properties:a}}var T=w({min:{type:`number`,title:`最少选择数`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.min`,"x-component-props":{min:0}},max:{type:`number`,title:`最多选择数`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.max`,"x-component-props":{min:0}},options:{type:`array`,title:`选项列表`,"x-component":`ArrayItems`,"x-decorator":`FormItem`,"x-path":`enum`,"x-decorator-props":{inset:!1,bordered:!1,wrapperWrap:!1,labelWrap:!1,fullness:!1,layout:`vertical`,labelAlign:`left`},items:{type:`object`,properties:{space:{type:`void`,"x-component":`Space`,properties:{kv:{type:`void`,properties:{label:{type:`string`,title:`标签`,"x-decorator":`FormItem`,"x-component":`Input`,"x-component-props":{placeholder:`显示文本`},"x-decorator-props":{labelWidth:`42px`}},value:{type:`string`,title:`值`,"x-decorator":`FormItem`,"x-component":`Input`,"x-component-props":{placeholder:`选项值`},"x-decorator-props":{labelWidth:`42px`}}}},remove:{type:`void`,"x-decorator":`FormItem`,"x-component":`ArrayItems.Remove`}}}}},properties:{add:{type:`void`,title:`添加选项`,"x-component":`ArrayItems.Addition`}}}},{includeTitle:!0,includeInput:{placeholder:!1,clearable:!1,disabled:!0,readonly:!1},includeSize:!1});const E=Symbol(`formContainer`),D={key:0,class:`formily-form-item__required`},O={class:`formily-form-item__label-text`},k={class:`formily-form-item__content`};var A=S(c({name:`FormItemLayout`,inheritAttrs:!1,__name:`FormItemLayout`,props:{title:{},required:{type:Boolean},tooltip:{},labelWidth:{},layout:{},labelAlign:{}},setup(e){let o=e,c=l(E,t(()=>({layout:`vertical`,labelWidth:`auto`,labelAlign:`left`}))),p=t(()=>`formily-form-item--${o.layout===`inherit`||!o.layout?c.value.layout:o.layout}`),m=t(()=>({width:(o.labelWidth===`0`||o.labelWidth===`inherit`||!o.labelWidth?void 0:o.labelWidth)||c.value.labelWidth,textAlign:o.labelAlign===`inherit`||!o.labelAlign?c.value.labelAlign:o.labelAlign}));return(e,t)=>{let c=g(`el-icon`);return f(),i(`div`,{class:u([`formily-form-item`,p.value])},[o.title?(f(),i(`div`,{key:0,class:`formily-form-item__label`,style:d(m.value)},[o.required?(f(),i(`span`,D,`*`)):r(``,!0),a(`span`,O,_(o.title),1),o.tooltip?(f(),n(v(x),{key:1,content:o.tooltip,placement:`top`,effect:`dark`},{default:y(()=>[s(c,{class:`formily-form-item__tooltip`},{default:y(()=>[s(v(b))]),_:1})]),_:1},8,[`content`])):r(``,!0)],4)):r(``,!0),a(`div`,k,[h(e.$slots,`default`,{},void 0,!0)])],2)}}}),[[`__scopeId`,`data-v-1cbbe764`]]),j={component:c({name:`CheckboxComponent`,inheritAttrs:!1,__name:`ui`,props:{title:{},required:{type:Boolean},tooltip:{},labelWidth:{},layout:{},labelAlign:{},value:{},onChange:{type:Function},options:{},min:{},max:{},disabled:{type:Boolean}},setup(e){let t=e;return(e,r)=>{let i=g(`ElCheckboxGroup`);return f(),n(A,{title:t.title,required:t.required,tooltip:t.tooltip,"label-width":t.labelWidth,layout:t.layout,"label-align":t.labelAlign},{default:y(()=>[s(i,{"model-value":t.value,options:t.options,min:t.min,max:t.max,disabled:t.disabled,"onUpdate:modelValue":t.onChange},null,8,[`model-value`,`options`,`min`,`max`,`disabled`,`onUpdate:modelValue`])]),_:1},8,[`title`,`required`,`tooltip`,`label-width`,`layout`,`label-align`])}}}),setterSchema:T,config:{name:`复选框`,icon:`Select`,category:`选择`,description:`多选控件`},defaultSchema:{type:`array`,title:`复选框`,"x-component":`Checkbox`,"x-decorator":`FormItem`,enum:[{label:`选项1`,value:`1`},{label:`选项2`,value:`2`},{label:`选项3`,value:`3`}]}},M=w({type:{type:`string`,title:`类型`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-component-props.type`,enum:[{label:`日期`,value:`date`},{label:`日期时间`,value:`datetime`},{label:`日期范围`,value:`daterange`},{label:`日期时间范围`,value:`datetimerange`},{label:`年`,value:`year`},{label:`月`,value:`month`},{label:`周`,value:`week`}]},format:{type:`string`,title:`显示格式`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.format`,"x-component-props":{placeholder:`如: YYYY-MM-DD`}},valueFormat:{type:`string`,title:`值格式`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.valueFormat`,"x-component-props":{placeholder:`如: YYYY-MM-DD`}},editable:{type:`boolean`,title:`可输入`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.editable`}},{includeTitle:!0,includeInput:{placeholder:!0,clearable:!0,disabled:!0,readonly:!0},includeSize:!1}),N={component:c({name:`DatePickerComponent`,inheritAttrs:!1,__name:`ui`,props:{title:{},required:{type:Boolean},tooltip:{},labelWidth:{},layout:{},labelAlign:{},value:{},onChange:{type:Function},placeholder:{},format:{},valueFormat:{},type:{},clearable:{type:Boolean},editable:{type:Boolean},disabled:{type:Boolean},readonly:{type:Boolean}},setup(e){let t=e;return(e,r)=>{let i=g(`ElDatePicker`);return f(),n(A,{title:t.title,required:t.required,tooltip:t.tooltip,"label-width":t.labelWidth,layout:t.layout,"label-align":t.labelAlign},{default:y(()=>[s(i,{placeholder:t.placeholder,"model-value":t.value,format:t.format,"value-format":t.valueFormat,type:t.type||`date`,clearable:t.clearable,editable:t.editable,disabled:t.disabled,readonly:t.readonly,"onUpdate:modelValue":t.onChange},null,8,[`placeholder`,`model-value`,`format`,`value-format`,`type`,`clearable`,`editable`,`disabled`,`readonly`,`onUpdate:modelValue`])]),_:1},8,[`title`,`required`,`tooltip`,`label-width`,`layout`,`label-align`])}}}),setterSchema:M,config:{name:`日期选择器`,icon:`Calendar`,category:`基础`,description:`日期选择控件`},defaultSchema:{type:`string`,title:`日期选择器`,"x-component":`DatePicker`,"x-decorator":`FormItem`,"x-component-props":{placeholder:`请选择日期`}}},P={component:S(c({name:`Divider`,inheritAttrs:!1,__name:`ui`,props:{orientation:{},dashed:{type:Boolean}},setup(e){let t=e;return(e,n)=>(f(),i(`div`,{class:u([`formily-divider`,{"divider-horizontal":t.orientation===`horizontal`,"divider-vertical":t.orientation===`vertical`,"divider-dashed":t.dashed}])},null,2))}}),[[`__scopeId`,`data-v-d0d9b7c7`]]),setterSchema:{type:`object`,properties:{orientation:{type:`string`,title:`方向`,"x-component":`Radio.Group`,"x-decorator":`FormItem`,"x-path":`x-component-props.orientation`,enum:[{label:`水平`,value:`horizontal`},{label:`垂直`,value:`vertical`}]},dashed:{type:`boolean`,title:`虚线`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.dashed`}}},config:{name:`分割线`,icon:`Minus`,category:`布局`,description:`内容分割线`},defaultSchema:{type:`void`,title:`分割线`,"x-component":`Divider`,"x-droppable":!1,"x-component-props":{orientation:`horizontal`,dashed:!1}}},F=w({disabled:{type:`boolean`,title:`全局禁用`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.disabled`,"x-component-props":{activeText:`是`,inactiveText:`否`}},layout:{type:`string`,title:`全局布局`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-component-props.layout`,enum:[{label:`继承`,value:`inherit`},{label:`水平`,value:`horizontal`},{label:`垂直`,value:`vertical`},{label:`行内`,value:`inline`}]},labelWidth:{type:`string`,title:`全局标签宽度`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.labelWidth`,"x-component-props":{placeholder:`如: 100px, auto`}},labelAlign:{type:`string`,title:`全局标签对齐`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-component-props.labelAlign`,enum:[{label:`继承`,value:`inherit`},{label:`左对齐`,value:`left`},{label:`右对齐`,value:`right`},{label:`顶部`,value:`top`}]},size:{type:`string`,title:`全局尺寸`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-component-props.size`,enum:[{label:`大`,value:`large`},{label:`默认`,value:`default`},{label:`小`,value:`small`}]}},{includeTitle:!0,includeInput:!1,includeSize:!1}),I={component:c({name:`FormContainer`,__name:`ui`,props:{title:{},disabled:{type:Boolean},layout:{},labelWidth:{},labelAlign:{},size:{}},setup(e){let n=e;return p(E,t(()=>({disabled:n.disabled,layout:n.layout,labelWidth:n.labelWidth,labelAlign:n.labelAlign,size:n.size}))),(e,t)=>h(e.$slots,`default`)}}),setterSchema:F,config:{name:`表单容器`,icon:`Box`,category:`布局`,description:`表单容器,可以为内部组件提供统一配置`},defaultSchema:{type:`void`,title:`表单容器`,"x-component":`FormContainer`,"x-component-props":{layout:`horizontal`,labelWidth:`100px`,labelAlign:`right`,size:`default`,disabled:!1},properties:{}}},L={component:S(c({name:`Grid`,inheritAttrs:!1,__name:`ui`,props:{columns:{},rows:{},columnGap:{},rowGap:{}},setup(e){let t=e;return(e,n)=>(f(),i(`div`,{class:`formily-grid`,style:d({display:`grid`,gridTemplateColumns:`repeat(${t.columns||3}, 1fr)`,gridTemplateRows:t.rows===`auto`?`auto`:`repeat(${t.rows||`auto`}, 1fr)`,columnGap:`${t.columnGap||16}px`,rowGap:`${t.rowGap||16}px`})},[h(e.$slots,`default`,{},void 0,!0)],4))}}),[[`__scopeId`,`data-v-3e87dffd`]]),setterSchema:{type:`object`,properties:{columns:{type:`number`,title:`列数`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.columns`,"x-component-props":{min:1,max:12}},columnGap:{type:`number`,title:`列间距 (px)`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.columnGap`,"x-component-props":{min:0,max:100}},rowGap:{type:`number`,title:`行间距 (px)`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.rowGap`,"x-component-props":{min:0,max:100}}}},config:{name:`Grid 布局`,icon:`Grid`,category:`布局`,description:`Grid 网格布局容器`},defaultSchema:{type:`void`,title:`Grid 容器`,"x-component":`Grid`,"x-component-props":{columns:3,rows:`auto`,columnGap:16,rowGap:16},properties:{}}},R=w({maxlength:{type:`number`,title:`最大长度`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.maxlength`,"x-component-props":{min:0}},showWordLimit:{type:`boolean`,title:`显示字数`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.showWordLimit`}},{includeTitle:!0,includeInput:!0,includeSize:!0});function ge(e){let n=l(E,t(()=>({disabled:!1,layout:`vertical`,labelWidth:`auto`,labelAlign:`left`,size:`default`})));return t(()=>{let t={...e};return e.disabled===`inherit`&&(t.disabled=n.value.disabled),e.size===`inherit`&&(t.size=n.value.size),e.layout===`inherit`&&(t.layout=n.value.layout),e.labelAlign===`inherit`&&(t.labelAlign=n.value.labelAlign),e.labelWidth===`inherit`&&(t.labelWidth=n.value.labelWidth),t})}var _e={component:S(c({name:`InputComponent`,inheritAttrs:!1,__name:`ui`,props:{title:{},required:{type:Boolean},tooltip:{},labelWidth:{},layout:{},labelAlign:{},value:{},onChange:{type:Function},placeholder:{},maxlength:{},showWordLimit:{type:Boolean},clearable:{type:Boolean},prefixIcon:{},suffixIcon:{},disabled:{type:[Boolean,String]},readonly:{type:Boolean},size:{}},setup(e){let t=e,r=ge(t);return(e,i)=>{let a=g(`ElInput`);return f(),n(A,{title:t.title,required:t.required,tooltip:t.tooltip,"label-width":v(r).labelWidth,layout:v(r).layout,"label-align":v(r).labelAlign},{default:y(()=>[s(a,{placeholder:t.placeholder,maxlength:t.maxlength,"show-word-limit":t.showWordLimit,clearable:t.clearable,"prefix-icon":t.prefixIcon,"suffix-icon":t.suffixIcon,disabled:v(r).disabled,readonly:t.readonly,size:v(r).size,"model-value":t.value,"onUpdate:modelValue":t.onChange},null,8,[`placeholder`,`maxlength`,`show-word-limit`,`clearable`,`prefix-icon`,`suffix-icon`,`disabled`,`readonly`,`size`,`model-value`,`onUpdate:modelValue`])]),_:1},8,[`title`,`required`,`tooltip`,`label-width`,`layout`,`label-align`])}}}),[[`__scopeId`,`data-v-cf970f25`]]),setterSchema:R,config:{name:`输入框`,icon:`EditPen`,category:`基础`,description:`单行文本输入框`},defaultSchema:{type:`string`,title:`输入框`,"x-component":`Input`,"x-decorator":`FormItem`,"x-component-props":{placeholder:`请输入`}}},ve=w({min:{type:`number`,title:`最小值`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.min`},max:{type:`number`,title:`最大值`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.max`},step:{type:`number`,title:`步长`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.step`,"x-component-props":{min:0}},precision:{type:`number`,title:`精度`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.precision`,"x-component-props":{min:0,max:10}},controls:{type:`boolean`,title:`显示控制按钮`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.controls`},controlsPosition:{type:`string`,title:`控制按钮位置`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-component-props.controlsPosition`,enum:[{label:`默认`,value:``},{label:`右侧`,value:`right`}]}},{includeTitle:!0,includeInput:{placeholder:!0,clearable:!1,disabled:!0,readonly:!0},includeSize:!1}),z={component:c({name:`InputNumberComponent`,inheritAttrs:!1,__name:`ui`,props:{title:{},required:{type:Boolean},tooltip:{},labelWidth:{},layout:{},labelAlign:{},value:{},onChange:{type:Function},min:{},max:{},step:{},precision:{},placeholder:{},controls:{type:Boolean},controlsPosition:{},disabled:{type:Boolean},readonly:{type:Boolean}},setup(e){let t=e;return(e,r)=>{let i=g(`ElInputNumber`);return f(),n(A,{title:t.title,required:t.required,tooltip:t.tooltip,"label-width":t.labelWidth,layout:t.layout,"label-align":t.labelAlign},{default:y(()=>[s(i,{placeholder:t.placeholder,"model-value":t.value,min:t.min,max:t.max,step:t.step,precision:t.precision,controls:t.controls,"controls-position":t.controlsPosition||void 0,disabled:t.disabled,readonly:t.readonly,"onUpdate:modelValue":t.onChange},null,8,[`placeholder`,`model-value`,`min`,`max`,`step`,`precision`,`controls`,`controls-position`,`disabled`,`readonly`,`onUpdate:modelValue`])]),_:1},8,[`title`,`required`,`tooltip`,`label-width`,`layout`,`label-align`])}}}),setterSchema:ve,config:{name:`数字输入框`,icon:`Histogram`,category:`基础`,description:`数字输入控件`},defaultSchema:{type:`number`,title:`数字输入框`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-component-props":{placeholder:`请输入数字`}}},ye=w({options:{type:`array`,title:`选项列表`,"x-component":`ArrayItems`,"x-decorator":`FormItem`,"x-path":`enum`,items:{type:`object`,properties:{space:{type:`void`,"x-component":`Space`,properties:{kv:{type:`void`,properties:{label:{type:`string`,title:`标签`,"x-decorator":`FormItem`,"x-component":`Input`,"x-component-props":{placeholder:`显示文本`},"x-decorator-props":{labelWidth:`42px`}},value:{type:`string`,title:`值`,"x-decorator":`FormItem`,"x-component":`Input`,"x-component-props":{placeholder:`选项值`},"x-decorator-props":{labelWidth:`42px`}}}},remove:{type:`void`,"x-decorator":`FormItem`,"x-component":`ArrayItems.Remove`}}}}},properties:{add:{type:`void`,title:`添加选项`,"x-component":`ArrayItems.Addition`}}}},{includeTitle:!0,includeInput:{placeholder:!1,clearable:!1,disabled:!0,readonly:!1},includeSize:!1}),be={component:c({name:`RadioComponent`,inheritAttrs:!1,__name:`ui`,props:{title:{},required:{type:Boolean},tooltip:{},labelWidth:{},layout:{},labelAlign:{},value:{},onChange:{type:Function},options:{},disabled:{type:Boolean}},setup(t){let r=t;return(t,a)=>{let c=g(`ElRadio`),l=g(`ElRadioGroup`);return f(),n(A,{title:r.title,required:r.required,tooltip:r.tooltip,"label-width":r.labelWidth,layout:r.layout,"label-align":r.labelAlign},{default:y(()=>[s(l,{"model-value":r.value,disabled:r.disabled,"onUpdate:modelValue":a[0]||=e=>r.onChange?.(e)},{default:y(()=>[(f(!0),i(e,null,m(r.options,e=>(f(),n(c,{key:e.value,value:e.value},{default:y(()=>[o(_(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`model-value`,`disabled`])]),_:1},8,[`title`,`required`,`tooltip`,`label-width`,`layout`,`label-align`])}}}),setterSchema:ye,config:{name:`单选框`,icon:`CircleCheck`,category:`选择`,description:`单选控件`},defaultSchema:{type:`string`,title:`单选框`,"x-component":`Radio.Group`,"x-decorator":`FormItem`,enum:[{label:`选项1`,value:`1`},{label:`选项2`,value:`2`},{label:`选项3`,value:`3`}]}},xe=w({multiple:{title:`多选`,type:`boolean`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.multiple`},filterable:{title:`可搜索`,type:`boolean`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.filterable`},allowCreate:{title:`允许创建`,type:`boolean`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.allowCreate`},options:{type:`array`,title:`选项列表`,"x-component":`ArrayItems`,"x-decorator":`FormItem`,"x-path":`enum`,"x-decorator-props":{inset:!1,bordered:!1,wrapperWrap:!1,labelWrap:!1,fullness:!1,layout:`vertical`,labelAlign:`left`},items:{type:`object`,properties:{space:{type:`void`,"x-component":`Space`,properties:{kv:{type:`void`,properties:{label:{type:`string`,title:`标签`,"x-decorator":`FormItem`,"x-component":`Input`,"x-component-props":{placeholder:`显示文本`},"x-decorator-props":{labelWidth:`42px`}},value:{type:`string`,title:`值`,"x-decorator":`FormItem`,"x-component":`Input`,"x-component-props":{placeholder:`选项值`},"x-decorator-props":{labelWidth:`42px`}}}},remove:{type:`void`,"x-decorator":`FormItem`,"x-component":`ArrayItems.Remove`}}}}},properties:{add:{type:`void`,title:`添加选项`,"x-component":`ArrayItems.Addition`}}}},{includeTitle:!0,includeInput:{placeholder:!0,clearable:!0,disabled:!0,readonly:!1},includeSize:!1}),Se={component:c({name:`SelectComponent`,inheritAttrs:!1,__name:`ui`,props:{title:{},required:{type:Boolean},tooltip:{},labelWidth:{},layout:{},labelAlign:{},value:{},onChange:{type:Function},placeholder:{},options:{},multiple:{type:Boolean},clearable:{type:Boolean},filterable:{type:Boolean},allowCreate:{type:Boolean},disabled:{type:Boolean}},setup(t){let r=t;return(t,a)=>{let o=g(`ElOption`),c=g(`ElSelect`);return f(),n(A,{title:r.title,required:r.required,tooltip:r.tooltip,"label-width":r.labelWidth,layout:r.layout,"label-align":r.labelAlign},{default:y(()=>[s(c,{placeholder:r.placeholder,"model-value":r.value,multiple:r.multiple,clearable:r.clearable,filterable:r.filterable,"allow-create":r.allowCreate,disabled:r.disabled,"onUpdate:modelValue":r.onChange},{default:y(()=>[(f(!0),i(e,null,m(r.options,e=>(f(),n(o,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`placeholder`,`model-value`,`multiple`,`clearable`,`filterable`,`allow-create`,`disabled`,`onUpdate:modelValue`])]),_:1},8,[`title`,`required`,`tooltip`,`label-width`,`layout`,`label-align`])}}}),setterSchema:xe,config:{name:`下拉选择`,icon:`ArrowDown`,category:`选择`,description:`下拉选择器`},defaultSchema:{type:`string`,title:`下拉选择`,"x-component":`Select`,"x-decorator":`FormItem`,"x-component-props":{placeholder:`请选择`},enum:[{label:`选项1`,value:`1`},{label:`选项2`,value:`2`},{label:`选项3`,value:`3`}]}},Ce={component:c({name:`Space`,inheritAttrs:!1,__name:`ui`,props:{direction:{},size:{}},setup(e){let n=e,r=t(()=>{let{direction:e,size:t}=n;return e===`vertical`?{width:`100%`,height:`${t||8}px`}:{width:`${t||8}px`,height:`100%`}});return(e,t)=>(f(),i(`div`,{style:d(r.value)},null,4))}}),setterSchema:{type:`object`,properties:{direction:{type:`string`,title:`方向`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.direction`,"x-component-props":{activeText:`水平`,inactiveText:`垂直`,activeValue:`horizontal`,inactiveValue:`vertical`}},size:{type:`number`,title:`间距 (px)`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.size`,"x-component-props":{min:0,max:100}}}},config:{name:`Space 间距`,icon:`Grid`,category:`布局`,description:`快捷间距容器`},defaultSchema:{type:`void`,title:`Space 间距`,"x-component":`Space`,"x-droppable":!1,"x-component-props":{direction:`horizontal`,size:8,align:`center`}}},we=w({activeText:{type:`string`,title:`激活文字`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.activeText`},inactiveText:{type:`string`,title:`未激活文字`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.inactiveText`},activeValue:{type:`string`,title:`激活值`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.activeValue`,"x-component-props":{placeholder:`默认为 true`}},inactiveValue:{type:`string`,title:`未激活值`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.inactiveValue`,"x-component-props":{placeholder:`默认为 false`}},inlinePrompt:{type:`boolean`,title:`内联文字`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.inlinePrompt`}},{includeTitle:!0,includeInput:{placeholder:!1,clearable:!1,disabled:!0,readonly:!1},includeSize:!1}),Te={component:c({name:`SwitchComponent`,inheritAttrs:!1,__name:`ui`,props:{title:{},required:{type:Boolean},tooltip:{},labelWidth:{},layout:{},labelAlign:{},value:{type:Boolean},onChange:{type:Function},activeText:{},inactiveText:{},activeValue:{},inactiveValue:{},inlinePrompt:{type:Boolean},disabled:{type:Boolean}},setup(e){let t=e;return(e,r)=>{let i=g(`ElSwitch`);return f(),n(A,{title:t.title,required:t.required,tooltip:t.tooltip,"label-width":t.labelWidth,layout:t.layout,"label-align":t.labelAlign},{default:y(()=>[s(i,{"model-value":t.value,"active-text":t.activeText,"inactive-text":t.inactiveText,"active-value":t.activeValue,"inactive-value":t.inactiveValue,"inline-prompt":t.inlinePrompt,disabled:t.disabled,"onUpdate:modelValue":t.onChange},null,8,[`model-value`,`active-text`,`inactive-text`,`active-value`,`inactive-value`,`inline-prompt`,`disabled`,`onUpdate:modelValue`])]),_:1},8,[`title`,`required`,`tooltip`,`label-width`,`layout`,`label-align`])}}}),setterSchema:we,config:{name:`开关`,icon:`Switch`,category:`基础`,description:`开关控件`},defaultSchema:{type:`boolean`,title:`开关`,"x-component":`Switch`,"x-decorator":`FormItem`}},Ee=w({rows:{type:`number`,title:`行数`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.rows`,"x-component-props":{min:1,max:20,step:1}},maxlength:{type:`number`,title:`最大长度`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.maxlength`,"x-component-props":{min:0}},showWordLimit:{type:`boolean`,title:`显示字数限制`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.showWordLimit`},autosize:{type:`boolean`,title:`自适应高度`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.autosize`},resize:{type:`string`,title:`缩放`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-component-props.resize`,enum:[{label:`无`,value:`none`},{label:`垂直`,value:`vertical`},{label:`水平`,value:`horizontal`},{label:`全部`,value:`both`}]}},{includeTitle:!0,includeInput:!0,includeSize:!1}),De={component:c({name:`TextAreaComponent`,inheritAttrs:!1,__name:`ui`,props:{title:{},required:{type:Boolean},tooltip:{},labelWidth:{},layout:{},labelAlign:{},value:{},onChange:{type:Function},placeholder:{},rows:{},maxlength:{},showWordLimit:{type:Boolean},autosize:{type:[Boolean,Object]},resize:{},disabled:{type:Boolean},readonly:{type:Boolean}},setup(e){let t=e;return(e,r)=>{let i=g(`ElInput`);return f(),n(A,{title:t.title,required:t.required,tooltip:t.tooltip,"label-width":t.labelWidth,layout:t.layout,"label-align":t.labelAlign},{default:y(()=>[s(i,{type:`textarea`,placeholder:t.placeholder,rows:t.rows,maxlength:t.maxlength,"show-word-limit":t.showWordLimit,autosize:t.autosize,resize:t.resize,disabled:t.disabled,readonly:t.readonly,"model-value":t.value,"onUpdate:modelValue":t.onChange},null,8,[`placeholder`,`rows`,`maxlength`,`show-word-limit`,`autosize`,`resize`,`disabled`,`readonly`,`model-value`,`onUpdate:modelValue`])]),_:1},8,[`title`,`required`,`tooltip`,`label-width`,`layout`,`label-align`])}}}),setterSchema:Ee,config:{name:`文本域`,icon:`Document`,category:`基础`,description:`多行文本输入框`},defaultSchema:{type:`string`,title:`文本域`,"x-component":`Textarea`,"x-decorator":`FormItem`,"x-component-props":{placeholder:`请输入`,rows:4}}};const B=_e,V=ae,H=fe,U=Se,W=j,G=be,K=N,q=De,J=Te,Y=z,X=L,Z=Ce,Q=P,$=I,Oe={Input:B,Array:V,ArrayItem:H,Select:U,Checkbox:W,Radio:G,DatePicker:K,TextArea:q,Switch:J,InputNumber:Y,Grid:X,Space:Z,Divider:Q,FormContainer:$};export{V as Array,H as ArrayItem,W as Checkbox,K as DatePicker,Q as Divider,$ as FormContainer,X as Grid,B as Input,Y as InputNumber,G as Radio,U as Select,Z as Space,J as Switch,q as TextArea,Oe as components};
|
|
1
|
+
import{Fragment as e,computed as t,createBlock as n,createCommentVNode as r,createElementBlock as i,createElementVNode as a,createTextVNode as o,createVNode as s,defineComponent as c,inject as l,normalizeClass as u,normalizeStyle as d,openBlock as f,provide as p,renderList as m,renderSlot as h,resolveComponent as g,toDisplayString as _,unref as v,withCtx as y}from"vue";import{QuestionFilled as b}from"@element-plus/icons-vue";import{ElTooltip as ee}from"element-plus";const x={title:{type:`string`,title:`标题`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`title`},required:{type:`boolean`,title:`必填`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`required`,"x-component-props":{activeText:`显示`,inactiveText:`隐藏`}},tooltip:{type:`string`,title:`提示信息`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.tooltip`,"x-component-props":{placeholder:`鼠标悬停时显示的提示`}},labelWidth:{type:`string`,title:`标签宽度`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.labelWidth`,"x-component-props":{placeholder:`如: 100px, auto`}},layout:{type:`string`,title:`布局方式`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-component-props.layout`,enum:[{label:`继承`,value:`inherit`},{label:`行内`,value:`inline`},{label:`垂直`,value:`vertical`}]},labelAlign:{type:`string`,title:`标签对齐`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-component-props.labelAlign`,enum:[{label:`继承`,value:`inherit`},{label:`左对齐`,value:`left`},{label:`右对齐`,value:`right`}]}},S={placeholder:{type:`string`,title:`占位符`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.placeholder`},clearable:{type:`boolean`,title:`可清空`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.clearable`}},C={pattern:{type:`string`,title:`UI 形态`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-pattern`,enum:[{label:`继承`,value:`inherit`},{label:`禁用`,value:`disabled`},{label:`只读`,value:`readOnly`},{label:`可编辑`,value:`editable`}]}},w={size:{type:`string`,title:`尺寸`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-component-props.size`,enum:[{label:`继承`,value:`inherit`},{label:`大`,value:`large`},{label:`默认`,value:`default`},{label:`小`,value:`small`}]}};var T={basicSetter:{...x,...C},componentSetter:{type:`object`,properties:{minItems:{type:`number`,title:`最少项数`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`minItems`,"x-component-props":{min:0}},maxItems:{type:`number`,title:`最多项数`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`maxItems`,"x-component-props":{min:0}}}}};const E=Symbol(`formContainer`);function D(e){let n=l(E,t(()=>({layout:`vertical`,labelWidth:`auto`,labelAlign:`left`,size:`default`,pattern:`inherit`})));return t(()=>{let t={...e};return t.pattern=e.pattern===`inherit`||!e.pattern?n.value.pattern||`inherit`:e.pattern,(!e.size||e.size===`inherit`)&&(t.size=n.value.size),(!e.layout||e.layout===`inherit`)&&(t.layout=n.value.layout),(!e.labelAlign||e.labelAlign===`inherit`)&&(t.labelAlign=n.value.labelAlign),(!e.labelWidth||e.labelWidth===`inherit`)&&(t.labelWidth=n.value.labelWidth),t})}var O=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};const te={class:`formily-array`},ne={class:`array-header`},re={key:0,class:`array-title`},ie={class:`array-actions`},ae={class:`array-content`};var oe={component:O(c({name:`Array`,inheritAttrs:!1,__name:`ui`,props:{title:{},pattern:{},onAdd:{type:Function},onPush:{type:Function},onUnshift:{type:Function}},setup(e){let n=e,c=D(n),l=t(()=>{let e=c.value.pattern;return e===`disabled`||e===`readOnly`});return(e,t)=>{let c=g(`ElButton`);return f(),i(`div`,te,[a(`div`,ne,[n.title?(f(),i(`div`,re,_(n.title),1)):r(``,!0),a(`div`,ie,[s(c,{type:`primary`,size:`small`,disabled:l.value,onClick:n.onAdd},{default:y(()=>[...t[0]||=[o(` 添加到末尾 `,-1)]]),_:1},8,[`disabled`,`onClick`]),s(c,{size:`small`,disabled:l.value,onClick:n.onUnshift},{default:y(()=>[...t[1]||=[o(` 添加到开头 `,-1)]]),_:1},8,[`disabled`,`onClick`])])]),a(`div`,ae,[h(e.$slots,`default`,{},void 0,!0)])])}}}),[[`__scopeId`,`data-v-815fbbb0`]]),setterSchema:T,config:{name:`数组容器`,icon:`Grid`,category:`容器`,description:`数组字段容器`},defaultSchema:{type:`array`,title:`数组容器`,"x-component":`Array`,"x-decorator":`FormItem`,"x-pattern":`inherit`,items:{type:`object`,"x-component":`ArrayItem`,properties:{}}}},se={basicSetter:{},componentSetter:{type:`object`,properties:{}}};const ce={class:`formily-array-item`},le={class:`array-item-header`},ue={class:`array-item-index`},de={class:`array-item-actions`},fe={class:`array-item-content`};var pe={component:O(c({name:`ArrayItem`,inheritAttrs:!1,__name:`ui`,props:{arrayIndex:{},pattern:{},onAdd:{type:Function},onRemove:{type:Function},onMoveUp:{type:Function},onMoveDown:{type:Function}},setup(e){let n=e,r=D(n),c=t(()=>{let e=r.value.pattern;return e===`disabled`||e===`readOnly`});return(e,t)=>{let r=g(`ElButton`);return f(),i(`div`,ce,[a(`div`,le,[a(`div`,ue,` # `+_((n.arrayIndex??0)+1),1),a(`div`,de,[s(r,{text:``,type:`primary`,size:`small`,disabled:c.value,onClick:n.onAdd},{default:y(()=>[...t[3]||=[o(` 添加 `,-1)]]),_:1},8,[`disabled`,`onClick`]),s(r,{text:``,size:`small`,disabled:c.value,onClick:t[0]||=()=>n.onMoveUp?.(n.arrayIndex)},{default:y(()=>[...t[4]||=[o(` 上移 `,-1)]]),_:1},8,[`disabled`]),s(r,{text:``,size:`small`,disabled:c.value,onClick:t[1]||=()=>n.onMoveDown?.(n.arrayIndex)},{default:y(()=>[...t[5]||=[o(` 下移 `,-1)]]),_:1},8,[`disabled`]),s(r,{text:``,type:`danger`,size:`small`,disabled:c.value,onClick:t[2]||=()=>n.onRemove?.(n.arrayIndex)},{default:y(()=>[...t[6]||=[o(` 删除 `,-1)]]),_:1},8,[`disabled`])])]),a(`div`,fe,[h(e.$slots,`default`,{},void 0,!0)])])}}}),[[`__scopeId`,`data-v-523a0579`]]),setterSchema:se,config:{name:`数组项`,icon:`List`,category:`容器`,description:`数组项容器`,hidden:!0},defaultSchema:{type:`object`,"x-component":`ArrayItem`,"x-decorator":`FormItem`,"x-pattern":`inherit`,properties:{}}},me={basicSetter:{...x,...C,...w},componentSetter:{type:`object`,properties:{min:{type:`number`,title:`最少选择数`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.min`,"x-component-props":{min:0}},max:{type:`number`,title:`最多选择数`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.max`,"x-component-props":{min:0}},options:{type:`array`,title:`选项列表`,"x-component":`ArrayItems`,"x-decorator":`FormItem`,"x-path":`enum`,"x-decorator-props":{inset:!1,bordered:!1,wrapperWrap:!1,labelWrap:!1,fullness:!1,layout:`vertical`,labelAlign:`left`},items:{type:`object`,properties:{space:{type:`void`,"x-component":`Space`,properties:{kv:{type:`void`,properties:{label:{type:`string`,title:`标签`,"x-decorator":`FormItem`,"x-component":`Input`,"x-component-props":{placeholder:`显示文本`},"x-decorator-props":{labelWidth:`42px`}},value:{type:`string`,title:`值`,"x-decorator":`FormItem`,"x-component":`Input`,"x-component-props":{placeholder:`选项值`},"x-decorator-props":{labelWidth:`42px`}}}},remove:{type:`void`,"x-decorator":`FormItem`,"x-component":`ArrayItems.Remove`}}}}},properties:{add:{type:`void`,title:`添加选项`,"x-component":`ArrayItems.Addition`}}}}}};const k={key:0,class:`formily-form-item__required`},A={class:`formily-form-item__label-text`},j={class:`formily-form-item__content`};var M=O(c({name:`FormItemLayout`,inheritAttrs:!1,__name:`FormItemLayout`,props:{title:{},required:{type:Boolean},tooltip:{},labelWidth:{},layout:{},labelAlign:{}},setup(e){let o=e,c=t(()=>`formily-form-item--${o.layout}`),l=t(()=>({width:o.labelWidth,textAlign:o.labelAlign}));return(e,t)=>{let p=g(`el-icon`);return f(),i(`div`,{class:u([`formily-form-item`,c.value])},[o.title?(f(),i(`div`,{key:0,class:`formily-form-item__label`,style:d(l.value)},[o.required?(f(),i(`span`,k,`*`)):r(``,!0),a(`span`,A,_(o.title),1),o.tooltip?(f(),n(v(ee),{key:1,content:o.tooltip,placement:`top`,effect:`dark`},{default:y(()=>[s(p,{class:`formily-form-item__tooltip`},{default:y(()=>[s(v(b))]),_:1})]),_:1},8,[`content`])):r(``,!0)],4)):r(``,!0),a(`div`,j,[h(e.$slots,`default`,{},void 0,!0)])],2)}}}),[[`__scopeId`,`data-v-f9c057c6`]]),N={component:c({name:`CheckboxComponent`,inheritAttrs:!1,__name:`ui`,props:{title:{},required:{type:Boolean},tooltip:{},labelWidth:{},layout:{},labelAlign:{},pattern:{},value:{},onChange:{type:Function},options:{},min:{},max:{},size:{}},setup(e){let r=e,i=D(r),a=t(()=>{let e=i.value.pattern;return{disabled:e===`disabled`,readonly:e===`readOnly`}}),o=t(()=>a.value.disabled||a.value.readonly);return(e,t)=>{let a=g(`ElCheckboxGroup`);return f(),n(M,{title:r.title,required:r.required,tooltip:r.tooltip,"label-width":v(i).labelWidth,layout:v(i).layout,"label-align":v(i).labelAlign},{default:y(()=>[s(a,{"model-value":r.value,options:r.options,min:r.min,max:r.max,disabled:o.value,size:v(i).size,"onUpdate:modelValue":r.onChange},null,8,[`model-value`,`options`,`min`,`max`,`disabled`,`size`,`onUpdate:modelValue`])]),_:1},8,[`title`,`required`,`tooltip`,`label-width`,`layout`,`label-align`])}}}),setterSchema:me,config:{name:`复选框`,icon:`Select`,category:`选择`,description:`多选控件`},defaultSchema:{type:`string`,title:`复选框`,"x-component":`Checkbox`,"x-decorator":`FormItem`,"x-pattern":`inherit`,enum:[{label:`选项1`,value:`1`},{label:`选项2`,value:`2`},{label:`选项3`,value:`3`}]}},P={basicSetter:{...x,...S,...C,...w},componentSetter:{type:`object`,properties:{type:{type:`string`,title:`类型`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-component-props.type`,enum:[{label:`日期`,value:`date`},{label:`日期时间`,value:`datetime`},{label:`日期范围`,value:`daterange`},{label:`日期时间范围`,value:`datetimerange`},{label:`年`,value:`year`},{label:`月`,value:`month`},{label:`周`,value:`week`}]},format:{type:`string`,title:`显示格式`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.format`,"x-component-props":{placeholder:`如: YYYY-MM-DD`}},valueFormat:{type:`string`,title:`值格式`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.valueFormat`,"x-component-props":{placeholder:`如: YYYY-MM-DD`}},editable:{type:`boolean`,title:`可输入`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.editable`}}}},F={component:c({name:`DatePickerComponent`,inheritAttrs:!1,__name:`ui`,props:{title:{},required:{type:Boolean},tooltip:{},labelWidth:{},layout:{},labelAlign:{},pattern:{},value:{},onChange:{type:Function},placeholder:{},format:{},valueFormat:{},type:{},clearable:{type:Boolean},editable:{type:Boolean},size:{}},setup(e){let r=e,i=D(r),a=t(()=>{let e=i.value.pattern;return{disabled:e===`disabled`,readonly:e===`readOnly`}});return(e,t)=>{let o=g(`ElDatePicker`);return f(),n(M,{title:r.title,required:r.required,tooltip:r.tooltip,"label-width":v(i).labelWidth,layout:v(i).layout,"label-align":v(i).labelAlign},{default:y(()=>[s(o,{placeholder:r.placeholder,"model-value":r.value,format:r.format,"value-format":r.valueFormat,type:r.type||`date`,clearable:r.clearable,editable:r.editable,disabled:a.value.disabled,readonly:a.value.readonly,size:v(i).size,"onUpdate:modelValue":r.onChange},null,8,[`placeholder`,`model-value`,`format`,`value-format`,`type`,`clearable`,`editable`,`disabled`,`readonly`,`size`,`onUpdate:modelValue`])]),_:1},8,[`title`,`required`,`tooltip`,`label-width`,`layout`,`label-align`])}}}),setterSchema:P,config:{name:`日期选择器`,icon:`Calendar`,category:`基础`,description:`日期选择控件`},defaultSchema:{type:`string`,title:`日期选择器`,"x-component":`DatePicker`,"x-decorator":`FormItem`,"x-pattern":`inherit`,"x-component-props":{placeholder:`请选择日期`}}},I={component:O(c({name:`Divider`,inheritAttrs:!1,__name:`ui`,props:{orientation:{},dashed:{type:Boolean}},setup(e){let t=e;return(e,n)=>(f(),i(`div`,{class:u([`formily-divider`,{"divider-horizontal":t.orientation===`horizontal`,"divider-vertical":t.orientation===`vertical`,"divider-dashed":t.dashed}])},null,2))}}),[[`__scopeId`,`data-v-d0d9b7c7`]]),setterSchema:{basicSetter:{},componentSetter:{type:`object`,properties:{orientation:{type:`string`,title:`方向`,"x-component":`Radio.Group`,"x-decorator":`FormItem`,"x-path":`x-component-props.orientation`,enum:[{label:`水平`,value:`horizontal`},{label:`垂直`,value:`vertical`}]},dashed:{type:`boolean`,title:`虚线`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.dashed`}}}},config:{name:`分割线`,icon:`Minus`,category:`布局`,description:`内容分割线`},defaultSchema:{type:`void`,title:`分割线`,"x-component":`Divider`,"x-droppable":!1,"x-component-props":{orientation:`horizontal`,dashed:!1}}},L={basicSetter:{...x,...C},componentSetter:{type:`object`,properties:{gap:{type:`number`,title:`全局间距 (px)`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.form-gap`},layout:{type:`string`,title:`全局布局`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-component-props.layout`,enum:[{label:`继承`,value:`inherit`},{label:`水平`,value:`horizontal`},{label:`垂直`,value:`vertical`},{label:`行内`,value:`inline`}]},labelWidth:{type:`string`,title:`全局标签宽度`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.labelWidth`,"x-component-props":{placeholder:`如: 100px, auto`}},labelAlign:{type:`string`,title:`全局标签对齐`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-component-props.labelAlign`,enum:[{label:`继承`,value:`inherit`},{label:`左对齐`,value:`left`},{label:`右对齐`,value:`right`},{label:`顶部`,value:`top`}]},size:{type:`string`,title:`全局尺寸`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-component-props.size`,enum:[{label:`大`,value:`large`},{label:`默认`,value:`default`},{label:`小`,value:`small`}]}}}},R={component:O(c({name:`FormContainer`,__name:`ui`,props:{title:{},layout:{},labelWidth:{},labelAlign:{},size:{},gap:{},pattern:{}},setup(e){let n=e;return p(E,t(()=>({layout:n.layout,labelWidth:n.labelWidth,labelAlign:n.labelAlign,size:n.size,pattern:n.pattern}))),(e,t)=>(f(),i(`div`,{class:`formily-form-container`,style:d({gap:`${n.gap??8}px`})},[h(e.$slots,`default`,{},void 0,!0)],4))}}),[[`__scopeId`,`data-v-0ae4003a`]]),setterSchema:L,config:{name:`表单容器`,icon:`Box`,category:`布局`,description:`表单容器,可以为内部组件提供统一配置`},defaultSchema:{type:`void`,title:`表单容器`,"x-component":`FormContainer`,"x-pattern":`editable`,"x-component-props":{layout:`vertical`,labelWidth:`auto`,labelAlign:`left`,size:`default`,"form-gap":8},properties:{}}},z={component:O(c({name:`Grid`,inheritAttrs:!1,__name:`ui`,props:{columns:{},rows:{},columnGap:{},rowGap:{}},setup(e){let t=e;return(e,n)=>(f(),i(`div`,{class:`formily-grid`,style:d({display:`grid`,gridTemplateColumns:`repeat(${t.columns||3}, 1fr)`,gridTemplateRows:t.rows===`auto`?`auto`:`repeat(${t.rows||`auto`}, 1fr)`,columnGap:`${t.columnGap||16}px`,rowGap:`${t.rowGap||16}px`})},[h(e.$slots,`default`,{},void 0,!0)],4))}}),[[`__scopeId`,`data-v-3e87dffd`]]),setterSchema:{basicSetter:{},componentSetter:{type:`object`,properties:{columns:{type:`number`,title:`列数`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.columns`,"x-component-props":{min:1,max:12}},columnGap:{type:`number`,title:`列间距 (px)`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.columnGap`,"x-component-props":{min:0,max:100}},rowGap:{type:`number`,title:`行间距 (px)`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.rowGap`,"x-component-props":{min:0,max:100}}}}},config:{name:`Grid 布局`,icon:`Grid`,category:`布局`,description:`Grid 网格布局容器`},defaultSchema:{type:`void`,title:`Grid 容器`,"x-component":`Grid`,"x-component-props":{columns:3,rows:`auto`,columnGap:16,rowGap:16},properties:{}}},he={basicSetter:{...x,...S,...C,...w},componentSetter:{type:`object`,properties:{maxlength:{type:`number`,title:`最大长度`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.maxlength`,"x-component-props":{min:0}},showWordLimit:{type:`boolean`,title:`显示字数`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.showWordLimit`}}}},ge={component:O(c({name:`InputComponent`,inheritAttrs:!1,__name:`ui`,props:{title:{},required:{type:Boolean},tooltip:{},labelWidth:{},layout:{},labelAlign:{},pattern:{},value:{},onChange:{type:Function},placeholder:{},maxlength:{},showWordLimit:{type:Boolean},clearable:{type:Boolean},prefixIcon:{},suffixIcon:{},size:{}},setup(e){let r=e,i=D(r),a=t(()=>{let e=i.value.pattern;return{disabled:e===`disabled`,readonly:e===`readOnly`}});return(e,t)=>{let o=g(`ElInput`);return f(),n(M,{title:r.title,required:r.required,tooltip:r.tooltip,"label-width":v(i).labelWidth,layout:v(i).layout,"label-align":v(i).labelAlign},{default:y(()=>[s(o,{placeholder:r.placeholder,maxlength:r.maxlength,"show-word-limit":r.showWordLimit,clearable:r.clearable,"prefix-icon":r.prefixIcon,"suffix-icon":r.suffixIcon,disabled:a.value.disabled,readonly:a.value.readonly,size:v(i).size,"model-value":r.value,"onUpdate:modelValue":r.onChange},null,8,[`placeholder`,`maxlength`,`show-word-limit`,`clearable`,`prefix-icon`,`suffix-icon`,`disabled`,`readonly`,`size`,`model-value`,`onUpdate:modelValue`])]),_:1},8,[`title`,`required`,`tooltip`,`label-width`,`layout`,`label-align`])}}}),[[`__scopeId`,`data-v-46dae5bb`]]),setterSchema:he,config:{name:`输入框`,icon:`EditPen`,category:`基础`,description:`单行文本输入框`},defaultSchema:{type:`string`,title:`输入框`,"x-component":`Input`,"x-decorator":`FormItem`,"x-pattern":`inherit`,"x-component-props":{placeholder:`请输入`}}},_e={basicSetter:{...x,placeholder:{type:`string`,title:`占位符`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.placeholder`},...C,...w},componentSetter:{type:`object`,properties:{min:{type:`number`,title:`最小值`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.min`},max:{type:`number`,title:`最大值`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.max`},step:{type:`number`,title:`步长`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.step`,"x-component-props":{min:0}},precision:{type:`number`,title:`精度`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.precision`,"x-component-props":{min:0,max:10}},controls:{type:`boolean`,title:`显示控制按钮`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.controls`},controlsPosition:{type:`string`,title:`控制按钮位置`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-component-props.controlsPosition`,enum:[{label:`默认`,value:``},{label:`右侧`,value:`right`}]}}}},ve={component:c({name:`InputNumberComponent`,inheritAttrs:!1,__name:`ui`,props:{title:{},required:{type:Boolean},tooltip:{},labelWidth:{},layout:{},labelAlign:{},pattern:{},value:{},onChange:{type:Function},min:{},max:{},step:{},precision:{},placeholder:{},controls:{type:Boolean},controlsPosition:{},size:{}},setup(e){let r=e,i=D(r),a=t(()=>{let e=i.value.pattern;return{disabled:e===`disabled`,readonly:e===`readOnly`}});return(e,t)=>{let o=g(`ElInputNumber`);return f(),n(M,{title:r.title,required:r.required,tooltip:r.tooltip,"label-width":v(i).labelWidth,layout:v(i).layout,"label-align":v(i).labelAlign},{default:y(()=>[s(o,{placeholder:r.placeholder,"model-value":r.value,min:r.min,max:r.max,step:r.step,precision:r.precision,controls:r.controls,"controls-position":r.controlsPosition||void 0,disabled:a.value.disabled,readonly:a.value.readonly,size:v(i).size,"onUpdate:modelValue":r.onChange},null,8,[`placeholder`,`model-value`,`min`,`max`,`step`,`precision`,`controls`,`controls-position`,`disabled`,`readonly`,`size`,`onUpdate:modelValue`])]),_:1},8,[`title`,`required`,`tooltip`,`label-width`,`layout`,`label-align`])}}}),setterSchema:_e,config:{name:`数字输入框`,icon:`Histogram`,category:`基础`,description:`数字输入控件`},defaultSchema:{type:`number`,title:`数字输入框`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-pattern":`inherit`,"x-component-props":{placeholder:`请输入数字`}}},ye={basicSetter:{...x,...C,...w},componentSetter:{type:`object`,properties:{options:{type:`array`,title:`选项列表`,"x-component":`ArrayItems`,"x-decorator":`FormItem`,"x-path":`enum`,"x-decorator-props":{inset:!1,bordered:!1,wrapperWrap:!1,labelWrap:!1,fullness:!1,layout:`vertical`,labelAlign:`left`},items:{type:`object`,properties:{space:{type:`void`,"x-component":`Space`,properties:{kv:{type:`void`,properties:{label:{type:`string`,title:`标签`,"x-decorator":`FormItem`,"x-component":`Input`,"x-component-props":{placeholder:`显示文本`},"x-decorator-props":{labelWidth:`42px`}},value:{type:`string`,title:`值`,"x-decorator":`FormItem`,"x-component":`Input`,"x-component-props":{placeholder:`选项值`},"x-decorator-props":{labelWidth:`42px`}}}},remove:{type:`void`,"x-decorator":`FormItem`,"x-component":`ArrayItems.Remove`}}}}},properties:{add:{type:`void`,title:`添加选项`,"x-component":`ArrayItems.Addition`}}}}}},be={component:c({name:`RadioComponent`,inheritAttrs:!1,__name:`ui`,props:{title:{},required:{type:Boolean},tooltip:{},labelWidth:{},layout:{},labelAlign:{},pattern:{},value:{},onChange:{type:Function},options:{},size:{}},setup(r){let a=r,c=D(a),l=t(()=>{let e=c.value.pattern;return{disabled:e===`disabled`,readonly:e===`readOnly`}}),u=t(()=>l.value.disabled||l.value.readonly);return(t,r)=>{let l=g(`ElRadio`),d=g(`ElRadioGroup`);return f(),n(M,{title:a.title,required:a.required,tooltip:a.tooltip,"label-width":v(c).labelWidth,layout:v(c).layout,"label-align":v(c).labelAlign},{default:y(()=>[s(d,{"model-value":a.value,disabled:u.value,size:v(c).size,"onUpdate:modelValue":r[0]||=e=>a.onChange?.(e)},{default:y(()=>[(f(!0),i(e,null,m(a.options,e=>(f(),n(l,{key:e.value,value:e.value},{default:y(()=>[o(_(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`model-value`,`disabled`,`size`])]),_:1},8,[`title`,`required`,`tooltip`,`label-width`,`layout`,`label-align`])}}}),setterSchema:ye,config:{name:`单选框`,icon:`CircleCheck`,category:`选择`,description:`单选控件`},defaultSchema:{type:`string`,title:`单选框`,"x-component":`Radio`,"x-decorator":`FormItem`,"x-pattern":`inherit`,enum:[{label:`选项1`,value:`1`},{label:`选项2`,value:`2`},{label:`选项3`,value:`3`}]}},xe={basicSetter:{...x,...S,...C,...w},componentSetter:{type:`object`,properties:{multiple:{title:`多选`,type:`boolean`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.multiple`},filterable:{title:`可搜索`,type:`boolean`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.filterable`},allowCreate:{title:`允许创建`,type:`boolean`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.allowCreate`},options:{type:`array`,title:`选项列表`,"x-component":`ArrayItems`,"x-decorator":`FormItem`,"x-path":`enum`,"x-decorator-props":{inset:!1,bordered:!1,wrapperWrap:!1,labelWrap:!1,fullness:!1,layout:`vertical`,labelAlign:`left`},items:{type:`object`,properties:{space:{type:`void`,"x-component":`Space`,properties:{kv:{type:`void`,properties:{label:{type:`string`,title:`标签`,"x-decorator":`FormItem`,"x-component":`Input`,"x-component-props":{placeholder:`显示文本`},"x-decorator-props":{labelWidth:`42px`}},value:{type:`string`,title:`值`,"x-decorator":`FormItem`,"x-component":`Input`,"x-component-props":{placeholder:`选项值`},"x-decorator-props":{labelWidth:`42px`}}}},remove:{type:`void`,"x-decorator":`FormItem`,"x-component":`ArrayItems.Remove`}}}}},properties:{add:{type:`void`,title:`添加选项`,"x-component":`ArrayItems.Addition`}}}}}},Se={component:c({name:`SelectComponent`,inheritAttrs:!1,__name:`ui`,props:{title:{},required:{type:Boolean},tooltip:{},labelWidth:{},layout:{},labelAlign:{},pattern:{},value:{},onChange:{type:Function},placeholder:{},options:{},multiple:{type:Boolean},clearable:{type:Boolean},filterable:{type:Boolean},allowCreate:{type:Boolean},size:{}},setup(r){let a=r,o=D(a),c=t(()=>{let e=o.value.pattern;return{disabled:e===`disabled`,readonly:e===`readOnly`}});return(t,r)=>{let l=g(`ElOption`),u=g(`ElSelect`);return f(),n(M,{title:a.title,required:a.required,tooltip:a.tooltip,"label-width":v(o).labelWidth,layout:v(o).layout,"label-align":v(o).labelAlign},{default:y(()=>[s(u,{placeholder:a.placeholder,"model-value":a.value,multiple:a.multiple,clearable:a.clearable,filterable:a.filterable,"allow-create":a.allowCreate,disabled:c.value.disabled||c.value.readonly,size:v(o).size,"onUpdate:modelValue":a.onChange},{default:y(()=>[(f(!0),i(e,null,m(a.options,e=>(f(),n(l,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`placeholder`,`model-value`,`multiple`,`clearable`,`filterable`,`allow-create`,`disabled`,`size`,`onUpdate:modelValue`])]),_:1},8,[`title`,`required`,`tooltip`,`label-width`,`layout`,`label-align`])}}}),setterSchema:xe,config:{name:`下拉选择`,icon:`ArrowDown`,category:`选择`,description:`下拉选择器`},defaultSchema:{type:`string`,title:`下拉选择`,"x-component":`Select`,"x-decorator":`FormItem`,"x-pattern":`inherit`,"x-component-props":{placeholder:`请选择`},enum:[{label:`选项1`,value:`1`},{label:`选项2`,value:`2`},{label:`选项3`,value:`3`}]}},Ce={component:c({name:`Space`,inheritAttrs:!1,__name:`ui`,props:{direction:{},size:{}},setup(e){let n=e,r=t(()=>{let{direction:e,size:t}=n;return e===`vertical`?{width:`100%`,height:`${t||8}px`}:{width:`${t||8}px`,height:`100%`}});return(e,t)=>(f(),i(`div`,{style:d(r.value)},null,4))}}),setterSchema:{basicSetter:{},componentSetter:{type:`object`,properties:{direction:{type:`string`,title:`方向`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.direction`,"x-component-props":{activeText:`水平`,inactiveText:`垂直`,activeValue:`horizontal`,inactiveValue:`vertical`}},size:{type:`number`,title:`间距 (px)`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.size`,"x-component-props":{min:0,max:100}}}}},config:{name:`Space 间距`,icon:`Grid`,category:`布局`,description:`快捷间距容器`},defaultSchema:{type:`void`,title:`Space 间距`,"x-component":`Space`,"x-droppable":!1,"x-component-props":{direction:`horizontal`,size:8,align:`center`}}},we={basicSetter:{...x,...C,...w},componentSetter:{type:`object`,properties:{activeText:{type:`string`,title:`激活文字`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.activeText`},inactiveText:{type:`string`,title:`未激活文字`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.inactiveText`},activeValue:{type:`string`,title:`激活值`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.activeValue`,"x-component-props":{placeholder:`默认为 true`}},inactiveValue:{type:`string`,title:`未激活值`,"x-component":`Input`,"x-decorator":`FormItem`,"x-path":`x-component-props.inactiveValue`,"x-component-props":{placeholder:`默认为 false`}},inlinePrompt:{type:`boolean`,title:`内联文字`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.inlinePrompt`}}}},Te={component:c({name:`SwitchComponent`,inheritAttrs:!1,__name:`ui`,props:{title:{},required:{type:Boolean},tooltip:{},labelWidth:{},layout:{},labelAlign:{},pattern:{},value:{type:Boolean},onChange:{type:Function},activeText:{},inactiveText:{},activeValue:{},inactiveValue:{},inlinePrompt:{type:Boolean},size:{}},setup(e){let r=e,i=D(r),a=t(()=>{let e=i.value.pattern;return{disabled:e===`disabled`,readonly:e===`readOnly`}}),o=t(()=>a.value.disabled||a.value.readonly);return(e,t)=>{let a=g(`ElSwitch`);return f(),n(M,{title:r.title,required:r.required,tooltip:r.tooltip,"label-width":v(i).labelWidth,layout:v(i).layout,"label-align":v(i).labelAlign},{default:y(()=>[s(a,{"model-value":r.value,"active-text":r.activeText,"inactive-text":r.inactiveText,"active-value":r.activeValue,"inactive-value":r.inactiveValue,"inline-prompt":r.inlinePrompt,disabled:o.value,size:v(i).size,"onUpdate:modelValue":r.onChange},null,8,[`model-value`,`active-text`,`inactive-text`,`active-value`,`inactive-value`,`inline-prompt`,`disabled`,`size`,`onUpdate:modelValue`])]),_:1},8,[`title`,`required`,`tooltip`,`label-width`,`layout`,`label-align`])}}}),setterSchema:we,config:{name:`开关`,icon:`Switch`,category:`基础`,description:`开关控件`},defaultSchema:{type:`boolean`,title:`开关`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-pattern":`inherit`}},Ee={basicSetter:{...x,...S,...C,...w},componentSetter:{type:`object`,properties:{rows:{type:`number`,title:`行数`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.rows`,"x-component-props":{min:1,max:20,step:1}},maxlength:{type:`number`,title:`最大长度`,"x-component":`InputNumber`,"x-decorator":`FormItem`,"x-path":`x-component-props.maxlength`,"x-component-props":{min:0}},showWordLimit:{type:`boolean`,title:`显示字数限制`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.showWordLimit`},autosize:{type:`boolean`,title:`自适应高度`,"x-component":`Switch`,"x-decorator":`FormItem`,"x-path":`x-component-props.autosize`},resize:{type:`string`,title:`缩放`,"x-component":`Select`,"x-decorator":`FormItem`,"x-path":`x-component-props.resize`,enum:[{label:`无`,value:`none`},{label:`垂直`,value:`vertical`},{label:`水平`,value:`horizontal`},{label:`全部`,value:`both`}]}}}},De={component:c({name:`TextAreaComponent`,inheritAttrs:!1,__name:`ui`,props:{title:{},required:{type:Boolean},tooltip:{},labelWidth:{},layout:{},labelAlign:{},pattern:{},value:{},onChange:{type:Function},placeholder:{},rows:{},maxlength:{},showWordLimit:{type:Boolean},clearable:{type:Boolean},autosize:{type:[Boolean,Object]},resize:{},size:{}},setup(e){let r=e,i=D(r),a=t(()=>{let e=i.value.pattern;return{disabled:e===`disabled`,readonly:e===`readOnly`}});return(e,t)=>{let o=g(`ElInput`);return f(),n(M,{title:r.title,required:r.required,tooltip:r.tooltip,"label-width":v(i).labelWidth,layout:v(i).layout,"label-align":v(i).labelAlign},{default:y(()=>[s(o,{type:`textarea`,placeholder:r.placeholder,rows:r.rows,maxlength:r.maxlength,"show-word-limit":r.showWordLimit,clearable:r.clearable,autosize:r.autosize,resize:r.resize,disabled:a.value.disabled,readonly:a.value.readonly,size:v(i).size,"model-value":r.value,"onUpdate:modelValue":r.onChange},null,8,[`placeholder`,`rows`,`maxlength`,`show-word-limit`,`clearable`,`autosize`,`resize`,`disabled`,`readonly`,`size`,`model-value`,`onUpdate:modelValue`])]),_:1},8,[`title`,`required`,`tooltip`,`label-width`,`layout`,`label-align`])}}}),setterSchema:Ee,config:{name:`文本域`,icon:`Document`,category:`基础`,description:`多行文本输入框`},defaultSchema:{type:`string`,title:`文本域`,"x-component":`TextArea`,"x-decorator":`FormItem`,"x-pattern":`inherit`,"x-component-props":{placeholder:`请输入`,rows:4}}};const B=ge,V=oe,H=pe,U=Se,W=N,G=be,K=F,q=De,J=Te,Y=ve,X=z,Z=Ce,Q=I,$=R,Oe={Input:B,Array:V,ArrayItem:H,Select:U,Checkbox:W,Radio:G,DatePicker:K,TextArea:q,Switch:J,InputNumber:Y,Grid:X,Space:Z,Divider:Q,FormContainer:$};export{V as Array,H as ArrayItem,W as Checkbox,K as DatePicker,Q as Divider,$ as FormContainer,X as Grid,B as Input,Y as InputNumber,G as Radio,U as Select,Z as Space,J as Switch,q as TextArea,Oe as components};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@formily-djd/component",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.4",
|
|
5
5
|
"description": "djd formily component",
|
|
6
6
|
"author": "gaojinsong2010@gmail.com",
|
|
7
7
|
"license": "MIT",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"@formily/vue": "^2.3.7",
|
|
25
25
|
"element-plus": "^2.11.7",
|
|
26
26
|
"vue": "^3.5.22",
|
|
27
|
-
"@formily-djd/utils": "0.0.
|
|
27
|
+
"@formily-djd/utils": "0.0.4"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@antfu/eslint-config": "^5.4.1",
|