@taiga-ui/cdk 4.52.0-canary.b4a8181 → 4.52.0-canary.bb543c6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/classes/control.d.ts +4 -6
  2. package/constants/version.d.ts +1 -1
  3. package/constants/version.js +1 -1
  4. package/directives/auto-focus/autofocus.directive.d.ts +2 -3
  5. package/directives/click-outside/click-outside.directive.d.ts +2 -2
  6. package/directives/copy-processor/copy-processor.directive.d.ts +2 -2
  7. package/directives/droppable/droppable.directive.d.ts +4 -2
  8. package/directives/hovered/hovered.directive.d.ts +1 -2
  9. package/directives/media/media.directive.d.ts +8 -12
  10. package/directives/native-validator/native-validator.directive.d.ts +2 -2
  11. package/directives/obscured/obscured.directive.d.ts +4 -4
  12. package/directives/pan/pan.directive.d.ts +1 -2
  13. package/directives/platform/platform.directive.d.ts +2 -2
  14. package/directives/repeat-times/repeat-times.directive.d.ts +3 -2
  15. package/directives/resizer/resizer.directive.d.ts +3 -4
  16. package/directives/swipe/swipe.directive.d.ts +1 -2
  17. package/directives/value-changes/value-changes.directive.d.ts +2 -2
  18. package/fesm2022/taiga-ui-cdk-classes.mjs +5 -17
  19. package/fesm2022/taiga-ui-cdk-classes.mjs.map +1 -1
  20. package/fesm2022/taiga-ui-cdk-constants.mjs +1 -1
  21. package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
  22. package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs +8 -10
  23. package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs.map +1 -1
  24. package/fesm2022/taiga-ui-cdk-directives-click-outside.mjs +5 -5
  25. package/fesm2022/taiga-ui-cdk-directives-click-outside.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-cdk-directives-copy-processor.mjs +5 -7
  27. package/fesm2022/taiga-ui-cdk-directives-copy-processor.mjs.map +1 -1
  28. package/fesm2022/taiga-ui-cdk-directives-droppable.mjs +7 -8
  29. package/fesm2022/taiga-ui-cdk-directives-droppable.mjs.map +1 -1
  30. package/fesm2022/taiga-ui-cdk-directives-hovered.mjs +4 -6
  31. package/fesm2022/taiga-ui-cdk-directives-hovered.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-cdk-directives-media.mjs +30 -54
  33. package/fesm2022/taiga-ui-cdk-directives-media.mjs.map +1 -1
  34. package/fesm2022/taiga-ui-cdk-directives-native-validator.mjs +5 -7
  35. package/fesm2022/taiga-ui-cdk-directives-native-validator.mjs.map +1 -1
  36. package/fesm2022/taiga-ui-cdk-directives-obscured.mjs +8 -13
  37. package/fesm2022/taiga-ui-cdk-directives-obscured.mjs.map +1 -1
  38. package/fesm2022/taiga-ui-cdk-directives-pan.mjs +4 -5
  39. package/fesm2022/taiga-ui-cdk-directives-pan.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-cdk-directives-platform.mjs +7 -9
  41. package/fesm2022/taiga-ui-cdk-directives-platform.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-cdk-directives-repeat-times.mjs +15 -15
  43. package/fesm2022/taiga-ui-cdk-directives-repeat-times.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-cdk-directives-resizer.mjs +14 -16
  45. package/fesm2022/taiga-ui-cdk-directives-resizer.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-cdk-directives-swipe.mjs +4 -5
  47. package/fesm2022/taiga-ui-cdk-directives-swipe.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-cdk-directives-value-changes.mjs +5 -5
  49. package/fesm2022/taiga-ui-cdk-directives-value-changes.mjs.map +1 -1
  50. package/package.json +8 -8
  51. package/schematics/ng-add/constants/versions.d.ts +1 -1
@@ -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, inject, Input} from '@angular/core';\nimport {TUI_PLATFORM} from '@taiga-ui/cdk/tokens';\n\n@Directive({\n selector: '[tuiPlatform]',\n providers: [\n {\n provide: TUI_PLATFORM,\n useFactory: () => inject(TuiPlatform).tuiPlatform,\n },\n ],\n host: {\n '[attr.data-platform]': 'tuiPlatform',\n },\n})\nexport class TuiPlatform {\n @Input()\n public tuiPlatform = inject(TUI_PLATFORM, {skipSelf: true});\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAea,WAAW,CAAA;AAZxB,IAAA,WAAA,GAAA;QAcW,IAAW,CAAA,WAAA,GAAG,MAAM,CAAC,YAAY,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AAC9D;+GAHY,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,WAAW,EAVT,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,aAAA,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;;4FAKQ,WAAW,EAAA,UAAA,EAAA,CAAA;kBAZvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,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;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,sBAAsB,EAAE,aAAa;AACxC,qBAAA;AACJ,iBAAA;8BAGU,WAAW,EAAA,CAAA;sBADjB;;;AChBL;;AAEG;;;;"}
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, inject, input} from '@angular/core';\nimport {TUI_PLATFORM} from '@taiga-ui/cdk/tokens';\n\n@Directive({\n selector: '[tuiPlatform]',\n providers: [\n {\n provide: TUI_PLATFORM,\n useFactory: () => inject(TuiPlatform).tuiPlatform(),\n },\n ],\n host: {\n '[attr.data-platform]': 'tuiPlatform()',\n },\n})\nexport class TuiPlatform {\n public readonly tuiPlatform = input(inject(TUI_PLATFORM, {skipSelf: true}));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAea,WAAW,CAAA;AAZxB,IAAA,WAAA,GAAA;AAaoB,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;AAC9E;+GAFY,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,WAAW,EAVT,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,YAAY;gBACrB,UAAU,EAAE,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE;AACtD,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAKQ,WAAW,EAAA,UAAA,EAAA,CAAA;kBAZvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,YAAY;4BACrB,UAAU,EAAE,MAAM,MAAM,CAAa,WAAA,CAAA,CAAC,WAAW,EAAE;AACtD,yBAAA;AACJ,qBAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,sBAAsB,EAAE,eAAe;AAC1C,qBAAA;AACJ,iBAAA;;;ACdD;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ViewContainerRef, TemplateRef, Input, Directive } from '@angular/core';
2
+ import { inject, ViewContainerRef, TemplateRef, input, effect, Directive } from '@angular/core';
3
3
  import { tuiClamp } from '@taiga-ui/cdk/utils/math';
4
4
 
5
5
  const MAX_VALUE = 0x10000;
@@ -19,16 +19,18 @@ class TuiRepeatTimes {
19
19
  constructor() {
20
20
  this.vcr = inject(ViewContainerRef);
21
21
  this.template = inject((TemplateRef));
22
- }
23
- set tuiRepeatTimesOf(count) {
24
- const safeCount = Math.floor(tuiClamp(count, 0, MAX_VALUE));
25
- const { length } = this.vcr;
26
- if (count < length) {
27
- this.removeContainers(length - count);
28
- }
29
- else {
30
- this.addContainers(safeCount);
31
- }
22
+ this.tuiRepeatTimesOf = input.required();
23
+ this.setCount = effect(() => {
24
+ const count = this.tuiRepeatTimesOf();
25
+ const safeCount = Math.floor(tuiClamp(count, 0, MAX_VALUE));
26
+ const { length } = this.vcr;
27
+ if (count < length) {
28
+ this.removeContainers(length - count);
29
+ }
30
+ else {
31
+ this.addContainers(safeCount);
32
+ }
33
+ });
32
34
  }
33
35
  addContainers(count) {
34
36
  for (let index = this.vcr.length; index < count; index++) {
@@ -41,16 +43,14 @@ class TuiRepeatTimes {
41
43
  }
42
44
  }
43
45
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiRepeatTimes, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
44
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiRepeatTimes, isStandalone: true, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: { tuiRepeatTimesOf: "tuiRepeatTimesOf" }, ngImport: i0 }); }
46
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiRepeatTimes, isStandalone: true, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: { tuiRepeatTimesOf: { classPropertyName: "tuiRepeatTimesOf", publicName: "tuiRepeatTimesOf", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
45
47
  }
46
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiRepeatTimes, decorators: [{
47
49
  type: Directive,
48
50
  args: [{
49
51
  selector: '[tuiRepeatTimes][tuiRepeatTimesOf]',
50
52
  }]
51
- }], propDecorators: { tuiRepeatTimesOf: [{
52
- type: Input
53
- }] } });
53
+ }] });
54
54
 
55
55
  /**
56
56
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-repeat-times.mjs","sources":["../../../projects/cdk/directives/repeat-times/repeat-times.directive.ts","../../../projects/cdk/directives/repeat-times/taiga-ui-cdk-directives-repeat-times.ts"],"sourcesContent":["import {Directive, inject, Input, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\n\nconst MAX_VALUE = 0x10000;\n\nexport class TuiRepeatTimesContext implements TuiContext<number> {\n constructor(public readonly $implicit: number) {}\n}\n\n/**\n * Directive similar to ngFor but using a number of repetitions rather than an array\n *\n * {@link TuiRepeatTimes.tuiRepeatTimesOf requested number of times}.\n * {@link TuiRepeatTimesContext context} for every instance of the template inherits outer context and stores\n * {@link TuiRepeatTimesContext.$implicit index} of a template instance.\n */\n@Directive({\n selector: '[tuiRepeatTimes][tuiRepeatTimesOf]',\n})\nexport class TuiRepeatTimes {\n private readonly vcr = inject(ViewContainerRef);\n private readonly template = inject(TemplateRef<TuiRepeatTimesContext>);\n\n @Input()\n public set tuiRepeatTimesOf(count: number) {\n const safeCount = Math.floor(tuiClamp(count, 0, MAX_VALUE));\n\n const {length} = this.vcr;\n\n if (count < length) {\n this.removeContainers(length - count);\n } else {\n this.addContainers(safeCount);\n }\n }\n\n private addContainers(count: number): void {\n for (let index = this.vcr.length; index < count; index++) {\n this.vcr.createEmbeddedView<TuiRepeatTimesContext>(\n this.template,\n new TuiRepeatTimesContext(index),\n );\n }\n }\n\n private removeContainers(amount: number): void {\n for (let index = 0; index < amount; index++) {\n this.vcr.remove();\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAIA,MAAM,SAAS,GAAG,OAAO;MAEZ,qBAAqB,CAAA;AAC9B,IAAA,WAAA,CAA4B,SAAiB,EAAA;QAAjB,IAAS,CAAA,SAAA,GAAT,SAAS;;AACxC;AAED;;;;;;AAMG;MAIU,cAAc,CAAA;AAH3B,IAAA,WAAA,GAAA;AAIqB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC9B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,EAAC,WAAkC,EAAC;AA6BzE;IA3BG,IACW,gBAAgB,CAAC,KAAa,EAAA;AACrC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AAE3D,QAAA,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC,GAAG;AAEzB,QAAA,IAAI,KAAK,GAAG,MAAM,EAAE;AAChB,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,KAAK,CAAC;;aAClC;AACH,YAAA,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;;;AAI7B,IAAA,aAAa,CAAC,KAAa,EAAA;AAC/B,QAAA,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE;AACtD,YAAA,IAAI,CAAC,GAAG,CAAC,kBAAkB,CACvB,IAAI,CAAC,QAAQ,EACb,IAAI,qBAAqB,CAAC,KAAK,CAAC,CACnC;;;AAID,IAAA,gBAAgB,CAAC,MAAc,EAAA;AACnC,QAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE;AACzC,YAAA,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;;;+GA5BhB,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oCAAoC;AACjD,iBAAA;8BAMc,gBAAgB,EAAA,CAAA;sBAD1B;;;ACxBL;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-repeat-times.mjs","sources":["../../../projects/cdk/directives/repeat-times/repeat-times.directive.ts","../../../projects/cdk/directives/repeat-times/taiga-ui-cdk-directives-repeat-times.ts"],"sourcesContent":["import {\n Directive,\n effect,\n inject,\n input,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\n\nconst MAX_VALUE = 0x10000;\n\nexport class TuiRepeatTimesContext implements TuiContext<number> {\n constructor(public readonly $implicit: number) {}\n}\n\n/**\n * Directive similar to ngFor but using a number of repetitions rather than an array\n *\n * {@link TuiRepeatTimes.tuiRepeatTimesOf requested number of times}.\n * {@link TuiRepeatTimesContext context} for every instance of the template inherits outer context and stores\n * {@link TuiRepeatTimesContext.$implicit index} of a template instance.\n */\n@Directive({\n selector: '[tuiRepeatTimes][tuiRepeatTimesOf]',\n})\nexport class TuiRepeatTimes {\n private readonly vcr = inject(ViewContainerRef);\n private readonly template = inject(TemplateRef<TuiRepeatTimesContext>);\n\n public readonly tuiRepeatTimesOf = input.required<number>();\n\n protected readonly setCount = effect(() => {\n const count = this.tuiRepeatTimesOf();\n\n const safeCount = Math.floor(tuiClamp(count, 0, MAX_VALUE));\n\n const {length} = this.vcr;\n\n if (count < length) {\n this.removeContainers(length - count);\n } else {\n this.addContainers(safeCount);\n }\n });\n\n private addContainers(count: number): void {\n for (let index = this.vcr.length; index < count; index++) {\n this.vcr.createEmbeddedView<TuiRepeatTimesContext>(\n this.template,\n new TuiRepeatTimesContext(index),\n );\n }\n }\n\n private removeContainers(amount: number): void {\n for (let index = 0; index < amount; index++) {\n this.vcr.remove();\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAWA,MAAM,SAAS,GAAG,OAAO;MAEZ,qBAAqB,CAAA;AAC9B,IAAA,WAAA,CAA4B,SAAiB,EAAA;QAAjB,IAAS,CAAA,SAAA,GAAT,SAAS;;AACxC;AAED;;;;;;AAMG;MAIU,cAAc,CAAA;AAH3B,IAAA,WAAA,GAAA;AAIqB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC9B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,EAAC,WAAkC,EAAC;AAEtD,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,QAAQ,EAAU;AAExC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,MAAK;AACtC,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE;AAErC,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AAE3D,YAAA,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC,GAAG;AAEzB,YAAA,IAAI,KAAK,GAAG,MAAM,EAAE;AAChB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,KAAK,CAAC;;iBAClC;AACH,gBAAA,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;;AAErC,SAAC,CAAC;AAgBL;AAdW,IAAA,aAAa,CAAC,KAAa,EAAA;AAC/B,QAAA,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE;AACtD,YAAA,IAAI,CAAC,GAAG,CAAC,kBAAkB,CACvB,IAAI,CAAC,QAAQ,EACb,IAAI,qBAAqB,CAAC,KAAK,CAAC,CACnC;;;AAID,IAAA,gBAAgB,CAAC,MAAc,EAAA;AACnC,QAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE;AACzC,YAAA,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;;;+GA/BhB,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oCAAoC;AACjD,iBAAA;;;AC1BD;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, inject, EventEmitter, Output, Input } from '@angular/core';
2
+ import { Directive, inject, input, output } from '@angular/core';
3
3
  import { TuiElement } from '@taiga-ui/cdk/directives/element';
4
4
  import { tuiPx } from '@taiga-ui/cdk/utils/miscellaneous';
5
5
 
@@ -21,17 +21,18 @@ class TuiResizer {
21
21
  this.y = NaN;
22
22
  this.width = 0;
23
23
  this.height = 0;
24
- this.tuiResizer = [0, 0];
25
- this.tuiSizeChange = new EventEmitter();
24
+ this.tuiResizer = input([0, 0]);
25
+ this.tuiSizeChange = output();
26
26
  }
27
27
  get cursor() {
28
- if (!this.tuiResizer[0]) {
28
+ const tuiResizer = this.tuiResizer();
29
+ if (!tuiResizer[0]) {
29
30
  return 'ns-resize';
30
31
  }
31
- if (!this.tuiResizer[1]) {
32
+ if (!tuiResizer[1]) {
32
33
  return 'ew-resize';
33
34
  }
34
- if (this.tuiResizer[0] * this.tuiResizer[1] > 0) {
35
+ if (tuiResizer[0] * tuiResizer[1] > 0) {
35
36
  return 'nwse-resize';
36
37
  }
37
38
  return 'nesw-resize';
@@ -54,24 +55,25 @@ class TuiResizer {
54
55
  this.x = NaN;
55
56
  }
56
57
  onMove(x, y) {
58
+ const tuiResizer = this.tuiResizer();
57
59
  if (Number.isNaN(this.x)) {
58
60
  return;
59
61
  }
60
62
  const { style } = this.resizable.nativeElement;
61
63
  const size = [
62
- this.width + this.tuiResizer[0] * (x - this.x),
63
- this.height + this.tuiResizer[1] * (y - this.y),
64
+ this.width + tuiResizer[0] * (x - this.x),
65
+ this.height + tuiResizer[1] * (y - this.y),
64
66
  ];
65
- if (this.tuiResizer[0]) {
67
+ if (tuiResizer[0]) {
66
68
  style.width = tuiPx(size[0]);
67
69
  }
68
- if (this.tuiResizer[1]) {
70
+ if (tuiResizer[1]) {
69
71
  style.height = tuiPx(size[1]);
70
72
  }
71
73
  this.tuiSizeChange.emit(size);
72
74
  }
73
75
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiResizer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
74
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiResizer, isStandalone: true, selector: "[tuiResizer]", inputs: { tuiResizer: "tuiResizer" }, outputs: { tuiSizeChange: "tuiSizeChange" }, host: { listeners: { "pointerdown.zoneless.prevent": "onPointerDown($event.x, $event.y)", "document:pointermove.zoneless": "onPointerMove($event)", "document:pointerup.zoneless": "onPointerUp()" }, properties: { "style.cursor": "cursor", "style.touchAction": "\"none\"" } }, ngImport: i0 }); }
76
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiResizer, isStandalone: true, selector: "[tuiResizer]", inputs: { tuiResizer: { classPropertyName: "tuiResizer", publicName: "tuiResizer", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tuiSizeChange: "tuiSizeChange" }, host: { listeners: { "pointerdown.zoneless.prevent": "onPointerDown($event.x, $event.y)", "document:pointermove.zoneless": "onPointerMove($event)", "document:pointerup.zoneless": "onPointerUp()" }, properties: { "style.cursor": "cursor", "style.touchAction": "\"none\"" } }, ngImport: i0 }); }
75
77
  }
76
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiResizer, decorators: [{
77
79
  type: Directive,
@@ -85,11 +87,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
85
87
  '(document:pointerup.zoneless)': 'onPointerUp()',
86
88
  },
87
89
  }]
88
- }], propDecorators: { tuiResizer: [{
89
- type: Input
90
- }], tuiSizeChange: [{
91
- type: Output
92
- }] } });
90
+ }] });
93
91
 
94
92
  /**
95
93
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-resizer.mjs","sources":["../../../projects/cdk/directives/resizer/resizable.directive.ts","../../../projects/cdk/directives/resizer/resizer.directive.ts","../../../projects/cdk/directives/resizer/taiga-ui-cdk-directives-resizer.ts"],"sourcesContent":["import {Directive} from '@angular/core';\nimport {TuiElement} from '@taiga-ui/cdk/directives/element';\n\n@Directive({\n selector: '[tuiResizable]',\n})\nexport class TuiResizable extends TuiElement {}\n","import {\n Directive,\n type ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiResizable} from './resizable.directive';\n\n@Directive({\n selector: '[tuiResizer]',\n host: {\n '[style.cursor]': 'cursor',\n '[style.touchAction]': '\"none\"',\n '(pointerdown.zoneless.prevent)': 'onPointerDown($event.x, $event.y)',\n '(document:pointermove.zoneless)': 'onPointerMove($event)',\n '(document:pointerup.zoneless)': 'onPointerUp()',\n },\n})\nexport class TuiResizer {\n private readonly resizable: ElementRef<HTMLElement> = inject(TuiResizable);\n\n protected x = NaN;\n protected y = NaN;\n protected width = 0;\n protected height = 0;\n\n @Input()\n public tuiResizer: readonly [x: number, y: number] = [0, 0];\n\n @Output()\n public readonly tuiSizeChange = new EventEmitter<readonly [x: number, y: number]>();\n\n protected get cursor(): string {\n if (!this.tuiResizer[0]) {\n return 'ns-resize';\n }\n\n if (!this.tuiResizer[1]) {\n return 'ew-resize';\n }\n\n if (this.tuiResizer[0] * this.tuiResizer[1] > 0) {\n return 'nwse-resize';\n }\n\n return 'nesw-resize';\n }\n\n protected onPointerDown(x: number, y: number): void {\n this.x = x;\n this.y = y;\n this.width = this.resizable.nativeElement.clientWidth;\n this.height = this.resizable.nativeElement.clientHeight;\n }\n\n protected onPointerMove({x, y, buttons}: PointerEvent): void {\n if (!buttons) {\n this.onPointerUp();\n } else {\n this.onMove(x, y);\n }\n }\n\n protected onPointerUp(): void {\n this.x = NaN;\n }\n\n protected onMove(x: number, y: number): void {\n if (Number.isNaN(this.x)) {\n return;\n }\n\n const {style} = this.resizable.nativeElement;\n const size = [\n this.width + this.tuiResizer[0] * (x - this.x),\n this.height + this.tuiResizer[1] * (y - this.y),\n ] as const;\n\n if (this.tuiResizer[0]) {\n style.width = tuiPx(size[0]);\n }\n\n if (this.tuiResizer[1]) {\n style.height = tuiPx(size[1]);\n }\n\n this.tuiSizeChange.emit(size);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAMM,MAAO,YAAa,SAAQ,UAAU,CAAA;+GAA/B,YAAY,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gBAAgB;AAC7B,iBAAA;;;MCiBY,UAAU,CAAA;AAVvB,IAAA,WAAA,GAAA;AAWqB,QAAA,IAAA,CAAA,SAAS,GAA4B,MAAM,CAAC,YAAY,CAAC;QAEhE,IAAC,CAAA,CAAA,GAAG,GAAG;QACP,IAAC,CAAA,CAAA,GAAG,GAAG;QACP,IAAK,CAAA,KAAA,GAAG,CAAC;QACT,IAAM,CAAA,MAAA,GAAG,CAAC;AAGb,QAAA,IAAA,CAAA,UAAU,GAAoC,CAAC,CAAC,EAAE,CAAC,CAAC;AAG3C,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAmC;AA0DtF;AAxDG,IAAA,IAAc,MAAM,GAAA;QAChB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;AACrB,YAAA,OAAO,WAAW;;QAGtB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;AACrB,YAAA,OAAO,WAAW;;AAGtB,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;AAC7C,YAAA,OAAO,aAAa;;AAGxB,QAAA,OAAO,aAAa;;IAGd,aAAa,CAAC,CAAS,EAAE,CAAS,EAAA;AACxC,QAAA,IAAI,CAAC,CAAC,GAAG,CAAC;AACV,QAAA,IAAI,CAAC,CAAC,GAAG,CAAC;QACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW;QACrD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY;;AAGjD,IAAA,aAAa,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAe,EAAA;QACjD,IAAI,CAAC,OAAO,EAAE;YACV,IAAI,CAAC,WAAW,EAAE;;aACf;AACH,YAAA,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;;;IAIf,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,CAAC,GAAG,GAAG;;IAGN,MAAM,CAAC,CAAS,EAAE,CAAS,EAAA;QACjC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACtB;;QAGJ,MAAM,EAAC,KAAK,EAAC,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa;AAC5C,QAAA,MAAM,IAAI,GAAG;AACT,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAC9C,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;SACzC;AAEV,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YACpB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;AAGhC,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YACpB,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;AAGjC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;;+GApExB,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,8BAAA,EAAA,mCAAA,EAAA,+BAAA,EAAA,uBAAA,EAAA,6BAAA,EAAA,eAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAVtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,IAAI,EAAE;AACF,wBAAA,gBAAgB,EAAE,QAAQ;AAC1B,wBAAA,qBAAqB,EAAE,QAAQ;AAC/B,wBAAA,gCAAgC,EAAE,mCAAmC;AACrE,wBAAA,iCAAiC,EAAE,uBAAuB;AAC1D,wBAAA,+BAA+B,EAAE,eAAe;AACnD,qBAAA;AACJ,iBAAA;8BAUU,UAAU,EAAA,CAAA;sBADhB;gBAIe,aAAa,EAAA,CAAA;sBAD5B;;;ACjCL;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-resizer.mjs","sources":["../../../projects/cdk/directives/resizer/resizable.directive.ts","../../../projects/cdk/directives/resizer/resizer.directive.ts","../../../projects/cdk/directives/resizer/taiga-ui-cdk-directives-resizer.ts"],"sourcesContent":["import {Directive} from '@angular/core';\nimport {TuiElement} from '@taiga-ui/cdk/directives/element';\n\n@Directive({\n selector: '[tuiResizable]',\n})\nexport class TuiResizable extends TuiElement {}\n","import {Directive, type ElementRef, inject, input, output} from '@angular/core';\nimport {tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiResizable} from './resizable.directive';\n\n@Directive({\n selector: '[tuiResizer]',\n host: {\n '[style.cursor]': 'cursor',\n '[style.touchAction]': '\"none\"',\n '(pointerdown.zoneless.prevent)': 'onPointerDown($event.x, $event.y)',\n '(document:pointermove.zoneless)': 'onPointerMove($event)',\n '(document:pointerup.zoneless)': 'onPointerUp()',\n },\n})\nexport class TuiResizer {\n private readonly resizable: ElementRef<HTMLElement> = inject(TuiResizable);\n\n protected x = NaN;\n protected y = NaN;\n protected width = 0;\n protected height = 0;\n\n public readonly tuiResizer = input<readonly [x: number, y: number]>([0, 0]);\n\n public readonly tuiSizeChange = output<readonly [x: number, y: number]>();\n\n protected get cursor(): string {\n const tuiResizer = this.tuiResizer();\n\n if (!tuiResizer[0]) {\n return 'ns-resize';\n }\n\n if (!tuiResizer[1]) {\n return 'ew-resize';\n }\n\n if (tuiResizer[0] * tuiResizer[1] > 0) {\n return 'nwse-resize';\n }\n\n return 'nesw-resize';\n }\n\n protected onPointerDown(x: number, y: number): void {\n this.x = x;\n this.y = y;\n this.width = this.resizable.nativeElement.clientWidth;\n this.height = this.resizable.nativeElement.clientHeight;\n }\n\n protected onPointerMove({x, y, buttons}: PointerEvent): void {\n if (!buttons) {\n this.onPointerUp();\n } else {\n this.onMove(x, y);\n }\n }\n\n protected onPointerUp(): void {\n this.x = NaN;\n }\n\n protected onMove(x: number, y: number): void {\n const tuiResizer = this.tuiResizer();\n\n if (Number.isNaN(this.x)) {\n return;\n }\n\n const {style} = this.resizable.nativeElement;\n const size = [\n this.width + tuiResizer[0] * (x - this.x),\n this.height + tuiResizer[1] * (y - this.y),\n ] as const;\n\n if (tuiResizer[0]) {\n style.width = tuiPx(size[0]);\n }\n\n if (tuiResizer[1]) {\n style.height = tuiPx(size[1]);\n }\n\n this.tuiSizeChange.emit(size);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, Injectable, Output, Directive } from '@angular/core';
2
+ import { InjectionToken, inject, Injectable, Directive } from '@angular/core';
3
+ import { outputFromObservable } from '@angular/core/rxjs-interop';
3
4
  import { DOCUMENT } from '@angular/common';
4
5
  import { tuiTypedFromEvent } from '@taiga-ui/cdk/observables';
5
6
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
@@ -56,7 +57,7 @@ function tuiGetSwipeDirection(deltaX, deltaY) {
56
57
 
57
58
  class TuiSwipe {
58
59
  constructor() {
59
- this.tuiSwipe = inject(TuiSwipeService);
60
+ this.tuiSwipe = outputFromObservable(inject(TuiSwipeService));
60
61
  }
61
62
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSwipe, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
62
63
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiSwipe, isStandalone: true, selector: "[tuiSwipe]", outputs: { tuiSwipe: "tuiSwipe" }, providers: [TuiSwipeService], ngImport: i0 }); }
@@ -67,9 +68,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
67
68
  selector: '[tuiSwipe]',
68
69
  providers: [TuiSwipeService],
69
70
  }]
70
- }], propDecorators: { tuiSwipe: [{
71
- type: Output
72
- }] } });
71
+ }] });
73
72
 
74
73
  /**
75
74
  * Generated bundle index. Do not edit.
@@ -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 {InjectionToken} from '@angular/core';\n\nimport {type TuiSwipeOptions} from './swipe.types';\n\nexport const TUI_SWIPE_OPTIONS = new InjectionToken<TuiSwipeOptions>(\n ngDevMode ? 'TUI_SWIPE_OPTIONS' : '',\n {\n factory: () => ({\n timeout: 500,\n threshold: 30,\n }),\n },\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, type 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 ?? 0;\n const startY = start.touches[0]?.clientY ?? 0;\n const endX = end.changedTouches[0]?.clientX ?? 0;\n const endY = end.changedTouches[0]?.clientY ?? 0;\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 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":"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"}
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 {InjectionToken} from '@angular/core';\n\nimport {type TuiSwipeOptions} from './swipe.types';\n\nexport const TUI_SWIPE_OPTIONS = new InjectionToken<TuiSwipeOptions>(\n ngDevMode ? 'TUI_SWIPE_OPTIONS' : '',\n {\n factory: () => ({\n timeout: 500,\n threshold: 30,\n }),\n },\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, type 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 ?? 0;\n const startY = start.touches[0]?.clientY ?? 0;\n const endX = end.changedTouches[0]?.clientX ?? 0;\n const endY = end.changedTouches[0]?.clientY ?? 0;\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} from '@angular/core';\nimport {outputFromObservable} from '@angular/core/rxjs-interop';\n\nimport {TuiSwipeService} from './swipe.service';\n\n@Directive({\n selector: '[tuiSwipe]',\n providers: [TuiSwipeService],\n})\nexport class TuiSwipe {\n public readonly tuiSwipe = outputFromObservable(inject(TuiSwipeService));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, Output, Directive } from '@angular/core';
2
+ import { inject, Directive } from '@angular/core';
3
+ import { outputFromObservable } from '@angular/core/rxjs-interop';
3
4
  import { ControlContainer, NgControl } from '@angular/forms';
4
5
  import { Subject, distinctUntilChanged, switchAll, EMPTY } from 'rxjs';
5
6
 
@@ -8,7 +9,8 @@ class TuiValueChanges {
8
9
  this.container = inject(ControlContainer, { optional: true });
9
10
  this.control = inject(NgControl, { optional: true });
10
11
  this.refresh$ = new Subject();
11
- this.tuiValueChanges = this.refresh$.pipe(distinctUntilChanged(), switchAll(), distinctUntilChanged());
12
+ this.tuiValueChanges$ = this.refresh$.pipe(distinctUntilChanged(), switchAll(), distinctUntilChanged());
13
+ this.tuiValueChanges = outputFromObservable(this.tuiValueChanges$);
12
14
  }
13
15
  ngDoCheck() {
14
16
  this.refresh$.next(this.control?.valueChanges || this.container?.valueChanges || EMPTY);
@@ -21,9 +23,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
21
23
  args: [{
22
24
  selector: '[tuiValueChanges]',
23
25
  }]
24
- }], propDecorators: { tuiValueChanges: [{
25
- type: Output
26
- }] } });
26
+ }] });
27
27
 
28
28
  /**
29
29
  * Generated bundle index. Do not edit.
@@ -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 {Directive, type DoCheck, inject, Output} from '@angular/core';\nimport {ControlContainer, NgControl} from '@angular/forms';\nimport {distinctUntilChanged, EMPTY, type Observable, Subject, switchAll} from 'rxjs';\n\n@Directive({\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":";;;;;MAOa,eAAe,CAAA;AAH5B,IAAA,WAAA,GAAA;QAIqB,IAAS,CAAA,SAAA,GAAG,MAAM,CAAC,gBAAgB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;QACtD,IAAO,CAAA,OAAA,GAAG,MAAM,CAAC,SAAS,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AAC7C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAiB;AAGxC,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChD,oBAAoB,EAAE,EACtB,SAAS,EAAE,EACX,oBAAoB,EAAE,CACzB;AAOJ;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;;+GAfI,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;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;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;AAChC,iBAAA;8BAOmB,eAAe,EAAA,CAAA;sBAD9B;;;ACZL;;AAEG;;;;"}
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 {Directive, type DoCheck, inject} from '@angular/core';\nimport {outputFromObservable} from '@angular/core/rxjs-interop';\nimport {ControlContainer, NgControl} from '@angular/forms';\nimport {distinctUntilChanged, EMPTY, type Observable, Subject, switchAll} from 'rxjs';\n\n@Directive({\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 private readonly tuiValueChanges$ = this.refresh$.pipe(\n distinctUntilChanged(),\n switchAll(),\n distinctUntilChanged(),\n );\n\n public readonly tuiValueChanges = outputFromObservable(this.tuiValueChanges$);\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":";;;;;;MAQa,eAAe,CAAA;AAH5B,IAAA,WAAA,GAAA;QAIqB,IAAS,CAAA,SAAA,GAAG,MAAM,CAAC,gBAAgB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;QACtD,IAAO,CAAA,OAAA,GAAG,MAAM,CAAC,SAAS,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AAC7C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAiB;AAEvC,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAClD,oBAAoB,EAAE,EACtB,SAAS,EAAE,EACX,oBAAoB,EAAE,CACzB;AAEe,QAAA,IAAA,CAAA,eAAe,GAAG,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC;AAOhF;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;;+GAhBI,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;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;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;AAChC,iBAAA;;;ACPD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/cdk",
3
- "version": "4.52.0-canary.b4a8181",
3
+ "version": "4.52.0-canary.bb543c6",
4
4
  "description": "Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance",
5
5
  "keywords": [
6
6
  "angular",
@@ -30,22 +30,22 @@
30
30
  "types": "./classes/index.d.ts",
31
31
  "default": "./fesm2022/taiga-ui-cdk-classes.mjs"
32
32
  },
33
- "./constants": {
34
- "types": "./constants/index.d.ts",
35
- "default": "./fesm2022/taiga-ui-cdk-constants.mjs"
36
- },
37
33
  "./date-time": {
38
34
  "types": "./date-time/index.d.ts",
39
35
  "default": "./fesm2022/taiga-ui-cdk-date-time.mjs"
40
36
  },
41
- "./directives": {
42
- "types": "./directives/index.d.ts",
43
- "default": "./fesm2022/taiga-ui-cdk-directives.mjs"
37
+ "./constants": {
38
+ "types": "./constants/index.d.ts",
39
+ "default": "./fesm2022/taiga-ui-cdk-constants.mjs"
44
40
  },
45
41
  "./observables": {
46
42
  "types": "./observables/index.d.ts",
47
43
  "default": "./fesm2022/taiga-ui-cdk-observables.mjs"
48
44
  },
45
+ "./directives": {
46
+ "types": "./directives/index.d.ts",
47
+ "default": "./fesm2022/taiga-ui-cdk-directives.mjs"
48
+ },
49
49
  "./pipes": {
50
50
  "types": "./pipes/index.d.ts",
51
51
  "default": "./fesm2022/taiga-ui-cdk-pipes.mjs"
@@ -1 +1 @@
1
- export declare const TAIGA_VERSION = "^4.52.0-canary.b4a8181";
1
+ export declare const TAIGA_VERSION = "^4.52.0-canary.bb543c6";