@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.
Files changed (227) hide show
  1. package/esm2022/lib/common/lib-common-button.mjs +62 -0
  2. package/esm2022/lib/common/lib-common-input-text.mjs +172 -0
  3. package/esm2022/lib/core/dialog/dialog-config.mjs +15 -0
  4. package/esm2022/lib/core/dialog/dialog-container.component.mjs +40 -0
  5. package/esm2022/lib/core/dialog/dialog-ref.mjs +19 -0
  6. package/esm2022/lib/core/dialog/dialog.service.mjs +106 -0
  7. package/esm2022/lib/core/directives/auto-height.directive.mjs +36 -0
  8. package/esm2022/lib/core/directives/click-outside.directive.mjs +42 -0
  9. package/esm2022/lib/core/directives/counter.directive.mjs +64 -0
  10. package/esm2022/lib/core/directives/declension.directive.mjs +40 -0
  11. package/esm2022/lib/core/directives/resize-textarea.directive.mjs +26 -0
  12. package/esm2022/lib/core/directives/triangle.directive.mjs +75 -0
  13. package/esm2022/lib/core/index.mjs +26 -0
  14. package/esm2022/lib/core/pipes/filter-tabs.pipe.mjs +31 -0
  15. package/esm2022/lib/core/pipes/filter.pipe.mjs +49 -0
  16. package/esm2022/lib/core/pipes/highlight.pipe.mjs +23 -0
  17. package/esm2022/lib/core/pipes/reverse.pipe.mjs +17 -0
  18. package/esm2022/lib/core/pipes/safe.pipe.mjs +34 -0
  19. package/esm2022/lib/core/services/date.service.mjs +113 -0
  20. package/esm2022/lib/core/services/destroy.service.mjs +15 -0
  21. package/esm2022/lib/core/services/fetcher.service.mjs +92 -0
  22. package/esm2022/lib/core/services/interceptors.service.mjs +27 -0
  23. package/esm2022/lib/core/services/svg-icons.service.mjs +26 -0
  24. package/esm2022/lib/core/services/theme-constructor.service.mjs +64 -0
  25. package/esm2022/lib/core/services/validators.service.mjs +73 -0
  26. package/esm2022/lib/core/tools.mjs +128 -0
  27. package/esm2022/lib/core/tooltip/tooltip.component.mjs +27 -0
  28. package/esm2022/lib/core/tooltip/tooltip.directive.mjs +137 -0
  29. package/esm2022/lib/lib-accordion/lib-accordion.component.mjs +15 -0
  30. package/esm2022/lib/lib-back-button/lib-back-button.component.mjs +37 -0
  31. package/esm2022/lib/lib-button/lib-button.component.mjs +30 -0
  32. package/esm2022/lib/lib-calendar/lib-calendar.component.mjs +222 -0
  33. package/esm2022/lib/lib-card/lib-card.component.mjs +34 -0
  34. package/esm2022/lib/lib-checkbox/lib-checkbox.component.mjs +66 -0
  35. package/esm2022/lib/lib-comment-input/lib-comment-input.component.mjs +20 -0
  36. package/esm2022/lib/lib-file-upload/lib-file-upload.component.mjs +34 -0
  37. package/esm2022/lib/lib-filter-button/lib-filter-button.component.mjs +42 -0
  38. package/esm2022/lib/lib-image-loader/lib-image-loader.component.mjs +14 -0
  39. package/esm2022/lib/lib-input/lib-input.component.mjs +55 -0
  40. package/esm2022/lib/lib-loader/lib-loader.component.mjs +16 -0
  41. package/esm2022/lib/lib-period/lib-period.component.mjs +114 -0
  42. package/esm2022/lib/lib-radio/lib-radio.component.mjs +76 -0
  43. package/esm2022/lib/lib-search-input/lib-search-input.component.mjs +91 -0
  44. package/esm2022/lib/lib-select/lib-select.component.mjs +137 -0
  45. package/esm2022/lib/lib-skeleton/lib-skeleton.component.mjs +45 -0
  46. package/esm2022/lib/lib-sort/lib-sort.component.mjs +44 -0
  47. package/esm2022/lib/lib-step/lib-step.component.mjs +19 -0
  48. package/esm2022/lib/lib-svg/lib-svg.component.mjs +75 -0
  49. package/esm2022/lib/lib-svg-icon/lib-svg-icon.component.mjs +55 -0
  50. package/esm2022/lib/lib-tabs-fragment/lib-tabs-fragment.component.mjs +79 -0
  51. package/esm2022/lib/lib-textarea/lib-textarea.component.mjs +50 -0
  52. package/esm2022/lib/toast/toast-base/toast-base.component.mjs +29 -0
  53. package/esm2022/lib/toast/toast-placeholder/toast-placeholder.component.mjs +29 -0
  54. package/esm2022/lib/toast/toast.service.mjs +124 -0
  55. package/esm2022/lib/utils/decorators.mjs +102 -0
  56. package/esm2022/morozeckiy-dd-lib.mjs +5 -0
  57. package/esm2022/public-api.mjs +35 -0
  58. package/fesm2022/morozeckiy-dd-lib.mjs +3004 -0
  59. package/fesm2022/morozeckiy-dd-lib.mjs.map +1 -0
  60. package/index.d.ts +5 -0
  61. package/lib/common/lib-common-button.d.ts +20 -0
  62. package/lib/common/lib-common-input-text.d.ts +53 -0
  63. package/lib/core/dialog/dialog-config.d.ts +14 -0
  64. package/lib/core/dialog/dialog-container.component.d.ts +18 -0
  65. package/lib/core/dialog/dialog-ref.d.ts +18 -0
  66. package/lib/core/dialog/dialog.service.d.ts +28 -0
  67. package/lib/core/directives/auto-height.directive.d.ts +11 -0
  68. package/lib/core/directives/click-outside.directive.d.ts +11 -0
  69. package/lib/core/directives/counter.directive.d.ts +11 -0
  70. package/lib/core/directives/declension.directive.d.ts +13 -0
  71. package/lib/core/directives/resize-textarea.directive.d.ts +10 -0
  72. package/lib/core/directives/triangle.directive.d.ts +16 -0
  73. package/lib/core/index.d.ts +20 -0
  74. package/lib/core/pipes/filter-tabs.pipe.d.ts +7 -0
  75. package/lib/core/pipes/filter.pipe.d.ts +12 -0
  76. package/lib/core/pipes/highlight.pipe.d.ts +7 -0
  77. package/lib/core/pipes/reverse.pipe.d.ts +7 -0
  78. package/lib/core/pipes/safe.pipe.d.ts +10 -0
  79. package/lib/core/services/date.service.d.ts +41 -0
  80. package/lib/core/services/destroy.service.d.ts +8 -0
  81. package/lib/core/services/fetcher.service.d.ts +29 -0
  82. package/lib/core/services/interceptors.service.d.ts +12 -0
  83. package/lib/core/services/svg-icons.service.d.ts +9 -0
  84. package/lib/core/services/theme-constructor.service.d.ts +27 -0
  85. package/lib/core/services/validators.service.d.ts +18 -0
  86. package/lib/core/tools.d.ts +16 -0
  87. package/lib/core/tooltip/tooltip.component.d.ts +12 -0
  88. package/lib/core/tooltip/tooltip.directive.d.ts +22 -0
  89. package/lib/lib-accordion/lib-accordion.component.d.ts +8 -0
  90. package/lib/lib-back-button/lib-back-button.component.d.ts +13 -0
  91. package/lib/lib-button/lib-button.component.d.ts +10 -0
  92. package/lib/lib-calendar/lib-calendar.component.d.ts +76 -0
  93. package/lib/lib-card/lib-card.component.d.ts +16 -0
  94. package/lib/lib-checkbox/lib-checkbox.component.d.ts +23 -0
  95. package/lib/lib-comment-input/lib-comment-input.component.d.ts +8 -0
  96. package/lib/lib-file-upload/lib-file-upload.component.d.ts +12 -0
  97. package/lib/lib-filter-button/lib-filter-button.component.d.ts +13 -0
  98. package/lib/lib-image-loader/lib-image-loader.component.d.ts +6 -0
  99. package/lib/lib-input/lib-input.component.d.ts +13 -0
  100. package/lib/lib-loader/lib-loader.component.d.ts +6 -0
  101. package/lib/lib-period/lib-period.component.d.ts +41 -0
  102. package/lib/lib-radio/lib-radio.component.d.ts +25 -0
  103. package/lib/lib-search-input/lib-search-input.component.d.ts +29 -0
  104. package/lib/lib-select/lib-select.component.d.ts +30 -0
  105. package/lib/lib-skeleton/lib-skeleton.component.d.ts +16 -0
  106. package/lib/lib-sort/lib-sort.component.d.ts +18 -0
  107. package/lib/lib-step/lib-step.component.d.ts +7 -0
  108. package/{src/lib/lib-svg/lib-svg.component.ts → lib/lib-svg/lib-svg.component.d.ts} +38 -66
  109. package/lib/lib-svg-icon/lib-svg-icon.component.d.ts +18 -0
  110. package/lib/lib-tabs-fragment/lib-tabs-fragment.component.d.ts +29 -0
  111. package/lib/lib-textarea/lib-textarea.component.d.ts +13 -0
  112. package/lib/toast/toast-base/toast-base.component.d.ts +21 -0
  113. package/lib/toast/toast-placeholder/toast-placeholder.component.d.ts +12 -0
  114. package/lib/toast/toast.service.d.ts +35 -0
  115. package/lib/utils/decorators.d.ts +4 -0
  116. package/package.json +16 -3
  117. package/public-api.d.ts +30 -0
  118. package/ekgip-dd-lib-0.0.1.tgz +0 -0
  119. package/ng-package.json +0 -8
  120. package/src/lib/common/lib-common-button.ts +0 -34
  121. package/src/lib/common/lib-common-input-text.ts +0 -154
  122. package/src/lib/core/dialog/dialog-config.ts +0 -19
  123. package/src/lib/core/dialog/dialog-container.component.ts +0 -38
  124. package/src/lib/core/dialog/dialog-ref.ts +0 -28
  125. package/src/lib/core/dialog/dialog.service.ts +0 -144
  126. package/src/lib/core/directives/auto-height.directive.ts +0 -29
  127. package/src/lib/core/directives/click-outside.directive.ts +0 -33
  128. package/src/lib/core/directives/counter.directive.ts +0 -54
  129. package/src/lib/core/directives/declension.directive.ts +0 -29
  130. package/src/lib/core/directives/resize-textarea.directive.ts +0 -16
  131. package/src/lib/core/directives/triangle.directive.ts +0 -56
  132. package/src/lib/core/index.ts +0 -27
  133. package/src/lib/core/pipes/filter-tabs.pipe.ts +0 -25
  134. package/src/lib/core/pipes/filter.pipe.ts +0 -36
  135. package/src/lib/core/pipes/highlight.pipe.ts +0 -17
  136. package/src/lib/core/pipes/reverse.pipe.ts +0 -11
  137. package/src/lib/core/pipes/safe.pipe.ts +0 -37
  138. package/src/lib/core/services/date.service.ts +0 -153
  139. package/src/lib/core/services/destroy.service.ts +0 -10
  140. package/src/lib/core/services/fetcher.service.ts +0 -109
  141. package/src/lib/core/services/interceptors.service.ts +0 -26
  142. package/src/lib/core/services/svg-icons.service.ts +0 -25
  143. package/src/lib/core/services/theme-constructor.service.ts +0 -68
  144. package/src/lib/core/services/validators.service.ts +0 -73
  145. package/src/lib/core/tools.ts +0 -159
  146. package/src/lib/core/tooltip/tooltip.component.html +0 -10
  147. package/src/lib/core/tooltip/tooltip.component.scss +0 -59
  148. package/src/lib/core/tooltip/tooltip.component.ts +0 -27
  149. package/src/lib/core/tooltip/tooltip.directive.ts +0 -137
  150. package/src/lib/core/utils.ts +0 -28
  151. package/src/lib/lib-accordion/lib-accordion.component.html +0 -15
  152. package/src/lib/lib-accordion/lib-accordion.component.scss +0 -23
  153. package/src/lib/lib-accordion/lib-accordion.component.ts +0 -17
  154. package/src/lib/lib-back-button/lib-back-button.component.html +0 -4
  155. package/src/lib/lib-back-button/lib-back-button.component.scss +0 -3
  156. package/src/lib/lib-back-button/lib-back-button.component.ts +0 -31
  157. package/src/lib/lib-button/lib-button.component.html +0 -30
  158. package/src/lib/lib-button/lib-button.component.scss +0 -89
  159. package/src/lib/lib-button/lib-button.component.ts +0 -33
  160. package/src/lib/lib-calendar/lib-calendar.component.html +0 -64
  161. package/src/lib/lib-calendar/lib-calendar.component.scss +0 -88
  162. package/src/lib/lib-calendar/lib-calendar.component.ts +0 -227
  163. package/src/lib/lib-card/lib-card.component.html +0 -23
  164. package/src/lib/lib-card/lib-card.component.scss +0 -64
  165. package/src/lib/lib-card/lib-card.component.ts +0 -32
  166. package/src/lib/lib-checkbox/lib-checkbox.component.html +0 -15
  167. package/src/lib/lib-checkbox/lib-checkbox.component.scss +0 -80
  168. package/src/lib/lib-checkbox/lib-checkbox.component.ts +0 -67
  169. package/src/lib/lib-comment-input/lib-comment-input.component.html +0 -32
  170. package/src/lib/lib-comment-input/lib-comment-input.component.scss +0 -28
  171. package/src/lib/lib-comment-input/lib-comment-input.component.ts +0 -20
  172. package/src/lib/lib-file-upload/lib-file-upload.component.html +0 -14
  173. package/src/lib/lib-file-upload/lib-file-upload.component.scss +0 -3
  174. package/src/lib/lib-file-upload/lib-file-upload.component.ts +0 -26
  175. package/src/lib/lib-filter-button/lib-filter-button.component.html +0 -46
  176. package/src/lib/lib-filter-button/lib-filter-button.component.scss +0 -62
  177. package/src/lib/lib-filter-button/lib-filter-button.component.ts +0 -45
  178. package/src/lib/lib-image-loader/lib-image-loader.component.html +0 -17
  179. package/src/lib/lib-image-loader/lib-image-loader.component.scss +0 -6
  180. package/src/lib/lib-image-loader/lib-image-loader.component.ts +0 -16
  181. package/src/lib/lib-input/lib-input.component.html +0 -32
  182. package/src/lib/lib-input/lib-input.component.scss +0 -72
  183. package/src/lib/lib-input/lib-input.component.ts +0 -62
  184. package/src/lib/lib-loader/lib-loader.component.html +0 -29
  185. package/src/lib/lib-loader/lib-loader.component.scss +0 -26
  186. package/src/lib/lib-loader/lib-loader.component.ts +0 -13
  187. package/src/lib/lib-period/lib-period.component.html +0 -41
  188. package/src/lib/lib-period/lib-period.component.scss +0 -77
  189. package/src/lib/lib-period/lib-period.component.ts +0 -131
  190. package/src/lib/lib-radio/lib-radio.component.html +0 -22
  191. package/src/lib/lib-radio/lib-radio.component.scss +0 -113
  192. package/src/lib/lib-radio/lib-radio.component.ts +0 -78
  193. package/src/lib/lib-search-input/lib-search-input.component.html +0 -48
  194. package/src/lib/lib-search-input/lib-search-input.component.scss +0 -86
  195. package/src/lib/lib-search-input/lib-search-input.component.ts +0 -94
  196. package/src/lib/lib-select/lib-select.component.html +0 -83
  197. package/src/lib/lib-select/lib-select.component.scss +0 -130
  198. package/src/lib/lib-select/lib-select.component.ts +0 -152
  199. package/src/lib/lib-skeleton/lib-skeleton.component.html +0 -11
  200. package/src/lib/lib-skeleton/lib-skeleton.component.scss +0 -36
  201. package/src/lib/lib-skeleton/lib-skeleton.component.ts +0 -41
  202. package/src/lib/lib-sort/lib-sort.component.html +0 -21
  203. package/src/lib/lib-sort/lib-sort.component.scss +0 -21
  204. package/src/lib/lib-sort/lib-sort.component.ts +0 -52
  205. package/src/lib/lib-step/lib-step.component.html +0 -4
  206. package/src/lib/lib-step/lib-step.component.scss +0 -23
  207. package/src/lib/lib-step/lib-step.component.ts +0 -14
  208. package/src/lib/lib-svg/lib-svg.component.html +0 -15
  209. package/src/lib/lib-svg/lib-svg.component.scss +0 -81
  210. package/src/lib/lib-svg-icon/lib-svg-icon.component.css +0 -0
  211. package/src/lib/lib-svg-icon/lib-svg-icon.component.ts +0 -58
  212. package/src/lib/lib-tabs-fragment/lib-tabs-fragment.component.html +0 -12
  213. package/src/lib/lib-tabs-fragment/lib-tabs-fragment.component.scss +0 -19
  214. package/src/lib/lib-tabs-fragment/lib-tabs-fragment.component.ts +0 -88
  215. package/src/lib/lib-textarea/lib-textarea.component.html +0 -37
  216. package/src/lib/lib-textarea/lib-textarea.component.scss +0 -77
  217. package/src/lib/lib-textarea/lib-textarea.component.ts +0 -49
  218. package/src/lib/toast/toast-base/toast-base.component.html +0 -7
  219. package/src/lib/toast/toast-base/toast-base.component.scss +0 -44
  220. package/src/lib/toast/toast-base/toast-base.component.ts +0 -38
  221. package/src/lib/toast/toast-placeholder/toast-placeholder.component.ts +0 -20
  222. package/src/lib/toast/toast.service.ts +0 -130
  223. package/src/lib/utils/decorators.ts +0 -124
  224. package/src/public-api.ts +0 -35
  225. package/tsconfig.lib.json +0 -14
  226. package/tsconfig.lib.prod.json +0 -10
  227. 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=