@taiga-ui/kit 2.61.0 → 2.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/bundles/taiga-ui-kit-components-files.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-files.umd.min.js +1 -1
  4. package/bundles/taiga-ui-kit-components-files.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-push.umd.js +501 -0
  6. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -0
  7. package/bundles/taiga-ui-kit-components-push.umd.min.js +2 -0
  8. package/bundles/taiga-ui-kit-components-push.umd.min.js.map +1 -0
  9. package/bundles/taiga-ui-kit-components.umd.js +12 -4
  10. package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components.umd.min.js +1 -1
  12. package/components/index.d.ts +1 -0
  13. package/components/push/index.d.ts +7 -0
  14. package/components/push/package.json +13 -0
  15. package/components/push/push-alert.component.d.ts +16 -0
  16. package/components/push/push-alert.directive.d.ts +9 -0
  17. package/components/push/push.component.d.ts +11 -0
  18. package/components/push/push.directive.d.ts +10 -0
  19. package/components/push/push.module.d.ts +2 -0
  20. package/components/push/push.options.d.ts +10 -0
  21. package/components/push/push.service.d.ts +10 -0
  22. package/components/push/taiga-ui-kit-components-push.d.ts +4 -0
  23. package/components/push/taiga-ui-kit-components-push.metadata.json +1 -0
  24. package/components/taiga-ui-kit-components.metadata.json +1 -1
  25. package/esm2015/components/files/file/file.component.js +3 -3
  26. package/esm2015/components/index.js +2 -1
  27. package/esm2015/components/push/index.js +8 -0
  28. package/esm2015/components/push/push-alert.component.js +38 -0
  29. package/esm2015/components/push/push-alert.directive.js +40 -0
  30. package/esm2015/components/push/push.component.js +46 -0
  31. package/esm2015/components/push/push.directive.js +42 -0
  32. package/esm2015/components/push/push.module.js +46 -0
  33. package/esm2015/components/push/push.options.js +10 -0
  34. package/esm2015/components/push/push.service.js +26 -0
  35. package/esm2015/components/push/taiga-ui-kit-components-push.js +5 -0
  36. package/esm5/components/files/file/file.component.js +3 -3
  37. package/esm5/components/index.js +2 -1
  38. package/esm5/components/push/index.js +8 -0
  39. package/esm5/components/push/push-alert.component.js +43 -0
  40. package/esm5/components/push/push-alert.directive.js +47 -0
  41. package/esm5/components/push/push.component.js +51 -0
  42. package/esm5/components/push/push.directive.js +50 -0
  43. package/esm5/components/push/push.module.js +49 -0
  44. package/esm5/components/push/push.options.js +10 -0
  45. package/esm5/components/push/push.service.js +30 -0
  46. package/esm5/components/push/taiga-ui-kit-components-push.js +5 -0
  47. package/fesm2015/taiga-ui-kit-components-files.js +2 -2
  48. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  49. package/fesm2015/taiga-ui-kit-components-push.js +218 -0
  50. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -0
  51. package/fesm2015/taiga-ui-kit-components.js +1 -0
  52. package/fesm2015/taiga-ui-kit-components.js.map +1 -1
  53. package/fesm5/taiga-ui-kit-components-files.js +2 -2
  54. package/fesm5/taiga-ui-kit-components-files.js.map +1 -1
  55. package/fesm5/taiga-ui-kit-components-push.js +250 -0
  56. package/fesm5/taiga-ui-kit-components-push.js.map +1 -0
  57. package/fesm5/taiga-ui-kit-components.js +1 -0
  58. package/fesm5/taiga-ui-kit-components.js.map +1 -1
  59. package/package.json +4 -4
@@ -0,0 +1,50 @@
1
+ import { __decorate, __extends, __param } from "tslib";
2
+ import { Directive, Inject, Optional, SkipSelf } from '@angular/core';
3
+ import { TUI_BUTTON_OPTIONS, TuiButtonOptions, TuiModeDirective } from '@taiga-ui/core';
4
+ import { Subject } from 'rxjs';
5
+ var TuiPushDirective = /** @class */ (function (_super) {
6
+ __extends(TuiPushDirective, _super);
7
+ function TuiPushDirective(modeDirective) {
8
+ var _a;
9
+ var _this = _super.call(this) || this;
10
+ _this.modeDirective = modeDirective;
11
+ _this.size = "s";
12
+ _this.shape = null;
13
+ _this.change$ = ((_a = _this.modeDirective) === null || _a === void 0 ? void 0 : _a.change$) || new Subject();
14
+ return _this;
15
+ }
16
+ TuiPushDirective_1 = TuiPushDirective;
17
+ Object.defineProperty(TuiPushDirective.prototype, "appearance", {
18
+ get: function () {
19
+ var _a;
20
+ return ((_a = this.modeDirective) === null || _a === void 0 ? void 0 : _a.mode) === "onDark" ? "accent" : "secondary";
21
+ },
22
+ enumerable: true,
23
+ configurable: true
24
+ });
25
+ var TuiPushDirective_1;
26
+ TuiPushDirective.ctorParameters = function () { return [
27
+ { type: TuiModeDirective, decorators: [{ type: Optional }, { type: SkipSelf }, { type: Inject, args: [TuiModeDirective,] }] }
28
+ ]; };
29
+ TuiPushDirective = TuiPushDirective_1 = __decorate([
30
+ Directive({
31
+ selector: "tui-push",
32
+ providers: [
33
+ {
34
+ provide: TuiModeDirective,
35
+ useExisting: TuiPushDirective_1,
36
+ },
37
+ {
38
+ provide: TUI_BUTTON_OPTIONS,
39
+ useExisting: TuiPushDirective_1,
40
+ },
41
+ ],
42
+ }),
43
+ __param(0, Optional()),
44
+ __param(0, SkipSelf()),
45
+ __param(0, Inject(TuiModeDirective))
46
+ ], TuiPushDirective);
47
+ return TuiPushDirective;
48
+ }(TuiModeDirective));
49
+ export { TuiPushDirective };
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcHVzaC8iLCJzb3VyY2VzIjpbInB1c2guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFlN0I7SUFBc0Msb0NBQWdCO0lBT2xELDBCQUlxQixhQUFzQzs7UUFKM0QsWUFNSSxpQkFBTyxTQUNWO1FBSG9CLG1CQUFhLEdBQWIsYUFBYSxDQUF5QjtRQVYzRCxVQUFJLEdBQTZCLEdBQUcsQ0FBQztRQUVyQyxXQUFLLEdBQUcsSUFBSSxDQUFDO1FBRUosYUFBTyxHQUFHLE9BQUEsS0FBSSxDQUFDLGFBQWEsMENBQUUsT0FBTyxLQUFJLElBQUksT0FBTyxFQUFFLENBQUM7O0lBU2hFLENBQUM7eUJBZFEsZ0JBQWdCO0lBZ0J6QixzQkFBSSx3Q0FBVTthQUFkOztZQUNJLE9BQU8sT0FBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxJQUFJLE1BQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUMxRSxDQUFDOzs7T0FBQTs7O2dCQVBtQyxnQkFBZ0IsdUJBSC9DLFFBQVEsWUFDUixRQUFRLFlBQ1IsTUFBTSxTQUFDLGdCQUFnQjs7SUFWbkIsZ0JBQWdCO1FBYjVCLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsZ0JBQWdCO29CQUN6QixXQUFXLEVBQUUsa0JBQWdCO2lCQUNoQztnQkFDRDtvQkFDSSxPQUFPLEVBQUUsa0JBQWtCO29CQUMzQixXQUFXLEVBQUUsa0JBQWdCO2lCQUNoQzthQUNKO1NBQ0osQ0FBQztRQVNPLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtPQVZwQixnQkFBZ0IsQ0FtQjVCO0lBQUQsdUJBQUM7Q0FBQSxBQW5CRCxDQUFzQyxnQkFBZ0IsR0FtQnJEO1NBbkJZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbmplY3QsIE9wdGlvbmFsLCBTa2lwU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9CVVRUT05fT1BUSU9OUywgVHVpQnV0dG9uT3B0aW9ucywgVHVpTW9kZURpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IGB0dWktcHVzaGAsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFR1aU1vZGVEaXJlY3RpdmUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogVHVpUHVzaERpcmVjdGl2ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0JVVFRPTl9PUFRJT05TLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFR1aVB1c2hEaXJlY3RpdmUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUHVzaERpcmVjdGl2ZSBleHRlbmRzIFR1aU1vZGVEaXJlY3RpdmUgaW1wbGVtZW50cyBUdWlCdXR0b25PcHRpb25zIHtcbiAgICBzaXplOiBUdWlCdXR0b25PcHRpb25zWydzaXplJ10gPSBgc2A7XG5cbiAgICBzaGFwZSA9IG51bGw7XG5cbiAgICByZWFkb25seSBjaGFuZ2UkID0gdGhpcy5tb2RlRGlyZWN0aXZlPy5jaGFuZ2UkIHx8IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNraXBTZWxmKClcbiAgICAgICAgQEluamVjdChUdWlNb2RlRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGVEaXJlY3RpdmU6IFR1aU1vZGVEaXJlY3RpdmUgfCBudWxsLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGdldCBhcHBlYXJhbmNlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGVEaXJlY3RpdmU/Lm1vZGUgPT09IGBvbkRhcmtgID8gYGFjY2VudGAgOiBgc2Vjb25kYXJ5YDtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { __decorate } from "tslib";
2
+ import { CommonModule } from '@angular/common';
3
+ import { NgModule } from '@angular/core';
4
+ import { TUI_ALERTS } from '@taiga-ui/cdk';
5
+ import { TuiButtonModule, TuiFormatDatePipeModule, TuiLinkModule, TuiSvgModule, } from '@taiga-ui/core';
6
+ import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
7
+ import { TuiPushComponent } from './push.component';
8
+ import { TuiPushDirective } from './push.directive';
9
+ import { TuiPushService } from './push.service';
10
+ import { TuiPushAlertComponent } from './push-alert.component';
11
+ import { TuiPushAlertDirective } from './push-alert.directive';
12
+ var TuiPushModule = /** @class */ (function () {
13
+ function TuiPushModule() {
14
+ }
15
+ TuiPushModule = __decorate([
16
+ NgModule({
17
+ imports: [
18
+ CommonModule,
19
+ PolymorpheusModule,
20
+ TuiButtonModule,
21
+ TuiLinkModule,
22
+ TuiSvgModule,
23
+ TuiFormatDatePipeModule,
24
+ ],
25
+ declarations: [
26
+ TuiPushComponent,
27
+ TuiPushDirective,
28
+ TuiPushAlertComponent,
29
+ TuiPushAlertDirective,
30
+ ],
31
+ exports: [
32
+ TuiPushComponent,
33
+ TuiPushDirective,
34
+ TuiPushAlertComponent,
35
+ TuiPushAlertDirective,
36
+ ],
37
+ providers: [
38
+ {
39
+ provide: TUI_ALERTS,
40
+ useExisting: TuiPushService,
41
+ multi: true,
42
+ },
43
+ ],
44
+ })
45
+ ], TuiPushModule);
46
+ return TuiPushModule;
47
+ }());
48
+ export { TuiPushModule };
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcHVzaC8iLCJzb3VyY2VzIjpbInB1c2gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDSCxlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLGFBQWEsRUFDYixZQUFZLEdBQ2YsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUU1RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUErQjdEO0lBQUE7SUFBNEIsQ0FBQztJQUFoQixhQUFhO1FBN0J6QixRQUFRLENBQUM7WUFDTixPQUFPLEVBQUU7Z0JBQ0wsWUFBWTtnQkFDWixrQkFBa0I7Z0JBQ2xCLGVBQWU7Z0JBQ2YsYUFBYTtnQkFDYixZQUFZO2dCQUNaLHVCQUF1QjthQUMxQjtZQUNELFlBQVksRUFBRTtnQkFDVixnQkFBZ0I7Z0JBQ2hCLGdCQUFnQjtnQkFDaEIscUJBQXFCO2dCQUNyQixxQkFBcUI7YUFDeEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ0wsZ0JBQWdCO2dCQUNoQixnQkFBZ0I7Z0JBQ2hCLHFCQUFxQjtnQkFDckIscUJBQXFCO2FBQ3hCO1lBQ0QsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxVQUFVO29CQUNuQixXQUFXLEVBQUUsY0FBYztvQkFDM0IsS0FBSyxFQUFFLElBQUk7aUJBQ2Q7YUFDSjtTQUNKLENBQUM7T0FDVyxhQUFhLENBQUc7SUFBRCxvQkFBQztDQUFBLEFBQTdCLElBQTZCO1NBQWhCLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfQUxFUlRTfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVHVpQnV0dG9uTW9kdWxlLFxuICAgIFR1aUZvcm1hdERhdGVQaXBlTW9kdWxlLFxuICAgIFR1aUxpbmtNb2R1bGUsXG4gICAgVHVpU3ZnTW9kdWxlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c01vZHVsZX0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUdWlQdXNoQ29tcG9uZW50fSBmcm9tICcuL3B1c2guY29tcG9uZW50JztcbmltcG9ydCB7VHVpUHVzaERpcmVjdGl2ZX0gZnJvbSAnLi9wdXNoLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aVB1c2hTZXJ2aWNlfSBmcm9tICcuL3B1c2guc2VydmljZSc7XG5pbXBvcnQge1R1aVB1c2hBbGVydENvbXBvbmVudH0gZnJvbSAnLi9wdXNoLWFsZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQge1R1aVB1c2hBbGVydERpcmVjdGl2ZX0gZnJvbSAnLi9wdXNoLWFsZXJ0LmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFBvbHltb3JwaGV1c01vZHVsZSxcbiAgICAgICAgVHVpQnV0dG9uTW9kdWxlLFxuICAgICAgICBUdWlMaW5rTW9kdWxlLFxuICAgICAgICBUdWlTdmdNb2R1bGUsXG4gICAgICAgIFR1aUZvcm1hdERhdGVQaXBlTW9kdWxlLFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFR1aVB1c2hDb21wb25lbnQsXG4gICAgICAgIFR1aVB1c2hEaXJlY3RpdmUsXG4gICAgICAgIFR1aVB1c2hBbGVydENvbXBvbmVudCxcbiAgICAgICAgVHVpUHVzaEFsZXJ0RGlyZWN0aXZlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBUdWlQdXNoQ29tcG9uZW50LFxuICAgICAgICBUdWlQdXNoRGlyZWN0aXZlLFxuICAgICAgICBUdWlQdXNoQWxlcnRDb21wb25lbnQsXG4gICAgICAgIFR1aVB1c2hBbGVydERpcmVjdGl2ZSxcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfQUxFUlRTLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFR1aVB1c2hTZXJ2aWNlLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUHVzaE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,10 @@
1
+ export var TUI_PUSH_DEFAULT_OPTIONS = {
2
+ heading: "",
3
+ type: "",
4
+ timestamp: 0,
5
+ image: "",
6
+ icon: "",
7
+ iconColor: "",
8
+ buttons: [],
9
+ };
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3B1c2gvIiwic291cmNlcyI6WyJwdXNoLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsTUFBTSxDQUFDLElBQU0sd0JBQXdCLEdBQW1CO0lBQ3BELE9BQU8sRUFBRSxFQUFFO0lBQ1gsSUFBSSxFQUFFLEVBQUU7SUFDUixTQUFTLEVBQUUsQ0FBQztJQUNaLEtBQUssRUFBRSxFQUFFO0lBQ1QsSUFBSSxFQUFFLEVBQUU7SUFDUixTQUFTLEVBQUUsRUFBRTtJQUNiLE9BQU8sRUFBRSxFQUFFO0NBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVHVpUHVzaE9wdGlvbnMge1xuICAgIHJlYWRvbmx5IGhlYWRpbmc6IHN0cmluZztcbiAgICByZWFkb25seSB0eXBlOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdGltZXN0YW1wOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgaW1hZ2U6IHN0cmluZztcbiAgICByZWFkb25seSBpY29uOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgaWNvbkNvbG9yOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYnV0dG9uczogcmVhZG9ubHkgc3RyaW5nW107XG59XG5cbmV4cG9ydCBjb25zdCBUVUlfUFVTSF9ERUZBVUxUX09QVElPTlM6IFR1aVB1c2hPcHRpb25zID0ge1xuICAgIGhlYWRpbmc6IGBgLFxuICAgIHR5cGU6IGBgLFxuICAgIHRpbWVzdGFtcDogMCxcbiAgICBpbWFnZTogYGAsXG4gICAgaWNvbjogYGAsXG4gICAgaWNvbkNvbG9yOiBgYCxcbiAgICBidXR0b25zOiBbXSxcbn07XG4iXX0=
@@ -0,0 +1,30 @@
1
+ import { __decorate, __extends } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { AbstractTuiDialogService } from '@taiga-ui/cdk';
4
+ import { PolymorpheusComponent } from '@tinkoff/ng-polymorpheus';
5
+ import { TUI_PUSH_DEFAULT_OPTIONS } from './push.options';
6
+ import { TuiPushAlertComponent } from './push-alert.component';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@taiga-ui/cdk/services";
9
+ var TuiPushService = /** @class */ (function (_super) {
10
+ __extends(TuiPushService, _super);
11
+ function TuiPushService() {
12
+ var _this = _super !== null && _super.apply(this, arguments) || this;
13
+ _this.component = new PolymorpheusComponent(TuiPushAlertComponent);
14
+ _this.defaultOptions = TUI_PUSH_DEFAULT_OPTIONS;
15
+ return _this;
16
+ }
17
+ // TODO: fix types
18
+ // @ts-ignore
19
+ TuiPushService.prototype.open = function (content, options) {
20
+ if (options === void 0) { options = {}; }
21
+ return _super.prototype.open.call(this, content, options);
22
+ };
23
+ TuiPushService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TuiPushService_Factory() { return new TuiPushService(i0.ɵɵinject(i1.TuiIdService)); }, token: TuiPushService, providedIn: "root" });
24
+ TuiPushService = __decorate([
25
+ Injectable({ providedIn: "root" })
26
+ ], TuiPushService);
27
+ return TuiPushService;
28
+ }(AbstractTuiDialogService));
29
+ export { TuiPushService };
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3B1c2gvIiwic291cmNlcyI6WyJwdXNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLHdCQUF3QixFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUMscUJBQXFCLEVBQXNCLE1BQU0sMEJBQTBCLENBQUM7QUFHcEYsT0FBTyxFQUFDLHdCQUF3QixFQUFpQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7QUFHN0Q7SUFBb0Msa0NBQXdDO0lBQTVFO1FBQUEscUVBWUM7UUFYc0IsZUFBUyxHQUFHLElBQUkscUJBQXFCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM3RCxvQkFBYyxHQUFHLHdCQUF3QixDQUFDOztLQVVoRTtJQVJHLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsNkJBQUksR0FBSixVQUNJLE9BQTJFLEVBQzNFLE9BQXFDO1FBQXJDLHdCQUFBLEVBQUEsWUFBcUM7UUFFckMsT0FBTyxpQkFBTSxJQUFJLFlBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O0lBWFEsY0FBYztRQUQxQixVQUFVLENBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLENBQUM7T0FDcEIsY0FBYyxDQVkxQjt5QkFyQkQ7Q0FxQkMsQUFaRCxDQUFvQyx3QkFBd0IsR0FZM0Q7U0FaWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RUdWlEaWFsb2dTZXJ2aWNlLCBUdWlCYXNlRGlhbG9nQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbXBvbmVudCwgUG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX1BVU0hfREVGQVVMVF9PUFRJT05TLCBUdWlQdXNoT3B0aW9uc30gZnJvbSAnLi9wdXNoLm9wdGlvbnMnO1xuaW1wb3J0IHtUdWlQdXNoQWxlcnRDb21wb25lbnR9IGZyb20gJy4vcHVzaC1hbGVydC5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogYHJvb3RgfSlcbmV4cG9ydCBjbGFzcyBUdWlQdXNoU2VydmljZSBleHRlbmRzIEFic3RyYWN0VHVpRGlhbG9nU2VydmljZTxUdWlQdXNoT3B0aW9ucz4ge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb21wb25lbnQgPSBuZXcgUG9seW1vcnBoZXVzQ29tcG9uZW50KFR1aVB1c2hBbGVydENvbXBvbmVudCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRPcHRpb25zID0gVFVJX1BVU0hfREVGQVVMVF9PUFRJT05TO1xuXG4gICAgLy8gVE9ETzogZml4IHR5cGVzXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIG9wZW4oXG4gICAgICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQmFzZURpYWxvZ0NvbnRleHQ8c3RyaW5nPiAmIFR1aVB1c2hPcHRpb25zPixcbiAgICAgICAgb3B0aW9uczogUGFydGlhbDxUdWlQdXNoT3B0aW9ucz4gPSB7fSxcbiAgICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gc3VwZXIub3Blbihjb250ZW50LCBvcHRpb25zKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWkta2l0LWNvbXBvbmVudHMtcHVzaC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9wdXNoLyIsInNvdXJjZXMiOlsidGFpZ2EtdWkta2l0LWNvbXBvbmVudHMtcHVzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { __decorate, __param } from 'tslib';
2
2
  import { EventEmitter, Inject, Input, Output, HostBinding, Component, ChangeDetectionStrategy, ContentChildren, TemplateRef, ViewEncapsulation, NgModule } from '@angular/core';
3
3
  import { DomSanitizer } from '@angular/platform-browser';
4
- import { TUI_IS_MOBILE, tuiDefaultProp, tuiPure, TuiItemDirective, TuiFocusVisibleModule, TuiItemModule } from '@taiga-ui/cdk';
4
+ import { tuiIsObserved, TUI_IS_MOBILE, tuiDefaultProp, tuiPure, TuiItemDirective, TuiFocusVisibleModule, TuiItemModule } from '@taiga-ui/cdk';
5
5
  import { TUI_FILE_TEXTS, TUI_DIGITAL_INFORMATION_UNITS, TUI_HIDE_TEXT, TUI_SHOW_ALL_TEXT } from '@taiga-ui/kit/tokens';
6
6
  import { formatSize } from '@taiga-ui/kit/utils/files';
7
7
  import { of, Observable } from 'rxjs';
@@ -41,7 +41,7 @@ let TuiFileComponent = class TuiFileComponent {
41
41
  return this.state === "deleted" /* Deleted */;
42
42
  }
43
43
  get allowDelete() {
44
- return !!this.removed.observers.length;
44
+ return tuiIsObserved(this.removed);
45
45
  }
46
46
  get icon() {
47
47
  if (this.state === "normal" /* Normal */ && this.isBig) {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-files.js","sources":["ng://@taiga-ui/kit/components/files/file/file.component.ts","ng://@taiga-ui/kit/components/files/files.component.ts","ng://@taiga-ui/kit/components/files/files.module.ts","ng://@taiga-ui/kit/components/files/taiga-ui-kit-components-files.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {DomSanitizer, SafeValue} from '@angular/platform-browser';\nimport {TUI_IS_MOBILE, tuiDefaultProp, tuiPure} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {TuiFileState, TuiFileStateT} from '@taiga-ui/kit/enums';\nimport {TuiFileLike} from '@taiga-ui/kit/interfaces';\nimport {TUI_DIGITAL_INFORMATION_UNITS, TUI_FILE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {formatSize} from '@taiga-ui/kit/utils/files';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\ntype FileTexts = 'loadingError' | 'preview' | 'remove';\n\n// @dynamic\n@Component({\n selector: `tui-file`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: `./file.template.html`,\n styleUrls: [`./file.style.less`],\n})\nexport class TuiFileComponent {\n @Input()\n @tuiDefaultProp()\n file: TuiFileLike = {name: ``};\n\n @Input()\n @tuiDefaultProp()\n state: TuiFileStateT = `normal`;\n\n @Input()\n @tuiDefaultProp()\n size: TuiSizeL = `m`;\n\n @Input()\n @tuiDefaultProp()\n showSize = true;\n\n @Input()\n @tuiDefaultProp()\n leftContent: PolymorpheusContent = ``;\n\n @Output()\n readonly removed = new EventEmitter<void>();\n\n @HostBinding(`class._focused`)\n focused = false;\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(TUI_FILE_TEXTS)\n readonly fileTexts$: Observable<Record<FileTexts, string>>,\n @Inject(TUI_DIGITAL_INFORMATION_UNITS)\n private readonly units$: Observable<[string, string, string]>,\n ) {}\n\n get preview(): SafeValue {\n return this.isBig ? this.createPreview(this.file, this.sanitizer) : ``;\n }\n\n get isBig(): boolean {\n return this.size === `l`;\n }\n\n get isLoading(): boolean {\n return this.state === TuiFileState.Loading;\n }\n\n get isError(): boolean {\n return this.state === TuiFileState.Error;\n }\n\n get isDeleted(): boolean {\n return this.state === TuiFileState.Deleted;\n }\n\n get allowDelete(): boolean {\n return !!this.removed.observers.length;\n }\n\n get icon(): string {\n if (this.state === TuiFileState.Normal && this.isBig) {\n return `tuiIconDefaultDocLarge`;\n }\n\n switch (this.state) {\n case TuiFileState.Deleted:\n return `tuiIconTrashLarge`;\n case TuiFileState.Error:\n return `tuiIconAlertCircleLarge`;\n default:\n return `tuiIconCheckCircleLarge`;\n }\n }\n\n @HostBinding(`class._link`)\n get src(): string {\n return this.file.src || ``;\n }\n\n get name(): string {\n return this.getName(this.file);\n }\n\n get type(): string {\n return this.getType(this.file);\n }\n\n get content$(): Observable<PolymorpheusContent> {\n return this.calculateContent$(this.state, this.file, this.fileTexts$);\n }\n\n get fileSize$(): Observable<string | null> {\n return this.calculateFileSize$(this.file, this.units$);\n }\n\n onRemoveClick(): void {\n this.removed.emit();\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.focused = focusVisible;\n }\n\n @tuiPure\n private calculateContent$(\n state: TuiFileStateT,\n file: TuiFileLike,\n fileTexts$: Observable<Record<'loadingError' | 'preview' | 'remove', string>>,\n ): Observable<PolymorpheusContent> {\n return state === TuiFileState.Error && !file.content\n ? fileTexts$.pipe(map(texts => texts.loadingError))\n : of(this.file.content || ``);\n }\n\n @tuiPure\n private calculateFileSize$(\n file: TuiFileLike,\n units$: Observable<[string, string, string]>,\n ): Observable<string | null> {\n return units$.pipe(map(units => formatSize(units, file.size)));\n }\n\n @tuiPure\n private createPreview(file: TuiFileLike, sanitizer: DomSanitizer): SafeValue {\n if (file.src) {\n return file.src;\n }\n\n // TODO: iframe warning\n if (file instanceof File && file.type && file.type.startsWith(`image/`)) {\n return sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file));\n }\n\n return ``;\n }\n\n @tuiPure\n private getName(file: TuiFileLike): string {\n return file.name.split(`.`).slice(0, -1).join(`.`);\n }\n\n @tuiPure\n private getType(file: TuiFileLike): string {\n return `.${file.name.split(`.`).pop()}` || ``;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiDefaultProp, TuiItemDirective} from '@taiga-ui/cdk';\nimport {TUI_HIDE_TEXT, TUI_SHOW_ALL_TEXT} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: `tui-files`,\n templateUrl: `./files.component.html`,\n styleUrls: [`./files.component.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiFilesComponent {\n @ContentChildren(TuiItemDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<Record<string, unknown>>> | null = null;\n\n @Input()\n @tuiDefaultProp()\n max = 0;\n\n hidden = true;\n\n constructor(\n @Inject(TUI_HIDE_TEXT) readonly hideText$: Observable<string>,\n @Inject(TUI_SHOW_ALL_TEXT) readonly showAllText$: Observable<string>,\n ) {}\n\n get hasExtraItems(): boolean {\n return !!this.max && (this.items?.length ?? 0) > this.max;\n }\n\n toggle(): void {\n this.hidden = !this.hidden;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusVisibleModule, TuiItemDirective, TuiItemModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiLoaderModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiFileComponent} from './file/file.component';\nimport {TuiFilesComponent} from './files.component';\n\n@NgModule({\n declarations: [TuiFilesComponent, TuiFileComponent],\n imports: [\n CommonModule,\n TuiGroupModule,\n TuiLoaderModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiFocusVisibleModule,\n TuiButtonModule,\n TuiItemModule,\n TuiExpandModule,\n ],\n exports: [TuiFilesComponent, TuiFileComponent, TuiItemDirective],\n})\nexport class TuiFilesModule {}\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-kit-components-files.js","sources":["ng://@taiga-ui/kit/components/files/file/file.component.ts","ng://@taiga-ui/kit/components/files/files.component.ts","ng://@taiga-ui/kit/components/files/files.module.ts","ng://@taiga-ui/kit/components/files/taiga-ui-kit-components-files.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {DomSanitizer, SafeValue} from '@angular/platform-browser';\nimport {TUI_IS_MOBILE, tuiDefaultProp, tuiIsObserved, tuiPure} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {TuiFileState, TuiFileStateT} from '@taiga-ui/kit/enums';\nimport {TuiFileLike} from '@taiga-ui/kit/interfaces';\nimport {TUI_DIGITAL_INFORMATION_UNITS, TUI_FILE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {formatSize} from '@taiga-ui/kit/utils/files';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\ntype FileTexts = 'loadingError' | 'preview' | 'remove';\n\n// @dynamic\n@Component({\n selector: `tui-file`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: `./file.template.html`,\n styleUrls: [`./file.style.less`],\n})\nexport class TuiFileComponent {\n @Input()\n @tuiDefaultProp()\n file: TuiFileLike = {name: ``};\n\n @Input()\n @tuiDefaultProp()\n state: TuiFileStateT = `normal`;\n\n @Input()\n @tuiDefaultProp()\n size: TuiSizeL = `m`;\n\n @Input()\n @tuiDefaultProp()\n showSize = true;\n\n @Input()\n @tuiDefaultProp()\n leftContent: PolymorpheusContent = ``;\n\n @Output()\n readonly removed = new EventEmitter<void>();\n\n @HostBinding(`class._focused`)\n focused = false;\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(TUI_FILE_TEXTS)\n readonly fileTexts$: Observable<Record<FileTexts, string>>,\n @Inject(TUI_DIGITAL_INFORMATION_UNITS)\n private readonly units$: Observable<[string, string, string]>,\n ) {}\n\n get preview(): SafeValue {\n return this.isBig ? this.createPreview(this.file, this.sanitizer) : ``;\n }\n\n get isBig(): boolean {\n return this.size === `l`;\n }\n\n get isLoading(): boolean {\n return this.state === TuiFileState.Loading;\n }\n\n get isError(): boolean {\n return this.state === TuiFileState.Error;\n }\n\n get isDeleted(): boolean {\n return this.state === TuiFileState.Deleted;\n }\n\n get allowDelete(): boolean {\n return tuiIsObserved(this.removed);\n }\n\n get icon(): string {\n if (this.state === TuiFileState.Normal && this.isBig) {\n return `tuiIconDefaultDocLarge`;\n }\n\n switch (this.state) {\n case TuiFileState.Deleted:\n return `tuiIconTrashLarge`;\n case TuiFileState.Error:\n return `tuiIconAlertCircleLarge`;\n default:\n return `tuiIconCheckCircleLarge`;\n }\n }\n\n @HostBinding(`class._link`)\n get src(): string {\n return this.file.src || ``;\n }\n\n get name(): string {\n return this.getName(this.file);\n }\n\n get type(): string {\n return this.getType(this.file);\n }\n\n get content$(): Observable<PolymorpheusContent> {\n return this.calculateContent$(this.state, this.file, this.fileTexts$);\n }\n\n get fileSize$(): Observable<string | null> {\n return this.calculateFileSize$(this.file, this.units$);\n }\n\n onRemoveClick(): void {\n this.removed.emit();\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.focused = focusVisible;\n }\n\n @tuiPure\n private calculateContent$(\n state: TuiFileStateT,\n file: TuiFileLike,\n fileTexts$: Observable<Record<'loadingError' | 'preview' | 'remove', string>>,\n ): Observable<PolymorpheusContent> {\n return state === TuiFileState.Error && !file.content\n ? fileTexts$.pipe(map(texts => texts.loadingError))\n : of(this.file.content || ``);\n }\n\n @tuiPure\n private calculateFileSize$(\n file: TuiFileLike,\n units$: Observable<[string, string, string]>,\n ): Observable<string | null> {\n return units$.pipe(map(units => formatSize(units, file.size)));\n }\n\n @tuiPure\n private createPreview(file: TuiFileLike, sanitizer: DomSanitizer): SafeValue {\n if (file.src) {\n return file.src;\n }\n\n // TODO: iframe warning\n if (file instanceof File && file.type && file.type.startsWith(`image/`)) {\n return sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file));\n }\n\n return ``;\n }\n\n @tuiPure\n private getName(file: TuiFileLike): string {\n return file.name.split(`.`).slice(0, -1).join(`.`);\n }\n\n @tuiPure\n private getType(file: TuiFileLike): string {\n return `.${file.name.split(`.`).pop()}` || ``;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiDefaultProp, TuiItemDirective} from '@taiga-ui/cdk';\nimport {TUI_HIDE_TEXT, TUI_SHOW_ALL_TEXT} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: `tui-files`,\n templateUrl: `./files.component.html`,\n styleUrls: [`./files.component.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiFilesComponent {\n @ContentChildren(TuiItemDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<Record<string, unknown>>> | null = null;\n\n @Input()\n @tuiDefaultProp()\n max = 0;\n\n hidden = true;\n\n constructor(\n @Inject(TUI_HIDE_TEXT) readonly hideText$: Observable<string>,\n @Inject(TUI_SHOW_ALL_TEXT) readonly showAllText$: Observable<string>,\n ) {}\n\n get hasExtraItems(): boolean {\n return !!this.max && (this.items?.length ?? 0) > this.max;\n }\n\n toggle(): void {\n this.hidden = !this.hidden;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusVisibleModule, TuiItemDirective, TuiItemModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiLoaderModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiFileComponent} from './file/file.component';\nimport {TuiFilesComponent} from './files.component';\n\n@NgModule({\n declarations: [TuiFilesComponent, TuiFileComponent],\n imports: [\n CommonModule,\n TuiGroupModule,\n TuiLoaderModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiFocusVisibleModule,\n TuiButtonModule,\n TuiItemModule,\n TuiExpandModule,\n ],\n exports: [TuiFilesComponent, TuiFileComponent, TuiItemDirective],\n})\nexport class TuiFilesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,218 @@
1
+ import { __decorate, __param } from 'tslib';
2
+ import { EventEmitter, Inject, Input, Output, Component, ChangeDetectionStrategy, Optional, SkipSelf, Directive, TemplateRef, ChangeDetectorRef, forwardRef, HostBinding, ɵɵdefineInjectable, ɵɵinject, Injectable, NgModule } from '@angular/core';
3
+ import { tuiIsObserved, tuiDefaultProp, TuiDestroyService, AbstractTuiDialogService, TUI_ALERTS } from '@taiga-ui/cdk';
4
+ import { TUI_CLOSE_WORD, TuiModeDirective, TUI_BUTTON_OPTIONS, TUI_ANIMATION_OPTIONS, tuiFadeIn, tuiSlideInRight, tuiHeightCollapse, TuiButtonModule, TuiLinkModule, TuiSvgModule, TuiFormatDatePipeModule } from '@taiga-ui/core';
5
+ import { Observable, Subject, EMPTY } from 'rxjs';
6
+ import { CommonModule } from '@angular/common';
7
+ import { PolymorpheusTemplate, POLYMORPHEUS_CONTEXT, PolymorpheusComponent, PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
8
+ import { switchMap, takeUntil } from 'rxjs/operators';
9
+ import { TuiIdService } from '@taiga-ui/cdk/services';
10
+
11
+ let TuiPushComponent = class TuiPushComponent {
12
+ constructor(closeWord$) {
13
+ this.closeWord$ = closeWord$;
14
+ this.heading = ``;
15
+ this.type = ``;
16
+ this.timestamp = 0;
17
+ this.close = new EventEmitter();
18
+ }
19
+ get closeable() {
20
+ return tuiIsObserved(this.close);
21
+ }
22
+ };
23
+ TuiPushComponent.ctorParameters = () => [
24
+ { type: Observable, decorators: [{ type: Inject, args: [TUI_CLOSE_WORD,] }] }
25
+ ];
26
+ __decorate([
27
+ Input(),
28
+ tuiDefaultProp()
29
+ ], TuiPushComponent.prototype, "heading", void 0);
30
+ __decorate([
31
+ Input(),
32
+ tuiDefaultProp()
33
+ ], TuiPushComponent.prototype, "type", void 0);
34
+ __decorate([
35
+ Input(),
36
+ tuiDefaultProp()
37
+ ], TuiPushComponent.prototype, "timestamp", void 0);
38
+ __decorate([
39
+ Output()
40
+ ], TuiPushComponent.prototype, "close", void 0);
41
+ TuiPushComponent = __decorate([
42
+ Component({
43
+ selector: `tui-push`,
44
+ template: "<div class=\"t-image\"><ng-content select=\"img\"></ng-content></div>\n<button\n *ngIf=\"closeable\"\n tuiIconButton\n icon=\"tuiIconCloseLarge\"\n size=\"xs\"\n appearance=\"\"\n shape=\"rounded\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close.emit()\"\n></button>\n<div class=\"t-top\">\n <span class=\"t-icon\"><ng-content select=\"tui-svg\"></ng-content></span>\n {{ type }}\n <span\n *ngIf=\"timestamp\"\n class=\"t-time\"\n [textContent]=\"timestamp | tuiFormatDate | async\"\n ></span>\n</div>\n<h3 class=\"t-heading\">{{ heading }}</h3>\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\"><ng-content select=\"[tuiButton]\"></ng-content></span>\n <span class=\"t-link\"><ng-content select=\"[tuiLink]\"></ng-content></span>\n</div>\n",
45
+ changeDetection: ChangeDetectionStrategy.OnPush,
46
+ styles: [":host{box-shadow:0 .25rem 1.5rem rgba(0,0,0,.12);position:relative;display:block;width:22.5rem;max-width:100%;box-sizing:border-box;padding:1.25rem 1.25rem .25rem;overflow:hidden;font:var(--tui-font-text-m);border-radius:var(--tui-radius-l);background:var(--tui-elevation-02)}.t-image{display:flex;flex-direction:column;max-height:10.625rem;overflow:hidden;margin:-1.25rem -1.25rem 1.25rem}.t-close{position:absolute;top:.75rem;right:.75rem;color:rgba(0,0,0,.54);background:rgba(242,242,242,.32);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.t-top{display:flex;align-items:center;font:var(--tui-font-text-s);color:var(--tui-text-02)}.t-icon{height:1.25rem;margin-right:.5rem;transform:scale(.833);transform-origin:top left;color:var(--tui-link)}.t-time:before{content:'\u2022';display:inline-block;width:1rem;text-align:center}.t-heading{line-height:1.25rem;font-weight:700;margin:.75rem 0 .25rem}.t-content,.t-heading{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-word;overflow:hidden}.t-actions{display:flex;align-items:center;font:var(--tui-font-text-s)}.t-button:not(:empty){margin:.75rem .75rem .75rem 0}.t-link{margin:.75rem 0}.t-link:empty{margin:.5rem}"]
47
+ }),
48
+ __param(0, Inject(TUI_CLOSE_WORD))
49
+ ], TuiPushComponent);
50
+
51
+ var TuiPushDirective_1;
52
+ let TuiPushDirective = TuiPushDirective_1 = class TuiPushDirective extends TuiModeDirective {
53
+ constructor(modeDirective) {
54
+ var _a;
55
+ super();
56
+ this.modeDirective = modeDirective;
57
+ this.size = `s`;
58
+ this.shape = null;
59
+ this.change$ = ((_a = this.modeDirective) === null || _a === void 0 ? void 0 : _a.change$) || new Subject();
60
+ }
61
+ get appearance() {
62
+ var _a;
63
+ return ((_a = this.modeDirective) === null || _a === void 0 ? void 0 : _a.mode) === `onDark` ? `accent` : `secondary`;
64
+ }
65
+ };
66
+ TuiPushDirective.ctorParameters = () => [
67
+ { type: TuiModeDirective, decorators: [{ type: Optional }, { type: SkipSelf }, { type: Inject, args: [TuiModeDirective,] }] }
68
+ ];
69
+ TuiPushDirective = TuiPushDirective_1 = __decorate([
70
+ Directive({
71
+ selector: `tui-push`,
72
+ providers: [
73
+ {
74
+ provide: TuiModeDirective,
75
+ useExisting: TuiPushDirective_1,
76
+ },
77
+ {
78
+ provide: TUI_BUTTON_OPTIONS,
79
+ useExisting: TuiPushDirective_1,
80
+ },
81
+ ],
82
+ }),
83
+ __param(0, Optional()),
84
+ __param(0, SkipSelf()),
85
+ __param(0, Inject(TuiModeDirective))
86
+ ], TuiPushDirective);
87
+
88
+ const TUI_PUSH_DEFAULT_OPTIONS = {
89
+ heading: ``,
90
+ type: ``,
91
+ timestamp: 0,
92
+ image: ``,
93
+ icon: ``,
94
+ iconColor: ``,
95
+ buttons: [],
96
+ };
97
+
98
+ let TuiPushAlertDirective = class TuiPushAlertDirective extends PolymorpheusTemplate {
99
+ constructor(template, changeDetectorRef, destroy$, push) {
100
+ super(template, changeDetectorRef);
101
+ this.show$ = new Subject();
102
+ this.show$
103
+ .pipe(switchMap(show => (show ? push.open(this) : EMPTY)), takeUntil(destroy$))
104
+ .subscribe();
105
+ }
106
+ set tuiPush(show) {
107
+ this.show$.next(show);
108
+ }
109
+ };
110
+ TuiPushAlertDirective.ctorParameters = () => [
111
+ { type: TemplateRef, decorators: [{ type: Inject, args: [TemplateRef,] }] },
112
+ { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
113
+ { type: Observable, decorators: [{ type: Inject, args: [TuiDestroyService,] }] },
114
+ { type: TuiPushService, decorators: [{ type: Inject, args: [forwardRef(() => TuiPushService),] }] }
115
+ ];
116
+ __decorate([
117
+ Input()
118
+ ], TuiPushAlertDirective.prototype, "tuiPush", null);
119
+ TuiPushAlertDirective = __decorate([
120
+ Directive({
121
+ selector: `[tuiPush]`,
122
+ providers: [TuiDestroyService],
123
+ }),
124
+ __param(0, Inject(TemplateRef)),
125
+ __param(1, Inject(ChangeDetectorRef)),
126
+ __param(2, Inject(TuiDestroyService)),
127
+ __param(3, Inject(forwardRef(() => TuiPushService)))
128
+ ], TuiPushAlertDirective);
129
+
130
+ let TuiPushAlertComponent = class TuiPushAlertComponent {
131
+ constructor(options, context) {
132
+ this.options = options;
133
+ this.context = context;
134
+ this.animation = Object.assign({ value: `` }, this.options);
135
+ }
136
+ get isDirective() {
137
+ return this.context.content instanceof TuiPushAlertDirective;
138
+ }
139
+ };
140
+ TuiPushAlertComponent.ctorParameters = () => [
141
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_ANIMATION_OPTIONS,] }] },
142
+ { type: undefined, decorators: [{ type: Inject, args: [POLYMORPHEUS_CONTEXT,] }] }
143
+ ];
144
+ __decorate([
145
+ HostBinding(`@tuiFadeIn`),
146
+ HostBinding(`@tuiSlideInRight`),
147
+ HostBinding(`@tuiHeightCollapse`)
148
+ ], TuiPushAlertComponent.prototype, "animation", void 0);
149
+ TuiPushAlertComponent = __decorate([
150
+ Component({
151
+ selector: `tui-push-alert`,
152
+ template: "<tui-push\n *ngIf=\"!isDirective; else content\"\n [heading]=\"context.heading\"\n [type]=\"context.type\"\n [timestamp]=\"context.timestamp\"\n (close)=\"context.$implicit.complete()\"\n>\n <img\n *ngIf=\"context.image\"\n alt=\"\"\n [src]=\"context.image\"\n />\n <tui-svg\n *ngIf=\"context.icon\"\n [style.color]=\"context.iconColor\"\n [src]=\"context.icon\"\n ></tui-svg>\n <div\n polymorpheus-outlet\n [content]=\"context.content\"\n ></div>\n <button\n *ngIf=\"context.buttons.length > 1\"\n tuiButton\n (click)=\"context.$implicit.next(context.buttons[0])\"\n >\n {{ context.buttons[0] }}\n </button>\n <button\n *ngIf=\"context.buttons.length\"\n tuiLink\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1])\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n</tui-push>\n<ng-template #content>\n <div\n polymorpheus-outlet\n [content]=\"context.content\"\n ></div>\n</ng-template>\n",
153
+ changeDetection: ChangeDetectionStrategy.OnPush,
154
+ animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse],
155
+ host: { role: `alert` },
156
+ styles: [":host{max-width:calc(100% - 2rem);margin:0 1rem 1rem auto}:host:first-child{margin-top:auto}"]
157
+ }),
158
+ __param(0, Inject(TUI_ANIMATION_OPTIONS)),
159
+ __param(1, Inject(POLYMORPHEUS_CONTEXT))
160
+ ], TuiPushAlertComponent);
161
+
162
+ let TuiPushService = class TuiPushService extends AbstractTuiDialogService {
163
+ constructor() {
164
+ super(...arguments);
165
+ this.component = new PolymorpheusComponent(TuiPushAlertComponent);
166
+ this.defaultOptions = TUI_PUSH_DEFAULT_OPTIONS;
167
+ }
168
+ // TODO: fix types
169
+ // @ts-ignore
170
+ open(content, options = {}) {
171
+ return super.open(content, options);
172
+ }
173
+ };
174
+ TuiPushService.ɵprov = ɵɵdefineInjectable({ factory: function TuiPushService_Factory() { return new TuiPushService(ɵɵinject(TuiIdService)); }, token: TuiPushService, providedIn: "root" });
175
+ TuiPushService = __decorate([
176
+ Injectable({ providedIn: `root` })
177
+ ], TuiPushService);
178
+
179
+ let TuiPushModule = class TuiPushModule {
180
+ };
181
+ TuiPushModule = __decorate([
182
+ NgModule({
183
+ imports: [
184
+ CommonModule,
185
+ PolymorpheusModule,
186
+ TuiButtonModule,
187
+ TuiLinkModule,
188
+ TuiSvgModule,
189
+ TuiFormatDatePipeModule,
190
+ ],
191
+ declarations: [
192
+ TuiPushComponent,
193
+ TuiPushDirective,
194
+ TuiPushAlertComponent,
195
+ TuiPushAlertDirective,
196
+ ],
197
+ exports: [
198
+ TuiPushComponent,
199
+ TuiPushDirective,
200
+ TuiPushAlertComponent,
201
+ TuiPushAlertDirective,
202
+ ],
203
+ providers: [
204
+ {
205
+ provide: TUI_ALERTS,
206
+ useExisting: TuiPushService,
207
+ multi: true,
208
+ },
209
+ ],
210
+ })
211
+ ], TuiPushModule);
212
+
213
+ /**
214
+ * Generated bundle index. Do not edit.
215
+ */
216
+
217
+ export { TUI_PUSH_DEFAULT_OPTIONS, TuiPushAlertComponent, TuiPushAlertDirective, TuiPushComponent, TuiPushDirective, TuiPushModule, TuiPushService };
218
+ //# sourceMappingURL=taiga-ui-kit-components-push.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-kit-components-push.js","sources":["ng://@taiga-ui/kit/components/push/push.component.ts","ng://@taiga-ui/kit/components/push/push.directive.ts","ng://@taiga-ui/kit/components/push/push.options.ts","ng://@taiga-ui/kit/components/push/push-alert.directive.ts","ng://@taiga-ui/kit/components/push/push-alert.component.ts","ng://@taiga-ui/kit/components/push/push.service.ts","ng://@taiga-ui/kit/components/push/push.module.ts","ng://@taiga-ui/kit/components/push/taiga-ui-kit-components-push.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiIsObserved} from '@taiga-ui/cdk';\nimport {TUI_CLOSE_WORD} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: `tui-push`,\n templateUrl: `./push.template.html`,\n styleUrls: [`./push.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPushComponent {\n @Input()\n @tuiDefaultProp()\n heading = ``;\n\n @Input()\n @tuiDefaultProp()\n type = ``;\n\n @Input()\n @tuiDefaultProp()\n timestamp = 0;\n\n @Output()\n readonly close = new EventEmitter<void>();\n\n constructor(@Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>) {}\n\n get closeable(): boolean {\n return tuiIsObserved(this.close);\n }\n}\n","import {Directive, Inject, Optional, SkipSelf} from '@angular/core';\nimport {TUI_BUTTON_OPTIONS, TuiButtonOptions, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\n\n@Directive({\n selector: `tui-push`,\n providers: [\n {\n provide: TuiModeDirective,\n useExisting: TuiPushDirective,\n },\n {\n provide: TUI_BUTTON_OPTIONS,\n useExisting: TuiPushDirective,\n },\n ],\n})\nexport class TuiPushDirective extends TuiModeDirective implements TuiButtonOptions {\n size: TuiButtonOptions['size'] = `s`;\n\n shape = null;\n\n readonly change$ = this.modeDirective?.change$ || new Subject();\n\n constructor(\n @Optional()\n @SkipSelf()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n ) {\n super();\n }\n\n get appearance(): string {\n return this.modeDirective?.mode === `onDark` ? `accent` : `secondary`;\n }\n}\n","export interface TuiPushOptions {\n readonly heading: string;\n readonly type: string;\n readonly timestamp: number;\n readonly image: string;\n readonly icon: string;\n readonly iconColor: string;\n readonly buttons: readonly string[];\n}\n\nexport const TUI_PUSH_DEFAULT_OPTIONS: TuiPushOptions = {\n heading: ``,\n type: ``,\n timestamp: 0,\n image: ``,\n icon: ``,\n iconColor: ``,\n buttons: [],\n};\n","import {\n ChangeDetectorRef,\n Directive,\n forwardRef,\n Inject,\n Input,\n TemplateRef,\n} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Observable, Subject} from 'rxjs';\nimport {switchMap, takeUntil} from 'rxjs/operators';\n\nimport {TuiPushService} from './push.service';\n\n@Directive({\n selector: `[tuiPush]`,\n providers: [TuiDestroyService],\n})\nexport class TuiPushAlertDirective extends PolymorpheusTemplate<any> {\n private readonly show$ = new Subject<boolean>();\n\n @Input()\n set tuiPush(show: boolean) {\n this.show$.next(show);\n }\n\n constructor(\n @Inject(TemplateRef) template: TemplateRef<any>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(forwardRef(() => TuiPushService)) push: TuiPushService,\n ) {\n super(template, changeDetectorRef);\n\n this.show$\n .pipe(\n switchMap(show => (show ? push.open(this) : EMPTY)),\n takeUntil(destroy$),\n )\n .subscribe();\n }\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {ChangeDetectionStrategy, Component, HostBinding, Inject} from '@angular/core';\nimport {TuiDialog} from '@taiga-ui/cdk';\nimport {\n TUI_ANIMATION_OPTIONS,\n tuiFadeIn,\n tuiHeightCollapse,\n tuiSlideInRight,\n} from '@taiga-ui/core';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPushOptions} from './push.options';\nimport {TuiPushAlertDirective} from './push-alert.directive';\n\n@Component({\n selector: `tui-push-alert`,\n templateUrl: `./push-alert.template.html`,\n styleUrls: [`./push-alert.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse],\n host: {role: `alert`},\n})\nexport class TuiPushAlertComponent {\n @HostBinding(`@tuiFadeIn`)\n @HostBinding(`@tuiSlideInRight`)\n @HostBinding(`@tuiHeightCollapse`)\n readonly animation = {value: ``, ...this.options} as const;\n\n constructor(\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiDialog<TuiPushOptions, string>,\n ) {}\n\n get isDirective(): boolean {\n return this.context.content instanceof TuiPushAlertDirective;\n }\n}\n","import {Injectable} from '@angular/core';\nimport {AbstractTuiDialogService, TuiBaseDialogContext} from '@taiga-ui/cdk';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TUI_PUSH_DEFAULT_OPTIONS, TuiPushOptions} from './push.options';\nimport {TuiPushAlertComponent} from './push-alert.component';\n\n@Injectable({providedIn: `root`})\nexport class TuiPushService extends AbstractTuiDialogService<TuiPushOptions> {\n protected readonly component = new PolymorpheusComponent(TuiPushAlertComponent);\n protected readonly defaultOptions = TUI_PUSH_DEFAULT_OPTIONS;\n\n // TODO: fix types\n // @ts-ignore\n open(\n content: PolymorpheusContent<TuiBaseDialogContext<string> & TuiPushOptions>,\n options: Partial<TuiPushOptions> = {},\n ): Observable<string> {\n return super.open(content, options);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TUI_ALERTS} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiFormatDatePipeModule,\n TuiLinkModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPushComponent} from './push.component';\nimport {TuiPushDirective} from './push.directive';\nimport {TuiPushService} from './push.service';\nimport {TuiPushAlertComponent} from './push-alert.component';\nimport {TuiPushAlertDirective} from './push-alert.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiButtonModule,\n TuiLinkModule,\n TuiSvgModule,\n TuiFormatDatePipeModule,\n ],\n declarations: [\n TuiPushComponent,\n TuiPushDirective,\n TuiPushAlertComponent,\n TuiPushAlertDirective,\n ],\n exports: [\n TuiPushComponent,\n TuiPushDirective,\n TuiPushAlertComponent,\n TuiPushAlertDirective,\n ],\n providers: [\n {\n provide: TUI_ALERTS,\n useExisting: TuiPushService,\n multi: true,\n },\n ],\n})\nexport class TuiPushModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -43,6 +43,7 @@ export * from '@taiga-ui/kit/components/multi-select-option';
43
43
  export * from '@taiga-ui/kit/components/pagination';
44
44
  export * from '@taiga-ui/kit/components/pdf-viewer';
45
45
  export * from '@taiga-ui/kit/components/progress';
46
+ export * from '@taiga-ui/kit/components/push';
46
47
  export * from '@taiga-ui/kit/components/radio';
47
48
  export * from '@taiga-ui/kit/components/radio-block';
48
49
  export * from '@taiga-ui/kit/components/radio-group';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components.js","sources":["ng://@taiga-ui/kit/components/taiga-ui-kit-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components.js","sources":["ng://@taiga-ui/kit/components/taiga-ui-kit-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;"}
@@ -1,7 +1,7 @@
1
1
  import { __decorate, __param } from 'tslib';
2
2
  import { EventEmitter, Inject, Input, Output, HostBinding, Component, ChangeDetectionStrategy, ContentChildren, TemplateRef, ViewEncapsulation, NgModule } from '@angular/core';
3
3
  import { DomSanitizer } from '@angular/platform-browser';
4
- import { TUI_IS_MOBILE, tuiDefaultProp, tuiPure, TuiItemDirective, TuiFocusVisibleModule, TuiItemModule } from '@taiga-ui/cdk';
4
+ import { tuiIsObserved, TUI_IS_MOBILE, tuiDefaultProp, tuiPure, TuiItemDirective, TuiFocusVisibleModule, TuiItemModule } from '@taiga-ui/cdk';
5
5
  import { TUI_FILE_TEXTS, TUI_DIGITAL_INFORMATION_UNITS, TUI_HIDE_TEXT, TUI_SHOW_ALL_TEXT } from '@taiga-ui/kit/tokens';
6
6
  import { formatSize } from '@taiga-ui/kit/utils/files';
7
7
  import { of, Observable } from 'rxjs';
@@ -62,7 +62,7 @@ var TuiFileComponent = /** @class */ (function () {
62
62
  });
63
63
  Object.defineProperty(TuiFileComponent.prototype, "allowDelete", {
64
64
  get: function () {
65
- return !!this.removed.observers.length;
65
+ return tuiIsObserved(this.removed);
66
66
  },
67
67
  enumerable: true,
68
68
  configurable: true
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-files.js","sources":["ng://@taiga-ui/kit/components/files/file/file.component.ts","ng://@taiga-ui/kit/components/files/files.component.ts","ng://@taiga-ui/kit/components/files/files.module.ts","ng://@taiga-ui/kit/components/files/taiga-ui-kit-components-files.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {DomSanitizer, SafeValue} from '@angular/platform-browser';\nimport {TUI_IS_MOBILE, tuiDefaultProp, tuiPure} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {TuiFileState, TuiFileStateT} from '@taiga-ui/kit/enums';\nimport {TuiFileLike} from '@taiga-ui/kit/interfaces';\nimport {TUI_DIGITAL_INFORMATION_UNITS, TUI_FILE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {formatSize} from '@taiga-ui/kit/utils/files';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\ntype FileTexts = 'loadingError' | 'preview' | 'remove';\n\n// @dynamic\n@Component({\n selector: `tui-file`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: `./file.template.html`,\n styleUrls: [`./file.style.less`],\n})\nexport class TuiFileComponent {\n @Input()\n @tuiDefaultProp()\n file: TuiFileLike = {name: ``};\n\n @Input()\n @tuiDefaultProp()\n state: TuiFileStateT = `normal`;\n\n @Input()\n @tuiDefaultProp()\n size: TuiSizeL = `m`;\n\n @Input()\n @tuiDefaultProp()\n showSize = true;\n\n @Input()\n @tuiDefaultProp()\n leftContent: PolymorpheusContent = ``;\n\n @Output()\n readonly removed = new EventEmitter<void>();\n\n @HostBinding(`class._focused`)\n focused = false;\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(TUI_FILE_TEXTS)\n readonly fileTexts$: Observable<Record<FileTexts, string>>,\n @Inject(TUI_DIGITAL_INFORMATION_UNITS)\n private readonly units$: Observable<[string, string, string]>,\n ) {}\n\n get preview(): SafeValue {\n return this.isBig ? this.createPreview(this.file, this.sanitizer) : ``;\n }\n\n get isBig(): boolean {\n return this.size === `l`;\n }\n\n get isLoading(): boolean {\n return this.state === TuiFileState.Loading;\n }\n\n get isError(): boolean {\n return this.state === TuiFileState.Error;\n }\n\n get isDeleted(): boolean {\n return this.state === TuiFileState.Deleted;\n }\n\n get allowDelete(): boolean {\n return !!this.removed.observers.length;\n }\n\n get icon(): string {\n if (this.state === TuiFileState.Normal && this.isBig) {\n return `tuiIconDefaultDocLarge`;\n }\n\n switch (this.state) {\n case TuiFileState.Deleted:\n return `tuiIconTrashLarge`;\n case TuiFileState.Error:\n return `tuiIconAlertCircleLarge`;\n default:\n return `tuiIconCheckCircleLarge`;\n }\n }\n\n @HostBinding(`class._link`)\n get src(): string {\n return this.file.src || ``;\n }\n\n get name(): string {\n return this.getName(this.file);\n }\n\n get type(): string {\n return this.getType(this.file);\n }\n\n get content$(): Observable<PolymorpheusContent> {\n return this.calculateContent$(this.state, this.file, this.fileTexts$);\n }\n\n get fileSize$(): Observable<string | null> {\n return this.calculateFileSize$(this.file, this.units$);\n }\n\n onRemoveClick(): void {\n this.removed.emit();\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.focused = focusVisible;\n }\n\n @tuiPure\n private calculateContent$(\n state: TuiFileStateT,\n file: TuiFileLike,\n fileTexts$: Observable<Record<'loadingError' | 'preview' | 'remove', string>>,\n ): Observable<PolymorpheusContent> {\n return state === TuiFileState.Error && !file.content\n ? fileTexts$.pipe(map(texts => texts.loadingError))\n : of(this.file.content || ``);\n }\n\n @tuiPure\n private calculateFileSize$(\n file: TuiFileLike,\n units$: Observable<[string, string, string]>,\n ): Observable<string | null> {\n return units$.pipe(map(units => formatSize(units, file.size)));\n }\n\n @tuiPure\n private createPreview(file: TuiFileLike, sanitizer: DomSanitizer): SafeValue {\n if (file.src) {\n return file.src;\n }\n\n // TODO: iframe warning\n if (file instanceof File && file.type && file.type.startsWith(`image/`)) {\n return sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file));\n }\n\n return ``;\n }\n\n @tuiPure\n private getName(file: TuiFileLike): string {\n return file.name.split(`.`).slice(0, -1).join(`.`);\n }\n\n @tuiPure\n private getType(file: TuiFileLike): string {\n return `.${file.name.split(`.`).pop()}` || ``;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiDefaultProp, TuiItemDirective} from '@taiga-ui/cdk';\nimport {TUI_HIDE_TEXT, TUI_SHOW_ALL_TEXT} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: `tui-files`,\n templateUrl: `./files.component.html`,\n styleUrls: [`./files.component.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiFilesComponent {\n @ContentChildren(TuiItemDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<Record<string, unknown>>> | null = null;\n\n @Input()\n @tuiDefaultProp()\n max = 0;\n\n hidden = true;\n\n constructor(\n @Inject(TUI_HIDE_TEXT) readonly hideText$: Observable<string>,\n @Inject(TUI_SHOW_ALL_TEXT) readonly showAllText$: Observable<string>,\n ) {}\n\n get hasExtraItems(): boolean {\n return !!this.max && (this.items?.length ?? 0) > this.max;\n }\n\n toggle(): void {\n this.hidden = !this.hidden;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusVisibleModule, TuiItemDirective, TuiItemModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiLoaderModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiFileComponent} from './file/file.component';\nimport {TuiFilesComponent} from './files.component';\n\n@NgModule({\n declarations: [TuiFilesComponent, TuiFileComponent],\n imports: [\n CommonModule,\n TuiGroupModule,\n TuiLoaderModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiFocusVisibleModule,\n TuiButtonModule,\n TuiItemModule,\n TuiExpandModule,\n ],\n exports: [TuiFilesComponent, TuiFileComponent, TuiItemDirective],\n})\nexport class TuiFilesModule {}\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-kit-components-files.js","sources":["ng://@taiga-ui/kit/components/files/file/file.component.ts","ng://@taiga-ui/kit/components/files/files.component.ts","ng://@taiga-ui/kit/components/files/files.module.ts","ng://@taiga-ui/kit/components/files/taiga-ui-kit-components-files.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {DomSanitizer, SafeValue} from '@angular/platform-browser';\nimport {TUI_IS_MOBILE, tuiDefaultProp, tuiIsObserved, tuiPure} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {TuiFileState, TuiFileStateT} from '@taiga-ui/kit/enums';\nimport {TuiFileLike} from '@taiga-ui/kit/interfaces';\nimport {TUI_DIGITAL_INFORMATION_UNITS, TUI_FILE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {formatSize} from '@taiga-ui/kit/utils/files';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\ntype FileTexts = 'loadingError' | 'preview' | 'remove';\n\n// @dynamic\n@Component({\n selector: `tui-file`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: `./file.template.html`,\n styleUrls: [`./file.style.less`],\n})\nexport class TuiFileComponent {\n @Input()\n @tuiDefaultProp()\n file: TuiFileLike = {name: ``};\n\n @Input()\n @tuiDefaultProp()\n state: TuiFileStateT = `normal`;\n\n @Input()\n @tuiDefaultProp()\n size: TuiSizeL = `m`;\n\n @Input()\n @tuiDefaultProp()\n showSize = true;\n\n @Input()\n @tuiDefaultProp()\n leftContent: PolymorpheusContent = ``;\n\n @Output()\n readonly removed = new EventEmitter<void>();\n\n @HostBinding(`class._focused`)\n focused = false;\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(TUI_FILE_TEXTS)\n readonly fileTexts$: Observable<Record<FileTexts, string>>,\n @Inject(TUI_DIGITAL_INFORMATION_UNITS)\n private readonly units$: Observable<[string, string, string]>,\n ) {}\n\n get preview(): SafeValue {\n return this.isBig ? this.createPreview(this.file, this.sanitizer) : ``;\n }\n\n get isBig(): boolean {\n return this.size === `l`;\n }\n\n get isLoading(): boolean {\n return this.state === TuiFileState.Loading;\n }\n\n get isError(): boolean {\n return this.state === TuiFileState.Error;\n }\n\n get isDeleted(): boolean {\n return this.state === TuiFileState.Deleted;\n }\n\n get allowDelete(): boolean {\n return tuiIsObserved(this.removed);\n }\n\n get icon(): string {\n if (this.state === TuiFileState.Normal && this.isBig) {\n return `tuiIconDefaultDocLarge`;\n }\n\n switch (this.state) {\n case TuiFileState.Deleted:\n return `tuiIconTrashLarge`;\n case TuiFileState.Error:\n return `tuiIconAlertCircleLarge`;\n default:\n return `tuiIconCheckCircleLarge`;\n }\n }\n\n @HostBinding(`class._link`)\n get src(): string {\n return this.file.src || ``;\n }\n\n get name(): string {\n return this.getName(this.file);\n }\n\n get type(): string {\n return this.getType(this.file);\n }\n\n get content$(): Observable<PolymorpheusContent> {\n return this.calculateContent$(this.state, this.file, this.fileTexts$);\n }\n\n get fileSize$(): Observable<string | null> {\n return this.calculateFileSize$(this.file, this.units$);\n }\n\n onRemoveClick(): void {\n this.removed.emit();\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.focused = focusVisible;\n }\n\n @tuiPure\n private calculateContent$(\n state: TuiFileStateT,\n file: TuiFileLike,\n fileTexts$: Observable<Record<'loadingError' | 'preview' | 'remove', string>>,\n ): Observable<PolymorpheusContent> {\n return state === TuiFileState.Error && !file.content\n ? fileTexts$.pipe(map(texts => texts.loadingError))\n : of(this.file.content || ``);\n }\n\n @tuiPure\n private calculateFileSize$(\n file: TuiFileLike,\n units$: Observable<[string, string, string]>,\n ): Observable<string | null> {\n return units$.pipe(map(units => formatSize(units, file.size)));\n }\n\n @tuiPure\n private createPreview(file: TuiFileLike, sanitizer: DomSanitizer): SafeValue {\n if (file.src) {\n return file.src;\n }\n\n // TODO: iframe warning\n if (file instanceof File && file.type && file.type.startsWith(`image/`)) {\n return sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file));\n }\n\n return ``;\n }\n\n @tuiPure\n private getName(file: TuiFileLike): string {\n return file.name.split(`.`).slice(0, -1).join(`.`);\n }\n\n @tuiPure\n private getType(file: TuiFileLike): string {\n return `.${file.name.split(`.`).pop()}` || ``;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiDefaultProp, TuiItemDirective} from '@taiga-ui/cdk';\nimport {TUI_HIDE_TEXT, TUI_SHOW_ALL_TEXT} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: `tui-files`,\n templateUrl: `./files.component.html`,\n styleUrls: [`./files.component.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiFilesComponent {\n @ContentChildren(TuiItemDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<Record<string, unknown>>> | null = null;\n\n @Input()\n @tuiDefaultProp()\n max = 0;\n\n hidden = true;\n\n constructor(\n @Inject(TUI_HIDE_TEXT) readonly hideText$: Observable<string>,\n @Inject(TUI_SHOW_ALL_TEXT) readonly showAllText$: Observable<string>,\n ) {}\n\n get hasExtraItems(): boolean {\n return !!this.max && (this.items?.length ?? 0) > this.max;\n }\n\n toggle(): void {\n this.hidden = !this.hidden;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusVisibleModule, TuiItemDirective, TuiItemModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiLoaderModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiFileComponent} from './file/file.component';\nimport {TuiFilesComponent} from './files.component';\n\n@NgModule({\n declarations: [TuiFilesComponent, TuiFileComponent],\n imports: [\n CommonModule,\n TuiGroupModule,\n TuiLoaderModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiFocusVisibleModule,\n TuiButtonModule,\n TuiItemModule,\n TuiExpandModule,\n ],\n exports: [TuiFilesComponent, TuiFileComponent, TuiItemDirective],\n})\nexport class TuiFilesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}