@tmagic/form 1.8.0-beta.13 → 1.8.0-beta.15

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 (77) hide show
  1. package/dist/es/Form.vue_vue_type_script_setup_true_lang.js +51 -16
  2. package/dist/es/FormDialog.vue_vue_type_script_setup_true_lang.js +12 -5
  3. package/dist/es/FormDrawer.vue_vue_type_script_setup_true_lang.js +38 -12
  4. package/dist/es/containers/Col.vue_vue_type_script_setup_true_lang.js +2 -1
  5. package/dist/es/containers/Container.vue_vue_type_script_setup_true_lang.js +27 -19
  6. package/dist/es/containers/GroupList.vue_vue_type_script_setup_true_lang.js +6 -5
  7. package/dist/es/containers/GroupListItem.vue_vue_type_script_setup_true_lang.js +41 -31
  8. package/dist/es/containers/Panel.vue_vue_type_script_setup_true_lang.js +16 -10
  9. package/dist/es/containers/table/ActionsColumn.vue_vue_type_script_setup_true_lang.js +13 -6
  10. package/dist/es/containers/table/Table.vue_vue_type_script_setup_true_lang.js +4 -2
  11. package/dist/es/containers/table/useTableColumns.js +5 -1
  12. package/dist/es/containers/table-group-list/TableGroupList.vue_vue_type_script_setup_true_lang.js +2 -1
  13. package/dist/es/fields/Cascader.vue_vue_type_script_setup_true_lang.js +5 -2
  14. package/dist/es/fields/Checkbox.vue_vue_type_script_setup_true_lang.js +4 -1
  15. package/dist/es/fields/CheckboxGroup.vue_vue_type_script_setup_true_lang.js +5 -2
  16. package/dist/es/fields/ColorPicker.vue_vue_type_script_setup_true_lang.js +4 -1
  17. package/dist/es/fields/Date.vue_vue_type_script_setup_true_lang.js +5 -2
  18. package/dist/es/fields/DateTime.vue_vue_type_script_setup_true_lang.js +5 -2
  19. package/dist/es/fields/Daterange.vue_vue_type_script_setup_true_lang.js +5 -2
  20. package/dist/es/fields/Display.vue_vue_type_script_setup_true_lang.js +5 -2
  21. package/dist/es/fields/DynamicField.vue_vue_type_script_setup_true_lang.js +4 -1
  22. package/dist/es/fields/Link.vue_vue_type_script_setup_true_lang.js +29 -7
  23. package/dist/es/fields/Number.vue_vue_type_script_setup_true_lang.js +7 -2
  24. package/dist/es/fields/NumberRange.vue_vue_type_script_setup_true_lang.js +4 -1
  25. package/dist/es/fields/RadioGroup.vue_vue_type_script_setup_true_lang.js +19 -9
  26. package/dist/es/fields/Select.vue_vue_type_script_setup_true_lang.js +4 -1
  27. package/dist/es/fields/Switch.vue_vue_type_script_setup_true_lang.js +4 -1
  28. package/dist/es/fields/Text.vue_vue_type_script_setup_true_lang.js +112 -77
  29. package/dist/es/fields/Textarea.vue_vue_type_script_setup_true_lang.js +4 -1
  30. package/dist/es/fields/Time.vue_vue_type_script_setup_true_lang.js +4 -1
  31. package/dist/es/fields/Timerange.vue_vue_type_script_setup_true_lang.js +6 -3
  32. package/dist/es/index.js +4 -4
  33. package/dist/es/plugin.js +3 -1
  34. package/dist/es/schema.js +11 -1
  35. package/dist/es/style.css +122 -8
  36. package/dist/es/submitForm.js +13 -11
  37. package/dist/es/utils/config.js +4 -1
  38. package/dist/es/utils/form.js +33 -3
  39. package/dist/es/utils/typeMatch.js +3 -1
  40. package/dist/style.css +122 -8
  41. package/dist/themes/magic-admin.css +499 -0
  42. package/dist/tmagic-form.umd.cjs +568 -300
  43. package/package.json +4 -4
  44. package/src/Form.vue +71 -18
  45. package/src/FormDialog.vue +14 -3
  46. package/src/FormDrawer.vue +40 -12
  47. package/src/containers/Col.vue +1 -0
  48. package/src/containers/Container.vue +21 -6
  49. package/src/containers/GroupList.vue +1 -1
  50. package/src/containers/GroupListItem.vue +28 -22
  51. package/src/containers/Panel.vue +10 -3
  52. package/src/containers/table/ActionsColumn.vue +10 -4
  53. package/src/containers/table/Table.vue +1 -0
  54. package/src/containers/table/useTableColumns.ts +7 -3
  55. package/src/containers/table-group-list/TableGroupList.vue +7 -1
  56. package/src/fields/Link.vue +16 -3
  57. package/src/fields/Number.vue +2 -1
  58. package/src/fields/RadioGroup.vue +21 -6
  59. package/src/fields/Text.vue +43 -19
  60. package/src/plugin.ts +3 -0
  61. package/src/schema.ts +11 -0
  62. package/src/submitForm.ts +34 -15
  63. package/src/theme/container.scss +3 -0
  64. package/src/theme/fieldset.scss +51 -0
  65. package/src/theme/form.scss +6 -0
  66. package/src/theme/group-list.scss +9 -7
  67. package/src/theme/index.scss +1 -0
  68. package/src/theme/link.scss +17 -0
  69. package/src/theme/panel.scss +1 -1
  70. package/src/theme/radio-group.scss +23 -0
  71. package/src/theme/tabs.scss +2 -2
  72. package/src/theme/text.scss +38 -0
  73. package/src/theme/themes/magic-admin/index.scss +95 -0
  74. package/src/utils/config.ts +7 -1
  75. package/src/utils/form.ts +37 -0
  76. package/src/utils/typeMatch.ts +10 -1
  77. package/types/index.d.ts +77 -5
@@ -17,11 +17,17 @@
17
17
  */
18
18
 
19
19
  import type { Component } from 'vue';
20
+ import { ref } from 'vue';
20
21
 
21
22
  let $MAGIC_FORM = {} as any;
23
+ // 用 ref 持有 flat 全局开关:const 引用本身不可变,符合 `import/no-mutable-exports`;
24
+ // 通过 `.value` 改值仍保持模块级响应式语义,与 editor/plugin.ts、design/index.ts 里
25
+ // 的同名变量写法对齐。
26
+ const isGlobalFlat = ref(false);
22
27
 
23
28
  const setConfig = (option: any): void => {
24
29
  $MAGIC_FORM = option;
30
+ isGlobalFlat.value = option.flat ?? false;
25
31
  };
26
32
 
27
33
  const getConfig = <T = unknown>(key: string): T => $MAGIC_FORM[key];
@@ -39,4 +45,4 @@ const getField = (tagName: string): Component | undefined => fieldRegistry.get(t
39
45
 
40
46
  const deleteField = (tagName: string): boolean => fieldRegistry.delete(tagName);
41
47
 
42
- export { deleteField, getConfig, getField, registerField, setConfig };
48
+ export { deleteField, getConfig, getField, isGlobalFlat, registerField, setConfig };
package/src/utils/form.ts CHANGED
@@ -441,6 +441,43 @@ export const sortChange = (data: any[], { prop, order }: SortProp) => {
441
441
  }
442
442
  };
443
443
 
444
+ /**
445
+ * 将 extendState 返回的扩展字段合并进 formState。
446
+ *
447
+ * - data 描述符(普通字段)通过 `formState[key] = value` 写入,走 reactive proxy 的 set,
448
+ * 触发依赖通知;
449
+ * - accessor 描述符(`{ get stage() { return ... } }`)按原样 defineProperty,调用方
450
+ * 可控制读时求值;强制 `configurable: true` 以便下一次合并可再 define。
451
+ *
452
+ * 注意:formState 上由 props 派生的字段(keyProp / popperClass / config / initValues /
453
+ * isCompare / lastValues / parentValues)是只读 getter(无 setter),extendState 若以
454
+ * 普通字段形式返回同名 key,直接赋值会让 proxy 的 set trap 失败并抛出
455
+ * `TypeError: 'set' on proxy: trap returned falsish`,这里统一跳过并告警;
456
+ * 如确需覆盖,可在 extendState 中以 get 访问器形式返回。
457
+ */
458
+ export const applyExtendState = (formState: FormState, state: Record<string, any> | null | undefined): void => {
459
+ if (!state) return;
460
+
461
+ for (const [key, descriptor] of Object.entries(Object.getOwnPropertyDescriptors(state))) {
462
+ if (!('value' in descriptor)) {
463
+ descriptor.configurable = true;
464
+ Object.defineProperty(formState, key, descriptor);
465
+ continue;
466
+ }
467
+
468
+ const targetDescriptor = Object.getOwnPropertyDescriptor(formState, key);
469
+ if (targetDescriptor && !('value' in targetDescriptor) && typeof targetDescriptor.set !== 'function') {
470
+ console.warn(
471
+ `[MForm] extendState: "${key}" is a read-only field derived from props and cannot be assigned a plain value. ` +
472
+ 'Return it as a getter accessor if you really need to override it.',
473
+ );
474
+ continue;
475
+ }
476
+
477
+ (formState as any)[key] = (state as any)[key];
478
+ }
479
+ };
480
+
444
481
  export const createObjectProp = (prop: string, key: string, name?: string | number) => {
445
482
  if (prop === '') {
446
483
  return key;
@@ -558,6 +558,11 @@ const validateBuiltinTypeMatch = (
558
558
  return undefined;
559
559
  }
560
560
 
561
+ // text 常与数字(如 id、数量)绑定,值允许为数字;错误建议仍按字符串给出
562
+ if (fieldType === 'text' && isNumberValue(value)) {
563
+ return undefined;
564
+ }
565
+
561
566
  if (typeof value !== 'string') {
562
567
  return defaultMessage(
563
568
  message,
@@ -697,9 +702,13 @@ export const validateTypeMatch = (
697
702
  return undefined;
698
703
  }
699
704
 
705
+ if (!props.config?.name) {
706
+ return undefined;
707
+ }
708
+
700
709
  const rawFieldType = 'type' in (props.config || {}) ? props.config.type : '';
701
710
  if (typeof rawFieldType !== 'string' || !rawFieldType) {
702
- return;
711
+ return undefined;
703
712
  }
704
713
 
705
714
  // 统一将驼峰形式(如 radioGroup)归一化为连字符形式(radio-group),与内置规则的 key 保持一致
package/types/index.d.ts CHANGED
@@ -4,7 +4,7 @@ export * from "@tmagic/form-schema";
4
4
 
5
5
  //#region \0rolldown/runtime.js
6
6
  declare namespace schema_d_exports {
7
- export { ChangeRecord, ContainerChangeEventData, FORM_DIFF_CONFIG_KEY, FORM_TYPE_MATCH_VALID_KEY, FormDiffConfig, FormLabelSlotProps, FormSlots, ValidateError };
7
+ export { ChangeRecord, ContainerChangeEventData, FORM_DIFF_CONFIG_KEY, FORM_SILENT_MODE_KEY, FORM_TYPE_MATCH_VALID_KEY, FormDiffConfig, FormLabelSlotProps, FormSlots, ValidateError };
8
8
  }
9
9
  import * as import__tmagic_form_schema from "@tmagic/form-schema";
10
10
  /**
@@ -34,6 +34,16 @@ interface FormDiffConfig {
34
34
  }
35
35
  declare const FORM_DIFF_CONFIG_KEY: InjectionKey<FormDiffConfig>;
36
36
  declare const FORM_TYPE_MATCH_VALID_KEY: InjectionKey<ComputedRef<boolean>>;
37
+ /**
38
+ * 静默模式标记,由 `submitForm` / `validateForm` 以隐藏方式挂载临时表单时 provide(debug 弹层模式不提供)。
39
+ *
40
+ * 重型字段组件(如 vs-code)可 inject 该标记并跳过自身渲染:字段校验由 FormItem 基于 model 值完成,
41
+ * 与叶子 UI 组件实例无关,跳过可省去无谓的实例化开销(如 monaco worker / model 的创建)。
42
+ *
43
+ * 注意:仅「挂载无值副作用」(不在 onMounted/watch immediate 中 emit change、不依赖 DOM 计算值)的
44
+ * 字段组件可以安全跳过,接入前需逐一审计。
45
+ */
46
+ declare const FORM_SILENT_MODE_KEY: InjectionKey<boolean>;
37
47
  interface ValidateError {
38
48
  message: string;
39
49
  field: string;
@@ -272,6 +282,21 @@ declare const sortChange: (data: any[], {
272
282
  prop,
273
283
  order
274
284
  }: schema_d_exports.SortProp) => void;
285
+ /**
286
+ * 将 extendState 返回的扩展字段合并进 formState。
287
+ *
288
+ * - data 描述符(普通字段)通过 `formState[key] = value` 写入,走 reactive proxy 的 set,
289
+ * 触发依赖通知;
290
+ * - accessor 描述符(`{ get stage() { return ... } }`)按原样 defineProperty,调用方
291
+ * 可控制读时求值;强制 `configurable: true` 以便下一次合并可再 define。
292
+ *
293
+ * 注意:formState 上由 props 派生的字段(keyProp / popperClass / config / initValues /
294
+ * isCompare / lastValues / parentValues)是只读 getter(无 setter),extendState 若以
295
+ * 普通字段形式返回同名 key,直接赋值会让 proxy 的 set trap 失败并抛出
296
+ * `TypeError: 'set' on proxy: trap returned falsish`,这里统一跳过并告警;
297
+ * 如确需覆盖,可在 extendState 中以 get 访问器形式返回。
298
+ */
299
+ declare const applyExtendState: (formState: schema_d_exports.FormState, state: Record<string, any> | null | undefined) => void;
275
300
  declare const createObjectProp: (prop: string, key: string, name?: string | number) => string;
276
301
  //#endregion
277
302
  //#region temp/packages/form/src/utils/useAddField.d.ts
@@ -335,6 +360,15 @@ type __VLS_Props$30 = {
335
360
  * 通过 provide 下发,对整棵表单的所有层级 Container 生效,只需在 MForm 这一层传一次。
336
361
  */
337
362
  selfDiffFieldTypes?: string[] | ((_defaultTypes: string[]) => string[]);
363
+ /**
364
+ * 主题名称:对应 `packages/form/src/theme/themes/<theme>/index.scss` 的目录名。
365
+ *
366
+ * 设置后会在表单根元素上追加 `m-form--<theme>` 修饰类,配合按需引入
367
+ * `@tmagic/form/dist/themes/<theme>.css` 即可启用主题样式。
368
+ *
369
+ * 例如:`<MForm theme="magic-admin" />` + `import '@tmagic/form/dist/themes/magic-admin.css'`。
370
+ */
371
+ theme?: string;
338
372
  };
339
373
  declare const __VLS_base$5: import("@vue/runtime-core").DefineComponent<__VLS_Props$30, {
340
374
  values: import("@vue/reactivity").Ref<schema_d_exports.FormValue, schema_d_exports.FormValue>;
@@ -422,6 +456,12 @@ type __VLS_Props$29 = {
422
456
  showCancel?: boolean; /** 透传给内部 `MForm`,控制表单校验失败时错误提示前缀是否使用字段的 text 文案 */
423
457
  useFieldTextInError?: boolean; /** 透传给内部 `MForm`,用于扩展 `formState`(如注入 `$message` / `$store` 等) */
424
458
  extendState?: (_state: schema_d_exports.FormState) => Record<string, any> | Promise<Record<string, any>>;
459
+ /**
460
+ * 主题名。优先级:传入 `theme` prop > 祖先 `provide(M_THEME_KEY)` > 空串。
461
+ * 计算结果会再次 `provide` 出去,使得 Dialog 被 Teleport 到 body 后,内部子树
462
+ * (包括 `MForm` 以及更深的 popover / dropdown)仍能拿到主题。
463
+ */
464
+ theme?: string;
425
465
  };
426
466
  declare var __VLS_19: {}, __VLS_34: {}, __VLS_42: {};
427
467
  type __VLS_Slots$4 = {} & {
@@ -460,6 +500,7 @@ declare const __VLS_base$4: import("@vue/runtime-core").DefineComponent<__VLS_Pr
460
500
  config: any;
461
501
  }) => boolean) | undefined;
462
502
  readonly selfDiffFieldTypes?: string[] | ((_defaultTypes: string[]) => string[]) | undefined;
503
+ readonly theme?: string | undefined;
463
504
  readonly onError?: ((...args: any[]) => any) | undefined;
464
505
  readonly onChange?: ((...args: any[]) => any) | undefined;
465
506
  readonly "onField-input"?: ((...args: any[]) => any) | undefined;
@@ -503,6 +544,7 @@ declare const __VLS_base$4: import("@vue/runtime-core").DefineComponent<__VLS_Pr
503
544
  config: any;
504
545
  }) => boolean;
505
546
  selfDiffFieldTypes?: string[] | ((_defaultTypes: string[]) => string[]);
547
+ theme?: string;
506
548
  }> & Readonly<{
507
549
  onError?: ((...args: any[]) => any) | undefined;
508
550
  onChange?: ((...args: any[]) => any) | undefined;
@@ -599,6 +641,7 @@ declare const __VLS_base$4: import("@vue/runtime-core").DefineComponent<__VLS_Pr
599
641
  config: any;
600
642
  }) => boolean;
601
643
  selfDiffFieldTypes?: string[] | ((_defaultTypes: string[]) => string[]);
644
+ theme?: string;
602
645
  }> & Readonly<{
603
646
  onError?: ((...args: any[]) => any) | undefined;
604
647
  onChange?: ((...args: any[]) => any) | undefined;
@@ -646,6 +689,7 @@ declare const __VLS_base$4: import("@vue/runtime-core").DefineComponent<__VLS_Pr
646
689
  config: any;
647
690
  }) => boolean) | undefined;
648
691
  readonly selfDiffFieldTypes?: string[] | ((_defaultTypes: string[]) => string[]) | undefined;
692
+ readonly theme?: string | undefined;
649
693
  readonly onError?: ((...args: any[]) => any) | undefined;
650
694
  readonly onChange?: ((...args: any[]) => any) | undefined;
651
695
  readonly "onField-input"?: ((...args: any[]) => any) | undefined;
@@ -689,6 +733,7 @@ declare const __VLS_base$4: import("@vue/runtime-core").DefineComponent<__VLS_Pr
689
733
  config: any;
690
734
  }) => boolean;
691
735
  selfDiffFieldTypes?: string[] | ((_defaultTypes: string[]) => string[]);
736
+ theme?: string;
692
737
  }> & Readonly<{
693
738
  onError?: ((...args: any[]) => any) | undefined;
694
739
  onChange?: ((...args: any[]) => any) | undefined;
@@ -785,6 +830,7 @@ declare const __VLS_base$4: import("@vue/runtime-core").DefineComponent<__VLS_Pr
785
830
  config: any;
786
831
  }) => boolean;
787
832
  selfDiffFieldTypes?: string[] | ((_defaultTypes: string[]) => string[]);
833
+ theme?: string;
788
834
  }> & Readonly<{
789
835
  onError?: ((...args: any[]) => any) | undefined;
790
836
  onChange?: ((...args: any[]) => any) | undefined;
@@ -860,6 +906,12 @@ type __VLS_Props$28 = {
860
906
  useFieldTextInError?: boolean; /** 关闭前的回调,会暂停 Drawer 的关闭; done 是个 function type 接受一个 boolean 参数, 执行 done 使用 true 参数或不提供参数将会终止关闭 */
861
907
  beforeClose?: (_done: (_cancel?: boolean) => void) => void; /** 透传给内部 `MForm`,用于扩展 `formState`(如注入 `$message` / `$store` 等) */
862
908
  extendState?: (_state: schema_d_exports.FormState) => Record<string, any> | Promise<Record<string, any>>;
909
+ /**
910
+ * 主题名。优先级:传入 `theme` prop > 祖先 `provide(M_THEME_KEY)` > 空串。
911
+ * 计算结果会再次 `provide` 出去,使得 Drawer 被 Teleport 到 body 后,内部子树
912
+ * (包括 `MForm` 以及更深的 popover / dropdown)仍能拿到主题。
913
+ */
914
+ theme?: string;
863
915
  };
864
916
  declare var __VLS_23: {}, __VLS_38: {}, __VLS_46: {};
865
917
  type __VLS_Slots$3 = {} & {
@@ -898,6 +950,7 @@ declare const __VLS_base$3: import("@vue/runtime-core").DefineComponent<__VLS_Pr
898
950
  config: any;
899
951
  }) => boolean) | undefined;
900
952
  readonly selfDiffFieldTypes?: string[] | ((_defaultTypes: string[]) => string[]) | undefined;
953
+ readonly theme?: string | undefined;
901
954
  readonly onError?: ((...args: any[]) => any) | undefined;
902
955
  readonly onChange?: ((...args: any[]) => any) | undefined;
903
956
  readonly "onField-input"?: ((...args: any[]) => any) | undefined;
@@ -941,6 +994,7 @@ declare const __VLS_base$3: import("@vue/runtime-core").DefineComponent<__VLS_Pr
941
994
  config: any;
942
995
  }) => boolean;
943
996
  selfDiffFieldTypes?: string[] | ((_defaultTypes: string[]) => string[]);
997
+ theme?: string;
944
998
  }> & Readonly<{
945
999
  onError?: ((...args: any[]) => any) | undefined;
946
1000
  onChange?: ((...args: any[]) => any) | undefined;
@@ -1037,6 +1091,7 @@ declare const __VLS_base$3: import("@vue/runtime-core").DefineComponent<__VLS_Pr
1037
1091
  config: any;
1038
1092
  }) => boolean;
1039
1093
  selfDiffFieldTypes?: string[] | ((_defaultTypes: string[]) => string[]);
1094
+ theme?: string;
1040
1095
  }> & Readonly<{
1041
1096
  onError?: ((...args: any[]) => any) | undefined;
1042
1097
  onChange?: ((...args: any[]) => any) | undefined;
@@ -1084,6 +1139,7 @@ declare const __VLS_base$3: import("@vue/runtime-core").DefineComponent<__VLS_Pr
1084
1139
  config: any;
1085
1140
  }) => boolean) | undefined;
1086
1141
  readonly selfDiffFieldTypes?: string[] | ((_defaultTypes: string[]) => string[]) | undefined;
1142
+ readonly theme?: string | undefined;
1087
1143
  readonly onError?: ((...args: any[]) => any) | undefined;
1088
1144
  readonly onChange?: ((...args: any[]) => any) | undefined;
1089
1145
  readonly "onField-input"?: ((...args: any[]) => any) | undefined;
@@ -1127,6 +1183,7 @@ declare const __VLS_base$3: import("@vue/runtime-core").DefineComponent<__VLS_Pr
1127
1183
  config: any;
1128
1184
  }) => boolean;
1129
1185
  selfDiffFieldTypes?: string[] | ((_defaultTypes: string[]) => string[]);
1186
+ theme?: string;
1130
1187
  }> & Readonly<{
1131
1188
  onError?: ((...args: any[]) => any) | undefined;
1132
1189
  onChange?: ((...args: any[]) => any) | undefined;
@@ -1223,6 +1280,7 @@ declare const __VLS_base$3: import("@vue/runtime-core").DefineComponent<__VLS_Pr
1223
1280
  config: any;
1224
1281
  }) => boolean;
1225
1282
  selfDiffFieldTypes?: string[] | ((_defaultTypes: string[]) => string[]);
1283
+ theme?: string;
1226
1284
  }> & Readonly<{
1227
1285
  onError?: ((...args: any[]) => any) | undefined;
1228
1286
  onChange?: ((...args: any[]) => any) | undefined;
@@ -1245,8 +1303,11 @@ declare const __VLS_base$3: import("@vue/runtime-core").DefineComponent<__VLS_Pr
1245
1303
  }) | undefined>;
1246
1304
  saveFetch: import("@vue/reactivity").Ref<boolean, boolean>;
1247
1305
  bodyHeight: import("@vue/reactivity").Ref<number, number>;
1306
+ close: () => void;
1248
1307
  show: () => void;
1249
1308
  hide: () => void;
1309
+ save: () => Promise<void>;
1310
+ cancel: () => void;
1250
1311
  handleClose: () => void;
1251
1312
  }, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {
1252
1313
  error: (...args: any[]) => void;
@@ -1334,6 +1395,7 @@ declare const __VLS_base$2: import("@vue/runtime-core").DefineComponent<__VLS_Pr
1334
1395
  config: any;
1335
1396
  }) => boolean) | undefined;
1336
1397
  readonly selfDiffFieldTypes?: string[] | ((_defaultTypes: string[]) => string[]) | undefined;
1398
+ readonly theme?: string | undefined;
1337
1399
  readonly onError?: ((...args: any[]) => any) | undefined;
1338
1400
  readonly onChange?: ((...args: any[]) => any) | undefined;
1339
1401
  readonly "onField-input"?: ((...args: any[]) => any) | undefined;
@@ -1377,6 +1439,7 @@ declare const __VLS_base$2: import("@vue/runtime-core").DefineComponent<__VLS_Pr
1377
1439
  config: any;
1378
1440
  }) => boolean;
1379
1441
  selfDiffFieldTypes?: string[] | ((_defaultTypes: string[]) => string[]);
1442
+ theme?: string;
1380
1443
  }> & Readonly<{
1381
1444
  onError?: ((...args: any[]) => any) | undefined;
1382
1445
  onChange?: ((...args: any[]) => any) | undefined;
@@ -1473,6 +1536,7 @@ declare const __VLS_base$2: import("@vue/runtime-core").DefineComponent<__VLS_Pr
1473
1536
  config: any;
1474
1537
  }) => boolean;
1475
1538
  selfDiffFieldTypes?: string[] | ((_defaultTypes: string[]) => string[]);
1539
+ theme?: string;
1476
1540
  }> & Readonly<{
1477
1541
  onError?: ((...args: any[]) => any) | undefined;
1478
1542
  onChange?: ((...args: any[]) => any) | undefined;
@@ -1520,6 +1584,7 @@ declare const __VLS_base$2: import("@vue/runtime-core").DefineComponent<__VLS_Pr
1520
1584
  config: any;
1521
1585
  }) => boolean) | undefined;
1522
1586
  readonly selfDiffFieldTypes?: string[] | ((_defaultTypes: string[]) => string[]) | undefined;
1587
+ readonly theme?: string | undefined;
1523
1588
  readonly onError?: ((...args: any[]) => any) | undefined;
1524
1589
  readonly onChange?: ((...args: any[]) => any) | undefined;
1525
1590
  readonly "onField-input"?: ((...args: any[]) => any) | undefined;
@@ -1563,6 +1628,7 @@ declare const __VLS_base$2: import("@vue/runtime-core").DefineComponent<__VLS_Pr
1563
1628
  config: any;
1564
1629
  }) => boolean;
1565
1630
  selfDiffFieldTypes?: string[] | ((_defaultTypes: string[]) => string[]);
1631
+ theme?: string;
1566
1632
  }> & Readonly<{
1567
1633
  onError?: ((...args: any[]) => any) | undefined;
1568
1634
  onChange?: ((...args: any[]) => any) | undefined;
@@ -1659,6 +1725,7 @@ declare const __VLS_base$2: import("@vue/runtime-core").DefineComponent<__VLS_Pr
1659
1725
  config: any;
1660
1726
  }) => boolean;
1661
1727
  selfDiffFieldTypes?: string[] | ((_defaultTypes: string[]) => string[]);
1728
+ theme?: string;
1662
1729
  }> & Readonly<{
1663
1730
  onError?: ((...args: any[]) => any) | undefined;
1664
1731
  onChange?: ((...args: any[]) => any) | undefined;
@@ -1716,7 +1783,8 @@ type __VLS_Props$26 = {
1716
1783
  expandMore?: boolean;
1717
1784
  stepActive?: string | number;
1718
1785
  size?: string; /** 是否开启对比模式 */
1719
- isCompare?: boolean;
1786
+ isCompare?: boolean; /** 是否在行容器中 */
1787
+ isInRow?: boolean;
1720
1788
  };
1721
1789
  declare const __VLS_base$1: import("@vue/runtime-core").DefineComponent<__VLS_Props$26, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {
1722
1790
  change: (v: any, eventData: ContainerChangeEventData) => any;
@@ -1797,6 +1865,7 @@ type __VLS_Props$23 = {
1797
1865
  prop?: string;
1798
1866
  size?: string;
1799
1867
  disabled?: boolean;
1868
+ hideExpand?: boolean;
1800
1869
  };
1801
1870
  declare var __VLS_16: {}, __VLS_18: {};
1802
1871
  type __VLS_Slots = {} & {
@@ -2046,7 +2115,9 @@ declare const __VLS_export$4: import("@vue/runtime-core").DefineComponent<__VLS_
2046
2115
  declare const _default$8: typeof __VLS_export$4;
2047
2116
  //#endregion
2048
2117
  //#region temp/packages/form/src/fields/Link.vue.d.ts
2049
- type __VLS_Props$3 = schema_d_exports.FieldProps<schema_d_exports.LinkConfig>;
2118
+ type __VLS_Props$3 = schema_d_exports.FieldProps<schema_d_exports.LinkConfig> & {
2119
+ theme?: string;
2120
+ };
2050
2121
  declare const __VLS_export$3: import("@vue/runtime-core").DefineComponent<__VLS_Props$3, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {
2051
2122
  change: (...args: any[]) => void;
2052
2123
  }, string, import("@vue/runtime-core").PublicProps, Readonly<__VLS_Props$3> & Readonly<{
@@ -2138,6 +2209,7 @@ declare const validateTypeMatch: (value: any, mForm: schema_d_exports.FormState
2138
2209
  //#endregion
2139
2210
  //#region temp/packages/form/src/plugin.d.ts
2140
2211
  interface FormInstallOptions {
2212
+ flat?: boolean;
2141
2213
  /** 自定义字段 type 的 typeMatch 校验规则,可覆盖内置规则或扩展业务字段 */
2142
2214
  typeMatchRules?: Record<string, TypeMatchValidator>;
2143
2215
  [key: string]: any;
@@ -2146,8 +2218,8 @@ declare const _default$31: {
2146
2218
  install(app: App, opt?: FormInstallOptions): void;
2147
2219
  };
2148
2220
  declare namespace index_d_exports {
2149
- export { ChangeRecord, ContainerChangeEventData, FORM_DIFF_CONFIG_KEY, FORM_TYPE_MATCH_VALID_KEY, FormDiffConfig, FormInstallOptions, FormLabelSlotProps, FormSlots, _default as MCascader, _default$1 as MCheckbox, _default$2 as MCheckboxGroup, _default$3 as MColorPicker, _default$4 as MContainer, _default$5 as MDate, _default$6 as MDateTime, _default$7 as MDaterange, _default$8 as MDisplay, _default$9 as MDynamicField, _default$10 as MFieldset, _default$11 as MFlexLayout, _default$12 as MForm, _default$13 as MFormBox, _default$14 as MFormDialog, _default$15 as MFormDrawer, _default$16 as MGroupList, _default$17 as MHidden, _default$18 as MLink, _default$19 as MNumber, _default$20 as MNumberRange, _default$21 as MPanel, _default$22 as MRadioGroup, _default$23 as MRow, _default$24 as MSelect, _default$25 as MSwitch, _default$16 as MTable, _default$16 as MTableGroupList, _default$26 as MTabs, _default$27 as MText, _default$28 as MTextarea, _default$29 as MTime, _default$30 as MTimerange, SubmitFormOptions, SubmitFormResult, TypeMatchValidateContext, TypeMatchValidator, ValidateError, ValidateFormOptions, adaptFormValidator, clearTypeMatchRules, createForm, createObjectProp, createValues, datetimeFormatter, _default$31 as default, deleteField as deleteFormField, deleteTypeMatchRule, display, filterFunction, getDataByPage, getField as getFormField, getRules, getTypeMatchRule, initValue, registerField as registerFormField, registerTypeMatchRule, registerTypeMatchRules, sortArray, sortChange, stripTabItemsLazy, submitForm, useAddField, validateForm, validateTypeMatch };
2221
+ export { ChangeRecord, ContainerChangeEventData, FORM_DIFF_CONFIG_KEY, FORM_SILENT_MODE_KEY, FORM_TYPE_MATCH_VALID_KEY, FormDiffConfig, FormInstallOptions, FormLabelSlotProps, FormSlots, _default as MCascader, _default$1 as MCheckbox, _default$2 as MCheckboxGroup, _default$3 as MColorPicker, _default$4 as MContainer, _default$5 as MDate, _default$6 as MDateTime, _default$7 as MDaterange, _default$8 as MDisplay, _default$9 as MDynamicField, _default$10 as MFieldset, _default$11 as MFlexLayout, _default$12 as MForm, _default$13 as MFormBox, _default$14 as MFormDialog, _default$15 as MFormDrawer, _default$16 as MGroupList, _default$17 as MHidden, _default$18 as MLink, _default$19 as MNumber, _default$20 as MNumberRange, _default$21 as MPanel, _default$22 as MRadioGroup, _default$23 as MRow, _default$24 as MSelect, _default$25 as MSwitch, _default$16 as MTable, _default$16 as MTableGroupList, _default$26 as MTabs, _default$27 as MText, _default$28 as MTextarea, _default$29 as MTime, _default$30 as MTimerange, SubmitFormOptions, SubmitFormResult, TypeMatchValidateContext, TypeMatchValidator, ValidateError, ValidateFormOptions, adaptFormValidator, applyExtendState, clearTypeMatchRules, createForm, createObjectProp, createValues, datetimeFormatter, _default$31 as default, deleteField as deleteFormField, deleteTypeMatchRule, display, filterFunction, getDataByPage, getField as getFormField, getRules, getTypeMatchRule, initValue, registerField as registerFormField, registerTypeMatchRule, registerTypeMatchRules, sortArray, sortChange, stripTabItemsLazy, submitForm, useAddField, validateForm, validateTypeMatch };
2150
2222
  }
2151
2223
  declare const createForm: <T extends [] = []>(config: schema_d_exports.FormConfig | T) => schema_d_exports.FormConfig | T;
2152
2224
  //#endregion
2153
- export { ChangeRecord, ContainerChangeEventData, FORM_DIFF_CONFIG_KEY, FORM_TYPE_MATCH_VALID_KEY, FormDiffConfig, type FormInstallOptions, FormLabelSlotProps, FormSlots, _default as MCascader, _default$1 as MCheckbox, _default$2 as MCheckboxGroup, _default$3 as MColorPicker, _default$4 as MContainer, _default$5 as MDate, _default$6 as MDateTime, _default$7 as MDaterange, _default$8 as MDisplay, _default$9 as MDynamicField, _default$10 as MFieldset, _default$11 as MFlexLayout, _default$12 as MForm, _default$13 as MFormBox, _default$14 as MFormDialog, _default$15 as MFormDrawer, _default$16 as MGroupList, _default$16 as MTable, _default$16 as MTableGroupList, _default$17 as MHidden, _default$18 as MLink, _default$19 as MNumber, _default$20 as MNumberRange, _default$21 as MPanel, _default$22 as MRadioGroup, _default$23 as MRow, _default$24 as MSelect, _default$25 as MSwitch, _default$26 as MTabs, _default$27 as MText, _default$28 as MTextarea, _default$29 as MTime, _default$30 as MTimerange, SubmitFormOptions, SubmitFormResult, type TypeMatchValidateContext, type TypeMatchValidator, ValidateError, ValidateFormOptions, adaptFormValidator, clearTypeMatchRules, createForm, createObjectProp, createValues, datetimeFormatter, _default$31 as default, deleteField as deleteFormField, deleteTypeMatchRule, display, filterFunction, getDataByPage, getField as getFormField, getRules, getTypeMatchRule, initValue, registerField as registerFormField, registerTypeMatchRule, registerTypeMatchRules, sortArray, sortChange, stripTabItemsLazy, submitForm, useAddField, validateForm, validateTypeMatch };
2225
+ export { ChangeRecord, ContainerChangeEventData, FORM_DIFF_CONFIG_KEY, FORM_SILENT_MODE_KEY, FORM_TYPE_MATCH_VALID_KEY, FormDiffConfig, type FormInstallOptions, FormLabelSlotProps, FormSlots, _default as MCascader, _default$1 as MCheckbox, _default$2 as MCheckboxGroup, _default$3 as MColorPicker, _default$4 as MContainer, _default$5 as MDate, _default$6 as MDateTime, _default$7 as MDaterange, _default$8 as MDisplay, _default$9 as MDynamicField, _default$10 as MFieldset, _default$11 as MFlexLayout, _default$12 as MForm, _default$13 as MFormBox, _default$14 as MFormDialog, _default$15 as MFormDrawer, _default$16 as MGroupList, _default$16 as MTable, _default$16 as MTableGroupList, _default$17 as MHidden, _default$18 as MLink, _default$19 as MNumber, _default$20 as MNumberRange, _default$21 as MPanel, _default$22 as MRadioGroup, _default$23 as MRow, _default$24 as MSelect, _default$25 as MSwitch, _default$26 as MTabs, _default$27 as MText, _default$28 as MTextarea, _default$29 as MTime, _default$30 as MTimerange, SubmitFormOptions, SubmitFormResult, type TypeMatchValidateContext, type TypeMatchValidator, ValidateError, ValidateFormOptions, adaptFormValidator, applyExtendState, clearTypeMatchRules, createForm, createObjectProp, createValues, datetimeFormatter, _default$31 as default, deleteField as deleteFormField, deleteTypeMatchRule, display, filterFunction, getDataByPage, getField as getFormField, getRules, getTypeMatchRule, initValue, registerField as registerFormField, registerTypeMatchRule, registerTypeMatchRules, sortArray, sortChange, stripTabItemsLazy, submitForm, useAddField, validateForm, validateTypeMatch };