cnhis-design-vue 3.1.38-beta.5 → 3.1.38-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +123 -123
- package/es/components/big-table/src/BigTable.vue2.js +4 -3
- package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
- package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
- package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
- package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
- package/es/components/button-print/src/utils/print.js +16 -1
- package/es/components/fabric-chart/src/utils/index.d.ts +6823 -0
- package/es/components/form-config/index.d.ts +1 -0
- package/es/components/form-config/src/FormConfig.vue.d.ts +1 -0
- package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +1 -0
- package/es/components/form-render/src/components/renderer/checkbox.js +83 -24
- package/es/components/form-render/src/components/renderer/combination.d.ts +1 -1
- package/es/components/form-render/src/components/renderer/combination.js +9 -5
- package/es/components/form-render/src/components/renderer/formItem.d.ts +11 -3
- package/es/components/form-render/src/components/renderer/formItem.js +28 -20
- package/es/components/form-render/src/hooks/useComplexOptions.d.ts +8 -0
- package/es/components/form-render/src/hooks/useComplexOptions.js +137 -0
- package/es/components/form-render/src/hooks/useFieldListAdaptor.js +2 -2
- package/es/components/form-render/src/hooks/useFormField.d.ts +3 -2
- package/es/components/form-render/src/hooks/useFormRenderOptions.js +4 -6
- package/es/components/form-render/src/types/fieldItem.d.ts +4 -3
- package/es/components/form-render/src/utils/schema.d.ts +1 -60
- package/es/components/form-render/style/index.css +1 -1
- package/es/components/index.css +1 -1
- package/es/components/scale-view/style/index.css +1 -1
- package/es/components/shortcut-setter/index.d.ts +1 -0
- package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +1 -0
- package/es/shared/assets/img/failure.js +1 -1
- package/es/shared/assets/img/failure.png.js +1 -1
- package/es/shared/assets/img/icon-asc.js +1 -1
- package/es/shared/assets/img/icon-desc.js +1 -1
- package/es/shared/assets/img/no-permission.js +1 -1
- package/es/shared/assets/img/no-permission.png.js +1 -1
- package/es/shared/assets/img/nodata.js +1 -1
- package/es/shared/assets/img/nodata.png.js +1 -1
- package/es/shared/assets/img/notfound.js +1 -1
- package/es/shared/assets/img/notfound.png.js +1 -1
- package/es/shared/assets/img/qr.js +1 -1
- package/es/shared/assets/img/qr.png.js +1 -1
- package/es/shared/assets/img/success.js +1 -1
- package/es/shared/assets/img/success.png.js +1 -1
- package/es/shared/assets/img/video.js +1 -1
- package/es/shared/assets/img/video.png.js +1 -1
- package/es/shared/assets/img/video_default_cover.js +1 -1
- package/es/shared/assets/img/video_default_cover.png.js +1 -1
- package/es/shared/assets/img/video_hover.js +1 -1
- package/es/shared/assets/img/video_play_hover.js +1 -1
- package/es/shared/assets/img/xb_big.js +1 -1
- package/es/shared/assets/img/xb_big.png.js +1 -1
- package/es/shared/assets/img/xb_small.js +1 -1
- package/es/shared/assets/img/xb_small.png.js +1 -1
- package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
- package/es/shared/utils/index.d.ts +1 -0
- package/es/shared/utils/index.js +6 -1
- package/es/shared/utils/tapable/index.d.ts +139 -0
- package/package.json +2 -2
|
@@ -1002,6 +1002,7 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
|
|
|
1002
1002
|
keyword?: string | undefined;
|
|
1003
1003
|
disabled?: boolean | undefined;
|
|
1004
1004
|
children?: any[] | undefined;
|
|
1005
|
+
childrenFields?: any[] | undefined;
|
|
1005
1006
|
}[] | undefined;
|
|
1006
1007
|
multi_select?: import("..").FormCommonState | undefined;
|
|
1007
1008
|
multi_select_value?: string | number | undefined;
|
|
@@ -1003,6 +1003,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1003
1003
|
keyword?: string | undefined;
|
|
1004
1004
|
disabled?: boolean | undefined;
|
|
1005
1005
|
children?: any[] | undefined;
|
|
1006
|
+
childrenFields?: any[] | undefined;
|
|
1006
1007
|
}[] | undefined;
|
|
1007
1008
|
multi_select?: import("../..").FormCommonState | undefined;
|
|
1008
1009
|
multi_select_value?: string | number | undefined;
|
|
@@ -71,6 +71,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
71
71
|
keyword?: string | undefined;
|
|
72
72
|
disabled?: boolean | undefined;
|
|
73
73
|
children?: any[] | undefined;
|
|
74
|
+
childrenFields?: any[] | undefined;
|
|
74
75
|
}[] | undefined;
|
|
75
76
|
multi_select?: import("../../../../../es/components/form-render").FormCommonState | undefined;
|
|
76
77
|
multi_select_value?: string | number | undefined;
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import { defineComponent, createVNode } from 'vue';
|
|
2
|
-
import {
|
|
3
|
-
import '../../../index.js';
|
|
4
|
-
import '../../utils/index.js';
|
|
1
|
+
import { defineComponent, computed, ref, watch, createVNode } from 'vue';
|
|
2
|
+
import { jsonParse } from '../../../../../shared/utils/index.js';
|
|
5
3
|
import { connect, mapProps } from '@formily/vue';
|
|
4
|
+
import { isArray, isObject, isString } from 'lodash-es';
|
|
6
5
|
import { NCheckboxGroup, NSpace, NCheckbox } from 'naive-ui';
|
|
6
|
+
import '../../../index.js';
|
|
7
|
+
import { useComplexOptions } from '../../hooks/useComplexOptions.js';
|
|
8
|
+
import '../../utils/index.js';
|
|
7
9
|
import { useAutographOptions } from '../../hooks/useFormRenderOptions.js';
|
|
8
10
|
import { assignUpdateValue } from '../../utils/schema.js';
|
|
9
11
|
import { useCommonInjection } from '../../hooks/useCommonInjection.js';
|
|
12
|
+
import { useFormField } from '../../hooks/useFormField.js';
|
|
10
13
|
|
|
11
14
|
const script = defineComponent({
|
|
12
15
|
name: "FormCheckbox",
|
|
@@ -40,7 +43,58 @@ const script = defineComponent({
|
|
|
40
43
|
setup(props, {
|
|
41
44
|
emit
|
|
42
45
|
}) {
|
|
43
|
-
const
|
|
46
|
+
const hasComplexOption = computed(() => {
|
|
47
|
+
return props.options.some((option) => {
|
|
48
|
+
return isArray(option.childrenFields) && option.childrenFields.length;
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
const {
|
|
52
|
+
fieldKey
|
|
53
|
+
} = useFormField();
|
|
54
|
+
const checkValue = ref([]);
|
|
55
|
+
const valueRef = computed({
|
|
56
|
+
get() {
|
|
57
|
+
return hasComplexOption.value ? checkValue.value : props.value;
|
|
58
|
+
},
|
|
59
|
+
set(value) {
|
|
60
|
+
if (!hasComplexOption.value)
|
|
61
|
+
return emit("update:value", value);
|
|
62
|
+
if (!isObject(props.value))
|
|
63
|
+
return;
|
|
64
|
+
props.value[fieldKey.value] = value;
|
|
65
|
+
checkValue.value = value;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
watch(checkValue, () => {
|
|
69
|
+
if (!hasComplexOption.value || !isObject(props.value))
|
|
70
|
+
return;
|
|
71
|
+
props.value[fieldKey.value] = checkValue.value;
|
|
72
|
+
}, {
|
|
73
|
+
deep: true
|
|
74
|
+
});
|
|
75
|
+
watch([() => props.value, hasComplexOption], ([v, _has]) => {
|
|
76
|
+
if (!_has)
|
|
77
|
+
return;
|
|
78
|
+
if (isString(v)) {
|
|
79
|
+
const result = jsonParse(v);
|
|
80
|
+
checkValue.value = result[fieldKey.value];
|
|
81
|
+
return emit("update:value", result);
|
|
82
|
+
}
|
|
83
|
+
if (isArray(v)) {
|
|
84
|
+
checkValue.value = v;
|
|
85
|
+
return emit("update:value", {
|
|
86
|
+
[fieldKey.value]: v
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
if (!isObject(v)) {
|
|
90
|
+
checkValue.value = [];
|
|
91
|
+
emit("update:value", {});
|
|
92
|
+
} else {
|
|
93
|
+
checkValue.value = v[fieldKey.value];
|
|
94
|
+
}
|
|
95
|
+
}, {
|
|
96
|
+
immediate: true
|
|
97
|
+
});
|
|
44
98
|
const {
|
|
45
99
|
labelKey,
|
|
46
100
|
valueKey,
|
|
@@ -50,26 +104,31 @@ const script = defineComponent({
|
|
|
50
104
|
injectValueBindKey
|
|
51
105
|
} = useCommonInjection();
|
|
52
106
|
const key = injectValueBindKey(valueRef);
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
"
|
|
107
|
+
const {
|
|
108
|
+
render: renderComplexOption
|
|
109
|
+
} = useComplexOptions(valueKey);
|
|
110
|
+
return () => {
|
|
111
|
+
return createVNode(NCheckboxGroup, {
|
|
112
|
+
"key": key.value,
|
|
113
|
+
"value": checkValue.value,
|
|
114
|
+
"onUpdate:value": ($event) => checkValue.value = $event
|
|
60
115
|
}, {
|
|
61
|
-
default: () => {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
116
|
+
default: () => [createVNode(NSpace, {
|
|
117
|
+
"vertical": props.vertical
|
|
118
|
+
}, {
|
|
119
|
+
default: () => {
|
|
120
|
+
var _a;
|
|
121
|
+
return [(_a = options.value) == null ? void 0 : _a.map((option) => createVNode(NCheckbox, {
|
|
122
|
+
"key": option[valueKey.value],
|
|
123
|
+
"value": option[valueKey.value],
|
|
124
|
+
"disabled": option.disabled
|
|
125
|
+
}, {
|
|
126
|
+
default: () => [hasComplexOption.value ? [option[labelKey.value], renderComplexOption(checkValue.value, option)] : option[labelKey.value]]
|
|
127
|
+
}))];
|
|
128
|
+
}
|
|
129
|
+
})]
|
|
130
|
+
});
|
|
131
|
+
};
|
|
73
132
|
}
|
|
74
133
|
});
|
|
75
134
|
const CHECKBOX = connect(script, mapProps({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FieldItem } from '../../../../../../es/components/form-render';
|
|
2
1
|
import { PropType } from 'vue';
|
|
2
|
+
import { FieldItem } from '../../../../../../es/components/form-render';
|
|
3
3
|
export declare const COMBINATION: import("vue").DefineComponent<{
|
|
4
4
|
title: {
|
|
5
5
|
type: StringConstructor;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { defineComponent, ref, computed, watch, inject, createVNode } from 'vue';
|
|
2
2
|
import { isObjectField } from '@formily/core';
|
|
3
|
+
import { RecursionField, connect } from '@formily/vue';
|
|
4
|
+
import { AddCircleOutline, RemoveCircle } from '@vicons/ionicons5';
|
|
3
5
|
import { isNumber, isArray, range } from 'lodash-es';
|
|
4
|
-
import '../../../index.js';
|
|
5
|
-
import { useField, RecursionField, connect } from '@formily/vue';
|
|
6
6
|
import { NButton, NIcon } from 'naive-ui';
|
|
7
|
+
import '../../../index.js';
|
|
7
8
|
import { InjectionBusinessCollector } from '../../constants/index.js';
|
|
8
9
|
import '../../utils/index.js';
|
|
9
|
-
import {
|
|
10
|
+
import { useFormField } from '../../hooks/useFormField.js';
|
|
10
11
|
import { useFieldListAdaptor } from '../../hooks/useFieldListAdaptor.js';
|
|
11
12
|
import { createObjSchema } from '../../utils/schema.js';
|
|
12
13
|
|
|
@@ -36,7 +37,10 @@ const script = defineComponent({
|
|
|
36
37
|
},
|
|
37
38
|
emits: ["update:value"],
|
|
38
39
|
setup(props) {
|
|
39
|
-
const
|
|
40
|
+
const {
|
|
41
|
+
field,
|
|
42
|
+
fieldKey
|
|
43
|
+
} = useFormField();
|
|
40
44
|
const currentGroupNum = ref(1);
|
|
41
45
|
const maxGroupNum = computed(() => {
|
|
42
46
|
if (!isNumber(props.maxGroupNum))
|
|
@@ -60,7 +64,7 @@ const script = defineComponent({
|
|
|
60
64
|
currentGroupNum.value--;
|
|
61
65
|
await field.value.remove(idx);
|
|
62
66
|
} else {
|
|
63
|
-
const currentField = field.value.query(`${
|
|
67
|
+
const currentField = field.value.query(`${fieldKey.value}.${idx}`).take();
|
|
64
68
|
if (!currentField || !isObjectField(currentField))
|
|
65
69
|
return;
|
|
66
70
|
await currentField.reset();
|
|
@@ -2,14 +2,22 @@ export declare const FORM_ITEM: import("vue").DefineComponent<{
|
|
|
2
2
|
label: StringConstructor;
|
|
3
3
|
propertyKey: StringConstructor;
|
|
4
4
|
remark: StringConstructor;
|
|
5
|
-
span:
|
|
5
|
+
span: {
|
|
6
|
+
type: NumberConstructor;
|
|
7
|
+
default: number;
|
|
8
|
+
};
|
|
6
9
|
annotation: {};
|
|
7
10
|
fieldItem: {};
|
|
8
11
|
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
9
12
|
label: StringConstructor;
|
|
10
13
|
propertyKey: StringConstructor;
|
|
11
14
|
remark: StringConstructor;
|
|
12
|
-
span:
|
|
15
|
+
span: {
|
|
16
|
+
type: NumberConstructor;
|
|
17
|
+
default: number;
|
|
18
|
+
};
|
|
13
19
|
annotation: {};
|
|
14
20
|
fieldItem: {};
|
|
15
|
-
}>>, {
|
|
21
|
+
}>>, {
|
|
22
|
+
span: number;
|
|
23
|
+
}>;
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
import { defineComponent, inject, computed, createVNode, mergeProps } from 'vue';
|
|
2
2
|
import { arrayed, widthAppend } from '../../../../../shared/utils/index.js';
|
|
3
3
|
import { isVoidField } from '@formily/core';
|
|
4
|
-
import {
|
|
4
|
+
import { connect, mapProps } from '@formily/vue';
|
|
5
5
|
import { isString } from 'lodash-es';
|
|
6
6
|
import { NFormItem } from 'naive-ui';
|
|
7
7
|
import Annotation from '../../../../annotation-edit/index.js';
|
|
8
8
|
import '../../../index.js';
|
|
9
9
|
import TooltipMessage from '../tooltipMessage.vue.js';
|
|
10
10
|
import { InjectionAnnotation, InjectionFormUUID } from '../../constants/index.js';
|
|
11
|
+
import { useComplexOptionsSpan } from '../../hooks/useComplexOptions.js';
|
|
11
12
|
import { dotEscape } from '../../utils/schema.js';
|
|
12
13
|
import { validateMessageParser } from '../../utils/index.js';
|
|
14
|
+
import { useFormField } from '../../hooks/useFormField.js';
|
|
13
15
|
|
|
14
16
|
const script = defineComponent({
|
|
15
17
|
props: {
|
|
16
18
|
label: String,
|
|
17
19
|
propertyKey: String,
|
|
18
20
|
remark: String,
|
|
19
|
-
span:
|
|
21
|
+
span: {
|
|
22
|
+
type: Number,
|
|
23
|
+
default: 6
|
|
24
|
+
},
|
|
20
25
|
annotation: {},
|
|
21
26
|
fieldItem: {}
|
|
22
27
|
},
|
|
@@ -47,10 +52,13 @@ const script = defineComponent({
|
|
|
47
52
|
return annotation.value && props.annotation !== false;
|
|
48
53
|
});
|
|
49
54
|
const needRenderLabel = computed(() => props.label && props.label !== " ");
|
|
50
|
-
const
|
|
55
|
+
const {
|
|
56
|
+
field,
|
|
57
|
+
fieldKey
|
|
58
|
+
} = useFormField();
|
|
51
59
|
const uuid = inject(InjectionFormUUID);
|
|
52
60
|
const id = computed(() => {
|
|
53
|
-
return dotEscape(`${uuid}-${
|
|
61
|
+
return dotEscape(`${uuid}-${fieldKey.value}`);
|
|
54
62
|
});
|
|
55
63
|
const marginRight = computed(() => {
|
|
56
64
|
let result = 0;
|
|
@@ -74,22 +82,22 @@ const script = defineComponent({
|
|
|
74
82
|
"message": props.remark
|
|
75
83
|
}, null)]) : null, showAnnotation.value ? renderAnnotation() : null]) : null]) : null;
|
|
76
84
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
};
|
|
85
|
+
const {
|
|
86
|
+
calcFieldItemSpan
|
|
87
|
+
} = useComplexOptionsSpan();
|
|
88
|
+
return () => createVNode(NFormItem, mergeProps({
|
|
89
|
+
"class": "form-render__formItem",
|
|
90
|
+
"style": {
|
|
91
|
+
"--form-item-column": calcFieldItemSpan(props.span)
|
|
92
|
+
}
|
|
93
|
+
}, {
|
|
94
|
+
id: id.value,
|
|
95
|
+
"widget-type": field.value.componentType,
|
|
96
|
+
"form-field": fieldKey.value
|
|
97
|
+
}), {
|
|
98
|
+
...slots,
|
|
99
|
+
label: renderLabel
|
|
100
|
+
});
|
|
93
101
|
}
|
|
94
102
|
});
|
|
95
103
|
const FORM_ITEM = connect(script, mapProps({
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MaybeRef } from '@vueuse/core';
|
|
2
|
+
import { FormOptionItem } from '../../../../../es/components/form-render';
|
|
3
|
+
export declare function useComplexOptions(valueKey: MaybeRef<string>): {
|
|
4
|
+
render: (value: unknown, option: FormOptionItem) => JSX.Element | null;
|
|
5
|
+
};
|
|
6
|
+
export declare function useComplexOptionsSpan(): {
|
|
7
|
+
calcFieldItemSpan: (span: number) => number;
|
|
8
|
+
};
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { reactive, defineComponent, inject, computed, watch, onUnmounted, onMounted, createVNode, withModifiers, unref } from 'vue';
|
|
2
|
+
import { checkInSetupEnv } from '../../../../shared/utils/index.js';
|
|
3
|
+
import { isField } from '@formily/core';
|
|
4
|
+
import { RecursionField } from '@formily/vue';
|
|
5
|
+
import { sumBy, property, noop, isArray } from 'lodash-es';
|
|
6
|
+
import '../../index.js';
|
|
7
|
+
import { InjectionFormUUID, InjectionBusinessCollector } from '../constants/index.js';
|
|
8
|
+
import { useFormField } from './useFormField.js';
|
|
9
|
+
import { useFieldListAdaptor } from './useFieldListAdaptor.js';
|
|
10
|
+
import { createObjSchema } from '../utils/schema.js';
|
|
11
|
+
|
|
12
|
+
const spanMap = reactive(/* @__PURE__ */ new Map());
|
|
13
|
+
function setSpan(uuid, field, span = 0) {
|
|
14
|
+
spanMap.set(uuid, spanMap.get(uuid) || {});
|
|
15
|
+
const spanObj = spanMap.get(uuid);
|
|
16
|
+
Reflect.set(spanObj, field.address.toString(), span);
|
|
17
|
+
}
|
|
18
|
+
function getSpan(uuid, field) {
|
|
19
|
+
const spanObj = spanMap.get(uuid);
|
|
20
|
+
if (!spanObj)
|
|
21
|
+
return 0;
|
|
22
|
+
const fieldKey = field.address.toString();
|
|
23
|
+
return Object.entries(spanObj).reduce((res, [k, v]) => {
|
|
24
|
+
if (k === fieldKey || k.startsWith(`${fieldKey}.`))
|
|
25
|
+
return res + v;
|
|
26
|
+
return res;
|
|
27
|
+
}, 0);
|
|
28
|
+
}
|
|
29
|
+
function deleteSpan(uuid, field) {
|
|
30
|
+
const spanObj = spanMap.get(uuid);
|
|
31
|
+
spanObj && Reflect.deleteProperty(spanObj, field.address.toString());
|
|
32
|
+
}
|
|
33
|
+
const ChildSchemaField = defineComponent({
|
|
34
|
+
props: {
|
|
35
|
+
fields: {
|
|
36
|
+
type: Array,
|
|
37
|
+
default: () => []
|
|
38
|
+
},
|
|
39
|
+
name: {
|
|
40
|
+
type: String,
|
|
41
|
+
required: true
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
setup(props) {
|
|
45
|
+
const uuid = inject(InjectionFormUUID);
|
|
46
|
+
const {
|
|
47
|
+
field
|
|
48
|
+
} = useFormField();
|
|
49
|
+
const collector = inject(InjectionBusinessCollector);
|
|
50
|
+
const {
|
|
51
|
+
schemaAdaptor
|
|
52
|
+
} = useFieldListAdaptor(collector);
|
|
53
|
+
function assignConfig(field2) {
|
|
54
|
+
return Object.assign({}, field2, {
|
|
55
|
+
decoratorProps: {
|
|
56
|
+
...field2.decoratorProps,
|
|
57
|
+
labelPlacement: "left",
|
|
58
|
+
showFeedback: false
|
|
59
|
+
},
|
|
60
|
+
componentProps: {
|
|
61
|
+
...field2.componentProps,
|
|
62
|
+
size: "small"
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
const schema = computed(() => {
|
|
67
|
+
return createObjSchema(schemaAdaptor(props.fields.map(assignConfig)));
|
|
68
|
+
});
|
|
69
|
+
const column = computed(() => {
|
|
70
|
+
return sumBy(Object.values(schema.value.properties || []), property("x-decorator-props.span"));
|
|
71
|
+
});
|
|
72
|
+
watch(column, (_column) => {
|
|
73
|
+
setSpan(uuid, field.value, _column);
|
|
74
|
+
}, {
|
|
75
|
+
immediate: true
|
|
76
|
+
});
|
|
77
|
+
function getRecursionField() {
|
|
78
|
+
const formModel = field.value.form;
|
|
79
|
+
const address = `${field.value.address.toString()}.${props.name}`;
|
|
80
|
+
return formModel.query(address).take();
|
|
81
|
+
}
|
|
82
|
+
onUnmounted(() => {
|
|
83
|
+
const recursionField = getRecursionField();
|
|
84
|
+
recursionField && (recursionField.display = "none");
|
|
85
|
+
deleteSpan(uuid, field.value);
|
|
86
|
+
});
|
|
87
|
+
onMounted(() => {
|
|
88
|
+
const recursionField = getRecursionField();
|
|
89
|
+
if (!recursionField)
|
|
90
|
+
return;
|
|
91
|
+
recursionField.display = "visible";
|
|
92
|
+
});
|
|
93
|
+
return () => createVNode("section", {
|
|
94
|
+
"onClick": withModifiers(noop, ["stop"]),
|
|
95
|
+
"class": "form-render__labelField",
|
|
96
|
+
"style": {
|
|
97
|
+
"--column": getSpan(uuid, field.value)
|
|
98
|
+
}
|
|
99
|
+
}, [createVNode(RecursionField, {
|
|
100
|
+
"name": props.name,
|
|
101
|
+
"schema": schema.value
|
|
102
|
+
}, null)]);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
function useComplexOptions(valueKey) {
|
|
106
|
+
function valueMatcher(value, option) {
|
|
107
|
+
if (isArray(value))
|
|
108
|
+
return value.includes(option[unref(valueKey)]);
|
|
109
|
+
return value === option[unref(valueKey)] && isArray(option.childrenFields) && option.childrenFields.length;
|
|
110
|
+
}
|
|
111
|
+
function render(value, option) {
|
|
112
|
+
return valueMatcher(value, option) ? createVNode(ChildSchemaField, {
|
|
113
|
+
"fields": option.childrenFields,
|
|
114
|
+
"name": option[unref(valueKey)]
|
|
115
|
+
}, null) : null;
|
|
116
|
+
}
|
|
117
|
+
return {
|
|
118
|
+
render
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
function useComplexOptionsSpan() {
|
|
122
|
+
checkInSetupEnv();
|
|
123
|
+
const uuid = inject(InjectionFormUUID);
|
|
124
|
+
const {
|
|
125
|
+
field
|
|
126
|
+
} = useFormField();
|
|
127
|
+
function calcFieldItemSpan(span) {
|
|
128
|
+
if (!isField(field.value))
|
|
129
|
+
return span;
|
|
130
|
+
return getSpan(uuid, field.value) + span;
|
|
131
|
+
}
|
|
132
|
+
return {
|
|
133
|
+
calcFieldItemSpan
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export { useComplexOptions, useComplexOptionsSpan };
|
|
@@ -49,7 +49,7 @@ function useFieldListAdaptor(collector) {
|
|
|
49
49
|
"x-decorator": "FORM_ITEM",
|
|
50
50
|
"x-decorator-props": {
|
|
51
51
|
fieldItem: deepOmit(item, ["reactions"]),
|
|
52
|
-
span: item.elem_width,
|
|
52
|
+
span: (item.elem_width || 3) * 2,
|
|
53
53
|
showLabel: item.hide_title !== "1",
|
|
54
54
|
remark: item.remark,
|
|
55
55
|
propertyKey: item.val_key,
|
|
@@ -255,7 +255,7 @@ function useFieldListAdaptor(collector) {
|
|
|
255
255
|
name: fieldKeyEscape(fieldList),
|
|
256
256
|
title: item.alias || item.name,
|
|
257
257
|
"x-component": "INPUT_GROUP",
|
|
258
|
-
"x-component-props": { span: item.elem_width },
|
|
258
|
+
"x-component-props": { span: (item.elem_width || 3) * 2 },
|
|
259
259
|
properties: schemaAdaptor(fieldList)
|
|
260
260
|
};
|
|
261
261
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { GeneralField } from '@formily/core';
|
|
2
|
+
export declare function useFormField<T extends GeneralField>(): {
|
|
3
|
+
field: import("vue").Ref<T>;
|
|
3
4
|
title: import("vue").ComputedRef<any>;
|
|
4
5
|
fieldKey: import("vue").ComputedRef<string>;
|
|
5
6
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { jsonParse } from '../../../../shared/utils/index.js';
|
|
1
|
+
import { checkInSetupEnv, jsonParse } from '../../../../shared/utils/index.js';
|
|
2
2
|
import { useDebounceFn } from '@vueuse/core';
|
|
3
3
|
import { isString, isEqual, omit, isFunction } from 'lodash-es';
|
|
4
|
-
import { computed, inject,
|
|
4
|
+
import { computed, inject, ref, watch } from 'vue';
|
|
5
5
|
import '../../index.js';
|
|
6
6
|
import { InjectionAsyncQueue, InjectionFormItemDepsCollector } from '../constants/index.js';
|
|
7
7
|
import { createUrlConfigParams, formRenderLog, optionMatcherWithKeyword } from '../utils/index.js';
|
|
@@ -115,8 +115,7 @@ function useRecommendOptions(props, options, emit, valueKey) {
|
|
|
115
115
|
};
|
|
116
116
|
}
|
|
117
117
|
function useUrlConfigOptions(props, valueRef) {
|
|
118
|
-
|
|
119
|
-
throw new Error("can't use this hook out of setup environment");
|
|
118
|
+
checkInSetupEnv();
|
|
120
119
|
const asyncQueue = inject(InjectionAsyncQueue);
|
|
121
120
|
const labelKey = computed(() => {
|
|
122
121
|
var _a, _b;
|
|
@@ -174,8 +173,7 @@ function useUrlConfigOptions(props, valueRef) {
|
|
|
174
173
|
return { labelKey, valueKey, options, fetchData };
|
|
175
174
|
}
|
|
176
175
|
function useAutographOptions(props, valueRef) {
|
|
177
|
-
|
|
178
|
-
throw new Error("can't use this hook out of setup environment");
|
|
176
|
+
checkInSetupEnv();
|
|
179
177
|
const asyncQueue = inject(InjectionAsyncQueue);
|
|
180
178
|
const labelKey = computed(() => {
|
|
181
179
|
var _a, _b, _c;
|
|
@@ -22,12 +22,13 @@ export declare type ValidateItem = Partial<{
|
|
|
22
22
|
regular_error_tip: string;
|
|
23
23
|
[key: string]: any;
|
|
24
24
|
}>;
|
|
25
|
-
interface
|
|
25
|
+
export interface FormOptionItem {
|
|
26
26
|
text: string;
|
|
27
27
|
value: any;
|
|
28
28
|
keyword?: string;
|
|
29
29
|
disabled?: boolean;
|
|
30
|
-
children?:
|
|
30
|
+
children?: FormOptionItem[];
|
|
31
|
+
childrenFields?: FieldItem[];
|
|
31
32
|
}
|
|
32
33
|
interface FormRendererPayload {
|
|
33
34
|
clearable: boolean;
|
|
@@ -139,7 +140,7 @@ export declare type FieldItem = {
|
|
|
139
140
|
hide_title: FormCommonState;
|
|
140
141
|
placeholder: string;
|
|
141
142
|
validate: ValidateItem;
|
|
142
|
-
option:
|
|
143
|
+
option: FormOptionItem[];
|
|
143
144
|
/**
|
|
144
145
|
* 是否开启多选('0'表示开启, 值是反的)
|
|
145
146
|
*/
|
|
@@ -20,64 +20,5 @@ export declare function assignValueBindKey(props: AnyObject, field: GeneralField
|
|
|
20
20
|
export declare function assignClearBindVisited(props: AnyObject, field: GeneralField): {
|
|
21
21
|
[x: string]: any;
|
|
22
22
|
};
|
|
23
|
-
export declare function createObjSchema(properties: Record<string, ISchema>):
|
|
24
|
-
type: string;
|
|
25
|
-
properties: Record<string, import("@formily/json-schema/esm/types").Stringify<{
|
|
26
|
-
[key: symbol]: any;
|
|
27
|
-
[key: `x-${string}`]: any;
|
|
28
|
-
[key: `x-${number}`]: any;
|
|
29
|
-
version?: string | undefined;
|
|
30
|
-
name?: import("@formily/json-schema/esm/types").SchemaKey | undefined;
|
|
31
|
-
title?: any;
|
|
32
|
-
description?: any;
|
|
33
|
-
default?: any;
|
|
34
|
-
readOnly?: boolean | undefined;
|
|
35
|
-
writeOnly?: boolean | undefined;
|
|
36
|
-
type?: import("@formily/json-schema/esm/types").SchemaTypes | undefined;
|
|
37
|
-
enum?: import("@formily/json-schema/esm/types").SchemaEnum<any> | undefined;
|
|
38
|
-
const?: any;
|
|
39
|
-
multipleOf?: number | undefined;
|
|
40
|
-
maximum?: number | undefined;
|
|
41
|
-
exclusiveMaximum?: number | undefined;
|
|
42
|
-
minimum?: number | undefined;
|
|
43
|
-
exclusiveMinimum?: number | undefined;
|
|
44
|
-
maxLength?: number | undefined;
|
|
45
|
-
minLength?: number | undefined;
|
|
46
|
-
pattern?: string | RegExp | undefined;
|
|
47
|
-
maxItems?: number | undefined;
|
|
48
|
-
minItems?: number | undefined;
|
|
49
|
-
uniqueItems?: boolean | undefined;
|
|
50
|
-
maxProperties?: number | undefined;
|
|
51
|
-
minProperties?: number | undefined;
|
|
52
|
-
required?: string | boolean | string[] | undefined;
|
|
53
|
-
format?: string | undefined;
|
|
54
|
-
$ref?: string | undefined;
|
|
55
|
-
$namespace?: string | undefined;
|
|
56
|
-
definitions?: import("@formily/json-schema/esm/types").SchemaProperties<any, any, any, any, any, any, any, any> | undefined;
|
|
57
|
-
properties?: import("@formily/json-schema/esm/types").SchemaProperties<any, any, any, any, any, any, any, any> | undefined;
|
|
58
|
-
items?: import("@formily/json-schema/esm/types").SchemaItems<any, any, any, any, any, any, any, any> | undefined;
|
|
59
|
-
additionalItems?: import("@formily/json-schema/esm/types").Stringify<any> | undefined;
|
|
60
|
-
patternProperties?: import("@formily/json-schema/esm/types").SchemaProperties<any, any, any, any, any, any, any, any> | undefined;
|
|
61
|
-
additionalProperties?: import("@formily/json-schema/esm/types").Stringify<any> | undefined;
|
|
62
|
-
"x-value"?: any;
|
|
63
|
-
"x-index"?: number | undefined;
|
|
64
|
-
"x-pattern"?: any;
|
|
65
|
-
"x-display"?: any;
|
|
66
|
-
"x-validator"?: any;
|
|
67
|
-
"x-decorator"?: any;
|
|
68
|
-
"x-decorator-props"?: any;
|
|
69
|
-
"x-component"?: any;
|
|
70
|
-
"x-component-props"?: any;
|
|
71
|
-
"x-reactions"?: import("@formily/json-schema/esm/types").SchemaReactions<any> | undefined;
|
|
72
|
-
"x-content"?: any;
|
|
73
|
-
"x-data"?: any;
|
|
74
|
-
"x-visible"?: boolean | undefined;
|
|
75
|
-
"x-hidden"?: boolean | undefined;
|
|
76
|
-
"x-disabled"?: boolean | undefined;
|
|
77
|
-
"x-editable"?: boolean | undefined;
|
|
78
|
-
"x-read-only"?: boolean | undefined;
|
|
79
|
-
"x-read-pretty"?: boolean | undefined;
|
|
80
|
-
"x-compile-omitted"?: string[] | undefined;
|
|
81
|
-
}>>;
|
|
82
|
-
};
|
|
23
|
+
export declare function createObjSchema(properties: Record<string, ISchema>): ISchema;
|
|
83
24
|
export declare function createVisitedSetter(field: Ref<GeneralField>, callback?: Func): (...args: unknown[]) => any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.annotation-edit{align-items:center;color:#0067ee;cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:#ff9828}.annotation-edit__icon{align-items:center;display:inline-flex}.annotation-edit__textarea{min-width:200px}.annotation-edit__footer{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-between;opacity:.5}.annotation-edit__footer>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-edit__footer>div:first-of-type{min-width:30%}.recommend-search__menu{min-height:100px}.recommend-search__menuRecommendList{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.recommend-search__menuRecommendList .n-tag{cursor:pointer}.recommend-search__recentRecommend{margin-bottom:8px}.recommend-search__recentRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__recentRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__commonRecommend{margin-bottom:8px}.recommend-search__commonRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__commonRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__option{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:space-between;padding:0 8px}.recommend-search__optionText{max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommend-search__option.is-active{color:var(--n-color)!important}.recommend-search__option.is-active .n-icon{font-size:20px}.recommend-search__option:hover{background:rgba(0,0,0,.03)}.recommend-search__optionContainer{margin:-8px -10px}.recommend-search__empty{align-items:center;color:rgba(0,0,0,.3);display:flex;height:100px;justify-content:center}.search-cascader__menuWrapper{display:flex;flex-wrap:nowrap;margin:-8px -14px}.search-cascader__input input{cursor:pointer!important}.search-cascader__option{align-items:center;border-radius:4px;box-sizing:border-box;display:flex;height:32px;justify-content:space-between;padding:0 8px 0 16px;width:100%}.search-cascader__option--active{background:#f8f8f8}.search-cascader__option:hover{background:#f5f5f5;cursor:pointer}.search-cascader__optionWrapper{background:#fff;height:256px;overflow-x:auto;width:calc(var(--menu-width)*1px)}.search-cascader__optionWrapper:not(:last-of-type){border:solid #e5e5e5;border-width:0 1px 0 0}.search-cascader__optionText{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - 20px)}.search-cascader__option svg{color:#bfbfbf;flex-shrink:0;font-size:12px;width:20px}.search-cascader__option svg.rotate{animation:rotate 1s linear infinite}.search-cascader__emptyWrapper{align-items:center;background:#fff;box-sizing:border-box;display:flex;height:300px;justify-content:center;padding:16px;width:100%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.form-render__wrapper{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));max-height:var(--form-height);overflow-y:auto;position:relative}.form-render__formItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__formItem .n-date-picker,.form-render__formItem .n-input-number{width:100%}.form-render__formItemLabel{align-items:center;display:inline-flex;justify-content:space-between;position:relative}.form-render__formItemLabel--operation{align-items:center;display:flex;gap:2px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.form-render__formItemLabel--tooltip{font-size:0;line-height:1;width:16px}.form-render__formItemLabel--text{white-space:nowrap}.form-render__formItem .n-form-item-label{display:inline-flex}.form-render__formItem .n-form-item-label [annotation-hover-show=true]{visibility:hidden}.form-render__formItem .n-form-item-label:hover [annotation-hover-show=true]{visibility:visible}.form-render__linebar{grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__linebarHeader{align-items:center;background:#f2f2f2;border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:500;height:32px;justify-content:space-between;margin-bottom:8px;padding:0 16px}.form-render__linebarHeader>svg{color:rgba(33,33,33,.4);width:14px}.form-render__linebarHeaderTitle{align-items:center;display:flex;gap:4px;vertical-align:middle}.form-render__linebarHeaderTitle svg{height:16px;transform:translateY(-1px)}.form-render__linebarItem{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__linebreaks{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup{align-items:flex-start;display:flex;grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__inputGroup>div{flex:1}.form-render__inputGroup>div:not(:last-of-type) .n-base-selection__border,.form-render__inputGroup>div:not(:last-of-type) .n-input__border{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.form-render__inputGroup>div:last-of-type .n-base-selection__border,.form-render__inputGroup>div:last-of-type .n-input__border{border-bottom-left-radius:0;border-top-left-radius:0}.form-render__inputGroup .n-form-item--left-labelled:not(:first-of-type)>label{display:none}.form-render__combination{width:100%}.form-render__combinationHeader{display:flex;gap:12px}.form-render__combinationHeader>h3{font-size:16px;font-weight:700;margin:0;padding:0}.form-render__combinationHeader .n-button__icon{font-size:14px;margin:0 2px 0 0}.form-render__combinationHeaderText{font-size:16px;font-weight:500}.form-render__combinationClose{font-size:16px;height:14px;position:absolute;right:5px;top:5px;width:14px}.form-render__combinationContentJson{position:relative}.form-render__combinationContent{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));position:relative}.form-render__complex{width:100%}.form-render__complexContent--grid{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__complexContent--flex{display:flex!important;gap:0 8px}.form-render__selectMenu .n-scrollbar-rail__scrollbar{display:none!important}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar,.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{display:unset!important;height:6px;width:6px}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.form-render__selectMenu .v-vl-items{min-width:100%;width:max-content}.form-render__selectOption .n-base-select-option__content{overflow:visible!important;text-overflow:unset!important;word-break:keep-all!important}
|
|
1
|
+
.annotation-edit{align-items:center;color:#0067ee;cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:#ff9828}.annotation-edit__icon{align-items:center;display:inline-flex}.annotation-edit__textarea{min-width:200px}.annotation-edit__footer{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-between;opacity:.5}.annotation-edit__footer>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-edit__footer>div:first-of-type{min-width:30%}.recommend-search__menu{min-height:100px}.recommend-search__menuRecommendList{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.recommend-search__menuRecommendList .n-tag{cursor:pointer}.recommend-search__recentRecommend{margin-bottom:8px}.recommend-search__recentRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__recentRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__commonRecommend{margin-bottom:8px}.recommend-search__commonRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__commonRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__option{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:space-between;padding:0 8px}.recommend-search__optionText{max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommend-search__option.is-active{color:var(--n-color)!important}.recommend-search__option.is-active .n-icon{font-size:20px}.recommend-search__option:hover{background:rgba(0,0,0,.03)}.recommend-search__optionContainer{margin:-8px -10px}.recommend-search__empty{align-items:center;color:rgba(0,0,0,.3);display:flex;height:100px;justify-content:center}.search-cascader__menuWrapper{display:flex;flex-wrap:nowrap;margin:-8px -14px}.search-cascader__input input{cursor:pointer!important}.search-cascader__option{align-items:center;border-radius:4px;box-sizing:border-box;display:flex;height:32px;justify-content:space-between;padding:0 8px 0 16px;width:100%}.search-cascader__option--active{background:#f8f8f8}.search-cascader__option:hover{background:#f5f5f5;cursor:pointer}.search-cascader__optionWrapper{background:#fff;height:256px;overflow-x:auto;width:calc(var(--menu-width)*1px)}.search-cascader__optionWrapper:not(:last-of-type){border:solid #e5e5e5;border-width:0 1px 0 0}.search-cascader__optionText{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - 20px)}.search-cascader__option svg{color:#bfbfbf;flex-shrink:0;font-size:12px;width:20px}.search-cascader__option svg.rotate{animation:rotate 1s linear infinite}.search-cascader__emptyWrapper{align-items:center;background:#fff;box-sizing:border-box;display:flex;height:300px;justify-content:center;padding:16px;width:100%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.form-render__wrapper{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));max-height:var(--form-height);overflow-y:auto;position:relative}.form-render__formItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__formItem .n-date-picker,.form-render__formItem .n-input-number{width:100%}.form-render__formItemLabel{align-items:center;display:inline-flex;justify-content:space-between;position:relative}.form-render__formItemLabel--operation{align-items:center;display:flex;gap:2px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.form-render__formItemLabel--tooltip{font-size:0;line-height:1;width:16px}.form-render__formItemLabel--text{white-space:nowrap}.form-render__formItem .n-form-item-label{display:inline-flex}.form-render__formItem .n-form-item-label [annotation-hover-show=true]{visibility:hidden}.form-render__formItem .n-form-item-label:hover [annotation-hover-show=true]{visibility:visible}.form-render__linebar{grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__linebarHeader{align-items:center;background:#f2f2f2;border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:500;height:32px;justify-content:space-between;margin-bottom:8px;padding:0 16px}.form-render__linebarHeader>svg{color:rgba(33,33,33,.4);width:14px}.form-render__linebarHeaderTitle{align-items:center;display:flex;gap:4px;vertical-align:middle}.form-render__linebarHeaderTitle svg{height:16px;transform:translateY(-1px)}.form-render__linebarItem{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__linebreaks{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup{align-items:flex-start;display:flex;grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__inputGroup>div{flex:1}.form-render__inputGroup>div:not(:last-of-type) .n-base-selection__border,.form-render__inputGroup>div:not(:last-of-type) .n-input__border{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.form-render__inputGroup>div:last-of-type .n-base-selection__border,.form-render__inputGroup>div:last-of-type .n-input__border{border-bottom-left-radius:0;border-top-left-radius:0}.form-render__inputGroup .n-form-item--left-labelled:not(:first-of-type)>label{display:none}.form-render__combination{width:100%}.form-render__combinationHeader{display:flex;gap:12px}.form-render__combinationHeader>h3{font-size:16px;font-weight:700;margin:0;padding:0}.form-render__combinationHeader .n-button__icon{font-size:14px;margin:0 2px 0 0}.form-render__combinationHeaderText{font-size:16px;font-weight:500}.form-render__combinationClose{font-size:16px;height:14px;position:absolute;right:5px;top:5px;width:14px}.form-render__combinationContentJson{position:relative}.form-render__combinationContent{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));position:relative}.form-render__complex{width:100%}.form-render__complexContent--grid{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__complexContent--flex{display:flex!important;gap:0 8px}.form-render__selectMenu .n-scrollbar-rail__scrollbar{display:none!important}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar,.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{display:unset!important;height:6px;width:6px}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.form-render__selectMenu .v-vl-items{min-width:100%;width:max-content}.form-render__selectOption .n-base-select-option__content{overflow:visible!important;text-overflow:unset!important;word-break:keep-all!important}.form-render__labelField{align-items:start;display:grid!important;display:inline-grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));margin-left:16px}.form-render__labelField label.n-form-item-label.n-form-item-label--left-mark{align-items:center}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box{background-color:transparent}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-icon .check-icon{opacity:0}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box__border{border:var(--n-border)}.form-render .n-form-item--left-labelled.form-render__formItem .n-checkbox{align-items:center}.form-render .n-form-item--left-labelled.form-render__formItem .n-checkbox-group>.n-space{align-items:center!important;flex-wrap:nowrap!important}.form-render .n-form-item--left-labelled.form-render__formItem .n-checkbox__label{align-items:center;display:inline-flex}
|