UNPKG

@bitrix24/b24ui-nuxt

Version:

Bitrix24 UI-Kit for developing web applications REST API for NUXT & VUE

26 lines (25 loc) 925 B
import { computed, toValue } from "vue"; import icons from "../dictionary/icons.js"; export function useComponentIcons(componentProps) { const props = computed(() => toValue(componentProps)); const isLeading = computed(() => props.value.icon && !props.value.trailing || props.value.loading && !props.value.trailing || props.value.avatar); const isTrailing = computed(() => props.value.icon && props.value.trailing || props.value.loading && props.value.trailing || !!props.value.trailingIcon); const leadingIconName = computed(() => { if (props.value.loading) { return icons.loading; } return props.value.icon; }); const trailingIconName = computed(() => { if (props.value.loading && !isLeading.value) { return icons.loading; } return props.value.trailingIcon || props.value.icon; }); return { isLeading, isTrailing, leadingIconName, trailingIconName }; }