@snabcentr/client-ui 0.15.9 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. package/catalog/price-card/sc-price-card.component.d.ts +31 -22
  2. package/catalog/price-history/{sc-lang-RU.d.ts → sc-lang-ru.d.ts} +2 -0
  3. package/catalog/sc-catalog.module.d.ts +1 -1
  4. package/esm2020/cart/cart-item-mobile/sc-cart-item-mobile.component.mjs +1 -1
  5. package/esm2020/catalog/input-quantity/sc-input-quantity.component.mjs +1 -1
  6. package/esm2020/catalog/price-card/sc-price-card.component.mjs +31 -13
  7. package/esm2020/catalog/price-history/sc-lang-ru.mjs +115 -0
  8. package/esm2020/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +1 -1
  9. package/esm2020/catalog/sc-catalog.module.mjs +28 -25
  10. package/esm2020/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +1 -1
  11. package/esm2020/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +1 -1
  12. package/esm2020/contragents/contragents-accordion/sc-contragents-accordion.component.mjs +1 -1
  13. package/esm2020/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.mjs +1 -1
  14. package/esm2020/files/files-and-documents/files-and-documents.component.mjs +60 -0
  15. package/esm2020/files/files-and-documents.module.mjs +7 -7
  16. package/esm2020/files/index.mjs +3 -3
  17. package/esm2020/news/news-card/sc-news-card.component.mjs +12 -4
  18. package/esm2020/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +12 -4
  19. package/esm2020/news/sc-news.module.mjs +5 -5
  20. package/esm2020/public-api.mjs +2 -2
  21. package/esm2020/share-button/sc-share-button.component.mjs +1 -1
  22. package/esm2020/tokens/index.mjs +2 -1
  23. package/esm2020/tokens/sc-min-length-search-term.mjs +6 -0
  24. package/fesm2015/snabcentr-client-ui.mjs +101 -62
  25. package/fesm2015/snabcentr-client-ui.mjs.map +1 -1
  26. package/fesm2020/snabcentr-client-ui.mjs +100 -61
  27. package/fesm2020/snabcentr-client-ui.mjs.map +1 -1
  28. package/files/{files-and-documents.component.d.ts → files-and-documents/files-and-documents.component.d.ts} +2 -2
  29. package/files/files-and-documents.module.d.ts +1 -1
  30. package/files/index.d.ts +2 -2
  31. package/news/news-card/sc-news-card.component.d.ts +4 -0
  32. package/news/news-card-skeleton/sc-news-card-skeleton.component.d.ts +4 -0
  33. package/package.json +2 -3
  34. package/public-api.d.ts +1 -1
  35. package/styles/tailwind/tailwind.scss +23 -25
  36. package/tokens/index.d.ts +1 -0
  37. package/tokens/sc-min-length-search-term.d.ts +5 -0
  38. package/esm2020/catalog/price-history/sc-lang-RU.mjs +0 -113
  39. package/esm2020/files/files-and-documents.component.mjs +0 -60
@@ -1,7 +1,7 @@
1
1
  import { ScFilesService } from '@snabcentr/client-core';
2
2
  import { Observable } from 'rxjs';
3
- import { TreeIconService } from './services/tree-icon.service';
4
- import { TreeNode } from './interfaces/tree-node';
3
+ import { TreeNode } from '../interfaces/tree-node';
4
+ import { TreeIconService } from '../services/tree-icon.service';
5
5
  import * as i0 from "@angular/core";
6
6
  /**
7
7
  * Компонент файлов и документов.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./files-and-documents.component";
2
+ import * as i1 from "./files-and-documents/files-and-documents.component";
3
3
  import * as i2 from "./directives/tree.directive";
4
4
  import * as i3 from "./directives/tree-top.directive";
5
5
  import * as i4 from "./file-tree-item/file-tree-item.component";
package/files/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export * from './files-and-documents.component';
2
- export * from './files-and-documents.module';
1
+ export * from './files-and-documents/files-and-documents.component';
3
2
  export * from './services';
4
3
  export * from './directives';
5
4
  export * from './interfaces/tree-node';
5
+ export * from './files-and-documents.module';
@@ -17,6 +17,10 @@ export declare class ScNewsCardComponent {
17
17
  * Событие клика по кнопке "Поделиться" карточки новости.
18
18
  */
19
19
  clickShareEvent: EventEmitter<void>;
20
+ /**
21
+ * Признак того, что этот компонент отображается на мобильном устройстве.
22
+ */
23
+ readonly isMobile: boolean;
20
24
  static ɵfac: i0.ɵɵFactoryDeclaration<ScNewsCardComponent, never>;
21
25
  static ɵcmp: i0.ɵɵComponentDeclaration<ScNewsCardComponent, "sc-news-card", never, { "news": "news"; }, { "clickCardEvent": "clickCardEvent"; "clickShareEvent": "clickShareEvent"; }, never, never, false>;
22
26
  }
@@ -7,6 +7,10 @@ export declare class ScNewsCardSkeletonComponent {
7
7
  * Признак, что необходимо отобразить скелетон изображения новости.
8
8
  */
9
9
  hasImg: boolean;
10
+ /**
11
+ * Признак того, что этот компонент отображается на мобильном устройстве.
12
+ */
13
+ readonly isMobile: boolean;
10
14
  static ɵfac: i0.ɵɵFactoryDeclaration<ScNewsCardSkeletonComponent, never>;
11
15
  static ɵcmp: i0.ɵɵComponentDeclaration<ScNewsCardSkeletonComponent, "sc-news-card-skeleton", never, { "hasImg": "hasImg"; }, {}, never, never, false>;
12
16
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snabcentr/client-ui",
3
- "version": "0.15.9",
3
+ "version": "0.17.0",
4
4
  "author": "Snabcentr Ltd.",
5
5
  "repository": "https://gitlab.snabcentr.met/web/angular/snabcentr-client-ui-lib",
6
6
  "license": "Commercial",
@@ -14,7 +14,7 @@
14
14
  "@angular/platform-browser": ">=14.2.12",
15
15
  "@angular/platform-browser-dynamic": ">=14.2.12",
16
16
  "@angular/material": ">=14.2.7",
17
- "@snabcentr/client-core": ">=0.12.0",
17
+ "@snabcentr/client-core": ">=0.14.0",
18
18
  "@maskito/angular": ">=1.7.0",
19
19
  "@maskito/core": ">=1.7.0",
20
20
  "@taiga-ui/addon-charts": ">=3.42.1",
@@ -33,7 +33,6 @@
33
33
  "@tinkoff/ng-polymorpheus": ">=4.1.0",
34
34
  "@ng-web-apis/intersection-observer": ">=3.0.0",
35
35
  "echarts": "^5.4.3",
36
- "moment": ">=2.29.4",
37
36
  "ngx-echarts": "^14.0.0",
38
37
  "rxjs": ">=7.5.0",
39
38
  "zone.js": ">=0.12.0"
package/public-api.d.ts CHANGED
@@ -18,5 +18,5 @@ export * from './share-button';
18
18
  export * from './user';
19
19
  export * from './validators';
20
20
  export * from './verification';
21
- export * from './tokens';
22
21
  export * from './profile';
22
+ export * from './tokens';
@@ -772,6 +772,11 @@ video {
772
772
  display: none;
773
773
  }
774
774
 
775
+ .size-6 {
776
+ width: 1.5rem;
777
+ height: 1.5rem;
778
+ }
779
+
775
780
  .\!h-20 {
776
781
  height: 5rem !important;
777
782
  }
@@ -820,10 +825,6 @@ video {
820
825
  height: 60%;
821
826
  }
822
827
 
823
- .h-32 {
824
- height: 8rem;
825
- }
826
-
827
828
  .h-4 {
828
829
  height: 1rem;
829
830
  }
@@ -840,18 +841,10 @@ video {
840
841
  height: 14rem;
841
842
  }
842
843
 
843
- .h-6 {
844
- height: 1.5rem;
845
- }
846
-
847
844
  .h-8 {
848
845
  height: 2rem;
849
846
  }
850
847
 
851
- .h-82 {
852
- height: 20.5rem;
853
- }
854
-
855
848
  .h-\[19rem\] {
856
849
  height: 19rem;
857
850
  }
@@ -904,14 +897,6 @@ video {
904
897
  width: 10rem;
905
898
  }
906
899
 
907
- .w-6 {
908
- width: 1.5rem;
909
- }
910
-
911
- .w-70 {
912
- width: 17.5rem;
913
- }
914
-
915
900
  .w-8 {
916
901
  width: 2rem;
917
902
  }
@@ -924,7 +909,7 @@ video {
924
909
  width: 100%;
925
910
  }
926
911
 
927
- .min-w-\[10rem\] {
912
+ .min-w-40 {
928
913
  min-width: 10rem;
929
914
  }
930
915
 
@@ -1119,10 +1104,6 @@ video {
1119
1104
  border-radius: 0.25rem;
1120
1105
  }
1121
1106
 
1122
- .rounded-lg {
1123
- border-radius: 0.5rem;
1124
- }
1125
-
1126
1107
  .rounded-md {
1127
1108
  border-radius: 0.375rem;
1128
1109
  }
@@ -1232,6 +1213,11 @@ video {
1232
1213
  padding-right: 0.25rem;
1233
1214
  }
1234
1215
 
1216
+ .px-2 {
1217
+ padding-left: 0.5rem;
1218
+ padding-right: 0.5rem;
1219
+ }
1220
+
1235
1221
  .px-3 {
1236
1222
  padding-left: 0.75rem;
1237
1223
  padding-right: 0.75rem;
@@ -1266,10 +1252,18 @@ video {
1266
1252
  padding-bottom: 0.25rem;
1267
1253
  }
1268
1254
 
1255
+ .pb-4 {
1256
+ padding-bottom: 1rem;
1257
+ }
1258
+
1269
1259
  .pl-4 {
1270
1260
  padding-left: 1rem;
1271
1261
  }
1272
1262
 
1263
+ .pt-2 {
1264
+ padding-top: 0.5rem;
1265
+ }
1266
+
1273
1267
  .text-left {
1274
1268
  text-align: left;
1275
1269
  }
@@ -1324,6 +1318,10 @@ video {
1324
1318
  font-weight: 700;
1325
1319
  }
1326
1320
 
1321
+ .font-extrabold {
1322
+ font-weight: 800;
1323
+ }
1324
+
1327
1325
  .font-medium {
1328
1326
  font-weight: 500;
1329
1327
  }
package/tokens/index.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export * from './sc-linear-values-token';
2
+ export * from './sc-min-length-search-term';
@@ -0,0 +1,5 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ /**
3
+ * Токен минимального количества введенных символов в поиске для подсветки терма.
4
+ */
5
+ export declare const SC_MIN_LENGTH_SEARCH_TERM: InjectionToken<number>;
@@ -1,113 +0,0 @@
1
- /**
2
- * Language: Russian.
3
- */
4
- export default {
5
- time: {
6
- month: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
7
- monthAbbr: ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'],
8
- dayOfWeek: ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'],
9
- dayOfWeekAbbr: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб']
10
- },
11
- legend: {
12
- selector: {
13
- all: 'Всё',
14
- inverse: 'Обратить'
15
- }
16
- },
17
- toolbox: {
18
- brush: {
19
- title: {
20
- rect: 'Выделить область',
21
- polygon: 'Инструмент «Лассо»',
22
- lineX: 'Горизонтальное выделение',
23
- lineY: 'Вертикальное выделение',
24
- keep: 'Оставить выбранное',
25
- clear: 'Очистить выбранное'
26
- }
27
- },
28
- dataView: {
29
- title: 'Данные',
30
- lang: ['Данные', 'Закрыть', 'Обновить']
31
- },
32
- dataZoom: {
33
- title: {
34
- zoom: 'Увеличить',
35
- back: 'Сбросить увеличение'
36
- }
37
- },
38
- magicType: {
39
- title: {
40
- line: 'Переключиться на линейный график',
41
- bar: 'Переключиться на столбчатую диаграмму',
42
- stack: 'Стопка',
43
- tiled: 'Плитка'
44
- }
45
- },
46
- restore: {
47
- title: 'Восстановить'
48
- },
49
- saveAsImage: {
50
- title: 'Сохранить картинку',
51
- lang: ['Правый клик, чтобы сохранить картинку']
52
- }
53
- },
54
- series: {
55
- typeNames: {
56
- pie: 'Круговая диаграмма',
57
- bar: 'Столбчатая диаграмма',
58
- line: 'Линейный график',
59
- scatter: 'Точечная диаграмма',
60
- effectScatter: 'Точечная диаграмма с волнами',
61
- radar: 'Лепестковая диаграмма',
62
- tree: 'Дерево',
63
- treemap: 'Плоское дерево',
64
- boxplot: 'Ящик с усами',
65
- candlestick: 'Свечной график',
66
- k: 'График К-линий',
67
- heatmap: 'Тепловая карта',
68
- map: 'Карта',
69
- parallel: 'Диаграмма параллельных координат',
70
- lines: 'Линейный граф',
71
- graph: 'Граф отношений',
72
- sankey: 'Диаграмма Санкей',
73
- funnel: 'Воронкообразная диаграмма',
74
- gauge: 'Шкала',
75
- pictorialBar: 'Столбец-картинка',
76
- themeRiver: 'Тематическая река',
77
- sunburst: 'Солнечные лучи'
78
- }
79
- },
80
- aria: {
81
- general: {
82
- withTitle: 'Это график, показывающий "{title}"',
83
- withoutTitle: 'Это график'
84
- },
85
- series: {
86
- single: {
87
- prefix: '',
88
- withName: ' с типом {seriesType} и именем {seriesName}.',
89
- withoutName: ' с типом {seriesType}.'
90
- },
91
- multiple: {
92
- prefix: '. Он состоит из {seriesCount} серий.',
93
- withName: ' Серия {seriesId} имеет тип {seriesType} и показывает {seriesName}.',
94
- withoutName: ' Серия {seriesId} имеет тип {seriesType}.',
95
- separator: {
96
- middle: '',
97
- end: ''
98
- }
99
- }
100
- },
101
- data: {
102
- allData: 'Данные таковы: ',
103
- partialData: 'Первые {displayCnt} элементов: ',
104
- withName: 'значение для {name} — {value}',
105
- withoutName: '{value}',
106
- separator: {
107
- middle: ', ',
108
- end: '. '
109
- }
110
- }
111
- }
112
- };
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbGFuZy1SVS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jYXRhbG9nL3ByaWNlLWhpc3Rvcnkvc2MtbGFuZy1SVS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGVBQWU7SUFDWCxJQUFJLEVBQUU7UUFDRixLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQztRQUMzSCxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUMvRixTQUFTLEVBQUUsQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7UUFDOUYsYUFBYSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO0tBQzVEO0lBQ0QsTUFBTSxFQUFFO1FBQ0osUUFBUSxFQUFFO1lBQ04sR0FBRyxFQUFFLEtBQUs7WUFDVixPQUFPLEVBQUUsVUFBVTtTQUN0QjtLQUNKO0lBQ0QsT0FBTyxFQUFFO1FBQ0wsS0FBSyxFQUFFO1lBQ0gsS0FBSyxFQUFFO2dCQUNILElBQUksRUFBRSxrQkFBa0I7Z0JBQ3hCLE9BQU8sRUFBRSxvQkFBb0I7Z0JBQzdCLEtBQUssRUFBRSwwQkFBMEI7Z0JBQ2pDLEtBQUssRUFBRSx3QkFBd0I7Z0JBQy9CLElBQUksRUFBRSxvQkFBb0I7Z0JBQzFCLEtBQUssRUFBRSxvQkFBb0I7YUFDOUI7U0FDSjtRQUNELFFBQVEsRUFBRTtZQUNOLEtBQUssRUFBRSxRQUFRO1lBQ2YsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUM7U0FDMUM7UUFDRCxRQUFRLEVBQUU7WUFDTixLQUFLLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLElBQUksRUFBRSxxQkFBcUI7YUFDOUI7U0FDSjtRQUNELFNBQVMsRUFBRTtZQUNQLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsa0NBQWtDO2dCQUN4QyxHQUFHLEVBQUUsdUNBQXVDO2dCQUM1QyxLQUFLLEVBQUUsUUFBUTtnQkFDZixLQUFLLEVBQUUsUUFBUTthQUNsQjtTQUNKO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsS0FBSyxFQUFFLGNBQWM7U0FDeEI7UUFDRCxXQUFXLEVBQUU7WUFDVCxLQUFLLEVBQUUsb0JBQW9CO1lBQzNCLElBQUksRUFBRSxDQUFDLHVDQUF1QyxDQUFDO1NBQ2xEO0tBQ0o7SUFDRCxNQUFNLEVBQUU7UUFDSixTQUFTLEVBQUU7WUFDUCxHQUFHLEVBQUUsb0JBQW9CO1lBQ3pCLEdBQUcsRUFBRSxzQkFBc0I7WUFDM0IsSUFBSSxFQUFFLGlCQUFpQjtZQUN2QixPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLGFBQWEsRUFBRSw4QkFBOEI7WUFDN0MsS0FBSyxFQUFFLHVCQUF1QjtZQUM5QixJQUFJLEVBQUUsUUFBUTtZQUNkLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsT0FBTyxFQUFFLGNBQWM7WUFDdkIsV0FBVyxFQUFFLGdCQUFnQjtZQUM3QixDQUFDLEVBQUUsZ0JBQWdCO1lBQ25CLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsR0FBRyxFQUFFLE9BQU87WUFDWixRQUFRLEVBQUUsa0NBQWtDO1lBQzVDLEtBQUssRUFBRSxlQUFlO1lBQ3RCLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsTUFBTSxFQUFFLGtCQUFrQjtZQUMxQixNQUFNLEVBQUUsMkJBQTJCO1lBQ25DLEtBQUssRUFBRSxPQUFPO1lBQ2QsWUFBWSxFQUFFLGtCQUFrQjtZQUNoQyxVQUFVLEVBQUUsbUJBQW1CO1lBQy9CLFFBQVEsRUFBRSxnQkFBZ0I7U0FDN0I7S0FDSjtJQUNELElBQUksRUFBRTtRQUNGLE9BQU8sRUFBRTtZQUNMLFNBQVMsRUFBRSxvQ0FBb0M7WUFDL0MsWUFBWSxFQUFFLFlBQVk7U0FDN0I7UUFDRCxNQUFNLEVBQUU7WUFDSixNQUFNLEVBQUU7Z0JBQ0osTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsUUFBUSxFQUFFLDhDQUE4QztnQkFDeEQsV0FBVyxFQUFFLHdCQUF3QjthQUN4QztZQUNELFFBQVEsRUFBRTtnQkFDTixNQUFNLEVBQUUsc0NBQXNDO2dCQUM5QyxRQUFRLEVBQUUscUVBQXFFO2dCQUMvRSxXQUFXLEVBQUUsMkNBQTJDO2dCQUN4RCxTQUFTLEVBQUU7b0JBQ1AsTUFBTSxFQUFFLEVBQUU7b0JBQ1YsR0FBRyxFQUFFLEVBQUU7aUJBQ1Y7YUFDSjtTQUNKO1FBQ0QsSUFBSSxFQUFFO1lBQ0YsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsaUNBQWlDO1lBQzlDLFFBQVEsRUFBRSwrQkFBK0I7WUFDekMsV0FBVyxFQUFFLFNBQVM7WUFDdEIsU0FBUyxFQUFFO2dCQUNQLE1BQU0sRUFBRSxJQUFJO2dCQUNaLEdBQUcsRUFBRSxJQUFJO2FBQ1o7U0FDSjtLQUNKO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTGFuZ3VhZ2U6IFJ1c3NpYW4uXG4gKi9cbmV4cG9ydCBkZWZhdWx0IHtcbiAgICB0aW1lOiB7XG4gICAgICAgIG1vbnRoOiBbJ9Cv0L3QstCw0YDRjCcsICfQpNC10LLRgNCw0LvRjCcsICfQnNCw0YDRgicsICfQkNC/0YDQtdC70YwnLCAn0JzQsNC5JywgJ9CY0Y7QvdGMJywgJ9CY0Y7Qu9GMJywgJ9CQ0LLQs9GD0YHRgicsICfQodC10L3RgtGP0LHRgNGMJywgJ9Ce0LrRgtGP0LHRgNGMJywgJ9Cd0L7Rj9Cx0YDRjCcsICfQlNC10LrQsNCx0YDRjCddLFxuICAgICAgICBtb250aEFiYnI6IFsn0K/QvdCyJywgJ9Ck0LXQsicsICfQnNCw0YAnLCAn0JDQv9GAJywgJ9Cc0LDQuScsICfQmNGO0L0nLCAn0JjRjtC7JywgJ9CQ0LLQsycsICfQodC10L0nLCAn0J7QutGCJywgJ9Cd0L7RjycsICfQlNC10LonXSxcbiAgICAgICAgZGF5T2ZXZWVrOiBbJ9CS0L7RgdC60YDQtdGB0LXQvdGM0LUnLCAn0J/QvtC90LXQtNC10LvRjNC90LjQuicsICfQktGC0L7RgNC90LjQuicsICfQodGA0LXQtNCwJywgJ9Cn0LXRgtCy0LXRgNCzJywgJ9Cf0Y/RgtC90LjRhtCwJywgJ9Ch0YPQsdCx0L7RgtCwJ10sXG4gICAgICAgIGRheU9mV2Vla0FiYnI6IFsn0LLRgScsICfQv9C9JywgJ9Cy0YInLCAn0YHRgCcsICfRh9GCJywgJ9C/0YInLCAn0YHQsSddXG4gICAgfSxcbiAgICBsZWdlbmQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IHtcbiAgICAgICAgICAgIGFsbDogJ9CS0YHRkScsXG4gICAgICAgICAgICBpbnZlcnNlOiAn0J7QsdGA0LDRgtC40YLRjCdcbiAgICAgICAgfVxuICAgIH0sXG4gICAgdG9vbGJveDoge1xuICAgICAgICBicnVzaDoge1xuICAgICAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgICAgICByZWN0OiAn0JLRi9C00LXQu9C40YLRjCDQvtCx0LvQsNGB0YLRjCcsXG4gICAgICAgICAgICAgICAgcG9seWdvbjogJ9CY0L3RgdGC0YDRg9C80LXQvdGCIMKr0JvQsNGB0YHQvsK7JyxcbiAgICAgICAgICAgICAgICBsaW5lWDogJ9CT0L7RgNC40LfQvtC90YLQsNC70YzQvdC+0LUg0LLRi9C00LXQu9C10L3QuNC1JyxcbiAgICAgICAgICAgICAgICBsaW5lWTogJ9CS0LXRgNGC0LjQutCw0LvRjNC90L7QtSDQstGL0LTQtdC70LXQvdC40LUnLFxuICAgICAgICAgICAgICAgIGtlZXA6ICfQntGB0YLQsNCy0LjRgtGMINCy0YvQsdGA0LDQvdC90L7QtScsXG4gICAgICAgICAgICAgICAgY2xlYXI6ICfQntGH0LjRgdGC0LjRgtGMINCy0YvQsdGA0LDQvdC90L7QtSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZGF0YVZpZXc6IHtcbiAgICAgICAgICAgIHRpdGxlOiAn0JTQsNC90L3Ri9C1JyxcbiAgICAgICAgICAgIGxhbmc6IFsn0JTQsNC90L3Ri9C1JywgJ9CX0LDQutGA0YvRgtGMJywgJ9Ce0LHQvdC+0LLQuNGC0YwnXVxuICAgICAgICB9LFxuICAgICAgICBkYXRhWm9vbToge1xuICAgICAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgICAgICB6b29tOiAn0KPQstC10LvQuNGH0LjRgtGMJyxcbiAgICAgICAgICAgICAgICBiYWNrOiAn0KHQsdGA0L7RgdC40YLRjCDRg9Cy0LXQu9C40YfQtdC90LjQtSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbWFnaWNUeXBlOiB7XG4gICAgICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgICAgIGxpbmU6ICfQn9C10YDQtdC60LvRjtGH0LjRgtGM0YHRjyDQvdCwINC70LjQvdC10LnQvdGL0Lkg0LPRgNCw0YTQuNC6JyxcbiAgICAgICAgICAgICAgICBiYXI6ICfQn9C10YDQtdC60LvRjtGH0LjRgtGM0YHRjyDQvdCwINGB0YLQvtC70LHRh9Cw0YLRg9GOINC00LjQsNCz0YDQsNC80LzRgycsXG4gICAgICAgICAgICAgICAgc3RhY2s6ICfQodGC0L7Qv9C60LAnLFxuICAgICAgICAgICAgICAgIHRpbGVkOiAn0J/Qu9C40YLQutCwJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICByZXN0b3JlOiB7XG4gICAgICAgICAgICB0aXRsZTogJ9CS0L7RgdGB0YLQsNC90L7QstC40YLRjCdcbiAgICAgICAgfSxcbiAgICAgICAgc2F2ZUFzSW1hZ2U6IHtcbiAgICAgICAgICAgIHRpdGxlOiAn0KHQvtGF0YDQsNC90LjRgtGMINC60LDRgNGC0LjQvdC60YMnLFxuICAgICAgICAgICAgbGFuZzogWyfQn9GA0LDQstGL0Lkg0LrQu9C40LosINGH0YLQvtCx0Ysg0YHQvtGF0YDQsNC90LjRgtGMINC60LDRgNGC0LjQvdC60YMnXVxuICAgICAgICB9XG4gICAgfSxcbiAgICBzZXJpZXM6IHtcbiAgICAgICAgdHlwZU5hbWVzOiB7XG4gICAgICAgICAgICBwaWU6ICfQmtGA0YPQs9C+0LLQsNGPINC00LjQsNCz0YDQsNC80LzQsCcsXG4gICAgICAgICAgICBiYXI6ICfQodGC0L7Qu9Cx0YfQsNGC0LDRjyDQtNC40LDQs9GA0LDQvNC80LAnLFxuICAgICAgICAgICAgbGluZTogJ9Cb0LjQvdC10LnQvdGL0Lkg0LPRgNCw0YTQuNC6JyxcbiAgICAgICAgICAgIHNjYXR0ZXI6ICfQotC+0YfQtdGH0L3QsNGPINC00LjQsNCz0YDQsNC80LzQsCcsXG4gICAgICAgICAgICBlZmZlY3RTY2F0dGVyOiAn0KLQvtGH0LXRh9C90LDRjyDQtNC40LDQs9GA0LDQvNC80LAg0YEg0LLQvtC70L3QsNC80LgnLFxuICAgICAgICAgICAgcmFkYXI6ICfQm9C10L/QtdGB0YLQutC+0LLQsNGPINC00LjQsNCz0YDQsNC80LzQsCcsXG4gICAgICAgICAgICB0cmVlOiAn0JTQtdGA0LXQstC+JyxcbiAgICAgICAgICAgIHRyZWVtYXA6ICfQn9C70L7RgdC60L7QtSDQtNC10YDQtdCy0L4nLFxuICAgICAgICAgICAgYm94cGxvdDogJ9Cv0YnQuNC6INGBINGD0YHQsNC80LgnLFxuICAgICAgICAgICAgY2FuZGxlc3RpY2s6ICfQodCy0LXRh9C90L7QuSDQs9GA0LDRhNC40LonLFxuICAgICAgICAgICAgazogJ9CT0YDQsNGE0LjQuiDQmi3Qu9C40L3QuNC5JyxcbiAgICAgICAgICAgIGhlYXRtYXA6ICfQotC10L/Qu9C+0LLQsNGPINC60LDRgNGC0LAnLFxuICAgICAgICAgICAgbWFwOiAn0JrQsNGA0YLQsCcsXG4gICAgICAgICAgICBwYXJhbGxlbDogJ9CU0LjQsNCz0YDQsNC80LzQsCDQv9Cw0YDQsNC70LvQtdC70YzQvdGL0YUg0LrQvtC+0YDQtNC40L3QsNGCJyxcbiAgICAgICAgICAgIGxpbmVzOiAn0JvQuNC90LXQudC90YvQuSDQs9GA0LDRhCcsXG4gICAgICAgICAgICBncmFwaDogJ9CT0YDQsNGEINC+0YLQvdC+0YjQtdC90LjQuScsXG4gICAgICAgICAgICBzYW5rZXk6ICfQlNC40LDQs9GA0LDQvNC80LAg0KHQsNC90LrQtdC5JyxcbiAgICAgICAgICAgIGZ1bm5lbDogJ9CS0L7RgNC+0L3QutC+0L7QsdGA0LDQt9C90LDRjyDQtNC40LDQs9GA0LDQvNC80LAnLFxuICAgICAgICAgICAgZ2F1Z2U6ICfQqNC60LDQu9CwJyxcbiAgICAgICAgICAgIHBpY3RvcmlhbEJhcjogJ9Ch0YLQvtC70LHQtdGGLdC60LDRgNGC0LjQvdC60LAnLFxuICAgICAgICAgICAgdGhlbWVSaXZlcjogJ9Ci0LXQvNCw0YLQuNGH0LXRgdC60LDRjyDRgNC10LrQsCcsXG4gICAgICAgICAgICBzdW5idXJzdDogJ9Ch0L7Qu9C90LXRh9C90YvQtSDQu9GD0YfQuCdcbiAgICAgICAgfVxuICAgIH0sXG4gICAgYXJpYToge1xuICAgICAgICBnZW5lcmFsOiB7XG4gICAgICAgICAgICB3aXRoVGl0bGU6ICfQrdGC0L4g0LPRgNCw0YTQuNC6LCDQv9C+0LrQsNC30YvQstCw0Y7RidC40LkgXCJ7dGl0bGV9XCInLFxuICAgICAgICAgICAgd2l0aG91dFRpdGxlOiAn0K3RgtC+INCz0YDQsNGE0LjQuidcbiAgICAgICAgfSxcbiAgICAgICAgc2VyaWVzOiB7XG4gICAgICAgICAgICBzaW5nbGU6IHtcbiAgICAgICAgICAgICAgICBwcmVmaXg6ICcnLFxuICAgICAgICAgICAgICAgIHdpdGhOYW1lOiAnINGBINGC0LjQv9C+0Lwge3Nlcmllc1R5cGV9INC4INC40LzQtdC90LXQvCB7c2VyaWVzTmFtZX0uJyxcbiAgICAgICAgICAgICAgICB3aXRob3V0TmFtZTogJyDRgSDRgtC40L/QvtC8IHtzZXJpZXNUeXBlfS4nXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbXVsdGlwbGU6IHtcbiAgICAgICAgICAgICAgICBwcmVmaXg6ICcuINCe0L0g0YHQvtGB0YLQvtC40YIg0LjQtyB7c2VyaWVzQ291bnR9INGB0LXRgNC40LkuJyxcbiAgICAgICAgICAgICAgICB3aXRoTmFtZTogJyDQodC10YDQuNGPIHtzZXJpZXNJZH0g0LjQvNC10LXRgiDRgtC40L8ge3Nlcmllc1R5cGV9INC4INC/0L7QutCw0LfRi9Cy0LDQtdGCIHtzZXJpZXNOYW1lfS4nLFxuICAgICAgICAgICAgICAgIHdpdGhvdXROYW1lOiAnINCh0LXRgNC40Y8ge3Nlcmllc0lkfSDQuNC80LXQtdGCINGC0LjQvyB7c2VyaWVzVHlwZX0uJyxcbiAgICAgICAgICAgICAgICBzZXBhcmF0b3I6IHtcbiAgICAgICAgICAgICAgICAgICAgbWlkZGxlOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgZW5kOiAnJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgYWxsRGF0YTogJ9CU0LDQvdC90YvQtSDRgtCw0LrQvtCy0Ys6ICcsXG4gICAgICAgICAgICBwYXJ0aWFsRGF0YTogJ9Cf0LXRgNCy0YvQtSB7ZGlzcGxheUNudH0g0Y3Qu9C10LzQtdC90YLQvtCyOiAnLFxuICAgICAgICAgICAgd2l0aE5hbWU6ICfQt9C90LDRh9C10L3QuNC1INC00LvRjyB7bmFtZX0g4oCUIHt2YWx1ZX0nLFxuICAgICAgICAgICAgd2l0aG91dE5hbWU6ICd7dmFsdWV9JyxcbiAgICAgICAgICAgIHNlcGFyYXRvcjoge1xuICAgICAgICAgICAgICAgIG1pZGRsZTogJywgJyxcbiAgICAgICAgICAgICAgICBlbmQ6ICcuICdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn07XG4iXX0=
@@ -1,60 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
2
- import { TUI_TREE_LOADING, TUI_TREE_LOADER } from '@taiga-ui/kit';
3
- import { map } from 'rxjs';
4
- import { TreeLoaderService } from './services/tree-loader.service';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./services/tree-icon.service";
7
- import * as i2 from "@snabcentr/client-core";
8
- import * as i3 from "@angular/common";
9
- import * as i4 from "@taiga-ui/kit";
10
- import * as i5 from "@taiga-ui/core";
11
- import * as i6 from "./directives/tree.directive";
12
- import * as i7 from "./directives/tree-top.directive";
13
- /**
14
- * Компонент файлов и документов.
15
- */
16
- export class FilesAndDocumentsComponent {
17
- /**
18
- * Инициализирует экземпляр класса {@link FilesAndDocumentsComponent}.
19
- *
20
- * @param loading Объект отвечающий за значок загрузки, в момент раскрытия элемента дерева.
21
- * @param iconService Сервис для определения и назначения значка элементу дерева.
22
- * @param filesService Сервис для загрузки файлов.
23
- */
24
- constructor(loading, iconService, filesService) {
25
- this.loading = loading;
26
- this.iconService = iconService;
27
- this.filesService = filesService;
28
- /**
29
- * Данные визуализации и их начальное получение.
30
- */
31
- this.data$ = this.filesService.getFiles().pipe(map((data) => data.map((item) => ({
32
- text: item.name,
33
- icon: this.iconService.getIconName(item),
34
- hasChildren: this.iconService.hasChildren(item),
35
- createdAt: item.createdAt,
36
- id: item.id,
37
- link: item.link
38
- }))));
39
- }
40
- }
41
- FilesAndDocumentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FilesAndDocumentsComponent, deps: [{ token: TUI_TREE_LOADING }, { token: i1.TreeIconService }, { token: i2.ScFilesService }], target: i0.ɵɵFactoryTarget.Component });
42
- FilesAndDocumentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FilesAndDocumentsComponent, selector: "sc-files-and-documents", providers: [
43
- {
44
- provide: TUI_TREE_LOADER,
45
- useClass: TreeLoaderService
46
- }
47
- ], ngImport: i0, template: "<ng-container *ngIf=\"data$ | async as data; else skeleton\">\n <tui-tree\n *ngFor=\"let node of data\"\n #tree=\"scTree\"\n scTree\n [scTopNodeText]=\"node.text\"\n [scTopNodeIcon]=\"node.icon\"\n [scTopNodeLink]=\"node.link\"\n [scTopNodeChilds]=\"node.hasChildren\"\n [scTopNodeParent]=\"node.id\"\n [scTopNodeDate]=\"node.createdAt\"\n [childrenHandler]=\"tree.childrenHandler\"\n [content]=\"content\"\n [map]=\"tree.map\"\n [tuiTreeController]=\"false\"\n [value]=\"tree.service.data$ | async\"\n (toggled)=\"tree.onToggled($event)\"\n class=\"overflow-hidden\"\n ></tui-tree>\n</ng-container>\n\n<ng-template #content let-item>\n <tui-loader *ngIf=\"item === loading; else text\" class=\"w-8 my-4\"></tui-loader>\n <ng-template #text>\n <tui-svg [src]=\"item.icon\" class=\"tui-space_right-2\"></tui-svg>\n <a tuiLink [pseudo]=\"true\" *ngIf=\"item.link\" href=\"{{ item.link }}\" class=\"grow\">{{ item.text }}</a>\n <p *ngIf=\"!item.link\" class=\"grow\">{{ item.text }}</p>\n <p>{{ item.createdAt }}</p>\n </ng-template>\n</ng-template>\n\n<ng-template #skeleton>\n <div class=\"flex flex-col gap-2\">\n <div *ngFor=\"let _ of [].constructor(7)\" class=\"flex items-center gap-2\">\n <div class=\"tui-skeleton h-6 w-6\"></div>\n <div class=\"tui-skeleton h-4 w-40\"></div>\n </div>\n </div>\n</ng-template>\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: "component", type: i4.TuiTreeComponent, selector: "tui-tree[value]", inputs: ["value", "trackBy", "content"] }, { kind: "directive", type: i4.TuiTreeChildrenDirective, selector: "tui-tree[childrenHandler]", inputs: ["childrenHandler"] }, { kind: "directive", type: i4.TuiTreeControllerDirective, selector: "[tuiTreeController][map]", inputs: ["tuiTreeController", "map"], outputs: ["toggled"], exportAs: ["tuiTreeController"] }, { kind: "component", type: i5.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { kind: "component", type: i5.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "component", type: i5.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { kind: "directive", type: i6.TreeDirective, selector: "[scTree]", exportAs: ["scTree"] }, { kind: "directive", type: i7.TreeTopDirective, selector: "[scTopNodeText]", inputs: ["scTopNodeText", "scTopNodeIcon", "scTopNodeLink", "scTopNodeChilds", "scTopNodeParent", "scTopNodeDate"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FilesAndDocumentsComponent, decorators: [{
49
- type: Component,
50
- args: [{ selector: 'sc-files-and-documents', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
51
- {
52
- provide: TUI_TREE_LOADER,
53
- useClass: TreeLoaderService
54
- }
55
- ], template: "<ng-container *ngIf=\"data$ | async as data; else skeleton\">\n <tui-tree\n *ngFor=\"let node of data\"\n #tree=\"scTree\"\n scTree\n [scTopNodeText]=\"node.text\"\n [scTopNodeIcon]=\"node.icon\"\n [scTopNodeLink]=\"node.link\"\n [scTopNodeChilds]=\"node.hasChildren\"\n [scTopNodeParent]=\"node.id\"\n [scTopNodeDate]=\"node.createdAt\"\n [childrenHandler]=\"tree.childrenHandler\"\n [content]=\"content\"\n [map]=\"tree.map\"\n [tuiTreeController]=\"false\"\n [value]=\"tree.service.data$ | async\"\n (toggled)=\"tree.onToggled($event)\"\n class=\"overflow-hidden\"\n ></tui-tree>\n</ng-container>\n\n<ng-template #content let-item>\n <tui-loader *ngIf=\"item === loading; else text\" class=\"w-8 my-4\"></tui-loader>\n <ng-template #text>\n <tui-svg [src]=\"item.icon\" class=\"tui-space_right-2\"></tui-svg>\n <a tuiLink [pseudo]=\"true\" *ngIf=\"item.link\" href=\"{{ item.link }}\" class=\"grow\">{{ item.text }}</a>\n <p *ngIf=\"!item.link\" class=\"grow\">{{ item.text }}</p>\n <p>{{ item.createdAt }}</p>\n </ng-template>\n</ng-template>\n\n<ng-template #skeleton>\n <div class=\"flex flex-col gap-2\">\n <div *ngFor=\"let _ of [].constructor(7)\" class=\"flex items-center gap-2\">\n <div class=\"tui-skeleton h-6 w-6\"></div>\n <div class=\"tui-skeleton h-4 w-40\"></div>\n </div>\n </div>\n</ng-template>\n" }]
56
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
57
- type: Inject,
58
- args: [TUI_TREE_LOADING]
59
- }] }, { type: i1.TreeIconService }, { type: i2.ScFilesService }]; } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtYW5kLWRvY3VtZW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvZmlsZXMvZmlsZXMtYW5kLWRvY3VtZW50cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvZmlsZXMvZmlsZXMtYW5kLWRvY3VtZW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxFLE9BQU8sRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7OztBQUduRTs7R0FFRztBQVlILE1BQU0sT0FBTywwQkFBMEI7SUFpQm5DOzs7Ozs7T0FNRztJQUNILFlBQTZELE9BQWdCLEVBQWtCLFdBQTRCLEVBQW1CLFlBQTRCO1FBQTdHLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBa0IsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQW1CLGlCQUFZLEdBQVosWUFBWSxDQUFnQjtRQXZCMUs7O1dBRUc7UUFDSSxVQUFLLEdBQTJCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUNwRSxHQUFHLENBQUMsQ0FBQyxJQUFzQixFQUFFLEVBQUUsQ0FDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ3hDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDL0MsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNsQixDQUFDLENBQUMsQ0FDTixDQUNKLENBQUM7SUFTMkssQ0FBQzs7dUhBeEJySywwQkFBMEIsa0JBd0JSLGdCQUFnQjsyR0F4QmxDLDBCQUEwQixpREFQeEI7UUFDUDtZQUNJLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFFBQVEsRUFBRSxpQkFBaUI7U0FDOUI7S0FDSiwwQkNwQkwsNitDQXVDQTsyRkRqQmEsMEJBQTBCO2tCQVh0QyxTQUFTOytCQUNJLHdCQUF3QixtQkFFakIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsUUFBUSxFQUFFLGlCQUFpQjt5QkFDOUI7cUJBQ0o7OzBCQTBCbUIsTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRVSV9UUkVFX0xPQURJTkcsIFRVSV9UUkVFX0xPQURFUiB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHsgU2NEb2N1bWVudEluZm8sIFNjRmlsZXNTZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRyZWVJY29uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdHJlZS1pY29uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJlZUxvYWRlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3RyZWUtbG9hZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJlZU5vZGUgfSBmcm9tICcuL2ludGVyZmFjZXMvdHJlZS1ub2RlJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0YTQsNC50LvQvtCyINC4INC00L7QutGD0LzQtdC90YLQvtCyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLWZpbGVzLWFuZC1kb2N1bWVudHMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWxlcy1hbmQtZG9jdW1lbnRzLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX1RSRUVfTE9BREVSLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IFRyZWVMb2FkZXJTZXJ2aWNlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVzQW5kRG9jdW1lbnRzQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQlNCw0L3QvdGL0LUg0LLQuNC30YPQsNC70LjQt9Cw0YbQuNC4INC4INC40YUg0L3QsNGH0LDQu9GM0L3QvtC1INC/0L7Qu9GD0YfQtdC90LjQtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGF0YSQ6IE9ic2VydmFibGU8VHJlZU5vZGVbXT4gPSB0aGlzLmZpbGVzU2VydmljZS5nZXRGaWxlcygpLnBpcGUoXG4gICAgICAgIG1hcCgoZGF0YTogU2NEb2N1bWVudEluZm9bXSkgPT5cbiAgICAgICAgICAgIGRhdGEubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICAgICAgICAgIHRleHQ6IGl0ZW0ubmFtZSxcbiAgICAgICAgICAgICAgICBpY29uOiB0aGlzLmljb25TZXJ2aWNlLmdldEljb25OYW1lKGl0ZW0pLFxuICAgICAgICAgICAgICAgIGhhc0NoaWxkcmVuOiB0aGlzLmljb25TZXJ2aWNlLmhhc0NoaWxkcmVuKGl0ZW0pLFxuICAgICAgICAgICAgICAgIGNyZWF0ZWRBdDogaXRlbS5jcmVhdGVkQXQsXG4gICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgbGluazogaXRlbS5saW5rXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIEZpbGVzQW5kRG9jdW1lbnRzQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBsb2FkaW5nINCe0LHRitC10LrRgiDQvtGC0LLQtdGH0LDRjtGJ0LjQuSDQt9CwINC30L3QsNGH0L7QuiDQt9Cw0LPRgNGD0LfQutC4LCDQsiDQvNC+0LzQtdC90YIg0YDQsNGB0LrRgNGL0YLQuNGPINGN0LvQtdC80LXQvdGC0LAg0LTQtdGA0LXQstCwLlxuICAgICAqIEBwYXJhbSBpY29uU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINC+0L/RgNC10LTQtdC70LXQvdC40Y8g0Lgg0L3QsNC30L3QsNGH0LXQvdC40Y8g0LfQvdCw0YfQutCwINGN0LvQtdC80LXQvdGC0YMg0LTQtdGA0LXQstCwLlxuICAgICAqIEBwYXJhbSBmaWxlc1NlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDQt9Cw0LPRgNGD0LfQutC4INGE0LDQudC70L7Qsi5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoQEluamVjdChUVUlfVFJFRV9MT0FESU5HKSBwdWJsaWMgcmVhZG9ubHkgbG9hZGluZzogdW5rbm93biwgcHVibGljIHJlYWRvbmx5IGljb25TZXJ2aWNlOiBUcmVlSWNvblNlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgZmlsZXNTZXJ2aWNlOiBTY0ZpbGVzU2VydmljZSkge31cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhJCB8IGFzeW5jIGFzIGRhdGE7IGVsc2Ugc2tlbGV0b25cIj5cbiAgICA8dHVpLXRyZWVcbiAgICAgICAgKm5nRm9yPVwibGV0IG5vZGUgb2YgZGF0YVwiXG4gICAgICAgICN0cmVlPVwic2NUcmVlXCJcbiAgICAgICAgc2NUcmVlXG4gICAgICAgIFtzY1RvcE5vZGVUZXh0XT1cIm5vZGUudGV4dFwiXG4gICAgICAgIFtzY1RvcE5vZGVJY29uXT1cIm5vZGUuaWNvblwiXG4gICAgICAgIFtzY1RvcE5vZGVMaW5rXT1cIm5vZGUubGlua1wiXG4gICAgICAgIFtzY1RvcE5vZGVDaGlsZHNdPVwibm9kZS5oYXNDaGlsZHJlblwiXG4gICAgICAgIFtzY1RvcE5vZGVQYXJlbnRdPVwibm9kZS5pZFwiXG4gICAgICAgIFtzY1RvcE5vZGVEYXRlXT1cIm5vZGUuY3JlYXRlZEF0XCJcbiAgICAgICAgW2NoaWxkcmVuSGFuZGxlcl09XCJ0cmVlLmNoaWxkcmVuSGFuZGxlclwiXG4gICAgICAgIFtjb250ZW50XT1cImNvbnRlbnRcIlxuICAgICAgICBbbWFwXT1cInRyZWUubWFwXCJcbiAgICAgICAgW3R1aVRyZWVDb250cm9sbGVyXT1cImZhbHNlXCJcbiAgICAgICAgW3ZhbHVlXT1cInRyZWUuc2VydmljZS5kYXRhJCB8IGFzeW5jXCJcbiAgICAgICAgKHRvZ2dsZWQpPVwidHJlZS5vblRvZ2dsZWQoJGV2ZW50KVwiXG4gICAgICAgIGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuXCJcbiAgICA+PC90dWktdHJlZT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQgbGV0LWl0ZW0+XG4gICAgPHR1aS1sb2FkZXIgKm5nSWY9XCJpdGVtID09PSBsb2FkaW5nOyBlbHNlIHRleHRcIiBjbGFzcz1cInctOCBteS00XCI+PC90dWktbG9hZGVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjdGV4dD5cbiAgICAgICAgPHR1aS1zdmcgW3NyY109XCJpdGVtLmljb25cIiBjbGFzcz1cInR1aS1zcGFjZV9yaWdodC0yXCI+PC90dWktc3ZnPlxuICAgICAgICA8YSB0dWlMaW5rIFtwc2V1ZG9dPVwidHJ1ZVwiICpuZ0lmPVwiaXRlbS5saW5rXCIgaHJlZj1cInt7IGl0ZW0ubGluayB9fVwiIGNsYXNzPVwiZ3Jvd1wiPnt7IGl0ZW0udGV4dCB9fTwvYT5cbiAgICAgICAgPHAgKm5nSWY9XCIhaXRlbS5saW5rXCIgY2xhc3M9XCJncm93XCI+e3sgaXRlbS50ZXh0IH19PC9wPlxuICAgICAgICA8cD57eyBpdGVtLmNyZWF0ZWRBdCB9fTwvcD5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNza2VsZXRvbj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMlwiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBfIG9mIFtdLmNvbnN0cnVjdG9yKDcpXCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR1aS1za2VsZXRvbiBoLTYgdy02XCI+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHVpLXNrZWxldG9uIGgtNCB3LTQwXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==