From a9a174648668e513ab2219d5e1c2e6bdddd955a6 Mon Sep 17 00:00:00 2001 From: Romain Hamel Date: Mon, 6 May 2024 10:45:36 +0200 Subject: [PATCH] chore: use `InjectionKey` to type and define injected properties (#90) --- src/runtime/components/AvatarGroup.vue | 5 ++- src/runtime/components/Chip.vue | 4 +- src/runtime/components/Form.vue | 28 +++++++------- src/runtime/components/FormField.vue | 20 +++++----- src/runtime/composables/useAvatarGroup.ts | 9 +++-- src/runtime/composables/useFormField.ts | 46 +++++++++++++---------- src/runtime/types/form.ts | 16 ++++---- 7 files changed, 70 insertions(+), 58 deletions(-) diff --git a/src/runtime/components/AvatarGroup.vue b/src/runtime/components/AvatarGroup.vue index 4cdc5f54..8389284e 100644 --- a/src/runtime/components/AvatarGroup.vue +++ b/src/runtime/components/AvatarGroup.vue @@ -27,6 +27,7 @@ export interface AvatarGroupSlots { import { computed, provide } from 'vue' import { Primitive } from 'radix-vue' import { UAvatar } from '#components' +import { avatarGroupInjectionKey } from '#imports' const props = defineProps() const slots = defineSlots() @@ -59,7 +60,9 @@ const hiddenCount = computed(() => { return children?.length - visibleAvatars.value.length }) -provide('avatar-size', computed(() => props.size)) +provide(avatarGroupInjectionKey, computed(() => ({ + size: props.size +})))