@snabcentr/client-ui 0.0.0-test
Sign up to get free protection for your applications and to get access to all the features.
- package/LICENSE +1 -0
- package/README.md +9 -0
- package/banner/index.d.ts +2 -0
- package/banner/sc-banner.component.d.ts +130 -0
- package/banner/sc-banner.module.d.ts +17 -0
- package/cart/cart-item-mobile/sc-cart-item-mobile.component.d.ts +77 -0
- package/cart/index.d.ts +2 -0
- package/cart/sc-cart.module.d.ts +16 -0
- package/catalog/category-card/sc-category-card.component.d.ts +68 -0
- package/catalog/index.d.ts +7 -0
- package/catalog/input-quantity/sc-input-quantity.component.d.ts +75 -0
- package/catalog/price-card/sc-price-card.component.d.ts +114 -0
- package/catalog/price-history/sc-chart-option.d.ts +7 -0
- package/catalog/price-history/sc-i-chart-data-item.d.ts +13 -0
- package/catalog/price-history/sc-lang-RU.d.ts +113 -0
- package/catalog/price-history/sc-price-history.component.d.ts +73 -0
- package/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.d.ts +37 -0
- package/catalog/sc-catalog.module.d.ts +21 -0
- package/catalog/sc-favorite-btn/sc-favorite-btn.component.d.ts +13 -0
- package/esm2020/banner/index.mjs +3 -0
- package/esm2020/banner/sc-banner.component.mjs +222 -0
- package/esm2020/banner/sc-banner.module.mjs +27 -0
- package/esm2020/cart/cart-item-mobile/sc-cart-item-mobile.component.mjs +119 -0
- package/esm2020/cart/index.mjs +3 -0
- package/esm2020/cart/sc-cart.module.mjs +58 -0
- package/esm2020/catalog/category-card/sc-category-card.component.mjs +109 -0
- package/esm2020/catalog/index.mjs +8 -0
- package/esm2020/catalog/input-quantity/sc-input-quantity.component.mjs +154 -0
- package/esm2020/catalog/price-card/sc-price-card.component.mjs +154 -0
- package/esm2020/catalog/price-history/sc-chart-option.mjs +79 -0
- package/esm2020/catalog/price-history/sc-i-chart-data-item.mjs +2 -0
- package/esm2020/catalog/price-history/sc-lang-RU.mjs +113 -0
- package/esm2020/catalog/price-history/sc-price-history.component.mjs +104 -0
- package/esm2020/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +44 -0
- package/esm2020/catalog/sc-catalog.module.mjs +88 -0
- package/esm2020/catalog/sc-favorite-btn/sc-favorite-btn.component.mjs +24 -0
- package/esm2020/files/directives/index.mjs +3 -0
- package/esm2020/files/directives/tree-top.directive.mjs +63 -0
- package/esm2020/files/directives/tree.directive.mjs +47 -0
- package/esm2020/files/file-tree-item/file-tree-item.component.mjs +18 -0
- package/esm2020/files/files-and-documents.component.mjs +60 -0
- package/esm2020/files/files-and-documents.module.mjs +26 -0
- package/esm2020/files/index.mjs +6 -0
- package/esm2020/files/interfaces/tree-node.mjs +2 -0
- package/esm2020/files/services/index.mjs +3 -0
- package/esm2020/files/services/tree-icon.service.mjs +48 -0
- package/esm2020/files/services/tree-loader.service.mjs +60 -0
- package/esm2020/helpers/index.mjs +2 -0
- package/esm2020/helpers/sc-px-converter.mjs +27 -0
- package/esm2020/helpers/sc-units-helper.mjs +44 -0
- package/esm2020/icons/index.mjs +2 -0
- package/esm2020/icons/sc-client-ui-icons-name.mjs +107 -0
- package/esm2020/loader/index.mjs +2 -0
- package/esm2020/loader/sc-i-loader.mjs +2 -0
- package/esm2020/news/index.mjs +4 -0
- package/esm2020/news/news-card/sc-news-card.component.mjs +31 -0
- package/esm2020/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +23 -0
- package/esm2020/news/sc-news.module.mjs +24 -0
- package/esm2020/order/index.mjs +3 -0
- package/esm2020/order/order-item-mobile/order-item-mobile.component.mjs +79 -0
- package/esm2020/order/sc-order.module.mjs +23 -0
- package/esm2020/public-api.mjs +15 -0
- package/esm2020/share-button/index.mjs +3 -0
- package/esm2020/share-button/sc-share-button.component.mjs +35 -0
- package/esm2020/share-button/sc-share-button.module.mjs +22 -0
- package/esm2020/snabcentr-client-ui.mjs +5 -0
- package/esm2020/tokens/index.mjs +2 -0
- package/esm2020/tokens/sc-linear-values-token.mjs +10 -0
- package/esm2020/validators/index.mjs +2 -0
- package/esm2020/validators/stepValidator.mjs +13 -0
- package/fesm2015/snabcentr-client-ui.mjs +1929 -0
- package/fesm2015/snabcentr-client-ui.mjs.map +1 -0
- package/fesm2020/snabcentr-client-ui.mjs +1901 -0
- package/fesm2020/snabcentr-client-ui.mjs.map +1 -0
- package/files/directives/index.d.ts +2 -0
- package/files/directives/tree-top.directive.d.ts +33 -0
- package/files/directives/tree.directive.d.ts +35 -0
- package/files/file-tree-item/file-tree-item.component.d.ts +9 -0
- package/files/files-and-documents.component.d.ts +27 -0
- package/files/files-and-documents.module.d.ts +16 -0
- package/files/index.d.ts +5 -0
- package/files/interfaces/tree-node.d.ts +29 -0
- package/files/services/index.d.ts +2 -0
- package/files/services/tree-icon.service.d.ts +23 -0
- package/files/services/tree-loader.service.d.ts +43 -0
- package/helpers/index.d.ts +1 -0
- package/helpers/sc-px-converter.d.ts +15 -0
- package/helpers/sc-units-helper.d.ts +28 -0
- package/icons/index.d.ts +1 -0
- package/icons/sc-client-ui-icons-name.d.ts +5 -0
- package/icons/svg-pack/scIconAddProfile.svg +11 -0
- package/icons/svg-pack/scIconApplication.svg +11 -0
- package/icons/svg-pack/scIconArrowDown.svg +11 -0
- package/icons/svg-pack/scIconArrowDownLarge.svg +11 -0
- package/icons/svg-pack/scIconArrowDownLargeEnd.svg +12 -0
- package/icons/svg-pack/scIconArrowLeft.svg +11 -0
- package/icons/svg-pack/scIconArrowReturn.svg +11 -0
- package/icons/svg-pack/scIconArrowRight.svg +11 -0
- package/icons/svg-pack/scIconArrowUp.svg +11 -0
- package/icons/svg-pack/scIconAttention.svg +11 -0
- package/icons/svg-pack/scIconBag.svg +11 -0
- package/icons/svg-pack/scIconBasket.svg +11 -0
- package/icons/svg-pack/scIconBell.svg +11 -0
- package/icons/svg-pack/scIconBook.svg +11 -0
- package/icons/svg-pack/scIconBubble.svg +11 -0
- package/icons/svg-pack/scIconCalendar.svg +11 -0
- package/icons/svg-pack/scIconCancel.svg +18 -0
- package/icons/svg-pack/scIconCart.svg +11 -0
- package/icons/svg-pack/scIconCatalog.svg +16 -0
- package/icons/svg-pack/scIconClients.svg +11 -0
- package/icons/svg-pack/scIconClip.svg +11 -0
- package/icons/svg-pack/scIconClock.svg +11 -0
- package/icons/svg-pack/scIconConfigurator.svg +18 -0
- package/icons/svg-pack/scIconContacts.svg +11 -0
- package/icons/svg-pack/scIconCross.svg +11 -0
- package/icons/svg-pack/scIconDeleteProfile.svg +12 -0
- package/icons/svg-pack/scIconDone.svg +12 -0
- package/icons/svg-pack/scIconDownloading.svg +11 -0
- package/icons/svg-pack/scIconEdit.svg +11 -0
- package/icons/svg-pack/scIconError.svg +12 -0
- package/icons/svg-pack/scIconExcelFile.svg +11 -0
- package/icons/svg-pack/scIconEye.svg +11 -0
- package/icons/svg-pack/scIconFavorite.svg +11 -0
- package/icons/svg-pack/scIconFavoriteFill.svg +11 -0
- package/icons/svg-pack/scIconFile.svg +11 -0
- package/icons/svg-pack/scIconFilter.svg +11 -0
- package/icons/svg-pack/scIconFolder.svg +11 -0
- package/icons/svg-pack/scIconFolderOpen.svg +11 -0
- package/icons/svg-pack/scIconFolderPlus.svg +11 -0
- package/icons/svg-pack/scIconGraph.svg +11 -0
- package/icons/svg-pack/scIconHamburger.svg +13 -0
- package/icons/svg-pack/scIconHeart.svg +11 -0
- package/icons/svg-pack/scIconHeartFill.svg +11 -0
- package/icons/svg-pack/scIconHistory.svg +11 -0
- package/icons/svg-pack/scIconHome.svg +12 -0
- package/icons/svg-pack/scIconImage.svg +11 -0
- package/icons/svg-pack/scIconLike.svg +11 -0
- package/icons/svg-pack/scIconList.svg +11 -0
- package/icons/svg-pack/scIconLocation.svg +11 -0
- package/icons/svg-pack/scIconLock.svg +11 -0
- package/icons/svg-pack/scIconLockOpen.svg +11 -0
- package/icons/svg-pack/scIconLogIn.svg +11 -0
- package/icons/svg-pack/scIconLogOut.svg +13 -0
- package/icons/svg-pack/scIconLogOut2.svg +13 -0
- package/icons/svg-pack/scIconMail.svg +11 -0
- package/icons/svg-pack/scIconMinus.svg +11 -0
- package/icons/svg-pack/scIconMoney.svg +11 -0
- package/icons/svg-pack/scIconMoney2.svg +11 -0
- package/icons/svg-pack/scIconNews.svg +11 -0
- package/icons/svg-pack/scIconOffer.svg +11 -0
- package/icons/svg-pack/scIconPalette.svg +18 -0
- package/icons/svg-pack/scIconPdfFile.svg +12 -0
- package/icons/svg-pack/scIconPercentage.svg +11 -0
- package/icons/svg-pack/scIconPhone.svg +11 -0
- package/icons/svg-pack/scIconPlus.svg +11 -0
- package/icons/svg-pack/scIconPrice.svg +11 -0
- package/icons/svg-pack/scIconProfile.svg +11 -0
- package/icons/svg-pack/scIconQRCodeScan.svg +18 -0
- package/icons/svg-pack/scIconQuestion.svg +11 -0
- package/icons/svg-pack/scIconReclamation.svg +11 -0
- package/icons/svg-pack/scIconRefresh.svg +11 -0
- package/icons/svg-pack/scIconRepeat.svg +11 -0
- package/icons/svg-pack/scIconRequisites.svg +11 -0
- package/icons/svg-pack/scIconRocket.svg +18 -0
- package/icons/svg-pack/scIconSave.svg +11 -0
- package/icons/svg-pack/scIconSearch.svg +12 -0
- package/icons/svg-pack/scIconSend.svg +11 -0
- package/icons/svg-pack/scIconSettings.svg +11 -0
- package/icons/svg-pack/scIconShare.svg +15 -0
- package/icons/svg-pack/scIconSocialCopy.svg +13 -0
- package/icons/svg-pack/scIconSocialEmail.svg +13 -0
- package/icons/svg-pack/scIconSocialFacebook.svg +12 -0
- package/icons/svg-pack/scIconSocialInstagram.svg +33 -0
- package/icons/svg-pack/scIconSocialQR.svg +12 -0
- package/icons/svg-pack/scIconSocialTelegram.svg +20 -0
- package/icons/svg-pack/scIconSocialViber.svg +16 -0
- package/icons/svg-pack/scIconSocialVk.svg +12 -0
- package/icons/svg-pack/scIconSocialWhatsapp.svg +12 -0
- package/icons/svg-pack/scIconStar.svg +11 -0
- package/icons/svg-pack/scIconSuitcase.svg +11 -0
- package/icons/svg-pack/scIconTasks.svg +11 -0
- package/icons/svg-pack/scIconTick.svg +11 -0
- package/icons/svg-pack/scIconTop.svg +11 -0
- package/icons/svg-pack/scIconVerticalThreeDots.svg +11 -0
- package/icons/svg-pack/scIconViewGrid.svg +11 -0
- package/icons/svg-pack/scIconViewInline.svg +11 -0
- package/icons/svg-pack/scIconViewTree.svg +15 -0
- package/icons/svg-pack/scIconWallet.svg +11 -0
- package/icons/svg-pack/scIconWarning.svg +11 -0
- package/icons/svg-pack/scIconWordFile.svg +12 -0
- package/index.d.ts +5 -0
- package/loader/index.d.ts +1 -0
- package/loader/sc-i-loader.d.ts +9 -0
- package/news/index.d.ts +3 -0
- package/news/news-card/sc-news-card.component.d.ts +22 -0
- package/news/news-card-skeleton/sc-news-card-skeleton.component.d.ts +12 -0
- package/news/sc-news.module.d.ts +14 -0
- package/order/index.d.ts +2 -0
- package/order/order-item-mobile/order-item-mobile.component.d.ts +53 -0
- package/order/sc-order.module.d.ts +13 -0
- package/package.json +62 -0
- package/public-api.d.ts +11 -0
- package/share-button/index.d.ts +2 -0
- package/share-button/sc-share-button.component.d.ts +22 -0
- package/share-button/sc-share-button.module.d.ts +12 -0
- package/styles/taiga/taiga-tailwind-preset.js +163 -0
- package/styles/taiga/variables.less +44 -0
- package/styles/tailwind/tailwind.scss +1461 -0
- package/tokens/index.d.ts +1 -0
- package/tokens/sc-linear-values-token.d.ts +8 -0
- package/validators/index.d.ts +1 -0
- package/validators/stepValidator.d.ts +7 -0
package/LICENSE
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
<!-- TODO: заменить на коммерческую лицензию. -->
|
package/README.md
ADDED
@@ -0,0 +1,130 @@
|
|
1
|
+
import { AfterViewInit, EventEmitter, QueryList, TemplateRef, ElementRef, ChangeDetectorRef } from '@angular/core';
|
2
|
+
import { ScBanner, ScBannerService } from '@snabcentr/client-core';
|
3
|
+
import { Observable, Subject } from 'rxjs';
|
4
|
+
import { ScPxConverter } from '../helpers';
|
5
|
+
import { IntersectionObserverService } from '@ng-web-apis/intersection-observer';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
/**
|
8
|
+
* Баннер с прокруткой переданных {@link TemplateRef} элементов, и баннеров локации.
|
9
|
+
*/
|
10
|
+
export declare class ScBannerComponent implements AfterViewInit {
|
11
|
+
private readonly cdr;
|
12
|
+
private readonly bannerService;
|
13
|
+
private readonly entries$;
|
14
|
+
private readonly element;
|
15
|
+
private pxConverter;
|
16
|
+
/**
|
17
|
+
* Признак, что необходимо показывать кнопки навигации.
|
18
|
+
*/
|
19
|
+
navigateButton: boolean;
|
20
|
+
/**
|
21
|
+
* Интервал показа слайдов в миллисекундах.
|
22
|
+
*/
|
23
|
+
playerInterval: number;
|
24
|
+
/**
|
25
|
+
* Признак, что прокрутка выключена.
|
26
|
+
*/
|
27
|
+
disabled: boolean;
|
28
|
+
/**
|
29
|
+
* Местоположение баннера.
|
30
|
+
*/
|
31
|
+
bannerLocation?: string;
|
32
|
+
/**
|
33
|
+
* Признак, что компонент должен растягиваться.
|
34
|
+
*/
|
35
|
+
resizable: boolean;
|
36
|
+
/**
|
37
|
+
* Событие загрузки баннеров с количеством полученных баннеров.
|
38
|
+
*/
|
39
|
+
loadBannersEvent: EventEmitter<number>;
|
40
|
+
/**
|
41
|
+
* Событие нажатия на изображение баннера.
|
42
|
+
*/
|
43
|
+
clickBannerEvent: EventEmitter<ScBanner>;
|
44
|
+
/**
|
45
|
+
* Список ссылок на элемент представлений шаблонов.
|
46
|
+
*/
|
47
|
+
bannersListRef: QueryList<TemplateRef<any>>;
|
48
|
+
/**
|
49
|
+
* Ссылка на {@link HTMLVideoElement} элемента отображения видео.
|
50
|
+
*/
|
51
|
+
private videoRef;
|
52
|
+
/**
|
53
|
+
* Свойство, от которого зависит наличие класса `!hidden` у `:host` компонента.
|
54
|
+
*/
|
55
|
+
private get isHidden();
|
56
|
+
/**
|
57
|
+
* Идентификатор текущего баннера.
|
58
|
+
*/
|
59
|
+
currentBannerId: number;
|
60
|
+
/**
|
61
|
+
* {@link Subject} изменения состояния таймера.
|
62
|
+
*/
|
63
|
+
readonly toggleTimer$: Subject<boolean>;
|
64
|
+
/**
|
65
|
+
* Признак, что необходимо показывать кнопки старта видео баннера.
|
66
|
+
*/
|
67
|
+
showPlayBtn: boolean;
|
68
|
+
/**
|
69
|
+
* {@link Observable} Обновления списка баннеров.
|
70
|
+
*/
|
71
|
+
readonly banners$: Observable<ScBanner[]>;
|
72
|
+
/**
|
73
|
+
* Список баннеров.
|
74
|
+
*/
|
75
|
+
banners?: ScBanner[];
|
76
|
+
/**
|
77
|
+
* Свойство, от которого зависит высота `:host` компонента.
|
78
|
+
*/
|
79
|
+
height: string;
|
80
|
+
/**
|
81
|
+
* Свойство, от которого зависит ширина `:host` компонента.
|
82
|
+
*/
|
83
|
+
width: string;
|
84
|
+
/**
|
85
|
+
* Свойство, от которого зависит соотношение `:host` компонента.
|
86
|
+
*/
|
87
|
+
aspectRatio: string;
|
88
|
+
/**
|
89
|
+
* Инициализирует экземпляр класса {@link ScBannerComponent}.
|
90
|
+
*
|
91
|
+
* @param cdr Объект для работы с обнаружением изменений.
|
92
|
+
* @param bannerService Сервис для работы с баннерами.
|
93
|
+
* @param pxConverter Класс хэлпер для конвертации пикселей.
|
94
|
+
*/
|
95
|
+
constructor(cdr: ChangeDetectorRef, bannerService: ScBannerService, entries$: IntersectionObserverService, element: ElementRef<Element>, pxConverter: ScPxConverter);
|
96
|
+
/** @inheritDoc */
|
97
|
+
ngAfterViewInit(): void;
|
98
|
+
/**
|
99
|
+
* Переключает на предыдущий баннер.
|
100
|
+
*/
|
101
|
+
onPreviousBanner(): void;
|
102
|
+
/**
|
103
|
+
* Переключает на следующий баннер.
|
104
|
+
*/
|
105
|
+
onNextBanner(): void;
|
106
|
+
/**
|
107
|
+
* Переключает на следующий баннер.
|
108
|
+
*/
|
109
|
+
onEndedVideo(): void;
|
110
|
+
/**
|
111
|
+
* Обработчик нажатия на баннер, генерирующий событие {@link clickBannerImgEvent}.
|
112
|
+
*
|
113
|
+
* @param banner Баннер, по ссылке которого совершён переход.
|
114
|
+
*/
|
115
|
+
onClick(banner: ScBanner): void;
|
116
|
+
/**
|
117
|
+
* Обработчик события mouseenter.
|
118
|
+
*
|
119
|
+
* @private
|
120
|
+
*/
|
121
|
+
private mouseEnterHandler;
|
122
|
+
/**
|
123
|
+
* Обработчик события mouseleave.
|
124
|
+
*
|
125
|
+
* @private
|
126
|
+
*/
|
127
|
+
private mouseLeaveHandler;
|
128
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScBannerComponent, never>;
|
129
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScBannerComponent, "sc-banner", never, { "navigateButton": "navigateButton"; "playerInterval": "playerInterval"; "disabled": "disabled"; "bannerLocation": "bannerLocation"; "resizable": "resizable"; }, { "loadBannersEvent": "loadBannersEvent"; "clickBannerEvent": "clickBannerEvent"; }, ["bannersListRef"], never, false>;
|
130
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
import * as i1 from "./sc-banner.component";
|
3
|
+
import * as i2 from "@angular/common";
|
4
|
+
import * as i3 from "@angular/router";
|
5
|
+
import * as i4 from "@taiga-ui/core";
|
6
|
+
import * as i5 from "@angular/material/core";
|
7
|
+
import * as i6 from "@taiga-ui/kit";
|
8
|
+
import * as i7 from "@ng-web-apis/intersection-observer";
|
9
|
+
import * as i8 from "@taiga-ui/cdk";
|
10
|
+
/**
|
11
|
+
* Модуль баннеров.
|
12
|
+
*/
|
13
|
+
export declare class ScBannerModule {
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScBannerModule, never>;
|
15
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ScBannerModule, [typeof i1.ScBannerComponent], [typeof i2.CommonModule, typeof i3.RouterModule, typeof i4.TuiButtonModule, typeof i5.MatRippleModule, typeof i6.TuiCarouselModule, typeof i4.TuiModeModule, typeof i4.TuiLoaderModule, typeof i7.IntersectionObserverModule, typeof i8.TuiLetModule], [typeof i1.ScBannerComponent]>;
|
16
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<ScBannerModule>;
|
17
|
+
}
|
@@ -0,0 +1,77 @@
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
2
|
+
import { FormControl } from '@angular/forms';
|
3
|
+
import { ScCartItem, ScIUrls, ScProduct } from '@snabcentr/client-core';
|
4
|
+
import { Observable } from 'rxjs';
|
5
|
+
import { TuiPreviewDialogService } from '@taiga-ui/addon-preview';
|
6
|
+
import { UnitsHelper } from '../../helpers/sc-units-helper';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
/**
|
9
|
+
* Компонент карточки элемента корзины.
|
10
|
+
*/
|
11
|
+
export declare class ScCartItemMobileComponent implements OnInit {
|
12
|
+
readonly unitsHelper: UnitsHelper;
|
13
|
+
private readonly previewDialogService;
|
14
|
+
private readonly urls;
|
15
|
+
private readonly pathImageNotFound;
|
16
|
+
/**
|
17
|
+
* Элемент корзины.
|
18
|
+
*/
|
19
|
+
private _cartItem?;
|
20
|
+
/**
|
21
|
+
* Ссылка на представление спецификации.
|
22
|
+
*/
|
23
|
+
private readonly specificationPreviewRef?;
|
24
|
+
/**
|
25
|
+
* {@link FormControl} поля ввода количества товара в корзине.
|
26
|
+
*/
|
27
|
+
quantityControl: FormControl<number | null>;
|
28
|
+
/**
|
29
|
+
* Элемент корзины.
|
30
|
+
*/
|
31
|
+
set cartItem(data: ScCartItem | undefined);
|
32
|
+
/**
|
33
|
+
* Элемент корзины.
|
34
|
+
*/
|
35
|
+
get cartItem(): ScCartItem | undefined;
|
36
|
+
/**
|
37
|
+
* {@link Observable} изменения количества товара в корзине.
|
38
|
+
*/
|
39
|
+
quantityValueChanges: Observable<number | null>;
|
40
|
+
/**
|
41
|
+
* Событие нажатия на кнопку "Удалить из корзины".
|
42
|
+
*/
|
43
|
+
clickDeleteEvent: EventEmitter<void>;
|
44
|
+
/**
|
45
|
+
* Событие нажатия на кнопку "Удалить из корзины".
|
46
|
+
*/
|
47
|
+
clickSettingsEvent: EventEmitter<void>;
|
48
|
+
/**
|
49
|
+
* Событие нажатия на карточку.
|
50
|
+
*/
|
51
|
+
clickCardEvent: EventEmitter<void>;
|
52
|
+
/**
|
53
|
+
* Продукт элемента корзины.
|
54
|
+
*/
|
55
|
+
get product(): ScProduct | undefined;
|
56
|
+
/**
|
57
|
+
* Инициирует экземпляр класса {@link ScCartItemMobileComponent}.
|
58
|
+
*
|
59
|
+
* @param unitsHelper Объект-хэлпер для работы со значениями единиц измерения товара.
|
60
|
+
* @param previewDialogService Сервис диалогового окна предварительного просмотра.
|
61
|
+
* @param urls Список ссылок на разделы backend'a.
|
62
|
+
* @param pathImageNotFound Путь до изображения 'Товар не найден'.
|
63
|
+
*/
|
64
|
+
constructor(unitsHelper: UnitsHelper, previewDialogService: TuiPreviewDialogService, urls: ScIUrls, pathImageNotFound: string);
|
65
|
+
/** @inheritDoc */
|
66
|
+
ngOnInit(): void;
|
67
|
+
/**
|
68
|
+
* Отобразить спецификацию.
|
69
|
+
*/
|
70
|
+
showSpecification(): void;
|
71
|
+
/**
|
72
|
+
* Возвращает ссылку на изображение карточки товара.
|
73
|
+
*/
|
74
|
+
getCardImage(): string;
|
75
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScCartItemMobileComponent, never>;
|
76
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScCartItemMobileComponent, "sc-cart-item-mobile", never, { "cartItem": "cartItem"; }, { "quantityValueChanges": "quantityValueChanges"; "clickDeleteEvent": "clickDeleteEvent"; "clickSettingsEvent": "clickSettingsEvent"; "clickCardEvent": "clickCardEvent"; }, never, never, false>;
|
77
|
+
}
|
package/cart/index.d.ts
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
import * as i1 from "./cart-item-mobile/sc-cart-item-mobile.component";
|
3
|
+
import * as i2 from "@angular/common";
|
4
|
+
import * as i3 from "@taiga-ui/core";
|
5
|
+
import * as i4 from "../catalog/sc-catalog.module";
|
6
|
+
import * as i5 from "@angular/forms";
|
7
|
+
import * as i6 from "@taiga-ui/addon-preview";
|
8
|
+
import * as i7 from "@tinkoff/ng-polymorpheus";
|
9
|
+
/**
|
10
|
+
* Модуль корзины.
|
11
|
+
*/
|
12
|
+
export declare class ScCartModule {
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScCartModule, never>;
|
14
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ScCartModule, [typeof i1.ScCartItemMobileComponent], [typeof i2.CommonModule, typeof i3.TuiLinkModule, typeof i4.ScCatalogModule, typeof i3.TuiButtonModule, typeof i3.TuiModeModule, typeof i3.TuiSvgModule, typeof i3.TuiHintModule, typeof i5.FormsModule, typeof i5.ReactiveFormsModule, typeof i6.TuiPreviewModule, typeof i7.PolymorpheusModule], [typeof i1.ScCartItemMobileComponent]>;
|
15
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<ScCartModule>;
|
16
|
+
}
|
@@ -0,0 +1,68 @@
|
|
1
|
+
import { EventEmitter, Renderer2 } from '@angular/core';
|
2
|
+
import { ScCategory, ScIUrls } from '@snabcentr/client-core';
|
3
|
+
import { TuiSizeS } from '@taiga-ui/core';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
/**
|
6
|
+
* Карточка категории.
|
7
|
+
*/
|
8
|
+
export declare class ScCategoryCardComponent {
|
9
|
+
private readonly urls;
|
10
|
+
private renderer;
|
11
|
+
private readonly pathImageNotFound;
|
12
|
+
/**
|
13
|
+
* Информация о категории.
|
14
|
+
*/
|
15
|
+
category?: ScCategory;
|
16
|
+
/**
|
17
|
+
* Ссылка на {@link HTMLElement} блока названия.
|
18
|
+
*/
|
19
|
+
private name;
|
20
|
+
/**
|
21
|
+
* Размер карточки категории.
|
22
|
+
*/
|
23
|
+
size: TuiSizeS;
|
24
|
+
/**
|
25
|
+
* Признак, что карточка является скелетоном.
|
26
|
+
*/
|
27
|
+
isSkeleton: boolean;
|
28
|
+
/**
|
29
|
+
* Признак необходимости отобразить/скрыть кнопку избранной категории.
|
30
|
+
*/
|
31
|
+
showFavoriteBtn: boolean;
|
32
|
+
/**
|
33
|
+
* Признак что категория имеет поведение наведения и скрытия названия.
|
34
|
+
*/
|
35
|
+
isHovered: boolean;
|
36
|
+
/**
|
37
|
+
* Событие нажатия на карточку категории.
|
38
|
+
*/
|
39
|
+
clickOnCardEvent: EventEmitter<ScCategory>;
|
40
|
+
/**
|
41
|
+
* Событие нажатия на кнопку избранной категории.
|
42
|
+
*/
|
43
|
+
clickOnFavoriteEvent: EventEmitter<ScCategory>;
|
44
|
+
/**
|
45
|
+
* Инициализирует экземпляр класса {@link CategoryCardComponent}.
|
46
|
+
*
|
47
|
+
* @param urls Список ссылок на разделы backend'a.
|
48
|
+
* @param renderer Экземпляр базового класса для реализации пользовательского рендеринга.
|
49
|
+
* @param pathImageNotFound Путь до изображения 'Товар не найден'.
|
50
|
+
*/
|
51
|
+
constructor(urls: ScIUrls, renderer: Renderer2, pathImageNotFound: string);
|
52
|
+
/**
|
53
|
+
* Возвращает путь к изображению категории. Если путь отсутствует, то вернёт изображение по-умолчанию ("product_not_found").
|
54
|
+
*
|
55
|
+
* @param category Информация о категории.
|
56
|
+
*/
|
57
|
+
getCategoryImgURL(category: ScCategory): string;
|
58
|
+
/**
|
59
|
+
* Обработчик события mousemove.
|
60
|
+
*/
|
61
|
+
private moveEnterHandler;
|
62
|
+
/**
|
63
|
+
* Обработчик события mouseleave.
|
64
|
+
*/
|
65
|
+
private mouseLeaveHandler;
|
66
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScCategoryCardComponent, never>;
|
67
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScCategoryCardComponent, "sc-category-card", never, { "category": "category"; "size": "size"; "isSkeleton": "isSkeleton"; "showFavoriteBtn": "showFavoriteBtn"; "isHovered": "isHovered"; }, { "clickOnCardEvent": "clickOnCardEvent"; "clickOnFavoriteEvent": "clickOnFavoriteEvent"; }, never, never, false>;
|
68
|
+
}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
export * from './category-card/sc-category-card.component';
|
2
|
+
export * from './input-quantity/sc-input-quantity.component';
|
3
|
+
export * from './price-card/sc-price-card.component';
|
4
|
+
export * from './price-history/sc-price-history.component';
|
5
|
+
export * from './price-warehouse-stock/sc-price-warehouse-stock.component';
|
6
|
+
export * from './sc-favorite-btn/sc-favorite-btn.component';
|
7
|
+
export * from './sc-catalog.module';
|
@@ -0,0 +1,75 @@
|
|
1
|
+
import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core';
|
2
|
+
import { FormControl, NgControl } from '@angular/forms';
|
3
|
+
import { TuiSizeL, TuiSizeM, TuiSizeS } from '@taiga-ui/core';
|
4
|
+
import { AbstractTuiNullableControl, AbstractTuiValueTransformer } from '@taiga-ui/cdk';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
export declare class ScInputQuantityComponent extends AbstractTuiNullableControl<number> implements OnInit {
|
7
|
+
/**
|
8
|
+
* Компонент поля ввода.
|
9
|
+
*/
|
10
|
+
private readonly numberInput;
|
11
|
+
/**
|
12
|
+
* Шаг увеличения количества. Отвечает за проверку кратности ввода.
|
13
|
+
*/
|
14
|
+
step: number;
|
15
|
+
/**
|
16
|
+
* Единица измерения количества. Будет указана в постфиксе поля ввода.
|
17
|
+
*/
|
18
|
+
quantityUnit?: string;
|
19
|
+
/**
|
20
|
+
* Признак, что необходимо отобразить {@link TuiLoaderComponent} над компонентом.
|
21
|
+
*/
|
22
|
+
showLoader: boolean;
|
23
|
+
/**
|
24
|
+
* Признак, что необходимо отобразить кнопку очистки поля ввода.
|
25
|
+
*/
|
26
|
+
showCross: boolean;
|
27
|
+
/**
|
28
|
+
* Формат внешнего вида компонента.
|
29
|
+
*/
|
30
|
+
appearance: 'primary' | 'secondary';
|
31
|
+
/**
|
32
|
+
* Признак, что компонент деактивирован.
|
33
|
+
*/
|
34
|
+
isDisabled: boolean;
|
35
|
+
/**
|
36
|
+
* Размер компонента.
|
37
|
+
*/
|
38
|
+
size: TuiSizeL | TuiSizeM | TuiSizeS;
|
39
|
+
/**
|
40
|
+
* Событие нажатия на кнопку "Очистить".
|
41
|
+
*/
|
42
|
+
clickClearEvent: EventEmitter<void>;
|
43
|
+
/**
|
44
|
+
* Инициализирует экземпляр класса {@link ScInputQuantityComponent}.
|
45
|
+
*
|
46
|
+
* @param ngControl Объект поля ввода для настройки валидации.
|
47
|
+
* @param cdr Объект для работы с обнаружением изменений.
|
48
|
+
* @param transformer Преобразователь значений элемента формы.
|
49
|
+
*/
|
50
|
+
constructor(ngControl: NgControl | null, cdr: ChangeDetectorRef, transformer: AbstractTuiValueTransformer<number | null>);
|
51
|
+
get focused(): boolean;
|
52
|
+
get formControl(): FormControl<any> | null;
|
53
|
+
/** @inheritDoc */
|
54
|
+
ngOnInit(): void;
|
55
|
+
/**
|
56
|
+
* Обработчик события нажатия стрелок клавиатуры.
|
57
|
+
*
|
58
|
+
* @param step Шаг изменения количества.
|
59
|
+
*/
|
60
|
+
onArrow(step: number | null): void;
|
61
|
+
/**
|
62
|
+
* Увеличивает значение в поле ввода на 1 шаг. Если число в поле ввода не кратно шагу, то увеличит до ближайшего кратного значения.
|
63
|
+
*/
|
64
|
+
incident(): void;
|
65
|
+
/**
|
66
|
+
* Уменьшает значение в поле ввода на 1 шаг. Если число в поле ввода не кратно шагу, то уменьшит до ближайшего кратного значения.
|
67
|
+
*/
|
68
|
+
decrement(): void;
|
69
|
+
/**
|
70
|
+
* Очищает поля ввода.
|
71
|
+
*/
|
72
|
+
clear(): void;
|
73
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScInputQuantityComponent, [{ optional: true; self: true; }, null, { optional: true; }]>;
|
74
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScInputQuantityComponent, "sc-input-quantity", never, { "step": "step"; "quantityUnit": "quantityUnit"; "showLoader": "showLoader"; "showCross": "showCross"; "appearance": "appearance"; "isDisabled": "isDisabled"; "size": "size"; }, { "clickClearEvent": "clickClearEvent"; }, never, never, false>;
|
75
|
+
}
|
@@ -0,0 +1,114 @@
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
2
|
+
import { FormControl } from '@angular/forms';
|
3
|
+
import { UnitsHelper } from '../../helpers/sc-units-helper';
|
4
|
+
import { ScAuthService, ScCartItem, ScIUrls, ScProduct, ScWarehouse, ScWarehouseService } from '@snabcentr/client-core';
|
5
|
+
import { TuiSizeS, TuiSizeXS } from '@taiga-ui/core';
|
6
|
+
import { Observable } from 'rxjs';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
/**
|
9
|
+
* Компонент карточки товара.
|
10
|
+
*/
|
11
|
+
export declare class ScPriceCardComponent {
|
12
|
+
readonly unitsHelper: UnitsHelper;
|
13
|
+
private readonly authService;
|
14
|
+
private readonly warehouseService;
|
15
|
+
private readonly urls;
|
16
|
+
private readonly pathImageNotFound;
|
17
|
+
/**
|
18
|
+
* Признак, что необходимо отобразить лоадер для поля ввода количества товара.
|
19
|
+
*/
|
20
|
+
quantityShowLoader: boolean;
|
21
|
+
/**
|
22
|
+
* Признак, что необходимо отобразить поле ввода количества товара.
|
23
|
+
*/
|
24
|
+
showQuantityControl: boolean;
|
25
|
+
/**
|
26
|
+
* Позиция товара в корзине.
|
27
|
+
*
|
28
|
+
* TODO: Сделать товар в корзине наблюдаемой переменной после реализации TASK:[#7144].
|
29
|
+
*/
|
30
|
+
get cartItem(): ScCartItem | undefined;
|
31
|
+
/**
|
32
|
+
* Позиция товара в корзине
|
33
|
+
*
|
34
|
+
* TODO: Сделать товар в корзине наблюдаемой переменной после реализации TASK:[#7144].
|
35
|
+
*/
|
36
|
+
set cartItem(value: ScCartItem | undefined);
|
37
|
+
/**
|
38
|
+
* Объект товара.
|
39
|
+
*
|
40
|
+
* TODO: Сделать товар наблюдаемой переменной после реализации TASK:[#7144].
|
41
|
+
*/
|
42
|
+
product?: ScProduct;
|
43
|
+
/**
|
44
|
+
* Событие нажатия на кнопку "В избранное".
|
45
|
+
*/
|
46
|
+
clickFavoriteEvent: EventEmitter<void>;
|
47
|
+
/**
|
48
|
+
* Событие нажатия на кнопку "В корзину".
|
49
|
+
*/
|
50
|
+
clickAddToCartEvent: EventEmitter<ScProduct>;
|
51
|
+
/**
|
52
|
+
* Событие нажатия на кнопку очистки количества товара.
|
53
|
+
*/
|
54
|
+
clickClearEvent: EventEmitter<ScCartItem>;
|
55
|
+
/**
|
56
|
+
* Событие нажатия на карточку товара.
|
57
|
+
*/
|
58
|
+
clickCardEvent: EventEmitter<void>;
|
59
|
+
/**
|
60
|
+
* {@link Observable} изменения выбранного склада.
|
61
|
+
*/
|
62
|
+
warehouseSelect$: Observable<ScWarehouse | null>;
|
63
|
+
/**
|
64
|
+
* {@link FormControl} поля ввода количества товара в корзине.
|
65
|
+
*/
|
66
|
+
quantityControl: FormControl<number | null>;
|
67
|
+
/**
|
68
|
+
* {@link Observable} изменения количества товара в корзине.
|
69
|
+
*/
|
70
|
+
quantityValueChanges: Observable<number | null>;
|
71
|
+
/**
|
72
|
+
* {@link Observable} изменения статуса авторизации.
|
73
|
+
*/
|
74
|
+
readonly authStatus$: Observable<boolean>;
|
75
|
+
/**
|
76
|
+
* Размер компонента.
|
77
|
+
*/
|
78
|
+
size: TuiSizeS | TuiSizeXS;
|
79
|
+
/**
|
80
|
+
* Признак того, нужно ли компонент растягивать на всю ширину свободного пространства.
|
81
|
+
*/
|
82
|
+
isWidthFull: boolean;
|
83
|
+
/**
|
84
|
+
* Конвертация размера для компонента sc-input-quantity.
|
85
|
+
* TODO: Решить проблему с функционалом size для разных платформ.
|
86
|
+
*/
|
87
|
+
get getQuantitySize(): TuiSizeS;
|
88
|
+
/**
|
89
|
+
* Позиция товара в корзине.
|
90
|
+
*
|
91
|
+
* TODO: Сделать товар в корзине наблюдаемой переменной после реализации TASK:[#7144].
|
92
|
+
*/
|
93
|
+
private _cartItem?;
|
94
|
+
/**
|
95
|
+
* Инициирует экземпляр класса {@link ScPriceCardComponent}.
|
96
|
+
*
|
97
|
+
* @param unitsHelper Объект-хэлпер для работы со значениями единиц измерения товара.
|
98
|
+
* @param authService Сервис аутентификации пользователей.
|
99
|
+
* @param warehouseService Сервис для работы со складами.
|
100
|
+
* @param urls Список ссылок на разделы backend'a.
|
101
|
+
* @param pathImageNotFound Путь до изображения 'Товар не найден'.
|
102
|
+
*/
|
103
|
+
constructor(unitsHelper: UnitsHelper, authService: ScAuthService, warehouseService: ScWarehouseService, urls: ScIUrls, pathImageNotFound: string);
|
104
|
+
/**
|
105
|
+
* Признак, что нужно показать скелетон.
|
106
|
+
*/
|
107
|
+
get skeletonVisible(): boolean;
|
108
|
+
/**
|
109
|
+
* Возвращает ссылку на изображение карточки товара.
|
110
|
+
*/
|
111
|
+
getCardImage(): string;
|
112
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScPriceCardComponent, never>;
|
113
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScPriceCardComponent, "sc-price-card", never, { "showQuantityControl": "showQuantityControl"; "cartItem": "cartItem"; "product": "product"; "size": "size"; "isWidthFull": "isWidthFull"; }, { "clickFavoriteEvent": "clickFavoriteEvent"; "clickAddToCartEvent": "clickAddToCartEvent"; "clickClearEvent": "clickClearEvent"; "clickCardEvent": "clickCardEvent"; "quantityValueChanges": "quantityValueChanges"; }, never, never, false>;
|
114
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
/**
|
2
|
+
* Модель данных, принимаемых графиком.
|
3
|
+
*/
|
4
|
+
export interface ScIChartDataItem {
|
5
|
+
/**
|
6
|
+
* Название легенды, к которой относится примитив.
|
7
|
+
*/
|
8
|
+
name: string;
|
9
|
+
/**
|
10
|
+
* Значение примитива для отрисовки.
|
11
|
+
*/
|
12
|
+
value: [string | Date, number, string | Date];
|
13
|
+
}
|
@@ -0,0 +1,113 @@
|
|
1
|
+
/**
|
2
|
+
* Language: Russian.
|
3
|
+
*/
|
4
|
+
declare const _default: {
|
5
|
+
time: {
|
6
|
+
month: string[];
|
7
|
+
monthAbbr: string[];
|
8
|
+
dayOfWeek: string[];
|
9
|
+
dayOfWeekAbbr: string[];
|
10
|
+
};
|
11
|
+
legend: {
|
12
|
+
selector: {
|
13
|
+
all: string;
|
14
|
+
inverse: string;
|
15
|
+
};
|
16
|
+
};
|
17
|
+
toolbox: {
|
18
|
+
brush: {
|
19
|
+
title: {
|
20
|
+
rect: string;
|
21
|
+
polygon: string;
|
22
|
+
lineX: string;
|
23
|
+
lineY: string;
|
24
|
+
keep: string;
|
25
|
+
clear: string;
|
26
|
+
};
|
27
|
+
};
|
28
|
+
dataView: {
|
29
|
+
title: string;
|
30
|
+
lang: string[];
|
31
|
+
};
|
32
|
+
dataZoom: {
|
33
|
+
title: {
|
34
|
+
zoom: string;
|
35
|
+
back: string;
|
36
|
+
};
|
37
|
+
};
|
38
|
+
magicType: {
|
39
|
+
title: {
|
40
|
+
line: string;
|
41
|
+
bar: string;
|
42
|
+
stack: string;
|
43
|
+
tiled: string;
|
44
|
+
};
|
45
|
+
};
|
46
|
+
restore: {
|
47
|
+
title: string;
|
48
|
+
};
|
49
|
+
saveAsImage: {
|
50
|
+
title: string;
|
51
|
+
lang: string[];
|
52
|
+
};
|
53
|
+
};
|
54
|
+
series: {
|
55
|
+
typeNames: {
|
56
|
+
pie: string;
|
57
|
+
bar: string;
|
58
|
+
line: string;
|
59
|
+
scatter: string;
|
60
|
+
effectScatter: string;
|
61
|
+
radar: string;
|
62
|
+
tree: string;
|
63
|
+
treemap: string;
|
64
|
+
boxplot: string;
|
65
|
+
candlestick: string;
|
66
|
+
k: string;
|
67
|
+
heatmap: string;
|
68
|
+
map: string;
|
69
|
+
parallel: string;
|
70
|
+
lines: string;
|
71
|
+
graph: string;
|
72
|
+
sankey: string;
|
73
|
+
funnel: string;
|
74
|
+
gauge: string;
|
75
|
+
pictorialBar: string;
|
76
|
+
themeRiver: string;
|
77
|
+
sunburst: string;
|
78
|
+
};
|
79
|
+
};
|
80
|
+
aria: {
|
81
|
+
general: {
|
82
|
+
withTitle: string;
|
83
|
+
withoutTitle: string;
|
84
|
+
};
|
85
|
+
series: {
|
86
|
+
single: {
|
87
|
+
prefix: string;
|
88
|
+
withName: string;
|
89
|
+
withoutName: string;
|
90
|
+
};
|
91
|
+
multiple: {
|
92
|
+
prefix: string;
|
93
|
+
withName: string;
|
94
|
+
withoutName: string;
|
95
|
+
separator: {
|
96
|
+
middle: string;
|
97
|
+
end: string;
|
98
|
+
};
|
99
|
+
};
|
100
|
+
};
|
101
|
+
data: {
|
102
|
+
allData: string;
|
103
|
+
partialData: string;
|
104
|
+
withName: string;
|
105
|
+
withoutName: string;
|
106
|
+
separator: {
|
107
|
+
middle: string;
|
108
|
+
end: string;
|
109
|
+
};
|
110
|
+
};
|
111
|
+
};
|
112
|
+
};
|
113
|
+
export default _default;
|