dcl-ui-toolkit
Version:
A collection of UI helpers to make it easier to build a Decentraland scene using the SDK 7.
69 lines (68 loc) • 2.61 kB
TypeScript
import ReactEcs from '@dcl/sdk/react-ecs';
import { Callback } from '@dcl/react-ecs/dist/components/listeners/types';
import { EntityPropTypes } from '@dcl/react-ecs/dist/components/types';
import { UiLabelProps } from '@dcl/react-ecs/dist/components/Label/types';
import { InPromptUIObject, InPromptUIObjectConfig } from '../../InPromptUIObject';
export type PromptButtonLabelElementProps = EntityPropTypes & Omit<UiLabelProps, 'value'>;
export type PromptButtonIconElementProps = Omit<EntityPropTypes, 'uiTransform'> & {
uiTransform?: Omit<NonNullable<EntityPropTypes['uiTransform']>, 'margin' | 'display'>;
};
export type PromptButtonImageElementProps = Omit<EntityPropTypes, 'uiTransform' | 'onMouseDown'> & {
uiTransform?: Omit<NonNullable<EntityPropTypes['uiTransform']>, 'position' | 'display'>;
};
export declare enum PromptButtonStyles {
E = "E",
F = "F",
DARK = "dark",
RED = "red",
ROUNDBLACK = "roundBlack",
ROUNDWHITE = "roundWhite",
ROUNDSILVER = "roundSilver",
ROUNDGOLD = "roundGold",
SQUAREBLACK = "squareBlack",
SQUAREWHITE = "squareWhite",
SQUARESILVER = "squareSilver",
SQUAREGOLD = "squareGold"
}
export type PromptButtonConfig = InPromptUIObjectConfig & {
text: string | number;
xPosition?: number;
yPosition?: number;
positionAbsolute?: boolean;
onMouseDown: Callback;
style?: PromptButtonStyles;
buttonSize?: number | 'auto';
};
export declare class PromptButton extends InPromptUIObject {
labelElement: PromptButtonLabelElementProps;
imageElement: PromptButtonImageElementProps;
imageElementCorner: PromptButtonImageElementProps;
imageElementEdge: PromptButtonImageElementProps;
iconElement: PromptButtonIconElementProps;
text: string | number;
xPosition: number;
yPosition: number;
positionAbsolute: boolean;
onMouseDown: Callback;
private _xPosition;
private _yPosition;
private readonly _width;
private readonly _height;
private _disabled;
private readonly _labelColor;
private readonly _labelDisabledColor;
private readonly _style;
private readonly _isEStyle;
private readonly _isFStyle;
private _buttonSystemInputAction;
constructor({ parent, startHidden, text, xPosition, yPosition, positionAbsolute, onMouseDown, style, buttonSize, }: PromptButtonConfig);
show(): void;
hide(): void;
grayOut(): void;
enable(): void;
render(key?: string): ReactEcs.JSX.Element;
private _click;
private _buttonIconPos;
private _createSystemInputAction;
private _clearSystemInputAction;
}