@taiga-ui/cdk 4.0.0-rc.1 → 4.0.0-rc.3
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/classes/control.d.ts +1 -1
- package/constants/used-icons.d.ts +1 -1
- package/constants/version.d.ts +1 -1
- package/constants/version.js +1 -1
- package/directives/auto-focus/autofocus.options.d.ts +1 -1
- package/directives/for/for.directive.d.ts +3 -3
- package/directives/platform/platform.directive.d.ts +1 -1
- package/directives/value-changes/value-changes.directive.d.ts +3 -3
- package/esm2022/classes/control.mjs +2 -2
- package/esm2022/constants/used-icons.mjs +6 -6
- package/esm2022/constants/version.mjs +2 -2
- package/esm2022/directives/active-zone/active-zone.directive.mjs +2 -2
- package/esm2022/directives/auto-focus/handlers/ios.handler.mjs +3 -3
- package/esm2022/directives/click-outside/click-outside.directive.mjs +2 -2
- package/esm2022/directives/droppable/droppable.directive.mjs +3 -3
- package/esm2022/directives/for/for.directive.mjs +6 -6
- package/esm2022/directives/hovered/hovered.service.mjs +2 -2
- package/esm2022/directives/obscured/obscured.directive.mjs +2 -2
- package/esm2022/directives/obscured/obscured.service.mjs +2 -2
- package/esm2022/directives/pan/pan.service.mjs +2 -2
- package/esm2022/directives/platform/platform.directive.mjs +6 -6
- package/esm2022/directives/swipe/swipe.service.mjs +2 -2
- package/esm2022/directives/value-changes/value-changes.directive.mjs +6 -6
- package/esm2022/directives/zoom/zoom.service.mjs +4 -4
- package/esm2022/observables/control-value.mjs +2 -2
- package/esm2022/observables/drag-and-drop-from.mjs +2 -2
- package/esm2022/observables/events.mjs +3 -3
- package/esm2022/observables/if-map.mjs +2 -2
- package/esm2022/observables/must-be-present.mjs +2 -2
- package/esm2022/observables/zone.mjs +4 -4
- package/esm2022/pipes/filter/filter.pipe.mjs +2 -2
- package/esm2022/services/popover.service.mjs +3 -3
- package/esm2022/services/scroll.service.mjs +2 -2
- package/esm2022/services/static-request.service.mjs +1 -1
- package/esm2022/tokens/active-element.mjs +3 -3
- package/esm2022/tokens/removed-element.mjs +2 -2
- package/esm2022/utils/color/get-gradient-data.mjs +6 -0
- package/esm2022/utils/color/hex-to-rgb.mjs +2 -2
- package/esm2022/utils/color/index.mjs +3 -1
- package/esm2022/utils/color/parse-color.mjs +3 -3
- package/esm2022/utils/color/parse-gradient.mjs +70 -0
- package/esm2022/utils/color/rgb-to-hex.mjs +2 -2
- package/esm2022/utils/dom/get-element-obscurers.mjs +2 -2
- package/esm2022/utils/dom/get-element-point.mjs +6 -0
- package/esm2022/utils/dom/index.mjs +2 -1
- package/esm2022/utils/miscellaneous/mark-control-as-touched-and-validate.mjs +3 -3
- package/esm2022/utils/miscellaneous/with-styles.mjs +2 -2
- package/fesm2022/taiga-ui-cdk-classes.mjs +1 -1
- package/fesm2022/taiga-ui-cdk-classes.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-constants.mjs +6 -6
- package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-active-zone.mjs +1 -1
- package/fesm2022/taiga-ui-cdk-directives-active-zone.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs +2 -2
- package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-click-outside.mjs +1 -1
- package/fesm2022/taiga-ui-cdk-directives-click-outside.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-droppable.mjs +2 -2
- package/fesm2022/taiga-ui-cdk-directives-droppable.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-for.mjs +5 -5
- package/fesm2022/taiga-ui-cdk-directives-for.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-hovered.mjs +1 -1
- package/fesm2022/taiga-ui-cdk-directives-hovered.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-obscured.mjs +2 -2
- package/fesm2022/taiga-ui-cdk-directives-obscured.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-pan.mjs +1 -1
- package/fesm2022/taiga-ui-cdk-directives-pan.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-platform.mjs +5 -5
- package/fesm2022/taiga-ui-cdk-directives-platform.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-swipe.mjs +1 -1
- package/fesm2022/taiga-ui-cdk-directives-swipe.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-value-changes.mjs +5 -5
- package/fesm2022/taiga-ui-cdk-directives-value-changes.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-zoom.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-zoom.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-observables.mjs +9 -9
- package/fesm2022/taiga-ui-cdk-observables.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-pipes-filter.mjs +1 -1
- package/fesm2022/taiga-ui-cdk-pipes-filter.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-services.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-services.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-tokens.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-tokens.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-color.mjs +80 -5
- package/fesm2022/taiga-ui-cdk-utils-color.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-dom.mjs +7 -2
- package/fesm2022/taiga-ui-cdk-utils-dom.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs.map +1 -1
- package/package.json +67 -357
- package/schematics/migration.json +3 -3
- package/schematics/ng-add/constants/modules.d.ts +0 -1
- package/schematics/ng-add/constants/modules.js +1 -11
- package/schematics/ng-add/constants/versions.d.ts +0 -1
- package/schematics/ng-add/constants/versions.js +1 -2
- package/schematics/ng-add/index.js +1 -7
- package/schematics/ng-add/schema.d.ts +0 -1
- package/schematics/ng-add/schema.json +0 -27
- package/schematics/ng-add/steps/add-taiga-icons.js +1 -1
- package/schematics/ng-add/steps/add-taiga-modules.js +7 -22
- package/schematics/ng-update/interfaces/replacement-type.d.ts +1 -0
- package/schematics/ng-update/steps/icons/replace-imports.js +5 -5
- package/schematics/ng-update/steps/index.d.ts +1 -0
- package/schematics/ng-update/steps/index.js +1 -0
- package/schematics/ng-update/steps/remove-module.js +2 -2
- package/schematics/ng-update/steps/rename-types.js +7 -7
- package/schematics/ng-update/steps/replace-deep-import.js +2 -2
- package/schematics/ng-update/steps/replace-enums.js +2 -2
- package/schematics/ng-update/steps/replace-identifier.js +1 -1
- package/schematics/ng-update/steps/replace-package-name.d.ts +5 -0
- package/schematics/ng-update/steps/replace-package-name.js +19 -0
- package/schematics/ng-update/steps/replace-services.js +5 -5
- package/schematics/ng-update/steps/show-warnings.js +4 -4
- package/schematics/ng-update/utils/replace-text.js +1 -1
- package/schematics/ng-update/utils/templates/replace-attr-values.js +3 -3
- package/schematics/ng-update/utils/templates/replace-attrs.js +1 -1
- package/schematics/ng-update/utils/templates/template-comments.js +4 -2
- package/schematics/ng-update/v3/constants/templates.js +9 -9
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v3/steps/migrate-date-time.js +10 -10
- package/schematics/ng-update/v3/steps/migrate-polymorpheus.js +8 -8
- package/schematics/ng-update/v3/steps/migrate-progress.js +4 -4
- package/schematics/ng-update/v3/steps/migrate-sliders/migrate-input-range.js +3 -3
- package/schematics/ng-update/v3/steps/migrate-sliders/migrate-input-slider.js +4 -4
- package/schematics/ng-update/v3/steps/migrate-taiga-proprietary-icons.js +2 -2
- package/schematics/ng-update/v3/steps/migrate-templates.js +16 -16
- package/schematics/ng-update/v3/steps/migrate-textfield-controller.js +8 -8
- package/schematics/ng-update/v3/steps/miscellaneous.js +5 -5
- package/schematics/ng-update/v3/steps/replace-functions.js +12 -12
- package/schematics/ng-update/v3/steps/replace-styles.js +2 -2
- package/schematics/ng-update/v3-36/index.js +7 -17
- package/schematics/ng-update/v3-40/index.js +1 -1
- package/schematics/ng-update/v3-5/steps/migrate-expand-templates.js +4 -4
- package/schematics/ng-update/v4/index.js +11 -6
- package/schematics/ng-update/v4/migrate-css-vars/palette.d.ts +11 -2
- package/schematics/ng-update/v4/migrate-css-vars/palette.js +18 -8
- package/schematics/ng-update/v4/migrate-css-vars/rename-css-vars.js +10 -2
- package/schematics/ng-update/v4/migrate-icons/index.js +8 -6
- package/schematics/ng-update/v4/migrate-icons/rename-icons.js +2 -2
- package/schematics/ng-update/v4/migrate-icons/rename-proprietary-icons.d.ts +2 -0
- package/schematics/ng-update/v4/migrate-icons/rename-proprietary-icons.js +66 -0
- package/schematics/ng-update/v4/steps/constants/attr-to-directive-replace.js +3 -3
- package/schematics/ng-update/v4/steps/constants/attr-with-values-to-replace.js +9 -1
- package/schematics/ng-update/v4/steps/constants/attrs-to-replace.js +10 -9
- package/schematics/ng-update/v4/steps/constants/enums.js +31 -0
- package/schematics/ng-update/v4/steps/constants/html-comments.js +10 -0
- package/schematics/ng-update/v4/steps/constants/identifiers-to-replace.js +884 -123
- package/schematics/ng-update/v4/steps/constants/inputs-to-remove.js +1 -1
- package/schematics/ng-update/v4/steps/constants/migration-warnings.js +5 -0
- package/schematics/ng-update/v4/steps/constants/modules-to-remove.js +12 -0
- package/schematics/ng-update/v4/steps/constants/modules-to-replace.d.ts +12 -0
- package/schematics/ng-update/v4/steps/constants/modules-to-replace.js +15 -0
- package/schematics/ng-update/v4/steps/constants/tags-to-replace.js +5 -4
- package/schematics/ng-update/v4/steps/constants/types.d.ts +2 -0
- package/schematics/ng-update/v4/steps/constants/types.js +17 -0
- package/schematics/ng-update/v4/steps/index.d.ts +4 -0
- package/schematics/ng-update/v4/steps/index.js +4 -0
- package/schematics/ng-update/v4/steps/migrate-all-country-iso-codes.js +1 -1
- package/schematics/ng-update/v4/steps/migrate-destroy-service.js +7 -4
- package/schematics/ng-update/v4/steps/migrate-legacy-mask.js +2 -2
- package/schematics/ng-update/v4/steps/migrate-option-providers.js +6 -3
- package/schematics/ng-update/v4/steps/migrate-proprietary.js +3 -3
- package/schematics/ng-update/v4/steps/migrate-styles.js +1 -1
- package/schematics/ng-update/v4/steps/migrate-templates.js +3 -1
- package/schematics/ng-update/v4/steps/templates/migrate-avatar.js +24 -6
- package/schematics/ng-update/v4/steps/templates/migrate-badge.js +4 -4
- package/schematics/ng-update/v4/steps/templates/migrate-expandable.js +2 -2
- package/schematics/ng-update/v4/steps/templates/migrate-focusable.js +1 -1
- package/schematics/ng-update/v4/steps/templates/migrate-labeled.js +1 -3
- package/schematics/ng-update/v4/steps/templates/migrate-money.js +1 -1
- package/schematics/ng-update/v4/steps/templates/migrate-overscroll.d.ts +8 -0
- package/schematics/ng-update/v4/steps/templates/migrate-overscroll.js +29 -0
- package/schematics/ng-update/v4/steps/templates/migrate-thumbnail-card.js +1 -1
- package/schematics/ng-update/v4/steps/templates/toggles/common.d.ts +1 -1
- package/schematics/ng-update/v4/steps/templates/toggles/common.js +3 -3
- package/schematics/ng-update/v4/steps/update-packages.d.ts +4 -0
- package/schematics/ng-update/v4/steps/update-packages.js +31 -0
- package/schematics/ng-update/v4/steps/utils/remove-attrs.js +1 -1
- package/schematics/ng-update/v4/steps/utils/replace-modules-with-providers.d.ts +13 -0
- package/schematics/ng-update/v4/steps/utils/replace-modules-with-providers.js +47 -0
- package/schematics/ng-update/v4/steps/utils/replace-substrings.js +1 -1
- package/schematics/ng-update/v4/tests/migrate-destroy-service/utils.js +1 -0
- package/schematics/utils/add-unique-import.js +1 -1
- package/schematics/utils/angular-json-manipulations.js +4 -4
- package/schematics/utils/get-named-import-references.js +4 -4
- package/schematics/utils/get-standalone-bootstrap-function.js +2 -2
- package/schematics/utils/import-manipulations.js +1 -1
- package/schematics/utils/push-to-array-property.js +1 -1
- package/schematics/utils/templates/elements.d.ts +5 -0
- package/schematics/utils/templates/elements.js +26 -13
- package/schematics/utils/templates/get-component-templates.js +1 -1
- package/schematics/utils/templates/inputs.js +1 -1
- package/schematics/utils/templates/ng-component-input-manipulations.js +5 -5
- package/utils/color/get-gradient-data.d.ts +1 -0
- package/utils/color/index.d.ts +2 -0
- package/utils/color/parse-gradient.d.ts +10 -0
- package/utils/dom/get-element-point.d.ts +2 -0
- package/utils/dom/index.d.ts +1 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-click-outside.mjs","sources":["../../../projects/cdk/directives/click-outside/click-outside.directive.ts","../../../projects/cdk/directives/click-outside/taiga-ui-cdk-directives-click-outside.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {Directive, inject, NgZone, Output} from '@angular/core';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {\n tuiContainsOrAfter,\n tuiGetActualTarget,\n tuiInjectElement,\n} from '@taiga-ui/cdk/utils';\nimport type {Observable} from 'rxjs';\nimport {filter, fromEvent, map} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[tuiClickOutside]',\n})\nexport class TuiClickOutside {\n private readonly zone = inject(NgZone);\n private readonly doc = inject(DOCUMENT);\n private readonly el = tuiInjectElement();\n\n @Output()\n public readonly tuiClickOutside: Observable<unknown> = fromEvent(\n this.doc,\n 'mouseup',\n ).pipe(\n map(tuiGetActualTarget),\n filter(target => this.isOutside(target)),\n tuiZoneOptimized(this.zone),\n );\n\n private isOutside(target: Node): boolean {\n return target === this.el || !tuiContainsOrAfter(this.el, target);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAWA,MAIa,eAAe,CAAA;AAJ5B,IAAA,WAAA,GAAA;AAKqB,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACtB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;AAGzB,QAAA,IAAA,CAAA,eAAe,GAAwB,SAAS,CAC5D,IAAI,CAAC,GAAG,EACR,SAAS,CACZ,CAAC,IAAI,CACF,GAAG,CAAC,kBAAkB,CAAC,EACvB,MAAM,CAAC,MAAM,
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-click-outside.mjs","sources":["../../../projects/cdk/directives/click-outside/click-outside.directive.ts","../../../projects/cdk/directives/click-outside/taiga-ui-cdk-directives-click-outside.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {Directive, inject, NgZone, Output} from '@angular/core';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {\n tuiContainsOrAfter,\n tuiGetActualTarget,\n tuiInjectElement,\n} from '@taiga-ui/cdk/utils';\nimport type {Observable} from 'rxjs';\nimport {filter, fromEvent, map} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[tuiClickOutside]',\n})\nexport class TuiClickOutside {\n private readonly zone = inject(NgZone);\n private readonly doc = inject(DOCUMENT);\n private readonly el = tuiInjectElement();\n\n @Output()\n public readonly tuiClickOutside: Observable<unknown> = fromEvent(\n this.doc,\n 'mouseup',\n ).pipe(\n map(tuiGetActualTarget),\n filter((target) => this.isOutside(target)),\n tuiZoneOptimized(this.zone),\n );\n\n private isOutside(target: Node): boolean {\n return target === this.el || !tuiContainsOrAfter(this.el, target);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAWA,MAIa,eAAe,CAAA;AAJ5B,IAAA,WAAA,GAAA;AAKqB,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACtB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;AAGzB,QAAA,IAAA,CAAA,eAAe,GAAwB,SAAS,CAC5D,IAAI,CAAC,GAAG,EACR,SAAS,CACZ,CAAC,IAAI,CACF,GAAG,CAAC,kBAAkB,CAAC,EACvB,MAAM,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAC1C,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9B,CAAC;AAKL,KAAA;AAHW,IAAA,SAAS,CAAC,MAAY,EAAA;AAC1B,QAAA,OAAO,MAAM,KAAK,IAAI,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;KACrE;+GAjBQ,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,mBAAmB;AAChC,iBAAA,CAAA;8BAOmB,eAAe,EAAA,CAAA;sBAD9B,MAAM;;;ACpBX;;AAEG;;;;"}
|
@@ -8,8 +8,8 @@ import { map, filter, switchMap, merge, startWith, distinctUntilChanged } from '
|
|
8
8
|
class TuiDroppable {
|
9
9
|
constructor() {
|
10
10
|
this.el = tuiInjectElement();
|
11
|
-
this.tuiDroppableDropped = tuiTypedFromEvent(this.el, 'drop').pipe(tuiPreventDefault(), map(event => event.dataTransfer), filter(tuiIsPresent));
|
12
|
-
this.tuiDroppableDragOverChange = tuiTypedFromEvent(this.el, 'dragenter').pipe(switchMap(({ target, dataTransfer }) => merge(tuiTypedFromEvent(this.el, 'dragleave').pipe(filter(event => event.target === target)), tuiTypedFromEvent(this.el, 'drop')).pipe(map(() => null), startWith(dataTransfer))), distinctUntilChanged((a, b) => (!!a && !!b) || (!a && !b)));
|
11
|
+
this.tuiDroppableDropped = tuiTypedFromEvent(this.el, 'drop').pipe(tuiPreventDefault(), map((event) => event.dataTransfer), filter(tuiIsPresent));
|
12
|
+
this.tuiDroppableDragOverChange = tuiTypedFromEvent(this.el, 'dragenter').pipe(switchMap(({ target, dataTransfer }) => merge(tuiTypedFromEvent(this.el, 'dragleave').pipe(filter((event) => event.target === target)), tuiTypedFromEvent(this.el, 'drop')).pipe(map(() => null), startWith(dataTransfer))), distinctUntilChanged((a, b) => (!!a && !!b) || (!a && !b)));
|
13
13
|
}
|
14
14
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDroppable, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
15
15
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiDroppable, isStandalone: true, selector: "[tuiDroppableDropped], [tuiDroppableDragOverChange]", outputs: { tuiDroppableDropped: "tuiDroppableDropped", tuiDroppableDragOverChange: "tuiDroppableDragOverChange" }, host: { listeners: { "dragover.prevent.silent": "0" } }, ngImport: i0 }); }
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-droppable.mjs","sources":["../../../projects/cdk/directives/droppable/droppable.directive.ts","../../../projects/cdk/directives/droppable/taiga-ui-cdk-directives-droppable.ts"],"sourcesContent":["import {Directive, Output} from '@angular/core';\nimport {tuiPreventDefault, tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {distinctUntilChanged, filter, map, merge, startWith, switchMap} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[tuiDroppableDropped], [tuiDroppableDragOverChange]',\n host: {\n '(dragover.prevent.silent)': '0',\n },\n})\nexport class TuiDroppable {\n private readonly el = tuiInjectElement();\n\n @Output()\n public readonly tuiDroppableDropped = tuiTypedFromEvent(this.el, 'drop').pipe(\n tuiPreventDefault(),\n map(event => event.dataTransfer),\n filter(tuiIsPresent),\n );\n\n @Output()\n public readonly tuiDroppableDragOverChange = tuiTypedFromEvent(\n this.el,\n 'dragenter',\n ).pipe(\n switchMap(({target, dataTransfer}) =>\n merge(\n tuiTypedFromEvent(this.el, 'dragleave').pipe(\n filter(event => event.target === target),\n ),\n tuiTypedFromEvent(this.el, 'drop'),\n ).pipe(\n map(() => null),\n startWith(dataTransfer),\n ),\n ),\n distinctUntilChanged((a, b) => (!!a && !!b) || (!a && !b)),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAMA,MAOa,YAAY,CAAA;AAPzB,IAAA,WAAA,GAAA;QAQqB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;AAGzB,QAAA,IAAA,CAAA,mBAAmB,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CACzE,iBAAiB,EAAE,EACnB,GAAG,CAAC,KAAK,
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-droppable.mjs","sources":["../../../projects/cdk/directives/droppable/droppable.directive.ts","../../../projects/cdk/directives/droppable/taiga-ui-cdk-directives-droppable.ts"],"sourcesContent":["import {Directive, Output} from '@angular/core';\nimport {tuiPreventDefault, tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {distinctUntilChanged, filter, map, merge, startWith, switchMap} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[tuiDroppableDropped], [tuiDroppableDragOverChange]',\n host: {\n '(dragover.prevent.silent)': '0',\n },\n})\nexport class TuiDroppable {\n private readonly el = tuiInjectElement();\n\n @Output()\n public readonly tuiDroppableDropped = tuiTypedFromEvent(this.el, 'drop').pipe(\n tuiPreventDefault(),\n map((event) => event.dataTransfer),\n filter(tuiIsPresent),\n );\n\n @Output()\n public readonly tuiDroppableDragOverChange = tuiTypedFromEvent(\n this.el,\n 'dragenter',\n ).pipe(\n switchMap(({target, dataTransfer}) =>\n merge(\n tuiTypedFromEvent(this.el, 'dragleave').pipe(\n filter((event) => event.target === target),\n ),\n tuiTypedFromEvent(this.el, 'drop'),\n ).pipe(\n map(() => null),\n startWith(dataTransfer),\n ),\n ),\n distinctUntilChanged((a, b) => (!!a && !!b) || (!a && !b)),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAMA,MAOa,YAAY,CAAA;AAPzB,IAAA,WAAA,GAAA;QAQqB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;AAGzB,QAAA,IAAA,CAAA,mBAAmB,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CACzE,iBAAiB,EAAE,EACnB,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,YAAY,CAAC,EAClC,MAAM,CAAC,YAAY,CAAC,CACvB,CAAC;QAGc,IAA0B,CAAA,0BAAA,GAAG,iBAAiB,CAC1D,IAAI,CAAC,EAAE,EACP,WAAW,CACd,CAAC,IAAI,CACF,SAAS,CAAC,CAAC,EAAC,MAAM,EAAE,YAAY,EAAC,KAC7B,KAAK,CACD,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,IAAI,CACxC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAC7C,EACD,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CACrC,CAAC,IAAI,CACF,GAAG,CAAC,MAAM,IAAI,CAAC,EACf,SAAS,CAAC,YAAY,CAAC,CAC1B,CACJ,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;AACL,KAAA;+GA5BY,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,OAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,yBAAA,EAAA,GAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAPxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,qDAAqD;AAC/D,oBAAA,IAAI,EAAE;AACF,wBAAA,2BAA2B,EAAE,GAAG;AACnC,qBAAA;AACJ,iBAAA,CAAA;8BAKmB,mBAAmB,EAAA,CAAA;sBADlC,MAAM;gBAQS,0BAA0B,EAAA,CAAA;sBADzC,MAAM;;;ACvBX;;AAEG;;;;"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
2
|
import { inject, ViewContainerRef, Directive, Input } from '@angular/core';
|
3
3
|
|
4
|
-
class
|
4
|
+
class TuiFor {
|
5
5
|
constructor() {
|
6
6
|
this.vcr = inject(ViewContainerRef);
|
7
7
|
this.ngForOf = [];
|
@@ -15,10 +15,10 @@ class TuiForDirective {
|
|
15
15
|
this.ref = this.vcr.createEmbeddedView(this.ngForElse);
|
16
16
|
}
|
17
17
|
}
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
19
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type:
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFor, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
19
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiFor, isStandalone: true, selector: "[ngFor][ngForOf][ngForElse],[ngFor][ngForOf][ngForEmpty]", inputs: { ngForOf: "ngForOf", ngForElse: "ngForElse", ngForEmpty: "ngForEmpty" }, usesOnChanges: true, ngImport: i0 }); }
|
20
20
|
}
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFor, decorators: [{
|
22
22
|
type: Directive,
|
23
23
|
args: [{
|
24
24
|
standalone: true,
|
@@ -36,5 +36,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
36
36
|
* Generated bundle index. Do not edit.
|
37
37
|
*/
|
38
38
|
|
39
|
-
export {
|
39
|
+
export { TuiFor };
|
40
40
|
//# sourceMappingURL=taiga-ui-cdk-directives-for.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-for.mjs","sources":["../../../projects/cdk/directives/for/for.directive.ts","../../../projects/cdk/directives/for/taiga-ui-cdk-directives-for.ts"],"sourcesContent":["import type {EmbeddedViewRef, OnChanges, TemplateRef} from '@angular/core';\nimport {Directive, inject, Input, ViewContainerRef} from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[ngFor][ngForOf][ngForElse],[ngFor][ngForOf][ngForEmpty]',\n})\nexport class
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-for.mjs","sources":["../../../projects/cdk/directives/for/for.directive.ts","../../../projects/cdk/directives/for/taiga-ui-cdk-directives-for.ts"],"sourcesContent":["import type {EmbeddedViewRef, OnChanges, TemplateRef} from '@angular/core';\nimport {Directive, inject, Input, ViewContainerRef} from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[ngFor][ngForOf][ngForElse],[ngFor][ngForOf][ngForEmpty]',\n})\nexport class TuiFor<T, K = unknown> implements OnChanges {\n private readonly vcr = inject(ViewContainerRef);\n\n private ref?: EmbeddedViewRef<unknown>;\n\n @Input()\n public ngForOf: T[] | readonly T[] | null = [];\n\n @Input()\n public ngForElse?: TemplateRef<K>;\n\n @Input()\n public ngForEmpty?: TemplateRef<K>;\n\n public ngOnChanges(): void {\n this.ref?.destroy();\n\n if (this.ngForOf?.length === 0 && this.ngForEmpty) {\n this.ref = this.vcr.createEmbeddedView(this.ngForEmpty);\n } else if (!this.ngForOf && this.ngForElse) {\n this.ref = this.vcr.createEmbeddedView(this.ngForElse);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAGA,MAIa,MAAM,CAAA;AAJnB,IAAA,WAAA,GAAA;AAKqB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAKzC,IAAO,CAAA,OAAA,GAA8B,EAAE,CAAC;AAiBlD,KAAA;IATU,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;QAEpB,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;AAC/C,YAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC3D,SAAA;aAAM,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE;AACxC,YAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC1D,SAAA;KACJ;+GAtBQ,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAN,MAAM,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0DAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAN,MAAM,EAAA,UAAA,EAAA,CAAA;kBAJlB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,0DAA0D;AACvE,iBAAA,CAAA;8BAOU,OAAO,EAAA,CAAA;sBADb,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,UAAU,EAAA,CAAA;sBADhB,KAAK;;;AClBV;;AAEG;;;;"}
|
@@ -14,7 +14,7 @@ function movedOut({ currentTarget, relatedTarget }) {
|
|
14
14
|
}
|
15
15
|
class TuiHoveredService extends Observable {
|
16
16
|
constructor() {
|
17
|
-
super(subscriber => this.stream$.subscribe(subscriber));
|
17
|
+
super((subscriber) => this.stream$.subscribe(subscriber));
|
18
18
|
this.el = tuiInjectElement();
|
19
19
|
this.zone = inject(NgZone);
|
20
20
|
this.stream$ = merge(tuiTypedFromEvent(this.el, 'mouseenter').pipe(map(TUI_TRUE_HANDLER)), tuiTypedFromEvent(this.el, 'mouseleave').pipe(map(TUI_FALSE_HANDLER)),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-hovered.mjs","sources":["../../../projects/cdk/directives/hovered/hovered.service.ts","../../../projects/cdk/directives/hovered/hovered.directive.ts","../../../projects/cdk/directives/hovered/taiga-ui-cdk-directives-hovered.ts"],"sourcesContent":["import type {Signal} from '@angular/core';\nimport {ChangeDetectorRef, inject, Injectable, NgZone} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {TUI_FALSE_HANDLER, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiTypedFromEvent, tuiWatch, tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement, tuiIsElement} from '@taiga-ui/cdk/utils';\nimport {distinctUntilChanged, filter, map, merge, Observable, of} from 'rxjs';\n\nfunction movedOut({currentTarget, relatedTarget}: MouseEvent): boolean {\n return (\n !tuiIsElement(relatedTarget) ||\n !tuiIsElement(currentTarget) ||\n !currentTarget.contains(relatedTarget)\n );\n}\n\n@Injectable()\nexport class TuiHoveredService extends Observable<boolean> {\n private readonly el = tuiInjectElement();\n private readonly zone = inject(NgZone);\n\n private readonly stream$ = merge(\n tuiTypedFromEvent(this.el, 'mouseenter').pipe(map(TUI_TRUE_HANDLER)),\n tuiTypedFromEvent(this.el, 'mouseleave').pipe(map(TUI_FALSE_HANDLER)),\n // Hello, Safari\n tuiTypedFromEvent(this.el, 'mouseout').pipe(\n filter(movedOut),\n map(TUI_FALSE_HANDLER),\n ),\n ).pipe(distinctUntilChanged(), tuiZoneOptimized(this.zone));\n\n constructor() {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n}\n\nexport function tuiHovered(): Signal<boolean> {\n return toSignal(\n inject(TUI_IS_MOBILE)\n ? of(false)\n : inject(TuiHoveredService).pipe(tuiWatch(inject(ChangeDetectorRef))),\n {\n initialValue: false,\n },\n );\n}\n","import {Directive, inject, Output} from '@angular/core';\n\nimport {TuiHoveredService} from './hovered.service';\n\n@Directive({\n standalone: true,\n selector: '[tuiHoveredChange]',\n providers: [TuiHoveredService],\n})\nexport class TuiHovered {\n @Output()\n public readonly tuiHoveredChange = inject(TuiHoveredService);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AASA,SAAS,QAAQ,CAAC,EAAC,aAAa,EAAE,aAAa,EAAa,EAAA;AACxD,IAAA,QACI,CAAC,YAAY,CAAC,aAAa,CAAC;QAC5B,CAAC,YAAY,CAAC,aAAa,CAAC;AAC5B,QAAA,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,EACxC;AACN,CAAC;AAED,MACa,iBAAkB,SAAQ,UAAmB,CAAA;AActD,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CAAC,UAAU,
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-hovered.mjs","sources":["../../../projects/cdk/directives/hovered/hovered.service.ts","../../../projects/cdk/directives/hovered/hovered.directive.ts","../../../projects/cdk/directives/hovered/taiga-ui-cdk-directives-hovered.ts"],"sourcesContent":["import type {Signal} from '@angular/core';\nimport {ChangeDetectorRef, inject, Injectable, NgZone} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {TUI_FALSE_HANDLER, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiTypedFromEvent, tuiWatch, tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement, tuiIsElement} from '@taiga-ui/cdk/utils';\nimport {distinctUntilChanged, filter, map, merge, Observable, of} from 'rxjs';\n\nfunction movedOut({currentTarget, relatedTarget}: MouseEvent): boolean {\n return (\n !tuiIsElement(relatedTarget) ||\n !tuiIsElement(currentTarget) ||\n !currentTarget.contains(relatedTarget)\n );\n}\n\n@Injectable()\nexport class TuiHoveredService extends Observable<boolean> {\n private readonly el = tuiInjectElement();\n private readonly zone = inject(NgZone);\n\n private readonly stream$ = merge(\n tuiTypedFromEvent(this.el, 'mouseenter').pipe(map(TUI_TRUE_HANDLER)),\n tuiTypedFromEvent(this.el, 'mouseleave').pipe(map(TUI_FALSE_HANDLER)),\n // Hello, Safari\n tuiTypedFromEvent(this.el, 'mouseout').pipe(\n filter(movedOut),\n map(TUI_FALSE_HANDLER),\n ),\n ).pipe(distinctUntilChanged(), tuiZoneOptimized(this.zone));\n\n constructor() {\n super((subscriber) => this.stream$.subscribe(subscriber));\n }\n}\n\nexport function tuiHovered(): Signal<boolean> {\n return toSignal(\n inject(TUI_IS_MOBILE)\n ? of(false)\n : inject(TuiHoveredService).pipe(tuiWatch(inject(ChangeDetectorRef))),\n {\n initialValue: false,\n },\n );\n}\n","import {Directive, inject, Output} from '@angular/core';\n\nimport {TuiHoveredService} from './hovered.service';\n\n@Directive({\n standalone: true,\n selector: '[tuiHoveredChange]',\n providers: [TuiHoveredService],\n})\nexport class TuiHovered {\n @Output()\n public readonly tuiHoveredChange = inject(TuiHoveredService);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AASA,SAAS,QAAQ,CAAC,EAAC,aAAa,EAAE,aAAa,EAAa,EAAA;AACxD,IAAA,QACI,CAAC,YAAY,CAAC,aAAa,CAAC;QAC5B,CAAC,YAAY,CAAC,aAAa,CAAC;AAC5B,QAAA,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,EACxC;AACN,CAAC;AAED,MACa,iBAAkB,SAAQ,UAAmB,CAAA;AActD,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAd7C,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;AACxB,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAEtB,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAC5B,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,EACpE,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;;AAErE,QAAA,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,IAAI,CACvC,MAAM,CAAC,QAAQ,CAAC,EAChB,GAAG,CAAC,iBAAiB,CAAC,CACzB,CACJ,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KAI3D;+GAhBQ,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAjB,iBAAiB,EAAA,CAAA,CAAA,EAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;SAoBK,UAAU,GAAA;AACtB,IAAA,OAAO,QAAQ,CACX,MAAM,CAAC,aAAa,CAAC;AACjB,UAAE,EAAE,CAAC,KAAK,CAAC;AACX,UAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EACzE;AACI,QAAA,YAAY,EAAE,KAAK;AACtB,KAAA,CACJ,CAAC;AACN;;AC1CA,MAKa,UAAU,CAAA;AALvB,IAAA,WAAA,GAAA;AAOoB,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAChE,KAAA;+GAHY,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,SAAA,EAFR,CAAC,iBAAiB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAErB,UAAU,EAAA,UAAA,EAAA,CAAA;kBALtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,oBAAoB;oBAC9B,SAAS,EAAE,CAAC,iBAAiB,CAAC;AACjC,iBAAA,CAAA;8BAGmB,gBAAgB,EAAA,CAAA;sBAD/B,MAAM;;;ACVX;;AAEG;;;;"}
|
@@ -12,7 +12,7 @@ import { tuiInjectElement, tuiGetElementObscures } from '@taiga-ui/cdk/utils/dom
|
|
12
12
|
*/
|
13
13
|
class TuiObscuredService extends Observable {
|
14
14
|
constructor() {
|
15
|
-
super(subscriber => this.obscured$.subscribe(subscriber));
|
15
|
+
super((subscriber) => this.obscured$.subscribe(subscriber));
|
16
16
|
this.el = tuiInjectElement();
|
17
17
|
this.obscured$ = inject(ANIMATION_FRAME).pipe(throttleTime(100), map(() => tuiGetElementObscures(this.el)), startWith(null), distinctUntilChanged(), tuiZoneOptimized(inject(NgZone)));
|
18
18
|
}
|
@@ -30,7 +30,7 @@ class TuiObscured {
|
|
30
30
|
constructor() {
|
31
31
|
this.activeZone = inject(TuiActiveZone, { optional: true });
|
32
32
|
this.enabled$ = new Subject();
|
33
|
-
this.obscured$ = inject(TuiObscuredService, { self: true }).pipe(map(by => !!by?.every(el => !this.activeZone?.contains(el))));
|
33
|
+
this.obscured$ = inject(TuiObscuredService, { self: true }).pipe(map((by) => !!by?.every((el) => !this.activeZone?.contains(el))));
|
34
34
|
this.tuiObscured = this.enabled$.pipe(tuiIfMap(() => this.obscured$));
|
35
35
|
}
|
36
36
|
set tuiObscuredEnabled(enabled) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-obscured.mjs","sources":["../../../projects/cdk/directives/obscured/obscured.service.ts","../../../projects/cdk/directives/obscured/obscured.directive.ts","../../../projects/cdk/directives/obscured/taiga-ui-cdk-directives-obscured.ts"],"sourcesContent":["import {inject, Injectable, NgZone} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {tuiGetElementObscures, tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {distinctUntilChanged, map, Observable, startWith, throttleTime} from 'rxjs';\n\n/**\n * Service that monitors element visibility by polling and returning\n * either null or an array of elements that overlap given element edges\n */\n@Injectable()\nexport class TuiObscuredService extends Observable<readonly Element[] | null> {\n private readonly el = tuiInjectElement();\n private readonly obscured$ = inject(ANIMATION_FRAME).pipe(\n throttleTime(100),\n map(() => tuiGetElementObscures(this.el)),\n startWith(null),\n distinctUntilChanged(),\n tuiZoneOptimized(inject(NgZone)),\n );\n\n constructor() {\n super(subscriber => this.obscured$.subscribe(subscriber));\n }\n}\n","import {Directive, inject, Input, Output} from '@angular/core';\nimport {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {tuiIfMap} from '@taiga-ui/cdk/observables';\nimport {map, Subject} from 'rxjs';\n\nimport {TuiObscuredService} from './obscured.service';\n\n/**\n * Directive that monitors element visibility\n */\n@Directive({\n standalone: true,\n selector: '[tuiObscured]',\n providers: [TuiObscuredService],\n})\nexport class TuiObscured {\n private readonly activeZone = inject(TuiActiveZone, {optional: true});\n private readonly enabled$ = new Subject<boolean>();\n private readonly obscured$ = inject(TuiObscuredService, {self: true}).pipe(\n map(by => !!by?.every(el => !this.activeZone?.contains(el))),\n );\n\n @Output()\n public readonly tuiObscured = this.enabled$.pipe(tuiIfMap(() => this.obscured$));\n\n @Input()\n public set tuiObscuredEnabled(enabled: boolean) {\n this.enabled$.next(enabled);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAMA;;;AAGG;AACH,MACa,kBAAmB,SAAQ,UAAqC,CAAA;AAUzE,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CAAC,UAAU,
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-obscured.mjs","sources":["../../../projects/cdk/directives/obscured/obscured.service.ts","../../../projects/cdk/directives/obscured/obscured.directive.ts","../../../projects/cdk/directives/obscured/taiga-ui-cdk-directives-obscured.ts"],"sourcesContent":["import {inject, Injectable, NgZone} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {tuiGetElementObscures, tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {distinctUntilChanged, map, Observable, startWith, throttleTime} from 'rxjs';\n\n/**\n * Service that monitors element visibility by polling and returning\n * either null or an array of elements that overlap given element edges\n */\n@Injectable()\nexport class TuiObscuredService extends Observable<readonly Element[] | null> {\n private readonly el = tuiInjectElement();\n private readonly obscured$ = inject(ANIMATION_FRAME).pipe(\n throttleTime(100),\n map(() => tuiGetElementObscures(this.el)),\n startWith(null),\n distinctUntilChanged(),\n tuiZoneOptimized(inject(NgZone)),\n );\n\n constructor() {\n super((subscriber) => this.obscured$.subscribe(subscriber));\n }\n}\n","import {Directive, inject, Input, Output} from '@angular/core';\nimport {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {tuiIfMap} from '@taiga-ui/cdk/observables';\nimport {map, Subject} from 'rxjs';\n\nimport {TuiObscuredService} from './obscured.service';\n\n/**\n * Directive that monitors element visibility\n */\n@Directive({\n standalone: true,\n selector: '[tuiObscured]',\n providers: [TuiObscuredService],\n})\nexport class TuiObscured {\n private readonly activeZone = inject(TuiActiveZone, {optional: true});\n private readonly enabled$ = new Subject<boolean>();\n private readonly obscured$ = inject(TuiObscuredService, {self: true}).pipe(\n map((by) => !!by?.every((el) => !this.activeZone?.contains(el))),\n );\n\n @Output()\n public readonly tuiObscured = this.enabled$.pipe(tuiIfMap(() => this.obscured$));\n\n @Input()\n public set tuiObscuredEnabled(enabled: boolean) {\n this.enabled$.next(enabled);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAMA;;;AAGG;AACH,MACa,kBAAmB,SAAQ,UAAqC,CAAA;AAUzE,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAV/C,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;AACxB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CACrD,YAAY,CAAC,GAAG,CAAC,EACjB,GAAG,CAAC,MAAM,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EACzC,SAAS,CAAC,IAAI,CAAC,EACf,oBAAoB,EAAE,EACtB,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CACnC,CAAC;KAID;+GAZQ,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAlB,kBAAkB,EAAA,CAAA,CAAA,EAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;;;ACHX;;AAEG;AACH,MAKa,WAAW,CAAA;AALxB,IAAA,WAAA,GAAA;QAMqB,IAAU,CAAA,UAAA,GAAG,MAAM,CAAC,aAAa,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;AACrD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAW,CAAC;QAClC,IAAS,CAAA,SAAA,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,IAAI,CACtE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CACnE,CAAC;AAGc,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAMpF,KAAA;IAJG,IACW,kBAAkB,CAAC,OAAgB,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/B;+GAbQ,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EAFT,CAAC,kBAAkB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAEtB,WAAW,EAAA,UAAA,EAAA,CAAA;kBALvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,eAAe;oBACzB,SAAS,EAAE,CAAC,kBAAkB,CAAC;AAClC,iBAAA,CAAA;8BASmB,WAAW,EAAA,CAAA;sBAD1B,MAAM;gBAII,kBAAkB,EAAA,CAAA;sBAD5B,KAAK;;;ACzBV;;AAEG;;;;"}
|
@@ -9,7 +9,7 @@ class TuiPanService extends Observable {
|
|
9
9
|
constructor() {
|
10
10
|
const el = tuiInjectElement();
|
11
11
|
const doc = inject(DOCUMENT);
|
12
|
-
super(subscriber => {
|
12
|
+
super((subscriber) => {
|
13
13
|
merge(tuiTypedFromEvent(el, 'touchstart', { passive: true }), tuiTypedFromEvent(el, 'mousedown'))
|
14
14
|
.pipe(switchMap(() => merge(tuiTypedFromEvent(doc, 'touchmove', {
|
15
15
|
passive: true,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-pan.mjs","sources":["../../../projects/cdk/directives/pan/pan.service.ts","../../../projects/cdk/directives/pan/pan.directive.ts","../../../projects/cdk/directives/pan/taiga-ui-cdk-directives-pan.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {inject, Injectable} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n filter,\n map,\n merge,\n Observable,\n pairwise,\n repeat,\n switchMap,\n takeUntil,\n} from 'rxjs';\n\n@Injectable()\nexport class TuiPanService extends Observable<readonly [number, number]> {\n constructor() {\n const el = tuiInjectElement();\n const doc = inject(DOCUMENT);\n\n super(subscriber => {\n merge(\n tuiTypedFromEvent(el, 'touchstart', {passive: true}),\n tuiTypedFromEvent(el, 'mousedown'),\n )\n .pipe(\n switchMap(() =>\n merge(\n tuiTypedFromEvent(doc, 'touchmove', {\n passive: true,\n }).pipe(\n filter(({touches}) => touches.length < 2),\n map(({touches}) => touches[0]),\n ),\n tuiTypedFromEvent(doc, 'mousemove'),\n ),\n ),\n pairwise(),\n map(([first, second]) => {\n const deltaX = second.clientX - first.clientX;\n const deltaY = second.clientY - first.clientY;\n\n return [deltaX, deltaY] as [number, number];\n }),\n takeUntil(\n merge(\n tuiTypedFromEvent(doc, 'touchend'),\n tuiTypedFromEvent(doc, 'mouseup'),\n ),\n ),\n repeat(),\n )\n .subscribe(subscriber);\n });\n }\n}\n","import {Directive, inject, Output} from '@angular/core';\n\nimport {TuiPanService} from './pan.service';\n\n@Directive({\n standalone: true,\n selector: '[tuiPan]',\n providers: [TuiPanService],\n})\nexport class TuiPan {\n @Output()\n public readonly tuiPan = inject(TuiPanService);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAeA,MACa,aAAc,SAAQ,UAAqC,CAAA;AACpE,IAAA,WAAA,GAAA;AACI,QAAA,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC;AAC9B,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-pan.mjs","sources":["../../../projects/cdk/directives/pan/pan.service.ts","../../../projects/cdk/directives/pan/pan.directive.ts","../../../projects/cdk/directives/pan/taiga-ui-cdk-directives-pan.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {inject, Injectable} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n filter,\n map,\n merge,\n Observable,\n pairwise,\n repeat,\n switchMap,\n takeUntil,\n} from 'rxjs';\n\n@Injectable()\nexport class TuiPanService extends Observable<readonly [number, number]> {\n constructor() {\n const el = tuiInjectElement();\n const doc = inject(DOCUMENT);\n\n super((subscriber) => {\n merge(\n tuiTypedFromEvent(el, 'touchstart', {passive: true}),\n tuiTypedFromEvent(el, 'mousedown'),\n )\n .pipe(\n switchMap(() =>\n merge(\n tuiTypedFromEvent(doc, 'touchmove', {\n passive: true,\n }).pipe(\n filter(({touches}) => touches.length < 2),\n map(({touches}) => touches[0]),\n ),\n tuiTypedFromEvent(doc, 'mousemove'),\n ),\n ),\n pairwise(),\n map(([first, second]) => {\n const deltaX = second.clientX - first.clientX;\n const deltaY = second.clientY - first.clientY;\n\n return [deltaX, deltaY] as [number, number];\n }),\n takeUntil(\n merge(\n tuiTypedFromEvent(doc, 'touchend'),\n tuiTypedFromEvent(doc, 'mouseup'),\n ),\n ),\n repeat(),\n )\n .subscribe(subscriber);\n });\n }\n}\n","import {Directive, inject, Output} from '@angular/core';\n\nimport {TuiPanService} from './pan.service';\n\n@Directive({\n standalone: true,\n selector: '[tuiPan]',\n providers: [TuiPanService],\n})\nexport class TuiPan {\n @Output()\n public readonly tuiPan = inject(TuiPanService);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAeA,MACa,aAAc,SAAQ,UAAqC,CAAA;AACpE,IAAA,WAAA,GAAA;AACI,QAAA,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC;AAC9B,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAE7B,QAAA,KAAK,CAAC,CAAC,UAAU,KAAI;YACjB,KAAK,CACD,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,EACpD,iBAAiB,CAAC,EAAE,EAAE,WAAW,CAAC,CACrC;AACI,iBAAA,IAAI,CACD,SAAS,CAAC,MACN,KAAK,CACD,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE;AAChC,gBAAA,OAAO,EAAE,IAAI;aAChB,CAAC,CAAC,IAAI,CACH,MAAM,CAAC,CAAC,EAAC,OAAO,EAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EACzC,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CACjC,EACD,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,CACtC,CACJ,EACD,QAAQ,EAAE,EACV,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,KAAI;gBACpB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;AAE9C,gBAAA,OAAO,CAAC,MAAM,EAAE,MAAM,CAAqB,CAAC;aAC/C,CAAC,EACF,SAAS,CACL,KAAK,CACD,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,EAClC,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CACpC,CACJ,EACD,MAAM,EAAE,CACX;iBACA,SAAS,CAAC,UAAU,CAAC,CAAC;AAC/B,SAAC,CAAC,CAAC;KACN;+GAvCQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAb,aAAa,EAAA,CAAA,CAAA,EAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;;;ACXX,MAKa,MAAM,CAAA;AALnB,IAAA,WAAA,GAAA;AAOoB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAClD,KAAA;+GAHY,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAN,MAAM,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAFJ,CAAC,aAAa,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAEjB,MAAM,EAAA,UAAA,EAAA,CAAA;kBALlB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,CAAC,aAAa,CAAC;AAC7B,iBAAA,CAAA;8BAGmB,MAAM,EAAA,CAAA;sBADrB,MAAM;;;ACVX;;AAEG;;;;"}
|
@@ -4,14 +4,15 @@ import { TUI_PLATFORM } from '@taiga-ui/cdk/tokens';
|
|
4
4
|
|
5
5
|
class TuiPlatform {
|
6
6
|
constructor() {
|
7
|
-
this.tuiPlatform =
|
7
|
+
this.tuiPlatform = inject(TUI_PLATFORM, {
|
8
|
+
skipSelf: true,
|
9
|
+
});
|
8
10
|
}
|
9
11
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPlatform, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
10
12
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiPlatform, isStandalone: true, selector: "[tuiPlatform]", inputs: { tuiPlatform: "tuiPlatform" }, host: { properties: { "attr.data-platform": "this.tuiPlatform" } }, providers: [
|
11
13
|
{
|
12
14
|
provide: TUI_PLATFORM,
|
13
|
-
|
14
|
-
useFactory: ({ tuiPlatform }) => tuiPlatform || inject(TUI_PLATFORM, { skipSelf: true }),
|
15
|
+
useFactory: () => inject(TuiPlatform).tuiPlatform,
|
15
16
|
},
|
16
17
|
], ngImport: i0 }); }
|
17
18
|
}
|
@@ -23,8 +24,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
23
24
|
providers: [
|
24
25
|
{
|
25
26
|
provide: TUI_PLATFORM,
|
26
|
-
|
27
|
-
useFactory: ({ tuiPlatform }) => tuiPlatform || inject(TUI_PLATFORM, { skipSelf: true }),
|
27
|
+
useFactory: () => inject(TuiPlatform).tuiPlatform,
|
28
28
|
},
|
29
29
|
],
|
30
30
|
}]
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-platform.mjs","sources":["../../../projects/cdk/directives/platform/platform.directive.ts","../../../projects/cdk/directives/platform/taiga-ui-cdk-directives-platform.ts"],"sourcesContent":["import {Directive, HostBinding, inject, Input} from '@angular/core';\nimport {TUI_PLATFORM} from '@taiga-ui/cdk/tokens';\n\n@Directive({\n standalone: true,\n selector: '[tuiPlatform]',\n providers: [\n {\n provide: TUI_PLATFORM,\n
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-platform.mjs","sources":["../../../projects/cdk/directives/platform/platform.directive.ts","../../../projects/cdk/directives/platform/taiga-ui-cdk-directives-platform.ts"],"sourcesContent":["import {Directive, HostBinding, inject, Input} from '@angular/core';\nimport {TUI_PLATFORM} from '@taiga-ui/cdk/tokens';\n\n@Directive({\n standalone: true,\n selector: '[tuiPlatform]',\n providers: [\n {\n provide: TUI_PLATFORM,\n useFactory: () => inject(TuiPlatform).tuiPlatform,\n },\n ],\n})\nexport class TuiPlatform {\n @Input()\n @HostBinding('attr.data-platform')\n public tuiPlatform: 'android' | 'ios' | 'web' = inject(TUI_PLATFORM, {\n skipSelf: true,\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA,MAUa,WAAW,CAAA;AAVxB,IAAA,WAAA,GAAA;AAaW,QAAA,IAAA,CAAA,WAAW,GAA8B,MAAM,CAAC,YAAY,EAAE;AACjE,YAAA,QAAQ,EAAE,IAAI;AACjB,SAAA,CAAC,CAAC;AACN,KAAA;+GANY,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,WAAW,EAPT,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,YAAY;gBACrB,UAAU,EAAE,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW;AACpD,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAEQ,WAAW,EAAA,UAAA,EAAA,CAAA;kBAVvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,YAAY;AACrB,4BAAA,UAAU,EAAE,MAAM,MAAM,CAAA,WAAA,CAAa,CAAC,WAAW;AACpD,yBAAA;AACJ,qBAAA;AACJ,iBAAA,CAAA;8BAIU,WAAW,EAAA,CAAA;sBAFjB,KAAK;;sBACL,WAAW;uBAAC,oBAAoB,CAAA;;;ACfrC;;AAEG;;;;"}
|
@@ -17,7 +17,7 @@ class TuiSwipeService extends Observable {
|
|
17
17
|
const doc = inject(DOCUMENT);
|
18
18
|
const el = tuiInjectElement();
|
19
19
|
const { timeout, threshold } = inject(TUI_SWIPE_OPTIONS);
|
20
|
-
super(subscriber => {
|
20
|
+
super((subscriber) => {
|
21
21
|
merge(tuiTypedFromEvent(el, 'touchstart', { passive: true }), tuiTypedFromEvent(doc, 'touchend'))
|
22
22
|
.pipe(pairwise(), filter(([first, second]) => !!first.touches.length &&
|
23
23
|
first.touches[0].identifier ===
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-swipe.mjs","sources":["../../../projects/cdk/directives/swipe/swipe.options.ts","../../../projects/cdk/directives/swipe/swipe.service.ts","../../../projects/cdk/directives/swipe/swipe.directive.ts","../../../projects/cdk/directives/swipe/taiga-ui-cdk-directives-swipe.ts"],"sourcesContent":["import {tuiCreateToken} from '@taiga-ui/cdk/utils';\n\nimport type {TuiSwipeOptions} from './swipe.types';\n\nexport const TUI_SWIPE_OPTIONS = tuiCreateToken<TuiSwipeOptions>({\n timeout: 500,\n threshold: 30,\n});\n","import {DOCUMENT} from '@angular/common';\nimport {inject, Injectable} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {filter, map, merge, Observable, pairwise} from 'rxjs';\n\nimport {TUI_SWIPE_OPTIONS} from './swipe.options';\nimport type {TuiSwipeDirection, TuiSwipeEvent} from './swipe.types';\n\n@Injectable()\nexport class TuiSwipeService extends Observable<TuiSwipeEvent> {\n constructor() {\n const doc = inject(DOCUMENT);\n const el = tuiInjectElement();\n const {timeout, threshold} = inject(TUI_SWIPE_OPTIONS);\n\n super(subscriber => {\n merge(\n tuiTypedFromEvent(el, 'touchstart', {passive: true}),\n tuiTypedFromEvent(doc, 'touchend'),\n )\n .pipe(\n pairwise(),\n filter(\n ([first, second]) =>\n !!first.touches.length &&\n first.touches[0].identifier ===\n second.changedTouches[0].identifier,\n ),\n map(([start, end]) => {\n const startX = start.touches[0].clientX;\n const startY = start.touches[0].clientY;\n const endX = end.changedTouches[0].clientX;\n const endY = end.changedTouches[0].clientY;\n\n const distanceX = startX - endX;\n const distanceY = startY - endY;\n const duration = end.timeStamp - start.timeStamp;\n\n if (\n (Math.abs(distanceX) > threshold ||\n Math.abs(distanceY) > threshold) &&\n duration < timeout\n ) {\n return {\n direction: tuiGetSwipeDirection(distanceX, distanceY),\n events: [start, end] as [TouchEvent, TouchEvent],\n };\n }\n\n return null;\n }),\n filter(tuiIsPresent),\n )\n .subscribe(subscriber);\n });\n }\n}\n\nfunction tuiGetSwipeDirection(deltaX: number, deltaY: number): TuiSwipeDirection {\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n return deltaY > 0 ? 'top' : 'bottom';\n }\n\n return deltaX > 0 ? 'left' : 'right';\n}\n","import {Directive, inject, Output} from '@angular/core';\n\nimport {TuiSwipeService} from './swipe.service';\n\n@Directive({\n standalone: true,\n selector: '[tuiSwipe]',\n providers: [TuiSwipeService],\n})\nexport class TuiSwipe {\n @Output()\n public readonly tuiSwipe = inject(TuiSwipeService);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAIO,MAAM,iBAAiB,GAAG,cAAc,CAAkB;AAC7D,IAAA,OAAO,EAAE,GAAG;AACZ,IAAA,SAAS,EAAE,EAAE;AAChB,CAAA;;ACGD,MACa,eAAgB,SAAQ,UAAyB,CAAA;AAC1D,IAAA,WAAA,GAAA;AACI,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC7B,QAAA,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC;QAC9B,MAAM,EAAC,OAAO,EAAE,SAAS,EAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-swipe.mjs","sources":["../../../projects/cdk/directives/swipe/swipe.options.ts","../../../projects/cdk/directives/swipe/swipe.service.ts","../../../projects/cdk/directives/swipe/swipe.directive.ts","../../../projects/cdk/directives/swipe/taiga-ui-cdk-directives-swipe.ts"],"sourcesContent":["import {tuiCreateToken} from '@taiga-ui/cdk/utils';\n\nimport type {TuiSwipeOptions} from './swipe.types';\n\nexport const TUI_SWIPE_OPTIONS = tuiCreateToken<TuiSwipeOptions>({\n timeout: 500,\n threshold: 30,\n});\n","import {DOCUMENT} from '@angular/common';\nimport {inject, Injectable} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {filter, map, merge, Observable, pairwise} from 'rxjs';\n\nimport {TUI_SWIPE_OPTIONS} from './swipe.options';\nimport type {TuiSwipeDirection, TuiSwipeEvent} from './swipe.types';\n\n@Injectable()\nexport class TuiSwipeService extends Observable<TuiSwipeEvent> {\n constructor() {\n const doc = inject(DOCUMENT);\n const el = tuiInjectElement();\n const {timeout, threshold} = inject(TUI_SWIPE_OPTIONS);\n\n super((subscriber) => {\n merge(\n tuiTypedFromEvent(el, 'touchstart', {passive: true}),\n tuiTypedFromEvent(doc, 'touchend'),\n )\n .pipe(\n pairwise(),\n filter(\n ([first, second]) =>\n !!first.touches.length &&\n first.touches[0].identifier ===\n second.changedTouches[0].identifier,\n ),\n map(([start, end]) => {\n const startX = start.touches[0].clientX;\n const startY = start.touches[0].clientY;\n const endX = end.changedTouches[0].clientX;\n const endY = end.changedTouches[0].clientY;\n\n const distanceX = startX - endX;\n const distanceY = startY - endY;\n const duration = end.timeStamp - start.timeStamp;\n\n if (\n (Math.abs(distanceX) > threshold ||\n Math.abs(distanceY) > threshold) &&\n duration < timeout\n ) {\n return {\n direction: tuiGetSwipeDirection(distanceX, distanceY),\n events: [start, end] as [TouchEvent, TouchEvent],\n };\n }\n\n return null;\n }),\n filter(tuiIsPresent),\n )\n .subscribe(subscriber);\n });\n }\n}\n\nfunction tuiGetSwipeDirection(deltaX: number, deltaY: number): TuiSwipeDirection {\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n return deltaY > 0 ? 'top' : 'bottom';\n }\n\n return deltaX > 0 ? 'left' : 'right';\n}\n","import {Directive, inject, Output} from '@angular/core';\n\nimport {TuiSwipeService} from './swipe.service';\n\n@Directive({\n standalone: true,\n selector: '[tuiSwipe]',\n providers: [TuiSwipeService],\n})\nexport class TuiSwipe {\n @Output()\n public readonly tuiSwipe = inject(TuiSwipeService);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAIO,MAAM,iBAAiB,GAAG,cAAc,CAAkB;AAC7D,IAAA,OAAO,EAAE,GAAG;AACZ,IAAA,SAAS,EAAE,EAAE;AAChB,CAAA;;ACGD,MACa,eAAgB,SAAQ,UAAyB,CAAA;AAC1D,IAAA,WAAA,GAAA;AACI,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC7B,QAAA,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC;QAC9B,MAAM,EAAC,OAAO,EAAE,SAAS,EAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAEvD,QAAA,KAAK,CAAC,CAAC,UAAU,KAAI;YACjB,KAAK,CACD,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,EACpD,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CACrC;iBACI,IAAI,CACD,QAAQ,EAAE,EACV,MAAM,CACF,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,KACZ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;AACtB,gBAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU;AACvB,oBAAA,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAC9C,EACD,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,KAAI;gBACjB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxC,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAE3C,gBAAA,MAAM,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC;AAChC,gBAAA,MAAM,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC;gBAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;gBAEjD,IACI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,SAAS;AAC5B,oBAAA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,SAAS;oBACnC,QAAQ,GAAG,OAAO,EACpB;oBACE,OAAO;AACH,wBAAA,SAAS,EAAE,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC;AACrD,wBAAA,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,CAA6B;qBACnD,CAAC;AACL,iBAAA;AAED,gBAAA,OAAO,IAAI,CAAC;AAChB,aAAC,CAAC,EACF,MAAM,CAAC,YAAY,CAAC,CACvB;iBACA,SAAS,CAAC,UAAU,CAAC,CAAC;AAC/B,SAAC,CAAC,CAAC;KACN;+GA9CQ,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAf,eAAe,EAAA,CAAA,CAAA,EAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;;AAkDX,SAAS,oBAAoB,CAAC,MAAc,EAAE,MAAc,EAAA;AACxD,IAAA,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QACrC,OAAO,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,QAAQ,CAAC;AACxC,KAAA;IAED,OAAO,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC;AACzC;;AC9DA,MAKa,QAAQ,CAAA;AALrB,IAAA,WAAA,GAAA;AAOoB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AACtD,KAAA;+GAHY,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAFN,CAAC,eAAe,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAEnB,QAAQ,EAAA,UAAA,EAAA,CAAA;kBALpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,YAAY;oBACtB,SAAS,EAAE,CAAC,eAAe,CAAC;AAC/B,iBAAA,CAAA;8BAGmB,QAAQ,EAAA,CAAA;sBADvB,MAAM;;;ACVX;;AAEG;;;;"}
|
@@ -3,7 +3,7 @@ import { inject, Directive, Output } from '@angular/core';
|
|
3
3
|
import { ControlContainer, NgControl } from '@angular/forms';
|
4
4
|
import { Subject, distinctUntilChanged, switchAll, EMPTY } from 'rxjs';
|
5
5
|
|
6
|
-
class
|
6
|
+
class TuiValueChanges {
|
7
7
|
constructor() {
|
8
8
|
this.container = inject(ControlContainer, { optional: true });
|
9
9
|
this.control = inject(NgControl, { optional: true });
|
@@ -13,10 +13,10 @@ class TuiValueChangesDirective {
|
|
13
13
|
ngDoCheck() {
|
14
14
|
this.refresh$.next(this.control?.valueChanges || this.container?.valueChanges || EMPTY);
|
15
15
|
}
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
17
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type:
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiValueChanges, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
17
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiValueChanges, isStandalone: true, selector: "[tuiValueChanges]", outputs: { tuiValueChanges: "tuiValueChanges" }, ngImport: i0 }); }
|
18
18
|
}
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiValueChanges, decorators: [{
|
20
20
|
type: Directive,
|
21
21
|
args: [{
|
22
22
|
standalone: true,
|
@@ -30,5 +30,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
30
30
|
* Generated bundle index. Do not edit.
|
31
31
|
*/
|
32
32
|
|
33
|
-
export {
|
33
|
+
export { TuiValueChanges };
|
34
34
|
//# sourceMappingURL=taiga-ui-cdk-directives-value-changes.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-value-changes.mjs","sources":["../../../projects/cdk/directives/value-changes/value-changes.directive.ts","../../../projects/cdk/directives/value-changes/taiga-ui-cdk-directives-value-changes.ts"],"sourcesContent":["import type {DoCheck} from '@angular/core';\nimport {Directive, inject, Output} from '@angular/core';\nimport {ControlContainer, NgControl} from '@angular/forms';\nimport type {Observable} from 'rxjs';\nimport {distinctUntilChanged, EMPTY, Subject, switchAll} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[tuiValueChanges]',\n})\nexport class
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-value-changes.mjs","sources":["../../../projects/cdk/directives/value-changes/value-changes.directive.ts","../../../projects/cdk/directives/value-changes/taiga-ui-cdk-directives-value-changes.ts"],"sourcesContent":["import type {DoCheck} from '@angular/core';\nimport {Directive, inject, Output} from '@angular/core';\nimport {ControlContainer, NgControl} from '@angular/forms';\nimport type {Observable} from 'rxjs';\nimport {distinctUntilChanged, EMPTY, Subject, switchAll} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[tuiValueChanges]',\n})\nexport class TuiValueChanges<T> implements DoCheck {\n private readonly container = inject(ControlContainer, {optional: true});\n private readonly control = inject(NgControl, {optional: true});\n private readonly refresh$ = new Subject<Observable<T>>();\n\n @Output()\n public readonly tuiValueChanges = this.refresh$.pipe(\n distinctUntilChanged(),\n switchAll(),\n distinctUntilChanged(),\n );\n\n public ngDoCheck(): void {\n this.refresh$.next(\n this.control?.valueChanges || this.container?.valueChanges || EMPTY,\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAMA,MAIa,eAAe,CAAA;AAJ5B,IAAA,WAAA,GAAA;QAKqB,IAAS,CAAA,SAAA,GAAG,MAAM,CAAC,gBAAgB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;QACvD,IAAO,CAAA,OAAA,GAAG,MAAM,CAAC,SAAS,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;AAC9C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAiB,CAAC;AAGzC,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChD,oBAAoB,EAAE,EACtB,SAAS,EAAE,EACX,oBAAoB,EAAE,CACzB,CAAC;AAOL,KAAA;IALU,SAAS,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CACd,IAAI,CAAC,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE,YAAY,IAAI,KAAK,CACtE,CAAC;KACL;+GAhBQ,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,mBAAmB;AAChC,iBAAA,CAAA;8BAOmB,eAAe,EAAA,CAAA;sBAD9B,MAAM;;;ACfX;;AAEG;;;;"}
|
@@ -16,8 +16,8 @@ class TuiZoomService extends Observable {
|
|
16
16
|
constructor() {
|
17
17
|
const el = tuiInjectElement();
|
18
18
|
const { wheelSensitivity } = inject(TUI_ZOOM_OPTIONS);
|
19
|
-
super(subscriber => {
|
20
|
-
merge(tuiTypedFromEvent(el, 'touchstart', { passive: true }).pipe(filter(({ touches }) => touches.length > 1), switchMap(startEvent => tuiTypedFromEvent(el, 'touchmove', { passive: true }).pipe(tuiPreventDefault(), scan((prev, event) => {
|
19
|
+
super((subscriber) => {
|
20
|
+
merge(tuiTypedFromEvent(el, 'touchstart', { passive: true }).pipe(filter(({ touches }) => touches.length > 1), switchMap((startEvent) => tuiTypedFromEvent(el, 'touchmove', { passive: true }).pipe(tuiPreventDefault(), scan((prev, event) => {
|
21
21
|
const distance = tuiDistanceBetweenTouches(event);
|
22
22
|
return {
|
23
23
|
event,
|
@@ -37,7 +37,7 @@ class TuiZoomService extends Observable {
|
|
37
37
|
event.touches[1].clientY) /
|
38
38
|
2;
|
39
39
|
return { clientX, clientY, delta, event };
|
40
|
-
}), takeUntil(tuiTypedFromEvent(el, 'touchend'))))), tuiTypedFromEvent(el, 'wheel', { passive: false }).pipe(tuiPreventDefault(), map(wheel => ({
|
40
|
+
}), takeUntil(tuiTypedFromEvent(el, 'touchend'))))), tuiTypedFromEvent(el, 'wheel', { passive: false }).pipe(tuiPreventDefault(), map((wheel) => ({
|
41
41
|
clientX: wheel.clientX,
|
42
42
|
clientY: wheel.clientY,
|
43
43
|
delta: -wheel.deltaY * wheelSensitivity,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-zoom.mjs","sources":["../../../projects/cdk/directives/zoom/zoom.options.ts","../../../projects/cdk/directives/zoom/zoom.service.ts","../../../projects/cdk/directives/zoom/zoom.directive.ts","../../../projects/cdk/directives/zoom/taiga-ui-cdk-directives-zoom.ts"],"sourcesContent":["import {tuiCreateToken} from '@taiga-ui/cdk/utils';\n\nimport type {TuiZoomOptions} from './zoom.types';\n\n/**\n * Zoom options\n */\nexport const TUI_ZOOM_OPTIONS = tuiCreateToken<TuiZoomOptions>({\n wheelSensitivity: 0.01,\n});\n","import {inject, Injectable} from '@angular/core';\nimport {tuiPreventDefault, tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiDistanceBetweenTouches, tuiInjectElement} from '@taiga-ui/cdk/utils';\nimport {filter, map, merge, Observable, scan, switchMap, takeUntil} from 'rxjs';\n\nimport {TUI_ZOOM_OPTIONS} from './zoom.options';\nimport type {TuiZoomEvent} from './zoom.types';\n\nconst TOUCH_SENSITIVITY = 0.01;\n\n@Injectable()\nexport class TuiZoomService extends Observable<TuiZoomEvent> {\n constructor() {\n const el = tuiInjectElement();\n const {wheelSensitivity} = inject(TUI_ZOOM_OPTIONS);\n\n super(subscriber => {\n merge(\n tuiTypedFromEvent(el, 'touchstart', {passive: true}).pipe(\n filter(({touches}) => touches.length > 1),\n switchMap(startEvent =>\n tuiTypedFromEvent(el, 'touchmove', {passive: true}).pipe(\n tuiPreventDefault(),\n scan(\n (prev, event) => {\n const distance = tuiDistanceBetweenTouches(event);\n\n return {\n event,\n distance,\n delta:\n (distance - prev.distance) *\n TOUCH_SENSITIVITY,\n };\n },\n {\n event: startEvent,\n distance: tuiDistanceBetweenTouches(startEvent),\n delta: 0,\n },\n ),\n map(({event, delta}) => {\n const clientX =\n (event.touches[0].clientX +\n event.touches[1].clientX) /\n 2;\n const clientY =\n (event.touches[0].clientY +\n event.touches[1].clientY) /\n 2;\n\n return {clientX, clientY, delta, event};\n }),\n takeUntil(tuiTypedFromEvent(el, 'touchend')),\n ),\n ),\n ),\n tuiTypedFromEvent(el, 'wheel', {passive: false}).pipe(\n tuiPreventDefault(),\n map(wheel => ({\n clientX: wheel.clientX,\n clientY: wheel.clientY,\n delta: -wheel.deltaY * wheelSensitivity,\n event: wheel,\n })),\n ),\n ).subscribe(subscriber);\n });\n }\n}\n","import {Directive, inject} from '@angular/core';\n\nimport {TuiZoomService} from './zoom.service';\n\n@Directive({\n standalone: true,\n selector: '[tuiZoom]',\n outputs: ['tuiZoom'],\n providers: [TuiZoomService],\n host: {\n '[style.touch-action]': '\"none\"',\n },\n})\nexport class TuiZoom {\n protected readonly tuiZoom = inject(TuiZoomService);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAIA;;AAEG;AACI,MAAM,gBAAgB,GAAG,cAAc,CAAiB;AAC3D,IAAA,gBAAgB,EAAE,IAAI;AACzB,CAAA;;ACDD,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAE/B,MACa,cAAe,SAAQ,UAAwB,CAAA;AACxD,IAAA,WAAA,GAAA;AACI,QAAA,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC;QAC9B,MAAM,EAAC,gBAAgB,EAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-zoom.mjs","sources":["../../../projects/cdk/directives/zoom/zoom.options.ts","../../../projects/cdk/directives/zoom/zoom.service.ts","../../../projects/cdk/directives/zoom/zoom.directive.ts","../../../projects/cdk/directives/zoom/taiga-ui-cdk-directives-zoom.ts"],"sourcesContent":["import {tuiCreateToken} from '@taiga-ui/cdk/utils';\n\nimport type {TuiZoomOptions} from './zoom.types';\n\n/**\n * Zoom options\n */\nexport const TUI_ZOOM_OPTIONS = tuiCreateToken<TuiZoomOptions>({\n wheelSensitivity: 0.01,\n});\n","import {inject, Injectable} from '@angular/core';\nimport {tuiPreventDefault, tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiDistanceBetweenTouches, tuiInjectElement} from '@taiga-ui/cdk/utils';\nimport {filter, map, merge, Observable, scan, switchMap, takeUntil} from 'rxjs';\n\nimport {TUI_ZOOM_OPTIONS} from './zoom.options';\nimport type {TuiZoomEvent} from './zoom.types';\n\nconst TOUCH_SENSITIVITY = 0.01;\n\n@Injectable()\nexport class TuiZoomService extends Observable<TuiZoomEvent> {\n constructor() {\n const el = tuiInjectElement();\n const {wheelSensitivity} = inject(TUI_ZOOM_OPTIONS);\n\n super((subscriber) => {\n merge(\n tuiTypedFromEvent(el, 'touchstart', {passive: true}).pipe(\n filter(({touches}) => touches.length > 1),\n switchMap((startEvent) =>\n tuiTypedFromEvent(el, 'touchmove', {passive: true}).pipe(\n tuiPreventDefault(),\n scan(\n (prev, event) => {\n const distance = tuiDistanceBetweenTouches(event);\n\n return {\n event,\n distance,\n delta:\n (distance - prev.distance) *\n TOUCH_SENSITIVITY,\n };\n },\n {\n event: startEvent,\n distance: tuiDistanceBetweenTouches(startEvent),\n delta: 0,\n },\n ),\n map(({event, delta}) => {\n const clientX =\n (event.touches[0].clientX +\n event.touches[1].clientX) /\n 2;\n const clientY =\n (event.touches[0].clientY +\n event.touches[1].clientY) /\n 2;\n\n return {clientX, clientY, delta, event};\n }),\n takeUntil(tuiTypedFromEvent(el, 'touchend')),\n ),\n ),\n ),\n tuiTypedFromEvent(el, 'wheel', {passive: false}).pipe(\n tuiPreventDefault(),\n map((wheel) => ({\n clientX: wheel.clientX,\n clientY: wheel.clientY,\n delta: -wheel.deltaY * wheelSensitivity,\n event: wheel,\n })),\n ),\n ).subscribe(subscriber);\n });\n }\n}\n","import {Directive, inject} from '@angular/core';\n\nimport {TuiZoomService} from './zoom.service';\n\n@Directive({\n standalone: true,\n selector: '[tuiZoom]',\n outputs: ['tuiZoom'],\n providers: [TuiZoomService],\n host: {\n '[style.touch-action]': '\"none\"',\n },\n})\nexport class TuiZoom {\n protected readonly tuiZoom = inject(TuiZoomService);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -7,7 +7,7 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
7
7
|
* Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)
|
8
8
|
*/
|
9
9
|
function tuiControlValue(control) {
|
10
|
-
return new Observable(subscriber => {
|
10
|
+
return new Observable((subscriber) => {
|
11
11
|
if (!control?.valueChanges) {
|
12
12
|
throw new TuiValueChangesException();
|
13
13
|
}
|
@@ -36,23 +36,23 @@ class TuiDragState {
|
|
36
36
|
}
|
37
37
|
function tuiDragAndDropFrom(element) {
|
38
38
|
const { ownerDocument } = element;
|
39
|
-
return concat(tuiTypedFromEvent(element, 'mousedown').pipe(take(1), map(event => new TuiDragState('start', event))), merge(tuiTypedFromEvent(ownerDocument, 'mousemove').pipe(map(event => new TuiDragState('continues', event))), merge(tuiTypedFromEvent(ownerDocument, 'mouseup'), tuiTypedFromEvent(ownerDocument, 'dragend')).pipe(take(1), map(event => new TuiDragState('end', event)), endWith(null))).pipe(takeWhile(tuiIsPresent))).pipe(repeat());
|
39
|
+
return concat(tuiTypedFromEvent(element, 'mousedown').pipe(take(1), map((event) => new TuiDragState('start', event))), merge(tuiTypedFromEvent(ownerDocument, 'mousemove').pipe(map((event) => new TuiDragState('continues', event))), merge(tuiTypedFromEvent(ownerDocument, 'mouseup'), tuiTypedFromEvent(ownerDocument, 'dragend')).pipe(take(1), map((event) => new TuiDragState('end', event)), endWith(null))).pipe(takeWhile(tuiIsPresent))).pipe(repeat());
|
40
40
|
}
|
41
41
|
|
42
42
|
function tuiPreventDefault() {
|
43
|
-
return tap(event => event.preventDefault());
|
43
|
+
return tap((event) => event.preventDefault());
|
44
44
|
}
|
45
45
|
function tuiStopPropagation() {
|
46
|
-
return tap(event => event.stopPropagation());
|
46
|
+
return tap((event) => event.stopPropagation());
|
47
47
|
}
|
48
48
|
|
49
49
|
function tuiIfMap(project, predicate = Boolean) {
|
50
|
-
return pipe(switchMap(value => (predicate(value) ? project(value) : EMPTY)));
|
50
|
+
return pipe(switchMap((value) => (predicate(value) ? project(value) : EMPTY)));
|
51
51
|
}
|
52
52
|
|
53
53
|
/// <reference types="@taiga-ui/tsconfig/ng-dev-mode" />
|
54
54
|
function tuiMustBePresent() {
|
55
|
-
return map(value => {
|
55
|
+
return map((value) => {
|
56
56
|
if (!tuiIsPresent(value)) {
|
57
57
|
throw new TuiValuePresentException();
|
58
58
|
}
|
@@ -93,14 +93,14 @@ function tuiWatch(cdr) {
|
|
93
93
|
}
|
94
94
|
|
95
95
|
function tuiZonefull(zone) {
|
96
|
-
return source => new Observable(subscriber => source.subscribe({
|
97
|
-
next: value => zone.run(() => subscriber.next(value)),
|
96
|
+
return (source) => new Observable((subscriber) => source.subscribe({
|
97
|
+
next: (value) => zone.run(() => subscriber.next(value)),
|
98
98
|
error: (error) => zone.run(() => subscriber.error(error)),
|
99
99
|
complete: () => zone.run(() => subscriber.complete()),
|
100
100
|
}));
|
101
101
|
}
|
102
102
|
function tuiZonefree(zone) {
|
103
|
-
return source => new Observable(subscriber => zone.runOutsideAngular(() => source.subscribe(subscriber)));
|
103
|
+
return (source) => new Observable((subscriber) => zone.runOutsideAngular(() => source.subscribe(subscriber)));
|
104
104
|
}
|
105
105
|
function tuiZoneOptimized(zone) {
|
106
106
|
return pipe(tuiZonefree(zone), tuiZonefull(zone));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-observables.mjs","sources":["../../../projects/cdk/observables/control-value.ts","../../../projects/cdk/observables/typed-from-event.ts","../../../projects/cdk/observables/drag-and-drop-from.ts","../../../projects/cdk/observables/events.ts","../../../projects/cdk/observables/if-map.ts","../../../projects/cdk/observables/must-be-present.ts","../../../projects/cdk/observables/query-list-observable.ts","../../../projects/cdk/observables/scroll-from.ts","../../../projects/cdk/observables/take-until-destroyed.ts","../../../projects/cdk/observables/watch.ts","../../../projects/cdk/observables/zone.ts","../../../projects/cdk/observables/taiga-ui-cdk-observables.ts"],"sourcesContent":["/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nimport type {AbstractControl, AbstractControlDirective} from '@angular/forms';\nimport {Observable, startWith} from 'rxjs';\n\n/**\n * Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)\n */\nexport function tuiControlValue<T>(\n control: AbstractControl | AbstractControlDirective | null,\n): Observable<T> {\n return new Observable(subscriber => {\n if (!control?.valueChanges) {\n throw new TuiValueChangesException();\n }\n\n return control.valueChanges.pipe(startWith(control.value)).subscribe(subscriber);\n });\n}\n\nexport class TuiValueChangesException extends Error {\n constructor() {\n super(ngDevMode ? 'Control does not have valueChanges' : '');\n }\n}\n","import type {Observable} from 'rxjs';\nimport {fromEvent} from 'rxjs';\n\nexport interface TuiTypedEventTarget<E> {\n addEventListener(\n type: string,\n listener: ((evt: E) => void) | null,\n options?: AddEventListenerOptions | boolean,\n ): void;\n removeEventListener(\n type: string,\n listener?: ((evt: E) => void) | null,\n options?: EventListenerOptions | boolean,\n ): void;\n}\n\n/**\n * Wrapper around {@link Event} to add typings to target and currentTarget.\n */\nexport type TuiEventWith<G extends Event, T extends TuiTypedEventTarget<G>> = G & {\n readonly currentTarget: T;\n};\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 /**\n * @note:\n * in RxJS 7 type signature `TuiTypedEventTarget<E>` !== `HasEventTargetAddRemove<E>`\n */\n return fromEvent<E>(target as any, event, options) as unknown as Observable<E>;\n}\n","import {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {Observable} from 'rxjs';\nimport {concat, endWith, map, merge, repeat, take, takeWhile} from 'rxjs';\n\nimport {tuiTypedFromEvent} from './typed-from-event';\n\nexport type TuiDragStage = 'continues' | 'end' | 'start';\n\nexport class TuiDragState {\n constructor(\n public readonly stage: TuiDragStage,\n public readonly event: MouseEvent,\n ) {}\n}\n\nexport function tuiDragAndDropFrom(element: Element): Observable<TuiDragState> {\n const {ownerDocument} = element;\n\n return concat(\n tuiTypedFromEvent(element, 'mousedown').pipe(\n take(1),\n map(event => new TuiDragState('start', event)),\n ),\n merge(\n tuiTypedFromEvent(ownerDocument, 'mousemove').pipe(\n map(event => new TuiDragState('continues', event)),\n ),\n merge(\n tuiTypedFromEvent(ownerDocument, 'mouseup'),\n tuiTypedFromEvent(ownerDocument, 'dragend'),\n ).pipe(\n take(1),\n map(event => new TuiDragState('end', event)),\n endWith(null),\n ),\n ).pipe(takeWhile(tuiIsPresent)),\n ).pipe(repeat());\n}\n","import type {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs';\n\nexport function tuiPreventDefault<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(event => event.preventDefault());\n}\n\nexport function tuiStopPropagation<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(event => event.stopPropagation());\n}\n","import type {TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport type {Observable, OperatorFunction} from 'rxjs';\nimport {EMPTY, pipe, switchMap} from 'rxjs';\n\nexport function tuiIfMap<T, G>(\n project: (value: T) => Observable<G>,\n predicate: TuiBooleanHandler<T> = Boolean,\n): OperatorFunction<T, G> {\n return pipe(switchMap(value => (predicate(value) ? project(value) : EMPTY)));\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {OperatorFunction} from 'rxjs';\nimport {map} from 'rxjs';\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\nexport class TuiValuePresentException extends Error {\n constructor() {\n super(ngDevMode ? 'Value must present' : '');\n }\n}\n","import type {QueryList} from '@angular/core';\nimport {tuiGetOriginalArrayFromQueryList} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs';\n\n/**\n * Converts changes observable of a QueryList to an Observable of arrays\n */\nexport function tuiQueryListChanges<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 type {Observable} from 'rxjs';\n\nimport {tuiTypedFromEvent} from './typed-from-event';\n\n/**\n * Normalizes scroll event in case element is `html` (document.documentElement)\n */\nexport function tuiScrollFrom(element: Element): Observable<Event> {\n return tuiTypedFromEvent(\n element === element.ownerDocument.documentElement\n ? element.ownerDocument\n : element,\n 'scroll',\n );\n}\n","import type {DestroyRef} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport type {MonoTypeOperatorFunction} from 'rxjs';\nimport {catchError, defaultIfEmpty, EMPTY, NEVER, pipe, takeUntil} from 'rxjs';\n\n// NOTE: takeUntilDestroyed and DestroyRef can cause error:\n// NG0911: View has already been destroyed\n// https://github.com/angular/angular/issues/54527\nexport function tuiTakeUntilDestroyed<T>(\n destroyRef?: DestroyRef,\n): MonoTypeOperatorFunction<T> {\n return pipe(\n takeUntil(\n NEVER.pipe(\n takeUntilDestroyed(destroyRef),\n catchError(() => EMPTY),\n defaultIfEmpty(null),\n ),\n ),\n );\n}\n","import type {ChangeDetectorRef} from '@angular/core';\nimport type {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs';\n\nexport function tuiWatch<T>(cdr: ChangeDetectorRef): MonoTypeOperatorFunction<T> {\n return tap(() => cdr.markForCheck());\n}\n","import type {NgZone} from '@angular/core';\nimport type {MonoTypeOperatorFunction} from 'rxjs';\nimport {Observable, pipe} from 'rxjs';\n\nexport function tuiZonefull<T>(zone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n source.subscribe({\n next: value => zone.run(() => subscriber.next(value)),\n error: (error: unknown) => zone.run(() => subscriber.error(error)),\n complete: () => zone.run(() => subscriber.complete()),\n }),\n );\n}\n\nexport function tuiZonefree<T>(zone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n zone.runOutsideAngular(() => source.subscribe(subscriber)),\n );\n}\n\nexport function tuiZoneOptimized<T>(zone: NgZone): MonoTypeOperatorFunction<T> {\n return pipe(tuiZonefree(zone), tuiZonefull(zone));\n}\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-observables.mjs","sources":["../../../projects/cdk/observables/control-value.ts","../../../projects/cdk/observables/typed-from-event.ts","../../../projects/cdk/observables/drag-and-drop-from.ts","../../../projects/cdk/observables/events.ts","../../../projects/cdk/observables/if-map.ts","../../../projects/cdk/observables/must-be-present.ts","../../../projects/cdk/observables/query-list-observable.ts","../../../projects/cdk/observables/scroll-from.ts","../../../projects/cdk/observables/take-until-destroyed.ts","../../../projects/cdk/observables/watch.ts","../../../projects/cdk/observables/zone.ts","../../../projects/cdk/observables/taiga-ui-cdk-observables.ts"],"sourcesContent":["/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nimport type {AbstractControl, AbstractControlDirective} from '@angular/forms';\nimport {Observable, startWith} from 'rxjs';\n\n/**\n * Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)\n */\nexport function tuiControlValue<T>(\n control: AbstractControl | AbstractControlDirective | null,\n): Observable<T> {\n return new Observable((subscriber) => {\n if (!control?.valueChanges) {\n throw new TuiValueChangesException();\n }\n\n return control.valueChanges.pipe(startWith(control.value)).subscribe(subscriber);\n });\n}\n\nexport class TuiValueChangesException extends Error {\n constructor() {\n super(ngDevMode ? 'Control does not have valueChanges' : '');\n }\n}\n","import type {Observable} from 'rxjs';\nimport {fromEvent} from 'rxjs';\n\nexport interface TuiTypedEventTarget<E> {\n addEventListener(\n type: string,\n listener: ((evt: E) => void) | null,\n options?: AddEventListenerOptions | boolean,\n ): void;\n removeEventListener(\n type: string,\n listener?: ((evt: E) => void) | null,\n options?: EventListenerOptions | boolean,\n ): void;\n}\n\n/**\n * Wrapper around {@link Event} to add typings to target and currentTarget.\n */\nexport type TuiEventWith<G extends Event, T extends TuiTypedEventTarget<G>> = G & {\n readonly currentTarget: T;\n};\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 /**\n * @note:\n * in RxJS 7 type signature `TuiTypedEventTarget<E>` !== `HasEventTargetAddRemove<E>`\n */\n return fromEvent<E>(target as any, event, options) as unknown as Observable<E>;\n}\n","import {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {Observable} from 'rxjs';\nimport {concat, endWith, map, merge, repeat, take, takeWhile} from 'rxjs';\n\nimport {tuiTypedFromEvent} from './typed-from-event';\n\nexport type TuiDragStage = 'continues' | 'end' | 'start';\n\nexport class TuiDragState {\n constructor(\n public readonly stage: TuiDragStage,\n public readonly event: MouseEvent,\n ) {}\n}\n\nexport function tuiDragAndDropFrom(element: Element): Observable<TuiDragState> {\n const {ownerDocument} = element;\n\n return concat(\n tuiTypedFromEvent(element, 'mousedown').pipe(\n take(1),\n map((event) => new TuiDragState('start', event)),\n ),\n merge(\n tuiTypedFromEvent(ownerDocument, 'mousemove').pipe(\n map((event) => new TuiDragState('continues', event)),\n ),\n merge(\n tuiTypedFromEvent(ownerDocument, 'mouseup'),\n tuiTypedFromEvent(ownerDocument, 'dragend'),\n ).pipe(\n take(1),\n map((event) => new TuiDragState('end', event)),\n endWith(null),\n ),\n ).pipe(takeWhile(tuiIsPresent)),\n ).pipe(repeat());\n}\n","import type {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs';\n\nexport function tuiPreventDefault<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap((event) => event.preventDefault());\n}\n\nexport function tuiStopPropagation<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap((event) => event.stopPropagation());\n}\n","import type {TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport type {Observable, OperatorFunction} from 'rxjs';\nimport {EMPTY, pipe, switchMap} from 'rxjs';\n\nexport function tuiIfMap<T, G>(\n project: (value: T) => Observable<G>,\n predicate: TuiBooleanHandler<T> = Boolean,\n): OperatorFunction<T, G> {\n return pipe(switchMap((value) => (predicate(value) ? project(value) : EMPTY)));\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {OperatorFunction} from 'rxjs';\nimport {map} from 'rxjs';\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\nexport class TuiValuePresentException extends Error {\n constructor() {\n super(ngDevMode ? 'Value must present' : '');\n }\n}\n","import type {QueryList} from '@angular/core';\nimport {tuiGetOriginalArrayFromQueryList} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs';\n\n/**\n * Converts changes observable of a QueryList to an Observable of arrays\n */\nexport function tuiQueryListChanges<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 type {Observable} from 'rxjs';\n\nimport {tuiTypedFromEvent} from './typed-from-event';\n\n/**\n * Normalizes scroll event in case element is `html` (document.documentElement)\n */\nexport function tuiScrollFrom(element: Element): Observable<Event> {\n return tuiTypedFromEvent(\n element === element.ownerDocument.documentElement\n ? element.ownerDocument\n : element,\n 'scroll',\n );\n}\n","import type {DestroyRef} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport type {MonoTypeOperatorFunction} from 'rxjs';\nimport {catchError, defaultIfEmpty, EMPTY, NEVER, pipe, takeUntil} from 'rxjs';\n\n// NOTE: takeUntilDestroyed and DestroyRef can cause error:\n// NG0911: View has already been destroyed\n// https://github.com/angular/angular/issues/54527\nexport function tuiTakeUntilDestroyed<T>(\n destroyRef?: DestroyRef,\n): MonoTypeOperatorFunction<T> {\n return pipe(\n takeUntil(\n NEVER.pipe(\n takeUntilDestroyed(destroyRef),\n catchError(() => EMPTY),\n defaultIfEmpty(null),\n ),\n ),\n );\n}\n","import type {ChangeDetectorRef} from '@angular/core';\nimport type {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs';\n\nexport function tuiWatch<T>(cdr: ChangeDetectorRef): MonoTypeOperatorFunction<T> {\n return tap(() => cdr.markForCheck());\n}\n","import type {NgZone} from '@angular/core';\nimport type {MonoTypeOperatorFunction} from 'rxjs';\nimport {Observable, pipe} from 'rxjs';\n\nexport function tuiZonefull<T>(zone: NgZone): MonoTypeOperatorFunction<T> {\n return (source) =>\n new Observable((subscriber) =>\n source.subscribe({\n next: (value) => zone.run(() => subscriber.next(value)),\n error: (error: unknown) => zone.run(() => subscriber.error(error)),\n complete: () => zone.run(() => subscriber.complete()),\n }),\n );\n}\n\nexport function tuiZonefree<T>(zone: NgZone): MonoTypeOperatorFunction<T> {\n return (source) =>\n new Observable((subscriber) =>\n zone.runOutsideAngular(() => source.subscribe(subscriber)),\n );\n}\n\nexport function tuiZoneOptimized<T>(zone: NgZone): MonoTypeOperatorFunction<T> {\n return pipe(tuiZonefree(zone), tuiZonefull(zone));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -10,7 +10,7 @@ class TuiFilterPipe {
|
|
10
10
|
* @param args arbitrary number of additional arguments
|
11
11
|
*/
|
12
12
|
transform(items, matcher, ...args) {
|
13
|
-
return items.filter(item => matcher(item, ...args));
|
13
|
+
return items.filter((item) => matcher(item, ...args));
|
14
14
|
}
|
15
15
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
16
16
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiFilterPipe, isStandalone: true, name: "tuiFilter" }); }
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-pipes-filter.mjs","sources":["../../../projects/cdk/pipes/filter/filter.pipe.ts","../../../projects/cdk/pipes/filter/taiga-ui-cdk-pipes-filter.ts"],"sourcesContent":["import type {PipeTransform} from '@angular/core';\nimport {Pipe} from '@angular/core';\nimport type {TuiMatcher} from '@taiga-ui/cdk/types';\n\n@Pipe({\n standalone: true,\n name: 'tuiFilter',\n})\nexport class TuiFilterPipe implements PipeTransform {\n /**\n * Filters an array through a matcher function using additional arguments\n *\n * @param items array\n * @param matcher method for filtering\n * @param args arbitrary number of additional arguments\n */\n public transform<T, U extends unknown[]>(\n items: readonly T[],\n matcher: TuiMatcher<[T, ...U]>,\n ...args: U\n ): T[] {\n return items.filter(item => matcher(item, ...args));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAIA,MAIa,aAAa,CAAA;AACtB;;;;;;AAMG;AACI,IAAA,SAAS,CACZ,KAAmB,EACnB,OAA8B,EAC9B,GAAG,IAAO,EAAA;AAEV,QAAA,OAAO,KAAK,CAAC,MAAM,CAAC,
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-pipes-filter.mjs","sources":["../../../projects/cdk/pipes/filter/filter.pipe.ts","../../../projects/cdk/pipes/filter/taiga-ui-cdk-pipes-filter.ts"],"sourcesContent":["import type {PipeTransform} from '@angular/core';\nimport {Pipe} from '@angular/core';\nimport type {TuiMatcher} from '@taiga-ui/cdk/types';\n\n@Pipe({\n standalone: true,\n name: 'tuiFilter',\n})\nexport class TuiFilterPipe implements PipeTransform {\n /**\n * Filters an array through a matcher function using additional arguments\n *\n * @param items array\n * @param matcher method for filtering\n * @param args arbitrary number of additional arguments\n */\n public transform<T, U extends unknown[]>(\n items: readonly T[],\n matcher: TuiMatcher<[T, ...U]>,\n ...args: U\n ): T[] {\n return items.filter((item) => matcher(item, ...args));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAIA,MAIa,aAAa,CAAA;AACtB;;;;;;AAMG;AACI,IAAA,SAAS,CACZ,KAAmB,EACnB,OAA8B,EAC9B,GAAG,IAAO,EAAA;AAEV,QAAA,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;KACzD;+GAdQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;6GAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA,EAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE,WAAW;AACpB,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
|
@@ -35,7 +35,7 @@ class TuiPopoverService {
|
|
35
35
|
this.items$ = inject(items);
|
36
36
|
}
|
37
37
|
open(content, options = {}) {
|
38
|
-
return new Observable(observer => {
|
38
|
+
return new Observable((observer) => {
|
39
39
|
const item = {
|
40
40
|
...this.options,
|
41
41
|
...options,
|
@@ -51,7 +51,7 @@ class TuiPopoverService {
|
|
51
51
|
};
|
52
52
|
this.items$.next([...this.items$.value, item]);
|
53
53
|
return () => {
|
54
|
-
this.items$.next(this.items$.value.filter(value => value !== item));
|
54
|
+
this.items$.next(this.items$.value.filter((value) => value !== item));
|
55
55
|
};
|
56
56
|
});
|
57
57
|
}
|
@@ -93,7 +93,7 @@ class TuiScrollService {
|
|
93
93
|
const deltaLeft = scrollLeft - initialLeft;
|
94
94
|
const observable = !duration
|
95
95
|
? of([scrollTop, scrollLeft])
|
96
|
-
: defer(() => of(this.performanceRef.now())).pipe(switchMap(start => this.animationFrame$.pipe(map(now => now - start))), map(elapsed => tuiEaseInOutQuad(tuiClamp(elapsed / duration, 0, 1))), map(percent => [
|
96
|
+
: defer(() => of(this.performanceRef.now())).pipe(switchMap((start) => this.animationFrame$.pipe(map((now) => now - start))), map((elapsed) => tuiEaseInOutQuad(tuiClamp(elapsed / duration, 0, 1))), map((percent) => [
|
97
97
|
initialTop + deltaTop * percent,
|
98
98
|
initialLeft + deltaLeft * percent,
|
99
99
|
]), takeUntil(timer(duration)), endWith([scrollTop, scrollLeft]));
|