/* Copyright 2024 New Vector Ltd. Copyright 2016 Aviral Dasgupta SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial Please see LICENSE files in the repository root for full details. */ import React, { forwardRef } from "react"; import classNames from "classnames"; /* These were earlier stateless functional components but had to be converted since we need to use refs/findDOMNode to access the underlying DOM node to focus the correct completion, something that is not entirely possible with stateless functional components. One could presumably wrap them in a
before rendering but I think this is the better way to do it. */ interface ITextualCompletionProps { title?: string; subtitle?: string; description?: string; className?: string; } export const TextualCompletion = forwardRef((props, ref) => { const { title, subtitle, description, className, "aria-selected": ariaSelectedAttribute, ...restProps } = props; return (
{title} {subtitle} {description}
); }); interface IPillCompletionProps extends ITextualCompletionProps { children?: React.ReactNode; } export const PillCompletion = forwardRef((props, ref) => { const { title, subtitle, description, className, children, "aria-selected": ariaSelectedAttribute, ...restProps } = props; return (
{children} {title} {subtitle} {description}
); });