@snabcentr/client-ui 1.8.2 → 1.8.4

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.

Potentially problematic release.


This version of @snabcentr/client-ui might be problematic. Click here for more details.

@@ -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