@morozeckiy/dd-lib 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/common/lib-common-button.mjs +62 -0
- package/esm2022/lib/common/lib-common-input-text.mjs +172 -0
- package/esm2022/lib/core/dialog/dialog-config.mjs +15 -0
- package/esm2022/lib/core/dialog/dialog-container.component.mjs +40 -0
- package/esm2022/lib/core/dialog/dialog-ref.mjs +19 -0
- package/esm2022/lib/core/dialog/dialog.service.mjs +106 -0
- package/esm2022/lib/core/directives/auto-height.directive.mjs +36 -0
- package/esm2022/lib/core/directives/click-outside.directive.mjs +42 -0
- package/esm2022/lib/core/directives/counter.directive.mjs +64 -0
- package/esm2022/lib/core/directives/declension.directive.mjs +40 -0
- package/esm2022/lib/core/directives/resize-textarea.directive.mjs +26 -0
- package/esm2022/lib/core/directives/triangle.directive.mjs +75 -0
- package/esm2022/lib/core/index.mjs +26 -0
- package/esm2022/lib/core/pipes/filter-tabs.pipe.mjs +31 -0
- package/esm2022/lib/core/pipes/filter.pipe.mjs +49 -0
- package/esm2022/lib/core/pipes/highlight.pipe.mjs +23 -0
- package/esm2022/lib/core/pipes/reverse.pipe.mjs +17 -0
- package/esm2022/lib/core/pipes/safe.pipe.mjs +34 -0
- package/esm2022/lib/core/services/date.service.mjs +113 -0
- package/esm2022/lib/core/services/destroy.service.mjs +15 -0
- package/esm2022/lib/core/services/fetcher.service.mjs +92 -0
- package/esm2022/lib/core/services/interceptors.service.mjs +27 -0
- package/esm2022/lib/core/services/svg-icons.service.mjs +26 -0
- package/esm2022/lib/core/services/theme-constructor.service.mjs +64 -0
- package/esm2022/lib/core/services/validators.service.mjs +73 -0
- package/esm2022/lib/core/tools.mjs +128 -0
- package/esm2022/lib/core/tooltip/tooltip.component.mjs +27 -0
- package/esm2022/lib/core/tooltip/tooltip.directive.mjs +137 -0
- package/esm2022/lib/lib-accordion/lib-accordion.component.mjs +15 -0
- package/esm2022/lib/lib-back-button/lib-back-button.component.mjs +37 -0
- package/esm2022/lib/lib-button/lib-button.component.mjs +30 -0
- package/esm2022/lib/lib-calendar/lib-calendar.component.mjs +222 -0
- package/esm2022/lib/lib-card/lib-card.component.mjs +34 -0
- package/esm2022/lib/lib-checkbox/lib-checkbox.component.mjs +66 -0
- package/esm2022/lib/lib-comment-input/lib-comment-input.component.mjs +20 -0
- package/esm2022/lib/lib-file-upload/lib-file-upload.component.mjs +34 -0
- package/esm2022/lib/lib-filter-button/lib-filter-button.component.mjs +42 -0
- package/esm2022/lib/lib-image-loader/lib-image-loader.component.mjs +14 -0
- package/esm2022/lib/lib-input/lib-input.component.mjs +55 -0
- package/esm2022/lib/lib-loader/lib-loader.component.mjs +16 -0
- package/esm2022/lib/lib-period/lib-period.component.mjs +114 -0
- package/esm2022/lib/lib-radio/lib-radio.component.mjs +76 -0
- package/esm2022/lib/lib-search-input/lib-search-input.component.mjs +91 -0
- package/esm2022/lib/lib-select/lib-select.component.mjs +137 -0
- package/esm2022/lib/lib-skeleton/lib-skeleton.component.mjs +45 -0
- package/esm2022/lib/lib-sort/lib-sort.component.mjs +44 -0
- package/esm2022/lib/lib-step/lib-step.component.mjs +19 -0
- package/esm2022/lib/lib-svg/lib-svg.component.mjs +75 -0
- package/esm2022/lib/lib-svg-icon/lib-svg-icon.component.mjs +55 -0
- package/esm2022/lib/lib-tabs-fragment/lib-tabs-fragment.component.mjs +79 -0
- package/esm2022/lib/lib-textarea/lib-textarea.component.mjs +50 -0
- package/esm2022/lib/toast/toast-base/toast-base.component.mjs +29 -0
- package/esm2022/lib/toast/toast-placeholder/toast-placeholder.component.mjs +29 -0
- package/esm2022/lib/toast/toast.service.mjs +124 -0
- package/esm2022/lib/utils/decorators.mjs +102 -0
- package/esm2022/morozeckiy-dd-lib.mjs +5 -0
- package/esm2022/public-api.mjs +35 -0
- package/fesm2022/morozeckiy-dd-lib.mjs +3004 -0
- package/fesm2022/morozeckiy-dd-lib.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/common/lib-common-button.d.ts +20 -0
- package/lib/common/lib-common-input-text.d.ts +53 -0
- package/lib/core/dialog/dialog-config.d.ts +14 -0
- package/lib/core/dialog/dialog-container.component.d.ts +18 -0
- package/lib/core/dialog/dialog-ref.d.ts +18 -0
- package/lib/core/dialog/dialog.service.d.ts +28 -0
- package/lib/core/directives/auto-height.directive.d.ts +11 -0
- package/lib/core/directives/click-outside.directive.d.ts +11 -0
- package/lib/core/directives/counter.directive.d.ts +11 -0
- package/lib/core/directives/declension.directive.d.ts +13 -0
- package/lib/core/directives/resize-textarea.directive.d.ts +10 -0
- package/lib/core/directives/triangle.directive.d.ts +16 -0
- package/lib/core/index.d.ts +20 -0
- package/lib/core/pipes/filter-tabs.pipe.d.ts +7 -0
- package/lib/core/pipes/filter.pipe.d.ts +12 -0
- package/lib/core/pipes/highlight.pipe.d.ts +7 -0
- package/lib/core/pipes/reverse.pipe.d.ts +7 -0
- package/lib/core/pipes/safe.pipe.d.ts +10 -0
- package/lib/core/services/date.service.d.ts +41 -0
- package/lib/core/services/destroy.service.d.ts +8 -0
- package/lib/core/services/fetcher.service.d.ts +29 -0
- package/lib/core/services/interceptors.service.d.ts +12 -0
- package/lib/core/services/svg-icons.service.d.ts +9 -0
- package/lib/core/services/theme-constructor.service.d.ts +27 -0
- package/lib/core/services/validators.service.d.ts +18 -0
- package/lib/core/tools.d.ts +16 -0
- package/lib/core/tooltip/tooltip.component.d.ts +12 -0
- package/lib/core/tooltip/tooltip.directive.d.ts +22 -0
- package/lib/lib-accordion/lib-accordion.component.d.ts +8 -0
- package/lib/lib-back-button/lib-back-button.component.d.ts +13 -0
- package/lib/lib-button/lib-button.component.d.ts +10 -0
- package/lib/lib-calendar/lib-calendar.component.d.ts +76 -0
- package/lib/lib-card/lib-card.component.d.ts +16 -0
- package/lib/lib-checkbox/lib-checkbox.component.d.ts +23 -0
- package/lib/lib-comment-input/lib-comment-input.component.d.ts +8 -0
- package/lib/lib-file-upload/lib-file-upload.component.d.ts +12 -0
- package/lib/lib-filter-button/lib-filter-button.component.d.ts +13 -0
- package/lib/lib-image-loader/lib-image-loader.component.d.ts +6 -0
- package/lib/lib-input/lib-input.component.d.ts +13 -0
- package/lib/lib-loader/lib-loader.component.d.ts +6 -0
- package/lib/lib-period/lib-period.component.d.ts +41 -0
- package/lib/lib-radio/lib-radio.component.d.ts +25 -0
- package/lib/lib-search-input/lib-search-input.component.d.ts +29 -0
- package/lib/lib-select/lib-select.component.d.ts +30 -0
- package/lib/lib-skeleton/lib-skeleton.component.d.ts +16 -0
- package/lib/lib-sort/lib-sort.component.d.ts +18 -0
- package/lib/lib-step/lib-step.component.d.ts +7 -0
- package/{src/lib/lib-svg/lib-svg.component.ts → lib/lib-svg/lib-svg.component.d.ts} +38 -66
- package/lib/lib-svg-icon/lib-svg-icon.component.d.ts +18 -0
- package/lib/lib-tabs-fragment/lib-tabs-fragment.component.d.ts +29 -0
- package/lib/lib-textarea/lib-textarea.component.d.ts +13 -0
- package/lib/toast/toast-base/toast-base.component.d.ts +21 -0
- package/lib/toast/toast-placeholder/toast-placeholder.component.d.ts +12 -0
- package/lib/toast/toast.service.d.ts +35 -0
- package/lib/utils/decorators.d.ts +4 -0
- package/package.json +16 -3
- package/public-api.d.ts +30 -0
- package/ekgip-dd-lib-0.0.1.tgz +0 -0
- package/ng-package.json +0 -8
- package/src/lib/common/lib-common-button.ts +0 -34
- package/src/lib/common/lib-common-input-text.ts +0 -154
- package/src/lib/core/dialog/dialog-config.ts +0 -19
- package/src/lib/core/dialog/dialog-container.component.ts +0 -38
- package/src/lib/core/dialog/dialog-ref.ts +0 -28
- package/src/lib/core/dialog/dialog.service.ts +0 -144
- package/src/lib/core/directives/auto-height.directive.ts +0 -29
- package/src/lib/core/directives/click-outside.directive.ts +0 -33
- package/src/lib/core/directives/counter.directive.ts +0 -54
- package/src/lib/core/directives/declension.directive.ts +0 -29
- package/src/lib/core/directives/resize-textarea.directive.ts +0 -16
- package/src/lib/core/directives/triangle.directive.ts +0 -56
- package/src/lib/core/index.ts +0 -27
- package/src/lib/core/pipes/filter-tabs.pipe.ts +0 -25
- package/src/lib/core/pipes/filter.pipe.ts +0 -36
- package/src/lib/core/pipes/highlight.pipe.ts +0 -17
- package/src/lib/core/pipes/reverse.pipe.ts +0 -11
- package/src/lib/core/pipes/safe.pipe.ts +0 -37
- package/src/lib/core/services/date.service.ts +0 -153
- package/src/lib/core/services/destroy.service.ts +0 -10
- package/src/lib/core/services/fetcher.service.ts +0 -109
- package/src/lib/core/services/interceptors.service.ts +0 -26
- package/src/lib/core/services/svg-icons.service.ts +0 -25
- package/src/lib/core/services/theme-constructor.service.ts +0 -68
- package/src/lib/core/services/validators.service.ts +0 -73
- package/src/lib/core/tools.ts +0 -159
- package/src/lib/core/tooltip/tooltip.component.html +0 -10
- package/src/lib/core/tooltip/tooltip.component.scss +0 -59
- package/src/lib/core/tooltip/tooltip.component.ts +0 -27
- package/src/lib/core/tooltip/tooltip.directive.ts +0 -137
- package/src/lib/core/utils.ts +0 -28
- package/src/lib/lib-accordion/lib-accordion.component.html +0 -15
- package/src/lib/lib-accordion/lib-accordion.component.scss +0 -23
- package/src/lib/lib-accordion/lib-accordion.component.ts +0 -17
- package/src/lib/lib-back-button/lib-back-button.component.html +0 -4
- package/src/lib/lib-back-button/lib-back-button.component.scss +0 -3
- package/src/lib/lib-back-button/lib-back-button.component.ts +0 -31
- package/src/lib/lib-button/lib-button.component.html +0 -30
- package/src/lib/lib-button/lib-button.component.scss +0 -89
- package/src/lib/lib-button/lib-button.component.ts +0 -33
- package/src/lib/lib-calendar/lib-calendar.component.html +0 -64
- package/src/lib/lib-calendar/lib-calendar.component.scss +0 -88
- package/src/lib/lib-calendar/lib-calendar.component.ts +0 -227
- package/src/lib/lib-card/lib-card.component.html +0 -23
- package/src/lib/lib-card/lib-card.component.scss +0 -64
- package/src/lib/lib-card/lib-card.component.ts +0 -32
- package/src/lib/lib-checkbox/lib-checkbox.component.html +0 -15
- package/src/lib/lib-checkbox/lib-checkbox.component.scss +0 -80
- package/src/lib/lib-checkbox/lib-checkbox.component.ts +0 -67
- package/src/lib/lib-comment-input/lib-comment-input.component.html +0 -32
- package/src/lib/lib-comment-input/lib-comment-input.component.scss +0 -28
- package/src/lib/lib-comment-input/lib-comment-input.component.ts +0 -20
- package/src/lib/lib-file-upload/lib-file-upload.component.html +0 -14
- package/src/lib/lib-file-upload/lib-file-upload.component.scss +0 -3
- package/src/lib/lib-file-upload/lib-file-upload.component.ts +0 -26
- package/src/lib/lib-filter-button/lib-filter-button.component.html +0 -46
- package/src/lib/lib-filter-button/lib-filter-button.component.scss +0 -62
- package/src/lib/lib-filter-button/lib-filter-button.component.ts +0 -45
- package/src/lib/lib-image-loader/lib-image-loader.component.html +0 -17
- package/src/lib/lib-image-loader/lib-image-loader.component.scss +0 -6
- package/src/lib/lib-image-loader/lib-image-loader.component.ts +0 -16
- package/src/lib/lib-input/lib-input.component.html +0 -32
- package/src/lib/lib-input/lib-input.component.scss +0 -72
- package/src/lib/lib-input/lib-input.component.ts +0 -62
- package/src/lib/lib-loader/lib-loader.component.html +0 -29
- package/src/lib/lib-loader/lib-loader.component.scss +0 -26
- package/src/lib/lib-loader/lib-loader.component.ts +0 -13
- package/src/lib/lib-period/lib-period.component.html +0 -41
- package/src/lib/lib-period/lib-period.component.scss +0 -77
- package/src/lib/lib-period/lib-period.component.ts +0 -131
- package/src/lib/lib-radio/lib-radio.component.html +0 -22
- package/src/lib/lib-radio/lib-radio.component.scss +0 -113
- package/src/lib/lib-radio/lib-radio.component.ts +0 -78
- package/src/lib/lib-search-input/lib-search-input.component.html +0 -48
- package/src/lib/lib-search-input/lib-search-input.component.scss +0 -86
- package/src/lib/lib-search-input/lib-search-input.component.ts +0 -94
- package/src/lib/lib-select/lib-select.component.html +0 -83
- package/src/lib/lib-select/lib-select.component.scss +0 -130
- package/src/lib/lib-select/lib-select.component.ts +0 -152
- package/src/lib/lib-skeleton/lib-skeleton.component.html +0 -11
- package/src/lib/lib-skeleton/lib-skeleton.component.scss +0 -36
- package/src/lib/lib-skeleton/lib-skeleton.component.ts +0 -41
- package/src/lib/lib-sort/lib-sort.component.html +0 -21
- package/src/lib/lib-sort/lib-sort.component.scss +0 -21
- package/src/lib/lib-sort/lib-sort.component.ts +0 -52
- package/src/lib/lib-step/lib-step.component.html +0 -4
- package/src/lib/lib-step/lib-step.component.scss +0 -23
- package/src/lib/lib-step/lib-step.component.ts +0 -14
- package/src/lib/lib-svg/lib-svg.component.html +0 -15
- package/src/lib/lib-svg/lib-svg.component.scss +0 -81
- package/src/lib/lib-svg-icon/lib-svg-icon.component.css +0 -0
- package/src/lib/lib-svg-icon/lib-svg-icon.component.ts +0 -58
- package/src/lib/lib-tabs-fragment/lib-tabs-fragment.component.html +0 -12
- package/src/lib/lib-tabs-fragment/lib-tabs-fragment.component.scss +0 -19
- package/src/lib/lib-tabs-fragment/lib-tabs-fragment.component.ts +0 -88
- package/src/lib/lib-textarea/lib-textarea.component.html +0 -37
- package/src/lib/lib-textarea/lib-textarea.component.scss +0 -77
- package/src/lib/lib-textarea/lib-textarea.component.ts +0 -49
- package/src/lib/toast/toast-base/toast-base.component.html +0 -7
- package/src/lib/toast/toast-base/toast-base.component.scss +0 -44
- package/src/lib/toast/toast-base/toast-base.component.ts +0 -38
- package/src/lib/toast/toast-placeholder/toast-placeholder.component.ts +0 -20
- package/src/lib/toast/toast.service.ts +0 -130
- package/src/lib/utils/decorators.ts +0 -124
- package/src/public-api.ts +0 -35
- package/tsconfig.lib.json +0 -14
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -14
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, ViewChild, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common/http";
|
|
4
|
+
/**
|
|
5
|
+
Компонент LibSvgComponent отвечает за отображение SVG иконок. Он содержит следующие свойства и методы:
|
|
6
|
+
|
|
7
|
+
Свойства:
|
|
8
|
+
- @ViewChild('svgRef', { static: true }) public svg: ElementRef; - ссылка на элемент SVG.
|
|
9
|
+
- @Input() public width: string; - ширина иконки.
|
|
10
|
+
- @Input() public height: string; - высота иконки.
|
|
11
|
+
- @Input() public icon: string; - название иконки.
|
|
12
|
+
- @Input() public pack = 'svg'; - тип иконки (по умолчанию 'svg').
|
|
13
|
+
- @Input() public color: TSvgColor = 'green'; - цвет иконки (зеленый по умолчанию).
|
|
14
|
+
- @Input() public stroke: TSvgColor; - цвет обводки иконки.
|
|
15
|
+
|
|
16
|
+
Методы:
|
|
17
|
+
- public ngOnInit(): void {} - метод жизненного цикла компонента, вызываемый при инициализации. В нем происходит загрузка SVG изображения и настройка его параметров, таких как ширина, высота и цвет.
|
|
18
|
+
|
|
19
|
+
В методе ngOnInit компонента LibSvgComponent происходит загрузка SVG изображения по указанному пути в зависимости от типа иконки и ее названия. Затем происходит обработка SVG элементов: удаление атрибутов fill и stroke у всех элементов path, а также у элементов svg и g. Задается ширина и высота SVG изображения в соответствии с переданными значениями.
|
|
20
|
+
|
|
21
|
+
Этот компонент значительно упрощает процесс отображения иконок на веб-странице, позволяя легко управлять их параметрами, такими как размеры и цвет.
|
|
22
|
+
**/
|
|
23
|
+
// @Deprecate
|
|
24
|
+
export class LibSvgComponent {
|
|
25
|
+
constructor(http, rdr) {
|
|
26
|
+
this.http = http;
|
|
27
|
+
this.rdr = rdr;
|
|
28
|
+
this.pack = 'svg';
|
|
29
|
+
this.color = 'green';
|
|
30
|
+
}
|
|
31
|
+
ngOnInit() {
|
|
32
|
+
this.http
|
|
33
|
+
.get(`assets/images/${this.pack}/${this.icon}.svg`, { responseType: 'text', withCredentials: true })
|
|
34
|
+
.subscribe(txt => {
|
|
35
|
+
this.svg.nativeElement.innerHTML = txt;
|
|
36
|
+
const svg = this.svg.nativeElement.children[0];
|
|
37
|
+
const g = this.svg.nativeElement.children[0].children[0];
|
|
38
|
+
const path = this.svg.nativeElement.children[0].children[0].children;
|
|
39
|
+
for (const item of path) {
|
|
40
|
+
this.rdr.removeAttribute(item, 'fill');
|
|
41
|
+
this.rdr.removeAttribute(item, 'stroke');
|
|
42
|
+
}
|
|
43
|
+
this.rdr.removeAttribute(svg, 'fill');
|
|
44
|
+
this.rdr.removeAttribute(g, 'fill');
|
|
45
|
+
if (this.width) {
|
|
46
|
+
this.rdr.setAttribute(svg, 'width', this.width);
|
|
47
|
+
}
|
|
48
|
+
if (this.height) {
|
|
49
|
+
this.rdr.setAttribute(svg, 'height', this.height);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibSvgComponent, deps: [{ token: i1.HttpClient }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
54
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LibSvgComponent, isStandalone: true, selector: "dd-lib-svg", inputs: { width: "width", height: "height", icon: "icon", pack: "pack", color: "color", stroke: "stroke" }, viewQueries: [{ propertyName: "svg", first: true, predicate: ["svgRef"], descendants: true, static: true }], ngImport: i0, template: "<div\r\n #svgRef\r\n [class.black-stroke]=\"stroke === 'black'\"\r\n [class.black]=\"color === 'black'\"\r\n [class.gray-stroke]=\"stroke === 'gray'\"\r\n [class.gray]=\"color === 'gray'\"\r\n [class.green-stroke]=\"stroke === 'green'\"\r\n [class.green]=\"color === 'green'\"\r\n [class.white-stroke]=\"stroke === 'white'\"\r\n [class.white]=\"color === 'white'\"\r\n [class.gold-stroke]=\"stroke === 'gold'\"\r\n [class.gold]=\"color === 'gold'\"\r\n [class.blue-stroke]=\"stroke === 'blue'\"\r\n [class.blue]=\"color === 'blue'\"\r\n class=\"lib-icon\"></div>\r\n", styles: [".lib-icon{display:flex;align-items:center;justify-content:center}.lib-icon.green{fill:var(--primary-green-color)}.lib-icon.white{fill:#fff}.lib-icon.white path{fill:#fff;stroke:#fff}.lib-icon.white-stroke{stroke:var(--white-color)}.lib-icon.white-stroke g>path,.lib-icon.white-stroke path{stroke:var(--white-color)}.lib-icon.black{fill:var(--black-color)}.lib-icon.gray{fill:var(--second-gray-color)}.lib-icon.gray path{fill:var(--second-gray-color);stroke:var(--second-gray-color)}.lib-icon.gray-stroke{stroke:var(--second-gray-color)}.lib-icon.gray-stroke path{stroke:var(--second-gray-color)}.lib-icon.gold-stroke{stroke:var(--gold-svg-color)}.lib-icon.gold-stroke path{stroke:var(--gold-svg-color)}.lib-icon.gold{fill:var(--gold-bgc-color)}.lib-icon.gold path{fill:var(--gold-bgc-color);stroke:var(--gold-svg-color)}.lib-icon.blue-stroke{stroke:var(--blue-color)}.lib-icon.blue-stroke path{stroke:var(--blue-color)}.lib-icon.blue{fill:var(--blue-light-bgc)}.lib-icon.blue path{fill:var(--blue-light-bgc);stroke:var(--blue-light-bgc)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
55
|
+
}
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibSvgComponent, decorators: [{
|
|
57
|
+
type: Component,
|
|
58
|
+
args: [{ selector: 'dd-lib-svg', standalone: true, imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n #svgRef\r\n [class.black-stroke]=\"stroke === 'black'\"\r\n [class.black]=\"color === 'black'\"\r\n [class.gray-stroke]=\"stroke === 'gray'\"\r\n [class.gray]=\"color === 'gray'\"\r\n [class.green-stroke]=\"stroke === 'green'\"\r\n [class.green]=\"color === 'green'\"\r\n [class.white-stroke]=\"stroke === 'white'\"\r\n [class.white]=\"color === 'white'\"\r\n [class.gold-stroke]=\"stroke === 'gold'\"\r\n [class.gold]=\"color === 'gold'\"\r\n [class.blue-stroke]=\"stroke === 'blue'\"\r\n [class.blue]=\"color === 'blue'\"\r\n class=\"lib-icon\"></div>\r\n", styles: [".lib-icon{display:flex;align-items:center;justify-content:center}.lib-icon.green{fill:var(--primary-green-color)}.lib-icon.white{fill:#fff}.lib-icon.white path{fill:#fff;stroke:#fff}.lib-icon.white-stroke{stroke:var(--white-color)}.lib-icon.white-stroke g>path,.lib-icon.white-stroke path{stroke:var(--white-color)}.lib-icon.black{fill:var(--black-color)}.lib-icon.gray{fill:var(--second-gray-color)}.lib-icon.gray path{fill:var(--second-gray-color);stroke:var(--second-gray-color)}.lib-icon.gray-stroke{stroke:var(--second-gray-color)}.lib-icon.gray-stroke path{stroke:var(--second-gray-color)}.lib-icon.gold-stroke{stroke:var(--gold-svg-color)}.lib-icon.gold-stroke path{stroke:var(--gold-svg-color)}.lib-icon.gold{fill:var(--gold-bgc-color)}.lib-icon.gold path{fill:var(--gold-bgc-color);stroke:var(--gold-svg-color)}.lib-icon.blue-stroke{stroke:var(--blue-color)}.lib-icon.blue-stroke path{stroke:var(--blue-color)}.lib-icon.blue{fill:var(--blue-light-bgc)}.lib-icon.blue path{fill:var(--blue-light-bgc);stroke:var(--blue-light-bgc)}\n"] }]
|
|
59
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i0.Renderer2 }], propDecorators: { svg: [{
|
|
60
|
+
type: ViewChild,
|
|
61
|
+
args: ['svgRef', { static: true }]
|
|
62
|
+
}], width: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], height: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], icon: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], pack: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], color: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], stroke: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}] } });
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXN2Zy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9saWItc3ZnL2xpYi1zdmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXN2Zy9saWItc3ZnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFxQixTQUFTLEdBQUUsTUFBTSxlQUFlLENBQUM7OztBQUluSDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsYUFBYTtBQVNiLE1BQU0sT0FBTyxlQUFlO0lBUzFCLFlBQW9CLElBQWdCLEVBQVUsR0FBYztRQUF4QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBVztRQUo1QyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsVUFBSyxHQUFjLE9BQU8sQ0FBQztJQUdvQixDQUFDO0lBRXpELFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSTthQUNOLEdBQUcsQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxNQUFNLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUNuRyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1lBQ3ZDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1lBQ3JFLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzNDLENBQUM7WUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3BDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xELENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0FoQ1UsZUFBZTttR0FBZixlQUFlLCtSQ2hDNUIsc2tCQWVBOzs0RkRpQmEsZUFBZTtrQkFSM0IsU0FBUzsrQkFDRSxZQUFZLGNBQ1YsSUFBSSxXQUNQLEVBQUUsbUJBR00sdUJBQXVCLENBQUMsTUFBTTt1R0FHSCxHQUFHO3NCQUE5QyxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBQ25CLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbmV4cG9ydCB0eXBlIFRTdmdDb2xvciA9ICd3aGl0ZScgfCAnZ3JlZW4nIHwgJ2JsYWNrJyB8ICdncmF5JyB8ICdnb2xkJyB8ICdibHVlJztcclxuLyoqXHJcbiAg0JrQvtC80L/QvtC90LXQvdGCIExpYlN2Z0NvbXBvbmVudCDQvtGC0LLQtdGH0LDQtdGCINC30LAg0L7RgtC+0LHRgNCw0LbQtdC90LjQtSBTVkcg0LjQutC+0L3QvtC6LiDQntC9INGB0L7QtNC10YDQttC40YIg0YHQu9C10LTRg9GO0YnQuNC1INGB0LLQvtC50YHRgtCy0LAg0Lgg0LzQtdGC0L7QtNGLOlxyXG5cclxuICDQodCy0L7QudGB0YLQstCwOlxyXG4gIC0gQFZpZXdDaGlsZCgnc3ZnUmVmJywgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIHN2ZzogRWxlbWVudFJlZjsgLSDRgdGB0YvQu9C60LAg0L3QsCDRjdC70LXQvNC10L3RgiBTVkcuXHJcbiAgLSBASW5wdXQoKSBwdWJsaWMgd2lkdGg6IHN0cmluZzsgLSDRiNC40YDQuNC90LAg0LjQutC+0L3QutC4LlxyXG4gIC0gQElucHV0KCkgcHVibGljIGhlaWdodDogc3RyaW5nOyAtINCy0YvRgdC+0YLQsCDQuNC60L7QvdC60LguXHJcbiAgLSBASW5wdXQoKSBwdWJsaWMgaWNvbjogc3RyaW5nOyAtINC90LDQt9Cy0LDQvdC40LUg0LjQutC+0L3QutC4LlxyXG4gIC0gQElucHV0KCkgcHVibGljIHBhY2sgPSAnc3ZnJzsgLSDRgtC40L8g0LjQutC+0L3QutC4ICjQv9C+INGD0LzQvtC70YfQsNC90LjRjiAnc3ZnJykuXHJcbiAgLSBASW5wdXQoKSBwdWJsaWMgY29sb3I6IFRTdmdDb2xvciA9ICdncmVlbic7IC0g0YbQstC10YIg0LjQutC+0L3QutC4ICjQt9C10LvQtdC90YvQuSDQv9C+INGD0LzQvtC70YfQsNC90LjRjikuXHJcbiAgLSBASW5wdXQoKSBwdWJsaWMgc3Ryb2tlOiBUU3ZnQ29sb3I7IC0g0YbQstC10YIg0L7QsdCy0L7QtNC60Lgg0LjQutC+0L3QutC4LlxyXG5cclxuICDQnNC10YLQvtC00Ys6XHJcbiAgLSBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7fSAtINC80LXRgtC+0LQg0LbQuNC30L3QtdC90L3QvtCz0L4g0YbQuNC60LvQsCDQutC+0LzQv9C+0L3QtdC90YLQsCwg0LLRi9C30YvQstCw0LXQvNGL0Lkg0L/RgNC4INC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNC4LiDQkiDQvdC10Lwg0L/RgNC+0LjRgdGF0L7QtNC40YIg0LfQsNCz0YDRg9C30LrQsCBTVkcg0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQuCDQvdCw0YHRgtGA0L7QudC60LAg0LXQs9C+INC/0LDRgNCw0LzQtdGC0YDQvtCyLCDRgtCw0LrQuNGFINC60LDQuiDRiNC40YDQuNC90LAsINCy0YvRgdC+0YLQsCDQuCDRhtCy0LXRgi5cclxuXHJcbiAg0JIg0LzQtdGC0L7QtNC1IG5nT25Jbml0INC60L7QvNC/0L7QvdC10L3RgtCwIExpYlN2Z0NvbXBvbmVudCDQv9GA0L7QuNGB0YXQvtC00LjRgiDQt9Cw0LPRgNGD0LfQutCwIFNWRyDQuNC30L7QsdGA0LDQttC10L3QuNGPINC/0L4g0YPQutCw0LfQsNC90L3QvtC80YMg0L/Rg9GC0Lgg0LIg0LfQsNCy0LjRgdC40LzQvtGB0YLQuCDQvtGCINGC0LjQv9CwINC40LrQvtC90LrQuCDQuCDQtdC1INC90LDQt9Cy0LDQvdC40Y8uINCX0LDRgtC10Lwg0L/RgNC+0LjRgdGF0L7QtNC40YIg0L7QsdGA0LDQsdC+0YLQutCwIFNWRyDRjdC70LXQvNC10L3RgtC+0LI6INGD0LTQsNC70LXQvdC40LUg0LDRgtGA0LjQsdGD0YLQvtCyIGZpbGwg0Lggc3Ryb2tlINGDINCy0YHQtdGFINGN0LvQtdC80LXQvdGC0L7QsiBwYXRoLCDQsCDRgtCw0LrQttC1INGDINGN0LvQtdC80LXQvdGC0L7QsiBzdmcg0LggZy4g0JfQsNC00LDQtdGC0YHRjyDRiNC40YDQuNC90LAg0Lgg0LLRi9GB0L7RgtCwIFNWRyDQuNC30L7QsdGA0LDQttC10L3QuNGPINCyINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjQuCDRgSDQv9C10YDQtdC00LDQvdC90YvQvNC4INC30L3QsNGH0LXQvdC40Y/QvNC4LlxyXG5cclxuICDQrdGC0L7RgiDQutC+0LzQv9C+0L3QtdC90YIg0LfQvdCw0YfQuNGC0LXQu9GM0L3QviDRg9C/0YDQvtGJ0LDQtdGCINC/0YDQvtGG0LXRgdGBINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LjQutC+0L3QvtC6INC90LAg0LLQtdCxLdGB0YLRgNCw0L3QuNGG0LUsINC/0L7Qt9Cy0L7Qu9GP0Y8g0LvQtdCz0LrQviDRg9C/0YDQsNCy0LvRj9GC0Ywg0LjRhSDQv9Cw0YDQsNC80LXRgtGA0LDQvNC4LCDRgtCw0LrQuNC80Lgg0LrQsNC6INGA0LDQt9C80LXRgNGLINC4INGG0LLQtdGCLlxyXG4qKi9cclxuLy8gQERlcHJlY2F0ZVxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1zdmcnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW10sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYi1zdmcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9saWItc3ZnLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpYlN2Z0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnc3ZnUmVmJywge3N0YXRpYzogdHJ1ZX0pIHB1YmxpYyBzdmchOiBFbGVtZW50UmVmO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB3aWR0aDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBoZWlnaHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgaWNvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBwYWNrID0gJ3N2Zyc7XHJcbiAgQElucHV0KCkgcHVibGljIGNvbG9yOiBUU3ZnQ29sb3IgPSAnZ3JlZW4nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzdHJva2U6IFRTdmdDb2xvciB8IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIHJkcjogUmVuZGVyZXIyKSB7fVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmh0dHBcclxuICAgICAgLmdldChgYXNzZXRzL2ltYWdlcy8ke3RoaXMucGFja30vJHt0aGlzLmljb259LnN2Z2AsIHsgcmVzcG9uc2VUeXBlOiAndGV4dCcsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KVxyXG4gICAgICAuc3Vic2NyaWJlKHR4dCA9PiB7XHJcbiAgICAgICAgdGhpcy5zdmcubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSB0eHQ7XHJcbiAgICAgICAgY29uc3Qgc3ZnID0gdGhpcy5zdmcubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXTtcclxuICAgICAgICBjb25zdCBnID0gdGhpcy5zdmcubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXS5jaGlsZHJlblswXTtcclxuICAgICAgICBjb25zdCBwYXRoID0gdGhpcy5zdmcubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXS5jaGlsZHJlblswXS5jaGlsZHJlbjtcclxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgcGF0aCkge1xyXG4gICAgICAgICAgdGhpcy5yZHIucmVtb3ZlQXR0cmlidXRlKGl0ZW0sICdmaWxsJyk7XHJcbiAgICAgICAgICB0aGlzLnJkci5yZW1vdmVBdHRyaWJ1dGUoaXRlbSwgJ3N0cm9rZScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnJkci5yZW1vdmVBdHRyaWJ1dGUoc3ZnLCAnZmlsbCcpO1xyXG4gICAgICAgIHRoaXMucmRyLnJlbW92ZUF0dHJpYnV0ZShnLCAnZmlsbCcpO1xyXG4gICAgICAgIGlmICh0aGlzLndpZHRoKSB7XHJcbiAgICAgICAgICB0aGlzLnJkci5zZXRBdHRyaWJ1dGUoc3ZnLCAnd2lkdGgnLCB0aGlzLndpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuaGVpZ2h0KSB7XHJcbiAgICAgICAgICB0aGlzLnJkci5zZXRBdHRyaWJ1dGUoc3ZnLCAnaGVpZ2h0JywgdGhpcy5oZWlnaHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICAjc3ZnUmVmXHJcbiAgW2NsYXNzLmJsYWNrLXN0cm9rZV09XCJzdHJva2UgPT09ICdibGFjaydcIlxyXG4gIFtjbGFzcy5ibGFja109XCJjb2xvciA9PT0gJ2JsYWNrJ1wiXHJcbiAgW2NsYXNzLmdyYXktc3Ryb2tlXT1cInN0cm9rZSA9PT0gJ2dyYXknXCJcclxuICBbY2xhc3MuZ3JheV09XCJjb2xvciA9PT0gJ2dyYXknXCJcclxuICBbY2xhc3MuZ3JlZW4tc3Ryb2tlXT1cInN0cm9rZSA9PT0gJ2dyZWVuJ1wiXHJcbiAgW2NsYXNzLmdyZWVuXT1cImNvbG9yID09PSAnZ3JlZW4nXCJcclxuICBbY2xhc3Mud2hpdGUtc3Ryb2tlXT1cInN0cm9rZSA9PT0gJ3doaXRlJ1wiXHJcbiAgW2NsYXNzLndoaXRlXT1cImNvbG9yID09PSAnd2hpdGUnXCJcclxuICBbY2xhc3MuZ29sZC1zdHJva2VdPVwic3Ryb2tlID09PSAnZ29sZCdcIlxyXG4gIFtjbGFzcy5nb2xkXT1cImNvbG9yID09PSAnZ29sZCdcIlxyXG4gIFtjbGFzcy5ibHVlLXN0cm9rZV09XCJzdHJva2UgPT09ICdibHVlJ1wiXHJcbiAgW2NsYXNzLmJsdWVdPVwiY29sb3IgPT09ICdibHVlJ1wiXHJcbiAgY2xhc3M9XCJsaWItaWNvblwiPjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Inject, Input, Optional } from '@angular/core';
|
|
2
|
+
import { DOCUMENT } from "@angular/common";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../core";
|
|
5
|
+
export class LibSvgIconComponent {
|
|
6
|
+
set icon(iconName) {
|
|
7
|
+
const svgData = this.svgIconRegistry.getIcon(iconName);
|
|
8
|
+
if (this.svgIcon) {
|
|
9
|
+
this.el.nativeElement.removeChild(this.svgIcon);
|
|
10
|
+
}
|
|
11
|
+
if (svgData) {
|
|
12
|
+
this.svgIcon = this.svgElementFromString(svgData);
|
|
13
|
+
if (this.width) {
|
|
14
|
+
this.rdr.setStyle(this.svgIcon, 'width', this.width);
|
|
15
|
+
}
|
|
16
|
+
if (this.height) {
|
|
17
|
+
}
|
|
18
|
+
if (this.color) {
|
|
19
|
+
this.rdr.setStyle(this.svgIcon, 'fill', this.color);
|
|
20
|
+
}
|
|
21
|
+
this.el.nativeElement.appendChild(this.svgIcon);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
constructor(el, rdr, svgIconRegistry, document) {
|
|
25
|
+
this.el = el;
|
|
26
|
+
this.rdr = rdr;
|
|
27
|
+
this.svgIconRegistry = svgIconRegistry;
|
|
28
|
+
this.document = document;
|
|
29
|
+
}
|
|
30
|
+
svgElementFromString(svgContent) {
|
|
31
|
+
const div = this.document.createElement('DIV');
|
|
32
|
+
div.innerHTML = svgContent;
|
|
33
|
+
return div.querySelector('svg') || this.document.createElementNS('http://www.w3.org/200/svg', 'path');
|
|
34
|
+
}
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibSvgIconComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.SvgIconsService }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LibSvgIconComponent, isStandalone: true, selector: "dd-lib-svg-icon", inputs: { width: "width", height: "height", color: "color", icon: "icon" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37
|
+
}
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibSvgIconComponent, decorators: [{
|
|
39
|
+
type: Component,
|
|
40
|
+
args: [{ selector: 'dd-lib-svg-icon', standalone: true, imports: [], template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush }]
|
|
41
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.SvgIconsService }, { type: undefined, decorators: [{
|
|
42
|
+
type: Optional
|
|
43
|
+
}, {
|
|
44
|
+
type: Inject,
|
|
45
|
+
args: [DOCUMENT]
|
|
46
|
+
}] }], propDecorators: { width: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}], height: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], color: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], icon: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}] } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXN2Zy1pY29uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2xpYi1zdmctaWNvbi9saWItc3ZnLWljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFakgsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7QUFXekMsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixJQUNXLElBQUksQ0FBQyxRQUFnQjtRQUM5QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFFRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3RELENBQUM7WUFDRCxJQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQixDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3JELENBQUM7WUFHRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELENBQUM7SUFDSCxDQUFDO0lBSUQsWUFDVSxFQUFjLEVBQ2QsR0FBYyxFQUNkLGVBQWdDLEVBQ0YsUUFBYTtRQUgzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsUUFBRyxHQUFILEdBQUcsQ0FBVztRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNGLGFBQVEsR0FBUixRQUFRLENBQUs7SUFFckQsQ0FBQztJQUVPLG9CQUFvQixDQUFDLFVBQWtCO1FBQzdDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLEdBQUcsQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO1FBRTNCLE9BQU8sR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQywyQkFBMkIsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4RyxDQUFDOytHQTNDVSxtQkFBbUIsb0dBa0NSLFFBQVE7bUdBbENuQixtQkFBbUIsdUpBTHBCLDJCQUEyQjs7NEZBSzFCLG1CQUFtQjtrQkFUL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsRUFBRSxZQUNELDJCQUEyQixtQkFFcEIsdUJBQXVCLENBQUMsTUFBTTs7MEJBcUM1QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFFBQVE7eUNBakNkLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUdLLElBQUk7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIFJlbmRlcmVyMn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U3ZnSWNvbnNTZXJ2aWNlfSBmcm9tIFwiLi4vY29yZVwiO1xyXG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1zdmctaWNvbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXSxcclxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxyXG4gIHN0eWxlVXJsOiAnLi9saWItc3ZnLWljb24uY29tcG9uZW50LmNzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliU3ZnSWNvbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgcHVibGljIHdpZHRoOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIGhlaWdodDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjb2xvcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgaWNvbihpY29uTmFtZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBzdmdEYXRhID0gdGhpcy5zdmdJY29uUmVnaXN0cnkuZ2V0SWNvbihpY29uTmFtZSk7XHJcbiAgICBpZiAodGhpcy5zdmdJY29uKSB7XHJcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLnN2Z0ljb24pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdmdEYXRhKSB7XHJcbiAgICAgIHRoaXMuc3ZnSWNvbiA9IHRoaXMuc3ZnRWxlbWVudEZyb21TdHJpbmcoc3ZnRGF0YSk7XHJcbiAgICAgIGlmICh0aGlzLndpZHRoKSB7XHJcbiAgICAgICAgdGhpcy5yZHIuc2V0U3R5bGUodGhpcy5zdmdJY29uLCAnd2lkdGgnLCB0aGlzLndpZHRoKVxyXG4gICAgICB9XHJcbiAgICAgIGlmICggdGhpcy5oZWlnaHQpIHtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5jb2xvcikge1xyXG4gICAgICAgIHRoaXMucmRyLnNldFN0eWxlKHRoaXMuc3ZnSWNvbiwgJ2ZpbGwnLCB0aGlzLmNvbG9yKVxyXG4gICAgICB9XHJcblxyXG5cclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuc3ZnSWNvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN2Z0ljb246IFNWR0VsZW1lbnQgfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcmRyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIHN2Z0ljb25SZWdpc3RyeTogU3ZnSWNvbnNTZXJ2aWNlLFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55LFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdmdFbGVtZW50RnJvbVN0cmluZyhzdmdDb250ZW50OiBzdHJpbmcpOiBTVkdFbGVtZW50IHtcclxuICAgIGNvbnN0IGRpdiA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnRElWJyk7XHJcbiAgICBkaXYuaW5uZXJIVE1MID0gc3ZnQ29udGVudDtcclxuXHJcbiAgICByZXR1cm4gZGl2LnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpIHx8IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAvc3ZnJywgJ3BhdGgnKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/router";
|
|
4
|
+
export class ITab {
|
|
5
|
+
constructor(body) {
|
|
6
|
+
this.id = body.id;
|
|
7
|
+
this.title = body.namePage;
|
|
8
|
+
this.name = body.name;
|
|
9
|
+
this.fragment = body.address;
|
|
10
|
+
this.welcomeText = body.welcomeText;
|
|
11
|
+
this.type = body.type;
|
|
12
|
+
for (const key in body) {
|
|
13
|
+
if (key) {
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
15
|
+
// @ts-ignore
|
|
16
|
+
this[key] = body[key];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export class LibTabsFragmentComponent {
|
|
22
|
+
constructor(route, router, cdr) {
|
|
23
|
+
this.route = route;
|
|
24
|
+
this.router = router;
|
|
25
|
+
this.cdr = cdr;
|
|
26
|
+
this.rout = location.pathname;
|
|
27
|
+
this.setActiveTab = new EventEmitter();
|
|
28
|
+
}
|
|
29
|
+
ngOnInit() {
|
|
30
|
+
if (this.tabs) {
|
|
31
|
+
this.tabsFragment = this.tabs.map(t => t.fragment);
|
|
32
|
+
this.getFragment();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
checkActiveTab(tab) {
|
|
36
|
+
if (tab) {
|
|
37
|
+
this.activeFragment = tab.id;
|
|
38
|
+
if (this.rout) {
|
|
39
|
+
this.router.navigate([this.rout], { fragment: tab.fragment });
|
|
40
|
+
}
|
|
41
|
+
this.setActiveTab.emit(this.activeFragment);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.activeFragment = undefined;
|
|
45
|
+
this.router.navigate([this.rout], { fragment: undefined });
|
|
46
|
+
}
|
|
47
|
+
this.cdr.detectChanges();
|
|
48
|
+
}
|
|
49
|
+
getFragment() {
|
|
50
|
+
const activeFragment = this.route.snapshot.fragment;
|
|
51
|
+
this.activeFragment = this.tabs?.[0]?.id || 0;
|
|
52
|
+
if (this.tabsFragment?.includes(activeFragment)) {
|
|
53
|
+
this.activeFragment = this.tabs?.find(f => f.fragment === activeFragment)?.id;
|
|
54
|
+
if (this.needInitEvent) {
|
|
55
|
+
this.setActiveTab.emit(this.activeFragment);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else if (this.needInitEvent) {
|
|
59
|
+
this.setActiveTab.emit(this.activeFragment);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibTabsFragmentComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
63
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LibTabsFragmentComponent, isStandalone: true, selector: "dd-lib-tabs-fragment", inputs: { rout: "rout", tabs: "tabs", tabsFragment: "tabsFragment", needInitEvent: "needInitEvent" }, outputs: { setActiveTab: "setActiveTab" }, ngImport: i0, template: "@if (tabs?.length) {\r\n<div class=\"tabs-filter-types\">\r\n @for (tab of tabs; track tab) {\r\n <div\r\n (click)=\"checkActiveTab(tab)\"\r\n [class.active]=\"tab.id === activeFragment\"\r\n class=\"tabs-filter-types__type\">\r\n {{ tab.title }}\r\n </div>\r\n }\r\n</div>\r\n}\r\n", styles: [".tabs-filter-types{display:flex;align-items:center}.tabs-filter-types__type{padding:16px 8px;border-bottom:1px solid var(--gray-color-200);color:var(--second-gray-color);cursor:pointer;transition:.5s}.tabs-filter-types__type:hover,.tabs-filter-types__type.active{border-color:var(--primary-green-color);box-shadow:0 -1px 0 0 var(--primary-green-color) inset;color:var(--primary-green-color)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
64
|
+
}
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibTabsFragmentComponent, decorators: [{
|
|
66
|
+
type: Component,
|
|
67
|
+
args: [{ selector: 'dd-lib-tabs-fragment', standalone: true, imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (tabs?.length) {\r\n<div class=\"tabs-filter-types\">\r\n @for (tab of tabs; track tab) {\r\n <div\r\n (click)=\"checkActiveTab(tab)\"\r\n [class.active]=\"tab.id === activeFragment\"\r\n class=\"tabs-filter-types__type\">\r\n {{ tab.title }}\r\n </div>\r\n }\r\n</div>\r\n}\r\n", styles: [".tabs-filter-types{display:flex;align-items:center}.tabs-filter-types__type{padding:16px 8px;border-bottom:1px solid var(--gray-color-200);color:var(--second-gray-color);cursor:pointer;transition:.5s}.tabs-filter-types__type:hover,.tabs-filter-types__type.active{border-color:var(--primary-green-color);box-shadow:0 -1px 0 0 var(--primary-green-color) inset;color:var(--primary-green-color)}\n"] }]
|
|
68
|
+
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i0.ChangeDetectorRef }], propDecorators: { rout: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], tabs: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], tabsFragment: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], needInitEvent: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], setActiveTab: [{
|
|
77
|
+
type: Output
|
|
78
|
+
}] } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXRhYnMtZnJhZ21lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXRhYnMtZnJhZ21lbnQvbGliLXRhYnMtZnJhZ21lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXRhYnMtZnJhZ21lbnQvbGliLXRhYnMtZnJhZ21lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7OztBQUd2QixNQUFNLE9BQU8sSUFBSTtJQVFmLFlBQVksSUFBUztRQUNuQixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3ZCLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ1IsNkRBQTZEO2dCQUM3RCxhQUFhO2dCQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFVRCxNQUFNLE9BQU8sd0JBQXdCO0lBUW5DLFlBQW9C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aGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuZXhwb3J0IGNsYXNzIElUYWIge1xyXG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBpZDogbnVsbCB8IG51bWJlcjtcclxuICBwdWJsaWMgZnJhZ21lbnQ6IHN0cmluZztcclxuICBwdWJsaWMgbmFtZT86IHN0cmluZztcclxuICBwdWJsaWMgd2VsY29tZVRleHQ/OiBzdHJpbmc7XHJcbiAgcHVibGljIHR5cGU/OiAxIHwgMjtcclxuXHJcbiAgY29uc3RydWN0b3IoYm9keTogYW55KSB7XHJcbiAgICB0aGlzLmlkID0gYm9keS5pZDtcclxuICAgIHRoaXMudGl0bGUgPSBib2R5Lm5hbWVQYWdlO1xyXG4gICAgdGhpcy5uYW1lID0gYm9keS5uYW1lO1xyXG4gICAgdGhpcy5mcmFnbWVudCA9IGJvZHkuYWRkcmVzcztcclxuICAgIHRoaXMud2VsY29tZVRleHQgPSBib2R5LndlbGNvbWVUZXh0O1xyXG4gICAgdGhpcy50eXBlID0gYm9keS50eXBlO1xyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gYm9keSkge1xyXG4gICAgICBpZiAoa2V5KSB7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICB0aGlzW2tleV0gPSBib2R5W2tleV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGQtbGliLXRhYnMtZnJhZ21lbnQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW10sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYi10YWJzLWZyYWdtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGliLXRhYnMtZnJhZ21lbnQuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliVGFic0ZyYWdtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBwdWJsaWMgcm91dCA9IGxvY2F0aW9uLnBhdGhuYW1lO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB0YWJzOiBJVGFiW10gfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIHRhYnNGcmFnbWVudDogc3RyaW5nW10gfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIG5lZWRJbml0RXZlbnQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBzZXRBY3RpdmVUYWIgPSBuZXcgRXZlbnRFbWl0dGVyPG51bGwgfCBudW1iZXI+KCk7XHJcbiAgcHVibGljIGFjdGl2ZUZyYWdtZW50OiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50YWJzKSB7XHJcbiAgICAgIHRoaXMudGFic0ZyYWdtZW50ID0gdGhpcy50YWJzLm1hcCh0ID0+IHQuZnJhZ21lbnQpO1xyXG4gICAgICB0aGlzLmdldEZyYWdtZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hlY2tBY3RpdmVUYWIodGFiPzogSVRhYikge1xyXG4gICAgaWYgKHRhYikge1xyXG4gICAgICB0aGlzLmFjdGl2ZUZyYWdtZW50ID0gdGFiLmlkO1xyXG4gICAgICBpZiAodGhpcy5yb3V0KSB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMucm91dF0sIHsgZnJhZ21lbnQ6IHRhYi5mcmFnbWVudCB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNldEFjdGl2ZVRhYi5lbWl0KHRoaXMuYWN0aXZlRnJhZ21lbnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hY3RpdmVGcmFnbWVudCA9IHVuZGVmaW5lZDtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMucm91dF0sIHsgZnJhZ21lbnQ6IHVuZGVmaW5lZCB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RnJhZ21lbnQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBhY3RpdmVGcmFnbWVudCA9IHRoaXMucm91dGUuc25hcHNob3QuZnJhZ21lbnQgYXMgc3RyaW5nO1xyXG4gICAgdGhpcy5hY3RpdmVGcmFnbWVudCA9IHRoaXMudGFicz8uWzBdPy5pZCB8fCAwO1xyXG4gICAgaWYgKHRoaXMudGFic0ZyYWdtZW50Py5pbmNsdWRlcyhhY3RpdmVGcmFnbWVudCkpIHtcclxuICAgICAgdGhpcy5hY3RpdmVGcmFnbWVudCA9IHRoaXMudGFicz8uZmluZChmID0+IGYuZnJhZ21lbnQgPT09IGFjdGl2ZUZyYWdtZW50KT8uaWQ7XHJcbiAgICAgIGlmICh0aGlzLm5lZWRJbml0RXZlbnQpIHtcclxuICAgICAgICB0aGlzLnNldEFjdGl2ZVRhYi5lbWl0KHRoaXMuYWN0aXZlRnJhZ21lbnQpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMubmVlZEluaXRFdmVudCkge1xyXG4gICAgICB0aGlzLnNldEFjdGl2ZVRhYi5lbWl0KHRoaXMuYWN0aXZlRnJhZ21lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAaWYgKHRhYnM/Lmxlbmd0aCkge1xyXG48ZGl2IGNsYXNzPVwidGFicy1maWx0ZXItdHlwZXNcIj5cclxuICBAZm9yICh0YWIgb2YgdGFiczsgdHJhY2sgdGFiKSB7XHJcbiAgPGRpdlxyXG4gICAgKGNsaWNrKT1cImNoZWNrQWN0aXZlVGFiKHRhYilcIlxyXG4gICAgW2NsYXNzLmFjdGl2ZV09XCJ0YWIuaWQgPT09IGFjdGl2ZUZyYWdtZW50XCJcclxuICAgIGNsYXNzPVwidGFicy1maWx0ZXItdHlwZXNfX3R5cGVcIj5cclxuICAgIHt7IHRhYi50aXRsZSB9fVxyXG4gIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, forwardRef, Host, Input, Optional, SkipSelf, } from '@angular/core';
|
|
2
|
+
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { NgOptimizedImage } from '@angular/common';
|
|
4
|
+
import { LibCommonInputTextComponent } from '../common/lib-common-input-text';
|
|
5
|
+
import { LibSvgIconComponent } from "../lib-svg-icon/lib-svg-icon.component";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/forms";
|
|
8
|
+
export class LibTextareaComponent extends LibCommonInputTextComponent {
|
|
9
|
+
constructor(changeDetection, controlContainer) {
|
|
10
|
+
super(changeDetection);
|
|
11
|
+
this.controlContainer = controlContainer;
|
|
12
|
+
this.rows = '6';
|
|
13
|
+
this.needCounter = true;
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
this.control =
|
|
17
|
+
this.controlContainer && this.formControlName
|
|
18
|
+
? this.controlContainer?.control?.get(this.formControlName)
|
|
19
|
+
: null;
|
|
20
|
+
}
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibTextareaComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ControlContainer, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LibTextareaComponent, isStandalone: true, selector: "dd-lib-textarea", inputs: { rows: "rows", needCounter: "needCounter" }, providers: [
|
|
23
|
+
{
|
|
24
|
+
provide: NG_VALUE_ACCESSOR,
|
|
25
|
+
useExisting: forwardRef(() => LibTextareaComponent),
|
|
26
|
+
multi: true,
|
|
27
|
+
},
|
|
28
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"lib-textarea\">\r\n <label [for]=\"id\" class=\"lib-textarea__title\">\r\n {{ label }} @if (needCounter) {\r\n <span>(\u043E\u0441\u0442\u0430\u043B\u043E\u0441\u044C {{ maxlength - (value?.length || 0) }} \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432)</span>\r\n } @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n <div class=\"pos-relative d-flex\">\r\n <textarea\r\n #textarea\r\n (blur)=\"notifyFocusEvent($event)\"\r\n (change)=\"handleChange()\"\r\n (focus)=\"notifyFocusEvent($event)\"\r\n (input)=\"handleInput($event)\"\r\n (keyup.enter)=\"forceChange()\"\r\n [(ngModel)]=\"value\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.name]=\"name\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [class.focused]=\"focused\"\r\n [class.invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readOnly\"\r\n [required]=\"required\"\r\n [rows]=\"rows\"\r\n class=\"textarea\"></textarea>\r\n <span class=\"lib-textarea__counter\">{{ value?.length || 0 }}/{{ maxlength }}</span>\r\n </div>\r\n\r\n @if (errorText && invalid) {\r\n <div class=\"lib-input__error\">{{ errorText }}</div>\r\n }\r\n</div>\r\n", styles: [".lib-textarea{position:relative;display:inline;flex-direction:column}.lib-textarea textarea{width:100%;min-height:48px;padding:12px 16px;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;resize:none}.lib-textarea textarea:hover{border-color:var(--input-active-border-colort)}.lib-textarea textarea:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-textarea textarea:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-textarea textarea:disabled::placeholder{color:var(--input-placeholder)}.lib-textarea textarea.invalid,.lib-textarea textarea.invalid:hover{border-color:var(--input-error-border-color)}.lib-textarea textarea.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-textarea__counter{position:absolute;font-size:12px;font-weight:400;right:16px;bottom:12px;color:var(--input-placeholder)}.lib-textarea__counter textarea:disabled+.lib-text-counter{color:var(--input-disable-text)}.lib-textarea__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-textarea__error{color:var(--primary-red-color);font-size:12px;font-weight:400;line-height:10px;margin-top:2px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
29
|
+
}
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibTextareaComponent, decorators: [{
|
|
31
|
+
type: Component,
|
|
32
|
+
args: [{ selector: 'dd-lib-textarea', standalone: true, imports: [FormsModule, NgOptimizedImage, LibSvgIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
33
|
+
{
|
|
34
|
+
provide: NG_VALUE_ACCESSOR,
|
|
35
|
+
useExisting: forwardRef(() => LibTextareaComponent),
|
|
36
|
+
multi: true,
|
|
37
|
+
},
|
|
38
|
+
], template: "<div class=\"lib-textarea\">\r\n <label [for]=\"id\" class=\"lib-textarea__title\">\r\n {{ label }} @if (needCounter) {\r\n <span>(\u043E\u0441\u0442\u0430\u043B\u043E\u0441\u044C {{ maxlength - (value?.length || 0) }} \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432)</span>\r\n } @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n <div class=\"pos-relative d-flex\">\r\n <textarea\r\n #textarea\r\n (blur)=\"notifyFocusEvent($event)\"\r\n (change)=\"handleChange()\"\r\n (focus)=\"notifyFocusEvent($event)\"\r\n (input)=\"handleInput($event)\"\r\n (keyup.enter)=\"forceChange()\"\r\n [(ngModel)]=\"value\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.name]=\"name\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [class.focused]=\"focused\"\r\n [class.invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readOnly\"\r\n [required]=\"required\"\r\n [rows]=\"rows\"\r\n class=\"textarea\"></textarea>\r\n <span class=\"lib-textarea__counter\">{{ value?.length || 0 }}/{{ maxlength }}</span>\r\n </div>\r\n\r\n @if (errorText && invalid) {\r\n <div class=\"lib-input__error\">{{ errorText }}</div>\r\n }\r\n</div>\r\n", styles: [".lib-textarea{position:relative;display:inline;flex-direction:column}.lib-textarea textarea{width:100%;min-height:48px;padding:12px 16px;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;resize:none}.lib-textarea textarea:hover{border-color:var(--input-active-border-colort)}.lib-textarea textarea:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-textarea textarea:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-textarea textarea:disabled::placeholder{color:var(--input-placeholder)}.lib-textarea textarea.invalid,.lib-textarea textarea.invalid:hover{border-color:var(--input-error-border-color)}.lib-textarea textarea.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-textarea__counter{position:absolute;font-size:12px;font-weight:400;right:16px;bottom:12px;color:var(--input-placeholder)}.lib-textarea__counter textarea:disabled+.lib-text-counter{color:var(--input-disable-text)}.lib-textarea__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-textarea__error{color:var(--primary-red-color);font-size:12px;font-weight:400;line-height:10px;margin-top:2px}\n"] }]
|
|
39
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.ControlContainer, decorators: [{
|
|
40
|
+
type: Optional
|
|
41
|
+
}, {
|
|
42
|
+
type: Host
|
|
43
|
+
}, {
|
|
44
|
+
type: SkipSelf
|
|
45
|
+
}] }], propDecorators: { rows: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], needCounter: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}] } });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXRleHRhcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2xpYi10ZXh0YXJlYS9saWItdGV4dGFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXRleHRhcmVhL2xpYi10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsSUFBSSxFQUNKLEtBQUssRUFFTCxRQUFRLEVBQ1IsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBbUIsV0FBVyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7OztBQWlCM0UsTUFBTSxPQUFPLG9CQUFxQixTQUFRLDJCQUEyQjtJQUluRSxZQUNFLGVBQWtDLEVBQ00sZ0JBQWtDO1FBRTFFLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUZpQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBTDVELFNBQUksR0FBRyxHQUFHLENBQUM7UUFDWCxnQkFBVyxHQUFHLElBQUksQ0FBQztJQU9uQyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxPQUFPO1lBQ1YsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxlQUFlO2dCQUMzQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztnQkFDM0QsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNiLENBQUM7K0dBaEJVLG9CQUFvQjttR0FBcEIsb0JBQW9CLG9IQVJwQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Z0JBQ25ELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixpREM3QkgsODNDQXFDQSw2MkNEbEJZLFdBQVcsNDBCQUFvQixtQkFBbUI7OzRGQVlqRCxvQkFBb0I7a0JBZmhDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDLG1CQUc1Qyx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDOzRCQUNuRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs7MEJBUUUsUUFBUTs7MEJBQUksSUFBSTs7MEJBQUksUUFBUTt5Q0FMZixJQUFJO3NCQUFuQixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBmb3J3YXJkUmVmLFxyXG4gIEhvc3QsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIFNraXBTZWxmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbnRyb2xDb250YWluZXIsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge05nT3B0aW1pemVkSW1hZ2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7TGliQ29tbW9uSW5wdXRUZXh0Q29tcG9uZW50fSBmcm9tICcuLi9jb21tb24vbGliLWNvbW1vbi1pbnB1dC10ZXh0JztcclxuaW1wb3J0IHtMaWJTdmdJY29uQ29tcG9uZW50fSBmcm9tIFwiLi4vbGliLXN2Zy1pY29uL2xpYi1zdmctaWNvbi5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGQtbGliLXRleHRhcmVhJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgTmdPcHRpbWl6ZWRJbWFnZSwgTGliU3ZnSWNvbkNvbXBvbmVudF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYi10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2xpYi10ZXh0YXJlYS5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMaWJUZXh0YXJlYUNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliVGV4dGFyZWFDb21wb25lbnQgZXh0ZW5kcyBMaWJDb21tb25JbnB1dFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByb3dzID0gJzYnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBuZWVkQ291bnRlciA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgQFNraXBTZWxmKCkgcHJpdmF0ZSBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxyXG4gICkge1xyXG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0aW9uKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29udHJvbCA9XHJcbiAgICAgIHRoaXMuY29udHJvbENvbnRhaW5lciAmJiB0aGlzLmZvcm1Db250cm9sTmFtZVxyXG4gICAgICAgID8gdGhpcy5jb250cm9sQ29udGFpbmVyPy5jb250cm9sPy5nZXQodGhpcy5mb3JtQ29udHJvbE5hbWUpXHJcbiAgICAgICAgOiBudWxsO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibGliLXRleHRhcmVhXCI+XHJcbiAgPGxhYmVsIFtmb3JdPVwiaWRcIiBjbGFzcz1cImxpYi10ZXh0YXJlYV9fdGl0bGVcIj5cclxuICAgIHt7IGxhYmVsIH19IEBpZiAobmVlZENvdW50ZXIpIHtcclxuICAgIDxzcGFuPijQvtGB0YLQsNC70L7RgdGMIHt7IG1heGxlbmd0aCAtICh2YWx1ZT8ubGVuZ3RoIHx8IDApIH19INGB0LjQvNCy0L7Qu9C+0LIpPC9zcGFuPlxyXG4gICAgfSBAaWYgKHJlcXVpcmVkKSB7XHJcbiAgICA8ZGQtbGliLXN2Zy1pY29uIGljb249XCJlcnJvcl9oaW50XCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgICB9XHJcbiAgPC9sYWJlbD5cclxuICA8ZGl2IGNsYXNzPVwicG9zLXJlbGF0aXZlIGQtZmxleFwiPlxyXG4gICAgPHRleHRhcmVhXHJcbiAgICAgICN0ZXh0YXJlYVxyXG4gICAgICAoYmx1cik9XCJub3RpZnlGb2N1c0V2ZW50KCRldmVudClcIlxyXG4gICAgICAoY2hhbmdlKT1cImhhbmRsZUNoYW5nZSgpXCJcclxuICAgICAgKGZvY3VzKT1cIm5vdGlmeUZvY3VzRXZlbnQoJGV2ZW50KVwiXHJcbiAgICAgIChpbnB1dCk9XCJoYW5kbGVJbnB1dCgkZXZlbnQpXCJcclxuICAgICAgKGtleXVwLmVudGVyKT1cImZvcmNlQ2hhbmdlKClcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgW2F0dHIuaWRdPVwiaWQgPyBpZCA6IG51bGxcIlxyXG4gICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcclxuICAgICAgW2F0dHIubWlubGVuZ3RoXT1cIm1pbmxlbmd0aFwiXHJcbiAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXHJcbiAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW2F0dHIudGFiSW5kZXhdPVwidGFiSW5kZXhcIlxyXG4gICAgICBbY2xhc3MuZm9jdXNlZF09XCJmb2N1c2VkXCJcclxuICAgICAgW2NsYXNzLmludmFsaWRdPVwiaW52YWxpZFwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXHJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgIFtyb3dzXT1cInJvd3NcIlxyXG4gICAgICBjbGFzcz1cInRleHRhcmVhXCI+PC90ZXh0YXJlYT5cclxuICAgIDxzcGFuIGNsYXNzPVwibGliLXRleHRhcmVhX19jb3VudGVyXCI+e3sgdmFsdWU/Lmxlbmd0aCB8fCAwIH19L3t7IG1heGxlbmd0aCB9fTwvc3Bhbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgQGlmIChlcnJvclRleHQgJiYgaW52YWxpZCkgIHtcclxuICA8ZGl2IGNsYXNzPVwibGliLWlucHV0X19lcnJvclwiPnt7IGVycm9yVGV4dCB9fTwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Inject, InjectionToken } from '@angular/core';
|
|
2
|
+
import { NgIf, NgOptimizedImage } from '@angular/common';
|
|
3
|
+
import { LibSvgIconComponent } from "../../lib-svg-icon/lib-svg-icon.component";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../toast.service";
|
|
6
|
+
export const TOAST_DATA = new InjectionToken('ToastData');
|
|
7
|
+
export class ToastBaseComponent {
|
|
8
|
+
get id() {
|
|
9
|
+
return this.data.id;
|
|
10
|
+
}
|
|
11
|
+
constructor(toastService, ddToastData) {
|
|
12
|
+
this.toastService = toastService;
|
|
13
|
+
this.ddToastData = ddToastData;
|
|
14
|
+
this.data = { ...this.ddToastData };
|
|
15
|
+
}
|
|
16
|
+
destroy() {
|
|
17
|
+
this.toastService.destroyToast(this.id);
|
|
18
|
+
}
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToastBaseComponent, deps: [{ token: i1.ToastService }, { token: TOAST_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ToastBaseComponent, isStandalone: true, selector: "dd-toast-base", ngImport: i0, template: "<div (click)=\"destroy()\" class=\"toast-wrapper {{ data.type }}\">\n <dd-lib-svg-icon [icon]=\"data.type\"></dd-lib-svg-icon>\n <div>\n <div>{{ data.title }}</div>\n <div>{{ data.description }}</div>\n </div>\n</div>\n", styles: [":host{display:block}.toast-wrapper{display:flex;margin:40px 40px 0 0;align-items:center;padding:20px;background:#eefaf3;border-radius:12px;opacity:1;max-width:350px;animation:fade 1s linear;width:100%}.toast-wrapper.success{background-color:var(--light-green-color)}.toast-wrapper.info{background-color:var(--light-blue-color)}.toast-wrapper.warning{background-color:var(--yellow-card)}.toast-wrapper.danger{background-color:var(--red-light-color)}@keyframes fade{0%{opacity:0}50%{opacity:.5}to{opacity:1}}\n"], dependencies: [{ kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToastBaseComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{ selector: 'dd-toast-base', standalone: true, imports: [NgOptimizedImage, NgIf, LibSvgIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div (click)=\"destroy()\" class=\"toast-wrapper {{ data.type }}\">\n <dd-lib-svg-icon [icon]=\"data.type\"></dd-lib-svg-icon>\n <div>\n <div>{{ data.title }}</div>\n <div>{{ data.description }}</div>\n </div>\n</div>\n", styles: [":host{display:block}.toast-wrapper{display:flex;margin:40px 40px 0 0;align-items:center;padding:20px;background:#eefaf3;border-radius:12px;opacity:1;max-width:350px;animation:fade 1s linear;width:100%}.toast-wrapper.success{background-color:var(--light-green-color)}.toast-wrapper.info{background-color:var(--light-blue-color)}.toast-wrapper.warning{background-color:var(--yellow-card)}.toast-wrapper.danger{background-color:var(--red-light-color)}@keyframes fade{0%{opacity:0}50%{opacity:.5}to{opacity:1}}\n"] }]
|
|
25
|
+
}], ctorParameters: () => [{ type: i1.ToastService }, { type: undefined, decorators: [{
|
|
26
|
+
type: Inject,
|
|
27
|
+
args: [TOAST_DATA]
|
|
28
|
+
}] }] });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi90b2FzdC90b2FzdC1iYXNlL3RvYXN0LWJhc2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvdG9hc3QvdG9hc3QtYmFzZS90b2FzdC1iYXNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFdkQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7OztBQVM5RSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQVksV0FBVyxDQUFDLENBQUM7QUFVckUsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixJQUFXLEVBQUU7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFLRCxZQUFvQixZQUEwQixFQUE2QixXQUFzQjtRQUE3RSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUE2QixnQkFBVyxHQUFYLFdBQVcsQ0FBVztRQUMvRixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQzsrR0FkVSxrQkFBa0IsOENBUTJCLFVBQVU7bUdBUnZELGtCQUFrQix5RUN0Qi9CLHNPQU9BLHNqQkRVb0MsbUJBQW1COzs0RkFLMUMsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLENBQUMsbUJBR3JDLHVCQUF1QixDQUFDLE1BQU07OzBCQVVFLE1BQU07MkJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TmdJZiwgTmdPcHRpbWl6ZWRJbWFnZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtUb2FzdFNlcnZpY2UsIFRvYXN0VHlwZX0gZnJvbSAnLi4vdG9hc3Quc2VydmljZSc7XHJcbmltcG9ydCB7TGliU3ZnSWNvbkNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2xpYi1zdmctaWNvbi9saWItc3ZnLWljb24uY29tcG9uZW50XCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRvYXN0RGF0YSB7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgdHlwZTogVG9hc3RUeXBlO1xyXG4gIGlkOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBUT0FTVF9EQVRBID0gbmV3IEluamVjdGlvblRva2VuPFRvYXN0RGF0YT4oJ1RvYXN0RGF0YScpO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZC10b2FzdC1iYXNlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtOZ09wdGltaXplZEltYWdlLCBOZ0lmLCBMaWJTdmdJY29uQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QtYmFzZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3RvYXN0LWJhc2UuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9hc3RCYXNlQ29tcG9uZW50IHtcclxuICBwdWJsaWMgZ2V0IGlkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YS5pZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIHByb3RlY3RlZCBkYXRhOiBUb2FzdERhdGE7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsIEBJbmplY3QoVE9BU1RfREFUQSkgcHVibGljIGRkVG9hc3REYXRhOiBUb2FzdERhdGEpIHtcclxuICAgIHRoaXMuZGF0YSA9IHsgLi4udGhpcy5kZFRvYXN0RGF0YSB9O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvYXN0U2VydmljZS5kZXN0cm95VG9hc3QodGhpcy5pZCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKGNsaWNrKT1cImRlc3Ryb3koKVwiIGNsYXNzPVwidG9hc3Qtd3JhcHBlciB7eyBkYXRhLnR5cGUgfX1cIj5cbiAgPGRkLWxpYi1zdmctaWNvbiBbaWNvbl09XCJkYXRhLnR5cGVcIj48L2RkLWxpYi1zdmctaWNvbj5cbiAgPGRpdj5cbiAgICA8ZGl2Pnt7IGRhdGEudGl0bGUgfX08L2Rpdj5cbiAgICA8ZGl2Pnt7IGRhdGEuZGVzY3JpcHRpb24gfX08L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Component, ViewChild, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../toast.service";
|
|
4
|
+
export class ToastPlaceholderComponent {
|
|
5
|
+
constructor(toastService, injector) {
|
|
6
|
+
this.toastService = toastService;
|
|
7
|
+
this.injector = injector;
|
|
8
|
+
}
|
|
9
|
+
ngOnInit() {
|
|
10
|
+
this.toastService.registerViewContainerRef(this.viewContainerRef);
|
|
11
|
+
this.toastService.registerInjector(this.injector);
|
|
12
|
+
}
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToastPlaceholderComponent, deps: [{ token: i1.ToastService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ToastPlaceholderComponent, isStandalone: true, selector: "dd-toast-placeholder", viewQueries: [{ propertyName: "viewContainerRef", first: true, predicate: ["toastPlaceholder"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: ` <div #toastPlaceholder></div>
|
|
15
|
+
<div id="toast-overlay"></div>`, isInline: true }); }
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToastPlaceholderComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{
|
|
20
|
+
selector: 'dd-toast-placeholder',
|
|
21
|
+
standalone: true,
|
|
22
|
+
template: ` <div #toastPlaceholder></div>
|
|
23
|
+
<div id="toast-overlay"></div>`,
|
|
24
|
+
}]
|
|
25
|
+
}], ctorParameters: () => [{ type: i1.ToastService }, { type: i0.Injector }], propDecorators: { viewContainerRef: [{
|
|
26
|
+
type: ViewChild,
|
|
27
|
+
args: ['toastPlaceholder', { read: ViewContainerRef, static: true }]
|
|
28
|
+
}] } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtcGxhY2Vob2xkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvdG9hc3QvdG9hc3QtcGxhY2Vob2xkZXIvdG9hc3QtcGxhY2Vob2xkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVksU0FBUyxFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFTL0UsTUFBTSxPQUFPLHlCQUF5QjtJQUlwQyxZQUFvQixZQUEwQixFQUFVLFFBQWtCO1FBQXRELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFFdkUsUUFBUTtRQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGdCQUFpQixDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQzsrR0FUVSx5QkFBeUI7bUdBQXpCLHlCQUF5QixpTEFDRyxnQkFBZ0IsMkNBSjdDO21DQUN1Qjs7NEZBRXRCLHlCQUF5QjtrQkFOckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFO21DQUN1QjtpQkFDbEM7d0dBR1MsZ0JBQWdCO3NCQUR2QixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0b3IsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VG9hc3RTZXJ2aWNlfSBmcm9tICcuLi90b2FzdC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGQtdG9hc3QtcGxhY2Vob2xkZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGU6IGAgPGRpdiAjdG9hc3RQbGFjZWhvbGRlcj48L2Rpdj5cclxuICAgIDxkaXYgaWQ9XCJ0b2FzdC1vdmVybGF5XCI+PC9kaXY+YCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvYXN0UGxhY2Vob2xkZXJDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoJ3RvYXN0UGxhY2Vob2xkZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudG9hc3RTZXJ2aWNlLnJlZ2lzdGVyVmlld0NvbnRhaW5lclJlZih0aGlzLnZpZXdDb250YWluZXJSZWYhKTtcclxuICAgIHRoaXMudG9hc3RTZXJ2aWNlLnJlZ2lzdGVySW5qZWN0b3IodGhpcy5pbmplY3Rvcik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { Injectable, Injector } from '@angular/core';
|
|
2
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
|
3
|
+
import { TOAST_DATA, ToastBaseComponent } from './toast-base/toast-base.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
6
|
+
export var ToastType;
|
|
7
|
+
(function (ToastType) {
|
|
8
|
+
ToastType["Warning"] = "warning_t";
|
|
9
|
+
ToastType["Success"] = "success_t";
|
|
10
|
+
ToastType["Info"] = "info_t";
|
|
11
|
+
ToastType["Danger"] = "danger_t";
|
|
12
|
+
})(ToastType || (ToastType = {}));
|
|
13
|
+
export class ToastConfig {
|
|
14
|
+
constructor(config) {
|
|
15
|
+
this.timeOut = 5000;
|
|
16
|
+
if (config) {
|
|
17
|
+
Object.keys(config).forEach(key => (this[key] = config[key]));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export class ToastService {
|
|
22
|
+
constructor(overlay) {
|
|
23
|
+
this.overlay = overlay;
|
|
24
|
+
this.config = new ToastConfig();
|
|
25
|
+
this.counter = 0;
|
|
26
|
+
this.ddToastData = { type: ToastType.Success, id: this.counter };
|
|
27
|
+
this.overlayRefs = {};
|
|
28
|
+
}
|
|
29
|
+
warning(title, description) {
|
|
30
|
+
this.createToast(title, description, ToastType.Warning);
|
|
31
|
+
}
|
|
32
|
+
success(title, description) {
|
|
33
|
+
this.createToast(title, description, ToastType.Success);
|
|
34
|
+
}
|
|
35
|
+
danger(title, description) {
|
|
36
|
+
this.createToast(title, description, ToastType.Danger);
|
|
37
|
+
}
|
|
38
|
+
info(title, description) {
|
|
39
|
+
this.createToast(title, description, ToastType.Info);
|
|
40
|
+
}
|
|
41
|
+
registerViewContainerRef(vcRef) {
|
|
42
|
+
this.viewContainer = vcRef;
|
|
43
|
+
}
|
|
44
|
+
registerInjector(injector) {
|
|
45
|
+
this.injector = injector;
|
|
46
|
+
}
|
|
47
|
+
destroyToast(id) {
|
|
48
|
+
if (this.overlayRefs?.[id].hasAttached() === true) {
|
|
49
|
+
this.overlayRefs?.[id].detach();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
createToast(title, description, type) {
|
|
53
|
+
const positionStrategy = this.getPositionStrategy();
|
|
54
|
+
// this.overlayRef = this.overlay.create({ positionStrategy });
|
|
55
|
+
this.overlayRefs[this.counter] = this.overlay.create({ positionStrategy });
|
|
56
|
+
this.ddToastData.title = title;
|
|
57
|
+
this.ddToastData.description = description;
|
|
58
|
+
this.ddToastData.type = type;
|
|
59
|
+
this.ddToastData.id = this.counter;
|
|
60
|
+
const injector = Injector.create({
|
|
61
|
+
providers: [
|
|
62
|
+
{
|
|
63
|
+
provide: TOAST_DATA,
|
|
64
|
+
useValue: this.ddToastData,
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
parent: this.injector,
|
|
68
|
+
});
|
|
69
|
+
const component = new ComponentPortal(ToastBaseComponent, this.viewContainer, injector);
|
|
70
|
+
console.log(component);
|
|
71
|
+
// this.overlayRef.attach(component);
|
|
72
|
+
this.overlayRefs[this.counter].attach(component);
|
|
73
|
+
setTimeout(() => {
|
|
74
|
+
for (const id in this.overlayRefs) {
|
|
75
|
+
if (this.overlayRefs[id]?.hasAttached()) {
|
|
76
|
+
this.overlayRefs[id]?.detach();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// if (this.overlayRef?.hasAttached() === true) {
|
|
80
|
+
// this.overlayRef?.detach();
|
|
81
|
+
// }
|
|
82
|
+
}, this.config.timeOut);
|
|
83
|
+
this.counter++;
|
|
84
|
+
}
|
|
85
|
+
getPositionStrategy() {
|
|
86
|
+
let element;
|
|
87
|
+
let positions;
|
|
88
|
+
const haveToast = document.getElementsByClassName('cdk-overlay-pane');
|
|
89
|
+
if (haveToast.length) {
|
|
90
|
+
element = haveToast[haveToast.length - 1];
|
|
91
|
+
positions = [
|
|
92
|
+
{
|
|
93
|
+
originX: 'start',
|
|
94
|
+
originY: 'bottom',
|
|
95
|
+
overlayX: 'start',
|
|
96
|
+
overlayY: 'top',
|
|
97
|
+
panelClass: 'toast-top',
|
|
98
|
+
},
|
|
99
|
+
];
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
element = document.getElementsByTagName('body')[0];
|
|
103
|
+
positions = [
|
|
104
|
+
{
|
|
105
|
+
originX: 'end',
|
|
106
|
+
originY: 'top',
|
|
107
|
+
overlayX: 'end',
|
|
108
|
+
overlayY: 'top',
|
|
109
|
+
panelClass: '',
|
|
110
|
+
},
|
|
111
|
+
];
|
|
112
|
+
}
|
|
113
|
+
return this.overlay.position().flexibleConnectedTo(element).withPositions(positions);
|
|
114
|
+
}
|
|
115
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToastService, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
116
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToastService, providedIn: 'root' }); }
|
|
117
|
+
}
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToastService, decorators: [{
|
|
119
|
+
type: Injectable,
|
|
120
|
+
args: [{
|
|
121
|
+
providedIn: 'root',
|
|
122
|
+
}]
|
|
123
|
+
}], ctorParameters: () => [{ type: i1.Overlay }] });
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL3RvYXN0L3RvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxRQUFRLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBRXJFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsVUFBVSxFQUFFLGtCQUFrQixFQUFZLE1BQU0sbUNBQW1DLENBQUM7OztBQUU1RixNQUFNLENBQU4sSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLGtDQUFxQixDQUFBO0lBQ3JCLGtDQUFxQixDQUFBO0lBQ3JCLDRCQUFlLENBQUE7SUFDZixnQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsU0FBUyxLQUFULFNBQVMsUUFLcEI7QUFFRCxNQUFNLE9BQU8sV0FBVztJQUd0QixZQUFZLE1BQW9CO1FBRnpCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFHcEIsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBd0IsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFHLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFLRCxNQUFNLE9BQU8sWUFBWTtJQVF2QixZQUFvQixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBUDdCLFdBQU0sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBRTFCLFlBQU8sR0FBRyxDQUFDLENBQUM7UUFDYixnQkFBVyxHQUFjLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FB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QVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgSW5qZWN0b3IsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0Nvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5LCBQb3NpdGlvblN0cmF0ZWd5fSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHtUT0FTVF9EQVRBLCBUb2FzdEJhc2VDb21wb25lbnQsIFRvYXN0RGF0YX0gZnJvbSAnLi90b2FzdC1iYXNlL3RvYXN0LWJhc2UuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBlbnVtIFRvYXN0VHlwZSB7XHJcbiAgV2FybmluZyA9ICd3YXJuaW5nX3QnLFxyXG4gIFN1Y2Nlc3MgPSAnc3VjY2Vzc190JyxcclxuICBJbmZvID0gJ2luZm9fdCcsXHJcbiAgRGFuZ2VyID0gJ2Rhbmdlcl90JyxcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRvYXN0Q29uZmlnIHtcclxuICBwdWJsaWMgdGltZU91dCA9IDUwMDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbmZpZz86IFRvYXN0Q29uZmlnKSB7XHJcbiAgICBpZiAoY29uZmlnKSB7XHJcbiAgICAgIE9iamVjdC5rZXlzKGNvbmZpZykuZm9yRWFjaChrZXkgPT4gKHRoaXNba2V5IGFzIGtleW9mIFRvYXN0Q29uZmlnXSA9IGNvbmZpZ1trZXkgYXMga2V5b2YgVG9hc3RDb25maWddKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9hc3RTZXJ2aWNlIHtcclxuICBwdWJsaWMgY29uZmlnID0gbmV3IFRvYXN0Q29uZmlnKCk7XHJcbiAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmIHwgdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgY291bnRlciA9IDA7XHJcbiAgcHVibGljIGRkVG9hc3REYXRhOiBUb2FzdERhdGEgPSB7IHR5cGU6IFRvYXN0VHlwZS5TdWNjZXNzLCBpZDogdGhpcy5jb3VudGVyIH07XHJcbiAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IgfCB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBvdmVybGF5UmVmczogYW55ID0ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSkge31cclxuXHJcbiAgcHVibGljIHdhcm5pbmcodGl0bGU6IHN0cmluZywgZGVzY3JpcHRpb24/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuY3JlYXRlVG9hc3QodGl0bGUsIGRlc2NyaXB0aW9uLCBUb2FzdFR5cGUuV2FybmluZyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3VjY2Vzcyh0aXRsZTogc3RyaW5nLCBkZXNjcmlwdGlvbj86IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5jcmVhdGVUb2FzdCh0aXRsZSwgZGVzY3JpcHRpb24sIFRvYXN0VHlwZS5TdWNjZXNzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkYW5nZXIodGl0bGU6IHN0cmluZywgZGVzY3JpcHRpb24/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuY3JlYXRlVG9hc3QodGl0bGUsIGRlc2NyaXB0aW9uLCBUb2FzdFR5cGUuRGFuZ2VyKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbmZvKHRpdGxlOiBzdHJpbmcsIGRlc2NyaXB0aW9uPzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmNyZWF0ZVRvYXN0KHRpdGxlLCBkZXNjcmlwdGlvbiwgVG9hc3RUeXBlLkluZm8pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyVmlld0NvbnRhaW5lclJlZih2Y1JlZjogVmlld0NvbnRhaW5lclJlZik6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3Q29udGFpbmVyID0gdmNSZWY7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJJbmplY3RvcihpbmplY3RvcjogSW5qZWN0b3IpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5qZWN0b3IgPSBpbmplY3RvcjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkZXN0cm95VG9hc3QoaWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub3ZlcmxheVJlZnM/LltpZF0uaGFzQXR0YWNoZWQoKSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLm92ZXJsYXlSZWZzPy5baWRdLmRldGFjaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVUb2FzdCh0aXRsZTogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nIHwgdW5kZWZpbmVkLCB0eXBlOiBUb2FzdFR5cGUpIHtcclxuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLmdldFBvc2l0aW9uU3RyYXRlZ3koKTtcclxuICAgIC8vIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoeyBwb3NpdGlvblN0cmF0ZWd5IH0pO1xyXG4gICAgdGhpcy5vdmVybGF5UmVmc1t0aGlzLmNvdW50ZXJdID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7IHBvc2l0aW9uU3RyYXRlZ3kgfSk7XHJcbiAgICB0aGlzLmRkVG9hc3REYXRhLnRpdGxlID0gdGl0bGU7XHJcbiAgICB0aGlzLmRkVG9hc3REYXRhLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XHJcbiAgICB0aGlzLmRkVG9hc3REYXRhLnR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5kZFRvYXN0RGF0YS5pZCA9IHRoaXMuY291bnRlcjtcclxuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogVE9BU1RfREFUQSxcclxuICAgICAgICAgIHVzZVZhbHVlOiB0aGlzLmRkVG9hc3REYXRhLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcclxuICAgIH0pO1xyXG4gICAgY29uc3QgY29tcG9uZW50ID0gbmV3IENvbXBvbmVudFBvcnRhbChUb2FzdEJhc2VDb21wb25lbnQsIHRoaXMudmlld0NvbnRhaW5lciwgaW5qZWN0b3IpO1xyXG4gICAgY29uc29sZS5sb2coY29tcG9uZW50KVxyXG4gICAgLy8gdGhpcy5vdmVybGF5UmVmLmF0dGFjaChjb21wb25lbnQpO1xyXG4gICAgdGhpcy5vdmVybGF5UmVmc1t0aGlzLmNvdW50ZXJdLmF0dGFjaChjb21wb25lbnQpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGZvciAoY29uc3QgaWQgaW4gdGhpcy5vdmVybGF5UmVmcykge1xyXG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWZzW2lkXT8uaGFzQXR0YWNoZWQoKSkge1xyXG4gICAgICAgICAgdGhpcy5vdmVybGF5UmVmc1tpZF0/LmRldGFjaCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gaWYgKHRoaXMub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKSA9PT0gdHJ1ZSkge1xyXG4gICAgICAvLyAgIHRoaXMub3ZlcmxheVJlZj8uZGV0YWNoKCk7XHJcbiAgICAgIC8vIH1cclxuICAgIH0sIHRoaXMuY29uZmlnLnRpbWVPdXQpO1xyXG4gICAgdGhpcy5jb3VudGVyKys7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBvc2l0aW9uU3RyYXRlZ3koKTogUG9zaXRpb25TdHJhdGVneSB7XHJcbiAgICBsZXQgZWxlbWVudDtcclxuICAgIGxldCBwb3NpdGlvbnM7XHJcbiAgICBjb25zdCBoYXZlVG9hc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjZGstb3ZlcmxheS1wYW5lJyk7XHJcbiAgICBpZiAoaGF2ZVRvYXN0Lmxlbmd0aCkge1xyXG4gICAgICBlbGVtZW50ID0gaGF2ZVRvYXN0W2hhdmVUb2FzdC5sZW5ndGggLSAxXTtcclxuICAgICAgcG9zaXRpb25zID0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgcGFuZWxDbGFzczogJ3RvYXN0LXRvcCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSBhcyBDb25uZWN0ZWRQb3NpdGlvbltdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF07XHJcbiAgICAgIHBvc2l0aW9ucyA9IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgcGFuZWxDbGFzczogJycsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSBhcyBDb25uZWN0ZWRQb3NpdGlvbltdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmZsZXhpYmxlQ29ubmVjdGVkVG8oZWxlbWVudCkud2l0aFBvc2l0aW9ucyhwb3NpdGlvbnMpO1xyXG4gIH1cclxufVxyXG4iXX0=
|