UNPKG

@taiga-ui/cdk

Version:

Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance

31 lines 6.14 kB
import { Directive, Output } from '@angular/core'; import { tuiPreventDefault, tuiTypedFromEvent } from '@taiga-ui/cdk/observables'; import { tuiInjectElement } from '@taiga-ui/cdk/utils'; import { tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous'; import { distinctUntilChanged, filter, map, merge, startWith, switchMap } from 'rxjs'; import * as i0 from "@angular/core"; class TuiDroppable { constructor() { this.el = tuiInjectElement(); this.tuiDroppableDropped = tuiTypedFromEvent(this.el, 'drop').pipe(tuiPreventDefault(), map((event) => event.dataTransfer), filter(tuiIsPresent)); this.tuiDroppableDragOverChange = tuiTypedFromEvent(this.el, 'dragenter').pipe(switchMap(({ target, dataTransfer }) => merge(tuiTypedFromEvent(this.el, 'dragleave').pipe(filter((event) => event.target === target)), tuiTypedFromEvent(this.el, 'drop')).pipe(map(() => null), startWith(dataTransfer))), distinctUntilChanged((a, b) => (!!a && !!b) || (!a && !b))); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDroppable, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiDroppable, isStandalone: true, selector: "[tuiDroppableDropped], [tuiDroppableDragOverChange]", outputs: { tuiDroppableDropped: "tuiDroppableDropped", tuiDroppableDragOverChange: "tuiDroppableDragOverChange" }, host: { listeners: { "dragover.prevent.zoneless": "0" } }, ngImport: i0 }); } } export { TuiDroppable }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDroppable, decorators: [{ type: Directive, args: [{ standalone: true, selector: '[tuiDroppableDropped], [tuiDroppableDragOverChange]', host: { '(dragover.prevent.zoneless)': '0', }, }] }], propDecorators: { tuiDroppableDropped: [{ type: Output }], tuiDroppableDragOverChange: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHBhYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL2Ryb3BwYWJsZS9kcm9wcGFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9FLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7QUFFcEYsTUFPYSxZQUFZO0lBUHpCO1FBUXFCLE9BQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBR3pCLHdCQUFtQixHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUN6RSxpQkFBaUIsRUFBRSxFQUNuQixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsRUFDbEMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUN2QixDQUFDO1FBR2MsK0JBQTBCLEdBQUcsaUJBQWlCLENBQzFELElBQUksQ0FBQyxFQUFFLEVBQ1AsV0FBVyxDQUNkLENBQUMsSUFBSSxDQUNGLFNBQVMsQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFFLFlBQVksRUFBQyxFQUFFLEVBQUUsQ0FDakMsS0FBSyxDQUNELGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUN4QyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLENBQzdDLEVBQ0QsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FDckMsQ0FBQyxJQUFJLENBQ0YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUNmLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FDMUIsQ0FDSixFQUNELG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDN0QsQ0FBQztLQUNMOytHQTVCWSxZQUFZO21HQUFaLFlBQVk7O1NBQVosWUFBWTs0RkFBWixZQUFZO2tCQVB4QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUscURBQXFEO29CQUMvRCxJQUFJLEVBQUU7d0JBQ0YsNkJBQTZCLEVBQUUsR0FBRztxQkFDckM7aUJBQ0o7OEJBS21CLG1CQUFtQjtzQkFEbEMsTUFBTTtnQkFRUywwQkFBMEI7c0JBRHpDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpUHJldmVudERlZmF1bHQsIHR1aVR5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscyc7XG5pbXBvcnQge3R1aUlzUHJlc2VudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBtZXJnZSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aURyb3BwYWJsZURyb3BwZWRdLCBbdHVpRHJvcHBhYmxlRHJhZ092ZXJDaGFuZ2VdJyxcbiAgICBob3N0OiB7XG4gICAgICAgICcoZHJhZ292ZXIucHJldmVudC56b25lbGVzcyknOiAnMCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJvcHBhYmxlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IHR1aURyb3BwYWJsZURyb3BwZWQgPSB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmVsLCAnZHJvcCcpLnBpcGUoXG4gICAgICAgIHR1aVByZXZlbnREZWZhdWx0KCksXG4gICAgICAgIG1hcCgoZXZlbnQpID0+IGV2ZW50LmRhdGFUcmFuc2ZlciksXG4gICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHVpRHJvcHBhYmxlRHJhZ092ZXJDaGFuZ2UgPSB0dWlUeXBlZEZyb21FdmVudChcbiAgICAgICAgdGhpcy5lbCxcbiAgICAgICAgJ2RyYWdlbnRlcicsXG4gICAgKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHt0YXJnZXQsIGRhdGFUcmFuc2Zlcn0pID0+XG4gICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmVsLCAnZHJhZ2xlYXZlJykucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQudGFyZ2V0ID09PSB0YXJnZXQpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5lbCwgJ2Ryb3AnKSxcbiAgICAgICAgICAgICkucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gbnVsbCksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKGRhdGFUcmFuc2ZlciksXG4gICAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gKCEhYSAmJiAhIWIpIHx8ICghYSAmJiAhYikpLFxuICAgICk7XG59XG4iXX0=