@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,76 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class LibRadioComponent {
7
+ constructor() {
8
+ this.disabled = false; // состояние: по умолчанию - активное
9
+ this.required = false;
10
+ this.checked = false;
11
+ this.changed = new EventEmitter();
12
+ this.modelInitialization = true;
13
+ }
14
+ static { this.idCounter = 1; }
15
+ ngOnInit() {
16
+ if (!this.radioId) {
17
+ this.radioId = 'dd-radio-' + LibRadioComponent.idCounter++;
18
+ }
19
+ }
20
+ onSelected(target) {
21
+ this.checked = target?.checked;
22
+ this.propagateChange(this.value);
23
+ this.changed.emit(this.value);
24
+ }
25
+ registerOnChange(fn) {
26
+ this.propagateChange = fn;
27
+ }
28
+ setDisabledState(disabled) {
29
+ this.disabled = disabled;
30
+ }
31
+ registerOnTouched(fn) {
32
+ this.onTouchedCallback = fn;
33
+ }
34
+ writeValue(value) {
35
+ const isInitialization = this.modelInitialization;
36
+ this.modelInitialization = false;
37
+ if (this.checked !== undefined && value === undefined && isInitialization) {
38
+ return;
39
+ }
40
+ this.checked = value === this.value;
41
+ }
42
+ propagateChange(_value) { }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LibRadioComponent, isStandalone: true, selector: "dd-lib-radio", inputs: { radioId: "radioId", disabled: "disabled", required: "required", name: "name", value: "value", checked: "checked" }, outputs: { changed: "changed" }, providers: [
45
+ {
46
+ provide: NG_VALUE_ACCESSOR,
47
+ useExisting: forwardRef(() => LibRadioComponent),
48
+ multi: true,
49
+ },
50
+ ], ngImport: i0, template: "<label [for]=\"radioId\" class=\"radio\">\n <input\n (change)=\"onSelected($event.target)\"\n [attr.aria-checked]=\"checked\"\n [attr.tabIndex]=\"disabled ? -1 : 0\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"radioId\"\n [name]=\"name\"\n [ngClass]=\"{ disabled: disabled }\"\n [required]=\"required\"\n class=\"radio-input\"\n role=\"radio\"\n type=\"radio\" />\n <div [class.focused]=\"focused\" class=\"mark-wrap\">\n <div class=\"radio-button\"></div>\n </div>\n <div class=\"label-wrap\">\n <span><ng-content></ng-content></span>\n </div>\n</label>\n", styles: [":host{outline:none}.radio{display:flex;align-items:center;position:relative;font-size:16px;cursor:pointer}.radio-input{opacity:0;position:absolute;z-index:-1}.radio-input:focus{opacity:1;width:24px;height:24px;left:0;top:0;margin:0;border-color:#000}.radio-input:focus:not(:focus-visible){opacity:0;border:0;outline:0;margin:0;width:inherit;height:inherit}.radio-input:checked~.label-wrap{font-weight:700}.radio-input:checked+.mark-wrap{border:2px solid var(--radio-active-color)}.radio-input:checked+.mark-wrap .radio-button{background-color:var(--radio-active-color);border:2px solid #fff;width:16px;height:16px}.radio-input:checked:disabled+.mark-wrap,.radio-input:checked:disabled:hover+.mark-wrap{border-color:var(--radio-disabled);cursor:default}.radio-input:checked:disabled+.mark-wrap .radio-button,.radio-input:checked:disabled:hover+.mark-wrap .radio-button{cursor:default;background-color:var(--radio-disabled);border:2px solid #fff}.radio-input:disabled+.mark-wrap,.radio-input:disabled:hover+.mark-wrap{border-color:var(--radio-disabled);cursor:default}.radio-input:disabled+.mark-wrap .radio-button,.radio-input:disabled:hover+.mark-wrap .radio-button{cursor:default;border:2px solid #fff}.radio-input:hover+.mark-wrap{border-color:#1c1c1c}.radio-input:hover+.mark-wrap .radio-button{border-color:#1c1c1c}.radio-input:checked:hover+.mark-wrap{cursor:pointer;border:2px solid var(--radio-hover-color)}.radio-input:checked:hover+.mark-wrap .radio-button{cursor:pointer;background-color:var(--radio-hover-color);border:2px solid #fff}.mark-wrap{border-radius:100%;border:1px solid #d7d7d7;background:#fff;margin-right:12px}.radio-button{box-sizing:border-box;border-radius:100%;width:18px;height:18px}.label-wrap{display:inline-block;line-height:19px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibRadioComponent, decorators: [{
53
+ type: Component,
54
+ args: [{ selector: 'dd-lib-radio', standalone: true, imports: [CommonModule, FormsModule, ReactiveFormsModule], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
55
+ {
56
+ provide: NG_VALUE_ACCESSOR,
57
+ useExisting: forwardRef(() => LibRadioComponent),
58
+ multi: true,
59
+ },
60
+ ], template: "<label [for]=\"radioId\" class=\"radio\">\n <input\n (change)=\"onSelected($event.target)\"\n [attr.aria-checked]=\"checked\"\n [attr.tabIndex]=\"disabled ? -1 : 0\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"radioId\"\n [name]=\"name\"\n [ngClass]=\"{ disabled: disabled }\"\n [required]=\"required\"\n class=\"radio-input\"\n role=\"radio\"\n type=\"radio\" />\n <div [class.focused]=\"focused\" class=\"mark-wrap\">\n <div class=\"radio-button\"></div>\n </div>\n <div class=\"label-wrap\">\n <span><ng-content></ng-content></span>\n </div>\n</label>\n", styles: [":host{outline:none}.radio{display:flex;align-items:center;position:relative;font-size:16px;cursor:pointer}.radio-input{opacity:0;position:absolute;z-index:-1}.radio-input:focus{opacity:1;width:24px;height:24px;left:0;top:0;margin:0;border-color:#000}.radio-input:focus:not(:focus-visible){opacity:0;border:0;outline:0;margin:0;width:inherit;height:inherit}.radio-input:checked~.label-wrap{font-weight:700}.radio-input:checked+.mark-wrap{border:2px solid var(--radio-active-color)}.radio-input:checked+.mark-wrap .radio-button{background-color:var(--radio-active-color);border:2px solid #fff;width:16px;height:16px}.radio-input:checked:disabled+.mark-wrap,.radio-input:checked:disabled:hover+.mark-wrap{border-color:var(--radio-disabled);cursor:default}.radio-input:checked:disabled+.mark-wrap .radio-button,.radio-input:checked:disabled:hover+.mark-wrap .radio-button{cursor:default;background-color:var(--radio-disabled);border:2px solid #fff}.radio-input:disabled+.mark-wrap,.radio-input:disabled:hover+.mark-wrap{border-color:var(--radio-disabled);cursor:default}.radio-input:disabled+.mark-wrap .radio-button,.radio-input:disabled:hover+.mark-wrap .radio-button{cursor:default;border:2px solid #fff}.radio-input:hover+.mark-wrap{border-color:#1c1c1c}.radio-input:hover+.mark-wrap .radio-button{border-color:#1c1c1c}.radio-input:checked:hover+.mark-wrap{cursor:pointer;border:2px solid var(--radio-hover-color)}.radio-input:checked:hover+.mark-wrap .radio-button{cursor:pointer;background-color:var(--radio-hover-color);border:2px solid #fff}.mark-wrap{border-radius:100%;border:1px solid #d7d7d7;background:#fff;margin-right:12px}.radio-button{box-sizing:border-box;border-radius:100%;width:18px;height:18px}.label-wrap{display:inline-block;line-height:19px}\n"] }]
61
+ }], propDecorators: { radioId: [{
62
+ type: Input
63
+ }], disabled: [{
64
+ type: Input
65
+ }], required: [{
66
+ type: Input
67
+ }], name: [{
68
+ type: Input
69
+ }], value: [{
70
+ type: Input
71
+ }], checked: [{
72
+ type: Input
73
+ }], changed: [{
74
+ type: Output
75
+ }] } });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2xpYi1yYWRpby9saWItcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXJhZGlvL2xpYi1yYWRpby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWlCM0csTUFBTSxPQUFPLGlCQUFpQjtJQWY5QjtRQW1Ca0IsYUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLHFDQUFxQztRQUN2RCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2pCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFZixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUl0Qyx3QkFBbUIsR0FBRyxJQUFJLENBQUM7S0FvQ3BDO2FBakRlLGNBQVMsR0FBRyxDQUFDLEFBQUosQ0FBSztJQWVyQixRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM3RCxDQUFDO0lBQ0gsQ0FBQztJQUVNLFVBQVUsQ0FBQyxNQUEwQjtRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFJLE1BQTJCLEVBQUUsT0FBTyxDQUFDO1FBQ3JELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsRUFBTztRQUM3QixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsUUFBaUI7UUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEVBQU87UUFDOUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQVU7UUFDMUIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDbEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUMxRSxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVPLGVBQWUsQ0FBQyxNQUFXLElBQUcsQ0FBQzsrR0FqRDVCLGlCQUFpQjttR0FBakIsaUJBQWlCLDBOQVJqQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkN6Qkgsd29CQXNCQSw2eEREUFksWUFBWSw0SEFBRSxXQUFXLDhCQUFFLG1CQUFtQjs7NEZBWTdDLGlCQUFpQjtrQkFmN0IsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxtQkFHeEMsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBS2UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBRVcsT0FBTztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1yYWRpbycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYi1yYWRpby5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2xpYi1yYWRpby5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMaWJSYWRpb0NvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliUmFkaW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBwdWJsaWMgc3RhdGljIGlkQ291bnRlciA9IDE7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyByYWRpb0lkOiBzdHJpbmcgfCB1bmRlZmluZWQ7IC8vIGlucHV0IElEOiDQtdGB0LvQuCDQvdC1INGD0LrQsNC30LDQvSwg0LPQtdC90LXRgNC40YDRg9C10YLRgdGPINGD0L3QuNC60LDQu9GM0L3Ri9C5IElEXHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7IC8vINGB0L7RgdGC0L7Rj9C90LjQtTog0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gLSDQsNC60YLQuNCy0L3QvtC1XHJcbiAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgdmFsdWU6IGFueTtcclxuICBASW5wdXQoKSBwdWJsaWMgY2hlY2tlZCA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHB1YmxpYyBmb2N1c2VkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyBvblRvdWNoZWRDYWxsYmFjazogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgbW9kZWxJbml0aWFsaXphdGlvbiA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghdGhpcy5yYWRpb0lkKSB7XHJcbiAgICAgIHRoaXMucmFkaW9JZCA9ICdkZC1yYWRpby0nICsgTGliUmFkaW9Db21wb25lbnQuaWRDb3VudGVyKys7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TZWxlY3RlZCh0YXJnZXQ6IEV2ZW50VGFyZ2V0IHwgbnVsbCkge1xyXG4gICAgdGhpcy5jaGVja2VkID0gKHRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8uY2hlY2tlZDtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBpc0luaXRpYWxpemF0aW9uID0gdGhpcy5tb2RlbEluaXRpYWxpemF0aW9uO1xyXG4gICAgdGhpcy5tb2RlbEluaXRpYWxpemF0aW9uID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5jaGVja2VkICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgPT09IHVuZGVmaW5lZCAmJiBpc0luaXRpYWxpemF0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuY2hlY2tlZCA9IHZhbHVlID09PSB0aGlzLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcm9wYWdhdGVDaGFuZ2UoX3ZhbHVlOiBhbnkpIHt9XHJcbn1cclxuIiwiPGxhYmVsIFtmb3JdPVwicmFkaW9JZFwiIGNsYXNzPVwicmFkaW9cIj5cbiAgPGlucHV0XG4gICAgKGNoYW5nZSk9XCJvblNlbGVjdGVkKCRldmVudC50YXJnZXQpXCJcbiAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiY2hlY2tlZFwiXG4gICAgW2F0dHIudGFiSW5kZXhdPVwiZGlzYWJsZWQgPyAtMSA6IDBcIlxuICAgIFthdHRyLnZhbHVlXT1cInZhbHVlXCJcbiAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtpZF09XCJyYWRpb0lkXCJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCB9XCJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIGNsYXNzPVwicmFkaW8taW5wdXRcIlxuICAgIHJvbGU9XCJyYWRpb1wiXG4gICAgdHlwZT1cInJhZGlvXCIgLz5cbiAgPGRpdiBbY2xhc3MuZm9jdXNlZF09XCJmb2N1c2VkXCIgY2xhc3M9XCJtYXJrLXdyYXBcIj5cbiAgICA8ZGl2IGNsYXNzPVwicmFkaW8tYnV0dG9uXCI+PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibGFiZWwtd3JhcFwiPlxuICAgIDxzcGFuPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwYW4+XG4gIDwvZGl2PlxuPC9sYWJlbD5cbiJdfQ==
@@ -0,0 +1,91 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
+ import { NgOptimizedImage } from '@angular/common';
4
+ import { LibCommonInputTextComponent } from '../common/lib-common-input-text';
5
+ import { LibCardComponent } from '../lib-card/lib-card.component';
6
+ import { of, Subject } from 'rxjs';
7
+ import { debounceTime, delay, map, mergeMap, takeUntil } from 'rxjs/operators';
8
+ import { DestroyService, HighlightPipe, SafePipe } from "../core";
9
+ import { LibSvgIconComponent } from "../lib-svg-icon/lib-svg-icon.component";
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "../core";
12
+ import * as i2 from "@angular/forms";
13
+ export class LibSearchInputComponent extends LibCommonInputTextComponent {
14
+ constructor(destroy$, changeDetection, cdr) {
15
+ super(changeDetection);
16
+ this.destroy$ = destroy$;
17
+ this.cdr = cdr;
18
+ this.keyTitle = 'title';
19
+ this.keyDesc = 'description';
20
+ this.styleInput = 'standard';
21
+ this.inputStyle = 'gray';
22
+ this.debounceTime = 100;
23
+ this.delay = 0;
24
+ this.keyupEvent = new EventEmitter();
25
+ this.selectedItem = new EventEmitter();
26
+ this.keyUp = new Subject();
27
+ }
28
+ ngOnInit() {
29
+ if (this.commitOnInput) {
30
+ this.keyUp
31
+ .pipe(map(event => event.target?.value), debounceTime(this.debounceTime),
32
+ // distinctUntilChanged(), надо ли?
33
+ mergeMap(search => of(search).pipe(delay(this.delay))), takeUntil(this.destroy$))
34
+ .subscribe(str => {
35
+ this.keyupEvent.emit(str);
36
+ });
37
+ }
38
+ }
39
+ forceChange() {
40
+ if (!this.commitOnInput) {
41
+ this.keyupEvent.emit(this.value);
42
+ }
43
+ }
44
+ onClear(noEmit) {
45
+ this.value = '';
46
+ if (!noEmit) {
47
+ this.cleared.emit();
48
+ this.keyupEvent.emit('');
49
+ }
50
+ this.inputSearchElement?.nativeElement.focus();
51
+ this.cdr.detectChanges();
52
+ }
53
+ onClickSearchItem(item) {
54
+ this.onClear();
55
+ this.selectedItem.emit(item);
56
+ this.value = this.getTitle(item);
57
+ }
58
+ getTitle(item) {
59
+ return item[this.keyTitle];
60
+ }
61
+ getDesc(item) {
62
+ return item[this.keyDesc];
63
+ }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibSearchInputComponent, deps: [{ token: i1.DestroyService }, { token: i0.ChangeDetectorRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LibSearchInputComponent, isStandalone: true, selector: "dd-lib-search-input", inputs: { keyTitle: "keyTitle", keyDesc: "keyDesc", styleInput: "styleInput", inputStyle: "inputStyle", searchData: "searchData", debounceTime: "debounceTime", delay: "delay", idClose: "idClose" }, outputs: { keyupEvent: "keyupEvent", selectedItem: "selectedItem" }, providers: [DestroyService], usesInheritance: true, ngImport: i0, template: "<div class=\"lib-search-input\">\r\n <label [for]=\"id\" class=\"lib-search-input__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n <div class=\"pos-relative\">\r\n <dd-lib-svg-icon (click)=\"forceChange()\" class=\"search-icon\" icon=\"search\"></dd-lib-svg-icon>\r\n <input\r\n #searchInput\r\n (keyup)=\"keyUp.next($event)\"\r\n (keyup.enter)=\"forceChange()\"\r\n [(ngModel)]=\"value\"\r\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.name]=\"name\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [attr.type]=\"type || 'text'\"\r\n [class.focused]=\"focused\"\r\n [class.round]=\"styleInput === 'round'\"\r\n [class.white]=\"inputStyle === 'white'\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readOnly\"\r\n class=\"search-input\" />\r\n <dd-lib-svg-icon\r\n (click)=\"onClear()\"\r\n [id]=\"idClose\" [style.display]=\"value?.length ? 'block' : 'none'\"\r\n class=\"clear-icon\" icon=\"clear\"></dd-lib-svg-icon>\r\n </div>\r\n\r\n @if (searchData?.length) {\r\n <dd-lib-card>\r\n @for (item of searchData; track item) {\r\n <div (click)=\"onClickSearchItem(item)\" class=\"search-result\">\r\n @if (getTitle(item); as title) {\r\n <div [innerHTML]=\"title | highlight: value | safe: 'html'\" class=\"search-result__title\"></div>\r\n } @if (getDesc(item); as desc) {\r\n <div [innerHTML]=\"desc | highlight: value | safe: 'html'\" class=\"search-result__desc\"></div>\r\n }\r\n </div>\r\n }\r\n </dd-lib-card>\r\n }\r\n</div>\r\n", styles: [":host{display:block}.lib-search-input{position:relative}.lib-search-input__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-search-input input{width:100%;height:48px;padding:16px 16px 15px 44px;border-radius:8px;border:none;background-color:var(--input-gray-bgc)}.lib-search-input input.white{background-color:var(--white-color);border:1px solid var(--primary-gray-color)}.lib-search-input .round{border-radius:24px}.lib-search-input .search-icon{position:absolute;left:16px;top:14px;cursor:pointer}.lib-search-input .clear-icon{position:absolute;right:16px;top:14px;cursor:pointer}.lib-search-input .search-result{font-size:16px;font-weight:400;line-height:24px;letter-spacing:0;text-align:left;cursor:pointer}.lib-search-input .search-result:hover{opacity:.8}.lib-search-input .search-result:last-child .search-result__desc{border:none;padding-bottom:0}.lib-search-input .search-result__title{color:var(--second-gray-color);margin:24px 0 2px}.lib-search-input .search-result__desc{padding-bottom:16px;border-bottom:1px solid var(--gray-color-200)}.lib-search-input dd-lib-card{position:absolute;display:block;top:76px;z-index:100;width:100%;max-height:400px;box-shadow:var(--main-card-shadow);overflow:auto}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LibCardComponent, selector: "dd-lib-card", inputs: ["type", "footerBtn", "sHeight", "skeleton", "parentLvlForSkeleton", "plugs", "borderRadius"], outputs: ["cardBtnEvent"] }, { kind: "pipe", type: HighlightPipe, name: "highlight" }, { kind: "pipe", type: SafePipe, name: "safe" }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
66
+ }
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibSearchInputComponent, decorators: [{
68
+ type: Component,
69
+ args: [{ selector: 'dd-lib-search-input', standalone: true, imports: [FormsModule, NgOptimizedImage, LibCardComponent, HighlightPipe, SafePipe, LibSvgIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [DestroyService], template: "<div class=\"lib-search-input\">\r\n <label [for]=\"id\" class=\"lib-search-input__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n <div class=\"pos-relative\">\r\n <dd-lib-svg-icon (click)=\"forceChange()\" class=\"search-icon\" icon=\"search\"></dd-lib-svg-icon>\r\n <input\r\n #searchInput\r\n (keyup)=\"keyUp.next($event)\"\r\n (keyup.enter)=\"forceChange()\"\r\n [(ngModel)]=\"value\"\r\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.name]=\"name\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [attr.type]=\"type || 'text'\"\r\n [class.focused]=\"focused\"\r\n [class.round]=\"styleInput === 'round'\"\r\n [class.white]=\"inputStyle === 'white'\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readOnly\"\r\n class=\"search-input\" />\r\n <dd-lib-svg-icon\r\n (click)=\"onClear()\"\r\n [id]=\"idClose\" [style.display]=\"value?.length ? 'block' : 'none'\"\r\n class=\"clear-icon\" icon=\"clear\"></dd-lib-svg-icon>\r\n </div>\r\n\r\n @if (searchData?.length) {\r\n <dd-lib-card>\r\n @for (item of searchData; track item) {\r\n <div (click)=\"onClickSearchItem(item)\" class=\"search-result\">\r\n @if (getTitle(item); as title) {\r\n <div [innerHTML]=\"title | highlight: value | safe: 'html'\" class=\"search-result__title\"></div>\r\n } @if (getDesc(item); as desc) {\r\n <div [innerHTML]=\"desc | highlight: value | safe: 'html'\" class=\"search-result__desc\"></div>\r\n }\r\n </div>\r\n }\r\n </dd-lib-card>\r\n }\r\n</div>\r\n", styles: [":host{display:block}.lib-search-input{position:relative}.lib-search-input__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-search-input input{width:100%;height:48px;padding:16px 16px 15px 44px;border-radius:8px;border:none;background-color:var(--input-gray-bgc)}.lib-search-input input.white{background-color:var(--white-color);border:1px solid var(--primary-gray-color)}.lib-search-input .round{border-radius:24px}.lib-search-input .search-icon{position:absolute;left:16px;top:14px;cursor:pointer}.lib-search-input .clear-icon{position:absolute;right:16px;top:14px;cursor:pointer}.lib-search-input .search-result{font-size:16px;font-weight:400;line-height:24px;letter-spacing:0;text-align:left;cursor:pointer}.lib-search-input .search-result:hover{opacity:.8}.lib-search-input .search-result:last-child .search-result__desc{border:none;padding-bottom:0}.lib-search-input .search-result__title{color:var(--second-gray-color);margin:24px 0 2px}.lib-search-input .search-result__desc{padding-bottom:16px;border-bottom:1px solid var(--gray-color-200)}.lib-search-input dd-lib-card{position:absolute;display:block;top:76px;z-index:100;width:100%;max-height:400px;box-shadow:var(--main-card-shadow);overflow:auto}\n"] }]
70
+ }], ctorParameters: () => [{ type: i1.DestroyService }, { type: i0.ChangeDetectorRef }, { type: i0.ChangeDetectorRef }], propDecorators: { keyTitle: [{
71
+ type: Input
72
+ }], keyDesc: [{
73
+ type: Input
74
+ }], styleInput: [{
75
+ type: Input
76
+ }], inputStyle: [{
77
+ type: Input
78
+ }], searchData: [{
79
+ type: Input
80
+ }], debounceTime: [{
81
+ type: Input
82
+ }], delay: [{
83
+ type: Input
84
+ }], idClose: [{
85
+ type: Input
86
+ }], keyupEvent: [{
87
+ type: Output
88
+ }], selectedItem: [{
89
+ type: Output
90
+ }] } });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXNlYXJjaC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9saWItc2VhcmNoLWlucHV0L2xpYi1zZWFyY2gtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXNlYXJjaC1pbnB1dC9saWItc2VhcmNoLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsRUFBRSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBQyxjQUFjLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUNoRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQVczRSxNQUFNLE9BQU8sdUJBQTJCLFNBQVEsMkJBQTJCO0lBYXpFLFlBQ1UsUUFBd0IsRUFDaEMsZUFBa0MsRUFDMUIsR0FBc0I7UUFFOUIsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBSmYsYUFB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LENBQUMsbUJBR3ZGLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLENBQUM7bUpBR1gsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNXLFVBQVU7c0JBQTFCLE1BQU07Z0JBQ1UsWUFBWTtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7TmdPcHRpbWl6ZWRJbWFnZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtMaWJDb21tb25JbnB1dFRleHRDb21wb25lbnR9IGZyb20gJy4uL2NvbW1vbi9saWItY29tbW9uLWlucHV0LXRleHQnO1xyXG5pbXBvcnQge0xpYkNhcmRDb21wb25lbnR9IGZyb20gJy4uL2xpYi1jYXJkL2xpYi1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7b2YsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge2RlYm91bmNlVGltZSwgZGVsYXksIG1hcCwgbWVyZ2VNYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge0Rlc3Ryb3lTZXJ2aWNlLCBIaWdobGlnaHRQaXBlLCBTYWZlUGlwZX0gZnJvbSBcIi4uL2NvcmVcIjtcclxuaW1wb3J0IHtMaWJTdmdJY29uQ29tcG9uZW50fSBmcm9tIFwiLi4vbGliLXN2Zy1pY29uL2xpYi1zdmctaWNvbi5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGQtbGliLXNlYXJjaC1pbnB1dCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIE5nT3B0aW1pemVkSW1hZ2UsIExpYkNhcmRDb21wb25lbnQsIEhpZ2hsaWdodFBpcGUsIFNhZmVQaXBlLCBMaWJTdmdJY29uQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGliLXNlYXJjaC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2xpYi1zZWFyY2gtaW5wdXQuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW0Rlc3Ryb3lTZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpYlNlYXJjaElucHV0Q29tcG9uZW50PFQ+IGV4dGVuZHMgTGliQ29tbW9uSW5wdXRUZXh0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBwdWJsaWMga2V5VGl0bGUgPSAndGl0bGUnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBrZXlEZXNjID0gJ2Rlc2NyaXB0aW9uJztcclxuICBASW5wdXQoKSBwdWJsaWMgc3R5bGVJbnB1dDogJ3JvdW5kJyB8ICdzdGFuZGFyZCcgPSAnc3RhbmRhcmQnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnB1dFN0eWxlOiAnd2hpdGUnIHwgJ2dyYXknID0gJ2dyYXknO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hEYXRhOiBUW10gfCBudWxsIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkZWJvdW5jZVRpbWUgPSAxMDA7XHJcbiAgQElucHV0KCkgcHVibGljIGRlbGF5ID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgaWRDbG9zZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMga2V5dXBFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VsZWN0ZWRJdGVtID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHB1YmxpYyBrZXlVcCA9IG5ldyBTdWJqZWN0PEtleWJvYXJkRXZlbnQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkZXN0cm95JDogRGVzdHJveVNlcnZpY2UsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICkge1xyXG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0aW9uKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNvbW1pdE9uSW5wdXQpIHtcclxuICAgICAgdGhpcy5rZXlVcFxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgbWFwKGV2ZW50ID0+IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LnZhbHVlKSxcclxuICAgICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZSksXHJcbiAgICAgICAgICAvLyBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCDQvdCw0LTQviDQu9C4P1xyXG4gICAgICAgICAgbWVyZ2VNYXAoc2VhcmNoID0+IG9mKHNlYXJjaCkucGlwZShkZWxheSh0aGlzLmRlbGF5KSkpLFxyXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKHN0ciA9PiB7XHJcbiAgICAgICAgICB0aGlzLmtleXVwRXZlbnQuZW1pdChzdHIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG92ZXJyaWRlIGZvcmNlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNvbW1pdE9uSW5wdXQpIHtcclxuICAgICAgdGhpcy5rZXl1cEV2ZW50LmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DbGVhcihub0VtaXQ/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gJyc7XHJcbiAgICBpZiAoIW5vRW1pdCkge1xyXG4gICAgICB0aGlzLmNsZWFyZWQuZW1pdCgpO1xyXG4gICAgICB0aGlzLmtleXVwRXZlbnQuZW1pdCgnJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlucHV0U2VhcmNoRWxlbWVudD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xpY2tTZWFyY2hJdGVtKGl0ZW06IFQpOiB2b2lkIHtcclxuICAgIHRoaXMub25DbGVhcigpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdChpdGVtKTtcclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLmdldFRpdGxlKGl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRpdGxlKGl0ZW06IFQpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGl0ZW1bdGhpcy5rZXlUaXRsZSBhcyBrZXlvZiB0eXBlb2YgaXRlbV0gYXMgc3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldERlc2MoaXRlbTogVCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gaXRlbVt0aGlzLmtleURlc2MgYXMga2V5b2YgdHlwZW9mIGl0ZW1dIGFzIHN0cmluZztcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImxpYi1zZWFyY2gtaW5wdXRcIj5cclxuICA8bGFiZWwgW2Zvcl09XCJpZFwiIGNsYXNzPVwibGliLXNlYXJjaC1pbnB1dF9fdGl0bGVcIj5cclxuICAgIHt7IGxhYmVsIH19XHJcbiAgICBAaWYgKHJlcXVpcmVkKSB7XHJcbiAgICAgIDxkZC1saWItc3ZnLWljb24gaWNvbj1cImVycm9yX2hpbnRcIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICAgIH1cclxuICA8L2xhYmVsPlxyXG4gIDxkaXYgY2xhc3M9XCJwb3MtcmVsYXRpdmVcIj5cclxuICAgIDxkZC1saWItc3ZnLWljb24gKGNsaWNrKT1cImZvcmNlQ2hhbmdlKClcIiBjbGFzcz1cInNlYXJjaC1pY29uXCIgaWNvbj1cInNlYXJjaFwiPjwvZGQtbGliLXN2Zy1pY29uPlxyXG4gICAgPGlucHV0XHJcbiAgICAgICNzZWFyY2hJbnB1dFxyXG4gICAgICAoa2V5dXApPVwia2V5VXAubmV4dCgkZXZlbnQpXCJcclxuICAgICAgKGtleXVwLmVudGVyKT1cImZvcmNlQ2hhbmdlKClcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGF1dG9jb21wbGV0ZVwiXHJcbiAgICAgIFthdHRyLmlkXT1cImlkID8gaWQgOiBudWxsXCJcclxuICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiXHJcbiAgICAgIFthdHRyLm1pbmxlbmd0aF09XCJtaW5sZW5ndGhcIlxyXG4gICAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxyXG4gICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIFthdHRyLnRhYkluZGV4XT1cInRhYkluZGV4XCJcclxuICAgICAgW2F0dHIudHlwZV09XCJ0eXBlIHx8ICd0ZXh0J1wiXHJcbiAgICAgIFtjbGFzcy5mb2N1c2VkXT1cImZvY3VzZWRcIlxyXG4gICAgICBbY2xhc3Mucm91bmRdPVwic3R5bGVJbnB1dCA9PT0gJ3JvdW5kJ1wiXHJcbiAgICAgIFtjbGFzcy53aGl0ZV09XCJpbnB1dFN0eWxlID09PSAnd2hpdGUnXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcclxuICAgICAgY2xhc3M9XCJzZWFyY2gtaW5wdXRcIiAvPlxyXG4gICAgPGRkLWxpYi1zdmctaWNvblxyXG4gICAgICAoY2xpY2spPVwib25DbGVhcigpXCJcclxuICAgICAgW2lkXT1cImlkQ2xvc2VcIiBbc3R5bGUuZGlzcGxheV09XCJ2YWx1ZT8ubGVuZ3RoID8gJ2Jsb2NrJyA6ICdub25lJ1wiXHJcbiAgICAgIGNsYXNzPVwiY2xlYXItaWNvblwiIGljb249XCJjbGVhclwiPjwvZGQtbGliLXN2Zy1pY29uPlxyXG4gIDwvZGl2PlxyXG5cclxuICBAaWYgKHNlYXJjaERhdGE/Lmxlbmd0aCkge1xyXG4gIDxkZC1saWItY2FyZD5cclxuICAgIEBmb3IgKGl0ZW0gb2Ygc2VhcmNoRGF0YTsgdHJhY2sgaXRlbSkge1xyXG4gICAgPGRpdiAoY2xpY2spPVwib25DbGlja1NlYXJjaEl0ZW0oaXRlbSlcIiBjbGFzcz1cInNlYXJjaC1yZXN1bHRcIj5cclxuICAgICAgQGlmIChnZXRUaXRsZShpdGVtKTsgYXMgdGl0bGUpIHtcclxuICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInRpdGxlIHwgaGlnaGxpZ2h0OiB2YWx1ZSB8IHNhZmU6ICdodG1sJ1wiIGNsYXNzPVwic2VhcmNoLXJlc3VsdF9fdGl0bGVcIj48L2Rpdj5cclxuICAgICAgfSBAaWYgKGdldERlc2MoaXRlbSk7IGFzIGRlc2MpIHtcclxuICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImRlc2MgfCBoaWdobGlnaHQ6IHZhbHVlIHwgc2FmZTogJ2h0bWwnXCIgY2xhc3M9XCJzZWFyY2gtcmVzdWx0X19kZXNjXCI+PC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGQtbGliLWNhcmQ+XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,137 @@
1
+ import { ChangeDetectionStrategy, Component, forwardRef, Host, Input, Optional, SkipSelf, } from '@angular/core';
2
+ import { NgOptimizedImage } from '@angular/common';
3
+ import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms';
4
+ import { LibCommonInputTextComponent } from '../common/lib-common-input-text';
5
+ import { LibCardComponent } from '../lib-card/lib-card.component';
6
+ import { LibLoaderComponent } from '../lib-loader/lib-loader.component';
7
+ import { LibSvgIconComponent } from "../lib-svg-icon/lib-svg-icon.component";
8
+ import { ClickOutsideDirective, FilterByKeyPipe, HighlightPipe, SafePipe } from "../core";
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/forms";
11
+ export class LibSelectComponent extends LibCommonInputTextComponent {
12
+ static { this.idCounter = 1; }
13
+ constructor(changeDetection, controlContainer) {
14
+ super(changeDetection);
15
+ this.controlContainer = controlContainer;
16
+ this.placeholder = 'Выберите из списка';
17
+ }
18
+ ngOnInit() {
19
+ if (!this.selectId) {
20
+ this.selectId = 'dd-select-' + LibSelectComponent.idCounter++;
21
+ }
22
+ if (this.keyTitle && !this.keyValue) {
23
+ this.keyValue = this.keyTitle;
24
+ }
25
+ this.control =
26
+ this.controlContainer && this.formControlName
27
+ ? this.controlContainer?.control?.get(this.formControlName)
28
+ : null;
29
+ }
30
+ registerOnChange(fn) {
31
+ this.propagateChange = fn;
32
+ super.registerOnChange(fn);
33
+ }
34
+ registerOnTouched(fn) {
35
+ this.onTouchedCallback = fn;
36
+ super.registerOnTouched(fn);
37
+ }
38
+ handleInput(e) {
39
+ this.isShownList = true;
40
+ this.searchValue = this.inputValue;
41
+ super.handleInput(e);
42
+ }
43
+ notifyFocusEvent(e) {
44
+ if (!this.disabled) {
45
+ this.isShownList = !this.isShownList;
46
+ }
47
+ super.notifyFocusEvent(e);
48
+ }
49
+ writeValue(value) {
50
+ this.value = value;
51
+ this.inputValue = value;
52
+ }
53
+ selectItem(item) {
54
+ if (typeof item === 'string') {
55
+ if (!this.checkedItem) {
56
+ this.checkedItem = item;
57
+ this.inputValue = item;
58
+ this.value = item;
59
+ this.propagateChange(this.value);
60
+ }
61
+ else {
62
+ this.checkedItem = null;
63
+ this.inputValue = undefined;
64
+ this.value = undefined;
65
+ this.propagateChange(undefined);
66
+ }
67
+ }
68
+ else {
69
+ if (!this.checkedItem || item[this.keyValue] !== this.checkedItem?.[this.keyValue]) {
70
+ this.checkedItem = item;
71
+ this.inputValue = this.checkedItem[this.keyTitle];
72
+ this.value = item[this.keyValue];
73
+ this.propagateChange(this.value);
74
+ }
75
+ else {
76
+ this.checkedItem = null;
77
+ this.inputValue = undefined;
78
+ this.value = undefined;
79
+ this.propagateChange(undefined);
80
+ }
81
+ }
82
+ this.searchValue = undefined;
83
+ this.isShownList = false;
84
+ }
85
+ filterList(item) {
86
+ return item[this.keyTitle]?.toLowerCase().includes(this.searchValue?.toLowerCase() || '');
87
+ }
88
+ propagateChange(_value) { }
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibSelectComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ControlContainer, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
90
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LibSelectComponent, isStandalone: true, selector: "dd-lib-select", inputs: { selectId: "selectId", data: "data", keyTitle: "keyTitle", keyDesc: "keyDesc", keyValue: "keyValue", placeholder: "placeholder" }, providers: [
91
+ {
92
+ provide: NG_VALUE_ACCESSOR,
93
+ useExisting: forwardRef(() => LibSelectComponent),
94
+ multi: true,
95
+ },
96
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"lib-select\" id=\"lib-select-{{ selectId }}\">\n <label [for]=\"id\" class=\"lib-select__title\">\n {{ label }}\n @if (required) {\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\n }\n </label>\n\n <div class=\"pos-relative\">\n <input\n #select\n (change)=\"handleChange()\"\n (click)=\"notifyFocusEvent($event)\"\n (input)=\"handleInput($event)\"\n [(ngModel)]=\"inputValue\"\n [attr.id]=\"selectId\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.tabIndex]=\"tabIndex\"\n [attr.type]=\"'text'\"\n [class.focused]=\"focused\"\n [class.invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [title]=\"inputValue\"\n class=\"text-select\" />\n <!-- (blur)=\"notifyFocusEvent($event)\"-->\n @if (!checkedItem) {\n <dd-lib-svg-icon\n (click)=\"notifyFocusEvent($event)\"\n [class.black-svg]=\"isShownList\"\n [class.disabled]=\"disabled\"\n [class.gray-svg]=\"!isShownList\"\n [class.up]=\"isShownList\"\n id=\"chevron-{{ selectId }}\" class=\"chevron\" icon=\"down_chevron\"></dd-lib-svg-icon>\n\n } @else {\n <dd-lib-svg-icon\n (click)=\"selectItem(checkedItem)\"\n class=\"clear\"\n id=\"chevron-{{ selectId }}\" icon=\"clear\"></dd-lib-svg-icon>\n\n }\n </div>\n\n @if (errorText && invalid) {\n <div class=\"lib-select__error\">{{ errorText }}</div>\n } @if (isShownList) {\n <div\n (ddClickOutside)=\"notifyFocusEvent($event)\"\n [elements]=\"['lib-select-' + selectId, 'chevron' + selectId]\"\n class=\"select-list-wrapper\">\n @if (data?.length) { @for (item of data | filterByKey: filterList.bind(this); track item) {\n <div\n (click)=\"selectItem(item)\"\n [class.active]=\"checkedItem?.[keyValue!] === item[keyValue!] || checkedItem === item\"\n class=\"select-data\">\n @if (!keyDesc && !keyTitle) {\n <div [innerHTML]=\"item | highlight: inputValue | safe: 'html'\" class=\"select-data__title\"></div>\n } @if (keyTitle) {\n <div\n [innerHTML]=\"item[keyTitle!] | highlight: inputValue | safe: 'html'\"\n class=\"select-data__title\"></div>\n } @if (keyDesc) {\n <div\n [innerHTML]=\"item[keyDesc!] | highlight: inputValue | safe: 'html'\"\n [title]=\"item[keyDesc]\"\n class=\"select-data__desc\"></div>\n } @if (checkedItem?.[keyValue!] === item?.[keyValue!] || checkedItem === item) {\n <dd-lib-svg-icon\n (click)=\"selectItem(checkedItem)\"\n class=\"checked\"\n id=\"chevron-{{ selectId }}\" icon=\"check_green\"></dd-lib-svg-icon>\n }\n </div>\n } } @else {\n <div class=\"select-loader\">\n <dd-lib-loader></dd-lib-loader>\n </div>\n }\n </div>\n }\n</div>\n", styles: [".lib-select{position:relative}.lib-select input{width:100%;height:48px;padding:15px 28px 15px 16px;overflow:hidden;text-overflow:ellipsis;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative}.lib-select input:hover{border-color:var(--input-active-border-colort)}.lib-select input:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-select input:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-select input:disabled::placeholder{color:var(--input-placeholder)}.lib-select input.invalid,.lib-select input.invalid:hover{border-color:var(--input-error-border-color)}.lib-select input.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-select .clear{cursor:pointer;position:absolute;right:8px;top:12px}.lib-select .chevron{cursor:pointer;position:absolute;right:16px;top:10px}.lib-select .chevron.up{transform:rotate(180deg)}.lib-select__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-select__error{color:var(--primary-red-color);font-size:12px;font-weight:400;line-height:10px;margin-top:2px}.lib-select .select-list-wrapper{position:absolute;display:block;top:80px;z-index:100;width:100%;max-height:300px;overflow:auto;border-radius:8px;box-shadow:var(--main-card-shadow);background-color:var(--main-card-color)}.lib-select .select-list-wrapper .select-data{padding:12px 16px;cursor:pointer;position:relative}.lib-select .select-list-wrapper .select-data__desc{font-size:14px;font-weight:400;line-height:24px;text-overflow:ellipsis;text-wrap:nowrap;padding-top:2px;overflow:hidden;color:var(--second-gray-color)}.lib-select .select-list-wrapper .select-data:hover,.lib-select .select-list-wrapper .select-data.active{background:var(--select-act-hov-bgc)}.lib-select .select-list-wrapper .select-data.active .checked{position:absolute;right:16px;top:10px}.lib-select .select-list-wrapper .select-loader{padding:24px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: HighlightPipe, name: "highlight" }, { kind: "pipe", type: SafePipe, name: "safe" }, { kind: "directive", type: ClickOutsideDirective, selector: "[ddClickOutside]", inputs: ["elements"], outputs: ["ddClickOutside"] }, { kind: "component", type: LibLoaderComponent, selector: "dd-lib-loader", inputs: ["color"] }, { kind: "pipe", type: FilterByKeyPipe, name: "filterByKey" }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
97
+ }
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibSelectComponent, decorators: [{
99
+ type: Component,
100
+ args: [{ selector: 'dd-lib-select', standalone: true, imports: [
101
+ NgOptimizedImage,
102
+ ReactiveFormsModule,
103
+ FormsModule,
104
+ HighlightPipe,
105
+ LibCardComponent,
106
+ SafePipe,
107
+ ClickOutsideDirective,
108
+ LibLoaderComponent,
109
+ FilterByKeyPipe,
110
+ LibSvgIconComponent,
111
+ ], providers: [
112
+ {
113
+ provide: NG_VALUE_ACCESSOR,
114
+ useExisting: forwardRef(() => LibSelectComponent),
115
+ multi: true,
116
+ },
117
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"lib-select\" id=\"lib-select-{{ selectId }}\">\n <label [for]=\"id\" class=\"lib-select__title\">\n {{ label }}\n @if (required) {\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\n }\n </label>\n\n <div class=\"pos-relative\">\n <input\n #select\n (change)=\"handleChange()\"\n (click)=\"notifyFocusEvent($event)\"\n (input)=\"handleInput($event)\"\n [(ngModel)]=\"inputValue\"\n [attr.id]=\"selectId\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.tabIndex]=\"tabIndex\"\n [attr.type]=\"'text'\"\n [class.focused]=\"focused\"\n [class.invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [title]=\"inputValue\"\n class=\"text-select\" />\n <!-- (blur)=\"notifyFocusEvent($event)\"-->\n @if (!checkedItem) {\n <dd-lib-svg-icon\n (click)=\"notifyFocusEvent($event)\"\n [class.black-svg]=\"isShownList\"\n [class.disabled]=\"disabled\"\n [class.gray-svg]=\"!isShownList\"\n [class.up]=\"isShownList\"\n id=\"chevron-{{ selectId }}\" class=\"chevron\" icon=\"down_chevron\"></dd-lib-svg-icon>\n\n } @else {\n <dd-lib-svg-icon\n (click)=\"selectItem(checkedItem)\"\n class=\"clear\"\n id=\"chevron-{{ selectId }}\" icon=\"clear\"></dd-lib-svg-icon>\n\n }\n </div>\n\n @if (errorText && invalid) {\n <div class=\"lib-select__error\">{{ errorText }}</div>\n } @if (isShownList) {\n <div\n (ddClickOutside)=\"notifyFocusEvent($event)\"\n [elements]=\"['lib-select-' + selectId, 'chevron' + selectId]\"\n class=\"select-list-wrapper\">\n @if (data?.length) { @for (item of data | filterByKey: filterList.bind(this); track item) {\n <div\n (click)=\"selectItem(item)\"\n [class.active]=\"checkedItem?.[keyValue!] === item[keyValue!] || checkedItem === item\"\n class=\"select-data\">\n @if (!keyDesc && !keyTitle) {\n <div [innerHTML]=\"item | highlight: inputValue | safe: 'html'\" class=\"select-data__title\"></div>\n } @if (keyTitle) {\n <div\n [innerHTML]=\"item[keyTitle!] | highlight: inputValue | safe: 'html'\"\n class=\"select-data__title\"></div>\n } @if (keyDesc) {\n <div\n [innerHTML]=\"item[keyDesc!] | highlight: inputValue | safe: 'html'\"\n [title]=\"item[keyDesc]\"\n class=\"select-data__desc\"></div>\n } @if (checkedItem?.[keyValue!] === item?.[keyValue!] || checkedItem === item) {\n <dd-lib-svg-icon\n (click)=\"selectItem(checkedItem)\"\n class=\"checked\"\n id=\"chevron-{{ selectId }}\" icon=\"check_green\"></dd-lib-svg-icon>\n }\n </div>\n } } @else {\n <div class=\"select-loader\">\n <dd-lib-loader></dd-lib-loader>\n </div>\n }\n </div>\n }\n</div>\n", styles: [".lib-select{position:relative}.lib-select input{width:100%;height:48px;padding:15px 28px 15px 16px;overflow:hidden;text-overflow:ellipsis;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative}.lib-select input:hover{border-color:var(--input-active-border-colort)}.lib-select input:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-select input:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-select input:disabled::placeholder{color:var(--input-placeholder)}.lib-select input.invalid,.lib-select input.invalid:hover{border-color:var(--input-error-border-color)}.lib-select input.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-select .clear{cursor:pointer;position:absolute;right:8px;top:12px}.lib-select .chevron{cursor:pointer;position:absolute;right:16px;top:10px}.lib-select .chevron.up{transform:rotate(180deg)}.lib-select__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-select__error{color:var(--primary-red-color);font-size:12px;font-weight:400;line-height:10px;margin-top:2px}.lib-select .select-list-wrapper{position:absolute;display:block;top:80px;z-index:100;width:100%;max-height:300px;overflow:auto;border-radius:8px;box-shadow:var(--main-card-shadow);background-color:var(--main-card-color)}.lib-select .select-list-wrapper .select-data{padding:12px 16px;cursor:pointer;position:relative}.lib-select .select-list-wrapper .select-data__desc{font-size:14px;font-weight:400;line-height:24px;text-overflow:ellipsis;text-wrap:nowrap;padding-top:2px;overflow:hidden;color:var(--second-gray-color)}.lib-select .select-list-wrapper .select-data:hover,.lib-select .select-list-wrapper .select-data.active{background:var(--select-act-hov-bgc)}.lib-select .select-list-wrapper .select-data.active .checked{position:absolute;right:16px;top:10px}.lib-select .select-list-wrapper .select-loader{padding:24px}\n"] }]
118
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.ControlContainer, decorators: [{
119
+ type: Optional
120
+ }, {
121
+ type: Host
122
+ }, {
123
+ type: SkipSelf
124
+ }] }], propDecorators: { selectId: [{
125
+ type: Input
126
+ }], data: [{
127
+ type: Input
128
+ }], keyTitle: [{
129
+ type: Input
130
+ }], keyDesc: [{
131
+ type: Input
132
+ }], keyValue: [{
133
+ type: Input
134
+ }], placeholder: [{
135
+ type: Input
136
+ }] } });
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9saWItc2VsZWN0L2xpYi1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXNlbGVjdC9saWItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFDVixJQUFJLEVBQ0osS0FBSyxFQUVMLFFBQVEsRUFDUixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUdMLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsbUJBQW1CLEdBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFDLHFCQUFxQixFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFDLE1BQU0sU0FBUyxDQUFDOzs7QUE0QnhGLE1BQU0sT0FBTyxrQkFDWCxTQUFRLDJCQUEyQjthQUdyQixjQUFTLEdBQUcsQ0FBQyxBQUFKLENBQUs7SUFhNUIsWUFDRSxlQUFrQyxFQUNNLGdCQUFrQztRQUUxRSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFGaUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVJuRCxnQkFBVyxHQUFHLG9C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Q1AsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLFFBQVE7d0JBQ1IscUJBQXFCO3dCQUNyQixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsbUJBQW1CO3FCQUNwQixhQUdVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTs7MEJBcUI1QyxRQUFROzswQkFBSSxJQUFJOzswQkFBSSxRQUFRO3lDQWJmLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDbUIsV0FBVztzQkFBbkMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdCxcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgU2tpcFNlbGYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TmdPcHRpbWl6ZWRJbWFnZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDb250cm9sQ29udGFpbmVyLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIEZvcm1zTW9kdWxlLFxyXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge0xpYkNvbW1vbklucHV0VGV4dENvbXBvbmVudH0gZnJvbSAnLi4vY29tbW9uL2xpYi1jb21tb24taW5wdXQtdGV4dCc7XHJcbmltcG9ydCB7TGliQ2FyZENvbXBvbmVudH0gZnJvbSAnLi4vbGliLWNhcmQvbGliLWNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHtMaWJMb2FkZXJDb21wb25lbnR9IGZyb20gJy4uL2xpYi1sb2FkZXIvbGliLWxvYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge0xpYlN2Z0ljb25Db21wb25lbnR9IGZyb20gXCIuLi9saWItc3ZnLWljb24vbGliLXN2Zy1pY29uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0NsaWNrT3V0c2lkZURpcmVjdGl2ZSwgRmlsdGVyQnlLZXlQaXBlLCBIaWdobGlnaHRQaXBlLCBTYWZlUGlwZX0gZnJvbSBcIi4uL2NvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGQtbGliLXNlbGVjdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ09wdGltaXplZEltYWdlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgSGlnaGxpZ2h0UGlwZSxcclxuICAgIExpYkNhcmRDb21wb25lbnQsXHJcbiAgICBTYWZlUGlwZSxcclxuICAgIENsaWNrT3V0c2lkZURpcmVjdGl2ZSxcclxuICAgIExpYkxvYWRlckNvbXBvbmVudCxcclxuICAgIEZpbHRlckJ5S2V5UGlwZSxcclxuICAgIExpYlN2Z0ljb25Db21wb25lbnQsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGliLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2xpYi1zZWxlY3QuY29tcG9uZW50LnNjc3MnLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGliU2VsZWN0Q29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaWJTZWxlY3RDb21wb25lbnQ8VD5cclxuICBleHRlbmRzIExpYkNvbW1vbklucHV0VGV4dENvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvclxyXG57XHJcbiAgcHVibGljIHN0YXRpYyBpZENvdW50ZXIgPSAxO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0SWQ6IHN0cmluZyAgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIGRhdGE6IGFueSAgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIGtleVRpdGxlOiBzdHJpbmcgIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBrZXlEZXNjOiBzdHJpbmcgIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBrZXlWYWx1ZTogc3RyaW5nICB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgb3ZlcnJpZGUgcGxhY2Vob2xkZXIgPSAn0JLRi9Cx0LXRgNC40YLQtSDQuNC3INGB0L/QuNGB0LrQsCc7XHJcbiAgcHVibGljIGNoZWNrZWRJdGVtOiBhbnk7XHJcbiAgcHVibGljIGlucHV0VmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBwdWJsaWMgc2VhcmNoVmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBwdWJsaWMgaXNTaG93bkxpc3Q6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgQFNraXBTZWxmKCkgcHJpdmF0ZSBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxyXG4gICkge1xyXG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0aW9uKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5zZWxlY3RJZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdElkID0gJ2RkLXNlbGVjdC0nICsgTGliU2VsZWN0Q29tcG9uZW50LmlkQ291bnRlcisrO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMua2V5VGl0bGUgJiYgIXRoaXMua2V5VmFsdWUpIHtcclxuICAgICAgdGhpcy5rZXlWYWx1ZSA9IHRoaXMua2V5VGl0bGU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbnRyb2wgPVxyXG4gICAgICB0aGlzLmNvbnRyb2xDb250YWluZXIgJiYgdGhpcy5mb3JtQ29udHJvbE5hbWVcclxuICAgICAgICA/IHRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbD8uZ2V0KHRoaXMuZm9ybUNvbnRyb2xOYW1lKVxyXG4gICAgICAgIDogbnVsbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvdmVycmlkZSByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcbiAgICBzdXBlci5yZWdpc3Rlck9uQ2hhbmdlKGZuKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG92ZXJyaWRlIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcclxuICAgIHN1cGVyLnJlZ2lzdGVyT25Ub3VjaGVkKGZuKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG92ZXJyaWRlIGhhbmRsZUlucHV0KGU6IEV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLmlzU2hvd25MaXN0ID0gdHJ1ZTtcclxuICAgIHRoaXMuc2VhcmNoVmFsdWUgPSB0aGlzLmlucHV0VmFsdWU7XHJcbiAgICBzdXBlci5oYW5kbGVJbnB1dChlKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG92ZXJyaWRlIG5vdGlmeUZvY3VzRXZlbnQoZTogRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmlzU2hvd25MaXN0ID0gIXRoaXMuaXNTaG93bkxpc3Q7XHJcbiAgICB9XHJcbiAgICBzdXBlci5ub3RpZnlGb2N1c0V2ZW50KGUpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLmlucHV0VmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3RJdGVtKGl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJykge1xyXG4gICAgICBpZiAoIXRoaXMuY2hlY2tlZEl0ZW0pIHtcclxuICAgICAgICB0aGlzLmNoZWNrZWRJdGVtID0gaXRlbTtcclxuICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSBpdGVtO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBpdGVtO1xyXG4gICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY2hlY2tlZEl0ZW0gPSBudWxsO1xyXG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHVuZGVmaW5lZCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICghdGhpcy5jaGVja2VkSXRlbSB8fCBpdGVtW3RoaXMua2V5VmFsdWUhXSAhPT0gdGhpcy5jaGVja2VkSXRlbT8uW3RoaXMua2V5VmFsdWUhXSkge1xyXG4gICAgICAgIHRoaXMuY2hlY2tlZEl0ZW0gPSBpdGVtO1xyXG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHRoaXMuY2hlY2tlZEl0ZW1bdGhpcy5rZXlUaXRsZSFdO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBpdGVtW3RoaXMua2V5VmFsdWUhXTtcclxuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNoZWNrZWRJdGVtID0gbnVsbDtcclxuICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh1bmRlZmluZWQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlYXJjaFZhbHVlID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5pc1Nob3duTGlzdCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGZpbHRlckxpc3QoaXRlbTogYW55KTogYW55IHtcclxuICAgIHJldHVybiBpdGVtW3RoaXMua2V5VGl0bGUhXT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaFZhbHVlPy50b0xvd2VyQ2FzZSgpIHx8ICcnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlKF92YWx1ZTogYW55KSB7fVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJsaWItc2VsZWN0XCIgaWQ9XCJsaWItc2VsZWN0LXt7IHNlbGVjdElkIH19XCI+XG4gIDxsYWJlbCBbZm9yXT1cImlkXCIgY2xhc3M9XCJsaWItc2VsZWN0X190aXRsZVwiPlxuICAgIHt7IGxhYmVsIH19XG4gICAgQGlmIChyZXF1aXJlZCkge1xuICAgICAgPGRkLWxpYi1zdmctaWNvbiBpY29uPVwiZXJyb3JfaGludFwiPjwvZGQtbGliLXN2Zy1pY29uPlxuICAgIH1cbiAgPC9sYWJlbD5cblxuICA8ZGl2IGNsYXNzPVwicG9zLXJlbGF0aXZlXCI+XG4gICAgPGlucHV0XG4gICAgICAjc2VsZWN0XG4gICAgICAoY2hhbmdlKT1cImhhbmRsZUNoYW5nZSgpXCJcbiAgICAgIChjbGljayk9XCJub3RpZnlGb2N1c0V2ZW50KCRldmVudClcIlxuICAgICAgKGlucHV0KT1cImhhbmRsZUlucHV0KCRldmVudClcIlxuICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFZhbHVlXCJcbiAgICAgIFthdHRyLmlkXT1cInNlbGVjdElkXCJcbiAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICBbYXR0ci50YWJJbmRleF09XCJ0YWJJbmRleFwiXG4gICAgICBbYXR0ci50eXBlXT1cIid0ZXh0J1wiXG4gICAgICBbY2xhc3MuZm9jdXNlZF09XCJmb2N1c2VkXCJcbiAgICAgIFtjbGFzcy5pbnZhbGlkXT1cImludmFsaWRcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICBbdGl0bGVdPVwiaW5wdXRWYWx1ZVwiXG4gICAgICBjbGFzcz1cInRleHQtc2VsZWN0XCIgLz5cbiAgICA8IS0tICAgIChibHVyKT1cIm5vdGlmeUZvY3VzRXZlbnQoJGV2ZW50KVwiLS0+XG4gICAgQGlmICghY2hlY2tlZEl0ZW0pIHtcbiAgICAgIDxkZC1saWItc3ZnLWljb25cbiAgICAgICAgKGNsaWNrKT1cIm5vdGlmeUZvY3VzRXZlbnQoJGV2ZW50KVwiXG4gICAgICAgIFtjbGFzcy5ibGFjay1zdmddPVwiaXNTaG93bkxpc3RcIlxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbY2xhc3MuZ3JheS1zdmddPVwiIWlzU2hvd25MaXN0XCJcbiAgICAgICAgW2NsYXNzLnVwXT1cImlzU2hvd25MaXN0XCJcbiAgICAgICAgaWQ9XCJjaGV2cm9uLXt7IHNlbGVjdElkIH19XCIgY2xhc3M9XCJjaGV2cm9uXCIgaWNvbj1cImRvd25fY2hldnJvblwiPjwvZGQtbGliLXN2Zy1pY29uPlxuXG4gICAgfSBAZWxzZSB7XG4gICAgICA8ZGQtbGliLXN2Zy1pY29uXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtKGNoZWNrZWRJdGVtKVwiXG4gICAgICAgIGNsYXNzPVwiY2xlYXJcIlxuICAgICAgICBpZD1cImNoZXZyb24te3sgc2VsZWN0SWQgfX1cIiBpY29uPVwiY2xlYXJcIj48L2RkLWxpYi1zdmctaWNvbj5cblxuICAgIH1cbiAgPC9kaXY+XG5cbiAgQGlmIChlcnJvclRleHQgJiYgaW52YWxpZCkge1xuICA8ZGl2IGNsYXNzPVwibGliLXNlbGVjdF9fZXJyb3JcIj57eyBlcnJvclRleHQgfX08L2Rpdj5cbiAgfSBAaWYgKGlzU2hvd25MaXN0KSB7XG4gIDxkaXZcbiAgICAoZGRDbGlja091dHNpZGUpPVwibm90aWZ5Rm9jdXNFdmVudCgkZXZlbnQpXCJcbiAgICBbZWxlbWVudHNdPVwiWydsaWItc2VsZWN0LScgKyBzZWxlY3RJZCwgJ2NoZXZyb24nICsgc2VsZWN0SWRdXCJcbiAgICBjbGFzcz1cInNlbGVjdC1saXN0LXdyYXBwZXJcIj5cbiAgICBAaWYgKGRhdGE/Lmxlbmd0aCkgeyBAZm9yIChpdGVtIG9mIGRhdGEgfCBmaWx0ZXJCeUtleTogZmlsdGVyTGlzdC5iaW5kKHRoaXMpOyB0cmFjayBpdGVtKSB7XG4gICAgPGRpdlxuICAgICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0oaXRlbSlcIlxuICAgICAgW2NsYXNzLmFjdGl2ZV09XCJjaGVja2VkSXRlbT8uW2tleVZhbHVlIV0gPT09IGl0ZW1ba2V5VmFsdWUhXSB8fCBjaGVja2VkSXRlbSA9PT0gaXRlbVwiXG4gICAgICBjbGFzcz1cInNlbGVjdC1kYXRhXCI+XG4gICAgICBAaWYgKCFrZXlEZXNjICYmICFrZXlUaXRsZSkge1xuICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cIml0ZW0gfCBoaWdobGlnaHQ6IGlucHV0VmFsdWUgfCBzYWZlOiAnaHRtbCdcIiBjbGFzcz1cInNlbGVjdC1kYXRhX190aXRsZVwiPjwvZGl2PlxuICAgICAgfSBAaWYgKGtleVRpdGxlKSB7XG4gICAgICA8ZGl2XG4gICAgICAgIFtpbm5lckhUTUxdPVwiaXRlbVtrZXlUaXRsZSFdIHwgaGlnaGxpZ2h0OiBpbnB1dFZhbHVlIHwgc2FmZTogJ2h0bWwnXCJcbiAgICAgICAgY2xhc3M9XCJzZWxlY3QtZGF0YV9fdGl0bGVcIj48L2Rpdj5cbiAgICAgIH0gQGlmIChrZXlEZXNjKSB7XG4gICAgICA8ZGl2XG4gICAgICAgIFtpbm5lckhUTUxdPVwiaXRlbVtrZXlEZXNjIV0gfCBoaWdobGlnaHQ6IGlucHV0VmFsdWUgfCBzYWZlOiAnaHRtbCdcIlxuICAgICAgICBbdGl0bGVdPVwiaXRlbVtrZXlEZXNjXVwiXG4gICAgICAgIGNsYXNzPVwic2VsZWN0LWRhdGFfX2Rlc2NcIj48L2Rpdj5cbiAgICAgIH0gQGlmIChjaGVja2VkSXRlbT8uW2tleVZhbHVlIV0gPT09IGl0ZW0/LltrZXlWYWx1ZSFdIHx8IGNoZWNrZWRJdGVtID09PSBpdGVtKSB7XG4gICAgICA8ZGQtbGliLXN2Zy1pY29uXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtKGNoZWNrZWRJdGVtKVwiXG4gICAgICAgIGNsYXNzPVwiY2hlY2tlZFwiXG4gICAgICAgIGlkPVwiY2hldnJvbi17eyBzZWxlY3RJZCB9fVwiIGljb249XCJjaGVja19ncmVlblwiPjwvZGQtbGliLXN2Zy1pY29uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIH0gfSBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdC1sb2FkZXJcIj5cbiAgICAgIDxkZC1saWItbG9hZGVyPjwvZGQtbGliLWxvYWRlcj5cbiAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,45 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { AutoHeightDirective } from "../core";
3
+ import * as i0 from "@angular/core";
4
+ export class LibSkeletonComponent {
5
+ set skeleton(s) {
6
+ if (s === true) {
7
+ this._skeleton = s;
8
+ this.cdr.detectChanges();
9
+ }
10
+ else {
11
+ setTimeout(() => {
12
+ this._skeleton = s;
13
+ this.cdr.detectChanges();
14
+ }, 1000);
15
+ }
16
+ }
17
+ set plugs(n) {
18
+ if (n && n > 0) {
19
+ this._plugs = Array.from(Array(n).keys());
20
+ }
21
+ }
22
+ constructor(cdr) {
23
+ this.cdr = cdr;
24
+ this.sHeight = '200px';
25
+ this._plugs = [];
26
+ this.length = length;
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibSkeletonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LibSkeletonComponent, isStandalone: true, selector: "dd-lib-skeleton", inputs: { deepParent: "deepParent", sHeight: "sHeight", sMb: "sMb", skeleton: "skeleton", plugs: "plugs" }, ngImport: i0, template: "@if (_skeleton && _plugs.length) { @for (plug of _plugs; track plug) {\r\n<div\r\n [class.skeleton]=\"_skeleton\"\r\n [style.height]=\"_skeleton ? sHeight : ''\"\r\n [style.margin-bottom]=\"sMb\"\r\n class=\"skelet full-width full-height\"></div>\r\n} } @else {\r\n<div [style.height]=\"_skeleton ? sHeight : ''\" [class.skeleton]=\"_skeleton\" [ddAutoHeight]=\"deepParent\">\r\n <ng-content></ng-content>\r\n</div>\r\n}\r\n", styles: [":host{min-width:100%}.skeleton{position:relative;overflow:hidden;min-height:100%}.skeleton:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#d0cdcd00 0,#d0cdcd33 20%,#d0cdcd80 60%,#d0cdcd00);animation:shimmer 2s infinite;content:\"\"}@keyframes shimmer{to{transform:translate(100%)}}.skelet{min-height:100%;border-radius:24px}\n"], dependencies: [{ kind: "directive", type: AutoHeightDirective, selector: "[ddAutoHeight]", inputs: ["ddAutoHeight"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibSkeletonComponent, decorators: [{
32
+ type: Component,
33
+ args: [{ selector: 'dd-lib-skeleton', standalone: true, imports: [AutoHeightDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (_skeleton && _plugs.length) { @for (plug of _plugs; track plug) {\r\n<div\r\n [class.skeleton]=\"_skeleton\"\r\n [style.height]=\"_skeleton ? sHeight : ''\"\r\n [style.margin-bottom]=\"sMb\"\r\n class=\"skelet full-width full-height\"></div>\r\n} } @else {\r\n<div [style.height]=\"_skeleton ? sHeight : ''\" [class.skeleton]=\"_skeleton\" [ddAutoHeight]=\"deepParent\">\r\n <ng-content></ng-content>\r\n</div>\r\n}\r\n", styles: [":host{min-width:100%}.skeleton{position:relative;overflow:hidden;min-height:100%}.skeleton:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#d0cdcd00 0,#d0cdcd33 20%,#d0cdcd80 60%,#d0cdcd00);animation:shimmer 2s infinite;content:\"\"}@keyframes shimmer{to{transform:translate(100%)}}.skelet{min-height:100%;border-radius:24px}\n"] }]
34
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { deepParent: [{
35
+ type: Input
36
+ }], sHeight: [{
37
+ type: Input
38
+ }], sMb: [{
39
+ type: Input
40
+ }], skeleton: [{
41
+ type: Input
42
+ }], plugs: [{
43
+ type: Input
44
+ }] } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXNrZWxldG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2xpYi1za2VsZXRvbi9saWItc2tlbGV0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXNrZWxldG9uL2xpYi1za2VsZXRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sU0FBUyxDQUFDOztBQVU1QyxNQUFNLE9BQU8sb0JBQW9CO0lBSy9CLElBQ1csUUFBUSxDQUFDLENBQXNCO1FBQ3hDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQixDQUFDO2FBQU0sQ0FBQztZQUNOLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDM0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ1gsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFvQixLQUFLLENBQUMsQ0FBcUI7UUFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDSCxDQUFDO0lBS0QsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF4QjFCLFlBQU8sR0FBdUIsT0FBTyxDQUFDO1FBcUIvQyxXQUFNLEdBQWEsRUFBRSxDQUFDO1FBS1YsV0FBTSxHQUFHLE1BQU0sQ0FBQztJQUZVLENBQUM7K0dBMUJuQyxvQkFBb0I7bUdBQXBCLG9CQUFvQix1TENYakMsK2FBV0EsbWJETFksbUJBQW1COzs0RkFLbEIsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLG1CQUFtQixDQUFDLG1CQUdiLHVCQUF1QixDQUFDLE1BQU07c0ZBRy9CLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxHQUFHO3NCQUFsQixLQUFLO2dCQUdLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBWWMsS0FBSztzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0F1dG9IZWlnaHREaXJlY3RpdmV9IGZyb20gXCIuLi9jb3JlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1za2VsZXRvbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQXV0b0hlaWdodERpcmVjdGl2ZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYi1za2VsZXRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2xpYi1za2VsZXRvbi5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaWJTa2VsZXRvbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgcHVibGljIGRlZXBQYXJlbnQ6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgc0hlaWdodDogc3RyaW5nIHwgdW5kZWZpbmVkID0gJzIwMHB4JztcclxuICBASW5wdXQoKSBwdWJsaWMgc01iOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBza2VsZXRvbihzOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XHJcbiAgICBpZiAocyA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLl9za2VsZXRvbiA9IHM7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX3NrZWxldG9uID0gcztcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sIDEwMDApO1xyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHBsdWdzKG46IG51bWJlciB8IHVuZGVmaW5lZCkge1xyXG4gICAgaWYgKG4gJiYgbiA+IDApIHtcclxuICAgICAgdGhpcy5fcGx1Z3MgPSBBcnJheS5mcm9tKEFycmF5KG4pLmtleXMoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgX3BsdWdzOiBudW1iZXJbXSA9IFtdO1xyXG4gIHB1YmxpYyBfc2tlbGV0b246IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxlbmd0aCA9IGxlbmd0aDtcclxufVxyXG4iLCJAaWYgKF9za2VsZXRvbiAmJiBfcGx1Z3MubGVuZ3RoKSB7IEBmb3IgKHBsdWcgb2YgX3BsdWdzOyB0cmFjayBwbHVnKSB7XHJcbjxkaXZcclxuICBbY2xhc3Muc2tlbGV0b25dPVwiX3NrZWxldG9uXCJcclxuICBbc3R5bGUuaGVpZ2h0XT1cIl9za2VsZXRvbiA/IHNIZWlnaHQgOiAnJ1wiXHJcbiAgW3N0eWxlLm1hcmdpbi1ib3R0b21dPVwic01iXCJcclxuICBjbGFzcz1cInNrZWxldCBmdWxsLXdpZHRoIGZ1bGwtaGVpZ2h0XCI+PC9kaXY+XHJcbn0gfSBAZWxzZSB7XHJcbjxkaXYgW3N0eWxlLmhlaWdodF09XCJfc2tlbGV0b24gPyBzSGVpZ2h0IDogJydcIiBbY2xhc3Muc2tlbGV0b25dPVwiX3NrZWxldG9uXCIgW2RkQXV0b0hlaWdodF09XCJkZWVwUGFyZW50XCI+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L2Rpdj5cclxufVxyXG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { LibCardComponent } from '../lib-card/lib-card.component';
3
+ import { NgOptimizedImage } from '@angular/common';
4
+ import { ClickOutsideDirective } from "../core";
5
+ import { LibSvgIconComponent } from "../lib-svg-icon/lib-svg-icon.component";
6
+ import * as i0 from "@angular/core";
7
+ const DefaultSort = [
8
+ { name: 'По возрастанию', value: 'asc', default: true },
9
+ { name: 'По убыванию', value: 'desc' },
10
+ ];
11
+ export class LibSortComponent {
12
+ constructor() {
13
+ this.sortItems = DefaultSort;
14
+ this.sortEvent = new EventEmitter();
15
+ }
16
+ ngOnInit() {
17
+ if (this.sortItems?.length) {
18
+ this.sort = this.sortItems?.find(f => f.default)?.value || this.sortItems[0]?.value;
19
+ }
20
+ }
21
+ onSort(field) {
22
+ if (field !== this.sort) {
23
+ this.sort = field;
24
+ this.sortEvent.emit(field);
25
+ this.showSort = false;
26
+ }
27
+ }
28
+ showSortList() {
29
+ if (this.sortItems?.length) {
30
+ this.showSort = !this.showSort;
31
+ }
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibSortComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LibSortComponent, isStandalone: true, selector: "dd-lib-sort", inputs: { sortItems: "sortItems" }, outputs: { sortEvent: "sortEvent" }, ngImport: i0, template: "<div class=\"pos-relative\" id=\"js-sort-wrapper\">\r\n <div (click)=\"showSortList()\" class=\"d-flex align-center cup\">\r\n <div class=\"text-plain green mr-12\">\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0430</div>\r\n <div>\r\n <dd-lib-svg-icon icon=\"sort\"></dd-lib-svg-icon>\r\n </div>\r\n </div>\r\n @if (showSort) {\r\n <div (ddClickOutside)=\"showSort = false\" [elements]=\"['js-sort-wrapper']\" class=\"sort-list-container\">\r\n <dd-lib-card type=\"small\">\r\n <div class=\"sort-list-container__list\">\r\n @for (item of sortItems; track item) {\r\n <div (click)=\"onSort(item.value)\" [class.green]=\"sort === item.value\" class=\"mb-12 text-plain\">\r\n {{ item.name }}\r\n </div>\r\n }\r\n </div>\r\n </dd-lib-card>\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block}.sort-list-container{position:absolute;z-index:1;top:36px}.sort-list-container__list{white-space:nowrap}.sort-list-container__list .text-plain{cursor:pointer}.sort-list-container__list .text-plain:hover{color:var(--primary-green-color)}\n"], dependencies: [{ kind: "directive", type: ClickOutsideDirective, selector: "[ddClickOutside]", inputs: ["elements"], outputs: ["ddClickOutside"] }, { kind: "component", type: LibCardComponent, selector: "dd-lib-card", inputs: ["type", "footerBtn", "sHeight", "skeleton", "parentLvlForSkeleton", "plugs", "borderRadius"], outputs: ["cardBtnEvent"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibSortComponent, decorators: [{
37
+ type: Component,
38
+ args: [{ selector: 'dd-lib-sort', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [ClickOutsideDirective, LibCardComponent, NgOptimizedImage, LibSvgIconComponent], template: "<div class=\"pos-relative\" id=\"js-sort-wrapper\">\r\n <div (click)=\"showSortList()\" class=\"d-flex align-center cup\">\r\n <div class=\"text-plain green mr-12\">\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0430</div>\r\n <div>\r\n <dd-lib-svg-icon icon=\"sort\"></dd-lib-svg-icon>\r\n </div>\r\n </div>\r\n @if (showSort) {\r\n <div (ddClickOutside)=\"showSort = false\" [elements]=\"['js-sort-wrapper']\" class=\"sort-list-container\">\r\n <dd-lib-card type=\"small\">\r\n <div class=\"sort-list-container__list\">\r\n @for (item of sortItems; track item) {\r\n <div (click)=\"onSort(item.value)\" [class.green]=\"sort === item.value\" class=\"mb-12 text-plain\">\r\n {{ item.name }}\r\n </div>\r\n }\r\n </div>\r\n </dd-lib-card>\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block}.sort-list-container{position:absolute;z-index:1;top:36px}.sort-list-container__list{white-space:nowrap}.sort-list-container__list .text-plain{cursor:pointer}.sort-list-container__list .text-plain:hover{color:var(--primary-green-color)}\n"] }]
39
+ }], propDecorators: { sortItems: [{
40
+ type: Input
41
+ }], sortEvent: [{
42
+ type: Output
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXNvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXNvcnQvbGliLXNvcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXNvcnQvbGliLXNvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7O0FBUTNFLE1BQU0sV0FBVyxHQUFHO0lBQ2xCLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtJQUN2RCxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtDQUN2QyxDQUFDO0FBVUYsTUFBTSxPQUFPLGdCQUFnQjtJQVI3QjtRQVNrQixjQUFTLEdBQVksV0FBVyxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBd0J6RDtJQW5CUSxRQUFRO1FBQ2IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDO1FBQ3RGLENBQUM7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQWE7UUFDekIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7K0dBekJVLGdCQUFnQjttR0FBaEIsZ0JBQWdCLGdKQ3pCN0IsbzFCQXFCQSw0VERFWSxxQkFBcUIsZ0hBQUUsZ0JBQWdCLDBMQUFvQixtQkFBbUI7OzRGQUU3RSxnQkFBZ0I7a0JBUjVCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDOzhCQUd6RSxTQUFTO3NCQUF4QixLQUFLO2dCQUNXLFNBQVM7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtMaWJDYXJkQ29tcG9uZW50fSBmcm9tICcuLi9saWItY2FyZC9saWItY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge05nT3B0aW1pemVkSW1hZ2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7Q2xpY2tPdXRzaWRlRGlyZWN0aXZlfSBmcm9tIFwiLi4vY29yZVwiO1xyXG5pbXBvcnQge0xpYlN2Z0ljb25Db21wb25lbnR9IGZyb20gXCIuLi9saWItc3ZnLWljb24vbGliLXN2Zy1pY29uLmNvbXBvbmVudFwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJU29ydCB7XHJcbiAgdmFsdWU6IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgZGVmYXVsdD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmNvbnN0IERlZmF1bHRTb3J0ID0gW1xyXG4gIHsgbmFtZTogJ9Cf0L4g0LLQvtC30YDQsNGB0YLQsNC90LjRjicsIHZhbHVlOiAnYXNjJywgZGVmYXVsdDogdHJ1ZSB9LFxyXG4gIHsgbmFtZTogJ9Cf0L4g0YPQsdGL0LLQsNC90LjRjicsIHZhbHVlOiAnZGVzYycgfSxcclxuXTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGQtbGliLXNvcnQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYi1zb3J0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saWItc29ydC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGltcG9ydHM6IFtDbGlja091dHNpZGVEaXJlY3RpdmUsIExpYkNhcmRDb21wb25lbnQsIE5nT3B0aW1pemVkSW1hZ2UsIExpYlN2Z0ljb25Db21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliU29ydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgcHVibGljIHNvcnRJdGVtczogSVNvcnRbXSA9IERlZmF1bHRTb3J0O1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgc29ydEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIHB1YmxpYyBzb3J0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIHNob3dTb3J0OiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zb3J0SXRlbXM/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnNvcnQgPSB0aGlzLnNvcnRJdGVtcz8uZmluZChmID0+IGYuZGVmYXVsdCk/LnZhbHVlIHx8IHRoaXMuc29ydEl0ZW1zWzBdPy52YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNvcnQoZmllbGQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKGZpZWxkICE9PSB0aGlzLnNvcnQpIHtcclxuICAgICAgdGhpcy5zb3J0ID0gZmllbGQ7XHJcbiAgICAgIHRoaXMuc29ydEV2ZW50LmVtaXQoZmllbGQpO1xyXG4gICAgICB0aGlzLnNob3dTb3J0ID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1NvcnRMaXN0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc29ydEl0ZW1zPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5zaG93U29ydCA9ICF0aGlzLnNob3dTb3J0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicG9zLXJlbGF0aXZlXCIgaWQ9XCJqcy1zb3J0LXdyYXBwZXJcIj5cclxuICA8ZGl2IChjbGljayk9XCJzaG93U29ydExpc3QoKVwiIGNsYXNzPVwiZC1mbGV4IGFsaWduLWNlbnRlciBjdXBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXBsYWluIGdyZWVuIG1yLTEyXCI+0KHQvtGA0YLQuNGA0L7QstC60LA8L2Rpdj5cclxuICAgIDxkaXY+XHJcbiAgICAgIDxkZC1saWItc3ZnLWljb24gaWNvbj1cInNvcnRcIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIEBpZiAoc2hvd1NvcnQpIHtcclxuICA8ZGl2IChkZENsaWNrT3V0c2lkZSk9XCJzaG93U29ydCA9IGZhbHNlXCIgW2VsZW1lbnRzXT1cIlsnanMtc29ydC13cmFwcGVyJ11cIiBjbGFzcz1cInNvcnQtbGlzdC1jb250YWluZXJcIj5cclxuICAgIDxkZC1saWItY2FyZCB0eXBlPVwic21hbGxcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNvcnQtbGlzdC1jb250YWluZXJfX2xpc3RcIj5cclxuICAgICAgICBAZm9yIChpdGVtIG9mIHNvcnRJdGVtczsgdHJhY2sgaXRlbSkge1xyXG4gICAgICAgIDxkaXYgKGNsaWNrKT1cIm9uU29ydChpdGVtLnZhbHVlKVwiIFtjbGFzcy5ncmVlbl09XCJzb3J0ID09PSBpdGVtLnZhbHVlXCIgY2xhc3M9XCJtYi0xMiB0ZXh0LXBsYWluXCI+XHJcbiAgICAgICAgICB7eyBpdGVtLm5hbWUgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kZC1saWItY2FyZD5cclxuICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class LibStepComponent {
4
+ constructor() {
5
+ this.step = 1;
6
+ this.name = 'шаг';
7
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibStepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LibStepComponent, isStandalone: true, selector: "dd-lib-step", inputs: { step: "step", name: "name" }, ngImport: i0, template: "<span class=\"step-badge\">\r\n <span class=\"h3-title\">{{ step }}</span>\r\n &nbsp;<span class=\"h4-title\">{{ name }}</span>\r\n</span>\r\n", styles: [":host{display:flex}.step-badge{padding:8px 32px;border-radius:40px;background-color:var(--low-bgc-color);display:flex;align-items:baseline}@media screen and (max-width: 480px){.step-badge{width:100%;justify-content:center}}.step-badge span{color:var(--primary-green-color)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibStepComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: 'dd-lib-step', standalone: true, imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"step-badge\">\r\n <span class=\"h3-title\">{{ step }}</span>\r\n &nbsp;<span class=\"h4-title\">{{ name }}</span>\r\n</span>\r\n", styles: [":host{display:flex}.step-badge{padding:8px 32px;border-radius:40px;background-color:var(--low-bgc-color);display:flex;align-items:baseline}@media screen and (max-width: 480px){.step-badge{width:100%;justify-content:center}}.step-badge span{color:var(--primary-green-color)}\n"] }]
14
+ }], propDecorators: { step: [{
15
+ type: Input
16
+ }], name: [{
17
+ type: Input
18
+ }] } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXN0ZXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXN0ZXAvbGliLXN0ZXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXN0ZXAvbGliLXN0ZXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVTFFLE1BQU0sT0FBTyxnQkFBZ0I7SUFSN0I7UUFTa0IsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUNULFNBQUksR0FBRyxLQUFLLENBQUM7S0FDOUI7K0dBSFksZ0JBQWdCO21HQUFoQixnQkFBZ0IsK0dDVjdCLGtKQUlBOzs0RkRNYSxnQkFBZ0I7a0JBUjVCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxFQUFFLG1CQUdNLHVCQUF1QixDQUFDLE1BQU07OEJBRy9CLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1zdGVwJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saWItc3RlcC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2xpYi1zdGVwLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpYlN0ZXBDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzdGVwID0gMTtcclxuICBASW5wdXQoKSBwdWJsaWMgbmFtZSA9ICfRiNCw0LMnO1xyXG59XHJcbiIsIjxzcGFuIGNsYXNzPVwic3RlcC1iYWRnZVwiPlxyXG4gIDxzcGFuIGNsYXNzPVwiaDMtdGl0bGVcIj57eyBzdGVwIH19PC9zcGFuPlxyXG4gICZuYnNwOzxzcGFuIGNsYXNzPVwiaDQtdGl0bGVcIj57eyBuYW1lIH19PC9zcGFuPlxyXG48L3NwYW4+XHJcbiJdfQ==