// Type definitions for ui/Spinner import { ForwardRefProps as ui_ForwardRef_ForwardRefProps } from "@enact/ui/ForwardRef"; import * as React from "react"; type Omit = Pick>; type Merge = Omit> & N; export interface SpinnerBaseProps { /** * A theme-supplied component that performs the animation. * * Theme authors can use the `css.running` class to attach the animation CSS. This element should accept a `children` prop which takes the form of an optional message for the user. * * Unlike most other components, this does _not_ represent the root rendered element, and instead refers to the "spinner" part of this component. The presence of `blockClickOn` changes the rendering tree and where this is used. */ component: string | React.ComponentType; /** * Determines how far the click-blocking should extend. * * `null` does not block clicking * * 'screen' blocks entire screen * * 'container' blocks up to the nearest ancestor with absolute or relative positioning * * When `blockClickOn` is either `'screen'` or `'container'` , a translucent scrim can be added by setting prop to `true` . */ blockClickOn?: string | any; /** * Centers the spinner horizontally and vertically relative to its containing component. */ centered?: boolean; /** * Called with a reference to the root component. * * When using , the `ref` prop is forwarded to this component as `componentRef` . */ componentRef?: object | Function; /** * 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: * * `spinner` - The root `component` class * * `spinnerContainer` - Added as a parent in the case of `blockOnClick="container" * * `blockClickOn` - Applied if interaction should be blocked * * `centered` - Applied if the `centered` prop is present * * `running` - Always applied to `component` . Attach animation name property to this class. * * `scrim` - The blocking layer behind the Spinner */ css?: object; /** * Halts the animation of the spinner */ paused?: boolean; /** * Sets a scrim behind the spinner with the `css.scrim` class applied. * * Only has an effect when `blockClickOn` is `'screen'` or `'container'` and has no effect by default or when blockClickOn is `null` . */ scrim?: boolean; } /** * A minimally styled component that controls `Spinner` positioning and interaction states, without applied. */ export class SpinnerBase extends React.Component< Merge, SpinnerBaseProps> > {} export interface SpinnerDecoratorProps extends ui_ForwardRef_ForwardRefProps {} export function SpinnerDecorator

( Component: React.ComponentType

| string, ): React.ComponentType

; export interface SpinnerProps extends Omit< Merge, "componentRef" > {} /** * A minimally styled component that controls `Spinner` positioning and interaction states. */ export class Spinner extends React.Component< Merge, SpinnerProps> > {} export default Spinner;