@tmagic/form 1.1.6 → 1.2.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/tmagic-form.mjs +2318 -2632
  2. package/dist/tmagic-form.mjs.map +1 -1
  3. package/dist/tmagic-form.umd.js +2341 -2656
  4. package/dist/tmagic-form.umd.js.map +1 -1
  5. package/package.json +5 -5
  6. package/src/Form.vue +123 -158
  7. package/src/FormDialog.vue +140 -158
  8. package/src/containers/Col.vue +22 -38
  9. package/src/containers/Container.vue +138 -171
  10. package/src/containers/Fieldset.vue +12 -8
  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 +449 -479
  17. package/src/containers/Tabs.vue +92 -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 +5 -3
  22. package/src/fields/Date.vue +20 -26
  23. package/src/fields/DateTime.vue +31 -39
  24. package/src/fields/Daterange.vue +4 -3
  25. package/src/fields/Display.vue +1 -1
  26. package/src/fields/DynamicField.vue +63 -77
  27. package/src/fields/Hidden.vue +1 -1
  28. package/src/fields/Link.vue +65 -86
  29. package/src/fields/Number.vue +32 -34
  30. package/src/fields/RadioGroup.vue +23 -23
  31. package/src/fields/Select.vue +294 -321
  32. package/src/fields/SelectOptionGroups.vue +11 -6
  33. package/src/fields/SelectOptions.vue +5 -3
  34. package/src/fields/Switch.vue +46 -49
  35. package/src/fields/Text.vue +99 -107
  36. package/src/fields/Textarea.vue +32 -44
  37. package/src/fields/Time.vue +19 -30
  38. package/src/index.ts +22 -23
  39. package/src/schema.ts +46 -12
  40. package/src/utils/form.ts +4 -0
  41. package/types/Form.vue.d.ts +211 -111
  42. package/types/FormDialog.vue.d.ts +809 -154
  43. package/types/containers/Col.vue.d.ts +92 -40
  44. package/types/containers/Container.vue.d.ts +122 -65
  45. package/types/containers/Fieldset.vue.d.ts +1 -3
  46. package/types/containers/GroupList.vue.d.ts +86 -53
  47. package/types/containers/GroupListItem.vue.d.ts +97 -67
  48. package/types/containers/Panel.vue.d.ts +92 -39
  49. package/types/containers/Row.vue.d.ts +92 -39
  50. package/types/containers/Step.vue.d.ts +102 -42
  51. package/types/containers/Table.vue.d.ts +157 -130
  52. package/types/containers/Tabs.vue.d.ts +93 -50
  53. package/types/fields/Cascader.vue.d.ts +95 -71
  54. package/types/fields/Checkbox.vue.d.ts +95 -56
  55. package/types/fields/CheckboxGroup.vue.d.ts +95 -53
  56. package/types/fields/ColorPicker.vue.d.ts +1 -3
  57. package/types/fields/Date.vue.d.ts +95 -54
  58. package/types/fields/DateTime.vue.d.ts +95 -54
  59. package/types/fields/Daterange.vue.d.ts +1 -3
  60. package/types/fields/Display.vue.d.ts +1 -3
  61. package/types/fields/DynamicField.vue.d.ts +95 -64
  62. package/types/fields/Hidden.vue.d.ts +1 -3
  63. package/types/fields/Link.vue.d.ts +60 -657
  64. package/types/fields/Number.vue.d.ts +99 -56
  65. package/types/fields/RadioGroup.vue.d.ts +96 -52
  66. package/types/fields/Select.vue.d.ts +97 -65
  67. package/types/fields/SelectOptionGroups.vue.d.ts +1 -3
  68. package/types/fields/SelectOptions.vue.d.ts +1 -3
  69. package/types/fields/Switch.vue.d.ts +95 -56
  70. package/types/fields/Text.vue.d.ts +98 -57
  71. package/types/fields/Textarea.vue.d.ts +100 -60
  72. package/types/fields/Time.vue.d.ts +95 -55
  73. package/types/index.d.ts +0 -1
  74. package/types/schema.d.ts +38 -9
  75. package/src/utils/fieldProps.ts +0 -39
  76. package/types/utils/fieldProps.d.ts +0 -21
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-input-number
2
+ <TMagicInputNumber
3
3
  v-if="model"
4
4
  v-model="model[name]"
5
5
  clearable
@@ -12,42 +12,40 @@
12
12
  :disabled="disabled"
13
13
  @change="changeHandler"
14
14
  @input="inputHandler"
15
- ></el-input-number>
15
+ ></TMagicInputNumber>
16
16
  </template>
17
17
 
18
- <script lang="ts">
19
- import { defineComponent, inject, PropType } from 'vue';
18
+ <script lang="ts" setup name="MFormNumber">
19
+ import { inject } from 'vue';
20
+
21
+ import { TMagicInputNumber } from '@tmagic/design';
20
22
 
21
23
  import { FormState, NumberConfig } from '../schema';
22
- import fieldProps from '../utils/fieldProps';
23
24
  import { useAddField } from '../utils/useAddField';
24
- export default defineComponent({
25
- name: 'm-fields-number',
26
-
27
- props: {
28
- ...fieldProps,
29
- config: {
30
- type: Object as PropType<NumberConfig>,
31
- required: true,
32
- },
33
- },
34
-
35
- emits: ['change', 'input'],
36
-
37
- setup(props, { emit }) {
38
- useAddField(props.prop);
39
-
40
- const mForm = inject<FormState | null>('mForm');
41
- return {
42
- mForm,
43
- changeHandler: (value: number) => {
44
- emit('change', value);
45
- },
46
- inputHandler: (v: string) => {
47
- emit('input', v);
48
- mForm?.$emit('field-input', props.prop, v);
49
- },
50
- };
51
- },
52
- });
25
+
26
+ const props = defineProps<{
27
+ config: NumberConfig;
28
+ model: any;
29
+ initValues?: any;
30
+ values?: any;
31
+ name: string;
32
+ prop: string;
33
+ disabled?: boolean;
34
+ size: 'mini' | 'small' | 'medium';
35
+ }>();
36
+
37
+ const emit = defineEmits(['change', 'input']);
38
+
39
+ useAddField(props.prop);
40
+
41
+ const mForm = inject<FormState | null>('mForm');
42
+
43
+ const changeHandler = (value: number) => {
44
+ emit('change', value);
45
+ };
46
+
47
+ const inputHandler = (v: string) => {
48
+ emit('input', v);
49
+ mForm?.$emit('field-input', props.prop, v);
50
+ };
53
51
  </script>
@@ -1,33 +1,33 @@
1
1
  <template>
2
- <el-radio-group v-if="model" v-model="model[name]" :size="size" :disabled="disabled" @change="changeHandler">
3
- <el-radio v-for="option in config.options" :label="option.value" :key="option.value">{{ option.text }}</el-radio>
4
- </el-radio-group>
2
+ <TMagicRadioGroup v-if="model" v-model="model[name]" :size="size" :disabled="disabled" @change="changeHandler">
3
+ <TMagicRadio v-for="option in config.options" :label="option.value" :key="`${option.value}`">{{
4
+ option.text
5
+ }}</TMagicRadio>
6
+ </TMagicRadioGroup>
5
7
  </template>
6
8
 
7
- <script lang="ts">
8
- import { defineComponent } from 'vue';
9
+ <script lang="ts" setup name="MFormRadioGroup">
10
+ import { TMagicRadio, TMagicRadioGroup } from '@tmagic/design';
9
11
 
10
- import fieldProps from '../utils/fieldProps';
12
+ import { RadioGroupConfig } from '../schema';
11
13
  import { useAddField } from '../utils/useAddField';
12
14
 
13
- export default defineComponent({
14
- name: 'm-fields-radio-group',
15
+ const props = defineProps<{
16
+ config: RadioGroupConfig;
17
+ model: any;
18
+ initValues?: any;
19
+ values?: any;
20
+ name: string;
21
+ prop: string;
22
+ disabled?: boolean;
23
+ size: 'mini' | 'small' | 'medium';
24
+ }>();
15
25
 
16
- props: {
17
- ...fieldProps,
18
- config: {
19
- type: Object,
20
- required: true,
21
- },
22
- },
26
+ const emit = defineEmits(['change']);
23
27
 
24
- emits: ['change'],
28
+ const changeHandler = (value: number) => {
29
+ emit('change', value);
30
+ };
25
31
 
26
- setup(props, { emit }) {
27
- useAddField(props.prop);
28
- return {
29
- changeHandler: (v: string | number | boolean) => emit('change', v),
30
- };
31
- },
32
- });
32
+ useAddField(props.prop);
33
33
  </script>