@snabcentr/client-ui 1.8.2 → 1.8.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,6 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import { ScICategoryProductPaginationParams, ScIPaginationMeta } from '@snabcentr/client-core';
3
+ import { Observable } from 'rxjs';
3
4
  import * as i0 from "@angular/core";
4
5
  /**
5
6
  * Компонент элементов управления пагинацией списка товаров.
@@ -8,13 +9,17 @@ export declare class ScPriceListPaginationComponent {
8
9
  readonly nextPageClickEvent: EventEmitter<void>;
9
10
  readonly options: ScICategoryProductPaginationParams;
10
11
  /**
11
- * Данные пагинации.
12
+ * Сервис пагинации.
12
13
  */
13
- meta?: ScIPaginationMeta;
14
+ private readonly paginationService;
14
15
  /**
15
- * Состояние загрузки пагинации.
16
+ * Дополнительные данные пагинации.
16
17
  */
17
- loadingPagination: boolean;
18
+ meta$: Observable<ScIPaginationMeta>;
19
+ /**
20
+ * Признак, что кнопка неактивна.
21
+ */
22
+ disabled$: Observable<boolean>;
18
23
  /**
19
24
  * Инициализирует экземпляр класса {@link ScPriceListPaginationComponent}.
20
25
  *
@@ -23,5 +28,5 @@ export declare class ScPriceListPaginationComponent {
23
28
  */
24
29
  constructor(nextPageClickEvent: EventEmitter<void>, options: ScICategoryProductPaginationParams);
25
30
  static ɵfac: i0.ɵɵFactoryDeclaration<ScPriceListPaginationComponent, never>;
26
- static ɵcmp: i0.ɵɵComponentDeclaration<ScPriceListPaginationComponent, "sc-price-list-pagination", never, { "meta": "meta"; "loadingPagination": "loadingPagination"; }, {}, never, never, false>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScPriceListPaginationComponent, "sc-price-list-pagination", never, {}, {}, never, never, false>;
27
32
  }
@@ -1,5 +1,7 @@
1
- import { ChangeDetectionStrategy, Component, Inject, Input } from '@angular/core';
2
- import { SC_PRODUCT_PAGINATION_CHANGE_PROVIDERS, SC_NEXT_PAGE_PAGINATION_CLICK, SC_PRODUCT_PAGINATION_OPTIONS } from '../../providers/productsPagination';
1
+ import { ChangeDetectionStrategy, Component, Inject, inject } from '@angular/core';
2
+ import { SC_NEXT_PAGE_PAGINATION_CLICK, SC_PRODUCT_PAGINATION_OPTIONS, ScPaginationService } from '@snabcentr/client-core';
3
+ import { tuiIsFalsy, tuiIsPresent } from '@taiga-ui/cdk';
4
+ import { filter, map } from 'rxjs';
3
5
  import * as i0 from "@angular/core";
4
6
  import * as i1 from "@angular/common";
5
7
  import * as i2 from "@taiga-ui/core";
@@ -16,22 +18,32 @@ export class ScPriceListPaginationComponent {
16
18
  constructor(nextPageClickEvent, options) {
17
19
  this.nextPageClickEvent = nextPageClickEvent;
18
20
  this.options = options;
21
+ /**
22
+ * Сервис пагинации.
23
+ */
24
+ this.paginationService = inject((ScPaginationService), {
25
+ skipSelf: true,
26
+ });
27
+ /**
28
+ * Дополнительные данные пагинации.
29
+ */
30
+ this.meta$ = this.paginationService.dataAccumulated$.pipe(filter(tuiIsPresent), map((pagination) => pagination.meta));
31
+ /**
32
+ * Признак, что кнопка неактивна.
33
+ */
34
+ this.disabled$ = this.paginationService.dataAccumulated$.pipe(map(tuiIsFalsy));
19
35
  }
20
36
  }
21
37
  ScPriceListPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScPriceListPaginationComponent, deps: [{ token: SC_NEXT_PAGE_PAGINATION_CLICK }, { token: SC_PRODUCT_PAGINATION_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
22
- ScPriceListPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScPriceListPaginationComponent, selector: "sc-price-list-pagination", inputs: { meta: "meta", loadingPagination: "loadingPagination" }, providers: [SC_PRODUCT_PAGINATION_CHANGE_PROVIDERS], ngImport: i0, template: "<button\n *ngIf=\"meta?.currentPage !== meta?.lastPage\"\n tuiButton\n (click)=\"nextPageClickEvent.emit()\"\n [disabled]=\"loadingPagination\"\n appearance=\"secondary\"\n class=\"!font-bold\"\n>\n \u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0435\u0449\u0451 {{ options.perPage }} \u0442\u043E\u0432\u0430\u0440\u043E\u0432\n</button>\n<!-- \u0412 \u0431\u0443\u0434\u0443\u0449\u0435\u043C \u043C\u043E\u0436\u043D\u043E \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0430\u0433\u0438\u043D\u0430\u0446\u0438\u044E \u043F\u043E \u043D\u043E\u043C\u0435\u0440\u0430\u043C \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B. -->\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
+ ScPriceListPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScPriceListPaginationComponent, selector: "sc-price-list-pagination", ngImport: i0, template: "<ng-container *ngIf=\"meta$ | async as meta\">\n <button\n *ngIf=\"meta?.currentPage !== meta?.lastPage\"\n tuiButton\n (click)=\"nextPageClickEvent.emit()\"\n [disabled]=\"!!(disabled$ | async)\"\n appearance=\"secondary\"\n class=\"!font-bold\"\n >\n \u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0435\u0449\u0451 {{ options.perPage }} \u0442\u043E\u0432\u0430\u0440\u043E\u0432\n </button>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
23
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScPriceListPaginationComponent, decorators: [{
24
40
  type: Component,
25
- args: [{ selector: 'sc-price-list-pagination', changeDetection: ChangeDetectionStrategy.OnPush, providers: [SC_PRODUCT_PAGINATION_CHANGE_PROVIDERS], template: "<button\n *ngIf=\"meta?.currentPage !== meta?.lastPage\"\n tuiButton\n (click)=\"nextPageClickEvent.emit()\"\n [disabled]=\"loadingPagination\"\n appearance=\"secondary\"\n class=\"!font-bold\"\n>\n \u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0435\u0449\u0451 {{ options.perPage }} \u0442\u043E\u0432\u0430\u0440\u043E\u0432\n</button>\n<!-- \u0412 \u0431\u0443\u0434\u0443\u0449\u0435\u043C \u043C\u043E\u0436\u043D\u043E \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0430\u0433\u0438\u043D\u0430\u0446\u0438\u044E \u043F\u043E \u043D\u043E\u043C\u0435\u0440\u0430\u043C \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B. -->\n" }]
41
+ args: [{ selector: 'sc-price-list-pagination', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"meta$ | async as meta\">\n <button\n *ngIf=\"meta?.currentPage !== meta?.lastPage\"\n tuiButton\n (click)=\"nextPageClickEvent.emit()\"\n [disabled]=\"!!(disabled$ | async)\"\n appearance=\"secondary\"\n class=\"!font-bold\"\n >\n \u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0435\u0449\u0451 {{ options.perPage }} \u0442\u043E\u0432\u0430\u0440\u043E\u0432\n </button>\n</ng-container>\n" }]
26
42
  }], ctorParameters: function () { return [{ type: i0.EventEmitter, decorators: [{
27
43
  type: Inject,
28
44
  args: [SC_NEXT_PAGE_PAGINATION_CLICK]
29
45
  }] }, { type: undefined, decorators: [{
30
46
  type: Inject,
31
47
  args: [SC_PRODUCT_PAGINATION_OPTIONS]
32
- }] }]; }, propDecorators: { meta: [{
33
- type: Input
34
- }], loadingPagination: [{
35
- type: Input
36
- }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtbGlzdC1wYWdpbmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jYXRhbG9nL3ByaWNlLWxpc3QtcGFnaW5hdGlvbi9zYy1wcmljZS1saXN0LXBhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtbGlzdC1wYWdpbmF0aW9uL3NjLXByaWNlLWxpc3QtcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFnQixNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSw2QkFBNkIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7O0FBRzFKOztHQUVHO0FBT0gsTUFBTSxPQUFPLDhCQUE4QjtJQWF2Qzs7Ozs7T0FLRztJQUNILFlBQzJELGtCQUFzQyxFQUN0QyxPQUEyQztRQUQzQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLFlBQU8sR0FBUCxPQUFPLENBQW9DO0lBQ25HLENBQUM7OzJIQXRCSyw4QkFBOEIsa0JBb0IzQiw2QkFBNkIsYUFDN0IsNkJBQTZCOytHQXJCaEMsOEJBQThCLHFIQUY1QixDQUFDLHNDQUFzQyxDQUFDLDBCQ1h2RCw0cEJBV0E7MkZERWEsOEJBQThCO2tCQU4xQyxTQUFTOytCQUNJLDBCQUEwQixtQkFFbkIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLHNDQUFzQyxDQUFDOzswQkFzQjlDLE1BQU07MkJBQUMsNkJBQTZCOzswQkFDcEMsTUFBTTsyQkFBQyw2QkFBNkI7NENBaEJsQyxJQUFJO3NCQURWLEtBQUs7Z0JBT0MsaUJBQWlCO3NCQUR2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTQ19QUk9EVUNUX1BBR0lOQVRJT05fQ0hBTkdFX1BST1ZJREVSUywgU0NfTkVYVF9QQUdFX1BBR0lOQVRJT05fQ0xJQ0ssIFNDX1BST0RVQ1RfUEFHSU5BVElPTl9PUFRJT05TIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3Byb2R1Y3RzUGFnaW5hdGlvbic7XG5pbXBvcnQgeyBTY0lDYXRlZ29yeVByb2R1Y3RQYWdpbmF0aW9uUGFyYW1zLCBTY0lQYWdpbmF0aW9uTWV0YSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDRjdC70LXQvNC10L3RgtC+0LIg0YPQv9GA0LDQstC70LXQvdC40Y8g0L/QsNCz0LjQvdCw0YbQuNC10Lkg0YHQv9C40YHQutCwINGC0L7QstCw0YDQvtCyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByaWNlLWxpc3QtcGFnaW5hdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXByaWNlLWxpc3QtcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbU0NfUFJPRFVDVF9QQUdJTkFUSU9OX0NIQU5HRV9QUk9WSURFUlNdXG59KVxuZXhwb3J0IGNsYXNzIFNjUHJpY2VMaXN0UGFnaW5hdGlvbkNvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0JTQsNC90L3Ri9C1INC/0LDQs9C40L3QsNGG0LjQuC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtZXRhPzogU2NJUGFnaW5hdGlvbk1ldGE7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0YHRgtC+0Y/QvdC40LUg0LfQsNCz0YDRg9C30LrQuCDQv9Cw0LPQuNC90LDRhtC40LguXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbG9hZGluZ1BhZ2luYXRpb246IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjUHJpY2VMaXN0UGFnaW5hdGlvbkNvbXBvbmVudH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmV4dFBhZ2VDbGlja0V2ZW50INCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDIFwi0J/QvtC60LDQt9Cw0YLRjCDRgdC70LXQtNGD0Y7RidC40LUgTiDQv9C+0LfQuNGG0LjQuVwiLlxuICAgICAqIEBwYXJhbSBvcHRpb25zINCX0L3QsNGH0LXQvdC40Y8g0L/QsNCz0LjQvdCw0YbQuNC4INGB0L/QuNGB0LrQsCDRgtC+0LLQsNGA0L7QsiDQutCw0YLQtdCz0L7RgNC40Lgg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4uXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFNDX05FWFRfUEFHRV9QQUdJTkFUSU9OX0NMSUNLKSBwdWJsaWMgcmVhZG9ubHkgbmV4dFBhZ2VDbGlja0V2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4sXG4gICAgICAgIEBJbmplY3QoU0NfUFJPRFVDVF9QQUdJTkFUSU9OX09QVElPTlMpIHB1YmxpYyByZWFkb25seSBvcHRpb25zOiBTY0lDYXRlZ29yeVByb2R1Y3RQYWdpbmF0aW9uUGFyYW1zXG4gICAgKSB7fVxufVxuIiwiPGJ1dHRvblxuICAgICpuZ0lmPVwibWV0YT8uY3VycmVudFBhZ2UgIT09IG1ldGE/Lmxhc3RQYWdlXCJcbiAgICB0dWlCdXR0b25cbiAgICAoY2xpY2spPVwibmV4dFBhZ2VDbGlja0V2ZW50LmVtaXQoKVwiXG4gICAgW2Rpc2FibGVkXT1cImxvYWRpbmdQYWdpbmF0aW9uXCJcbiAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICBjbGFzcz1cIiFmb250LWJvbGRcIlxuPlxuICAgINCf0L7QutCw0LfQsNGC0Ywg0LXRidGRIHt7IG9wdGlvbnMucGVyUGFnZSB9fSDRgtC+0LLQsNGA0L7QslxuPC9idXR0b24+XG48IS0tINCSINCx0YPQtNGD0YnQtdC8INC80L7QttC90L4g0LTQvtCx0LDQstC40YLRjCDQv9Cw0LPQuNC90LDRhtC40Y4g0L/QviDQvdC+0LzQtdGA0LDQvCDRgdGC0YDQsNC90LjRhtGLLiAtLT5cbiJdfQ==
48
+ }] }]; } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtbGlzdC1wYWdpbmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jYXRhbG9nL3ByaWNlLWxpc3QtcGFnaW5hdGlvbi9zYy1wcmljZS1saXN0LXBhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtbGlzdC1wYWdpbmF0aW9uL3NjLXByaWNlLWxpc3QtcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFnQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSw2QkFBNkIsRUFBeUQsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsTCxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7OztBQUUvQzs7R0FFRztBQU1ILE1BQU0sT0FBTyw4QkFBOEI7SUFxQnZDOzs7OztPQUtHO0lBQ0gsWUFDMkQsa0JBQXNDLEVBQ3RDLE9BQTJDO1FBRDNDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsWUFBTyxHQUFQLE9BQU8sQ0FBb0M7UUE1QnRHOztXQUVHO1FBQ2Msc0JBQWlCLEdBQUcsTUFBTSxDQUEwRCxDQUFBLG1CQUF1RCxDQUFBLEVBQUU7WUFDMUosUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDSSxVQUFLLEdBQWtDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQ3RGLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFDcEIsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQ3ZDLENBQUM7UUFFRjs7V0FFRztRQUNJLGNBQVMsR0FBd0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQVduRyxDQUFDOzsySEE5QkssOEJBQThCLGtCQTRCM0IsNkJBQTZCLGFBQzdCLDZCQUE2QjsrR0E3QmhDLDhCQUE4QixnRUNiM0MsNGRBWUE7MkZEQ2EsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNJLDBCQUEwQixtQkFFbkIsdUJBQXVCLENBQUMsTUFBTTs7MEJBOEIxQyxNQUFNOzJCQUFDLDZCQUE2Qjs7MEJBQ3BDLE1BQU07MkJBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU0NfTkVYVF9QQUdFX1BBR0lOQVRJT05fQ0xJQ0ssIFNDX1BST0RVQ1RfUEFHSU5BVElPTl9PUFRJT05TLCBTY0lDYXRlZ29yeVByb2R1Y3RQYWdpbmF0aW9uUGFyYW1zLCBTY0lQYWdpbmF0aW9uTWV0YSwgU2NQYWdpbmF0aW9uU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgdHVpSXNGYWxzeSwgdHVpSXNQcmVzZW50IH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDRjdC70LXQvNC10L3RgtC+0LIg0YPQv9GA0LDQstC70LXQvdC40Y8g0L/QsNCz0LjQvdCw0YbQuNC10Lkg0YHQv9C40YHQutCwINGC0L7QstCw0YDQvtCyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByaWNlLWxpc3QtcGFnaW5hdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXByaWNlLWxpc3QtcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjUHJpY2VMaXN0UGFnaW5hdGlvbkNvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC/0LDQs9C40L3QsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2luYXRpb25TZXJ2aWNlID0gaW5qZWN0PFNjUGFnaW5hdGlvblNlcnZpY2U8U2NJQ2F0ZWdvcnlQcm9kdWN0UGFnaW5hdGlvblBhcmFtcz4+KFNjUGFnaW5hdGlvblNlcnZpY2U8U2NJQ2F0ZWdvcnlQcm9kdWN0UGFnaW5hdGlvblBhcmFtcz4sIHtcbiAgICAgICAgc2tpcFNlbGY6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiDQlNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9C1INC00LDQvdC90YvQtSDQv9Cw0LPQuNC90LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIG1ldGEkOiBPYnNlcnZhYmxlPFNjSVBhZ2luYXRpb25NZXRhPiA9IHRoaXMucGFnaW5hdGlvblNlcnZpY2UuZGF0YUFjY3VtdWxhdGVkJC5waXBlKFxuICAgICAgICBmaWx0ZXIodHVpSXNQcmVzZW50KSxcbiAgICAgICAgbWFwKChwYWdpbmF0aW9uKSA9PiBwYWdpbmF0aW9uLm1ldGEpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0LrQvdC+0L/QutCwINC90LXQsNC60YLQuNCy0L3QsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzYWJsZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5wYWdpbmF0aW9uU2VydmljZS5kYXRhQWNjdW11bGF0ZWQkLnBpcGUobWFwKHR1aUlzRmFsc3kpKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NQcmljZUxpc3RQYWdpbmF0aW9uQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuZXh0UGFnZUNsaWNrRXZlbnQg0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMgXCLQn9C+0LrQsNC30LDRgtGMINGB0LvQtdC00YPRjtGJ0LjQtSBOINC/0L7Qt9C40YbQuNC5XCIuXG4gICAgICogQHBhcmFtIG9wdGlvbnMg0JfQvdCw0YfQtdC90LjRjyDQv9Cw0LPQuNC90LDRhtC40Lgg0YHQv9C40YHQutCwINGC0L7QstCw0YDQvtCyINC60LDRgtC10LPQvtGA0LjQuCDQv9C+INGD0LzQvtC70YfQsNC90LjRji5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoU0NfTkVYVF9QQUdFX1BBR0lOQVRJT05fQ0xJQ0spIHB1YmxpYyByZWFkb25seSBuZXh0UGFnZUNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPixcbiAgICAgICAgQEluamVjdChTQ19QUk9EVUNUX1BBR0lOQVRJT05fT1BUSU9OUykgcHVibGljIHJlYWRvbmx5IG9wdGlvbnM6IFNjSUNhdGVnb3J5UHJvZHVjdFBhZ2luYXRpb25QYXJhbXNcbiAgICApIHt9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibWV0YSQgfCBhc3luYyBhcyBtZXRhXCI+XG4gICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cIm1ldGE/LmN1cnJlbnRQYWdlICE9PSBtZXRhPy5sYXN0UGFnZVwiXG4gICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAoY2xpY2spPVwibmV4dFBhZ2VDbGlja0V2ZW50LmVtaXQoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhIShkaXNhYmxlZCQgfCBhc3luYylcIlxuICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgY2xhc3M9XCIhZm9udC1ib2xkXCJcbiAgICA+XG4gICAgICAgINCf0L7QutCw0LfQsNGC0Ywg0LXRidGRIHt7IG9wdGlvbnMucGVyUGFnZSB9fSDRgtC+0LLQsNGA0L7QslxuICAgIDwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -1,3 +1,2 @@
1
1
  export * from './scUserProviders';
2
- export * from './productsPagination';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcHJvdmlkZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2NVc2VyUHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdHNQYWdpbmF0aW9uJztcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcHJvdmlkZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NjVXNlclByb3ZpZGVycyc7XG4iXX0=
@@ -1,9 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, ChangeDetectionStrategy, Inject, Input, Output, SkipSelf, inject, Directive, HostBinding, ContentChild, ViewChild, NgModule, ContentChildren, HostListener, Injectable, Renderer2, ElementRef, Pipe, Optional, ChangeDetectorRef, Self, InjectionToken, forwardRef } from '@angular/core';
2
+ import { EventEmitter, Component, ChangeDetectionStrategy, Inject, Input, Output, SkipSelf, inject, Directive, HostBinding, ContentChild, ViewChild, NgModule, ContentChildren, HostListener, Injectable, Renderer2, ElementRef, Pipe, Optional, ChangeDetectorRef, Self, forwardRef, InjectionToken } from '@angular/core';
3
3
  import * as i1 from '@snabcentr/client-core';
4
- import { ScUserMetrikaGoalsEnum, ScISuggestionType, ScOpfList, ScWarehouseService, ScAuthService, SEARCH_TERM, ScImageHelper, SC_PATH_IMAGE_NOT_FOUND, ScPhoneService, IS_RUNNING_ON_TERMINAL, SC_URLS, TERMINAL_PROVIDERS, SEARCH_TERM_PROVIDERS, ScCatalogService, ScCartService, ScIconTypesEnum, ScUserService } from '@snabcentr/client-core';
4
+ import { ScUserMetrikaGoalsEnum, ScISuggestionType, ScOpfList, ScWarehouseService, ScAuthService, SEARCH_TERM, ScImageHelper, SC_PATH_IMAGE_NOT_FOUND, ScPhoneService, IS_RUNNING_ON_TERMINAL, SC_URLS, TERMINAL_PROVIDERS, SEARCH_TERM_PROVIDERS, ScPaginationService, SC_NEXT_PAGE_PAGINATION_CLICK, SC_PRODUCT_PAGINATION_OPTIONS, ScIconTypesEnum, ScUserService } from '@snabcentr/client-core';
5
5
  import * as i5 from 'rxjs';
6
- import { Subject, map, filter, switchMap, tap, catchError, of, finalize, startWith, share, timer, scan, takeWhile, endWith, distinctUntilChanged, combineLatest, debounceTime, throwError, shareReplay, interval, takeUntil, merge, skip } from 'rxjs';
6
+ import { Subject, map, filter, switchMap, tap, catchError, of, finalize, startWith, share, timer, scan, takeWhile, endWith, distinctUntilChanged, combineLatest, debounceTime, throwError, shareReplay, interval, takeUntil, skip } from 'rxjs';
7
7
  import * as i2 from '@angular/common';
8
8
  import { CommonModule } from '@angular/common';
9
9
  import * as i4 from '@taiga-ui/core';
@@ -12,7 +12,7 @@ import { HttpErrorResponse } from '@angular/common/http';
12
12
  import * as i3 from '@angular/forms';
13
13
  import { FormGroupDirective, FormGroup, FormControl, Validators, NgControl, FormArray, FormsModule, ReactiveFormsModule } from '@angular/forms';
14
14
  import * as i6 from '@taiga-ui/cdk';
15
- import { tuiControlValue, tuiIsFalsy, tuiIsPresent, tuiMarkControlAsTouchedAndValidate, AbstractTuiControl, tuiCreateToken, TuiLetModule, TuiRepeatTimesModule, TUI_IS_MOBILE, tuiPure, AbstractTuiNullableControl, TuiDay, TuiDayRange, TuiMonth, TuiDestroyService, TuiHoveredModule, ALWAYS_TRUE_HANDLER } from '@taiga-ui/cdk';
15
+ import { tuiControlValue, tuiIsFalsy, tuiIsPresent, tuiMarkControlAsTouchedAndValidate, AbstractTuiControl, tuiCreateToken, TuiLetModule, TuiRepeatTimesModule, TUI_IS_MOBILE, tuiPure, AbstractTuiNullableControl, TuiDay, TuiDayRange, TuiMonth, TuiHoveredModule, TuiDestroyService, ALWAYS_TRUE_HANDLER } from '@taiga-ui/cdk';
16
16
  import * as i4$1 from '@taiga-ui/kit';
17
17
  import { TuiAccordionItemComponent, TuiAccordionModule, TuiElasticContainerModule, TuiInputModule, TuiFieldErrorPipeModule, TuiComboBoxModule, TuiDataListWrapperModule, TuiFilterByInputPipeModule, TuiStringifyContentPipeModule, TuiInputPhoneModule, TuiSelectModule, TuiCarouselModule, TuiInputPasswordModule, TuiCheckboxModule, TuiCheckboxLabeledModule, TuiStepperModule, TUI_NUMBER_VALUE_TRANSFORMER, TuiInputNumberComponent, TuiIslandModule, TuiInputNumberModule, TuiHighlightModule, TuiTreeService, TuiTreeItemContentComponent, TUI_TREE_START, TUI_TREE_CONTENT, TUI_TREE_LOADING, TUI_TREE_LOADER, TuiTreeModule, TuiAvatarModule } from '@taiga-ui/kit';
18
18
  import * as i6$1 from '@maskito/angular';
@@ -27,7 +27,7 @@ import * as i7$1 from '@taiga-ui/addon-preview';
27
27
  import { TuiPreviewModule, TuiPreviewDialogService } from '@taiga-ui/addon-preview';
28
28
  import * as i7 from '@ng-web-apis/intersection-observer';
29
29
  import { IntersectionObserverService, IntersectionObserverModule } from '@ng-web-apis/intersection-observer';
30
- import { RouterModule, NavigationEnd, ActivatedRoute, Router } from '@angular/router';
30
+ import { RouterModule } from '@angular/router';
31
31
  import * as i9 from '@taiga-ui/addon-commerce';
32
32
  import { TuiCurrencyPipeModule } from '@taiga-ui/addon-commerce';
33
33
  import * as i4$2 from '@taiga-ui/addon-charts';
@@ -3772,100 +3772,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
3772
3772
  type: Input
3773
3773
  }], computeLabels$: [], computeValue: [] } });
3774
3774
 
3775
- /**
3776
- * Значения пагинации списка товаров категории по умолчанию.
3777
- */
3778
- const SC_PRODUCT_PAGINATION_DEFAULT_OPTIONS = {
3779
- perPage: 20,
3780
- page: 0
3781
- };
3782
- /**
3783
- * Токен значений пагинации списка товаров в категории по умолчанию.
3784
- */
3785
- const SC_PRODUCT_PAGINATION_OPTIONS = tuiCreateToken(SC_PRODUCT_PAGINATION_DEFAULT_OPTIONS);
3786
- /**
3787
- * {@link Subject} параметров пагинации списка товаров в категории.
3788
- */
3789
- const paginationParams$ = new Subject();
3790
- /**
3791
- * Токен {@link Subject} параметров пагинации списка товаров в категории для получения их из вне.
3792
- */
3793
- const SC_PRODUCT_PAGINATION_PARAMS = tuiCreateToken(paginationParams$);
3794
- /**
3795
- * Фабрика создания потока данных о товарах категории с пагинацией, включая данные о количестве этих товаров в корзине.
3796
- *
3797
- * @param paramMap Данные о параметрах запроса.
3798
- * @param catalogService Сервис для работы с каталогом.
3799
- * @param cartService Сервис для работы с корзиной.
3800
- * @param authService Сервис для работы с аутентификации пользователей.
3801
- * @param destroy$ Сервис завершения {@link Observable} через `takeUntil`.
3802
- */
3803
- function productsPaginationChangeFactory({ paramMap }, catalogService, cartService, authService, destroy$) {
3804
- return paramMap.pipe(map((params) => params.get('categoryId')), filter(tuiIsPresent), switchMap((categoryId) => paginationParams$.pipe(debounceTime(20), switchMap((paginationParams) => authService.getAuthChange().pipe(switchMap(() => catalogService.getCategoryProducts$(Number(categoryId), paginationParams)))), filter(tuiIsPresent), scan((acc, value) => {
3805
- if (acc && value && value.meta.currentPage > 1)
3806
- value.data.unshift(...acc.data);
3807
- return value;
3808
- }, null), switchMap((productsPaginate) => cartService.getCartChange$().pipe(map((cart) => {
3809
- productsPaginate === null || productsPaginate === void 0 ? void 0 : productsPaginate.data.forEach((product) => (product.cartItem = cart.items.find((cartItem) => cartItem.product.id === product.id)));
3810
- return productsPaginate;
3811
- }))), startWith(null))), share(), takeUntil(destroy$));
3812
- }
3813
- /**
3814
- * Токен потока данных о товарах категории, включая данные о количестве этих товаров в корзине.
3815
- */
3816
- const SC_PRODUCT_PAGINATION_CHANGE_INFO = new InjectionToken('SC_PRODUCT_PAGINATION_CHANGE_INFO');
3817
- /**
3818
- * {@link EventEmitter} событие нажатия на кнопку "Показать следующие позиции категории".
3819
- */
3820
- const nextPageClickEvent = new EventEmitter();
3821
- /**
3822
- * Токен {@link EventEmitter} событие нажатия на кнопку "Показать следующие позиции категории".
3823
- */
3824
- const SC_NEXT_PAGE_PAGINATION_CLICK = tuiCreateToken(nextPageClickEvent);
3825
- /**
3826
- * Фабрика создания потока данных о состоянии загрузки запроса списка товаров с пагинацией пагинации.
3827
- */
3828
- function loadingPaginationFactory(productsData$, destroy$) {
3829
- return merge(paginationParams$.pipe(map(() => true)), productsData$.pipe(map((data) => data === null))).pipe(share(), takeUntil(destroy$));
3830
- }
3831
- /**
3832
- * Токен потока данных о состоянии загрузки товаров пагинации.
3833
- */
3834
- const SC_LOADING_PAGINATION_CHANGE_INFO = new InjectionToken('SC_LOADING_PAGINATION_CHANGE_INFO');
3835
- /**
3836
- * Фабрика создания потока данных прокрутки страницы с сигналами о необходимости пагинации товара.
3837
- */
3838
- function nextPagePaginationChangeFactory({ events }, nextPagePaginationClick, productsData$, destroy$) {
3839
- return nextPagePaginationClick
3840
- .pipe(scan((acc) => ++acc, 1), startWith(1))
3841
- .pipe(takeUntil(merge(events.pipe(filter((e) => e instanceof NavigationEnd)), productsData$.pipe(filter((paginate) => paginate !== null && paginate.meta.currentPage >= paginate.meta.lastPage)), destroy$)));
3842
- }
3843
- /**
3844
- * Токен потока данных прокрутки страницы с сигналами о необходимости пагинации товара.
3845
- */
3846
- const SC_NEXT_PAGE_PAGINATION_CHANGE_INFO = new InjectionToken('SC_NEXT_PAGE_PAGINATION_CHANGE_INFO');
3847
- /**
3848
- * Провайдеры потока данных о товарах категории, включая данные о количестве этих товаров в корзине.
3849
- */
3850
- const SC_PRODUCT_PAGINATION_CHANGE_PROVIDERS = [
3851
- TuiDestroyService,
3852
- {
3853
- provide: SC_PRODUCT_PAGINATION_CHANGE_INFO,
3854
- deps: [ActivatedRoute, ScCatalogService, ScCartService, ScAuthService, TuiDestroyService],
3855
- useFactory: productsPaginationChangeFactory
3856
- },
3857
- {
3858
- provide: SC_NEXT_PAGE_PAGINATION_CHANGE_INFO,
3859
- deps: [Router, SC_NEXT_PAGE_PAGINATION_CLICK, SC_PRODUCT_PAGINATION_CHANGE_INFO, TuiDestroyService],
3860
- useFactory: nextPagePaginationChangeFactory
3861
- },
3862
- {
3863
- provide: SC_LOADING_PAGINATION_CHANGE_INFO,
3864
- deps: [SC_PRODUCT_PAGINATION_CHANGE_INFO, TuiDestroyService],
3865
- useFactory: loadingPaginationFactory
3866
- }
3867
- ];
3868
-
3869
3775
  /**
3870
3776
  * Компонент элементов управления пагинацией списка товаров.
3871
3777
  */
@@ -3879,13 +3785,27 @@ class ScPriceListPaginationComponent {
3879
3785
  constructor(nextPageClickEvent, options) {
3880
3786
  this.nextPageClickEvent = nextPageClickEvent;
3881
3787
  this.options = options;
3788
+ /**
3789
+ * Сервис пагинации.
3790
+ */
3791
+ this.paginationService = inject((ScPaginationService), {
3792
+ skipSelf: true,
3793
+ });
3794
+ /**
3795
+ * Дополнительные данные пагинации.
3796
+ */
3797
+ this.meta$ = this.paginationService.dataAccumulated$.pipe(filter(tuiIsPresent), map((pagination) => pagination.meta));
3798
+ /**
3799
+ * Признак, что кнопка неактивна.
3800
+ */
3801
+ this.disabled$ = this.paginationService.dataAccumulated$.pipe(map(tuiIsFalsy));
3882
3802
  }
3883
3803
  }
3884
3804
  ScPriceListPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScPriceListPaginationComponent, deps: [{ token: SC_NEXT_PAGE_PAGINATION_CLICK }, { token: SC_PRODUCT_PAGINATION_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
3885
- ScPriceListPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScPriceListPaginationComponent, selector: "sc-price-list-pagination", inputs: { meta: "meta", loadingPagination: "loadingPagination" }, providers: [SC_PRODUCT_PAGINATION_CHANGE_PROVIDERS], ngImport: i0, template: "<button\n *ngIf=\"meta?.currentPage !== meta?.lastPage\"\n tuiButton\n (click)=\"nextPageClickEvent.emit()\"\n [disabled]=\"loadingPagination\"\n appearance=\"secondary\"\n class=\"!font-bold\"\n>\n \u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0435\u0449\u0451 {{ options.perPage }} \u0442\u043E\u0432\u0430\u0440\u043E\u0432\n</button>\n<!-- \u0412 \u0431\u0443\u0434\u0443\u0449\u0435\u043C \u043C\u043E\u0436\u043D\u043E \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0430\u0433\u0438\u043D\u0430\u0446\u0438\u044E \u043F\u043E \u043D\u043E\u043C\u0435\u0440\u0430\u043C \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B. -->\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3805
+ ScPriceListPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScPriceListPaginationComponent, selector: "sc-price-list-pagination", ngImport: i0, template: "<ng-container *ngIf=\"meta$ | async as meta\">\n <button\n *ngIf=\"meta?.currentPage !== meta?.lastPage\"\n tuiButton\n (click)=\"nextPageClickEvent.emit()\"\n [disabled]=\"!!(disabled$ | async)\"\n appearance=\"secondary\"\n class=\"!font-bold\"\n >\n \u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0435\u0449\u0451 {{ options.perPage }} \u0442\u043E\u0432\u0430\u0440\u043E\u0432\n </button>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3886
3806
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScPriceListPaginationComponent, decorators: [{
3887
3807
  type: Component,
3888
- args: [{ selector: 'sc-price-list-pagination', changeDetection: ChangeDetectionStrategy.OnPush, providers: [SC_PRODUCT_PAGINATION_CHANGE_PROVIDERS], template: "<button\n *ngIf=\"meta?.currentPage !== meta?.lastPage\"\n tuiButton\n (click)=\"nextPageClickEvent.emit()\"\n [disabled]=\"loadingPagination\"\n appearance=\"secondary\"\n class=\"!font-bold\"\n>\n \u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0435\u0449\u0451 {{ options.perPage }} \u0442\u043E\u0432\u0430\u0440\u043E\u0432\n</button>\n<!-- \u0412 \u0431\u0443\u0434\u0443\u0449\u0435\u043C \u043C\u043E\u0436\u043D\u043E \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0430\u0433\u0438\u043D\u0430\u0446\u0438\u044E \u043F\u043E \u043D\u043E\u043C\u0435\u0440\u0430\u043C \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B. -->\n" }]
3808
+ args: [{ selector: 'sc-price-list-pagination', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"meta$ | async as meta\">\n <button\n *ngIf=\"meta?.currentPage !== meta?.lastPage\"\n tuiButton\n (click)=\"nextPageClickEvent.emit()\"\n [disabled]=\"!!(disabled$ | async)\"\n appearance=\"secondary\"\n class=\"!font-bold\"\n >\n \u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0435\u0449\u0451 {{ options.perPage }} \u0442\u043E\u0432\u0430\u0440\u043E\u0432\n </button>\n</ng-container>\n" }]
3889
3809
  }], ctorParameters: function () {
3890
3810
  return [{ type: i0.EventEmitter, decorators: [{
3891
3811
  type: Inject,
@@ -3894,11 +3814,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
3894
3814
  type: Inject,
3895
3815
  args: [SC_PRODUCT_PAGINATION_OPTIONS]
3896
3816
  }] }];
3897
- }, propDecorators: { meta: [{
3898
- type: Input
3899
- }], loadingPagination: [{
3900
- type: Input
3901
- }] } });
3817
+ } });
3902
3818
 
3903
3819
  /**
3904
3820
  * Модуль каталога.
@@ -6001,5 +5917,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
6001
5917
  * Generated bundle index. Do not edit.
6002
5918
  */
6003
5919
 
6004
- export { AbstractScPriceCard, AuthMethod, FilesAndDocumentsComponent, FilesAndDocumentsModule, SC_LINEAR_VALUES, SC_LINEAR_VALUES_TOKEN, SC_LOADING_PAGINATION_CHANGE_INFO, SC_NEXT_PAGE_PAGINATION_CHANGE_INFO, SC_NEXT_PAGE_PAGINATION_CLICK, SC_PRODUCT_PAGINATION_CHANGE_INFO, SC_PRODUCT_PAGINATION_CHANGE_PROVIDERS, SC_PRODUCT_PAGINATION_DEFAULT_OPTIONS, SC_PRODUCT_PAGINATION_OPTIONS, SC_PRODUCT_PAGINATION_PARAMS, SC_USER_INFO, SC_USER_PROVIDERS, ScAccordionComponent, ScAccordionContentDirective, ScAccordionModule, ScAddContactDialogComponent, ScAddContragentBankAccountsDialogComponent, ScAddContragentDialogComponent, ScAddDeliveryAddressDialogComponent, ScAddressesSelectionFieldComponent, ScAskToSampleFormComponent, ScAuthModule, ScBannerComponent, ScBannerModule, ScBrandsListComponent, ScBrandsListModule, ScCartItemMobileComponent, ScCartModule, ScCatalogModule, ScCategoriesListComponent, ScCategoryCardComponent, ScContactsAccordionComponent, ScContactsModule, ScContragentsAccordionComponent, ScContragentsAccordionItemComponent, ScContragentsModule, ScDeliveryAddressAccordionComponent, ScDeliveryAddressAccordionItemComponent, ScDeliveryAddressModule, ScFavoriteBtnComponent, ScFormFieldsModule, ScFormatePhonePipe, ScInputQuantityComponent, ScNewContactFormComponent, ScNewContragentBankAccountsFormComponent, ScNewContragentFormComponent, ScNewsCardComponent, ScNewsCardSkeletonComponent, ScNewsModule, ScNextInputFocusDirective, ScNextInputFocusModule, ScOrderItemMobileComponent, ScOrderModule, ScPaymentStatusComponent, ScPreviewSampleComponent, ScPreviewSampleModule, ScPriceCardComponent, ScPriceHistoryComponent, ScPriceListPaginationComponent, ScPriceWarehouseStockComponent, ScProfileAccordionsContentComponent, ScProfileModule, ScQRCodeDialogComponent, ScQRCodeModule, ScResetUserPasswordComponent, ScShareButtonComponent, ScShareButtonModule, ScSignInFormByEmailComponent, ScSignInFormByPhoneComponent, ScSignInFormComponent, ScSignUpFormComponent, ScSuggestionFieldComponent, ScTelLinkDirective, ScTelLinkModule, ScTerminalLinkDirective, ScUpdateUserInfoDialogComponent, ScUserManagersComponent, ScUserModule, ScUserPhoneApproveDialogComponent, ScVerificationModule, ScVerificationPhoneCheckFormComponent, TreeDirective, TreeIconService, TreeLoaderService, TreeTopDirective, nextPageClickEvent, paginationParams$, scBicValidator, scClientUiIconsName, scCorrespondentAccountValidator, scPasswordConfirmMatchingValidator, scUserFactory, stepValidator };
5920
+ export { AbstractScPriceCard, AuthMethod, FilesAndDocumentsComponent, FilesAndDocumentsModule, SC_LINEAR_VALUES, SC_LINEAR_VALUES_TOKEN, SC_USER_INFO, SC_USER_PROVIDERS, ScAccordionComponent, ScAccordionContentDirective, ScAccordionModule, ScAddContactDialogComponent, ScAddContragentBankAccountsDialogComponent, ScAddContragentDialogComponent, ScAddDeliveryAddressDialogComponent, ScAddressesSelectionFieldComponent, ScAskToSampleFormComponent, ScAuthModule, ScBannerComponent, ScBannerModule, ScBrandsListComponent, ScBrandsListModule, ScCartItemMobileComponent, ScCartModule, ScCatalogModule, ScCategoriesListComponent, ScCategoryCardComponent, ScContactsAccordionComponent, ScContactsModule, ScContragentsAccordionComponent, ScContragentsAccordionItemComponent, ScContragentsModule, ScDeliveryAddressAccordionComponent, ScDeliveryAddressAccordionItemComponent, ScDeliveryAddressModule, ScFavoriteBtnComponent, ScFormFieldsModule, ScFormatePhonePipe, ScInputQuantityComponent, ScNewContactFormComponent, ScNewContragentBankAccountsFormComponent, ScNewContragentFormComponent, ScNewsCardComponent, ScNewsCardSkeletonComponent, ScNewsModule, ScNextInputFocusDirective, ScNextInputFocusModule, ScOrderItemMobileComponent, ScOrderModule, ScPaymentStatusComponent, ScPreviewSampleComponent, ScPreviewSampleModule, ScPriceCardComponent, ScPriceHistoryComponent, ScPriceListPaginationComponent, ScPriceWarehouseStockComponent, ScProfileAccordionsContentComponent, ScProfileModule, ScQRCodeDialogComponent, ScQRCodeModule, ScResetUserPasswordComponent, ScShareButtonComponent, ScShareButtonModule, ScSignInFormByEmailComponent, ScSignInFormByPhoneComponent, ScSignInFormComponent, ScSignUpFormComponent, ScSuggestionFieldComponent, ScTelLinkDirective, ScTelLinkModule, ScTerminalLinkDirective, ScUpdateUserInfoDialogComponent, ScUserManagersComponent, ScUserModule, ScUserPhoneApproveDialogComponent, ScVerificationModule, ScVerificationPhoneCheckFormComponent, TreeDirective, TreeIconService, TreeLoaderService, TreeTopDirective, scBicValidator, scClientUiIconsName, scCorrespondentAccountValidator, scPasswordConfirmMatchingValidator, scUserFactory, stepValidator };
6005
5921
  //# sourceMappingURL=snabcentr-client-ui.mjs.map