Skip to content

Commit 9475548

Browse files
committed
refactor: use type for emits
1 parent 4dac871 commit 9475548

File tree

10 files changed

+22
-18
lines changed

10 files changed

+22
-18
lines changed

src/fields/core/FieldColor.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ import {
3232
useValidation
3333
} from '@/composables'
3434
import { vMaska } from 'maska/vue'
35-
import type { ColorField, FieldPropRefs, FieldProps } from '@/resources/types/field/fields'
35+
import type { ColorField, FieldEmits, FieldPropRefs, FieldProps } from '@/resources/types/field/fields'
3636
import type { MaskOptions } from 'maska'
3737
38-
const emits = defineEmits(useFieldEmits())
38+
const emits = defineEmits<FieldEmits>()
3939
const props = defineProps<FieldProps<ColorField>>()
4040
4141
const maskOptions: Readonly<MaskOptions> = {

src/fields/core/FieldMask.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@
1313

1414
<script setup lang="ts">
1515
import { toRefs, computed, ComputedRef, ref, onBeforeMount } from 'vue'
16-
import type { FieldPropRefs, FieldProps, MaskField } from '@/resources/types/field/fields'
16+
import type { FieldEmits, FieldPropRefs, FieldProps, MaskField } from '@/resources/types/field/fields'
1717
import type { MaskInputOptions } from 'maska'
1818
import { Mask } from 'maska'
1919
import { vMaska } from 'maska/vue'
2020
import { useFormModel, useFieldAttributes, useValidation } from '@/composables'
2121
22-
const emits = defineEmits(useFieldEmits())
22+
const emits = defineEmits<FieldEmits>()
2323
const props = defineProps<FieldProps<MaskField>>()
2424
const { field, model }: FieldPropRefs<MaskField> = toRefs(props)
2525

src/fields/core/FieldNumber.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@
1818

1919
<script setup lang="ts">
2020
import { toRefs } from 'vue'
21-
import type { NumberField, FieldProps, FieldPropRefs } from '@/resources/types/field/fields'
21+
import type { NumberField, FieldProps, FieldEmits, FieldPropRefs } from '@/resources/types/field/fields'
2222
import {
2323
useFormModel,
2424
useFieldAttributes,
2525
useValidation
2626
} from '@/composables'
2727
2828
const props = defineProps<FieldProps<NumberField>>()
29-
const emits = defineEmits(useFieldEmits())
29+
const emits = defineEmits<FieldEmits>()
3030
3131
const { field, model }: FieldPropRefs<NumberField> = toRefs(props)
3232

src/fields/core/FieldPassword.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ import {
2222
useValidation,
2323
useFieldAttributes
2424
} from '@/composables'
25-
import type { PasswordField, FieldProps, FieldPropRefs } from '@/resources/types/field/fields'
25+
import type { PasswordField, FieldProps, FieldPropRefs, FieldEmits } from '@/resources/types/field/fields'
2626
2727
const mediumRegex = new RegExp('^(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})')
2828
const strongRegex = new RegExp('^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.{8,})')
2929
3030
const props = defineProps<FieldProps<PasswordField>>()
31-
const emits = defineEmits(useFieldEmits())
31+
const emits = defineEmits<FieldEmits>()
3232
3333
const { model, field }: FieldPropRefs<PasswordField> = toRefs(props)
3434
const { isRequired, isDisabled, isVisible, hint } = useFieldAttributes(model.value, field.value)

src/fields/core/FieldRadio.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import {
2525
import type { RadioField, FieldProps, FieldEmits, FieldPropRefs } from '@/resources/types/field/fields'
2626
2727
const props = defineProps<FieldProps<RadioField>>()
28-
const emits = defineEmits(useFieldEmits())
28+
const emits = defineEmits<FieldEmits>()
2929
3030
const { field, model }: FieldPropRefs<RadioField> = toRefs(props)
3131
const { isRequired, isVisible, isDisabled, isReadonly, hint } = useFieldAttributes(model.value, field.value)

src/fields/core/FieldSelect.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
import { useMagicKeys } from '@vueuse/core'
6969
import { onClickOutside as vOnClickOutside } from '@/directives/onClickOutside'
7070
import { ref, toRefs, computed, type ComputedRef, type Ref } from 'vue'
71-
import type { FieldProps, FieldPropRefs, SelectField } from '@/resources/types/field/fields'
71+
import type { FieldProps, FieldPropRefs, SelectField, FieldEmits } from '@/resources/types/field/fields'
7272
import {
7373
useFieldAttributes,
7474
useValidation,
@@ -77,7 +77,7 @@ import {
7777
import { FieldOption } from '@/resources/types/fieldAttributes'
7878
7979
const props = defineProps<FieldProps<SelectField>>()
80-
const emits = defineEmits(useFieldEmits())
80+
const emits = defineEmits<FieldEmits>()
8181
const { controlLeft, metaLeft } = useMagicKeys()
8282
8383
const isOpened: Ref<boolean> = ref(false)

src/fields/core/FieldSelectNative.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@
1818

1919
<script setup lang="ts">
2020
import { toRefs } from 'vue'
21-
import type { FieldPropRefs, FieldProps, SelectNativeField } from '@/resources/types/field/fields'
21+
import type { FieldPropRefs, FieldEmits, FieldProps, SelectNativeField } from '@/resources/types/field/fields'
2222
import {
2323
useFieldAttributes,
2424
useFormModel,
2525
useValidation
2626
} from '@/composables'
2727
2828
const props = defineProps<FieldProps<SelectNativeField>>()
29-
const emits = defineEmits(useFieldEmits())
29+
const emits = defineEmits<FieldEmits>()
3030
3131
const { field, model }: FieldPropRefs<SelectNativeField> = toRefs(props)
3232

src/fields/core/FieldSwitch.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
<script setup lang="ts">
1515
import { toRefs } from 'vue'
16-
import type { SwitchField, FieldPropRefs, FieldProps } from '@/resources/types/field/fields.js'
16+
import type { SwitchField, FieldEmits, FieldPropRefs, FieldProps } from '@/resources/types/field/fields.js'
1717
import {
1818
useFieldAttributes,
1919
useValidation,
@@ -22,7 +22,7 @@ import {
2222
2323
2424
const props = defineProps<FieldProps<SwitchField>>()
25-
const emits = defineEmits(useFieldEmits())
25+
const emits = defineEmits<FieldEmits>()
2626
2727
const { field, model }: FieldPropRefs<SwitchField> = toRefs(props)
2828

src/fields/core/FieldText.vue

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,10 @@
1717

1818
<script setup lang="ts">
1919
import { toRefs, computed, type ComputedRef } from 'vue'
20-
import type { FieldPropRefs, FieldProps, TextField } from '@/resources/types/field/fields'
21-
import { useFormModel, useFieldAttributes, useFieldValidate, useFieldEmits } from '@/composables'
20+
import type { FieldPropRefs, FieldProps, FieldEmits, TextField } from '@/resources/types/field/fields'
2221
import { useFormModel, useFieldAttributes, useValidation } from '@/composables'
2322
24-
const emits = defineEmits(useFieldEmits())
23+
const emits = defineEmits<FieldEmits>()
2524
const props = defineProps<FieldProps<TextField>>()
2625
2726
const { field, model }: FieldPropRefs<TextField> = toRefs(props)

src/resources/types/field/fields.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,11 @@ export interface FieldPropRefs<T extends Field=Field> {
107107
model: Ref<FormModel>
108108
}
109109

110+
export type FieldEmits = {
111+
validated: [isValid: boolean, errors: string[], field: Field];
112+
onInput: [value: FieldValue];
113+
}
114+
110115
export interface FieldProps<T extends Field=Field> {
111116
id: string;
112117
formGenerator?: object;

0 commit comments

Comments
 (0)