@iswangh/element-plus-kit-form 0.2.1 → 0.3.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/README.md +6 -5
- package/dist/FormAction.vue.d.ts.map +1 -1
- package/dist/FormItem.vue.d.ts.map +1 -1
- package/dist/composables/index.d.ts +1 -1
- package/dist/composables/index.d.ts.map +1 -1
- package/dist/composables/useChangeEventState.d.ts +2 -2
- package/dist/composables/useChangeEventState.d.ts.map +1 -1
- package/dist/composables/useLoadOptions.d.ts +57 -0
- package/dist/composables/useLoadOptions.d.ts.map +1 -0
- package/dist/config/comp.d.ts +1 -5
- package/dist/config/comp.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +721 -878
- package/dist/style.css +1 -1
- package/dist/types/form-item.d.ts +4 -13
- package/dist/types/index.d.ts +8 -9
- package/dist/types/options.d.ts +3 -62
- package/dist/utils/action.d.ts.map +1 -1
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +3 -2
- package/dist/composables/useClearState.d.ts +0 -17
- package/dist/composables/useClearState.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/utils/options.d.ts +0 -21
- package/dist/utils/options.d.ts.map +0 -1
- package/dist/utils/value.d.ts +0 -21
- package/dist/utils/value.d.ts.map +0 -1
|
@@ -2,25 +2,16 @@ import { Condition } from './common';
|
|
|
2
2
|
import { FormItemComp, FormItemCompProps } from './comp';
|
|
3
3
|
import { ElFormItemProps } from './el';
|
|
4
4
|
import { ColProps } from './layout';
|
|
5
|
-
import {
|
|
5
|
+
import { HasOptionsProp, OptionsLoaderType } from './options';
|
|
6
6
|
import { CompSlotsConfig, FormItemSlotsConfig } from './scope';
|
|
7
|
-
/**
|
|
8
|
-
* 根据组件类型推断 options 类型
|
|
9
|
-
* 只有支持 options 的组件才会扩展 options 类型
|
|
10
|
-
* @template T - 组件类型
|
|
11
|
-
*/
|
|
12
|
-
export type FormItemOptions<T extends FormItemComp> = IsOptionsSupported<T> extends true
|
|
13
|
-
? InferOptionsType<T>
|
|
14
|
-
: never
|
|
15
|
-
|
|
16
7
|
/**
|
|
17
8
|
* 根据组件类型推断 compProps 类型(扩展版本)
|
|
18
|
-
* 支持扩展属性,如 options、slots 等
|
|
9
|
+
* 支持扩展属性,如 options、optionsLoader、slots 等
|
|
19
10
|
* @template T - 组件类型
|
|
20
11
|
*/
|
|
21
12
|
export type FormItemCompPropsExtended<T extends FormItemComp>
|
|
22
|
-
= (
|
|
23
|
-
?
|
|
13
|
+
= (HasOptionsProp<T> extends true
|
|
14
|
+
? FormItemCompProps<T> & { optionsLoader?: OptionsLoaderType }
|
|
24
15
|
: FormItemCompProps<T>)
|
|
25
16
|
& { slots?: CompSlotsConfig<T> }
|
|
26
17
|
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
//# sourceMappingURL=index.d.ts.map
|
|
1
|
+
export * from './action'
|
|
2
|
+
export * from './common'
|
|
3
|
+
export * from './comp'
|
|
4
|
+
export * from './el'
|
|
5
|
+
export * from './form-item'
|
|
6
|
+
export * from './layout'
|
|
7
|
+
export * from './options'
|
|
8
|
+
export * from './scope'
|
package/dist/types/options.d.ts
CHANGED
|
@@ -4,70 +4,11 @@ import { FormItemComp, FormItemCompProps } from './comp';
|
|
|
4
4
|
* 通过检查组件实例的 $props 中是否包含 'options' 来判断
|
|
5
5
|
* @template T 组件类型
|
|
6
6
|
*/
|
|
7
|
-
type HasOptionsProp<T extends FormItemComp> = 'options' extends keyof FormItemCompProps<T>
|
|
7
|
+
export type HasOptionsProp<T extends FormItemComp> = 'options' extends keyof FormItemCompProps<T>
|
|
8
8
|
? true
|
|
9
9
|
: false
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
13
|
-
* 动态从组件类型定义中判断,不硬编码组件名称
|
|
14
|
-
* @template T 组件类型
|
|
15
|
-
*/
|
|
16
|
-
export type IsOptionsSupported<T extends FormItemComp> = HasOptionsProp<T>
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* 支持 options 属性的组件类型
|
|
20
|
-
* 通过类型系统自动提取,不硬编码
|
|
21
|
-
*/
|
|
22
|
-
export type OptionsSupportedComp = FormItemComp extends infer T
|
|
23
|
-
? T extends FormItemComp
|
|
24
|
-
? IsOptionsSupported<T> extends true
|
|
25
|
-
? T
|
|
26
|
-
: never
|
|
27
|
-
: never
|
|
28
|
-
: never
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Options 加载器函数类型
|
|
32
|
-
* @param formData 表单数据(外部依赖通过闭包访问)
|
|
33
|
-
* @returns 返回选项数组(支持同步和异步)
|
|
34
|
-
*/
|
|
35
|
-
export type OptionsLoader = (formData: Record<string, any>) => any[] | Promise<any[]>
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Options 对象模式配置
|
|
39
|
-
*/
|
|
40
|
-
export interface OptionsConfig {
|
|
41
|
-
/**
|
|
42
|
-
* 选项加载器函数
|
|
43
|
-
* @param formData 表单数据(外部依赖通过闭包访问)
|
|
44
|
-
* @returns 返回选项数组(支持同步和异步)
|
|
45
|
-
*/
|
|
46
|
-
loader: OptionsLoader
|
|
47
|
-
/**
|
|
48
|
-
* 是否立即加载(默认 false,需要显式设置为 true 才会立即加载)
|
|
49
|
-
*/
|
|
50
|
-
immediate?: boolean
|
|
51
|
-
/**
|
|
52
|
-
* 依赖字段列表,需要监听并获取
|
|
53
|
-
* 支持内部依赖(表单字段),外部依赖通过闭包访问
|
|
54
|
-
*/
|
|
55
|
-
deps?: string[]
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* 根据组件类型推断 options 类型
|
|
60
|
-
* @template T 组件类型
|
|
61
|
-
*/
|
|
62
|
-
export type InferOptionsType<T extends FormItemComp> = IsOptionsSupported<T> extends true
|
|
63
|
-
? OptionsLoader | OptionsConfig | any[]
|
|
64
|
-
: never
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* 获取组件原始的 options 类型
|
|
68
|
-
* 从组件实例的 $props 中提取 options 属性的类型
|
|
69
|
-
* @template T 组件类型
|
|
12
|
+
* OptionsLoader 类型
|
|
70
13
|
*/
|
|
71
|
-
export type
|
|
72
|
-
? FormItemCompProps<T>['options']
|
|
73
|
-
: never
|
|
14
|
+
export type OptionsLoaderType = (formData?: Record<string, any>) => any[] | Promise<any[]>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/utils/action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEjD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/utils/action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEjD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAE9G"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iswangh/element-plus-kit-form",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.3.0",
|
|
5
5
|
"description": "Element Plus Kit 表单组件包",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"sideEffects": [
|
|
@@ -47,7 +47,8 @@
|
|
|
47
47
|
"vue-tsc": "^3.1.3"
|
|
48
48
|
},
|
|
49
49
|
"publishConfig": {
|
|
50
|
-
"access": "public"
|
|
50
|
+
"access": "public",
|
|
51
|
+
"registry": "https://registry.npmjs.org/"
|
|
51
52
|
},
|
|
52
53
|
"scripts": {
|
|
53
54
|
"build": "vite build",
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 清理状态管理组合式函数
|
|
3
|
-
* 用于管理依赖变更时的清理操作,支持用户在 change 事件中设置默认值
|
|
4
|
-
*/
|
|
5
|
-
export declare function useClearState(): {
|
|
6
|
-
/** 是否正在处理依赖变更 */
|
|
7
|
-
readonly changing: boolean;
|
|
8
|
-
/** 用户是否在 change 事件中设置了值 */
|
|
9
|
-
readonly hasUserValue: boolean;
|
|
10
|
-
/** 开始依赖变更处理 */
|
|
11
|
-
start(): void;
|
|
12
|
-
/** 结束依赖变更处理 */
|
|
13
|
-
end(): void;
|
|
14
|
-
/** 标记用户在 change 事件中设置了值 */
|
|
15
|
-
markValue(): void;
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=useClearState.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useClearState.d.ts","sourceRoot":"","sources":["../../src/composables/useClearState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,aAAa;IAKzB,iBAAiB;;IAKjB,2BAA2B;;IAK3B,eAAe;;IAMf,eAAe;;IAMf,2BAA2B;;EAK9B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,QAAQ,CAAA;AAC3B,mBAAmB,MAAM,CAAA;AACzB,mBAAmB,aAAa,CAAA;AAChC,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,WAAW,CAAA;AAC9B,mBAAmB,SAAS,CAAA"}
|
package/dist/utils/options.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { OptionsConfig } from '../types';
|
|
2
|
-
/**
|
|
3
|
-
* 处理依赖列表:排除自身并去重
|
|
4
|
-
* @param deps 依赖字段列表
|
|
5
|
-
* @param currentProp 当前字段名,用于排除自己
|
|
6
|
-
*/
|
|
7
|
-
export declare function processDeps(deps: string[], currentProp?: string): string[];
|
|
8
|
-
/**
|
|
9
|
-
* 获取依赖值
|
|
10
|
-
* @param deps 依赖字段列表
|
|
11
|
-
* @param formData 表单数据(外部依赖通过闭包访问)
|
|
12
|
-
* @param currentProp 当前字段名,用于排除自己
|
|
13
|
-
*/
|
|
14
|
-
export declare function getDepsValues(deps: string[], formData: Record<string, any>, currentProp?: string): Record<string, any>;
|
|
15
|
-
/**
|
|
16
|
-
* 检查是否为对象模式的 options 配置
|
|
17
|
-
* @param options - 待检查的选项配置
|
|
18
|
-
* @returns 是否为对象模式配置
|
|
19
|
-
*/
|
|
20
|
-
export declare function isOptionsConfig(options: any): options is OptionsConfig;
|
|
21
|
-
//# sourceMappingURL=options.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/utils/options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAO1E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAGtH;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,aAAa,CAEtE"}
|
package/dist/utils/value.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 检查值是否在选项中的参数
|
|
3
|
-
*/
|
|
4
|
-
export interface CheckValueInOptionsParams {
|
|
5
|
-
/** 当前值(支持单个值或数组值) */
|
|
6
|
-
modelValue: any;
|
|
7
|
-
/** 选项数组 */
|
|
8
|
-
options: any[];
|
|
9
|
-
/** 表单项配置,用于获取组件类型等信息 */
|
|
10
|
-
formItem: {
|
|
11
|
-
compType: string;
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* 检查当前值是否在新的选项中
|
|
16
|
-
* 用于判断是否需要自动清理值:如果值在新的选项中,保留;否则清理
|
|
17
|
-
* @param params - 检查参数
|
|
18
|
-
* @returns 是否在选项中(true 表示在选项中,不需要清理;false 表示不在,需要清理)
|
|
19
|
-
*/
|
|
20
|
-
export declare function checkValueInOptions(params: CheckValueInOptionsParams): boolean;
|
|
21
|
-
//# sourceMappingURL=value.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../src/utils/value.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,qBAAqB;IACrB,UAAU,EAAE,GAAG,CAAA;IACf,WAAW;IACX,OAAO,EAAE,GAAG,EAAE,CAAA;IACd,wBAAwB;IACxB,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAC/B;AA4BD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CA+B9E"}
|