ember-assembly
Version:
A collection of beautiful UI components built by Goods
35 lines (28 loc) • 893 B
text/typescript
import Component from '@ember/component';
// @ts-ignore: Ignore import of compiled template
import template from './template';
import { isNone } from '@ember/utils';
import { computed } from '@ember/object';
import { guidFor } from '@ember/object/internals';
export default class UiField extends Component {
layout = template;
tagName: string = '';
label?: string | null = null;
description?: string = '';
validationMessages?: string[] | string = [];
('validationMessages')
get errors(): string[] | null {
if (isNone(this.validationMessages)) {
return null;
}
if (!Array.isArray(this.validationMessages)) {
return [this.validationMessages];
}
return this.validationMessages;
}
direction?: string = 'vertical'; //vertical | horizontal
('elementId')
get inputId(): string {
return `${guidFor(this)}-input`;
}
}