FontPickerRoot
FontPickerRoot es un selector de fuente headless con búsqueda construido sobre los primitivos Combobox de Reka UI.
Props
| Prop | Default | Type |
|---|---|---|
listFamilies*Fuente asíncrona de las familias tipográficas disponibles. | — | () => Promise<string[]> |
triggerClassClase opcional para el trigger por defecto. | — | string | undefined |
contentClassClase opcional para el contenido desplegable. | — | string | undefined |
itemClassClase opcional para los elementos por defecto. | — | string | undefined |
searchClassClase opcional para el input de búsqueda. | — | string | undefined |
viewportClassClase opcional para el viewport de scroll. | — | string | undefined |
emptyClassClase opcional para los estados vacíos. | — | string | undefined |
emptySearchTextTexto mostrado cuando la búsqueda no devuelve fuentes. | — | string | undefined |
emptyFontsTextTexto mostrado cuando no hay fuentes disponibles. | — | string | undefined |
emptyFontsHintTexto de ayuda opcional para el estado de fuentes vacío. | — | string | undefined |
Model
| Prop | Default | Type |
|---|---|---|
v-model*Familia tipográfica seleccionada. | — | string |
Eventos
| Event | Payload | Description |
|---|---|---|
select | family: string | Emitido tras seleccionar una familia tipográfica. |
Slots
| Slot | Props | Description |
|---|---|---|
trigger | { value: string, open: boolean } | Contenido del trigger personalizado. |
search | { searchTerm: string, setInputRef: (el: HTMLInputElement | null) => void } | Slot del input de búsqueda personalizado. |
item | { family: string, selected: boolean } | Renderer de elemento personalizado. |
indicator | { selected: boolean } | Indicador de seleccionado personalizado. |
empty | — | Se muestra cuando no hay fuentes disponibles. |
Ejemplo
vue
<FontPickerRoot v-model="fontFamily" :list-families="listFamilies">
<template #trigger="{ value }">
<button class="w-full truncate">{{ value }}</button>
</template>
</FontPickerRoot>