UNPKG

@taiga-ui/core

Version:

Core library for creating Angular components and applications using Taiga UI

42 lines 5.23 kB
import { Directive, inject } from '@angular/core'; import { TUI_IS_ANDROID } from '@taiga-ui/cdk/tokens'; import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom'; import * as i0 from "@angular/core"; class TuiSelectLike { constructor() { this.el = tuiInjectElement(); this.isAndroid = inject(TUI_IS_ANDROID); } clear() { this.el.value = ''; } prevent(event) { if (!this.isAndroid) { return; } event.preventDefault(); this.el.focus(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSelectLike, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiSelectLike, isStandalone: true, selector: "[tuiSelectLike]", host: { attributes: { "tuiSelectLike": "", "inputmode": "none", "spellcheck": "false", "autocomplete": "off" }, listeners: { "beforeinput": "$event.inputType.includes(\"delete\") || $event.preventDefault()", "input.capture": "$event.inputType?.includes(\"delete\") && clear()", "mousedown": "prevent($event)" } }, ngImport: i0 }); } } export { TuiSelectLike }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSelectLike, decorators: [{ type: Directive, args: [{ standalone: true, selector: '[tuiSelectLike]', host: { tuiSelectLike: '', inputmode: 'none', spellcheck: 'false', autocomplete: 'off', // Click on cleaner icon does not trigger `beforeinput` event --> handle all kind of deletion in input event '(beforeinput)': '$event.inputType.includes("delete") || $event.preventDefault()', '(input.capture)': '$event.inputType?.includes("delete") && clear()', // Hide Android text select handle (bubble marker below transparent caret) '(mousedown)': 'prevent($event)', }, }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWxpa2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZC9zZWxlY3QtbGlrZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDOztBQUV6RCxNQWVhLGFBQWE7SUFmMUI7UUFnQnFCLE9BQUUsR0FBRyxnQkFBZ0IsRUFBb0IsQ0FBQztRQUMxQyxjQUFTLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0tBY3ZEO0lBWmEsS0FBSztRQUNYLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRVMsT0FBTyxDQUFDLEtBQWlCO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2pCLE9BQU87U0FDVjtRQUVELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BCLENBQUM7K0dBZlEsYUFBYTttR0FBYixhQUFhOztTQUFiLGFBQWE7NEZBQWIsYUFBYTtrQkFmekIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsSUFBSSxFQUFFO3dCQUNGLGFBQWEsRUFBRSxFQUFFO3dCQUNqQixTQUFTLEVBQUUsTUFBTTt3QkFDakIsVUFBVSxFQUFFLE9BQU87d0JBQ25CLFlBQVksRUFBRSxLQUFLO3dCQUNuQiw0R0FBNEc7d0JBQzVHLGVBQWUsRUFBRSxnRUFBZ0U7d0JBQ2pGLGlCQUFpQixFQUFFLGlEQUFpRDt3QkFDcEUsMEVBQTBFO3dCQUMxRSxhQUFhLEVBQUUsaUJBQWlCO3FCQUNuQztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfSVNfQU5EUk9JRH0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpU2VsZWN0TGlrZV0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHVpU2VsZWN0TGlrZTogJycsXG4gICAgICAgIGlucHV0bW9kZTogJ25vbmUnLFxuICAgICAgICBzcGVsbGNoZWNrOiAnZmFsc2UnLFxuICAgICAgICBhdXRvY29tcGxldGU6ICdvZmYnLFxuICAgICAgICAvLyBDbGljayBvbiBjbGVhbmVyIGljb24gZG9lcyBub3QgdHJpZ2dlciBgYmVmb3JlaW5wdXRgIGV2ZW50IC0tPiBoYW5kbGUgYWxsIGtpbmQgb2YgZGVsZXRpb24gaW4gaW5wdXQgZXZlbnRcbiAgICAgICAgJyhiZWZvcmVpbnB1dCknOiAnJGV2ZW50LmlucHV0VHlwZS5pbmNsdWRlcyhcImRlbGV0ZVwiKSB8fCAkZXZlbnQucHJldmVudERlZmF1bHQoKScsXG4gICAgICAgICcoaW5wdXQuY2FwdHVyZSknOiAnJGV2ZW50LmlucHV0VHlwZT8uaW5jbHVkZXMoXCJkZWxldGVcIikgJiYgY2xlYXIoKScsXG4gICAgICAgIC8vIEhpZGUgQW5kcm9pZCB0ZXh0IHNlbGVjdCBoYW5kbGUgKGJ1YmJsZSBtYXJrZXIgYmVsb3cgdHJhbnNwYXJlbnQgY2FyZXQpXG4gICAgICAgICcobW91c2Vkb3duKSc6ICdwcmV2ZW50KCRldmVudCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNlbGVjdExpa2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc0FuZHJvaWQgPSBpbmplY3QoVFVJX0lTX0FORFJPSUQpO1xuXG4gICAgcHJvdGVjdGVkIGNsZWFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsLnZhbHVlID0gJyc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHByZXZlbnQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQW5kcm9pZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5lbC5mb2N1cygpO1xuICAgIH1cbn1cbiJdfQ==