@enact/sandstone
Version:
Large-screen/TV support library for Enact, containing a variety of UI components.
75 lines (66 loc) • 2.21 kB
TypeScript
// Type definitions for sandstone/BodyText
import { SkinnableProps as sandstone_Skinnable_SkinnableProps } from "@enact/sandstone/Skinnable";
import { BodyTextProps as ui_BodyText_BodyTextProps } from "@enact/ui/BodyText";
import * as React from "react";
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;
export interface BodyTextBaseProps extends ui_BodyText_BodyTextProps {
/**
* Centers the contents.
*
* Applies the `centered` CSS class which can be customized by
.
*/
centered?: boolean;
/**
* Customizes the component by mapping the supplied collection of CSS class names to the
corresponding internal elements and states of this component.
*
* The following classes are supported:
* * `bodyText` - The root class name
*/
css?: object;
/**
* Toggles multi-line ( `false` ) vs single-line ( `true` ) behavior. `noWrap` mode
automatically enables so long text isn't permanently occluded.
*/
noWrap?: boolean;
/**
* Sets the text size to one of the preset sizes.
Available sizes: 'large' (default) and 'small'.
*/
size?: "small" | "large";
}
/**
* A simple text block component.
*
* This component is most often not used directly but may be composed within another component as it
is within .
*/
export class BodyTextBase extends React.Component<
Merge<React.HTMLProps<HTMLElement>, BodyTextBaseProps>
> {}
export interface BodyTextDecoratorProps
extends sandstone_Skinnable_SkinnableProps {}
export function BodyTextDecorator<P>(
Component: React.ComponentType<P> | string,
): React.ComponentType<P & BodyTextDecoratorProps>;
export interface BodyTextProps
extends Merge<BodyTextBaseProps, BodyTextDecoratorProps> {}
/**
* A simple text block component, ready to use in Sandstone applications.
*
* `BodyText` may be used to display a block of text and is sized and spaced appropriately for a
Sandstone application.
*
* Usage:
* ```
<BodyText>
I have a Ham radio. There are many like it, but this one is mine.
</BodyText>
```
*/
export class BodyText extends React.Component<
Merge<React.HTMLProps<HTMLElement>, BodyTextProps>
> {}
export default BodyText;