ComposerSuggestions

Headless inline @/# autocomplete behavior paired with composable, theme-aware suggestion parts.

Preview#

Use @ to mention people or # to find channels.

A
AtlasDesign@atlas
A
Avery@avery
陈默产品设计@chenmo
J
Jordan LeePlatform@jordan
林澈客户成功@linche
M
Mia ChenMobile@mia
周然工程效能@zhouran
S
Sora KimResearch@sora
王一数据分析@wangyi
M
Morgan BellPartnerships@morgan
import {
  Composer,
  ComposerActions,
  ComposerInput,
  ComposerMeta,
  ComposerRoot,
  ComposerSubmit,
  ComposerSuggestionAside,
  ComposerSuggestionContent,
  ComposerSuggestionGroup,
  ComposerSuggestionGroupLabel,
  ComposerSuggestionIcon,
  ComposerSuggestionList,
  ComposerSuggestionMeta,
  ComposerSuggestionOption,
  ComposerSuggestionTitle,
  ComposerToolbar,
  ComposerToolbarLabel,
} from "raft-ui";

<ComposerRoot>
  <ComposerSuggestionList>
    <ComposerSuggestionGroup>
      <ComposerSuggestionGroupLabel />
      <ComposerSuggestionOption>
        <ComposerSuggestionIcon />
        <ComposerSuggestionContent>
          <ComposerSuggestionTitle />
          <ComposerSuggestionMeta />
          <ComposerSuggestionAside />
        </ComposerSuggestionContent>
      </ComposerSuggestionOption>
    </ComposerSuggestionGroup>
  </ComposerSuggestionList>
  <Composer>
    <ComposerInput />
    <ComposerToolbar>
      <ComposerActions />
      <ComposerMeta>
        <ComposerToolbarLabel />
        <ComposerSubmit />
      </ComposerMeta>
    </ComposerToolbar>
  </Composer>
</ComposerRoot>

People#

A
AtlasDesign@atlas
A
Avery@avery
陈默产品设计@chenmo
J
Jordan LeePlatform@jordan
林澈客户成功@linche
M
Mia ChenMobile@mia
周然工程效能@zhouran
S
Sora KimResearch@sora
王一数据分析@wangyi
M
Morgan BellPartnerships@morgan

Channels#

proj-uiuxProduct design#proj-uiux
eng-platformEngineering updates#eng-platform
产品设计产品设计讨论#产品设计
design-systemDesign system#design-system
工程公告研发公告#工程公告
客户反馈Customer feedback#客户反馈
研发周报Weekly planning#研发周报
growth-labExperiment tracking#growth-lab
开发者社区开发者交流#开发者社区
launch-2025Past launcharchived

Filtered people#

A
Avery@avery

API#WIP

PropTypeDefaultDescription
valuestringControlled composer draft.
onValueChange(value: string) => voidCalled when typing or insertion changes the draft.
detectTrigger(textBeforeCaret: string) => ComposerSuggestionTriggerMatch | nullCaller-owned trigger parser. The match identifies the marker, query, and marker start index before the caret.
getItems(match: ComposerSuggestionTriggerMatch) => readonly TItem[]Returns items for the active trigger. An empty list closes the popup.
getItemText(item: TItem) => stringReturns the insertion text for a selected item.
isItemDisabled(item: TItem) => booleanOptional disabled predicate. Disabled items remain visible but are skipped by keyboard navigation and cannot be selected.
getInputProps(props?) => textarea propsMerges textarea value, keyboard handling, refs, and combobox semantics.
getListProps(props) => listbox propsMerges listbox role, id, and ref.
getOptionProps(item, index, props?) => option propsMerges option identity, highlight state, selection, and pointer behavior.
openbooleanWhether an active trigger has suggestion items.
itemsreadonly TItem[]Items for the active trigger.
highlightedIndexnumberKeyboard-highlighted item index, or -1.
activeItemTItem | undefinedCurrently highlighted item, when one exists.
select(item: TItem) => voidInserts a selectable item's text in place of the trigger.
insert(text: string) => voidInserts text at the current caret.
clear() => voidClears the draft and closes suggestions.
PropTypeDefaultDescription
...propsuseRender.ComponentProps<"div">Popup container. Spread getListProps onto it.
PropTypeDefaultDescription
separatedbooleanfalseAdds top spacing when stacking multiple groups.
...propsuseRender.ComponentProps<"div">Optional visual group of suggestion options.
PropTypeDefaultDescription
...propsuseRender.ComponentProps<"div">Optional label for a suggestion group.
PropTypeDefaultDescription
...propsuseRender.ComponentProps<"div">Visual option root. Spread getOptionProps onto it so highlighted and disabled states remain keyboard-complete.
PropTypeDefaultDescription
...propsuseRender.ComponentProps<"div">Flexible content row for title, metadata, and trailing content.
PropTypeDefaultDescription
variant"avatar" | "framed" | "auxiliary""avatar"Leading icon treatment for avatar, framed glyph, or auxiliary affordance.
...propsuseRender.ComponentProps<"span">Leading icon or avatar slot.
PropTypeDefaultDescription
...propsuseRender.ComponentProps<"span">Primary option label.
PropTypeDefaultDescription
variant"text" | "code""text"Secondary option text style.
...propsuseRender.ComponentProps<"span">Secondary option text.
PropTypeDefaultDescription
...propsuseRender.ComponentProps<"span">Trailing option content slot.