sandstone/ Theme Decorator
Exports the sandstone/ThemeDecorator.ThemeDecorator HOC
import ThemeDecorator from '@enact/sandstone/ThemeDecorator';Members
ThemeDecoratorHigher-Order Component
A higher-order component that applies Sandstone theming to an application.
It also applies floating layer, resolution independence, skin support, spotlight, and internationalization support. It is meant to be applied to the root element of an app.
Skins provide a way to change the coloration of your app. The
currently supported skins for Sandstone are "sandstone" (the default, dark skin) and
"sandstone-light". Use the skin property to assign a skin. Ex: <DecoratedApp skin="light" />
Note: This HoC passes className to the wrapped component. It must be passed to the main DOM
node.
import ThemeDecorator from '@enact/sandstone/ThemeDecorator';Configuration
Applies AccessibilityDecorator.
If not applied, app will not support accessibility options.
Default: trueDisables use of full screen.
Default: falseEnables a floating layer for popup components.
If not applied, app will be responsible for applying the decorator.
Default: trueOptions for I18nDecorator.
May be
falseto prevent applying the decorator. If not applied, app will be responsible for applying the decorator.See: i18n/I18nDecoratorDefault: {sync: true}Disables setting spotlight focus on first render.
Default: falseEnables overlay mode (no background color will be applied).
Default: falseOverride the resolution independence settings.
See: ui/resolutionSpecifies the id of the React DOM tree root node
Default: 'root'Applies skinning support.
See: sandstone/SkinnableDefault: trueApplies spotlight decorator.
If not applied, app will be responsible for applying the decorator.
Default: true
AccessibilityDecoratorHigher-Order Component
A higher-order component that classifies an application with a target set of font sizing rules.
import {AccessibilityDecorator} from '@enact/sandstone/ThemeDecorator';Properties added to wrapped component
Enables additional features to help users visually differentiate components.
The UI library will be responsible for using this information to adjust the components' contrast to this preset.
Default: falseThe variant(s) on a skin that a component should use when rendering. These will typically alter the appearance of a skin's existing definition in a way that does not override that skin's general styling.
Multiple data types are supported by this prop, which afford different conveniences and abilities. String and Array are effectively the same, supporting just additions to the variants being applied to a component, and are much more convenient. Objects may also be used, and have the ability to disable variants being passed by their ancestors. Objects take the format of a basic hash, with variants as key names and true/false Booleans as values, depicting their state. If a variant is excluded from any version of data type used to set this prop, that variant will ignored, falling back to the defaultVariant or parent variant, in that order.
skinVariants examples:
// String skinVariants="highContrast" // Array skinVariants={['highContrast']} // Object skinVariants={{ highContrast: true, grayscale: false }}Sets the goal size of the text.
The UI library will be responsible for using this information to adjust the components' text sizes to this preset. Current presets are
'normal'(default), and'large'.Default: 'normal'