@schemx/vue 1.0.1 → 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.
Files changed (76) hide show
  1. package/README.md +491 -326
  2. package/dist/analyze.html +1 -1
  3. package/dist/bridge/formBridge.d.ts +4 -4
  4. package/dist/bridge/formBridge.d.ts.map +1 -1
  5. package/dist/bridge/formInstance.d.ts +4 -3
  6. package/dist/bridge/formInstance.d.ts.map +1 -1
  7. package/dist/bridge/index.d.ts +1 -2
  8. package/dist/bridge/index.d.ts.map +1 -1
  9. package/dist/bridge/types.d.ts +4 -6
  10. package/dist/bridge/types.d.ts.map +1 -1
  11. package/dist/components/Col/index.d.ts +29 -6
  12. package/dist/components/Col/index.d.ts.map +1 -1
  13. package/dist/components/ConfigProvider/index.d.ts +32 -5
  14. package/dist/components/ConfigProvider/index.d.ts.map +1 -1
  15. package/dist/components/Dynamic/index.d.ts +19 -15
  16. package/dist/components/Dynamic/index.d.ts.map +1 -1
  17. package/dist/components/Field/index.d.ts.map +1 -1
  18. package/dist/components/Field/slot.d.ts +2 -1
  19. package/dist/components/Field/slot.d.ts.map +1 -1
  20. package/dist/components/Group/index.d.ts +23 -4
  21. package/dist/components/Group/index.d.ts.map +1 -1
  22. package/dist/components/Icon/index.d.ts +29 -0
  23. package/dist/components/Icon/index.d.ts.map +1 -0
  24. package/dist/components/Row/index.d.ts +30 -0
  25. package/dist/components/Row/index.d.ts.map +1 -0
  26. package/dist/components/SchemaList/index.d.ts +8 -8
  27. package/dist/components/SchemaList/index.d.ts.map +1 -1
  28. package/dist/config/defaultVueSchemaConfig.d.ts +25 -3
  29. package/dist/config/defaultVueSchemaConfig.d.ts.map +1 -1
  30. package/dist/config/index.d.ts +0 -4
  31. package/dist/config/index.d.ts.map +1 -1
  32. package/dist/config/vueConfig.d.ts +10 -6
  33. package/dist/config/vueConfig.d.ts.map +1 -1
  34. package/dist/context/configProviderContext.d.ts +56 -5
  35. package/dist/context/configProviderContext.d.ts.map +1 -1
  36. package/dist/context/formContext.d.ts +127 -36
  37. package/dist/context/formContext.d.ts.map +1 -1
  38. package/dist/context/index.d.ts +2 -2
  39. package/dist/context/index.d.ts.map +1 -1
  40. package/dist/form.d.ts +2 -2
  41. package/dist/form.d.ts.map +1 -1
  42. package/dist/hooks/index.d.ts +2 -4
  43. package/dist/hooks/index.d.ts.map +1 -1
  44. package/dist/hooks/useDictionary.d.ts +1 -1
  45. package/dist/hooks/useForm.d.ts +4 -16
  46. package/dist/hooks/useForm.d.ts.map +1 -1
  47. package/dist/index.cjs +1 -1
  48. package/dist/index.cjs.map +1 -1
  49. package/dist/index.d.ts +5 -5
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.mjs +554 -287
  52. package/dist/index.mjs.map +1 -1
  53. package/dist/style.css +1 -1
  54. package/dist/types/definition.d.ts +116 -21
  55. package/dist/types/definition.d.ts.map +1 -1
  56. package/dist/types/field.d.ts +4 -27
  57. package/dist/types/field.d.ts.map +1 -1
  58. package/dist/types/form.d.ts +41 -6
  59. package/dist/types/form.d.ts.map +1 -1
  60. package/dist/types/icon.d.ts +15 -0
  61. package/dist/types/icon.d.ts.map +1 -0
  62. package/dist/types/index.d.ts +2 -0
  63. package/dist/types/index.d.ts.map +1 -1
  64. package/dist/types/layout.d.ts +73 -22
  65. package/dist/types/layout.d.ts.map +1 -1
  66. package/dist/utils/index.d.ts +4 -0
  67. package/dist/utils/index.d.ts.map +1 -1
  68. package/dist/utils/layout.d.ts +17 -0
  69. package/dist/utils/layout.d.ts.map +1 -0
  70. package/dist/utils/rendererProvider.d.ts +10 -3
  71. package/dist/utils/rendererProvider.d.ts.map +1 -1
  72. package/package.json +2 -2
  73. package/dist/config/appConfig.d.ts +0 -29
  74. package/dist/config/appConfig.d.ts.map +0 -1
  75. package/dist/utils/colProvider.d.ts +0 -22
  76. package/dist/utils/colProvider.d.ts.map +0 -1
@@ -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
- import { RendererRegistry } from '@schemx/core/adapter';
2
- import { SchemxRendererKey } from '@schemx/core';
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<SchemxRendererKey>;
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;AAEH,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAErD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,CAAC,iBAAiB,CACb,CAAA"}
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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@schemx/vue",
4
- "version": "1.0.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.0.1"
56
+ "@schemx/core": "1.1.0"
57
57
  },
58
58
  "license": "MIT",
59
59
  "devDependencies": {
@@ -1,29 +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
- * @example
10
- * ```ts
11
- * app.use(SchemxForm, { schemaConfig: { readonly: true } })
12
- * ```
13
- */
14
- export declare function provideSchemxAppConfig(app: App, config?: SchemxVueConfig): void;
15
- /**
16
- * 读取当前组件所属 Vue App 的 Schemx 安装配置。
17
- *
18
- * 在组件 setup() 之外调用时,Vue 没有可用的注入上下文;此时返回空配置,
19
- * 使 `useForm()` 仍可在独立 effect scope 中使用 Vue 模块级 Registry。
20
- *
21
- * @returns 当前 App 的安装配置,或无 App 上下文时的空配置。
22
- *
23
- * @example
24
- * ```ts
25
- * const appConfig = getSchemxAppConfig()
26
- * ```
27
- */
28
- export declare function getSchemxAppConfig(): SchemxVueConfig;
29
- //# 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;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,GAAE,eAAoB,GAAG,IAAI,CAKnF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAQpD"}
@@ -1,22 +0,0 @@
1
- import { SchemxColComponent } from '../types/layout';
2
- /**
3
- * 当前全局注册的 Col 组件。
4
- */
5
- export declare const registeredColComponent: import('vue').ShallowRef<SchemxColComponent | undefined, SchemxColComponent | undefined>;
6
- /**
7
- * 注册全局 Col 组件。
8
- *
9
- * 后续注册会覆盖当前全局组件;App、ConfigProvider 和 Form 的局部配置拥有更高优先级。
10
- *
11
- * @param component - UI 组件库提供的 Col 组件。
12
- *
13
- * @example
14
- * ```ts
15
- * import { Col } from "vant"
16
- * import { registerCol } from "@schemx/vue"
17
- *
18
- * registerCol(Col)
19
- * ```
20
- */
21
- export declare function registerCol(component: SchemxColComponent): void;
22
- //# 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;;GAEG;AACH,eAAO,MAAM,sBAAsB,0FAAmC,CAAA;AAEtE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAE/D"}