> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

## Resource: selectFontFamily()

## Article: selectFontFamily()

## Article Link: https://dev.wix.com/docs/sdk/host-modules/editor/react-elements/pickers/select-font-family.md

## Article Content:

<!-- Source: packages/public-editor-platform-sdk/src/element/index.ts in wix-private/editor-platform -->
# selectFontFamily()

Opens the editor's font picker for the selected component, letting a Wix user choose a font family without selecting a weight.

Call [`selectFont()`](https://dev.wix.com/docs/sdk/host-modules/editor/react-elements/pickers/select-font.md) when you also need the Wix user to choose a weight in the same picker.

## Syntax

```ts
function selectFontFamily(params: SelectFontFamilyParams): Promise<IFontFamily | undefined>
```

## Parameters

| Name | Type | Description |
| :---- | :---- | :---- |
| `selectedFontFamily` | object | Font family to show when the picker opens, as `{ family, weight }`. |
| `target` | HTMLElement | Element in your panel that the picker popup opens relative to. |
| `panelOptions` | object | Positioning options for the picker popup, such as `placement` and `YShift`. |
| `onChange` | function | Called with the selected font family when the Wix user confirms a selection. |
| `onPreview` | function | Called with the font family while the Wix user is previewing options, before confirming. |

## Returns

`Promise<IFontFamily | undefined>`

The selected font family, or `undefined` if the Wix user closes the picker without selecting anything. Use the `onChange` and `onPreview` callbacks to receive selections as the Wix user interacts with the picker, and apply them yourself with [`setStyles()`](https://dev.wix.com/docs/sdk/host-modules/editor/react-elements/styles/set-styles.md).

## Example

```js
import { reactElements } from '@wix/editor';

reactElements.selectFontFamily({
  selectedFontFamily: { family: 'Helvetica', weight: '400' },
  target: buttonRef.current,
  onChange: (font) => {
    reactElements.setStyles({ cssProperties: { fontFamily: font.family } });
  },
});
```

## See also

- [selectFont()](https://dev.wix.com/docs/sdk/host-modules/editor/react-elements/pickers/select-font.md)
- [selectFontWeight()](https://dev.wix.com/docs/sdk/host-modules/editor/react-elements/pickers/select-font-weight.md)
- [setStyles()](https://dev.wix.com/docs/sdk/host-modules/editor/react-elements/styles/set-styles.md)
- [About the React Elements API](https://dev.wix.com/docs/sdk/host-modules/editor/react-elements/introduction.md)