ecabs-components 1.0.10 → 1.0.12

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 (155) hide show
  1. package/esm2020/lib/base/directives/date-mask.directive.mjs +65 -0
  2. package/{esm2022 → esm2020}/lib/base/directives/date-mask.directive.module.mjs +5 -5
  3. package/esm2020/lib/base/directives/digits-only.directive.mjs +130 -0
  4. package/{esm2022 → esm2020}/lib/base/directives/digits-only.directive.module.mjs +5 -5
  5. package/esm2020/lib/base/directives/number-border.directive.mjs +54 -0
  6. package/{esm2022 → esm2020}/lib/base/directives/number-border.directive.module.mjs +5 -5
  7. package/esm2020/lib/base/element-base.mjs +100 -0
  8. package/esm2020/lib/base/element-wrapper/element-wrapper.component.mjs +53 -0
  9. package/{esm2022 → esm2020}/lib/base/element-wrapper/element-wrapper.module.mjs +21 -21
  10. package/esm2020/lib/base/hint/hint.component.mjs +21 -0
  11. package/{esm2022 → esm2020}/lib/base/hint/hint.module.mjs +5 -5
  12. package/esm2020/lib/base/validation/validation.component.mjs +70 -0
  13. package/{esm2022 → esm2020}/lib/base/validation/validation.module.mjs +5 -5
  14. package/esm2020/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +16 -0
  15. package/{esm2022 → esm2020}/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.mjs +5 -5
  16. package/esm2020/lib/ecabs-buttons/ecabs-buttons.component.mjs +65 -0
  17. package/{esm2022 → esm2020}/lib/ecabs-buttons/ecabs-buttons.module.mjs +5 -5
  18. package/esm2020/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +85 -0
  19. package/{esm2022 → esm2020}/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.mjs +13 -13
  20. package/esm2020/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +17 -0
  21. package/esm2020/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +85 -0
  22. package/{esm2022 → esm2020}/lib/ecabs-date-picker/ecabs-date-picker.module.mjs +19 -19
  23. package/esm2020/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +17 -0
  24. package/esm2020/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +179 -0
  25. package/{esm2022 → esm2020}/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.mjs +27 -27
  26. package/esm2020/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +17 -0
  27. package/esm2020/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +193 -0
  28. package/esm2020/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.mjs +65 -0
  29. package/esm2020/lib/ecabs-date-time-range-picker/time-range.directive.mjs +45 -0
  30. package/esm2020/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +28 -0
  31. package/{esm2022 → esm2020}/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.mjs +5 -5
  32. package/esm2020/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +25 -0
  33. package/{esm2022 → esm2020}/lib/ecabs-dialog-message/ecabs-dialog-message.module.mjs +5 -5
  34. package/{esm2022 → esm2020}/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.mjs +4 -7
  35. package/{esm2022 → esm2020}/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.mjs +5 -5
  36. package/esm2020/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +76 -0
  37. package/{esm2022 → esm2020}/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.mjs +5 -5
  38. package/esm2020/lib/ecabs-increment/ecabs-increment.component.mjs +78 -0
  39. package/{esm2022 → esm2020}/lib/ecabs-increment/ecabs-increment.module.mjs +5 -5
  40. package/esm2020/lib/ecabs-input/ecabs-input.component.mjs +83 -0
  41. package/{esm2022 → esm2020}/lib/ecabs-input/ecabs-input.module.mjs +5 -5
  42. package/esm2020/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +57 -0
  43. package/{esm2022 → esm2020}/lib/ecabs-language-selector/ecabs-language-selector.module.mjs +13 -13
  44. package/esm2020/lib/ecabs-loading/ecabs-loading.component.mjs +24 -0
  45. package/{esm2022 → esm2020}/lib/ecabs-loading/ecabs-loading.module.mjs +5 -5
  46. package/esm2020/lib/ecabs-loading/spinner/spinner.component.mjs +16 -0
  47. package/esm2020/lib/ecabs-note/ecabs-note.component.mjs +30 -0
  48. package/{esm2022 → esm2020}/lib/ecabs-note/ecabs-note.module.mjs +5 -5
  49. package/esm2020/lib/ecabs-phone/ecabs-phone.component.mjs +104 -0
  50. package/{esm2022 → esm2020}/lib/ecabs-phone/ecabs-phone.module.mjs +5 -5
  51. package/esm2020/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +50 -0
  52. package/{esm2022 → esm2020}/lib/ecabs-picker-header/ecabs-picker-header.module.mjs +5 -5
  53. package/esm2020/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +65 -0
  54. package/{esm2022 → esm2020}/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.mjs +11 -11
  55. package/esm2020/lib/ecabs-select/ecabs-select.component.mjs +233 -0
  56. package/esm2020/lib/ecabs-select/ecabs-select.module.mjs +60 -0
  57. package/esm2020/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +17 -0
  58. package/{esm2022 → esm2020}/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.mjs +7 -7
  59. package/esm2020/lib/ecabs-table/ecabs-table.component.mjs +43 -0
  60. package/{esm2022 → esm2020}/lib/ecabs-table/ecabs-table.module.mjs +11 -11
  61. package/esm2020/lib/ecabs-textarea/ecabs-textarea.component.mjs +62 -0
  62. package/{esm2022 → esm2020}/lib/ecabs-textarea/ecabs-textarea.module.mjs +5 -5
  63. package/esm2020/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +137 -0
  64. package/esm2020/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +312 -0
  65. package/{esm2022 → esm2020}/lib/ecabs-timepicker/ecabs-timepicker.module.mjs +5 -5
  66. package/esm2020/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +31 -0
  67. package/esm2020/lib/services/ecabs-components.service.mjs +32 -0
  68. package/esm2020/public-api.mjs +55 -0
  69. package/fesm2015/ecabs-components.mjs +3258 -0
  70. package/fesm2015/ecabs-components.mjs.map +1 -0
  71. package/fesm2020/ecabs-components.mjs +3242 -0
  72. package/fesm2020/ecabs-components.mjs.map +1 -0
  73. package/lib/base/directives/date-mask.directive.d.ts +1 -1
  74. package/lib/base/directives/digits-only.directive.d.ts +1 -1
  75. package/lib/base/directives/number-border.directive.d.ts +1 -1
  76. package/lib/base/element-base.d.ts +1 -1
  77. package/lib/base/element-wrapper/element-wrapper.component.d.ts +1 -1
  78. package/lib/base/hint/hint.component.d.ts +1 -1
  79. package/lib/base/validation/validation.component.d.ts +1 -1
  80. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.d.ts +1 -1
  81. package/lib/ecabs-buttons/ecabs-buttons.component.d.ts +1 -1
  82. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.d.ts +1 -1
  83. package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.d.ts +1 -1
  84. package/lib/ecabs-date-picker/ecabs-date-picker.component.d.ts +1 -1
  85. package/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.d.ts +1 -1
  86. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +1 -1
  87. package/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.d.ts +6 -0
  88. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.d.ts +58 -0
  89. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.d.ts +20 -0
  90. package/lib/ecabs-date-time-range-picker/time-range.directive.d.ts +15 -0
  91. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.d.ts +1 -1
  92. package/lib/ecabs-dialog-message/ecabs-dialog-message.component.d.ts +1 -1
  93. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.d.ts +1 -1
  94. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.d.ts +1 -1
  95. package/lib/ecabs-increment/ecabs-increment.component.d.ts +1 -1
  96. package/lib/ecabs-input/ecabs-input.component.d.ts +1 -1
  97. package/lib/ecabs-language-selector/ecabs-language-selector.component.d.ts +1 -1
  98. package/lib/ecabs-loading/ecabs-loading.component.d.ts +1 -1
  99. package/lib/ecabs-loading/spinner/spinner.component.d.ts +1 -1
  100. package/lib/ecabs-note/ecabs-note.component.d.ts +1 -1
  101. package/lib/ecabs-phone/ecabs-phone.component.d.ts +1 -1
  102. package/lib/ecabs-picker-header/ecabs-picker-header.component.d.ts +1 -1
  103. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.d.ts +1 -1
  104. package/lib/ecabs-select/ecabs-select.component.d.ts +1 -1
  105. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.d.ts +1 -1
  106. package/lib/ecabs-table/ecabs-table.component.d.ts +1 -1
  107. package/lib/ecabs-textarea/ecabs-textarea.component.d.ts +1 -1
  108. package/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.d.ts +1 -1
  109. package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +1 -1
  110. package/lib/models/timepicker.models.d.ts +1 -1
  111. package/package.json +11 -5
  112. package/public-api.d.ts +4 -0
  113. package/esm2022/lib/base/directives/date-mask.directive.mjs +0 -67
  114. package/esm2022/lib/base/directives/digits-only.directive.mjs +0 -133
  115. package/esm2022/lib/base/directives/number-border.directive.mjs +0 -58
  116. package/esm2022/lib/base/element-base.mjs +0 -105
  117. package/esm2022/lib/base/element-wrapper/element-wrapper.component.mjs +0 -56
  118. package/esm2022/lib/base/hint/hint.component.mjs +0 -21
  119. package/esm2022/lib/base/validation/validation.component.mjs +0 -75
  120. package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +0 -17
  121. package/esm2022/lib/ecabs-buttons/ecabs-buttons.component.mjs +0 -67
  122. package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +0 -90
  123. package/esm2022/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +0 -15
  124. package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +0 -89
  125. package/esm2022/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +0 -15
  126. package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +0 -186
  127. package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +0 -31
  128. package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +0 -28
  129. package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +0 -85
  130. package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +0 -83
  131. package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +0 -90
  132. package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +0 -57
  133. package/esm2022/lib/ecabs-loading/ecabs-loading.component.mjs +0 -22
  134. package/esm2022/lib/ecabs-loading/spinner/spinner.component.mjs +0 -14
  135. package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +0 -28
  136. package/esm2022/lib/ecabs-phone/ecabs-phone.component.mjs +0 -111
  137. package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +0 -53
  138. package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +0 -68
  139. package/esm2022/lib/ecabs-select/ecabs-select.component.mjs +0 -239
  140. package/esm2022/lib/ecabs-select/ecabs-select.module.mjs +0 -60
  141. package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +0 -19
  142. package/esm2022/lib/ecabs-table/ecabs-table.component.mjs +0 -48
  143. package/esm2022/lib/ecabs-textarea/ecabs-textarea.component.mjs +0 -65
  144. package/esm2022/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +0 -144
  145. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +0 -322
  146. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +0 -29
  147. package/esm2022/lib/services/ecabs-components.service.mjs +0 -31
  148. package/esm2022/public-api.mjs +0 -51
  149. package/fesm2022/ecabs-components.mjs +0 -3063
  150. package/fesm2022/ecabs-components.mjs.map +0 -1
  151. /package/{esm2022 → esm2020}/ecabs-components.mjs +0 -0
  152. /package/{esm2022 → esm2020}/lib/base/consts/date-mask.consts.mjs +0 -0
  153. /package/{esm2022 → esm2020}/lib/ecabs-timepicker/config.model.mjs +0 -0
  154. /package/{esm2022 → esm2020}/lib/models/bread-crumb.mjs +0 -0
  155. /package/{esm2022 → esm2020}/lib/models/timepicker.models.mjs +0 -0
@@ -1,90 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import ElementBaseComponent from '../base/element-base';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "../base/element-wrapper/element-wrapper.component";
7
- import * as i3 from "@angular/forms";
8
- import * as i4 from "../base/directives/digits-only.directive";
9
- export class EcabsInputComponent extends ElementBaseComponent {
10
- injector;
11
- digitsOnly;
12
- allowDecimal;
13
- allowHyphen;
14
- max;
15
- step;
16
- onblur = new EventEmitter();
17
- val;
18
- get value() {
19
- return this.val;
20
- }
21
- set value(val) {
22
- if (val !== undefined && this.val !== val) {
23
- this.val = val;
24
- this.onChange(val);
25
- if (this.getData()?.control?.updateOn !== 'blur') {
26
- this.onTouch(val);
27
- }
28
- }
29
- }
30
- constructor(injector) {
31
- super();
32
- this.injector = injector;
33
- }
34
- ngOnInit() {
35
- if (this.type === 'number') {
36
- this.digitsOnly = true;
37
- }
38
- }
39
- ngAfterViewInit() {
40
- const ngControl = this.injector.get(NgControl, null);
41
- if (ngControl) {
42
- this.control = ngControl.control;
43
- }
44
- }
45
- onChange = () => { };
46
- onTouch = () => { };
47
- writeValue(value) {
48
- this.value = value;
49
- }
50
- registerOnChange(fn) {
51
- this.onChange = fn;
52
- }
53
- registerOnTouched(fn) {
54
- this.onTouch = fn;
55
- }
56
- blurChange(e) {
57
- this.onblur.emit(e);
58
- }
59
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsInputComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
60
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: EcabsInputComponent, selector: "ecabs-input", inputs: { digitsOnly: "digitsOnly", allowDecimal: "allowDecimal", allowHyphen: "allowHyphen", max: "max", step: "step" }, outputs: { onblur: "onblur" }, providers: [
61
- {
62
- provide: NG_VALUE_ACCESSOR,
63
- useExisting: EcabsInputComponent,
64
- multi: true,
65
- },
66
- ], usesInheritance: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input\r\n appDigitsOnly\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</app-element-wrapper>\r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.DigitsOnlyDirective, selector: "[appDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }] });
67
- }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsInputComponent, decorators: [{
69
- type: Component,
70
- args: [{ selector: 'ecabs-input', providers: [
71
- {
72
- provide: NG_VALUE_ACCESSOR,
73
- useExisting: EcabsInputComponent,
74
- multi: true,
75
- },
76
- ], template: "<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input\r\n appDigitsOnly\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</app-element-wrapper>\r\n" }]
77
- }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { digitsOnly: [{
78
- type: Input
79
- }], allowDecimal: [{
80
- type: Input
81
- }], allowHyphen: [{
82
- type: Input
83
- }], max: [{
84
- type: Input
85
- }], step: [{
86
- type: Input
87
- }], onblur: [{
88
- type: Output
89
- }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWlucHV0L2VjYWJzLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1pbnB1dC9lY2Ficy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQVksS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQTRDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hHLE9BQU8sb0JBQW9CLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQWF4RCxNQUFNLE9BQU8sbUJBQ1gsU0FBUSxvQkFBb0I7SUFnQ1A7SUE3QnJCLFVBQVUsQ0FBVztJQUdyQixZQUFZLENBQVc7SUFHdkIsV0FBVyxDQUFXO0lBRWIsR0FBRyxDQUFVO0lBQ2IsSUFBSSxDQUFVO0lBRWIsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDM0MsR0FBRyxDQUFtQjtJQUV0QixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFFLEdBQUc7UUFDWixJQUFLLEdBQUcsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUc7WUFDM0MsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFFLEdBQUcsQ0FBRSxDQUFDO1lBRXJCLElBQUssSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEtBQUssTUFBTSxFQUFHO2dCQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFFLEdBQUcsQ0FBRSxDQUFDO2FBQ3JCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsWUFBcUIsUUFBa0I7UUFDckMsS0FBSyxFQUFFLENBQUM7UUFEVyxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBRXZDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRztZQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxTQUFTLEdBQWMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUUsU0FBUyxFQUFFLElBQUksQ0FBZSxDQUFDO1FBQy9FLElBQUssU0FBUyxFQUFHO1lBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBNkIsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFRCxRQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRTFCLE9BQU8sR0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFekIsVUFBVSxDQUFFLEtBQVU7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELGdCQUFnQixDQUFFLEVBQU87UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFFLEVBQU87UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFVBQVUsQ0FBRSxDQUFNO1FBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFFLENBQUMsQ0FBRSxDQUFDO0lBQ3hCLENBQUM7dUdBcEVVLG1CQUFtQjsyRkFBbkIsbUJBQW1CLCtMQVJuQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxtQkFBbUI7Z0JBQ2hDLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixpRENiSCxxMEJBMEJBOzsyRkRYYSxtQkFBbUI7a0JBWC9CLFNBQVM7K0JBQ0UsYUFBYSxhQUVaO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcscUJBQXFCOzRCQUNoQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjsrRkFNRCxVQUFVO3NCQURULEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFHRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBVbnR5cGVkRm9ybUNvbnRyb2wsIE5nQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCBFbGVtZW50QmFzZUNvbXBvbmVudCBmcm9tICcuLi9iYXNlL2VsZW1lbnQtYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KCB7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1pbnB1dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBFY2Fic0lucHV0Q29tcG9uZW50LFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0lucHV0Q29tcG9uZW50XHJcbiAgZXh0ZW5kcyBFbGVtZW50QmFzZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQsIE9uSW5pdCB7XHJcbiAgQElucHV0KClcclxuICBkaWdpdHNPbmx5ITogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBhbGxvd0RlY2ltYWwhOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGFsbG93SHlwaGVuITogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KCkgbWF4ITogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHN0ZXAhOiBudW1iZXI7XHJcblxyXG4gIEBPdXRwdXQoKSBvbmJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICB2YWwhOiBzdHJpbmcgfCBudW1iZXI7XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsO1xyXG4gIH1cclxuXHJcbiAgc2V0IHZhbHVlKCB2YWwgKSB7XHJcbiAgICBpZiAoIHZhbCAhPT0gdW5kZWZpbmVkICYmIHRoaXMudmFsICE9PSB2YWwgKSB7XHJcbiAgICAgIHRoaXMudmFsID0gdmFsO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKCB2YWwgKTtcclxuXHJcbiAgICAgIGlmICggdGhpcy5nZXREYXRhKCk/LmNvbnRyb2w/LnVwZGF0ZU9uICE9PSAnYmx1cicgKSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoKCB2YWwgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCB0aGlzLnR5cGUgPT09ICdudW1iZXInICkge1xyXG4gICAgICB0aGlzLmRpZ2l0c09ubHkgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmdDb250cm9sOiBOZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldCggTmdDb250cm9sLCBudWxsICkgYXMgTmdDb250cm9sO1xyXG4gICAgaWYgKCBuZ0NvbnRyb2wgKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcblxyXG4gIG9uVG91Y2g6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgd3JpdGVWYWx1ZSggdmFsdWU6IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoIGZuOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZCggZm46IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgYmx1ckNoYW5nZSggZTogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy5vbmJsdXIuZW1pdCggZSApO1xyXG4gIH1cclxufVxyXG4iLCI8YXBwLWVsZW1lbnQtd3JhcHBlciBbZGF0YV09XCJnZXREYXRhKClcIj5cclxuICA8ZGl2IGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQtLXdyYXBwZXJcIj5cclxuICAgIDxpbnB1dFxyXG4gICAgICBhcHBEaWdpdHNPbmx5XHJcbiAgICAgIFtkaWdpdHNPbmx5XT1cImRpZ2l0c09ubHlcIlxyXG4gICAgICBbZGVjaW1hbF09XCJhbGxvd0RlY2ltYWxcIlxyXG4gICAgICBbYWxsb3dIeXBoZW5dPVwiYWxsb3dIeXBoZW5cIlxyXG4gICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0XCJcclxuICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgIFtpZF09XCJuYW1lXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIChibHVyKT1cIm9uVG91Y2goKVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFttYXhsZW5ndGhdPVwibWF4TGVuZ3RoXCJcclxuICAgICAgW21heF09XCJtYXhcIlxyXG4gICAgICBbc3RlcF09XCJzdGVwXCJcclxuICAgICAgKGJsdXIpPVwiYmx1ckNoYW5nZSgkZXZlbnQpXCJcclxuICAgIC8+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0LS1zdWZmaXhcIiAqbmdJZj1cInR5cGUgIT09ICdudW1iZXInXCI+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm1hdC1pY29uXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCIuc3VmZml4XCI+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvYXBwLWVsZW1lbnQtd3JhcHBlcj5cclxuIl19
@@ -1,57 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/material/form-field";
5
- import * as i3 from "@angular/material/select";
6
- import * as i4 from "@angular/material/core";
7
- import * as i5 from "@angular/forms";
8
- export class EcabsLanguageSelectorComponent {
9
- languages = [];
10
- currentLanguage;
11
- showLabelTitle = true;
12
- languageChanged = new EventEmitter();
13
- selectedLang;
14
- get panelClass() {
15
- return this.showLabelTitle ? 'wide-select' : 'wide-select no-title';
16
- }
17
- ngOnChanges() {
18
- this.selectedLang = this.currentLanguage;
19
- }
20
- toggleLang() {
21
- return this.matchSelected() ? this.languageChanged.emit(this.matchSelected()) : undefined;
22
- }
23
- matchSelected() {
24
- return this.languages?.find((lang) => lang === this.selectedLang);
25
- }
26
- standardLang(code) {
27
- return this.standardise(code);
28
- }
29
- flagClass(lang) {
30
- return `fi fi-${lang?.slice(-2).toLowerCase()}`;
31
- }
32
- standardise(code) {
33
- if (!code) {
34
- return undefined;
35
- }
36
- const lang = new Intl.DisplayNames([code], {
37
- type: 'language',
38
- languageDisplay: 'standard',
39
- });
40
- return lang.of(code);
41
- }
42
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsLanguageSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
43
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: EcabsLanguageSelectorComponent, selector: "ecabs-language-selector", inputs: { languages: "languages", currentLanguage: "currentLanguage", showLabelTitle: "showLabelTitle" }, outputs: { languageChanged: "languageChanged" }, usesOnChanges: true, ngImport: i0, template: "<mat-form-field>\r\n <mat-select class=\"capitalize\" [(ngModel)]=\"selectedLang\" name=\"language\" (ngModelChange)=\"toggleLang()\"\r\n panelClass=\"wide-select\">\r\n <mat-select-trigger>\r\n <div class=\"flex items-center\">\r\n <span [ngClass]=\"flagClass(matchSelected())\"></span>\r\n <div class=\"ml-2\">{{standardLang(matchSelected())}}</div>\r\n </div>\r\n </mat-select-trigger>\r\n <mat-option class=\"capitalize\" *ngFor=\"let lang of languages\" [value]=\"lang\">\r\n <div class=\"flex items-center\">\r\n <span [ngClass]=\"flagClass(lang)\"></span>\r\n <div class=\"ml-2\">{{standardLang(lang)}}</div>\r\n </div>\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n", styles: [":host::ng-deep .mat-mdc-select,:host::ng-deep .mat-select{padding:0;border:0}:host::ng-deep .mat-mdc-select .mat-mdc-select-arrow-wrapper,:host::ng-deep .mat-mdc-select .mat-select-arrow-wrapper,:host::ng-deep .mat-select .mat-mdc-select-arrow-wrapper,:host::ng-deep .mat-select .mat-select-arrow-wrapper{display:none}:host::ng-deep .mat-mdc-select,:host::ng-deep .mat-mdc-select .mdc-list-item,:host::ng-deep .mat-select,:host::ng-deep .mat-select .mdc-list-item{font-size:12px}:host::ng-deep .mat-select-panel-wrap .mat-option{font-size:12px}:host::ng-deep .mat-mdc-form-field .mat-mdc-form-field-wrapper .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i3.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
44
- }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsLanguageSelectorComponent, decorators: [{
46
- type: Component,
47
- args: [{ selector: 'ecabs-language-selector', template: "<mat-form-field>\r\n <mat-select class=\"capitalize\" [(ngModel)]=\"selectedLang\" name=\"language\" (ngModelChange)=\"toggleLang()\"\r\n panelClass=\"wide-select\">\r\n <mat-select-trigger>\r\n <div class=\"flex items-center\">\r\n <span [ngClass]=\"flagClass(matchSelected())\"></span>\r\n <div class=\"ml-2\">{{standardLang(matchSelected())}}</div>\r\n </div>\r\n </mat-select-trigger>\r\n <mat-option class=\"capitalize\" *ngFor=\"let lang of languages\" [value]=\"lang\">\r\n <div class=\"flex items-center\">\r\n <span [ngClass]=\"flagClass(lang)\"></span>\r\n <div class=\"ml-2\">{{standardLang(lang)}}</div>\r\n </div>\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n", styles: [":host::ng-deep .mat-mdc-select,:host::ng-deep .mat-select{padding:0;border:0}:host::ng-deep .mat-mdc-select .mat-mdc-select-arrow-wrapper,:host::ng-deep .mat-mdc-select .mat-select-arrow-wrapper,:host::ng-deep .mat-select .mat-mdc-select-arrow-wrapper,:host::ng-deep .mat-select .mat-select-arrow-wrapper{display:none}:host::ng-deep .mat-mdc-select,:host::ng-deep .mat-mdc-select .mdc-list-item,:host::ng-deep .mat-select,:host::ng-deep .mat-select .mdc-list-item{font-size:12px}:host::ng-deep .mat-select-panel-wrap .mat-option{font-size:12px}:host::ng-deep .mat-mdc-form-field .mat-mdc-form-field-wrapper .mat-mdc-form-field-infix{width:auto}\n"] }]
48
- }], propDecorators: { languages: [{
49
- type: Input
50
- }], currentLanguage: [{
51
- type: Input
52
- }], showLabelTitle: [{
53
- type: Input
54
- }], languageChanged: [{
55
- type: Output
56
- }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWxhbmd1YWdlLXNlbGVjdG9yL2VjYWJzLWxhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1sYW5ndWFnZS1zZWxlY3Rvci9lY2Ficy1sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBT2xGLE1BQU0sT0FBTyw4QkFBOEI7SUFFekMsU0FBUyxHQUFhLEVBQUUsQ0FBQztJQUd6QixlQUFlLENBQVM7SUFHeEIsY0FBYyxHQUFZLElBQUksQ0FBQztJQUcvQixlQUFlLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7SUFFbkUsWUFBWSxDQUFTO0lBRXJCLElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQztJQUN0RSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzlGLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBRSxDQUFFLElBQUksRUFBRyxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUUsQ0FBQztJQUN4RSxDQUFDO0lBRUQsWUFBWSxDQUFFLElBQVk7UUFDeEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFFLElBQUksQ0FBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxTQUFTLENBQUUsSUFBWTtRQUNyQixPQUFPLFNBQVUsSUFBSSxFQUFFLEtBQUssQ0FBRSxDQUFDLENBQUMsQ0FBRSxDQUFDLFdBQVcsRUFBRyxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVPLFdBQVcsQ0FBRSxJQUFZO1FBQy9CLElBQUssQ0FBQyxJQUFJLEVBQUc7WUFDWCxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBRSxDQUFFLElBQUksQ0FBRSxFQUFFO1lBQzVDLElBQUksRUFBRSxVQUFVO1lBQ2hCLGVBQWUsRUFBRSxVQUFVO1NBQzVCLENBQUUsQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBRSxJQUFJLENBQUUsQ0FBQztJQUN6QixDQUFDO3VHQWhEVSw4QkFBOEI7MkZBQTlCLDhCQUE4QiwrT0NQM0MsNHZCQWlCQTs7MkZEVmEsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLHlCQUF5Qjs4QkFNbkMsU0FBUztzQkFEUixLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCgge1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtbGFuZ3VhZ2Utc2VsZWN0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbICcuL2VjYWJzLWxhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJyBdLFxyXG59IClcclxuZXhwb3J0IGNsYXNzIEVjYWJzTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KClcclxuICBsYW5ndWFnZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgY3VycmVudExhbmd1YWdlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd0xhYmVsVGl0bGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBsYW5ndWFnZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIHNlbGVjdGVkTGFuZzogc3RyaW5nO1xyXG5cclxuICBnZXQgcGFuZWxDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0xhYmVsVGl0bGUgPyAnd2lkZS1zZWxlY3QnIDogJ3dpZGUtc2VsZWN0IG5vLXRpdGxlJztcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZExhbmcgPSB0aGlzLmN1cnJlbnRMYW5ndWFnZTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUxhbmcoKTogdm9pZCB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXRjaFNlbGVjdGVkKCkgPyB0aGlzLmxhbmd1YWdlQ2hhbmdlZC5lbWl0KCB0aGlzLm1hdGNoU2VsZWN0ZWQoKSApIDogdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgbWF0Y2hTZWxlY3RlZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VzPy5maW5kKCAoIGxhbmcgKSA9PiBsYW5nID09PSB0aGlzLnNlbGVjdGVkTGFuZyApO1xyXG4gIH1cclxuXHJcbiAgc3RhbmRhcmRMYW5nKCBjb2RlOiBzdHJpbmcgKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnN0YW5kYXJkaXNlKCBjb2RlICk7XHJcbiAgfVxyXG5cclxuICBmbGFnQ2xhc3MoIGxhbmc6IHN0cmluZyApOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGBmaSBmaS0keyBsYW5nPy5zbGljZSggLTIgKS50b0xvd2VyQ2FzZSgpIH1gO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGFuZGFyZGlzZSggY29kZTogc3RyaW5nICk6IHN0cmluZyB7XHJcbiAgICBpZiAoICFjb2RlICkge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgY29uc3QgbGFuZyA9IG5ldyBJbnRsLkRpc3BsYXlOYW1lcyggWyBjb2RlIF0sIHtcclxuICAgICAgdHlwZTogJ2xhbmd1YWdlJyxcclxuICAgICAgbGFuZ3VhZ2VEaXNwbGF5OiAnc3RhbmRhcmQnLFxyXG4gICAgfSApO1xyXG4gICAgcmV0dXJuIGxhbmcub2YoIGNvZGUgKTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1mb3JtLWZpZWxkPlxyXG4gIDxtYXQtc2VsZWN0IGNsYXNzPVwiY2FwaXRhbGl6ZVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRMYW5nXCIgbmFtZT1cImxhbmd1YWdlXCIgKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlTGFuZygpXCJcclxuICAgICAgICAgICAgICBwYW5lbENsYXNzPVwid2lkZS1zZWxlY3RcIj5cclxuICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cImZsYWdDbGFzcyhtYXRjaFNlbGVjdGVkKCkpXCI+PC9zcGFuPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtbC0yXCI+e3tzdGFuZGFyZExhbmcobWF0Y2hTZWxlY3RlZCgpKX19PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XHJcbiAgICA8bWF0LW9wdGlvbiBjbGFzcz1cImNhcGl0YWxpemVcIiAqbmdGb3I9XCJsZXQgbGFuZyBvZiBsYW5ndWFnZXNcIiBbdmFsdWVdPVwibGFuZ1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJmbGFnQ2xhc3MobGFuZylcIj48L3NwYW4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1sLTJcIj57e3N0YW5kYXJkTGFuZyhsYW5nKX19PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtb3B0aW9uPlxyXG4gIDwvbWF0LXNlbGVjdD5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuIl19
@@ -1,22 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "./spinner/spinner.component";
5
- export class EcabsLoadingComponent {
6
- loading = false;
7
- backgroundColor = 'white';
8
- size = 'medium';
9
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsLoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: EcabsLoadingComponent, selector: "ecabs-loading", inputs: { loading: "loading", backgroundColor: "backgroundColor", size: "size" }, ngImport: i0, template: "<div\r\n class=\"flex absolute left-0 top-0 right-0 bottom-0 z-50 items-center justify-center\"\r\n [ngStyle]=\"{ backgroundColor: backgroundColor }\"\r\n *ngIf=\"loading\"\r\n>\r\n <ecabs-loading-spinner [size]=\"size\" *ngIf=\"loading\"></ecabs-loading-spinner>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: ["size"] }] });
11
- }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsLoadingComponent, decorators: [{
13
- type: Component,
14
- args: [{ selector: 'ecabs-loading', template: "<div\r\n class=\"flex absolute left-0 top-0 right-0 bottom-0 z-50 items-center justify-center\"\r\n [ngStyle]=\"{ backgroundColor: backgroundColor }\"\r\n *ngIf=\"loading\"\r\n>\r\n <ecabs-loading-spinner [size]=\"size\" *ngIf=\"loading\"></ecabs-loading-spinner>\r\n</div>\r\n" }]
15
- }], propDecorators: { loading: [{
16
- type: Input
17
- }], backgroundColor: [{
18
- type: Input
19
- }], size: [{
20
- type: Input
21
- }] } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtbG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtbG9hZGluZy9lY2Ficy1sb2FkaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1sb2FkaW5nL2VjYWJzLWxvYWRpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFNakQsTUFBTSxPQUFPLHFCQUFxQjtJQUN2QixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLGVBQWUsR0FBRyxPQUFPLENBQUM7SUFDMUIsSUFBSSxHQUFnQyxRQUFRLENBQUM7dUdBSDNDLHFCQUFxQjsyRkFBckIscUJBQXFCLHVJQ05sQywyUkFPQTs7MkZERGEscUJBQXFCO2tCQUpqQyxTQUFTOytCQUNFLGVBQWU7OEJBSWhCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoIHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLWxvYWRpbmcnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1sb2FkaW5nLmNvbXBvbmVudC5odG1sJyxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0xvYWRpbmdDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3IgPSAnd2hpdGUnO1xyXG4gIEBJbnB1dCgpIHNpemU6ICdsYXJnZScgfCAnbWVkaXVtJyB8ICd0aW55JyA9ICdtZWRpdW0nO1xyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImZsZXggYWJzb2x1dGUgbGVmdC0wIHRvcC0wIHJpZ2h0LTAgYm90dG9tLTAgei01MCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIlxyXG4gIFtuZ1N0eWxlXT1cInsgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kQ29sb3IgfVwiXHJcbiAgKm5nSWY9XCJsb2FkaW5nXCJcclxuPlxyXG4gIDxlY2Ficy1sb2FkaW5nLXNwaW5uZXIgW3NpemVdPVwic2l6ZVwiICpuZ0lmPVwibG9hZGluZ1wiPjwvZWNhYnMtbG9hZGluZy1zcGlubmVyPlxyXG48L2Rpdj5cclxuIl19
@@ -1,14 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class EcabsSpinnerComponent {
4
- size = 'medium';
5
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: { size: "size" }, ngImport: i0, template: "<div class=\"loadingio-spinner-rolling {{ size }}\">\r\n <div class=\"ldio-inner\">\r\n <div></div>\r\n </div>\r\n</div>\r\n", styles: [":host{line-height:0}@keyframes ldio-inner{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.loadingio-spinner-rolling{width:27px;height:27px;display:inline-block;overflow:hidden;background:none}.loadingio-spinner-rolling .ldio-inner{width:100%;height:100%;position:relative;transform:translateZ(0) scale(1);-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:0 0}.loadingio-spinner-rolling .ldio-inner div{position:absolute;width:9px;height:9px;border:4px solid #85a2b6;border-top-color:transparent;border-radius:50%;animation:ldio-inner 1s linear infinite;top:14px;left:14px;box-sizing:content-box}.loadingio-spinner-rolling.medium{width:40px;height:40px}.loadingio-spinner-rolling.medium .ldio-inner div{width:20px;height:20px;border-width:6px;top:19px;left:19px}.loadingio-spinner-rolling.large{width:60px;height:60px}.loadingio-spinner-rolling.large .ldio-inner div{width:35px;height:35px;border-width:9px;top:29px;left:29px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7
- }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsSpinnerComponent, decorators: [{
9
- type: Component,
10
- args: [{ selector: 'ecabs-loading-spinner', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"loadingio-spinner-rolling {{ size }}\">\r\n <div class=\"ldio-inner\">\r\n <div></div>\r\n </div>\r\n</div>\r\n", styles: [":host{line-height:0}@keyframes ldio-inner{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.loadingio-spinner-rolling{width:27px;height:27px;display:inline-block;overflow:hidden;background:none}.loadingio-spinner-rolling .ldio-inner{width:100%;height:100%;position:relative;transform:translateZ(0) scale(1);-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:0 0}.loadingio-spinner-rolling .ldio-inner div{position:absolute;width:9px;height:9px;border:4px solid #85a2b6;border-top-color:transparent;border-radius:50%;animation:ldio-inner 1s linear infinite;top:14px;left:14px;box-sizing:content-box}.loadingio-spinner-rolling.medium{width:40px;height:40px}.loadingio-spinner-rolling.medium .ldio-inner div{width:20px;height:20px;border-width:6px;top:19px;left:19px}.loadingio-spinner-rolling.large{width:60px;height:60px}.loadingio-spinner-rolling.large .ldio-inner div{width:35px;height:35px;border-width:9px;top:29px;left:29px}\n"] }]
11
- }], propDecorators: { size: [{
12
- type: Input
13
- }] } });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtbG9hZGluZy9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWxvYWRpbmcvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVExRSxNQUFNLE9BQU8scUJBQXFCO0lBQ3ZCLElBQUksR0FBZ0MsUUFBUSxDQUFDO3VHQUQzQyxxQkFBcUI7MkZBQXJCLHFCQUFxQix1RkNSbEMsbUlBS0E7OzJGREdhLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLWxvYWRpbmctc3Bpbm5lcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NwaW5uZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NwaW5uZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzU3Bpbm5lckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgc2l6ZTogJ2xhcmdlJyB8ICdtZWRpdW0nIHwgJ3RpbnknID0gJ21lZGl1bSc7XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImxvYWRpbmdpby1zcGlubmVyLXJvbGxpbmcge3sgc2l6ZSB9fVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJsZGlvLWlubmVyXCI+XHJcbiAgICA8ZGl2PjwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -1,28 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/material/icon";
5
- export class NoteComponent {
6
- type = 'default';
7
- get classByType() {
8
- switch (this.type) {
9
- case 'warn':
10
- return 'note--warn';
11
- case 'danger':
12
- return 'note--danger';
13
- case 'success':
14
- return 'note--success';
15
- default:
16
- return 'note--default';
17
- }
18
- }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NoteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NoteComponent, selector: "ecabs-note", inputs: { type: "type" }, ngImport: i0, template: "<ng-container>\r\n <div class=\"flex flex-row px-2 py-4 note\" [ngClass]=\"classByType\">\r\n <div>\r\n <mat-icon>info_outline</mat-icon>\r\n </div>\r\n <div class=\"ml-4\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":root{--color-black: #07080d;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-100: #f5f6f9;--color-gray-200: #f8f9f9;--color-gray-300: #d9d9d9;--color-gray-400: #a6a6a6;--color-gray-500: #6b6d73;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #df3838;--color-error-opacity: #fbe4e4;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-warn: #f2994a;--color-warn-rgb: 242, 153, 74;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-warning: #f2994a;--color-warning-opacity: #fdf0e4;--color-success: #25bd3d;--color-success--opacity: #e8f8e5;--color-success-rgb: 37, 189, 61;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5)}.note{border-radius:.25rem}.note .mat-icon{color:inherit}.note--danger{color:var(--color-error);background-color:var(--color-error-opacity)}.note--warn{background-color:var(--color-warning-opacity);color:var(--color-warn)}.note--success{background-color:rgba(var(--color-success-rgb),.06);color:var(--color-success)}.note--default{background-color:rgba(var(--color-info-rgb),.06);color:var(--color-info)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NoteComponent, decorators: [{
23
- type: Component,
24
- args: [{ selector: 'ecabs-note', template: "<ng-container>\r\n <div class=\"flex flex-row px-2 py-4 note\" [ngClass]=\"classByType\">\r\n <div>\r\n <mat-icon>info_outline</mat-icon>\r\n </div>\r\n <div class=\"ml-4\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":root{--color-black: #07080d;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-100: #f5f6f9;--color-gray-200: #f8f9f9;--color-gray-300: #d9d9d9;--color-gray-400: #a6a6a6;--color-gray-500: #6b6d73;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #df3838;--color-error-opacity: #fbe4e4;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-warn: #f2994a;--color-warn-rgb: 242, 153, 74;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-warning: #f2994a;--color-warning-opacity: #fdf0e4;--color-success: #25bd3d;--color-success--opacity: #e8f8e5;--color-success-rgb: 37, 189, 61;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5)}.note{border-radius:.25rem}.note .mat-icon{color:inherit}.note--danger{color:var(--color-error);background-color:var(--color-error-opacity)}.note--warn{background-color:var(--color-warning-opacity);color:var(--color-warn)}.note--success{background-color:rgba(var(--color-success-rgb),.06);color:var(--color-success)}.note--default{background-color:rgba(var(--color-info-rgb),.06);color:var(--color-info)}\n"] }]
25
- }], propDecorators: { type: [{
26
- type: Input
27
- }] } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtbm90ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtbm90ZS9lY2Ficy1ub3RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1ub3RlL2VjYWJzLW5vdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPakQsTUFBTSxPQUFPLGFBQWE7SUFFeEIsSUFBSSxHQUE4QyxTQUFTLENBQUM7SUFFNUQsSUFBSSxXQUFXO1FBQ2IsUUFBUyxJQUFJLENBQUMsSUFBSSxFQUFHO1lBQ25CLEtBQUssTUFBTTtnQkFDVCxPQUFPLFlBQVksQ0FBQztZQUV0QixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxjQUFjLENBQUM7WUFFeEIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sZUFBZSxDQUFDO1lBRXpCO2dCQUNFLE9BQU8sZUFBZSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzt1R0FsQlUsYUFBYTsyRkFBYixhQUFhLDRFQ1AxQixrUkFVQTs7MkZESGEsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxZQUFZOzhCQU10QixJQUFJO3NCQURILEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KCB7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1ub3RlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWNhYnMtbm90ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbICcuL2VjYWJzLW5vdGUuY29tcG9uZW50LnNjc3MnIF0sXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgTm90ZUNvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICB0eXBlOiAnZGVmYXVsdCcgfCAnZGFuZ2VyJyB8ICd3YXJuJyB8ICdzdWNjZXNzJyA9ICdkZWZhdWx0JztcclxuXHJcbiAgZ2V0IGNsYXNzQnlUeXBlKCk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKCB0aGlzLnR5cGUgKSB7XHJcbiAgICAgIGNhc2UgJ3dhcm4nOlxyXG4gICAgICAgIHJldHVybiAnbm90ZS0td2Fybic7XHJcblxyXG4gICAgICBjYXNlICdkYW5nZXInOlxyXG4gICAgICAgIHJldHVybiAnbm90ZS0tZGFuZ2VyJztcclxuXHJcbiAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxyXG4gICAgICAgIHJldHVybiAnbm90ZS0tc3VjY2Vzcyc7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAnbm90ZS0tZGVmYXVsdCc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXI+XHJcbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgcHgtMiBweS00IG5vdGVcIiBbbmdDbGFzc109XCJjbGFzc0J5VHlwZVwiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPG1hdC1pY29uPmluZm9fb3V0bGluZTwvbWF0LWljb24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJtbC00XCI+XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
@@ -1,111 +0,0 @@
1
- import { Component, HostListener, Input, ViewChild } from '@angular/core';
2
- import { UntypedFormControl, UntypedFormGroup, NG_VALUE_ACCESSOR, Validators, NgControl, } from '@angular/forms';
3
- import ElementBaseComponent from '../base/element-base';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "../base/element-wrapper/element-wrapper.component";
7
- import * as i3 from "@angular/forms";
8
- import * as i4 from "ngx-mat-intl-tel-input";
9
- export class EcabsPhoneComponent extends ElementBaseComponent {
10
- injector;
11
- preferredCountries;
12
- enablePlaceholder;
13
- enableSearch = true;
14
- useOnlyDisabledClass = false;
15
- required;
16
- phoneInput;
17
- phoneForm;
18
- phoneSub;
19
- prohibitedCharacters = ['-'];
20
- get value() {
21
- return this.phoneForm.get('phone')?.value;
22
- }
23
- set value(val) {
24
- if (val !== undefined && this.value !== val) {
25
- this.phoneForm.setValue({ phone: val });
26
- }
27
- }
28
- constructor(injector) {
29
- super();
30
- this.injector = injector;
31
- }
32
- onInput(event) {
33
- if (this.prohibitedCharacters.includes(event.key)) {
34
- event.preventDefault();
35
- }
36
- }
37
- ngOnInit() {
38
- this.phoneForm = new UntypedFormGroup({
39
- phone: new UntypedFormControl(undefined, this.required ? [Validators.required] : []),
40
- });
41
- }
42
- ngAfterViewInit() {
43
- const ngControl = this.injector.get(NgControl, null);
44
- if (ngControl) {
45
- this.control = ngControl.control;
46
- }
47
- this.phoneSub = this.phoneForm.valueChanges.subscribe((formVal) => {
48
- this.value = formVal?.phone;
49
- this.onChange(this.value);
50
- this.onTouch(this.value);
51
- this.control.setErrors(this.phoneForm.get('phone').errors);
52
- });
53
- }
54
- onChange = () => { };
55
- onTouch = () => { };
56
- writeValue(value) {
57
- this.value = value;
58
- }
59
- registerOnChange(fn) {
60
- this.onChange = fn;
61
- }
62
- registerOnTouched(fn) {
63
- this.onTouch = fn;
64
- }
65
- ngOnDestroy() {
66
- this.phoneSub?.unsubscribe();
67
- }
68
- reset() {
69
- this.phoneInput.reset();
70
- }
71
- onBlur() {
72
- this.control.setErrors(this.phoneForm.get('phone').errors);
73
- this.onTouch(this.value);
74
- this.onChange(this.value);
75
- }
76
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsPhoneComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
77
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: EcabsPhoneComponent, selector: "ecabs-phone", inputs: { preferredCountries: "preferredCountries", enablePlaceholder: "enablePlaceholder", enableSearch: "enableSearch", useOnlyDisabledClass: "useOnlyDisabledClass", required: "required" }, host: { listeners: { "keypress": "onInput($event)" } }, providers: [
78
- {
79
- provide: NG_VALUE_ACCESSOR,
80
- useExisting: EcabsPhoneComponent,
81
- multi: true,
82
- },
83
- ], viewQueries: [{ propertyName: "phoneInput", first: true, predicate: ["phoneInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <form #f=\"ngForm\" [formGroup]=\"phoneForm\">\r\n <ngx-mat-intl-tel-input\r\n (focusout)=\"onBlur()\"\r\n [ngClass]=\"{ error: phoneForm.invalid && (phoneForm.dirty || phoneForm.touched) }\"\r\n #phoneInput\r\n [preferredCountries]=\"preferredCountries\"\r\n [enablePlaceholder]=\"enablePlaceholder\"\r\n [enableSearch]=\"enableSearch\"\r\n [disabled]=\"disabled\"\r\n [formControlName]=\"'phone'\"\r\n name=\"phone\"\r\n [inputPlaceholder]=\"placeholder\"\r\n >\r\n </ngx-mat-intl-tel-input>\r\n </form>\r\n</app-element-wrapper>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4.NgxMatIntlTelInputComponent, selector: "ngx-mat-intl-tel-input", inputs: ["preferredCountries", "enablePlaceholder", "inputPlaceholder", "cssClass", "name", "onlyCountries", "errorStateMatcher", "enableSearch", "searchPlaceholder", "describedBy", "format", "placeholder", "required", "disabled"], outputs: ["countryChanged"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
84
- }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsPhoneComponent, decorators: [{
86
- type: Component,
87
- args: [{ selector: 'ecabs-phone', providers: [
88
- {
89
- provide: NG_VALUE_ACCESSOR,
90
- useExisting: EcabsPhoneComponent,
91
- multi: true,
92
- },
93
- ], template: "<app-element-wrapper [data]=\"getData()\">\r\n <form #f=\"ngForm\" [formGroup]=\"phoneForm\">\r\n <ngx-mat-intl-tel-input\r\n (focusout)=\"onBlur()\"\r\n [ngClass]=\"{ error: phoneForm.invalid && (phoneForm.dirty || phoneForm.touched) }\"\r\n #phoneInput\r\n [preferredCountries]=\"preferredCountries\"\r\n [enablePlaceholder]=\"enablePlaceholder\"\r\n [enableSearch]=\"enableSearch\"\r\n [disabled]=\"disabled\"\r\n [formControlName]=\"'phone'\"\r\n name=\"phone\"\r\n [inputPlaceholder]=\"placeholder\"\r\n >\r\n </ngx-mat-intl-tel-input>\r\n </form>\r\n</app-element-wrapper>\r\n" }]
94
- }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { preferredCountries: [{
95
- type: Input
96
- }], enablePlaceholder: [{
97
- type: Input
98
- }], enableSearch: [{
99
- type: Input
100
- }], useOnlyDisabledClass: [{
101
- type: Input
102
- }], required: [{
103
- type: Input
104
- }], phoneInput: [{
105
- type: ViewChild,
106
- args: ['phoneInput']
107
- }], onInput: [{
108
- type: HostListener,
109
- args: ['keypress', ['$event']]
110
- }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcGhvbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXBob25lL2VjYWJzLXBob25lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1waG9uZS9lY2Ficy1waG9uZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQVksS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUVMLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixTQUFTLEdBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLG9CQUFvQixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFheEQsTUFBTSxPQUFPLG1CQUNYLFNBQVEsb0JBQW9CO0lBeUJFO0lBdkJyQixrQkFBa0IsQ0FBWTtJQUM5QixpQkFBaUIsQ0FBVztJQUM1QixZQUFZLEdBQVksSUFBSSxDQUFDO0lBQzdCLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUNyQixRQUFRLENBQVU7SUFHbkMsVUFBVSxDQUErQjtJQUV6QyxTQUFTLENBQW1CO0lBQzVCLFFBQVEsQ0FBTztJQUNmLG9CQUFvQixHQUFHLENBQUUsR0FBRyxDQUFFLENBQUM7SUFFL0IsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBRSxPQUFPLENBQUUsRUFBRSxLQUFLLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksS0FBSyxDQUFFLEdBQUc7UUFDWixJQUFLLEdBQUcsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxHQUFHLEVBQUc7WUFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUUsQ0FBQztTQUMzQztJQUNILENBQUM7SUFFRCxZQUE4QixRQUFrQjtRQUM5QyxLQUFLLEVBQUUsQ0FBQztRQURvQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBRWhELENBQUM7SUFFeUMsT0FBTyxDQUFFLEtBQW9CO1FBQ3JFLElBQUssSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBRSxLQUFLLENBQUMsR0FBRyxDQUFFLEVBQUc7WUFDckQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksZ0JBQWdCLENBQUU7WUFDckMsS0FBSyxFQUFFLElBQUksa0JBQWtCLENBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUU7U0FDekYsQ0FBRSxDQUFDO0lBQ04sQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFNBQVMsR0FBYyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBRSxTQUFTLEVBQUUsSUFBSSxDQUFFLENBQUM7UUFDbEUsSUFBSyxTQUFTLEVBQUc7WUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUE2QixDQUFDO1NBQ3hEO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUUsQ0FBRSxPQUFPLEVBQUcsRUFBRTtZQUNuRSxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sRUFBRSxLQUFLLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBRSxJQUFJLENBQUMsS0FBSyxDQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBRSxJQUFJLENBQUMsS0FBSyxDQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUUsT0FBTyxDQUFFLENBQUMsTUFBTSxDQUFFLENBQUM7UUFDakUsQ0FBQyxDQUFFLENBQUM7SUFDTixDQUFDO0lBRUQsUUFBUSxHQUFRLEdBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNoQyxPQUFPLEdBQVEsR0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRS9CLFVBQVUsQ0FBRSxLQUFVO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBRSxFQUFPO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBRSxPQUFPLENBQUUsQ0FBQyxNQUFNLENBQUUsQ0FBQztRQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFFLElBQUksQ0FBQyxLQUFLLENBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFFLElBQUksQ0FBQyxLQUFLLENBQUUsQ0FBQztJQUM5QixDQUFDO3VHQW5GVSxtQkFBbUI7MkZBQW5CLG1CQUFtQiw4UkFSbkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsbUJBQW1CO2dCQUNoQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMkpDckJILCtwQkFpQkE7OzJGRE1hLG1CQUFtQjtrQkFYL0IsU0FBUzsrQkFDRSxhQUFhLGFBRVo7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxxQkFBcUI7NEJBQ2hDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOytGQUtRLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ1csUUFBUTtzQkFBeEIsS0FBSztnQkFHTixVQUFVO3NCQURULFNBQVM7dUJBQUUsWUFBWTtnQkFxQmtCLE9BQU87c0JBQWhELFlBQVk7dUJBQUUsVUFBVSxFQUFFLENBQUUsUUFBUSxDQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcclxuICBVbnR5cGVkRm9ybUdyb3VwLFxyXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIFZhbGlkYXRvcnMsXHJcbiAgTmdDb250cm9sLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmd4TWF0SW50bFRlbElucHV0Q29tcG9uZW50IH0gZnJvbSAnbmd4LW1hdC1pbnRsLXRlbC1pbnB1dCc7XHJcbmltcG9ydCBFbGVtZW50QmFzZUNvbXBvbmVudCBmcm9tICcuLi9iYXNlL2VsZW1lbnQtYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KCB7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1waG9uZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLXBob25lLmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBFY2Fic1Bob25lQ29tcG9uZW50LFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1Bob25lQ29tcG9uZW50XHJcbiAgZXh0ZW5kcyBFbGVtZW50QmFzZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25Jbml0IHtcclxuICBASW5wdXQoKSBwcmVmZXJyZWRDb3VudHJpZXMhOiBzdHJpbmdbXTtcclxuICBASW5wdXQoKSBlbmFibGVQbGFjZWhvbGRlciE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZW5hYmxlU2VhcmNoOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSB1c2VPbmx5RGlzYWJsZWRDbGFzcyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRlY2xhcmUgcmVxdWlyZWQ6IGJvb2xlYW47XHJcblxyXG4gIEBWaWV3Q2hpbGQoICdwaG9uZUlucHV0JyApXHJcbiAgcGhvbmVJbnB1dCE6IE5neE1hdEludGxUZWxJbnB1dENvbXBvbmVudDtcclxuXHJcbiAgcGhvbmVGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIHBob25lU3ViITogYW55O1xyXG4gIHByb2hpYml0ZWRDaGFyYWN0ZXJzID0gWyAnLScgXTtcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5waG9uZUZvcm0uZ2V0KCAncGhvbmUnICk/LnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgc2V0IHZhbHVlKCB2YWwgKSB7XHJcbiAgICBpZiAoIHZhbCAhPT0gdW5kZWZpbmVkICYmIHRoaXMudmFsdWUgIT09IHZhbCApIHtcclxuICAgICAgdGhpcy5waG9uZUZvcm0uc2V0VmFsdWUoIHsgcGhvbmU6IHZhbCB9ICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvciggcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lciggJ2tleXByZXNzJywgWyAnJGV2ZW50JyBdICkgb25JbnB1dCggZXZlbnQ6IEtleWJvYXJkRXZlbnQgKTogdm9pZCB7XHJcbiAgICBpZiAoIHRoaXMucHJvaGliaXRlZENoYXJhY3RlcnMuaW5jbHVkZXMoIGV2ZW50LmtleSApICkge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBob25lRm9ybSA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKCB7XHJcbiAgICAgIHBob25lOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCB1bmRlZmluZWQsIHRoaXMucmVxdWlyZWQgPyBbIFZhbGlkYXRvcnMucmVxdWlyZWQgXSA6IFtdICksXHJcbiAgICB9ICk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBuZ0NvbnRyb2w6IE5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCBOZ0NvbnRyb2wsIG51bGwgKTtcclxuICAgIGlmICggbmdDb250cm9sICkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wgPSBuZ0NvbnRyb2wuY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5waG9uZVN1YiA9IHRoaXMucGhvbmVGb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoICggZm9ybVZhbCApID0+IHtcclxuICAgICAgdGhpcy52YWx1ZSA9IGZvcm1WYWw/LnBob25lO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKCB0aGlzLnZhbHVlICk7XHJcbiAgICAgIHRoaXMub25Ub3VjaCggdGhpcy52YWx1ZSApO1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0RXJyb3JzKCB0aGlzLnBob25lRm9ybS5nZXQoICdwaG9uZScgKS5lcnJvcnMgKTtcclxuICAgIH0gKTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKTogdm9pZCA9PiB7IH07XHJcbiAgb25Ub3VjaDogYW55ID0gKCk6IHZvaWQgPT4geyB9O1xyXG5cclxuICB3cml0ZVZhbHVlKCB2YWx1ZTogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZSggZm46IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKCBmbjogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucGhvbmVTdWI/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICByZXNldCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGhvbmVJbnB1dC5yZXNldCgpO1xyXG4gIH1cclxuXHJcbiAgb25CbHVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb250cm9sLnNldEVycm9ycyggdGhpcy5waG9uZUZvcm0uZ2V0KCAncGhvbmUnICkuZXJyb3JzICk7XHJcbiAgICB0aGlzLm9uVG91Y2goIHRoaXMudmFsdWUgKTtcclxuICAgIHRoaXMub25DaGFuZ2UoIHRoaXMudmFsdWUgKTtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1lbGVtZW50LXdyYXBwZXIgW2RhdGFdPVwiZ2V0RGF0YSgpXCI+XHJcbiAgPGZvcm0gI2Y9XCJuZ0Zvcm1cIiBbZm9ybUdyb3VwXT1cInBob25lRm9ybVwiPlxyXG4gICAgICA8bmd4LW1hdC1pbnRsLXRlbC1pbnB1dFxyXG4gICAgICAgIChmb2N1c291dCk9XCJvbkJsdXIoKVwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieyBlcnJvcjogcGhvbmVGb3JtLmludmFsaWQgJiYgKHBob25lRm9ybS5kaXJ0eSB8fCBwaG9uZUZvcm0udG91Y2hlZCkgfVwiXHJcbiAgICAgICAgI3Bob25lSW5wdXRcclxuICAgICAgICBbcHJlZmVycmVkQ291bnRyaWVzXT1cInByZWZlcnJlZENvdW50cmllc1wiXHJcbiAgICAgICAgW2VuYWJsZVBsYWNlaG9sZGVyXT1cImVuYWJsZVBsYWNlaG9sZGVyXCJcclxuICAgICAgICBbZW5hYmxlU2VhcmNoXT1cImVuYWJsZVNlYXJjaFwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIidwaG9uZSdcIlxyXG4gICAgICAgIG5hbWU9XCJwaG9uZVwiXHJcbiAgICAgICAgW2lucHV0UGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvbmd4LW1hdC1pbnRsLXRlbC1pbnB1dD5cclxuICA8L2Zvcm0+XHJcbjwvYXBwLWVsZW1lbnQtd3JhcHBlcj5cclxuIl19