@tmagic/form 1.2.0-beta.1 → 1.2.0-beta.3

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 (66) hide show
  1. package/dist/tmagic-form.mjs +2077 -2500
  2. package/dist/tmagic-form.mjs.map +1 -1
  3. package/dist/tmagic-form.umd.js +2099 -2523
  4. package/dist/tmagic-form.umd.js.map +1 -1
  5. package/package.json +3 -4
  6. package/src/Form.vue +116 -159
  7. package/src/FormDialog.vue +138 -158
  8. package/src/containers/Col.vue +22 -38
  9. package/src/containers/Container.vue +135 -171
  10. package/src/containers/Fieldset.vue +11 -7
  11. package/src/containers/GroupList.vue +80 -112
  12. package/src/containers/GroupListItem.vue +87 -124
  13. package/src/containers/Panel.vue +26 -49
  14. package/src/containers/Row.vue +18 -40
  15. package/src/containers/Step.vue +36 -48
  16. package/src/containers/Table.vue +437 -478
  17. package/src/containers/Tabs.vue +89 -118
  18. package/src/fields/Cascader.vue +88 -136
  19. package/src/fields/Checkbox.vue +46 -50
  20. package/src/fields/CheckboxGroup.vue +39 -35
  21. package/src/fields/ColorPicker.vue +4 -2
  22. package/src/fields/Date.vue +20 -26
  23. package/src/fields/DateTime.vue +31 -39
  24. package/src/fields/Daterange.vue +3 -2
  25. package/src/fields/DynamicField.vue +63 -77
  26. package/src/fields/Link.vue +65 -86
  27. package/src/fields/Number.vue +32 -34
  28. package/src/fields/RadioGroup.vue +23 -23
  29. package/src/fields/Select.vue +294 -310
  30. package/src/fields/SelectOptionGroups.vue +10 -5
  31. package/src/fields/SelectOptions.vue +4 -2
  32. package/src/fields/Switch.vue +46 -49
  33. package/src/fields/Text.vue +99 -107
  34. package/src/fields/Textarea.vue +32 -44
  35. package/src/fields/Time.vue +19 -30
  36. package/src/index.ts +22 -23
  37. package/src/schema.ts +45 -12
  38. package/types/Form.vue.d.ts +213 -111
  39. package/types/FormDialog.vue.d.ts +812 -155
  40. package/types/containers/Col.vue.d.ts +94 -40
  41. package/types/containers/Container.vue.d.ts +124 -65
  42. package/types/containers/GroupList.vue.d.ts +88 -53
  43. package/types/containers/GroupListItem.vue.d.ts +99 -67
  44. package/types/containers/Panel.vue.d.ts +92 -39
  45. package/types/containers/Row.vue.d.ts +94 -39
  46. package/types/containers/Step.vue.d.ts +104 -42
  47. package/types/containers/Table.vue.d.ts +157 -130
  48. package/types/containers/Tabs.vue.d.ts +95 -50
  49. package/types/fields/Cascader.vue.d.ts +97 -71
  50. package/types/fields/Checkbox.vue.d.ts +97 -56
  51. package/types/fields/CheckboxGroup.vue.d.ts +97 -53
  52. package/types/fields/Date.vue.d.ts +97 -54
  53. package/types/fields/DateTime.vue.d.ts +97 -54
  54. package/types/fields/DynamicField.vue.d.ts +97 -64
  55. package/types/fields/Link.vue.d.ts +62 -657
  56. package/types/fields/Number.vue.d.ts +101 -56
  57. package/types/fields/RadioGroup.vue.d.ts +98 -52
  58. package/types/fields/Select.vue.d.ts +99 -65
  59. package/types/fields/Switch.vue.d.ts +97 -56
  60. package/types/fields/Text.vue.d.ts +100 -57
  61. package/types/fields/Textarea.vue.d.ts +102 -60
  62. package/types/fields/Time.vue.d.ts +97 -55
  63. package/types/index.d.ts +0 -1
  64. package/types/schema.d.ts +37 -9
  65. package/src/utils/fieldProps.ts +0 -39
  66. package/types/utils/fieldProps.d.ts +0 -21
@@ -1,82 +1,70 @@
1
1
  <template>
2
2
  <div>
3
- <el-steps :active="active" align-center :space="config.space">
4
- <el-step
3
+ <TMagicSteps :active="active" align-center :space="config.space">
4
+ <TMagicStep
5
5
  v-for="(item, index) in config.items"
6
6
  :key="item.__key"
7
7
  :title="item.title"
8
8
  :active="active"
9
9
  @click="stepClick(index)"
10
- ></el-step>
11
- </el-steps>
10
+ ></TMagicStep>
11
+ </TMagicSteps>
12
12
 
13
13
  <template v-for="(step, index) in config.items">
14
14
  <template v-for="item in step.items">
15
- <m-form-container
15
+ <Container
16
16
  v-if="item"
17
17
  v-show="active - 1 === index"
18
18
  :key="item[mForm?.keyProp || '__key']"
19
19
  :config="item"
20
20
  :model="step.name ? model[step.name] : model"
21
- :prop="step.name"
21
+ :prop="`${step.name}`"
22
22
  :size="size"
23
23
  :label-width="config.labelWidth || labelWidth"
24
24
  @change="changeHandler"
25
- ></m-form-container>
25
+ ></Container>
26
26
  </template>
27
27
  </template>
28
28
  </div>
29
29
  </template>
30
30
 
31
- <script lang="ts">
32
- import { defineComponent, inject, PropType, ref, watchEffect } from 'vue';
31
+ <script setup lang="ts">
32
+ import { inject, ref, watchEffect } from 'vue';
33
33
 
34
- import { FormState, StepConfig } from '../schema';
35
-
36
- export default defineComponent({
37
- name: 'm-form-step',
38
-
39
- props: {
40
- model: {
41
- type: Object,
42
- default: () => ({}),
43
- },
34
+ import { TMagicStep, TMagicSteps } from '@tmagic/design';
44
35
 
45
- config: {
46
- type: Object as PropType<StepConfig>,
47
- default: () => ({}),
48
- },
49
-
50
- stepActive: {
51
- type: Number,
52
- default: () => 1,
53
- },
36
+ import { FormState, StepConfig } from '../schema';
54
37
 
55
- size: String,
38
+ import Container from './Container.vue';
56
39
 
57
- labelWidth: String,
40
+ const props = withDefaults(
41
+ defineProps<{
42
+ model: any;
43
+ config: StepConfig;
44
+ stepActive?: number;
45
+ labelWidth?: string;
46
+ size?: string;
47
+ }>(),
48
+ {
49
+ stepActive: 1,
58
50
  },
51
+ );
59
52
 
60
- emits: ['change'],
53
+ const emit = defineEmits(['change']);
61
54
 
62
- setup(props, { emit }) {
63
- const mForm = inject<FormState | undefined>('mForm');
64
- const active = ref(1);
55
+ const mForm = inject<FormState | undefined>('mForm');
56
+ const active = ref(1);
65
57
 
66
- watchEffect(() => {
67
- active.value = props.stepActive;
68
- });
69
-
70
- const stepClick = (index: number) => {
71
- active.value = index + 1;
72
- mForm?.$emit('update:stepActive', active.value);
73
- };
58
+ watchEffect(() => {
59
+ active.value = props.stepActive;
60
+ });
74
61
 
75
- const changeHandler = () => {
76
- emit('change', props.model);
77
- };
62
+ const stepClick = (index: number) => {
63
+ active.value = index + 1;
64
+ mForm?.$emit('update:stepActive', active.value);
65
+ };
78
66
 
79
- return { mForm, active, stepClick, changeHandler };
80
- },
81
- });
67
+ const changeHandler = () => {
68
+ emit('change', props.model);
69
+ };
82
70
  </script>