@taiga-ui/cdk 3.11.0 → 3.12.1
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.
- package/abstract/dialog.service.d.ts +1 -1
- package/bundles/taiga-ui-cdk-abstract.umd.js +1 -1
- package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-coercion.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-alert-host.umd.js +1 -1
- package/bundles/taiga-ui-cdk-components-alert-host.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-constants.umd.js +1 -1
- package/bundles/taiga-ui-cdk-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-checked.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-droppable.umd.js +3 -1
- package/bundles/taiga-ui-cdk-directives-droppable.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-element.umd.js +18 -332
- package/bundles/taiga-ui-cdk-directives-element.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-for-async.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-overscroll.umd.js +3 -1
- package/bundles/taiga-ui-cdk-directives-overscroll.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js +3 -1
- package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-observables.umd.js +16 -16
- package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-services.umd.js +9 -3
- package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-dom.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-focus.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-math.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-svg.umd.js +5 -2
- package/bundles/taiga-ui-cdk-utils-svg.umd.js.map +1 -1
- package/coercion/coerce-boolean-property.d.ts +1 -1
- package/constants/version.d.ts +1 -1
- package/constants/version.js +1 -1
- package/date-time/time.d.ts +1 -1
- package/date-time/year.d.ts +1 -1
- package/directives/auto-focus/autofocus.directive.d.ts +1 -1
- package/directives/checked/checked.directive.d.ts +1 -1
- package/directives/droppable/droppable.directive.d.ts +1 -1
- package/directives/element/element.directive.d.ts +2 -1
- package/directives/for-async/for-async.directive.d.ts +1 -1
- package/directives/overscroll/overscroll.directive.d.ts +1 -1
- package/directives/prevent-default/prevent-default.directive.d.ts +1 -1
- package/esm2015/abstract/dialog.directive.js +3 -3
- package/esm2015/abstract/dialog.service.js +1 -1
- package/esm2015/coercion/coerce-boolean-property.js +1 -1
- package/esm2015/components/alert-host/alert-host.component.js +2 -2
- package/esm2015/constants/version.js +2 -2
- package/esm2015/date-time/time.js +1 -1
- package/esm2015/date-time/year.js +1 -1
- package/esm2015/directives/auto-focus/autofocus.directive.js +1 -1
- package/esm2015/directives/checked/checked.directive.js +1 -1
- package/esm2015/directives/droppable/droppable.directive.js +5 -3
- package/esm2015/directives/element/element.directive.js +18 -4
- package/esm2015/directives/for-async/for-async.directive.js +1 -1
- package/esm2015/directives/overscroll/overscroll.directive.js +5 -3
- package/esm2015/directives/prevent-default/prevent-default.directive.js +5 -3
- package/esm2015/interfaces/alert-context.js +1 -1
- package/esm2015/interfaces/swipe.js +1 -1
- package/esm2015/interfaces/zoom.js +1 -1
- package/esm2015/observables/control-value.js +15 -0
- package/esm2015/observables/index.js +2 -2
- package/esm2015/observables/must-be-present.js +1 -1
- package/esm2015/services/focus-visible.service.js +5 -3
- package/esm2015/services/obscured.service.js +4 -2
- package/esm2015/services/resize.service.js +5 -3
- package/esm2015/types/autocomplete.js +1 -1
- package/esm2015/types/dialog.js +1 -1
- package/esm2015/types/event-with.js +1 -1
- package/esm2015/types/input-mode.js +1 -1
- package/esm2015/types/input-type.js +1 -1
- package/esm2015/types/overscroll-mode.js +1 -1
- package/esm2015/types/time-mode.js +1 -1
- package/esm2015/utils/dom/element-checks.js +1 -1
- package/esm2015/utils/focus/set-native-mouse-focused.js +1 -1
- package/esm2015/utils/math/to-int.js +1 -1
- package/esm2015/utils/svg/svg-linear-gradient-processor.js +6 -3
- package/fesm2015/taiga-ui-cdk-abstract.js +2 -2
- package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-coercion.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-components-alert-host.js +1 -1
- package/fesm2015/taiga-ui-cdk-components-alert-host.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-constants.js +1 -1
- package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-checked.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-droppable.js +4 -2
- package/fesm2015/taiga-ui-cdk-directives-droppable.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-element.js +17 -3
- package/fesm2015/taiga-ui-cdk-directives-element.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-for-async.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-overscroll.js +4 -2
- package/fesm2015/taiga-ui-cdk-directives-overscroll.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-prevent-default.js +4 -2
- package/fesm2015/taiga-ui-cdk-directives-prevent-default.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-observables.js +15 -15
- package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-services.js +10 -4
- package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-dom.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-math.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-svg.js +5 -2
- package/fesm2015/taiga-ui-cdk-utils-svg.js.map +1 -1
- package/interfaces/alert-context.d.ts +1 -1
- package/interfaces/swipe.d.ts +1 -1
- package/interfaces/zoom.d.ts +1 -1
- package/observables/{replay-control-value-changes.d.ts → control-value.d.ts} +0 -0
- package/observables/index.d.ts +1 -1
- package/observables/must-be-present.d.ts +1 -1
- package/package.json +5 -5
- package/schematics/constants/file-globs.js +2 -2
- package/schematics/constants/taiga-styles.js +4 -4
- package/schematics/ng-add/constants/modules.d.ts +4 -4
- package/schematics/ng-add/constants/modules.js +12 -12
- package/schematics/ng-add/constants/packages.js +1 -1
- package/schematics/ng-add/constants/versions.js +3 -3
- package/schematics/ng-add/index.d.ts +2 -2
- package/schematics/ng-add/index.js +11 -12
- package/schematics/ng-add/schema.d.ts +9 -2
- package/schematics/ng-add/schema.json +1 -1
- package/schematics/ng-add/setup-project.d.ts +2 -2
- package/schematics/ng-add/steps/add-taiga-icons.d.ts +3 -3
- package/schematics/ng-add/steps/add-taiga-icons.js +8 -9
- package/schematics/ng-add/steps/add-taiga-modules.d.ts +2 -2
- package/schematics/ng-add/steps/add-taiga-modules.js +7 -7
- package/schematics/ng-add/steps/add-taiga-styles.d.ts +2 -2
- package/schematics/ng-add/steps/add-taiga-styles.js +3 -4
- package/schematics/ng-add/steps/wrap-with-tui-root.d.ts +2 -2
- package/schematics/ng-add/steps/wrap-with-tui-root.js +14 -14
- package/schematics/ng-update/constants/consts.d.ts +1 -1
- package/schematics/ng-update/constants/consts.js +177 -177
- package/schematics/ng-update/constants/deprecated-functions.js +410 -405
- package/schematics/ng-update/constants/enums.js +123 -123
- package/schematics/ng-update/constants/modules.js +4 -4
- package/schematics/ng-update/constants/services.d.ts +2 -2
- package/schematics/ng-update/constants/services.js +16 -16
- package/schematics/ng-update/constants/templates.d.ts +1 -1
- package/schematics/ng-update/constants/templates.js +276 -276
- package/schematics/ng-update/constants/tui-interactive-selectors.js +50 -50
- package/schematics/ng-update/constants/types.d.ts +1 -1
- package/schematics/ng-update/constants/types.js +87 -87
- package/schematics/ng-update/constants/warnings.js +62 -62
- package/schematics/ng-update/index.d.ts +3 -3
- package/schematics/ng-update/index.js +44 -40
- package/schematics/ng-update/interfaces/asset.d.ts +6 -0
- package/schematics/ng-update/interfaces/asset.js +2 -0
- package/schematics/ng-update/steps/migrate-date-time.d.ts +2 -1
- package/schematics/ng-update/steps/migrate-date-time.js +55 -49
- package/schematics/ng-update/steps/migrate-polymorpheus.d.ts +1 -1
- package/schematics/ng-update/steps/migrate-polymorpheus.js +14 -14
- package/schematics/ng-update/steps/migrate-progress.d.ts +2 -1
- package/schematics/ng-update/steps/migrate-progress.js +16 -12
- package/schematics/ng-update/steps/migrate-sliders/index.d.ts +2 -1
- package/schematics/ng-update/steps/migrate-sliders/index.js +13 -9
- package/schematics/ng-update/steps/migrate-sliders/migrate-input-range.d.ts +2 -1
- package/schematics/ng-update/steps/migrate-sliders/migrate-input-range.js +35 -33
- package/schematics/ng-update/steps/migrate-sliders/migrate-input-slider.d.ts +2 -1
- package/schematics/ng-update/steps/migrate-sliders/migrate-input-slider.js +34 -33
- package/schematics/ng-update/steps/migrate-taiga-proprietary-icons.d.ts +2 -2
- package/schematics/ng-update/steps/migrate-taiga-proprietary-icons.js +29 -27
- package/schematics/ng-update/steps/migrate-templates.d.ts +2 -1
- package/schematics/ng-update/steps/migrate-templates.js +36 -32
- package/schematics/ng-update/steps/migrate-textfield-controller.d.ts +1 -1
- package/schematics/ng-update/steps/migrate-textfield-controller.js +34 -34
- package/schematics/ng-update/steps/miscellaneous.d.ts +2 -1
- package/schematics/ng-update/steps/miscellaneous.js +21 -19
- package/schematics/ng-update/steps/remove-module.d.ts +2 -1
- package/schematics/ng-update/steps/remove-module.js +6 -4
- package/schematics/ng-update/steps/rename-types.d.ts +2 -1
- package/schematics/ng-update/steps/rename-types.js +10 -8
- package/schematics/ng-update/steps/replace-const.d.ts +2 -1
- package/schematics/ng-update/steps/replace-const.js +8 -6
- package/schematics/ng-update/steps/replace-deep-import.d.ts +2 -1
- package/schematics/ng-update/steps/replace-deep-import.js +10 -5
- package/schematics/ng-update/steps/replace-enums.d.ts +2 -1
- package/schematics/ng-update/steps/replace-enums.js +8 -6
- package/schematics/ng-update/steps/replace-functions.d.ts +2 -1
- package/schematics/ng-update/steps/replace-functions.js +17 -15
- package/schematics/ng-update/steps/replace-services.d.ts +2 -1
- package/schematics/ng-update/steps/replace-services.js +13 -11
- package/schematics/ng-update/steps/replace-styles.js +7 -5
- package/schematics/ng-update/steps/show-warnings.js +2 -2
- package/schematics/ng-update/v3-5/steps/migrate-expand-templates.d.ts +2 -1
- package/schematics/ng-update/v3-5/steps/migrate-expand-templates.js +12 -10
- package/schematics/utils/add-import-to-closest-module.js +2 -2
- package/schematics/utils/add-unique-import.js +1 -1
- package/schematics/utils/angular/ng-component.js +1 -1
- package/schematics/utils/angular/ng-module.js +1 -1
- package/schematics/utils/angular-json-manipulations.d.ts +3 -3
- package/schematics/utils/angular-json-manipulations.js +52 -37
- package/schematics/utils/colored-log.js +5 -5
- package/schematics/utils/create-angular-json.d.ts +1 -0
- package/schematics/utils/create-angular-json.js +28 -2
- package/schematics/utils/get-named-import-references.d.ts +1 -1
- package/schematics/utils/get-named-import-references.js +2 -2
- package/schematics/utils/get-project-target-options.d.ts +1 -1
- package/schematics/utils/get-project-target-options.js +1 -1
- package/schematics/utils/get-projects.d.ts +3 -0
- package/schematics/utils/get-projects.js +15 -0
- package/schematics/utils/progress.js +2 -2
- package/schematics/utils/replace-tag.d.ts +1 -1
- package/schematics/utils/replace-tag.js +4 -4
- package/schematics/utils/templates/elements.js +4 -4
- package/schematics/utils/templates/get-component-templates.js +6 -6
- package/schematics/utils/templates/ng-component-input-manipulations.d.ts +4 -4
- package/schematics/utils/templates/ng-component-input-manipulations.js +7 -7
- package/schematics/utils/templates/template-resource.d.ts +1 -1
- package/schematics/utils/templates/template-resource.js +3 -3
- package/services/focus-visible.service.d.ts +1 -1
- package/services/obscured.service.d.ts +2 -2
- package/services/resize.service.d.ts +1 -1
- package/types/autocomplete.d.ts +1 -1
- package/types/dialog.d.ts +2 -2
- package/types/event-with.d.ts +2 -2
- package/types/input-mode.d.ts +1 -1
- package/types/input-type.d.ts +1 -1
- package/types/overscroll-mode.d.ts +1 -1
- package/types/time-mode.d.ts +1 -1
- package/utils/dom/element-checks.d.ts +1 -1
- package/utils/focus/set-native-mouse-focused.d.ts +1 -1
- package/utils/math/to-int.d.ts +1 -1
- package/utils/svg/svg-linear-gradient-processor.d.ts +2 -1
- package/esm2015/observables/replay-control-value-changes.js +0 -15
- package/schematics/ng-update/constants/functions.d.ts +0 -0
- package/schematics/ng-update/constants/functions.js +0 -1
- package/schematics/utils/get-project.d.ts +0 -3
- package/schematics/utils/get-project.js +0 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-auto-focus.js","sources":["../../../projects/cdk/directives/auto-focus/handlers/abstract.handler.ts","../../../projects/cdk/directives/auto-focus/handlers/default.handler.ts","../../../projects/cdk/directives/auto-focus/handlers/ios.handler.ts","../../../projects/cdk/directives/auto-focus/autofocus.options.ts","../../../projects/cdk/directives/auto-focus/autofocus.directive.ts","../../../projects/cdk/directives/auto-focus/autofocus.module.ts","../../../projects/cdk/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.ts"],"sourcesContent":["import {Directive, ElementRef} from '@angular/core';\nimport {\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk/interfaces';\n\nimport type {TuiAutofocusHandler} from '../autofocus.options';\n\n@Directive()\nexport abstract class AbstractTuiAutofocusHandler implements TuiAutofocusHandler {\n protected constructor(\n protected readonly tuiFocusableComponent: TuiFocusableElementAccessor | null,\n protected readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n\n protected get element(): TuiNativeFocusableElement {\n return (\n this.tuiFocusableComponent?.nativeFocusableElement ||\n this.elementRef.nativeElement\n );\n }\n\n protected get isTextFieldElement(): boolean {\n return this.element.matches(`input, textarea`);\n }\n\n abstract setFocus(): void;\n}\n","import {Directive, ElementRef, Inject, Optional, Self} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {POLLING_TIME} from '@taiga-ui/cdk/constants';\nimport {TuiFocusableElementAccessor} from '@taiga-ui/cdk/interfaces';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk/tokens';\nimport {Observable, race, timer} from 'rxjs';\nimport {map, skipWhile, take, throttleTime} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {AbstractTuiAutofocusHandler} from './abstract.handler';\n\nconst TIMEOUT = 1000;\nconst NG_ANIMATION_SELECTOR = `.ng-animating`;\n\n@Directive()\nexport class TuiDefaultAutofocusHandler extends AbstractTuiAutofocusHandler {\n constructor(\n @Optional()\n @Self()\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n tuiFocusableComponent: TuiFocusableElementAccessor | null,\n @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n ) {\n super(tuiFocusableComponent, elementRef);\n }\n\n setFocus(): void {\n if (this.isTextFieldElement) {\n race(\n timer(TIMEOUT),\n this.animationFrame$.pipe(\n throttleTime(POLLING_TIME),\n map(() => this.element.closest(NG_ANIMATION_SELECTOR)),\n skipWhile(Boolean),\n take(1),\n ),\n ).subscribe(() => this.element.focus());\n } else {\n this.element.focus();\n }\n }\n}\n","import {\n Directive,\n ElementRef,\n Inject,\n NgZone,\n Optional,\n Renderer2,\n Self,\n} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {TuiFocusableElementAccessor} from '@taiga-ui/cdk/interfaces';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk/tokens';\nimport {tuiPx} from '@taiga-ui/cdk/utils';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {AbstractTuiAutofocusHandler} from './abstract.handler';\n\n@Directive()\nexport class TuiIosAutofocusHandler extends AbstractTuiAutofocusHandler {\n constructor(\n @Optional()\n @Self()\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n tuiFocusableComponent: TuiFocusableElementAccessor | null,\n @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(WINDOW) private readonly windowRef: Window,\n ) {\n super(tuiFocusableComponent, elementRef);\n this.patchCssStyles();\n }\n\n setFocus(): void {\n if (this.isTextFieldElement) {\n this.ngZone.runOutsideAngular(() => this.iosWebkitAutofocus());\n } else {\n this.element.focus();\n }\n }\n\n private iosWebkitAutofocus(): void {\n const fakeInput: HTMLInputElement = this.makeFakeInput();\n const duration = this.getDurationTimeBeforeFocus();\n let fakeFocusTimeoutId = 0;\n let elementFocusTimeoutId = 0;\n\n const blurHandler = (): void => fakeInput.focus({preventScroll: true});\n const focusHandler = (): void => {\n clearTimeout(fakeFocusTimeoutId);\n\n fakeFocusTimeoutId = this.windowRef.setTimeout(() => {\n clearTimeout(elementFocusTimeoutId);\n\n fakeInput.removeEventListener(`blur`, blurHandler);\n fakeInput.removeEventListener(`focus`, focusHandler);\n\n elementFocusTimeoutId = this.windowRef.setTimeout(() => {\n this.element.focus({preventScroll: false});\n fakeInput.remove();\n }, duration);\n });\n };\n\n fakeInput.addEventListener(`blur`, blurHandler, {once: true});\n fakeInput.addEventListener(`focus`, focusHandler);\n\n if (this.insideDialog()) {\n this.windowRef.document.body.appendChild(fakeInput);\n } else {\n this.element.parentElement?.appendChild(fakeInput);\n }\n\n fakeInput.focus({preventScroll: true});\n }\n\n /**\n * @note:\n * emulate textfield position in layout with cursor\n * before focus to real textfield element\n */\n private makeFakeInput(): HTMLInputElement {\n const fakeInput: HTMLInputElement = this.renderer.createElement(`input`);\n const rect: DOMRect = this.element.getBoundingClientRect();\n\n fakeInput.style.height = tuiPx(rect.height);\n fakeInput.style.width = tuiPx(rect.width / 2);\n fakeInput.style.position = `fixed`;\n fakeInput.style.opacity = `0`;\n fakeInput.style.fontSize = tuiPx(16); // disable possible auto zoom\n fakeInput.readOnly = true; // prevent keyboard for fake input\n\n // @note: emulate position cursor before focus to real textfield element\n fakeInput.style.top = tuiPx(rect.top);\n fakeInput.style.left = tuiPx(rect.left);\n\n return fakeInput;\n }\n\n private getDurationTimeBeforeFocus(): number {\n return (\n parseFloat(\n this.windowRef\n .getComputedStyle(this.element)\n .getPropertyValue(`--tui-duration`),\n ) || 0\n );\n }\n\n /**\n * @note:\n * unfortunately, in older versions of iOS\n * there is a bug that the fake input cursor\n * will move along with the dialog animation\n * and then that dialog will be shaking\n */\n private insideDialog(): boolean {\n return !!this.element.closest(`tui-dialog`);\n }\n\n /**\n * @note:\n * This is necessary so that the viewport isn't recalculated\n * and then the dialogs don't shake.\n *\n * Also, we need to fixed height viewport,\n * so that when focusing the dialogs don't shake\n */\n private patchCssStyles(): void {\n const documentRef = this.windowRef.document;\n\n for (const element of [documentRef.documentElement, documentRef.body]) {\n element.style.setProperty(`overflow`, `auto`);\n element.style.setProperty(`height`, `100%`);\n }\n }\n}\n","import {\n ElementRef,\n InjectionToken,\n NgZone,\n Optional,\n Renderer2,\n Self,\n} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {TuiFocusableElementAccessor} from '@taiga-ui/cdk/interfaces';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {Observable} from 'rxjs';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDefaultAutofocusHandler} from './handlers/default.handler';\n// eslint-disable-next-line import/no-cycle\nimport {TuiIosAutofocusHandler} from './handlers/ios.handler';\n\nexport interface TuiAutofocusHandler {\n setFocus(): void;\n}\n\nexport const TUI_AUTOFOCUS_HANDLER = new InjectionToken<TuiAutofocusHandler>(\n `[TUI_AUTOFOCUS_HANDLER]: Autofocusing handler`,\n);\n\nexport const TUI_AUTOFOCUS_PROVIDERS = [\n {\n provide: TUI_AUTOFOCUS_HANDLER,\n useFactory: (\n tuiFocusableComponent: TuiFocusableElementAccessor | null,\n elementRef: ElementRef<HTMLElement>,\n animationFrame$: Observable<number>,\n renderer: Renderer2,\n ngZone: NgZone,\n windowRef: Window,\n isIos: boolean,\n ) =>\n isIos\n ? new TuiIosAutofocusHandler(\n tuiFocusableComponent,\n elementRef,\n renderer,\n ngZone,\n windowRef,\n )\n : new TuiDefaultAutofocusHandler(\n tuiFocusableComponent,\n elementRef,\n animationFrame$,\n ),\n deps: [\n [new Optional(), new Self(), TUI_FOCUSABLE_ITEM_ACCESSOR],\n ElementRef,\n ANIMATION_FRAME,\n Renderer2,\n NgZone,\n WINDOW,\n TUI_IS_IOS,\n ],\n },\n];\n","import {AfterViewInit, Directive, Inject, Input} from '@angular/core';\nimport {tuiCoerceBooleanProperty} from '@taiga-ui/cdk/coercion';\n\nimport {\n TUI_AUTOFOCUS_HANDLER,\n TUI_AUTOFOCUS_PROVIDERS,\n TuiAutofocusHandler,\n} from './autofocus.options';\n\n@Directive({\n selector: `[tuiAutoFocus]`,\n providers: TUI_AUTOFOCUS_PROVIDERS,\n})\nexport class TuiAutoFocusDirective implements AfterViewInit {\n @Input(`tuiAutoFocus`)\n autoFocus: '' | boolean = true;\n\n constructor(\n @Inject(TUI_AUTOFOCUS_HANDLER) private readonly handler: TuiAutofocusHandler,\n ) {}\n\n ngAfterViewInit(): void {\n if (tuiCoerceBooleanProperty(this.autoFocus)) {\n this.handler.setFocus();\n }\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiAutoFocusDirective} from './autofocus.directive';\n\n@NgModule({\n declarations: [TuiAutoFocusDirective],\n exports: [TuiAutoFocusDirective],\n})\nexport class TuiAutoFocusModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-auto-focus.js","sources":["../../../projects/cdk/directives/auto-focus/handlers/abstract.handler.ts","../../../projects/cdk/directives/auto-focus/handlers/default.handler.ts","../../../projects/cdk/directives/auto-focus/handlers/ios.handler.ts","../../../projects/cdk/directives/auto-focus/autofocus.options.ts","../../../projects/cdk/directives/auto-focus/autofocus.directive.ts","../../../projects/cdk/directives/auto-focus/autofocus.module.ts","../../../projects/cdk/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.ts"],"sourcesContent":["import {Directive, ElementRef} from '@angular/core';\nimport {\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk/interfaces';\n\nimport type {TuiAutofocusHandler} from '../autofocus.options';\n\n@Directive()\nexport abstract class AbstractTuiAutofocusHandler implements TuiAutofocusHandler {\n protected constructor(\n protected readonly tuiFocusableComponent: TuiFocusableElementAccessor | null,\n protected readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n\n protected get element(): TuiNativeFocusableElement {\n return (\n this.tuiFocusableComponent?.nativeFocusableElement ||\n this.elementRef.nativeElement\n );\n }\n\n protected get isTextFieldElement(): boolean {\n return this.element.matches(`input, textarea`);\n }\n\n abstract setFocus(): void;\n}\n","import {Directive, ElementRef, Inject, Optional, Self} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {POLLING_TIME} from '@taiga-ui/cdk/constants';\nimport {TuiFocusableElementAccessor} from '@taiga-ui/cdk/interfaces';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk/tokens';\nimport {Observable, race, timer} from 'rxjs';\nimport {map, skipWhile, take, throttleTime} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {AbstractTuiAutofocusHandler} from './abstract.handler';\n\nconst TIMEOUT = 1000;\nconst NG_ANIMATION_SELECTOR = `.ng-animating`;\n\n@Directive()\nexport class TuiDefaultAutofocusHandler extends AbstractTuiAutofocusHandler {\n constructor(\n @Optional()\n @Self()\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n tuiFocusableComponent: TuiFocusableElementAccessor | null,\n @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n ) {\n super(tuiFocusableComponent, elementRef);\n }\n\n setFocus(): void {\n if (this.isTextFieldElement) {\n race(\n timer(TIMEOUT),\n this.animationFrame$.pipe(\n throttleTime(POLLING_TIME),\n map(() => this.element.closest(NG_ANIMATION_SELECTOR)),\n skipWhile(Boolean),\n take(1),\n ),\n ).subscribe(() => this.element.focus());\n } else {\n this.element.focus();\n }\n }\n}\n","import {\n Directive,\n ElementRef,\n Inject,\n NgZone,\n Optional,\n Renderer2,\n Self,\n} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {TuiFocusableElementAccessor} from '@taiga-ui/cdk/interfaces';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk/tokens';\nimport {tuiPx} from '@taiga-ui/cdk/utils';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {AbstractTuiAutofocusHandler} from './abstract.handler';\n\n@Directive()\nexport class TuiIosAutofocusHandler extends AbstractTuiAutofocusHandler {\n constructor(\n @Optional()\n @Self()\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n tuiFocusableComponent: TuiFocusableElementAccessor | null,\n @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(WINDOW) private readonly windowRef: Window,\n ) {\n super(tuiFocusableComponent, elementRef);\n this.patchCssStyles();\n }\n\n setFocus(): void {\n if (this.isTextFieldElement) {\n this.ngZone.runOutsideAngular(() => this.iosWebkitAutofocus());\n } else {\n this.element.focus();\n }\n }\n\n private iosWebkitAutofocus(): void {\n const fakeInput: HTMLInputElement = this.makeFakeInput();\n const duration = this.getDurationTimeBeforeFocus();\n let fakeFocusTimeoutId = 0;\n let elementFocusTimeoutId = 0;\n\n const blurHandler = (): void => fakeInput.focus({preventScroll: true});\n const focusHandler = (): void => {\n clearTimeout(fakeFocusTimeoutId);\n\n fakeFocusTimeoutId = this.windowRef.setTimeout(() => {\n clearTimeout(elementFocusTimeoutId);\n\n fakeInput.removeEventListener(`blur`, blurHandler);\n fakeInput.removeEventListener(`focus`, focusHandler);\n\n elementFocusTimeoutId = this.windowRef.setTimeout(() => {\n this.element.focus({preventScroll: false});\n fakeInput.remove();\n }, duration);\n });\n };\n\n fakeInput.addEventListener(`blur`, blurHandler, {once: true});\n fakeInput.addEventListener(`focus`, focusHandler);\n\n if (this.insideDialog()) {\n this.windowRef.document.body.appendChild(fakeInput);\n } else {\n this.element.parentElement?.appendChild(fakeInput);\n }\n\n fakeInput.focus({preventScroll: true});\n }\n\n /**\n * @note:\n * emulate textfield position in layout with cursor\n * before focus to real textfield element\n */\n private makeFakeInput(): HTMLInputElement {\n const fakeInput: HTMLInputElement = this.renderer.createElement(`input`);\n const rect: DOMRect = this.element.getBoundingClientRect();\n\n fakeInput.style.height = tuiPx(rect.height);\n fakeInput.style.width = tuiPx(rect.width / 2);\n fakeInput.style.position = `fixed`;\n fakeInput.style.opacity = `0`;\n fakeInput.style.fontSize = tuiPx(16); // disable possible auto zoom\n fakeInput.readOnly = true; // prevent keyboard for fake input\n\n // @note: emulate position cursor before focus to real textfield element\n fakeInput.style.top = tuiPx(rect.top);\n fakeInput.style.left = tuiPx(rect.left);\n\n return fakeInput;\n }\n\n private getDurationTimeBeforeFocus(): number {\n return (\n parseFloat(\n this.windowRef\n .getComputedStyle(this.element)\n .getPropertyValue(`--tui-duration`),\n ) || 0\n );\n }\n\n /**\n * @note:\n * unfortunately, in older versions of iOS\n * there is a bug that the fake input cursor\n * will move along with the dialog animation\n * and then that dialog will be shaking\n */\n private insideDialog(): boolean {\n return !!this.element.closest(`tui-dialog`);\n }\n\n /**\n * @note:\n * This is necessary so that the viewport isn't recalculated\n * and then the dialogs don't shake.\n *\n * Also, we need to fixed height viewport,\n * so that when focusing the dialogs don't shake\n */\n private patchCssStyles(): void {\n const documentRef = this.windowRef.document;\n\n for (const element of [documentRef.documentElement, documentRef.body]) {\n element.style.setProperty(`overflow`, `auto`);\n element.style.setProperty(`height`, `100%`);\n }\n }\n}\n","import {\n ElementRef,\n InjectionToken,\n NgZone,\n Optional,\n Renderer2,\n Self,\n} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {TuiFocusableElementAccessor} from '@taiga-ui/cdk/interfaces';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {Observable} from 'rxjs';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDefaultAutofocusHandler} from './handlers/default.handler';\n// eslint-disable-next-line import/no-cycle\nimport {TuiIosAutofocusHandler} from './handlers/ios.handler';\n\nexport interface TuiAutofocusHandler {\n setFocus(): void;\n}\n\nexport const TUI_AUTOFOCUS_HANDLER = new InjectionToken<TuiAutofocusHandler>(\n `[TUI_AUTOFOCUS_HANDLER]: Autofocusing handler`,\n);\n\nexport const TUI_AUTOFOCUS_PROVIDERS = [\n {\n provide: TUI_AUTOFOCUS_HANDLER,\n useFactory: (\n tuiFocusableComponent: TuiFocusableElementAccessor | null,\n elementRef: ElementRef<HTMLElement>,\n animationFrame$: Observable<number>,\n renderer: Renderer2,\n ngZone: NgZone,\n windowRef: Window,\n isIos: boolean,\n ) =>\n isIos\n ? new TuiIosAutofocusHandler(\n tuiFocusableComponent,\n elementRef,\n renderer,\n ngZone,\n windowRef,\n )\n : new TuiDefaultAutofocusHandler(\n tuiFocusableComponent,\n elementRef,\n animationFrame$,\n ),\n deps: [\n [new Optional(), new Self(), TUI_FOCUSABLE_ITEM_ACCESSOR],\n ElementRef,\n ANIMATION_FRAME,\n Renderer2,\n NgZone,\n WINDOW,\n TUI_IS_IOS,\n ],\n },\n];\n","import {AfterViewInit, Directive, Inject, Input} from '@angular/core';\nimport {tuiCoerceBooleanProperty} from '@taiga-ui/cdk/coercion';\n\nimport {\n TUI_AUTOFOCUS_HANDLER,\n TUI_AUTOFOCUS_PROVIDERS,\n TuiAutofocusHandler,\n} from './autofocus.options';\n\n@Directive({\n selector: `[tuiAutoFocus]`,\n providers: TUI_AUTOFOCUS_PROVIDERS,\n})\nexport class TuiAutoFocusDirective implements AfterViewInit {\n @Input(`tuiAutoFocus`)\n autoFocus: boolean | '' = true;\n\n constructor(\n @Inject(TUI_AUTOFOCUS_HANDLER) private readonly handler: TuiAutofocusHandler,\n ) {}\n\n ngAfterViewInit(): void {\n if (tuiCoerceBooleanProperty(this.autoFocus)) {\n this.handler.setFocus();\n }\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiAutoFocusDirective} from './autofocus.directive';\n\n@NgModule({\n declarations: [TuiAutoFocusDirective],\n exports: [TuiAutoFocusDirective],\n})\nexport class TuiAutoFocusModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;MASsB,2BAA2B,CAAA;IAC7C,WACuB,CAAA,qBAAyD,EACzD,UAAmC,EAAA;QADnC,IAAqB,CAAA,qBAAA,GAArB,qBAAqB,CAAoC;QACzD,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;KACtD;AAEJ,IAAA,IAAc,OAAO,GAAA;;AACjB,QAAA,QACI,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,qBAAqB,0CAAE,sBAAsB;AAClD,YAAA,IAAI,CAAC,UAAU,CAAC,aAAa,EAC/B;KACL;AAED,IAAA,IAAc,kBAAkB,GAAA;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA,eAAA,CAAiB,CAAC,CAAC;KAClD;;yHAfiB,2BAA2B,EAAA,IAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;6GAA3B,2BAA2B,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADhD,SAAS;;;ACIV,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,MAAM,qBAAqB,GAAG,CAAA,aAAA,CAAe,CAAC;AAGxC,MAAO,0BAA2B,SAAQ,2BAA2B,CAAA;AACvE,IAAA,WAAA,CAII,qBAAyD,EACrC,UAAmC,EACb,eAAmC,EAAA;AAE7E,QAAA,KAAK,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;QAFC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAoB;KAGhF;IAED,QAAQ,GAAA;QACJ,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,CACA,KAAK,CAAC,OAAO,CAAC,EACd,IAAI,CAAC,eAAe,CAAC,IAAI,CACrB,YAAY,CAAC,YAAY,CAAC,EAC1B,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,EACtD,SAAS,CAAC,OAAO,CAAC,EAClB,IAAI,CAAC,CAAC,CAAC,CACV,CACJ,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AAC3C,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AACxB,SAAA;KACJ;;AA1BQ,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,EAIvB,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,2BAA2B,EAE3B,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,UAAU,aACV,eAAe,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4GAPlB,0BAA0B,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,SAAS;;0BAGD,QAAQ;;0BACR,IAAI;;0BACJ,MAAM;2BAAC,2BAA2B,CAAA;;0BAElC,MAAM;2BAAC,UAAU,CAAA;;0BACjB,MAAM;2BAAC,eAAe,CAAA;;;ACJzB,MAAO,sBAAuB,SAAQ,2BAA2B,CAAA;IACnE,WAII,CAAA,qBAAyD,EACrC,UAAmC,EACnB,QAAmB,EACtB,MAAc,EACd,SAAiB,EAAA;AAElD,QAAA,KAAK,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;QAJL,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACtB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAS,CAAA,SAAA,GAAT,SAAS,CAAQ;QAGlD,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;IAED,QAAQ,GAAA;QACJ,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAClE,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AACxB,SAAA;KACJ;IAEO,kBAAkB,GAAA;;AACtB,QAAA,MAAM,SAAS,GAAqB,IAAI,CAAC,aAAa,EAAE,CAAC;AACzD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACnD,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,IAAI,qBAAqB,GAAG,CAAC,CAAC;AAE9B,QAAA,MAAM,WAAW,GAAG,MAAY,SAAS,CAAC,KAAK,CAAC,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;QACvE,MAAM,YAAY,GAAG,MAAW;YAC5B,YAAY,CAAC,kBAAkB,CAAC,CAAC;YAEjC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAK;gBAChD,YAAY,CAAC,qBAAqB,CAAC,CAAC;AAEpC,gBAAA,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACnD,gBAAA,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBAErD,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAK;oBACnD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAC,aAAa,EAAE,KAAK,EAAC,CAAC,CAAC;oBAC3C,SAAS,CAAC,MAAM,EAAE,CAAC;iBACtB,EAAE,QAAQ,CAAC,CAAC;AACjB,aAAC,CAAC,CAAC;AACP,SAAC,CAAC;AAEF,QAAA,SAAS,CAAC,gBAAgB,CAAC,CAAA,IAAA,CAAM,EAAE,WAAW,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;AAC9D,QAAA,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAElD,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;YACrB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AACvD,SAAA;AAAM,aAAA;YACH,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,CAAC,aAAa,0CAAE,WAAW,CAAC,SAAS,CAAC,CAAC;AACtD,SAAA;QAED,SAAS,CAAC,KAAK,CAAC,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;KAC1C;AAED;;;;AAIG;IACK,aAAa,GAAA;QACjB,MAAM,SAAS,GAAqB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAO,KAAA,CAAA,CAAC,CAAC;QACzE,MAAM,IAAI,GAAY,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAE3D,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5C,QAAA,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAC9C,QAAA,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;AACnC,QAAA,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;QAC9B,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AACrC,QAAA,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;;QAG1B,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAExC,QAAA,OAAO,SAAS,CAAC;KACpB;IAEO,0BAA0B,GAAA;AAC9B,QAAA,QACI,UAAU,CACN,IAAI,CAAC,SAAS;AACT,aAAA,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC;AAC9B,aAAA,gBAAgB,CAAC,CAAgB,cAAA,CAAA,CAAC,CAC1C,IAAI,CAAC,EACR;KACL;AAED;;;;;;AAMG;IACK,YAAY,GAAA;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAY,UAAA,CAAA,CAAC,CAAC;KAC/C;AAED;;;;;;;AAOG;IACK,cAAc,GAAA;AAClB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AAE5C,QAAA,KAAK,MAAM,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE;YACnE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAU,QAAA,CAAA,EAAE,CAAM,IAAA,CAAA,CAAC,CAAC;YAC9C,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAQ,MAAA,CAAA,EAAE,CAAM,IAAA,CAAA,CAAC,CAAC;AAC/C,SAAA;KACJ;;oHArHQ,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAInB,2BAA2B,EAE3B,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,UAAU,aACV,SAAS,EAAA,EAAA,EAAA,KAAA,EACT,MAAM,EAAA,EAAA,EAAA,KAAA,EACN,MAAM,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wGATT,sBAAsB,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,SAAS;;0BAGD,QAAQ;;0BACR,IAAI;;0BACJ,MAAM;2BAAC,2BAA2B,CAAA;;0BAElC,MAAM;2BAAC,UAAU,CAAA;;0BACjB,MAAM;2BAAC,SAAS,CAAA;;0BAChB,MAAM;2BAAC,MAAM,CAAA;8BAC8B,MAAM,EAAA,UAAA,EAAA,CAAA;0BAAjD,MAAM;2BAAC,MAAM,CAAA;;;MCLT,qBAAqB,GAAG,IAAI,cAAc,CACnD,CAA+C,6CAAA,CAAA,EACjD;AAEW,MAAA,uBAAuB,GAAG;AACnC,IAAA;AACI,QAAA,OAAO,EAAE,qBAAqB;AAC9B,QAAA,UAAU,EAAE,CACR,qBAAyD,EACzD,UAAmC,EACnC,eAAmC,EACnC,QAAmB,EACnB,MAAc,EACd,SAAiB,EACjB,KAAc,KAEd,KAAK;AACD,cAAE,IAAI,sBAAsB,CACtB,qBAAqB,EACrB,UAAU,EACV,QAAQ,EACR,MAAM,EACN,SAAS,CACZ;cACD,IAAI,0BAA0B,CAC1B,qBAAqB,EACrB,UAAU,EACV,eAAe,CAClB;AACX,QAAA,IAAI,EAAE;YACF,CAAC,IAAI,QAAQ,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,2BAA2B,CAAC;YACzD,UAAU;YACV,eAAe;YACf,SAAS;YACT,MAAM;YACN,MAAM;YACN,UAAU;AACb,SAAA;AACJ,KAAA;;;MChDQ,qBAAqB,CAAA;AAI9B,IAAA,WAAA,CACoD,OAA4B,EAAA;QAA5B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAqB;QAHhF,IAAS,CAAA,SAAA,GAAiB,IAAI,CAAC;KAI3B;IAEJ,eAAe,GAAA;AACX,QAAA,IAAI,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;AAC1C,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC3B,SAAA;KACJ;;AAZQ,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBAKlB,qBAAqB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AALxB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,+FAFnB,uBAAuB,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAEzB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,CAAgB,cAAA,CAAA;AAC1B,oBAAA,SAAS,EAAE,uBAAuB;AACrC,iBAAA,CAAA;;0BAMQ,MAAM;2BAAC,qBAAqB,CAAA;4CAHjC,SAAS,EAAA,CAAA;sBADR,KAAK;uBAAC,CAAc,YAAA,CAAA,CAAA;;;MCNZ,kBAAkB,CAAA;;gHAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;iHAAlB,kBAAkB,EAAA,YAAA,EAAA,CAHZ,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAC1B,qBAAqB,CAAA,EAAA,CAAA,CAAA;iHAEtB,kBAAkB,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,qBAAqB,CAAC;oBACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACnC,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-checked.js","sources":["../../../projects/cdk/directives/checked/checked.directive.ts","../../../projects/cdk/directives/checked/checked.module.ts","../../../projects/cdk/directives/checked/taiga-ui-cdk-directives-checked.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Output,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: `input[tuiChecked], input[tuiCheckedChange]`,\n})\nexport class TuiCheckedDirective {\n @Input()\n set tuiChecked(checked:
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-checked.js","sources":["../../../projects/cdk/directives/checked/checked.directive.ts","../../../projects/cdk/directives/checked/checked.module.ts","../../../projects/cdk/directives/checked/taiga-ui-cdk-directives-checked.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Output,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: `input[tuiChecked], input[tuiCheckedChange]`,\n})\nexport class TuiCheckedDirective {\n @Input()\n set tuiChecked(checked: boolean | null) {\n this.updateProperty(`checked`, checked || false);\n this.updateProperty(`indeterminate`, checked === null);\n }\n\n @Output()\n readonly tuiCheckedChange = new EventEmitter<boolean>();\n\n constructor(\n @Inject(ElementRef)\n private readonly element: ElementRef<HTMLInputElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n ) {\n this.updateProperty(`checked`, false);\n }\n\n @HostListener(`change`, [`$event.target`])\n onChange({checked}: HTMLInputElement): void {\n this.updateProperty(`indeterminate`, false);\n this.tuiCheckedChange.emit(checked);\n }\n\n private updateProperty(property: 'checked' | 'indeterminate', value: boolean): void {\n this.renderer.setProperty(this.element.nativeElement, property, value);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiCheckedDirective} from './checked.directive';\n\n@NgModule({\n declarations: [TuiCheckedDirective],\n exports: [TuiCheckedDirective],\n})\nexport class TuiCheckedModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAca,mBAAmB,CAAA;IAU5B,WAEqB,CAAA,OAAqC,EAClB,QAAmB,EAAA;QADtC,IAAO,CAAA,OAAA,GAAP,OAAO,CAA8B;QAClB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AALlD,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAW,CAAC;AAOpD,QAAA,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KACzC;IAfD,IACI,UAAU,CAAC,OAAuB,EAAA;QAClC,IAAI,CAAC,cAAc,CAAC,CAAA,OAAA,CAAS,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,CAAA,aAAA,CAAe,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC;KAC1D;IAcD,QAAQ,CAAC,EAAC,OAAO,EAAmB,EAAA;AAChC,QAAA,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AAC5C,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACvC;IAEO,cAAc,CAAC,QAAqC,EAAE,KAAc,EAAA;AACxE,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;KAC1E;;iHA1BQ,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAWhB,UAAU,EAAA,EAAA,EAAA,KAAA,EAEV,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qGAbZ,mBAAmB,EAAA,QAAA,EAAA,4CAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,CAA4C,0CAAA,CAAA;AACzD,iBAAA,CAAA;;0BAYQ,MAAM;2BAAC,UAAU,CAAA;;0BAEjB,MAAM;2BAAC,SAAS,CAAA;4CAXjB,UAAU,EAAA,CAAA;sBADb,KAAK;gBAOG,gBAAgB,EAAA,CAAA;sBADxB,MAAM;gBAYP,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,CAAQ,MAAA,CAAA,EAAE,CAAC,CAAA,aAAA,CAAe,CAAC,CAAA;;;MCxBhC,gBAAgB,CAAA;;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAhB,gBAAgB,EAAA,YAAA,EAAA,CAHV,mBAAmB,CAAA,EAAA,OAAA,EAAA,CACxB,mBAAmB,CAAA,EAAA,CAAA,CAAA;+GAEpB,gBAAgB,EAAA,CAAA,CAAA;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,mBAAmB,CAAC;oBACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;AACjC,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { ElementRef, Directive, Inject, Output, NgModule } from '@angular/core';
|
|
2
|
+
import { ElementRef, Directive, Inject, Self, Output, NgModule } from '@angular/core';
|
|
3
3
|
import { tuiTypedFromEvent, tuiPreventDefault } from '@taiga-ui/cdk/observables';
|
|
4
4
|
import { TuiDestroyService } from '@taiga-ui/cdk/services';
|
|
5
5
|
import { tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
@@ -17,7 +17,7 @@ class TuiDroppableDirective {
|
|
|
17
17
|
.subscribe();
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
TuiDroppableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDroppableDirective, deps: [{ token: ElementRef }, { token: TuiDestroyService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
20
|
+
TuiDroppableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDroppableDirective, deps: [{ token: ElementRef }, { token: TuiDestroyService, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
21
21
|
TuiDroppableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDroppableDirective, selector: "[tuiDroppableDropped], [tuiDroppableDragOverChange]", outputs: { tuiDroppableDropped: "tuiDroppableDropped", tuiDroppableDragOverChange: "tuiDroppableDragOverChange" }, providers: [TuiDestroyService], ngImport: i0 });
|
|
22
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDroppableDirective, decorators: [{
|
|
23
23
|
type: Directive,
|
|
@@ -29,6 +29,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
29
29
|
type: Inject,
|
|
30
30
|
args: [ElementRef]
|
|
31
31
|
}] }, { type: i1.Observable, decorators: [{
|
|
32
|
+
type: Self
|
|
33
|
+
}, {
|
|
32
34
|
type: Inject,
|
|
33
35
|
args: [TuiDestroyService]
|
|
34
36
|
}] }]; }, propDecorators: { tuiDroppableDropped: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-droppable.js","sources":["../../../projects/cdk/directives/droppable/droppable.directive.ts","../../../projects/cdk/directives/droppable/droppable.module.ts","../../../projects/cdk/directives/droppable/taiga-ui-cdk-directives-droppable.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {tuiPreventDefault, tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TuiDestroyService} from '@taiga-ui/cdk/services';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n mapTo,\n startWith,\n switchMap,\n takeUntil,\n} from 'rxjs/operators';\n\n@Directive({\n selector: `[tuiDroppableDropped], [tuiDroppableDragOverChange]`,\n providers: [TuiDestroyService],\n})\nexport class TuiDroppableDirective {\n @Output()\n readonly tuiDroppableDropped: Observable<DataTransfer>;\n\n @Output()\n readonly tuiDroppableDragOverChange: Observable<DataTransfer | null>;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n ) {\n this.tuiDroppableDropped = tuiTypedFromEvent(nativeElement, `drop`).pipe(\n tuiPreventDefault(),\n map(event => event.dataTransfer),\n filter(tuiIsPresent),\n );\n\n this.tuiDroppableDragOverChange = tuiTypedFromEvent(\n nativeElement,\n `dragenter`,\n ).pipe(\n switchMap(({target, dataTransfer}) =>\n merge(\n tuiTypedFromEvent(nativeElement, `dragleave`).pipe(\n filter(event => event.target === target),\n ),\n tuiTypedFromEvent(nativeElement, `drop`),\n ).pipe(mapTo(null), startWith(dataTransfer)),\n ),\n distinctUntilChanged((a, b) => (!!a && !!b) || (!a && !b)),\n );\n\n // Required by Drag and Drop API to stop redirecting\n tuiTypedFromEvent(nativeElement, `dragover`)\n .pipe(tuiPreventDefault(), takeUntil(destroy$))\n .subscribe();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiDroppableDirective} from './droppable.directive';\n\n@NgModule({\n declarations: [TuiDroppableDirective],\n exports: [TuiDroppableDirective],\n})\nexport class TuiDroppableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;MAmBa,qBAAqB,CAAA;AAO9B,IAAA,WAAA,CACwB,EAAC,aAAa,EAA0B,
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-droppable.js","sources":["../../../projects/cdk/directives/droppable/droppable.directive.ts","../../../projects/cdk/directives/droppable/droppable.module.ts","../../../projects/cdk/directives/droppable/taiga-ui-cdk-directives-droppable.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output, Self} from '@angular/core';\nimport {tuiPreventDefault, tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TuiDestroyService} from '@taiga-ui/cdk/services';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n mapTo,\n startWith,\n switchMap,\n takeUntil,\n} from 'rxjs/operators';\n\n@Directive({\n selector: `[tuiDroppableDropped], [tuiDroppableDragOverChange]`,\n providers: [TuiDestroyService],\n})\nexport class TuiDroppableDirective {\n @Output()\n readonly tuiDroppableDropped: Observable<DataTransfer>;\n\n @Output()\n readonly tuiDroppableDragOverChange: Observable<DataTransfer | null>;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n ) {\n this.tuiDroppableDropped = tuiTypedFromEvent(nativeElement, `drop`).pipe(\n tuiPreventDefault(),\n map(event => event.dataTransfer),\n filter(tuiIsPresent),\n );\n\n this.tuiDroppableDragOverChange = tuiTypedFromEvent(\n nativeElement,\n `dragenter`,\n ).pipe(\n switchMap(({target, dataTransfer}) =>\n merge(\n tuiTypedFromEvent(nativeElement, `dragleave`).pipe(\n filter(event => event.target === target),\n ),\n tuiTypedFromEvent(nativeElement, `drop`),\n ).pipe(mapTo(null), startWith(dataTransfer)),\n ),\n distinctUntilChanged((a, b) => (!!a && !!b) || (!a && !b)),\n );\n\n // Required by Drag and Drop API to stop redirecting\n tuiTypedFromEvent(nativeElement, `dragover`)\n .pipe(tuiPreventDefault(), takeUntil(destroy$))\n .subscribe();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiDroppableDirective} from './droppable.directive';\n\n@NgModule({\n declarations: [TuiDroppableDirective],\n exports: [TuiDroppableDirective],\n})\nexport class TuiDroppableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;MAmBa,qBAAqB,CAAA;AAO9B,IAAA,WAAA,CACwB,EAAC,aAAa,EAA0B,EACzB,QAA0B,EAAA;AAE7D,QAAA,IAAI,CAAC,mBAAmB,GAAG,iBAAiB,CAAC,aAAa,EAAE,CAAA,IAAA,CAAM,CAAC,CAAC,IAAI,CACpE,iBAAiB,EAAE,EACnB,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,EAChC,MAAM,CAAC,YAAY,CAAC,CACvB,CAAC;QAEF,IAAI,CAAC,0BAA0B,GAAG,iBAAiB,CAC/C,aAAa,EACb,WAAW,CACd,CAAC,IAAI,CACF,SAAS,CAAC,CAAC,EAAC,MAAM,EAAE,YAAY,EAAC,KAC7B,KAAK,CACD,iBAAiB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,IAAI,CAC9C,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAC3C,EACD,iBAAiB,CAAC,aAAa,EAAE,MAAM,CAAC,CAC3C,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAC/C,EACD,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC7D,CAAC;;AAGF,QAAA,iBAAiB,CAAC,aAAa,EAAE,CAAA,QAAA,CAAU,CAAC;aACvC,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC9C,aAAA,SAAS,EAAE,CAAC;KACpB;;mHApCQ,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAQlB,UAAU,EAAA,EAAA,EAAA,KAAA,EACF,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAT5B,qBAAqB,EAAA,QAAA,EAAA,qDAAA,EAAA,OAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,EAAA,SAAA,EAFnB,CAAC,iBAAiB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAErB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,CAAqD,mDAAA,CAAA;oBAC/D,SAAS,EAAE,CAAC,iBAAiB,CAAC;AACjC,iBAAA,CAAA;;0BASQ,MAAM;2BAAC,UAAU,CAAA;;0BACjB,IAAI;;0BAAI,MAAM;2BAAC,iBAAiB,CAAA;4CAP5B,mBAAmB,EAAA,CAAA;sBAD3B,MAAM;gBAIE,0BAA0B,EAAA,CAAA;sBADlC,MAAM;;;MCfE,kBAAkB,CAAA;;gHAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;iHAAlB,kBAAkB,EAAA,YAAA,EAAA,CAHZ,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAC1B,qBAAqB,CAAA,EAAA,CAAA,CAAA;iHAEtB,kBAAkB,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,qBAAqB,CAAC;oBACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACnC,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
|
|
@@ -1,13 +1,27 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { ElementRef, Directive, Inject, NgModule } from '@angular/core';
|
|
3
3
|
|
|
4
|
-
class TuiElementDirective
|
|
4
|
+
class TuiElementDirective {
|
|
5
5
|
constructor({ nativeElement }) {
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* @note:
|
|
8
|
+
* Typically, when your constructor is invoked with new,
|
|
9
|
+
* an object is created, its constructor is assigned to
|
|
10
|
+
* the invoked constructor and the object is then assigned
|
|
11
|
+
* to this before executing any operations specified
|
|
12
|
+
* in your constructor method.
|
|
13
|
+
*
|
|
14
|
+
* ERROR TypeError: Class constructor ElementRef cannot be invoked without 'new'
|
|
15
|
+
* https://github.com/Tinkoff/taiga-ui/issues/3072
|
|
16
|
+
*
|
|
17
|
+
* This way we can instantiate object creation
|
|
18
|
+
* without additional prototype chain for possible fix bug.
|
|
19
|
+
*/
|
|
20
|
+
return new ElementRef(nativeElement);
|
|
7
21
|
}
|
|
8
22
|
}
|
|
9
23
|
TuiElementDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiElementDirective, deps: [{ token: ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
10
|
-
TuiElementDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiElementDirective, selector: "[tuiElement]", exportAs: ["elementRef"],
|
|
24
|
+
TuiElementDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiElementDirective, selector: "[tuiElement]", exportAs: ["elementRef"], ngImport: i0 });
|
|
11
25
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiElementDirective, decorators: [{
|
|
12
26
|
type: Directive,
|
|
13
27
|
args: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-element.js","sources":["../../../projects/cdk/directives/element/element.directive.ts","../../../projects/cdk/directives/element/element.module.ts","../../../projects/cdk/directives/element/taiga-ui-cdk-directives-element.ts"],"sourcesContent":["import {Directive, ElementRef, Inject} from '@angular/core';\n\n@Directive({\n selector: `[tuiElement]`,\n exportAs: `elementRef`,\n})\nexport class TuiElementDirective<T extends Element = HTMLElement
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-element.js","sources":["../../../projects/cdk/directives/element/element.directive.ts","../../../projects/cdk/directives/element/element.module.ts","../../../projects/cdk/directives/element/taiga-ui-cdk-directives-element.ts"],"sourcesContent":["import {Directive, ElementRef, Inject} from '@angular/core';\n\n@Directive({\n selector: `[tuiElement]`,\n exportAs: `elementRef`,\n})\nexport class TuiElementDirective<T extends Element = HTMLElement>\n implements ElementRef<T>\n{\n nativeElement!: T;\n\n constructor(@Inject(ElementRef) {nativeElement}: ElementRef<T>) {\n /**\n * @note:\n * Typically, when your constructor is invoked with new,\n * an object is created, its constructor is assigned to\n * the invoked constructor and the object is then assigned\n * to this before executing any operations specified\n * in your constructor method.\n *\n * ERROR TypeError: Class constructor ElementRef cannot be invoked without 'new'\n * https://github.com/Tinkoff/taiga-ui/issues/3072\n *\n * This way we can instantiate object creation\n * without additional prototype chain for possible fix bug.\n */\n return new ElementRef<T>(nativeElement);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiElementDirective} from './element.directive';\n\n@NgModule({\n declarations: [TuiElementDirective],\n exports: [TuiElementDirective],\n})\nexport class TuiElementModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAMa,mBAAmB,CAAA;IAK5B,WAAgC,CAAA,EAAC,aAAa,EAAgB,EAAA;AAC1D;;;;;;;;;;;;;AAaG;AACH,QAAA,OAAO,IAAI,UAAU,CAAI,aAAa,CAAC,CAAC;KAC3C;;AArBQ,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBAKR,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qGALrB,mBAAmB,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,CAAc,YAAA,CAAA;AACxB,oBAAA,QAAQ,EAAE,CAAY,UAAA,CAAA;AACzB,iBAAA,CAAA;;0BAMgB,MAAM;2BAAC,UAAU,CAAA;;;MCHrB,gBAAgB,CAAA;;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAhB,gBAAgB,EAAA,YAAA,EAAA,CAHV,mBAAmB,CAAA,EAAA,OAAA,EAAA,CACxB,mBAAmB,CAAA,EAAA,CAAA,CAAA;+GAEpB,gBAAgB,EAAA,CAAA,CAAA;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,mBAAmB,CAAC;oBACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;AACjC,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-for-async.js","sources":["../../../projects/cdk/directives/for-async/for-async.directive.ts","../../../projects/cdk/directives/for-async/for-async.module.ts","../../../projects/cdk/directives/for-async/taiga-ui-cdk-directives-for-async.ts"],"sourcesContent":["import {\n Directive,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport {from, of, Subject} from 'rxjs';\nimport {concatMap, delay, takeUntil} from 'rxjs/operators';\n\n@Directive({selector: `[tuiForAsync][tuiForAsyncOf]`})\nexport class TuiForAsyncDirective<T> implements OnChanges, OnDestroy {\n private readonly destroy$ = new Subject<void>();\n\n @Input()\n tuiForAsyncOf: readonly T[] |
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-for-async.js","sources":["../../../projects/cdk/directives/for-async/for-async.directive.ts","../../../projects/cdk/directives/for-async/for-async.module.ts","../../../projects/cdk/directives/for-async/taiga-ui-cdk-directives-for-async.ts"],"sourcesContent":["import {\n Directive,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport {from, of, Subject} from 'rxjs';\nimport {concatMap, delay, takeUntil} from 'rxjs/operators';\n\n@Directive({selector: `[tuiForAsync][tuiForAsyncOf]`})\nexport class TuiForAsyncDirective<T> implements OnChanges, OnDestroy {\n private readonly destroy$ = new Subject<void>();\n\n @Input()\n tuiForAsyncOf: readonly T[] | null | undefined;\n\n @Input()\n tuiForAsyncTimeout = 10;\n\n constructor(\n @Inject(ViewContainerRef) private readonly view: ViewContainerRef,\n @Inject(TemplateRef) private readonly template: TemplateRef<unknown>,\n ) {}\n\n ngOnChanges(): void {\n this.clearViewForOldNodes();\n this.createAsyncViewForNewNodes();\n }\n\n ngOnDestroy(): void {\n this.clearViewForOldNodes();\n this.destroy$.complete();\n }\n\n private createAsyncViewForNewNodes(): void {\n from((this.tuiForAsyncOf || []).entries())\n .pipe(\n concatMap(entry => of(entry).pipe(delay(this.tuiForAsyncTimeout))),\n takeUntil(this.destroy$),\n )\n .subscribe(([index, item]) =>\n this.view\n .createEmbeddedView(this.template, {$implicit: item, index}, index)\n .detectChanges(),\n );\n }\n\n private clearViewForOldNodes(): void {\n this.destroy$.next();\n this.view.clear();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiForAsyncDirective} from './for-async.directive';\n\n/**\n * @experimental\n */\n@NgModule({\n declarations: [TuiForAsyncDirective],\n exports: [TuiForAsyncDirective],\n})\nexport class TuiForAsyncModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAaa,oBAAoB,CAAA;IAS7B,WAC+C,CAAA,IAAsB,EAC3B,QAA8B,EAAA;QADzB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAkB;QAC3B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAsB;AAVvD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;QAMhD,IAAkB,CAAA,kBAAA,GAAG,EAAE,CAAC;KAKpB;IAEJ,WAAW,GAAA;QACP,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,0BAA0B,EAAE,CAAC;KACrC;IAED,WAAW,GAAA;QACP,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC5B;IAEO,0BAA0B,GAAA;QAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC;AACrC,aAAA,IAAI,CACD,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAClE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC3B;AACA,aAAA,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KACrB,IAAI,CAAC,IAAI;AACJ,aAAA,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAC,EAAE,KAAK,CAAC;aAClE,aAAa,EAAE,CACvB,CAAC;KACT;IAEO,oBAAoB,GAAA;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;KACrB;;kHAxCQ,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAUjB,gBAAgB,EAAA,EAAA,EAAA,KAAA,EAChB,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sGAXd,oBAAoB,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,SAAS;mBAAC,EAAC,QAAQ,EAAE,CAAA,4BAAA,CAA8B,EAAC,CAAA;;0BAW5C,MAAM;2BAAC,gBAAgB,CAAA;;0BACvB,MAAM;2BAAC,WAAW,CAAA;4CAPvB,aAAa,EAAA,CAAA;sBADZ,KAAK;gBAIN,kBAAkB,EAAA,CAAA;sBADjB,KAAK;;;ACfV;;AAEG;MAKU,iBAAiB,CAAA;;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAjB,iBAAiB,EAAA,YAAA,EAAA,CAHX,oBAAoB,CAAA,EAAA,OAAA,EAAA,CACzB,oBAAoB,CAAA,EAAA,CAAA,CAAA;gHAErB,iBAAiB,EAAA,CAAA,CAAA;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,oBAAoB,CAAC;oBACpC,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAClC,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { ElementRef, NgZone, Directive, Inject, Input, HostBinding, NgModule } from '@angular/core';
|
|
2
|
+
import { ElementRef, NgZone, Directive, Inject, Self, Input, HostBinding, NgModule } from '@angular/core';
|
|
3
3
|
import { tuiTypedFromEvent, tuiZonefree } from '@taiga-ui/cdk/observables';
|
|
4
4
|
import { TuiDestroyService } from '@taiga-ui/cdk/services';
|
|
5
5
|
import { tuiIsElement, tuiGetScrollParent, tuiCanScroll } from '@taiga-ui/cdk/utils/dom';
|
|
@@ -75,7 +75,7 @@ class TuiOverscrollDirective {
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
TuiOverscrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiOverscrollDirective, deps: [{ token: ElementRef }, { token: NgZone }, { token: TuiDestroyService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
78
|
+
TuiOverscrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiOverscrollDirective, deps: [{ token: ElementRef }, { token: NgZone }, { token: TuiDestroyService, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
79
79
|
TuiOverscrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiOverscrollDirective, selector: "[tuiOverscroll]", inputs: { mode: ["tuiOverscroll", "mode"] }, host: { properties: { "style.overscrollBehavior": "this.overscrollBehavior" } }, providers: [TuiDestroyService], ngImport: i0 });
|
|
80
80
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiOverscrollDirective, decorators: [{
|
|
81
81
|
type: Directive,
|
|
@@ -90,6 +90,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
90
90
|
type: Inject,
|
|
91
91
|
args: [NgZone]
|
|
92
92
|
}] }, { type: i1.Observable, decorators: [{
|
|
93
|
+
type: Self
|
|
94
|
+
}, {
|
|
93
95
|
type: Inject,
|
|
94
96
|
args: [TuiDestroyService]
|
|
95
97
|
}] }]; }, propDecorators: { mode: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-overscroll.js","sources":["../../../projects/cdk/directives/overscroll/overscroll.directive.ts","../../../projects/cdk/directives/overscroll/overscroll.module.ts","../../../projects/cdk/directives/overscroll/taiga-ui-cdk-directives-overscroll.ts"],"sourcesContent":["import {Directive
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-overscroll.js","sources":["../../../projects/cdk/directives/overscroll/overscroll.directive.ts","../../../projects/cdk/directives/overscroll/overscroll.module.ts","../../../projects/cdk/directives/overscroll/taiga-ui-cdk-directives-overscroll.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n NgZone,\n Self,\n} from '@angular/core';\nimport {tuiTypedFromEvent, tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {TuiDestroyService} from '@taiga-ui/cdk/services';\nimport {TuiEventWith, TuiOverscrollMode} from '@taiga-ui/cdk/types';\nimport {tuiCanScroll, tuiGetScrollParent, tuiIsElement} from '@taiga-ui/cdk/utils/dom';\nimport {Observable} from 'rxjs';\nimport {filter, switchMap, takeUntil, tap} from 'rxjs/operators';\n\n/**\n * Directive to isolate scrolling, i.e. prevent body scroll behind modal dialog\n */\n@Directive({\n selector: `[tuiOverscroll]`,\n providers: [TuiDestroyService],\n})\nexport class TuiOverscrollDirective {\n @Input(`tuiOverscroll`)\n mode: TuiOverscrollMode | '' = `scroll`;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n ) {\n tuiTypedFromEvent(nativeElement, `wheel`, {passive: false})\n .pipe(\n filter(() => this.enabled),\n tuiZonefree(ngZone),\n takeUntil(destroy$),\n )\n .subscribe(event => {\n this.processEvent(\n event,\n !!event.deltaY,\n event.deltaY ? event.deltaY < 0 : event.deltaX < 0,\n );\n });\n\n tuiTypedFromEvent(nativeElement, `touchstart`, {passive: true})\n .pipe(\n switchMap(({touches}) => {\n let {clientX, clientY} = touches[0];\n let deltaX = 0;\n let deltaY = 0;\n let vertical: boolean;\n\n return tuiTypedFromEvent(nativeElement, `touchmove`, {\n passive: false,\n }).pipe(\n filter(() => this.enabled),\n tap(event => {\n // We have to have it in tap instead of subscribe due to variables in closure\n const changedTouch = event.changedTouches[0];\n\n deltaX = clientX - changedTouch.clientX;\n deltaY = clientY - changedTouch.clientY;\n clientX = changedTouch.clientX;\n clientY = changedTouch.clientY;\n\n if (vertical === undefined) {\n vertical = Math.abs(deltaY) > Math.abs(deltaX);\n }\n\n this.processEvent(\n event,\n vertical,\n vertical ? deltaY < 0 : deltaX < 0,\n );\n }),\n );\n }),\n tuiZonefree(ngZone),\n takeUntil(destroy$),\n )\n .subscribe();\n }\n\n get enabled(): boolean {\n return this.mode !== `none`;\n }\n\n @HostBinding(`style.overscrollBehavior`)\n get overscrollBehavior(): 'contain' | null {\n return this.enabled ? `contain` : null;\n }\n\n private processEvent(\n event: TuiEventWith<Event, HTMLElement>,\n vertical: boolean,\n negative: boolean,\n ): void {\n const {target, currentTarget, cancelable} = event;\n\n if (\n !cancelable ||\n !tuiIsElement(target) ||\n (target as HTMLInputElement)?.type === `range`\n ) {\n return;\n }\n\n // This is all what's needed in Chrome/Firefox thanks to CSS overscroll-behavior\n if (\n this.mode === `all` &&\n ((vertical && !currentTarget.contains(tuiGetScrollParent(target))) ||\n (!vertical && !currentTarget.contains(tuiGetScrollParent(target, false))))\n ) {\n event.preventDefault();\n\n return;\n }\n\n // This is Safari/IE/Edge fallback\n if (\n vertical &&\n ((negative && !tuiCanScroll(target, currentTarget, true, false)) ||\n (!negative && !tuiCanScroll(target, currentTarget, true, true)))\n ) {\n event.preventDefault();\n\n return;\n }\n\n if (\n !vertical &&\n ((negative && !tuiCanScroll(target, currentTarget, false, false)) ||\n (!negative && !tuiCanScroll(target, currentTarget, false, true)))\n ) {\n event.preventDefault();\n }\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiOverscrollDirective} from './overscroll.directive';\n\n@NgModule({\n declarations: [TuiOverscrollDirective],\n exports: [TuiOverscrollDirective],\n})\nexport class TuiOverscrollModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { ElementRef, NgZone, Directive, Inject, Attribute, NgModule } from '@angular/core';
|
|
2
|
+
import { ElementRef, NgZone, Directive, Inject, Self, Attribute, NgModule } from '@angular/core';
|
|
3
3
|
import { tuiZonefree, tuiPreventDefault } from '@taiga-ui/cdk/observables';
|
|
4
4
|
import { TuiDestroyService } from '@taiga-ui/cdk/services';
|
|
5
5
|
import * as i1 from 'rxjs';
|
|
@@ -17,7 +17,7 @@ class TuiPreventDefaultDirective {
|
|
|
17
17
|
.subscribe();
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
TuiPreventDefaultDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiPreventDefaultDirective, deps: [{ token: ElementRef }, { token: NgZone }, { token: TuiDestroyService }, { token: `tuiPreventDefault`, attribute: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
20
|
+
TuiPreventDefaultDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiPreventDefaultDirective, deps: [{ token: ElementRef }, { token: NgZone }, { token: TuiDestroyService, self: true }, { token: `tuiPreventDefault`, attribute: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
21
21
|
TuiPreventDefaultDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiPreventDefaultDirective, selector: "[tuiPreventDefault]", providers: [TuiDestroyService], ngImport: i0 });
|
|
22
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiPreventDefaultDirective, decorators: [{
|
|
23
23
|
type: Directive,
|
|
@@ -32,6 +32,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
32
32
|
type: Inject,
|
|
33
33
|
args: [NgZone]
|
|
34
34
|
}] }, { type: i1.Observable, decorators: [{
|
|
35
|
+
type: Self
|
|
36
|
+
}, {
|
|
35
37
|
type: Inject,
|
|
36
38
|
args: [TuiDestroyService]
|
|
37
39
|
}] }, { type: undefined, decorators: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-prevent-default.js","sources":["../../../projects/cdk/directives/prevent-default/prevent-default.directive.ts","../../../projects/cdk/directives/prevent-default/prevent-default.module.ts","../../../projects/cdk/directives/prevent-default/taiga-ui-cdk-directives-prevent-default.ts"],"sourcesContent":["import {Attribute, Directive, ElementRef, Inject, NgZone} from '@angular/core';\nimport {tuiPreventDefault, tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {TuiDestroyService} from '@taiga-ui/cdk/services';\nimport {fromEvent, Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n/**\n * Simple prevent default on event directive when you do not need anything\n * else on event and do not want to trigger change detection\n */\n@Directive({\n selector: `[tuiPreventDefault]`,\n providers: [TuiDestroyService],\n})\nexport class TuiPreventDefaultDirective {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Attribute(`tuiPreventDefault`) eventName: string,\n ) {\n fromEvent(nativeElement, eventName, {passive: false})\n .pipe(tuiZonefree(ngZone), tuiPreventDefault(), takeUntil(destroy$))\n .subscribe();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiPreventDefaultDirective} from './prevent-default.directive';\n\n@NgModule({\n declarations: [TuiPreventDefaultDirective],\n exports: [TuiPreventDefaultDirective],\n})\nexport class TuiPreventDefaultModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAMA;;;AAGG;MAKU,0BAA0B,CAAA;IACnC,WACwB,CAAA,EAAC,aAAa,EAA0B,EAC5C,MAAc,
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-prevent-default.js","sources":["../../../projects/cdk/directives/prevent-default/prevent-default.directive.ts","../../../projects/cdk/directives/prevent-default/prevent-default.module.ts","../../../projects/cdk/directives/prevent-default/taiga-ui-cdk-directives-prevent-default.ts"],"sourcesContent":["import {Attribute, Directive, ElementRef, Inject, NgZone, Self} from '@angular/core';\nimport {tuiPreventDefault, tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {TuiDestroyService} from '@taiga-ui/cdk/services';\nimport {fromEvent, Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n/**\n * Simple prevent default on event directive when you do not need anything\n * else on event and do not want to trigger change detection\n */\n@Directive({\n selector: `[tuiPreventDefault]`,\n providers: [TuiDestroyService],\n})\nexport class TuiPreventDefaultDirective {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Attribute(`tuiPreventDefault`) eventName: string,\n ) {\n fromEvent(nativeElement, eventName, {passive: false})\n .pipe(tuiZonefree(ngZone), tuiPreventDefault(), takeUntil(destroy$))\n .subscribe();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiPreventDefaultDirective} from './prevent-default.directive';\n\n@NgModule({\n declarations: [TuiPreventDefaultDirective],\n exports: [TuiPreventDefaultDirective],\n})\nexport class TuiPreventDefaultModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAMA;;;AAGG;MAKU,0BAA0B,CAAA;IACnC,WACwB,CAAA,EAAC,aAAa,EAA0B,EAC5C,MAAc,EACK,QAA0B,EAC7B,SAAiB,EAAA;QAEjD,SAAS,CAAC,aAAa,EAAE,SAAS,EAAE,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC;AAChD,aAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;AACnE,aAAA,SAAS,EAAE,CAAC;KACpB;;AAVQ,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,kBAEvB,UAAU,EAAA,EAAA,EAAA,KAAA,EACV,MAAM,EACE,EAAA,EAAA,KAAA,EAAA,iBAAiB,yBACtB,CAAmB,iBAAA,CAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4GALzB,0BAA0B,EAAA,QAAA,EAAA,qBAAA,EAAA,SAAA,EAFxB,CAAC,iBAAiB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAErB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,CAAqB,mBAAA,CAAA;oBAC/B,SAAS,EAAE,CAAC,iBAAiB,CAAC;AACjC,iBAAA,CAAA;;0BAGQ,MAAM;2BAAC,UAAU,CAAA;;0BACjB,MAAM;2BAAC,MAAM,CAAA;;0BACb,IAAI;;0BAAI,MAAM;2BAAC,iBAAiB,CAAA;;0BAChC,SAAS;2BAAC,CAAmB,iBAAA,CAAA,CAAA;;;MCXzB,uBAAuB,CAAA;;qHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sHAAvB,uBAAuB,EAAA,YAAA,EAAA,CAHjB,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAC/B,0BAA0B,CAAA,EAAA,CAAA,CAAA;sHAE3B,uBAAuB,EAAA,CAAA,CAAA;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,0BAA0B,CAAC;oBAC1C,OAAO,EAAE,CAAC,0BAA0B,CAAC;AACxC,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
|
|
@@ -1,9 +1,21 @@
|
|
|
1
|
-
import { TuiOwnerDocumentException, TuiValuePresentException
|
|
1
|
+
import { TuiValueChangesException, TuiOwnerDocumentException, TuiValuePresentException } from '@taiga-ui/cdk/exceptions';
|
|
2
|
+
import { Observable, fromEvent, merge, concat, pipe, timer } from 'rxjs';
|
|
3
|
+
import { startWith, take, map, endWith, takeWhile, repeat, switchMapTo, mapTo, distinctUntilChanged, shareReplay, filter, ignoreElements, withLatestFrom, tap } from 'rxjs/operators';
|
|
2
4
|
import { tuiIsPresent, tuiGetOriginalArrayFromQueryList } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
3
|
-
import { fromEvent, merge, concat, pipe, timer, Observable } from 'rxjs';
|
|
4
|
-
import { take, map, endWith, takeWhile, repeat, switchMapTo, mapTo, startWith, distinctUntilChanged, shareReplay, filter, ignoreElements, withLatestFrom, tap } from 'rxjs/operators';
|
|
5
5
|
import { tuiIsNativeFocused } from '@taiga-ui/cdk/utils/focus';
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)
|
|
9
|
+
*/
|
|
10
|
+
function tuiControlValue(control) {
|
|
11
|
+
return new Observable(subscriber => {
|
|
12
|
+
if (!control.valueChanges) {
|
|
13
|
+
throw new TuiValueChangesException();
|
|
14
|
+
}
|
|
15
|
+
control.valueChanges.pipe(startWith(control.value)).subscribe(subscriber);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
7
19
|
function tuiTypedFromEvent(target, event, options = {}) {
|
|
8
20
|
return fromEvent(target, event, options);
|
|
9
21
|
}
|
|
@@ -101,18 +113,6 @@ function tuiPreventDefault() {
|
|
|
101
113
|
return tap(event => event.preventDefault());
|
|
102
114
|
}
|
|
103
115
|
|
|
104
|
-
/**
|
|
105
|
-
* Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)
|
|
106
|
-
*/
|
|
107
|
-
function tuiControlValue(control) {
|
|
108
|
-
return new Observable(subscriber => {
|
|
109
|
-
if (!control.valueChanges) {
|
|
110
|
-
throw new TuiValueChangesException();
|
|
111
|
-
}
|
|
112
|
-
control.valueChanges.pipe(startWith(control.value)).subscribe(subscriber);
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
|
|
116
116
|
function tuiStopPropagation() {
|
|
117
117
|
return tap(e => {
|
|
118
118
|
e.stopPropagation();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-observables.js","sources":["../../../projects/cdk/observables/typed-from-event.ts","../../../projects/cdk/observables/mouse-drag-finish-from.ts","../../../projects/cdk/observables/drag-and-drop-from.ts","../../../projects/cdk/observables/is-alive.ts","../../../projects/cdk/observables/focus-visible-observable.ts","../../../projects/cdk/observables/is-observed.ts","../../../projects/cdk/observables/items-query-list-observable.ts","../../../projects/cdk/observables/must-be-present.ts","../../../projects/cdk/observables/pressed-observable.ts","../../../projects/cdk/observables/prevent-default.ts","../../../projects/cdk/observables/replay-control-value-changes.ts","../../../projects/cdk/observables/stop-propagation.ts","../../../projects/cdk/observables/watch.ts","../../../projects/cdk/observables/zone-free.ts","../../../projects/cdk/observables/taiga-ui-cdk-observables.ts"],"sourcesContent":["import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {fromEvent, Observable} from 'rxjs';\n\nexport function tuiTypedFromEvent<E extends keyof WindowEventMap>(\n target: Window,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<WindowEventMap[E], typeof target>>;\n\nexport function tuiTypedFromEvent<E extends keyof DocumentEventMap>(\n target: Document,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<DocumentEventMap[E], typeof target>>;\n\nexport function tuiTypedFromEvent<T extends Element, E extends keyof HTMLElementEventMap>(\n target: T,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<HTMLElementEventMap[E], typeof target>>;\n\nexport function tuiTypedFromEvent<\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>>;\n\nexport function tuiTypedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<E>;\n\nexport function tuiTypedFromEvent<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 {tuiTypedFromEvent} from './typed-from-event';\n\n/**\n * Letting go of the mouse after it was pressed\n * @param target\n */\nexport function tuiMouseDragFinishFrom<\n T extends TuiTypedEventTarget<TuiEventWith<DragEvent, T>>,\n>(target: Exclude<T, null>): Observable<TuiEventWith<MouseEvent, T>> {\n return merge(\n tuiTypedFromEvent(target, `mouseup`),\n tuiTypedFromEvent(target, `dragend`),\n );\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {concat, merge, Observable} from 'rxjs';\nimport {endWith, map, repeat, take, takeWhile} from 'rxjs/operators';\n\nimport {tuiMouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {tuiTypedFromEvent} 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 tuiDragAndDropFrom(element: Element): Observable<TuiDragState> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return concat(\n tuiTypedFromEvent(element, `mousedown`).pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.Start, event)),\n ),\n merge(\n tuiTypedFromEvent(ownerDocument, `mousemove`).pipe(\n map(event => new TuiDragState(TuiDragStage.Continues, event)),\n ),\n tuiMouseDragFinishFrom(ownerDocument).pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.End, event)),\n endWith(null),\n ),\n ).pipe(takeWhile(tuiIsPresent)),\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<unknown, 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 {tuiIsNativeFocused} 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 {tuiTypedFromEvent} from './typed-from-event';\n\nlet documentMouseUpIsAlive$: Observable<boolean>;\nlet documentMouseDownIsAlive$: Observable<boolean>;\n\nexport function tuiFocusVisibleObservable(element: Element): Observable<boolean> {\n const elementBlur$ = tuiTypedFromEvent(element, `blur`);\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n if (!documentMouseDownIsAlive$ || !documentMouseUpIsAlive$) {\n documentMouseUpIsAlive$ = tuiTypedFromEvent(ownerDocument, `mouseup`, {\n capture: true,\n }).pipe(\n tuiIsAlive(),\n startWith(false),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n documentMouseDownIsAlive$ = tuiTypedFromEvent(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 tuiTypedFromEvent(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(() => !tuiIsNativeFocused(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 {Subject} from 'rxjs';\n\n/**\n * In RxJS 8 `observers` will be removed, this util is for future safety\n */\nexport function tuiIsObserved<T>(observable: Subject<T>): boolean {\n return (observable as any).observed || !!observable.observers.length;\n}\n","import {QueryList} from '@angular/core';\nimport {tuiGetOriginalArrayFromQueryList} 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 tuiItemsQueryListObservable<T>(\n queryList: QueryList<T>,\n): Observable<readonly T[]> {\n return queryList.changes.pipe(\n startWith(null),\n map(() => tuiGetOriginalArrayFromQueryList(queryList)),\n );\n}\n","import {TuiValuePresentException} from '@taiga-ui/cdk/exceptions';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {OperatorFunction} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport function tuiMustBePresent<T>(): OperatorFunction<T | undefined | null, T> {\n return map(value => {\n if (!tuiIsPresent(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 {tuiMouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {tuiTypedFromEvent} from './typed-from-event';\n\nexport interface TuiPressedObservableOptions {\n onlyTrusted: boolean;\n}\n\nexport function tuiPressedObservable(\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 tuiTypedFromEvent(element, `mousedown`).pipe(\n filter(({isTrusted}) => isTrusted || !onlyTrusted),\n switchMapTo(\n tuiMouseDragFinishFrom(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 tuiPreventDefault<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 */\nexport function tuiControlValue<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 tuiStopPropagation<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 tuiWatch<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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAoCM,SAAU,iBAAiB,CAC7B,MAA8B,EAC9B,KAAa,EACb,UAAmC,EAAE,EAAA;IAErC,OAAO,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAC7C;;ACrCA;;;AAGG;AACG,SAAU,sBAAsB,CAEpC,MAAwB,EAAA;AACtB,IAAA,OAAO,KAAK,CACR,iBAAiB,CAAC,MAAM,EAAE,CAAS,OAAA,CAAA,CAAC,EACpC,iBAAiB,CAAC,MAAM,EAAE,CAAS,OAAA,CAAA,CAAC,CACvC,CAAC;AACN;;ICRkB,aAIjB;AAJD,CAAA,UAAkB,YAAY,EAAA;AAC1B,IAAA,YAAA,CAAA,YAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK,CAAA;AACL,IAAA,YAAA,CAAA,YAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS,CAAA;AACT,IAAA,YAAA,CAAA,YAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG,CAAA;AACP,CAAC,EAJiB,YAAY,KAAZ,YAAY,GAI7B,EAAA,CAAA,CAAA,CAAA;MAEY,YAAY,CAAA;IACrB,WAAqB,CAAA,KAAmB,EAAW,KAAiB,EAAA;QAA/C,IAAK,CAAA,KAAA,GAAL,KAAK,CAAc;QAAW,IAAK,CAAA,KAAA,GAAL,KAAK,CAAY;KAAI;AAC3E,CAAA;AAEK,SAAU,kBAAkB,CAAC,OAAgB,EAAA;AAC/C,IAAA,MAAM,EAAC,aAAa,EAAC,GAAG,OAAO,CAAC;IAEhC,IAAI,CAAC,aAAa,EAAE;QAChB,MAAM,IAAI,yBAAyB,EAAE,CAAC;AACzC,KAAA;IAED,OAAO,MAAM,CACT,iBAAiB,CAAC,OAAO,EAAE,CAAA,SAAA,CAAW,CAAC,CAAC,IAAI,CACxC,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,KAAK,IAAI,IAAI,YAAY,gBAAqB,KAAK,CAAC,CAAC,CAC5D,EACD,KAAK,CACD,iBAAiB,CAAC,aAAa,EAAE,CAAA,SAAA,CAAW,CAAC,CAAC,IAAI,CAC9C,GAAG,CAAC,KAAK,IAAI,IAAI,YAAY,CAAA,CAAA,kBAAyB,KAAK,CAAC,CAAC,CAChE,EACD,sBAAsB,CAAC,aAAa,CAAC,CAAC,IAAI,CACtC,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,KAAK,IAAI,IAAI,YAAY,CAAA,CAAA,YAAmB,KAAK,CAAC,CAAC,EACvD,OAAO,CAAC,IAAI,CAAC,CAChB,CACJ,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAClC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACrB;;ACtCA;;AAEG;AACa,SAAA,UAAU,CAAC,QAAA,GAAmB,CAAC,EAAA;IAC3C,OAAO,IAAI,CACP,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAChE,oBAAoB,EAAE,CACzB,CAAC;AACN;;ACQA,IAAI,uBAA4C,CAAC;AACjD,IAAI,yBAA8C,CAAC;AAE7C,SAAU,yBAAyB,CAAC,OAAgB,EAAA;IACtD,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,EAAE,CAAA,IAAA,CAAM,CAAC,CAAC;AACxD,IAAA,MAAM,EAAC,aAAa,EAAC,GAAG,OAAO,CAAC;IAEhC,IAAI,CAAC,aAAa,EAAE;QAChB,MAAM,IAAI,yBAAyB,EAAE,CAAC;AACzC,KAAA;AAED,IAAA,IAAI,CAAC,yBAAyB,IAAI,CAAC,uBAAuB,EAAE;AACxD,QAAA,uBAAuB,GAAG,iBAAiB,CAAC,aAAa,EAAE,SAAS,EAAE;AAClE,YAAA,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC,IAAI,CACH,UAAU,EAAE,EACZ,SAAS,CAAC,KAAK,CAAC,EAChB,WAAW,CAAC,EAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAC/C,CAAC;AACF,QAAA,yBAAyB,GAAG,iBAAiB,CAAC,aAAa,EAAE,WAAW,EAAE;AACtE,YAAA,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC,IAAI,CACH,UAAU,EAAE,EACZ,SAAS,CAAC,KAAK,CAAC,EAChB,WAAW,CAAC,EAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAC/C,CAAC;AACL,KAAA;AAED,IAAA,OAAO,KAAK;;AAER,IAAA,MAAM,CACF,iBAAiB,CAAC,OAAO,EAAE,CAAO,KAAA,CAAA,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;AAEjD,IAAA,YAAY,CAAC,IAAI,CACb,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAC1C,IAAI,CAAC,CAAC,CAAC,EACP,cAAc,EAAE,CACnB,CACJ,CAAC,IAAI,CACF,MAAM,EAAE,EACR,cAAc,CACV,yBAAyB,EACzB,uBAAuB,EACvB,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,KAClC,aAAa,IAAI,cAAc,CACtC,EACD,MAAM,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,CACtC,CACJ,CAAC,IAAI,CACF,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EACtE,oBAAoB,EAAE,CACzB,CAAC;AACN;;ACrEA;;AAEG;AACG,SAAU,aAAa,CAAI,UAAsB,EAAA;IACnD,OAAQ,UAAkB,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC;AACzE;;ACFA;;AAEG;AACG,SAAU,2BAA2B,CACvC,SAAuB,EAAA;IAEvB,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CACzB,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MAAM,gCAAgC,CAAC,SAAS,CAAC,CAAC,CACzD,CAAC;AACN;;SCVgB,gBAAgB,GAAA;AAC5B,IAAA,OAAO,GAAG,CAAC,KAAK,IAAG;AACf,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YACtB,MAAM,IAAI,wBAAwB,EAAE,CAAC;AACxC,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;AACjB,KAAC,CAAC,CAAC;AACP;;ACFgB,SAAA,oBAAoB,CAChC,OAAgB,EAChB,EAAC,WAAW,EAAA,GAAiC,EAAC,WAAW,EAAE,IAAI,EAAC,EAAA;AAEhE,IAAA,MAAM,EAAC,aAAa,EAAC,GAAG,OAAO,CAAC;IAEhC,IAAI,CAAC,aAAa,EAAE;QAChB,MAAM,IAAI,yBAAyB,EAAE,CAAC;AACzC,KAAA;IAED,OAAO,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAC/C,MAAM,CAAC,CAAC,EAAC,SAAS,EAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,EAClD,WAAW,CACP,sBAAsB,CAAC,aAAa,CAAC,CAAC,IAAI,CACtC,KAAK,CAAC,KAAK,CAAC,EACZ,IAAI,CAAC,CAAC,CAAC,EACP,SAAS,CAAC,IAAI,CAAC,CAClB,CACJ,CACJ,CAAC;AACN;;SC5BgB,iBAAiB,GAAA;IAC7B,OAAO,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;AAChD;;ACAA;;AAEG;AACG,SAAU,eAAe,CAC3B,OAAmD,EAAA;AAEnD,IAAA,OAAO,IAAI,UAAU,CAAC,UAAU,IAAG;AAC/B,QAAA,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YACvB,MAAM,IAAI,wBAAwB,EAAE,CAAC;AACxC,SAAA;AAED,QAAA,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAC9E,KAAC,CAAC,CAAC;AACP;;SCfgB,kBAAkB,GAAA;AAC9B,IAAA,OAAO,GAAG,CAAC,CAAC,IAAG;QACX,CAAC,CAAC,eAAe,EAAE,CAAC;AACxB,KAAC,CAAC,CAAC;AACP;;ACHM,SAAU,QAAQ,CACpB,iBAAoC,EAAA;IAEpC,OAAO,GAAG,CAAC,MAAK;QACZ,iBAAiB,CAAC,YAAY,EAAE,CAAC;AACrC,KAAC,CAAC,CAAC;AACP;;ACPM,SAAU,WAAW,CAAI,MAAc,EAAA;AACzC,IAAA,OAAO,MAAM,IACT,IAAI,UAAU,CAAC,UAAU,IACrB,MAAM,CAAC,SAAS,CAAC;AACb,QAAA,IAAI,EAAE,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvD,QAAA,KAAK,EAAE,CAAC,KAAc,KAAK,MAAM,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACpE,QAAA,QAAQ,EAAE,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC1D,KAAA,CAAC,CACL,CAAC;AACV,CAAC;AAEK,SAAU,WAAW,CAAI,MAAc,EAAA;IACzC,OAAO,MAAM,IACT,IAAI,UAAU,CAAC,UAAU,IACrB,MAAM,CAAC,iBAAiB,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAC/D,CAAC;AACV,CAAC;AAEK,SAAU,gBAAgB,CAAI,MAAc,EAAA;AAC9C,IAAA,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1D;;ACvBA;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-observables.js","sources":["../../../projects/cdk/observables/control-value.ts","../../../projects/cdk/observables/typed-from-event.ts","../../../projects/cdk/observables/mouse-drag-finish-from.ts","../../../projects/cdk/observables/drag-and-drop-from.ts","../../../projects/cdk/observables/is-alive.ts","../../../projects/cdk/observables/focus-visible-observable.ts","../../../projects/cdk/observables/is-observed.ts","../../../projects/cdk/observables/items-query-list-observable.ts","../../../projects/cdk/observables/must-be-present.ts","../../../projects/cdk/observables/pressed-observable.ts","../../../projects/cdk/observables/prevent-default.ts","../../../projects/cdk/observables/stop-propagation.ts","../../../projects/cdk/observables/watch.ts","../../../projects/cdk/observables/zone-free.ts","../../../projects/cdk/observables/taiga-ui-cdk-observables.ts"],"sourcesContent":["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 */\nexport function tuiControlValue<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 {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {fromEvent, Observable} from 'rxjs';\n\nexport function tuiTypedFromEvent<E extends keyof WindowEventMap>(\n target: Window,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<WindowEventMap[E], typeof target>>;\n\nexport function tuiTypedFromEvent<E extends keyof DocumentEventMap>(\n target: Document,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<DocumentEventMap[E], typeof target>>;\n\nexport function tuiTypedFromEvent<T extends Element, E extends keyof HTMLElementEventMap>(\n target: T,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<HTMLElementEventMap[E], typeof target>>;\n\nexport function tuiTypedFromEvent<\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>>;\n\nexport function tuiTypedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<E>;\n\nexport function tuiTypedFromEvent<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 {tuiTypedFromEvent} from './typed-from-event';\n\n/**\n * Letting go of the mouse after it was pressed\n * @param target\n */\nexport function tuiMouseDragFinishFrom<\n T extends TuiTypedEventTarget<TuiEventWith<DragEvent, T>>,\n>(target: Exclude<T, null>): Observable<TuiEventWith<MouseEvent, T>> {\n return merge(\n tuiTypedFromEvent(target, `mouseup`),\n tuiTypedFromEvent(target, `dragend`),\n );\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {concat, merge, Observable} from 'rxjs';\nimport {endWith, map, repeat, take, takeWhile} from 'rxjs/operators';\n\nimport {tuiMouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {tuiTypedFromEvent} 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 tuiDragAndDropFrom(element: Element): Observable<TuiDragState> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return concat(\n tuiTypedFromEvent(element, `mousedown`).pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.Start, event)),\n ),\n merge(\n tuiTypedFromEvent(ownerDocument, `mousemove`).pipe(\n map(event => new TuiDragState(TuiDragStage.Continues, event)),\n ),\n tuiMouseDragFinishFrom(ownerDocument).pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.End, event)),\n endWith(null),\n ),\n ).pipe(takeWhile(tuiIsPresent)),\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<unknown, 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 {tuiIsNativeFocused} 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 {tuiTypedFromEvent} from './typed-from-event';\n\nlet documentMouseUpIsAlive$: Observable<boolean>;\nlet documentMouseDownIsAlive$: Observable<boolean>;\n\nexport function tuiFocusVisibleObservable(element: Element): Observable<boolean> {\n const elementBlur$ = tuiTypedFromEvent(element, `blur`);\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n if (!documentMouseDownIsAlive$ || !documentMouseUpIsAlive$) {\n documentMouseUpIsAlive$ = tuiTypedFromEvent(ownerDocument, `mouseup`, {\n capture: true,\n }).pipe(\n tuiIsAlive(),\n startWith(false),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n documentMouseDownIsAlive$ = tuiTypedFromEvent(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 tuiTypedFromEvent(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(() => !tuiIsNativeFocused(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 {Subject} from 'rxjs';\n\n/**\n * In RxJS 8 `observers` will be removed, this util is for future safety\n */\nexport function tuiIsObserved<T>(observable: Subject<T>): boolean {\n return (observable as any).observed || !!observable.observers.length;\n}\n","import {QueryList} from '@angular/core';\nimport {tuiGetOriginalArrayFromQueryList} 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 tuiItemsQueryListObservable<T>(\n queryList: QueryList<T>,\n): Observable<readonly T[]> {\n return queryList.changes.pipe(\n startWith(null),\n map(() => tuiGetOriginalArrayFromQueryList(queryList)),\n );\n}\n","import {TuiValuePresentException} from '@taiga-ui/cdk/exceptions';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {OperatorFunction} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport function tuiMustBePresent<T>(): OperatorFunction<T | null | undefined, T> {\n return map(value => {\n if (!tuiIsPresent(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 {tuiMouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {tuiTypedFromEvent} from './typed-from-event';\n\nexport interface TuiPressedObservableOptions {\n onlyTrusted: boolean;\n}\n\nexport function tuiPressedObservable(\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 tuiTypedFromEvent(element, `mousedown`).pipe(\n filter(({isTrusted}) => isTrusted || !onlyTrusted),\n switchMapTo(\n tuiMouseDragFinishFrom(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 tuiPreventDefault<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 tuiStopPropagation<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 tuiWatch<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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAKA;;AAEG;AACG,SAAU,eAAe,CAC3B,OAAmD,EAAA;AAEnD,IAAA,OAAO,IAAI,UAAU,CAAC,UAAU,IAAG;AAC/B,QAAA,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YACvB,MAAM,IAAI,wBAAwB,EAAE,CAAC;AACxC,SAAA;AAED,QAAA,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAC9E,KAAC,CAAC,CAAC;AACP;;ACkBM,SAAU,iBAAiB,CAC7B,MAA8B,EAC9B,KAAa,EACb,UAAmC,EAAE,EAAA;IAErC,OAAO,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAC7C;;ACrCA;;;AAGG;AACG,SAAU,sBAAsB,CAEpC,MAAwB,EAAA;AACtB,IAAA,OAAO,KAAK,CACR,iBAAiB,CAAC,MAAM,EAAE,CAAS,OAAA,CAAA,CAAC,EACpC,iBAAiB,CAAC,MAAM,EAAE,CAAS,OAAA,CAAA,CAAC,CACvC,CAAC;AACN;;ICRkB,aAIjB;AAJD,CAAA,UAAkB,YAAY,EAAA;AAC1B,IAAA,YAAA,CAAA,YAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK,CAAA;AACL,IAAA,YAAA,CAAA,YAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS,CAAA;AACT,IAAA,YAAA,CAAA,YAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG,CAAA;AACP,CAAC,EAJiB,YAAY,KAAZ,YAAY,GAI7B,EAAA,CAAA,CAAA,CAAA;MAEY,YAAY,CAAA;IACrB,WAAqB,CAAA,KAAmB,EAAW,KAAiB,EAAA;QAA/C,IAAK,CAAA,KAAA,GAAL,KAAK,CAAc;QAAW,IAAK,CAAA,KAAA,GAAL,KAAK,CAAY;KAAI;AAC3E,CAAA;AAEK,SAAU,kBAAkB,CAAC,OAAgB,EAAA;AAC/C,IAAA,MAAM,EAAC,aAAa,EAAC,GAAG,OAAO,CAAC;IAEhC,IAAI,CAAC,aAAa,EAAE;QAChB,MAAM,IAAI,yBAAyB,EAAE,CAAC;AACzC,KAAA;IAED,OAAO,MAAM,CACT,iBAAiB,CAAC,OAAO,EAAE,CAAA,SAAA,CAAW,CAAC,CAAC,IAAI,CACxC,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,KAAK,IAAI,IAAI,YAAY,gBAAqB,KAAK,CAAC,CAAC,CAC5D,EACD,KAAK,CACD,iBAAiB,CAAC,aAAa,EAAE,CAAA,SAAA,CAAW,CAAC,CAAC,IAAI,CAC9C,GAAG,CAAC,KAAK,IAAI,IAAI,YAAY,CAAA,CAAA,kBAAyB,KAAK,CAAC,CAAC,CAChE,EACD,sBAAsB,CAAC,aAAa,CAAC,CAAC,IAAI,CACtC,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,KAAK,IAAI,IAAI,YAAY,CAAA,CAAA,YAAmB,KAAK,CAAC,CAAC,EACvD,OAAO,CAAC,IAAI,CAAC,CAChB,CACJ,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAClC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACrB;;ACtCA;;AAEG;AACa,SAAA,UAAU,CAAC,QAAA,GAAmB,CAAC,EAAA;IAC3C,OAAO,IAAI,CACP,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAChE,oBAAoB,EAAE,CACzB,CAAC;AACN;;ACQA,IAAI,uBAA4C,CAAC;AACjD,IAAI,yBAA8C,CAAC;AAE7C,SAAU,yBAAyB,CAAC,OAAgB,EAAA;IACtD,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,EAAE,CAAA,IAAA,CAAM,CAAC,CAAC;AACxD,IAAA,MAAM,EAAC,aAAa,EAAC,GAAG,OAAO,CAAC;IAEhC,IAAI,CAAC,aAAa,EAAE;QAChB,MAAM,IAAI,yBAAyB,EAAE,CAAC;AACzC,KAAA;AAED,IAAA,IAAI,CAAC,yBAAyB,IAAI,CAAC,uBAAuB,EAAE;AACxD,QAAA,uBAAuB,GAAG,iBAAiB,CAAC,aAAa,EAAE,SAAS,EAAE;AAClE,YAAA,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC,IAAI,CACH,UAAU,EAAE,EACZ,SAAS,CAAC,KAAK,CAAC,EAChB,WAAW,CAAC,EAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAC/C,CAAC;AACF,QAAA,yBAAyB,GAAG,iBAAiB,CAAC,aAAa,EAAE,WAAW,EAAE;AACtE,YAAA,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC,IAAI,CACH,UAAU,EAAE,EACZ,SAAS,CAAC,KAAK,CAAC,EAChB,WAAW,CAAC,EAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAC/C,CAAC;AACL,KAAA;AAED,IAAA,OAAO,KAAK;;AAER,IAAA,MAAM,CACF,iBAAiB,CAAC,OAAO,EAAE,CAAO,KAAA,CAAA,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;AAEjD,IAAA,YAAY,CAAC,IAAI,CACb,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAC1C,IAAI,CAAC,CAAC,CAAC,EACP,cAAc,EAAE,CACnB,CACJ,CAAC,IAAI,CACF,MAAM,EAAE,EACR,cAAc,CACV,yBAAyB,EACzB,uBAAuB,EACvB,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,KAClC,aAAa,IAAI,cAAc,CACtC,EACD,MAAM,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,CACtC,CACJ,CAAC,IAAI,CACF,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EACtE,oBAAoB,EAAE,CACzB,CAAC;AACN;;ACrEA;;AAEG;AACG,SAAU,aAAa,CAAI,UAAsB,EAAA;IACnD,OAAQ,UAAkB,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC;AACzE;;ACFA;;AAEG;AACG,SAAU,2BAA2B,CACvC,SAAuB,EAAA;IAEvB,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CACzB,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MAAM,gCAAgC,CAAC,SAAS,CAAC,CAAC,CACzD,CAAC;AACN;;SCVgB,gBAAgB,GAAA;AAC5B,IAAA,OAAO,GAAG,CAAC,KAAK,IAAG;AACf,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YACtB,MAAM,IAAI,wBAAwB,EAAE,CAAC;AACxC,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;AACjB,KAAC,CAAC,CAAC;AACP;;ACFgB,SAAA,oBAAoB,CAChC,OAAgB,EAChB,EAAC,WAAW,EAAA,GAAiC,EAAC,WAAW,EAAE,IAAI,EAAC,EAAA;AAEhE,IAAA,MAAM,EAAC,aAAa,EAAC,GAAG,OAAO,CAAC;IAEhC,IAAI,CAAC,aAAa,EAAE;QAChB,MAAM,IAAI,yBAAyB,EAAE,CAAC;AACzC,KAAA;IAED,OAAO,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAC/C,MAAM,CAAC,CAAC,EAAC,SAAS,EAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,EAClD,WAAW,CACP,sBAAsB,CAAC,aAAa,CAAC,CAAC,IAAI,CACtC,KAAK,CAAC,KAAK,CAAC,EACZ,IAAI,CAAC,CAAC,CAAC,EACP,SAAS,CAAC,IAAI,CAAC,CAClB,CACJ,CACJ,CAAC;AACN;;SC5BgB,iBAAiB,GAAA;IAC7B,OAAO,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;AAChD;;SCFgB,kBAAkB,GAAA;AAC9B,IAAA,OAAO,GAAG,CAAC,CAAC,IAAG;QACX,CAAC,CAAC,eAAe,EAAE,CAAC;AACxB,KAAC,CAAC,CAAC;AACP;;ACHM,SAAU,QAAQ,CACpB,iBAAoC,EAAA;IAEpC,OAAO,GAAG,CAAC,MAAK;QACZ,iBAAiB,CAAC,YAAY,EAAE,CAAC;AACrC,KAAC,CAAC,CAAC;AACP;;ACPM,SAAU,WAAW,CAAI,MAAc,EAAA;AACzC,IAAA,OAAO,MAAM,IACT,IAAI,UAAU,CAAC,UAAU,IACrB,MAAM,CAAC,SAAS,CAAC;AACb,QAAA,IAAI,EAAE,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvD,QAAA,KAAK,EAAE,CAAC,KAAc,KAAK,MAAM,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACpE,QAAA,QAAQ,EAAE,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC1D,KAAA,CAAC,CACL,CAAC;AACV,CAAC;AAEK,SAAU,WAAW,CAAI,MAAc,EAAA;IACzC,OAAO,MAAM,IACT,IAAI,UAAU,CAAC,UAAU,IACrB,MAAM,CAAC,iBAAiB,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAC/D,CAAC;AACV,CAAC;AAEK,SAAU,gBAAgB,CAAI,MAAc,EAAA;AAC9C,IAAA,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1D;;ACvBA;;AAEG;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, ComponentFactoryResolver, INJECTOR, Inject, ElementRef, ChangeDetectorRef,
|
|
2
|
+
import { Injectable, ComponentFactoryResolver, INJECTOR, Inject, ElementRef, ChangeDetectorRef, Self, NgZone } from '@angular/core';
|
|
3
3
|
import * as i1 from 'rxjs';
|
|
4
4
|
import { ReplaySubject, Observable, defer, merge, fromEvent, of, timer } from 'rxjs';
|
|
5
5
|
import { tuiFocusVisibleObservable, tuiWatch, tuiTypedFromEvent, tuiZoneOptimized, tuiZonefree, tuiPreventDefault } from '@taiga-ui/cdk/observables';
|
|
@@ -79,7 +79,7 @@ class TuiFocusVisibleService extends Observable {
|
|
|
79
79
|
this.focusVisible$ = tuiFocusVisibleObservable(nativeElement).pipe(tuiWatch(changeDetectorRef), takeUntil(destroy$));
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
|
-
TuiFocusVisibleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFocusVisibleService, deps: [{ token: ElementRef }, { token: ChangeDetectorRef }, { token: TuiDestroyService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
82
|
+
TuiFocusVisibleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFocusVisibleService, deps: [{ token: ElementRef }, { token: ChangeDetectorRef }, { token: TuiDestroyService, self: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
83
83
|
TuiFocusVisibleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFocusVisibleService });
|
|
84
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFocusVisibleService, decorators: [{
|
|
85
85
|
type: Injectable
|
|
@@ -90,6 +90,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
90
90
|
type: Inject,
|
|
91
91
|
args: [ChangeDetectorRef]
|
|
92
92
|
}] }, { type: i1.Observable, decorators: [{
|
|
93
|
+
type: Self
|
|
94
|
+
}, {
|
|
93
95
|
type: Inject,
|
|
94
96
|
args: [TuiDestroyService]
|
|
95
97
|
}] }]; } });
|
|
@@ -156,7 +158,7 @@ class TuiObscuredService extends Observable {
|
|
|
156
158
|
merge(parentsScroll$, fromEvent(windowRef, `resize`)).pipe(delay(0)), animationFrame$.pipe(throttleTime(POLLING_TIME))).pipe(map(() => tuiGetElementObscures(nativeElement)), startWith(null), distinctUntilChanged(), tuiZoneOptimized(ngZone), takeUntil(destroy$));
|
|
157
159
|
}
|
|
158
160
|
}
|
|
159
|
-
TuiObscuredService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiObscuredService, deps: [{ token: TuiParentsScrollService, self: true }, { token: ElementRef }, { token: NgZone }, { token: WINDOW }, { token: TuiDestroyService }, { token: ANIMATION_FRAME }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
161
|
+
TuiObscuredService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiObscuredService, deps: [{ token: TuiParentsScrollService, self: true }, { token: ElementRef }, { token: NgZone }, { token: WINDOW }, { token: TuiDestroyService, self: true }, { token: ANIMATION_FRAME }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
160
162
|
TuiObscuredService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiObscuredService });
|
|
161
163
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiObscuredService, decorators: [{
|
|
162
164
|
type: Injectable
|
|
@@ -175,6 +177,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
175
177
|
type: Inject,
|
|
176
178
|
args: [WINDOW]
|
|
177
179
|
}] }, { type: i1.Observable, decorators: [{
|
|
180
|
+
type: Self
|
|
181
|
+
}, {
|
|
178
182
|
type: Inject,
|
|
179
183
|
args: [TuiDestroyService]
|
|
180
184
|
}] }, { type: i1.Observable, decorators: [{
|
|
@@ -217,7 +221,7 @@ class TuiResizeService extends ResizeObserverService {
|
|
|
217
221
|
return this.pipe(catchError(() => animationFrame$.pipe(throttleTime(POLLING_TIME), map(() => `${elementRef.nativeElement.clientWidth} ${elementRef.nativeElement.clientHeight}`), distinctUntilChanged(), mapTo(EMPTY_ARRAY))), debounceTime(0), tuiZonefree(ngZone), takeUntil(destroy$));
|
|
218
222
|
}
|
|
219
223
|
}
|
|
220
|
-
TuiResizeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiResizeService, deps: [{ token: ElementRef }, { token: NgZone }, { token: TuiDestroyService }, { token: RESIZE_OBSERVER_SUPPORT }, { token: RESIZE_OPTION_BOX }, { token: ANIMATION_FRAME }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
224
|
+
TuiResizeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiResizeService, deps: [{ token: ElementRef }, { token: NgZone }, { token: TuiDestroyService, self: true }, { token: RESIZE_OBSERVER_SUPPORT }, { token: RESIZE_OPTION_BOX }, { token: ANIMATION_FRAME }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
221
225
|
TuiResizeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiResizeService });
|
|
222
226
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiResizeService, decorators: [{
|
|
223
227
|
type: Injectable
|
|
@@ -228,6 +232,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
228
232
|
type: Inject,
|
|
229
233
|
args: [NgZone]
|
|
230
234
|
}] }, { type: i1.Observable, decorators: [{
|
|
235
|
+
type: Self
|
|
236
|
+
}, {
|
|
231
237
|
type: Inject,
|
|
232
238
|
args: [TuiDestroyService]
|
|
233
239
|
}] }, { type: undefined, decorators: [{
|