@snabcentr/client-ui 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. package/banner/index.d.ts +2 -0
  2. package/banner/sc-banner.component.d.ts +106 -0
  3. package/banner/sc-banner.module.d.ts +15 -0
  4. package/catalog/category-card/sc-category-card.component.d.ts +64 -0
  5. package/catalog/index.d.ts +3 -0
  6. package/catalog/sc-catalog.module.d.ts +14 -0
  7. package/catalog/sc-favorite-btn/sc-favorite-btn.component.d.ts +13 -0
  8. package/esm2020/banner/index.mjs +3 -0
  9. package/esm2020/banner/sc-banner.component.mjs +187 -0
  10. package/esm2020/banner/sc-banner.module.mjs +25 -0
  11. package/esm2020/catalog/category-card/sc-category-card.component.mjs +102 -0
  12. package/esm2020/catalog/index.mjs +4 -0
  13. package/esm2020/catalog/sc-catalog.module.mjs +24 -0
  14. package/esm2020/catalog/sc-favorite-btn/sc-favorite-btn.component.mjs +24 -0
  15. package/esm2020/helpers/index.mjs +2 -0
  16. package/esm2020/helpers/sc-px-converter.mjs +27 -0
  17. package/esm2020/icons/index.mjs +2 -0
  18. package/esm2020/icons/sc-client-ui-icons-name.mjs +97 -0
  19. package/esm2020/news/index.mjs +4 -0
  20. package/esm2020/news/news-card/sc-news-card.component.mjs +19 -0
  21. package/esm2020/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +23 -0
  22. package/esm2020/news/sc-news.module.mjs +24 -0
  23. package/esm2020/public-api.mjs +6 -2
  24. package/esm2020/share-button/index.mjs +3 -0
  25. package/esm2020/share-button/sc-share-button.component.mjs +15 -0
  26. package/esm2020/share-button/sc-share-button.module.mjs +21 -0
  27. package/fesm2015/snabcentr-client-ui.mjs +544 -8
  28. package/fesm2015/snabcentr-client-ui.mjs.map +1 -1
  29. package/fesm2020/snabcentr-client-ui.mjs +541 -8
  30. package/fesm2020/snabcentr-client-ui.mjs.map +1 -1
  31. package/helpers/index.d.ts +1 -0
  32. package/helpers/sc-px-converter.d.ts +15 -0
  33. package/icons/index.d.ts +1 -0
  34. package/icons/sc-client-ui-icons-name.d.ts +4 -0
  35. package/icons/svg-pack/scIconAddProfile.svg +11 -0
  36. package/icons/svg-pack/scIconApplication.svg +11 -0
  37. package/icons/svg-pack/scIconArrowDown.svg +11 -0
  38. package/icons/svg-pack/scIconArrowDownLarge.svg +11 -0
  39. package/icons/svg-pack/scIconArrowDownLargeEnd.svg +12 -0
  40. package/icons/svg-pack/scIconArrowLeft.svg +11 -0
  41. package/icons/svg-pack/scIconArrowReturn.svg +11 -0
  42. package/icons/svg-pack/scIconArrowRight.svg +11 -0
  43. package/icons/svg-pack/scIconArrowUp.svg +11 -0
  44. package/icons/svg-pack/scIconAttention.svg +11 -0
  45. package/icons/svg-pack/scIconBag.svg +11 -0
  46. package/icons/svg-pack/scIconBasket.svg +11 -0
  47. package/icons/svg-pack/scIconBell.svg +11 -0
  48. package/icons/svg-pack/scIconBook.svg +11 -0
  49. package/icons/svg-pack/scIconBubble.svg +11 -0
  50. package/icons/svg-pack/scIconCalendar.svg +11 -0
  51. package/icons/svg-pack/scIconCancel.svg +18 -0
  52. package/icons/svg-pack/scIconCart.svg +11 -0
  53. package/icons/svg-pack/scIconCatalog.svg +16 -0
  54. package/icons/svg-pack/scIconClients.svg +11 -0
  55. package/icons/svg-pack/scIconClip.svg +11 -0
  56. package/icons/svg-pack/scIconClock.svg +11 -0
  57. package/icons/svg-pack/scIconConfigurator.svg +18 -0
  58. package/icons/svg-pack/scIconContacts.svg +11 -0
  59. package/icons/svg-pack/scIconCross.svg +11 -0
  60. package/icons/svg-pack/scIconDeleteProfile.svg +12 -0
  61. package/icons/svg-pack/scIconDone.svg +12 -0
  62. package/icons/svg-pack/scIconDownloading.svg +11 -0
  63. package/icons/svg-pack/scIconEdit.svg +11 -0
  64. package/icons/svg-pack/scIconError.svg +12 -0
  65. package/icons/svg-pack/scIconExcelFile.svg +11 -0
  66. package/icons/svg-pack/scIconEye.svg +11 -0
  67. package/icons/svg-pack/scIconFavorite.svg +11 -0
  68. package/icons/svg-pack/scIconFavoriteFill.svg +11 -0
  69. package/icons/svg-pack/scIconFile.svg +11 -0
  70. package/icons/svg-pack/scIconFilter.svg +11 -0
  71. package/icons/svg-pack/scIconFolder.svg +11 -0
  72. package/icons/svg-pack/scIconFolderOpen.svg +11 -0
  73. package/icons/svg-pack/scIconFolderPlus.svg +11 -0
  74. package/icons/svg-pack/scIconGraph.svg +11 -0
  75. package/icons/svg-pack/scIconHamburger.svg +13 -0
  76. package/icons/svg-pack/scIconHeart.svg +11 -0
  77. package/icons/svg-pack/scIconHeartFill.svg +11 -0
  78. package/icons/svg-pack/scIconHistory.svg +11 -0
  79. package/icons/svg-pack/scIconHome.svg +12 -0
  80. package/icons/svg-pack/scIconImage.svg +11 -0
  81. package/icons/svg-pack/scIconLike.svg +11 -0
  82. package/icons/svg-pack/scIconList.svg +11 -0
  83. package/icons/svg-pack/scIconLocation.svg +11 -0
  84. package/icons/svg-pack/scIconLock.svg +11 -0
  85. package/icons/svg-pack/scIconLockOpen.svg +11 -0
  86. package/icons/svg-pack/scIconLogIn.svg +11 -0
  87. package/icons/svg-pack/scIconLogOut.svg +13 -0
  88. package/icons/svg-pack/scIconLogOut2.svg +13 -0
  89. package/icons/svg-pack/scIconMail.svg +11 -0
  90. package/icons/svg-pack/scIconMoney.svg +11 -0
  91. package/icons/svg-pack/scIconMoney2.svg +11 -0
  92. package/icons/svg-pack/scIconNews.svg +11 -0
  93. package/icons/svg-pack/scIconOffer.svg +11 -0
  94. package/icons/svg-pack/scIconPalette.svg +18 -0
  95. package/icons/svg-pack/scIconPdfFile.svg +12 -0
  96. package/icons/svg-pack/scIconPercentage.svg +11 -0
  97. package/icons/svg-pack/scIconPhone.svg +11 -0
  98. package/icons/svg-pack/scIconPlus.svg +11 -0
  99. package/icons/svg-pack/scIconPrice.svg +11 -0
  100. package/icons/svg-pack/scIconProfile.svg +11 -0
  101. package/icons/svg-pack/scIconQRCodeScan.svg +18 -0
  102. package/icons/svg-pack/scIconQuestion.svg +11 -0
  103. package/icons/svg-pack/scIconReclamation.svg +11 -0
  104. package/icons/svg-pack/scIconRefresh.svg +11 -0
  105. package/icons/svg-pack/scIconRepeat.svg +11 -0
  106. package/icons/svg-pack/scIconRequisites.svg +11 -0
  107. package/icons/svg-pack/scIconRocket.svg +18 -0
  108. package/icons/svg-pack/scIconSave.svg +11 -0
  109. package/icons/svg-pack/scIconSearch.svg +12 -0
  110. package/icons/svg-pack/scIconSend.svg +11 -0
  111. package/icons/svg-pack/scIconSettings.svg +11 -0
  112. package/icons/svg-pack/scIconShare.svg +15 -0
  113. package/icons/svg-pack/scIconStar.svg +11 -0
  114. package/icons/svg-pack/scIconSuitcase.svg +11 -0
  115. package/icons/svg-pack/scIconTasks.svg +11 -0
  116. package/icons/svg-pack/scIconTick.svg +11 -0
  117. package/icons/svg-pack/scIconTop.svg +11 -0
  118. package/icons/svg-pack/scIconVerticalThreeDots.svg +11 -0
  119. package/icons/svg-pack/scIconViewGrid.svg +11 -0
  120. package/icons/svg-pack/scIconViewInline.svg +11 -0
  121. package/icons/svg-pack/scIconViewMinus.svg +11 -0
  122. package/icons/svg-pack/scIconViewTree.svg +15 -0
  123. package/icons/svg-pack/scIconWallet.svg +11 -0
  124. package/icons/svg-pack/scIconWarning.svg +11 -0
  125. package/icons/svg-pack/scIconWordFile.svg +12 -0
  126. package/news/index.d.ts +3 -0
  127. package/news/news-card/sc-news-card.component.d.ts +13 -0
  128. package/news/news-card-skeleton/sc-news-card-skeleton.component.d.ts +12 -0
  129. package/news/sc-news.module.d.ts +14 -0
  130. package/package.json +16 -1
  131. package/public-api.d.ts +5 -1
  132. package/share-button/index.d.ts +2 -0
  133. package/share-button/sc-share-button.component.d.ts +8 -0
  134. package/share-button/sc-share-button.module.d.ts +11 -0
  135. package/styles/taiga/variables.less +49 -50
  136. package/styles/tailwind/extend.js +189 -0
  137. package/styles/tailwind/tailwind.scss +1055 -0
  138. package/esm2020/test-component/test.component.mjs +0 -14
  139. package/test-component/test.component.d.ts +0 -8
@@ -0,0 +1,2 @@
1
+ export * from './sc-banner.component';
2
+ export * from './sc-banner.module';
@@ -0,0 +1,106 @@
1
+ import { ChangeDetectorRef, OnInit, QueryList, TemplateRef, EventEmitter } from '@angular/core';
2
+ import { ScBannerService, ScIBanner } from '@snabcentr/client-core';
3
+ import { ScPxConverter } from '../helpers';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Баннер с прокруткой переданных {@link TemplateRef} элементов, и баннеров локации.
7
+ */
8
+ export declare class ScBannerComponent implements OnInit {
9
+ private readonly cdr;
10
+ private bannerService;
11
+ private pxConverter;
12
+ /**
13
+ * Список ссылок на элемент представлений шаблонов.
14
+ */
15
+ bannersListRef: QueryList<TemplateRef<any>>;
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
+ clickBannerImgEvent: EventEmitter<ScIBanner>;
44
+ /**
45
+ * Свойство, от которого зависит наличие класса `!hidden` у `:host` компонента.
46
+ */
47
+ get isHidden(): boolean;
48
+ /**
49
+ * Свойство, от которого зависит высота `:host` компонента.
50
+ */
51
+ height: string;
52
+ /**
53
+ * Свойство, от которого зависит ширина `:host` компонента.
54
+ */
55
+ width: string;
56
+ /**
57
+ * Свойство, от которого зависит соотношение `:host` компонента.
58
+ */
59
+ aspectRatio: string;
60
+ /**
61
+ * Идентификатор текущего баннера.
62
+ */
63
+ currentBannerId: number;
64
+ /**
65
+ * Список баннеров.
66
+ */
67
+ banners: ScIBanner[];
68
+ /**
69
+ * Признак, что указатель мыши находится над баннером.
70
+ */
71
+ private isMouseOver;
72
+ /**
73
+ * Инициализирует экземпляр класса {@link ScBannerComponent}.
74
+ *
75
+ * @param cdr Объект для работы с обнаружением изменений.
76
+ * @param bannerService Сервис для работы с баннерами.
77
+ * @param pxConverter Класс хэлпер для конвертации пикселей.
78
+ */
79
+ constructor(cdr: ChangeDetectorRef, bannerService: ScBannerService, pxConverter: ScPxConverter);
80
+ /** @inheritDoc */
81
+ ngOnInit(): void;
82
+ /**
83
+ * Обработчик нажатия на баннер, генерирующий событие {@link clickBannerImgEvent}.
84
+ *
85
+ * @param banner Баннер, по ссылке которого совершён переход.
86
+ */
87
+ onClick(banner: ScIBanner): void;
88
+ /**
89
+ * Переключиться на предыдущий баннер.
90
+ */
91
+ onPreviousBanner(): void;
92
+ /**
93
+ * Переключиться на следующий баннер.
94
+ */
95
+ onNextBanner(): void;
96
+ /**
97
+ * Обработчик события mouseenter.
98
+ */
99
+ private mouseEnterHandler;
100
+ /**
101
+ * Обработчик события mouseleave.
102
+ */
103
+ private mouseLeaveHandler;
104
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScBannerComponent, never>;
105
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScBannerComponent, "sc-banner", never, { "navigateButton": "navigateButton"; "playerInterval": "playerInterval"; "disabled": "disabled"; "bannerLocation": "bannerLocation"; "resizable": "resizable"; }, { "loadBannersEvent": "loadBannersEvent"; "clickBannerImgEvent": "clickBannerImgEvent"; }, ["bannersListRef"], never, false>;
106
+ }
@@ -0,0 +1,15 @@
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
+ /**
9
+ * Модуль баннеров.
10
+ */
11
+ export declare class ScBannerModule {
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScBannerModule, never>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ScBannerModule, [typeof i1.ScBannerComponent], [typeof i2.CommonModule, typeof i3.RouterModule, typeof i4.TuiButtonModule, typeof i5.MatRippleModule, typeof i6.TuiCarouselModule, typeof i6.TuiPaginationModule], [typeof i1.ScBannerComponent]>;
14
+ static ɵinj: i0.ɵɵInjectorDeclaration<ScBannerModule>;
15
+ }
@@ -0,0 +1,64 @@
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
+ clickOnCardEvent: EventEmitter<ScCategory>;
36
+ /**
37
+ * Событие нажатия на кнопку избранной категории.
38
+ */
39
+ clickOnFavoriteEvent: EventEmitter<ScCategory>;
40
+ /**
41
+ * Инициализирует экземпляр класса {@link CategoryCardComponent}.
42
+ *
43
+ * @param urls Список ссылок на разделы backend'a.
44
+ * @param renderer Экземпляр базового класса для реализации пользовательского рендеринга.
45
+ * @param pathImageNotFound Путь до изображения 'Товар не найден'.
46
+ */
47
+ constructor(urls: ScIUrls, renderer: Renderer2, pathImageNotFound: string);
48
+ /**
49
+ * Возвращает путь к изображению категории. Если путь отсутствует, то вернёт изображение по-умолчанию ("product_not_found").
50
+ *
51
+ * @param category Информация о категории.
52
+ */
53
+ getCategoryImgURL(category: ScCategory): string;
54
+ /**
55
+ * Обработчик события mousemove.
56
+ */
57
+ private moveEnterHandler;
58
+ /**
59
+ * Обработчик события mouseleave.
60
+ */
61
+ private mouseLeaveHandler;
62
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScCategoryCardComponent, never>;
63
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScCategoryCardComponent, "sc-category-card", never, { "category": "category"; "size": "size"; "isSkeleton": "isSkeleton"; "showFavoriteBtn": "showFavoriteBtn"; }, { "clickOnCardEvent": "clickOnCardEvent"; "clickOnFavoriteEvent": "clickOnFavoriteEvent"; }, never, never, false>;
64
+ }
@@ -0,0 +1,3 @@
1
+ export * from './category-card/sc-category-card.component';
2
+ export * from './sc-favorite-btn/sc-favorite-btn.component';
3
+ export * from './sc-catalog.module';
@@ -0,0 +1,14 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./category-card/sc-category-card.component";
3
+ import * as i2 from "./sc-favorite-btn/sc-favorite-btn.component";
4
+ import * as i3 from "@angular/common";
5
+ import * as i4 from "@angular/router";
6
+ import * as i5 from "@taiga-ui/core";
7
+ /**
8
+ * Модуль каталога.
9
+ */
10
+ export declare class ScCatalogModule {
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScCatalogModule, never>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ScCatalogModule, [typeof i1.ScCategoryCardComponent, typeof i2.ScFavoriteBtnComponent], [typeof i3.CommonModule, typeof i4.RouterModule, typeof i5.TuiButtonModule, typeof i5.TuiSvgModule], [typeof i1.ScCategoryCardComponent, typeof i2.ScFavoriteBtnComponent]>;
13
+ static ɵinj: i0.ɵɵInjectorDeclaration<ScCatalogModule>;
14
+ }
@@ -0,0 +1,13 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Компонент кнопки избранных товаров и категорий.
5
+ */
6
+ export declare class ScFavoriteBtnComponent {
7
+ /**
8
+ * Событие нажатия на кнопку.
9
+ */
10
+ clickEvent: EventEmitter<void>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScFavoriteBtnComponent, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScFavoriteBtnComponent, "sc-favorite-btn", never, {}, { "clickEvent": "clickEvent"; }, never, never, false>;
13
+ }
@@ -0,0 +1,3 @@
1
+ export * from './sc-banner.component';
2
+ export * from './sc-banner.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvYmFubmVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2MtYmFubmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWJhbm5lci5tb2R1bGUnO1xuIl19
@@ -0,0 +1,187 @@
1
+ import { __decorate } from "tslib";
2
+ import { ChangeDetectionStrategy, Component, HostListener, Input, ContentChildren, HostBinding, Output, EventEmitter, } from '@angular/core';
3
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
4
+ import { filter, interval, map } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@snabcentr/client-core";
7
+ import * as i2 from "../helpers";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "@taiga-ui/core";
10
+ import * as i5 from "@taiga-ui/kit";
11
+ import * as i6 from "@taiga-ui/cdk";
12
+ /**
13
+ * Баннер с прокруткой переданных {@link TemplateRef} элементов, и баннеров локации.
14
+ */
15
+ let ScBannerComponent = class ScBannerComponent {
16
+ /**
17
+ * Инициализирует экземпляр класса {@link ScBannerComponent}.
18
+ *
19
+ * @param cdr Объект для работы с обнаружением изменений.
20
+ * @param bannerService Сервис для работы с баннерами.
21
+ * @param pxConverter Класс хэлпер для конвертации пикселей.
22
+ */
23
+ constructor(cdr, bannerService, pxConverter) {
24
+ this.cdr = cdr;
25
+ this.bannerService = bannerService;
26
+ this.pxConverter = pxConverter;
27
+ /**
28
+ * Признак, что необходимо показывать кнопки навигации.
29
+ */
30
+ this.navigateButton = true;
31
+ /**
32
+ * Интервал показа слайдов в миллисекундах.
33
+ */
34
+ this.playerInterval = 8000;
35
+ /**
36
+ * Признак, что прокрутка выключена.
37
+ */
38
+ this.disabled = false;
39
+ /**
40
+ * Признак, что компонент должен растягиваться.
41
+ */
42
+ this.resizable = true;
43
+ /**
44
+ * Событие загрузки баннеров с количеством полученных баннеров.
45
+ */
46
+ this.loadBannersEvent = new EventEmitter();
47
+ /**
48
+ * Событие нажатия на изображение баннера.
49
+ */
50
+ this.clickBannerImgEvent = new EventEmitter();
51
+ /**
52
+ * Свойство, от которого зависит высота `:host` компонента.
53
+ */
54
+ this.height = '';
55
+ /**
56
+ * Свойство, от которого зависит ширина `:host` компонента.
57
+ */
58
+ this.width = '';
59
+ /**
60
+ * Свойство, от которого зависит соотношение `:host` компонента.
61
+ */
62
+ this.aspectRatio = '';
63
+ /**
64
+ * Идентификатор текущего баннера.
65
+ */
66
+ this.currentBannerId = 0;
67
+ /**
68
+ * Список баннеров.
69
+ */
70
+ this.banners = [];
71
+ /**
72
+ * Признак, что указатель мыши находится над баннером.
73
+ */
74
+ this.isMouseOver = false;
75
+ /**
76
+ * Обработчик события mouseenter.
77
+ */
78
+ this.mouseEnterHandler = () => (this.isMouseOver = true);
79
+ /**
80
+ * Обработчик события mouseleave.
81
+ */
82
+ this.mouseLeaveHandler = () => (this.isMouseOver = false);
83
+ }
84
+ /**
85
+ * Свойство, от которого зависит наличие класса `!hidden` у `:host` компонента.
86
+ */
87
+ get isHidden() {
88
+ return this.bannersListRef.length + this.banners.length === 0;
89
+ }
90
+ /** @inheritDoc */
91
+ ngOnInit() {
92
+ interval(this.playerInterval)
93
+ .pipe(filter(() => !this.disabled && !this.isMouseOver), untilDestroyed(this))
94
+ .subscribe(() => this.onNextBanner());
95
+ if (this.bannerLocation) {
96
+ this.bannerService.banners$
97
+ .pipe(map((banners) => banners.filter((banner) => banner.location === this.bannerLocation)), untilDestroyed(this))
98
+ .subscribe((banners) => {
99
+ this.banners = banners;
100
+ if (banners.length) {
101
+ if (this.resizable) {
102
+ this.width = `100%`;
103
+ }
104
+ else {
105
+ this.height = `${this.pxConverter.pxToRem(banners[0].height)}rem`;
106
+ this.width = `${this.pxConverter.pxToRem(banners[0].width)}rem`;
107
+ }
108
+ this.aspectRatio = `${banners[0].width} / ${banners[0].height}`;
109
+ }
110
+ this.loadBannersEvent.emit(this.banners.length);
111
+ this.cdr.markForCheck();
112
+ });
113
+ }
114
+ }
115
+ /**
116
+ * Обработчик нажатия на баннер, генерирующий событие {@link clickBannerImgEvent}.
117
+ *
118
+ * @param banner Баннер, по ссылке которого совершён переход.
119
+ */
120
+ onClick(banner) {
121
+ if (banner.url) {
122
+ this.clickBannerImgEvent.emit(banner);
123
+ }
124
+ }
125
+ /**
126
+ * Переключиться на предыдущий баннер.
127
+ */
128
+ onPreviousBanner() {
129
+ const previous = this.currentBannerId - 1;
130
+ this.currentBannerId = previous < 0 ? this.bannersListRef.length + this.banners.length - 1 : previous;
131
+ this.cdr.markForCheck();
132
+ }
133
+ /**
134
+ * Переключиться на следующий баннер.
135
+ */
136
+ onNextBanner() {
137
+ const next = this.currentBannerId + 1;
138
+ this.currentBannerId = next === this.bannersListRef.length + this.banners.length ? 0 : next;
139
+ this.cdr.markForCheck();
140
+ }
141
+ };
142
+ ScBannerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScBannerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ScBannerService }, { token: i2.ScPxConverter }], target: i0.ɵɵFactoryTarget.Component });
143
+ ScBannerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScBannerComponent, selector: "sc-banner", inputs: { navigateButton: "navigateButton", playerInterval: "playerInterval", disabled: "disabled", bannerLocation: "bannerLocation", resizable: "resizable" }, outputs: { loadBannersEvent: "loadBannersEvent", clickBannerImgEvent: "clickBannerImgEvent" }, host: { listeners: { "mouseenter": "mouseEnterHandler()", "mouseleave": "mouseLeaveHandler()" }, properties: { "class.!hidden": "this.isHidden", "style.height": "this.height", "style.width": "this.width", "style.aspect-ratio": "this.aspectRatio" } }, queries: [{ propertyName: "bannersListRef", predicate: ["banner"] }], ngImport: i0, template: "<div class=\"flex relative\" [style.aspect-ratio]=\"aspectRatio\">\n <tui-carousel class=\"bg-white w-full shadow-sc !absolute rounded overflow-hidden\" [(index)]=\"currentBannerId\">\n <ng-container *ngFor=\"let item of bannersListRef; index as index\">\n <div *tuiItem>\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngFor=\"let banner of banners; index as index\">\n <a *tuiItem (click)=\"onClick(banner)\" [attr.href]=\"banner.url ? banner.url : null\" target=\"_blank\" [title]=\"banner.title\" class=\"\">\n <img [src]=\"banner.image\" alt=\"\u0411\u0430\u043D\u043D\u0435\u0440\" [style.aspect-ratio]=\"aspectRatio\" class=\"pointer-events-none object-cover h-full w-full\" />\n </a>\n </ng-container>\n </tui-carousel>\n <div *ngIf=\"navigateButton && !disabled && (this.bannersListRef.length + this.banners.length) > 1\" class=\"w-full h-full flex items-center grow justify-between p-3\">\n <button tuiIconButton icon=\"tuiIconChevronLeftLarge\" size=\"m\" shape=\"rounded\" appearance=\"flat\" (click)=\"onPreviousBanner()\" class=\"arrow-btn\"></button>\n <button tuiIconButton icon=\"tuiIconChevronRightLarge\" size=\"m\" shape=\"rounded\" appearance=\"flat\" (click)=\"onNextBanner()\" class=\"arrow-btn\"></button>\n </div>\n</div>\n<tui-pagination\n *ngIf=\"navigateButton && !disabled && (this.bannersListRef.length + this.banners.length) > 1\"\n size=\"s\"\n class=\"mt-3\"\n [length]=\"this.bannersListRef.length + this.banners.length\"\n [(index)]=\"currentBannerId\"\n></tui-pagination>\n", styles: [":host{--tui-carousel-padding: 0;display:flex;flex-direction:column}:host tui-pagination{color:var(--yellow)}\n", "*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: \"\"}html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.\\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.\\!absolute{position:absolute!important}.absolute{position:absolute}.\\!relative{position:relative!important}.relative{position:relative}.sticky{position:sticky}.left-1{left:.25rem}.left-3{left:.75rem}.top-1{top:.25rem}.top-3{top:.75rem}.isolate{isolation:isolate}.m-8{margin:2rem}.mb-2{margin-bottom:.5rem}.mb-2\\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mt-3{margin-top:.75rem}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.\\!block{display:block!important}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.contents{display:contents}.\\!hidden{display:none!important}.hidden{display:none}.h-3{height:.75rem}.h-32{height:8rem}.h-50{height:12.5rem}.h-82{height:20.5rem}.h-full{height:100%}.w-3{width:.75rem}.w-3\\/4{width:75%}.w-70{width:17.5rem}.w-8{width:2rem}.w-96{width:24rem}.w-full{width:100%}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-8{gap:2rem}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-sm{border-radius:.125rem}.rounded-tui-radius-m{border-radius:var(--tui-radius-m)}.rounded-tui-radius-s{border-radius:var(--tui-radius-s)}.border{border-width:1px}.bg-tui-base-02{background-color:var(--tui-base-02)}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-cover{background-size:cover}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.object-cover{object-fit:cover}.p-3{padding:.75rem}.p-5{padding:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-4\\.5{padding-top:1.125rem;padding-bottom:1.125rem}.align-baseline{vertical-align:baseline}.\\!text-2xl{font-size:1.5rem!important;line-height:2rem!important}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal: ordinal;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-tui-base-07{color:var(--tui-base-07)}.text-tui-primary{color:var(--tui-primary)}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--tw-shadow)}.shadow-sc{--tw-shadow: 2px 7px 20px 1px rgba(0, 0, 0, .1);--tw-shadow-colored: 2px 7px 20px 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\\[fs\\:0\\]{fs:0}.\\[k\\:string\\]{k:string}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { kind: "component", type: i5.TuiCarouselComponent, selector: "tui-carousel", inputs: ["draggable", "itemsCount", "index"], outputs: ["indexChange"] }, { kind: "directive", type: i5.TuiCarouselDirective, selector: "tui-carousel", inputs: ["duration", "index"] }, { kind: "directive", type: i6.TuiItemDirective, selector: "[tuiItem]" }, { kind: "component", type: i5.TuiPaginationComponent, selector: "tui-pagination", inputs: ["length", "size", "disabled", "activePadding", "sidePadding", "content", "index"], outputs: ["indexChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
144
+ ScBannerComponent = __decorate([
145
+ UntilDestroy({ checkProperties: true })
146
+ ], ScBannerComponent);
147
+ export { ScBannerComponent };
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScBannerComponent, decorators: [{
149
+ type: Component,
150
+ args: [{ selector: 'sc-banner', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex relative\" [style.aspect-ratio]=\"aspectRatio\">\n <tui-carousel class=\"bg-white w-full shadow-sc !absolute rounded overflow-hidden\" [(index)]=\"currentBannerId\">\n <ng-container *ngFor=\"let item of bannersListRef; index as index\">\n <div *tuiItem>\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngFor=\"let banner of banners; index as index\">\n <a *tuiItem (click)=\"onClick(banner)\" [attr.href]=\"banner.url ? banner.url : null\" target=\"_blank\" [title]=\"banner.title\" class=\"\">\n <img [src]=\"banner.image\" alt=\"\u0411\u0430\u043D\u043D\u0435\u0440\" [style.aspect-ratio]=\"aspectRatio\" class=\"pointer-events-none object-cover h-full w-full\" />\n </a>\n </ng-container>\n </tui-carousel>\n <div *ngIf=\"navigateButton && !disabled && (this.bannersListRef.length + this.banners.length) > 1\" class=\"w-full h-full flex items-center grow justify-between p-3\">\n <button tuiIconButton icon=\"tuiIconChevronLeftLarge\" size=\"m\" shape=\"rounded\" appearance=\"flat\" (click)=\"onPreviousBanner()\" class=\"arrow-btn\"></button>\n <button tuiIconButton icon=\"tuiIconChevronRightLarge\" size=\"m\" shape=\"rounded\" appearance=\"flat\" (click)=\"onNextBanner()\" class=\"arrow-btn\"></button>\n </div>\n</div>\n<tui-pagination\n *ngIf=\"navigateButton && !disabled && (this.bannersListRef.length + this.banners.length) > 1\"\n size=\"s\"\n class=\"mt-3\"\n [length]=\"this.bannersListRef.length + this.banners.length\"\n [(index)]=\"currentBannerId\"\n></tui-pagination>\n", styles: [":host{--tui-carousel-padding: 0;display:flex;flex-direction:column}:host tui-pagination{color:var(--yellow)}\n", "*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: \"\"}html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.\\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.\\!absolute{position:absolute!important}.absolute{position:absolute}.\\!relative{position:relative!important}.relative{position:relative}.sticky{position:sticky}.left-1{left:.25rem}.left-3{left:.75rem}.top-1{top:.25rem}.top-3{top:.75rem}.isolate{isolation:isolate}.m-8{margin:2rem}.mb-2{margin-bottom:.5rem}.mb-2\\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mt-3{margin-top:.75rem}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.\\!block{display:block!important}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.contents{display:contents}.\\!hidden{display:none!important}.hidden{display:none}.h-3{height:.75rem}.h-32{height:8rem}.h-50{height:12.5rem}.h-82{height:20.5rem}.h-full{height:100%}.w-3{width:.75rem}.w-3\\/4{width:75%}.w-70{width:17.5rem}.w-8{width:2rem}.w-96{width:24rem}.w-full{width:100%}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-8{gap:2rem}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-sm{border-radius:.125rem}.rounded-tui-radius-m{border-radius:var(--tui-radius-m)}.rounded-tui-radius-s{border-radius:var(--tui-radius-s)}.border{border-width:1px}.bg-tui-base-02{background-color:var(--tui-base-02)}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-cover{background-size:cover}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.object-cover{object-fit:cover}.p-3{padding:.75rem}.p-5{padding:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-4\\.5{padding-top:1.125rem;padding-bottom:1.125rem}.align-baseline{vertical-align:baseline}.\\!text-2xl{font-size:1.5rem!important;line-height:2rem!important}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal: ordinal;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-tui-base-07{color:var(--tui-base-07)}.text-tui-primary{color:var(--tui-primary)}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--tw-shadow)}.shadow-sc{--tw-shadow: 2px 7px 20px 1px rgba(0, 0, 0, .1);--tw-shadow-colored: 2px 7px 20px 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\\[fs\\:0\\]{fs:0}.\\[k\\:string\\]{k:string}\n"] }]
151
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.ScBannerService }, { type: i2.ScPxConverter }]; }, propDecorators: { bannersListRef: [{
152
+ type: ContentChildren,
153
+ args: ['banner']
154
+ }], navigateButton: [{
155
+ type: Input
156
+ }], playerInterval: [{
157
+ type: Input
158
+ }], disabled: [{
159
+ type: Input
160
+ }], bannerLocation: [{
161
+ type: Input
162
+ }], resizable: [{
163
+ type: Input
164
+ }], loadBannersEvent: [{
165
+ type: Output
166
+ }], clickBannerImgEvent: [{
167
+ type: Output
168
+ }], isHidden: [{
169
+ type: HostBinding,
170
+ args: ['class.!hidden']
171
+ }], height: [{
172
+ type: HostBinding,
173
+ args: ['style.height']
174
+ }], width: [{
175
+ type: HostBinding,
176
+ args: ['style.width']
177
+ }], aspectRatio: [{
178
+ type: HostBinding,
179
+ args: ['style.aspect-ratio']
180
+ }], mouseEnterHandler: [{
181
+ type: HostListener,
182
+ args: ['mouseenter']
183
+ }], mouseLeaveHandler: [{
184
+ type: HostListener,
185
+ args: ['mouseleave']
186
+ }] } });
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9iYW5uZXIvc2MtYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9iYW5uZXIvc2MtYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLGVBQWUsRUFDZixXQUFXLEVBQ1gsTUFBTSxFQUNOLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFJN0M7O0dBRUc7QUFRSSxJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjtJQTBGMUI7Ozs7OztPQU1HO0lBQ0gsWUFBb0MsR0FBc0IsRUFBVSxhQUE4QixFQUFVLFdBQTBCO1FBQWxHLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQWlCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUExRnRJOztXQUVHO1FBRUksbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFFdEM7O1dBRUc7UUFFSSxtQkFBYyxHQUFXLElBQUksQ0FBQztRQUVyQzs7V0FFRztRQUVJLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFRakM7O1dBRUc7UUFFSSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRWpDOztXQUVHO1FBRUkscUJBQWdCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFM0U7O1dBRUc7UUFFSSx3QkFBbUIsR0FBNEIsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQVVwRjs7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QUFNO2dCQU9BLG1CQUFtQjtzQkFEekIsTUFBTTtnQkFPSSxRQUFRO3NCQURsQixXQUFXO3VCQUFDLGVBQWU7Z0JBU3JCLE1BQU07c0JBRFosV0FBVzt1QkFBQyxjQUFjO2dCQU9wQixLQUFLO3NCQURYLFdBQVc7dUJBQUMsYUFBYTtnQkFPbkIsV0FBVztzQkFEakIsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBK0Z6QixpQkFBaUI7c0JBRHhCLFlBQVk7dUJBQUMsWUFBWTtnQkFPbEIsaUJBQWlCO3NCQUR4QixZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IGZpbHRlciwgaW50ZXJ2YWwsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2NCYW5uZXJTZXJ2aWNlLCBTY0lCYW5uZXIgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFNjUHhDb252ZXJ0ZXIgfSBmcm9tICcuLi9oZWxwZXJzJztcblxuLyoqXG4gKiDQkdCw0L3QvdC10YAg0YEg0L/RgNC+0LrRgNGD0YLQutC+0Lkg0L/QtdGA0LXQtNCw0L3QvdGL0YUge0BsaW5rIFRlbXBsYXRlUmVmfSDRjdC70LXQvNC10L3RgtC+0LIsINC4INCx0LDQvdC90LXRgNC+0LIg0LvQvtC60LDRhtC40LguXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2MtYmFubmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtYmFubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zYy1iYW5uZXIuY29tcG9uZW50LnNjc3MnLCAnLi4vc3R5bGVzL3RhaWx3aW5kL3RhaWx3aW5kLnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5AVW50aWxEZXN0cm95KHsgY2hlY2tQcm9wZXJ0aWVzOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgU2NCYW5uZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L3QsCDRjdC70LXQvNC10L3RgiDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjQuSDRiNCw0LHQu9C+0L3QvtCyLlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oJ2Jhbm5lcicpXG4gICAgcHVibGljIGJhbm5lcnNMaXN0UmVmOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC90LXQvtCx0YXQvtC00LjQvNC+INC/0L7QutCw0LfRi9Cy0LDRgtGMINC60L3QvtC/0LrQuCDQvdCw0LLQuNCz0LDRhtC40LguXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbmF2aWdhdGVCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdGC0LXRgNCy0LDQuyDQv9C+0LrQsNC30LAg0YHQu9Cw0LnQtNC+0LIg0LIg0LzQuNC70LvQuNGB0LXQutGD0L3QtNCw0YUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGxheWVySW50ZXJ2YWw6IG51bWJlciA9IDgwMDA7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC/0YDQvtC60YDRg9GC0LrQsCDQstGL0LrQu9GO0YfQtdC90LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCc0LXRgdGC0L7Qv9C+0LvQvtC20LXQvdC40LUg0LHQsNC90L3QtdGA0LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYmFubmVyTG9jYXRpb24/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC60L7QvNC/0L7QvdC10L3RgiDQtNC+0LvQttC10L0g0YDQsNGB0YLRj9Cz0LjQstCw0YLRjNGB0Y8uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVzaXphYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC30LDQs9GA0YPQt9C60Lgg0LHQsNC90L3QtdGA0L7QsiDRgSDQutC+0LvQuNGH0LXRgdGC0LLQvtC8INC/0L7Qu9GD0YfQtdC90L3Ri9GFINCx0LDQvdC90LXRgNC+0LIuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGxvYWRCYW5uZXJzRXZlbnQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC40LfQvtCx0YDQsNC20LXQvdC40LUg0LHQsNC90L3QtdGA0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrQmFubmVySW1nRXZlbnQ6IEV2ZW50RW1pdHRlcjxTY0lCYW5uZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0lCYW5uZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodCy0L7QudGB0YLQstC+LCDQvtGCINC60L7RgtC+0YDQvtCz0L4g0LfQsNCy0LjRgdC40YIg0L3QsNC70LjRh9C40LUg0LrQu9Cw0YHRgdCwIGAhaGlkZGVuYCDRgyBgOmhvc3RgINC60L7QvNC/0L7QvdC10L3RgtCwLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuIWhpZGRlbicpXG4gICAgcHVibGljIGdldCBpc0hpZGRlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFubmVyc0xpc3RSZWYubGVuZ3RoICsgdGhpcy5iYW5uZXJzLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodCy0L7QudGB0YLQstC+LCDQvtGCINC60L7RgtC+0YDQvtCz0L4g0LfQsNCy0LjRgdC40YIg0LLRi9GB0L7RgtCwIGA6aG9zdGAg0LrQvtC80L/QvtC90LXQvdGC0LAuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQnKVxuICAgIHB1YmxpYyBoZWlnaHQ6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqXG4gICAgICog0KHQstC+0LnRgdGC0LLQviwg0L7RgiDQutC+0YLQvtGA0L7Qs9C+INC30LDQstC40YHQuNGCINGI0LjRgNC40L3QsCBgOmhvc3RgINC60L7QvNC/0L7QvdC10L3RgtCwLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKVxuICAgIHB1YmxpYyB3aWR0aDogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiDQodCy0L7QudGB0YLQstC+LCDQvtGCINC60L7RgtC+0YDQvtCz0L4g0LfQsNCy0LjRgdC40YIg0YHQvtC+0YLQvdC+0YjQtdC90LjQtSBgOmhvc3RgINC60L7QvNC/0L7QvdC10L3RgtCwLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuYXNwZWN0LXJhdGlvJylcbiAgICBwdWJsaWMgYXNwZWN0UmF0aW86IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YLQtdC60YPRidC10LPQviDQsdCw0L3QvdC10YDQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY3VycmVudEJhbm5lcklkOiBudW1iZXIgPSAwO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INCx0LDQvdC90LXRgNC+0LIuXG4gICAgICovXG4gICAgcHVibGljIGJhbm5lcnM6IFNjSUJhbm5lcltdID0gW107XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INGD0LrQsNC30LDRgtC10LvRjCDQvNGL0YjQuCDQvdCw0YXQvtC00LjRgtGB0Y8g0L3QsNC0INCx0LDQvdC90LXRgNC+0LwuXG4gICAgICovXG4gICAgcHJpdmF0ZSBpc01vdXNlT3ZlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY0Jhbm5lckNvbXBvbmVudH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2RyINCe0LHRitC10LrRgiDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC+0LHQvdCw0YDRg9C20LXQvdC40LXQvCDQuNC30LzQtdC90LXQvdC40LkuXG4gICAgICogQHBhcmFtIGJhbm5lclNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0LHQsNC90L3QtdGA0LDQvNC4LlxuICAgICAqIEBwYXJhbSBweENvbnZlcnRlciDQmtC70LDRgdGBINGF0Y3Qu9C/0LXRgCDQtNC70Y8g0LrQvtC90LLQtdGA0YLQsNGG0LjQuCDQv9C40LrRgdC10LvQtdC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgYmFubmVyU2VydmljZTogU2NCYW5uZXJTZXJ2aWNlLCBwcml2YXRlIHB4Q29udmVydGVyOiBTY1B4Q29udmVydGVyKSB7fVxuXG4gICAgLyoqIEBpbmhlcml0RG9jICovXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpbnRlcnZhbCh0aGlzLnBsYXllckludGVydmFsKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLmRpc2FibGVkICYmICF0aGlzLmlzTW91c2VPdmVyKSxcbiAgICAgICAgICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uTmV4dEJhbm5lcigpKTtcblxuICAgICAgICBpZiAodGhpcy5iYW5uZXJMb2NhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5iYW5uZXJTZXJ2aWNlLmJhbm5lcnMkXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoYmFubmVycykgPT4gYmFubmVycy5maWx0ZXIoKGJhbm5lcikgPT4gYmFubmVyLmxvY2F0aW9uID09PSB0aGlzLmJhbm5lckxvY2F0aW9uKSksXG4gICAgICAgICAgICAgICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGJhbm5lcnMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYW5uZXJzID0gYmFubmVycztcblxuICAgICAgICAgICAgICAgICAgICBpZiAoYmFubmVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMud2lkdGggPSBgMTAwJWA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gYCR7dGhpcy5weENvbnZlcnRlci5weFRvUmVtKGJhbm5lcnNbMF0uaGVpZ2h0KX1yZW1gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMud2lkdGggPSBgJHt0aGlzLnB4Q29udmVydGVyLnB4VG9SZW0oYmFubmVyc1swXS53aWR0aCl9cmVtYDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hc3BlY3RSYXRpbyA9IGAke2Jhbm5lcnNbMF0ud2lkdGh9IC8gJHtiYW5uZXJzWzBdLmhlaWdodH1gO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkQmFubmVyc0V2ZW50LmVtaXQodGhpcy5iYW5uZXJzLmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0L3QsNC20LDRgtC40Y8g0L3QsCDQsdCw0L3QvdC10YAsINCz0LXQvdC10YDQuNGA0YPRjtGJ0LjQuSDRgdC+0LHRi9GC0LjQtSB7QGxpbmsgY2xpY2tCYW5uZXJJbWdFdmVudH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYmFubmVyINCR0LDQvdC90LXRgCwg0L/QviDRgdGB0YvQu9C60LUg0LrQvtGC0L7RgNC+0LPQviDRgdC+0LLQtdGA0YjRkdC9INC/0LXRgNC10YXQvtC0LlxuICAgICAqL1xuICAgIHB1YmxpYyBvbkNsaWNrKGJhbm5lcjogU2NJQmFubmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChiYW5uZXIudXJsKSB7XG4gICAgICAgICAgICB0aGlzLmNsaWNrQmFubmVySW1nRXZlbnQuZW1pdChiYW5uZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/QtdGA0LXQutC70Y7Rh9C40YLRjNGB0Y8g0L3QsCDQv9GA0LXQtNGL0LTRg9GJ0LjQuSDQsdCw0L3QvdC10YAuXG4gICAgICovXG4gICAgcHVibGljIG9uUHJldmlvdXNCYW5uZXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzOiBudW1iZXIgPSB0aGlzLmN1cnJlbnRCYW5uZXJJZCAtIDE7XG4gICAgICAgIHRoaXMuY3VycmVudEJhbm5lcklkID0gcHJldmlvdXMgPCAwID8gdGhpcy5iYW5uZXJzTGlzdFJlZi5sZW5ndGggKyB0aGlzLmJhbm5lcnMubGVuZ3RoIC0gMSA6IHByZXZpb3VzO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9C10YDQtdC60LvRjtGH0LjRgtGM0YHRjyDQvdCwINGB0LvQtdC00YPRjtGJ0LjQuSDQsdCw0L3QvdC10YAuXG4gICAgICovXG4gICAgcHVibGljIG9uTmV4dEJhbm5lcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV4dDogbnVtYmVyID0gdGhpcy5jdXJyZW50QmFubmVySWQgKyAxO1xuICAgICAgICB0aGlzLmN1cnJlbnRCYW5uZXJJZCA9IG5leHQgPT09IHRoaXMuYmFubmVyc0xpc3RSZWYubGVuZ3RoICsgdGhpcy5iYW5uZXJzLmxlbmd0aCA/IDAgOiBuZXh0O1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YDQsNCx0L7RgtGH0LjQuiDRgdC+0LHRi9GC0LjRjyBtb3VzZWVudGVyLlxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuICAgIHByaXZhdGUgbW91c2VFbnRlckhhbmRsZXI6ICgpID0+IGJvb2xlYW4gPSAoKSA9PiAodGhpcy5pc01vdXNlT3ZlciA9IHRydWUpO1xuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0YHQvtCx0YvRgtC40Y8gbW91c2VsZWF2ZS5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcbiAgICBwcml2YXRlIG1vdXNlTGVhdmVIYW5kbGVyOiAoKSA9PiBib29sZWFuID0gKCkgPT4gKHRoaXMuaXNNb3VzZU92ZXIgPSBmYWxzZSk7XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCByZWxhdGl2ZVwiIFtzdHlsZS5hc3BlY3QtcmF0aW9dPVwiYXNwZWN0UmF0aW9cIj5cbiAgICA8dHVpLWNhcm91c2VsIGNsYXNzPVwiYmctd2hpdGUgdy1mdWxsIHNoYWRvdy1zYyAhYWJzb2x1dGUgcm91bmRlZCBvdmVyZmxvdy1oaWRkZW5cIiBbKGluZGV4KV09XCJjdXJyZW50QmFubmVySWRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBiYW5uZXJzTGlzdFJlZjsgaW5kZXggYXMgaW5kZXhcIj5cbiAgICAgICAgICAgIDxkaXYgKnR1aUl0ZW0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJhbm5lciBvZiBiYW5uZXJzOyBpbmRleCBhcyBpbmRleFwiPlxuICAgICAgICAgICAgPGEgKnR1aUl0ZW0gKGNsaWNrKT1cIm9uQ2xpY2soYmFubmVyKVwiIFthdHRyLmhyZWZdPVwiYmFubmVyLnVybCA/IGJhbm5lci51cmwgOiBudWxsXCIgdGFyZ2V0PVwiX2JsYW5rXCIgW3RpdGxlXT1cImJhbm5lci50aXRsZVwiIGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImJhbm5lci5pbWFnZVwiIGFsdD1cItCR0LDQvdC90LXRgFwiIFtzdHlsZS5hc3BlY3QtcmF0aW9dPVwiYXNwZWN0UmF0aW9cIiBjbGFzcz1cInBvaW50ZXItZXZlbnRzLW5vbmUgb2JqZWN0LWNvdmVyIGgtZnVsbCB3LWZ1bGxcIiAvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3R1aS1jYXJvdXNlbD5cbiAgICA8ZGl2ICpuZ0lmPVwibmF2aWdhdGVCdXR0b24gJiYgIWRpc2FibGVkICYmICh0aGlzLmJhbm5lcnNMaXN0UmVmLmxlbmd0aCArIHRoaXMuYmFubmVycy5sZW5ndGgpID4gMVwiIGNsYXNzPVwidy1mdWxsIGgtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBncm93IGp1c3RpZnktYmV0d2VlbiBwLTNcIj5cbiAgICAgICAgPGJ1dHRvbiB0dWlJY29uQnV0dG9uIGljb249XCJ0dWlJY29uQ2hldnJvbkxlZnRMYXJnZVwiIHNpemU9XCJtXCIgc2hhcGU9XCJyb3VuZGVkXCIgYXBwZWFyYW5jZT1cImZsYXRcIiAoY2xpY2spPVwib25QcmV2aW91c0Jhbm5lcigpXCIgY2xhc3M9XCJhcnJvdy1idG5cIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0dWlJY29uQnV0dG9uIGljb249XCJ0dWlJY29uQ2hldnJvblJpZ2h0TGFyZ2VcIiBzaXplPVwibVwiIHNoYXBlPVwicm91bmRlZFwiIGFwcGVhcmFuY2U9XCJmbGF0XCIgKGNsaWNrKT1cIm9uTmV4dEJhbm5lcigpXCIgY2xhc3M9XCJhcnJvdy1idG5cIj48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPHR1aS1wYWdpbmF0aW9uXG4gICAgKm5nSWY9XCJuYXZpZ2F0ZUJ1dHRvbiAmJiAhZGlzYWJsZWQgJiYgKHRoaXMuYmFubmVyc0xpc3RSZWYubGVuZ3RoICsgdGhpcy5iYW5uZXJzLmxlbmd0aCkgPiAxXCJcbiAgICBzaXplPVwic1wiXG4gICAgY2xhc3M9XCJtdC0zXCJcbiAgICBbbGVuZ3RoXT1cInRoaXMuYmFubmVyc0xpc3RSZWYubGVuZ3RoICsgdGhpcy5iYW5uZXJzLmxlbmd0aFwiXG4gICAgWyhpbmRleCldPVwiY3VycmVudEJhbm5lcklkXCJcbj48L3R1aS1wYWdpbmF0aW9uPlxuIl19
@@ -0,0 +1,25 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ScBannerComponent } from './sc-banner.component';
4
+ import { RouterModule } from '@angular/router';
5
+ import { TuiButtonModule } from '@taiga-ui/core';
6
+ import { MatRippleModule } from '@angular/material/core';
7
+ import { TuiCarouselModule, TuiPaginationModule } from '@taiga-ui/kit';
8
+ import * as i0 from "@angular/core";
9
+ /**
10
+ * Модуль баннеров.
11
+ */
12
+ export class ScBannerModule {
13
+ }
14
+ ScBannerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScBannerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ ScBannerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ScBannerModule, declarations: [ScBannerComponent], imports: [CommonModule, RouterModule, TuiButtonModule, MatRippleModule, TuiCarouselModule, TuiPaginationModule], exports: [ScBannerComponent] });
16
+ ScBannerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScBannerModule, imports: [CommonModule, RouterModule, TuiButtonModule, MatRippleModule, TuiCarouselModule, TuiPaginationModule] });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScBannerModule, decorators: [{
18
+ type: NgModule,
19
+ args: [{
20
+ declarations: [ScBannerComponent],
21
+ imports: [CommonModule, RouterModule, TuiButtonModule, MatRippleModule, TuiCarouselModule, TuiPaginationModule],
22
+ exports: [ScBannerComponent],
23
+ }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYmFubmVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9iYW5uZXIvc2MtYmFubmVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXZFOztHQUVHO0FBTUgsTUFBTSxPQUFPLGNBQWM7OzJHQUFkLGNBQWM7NEdBQWQsY0FBYyxpQkFKUixpQkFBaUIsYUFDdEIsWUFBWSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixhQUNwRyxpQkFBaUI7NEdBRWxCLGNBQWMsWUFIYixZQUFZLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1COzJGQUdyRyxjQUFjO2tCQUwxQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLENBQUM7b0JBQy9HLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2NCYW5uZXJDb21wb25lbnQgfSBmcm9tICcuL3NjLWJhbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFR1aUJ1dHRvbk1vZHVsZSB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IE1hdFJpcHBsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgVHVpQ2Fyb3VzZWxNb2R1bGUsIFR1aVBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcblxuLyoqXG4gKiDQnNC+0LTRg9C70Ywg0LHQsNC90L3QtdGA0L7Qsi5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtTY0Jhbm5lckNvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUm91dGVyTW9kdWxlLCBUdWlCdXR0b25Nb2R1bGUsIE1hdFJpcHBsZU1vZHVsZSwgVHVpQ2Fyb3VzZWxNb2R1bGUsIFR1aVBhZ2luYXRpb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtTY0Jhbm5lckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNjQmFubmVyTW9kdWxlIHt9XG4iXX0=