@tmagic/form 1.0.0-beta.1

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 (94) hide show
  1. package/dist/style.css +161 -0
  2. package/dist/tmagic-form.es.js +3749 -0
  3. package/dist/tmagic-form.es.js.map +1 -0
  4. package/dist/tmagic-form.umd.js +3790 -0
  5. package/dist/tmagic-form.umd.js.map +1 -0
  6. package/dist/types/src/Form.vue.d.ts +304 -0
  7. package/dist/types/src/FormDialog.vue.d.ts +641 -0
  8. package/dist/types/src/containers/Container.vue.d.ts +69 -0
  9. package/dist/types/src/containers/Fieldset.vue.d.ts +56 -0
  10. package/dist/types/src/containers/GroupList.vue.d.ts +56 -0
  11. package/dist/types/src/containers/GroupListItem.vue.d.ts +72 -0
  12. package/dist/types/src/containers/Panel.vue.d.ts +41 -0
  13. package/dist/types/src/containers/Row.vue.d.ts +42 -0
  14. package/dist/types/src/containers/Step.vue.d.ts +45 -0
  15. package/dist/types/src/containers/Table.vue.d.ts +1401 -0
  16. package/dist/types/src/containers/Tabs.vue.d.ts +45 -0
  17. package/dist/types/src/fields/Cascader.vue.d.ts +1748 -0
  18. package/dist/types/src/fields/Checkbox.vue.d.ts +59 -0
  19. package/dist/types/src/fields/CheckboxGroup.vue.d.ts +56 -0
  20. package/dist/types/src/fields/Date.vue.d.ts +58 -0
  21. package/dist/types/src/fields/DateTime.vue.d.ts +57 -0
  22. package/dist/types/src/fields/Daterange.vue.d.ts +57 -0
  23. package/dist/types/src/fields/Display.vue.d.ts +3 -0
  24. package/dist/types/src/fields/DynamicField.vue.d.ts +76 -0
  25. package/dist/types/src/fields/Hidden.vue.d.ts +3 -0
  26. package/dist/types/src/fields/Link.vue.d.ts +1365 -0
  27. package/dist/types/src/fields/Number.vue.d.ts +59 -0
  28. package/dist/types/src/fields/RadioGroup.vue.d.ts +55 -0
  29. package/dist/types/src/fields/Select.vue.d.ts +975 -0
  30. package/dist/types/src/fields/Switch.vue.d.ts +59 -0
  31. package/dist/types/src/fields/Text.vue.d.ts +61 -0
  32. package/dist/types/src/fields/Textarea.vue.d.ts +56 -0
  33. package/dist/types/src/fields/Time.vue.d.ts +54 -0
  34. package/dist/types/src/index.d.ts +36 -0
  35. package/dist/types/src/schema.d.ts +495 -0
  36. package/dist/types/src/shims-vue.d.ts +6 -0
  37. package/dist/types/src/utils/config.d.ts +3 -0
  38. package/dist/types/src/utils/fieldProps.d.ts +21 -0
  39. package/dist/types/src/utils/form.d.ts +8 -0
  40. package/dist/types/src/utils/useAddField.d.ts +1 -0
  41. package/dist/types/src/vite-env.d.ts +1 -0
  42. package/package.json +51 -0
  43. package/src/Form.vue +188 -0
  44. package/src/FormDialog.vue +163 -0
  45. package/src/containers/Container.vue +263 -0
  46. package/src/containers/Fieldset.vue +138 -0
  47. package/src/containers/GroupList.vue +152 -0
  48. package/src/containers/GroupListItem.vue +159 -0
  49. package/src/containers/Panel.vue +106 -0
  50. package/src/containers/Row.vue +68 -0
  51. package/src/containers/Step.vue +82 -0
  52. package/src/containers/Table.vue +624 -0
  53. package/src/containers/Tabs.vue +176 -0
  54. package/src/fields/Cascader.vue +147 -0
  55. package/src/fields/Checkbox.vue +67 -0
  56. package/src/fields/CheckboxGroup.vue +44 -0
  57. package/src/fields/ColorPicker.vue +38 -0
  58. package/src/fields/Date.vue +51 -0
  59. package/src/fields/DateTime.vue +59 -0
  60. package/src/fields/Daterange.vue +75 -0
  61. package/src/fields/Display.vue +34 -0
  62. package/src/fields/DynamicField.vue +109 -0
  63. package/src/fields/Hidden.vue +29 -0
  64. package/src/fields/Link.vue +112 -0
  65. package/src/fields/Number.vue +53 -0
  66. package/src/fields/RadioGroup.vue +33 -0
  67. package/src/fields/Select.vue +393 -0
  68. package/src/fields/Switch.vue +65 -0
  69. package/src/fields/Text.vue +134 -0
  70. package/src/fields/Textarea.vue +62 -0
  71. package/src/fields/Time.vue +48 -0
  72. package/src/index.ts +127 -0
  73. package/src/schema.ts +638 -0
  74. package/src/shims-vue.d.ts +6 -0
  75. package/src/theme/date-time.scss +7 -0
  76. package/src/theme/fieldset.scss +24 -0
  77. package/src/theme/form-dialog.scss +13 -0
  78. package/src/theme/form.scss +30 -0
  79. package/src/theme/group-list.scss +23 -0
  80. package/src/theme/index.scss +9 -0
  81. package/src/theme/link.scss +3 -0
  82. package/src/theme/panel.scss +18 -0
  83. package/src/theme/select.scss +3 -0
  84. package/src/theme/table.scss +69 -0
  85. package/src/theme/tabs.scss +25 -0
  86. package/src/utils/config.ts +27 -0
  87. package/src/utils/containerProps.ts +50 -0
  88. package/src/utils/createForm.ts +25 -0
  89. package/src/utils/fieldProps.ts +39 -0
  90. package/src/utils/form.ts +266 -0
  91. package/src/utils/useAddField.ts +40 -0
  92. package/src/vite-env.d.ts +1 -0
  93. package/tsconfig.json +9 -0
  94. package/vite.config.ts +27 -0
@@ -0,0 +1,59 @@
1
+ import type { DefineComponent, ComputedRef, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes, PropType } from 'vue';
2
+ import { CheckboxConfig } from '../schema';
3
+ declare const _default: DefineComponent<{
4
+ config: {
5
+ type: PropType<CheckboxConfig>;
6
+ required: true;
7
+ };
8
+ model: {
9
+ type: ObjectConstructor;
10
+ required: boolean;
11
+ default: () => {};
12
+ };
13
+ name: {
14
+ type: StringConstructor;
15
+ default: string;
16
+ };
17
+ disabled: {
18
+ type: BooleanConstructor;
19
+ default: boolean;
20
+ };
21
+ size: PropType<"small" | "mini" | "medium">;
22
+ prop: StringConstructor;
23
+ initValues: ObjectConstructor;
24
+ values: ObjectConstructor;
25
+ }, {
26
+ activeValue: ComputedRef<string | number | boolean>;
27
+ inactiveValue: ComputedRef<string | number | boolean>;
28
+ changeHandler(value: number | boolean): void;
29
+ }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("change" | "input")[], "change" | "input", VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
30
+ config: {
31
+ type: PropType<CheckboxConfig>;
32
+ required: true;
33
+ };
34
+ model: {
35
+ type: ObjectConstructor;
36
+ required: boolean;
37
+ default: () => {};
38
+ };
39
+ name: {
40
+ type: StringConstructor;
41
+ default: string;
42
+ };
43
+ disabled: {
44
+ type: BooleanConstructor;
45
+ default: boolean;
46
+ };
47
+ size: PropType<"small" | "mini" | "medium">;
48
+ prop: StringConstructor;
49
+ initValues: ObjectConstructor;
50
+ values: ObjectConstructor;
51
+ }>> & {
52
+ onChange?: ((...args: any[]) => any) | undefined;
53
+ onInput?: ((...args: any[]) => any) | undefined;
54
+ }, {
55
+ model: Record<string, any>;
56
+ disabled: boolean;
57
+ name: string;
58
+ }>;
59
+ export default _default;
@@ -0,0 +1,56 @@
1
+ import type { DefineComponent, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes, PropType } from 'vue';
2
+ import { CheckboxGroupConfig } from '../schema';
3
+ declare const _default: DefineComponent<{
4
+ config: {
5
+ type: PropType<CheckboxGroupConfig>;
6
+ required: true;
7
+ };
8
+ model: {
9
+ type: ObjectConstructor;
10
+ required: boolean;
11
+ default: () => {};
12
+ };
13
+ name: {
14
+ type: StringConstructor;
15
+ default: string;
16
+ };
17
+ disabled: {
18
+ type: BooleanConstructor;
19
+ default: boolean;
20
+ };
21
+ size: PropType<"small" | "mini" | "medium">;
22
+ prop: StringConstructor;
23
+ initValues: ObjectConstructor;
24
+ values: ObjectConstructor;
25
+ }, {
26
+ changeHandler: (v: Array<string | number | boolean>) => void;
27
+ }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, "change"[], "change", VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
28
+ config: {
29
+ type: PropType<CheckboxGroupConfig>;
30
+ required: true;
31
+ };
32
+ model: {
33
+ type: ObjectConstructor;
34
+ required: boolean;
35
+ default: () => {};
36
+ };
37
+ name: {
38
+ type: StringConstructor;
39
+ default: string;
40
+ };
41
+ disabled: {
42
+ type: BooleanConstructor;
43
+ default: boolean;
44
+ };
45
+ size: PropType<"small" | "mini" | "medium">;
46
+ prop: StringConstructor;
47
+ initValues: ObjectConstructor;
48
+ values: ObjectConstructor;
49
+ }>> & {
50
+ onChange?: ((...args: any[]) => any) | undefined;
51
+ }, {
52
+ model: Record<string, any>;
53
+ disabled: boolean;
54
+ name: string;
55
+ }>;
56
+ export default _default;
@@ -0,0 +1,58 @@
1
+ import type { DefineComponent, ComputedRef, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes, PropType } from 'vue';
2
+ import { DateConfig } from '../schema';
3
+ declare const _default: DefineComponent<{
4
+ config: {
5
+ type: PropType<DateConfig>;
6
+ required: true;
7
+ };
8
+ model: {
9
+ type: ObjectConstructor;
10
+ required: boolean;
11
+ default: () => {};
12
+ };
13
+ name: {
14
+ type: StringConstructor;
15
+ default: string;
16
+ };
17
+ disabled: {
18
+ type: BooleanConstructor;
19
+ default: boolean;
20
+ };
21
+ size: PropType<"small" | "mini" | "medium">;
22
+ prop: StringConstructor;
23
+ initValues: ObjectConstructor;
24
+ values: ObjectConstructor;
25
+ }, {
26
+ modelName: ComputedRef<string | number>;
27
+ changeHandler(v: string): void;
28
+ }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("change" | "input")[], "change" | "input", VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
29
+ config: {
30
+ type: PropType<DateConfig>;
31
+ required: true;
32
+ };
33
+ model: {
34
+ type: ObjectConstructor;
35
+ required: boolean;
36
+ default: () => {};
37
+ };
38
+ name: {
39
+ type: StringConstructor;
40
+ default: string;
41
+ };
42
+ disabled: {
43
+ type: BooleanConstructor;
44
+ default: boolean;
45
+ };
46
+ size: PropType<"small" | "mini" | "medium">;
47
+ prop: StringConstructor;
48
+ initValues: ObjectConstructor;
49
+ values: ObjectConstructor;
50
+ }>> & {
51
+ onChange?: ((...args: any[]) => any) | undefined;
52
+ onInput?: ((...args: any[]) => any) | undefined;
53
+ }, {
54
+ model: Record<string, any>;
55
+ disabled: boolean;
56
+ name: string;
57
+ }>;
58
+ export default _default;
@@ -0,0 +1,57 @@
1
+ import type { DefineComponent, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes, PropType } from 'vue';
2
+ import { DateTimeConfig } from '../schema';
3
+ declare const _default: DefineComponent<{
4
+ config: {
5
+ type: PropType<DateTimeConfig>;
6
+ required: true;
7
+ };
8
+ model: {
9
+ type: ObjectConstructor;
10
+ required: boolean;
11
+ default: () => {};
12
+ };
13
+ name: {
14
+ type: StringConstructor;
15
+ default: string;
16
+ };
17
+ disabled: {
18
+ type: BooleanConstructor;
19
+ default: boolean;
20
+ };
21
+ size: PropType<"small" | "mini" | "medium">;
22
+ prop: StringConstructor;
23
+ initValues: ObjectConstructor;
24
+ values: ObjectConstructor;
25
+ }, {
26
+ value: any;
27
+ changeHandler: (v: Date) => void;
28
+ }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, "change"[], "change", VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
29
+ config: {
30
+ type: PropType<DateTimeConfig>;
31
+ required: true;
32
+ };
33
+ model: {
34
+ type: ObjectConstructor;
35
+ required: boolean;
36
+ default: () => {};
37
+ };
38
+ name: {
39
+ type: StringConstructor;
40
+ default: string;
41
+ };
42
+ disabled: {
43
+ type: BooleanConstructor;
44
+ default: boolean;
45
+ };
46
+ size: PropType<"small" | "mini" | "medium">;
47
+ prop: StringConstructor;
48
+ initValues: ObjectConstructor;
49
+ values: ObjectConstructor;
50
+ }>> & {
51
+ onChange?: ((...args: any[]) => any) | undefined;
52
+ }, {
53
+ model: Record<string, any>;
54
+ disabled: boolean;
55
+ name: string;
56
+ }>;
57
+ export default _default;
@@ -0,0 +1,57 @@
1
+ import type { DefineComponent, Ref, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes, PropType } from 'vue';
2
+ import { DaterangeConfig } from '../schema';
3
+ declare const _default: DefineComponent<{
4
+ config: {
5
+ type: PropType<DaterangeConfig>;
6
+ required: true;
7
+ };
8
+ model: {
9
+ type: ObjectConstructor;
10
+ required: boolean;
11
+ default: () => {};
12
+ };
13
+ name: {
14
+ type: StringConstructor;
15
+ default: string;
16
+ };
17
+ disabled: {
18
+ type: BooleanConstructor;
19
+ default: boolean;
20
+ };
21
+ size: PropType<"small" | "mini" | "medium">;
22
+ prop: StringConstructor;
23
+ initValues: ObjectConstructor;
24
+ values: ObjectConstructor;
25
+ }, {
26
+ value: Ref<(string | number)[]>;
27
+ changeHandler(v: Date[]): void;
28
+ }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, "change"[], "change", VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
29
+ config: {
30
+ type: PropType<DaterangeConfig>;
31
+ required: true;
32
+ };
33
+ model: {
34
+ type: ObjectConstructor;
35
+ required: boolean;
36
+ default: () => {};
37
+ };
38
+ name: {
39
+ type: StringConstructor;
40
+ default: string;
41
+ };
42
+ disabled: {
43
+ type: BooleanConstructor;
44
+ default: boolean;
45
+ };
46
+ size: PropType<"small" | "mini" | "medium">;
47
+ prop: StringConstructor;
48
+ initValues: ObjectConstructor;
49
+ values: ObjectConstructor;
50
+ }>> & {
51
+ onChange?: ((...args: any[]) => any) | undefined;
52
+ }, {
53
+ model: Record<string, any>;
54
+ disabled: boolean;
55
+ name: string;
56
+ }>;
57
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import type { DefineComponent, ComputedOptions, MethodOptions, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps } from 'vue';
2
+ declare const _sfc_main: DefineComponent<unknown, object, {}, ComputedOptions, MethodOptions, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<unknown>, {}>;
3
+ export default _sfc_main;
@@ -0,0 +1,76 @@
1
+ /**
2
+ * 动态表单,目前只支持input类型字段
3
+ * inputType: 'dynamic-field',
4
+ * text: '动态表单',
5
+ * dynamicKey: 'keyname', 如果model[dynamicKey]变化,表单字段变化
6
+ * returnFields(config,model,request): 函数,返回字段列表[{name:'',label:'',defaultValue:''}]
7
+ *
8
+ * 特别注意!!!field的上一级必须extensible: true,才能保存未声明的字段
9
+ */
10
+ import type { DefineComponent, WatchStopHandle, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes, PropType } from 'vue';
11
+ import { DynamicFieldConfig } from '../schema';
12
+ declare const _default: DefineComponent<{
13
+ config: {
14
+ type: PropType<DynamicFieldConfig>;
15
+ required: true;
16
+ };
17
+ model: {
18
+ type: ObjectConstructor;
19
+ required: boolean;
20
+ default: () => {};
21
+ };
22
+ name: {
23
+ type: StringConstructor;
24
+ default: string;
25
+ };
26
+ disabled: {
27
+ type: BooleanConstructor;
28
+ default: boolean;
29
+ };
30
+ size: PropType<"small" | "mini" | "medium">;
31
+ prop: StringConstructor;
32
+ initValues: ObjectConstructor;
33
+ values: ObjectConstructor;
34
+ }, {
35
+ request: Function;
36
+ fieldMap: {
37
+ [x: string]: any;
38
+ };
39
+ fieldLabelMap: {
40
+ [x: string]: any;
41
+ };
42
+ unwatch: WatchStopHandle;
43
+ changeFieldMap: () => Promise<void>;
44
+ inputChangeHandler: (key: string) => void;
45
+ }, unknown, {}, {
46
+ init(): void;
47
+ }, ComponentOptionsMixin, ComponentOptionsMixin, "change"[], "change", VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
48
+ config: {
49
+ type: PropType<DynamicFieldConfig>;
50
+ required: true;
51
+ };
52
+ model: {
53
+ type: ObjectConstructor;
54
+ required: boolean;
55
+ default: () => {};
56
+ };
57
+ name: {
58
+ type: StringConstructor;
59
+ default: string;
60
+ };
61
+ disabled: {
62
+ type: BooleanConstructor;
63
+ default: boolean;
64
+ };
65
+ size: PropType<"small" | "mini" | "medium">;
66
+ prop: StringConstructor;
67
+ initValues: ObjectConstructor;
68
+ values: ObjectConstructor;
69
+ }>> & {
70
+ onChange?: ((...args: any[]) => any) | undefined;
71
+ }, {
72
+ model: Record<string, any>;
73
+ disabled: boolean;
74
+ name: string;
75
+ }>;
76
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import type { DefineComponent, ComputedOptions, MethodOptions, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps } from 'vue';
2
+ declare const _sfc_main: DefineComponent<unknown, object, {}, ComputedOptions, MethodOptions, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<unknown>, {}>;
3
+ export default _sfc_main;