@datarailsshared/datarailsshared 1.5.389 → 1.5.397

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 (144) hide show
  1. package/datarailsshared-datarailsshared-1.5.397.tgz +0 -0
  2. package/esm2022/lib/date-tags/any-tag.component.mjs +18 -18
  3. package/esm2022/lib/date-tags/date-tag.component.mjs +99 -23
  4. package/esm2022/lib/date-tags/date-tag.module.mjs +27 -26
  5. package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +40 -26
  6. package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +43 -25
  7. package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +40 -26
  8. package/esm2022/lib/date-tags/quarter-tag/quarter-tag.component.mjs +26 -12
  9. package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +40 -26
  10. package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +40 -26
  11. package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +16 -16
  12. package/esm2022/lib/directives/click-outside/click-outside.module.mjs +13 -12
  13. package/esm2022/lib/dr-accordion/accordion-item-body.component.mjs +18 -15
  14. package/esm2022/lib/dr-accordion/accordion-item-header.component.mjs +71 -54
  15. package/esm2022/lib/dr-accordion/accordion-item.component.mjs +37 -32
  16. package/esm2022/lib/dr-accordion/accordion.component.mjs +15 -10
  17. package/esm2022/lib/dr-accordion/accordion.module.mjs +20 -19
  18. package/esm2022/lib/dr-alert/dr-alert.component.mjs +44 -16
  19. package/esm2022/lib/dr-alert/dr-alert.module.mjs +14 -13
  20. package/esm2022/lib/dr-avatar/dr-avatar.component.mjs +98 -23
  21. package/esm2022/lib/dr-avatar/dr-avatar.module.mjs +13 -12
  22. package/esm2022/lib/dr-avatar/dr-avatar.pipe.mjs +9 -9
  23. package/esm2022/lib/dr-badge-status/dr-badge-status.component.mjs +43 -17
  24. package/esm2022/lib/dr-badge-status/dr-badge-status.module.mjs +14 -13
  25. package/esm2022/lib/dr-chat/chat.component.mjs +115 -38
  26. package/esm2022/lib/dr-chat/chat.module.mjs +27 -26
  27. package/esm2022/lib/dr-chat/dr-chat-alert/dr-chat-alert.component.mjs +21 -11
  28. package/esm2022/lib/dr-chat/dr-chat-form/chat-form.component.mjs +128 -37
  29. package/esm2022/lib/dr-chat/dr-chat-message/chat-message.component.mjs +126 -41
  30. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.mjs +11 -11
  31. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.mjs +6 -6
  32. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.mjs +40 -11
  33. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.mjs +22 -9
  34. package/esm2022/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.mjs +86 -20
  35. package/esm2022/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.mjs +9 -7
  36. package/esm2022/lib/dr-chip/dr-chip.component.mjs +49 -15
  37. package/esm2022/lib/dr-code-editor/components/code-editor-hint-wrapper.component.mjs +14 -10
  38. package/esm2022/lib/dr-code-editor/components/dr-codemirror.component.mjs +62 -57
  39. package/esm2022/lib/dr-code-editor/dr-code-editor.component.mjs +48 -20
  40. package/esm2022/lib/dr-code-editor/dr-code-editor.module.mjs +14 -13
  41. package/esm2022/lib/dr-details-list/dr-details-list.component.mjs +69 -41
  42. package/esm2022/lib/dr-details-list/dr-details-list.module.mjs +14 -13
  43. package/esm2022/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.mjs +265 -13
  44. package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +154 -16
  45. package/esm2022/lib/dr-dialog/dialog.module.mjs +14 -13
  46. package/esm2022/lib/dr-dialog/services/dialog.service.mjs +9 -9
  47. package/esm2022/lib/dr-dropdown/dr-dropdown-item/dr-dropdown-item.component.mjs +29 -0
  48. package/esm2022/lib/dr-dropdown/dr-dropdown-item-show.pipe.mjs +9 -9
  49. package/esm2022/lib/dr-dropdown/dr-dropdown.component.mjs +175 -56
  50. package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +98 -87
  51. package/esm2022/lib/dr-dropdown/dr-dropdown.module.mjs +32 -15
  52. package/esm2022/lib/dr-dropdown/dr-dropdown.service.mjs +55 -18
  53. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +92 -25
  54. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +13 -12
  55. package/esm2022/lib/dr-error/dr-error.component.mjs +48 -24
  56. package/esm2022/lib/dr-error/dr-error.module.mjs +14 -13
  57. package/esm2022/lib/dr-inputs/button/button.component.mjs +88 -45
  58. package/esm2022/lib/dr-inputs/checkbox/checkbox.component.mjs +53 -28
  59. package/esm2022/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.mjs +32 -32
  60. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.mjs +67 -42
  61. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-range/dr-date-picker-range.component.mjs +72 -32
  62. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +111 -42
  63. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.mjs +99 -10
  64. package/esm2022/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.mjs +9 -9
  65. package/esm2022/lib/dr-inputs/date-pickers/services/dr-date-picker.service.mjs +6 -6
  66. package/esm2022/lib/dr-inputs/dr-input/dr-input.component.mjs +168 -84
  67. package/esm2022/lib/dr-inputs/dr-inputs.module.mjs +64 -63
  68. package/esm2022/lib/dr-inputs/dr-link/dr-link.component.mjs +26 -16
  69. package/esm2022/lib/dr-inputs/dr-model-debounce-change.directive.mjs +13 -13
  70. package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +243 -104
  71. package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +77 -20
  72. package/esm2022/lib/dr-inputs/dr-slider/dr-slider.component.mjs +23 -17
  73. package/esm2022/lib/dr-inputs/dr-toggle/dr-toggle.component.mjs +64 -22
  74. package/esm2022/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.mjs +53 -21
  75. package/esm2022/lib/dr-inputs/radio-button/radio-button.component.mjs +40 -28
  76. package/esm2022/lib/dr-inputs/radio-button/radio-group.component.mjs +51 -41
  77. package/esm2022/lib/dr-layout/dr-layout-body.component.mjs +14 -10
  78. package/esm2022/lib/dr-layout/dr-layout-header.component.mjs +16 -14
  79. package/esm2022/lib/dr-layout/dr-layout.component.mjs +16 -7
  80. package/esm2022/lib/dr-layout/dr-layout.module.mjs +13 -12
  81. package/esm2022/lib/dr-popover/dr-popover-ref.mjs +4 -1
  82. package/esm2022/lib/dr-popover/dr-popover.component.mjs +71 -40
  83. package/esm2022/lib/dr-popover/dr-popover.directive.mjs +51 -49
  84. package/esm2022/lib/dr-popover/dr-popover.module.mjs +13 -12
  85. package/esm2022/lib/dr-popover/dr-popover.service.mjs +25 -13
  86. package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +41 -17
  87. package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +42 -27
  88. package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +14 -13
  89. package/esm2022/lib/dr-scenario/services/scenario.service.mjs +6 -6
  90. package/esm2022/lib/dr-spinner/dr-spinner.component.mjs +17 -7
  91. package/esm2022/lib/dr-spinner/dr-spinner.directive.mjs +25 -20
  92. package/esm2022/lib/dr-spinner/dr-spinner.module.mjs +13 -12
  93. package/esm2022/lib/dr-tabs/dr-tab.component.mjs +33 -25
  94. package/esm2022/lib/dr-tabs/dr-tabs.component.mjs +118 -30
  95. package/esm2022/lib/dr-tabs/dr-tabs.module.mjs +14 -13
  96. package/esm2022/lib/dr-tags/dr-tag.component.mjs +75 -33
  97. package/esm2022/lib/dr-tags/dr-tag.module.mjs +14 -13
  98. package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.component.mjs +72 -19
  99. package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.module.mjs +14 -13
  100. package/esm2022/lib/dr-tags-constructor/tags-constructor.service.mjs +6 -6
  101. package/esm2022/lib/dr-toastr/default-toastr/default-toastr.component.mjs +48 -10
  102. package/esm2022/lib/dr-toastr/dr-toastr.module.mjs +19 -18
  103. package/esm2022/lib/dr-toastr/dr-toastr.service.mjs +9 -9
  104. package/esm2022/lib/dr-tooltip/components/tooltip-default/tooltip-default.component.mjs +23 -14
  105. package/esm2022/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.mjs +76 -9
  106. package/esm2022/lib/dr-tooltip/dr-tooltip.component.mjs +63 -25
  107. package/esm2022/lib/dr-tooltip/dr-tooltip.directive.mjs +41 -39
  108. package/esm2022/lib/dr-tooltip/dr-tooltip.module.mjs +14 -13
  109. package/esm2022/lib/dr-treeview/components/treeview/treeview.component.mjs +211 -19
  110. package/esm2022/lib/dr-treeview/components/treeview-item/treeview-item.component.mjs +52 -15
  111. package/esm2022/lib/dr-treeview/dr-tree-view.module.mjs +14 -13
  112. package/esm2022/lib/dr-treeview/helpers/treeview-event-parser.mjs +21 -21
  113. package/esm2022/lib/dr-treeview/models/treeview-config.mjs +6 -6
  114. package/esm2022/lib/dr-treeview/models/treeview-i18n.mjs +11 -11
  115. package/esm2022/lib/dr-treeview/pipes/treeview.pipe.mjs +9 -9
  116. package/esm2022/lib/image-cropper/dr-image-cropper-canvas.service.mjs +6 -6
  117. package/esm2022/lib/image-cropper/dr-image-cropper.component.mjs +67 -28
  118. package/esm2022/lib/list-tags/list-tag.component.mjs +57 -17
  119. package/esm2022/lib/list-tags/list-tag.module.mjs +14 -13
  120. package/esm2022/lib/models/dropdown.mjs +1 -1
  121. package/esm2022/lib/models/popover.mjs +1 -1
  122. package/esm2022/lib/models/serverTags.mjs +1 -1
  123. package/esm2022/lib/stepper/stepper.component.mjs +225 -28
  124. package/esm2022/lib/stepper/stepper.module.mjs +13 -12
  125. package/esm2022/lib/utils/decorators.mjs +12 -0
  126. package/esm2022/public-api.mjs +2 -2
  127. package/fesm2022/datarailsshared-datarailsshared.mjs +5787 -2724
  128. package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
  129. package/lib/dr-dropdown/dr-dropdown-item/dr-dropdown-item.component.d.ts +8 -0
  130. package/lib/dr-dropdown/dr-dropdown.component.d.ts +24 -22
  131. package/lib/dr-dropdown/dr-dropdown.directive.d.ts +16 -15
  132. package/lib/dr-dropdown/dr-dropdown.module.d.ts +5 -4
  133. package/lib/dr-dropdown/dr-dropdown.service.d.ts +23 -8
  134. package/lib/dr-popover/dr-popover-ref.d.ts +1 -0
  135. package/lib/dr-popover/dr-popover.service.d.ts +2 -1
  136. package/lib/models/dropdown.d.ts +13 -21
  137. package/lib/models/popover.d.ts +6 -3
  138. package/lib/models/serverTags.d.ts +1 -0
  139. package/lib/utils/decorators.d.ts +1 -0
  140. package/package.json +5 -2
  141. package/public-api.d.ts +2 -2
  142. package/datarailsshared-datarailsshared-1.5.389.tgz +0 -0
  143. package/esm2022/lib/dr-dropdown/dr-dropdown-position.directive.mjs +0 -113
  144. package/lib/dr-dropdown/dr-dropdown-position.directive.d.ts +0 -15
@@ -13,6 +13,230 @@ import * as i5 from "../../../dr-inputs/dr-input/dr-input.component";
13
13
  import * as i6 from "../../../dr-inputs/dr-select/dr-select.component";
14
14
  import * as i7 from "../../../dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component";
15
15
  import * as i8 from "@angular/forms";
16
+ function DialogModalWrapperComponent_i_2_Template(rf, ctx) { if (rf & 1) {
17
+ const _r6 = i0.ɵɵgetCurrentView();
18
+ i0.ɵɵelementStart(0, "i", 9);
19
+ i0.ɵɵlistener("click", function DialogModalWrapperComponent_i_2_Template_i_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.closeDialog()); });
20
+ i0.ɵɵelementEnd();
21
+ } if (rf & 2) {
22
+ const ctx_r0 = i0.ɵɵnextContext();
23
+ i0.ɵɵclassMap(ctx_r0.dialogData.headerIconClass);
24
+ } }
25
+ function DialogModalWrapperComponent_i_5_Template(rf, ctx) { if (rf & 1) {
26
+ const _r8 = i0.ɵɵgetCurrentView();
27
+ i0.ɵɵelementStart(0, "i", 10);
28
+ i0.ɵɵlistener("click", function DialogModalWrapperComponent_i_5_Template_i_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.closeDialog()); });
29
+ i0.ɵɵelementEnd();
30
+ } }
31
+ function DialogModalWrapperComponent_div_6_Template(rf, ctx) { if (rf & 1) {
32
+ i0.ɵɵelementStart(0, "div", 11);
33
+ i0.ɵɵelementContainerStart(1);
34
+ i0.ɵɵtext(2);
35
+ i0.ɵɵelementContainerEnd();
36
+ i0.ɵɵelement(3, "span", 12, 13);
37
+ i0.ɵɵelementEnd();
38
+ } if (rf & 2) {
39
+ const ctx_r2 = i0.ɵɵnextContext();
40
+ i0.ɵɵadvance(2);
41
+ i0.ɵɵtextInterpolate(ctx_r2.dialogData.content);
42
+ } }
43
+ function DialogModalWrapperComponent_form_7_div_2_label_1_Template(rf, ctx) { if (rf & 1) {
44
+ i0.ɵɵelementStart(0, "label", 25);
45
+ i0.ɵɵtext(1);
46
+ i0.ɵɵelementEnd();
47
+ } if (rf & 2) {
48
+ const field_r11 = i0.ɵɵnextContext().$implicit;
49
+ i0.ɵɵproperty("ngClass", field_r11.isLabelFullWidth ? "col-md-12 mb-2" : "col-md-2");
50
+ i0.ɵɵadvance(1);
51
+ i0.ɵɵtextInterpolate(field_r11.label);
52
+ } }
53
+ function DialogModalWrapperComponent_form_7_div_2_dr_select_3_3_ng_template_0_i_1_Template(rf, ctx) { if (rf & 1) {
54
+ i0.ɵɵelement(0, "i");
55
+ } if (rf & 2) {
56
+ const ctx_r26 = i0.ɵɵnextContext(6);
57
+ i0.ɵɵclassMap(ctx_r26.dialogData.footerTemplateData.icon);
58
+ } }
59
+ function DialogModalWrapperComponent_form_7_div_2_dr_select_3_3_ng_template_0_Template(rf, ctx) { if (rf & 1) {
60
+ const _r28 = i0.ɵɵgetCurrentView();
61
+ i0.ɵɵelementStart(0, "button", 29);
62
+ i0.ɵɵlistener("click", function DialogModalWrapperComponent_form_7_div_2_dr_select_3_3_ng_template_0_Template_button_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r28); const close_r25 = restoredCtx.close; const ctx_r27 = i0.ɵɵnextContext(5); ctx_r27.footerAction(); return i0.ɵɵresetView(close_r25()); });
63
+ i0.ɵɵtemplate(1, DialogModalWrapperComponent_form_7_div_2_dr_select_3_3_ng_template_0_i_1_Template, 1, 3, "i", 30);
64
+ i0.ɵɵtext(2);
65
+ i0.ɵɵelementEnd();
66
+ } if (rf & 2) {
67
+ const ctx_r23 = i0.ɵɵnextContext(5);
68
+ i0.ɵɵadvance(1);
69
+ i0.ɵɵproperty("ngIf", ctx_r23.dialogData.footerTemplateData.icon);
70
+ i0.ɵɵadvance(1);
71
+ i0.ɵɵtextInterpolate1(" ", ctx_r23.dialogData.footerTemplateData.label, " ");
72
+ } }
73
+ function DialogModalWrapperComponent_form_7_div_2_dr_select_3_3_Template(rf, ctx) { if (rf & 1) {
74
+ i0.ɵɵtemplate(0, DialogModalWrapperComponent_form_7_div_2_dr_select_3_3_ng_template_0_Template, 3, 2, "ng-template", null, 28, i0.ɵɵtemplateRefExtractor);
75
+ } }
76
+ function DialogModalWrapperComponent_form_7_div_2_dr_select_3_Template(rf, ctx) { if (rf & 1) {
77
+ i0.ɵɵelementStart(0, "dr-select", 26);
78
+ i0.ɵɵpipe(1, "async");
79
+ i0.ɵɵpipe(2, "async");
80
+ i0.ɵɵtemplate(3, DialogModalWrapperComponent_form_7_div_2_dr_select_3_3_Template, 2, 0, null, 27);
81
+ i0.ɵɵelementEnd();
82
+ } if (rf & 2) {
83
+ const field_r11 = i0.ɵɵnextContext().$implicit;
84
+ const ctx_r13 = i0.ɵɵnextContext(2);
85
+ i0.ɵɵproperty("searchable", ctx_r13.dialogData.searchable)("clearable", ctx_r13.dialogData.clearable)("formControlName", field_r11.name)("bindLabel", field_r11.bindLabel || null)("bindValue", field_r11.bindValue || null)("selectedItem", field_r11.default)("items", field_r11.items || i0.ɵɵpipeBind1(1, 11, field_r11.items$))("loading", i0.ɵɵpipeBind1(2, 13, ctx_r13.fieldsItemsLoading[field_r11.name]))("required", true)("placeholder", field_r11.placeholder);
86
+ i0.ɵɵadvance(3);
87
+ i0.ɵɵproperty("ngIf", ctx_r13.dialogData == null ? null : ctx_r13.dialogData.footerTemplateData);
88
+ } }
89
+ function DialogModalWrapperComponent_form_7_div_2_dr_input_4_Template(rf, ctx) { if (rf & 1) {
90
+ i0.ɵɵelement(0, "dr-input", 31);
91
+ } if (rf & 2) {
92
+ const field_r11 = i0.ɵɵnextContext().$implicit;
93
+ i0.ɵɵproperty("formControlName", field_r11.name)("placeholder", field_r11.placeholder);
94
+ } }
95
+ function DialogModalWrapperComponent_form_7_div_2_dr_date_picker_5_Template(rf, ctx) { if (rf & 1) {
96
+ i0.ɵɵelement(0, "dr-date-picker", 32);
97
+ } if (rf & 2) {
98
+ const field_r11 = i0.ɵɵnextContext().$implicit;
99
+ i0.ɵɵproperty("formControlName", field_r11.name)("format", field_r11.datePickerFormat)("placeholder", field_r11.placeholder);
100
+ } }
101
+ function DialogModalWrapperComponent_form_7_div_2_dr_checkbox_6_Template(rf, ctx) { if (rf & 1) {
102
+ i0.ɵɵelementStart(0, "dr-checkbox", 33);
103
+ i0.ɵɵtext(1);
104
+ i0.ɵɵelementEnd();
105
+ } if (rf & 2) {
106
+ const field_r11 = i0.ɵɵnextContext().$implicit;
107
+ i0.ɵɵproperty("formControlName", field_r11.name);
108
+ i0.ɵɵadvance(1);
109
+ i0.ɵɵtextInterpolate1(" ", field_r11.label, " ");
110
+ } }
111
+ function DialogModalWrapperComponent_form_7_div_2_label_7_Template(rf, ctx) { if (rf & 1) {
112
+ i0.ɵɵelementStart(0, "label", 34);
113
+ i0.ɵɵtext(1);
114
+ i0.ɵɵelementEnd();
115
+ } if (rf & 2) {
116
+ const field_r11 = i0.ɵɵnextContext().$implicit;
117
+ const ctx_r17 = i0.ɵɵnextContext(2);
118
+ i0.ɵɵadvance(1);
119
+ i0.ɵɵtextInterpolate1(" ", ctx_r17.form.controls[field_r11.name].errors.errorString, " ");
120
+ } }
121
+ function DialogModalWrapperComponent_form_7_div_2_label_8_Template(rf, ctx) { if (rf & 1) {
122
+ i0.ɵɵelementStart(0, "label", 35);
123
+ i0.ɵɵtext(1);
124
+ i0.ɵɵelementEnd();
125
+ } if (rf & 2) {
126
+ const ctx_r18 = i0.ɵɵnextContext(3);
127
+ i0.ɵɵadvance(1);
128
+ i0.ɵɵtextInterpolate1(" ", ctx_r18.dialogData.errorMessage, " ");
129
+ } }
130
+ function DialogModalWrapperComponent_form_7_div_2_label_9_Template(rf, ctx) { if (rf & 1) {
131
+ i0.ɵɵelementStart(0, "label", 35);
132
+ i0.ɵɵtext(1);
133
+ i0.ɵɵelementEnd();
134
+ } if (rf & 2) {
135
+ const ctx_r19 = i0.ɵɵnextContext(3);
136
+ i0.ɵɵadvance(1);
137
+ i0.ɵɵtextInterpolate1(" ", ctx_r19.dialogData.serverErrorMessage, " ");
138
+ } }
139
+ const _c0 = function (a0) { return { display: a0 }; };
140
+ const _c1 = function (a0, a1) { return { "col-md-10": a0, "col-md-12": a1 }; };
141
+ function DialogModalWrapperComponent_form_7_div_2_Template(rf, ctx) { if (rf & 1) {
142
+ i0.ɵɵelementStart(0, "div", 16);
143
+ i0.ɵɵtemplate(1, DialogModalWrapperComponent_form_7_div_2_label_1_Template, 2, 2, "label", 17);
144
+ i0.ɵɵelementStart(2, "div", 18);
145
+ i0.ɵɵtemplate(3, DialogModalWrapperComponent_form_7_div_2_dr_select_3_Template, 4, 15, "dr-select", 19);
146
+ i0.ɵɵtemplate(4, DialogModalWrapperComponent_form_7_div_2_dr_input_4_Template, 1, 2, "dr-input", 20);
147
+ i0.ɵɵtemplate(5, DialogModalWrapperComponent_form_7_div_2_dr_date_picker_5_Template, 1, 3, "dr-date-picker", 21);
148
+ i0.ɵɵtemplate(6, DialogModalWrapperComponent_form_7_div_2_dr_checkbox_6_Template, 2, 2, "dr-checkbox", 22);
149
+ i0.ɵɵtemplate(7, DialogModalWrapperComponent_form_7_div_2_label_7_Template, 2, 1, "label", 23);
150
+ i0.ɵɵtemplate(8, DialogModalWrapperComponent_form_7_div_2_label_8_Template, 2, 1, "label", 24);
151
+ i0.ɵɵtemplate(9, DialogModalWrapperComponent_form_7_div_2_label_9_Template, 2, 1, "label", 24);
152
+ i0.ɵɵelementEnd()();
153
+ } if (rf & 2) {
154
+ const field_r11 = ctx.$implicit;
155
+ const ctx_r10 = i0.ɵɵnextContext(2);
156
+ i0.ɵɵclassMap(field_r11.formGroupClass);
157
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(12, _c0, field_r11.isLabelFullWidth ? "block" : "flex"));
158
+ i0.ɵɵadvance(1);
159
+ i0.ɵɵproperty("ngIf", field_r11.label && field_r11.type !== ctx_r10.dialogFieldType.CHECKBOX);
160
+ i0.ɵɵadvance(1);
161
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(14, _c1, field_r11.label && !field_r11.isLabelFullWidth, !field_r11.label || field_r11.isLabelFullWidth));
162
+ i0.ɵɵadvance(1);
163
+ i0.ɵɵproperty("ngIf", field_r11.type === ctx_r10.dialogFieldType.SELECT);
164
+ i0.ɵɵadvance(1);
165
+ i0.ɵɵproperty("ngIf", field_r11.type === ctx_r10.dialogFieldType.INPUT);
166
+ i0.ɵɵadvance(1);
167
+ i0.ɵɵproperty("ngIf", field_r11.type === ctx_r10.dialogFieldType.DATE_PICKER);
168
+ i0.ɵɵadvance(1);
169
+ i0.ɵɵproperty("ngIf", field_r11.type === ctx_r10.dialogFieldType.CHECKBOX);
170
+ i0.ɵɵadvance(1);
171
+ i0.ɵɵproperty("ngIf", ctx_r10.form.invalid && (ctx_r10.form.controls[field_r11.name] == null ? null : ctx_r10.form.controls[field_r11.name].dirty) && (ctx_r10.form.controls[field_r11.name] == null ? null : ctx_r10.form.controls[field_r11.name].errors));
172
+ i0.ɵɵadvance(1);
173
+ i0.ɵɵproperty("ngIf", ctx_r10.dialogData.errorMessage && !ctx_r10.form.pristine && ctx_r10.form.invalid);
174
+ i0.ɵɵadvance(1);
175
+ i0.ɵɵproperty("ngIf", ctx_r10.form.valid && ctx_r10.showServerErrorMessage && ctx_r10.dialogData.serverErrorMessage);
176
+ } }
177
+ function DialogModalWrapperComponent_form_7_Template(rf, ctx) { if (rf & 1) {
178
+ i0.ɵɵelementStart(0, "form", 14)(1, "div");
179
+ i0.ɵɵtemplate(2, DialogModalWrapperComponent_form_7_div_2_Template, 10, 17, "div", 15);
180
+ i0.ɵɵelementEnd()();
181
+ } if (rf & 2) {
182
+ const ctx_r3 = i0.ɵɵnextContext();
183
+ i0.ɵɵproperty("formGroup", ctx_r3.form);
184
+ i0.ɵɵadvance(1);
185
+ i0.ɵɵclassMap(ctx_r3.dialogData.formWrapperClass || "dr-smart-form_wrapper");
186
+ i0.ɵɵadvance(1);
187
+ i0.ɵɵproperty("ngForOf", ctx_r3.dialogData.fields);
188
+ } }
189
+ function DialogModalWrapperComponent_div_9_dr_button_1_Template(rf, ctx) { if (rf & 1) {
190
+ const _r38 = i0.ɵɵgetCurrentView();
191
+ i0.ɵɵelementStart(0, "dr-button", 40);
192
+ i0.ɵɵlistener("click", function DialogModalWrapperComponent_div_9_dr_button_1_Template_dr_button_click_0_listener() { i0.ɵɵrestoreView(_r38); const ctx_r37 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r37.onDecline()); });
193
+ i0.ɵɵtext(1);
194
+ i0.ɵɵelementEnd();
195
+ } if (rf & 2) {
196
+ const ctx_r34 = i0.ɵɵnextContext(2);
197
+ i0.ɵɵproperty("theme", (ctx_r34.dialogData.customButton == null ? null : ctx_r34.dialogData.customButton.theme) || "secondary");
198
+ i0.ɵɵadvance(1);
199
+ i0.ɵɵtextInterpolate(ctx_r34.dialogData.customButton.label);
200
+ } }
201
+ function DialogModalWrapperComponent_div_9_dr_button_2_Template(rf, ctx) { if (rf & 1) {
202
+ const _r40 = i0.ɵɵgetCurrentView();
203
+ i0.ɵɵelementStart(0, "dr-button", 41);
204
+ i0.ɵɵlistener("click", function DialogModalWrapperComponent_div_9_dr_button_2_Template_dr_button_click_0_listener() { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r39.closeDialog()); });
205
+ i0.ɵɵtext(1);
206
+ i0.ɵɵelementEnd();
207
+ } if (rf & 2) {
208
+ const ctx_r35 = i0.ɵɵnextContext(2);
209
+ i0.ɵɵproperty("theme", "secondary");
210
+ i0.ɵɵadvance(1);
211
+ i0.ɵɵtextInterpolate(ctx_r35.dialogData.cancelButton.label);
212
+ } }
213
+ function DialogModalWrapperComponent_div_9_dr_button_3_Template(rf, ctx) { if (rf & 1) {
214
+ const _r42 = i0.ɵɵgetCurrentView();
215
+ i0.ɵɵelementStart(0, "dr-button", 42);
216
+ i0.ɵɵlistener("click", function DialogModalWrapperComponent_div_9_dr_button_3_Template_dr_button_click_0_listener() { i0.ɵɵrestoreView(_r42); const ctx_r41 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r41.onAccept()); });
217
+ i0.ɵɵtext(1);
218
+ i0.ɵɵelementEnd();
219
+ } if (rf & 2) {
220
+ const ctx_r36 = i0.ɵɵnextContext(2);
221
+ i0.ɵɵproperty("theme", "primary")("isLoading", ctx_r36.isLoading)("disabled", ctx_r36.form.invalid);
222
+ i0.ɵɵadvance(1);
223
+ i0.ɵɵtextInterpolate(ctx_r36.dialogData.acceptButton.label);
224
+ } }
225
+ function DialogModalWrapperComponent_div_9_Template(rf, ctx) { if (rf & 1) {
226
+ i0.ɵɵelementStart(0, "div", 36);
227
+ i0.ɵɵtemplate(1, DialogModalWrapperComponent_div_9_dr_button_1_Template, 2, 2, "dr-button", 37);
228
+ i0.ɵɵtemplate(2, DialogModalWrapperComponent_div_9_dr_button_2_Template, 2, 2, "dr-button", 38);
229
+ i0.ɵɵtemplate(3, DialogModalWrapperComponent_div_9_dr_button_3_Template, 2, 4, "dr-button", 39);
230
+ i0.ɵɵelementEnd();
231
+ } if (rf & 2) {
232
+ const ctx_r4 = i0.ɵɵnextContext();
233
+ i0.ɵɵadvance(1);
234
+ i0.ɵɵproperty("ngIf", ctx_r4.dialogData.customButton);
235
+ i0.ɵɵadvance(1);
236
+ i0.ɵɵproperty("ngIf", ctx_r4.dialogData.cancelButton);
237
+ i0.ɵɵadvance(1);
238
+ i0.ɵɵproperty("ngIf", ctx_r4.dialogData.acceptButton);
239
+ } }
16
240
  export class DialogModalWrapperComponent {
17
241
  constructor(dialogRef, dialogData) {
18
242
  this.dialogRef = dialogRef;
@@ -75,17 +299,45 @@ export class DialogModalWrapperComponent {
75
299
  this.destroy$.next();
76
300
  this.destroy$.complete();
77
301
  }
78
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogModalWrapperComponent, deps: [{ token: i1.MatLegacyDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
79
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DialogModalWrapperComponent, selector: "dr-dialog-modal-wrapper", host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<div header class=\"header-dialog\">\n <h1 class=\"title-dialog\" data-test=\"modalTitle\">\n <i\n *ngIf=\"dialogData.headerIconClass\"\n (click)=\"closeDialog()\"\n class=\"title-dialog__icon\"\n [class]=\"dialogData.headerIconClass\"\n data-test=\"dialogTitleIcon\"></i>\n <span class=\"title-dialog__text\">{{ dialogData.title }}</span>\n </h1>\n <i *ngIf=\"!dialogData.hideCloseBtn\" (click)=\"closeDialog()\" class=\"dr-icon-exit icon-close\" data-test=\"xBtn\"></i>\n</div>\n<div *ngIf=\"dialogData.content\" class=\"content-dialog\">\n <ng-container>{{ dialogData.content }}</ng-container>\n <span #content class=\"content-anchor\"></span>\n</div>\n<form *ngIf=\"dialogData.fields\" [formGroup]=\"form\" class=\"dr-smart-from\">\n <div [class]=\"dialogData.formWrapperClass || 'dr-smart-form_wrapper'\">\n <div\n *ngFor=\"let field of dialogData.fields\"\n class=\"dr-smart-form_group\"\n [class]=\"field.formGroupClass\"\n [ngStyle]=\"{ display: field.isLabelFullWidth ? 'block' : 'flex' }\">\n <label\n *ngIf=\"field.label && field.type !== dialogFieldType.CHECKBOX\"\n [ngClass]=\"field.isLabelFullWidth ? 'col-md-12 mb-2' : 'col-md-2'\"\n class=\"label p-0 d-flex align-items-center\"\n >{{ field.label }}</label\n >\n <div\n class=\"input-group p-0\"\n [ngClass]=\"{\n 'col-md-10': field.label && !field.isLabelFullWidth,\n 'col-md-12': !field.label || field.isLabelFullWidth\n }\">\n <dr-select\n *ngIf=\"field.type === dialogFieldType.SELECT\"\n [searchable]=\"dialogData.searchable\"\n [clearable]=\"dialogData.clearable\"\n [formControlName]=\"field.name\"\n [bindLabel]=\"field.bindLabel || null\"\n [bindValue]=\"field.bindValue || null\"\n [selectedItem]=\"field.default\"\n [items]=\"field.items || (field.items$ | async)\"\n [loading]=\"fieldsItemsLoading[field.name] | async\"\n [required]=\"true\"\n [placeholder]=\"field.placeholder\">\n <ng-template *ngIf=\"dialogData?.footerTemplateData\" #optionFooterTemplate let-item=\"item\" let-close=\"close\">\n <button (click)=\"footerAction(); close()\" class=\"dr-select-footer__btn\">\n <i *ngIf=\"dialogData.footerTemplateData.icon\" class=\"{{ dialogData.footerTemplateData.icon }}\"></i>\n {{ dialogData.footerTemplateData.label }}\n </button>\n </ng-template>\n </dr-select>\n <dr-input\n *ngIf=\"field.type === dialogFieldType.INPUT\"\n data-test=\"modalInput\"\n class=\"form-control\"\n [formControlName]=\"field.name\"\n [placeholder]=\"field.placeholder\"></dr-input>\n <dr-date-picker\n *ngIf=\"field.type === dialogFieldType.DATE_PICKER\"\n [formControlName]=\"field.name\"\n [format]=\"field.datePickerFormat\"\n [placeholder]=\"field.placeholder\"></dr-date-picker>\n <dr-checkbox *ngIf=\"field.type === dialogFieldType.CHECKBOX\" [formControlName]=\"field.name\">\n {{ field.label }}\n </dr-checkbox>\n <label\n class=\"form-field-error-alert\"\n *ngIf=\"form.invalid && form.controls[field.name]?.dirty && form.controls[field.name]?.errors\">\n {{ form.controls[field.name].errors.errorString }}\n </label>\n <label class=\"form-error-alert\" *ngIf=\"dialogData.errorMessage && !form.pristine && form.invalid\">\n {{ dialogData.errorMessage }}\n </label>\n <label class=\"form-error-alert\" *ngIf=\"form.valid && showServerErrorMessage && dialogData.serverErrorMessage\">\n {{ dialogData.serverErrorMessage }}\n </label>\n </div>\n </div>\n </div>\n</form>\n\n<div footer class=\"footer-dialog\">\n <div class=\"buttons-wrapper\" *ngIf=\"dialogData.cancelButton || dialogData.acceptButton\">\n <dr-button\n (click)=\"onDecline()\"\n *ngIf=\"dialogData.customButton\"\n [theme]=\"dialogData.customButton?.theme || 'secondary'\"\n class=\"buttons-wrapper--custom-btn\"\n data-test=\"declineBtn\"\n >{{ dialogData.customButton.label }}</dr-button\n >\n <dr-button *ngIf=\"dialogData.cancelButton\" data-test=\"modalCloseBtn\" (click)=\"closeDialog()\" [theme]=\"'secondary'\">{{\n dialogData.cancelButton.label\n }}</dr-button>\n <dr-button\n *ngIf=\"dialogData.acceptButton\"\n data-test=\"modalAddBtn\"\n (click)=\"onAccept()\"\n [theme]=\"'primary'\"\n [isLoading]=\"isLoading\"\n [disabled]=\"form.invalid\"\n >{{ dialogData.acceptButton.label }}</dr-button\n >\n </div>\n</div>\n", styles: [":host{display:flex;justify-content:space-between;flex-direction:column}:host.small-modal,:host.small-modal-max-height{min-height:188px;max-height:467px;min-width:400px;max-width:400px}:host.medium-modal,:host.medium-modal-max-height{min-height:188px;max-height:467px;min-width:632px;max-width:632px}:host.medium-small-modal{min-height:188px;max-height:345px;min-width:460px;max-width:460px}:host.medium-modal-max-height,:host.small-modal-max-height{max-height:80vh}.header-dialog{position:relative;display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 56px 16px 32px;border-bottom:1px solid #dfe0e3}.header-dialog>.icon-close{position:absolute;right:32px;top:16px;cursor:pointer}.title-dialog{display:flex;color:#333;position:static;font-weight:600;font-size:16px;line-height:24px;margin-top:0;margin-bottom:0}.title-dialog__icon{font-size:32px;margin-right:8px;line-height:24px;color:#6d6e6f}.content-dialog{font-weight:400;font-size:14px;padding:16px 32px 5px;white-space:pre-line}.icon-close{color:#6d6e6f;cursor:pointer}.dr-smart-from{font-size:14px;font-weight:400;line-height:22px;padding:16px 32px 22px}.dr-smart-from dr-checkbox{font-weight:400}.content-dialog{padding:16px 32px 0;font-weight:400;font-size:14px;line-height:22px}.content-anchor{display:none}.footer-dialog{border-top:1px solid #dfe0e3}.buttons-wrapper{display:flex;justify-content:flex-end;padding:10px 32px 11px}.buttons-wrapper dr-button:nth-of-type(n+2){margin-left:12px}.buttons-wrapper--custom-btn{margin-right:auto}.form-field-error-alert{font-size:12px;color:#bf1d30;line-height:20px}.form-error-alert{position:absolute;margin-top:5px;font-size:12px;color:#bf1d30}.dr-select-footer__btn{background-color:transparent;display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.DrButtonComponent, selector: "dr-button", inputs: ["theme", "icon", "iconColor", "iconSize", "iconAfter", "iconAfterColor", "iconAfterSize", "disabled", "isLoading", "isActive"] }, { kind: "component", type: i4.CheckboxComponent, selector: "dr-checkbox", inputs: ["checkedStatus", "disabled", "icon", "indeterminate", "textNowrap"], outputs: ["checkedChange"] }, { kind: "component", type: i5.DrInputComponent, selector: "dr-input", inputs: ["disabled", "buttonOptions", "type", "placeholder", "clearable", "name", "readonly", "min", "max", "maxlength", "minlength", "pattern", "step", "searchMini", "mask", "suffix", "prefix"], outputs: ["blur", "focus", "modelDebounceChange", "searchHandler", "clearHandler", "buttonHandler"] }, { kind: "component", type: i6.DrSelectComponent, selector: "dr-select", inputs: ["type", "className", "items", "addTag", "appendTo", "bindLabel", "bindValue", "clearable", "searchable", "searchFn", "multiple", "multipleHeightIncreased", "hideSelected", "placeholder", "loading", "loadingText", "readonly", "disabled", "groupBy", "optionWithDescription", "id", "keyDownFn", "selectedItem", "dropdownClass", "closeOnSelect", "textView", "autofocus", "isOpen", "noValuePadding"], outputs: ["change", "open", "closeUp"] }, { kind: "component", type: i7.DrDatePickerComponent, selector: "dr-date-picker", inputs: ["format", "min", "max", "periodPosition", "placeholder", "disabled", "fiscalYearMonthsModifier", "fiscalYearBack", "datepickerFilter"] }, { kind: "directive", type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i8.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i8.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
302
+ /** @nocollapse */ static { this.ɵfac = function DialogModalWrapperComponent_Factory(t) { return new (t || DialogModalWrapperComponent)(i0.ɵɵdirectiveInject(i1.MatLegacyDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); }; }
303
+ /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DialogModalWrapperComponent, selectors: [["dr-dialog-modal-wrapper"]], hostVars: 2, hostBindings: function DialogModalWrapperComponent_HostBindings(rf, ctx) { if (rf & 2) {
304
+ i0.ɵɵclassMap(ctx.class);
305
+ } }, decls: 10, vars: 6, consts: [["header", "", 1, "header-dialog"], ["data-test", "modalTitle", 1, "title-dialog"], ["class", "title-dialog__icon", "data-test", "dialogTitleIcon", 3, "class", "click", 4, "ngIf"], [1, "title-dialog__text"], ["class", "dr-icon-exit icon-close", "data-test", "xBtn", 3, "click", 4, "ngIf"], ["class", "content-dialog", 4, "ngIf"], ["class", "dr-smart-from", 3, "formGroup", 4, "ngIf"], ["footer", "", 1, "footer-dialog"], ["class", "buttons-wrapper", 4, "ngIf"], ["data-test", "dialogTitleIcon", 1, "title-dialog__icon", 3, "click"], ["data-test", "xBtn", 1, "dr-icon-exit", "icon-close", 3, "click"], [1, "content-dialog"], [1, "content-anchor"], ["content", ""], [1, "dr-smart-from", 3, "formGroup"], ["class", "dr-smart-form_group", 3, "class", "ngStyle", 4, "ngFor", "ngForOf"], [1, "dr-smart-form_group", 3, "ngStyle"], ["class", "label p-0 d-flex align-items-center", 3, "ngClass", 4, "ngIf"], [1, "input-group", "p-0", 3, "ngClass"], [3, "searchable", "clearable", "formControlName", "bindLabel", "bindValue", "selectedItem", "items", "loading", "required", "placeholder", 4, "ngIf"], ["data-test", "modalInput", "class", "form-control", 3, "formControlName", "placeholder", 4, "ngIf"], [3, "formControlName", "format", "placeholder", 4, "ngIf"], [3, "formControlName", 4, "ngIf"], ["class", "form-field-error-alert", 4, "ngIf"], ["class", "form-error-alert", 4, "ngIf"], [1, "label", "p-0", "d-flex", "align-items-center", 3, "ngClass"], [3, "searchable", "clearable", "formControlName", "bindLabel", "bindValue", "selectedItem", "items", "loading", "required", "placeholder"], [4, "ngIf"], ["optionFooterTemplate", ""], [1, "dr-select-footer__btn", 3, "click"], [3, "class", 4, "ngIf"], ["data-test", "modalInput", 1, "form-control", 3, "formControlName", "placeholder"], [3, "formControlName", "format", "placeholder"], [3, "formControlName"], [1, "form-field-error-alert"], [1, "form-error-alert"], [1, "buttons-wrapper"], ["class", "buttons-wrapper--custom-btn", "data-test", "declineBtn", 3, "theme", "click", 4, "ngIf"], ["data-test", "modalCloseBtn", 3, "theme", "click", 4, "ngIf"], ["data-test", "modalAddBtn", 3, "theme", "isLoading", "disabled", "click", 4, "ngIf"], ["data-test", "declineBtn", 1, "buttons-wrapper--custom-btn", 3, "theme", "click"], ["data-test", "modalCloseBtn", 3, "theme", "click"], ["data-test", "modalAddBtn", 3, "theme", "isLoading", "disabled", "click"]], template: function DialogModalWrapperComponent_Template(rf, ctx) { if (rf & 1) {
306
+ i0.ɵɵelementStart(0, "div", 0)(1, "h1", 1);
307
+ i0.ɵɵtemplate(2, DialogModalWrapperComponent_i_2_Template, 1, 2, "i", 2);
308
+ i0.ɵɵelementStart(3, "span", 3);
309
+ i0.ɵɵtext(4);
310
+ i0.ɵɵelementEnd()();
311
+ i0.ɵɵtemplate(5, DialogModalWrapperComponent_i_5_Template, 1, 0, "i", 4);
312
+ i0.ɵɵelementEnd();
313
+ i0.ɵɵtemplate(6, DialogModalWrapperComponent_div_6_Template, 5, 1, "div", 5);
314
+ i0.ɵɵtemplate(7, DialogModalWrapperComponent_form_7_Template, 3, 4, "form", 6);
315
+ i0.ɵɵelementStart(8, "div", 7);
316
+ i0.ɵɵtemplate(9, DialogModalWrapperComponent_div_9_Template, 4, 3, "div", 8);
317
+ i0.ɵɵelementEnd();
318
+ } if (rf & 2) {
319
+ i0.ɵɵadvance(2);
320
+ i0.ɵɵproperty("ngIf", ctx.dialogData.headerIconClass);
321
+ i0.ɵɵadvance(2);
322
+ i0.ɵɵtextInterpolate(ctx.dialogData.title);
323
+ i0.ɵɵadvance(1);
324
+ i0.ɵɵproperty("ngIf", !ctx.dialogData.hideCloseBtn);
325
+ i0.ɵɵadvance(1);
326
+ i0.ɵɵproperty("ngIf", ctx.dialogData.content);
327
+ i0.ɵɵadvance(1);
328
+ i0.ɵɵproperty("ngIf", ctx.dialogData.fields);
329
+ i0.ɵɵadvance(2);
330
+ i0.ɵɵproperty("ngIf", ctx.dialogData.cancelButton || ctx.dialogData.acceptButton);
331
+ } }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i2.NgStyle, i3.DrButtonComponent, i4.CheckboxComponent, i5.DrInputComponent, i6.DrSelectComponent, i7.DrDatePickerComponent, i8.ɵNgNoValidate, i8.NgControlStatus, i8.NgControlStatusGroup, i8.RequiredValidator, i8.FormGroupDirective, i8.FormControlName, i2.AsyncPipe], styles: ["[_nghost-%COMP%]{display:flex;justify-content:space-between;flex-direction:column}.small-modal[_nghost-%COMP%], .small-modal-max-height[_nghost-%COMP%]{min-height:188px;max-height:467px;min-width:400px;max-width:400px}.medium-modal[_nghost-%COMP%], .medium-modal-max-height[_nghost-%COMP%]{min-height:188px;max-height:467px;min-width:632px;max-width:632px}.medium-small-modal[_nghost-%COMP%]{min-height:188px;max-height:345px;min-width:460px;max-width:460px}.medium-modal-max-height[_nghost-%COMP%], .small-modal-max-height[_nghost-%COMP%]{max-height:80vh}.header-dialog[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 56px 16px 32px;border-bottom:1px solid #dfe0e3}.header-dialog[_ngcontent-%COMP%] > .icon-close[_ngcontent-%COMP%]{position:absolute;right:32px;top:16px;cursor:pointer}.title-dialog[_ngcontent-%COMP%]{display:flex;color:#333;position:static;font-weight:600;font-size:16px;line-height:24px;margin-top:0;margin-bottom:0}.title-dialog__icon[_ngcontent-%COMP%]{font-size:32px;margin-right:8px;line-height:24px;color:#6d6e6f}.content-dialog[_ngcontent-%COMP%]{font-weight:400;font-size:14px;padding:16px 32px 5px;white-space:pre-line}.icon-close[_ngcontent-%COMP%]{color:#6d6e6f;cursor:pointer}.dr-smart-from[_ngcontent-%COMP%]{font-size:14px;font-weight:400;line-height:22px;padding:16px 32px 22px}.dr-smart-from[_ngcontent-%COMP%] dr-checkbox[_ngcontent-%COMP%]{font-weight:400}.content-dialog[_ngcontent-%COMP%]{padding:16px 32px 0;font-weight:400;font-size:14px;line-height:22px}.content-anchor[_ngcontent-%COMP%]{display:none}.footer-dialog[_ngcontent-%COMP%]{border-top:1px solid #dfe0e3}.buttons-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;padding:10px 32px 11px}.buttons-wrapper[_ngcontent-%COMP%] dr-button[_ngcontent-%COMP%]:nth-of-type(n+2){margin-left:12px}.buttons-wrapper--custom-btn[_ngcontent-%COMP%]{margin-right:auto}.form-field-error-alert[_ngcontent-%COMP%]{font-size:12px;color:#bf1d30;line-height:20px}.form-error-alert[_ngcontent-%COMP%]{position:absolute;margin-top:5px;font-size:12px;color:#bf1d30}.dr-select-footer__btn[_ngcontent-%COMP%]{background-color:transparent;display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}"] }); }
80
332
  }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogModalWrapperComponent, decorators: [{
82
- type: Component,
83
- args: [{ selector: 'dr-dialog-modal-wrapper', template: "<div header class=\"header-dialog\">\n <h1 class=\"title-dialog\" data-test=\"modalTitle\">\n <i\n *ngIf=\"dialogData.headerIconClass\"\n (click)=\"closeDialog()\"\n class=\"title-dialog__icon\"\n [class]=\"dialogData.headerIconClass\"\n data-test=\"dialogTitleIcon\"></i>\n <span class=\"title-dialog__text\">{{ dialogData.title }}</span>\n </h1>\n <i *ngIf=\"!dialogData.hideCloseBtn\" (click)=\"closeDialog()\" class=\"dr-icon-exit icon-close\" data-test=\"xBtn\"></i>\n</div>\n<div *ngIf=\"dialogData.content\" class=\"content-dialog\">\n <ng-container>{{ dialogData.content }}</ng-container>\n <span #content class=\"content-anchor\"></span>\n</div>\n<form *ngIf=\"dialogData.fields\" [formGroup]=\"form\" class=\"dr-smart-from\">\n <div [class]=\"dialogData.formWrapperClass || 'dr-smart-form_wrapper'\">\n <div\n *ngFor=\"let field of dialogData.fields\"\n class=\"dr-smart-form_group\"\n [class]=\"field.formGroupClass\"\n [ngStyle]=\"{ display: field.isLabelFullWidth ? 'block' : 'flex' }\">\n <label\n *ngIf=\"field.label && field.type !== dialogFieldType.CHECKBOX\"\n [ngClass]=\"field.isLabelFullWidth ? 'col-md-12 mb-2' : 'col-md-2'\"\n class=\"label p-0 d-flex align-items-center\"\n >{{ field.label }}</label\n >\n <div\n class=\"input-group p-0\"\n [ngClass]=\"{\n 'col-md-10': field.label && !field.isLabelFullWidth,\n 'col-md-12': !field.label || field.isLabelFullWidth\n }\">\n <dr-select\n *ngIf=\"field.type === dialogFieldType.SELECT\"\n [searchable]=\"dialogData.searchable\"\n [clearable]=\"dialogData.clearable\"\n [formControlName]=\"field.name\"\n [bindLabel]=\"field.bindLabel || null\"\n [bindValue]=\"field.bindValue || null\"\n [selectedItem]=\"field.default\"\n [items]=\"field.items || (field.items$ | async)\"\n [loading]=\"fieldsItemsLoading[field.name] | async\"\n [required]=\"true\"\n [placeholder]=\"field.placeholder\">\n <ng-template *ngIf=\"dialogData?.footerTemplateData\" #optionFooterTemplate let-item=\"item\" let-close=\"close\">\n <button (click)=\"footerAction(); close()\" class=\"dr-select-footer__btn\">\n <i *ngIf=\"dialogData.footerTemplateData.icon\" class=\"{{ dialogData.footerTemplateData.icon }}\"></i>\n {{ dialogData.footerTemplateData.label }}\n </button>\n </ng-template>\n </dr-select>\n <dr-input\n *ngIf=\"field.type === dialogFieldType.INPUT\"\n data-test=\"modalInput\"\n class=\"form-control\"\n [formControlName]=\"field.name\"\n [placeholder]=\"field.placeholder\"></dr-input>\n <dr-date-picker\n *ngIf=\"field.type === dialogFieldType.DATE_PICKER\"\n [formControlName]=\"field.name\"\n [format]=\"field.datePickerFormat\"\n [placeholder]=\"field.placeholder\"></dr-date-picker>\n <dr-checkbox *ngIf=\"field.type === dialogFieldType.CHECKBOX\" [formControlName]=\"field.name\">\n {{ field.label }}\n </dr-checkbox>\n <label\n class=\"form-field-error-alert\"\n *ngIf=\"form.invalid && form.controls[field.name]?.dirty && form.controls[field.name]?.errors\">\n {{ form.controls[field.name].errors.errorString }}\n </label>\n <label class=\"form-error-alert\" *ngIf=\"dialogData.errorMessage && !form.pristine && form.invalid\">\n {{ dialogData.errorMessage }}\n </label>\n <label class=\"form-error-alert\" *ngIf=\"form.valid && showServerErrorMessage && dialogData.serverErrorMessage\">\n {{ dialogData.serverErrorMessage }}\n </label>\n </div>\n </div>\n </div>\n</form>\n\n<div footer class=\"footer-dialog\">\n <div class=\"buttons-wrapper\" *ngIf=\"dialogData.cancelButton || dialogData.acceptButton\">\n <dr-button\n (click)=\"onDecline()\"\n *ngIf=\"dialogData.customButton\"\n [theme]=\"dialogData.customButton?.theme || 'secondary'\"\n class=\"buttons-wrapper--custom-btn\"\n data-test=\"declineBtn\"\n >{{ dialogData.customButton.label }}</dr-button\n >\n <dr-button *ngIf=\"dialogData.cancelButton\" data-test=\"modalCloseBtn\" (click)=\"closeDialog()\" [theme]=\"'secondary'\">{{\n dialogData.cancelButton.label\n }}</dr-button>\n <dr-button\n *ngIf=\"dialogData.acceptButton\"\n data-test=\"modalAddBtn\"\n (click)=\"onAccept()\"\n [theme]=\"'primary'\"\n [isLoading]=\"isLoading\"\n [disabled]=\"form.invalid\"\n >{{ dialogData.acceptButton.label }}</dr-button\n >\n </div>\n</div>\n", styles: [":host{display:flex;justify-content:space-between;flex-direction:column}:host.small-modal,:host.small-modal-max-height{min-height:188px;max-height:467px;min-width:400px;max-width:400px}:host.medium-modal,:host.medium-modal-max-height{min-height:188px;max-height:467px;min-width:632px;max-width:632px}:host.medium-small-modal{min-height:188px;max-height:345px;min-width:460px;max-width:460px}:host.medium-modal-max-height,:host.small-modal-max-height{max-height:80vh}.header-dialog{position:relative;display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 56px 16px 32px;border-bottom:1px solid #dfe0e3}.header-dialog>.icon-close{position:absolute;right:32px;top:16px;cursor:pointer}.title-dialog{display:flex;color:#333;position:static;font-weight:600;font-size:16px;line-height:24px;margin-top:0;margin-bottom:0}.title-dialog__icon{font-size:32px;margin-right:8px;line-height:24px;color:#6d6e6f}.content-dialog{font-weight:400;font-size:14px;padding:16px 32px 5px;white-space:pre-line}.icon-close{color:#6d6e6f;cursor:pointer}.dr-smart-from{font-size:14px;font-weight:400;line-height:22px;padding:16px 32px 22px}.dr-smart-from dr-checkbox{font-weight:400}.content-dialog{padding:16px 32px 0;font-weight:400;font-size:14px;line-height:22px}.content-anchor{display:none}.footer-dialog{border-top:1px solid #dfe0e3}.buttons-wrapper{display:flex;justify-content:flex-end;padding:10px 32px 11px}.buttons-wrapper dr-button:nth-of-type(n+2){margin-left:12px}.buttons-wrapper--custom-btn{margin-right:auto}.form-field-error-alert{font-size:12px;color:#bf1d30;line-height:20px}.form-error-alert{position:absolute;margin-top:5px;font-size:12px;color:#bf1d30}.dr-select-footer__btn{background-color:transparent;display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}\n"] }]
84
- }], ctorParameters: function () { return [{ type: i1.MatLegacyDialogRef }, { type: undefined, decorators: [{
85
- type: Inject,
86
- args: [MAT_DIALOG_DATA]
87
- }] }]; }, propDecorators: { class: [{
88
- type: HostBinding,
89
- args: ['class']
90
- }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLW1vZGFsLXdyYXBwZXIvZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLW1vZGFsLXdyYXBwZXIvZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxlQUFlLEVBQUUsa0JBQWtCLElBQUksWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEksT0FBTyxFQUFZLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQU90RSxNQUFNLE9BQU8sMkJBQTJCO0lBWXBDLFlBQ1csU0FBb0QsRUFDM0IsVUFBb0I7UUFEN0MsY0FBUyxHQUFULFNBQVMsQ0FBMkM7UUFDM0IsZUFBVSxHQUFWLFVBQVUsQ0FBVTtRQWIvQyxvQkFBZSxHQUFHLGlCQUFpQixDQUFDO1FBQ3BDLGFBQVEsR0FB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bkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1BVF9MRUdBQ1lfRElBTE9HX0RBVEEgYXMgTUFUX0RJQUxPR19EQVRBLCBNYXRMZWdhY3lEaWFsb2dSZWYgYXMgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5pbXBvcnQgeyBEYXRhUHJvcCwgRElBTE9HX0ZJRUxEX1RZUEUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2RpYWxvZy1kYXRhJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWRpYWxvZy1tb2RhbC13cmFwcGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RpYWxvZy1tb2RhbC13cmFwcGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ01vZGFsV3JhcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICByZWFkb25seSBkaWFsb2dGaWVsZFR5cGUgPSBESUFMT0dfRklFTERfVFlQRTtcbiAgICByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBmb3JtOiBGb3JtR3JvdXA7XG4gICAgc2F2aW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAgIGlzTG9hZGluZyA9IGZhbHNlO1xuICAgIHNob3dTZXJ2ZXJFcnJvck1lc3NhZ2UgPSBmYWxzZTtcbiAgICBmaWVsZHNJdGVtc0xvYWRpbmc6IFJlY29yZDxzdHJpbmcsIEJlaGF2aW9yU3ViamVjdDxib29sZWFuPj4gPSB7fTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzcyA9IHRoaXM/LmRpYWxvZ0RhdGE/LnRoZW1lPy50aGVtZVNpemU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPERpYWxvZ01vZGFsV3JhcHBlckNvbXBvbmVudD4sXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGlhbG9nRGF0YTogRGF0YVByb3AsXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaWFsb2dEYXRhLmZpZWxkcykgdGhpcy5kaWFsb2dEYXRhLmZpZWxkcyA9IFtdO1xuXG4gICAgICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ0RhdGEuZmllbGRzLnJlZHVjZSgoYWNjdW11bGF0b3IsIGN1cnJlbnRWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUuaXRlbXMkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGRzSXRlbXNMb2FkaW5nW2N1cnJlbnRWYWx1ZS5uYW1lXSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRWYWx1ZS5pdGVtcyQgPSAoY3VycmVudFZhbHVlLml0ZW1zJCBhcyBhbnkpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkc0l0ZW1zTG9hZGluZ1tjdXJyZW50VmFsdWUubmFtZV0ubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMuZmllbGRzSXRlbXNMb2FkaW5nW2N1cnJlbnRWYWx1ZS5uYW1lXS5uZXh0KGZhbHNlKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmZpZWxkc0l0ZW1zTG9hZGluZ1tjdXJyZW50VmFsdWUubmFtZV0ubmV4dChmYWxzZSkpLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRGb3JtQ29udHJvbCA9IHt9O1xuICAgICAgICAgICAgICAgIGN1cnJlbnRGb3JtQ29udHJvbFtjdXJyZW50VmFsdWUubmFtZV0gPSBuZXcgRm9ybUNvbnRyb2woXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRWYWx1ZS5kZWZhdWx0IHx8IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRWYWx1ZS52YWxpZGF0b3JzIHx8IFtdLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oYWNjdW11bGF0b3IsIGN1cnJlbnRGb3JtQ29udHJvbCk7XG4gICAgICAgICAgICB9LCB7fSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25BY2NlcHQoKSB7XG4gICAgICAgIGlmICghdGhpcy5kaWFsb2dEYXRhLmNvbmZpcm1GbikgcmV0dXJuIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuZm9ybS52YWx1ZSB8fCB0cnVlKTtcblxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuc2F2aW5nJC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRpYWxvZ0RhdGFcbiAgICAgICAgICAgIC5jb25maXJtRm4odGhpcy5mb3JtLnZhbHVlKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNhdmluZyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTZXJ2ZXJFcnJvck1lc3NhZ2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNhdmluZyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycik7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNhdmluZyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5mb3JtLnZhbHVlIHx8IHRydWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EZWNsaW5lKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIGZvb3RlckFjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dEYXRhLmZvb3RlclRlbXBsYXRlRGF0YS5hY3Rpb24odGhpcy5mb3JtLnZhbHVlKTtcbiAgICB9XG5cbiAgICBjbG9zZURpYWxvZygpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZmFsc2UpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgaGVhZGVyIGNsYXNzPVwiaGVhZGVyLWRpYWxvZ1wiPlxuICAgIDxoMSBjbGFzcz1cInRpdGxlLWRpYWxvZ1wiIGRhdGEtdGVzdD1cIm1vZGFsVGl0bGVcIj5cbiAgICAgICAgPGlcbiAgICAgICAgICAgICpuZ0lmPVwiZGlhbG9nRGF0YS5oZWFkZXJJY29uQ2xhc3NcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0aXRsZS1kaWFsb2dfX2ljb25cIlxuICAgICAgICAgICAgW2NsYXNzXT1cImRpYWxvZ0RhdGEuaGVhZGVySWNvbkNsYXNzXCJcbiAgICAgICAgICAgIGRhdGEtdGVzdD1cImRpYWxvZ1RpdGxlSWNvblwiPjwvaT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZS1kaWFsb2dfX3RleHRcIj57eyBkaWFsb2dEYXRhLnRpdGxlIH19PC9zcGFuPlxuICAgIDwvaDE+XG4gICAgPGkgKm5nSWY9XCIhZGlhbG9nRGF0YS5oaWRlQ2xvc2VCdG5cIiAoY2xpY2spPVwiY2xvc2VEaWFsb2coKVwiIGNsYXNzPVwiZHItaWNvbi1leGl0IGljb24tY2xvc2VcIiBkYXRhLXRlc3Q9XCJ4QnRuXCI+PC9pPlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwiZGlhbG9nRGF0YS5jb250ZW50XCIgY2xhc3M9XCJjb250ZW50LWRpYWxvZ1wiPlxuICAgIDxuZy1jb250YWluZXI+e3sgZGlhbG9nRGF0YS5jb250ZW50IH19PC9uZy1jb250YWluZXI+XG4gICAgPHNwYW4gI2NvbnRlbnQgY2xhc3M9XCJjb250ZW50LWFuY2hvclwiPjwvc3Bhbj5cbjwvZGl2PlxuPGZvcm0gKm5nSWY9XCJkaWFsb2dEYXRhLmZpZWxkc1wiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiZHItc21hcnQtZnJvbVwiPlxuICAgIDxkaXYgW2NsYXNzXT1cImRpYWxvZ0RhdGEuZm9ybVdyYXBwZXJDbGFzcyB8fCAnZHItc21hcnQtZm9ybV93cmFwcGVyJ1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZGlhbG9nRGF0YS5maWVsZHNcIlxuICAgICAgICAgICAgY2xhc3M9XCJkci1zbWFydC1mb3JtX2dyb3VwXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJmaWVsZC5mb3JtR3JvdXBDbGFzc1wiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGRpc3BsYXk6IGZpZWxkLmlzTGFiZWxGdWxsV2lkdGggPyAnYmxvY2snIDogJ2ZsZXgnIH1cIj5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZmllbGQubGFiZWwgJiYgZmllbGQudHlwZSAhPT0gZGlhbG9nRmllbGRUeXBlLkNIRUNLQk9YXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJmaWVsZC5pc0xhYmVsRnVsbFdpZHRoID8gJ2NvbC1tZC0xMiBtYi0yJyA6ICdjb2wtbWQtMidcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibGFiZWwgcC0wIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgICAgID57eyBmaWVsZC5sYWJlbCB9fTwvbGFiZWxcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWdyb3VwIHAtMFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAnY29sLW1kLTEwJzogZmllbGQubGFiZWwgJiYgIWZpZWxkLmlzTGFiZWxGdWxsV2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICdjb2wtbWQtMTInOiAhZmllbGQubGFiZWwgfHwgZmllbGQuaXNMYWJlbEZ1bGxXaWR0aFxuICAgICAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICAgICAgICA8ZHItc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gZGlhbG9nRmllbGRUeXBlLlNFTEVDVFwiXG4gICAgICAgICAgICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImRpYWxvZ0RhdGEuc2VhcmNoYWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGVhcmFibGVdPVwiZGlhbG9nRGF0YS5jbGVhcmFibGVcIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbYmluZExhYmVsXT1cImZpZWxkLmJpbmRMYWJlbCB8fCBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW2JpbmRWYWx1ZV09XCJmaWVsZC5iaW5kVmFsdWUgfHwgbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZEl0ZW1dPVwiZmllbGQuZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJmaWVsZC5pdGVtcyB8fCAoZmllbGQuaXRlbXMkIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICAgICAgW2xvYWRpbmddPVwiZmllbGRzSXRlbXNMb2FkaW5nW2ZpZWxkLm5hbWVdIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJkaWFsb2dEYXRhPy5mb290ZXJUZW1wbGF0ZURhdGFcIiAjb3B0aW9uRm9vdGVyVGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWNsb3NlPVwiY2xvc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImZvb3RlckFjdGlvbigpOyBjbG9zZSgpXCIgY2xhc3M9XCJkci1zZWxlY3QtZm9vdGVyX19idG5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImRpYWxvZ0RhdGEuZm9vdGVyVGVtcGxhdGVEYXRhLmljb25cIiBjbGFzcz1cInt7IGRpYWxvZ0RhdGEuZm9vdGVyVGVtcGxhdGVEYXRhLmljb24gfX1cIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZGlhbG9nRGF0YS5mb290ZXJUZW1wbGF0ZURhdGEubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZHItc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxkci1pbnB1dFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZpZWxkLnR5cGUgPT09IGRpYWxvZ0ZpZWxkVHlwZS5JTlBVVFwiXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdD1cIm1vZGFsSW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiPjwvZHItaW5wdXQ+XG4gICAgICAgICAgICAgICAgPGRyLWRhdGUtcGlja2VyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gZGlhbG9nRmllbGRUeXBlLkRBVEVfUElDS0VSXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1hdF09XCJmaWVsZC5kYXRlUGlja2VyRm9ybWF0XCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCI+PC9kci1kYXRlLXBpY2tlcj5cbiAgICAgICAgICAgICAgICA8ZHItY2hlY2tib3ggKm5nSWY9XCJmaWVsZC50eXBlID09PSBkaWFsb2dGaWVsZFR5cGUuQ0hFQ0tCT1hcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLm5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZmllbGQubGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L2RyLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGQtZXJyb3ItYWxlcnRcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZvcm0uaW52YWxpZCAmJiBmb3JtLmNvbnRyb2xzW2ZpZWxkLm5hbWVdPy5kaXJ0eSAmJiBmb3JtLmNvbnRyb2xzW2ZpZWxkLm5hbWVdPy5lcnJvcnNcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZm9ybS5jb250cm9sc1tmaWVsZC5uYW1lXS5lcnJvcnMuZXJyb3JTdHJpbmcgfX1cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tZXJyb3ItYWxlcnRcIiAqbmdJZj1cImRpYWxvZ0RhdGEuZXJyb3JNZXNzYWdlICYmICFmb3JtLnByaXN0aW5lICYmIGZvcm0uaW52YWxpZFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBkaWFsb2dEYXRhLmVycm9yTWVzc2FnZSB9fVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1lcnJvci1hbGVydFwiICpuZ0lmPVwiZm9ybS52YWxpZCAmJiBzaG93U2VydmVyRXJyb3JNZXNzYWdlICYmIGRpYWxvZ0RhdGEuc2VydmVyRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGRpYWxvZ0RhdGEuc2VydmVyRXJyb3JNZXNzYWdlIH19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZm9ybT5cblxuPGRpdiBmb290ZXIgY2xhc3M9XCJmb290ZXItZGlhbG9nXCI+XG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbnMtd3JhcHBlclwiICpuZ0lmPVwiZGlhbG9nRGF0YS5jYW5jZWxCdXR0b24gfHwgZGlhbG9nRGF0YS5hY2NlcHRCdXR0b25cIj5cbiAgICAgICAgPGRyLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVjbGluZSgpXCJcbiAgICAgICAgICAgICpuZ0lmPVwiZGlhbG9nRGF0YS5jdXN0b21CdXR0b25cIlxuICAgICAgICAgICAgW3RoZW1lXT1cImRpYWxvZ0RhdGEuY3VzdG9tQnV0dG9uPy50aGVtZSB8fCAnc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICBjbGFzcz1cImJ1dHRvbnMtd3JhcHBlci0tY3VzdG9tLWJ0blwiXG4gICAgICAgICAgICBkYXRhLXRlc3Q9XCJkZWNsaW5lQnRuXCJcbiAgICAgICAgICAgID57eyBkaWFsb2dEYXRhLmN1c3RvbUJ1dHRvbi5sYWJlbCB9fTwvZHItYnV0dG9uXG4gICAgICAgID5cbiAgICAgICAgPGRyLWJ1dHRvbiAqbmdJZj1cImRpYWxvZ0RhdGEuY2FuY2VsQnV0dG9uXCIgZGF0YS10ZXN0PVwibW9kYWxDbG9zZUJ0blwiIChjbGljayk9XCJjbG9zZURpYWxvZygpXCIgW3RoZW1lXT1cIidzZWNvbmRhcnknXCI+e3tcbiAgICAgICAgICAgIGRpYWxvZ0RhdGEuY2FuY2VsQnV0dG9uLmxhYmVsXG4gICAgICAgIH19PC9kci1idXR0b24+XG4gICAgICAgIDxkci1idXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiZGlhbG9nRGF0YS5hY2NlcHRCdXR0b25cIlxuICAgICAgICAgICAgZGF0YS10ZXN0PVwibW9kYWxBZGRCdG5cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQWNjZXB0KClcIlxuICAgICAgICAgICAgW3RoZW1lXT1cIidwcmltYXJ5J1wiXG4gICAgICAgICAgICBbaXNMb2FkaW5nXT1cImlzTG9hZGluZ1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCJcbiAgICAgICAgICAgID57eyBkaWFsb2dEYXRhLmFjY2VwdEJ1dHRvbi5sYWJlbCB9fTwvZHItYnV0dG9uXG4gICAgICAgID5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
333
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DialogModalWrapperComponent, [{
334
+ type: Component,
335
+ args: [{ selector: 'dr-dialog-modal-wrapper', template: "<div header class=\"header-dialog\">\n <h1 class=\"title-dialog\" data-test=\"modalTitle\">\n <i\n *ngIf=\"dialogData.headerIconClass\"\n (click)=\"closeDialog()\"\n class=\"title-dialog__icon\"\n [class]=\"dialogData.headerIconClass\"\n data-test=\"dialogTitleIcon\"></i>\n <span class=\"title-dialog__text\">{{ dialogData.title }}</span>\n </h1>\n <i *ngIf=\"!dialogData.hideCloseBtn\" (click)=\"closeDialog()\" class=\"dr-icon-exit icon-close\" data-test=\"xBtn\"></i>\n</div>\n<div *ngIf=\"dialogData.content\" class=\"content-dialog\">\n <ng-container>{{ dialogData.content }}</ng-container>\n <span #content class=\"content-anchor\"></span>\n</div>\n<form *ngIf=\"dialogData.fields\" [formGroup]=\"form\" class=\"dr-smart-from\">\n <div [class]=\"dialogData.formWrapperClass || 'dr-smart-form_wrapper'\">\n <div\n *ngFor=\"let field of dialogData.fields\"\n class=\"dr-smart-form_group\"\n [class]=\"field.formGroupClass\"\n [ngStyle]=\"{ display: field.isLabelFullWidth ? 'block' : 'flex' }\">\n <label\n *ngIf=\"field.label && field.type !== dialogFieldType.CHECKBOX\"\n [ngClass]=\"field.isLabelFullWidth ? 'col-md-12 mb-2' : 'col-md-2'\"\n class=\"label p-0 d-flex align-items-center\"\n >{{ field.label }}</label\n >\n <div\n class=\"input-group p-0\"\n [ngClass]=\"{\n 'col-md-10': field.label && !field.isLabelFullWidth,\n 'col-md-12': !field.label || field.isLabelFullWidth\n }\">\n <dr-select\n *ngIf=\"field.type === dialogFieldType.SELECT\"\n [searchable]=\"dialogData.searchable\"\n [clearable]=\"dialogData.clearable\"\n [formControlName]=\"field.name\"\n [bindLabel]=\"field.bindLabel || null\"\n [bindValue]=\"field.bindValue || null\"\n [selectedItem]=\"field.default\"\n [items]=\"field.items || (field.items$ | async)\"\n [loading]=\"fieldsItemsLoading[field.name] | async\"\n [required]=\"true\"\n [placeholder]=\"field.placeholder\">\n <ng-template *ngIf=\"dialogData?.footerTemplateData\" #optionFooterTemplate let-item=\"item\" let-close=\"close\">\n <button (click)=\"footerAction(); close()\" class=\"dr-select-footer__btn\">\n <i *ngIf=\"dialogData.footerTemplateData.icon\" class=\"{{ dialogData.footerTemplateData.icon }}\"></i>\n {{ dialogData.footerTemplateData.label }}\n </button>\n </ng-template>\n </dr-select>\n <dr-input\n *ngIf=\"field.type === dialogFieldType.INPUT\"\n data-test=\"modalInput\"\n class=\"form-control\"\n [formControlName]=\"field.name\"\n [placeholder]=\"field.placeholder\"></dr-input>\n <dr-date-picker\n *ngIf=\"field.type === dialogFieldType.DATE_PICKER\"\n [formControlName]=\"field.name\"\n [format]=\"field.datePickerFormat\"\n [placeholder]=\"field.placeholder\"></dr-date-picker>\n <dr-checkbox *ngIf=\"field.type === dialogFieldType.CHECKBOX\" [formControlName]=\"field.name\">\n {{ field.label }}\n </dr-checkbox>\n <label\n class=\"form-field-error-alert\"\n *ngIf=\"form.invalid && form.controls[field.name]?.dirty && form.controls[field.name]?.errors\">\n {{ form.controls[field.name].errors.errorString }}\n </label>\n <label class=\"form-error-alert\" *ngIf=\"dialogData.errorMessage && !form.pristine && form.invalid\">\n {{ dialogData.errorMessage }}\n </label>\n <label class=\"form-error-alert\" *ngIf=\"form.valid && showServerErrorMessage && dialogData.serverErrorMessage\">\n {{ dialogData.serverErrorMessage }}\n </label>\n </div>\n </div>\n </div>\n</form>\n\n<div footer class=\"footer-dialog\">\n <div class=\"buttons-wrapper\" *ngIf=\"dialogData.cancelButton || dialogData.acceptButton\">\n <dr-button\n (click)=\"onDecline()\"\n *ngIf=\"dialogData.customButton\"\n [theme]=\"dialogData.customButton?.theme || 'secondary'\"\n class=\"buttons-wrapper--custom-btn\"\n data-test=\"declineBtn\"\n >{{ dialogData.customButton.label }}</dr-button\n >\n <dr-button *ngIf=\"dialogData.cancelButton\" data-test=\"modalCloseBtn\" (click)=\"closeDialog()\" [theme]=\"'secondary'\">{{\n dialogData.cancelButton.label\n }}</dr-button>\n <dr-button\n *ngIf=\"dialogData.acceptButton\"\n data-test=\"modalAddBtn\"\n (click)=\"onAccept()\"\n [theme]=\"'primary'\"\n [isLoading]=\"isLoading\"\n [disabled]=\"form.invalid\"\n >{{ dialogData.acceptButton.label }}</dr-button\n >\n </div>\n</div>\n", styles: [":host{display:flex;justify-content:space-between;flex-direction:column}:host.small-modal,:host.small-modal-max-height{min-height:188px;max-height:467px;min-width:400px;max-width:400px}:host.medium-modal,:host.medium-modal-max-height{min-height:188px;max-height:467px;min-width:632px;max-width:632px}:host.medium-small-modal{min-height:188px;max-height:345px;min-width:460px;max-width:460px}:host.medium-modal-max-height,:host.small-modal-max-height{max-height:80vh}.header-dialog{position:relative;display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 56px 16px 32px;border-bottom:1px solid #dfe0e3}.header-dialog>.icon-close{position:absolute;right:32px;top:16px;cursor:pointer}.title-dialog{display:flex;color:#333;position:static;font-weight:600;font-size:16px;line-height:24px;margin-top:0;margin-bottom:0}.title-dialog__icon{font-size:32px;margin-right:8px;line-height:24px;color:#6d6e6f}.content-dialog{font-weight:400;font-size:14px;padding:16px 32px 5px;white-space:pre-line}.icon-close{color:#6d6e6f;cursor:pointer}.dr-smart-from{font-size:14px;font-weight:400;line-height:22px;padding:16px 32px 22px}.dr-smart-from dr-checkbox{font-weight:400}.content-dialog{padding:16px 32px 0;font-weight:400;font-size:14px;line-height:22px}.content-anchor{display:none}.footer-dialog{border-top:1px solid #dfe0e3}.buttons-wrapper{display:flex;justify-content:flex-end;padding:10px 32px 11px}.buttons-wrapper dr-button:nth-of-type(n+2){margin-left:12px}.buttons-wrapper--custom-btn{margin-right:auto}.form-field-error-alert{font-size:12px;color:#bf1d30;line-height:20px}.form-error-alert{position:absolute;margin-top:5px;font-size:12px;color:#bf1d30}.dr-select-footer__btn{background-color:transparent;display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}\n"] }]
336
+ }], function () { return [{ type: i1.MatLegacyDialogRef }, { type: undefined, decorators: [{
337
+ type: Inject,
338
+ args: [MAT_DIALOG_DATA]
339
+ }] }]; }, { class: [{
340
+ type: HostBinding,
341
+ args: ['class']
342
+ }] }); })();
343
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLW1vZGFsLXdyYXBwZXIvZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLW1vZGFsLXdyYXBwZXIvZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxlQUFlLEVBQUUsa0JBQWtCLElBQUksWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEksT0FBTyxFQUFZLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0lDSDlELDRCQUtnQztJQUg1QixpS0FBUyxlQUFBLG9CQUFhLENBQUEsSUFBQztJQUdLLGlCQUFJOzs7SUFEaEMsZ0RBQW9DOzs7O0lBSTVDLDZCQUE2RztJQUF6RSxpS0FBUyxlQUFBLG9CQUFhLENBQUEsSUFBQztJQUFrRCxpQkFBSTs7O0lBRXJILCtCQUF1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LHdFQUtvQztZQUNwQywrQkFBaUM7WUFBQSxZQUFzQjtZQUFBLGlCQUFPLEVBQUE7WUFFbEUsd0VBQWlIO1lBQ3JILGlCQUFNO1lBQ04sNEVBR007WUFDTiw4RUFrRU87WUFFUCw4QkFBa0M7WUFDOUIsNEVBcUJNO1lBQ1YsaUJBQU07O1lBeEdPLGVBQWdDO1lBQWhDLHFEQUFnQztZQUtKLGVBQXNCO1lBQXRCLDBDQUFzQjtZQUV2RCxlQUE4QjtZQUE5QixtREFBOEI7WUFFaEMsZUFBd0I7WUFBeEIsNkNBQXdCO1lBSXZCLGVBQXVCO1lBQXZCLDRDQUF1QjtZQXFFSSxlQUF3RDtZQUF4RCxpRkFBd0Q7Ozt1RkR6RTdFLDJCQUEyQjtjQUx2QyxTQUFTOzJCQUNJLHlCQUF5Qjs7c0JBa0I5QixNQUFNO3VCQUFDLGVBQWU7d0JBSkwsS0FBSztrQkFBMUIsV0FBVzttQkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1BVF9MRUdBQ1lfRElBTE9HX0RBVEEgYXMgTUFUX0RJQUxPR19EQVRBLCBNYXRMZWdhY3lEaWFsb2dSZWYgYXMgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5pbXBvcnQgeyBEYXRhUHJvcCwgRElBTE9HX0ZJRUxEX1RZUEUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2RpYWxvZy1kYXRhJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWRpYWxvZy1tb2RhbC13cmFwcGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RpYWxvZy1tb2RhbC13cmFwcGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ01vZGFsV3JhcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICByZWFkb25seSBkaWFsb2dGaWVsZFR5cGUgPSBESUFMT0dfRklFTERfVFlQRTtcbiAgICByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBmb3JtOiBGb3JtR3JvdXA7XG4gICAgc2F2aW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAgIGlzTG9hZGluZyA9IGZhbHNlO1xuICAgIHNob3dTZXJ2ZXJFcnJvck1lc3NhZ2UgPSBmYWxzZTtcbiAgICBmaWVsZHNJdGVtc0xvYWRpbmc6IFJlY29yZDxzdHJpbmcsIEJlaGF2aW9yU3ViamVjdDxib29sZWFuPj4gPSB7fTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzcyA9IHRoaXM/LmRpYWxvZ0RhdGE/LnRoZW1lPy50aGVtZVNpemU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPERpYWxvZ01vZGFsV3JhcHBlckNvbXBvbmVudD4sXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGlhbG9nRGF0YTogRGF0YVByb3AsXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaWFsb2dEYXRhLmZpZWxkcykgdGhpcy5kaWFsb2dEYXRhLmZpZWxkcyA9IFtdO1xuXG4gICAgICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ0RhdGEuZmllbGRzLnJlZHVjZSgoYWNjdW11bGF0b3IsIGN1cnJlbnRWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUuaXRlbXMkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGRzSXRlbXNMb2FkaW5nW2N1cnJlbnRWYWx1ZS5uYW1lXSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRWYWx1ZS5pdGVtcyQgPSAoY3VycmVudFZhbHVlLml0ZW1zJCBhcyBhbnkpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkc0l0ZW1zTG9hZGluZ1tjdXJyZW50VmFsdWUubmFtZV0ubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMuZmllbGRzSXRlbXNMb2FkaW5nW2N1cnJlbnRWYWx1ZS5uYW1lXS5uZXh0KGZhbHNlKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmZpZWxkc0l0ZW1zTG9hZGluZ1tjdXJyZW50VmFsdWUubmFtZV0ubmV4dChmYWxzZSkpLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRGb3JtQ29udHJvbCA9IHt9O1xuICAgICAgICAgICAgICAgIGN1cnJlbnRGb3JtQ29udHJvbFtjdXJyZW50VmFsdWUubmFtZV0gPSBuZXcgRm9ybUNvbnRyb2woXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRWYWx1ZS5kZWZhdWx0IHx8IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRWYWx1ZS52YWxpZGF0b3JzIHx8IFtdLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oYWNjdW11bGF0b3IsIGN1cnJlbnRGb3JtQ29udHJvbCk7XG4gICAgICAgICAgICB9LCB7fSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25BY2NlcHQoKSB7XG4gICAgICAgIGlmICghdGhpcy5kaWFsb2dEYXRhLmNvbmZpcm1GbikgcmV0dXJuIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuZm9ybS52YWx1ZSB8fCB0cnVlKTtcblxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuc2F2aW5nJC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRpYWxvZ0RhdGFcbiAgICAgICAgICAgIC5jb25maXJtRm4odGhpcy5mb3JtLnZhbHVlKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNhdmluZyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTZXJ2ZXJFcnJvck1lc3NhZ2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNhdmluZyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycik7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNhdmluZyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5mb3JtLnZhbHVlIHx8IHRydWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EZWNsaW5lKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIGZvb3RlckFjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dEYXRhLmZvb3RlclRlbXBsYXRlRGF0YS5hY3Rpb24odGhpcy5mb3JtLnZhbHVlKTtcbiAgICB9XG5cbiAgICBjbG9zZURpYWxvZygpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZmFsc2UpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgaGVhZGVyIGNsYXNzPVwiaGVhZGVyLWRpYWxvZ1wiPlxuICAgIDxoMSBjbGFzcz1cInRpdGxlLWRpYWxvZ1wiIGRhdGEtdGVzdD1cIm1vZGFsVGl0bGVcIj5cbiAgICAgICAgPGlcbiAgICAgICAgICAgICpuZ0lmPVwiZGlhbG9nRGF0YS5oZWFkZXJJY29uQ2xhc3NcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0aXRsZS1kaWFsb2dfX2ljb25cIlxuICAgICAgICAgICAgW2NsYXNzXT1cImRpYWxvZ0RhdGEuaGVhZGVySWNvbkNsYXNzXCJcbiAgICAgICAgICAgIGRhdGEtdGVzdD1cImRpYWxvZ1RpdGxlSWNvblwiPjwvaT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZS1kaWFsb2dfX3RleHRcIj57eyBkaWFsb2dEYXRhLnRpdGxlIH19PC9zcGFuPlxuICAgIDwvaDE+XG4gICAgPGkgKm5nSWY9XCIhZGlhbG9nRGF0YS5oaWRlQ2xvc2VCdG5cIiAoY2xpY2spPVwiY2xvc2VEaWFsb2coKVwiIGNsYXNzPVwiZHItaWNvbi1leGl0IGljb24tY2xvc2VcIiBkYXRhLXRlc3Q9XCJ4QnRuXCI+PC9pPlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwiZGlhbG9nRGF0YS5jb250ZW50XCIgY2xhc3M9XCJjb250ZW50LWRpYWxvZ1wiPlxuICAgIDxuZy1jb250YWluZXI+e3sgZGlhbG9nRGF0YS5jb250ZW50IH19PC9uZy1jb250YWluZXI+XG4gICAgPHNwYW4gI2NvbnRlbnQgY2xhc3M9XCJjb250ZW50LWFuY2hvclwiPjwvc3Bhbj5cbjwvZGl2PlxuPGZvcm0gKm5nSWY9XCJkaWFsb2dEYXRhLmZpZWxkc1wiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiZHItc21hcnQtZnJvbVwiPlxuICAgIDxkaXYgW2NsYXNzXT1cImRpYWxvZ0RhdGEuZm9ybVdyYXBwZXJDbGFzcyB8fCAnZHItc21hcnQtZm9ybV93cmFwcGVyJ1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZGlhbG9nRGF0YS5maWVsZHNcIlxuICAgICAgICAgICAgY2xhc3M9XCJkci1zbWFydC1mb3JtX2dyb3VwXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJmaWVsZC5mb3JtR3JvdXBDbGFzc1wiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGRpc3BsYXk6IGZpZWxkLmlzTGFiZWxGdWxsV2lkdGggPyAnYmxvY2snIDogJ2ZsZXgnIH1cIj5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZmllbGQubGFiZWwgJiYgZmllbGQudHlwZSAhPT0gZGlhbG9nRmllbGRUeXBlLkNIRUNLQk9YXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJmaWVsZC5pc0xhYmVsRnVsbFdpZHRoID8gJ2NvbC1tZC0xMiBtYi0yJyA6ICdjb2wtbWQtMidcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibGFiZWwgcC0wIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgICAgID57eyBmaWVsZC5sYWJlbCB9fTwvbGFiZWxcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWdyb3VwIHAtMFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAnY29sLW1kLTEwJzogZmllbGQubGFiZWwgJiYgIWZpZWxkLmlzTGFiZWxGdWxsV2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICdjb2wtbWQtMTInOiAhZmllbGQubGFiZWwgfHwgZmllbGQuaXNMYWJlbEZ1bGxXaWR0aFxuICAgICAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICAgICAgICA8ZHItc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gZGlhbG9nRmllbGRUeXBlLlNFTEVDVFwiXG4gICAgICAgICAgICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImRpYWxvZ0RhdGEuc2VhcmNoYWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGVhcmFibGVdPVwiZGlhbG9nRGF0YS5jbGVhcmFibGVcIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbYmluZExhYmVsXT1cImZpZWxkLmJpbmRMYWJlbCB8fCBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW2JpbmRWYWx1ZV09XCJmaWVsZC5iaW5kVmFsdWUgfHwgbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZEl0ZW1dPVwiZmllbGQuZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJmaWVsZC5pdGVtcyB8fCAoZmllbGQuaXRlbXMkIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICAgICAgW2xvYWRpbmddPVwiZmllbGRzSXRlbXNMb2FkaW5nW2ZpZWxkLm5hbWVdIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJkaWFsb2dEYXRhPy5mb290ZXJUZW1wbGF0ZURhdGFcIiAjb3B0aW9uRm9vdGVyVGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWNsb3NlPVwiY2xvc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImZvb3RlckFjdGlvbigpOyBjbG9zZSgpXCIgY2xhc3M9XCJkci1zZWxlY3QtZm9vdGVyX19idG5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImRpYWxvZ0RhdGEuZm9vdGVyVGVtcGxhdGVEYXRhLmljb25cIiBjbGFzcz1cInt7IGRpYWxvZ0RhdGEuZm9vdGVyVGVtcGxhdGVEYXRhLmljb24gfX1cIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZGlhbG9nRGF0YS5mb290ZXJUZW1wbGF0ZURhdGEubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZHItc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxkci1pbnB1dFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZpZWxkLnR5cGUgPT09IGRpYWxvZ0ZpZWxkVHlwZS5JTlBVVFwiXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdD1cIm1vZGFsSW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiPjwvZHItaW5wdXQ+XG4gICAgICAgICAgICAgICAgPGRyLWRhdGUtcGlja2VyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gZGlhbG9nRmllbGRUeXBlLkRBVEVfUElDS0VSXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1hdF09XCJmaWVsZC5kYXRlUGlja2VyRm9ybWF0XCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCI+PC9kci1kYXRlLXBpY2tlcj5cbiAgICAgICAgICAgICAgICA8ZHItY2hlY2tib3ggKm5nSWY9XCJmaWVsZC50eXBlID09PSBkaWFsb2dGaWVsZFR5cGUuQ0hFQ0tCT1hcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLm5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZmllbGQubGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L2RyLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGQtZXJyb3ItYWxlcnRcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZvcm0uaW52YWxpZCAmJiBmb3JtLmNvbnRyb2xzW2ZpZWxkLm5hbWVdPy5kaXJ0eSAmJiBmb3JtLmNvbnRyb2xzW2ZpZWxkLm5hbWVdPy5lcnJvcnNcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZm9ybS5jb250cm9sc1tmaWVsZC5uYW1lXS5lcnJvcnMuZXJyb3JTdHJpbmcgfX1cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tZXJyb3ItYWxlcnRcIiAqbmdJZj1cImRpYWxvZ0RhdGEuZXJyb3JNZXNzYWdlICYmICFmb3JtLnByaXN0aW5lICYmIGZvcm0uaW52YWxpZFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBkaWFsb2dEYXRhLmVycm9yTWVzc2FnZSB9fVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1lcnJvci1hbGVydFwiICpuZ0lmPVwiZm9ybS52YWxpZCAmJiBzaG93U2VydmVyRXJyb3JNZXNzYWdlICYmIGRpYWxvZ0RhdGEuc2VydmVyRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGRpYWxvZ0RhdGEuc2VydmVyRXJyb3JNZXNzYWdlIH19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZm9ybT5cblxuPGRpdiBmb290ZXIgY2xhc3M9XCJmb290ZXItZGlhbG9nXCI+XG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbnMtd3JhcHBlclwiICpuZ0lmPVwiZGlhbG9nRGF0YS5jYW5jZWxCdXR0b24gfHwgZGlhbG9nRGF0YS5hY2NlcHRCdXR0b25cIj5cbiAgICAgICAgPGRyLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVjbGluZSgpXCJcbiAgICAgICAgICAgICpuZ0lmPVwiZGlhbG9nRGF0YS5jdXN0b21CdXR0b25cIlxuICAgICAgICAgICAgW3RoZW1lXT1cImRpYWxvZ0RhdGEuY3VzdG9tQnV0dG9uPy50aGVtZSB8fCAnc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICBjbGFzcz1cImJ1dHRvbnMtd3JhcHBlci0tY3VzdG9tLWJ0blwiXG4gICAgICAgICAgICBkYXRhLXRlc3Q9XCJkZWNsaW5lQnRuXCJcbiAgICAgICAgICAgID57eyBkaWFsb2dEYXRhLmN1c3RvbUJ1dHRvbi5sYWJlbCB9fTwvZHItYnV0dG9uXG4gICAgICAgID5cbiAgICAgICAgPGRyLWJ1dHRvbiAqbmdJZj1cImRpYWxvZ0RhdGEuY2FuY2VsQnV0dG9uXCIgZGF0YS10ZXN0PVwibW9kYWxDbG9zZUJ0blwiIChjbGljayk9XCJjbG9zZURpYWxvZygpXCIgW3RoZW1lXT1cIidzZWNvbmRhcnknXCI+e3tcbiAgICAgICAgICAgIGRpYWxvZ0RhdGEuY2FuY2VsQnV0dG9uLmxhYmVsXG4gICAgICAgIH19PC9kci1idXR0b24+XG4gICAgICAgIDxkci1idXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiZGlhbG9nRGF0YS5hY2NlcHRCdXR0b25cIlxuICAgICAgICAgICAgZGF0YS10ZXN0PVwibW9kYWxBZGRCdG5cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQWNjZXB0KClcIlxuICAgICAgICAgICAgW3RoZW1lXT1cIidwcmltYXJ5J1wiXG4gICAgICAgICAgICBbaXNMb2FkaW5nXT1cImlzTG9hZGluZ1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCJcbiAgICAgICAgICAgID57eyBkaWFsb2dEYXRhLmFjY2VwdEJ1dHRvbi5sYWJlbCB9fTwvZHItYnV0dG9uXG4gICAgICAgID5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19