Skip to content

FontPickerRoot

FontPickerRoot — headless-пикер шрифта с поиском, построенный на примитивах Reka UI Combobox.

Props

PropDefaultType
listFamilies*
Асинхронный источник доступных семейств шрифтов.
() => Promise<string[]>
triggerClass
Опциональный класс для триггера по умолчанию.
string | undefined
contentClass
Опциональный класс для содержимого выпадающего списка.
string | undefined
itemClass
Опциональный класс для элементов по умолчанию.
string | undefined
searchClass
Опциональный класс для поля поиска.
string | undefined
viewportClass
Опциональный класс для области прокрутки.
string | undefined
emptyClass
Опциональный класс для состояний «пусто».
string | undefined
emptySearchText
Текст, отображаемый при отсутствии результатов поиска.
string | undefined
emptyFontsText
Текст, отображаемый при отсутствии доступных шрифтов.
string | undefined
emptyFontsHint
Опциональный вспомогательный текст для состояния «нет шрифтов».
string | undefined

Model

PropDefaultType
v-model*
Выбранное семейство шрифтов.
string

Events

EventPayloadDescription
selectfamily: stringГенерируется после выбора семейства шрифтов.

Slots

SlotPropsDescription
trigger{ value: string, open: boolean }Кастомное содержимое триггера.
search{ searchTerm: string, setInputRef: (el: HTMLInputElement | null) => void }Слот кастомного поля поиска.
item{ family: string, selected: boolean }Кастомный рендерер элемента.
indicator{ selected: boolean }Кастомный индикатор выбранного элемента.
emptyОтображается при отсутствии доступных шрифтов.

Пример

vue
<FontPickerRoot v-model="fontFamily" :list-families="listFamilies">
  <template #trigger="{ value }">
    <button class="w-full truncate">{{ value }}</button>
  </template>
</FontPickerRoot>

Связанные API

Released under the MIT License.