import { ElementRef } from '@angular/core'; import { Constructor } from '../../../models/mixin.model'; import { ThousandSeparatorPipe } from '../../../pipes'; import { InputHelperMixin } from './input-helper.mixin'; export function InputMixin< T extends Constructor<{ thousandSeparatorPipe: ThousandSeparatorPipe; input: ElementRef; }>, >(Base: T) { return class extends InputHelperMixin(Base) { public cursorInputPosition!: number; public transformText(value: string, isPaste?: boolean): void { this.cursorInputPosition = this.input.nativeElement.selectionStart; } }; }