@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,62 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class LibCommonButtonComponent {
4
+ constructor() {
5
+ this.size = '';
6
+ this.autofocus = false;
7
+ this.btnColor = 'green';
8
+ this.active = false;
9
+ this.disabled = false;
10
+ this.showLoader = false;
11
+ this.buttonType = 'button';
12
+ this.clickEvent = new EventEmitter();
13
+ }
14
+ onClick(event) {
15
+ if (this.disabled || this.showLoader || this.active) {
16
+ event.stopPropagation();
17
+ event.preventDefault();
18
+ }
19
+ else {
20
+ this.clickEvent.emit();
21
+ const el = document.activeElement;
22
+ el?.blur();
23
+ }
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibCommonButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LibCommonButtonComponent, selector: "ng-component", inputs: { width: "width", height: "height", size: "size", fontSize: "fontSize", autofocus: "autofocus", btnColor: "btnColor", active: "active", disabled: "disabled", showLoader: "showLoader", buttonType: "buttonType" }, outputs: { clickEvent: "clickEvent" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["contentData"], descendants: true }, { propertyName: "button", first: true, predicate: ["btn"], descendants: true }], ngImport: i0, template: '', isInline: true }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibCommonButtonComponent, decorators: [{
29
+ type: Component,
30
+ args: [{
31
+ template: '',
32
+ }]
33
+ }], propDecorators: { width: [{
34
+ type: Input
35
+ }], height: [{
36
+ type: Input
37
+ }], size: [{
38
+ type: Input
39
+ }], fontSize: [{
40
+ type: Input
41
+ }], autofocus: [{
42
+ type: Input
43
+ }], btnColor: [{
44
+ type: Input
45
+ }], active: [{
46
+ type: Input
47
+ }], disabled: [{
48
+ type: Input
49
+ }], showLoader: [{
50
+ type: Input
51
+ }], buttonType: [{
52
+ type: Input
53
+ }], content: [{
54
+ type: ViewChild,
55
+ args: ['contentData', { static: false }]
56
+ }], button: [{
57
+ type: ViewChild,
58
+ args: ['btn', { static: false }]
59
+ }], clickEvent: [{
60
+ type: Output
61
+ }] } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWNvbW1vbi1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9jb21tb24vbGliLWNvbW1vbi1idXR0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzlGLE1BQU0sT0FBZ0Isd0JBQXdCO0lBSDlDO1FBTWtCLFNBQUksR0FBcUIsRUFBRSxDQUFDO1FBRTVCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsYUFBUSxHQUF1RCxPQUFPLENBQUM7UUFDdkUsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGFBQVEsR0FBbUIsS0FBSyxDQUFDO1FBRWpDLGVBQVUsR0FBK0IsS0FBSyxDQUFDO1FBQy9DLGVBQVUsR0FBa0MsUUFBUSxDQUFDO1FBS3BELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBWXhEO0lBVlEsT0FBTyxDQUFDLEtBQVk7UUFDekIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxhQUE0QixDQUFDO1lBQ2pELEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNiLENBQUM7SUFDSCxDQUFDOytHQTNCbUIsd0JBQXdCO21HQUF4Qix3QkFBd0IsK2VBRmxDLEVBQUU7OzRGQUVRLHdCQUF3QjtrQkFIN0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjs4QkFFaUIsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUVVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFFOEMsT0FBTztzQkFBMUQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNDLE1BQU07c0JBQWpELFNBQVM7dUJBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFFbEIsVUFBVTtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiAnJyxcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExpYkNvbW1vbkJ1dHRvbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgcHVibGljIHdpZHRoOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIGhlaWdodDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzaXplOiAnbWQnIHwgJ2xnJyB8ICcnID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGZvbnRTaXplOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBhdXRvZm9jdXMgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgYnRuQ29sb3I6ICd3aGl0ZScgfCAnZ3JlZW4nIHwgJ3JlZCcgfCAndHJhbnNwYXJlbnQnIHwgJ2RhcmsnID0gJ2dyZWVuJztcclxuICBASW5wdXQoKSBwdWJsaWMgYWN0aXZlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgc2hvd0xvYWRlcjogbnVsbCB8IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgYnV0dG9uVHlwZTogJ3N1Ym1pdCcgfCAncmVzZXQnIHwgJ2J1dHRvbicgPSAnYnV0dG9uJztcclxuXHJcbiAgQFZpZXdDaGlsZCgnY29udGVudERhdGEnLCB7IHN0YXRpYzogZmFsc2UgfSkgcHVibGljIGNvbnRlbnQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XHJcbiAgQFZpZXdDaGlsZCgnYnRuJywgeyBzdGF0aWM6IGZhbHNlIH0pIHB1YmxpYyBidXR0b246IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVsbD4oKTtcclxuXHJcbiAgcHVibGljIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnNob3dMb2FkZXIgfHwgdGhpcy5hY3RpdmUpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsaWNrRXZlbnQuZW1pdCgpO1xyXG4gICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgIGVsPy5ibHVyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,172 @@
1
+ import { Component, EventEmitter, forwardRef, Input, Output, ViewChild, } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ export class LibCommonInputTextComponent {
5
+ get id() {
6
+ return this._ID;
7
+ }
8
+ constructor(changeDetection) {
9
+ this.maxlength = 700;
10
+ this.required = false;
11
+ this.disabled = false;
12
+ this.commitOnInput = true; // коммитить по input или по change
13
+ this.clearable = false;
14
+ this.uppercase = false;
15
+ this.invalid = false;
16
+ this.cleared = new EventEmitter();
17
+ this.focus = new EventEmitter();
18
+ this.blur = new EventEmitter();
19
+ this.focused = false;
20
+ this.touched = false;
21
+ this.value = '';
22
+ this.destroyed = false;
23
+ this._ID = '';
24
+ this.changeDetection = changeDetection;
25
+ }
26
+ handleInput(_e) {
27
+ if (this.commitOnInput) {
28
+ this.commit(this.value);
29
+ }
30
+ }
31
+ notifyFocusEvent(e) {
32
+ // this.focusManager.notifyFocusMayChanged(this, e.type === 'focus');
33
+ }
34
+ // public writeValue(value: string | number | null): void {
35
+ // this.value = value === null || value === undefined ? '' : '' + value;
36
+ // if (!this.destroyed) {
37
+ // this.changeDetection.detectChanges();
38
+ // }
39
+ // }
40
+ // public clearValue(e: Event): void {
41
+ // if (!this.disabled) {
42
+ // this.writeValue(null);
43
+ // this.commit(null);
44
+ // this.cleared.emit();
45
+ // this.returnFocus(e);
46
+ // }
47
+ // e.stopPropagation();
48
+ // }
49
+ handleBlur() {
50
+ this.focused = false;
51
+ if (this.onTouchedCallback) {
52
+ this.onTouchedCallback();
53
+ }
54
+ this.blur.emit();
55
+ this.changeDetection.detectChanges();
56
+ }
57
+ handleFocus() {
58
+ this.focused = this.touched = true;
59
+ if (this.onTouchedCallback) {
60
+ this.onTouchedCallback();
61
+ }
62
+ this.focus.emit();
63
+ }
64
+ returnFocus(e) {
65
+ if (this.inputElement &&
66
+ this.inputElement.nativeElement &&
67
+ (!e || e.target !== this.inputElement.nativeElement)) {
68
+ this.inputElement.nativeElement.focus();
69
+ // HelperService.resetSelection(this.inputElement.nativeElement);
70
+ }
71
+ }
72
+ loseFocus() {
73
+ this.inputElement?.nativeElement.blur();
74
+ }
75
+ forceChange() {
76
+ if (this.inputElement) {
77
+ // this.inputElement.nativeElement.dispatchEvent(HelperService.createEvent('change', true, false));
78
+ }
79
+ }
80
+ registerOnChange(fn) {
81
+ this.commit = fn;
82
+ }
83
+ registerOnTouched(fn) {
84
+ this.onTouchedCallback = fn;
85
+ }
86
+ setDisabledState(isDisabled) {
87
+ this.disabled = isDisabled;
88
+ if (!this.destroyed) {
89
+ this.changeDetection.detectChanges();
90
+ }
91
+ }
92
+ handleChange() {
93
+ if (!this.commitOnInput) {
94
+ this.commit(this.value);
95
+ }
96
+ }
97
+ commit(_value) { }
98
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibCommonInputTextComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
99
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LibCommonInputTextComponent, selector: "dd-lib-common-input", inputs: { name: "name", label: "label", formControlName: "formControlName", type: "type", contextClass: "contextClass", minlength: "minlength", maxlength: "maxlength", placeholder: "placeholder", autocomplete: "autocomplete", tabIndex: "tabIndex", readOnly: "readOnly", required: "required", disabled: "disabled", commitOnInput: "commitOnInput", clearable: "clearable", uppercase: "uppercase", invalid: "invalid", errorText: "errorText" }, outputs: { cleared: "cleared", focus: "focus", blur: "blur" }, providers: [
100
+ {
101
+ provide: NG_VALUE_ACCESSOR,
102
+ useExisting: forwardRef(() => LibCommonInputTextComponent),
103
+ multi: true,
104
+ },
105
+ ], viewQueries: [{ propertyName: "inputSearchElement", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }, { propertyName: "textAreaElement", first: true, predicate: ["textarea"], descendants: true }], ngImport: i0, template: '', isInline: true }); }
106
+ }
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibCommonInputTextComponent, decorators: [{
108
+ type: Component,
109
+ args: [{
110
+ selector: 'dd-lib-common-input',
111
+ template: '',
112
+ providers: [
113
+ {
114
+ provide: NG_VALUE_ACCESSOR,
115
+ useExisting: forwardRef(() => LibCommonInputTextComponent),
116
+ multi: true,
117
+ },
118
+ ],
119
+ }]
120
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { inputSearchElement: [{
121
+ type: ViewChild,
122
+ args: ['searchInput']
123
+ }], inputElement: [{
124
+ type: ViewChild,
125
+ args: ['input']
126
+ }], textAreaElement: [{
127
+ type: ViewChild,
128
+ args: ['textarea']
129
+ }], name: [{
130
+ type: Input
131
+ }], label: [{
132
+ type: Input
133
+ }], formControlName: [{
134
+ type: Input
135
+ }], type: [{
136
+ type: Input
137
+ }], contextClass: [{
138
+ type: Input
139
+ }], minlength: [{
140
+ type: Input
141
+ }], maxlength: [{
142
+ type: Input
143
+ }], placeholder: [{
144
+ type: Input
145
+ }], autocomplete: [{
146
+ type: Input
147
+ }], tabIndex: [{
148
+ type: Input
149
+ }], readOnly: [{
150
+ type: Input
151
+ }], required: [{
152
+ type: Input
153
+ }], disabled: [{
154
+ type: Input
155
+ }], commitOnInput: [{
156
+ type: Input
157
+ }], clearable: [{
158
+ type: Input
159
+ }], uppercase: [{
160
+ type: Input
161
+ }], invalid: [{
162
+ type: Input
163
+ }], errorText: [{
164
+ type: Input
165
+ }], cleared: [{
166
+ type: Output
167
+ }], focus: [{
168
+ type: Output
169
+ }], blur: [{
170
+ type: Output
171
+ }] } });
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWNvbW1vbi1pbnB1dC10ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvY29tbW9uL2xpYi1jb21tb24taW5wdXQtdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFtQixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQWFwRSxNQUFNLE9BQWdCLDJCQUEyQjtJQXlCL0MsSUFBVyxFQUFFO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFXRCxZQUFzQixlQUFrQztRQTVCeEMsY0FBUyxHQUFHLEdBQUcsQ0FBQztRQUtoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsa0JBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQyxtQ0FBbUM7UUFDekQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFZixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNuQyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNoQyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUl6QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsVUFBSyxHQUF1QixFQUFFLENBQUM7UUFHNUIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVwQixRQUFHLEdBQUcsRUFBRSxDQUFDO1FBR2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7SUFDekMsQ0FBQztJQUVNLFdBQVcsQ0FB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U0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsRUFBRTtvQkFDWixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNEJBQTRCLENBQUM7NEJBQzFELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGO3NGQUVxQyxrQkFBa0I7c0JBQXJELFNBQVM7dUJBQUMsYUFBYTtnQkFDTSxZQUFZO3NCQUF6QyxTQUFTO3VCQUFDLE9BQU87Z0JBQ2UsZUFBZTtzQkFBL0MsU0FBUzt1QkFBQyxVQUFVO2dCQUNMLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNXLE9BQU87c0JBQXZCLE1BQU07Z0JBQ1UsS0FBSztzQkFBckIsTUFBTTtnQkFDVSxJQUFJO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZC1saWItY29tbW9uLWlucHV0JyxcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMaWJDb21tb25JbnB1dFRleHRDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExpYkNvbW1vbklucHV0VGV4dENvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKSBwcm90ZWN0ZWQgaW5wdXRTZWFyY2hFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkO1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgcHJvdGVjdGVkIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZDtcclxuICBAVmlld0NoaWxkKCd0ZXh0YXJlYScpIHByb3RlY3RlZCB0ZXh0QXJlYUVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4gfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgbGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIHR5cGU6ICdwYXNzd29yZCcgfCAnZW1haWwnIHwgJ251bWJlcicgfCAndGV4dCcgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIGNvbnRleHRDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkOyAvLyDQutC70LDRgdGBINGA0LDQt9C80LXRgtC60Lgg0LTQu9GPIGRlZXAg0YHRgtC40LvQtdC5XHJcbiAgQElucHV0KCkgcHVibGljIG1pbmxlbmd0aDogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtYXhsZW5ndGggPSA3MDA7XHJcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBhdXRvY29tcGxldGU/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIHRhYkluZGV4Pzogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkT25seT86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGNvbW1pdE9uSW5wdXQgPSB0cnVlOyAvLyDQutC+0LzQvNC40YLQuNGC0Ywg0L/QviBpbnB1dCDQuNC70Lgg0L/QviBjaGFuZ2VcclxuICBASW5wdXQoKSBwdWJsaWMgY2xlYXJhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHVwcGVyY2FzZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGVycm9yVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIGZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBibHVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgcHVibGljIGdldCBpZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9JRDtcclxuICB9XHJcbiAgcHVibGljIGZvY3VzZWQgPSBmYWxzZTtcclxuICBwdWJsaWMgdG91Y2hlZCA9IGZhbHNlO1xyXG4gIHB1YmxpYyBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCB1bmRlZmluZWQgfCBudWxsO1xyXG4gIHB1YmxpYyB2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gJyc7XHJcbiAgcHVibGljIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0b3JSZWY7XHJcblxyXG4gIHByb3RlY3RlZCBkZXN0cm95ZWQgPSBmYWxzZTtcclxuICBwcm90ZWN0ZWQgb25Ub3VjaGVkQ2FsbGJhY2s6ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcclxuICBwcml2YXRlIF9JRCA9ICcnO1xyXG5cclxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rpb24gPSBjaGFuZ2VEZXRlY3Rpb247XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlSW5wdXQoX2U6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jb21taXRPbklucHV0KSB7XHJcbiAgICAgIHRoaXMuY29tbWl0KHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5vdGlmeUZvY3VzRXZlbnQoZTogRXZlbnQpOiB2b2lkIHtcclxuICAgIC8vIHRoaXMuZm9jdXNNYW5hZ2VyLm5vdGlmeUZvY3VzTWF5Q2hhbmdlZCh0aGlzLCBlLnR5cGUgPT09ICdmb2N1cycpO1xyXG4gIH1cclxuXHJcbiAgLy8gcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bGwpOiB2b2lkIHtcclxuICAvLyAgIHRoaXMudmFsdWUgPSB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gJycgOiAnJyArIHZhbHVlO1xyXG4gIC8vICAgaWYgKCF0aGlzLmRlc3Ryb3llZCkge1xyXG4gIC8vICAgICB0aGlzLmNoYW5nZURldGVjdGlvbi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG5cclxuICAvLyBwdWJsaWMgY2xlYXJWYWx1ZShlOiBFdmVudCk6IHZvaWQge1xyXG4gIC8vICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgLy8gICAgIHRoaXMud3JpdGVWYWx1ZShudWxsKTtcclxuICAvLyAgICAgdGhpcy5jb21taXQobnVsbCk7XHJcbiAgLy8gICAgIHRoaXMuY2xlYXJlZC5lbWl0KCk7XHJcbiAgLy8gICAgIHRoaXMucmV0dXJuRm9jdXMoZSk7XHJcbiAgLy8gICB9XHJcbiAgLy8gICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIC8vIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUJsdXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLm9uVG91Y2hlZENhbGxiYWNrKSB7XHJcbiAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2soKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmJsdXIuZW1pdCgpO1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rpb24uZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUZvY3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb2N1c2VkID0gdGhpcy50b3VjaGVkID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLm9uVG91Y2hlZENhbGxiYWNrKSB7XHJcbiAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2soKTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9jdXMuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJldHVybkZvY3VzKGU/OiBFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmlucHV0RWxlbWVudCAmJlxyXG4gICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50ICYmXHJcbiAgICAgICghZSB8fCBlLnRhcmdldCAhPT0gdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudClcclxuICAgICkge1xyXG4gICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgIC8vIEhlbHBlclNlcnZpY2UucmVzZXRTZWxlY3Rpb24odGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9zZUZvY3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbnB1dEVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGZvcmNlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XHJcbiAgICAgIC8vIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChIZWxwZXJTZXJ2aWNlLmNyZWF0ZUV2ZW50KCdjaGFuZ2UnLCB0cnVlLCBmYWxzZSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5jb21taXQgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICAgIGlmICghdGhpcy5kZXN0cm95ZWQpIHtcclxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rpb24uZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNoYW5nZSgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jb21taXRPbklucHV0KSB7XHJcbiAgICAgIHRoaXMuY29tbWl0KHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbW1pdChfdmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiB2b2lkIHt9XHJcbn1cclxuIl19
@@ -0,0 +1,15 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const DIALOG_CONFIG = new InjectionToken('Default options');
3
+ export class DialogConfig {
4
+ constructor(config) {
5
+ this.hasBackdrop = true;
6
+ this.backdropClass = 'modal-overlay';
7
+ this.dialogClass = '';
8
+ this.closeOnBackdropClick = true;
9
+ this.closeOnEsc = true;
10
+ this.hasScroll = false;
11
+ this.autoFocus = true;
12
+ Object.assign(this, config);
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2NvcmUvZGlhbG9nL2RpYWxvZy1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFFakUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFlLGlCQUFpQixDQUFDLENBQUM7QUFFakYsTUFBTSxPQUFPLFlBQVk7SUFXdkIsWUFBWSxNQUE2QjtRQVZsQyxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNuQixrQkFBYSxHQUFHLGVBQWUsQ0FBQztRQUNoQyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQix5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDNUIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFLdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBjb25zdCBESUFMT0dfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPERpYWxvZ0NvbmZpZz4oJ0RlZmF1bHQgb3B0aW9ucycpO1xyXG5cclxuZXhwb3J0IGNsYXNzIERpYWxvZ0NvbmZpZzxEID0gYW55PiB7XHJcbiAgcHVibGljIGhhc0JhY2tkcm9wID0gdHJ1ZTtcclxuICBwdWJsaWMgYmFja2Ryb3BDbGFzcyA9ICdtb2RhbC1vdmVybGF5JztcclxuICBwdWJsaWMgZGlhbG9nQ2xhc3MgPSAnJztcclxuICBwdWJsaWMgY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSB0cnVlO1xyXG4gIHB1YmxpYyBjbG9zZU9uRXNjID0gdHJ1ZTtcclxuICBwdWJsaWMgaGFzU2Nyb2xsID0gZmFsc2U7XHJcbiAgcHVibGljIGF1dG9Gb2N1cyA9IHRydWU7XHJcbiAgcHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGNvbnRleHQ6IEQgfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogUGFydGlhbDxEaWFsb2dDb25maWc+KSB7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGNvbmZpZyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,40 @@
1
+ import { Component, ViewChild } from '@angular/core';
2
+ import { CdkPortalOutlet } from '@angular/cdk/portal';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./dialog-config";
5
+ import * as i2 from "@angular/cdk/a11y";
6
+ export class DialogContainerComponent {
7
+ constructor(config, elementRef, focusTrapFactory) {
8
+ this.config = config;
9
+ this.elementRef = elementRef;
10
+ this.focusTrapFactory = focusTrapFactory;
11
+ }
12
+ ngOnInit() {
13
+ if (this.config.autoFocus) {
14
+ this.focusTrap = this.focusTrapFactory.create(this.elementRef.nativeElement);
15
+ // this.focusTrap.blurPreviouslyFocusedElement();
16
+ this.focusTrap.focusInitialElement();
17
+ }
18
+ }
19
+ attachComponentPortal(portal) {
20
+ return this.portalOutlet.attachComponentPortal(portal);
21
+ }
22
+ attachTemplatePortal(portal) {
23
+ return this.portalOutlet.attachTemplatePortal(portal);
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DialogContainerComponent, deps: [{ token: i1.DialogConfig }, { token: i0.ElementRef }, { token: i2.FocusTrapFactory }], target: i0.ɵɵFactoryTarget.Component }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DialogContainerComponent, isStandalone: true, selector: "dd-dialog-container", viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], ngImport: i0, template: '<ng-template cdkPortalOutlet></ng-template>', isInline: true, dependencies: [{ kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DialogContainerComponent, decorators: [{
29
+ type: Component,
30
+ args: [{
31
+ selector: 'dd-dialog-container',
32
+ standalone: true,
33
+ imports: [CdkPortalOutlet],
34
+ template: '<ng-template cdkPortalOutlet></ng-template>',
35
+ }]
36
+ }], ctorParameters: () => [{ type: i1.DialogConfig }, { type: i0.ElementRef }, { type: i2.FocusTrapFactory }], propDecorators: { portalOutlet: [{
37
+ type: ViewChild,
38
+ args: [CdkPortalOutlet, { static: true }]
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9jb3JlL2RpYWxvZy9kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUE2QyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLGVBQWUsRUFBbUMsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQVV2RixNQUFNLE9BQU8sd0JBQXdCO0lBS25DLFlBQ1ksTUFBb0IsRUFDcEIsVUFBc0IsRUFDdEIsZ0JBQWtDO1FBRmxDLFdBQU0sR0FBTixNQUFNLENBQWM7UUFDcEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQzNDLENBQUM7SUFFRyxRQUFRO1FBQ2IsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzdFLGlEQUFpRDtZQUNqRCxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFTSxxQkFBcUIsQ0FBSSxNQUEwQjtRQUN4RCxPQUFPLElBQUksQ0FBQyxZQUFhLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVNLG9CQUFvQixDQUFJLE1BQXlCO1FBQ3RELE9BQU8sSUFBSSxDQUFDLFlBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6RCxDQUFDOytHQXpCVSx3QkFBd0I7bUdBQXhCLHdCQUF3Qiw2SEFDeEIsZUFBZSw4REFIaEIsNkNBQTZDLDREQUQ3QyxlQUFlOzs0RkFHZCx3QkFBd0I7a0JBTnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDMUIsUUFBUSxFQUFFLDZDQUE2QztpQkFDeEQ7eUlBRXNELFlBQVk7c0JBQWhFLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50UmVmLCBFbGVtZW50UmVmLCBFbWJlZGRlZFZpZXdSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDZGtQb3J0YWxPdXRsZXQsIENvbXBvbmVudFBvcnRhbCwgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgRGlhbG9nQ29uZmlnIH0gZnJvbSAnLi9kaWFsb2ctY29uZmlnJztcclxuaW1wb3J0IHsgRm9jdXNUcmFwLCBGb2N1c1RyYXBGYWN0b3J5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZC1kaWFsb2ctY29udGFpbmVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDZGtQb3J0YWxPdXRsZXRdLFxyXG4gIHRlbXBsYXRlOiAnPG5nLXRlbXBsYXRlIGNka1BvcnRhbE91dGxldD48L25nLXRlbXBsYXRlPicsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaWFsb2dDb250YWluZXJDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoQ2RrUG9ydGFsT3V0bGV0LCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgcG9ydGFsT3V0bGV0OiBDZGtQb3J0YWxPdXRsZXQgfCB1bmRlZmluZWQ7XHJcblxyXG4gIHByb3RlY3RlZCBmb2N1c1RyYXA6IEZvY3VzVHJhcCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgY29uZmlnOiBEaWFsb2dDb25maWcsXHJcbiAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByb3RlY3RlZCBmb2N1c1RyYXBGYWN0b3J5OiBGb2N1c1RyYXBGYWN0b3J5LFxyXG4gICkge31cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLmF1dG9Gb2N1cykge1xyXG4gICAgICB0aGlzLmZvY3VzVHJhcCA9IHRoaXMuZm9jdXNUcmFwRmFjdG9yeS5jcmVhdGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICAvLyB0aGlzLmZvY3VzVHJhcC5ibHVyUHJldmlvdXNseUZvY3VzZWRFbGVtZW50KCk7XHJcbiAgICAgIHRoaXMuZm9jdXNUcmFwLmZvY3VzSW5pdGlhbEVsZW1lbnQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhdHRhY2hDb21wb25lbnRQb3J0YWw8VD4ocG9ydGFsOiBDb21wb25lbnRQb3J0YWw8VD4pOiBDb21wb25lbnRSZWY8VD4ge1xyXG4gICAgcmV0dXJuIHRoaXMucG9ydGFsT3V0bGV0IS5hdHRhY2hDb21wb25lbnRQb3J0YWwocG9ydGFsKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhdHRhY2hUZW1wbGF0ZVBvcnRhbDxDPihwb3J0YWw6IFRlbXBsYXRlUG9ydGFsPEM+KTogRW1iZWRkZWRWaWV3UmVmPEM+IHtcclxuICAgIHJldHVybiB0aGlzLnBvcnRhbE91dGxldCEuYXR0YWNoVGVtcGxhdGVQb3J0YWwocG9ydGFsKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,19 @@
1
+ import { Subject } from 'rxjs';
2
+ export class DDDialogRef {
3
+ constructor(overlayRef) {
4
+ this.overlayRef = overlayRef;
5
+ this.onClose$ = new Subject();
6
+ this.onClose = this.onClose$.asObservable();
7
+ this.onBackdropClick = this.overlayRef.backdropClick();
8
+ }
9
+ /**
10
+ * Hides dialog.
11
+ * */
12
+ close(res) {
13
+ this.overlayRef.detach();
14
+ this.overlayRef.dispose();
15
+ this.onClose$.next(res);
16
+ this.onClose$.complete();
17
+ }
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2NvcmUvZGlhbG9nL2RpYWxvZy1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczQyxNQUFNLE9BQU8sV0FBVztJQVV0QixZQUFzQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSGxDLGFBQVEsR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNqQyxZQUFPLEdBQW9CLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7UUFHdEUsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFRDs7U0FFSztJQUNFLEtBQUssQ0FBQyxHQUFTO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcblxyXG5leHBvcnQgY2xhc3MgREREaWFsb2dSZWY8VD4ge1xyXG4gIHB1YmxpYyBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUPiB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLyoqXHJcbiAgICogU3RyZWFtIG9mIGJhY2tkcm9wIGNsaWNrIGV2ZW50cy5cclxuICAgKiAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBvbkJhY2tkcm9wQ2xpY2s6IE9ic2VydmFibGU8TW91c2VFdmVudD47XHJcbiAgcHJvdGVjdGVkIG9uQ2xvc2UkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHB1YmxpYyByZWFkb25seSBvbkNsb3NlOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLm9uQ2xvc2UkLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgb3ZlcmxheVJlZjogT3ZlcmxheVJlZikge1xyXG4gICAgdGhpcy5vbkJhY2tkcm9wQ2xpY2sgPSB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGlkZXMgZGlhbG9nLlxyXG4gICAqICovXHJcbiAgcHVibGljIGNsb3NlKHJlcz86IGFueSkge1xyXG4gICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xyXG4gICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcclxuICAgIHRoaXMub25DbG9zZSQubmV4dChyZXMpO1xyXG4gICAgdGhpcy5vbkNsb3NlJC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,106 @@
1
+ import { Inject, Injectable, TemplateRef, } from '@angular/core';
2
+ import { DDDialogRef as DialogRef } from './dialog-ref';
3
+ import { DIALOG_CONFIG, DialogConfig } from './dialog-config';
4
+ import { DOCUMENT } from '@angular/common';
5
+ import { GlobalPositionStrategy, } from '@angular/cdk/overlay';
6
+ import { ComponentPortal, PortalInjector, TemplatePortal } from '@angular/cdk/portal';
7
+ import { DialogContainerComponent } from './dialog-container.component';
8
+ import { fromEvent } from 'rxjs';
9
+ import { filter, takeUntil } from 'rxjs/operators';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/cdk/overlay";
12
+ import * as i2 from "./dialog-config";
13
+ export class DialogService {
14
+ constructor(document, globalConfig, overlay, injector, cfr) {
15
+ this.document = document;
16
+ this.globalConfig = globalConfig;
17
+ this.overlay = overlay;
18
+ this.injector = injector;
19
+ this.cfr = cfr;
20
+ }
21
+ open(content, userConfig = {}) {
22
+ const config = new DialogConfig({ ...this.globalConfig, ...userConfig });
23
+ const overlayRef = this.createOverlay(config);
24
+ const dialogRef = new DialogRef(overlayRef);
25
+ this.dialogRef = dialogRef;
26
+ const container = this.createContainer(config, overlayRef);
27
+ this.createContent(config, content, container, dialogRef);
28
+ this.registerCloseListeners(config, overlayRef, dialogRef);
29
+ return dialogRef;
30
+ }
31
+ createOverlay(config) {
32
+ const positionStrategy = this.createPositionStrategy();
33
+ const scrollStrategy = this.createScrollStrategy(config.hasScroll);
34
+ return this.overlay.create({
35
+ positionStrategy,
36
+ scrollStrategy,
37
+ hasBackdrop: config.hasBackdrop,
38
+ backdropClass: config.backdropClass,
39
+ panelClass: config.dialogClass,
40
+ });
41
+ }
42
+ createPositionStrategy() {
43
+ return new GlobalPositionStrategy().centerVertically().centerHorizontally();
44
+ }
45
+ createScrollStrategy(hasScroll) {
46
+ if (hasScroll) {
47
+ return this.overlay.scrollStrategies.noop();
48
+ }
49
+ else {
50
+ return this.overlay.scrollStrategies.block();
51
+ }
52
+ }
53
+ createContainer(config, overlayRef) {
54
+ const injector = new PortalInjector(this.createInjector(config), new WeakMap([[DialogConfig, config]]));
55
+ const containerPortal = new ComponentPortal(DialogContainerComponent, null, injector, this.cfr);
56
+ const containerRef = overlayRef.attach(containerPortal);
57
+ return containerRef.instance;
58
+ }
59
+ createInjector(config) {
60
+ return (config.viewContainerRef && config.viewContainerRef.injector) || this.injector;
61
+ }
62
+ createContent(config, content, container, dialogRef) {
63
+ if (content instanceof TemplateRef) {
64
+ const portal = this.createTemplatePortal(config, content, dialogRef);
65
+ container.attachTemplatePortal(portal);
66
+ }
67
+ else {
68
+ const portal = this.createComponentPortal(config, content, dialogRef);
69
+ dialogRef.componentRef = container.attachComponentPortal(portal);
70
+ if (config.context) {
71
+ Object.assign(dialogRef.componentRef.instance, { ...config.context });
72
+ }
73
+ }
74
+ }
75
+ createTemplatePortal(config, content, dialogRef) {
76
+ return new TemplatePortal(content, {}, { $implicit: config.context, dialogRef });
77
+ }
78
+ createComponentPortal(config, content, dialogRef) {
79
+ const injector = this.createInjector(config);
80
+ const portalInjector = new PortalInjector(injector, new WeakMap([[DialogRef, dialogRef]]));
81
+ return new ComponentPortal(content, config.viewContainerRef, portalInjector);
82
+ }
83
+ registerCloseListeners(config, overlayRef, dialogRef) {
84
+ if (config.closeOnBackdropClick) {
85
+ overlayRef.backdropClick().subscribe(() => dialogRef.close());
86
+ }
87
+ if (config.closeOnEsc) {
88
+ fromEvent(this.document, 'keyup')
89
+ .pipe(filter((event) => event.keyCode === 27), takeUntil(dialogRef.onClose))
90
+ .subscribe(() => dialogRef.close());
91
+ }
92
+ }
93
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DialogService, deps: [{ token: DOCUMENT }, { token: DIALOG_CONFIG }, { token: i1.Overlay }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable }); }
94
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DialogService, providedIn: 'root' }); }
95
+ }
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DialogService, decorators: [{
97
+ type: Injectable,
98
+ args: [{ providedIn: 'root' }]
99
+ }], ctorParameters: () => [{ type: Document, decorators: [{
100
+ type: Inject,
101
+ args: [DOCUMENT]
102
+ }] }, { type: i2.DialogConfig, decorators: [{
103
+ type: Inject,
104
+ args: [DIALOG_CONFIG]
105
+ }] }, { type: i1.Overlay }, { type: i0.Injector }, { type: i0.ComponentFactoryResolver }] });
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9jb3JlL2RpYWxvZy9kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsTUFBTSxFQUNOLFVBQVUsRUFFVixXQUFXLEdBR1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsSUFBSSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLHNCQUFzQixHQUt2QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUduRCxNQUFNLE9BQU8sYUFBYTtJQUd4QixZQUM4QixRQUFrQixFQUNiLFlBQTBCLEVBQ2pELE9BQWdCLEVBQ2hCLFFBQWtCLEVBQ2xCLEdBQTZCO1FBSlgsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNiLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ2pELFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixRQUFHLEdBQUgsR0FBRyxDQUEwQjtJQUN0QyxDQUFDO0lBRUcsSUFBSSxDQUNULE9BQWlDLEVBQ2pDLGFBQXlELEVBQUU7UUFFM0QsTUFBTSxN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QVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN0QixTQUFTLENBQWdCLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDO2lCQUM3QyxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsS0FBb0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sS0FBSyxFQUFFLENBQUMsRUFDdEQsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FDN0I7aUJBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDOytHQXJIVSxhQUFhLGtCQUlkLFFBQVEsYUFDUixhQUFhO21IQUxaLGFBQWEsY0FEQSxNQUFNOzs0RkFDbkIsYUFBYTtrQkFEekIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQUs3QixNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIEluamVjdCxcclxuICBJbmplY3RhYmxlLFxyXG4gIEluamVjdG9yLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFR5cGUsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgREREaWFsb2dSZWYgYXMgRGlhbG9nUmVmIH0gZnJvbSAnLi9kaWFsb2ctcmVmJztcclxuaW1wb3J0IHsgRElBTE9HX0NPTkZJRywgRGlhbG9nQ29uZmlnIH0gZnJvbSAnLi9kaWFsb2ctY29uZmlnJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3ksXHJcbiAgT3ZlcmxheSxcclxuICBPdmVybGF5UmVmLFxyXG4gIFBvc2l0aW9uU3RyYXRlZ3ksXHJcbiAgU2Nyb2xsU3RyYXRlZ3ksXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFBvcnRhbEluamVjdG9yLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBEaWFsb2dDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZy1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2Uge1xyXG4gIHB1YmxpYyBkaWFsb2dSZWY6IERpYWxvZ1JlZjxhbnk+IHwgdW5kZWZpbmVkO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByb3RlY3RlZCBkb2N1bWVudDogRG9jdW1lbnQsXHJcbiAgICBASW5qZWN0KERJQUxPR19DT05GSUcpIHByb3RlY3RlZCBnbG9iYWxDb25maWc6IERpYWxvZ0NvbmZpZyxcclxuICAgIHByb3RlY3RlZCBvdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByb3RlY3RlZCBjZnI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICApIHt9XHJcblxyXG4gIHB1YmxpYyBvcGVuPFQsIFIgPSBhbnk+KFxyXG4gICAgY29udGVudDogVHlwZTxUPiB8IFRlbXBsYXRlUmVmPFQ+LFxyXG4gICAgdXNlckNvbmZpZzogUGFydGlhbDxEaWFsb2dDb25maWc8UGFydGlhbDxSPiB8IHN0cmluZz4+ID0ge30sXHJcbiAgKTogRGlhbG9nUmVmPFQ+IHtcclxuICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBEaWFsb2dDb25maWcoeyAuLi50aGlzLmdsb2JhbENvbmZpZywgLi4udXNlckNvbmZpZyB9KTtcclxuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLmNyZWF0ZU92ZXJsYXkoY29uZmlnKTtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IG5ldyBEaWFsb2dSZWY8VD4ob3ZlcmxheVJlZik7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZiA9IGRpYWxvZ1JlZjtcclxuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY3JlYXRlQ29udGFpbmVyKGNvbmZpZywgb3ZlcmxheVJlZik7XHJcbiAgICB0aGlzLmNyZWF0ZUNvbnRlbnQoY29uZmlnLCBjb250ZW50LCBjb250YWluZXIsIGRpYWxvZ1JlZik7XHJcblxyXG4gICAgdGhpcy5yZWdpc3RlckNsb3NlTGlzdGVuZXJzKGNvbmZpZywgb3ZlcmxheVJlZiwgZGlhbG9nUmVmKTtcclxuXHJcbiAgICByZXR1cm4gZGlhbG9nUmVmO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGNyZWF0ZU92ZXJsYXkoY29uZmlnOiBEaWFsb2dDb25maWcpOiBPdmVybGF5UmVmIHtcclxuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLmNyZWF0ZVBvc2l0aW9uU3RyYXRlZ3koKTtcclxuICAgIGNvbnN0IHNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5jcmVhdGVTY3JvbGxTdHJhdGVneShjb25maWcuaGFzU2Nyb2xsKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXHJcbiAgICAgIHNjcm9sbFN0cmF0ZWd5LFxyXG4gICAgICBoYXNCYWNrZHJvcDogY29uZmlnLmhhc0JhY2tkcm9wLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiBjb25maWcuYmFja2Ryb3BDbGFzcyxcclxuICAgICAgcGFuZWxDbGFzczogY29uZmlnLmRpYWxvZ0NsYXNzLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgY3JlYXRlUG9zaXRpb25TdHJhdGVneSgpOiBQb3NpdGlvblN0cmF0ZWd5IHtcclxuICAgIHJldHVybiBuZXcgR2xvYmFsUG9zaXRpb25TdHJhdGVneSgpLmNlbnRlclZlcnRpY2FsbHkoKS5jZW50ZXJIb3Jpem9udGFsbHkoKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBjcmVhdGVTY3JvbGxTdHJhdGVneShoYXNTY3JvbGw6IGJvb2xlYW4pOiBTY3JvbGxTdHJhdGVneSB7XHJcbiAgICBpZiAoaGFzU2Nyb2xsKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ub29wKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBjcmVhdGVDb250YWluZXIoY29uZmlnOiBEaWFsb2dDb25maWcsIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYpOiBEaWFsb2dDb250YWluZXJDb21wb25lbnQge1xyXG4gICAgY29uc3QgaW5qZWN0b3IgPSBuZXcgUG9ydGFsSW5qZWN0b3IodGhpcy5jcmVhdGVJbmplY3Rvcihjb25maWcpLCBuZXcgV2Vha01hcChbW0RpYWxvZ0NvbmZpZywgY29uZmlnXV0pKTtcclxuICAgIGNvbnN0IGNvbnRhaW5lclBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoRGlhbG9nQ29udGFpbmVyQ29tcG9uZW50LCBudWxsLCBpbmplY3RvciwgdGhpcy5jZnIpO1xyXG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gb3ZlcmxheVJlZi5hdHRhY2goY29udGFpbmVyUG9ydGFsKTtcclxuICAgIHJldHVybiBjb250YWluZXJSZWYuaW5zdGFuY2U7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgY3JlYXRlSW5qZWN0b3IoY29uZmlnOiBEaWFsb2dDb25maWcpOiBJbmplY3RvciB7XHJcbiAgICByZXR1cm4gKGNvbmZpZy52aWV3Q29udGFpbmVyUmVmICYmIGNvbmZpZy52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yKSB8fCB0aGlzLmluamVjdG9yO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRlbnQ8VD4oXHJcbiAgICBjb25maWc6IERpYWxvZ0NvbmZpZyxcclxuICAgIGNvbnRlbnQ6IFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPixcclxuICAgIGNvbnRhaW5lcjogRGlhbG9nQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgZGlhbG9nUmVmOiBEaWFsb2dSZWY8VD4sXHJcbiAgKSB7XHJcbiAgICBpZiAoY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XHJcbiAgICAgIGNvbnN0IHBvcnRhbCA9IHRoaXMuY3JlYXRlVGVtcGxhdGVQb3J0YWwoY29uZmlnLCBjb250ZW50LCBkaWFsb2dSZWYpO1xyXG4gICAgICBjb250YWluZXIuYXR0YWNoVGVtcGxhdGVQb3J0YWwocG9ydGFsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHBvcnRhbCA9IHRoaXMuY3JlYXRlQ29tcG9uZW50UG9ydGFsKGNvbmZpZywgY29udGVudCwgZGlhbG9nUmVmKTtcclxuICAgICAgZGlhbG9nUmVmLmNvbXBvbmVudFJlZiA9IGNvbnRhaW5lci5hdHRhY2hDb21wb25lbnRQb3J0YWwocG9ydGFsKTtcclxuXHJcbiAgICAgIGlmIChjb25maWcuY29udGV4dCkge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24oZGlhbG9nUmVmLmNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBhbnksIHsgLi4uY29uZmlnLmNvbnRleHQgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBjcmVhdGVUZW1wbGF0ZVBvcnRhbDxUPihcclxuICAgIGNvbmZpZzogRGlhbG9nQ29uZmlnLFxyXG4gICAgY29udGVudDogVGVtcGxhdGVSZWY8VD4sXHJcbiAgICBkaWFsb2dSZWY6IERpYWxvZ1JlZjxUPixcclxuICApOiBUZW1wbGF0ZVBvcnRhbCB7XHJcbiAgICByZXR1cm4gbmV3IFRlbXBsYXRlUG9ydGFsKFxyXG4gICAgICBjb250ZW50LFxyXG4gICAgICB7fSBhcyBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICB7ICRpbXBsaWNpdDogY29uZmlnLmNvbnRleHQsIGRpYWxvZ1JlZiB9IGFzIGFueSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgY3JlYXRlQ29tcG9uZW50UG9ydGFsPFQ+KFxyXG4gICAgY29uZmlnOiBEaWFsb2dDb25maWcsXHJcbiAgICBjb250ZW50OiBUeXBlPFQ+LFxyXG4gICAgZGlhbG9nUmVmOiBEaWFsb2dSZWY8VD4sXHJcbiAgKTogQ29tcG9uZW50UG9ydGFsPFQ+IHtcclxuICAgIGNvbnN0IGluamVjdG9yID0gdGhpcy5jcmVhdGVJbmplY3Rvcihjb25maWcpO1xyXG4gICAgY29uc3QgcG9ydGFsSW5qZWN0b3IgPSBuZXcgUG9ydGFsSW5qZWN0b3IoaW5qZWN0b3IsIG5ldyBXZWFrTWFwKFtbRGlhbG9nUmVmLCBkaWFsb2dSZWZdXSkpO1xyXG4gICAgcmV0dXJuIG5ldyBDb21wb25lbnRQb3J0YWwoY29udGVudCwgY29uZmlnLnZpZXdDb250YWluZXJSZWYsIHBvcnRhbEluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCByZWdpc3RlckNsb3NlTGlzdGVuZXJzPFQ+KGNvbmZpZzogRGlhbG9nQ29uZmlnLCBvdmVybGF5UmVmOiBPdmVybGF5UmVmLCBkaWFsb2dSZWY6IERpYWxvZ1JlZjxUPikge1xyXG4gICAgaWYgKGNvbmZpZy5jbG9zZU9uQmFja2Ryb3BDbGljaykge1xyXG4gICAgICBvdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4gZGlhbG9nUmVmLmNsb3NlKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb25maWcuY2xvc2VPbkVzYykge1xyXG4gICAgICBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4odGhpcy5kb2N1bWVudCwgJ2tleXVwJylcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIGZpbHRlcigoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IGV2ZW50LmtleUNvZGUgPT09IDI3KSxcclxuICAgICAgICAgIHRha2VVbnRpbChkaWFsb2dSZWYub25DbG9zZSksXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gZGlhbG9nUmVmLmNsb3NlKCkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,36 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AutoHeightDirective {
4
+ constructor(el, rdr) {
5
+ this.el = el;
6
+ this.rdr = rdr;
7
+ }
8
+ ngOnInit() {
9
+ setTimeout(() => {
10
+ if (this.ddAutoHeight) {
11
+ let i = 1;
12
+ let parent;
13
+ while (i <= this.ddAutoHeight) {
14
+ parent = parent ? parent.parentNode : this.el.nativeElement.parentNode;
15
+ i++;
16
+ }
17
+ const height = parent.clientHeight;
18
+ if (height) {
19
+ this.rdr.setStyle(this.el.nativeElement, 'height', height + 'px');
20
+ }
21
+ }
22
+ }, 0);
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AutoHeightDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
25
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: AutoHeightDirective, isStandalone: true, selector: "[ddAutoHeight]", inputs: { ddAutoHeight: "ddAutoHeight" }, ngImport: i0 }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AutoHeightDirective, decorators: [{
28
+ type: Directive,
29
+ args: [{
30
+ selector: '[ddAutoHeight]',
31
+ standalone: true,
32
+ }]
33
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { ddAutoHeight: [{
34
+ type: Input
35
+ }] } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1oZWlnaHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvY29yZS9kaXJlY3RpdmVzL2F1dG8taGVpZ2h0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7O0FBTWhGLE1BQU0sT0FBTyxtQkFBbUI7SUFJOUIsWUFBb0IsRUFBYyxFQUFVLEdBQWM7UUFBdEMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQVc7SUFBRyxDQUFDO0lBRXZELFFBQVE7UUFDYixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDVixJQUFJLE1BQVcsQ0FBQztnQkFDaEIsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUM5QixNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7b0JBQ3ZFLENBQUMsRUFBRSxDQUFDO2dCQUNOLENBQUM7Z0JBQ0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztnQkFDbkMsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDO2dCQUNwRSxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7K0dBckJVLG1CQUFtQjttR0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjt1R0FHaUIsWUFBWTtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkZEF1dG9IZWlnaHRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b0hlaWdodERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vINGD0YDQvtCy0LXQvdGMINC00L4g0YDQvtC00LjRgtC10LvRj1xuICBASW5wdXQoKSBwdWJsaWMgZGRBdXRvSGVpZ2h0OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZHI6IFJlbmRlcmVyMikge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5kZEF1dG9IZWlnaHQpIHtcbiAgICAgICAgbGV0IGkgPSAxO1xuICAgICAgICBsZXQgcGFyZW50OiBhbnk7XG4gICAgICAgIHdoaWxlIChpIDw9IHRoaXMuZGRBdXRvSGVpZ2h0KSB7XG4gICAgICAgICAgcGFyZW50ID0gcGFyZW50ID8gcGFyZW50LnBhcmVudE5vZGUgOiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZTtcbiAgICAgICAgICBpKys7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaGVpZ2h0ID0gcGFyZW50LmNsaWVudEhlaWdodDtcbiAgICAgICAgaWYgKGhlaWdodCkge1xuICAgICAgICAgIHRoaXMucmRyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGhlaWdodCArICdweCcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgMCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,42 @@
1
+ import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ClickOutsideDirective {
4
+ constructor(el) {
5
+ this.el = el;
6
+ this.ddClickOutside = new EventEmitter();
7
+ }
8
+ onClick(targetElement) {
9
+ let clickedElemInside = false;
10
+ if (this.elements?.length) {
11
+ this.elements.forEach(el => {
12
+ if (el) {
13
+ const elem = document.getElementById(el);
14
+ if (elem && !clickedElemInside) {
15
+ clickedElemInside = elem.contains(targetElement.target);
16
+ }
17
+ }
18
+ });
19
+ }
20
+ const clickedInside = this.el.nativeElement.contains(targetElement.target);
21
+ if (!clickedElemInside) {
22
+ this.ddClickOutside.emit(clickedInside);
23
+ }
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
26
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ClickOutsideDirective, isStandalone: true, selector: "[ddClickOutside]", inputs: { elements: "elements" }, outputs: { ddClickOutside: "ddClickOutside" }, host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0 }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ClickOutsideDirective, decorators: [{
29
+ type: Directive,
30
+ args: [{
31
+ standalone: true,
32
+ selector: '[ddClickOutside]',
33
+ }]
34
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { elements: [{
35
+ type: Input
36
+ }], ddClickOutside: [{
37
+ type: Output
38
+ }], onClick: [{
39
+ type: HostListener,
40
+ args: ['document:click', ['$event']]
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9jb3JlL2RpcmVjdGl2ZXMvY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTWpHLE1BQU0sT0FBTyxxQkFBcUI7SUFJaEMsWUFBb0IsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7UUFGakIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRWhCLENBQUM7SUFHL0IsT0FBTyxDQUFDLGFBQW9CO1FBQ2pDLElBQUksaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDekIsSUFBSSxFQUFFLEVBQUUsQ0FBQztvQkFDUCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBUSxDQUFDO29CQUNoRCxJQUFJLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7d0JBQy9CLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUMxRCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTNFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDOytHQXpCVSxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7K0VBRWlCLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1csY0FBYztzQkFBOUIsTUFBTTtnQkFLQSxPQUFPO3NCQURiLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHNlbGVjdG9yOiAnW2RkQ2xpY2tPdXRzaWRlXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGlja091dHNpZGVEaXJlY3RpdmUge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlbGVtZW50cyE6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgZGRDbGlja091dHNpZGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgb25DbGljayh0YXJnZXRFbGVtZW50OiBFdmVudCkge1xyXG4gICAgbGV0IGNsaWNrZWRFbGVtSW5zaWRlID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5lbGVtZW50cz8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuZWxlbWVudHMuZm9yRWFjaChlbCA9PiB7XHJcbiAgICAgICAgaWYgKGVsKSB7XHJcbiAgICAgICAgICBjb25zdCBlbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWwpIGFzIGFueTtcclxuICAgICAgICAgIGlmIChlbGVtICYmICFjbGlja2VkRWxlbUluc2lkZSkge1xyXG4gICAgICAgICAgICBjbGlja2VkRWxlbUluc2lkZSA9IGVsZW0uY29udGFpbnModGFyZ2V0RWxlbWVudC50YXJnZXQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY2xpY2tlZEluc2lkZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50LnRhcmdldCk7XHJcblxyXG4gICAgaWYgKCFjbGlja2VkRWxlbUluc2lkZSkge1xyXG4gICAgICB0aGlzLmRkQ2xpY2tPdXRzaWRlLmVtaXQoY2xpY2tlZEluc2lkZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==