@enact/sandstone
Version:
Large-screen/TV support library for Enact, containing a variety of UI components.
74 lines (65 loc) • 1.97 kB
TypeScript
// Type definitions for sandstone/ActionGuide
import { SkinnableProps as sandstone_Skinnable_SkinnableProps } from "@enact/sandstone/Skinnable";
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 ActionGuideBaseProps {
/**
* The "aria-label" for the button.
*/
buttonAriaLabel?: string;
/**
* The contents for the action guide.
*/
children?: string;
/**
* 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:
* * `actionGuide` - The root component class
*/
css?: object;
/**
* Disables the button.
*/
disabled?: boolean;
/**
* The icon displayed within the action guide.
*/
icon?: string;
/**
* Called when Button is clicked.
*/
onClick?: Function;
}
/**
* An Action Guide component.
*
* This component is most often not used directly but may be composed within another component as it
is within .
*/
export class ActionGuideBase extends React.Component<
Merge<React.HTMLProps<HTMLElement>, ActionGuideBaseProps>
> {}
export interface ActionGuideDecoratorProps
extends sandstone_Skinnable_SkinnableProps {}
export function ActionGuideDecorator<P>(
Component: React.ComponentType<P> | string,
): React.ComponentType<P & ActionGuideDecoratorProps>;
export interface ActionGuideProps
extends Merge<ActionGuideBaseProps, ActionGuideDecoratorProps> {}
/**
* An Action Guide component, ready to use in Sandstone applications.
*
* `ActionGuide` may be used to display text and icon to describe an action.
*
* Usage:
* ```
<ActionGuide icon="arrowlargedown">Hello</ActionGuide>
```
*/
export class ActionGuide extends React.Component<
Merge<React.HTMLProps<HTMLElement>, ActionGuideProps>
> {}
export default ActionGuide;