@tmagic/form 1.8.0-beta.8 → 1.8.0-manmanyu.8

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 (59) hide show
  1. package/dist/es/Form.vue_vue_type_script_setup_true_lang.js +44 -5
  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 +13 -5
  4. package/dist/es/containers/Container.vue_vue_type_script_setup_true_lang.js +20 -15
  5. package/dist/es/containers/GroupListItem.vue_vue_type_script_setup_true_lang.js +22 -18
  6. package/dist/es/containers/Panel.vue_vue_type_script_setup_true_lang.js +16 -10
  7. package/dist/es/containers/table/ActionsColumn.vue_vue_type_script_setup_true_lang.js +13 -6
  8. package/dist/es/containers/table/useTableColumns.js +1 -0
  9. package/dist/es/containers/table-group-list/TableGroupList.vue_vue_type_script_setup_true_lang.js +2 -1
  10. package/dist/es/fields/Cascader.vue_vue_type_script_setup_true_lang.js +4 -1
  11. package/dist/es/fields/Checkbox.vue_vue_type_script_setup_true_lang.js +4 -1
  12. package/dist/es/fields/CheckboxGroup.vue_vue_type_script_setup_true_lang.js +4 -1
  13. package/dist/es/fields/ColorPicker.vue_vue_type_script_setup_true_lang.js +4 -1
  14. package/dist/es/fields/Date.vue_vue_type_script_setup_true_lang.js +4 -1
  15. package/dist/es/fields/DateTime.vue_vue_type_script_setup_true_lang.js +4 -1
  16. package/dist/es/fields/Daterange.vue_vue_type_script_setup_true_lang.js +4 -1
  17. package/dist/es/fields/Display.vue_vue_type_script_setup_true_lang.js +4 -1
  18. package/dist/es/fields/DynamicField.vue_vue_type_script_setup_true_lang.js +4 -1
  19. package/dist/es/fields/Link.vue_vue_type_script_setup_true_lang.js +29 -7
  20. package/dist/es/fields/Number.vue_vue_type_script_setup_true_lang.js +4 -1
  21. package/dist/es/fields/NumberRange.vue_vue_type_script_setup_true_lang.js +4 -1
  22. package/dist/es/fields/RadioGroup.vue_vue_type_script_setup_true_lang.js +16 -8
  23. package/dist/es/fields/Select.vue_vue_type_script_setup_true_lang.js +4 -1
  24. package/dist/es/fields/Switch.vue_vue_type_script_setup_true_lang.js +4 -1
  25. package/dist/es/fields/Text.vue_vue_type_script_setup_true_lang.js +112 -77
  26. package/dist/es/fields/Textarea.vue_vue_type_script_setup_true_lang.js +4 -1
  27. package/dist/es/fields/Time.vue_vue_type_script_setup_true_lang.js +4 -1
  28. package/dist/es/fields/Timerange.vue_vue_type_script_setup_true_lang.js +4 -1
  29. package/dist/es/plugin.js +2 -0
  30. package/dist/es/style.css +120 -8
  31. package/dist/style.css +120 -8
  32. package/dist/themes/magic-admin.css +53 -0
  33. package/dist/tmagic-form.umd.cjs +392 -201
  34. package/package.json +4 -4
  35. package/src/Form.vue +53 -4
  36. package/src/FormDialog.vue +14 -3
  37. package/src/FormDrawer.vue +15 -4
  38. package/src/containers/Container.vue +14 -5
  39. package/src/containers/GroupListItem.vue +14 -12
  40. package/src/containers/Panel.vue +10 -3
  41. package/src/containers/table/ActionsColumn.vue +10 -4
  42. package/src/containers/table/useTableColumns.ts +1 -0
  43. package/src/containers/table-group-list/TableGroupList.vue +5 -1
  44. package/src/fields/Link.vue +17 -3
  45. package/src/fields/RadioGroup.vue +11 -5
  46. package/src/fields/Text.vue +43 -19
  47. package/src/plugin.ts +2 -0
  48. package/src/theme/container.scss +3 -0
  49. package/src/theme/fieldset.scss +50 -0
  50. package/src/theme/form.scss +6 -0
  51. package/src/theme/group-list.scss +8 -7
  52. package/src/theme/index.scss +1 -0
  53. package/src/theme/link.scss +17 -0
  54. package/src/theme/panel.scss +1 -1
  55. package/src/theme/radio-group.scss +23 -0
  56. package/src/theme/tabs.scss +2 -2
  57. package/src/theme/text.scss +38 -0
  58. package/src/theme/themes/magic-admin/index.scss +89 -0
  59. package/types/index.d.ts +43 -1
@@ -2843,9 +2843,9 @@
2843
2843
  "align-items": "center"
2844
2844
  }
2845
2845
  };
2846
- var _hoisted_2$8 = ["innerHTML", "title"];
2847
- var _hoisted_3$7 = ["innerHTML"];
2848
- var _hoisted_4$5 = ["innerHTML", "title"];
2846
+ var _hoisted_2$9 = ["innerHTML", "title"];
2847
+ var _hoisted_3$8 = ["innerHTML"];
2848
+ var _hoisted_4$7 = ["innerHTML", "title"];
2849
2849
  //#endregion
2850
2850
  //#region packages/form/src/containers/FormLabel.vue
2851
2851
  var FormLabel_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -2862,11 +2862,11 @@
2862
2862
  return __props.tip ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_1$15, [(0, vue.createElementVNode)("span", {
2863
2863
  innerHTML: __props.type === "checkbox" && !__props.useLabel ? "" : __props.text,
2864
2864
  title: __props.labelTitle
2865
- }, null, 8, _hoisted_2$8), __props.tip && (__props.type !== "checkbox" || __props.useLabel) ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicTooltip), {
2865
+ }, null, 8, _hoisted_2$9), __props.tip && (__props.type !== "checkbox" || __props.useLabel) ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicTooltip), {
2866
2866
  key: 0,
2867
2867
  placement: "top"
2868
2868
  }, {
2869
- content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", { innerHTML: __props.tip }, null, 8, _hoisted_3$7)]),
2869
+ content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", { innerHTML: __props.tip }, null, 8, _hoisted_3$8)]),
2870
2870
  default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicIcon), { style: {
2871
2871
  "margin-left": "5px",
2872
2872
  "display": "flex"
@@ -2879,23 +2879,27 @@
2879
2879
  key: 1,
2880
2880
  innerHTML: __props.type === "checkbox" && !__props.useLabel ? "" : __props.text,
2881
2881
  title: __props.labelTitle
2882
- }, null, 8, _hoisted_4$5));
2882
+ }, null, 8, _hoisted_4$7));
2883
2883
  };
2884
2884
  }
2885
2885
  });
2886
2886
  //#endregion
2887
2887
  //#region packages/form/src/containers/Container.vue?vue&type=script&setup=true&lang.ts
2888
2888
  var _hoisted_1$14 = ["data-tmagic-id", "data-tmagic-form-item-prop"];
2889
- var _hoisted_2$7 = ["innerHTML"];
2890
- var _hoisted_3$6 = ["innerHTML"];
2891
- var _hoisted_4$4 = ["innerHTML"];
2892
- var _hoisted_5$3 = ["innerHTML"];
2893
- var _hoisted_6$1 = ["innerHTML"];
2894
- var _hoisted_7$1 = ["innerHTML"];
2895
- var _hoisted_8$1 = ["innerHTML"];
2896
- var _hoisted_9 = {
2889
+ var _hoisted_2$8 = {
2890
+ key: 0,
2891
+ class: "m-form-tip m-form-title-extra"
2892
+ };
2893
+ var _hoisted_3$7 = ["innerHTML"];
2894
+ var _hoisted_4$6 = ["innerHTML"];
2895
+ var _hoisted_5$4 = ["innerHTML"];
2896
+ var _hoisted_6$2 = ["innerHTML"];
2897
+ var _hoisted_7$2 = ["innerHTML"];
2898
+ var _hoisted_8$2 = ["innerHTML"];
2899
+ var _hoisted_9 = ["innerHTML"];
2900
+ var _hoisted_10 = {
2897
2901
  key: 5,
2898
- style: { "text-align": "center" }
2902
+ class: "m-form-container-expand"
2899
2903
  };
2900
2904
  //#endregion
2901
2905
  //#region packages/form/src/containers/Container.vue
@@ -3175,12 +3179,12 @@
3175
3179
  "use-label",
3176
3180
  "label-title",
3177
3181
  "text"
3178
- ])])]),
3182
+ ]), __props.config.titleExtra && __props.config.labelPosition === "top" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_2$8, (0, vue.toDisplayString)(__props.config.titleExtra), 1)) : (0, vue.createCommentVNode)("v-if", true)])]),
3179
3183
  default: (0, vue.withCtx)(() => [tooltip.value.text ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicTooltip), {
3180
3184
  key: 0,
3181
3185
  placement: tooltip.value.placement
3182
3186
  }, {
3183
- content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", { innerHTML: tooltip.value.text }, null, 8, _hoisted_2$7)]),
3187
+ content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", { innerHTML: tooltip.value.text }, null, 8, _hoisted_3$7)]),
3184
3188
  default: (0, vue.withCtx)(() => [((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(tagName.value), (0, vue.mergeProps)(fieldsProps.value, {
3185
3189
  model: __props.model,
3186
3190
  "last-values": __props.lastValues,
@@ -3209,7 +3213,7 @@
3209
3213
  key: 0,
3210
3214
  placement: "top"
3211
3215
  }, {
3212
- content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", { innerHTML: __props.config.tip }, null, 8, _hoisted_3$6)]),
3216
+ content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", { innerHTML: __props.config.tip }, null, 8, _hoisted_4$6)]),
3213
3217
  default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicIcon), { style: {
3214
3218
  "line-height": "40px",
3215
3219
  "margin-left": "5px"
@@ -3248,7 +3252,7 @@
3248
3252
  key: 0,
3249
3253
  placement: tooltip.value.placement
3250
3254
  }, {
3251
- content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", { innerHTML: tooltip.value.text }, null, 8, _hoisted_4$4)]),
3255
+ content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", { innerHTML: tooltip.value.text }, null, 8, _hoisted_5$4)]),
3252
3256
  default: (0, vue.withCtx)(() => [((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(tagName.value), (0, vue.mergeProps)(fieldsProps.value, {
3253
3257
  model: __props.model,
3254
3258
  "last-values": __props.lastValues,
@@ -3301,7 +3305,7 @@
3301
3305
  key: 0,
3302
3306
  placement: tooltip.value.placement
3303
3307
  }, {
3304
- content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", { innerHTML: tooltip.value.text }, null, 8, _hoisted_5$3)]),
3308
+ content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", { innerHTML: tooltip.value.text }, null, 8, _hoisted_6$2)]),
3305
3309
  default: (0, vue.withCtx)(() => [((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(tagName.value), (0, vue.mergeProps)(fieldsProps.value, {
3306
3310
  model: __props.lastValues,
3307
3311
  onChange: onChangeHandler
@@ -3317,7 +3321,7 @@
3317
3321
  key: 0,
3318
3322
  placement: "top"
3319
3323
  }, {
3320
- content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", { innerHTML: __props.config.tip }, null, 8, _hoisted_6$1)]),
3324
+ content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", { innerHTML: __props.config.tip }, null, 8, _hoisted_7$2)]),
3321
3325
  default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicIcon), { style: {
3322
3326
  "line-height": "40px",
3323
3327
  "margin-left": "5px"
@@ -3358,7 +3362,7 @@
3358
3362
  key: 0,
3359
3363
  placement: tooltip.value.placement
3360
3364
  }, {
3361
- content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", { innerHTML: tooltip.value.text }, null, 8, _hoisted_7$1)]),
3365
+ content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", { innerHTML: tooltip.value.text }, null, 8, _hoisted_8$2)]),
3362
3366
  default: (0, vue.withCtx)(() => [((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(tagName.value), (0, vue.mergeProps)(fieldsProps.value, {
3363
3367
  model: __props.model,
3364
3368
  onChange: onChangeHandler
@@ -3374,7 +3378,7 @@
3374
3378
  key: 1,
3375
3379
  placement: "top"
3376
3380
  }, {
3377
- content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", { innerHTML: __props.config.tip }, null, 8, _hoisted_8$1)]),
3381
+ content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", { innerHTML: __props.config.tip }, null, 8, _hoisted_9)]),
3378
3382
  default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicIcon), { style: {
3379
3383
  "line-height": "40px",
3380
3384
  "margin-left": "5px"
@@ -3416,16 +3420,17 @@
3416
3420
  "label-width",
3417
3421
  "prop"
3418
3422
  ]);
3419
- }), 128)) : (0, vue.createCommentVNode)("v-if", true)], 64)) : (0, vue.createCommentVNode)("v-if", true), __props.config.expand && type.value !== "fieldset" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_9, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
3423
+ }), 128)) : (0, vue.createCommentVNode)("v-if", true)], 64)) : (0, vue.createCommentVNode)("v-if", true), __props.config.expand && type.value !== "fieldset" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_10, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
3420
3424
  type: "primary",
3421
3425
  size: "small",
3422
3426
  disabled: false,
3423
3427
  link: "",
3424
- onClick: expandHandler
3428
+ onClick: expandHandler,
3429
+ icon: expand.value ? (0, vue.unref)(_element_plus_icons_vue.ArrowUp) : (0, vue.unref)(_element_plus_icons_vue.ArrowDown)
3425
3430
  }, {
3426
3431
  default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)(expand.value ? "收起配置" : "展开更多配置"), 1)]),
3427
3432
  _: 1
3428
- })])) : (0, vue.createCommentVNode)("v-if", true)], 14, _hoisted_1$14);
3433
+ }, 8, ["icon"])])) : (0, vue.createCommentVNode)("v-if", true)], 14, _hoisted_1$14);
3429
3434
  };
3430
3435
  }
3431
3436
  });
@@ -3461,7 +3466,8 @@
3461
3466
  preventSubmitDefault: { type: Boolean },
3462
3467
  extendState: {},
3463
3468
  showDiff: {},
3464
- selfDiffFieldTypes: {}
3469
+ selfDiffFieldTypes: {},
3470
+ theme: {}
3465
3471
  },
3466
3472
  emits: [
3467
3473
  "change",
@@ -3480,6 +3486,25 @@
3480
3486
  const fields = /* @__PURE__ */ new Map();
3481
3487
  const requestFuc = getConfig("request");
3482
3488
  /**
3489
+ * 当前表单生效的主题名称:
3490
+ * - 优先用本组件自己的 `props.theme`;
3491
+ * - 没设置时回退到最近祖先 `<MEditor>` / `<MForm>` provide 的主题,便于内嵌于编辑器
3492
+ * 时自动跟随外层主题,无需在每个 `MForm` 上重复传 `theme`。
3493
+ *
3494
+ * 同时把合并后的值再 provide 出去(见下方 `provide(M_THEME_KEY, ...)`),让 form 子树
3495
+ * 里再嵌套的 portal 组件(`TMagicPopover` 等)依然能拿到非空主题。
3496
+ */
3497
+ const ancestorTheme = (0, vue.inject)(_tmagic_design.M_THEME_KEY, null);
3498
+ const effectiveTheme = (0, vue.computed)(() => props.theme || ancestorTheme?.value || "");
3499
+ /**
3500
+ * 拼到 `formState.popperClass` 上的主题修饰类(仅 `m-theme--<theme>`,
3501
+ * 不带 `m-form` / `m-editor` 前缀,因为 Element Plus 弹层节点本身既不是 form 也不是 editor)。
3502
+ *
3503
+ * 这条类会随所有读 `mForm.popperClass` 的字段(Select / DateTime / Cascader 等)下发到
3504
+ * Element Plus 的 `popper-class`,让 portal 节点也命中 `m-theme--<theme>` 上的 CSS 变量。
3505
+ */
3506
+ const themeClass = (0, vue.computed)(() => effectiveTheme.value ? `m-theme--${effectiveTheme.value}` : "");
3507
+ /**
3483
3508
  * formState 实现说明:
3484
3509
  *
3485
3510
  * 1. 与 props 直接对应的字段(config / initValues / lastValues / isCompare / parentValues /
@@ -3495,13 +3520,21 @@
3495
3520
  * 把最新值刷进 formState。
3496
3521
  * - accessor 描述符(`{ get stage() { return ... } }`)按原样写入,调用方可以控制
3497
3522
  * 读时求值,每次读取都会重新执行 getter。
3523
+ *
3524
+ * 4. `popperClass` 会自动拼接 `themeClass`:调用方传入的 `popperClass` + 当前主题
3525
+ * 修饰类(含祖先 `<MEditor>` provide 的主题)。这样所有透传到 Element Plus 弹层
3526
+ * `popper-class` 的字段(Select / DateTime / Cascader 等)能自带主题作用域。
3498
3527
  */
3499
3528
  const formState = (0, vue.reactive)({
3500
3529
  get keyProp() {
3501
3530
  return props.keyProp;
3502
3531
  },
3503
3532
  get popperClass() {
3504
- return props.popperClass;
3533
+ const userClass = props.popperClass ?? "";
3534
+ const tc = themeClass.value;
3535
+ if (!userClass) return tc;
3536
+ if (!tc) return userClass;
3537
+ return `${userClass} ${tc}`;
3505
3538
  },
3506
3539
  get config() {
3507
3540
  return props.config;
@@ -3577,6 +3610,12 @@
3577
3610
  }
3578
3611
  });
3579
3612
  (0, vue.provide)("mForm", formState);
3613
+ /**
3614
+ * 把生效主题(自身或祖先)再 provide 出去,供 form 子树内含 `Teleport` 的组件
3615
+ * (如 `TMagicPopover`)在传送目标上挂 `m-theme--<theme>` 类。
3616
+ * 详见 `@tmagic/design/theme.ts`。
3617
+ */
3618
+ (0, vue.provide)(_tmagic_design.M_THEME_KEY, effectiveTheme);
3580
3619
  (0, vue.provide)(FORM_DIFF_CONFIG_KEY, {
3581
3620
  get showDiff() {
3582
3621
  return props.showDiff;
@@ -3680,7 +3719,11 @@
3680
3719
  });
3681
3720
  return (_ctx, _cache) => {
3682
3721
  return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicForm), {
3683
- class: "m-form",
3722
+ class: (0, vue.normalizeClass)([
3723
+ "m-form",
3724
+ effectiveTheme.value ? `m-form--${effectiveTheme.value}` : "",
3725
+ effectiveTheme.value ? `m-theme--${effectiveTheme.value}` : ""
3726
+ ]),
3684
3727
  ref: "tMagicForm",
3685
3728
  model: values.value,
3686
3729
  "label-width": __props.labelWidth,
@@ -3718,6 +3761,7 @@
3718
3761
  }), 128)) : (0, vue.createCommentVNode)("v-if", true)]),
3719
3762
  _: 3
3720
3763
  }, 8, [
3764
+ "class",
3721
3765
  "model",
3722
3766
  "label-width",
3723
3767
  "style",
@@ -3866,7 +3910,8 @@
3866
3910
  type: Boolean,
3867
3911
  default: true
3868
3912
  },
3869
- extendState: {}
3913
+ extendState: {},
3914
+ theme: {}
3870
3915
  },
3871
3916
  emits: [
3872
3917
  "close",
@@ -3876,6 +3921,9 @@
3876
3921
  ],
3877
3922
  setup(__props, { expose: __expose, emit: __emit }) {
3878
3923
  const props = __props;
3924
+ const ancestorTheme = (0, vue.inject)(_tmagic_design.M_THEME_KEY, null);
3925
+ const effectiveTheme = (0, vue.computed)(() => props.theme || ancestorTheme?.value || "");
3926
+ (0, vue.provide)(_tmagic_design.M_THEME_KEY, effectiveTheme);
3879
3927
  const emit = __emit;
3880
3928
  const form = (0, vue.ref)();
3881
3929
  const dialogVisible = (0, vue.ref)(false);
@@ -3935,7 +3983,7 @@
3935
3983
  return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicDialog), {
3936
3984
  modelValue: dialogVisible.value,
3937
3985
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => dialogVisible.value = $event),
3938
- class: "m-form-dialog",
3986
+ class: (0, vue.normalizeClass)(["m-form-dialog", effectiveTheme.value ? `m-theme--${effectiveTheme.value}` : ""]),
3939
3987
  top: "20px",
3940
3988
  "append-to-body": "",
3941
3989
  title: __props.title,
@@ -4017,6 +4065,7 @@
4017
4065
  inline: __props.inline,
4018
4066
  "prevent-submit-default": __props.preventSubmitDefault,
4019
4067
  "extend-state": __props.extendState,
4068
+ theme: effectiveTheme.value,
4020
4069
  onChange: changeHandler
4021
4070
  }, null, 8, [
4022
4071
  "modelValue",
@@ -4029,11 +4078,13 @@
4029
4078
  "label-position",
4030
4079
  "inline",
4031
4080
  "prevent-submit-default",
4032
- "extend-state"
4081
+ "extend-state",
4082
+ "theme"
4033
4083
  ]), (0, vue.renderSlot)(_ctx.$slots, "default")], 4)) : (0, vue.createCommentVNode)("v-if", true)]),
4034
4084
  _: 3
4035
4085
  }, 8, [
4036
4086
  "modelValue",
4087
+ "class",
4037
4088
  "title",
4038
4089
  "width",
4039
4090
  "zIndex",
@@ -4073,7 +4124,8 @@
4073
4124
  labelPosition: {},
4074
4125
  preventSubmitDefault: { type: Boolean },
4075
4126
  beforeClose: {},
4076
- extendState: {}
4127
+ extendState: {},
4128
+ theme: {}
4077
4129
  },
4078
4130
  emits: [
4079
4131
  "close",
@@ -4085,6 +4137,10 @@
4085
4137
  "opened"
4086
4138
  ],
4087
4139
  setup(__props, { expose: __expose, emit: __emit }) {
4140
+ const props = __props;
4141
+ const ancestorTheme = (0, vue.inject)(_tmagic_design.M_THEME_KEY, null);
4142
+ const effectiveTheme = (0, vue.computed)(() => props.theme || ancestorTheme?.value || "");
4143
+ (0, vue.provide)(_tmagic_design.M_THEME_KEY, effectiveTheme);
4088
4144
  const emit = __emit;
4089
4145
  const drawer = (0, vue.ref)();
4090
4146
  const form = (0, vue.ref)();
@@ -4138,7 +4194,7 @@
4138
4194
  });
4139
4195
  return (_ctx, _cache) => {
4140
4196
  return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicDrawer), {
4141
- class: "m-form-drawer",
4197
+ class: (0, vue.normalizeClass)(["m-form-drawer", effectiveTheme.value ? `m-theme--${effectiveTheme.value}` : ""]),
4142
4198
  ref_key: "drawer",
4143
4199
  ref: drawer,
4144
4200
  modelValue: visible.value,
@@ -4198,6 +4254,7 @@
4198
4254
  inline: __props.inline,
4199
4255
  "prevent-submit-default": __props.preventSubmitDefault,
4200
4256
  "extend-state": __props.extendState,
4257
+ theme: effectiveTheme.value,
4201
4258
  onChange: changeHandler
4202
4259
  }, null, 8, [
4203
4260
  "size",
@@ -4209,10 +4266,12 @@
4209
4266
  "label-position",
4210
4267
  "inline",
4211
4268
  "prevent-submit-default",
4212
- "extend-state"
4269
+ "extend-state",
4270
+ "theme"
4213
4271
  ]), (0, vue.renderSlot)(_ctx.$slots, "default")], 512)) : (0, vue.createCommentVNode)("v-if", true)]),
4214
4272
  _: 3
4215
4273
  }, 8, [
4274
+ "class",
4216
4275
  "modelValue",
4217
4276
  "title",
4218
4277
  "close-on-press-escape",
@@ -4344,16 +4403,16 @@
4344
4403
  //#endregion
4345
4404
  //#region packages/form/src/containers/Fieldset.vue?vue&type=script&setup=true&lang.ts
4346
4405
  var _hoisted_1$11 = ["innerHTML"];
4347
- var _hoisted_2$6 = ["innerHTML"];
4348
- var _hoisted_3$5 = { key: 1 };
4349
- var _hoisted_4$3 = ["innerHTML"];
4350
- var _hoisted_5$2 = ["innerHTML"];
4351
- var _hoisted_6 = {
4406
+ var _hoisted_2$7 = ["innerHTML"];
4407
+ var _hoisted_3$6 = { key: 1 };
4408
+ var _hoisted_4$5 = ["innerHTML"];
4409
+ var _hoisted_5$3 = ["innerHTML"];
4410
+ var _hoisted_6$1 = {
4352
4411
  key: 2,
4353
4412
  style: { "display": "flex" }
4354
4413
  };
4355
- var _hoisted_7 = { style: { "flex": "1" } };
4356
- var _hoisted_8 = ["src"];
4414
+ var _hoisted_7$1 = { style: { "flex": "1" } };
4415
+ var _hoisted_8$1 = ["src"];
4357
4416
  //#endregion
4358
4417
  //#region packages/form/src/containers/Fieldset.vue
4359
4418
  var Fieldset_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -4423,7 +4482,7 @@
4423
4482
  key: 0,
4424
4483
  innerHTML: __props.config.extra,
4425
4484
  class: "m-form-tip"
4426
- }, null, 8, _hoisted_2$6)) : (0, vue.createCommentVNode)("v-if", true)]),
4485
+ }, null, 8, _hoisted_2$7)) : (0, vue.createCommentVNode)("v-if", true)]),
4427
4486
  _: 1
4428
4487
  }, 8, [
4429
4488
  "model-value",
@@ -4432,11 +4491,11 @@
4432
4491
  "false-value"
4433
4492
  ])]),
4434
4493
  _: 1
4435
- })) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("legend", _hoisted_3$5, [(0, vue.createElementVNode)("span", { innerHTML: legend.value }, null, 8, _hoisted_4$3), __props.config.extra ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
4494
+ })) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("legend", _hoisted_3$6, [(0, vue.createElementVNode)("span", { innerHTML: legend.value }, null, 8, _hoisted_4$5), __props.config.extra ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
4436
4495
  key: 0,
4437
4496
  innerHTML: __props.config.extra,
4438
4497
  class: "m-form-tip"
4439
- }, null, 8, _hoisted_5$2)) : (0, vue.createCommentVNode)("v-if", true)])), __props.config.schematic && show.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_6, [(0, vue.createElementVNode)("div", _hoisted_7, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.config.items, (item, index) => {
4498
+ }, null, 8, _hoisted_5$3)) : (0, vue.createCommentVNode)("v-if", true)])), __props.config.schematic && show.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_6$1, [(0, vue.createElementVNode)("div", _hoisted_7$1, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.config.items, (item, index) => {
4440
4499
  return (0, vue.openBlock)(), (0, vue.createBlock)(Container_default, {
4441
4500
  key: key(item, index),
4442
4501
  model: name.value ? __props.model[name.value] : __props.model,
@@ -4464,7 +4523,7 @@
4464
4523
  }), 128))]), (0, vue.createElementVNode)("img", {
4465
4524
  class: "m-form-schematic",
4466
4525
  src: __props.config.schematic
4467
- }, null, 8, _hoisted_8)])) : show.value ? ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, { key: 3 }, (0, vue.renderList)(__props.config.items, (item, index) => {
4526
+ }, null, 8, _hoisted_8$1)])) : show.value ? ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, { key: 3 }, (0, vue.renderList)(__props.config.items, (item, index) => {
4468
4527
  return (0, vue.openBlock)(), (0, vue.createBlock)(Container_default, {
4469
4528
  key: key(item, index),
4470
4529
  model: name.value ? __props.model[name.value] : __props.model,
@@ -4561,13 +4620,13 @@
4561
4620
  "display": "flex",
4562
4621
  "align-items": "center"
4563
4622
  } };
4564
- var _hoisted_2$5 = ["innerHTML"];
4565
- var _hoisted_3$4 = {
4623
+ var _hoisted_2$6 = ["innerHTML"];
4624
+ var _hoisted_3$5 = {
4566
4625
  key: 0,
4567
4626
  style: { "display": "flex" }
4568
4627
  };
4569
- var _hoisted_4$2 = { style: { "flex": "1" } };
4570
- var _hoisted_5$1 = ["src"];
4628
+ var _hoisted_4$4 = { style: { "flex": "1" } };
4629
+ var _hoisted_5$2 = ["src"];
4571
4630
  //#endregion
4572
4631
  //#region packages/form/src/containers/Panel.vue
4573
4632
  var Panel_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -4582,7 +4641,8 @@
4582
4641
  labelWidth: {},
4583
4642
  prop: {},
4584
4643
  size: {},
4585
- disabled: { type: Boolean }
4644
+ disabled: { type: Boolean },
4645
+ hideExpand: { type: Boolean }
4586
4646
  },
4587
4647
  emits: ["change", "addDiffCount"],
4588
4648
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -4606,26 +4666,31 @@
4606
4666
  return items.value && items.value.length ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicCard), {
4607
4667
  key: 0,
4608
4668
  class: "box-card m-form-panel",
4609
- "body-style": { display: expand.value ? "block" : "none" }
4669
+ "body-style": { display: expand.value ? "block" : "none" },
4670
+ flat: __props.config.flat
4610
4671
  }, {
4611
4672
  header: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_1$10, [
4612
- (0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
4613
- style: { "padding": "0" },
4673
+ !__props.hideExpand ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicButton), {
4674
+ key: 0,
4675
+ style: {
4676
+ "padding": "0",
4677
+ "margin-right": "10px"
4678
+ },
4614
4679
  link: "",
4615
- icon: expand.value ? (0, vue.unref)(_element_plus_icons_vue.CaretBottom) : (0, vue.unref)(_element_plus_icons_vue.CaretRight),
4680
+ icon: expand.value ? (0, vue.unref)(_element_plus_icons_vue.ArrowDown) : (0, vue.unref)(_element_plus_icons_vue.ArrowRight),
4616
4681
  onClick: _cache[0] || (_cache[0] = ($event) => expand.value = !expand.value)
4617
- }, null, 8, ["icon"]),
4682
+ }, null, 8, ["icon"])) : (0, vue.createCommentVNode)("v-if", true),
4618
4683
  (0, vue.renderSlot)(_ctx.$slots, "header", {}, () => [(0, vue.createElementVNode)("span", {
4619
4684
  style: { "cursor": "pointer" },
4620
4685
  onClick: _cache[1] || (_cache[1] = ($event) => expand.value = !expand.value)
4621
4686
  }, (0, vue.toDisplayString)(filter(__props.config.title)), 1)]),
4622
4687
  __props.config && __props.config.extra ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
4623
- key: 0,
4688
+ key: 1,
4624
4689
  innerHTML: __props.config.extra,
4625
4690
  class: "m-form-tip"
4626
- }, null, 8, _hoisted_2$5)) : (0, vue.createCommentVNode)("v-if", true)
4691
+ }, null, 8, _hoisted_2$6)) : (0, vue.createCommentVNode)("v-if", true)
4627
4692
  ])]),
4628
- default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", null, [(0, vue.renderSlot)(_ctx.$slots, "default"), __props.config.schematic ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_3$4, [(0, vue.createElementVNode)("div", _hoisted_4$2, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(items.value, (item, index) => {
4693
+ default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", null, [(0, vue.renderSlot)(_ctx.$slots, "default"), __props.config.schematic ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_3$5, [(0, vue.createElementVNode)("div", _hoisted_4$4, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(items.value, (item, index) => {
4629
4694
  return (0, vue.openBlock)(), (0, vue.createBlock)(Container_default, {
4630
4695
  key: item[(0, vue.unref)(mForm)?.keyProp || "__key"] ?? index,
4631
4696
  config: item,
@@ -4651,7 +4716,7 @@
4651
4716
  }), 128))]), (0, vue.createElementVNode)("img", {
4652
4717
  class: "m-form-schematic",
4653
4718
  src: __props.config.schematic
4654
- }, null, 8, _hoisted_5$1)])) : ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, { key: 1 }, (0, vue.renderList)(items.value, (item, index) => {
4719
+ }, null, 8, _hoisted_5$2)])) : ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, { key: 1 }, (0, vue.renderList)(items.value, (item, index) => {
4655
4720
  return (0, vue.openBlock)(), (0, vue.createBlock)(Container_default, {
4656
4721
  key: item[(0, vue.unref)(mForm)?.keyProp || "__key"] ?? index,
4657
4722
  config: item,
@@ -4676,7 +4741,7 @@
4676
4741
  ]);
4677
4742
  }), 128))])]),
4678
4743
  _: 3
4679
- }, 8, ["body-style"])) : (0, vue.createCommentVNode)("v-if", true);
4744
+ }, 8, ["body-style", "flat"])) : (0, vue.createCommentVNode)("v-if", true);
4680
4745
  };
4681
4746
  }
4682
4747
  });
@@ -4990,12 +5055,13 @@
4990
5055
  });
4991
5056
  //#endregion
4992
5057
  //#region packages/form/src/containers/GroupListItem.vue?vue&type=script&setup=true&lang.ts
4993
- var _hoisted_1$9 = ["innerHTML"];
4994
- var _hoisted_2$4 = { style: {
5058
+ var _hoisted_1$9 = { class: "m-fields-group-list-item-header" };
5059
+ var _hoisted_2$5 = ["innerHTML"];
5060
+ var _hoisted_3$4 = { style: {
4995
5061
  "text-align": "right",
4996
5062
  "margin-top": "20px"
4997
5063
  } };
4998
- var _hoisted_3$3 = ["innerHTML"];
5064
+ var _hoisted_4$3 = ["innerHTML"];
4999
5065
  //#endregion
5000
5066
  //#region packages/form/src/containers/GroupListItem.vue
5001
5067
  var GroupListItem_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -5073,25 +5139,28 @@
5073
5139
  return (_ctx, _cache) => {
5074
5140
  return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicCard), {
5075
5141
  class: "m-fields-group-list-item",
5142
+ flat: __props.config.flat,
5076
5143
  "body-style": { display: expand.value ? "block" : "none" }
5077
5144
  }, {
5078
- header: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", null, [
5145
+ header: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_1$9, [
5079
5146
  (0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
5080
5147
  link: "",
5081
5148
  disabled: __props.disabled,
5082
- onClick: expandHandler
5149
+ onClick: expandHandler,
5150
+ class: "expand-button"
5083
5151
  }, {
5084
5152
  default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicIcon), null, {
5085
- default: (0, vue.withCtx)(() => [expand.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_element_plus_icons_vue.CaretBottom), { key: 0 })) : ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_element_plus_icons_vue.CaretRight), { key: 1 }))]),
5153
+ default: (0, vue.withCtx)(() => [expand.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_element_plus_icons_vue.ArrowDown), { key: 0 })) : ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_element_plus_icons_vue.ArrowRight), { key: 1 }))]),
5086
5154
  _: 1
5087
- }), (0, vue.createElementVNode)("span", { innerHTML: title.value }, null, 8, _hoisted_1$9)]),
5155
+ })]),
5088
5156
  _: 1
5089
5157
  }, 8, ["disabled"]),
5158
+ (0, vue.createElementVNode)("span", { innerHTML: title.value }, null, 8, _hoisted_2$5),
5090
5159
  !__props.isCompare ? (0, vue.withDirectives)(((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicButton), {
5091
5160
  key: 0,
5092
- type: "danger",
5093
- size: "small",
5161
+ size: "default",
5094
5162
  link: "",
5163
+ class: "delete-button",
5095
5164
  icon: (0, vue.unref)(_element_plus_icons_vue.Delete),
5096
5165
  disabled: __props.disabled,
5097
5166
  onClick: removeHandler
@@ -5099,7 +5168,7 @@
5099
5168
  copyable.value && !__props.isCompare ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicButton), {
5100
5169
  key: 1,
5101
5170
  link: "",
5102
- size: "small",
5171
+ size: "default",
5103
5172
  type: "primary",
5104
5173
  icon: (0, vue.unref)(_element_plus_icons_vue.DocumentCopy),
5105
5174
  disabled: __props.disabled,
@@ -5110,18 +5179,18 @@
5110
5179
  }, 8, ["icon", "disabled"])) : (0, vue.createCommentVNode)("v-if", true),
5111
5180
  movable.value && !__props.isCompare ? ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 2 }, [(0, vue.withDirectives)((0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
5112
5181
  link: "",
5113
- size: "small",
5182
+ size: "default",
5114
5183
  disabled: __props.disabled,
5115
- icon: (0, vue.unref)(_element_plus_icons_vue.CaretTop),
5184
+ icon: (0, vue.unref)(_element_plus_icons_vue.Top),
5116
5185
  onClick: _cache[0] || (_cache[0] = ($event) => changeOrder(-1))
5117
5186
  }, {
5118
5187
  default: (0, vue.withCtx)(() => [..._cache[7] || (_cache[7] = [(0, vue.createTextVNode)("上移", -1)])]),
5119
5188
  _: 1
5120
5189
  }, 8, ["disabled", "icon"]), [[vue.vShow, __props.index !== 0]]), (0, vue.withDirectives)((0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
5121
5190
  link: "",
5122
- size: "small",
5191
+ size: "default",
5123
5192
  disabled: __props.disabled,
5124
- icon: (0, vue.unref)(_element_plus_icons_vue.CaretBottom),
5193
+ icon: (0, vue.unref)(_element_plus_icons_vue.Bottom),
5125
5194
  onClick: _cache[1] || (_cache[1] = ($event) => changeOrder(1))
5126
5195
  }, {
5127
5196
  default: (0, vue.withCtx)(() => [..._cache[8] || (_cache[8] = [(0, vue.createTextVNode)("下移", -1)])]),
@@ -5156,7 +5225,7 @@
5156
5225
  disabled: __props.disabled
5157
5226
  }, null, 8, ["modelValue", "disabled"]),
5158
5227
  _cache[11] || (_cache[11] = (0, vue.createTextVNode)("行 ", -1))
5159
- ]), (0, vue.createElementVNode)("div", _hoisted_2$4, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
5228
+ ]), (0, vue.createElementVNode)("div", _hoisted_3$4, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
5160
5229
  size: "small",
5161
5230
  text: "",
5162
5231
  onClick: _cache[4] || (_cache[4] = ($event) => moveSpecifyLocationVisible.value = false)
@@ -5177,7 +5246,7 @@
5177
5246
  key: 4,
5178
5247
  innerHTML: itemExtra.value,
5179
5248
  class: "m-form-tip"
5180
- }, null, 8, _hoisted_3$3)) : (0, vue.createCommentVNode)("v-if", true)
5249
+ }, null, 8, _hoisted_4$3)) : (0, vue.createCommentVNode)("v-if", true)
5181
5250
  ])]),
5182
5251
  default: (0, vue.withCtx)(() => [expand.value ? ((0, vue.openBlock)(), (0, vue.createBlock)(Container_default, {
5183
5252
  key: 0,
@@ -5202,23 +5271,23 @@
5202
5271
  "disabled"
5203
5272
  ])) : (0, vue.createCommentVNode)("v-if", true)]),
5204
5273
  _: 1
5205
- }, 8, ["body-style"]);
5274
+ }, 8, ["flat", "body-style"]);
5206
5275
  };
5207
5276
  }
5208
5277
  });
5209
5278
  //#endregion
5210
5279
  //#region packages/form/src/containers/GroupList.vue?vue&type=script&setup=true&lang.ts
5211
5280
  var _hoisted_1$8 = { class: "m-fields-group-list" };
5212
- var _hoisted_2$3 = ["innerHTML"];
5213
- var _hoisted_3$2 = {
5281
+ var _hoisted_2$4 = ["innerHTML"];
5282
+ var _hoisted_3$3 = {
5214
5283
  key: 1,
5215
5284
  class: "el-table__empty-block"
5216
5285
  };
5217
- var _hoisted_4$1 = {
5286
+ var _hoisted_4$2 = {
5218
5287
  key: 3,
5219
5288
  class: "m-fields-group-list-footer"
5220
5289
  };
5221
- var _hoisted_5 = { style: {
5290
+ var _hoisted_5$1 = { style: {
5222
5291
  "display": "flex",
5223
5292
  "justify-content": "flex-end",
5224
5293
  "flex": "1"
@@ -5270,8 +5339,8 @@
5270
5339
  key: 0,
5271
5340
  innerHTML: __props.config.extra,
5272
5341
  style: { "color": "rgba(0, 0, 0, 0.45)" }
5273
- }, null, 8, _hoisted_2$3)) : (0, vue.createCommentVNode)("v-if", true),
5274
- !__props.model[__props.name] || !__props.model[__props.name].length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_3$2, [..._cache[1] || (_cache[1] = [(0, vue.createElementVNode)("span", { class: "el-table__empty-text t-table__empty" }, "暂无数据", -1)])])) : ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, { key: 2 }, (0, vue.renderList)(__props.model[__props.name], (item, index) => {
5342
+ }, null, 8, _hoisted_2$4)) : (0, vue.createCommentVNode)("v-if", true),
5343
+ !__props.model[__props.name] || !__props.model[__props.name].length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_3$3, [..._cache[1] || (_cache[1] = [(0, vue.createElementVNode)("span", { class: "el-table__empty-text t-table__empty" }, "暂无数据", -1)])])) : ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, { key: 2 }, (0, vue.renderList)(__props.model[__props.name], (item, index) => {
5275
5344
  return (0, vue.openBlock)(), (0, vue.createBlock)(GroupListItem_default, {
5276
5345
  key: index,
5277
5346
  model: item,
@@ -5302,7 +5371,7 @@
5302
5371
  "group-model"
5303
5372
  ]);
5304
5373
  }), 128)),
5305
- !__props.isCompare ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_4$1, [(0, vue.renderSlot)(_ctx.$slots, "toggle-button"), (0, vue.createElementVNode)("div", _hoisted_5, [(0, vue.renderSlot)(_ctx.$slots, "add-button")])])) : (0, vue.createCommentVNode)("v-if", true)
5374
+ !__props.isCompare ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_4$2, [(0, vue.renderSlot)(_ctx.$slots, "toggle-button"), (0, vue.createElementVNode)("div", _hoisted_5$1, [(0, vue.renderSlot)(_ctx.$slots, "add-button")])])) : (0, vue.createCommentVNode)("v-if", true)
5306
5375
  ]);
5307
5376
  };
5308
5377
  }
@@ -5464,7 +5533,8 @@
5464
5533
  index: {},
5465
5534
  row: {},
5466
5535
  prop: {},
5467
- sortKey: {}
5536
+ sortKey: {},
5537
+ flat: { type: Boolean }
5468
5538
  },
5469
5539
  emits: ["change"],
5470
5540
  setup(__props, { emit: __emit }) {
@@ -5535,19 +5605,25 @@
5535
5605
  type: "danger",
5536
5606
  link: "",
5537
5607
  title: "删除",
5538
- icon: __props.config.deleteActionButtonIcon || (0, vue.unref)(_element_plus_icons_vue.Delete),
5608
+ icon: __props.flat ? void 0 : __props.config.deleteActionButtonIcon || (0, vue.unref)(_element_plus_icons_vue.Delete),
5539
5609
  onClick: _cache[0] || (_cache[0] = ($event) => removeHandler(__props.index + 1 + __props.currentPage * __props.pageSize - 1))
5540
- }, null, 8, ["icon"]), [[vue.vShow, showDelete(__props.index + 1 + __props.currentPage * __props.pageSize - 1)]]),
5610
+ }, {
5611
+ default: (0, vue.withCtx)(() => [__props.flat ? ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 0 }, [(0, vue.createTextVNode)("删除")], 64)) : (0, vue.createCommentVNode)("v-if", true)]),
5612
+ _: 1
5613
+ }, 8, ["icon"]), [[vue.vShow, showDelete(__props.index + 1 + __props.currentPage * __props.pageSize - 1)]]),
5541
5614
  copyable(__props.index + 1 + __props.currentPage * __props.pageSize - 1) ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicButton), {
5542
5615
  key: 1,
5543
5616
  link: "",
5544
5617
  size: "small",
5545
5618
  type: "primary",
5546
5619
  title: "复制",
5547
- icon: __props.config.copyActionButtonIcon || (0, vue.unref)(_element_plus_icons_vue.DocumentCopy),
5620
+ icon: __props.flat ? void 0 : __props.config.copyActionButtonIcon || (0, vue.unref)(_element_plus_icons_vue.DocumentCopy),
5548
5621
  disabled: __props.disabled,
5549
5622
  onClick: _cache[1] || (_cache[1] = ($event) => copyHandler(__props.index + 1 + __props.currentPage * __props.pageSize - 1))
5550
- }, null, 8, ["icon", "disabled"])) : (0, vue.createCommentVNode)("v-if", true)
5623
+ }, {
5624
+ default: (0, vue.withCtx)(() => [__props.flat ? ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 0 }, [(0, vue.createTextVNode)("复制")], 64)) : (0, vue.createCommentVNode)("v-if", true)]),
5625
+ _: 1
5626
+ }, 8, ["icon", "disabled"])) : (0, vue.createCommentVNode)("v-if", true)
5551
5627
  ], 64);
5552
5628
  };
5553
5629
  }
@@ -5708,6 +5784,7 @@
5708
5784
  },
5709
5785
  cell: ({ row, $index }) => (0, vue.h)(ActionsColumn_default, {
5710
5786
  row,
5787
+ flat: props.config.flat,
5711
5788
  index: $index,
5712
5789
  model: props.model,
5713
5790
  config: props.config,
@@ -5790,13 +5867,13 @@
5790
5867
  //#endregion
5791
5868
  //#region packages/form/src/containers/table/Table.vue?vue&type=script&setup=true&lang.ts
5792
5869
  var _hoisted_1$7 = ["innerHTML"];
5793
- var _hoisted_2$2 = { style: {
5870
+ var _hoisted_2$3 = { style: {
5794
5871
  "display": "flex",
5795
5872
  "justify-content": "space-between",
5796
5873
  "margin": "10px 0"
5797
5874
  } };
5798
- var _hoisted_3$1 = { style: { "display": "flex" } };
5799
- var _hoisted_4 = {
5875
+ var _hoisted_3$2 = { style: { "display": "flex" } };
5876
+ var _hoisted_4$1 = {
5800
5877
  key: 1,
5801
5878
  class: "bottom",
5802
5879
  style: { "text-align": "right" }
@@ -5893,7 +5970,7 @@
5893
5970
  _: 1
5894
5971
  }, 8, ["disabled"]),
5895
5972
  (0, vue.renderSlot)(_ctx.$slots, "default"),
5896
- (0, vue.createElementVNode)("div", _hoisted_2$2, [(0, vue.createElementVNode)("div", _hoisted_3$1, [
5973
+ (0, vue.createElementVNode)("div", _hoisted_2$3, [(0, vue.createElementVNode)("div", _hoisted_3$2, [
5897
5974
  !(0, vue.unref)(isFullscreen) ? (0, vue.renderSlot)(_ctx.$slots, "toggle-button", { key: 0 }) : (0, vue.createCommentVNode)("v-if", true),
5898
5975
  __props.config.enableFullscreen !== false ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicButton), {
5899
5976
  key: 1,
@@ -5936,7 +6013,7 @@
5936
6013
  _: 1
5937
6014
  }, 8, ["disabled", "onClick"])) : (0, vue.createCommentVNode)("v-if", true)
5938
6015
  ]), !__props.isCompare ? (0, vue.renderSlot)(_ctx.$slots, "add-button", { key: 0 }) : (0, vue.createCommentVNode)("v-if", true)]),
5939
- __props.config.pagination ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_4, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicPagination), {
6016
+ __props.config.pagination ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_4$1, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicPagination), {
5940
6017
  layout: "total, sizes, prev, pager, next, jumper",
5941
6018
  "hide-on-single-page": __props.model[modelName.value].length < (0, vue.unref)(pageSize),
5942
6019
  "current-page": (0, vue.unref)(currentPage) + 1,
@@ -6156,9 +6233,10 @@
6156
6233
  size: addButtonSize.value,
6157
6234
  plain: displayMode.value === "table",
6158
6235
  icon: (0, vue.unref)(_element_plus_icons_vue.Plus),
6236
+ text: "",
6159
6237
  disabled: __props.disabled
6160
6238
  }, currentConfig.value.addButtonConfig?.props || { type: "primary" }, { onClick: (0, vue.unref)(newHandler) }), {
6161
- default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)(currentConfig.value.addButtonConfig?.text || (displayMode.value === "table" ? "新增一行" : "新增")), 1)]),
6239
+ default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)(currentConfig.value.addButtonConfig?.text || (displayMode.value === "table" ? "新增一行" : `新增${groupListConfig.value.titlePrefix || ""}`)), 1)]),
6162
6240
  _: 1
6163
6241
  }, 16, [
6164
6242
  "class",
@@ -6188,9 +6266,17 @@
6188
6266
  });
6189
6267
  //#endregion
6190
6268
  //#region packages/form/src/fields/Text.vue?vue&type=script&setup=true&lang.ts
6191
- var _hoisted_1$6 = { class: "m-fields-text" };
6192
- var _hoisted_2$1 = { key: 1 };
6193
- var _hoisted_3 = { style: {
6269
+ var _hoisted_1$6 = { key: 0 };
6270
+ var _hoisted_2$2 = {
6271
+ key: 0,
6272
+ class: "m-fields-text__prepend"
6273
+ };
6274
+ var _hoisted_3$1 = { class: "m-fields-text__value" };
6275
+ var _hoisted_4 = ["src"];
6276
+ var _hoisted_5 = { key: 2 };
6277
+ var _hoisted_6 = ["src"];
6278
+ var _hoisted_7 = { key: 2 };
6279
+ var _hoisted_8 = { style: {
6194
6280
  "display": "flex",
6195
6281
  "justify-content": "flex-end"
6196
6282
  } };
@@ -6209,7 +6295,10 @@
6209
6295
  disabled: { type: Boolean },
6210
6296
  size: {},
6211
6297
  lastValues: {},
6212
- isCompare: { type: Boolean }
6298
+ isCompare: { type: Boolean },
6299
+ text: {},
6300
+ labelWidth: {},
6301
+ labelPosition: {}
6213
6302
  },
6214
6303
  emits: ["change", "input"],
6215
6304
  setup(__props, { emit: __emit }) {
@@ -6222,21 +6311,15 @@
6222
6311
  value.value = v;
6223
6312
  }, { immediate: true });
6224
6313
  const appendConfig = (0, vue.computed)(() => {
6225
- if (typeof props.config.append === "string") return {
6314
+ const { append } = props.config;
6315
+ if (typeof append === "string") return {
6226
6316
  type: "text",
6227
- text: props.config.append,
6317
+ text: append,
6228
6318
  handler: void 0
6229
6319
  };
6230
- if (typeof props.config.append === "object") {
6231
- if (typeof props.config.append?.handler === "function") return {
6232
- type: "button",
6233
- text: props.config.append.text,
6234
- handler: props.config.append.handler
6235
- };
6236
- if (props.config.append) {
6237
- if (props.config.append.value === 0) return false;
6238
- return props.config.append;
6239
- }
6320
+ if (typeof append === "object" && append) {
6321
+ if (append.value === 0) return false;
6322
+ return append;
6240
6323
  }
6241
6324
  return false;
6242
6325
  });
@@ -6332,67 +6415,97 @@
6332
6415
  instanceRef.value = void 0;
6333
6416
  };
6334
6417
  return (_ctx, _cache) => {
6335
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$6, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicInput), {
6336
- modelValue: value.value,
6337
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => value.value = $event),
6338
- ref_key: "input",
6339
- ref: input,
6340
- clearable: __props.config.clearable ?? true,
6341
- size: __props.size,
6342
- placeholder: __props.config.placeholder,
6343
- disabled: __props.disabled,
6344
- onChange: changeHandler,
6345
- onInput: inputHandler,
6346
- onKeyup: _cache[1] || (_cache[1] = ($event) => keyUpHandler($event))
6347
- }, (0, vue.createSlots)({ _: 2 }, [__props.config.prepend ? {
6348
- name: "prepend",
6349
- fn: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", null, (0, vue.toDisplayString)(__props.config.prepend), 1)]),
6350
- key: "0"
6351
- } : void 0, appendConfig.value ? {
6352
- name: "append",
6353
- fn: (0, vue.withCtx)(() => [appendConfig.value.type === "button" ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicButton), {
6354
- key: 0,
6355
- style: { "color": "#409eff" },
6418
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", { class: (0, vue.normalizeClass)(["m-fields-text", { "m-fields-text--static": __props.config.static }]) }, [
6419
+ __props.config.disabled ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$6)) : (0, vue.createCommentVNode)("v-if", true),
6420
+ (0, vue.createCommentVNode)(" 新增静态展示文本样式 "),
6421
+ __props.config.static ? ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 1 }, [
6422
+ __props.config.prepend ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_2$2, (0, vue.toDisplayString)(__props.config.prepend), 1)) : (0, vue.createCommentVNode)("v-if", true),
6423
+ (0, vue.createElementVNode)("span", _hoisted_3$1, (0, vue.toDisplayString)(value.value), 1),
6424
+ appendConfig.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 1 }, [appendConfig.value.type === "button" ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicButton), {
6425
+ key: 0,
6426
+ style: { "color": "#0056ea" },
6427
+ size: __props.size,
6428
+ onClick: (0, vue.withModifiers)(buttonClickHandler, ["prevent"])
6429
+ }, {
6430
+ default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)(appendConfig.value.text), 1)]),
6431
+ _: 1
6432
+ }, 8, ["size"])) : appendConfig.value.type === "icon" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("img", {
6433
+ key: 1,
6434
+ class: "m-fields-text__icon",
6435
+ src: appendConfig.value.text,
6436
+ onClick: buttonClickHandler
6437
+ }, null, 8, _hoisted_4)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_5, (0, vue.toDisplayString)(appendConfig.value.text), 1))], 64)) : (0, vue.createCommentVNode)("v-if", true)
6438
+ ], 64)) : ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicInput), {
6439
+ key: 2,
6440
+ modelValue: value.value,
6441
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => value.value = $event),
6442
+ ref_key: "input",
6443
+ ref: input,
6444
+ clearable: __props.config.clearable ?? true,
6356
6445
  size: __props.size,
6357
- onClick: (0, vue.withModifiers)(buttonClickHandler, ["prevent"])
6358
- }, {
6359
- default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)(appendConfig.value.text), 1)]),
6360
- _: 1
6361
- }, 8, ["size"])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_2$1, (0, vue.toDisplayString)(appendConfig.value.text), 1))]),
6362
- key: "1"
6363
- } : void 0]), 1032, [
6364
- "modelValue",
6365
- "clearable",
6366
- "size",
6367
- "placeholder",
6368
- "disabled"
6369
- ]), ((0, vue.openBlock)(), (0, vue.createBlock)(vue.Teleport, { to: "body" }, [popoverVisible.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
6370
- key: 0,
6371
- class: "tmagic-form-text-popper m-form-item__content",
6372
- ref_key: "popoverEl",
6373
- ref: popoverEl
6374
- }, [
6375
- _cache[5] || (_cache[5] = (0, vue.createElementVNode)("div", { class: "m-form-validate__warning" }, "输入内容前后有空格,是否移除空格?", -1)),
6376
- (0, vue.createElementVNode)("div", _hoisted_3, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
6377
- link: "",
6378
- size: "small",
6379
- onClick: _cache[2] || (_cache[2] = ($event) => popoverVisible.value = false)
6380
- }, {
6381
- default: (0, vue.withCtx)(() => [..._cache[3] || (_cache[3] = [(0, vue.createTextVNode)("保持原样", -1)])]),
6382
- _: 1
6383
- }), (0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
6384
- type: "primary",
6385
- size: "small",
6386
- onClick: confirmTrimHandler
6387
- }, {
6388
- default: (0, vue.withCtx)(() => [..._cache[4] || (_cache[4] = [(0, vue.createTextVNode)("移除空格", -1)])]),
6389
- _: 1
6390
- })]),
6391
- _cache[6] || (_cache[6] = (0, vue.createElementVNode)("span", {
6392
- class: "tmagic-form-text-popper-arrow",
6393
- "data-popper-arrow": ""
6394
- }, null, -1))
6395
- ], 512)) : (0, vue.createCommentVNode)("v-if", true)]))]);
6446
+ placeholder: __props.config.placeholder,
6447
+ disabled: __props.disabled,
6448
+ onChange: changeHandler,
6449
+ onInput: inputHandler,
6450
+ onKeyup: _cache[1] || (_cache[1] = ($event) => keyUpHandler($event))
6451
+ }, (0, vue.createSlots)({ _: 2 }, [__props.config.prepend ? {
6452
+ name: "prepend",
6453
+ fn: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", null, (0, vue.toDisplayString)(__props.config.prepend), 1)]),
6454
+ key: "0"
6455
+ } : void 0, appendConfig.value ? {
6456
+ name: "append",
6457
+ fn: (0, vue.withCtx)(() => [appendConfig.value.type === "button" ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicButton), {
6458
+ key: 0,
6459
+ style: { "color": "#0056ea" },
6460
+ size: __props.size,
6461
+ onClick: (0, vue.withModifiers)(buttonClickHandler, ["prevent"])
6462
+ }, {
6463
+ default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)(appendConfig.value.text), 1)]),
6464
+ _: 1
6465
+ }, 8, ["size"])) : appendConfig.value.type === "icon" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("img", {
6466
+ key: 1,
6467
+ src: appendConfig.value.text,
6468
+ onClick: buttonClickHandler
6469
+ }, null, 8, _hoisted_6)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_7, (0, vue.toDisplayString)(appendConfig.value.text), 1))]),
6470
+ key: "1"
6471
+ } : void 0]), 1032, [
6472
+ "modelValue",
6473
+ "clearable",
6474
+ "size",
6475
+ "placeholder",
6476
+ "disabled"
6477
+ ])),
6478
+ !__props.config.static ? ((0, vue.openBlock)(), (0, vue.createBlock)(vue.Teleport, {
6479
+ key: 3,
6480
+ to: "body"
6481
+ }, [popoverVisible.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
6482
+ key: 0,
6483
+ class: "tmagic-form-text-popper m-form-item__content",
6484
+ ref_key: "popoverEl",
6485
+ ref: popoverEl
6486
+ }, [
6487
+ _cache[5] || (_cache[5] = (0, vue.createElementVNode)("div", { class: "m-form-validate__warning" }, "输入内容前后有空格,是否移除空格?", -1)),
6488
+ (0, vue.createElementVNode)("div", _hoisted_8, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
6489
+ link: "",
6490
+ size: "small",
6491
+ onClick: _cache[2] || (_cache[2] = ($event) => popoverVisible.value = false)
6492
+ }, {
6493
+ default: (0, vue.withCtx)(() => [..._cache[3] || (_cache[3] = [(0, vue.createTextVNode)("保持原样", -1)])]),
6494
+ _: 1
6495
+ }), (0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
6496
+ type: "primary",
6497
+ size: "small",
6498
+ onClick: confirmTrimHandler
6499
+ }, {
6500
+ default: (0, vue.withCtx)(() => [..._cache[4] || (_cache[4] = [(0, vue.createTextVNode)("移除空格", -1)])]),
6501
+ _: 1
6502
+ })]),
6503
+ _cache[6] || (_cache[6] = (0, vue.createElementVNode)("span", {
6504
+ class: "tmagic-form-text-popper-arrow",
6505
+ "data-popper-arrow": ""
6506
+ }, null, -1))
6507
+ ], 512)) : (0, vue.createCommentVNode)("v-if", true)])) : (0, vue.createCommentVNode)("v-if", true)
6508
+ ], 2);
6396
6509
  };
6397
6510
  }
6398
6511
  });
@@ -6411,7 +6524,10 @@
6411
6524
  disabled: { type: Boolean },
6412
6525
  size: {},
6413
6526
  lastValues: {},
6414
- isCompare: { type: Boolean }
6527
+ isCompare: { type: Boolean },
6528
+ text: {},
6529
+ labelWidth: {},
6530
+ labelPosition: {}
6415
6531
  },
6416
6532
  emits: ["change", "input"],
6417
6533
  setup(__props, { emit: __emit }) {
@@ -6475,7 +6591,10 @@
6475
6591
  disabled: { type: Boolean },
6476
6592
  size: {},
6477
6593
  lastValues: {},
6478
- isCompare: { type: Boolean }
6594
+ isCompare: { type: Boolean },
6595
+ text: {},
6596
+ labelWidth: {},
6597
+ labelPosition: {}
6479
6598
  },
6480
6599
  emits: ["change"],
6481
6600
  setup(__props, { emit: __emit }) {
@@ -6546,7 +6665,10 @@
6546
6665
  disabled: { type: Boolean },
6547
6666
  size: {},
6548
6667
  lastValues: {},
6549
- isCompare: { type: Boolean }
6668
+ isCompare: { type: Boolean },
6669
+ text: {},
6670
+ labelWidth: {},
6671
+ labelPosition: {}
6550
6672
  },
6551
6673
  emits: ["change", "input"],
6552
6674
  setup(__props, { emit: __emit }) {
@@ -6602,7 +6724,10 @@
6602
6724
  disabled: { type: Boolean },
6603
6725
  size: {},
6604
6726
  lastValues: {},
6605
- isCompare: { type: Boolean }
6727
+ isCompare: { type: Boolean },
6728
+ text: {},
6729
+ labelWidth: {},
6730
+ labelPosition: {}
6606
6731
  },
6607
6732
  emits: ["change"],
6608
6733
  setup(__props, { emit: __emit }) {
@@ -6649,7 +6774,10 @@
6649
6774
  disabled: { type: Boolean },
6650
6775
  size: {},
6651
6776
  lastValues: {},
6652
- isCompare: { type: Boolean }
6777
+ isCompare: { type: Boolean },
6778
+ text: {},
6779
+ labelWidth: {},
6780
+ labelPosition: {}
6653
6781
  },
6654
6782
  emits: ["change"],
6655
6783
  setup(__props, { emit: __emit }) {
@@ -6701,7 +6829,10 @@
6701
6829
  disabled: { type: Boolean },
6702
6830
  size: {},
6703
6831
  lastValues: {},
6704
- isCompare: { type: Boolean }
6832
+ isCompare: { type: Boolean },
6833
+ text: {},
6834
+ labelWidth: {},
6835
+ labelPosition: {}
6705
6836
  },
6706
6837
  emits: ["change"],
6707
6838
  setup(__props, { emit: __emit }) {
@@ -6746,7 +6877,10 @@
6746
6877
  disabled: { type: Boolean },
6747
6878
  size: {},
6748
6879
  lastValues: {},
6749
- isCompare: { type: Boolean }
6880
+ isCompare: { type: Boolean },
6881
+ text: {},
6882
+ labelWidth: {},
6883
+ labelPosition: {}
6750
6884
  },
6751
6885
  emits: ["change"],
6752
6886
  setup(__props, { emit: __emit }) {
@@ -6803,7 +6937,10 @@
6803
6937
  disabled: { type: Boolean },
6804
6938
  size: {},
6805
6939
  lastValues: {},
6806
- isCompare: { type: Boolean }
6940
+ isCompare: { type: Boolean },
6941
+ text: {},
6942
+ labelWidth: {},
6943
+ labelPosition: {}
6807
6944
  },
6808
6945
  emits: ["change"],
6809
6946
  setup(__props, { emit: __emit }) {
@@ -6858,7 +6995,10 @@
6858
6995
  disabled: { type: Boolean },
6859
6996
  size: {},
6860
6997
  lastValues: {},
6861
- isCompare: { type: Boolean }
6998
+ isCompare: { type: Boolean },
6999
+ text: {},
7000
+ labelWidth: {},
7001
+ labelPosition: {}
6862
7002
  },
6863
7003
  emits: ["change"],
6864
7004
  setup(__props, { emit: __emit }) {
@@ -6952,7 +7092,10 @@
6952
7092
  disabled: { type: Boolean },
6953
7093
  size: {},
6954
7094
  lastValues: {},
6955
- isCompare: { type: Boolean }
7095
+ isCompare: { type: Boolean },
7096
+ text: {},
7097
+ labelWidth: {},
7098
+ labelPosition: {}
6956
7099
  },
6957
7100
  emits: ["change"],
6958
7101
  setup(__props, { emit: __emit }) {
@@ -7046,7 +7189,10 @@
7046
7189
  disabled: { type: Boolean },
7047
7190
  size: {},
7048
7191
  lastValues: {},
7049
- isCompare: { type: Boolean }
7192
+ isCompare: { type: Boolean },
7193
+ text: {},
7194
+ labelWidth: {},
7195
+ labelPosition: {}
7050
7196
  },
7051
7197
  emits: ["change"],
7052
7198
  setup(__props, { emit: __emit }) {
@@ -7084,7 +7230,10 @@
7084
7230
  disabled: { type: Boolean },
7085
7231
  size: {},
7086
7232
  lastValues: {},
7087
- isCompare: { type: Boolean }
7233
+ isCompare: { type: Boolean },
7234
+ text: {},
7235
+ labelWidth: {},
7236
+ labelPosition: {}
7088
7237
  },
7089
7238
  emits: ["change"],
7090
7239
  setup(__props, { emit: __emit }) {
@@ -7129,7 +7278,11 @@
7129
7278
  });
7130
7279
  //#endregion
7131
7280
  //#region packages/form/src/fields/RadioGroup.vue?vue&type=script&setup=true&lang.ts
7132
- var _hoisted_1$4 = { key: 1 };
7281
+ var _hoisted_1$4 = { class: "m-fields-radio-group__option" };
7282
+ var _hoisted_2$1 = {
7283
+ key: 1,
7284
+ class: "m-fields-radio-group__text"
7285
+ };
7133
7286
  //#endregion
7134
7287
  //#region packages/form/src/fields/RadioGroup.vue
7135
7288
  var RadioGroup_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -7145,7 +7298,10 @@
7145
7298
  disabled: { type: Boolean },
7146
7299
  size: {},
7147
7300
  lastValues: {},
7148
- isCompare: { type: Boolean }
7301
+ isCompare: { type: Boolean },
7302
+ text: {},
7303
+ labelWidth: {},
7304
+ labelPosition: {}
7149
7305
  },
7150
7306
  emits: ["change"],
7151
7307
  setup(__props, { emit: __emit }) {
@@ -7157,9 +7313,9 @@
7157
7313
  };
7158
7314
  useAddField(props.prop);
7159
7315
  const iconSize = (0, vue.computed)(() => {
7160
- if (props.size === "small") return "12";
7316
+ if (props.size === "small") return "14";
7161
7317
  if (props.size === "large") return "16";
7162
- return "14";
7318
+ return "16";
7163
7319
  });
7164
7320
  return (_ctx, _cache) => {
7165
7321
  return __props.model ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicRadioGroup), {
@@ -7179,13 +7335,14 @@
7179
7335
  placement: "top-start",
7180
7336
  content: option.tooltip
7181
7337
  }, {
7182
- default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", null, [option.icon ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicIcon), {
7338
+ default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_1$4, [option.icon ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicIcon), {
7183
7339
  key: 0,
7184
- size: iconSize.value
7340
+ size: iconSize.value,
7341
+ class: (0, vue.normalizeClass)({ "m-fields-radio-group__icon_with_text": !!option.text })
7185
7342
  }, {
7186
7343
  default: (0, vue.withCtx)(() => [((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(option.icon)))]),
7187
7344
  _: 2
7188
- }, 1032, ["size"])) : (0, vue.createCommentVNode)("v-if", true), option.text ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_1$4, (0, vue.toDisplayString)(option.text), 1)) : (0, vue.createCommentVNode)("v-if", true)])]),
7345
+ }, 1032, ["size", "class"])) : (0, vue.createCommentVNode)("v-if", true), option.text ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_2$1, (0, vue.toDisplayString)(option.text), 1)) : (0, vue.createCommentVNode)("v-if", true)])]),
7189
7346
  _: 2
7190
7347
  }, 1032, ["disabled", "content"])]),
7191
7348
  _: 2
@@ -7218,7 +7375,10 @@
7218
7375
  disabled: { type: Boolean },
7219
7376
  size: {},
7220
7377
  lastValues: {},
7221
- isCompare: { type: Boolean }
7378
+ isCompare: { type: Boolean },
7379
+ text: {},
7380
+ labelWidth: {},
7381
+ labelPosition: {}
7222
7382
  },
7223
7383
  setup(__props) {
7224
7384
  const props = __props;
@@ -7237,8 +7397,9 @@
7237
7397
  //#endregion
7238
7398
  //#region packages/form/src/fields/Link.vue?vue&type=script&setup=true&lang.ts
7239
7399
  var _hoisted_1$2 = ["href"];
7240
- var _hoisted_2 = {
7241
- key: 2,
7400
+ var _hoisted_2 = ["href"];
7401
+ var _hoisted_3 = {
7402
+ key: 3,
7242
7403
  class: "m-fields-link"
7243
7404
  };
7244
7405
  //#endregion
@@ -7256,12 +7417,17 @@
7256
7417
  disabled: { type: Boolean },
7257
7418
  size: {},
7258
7419
  lastValues: {},
7259
- isCompare: { type: Boolean }
7420
+ isCompare: { type: Boolean },
7421
+ text: {},
7422
+ labelWidth: {},
7423
+ labelPosition: {},
7424
+ theme: {}
7260
7425
  },
7261
7426
  emits: ["change"],
7262
7427
  setup(__props, { emit: __emit }) {
7263
7428
  const props = __props;
7264
7429
  const emit = __emit;
7430
+ const displayTheme = (0, _tmagic_design.useTheme)(props);
7265
7431
  useAddField(props.prop);
7266
7432
  const formValue = (0, vue.ref)({});
7267
7433
  const editor = (0, vue.ref)();
@@ -7299,15 +7465,30 @@
7299
7465
  editor.value && (editor.value.dialogVisible = false);
7300
7466
  };
7301
7467
  return (_ctx, _cache) => {
7302
- return __props.config.href && !__props.disabled ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("a", {
7468
+ return (0, vue.unref)(displayTheme) === "magic-admin" && __props.config.href && !__props.disabled ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("a", {
7303
7469
  key: 0,
7304
7470
  target: "_blank",
7305
7471
  href: href.value,
7472
+ class: "magic-admin-link",
7306
7473
  style: (0, vue.normalizeStyle)(__props.config.css || {})
7307
- }, (0, vue.toDisplayString)(displayText.value), 13, _hoisted_1$2)) : __props.config.href && __props.disabled ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
7474
+ }, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
7475
+ link: "",
7476
+ type: "primary"
7477
+ }, {
7478
+ default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicIcon), null, {
7479
+ default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(_element_plus_icons_vue.Notebook))]),
7480
+ _: 1
7481
+ }), (0, vue.createTextVNode)((0, vue.toDisplayString)(displayText.value), 1)]),
7482
+ _: 1
7483
+ })], 12, _hoisted_1$2)) : __props.config.href && !__props.disabled ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("a", {
7308
7484
  key: 1,
7485
+ target: "_blank",
7486
+ href: href.value,
7487
+ style: (0, vue.normalizeStyle)(__props.config.css || {})
7488
+ }, (0, vue.toDisplayString)(displayText.value), 13, _hoisted_2)) : __props.config.href && __props.disabled ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
7489
+ key: 2,
7309
7490
  style: (0, vue.normalizeStyle)(__props.config.disabledCss || {})
7310
- }, (0, vue.toDisplayString)(displayText.value), 5)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
7491
+ }, (0, vue.toDisplayString)(displayText.value), 5)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_3, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
7311
7492
  link: "",
7312
7493
  type: "primary",
7313
7494
  onClick: editHandler
@@ -7353,7 +7534,10 @@
7353
7534
  disabled: { type: Boolean },
7354
7535
  size: {},
7355
7536
  lastValues: {},
7356
- isCompare: { type: Boolean }
7537
+ isCompare: { type: Boolean },
7538
+ text: {},
7539
+ labelWidth: {},
7540
+ labelPosition: {}
7357
7541
  },
7358
7542
  emits: ["change"],
7359
7543
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -7701,7 +7885,10 @@
7701
7885
  disabled: { type: Boolean },
7702
7886
  size: {},
7703
7887
  lastValues: {},
7704
- isCompare: { type: Boolean }
7888
+ isCompare: { type: Boolean },
7889
+ text: {},
7890
+ labelWidth: {},
7891
+ labelPosition: {}
7705
7892
  },
7706
7893
  emits: ["change"],
7707
7894
  setup(__props, { emit: __emit }) {
@@ -7821,7 +8008,10 @@
7821
8008
  disabled: { type: Boolean },
7822
8009
  size: {},
7823
8010
  lastValues: {},
7824
- isCompare: { type: Boolean }
8011
+ isCompare: { type: Boolean },
8012
+ text: {},
8013
+ labelWidth: {},
8014
+ labelPosition: {}
7825
8015
  },
7826
8016
  emits: ["change"],
7827
8017
  setup(__props, { emit: __emit }) {
@@ -7981,6 +8171,7 @@
7981
8171
  setConfig(option);
7982
8172
  app.component("m-form", Form_default);
7983
8173
  app.component("m-form-dialog", FormDialog_default);
8174
+ app.component("m-form-drawer", FormDrawer_default);
7984
8175
  app.component("m-form-container", Container_default);
7985
8176
  app.component("m-form-fieldset", Fieldset_default);
7986
8177
  app.component("m-form-group-list", TableGroupList_default);