@snabcentr/client-ui 1.8.1 → 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.
- package/catalog/price-list-pagination/sc-price-list-pagination.component.d.ts +10 -5
- package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +6 -0
- package/esm2020/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +22 -10
- package/esm2020/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +16 -7
- package/esm2020/providers/index.mjs +1 -2
- package/fesm2015/snabcentr-client-ui.mjs +38 -113
- package/fesm2015/snabcentr-client-ui.mjs.map +1 -1
- package/fesm2020/snabcentr-client-ui.mjs +38 -113
- package/fesm2020/snabcentr-client-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/providers/index.d.ts +0 -1
- package/esm2020/providers/productsPagination.mjs +0 -99
- package/providers/productsPagination.d.ts +0 -43
@@ -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,
|
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,
|
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,
|
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,
|
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
|
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",
|
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,
|
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
|
-
}
|
3898
|
-
type: Input
|
3899
|
-
}], loadingPagination: [{
|
3900
|
-
type: Input
|
3901
|
-
}] } });
|
3817
|
+
} });
|
3902
3818
|
|
3903
3819
|
/**
|
3904
3820
|
* Модуль каталога.
|
@@ -4171,10 +4087,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
4171
4087
|
}]
|
4172
4088
|
}] });
|
4173
4089
|
|
4090
|
+
var ScAddDeliveryAddressDialogComponent_1;
|
4174
4091
|
/**
|
4175
4092
|
* Компонент добавления адреса доставки.
|
4176
4093
|
*/
|
4177
|
-
let ScAddDeliveryAddressDialogComponent = class ScAddDeliveryAddressDialogComponent {
|
4094
|
+
let ScAddDeliveryAddressDialogComponent = ScAddDeliveryAddressDialogComponent_1 = class ScAddDeliveryAddressDialogComponent {
|
4178
4095
|
/**
|
4179
4096
|
* Инициализирует экземпляр класса {@link ScAddDeliveryAddressDialogComponent}.
|
4180
4097
|
*
|
@@ -4261,6 +4178,14 @@ let ScAddDeliveryAddressDialogComponent = class ScAddDeliveryAddressDialogCompon
|
|
4261
4178
|
}),
|
4262
4179
|
});
|
4263
4180
|
}
|
4181
|
+
/**
|
4182
|
+
* Округляет координаты до 6 цифр после запятой.
|
4183
|
+
*
|
4184
|
+
* @param coords Координаты точки.
|
4185
|
+
*/
|
4186
|
+
static roundCoordinate(coords) {
|
4187
|
+
return coords.map((coord) => Math.round(coord * 1e6) / 1e6);
|
4188
|
+
}
|
4264
4189
|
/** @inheritdoc */
|
4265
4190
|
ngAfterViewInit() {
|
4266
4191
|
this.userMetrikaService.emitUserMetrikaEvent({
|
@@ -4295,7 +4220,7 @@ let ScAddDeliveryAddressDialogComponent = class ScAddDeliveryAddressDialogCompon
|
|
4295
4220
|
onSelectedAddress(suggestion) {
|
4296
4221
|
var _a, _b, _c, _d, _e;
|
4297
4222
|
if ('addressString' in suggestion && suggestion.geoCoordinates) {
|
4298
|
-
const coords = [suggestion.geoCoordinates.lat, suggestion.geoCoordinates.long];
|
4223
|
+
const coords = ScAddDeliveryAddressDialogComponent_1.roundCoordinate([suggestion.geoCoordinates.lat, suggestion.geoCoordinates.long]);
|
4299
4224
|
if (!this.addressPlacemark) {
|
4300
4225
|
this.addressPlacemark = this.createPlacemark(coords);
|
4301
4226
|
}
|
@@ -4321,8 +4246,8 @@ let ScAddDeliveryAddressDialogComponent = class ScAddDeliveryAddressDialogCompon
|
|
4321
4246
|
(_a = this.addressPlacemark.geometry) === null || _a === void 0 ? void 0 : _a.setCoordinates(coords);
|
4322
4247
|
this.form.patchValue({
|
4323
4248
|
coordinates: {
|
4324
|
-
lat: coords[0],
|
4325
|
-
long: coords[1],
|
4249
|
+
lat: Number(coords[0].toFixed(6)),
|
4250
|
+
long: Number(coords[1].toFixed(6)),
|
4326
4251
|
},
|
4327
4252
|
});
|
4328
4253
|
}
|
@@ -4360,7 +4285,7 @@ let ScAddDeliveryAddressDialogComponent = class ScAddDeliveryAddressDialogCompon
|
|
4360
4285
|
var _a, _b;
|
4361
4286
|
const coord = (_b = (_a = this.addressPlacemark) === null || _a === void 0 ? void 0 : _a.geometry) === null || _b === void 0 ? void 0 : _b.getCoordinates();
|
4362
4287
|
if (coord) {
|
4363
|
-
this.setGeoCoordinates(coord);
|
4288
|
+
this.setGeoCoordinates(ScAddDeliveryAddressDialogComponent_1.roundCoordinate(coord));
|
4364
4289
|
}
|
4365
4290
|
});
|
4366
4291
|
return placemark;
|
@@ -4368,7 +4293,7 @@ let ScAddDeliveryAddressDialogComponent = class ScAddDeliveryAddressDialogCompon
|
|
4368
4293
|
};
|
4369
4294
|
ScAddDeliveryAddressDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScAddDeliveryAddressDialogComponent, deps: [{ token: i1.ScDeliveryAddressService }, { token: i1.ScUserMetrikaService }, { token: POLYMORPHEUS_CONTEXT }, { token: i1.ScConvertersService }], target: i0.ɵɵFactoryTarget.Component });
|
4370
4295
|
ScAddDeliveryAddressDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScAddDeliveryAddressDialogComponent, selector: "sc-add-delivery-address-dialog", ngImport: i0, template: "<div class=\"relative flex flex-col gap-3 md:flex-row\">\n <form\n [formGroup]=\"form\"\n (ngSubmit)=\"onSubmit$.next()\"\n class=\"flex w-full flex-col gap-3\"\n >\n <label tuiLabel=\"\u0410\u0434\u0440\u0435\u0441 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438\">\n <tui-input\n [pseudoInvalid]=\"(addressControl.valid && form.controls.coordinates.invalid) || null\"\n formControlName=\"address\"\n >\n \u0410\u0434\u0440\u0435\u0441 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.address\"\n (selectedClick)=\"onSelectedAddress($event)\"\n ></sc-suggestion-field>\n <input\n tuiTextfield\n autocomplete=\"new-password\"\n />\n </tui-input>\n <tui-error\n formControlName=\"address\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n <tui-error\n *ngIf=\"addressControl.valid && form.controls.coordinates.invalid\"\n error=\"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u0430\u0440\u0438\u0430\u043D\u0442 \u0438\u0437 \u0441\u043F\u0438\u0441\u043A\u0430\"\n ></tui-error>\n </label>\n <div\n formGroupName=\"contact\"\n class=\"flex grow flex-col gap-2\"\n >\n <p class=\"w-full font-bold\">\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E:</p>\n <label tuiLabel=\"\u0424.\u0418.\u041E.\">\n <tui-input formControlName=\"name\">\n \u0424.\u0418.\u041E.\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.fio\"\n ></sc-suggestion-field>\n </tui-input>\n <tui-error\n formControlName=\"name\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <label tuiLabel=\"\u0422\u0435\u043B\u0435\u0444\u043E\u043D\">\n <tui-input-phone formControlName=\"phone\"> \u0422\u0435\u043B\u0435\u0444\u043E\u043D </tui-input-phone>\n <tui-error\n formControlName=\"phone\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <label tuiLabel=\"\u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\">\n <tui-input formControlName=\"email\">\n <input\n tuiTextfield\n type=\"email\"\n />\n \u0410\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B\n <sc-suggestion-field\n *tuiDataList\n [type]=\"suggestionType.email\"\n ></sc-suggestion-field>\n </tui-input>\n <tui-error\n formControlName=\"email\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n <label tuiLabel=\"\u0414\u043E\u043B\u0436\u043D\u043E\u0441\u0442\u044C\">\n <tui-input formControlName=\"position\"> \u0414\u043E\u043B\u0436\u043D\u043E\u0441\u0442\u044C </tui-input>\n <tui-error\n formControlName=\"position\"\n [error]=\"[] | tuiFieldError | async\"\n ></tui-error>\n </label>\n </div>\n <div class=\"flex justify-center gap-8\">\n <button\n tuiButton\n (click)=\"context.$implicit.complete()\"\n type=\"button\"\n [icon]=\"isMobile ? 'tuiIconX' : 'tuiIconXLarge'\"\n appearance=\"secondary\"\n >\n \u041E\u0442\u043C\u0435\u043D\u0430\n </button>\n <button\n tuiButton\n [icon]=\"isMobile ? 'tuiIconSave' : 'tuiIconSaveLarge'\"\n [disabled]=\"form.invalid\"\n [showLoader]=\"!!(loading$ | async)\"\n type=\"submit\"\n >\n \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C\n </button>\n </div>\n </form>\n\n <div\n class=\"absolute -z-10 flex size-full md:w-1/2\"\n [ngClass]=\"{ 'z-0 relative': addressPlacemark }\"\n >\n <div\n class=\"flex-auto\"\n [ngClass]=\"{ 'pointer-events-none opacity-50': form.controls.coordinates.invalid }\"\n >\n <ya-map\n [zoom]=\"11\"\n [state]=\"{ controls: [] }\"\n (ready)=\"onMapReadyHandle($event)\"\n [options]=\"options\"\n ></ya-map>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i4.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { kind: "component", type: i4.TuiErrorComponent, selector: "tui-error", inputs: ["error"] }, { kind: "component", type: i4$1.TuiInputComponent, selector: "tui-input" }, { kind: "directive", type: i4$1.TuiInputDirective, selector: "tui-input" }, { kind: "component", type: i4.TuiTextfieldComponent, selector: "input[tuiTextfield], textarea[tuiTextfield]" }, { kind: "component", type: i4$1.TuiInputPhoneComponent, selector: "tui-input-phone", inputs: ["countryCode", "phoneMaskAfterCountryCode", "allowText", "search"], outputs: ["searchChange"] }, { kind: "directive", type: i4$1.TuiInputPhoneDirective, selector: "tui-input-phone" }, { kind: "component", type: ScSuggestionFieldComponent, selector: "sc-suggestion-field", inputs: ["type"], outputs: ["selectedClick"] }, { kind: "directive", type: i4.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i7$2.YaMapComponent, selector: "ya-map", inputs: ["center", "zoom", "state", "options"], outputs: ["ready", "actionbegin", "actionbreak", "actionend", "actiontick", "actiontickcomplete", "balloonclose", "balloonopen", "boundschange", "yaclick", "yacontextmenu", "yadblclick", "destroy", "hintclose", "hintopen", "marginchange", "yamousedown", "yamouseenter", "yamouseleave", "yamousemove", "yamouseup", "multitouchend", "multitouchmove", "multitouchstart", "optionschange", "sizechange", "typechange", "yawheel"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4$1.TuiFieldErrorPipe, name: "tuiFieldError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
4371
|
-
ScAddDeliveryAddressDialogComponent = __decorate([
|
4296
|
+
ScAddDeliveryAddressDialogComponent = ScAddDeliveryAddressDialogComponent_1 = __decorate([
|
4372
4297
|
UntilDestroy({ checkProperties: true })
|
4373
4298
|
], ScAddDeliveryAddressDialogComponent);
|
4374
4299
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScAddDeliveryAddressDialogComponent, decorators: [{
|
@@ -5992,5 +5917,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
5992
5917
|
* Generated bundle index. Do not edit.
|
5993
5918
|
*/
|
5994
5919
|
|
5995
|
-
export { AbstractScPriceCard, AuthMethod, FilesAndDocumentsComponent, FilesAndDocumentsModule, SC_LINEAR_VALUES, SC_LINEAR_VALUES_TOKEN,
|
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 };
|
5996
5921
|
//# sourceMappingURL=snabcentr-client-ui.mjs.map
|