import * as React from 'react'; import type { IComponentStyles, IHTMLSlot, ISlotProp, IComponent, IStyleableComponentProps, ISlottableProps } from '@fluentui/foundation-legacy'; import type { IFontStyles } from '../../Styling'; /** * {@docCategory Text} */ export type ITextComponent = IComponent; /** * {@docCategory Text} */ export type ITextTokenReturnType = ReturnType>; /** * {@docCategory Text} */ export type ITextStylesReturnType = ReturnType>; /** * {@docCategory Text} */ export type ITextSlot = ISlotProp; /** * {@docCategory Text} */ export interface ITextSlots { root?: IHTMLSlot; } /** * Inputs to the component * {@docCategory Text} */ export interface ITextProps extends ISlottableProps, IStyleableComponentProps, React.HTMLAttributes { /** * Optionally render the component as another component type or primitive. */ as?: React.ElementType>; /** * Optional font type for Text. */ variant?: keyof IFontStyles; /** * Whether the text is displayed as a block element. * * Note that in order for ellipsis on overflow to work properly, * `block` and `nowrap` should be set to true. */ block?: boolean; /** * Whether the text is not wrapped. * * Note that in order for ellipsis on overflow to work properly, * `block` and `nowrap` should be set to true. */ nowrap?: boolean; } /** * {@docCategory Text} */ export interface ITextTokens { } /** * {@docCategory Text} */ export type ITextStyles = IComponentStyles;