'use client'; /** * Slash commands — the `/verb` surface for the chat composer. * * Public exports: * - Types (`SlashCommand`, `SlashState`, `SlashConfig`, `SlashCommandAction`) * - Pure helpers (`parseSlashState`, `filterCommands`, `applyCommand`, * `resolveCommandAction`, `extractSlashToken`) * - React hook (`useSlashCommands`) * - UI primitives (`SlashMenu`, `SlashToken`, `SlashHighlightTextarea`) * - Labels (`DEFAULT_SLASH_LABELS`, `SlashMenuLabels`) * * Integration: when the host passes `composerSlots.slashCommands` to * ``, the composer mounts an internal `` as a * floating popover anchored over the input surface, and (when no * custom `slots.Textarea` is provided) swaps the plain textarea for * `` so the `/verb` chip is visible in-flow. */ export type { SlashCommand, SlashState, SlashConfig } from './types'; export { parseSlashState, filterCommands, applyCommand, resolveCommandAction, extractSlashToken, isSubmittableSlash, type SlashCommandAction, } from './state'; export { useSlashCommands, type UseSlashCommandsOptions, type UseSlashCommandsReturn, } from './useSlashCommands'; export { SlashMenu, type SlashMenuProps } from './SlashMenu'; export { SlashToken, type SlashTokenProps } from './SlashToken'; export { SlashHighlightTextarea, type SlashHighlightTextareaProps, } from './SlashHighlightTextarea'; export { DEFAULT_SLASH_LABELS, type SlashMenuLabels, } from './labels';