@taiga-ui/cdk
Version:
Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance
33 lines • 3.89 kB
JavaScript
import { Directive, inject, Input } from '@angular/core';
import { WA_WINDOW } from '@ng-web-apis/common';
import { tuiGetSelectedText } from '@taiga-ui/cdk/utils';
import { identity } from 'rxjs';
import * as i0 from "@angular/core";
class TuiCopyProcessor {
constructor() {
this.win = inject(WA_WINDOW);
this.tuiCopyProcessor = identity;
}
onCopy(event) {
const text = tuiGetSelectedText(this.win);
if (text) {
event.clipboardData?.setData('text/plain', this.tuiCopyProcessor(text));
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCopyProcessor, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiCopyProcessor, isStandalone: true, selector: "[tuiCopyProcessor]", inputs: { tuiCopyProcessor: "tuiCopyProcessor" }, host: { listeners: { "copy.prevent": "onCopy($event)" } }, ngImport: i0 }); }
}
export { TuiCopyProcessor };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCopyProcessor, decorators: [{
type: Directive,
args: [{
standalone: true,
selector: '[tuiCopyProcessor]',
host: {
'(copy.prevent)': 'onCopy($event)',
},
}]
}], propDecorators: { tuiCopyProcessor: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1wcm9jZXNzb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RpcmVjdGl2ZXMvY29weS1wcm9jZXNzb3IvY29weS1wcm9jZXNzb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFOUMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7QUFFOUIsTUFPYSxnQkFBZ0I7SUFQN0I7UUFRcUIsUUFBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUdsQyxxQkFBZ0IsR0FBNkIsUUFBUSxDQUFDO0tBU2hFO0lBUGEsTUFBTSxDQUFDLEtBQXFCO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUxQyxJQUFJLElBQUksRUFBRTtZQUNOLEtBQUssQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUMzRTtJQUNMLENBQUM7K0dBWlEsZ0JBQWdCO21HQUFoQixnQkFBZ0I7O1NBQWhCLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQVA1QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixJQUFJLEVBQUU7d0JBQ0YsZ0JBQWdCLEVBQUUsZ0JBQWdCO3FCQUNyQztpQkFDSjs4QkFLVSxnQkFBZ0I7c0JBRHRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dBX1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7VHVpU3RyaW5nSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aUdldFNlbGVjdGVkVGV4dH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscyc7XG5pbXBvcnQge2lkZW50aXR5fSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlDb3B5UHJvY2Vzc29yXScsXG4gICAgaG9zdDoge1xuICAgICAgICAnKGNvcHkucHJldmVudCknOiAnb25Db3B5KCRldmVudCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNvcHlQcm9jZXNzb3Ige1xuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luID0gaW5qZWN0KFdBX1dJTkRPVyk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0dWlDb3B5UHJvY2Vzc29yOiBUdWlTdHJpbmdIYW5kbGVyPHN0cmluZz4gPSBpZGVudGl0eTtcblxuICAgIHByb3RlY3RlZCBvbkNvcHkoZXZlbnQ6IENsaXBib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRleHQgPSB0dWlHZXRTZWxlY3RlZFRleHQodGhpcy53aW4pO1xuXG4gICAgICAgIGlmICh0ZXh0KSB7XG4gICAgICAgICAgICBldmVudC5jbGlwYm9hcmREYXRhPy5zZXREYXRhKCd0ZXh0L3BsYWluJywgdGhpcy50dWlDb3B5UHJvY2Vzc29yKHRleHQpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==