@morozeckiy/dd-lib 0.1.1 → 0.1.3

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/{ekgip-dd-lib-0.0.1.tgz → morozeckiy-dd-lib-0.1.3.tgz} +0 -0
  117. package/package.json +16 -3
  118. package/public-api.d.ts +30 -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,64 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { DecimalPipe } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ export class CounterDirective {
5
+ constructor(el) {
6
+ this.el = el;
7
+ this.needPositive = false;
8
+ }
9
+ ngOnChanges(change) {
10
+ this.el.nativeElement.innerHTML = 0;
11
+ let interval;
12
+ if (change['ddCounter']?.currentValue) {
13
+ /** получаем шаг для инкремента делением конечного числа на 20*/
14
+ let step = Math.floor(change['ddCounter'].currentValue / 20);
15
+ /** бывают маленькие и отрицательные числа*/
16
+ step = step >= 1 || step <= -1 ? step : 1;
17
+ let x = 0;
18
+ if (change['ddCounter'].currentValue > 0) {
19
+ interval = setInterval(() => {
20
+ if (x + step >= change['ddCounter'].currentValue) {
21
+ /** Если шаг увеличивает значение больше чем исходные число, приравниваем к исходнику и заканчиваем*/
22
+ const transformNumberFirst = new DecimalPipe('ru').transform(change['ddCounter'].currentValue);
23
+ this.el.nativeElement.innerHTML = this.needPositive
24
+ ? '+' + transformNumberFirst
25
+ : transformNumberFirst;
26
+ clearInterval(interval);
27
+ return;
28
+ }
29
+ x += step;
30
+ const transformNumber = new DecimalPipe('ru').transform(x);
31
+ this.el.nativeElement.innerHTML = this.needPositive ? '+' + transformNumber : transformNumber;
32
+ }, 1);
33
+ }
34
+ else if (change['ddCounter'].currentValue < 0) {
35
+ interval = setInterval(() => {
36
+ if (x - step <= change['ddCounter'].currentValue) {
37
+ this.el.nativeElement.innerHTML = new DecimalPipe('ru').transform(change['ddCounter'].currentValue);
38
+ clearInterval(interval);
39
+ return;
40
+ }
41
+ x += step;
42
+ this.el.nativeElement.innerHTML = new DecimalPipe('ru').transform(x);
43
+ }, 10);
44
+ }
45
+ }
46
+ setTimeout(() => {
47
+ clearInterval(interval);
48
+ }, 4000);
49
+ }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CounterDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
51
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: CounterDirective, isStandalone: true, selector: "[ddCounter]", inputs: { ddCounter: "ddCounter", needPositive: "needPositive" }, usesOnChanges: true, ngImport: i0 }); }
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CounterDirective, decorators: [{
54
+ type: Directive,
55
+ args: [{
56
+ selector: '[ddCounter]',
57
+ standalone: true,
58
+ }]
59
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { ddCounter: [{
60
+ type: Input
61
+ }], needPositive: [{
62
+ type: Input
63
+ }] } });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9jb3JlL2RpcmVjdGl2ZXMvY291bnRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFNOUMsTUFBTSxPQUFPLGdCQUFnQjtJQUkzQixZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUZsQixpQkFBWSxHQUFHLEtBQUssQ0FBQztJQUVBLENBQUM7SUFFL0IsV0FBVyxDQUFDLE1BQXFCO1FBQ3RDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDcEMsSUFBSSxRQUFhLENBQUM7UUFDbEIsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUM7WUFDdEMsZ0VBQWdFO1lBQ2hFLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUMsQ0FBQztZQUM3RCw0Q0FBNEM7WUFDNUMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDVixJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pDLFFBQVEsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO29CQUMxQixJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO3dCQUNqRCxxR0FBcUc7d0JBQ3JHLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQzt3QkFDL0YsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZOzRCQUNqRCxDQUFDLENBQUMsR0FBRyxHQUFHLG9CQUFvQjs0QkFDNUIsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO3dCQUN6QixhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQ3hCLE9BQU87b0JBQ1QsQ0FBQztvQkFDRCxDQUFDLElBQUksSUFBSSxDQUFDO29CQUNWLE1BQU0sZUFBZSxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDM0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztnQkFDaEcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ1IsQ0FBQztpQkFBTSxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hELFFBQVEsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO29CQUMxQixJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO3dCQUNqRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQzt3QkFDcEcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUN4QixPQUFPO29CQUNULENBQUM7b0JBQ0QsQ0FBQyxJQUFJLElBQUksQ0FBQztvQkFDVixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2RSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDVCxDQUFDO1FBQ0gsQ0FBQztRQUNELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQzsrR0E3Q1UsZ0JBQWdCO21HQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjsrRUFFaUIsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2RkQ291bnRlcl0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3VudGVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBwdWJsaWMgZGRDb3VudGVyOiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIG5lZWRQb3NpdGl2ZSA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7fVxyXG5cclxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gMDtcclxuICAgIGxldCBpbnRlcnZhbDogYW55O1xyXG4gICAgaWYgKGNoYW5nZVsnZGRDb3VudGVyJ10/LmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICAvKiog0L/QvtC70YPRh9Cw0LXQvCDRiNCw0LMg0LTQu9GPINC40L3QutGA0LXQvNC10L3RgtCwINC00LXQu9C10L3QuNC10Lwg0LrQvtC90LXRh9C90L7Qs9C+INGH0LjRgdC70LAg0L3QsCAyMCovXHJcbiAgICAgIGxldCBzdGVwID0gTWF0aC5mbG9vcihjaGFuZ2VbJ2RkQ291bnRlciddLmN1cnJlbnRWYWx1ZSAvIDIwKTtcclxuICAgICAgLyoqINCx0YvQstCw0Y7RgiDQvNCw0LvQtdC90YzQutC40LUg0Lgg0L7RgtGA0LjRhtCw0YLQtdC70YzQvdGL0LUg0YfQuNGB0LvQsCovXHJcbiAgICAgIHN0ZXAgPSBzdGVwID49IDEgfHwgc3RlcCA8PSAtMSA/IHN0ZXAgOiAxO1xyXG4gICAgICBsZXQgeCA9IDA7XHJcbiAgICAgIGlmIChjaGFuZ2VbJ2RkQ291bnRlciddLmN1cnJlbnRWYWx1ZSA+IDApIHtcclxuICAgICAgICBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgICAgIGlmICh4ICsgc3RlcCA+PSBjaGFuZ2VbJ2RkQ291bnRlciddLmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICAgICAgICAvKiog0JXRgdC70Lgg0YjQsNCzINGD0LLQtdC70LjRh9C40LLQsNC10YIg0LfQvdCw0YfQtdC90LjQtSDQsdC+0LvRjNGI0LUg0YfQtdC8INC40YHRhdC+0LTQvdGL0LUg0YfQuNGB0LvQviwg0L/RgNC40YDQsNCy0L3QuNCy0LDQtdC8INC6INC40YHRhdC+0LTQvdC40LrRgyDQuCDQt9Cw0LrQsNC90YfQuNCy0LDQtdC8Ki9cclxuICAgICAgICAgICAgY29uc3QgdHJhbnNmb3JtTnVtYmVyRmlyc3QgPSBuZXcgRGVjaW1hbFBpcGUoJ3J1JykudHJhbnNmb3JtKGNoYW5nZVsnZGRDb3VudGVyJ10uY3VycmVudFZhbHVlKTtcclxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IHRoaXMubmVlZFBvc2l0aXZlXHJcbiAgICAgICAgICAgICAgPyAnKycgKyB0cmFuc2Zvcm1OdW1iZXJGaXJzdFxyXG4gICAgICAgICAgICAgIDogdHJhbnNmb3JtTnVtYmVyRmlyc3Q7XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB4ICs9IHN0ZXA7XHJcbiAgICAgICAgICBjb25zdCB0cmFuc2Zvcm1OdW1iZXIgPSBuZXcgRGVjaW1hbFBpcGUoJ3J1JykudHJhbnNmb3JtKHgpO1xyXG4gICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IHRoaXMubmVlZFBvc2l0aXZlID8gJysnICsgdHJhbnNmb3JtTnVtYmVyIDogdHJhbnNmb3JtTnVtYmVyO1xyXG4gICAgICAgIH0sIDEpO1xyXG4gICAgICB9IGVsc2UgaWYgKGNoYW5nZVsnZGRDb3VudGVyJ10uY3VycmVudFZhbHVlIDwgMCkge1xyXG4gICAgICAgIGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKHggLSBzdGVwIDw9IGNoYW5nZVsnZGRDb3VudGVyJ10uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSBuZXcgRGVjaW1hbFBpcGUoJ3J1JykudHJhbnNmb3JtKGNoYW5nZVsnZGRDb3VudGVyJ10uY3VycmVudFZhbHVlKTtcclxuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHggKz0gc3RlcDtcclxuICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSBuZXcgRGVjaW1hbFBpcGUoJ3J1JykudHJhbnNmb3JtKHgpO1xyXG4gICAgICAgIH0sIDEwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xyXG4gICAgfSwgNDAwMCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,40 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DeclensionDirective {
4
+ constructor(el) {
5
+ this.el = el;
6
+ this.count = 0;
7
+ this.whitespace = true;
8
+ this.needCount = true;
9
+ }
10
+ ngOnInit() {
11
+ const declension = { 1: this.ddDeclension[0], 2: this.ddDeclension[1], 5: this.ddDeclension[2] };
12
+ let x = this.count >= 10 && this.count <= 20 ? 5 : this.count % 10;
13
+ if (this.count > 999) {
14
+ x = this.count % 100;
15
+ }
16
+ const keys = Object.keys(declension).map(Number).sort();
17
+ const text = !x
18
+ ? `${declension[keys.pop() || 1]}`
19
+ : keys.reduce((result, key) => (x >= +key ? declension[key] : result), '');
20
+ this.el.nativeElement.innerHTML = `${this.whitespace ? '&nbsp;' : ''}${this.needCount ? this.count : ''} ${text}`;
21
+ }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DeclensionDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: DeclensionDirective, isStandalone: true, selector: "[ddDeclension]", inputs: { ddDeclension: "ddDeclension", count: "count", whitespace: "whitespace", needCount: "needCount" }, ngImport: i0 }); }
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DeclensionDirective, decorators: [{
26
+ type: Directive,
27
+ args: [{
28
+ selector: '[ddDeclension]',
29
+ standalone: true,
30
+ }]
31
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { ddDeclension: [{
32
+ type: Input
33
+ }], count: [{
34
+ type: Input
35
+ }], whitespace: [{
36
+ type: Input
37
+ }], needCount: [{
38
+ type: Input
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjbGVuc2lvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9jb3JlL2RpcmVjdGl2ZXMvZGVjbGVuc2lvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBTXJFLE1BQU0sT0FBTyxtQkFBbUI7SUFNOUIsWUFBb0IsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7UUFKbEIsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNWLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsY0FBUyxHQUFHLElBQUksQ0FBQztJQUVJLENBQUM7SUFFL0IsUUFBUTtRQUNiLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNqRyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNuRSxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDckIsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxNQUFNLElBQUksR0FBZSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsRixNQUFNLElBQUksR0FBRyxDQUFDLENBQUM7WUFDYixDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ2xDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQ2xFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQ2hDLElBQUksSUFBSSxFQUFFLENBQUM7SUFDYixDQUFDOytHQXJCVSxtQkFBbUI7bUdBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7K0VBRWlCLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2RkRGVjbGVuc2lvbl0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZWNsZW5zaW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBwdWJsaWMgZGREZWNsZW5zaW9uITogc3RyaW5nW107XHJcbiAgQElucHV0KCkgcHVibGljIGNvdW50ID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgd2hpdGVzcGFjZSA9IHRydWU7XHJcbiAgQElucHV0KCkgcHVibGljIG5lZWRDb3VudCA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRlY2xlbnNpb24gPSB7IDE6IHRoaXMuZGREZWNsZW5zaW9uWzBdLCAyOiB0aGlzLmRkRGVjbGVuc2lvblsxXSwgNTogdGhpcy5kZERlY2xlbnNpb25bMl0gfTtcclxuICAgIGxldCB4ID0gdGhpcy5jb3VudCA+PSAxMCAmJiB0aGlzLmNvdW50IDw9IDIwID8gNSA6IHRoaXMuY291bnQgJSAxMDtcclxuICAgIGlmICh0aGlzLmNvdW50ID4gOTk5KSB7XHJcbiAgICAgIHggPSB0aGlzLmNvdW50ICUgMTAwO1xyXG4gICAgfVxyXG4gICAgY29uc3Qga2V5czogWzEsIDIsIDVdID0gKE9iamVjdC5rZXlzKGRlY2xlbnNpb24pLm1hcChOdW1iZXIpIGFzIFsxLCAyLCA1XSkuc29ydCgpO1xyXG4gICAgY29uc3QgdGV4dCA9ICF4XHJcbiAgICAgID8gYCR7ZGVjbGVuc2lvbltrZXlzLnBvcCgpIHx8IDFdfWBcclxuICAgICAgOiBrZXlzLnJlZHVjZSgocmVzdWx0LCBrZXkpID0+ICh4ID49ICtrZXkgPyBkZWNsZW5zaW9uW2tleV0gOiByZXN1bHQpLCAnJyk7XHJcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gYCR7dGhpcy53aGl0ZXNwYWNlID8gJyZuYnNwOycgOiAnJ30ke1xyXG4gICAgICB0aGlzLm5lZWRDb3VudCA/IHRoaXMuY291bnQgOiAnJ1xyXG4gICAgfSAke3RleHR9YDtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,26 @@
1
+ import { Directive, HostListener } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ResizeTextareaDirective {
4
+ constructor(el, rdr) {
5
+ this.el = el;
6
+ this.rdr = rdr;
7
+ }
8
+ onKeyup() {
9
+ const h = this.el.nativeElement.scrollHeight;
10
+ this.rdr.setStyle(this.el.nativeElement, 'max-height', h + 'px');
11
+ this.rdr.setStyle(this.el.nativeElement, 'height', h + 'px');
12
+ }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ResizeTextareaDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
14
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ResizeTextareaDirective, isStandalone: true, selector: "[ddResizeTextarea]", host: { listeners: { "input": "onKeyup($event)" } }, ngImport: i0 }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ResizeTextareaDirective, decorators: [{
17
+ type: Directive,
18
+ args: [{
19
+ selector: '[ddResizeTextarea]',
20
+ standalone: true,
21
+ }]
22
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { onKeyup: [{
23
+ type: HostListener,
24
+ args: ['input', ['$event']]
25
+ }] } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLXRleHRhcmVhLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2NvcmUvZGlyZWN0aXZlcy9yZXNpemUtdGV4dGFyZWEuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFhLE1BQU0sZUFBZSxDQUFDOztBQU0vRSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQW9CLEVBQWMsRUFBVSxHQUFjO1FBQXRDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFXO0lBQUcsQ0FBQztJQUd2RCxPQUFPO1FBQ1osTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDOytHQVJVLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjt1R0FLUSxPQUFPO3NCQURiLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGRSZXNpemVUZXh0YXJlYV0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBSZXNpemVUZXh0YXJlYURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmRyOiBSZW5kZXJlcjIpIHt9XG5cbiAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25LZXl1cCgpOiB2b2lkIHtcbiAgICBjb25zdCBoID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodDtcbiAgICB0aGlzLnJkci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdtYXgtaGVpZ2h0JywgaCArICdweCcpO1xuICAgIHRoaXMucmRyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGggKyAncHgnKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,75 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TriangleDirective {
4
+ constructor(rdr, el) {
5
+ this.rdr = rdr;
6
+ this.el = el;
7
+ this.width = 16;
8
+ this.height = 16;
9
+ this.fill = '#fff';
10
+ this.stroke = '#fff';
11
+ this.points = '0,8 4,0 8,8';
12
+ this.drTriangle = 'left';
13
+ }
14
+ ngOnInit() {
15
+ setTimeout(() => {
16
+ const option = this.el.nativeElement.getBoundingClientRect();
17
+ let left = option.width / 2 - this.width / 2;
18
+ let top = -this.height / 2;
19
+ if (this.drTriangle === 'left') {
20
+ this.points = '8,0 0,8 8,16';
21
+ left = -this.width / 2;
22
+ top = option.height / 2 - this.width / 2;
23
+ }
24
+ if (this.drTriangle === 'right') {
25
+ this.points = '8,0 16,8 8,16';
26
+ left = option.width - this.width / 2 - 2;
27
+ top = option.height / 2 - this.width;
28
+ }
29
+ if (this.drTriangle === 'bottom') {
30
+ this.points = '16,8 8,16 0,8';
31
+ top = option.height - this.height / 2 - 2;
32
+ }
33
+ if (this.drTriangle === 'top-left') {
34
+ left = 46 - this.width / 2;
35
+ }
36
+ const svg = this.rdr.createElement('svg', 'svg');
37
+ this.rdr.setAttribute(svg, 'width', `${this.width}`);
38
+ this.rdr.setAttribute(svg, 'height', `${this.height}`);
39
+ this.rdr.setStyle(svg, 'width', `${this.width}px`);
40
+ this.rdr.setStyle(svg, 'height', `${this.height}px`);
41
+ this.rdr.setStyle(svg, 'position', 'absolute');
42
+ this.rdr.setStyle(svg, 'fill', this.fill);
43
+ this.rdr.setStyle(svg, 'stroke', this.stroke);
44
+ this.rdr.setStyle(svg, 'top', `${top}px`);
45
+ this.rdr.setStyle(svg, 'left', `${left}px`);
46
+ this.rdr.setStyle(svg, 'box-shadow', `0 14px 64px -4px #18274B0F, 0px 8px 22px -6px #18274B0F`);
47
+ const polyline = this.rdr.createElement('polyline', 'svg');
48
+ this.rdr.setAttribute(polyline, 'points', this.points);
49
+ this.rdr.appendChild(svg, polyline);
50
+ this.rdr.appendChild(this.el.nativeElement, svg);
51
+ });
52
+ }
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TriangleDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
54
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: TriangleDirective, isStandalone: true, selector: "[ddTriangle]", inputs: { width: "width", height: "height", fill: "fill", stroke: "stroke", points: "points", drTriangle: "drTriangle" }, ngImport: i0 }); }
55
+ }
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TriangleDirective, decorators: [{
57
+ type: Directive,
58
+ args: [{
59
+ standalone: true,
60
+ selector: '[ddTriangle]',
61
+ }]
62
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { width: [{
63
+ type: Input
64
+ }], height: [{
65
+ type: Input
66
+ }], fill: [{
67
+ type: Input
68
+ }], stroke: [{
69
+ type: Input
70
+ }], points: [{
71
+ type: Input
72
+ }], drTriangle: [{
73
+ type: Input
74
+ }] } });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpYW5nbGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvY29yZS9kaXJlY3RpdmVzL3RyaWFuZ2xlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7O0FBTWhGLE1BQU0sT0FBTyxpQkFBaUI7SUFRNUIsWUFBb0IsR0FBYyxFQUFVLEVBQWM7UUFBdEMsUUFBRyxHQUFILEdBQUcsQ0FBVztRQUFVLE9BQUUsR0FBRixFQUFFLENBQVk7UUFQMUMsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWixTQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ2QsV0FBTSxHQUFHLE1BQU0sQ0FBQztRQUNoQixXQUFNLEdBQUcsYUFBYSxDQUFDO1FBQ3ZCLGVBQVUsR0FBcUQsTUFBTSxDQUFDO0lBRXpCLENBQUM7SUFFdkQsUUFBUTtRQUNiLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzdELElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQzdDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDM0IsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLE1BQU0sRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQztnQkFDN0IsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBQ3ZCLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUMzQyxDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQztnQkFDOUIsSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN6QyxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN2QyxDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQztnQkFDOUIsR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQ25DLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDN0IsQ0FBQztZQUNELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsWUFBWSxFQUFFLDBEQUEwRCxDQUFDLENBQUM7WUFDakcsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBaERVLGlCQUFpQjttR0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsY0FBYztpQkFDekI7dUdBRWlCLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgc2VsZWN0b3I6ICdbZGRUcmlhbmdsZV0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJpYW5nbGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB3aWR0aCA9IDE2O1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBoZWlnaHQgPSAxNjtcclxuICBASW5wdXQoKSBwdWJsaWMgZmlsbCA9ICcjZmZmJztcclxuICBASW5wdXQoKSBwdWJsaWMgc3Ryb2tlID0gJyNmZmYnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBwb2ludHMgPSAnMCw4IDQsMCA4LDgnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkclRyaWFuZ2xlOiAndG9wJyB8ICdsZWZ0JyB8ICdyaWdodCcgfCAnYm90dG9tJyB8ICd0b3AtbGVmdCcgPSAnbGVmdCc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmRyOiBSZW5kZXJlcjIsIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBvcHRpb24gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgIGxldCBsZWZ0ID0gb3B0aW9uLndpZHRoIC8gMiAtIHRoaXMud2lkdGggLyAyO1xyXG4gICAgICBsZXQgdG9wID0gLXRoaXMuaGVpZ2h0IC8gMjtcclxuICAgICAgaWYgKHRoaXMuZHJUcmlhbmdsZSA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgdGhpcy5wb2ludHMgPSAnOCwwIDAsOCA4LDE2JztcclxuICAgICAgICBsZWZ0ID0gLXRoaXMud2lkdGggLyAyO1xyXG4gICAgICAgIHRvcCA9IG9wdGlvbi5oZWlnaHQgLyAyIC0gdGhpcy53aWR0aCAvIDI7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZHJUcmlhbmdsZSA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgIHRoaXMucG9pbnRzID0gJzgsMCAxNiw4IDgsMTYnO1xyXG4gICAgICAgIGxlZnQgPSBvcHRpb24ud2lkdGggLSB0aGlzLndpZHRoIC8gMiAtIDI7XHJcbiAgICAgICAgdG9wID0gb3B0aW9uLmhlaWdodCAvIDIgLSB0aGlzLndpZHRoO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmRyVHJpYW5nbGUgPT09ICdib3R0b20nKSB7XHJcbiAgICAgICAgdGhpcy5wb2ludHMgPSAnMTYsOCA4LDE2IDAsOCc7XHJcbiAgICAgICAgdG9wID0gb3B0aW9uLmhlaWdodCAtIHRoaXMuaGVpZ2h0IC8gMiAtIDI7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZHJUcmlhbmdsZSA9PT0gJ3RvcC1sZWZ0Jykge1xyXG4gICAgICAgIGxlZnQgPSA0NiAtIHRoaXMud2lkdGggLyAyO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHN2ZyA9IHRoaXMucmRyLmNyZWF0ZUVsZW1lbnQoJ3N2ZycsICdzdmcnKTtcclxuICAgICAgdGhpcy5yZHIuc2V0QXR0cmlidXRlKHN2ZywgJ3dpZHRoJywgYCR7dGhpcy53aWR0aH1gKTtcclxuICAgICAgdGhpcy5yZHIuc2V0QXR0cmlidXRlKHN2ZywgJ2hlaWdodCcsIGAke3RoaXMuaGVpZ2h0fWApO1xyXG4gICAgICB0aGlzLnJkci5zZXRTdHlsZShzdmcsICd3aWR0aCcsIGAke3RoaXMud2lkdGh9cHhgKTtcclxuICAgICAgdGhpcy5yZHIuc2V0U3R5bGUoc3ZnLCAnaGVpZ2h0JywgYCR7dGhpcy5oZWlnaHR9cHhgKTtcclxuICAgICAgdGhpcy5yZHIuc2V0U3R5bGUoc3ZnLCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcclxuICAgICAgdGhpcy5yZHIuc2V0U3R5bGUoc3ZnLCAnZmlsbCcsIHRoaXMuZmlsbCk7XHJcbiAgICAgIHRoaXMucmRyLnNldFN0eWxlKHN2ZywgJ3N0cm9rZScsIHRoaXMuc3Ryb2tlKTtcclxuICAgICAgdGhpcy5yZHIuc2V0U3R5bGUoc3ZnLCAndG9wJywgYCR7dG9wfXB4YCk7XHJcbiAgICAgIHRoaXMucmRyLnNldFN0eWxlKHN2ZywgJ2xlZnQnLCBgJHtsZWZ0fXB4YCk7XHJcbiAgICAgIHRoaXMucmRyLnNldFN0eWxlKHN2ZywgJ2JveC1zaGFkb3cnLCBgMCAxNHB4IDY0cHggLTRweCAjMTgyNzRCMEYsICAwcHggOHB4IDIycHggLTZweCAjMTgyNzRCMEZgKTtcclxuICAgICAgY29uc3QgcG9seWxpbmUgPSB0aGlzLnJkci5jcmVhdGVFbGVtZW50KCdwb2x5bGluZScsICdzdmcnKTtcclxuICAgICAgdGhpcy5yZHIuc2V0QXR0cmlidXRlKHBvbHlsaW5lLCAncG9pbnRzJywgdGhpcy5wb2ludHMpO1xyXG4gICAgICB0aGlzLnJkci5hcHBlbmRDaGlsZChzdmcsIHBvbHlsaW5lKTtcclxuICAgICAgdGhpcy5yZHIuYXBwZW5kQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LCBzdmcpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,26 @@
1
+ // services
2
+ export * from './services/theme-constructor.service';
3
+ export * from './services/date.service';
4
+ export * from './services/svg-icons.service';
5
+ export * from './services/destroy.service';
6
+ export * from './services/interceptors.service';
7
+ export * from './services/validators.service';
8
+ export * from './services/fetcher.service';
9
+ // pipes
10
+ export * from './pipes/filter.pipe';
11
+ export * from './pipes/highlight.pipe';
12
+ export * from './pipes/safe.pipe';
13
+ export * from './pipes/reverse.pipe';
14
+ export * from './pipes/filter-tabs.pipe';
15
+ // directives
16
+ export * from './directives/auto-height.directive';
17
+ export * from './directives/counter.directive';
18
+ export * from './directives/declension.directive';
19
+ export * from './directives/click-outside.directive';
20
+ export * from './directives/resize-textarea.directive';
21
+ export * from './tooltip/tooltip.directive';
22
+ export * from './tooltip/tooltip.component';
23
+ // export * from './directives/triangle.directive'
24
+ // dialog
25
+ export * from './dialog/dialog.service';
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9jb3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFdBQVc7QUFDWCxjQUFjLHNDQUFzQyxDQUFBO0FBQ3BELGNBQWMseUJBQXlCLENBQUE7QUFDdkMsY0FBYyw4QkFBOEIsQ0FBQTtBQUM1QyxjQUFjLDRCQUE0QixDQUFBO0FBQzFDLGNBQWMsaUNBQWlDLENBQUE7QUFDL0MsY0FBYywrQkFBK0IsQ0FBQTtBQUM3QyxjQUFjLDRCQUE0QixDQUFBO0FBQzFDLFFBQVE7QUFDUixjQUFjLHFCQUFxQixDQUFBO0FBQ25DLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxtQkFBbUIsQ0FBQTtBQUNqQyxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsMEJBQTBCLENBQUE7QUFFeEMsYUFBYTtBQUNiLGNBQWUsb0NBQW9DLENBQUE7QUFDbkQsY0FBZSxnQ0FBZ0MsQ0FBQTtBQUMvQyxjQUFlLG1DQUFtQyxDQUFBO0FBQ2xELGNBQWUsc0NBQXNDLENBQUE7QUFDckQsY0FBZSx3Q0FBd0MsQ0FBQTtBQUN2RCxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsNkJBQTZCLENBQUE7QUFDM0Msa0RBQWtEO0FBQ2xELFNBQVM7QUFFVCxjQUFjLHlCQUF5QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc2VydmljZXNcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy90aGVtZS1jb25zdHJ1Y3Rvci5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2RhdGUuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9zdmctaWNvbnMuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9kZXN0cm95LnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvaW50ZXJjZXB0b3JzLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvdmFsaWRhdG9ycy5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2ZldGNoZXIuc2VydmljZSdcclxuLy8gcGlwZXNcclxuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9maWx0ZXIucGlwZSdcclxuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9oaWdobGlnaHQucGlwZSdcclxuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9zYWZlLnBpcGUnXHJcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvcmV2ZXJzZS5waXBlJ1xyXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2ZpbHRlci10YWJzLnBpcGUnXHJcblxyXG4vLyBkaXJlY3RpdmVzXHJcbmV4cG9ydCAqIGZyb20gICcuL2RpcmVjdGl2ZXMvYXV0by1oZWlnaHQuZGlyZWN0aXZlJ1xyXG5leHBvcnQgKiBmcm9tICAnLi9kaXJlY3RpdmVzL2NvdW50ZXIuZGlyZWN0aXZlJ1xyXG5leHBvcnQgKiBmcm9tICAnLi9kaXJlY3RpdmVzL2RlY2xlbnNpb24uZGlyZWN0aXZlJ1xyXG5leHBvcnQgKiBmcm9tICAnLi9kaXJlY3RpdmVzL2NsaWNrLW91dHNpZGUuZGlyZWN0aXZlJ1xyXG5leHBvcnQgKiBmcm9tICAnLi9kaXJlY3RpdmVzL3Jlc2l6ZS10ZXh0YXJlYS5kaXJlY3RpdmUnXHJcbmV4cG9ydCAqIGZyb20gJy4vdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZSdcclxuZXhwb3J0ICogZnJvbSAnLi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50J1xyXG4vLyBleHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvdHJpYW5nbGUuZGlyZWN0aXZlJ1xyXG4vLyBkaWFsb2dcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vZGlhbG9nL2RpYWxvZy5zZXJ2aWNlJ1xyXG4iXX0=
@@ -0,0 +1,31 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FilterTabsPipe {
4
+ transform(arr, tab) {
5
+ if (arr) {
6
+ return arr.filter(v => {
7
+ if (tab === 0) {
8
+ return [1, 2].indexOf(v.status.id) !== -1;
9
+ }
10
+ if (tab === 1) {
11
+ return [3, 4].indexOf(v.status.id) !== -1;
12
+ }
13
+ if (tab === 2) {
14
+ return [6].indexOf(v.status.id) !== -1;
15
+ }
16
+ return arr;
17
+ });
18
+ }
19
+ return [];
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterTabsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
22
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FilterTabsPipe, isStandalone: true, name: "filterTabs" }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterTabsPipe, decorators: [{
25
+ type: Pipe,
26
+ args: [{
27
+ name: 'filterTabs',
28
+ standalone: true,
29
+ }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXRhYnMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2NvcmUvcGlwZXMvZmlsdGVyLXRhYnMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFNcEQsTUFBTSxPQUFPLGNBQWM7SUFDbEIsU0FBUyxDQUFDLEdBQWlCLEVBQUUsR0FBK0I7UUFDakUsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDcEIsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ2QsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDNUMsQ0FBQztnQkFDRCxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDZCxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxDQUFDO2dCQUNELElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNkLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDekMsQ0FBQztnQkFDRCxPQUFPLEdBQUcsQ0FBQztZQUNiLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzsrR0FqQlUsY0FBYzs2R0FBZCxjQUFjOzs0RkFBZCxjQUFjO2tCQUoxQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxZQUFZO29CQUNsQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2ZpbHRlclRhYnMnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWx0ZXJUYWJzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHB1YmxpYyB0cmFuc2Zvcm0oYXJyOiBhbnlbXSB8IG51bGwsIHRhYj86IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQpOiBhbnlbXSB7XHJcbiAgICBpZiAoYXJyKSB7XHJcbiAgICAgIHJldHVybiBhcnIuZmlsdGVyKHYgPT4ge1xyXG4gICAgICAgIGlmICh0YWIgPT09IDApIHtcclxuICAgICAgICAgIHJldHVybiBbMSwgMl0uaW5kZXhPZih2LnN0YXR1cy5pZCkgIT09IC0xO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGFiID09PSAxKSB7XHJcbiAgICAgICAgICByZXR1cm4gWzMsIDRdLmluZGV4T2Yodi5zdGF0dXMuaWQpICE9PSAtMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRhYiA9PT0gMikge1xyXG4gICAgICAgICAgcmV0dXJuIFs2XS5pbmRleE9mKHYuc3RhdHVzLmlkKSAhPT0gLTE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBhcnI7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { getProperty } from '../tools';
3
+ import * as i0 from "@angular/core";
4
+ export class FilterPipe {
5
+ transform(value, args) {
6
+ if (value && value.length) {
7
+ return value.filter((item, i) => i === args);
8
+ }
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
11
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FilterPipe, isStandalone: true, name: "filter" }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterPipe, decorators: [{
14
+ type: Pipe,
15
+ args: [{
16
+ name: 'filter',
17
+ standalone: true,
18
+ }]
19
+ }] });
20
+ export class FilterByKeyPipe {
21
+ transform(arr, fn) {
22
+ if (!arr?.length) {
23
+ return arr;
24
+ }
25
+ if (typeof fn === 'function') {
26
+ return arr.filter(fn);
27
+ }
28
+ else if (fn?.length) {
29
+ const [key, value] = fn;
30
+ return arr.filter((item) => getProperty(item, key) === value);
31
+ }
32
+ else if (fn) {
33
+ return arr.filter((item) => item === fn);
34
+ }
35
+ else {
36
+ return arr;
37
+ }
38
+ }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterByKeyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
40
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FilterByKeyPipe, isStandalone: true, name: "filterByKey" }); }
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterByKeyPipe, decorators: [{
43
+ type: Pipe,
44
+ args: [{
45
+ name: 'filterByKey',
46
+ standalone: true,
47
+ }]
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9jb3JlL3BpcGVzL2ZpbHRlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBTXZDLE1BQU0sT0FBTyxVQUFVO0lBQ2QsU0FBUyxDQUFDLEtBQVksRUFBRSxJQUFhO1FBQzFDLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMxQixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7K0dBTFUsVUFBVTs2R0FBVixVQUFVOzs0RkFBVixVQUFVO2tCQUp0QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxRQUFRO29CQUNkLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7QUFhRCxNQUFNLE9BQU8sZUFBZTtJQUNuQixTQUFTLENBQUMsR0FBUSxFQUFFLEVBQU87UUFDaEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNqQixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzdCLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixDQUFDO2FBQU0sSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDdEIsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDeEIsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQ3JFLENBQUM7YUFBTSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2QsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDaEQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7SUFDSCxDQUFDOytHQWZVLGVBQWU7NkdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFKM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtvQkFDbkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0UHJvcGVydHkgfSBmcm9tICcuLi90b29scyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2ZpbHRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZTogYW55W10sIGFyZ3M/OiBudW1iZXIpOiBhbnkge1xuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5maWx0ZXIoKGl0ZW0sIGkpID0+IGkgPT09IGFyZ3MpO1xuICAgIH1cbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmaWx0ZXJCeUtleScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlckJ5S2V5UGlwZTxUPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwdWJsaWMgdHJhbnNmb3JtKGFycjogYW55LCBmbjogYW55KTogYW55W10ge1xuICAgIGlmICghYXJyPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBhcnI7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiBhcnIuZmlsdGVyKGZuKTtcbiAgICB9IGVsc2UgaWYgKGZuPy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IGZuO1xuICAgICAgcmV0dXJuIGFyci5maWx0ZXIoKGl0ZW06IGFueSkgPT4gZ2V0UHJvcGVydHkoaXRlbSwga2V5KSA9PT0gdmFsdWUpO1xuICAgIH0gZWxzZSBpZiAoZm4pIHtcbiAgICAgIHJldHVybiBhcnIuZmlsdGVyKChpdGVtOiBhbnkpID0+IGl0ZW0gPT09IGZuKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGFycjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class HighlightPipe {
4
+ transform(name, val) {
5
+ if (val) {
6
+ const re = new RegExp(val, 'gi');
7
+ return name.toString().replace(re, `<span style="color: #07B700">$&</span>`);
8
+ }
9
+ else {
10
+ return name;
11
+ }
12
+ }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HighlightPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
14
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: HighlightPipe, isStandalone: true, name: "highlight" }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HighlightPipe, decorators: [{
17
+ type: Pipe,
18
+ args: [{
19
+ name: 'highlight',
20
+ standalone: true,
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9jb3JlL3BpcGVzL2hpZ2hsaWdodC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU9wRCxNQUFNLE9BQU8sYUFBYTtJQUNqQixTQUFTLENBQUMsSUFBWSxFQUFFLEdBQVk7UUFDekMsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLE1BQU0sRUFBRSxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqQyxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLHdDQUF3QyxDQUFDLENBQUM7UUFDL0UsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDOytHQVJVLGFBQWE7NkdBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFKekIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsV0FBVztvQkFDakIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbG9nIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXIvc3JjL2J1aWxkZXJzL3Nzci1kZXYtc2VydmVyJztcblxuQFBpcGUoe1xuICBuYW1lOiAnaGlnaGxpZ2h0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSGlnaGxpZ2h0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwdWJsaWMgdHJhbnNmb3JtKG5hbWU6IHN0cmluZywgdmFsPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodmFsKSB7XG4gICAgICBjb25zdCByZSA9IG5ldyBSZWdFeHAodmFsLCAnZ2knKTtcbiAgICAgIHJldHVybiBuYW1lLnRvU3RyaW5nKCkucmVwbGFjZShyZSwgYDxzcGFuIHN0eWxlPVwiY29sb3I6ICMwN0I3MDBcIj4kJjwvc3Bhbj5gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5hbWU7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ReversePipe {
4
+ transform(value, sort) {
5
+ return sort === 'asc' ? value : value.reverse();
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReversePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ReversePipe, isStandalone: true, name: "reverse" }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReversePipe, decorators: [{
11
+ type: Pipe,
12
+ args: [{
13
+ name: 'reverse',
14
+ standalone: true,
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2ZXJzZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvY29yZS9waXBlcy9yZXZlcnNlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxXQUFXO0lBQ2YsU0FBUyxDQUFDLEtBQVksRUFBRSxJQUFZO1FBQ3pDLE9BQU8sSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbEQsQ0FBQzsrR0FIVSxXQUFXOzZHQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBSnZCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFNBQVM7b0JBQ2YsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdyZXZlcnNlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUmV2ZXJzZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZTogYW55W10sIHNvcnQ6IHN0cmluZyk6IGFueVtdIHtcbiAgICByZXR1cm4gc29ydCA9PT0gJ2FzYycgPyB2YWx1ZSA6IHZhbHVlLnJldmVyc2UoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,34 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/platform-browser";
4
+ export class SafePipe {
5
+ constructor(sanitizer) {
6
+ this.sanitizer = sanitizer;
7
+ }
8
+ transform(value, type) {
9
+ switch (type) {
10
+ case 'html':
11
+ return this.sanitizer.bypassSecurityTrustHtml(value);
12
+ case 'style':
13
+ return this.sanitizer.bypassSecurityTrustStyle(value);
14
+ case 'script':
15
+ return this.sanitizer.bypassSecurityTrustScript(value);
16
+ case 'url':
17
+ return this.sanitizer.bypassSecurityTrustUrl(value);
18
+ case 'resourceUrl':
19
+ return this.sanitizer.bypassSecurityTrustResourceUrl(value);
20
+ default:
21
+ throw new Error(`Invalid safe type specified: ${type}`);
22
+ }
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
25
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SafePipe, isStandalone: true, name: "safe" }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SafePipe, decorators: [{
28
+ type: Pipe,
29
+ args: [{
30
+ name: 'safe',
31
+ standalone: true,
32
+ }]
33
+ }], ctorParameters: () => [{ type: i1.DomSanitizer }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvY29yZS9waXBlcy9zYWZlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQWNwRCxNQUFNLE9BQU8sUUFBUTtJQUNuQixZQUFzQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQUcsQ0FBQztJQUUxQyxTQUFTLENBQ2QsS0FBYSxFQUNiLElBQVk7UUFFWixRQUFRLElBQUksRUFBRSxDQUFDO1lBQ2IsS0FBSyxNQUFNO2dCQUNULE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RCxLQUFLLE9BQU87Z0JBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hELEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekQsS0FBSyxLQUFLO2dCQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0RCxLQUFLLGFBQWE7Z0JBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5RDtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVELENBQUM7SUFDSCxDQUFDOytHQXJCVSxRQUFROzZHQUFSLFFBQVE7OzRGQUFSLFFBQVE7a0JBSnBCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLE1BQU07b0JBQ1osVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRG9tU2FuaXRpemVyLFxuICBTYWZlSHRtbCxcbiAgU2FmZVJlc291cmNlVXJsLFxuICBTYWZlU2NyaXB0LFxuICBTYWZlU3R5bGUsXG4gIFNhZmVVcmwsXG59IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdzYWZlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2FmZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxuXG4gIHB1YmxpYyB0cmFuc2Zvcm0oXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICB0eXBlOiBzdHJpbmcsXG4gICk6IFNhZmVIdG1sIHwgU2FmZVN0eWxlIHwgU2FmZVNjcmlwdCB8IFNhZmVVcmwgfCBTYWZlUmVzb3VyY2VVcmwge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnaHRtbCc6XG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh2YWx1ZSk7XG4gICAgICBjYXNlICdzdHlsZSc6XG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUodmFsdWUpO1xuICAgICAgY2FzZSAnc2NyaXB0JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTY3JpcHQodmFsdWUpO1xuICAgICAgY2FzZSAndXJsJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwodmFsdWUpO1xuICAgICAgY2FzZSAncmVzb3VyY2VVcmwnOlxuICAgICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHZhbHVlKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzYWZlIHR5cGUgc3BlY2lmaWVkOiAke3R5cGV9YCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,113 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { format } from 'date-fns';
3
+ import * as i0 from "@angular/core";
4
+ export const DEFAULT_FORMAT = 'yyyy-MM-dd';
5
+ const DEFAULT_COMMON_DATE_DATA = {
6
+ active: false,
7
+ visible: ['all'],
8
+ };
9
+ export class DateService {
10
+ constructor() {
11
+ this.commonDateDataBy = {
12
+ day: {
13
+ ...DEFAULT_COMMON_DATE_DATA,
14
+ title: 'за день',
15
+ name: 'day',
16
+ },
17
+ week: {
18
+ ...DEFAULT_COMMON_DATE_DATA,
19
+ title: 'за неделю',
20
+ name: 'week',
21
+ },
22
+ month: {
23
+ ...DEFAULT_COMMON_DATE_DATA,
24
+ title: 'за месяц',
25
+ name: 'month',
26
+ },
27
+ month_3: {
28
+ ...DEFAULT_COMMON_DATE_DATA,
29
+ title: 'за 3 месяца',
30
+ name: 'month_3',
31
+ },
32
+ half_year: {
33
+ ...DEFAULT_COMMON_DATE_DATA,
34
+ title: 'за полгода',
35
+ name: 'half_year',
36
+ },
37
+ year: {
38
+ ...DEFAULT_COMMON_DATE_DATA,
39
+ title: 'за год',
40
+ name: 'year',
41
+ },
42
+ calendar: {
43
+ active: false,
44
+ visible: [],
45
+ name: 'calendar',
46
+ title: '',
47
+ },
48
+ };
49
+ this.getDateBy = {
50
+ day: () => new Date(new Date().setDate(new Date().getDate() - 1)),
51
+ week: () => new Date(new Date().setDate(new Date().getDate() - 7)),
52
+ month: () => new Date(new Date().setMonth(new Date().getMonth() - 1)),
53
+ month_3: () => new Date(new Date().setMonth(new Date().getMonth() - 3)),
54
+ half_year: () => new Date(new Date().setMonth(new Date().getMonth() - 6)),
55
+ year: () => new Date(new Date().setFullYear(new Date().getFullYear() - 1)),
56
+ };
57
+ }
58
+ getFormattedDate(dateType, f = DEFAULT_FORMAT) {
59
+ const date = this.getDateBy[dateType] || this.getDateBy.day;
60
+ return format(date(), f);
61
+ }
62
+ getPeriodMenuDate(dateType, f) {
63
+ return {
64
+ time: this.getFormattedDate(dateType, f),
65
+ ...this.commonDateDataBy[dateType],
66
+ };
67
+ }
68
+ getPeriodMenuDateRange(dateTypes, f) {
69
+ return dateTypes.map(dateType => this.getPeriodMenuDate(dateType, f));
70
+ }
71
+ getPeriodTime(name) {
72
+ const period = this.getPeriodMenu();
73
+ return period.find(p => p.name === name) || period[0];
74
+ }
75
+ getPeriodMenu(activePeriodName = 'month') {
76
+ const arr = ['day', 'week', 'month', 'month_3', 'half_year', 'year'];
77
+ const periodMenus = this.getPeriodMenuDateRange(arr);
78
+ const activePeriod = periodMenus.find(p => p.name === activePeriodName) || periodMenus[0];
79
+ activePeriod.active = true;
80
+ return periodMenus;
81
+ }
82
+ getDaysInMonth(month, year) {
83
+ const date = new Date(year, month, 1);
84
+ const datePrev = new Date(year, month, 0);
85
+ const days = [];
86
+ const prevDays = [];
87
+ while (date.getMonth() === month) {
88
+ days.push(date.getDay());
89
+ date.setDate(date.getDate() + 1);
90
+ }
91
+ const needFirstDays = days[0] === 1 ? 0 : days[0] === 0 ? 6 : days[0] - 1;
92
+ const firstDays = [...Array(needFirstDays)].map(() => 0);
93
+ const m = month === 0 ? 12 : month;
94
+ while (datePrev.getMonth() === m - 1 && firstDays.length !== prevDays.length) {
95
+ prevDays.push(datePrev.getDate());
96
+ datePrev.setDate(datePrev.getDate() - 1);
97
+ }
98
+ const needLastDays = days[days.length - 1] === 0 ? 0 : 7 - days[days.length - 1];
99
+ const lastDays = [...Array(needLastDays)].map((_d, i) => ++i);
100
+ return {
101
+ prevDays: prevDays.reverse(),
102
+ days: days.map((_d, i) => ++i),
103
+ lastDays,
104
+ };
105
+ }
106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
107
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DateService, providedIn: 'root' }); }
108
+ }
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DateService, decorators: [{
110
+ type: Injectable,
111
+ args: [{ providedIn: 'root' }]
112
+ }] });
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9kYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQStCbEMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQztBQUMzQyxNQUFNLHdCQUF3QixHQUFHO0lBQy9CLE1BQU0sRUFBRSxLQUFLO0lBQ2IsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDO0NBQ2pCLENBQUM7QUFTRixNQUFNLE9BQU8sV0FBVztJQUR4QjtRQUVVLHFCQUFnQixHQUFzQztZQUM1RCxHQUFHLEVBQUU7Z0JBQ0gsR0FBRyx3QkFBd0I7Z0JBQzNCLEtBQUssRUFBRSxTQUFTO2dCQUNoQixJQUFJLEVBQUUsS0FBSzthQUNaO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLEdBQUcsd0JBQXdCO2dCQUMzQixLQUFLLEVBQUUsV0FBVztnQkFDbEIsSUFBSSxFQUFFLE1BQU07YUFDYjtZQUNELEtBQUssRUFBRTtnQkFDTCxHQUFHLHdCQUF3QjtnQkFDM0IsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLElBQUksRUFBRSxPQUFPO2FBQ2Q7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsR0FBRyx3QkFBd0I7Z0JBQzNCLEtBQUssRUFBRSxhQUFhO2dCQUNwQixJQUFJLEVBQUUsU0FBUzthQUNoQjtZQUNELFNBQVMsRUFBRTtnQkFDVCxHQUFHLHdCQUF3QjtnQkFDM0IsS0FBSyxFQUFFLFlBQVk7Z0JBQ25CLElBQUksRUFBRSxXQUFXO2FBQ2xCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLEdBQUcsd0JBQXdCO2dCQUMzQixLQUFLLEVBQUUsUUFBUTtnQkFDZixJQUFJLEVBQUUs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QUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNuQyxPQUFPLFFBQVEsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzdFLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDbEMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFOUQsT0FBTztZQUNMLFFBQVEsRUFBRSxRQUFRLENBQUMsT0FBTyxFQUFFO1lBQzVCLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDOUIsUUFBUTtTQUNULENBQUM7SUFDSixDQUFDOytHQTFHVSxXQUFXO21IQUFYLFdBQVcsY0FERSxNQUFNOzs0RkFDbkIsV0FBVztrQkFEdkIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tICdkYXRlLWZucyc7XG5cbmV4cG9ydCBkZWNsYXJlIHR5cGUgR2V0RGF0ZU1ldGhvZCA9ICgpID0+IERhdGU7XG5cbmV4cG9ydCBkZWNsYXJlIHR5cGUgUGVyaW9kTmFtZSA9ICdkYXknIHwgJ3dlZWsnIHwgJ21vbnRoJyB8ICdtb250aF8zJyB8ICdoYWxmX3llYXInIHwgJ3llYXInIHwgJ2NhbGVuZGFyJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEdldERhdGVCeSB7XG4gIGRheT86IEdldERhdGVNZXRob2Q7XG4gIHdlZWs/OiBHZXREYXRlTWV0aG9kO1xuICBtb250aD86IEdldERhdGVNZXRob2Q7XG4gIG1vbnRoXzM/OiBHZXREYXRlTWV0aG9kO1xuICBoYWxmX3llYXI/OiBHZXREYXRlTWV0aG9kO1xuICB5ZWFyPzogR2V0RGF0ZU1ldGhvZDtcbiAgY2FsZW5kYXI/OiBHZXREYXRlTWV0aG9kO1xufVxuXG5leHBvcnQgZGVjbGFyZSB0eXBlIERhdGVUeXBlcyA9IGtleW9mIEdldERhdGVCeTtcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRpbWVEYXRlIHtcbiAgdGltZTogc3RyaW5nO1xufVxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ29tbW9uRGF0ZURhdGEge1xuICB0aXRsZTogc3RyaW5nO1xuICBhY3RpdmU6IGJvb2xlYW47XG4gIG5hbWU6IFBlcmlvZE5hbWU7XG4gIHZpc2libGU6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgZGVjbGFyZSB0eXBlIFBlcmlvZE1lbnVEYXRlID0gVGltZURhdGUgJiBDb21tb25EYXRlRGF0YTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRk9STUFUID0gJ3l5eXktTU0tZGQnO1xuY29uc3QgREVGQVVMVF9DT01NT05fREFURV9EQVRBID0ge1xuICBhY3RpdmU6IGZhbHNlLFxuICB2aXNpYmxlOiBbJ2FsbCddLFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBJRGF5c0luTW9udGgge1xuICBwcmV2RGF5czogbnVtYmVyW107XG4gIGRheXM6IG51bWJlcltdO1xuICBsYXN0RGF5czogbnVtYmVyW107XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pIC8qKiDRgdC10YDQstC40YEg0LTQu9GPINC+0LHRgNCw0LHQvtGC0LrQuCDQtNCw0YIgKi9cbmV4cG9ydCBjbGFzcyBEYXRlU2VydmljZSB7XG4gIHByaXZhdGUgY29tbW9uRGF0ZURhdGFCeTogUmVjb3JkPERhdGVUeXBlcywgQ29tbW9uRGF0ZURhdGE+ID0ge1xuICAgIGRheToge1xuICAgICAgLi4uREVGQVVMVF9DT01NT05fREFURV9EQVRBLFxuICAgICAgdGl0bGU6ICfQt9CwINC00LXQvdGMJyxcbiAgICAgIG5hbWU6ICdkYXknLFxuICAgIH0sXG4gICAgd2Vlazoge1xuICAgICAgLi4uREVGQVVMVF9DT01NT05fREFURV9EQVRBLFxuICAgICAgdGl0bGU6ICfQt9CwINC90LXQtNC10LvRjicsXG4gICAgICBuYW1lOiAnd2VlaycsXG4gICAgfSxcbiAgICBtb250aDoge1xuICAgICAgLi4uREVGQVVMVF9DT01NT05fREFURV9EQVRBLFxuICAgICAgdGl0bGU6ICfQt9CwINC80LXRgdGP0YYnLFxuICAgICAgbmFtZTogJ21vbnRoJyxcbiAgICB9LFxuICAgIG1vbnRoXzM6IHtcbiAgICAgIC4uLkRFRkFVTFRfQ09NTU9OX0RBVEVfREFUQSxcbiAgICAgIHRpdGxlOiAn0LfQsCAzINC80LXRgdGP0YbQsCcsXG4gICAgICBuYW1lOiAnbW9udGhfMycsXG4gICAgfSxcbiAgICBoYWxmX3llYXI6IHtcbiAgICAgIC4uLkRFRkFVTFRfQ09NTU9OX0RBVEVfREFUQSxcbiAgICAgIHRpdGxlOiAn0LfQsCDQv9C+0LvQs9C+0LTQsCcsXG4gICAgICBuYW1lOiAnaGFsZl95ZWFyJyxcbiAgICB9LFxuICAgIHllYXI6IHtcbiAgICAgIC4uLkRFRkFVTFRfQ09NTU9OX0RBVEVfREFUQSxcbiAgICAgIHRpdGxlOiAn0LfQsCDQs9C+0LQnLFxuICAgICAgbmFtZTogJ3llYXInLFxuICAgIH0sXG4gICAgY2FsZW5kYXI6IHtcbiAgICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgICB2aXNpYmxlOiBbXSxcbiAgICAgIG5hbWU6ICdjYWxlbmRhcicsXG4gICAgICB0aXRsZTogJycsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIGdldERhdGVCeTogR2V0RGF0ZUJ5ID0ge1xuICAgIGRheTogKCkgPT4gbmV3IERhdGUobmV3IERhdGUoKS5zZXREYXRlKG5ldyBEYXRlKCkuZ2V0RGF0ZSgpIC0gMSkpLFxuICAgIHdlZWs6ICgpID0+IG5ldyBEYXRlKG5ldyBEYXRlKCkuc2V0RGF0ZShuZXcgRGF0ZSgpLmdldERhdGUoKSAtIDcpKSxcbiAgICBtb250aDogKCkgPT4gbmV3IERhdGUobmV3IERhdGUoKS5zZXRNb250aChuZXcgRGF0ZSgpLmdldE1vbnRoKCkgLSAxKSksXG4gICAgbW9udGhfMzogKCkgPT4gbmV3IERhdGUobmV3IERhdGUoKS5zZXRNb250aChuZXcgRGF0ZSgpLmdldE1vbnRoKCkgLSAzKSksXG4gICAgaGFsZl95ZWFyOiAoKSA9PiBuZXcgRGF0ZShuZXcgRGF0ZSgpLnNldE1vbnRoKG5ldyBEYXRlKCkuZ2V0TW9udGgoKSAtIDYpKSxcbiAgICB5ZWFyOiAoKSA9PiBuZXcgRGF0ZShuZXcgRGF0ZSgpLnNldEZ1bGxZZWFyKG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSAtIDEpKSxcbiAgfTtcblxuICBwdWJsaWMgZ2V0Rm9ybWF0dGVkRGF0ZShkYXRlVHlwZToga2V5b2YgR2V0RGF0ZUJ5LCBmOiBzdHJpbmcgPSBERUZBVUxUX0ZPUk1BVCk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF0ZSA9IHRoaXMuZ2V0RGF0ZUJ5W2RhdGVUeXBlXSB8fCB0aGlzLmdldERhdGVCeS5kYXk7XG4gICAgcmV0dXJuIGZvcm1hdChkYXRlISgpLCBmKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQZXJpb2RNZW51RGF0ZShkYXRlVHlwZTogRGF0ZVR5cGVzLCBmPzogc3RyaW5nKTogVGltZURhdGUgJiBDb21tb25EYXRlRGF0YSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpbWU6IHRoaXMuZ2V0Rm9ybWF0dGVkRGF0ZShkYXRlVHlwZSwgZiksXG4gICAgICAuLi50aGlzLmNvbW1vbkRhdGVEYXRhQnlbZGF0ZVR5cGVdLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0UGVyaW9kTWVudURhdGVSYW5nZShkYXRlVHlwZXM6IERhdGVUeXBlc1tdLCBmPzogc3RyaW5nKTogUGVyaW9kTWVudURhdGVbXSB7XG4gICAgcmV0dXJuIGRhdGVUeXBlcy5tYXAoZGF0ZVR5cGUgPT4gdGhpcy5nZXRQZXJpb2RNZW51RGF0ZShkYXRlVHlwZSwgZikpO1xuICB9XG5cbiAgcHVibGljIGdldFBlcmlvZFRpbWUobmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgcGVyaW9kID0gdGhpcy5nZXRQZXJpb2RNZW51KCk7XG4gICAgcmV0dXJuIHBlcmlvZC5maW5kKHAgPT4gcC5uYW1lID09PSBuYW1lKSB8fCBwZXJpb2RbMF07XG4gIH1cblxuICBwdWJsaWMgZ2V0UGVyaW9kTWVudShhY3RpdmVQZXJpb2ROYW1lOiBEYXRlVHlwZXMgPSAnbW9udGgnKTogUGVyaW9kTWVudURhdGVbXSB7XG4gICAgY29uc3QgYXJyOiBEYXRlVHlwZXNbXSA9IFsnZGF5JywgJ3dlZWsnLCAnbW9udGgnLCAnbW9udGhfMycsICdoYWxmX3llYXInLCAneWVhciddO1xuXG4gICAgY29uc3QgcGVyaW9kTWVudXMgPSB0aGlzLmdldFBlcmlvZE1lbnVEYXRlUmFuZ2UoYXJyKTtcbiAgICBjb25zdCBhY3RpdmVQZXJpb2QgPSBwZXJpb2RNZW51cy5maW5kKHAgPT4gcC5uYW1lID09PSBhY3RpdmVQZXJpb2ROYW1lKSB8fCBwZXJpb2RNZW51c1swXTtcblxuICAgIGFjdGl2ZVBlcmlvZC5hY3RpdmUgPSB0cnVlO1xuICAgIHJldHVybiBwZXJpb2RNZW51cztcbiAgfVxuXG4gIHB1YmxpYyBnZXREYXlzSW5Nb250aChtb250aDogbnVtYmVyLCB5ZWFyOiBudW1iZXIpOiBJRGF5c0luTW9udGgge1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSk7XG4gICAgY29uc3QgZGF0ZVByZXYgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMCk7XG4gICAgY29uc3QgZGF5cyA9IFtdO1xuICAgIGNvbnN0IHByZXZEYXlzID0gW107XG4gICAgd2hpbGUgKGRhdGUuZ2V0TW9udGgoKSA9PT0gbW9udGgpIHtcbiAgICAgIGRheXMucHVzaChkYXRlLmdldERheSgpKTtcbiAgICAgIGRhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKSArIDEpO1xuICAgIH1cblxuICAgIGNvbnN0IG5lZWRGaXJzdERheXMgPSBkYXlzWzBdID09PSAxID8gMCA6IGRheXNbMF0gPT09IDAgPyA2IDogZGF5c1swXSAtIDE7XG4gICAgY29uc3QgZmlyc3REYXlzID0gWy4uLkFycmF5KG5lZWRGaXJzdERheXMpXS5tYXAoKCkgPT4gMCk7XG4gICAgY29uc3QgbSA9IG1vbnRoID09PSAwID8gMTIgOiBtb250aDtcbiAgICB3aGlsZSAoZGF0ZVByZXYuZ2V0TW9udGgoKSA9PT0gbSAtIDEgJiYgZmlyc3REYXlzLmxlbmd0aCAhPT0gcHJldkRheXMubGVuZ3RoKSB7XG4gICAgICBwcmV2RGF5cy5wdXNoKGRhdGVQcmV2LmdldERhdGUoKSk7XG4gICAgICBkYXRlUHJldi5zZXREYXRlKGRhdGVQcmV2LmdldERhdGUoKSAtIDEpO1xuICAgIH1cblxuICAgIGNvbnN0IG5lZWRMYXN0RGF5cyA9IGRheXNbZGF5cy5sZW5ndGggLSAxXSA9PT0gMCA/IDAgOiA3IC0gZGF5c1tkYXlzLmxlbmd0aCAtIDFdO1xuICAgIGNvbnN0IGxhc3REYXlzID0gWy4uLkFycmF5KG5lZWRMYXN0RGF5cyldLm1hcCgoX2QsIGkpID0+ICsraSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHJldkRheXM6IHByZXZEYXlzLnJldmVyc2UoKSxcbiAgICAgIGRheXM6IGRheXMubWFwKChfZCwgaSkgPT4gKytpKSxcbiAgICAgIGxhc3REYXlzLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,15 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class DestroyService extends Subject {
5
+ ngOnDestroy() {
6
+ this.next();
7
+ this.complete();
8
+ }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DestroyService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
10
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DestroyService }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DestroyService, decorators: [{
13
+ type: Injectable
14
+ }] });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzdHJveS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9kZXN0cm95LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUcvQixNQUFNLE9BQU8sY0FBZSxTQUFRLE9BQWE7SUFDeEMsV0FBVztRQUNoQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQzsrR0FKVSxjQUFjO21IQUFkLGNBQWM7OzRGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRGVzdHJveVNlcnZpY2UgZXh0ZW5kcyBTdWJqZWN0PHZvaWQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLm5leHQoKTtcclxuICAgIHRoaXMuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIl19