@colijnit/corecomponents_v12 12.0.17 → 12.0.18

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 (138) hide show
  1. package/bundles/colijnit-corecomponents_v12.umd.js +740 -241
  2. package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -1
  3. package/colijnit-corecomponents_v12.d.ts +9 -8
  4. package/colijnit-corecomponents_v12.metadata.json +1 -1
  5. package/esm2015/colijnit-corecomponents_v12.js +10 -9
  6. package/esm2015/lib/components/base/base-input.component.js +29 -9
  7. package/esm2015/lib/components/carousel-3d/carousel-3d.component.js +313 -0
  8. package/esm2015/lib/components/carousel-3d/carousel-3d.module.js +19 -0
  9. package/esm2015/lib/components/carousel-3d/carouselItem.js +54 -0
  10. package/esm2015/lib/components/drop-down-list/drop-down-list.component.js +30 -8
  11. package/esm2015/lib/components/drop-down-list/drop-down.module.js +4 -2
  12. package/esm2015/lib/components/form/form.component.js +2 -21
  13. package/esm2015/lib/components/form/form.module.js +4 -4
  14. package/esm2015/lib/components/input-checkbox/input-checkbox.component.js +15 -5
  15. package/esm2015/lib/components/input-checkbox-multi-select/input-checkbox-multi-select.component.js +6 -14
  16. package/esm2015/lib/components/input-combo-box/input-combo-box.component.js +24 -29
  17. package/esm2015/lib/components/input-date-picker/input-date-picker.component.js +10 -7
  18. package/esm2015/lib/components/input-listbox/input-listbox.component.js +27 -6
  19. package/esm2015/lib/components/input-number-picker/input-number-picker.component.js +9 -9
  20. package/esm2015/lib/components/input-radio-button/input-radio-button.component.js +13 -5
  21. package/esm2015/lib/components/input-text/input-text.component.js +22 -81
  22. package/esm2015/lib/components/input-text/input-text.module.js +16 -13
  23. package/esm2015/lib/components/input-textarea/input-textarea.component.js +62 -0
  24. package/esm2015/lib/components/input-textarea/input-textarea.module.js +23 -0
  25. package/esm2015/lib/components/multi-select-list/multi-select-list.component.js +37 -9
  26. package/esm2015/lib/components/multi-select-list/multi-select-list.module.js +4 -2
  27. package/esm2015/lib/components/validation-error/validation-error.component.js +23 -0
  28. package/esm2015/lib/components/validation-error/validation-error.module.js +19 -0
  29. package/esm2015/public-api.js +6 -1
  30. package/fesm2015/colijnit-corecomponents_v12.js +760 -262
  31. package/fesm2015/colijnit-corecomponents_v12.js.map +1 -1
  32. package/lib/components/base/base-input.component.d.ts +7 -2
  33. package/lib/components/button/style/_layout.scss +0 -1
  34. package/lib/components/button/style/_theme.scss +2 -3
  35. package/lib/components/button-drop-down/style/_layout.scss +0 -2
  36. package/lib/components/button-drop-down/style/_theme.scss +0 -2
  37. package/lib/components/button-drop-down/style/material.scss +1 -0
  38. package/lib/components/carousel-3d/carousel-3d.component.d.ts +55 -0
  39. package/lib/components/carousel-3d/carousel-3d.module.d.ts +2 -0
  40. package/lib/components/carousel-3d/carouselItem.d.ts +13 -0
  41. package/lib/components/carousel-3d/style/_layout.scss +62 -0
  42. package/lib/components/carousel-3d/style/_material-definition.scss +6 -0
  43. package/lib/components/carousel-3d/style/_theme.scss +4 -0
  44. package/lib/components/carousel-3d/style/material.scss +5 -0
  45. package/lib/components/co-dialog/style/_layout.scss +0 -3
  46. package/lib/components/co-dialog/style/_theme.scss +0 -3
  47. package/lib/components/co-dialog/style/material.scss +1 -0
  48. package/lib/components/co-kanban/style/_layout.scss +0 -3
  49. package/lib/components/co-kanban/style/_theme.scss +0 -4
  50. package/lib/components/co-kanban/style/material.scss +1 -0
  51. package/lib/components/co-rich-text-editor/style/_layout.scss +0 -2
  52. package/lib/components/co-rich-text-editor/style/_theme.scss +0 -2
  53. package/lib/components/co-rich-text-editor/style/material.scss +1 -0
  54. package/lib/components/collapsible/style/_layout.scss +0 -3
  55. package/lib/components/collapsible/style/_theme.scss +0 -4
  56. package/lib/components/collapsible/style/material.scss +1 -0
  57. package/lib/components/drop-down-list/drop-down-list.component.d.ts +12 -2
  58. package/lib/components/drop-down-list/style/_layout.scss +8 -3
  59. package/lib/components/drop-down-list/style/_theme.scss +0 -2
  60. package/lib/components/drop-down-list/style/material.scss +2 -0
  61. package/lib/components/form/form.component.d.ts +0 -1
  62. package/lib/components/grid/style/_layout.scss +0 -2
  63. package/lib/components/grid/style/_theme.scss +0 -2
  64. package/lib/components/grid/style/material.scss +1 -0
  65. package/lib/components/input-checkbox/input-checkbox.component.d.ts +9 -2
  66. package/lib/components/input-checkbox/style/_layout.scss +0 -2
  67. package/lib/components/input-checkbox/style/_theme.scss +0 -2
  68. package/lib/components/input-checkbox/style/material.scss +1 -0
  69. package/lib/components/input-checkbox-multi-select/input-checkbox-multi-select.component.d.ts +4 -6
  70. package/lib/components/input-checkbox-multi-select/style/_layout.scss +0 -2
  71. package/lib/components/input-checkbox-multi-select/style/_theme.scss +0 -2
  72. package/lib/components/input-checkbox-multi-select/style/material.scss +1 -0
  73. package/lib/components/input-combo-box/input-combo-box.component.d.ts +6 -7
  74. package/lib/components/input-combo-box/style/_layout.scss +10 -3
  75. package/lib/components/input-combo-box/style/_material-definition.scss +0 -7
  76. package/lib/components/input-combo-box/style/_theme.scss +0 -2
  77. package/lib/components/input-combo-box/style/material.scss +9 -0
  78. package/lib/components/input-date-picker/input-date-picker.component.d.ts +4 -3
  79. package/lib/components/input-date-picker/style/_layout.scss +4 -3
  80. package/lib/components/input-date-picker/style/_theme.scss +0 -2
  81. package/lib/components/input-date-picker/style/material.scss +2 -0
  82. package/lib/components/input-listbox/input-listbox.component.d.ts +12 -1
  83. package/lib/components/input-listbox/style/_layout.scss +2 -2
  84. package/lib/components/input-listbox/style/_theme.scss +0 -2
  85. package/lib/components/input-listbox/style/material.scss +2 -0
  86. package/lib/components/input-number-picker/input-number-picker.component.d.ts +5 -5
  87. package/lib/components/input-number-picker/style/_layout.scss +0 -2
  88. package/lib/components/input-number-picker/style/_theme.scss +0 -2
  89. package/lib/components/input-number-picker/style/material.scss +1 -0
  90. package/lib/components/input-radio-button/input-radio-button.component.d.ts +7 -2
  91. package/lib/components/input-radio-button/style/_layout.scss +0 -2
  92. package/lib/components/input-radio-button/style/_theme.scss +0 -2
  93. package/lib/components/input-radio-button/style/material.scss +1 -0
  94. package/lib/components/input-search/style/_layout.scss +0 -3
  95. package/lib/components/input-search/style/_theme.scss +0 -4
  96. package/lib/components/input-search/style/material.scss +1 -0
  97. package/lib/components/input-text/input-text.component.d.ts +6 -30
  98. package/lib/components/input-text/style/_layout.scss +14 -3
  99. package/lib/components/input-text/style/_material-definition.scss +4 -3
  100. package/lib/components/input-text/style/_theme.scss +0 -2
  101. package/lib/components/input-text/style/material.scss +3 -0
  102. package/lib/components/input-textarea/input-textarea.component.d.ts +18 -0
  103. package/lib/components/input-textarea/input-textarea.module.d.ts +2 -0
  104. package/lib/components/input-textarea/style/_layout.scss +20 -0
  105. package/lib/components/input-textarea/style/_material-definition.scss +4 -0
  106. package/lib/components/input-textarea/style/_theme.scss +8 -0
  107. package/lib/components/input-textarea/style/material.scss +7 -0
  108. package/lib/components/multi-select-list/multi-select-list.component.d.ts +13 -2
  109. package/lib/components/multi-select-list/style/_layout.scss +10 -3
  110. package/lib/components/multi-select-list/style/_theme.scss +0 -2
  111. package/lib/components/multi-select-list/style/material.scss +2 -0
  112. package/lib/components/pivot/style/_layout.scss +0 -2
  113. package/lib/components/pivot/style/_theme.scss +0 -2
  114. package/lib/components/pivot/style/material.scss +1 -0
  115. package/lib/components/simple-grid/style/_layout.scss +0 -2
  116. package/lib/components/simple-grid/style/_theme.scss +0 -2
  117. package/lib/components/simple-grid/style/material.scss +1 -0
  118. package/lib/components/validation-error/style/_layout.scss +37 -0
  119. package/lib/components/validation-error/style/_material-definition.scss +9 -0
  120. package/lib/components/validation-error/style/_theme.scss +21 -0
  121. package/lib/components/validation-error/style/material.scss +5 -0
  122. package/lib/components/validation-error/validation-error.component.d.ts +4 -0
  123. package/lib/components/validation-error/validation-error.module.d.ts +2 -0
  124. package/lib/style/_input.mixins.scss +70 -281
  125. package/lib/style/_variables.scss +2 -0
  126. package/package.json +5 -2
  127. package/public-api.d.ts +5 -0
  128. package/esm2015/lib/core/enum/float-label-type.enum.js +0 -7
  129. package/esm2015/lib/core/enum/input-text-type.enum.js +0 -6
  130. package/esm2015/lib/core/model/numerical-range.js +0 -14
  131. package/lib/components/drop-down-list/drop-down-list.component.scss +0 -0
  132. package/lib/core/enum/float-label-type.enum.d.ts +0 -5
  133. package/lib/core/enum/input-text-type.enum.d.ts +0 -4
  134. package/lib/core/model/numerical-range.d.ts +0 -7
  135. package/lib/style/_extendables.scss +0 -32
  136. package/lib/style/_responsiveness.mixins.scss +0 -64
  137. package/lib/style/_responsiveness.scss +0 -4
  138. package/lib/style/_transition.mixins.scss +0 -21
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, forwardRef, HostBinding, Inject, Input, NgZone, Output, ViewChild, ViewEncapsulation } from "@angular/core";
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ComponentFactoryResolver, EventEmitter, forwardRef, HostBinding, Inject, Input, NgZone, Optional, Output, ViewChild, ViewEncapsulation } from "@angular/core";
3
3
  import { BaseInputComponent } from "../base/base-input.component";
4
4
  import { InputBoolean } from "../../core/decorator/input-boolean.decorator";
5
5
  import { BoundsConstrainedNumberValue } from "../../core/model/bounds-constrained-number-value";
@@ -9,16 +9,16 @@ import { FormInputUserModelChangeListenerService } from "../../core/service/form
9
9
  import { InputNumberPickerButtonShowMode } from "../../core/enum/input-number-picker-show-mode.enum";
10
10
  import { IconCacheService } from "../icon/icon-cache.service";
11
11
  import { CoreComponentsIcon } from "../../core/enum/core-components-icon.enum";
12
- import { FloatLabelTypeEnum } from "../../core/enum/float-label-type.enum";
13
12
  import { COMPONENT_INTERFACE_NAME } from "../base/component-interface-name";
13
+ import { FormComponent } from "../form/form.component";
14
14
  // A component that lets users pick a number by increasing and decreasing it with buttons, or by typing.
15
15
  export class InputNumberPickerComponent extends BaseInputComponent {
16
- constructor(iconCacheService, _ngZone, changeDetector, formUserChangeListener) {
17
- super(changeDetector, formUserChangeListener);
16
+ constructor(formComponent, iconCacheService, _ngZone, componentFactoryResolver, changeDetector, formUserChangeListener) {
17
+ super(changeDetector, componentFactoryResolver, formUserChangeListener);
18
+ this.formComponent = formComponent;
18
19
  this.iconCacheService = iconCacheService;
19
20
  this._ngZone = _ngZone;
20
- this.floatLabelType = FloatLabelTypeEnum.Never;
21
- this.cssClass = "e-outline";
21
+ this.componentFactoryResolver = componentFactoryResolver;
22
22
  this.minusIcon = CoreComponentsIcon.MinusSimple;
23
23
  this.plusIcon = CoreComponentsIcon.PlusSimple;
24
24
  // Whether to show buttons 'always', 'onFocusOnly', or 'never'
@@ -254,14 +254,14 @@ InputNumberPickerComponent.decorators = [
254
254
  },] }
255
255
  ];
256
256
  InputNumberPickerComponent.ctorParameters = () => [
257
+ { type: FormComponent, decorators: [{ type: Optional }] },
257
258
  { type: IconCacheService, decorators: [{ type: Inject, args: [IconCacheService,] }] },
258
259
  { type: NgZone },
260
+ { type: ComponentFactoryResolver },
259
261
  { type: ChangeDetectorRef },
260
262
  { type: FormInputUserModelChangeListenerService }
261
263
  ];
262
264
  InputNumberPickerComponent.propDecorators = {
263
- floatLabelType: [{ type: Input }],
264
- cssClass: [{ type: Input }],
265
265
  model: [{ type: Input }],
266
266
  min: [{ type: Input }],
267
267
  step: [{ type: Input }],
@@ -281,4 +281,4 @@ InputNumberPickerComponent.propDecorators = {
281
281
  __decorate([
282
282
  InputBoolean()
283
283
  ], InputNumberPickerComponent.prototype, "noValidation", void 0);
284
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyLXBpY2tlci9pbnB1dC1udW1iZXItcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUdOLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUUxRSxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUM5RixPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUV4RyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUNBQXVDLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUNuSCxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUNuRyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQWdDMUUsd0dBQXdHO0FBQ3hHLE1BQU0s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WUFQTixpQkFBaUI7WUFxQlgsdUNBQXVDOzs7NkJBdUM1QyxLQUFLO3VCQUdMLEtBQUs7b0JBSUwsS0FBSztrQkFTTCxLQUFLO21CQUtMLEtBQUs7a0JBS0wsS0FBSzs2QkFLTCxLQUFLO3dCQUdMLEtBQUs7dUJBR0wsS0FBSzs2QkFJTCxLQUFLOzJCQUlMLEtBQUs7dUJBR0wsS0FBSzswQkFNTCxNQUFNOzRCQUdOLFNBQVMsU0FBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7cUNBRzlDLFdBQVcsU0FBQyxrQ0FBa0M7dUJBSzlDLFdBQVcsU0FBQyxpQkFBaUI7d0JBSzdCLFdBQVcsU0FBQyw4QkFBOEI7O0FBeEIzQztJQURVLFlBQVksRUFBRTtnRUFDWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7QmFzZUlucHV0Q29tcG9uZW50fSBmcm9tIFwiLi4vYmFzZS9iYXNlLWlucHV0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtJbnB1dEJvb2xlYW59IGZyb20gXCIuLi8uLi9jb3JlL2RlY29yYXRvci9pbnB1dC1ib29sZWFuLmRlY29yYXRvclwiO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge0JvdW5kc0NvbnN0cmFpbmVkTnVtYmVyVmFsdWV9IGZyb20gXCIuLi8uLi9jb3JlL21vZGVsL2JvdW5kcy1jb25zdHJhaW5lZC1udW1iZXItdmFsdWVcIjtcbmltcG9ydCB7TlVNQkVSX0lOUFVUU19LRVlfRE9XTl9XSElURV9MSVNUfSBmcm9tIFwiLi4vLi4vY29yZS9jb25zdGFudC9udW1iZXItaW5wdXRzLWtleS1kb3duLXdoaXRlLWxpc3RcIjtcbmltcG9ydCB7S2V5Ym9hcmRDb2RlfSBmcm9tIFwiLi4vLi4vY29yZS9lbnVtL2tleWJvYXJkLWNvZGUuZW51bVwiO1xuaW1wb3J0IHtJbnB1dFRleHRDb21wb25lbnR9IGZyb20gXCIuLi9pbnB1dC10ZXh0L2lucHV0LXRleHQuY29tcG9uZW50XCI7XG5pbXBvcnQge0Zvcm1JbnB1dFVzZXJNb2RlbENoYW5nZUxpc3RlbmVyU2VydmljZX0gZnJvbSBcIi4uLy4uL2NvcmUvc2VydmljZS9mb3JtLWlucHV0LXVzZXItY2hhbmdlLWxpc3RlbmVyLnNlcnZpY2VcIjtcbmltcG9ydCB7SW5wdXROdW1iZXJQaWNrZXJCdXR0b25TaG93TW9kZX0gZnJvbSBcIi4uLy4uL2NvcmUvZW51bS9pbnB1dC1udW1iZXItcGlja2VyLXNob3ctbW9kZS5lbnVtXCI7XG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi9pY29uL2ljb24tY2FjaGUuc2VydmljZVwiO1xuaW1wb3J0IHtDb3JlQ29tcG9uZW50c0ljb259IGZyb20gXCIuLi8uLi9jb3JlL2VudW0vY29yZS1jb21wb25lbnRzLWljb24uZW51bVwiO1xuaW1wb3J0IHtGbG9hdExhYmVsVHlwZUVudW19IGZyb20gXCIuLi8uLi9jb3JlL2VudW0vZmxvYXQtbGFiZWwtdHlwZS5lbnVtXCI7XG5pbXBvcnQge0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRX0gZnJvbSBcIi4uL2Jhc2UvY29tcG9uZW50LWludGVyZmFjZS1uYW1lXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvLWlucHV0LW51bWJlci1waWNrZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJidXR0b24td3JhcHBlclwiPlxuICAgICAgPGNvLWJ1dHRvbiAqbmdJZj1cInNob3dCdXR0b25zXCIgY2xhc3M9XCJtaW51cy1vcGVyYXRvciBjaXJjbGVcIiBbY2xhc3Muc2VsZWN0XT1cIm1pblNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihtaW51c0ljb24pXCJcbiAgICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJvbk1pbnVzTW91c2VEb3duKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAobW91c2V1cCk9XCJzdG9wQXV0b0NvdW50aW5nKClcIiAobW91c2VsZWF2ZSk9XCJzdG9wQXV0b0NvdW50aW5nKClcIj48L2NvLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICBbbmdNb2RlbF09XCJudW1iZXJMb2dpYy52YWx1ZUFzU3RpbmdcIlxuICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgICAoa2V5ZG93bik9XCJoYW5kbGVLZXlEb3duKCRldmVudClcIi8+XG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbi13cmFwcGVyXCI+XG4gICAgICA8Y28tYnV0dG9uICpuZ0lmPVwic2hvd0J1dHRvbnNcIiBjbGFzcz1cInBsdXMtb3BlcmF0b3IgY2lyY2xlXCIgIFtjbGFzcy5zZWxlY3RdPVwicGx1c1NlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihwbHVzSWNvbilcIlxuICAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cIm9uUGx1c01vdXNlRG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKG1vdXNldXApPVwic3RvcEF1dG9Db3VudGluZygpXCIgKG1vdXNlbGVhdmUpPVwic3RvcEF1dG9Db3VudGluZygpXCI+PC9jby1idXR0b24+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBDT01QT05FTlRfSU5URVJGQUNFX05BTUUsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0TnVtYmVyUGlja2VyQ29tcG9uZW50KVxuICB9XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuLy8gQSBjb21wb25lbnQgdGhhdCBsZXRzIHVzZXJzIHBpY2sgYSBudW1iZXIgYnkgaW5jcmVhc2luZyBhbmQgZGVjcmVhc2luZyBpdCB3aXRoIGJ1dHRvbnMsIG9yIGJ5IHR5cGluZy5cbmV4cG9ydCBjbGFzcyBJbnB1dE51bWJlclBpY2tlckNvbXBvbmVudCBleHRlbmRzIEJhc2VJbnB1dENvbXBvbmVudDxudW1iZXI+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgZmxvYXRMYWJlbFR5cGU6IEZsb2F0TGFiZWxUeXBlRW51bSA9IEZsb2F0TGFiZWxUeXBlRW51bS5OZXZlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY3NzQ2xhc3M6IHN0cmluZyA9IFwiZS1vdXRsaW5lXCI7XG5cbiAgLy8gQG92ZXJyaWRlXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbW9kZWwobW9kZWw6IG51bWJlcikge1xuICAgIHRoaXMubnVtYmVyTG9naWMudmFsdWUgPSBtb2RlbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbW9kZWwoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5udW1iZXJMb2dpYy52YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbWluKG1pbjogbnVtYmVyKSB7XG4gICAgdGhpcy5udW1iZXJMb2dpYy5taW4gPSBtaW47XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHN0ZXAoc3RlcDogbnVtYmVyKSB7XG4gICAgdGhpcy5udW1iZXJMb2dpYy5zdGVwID0gc3RlcDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbWF4KG1heDogbnVtYmVyKSB7XG4gICAgdGhpcy5udW1iZXJMb2dpYy5tYXggPSBtYXg7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgbmdNb2RlbE9wdGlvbnM6IGFueTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbWludXNJY29uOiBDb3JlQ29tcG9uZW50c0ljb24gPSBDb3JlQ29tcG9uZW50c0ljb24uTWludXNTaW1wbGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBsdXNJY29uOiBDb3JlQ29tcG9uZW50c0ljb24gPSBDb3JlQ29tcG9uZW50c0ljb24uUGx1c1NpbXBsZTtcblxuICAvLyBXaGV0aGVyIHRvIHNob3cgYnV0dG9ucyAnYWx3YXlzJywgJ29uRm9jdXNPbmx5Jywgb3IgJ25ldmVyJ1xuICBASW5wdXQoKVxuICBwdWJsaWMgYnV0dG9uU2hvd01vZGU6IElucHV0TnVtYmVyUGlja2VyQnV0dG9uU2hvd01vZGUgPSBJbnB1dE51bWJlclBpY2tlckJ1dHRvblNob3dNb2RlLkFsd2F5cztcblxuICAvLyBAb3ZlcnJpZGUgRGVmYXVsdCB0cnVlIGZvciB1cy5cbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpXG4gIHB1YmxpYyBub1ZhbGlkYXRpb246IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGVjaW1hbHMoZGVjaW1hbHM6IG51bWJlcikge1xuICAgIHRoaXMubnVtYmVyTG9naWMuZGVjaW1hbHMgPSBkZWNpbWFscztcbiAgfVxuXG4gIC8vIEBvdmVycmlkZVxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IG1vZGVsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBWaWV3Q2hpbGQoSW5wdXRUZXh0Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgaW5wdXRUZXh0Q29tcDogSW5wdXRUZXh0Q29tcG9uZW50O1xuXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLnNob3ctYnV0dG9ucy1vbi1mb2N1cy1vbmx5XCIpXG4gIHB1YmxpYyBnZXQgc2hvd0J1dHRvbnNPbkZvY3VzT25seSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5idXR0b25TaG93TW9kZSA9PT0gSW5wdXROdW1iZXJQaWNrZXJCdXR0b25TaG93TW9kZS5PbkZvY3VzT25seTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmhhcy1sYWJlbFwiKVxuICBwdWJsaWMgZ2V0IGhhc0xhYmVsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMubGFiZWw7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWlucHV0LW51bWJlci1waWNrZXInKVxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIHNob3dCdXR0b25zOiBib29sZWFuO1xuXG4gIHB1YmxpYyByZWFkb25seSBteUtleURvd25XaGl0ZUxpc3Q6IEtleWJvYXJkQ29kZVtdID0gTlVNQkVSX0lOUFVUU19LRVlfRE9XTl9XSElURV9MSVNUO1xuXG4gIHB1YmxpYyByZWFkb25seSBudW1iZXJMb2dpYzogQm91bmRzQ29uc3RyYWluZWROdW1iZXJWYWx1ZSA9IG5ldyBCb3VuZHNDb25zdHJhaW5lZE51bWJlclZhbHVlKCk7XG5cbiAgcHVibGljIG1pblNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBwbHVzU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9udW1iZXJJbnB1dEhhc0ZvY3VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfbnVtYmVyTG9naWNWYWx1ZUNoYW5nZVN1YjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZWxheUJlZm9yZVN0YXJ0QXV0b0NvdW50TXM6IG51bWJlciA9IDY2NjtcbiAgLy8gdGhlICdzcGVlZCBnZWFycycgZm9yIGF1dG8gY291bnRpbmdcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RlcEZhY3RvcnM6IG51bWJlcltdID0gWzEsIDEwLCAyMF07XG4gIC8vIGluY3JlYXNlIHN0ZXAgc2l6ZSB0aW1pbmdcbiAgcHJpdmF0ZSByZWFkb25seSBfbXNDaGFuZ2VTdGVwRmFjdG9yOiBudW1iZXIgPSAxMDAwO1xuICAvLyBzdGVwIHNwZWVkXG4gIHByaXZhdGUgcmVhZG9ubHkgX21zRG9TdGVwOiBudW1iZXIgPSA1O1xuICAvLyBob2xkIHRoZSBtb3VzZSBkb3duIGFuZCB0aGlzIGluY3JlYXNlcyBmb3IgYSBmYXN0ZXIgYXV0byBpbmNyZW1lbnRcbiAgcHJpdmF0ZSBfc3RlcEZhY3RvcjogbnVtYmVyID0gdGhpcy5fc3RlcEZhY3RvcnNbMF07XG4gIHByaXZhdGUgX21heUF1dG9Db3VudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2F1dG9Db3VudFRpbWVvdXQ6IG51bWJlcjtcbiAgcHJpdmF0ZSBfc3RlcEluY3JlbWVudFRpbWVvdXQ6IG51bWJlcjtcbiAgcHJpdmF0ZSBfc3RhcnRBdXRvY291bnRUaW1lb3V0OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBASW5qZWN0KEljb25DYWNoZVNlcnZpY2UpIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxuICAgICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZiwgZm9ybVVzZXJDaGFuZ2VMaXN0ZW5lcjogRm9ybUlucHV0VXNlck1vZGVsQ2hhbmdlTGlzdGVuZXJTZXJ2aWNlKSB7XG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3IsIGZvcm1Vc2VyQ2hhbmdlTGlzdGVuZXIpO1xuXG4gICAgdGhpcy5fbnVtYmVyTG9naWNWYWx1ZUNoYW5nZVN1YiA9IHRoaXMubnVtYmVyTG9naWMudmFsdWVDaGFuZ2Uuc3Vic2NyaWJlKCh2YWx1ZTogbnVtYmVyKSA9PiB7XG4gICAgICB0aGlzLmlucHV0VGV4dENvbXAubW9kZWwgPSBcIlwiICsgdmFsdWU7IC8vIGZhc3RlciB0aGFuIHRoaXMuZGV0ZWN0Q2hhbmdlcygpIGp1c3QgZm9yIHRoYXQgaW5wdXRcblxuICAgICAgaWYgKCF0aGlzLl9tYXlBdXRvQ291bnQpIHtcbiAgICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICAgICAgLy8gY3VzdG9tIGZvcm0gdXNlciBjaGFnbmUgbGlzdGVuZXIgLm5leHQgYmVjYXVzZSB3ZSBkb24ndCB1c2VyIHN1cGVyLnVwZGF0ZU1vZGVsKCkgd2hpY2ggbm9ybWFsbHkgZG9lcyB0aGF0IGZvciB1c1xuICAgICAgICBpZiAodGhpcy5fbWFya2VkQXNVc2VyVG91Y2hlZCkge1xuICAgICAgICAgIHRoaXMuZm9ybVVzZXJDaGFuZ2VMaXN0ZW5lci51c2VyTW9kZWxDaGFuZ2UubmV4dCh2YWx1ZSk7XG4gICAgICAgICAgdGhpcy51c2VyTW9kZWxDaGFuZ2UubmV4dCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubnVtYmVyTG9naWMuaW5pdCh0cnVlKTtcbiAgICB0aGlzLl91cGRhdGVCdXR0b25zU2hvd1N0YXRlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9udW1iZXJMb2dpY1ZhbHVlQ2hhbmdlU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX2F1dG9Db3VudFRpbWVvdXQpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9zdGVwSW5jcmVtZW50VGltZW91dCk7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX3N0YXJ0QXV0b2NvdW50VGltZW91dCk7XG4gIH1cblxuICAvLyBOb3RlOiByZWN1cnNpdmUgdGhyb3VnaCBzZXRUaW1lb3V0KCkuXG4gIHB1YmxpYyBkb0luY3JlbWVudEF1dG8oKTogdm9pZCB7XG4gICAgdGhpcy5fbWF5QXV0b0NvdW50ID0gdHJ1ZTtcblxuICAgIHRoaXMuaW5jcmVtZW50KHRoaXMuX3N0ZXBGYWN0b3IpO1xuXG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuX2F1dG9Db3VudFRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLl9tYXlBdXRvQ291bnQpIHtcbiAgICAgICAgICB0aGlzLmRvSW5jcmVtZW50QXV0bygpO1xuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICB9LCB0aGlzLl9tc0RvU3RlcCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICAgIC8vIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMubXlLZXlEb3duV2hpdGVMaXN0LmZpbmQoKGspID0+IGsgPT09IGV2ZW50LmtleUNvZGUpID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvLyBOb3RlOiByZWN1cnNpdmUgdGhyb3VnaCBzZXRUaW1lb3V0KCkuXG4gIHB1YmxpYyBkb0RlY3JlbWVudEF1dG8oKTogdm9pZCB7XG4gICAgdGhpcy5fbWF5QXV0b0NvdW50ID0gdHJ1ZTtcblxuICAgIHRoaXMuZGVjcmVtZW50KHRoaXMuX3N0ZXBGYWN0b3IpO1xuXG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuX2F1dG9Db3VudFRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLl9tYXlBdXRvQ291bnQpIHtcbiAgICAgICAgICB0aGlzLmRvRGVjcmVtZW50QXV0bygpO1xuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICB9LCB0aGlzLl9tc0RvU3RlcCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RvcEF1dG9Db3VudGluZygpOiB2b2lkIHtcbiAgICB0aGlzLm1pblNlbGVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy5wbHVzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLl9tYXlBdXRvQ291bnQgPSBmYWxzZTtcbiAgICB0aGlzLl9zdGVwRmFjdG9yID0gdGhpcy5fc3RlcEZhY3RvcnNbMF07XG4gIH1cblxuICAvLyBTZXRzIHRoZSBjdXJyZW50IG51bWJlciB2YWx1ZSB3aXRoIGdpdmVuIG5ld1ZhbHVlLCBvcHRpb25hbGx5IHNpbGVudCAobm8gdmFsdWVDaGFuZ2UgZXZlbnQgZmlyZWQpLlxuICBwdWJsaWMgc2V0VmFsdWUobmV3VmFsdWU6IG51bWJlciwgc2lsZW50OiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICB0aGlzLm51bWJlckxvZ2ljLnNldFZhbHVlKG5ld1ZhbHVlLCBzaWxlbnQpO1xuICB9XG5cbiAgcHVibGljIGluY3JlbWVudChzdGVwczogbnVtYmVyID0gMSk6IHZvaWQge1xuICAgIHRoaXMubnVtYmVyTG9naWMuaW5jcmVtZW50KHN0ZXBzKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWNyZW1lbnQoc3RlcHM6IG51bWJlciA9IDEpOiB2b2lkIHtcbiAgICB0aGlzLm51bWJlckxvZ2ljLmRlY3JlbWVudChzdGVwcyk7XG4gIH1cblxuICBwdWJsaWMgb25QbHVzTW91c2VEb3duKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlYWRvbmx5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnBsdXNTZWxlY3RlZCA9IHRydWU7XG4gICAgdGhpcy5fbWFya2VkQXNVc2VyVG91Y2hlZCA9IHRydWU7XG5cbiAgICAvLyBrZWVwcyBmb2N1cyBvbiBpbnB1dCB0ZXh0IGluc3RlYWQgb2YgYnV0dG9uXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIHRoaXMuaW5jcmVtZW50KCk7XG4gICAgdGhpcy5fbWF5QXV0b0NvdW50ID0gdHJ1ZTtcblxuICAgIGNsZWFyVGltZW91dCh0aGlzLl9zdGFydEF1dG9jb3VudFRpbWVvdXQpO1xuICAgIHRoaXMuX3N0YXJ0QXV0b2NvdW50VGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLl9tYXlBdXRvQ291bnQpIHtcbiAgICAgICAgdGhpcy5kb0luY3JlbWVudEF1dG8oKTtcbiAgICAgICAgdGhpcy5fZG9JbmNyZWFzZVN0ZXBGYWN0b3IoKTtcbiAgICAgIH1cbiAgICB9LCB0aGlzLl9kZWxheUJlZm9yZVN0YXJ0QXV0b0NvdW50TXMpO1xuICB9XG5cbiAgcHVibGljIG9uTWludXNNb3VzZURvd24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubWluU2VsZWN0ZWQgPSB0cnVlO1xuICAgIHRoaXMuX21hcmtlZEFzVXNlclRvdWNoZWQgPSB0cnVlO1xuICAgIC8vIGtlZXBzIGZvY3VzIG9uIGlucHV0IHRleHQgaW5zdGVhZCBvZiBidXR0b25cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgdGhpcy5kZWNyZW1lbnQoKTtcbiAgICB0aGlzLl9tYXlBdXRvQ291bnQgPSB0cnVlO1xuXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX3N0YXJ0QXV0b2NvdW50VGltZW91dCk7XG4gICAgdGhpcy5fc3RhcnRBdXRvY291bnRUaW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuX21heUF1dG9Db3VudCkge1xuICAgICAgICB0aGlzLmRvRGVjcmVtZW50QXV0bygpO1xuICAgICAgICB0aGlzLl9kb0luY3JlYXNlU3RlcEZhY3RvcigpO1xuICAgICAgfVxuICAgIH0sIHRoaXMuX2RlbGF5QmVmb3JlU3RhcnRBdXRvQ291bnRNcyk7XG4gIH1cblxuICAvLyBQb3NzaWJseSBzaG93IGJ1dHRvbnMuXG4gIHB1YmxpYyBvbk51bWJlcklucHV0Rm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5fbnVtYmVySW5wdXRIYXNGb2N1cyA9IHRydWU7XG4gICAgdGhpcy5fdXBkYXRlQnV0dG9uc1Nob3dTdGF0ZSgpO1xuICB9XG5cbiAgLy8gVmFsdWUgY29ycmVjdGlvbiBwb2ludC5cbiAgcHVibGljIG9uTnVtYmVySW5wdXRCbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuX251bWJlcklucHV0SGFzRm9jdXMgPSBmYWxzZTtcbiAgICB0aGlzLm51bWJlckxvZ2ljLnNldFZhbHVlQnlVc2VySW5wdXRUZXh0KHRoaXMuaW5wdXRUZXh0Q29tcC5tb2RlbCk7XG4gICAgdGhpcy5fdXBkYXRlQnV0dG9uc1Nob3dTdGF0ZSgpO1xuICB9XG5cbiAgLy8gTm90ZTogcmVjdXJzaXZlLlxuICBwcml2YXRlIF9kb0luY3JlYXNlU3RlcEZhY3RvcigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGVwSW5jcmVtZW50VGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLl9tYXlBdXRvQ291bnQpIHtcbiAgICAgICAgdGhpcy5fc3RlcEZhY3RvciA9IHRoaXMuX2dldE5leHRTdGVwRmFjdG9yTW91c2VEb3duKCk7XG4gICAgICAgIHRoaXMuX2RvSW5jcmVhc2VTdGVwRmFjdG9yKCk7XG4gICAgICB9XG4gICAgfSwgdGhpcy5fbXNDaGFuZ2VTdGVwRmFjdG9yKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5leHRTdGVwRmFjdG9yTW91c2VEb3duKCk6IG51bWJlciB7XG4gICAgY29uc3QgY3VySWR4OiBudW1iZXIgPSB0aGlzLl9zdGVwRmFjdG9ycy5pbmRleE9mKHRoaXMuX3N0ZXBGYWN0b3IpO1xuICAgIGlmIChjdXJJZHggPCB0aGlzLl9zdGVwRmFjdG9ycy5sZW5ndGggLSAxKSB7XG4gICAgICByZXR1cm4gdGhpcy5fc3RlcEZhY3RvcnNbY3VySWR4ICsgMV07XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9zdGVwRmFjdG9yO1xuICB9XG5cbiAgLy8gU2hvdyBvciBoaWRlICsgYW5kIC0gYnV0dG9ucy4gTWlnaHQgaGlkZSBidXR0b25zIGlmIG51bWJlciBpbnB1dCBsb3N0IGZvY3VzIGFuZCBidXR0b24gc2hvdyBtb2RlIGlzIG9uIGZvY3VzIG9ubHkuXG4gIHByaXZhdGUgX3VwZGF0ZUJ1dHRvbnNTaG93U3RhdGUoKTogdm9pZCB7XG4gICAgc3dpdGNoICh0aGlzLmJ1dHRvblNob3dNb2RlKSB7XG4gICAgICBjYXNlIElucHV0TnVtYmVyUGlja2VyQnV0dG9uU2hvd01vZGUuQWx3YXlzOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5zaG93QnV0dG9ucyA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBJbnB1dE51bWJlclBpY2tlckJ1dHRvblNob3dNb2RlLk9uRm9jdXNPbmx5OlxuICAgICAgICB0aGlzLnNob3dCdXR0b25zID0gdGhpcy5fbnVtYmVySW5wdXRIYXNGb2N1cztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIElucHV0TnVtYmVyUGlja2VyQnV0dG9uU2hvd01vZGUuTmV2ZXI6XG4gICAgICAgIHRoaXMuc2hvd0J1dHRvbnMgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG4iXX0=
284
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyLXBpY2tlci9pbnB1dC1udW1iZXItcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULHdCQUF3QixFQUN4QixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFHTixRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBRTFFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQzlGLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBRXhHLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyx1Q0FBdUMsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ25ILE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ25HLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQWdD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WUEvQk8sYUFBYSx1QkFvSWhCLFFBQVE7WUF2SUwsZ0JBQWdCLHVCQXdJbkIsTUFBTSxTQUFDLGdCQUFnQjtZQXpKMUIsTUFBTTtZQU5OLHdCQUF3QjtZQUZ4QixpQkFBaUI7WUF1QlgsdUNBQXVDOzs7b0JBeUM1QyxLQUFLO2tCQVNMLEtBQUs7bUJBS0wsS0FBSztrQkFLTCxLQUFLOzZCQUtMLEtBQUs7d0JBR0wsS0FBSzt1QkFHTCxLQUFLOzZCQUlMLEtBQUs7MkJBSUwsS0FBSzt1QkFHTCxLQUFLOzBCQU1MLE1BQU07NEJBR04sU0FBUyxTQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtxQ0FHOUMsV0FBVyxTQUFDLGtDQUFrQzt1QkFLOUMsV0FBVyxTQUFDLGlCQUFpQjt3QkFLN0IsV0FBVyxTQUFDLDhCQUE4Qjs7QUF4QjNDO0lBRFUsWUFBWSxFQUFFO2dFQUNZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtCYXNlSW5wdXRDb21wb25lbnR9IGZyb20gXCIuLi9iYXNlL2Jhc2UtaW5wdXQuY29tcG9uZW50XCI7XG5pbXBvcnQge0lucHV0Qm9vbGVhbn0gZnJvbSBcIi4uLy4uL2NvcmUvZGVjb3JhdG9yL2lucHV0LWJvb2xlYW4uZGVjb3JhdG9yXCI7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7Qm91bmRzQ29uc3RyYWluZWROdW1iZXJWYWx1ZX0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWwvYm91bmRzLWNvbnN0cmFpbmVkLW51bWJlci12YWx1ZVwiO1xuaW1wb3J0IHtOVU1CRVJfSU5QVVRTX0tFWV9ET1dOX1dISVRFX0xJU1R9IGZyb20gXCIuLi8uLi9jb3JlL2NvbnN0YW50L251bWJlci1pbnB1dHMta2V5LWRvd24td2hpdGUtbGlzdFwiO1xuaW1wb3J0IHtLZXlib2FyZENvZGV9IGZyb20gXCIuLi8uLi9jb3JlL2VudW0va2V5Ym9hcmQtY29kZS5lbnVtXCI7XG5pbXBvcnQge0lucHV0VGV4dENvbXBvbmVudH0gZnJvbSBcIi4uL2lucHV0LXRleHQvaW5wdXQtdGV4dC5jb21wb25lbnRcIjtcbmltcG9ydCB7Rm9ybUlucHV0VXNlck1vZGVsQ2hhbmdlTGlzdGVuZXJTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vY29yZS9zZXJ2aWNlL2Zvcm0taW5wdXQtdXNlci1jaGFuZ2UtbGlzdGVuZXIuc2VydmljZVwiO1xuaW1wb3J0IHtJbnB1dE51bWJlclBpY2tlckJ1dHRvblNob3dNb2RlfSBmcm9tIFwiLi4vLi4vY29yZS9lbnVtL2lucHV0LW51bWJlci1waWNrZXItc2hvdy1tb2RlLmVudW1cIjtcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uL2ljb24vaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XG5pbXBvcnQge0NvcmVDb21wb25lbnRzSWNvbn0gZnJvbSBcIi4uLy4uL2NvcmUvZW51bS9jb3JlLWNvbXBvbmVudHMtaWNvbi5lbnVtXCI7XG5pbXBvcnQge0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRX0gZnJvbSBcIi4uL2Jhc2UvY29tcG9uZW50LWludGVyZmFjZS1uYW1lXCI7XG5pbXBvcnQge0Zvcm1Db21wb25lbnR9IGZyb20gXCIuLi9mb3JtL2Zvcm0uY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvLWlucHV0LW51bWJlci1waWNrZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJidXR0b24td3JhcHBlclwiPlxuICAgICAgPGNvLWJ1dHRvbiAqbmdJZj1cInNob3dCdXR0b25zXCIgY2xhc3M9XCJtaW51cy1vcGVyYXRvciBjaXJjbGVcIiBbY2xhc3Muc2VsZWN0XT1cIm1pblNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihtaW51c0ljb24pXCJcbiAgICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJvbk1pbnVzTW91c2VEb3duKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAobW91c2V1cCk9XCJzdG9wQXV0b0NvdW50aW5nKClcIiAobW91c2VsZWF2ZSk9XCJzdG9wQXV0b0NvdW50aW5nKClcIj48L2NvLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICBbbmdNb2RlbF09XCJudW1iZXJMb2dpYy52YWx1ZUFzU3RpbmdcIlxuICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgICAoa2V5ZG93bik9XCJoYW5kbGVLZXlEb3duKCRldmVudClcIi8+XG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbi13cmFwcGVyXCI+XG4gICAgICA8Y28tYnV0dG9uICpuZ0lmPVwic2hvd0J1dHRvbnNcIiBjbGFzcz1cInBsdXMtb3BlcmF0b3IgY2lyY2xlXCIgIFtjbGFzcy5zZWxlY3RdPVwicGx1c1NlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihwbHVzSWNvbilcIlxuICAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cIm9uUGx1c01vdXNlRG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKG1vdXNldXApPVwic3RvcEF1dG9Db3VudGluZygpXCIgKG1vdXNlbGVhdmUpPVwic3RvcEF1dG9Db3VudGluZygpXCI+PC9jby1idXR0b24+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBDT01QT05FTlRfSU5URVJGQUNFX05BTUUsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0TnVtYmVyUGlja2VyQ29tcG9uZW50KVxuICB9XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuLy8gQSBjb21wb25lbnQgdGhhdCBsZXRzIHVzZXJzIHBpY2sgYSBudW1iZXIgYnkgaW5jcmVhc2luZyBhbmQgZGVjcmVhc2luZyBpdCB3aXRoIGJ1dHRvbnMsIG9yIGJ5IHR5cGluZy5cbmV4cG9ydCBjbGFzcyBJbnB1dE51bWJlclBpY2tlckNvbXBvbmVudCBleHRlbmRzIEJhc2VJbnB1dENvbXBvbmVudDxudW1iZXI+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8vIEBvdmVycmlkZVxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1vZGVsKG1vZGVsOiBudW1iZXIpIHtcbiAgICB0aGlzLm51bWJlckxvZ2ljLnZhbHVlID0gbW9kZWw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1vZGVsKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubnVtYmVyTG9naWMudmFsdWU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1pbihtaW46IG51bWJlcikge1xuICAgIHRoaXMubnVtYmVyTG9naWMubWluID0gbWluO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzdGVwKHN0ZXA6IG51bWJlcikge1xuICAgIHRoaXMubnVtYmVyTG9naWMuc3RlcCA9IHN0ZXA7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1heChtYXg6IG51bWJlcikge1xuICAgIHRoaXMubnVtYmVyTG9naWMubWF4ID0gbWF4O1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIG5nTW9kZWxPcHRpb25zOiBhbnk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG1pbnVzSWNvbjogQ29yZUNvbXBvbmVudHNJY29uID0gQ29yZUNvbXBvbmVudHNJY29uLk1pbnVzU2ltcGxlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwbHVzSWNvbjogQ29yZUNvbXBvbmVudHNJY29uID0gQ29yZUNvbXBvbmVudHNJY29uLlBsdXNTaW1wbGU7XG5cbiAgLy8gV2hldGhlciB0byBzaG93IGJ1dHRvbnMgJ2Fsd2F5cycsICdvbkZvY3VzT25seScsIG9yICduZXZlcidcbiAgQElucHV0KClcbiAgcHVibGljIGJ1dHRvblNob3dNb2RlOiBJbnB1dE51bWJlclBpY2tlckJ1dHRvblNob3dNb2RlID0gSW5wdXROdW1iZXJQaWNrZXJCdXR0b25TaG93TW9kZS5BbHdheXM7XG5cbiAgLy8gQG92ZXJyaWRlIERlZmF1bHQgdHJ1ZSBmb3IgdXMuXG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKVxuICBwdWJsaWMgbm9WYWxpZGF0aW9uOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlY2ltYWxzKGRlY2ltYWxzOiBudW1iZXIpIHtcbiAgICB0aGlzLm51bWJlckxvZ2ljLmRlY2ltYWxzID0gZGVjaW1hbHM7XG4gIH1cblxuICAvLyBAb3ZlcnJpZGVcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBtb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBAVmlld0NoaWxkKElucHV0VGV4dENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGlucHV0VGV4dENvbXA6IElucHV0VGV4dENvbXBvbmVudDtcblxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5zaG93LWJ1dHRvbnMtb24tZm9jdXMtb25seVwiKVxuICBwdWJsaWMgZ2V0IHNob3dCdXR0b25zT25Gb2N1c09ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYnV0dG9uU2hvd01vZGUgPT09IElucHV0TnVtYmVyUGlja2VyQnV0dG9uU2hvd01vZGUuT25Gb2N1c09ubHk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5oYXMtbGFiZWxcIilcbiAgcHVibGljIGdldCBoYXNMYWJlbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmxhYmVsO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1pbnB1dC1udW1iZXItcGlja2VyJylcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93QnV0dG9uczogYm9vbGVhbjtcblxuICBwdWJsaWMgcmVhZG9ubHkgbXlLZXlEb3duV2hpdGVMaXN0OiBLZXlib2FyZENvZGVbXSA9IE5VTUJFUl9JTlBVVFNfS0VZX0RPV05fV0hJVEVfTElTVDtcblxuICBwdWJsaWMgcmVhZG9ubHkgbnVtYmVyTG9naWM6IEJvdW5kc0NvbnN0cmFpbmVkTnVtYmVyVmFsdWUgPSBuZXcgQm91bmRzQ29uc3RyYWluZWROdW1iZXJWYWx1ZSgpO1xuXG4gIHB1YmxpYyBtaW5TZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgcGx1c1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfbnVtYmVySW5wdXRIYXNGb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX251bWJlckxvZ2ljVmFsdWVDaGFuZ2VTdWI6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVsYXlCZWZvcmVTdGFydEF1dG9Db3VudE1zOiBudW1iZXIgPSA2NjY7XG4gIC8vIHRoZSAnc3BlZWQgZ2VhcnMnIGZvciBhdXRvIGNvdW50aW5nXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0ZXBGYWN0b3JzOiBudW1iZXJbXSA9IFsxLCAxMCwgMjBdO1xuICAvLyBpbmNyZWFzZSBzdGVwIHNpemUgdGltaW5nXG4gIHByaXZhdGUgcmVhZG9ubHkgX21zQ2hhbmdlU3RlcEZhY3RvcjogbnVtYmVyID0gMTAwMDtcbiAgLy8gc3RlcCBzcGVlZFxuICBwcml2YXRlIHJlYWRvbmx5IF9tc0RvU3RlcDogbnVtYmVyID0gNTtcbiAgLy8gaG9sZCB0aGUgbW91c2UgZG93biBhbmQgdGhpcyBpbmNyZWFzZXMgZm9yIGEgZmFzdGVyIGF1dG8gaW5jcmVtZW50XG4gIHByaXZhdGUgX3N0ZXBGYWN0b3I6IG51bWJlciA9IHRoaXMuX3N0ZXBGYWN0b3JzWzBdO1xuICBwcml2YXRlIF9tYXlBdXRvQ291bnQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9hdXRvQ291bnRUaW1lb3V0OiBudW1iZXI7XG4gIHByaXZhdGUgX3N0ZXBJbmNyZW1lbnRUaW1lb3V0OiBudW1iZXI7XG4gIHByaXZhdGUgX3N0YXJ0QXV0b2NvdW50VGltZW91dDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBmb3JtQ29tcG9uZW50OiBGb3JtQ29tcG9uZW50LFxuICAgIEBJbmplY3QoSWNvbkNhY2hlU2VydmljZSkgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsXG4gICAgcHJvdGVjdGVkIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBmb3JtVXNlckNoYW5nZUxpc3RlbmVyOiBGb3JtSW5wdXRVc2VyTW9kZWxDaGFuZ2VMaXN0ZW5lclNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3IsIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgZm9ybVVzZXJDaGFuZ2VMaXN0ZW5lcik7XG5cbiAgICB0aGlzLl9udW1iZXJMb2dpY1ZhbHVlQ2hhbmdlU3ViID0gdGhpcy5udW1iZXJMb2dpYy52YWx1ZUNoYW5nZS5zdWJzY3JpYmUoKHZhbHVlOiBudW1iZXIpID0+IHtcbiAgICAgIHRoaXMuaW5wdXRUZXh0Q29tcC5tb2RlbCA9IFwiXCIgKyB2YWx1ZTsgLy8gZmFzdGVyIHRoYW4gdGhpcy5kZXRlY3RDaGFuZ2VzKCkganVzdCBmb3IgdGhhdCBpbnB1dFxuXG4gICAgICBpZiAoIXRoaXMuX21heUF1dG9Db3VudCkge1xuICAgICAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgICAvLyBjdXN0b20gZm9ybSB1c2VyIGNoYWduZSBsaXN0ZW5lciAubmV4dCBiZWNhdXNlIHdlIGRvbid0IHVzZXIgc3VwZXIudXBkYXRlTW9kZWwoKSB3aGljaCBub3JtYWxseSBkb2VzIHRoYXQgZm9yIHVzXG4gICAgICAgIGlmICh0aGlzLl9tYXJrZWRBc1VzZXJUb3VjaGVkKSB7XG4gICAgICAgICAgdGhpcy5mb3JtVXNlckNoYW5nZUxpc3RlbmVyLnVzZXJNb2RlbENoYW5nZS5uZXh0KHZhbHVlKTtcbiAgICAgICAgICB0aGlzLnVzZXJNb2RlbENoYW5nZS5uZXh0KHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5udW1iZXJMb2dpYy5pbml0KHRydWUpO1xuICAgIHRoaXMuX3VwZGF0ZUJ1dHRvbnNTaG93U3RhdGUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX251bWJlckxvZ2ljVmFsdWVDaGFuZ2VTdWIudW5zdWJzY3JpYmUoKTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fYXV0b0NvdW50VGltZW91dCk7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX3N0ZXBJbmNyZW1lbnRUaW1lb3V0KTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fc3RhcnRBdXRvY291bnRUaW1lb3V0KTtcbiAgfVxuXG4gIC8vIE5vdGU6IHJlY3Vyc2l2ZSB0aHJvdWdoIHNldFRpbWVvdXQoKS5cbiAgcHVibGljIGRvSW5jcmVtZW50QXV0bygpOiB2b2lkIHtcbiAgICB0aGlzLl9tYXlBdXRvQ291bnQgPSB0cnVlO1xuXG4gICAgdGhpcy5pbmNyZW1lbnQodGhpcy5fc3RlcEZhY3Rvcik7XG5cbiAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy5fYXV0b0NvdW50VGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX21heUF1dG9Db3VudCkge1xuICAgICAgICAgIHRoaXMuZG9JbmNyZW1lbnRBdXRvKCk7XG4gICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgIH0sIHRoaXMuX21zRG9TdGVwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgLy8gZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAodGhpcy5teUtleURvd25XaGl0ZUxpc3QuZmluZCgoaykgPT4gayA9PT0gZXZlbnQua2V5Q29kZSkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vdGU6IHJlY3Vyc2l2ZSB0aHJvdWdoIHNldFRpbWVvdXQoKS5cbiAgcHVibGljIGRvRGVjcmVtZW50QXV0bygpOiB2b2lkIHtcbiAgICB0aGlzLl9tYXlBdXRvQ291bnQgPSB0cnVlO1xuXG4gICAgdGhpcy5kZWNyZW1lbnQodGhpcy5fc3RlcEZhY3Rvcik7XG5cbiAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy5fYXV0b0NvdW50VGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX21heUF1dG9Db3VudCkge1xuICAgICAgICAgIHRoaXMuZG9EZWNyZW1lbnRBdXRvKCk7XG4gICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgIH0sIHRoaXMuX21zRG9TdGVwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdG9wQXV0b0NvdW50aW5nKCk6IHZvaWQge1xuICAgIHRoaXMubWluU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLnBsdXNTZWxlY3RlZCA9IGZhbHNlO1xuICAgIHRoaXMuX21heUF1dG9Db3VudCA9IGZhbHNlO1xuICAgIHRoaXMuX3N0ZXBGYWN0b3IgPSB0aGlzLl9zdGVwRmFjdG9yc1swXTtcbiAgfVxuXG4gIC8vIFNldHMgdGhlIGN1cnJlbnQgbnVtYmVyIHZhbHVlIHdpdGggZ2l2ZW4gbmV3VmFsdWUsIG9wdGlvbmFsbHkgc2lsZW50IChubyB2YWx1ZUNoYW5nZSBldmVudCBmaXJlZCkuXG4gIHB1YmxpYyBzZXRWYWx1ZShuZXdWYWx1ZTogbnVtYmVyLCBzaWxlbnQ6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgIHRoaXMubnVtYmVyTG9naWMuc2V0VmFsdWUobmV3VmFsdWUsIHNpbGVudCk7XG4gIH1cblxuICBwdWJsaWMgaW5jcmVtZW50KHN0ZXBzOiBudW1iZXIgPSAxKTogdm9pZCB7XG4gICAgdGhpcy5udW1iZXJMb2dpYy5pbmNyZW1lbnQoc3RlcHMpO1xuICB9XG5cbiAgcHVibGljIGRlY3JlbWVudChzdGVwczogbnVtYmVyID0gMSk6IHZvaWQge1xuICAgIHRoaXMubnVtYmVyTG9naWMuZGVjcmVtZW50KHN0ZXBzKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBsdXNNb3VzZURvd24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucGx1c1NlbGVjdGVkID0gdHJ1ZTtcbiAgICB0aGlzLl9tYXJrZWRBc1VzZXJUb3VjaGVkID0gdHJ1ZTtcblxuICAgIC8vIGtlZXBzIGZvY3VzIG9uIGlucHV0IHRleHQgaW5zdGVhZCBvZiBidXR0b25cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgdGhpcy5pbmNyZW1lbnQoKTtcbiAgICB0aGlzLl9tYXlBdXRvQ291bnQgPSB0cnVlO1xuXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX3N0YXJ0QXV0b2NvdW50VGltZW91dCk7XG4gICAgdGhpcy5fc3RhcnRBdXRvY291bnRUaW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuX21heUF1dG9Db3VudCkge1xuICAgICAgICB0aGlzLmRvSW5jcmVtZW50QXV0bygpO1xuICAgICAgICB0aGlzLl9kb0luY3JlYXNlU3RlcEZhY3RvcigpO1xuICAgICAgfVxuICAgIH0sIHRoaXMuX2RlbGF5QmVmb3JlU3RhcnRBdXRvQ291bnRNcyk7XG4gIH1cblxuICBwdWJsaWMgb25NaW51c01vdXNlRG93bihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5taW5TZWxlY3RlZCA9IHRydWU7XG4gICAgdGhpcy5fbWFya2VkQXNVc2VyVG91Y2hlZCA9IHRydWU7XG4gICAgLy8ga2VlcHMgZm9jdXMgb24gaW5wdXQgdGV4dCBpbnN0ZWFkIG9mIGJ1dHRvblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICB0aGlzLmRlY3JlbWVudCgpO1xuICAgIHRoaXMuX21heUF1dG9Db3VudCA9IHRydWU7XG5cbiAgICBjbGVhclRpbWVvdXQodGhpcy5fc3RhcnRBdXRvY291bnRUaW1lb3V0KTtcbiAgICB0aGlzLl9zdGFydEF1dG9jb3VudFRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fbWF5QXV0b0NvdW50KSB7XG4gICAgICAgIHRoaXMuZG9EZWNyZW1lbnRBdXRvKCk7XG4gICAgICAgIHRoaXMuX2RvSW5jcmVhc2VTdGVwRmFjdG9yKCk7XG4gICAgICB9XG4gICAgfSwgdGhpcy5fZGVsYXlCZWZvcmVTdGFydEF1dG9Db3VudE1zKTtcbiAgfVxuXG4gIC8vIFBvc3NpYmx5IHNob3cgYnV0dG9ucy5cbiAgcHVibGljIG9uTnVtYmVySW5wdXRGb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLl9udW1iZXJJbnB1dEhhc0ZvY3VzID0gdHJ1ZTtcbiAgICB0aGlzLl91cGRhdGVCdXR0b25zU2hvd1N0YXRlKCk7XG4gIH1cblxuICAvLyBWYWx1ZSBjb3JyZWN0aW9uIHBvaW50LlxuICBwdWJsaWMgb25OdW1iZXJJbnB1dEJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5fbnVtYmVySW5wdXRIYXNGb2N1cyA9IGZhbHNlO1xuICAgIHRoaXMubnVtYmVyTG9naWMuc2V0VmFsdWVCeVVzZXJJbnB1dFRleHQodGhpcy5pbnB1dFRleHRDb21wLm1vZGVsKTtcbiAgICB0aGlzLl91cGRhdGVCdXR0b25zU2hvd1N0YXRlKCk7XG4gIH1cblxuICAvLyBOb3RlOiByZWN1cnNpdmUuXG4gIHByaXZhdGUgX2RvSW5jcmVhc2VTdGVwRmFjdG9yKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0ZXBJbmNyZW1lbnRUaW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuX21heUF1dG9Db3VudCkge1xuICAgICAgICB0aGlzLl9zdGVwRmFjdG9yID0gdGhpcy5fZ2V0TmV4dFN0ZXBGYWN0b3JNb3VzZURvd24oKTtcbiAgICAgICAgdGhpcy5fZG9JbmNyZWFzZVN0ZXBGYWN0b3IoKTtcbiAgICAgIH1cbiAgICB9LCB0aGlzLl9tc0NoYW5nZVN0ZXBGYWN0b3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TmV4dFN0ZXBGYWN0b3JNb3VzZURvd24oKTogbnVtYmVyIHtcbiAgICBjb25zdCBjdXJJZHg6IG51bWJlciA9IHRoaXMuX3N0ZXBGYWN0b3JzLmluZGV4T2YodGhpcy5fc3RlcEZhY3Rvcik7XG4gICAgaWYgKGN1cklkeCA8IHRoaXMuX3N0ZXBGYWN0b3JzLmxlbmd0aCAtIDEpIHtcbiAgICAgIHJldHVybiB0aGlzLl9zdGVwRmFjdG9yc1tjdXJJZHggKyAxXTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3N0ZXBGYWN0b3I7XG4gIH1cblxuICAvLyBTaG93IG9yIGhpZGUgKyBhbmQgLSBidXR0b25zLiBNaWdodCBoaWRlIGJ1dHRvbnMgaWYgbnVtYmVyIGlucHV0IGxvc3QgZm9jdXMgYW5kIGJ1dHRvbiBzaG93IG1vZGUgaXMgb24gZm9jdXMgb25seS5cbiAgcHJpdmF0ZSBfdXBkYXRlQnV0dG9uc1Nob3dTdGF0ZSgpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKHRoaXMuYnV0dG9uU2hvd01vZGUpIHtcbiAgICAgIGNhc2UgSW5wdXROdW1iZXJQaWNrZXJCdXR0b25TaG93TW9kZS5BbHdheXM6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLnNob3dCdXR0b25zID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIElucHV0TnVtYmVyUGlja2VyQnV0dG9uU2hvd01vZGUuT25Gb2N1c09ubHk6XG4gICAgICAgIHRoaXMuc2hvd0J1dHRvbnMgPSB0aGlzLl9udW1iZXJJbnB1dEhhc0ZvY3VzO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgSW5wdXROdW1iZXJQaWNrZXJCdXR0b25TaG93TW9kZS5OZXZlcjpcbiAgICAgICAgdGhpcy5zaG93QnV0dG9ucyA9IGZhbHNlO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,13 +1,19 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, HostBinding, Input, Optional, ViewEncapsulation } from "@angular/core";
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, forwardRef, HostBinding, Input, Optional, ViewEncapsulation } from "@angular/core";
2
2
  import { BaseInputComponent } from "../base/base-input.component";
3
3
  import { FormComponent } from "../form/form.component";
4
4
  import { FormInputUserModelChangeListenerService } from "../../core/service/form-input-user-change-listener.service";
5
5
  import { NgZoneWrapperService } from "../../core/service/ng-zone-wrapper.service";
6
6
  import { COMPONENT_INTERFACE_NAME } from "../base/component-interface-name";
7
7
  export class InputRadioButtonComponent extends BaseInputComponent {
8
- constructor(formComponent, changeDetector, formUserChangeListener, ngZoneWrapper) {
9
- super(changeDetector, formUserChangeListener, ngZoneWrapper);
8
+ constructor(formComponent, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) {
9
+ super(changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef);
10
10
  this.formComponent = formComponent;
11
+ this.changeDetector = changeDetector;
12
+ this.componentFactoryResolver = componentFactoryResolver;
13
+ this.formUserChangeListener = formUserChangeListener;
14
+ this.ngZoneWrapper = ngZoneWrapper;
15
+ this.elementRef = elementRef;
16
+ super._markAsOnPush();
11
17
  }
12
18
  showClass() {
13
19
  return true;
@@ -39,8 +45,10 @@ InputRadioButtonComponent.decorators = [
39
45
  InputRadioButtonComponent.ctorParameters = () => [
40
46
  { type: FormComponent, decorators: [{ type: Optional }] },
41
47
  { type: ChangeDetectorRef },
48
+ { type: ComponentFactoryResolver },
42
49
  { type: FormInputUserModelChangeListenerService },
43
- { type: NgZoneWrapperService }
50
+ { type: NgZoneWrapperService },
51
+ { type: ElementRef }
44
52
  ];
45
53
  InputRadioButtonComponent.propDecorators = {
46
54
  value: [{ type: Input }],
@@ -49,4 +57,4 @@ InputRadioButtonComponent.propDecorators = {
49
57
  checked: [{ type: HostBinding, args: ['class.checked',] }, { type: Input }],
50
58
  showClass: [{ type: HostBinding, args: ["class.co-radio-button",] }]
51
59
  };
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1yYWRpby1idXR0b24vaW5wdXQtcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsUUFBUSxFQUNSLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLHVDQUF1QyxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDbkgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFtQjFFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxrQkFBdUI7SUFtQnBFLFlBQ1MsYUFBNEIsRUFDbkMsY0FBaUMsRUFDakMsc0JBQStELEVBQy9ELGFBQW1DO1FBQ25DLEtBQUssQ0FBQyxjQUFjLEVBQUUsc0JBQXNCLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFKdEQsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFLckMsQ0FBQztJQVZNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFVTSxpQkFBaUIsQ0FBQyxNQUFXO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7O1lBL0NGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxRQUFRLEVBQUU7Ozs7Ozs7O0dBUVQ7Z0JBQ0QsU0FBUyxFQUFFLENBQUM7d0JBQ1YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7cUJBQzVGLENBQUM7Z0JBQ0YsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFyQk8sYUFBYSx1QkF5Q04sUUFBUTtZQWxEckIsaUJBQWlCO1lBVVgsdUNBQXVDO1lBQ3ZDLG9CQUFvQjs7O29CQXFCekIsS0FBSztvQkFHTCxLQUFLO21CQUdMLEtBQUs7c0JBR0wsV0FBVyxTQUFDLGVBQWUsY0FDM0IsS0FBSzt3QkFHTCxXQUFXLFNBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgZm9yd2FyZFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBPcHRpb25hbCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QmFzZUlucHV0Q29tcG9uZW50fSBmcm9tIFwiLi4vYmFzZS9iYXNlLWlucHV0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0Zvcm1Db21wb25lbnR9IGZyb20gXCIuLi9mb3JtL2Zvcm0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Rm9ybUlucHV0VXNlck1vZGVsQ2hhbmdlTGlzdGVuZXJTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vY29yZS9zZXJ2aWNlL2Zvcm0taW5wdXQtdXNlci1jaGFuZ2UtbGlzdGVuZXIuc2VydmljZVwiO1xyXG5pbXBvcnQge05nWm9uZVdyYXBwZXJTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vY29yZS9zZXJ2aWNlL25nLXpvbmUtd3JhcHBlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Q09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FfSBmcm9tIFwiLi4vYmFzZS9jb21wb25lbnQtaW50ZXJmYWNlLW5hbWVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWlucHV0LXJhZGlvLWJ1dHRvblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZWpzLXJhZGlvYnV0dG9uXHJcbiAgICAgIFtsYWJlbF09XCJsYWJlbFwiXHJcbiAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcclxuICAgICAgKGNoYW5nZSk9XCJoYW5kbGVNb2RlbENoYW5nZSgkZXZlbnQpXCJcclxuICAgID48L2Vqcy1yYWRpb2J1dHRvbj5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IENPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRSwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRSYWRpb0J1dHRvbkNvbXBvbmVudClcclxuICB9XSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFJhZGlvQnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0Q29tcG9uZW50PGFueT4ge1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHZhbHVlOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG5hbWU6IHN0cmluZztcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jaGVja2VkJylcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjaGVja2VkOiBib29sZWFuO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1yYWRpby1idXR0b25cIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKVxyXG4gICAgcHVibGljIGZvcm1Db21wb25lbnQ6IEZvcm1Db21wb25lbnQsXHJcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBmb3JtVXNlckNoYW5nZUxpc3RlbmVyOiBGb3JtSW5wdXRVc2VyTW9kZWxDaGFuZ2VMaXN0ZW5lclNlcnZpY2UsXHJcbiAgICBuZ1pvbmVXcmFwcGVyOiBOZ1pvbmVXcmFwcGVyU2VydmljZSkge1xyXG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3IsIGZvcm1Vc2VyQ2hhbmdlTGlzdGVuZXIsIG5nWm9uZVdyYXBwZXIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZU1vZGVsQ2hhbmdlKGNoYW5nZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm1vZGVsID0gY2hhbmdlLnZhbHVlO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5uZXh0KHRoaXMubW9kZWwpO1xyXG4gIH1cclxufVxyXG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1yYWRpby1idXR0b24vaW5wdXQtcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQUUsd0JBQXdCLEVBQUUsVUFBVSxFQUMvQyxVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFDTCxRQUFRLEVBQ1IsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsdUNBQXVDLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUNuSCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQW9CMUUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGtCQUF1QjtJQW1CcEUsWUFDcUIsYUFBNEIsRUFDckMsY0FBaUMsRUFDakMsd0JBQWtELEVBQ2xELHNCQUFnRSxFQUNoRSxhQUFvQyxFQUN2QyxVQUF1QjtRQUU5QixLQUFLLENBQUMsY0FBYyxFQUFFLHdCQUF3QixFQUFFLHNCQUFzQixFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQVBoRixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNyQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQTBDO1FBQ2hFLGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtRQUN2QyxlQUFVLEdBQVYsVUFBVSxDQUFhO1FBRzlCLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBZE0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQWNNLGlCQUFpQixDQUFDLE1BQVc7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDOzs7WUFuREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLFFBQVEsRUFBRTs7Ozs7Ozs7R0FRVDtnQkFDRCxTQUFTLEVBQUUsQ0FBQzt3QkFDVixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztxQkFDNUYsQ0FBQztnQkFDRixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXRCTyxhQUFhLHVCQTJDaEIsUUFBUTtZQXBEWCxpQkFBaUI7WUFDTix3QkFBd0I7WUFTN0IsdUNBQXVDO1lBQ3ZDLG9CQUFvQjtZQVZXLFVBQVU7OztvQkFnQzlDLEtBQUs7b0JBR0wsS0FBSzttQkFHTCxLQUFLO3NCQUdMLFdBQVcsU0FBQyxlQUFlLGNBQzNCLEtBQUs7d0JBR0wsV0FBVyxTQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEVsZW1lbnRSZWYsXHJcbiAgZm9yd2FyZFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBPcHRpb25hbCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QmFzZUlucHV0Q29tcG9uZW50fSBmcm9tIFwiLi4vYmFzZS9iYXNlLWlucHV0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0Zvcm1Db21wb25lbnR9IGZyb20gXCIuLi9mb3JtL2Zvcm0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Rm9ybUlucHV0VXNlck1vZGVsQ2hhbmdlTGlzdGVuZXJTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vY29yZS9zZXJ2aWNlL2Zvcm0taW5wdXQtdXNlci1jaGFuZ2UtbGlzdGVuZXIuc2VydmljZVwiO1xyXG5pbXBvcnQge05nWm9uZVdyYXBwZXJTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vY29yZS9zZXJ2aWNlL25nLXpvbmUtd3JhcHBlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Q09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FfSBmcm9tIFwiLi4vYmFzZS9jb21wb25lbnQtaW50ZXJmYWNlLW5hbWVcIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vaWNvbi9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWlucHV0LXJhZGlvLWJ1dHRvblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZWpzLXJhZGlvYnV0dG9uXHJcbiAgICAgIFtsYWJlbF09XCJsYWJlbFwiXHJcbiAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcclxuICAgICAgKGNoYW5nZSk9XCJoYW5kbGVNb2RlbENoYW5nZSgkZXZlbnQpXCJcclxuICAgID48L2Vqcy1yYWRpb2J1dHRvbj5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IENPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRSwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRSYWRpb0J1dHRvbkNvbXBvbmVudClcclxuICB9XSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFJhZGlvQnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0Q29tcG9uZW50PGFueT4ge1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHZhbHVlOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG5hbWU6IHN0cmluZztcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jaGVja2VkJylcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjaGVja2VkOiBib29sZWFuO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1yYWRpby1idXR0b25cIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBmb3JtQ29tcG9uZW50OiBGb3JtQ29tcG9uZW50LFxyXG4gICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByb3RlY3RlZCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHByb3RlY3RlZCBmb3JtVXNlckNoYW5nZUxpc3RlbmVyPzogRm9ybUlucHV0VXNlck1vZGVsQ2hhbmdlTGlzdGVuZXJTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIG5nWm9uZVdyYXBwZXI/OiBOZ1pvbmVXcmFwcGVyU2VydmljZSxcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmPzogRWxlbWVudFJlZixcclxuICApIHtcclxuICAgIHN1cGVyKGNoYW5nZURldGVjdG9yLCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIGZvcm1Vc2VyQ2hhbmdlTGlzdGVuZXIsIG5nWm9uZVdyYXBwZXIsIGVsZW1lbnRSZWYpO1xyXG4gICAgc3VwZXIuX21hcmtBc09uUHVzaCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZU1vZGVsQ2hhbmdlKGNoYW5nZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm1vZGVsID0gY2hhbmdlLnZhbHVlO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5uZXh0KHRoaXMubW9kZWwpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,126 +1,67 @@
1
- import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, forwardRef, HostBinding, Input, Optional, Output, ViewChild, ViewEncapsulation } from "@angular/core";
1
+ import { ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, forwardRef, HostBinding, Input, Optional, ViewEncapsulation } from "@angular/core";
3
2
  import { BaseInputComponent } from "../base/base-input.component";
4
3
  import { COMPONENT_INTERFACE_NAME } from "../base/component-interface-name";
5
- import { InputBoolean } from "../../core/decorator/input-boolean.decorator";
6
4
  import { CoreComponentsIcon } from "../../core/enum/core-components-icon.enum";
7
- import { InputTextType } from "../../core/enum/input-text-type.enum";
8
5
  import { FormInputUserModelChangeListenerService } from "../../core/service/form-input-user-change-listener.service";
9
6
  import { NgZoneWrapperService } from "../../core/service/ng-zone-wrapper.service";
10
- import { TextBoxComponent } from "@syncfusion/ej2-angular-inputs";
11
7
  import { FormComponent } from "../form/form.component";
12
- import { FloatLabelTypeEnum } from "../../core/enum/float-label-type.enum";
13
8
  export class InputTextComponent extends BaseInputComponent {
14
- constructor(formComponent, changeDetector, formUserChangeListener, ngZoneWrapper, elementRef) {
15
- super(changeDetector, formUserChangeListener, ngZoneWrapper, elementRef);
9
+ constructor(formComponent, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) {
10
+ super(changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef);
16
11
  this.formComponent = formComponent;
17
12
  this.changeDetector = changeDetector;
13
+ this.componentFactoryResolver = componentFactoryResolver;
18
14
  this.formUserChangeListener = formUserChangeListener;
19
15
  this.ngZoneWrapper = ngZoneWrapper;
20
16
  this.elementRef = elementRef;
21
- this.floatLabelType = FloatLabelTypeEnum.Auto;
17
+ this.Icons = CoreComponentsIcon;
22
18
  this.placeholder = "";
23
19
  this.type = "text";
24
20
  this.showClearButton = undefined;
25
- this.alwaysShowClearIcon = false;
26
- this.alwaysShowClearIconOnFocus = false;
27
- this.noEmailValidation = false;
28
- this.extraIconOnFocusOnly = false;
29
- this.inputType = InputTextType.Text;
30
- this.blur = new EventEmitter();
31
- this.inputClick = new EventEmitter();
32
- this.extraIconClick = new EventEmitter();
33
- this.clearIconClick = new EventEmitter();
34
- this.validEmailClick = false;
35
- this.Icons = CoreComponentsIcon;
21
+ this.hasOwnLabel = true;
36
22
  super._markAsOnPush();
37
23
  }
38
24
  showClass() {
39
25
  return true;
40
26
  }
41
- ngOnDestroy() {
42
- this.elementRef = undefined;
43
- super.ngOnDestroy();
44
- }
45
- ngOnInit() {
46
- super.ngOnInit();
47
- }
48
- ngAfterViewInit() {
49
- if (this.textBox) {
50
- this.changeDetector.detectChanges();
51
- }
52
- super.ngAfterViewInit();
53
- }
54
- setSelectionRange(range) {
55
- if (range && this.input) {
56
- this.input.setSelectionRange(range.lowerBound, range.upperBound);
57
- }
58
- }
59
27
  }
60
28
  InputTextComponent.decorators = [
61
29
  { type: Component, args: [{
62
- selector: "co-input-text, co-input-email, co-input-wizard",
30
+ selector: "co-input-text",
63
31
  template: `
64
- <ejs-textbox [floatLabelType]="floatLabelType"
65
- [placeholder]="placeholder"
66
- [type]="type"
67
- [readonly]="readonly"
68
- [ngModel]="model"
69
- [cssClass]="cssClass"
70
- (ngModelChange)="modelChange.emit($event)"
71
- [showClearButton]="showClearButton"
72
- (blur)="this.blur.emit()"
73
- (input)="this.inputClick.emit()"
74
- ></ejs-textbox>
75
- <ng-content></ng-content>
32
+ <label [textContent]="placeholder"></label>
33
+ <input [type]="type"
34
+ [ngModel]="model"
35
+ [readonly]="readonly"
36
+ [required]="required"
37
+ (ngModelChange)="modelChange.emit($event)"
38
+ (focus)="focused = true"
39
+ (blur)="focused = false"
40
+ >
41
+ <div class="required-indicator"></div>
42
+ <ng-template #validationError></ng-template>
76
43
  `,
77
44
  providers: [{
78
45
  provide: COMPONENT_INTERFACE_NAME,
79
46
  useExisting: forwardRef(() => InputTextComponent)
80
47
  }],
81
- changeDetection: ChangeDetectionStrategy.OnPush,
82
48
  encapsulation: ViewEncapsulation.None
83
49
  },] }
84
50
  ];
85
51
  InputTextComponent.ctorParameters = () => [
86
52
  { type: FormComponent, decorators: [{ type: Optional }] },
87
53
  { type: ChangeDetectorRef },
54
+ { type: ComponentFactoryResolver },
88
55
  { type: FormInputUserModelChangeListenerService },
89
56
  { type: NgZoneWrapperService },
90
57
  { type: ElementRef }
91
58
  ];
92
59
  InputTextComponent.propDecorators = {
93
- textBox: [{ type: ViewChild, args: [TextBoxComponent,] }],
94
- floatLabelType: [{ type: Input }],
95
60
  placeholder: [{ type: Input }],
96
61
  type: [{ type: Input }],
97
62
  showClearButton: [{ type: Input }],
98
- cssClass: [{ type: Input }],
99
- alwaysShowClearIcon: [{ type: Input }],
100
- alwaysShowClearIconOnFocus: [{ type: Input }],
101
- noEmailValidation: [{ type: Input }],
102
- extraIcon: [{ type: Input }],
103
- extraIconOnFocusOnly: [{ type: Input }],
104
63
  keyDownWhiteList: [{ type: Input }],
105
- extraIconClass: [{ type: Input }],
106
- inputType: [{ type: Input }],
107
- ngModelOptions: [{ type: Input }],
108
- blur: [{ type: Output }],
109
- inputClick: [{ type: Output }],
110
- extraIconClick: [{ type: Output }],
111
- clearIconClick: [{ type: Output }],
112
- showClass: [{ type: HostBinding, args: ["class.co-input-text",] }]
64
+ showClass: [{ type: HostBinding, args: ["class.co-input-text",] }],
65
+ hasOwnLabel: [{ type: HostBinding, args: ["class.has-own-label",] }]
113
66
  };
114
- __decorate([
115
- InputBoolean()
116
- ], InputTextComponent.prototype, "alwaysShowClearIcon", void 0);
117
- __decorate([
118
- InputBoolean()
119
- ], InputTextComponent.prototype, "alwaysShowClearIconOnFocus", void 0);
120
- __decorate([
121
- InputBoolean()
122
- ], InputTextComponent.prototype, "noEmailValidation", void 0);
123
- __decorate([
124
- InputBoolean()
125
- ], InputTextComponent.prototype, "extraIconOnFocusOnly", void 0);
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUU3RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHVDQUF1QyxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDbkgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFFaEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBeUJ6RSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsa0JBQXVCO0lBeUU3RCxZQUVTLGFBQTRCLEVBQ3pCLGNBQWlDLEVBQ2pDLHNCQUFnRSxFQUNoRSxhQUFvQyxFQUN2QyxVQUF1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OytEQUNvQjtBQUc1QztJQURVLFlBQVksRUFBRTtzRUFDMkI7QUFHbkQ7SUFEVSxZQUFZLEVBQUU7NkRBQ2tCO0FBTzFDO0lBRFUsWUFBWSxFQUFFO2dFQUNxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0Jhc2VJbnB1dENvbXBvbmVudH0gZnJvbSBcIi4uL2Jhc2UvYmFzZS1pbnB1dC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtDT01QT05FTlRfSU5URVJGQUNFX05BTUV9IGZyb20gXCIuLi9iYXNlL2NvbXBvbmVudC1pbnRlcmZhY2UtbmFtZVwiO1xyXG5pbXBvcnQge0lucHV0Qm9vbGVhbn0gZnJvbSBcIi4uLy4uL2NvcmUvZGVjb3JhdG9yL2lucHV0LWJvb2xlYW4uZGVjb3JhdG9yXCI7XHJcbmltcG9ydCB7Q29yZUNvbXBvbmVudHNJY29ufSBmcm9tIFwiLi4vLi4vY29yZS9lbnVtL2NvcmUtY29tcG9uZW50cy1pY29uLmVudW1cIjtcclxuaW1wb3J0IHtLZXlib2FyZENvZGV9IGZyb20gXCIuLi8uLi9jb3JlL2VudW0va2V5Ym9hcmQtY29kZS5lbnVtXCI7XHJcbmltcG9ydCB7SW5wdXRUZXh0VHlwZX0gZnJvbSBcIi4uLy4uL2NvcmUvZW51bS9pbnB1dC10ZXh0LXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge0Zvcm1JbnB1dFVzZXJNb2RlbENoYW5nZUxpc3RlbmVyU2VydmljZX0gZnJvbSBcIi4uLy4uL2NvcmUvc2VydmljZS9mb3JtLWlucHV0LXVzZXItY2hhbmdlLWxpc3RlbmVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtOZ1pvbmVXcmFwcGVyU2VydmljZX0gZnJvbSBcIi4uLy4uL2NvcmUvc2VydmljZS9uZy16b25lLXdyYXBwZXIuc2VydmljZVwiO1xyXG5pbXBvcnQge051bWVyaWNhbFJhbmdlfSBmcm9tIFwiLi4vLi4vY29yZS9tb2RlbC9udW1lcmljYWwtcmFuZ2VcIjtcclxuaW1wb3J0IHtUZXh0Qm94Q29tcG9uZW50fSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItaW5wdXRzXCI7XHJcbmltcG9ydCB7Rm9ybUNvbXBvbmVudH0gZnJvbSBcIi4uL2Zvcm0vZm9ybS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtGbG9hdExhYmVsVHlwZUVudW19IGZyb20gXCIuLi8uLi9jb3JlL2VudW0vZmxvYXQtbGFiZWwtdHlwZS5lbnVtXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1pbnB1dC10ZXh0LCBjby1pbnB1dC1lbWFpbCwgY28taW5wdXQtd2l6YXJkXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxlanMtdGV4dGJveCBbZmxvYXRMYWJlbFR5cGVdPVwiZmxvYXRMYWJlbFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJtb2RlbFwiXHJcbiAgICAgICAgICAgICAgICAgW2Nzc0NsYXNzXT1cImNzc0NsYXNzXCJcclxuICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJtb2RlbENoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgIFtzaG93Q2xlYXJCdXR0b25dPVwic2hvd0NsZWFyQnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAoYmx1cik9XCJ0aGlzLmJsdXIuZW1pdCgpXCJcclxuICAgICAgICAgICAgICAgICAoaW5wdXQpPVwidGhpcy5pbnB1dENsaWNrLmVtaXQoKVwiXHJcbiAgICA+PC9lanMtdGV4dGJveD5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IENPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRSxcclxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0VGV4dENvbXBvbmVudClcclxuICB9XSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFRleHRDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQ8YW55PiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICAvLyBub3RlOiBhc3NpZ25pbmcgZW1wdHkgc3RyaW5nICcnIHRvIHRoaXMgdmFsdWUgd2lsbCBub3QgdmlzdWFsbHkgcmVmbGVjdCBpbiBhbiBlbXB0eS9jbGVhciBuYXRpdmUgaW5uZXIgPGlucHV0PiB0ZXh0IGNvbnRlbnRcclxuICBAVmlld0NoaWxkKFRleHRCb3hDb21wb25lbnQpXHJcbiAgcHVibGljIHRleHRCb3g6IFRleHRCb3hDb21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZsb2F0TGFiZWxUeXBlOiBGbG9hdExhYmVsVHlwZUVudW0gPSBGbG9hdExhYmVsVHlwZUVudW0uQXV0bztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHR5cGU6IHN0cmluZyA9IFwidGV4dFwiO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93Q2xlYXJCdXR0b246IGJvb2xlYW4gPSB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNzc0NsYXNzOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKVxyXG4gIHB1YmxpYyBhbHdheXNTaG93Q2xlYXJJY29uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKVxyXG4gIHB1YmxpYyBhbHdheXNTaG93Q2xlYXJJY29uT25Gb2N1czogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKClcclxuICBwdWJsaWMgbm9FbWFpbFZhbGlkYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLy8gRXh0cmEgaWNvbiwgZm9yIGV4YW1wbGUgdG8gcHV0IHJpZ2h0IG9mIHRoZSBpbnB1dCB0ZXh0IGJhci5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBleHRyYUljb246IENvcmVDb21wb25lbnRzSWNvbjtcclxuXHJcbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpXHJcbiAgcHVibGljIGV4dHJhSWNvbk9uRm9jdXNPbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGtleURvd25XaGl0ZUxpc3Q6IEtleWJvYXJkQ29kZVtdO1xyXG5cclxuICAvLyBlLmcuICdsaWdodCcgb3IgJ2RhcmsnIGNzcyBjbGFzc1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGV4dHJhSWNvbkNsYXNzOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlucHV0VHlwZTogSW5wdXRUZXh0VHlwZSA9IElucHV0VGV4dFR5cGUuVGV4dDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbmdNb2RlbE9wdGlvbnM6IGFueTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IGJsdXI6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgaW5wdXRDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgZXh0cmFJY29uQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IGNsZWFySWNvbkNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWlucHV0LXRleHRcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdmFsaWRFbWFpbENsaWNrOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBJY29uczogdHlwZW9mIENvcmVDb21wb25lbnRzSWNvbiA9IENvcmVDb21wb25lbnRzSWNvbjtcclxuXHJcbiAgcHJpdmF0ZSBfcGF0dGVybjogYW55O1xyXG4gIHByaXZhdGUgX3JlZ2V4OiBSZWdFeHA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKClcclxuICAgIHB1YmxpYyBmb3JtQ29tcG9uZW50OiBGb3JtQ29tcG9uZW50LFxyXG4gICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByb3RlY3RlZCBmb3JtVXNlckNoYW5nZUxpc3RlbmVyPzogRm9ybUlucHV0VXNlck1vZGVsQ2hhbmdlTGlzdGVuZXJTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIG5nWm9uZVdyYXBwZXI/OiBOZ1pvbmVXcmFwcGVyU2VydmljZSxcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmPzogRWxlbWVudFJlZlxyXG4gICkge1xyXG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3IsIGZvcm1Vc2VyQ2hhbmdlTGlzdGVuZXIsIG5nWm9uZVdyYXBwZXIsIGVsZW1lbnRSZWYpO1xyXG4gICAgc3VwZXIuX21hcmtBc09uUHVzaCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmVsZW1lbnRSZWYgPSB1bmRlZmluZWQ7XHJcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudGV4dEJveCkge1xyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFNlbGVjdGlvblJhbmdlKHJhbmdlOiBOdW1lcmljYWxSYW5nZSk6IHZvaWQge1xyXG4gICAgaWYgKHJhbmdlICYmIHRoaXMuaW5wdXQpIHtcclxuICAgICAgdGhpcy5pbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShyYW5nZS5sb3dlckJvdW5kLCByYW5nZS51cHBlckJvdW5kKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUNMLFFBQVEsRUFDUixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDMUUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFFN0UsT0FBTyxFQUFDLHVDQUF1QyxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDbkgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBdUJyRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsa0JBQXVCO0lBdUI3RCxZQUNxQixhQUE0QixFQUNyQyxjQUFpQyxFQUNqQyx3QkFBa0QsRUFDbEQsc0JBQWdFLEVBQ2hFLGFBQW9DLEVBQ3ZDLFVBQXVCO1FBRTlCLEtBQUssQ0FBQyxjQUFjLEVBQUUsd0JBQXdCLEVBQUUsc0JBQXNCLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBUGhGLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ3JDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBMEM7UUFDaEUsa0JBQWEsR0FBYixhQUFhLENBQXVCO1FBQ3ZDLGVBQVUsR0FBVixVQUFVLENBQWE7UUE1QmhCLFVBQUssR0FBOEIsa0JBQWtCLENBQUM7UUFHL0QsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFHekIsU0FBSSxHQUFXLE1BQU0sQ0FBQztRQUd0QixvQkFBZSxHQUFZLFNBQVMsQ0FBQztRQVdyQyxnQkFBVyxHQUFZLElBQUksQ0FBQztRQVdqQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQWpCTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs7WUF2Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7OztHQVlUO2dCQUNELFNBQVMsRUFBRSxDQUFDO3dCQUNWLE9BQU8sRUFBRSx3QkFBd0I7d0JBQ2pDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7cUJBQ2xELENBQUM7Z0JBQ0YsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXRCTyxhQUFhLHVCQStDaEIsUUFBUTtZQS9EWCxpQkFBaUI7WUFFakIsd0JBQXdCO1lBWWxCLHVDQUF1QztZQUN2QyxvQkFBb0I7WUFaMUIsVUFBVTs7OzBCQXVDVCxLQUFLO21CQUdMLEtBQUs7OEJBR0wsS0FBSzsrQkFHTCxLQUFLO3dCQUdMLFdBQVcsU0FBQyxxQkFBcUI7MEJBS2pDLFdBQVcsU0FBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBFbGVtZW50UmVmLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0Jhc2VJbnB1dENvbXBvbmVudH0gZnJvbSBcIi4uL2Jhc2UvYmFzZS1pbnB1dC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtDT01QT05FTlRfSU5URVJGQUNFX05BTUV9IGZyb20gXCIuLi9iYXNlL2NvbXBvbmVudC1pbnRlcmZhY2UtbmFtZVwiO1xyXG5pbXBvcnQge0NvcmVDb21wb25lbnRzSWNvbn0gZnJvbSBcIi4uLy4uL2NvcmUvZW51bS9jb3JlLWNvbXBvbmVudHMtaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7S2V5Ym9hcmRDb2RlfSBmcm9tIFwiLi4vLi4vY29yZS9lbnVtL2tleWJvYXJkLWNvZGUuZW51bVwiO1xyXG5pbXBvcnQge0Zvcm1JbnB1dFVzZXJNb2RlbENoYW5nZUxpc3RlbmVyU2VydmljZX0gZnJvbSBcIi4uLy4uL2NvcmUvc2VydmljZS9mb3JtLWlucHV0LXVzZXItY2hhbmdlLWxpc3RlbmVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtOZ1pvbmVXcmFwcGVyU2VydmljZX0gZnJvbSBcIi4uLy4uL2NvcmUvc2VydmljZS9uZy16b25lLXdyYXBwZXIuc2VydmljZVwiO1xyXG5pbXBvcnQge0Zvcm1Db21wb25lbnR9IGZyb20gXCIuLi9mb3JtL2Zvcm0uY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1pbnB1dC10ZXh0XCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwicGxhY2Vob2xkZXJcIj48L2xhYmVsPlxyXG4gICAgPGlucHV0IFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgICAgIFtuZ01vZGVsXT1cIm1vZGVsXCJcclxuICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwibW9kZWxDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAoZm9jdXMpPVwiZm9jdXNlZCA9IHRydWVcIlxyXG4gICAgICAgICAgIChibHVyKT1cImZvY3VzZWQgPSBmYWxzZVwiXHJcbiAgICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwicmVxdWlyZWQtaW5kaWNhdG9yXCI+PC9kaXY+XHJcbiAgICA8bmctdGVtcGxhdGUgI3ZhbGlkYXRpb25FcnJvcj48L25nLXRlbXBsYXRlPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRUZXh0Q29tcG9uZW50KVxyXG4gIH1dLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0VGV4dENvbXBvbmVudCBleHRlbmRzIEJhc2VJbnB1dENvbXBvbmVudDxhbnk+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IEljb25zOiB0eXBlb2YgQ29yZUNvbXBvbmVudHNJY29uID0gQ29yZUNvbXBvbmVudHNJY29uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHlwZTogc3RyaW5nID0gXCJ0ZXh0XCI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dDbGVhckJ1dHRvbjogYm9vbGVhbiA9IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMga2V5RG93bldoaXRlTGlzdDogS2V5Ym9hcmRDb2RlW107XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWlucHV0LXRleHRcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5oYXMtb3duLWxhYmVsXCIpXHJcbiAgcHVibGljIGhhc093bkxhYmVsOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgZm9ybUNvbXBvbmVudDogRm9ybUNvbXBvbmVudCxcclxuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcm90ZWN0ZWQgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwcm90ZWN0ZWQgZm9ybVVzZXJDaGFuZ2VMaXN0ZW5lcj86IEZvcm1JbnB1dFVzZXJNb2RlbENoYW5nZUxpc3RlbmVyU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBuZ1pvbmVXcmFwcGVyPzogTmdab25lV3JhcHBlclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZj86IEVsZW1lbnRSZWYsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihjaGFuZ2VEZXRlY3RvciwgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBmb3JtVXNlckNoYW5nZUxpc3RlbmVyLCBuZ1pvbmVXcmFwcGVyLCBlbGVtZW50UmVmKTtcclxuICAgIHN1cGVyLl9tYXJrQXNPblB1c2goKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,11 +1,12 @@
1
- import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule } from '@angular/forms';
4
- import { InputTextComponent } from './input-text.component';
5
- import { IconModule } from '../icon/icon.module';
6
- import { BaseModule } from '../base/base.module';
7
- import { AppendPipeModule } from '../../pipes/append.pipe.module';
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { FormsModule } from "@angular/forms";
4
+ import { InputTextComponent } from "./input-text.component";
5
+ import { IconModule } from "../icon/icon.module";
6
+ import { BaseModule } from "../base/base.module";
7
+ import { AppendPipeModule } from "../../pipes/append.pipe.module";
8
8
  import { NumericTextBoxModule, TextBoxAllModule } from "@syncfusion/ej2-angular-inputs";
9
+ import { ValidationErrorModule } from "../validation-error/validation-error.module";
9
10
  export class InputTextModule {
10
11
  }
11
12
  InputTextModule.decorators = [
@@ -17,13 +18,15 @@ InputTextModule.decorators = [
17
18
  IconModule,
18
19
  AppendPipeModule,
19
20
  TextBoxAllModule,
20
- NumericTextBoxModule
21
+ NumericTextBoxModule,
22
+ ValidationErrorModule
21
23
  ],
22
- schemas: [
23
- NO_ERRORS_SCHEMA
24
+ declarations: [
25
+ InputTextComponent
24
26
  ],
25
- declarations: [InputTextComponent],
26
- exports: [InputTextComponent]
27
+ exports: [
28
+ InputTextComponent
29
+ ]
27
30
  },] }
28
31
  ];
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtdGV4dC9pbnB1dC10ZXh0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQWtCdEYsTUFBTSxPQUFPLGVBQWU7OztZQWhCM0IsUUFBUSxTQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxVQUFVO29CQUNWLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxVQUFVO29CQUNWLGdCQUFnQjtvQkFDaEIsZ0JBQWdCO29CQUNoQixvQkFBb0I7aUJBQ3ZCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxnQkFBZ0I7aUJBQ25CO2dCQUNELFlBQVksRUFBRSxDQUFDLGtCQUFrQixDQUFDO2dCQUNsQyxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzthQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGUsIE5PX0VSUk9SU19TQ0hFTUF9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSW5wdXRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC10ZXh0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kdWxlJztcclxuaW1wb3J0IHsgQmFzZU1vZHVsZSB9IGZyb20gJy4uL2Jhc2UvYmFzZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBcHBlbmRQaXBlTW9kdWxlIH0gZnJvbSAnLi4vLi4vcGlwZXMvYXBwZW5kLnBpcGUubW9kdWxlJztcclxuaW1wb3J0IHtOdW1lcmljVGV4dEJveE1vZHVsZSwgVGV4dEJveEFsbE1vZHVsZX0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWlucHV0c1wiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBCYXNlTW9kdWxlLFxyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICBJY29uTW9kdWxlLFxyXG4gICAgICAgIEFwcGVuZFBpcGVNb2R1bGUsXHJcbiAgICAgICAgVGV4dEJveEFsbE1vZHVsZSxcclxuICAgICAgICBOdW1lcmljVGV4dEJveE1vZHVsZVxyXG4gICAgXSxcclxuICAgIHNjaGVtYXM6IFtcclxuICAgICAgICBOT19FUlJPUlNfU0NIRU1BXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbSW5wdXRUZXh0Q29tcG9uZW50XSxcclxuICAgIGV4cG9ydHM6IFtJbnB1dFRleHRDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFRleHRNb2R1bGUge1xyXG59XHJcbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtdGV4dC9pbnB1dC10ZXh0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFvQmxGLE1BQU0sT0FBTyxlQUFlOzs7WUFsQjNCLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsVUFBVTtvQkFDVixZQUFZO29CQUNaLFdBQVc7b0JBQ1gsVUFBVTtvQkFDVixnQkFBZ0I7b0JBQ2hCLGdCQUFnQjtvQkFDaEIsb0JBQW9CO29CQUNwQixxQkFBcUI7aUJBQ3RCO2dCQUNELFlBQVksRUFBRTtvQkFDWixrQkFBa0I7aUJBQ25CO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxrQkFBa0I7aUJBQ25CO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlLCBOT19FUlJPUlNfU0NIRU1BfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtJbnB1dFRleHRDb21wb25lbnR9IGZyb20gXCIuL2lucHV0LXRleHQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7SWNvbk1vZHVsZX0gZnJvbSBcIi4uL2ljb24vaWNvbi5tb2R1bGVcIjtcclxuaW1wb3J0IHtCYXNlTW9kdWxlfSBmcm9tIFwiLi4vYmFzZS9iYXNlLm1vZHVsZVwiO1xyXG5pbXBvcnQge0FwcGVuZFBpcGVNb2R1bGV9IGZyb20gXCIuLi8uLi9waXBlcy9hcHBlbmQucGlwZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtOdW1lcmljVGV4dEJveE1vZHVsZSwgVGV4dEJveEFsbE1vZHVsZX0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWlucHV0c1wiO1xyXG5pbXBvcnQge1ZhbGlkYXRpb25FcnJvck1vZHVsZX0gZnJvbSBcIi4uL3ZhbGlkYXRpb24tZXJyb3IvdmFsaWRhdGlvbi1lcnJvci5tb2R1bGVcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQmFzZU1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgSWNvbk1vZHVsZSxcclxuICAgIEFwcGVuZFBpcGVNb2R1bGUsXHJcbiAgICBUZXh0Qm94QWxsTW9kdWxlLFxyXG4gICAgTnVtZXJpY1RleHRCb3hNb2R1bGUsXHJcbiAgICBWYWxpZGF0aW9uRXJyb3JNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgSW5wdXRUZXh0Q29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBJbnB1dFRleHRDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFRleHRNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,62 @@
1
+ import { ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, forwardRef, HostBinding, Input, Optional, ViewEncapsulation } from "@angular/core";
2
+ import { BaseInputComponent } from "../base/base-input.component";
3
+ import { COMPONENT_INTERFACE_NAME } from "../base/component-interface-name";
4
+ import { FormInputUserModelChangeListenerService } from "../../core/service/form-input-user-change-listener.service";
5
+ import { NgZoneWrapperService } from "../../core/service/ng-zone-wrapper.service";
6
+ import { FormComponent } from "../form/form.component";
7
+ export class InputTextareaComponent extends BaseInputComponent {
8
+ constructor(formComponent, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) {
9
+ super(changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef);
10
+ this.formComponent = formComponent;
11
+ this.changeDetector = changeDetector;
12
+ this.componentFactoryResolver = componentFactoryResolver;
13
+ this.formUserChangeListener = formUserChangeListener;
14
+ this.ngZoneWrapper = ngZoneWrapper;
15
+ this.elementRef = elementRef;
16
+ this.placeholder = "";
17
+ this.hasOwnLabel = true;
18
+ this.customHeight = true;
19
+ super._markAsOnPush();
20
+ }
21
+ showClass() {
22
+ return true;
23
+ }
24
+ }
25
+ InputTextareaComponent.decorators = [
26
+ { type: Component, args: [{
27
+ selector: "co-input-textarea",
28
+ template: `
29
+ <label [textContent]="placeholder"></label>
30
+ <textarea type="textarea"
31
+ [ngModel]="model"
32
+ [readonly]="readonly"
33
+ [required]="required"
34
+ (ngModelChange)="modelChange.emit($event)"
35
+ (focus)="focused = true"
36
+ (blur)="focused = false"
37
+ ></textarea>
38
+ <div class="required-indicator"></div>
39
+ <ng-template #validationError></ng-template>
40
+ `,
41
+ providers: [{
42
+ provide: COMPONENT_INTERFACE_NAME,
43
+ useExisting: forwardRef(() => InputTextareaComponent)
44
+ }],
45
+ encapsulation: ViewEncapsulation.None
46
+ },] }
47
+ ];
48
+ InputTextareaComponent.ctorParameters = () => [
49
+ { type: FormComponent, decorators: [{ type: Optional }] },
50
+ { type: ChangeDetectorRef },
51
+ { type: ComponentFactoryResolver },
52
+ { type: FormInputUserModelChangeListenerService },
53
+ { type: NgZoneWrapperService },
54
+ { type: ElementRef }
55
+ ];
56
+ InputTextareaComponent.propDecorators = {
57
+ placeholder: [{ type: Input }],
58
+ showClass: [{ type: HostBinding, args: ["class.co-input-textarea",] }],
59
+ hasOwnLabel: [{ type: HostBinding, args: ["class.has-own-label",] }],
60
+ customHeight: [{ type: HostBinding, args: ['class.custom-height',] }]
61
+ };
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0LXRleHRhcmVhL2lucHV0LXRleHRhcmVhLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUNMLFFBQVEsRUFDUixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDMUUsT0FBTyxFQUFDLHVDQUF1QyxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDbkgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBdUJyRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsa0JBQXVCO0lBZWpFLFlBQ3FCLGFBQTRCLEVBQ3JDLGNBQWlDLEVBQ2pDLHdCQUFrRCxFQUNsRCxzQkFBZ0UsRUFDaEUsYUFBb0MsRUFDdkMsVUFBdUI7UUFFOUIsS0FBSyxDQUFDLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFQaEYsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDckMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUEwQztRQUNoRSxrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7UUFDdkMsZUFBVSxHQUFWLFVBQVUsQ0FBYTtRQW5CekIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFRekIsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFHNUIsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFXbEMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFwQk0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7O1lBNUJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7OztHQVlUO2dCQUNELFNBQVMsRUFBRSxDQUFDO3dCQUNWLE9BQU8sRUFBRSx3QkFBd0I7d0JBQ2pDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7cUJBQ3RELENBQUM7Z0JBQ0YsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXRCTyxhQUFhLHVCQXVDaEIsUUFBUTtZQXJEWCxpQkFBaUI7WUFFakIsd0JBQXdCO1lBVWxCLHVDQUF1QztZQUN2QyxvQkFBb0I7WUFWMUIsVUFBVTs7OzBCQW1DVCxLQUFLO3dCQUdMLFdBQVcsU0FBQyx5QkFBeUI7MEJBS3JDLFdBQVcsU0FBQyxxQkFBcUI7MkJBR2pDLFdBQVcsU0FBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBFbGVtZW50UmVmLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0Jhc2VJbnB1dENvbXBvbmVudH0gZnJvbSBcIi4uL2Jhc2UvYmFzZS1pbnB1dC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtDT01QT05FTlRfSU5URVJGQUNFX05BTUV9IGZyb20gXCIuLi9iYXNlL2NvbXBvbmVudC1pbnRlcmZhY2UtbmFtZVwiO1xyXG5pbXBvcnQge0Zvcm1JbnB1dFVzZXJNb2RlbENoYW5nZUxpc3RlbmVyU2VydmljZX0gZnJvbSBcIi4uLy4uL2NvcmUvc2VydmljZS9mb3JtLWlucHV0LXVzZXItY2hhbmdlLWxpc3RlbmVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtOZ1pvbmVXcmFwcGVyU2VydmljZX0gZnJvbSBcIi4uLy4uL2NvcmUvc2VydmljZS9uZy16b25lLXdyYXBwZXIuc2VydmljZVwiO1xyXG5pbXBvcnQge0Zvcm1Db21wb25lbnR9IGZyb20gXCIuLi9mb3JtL2Zvcm0uY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1pbnB1dC10ZXh0YXJlYVwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cInBsYWNlaG9sZGVyXCI+PC9sYWJlbD5cclxuICAgIDx0ZXh0YXJlYSB0eXBlPVwidGV4dGFyZWFcIlxyXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cIm1vZGVsXCJcclxuICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwibW9kZWxDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAoZm9jdXMpPVwiZm9jdXNlZCA9IHRydWVcIlxyXG4gICAgICAgICAgICAgIChibHVyKT1cImZvY3VzZWQgPSBmYWxzZVwiXHJcbiAgICA+PC90ZXh0YXJlYT5cclxuICAgIDxkaXYgY2xhc3M9XCJyZXF1aXJlZC1pbmRpY2F0b3JcIj48L2Rpdj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjdmFsaWRhdGlvbkVycm9yPjwvbmctdGVtcGxhdGU+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFt7XHJcbiAgICBwcm92aWRlOiBDT01QT05FTlRfSU5URVJGQUNFX05BTUUsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dFRleHRhcmVhQ29tcG9uZW50KVxyXG4gIH1dLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0VGV4dGFyZWFDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQ8YW55PiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1pbnB1dC10ZXh0YXJlYVwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmhhcy1vd24tbGFiZWxcIilcclxuICBwdWJsaWMgaGFzT3duTGFiZWw6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmN1c3RvbS1oZWlnaHQnKVxyXG4gIHB1YmxpYyBjdXN0b21IZWlnaHQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBmb3JtQ29tcG9uZW50OiBGb3JtQ29tcG9uZW50LFxyXG4gICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByb3RlY3RlZCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHByb3RlY3RlZCBmb3JtVXNlckNoYW5nZUxpc3RlbmVyPzogRm9ybUlucHV0VXNlck1vZGVsQ2hhbmdlTGlzdGVuZXJTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIG5nWm9uZVdyYXBwZXI/OiBOZ1pvbmVXcmFwcGVyU2VydmljZSxcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmPzogRWxlbWVudFJlZixcclxuICApIHtcclxuICAgIHN1cGVyKGNoYW5nZURldGVjdG9yLCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIGZvcm1Vc2VyQ2hhbmdlTGlzdGVuZXIsIG5nWm9uZVdyYXBwZXIsIGVsZW1lbnRSZWYpO1xyXG4gICAgc3VwZXIuX21hcmtBc09uUHVzaCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { FormsModule } from "@angular/forms";
4
+ import { ValidationErrorModule } from "../validation-error/validation-error.module";
5
+ import { InputTextareaComponent } from "./input-textarea.component";
6
+ export class InputTextareaModule {
7
+ }
8
+ InputTextareaModule.decorators = [
9
+ { type: NgModule, args: [{
10
+ imports: [
11
+ CommonModule,
12
+ FormsModule,
13
+ ValidationErrorModule
14
+ ],
15
+ declarations: [
16
+ InputTextareaComponent
17
+ ],
18
+ exports: [
19
+ InputTextareaComponent
20
+ ]
21
+ },] }
22
+ ];
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dGFyZWEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0LXRleHRhcmVhL2lucHV0LXRleHRhcmVhLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDbEYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFlbEUsTUFBTSxPQUFPLG1CQUFtQjs7O1lBYi9CLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHNCQUFzQjtpQkFDdkI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHNCQUFzQjtpQkFDdkI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge1ZhbGlkYXRpb25FcnJvck1vZHVsZX0gZnJvbSBcIi4uL3ZhbGlkYXRpb24tZXJyb3IvdmFsaWRhdGlvbi1lcnJvci5tb2R1bGVcIjtcclxuaW1wb3J0IHtJbnB1dFRleHRhcmVhQ29tcG9uZW50fSBmcm9tIFwiLi9pbnB1dC10ZXh0YXJlYS5jb21wb25lbnRcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBWYWxpZGF0aW9uRXJyb3JNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgSW5wdXRUZXh0YXJlYUNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgSW5wdXRUZXh0YXJlYUNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0VGV4dGFyZWFNb2R1bGUge1xyXG59XHJcbiJdfQ==