@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
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- :root{--schemx-primary-color: #2f6bff;--schemx-primary-color-light: #eaf2ff;--schemx-text-color: #323233;--schemx-text-color-secondary: #666666;--schemx-text-color-placeholder: #c8c9cc;--schemx-readonly-color: #969799;--schemx-disabled-color: #c8c9cc;--schemx-disabled-opacity: .6;--schemx-background-color: #ffffff;--schemx-background-color-light: #f3f4f6;--schemx-border-color: #ebedf0;--schemx-danger-color: #ee0a24;--schemx-success-color: #07c160;--schemx-warning-color: #ff976a;--schemx-padding-base: 4px;--schemx-padding-xs: 8px;--schemx-padding-sm: 12px;--schemx-padding-md: 16px;--schemx-padding-lg: 24px;--schemx-font-size-xs: 10px;--schemx-font-size-sm: 12px;--schemx-font-size-md: 14px;--schemx-font-size-lg: 16px;--schemx-border-radius-xs: 2px;--schemx-border-radius-sm: 4px;--schemx-border-radius-md: 8px;--schemx-border-radius-lg: 12px;--schemx-form-padding-bottom: 15px;--schemx-schemas-padding-inline: 6px;--schemx-field-gap: 16px;--schemx-field-line-height: 1.6;--schemx-field-error-line-height: 1.5714285714285714;--schemx-field-label-color: #666666;--schemx-field-label-top-gap: 4px;--schemx-field-content-padding-inline: 6px;--schemx-field-required-gap: 2px;--schemx-field-error-gap: 6px;--schemx-content-align: right;--schemx-error-align: right;--schemx-group-arrow-size: 5px;--schemx-group-arrow-duration: .2s}.schemx-row{display:flex;flex-wrap:wrap;width:100%}.schemx-col{box-sizing:border-box;min-width:0}.schemx>.schemx-row:has(+.schemx-actions)>.schemx-col:last-child>.schemx-field-wrapper--last,.schemx>.schemx-row:has(+.schemx-actions)>.schemx-col:last-child>.schemx-group-wrapper{margin-bottom:0}.schemx-group__body>.schemx-row>.schemx-col:last-child>.schemx-field-wrapper .schemx-field:after{display:none}.schemx-field-wrapper{position:relative;background-color:var(--schemx-background-color)}.schemx-field-wrapper--first{border-top-left-radius:var(--schemx-border-radius-md);border-top-right-radius:var(--schemx-border-radius-md)}.schemx-field-wrapper--last{border-bottom-left-radius:var(--schemx-border-radius-md);border-bottom-right-radius:var(--schemx-border-radius-md);margin-bottom:var(--schemx-padding-sm)}.schemx>.schemx-field-wrapper--last:last-child,.schemx>.schemx-field-wrapper--last:has(+.schemx-actions){margin-bottom:0}.schemx-field{display:flex;align-items:flex-start;justify-content:space-between;padding-inline:var(--schemx-padding-md);padding-block:var(--schemx-padding-md);line-height:var(--schemx-field-line-height);gap:var(--schemx-field-gap)}.schemx-field:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;right:var(--schemx-padding-md);bottom:0;left:var(--schemx-padding-md);border-bottom:1px solid var(--schemx-border-color);transform:scaleY(.5)}.schemx-field-wrapper--last .schemx-field:after{display:none}.schemx-field--label-left{flex-direction:row}.schemx-field--label-right{flex-direction:row-reverse}.schemx-field--label-right .schemx-field__label{margin-right:0;margin-left:var(--schemx-padding-xs)}.schemx-field--label-top{flex-direction:column}.schemx-field--label-top .schemx-field__label{margin-right:0;margin-bottom:var(--schemx-field-label-top-gap);width:auto}.schemx-field__label{position:relative;display:flex;align-items:center;flex-shrink:0;color:var(--schemx-field-label-color);font-size:var(--schemx-font-size-md);margin-right:var(--schemx-padding-xs);line-height:var(--schemx-field-line-height)}.schemx-field__required{color:var(--schemx-danger-color);margin-right:var(--schemx-field-required-gap);position:absolute;top:2px;left:-8px}.schemx-field__label-icon{display:inline-flex;align-items:center;margin-right:var(--schemx-padding-xs)}.schemx-field__content{flex:1;min-width:0;max-width:70%}.schemx-field__control{text-align:var(--schemx-content-align)}.schemx-field__control .schemx-renderer{width:100%}.schemx-field__error{color:var(--schemx-danger-color);font-size:var(--schemx-font-size-sm);text-align:var(--schemx-error-align, right);line-height:var(--schemx-field-error-line-height);margin-top:var(--schemx-field-error-gap)}.schemx-field--label-top>.schemx-field__content{box-sizing:border-box;width:100%;max-width:none}.schemx-group-wrapper{position:relative;margin-bottom:var(--schemx-padding-sm);background-color:var(--schemx-background-color);padding:0 var(--schemx-padding-md);border-radius:var(--schemx-border-radius-md)}.schemx>.schemx-group-wrapper:last-child,.schemx>.schemx-group-wrapper:has(+.schemx-actions){margin-bottom:0}.schemx-group__header{display:flex;align-items:center;justify-content:space-between;padding-block:var(--schemx-padding-md);-webkit-user-select:none;user-select:none}.schemx-group__header--clickable{cursor:pointer}.schemx-group__title{font-size:var(--schemx-font-size-lg);font-weight:500;color:var(--schemx-text-color)}.schemx-group__arrow{display:inline-block;width:0;height:0;border-left:var(--schemx-group-arrow-size) solid transparent;border-right:var(--schemx-group-arrow-size) solid transparent;border-bottom:var(--schemx-group-arrow-size) solid var(--schemx-text-color-secondary);transition:transform var(--schemx-group-arrow-duration) ease}.schemx-group__arrow--down{transform:rotate(180deg)}.schemx-group__body>.schemx-field-wrapper:last-child .schemx-field:after{display:none}.schemx-group__body>.schemx-field-wrapper>.schemx-field{padding-inline:var(--schemx-padding-xs)}.schemx{box-sizing:border-box;padding-bottom:var(--schemx-form-padding-bottom)}.schemx-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--schemx-padding-sm);padding:var(--schemx-padding-md) 0}.schemx-schemas{background-color:var(--schemx-background-color);padding:var(--schemx-padding-md) var(--schemx-schemas-padding-inline);border-radius:var(--schemx-border-radius-lg)}.schemx-schemas-title{display:flex;align-items:center;padding-left:var(--schemx-padding-md);padding-bottom:var(--schemx-padding-xs)}.schemx-schemas-title-icon{margin-right:var(--schemx-padding-xs)}.schemx-schemas-title-label{font-size:var(--schemx-font-size-md);color:var(--schemx-text-color)}.schemx-renderer-readonly{color:var(--schemx-readonly-color);cursor:default}.is-disabled{opacity:.6}.is-readonly,.is-disabled .is-disabled{opacity:1}.schemx-button{box-sizing:content-box;flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--schemx-padding-xs);min-width:72px;height:24px;padding:var(--schemx-padding-xs) var(--schemx-padding-md);border:1px solid var(--schemx-border-color);border-radius:var(--schemx-border-radius-sm);background:var(--schemx-background-color);color:var(--schemx-text-color);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .1s ease}.schemx-button:not(:disabled):hover{opacity:.8}.schemx-button:not(:disabled):active{transform:scale(.98)}.schemx-button--small{min-width:56px;height:20px;padding:var(--schemx-padding-base) var(--schemx-padding-sm);font-size:var(--schemx-font-size-sm)}.schemx-button--large{min-width:88px;height:28px;padding:var(--schemx-padding-sm) var(--schemx-padding-lg);font-size:var(--schemx-font-size-lg)}.schemx-button__loading{display:inline-block;border-radius:50%;vertical-align:-.15em;animation:schemx-button-loading .8s linear infinite}.schemx-actions-button--submit{border-color:var(--schemx-primary-color);background:var(--schemx-primary-color);color:#fff}.schemx-actions-button--submit:not(:disabled):hover{filter:brightness(.92);color:#fff}.schemx-button:disabled{cursor:not-allowed;opacity:var(--schemx-disabled-opacity)}@keyframes schemx-button-loading{to{transform:rotate(360deg)}}.schemx-wrapper{box-sizing:border-box;width:100%}.schemx-wrapper--readonly{color:var(--schemx-wrapper-readonly-color, var(--schemx-readonly-color, #969799));cursor:default}.schemx-wrapper--disabled{opacity:var(--schemx-disabled-opacity, .6);cursor:not-allowed}.is-disabled .schemx-wrapper--disabled{opacity:1}
1
+ :root{--schemx-primary-color: #2f6bff;--schemx-primary-color-light: #eaf2ff;--schemx-text-color: #323233;--schemx-text-color-secondary: #666666;--schemx-text-color-placeholder: #c8c9cc;--schemx-readonly-color: #969799;--schemx-disabled-color: #c8c9cc;--schemx-disabled-opacity: .6;--schemx-background-color: #ffffff;--schemx-background-color-light: #f3f4f6;--schemx-border-color: #ebedf0;--schemx-danger-color: #ee0a24;--schemx-success-color: #07c160;--schemx-warning-color: #ff976a;--schemx-padding-base: 4px;--schemx-padding-xs: 8px;--schemx-padding-sm: 12px;--schemx-padding-md: 16px;--schemx-padding-lg: 24px;--schemx-font-size-xs: 10px;--schemx-font-size-sm: 12px;--schemx-font-size-md: 14px;--schemx-font-size-lg: 16px;--schemx-border-radius-xs: 2px;--schemx-border-radius-sm: 4px;--schemx-border-radius-md: 8px;--schemx-border-radius-lg: 12px;--schemx-form-padding-bottom: 15px;--schemx-schemas-padding-inline: 6px;--schemx-field-gap: 10px;--schemx-field-error-line-height: 1.5714285714285714;--schemx-field-label-color: #666666;--schemx-field-label-top-gap: 4px;--schemx-field-content-padding-inline: 6px;--schemx-field-required-gap: 2px;--schemx-field-error-gap: 6px;--schemx-component-size: 28px;--schemx-group-arrow-size: 5px;--schemx-group-arrow-duration: .2s}.schemx-row{display:flex;flex-wrap:wrap;box-sizing:border-box}.schemx-col{box-sizing:border-box;min-width:0;padding-top:var(--schemx-gutter-top, 0px);padding-right:var(--schemx-gutter-right, 0px);padding-bottom:var(--schemx-gutter-bottom, 0px);padding-left:var(--schemx-gutter-left, 0px)}.schemx-field-wrapper{position:relative}.schemx-field-wrapper.is-bordered:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;right:0;bottom:0;left:0;border-bottom:1px solid var(--schemx-border-color);transform:scaleY(.5)}.schemx-field-wrapper--last.is-bordered:after{display:none}.schemx-field{display:flex;justify-content:space-between;line-height:var(--schemx-component-size);gap:var(--schemx-field-gap)}.schemx-field--label-left{flex-direction:row}.schemx-field--label-right{flex-direction:row-reverse}.schemx-field--label-right .schemx-field__label{margin-right:0;margin-left:var(--schemx-padding-xs)}.schemx-field--label-top{flex-direction:column}.schemx-field--label-top .schemx-field__label{margin-right:0;margin-bottom:var(--schemx-field-label-top-gap);width:auto}.schemx-field__label{position:relative;flex-shrink:0;min-height:var(--schemx-component-size);color:var(--schemx-field-label-color);font-size:var(--schemx-font-size-md);line-height:var(--schemx-component-size)}.schemx-field__label-text.is-required:before{content:"*";color:var(--schemx-danger-color);margin-right:var(--schemx-field-required-gap)}.schemx-field__label-icon{display:inline-flex;align-items:center;margin-right:var(--schemx-padding-xs)}.schemx-field__content{flex:1;min-width:0}.schemx-field__content .schemx-renderer{width:100%}.schemx-field__error{color:var(--schemx-danger-color);font-size:var(--schemx-font-size-sm);text-align:var(--schemx-error-align, left);line-height:var(--schemx-field-error-line-height)}.schemx-field__error:not(:empty){margin-top:var(--schemx-field-error-gap)}.schemx-field--label-top>.schemx-field__content{box-sizing:border-box;width:100%}.schemx-group-wrapper{position:relative;box-sizing:border-box;width:100%}.schemx-group__header{display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none}.schemx-group__header--clickable{cursor:pointer}.schemx-group__title{font-size:var(--schemx-font-size-lg);font-weight:500;color:var(--schemx-text-color)}.schemx-group__arrow{display:inline-block;width:0;height:0;border-left:var(--schemx-group-arrow-size) solid transparent;border-right:var(--schemx-group-arrow-size) solid transparent;border-bottom:var(--schemx-group-arrow-size) solid var(--schemx-text-color-secondary);transition:transform var(--schemx-group-arrow-duration) ease}.schemx-group__arrow--down{transform:rotate(180deg)}.schemx{box-sizing:border-box}.schemx-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--schemx-padding-sm);padding:var(--schemx-padding-md) 0}.schemx-schemas-title{display:flex;align-items:center}.schemx-schemas-title-icon{margin-right:var(--schemx-padding-xs)}.schemx-schemas-title-label{font-size:var(--schemx-font-size-md);color:var(--schemx-text-color)}.schemx-renderer-readonly{color:var(--schemx-readonly-color);cursor:default}.schemx .is-disabled{opacity:var(--schemx-disabled-opacity)}.schemx .is-readonly,.schemx .is-disabled .is-disabled{opacity:1}.schemx-button{box-sizing:content-box;flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--schemx-padding-xs);min-width:72px;height:24px;padding:var(--schemx-padding-xs) var(--schemx-padding-md);border:1px solid var(--schemx-border-color);border-radius:var(--schemx-border-radius-sm);background:var(--schemx-background-color);color:var(--schemx-text-color);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .1s ease}.schemx-button:not(:disabled):hover{opacity:.8}.schemx-button:not(:disabled):active{transform:scale(.98)}.schemx-button--small{min-width:56px;height:20px;padding:var(--schemx-padding-base) var(--schemx-padding-sm);font-size:var(--schemx-font-size-sm)}.schemx-button--large{min-width:88px;height:28px;padding:var(--schemx-padding-sm) var(--schemx-padding-lg);font-size:var(--schemx-font-size-lg)}.schemx-button__loading{display:inline-block;border-radius:50%;vertical-align:-.15em;animation:schemx-button-loading .8s linear infinite}.schemx-actions-button--submit{border-color:var(--schemx-primary-color);background:var(--schemx-primary-color);color:#fff}.schemx-actions-button--submit:not(:disabled):hover{filter:brightness(.92);color:#fff}.schemx-button:disabled{cursor:not-allowed;opacity:var(--schemx-disabled-opacity)}@keyframes schemx-button-loading{to{transform:rotate(360deg)}}.schemx-wrapper{box-sizing:border-box;width:100%}.schemx-wrapper--readonly{color:var(--schemx-wrapper-readonly-color, var(--schemx-readonly-color, #969799));cursor:default}.schemx-wrapper--disabled{opacity:var(--schemx-disabled-opacity, .6);cursor:not-allowed}.is-disabled .schemx-wrapper--disabled{opacity:1}
@@ -1,12 +1,28 @@
1
1
  import { StyleValue } from 'vue';
2
- import { SchemxVueBaseComponentProps } from './field';
3
- import { SchemxVueLayout } from './layout';
4
- import { SchemxConditionFn, Values } from '@schemx/core';
2
+ import { SchemxIconComponent, SchemxIconValue } from './icon';
3
+ import { SchemxColComponent, SchemxColConfig, SchemxLayout, SchemxRowComponent, SchemxRowConfig } from './layout';
4
+ import { FieldValue, SchemxConditionFn, Values } from '@schemx/core';
5
+ /**
6
+ * 保持 Vue 层 Core 声明合并文件出现在发布的类型入口中。
7
+ *
8
+ * 该类型没有运行时含义,仅用于让生成的 `index.d.ts` 保留对本模块的类型引用。
9
+ */
10
+ export type SchemxVueTypeAugmentations = never;
5
11
  declare module "@schemx/core" {
6
12
  /**
7
13
  * Vue Field 的展示与事件扩展。
8
14
  */
9
15
  interface SchemxFieldDefinition<TValues extends Values = Values> {
16
+ /**
17
+ * 字段自身的静态 Col 配置。
18
+ */
19
+ col?: SchemxColConfig<TValues>;
20
+ /**
21
+ * 旧版字段静态布局配置。
22
+ *
23
+ * @deprecated 请改用 {@link SchemxColConfig} 与 `col` 字段。
24
+ */
25
+ layout?: SchemxLayout<TValues>;
10
26
  /**
11
27
  * 追加到 Field 外层容器元素上的自定义 CSS 类名。
12
28
  */
@@ -15,18 +31,14 @@ declare module "@schemx/core" {
15
31
  * 应用到 Field 外层容器元素上的自定义内联样式。
16
32
  */
17
33
  style?: StyleValue;
18
- /**
19
- * Vue Field 使用的布局元数据。
20
- */
21
- layout?: SchemxVueLayout;
22
34
  /**
23
35
  * 是否显示必填视觉标记。
24
36
  */
25
37
  showRequiredMark?: boolean;
26
38
  /**
27
- * 标签图标标识;兼容阶段保持字符串类型。
39
+ * 标签图标名称或 Vue 图标组件。
28
40
  */
29
- labelIcon?: string;
41
+ labelIcon?: SchemxIconValue;
30
42
  /**
31
43
  * 标签对齐方式。
32
44
  */
@@ -38,15 +50,23 @@ declare module "@schemx/core" {
38
50
  /**
39
51
  * 标签宽度。
40
52
  */
41
- labelWidth?: string;
53
+ labelWidth?: string | number;
42
54
  /**
43
55
  * 内容区域对齐方式。
44
56
  */
45
57
  contentAlign?: "left" | "center" | "right";
58
+ /**
59
+ * 错误区域对齐方式。
60
+ */
61
+ errorAlign?: "left" | "center" | "right";
46
62
  /**
47
63
  * 是否在标签后显示冒号。
48
64
  */
49
65
  colon?: boolean;
66
+ /**
67
+ * 是否在字段外层容器显示底部边框。
68
+ */
69
+ bordered?: boolean;
50
70
  }
51
71
  /**
52
72
  * Vue Group 的展示与折叠扩展。
@@ -61,13 +81,15 @@ declare module "@schemx/core" {
61
81
  */
62
82
  style?: StyleValue;
63
83
  /**
64
- * Group 标题。
84
+ * Group 子级使用的 Row 配置。
65
85
  */
66
- label?: string;
86
+ row?: SchemxRowConfig;
67
87
  /**
68
- * Group 使用的布局元数据。
88
+ * 旧版 Group 外层布局配置。
89
+ *
90
+ * @deprecated 请改用 {@link SchemxRowConfig} 与 `row` 字段。
69
91
  */
70
- layout?: SchemxVueLayout;
92
+ layout?: SchemxLayout;
71
93
  /**
72
94
  * 是否允许折叠。
73
95
  */
@@ -82,6 +104,8 @@ declare module "@schemx/core" {
82
104
  collapsed?: boolean;
83
105
  /**
84
106
  * 折叠状态变化回调。
107
+ *
108
+ * @param collapsed - 用户操作后请求的折叠状态。
85
109
  */
86
110
  onCollapsedChange?: (collapsed: boolean) => void;
87
111
  /**
@@ -94,13 +118,15 @@ declare module "@schemx/core" {
94
118
  */
95
119
  interface SchemxDynamicDefinition {
96
120
  /**
97
- * Dynamic 展示名称。
121
+ * 每个 Dynamic item 使用的 Row 配置。
98
122
  */
99
- label?: string;
123
+ row?: SchemxRowConfig;
100
124
  /**
101
- * Dynamic 使用的布局元数据。
125
+ * 旧版 Dynamic 外层布局配置。
126
+ *
127
+ * @deprecated 请改用 {@link SchemxRowConfig} 与 `row` 字段。
102
128
  */
103
- layout?: SchemxVueLayout;
129
+ layout?: SchemxLayout;
104
130
  }
105
131
  /**
106
132
  * Vue Field 依赖配置的动态展示扩展。
@@ -111,14 +137,49 @@ declare module "@schemx/core" {
111
137
  */
112
138
  showRequiredMark?: SchemxConditionFn<TValues, boolean>;
113
139
  }
140
+ /**
141
+ * Vue 表单配置字段展示默认值扩展。
142
+ */
143
+ interface SchemxConfigDefinition<TValues extends Values = Values> {
144
+ /**
145
+ * 当前 App、Provider 或 Form 的默认 Row 配置。
146
+ */
147
+ readonly row?: SchemxRowConfig;
148
+ /**
149
+ * 当前 App、Provider 或 Form 使用的 Col 实现。
150
+ */
151
+ readonly colComponent?: SchemxColComponent;
152
+ /**
153
+ * 当前 App、Provider 或 Form 使用的 Row 实现。
154
+ */
155
+ readonly rowComponent?: SchemxRowComponent;
156
+ /**
157
+ * 当前 App、Provider 或 Form 使用的 Icon Adapter。
158
+ */
159
+ readonly iconComponent?: SchemxIconComponent;
160
+ }
114
161
  /**
115
162
  * Vue 表单级字段展示默认值扩展。
116
163
  */
117
164
  interface SchemxSchemaConfigDefinition {
165
+ /**
166
+ * Form、Group 和 Dynamic 使用的默认 Row 配置。
167
+ */
168
+ row?: SchemxRowConfig;
169
+ /**
170
+ * 字段默认 Col 配置。
171
+ */
172
+ col?: SchemxColConfig;
173
+ /**
174
+ * 旧版字段默认布局配置。
175
+ *
176
+ * @deprecated 请改用 {@link SchemxColConfig} 与 `col` 字段。
177
+ */
178
+ layout?: SchemxLayout;
118
179
  /**
119
180
  * 表单级标签图标默认值。
120
181
  */
121
- labelIcon?: string;
182
+ labelIcon?: SchemxIconValue;
122
183
  /**
123
184
  * 表单级标签对齐默认值。
124
185
  */
@@ -130,11 +191,15 @@ declare module "@schemx/core" {
130
191
  /**
131
192
  * 表单级标签宽度默认值。
132
193
  */
133
- labelWidth?: string;
194
+ labelWidth?: string | number;
134
195
  /**
135
196
  * 表单级内容对齐默认值。
136
197
  */
137
198
  contentAlign?: "left" | "center" | "right";
199
+ /**
200
+ * 表单级校验错误对齐默认值。
201
+ */
202
+ errorAlign?: "left" | "center" | "right";
138
203
  /**
139
204
  * 表单级冒号默认值。
140
205
  */
@@ -143,11 +208,41 @@ declare module "@schemx/core" {
143
208
  * 表单级必填标记默认值。
144
209
  */
145
210
  showRequiredMark?: boolean;
211
+ /**
212
+ * 表单级字段底部边框默认值。
213
+ */
214
+ bordered?: boolean;
146
215
  }
147
216
  /**
148
217
  * Vue Renderer 的公共 Props 扩展。
149
218
  */
150
- interface SchemxComponentPropsDefinition<TValues extends Values = Values> extends SchemxVueBaseComponentProps<TValues> {
219
+ interface SchemxComponentPropsDefinition<TValues extends Values = Values> {
220
+ /**
221
+ * Renderer 内容对齐方式。
222
+ *
223
+ * @deprecated 对齐配置应由 Renderer 专属 Props 定义,见 {@link SchemxRendererDefinition};兼容期间仍接受。
224
+ */
225
+ align?: "left" | "center" | "right";
226
+ /**
227
+ * Vue v-model 更新事件。
228
+ *
229
+ * @param value - Renderer 提交的最新字段值。
230
+ */
231
+ "onUpdate:value"?: (value: FieldValue<TValues>) => void;
232
+ /** Renderer 当前接收的字段值。 */
233
+ value?: FieldValue<TValues>;
234
+ /**
235
+ * Renderer 值变化处理。
236
+ *
237
+ * @param value - 用户输入或选择的最新字段值。
238
+ */
239
+ onChange?: (value: FieldValue<TValues>) => void;
240
+ /**
241
+ * Renderer 失焦处理。
242
+ *
243
+ * @param value - 失焦时的当前字段值。
244
+ */
245
+ onBlur?: (value: FieldValue<TValues>) => void;
151
246
  }
152
247
  }
153
248
  //# sourceMappingURL=definition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/types/definition.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAErC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE7D,OAAO,QAAQ,cAAc,CAAC;IAC5B;;OAEG;IAEH,UAAU,qBAAqB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;QAC7D;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAA;QAEd;;WAEG;QACH,KAAK,CAAC,EAAE,UAAU,CAAA;QAElB;;WAEG;QACH,MAAM,CAAC,EAAE,eAAe,CAAA;QAExB;;WAEG;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;QAE1B;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAA;QAElB;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;QAExC;;WAEG;QACH,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAA;QAExC;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAA;QAEnB;;WAEG;QACH,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;QAE1C;;WAEG;QACH,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB;IAED;;OAEG;IACH,UAAU,0BAA0B;QAClC;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAA;QAEd;;WAEG;QACH,KAAK,CAAC,EAAE,UAAU,CAAA;QAElB;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAA;QAEd;;WAEG;QACH,MAAM,CAAC,EAAE,eAAe,CAAA;QAExB;;WAEG;QACH,WAAW,CAAC,EAAE,OAAO,CAAA;QAErB;;WAEG;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;QAE1B;;WAEG;QACH,SAAS,CAAC,EAAE,OAAO,CAAA;QAEnB;;WAEG;QACH,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;QAEhD;;WAEG;QACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAC5B;IAED;;OAEG;IACH,UAAU,uBAAuB;QAC/B;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAA;QAEd;;WAEG;QACH,MAAM,CAAC,EAAE,eAAe,CAAA;KACzB;IAED;;OAEG;IACH,UAAU,iCAAiC,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;QACzE;;WAEG;QACH,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;KACvD;IAED;;OAEG;IACH,UAAU,4BAA4B;QACpC;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAA;QAElB;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;QAExC;;WAEG;QACH,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAA;QAExC;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAA;QAEnB;;WAEG;QACH,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;QAE1C;;WAEG;QACH,KAAK,CAAC,EAAE,OAAO,CAAA;QAEf;;WAEG;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAC3B;IAED;;OAEG;IACH,UAAU,8BAA8B,CACtC,OAAO,SAAS,MAAM,GAAG,MAAM,CAC/B,SAAQ,2BAA2B,CAAC,OAAO,CAAC;KAAG;CAClD"}
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/types/definition.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,14 @@
1
1
  import { ComputedRef, Ref, VNodeChild } from 'vue';
2
- import { SchemxCoreBaseComponentProps as CoreSchemxBaseComponentProps, FieldValue, NamePath, SchemxComponentProps, SchemxFieldInstance, SchemxInstance, SchemxViewFieldSchema, SchemxViewGroupSchema, Values } from '@schemx/core';
2
+ import { FieldValue, NamePath, SchemxBaseComponentProps, SchemxComponentProps, SchemxFieldInstance, SchemxInstance, SchemxViewFieldSchema, SchemxViewGroupSchema, Values } from '@schemx/core';
3
3
  /**
4
- * Vue Renderer 的公共 Props
5
- *
6
- * 该类型属于 Vue 适配层;Core 仅通过 `SchemxComponentPropsDefinition`
7
- * 接收它的声明合并结果。
4
+ * Vue Renderer 的旧版公共 Props 类型。
8
5
  *
6
+ * @deprecated 请改用 {@link SchemxBaseComponentProps}。
9
7
  * @typeParam TValues - 表单值类型。
10
8
  * @typeParam TName - 当前字段路径类型。
11
9
  * @typeParam TValue - 当前字段值类型。
12
10
  */
13
- export interface SchemxVueBaseComponentProps<TValues extends Values = Values, TName extends NamePath<TValues> = NamePath<TValues>, TValue = FieldValue<TValues, TName>> extends CoreSchemxBaseComponentProps<TValues> {
14
- /**
15
- * Vue Renderer 内容区域对齐方式。
16
- */
17
- align?: "left" | "center" | "right";
18
- /**
19
- * Vue v-model 更新事件。
20
- */
21
- "onUpdate:value"?: (value: TValue) => void;
22
- /**
23
- * 当前字段值。
24
- */
25
- value?: TValue;
26
- /**
27
- * Renderer 值变化处理。
28
- */
29
- onChange?: (value: TValue) => void;
30
- /**
31
- * Renderer 失焦处理。
32
- */
33
- onBlur?: (value: TValue) => void;
34
- }
11
+ export type SchemxVueBaseComponentProps<TValues extends Values = Values, TName extends NamePath<TValues> = NamePath<TValues>, TValue = FieldValue<TValues, TName>> = SchemxBaseComponentProps<TValues, TName, TValue>;
35
12
  /**
36
13
  * Vue 层字段控制器实例
37
14
  *
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/types/field.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/types/field.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { ClassValue, StyleValue } from 'vue';
2
- import { SchemxVueConfig } from './layout';
2
+ import { SchemxIconComponent, SchemxIconValue } from './icon';
3
+ import { SchemxColComponent, SchemxColConfig, SchemxLayout, SchemxRowComponent, SchemxRowConfig } from './layout';
3
4
  import { SchemxButtonProps } from '../components/Button';
4
- import { DefinedFieldValue, FormCallbackOptions, FormLifecycleOptions, FormPerformanceOptions, NamePath, RequiredConfig, SchemxFieldRulesMap, SchemxInstance, SchemxSchemasInput, ValidationTrigger, Values } from '@schemx/core';
5
+ import { DefinedFieldValue, FormCallbackOptions, FormLifecycleOptions, FormPerformanceOptions, NamePath, RequiredConfig, SchemxConfig, SchemxFieldRulesMap, SchemxInstance, SchemxSchemasInput, ValidationTrigger, Values } from '@schemx/core';
5
6
  /**
6
7
  * Vue 需要在编译 `defineProps` 时直接读取 Props 的字段列表。
7
8
  *
@@ -27,9 +28,31 @@ interface SchemxFormSchemaConfigProps<TValues extends Values = Values> {
27
28
  */
28
29
  visible?: boolean;
29
30
  /**
30
- * 字段标签图标标识。
31
+ * 当前 Form 使用的 Col 实现;单独声明以便 Vue SFC 编译器生成运行时 Props。
31
32
  */
32
- labelIcon?: string;
33
+ readonly colComponent?: SchemxColComponent;
34
+ /**
35
+ * 当前 Form 使用的 Row 实现;单独声明以便 Vue SFC 编译器生成运行时 Props。
36
+ */
37
+ readonly rowComponent?: SchemxRowComponent;
38
+ /**
39
+ * 当前 Form 使用的 Icon Adapter;单独声明以便 Vue SFC 编译器生成运行时 Props。
40
+ */
41
+ readonly iconComponent?: SchemxIconComponent;
42
+ /**
43
+ * 字段默认 Col 配置。
44
+ */
45
+ col?: SchemxColConfig;
46
+ /**
47
+ * 字段在 24 栅格布局容器中的旧静态布局配置。
48
+ *
49
+ * @deprecated 请改用 {@link SchemxColConfig} 与 `col` 字段。
50
+ */
51
+ layout?: SchemxLayout;
52
+ /**
53
+ * 字段标签图标名称或 Vue 图标组件。
54
+ */
55
+ labelIcon?: SchemxIconValue;
33
56
  /**
34
57
  * 字段标签的水平对齐方式。
35
58
  */
@@ -41,11 +64,15 @@ interface SchemxFormSchemaConfigProps<TValues extends Values = Values> {
41
64
  /**
42
65
  * 字段标签宽度。
43
66
  */
44
- labelWidth?: string;
67
+ labelWidth?: string | number;
45
68
  /**
46
69
  * 字段内容区域的水平对齐方式。
47
70
  */
48
71
  contentAlign?: "left" | "center" | "right";
72
+ /**
73
+ * 字段校验错误的水平对齐方式。
74
+ */
75
+ errorAlign?: "left" | "center" | "right";
49
76
  /**
50
77
  * 字段校验触发时机。
51
78
  */
@@ -58,6 +85,10 @@ interface SchemxFormSchemaConfigProps<TValues extends Values = Values> {
58
85
  * 是否显示必填视觉标记;不改变实际校验规则。
59
86
  */
60
87
  showRequiredMark?: boolean;
88
+ /**
89
+ * 是否在字段底部显示边框。
90
+ */
91
+ bordered?: boolean;
61
92
  }
62
93
  /**
63
94
  * 内置表单操作按钮的显示配置。
@@ -88,7 +119,7 @@ export type SchemxFormAction = boolean | SchemxFormActionConfig;
88
119
  *
89
120
  * @typeParam TValues - 表单值类型
90
121
  */
91
- export interface SchemxFormProps<TValues extends Values = Values> extends Omit<SchemxVueConfig<TValues>, "schemaConfig">, FormCallbackOptions<TValues>, FormLifecycleOptions<TValues>, FormPerformanceOptions, SchemxFormSchemaConfigProps<TValues> {
122
+ export interface SchemxFormProps<TValues extends Values = Values> extends Omit<SchemxConfig<TValues>, "schemaConfig">, FormCallbackOptions<TValues>, FormLifecycleOptions<TValues>, FormPerformanceOptions, SchemxFormSchemaConfigProps<TValues> {
92
123
  /**
93
124
  * 初始 Schema 列表。
94
125
  */
@@ -109,6 +140,10 @@ export interface SchemxFormProps<TValues extends Values = Values> extends Omit<S
109
140
  * 外部传入的表单实例;传入后由组件复用该实例。
110
141
  */
111
142
  form?: SchemxInstance<TValues>;
143
+ /**
144
+ * 当前 Form 根级 Row 的配置。
145
+ */
146
+ row?: SchemxRowConfig;
112
147
  /**
113
148
  * 覆盖内置操作区展示的提交状态;不改变 Core 的真实提交状态。
114
149
  */
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/types/form.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAEjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,EACP,MAAM,cAAc,CAAA;AAErB;;;;;;GAMG;AACH,UAAU,2BAA2B,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IACnE;;OAEG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAExE;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;IAExC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAA;IAExC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;IAE1C;;OAEG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAA;IAE3D;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;CAC1D;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,sBAAsB,CAAA;AAE/D;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,CAC9D,SACE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,EAC9C,mBAAmB,CAAC,OAAO,CAAC,EAC5B,oBAAoB,CAAC,OAAO,CAAC,EAC7B,sBAAsB,EACtB,2BAA2B,CAAC,OAAO,CAAC;IACtC;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAErC;;OAEG;IACH,UAAU,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAEzC;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAE5B;;OAEG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAE3B;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,CAAA;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,CAAA;CACnB"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/types/form.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { Component } from 'vue';
2
+ /** UI 适配层提供的 Icon Adapter 组件。 */
3
+ export type SchemxIconComponent = Component;
4
+ /** 字段可使用的图标名称或 Vue 图标组件。 */
5
+ export type SchemxIconValue = string | Component;
6
+ /**
7
+ * Icon 包装组件 Props。
8
+ */
9
+ export interface SchemxIconProps {
10
+ /** 当前图标名称或直接使用的 Vue 组件。 */
11
+ icon: SchemxIconValue;
12
+ /** 处理字符串图标名称的 Icon Adapter。 */
13
+ component?: SchemxIconComponent;
14
+ }
15
+ //# sourceMappingURL=icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../src/types/icon.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAEpC,iCAAiC;AACjC,MAAM,MAAM,mBAAmB,GAAG,SAAS,CAAA;AAE3C,4BAA4B;AAC5B,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,CAAA;AAEhD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,IAAI,EAAE,eAAe,CAAA;IACrB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,mBAAmB,CAAA;CAChC"}
@@ -1,5 +1,7 @@
1
+ export type { SchemxVueTypeAugmentations } from './definition';
1
2
  export * from './dictionary';
2
3
  export * from './form';
3
4
  export * from './field';
4
5
  export * from './layout';
6
+ export * from './icon';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,cAAc,CAAA;AAErB,cAAc,cAAc,CAAA;AAE5B,cAAc,QAAQ,CAAA;AAEtB,cAAc,SAAS,CAAA;AAEvB,cAAc,UAAU,CAAA"}
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"}
@@ -1,51 +1,102 @@
1
1
  import { Component } from 'vue';
2
2
  import { SchemxConfig, Values } from '@schemx/core';
3
3
  /**
4
- * Vue 适配层使用的静态 24 栅格布局元数据。
4
+ * Vue 框架层的 Col 配置扩展点。
5
+ *
6
+ * Core 只负责保留 Schema 元数据;Col 的公共布局语义由 Vue 层定义,UI 适配包可通过
7
+ * 声明合并追加组件库专属字段。
5
8
  */
6
- export interface SchemxVueLayout {
7
- /**
8
- * 节点占据的栅格列数。
9
- */
9
+ export interface SchemxColDefinition<TValues extends Values = Values> {
10
+ /** 节点占据的 24 栅格列数。 */
10
11
  span?: number;
11
- /**
12
- * 节点左侧偏移的栅格列数。
13
- */
12
+ /** 节点左侧偏移的 24 栅格列数。 */
14
13
  offset?: number;
15
- /**
16
- * 节点是否独占当前布局行。
17
- */
14
+ /** 节点是否独占当前布局行。 */
18
15
  block?: boolean;
19
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>;
20
58
  /**
21
59
  * UI 组件库 Col 组件的 Vue 组件类型。
22
60
  */
23
61
  export type SchemxColComponent = Component;
62
+ /**
63
+ * UI 组件库 Row 组件的 Vue 组件类型。
64
+ */
65
+ export type SchemxRowComponent = Component;
24
66
  /**
25
67
  * Col 包装组件属性。
26
68
  *
27
- * `component` 仅供 Schemx 内部把 Form 解析出的实现传给 Col;普通调用方通常只需
28
- * 提供 `layout`,组件会从显式组件属性或全局注册表解析实现。
69
+ * 普通调用方通常只需提供 `col`,组件会从当前 Form 配置解析 UI 组件实现。
29
70
  */
30
71
  export interface SchemxColProps {
31
72
  /**
32
- * 当前 Schema 的静态布局元数据。
73
+ * 当前 Field 的静态 Col 配置。
33
74
  */
34
- layout?: SchemxVueLayout;
75
+ col?: SchemxColConfig;
35
76
  /**
36
- * 当前 Form 解析出的 Col 实现。
77
+ * 旧版 Col 实现覆写入口。
78
+ *
79
+ * @deprecated 请在 Form 或 ConfigProvider 的 `colComponent` 中配置实现,见 {@link SchemxConfig}。
37
80
  */
38
81
  component?: SchemxColComponent;
82
+ /**
83
+ * 当前 Schema 的旧静态布局元数据。
84
+ *
85
+ * @deprecated 请改用 {@link SchemxColProps.col}。
86
+ */
87
+ layout?: SchemxLayout;
39
88
  }
40
89
  /**
41
- * Vue 适配层配置。
42
- *
43
- * Core 配置保持框架无关;`colComponent` 仅供 Vue 渲染层解析布局组件。
90
+ * Row 包装组件属性。
44
91
  */
45
- export interface SchemxVueConfig<TValues extends Values = Values> extends SchemxConfig<TValues> {
92
+ export interface SchemxRowProps {
93
+ /**
94
+ * 当前 Row 的配置,会透传给已注册的 UI Row 组件。
95
+ */
96
+ row?: SchemxRowConfig;
46
97
  /**
47
- * 当前 App、Provider 或 Form 使用的 Col 实现。
98
+ * 是否渲染 Row;关闭时直接透传默认插槽内容。
48
99
  */
49
- readonly colComponent?: SchemxColComponent;
100
+ enabled?: boolean;
50
101
  }
51
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,MAAM,EAAE,MAAM,cAAc,CAAA;AAExD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAA;AAE1C;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,kBAAkB,CAAA;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAC9B,OAAO,SAAS,MAAM,GAAG,MAAM,CAC/B,SAAQ,YAAY,CAAC,OAAO,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAA;CAC3C"}
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"}
@@ -19,6 +19,10 @@ export { resolveSlot, extractChildSlots } from './slot';
19
19
  * 通用渲染辅助
20
20
  */
21
21
  export { getSectionPosition, normalizeId, normalizeNameKey } from './helpers';
22
+ /**
23
+ * 布局间距工具。
24
+ */
25
+ export { normalizeSchemxGutter, type SchemxNormalizedGutter } from './layout';
22
26
  /**
23
27
  * 对象差异工具。
24
28
  */
@@ -1 +1 @@
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,IAAI,EAAE,MAAM,QAAQ,CAAA"}
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"}