dcl-ui-toolkit
Version:
A collection of UI helpers to make it easier to build a Decentraland scene using the SDK 7.
61 lines (60 loc) • 2.26 kB
TypeScript
import { Color4 } from '@dcl/sdk/math';
import ReactEcs from '@dcl/sdk/react-ecs';
import { EntityPropTypes } from '@dcl/react-ecs/dist/components/types';
import { UIObject, UIObjectConfig } from '../UIObject';
export type ProgressBarBarElement = Omit<EntityPropTypes, 'uiTransform'> & {
uiTransform?: Omit<NonNullable<EntityPropTypes['uiTransform']>, 'display' | 'position' | 'width' | 'height'>;
};
export type ProgressBarBackgroundElement = Omit<EntityPropTypes, 'uiBackground'> & {
uiBackground?: Omit<NonNullable<EntityPropTypes['uiBackground']>, 'uvs'>;
};
export type ProgressBarProcessElement = Omit<EntityPropTypes, 'uiTransform' | 'uiBackground'> & {
uiTransform?: Omit<NonNullable<EntityPropTypes['uiTransform']>, 'position' | 'width' | 'height'>;
uiBackground?: Omit<NonNullable<EntityPropTypes['uiBackground']>, 'color' | 'uvs'>;
};
export declare enum BarStyles {
ROUNDBLACK = "roundBlack",
ROUNDWHITE = "roundWhite",
ROUNDSILVER = "roundSilver",
ROUNDGOLD = "roundGold",
SQUAREBLACK = "squareBlack",
SQUAREWHITE = "squareWhite",
SQUARESILVER = "squareSilver",
SQUAREGOLD = "squareGold"
}
export type ProgressBarConfig = UIObjectConfig & {
value: number;
scale?: number;
color?: Color4;
xOffset?: number;
yOffset?: number;
style?: BarStyles;
};
export declare class ProgressBar extends UIObject {
barElement: ProgressBarBarElement;
backgroundElement: ProgressBarBackgroundElement;
processElement: ProgressBarProcessElement;
scale: number;
xOffset: number;
yOffset: number;
color: Color4;
style: BarStyles;
private _value;
private readonly _valueMax;
private readonly _valueMin;
private readonly _valueChangeStep;
private _width;
private _height;
private _progressHeight;
private _progressPaddingTop;
private _progressPaddingBottom;
private _progressPaddingLeft;
private _progressPaddingRight;
constructor({ startHidden, value, scale, color, xOffset, yOffset, style, }: ProgressBarConfig);
read(): number;
set(amount: number): void;
increase(amount?: number): void;
decrease(amount?: number): void;
render(key?: string): ReactEcs.JSX.Element;
private _setValueInRange;
}