@schemx/vue 1.0.0 → 1.1.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 +509 -324
- package/dist/analyze.html +1 -1
- package/dist/bridge/fieldBridge.d.ts +12 -0
- package/dist/bridge/fieldBridge.d.ts.map +1 -1
- package/dist/bridge/formBridge.d.ts +35 -2
- package/dist/bridge/formBridge.d.ts.map +1 -1
- package/dist/bridge/formInstance.d.ts +24 -4
- package/dist/bridge/formInstance.d.ts.map +1 -1
- package/dist/bridge/helpers.d.ts +8 -0
- package/dist/bridge/helpers.d.ts.map +1 -1
- package/dist/bridge/index.d.ts +2 -3
- package/dist/bridge/index.d.ts.map +1 -1
- package/dist/bridge/types.d.ts +97 -9
- package/dist/bridge/types.d.ts.map +1 -1
- package/dist/bridge/viewSchemaBridge.d.ts +14 -1
- package/dist/bridge/viewSchemaBridge.d.ts.map +1 -1
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.vue.d.ts +12 -0
- package/dist/components/Button/index.vue.d.ts.map +1 -1
- package/dist/components/Button/types.d.ts +15 -5
- package/dist/components/Button/types.d.ts.map +1 -1
- package/dist/components/Col/index.d.ts +27 -5
- package/dist/components/Col/index.d.ts.map +1 -1
- package/dist/components/ConfigProvider/index.d.ts +40 -7
- package/dist/components/ConfigProvider/index.d.ts.map +1 -1
- package/dist/components/Dynamic/index.d.ts +27 -17
- package/dist/components/Dynamic/index.d.ts.map +1 -1
- package/dist/components/Field/index.d.ts +13 -2
- package/dist/components/Field/index.d.ts.map +1 -1
- package/dist/components/Field/slot.d.ts +34 -10
- package/dist/components/Field/slot.d.ts.map +1 -1
- package/dist/components/Group/index.d.ts +37 -8
- package/dist/components/Group/index.d.ts.map +1 -1
- package/dist/components/Group/slot.d.ts +36 -9
- package/dist/components/Group/slot.d.ts.map +1 -1
- package/dist/components/Icon/index.d.ts +29 -0
- package/dist/components/Icon/index.d.ts.map +1 -0
- package/dist/components/Row/index.d.ts +30 -0
- package/dist/components/Row/index.d.ts.map +1 -0
- package/dist/components/SchemaList/index.d.ts +22 -12
- package/dist/components/SchemaList/index.d.ts.map +1 -1
- package/dist/components/Wrapper/index.vue.d.ts +6 -0
- package/dist/components/Wrapper/index.vue.d.ts.map +1 -1
- package/dist/config/defaultVueSchemaConfig.d.ts +62 -0
- package/dist/config/defaultVueSchemaConfig.d.ts.map +1 -0
- package/dist/config/index.d.ts +12 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/vueConfig.d.ts +14 -3
- package/dist/config/vueConfig.d.ts.map +1 -1
- package/dist/context/configProviderContext.d.ts +66 -0
- package/dist/context/configProviderContext.d.ts.map +1 -0
- package/dist/context/fieldContext.d.ts +11 -0
- package/dist/context/fieldContext.d.ts.map +1 -0
- package/dist/context/formContext.d.ts +167 -0
- package/dist/context/formContext.d.ts.map +1 -0
- package/dist/context/index.d.ts +18 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/form.d.ts +10 -2
- package/dist/form.d.ts.map +1 -1
- package/dist/hocs/withRemoteOptions.d.ts +6 -2
- package/dist/hocs/withRemoteOptions.d.ts.map +1 -1
- package/dist/hooks/index.d.ts +23 -15
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/useDictionary.d.ts +32 -9
- package/dist/hooks/useDictionary.d.ts.map +1 -1
- package/dist/hooks/useField.d.ts +7 -0
- package/dist/hooks/useField.d.ts.map +1 -1
- package/dist/hooks/useForm.d.ts +4 -16
- package/dist/hooks/useForm.d.ts.map +1 -1
- package/dist/hooks/useFormSelector.d.ts.map +1 -1
- package/dist/hooks/useViewSchemas.d.ts +26 -2
- package/dist/hooks/useViewSchemas.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +35 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +684 -357
- package/dist/index.mjs.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/definition.d.ts +248 -0
- package/dist/types/definition.d.ts.map +1 -0
- package/dist/types/dictionary.d.ts +9 -3
- package/dist/types/dictionary.d.ts.map +1 -1
- package/dist/types/field.d.ts +93 -21
- package/dist/types/field.d.ts.map +1 -1
- package/dist/types/form.d.ts +82 -6
- package/dist/types/form.d.ts.map +1 -1
- package/dist/types/icon.d.ts +15 -0
- package/dist/types/icon.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -15
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/layout.d.ts +89 -13
- package/dist/types/layout.d.ts.map +1 -1
- package/dist/utils/diff.d.ts +3 -6
- package/dist/utils/diff.d.ts.map +1 -1
- package/dist/utils/dynamic.d.ts +6 -2
- package/dist/utils/dynamic.d.ts.map +1 -1
- package/dist/utils/equal.d.ts +2 -2
- package/dist/utils/helpers.d.ts +26 -2
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/index.d.ts +19 -4
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/layout.d.ts +17 -0
- package/dist/utils/layout.d.ts.map +1 -0
- package/dist/utils/rendererProvider.d.ts +10 -3
- package/dist/utils/rendererProvider.d.ts.map +1 -1
- package/dist/utils/validation.d.ts +6 -2
- package/dist/utils/validation.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/config/appConfig.d.ts +0 -19
- package/dist/config/appConfig.d.ts.map +0 -1
- package/dist/config/providerConfig.d.ts +0 -22
- package/dist/config/providerConfig.d.ts.map +0 -1
- package/dist/hooks/provideFieldContext.d.ts +0 -40
- package/dist/hooks/provideFieldContext.d.ts.map +0 -1
- package/dist/hooks/provideFormConfigContext.d.ts +0 -71
- package/dist/hooks/provideFormConfigContext.d.ts.map +0 -1
- package/dist/hooks/provideFormContext.d.ts +0 -26
- package/dist/hooks/provideFormContext.d.ts.map +0 -1
- package/dist/utils/colProvider.d.ts +0 -20
- package/dist/utils/colProvider.d.ts.map +0 -1
package/dist/types/index.d.ts
CHANGED
|
@@ -1,20 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
declare module "@schemx/core" {
|
|
3
|
-
interface SchemxFieldDefinition {
|
|
4
|
-
/** 追加到 Field 外层容器元素上的自定义 CSS 类名。 */
|
|
5
|
-
class?: string;
|
|
6
|
-
/** 应用到 Field 外层容器元素上的自定义内联样式。 */
|
|
7
|
-
style?: StyleValue;
|
|
8
|
-
}
|
|
9
|
-
interface SchemxGroupFieldDefinition {
|
|
10
|
-
/** 追加到 Group 外层容器元素上的自定义 CSS 类名。 */
|
|
11
|
-
class?: string;
|
|
12
|
-
/** 应用到 Group 外层容器元素上的自定义内联样式。 */
|
|
13
|
-
style?: StyleValue;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
1
|
+
export type { SchemxVueTypeAugmentations } from './definition';
|
|
16
2
|
export * from './dictionary';
|
|
17
3
|
export * from './form';
|
|
18
4
|
export * from './field';
|
|
19
5
|
export * from './layout';
|
|
6
|
+
export * from './icon';
|
|
20
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,cAAc,CAAA;AAErB,YAAY,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AAE9D,cAAc,cAAc,CAAA;AAE5B,cAAc,QAAQ,CAAA;AAEtB,cAAc,SAAS,CAAA;AAEvB,cAAc,UAAU,CAAA;AAExB,cAAc,QAAQ,CAAA"}
|
package/dist/types/layout.d.ts
CHANGED
|
@@ -1,26 +1,102 @@
|
|
|
1
1
|
import { Component } from 'vue';
|
|
2
|
-
import { SchemxConfig,
|
|
3
|
-
/**
|
|
2
|
+
import { SchemxConfig, Values } from '@schemx/core';
|
|
3
|
+
/**
|
|
4
|
+
* Vue 框架层的 Col 配置扩展点。
|
|
5
|
+
*
|
|
6
|
+
* Core 只负责保留 Schema 元数据;Col 的公共布局语义由 Vue 层定义,UI 适配包可通过
|
|
7
|
+
* 声明合并追加组件库专属字段。
|
|
8
|
+
*/
|
|
9
|
+
export interface SchemxColDefinition<TValues extends Values = Values> {
|
|
10
|
+
/** 节点占据的 24 栅格列数。 */
|
|
11
|
+
span?: number;
|
|
12
|
+
/** 节点左侧偏移的 24 栅格列数。 */
|
|
13
|
+
offset?: number;
|
|
14
|
+
/** 节点是否独占当前布局行。 */
|
|
15
|
+
block?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Row 的四边间距配置,采用 CSS padding shorthand 语义,数值单位为 px。
|
|
19
|
+
*
|
|
20
|
+
* 单值表示四边;二元组表示上下、左右;四元组表示上、右、下、左。
|
|
21
|
+
*/
|
|
22
|
+
export type SchemxGutter = number | readonly [number, number] | readonly [number, number, number, number];
|
|
23
|
+
/**
|
|
24
|
+
* Vue 框架层的 Row 配置扩展点。
|
|
25
|
+
*
|
|
26
|
+
* UI 适配包通过声明合并追加自己的布局属性;内置 Row 只消费这里定义的公共字段。
|
|
27
|
+
*/
|
|
28
|
+
export interface SchemxRowDefinition<TValues extends Values = Values> {
|
|
29
|
+
/** Row 四边的内边距,采用 CSS padding shorthand 语义。 */
|
|
30
|
+
gutter?: SchemxGutter;
|
|
31
|
+
/** Row 子项的水平排列方式。 */
|
|
32
|
+
justify?: "start" | "end" | "center" | "space-around" | "space-between" | "space-evenly";
|
|
33
|
+
/** Row 子项的垂直排列方式。 */
|
|
34
|
+
align?: "top" | "middle" | "bottom";
|
|
35
|
+
}
|
|
36
|
+
/** Vue Field 使用的 Col 配置。 */
|
|
37
|
+
export type SchemxColConfig<TValues extends Values = Values> = SchemxColDefinition<TValues>;
|
|
38
|
+
/** Vue Form、Group 和 Dynamic 使用的 Row 配置。 */
|
|
39
|
+
export type SchemxRowConfig<TValues extends Values = Values> = SchemxRowDefinition<TValues>;
|
|
40
|
+
/**
|
|
41
|
+
* 旧版字段布局配置。
|
|
42
|
+
*
|
|
43
|
+
* @deprecated 请改用 {@link SchemxColConfig} 与 Schema 的 `col` 字段。
|
|
44
|
+
*/
|
|
45
|
+
export type SchemxLayout<TValues extends Values = Values> = SchemxColConfig<TValues>;
|
|
46
|
+
/**
|
|
47
|
+
* Vue 层旧版 Col 配置类型。
|
|
48
|
+
*
|
|
49
|
+
* @deprecated 请改用 {@link SchemxColConfig}。
|
|
50
|
+
*/
|
|
51
|
+
export type SchemxVueLayout = SchemxColConfig;
|
|
52
|
+
/**
|
|
53
|
+
* Vue 层旧版配置类型。
|
|
54
|
+
*
|
|
55
|
+
* @deprecated 请改用 {@link SchemxConfig}。
|
|
56
|
+
*/
|
|
57
|
+
export type SchemxVueConfig<TValues extends Values = Values> = SchemxConfig<TValues>;
|
|
58
|
+
/**
|
|
59
|
+
* UI 组件库 Col 组件的 Vue 组件类型。
|
|
60
|
+
*/
|
|
4
61
|
export type SchemxColComponent = Component;
|
|
62
|
+
/**
|
|
63
|
+
* UI 组件库 Row 组件的 Vue 组件类型。
|
|
64
|
+
*/
|
|
65
|
+
export type SchemxRowComponent = Component;
|
|
5
66
|
/**
|
|
6
67
|
* Col 包装组件属性。
|
|
7
68
|
*
|
|
8
|
-
* `
|
|
9
|
-
* 提供 `layout`,组件会从显式组件属性或全局注册表解析实现。
|
|
69
|
+
* 普通调用方通常只需提供 `col`,组件会从当前 Form 配置解析 UI 组件实现。
|
|
10
70
|
*/
|
|
11
71
|
export interface SchemxColProps {
|
|
12
|
-
/**
|
|
13
|
-
|
|
14
|
-
|
|
72
|
+
/**
|
|
73
|
+
* 当前 Field 的静态 Col 配置。
|
|
74
|
+
*/
|
|
75
|
+
col?: SchemxColConfig;
|
|
76
|
+
/**
|
|
77
|
+
* 旧版 Col 实现覆写入口。
|
|
78
|
+
*
|
|
79
|
+
* @deprecated 请在 Form 或 ConfigProvider 的 `colComponent` 中配置实现,见 {@link SchemxConfig}。
|
|
80
|
+
*/
|
|
15
81
|
component?: SchemxColComponent;
|
|
82
|
+
/**
|
|
83
|
+
* 当前 Schema 的旧静态布局元数据。
|
|
84
|
+
*
|
|
85
|
+
* @deprecated 请改用 {@link SchemxColProps.col}。
|
|
86
|
+
*/
|
|
87
|
+
layout?: SchemxLayout;
|
|
16
88
|
}
|
|
17
89
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* Core 配置保持框架无关;`colComponent` 仅供 Vue 渲染层解析布局组件。
|
|
90
|
+
* Row 包装组件属性。
|
|
21
91
|
*/
|
|
22
|
-
export interface
|
|
23
|
-
/**
|
|
24
|
-
|
|
92
|
+
export interface SchemxRowProps {
|
|
93
|
+
/**
|
|
94
|
+
* 当前 Row 的配置,会透传给已注册的 UI Row 组件。
|
|
95
|
+
*/
|
|
96
|
+
row?: SchemxRowConfig;
|
|
97
|
+
/**
|
|
98
|
+
* 是否渲染 Row;关闭时直接透传默认插槽内容。
|
|
99
|
+
*/
|
|
100
|
+
enabled?: boolean;
|
|
25
101
|
}
|
|
26
102
|
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/types/layout.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAEpC,OAAO,KAAK,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/types/layout.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAEpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAExD;;;;;GAKG;AAEH,MAAM,WAAW,mBAAmB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IAClE,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,mBAAmB;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GACtB,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAEhF;;;;GAIG;AAEH,MAAM,WAAW,mBAAmB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IAClE,8CAA8C;IAC9C,MAAM,CAAC,EAAE,YAAY,CAAA;IAErB,qBAAqB;IACrB,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,cAAc,GAAG,eAAe,GAAG,cAAc,CAAA;IAExF,qBAAqB;IACrB,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAA;CACpC;AAED,4BAA4B;AAC5B,MAAM,MAAM,eAAe,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,IACzD,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAE9B,2CAA2C;AAC3C,MAAM,MAAM,eAAe,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,IACzD,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAE9B;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA;AAEpF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,eAAe,CAAA;AAE7C;;;;GAIG;AACH,MAAM,MAAM,eAAe,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,CAAA;AAEpF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAA;AAE1C;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAA;AAE1C;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,GAAG,CAAC,EAAE,eAAe,CAAA;IACrB;;;;OAIG;IACH,SAAS,CAAC,EAAE,kBAAkB,CAAA;IAC9B;;;;OAIG;IACH,MAAM,CAAC,EAAE,YAAY,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,GAAG,CAAC,EAAE,eAAe,CAAA;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB"}
|
package/dist/utils/diff.d.ts
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 对象浅层 diff 工具
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* - {@link diff} — 对比两个对象,返回变化的 key、新值和旧值
|
|
6
|
-
* - {@link diffValues} — 对比两个对象,仅返回变化的属性新值
|
|
7
|
-
* - {@link diffPaths} — 对比两个对象,返回变化的属性路径列表
|
|
4
|
+
* 对比两个对象并返回变化属性的新值。
|
|
8
5
|
*
|
|
9
6
|
* 使用 `isEqual`(来自 es-toolkit)进行深度比较。
|
|
10
7
|
*
|
|
11
|
-
* @module
|
|
8
|
+
* @module utils/diff
|
|
12
9
|
*/
|
|
13
10
|
/**
|
|
14
11
|
* 对比两个对象的顶层属性,仅返回变化的属性新值。
|
|
@@ -25,7 +22,7 @@
|
|
|
25
22
|
*
|
|
26
23
|
* @example
|
|
27
24
|
* ```typescript
|
|
28
|
-
* const changed =
|
|
25
|
+
* const changed = diff({ a: 1, b: 2 }, { a: 1, b: 3 })
|
|
29
26
|
* // changed => { b: 2 }
|
|
30
27
|
* ```
|
|
31
28
|
*/
|
package/dist/utils/diff.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/utils/diff.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/utils/diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1D,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,OAAO,CAAC,CAUlB"}
|
package/dist/utils/dynamic.d.ts
CHANGED
|
@@ -5,9 +5,13 @@ import { Dynamic, Values } from '@schemx/core';
|
|
|
5
5
|
* @typeParam TValue - 属性值类型
|
|
6
6
|
*/
|
|
7
7
|
export interface DependencieEntry<TValue> {
|
|
8
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* 动态属性值(函数、静态值、null 或 undefined)
|
|
10
|
+
*/
|
|
9
11
|
value: Dynamic<TValue> | undefined | null;
|
|
10
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* 默认值,当 value 为空或函数返回 nullish 时使用
|
|
14
|
+
*/
|
|
11
15
|
defaultValue: TValue;
|
|
12
16
|
}
|
|
13
17
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic.d.ts","sourceRoot":"","sources":["../../src/utils/dynamic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE1C;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,MAAM;IACtC
|
|
1
|
+
{"version":3,"file":"dynamic.d.ts","sourceRoot":"","sources":["../../src/utils/dynamic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE1C;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,MAAM;IACtC;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,CAAA;IACzC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;GAMG;AACH,KAAK,kBAAkB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KAC/D,IAAI,IAAI,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACvD,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAC7C,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,EACzC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5E,IAAI,SAAK,GACR,CACD,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,EACnC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,KAChC,IAAI,CAmCR"}
|
package/dist/utils/equal.d.ts
CHANGED
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
* @returns 两个对象浅相等时返回 true
|
|
16
16
|
*
|
|
17
17
|
* @example
|
|
18
|
-
*
|
|
19
|
-
*
|
|
18
|
+
* isShallowEqual({ a: 1, b: 2 }, { a: 1, b: 2 }) // => true
|
|
19
|
+
* isShallowEqual({ a: 1 }, { a: 1, b: 2 }) // => false
|
|
20
20
|
*/
|
|
21
21
|
export declare const isShallowEqual: (a: Record<string, any>, b: Record<string, any>) => boolean;
|
|
22
22
|
//# sourceMappingURL=equal.d.ts.map
|
package/dist/utils/helpers.d.ts
CHANGED
|
@@ -16,14 +16,38 @@ import { SchemxViewSchema } from '@schemx/core';
|
|
|
16
16
|
*
|
|
17
17
|
* getSectionPosition(list, 'a')
|
|
18
18
|
* // => { found: true, isFirst: true, isLast: false }
|
|
19
|
+
*
|
|
20
|
+
* @param list - 当前层级的 ViewSchema 列表。
|
|
21
|
+
* @param currentKey - 要定位的 ViewSchema key。
|
|
22
|
+
* @returns 当前项是否存在以及它在所在区段中的首尾位置。
|
|
19
23
|
*/
|
|
20
24
|
export declare function getSectionPosition<TItem extends SchemxViewSchema>(list: TItem[], currentKey: string): {
|
|
21
25
|
found: boolean;
|
|
22
26
|
isFirst: boolean;
|
|
23
27
|
isLast: boolean;
|
|
24
28
|
};
|
|
25
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* 将 NamePath 转换为整体字段与 Renderer 子插槽使用的键。
|
|
31
|
+
*
|
|
32
|
+
* @param name - 字符串字段名或由路径片段组成的字段名。
|
|
33
|
+
* @returns 使用点号连接的稳定字段键。
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* normalizeNameKey(["user", "name"]) // "user.name"
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
26
40
|
export declare function normalizeNameKey(name: unknown): string;
|
|
27
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* 将分组 key 转换为可用于 DOM ID 的安全字符串。
|
|
43
|
+
*
|
|
44
|
+
* @param key - Schema 或 Group 的原始 key。
|
|
45
|
+
* @returns 仅包含字母、数字、下划线和连字符的字符串。
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```ts
|
|
49
|
+
* normalizeId("address.city") // "address-city"
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
28
52
|
export declare function normalizeId(key: string): string;
|
|
29
53
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAElE
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAqB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAElE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,gBAAgB,EAC/D,IAAI,EAAE,KAAK,EAAE,EACb,UAAU,EAAE,MAAM;;;;EA2BnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAMtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -3,13 +3,28 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module utils
|
|
5
5
|
*/
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* 动态属性解析
|
|
8
|
+
*/
|
|
7
9
|
export { type DependencieEntry, resolveDependencie, batchResolveDependencie, } from './dynamic';
|
|
8
|
-
/**
|
|
10
|
+
/**
|
|
11
|
+
* 校验触发工具
|
|
12
|
+
*/
|
|
9
13
|
export { type TriggerConfig, type NormalizedTrigger, shouldValidateOn, mergeTrigger, } from './validation';
|
|
10
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* 插槽工具
|
|
16
|
+
*/
|
|
11
17
|
export { resolveSlot, extractChildSlots } from './slot';
|
|
12
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* 通用渲染辅助
|
|
20
|
+
*/
|
|
13
21
|
export { getSectionPosition, normalizeId, normalizeNameKey } from './helpers';
|
|
22
|
+
/**
|
|
23
|
+
* 布局间距工具。
|
|
24
|
+
*/
|
|
25
|
+
export { normalizeSchemxGutter, type SchemxNormalizedGutter } from './layout';
|
|
26
|
+
/**
|
|
27
|
+
* 对象差异工具。
|
|
28
|
+
*/
|
|
14
29
|
export { diff } from './diff';
|
|
15
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,OAAO,EACL,KAAK,gBAAgB,EACrB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,WAAW,CAAA;AAElB;;GAEG;AACH,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,gBAAgB,EAChB,YAAY,GACb,MAAM,cAAc,CAAA;AAErB;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAEvD;;GAEG;AACH,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAE7E;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,KAAK,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAE7E;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SchemxGutter } from '../types/layout';
|
|
2
|
+
/** 归一化后的上、右、下、左间距。 */
|
|
3
|
+
export type SchemxNormalizedGutter = readonly [number, number, number, number];
|
|
4
|
+
/**
|
|
5
|
+
* 将 CSS padding shorthand 形式的 gutter 归一化为四边值。
|
|
6
|
+
*
|
|
7
|
+
* @param gutter - 单值、上下/左右二元组或上/右/下/左四元组。
|
|
8
|
+
* @returns 上、右、下、左四边值。
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* normalizeSchemxGutter(8) // => [8, 8, 8, 8]
|
|
13
|
+
* normalizeSchemxGutter([4, 12]) // => [4, 12, 4, 12]
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare function normalizeSchemxGutter(gutter: SchemxGutter | undefined): SchemxNormalizedGutter;
|
|
17
|
+
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/utils/layout.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEnD,sBAAsB;AACtB,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAE9E;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,GAAG,SAAS,GAC/B,sBAAsB,CAgBxB"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* 全局渲染器注册实例
|
|
3
|
+
*
|
|
4
|
+
* 模块级单例,由 ES Module 保证全局唯一。
|
|
5
|
+
* vant 等 UI 适配层通过 import 后调用 registerAll 注册渲染器,
|
|
6
|
+
* useForm 内部自动使用此实例作为 fallback。
|
|
7
|
+
*
|
|
8
|
+
* @module utils/rendererProvider
|
|
9
|
+
*/
|
|
3
10
|
/**
|
|
4
11
|
* 全局渲染器注册实例
|
|
5
12
|
*
|
|
@@ -13,5 +20,5 @@ import { SchemxRendererKey } from '@schemx/core';
|
|
|
13
20
|
* // props 传入的 rendererRegistry 优先级更高
|
|
14
21
|
* ```
|
|
15
22
|
*/
|
|
16
|
-
export declare const rendererRegistry: RendererRegistry<
|
|
23
|
+
export declare const rendererRegistry: import('@schemx/core').RendererRegistry<import('@schemx/core').Values>;
|
|
17
24
|
//# sourceMappingURL=rendererProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rendererProvider.d.ts","sourceRoot":"","sources":["../../src/utils/rendererProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"rendererProvider.d.ts","sourceRoot":"","sources":["../../src/utils/rendererProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,wEAAkC,CAAA"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { ValidationTrigger } from '@schemx/core';
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* 触发时机类型(支持单个或数组)
|
|
4
|
+
*/
|
|
3
5
|
export type TriggerConfig = ValidationTrigger | ValidationTrigger[];
|
|
4
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* 归一化后的触发类型
|
|
8
|
+
*/
|
|
5
9
|
export type NormalizedTrigger = "blur" | "change" | "submit";
|
|
6
10
|
/**
|
|
7
11
|
* 合并校验触发时机配置。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAErD
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAErD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,iBAAiB,EAAE,CAAA;AAEnE;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAkB5D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,cAAc,EAAE,aAAa,GAAG,SAAS,EACzC,cAAc,EAAE,aAAa,GAC5B,aAAa,CAMf;AAyBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAKT"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@schemx/vue",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.1.0",
|
|
5
5
|
"description": "基于 JSON Schema 配置的 Vue 3 动态表单引擎(UI 无关核心)",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"schemx",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"classnames": "^2.5.1",
|
|
54
54
|
"csstype": "^3.2.3",
|
|
55
55
|
"es-toolkit": "^1.47.0",
|
|
56
|
-
"@schemx/core": "1.
|
|
56
|
+
"@schemx/core": "1.1.0"
|
|
57
57
|
},
|
|
58
58
|
"license": "MIT",
|
|
59
59
|
"devDependencies": {
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { App } from 'vue';
|
|
2
|
-
import { SchemxVueConfig } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* 将 Schemx 安装配置绑定到指定 Vue App。
|
|
5
|
-
*
|
|
6
|
-
* @param app - 要安装 Schemx 的 Vue App 实例。
|
|
7
|
-
* @param config - 当前 App 的默认配置。
|
|
8
|
-
*/
|
|
9
|
-
export declare function provideSchemxAppConfig(app: App, config?: SchemxVueConfig): void;
|
|
10
|
-
/**
|
|
11
|
-
* 读取当前组件所属 Vue App 的 Schemx 安装配置。
|
|
12
|
-
*
|
|
13
|
-
* 在组件 setup() 之外调用时,Vue 没有可用的注入上下文;此时返回空配置,
|
|
14
|
-
* 使 `useForm()` 仍可在独立 effect scope 中使用 Vue 模块级 Registry。
|
|
15
|
-
*
|
|
16
|
-
* @returns 当前 App 的安装配置,或无 App 上下文时的空配置。
|
|
17
|
-
*/
|
|
18
|
-
export declare function getSchemxAppConfig(): SchemxVueConfig;
|
|
19
|
-
//# sourceMappingURL=appConfig.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"appConfig.d.ts","sourceRoot":"","sources":["../../src/config/appConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,GAAG,EAAiD,MAAM,KAAK,CAAA;AAE7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AA4D/C;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,GAAE,eAAoB,GAAG,IAAI,CAKnF;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAQpD"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { ComputedRef } from 'vue';
|
|
2
|
-
import { SchemxVueConfig } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* 向当前组件的后代提供合并后的组件树级配置。
|
|
5
|
-
*
|
|
6
|
-
* @param config - 当前 Provider 的配置快照。
|
|
7
|
-
*/
|
|
8
|
-
export declare function provideSchemxConfigProvider(config: ComputedRef<SchemxVueConfig>): void;
|
|
9
|
-
/**
|
|
10
|
-
* 读取最近祖先 ConfigProvider 的配置。
|
|
11
|
-
*
|
|
12
|
-
* @returns 最近 Provider 的配置;不在组件 setup 上下文中时返回 undefined。
|
|
13
|
-
*/
|
|
14
|
-
export declare function getSchemxConfigProvider(): SchemxVueConfig | undefined;
|
|
15
|
-
/**
|
|
16
|
-
* 读取最近 Provider 的响应式配置引用。
|
|
17
|
-
*
|
|
18
|
-
* Form 需要保留该引用,才能在 Provider 的展示配置变化后同步更新已有实例。
|
|
19
|
-
* 该入口仅供 Vue 适配层内部使用;实例级 Registry 和 adapter 仍在创建时解析。
|
|
20
|
-
*/
|
|
21
|
-
export declare function getSchemxConfigProviderRef(): ComputedRef<SchemxVueConfig> | undefined;
|
|
22
|
-
//# sourceMappingURL=providerConfig.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"providerConfig.d.ts","sourceRoot":"","sources":["../../src/config/providerConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,KAAK,CAAA;AAIpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAO/C;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,WAAW,CAAC,eAAe,CAAC,GAAG,IAAI,CAatF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,eAAe,GAAG,SAAS,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,IAAI,WAAW,CAAC,eAAe,CAAC,GAAG,SAAS,CAMrF"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { FieldInstance } from '../types/field';
|
|
2
|
-
import { Values } from '@schemx/core';
|
|
3
|
-
/**
|
|
4
|
-
* 向后代组件提供当前字段实例。
|
|
5
|
-
*
|
|
6
|
-
* 应在创建字段实例的组件 setup() 同步阶段调用,通常由 Field
|
|
7
|
-
* 在调用 useField() 后使用,使字段插槽或自定义子组件能够读取同一实例。
|
|
8
|
-
*
|
|
9
|
-
* @param field - useField() 返回的字段实例
|
|
10
|
-
*
|
|
11
|
-
* @remarks
|
|
12
|
-
* 该函数只注册字段上下文,不创建字段实例,也不负责字段实例的生命周期。
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```typescript
|
|
16
|
-
* // Field 中
|
|
17
|
-
* const field = useField('date')
|
|
18
|
-
* createFieldContext(field)
|
|
19
|
-
*
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
export declare function createFieldContext<TValues extends Values = Values>(field: FieldInstance<TValues>): void;
|
|
23
|
-
/**
|
|
24
|
-
* 获取最近祖先组件提供的当前字段实例。
|
|
25
|
-
*
|
|
26
|
-
* 必须在已调用 createFieldContext() 的组件子树内调用,否则抛出错误。
|
|
27
|
-
*
|
|
28
|
-
* @returns useField() 返回的字段实例
|
|
29
|
-
*
|
|
30
|
-
* @throws Error 当前组件不在字段上下文的后代组件树中时抛出
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* ```ts
|
|
34
|
-
* const field = useFieldContext()
|
|
35
|
-
* field.errors.value // readonly string[]
|
|
36
|
-
* field.getValue() // 当前字段值
|
|
37
|
-
* ```
|
|
38
|
-
*/
|
|
39
|
-
export declare function useFieldContext(): FieldInstance<Values>;
|
|
40
|
-
//# sourceMappingURL=provideFieldContext.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provideFieldContext.d.ts","sourceRoot":"","sources":["../../src/hooks/provideFieldContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAO1C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EAChE,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAC5B,IAAI,CAEN;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,IAAI,aAAa,CAAC,MAAM,CAAC,CAWvD"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { InjectionKey } from 'vue';
|
|
2
|
-
import { SchemxSchemaConfig } from '@schemx/core';
|
|
3
|
-
/** 表单级展示配置在 Vue provide/inject 中使用的注入 key。 */
|
|
4
|
-
export declare const SCHEMX_FORM_CONFIG_KEY: InjectionKey<FormContextProps>;
|
|
5
|
-
/**
|
|
6
|
-
* 表单级默认配置。
|
|
7
|
-
*
|
|
8
|
-
* 该类型只描述 Schema 通用配置,不包含表单实例、表单数据、回调、样式或 Registry。
|
|
9
|
-
*
|
|
10
|
-
* @typeParam TValues - 表单值类型
|
|
11
|
-
*/
|
|
12
|
-
export interface FormContextProps {
|
|
13
|
-
schemaConfig: Partial<SchemxSchemaConfig>;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* 创建并注入表单级配置上下文。
|
|
17
|
-
*
|
|
18
|
-
* 应在 `SchemxForm` 或自定义 Provider 的 setup() 同步阶段调用,
|
|
19
|
-
* 使后代字段组件能够读取 readonly、disabled、labelAlign 等默认配置。
|
|
20
|
-
*
|
|
21
|
-
* @param props - 要提供给后代组件的 Schema 配置
|
|
22
|
-
*
|
|
23
|
-
* @remarks
|
|
24
|
-
* 该函数只注册上下文,不创建或销毁表单实例,也不改变传入配置的所有权。
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* ```ts
|
|
28
|
-
* createFormConfigContext({ schemaConfig: { readonly: true, labelAlign: "right" } })
|
|
29
|
-
* ```
|
|
30
|
-
*/
|
|
31
|
-
export declare const createFormConfigContext: (props: FormContextProps) => void;
|
|
32
|
-
/**
|
|
33
|
-
* `createFormConfigContext` 的兼容别名。
|
|
34
|
-
*
|
|
35
|
-
* @deprecated 请使用 createFormConfigContext。
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* ```ts
|
|
39
|
-
* createContext({ schemaConfig: { disabled: true } })
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
|
-
export declare const createContext: (props: FormContextProps) => void;
|
|
43
|
-
/**
|
|
44
|
-
* 获取最近祖先组件提供的表单级配置。
|
|
45
|
-
*
|
|
46
|
-
* 只能读取祖先组件通过 createFormConfigContext() 注册的配置,
|
|
47
|
-
* 不能读取当前组件或后代组件提供的值。
|
|
48
|
-
*
|
|
49
|
-
* @returns 当前表单树中的表单级默认配置
|
|
50
|
-
*
|
|
51
|
-
* @throws Error 当前组件不在已注册表单配置上下文的后代组件树中时抛出
|
|
52
|
-
*
|
|
53
|
-
* @example
|
|
54
|
-
* ```ts
|
|
55
|
-
* const context = useFormConfigContext()
|
|
56
|
-
* console.log(context.schemaConfig.readonly, context.schemaConfig.disabled)
|
|
57
|
-
* ```
|
|
58
|
-
*/
|
|
59
|
-
export declare function useFormConfigContext(): FormContextProps;
|
|
60
|
-
/**
|
|
61
|
-
* `useFormConfigContext` 的兼容别名。
|
|
62
|
-
*
|
|
63
|
-
* @deprecated 请使用 useFormConfigContext。
|
|
64
|
-
*
|
|
65
|
-
* @example
|
|
66
|
-
* ```ts
|
|
67
|
-
* const context = useContext()
|
|
68
|
-
* ```
|
|
69
|
-
*/
|
|
70
|
-
export declare const useContext: typeof useFormConfigContext;
|
|
71
|
-
//# sourceMappingURL=provideFormConfigContext.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provideFormConfigContext.d.ts","sourceRoot":"","sources":["../../src/hooks/provideFormConfigContext.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAU,KAAK,YAAY,EAAW,MAAM,KAAK,CAAA;AAExD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEtD,8CAA8C;AAC9C,eAAO,MAAM,sBAAsB,EAE9B,YAAY,CAAC,gBAAgB,CAAC,CAAA;AAEnC;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;CAC1C;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,uBAAuB,GAAI,OAAO,gBAAgB,KAAG,IAEjE,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,UAdqB,gBAAgB,KAAG,IAcd,CAAA;AAEpD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,CAWvD;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,6BAAuB,CAAA"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { InjectionKey } from 'vue';
|
|
2
|
-
import { VueFormRuntime, VueSchemxInstance } from '../bridge';
|
|
3
|
-
import { SchemxInstance, Values } from '@schemx/core';
|
|
4
|
-
type FormContextInstance = VueSchemxInstance<any>;
|
|
5
|
-
/** SchemxInstance 在 Vue provide/inject 中使用的注入 key。 */
|
|
6
|
-
export declare const SCHEMX_FORM_INSTANCE_KEY: InjectionKey<FormContextInstance>;
|
|
7
|
-
/** 旧版表单实例注入 key,仅保留为内部适配别名。 */
|
|
8
|
-
export declare const FORM_INSTANCE_KEY: InjectionKey<FormContextInstance>;
|
|
9
|
-
/**
|
|
10
|
-
* 向当前组件的后代组件提供表单实例和共享 Runtime。
|
|
11
|
-
*
|
|
12
|
-
* @param instance - 要提供给后代组件的 Core Form 或 Vue Instance。
|
|
13
|
-
* @returns 当前 Runtime 对应的 Vue Instance。
|
|
14
|
-
*/
|
|
15
|
-
export declare function createFormContext<TValues extends Values = Values>(instance: SchemxInstance<TValues> | VueSchemxInstance<TValues>): VueSchemxInstance<TValues>;
|
|
16
|
-
/** 获取最近祖先提供的 Vue Instance。 */
|
|
17
|
-
export declare function useFormContext<TValues extends Values = Values>(): VueSchemxInstance<TValues>;
|
|
18
|
-
/**
|
|
19
|
-
* 获取当前表单的内部 Runtime。
|
|
20
|
-
*
|
|
21
|
-
* 正常路径直接读取 Provider 已持有的 Runtime;测试或旧适配代码只提供
|
|
22
|
-
* `SCHEMX_FORM_INSTANCE_KEY` 时,才为当前 scope 建立一个临时 owner。
|
|
23
|
-
*/
|
|
24
|
-
export declare function useFormRuntimeContext<TValues extends Values = Values>(): VueFormRuntime<TValues>;
|
|
25
|
-
export {};
|
|
26
|
-
//# sourceMappingURL=provideFormContext.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provideFormContext.d.ts","sourceRoot":"","sources":["../../src/hooks/provideFormContext.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAU,KAAK,YAAY,EAA2B,MAAM,KAAK,CAAA;AAExE,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,WAAW,CAAA;AAElB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAI1D,KAAK,mBAAmB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;AAIjD,sDAAsD;AACtD,eAAO,MAAM,wBAAwB,EAEhC,YAAY,CAAC,mBAAmB,CAAC,CAAA;AAOtC,+BAA+B;AAC/B,eAAO,MAAM,iBAAiB,mCAA2B,CAAA;AAEzD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EAC/D,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAC7D,iBAAiB,CAAC,OAAO,CAAC,CAW5B;AAED,8BAA8B;AAC9B,wBAAgB,cAAc,CAC5B,OAAO,SAAS,MAAM,GAAG,MAAM,KAC5B,iBAAiB,CAAC,OAAO,CAAC,CAW9B;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,SAAS,MAAM,GAAG,MAAM,KAC5B,cAAc,CAAC,OAAO,CAAC,CAc3B"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { SchemxColComponent } from '../types/layout';
|
|
2
|
-
/** 当前全局注册的 Col 组件。 */
|
|
3
|
-
export declare const registeredColComponent: import('vue').ShallowRef<SchemxColComponent | undefined, SchemxColComponent | undefined>;
|
|
4
|
-
/**
|
|
5
|
-
* 注册全局 Col 组件。
|
|
6
|
-
*
|
|
7
|
-
* 后续注册会覆盖当前全局组件;App、ConfigProvider 和 Form 的局部配置拥有更高优先级。
|
|
8
|
-
*
|
|
9
|
-
* @param component - UI 组件库提供的 Col 组件。
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```ts
|
|
13
|
-
* import { Col } from "vant"
|
|
14
|
-
* import { registerCol } from "@schemx/vue"
|
|
15
|
-
*
|
|
16
|
-
* registerCol(Col)
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
export declare function registerCol(component: SchemxColComponent): void;
|
|
20
|
-
//# sourceMappingURL=colProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"colProvider.d.ts","sourceRoot":"","sources":["../../src/utils/colProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,sBAAsB;AACtB,eAAO,MAAM,sBAAsB,0FAAmC,CAAA;AAEtE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAE/D"}
|