@taiga-ui/kit 3.20.0 → 3.21.0-dev.main-92c5f00

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 (80) hide show
  1. package/bundles/taiga-ui-kit-components-carousel.umd.js +4 -4
  2. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-input-count.umd.js +56 -101
  4. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-input-files.umd.js +1 -1
  6. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-input-number.umd.js +1 -1
  8. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +1 -1
  10. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-input-tag.umd.js +1 -1
  12. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-input-time.umd.js +9 -2
  14. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +1 -1
  16. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +1 -1
  18. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-push.umd.js +1 -1
  20. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-services.umd.js +67 -0
  22. package/bundles/taiga-ui-kit-services.umd.js.map +1 -0
  23. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +25 -14
  24. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit.umd.js +10 -4
  26. package/bundles/taiga-ui-kit.umd.js.map +1 -1
  27. package/components/input-count/input-count.component.d.ts +3 -9
  28. package/components/input-count/input-count.directive.d.ts +1 -1
  29. package/components/input-count/input-count.module.d.ts +5 -3
  30. package/components/input-time/input-time.component.d.ts +1 -0
  31. package/components/push/push-alert.directive.d.ts +1 -1
  32. package/esm2015/components/carousel/carousel.directive.js +5 -5
  33. package/esm2015/components/input-count/input-count.component.js +20 -58
  34. package/esm2015/components/input-count/input-count.directive.js +3 -3
  35. package/esm2015/components/input-count/input-count.module.js +10 -2
  36. package/esm2015/components/input-files/max-size-rejection-error.pipe.js +2 -2
  37. package/esm2015/components/input-number/input-number.directive.js +2 -2
  38. package/esm2015/components/input-phone-international/tokens/countries-masks.js +2 -2
  39. package/esm2015/components/input-tag/input-tag.component.js +2 -2
  40. package/esm2015/components/input-time/input-time.component.js +6 -3
  41. package/esm2015/components/line-clamp/line-clamp.component.js +1 -1
  42. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +2 -2
  43. package/esm2015/components/push/push-alert.directive.js +5 -5
  44. package/esm2015/index.js +2 -1
  45. package/esm2015/services/dialog-form.service.js +32 -0
  46. package/esm2015/services/index.js +2 -0
  47. package/esm2015/services/taiga-ui-kit-services.js +5 -0
  48. package/esm2015/utils/miscellaneous/create-time-periods.js +3 -3
  49. package/fesm2015/taiga-ui-kit-components-carousel.js +4 -4
  50. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  51. package/fesm2015/taiga-ui-kit-components-input-count.js +29 -61
  52. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  53. package/fesm2015/taiga-ui-kit-components-input-files.js +1 -1
  54. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  55. package/fesm2015/taiga-ui-kit-components-input-number.js +1 -1
  56. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  57. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +1 -1
  58. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  59. package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
  60. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  61. package/fesm2015/taiga-ui-kit-components-input-time.js +5 -2
  62. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  63. package/fesm2015/taiga-ui-kit-components-line-clamp.js +1 -1
  64. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  65. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +1 -1
  66. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  67. package/fesm2015/taiga-ui-kit-components-push.js +4 -4
  68. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
  69. package/fesm2015/taiga-ui-kit-services.js +39 -0
  70. package/fesm2015/taiga-ui-kit-services.js.map +1 -0
  71. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +2 -2
  72. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  73. package/fesm2015/taiga-ui-kit.js +1 -0
  74. package/fesm2015/taiga-ui-kit.js.map +1 -1
  75. package/index.d.ts +1 -0
  76. package/package.json +4 -4
  77. package/services/dialog-form.service.d.ts +14 -0
  78. package/services/index.d.ts +1 -0
  79. package/services/package.json +10 -0
  80. package/services/taiga-ui-kit-services.d.ts +5 -0
@@ -18,7 +18,7 @@ export class TuiPdfViewerComponent {
18
18
  }
19
19
  }
20
20
  TuiPdfViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPdfViewerComponent, deps: [{ token: TUI_ANIMATION_OPTIONS }, { token: TUI_CLOSE_WORD }, { token: POLYMORPHEUS_CONTEXT }], target: i0.ɵɵFactoryTarget.Component });
21
- TuiPdfViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPdfViewerComponent, selector: "tui-pdf-viewer", host: { listeners: { "document:keydown.esc": "onKeyDownEsc()" }, properties: { "@tuiSlideInTop": "this.animation", "@tuiFadeIn": "this.animation" } }, ngImport: i0, template: "<header class=\"t-header\">\n <h2\n automation-id=\"tui-pdf-viewer__label\"\n class=\"t-title\"\n >\n {{ context.label }}\n </h2>\n <div class=\"t-actions\">\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.actions) as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n <button\n tuiIconButton\n shape=\"rounded\"\n appearance=\"\"\n size=\"s\"\n type=\"button\"\n icon=\"tuiIconCloseLarge\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"context.$implicit.complete()\"\n ></button>\n</header>\n<section class=\"t-content\">\n <!-- TODO: Polymorpheus fix type -->\n <iframe\n *polymorpheusOutlet=\"$any(context.content) as content; context: context\"\n title=\"pdf\"\n class=\"t-iframe\"\n [src]=\"content\"\n ></iframe>\n</section>\n", styles: [":host{display:block;width:100%;height:100%;box-sizing:border-box;color:var(--tui-text-01-night);background:#333639}.t-header{display:flex;align-items:center;height:4rem;padding:0 1rem 0 1.5625rem;box-shadow:inset 0 -1px #535659}.t-title{margin:0;font:var(--tui-font-text-m)}.t-actions{display:flex;margin-left:auto}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-left:.75rem;color:var(--tui-text-01-night);background:rgba(255,255,255,.32)}.t-close:hover{background:rgba(255,255,255,.4)}.t-content{height:calc(100% - 4rem);overflow:hidden}.t-iframe{width:100%;height:100%}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i3.AsyncPipe }, animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush });
21
+ TuiPdfViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPdfViewerComponent, selector: "tui-pdf-viewer", host: { listeners: { "document:keydown.esc": "onKeyDownEsc()" }, properties: { "@tuiSlideInTop": "this.animation", "@tuiFadeIn": "this.animation" } }, ngImport: i0, template: "<header class=\"t-header\">\n <h2\n automation-id=\"tui-pdf-viewer__label\"\n class=\"t-title\"\n >\n {{ context.label }}\n </h2>\n <div class=\"t-actions\">\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.actions) as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n <button\n tuiIconButton\n shape=\"rounded\"\n appearance=\"\"\n size=\"s\"\n type=\"button\"\n icon=\"tuiIconCloseLarge\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"context.$implicit.complete()\"\n ></button>\n</header>\n<section class=\"t-content\">\n <!-- TODO: Polymorpheus fix type -->\n <iframe\n *polymorpheusOutlet=\"$any(context.content) as content; context: context\"\n title=\"pdf\"\n class=\"t-iframe\"\n [src]=\"content\"\n ></iframe>\n</section>\n", styles: [":host{display:block;width:100%;height:100%;box-sizing:border-box;color:var(--tui-text-01-night);background:#333639}.t-header{display:flex;align-items:center;height:4rem;padding:0 1rem 0 1.5625rem;box-shadow:inset 0 -1px #535659}.t-title{margin:0;font:var(--tui-font-text-m);white-space:nowrap;text-overflow:ellipsis;padding-right:.3125rem;overflow:hidden}.t-actions{display:flex;margin-left:auto}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-left:.75rem;color:var(--tui-text-01-night);background:rgba(255,255,255,.32)}.t-close:hover{background:rgba(255,255,255,.4)}.t-content{height:calc(100% - 4rem);overflow:hidden}.t-iframe{width:100%;height:100%}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i3.AsyncPipe }, animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPdfViewerComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
47
47
  type: HostListener,
48
48
  args: ['document:keydown.esc']
49
49
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wZGYtdmlld2VyL3BkZi12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcGRmLXZpZXdlci9wZGYtdmlld2VyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNILHFCQUFxQixFQUNyQixjQUFjLEVBQ2QsU0FBUyxFQUNULGFBQWEsR0FDaEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBWTlELE1BQU0sT0FBTyxxQkFBcUI7SUFLOUIsWUFDb0QsT0FBeUIsRUFDeEMsVUFBOEIsRUFFdEQsT0FBNkM7UUFITixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUN4QyxlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQUV0RCxZQUFPLEdBQVAsT0FBTyxDQUFzQztRQU5qRCxjQUFTLEdBQUcsZ0JBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSyxJQUFJLENBQUMsT0FBTyxDQUFVLENBQUM7SUFPeEQsQ0FBQztJQUdKLFlBQVk7UUFDUixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN0QyxDQUFDOzttSEFmUSxxQkFBcUIsa0JBTWxCLHFCQUFxQixhQUNyQixjQUFjLGFBQ2Qsb0JBQW9CO3VHQVJ2QixxQkFBcUIsNk1DM0JsQywwOUJBa0NBLGtrQ0RUZ0IsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDOzRGQUU3QixxQkFBcUI7a0JBUGpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsV0FBVyxFQUFFLDRCQUE0QjtvQkFDekMsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3RDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDO2lCQUN6Qzs7MEJBT1EsTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUM1QixNQUFNOzJCQUFDLGNBQWM7OzBCQUNyQixNQUFNOzJCQUFDLG9CQUFvQjs0Q0FMdkIsU0FBUztzQkFGakIsV0FBVzt1QkFBQyxnQkFBZ0I7O3NCQUM1QixXQUFXO3VCQUFDLFlBQVk7Z0JBV3pCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FuaW1hdGlvbk9wdGlvbnN9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aURpYWxvZ30gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9BTklNQVRJT05fT1BUSU9OUyxcbiAgICBUVUlfQ0xPU0VfV09SRCxcbiAgICB0dWlGYWRlSW4sXG4gICAgdHVpU2xpZGVJblRvcCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQT0xZTU9SUEhFVVNfQ09OVEVYVH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpUGRmVmlld2VyT3B0aW9uc30gZnJvbSAnLi9wZGYtdmlld2VyLW9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1wZGYtdmlld2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGRmLXZpZXdlci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wZGYtdmlld2VyLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBhbmltYXRpb25zOiBbdHVpU2xpZGVJblRvcCwgdHVpRmFkZUluXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUGRmVmlld2VyQ29tcG9uZW50PEksIE8+IHtcbiAgICBASG9zdEJpbmRpbmcoJ0B0dWlTbGlkZUluVG9wJylcbiAgICBASG9zdEJpbmRpbmcoJ0B0dWlGYWRlSW4nKVxuICAgIHJlYWRvbmx5IGFuaW1hdGlvbiA9IHt2YWx1ZTogJycsIC4uLnRoaXMub3B0aW9uc30gYXMgY29uc3Q7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQW5pbWF0aW9uT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChUVUlfQ0xPU0VfV09SRCkgcmVhZG9ubHkgY2xvc2VXb3JkJDogT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICAgICBASW5qZWN0KFBPTFlNT1JQSEVVU19DT05URVhUKVxuICAgICAgICByZWFkb25seSBjb250ZXh0OiBUdWlEaWFsb2c8VHVpUGRmVmlld2VyT3B0aW9uczxJPiwgTz4sXG4gICAgKSB7fVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2MnKVxuICAgIG9uS2V5RG93bkVzYygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0LiRpbXBsaWNpdC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxoZWFkZXIgY2xhc3M9XCJ0LWhlYWRlclwiPlxuICAgIDxoMlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXBkZi12aWV3ZXJfX2xhYmVsXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRpdGxlXCJcbiAgICA+XG4gICAgICAgIHt7IGNvbnRleHQubGFiZWwgfX1cbiAgICA8L2gyPlxuICAgIDxkaXYgY2xhc3M9XCJ0LWFjdGlvbnNcIj5cbiAgICAgICAgPCEtLSBUT0RPOiBQb2x5bW9ycGhldXMgZml4IHR5cGUgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cIiRhbnkoY29udGV4dC5hY3Rpb25zKSBhcyB0ZXh0OyBjb250ZXh0OiBjb250ZXh0XCI+XG4gICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxidXR0b25cbiAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICBzaGFwZT1cInJvdW5kZWRcIlxuICAgICAgICBhcHBlYXJhbmNlPVwiXCJcbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgaWNvbj1cInR1aUljb25DbG9zZUxhcmdlXCJcbiAgICAgICAgY2xhc3M9XCJ0LWNsb3NlXCJcbiAgICAgICAgW3RpdGxlXT1cImNsb3NlV29yZCQgfCBhc3luY1wiXG4gICAgICAgIChjbGljayk9XCJjb250ZXh0LiRpbXBsaWNpdC5jb21wbGV0ZSgpXCJcbiAgICA+PC9idXR0b24+XG48L2hlYWRlcj5cbjxzZWN0aW9uIGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgPCEtLSBUT0RPOiBQb2x5bW9ycGhldXMgZml4IHR5cGUgLS0+XG4gICAgPGlmcmFtZVxuICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiJGFueShjb250ZXh0LmNvbnRlbnQpIGFzIGNvbnRlbnQ7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgICAgICB0aXRsZT1cInBkZlwiXG4gICAgICAgIGNsYXNzPVwidC1pZnJhbWVcIlxuICAgICAgICBbc3JjXT1cImNvbnRlbnRcIlxuICAgID48L2lmcmFtZT5cbjwvc2VjdGlvbj5cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wZGYtdmlld2VyL3BkZi12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcGRmLXZpZXdlci9wZGYtdmlld2VyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNILHFCQUFxQixFQUNyQixjQUFjLEVBQ2QsU0FBUyxFQUNULGFBQWEsR0FDaEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBWTlELE1BQU0sT0FBTyxxQkFBcUI7SUFLOUIsWUFDb0QsT0FBeUIsRUFDeEMsVUFBOEIsRUFFdEQsT0FBNkM7UUFITixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUN4QyxlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQUV0RCxZQUFPLEdBQVAsT0FBTyxDQUFzQztRQU5qRCxjQUFTLEdBQUcsZ0JBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSyxJQUFJLENBQUMsT0FBTyxDQUFVLENBQUM7SUFPeEQsQ0FBQztJQUdKLFlBQVk7UUFDUixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN0QyxDQUFDOzttSEFmUSxxQkFBcUIsa0JBTWxCLHFCQUFxQixhQUNyQixjQUFjLGFBQ2Qsb0JBQW9CO3VHQVJ2QixxQkFBcUIsNk1DM0JsQywwOUJBa0NBLG1wQ0RUZ0IsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDOzRGQUU3QixxQkFBcUI7a0JBUGpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsV0FBVyxFQUFFLDRCQUE0QjtvQkFDekMsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3RDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDO2lCQUN6Qzs7MEJBT1EsTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUM1QixNQUFNOzJCQUFDLGNBQWM7OzBCQUNyQixNQUFNOzJCQUFDLG9CQUFvQjs0Q0FMdkIsU0FBUztzQkFGakIsV0FBVzt1QkFBQyxnQkFBZ0I7O3NCQUM1QixXQUFXO3VCQUFDLFlBQVk7Z0JBV3pCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FuaW1hdGlvbk9wdGlvbnN9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aURpYWxvZ30gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9BTklNQVRJT05fT1BUSU9OUyxcbiAgICBUVUlfQ0xPU0VfV09SRCxcbiAgICB0dWlGYWRlSW4sXG4gICAgdHVpU2xpZGVJblRvcCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQT0xZTU9SUEhFVVNfQ09OVEVYVH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpUGRmVmlld2VyT3B0aW9uc30gZnJvbSAnLi9wZGYtdmlld2VyLW9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1wZGYtdmlld2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGRmLXZpZXdlci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wZGYtdmlld2VyLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBhbmltYXRpb25zOiBbdHVpU2xpZGVJblRvcCwgdHVpRmFkZUluXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUGRmVmlld2VyQ29tcG9uZW50PEksIE8+IHtcbiAgICBASG9zdEJpbmRpbmcoJ0B0dWlTbGlkZUluVG9wJylcbiAgICBASG9zdEJpbmRpbmcoJ0B0dWlGYWRlSW4nKVxuICAgIHJlYWRvbmx5IGFuaW1hdGlvbiA9IHt2YWx1ZTogJycsIC4uLnRoaXMub3B0aW9uc30gYXMgY29uc3Q7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQW5pbWF0aW9uT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChUVUlfQ0xPU0VfV09SRCkgcmVhZG9ubHkgY2xvc2VXb3JkJDogT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICAgICBASW5qZWN0KFBPTFlNT1JQSEVVU19DT05URVhUKVxuICAgICAgICByZWFkb25seSBjb250ZXh0OiBUdWlEaWFsb2c8VHVpUGRmVmlld2VyT3B0aW9uczxJPiwgTz4sXG4gICAgKSB7fVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2MnKVxuICAgIG9uS2V5RG93bkVzYygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0LiRpbXBsaWNpdC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxoZWFkZXIgY2xhc3M9XCJ0LWhlYWRlclwiPlxuICAgIDxoMlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXBkZi12aWV3ZXJfX2xhYmVsXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRpdGxlXCJcbiAgICA+XG4gICAgICAgIHt7IGNvbnRleHQubGFiZWwgfX1cbiAgICA8L2gyPlxuICAgIDxkaXYgY2xhc3M9XCJ0LWFjdGlvbnNcIj5cbiAgICAgICAgPCEtLSBUT0RPOiBQb2x5bW9ycGhldXMgZml4IHR5cGUgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cIiRhbnkoY29udGV4dC5hY3Rpb25zKSBhcyB0ZXh0OyBjb250ZXh0OiBjb250ZXh0XCI+XG4gICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxidXR0b25cbiAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICBzaGFwZT1cInJvdW5kZWRcIlxuICAgICAgICBhcHBlYXJhbmNlPVwiXCJcbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgaWNvbj1cInR1aUljb25DbG9zZUxhcmdlXCJcbiAgICAgICAgY2xhc3M9XCJ0LWNsb3NlXCJcbiAgICAgICAgW3RpdGxlXT1cImNsb3NlV29yZCQgfCBhc3luY1wiXG4gICAgICAgIChjbGljayk9XCJjb250ZXh0LiRpbXBsaWNpdC5jb21wbGV0ZSgpXCJcbiAgICA+PC9idXR0b24+XG48L2hlYWRlcj5cbjxzZWN0aW9uIGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgPCEtLSBUT0RPOiBQb2x5bW9ycGhldXMgZml4IHR5cGUgLS0+XG4gICAgPGlmcmFtZVxuICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiJGFueShjb250ZXh0LmNvbnRlbnQpIGFzIGNvbnRlbnQ7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgICAgICB0aXRsZT1cInBkZlwiXG4gICAgICAgIGNsYXNzPVwidC1pZnJhbWVcIlxuICAgICAgICBbc3JjXT1cImNvbnRlbnRcIlxuICAgID48L2lmcmFtZT5cbjwvc2VjdGlvbj5cbiJdfQ==
@@ -1,8 +1,8 @@
1
1
  import { ChangeDetectorRef, Directive, forwardRef, Inject, Input, Self, TemplateRef, } from '@angular/core';
2
- import { TuiDestroyService } from '@taiga-ui/cdk';
2
+ import { TuiDestroyService, tuiIfMap } from '@taiga-ui/cdk';
3
3
  import { PolymorpheusTemplate } from '@tinkoff/ng-polymorpheus';
4
- import { EMPTY, Subject } from 'rxjs';
5
- import { switchMap, takeUntil } from 'rxjs/operators';
4
+ import { Subject } from 'rxjs';
5
+ import { takeUntil } from 'rxjs/operators';
6
6
  // TODO: find the best way for prevent cycle
7
7
  // eslint-disable-next-line import/no-cycle
8
8
  import { TuiPushService } from './push.service';
@@ -14,7 +14,7 @@ export class TuiPushAlertDirective extends PolymorpheusTemplate {
14
14
  super(template, changeDetectorRef);
15
15
  this.show$ = new Subject();
16
16
  this.show$
17
- .pipe(switchMap(show => (show ? push.open(this) : EMPTY)), takeUntil(destroy$))
17
+ .pipe(tuiIfMap(() => push.open(this)), takeUntil(destroy$))
18
18
  .subscribe();
19
19
  }
20
20
  set tuiPush(show) {
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
46
46
  }] }]; }, propDecorators: { tuiPush: [{
47
47
  type: Input
48
48
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC1hbGVydC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wdXNoL3B1c2gtYWxlcnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLElBQUksRUFDSixXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBQyxLQUFLLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsNENBQTRDO0FBQzVDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFNOUMsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG9CQUF5QjtJQVFoRSxZQUN5QixRQUEwQixFQUNwQixpQkFBb0MsRUFDNUIsUUFBNkIsRUFDdEIsSUFBb0I7UUFFOUQsS0FBSyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBYnRCLFVBQUssR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBZTVDLElBQUksQ0FBQyxLQUFLO2FBQ0wsSUFBSSxDQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUNuRCxTQUFTLENBQUMsUUFBUSxDQUFDLENBQ3RCO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQW5CRCxJQUNJLE9BQU8sQ0FBQyxJQUFhO1FBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7O21IQU5RLHFCQUFxQixrQkFTbEIsV0FBVyxhQUNYLGlCQUFpQixhQUNULGlCQUFpQix5QkFDekIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQzt1R0FabkMscUJBQXFCLG9FQUZuQixDQUFDLGlCQUFpQixDQUFDOzRGQUVyQixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUNqQzs7MEJBVVEsTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixJQUFJOzswQkFBSSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ2hDLE1BQU07MkJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQzs0Q0FSeEMsT0FBTztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgU2VsZixcbiAgICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aURlc3Ryb3lTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7UG9seW1vcnBoZXVzVGVtcGxhdGV9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge0VNUFRZLCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7c3dpdGNoTWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gVE9ETzogZmluZCB0aGUgYmVzdCB3YXkgZm9yIHByZXZlbnQgY3ljbGVcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7VHVpUHVzaFNlcnZpY2V9IGZyb20gJy4vcHVzaC5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpUHVzaF0nLFxuICAgIHByb3ZpZGVyczogW1R1aURlc3Ryb3lTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUHVzaEFsZXJ0RGlyZWN0aXZlIGV4dGVuZHMgUG9seW1vcnBoZXVzVGVtcGxhdGU8YW55PiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzaG93JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0dWlQdXNoKHNob3c6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zaG93JC5uZXh0KHNob3cpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRlbXBsYXRlUmVmKSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PixcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAU2VsZigpIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHVua25vd24+LFxuICAgICAgICBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gVHVpUHVzaFNlcnZpY2UpKSBwdXNoOiBUdWlQdXNoU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIodGVtcGxhdGUsIGNoYW5nZURldGVjdG9yUmVmKTtcblxuICAgICAgICB0aGlzLnNob3ckXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoc2hvdyA9PiAoc2hvdyA/IHB1c2gub3Blbih0aGlzKSA6IEVNUFRZKSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG59XG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC1hbGVydC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wdXNoL3B1c2gtYWxlcnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLElBQUksRUFDSixXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQWEsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6Qyw0Q0FBNEM7QUFDNUMsMkNBQTJDO0FBQzNDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU05QyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsb0JBQW9CO0lBUTNELFlBQ3lCLFFBQTBCLEVBQ3BCLGlCQUFvQyxFQUM1QixRQUE2QixFQUN0QixJQUFvQjtRQUU5RCxLQUFLLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFidEIsVUFBSyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFlNUMsSUFBSSxDQUFDLEtBQUs7YUFDTCxJQUFJLENBQ0QsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDL0IsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUN0QjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFuQkQsSUFDSSxPQUFPLENBQUMsSUFBYTtRQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDOzttSEFOUSxxQkFBcUIsa0JBU2xCLFdBQVcsYUFDWCxpQkFBaUIsYUFDVCxpQkFBaUIseUJBQ3pCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7dUdBWm5DLHFCQUFxQixvRUFGbkIsQ0FBQyxpQkFBaUIsQ0FBQzs0RkFFckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxXQUFXO29CQUNyQixTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDakM7OzBCQVVRLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDeEIsSUFBSTs7MEJBQUksTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUNoQyxNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7NENBUnhDLE9BQU87c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlEZXN0cm95U2VydmljZSwgdHVpSWZNYXB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNUZW1wbGF0ZX0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBUT0RPOiBmaW5kIHRoZSBiZXN0IHdheSBmb3IgcHJldmVudCBjeWNsZVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHtUdWlQdXNoU2VydmljZX0gZnJvbSAnLi9wdXNoLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlQdXNoXScsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQdXNoQWxlcnREaXJlY3RpdmUgZXh0ZW5kcyBQb2x5bW9ycGhldXNUZW1wbGF0ZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzaG93JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0dWlQdXNoKHNob3c6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zaG93JC5uZXh0KHNob3cpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRlbXBsYXRlUmVmKSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PixcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAU2VsZigpIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHVua25vd24+LFxuICAgICAgICBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gVHVpUHVzaFNlcnZpY2UpKSBwdXNoOiBUdWlQdXNoU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIodGVtcGxhdGUsIGNoYW5nZURldGVjdG9yUmVmKTtcblxuICAgICAgICB0aGlzLnNob3ckXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0dWlJZk1hcCgoKSA9PiBwdXNoLm9wZW4odGhpcykpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbChkZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxufVxuIl19
package/esm2015/index.js CHANGED
@@ -6,8 +6,9 @@ export * from '@taiga-ui/kit/interfaces';
6
6
  export * from '@taiga-ui/kit/internal';
7
7
  export * from '@taiga-ui/kit/pipes';
8
8
  export * from '@taiga-ui/kit/providers';
9
+ export * from '@taiga-ui/kit/services';
9
10
  export * from '@taiga-ui/kit/tokens';
10
11
  export * from '@taiga-ui/kit/types';
11
12
  export * from '@taiga-ui/kit/utils';
12
13
  export * from '@taiga-ui/kit/validators';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9raXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NsYXNzZXMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvZGlyZWN0aXZlcyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2ludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9pbnRlcm5hbCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L3BpcGVzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L3ZhbGlkYXRvcnMnO1xuIl19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9raXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY2xhc3Nlcyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2ludGVybmFsJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvcGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9wcm92aWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC92YWxpZGF0b3JzJztcbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { TuiDialogService } from '@taiga-ui/core';
3
+ import { TUI_PROMPT } from '@taiga-ui/kit/components';
4
+ import { defer, of } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@taiga-ui/core";
7
+ export class TuiDialogFormService {
8
+ constructor(dialogService) {
9
+ this.dialogService = dialogService;
10
+ this.dirty = false;
11
+ }
12
+ markAsDirty() {
13
+ this.dirty = true;
14
+ }
15
+ markAsPristine() {
16
+ this.dirty = false;
17
+ }
18
+ withPrompt(options) {
19
+ return defer(() => this.dirty
20
+ ? this.dialogService.open(TUI_PROMPT, Object.assign({ size: `s` }, options))
21
+ : of(true));
22
+ }
23
+ }
24
+ TuiDialogFormService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDialogFormService, deps: [{ token: TuiDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
25
+ TuiDialogFormService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDialogFormService });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDialogFormService, decorators: [{
27
+ type: Injectable
28
+ }], ctorParameters: function () { return [{ type: i1.TuiDialogService, decorators: [{
29
+ type: Inject,
30
+ args: [TuiDialogService]
31
+ }] }]; } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9zZXJ2aWNlcy9kaWFsb2ctZm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBbUIsZ0JBQWdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUMsVUFBVSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxLQUFLLEVBQWMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7QUFHM0MsTUFBTSxPQUFPLG9CQUFvQjtJQUc3QixZQUMrQyxhQUErQjtRQUEvQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFIdEUsVUFBSyxHQUFHLEtBQUssQ0FBQztJQUluQixDQUFDO0lBRUosV0FBVztRQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFpRDtRQUN4RCxPQUFPLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FDZCxJQUFJLENBQUMsS0FBSztZQUNOLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBVSxVQUFVLGtCQUN2QyxJQUFJLEVBQUUsR0FBRyxJQUNOLE9BQU8sRUFDWjtZQUNKLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQ2pCLENBQUM7SUFDTixDQUFDOztrSEF4QlEsb0JBQW9CLGtCQUlqQixnQkFBZ0I7c0hBSm5CLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVOzswQkFLRixNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpRGlhbG9nT3B0aW9ucywgVHVpRGlhbG9nU2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfUFJPTVBULCBUdWlQcm9tcHREYXRhfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHtkZWZlciwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHVpRGlhbG9nRm9ybVNlcnZpY2Uge1xuICAgIHByaXZhdGUgZGlydHkgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aURpYWxvZ1NlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZTogVHVpRGlhbG9nU2VydmljZSxcbiAgICApIHt9XG5cbiAgICBtYXJrQXNEaXJ0eSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXJ0eSA9IHRydWU7XG4gICAgfVxuXG4gICAgbWFya0FzUHJpc3RpbmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlydHkgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB3aXRoUHJvbXB0KG9wdGlvbnM6IFBhcnRpYWw8VHVpRGlhbG9nT3B0aW9uczxUdWlQcm9tcHREYXRhPj4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIGRlZmVyKCgpID0+XG4gICAgICAgICAgICB0aGlzLmRpcnR5XG4gICAgICAgICAgICAgICAgPyB0aGlzLmRpYWxvZ1NlcnZpY2Uub3Blbjxib29sZWFuPihUVUlfUFJPTVBULCB7XG4gICAgICAgICAgICAgICAgICAgICAgc2l6ZTogYHNgLFxuICAgICAgICAgICAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIDogb2YodHJ1ZSksXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './dialog-form.service';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGlhbG9nLWZvcm0uc2VydmljZSc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWkta2l0LXNlcnZpY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L3NlcnZpY2VzL3RhaWdhLXVpLWtpdC1zZXJ2aWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -2,11 +2,11 @@ import { HOURS_IN_DAY, TuiTime } from '@taiga-ui/cdk';
2
2
  export function tuiCreateTimePeriods(minHour = 0, maxHour = HOURS_IN_DAY, minutes = [0, 30]) {
3
3
  const timeArray = [];
4
4
  for (let i = minHour; i < maxHour; i++) {
5
- for (let j = 0; j < minutes.length; j++) {
6
- const time = new TuiTime(i, minutes[j]);
5
+ for (const minute of minutes) {
6
+ const time = new TuiTime(i, minute);
7
7
  timeArray.push(time);
8
8
  }
9
9
  }
10
10
  return timeArray;
11
11
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRpbWUtcGVyaW9kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC91dGlscy9taXNjZWxsYW5lb3VzL2NyZWF0ZS10aW1lLXBlcmlvZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxPQUFPLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFcEQsTUFBTSxVQUFVLG9CQUFvQixDQUNoQyxVQUFrQixDQUFDLEVBQ25CLFVBQWtCLFlBQVksRUFDOUIsVUFBNkIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBRXBDLE1BQU0sU0FBUyxHQUFjLEVBQUUsQ0FBQztJQUVoQyxLQUFLLElBQUksQ0FBQyxHQUFHLE9BQU8sRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3BDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3JDLE1BQU0sSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV4QyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO0tBQ0o7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIT1VSU19JTl9EQVksIFR1aVRpbWV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpQ3JlYXRlVGltZVBlcmlvZHMoXG4gICAgbWluSG91cjogbnVtYmVyID0gMCxcbiAgICBtYXhIb3VyOiBudW1iZXIgPSBIT1VSU19JTl9EQVksXG4gICAgbWludXRlczogcmVhZG9ubHkgbnVtYmVyW10gPSBbMCwgMzBdLFxuKTogcmVhZG9ubHkgVHVpVGltZVtdIHtcbiAgICBjb25zdCB0aW1lQXJyYXk6IFR1aVRpbWVbXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IG1pbkhvdXI7IGkgPCBtYXhIb3VyOyBpKyspIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBtaW51dGVzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICBjb25zdCB0aW1lID0gbmV3IFR1aVRpbWUoaSwgbWludXRlc1tqXSk7XG5cbiAgICAgICAgICAgIHRpbWVBcnJheS5wdXNoKHRpbWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRpbWVBcnJheTtcbn1cbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRpbWUtcGVyaW9kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC91dGlscy9taXNjZWxsYW5lb3VzL2NyZWF0ZS10aW1lLXBlcmlvZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxPQUFPLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFcEQsTUFBTSxVQUFVLG9CQUFvQixDQUNoQyxVQUFrQixDQUFDLEVBQ25CLFVBQWtCLFlBQVksRUFDOUIsVUFBNkIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBRXBDLE1BQU0sU0FBUyxHQUFjLEVBQUUsQ0FBQztJQUVoQyxLQUFLLElBQUksQ0FBQyxHQUFHLE9BQU8sRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3BDLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO1lBQzFCLE1BQU0sSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUVwQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO0tBQ0o7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIT1VSU19JTl9EQVksIFR1aVRpbWV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpQ3JlYXRlVGltZVBlcmlvZHMoXG4gICAgbWluSG91cjogbnVtYmVyID0gMCxcbiAgICBtYXhIb3VyOiBudW1iZXIgPSBIT1VSU19JTl9EQVksXG4gICAgbWludXRlczogcmVhZG9ubHkgbnVtYmVyW10gPSBbMCwgMzBdLFxuKTogcmVhZG9ubHkgVHVpVGltZVtdIHtcbiAgICBjb25zdCB0aW1lQXJyYXk6IFR1aVRpbWVbXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IG1pbkhvdXI7IGkgPCBtYXhIb3VyOyBpKyspIHtcbiAgICAgICAgZm9yIChjb25zdCBtaW51dGUgb2YgbWludXRlcykge1xuICAgICAgICAgICAgY29uc3QgdGltZSA9IG5ldyBUdWlUaW1lKGksIG1pbnV0ZSk7XG5cbiAgICAgICAgICAgIHRpbWVBcnJheS5wdXNoKHRpbWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRpbWVBcnJheTtcbn1cbiJdfQ==
@@ -2,15 +2,15 @@ import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
3
  import { ElementRef, Directive, Inject, Output, Input, EventEmitter, ChangeDetectorRef, TemplateRef, Component, ChangeDetectionStrategy, HostBinding, ContentChildren, HostListener, NgModule } from '@angular/core';
4
4
  import * as i4 from '@taiga-ui/cdk';
5
- import { tuiTypedFromEvent, ALWAYS_FALSE_HANDLER, ALWAYS_TRUE_HANDLER, EMPTY_QUERY, tuiClamp, TUI_IS_MOBILE, TuiItemDirective, tuiDefaultProp, tuiPure, TuiPanModule, TuiSwipeModule, TuiItemModule } from '@taiga-ui/cdk';
5
+ import { tuiTypedFromEvent, ALWAYS_FALSE_HANDLER, ALWAYS_TRUE_HANDLER, tuiIfMap, EMPTY_QUERY, tuiClamp, TUI_IS_MOBILE, TuiItemDirective, tuiDefaultProp, tuiPure, TuiPanModule, TuiSwipeModule, TuiItemModule } from '@taiga-ui/cdk';
6
6
  import * as i1$1 from '@angular/common';
7
7
  import { CommonModule } from '@angular/common';
8
- import { filter, throttleTime, map, tap, switchMap } from 'rxjs/operators';
8
+ import { filter, throttleTime, map, tap } from 'rxjs/operators';
9
9
  import * as i3 from '@ng-web-apis/intersection-observer';
10
10
  import { IntersectionObserverModule } from '@ng-web-apis/intersection-observer';
11
11
  import { PAGE_VISIBILITY } from '@ng-web-apis/common';
12
12
  import * as i1 from 'rxjs';
13
- import { Observable, BehaviorSubject, merge, combineLatest, interval, EMPTY } from 'rxjs';
13
+ import { Observable, BehaviorSubject, merge, combineLatest, interval } from 'rxjs';
14
14
  import { tuiButtonOptionsProvider } from '@taiga-ui/core';
15
15
 
16
16
  class TuiCarouselScrollDirective {
@@ -43,7 +43,7 @@ class TuiCarouselDirective extends Observable {
43
43
  this.visible$ = visible$;
44
44
  this.duration$ = new BehaviorSubject(0);
45
45
  this.running$ = merge(tuiTypedFromEvent(this.elementRef.nativeElement, 'mouseenter').pipe(map(ALWAYS_FALSE_HANDLER)), tuiTypedFromEvent(this.elementRef.nativeElement, 'touchstart').pipe(map(ALWAYS_FALSE_HANDLER)), tuiTypedFromEvent(this.elementRef.nativeElement, 'touchend').pipe(map(ALWAYS_TRUE_HANDLER)), tuiTypedFromEvent(this.elementRef.nativeElement, 'mouseleave').pipe(map(ALWAYS_TRUE_HANDLER)), this.visible$);
46
- this.output$ = combineLatest([this.duration$, this.running$]).pipe(switchMap(([duration, running]) => duration && running ? interval(duration) : EMPTY));
46
+ this.output$ = combineLatest([this.duration$, this.running$]).pipe(tuiIfMap(([duration]) => interval(duration), values => values.every(Boolean)));
47
47
  }
48
48
  set duration(duration) {
49
49
  this.duration$.next(duration);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-carousel.js","sources":["../../../projects/kit/components/carousel/carousel-scroll.directive.ts","../../../projects/kit/components/carousel/carousel.directive.ts","../../../projects/kit/components/carousel/carousel-autoscroll.directive.ts","../../../projects/kit/components/carousel/carousel.component.ts","../../../projects/kit/components/carousel/carousel.template.html","../../../projects/kit/components/carousel/carousel-buttons.directive.ts","../../../projects/kit/components/carousel/carousel.module.ts","../../../projects/kit/components/carousel/taiga-ui-kit-components-carousel.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {filter, map, tap, throttleTime} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiCarouselScroll]',\n})\nexport class TuiCarouselScrollDirective {\n @Output()\n readonly tuiCarouselScroll = tuiTypedFromEvent(\n this.elementRef.nativeElement,\n 'wheel',\n ).pipe(\n filter(({deltaX}) => Math.abs(deltaX) > 20),\n throttleTime(500),\n map(({deltaX}) => Math.sign(deltaX)),\n tap(() => {\n // So we always have space to scroll and overflow-behavior saves us from back nav\n this.elementRef.nativeElement.scrollLeft = 10;\n }),\n );\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n}\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {PAGE_VISIBILITY} from '@ng-web-apis/common';\nimport {\n ALWAYS_FALSE_HANDLER,\n ALWAYS_TRUE_HANDLER,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {BehaviorSubject, combineLatest, EMPTY, interval, merge, Observable} from 'rxjs';\nimport {map, switchMap} from 'rxjs/operators';\n\n@Directive({\n selector: 'tui-carousel',\n})\nexport class TuiCarouselDirective extends Observable<unknown> {\n private readonly duration$ = new BehaviorSubject(0);\n\n private readonly running$ = merge(\n tuiTypedFromEvent(this.elementRef.nativeElement, 'mouseenter').pipe(\n map(ALWAYS_FALSE_HANDLER),\n ),\n tuiTypedFromEvent(this.elementRef.nativeElement, 'touchstart').pipe(\n map(ALWAYS_FALSE_HANDLER),\n ),\n tuiTypedFromEvent(this.elementRef.nativeElement, 'touchend').pipe(\n map(ALWAYS_TRUE_HANDLER),\n ),\n tuiTypedFromEvent(this.elementRef.nativeElement, 'mouseleave').pipe(\n map(ALWAYS_TRUE_HANDLER),\n ),\n this.visible$,\n );\n\n private readonly output$ = combineLatest([this.duration$, this.running$]).pipe(\n switchMap(([duration, running]) =>\n duration && running ? interval(duration) : EMPTY,\n ),\n );\n\n @Input()\n set duration(duration: number) {\n this.duration$.next(duration);\n }\n\n @Input()\n set index(_: number) {\n this.duration$.next(this.duration$.value);\n }\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(PAGE_VISIBILITY) private readonly visible$: Observable<boolean>,\n ) {\n super(subscriber => this.output$.subscribe(subscriber));\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiCarouselDirective} from './carousel.directive';\n\n@Directive({\n selector: '[tuiCarouselAutoscroll]',\n outputs: ['tuiCarouselAutoscroll'],\n})\nexport class TuiCarouselAutoscrollDirective {\n constructor(\n @Inject(TuiCarouselDirective) readonly tuiCarouselAutoscroll: Observable<unknown>,\n ) {}\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n TUI_IS_MOBILE,\n tuiClamp,\n tuiDefaultProp,\n TuiItemDirective,\n tuiPure,\n TuiSwipeDirection,\n} from '@taiga-ui/cdk';\n\n@Component({\n selector: 'tui-carousel',\n templateUrl: './carousel.template.html',\n styleUrls: ['./carousel.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCarouselComponent {\n private translate = 0;\n\n @Input()\n @HostBinding('class._draggable')\n @tuiDefaultProp()\n draggable = false;\n\n @Input()\n @tuiDefaultProp()\n itemsCount = 1;\n\n @Input()\n @tuiDefaultProp()\n index = 0;\n\n @Output()\n readonly indexChange = new EventEmitter<number>();\n\n @ContentChildren(TuiItemDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<Record<string, unknown>>> = EMPTY_QUERY;\n\n @HostBinding('class._transitioned')\n transitioned = true;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n ) {}\n\n get transform(): string {\n const x = this.transitioned ? this.computedTranslate : this.translate;\n\n return `translateX(${100 * x}%)`;\n }\n\n @HostListener('touchstart', ['false'])\n @HostListener('touchend', ['true'])\n @HostListener('mousedown', ['false'])\n @HostListener('document:mouseup.silent', ['true'])\n onTransitioned(transitioned: boolean): void {\n this.transitioned = transitioned;\n\n if (!transitioned) {\n this.translate = this.computedTranslate;\n }\n }\n\n @tuiPure\n getStyle(itemsCount: number): Partial<CSSStyleDeclaration> {\n const percent = `${100 / itemsCount}%`;\n\n return {\n flexBasis: percent,\n minWidth: percent,\n maxWidth: percent,\n };\n }\n\n next(): void {\n this.updateIndex(this.index + 1);\n }\n\n prev(): void {\n this.updateIndex(this.index - 1);\n }\n\n isDisabled(index: number): boolean {\n return index < this.index || index > this.index + this.itemsCount;\n }\n\n onIntersection({intersectionRatio}: IntersectionObserverEntry, index: number): void {\n if (intersectionRatio && intersectionRatio !== 1 && !this.transitioned) {\n this.updateIndex(index - Math.floor(this.itemsCount / 2));\n }\n }\n\n onScroll(delta: number): void {\n if (!this.isMobile) {\n this.updateIndex(this.index + delta);\n }\n }\n\n onPan(x: number): void {\n if (!this.computedDraggable) {\n return;\n }\n\n const {clientWidth} = this.elementRef.nativeElement;\n const min = 1 - this.items.length / this.itemsCount;\n\n this.translate = tuiClamp(x / clientWidth + this.translate, min, 0);\n }\n\n onSwipe(direction: TuiSwipeDirection): void {\n if (direction === 'left') {\n this.next();\n } else if (direction === 'right') {\n this.prev();\n }\n }\n\n onAutoscroll(): void {\n this.updateIndex(this.index === this.items.length - 1 ? 0 : this.index + 1);\n }\n\n private get computedTranslate(): number {\n return -this.index / this.itemsCount;\n }\n\n private get computedDraggable(): boolean {\n return this.isMobile || this.draggable;\n }\n\n private updateIndex(index: number): void {\n this.index = tuiClamp(index, 0, this.items.length - 1);\n this.indexChange.emit(this.index);\n this.changeDetectorRef.markForCheck();\n }\n}\n","<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<div\n class=\"t-scroller\"\n (tuiCarouselScroll)=\"onScroll($event)\"\n>\n <div\n waIntersectionRoot\n waIntersectionObserver\n waIntersectionThreshold=\"0,1\"\n waIntersectionRootMargin=\"100px 1000000px 100px -51%\"\n class=\"t-wrapper\"\n >\n <div\n class=\"t-items\"\n [style.transform]=\"transform\"\n (tuiPan)=\"onPan($event[0])\"\n (tuiSwipe)=\"onSwipe($event.direction)\"\n (tuiCarouselAutoscroll)=\"onAutoscroll()\"\n >\n <fieldset\n *ngFor=\"let item of items; let i = index\"\n class=\"t-item\"\n [disabled]=\"isDisabled(i)\"\n [ngStyle]=\"getStyle(itemsCount)\"\n (waIntersectionObservee)=\"onIntersection($event[0], i)\"\n >\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </fieldset>\n </div>\n </div>\n</div>\n","import {Directive} from '@angular/core';\nimport {TuiAppearance, tuiButtonOptionsProvider} from '@taiga-ui/core';\n\n@Directive({\n selector: '[tuiCarouselButtons]',\n providers: [\n tuiButtonOptionsProvider({\n appearance: TuiAppearance.Secondary,\n shape: 'rounded',\n size: 'm',\n }),\n ],\n})\nexport class TuiCarouselButtonsDirective {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {IntersectionObserverModule} from '@ng-web-apis/intersection-observer';\nimport {\n TuiItemDirective,\n TuiItemModule,\n TuiPanModule,\n TuiSwipeModule,\n} from '@taiga-ui/cdk';\n\nimport {TuiCarouselComponent} from './carousel.component';\nimport {TuiCarouselDirective} from './carousel.directive';\nimport {TuiCarouselAutoscrollDirective} from './carousel-autoscroll.directive';\nimport {TuiCarouselButtonsDirective} from './carousel-buttons.directive';\nimport {TuiCarouselScrollDirective} from './carousel-scroll.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n IntersectionObserverModule,\n TuiPanModule,\n TuiSwipeModule,\n TuiItemModule,\n ],\n declarations: [\n TuiCarouselComponent,\n TuiCarouselDirective,\n TuiCarouselButtonsDirective,\n TuiCarouselAutoscrollDirective,\n TuiCarouselScrollDirective,\n ],\n exports: [\n TuiCarouselComponent,\n TuiCarouselDirective,\n TuiCarouselButtonsDirective,\n TuiItemDirective,\n ],\n})\nexport class TuiCarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.TuiCarouselScrollDirective","i5.TuiCarouselAutoscrollDirective"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-carousel.js","sources":["../../../projects/kit/components/carousel/carousel-scroll.directive.ts","../../../projects/kit/components/carousel/carousel.directive.ts","../../../projects/kit/components/carousel/carousel-autoscroll.directive.ts","../../../projects/kit/components/carousel/carousel.component.ts","../../../projects/kit/components/carousel/carousel.template.html","../../../projects/kit/components/carousel/carousel-buttons.directive.ts","../../../projects/kit/components/carousel/carousel.module.ts","../../../projects/kit/components/carousel/taiga-ui-kit-components-carousel.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {filter, map, tap, throttleTime} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiCarouselScroll]',\n})\nexport class TuiCarouselScrollDirective {\n @Output()\n readonly tuiCarouselScroll = tuiTypedFromEvent(\n this.elementRef.nativeElement,\n 'wheel',\n ).pipe(\n filter(({deltaX}) => Math.abs(deltaX) > 20),\n throttleTime(500),\n map(({deltaX}) => Math.sign(deltaX)),\n tap(() => {\n // So we always have space to scroll and overflow-behavior saves us from back nav\n this.elementRef.nativeElement.scrollLeft = 10;\n }),\n );\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n}\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {PAGE_VISIBILITY} from '@ng-web-apis/common';\nimport {\n ALWAYS_FALSE_HANDLER,\n ALWAYS_TRUE_HANDLER,\n tuiIfMap,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {BehaviorSubject, combineLatest, interval, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Directive({\n selector: 'tui-carousel',\n})\nexport class TuiCarouselDirective extends Observable<unknown> {\n private readonly duration$ = new BehaviorSubject(0);\n\n private readonly running$ = merge(\n tuiTypedFromEvent(this.elementRef.nativeElement, 'mouseenter').pipe(\n map(ALWAYS_FALSE_HANDLER),\n ),\n tuiTypedFromEvent(this.elementRef.nativeElement, 'touchstart').pipe(\n map(ALWAYS_FALSE_HANDLER),\n ),\n tuiTypedFromEvent(this.elementRef.nativeElement, 'touchend').pipe(\n map(ALWAYS_TRUE_HANDLER),\n ),\n tuiTypedFromEvent(this.elementRef.nativeElement, 'mouseleave').pipe(\n map(ALWAYS_TRUE_HANDLER),\n ),\n this.visible$,\n );\n\n private readonly output$ = combineLatest([this.duration$, this.running$]).pipe(\n tuiIfMap(\n ([duration]) => interval(duration),\n values => values.every(Boolean),\n ),\n );\n\n @Input()\n set duration(duration: number) {\n this.duration$.next(duration);\n }\n\n @Input()\n set index(_: number) {\n this.duration$.next(this.duration$.value);\n }\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(PAGE_VISIBILITY) private readonly visible$: Observable<boolean>,\n ) {\n super(subscriber => this.output$.subscribe(subscriber));\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiCarouselDirective} from './carousel.directive';\n\n@Directive({\n selector: '[tuiCarouselAutoscroll]',\n outputs: ['tuiCarouselAutoscroll'],\n})\nexport class TuiCarouselAutoscrollDirective {\n constructor(\n @Inject(TuiCarouselDirective) readonly tuiCarouselAutoscroll: Observable<unknown>,\n ) {}\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n TUI_IS_MOBILE,\n tuiClamp,\n tuiDefaultProp,\n TuiItemDirective,\n tuiPure,\n TuiSwipeDirection,\n} from '@taiga-ui/cdk';\n\n@Component({\n selector: 'tui-carousel',\n templateUrl: './carousel.template.html',\n styleUrls: ['./carousel.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCarouselComponent {\n private translate = 0;\n\n @Input()\n @HostBinding('class._draggable')\n @tuiDefaultProp()\n draggable = false;\n\n @Input()\n @tuiDefaultProp()\n itemsCount = 1;\n\n @Input()\n @tuiDefaultProp()\n index = 0;\n\n @Output()\n readonly indexChange = new EventEmitter<number>();\n\n @ContentChildren(TuiItemDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<Record<string, unknown>>> = EMPTY_QUERY;\n\n @HostBinding('class._transitioned')\n transitioned = true;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n ) {}\n\n get transform(): string {\n const x = this.transitioned ? this.computedTranslate : this.translate;\n\n return `translateX(${100 * x}%)`;\n }\n\n @HostListener('touchstart', ['false'])\n @HostListener('touchend', ['true'])\n @HostListener('mousedown', ['false'])\n @HostListener('document:mouseup.silent', ['true'])\n onTransitioned(transitioned: boolean): void {\n this.transitioned = transitioned;\n\n if (!transitioned) {\n this.translate = this.computedTranslate;\n }\n }\n\n @tuiPure\n getStyle(itemsCount: number): Partial<CSSStyleDeclaration> {\n const percent = `${100 / itemsCount}%`;\n\n return {\n flexBasis: percent,\n minWidth: percent,\n maxWidth: percent,\n };\n }\n\n next(): void {\n this.updateIndex(this.index + 1);\n }\n\n prev(): void {\n this.updateIndex(this.index - 1);\n }\n\n isDisabled(index: number): boolean {\n return index < this.index || index > this.index + this.itemsCount;\n }\n\n onIntersection({intersectionRatio}: IntersectionObserverEntry, index: number): void {\n if (intersectionRatio && intersectionRatio !== 1 && !this.transitioned) {\n this.updateIndex(index - Math.floor(this.itemsCount / 2));\n }\n }\n\n onScroll(delta: number): void {\n if (!this.isMobile) {\n this.updateIndex(this.index + delta);\n }\n }\n\n onPan(x: number): void {\n if (!this.computedDraggable) {\n return;\n }\n\n const {clientWidth} = this.elementRef.nativeElement;\n const min = 1 - this.items.length / this.itemsCount;\n\n this.translate = tuiClamp(x / clientWidth + this.translate, min, 0);\n }\n\n onSwipe(direction: TuiSwipeDirection): void {\n if (direction === 'left') {\n this.next();\n } else if (direction === 'right') {\n this.prev();\n }\n }\n\n onAutoscroll(): void {\n this.updateIndex(this.index === this.items.length - 1 ? 0 : this.index + 1);\n }\n\n private get computedTranslate(): number {\n return -this.index / this.itemsCount;\n }\n\n private get computedDraggable(): boolean {\n return this.isMobile || this.draggable;\n }\n\n private updateIndex(index: number): void {\n this.index = tuiClamp(index, 0, this.items.length - 1);\n this.indexChange.emit(this.index);\n this.changeDetectorRef.markForCheck();\n }\n}\n","<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<div\n class=\"t-scroller\"\n (tuiCarouselScroll)=\"onScroll($event)\"\n>\n <div\n waIntersectionRoot\n waIntersectionObserver\n waIntersectionThreshold=\"0,1\"\n waIntersectionRootMargin=\"100px 1000000px 100px -51%\"\n class=\"t-wrapper\"\n >\n <div\n class=\"t-items\"\n [style.transform]=\"transform\"\n (tuiPan)=\"onPan($event[0])\"\n (tuiSwipe)=\"onSwipe($event.direction)\"\n (tuiCarouselAutoscroll)=\"onAutoscroll()\"\n >\n <fieldset\n *ngFor=\"let item of items; let i = index\"\n class=\"t-item\"\n [disabled]=\"isDisabled(i)\"\n [ngStyle]=\"getStyle(itemsCount)\"\n (waIntersectionObservee)=\"onIntersection($event[0], i)\"\n >\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </fieldset>\n </div>\n </div>\n</div>\n","import {Directive} from '@angular/core';\nimport {TuiAppearance, tuiButtonOptionsProvider} from '@taiga-ui/core';\n\n@Directive({\n selector: '[tuiCarouselButtons]',\n providers: [\n tuiButtonOptionsProvider({\n appearance: TuiAppearance.Secondary,\n shape: 'rounded',\n size: 'm',\n }),\n ],\n})\nexport class TuiCarouselButtonsDirective {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {IntersectionObserverModule} from '@ng-web-apis/intersection-observer';\nimport {\n TuiItemDirective,\n TuiItemModule,\n TuiPanModule,\n TuiSwipeModule,\n} from '@taiga-ui/cdk';\n\nimport {TuiCarouselComponent} from './carousel.component';\nimport {TuiCarouselDirective} from './carousel.directive';\nimport {TuiCarouselAutoscrollDirective} from './carousel-autoscroll.directive';\nimport {TuiCarouselButtonsDirective} from './carousel-buttons.directive';\nimport {TuiCarouselScrollDirective} from './carousel-scroll.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n IntersectionObserverModule,\n TuiPanModule,\n TuiSwipeModule,\n TuiItemModule,\n ],\n declarations: [\n TuiCarouselComponent,\n TuiCarouselDirective,\n TuiCarouselButtonsDirective,\n TuiCarouselAutoscrollDirective,\n TuiCarouselScrollDirective,\n ],\n exports: [\n TuiCarouselComponent,\n TuiCarouselDirective,\n TuiCarouselButtonsDirective,\n TuiItemDirective,\n ],\n})\nexport class TuiCarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.TuiCarouselScrollDirective","i5.TuiCarouselAutoscrollDirective"],"mappings":"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"}
@@ -2,16 +2,18 @@ import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
3
  import { InjectionToken, ChangeDetectorRef, Component, ChangeDetectionStrategy, Optional, Self, Inject, ViewChild, Input, HostBinding, Directive, NgModule } from '@angular/core';
4
4
  import * as i4 from '@angular/forms';
5
- import { NgControl } from '@angular/forms';
5
+ import { NgControl, FormsModule } from '@angular/forms';
6
6
  import { AbstractTuiNullableControl, tuiIsNativeFocused, tuiIsPresent, tuiClamp, TUI_IS_MOBILE, tuiAsFocusableItemAccessor, tuiAsControl, tuiDefaultProp, tuiPure } from '@taiga-ui/cdk';
7
- import * as i1 from '@taiga-ui/core';
8
- import { tuiCreateNumberMask, tuiFormatNumber, TUI_TEXTFIELD_WATCHED_CONTROLLER, TUI_NUMBER_FORMAT, TEXTFIELD_CONTROLLER_PROVIDER, TuiPrimitiveTextfieldComponent, AbstractTuiTextfieldHost, tuiAsTextfieldHost, TuiButtonModule, TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule, TuiTextfieldComponent } from '@taiga-ui/core';
7
+ import * as i2 from '@taiga-ui/core';
8
+ import { tuiCreateNumberMask, tuiEnableAutoCorrectDecimalSymbol, tuiMaskedNumberStringToNumber, tuiFormatNumber, TUI_TEXTFIELD_WATCHED_CONTROLLER, TUI_NUMBER_FORMAT, TEXTFIELD_CONTROLLER_PROVIDER, AbstractTuiTextfieldHost, tuiAsTextfieldHost, TuiButtonModule, TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule, TuiTextfieldComponent } from '@taiga-ui/core';
9
+ import * as i1 from '@taiga-ui/kit/components/input-number';
10
+ import { TuiInputNumberComponent, TuiInputNumberModule } from '@taiga-ui/kit/components/input-number';
9
11
  import { TUI_PLUS_MINUS_TEXTS } from '@taiga-ui/kit/tokens';
10
- import * as i2 from '@taiga-ui/kit/directives';
12
+ import * as i3 from '@taiga-ui/kit/directives';
11
13
  import { TextMaskModule, TuiValueAccessorModule } from '@taiga-ui/kit/directives';
12
- import * as i3 from '@angular/common';
14
+ import * as i5 from '@angular/common';
13
15
  import { CommonModule } from '@angular/common';
14
- import * as i5 from 'rxjs';
16
+ import * as i6 from 'rxjs';
15
17
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
16
18
 
17
19
  /** Default values for the input count options. */
@@ -61,6 +63,7 @@ class TuiInputCountComponent extends AbstractTuiNullableControl {
61
63
  allowNegative,
62
64
  decimalSymbol: this.numberFormat.decimalSeparator,
63
65
  thousandSymbol: this.numberFormat.thousandSeparator,
66
+ autoCorrectDecimalSymbol: tuiEnableAutoCorrectDecimalSymbol(this.numberFormat),
64
67
  }),
65
68
  guide: false,
66
69
  };
@@ -75,9 +78,9 @@ class TuiInputCountComponent extends AbstractTuiNullableControl {
75
78
  return this.options.icons.down;
76
79
  }
77
80
  get nativeFocusableElement() {
78
- return !this.primitiveTextfield || this.computedDisabled
81
+ return !this.inputNumber || this.computedDisabled
79
82
  ? null
80
- : this.primitiveTextfield.nativeFocusableElement;
83
+ : this.inputNumber.nativeFocusableElement;
81
84
  }
82
85
  get size() {
83
86
  return this.textfieldController.size;
@@ -85,12 +88,6 @@ class TuiInputCountComponent extends AbstractTuiNullableControl {
85
88
  get focused() {
86
89
  return tuiIsNativeFocused(this.nativeFocusableElement);
87
90
  }
88
- get exampleText() {
89
- return String(this.min);
90
- }
91
- get computedValue() {
92
- return this.focused ? this.nativeValue : this.formatNumber(this.value);
93
- }
94
91
  get minusButtonDisabled() {
95
92
  return !this.interactive || (tuiIsPresent(this.value) && this.value <= this.min);
96
93
  }
@@ -104,23 +101,11 @@ class TuiInputCountComponent extends AbstractTuiNullableControl {
104
101
  event.preventDefault();
105
102
  this.nativeFocusableElement.focus();
106
103
  }
107
- onFocused(focused) {
108
- if (!focused) {
109
- this.onBlur();
110
- }
111
- this.updateFocused(focused);
104
+ onInputNumberChange(value) {
105
+ this.updateValue(value);
112
106
  }
113
- onValueChange() {
114
- const capped = this.capValue(this.nativeNumberValue);
115
- if (this.isNotNumber(capped)) {
116
- this.updateValue(null);
117
- return;
118
- }
119
- const newValue = this.formatNumber(capped);
120
- if (this.nativeValue !== newValue) {
121
- this.nativeValue = newValue;
122
- }
123
- this.updateValue(capped);
107
+ onValueChange(value) {
108
+ this.updateValue(tuiMaskedNumberStringToNumber(value, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator));
124
109
  }
125
110
  decreaseValue() {
126
111
  if (this.readOnly) {
@@ -152,12 +137,6 @@ class TuiInputCountComponent extends AbstractTuiNullableControl {
152
137
  break;
153
138
  }
154
139
  }
155
- get nativeNumberValue() {
156
- return parseInt(this.nativeValue.split(this.numberFormat.thousandSeparator).join(''), 10);
157
- }
158
- get nativeValue() {
159
- return this.nativeFocusableElement ? this.nativeFocusableElement.value : '';
160
- }
161
140
  set nativeValue(value) {
162
141
  if (!this.nativeFocusableElement) {
163
142
  return;
@@ -169,23 +148,6 @@ class TuiInputCountComponent extends AbstractTuiNullableControl {
169
148
  this.updateValue(value);
170
149
  this.nativeValue = this.formatNumber(value);
171
150
  }
172
- capValue(value) {
173
- const capped = Math.min(value, this.max);
174
- return Number.isNaN(capped) || capped < this.min ? null : capped;
175
- }
176
- onBlur() {
177
- if (this.isNotNumber(this.value)) {
178
- this.updateValue(null);
179
- return;
180
- }
181
- const value = Math.max(this.nativeNumberValue || 0, this.min);
182
- const formattedValue = this.formatNumber(value);
183
- this.nativeValue = formattedValue;
184
- this.updateValue(value);
185
- if (this.primitiveTextfield) {
186
- this.primitiveTextfield.value = formattedValue;
187
- }
188
- }
189
151
  formatNumber(value) {
190
152
  return this.isNotNumber(value) ? '' : tuiFormatNumber(value, this.numberFormat);
191
153
  }
@@ -198,7 +160,7 @@ TuiInputCountComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
198
160
  tuiAsFocusableItemAccessor(TuiInputCountComponent),
199
161
  tuiAsControl(TuiInputCountComponent),
200
162
  TEXTFIELD_CONTROLLER_PROVIDER,
201
- ], viewQueries: [{ propertyName: "primitiveTextfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-textfield\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [prefix]=\"prefix\"\n [postfix]=\"postfix\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"getMask(min < 0)\"\n [invalid]=\"computedInvalid\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange()\"\n (keydown)=\"onKeydown($event)\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n</tui-primitive-textfield>\n<ng-container *ngIf=\"!buttonsHidden\">\n <ng-container *ngIf=\"minusTexts$ | async as texts\">\n <section class=\"t-buttons\">\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__plus-button\"\n size=\"s\"\n class=\"t-button t-button_plus\"\n [icon]=\"iconUp\"\n [appearance]=\"options.appearance\"\n [title]=\"texts[0]\"\n [disabled]=\"plusButtonDisabled\"\n [focusable]=\"false\"\n (mousedown)=\"onButtonMouseDown($event, plusButtonDisabled)\"\n (click)=\"increaseValue()\"\n ></button>\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__minus-button\"\n size=\"s\"\n class=\"t-button t-button_minus\"\n [icon]=\"iconDown\"\n [appearance]=\"options.appearance\"\n [disabled]=\"minusButtonDisabled\"\n [focusable]=\"false\"\n [title]=\"texts[1]\"\n (mousedown)=\"onButtonMouseDown($event, minusButtonDisabled)\"\n (click)=\"decreaseValue()\"\n ></button>\n </section>\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex;font:var(--tui-font-text-s);border-radius:var(--tui-radius-m);height:var(--tui-height-m);color:var(--tui-text-01);text-align:left}:host._disabled{pointer-events:none}:host[data-size=l]{font:var(--tui-font-text-m);height:var(--tui-height-l)}.t-textfield{position:relative;border-radius:inherit;text-align:inherit;flex-grow:1;min-width:0}:host:not(._hide-buttons) .t-textfield{border-top-right-radius:0;border-bottom-right-radius:0}.t-buttons{display:flex;flex-direction:column;margin-left:.125rem;height:100%}.t-buttons .t-button{display:flex;width:calc(var(--tui-height-m) * .75);height:calc(50% - .0625rem)}.t-buttons .t-button_plus{margin-bottom:.125rem;border-radius:0 var(--tui-radius-m) 0 0}.t-buttons .t-button_minus{border-radius:0 0 var(--tui-radius-m)}:host[data-size=l] .t-buttons .t-button{width:calc(var(--tui-height-l) * .75)}\n"], components: [{ type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i2.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { type: i2.MaskedInputDirective, selector: "[textMask]", inputs: ["textMask"], exportAs: ["textMask"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
163
+ ], viewQueries: [{ propertyName: "inputNumber", first: true, predicate: TuiInputNumberComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-input-number\n class=\"t-textfield\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [pseudoActive]=\"pseudoActive\"\n [focusable]=\"focusable\"\n [min]=\"min\"\n [max]=\"max\"\n [prefix]=\"prefix\"\n [postfix]=\"postfix\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"getMask(min < 0)\"\n [ngModel]=\"value\"\n [nativeId]=\"nativeId\"\n (ngModelChange)=\"onInputNumberChange($event)\"\n (keydown)=\"onKeydown($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n</tui-input-number>\n<ng-container *ngIf=\"!buttonsHidden\">\n <ng-container *ngIf=\"minusTexts$ | async as texts\">\n <section class=\"t-buttons\">\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__plus-button\"\n size=\"s\"\n class=\"t-button t-button_plus\"\n [icon]=\"iconUp\"\n [appearance]=\"options.appearance\"\n [title]=\"texts[0]\"\n [disabled]=\"plusButtonDisabled\"\n [focusable]=\"false\"\n (mousedown)=\"onButtonMouseDown($event, plusButtonDisabled)\"\n (click)=\"increaseValue()\"\n ></button>\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__minus-button\"\n size=\"s\"\n class=\"t-button t-button_minus\"\n [icon]=\"iconDown\"\n [appearance]=\"options.appearance\"\n [disabled]=\"minusButtonDisabled\"\n [focusable]=\"false\"\n [title]=\"texts[1]\"\n (mousedown)=\"onButtonMouseDown($event, minusButtonDisabled)\"\n (click)=\"decreaseValue()\"\n ></button>\n </section>\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex;font:var(--tui-font-text-s);border-radius:var(--tui-radius-m);height:var(--tui-height-m);color:var(--tui-text-01);text-align:left}:host._disabled{pointer-events:none}:host[data-size=l]{font:var(--tui-font-text-m);height:var(--tui-height-l)}.t-textfield{position:relative;border-radius:inherit;text-align:inherit;flex-grow:1;min-width:0}:host:not(._hide-buttons) .t-textfield{border-top-right-radius:0;border-bottom-right-radius:0}.t-buttons{display:flex;flex-direction:column;margin-left:.125rem;height:100%}.t-buttons .t-button{display:flex;width:calc(var(--tui-height-m) * .75);height:calc(50% - .0625rem)}.t-buttons .t-button_plus{margin-bottom:.125rem;border-radius:0 var(--tui-radius-m) 0 0}.t-buttons .t-button_minus{border-radius:0 0 var(--tui-radius-m)}:host[data-size=l] .t-buttons .t-button{width:calc(var(--tui-height-l) * .75)}\n"], components: [{ type: i1.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "decimal", "precision", "prefix", "postfix"] }, { type: i2.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i1.TuiInputNumberDirective, selector: "tui-input-number" }, { type: i3.MaskedInputDirective, selector: "[textMask]", inputs: ["textMask"], exportAs: ["textMask"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
202
164
  __decorate([
203
165
  tuiDefaultProp()
204
166
  ], TuiInputCountComponent.prototype, "step", void 0);
@@ -243,10 +205,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
243
205
  }] }, { type: i0.ChangeDetectorRef, decorators: [{
244
206
  type: Inject,
245
207
  args: [ChangeDetectorRef]
246
- }] }, { type: i1.TuiTextfieldController, decorators: [{
208
+ }] }, { type: i2.TuiTextfieldController, decorators: [{
247
209
  type: Inject,
248
210
  args: [TUI_TEXTFIELD_WATCHED_CONTROLLER]
249
- }] }, { type: i5.Observable, decorators: [{
211
+ }] }, { type: i6.Observable, decorators: [{
250
212
  type: Inject,
251
213
  args: [TUI_PLUS_MINUS_TEXTS]
252
214
  }] }, { type: undefined, decorators: [{
@@ -258,9 +220,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
258
220
  }] }, { type: undefined, decorators: [{
259
221
  type: Inject,
260
222
  args: [TUI_NUMBER_FORMAT]
261
- }] }]; }, propDecorators: { primitiveTextfield: [{
223
+ }] }]; }, propDecorators: { inputNumber: [{
262
224
  type: ViewChild,
263
- args: [TuiPrimitiveTextfieldComponent]
225
+ args: [TuiInputNumberComponent]
264
226
  }], step: [{
265
227
  type: Input
266
228
  }], min: [{
@@ -282,8 +244,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
282
244
  }] } });
283
245
 
284
246
  class TuiInputCountDirective extends AbstractTuiTextfieldHost {
285
- onValueChange() {
286
- this.host.onValueChange();
247
+ onValueChange(value) {
248
+ this.host.onValueChange(value);
287
249
  }
288
250
  ngAfterViewInit() {
289
251
  if (this.host.nativeFocusableElement) {
@@ -312,19 +274,23 @@ class TuiInputCountModule {
312
274
  TuiInputCountModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCountModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
313
275
  TuiInputCountModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCountModule, declarations: [TuiInputCountComponent, TuiInputCountDirective], imports: [CommonModule,
314
276
  TextMaskModule,
277
+ FormsModule,
315
278
  TuiButtonModule,
316
279
  TuiPrimitiveTextfieldModule,
317
280
  TuiTextfieldControllerModule,
318
281
  TuiValueAccessorModule,
319
- PolymorpheusModule], exports: [TuiInputCountComponent, TuiInputCountDirective, TuiTextfieldComponent] });
282
+ PolymorpheusModule,
283
+ TuiInputNumberModule], exports: [TuiInputCountComponent, TuiInputCountDirective, TuiTextfieldComponent] });
320
284
  TuiInputCountModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCountModule, imports: [[
321
285
  CommonModule,
322
286
  TextMaskModule,
287
+ FormsModule,
323
288
  TuiButtonModule,
324
289
  TuiPrimitiveTextfieldModule,
325
290
  TuiTextfieldControllerModule,
326
291
  TuiValueAccessorModule,
327
292
  PolymorpheusModule,
293
+ TuiInputNumberModule,
328
294
  ]] });
329
295
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCountModule, decorators: [{
330
296
  type: NgModule,
@@ -332,11 +298,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
332
298
  imports: [
333
299
  CommonModule,
334
300
  TextMaskModule,
301
+ FormsModule,
335
302
  TuiButtonModule,
336
303
  TuiPrimitiveTextfieldModule,
337
304
  TuiTextfieldControllerModule,
338
305
  TuiValueAccessorModule,
339
306
  PolymorpheusModule,
307
+ TuiInputNumberModule,
340
308
  ],
341
309
  declarations: [TuiInputCountComponent, TuiInputCountDirective],
342
310
  exports: [TuiInputCountComponent, TuiInputCountDirective, TuiTextfieldComponent],