flexacore-ui-dev
Version:
Universal UI Framework for CDN, React, Angular, Vue, Svelte with TypeScript support
108 lines (107 loc) • 3.46 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FCInputComponent = void 0;
const core_1 = require("@angular/core");
const forms_1 = require("@angular/forms");
let FCInputComponent = class FCInputComponent {
constructor() {
this.type = 'text';
this.placeholder = '';
this.disabled = false;
this.readonly = false;
this.size = 'md';
this.valueChange = new core_1.EventEmitter();
this.value = '';
this.onChange = (value) => { };
this.onTouched = () => { };
}
get classes() {
return [
'fc-input',
`fc-input-${this.size}`
];
}
onInput(event) {
const target = event.target;
this.value = target.value;
this.onChange(this.value);
this.valueChange.emit(this.value);
}
onBlur() {
this.onTouched();
}
onFocus() {
// Focus event handling if needed
}
writeValue(value) {
this.value = value || '';
}
registerOnChange(fn) {
this.onChange = fn;
}
registerOnTouched(fn) {
this.onTouched = fn;
}
setDisabledState(isDisabled) {
this.disabled = isDisabled;
}
};
exports.FCInputComponent = FCInputComponent;
__decorate([
(0, core_1.Input)(),
__metadata("design:type", String)
], FCInputComponent.prototype, "type", void 0);
__decorate([
(0, core_1.Input)(),
__metadata("design:type", String)
], FCInputComponent.prototype, "placeholder", void 0);
__decorate([
(0, core_1.Input)(),
__metadata("design:type", Boolean)
], FCInputComponent.prototype, "disabled", void 0);
__decorate([
(0, core_1.Input)(),
__metadata("design:type", Boolean)
], FCInputComponent.prototype, "readonly", void 0);
__decorate([
(0, core_1.Input)(),
__metadata("design:type", String)
], FCInputComponent.prototype, "size", void 0);
__decorate([
(0, core_1.Output)(),
__metadata("design:type", Object)
], FCInputComponent.prototype, "valueChange", void 0);
exports.FCInputComponent = FCInputComponent = __decorate([
(0, core_1.Component)({
selector: 'fc-input',
template: `
<input
[ngClass]="classes"
[type]="type"
[placeholder]="placeholder"
[value]="value"
[disabled]="disabled"
[readonly]="readonly"
(input)="onInput($event)"
(blur)="onBlur()"
(focus)="onFocus()"
>
`,
providers: [
{
provide: forms_1.NG_VALUE_ACCESSOR,
useExisting: (0, core_1.forwardRef)(() => FCInputComponent),
multi: true
}
]
})
], FCInputComponent);