UNPKG

@taiga-ui/core

Version:

Core library for creating Angular components and applications using Taiga UI

44 lines 5.73 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 { TUI_TEXTFIELD_OPTIONS } from './textfield.options'; import * as i0 from "@angular/core"; class TuiSelectLike { constructor() { this.el = tuiInjectElement(); this.isAndroid = inject(TUI_IS_ANDROID); this.options = inject(TUI_TEXTFIELD_OPTIONS); } 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": "options.cleaner() && $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)': 'options.cleaner() && $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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWxpa2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZC9zZWxlY3QtbGlrZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQUUxRCxNQWdCYSxhQUFhO0lBaEIxQjtRQWlCcUIsT0FBRSxHQUFHLGdCQUFnQixFQUFvQixDQUFDO1FBQzFDLGNBQVMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDakMsWUFBTyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0tBYzlEO0lBWmEsS0FBSztRQUNYLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRVMsT0FBTyxDQUFDLEtBQWlCO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2pCLE9BQU87U0FDVjtRQUVELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BCLENBQUM7K0dBaEJRLGFBQWE7bUdBQWIsYUFBYTs7U0FBYixhQUFhOzRGQUFiLGFBQWE7a0JBaEJ6QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixJQUFJLEVBQUU7d0JBQ0YsYUFBYSxFQUFFLEVBQUU7d0JBQ2pCLFNBQVMsRUFBRSxNQUFNO3dCQUNqQixVQUFVLEVBQUUsT0FBTzt3QkFDbkIsWUFBWSxFQUFFLEtBQUs7d0JBQ25CLDRHQUE0Rzt3QkFDNUcsZUFBZSxFQUNYLHFGQUFxRjt3QkFDekYsaUJBQWlCLEVBQUUsaURBQWlEO3dCQUNwRSwwRUFBMEU7d0JBQzFFLGFBQWEsRUFBRSxpQkFBaUI7cUJBQ25DO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9JU19BTkRST0lEfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcblxuaW1wb3J0IHtUVUlfVEVYVEZJRUxEX09QVElPTlN9IGZyb20gJy4vdGV4dGZpZWxkLm9wdGlvbnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aVNlbGVjdExpa2VdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIHR1aVNlbGVjdExpa2U6ICcnLFxuICAgICAgICBpbnB1dG1vZGU6ICdub25lJyxcbiAgICAgICAgc3BlbGxjaGVjazogJ2ZhbHNlJyxcbiAgICAgICAgYXV0b2NvbXBsZXRlOiAnb2ZmJyxcbiAgICAgICAgLy8gQ2xpY2sgb24gY2xlYW5lciBpY29uIGRvZXMgbm90IHRyaWdnZXIgYGJlZm9yZWlucHV0YCBldmVudCAtLT4gaGFuZGxlIGFsbCBraW5kIG9mIGRlbGV0aW9uIGluIGlucHV0IGV2ZW50XG4gICAgICAgICcoYmVmb3JlaW5wdXQpJzpcbiAgICAgICAgICAgICdvcHRpb25zLmNsZWFuZXIoKSAmJiAkZXZlbnQuaW5wdXRUeXBlLmluY2x1ZGVzKFwiZGVsZXRlXCIpIHx8ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpJyxcbiAgICAgICAgJyhpbnB1dC5jYXB0dXJlKSc6ICckZXZlbnQuaW5wdXRUeXBlPy5pbmNsdWRlcyhcImRlbGV0ZVwiKSAmJiBjbGVhcigpJyxcbiAgICAgICAgLy8gSGlkZSBBbmRyb2lkIHRleHQgc2VsZWN0IGhhbmRsZSAoYnViYmxlIG1hcmtlciBiZWxvdyB0cmFuc3BhcmVudCBjYXJldClcbiAgICAgICAgJyhtb3VzZWRvd24pJzogJ3ByZXZlbnQoJGV2ZW50KScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2VsZWN0TGlrZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4oKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzQW5kcm9pZCA9IGluamVjdChUVUlfSVNfQU5EUk9JRCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9PUFRJT05TKTtcblxuICAgIHByb3RlY3RlZCBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbC52YWx1ZSA9ICcnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBwcmV2ZW50KGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc0FuZHJvaWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuZWwuZm9jdXMoKTtcbiAgICB9XG59XG4iXX0=