@taiga-ui/cdk 2.41.1 → 2.42.0

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.
Files changed (67) hide show
  1. package/bundles/taiga-ui-cdk-directives-overscroll.umd.js +2 -2
  2. package/bundles/taiga-ui-cdk-directives-overscroll.umd.js.map +1 -1
  3. package/bundles/taiga-ui-cdk-directives-overscroll.umd.min.js +1 -1
  4. package/bundles/taiga-ui-cdk-directives-overscroll.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-cdk-directives-zoom.umd.js +1 -1
  6. package/bundles/taiga-ui-cdk-directives-zoom.umd.js.map +1 -1
  7. package/bundles/taiga-ui-cdk-directives-zoom.umd.min.js +1 -1
  8. package/bundles/taiga-ui-cdk-directives-zoom.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-cdk-observables.umd.js +3 -5
  10. package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
  11. package/bundles/taiga-ui-cdk-observables.umd.min.js +1 -1
  12. package/bundles/taiga-ui-cdk-observables.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-cdk-services.umd.js +9 -8
  14. package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
  15. package/bundles/taiga-ui-cdk-services.umd.min.js +1 -1
  16. package/bundles/taiga-ui-cdk-services.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-cdk-tokens.umd.js +7 -3
  18. package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
  19. package/bundles/taiga-ui-cdk-tokens.umd.min.js +1 -1
  20. package/bundles/taiga-ui-cdk-tokens.umd.min.js.map +1 -1
  21. package/directives/zoom/taiga-ui-cdk-directives-zoom.metadata.json +1 -1
  22. package/esm2015/directives/overscroll/overscroll.directive.js +3 -3
  23. package/esm2015/directives/zoom/zoom.directive.js +2 -2
  24. package/esm2015/observables/focus-visible-observable.js +3 -3
  25. package/esm2015/observables/prevent-default.js +2 -4
  26. package/esm2015/observables/zone-free.js +2 -2
  27. package/esm2015/services/pan.service.js +4 -2
  28. package/esm2015/services/resize.service.js +2 -2
  29. package/esm2015/services/scroll.service.js +3 -3
  30. package/esm2015/services/static-request.service.js +2 -2
  31. package/esm2015/services/zoom.service.js +3 -4
  32. package/esm2015/tokens/active-element.js +7 -3
  33. package/esm2015/tokens/window-height.js +2 -2
  34. package/esm5/directives/overscroll/overscroll.directive.js +3 -3
  35. package/esm5/directives/zoom/zoom.directive.js +2 -2
  36. package/esm5/observables/focus-visible-observable.js +3 -3
  37. package/esm5/observables/prevent-default.js +2 -4
  38. package/esm5/observables/zone-free.js +1 -1
  39. package/esm5/services/pan.service.js +4 -2
  40. package/esm5/services/resize.service.js +2 -2
  41. package/esm5/services/scroll.service.js +3 -3
  42. package/esm5/services/static-request.service.js +2 -2
  43. package/esm5/services/zoom.service.js +3 -4
  44. package/esm5/tokens/active-element.js +7 -3
  45. package/esm5/tokens/window-height.js +2 -2
  46. package/fesm2015/taiga-ui-cdk-directives-overscroll.js +2 -2
  47. package/fesm2015/taiga-ui-cdk-directives-overscroll.js.map +1 -1
  48. package/fesm2015/taiga-ui-cdk-directives-zoom.js +1 -1
  49. package/fesm2015/taiga-ui-cdk-directives-zoom.js.map +1 -1
  50. package/fesm2015/taiga-ui-cdk-observables.js +4 -6
  51. package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
  52. package/fesm2015/taiga-ui-cdk-services.js +9 -8
  53. package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
  54. package/fesm2015/taiga-ui-cdk-tokens.js +7 -3
  55. package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
  56. package/fesm5/taiga-ui-cdk-directives-overscroll.js +2 -2
  57. package/fesm5/taiga-ui-cdk-directives-overscroll.js.map +1 -1
  58. package/fesm5/taiga-ui-cdk-directives-zoom.js +1 -1
  59. package/fesm5/taiga-ui-cdk-directives-zoom.js.map +1 -1
  60. package/fesm5/taiga-ui-cdk-observables.js +3 -5
  61. package/fesm5/taiga-ui-cdk-observables.js.map +1 -1
  62. package/fesm5/taiga-ui-cdk-services.js +9 -8
  63. package/fesm5/taiga-ui-cdk-services.js.map +1 -1
  64. package/fesm5/taiga-ui-cdk-tokens.js +7 -3
  65. package/fesm5/taiga-ui-cdk-tokens.js.map +1 -1
  66. package/package.json +4 -4
  67. package/schematics/ng-update/constants/types.js +5 -0
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-observables.umd.js","sources":["ng://@taiga-ui/cdk/observables/typed-from-event.ts","ng://@taiga-ui/cdk/observables/mouse-drag-finish-from.ts","ng://@taiga-ui/cdk/observables/drag-and-drop-from.ts","ng://@taiga-ui/cdk/observables/is-alive.ts","ng://@taiga-ui/cdk/observables/focus-visible-observable.ts","ng://@taiga-ui/cdk/observables/items-query-list-observable.ts","ng://@taiga-ui/cdk/observables/must-be-present.ts","ng://@taiga-ui/cdk/observables/pressed-observable.ts","ng://@taiga-ui/cdk/observables/prevent-default.ts","ng://@taiga-ui/cdk/observables/replay-control-value-changes.ts","ng://@taiga-ui/cdk/observables/stop-propagation.ts","ng://@taiga-ui/cdk/observables/watch.ts","ng://@taiga-ui/cdk/observables/zone-free.ts"],"sourcesContent":["import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {fromEvent, Observable} from 'rxjs';\n\nexport function typedFromEvent<E extends keyof WindowEventMap>(\n target: Window,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<WindowEventMap[E], typeof target>>;\nexport function typedFromEvent<E extends keyof DocumentEventMap>(\n target: Document,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<DocumentEventMap[E], typeof target>>;\nexport function typedFromEvent<T extends Element, E extends keyof HTMLElementEventMap>(\n target: T,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<HTMLElementEventMap[E], typeof target>>;\nexport function typedFromEvent<\n E extends Event,\n T extends TuiTypedEventTarget<TuiEventWith<E, T>>,\n>(\n target: T,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<E, T>>;\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<E>;\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options: AddEventListenerOptions = {},\n): Observable<E> {\n return fromEvent(target, event, options);\n}\n","import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {merge, Observable} from 'rxjs';\n\nimport {typedFromEvent} from './typed-from-event';\n\n/**\n * Letting go of the mouse after it was pressed\n * @param target\n */\nexport function mouseDragFinishFrom<\n T extends TuiTypedEventTarget<TuiEventWith<DragEvent, T>>,\n>(target: Exclude<T, null>): Observable<TuiEventWith<MouseEvent, T>> {\n return merge(typedFromEvent(target, 'mouseup'), typedFromEvent(target, 'dragend'));\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {concat, merge, Observable} from 'rxjs';\nimport {endWith, map, repeat, take, takeWhile} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport const enum TuiDragStage {\n Start,\n Continues,\n End,\n}\n\nexport class TuiDragState {\n constructor(readonly stage: TuiDragStage, readonly event: MouseEvent) {}\n}\n\nexport function dragAndDropFrom(element: Element): Observable<TuiDragState> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return concat(\n typedFromEvent(element, 'mousedown').pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.Start, event)),\n ),\n merge(\n typedFromEvent(ownerDocument, 'mousemove').pipe(\n map(event => new TuiDragState(TuiDragStage.Continues, event)),\n ),\n mouseDragFinishFrom(ownerDocument).pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.End, event)),\n endWith(null),\n ),\n ).pipe(takeWhile(isPresent)),\n ).pipe(repeat());\n}\n","import {OperatorFunction, pipe, timer} from 'rxjs';\nimport {distinctUntilChanged, mapTo, startWith, switchMapTo} from 'rxjs/operators';\n\n/**\n * Operator to set lifespan after which current value is considered obsolete\n */\nexport function tuiIsAlive(lifespan: number = 0): OperatorFunction<any, boolean> {\n return pipe(\n switchMapTo(timer(lifespan).pipe(mapTo(false), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {isNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {concat, merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n ignoreElements,\n mapTo,\n repeat,\n shareReplay,\n startWith,\n switchMapTo,\n take,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {tuiIsAlive} from './is-alive';\nimport {typedFromEvent} from './typed-from-event';\n\nlet documentMouseUpIsAlive$: Observable<boolean>;\nlet documentMouseDownIsAlive$: Observable<boolean>;\n\nexport function focusVisibleObservable(element: Element): Observable<boolean> {\n const elementBlur$ = typedFromEvent(element, 'blur');\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n if (!documentMouseDownIsAlive$ || !documentMouseUpIsAlive$) {\n documentMouseUpIsAlive$ = typedFromEvent(ownerDocument, 'mouseup', {\n capture: true,\n }).pipe(tuiIsAlive(), startWith(false), shareReplay(1));\n documentMouseDownIsAlive$ = typedFromEvent(ownerDocument, 'mousedown', {\n capture: true,\n }).pipe(tuiIsAlive(), startWith(false), shareReplay(1));\n }\n\n return merge(\n // focus events excluding ones that came right after mouse action\n concat(\n typedFromEvent(element, 'focus').pipe(take(1)),\n // filtering out blur events when element remains focused so that we ignore browser tab focus loss\n elementBlur$.pipe(\n filter(() => !isNativeFocused(element)),\n take(1),\n ignoreElements(),\n ),\n ).pipe(\n repeat(),\n withLatestFrom(\n documentMouseDownIsAlive$,\n documentMouseUpIsAlive$,\n (_event, elementActual, documentActual) =>\n elementActual || documentActual,\n ),\n filter(isUserFocus => !isUserFocus),\n ),\n ).pipe(\n switchMapTo(elementBlur$.pipe(mapTo(false), take(1), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {QueryList} from '@angular/core';\nimport {getOriginalArrayFromQueryList} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs/operators';\n\n/**\n * Converts changes observable of a QueryList to an Observable of arrays\n */\nexport function itemsQueryListObservable<T>(\n queryList: QueryList<T>,\n): Observable<readonly T[]> {\n return queryList.changes.pipe(\n map(() => getOriginalArrayFromQueryList(queryList)),\n startWith(getOriginalArrayFromQueryList(queryList)),\n );\n}\n","import {TuiValuePresentException} from '@taiga-ui/cdk/exceptions';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {OperatorFunction} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport function mustBePresent<T>(): OperatorFunction<T | undefined | null, T> {\n return map(value => {\n if (!isPresent(value)) {\n throw new TuiValuePresentException();\n }\n\n return value;\n });\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {filter, mapTo, startWith, switchMapTo, take} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport interface TuiPressedObservableOptions {\n onlyTrusted: boolean;\n}\n\nexport function pressedObservable(\n element: Element,\n {onlyTrusted}: TuiPressedObservableOptions = {onlyTrusted: true},\n): Observable<boolean> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return typedFromEvent(element, 'mousedown').pipe(\n filter(({isTrusted}) => isTrusted || !onlyTrusted),\n switchMapTo(\n mouseDragFinishFrom(ownerDocument).pipe(\n mapTo(false),\n take(1),\n startWith(true),\n ),\n ),\n );\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function preventDefault<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(e => {\n e.preventDefault();\n });\n}\n","import {AbstractControl, AbstractControlDirective} from '@angular/forms';\nimport {TuiValueChangesException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {startWith} from 'rxjs/operators';\n\n/**\n * Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)\n * TODO: rename function in 3.0. The name should be shorter.\n */\nexport function tuiReplayedValueChangesFrom<T>(\n control: AbstractControl | AbstractControlDirective,\n): Observable<T> {\n return new Observable(subscriber => {\n if (!control.valueChanges) {\n throw new TuiValueChangesException();\n }\n\n control.valueChanges.pipe(startWith(control.value)).subscribe(subscriber);\n });\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function stopPropagation<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(e => {\n e.stopPropagation();\n });\n}\n","import {ChangeDetectorRef} from '@angular/core';\nimport {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function watch<T>(\n changeDetectorRef: ChangeDetectorRef,\n): MonoTypeOperatorFunction<T> {\n return tap(() => {\n changeDetectorRef.markForCheck();\n });\n}\n","import {NgZone} from '@angular/core';\nimport {MonoTypeOperatorFunction, Observable, pipe} from 'rxjs';\n\nexport function tuiZonefull<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n source.subscribe({\n next: value => ngZone.run(() => subscriber.next(value)),\n error: error => ngZone.run(() => subscriber.error(error)),\n complete: () => ngZone.run(() => subscriber.complete()),\n }),\n );\n}\n\nexport function tuiZonefree<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n ngZone.runOutsideAngular(() => source.subscribe(subscriber)),\n );\n}\n\nexport function tuiZoneOptimized<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return pipe(tuiZonefree(ngZone), tuiZonefull(ngZone));\n}\n"],"names":["fromEvent","merge","TuiDragStage","TuiOwnerDocumentException","concat","take","map","endWith","takeWhile","isPresent","repeat","pipe","switchMapTo","timer","mapTo","startWith","distinctUntilChanged","shareReplay","filter","isNativeFocused","ignoreElements","withLatestFrom","getOriginalArrayFromQueryList","TuiValuePresentException","tap","Observable","TuiValueChangesException"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-observables.umd.js","sources":["ng://@taiga-ui/cdk/observables/typed-from-event.ts","ng://@taiga-ui/cdk/observables/mouse-drag-finish-from.ts","ng://@taiga-ui/cdk/observables/drag-and-drop-from.ts","ng://@taiga-ui/cdk/observables/is-alive.ts","ng://@taiga-ui/cdk/observables/focus-visible-observable.ts","ng://@taiga-ui/cdk/observables/items-query-list-observable.ts","ng://@taiga-ui/cdk/observables/must-be-present.ts","ng://@taiga-ui/cdk/observables/pressed-observable.ts","ng://@taiga-ui/cdk/observables/prevent-default.ts","ng://@taiga-ui/cdk/observables/replay-control-value-changes.ts","ng://@taiga-ui/cdk/observables/stop-propagation.ts","ng://@taiga-ui/cdk/observables/watch.ts","ng://@taiga-ui/cdk/observables/zone-free.ts"],"sourcesContent":["import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {fromEvent, Observable} from 'rxjs';\n\nexport function typedFromEvent<E extends keyof WindowEventMap>(\n target: Window,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<WindowEventMap[E], typeof target>>;\nexport function typedFromEvent<E extends keyof DocumentEventMap>(\n target: Document,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<DocumentEventMap[E], typeof target>>;\nexport function typedFromEvent<T extends Element, E extends keyof HTMLElementEventMap>(\n target: T,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<HTMLElementEventMap[E], typeof target>>;\nexport function typedFromEvent<\n E extends Event,\n T extends TuiTypedEventTarget<TuiEventWith<E, T>>,\n>(\n target: T,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<E, T>>;\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<E>;\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options: AddEventListenerOptions = {},\n): Observable<E> {\n return fromEvent(target, event, options);\n}\n","import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {merge, Observable} from 'rxjs';\n\nimport {typedFromEvent} from './typed-from-event';\n\n/**\n * Letting go of the mouse after it was pressed\n * @param target\n */\nexport function mouseDragFinishFrom<\n T extends TuiTypedEventTarget<TuiEventWith<DragEvent, T>>,\n>(target: Exclude<T, null>): Observable<TuiEventWith<MouseEvent, T>> {\n return merge(typedFromEvent(target, 'mouseup'), typedFromEvent(target, 'dragend'));\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {concat, merge, Observable} from 'rxjs';\nimport {endWith, map, repeat, take, takeWhile} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport const enum TuiDragStage {\n Start,\n Continues,\n End,\n}\n\nexport class TuiDragState {\n constructor(readonly stage: TuiDragStage, readonly event: MouseEvent) {}\n}\n\nexport function dragAndDropFrom(element: Element): Observable<TuiDragState> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return concat(\n typedFromEvent(element, 'mousedown').pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.Start, event)),\n ),\n merge(\n typedFromEvent(ownerDocument, 'mousemove').pipe(\n map(event => new TuiDragState(TuiDragStage.Continues, event)),\n ),\n mouseDragFinishFrom(ownerDocument).pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.End, event)),\n endWith(null),\n ),\n ).pipe(takeWhile(isPresent)),\n ).pipe(repeat());\n}\n","import {OperatorFunction, pipe, timer} from 'rxjs';\nimport {distinctUntilChanged, mapTo, startWith, switchMapTo} from 'rxjs/operators';\n\n/**\n * Operator to set lifespan after which current value is considered obsolete\n */\nexport function tuiIsAlive(lifespan: number = 0): OperatorFunction<any, boolean> {\n return pipe(\n switchMapTo(timer(lifespan).pipe(mapTo(false), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {isNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {concat, merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n ignoreElements,\n mapTo,\n repeat,\n shareReplay,\n startWith,\n switchMapTo,\n take,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {tuiIsAlive} from './is-alive';\nimport {typedFromEvent} from './typed-from-event';\n\nlet documentMouseUpIsAlive$: Observable<boolean>;\nlet documentMouseDownIsAlive$: Observable<boolean>;\n\nexport function focusVisibleObservable(element: Element): Observable<boolean> {\n const elementBlur$ = typedFromEvent(element, 'blur');\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n if (!documentMouseDownIsAlive$ || !documentMouseUpIsAlive$) {\n documentMouseUpIsAlive$ = typedFromEvent(ownerDocument, 'mouseup', {\n capture: true,\n }).pipe(\n tuiIsAlive(),\n startWith(false),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n documentMouseDownIsAlive$ = typedFromEvent(ownerDocument, 'mousedown', {\n capture: true,\n }).pipe(\n tuiIsAlive(),\n startWith(false),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n }\n\n return merge(\n // focus events excluding ones that came right after mouse action\n concat(\n typedFromEvent(element, 'focus').pipe(take(1)),\n // filtering out blur events when element remains focused so that we ignore browser tab focus loss\n elementBlur$.pipe(\n filter(() => !isNativeFocused(element)),\n take(1),\n ignoreElements(),\n ),\n ).pipe(\n repeat(),\n withLatestFrom(\n documentMouseDownIsAlive$,\n documentMouseUpIsAlive$,\n (_event, elementActual, documentActual) =>\n elementActual || documentActual,\n ),\n filter(isUserFocus => !isUserFocus),\n ),\n ).pipe(\n switchMapTo(elementBlur$.pipe(mapTo(false), take(1), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {QueryList} from '@angular/core';\nimport {getOriginalArrayFromQueryList} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs/operators';\n\n/**\n * Converts changes observable of a QueryList to an Observable of arrays\n */\nexport function itemsQueryListObservable<T>(\n queryList: QueryList<T>,\n): Observable<readonly T[]> {\n return queryList.changes.pipe(\n map(() => getOriginalArrayFromQueryList(queryList)),\n startWith(getOriginalArrayFromQueryList(queryList)),\n );\n}\n","import {TuiValuePresentException} from '@taiga-ui/cdk/exceptions';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {OperatorFunction} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport function mustBePresent<T>(): OperatorFunction<T | undefined | null, T> {\n return map(value => {\n if (!isPresent(value)) {\n throw new TuiValuePresentException();\n }\n\n return value;\n });\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {filter, mapTo, startWith, switchMapTo, take} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport interface TuiPressedObservableOptions {\n onlyTrusted: boolean;\n}\n\nexport function pressedObservable(\n element: Element,\n {onlyTrusted}: TuiPressedObservableOptions = {onlyTrusted: true},\n): Observable<boolean> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return typedFromEvent(element, 'mousedown').pipe(\n filter(({isTrusted}) => isTrusted || !onlyTrusted),\n switchMapTo(\n mouseDragFinishFrom(ownerDocument).pipe(\n mapTo(false),\n take(1),\n startWith(true),\n ),\n ),\n );\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function preventDefault<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(event => event.preventDefault());\n}\n","import {AbstractControl, AbstractControlDirective} from '@angular/forms';\nimport {TuiValueChangesException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {startWith} from 'rxjs/operators';\n\n/**\n * Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)\n * TODO: rename function in 3.0. The name should be shorter.\n */\nexport function tuiReplayedValueChangesFrom<T>(\n control: AbstractControl | AbstractControlDirective,\n): Observable<T> {\n return new Observable(subscriber => {\n if (!control.valueChanges) {\n throw new TuiValueChangesException();\n }\n\n control.valueChanges.pipe(startWith(control.value)).subscribe(subscriber);\n });\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function stopPropagation<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(e => {\n e.stopPropagation();\n });\n}\n","import {ChangeDetectorRef} from '@angular/core';\nimport {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function watch<T>(\n changeDetectorRef: ChangeDetectorRef,\n): MonoTypeOperatorFunction<T> {\n return tap(() => {\n changeDetectorRef.markForCheck();\n });\n}\n","import {NgZone} from '@angular/core';\nimport {MonoTypeOperatorFunction, Observable, pipe} from 'rxjs';\n\nexport function tuiZonefull<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n source.subscribe({\n next: value => ngZone.run(() => subscriber.next(value)),\n error: (error: unknown) => ngZone.run(() => subscriber.error(error)),\n complete: () => ngZone.run(() => subscriber.complete()),\n }),\n );\n}\n\nexport function tuiZonefree<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n ngZone.runOutsideAngular(() => source.subscribe(subscriber)),\n );\n}\n\nexport function tuiZoneOptimized<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return pipe(tuiZonefree(ngZone), tuiZonefull(ngZone));\n}\n"],"names":["fromEvent","merge","TuiDragStage","TuiOwnerDocumentException","concat","take","map","endWith","takeWhile","isPresent","repeat","pipe","switchMapTo","timer","mapTo","startWith","distinctUntilChanged","shareReplay","filter","isNativeFocused","ignoreElements","withLatestFrom","getOriginalArrayFromQueryList","TuiValuePresentException","tap","Observable","TuiValueChangesException"],"mappings":";;;;;;aA+BgB,cAAc,CAC1B,MAA8B,EAC9B,KAAa,EACb,OAAqC;QAArC,wBAAA,EAAA,YAAqC;QAErC,OAAOA,cAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7C;;IChCA;;;;aAIgB,mBAAmB,CAEjC,MAAwB;QACtB,OAAOC,UAAK,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACvF;;;ICLA,WAAkB,YAAY;QAC1B,iDAAK,CAAA;QACL,yDAAS,CAAA;QACT,6CAAG,CAAA;IACP,CAAC,EAJiBC,oBAAY,KAAZA,oBAAY,QAI7B;;QAGG,sBAAqB,KAAmB,EAAW,KAAiB;YAA/C,UAAK,GAAL,KAAK,CAAc;YAAW,UAAK,GAAL,KAAK,CAAY;SAAI;QAC5E,mBAAC;IAAD,CAAC,IAAA;aAEe,eAAe,CAAC,OAAgB;QACrC,IAAA,qCAAa,CAAY;QAEhC,IAAI,CAAC,aAAa,EAAE;YAChB,MAAM,IAAIC,oCAAyB,EAAE,CAAC;SACzC;QAED,OAAOC,WAAM,CACT,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CACrCC,cAAI,CAAC,CAAC,CAAC,EACPC,aAAG,CAAC,UAAA,KAAK,IAAI,OAAA,IAAI,YAAY,gBAAqB,KAAK,CAAC,GAAA,CAAC,CAC5D,EACDL,UAAK,CACD,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,IAAI,CAC3CK,aAAG,CAAC,UAAA,KAAK,IAAI,OAAA,IAAI,YAAY,oBAAyB,KAAK,CAAC,GAAA,CAAC,CAChE,EACD,mBAAmB,CAAC,aAAa,CAAC,CAAC,IAAI,CACnCD,cAAI,CAAC,CAAC,CAAC,EACPC,aAAG,CAAC,UAAA,KAAK,IAAI,OAAA,IAAI,YAAY,cAAmB,KAAK,CAAC,GAAA,CAAC,EACvDC,iBAAO,CAAC,IAAI,CAAC,CAChB,CACJ,CAAC,IAAI,CAACC,mBAAS,CAACC,uBAAS,CAAC,CAAC,CAC/B,CAAC,IAAI,CAACC,gBAAM,EAAE,CAAC,CAAC;IACrB;;ICtCA;;;aAGgB,UAAU,CAAC,QAAoB;QAApB,yBAAA,EAAA,YAAoB;QAC3C,OAAOC,SAAI,CACPC,qBAAW,CAACC,UAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAACC,eAAK,CAAC,KAAK,CAAC,EAAEC,mBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAChEC,8BAAoB,EAAE,CACzB,CAAC;IACN;;ICQA,IAAI,uBAA4C,CAAC;IACjD,IAAI,yBAA8C,CAAC;aAEnC,sBAAsB,CAAC,OAAgB;QACnD,IAAM,YAAY,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAA,qCAAa,CAAY;QAEhC,IAAI,CAAC,aAAa,EAAE;YAChB,MAAM,IAAIb,oCAAyB,EAAE,CAAC;SACzC;QAED,IAAI,CAAC,yBAAyB,IAAI,CAAC,uBAAuB,EAAE;YACxD,uBAAuB,GAAG,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE;gBAC/D,OAAO,EAAE,IAAI;aAChB,CAAC,CAAC,IAAI,CACH,UAAU,EAAE,EACZY,mBAAS,CAAC,KAAK,CAAC,EAChBE,qBAAW,CAAC,EAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAC/C,CAAC;YACF,yBAAyB,GAAG,cAAc,CAAC,aAAa,EAAE,WAAW,EAAE;gBACnE,OAAO,EAAE,IAAI;aAChB,CAAC,CAAC,IAAI,CACH,UAAU,EAAE,EACZF,mBAAS,CAAC,KAAK,CAAC,EAChBE,qBAAW,CAAC,EAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAC/C,CAAC;SACL;QAED,OAAOhB,UAAK;;QAERG,WAAM,CACF,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAACC,cAAI,CAAC,CAAC,CAAC,CAAC;;QAE9C,YAAY,CAAC,IAAI,CACba,gBAAM,CAAC,cAAM,OAAA,CAACC,qBAAe,CAAC,OAAO,CAAC,GAAA,CAAC,EACvCd,cAAI,CAAC,CAAC,CAAC,EACPe,wBAAc,EAAE,CACnB,CACJ,CAAC,IAAI,CACFV,gBAAM,EAAE,EACRW,wBAAc,CACV,yBAAyB,EACzB,uBAAuB,EACvB,UAAC,MAAM,EAAE,aAAa,EAAE,cAAc;YAClC,OAAA,aAAa,IAAI,cAAc;SAAA,CACtC,EACDH,gBAAM,CAAC,UAAA,WAAW,IAAI,OAAA,CAAC,WAAW,GAAA,CAAC,CACtC,CACJ,CAAC,IAAI,CACFN,qBAAW,CAAC,YAAY,CAAC,IAAI,CAACE,eAAK,CAAC,KAAK,CAAC,EAAET,cAAI,CAAC,CAAC,CAAC,EAAEU,mBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EACtEC,8BAAoB,EAAE,CACzB,CAAC;IACN;;IClEA;;;aAGgB,wBAAwB,CACpC,SAAuB;QAEvB,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CACzBV,aAAG,CAAC,cAAM,OAAAgB,2CAA6B,CAAC,SAAS,CAAC,GAAA,CAAC,EACnDP,mBAAS,CAACO,2CAA6B,CAAC,SAAS,CAAC,CAAC,CACtD,CAAC;IACN;;aCVgB,aAAa;QACzB,OAAOhB,aAAG,CAAC,UAAA,KAAK;YACZ,IAAI,CAACG,uBAAS,CAAC,KAAK,CAAC,EAAE;gBACnB,MAAM,IAAIc,mCAAwB,EAAE,CAAC;aACxC;YAED,OAAO,KAAK,CAAC;SAChB,CAAC,CAAC;IACP;;aCFgB,iBAAiB,CAC7B,OAAgB,EAChB,EAAgE;YAA/D,sEAAW;QAEL,IAAA,qCAAa,CAAY;QAEhC,IAAI,CAAC,aAAa,EAAE;YAChB,MAAM,IAAIpB,oCAAyB,EAAE,CAAC;SACzC;QAED,OAAO,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAC5Ce,gBAAM,CAAC,UAAC,EAAW;gBAAV,wBAAS;YAAM,OAAA,SAAS,IAAI,CAAC,WAAW;SAAA,CAAC,EAClDN,qBAAW,CACP,mBAAmB,CAAC,aAAa,CAAC,CAAC,IAAI,CACnCE,eAAK,CAAC,KAAK,CAAC,EACZT,cAAI,CAAC,CAAC,CAAC,EACPU,mBAAS,CAAC,IAAI,CAAC,CAClB,CACJ,CACJ,CAAC;IACN;;aC5BgB,cAAc;QAC1B,OAAOS,aAAG,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,cAAc,EAAE,GAAA,CAAC,CAAC;IAChD;;ICAA;;;;aAIgB,2BAA2B,CACvC,OAAmD;QAEnD,OAAO,IAAIC,eAAU,CAAC,UAAA,UAAU;YAC5B,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;gBACvB,MAAM,IAAIC,mCAAwB,EAAE,CAAC;aACxC;YAED,OAAO,CAAC,YAAY,CAAC,IAAI,CAACX,mBAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;SAC7E,CAAC,CAAC;IACP;;aChBgB,eAAe;QAC3B,OAAOS,aAAG,CAAC,UAAA,CAAC;YACR,CAAC,CAAC,eAAe,EAAE,CAAC;SACvB,CAAC,CAAC;IACP;;aCHgB,KAAK,CACjB,iBAAoC;QAEpC,OAAOA,aAAG,CAAC;YACP,iBAAiB,CAAC,YAAY,EAAE,CAAC;SACpC,CAAC,CAAC;IACP;;aCPgB,WAAW,CAAI,MAAc;QACzC,OAAO,UAAA,MAAM;YACT,OAAA,IAAIC,eAAU,CAAC,UAAA,UAAU;gBACrB,OAAA,MAAM,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,UAAA,KAAK,IAAI,OAAA,MAAM,CAAC,GAAG,CAAC,cAAM,OAAA,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAA,CAAC,GAAA;oBACvD,KAAK,EAAE,UAAC,KAAc,IAAK,OAAA,MAAM,CAAC,GAAG,CAAC,cAAM,OAAA,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,GAAA,CAAC,GAAA;oBACpE,QAAQ,EAAE,cAAM,OAAA,MAAM,CAAC,GAAG,CAAC,cAAM,OAAA,UAAU,CAAC,QAAQ,EAAE,GAAA,CAAC,GAAA;iBAC1D,CAAC;aAAA,CACL;SAAA,CAAC;IACV,CAAC;aAEe,WAAW,CAAI,MAAc;QACzC,OAAO,UAAA,MAAM;YACT,OAAA,IAAIA,eAAU,CAAC,UAAA,UAAU;gBACrB,OAAA,MAAM,CAAC,iBAAiB,CAAC,cAAM,OAAA,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,GAAA,CAAC;aAAA,CAC/D;SAAA,CAAC;IACV,CAAC;aAEe,gBAAgB,CAAI,MAAc;QAC9C,OAAOd,SAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@taiga-ui/cdk/exceptions"),require("@taiga-ui/cdk/utils/miscellaneous"),require("rxjs"),require("rxjs/operators"),require("@taiga-ui/cdk/utils/focus")):"function"==typeof define&&define.amd?define("@taiga-ui/cdk/observables",["exports","@taiga-ui/cdk/exceptions","@taiga-ui/cdk/utils/miscellaneous","rxjs","rxjs/operators","@taiga-ui/cdk/utils/focus"],t):t(((e=e||self)["taiga-ui"]=e["taiga-ui"]||{},e["taiga-ui"].cdk=e["taiga-ui"].cdk||{},e["taiga-ui"].cdk.observables={}),e["taiga-ui"].cdk.exceptions,e["taiga-ui"].cdk.utils.miscellaneous,e.rxjs,e.rxjs.operators,e["taiga-ui"].cdk.utils.focus)}(this,(function(e,t,n,r,i,u){"use strict";function o(e,t,n){return void 0===n&&(n={}),r.fromEvent(e,t,n)}function a(e){return r.merge(o(e,"mouseup"),o(e,"dragend"))}var s;(s=e.TuiDragStage||(e.TuiDragStage={}))[s.Start=0]="Start",s[s.Continues=1]="Continues",s[s.End=2]="End";var c,p,f=function(e,t){this.stage=e,this.event=t};function l(e){return void 0===e&&(e=0),r.pipe(i.switchMapTo(r.timer(e).pipe(i.mapTo(!1),i.startWith(!0))),i.distinctUntilChanged())}function d(e){return function(t){return new r.Observable((function(n){return t.subscribe({next:function(t){return e.run((function(){return n.next(t)}))},error:function(t){return e.run((function(){return n.error(t)}))},complete:function(){return e.run((function(){return n.complete()}))}})}))}}function m(e){return function(t){return new r.Observable((function(n){return e.runOutsideAngular((function(){return t.subscribe(n)}))}))}}e.TuiDragState=f,e.dragAndDropFrom=function(e){var u=e.ownerDocument;if(!u)throw new t.TuiOwnerDocumentException;return r.concat(o(e,"mousedown").pipe(i.take(1),i.map((function(e){return new f(0,e)}))),r.merge(o(u,"mousemove").pipe(i.map((function(e){return new f(1,e)}))),a(u).pipe(i.take(1),i.map((function(e){return new f(2,e)})),i.endWith(null))).pipe(i.takeWhile(n.isPresent))).pipe(i.repeat())},e.focusVisibleObservable=function(e){var n=o(e,"blur"),a=e.ownerDocument;if(!a)throw new t.TuiOwnerDocumentException;return p&&c||(c=o(a,"mouseup",{capture:!0}).pipe(l(),i.startWith(!1),i.shareReplay(1)),p=o(a,"mousedown",{capture:!0}).pipe(l(),i.startWith(!1),i.shareReplay(1))),r.merge(r.concat(o(e,"focus").pipe(i.take(1)),n.pipe(i.filter((function(){return!u.isNativeFocused(e)})),i.take(1),i.ignoreElements())).pipe(i.repeat(),i.withLatestFrom(p,c,(function(e,t,n){return t||n})),i.filter((function(e){return!e})))).pipe(i.switchMapTo(n.pipe(i.mapTo(!1),i.take(1),i.startWith(!0))),i.distinctUntilChanged())},e.itemsQueryListObservable=function(e){return e.changes.pipe(i.map((function(){return n.getOriginalArrayFromQueryList(e)})),i.startWith(n.getOriginalArrayFromQueryList(e)))},e.mouseDragFinishFrom=a,e.mustBePresent=function(){return i.map((function(e){if(!n.isPresent(e))throw new t.TuiValuePresentException;return e}))},e.pressedObservable=function(e,n){var r=(void 0===n?{onlyTrusted:!0}:n).onlyTrusted,u=e.ownerDocument;if(!u)throw new t.TuiOwnerDocumentException;return o(e,"mousedown").pipe(i.filter((function(e){return e.isTrusted||!r})),i.switchMapTo(a(u).pipe(i.mapTo(!1),i.take(1),i.startWith(!0))))},e.preventDefault=function(){return i.tap((function(e){e.preventDefault()}))},e.stopPropagation=function(){return i.tap((function(e){e.stopPropagation()}))},e.tuiIsAlive=l,e.tuiReplayedValueChangesFrom=function(e){return new r.Observable((function(n){if(!e.valueChanges)throw new t.TuiValueChangesException;e.valueChanges.pipe(i.startWith(e.value)).subscribe(n)}))},e.tuiZoneOptimized=function(e){return r.pipe(m(e),d(e))},e.tuiZonefree=m,e.tuiZonefull=d,e.typedFromEvent=o,e.watch=function(e){return i.tap((function(){e.markForCheck()}))},Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@taiga-ui/cdk/exceptions"),require("@taiga-ui/cdk/utils/miscellaneous"),require("rxjs"),require("rxjs/operators"),require("@taiga-ui/cdk/utils/focus")):"function"==typeof define&&define.amd?define("@taiga-ui/cdk/observables",["exports","@taiga-ui/cdk/exceptions","@taiga-ui/cdk/utils/miscellaneous","rxjs","rxjs/operators","@taiga-ui/cdk/utils/focus"],t):t(((e=e||self)["taiga-ui"]=e["taiga-ui"]||{},e["taiga-ui"].cdk=e["taiga-ui"].cdk||{},e["taiga-ui"].cdk.observables={}),e["taiga-ui"].cdk.exceptions,e["taiga-ui"].cdk.utils.miscellaneous,e.rxjs,e.rxjs.operators,e["taiga-ui"].cdk.utils.focus)}(this,(function(e,t,n,r,i,u){"use strict";function o(e,t,n){return void 0===n&&(n={}),r.fromEvent(e,t,n)}function a(e){return r.merge(o(e,"mouseup"),o(e,"dragend"))}var s;(s=e.TuiDragStage||(e.TuiDragStage={}))[s.Start=0]="Start",s[s.Continues=1]="Continues",s[s.End=2]="End";var c,p,f=function(e,t){this.stage=e,this.event=t};function l(e){return void 0===e&&(e=0),r.pipe(i.switchMapTo(r.timer(e).pipe(i.mapTo(!1),i.startWith(!0))),i.distinctUntilChanged())}function d(e){return function(t){return new r.Observable((function(n){return t.subscribe({next:function(t){return e.run((function(){return n.next(t)}))},error:function(t){return e.run((function(){return n.error(t)}))},complete:function(){return e.run((function(){return n.complete()}))}})}))}}function m(e){return function(t){return new r.Observable((function(n){return e.runOutsideAngular((function(){return t.subscribe(n)}))}))}}e.TuiDragState=f,e.dragAndDropFrom=function(e){var u=e.ownerDocument;if(!u)throw new t.TuiOwnerDocumentException;return r.concat(o(e,"mousedown").pipe(i.take(1),i.map((function(e){return new f(0,e)}))),r.merge(o(u,"mousemove").pipe(i.map((function(e){return new f(1,e)}))),a(u).pipe(i.take(1),i.map((function(e){return new f(2,e)})),i.endWith(null))).pipe(i.takeWhile(n.isPresent))).pipe(i.repeat())},e.focusVisibleObservable=function(e){var n=o(e,"blur"),a=e.ownerDocument;if(!a)throw new t.TuiOwnerDocumentException;return p&&c||(c=o(a,"mouseup",{capture:!0}).pipe(l(),i.startWith(!1),i.shareReplay({bufferSize:1,refCount:!0})),p=o(a,"mousedown",{capture:!0}).pipe(l(),i.startWith(!1),i.shareReplay({bufferSize:1,refCount:!0}))),r.merge(r.concat(o(e,"focus").pipe(i.take(1)),n.pipe(i.filter((function(){return!u.isNativeFocused(e)})),i.take(1),i.ignoreElements())).pipe(i.repeat(),i.withLatestFrom(p,c,(function(e,t,n){return t||n})),i.filter((function(e){return!e})))).pipe(i.switchMapTo(n.pipe(i.mapTo(!1),i.take(1),i.startWith(!0))),i.distinctUntilChanged())},e.itemsQueryListObservable=function(e){return e.changes.pipe(i.map((function(){return n.getOriginalArrayFromQueryList(e)})),i.startWith(n.getOriginalArrayFromQueryList(e)))},e.mouseDragFinishFrom=a,e.mustBePresent=function(){return i.map((function(e){if(!n.isPresent(e))throw new t.TuiValuePresentException;return e}))},e.pressedObservable=function(e,n){var r=(void 0===n?{onlyTrusted:!0}:n).onlyTrusted,u=e.ownerDocument;if(!u)throw new t.TuiOwnerDocumentException;return o(e,"mousedown").pipe(i.filter((function(e){return e.isTrusted||!r})),i.switchMapTo(a(u).pipe(i.mapTo(!1),i.take(1),i.startWith(!0))))},e.preventDefault=function(){return i.tap((function(e){return e.preventDefault()}))},e.stopPropagation=function(){return i.tap((function(e){e.stopPropagation()}))},e.tuiIsAlive=l,e.tuiReplayedValueChangesFrom=function(e){return new r.Observable((function(n){if(!e.valueChanges)throw new t.TuiValueChangesException;e.valueChanges.pipe(i.startWith(e.value)).subscribe(n)}))},e.tuiZoneOptimized=function(e){return r.pipe(m(e),d(e))},e.tuiZonefree=m,e.tuiZonefull=d,e.typedFromEvent=o,e.watch=function(e){return i.tap((function(){e.markForCheck()}))},Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=taiga-ui-cdk-observables.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["ng://@taiga-ui/cdk/observables/typed-from-event.ts","ng://@taiga-ui/cdk/observables/mouse-drag-finish-from.ts","ng://@taiga-ui/cdk/observables/drag-and-drop-from.ts","ng://@taiga-ui/cdk/observables/focus-visible-observable.ts","ng://@taiga-ui/cdk/observables/is-alive.ts","ng://@taiga-ui/cdk/observables/zone-free.ts","ng://@taiga-ui/cdk/observables/items-query-list-observable.ts","ng://@taiga-ui/cdk/observables/must-be-present.ts","ng://@taiga-ui/cdk/observables/pressed-observable.ts","ng://@taiga-ui/cdk/observables/prevent-default.ts","ng://@taiga-ui/cdk/observables/stop-propagation.ts","ng://@taiga-ui/cdk/observables/replay-control-value-changes.ts","ng://@taiga-ui/cdk/observables/watch.ts"],"names":["typedFromEvent","target","event","options","fromEvent","mouseDragFinishFrom","merge","TuiDragStage","documentMouseUpIsAlive$","documentMouseDownIsAlive$","stage","this","tuiIsAlive","lifespan","pipe","switchMapTo","timer","mapTo","startWith","distinctUntilChanged","tuiZonefull","ngZone","source","Observable","subscriber","subscribe","next","value","run","error","complete","tuiZonefree","runOutsideAngular","element","ownerDocument","TuiOwnerDocumentException","concat","take","map","TuiDragState","endWith","takeWhile","isPresent","repeat","elementBlur$","capture","shareReplay","filter","isNativeFocused","ignoreElements","withLatestFrom","_event","elementActual","documentActual","isUserFocus","queryList","changes","getOriginalArrayFromQueryList","TuiValuePresentException","_a","onlyTrusted","isTrusted","tap","e","preventDefault","stopPropagation","control","valueChanges","TuiValueChangesException","changeDetectorRef","markForCheck"],"mappings":"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","sourcesContent":["import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {fromEvent, Observable} from 'rxjs';\n\nexport function typedFromEvent<E extends keyof WindowEventMap>(\n target: Window,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<WindowEventMap[E], typeof target>>;\nexport function typedFromEvent<E extends keyof DocumentEventMap>(\n target: Document,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<DocumentEventMap[E], typeof target>>;\nexport function typedFromEvent<T extends Element, E extends keyof HTMLElementEventMap>(\n target: T,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<HTMLElementEventMap[E], typeof target>>;\nexport function typedFromEvent<\n E extends Event,\n T extends TuiTypedEventTarget<TuiEventWith<E, T>>,\n>(\n target: T,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<E, T>>;\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<E>;\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options: AddEventListenerOptions = {},\n): Observable<E> {\n return fromEvent(target, event, options);\n}\n","import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {merge, Observable} from 'rxjs';\n\nimport {typedFromEvent} from './typed-from-event';\n\n/**\n * Letting go of the mouse after it was pressed\n * @param target\n */\nexport function mouseDragFinishFrom<\n T extends TuiTypedEventTarget<TuiEventWith<DragEvent, T>>,\n>(target: Exclude<T, null>): Observable<TuiEventWith<MouseEvent, T>> {\n return merge(typedFromEvent(target, 'mouseup'), typedFromEvent(target, 'dragend'));\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {concat, merge, Observable} from 'rxjs';\nimport {endWith, map, repeat, take, takeWhile} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport const enum TuiDragStage {\n Start,\n Continues,\n End,\n}\n\nexport class TuiDragState {\n constructor(readonly stage: TuiDragStage, readonly event: MouseEvent) {}\n}\n\nexport function dragAndDropFrom(element: Element): Observable<TuiDragState> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return concat(\n typedFromEvent(element, 'mousedown').pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.Start, event)),\n ),\n merge(\n typedFromEvent(ownerDocument, 'mousemove').pipe(\n map(event => new TuiDragState(TuiDragStage.Continues, event)),\n ),\n mouseDragFinishFrom(ownerDocument).pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.End, event)),\n endWith(null),\n ),\n ).pipe(takeWhile(isPresent)),\n ).pipe(repeat());\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {isNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {concat, merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n ignoreElements,\n mapTo,\n repeat,\n shareReplay,\n startWith,\n switchMapTo,\n take,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {tuiIsAlive} from './is-alive';\nimport {typedFromEvent} from './typed-from-event';\n\nlet documentMouseUpIsAlive$: Observable<boolean>;\nlet documentMouseDownIsAlive$: Observable<boolean>;\n\nexport function focusVisibleObservable(element: Element): Observable<boolean> {\n const elementBlur$ = typedFromEvent(element, 'blur');\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n if (!documentMouseDownIsAlive$ || !documentMouseUpIsAlive$) {\n documentMouseUpIsAlive$ = typedFromEvent(ownerDocument, 'mouseup', {\n capture: true,\n }).pipe(tuiIsAlive(), startWith(false), shareReplay(1));\n documentMouseDownIsAlive$ = typedFromEvent(ownerDocument, 'mousedown', {\n capture: true,\n }).pipe(tuiIsAlive(), startWith(false), shareReplay(1));\n }\n\n return merge(\n // focus events excluding ones that came right after mouse action\n concat(\n typedFromEvent(element, 'focus').pipe(take(1)),\n // filtering out blur events when element remains focused so that we ignore browser tab focus loss\n elementBlur$.pipe(\n filter(() => !isNativeFocused(element)),\n take(1),\n ignoreElements(),\n ),\n ).pipe(\n repeat(),\n withLatestFrom(\n documentMouseDownIsAlive$,\n documentMouseUpIsAlive$,\n (_event, elementActual, documentActual) =>\n elementActual || documentActual,\n ),\n filter(isUserFocus => !isUserFocus),\n ),\n ).pipe(\n switchMapTo(elementBlur$.pipe(mapTo(false), take(1), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {OperatorFunction, pipe, timer} from 'rxjs';\nimport {distinctUntilChanged, mapTo, startWith, switchMapTo} from 'rxjs/operators';\n\n/**\n * Operator to set lifespan after which current value is considered obsolete\n */\nexport function tuiIsAlive(lifespan: number = 0): OperatorFunction<any, boolean> {\n return pipe(\n switchMapTo(timer(lifespan).pipe(mapTo(false), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {NgZone} from '@angular/core';\nimport {MonoTypeOperatorFunction, Observable, pipe} from 'rxjs';\n\nexport function tuiZonefull<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n source.subscribe({\n next: value => ngZone.run(() => subscriber.next(value)),\n error: error => ngZone.run(() => subscriber.error(error)),\n complete: () => ngZone.run(() => subscriber.complete()),\n }),\n );\n}\n\nexport function tuiZonefree<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n ngZone.runOutsideAngular(() => source.subscribe(subscriber)),\n );\n}\n\nexport function tuiZoneOptimized<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return pipe(tuiZonefree(ngZone), tuiZonefull(ngZone));\n}\n","import {QueryList} from '@angular/core';\nimport {getOriginalArrayFromQueryList} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs/operators';\n\n/**\n * Converts changes observable of a QueryList to an Observable of arrays\n */\nexport function itemsQueryListObservable<T>(\n queryList: QueryList<T>,\n): Observable<readonly T[]> {\n return queryList.changes.pipe(\n map(() => getOriginalArrayFromQueryList(queryList)),\n startWith(getOriginalArrayFromQueryList(queryList)),\n );\n}\n","import {TuiValuePresentException} from '@taiga-ui/cdk/exceptions';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {OperatorFunction} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport function mustBePresent<T>(): OperatorFunction<T | undefined | null, T> {\n return map(value => {\n if (!isPresent(value)) {\n throw new TuiValuePresentException();\n }\n\n return value;\n });\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {filter, mapTo, startWith, switchMapTo, take} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport interface TuiPressedObservableOptions {\n onlyTrusted: boolean;\n}\n\nexport function pressedObservable(\n element: Element,\n {onlyTrusted}: TuiPressedObservableOptions = {onlyTrusted: true},\n): Observable<boolean> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return typedFromEvent(element, 'mousedown').pipe(\n filter(({isTrusted}) => isTrusted || !onlyTrusted),\n switchMapTo(\n mouseDragFinishFrom(ownerDocument).pipe(\n mapTo(false),\n take(1),\n startWith(true),\n ),\n ),\n );\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function preventDefault<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(e => {\n e.preventDefault();\n });\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function stopPropagation<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(e => {\n e.stopPropagation();\n });\n}\n","import {AbstractControl, AbstractControlDirective} from '@angular/forms';\nimport {TuiValueChangesException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {startWith} from 'rxjs/operators';\n\n/**\n * Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)\n * TODO: rename function in 3.0. The name should be shorter.\n */\nexport function tuiReplayedValueChangesFrom<T>(\n control: AbstractControl | AbstractControlDirective,\n): Observable<T> {\n return new Observable(subscriber => {\n if (!control.valueChanges) {\n throw new TuiValueChangesException();\n }\n\n control.valueChanges.pipe(startWith(control.value)).subscribe(subscriber);\n });\n}\n","import {ChangeDetectorRef} from '@angular/core';\nimport {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function watch<T>(\n changeDetectorRef: ChangeDetectorRef,\n): MonoTypeOperatorFunction<T> {\n return tap(() => {\n changeDetectorRef.markForCheck();\n });\n}\n"]}
1
+ {"version":3,"sources":["ng://@taiga-ui/cdk/observables/typed-from-event.ts","ng://@taiga-ui/cdk/observables/mouse-drag-finish-from.ts","ng://@taiga-ui/cdk/observables/drag-and-drop-from.ts","ng://@taiga-ui/cdk/observables/focus-visible-observable.ts","ng://@taiga-ui/cdk/observables/is-alive.ts","ng://@taiga-ui/cdk/observables/zone-free.ts","ng://@taiga-ui/cdk/observables/items-query-list-observable.ts","ng://@taiga-ui/cdk/observables/must-be-present.ts","ng://@taiga-ui/cdk/observables/pressed-observable.ts","ng://@taiga-ui/cdk/observables/prevent-default.ts","ng://@taiga-ui/cdk/observables/stop-propagation.ts","ng://@taiga-ui/cdk/observables/replay-control-value-changes.ts","ng://@taiga-ui/cdk/observables/watch.ts"],"names":["typedFromEvent","target","event","options","fromEvent","mouseDragFinishFrom","merge","TuiDragStage","documentMouseUpIsAlive$","documentMouseDownIsAlive$","stage","this","tuiIsAlive","lifespan","pipe","switchMapTo","timer","mapTo","startWith","distinctUntilChanged","tuiZonefull","ngZone","source","Observable","subscriber","subscribe","next","value","run","error","complete","tuiZonefree","runOutsideAngular","element","ownerDocument","TuiOwnerDocumentException","concat","take","map","TuiDragState","endWith","takeWhile","isPresent","repeat","elementBlur$","capture","shareReplay","bufferSize","refCount","filter","isNativeFocused","ignoreElements","withLatestFrom","_event","elementActual","documentActual","isUserFocus","queryList","changes","getOriginalArrayFromQueryList","TuiValuePresentException","_a","onlyTrusted","isTrusted","tap","preventDefault","e","stopPropagation","control","valueChanges","TuiValueChangesException","changeDetectorRef","markForCheck"],"mappings":"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","sourcesContent":["import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {fromEvent, Observable} from 'rxjs';\n\nexport function typedFromEvent<E extends keyof WindowEventMap>(\n target: Window,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<WindowEventMap[E], typeof target>>;\nexport function typedFromEvent<E extends keyof DocumentEventMap>(\n target: Document,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<DocumentEventMap[E], typeof target>>;\nexport function typedFromEvent<T extends Element, E extends keyof HTMLElementEventMap>(\n target: T,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<HTMLElementEventMap[E], typeof target>>;\nexport function typedFromEvent<\n E extends Event,\n T extends TuiTypedEventTarget<TuiEventWith<E, T>>,\n>(\n target: T,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<E, T>>;\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<E>;\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options: AddEventListenerOptions = {},\n): Observable<E> {\n return fromEvent(target, event, options);\n}\n","import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {merge, Observable} from 'rxjs';\n\nimport {typedFromEvent} from './typed-from-event';\n\n/**\n * Letting go of the mouse after it was pressed\n * @param target\n */\nexport function mouseDragFinishFrom<\n T extends TuiTypedEventTarget<TuiEventWith<DragEvent, T>>,\n>(target: Exclude<T, null>): Observable<TuiEventWith<MouseEvent, T>> {\n return merge(typedFromEvent(target, 'mouseup'), typedFromEvent(target, 'dragend'));\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {concat, merge, Observable} from 'rxjs';\nimport {endWith, map, repeat, take, takeWhile} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport const enum TuiDragStage {\n Start,\n Continues,\n End,\n}\n\nexport class TuiDragState {\n constructor(readonly stage: TuiDragStage, readonly event: MouseEvent) {}\n}\n\nexport function dragAndDropFrom(element: Element): Observable<TuiDragState> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return concat(\n typedFromEvent(element, 'mousedown').pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.Start, event)),\n ),\n merge(\n typedFromEvent(ownerDocument, 'mousemove').pipe(\n map(event => new TuiDragState(TuiDragStage.Continues, event)),\n ),\n mouseDragFinishFrom(ownerDocument).pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.End, event)),\n endWith(null),\n ),\n ).pipe(takeWhile(isPresent)),\n ).pipe(repeat());\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {isNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {concat, merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n ignoreElements,\n mapTo,\n repeat,\n shareReplay,\n startWith,\n switchMapTo,\n take,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {tuiIsAlive} from './is-alive';\nimport {typedFromEvent} from './typed-from-event';\n\nlet documentMouseUpIsAlive$: Observable<boolean>;\nlet documentMouseDownIsAlive$: Observable<boolean>;\n\nexport function focusVisibleObservable(element: Element): Observable<boolean> {\n const elementBlur$ = typedFromEvent(element, 'blur');\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n if (!documentMouseDownIsAlive$ || !documentMouseUpIsAlive$) {\n documentMouseUpIsAlive$ = typedFromEvent(ownerDocument, 'mouseup', {\n capture: true,\n }).pipe(\n tuiIsAlive(),\n startWith(false),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n documentMouseDownIsAlive$ = typedFromEvent(ownerDocument, 'mousedown', {\n capture: true,\n }).pipe(\n tuiIsAlive(),\n startWith(false),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n }\n\n return merge(\n // focus events excluding ones that came right after mouse action\n concat(\n typedFromEvent(element, 'focus').pipe(take(1)),\n // filtering out blur events when element remains focused so that we ignore browser tab focus loss\n elementBlur$.pipe(\n filter(() => !isNativeFocused(element)),\n take(1),\n ignoreElements(),\n ),\n ).pipe(\n repeat(),\n withLatestFrom(\n documentMouseDownIsAlive$,\n documentMouseUpIsAlive$,\n (_event, elementActual, documentActual) =>\n elementActual || documentActual,\n ),\n filter(isUserFocus => !isUserFocus),\n ),\n ).pipe(\n switchMapTo(elementBlur$.pipe(mapTo(false), take(1), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {OperatorFunction, pipe, timer} from 'rxjs';\nimport {distinctUntilChanged, mapTo, startWith, switchMapTo} from 'rxjs/operators';\n\n/**\n * Operator to set lifespan after which current value is considered obsolete\n */\nexport function tuiIsAlive(lifespan: number = 0): OperatorFunction<any, boolean> {\n return pipe(\n switchMapTo(timer(lifespan).pipe(mapTo(false), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {NgZone} from '@angular/core';\nimport {MonoTypeOperatorFunction, Observable, pipe} from 'rxjs';\n\nexport function tuiZonefull<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n source.subscribe({\n next: value => ngZone.run(() => subscriber.next(value)),\n error: (error: unknown) => ngZone.run(() => subscriber.error(error)),\n complete: () => ngZone.run(() => subscriber.complete()),\n }),\n );\n}\n\nexport function tuiZonefree<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n ngZone.runOutsideAngular(() => source.subscribe(subscriber)),\n );\n}\n\nexport function tuiZoneOptimized<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return pipe(tuiZonefree(ngZone), tuiZonefull(ngZone));\n}\n","import {QueryList} from '@angular/core';\nimport {getOriginalArrayFromQueryList} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs/operators';\n\n/**\n * Converts changes observable of a QueryList to an Observable of arrays\n */\nexport function itemsQueryListObservable<T>(\n queryList: QueryList<T>,\n): Observable<readonly T[]> {\n return queryList.changes.pipe(\n map(() => getOriginalArrayFromQueryList(queryList)),\n startWith(getOriginalArrayFromQueryList(queryList)),\n );\n}\n","import {TuiValuePresentException} from '@taiga-ui/cdk/exceptions';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {OperatorFunction} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport function mustBePresent<T>(): OperatorFunction<T | undefined | null, T> {\n return map(value => {\n if (!isPresent(value)) {\n throw new TuiValuePresentException();\n }\n\n return value;\n });\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {filter, mapTo, startWith, switchMapTo, take} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport interface TuiPressedObservableOptions {\n onlyTrusted: boolean;\n}\n\nexport function pressedObservable(\n element: Element,\n {onlyTrusted}: TuiPressedObservableOptions = {onlyTrusted: true},\n): Observable<boolean> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return typedFromEvent(element, 'mousedown').pipe(\n filter(({isTrusted}) => isTrusted || !onlyTrusted),\n switchMapTo(\n mouseDragFinishFrom(ownerDocument).pipe(\n mapTo(false),\n take(1),\n startWith(true),\n ),\n ),\n );\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function preventDefault<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(event => event.preventDefault());\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function stopPropagation<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(e => {\n e.stopPropagation();\n });\n}\n","import {AbstractControl, AbstractControlDirective} from '@angular/forms';\nimport {TuiValueChangesException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {startWith} from 'rxjs/operators';\n\n/**\n * Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)\n * TODO: rename function in 3.0. The name should be shorter.\n */\nexport function tuiReplayedValueChangesFrom<T>(\n control: AbstractControl | AbstractControlDirective,\n): Observable<T> {\n return new Observable(subscriber => {\n if (!control.valueChanges) {\n throw new TuiValueChangesException();\n }\n\n control.valueChanges.pipe(startWith(control.value)).subscribe(subscriber);\n });\n}\n","import {ChangeDetectorRef} from '@angular/core';\nimport {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function watch<T>(\n changeDetectorRef: ChangeDetectorRef,\n): MonoTypeOperatorFunction<T> {\n return tap(() => {\n changeDetectorRef.markForCheck();\n });\n}\n"]}
@@ -460,7 +460,9 @@
460
460
  var deltaX = second.clientX - first.clientX;
461
461
  var deltaY = second.clientY - first.clientY;
462
462
  return [deltaX, deltaY];
463
- }), operators.takeUntil(rxjs.merge(observables.typedFromEvent(documentRef, 'touchend'), observables.typedFromEvent(documentRef, 'mouseup'))), operators.repeat())
463
+ }),
464
+ // eslint-disable-next-line rxjs/no-unsafe-takeuntil
465
+ operators.takeUntil(rxjs.merge(observables.typedFromEvent(documentRef, 'touchend'), observables.typedFromEvent(documentRef, 'mouseup'))), operators.repeat())
464
466
  .subscribe(subscriber);
465
467
  }) || this;
466
468
  }
@@ -485,7 +487,7 @@
485
487
  return animationFrame$.pipe(operators.throttleTime(constants.POLLING_TIME), operators.map(function () {
486
488
  return elementRef.nativeElement.clientWidth + " " + elementRef.nativeElement.clientHeight;
487
489
  }), operators.distinctUntilChanged(), operators.mapTo(constants.EMPTY_ARRAY));
488
- }), operators.takeUntil(destroy$), operators.debounceTime(0), observables.tuiZonefree(ngZone));
490
+ }), operators.debounceTime(0), observables.tuiZonefree(ngZone), operators.takeUntil(destroy$));
489
491
  }
490
492
  TuiResizeService.ctorParameters = function () { return [
491
493
  { type: core.ElementRef, decorators: [{ type: core.Inject, args: [core.ElementRef,] }] },
@@ -527,12 +529,12 @@
527
529
  var deltaLeft = scrollLeft - initialLeft;
528
530
  var observable = !duration
529
531
  ? rxjs.of([scrollTop, scrollLeft])
530
- : rxjs.defer(function () { return rxjs.of(_this.performanceRef.now()); }).pipe(operators.switchMap(function (start) { return _this.animationFrame$.pipe(operators.map(function (now) { return now - start; })); }), operators.takeUntil(rxjs.timer(duration)), operators.map(function (elapsed) { return miscellaneous.easeInOutQuad(math.clamp(elapsed / duration, 0, 1)); }), operators.map(function (percent) {
532
+ : rxjs.defer(function () { return rxjs.of(_this.performanceRef.now()); }).pipe(operators.switchMap(function (start) { return _this.animationFrame$.pipe(operators.map(function (now) { return now - start; })); }), operators.map(function (elapsed) { return miscellaneous.easeInOutQuad(math.clamp(elapsed / duration, 0, 1)); }), operators.map(function (percent) {
531
533
  return [
532
534
  initialTop + deltaTop * percent,
533
535
  initialLeft + deltaLeft * percent,
534
536
  ];
535
- }));
537
+ }), operators.takeUntil(rxjs.timer(duration)));
536
538
  return observable.pipe(operators.tap(function (_a) {
537
539
  var _b = __read(_a, 2), scrollTop = _b[0], scrollLeft = _b[1];
538
540
  element.scrollTop = scrollTop;
@@ -583,7 +585,7 @@
583
585
  xhr.abort();
584
586
  };
585
587
  });
586
- var piped = observable.pipe(operators.shareReplay(1));
588
+ var piped = observable.pipe(operators.shareReplay({ bufferSize: 1, refCount: false }));
587
589
  this.cache.set(url, piped);
588
590
  return piped;
589
591
  };
@@ -661,7 +663,7 @@
661
663
  }), operators.switchMap(function (startEvent) {
662
664
  return observables.typedFromEvent(nativeElement, 'touchmove', {
663
665
  passive: true,
664
- }).pipe(operators.takeUntil(observables.typedFromEvent(nativeElement, 'touchend')), operators.scan(function (prev, event) {
666
+ }).pipe(observables.preventDefault(), operators.scan(function (prev, event) {
665
667
  var distance = utils.distanceBetweenTouches(event);
666
668
  return {
667
669
  event: event,
@@ -675,7 +677,6 @@
675
677
  delta: 0,
676
678
  }), operators.map(function (_a) {
677
679
  var event = _a.event, delta = _a.delta;
678
- event.preventDefault();
679
680
  var clientX = (event.touches[0].clientX +
680
681
  event.touches[1].clientX) /
681
682
  2;
@@ -683,7 +684,7 @@
683
684
  event.touches[1].clientY) /
684
685
  2;
685
686
  return { clientX: clientX, clientY: clientY, delta: delta, event: event };
686
- }));
687
+ }), operators.takeUntil(observables.typedFromEvent(nativeElement, 'touchend')));
687
688
  })), observables.typedFromEvent(nativeElement, 'wheel', { passive: false }).pipe(observables.preventDefault(), operators.map(function (wheel) { return ({
688
689
  clientX: wheel.clientX,
689
690
  clientY: wheel.clientY,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-services.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/cdk/services/destroy.service.ts","ng://@taiga-ui/cdk/services/directive-styles.service.ts","ng://@taiga-ui/cdk/services/focus-visible.service.ts","ng://@taiga-ui/cdk/services/hovered.service.ts","ng://@taiga-ui/cdk/services/id.service.ts","ng://@taiga-ui/cdk/services/parents-scroll.service.ts","ng://@taiga-ui/cdk/services/obscured.service.ts","ng://@taiga-ui/cdk/services/pan.service.ts","ng://@taiga-ui/cdk/services/resize.service.ts","ng://@taiga-ui/cdk/services/scroll.service.ts","ng://@taiga-ui/cdk/services/static-request.service.ts","ng://@taiga-ui/cdk/services/swipe.service.ts","ng://@taiga-ui/cdk/services/zoom.service.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {Injectable, OnDestroy} from '@angular/core';\nimport {ReplaySubject} from 'rxjs';\n\n/**\n * Observable abstraction over ngOnDestroy to use with takeUntil\n */\n@Injectable()\nexport class TuiDestroyService extends ReplaySubject<void> implements OnDestroy {\n constructor() {\n super(1);\n }\n\n ngOnDestroy() {\n this.next();\n this.complete();\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ComponentFactoryResolver,\n Inject,\n Injectable,\n INJECTOR,\n Injector,\n Renderer2,\n Type,\n} from '@angular/core';\nimport {TUI_DEFAULT_RENDERER} from '@taiga-ui/cdk/tokens';\n\n/**\n * Service to use styles with directives\n * @dynamic\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiDirectiveStylesService {\n private readonly map = new Map<Type<unknown>, unknown>();\n\n constructor(\n @Inject(ComponentFactoryResolver)\n private readonly resolver: ComponentFactoryResolver,\n @Inject(INJECTOR) private readonly injector: Injector,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TUI_DEFAULT_RENDERER) private readonly renderer: Renderer2,\n ) {}\n\n addComponent(component: Type<unknown>) {\n if (!this.map.has(component)) {\n this.map.set(\n component,\n this.resolver.resolveComponentFactory(component).create(this.injector),\n );\n }\n }\n\n /** @deprecated use components approach */\n addStyle(styles: string, attribute: string) {\n if (this.documentRef.head.querySelector(`style[${attribute}]`)) {\n return;\n }\n\n const style = this.renderer.createElement('style');\n\n this.renderer.setProperty(style, 'textContent', styles);\n this.renderer.setAttribute(style, attribute, '');\n this.documentRef.head.appendChild(style);\n }\n}\n","import {ChangeDetectorRef, ElementRef, Inject, Injectable} from '@angular/core';\nimport {focusVisibleObservable, watch} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {TuiDestroyService} from './destroy.service';\n\n/**\n * Service to imitate :focus-visible\n * (https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible)\n * in browsers that do not support it\n * @dynamic\n */\n@Injectable()\nexport class TuiFocusVisibleService extends Observable<boolean> {\n private readonly focusVisible$: Observable<boolean>;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n ) {\n super(subscriber => this.focusVisible$.subscribe(subscriber));\n\n this.focusVisible$ = focusVisibleObservable(nativeElement).pipe(\n watch(changeDetectorRef),\n takeUntil(destroy$),\n );\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, NgZone} from '@angular/core';\nimport {tuiZoneOptimized, typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {getActualTarget} from '@taiga-ui/cdk/utils/dom';\nimport {merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n mapTo,\n startWith,\n switchMap,\n take,\n} from 'rxjs/operators';\n\n// @dynamic\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiHoveredService {\n private readonly documentEvents$: Observable<Event>;\n\n constructor(\n @Inject(DOCUMENT) documentRef: Document,\n @Inject(NgZone) private readonly ngZone: NgZone,\n ) {\n this.documentEvents$ = merge(\n typedFromEvent(documentRef, 'mousemove'),\n typedFromEvent(documentRef, 'touchstart', {capture: true}),\n );\n }\n\n createHovered$(\n target: Element,\n options: AddEventListenerOptions = {passive: true},\n ): Observable<boolean> {\n return merge(\n typedFromEvent(target, 'mouseenter', options),\n typedFromEvent(target, 'touchstart', options),\n ).pipe(\n switchMap(() =>\n merge(\n typedFromEvent(target, 'mouseleave', options),\n this.documentEvents$.pipe(\n filter(event => !target.contains(getActualTarget(event))),\n tuiZoneOptimized(this.ngZone),\n take(1),\n ),\n ).pipe(mapTo(false), startWith(true)),\n ),\n distinctUntilChanged(),\n );\n }\n}\n","import {Injectable} from '@angular/core';\n\nconst TUI = 'tui_';\n\n/**\n * Generates unique ids\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiIdService {\n private static autoId = 0;\n\n generate(): string {\n return `${TUI}${TuiIdService.autoId++}${Date.now()}`;\n }\n}\n","import {ElementRef, Inject, Injectable} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {defer, merge, Observable} from 'rxjs';\n\n/**\n * Service that subscribes to scroll events of all parent elements\n */\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Injectable()\nexport class TuiParentsScrollService extends Observable<Event> {\n private readonly callback$: Observable<Event>;\n\n constructor(\n @Inject(ElementRef) elementRef: ElementRef<Element>,\n @Inject(WINDOW) windowRef: Window,\n ) {\n super(subscriber => this.callback$.subscribe(subscriber));\n\n this.callback$ = defer(() => {\n let {nativeElement} = elementRef;\n const eventTargets: (Element | Window)[] = [windowRef, nativeElement];\n\n while (nativeElement.parentElement) {\n nativeElement = nativeElement.parentElement;\n eventTargets.push(nativeElement);\n }\n\n return merge<Event>(\n ...eventTargets.map<Observable<Event>>(element =>\n typedFromEvent(element, 'scroll'),\n ),\n );\n });\n }\n}\n","import {ElementRef, Inject, Injectable, NgZone, Self} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {POLLING_TIME} from '@taiga-ui/cdk/constants';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {getElementObscurers} from '@taiga-ui/cdk/utils/dom';\nimport {fromEvent, merge, Observable} from 'rxjs';\nimport {\n delay,\n distinctUntilChanged,\n map,\n startWith,\n takeUntil,\n throttleTime,\n} from 'rxjs/operators';\n\nimport {TuiDestroyService} from './destroy.service';\nimport {TuiParentsScrollService} from './parents-scroll.service';\n\n// @bad TODO: Consider Intersection Observer with fallback to current implementation\n/**\n * Service that monitors element visibility by subscribing to scrolls\n * and polling with set interval, returns either null or an array\n * of elements that overlap given element edges\n */\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Injectable()\nexport class TuiObscuredService extends Observable<null | readonly Element[]> {\n private readonly obscured$: Observable<null | readonly Element[]>;\n\n constructor(\n @Inject(TuiParentsScrollService)\n @Self()\n parentsScroll$: TuiParentsScrollService,\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(WINDOW) windowRef: Window,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n super(subscriber => this.obscured$.subscribe(subscriber));\n\n this.obscured$ = merge(\n // delay is added so it will not interfere with other listeners\n merge(parentsScroll$, fromEvent(windowRef, 'resize')).pipe(delay(0)),\n animationFrame$.pipe(throttleTime(POLLING_TIME)),\n ).pipe(\n map(() => getElementObscurers(nativeElement)),\n startWith(null),\n distinctUntilChanged(),\n tuiZoneOptimized(ngZone),\n takeUntil(destroy$),\n );\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, Inject, Injectable} from '@angular/core';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, pairwise, repeat, switchMapTo, takeUntil} from 'rxjs/operators';\n\n/**\n * @dynamic\n */\n@Injectable()\nexport class TuiPanService extends Observable<readonly [number, number]> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(DOCUMENT) documentRef: Document,\n ) {\n super(subscriber => {\n merge(\n typedFromEvent(nativeElement, 'touchstart', {passive: true}),\n typedFromEvent(nativeElement, 'mousedown'),\n )\n .pipe(\n switchMapTo(\n merge(\n typedFromEvent(documentRef, 'touchmove', {\n passive: true,\n }).pipe(\n filter(({touches}) => touches.length < 2),\n map(({touches}) => touches[0]),\n ),\n typedFromEvent(documentRef, 'mousemove'),\n ),\n ),\n pairwise(),\n map(([first, second]) => {\n const deltaX = second.clientX - first.clientX;\n const deltaY = second.clientY - first.clientY;\n\n return [deltaX, deltaY] as [number, number];\n }),\n takeUntil(\n merge(\n typedFromEvent(documentRef, 'touchend'),\n typedFromEvent(documentRef, 'mouseup'),\n ),\n ),\n repeat(),\n )\n .subscribe(subscriber);\n });\n }\n}\n","import {ElementRef, Inject, Injectable, NgZone} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {\n RESIZE_OBSERVER_SUPPORT,\n RESIZE_OPTION_BOX,\n ResizeObserverService,\n} from '@ng-web-apis/resize-observer';\nimport {EMPTY_ARRAY, POLLING_TIME} from '@taiga-ui/cdk/constants';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {\n catchError,\n debounceTime,\n distinctUntilChanged,\n map,\n mapTo,\n takeUntil,\n throttleTime,\n} from 'rxjs/operators';\n\nimport {TuiDestroyService} from './destroy.service';\n\n// @dynamic\n@Injectable()\nexport class TuiResizeService extends ResizeObserverService {\n constructor(\n @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(RESIZE_OBSERVER_SUPPORT) support: boolean,\n @Inject(RESIZE_OPTION_BOX) box: ResizeObserverOptions['box'],\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n super(elementRef, ngZone, support, box);\n\n return this.pipe(\n catchError(() =>\n animationFrame$.pipe(\n throttleTime(POLLING_TIME),\n map(\n () =>\n `${elementRef.nativeElement.clientWidth} ${elementRef.nativeElement.clientHeight}`,\n ),\n distinctUntilChanged(),\n mapTo(EMPTY_ARRAY),\n ),\n ),\n takeUntil(destroy$),\n debounceTime(0),\n tuiZonefree(ngZone),\n );\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {ANIMATION_FRAME, PERFORMANCE} from '@ng-web-apis/common';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {clamp} from '@taiga-ui/cdk/utils/math';\nimport {easeInOutQuad} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {defer, Observable, of, timer} from 'rxjs';\nimport {map, switchMap, takeUntil, tap} from 'rxjs/operators';\n\nconst SCROLL_TIME = 300;\n\n// @dynamic\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiScrollService {\n constructor(\n @Inject(PERFORMANCE) private readonly performanceRef: Performance,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n ) {}\n\n scroll$(\n element: Element,\n scrollTop: number,\n scrollLeft: number = element.scrollLeft,\n duration: number = SCROLL_TIME,\n ): Observable<[number, number]> {\n tuiAssert.assert(duration >= 0, 'Duration cannot be negative');\n tuiAssert.assert(scrollTop >= 0, 'scrollTop cannot be negative');\n tuiAssert.assert(scrollLeft >= 0, 'scrollLeft cannot be negative');\n\n const initialTop = element.scrollTop;\n const initialLeft = element.scrollLeft;\n const deltaTop = scrollTop - initialTop;\n const deltaLeft = scrollLeft - initialLeft;\n const observable = !duration\n ? of([scrollTop, scrollLeft] as [number, number])\n : defer(() => of(this.performanceRef.now())).pipe(\n switchMap(start => this.animationFrame$.pipe(map(now => now - start))),\n takeUntil(timer(duration)),\n map(elapsed => easeInOutQuad(clamp(elapsed / duration, 0, 1))),\n map(\n percent =>\n [\n initialTop + deltaTop * percent,\n initialLeft + deltaLeft * percent,\n ] as [number, number],\n ),\n );\n\n return observable.pipe(\n tap(([scrollTop, scrollLeft]) => {\n element.scrollTop = scrollTop;\n element.scrollLeft = scrollLeft;\n }),\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Observer} from 'rxjs';\nimport {shareReplay} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiStaticRequestService {\n private readonly cache = new Map<string, Observable<string>>();\n\n request(url: string): Observable<string> {\n const cache = this.cache.get(url);\n\n if (cache) {\n return cache;\n }\n\n const observable = new Observable((observer: Observer<string>) => {\n const xhr = new XMLHttpRequest();\n\n xhr.onreadystatechange = () => {\n if (xhr.readyState === 4) {\n const response = xhr.responseType ? xhr.response : xhr.responseText;\n\n if (xhr.status === 200) {\n observer.next(response);\n observer.complete();\n } else {\n observer.error(response);\n }\n }\n };\n\n xhr.open('GET', url);\n xhr.send();\n\n return () => {\n xhr.abort();\n };\n });\n const piped = observable.pipe(shareReplay(1));\n\n this.cache.set(url, piped);\n\n return piped;\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, Inject, Injectable} from '@angular/core';\nimport {TuiSwipe, TuiSwipeOptions} from '@taiga-ui/cdk/interfaces';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TUI_SWIPE_OPTIONS} from '@taiga-ui/cdk/tokens';\nimport {getSwipeDirection, isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, pairwise} from 'rxjs/operators';\n\n/**\n * @dynamic\n */\n@Injectable()\nexport class TuiSwipeService extends Observable<TuiSwipe> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(TUI_SWIPE_OPTIONS) {timeout, threshold}: TuiSwipeOptions,\n @Inject(DOCUMENT) documentRef: Document,\n ) {\n super(subscriber => {\n merge(\n typedFromEvent(nativeElement, 'touchstart', {passive: true}),\n typedFromEvent(documentRef, 'touchend'),\n )\n .pipe(\n pairwise(),\n filter(\n ([first, second]) =>\n !!first.touches.length &&\n first.touches[0].identifier ===\n second.changedTouches[0].identifier,\n ),\n map(([start, end]) => {\n const startX = start.touches[0].clientX;\n const startY = start.touches[0].clientY;\n const endX = end.changedTouches[0].clientX;\n const endY = end.changedTouches[0].clientY;\n\n const distanceX = startX - endX;\n const distanceY = startY - endY;\n const duration = end.timeStamp - start.timeStamp;\n\n if (\n (Math.abs(distanceX) > threshold ||\n Math.abs(distanceY) > threshold) &&\n duration < timeout\n ) {\n return {\n direction: getSwipeDirection(distanceX, distanceY),\n events: [start, end] as [TouchEvent, TouchEvent],\n };\n }\n\n return null;\n }),\n filter(isPresent),\n )\n .subscribe(subscriber);\n });\n }\n}\n","import {ElementRef, Inject, Injectable} from '@angular/core';\nimport {TuiZoom, TuiZoomOptions} from '@taiga-ui/cdk/interfaces';\nimport {preventDefault, typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TUI_ZOOM_OPTIONS} from '@taiga-ui/cdk/tokens';\nimport {distanceBetweenTouches} from '@taiga-ui/cdk/utils';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, scan, switchMap, takeUntil} from 'rxjs/operators';\n\nconst TOUCH_SENSITIVITY = 0.01;\n\n// @dynamic\n@Injectable()\nexport class TuiZoomService extends Observable<TuiZoom> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TUI_ZOOM_OPTIONS) {wheelSensitivity}: TuiZoomOptions,\n ) {\n super(subscriber => {\n merge(\n typedFromEvent(nativeElement, 'touchstart', {passive: true}).pipe(\n filter(({touches}) => touches.length > 1),\n switchMap(startEvent =>\n typedFromEvent(nativeElement, 'touchmove', {\n passive: true,\n }).pipe(\n takeUntil(typedFromEvent(nativeElement, 'touchend')),\n scan(\n (prev, event) => {\n const distance = distanceBetweenTouches(event);\n\n return {\n event,\n distance,\n delta:\n (distance - prev.distance) *\n TOUCH_SENSITIVITY,\n };\n },\n {\n event: startEvent,\n distance: distanceBetweenTouches(startEvent),\n delta: 0,\n },\n ),\n map(({event, delta}) => {\n event.preventDefault();\n\n const clientX =\n (event.touches[0].clientX +\n event.touches[1].clientX) /\n 2;\n const clientY =\n (event.touches[0].clientY +\n event.touches[1].clientY) /\n 2;\n\n return {clientX, clientY, delta, event};\n }),\n ),\n ),\n ),\n typedFromEvent(nativeElement, 'wheel', {passive: false}).pipe(\n preventDefault(),\n map(wheel => ({\n clientX: wheel.clientX,\n clientY: wheel.clientY,\n delta: -wheel.deltaY * wheelSensitivity,\n event: wheel,\n })),\n ),\n ).subscribe(subscriber);\n });\n }\n}\n"],"names":["Injectable","ReplaySubject","ComponentFactoryResolver","Inject","Injector","INJECTOR","DOCUMENT","Renderer2","TUI_DEFAULT_RENDERER","focusVisibleObservable","watch","takeUntil","ElementRef","ChangeDetectorRef","Observable","merge","typedFromEvent","switchMap","filter","getActualTarget","tuiZoneOptimized","take","mapTo","startWith","distinctUntilChanged","NgZone","defer","WINDOW","fromEvent","delay","throttleTime","POLLING_TIME","map","getElementObscurers","Self","ANIMATION_FRAME","switchMapTo","pairwise","repeat","catchError","EMPTY_ARRAY","debounceTime","tuiZonefree","RESIZE_OBSERVER_SUPPORT","RESIZE_OPTION_BOX","ResizeObserverService","tuiAssert","of","timer","easeInOutQuad","clamp","tap","PERFORMANCE","shareReplay","getSwipeDirection","isPresent","TUI_SWIPE_OPTIONS","scan","distanceBetweenTouches","preventDefault","TUI_ZOOM_OPTIONS"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-services.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/cdk/services/destroy.service.ts","ng://@taiga-ui/cdk/services/directive-styles.service.ts","ng://@taiga-ui/cdk/services/focus-visible.service.ts","ng://@taiga-ui/cdk/services/hovered.service.ts","ng://@taiga-ui/cdk/services/id.service.ts","ng://@taiga-ui/cdk/services/parents-scroll.service.ts","ng://@taiga-ui/cdk/services/obscured.service.ts","ng://@taiga-ui/cdk/services/pan.service.ts","ng://@taiga-ui/cdk/services/resize.service.ts","ng://@taiga-ui/cdk/services/scroll.service.ts","ng://@taiga-ui/cdk/services/static-request.service.ts","ng://@taiga-ui/cdk/services/swipe.service.ts","ng://@taiga-ui/cdk/services/zoom.service.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {Injectable, OnDestroy} from '@angular/core';\nimport {ReplaySubject} from 'rxjs';\n\n/**\n * Observable abstraction over ngOnDestroy to use with takeUntil\n */\n@Injectable()\nexport class TuiDestroyService extends ReplaySubject<void> implements OnDestroy {\n constructor() {\n super(1);\n }\n\n ngOnDestroy() {\n this.next();\n this.complete();\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ComponentFactoryResolver,\n Inject,\n Injectable,\n INJECTOR,\n Injector,\n Renderer2,\n Type,\n} from '@angular/core';\nimport {TUI_DEFAULT_RENDERER} from '@taiga-ui/cdk/tokens';\n\n/**\n * Service to use styles with directives\n * @dynamic\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiDirectiveStylesService {\n private readonly map = new Map<Type<unknown>, unknown>();\n\n constructor(\n @Inject(ComponentFactoryResolver)\n private readonly resolver: ComponentFactoryResolver,\n @Inject(INJECTOR) private readonly injector: Injector,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TUI_DEFAULT_RENDERER) private readonly renderer: Renderer2,\n ) {}\n\n addComponent(component: Type<unknown>) {\n if (!this.map.has(component)) {\n this.map.set(\n component,\n this.resolver.resolveComponentFactory(component).create(this.injector),\n );\n }\n }\n\n /** @deprecated use components approach */\n addStyle(styles: string, attribute: string) {\n if (this.documentRef.head.querySelector(`style[${attribute}]`)) {\n return;\n }\n\n const style = this.renderer.createElement('style');\n\n this.renderer.setProperty(style, 'textContent', styles);\n this.renderer.setAttribute(style, attribute, '');\n this.documentRef.head.appendChild(style);\n }\n}\n","import {ChangeDetectorRef, ElementRef, Inject, Injectable} from '@angular/core';\nimport {focusVisibleObservable, watch} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {TuiDestroyService} from './destroy.service';\n\n/**\n * Service to imitate :focus-visible\n * (https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible)\n * in browsers that do not support it\n * @dynamic\n */\n@Injectable()\nexport class TuiFocusVisibleService extends Observable<boolean> {\n private readonly focusVisible$: Observable<boolean>;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n ) {\n super(subscriber => this.focusVisible$.subscribe(subscriber));\n\n this.focusVisible$ = focusVisibleObservable(nativeElement).pipe(\n watch(changeDetectorRef),\n takeUntil(destroy$),\n );\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, NgZone} from '@angular/core';\nimport {tuiZoneOptimized, typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {getActualTarget} from '@taiga-ui/cdk/utils/dom';\nimport {merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n mapTo,\n startWith,\n switchMap,\n take,\n} from 'rxjs/operators';\n\n// @dynamic\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiHoveredService {\n private readonly documentEvents$: Observable<Event>;\n\n constructor(\n @Inject(DOCUMENT) documentRef: Document,\n @Inject(NgZone) private readonly ngZone: NgZone,\n ) {\n this.documentEvents$ = merge(\n typedFromEvent(documentRef, 'mousemove'),\n typedFromEvent(documentRef, 'touchstart', {capture: true}),\n );\n }\n\n createHovered$(\n target: Element,\n options: AddEventListenerOptions = {passive: true},\n ): Observable<boolean> {\n return merge(\n typedFromEvent(target, 'mouseenter', options),\n typedFromEvent(target, 'touchstart', options),\n ).pipe(\n switchMap(() =>\n merge(\n typedFromEvent(target, 'mouseleave', options),\n this.documentEvents$.pipe(\n filter(event => !target.contains(getActualTarget(event))),\n tuiZoneOptimized(this.ngZone),\n take(1),\n ),\n ).pipe(mapTo(false), startWith(true)),\n ),\n distinctUntilChanged(),\n );\n }\n}\n","import {Injectable} from '@angular/core';\n\nconst TUI = 'tui_';\n\n/**\n * Generates unique ids\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiIdService {\n private static autoId = 0;\n\n generate(): string {\n return `${TUI}${TuiIdService.autoId++}${Date.now()}`;\n }\n}\n","import {ElementRef, Inject, Injectable} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {defer, merge, Observable} from 'rxjs';\n\n/**\n * Service that subscribes to scroll events of all parent elements\n */\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Injectable()\nexport class TuiParentsScrollService extends Observable<Event> {\n private readonly callback$: Observable<Event>;\n\n constructor(\n @Inject(ElementRef) elementRef: ElementRef<Element>,\n @Inject(WINDOW) windowRef: Window,\n ) {\n super(subscriber => this.callback$.subscribe(subscriber));\n\n this.callback$ = defer(() => {\n let {nativeElement} = elementRef;\n const eventTargets: (Element | Window)[] = [windowRef, nativeElement];\n\n while (nativeElement.parentElement) {\n nativeElement = nativeElement.parentElement;\n eventTargets.push(nativeElement);\n }\n\n return merge<Event>(\n ...eventTargets.map<Observable<Event>>(element =>\n typedFromEvent(element, 'scroll'),\n ),\n );\n });\n }\n}\n","import {ElementRef, Inject, Injectable, NgZone, Self} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {POLLING_TIME} from '@taiga-ui/cdk/constants';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {getElementObscurers} from '@taiga-ui/cdk/utils/dom';\nimport {fromEvent, merge, Observable} from 'rxjs';\nimport {\n delay,\n distinctUntilChanged,\n map,\n startWith,\n takeUntil,\n throttleTime,\n} from 'rxjs/operators';\n\nimport {TuiDestroyService} from './destroy.service';\nimport {TuiParentsScrollService} from './parents-scroll.service';\n\n// @bad TODO: Consider Intersection Observer with fallback to current implementation\n/**\n * Service that monitors element visibility by subscribing to scrolls\n * and polling with set interval, returns either null or an array\n * of elements that overlap given element edges\n */\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Injectable()\nexport class TuiObscuredService extends Observable<null | readonly Element[]> {\n private readonly obscured$: Observable<null | readonly Element[]>;\n\n constructor(\n @Inject(TuiParentsScrollService)\n @Self()\n parentsScroll$: TuiParentsScrollService,\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(WINDOW) windowRef: Window,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n super(subscriber => this.obscured$.subscribe(subscriber));\n\n this.obscured$ = merge(\n // delay is added so it will not interfere with other listeners\n merge(parentsScroll$, fromEvent(windowRef, 'resize')).pipe(delay(0)),\n animationFrame$.pipe(throttleTime(POLLING_TIME)),\n ).pipe(\n map(() => getElementObscurers(nativeElement)),\n startWith(null),\n distinctUntilChanged(),\n tuiZoneOptimized(ngZone),\n takeUntil(destroy$),\n );\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, Inject, Injectable} from '@angular/core';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, pairwise, repeat, switchMapTo, takeUntil} from 'rxjs/operators';\n\n/**\n * @dynamic\n */\n@Injectable()\nexport class TuiPanService extends Observable<readonly [number, number]> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(DOCUMENT) documentRef: Document,\n ) {\n super(subscriber => {\n merge(\n typedFromEvent(nativeElement, 'touchstart', {passive: true}),\n typedFromEvent(nativeElement, 'mousedown'),\n )\n .pipe(\n switchMapTo(\n merge(\n typedFromEvent(documentRef, 'touchmove', {\n passive: true,\n }).pipe(\n filter(({touches}) => touches.length < 2),\n map(({touches}) => touches[0]),\n ),\n typedFromEvent(documentRef, 'mousemove'),\n ),\n ),\n pairwise(),\n map(([first, second]) => {\n const deltaX = second.clientX - first.clientX;\n const deltaY = second.clientY - first.clientY;\n\n return [deltaX, deltaY] as [number, number];\n }),\n // eslint-disable-next-line rxjs/no-unsafe-takeuntil\n takeUntil(\n merge(\n typedFromEvent(documentRef, 'touchend'),\n typedFromEvent(documentRef, 'mouseup'),\n ),\n ),\n repeat(),\n )\n .subscribe(subscriber);\n });\n }\n}\n","import {ElementRef, Inject, Injectable, NgZone} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {\n RESIZE_OBSERVER_SUPPORT,\n RESIZE_OPTION_BOX,\n ResizeObserverService,\n} from '@ng-web-apis/resize-observer';\nimport {EMPTY_ARRAY, POLLING_TIME} from '@taiga-ui/cdk/constants';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {\n catchError,\n debounceTime,\n distinctUntilChanged,\n map,\n mapTo,\n takeUntil,\n throttleTime,\n} from 'rxjs/operators';\n\nimport {TuiDestroyService} from './destroy.service';\n\n// @dynamic\n@Injectable()\nexport class TuiResizeService extends ResizeObserverService {\n constructor(\n @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(RESIZE_OBSERVER_SUPPORT) support: boolean,\n @Inject(RESIZE_OPTION_BOX) box: ResizeObserverOptions['box'],\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n super(elementRef, ngZone, support, box);\n\n return this.pipe(\n catchError(() =>\n animationFrame$.pipe(\n throttleTime(POLLING_TIME),\n map(\n () =>\n `${elementRef.nativeElement.clientWidth} ${elementRef.nativeElement.clientHeight}`,\n ),\n distinctUntilChanged(),\n mapTo(EMPTY_ARRAY),\n ),\n ),\n debounceTime(0),\n tuiZonefree(ngZone),\n takeUntil(destroy$),\n );\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {ANIMATION_FRAME, PERFORMANCE} from '@ng-web-apis/common';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {clamp} from '@taiga-ui/cdk/utils/math';\nimport {easeInOutQuad} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {defer, Observable, of, timer} from 'rxjs';\nimport {map, switchMap, takeUntil, tap} from 'rxjs/operators';\n\nconst SCROLL_TIME = 300;\n\n// @dynamic\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiScrollService {\n constructor(\n @Inject(PERFORMANCE) private readonly performanceRef: Performance,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n ) {}\n\n scroll$(\n element: Element,\n scrollTop: number,\n scrollLeft: number = element.scrollLeft,\n duration: number = SCROLL_TIME,\n ): Observable<[number, number]> {\n tuiAssert.assert(duration >= 0, 'Duration cannot be negative');\n tuiAssert.assert(scrollTop >= 0, 'scrollTop cannot be negative');\n tuiAssert.assert(scrollLeft >= 0, 'scrollLeft cannot be negative');\n\n const initialTop = element.scrollTop;\n const initialLeft = element.scrollLeft;\n const deltaTop = scrollTop - initialTop;\n const deltaLeft = scrollLeft - initialLeft;\n const observable = !duration\n ? of([scrollTop, scrollLeft] as [number, number])\n : defer(() => of(this.performanceRef.now())).pipe(\n switchMap(start => this.animationFrame$.pipe(map(now => now - start))),\n map(elapsed => easeInOutQuad(clamp(elapsed / duration, 0, 1))),\n map(\n percent =>\n [\n initialTop + deltaTop * percent,\n initialLeft + deltaLeft * percent,\n ] as [number, number],\n ),\n takeUntil(timer(duration)),\n );\n\n return observable.pipe(\n tap(([scrollTop, scrollLeft]) => {\n element.scrollTop = scrollTop;\n element.scrollLeft = scrollLeft;\n }),\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Observer} from 'rxjs';\nimport {shareReplay} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiStaticRequestService {\n private readonly cache = new Map<string, Observable<string>>();\n\n request(url: string): Observable<string> {\n const cache = this.cache.get(url);\n\n if (cache) {\n return cache;\n }\n\n const observable = new Observable((observer: Observer<string>) => {\n const xhr = new XMLHttpRequest();\n\n xhr.onreadystatechange = () => {\n if (xhr.readyState === 4) {\n const response = xhr.responseType ? xhr.response : xhr.responseText;\n\n if (xhr.status === 200) {\n observer.next(response);\n observer.complete();\n } else {\n observer.error(response);\n }\n }\n };\n\n xhr.open('GET', url);\n xhr.send();\n\n return () => {\n xhr.abort();\n };\n });\n const piped = observable.pipe(shareReplay({bufferSize: 1, refCount: false}));\n\n this.cache.set(url, piped);\n\n return piped;\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, Inject, Injectable} from '@angular/core';\nimport {TuiSwipe, TuiSwipeOptions} from '@taiga-ui/cdk/interfaces';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TUI_SWIPE_OPTIONS} from '@taiga-ui/cdk/tokens';\nimport {getSwipeDirection, isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, pairwise} from 'rxjs/operators';\n\n/**\n * @dynamic\n */\n@Injectable()\nexport class TuiSwipeService extends Observable<TuiSwipe> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(TUI_SWIPE_OPTIONS) {timeout, threshold}: TuiSwipeOptions,\n @Inject(DOCUMENT) documentRef: Document,\n ) {\n super(subscriber => {\n merge(\n typedFromEvent(nativeElement, 'touchstart', {passive: true}),\n typedFromEvent(documentRef, 'touchend'),\n )\n .pipe(\n pairwise(),\n filter(\n ([first, second]) =>\n !!first.touches.length &&\n first.touches[0].identifier ===\n second.changedTouches[0].identifier,\n ),\n map(([start, end]) => {\n const startX = start.touches[0].clientX;\n const startY = start.touches[0].clientY;\n const endX = end.changedTouches[0].clientX;\n const endY = end.changedTouches[0].clientY;\n\n const distanceX = startX - endX;\n const distanceY = startY - endY;\n const duration = end.timeStamp - start.timeStamp;\n\n if (\n (Math.abs(distanceX) > threshold ||\n Math.abs(distanceY) > threshold) &&\n duration < timeout\n ) {\n return {\n direction: getSwipeDirection(distanceX, distanceY),\n events: [start, end] as [TouchEvent, TouchEvent],\n };\n }\n\n return null;\n }),\n filter(isPresent),\n )\n .subscribe(subscriber);\n });\n }\n}\n","import {ElementRef, Inject, Injectable} from '@angular/core';\nimport {TuiZoom, TuiZoomOptions} from '@taiga-ui/cdk/interfaces';\nimport {preventDefault, typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TUI_ZOOM_OPTIONS} from '@taiga-ui/cdk/tokens';\nimport {distanceBetweenTouches} from '@taiga-ui/cdk/utils';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, scan, switchMap, takeUntil} from 'rxjs/operators';\n\nconst TOUCH_SENSITIVITY = 0.01;\n\n// @dynamic\n@Injectable()\nexport class TuiZoomService extends Observable<TuiZoom> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TUI_ZOOM_OPTIONS) {wheelSensitivity}: TuiZoomOptions,\n ) {\n super(subscriber => {\n merge(\n typedFromEvent(nativeElement, 'touchstart', {passive: true}).pipe(\n filter(({touches}) => touches.length > 1),\n switchMap(startEvent =>\n typedFromEvent(nativeElement, 'touchmove', {\n passive: true,\n }).pipe(\n preventDefault(),\n scan(\n (prev, event) => {\n const distance = distanceBetweenTouches(event);\n\n return {\n event,\n distance,\n delta:\n (distance - prev.distance) *\n TOUCH_SENSITIVITY,\n };\n },\n {\n event: startEvent,\n distance: distanceBetweenTouches(startEvent),\n delta: 0,\n },\n ),\n map(({event, delta}) => {\n const clientX =\n (event.touches[0].clientX +\n event.touches[1].clientX) /\n 2;\n const clientY =\n (event.touches[0].clientY +\n event.touches[1].clientY) /\n 2;\n\n return {clientX, clientY, delta, event};\n }),\n takeUntil(typedFromEvent(nativeElement, 'touchend')),\n ),\n ),\n ),\n typedFromEvent(nativeElement, 'wheel', {passive: false}).pipe(\n preventDefault(),\n map(wheel => ({\n clientX: wheel.clientX,\n clientY: wheel.clientY,\n delta: -wheel.deltaY * wheelSensitivity,\n event: wheel,\n })),\n ),\n ).subscribe(subscriber);\n });\n }\n}\n"],"names":["Injectable","ReplaySubject","ComponentFactoryResolver","Inject","Injector","INJECTOR","DOCUMENT","Renderer2","TUI_DEFAULT_RENDERER","focusVisibleObservable","watch","takeUntil","ElementRef","ChangeDetectorRef","Observable","merge","typedFromEvent","switchMap","filter","getActualTarget","tuiZoneOptimized","take","mapTo","startWith","distinctUntilChanged","NgZone","defer","WINDOW","fromEvent","delay","throttleTime","POLLING_TIME","map","getElementObscurers","Self","ANIMATION_FRAME","switchMapTo","pairwise","repeat","catchError","EMPTY_ARRAY","debounceTime","tuiZonefree","RESIZE_OBSERVER_SUPPORT","RESIZE_OPTION_BOX","ResizeObserverService","tuiAssert","of","easeInOutQuad","clamp","timer","tap","PERFORMANCE","shareReplay","getSwipeDirection","isPresent","TUI_SWIPE_OPTIONS","preventDefault","scan","distanceBetweenTouches","TUI_ZOOM_OPTIONS"],"mappings":"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"}