Skip to content
Enact

ui/ViewManager

A component that manages the transitions of views.

A ViewManager controls the visibility of a configurable number of views, allowing for them to be transitioned on and off the viewport.

Extends: ui/ViewManagerui/ViewManager.ViewManagerBase
Wrapped with: ui/ViewManagerui/ViewManager.ViewManagerDecorator

SlideArranger( config )  Arranger

A basic arranger factory that must be configured with direction and optionally an amount.

1 Param
configObject

Configuration object.

Object keys for config
amountObject

Amount, as a whole number, to "slide" where 100 is the entire size of the node along the axis of the direction.

direction'bottom' | 'left' | 'right' | 'top'

Direction from which the view will transition.

Returns
Arranger

An arranger

An arranger that enters from the top and leaves to the bottom.

An arranger that enters from the right and leaves to the left.

An arranger that enters from the left and leaves to the right.

An arranger that enters from the bottom and leaves to the top.

The base ViewManager component, without ui/ViewManagerui/ViewManager.ViewManagerDecorator applied.

Properties

Arranger to control the animation


An object containing properties to be passed to each child.


Views to be managed.

May be any renderable component including custom React components or primitive DOM nodes.


StringComponent

Type of component wrapping the children. May be a DOM node or a custom React component.

Default: 'div'

ObjectFunction

Called with a reference to the root component.

When using ui/ViewManagerui/ViewManager.ViewManager, the ref prop is forwarded to this component as componentRef.


Time in milliseconds to complete a transition

Default: 300

Index of last visible view.

Defaults to the current value of index.

Default: value of index

Time, in milliseconds, to wait after a view has entered to inform it by pass the enteringProp as false.

Default: 0

Name of the property to pass to the wrapped view to indicate when it is entering the viewport.

When true, the view has been created but has not transitioned into place. When false, the view has finished its transition.

The notification can be delayed by setting enteringDelay. If not set, the view will not be notified of the change in transition.


Index of active view

Default: 0

Indicates if the transition should be animated

Default: false

Called when each view is rendered during initial construction.


Called when each view completes its transition into the viewport.


Called when each view completes its transition out of the viewport.


Called when each view completes its transition within the viewport.


Called once when all views have completed their transition.


Called once before views begin their transition.


Explicitly sets the transition direction.

If omitted, the direction is determined automatically based on the change of index or a string comparison of the first child's key.


Indicates the current locale uses right-to-left reading order.

rtl is passed to the arranger in order to alter the animation (e.g. reversing the horizontal direction).


Index of first visible view. Defaults to the current value of index.

Default: value of index

ViewManagerDecorator   Higher-Order Component

Section titled “ViewManagerDecorator   Higher-Order Component ”

Applies ViewManager behaviors.

Includes: ui/ForwardRefui/ForwardRef.ForwardRef

An object with callback functions to arrange views within ui/ViewManagerui/ViewManager.ViewManager.

Required Propertyenter
ArrangerCallback

Returns an array of keyframes describing the animation when a view is entering the viewport.


Required Propertyleave
ArrangerCallback

Returns an array of keyframes describing the animation when a view is leaving the viewport.


Optionalstay
ArrangerCallback

Returns an array of keyframes describing the animation when a view is remaining in the viewport.

Animation

A function that generates an animation for a given transition configuration

1 Param
configObject

Animation configuration object.

Object keys for config
durationNumber

Duration of the animation in ms.

fill'forwards' | 'backwards' | 'both' | 'none'

Animation effect should be reflected by previous state or retained after animation.

fromNumber

Index from which the ViewManager is transitioning.

nodeNode

DOM node to be animated.

reverseBoolean

true when the animation should be reversed.

rtlBoolean

true when the ViewManager was configured with rtl for locales that use right-to-left reading order.

toNumber

Index to which the ViewManager is transitioning.

Returns
Animation

An Animation-compatible object