UNPKG

dcl-ui-toolkit

Version:

A collection of UI helpers to make it easier to build a Decentraland scene using the SDK 7.

46 lines 8.57 kB
import { Color4 } from '@dcl/sdk/math'; import ReactEcs, { Label, UiEntity } from '@dcl/sdk/react-ecs'; import { DelayedHidingUIObject } from '../UIObject'; import { defaultFont } from '../../constants/font'; const announcementInitialConfig = { startHidden: true, value: '', duration: 3, xOffset: 0, yOffset: 0, color: Color4.Yellow(), size: 50, }; export class Announcement extends DelayedHidingUIObject { constructor({ startHidden = announcementInitialConfig.startHidden, value = announcementInitialConfig.value, duration = announcementInitialConfig.duration, xOffset = announcementInitialConfig.xOffset, yOffset = announcementInitialConfig.yOffset, color = announcementInitialConfig.color, size = announcementInitialConfig.size, }) { super({ startHidden, duration }); this.xOffset = xOffset; this.yOffset = yOffset; this.color = color; this.size = size; this.value = value; this.textElement = { textAlign: 'bottom-center', font: defaultFont, }; } render(key) { return (ReactEcs.createElement(UiEntity, { uiTransform: { positionType: 'absolute', width: '100%', height: '100%', display: this.visible ? 'flex' : 'none', justifyContent: 'center', alignItems: 'center', } }, ReactEcs.createElement(Label, { key: key, ...this.textElement, fontSize: this.size, color: this.color, value: String(this.value), uiTransform: { ...this.textElement.uiTransform, display: this.visible ? 'flex' : 'none', position: { left: this.xOffset, bottom: this.yOffset, }, } }))); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWktZW50aXRpZXMvQW5ub3VuY2VtZW50L2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3RDLE9BQU8sUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBSTlELE9BQU8sRUFBRSxxQkFBcUIsRUFBK0IsTUFBTSxhQUFhLENBQUE7QUFFaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBZ0JsRCxNQUFNLHlCQUF5QixHQUFpQztJQUM5RCxXQUFXLEVBQUUsSUFBSTtJQUNqQixLQUFLLEVBQUUsRUFBRTtJQUNULFFBQVEsRUFBRSxDQUFDO0lBQ1gsT0FBTyxFQUFFLENBQUM7SUFDVixPQUFPLEVBQUUsQ0FBQztJQUNWLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFO0lBQ3RCLElBQUksRUFBRSxFQUFFO0NBQ0EsQ0FBQTtBQWNWLE1BQU0sT0FBTyxZQUFhLFNBQVEscUJBQXFCO0lBU3JELFlBQVksRUFDVixXQUFXLEdBQUcseUJBQXlCLENBQUMsV0FBVyxFQUNuRCxLQUFLLEdBQUcseUJBQXlCLENBQUMsS0FBSyxFQUN2QyxRQUFRLEdBQUcseUJBQXlCLENBQUMsUUFBUSxFQUM3QyxPQUFPLEdBQUcseUJBQXlCLENBQUMsT0FBTyxFQUMzQyxPQUFPLEdBQUcseUJBQXlCLENBQUMsT0FBTyxFQUMzQyxLQUFLLEdBQUcseUJBQXlCLENBQUMsS0FBSyxFQUN2QyxJQUFJLEdBQUcseUJBQXlCLENBQUMsSUFBSSxHQUNsQjtRQUNuQixLQUFLLENBQUMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUVoQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUVoQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtRQUVsQixJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2pCLFNBQVMsRUFBRSxlQUFlO1lBQzFCLElBQUksRUFBRSxXQUFXO1NBQ2xCLENBQUE7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLEdBQVk7UUFDeEIsT0FBTyxDQUNMLHVCQUFDLFFBQVEsSUFDUCxXQUFXLEVBQUU7Z0JBQ1gsWUFBWSxFQUFFLFVBQVU7Z0JBQ3hCLEtBQUssRUFBRSxNQUFNO2dCQUNiLE1BQU0sRUFBRSxNQUFNO2dCQUNkLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU07Z0JBQ3ZDLGNBQWMsRUFBRSxRQUFRO2dCQUN4QixVQUFVLEVBQUUsUUFBUTthQUNyQjtZQUVELHVCQUFDLEtBQUssSUFDSixHQUFHLEVBQUUsR0FBRyxLQUNKLElBQUksQ0FBQyxXQUFXLEVBQ3BCLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUNuQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFDakIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQ3pCLFdBQVcsRUFBRTtvQkFDWCxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVztvQkFDL0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTTtvQkFDdkMsUUFBUSxFQUFFO3dCQUNSLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTzt3QkFDbEIsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPO3FCQUNyQjtpQkFDRixHQUNELENBQ08sQ0FDWixDQUFBO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3I0IH0gZnJvbSAnQGRjbC9zZGsvbWF0aCdcbmltcG9ydCBSZWFjdEVjcywgeyBMYWJlbCwgVWlFbnRpdHkgfSBmcm9tICdAZGNsL3Nkay9yZWFjdC1lY3MnXG5pbXBvcnQgeyBFbnRpdHlQcm9wVHlwZXMgfSBmcm9tICdAZGNsL3JlYWN0LWVjcy9kaXN0L2NvbXBvbmVudHMvdHlwZXMnXG5pbXBvcnQgeyBVaUxhYmVsUHJvcHMgfSBmcm9tICdAZGNsL3JlYWN0LWVjcy9kaXN0L2NvbXBvbmVudHMvTGFiZWwvdHlwZXMnXG5cbmltcG9ydCB7IERlbGF5ZWRIaWRpbmdVSU9iamVjdCwgRGVsYXllZEhpZGluZ1VJT2JqZWN0Q29uZmlnIH0gZnJvbSAnLi4vVUlPYmplY3QnXG5cbmltcG9ydCB7IGRlZmF1bHRGb250IH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2ZvbnQnXG5cbmV4cG9ydCB0eXBlIEFubm91bmNlbWVudFRleHRFbGVtZW50ID0gT21pdDxVaUxhYmVsUHJvcHMsICd2YWx1ZScgfCAnZm9udFNpemUnIHwgJ2NvbG9yJz4gJlxuICBPbWl0PEVudGl0eVByb3BUeXBlcywgJ3VpVHJhbnNmb3JtJz4gJiB7XG4gICAgdWlUcmFuc2Zvcm0/OiBPbWl0PE5vbk51bGxhYmxlPEVudGl0eVByb3BUeXBlc1sndWlUcmFuc2Zvcm0nXT4sICdtYXJnaW4nIHwgJ2Rpc3BsYXknPlxuICB9XG5cbmV4cG9ydCB0eXBlIEFubm91bmNlbWVudENvbmZpZyA9IERlbGF5ZWRIaWRpbmdVSU9iamVjdENvbmZpZyAmIHtcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlclxuICBkdXJhdGlvbj86IG51bWJlclxuICB4T2Zmc2V0PzogbnVtYmVyXG4gIHlPZmZzZXQ/OiBudW1iZXJcbiAgY29sb3I/OiBDb2xvcjRcbiAgc2l6ZT86IG51bWJlclxufVxuXG5jb25zdCBhbm5vdW5jZW1lbnRJbml0aWFsQ29uZmlnOiBSZXF1aXJlZDxBbm5vdW5jZW1lbnRDb25maWc+ID0ge1xuICBzdGFydEhpZGRlbjogdHJ1ZSxcbiAgdmFsdWU6ICcnLFxuICBkdXJhdGlvbjogMyxcbiAgeE9mZnNldDogMCxcbiAgeU9mZnNldDogMCxcbiAgY29sb3I6IENvbG9yNC5ZZWxsb3coKSxcbiAgc2l6ZTogNTAsXG59IGFzIGNvbnN0XG5cbi8qKlxuICogRGlzcGxheXMgYSB0ZXh0IG9uIGNlbnRlciBvZiB0aGUgVUkuXG4gKlxuICogQHBhcmFtIHtib29sZWFufSBbc3RhcnRIaWRkZW49dHJ1ZV0gc3RhcnRpbmcgaGlkZGVuXG4gKiBAcGFyYW0ge3N0cmluZyB8IG51bWJlcn0gW3ZhbHVlPScnXSBzdGFydGluZyB2YWx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IFtkdXJhdGlvbj0zXSBkdXJhdGlvbiB0aW1lIHRvIGtlZXAgdGhlIHRleHQgdmlzaWJsZSAoaW4gc2Vjb25kcykgaWYgc3RhcnRpbmcgdmlzaWJsZVxuICogQHBhcmFtIHtudW1iZXJ9IFt4T2Zmc2V0PTBdIG9mZnNldCBvbiBYXG4gKiBAcGFyYW0ge251bWJlcn0gW3lPZmZzZXQ9MF0gb2Zmc2V0IG9uIFlcbiAqIEBwYXJhbSB7Q29sb3I0fSBbY29sb3I9Q29sb3I0LlllbGxvdygpXSB0ZXh0IGNvbG9yXG4gKiBAcGFyYW0ge251bWJlcn0gW3NpemU9NTBdIHRleHQgc2l6ZVxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIEFubm91bmNlbWVudCBleHRlbmRzIERlbGF5ZWRIaWRpbmdVSU9iamVjdCB7XG4gIHB1YmxpYyB0ZXh0RWxlbWVudDogQW5ub3VuY2VtZW50VGV4dEVsZW1lbnRcblxuICBwdWJsaWMgeE9mZnNldDogbnVtYmVyXG4gIHB1YmxpYyB5T2Zmc2V0OiBudW1iZXJcbiAgcHVibGljIGNvbG9yOiBDb2xvcjRcbiAgcHVibGljIHNpemU6IG51bWJlclxuICBwdWJsaWMgdmFsdWU6IHN0cmluZyB8IG51bWJlclxuXG4gIGNvbnN0cnVjdG9yKHtcbiAgICBzdGFydEhpZGRlbiA9IGFubm91bmNlbWVudEluaXRpYWxDb25maWcuc3RhcnRIaWRkZW4sXG4gICAgdmFsdWUgPSBhbm5vdW5jZW1lbnRJbml0aWFsQ29uZmlnLnZhbHVlLFxuICAgIGR1cmF0aW9uID0gYW5ub3VuY2VtZW50SW5pdGlhbENvbmZpZy5kdXJhdGlvbixcbiAgICB4T2Zmc2V0ID0gYW5ub3VuY2VtZW50SW5pdGlhbENvbmZpZy54T2Zmc2V0LFxuICAgIHlPZmZzZXQgPSBhbm5vdW5jZW1lbnRJbml0aWFsQ29uZmlnLnlPZmZzZXQsXG4gICAgY29sb3IgPSBhbm5vdW5jZW1lbnRJbml0aWFsQ29uZmlnLmNvbG9yLFxuICAgIHNpemUgPSBhbm5vdW5jZW1lbnRJbml0aWFsQ29uZmlnLnNpemUsXG4gIH06IEFubm91bmNlbWVudENvbmZpZykge1xuICAgIHN1cGVyKHsgc3RhcnRIaWRkZW4sIGR1cmF0aW9uIH0pXG5cbiAgICB0aGlzLnhPZmZzZXQgPSB4T2Zmc2V0XG4gICAgdGhpcy55T2Zmc2V0ID0geU9mZnNldFxuICAgIHRoaXMuY29sb3IgPSBjb2xvclxuICAgIHRoaXMuc2l6ZSA9IHNpemVcblxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZVxuXG4gICAgdGhpcy50ZXh0RWxlbWVudCA9IHtcbiAgICAgIHRleHRBbGlnbjogJ2JvdHRvbS1jZW50ZXInLFxuICAgICAgZm9udDogZGVmYXVsdEZvbnQsXG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlbmRlcihrZXk/OiBzdHJpbmcpOiBSZWFjdEVjcy5KU1guRWxlbWVudCB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxVaUVudGl0eVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIHBvc2l0aW9uVHlwZTogJ2Fic29sdXRlJyxcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgIGRpc3BsYXk6IHRoaXMudmlzaWJsZSA/ICdmbGV4JyA6ICdub25lJyxcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxMYWJlbFxuICAgICAgICAgIGtleT17a2V5fVxuICAgICAgICAgIHsuLi50aGlzLnRleHRFbGVtZW50fVxuICAgICAgICAgIGZvbnRTaXplPXt0aGlzLnNpemV9XG4gICAgICAgICAgY29sb3I9e3RoaXMuY29sb3J9XG4gICAgICAgICAgdmFsdWU9e1N0cmluZyh0aGlzLnZhbHVlKX1cbiAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgLi4udGhpcy50ZXh0RWxlbWVudC51aVRyYW5zZm9ybSxcbiAgICAgICAgICAgIGRpc3BsYXk6IHRoaXMudmlzaWJsZSA/ICdmbGV4JyA6ICdub25lJyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgICAgIGxlZnQ6IHRoaXMueE9mZnNldCxcbiAgICAgICAgICAgICAgYm90dG9tOiB0aGlzLnlPZmZzZXQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICA8L1VpRW50aXR5PlxuICAgIClcbiAgfVxufVxuIl19