@sdata/web-vue 1.13.0 → 1.18.0
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/sd.css +364 -1
- package/dist/sd.min.css +1 -1
- package/es/_components/picker/input-range.vue.d.ts +2 -2
- package/es/_components/picker/input.vue.d.ts +1 -1
- package/es/_components/resize-trigger.vue_vue_type_script_lang.js +1 -1
- package/es/_components/select-view/select-view.d.ts +2 -2
- package/es/_components/virtual-list/virtual-list.vue.d.ts +3 -3
- package/es/_hooks/use-config-provider-prop.d.ts +10 -0
- package/es/_hooks/use-config-provider-prop.js +19 -0
- package/es/_hooks/use-popup-manager.js +2 -4
- package/es/_utils/dom.d.ts +5 -2
- package/es/_utils/dom.js +1 -1
- package/es/anchor/anchor.vue.d.ts +2 -2
- package/es/anchor/index.d.ts +9 -9
- package/es/auto-complete/auto-complete.d.ts +3 -3
- package/es/auto-complete/index.d.ts +9 -9
- package/es/button/button.vue.d.ts +2 -2
- package/es/button/index.d.ts +6 -6
- package/es/calendar/calendar.d.ts +1 -1
- package/es/calendar/index.d.ts +3 -3
- package/es/card/card.d.ts +4 -4
- package/es/card/index.d.ts +9 -9
- package/es/carousel/carousel-arrow.vue.d.ts +1 -1
- package/es/carousel/carousel-indicator.vue.d.ts +1 -1
- package/es/carousel/carousel.d.ts +3 -3
- package/es/carousel/index.d.ts +9 -9
- package/es/cascader/base-cascader-panel.d.ts +1 -1
- package/es/cascader/cascader-search-panel.d.ts +1 -1
- package/es/cascader/cascader.vue.d.ts +14 -14
- package/es/checkbox/checkbox-group.d.ts +1 -1
- package/es/checkbox/index.d.ts +1 -1
- package/es/color-picker/color-picker.d.ts +5 -5
- package/es/color-picker/index.d.ts +15 -15
- package/es/color-picker/panel.d.ts +2 -2
- package/es/components.d.ts +1 -0
- package/es/config-provider/config-provider.vue.d.ts +26 -1
- package/es/config-provider/config-provider.vue_vue_type_script_lang.js +25 -1
- package/es/config-provider/context.d.ts +52 -1
- package/es/config-provider/index.d.ts +40 -3
- package/es/cropper/cropper.vue.d.ts +1 -1
- package/es/cropper/index.d.ts +3 -3
- package/es/date-picker/index.d.ts +107 -107
- package/es/date-picker/panels/date/index.vue.d.ts +15 -15
- package/es/date-picker/panels/footer.vue.d.ts +15 -15
- package/es/date-picker/panels/shortcuts.vue.d.ts +6 -6
- package/es/date-picker/panels/week/index.vue.d.ts +16 -16
- package/es/date-picker/picker-panel.vue.d.ts +54 -54
- package/es/date-picker/picker.vue.d.ts +94 -94
- package/es/date-picker/picker.vue_vue_type_script_lang.js +62 -11
- package/es/date-picker/pickers/date-picker.d.ts +1 -1
- package/es/date-picker/pickers/week-picker.d.ts +1 -1
- package/es/date-picker/range-picker-panel.vue.d.ts +55 -55
- package/es/date-picker/range-picker.vue.d.ts +182 -182
- package/es/date-picker/range-picker.vue_vue_type_script_lang.js +54 -10
- package/es/descriptions/descriptions.d.ts +1 -1
- package/es/descriptions/index.d.ts +3 -3
- package/es/drawer/drawer.js +9 -9
- package/es/drawer/drawer.vue.d.ts +21 -11
- package/es/drawer/drawer.vue_vue_type_script_lang.js +118 -9
- package/es/drawer/index.d.ts +57 -27
- package/es/dropdown/dropdown-button.vue.d.ts +24 -24
- package/es/dropdown/dropdown-submenu.vue.d.ts +17 -17
- package/es/dropdown/dropdown.vue.d.ts +16 -16
- package/es/dropdown/index.d.ts +74 -74
- package/es/ellipsis/ellipsis.vue.d.ts +43 -43
- package/es/ellipsis/index.d.ts +182 -182
- package/es/ellipsis/performant-ellipsis.vue.d.ts +44 -44
- package/es/form/form-item-label.vue.d.ts +36 -36
- package/es/form/form-item.vue.d.ts +40 -40
- package/es/form/index.d.ts +40 -40
- package/es/grid/grid-row.vue.d.ts +3 -3
- package/es/grid/index.d.ts +3 -3
- package/es/image/image.vue.d.ts +38 -38
- package/es/image/preview-action.d.ts +36 -36
- package/es/image/preview-group.vue.d.ts +41 -41
- package/es/image/preview-toolbar.vue.d.ts +36 -36
- package/es/image/preview.vue.d.ts +38 -38
- package/es/index.css +364 -1
- package/es/index.d.ts +5 -1
- package/es/index.js +17 -15
- package/es/index.scss +1 -0
- package/es/input/index.d.ts +9 -9
- package/es/input/input-password.vue.d.ts +2 -2
- package/es/input/input-search.d.ts +1 -1
- package/es/input/input.d.ts +2 -2
- package/es/input-number/index.d.ts +9 -9
- package/es/input-number/input-number.d.ts +3 -3
- package/es/input-tag/index.d.ts +6 -6
- package/es/input-tag/input-tag.d.ts +2 -2
- package/es/json-form/index.d.ts +112 -0
- package/es/json-form/index.js +11 -0
- package/es/json-form/json-form-component.js +5 -0
- package/es/json-form/json-form-component.vue.d.ts +24 -0
- package/es/json-form/json-form-component.vue_vue_type_script_setup_true_lang.js +89 -0
- package/es/json-form/json-form-item.js +5 -0
- package/es/json-form/json-form-item.vue.d.ts +32 -0
- package/es/json-form/json-form-item.vue_vue_type_script_setup_true_lang.js +213 -0
- package/es/json-form/json-form.js +5 -0
- package/es/json-form/json-form.vue.d.ts +42 -0
- package/es/json-form/json-form.vue_vue_type_script_setup_true_lang.js +142 -0
- package/es/json-form/style/css.js +2 -0
- package/es/json-form/style/index.css +31 -0
- package/es/json-form/style/index.d.ts +2 -0
- package/es/json-form/style/index.js +2 -0
- package/es/json-form/style/index.scss +25 -0
- package/es/json-form/style/token.scss +8 -0
- package/es/json-form/types.d.ts +291 -0
- package/es/json-form/types.js +43 -0
- package/es/json-form/utils.d.ts +11 -0
- package/es/json-form/utils.js +336 -0
- package/es/layout/header.js +2 -18
- package/es/layout/header.vue.d.ts +38 -3
- package/es/layout/header.vue_vue_type_script_setup_true_lang.js +350 -0
- package/es/layout/index.d.ts +1029 -49
- package/es/layout/interface.d.ts +40 -0
- package/es/layout/sider.js +38 -9
- package/es/layout/sider.vue.d.ts +950 -39
- package/es/layout/sider.vue_vue_type_script_lang.js +304 -31
- package/es/layout/style/index.css +155 -1
- package/es/layout/style/index.scss +198 -16
- package/es/layout/style/token.scss +13 -0
- package/es/link/index.d.ts +9 -9
- package/es/link/link.vue.d.ts +3 -3
- package/es/list/index.d.ts +3 -3
- package/es/list/list.d.ts +1 -1
- package/es/mention/index.d.ts +12 -12
- package/es/mention/mention.d.ts +4 -4
- package/es/menu/base-menu.vue.d.ts +24 -5
- package/es/menu/base-menu.vue_vue_type_script_lang.js +19 -1
- package/es/menu/context.d.ts +1 -1
- package/es/menu/index.d.ts +1 -1
- package/es/menu/interface.d.ts +8 -0
- package/es/menu/item-group.js +9 -2
- package/es/menu/item-group.vue.d.ts +2894 -0
- package/es/menu/item-group.vue_vue_type_script_lang.js +7 -2
- package/es/menu/item.d.ts +1 -1
- package/es/menu/item.js +10 -3
- package/es/menu/menu.d.ts +54 -5
- package/es/menu/menu.js +8 -0
- package/es/menu/style/css.js +1 -0
- package/es/menu/style/index.css +194 -0
- package/es/menu/style/index.d.ts +1 -0
- package/es/menu/style/index.js +1 -0
- package/es/menu/style/index.scss +48 -1
- package/es/menu/sub-menu-inline.js +24 -3
- package/es/menu/sub-menu-inline.vue.d.ts +2894 -0
- package/es/menu/sub-menu-inline.vue_vue_type_script_lang.js +4 -1
- package/es/menu/sub-menu-pop.js +29 -2
- package/es/menu/sub-menu-pop.vue.d.ts +2924 -22
- package/es/menu/sub-menu-pop.vue_vue_type_script_lang.js +3 -1
- package/es/menu/sub-menu.d.ts +1 -1
- package/es/message/message-list.d.ts +1 -1
- package/es/message/message.vue.d.ts +1 -1
- package/es/modal/index.d.ts +51 -27
- package/es/modal/modal.js +8 -8
- package/es/modal/modal.vue.d.ts +19 -11
- package/es/modal/modal.vue_vue_type_script_lang.js +134 -12
- package/es/notification/notification.vue.d.ts +1 -1
- package/es/overflow-list/index.d.ts +3 -3
- package/es/overflow-list/overflow-list.d.ts +1 -1
- package/es/pagination/page-jumper.vue.d.ts +9 -9
- package/es/pagination/page-options.vue.d.ts +66 -66
- package/es/popconfirm/index.d.ts +51 -51
- package/es/popconfirm/popconfirm.vue.d.ts +24 -24
- package/es/popover/index.d.ts +33 -33
- package/es/popover/popover.vue.d.ts +16 -16
- package/es/progress/circle.vue.d.ts +2 -2
- package/es/progress/index.d.ts +13 -13
- package/es/progress/line.vue.d.ts +1 -1
- package/es/progress/progress.vue.d.ts +6 -6
- package/es/progress/steps.vue.d.ts +2 -2
- package/es/radio/index.d.ts +4 -4
- package/es/radio/radio-group.d.ts +1 -1
- package/es/radio/radio.d.ts +1 -1
- package/es/sd-vue.js +17 -14
- package/es/select/index.d.ts +66 -66
- package/es/select/option.vue.d.ts +2 -2
- package/es/select/select-dropdown.vue.d.ts +4 -4
- package/es/select/select.d.ts +27 -27
- package/es/skeleton/index.d.ts +1 -1
- package/es/skeleton/shape.vue.d.ts +1 -1
- package/es/slider/index.d.ts +97 -97
- package/es/slider/slider-button.vue.d.ts +38 -38
- package/es/slider/slider-input.vue.d.ts +9 -9
- package/es/slider/slider.vue.d.ts +48 -48
- package/es/spin/index.d.ts +3 -3
- package/es/spin/spin.d.ts +1 -1
- package/es/statistic/index.d.ts +6 -6
- package/es/statistic/statistic.vue.d.ts +2 -2
- package/es/steps/index.d.ts +6 -6
- package/es/steps/steps.vue.d.ts +2 -2
- package/es/style/theme/z-index.d.ts +8 -0
- package/es/style/theme/z-index.js +7 -0
- package/es/switch/index.d.ts +21 -6
- package/es/switch/switch.vue.d.ts +11 -2
- package/es/switch/switch.vue_vue_type_script_lang.js +30 -5
- package/es/table/index.d.ts +15 -15
- package/es/table/table-operation-td.d.ts +5 -5
- package/es/table/table-th.js +1 -1
- package/es/table/table.d.ts +5 -5
- package/es/tabs/index.d.ts +9 -9
- package/es/tabs/tabs.d.ts +3 -3
- package/es/tag/index.d.ts +922 -922
- package/es/tag/tag.vue.d.ts +367 -367
- package/es/textarea/index.d.ts +6 -6
- package/es/textarea/textarea.vue.d.ts +2 -2
- package/es/time-picker/index.d.ts +104 -104
- package/es/time-picker/panel.vue.d.ts +14 -14
- package/es/time-picker/range-panel.d.ts +14 -14
- package/es/time-picker/time-picker.vue.d.ts +50 -50
- package/es/timeline/index.d.ts +9 -9
- package/es/timeline/timeline.d.ts +4 -4
- package/es/tooltip/index.d.ts +36 -36
- package/es/tooltip/tooltip.vue.d.ts +17 -17
- package/es/transfer/index.d.ts +37 -37
- package/es/transfer/transfer-list-item.d.ts +2 -2
- package/es/transfer/transfer-view.vue.d.ts +8 -8
- package/es/transfer/transfer-view.vue_vue_type_script_lang.js +1 -1
- package/es/transfer/transfer.vue.d.ts +17 -17
- package/es/tree/base-node.vue.d.ts +2 -2
- package/es/tree/base-node.vue_vue_type_script_lang.js +1 -1
- package/es/tree/node-switcher.vue_vue_type_script_lang.js +1 -1
- package/es/tree/transition-node-list.vue.d.ts +2 -2
- package/es/tree/tree.vue.d.ts +27 -27
- package/es/tree/tree.vue_vue_type_script_lang.js +3 -3
- package/es/tree-select/tree-select.vue.d.ts +30 -30
- package/es/tree-select/tree-select.vue_vue_type_script_lang.js +2 -2
- package/es/trigger/index.d.ts +15 -15
- package/es/trigger/trigger.d.ts +5 -5
- package/es/typography/base.d.ts +1 -1
- package/es/typography/edit-content.vue.d.ts +27 -27
- package/es/typography/operations.vue.d.ts +36 -36
- package/es/upload/index.d.ts +6 -6
- package/es/upload/upload-button.d.ts +1 -1
- package/es/upload/upload.d.ts +2 -2
- package/es/watermark/index.d.ts +3 -3
- package/es/watermark/watermark.d.ts +1 -1
- package/json/vetur-attributes.json +159 -7
- package/json/vetur-tags.json +48 -4
- package/json/web-types.json +344 -23
- package/package.json +2 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { Component } from 'vue';
|
|
2
|
+
import { type JsonFormModel, type JsonFormProps } from './types';
|
|
3
|
+
type __VLS_Props = JsonFormProps;
|
|
4
|
+
type __VLS_ModelProps = {
|
|
5
|
+
modelValue?: JsonFormModel | undefined;
|
|
6
|
+
};
|
|
7
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
8
|
+
declare var __VLS_9: {}, __VLS_19: string, __VLS_20: {
|
|
9
|
+
[x: string]: unknown;
|
|
10
|
+
};
|
|
11
|
+
type __VLS_Slots = {} & {
|
|
12
|
+
[K in NonNullable<typeof __VLS_19>]?: (props: typeof __VLS_20) => any;
|
|
13
|
+
} & {
|
|
14
|
+
default?: (props: typeof __VLS_9) => any;
|
|
15
|
+
};
|
|
16
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
17
|
+
validate: (callback?: ((errors: undefined | Record<string, import("..").ValidatedError>) => void) | undefined) => Promise<Record<string, import("..").ValidatedError> | undefined> | undefined;
|
|
18
|
+
validateField: (field: string | string[], callback?: ((errors: undefined | Record<string, import("..").ValidatedError>) => void) | undefined) => Promise<Record<string, import("..").ValidatedError> | undefined> | undefined;
|
|
19
|
+
resetFields: (field?: string | string[] | undefined) => void | undefined;
|
|
20
|
+
clearValidate: (field?: string | string[] | undefined) => void | undefined;
|
|
21
|
+
setFields: (data: Record<string, import("../form/interface").FieldData>) => void | undefined;
|
|
22
|
+
scrollToField: (field: string) => void | undefined;
|
|
23
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
24
|
+
"update:modelValue": (value: JsonFormModel | undefined) => any;
|
|
25
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
26
|
+
"onUpdate:modelValue"?: ((value: JsonFormModel | undefined) => any) | undefined;
|
|
27
|
+
}>, {
|
|
28
|
+
component: string | Component;
|
|
29
|
+
showColon: boolean;
|
|
30
|
+
hideLabel: boolean;
|
|
31
|
+
hideAsterisk: boolean;
|
|
32
|
+
model: JsonFormModel;
|
|
33
|
+
adapter: import("./types").JsonFormAdapter;
|
|
34
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
35
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
36
|
+
declare const _default: typeof __VLS_export;
|
|
37
|
+
export default _default;
|
|
38
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
39
|
+
new (): {
|
|
40
|
+
$slots: S;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { configProviderInjectionKey } from "../config-provider/context.js";
|
|
2
|
+
import { _objectSpread2 } from "../_virtual/_@oxc-project_runtime@0.130.0/helpers/objectSpread2.js";
|
|
3
|
+
import { getPrefixCls } from "../_utils/global-config.js";
|
|
4
|
+
import form_default from "../form/form.js";
|
|
5
|
+
import { JSON_FORM_ADAPTERS } from "./types.js";
|
|
6
|
+
import { resolveJsonFormComponents, translateA2UI_0_8ToJsonFormSchemas } from "./utils.js";
|
|
7
|
+
import json_form_item_default from "./json-form-item.js";
|
|
8
|
+
import { Comment, Fragment, computed, createBlock, createElementBlock, createSlots, defineComponent, inject, mergeModels, mergeProps, openBlock, renderList, renderSlot, resolveDynamicComponent, shallowRef, unref, useModel, useSlots, watch, withCtx } from "vue";
|
|
9
|
+
//#region components/json-form/json-form.vue?vue&type=script&setup=true&lang.ts
|
|
10
|
+
var json_form_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent(_objectSpread2(_objectSpread2({}, {
|
|
11
|
+
name: "JsonForm",
|
|
12
|
+
inheritAttrs: false
|
|
13
|
+
}), {}, {
|
|
14
|
+
__name: "json-form",
|
|
15
|
+
props: /* @__PURE__ */ mergeModels({
|
|
16
|
+
schemas: {},
|
|
17
|
+
adapter: { default: void 0 },
|
|
18
|
+
model: { default: void 0 },
|
|
19
|
+
hideLabel: {
|
|
20
|
+
type: Boolean,
|
|
21
|
+
default: false
|
|
22
|
+
},
|
|
23
|
+
hideAsterisk: {
|
|
24
|
+
type: Boolean,
|
|
25
|
+
default: false
|
|
26
|
+
},
|
|
27
|
+
showColon: {
|
|
28
|
+
type: Boolean,
|
|
29
|
+
default: false
|
|
30
|
+
},
|
|
31
|
+
component: { default: void 0 }
|
|
32
|
+
}, {
|
|
33
|
+
"modelValue": {},
|
|
34
|
+
"modelModifiers": {}
|
|
35
|
+
}),
|
|
36
|
+
emits: ["update:modelValue"],
|
|
37
|
+
setup(__props, { expose: __expose }) {
|
|
38
|
+
var _props$model;
|
|
39
|
+
const props = __props;
|
|
40
|
+
const modelValue = useModel(__props, "modelValue");
|
|
41
|
+
const formRef = shallowRef(null);
|
|
42
|
+
const internalModel = shallowRef((_props$model = props.model) !== null && _props$model !== void 0 ? _props$model : {});
|
|
43
|
+
const configProvider = inject(configProviderInjectionKey, void 0);
|
|
44
|
+
const slots = useSlots();
|
|
45
|
+
const prefixCls = getPrefixCls("json-form");
|
|
46
|
+
watch(() => props.model, (value) => {
|
|
47
|
+
if (value && modelValue.value === void 0) internalModel.value = value;
|
|
48
|
+
}, { immediate: true });
|
|
49
|
+
const workingModel = computed(() => {
|
|
50
|
+
var _modelValue$value;
|
|
51
|
+
return (_modelValue$value = modelValue.value) !== null && _modelValue$value !== void 0 ? _modelValue$value : internalModel.value;
|
|
52
|
+
});
|
|
53
|
+
const resolvedAdapter = computed(() => {
|
|
54
|
+
var _ref, _props$adapter, _configProvider$jsonF;
|
|
55
|
+
return (_ref = (_props$adapter = props.adapter) !== null && _props$adapter !== void 0 ? _props$adapter : configProvider === null || configProvider === void 0 || (_configProvider$jsonF = configProvider.jsonForm) === null || _configProvider$jsonF === void 0 ? void 0 : _configProvider$jsonF.adapter) !== null && _ref !== void 0 ? _ref : JSON_FORM_ADAPTERS.default;
|
|
56
|
+
});
|
|
57
|
+
const resolvedComponents = computed(() => {
|
|
58
|
+
var _configProvider$jsonF2;
|
|
59
|
+
return resolveJsonFormComponents(configProvider === null || configProvider === void 0 || (_configProvider$jsonF2 = configProvider.jsonForm) === null || _configProvider$jsonF2 === void 0 ? void 0 : _configProvider$jsonF2.components);
|
|
60
|
+
});
|
|
61
|
+
const normalizedSchemas = computed(() => {
|
|
62
|
+
if (resolvedAdapter.value === JSON_FORM_ADAPTERS.a2ui_0_8) return translateA2UI_0_8ToJsonFormSchemas(props.schemas);
|
|
63
|
+
return props.schemas;
|
|
64
|
+
});
|
|
65
|
+
const customComponent = computed(() => {
|
|
66
|
+
var _props$component;
|
|
67
|
+
return (_props$component = props.component) !== null && _props$component !== void 0 ? _props$component : form_default;
|
|
68
|
+
});
|
|
69
|
+
const hasDefaultSlot = computed(() => {
|
|
70
|
+
var _slots$default, _slots$default2;
|
|
71
|
+
return ((_slots$default = (_slots$default2 = slots.default) === null || _slots$default2 === void 0 ? void 0 : _slots$default2.call(slots)) !== null && _slots$default !== void 0 ? _slots$default : []).some((node) => node.type !== Comment);
|
|
72
|
+
});
|
|
73
|
+
const rootClass = computed(() => [prefixCls, `${prefixCls}--${resolvedAdapter.value}`]);
|
|
74
|
+
__expose({
|
|
75
|
+
validate: (...args) => {
|
|
76
|
+
var _formRef$value;
|
|
77
|
+
return (_formRef$value = formRef.value) === null || _formRef$value === void 0 ? void 0 : _formRef$value.validate(...args);
|
|
78
|
+
},
|
|
79
|
+
validateField: (...args) => {
|
|
80
|
+
var _formRef$value2;
|
|
81
|
+
return (_formRef$value2 = formRef.value) === null || _formRef$value2 === void 0 ? void 0 : _formRef$value2.validateField(...args);
|
|
82
|
+
},
|
|
83
|
+
resetFields: (...args) => {
|
|
84
|
+
var _formRef$value3;
|
|
85
|
+
return (_formRef$value3 = formRef.value) === null || _formRef$value3 === void 0 ? void 0 : _formRef$value3.resetFields(...args);
|
|
86
|
+
},
|
|
87
|
+
clearValidate: (...args) => {
|
|
88
|
+
var _formRef$value4;
|
|
89
|
+
return (_formRef$value4 = formRef.value) === null || _formRef$value4 === void 0 ? void 0 : _formRef$value4.clearValidate(...args);
|
|
90
|
+
},
|
|
91
|
+
setFields: (...args) => {
|
|
92
|
+
var _formRef$value5;
|
|
93
|
+
return (_formRef$value5 = formRef.value) === null || _formRef$value5 === void 0 ? void 0 : _formRef$value5.setFields(...args);
|
|
94
|
+
},
|
|
95
|
+
scrollToField: (...args) => {
|
|
96
|
+
var _formRef$value6;
|
|
97
|
+
return (_formRef$value6 = formRef.value) === null || _formRef$value6 === void 0 ? void 0 : _formRef$value6.scrollToField(...args);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
return (_ctx, _cache) => {
|
|
101
|
+
return openBlock(), createBlock(resolveDynamicComponent(customComponent.value), mergeProps({
|
|
102
|
+
ref_key: "formRef",
|
|
103
|
+
ref: formRef,
|
|
104
|
+
class: rootClass.value,
|
|
105
|
+
"auto-label-width": "",
|
|
106
|
+
model: workingModel.value
|
|
107
|
+
}, _ctx.$attrs), {
|
|
108
|
+
default: withCtx(() => [hasDefaultSlot.value ? renderSlot(_ctx.$slots, "default", { key: 0 }) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(normalizedSchemas.value, (schema) => {
|
|
109
|
+
return openBlock(), createBlock(json_form_item_default, {
|
|
110
|
+
key: schema.field,
|
|
111
|
+
modelValue: workingModel.value,
|
|
112
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => workingModel.value = $event),
|
|
113
|
+
schema,
|
|
114
|
+
adapter: resolvedAdapter.value,
|
|
115
|
+
components: resolvedComponents.value,
|
|
116
|
+
"prefix-cls": unref(prefixCls),
|
|
117
|
+
"hide-label": __props.hideLabel,
|
|
118
|
+
"hide-asterisk": __props.hideAsterisk,
|
|
119
|
+
"show-colon": __props.showColon
|
|
120
|
+
}, createSlots({ _: 2 }, [renderList(_ctx.$slots, (_, name) => {
|
|
121
|
+
return {
|
|
122
|
+
name,
|
|
123
|
+
fn: withCtx((slotProps) => [renderSlot(_ctx.$slots, name, mergeProps({ ref_for: true }, slotProps))])
|
|
124
|
+
};
|
|
125
|
+
})]), 1032, [
|
|
126
|
+
"modelValue",
|
|
127
|
+
"schema",
|
|
128
|
+
"adapter",
|
|
129
|
+
"components",
|
|
130
|
+
"prefix-cls",
|
|
131
|
+
"hide-label",
|
|
132
|
+
"hide-asterisk",
|
|
133
|
+
"show-colon"
|
|
134
|
+
]);
|
|
135
|
+
}), 128))]),
|
|
136
|
+
_: 3
|
|
137
|
+
}, 16, ["class", "model"]);
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
}));
|
|
141
|
+
//#endregion
|
|
142
|
+
export { json_form_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/******** borderSize *******/
|
|
2
|
+
/******** borderStyle *******/
|
|
3
|
+
/******** radius *******/
|
|
4
|
+
/******** shadow distance *******/
|
|
5
|
+
/******** size *******/
|
|
6
|
+
/******** spacing *******/
|
|
7
|
+
/******** shadow *******/
|
|
8
|
+
/******** opacity *******/
|
|
9
|
+
/******** fontSize *******/
|
|
10
|
+
/******** fontWeight ********/
|
|
11
|
+
/******** Primary *******/
|
|
12
|
+
/******** success *******/
|
|
13
|
+
/******** warning *******/
|
|
14
|
+
/******** danger *******/
|
|
15
|
+
/******** link *******/
|
|
16
|
+
/******** radius *******/
|
|
17
|
+
/********* icon hover *********/
|
|
18
|
+
.sd-json-form-row {
|
|
19
|
+
gap: 8px 8px;
|
|
20
|
+
}
|
|
21
|
+
.sd-json-form-control {
|
|
22
|
+
width: 100%;
|
|
23
|
+
min-width: 0;
|
|
24
|
+
border-radius: 4px;
|
|
25
|
+
}
|
|
26
|
+
.sd-json-form-control--inline {
|
|
27
|
+
min-width: 0;
|
|
28
|
+
}
|
|
29
|
+
.sd-json-form .sd-form-item {
|
|
30
|
+
margin-bottom: 4px;
|
|
31
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
@use 'sass:string';
|
|
2
|
+
@use '@style/theme/index.scss' as theme;
|
|
3
|
+
@use '@components/json-form/style/token.scss' as *;
|
|
4
|
+
|
|
5
|
+
$json-form-prefix-cls: string.unquote('#{theme.$prefix}-json-form');
|
|
6
|
+
|
|
7
|
+
.#{$json-form-prefix-cls} {
|
|
8
|
+
&-row {
|
|
9
|
+
gap: $json-form-spacing-row-gap $json-form-spacing-col-gap;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
&-control {
|
|
13
|
+
width: 100%;
|
|
14
|
+
min-width: 0;
|
|
15
|
+
border-radius: $json-form-border-radius-control;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
&-control--inline {
|
|
19
|
+
min-width: 0;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.sd-form-item {
|
|
23
|
+
margin-bottom: $json-form-spacing-item-gap;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
@use '@style/theme/index.scss' as global;
|
|
2
|
+
|
|
3
|
+
@forward '@style/theme/index.scss';
|
|
4
|
+
|
|
5
|
+
$json-form-spacing-row-gap: global.$spacing-4;
|
|
6
|
+
$json-form-spacing-col-gap: global.$spacing-4;
|
|
7
|
+
$json-form-spacing-item-gap: global.$spacing-2;
|
|
8
|
+
$json-form-border-radius-control: global.$border-radius-medium;
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
import type { Component, HTMLAttributes, VNodeChild } from 'vue';
|
|
2
|
+
import type { AutoCompleteInstance } from '../auto-complete';
|
|
3
|
+
import type { CascaderInstance } from '../cascader';
|
|
4
|
+
import type { CheckboxGroupInstance, CheckboxInstance } from '../checkbox';
|
|
5
|
+
import type { DatePickerInstance, RangePickerInstance } from '../date-picker';
|
|
6
|
+
import type { FieldRule, FormItemInstance } from '../form';
|
|
7
|
+
import type { GridColInstance, GridRowInstance } from '../grid';
|
|
8
|
+
import type { InputInstance, InputPasswordInstance, InputSearchInstance } from '../input';
|
|
9
|
+
import type { InputNumberInstance } from '../input-number';
|
|
10
|
+
import type { InputTagInstance } from '../input-tag';
|
|
11
|
+
import type { MentionInstance } from '../mention';
|
|
12
|
+
import type { RadioGroupInstance, RadioInstance } from '../radio';
|
|
13
|
+
import type { RateInstance } from '../rate';
|
|
14
|
+
import type { SelectInstance } from '../select';
|
|
15
|
+
import type { SliderInstance } from '../slider';
|
|
16
|
+
import type { SwitchInstance } from '../switch';
|
|
17
|
+
import type { TextareaInstance } from '../textarea';
|
|
18
|
+
import type { TimePickerInstance } from '../time-picker';
|
|
19
|
+
import type { TransferInstance } from '../transfer';
|
|
20
|
+
import type { TreeSelectInstance } from '../tree-select';
|
|
21
|
+
import type { VerificationCodeInstance } from '../verification-code';
|
|
22
|
+
export declare const A2UI_0_8: "a2ui-0.8";
|
|
23
|
+
export declare const JSON_FORM_ADAPTERS: {
|
|
24
|
+
readonly default: "default";
|
|
25
|
+
readonly a2ui_0_8: "a2ui-0.8";
|
|
26
|
+
};
|
|
27
|
+
export declare const JSON_FORM_COMPONENT_TYPES: {
|
|
28
|
+
readonly autoComplete: "autoComplete";
|
|
29
|
+
readonly cascader: "cascader";
|
|
30
|
+
readonly checkbox: "checkbox";
|
|
31
|
+
readonly checkboxGroup: "checkboxGroup";
|
|
32
|
+
readonly datePicker: "datePicker";
|
|
33
|
+
readonly input: "input";
|
|
34
|
+
readonly inputNumber: "inputNumber";
|
|
35
|
+
readonly inputPassword: "inputPassword";
|
|
36
|
+
readonly inputSearch: "inputSearch";
|
|
37
|
+
readonly inputTag: "inputTag";
|
|
38
|
+
readonly mention: "mention";
|
|
39
|
+
readonly radio: "radio";
|
|
40
|
+
readonly radioGroup: "radioGroup";
|
|
41
|
+
readonly rangePicker: "rangePicker";
|
|
42
|
+
readonly rate: "rate";
|
|
43
|
+
readonly row: "row";
|
|
44
|
+
readonly select: "select";
|
|
45
|
+
readonly slider: "slider";
|
|
46
|
+
readonly switch: "switch";
|
|
47
|
+
readonly textarea: "textarea";
|
|
48
|
+
readonly timePicker: "timePicker";
|
|
49
|
+
readonly transfer: "transfer";
|
|
50
|
+
readonly treeSelect: "treeSelect";
|
|
51
|
+
readonly verificationCode: "verificationCode";
|
|
52
|
+
readonly noFormItem: "noFormItem";
|
|
53
|
+
};
|
|
54
|
+
export type JsonFormAdapter = (typeof JSON_FORM_ADAPTERS)[keyof typeof JSON_FORM_ADAPTERS];
|
|
55
|
+
export type JsonFormBuiltinComponentType = (typeof JSON_FORM_COMPONENT_TYPES)[keyof typeof JSON_FORM_COMPONENT_TYPES];
|
|
56
|
+
export type JsonFormExternalComponentMap = Record<string, Component>;
|
|
57
|
+
type ComponentPropsOf<T> = T extends new (...args: never[]) => {
|
|
58
|
+
$props: infer P;
|
|
59
|
+
} ? P : never;
|
|
60
|
+
type ComponentEmitOf<T> = T extends new (...args: never[]) => {
|
|
61
|
+
$emit: infer E;
|
|
62
|
+
} ? E : never;
|
|
63
|
+
type JsonFormBuiltInComponentPropsMap = {
|
|
64
|
+
autoComplete: AutoCompleteInstance['$props'];
|
|
65
|
+
cascader: CascaderInstance['$props'];
|
|
66
|
+
checkbox: CheckboxInstance['$props'];
|
|
67
|
+
checkboxGroup: CheckboxGroupInstance['$props'];
|
|
68
|
+
datePicker: DatePickerInstance['$props'];
|
|
69
|
+
input: InputInstance['$props'];
|
|
70
|
+
inputNumber: InputNumberInstance['$props'];
|
|
71
|
+
inputPassword: InputPasswordInstance['$props'];
|
|
72
|
+
inputSearch: InputSearchInstance['$props'];
|
|
73
|
+
inputTag: InputTagInstance['$props'];
|
|
74
|
+
mention: MentionInstance['$props'];
|
|
75
|
+
radio: RadioInstance['$props'];
|
|
76
|
+
radioGroup: RadioGroupInstance['$props'];
|
|
77
|
+
rangePicker: RangePickerInstance['$props'];
|
|
78
|
+
rate: RateInstance['$props'];
|
|
79
|
+
row: GridRowInstance['$props'];
|
|
80
|
+
select: SelectInstance['$props'];
|
|
81
|
+
slider: SliderInstance['$props'];
|
|
82
|
+
switch: SwitchInstance['$props'];
|
|
83
|
+
textarea: TextareaInstance['$props'];
|
|
84
|
+
timePicker: TimePickerInstance['$props'];
|
|
85
|
+
transfer: TransferInstance['$props'];
|
|
86
|
+
treeSelect: TreeSelectInstance['$props'];
|
|
87
|
+
verificationCode: VerificationCodeInstance['$props'];
|
|
88
|
+
noFormItem: Record<string, unknown>;
|
|
89
|
+
};
|
|
90
|
+
type JsonFormBuiltInComponentEventsMap = {
|
|
91
|
+
autoComplete: AutoCompleteInstance['$emit'];
|
|
92
|
+
cascader: CascaderInstance['$emit'];
|
|
93
|
+
checkbox: CheckboxInstance['$emit'];
|
|
94
|
+
checkboxGroup: CheckboxGroupInstance['$emit'];
|
|
95
|
+
datePicker: DatePickerInstance['$emit'];
|
|
96
|
+
input: InputInstance['$emit'];
|
|
97
|
+
inputNumber: InputNumberInstance['$emit'];
|
|
98
|
+
inputPassword: InputPasswordInstance['$emit'];
|
|
99
|
+
inputSearch: InputSearchInstance['$emit'];
|
|
100
|
+
inputTag: InputTagInstance['$emit'];
|
|
101
|
+
mention: MentionInstance['$emit'];
|
|
102
|
+
radio: RadioInstance['$emit'];
|
|
103
|
+
radioGroup: RadioGroupInstance['$emit'];
|
|
104
|
+
rangePicker: RangePickerInstance['$emit'];
|
|
105
|
+
rate: RateInstance['$emit'];
|
|
106
|
+
row: GridRowInstance['$emit'];
|
|
107
|
+
select: SelectInstance['$emit'];
|
|
108
|
+
slider: SliderInstance['$emit'];
|
|
109
|
+
switch: SwitchInstance['$emit'];
|
|
110
|
+
textarea: TextareaInstance['$emit'];
|
|
111
|
+
timePicker: TimePickerInstance['$emit'];
|
|
112
|
+
transfer: TransferInstance['$emit'];
|
|
113
|
+
treeSelect: TreeSelectInstance['$emit'];
|
|
114
|
+
verificationCode: VerificationCodeInstance['$emit'];
|
|
115
|
+
noFormItem: Record<string, (...args: unknown[]) => unknown>;
|
|
116
|
+
};
|
|
117
|
+
type JsonFormBuiltInComponentMap = {
|
|
118
|
+
[K in JsonFormBuiltinComponentType]: K extends keyof JsonFormBuiltInComponentPropsMap ? Component : never;
|
|
119
|
+
};
|
|
120
|
+
type JsonFormKnownComponentMap<TExternal extends JsonFormExternalComponentMap> = JsonFormBuiltInComponentMap & TExternal;
|
|
121
|
+
type JsonFormKnownComponentType<TExternal extends JsonFormExternalComponentMap> = Extract<keyof JsonFormKnownComponentMap<TExternal>, string>;
|
|
122
|
+
type JsonFormResolvedComponentProps<TType extends string, TExternal extends JsonFormExternalComponentMap> = TType extends keyof JsonFormBuiltInComponentPropsMap ? JsonFormBuiltInComponentPropsMap[TType] : TType extends keyof TExternal ? ComponentPropsOf<TExternal[TType]> : Record<string, unknown>;
|
|
123
|
+
type JsonFormResolvedComponentEvents<TType extends string, TExternal extends JsonFormExternalComponentMap> = TType extends keyof JsonFormBuiltInComponentEventsMap ? JsonFormBuiltInComponentEventsMap[TType] : TType extends keyof TExternal ? ComponentEmitOf<TExternal[TType]> : Record<string, (...args: unknown[]) => unknown>;
|
|
124
|
+
export type JsonFormComponentType<TExternal extends JsonFormExternalComponentMap = {}> = JsonFormKnownComponentType<TExternal> | (string & {});
|
|
125
|
+
export type JsonFormComponentProps<TType extends string, TExternal extends JsonFormExternalComponentMap = {}> = string extends TType ? Record<string, unknown> & HTMLAttributes : JsonFormResolvedComponentProps<TType, TExternal> & HTMLAttributes;
|
|
126
|
+
export type JsonFormComponentEvents<TType extends string, TExternal extends JsonFormExternalComponentMap = {}> = JsonFormResolvedComponentEvents<TType, TExternal>;
|
|
127
|
+
export type JsonFormComponentSlotRenderer = Component | ((...args: never[]) => VNodeChild);
|
|
128
|
+
export type JsonFormItemSlotProps<TExternal extends JsonFormExternalComponentMap = {}> = {
|
|
129
|
+
record?: JsonFormSchema<JsonFormComponentType<TExternal>, TExternal>;
|
|
130
|
+
value?: unknown;
|
|
131
|
+
} & Record<string, unknown>;
|
|
132
|
+
type JsonFormBaseSchema<TType extends string, TExternal extends JsonFormExternalComponentMap> = {
|
|
133
|
+
field: string;
|
|
134
|
+
label?: string;
|
|
135
|
+
type?: TType;
|
|
136
|
+
required?: boolean;
|
|
137
|
+
hidden?: boolean;
|
|
138
|
+
slotName?: string;
|
|
139
|
+
render?: () => VNodeChild;
|
|
140
|
+
span?: number;
|
|
141
|
+
colProps?: GridColInstance['$props'];
|
|
142
|
+
formItemProps?: Omit<FormItemInstance['$props'], 'field' | 'label' | 'rules'>;
|
|
143
|
+
formItemRules?: FieldRule | FieldRule[];
|
|
144
|
+
formItemEvents?: ComponentEmitOf<FormItemInstance>;
|
|
145
|
+
componentProps?: JsonFormComponentProps<TType, TExternal>;
|
|
146
|
+
componentEvents?: JsonFormComponentEvents<TType, TExternal>;
|
|
147
|
+
componentSlots?: Record<string, JsonFormComponentSlotRenderer>;
|
|
148
|
+
children?: JsonFormSchema<JsonFormComponentType<TExternal>, TExternal>[];
|
|
149
|
+
};
|
|
150
|
+
export type JsonFormSchema<TType extends string = JsonFormBuiltinComponentType, TExternal extends JsonFormExternalComponentMap = {}> = JsonFormBaseSchema<TType, TExternal>;
|
|
151
|
+
export type JsonFormComponentRegistry<TExternal extends JsonFormExternalComponentMap = {}> = Partial<Record<JsonFormComponentType<TExternal>, Component>>;
|
|
152
|
+
export type JsonFormProviderConfig<TExternal extends JsonFormExternalComponentMap = {}> = {
|
|
153
|
+
adapter?: JsonFormAdapter;
|
|
154
|
+
components?: JsonFormComponentRegistry<TExternal>;
|
|
155
|
+
};
|
|
156
|
+
export type JsonFormModel = Record<string, unknown>;
|
|
157
|
+
export type JsonFormProps<TExternal extends JsonFormExternalComponentMap = {}> = {
|
|
158
|
+
schemas: JsonFormSchema<JsonFormComponentType<TExternal>, TExternal>[] | JsonFormA2UI_0_8ComponentNode[];
|
|
159
|
+
adapter?: JsonFormAdapter;
|
|
160
|
+
model?: JsonFormModel;
|
|
161
|
+
hideLabel?: boolean;
|
|
162
|
+
hideAsterisk?: boolean;
|
|
163
|
+
showColon?: boolean;
|
|
164
|
+
component?: string | Component;
|
|
165
|
+
};
|
|
166
|
+
export type JsonFormA2UIBoundValue = string | {
|
|
167
|
+
literalString?: string;
|
|
168
|
+
path?: string;
|
|
169
|
+
};
|
|
170
|
+
export type JsonFormA2UI_0_8BoundValue = JsonFormA2UIBoundValue;
|
|
171
|
+
export type JsonFormA2UIChoiceOption = {
|
|
172
|
+
label?: JsonFormA2UIBoundValue;
|
|
173
|
+
value: string | number | boolean;
|
|
174
|
+
};
|
|
175
|
+
export type JsonFormA2UI_0_8ChoiceOption = JsonFormA2UIChoiceOption;
|
|
176
|
+
export type JsonFormA2UIChildren = string[] | {
|
|
177
|
+
explicitList?: string[];
|
|
178
|
+
};
|
|
179
|
+
export type JsonFormA2UI_0_8Children = JsonFormA2UIChildren;
|
|
180
|
+
export type JsonFormA2UI_0_8StandardComponentName = 'Row' | 'Column' | 'TextField' | 'CheckBox' | 'Slider' | 'DateTimeInput' | 'MultipleChoice' | 'ChoicePicker';
|
|
181
|
+
export type JsonFormA2UIComponentName = JsonFormA2UI_0_8StandardComponentName | (string & {});
|
|
182
|
+
type JsonFormA2UISharedNode = {
|
|
183
|
+
id: string;
|
|
184
|
+
};
|
|
185
|
+
export type JsonFormA2UIRowComponent = JsonFormA2UISharedNode & {
|
|
186
|
+
component: {
|
|
187
|
+
Row: {
|
|
188
|
+
children?: JsonFormA2UIChildren;
|
|
189
|
+
};
|
|
190
|
+
} | 'Row';
|
|
191
|
+
children?: string[];
|
|
192
|
+
};
|
|
193
|
+
export type JsonFormA2UI_0_8RowComponent = JsonFormA2UIRowComponent;
|
|
194
|
+
export type JsonFormA2UIColumnComponent = JsonFormA2UISharedNode & {
|
|
195
|
+
component: {
|
|
196
|
+
Column: {
|
|
197
|
+
children?: JsonFormA2UIChildren;
|
|
198
|
+
};
|
|
199
|
+
} | 'Column';
|
|
200
|
+
children?: string[];
|
|
201
|
+
};
|
|
202
|
+
export type JsonFormA2UI_0_8ColumnComponent = JsonFormA2UIColumnComponent;
|
|
203
|
+
export type JsonFormA2UITextFieldComponent = JsonFormA2UISharedNode & {
|
|
204
|
+
component: {
|
|
205
|
+
TextField: {
|
|
206
|
+
label?: JsonFormA2UIBoundValue;
|
|
207
|
+
text?: JsonFormA2UIBoundValue;
|
|
208
|
+
value?: JsonFormA2UIBoundValue;
|
|
209
|
+
textFieldType?: 'shortText' | 'longText' | 'number' | 'obscured' | 'date';
|
|
210
|
+
validationRegexp?: string;
|
|
211
|
+
placeholder?: JsonFormA2UIBoundValue;
|
|
212
|
+
};
|
|
213
|
+
} | 'TextField';
|
|
214
|
+
label?: JsonFormA2UIBoundValue;
|
|
215
|
+
text?: JsonFormA2UIBoundValue;
|
|
216
|
+
value?: JsonFormA2UIBoundValue;
|
|
217
|
+
textFieldType?: 'shortText' | 'longText' | 'number' | 'obscured' | 'date';
|
|
218
|
+
validationRegexp?: string;
|
|
219
|
+
placeholder?: JsonFormA2UIBoundValue;
|
|
220
|
+
};
|
|
221
|
+
export type JsonFormA2UI_0_8TextFieldComponent = JsonFormA2UITextFieldComponent;
|
|
222
|
+
export type JsonFormA2UICheckBoxComponent = JsonFormA2UISharedNode & {
|
|
223
|
+
component: {
|
|
224
|
+
CheckBox: {
|
|
225
|
+
label?: JsonFormA2UIBoundValue;
|
|
226
|
+
value?: JsonFormA2UIBoundValue;
|
|
227
|
+
};
|
|
228
|
+
} | 'CheckBox';
|
|
229
|
+
label?: JsonFormA2UIBoundValue;
|
|
230
|
+
value?: JsonFormA2UIBoundValue;
|
|
231
|
+
};
|
|
232
|
+
export type JsonFormA2UI_0_8CheckBoxComponent = JsonFormA2UICheckBoxComponent;
|
|
233
|
+
export type JsonFormA2UISliderComponent = JsonFormA2UISharedNode & {
|
|
234
|
+
component: {
|
|
235
|
+
Slider: {
|
|
236
|
+
value?: JsonFormA2UIBoundValue;
|
|
237
|
+
minValue?: number;
|
|
238
|
+
maxValue?: number;
|
|
239
|
+
};
|
|
240
|
+
} | 'Slider';
|
|
241
|
+
value?: JsonFormA2UIBoundValue;
|
|
242
|
+
minValue?: number;
|
|
243
|
+
maxValue?: number;
|
|
244
|
+
};
|
|
245
|
+
export type JsonFormA2UI_0_8SliderComponent = JsonFormA2UISliderComponent;
|
|
246
|
+
export type JsonFormA2UIDateTimeInputComponent = JsonFormA2UISharedNode & {
|
|
247
|
+
component: {
|
|
248
|
+
DateTimeInput: {
|
|
249
|
+
value?: JsonFormA2UIBoundValue;
|
|
250
|
+
enableDate?: boolean;
|
|
251
|
+
enableTime?: boolean;
|
|
252
|
+
label?: JsonFormA2UIBoundValue;
|
|
253
|
+
};
|
|
254
|
+
} | 'DateTimeInput';
|
|
255
|
+
value?: JsonFormA2UIBoundValue;
|
|
256
|
+
enableDate?: boolean;
|
|
257
|
+
enableTime?: boolean;
|
|
258
|
+
label?: JsonFormA2UIBoundValue;
|
|
259
|
+
};
|
|
260
|
+
export type JsonFormA2UI_0_8DateTimeInputComponent = JsonFormA2UIDateTimeInputComponent;
|
|
261
|
+
export type JsonFormA2UIChoiceComponent = JsonFormA2UISharedNode & {
|
|
262
|
+
component: {
|
|
263
|
+
MultipleChoice: {
|
|
264
|
+
options?: JsonFormA2UIChoiceOption[];
|
|
265
|
+
selections?: JsonFormA2UIBoundValue;
|
|
266
|
+
maxAllowedSelections?: number;
|
|
267
|
+
label?: JsonFormA2UIBoundValue;
|
|
268
|
+
};
|
|
269
|
+
} | {
|
|
270
|
+
ChoicePicker: {
|
|
271
|
+
options?: JsonFormA2UIChoiceOption[];
|
|
272
|
+
selections?: JsonFormA2UIBoundValue;
|
|
273
|
+
maxAllowedSelections?: number;
|
|
274
|
+
label?: JsonFormA2UIBoundValue;
|
|
275
|
+
};
|
|
276
|
+
} | 'MultipleChoice' | 'ChoicePicker';
|
|
277
|
+
options?: JsonFormA2UIChoiceOption[];
|
|
278
|
+
selections?: JsonFormA2UIBoundValue;
|
|
279
|
+
maxAllowedSelections?: number;
|
|
280
|
+
label?: JsonFormA2UIBoundValue;
|
|
281
|
+
};
|
|
282
|
+
export type JsonFormA2UI_0_8ChoiceComponent = JsonFormA2UIChoiceComponent;
|
|
283
|
+
export type JsonFormA2UI_0_8CustomComponentNode = JsonFormA2UISharedNode & {
|
|
284
|
+
component: string | Record<string, Record<string, unknown>>;
|
|
285
|
+
[key: string]: unknown;
|
|
286
|
+
};
|
|
287
|
+
export type JsonFormA2UI_0_8ComponentNode = JsonFormA2UIRowComponent | JsonFormA2UIColumnComponent | JsonFormA2UITextFieldComponent | JsonFormA2UICheckBoxComponent | JsonFormA2UISliderComponent | JsonFormA2UIDateTimeInputComponent | JsonFormA2UIChoiceComponent | JsonFormA2UI_0_8CustomComponentNode;
|
|
288
|
+
export type JsonFormA2UIComponentNode = JsonFormA2UI_0_8ComponentNode;
|
|
289
|
+
export declare const defineJsonFormComponents: <const TExternal extends JsonFormExternalComponentMap>(components: TExternal) => TExternal;
|
|
290
|
+
export declare const defineJsonFormSchemas: <const TExternal extends JsonFormExternalComponentMap>() => <const TSchemas extends JsonFormSchema<JsonFormComponentType<TExternal>, TExternal>[]>(schemas: TSchemas) => TSchemas;
|
|
291
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
//#region components/json-form/types.ts
|
|
2
|
+
var A2UI_0_8 = "a2ui-0.8";
|
|
3
|
+
var JSON_FORM_ADAPTERS = {
|
|
4
|
+
default: "default",
|
|
5
|
+
a2ui_0_8: A2UI_0_8
|
|
6
|
+
};
|
|
7
|
+
var JSON_FORM_COMPONENT_TYPES = {
|
|
8
|
+
autoComplete: "autoComplete",
|
|
9
|
+
cascader: "cascader",
|
|
10
|
+
checkbox: "checkbox",
|
|
11
|
+
checkboxGroup: "checkboxGroup",
|
|
12
|
+
datePicker: "datePicker",
|
|
13
|
+
input: "input",
|
|
14
|
+
inputNumber: "inputNumber",
|
|
15
|
+
inputPassword: "inputPassword",
|
|
16
|
+
inputSearch: "inputSearch",
|
|
17
|
+
inputTag: "inputTag",
|
|
18
|
+
mention: "mention",
|
|
19
|
+
radio: "radio",
|
|
20
|
+
radioGroup: "radioGroup",
|
|
21
|
+
rangePicker: "rangePicker",
|
|
22
|
+
rate: "rate",
|
|
23
|
+
row: "row",
|
|
24
|
+
select: "select",
|
|
25
|
+
slider: "slider",
|
|
26
|
+
switch: "switch",
|
|
27
|
+
textarea: "textarea",
|
|
28
|
+
timePicker: "timePicker",
|
|
29
|
+
transfer: "transfer",
|
|
30
|
+
treeSelect: "treeSelect",
|
|
31
|
+
verificationCode: "verificationCode",
|
|
32
|
+
noFormItem: "noFormItem"
|
|
33
|
+
};
|
|
34
|
+
var defineJsonFormComponents = (components) => {
|
|
35
|
+
return components;
|
|
36
|
+
};
|
|
37
|
+
var defineJsonFormSchemas = () => {
|
|
38
|
+
return (schemas) => {
|
|
39
|
+
return schemas;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
//#endregion
|
|
43
|
+
export { A2UI_0_8, JSON_FORM_ADAPTERS, JSON_FORM_COMPONENT_TYPES, defineJsonFormComponents, defineJsonFormSchemas };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Component } from 'vue';
|
|
2
|
+
import { A2UI_0_8, type JsonFormA2UI_0_8ComponentNode, type JsonFormComponentRegistry, type JsonFormExternalComponentMap, type JsonFormModel, type JsonFormSchema } from './types';
|
|
3
|
+
export declare const jsonFormBuiltInComponents: JsonFormComponentRegistry;
|
|
4
|
+
export declare function resolveJsonFormComponents<TExternal extends JsonFormExternalComponentMap>(customComponents?: JsonFormComponentRegistry<TExternal>): Record<string, Component>;
|
|
5
|
+
export declare function shouldStretchJsonFormControl(type?: string): boolean;
|
|
6
|
+
export declare function parseJsonFormPath(path: string, adapter?: 'default' | typeof A2UI_0_8): string[];
|
|
7
|
+
export declare function getJsonFormValue(model: JsonFormModel | undefined, path: string, adapter?: 'default' | typeof A2UI_0_8): unknown;
|
|
8
|
+
export declare function setJsonFormValue(model: JsonFormModel | undefined, path: string, value: unknown, adapter?: 'default' | typeof A2UI_0_8): void;
|
|
9
|
+
export declare function translateA2UI_0_8ToJsonFormSchemas(nodes: JsonFormA2UI_0_8ComponentNode[]): JsonFormSchema<string>[];
|
|
10
|
+
export declare const translateA2UIToJsonFormSchemas: typeof translateA2UI_0_8ToJsonFormSchemas;
|
|
11
|
+
export declare function mergeJsonFormClassName(...classNames: unknown[]): unknown[];
|