@libs-ui/components-device-support 0.2.299 → 0.2.302

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,8 +4,10 @@ export declare class LibsUiComponentsDeviceSupportHandleClickDirective implement
4
4
  readonly ignoreStopPropagation: import("@angular/core").InputSignal<boolean>;
5
5
  private elementRef;
6
6
  private destroyRef;
7
+ readonly elementHandleClick: import("@angular/core").InputSignal<HTMLElement | Window | Document | undefined>;
7
8
  readonly outClick: import("@angular/core").OutputEmitterRef<Event>;
8
9
  ngAfterViewInit(): void;
10
+ private get Element();
9
11
  static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiComponentsDeviceSupportHandleClickDirective, never>;
10
- static ɵdir: i0.ɵɵDirectiveDeclaration<LibsUiComponentsDeviceSupportHandleClickDirective, "[libsUiComponentsDeviceSupportHandleClickDirective]", never, { "ignoreStopPropagation": { "alias": "ignoreStopPropagation"; "required": false; "isSignal": true; }; }, { "outClick": "outClick"; }, never, never, true, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LibsUiComponentsDeviceSupportHandleClickDirective, "[libsUiComponentsDeviceSupportHandleClickDirective]", never, { "ignoreStopPropagation": { "alias": "ignoreStopPropagation"; "required": false; "isSignal": true; }; "elementHandleClick": { "alias": "elementHandleClick"; "required": false; "isSignal": true; }; }, { "outClick": "outClick"; }, never, never, true, never>;
11
13
  }
@@ -1,6 +1,6 @@
1
1
  import { DestroyRef, Directive, ElementRef, inject, input, output } from '@angular/core';
2
2
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
- import { getDeviceInfo } from '@libs-ui/utils';
3
+ import { getEventNameHandleClick } from '@libs-ui/utils';
4
4
  import { fromEvent } from 'rxjs';
5
5
  import { tap } from 'rxjs/operators';
6
6
  import * as i0 from "@angular/core";
@@ -8,19 +8,21 @@ export class LibsUiComponentsDeviceSupportHandleClickDirective {
8
8
  ignoreStopPropagation = input(false);
9
9
  elementRef = inject(ElementRef);
10
10
  destroyRef = inject(DestroyRef);
11
+ elementHandleClick = input();
11
12
  outClick = output();
12
13
  ngAfterViewInit() {
13
- const deviceInfo = getDeviceInfo();
14
- const mouseEventType = deviceInfo.device?.type === 'desktop' ? 'click' : 'touchstart';
15
- fromEvent(this.elementRef.nativeElement, mouseEventType).pipe(tap((e) => {
14
+ fromEvent(this.Element, getEventNameHandleClick).pipe(tap((e) => {
16
15
  if (!this.ignoreStopPropagation()) {
17
16
  e.stopPropagation();
18
17
  }
19
18
  this.outClick.emit(e);
20
19
  }), takeUntilDestroyed(this.destroyRef)).subscribe();
21
20
  }
21
+ get Element() {
22
+ return this.elementHandleClick() || this.elementRef.nativeElement;
23
+ }
22
24
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsDeviceSupportHandleClickDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
23
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: LibsUiComponentsDeviceSupportHandleClickDirective, isStandalone: true, selector: "[libsUiComponentsDeviceSupportHandleClickDirective]", inputs: { ignoreStopPropagation: { classPropertyName: "ignoreStopPropagation", publicName: "ignoreStopPropagation", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outClick: "outClick" }, ngImport: i0 });
25
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: LibsUiComponentsDeviceSupportHandleClickDirective, isStandalone: true, selector: "[libsUiComponentsDeviceSupportHandleClickDirective]", inputs: { ignoreStopPropagation: { classPropertyName: "ignoreStopPropagation", publicName: "ignoreStopPropagation", isSignal: true, isRequired: false, transformFunction: null }, elementHandleClick: { classPropertyName: "elementHandleClick", publicName: "elementHandleClick", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outClick: "outClick" }, ngImport: i0 });
24
26
  }
25
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsDeviceSupportHandleClickDirective, decorators: [{
26
28
  type: Directive,
@@ -30,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
30
32
  standalone: true,
31
33
  }]
32
34
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLXN1cHBvcnQtaGFuZGxlLWNsaWNrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9kZXZpY2Utc3VwcG9ydC9zcmMvZGV2aWNlLXN1cHBvcnQtaGFuZGxlLWNsaWNrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFPckMsTUFBTSxPQUFPLGlEQUFpRDtJQUNuRCxxQkFBcUIsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFL0MsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRS9CLFFBQVEsR0FBRyxNQUFNLEVBQVMsQ0FBQztJQUVwQyxlQUFlO1FBQ2IsTUFBTSxVQUFVLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFDbkMsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUd0RixTQUFTLENBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQVEsRUFBRSxFQUFFO1lBQ3BGLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDO2dCQUNsQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdEIsQ0FBQztZQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3ZELENBQUM7d0dBbkJVLGlEQUFpRDs0RkFBakQsaURBQWlEOzs0RkFBakQsaURBQWlEO2tCQUw3RCxTQUFTO21CQUFDO29CQUNULDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLHFEQUFxRDtvQkFDL0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGdldERldmljZUluZm8gfSBmcm9tICdAbGlicy11aS91dGlscyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW2xpYnNVaUNvbXBvbmVudHNEZXZpY2VTdXBwb3J0SGFuZGxlQ2xpY2tEaXJlY3RpdmVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0RldmljZVN1cHBvcnRIYW5kbGVDbGlja0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICByZWFkb25seSBpZ25vcmVTdG9wUHJvcGFnYXRpb24gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgcmVhZG9ubHkgb3V0Q2xpY2sgPSBvdXRwdXQ8RXZlbnQ+KCk7XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IGRldmljZUluZm8gPSBnZXREZXZpY2VJbmZvKCk7XG4gICAgY29uc3QgbW91c2VFdmVudFR5cGUgPSBkZXZpY2VJbmZvLmRldmljZT8udHlwZSA9PT0gJ2Rlc2t0b3AnID8gJ2NsaWNrJyA6ICd0b3VjaHN0YXJ0JztcblxuXG4gICAgZnJvbUV2ZW50PEV2ZW50Pih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgbW91c2VFdmVudFR5cGUpLnBpcGUodGFwKChlOiBFdmVudCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmlnbm9yZVN0b3BQcm9wYWdhdGlvbigpKSB7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB9XG4gICAgICB0aGlzLm91dENsaWNrLmVtaXQoZSk7XG4gICAgfSksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG59XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLXN1cHBvcnQtaGFuZGxlLWNsaWNrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9kZXZpY2Utc3VwcG9ydC9zcmMvZGV2aWNlLXN1cHBvcnQtaGFuZGxlLWNsaWNrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU9yQyxNQUFNLE9BQU8saURBQWlEO0lBQ25ELHFCQUFxQixHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUUvQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFL0Isa0JBQWtCLEdBQUcsS0FBSyxFQUFtQyxDQUFDO0lBRTlELFFBQVEsR0FBRyxNQUFNLEVBQVMsQ0FBQztJQUVwQyxlQUFlO1FBQ2IsU0FBUyxDQUFRLElBQUksQ0FBQyxPQUFPLEVBQUUsdUJBQXVCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBUSxFQUFFLEVBQUU7WUFDNUUsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN0QixDQUFDO1lBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQVksT0FBTztRQUNqQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ3BFLENBQUM7d0dBckJVLGlEQUFpRDs0RkFBakQsaURBQWlEOzs0RkFBakQsaURBQWlEO2tCQUw3RCxTQUFTO21CQUFDO29CQUNULDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLHFEQUFxRDtvQkFDL0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGdldEV2ZW50TmFtZUhhbmRsZUNsaWNrIH0gZnJvbSAnQGxpYnMtdWkvdXRpbHMnO1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1tsaWJzVWlDb21wb25lbnRzRGV2aWNlU3VwcG9ydEhhbmRsZUNsaWNrRGlyZWN0aXZlXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIExpYnNVaUNvbXBvbmVudHNEZXZpY2VTdXBwb3J0SGFuZGxlQ2xpY2tEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcmVhZG9ubHkgaWdub3JlU3RvcFByb3BhZ2F0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIHJlYWRvbmx5IGVsZW1lbnRIYW5kbGVDbGljayA9IGlucHV0PEhUTUxFbGVtZW50IHwgV2luZG93IHwgRG9jdW1lbnQ+KCk7XG5cbiAgcmVhZG9ubHkgb3V0Q2xpY2sgPSBvdXRwdXQ8RXZlbnQ+KCk7XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGZyb21FdmVudDxFdmVudD4odGhpcy5FbGVtZW50LCBnZXRFdmVudE5hbWVIYW5kbGVDbGljaykucGlwZSh0YXAoKGU6IEV2ZW50KSA9PiB7XG4gICAgICBpZiAoIXRoaXMuaWdub3JlU3RvcFByb3BhZ2F0aW9uKCkpIHtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH1cbiAgICAgIHRoaXMub3V0Q2xpY2suZW1pdChlKTtcbiAgICB9KSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudEhhbmRsZUNsaWNrKCkgfHwgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxufVxuIl19
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { input, inject, ElementRef, DestroyRef, output, Directive } from '@angular/core';
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
- import { getDeviceInfo } from '@libs-ui/utils';
4
+ import { getEventNameHandleClick } from '@libs-ui/utils';
5
5
  import { fromEvent } from 'rxjs';
6
6
  import { tap } from 'rxjs/operators';
7
7
 
@@ -9,19 +9,21 @@ class LibsUiComponentsDeviceSupportHandleClickDirective {
9
9
  ignoreStopPropagation = input(false);
10
10
  elementRef = inject(ElementRef);
11
11
  destroyRef = inject(DestroyRef);
12
+ elementHandleClick = input();
12
13
  outClick = output();
13
14
  ngAfterViewInit() {
14
- const deviceInfo = getDeviceInfo();
15
- const mouseEventType = deviceInfo.device?.type === 'desktop' ? 'click' : 'touchstart';
16
- fromEvent(this.elementRef.nativeElement, mouseEventType).pipe(tap((e) => {
15
+ fromEvent(this.Element, getEventNameHandleClick).pipe(tap((e) => {
17
16
  if (!this.ignoreStopPropagation()) {
18
17
  e.stopPropagation();
19
18
  }
20
19
  this.outClick.emit(e);
21
20
  }), takeUntilDestroyed(this.destroyRef)).subscribe();
22
21
  }
22
+ get Element() {
23
+ return this.elementHandleClick() || this.elementRef.nativeElement;
24
+ }
23
25
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsDeviceSupportHandleClickDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
24
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: LibsUiComponentsDeviceSupportHandleClickDirective, isStandalone: true, selector: "[libsUiComponentsDeviceSupportHandleClickDirective]", inputs: { ignoreStopPropagation: { classPropertyName: "ignoreStopPropagation", publicName: "ignoreStopPropagation", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outClick: "outClick" }, ngImport: i0 });
26
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: LibsUiComponentsDeviceSupportHandleClickDirective, isStandalone: true, selector: "[libsUiComponentsDeviceSupportHandleClickDirective]", inputs: { ignoreStopPropagation: { classPropertyName: "ignoreStopPropagation", publicName: "ignoreStopPropagation", isSignal: true, isRequired: false, transformFunction: null }, elementHandleClick: { classPropertyName: "elementHandleClick", publicName: "elementHandleClick", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outClick: "outClick" }, ngImport: i0 });
25
27
  }
26
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsDeviceSupportHandleClickDirective, decorators: [{
27
29
  type: Directive,
@@ -1 +1 @@
1
- {"version":3,"file":"libs-ui-components-device-support.mjs","sources":["../../../../../libs-ui/components/device-support/src/device-support-handle-click.directive.ts","../../../../../libs-ui/components/device-support/src/libs-ui-components-device-support.ts"],"sourcesContent":["import { AfterViewInit, DestroyRef, Directive, ElementRef, inject, input, output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { getDeviceInfo } from '@libs-ui/utils';\nimport { fromEvent } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[libsUiComponentsDeviceSupportHandleClickDirective]',\n standalone: true,\n})\nexport class LibsUiComponentsDeviceSupportHandleClickDirective implements AfterViewInit {\n readonly ignoreStopPropagation = input<boolean>(false);\n\n private elementRef = inject(ElementRef);\n private destroyRef = inject(DestroyRef);\n\n readonly outClick = output<Event>();\n\n ngAfterViewInit() {\n const deviceInfo = getDeviceInfo();\n const mouseEventType = deviceInfo.device?.type === 'desktop' ? 'click' : 'touchstart';\n\n\n fromEvent<Event>(this.elementRef.nativeElement, mouseEventType).pipe(tap((e: Event) => {\n if (!this.ignoreStopPropagation()) {\n e.stopPropagation();\n }\n this.outClick.emit(e);\n }), takeUntilDestroyed(this.destroyRef)).subscribe();\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAWa,iDAAiD,CAAA;AACnD,IAAA,qBAAqB,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AAE/C,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAChC,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAE/B,QAAQ,GAAG,MAAM,EAAS,CAAC;IAEpC,eAAe,GAAA;AACb,QAAA,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;AACnC,QAAA,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,KAAK,SAAS,GAAG,OAAO,GAAG,YAAY,CAAC;AAGtF,QAAA,SAAS,CAAQ,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAQ,KAAI;AACpF,YAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE;gBACjC,CAAC,CAAC,eAAe,EAAE,CAAC;aACrB;AACD,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxB,SAAC,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;KACtD;wGAnBU,iDAAiD,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAjD,iDAAiD,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,EAAA,qBAAA,EAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAjD,iDAAiD,EAAA,UAAA,EAAA,CAAA;kBAL7D,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,qDAAqD;AAC/D,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
1
+ {"version":3,"file":"libs-ui-components-device-support.mjs","sources":["../../../../../libs-ui/components/device-support/src/device-support-handle-click.directive.ts","../../../../../libs-ui/components/device-support/src/libs-ui-components-device-support.ts"],"sourcesContent":["import { AfterViewInit, DestroyRef, Directive, ElementRef, inject, input, output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { getEventNameHandleClick } from '@libs-ui/utils';\nimport { fromEvent } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[libsUiComponentsDeviceSupportHandleClickDirective]',\n standalone: true,\n})\nexport class LibsUiComponentsDeviceSupportHandleClickDirective implements AfterViewInit {\n readonly ignoreStopPropagation = input<boolean>(false);\n\n private elementRef = inject(ElementRef);\n private destroyRef = inject(DestroyRef);\n\n readonly elementHandleClick = input<HTMLElement | Window | Document>();\n\n readonly outClick = output<Event>();\n\n ngAfterViewInit() {\n fromEvent<Event>(this.Element, getEventNameHandleClick).pipe(tap((e: Event) => {\n if (!this.ignoreStopPropagation()) {\n e.stopPropagation();\n }\n this.outClick.emit(e);\n }), takeUntilDestroyed(this.destroyRef)).subscribe();\n }\n\n private get Element(): HTMLElement {\n return this.elementHandleClick() || this.elementRef.nativeElement;\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAWa,iDAAiD,CAAA;AACnD,IAAA,qBAAqB,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AAE/C,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAChC,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAE/B,kBAAkB,GAAG,KAAK,EAAmC,CAAC;IAE9D,QAAQ,GAAG,MAAM,EAAS,CAAC;IAEpC,eAAe,GAAA;AACb,QAAA,SAAS,CAAQ,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAQ,KAAI;AAC5E,YAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE;gBACjC,CAAC,CAAC,eAAe,EAAE,CAAC;aACrB;AACD,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxB,SAAC,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;KACtD;AAED,IAAA,IAAY,OAAO,GAAA;QACjB,OAAO,IAAI,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;KACnE;wGArBU,iDAAiD,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAjD,iDAAiD,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,EAAA,qBAAA,EAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAjD,iDAAiD,EAAA,UAAA,EAAA,CAAA;kBAL7D,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,qDAAqD;AAC/D,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libs-ui/components-device-support",
3
- "version": "0.2.299",
3
+ "version": "0.2.302",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=18.0.0",
6
6
  "@angular/core": ">=18.0.0"