UNPKG

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
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; }