ecabs-components 0.0.47 → 0.0.49

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 (161) 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-active-status-filter/active-status-filter.component.mjs +30 -0
  15. package/esm2020/lib/ecabs-active-status-filter/active-status-filter.module.mjs +20 -0
  16. package/esm2020/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +16 -0
  17. package/{esm2022 → esm2020}/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.mjs +5 -5
  18. package/esm2020/lib/ecabs-buttons/ecabs-buttons.component.mjs +65 -0
  19. package/{esm2022 → esm2020}/lib/ecabs-buttons/ecabs-buttons.module.mjs +5 -5
  20. package/esm2020/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +85 -0
  21. package/{esm2022 → esm2020}/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.mjs +13 -13
  22. package/esm2020/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +17 -0
  23. package/esm2020/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +85 -0
  24. package/{esm2022 → esm2020}/lib/ecabs-date-picker/ecabs-date-picker.module.mjs +19 -19
  25. package/esm2020/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +17 -0
  26. package/esm2020/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +179 -0
  27. package/{esm2022 → esm2020}/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.mjs +27 -27
  28. 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
  29. package/esm2020/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +193 -0
  30. package/{esm2022 → esm2020}/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.mjs +27 -27
  31. package/esm2020/lib/ecabs-date-time-range-picker/time-range.directive.mjs +45 -0
  32. package/esm2020/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +28 -0
  33. package/{esm2022 → esm2020}/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.mjs +5 -5
  34. package/esm2020/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +25 -0
  35. package/{esm2022 → esm2020}/lib/ecabs-dialog-message/ecabs-dialog-message.module.mjs +5 -5
  36. package/{esm2022 → esm2020}/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.mjs +4 -7
  37. package/{esm2022 → esm2020}/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.mjs +5 -5
  38. package/esm2020/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +76 -0
  39. package/{esm2022 → esm2020}/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.mjs +5 -5
  40. package/esm2020/lib/ecabs-increment/ecabs-increment.component.mjs +78 -0
  41. package/{esm2022 → esm2020}/lib/ecabs-increment/ecabs-increment.module.mjs +5 -5
  42. package/esm2020/lib/ecabs-input/ecabs-input.component.mjs +85 -0
  43. package/{esm2022 → esm2020}/lib/ecabs-input/ecabs-input.module.mjs +5 -5
  44. package/esm2020/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +51 -0
  45. package/{esm2022 → esm2020}/lib/ecabs-language-selector/ecabs-language-selector.module.mjs +13 -13
  46. package/esm2020/lib/ecabs-loading/ecabs-loading.component.mjs +24 -0
  47. package/{esm2022 → esm2020}/lib/ecabs-loading/ecabs-loading.module.mjs +5 -5
  48. package/esm2020/lib/ecabs-loading/spinner/spinner.component.mjs +16 -0
  49. package/esm2020/lib/ecabs-note/ecabs-note.component.mjs +30 -0
  50. package/{esm2022 → esm2020}/lib/ecabs-note/ecabs-note.module.mjs +5 -5
  51. package/esm2020/lib/ecabs-phone/ecabs-phone.component.mjs +105 -0
  52. package/{esm2022 → esm2020}/lib/ecabs-phone/ecabs-phone.module.mjs +5 -5
  53. package/esm2020/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +50 -0
  54. package/{esm2022 → esm2020}/lib/ecabs-picker-header/ecabs-picker-header.module.mjs +5 -5
  55. package/esm2020/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +65 -0
  56. package/{esm2022 → esm2020}/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.mjs +11 -11
  57. package/esm2020/lib/ecabs-select/ecabs-select.component.mjs +222 -0
  58. package/esm2020/lib/ecabs-select/ecabs-select.module.mjs +60 -0
  59. package/esm2020/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +17 -0
  60. package/{esm2022 → esm2020}/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.mjs +7 -7
  61. package/esm2020/lib/ecabs-table/ecabs-table.component.mjs +43 -0
  62. package/{esm2022 → esm2020}/lib/ecabs-table/ecabs-table.module.mjs +11 -11
  63. package/esm2020/lib/ecabs-textarea/ecabs-textarea.component.mjs +62 -0
  64. package/{esm2022 → esm2020}/lib/ecabs-textarea/ecabs-textarea.module.mjs +5 -5
  65. package/esm2020/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +137 -0
  66. package/esm2020/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +312 -0
  67. package/{esm2022 → esm2020}/lib/ecabs-timepicker/ecabs-timepicker.module.mjs +5 -5
  68. package/esm2020/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +31 -0
  69. package/esm2020/lib/services/ecabs-components.service.mjs +32 -0
  70. package/esm2020/public-api.mjs +57 -0
  71. package/fesm2015/ecabs-components.mjs +3283 -0
  72. package/fesm2015/ecabs-components.mjs.map +1 -0
  73. package/fesm2020/ecabs-components.mjs +3267 -0
  74. package/fesm2020/ecabs-components.mjs.map +1 -0
  75. package/lib/base/directives/date-mask.directive.d.ts +1 -1
  76. package/lib/base/directives/digits-only.directive.d.ts +1 -1
  77. package/lib/base/directives/number-border.directive.d.ts +1 -1
  78. package/lib/base/element-base.d.ts +1 -1
  79. package/lib/base/element-wrapper/element-wrapper.component.d.ts +1 -1
  80. package/lib/base/hint/hint.component.d.ts +1 -1
  81. package/lib/base/validation/validation.component.d.ts +1 -1
  82. package/lib/ecabs-active-status-filter/active-status-filter.component.d.ts +14 -0
  83. package/lib/ecabs-active-status-filter/active-status-filter.module.d.ts +10 -0
  84. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.d.ts +1 -1
  85. package/lib/ecabs-buttons/ecabs-buttons.component.d.ts +1 -1
  86. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.d.ts +1 -1
  87. package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.d.ts +1 -1
  88. package/lib/ecabs-date-picker/ecabs-date-picker.component.d.ts +1 -1
  89. package/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.d.ts +1 -1
  90. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +1 -1
  91. package/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.d.ts +1 -1
  92. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.d.ts +1 -1
  93. package/lib/ecabs-date-time-range-picker/time-range.directive.d.ts +1 -1
  94. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.d.ts +1 -1
  95. package/lib/ecabs-dialog-message/ecabs-dialog-message.component.d.ts +1 -1
  96. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.d.ts +1 -1
  97. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.d.ts +1 -1
  98. package/lib/ecabs-increment/ecabs-increment.component.d.ts +1 -1
  99. package/lib/ecabs-input/ecabs-input.component.d.ts +1 -1
  100. package/lib/ecabs-language-selector/ecabs-language-selector.component.d.ts +1 -1
  101. package/lib/ecabs-loading/ecabs-loading.component.d.ts +1 -1
  102. package/lib/ecabs-loading/spinner/spinner.component.d.ts +1 -1
  103. package/lib/ecabs-note/ecabs-note.component.d.ts +1 -1
  104. package/lib/ecabs-phone/ecabs-phone.component.d.ts +1 -1
  105. package/lib/ecabs-picker-header/ecabs-picker-header.component.d.ts +1 -1
  106. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.d.ts +1 -1
  107. package/lib/ecabs-select/ecabs-select.component.d.ts +1 -1
  108. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.d.ts +1 -1
  109. package/lib/ecabs-table/ecabs-table.component.d.ts +1 -1
  110. package/lib/ecabs-textarea/ecabs-textarea.component.d.ts +1 -1
  111. package/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.d.ts +1 -1
  112. package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +1 -1
  113. package/lib/models/timepicker.models.d.ts +1 -1
  114. package/package.json +11 -5
  115. package/public-api.d.ts +2 -0
  116. package/esm2022/lib/base/directives/date-mask.directive.mjs +0 -67
  117. package/esm2022/lib/base/directives/digits-only.directive.mjs +0 -133
  118. package/esm2022/lib/base/directives/number-border.directive.mjs +0 -58
  119. package/esm2022/lib/base/element-base.mjs +0 -105
  120. package/esm2022/lib/base/element-wrapper/element-wrapper.component.mjs +0 -56
  121. package/esm2022/lib/base/hint/hint.component.mjs +0 -21
  122. package/esm2022/lib/base/validation/validation.component.mjs +0 -75
  123. package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +0 -17
  124. package/esm2022/lib/ecabs-buttons/ecabs-buttons.component.mjs +0 -67
  125. package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +0 -90
  126. package/esm2022/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +0 -15
  127. package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +0 -89
  128. package/esm2022/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +0 -15
  129. package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +0 -186
  130. package/esm2022/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +0 -15
  131. package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +0 -199
  132. package/esm2022/lib/ecabs-date-time-range-picker/time-range.directive.mjs +0 -48
  133. package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +0 -31
  134. package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +0 -28
  135. package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +0 -85
  136. package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +0 -83
  137. package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +0 -93
  138. package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +0 -51
  139. package/esm2022/lib/ecabs-loading/ecabs-loading.component.mjs +0 -22
  140. package/esm2022/lib/ecabs-loading/spinner/spinner.component.mjs +0 -14
  141. package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +0 -28
  142. package/esm2022/lib/ecabs-phone/ecabs-phone.component.mjs +0 -111
  143. package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +0 -53
  144. package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +0 -68
  145. package/esm2022/lib/ecabs-select/ecabs-select.component.mjs +0 -227
  146. package/esm2022/lib/ecabs-select/ecabs-select.module.mjs +0 -60
  147. package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +0 -19
  148. package/esm2022/lib/ecabs-table/ecabs-table.component.mjs +0 -48
  149. package/esm2022/lib/ecabs-textarea/ecabs-textarea.component.mjs +0 -65
  150. package/esm2022/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +0 -144
  151. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +0 -322
  152. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +0 -29
  153. package/esm2022/lib/services/ecabs-components.service.mjs +0 -31
  154. package/esm2022/public-api.mjs +0 -55
  155. package/fesm2022/ecabs-components.mjs +0 -3338
  156. package/fesm2022/ecabs-components.mjs.map +0 -1
  157. /package/{esm2022 → esm2020}/ecabs-components.mjs +0 -0
  158. /package/{esm2022 → esm2020}/lib/base/consts/date-mask.consts.mjs +0 -0
  159. /package/{esm2022 → esm2020}/lib/ecabs-timepicker/config.model.mjs +0 -0
  160. /package/{esm2022 → esm2020}/lib/models/bread-crumb.mjs +0 -0
  161. /package/{esm2022 → esm2020}/lib/models/timepicker.models.mjs +0 -0
@@ -1,93 +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
- min;
16
- step;
17
- onblur = new EventEmitter();
18
- val;
19
- get value() {
20
- return this.val;
21
- }
22
- set value(val) {
23
- if (val !== undefined && this.val !== val) {
24
- this.val = val;
25
- this.onChange(val);
26
- if (this.getData()?.control?.updateOn !== 'blur') {
27
- this.onTouch(val);
28
- }
29
- }
30
- }
31
- constructor(injector) {
32
- super();
33
- this.injector = injector;
34
- }
35
- ngOnInit() {
36
- if (this.type === 'number') {
37
- this.digitsOnly = true;
38
- }
39
- }
40
- ngAfterViewInit() {
41
- const ngControl = this.injector.get(NgControl, null);
42
- if (ngControl) {
43
- this.control = ngControl.control;
44
- }
45
- }
46
- onChange = () => { };
47
- onTouch = () => { };
48
- writeValue(value) {
49
- this.value = value;
50
- }
51
- registerOnChange(fn) {
52
- this.onChange = fn;
53
- }
54
- registerOnTouched(fn) {
55
- this.onTouch = fn;
56
- }
57
- blurChange(e) {
58
- this.onblur.emit(e);
59
- }
60
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsInputComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
61
- 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", min: "min", step: "step" }, outputs: { onblur: "onblur" }, providers: [
62
- {
63
- provide: NG_VALUE_ACCESSOR,
64
- useExisting: EcabsInputComponent,
65
- multi: true,
66
- },
67
- ], 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 [min]=\"min\"\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"] }] });
68
- }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsInputComponent, decorators: [{
70
- type: Component,
71
- args: [{ selector: 'ecabs-input', providers: [
72
- {
73
- provide: NG_VALUE_ACCESSOR,
74
- useExisting: EcabsInputComponent,
75
- multi: true,
76
- },
77
- ], 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 [min]=\"min\"\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" }]
78
- }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { digitsOnly: [{
79
- type: Input
80
- }], allowDecimal: [{
81
- type: Input
82
- }], allowHyphen: [{
83
- type: Input
84
- }], max: [{
85
- type: Input
86
- }], min: [{
87
- type: Input
88
- }], step: [{
89
- type: Input
90
- }], onblur: [{
91
- type: Output
92
- }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWlucHV0L2VjYWJzLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1pbnB1dC9lY2Ficy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQVksS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQTRDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hHLE9BQU8sb0JBQW9CLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQWF4RCxNQUFNLE9BQU8sbUJBQ1gsU0FBUSxvQkFBb0I7SUFpQ1A7SUE5QnJCLFVBQVUsQ0FBVztJQUdyQixZQUFZLENBQVc7SUFHdkIsV0FBVyxDQUFXO0lBRWIsR0FBRyxDQUFVO0lBQ2IsR0FBRyxDQUFVO0lBQ2IsSUFBSSxDQUFVO0lBRWIsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDM0MsR0FBRyxDQUFtQjtJQUV0QixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFFLEdBQUc7UUFDWixJQUFLLEdBQUcsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUc7WUFDM0MsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFFLEdBQUcsQ0FBRSxDQUFDO1lBRXJCLElBQUssSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEtBQUssTUFBTSxFQUFHO2dCQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFFLEdBQUcsQ0FBRSxDQUFDO2FBQ3JCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsWUFBcUIsUUFBa0I7UUFDckMsS0FBSyxFQUFFLENBQUM7UUFEVyxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBRXZDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRztZQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxTQUFTLEdBQWMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUUsU0FBUyxFQUFFLElBQUksQ0FBZSxDQUFDO1FBQy9FLElBQUssU0FBUyxFQUFHO1lBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBNkIsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFRCxRQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRTFCLE9BQU8sR0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFekIsVUFBVSxDQUFFLEtBQVU7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELGdCQUFnQixDQUFFLEVBQU87UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFFLEVBQU87UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFVBQVUsQ0FBRSxDQUFNO1FBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFFLENBQUMsQ0FBRSxDQUFDO0lBQ3hCLENBQUM7dUdBckVVLG1CQUFtQjsyRkFBbkIsbUJBQW1CLDJNQVJuQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxtQkFBbUI7Z0JBQ2hDLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixpRENiSCw0MUJBMkJBOzsyRkRaYSxtQkFBbUI7a0JBWC9CLFNBQVM7K0JBQ0UsYUFBYSxhQUVaO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcscUJBQXFCOzRCQUNoQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjsrRkFNRCxVQUFVO3NCQURULEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFHRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVW50eXBlZEZvcm1Db250cm9sLCBOZ0NvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgRWxlbWVudEJhc2VDb21wb25lbnQgZnJvbSAnLi4vYmFzZS9lbGVtZW50LWJhc2UnO1xyXG5cclxuQENvbXBvbmVudCgge1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtaW5wdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogRWNhYnNJbnB1dENvbXBvbmVudCxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgRWNhYnNJbnB1dENvbXBvbmVudFxyXG4gIGV4dGVuZHMgRWxlbWVudEJhc2VDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0LCBPbkluaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgZGlnaXRzT25seSE6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYWxsb3dEZWNpbWFsITogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBhbGxvd0h5cGhlbiE6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpIG1heCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBtaW4hOiBudW1iZXI7XHJcbiAgQElucHV0KCkgc3RlcCE6IG51bWJlcjtcclxuXHJcbiAgQE91dHB1dCgpIG9uYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIHZhbCE6IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy52YWw7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUoIHZhbCApIHtcclxuICAgIGlmICggdmFsICE9PSB1bmRlZmluZWQgJiYgdGhpcy52YWwgIT09IHZhbCApIHtcclxuICAgICAgdGhpcy52YWwgPSB2YWw7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UoIHZhbCApO1xyXG5cclxuICAgICAgaWYgKCB0aGlzLmdldERhdGEoKT8uY29udHJvbD8udXBkYXRlT24gIT09ICdibHVyJyApIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2goIHZhbCApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvciggcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIHRoaXMudHlwZSA9PT0gJ251bWJlcicgKSB7XHJcbiAgICAgIHRoaXMuZGlnaXRzT25seSA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBuZ0NvbnRyb2w6IE5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCBOZ0NvbnRyb2wsIG51bGwgKSBhcyBOZ0NvbnRyb2w7XHJcbiAgICBpZiAoIG5nQ29udHJvbCApIHtcclxuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgb25Ub3VjaDogYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICB3cml0ZVZhbHVlKCB2YWx1ZTogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZSggZm46IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKCBmbjogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICBibHVyQ2hhbmdlKCBlOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uYmx1ci5lbWl0KCBlICk7XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtZWxlbWVudC13cmFwcGVyIFtkYXRhXT1cImdldERhdGEoKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dC0td3JhcHBlclwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIGFwcERpZ2l0c09ubHlcclxuICAgICAgW2RpZ2l0c09ubHldPVwiZGlnaXRzT25seVwiXHJcbiAgICAgIFtkZWNpbWFsXT1cImFsbG93RGVjaW1hbFwiXHJcbiAgICAgIFthbGxvd0h5cGhlbl09XCJhbGxvd0h5cGhlblwiXHJcbiAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXRcIlxyXG4gICAgICBbdHlwZV09XCJ0eXBlXCJcclxuICAgICAgW2lkXT1cIm5hbWVcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgKGJsdXIpPVwib25Ub3VjaCgpXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgW21heGxlbmd0aF09XCJtYXhMZW5ndGhcIlxyXG4gICAgICBbbWF4XT1cIm1heFwiXHJcbiAgICAgIFttaW5dPVwibWluXCJcclxuICAgICAgW3N0ZXBdPVwic3RlcFwiXHJcbiAgICAgIChibHVyKT1cImJsdXJDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAvPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dC0tc3VmZml4XCIgKm5nSWY9XCJ0eXBlICE9PSAnbnVtYmVyJ1wiPlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtYXQtaWNvblwiPjwvbmctY29udGVudD5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLnN1ZmZpeFwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2FwcC1lbGVtZW50LXdyYXBwZXI+XHJcbiJdfQ==
@@ -1,51 +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
- languageChanged = new EventEmitter();
12
- selectedLang;
13
- ngOnChanges() {
14
- this.selectedLang = this.currentLanguage;
15
- }
16
- toggleLang() {
17
- return this.matchSelected() ? this.languageChanged.emit(this.matchSelected()) : undefined;
18
- }
19
- matchSelected() {
20
- return this.languages?.find((lang) => lang === this.selectedLang);
21
- }
22
- standardLang(code) {
23
- return this.standardise(code);
24
- }
25
- flagClass(lang) {
26
- return `fi fi-${lang?.slice(-2).toLowerCase()}`;
27
- }
28
- standardise(code) {
29
- if (!code) {
30
- return undefined;
31
- }
32
- const lang = new Intl.DisplayNames([code], {
33
- type: 'language',
34
- languageDisplay: 'standard',
35
- });
36
- return lang.of(code);
37
- }
38
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsLanguageSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: EcabsLanguageSelectorComponent, selector: "ecabs-language-selector", inputs: { languages: "languages", currentLanguage: "currentLanguage" }, 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) | titlecase}}</div>\r\n </div>\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n", styles: [":host::ng-deep .mat-select{padding:0;border:0}:host::ng-deep .mat-select .mat-select-arrow{border:none}:host::ng-deep .mat-select,:host::ng-deep .mat-select .mat-option{font-size:12px}:host::ng-deep .mat-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"] }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }] });
40
- }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsLanguageSelectorComponent, decorators: [{
42
- type: Component,
43
- 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) | titlecase}}</div>\r\n </div>\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n", styles: [":host::ng-deep .mat-select{padding:0;border:0}:host::ng-deep .mat-select .mat-select-arrow{border:none}:host::ng-deep .mat-select,:host::ng-deep .mat-select .mat-option{font-size:12px}:host::ng-deep .mat-form-field-infix{width:auto}\n"] }]
44
- }], propDecorators: { languages: [{
45
- type: Input
46
- }], currentLanguage: [{
47
- type: Input
48
- }], languageChanged: [{
49
- type: Output
50
- }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWxhbmd1YWdlLXNlbGVjdG9yL2VjYWJzLWxhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1sYW5ndWFnZS1zZWxlY3Rvci9lY2Ficy1sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBT2xGLE1BQU0sT0FBTyw4QkFBOEI7SUFFekMsU0FBUyxHQUFhLEVBQUUsQ0FBQztJQUd6QixlQUFlLENBQVM7SUFHeEIsZUFBZSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBRW5FLFlBQVksQ0FBUztJQUVyQixXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzNDLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDOUYsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFFLENBQUUsSUFBSSxFQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBRSxDQUFDO0lBQ3hFLENBQUM7SUFFRCxZQUFZLENBQUUsSUFBWTtRQUN4QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUUsSUFBSSxDQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFNBQVMsQ0FBRSxJQUFZO1FBQ3JCLE9BQU8sU0FBVSxJQUFJLEVBQUUsS0FBSyxDQUFFLENBQUMsQ0FBQyxDQUFFLENBQUMsV0FBVyxFQUFHLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRU8sV0FBVyxDQUFFLElBQVk7UUFDL0IsSUFBSyxDQUFDLElBQUksRUFBRztZQUNYLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFFLENBQUUsSUFBSSxDQUFFLEVBQUU7WUFDNUMsSUFBSSxFQUFFLFVBQVU7WUFDaEIsZUFBZSxFQUFFLFVBQVU7U0FDNUIsQ0FBRSxDQUFDO1FBQ0osT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFFLElBQUksQ0FBRSxDQUFDO0lBQ3pCLENBQUM7dUdBekNVLDhCQUE4QjsyRkFBOUIsOEJBQThCLDZNQ1AzQyx3d0JBaUJBOzsyRkRWYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UseUJBQXlCOzhCQU1uQyxTQUFTO3NCQURSLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLGVBQWU7c0JBRGQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoIHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLWxhbmd1YWdlLXNlbGVjdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWNhYnMtbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWyAnLi9lY2Ficy1sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQuc2NzcycgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0xhbmd1YWdlU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpXHJcbiAgbGFuZ3VhZ2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGN1cnJlbnRMYW5ndWFnZTogc3RyaW5nO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBsYW5ndWFnZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIHNlbGVjdGVkTGFuZzogc3RyaW5nO1xyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRMYW5nID0gdGhpcy5jdXJyZW50TGFuZ3VhZ2U7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVMYW5nKCk6IHZvaWQge1xyXG4gICAgcmV0dXJuIHRoaXMubWF0Y2hTZWxlY3RlZCgpID8gdGhpcy5sYW5ndWFnZUNoYW5nZWQuZW1pdCggdGhpcy5tYXRjaFNlbGVjdGVkKCkgKSA6IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIG1hdGNoU2VsZWN0ZWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmxhbmd1YWdlcz8uZmluZCggKCBsYW5nICkgPT4gbGFuZyA9PT0gdGhpcy5zZWxlY3RlZExhbmcgKTtcclxuICB9XHJcblxyXG4gIHN0YW5kYXJkTGFuZyggY29kZTogc3RyaW5nICk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGFuZGFyZGlzZSggY29kZSApO1xyXG4gIH1cclxuXHJcbiAgZmxhZ0NsYXNzKCBsYW5nOiBzdHJpbmcgKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgZmkgZmktJHsgbGFuZz8uc2xpY2UoIC0yICkudG9Mb3dlckNhc2UoKSB9YDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhbmRhcmRpc2UoIGNvZGU6IHN0cmluZyApOiBzdHJpbmcge1xyXG4gICAgaWYgKCAhY29kZSApIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIGNvbnN0IGxhbmcgPSBuZXcgSW50bC5EaXNwbGF5TmFtZXMoIFsgY29kZSBdLCB7XHJcbiAgICAgIHR5cGU6ICdsYW5ndWFnZScsXHJcbiAgICAgIGxhbmd1YWdlRGlzcGxheTogJ3N0YW5kYXJkJyxcclxuICAgIH0gKTtcclxuICAgIHJldHVybiBsYW5nLm9mKCBjb2RlICk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtZm9ybS1maWVsZD5cclxuICA8bWF0LXNlbGVjdCBjbGFzcz1cImNhcGl0YWxpemVcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkTGFuZ1wiIG5hbWU9XCJsYW5ndWFnZVwiIChuZ01vZGVsQ2hhbmdlKT1cInRvZ2dsZUxhbmcoKVwiXHJcbiAgICAgICAgICAgICAgcGFuZWxDbGFzcz1cIndpZGUtc2VsZWN0XCI+XHJcbiAgICA8bWF0LXNlbGVjdC10cmlnZ2VyPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJmbGFnQ2xhc3MobWF0Y2hTZWxlY3RlZCgpKVwiPjwvc3Bhbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWwtMlwiPnt7c3RhbmRhcmRMYW5nKG1hdGNoU2VsZWN0ZWQoKSl9fTwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxyXG4gICAgPG1hdC1vcHRpb24gY2xhc3M9XCJjYXBpdGFsaXplXCIgKm5nRm9yPVwibGV0IGxhbmcgb2YgbGFuZ3VhZ2VzXCIgW3ZhbHVlXT1cImxhbmdcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwiZmxhZ0NsYXNzKGxhbmcpXCI+PC9zcGFuPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtbC0yXCI+e3tzdGFuZGFyZExhbmcobGFuZykgfCB0aXRsZWNhc2V9fTwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LW9wdGlvbj5cclxuICA8L21hdC1zZWxlY3Q+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcbiJdfQ==
@@ -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 = false;
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcGhvbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXBob25lL2VjYWJzLXBob25lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1waG9uZS9lY2Ficy1waG9uZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQVksS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUVMLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixTQUFTLEdBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLG9CQUFvQixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFheEQsTUFBTSxPQUFPLG1CQUNYLFNBQVEsb0JBQW9CO0lBeUJFO0lBdkJyQixrQkFBa0IsQ0FBWTtJQUM5QixpQkFBaUIsQ0FBVztJQUM1QixZQUFZLEdBQVksSUFBSSxDQUFDO0lBQzdCLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUNwQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBR25DLFVBQVUsQ0FBK0I7SUFFekMsU0FBUyxDQUFtQjtJQUM1QixRQUFRLENBQU87SUFDZixvQkFBb0IsR0FBRyxDQUFFLEdBQUcsQ0FBRSxDQUFDO0lBRS9CLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUUsT0FBTyxDQUFFLEVBQUUsS0FBSyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBRSxHQUFHO1FBQ1osSUFBSyxHQUFHLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssR0FBRyxFQUFHO1lBQzdDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFFLENBQUM7U0FDM0M7SUFDSCxDQUFDO0lBRUQsWUFBOEIsUUFBa0I7UUFDOUMsS0FBSyxFQUFFLENBQUM7UUFEb0IsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUVoRCxDQUFDO0lBRXlDLE9BQU8sQ0FBRSxLQUFvQjtRQUNyRSxJQUFLLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBRSxFQUFHO1lBQ3JELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGdCQUFnQixDQUFFO1lBQ3JDLEtBQUssRUFBRSxJQUFJLGtCQUFrQixDQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFFO1NBQ3pGLENBQUUsQ0FBQztJQUNOLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxTQUFTLEdBQWMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUUsU0FBUyxFQUFFLElBQUksQ0FBRSxDQUFDO1FBQ2xFLElBQUssU0FBUyxFQUFHO1lBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBNkIsQ0FBQztTQUN4RDtRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFFLENBQUUsT0FBTyxFQUFHLEVBQUU7WUFDbkUsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxDQUFDO1lBQzVCLElBQUksQ0FBQyxRQUFRLENBQUUsSUFBSSxDQUFDLEtBQUssQ0FBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxPQUFPLENBQUUsSUFBSSxDQUFDLEtBQUssQ0FBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFFLE9BQU8sQ0FBRSxDQUFDLE1BQU0sQ0FBRSxDQUFDO1FBQ2pFLENBQUMsQ0FBRSxDQUFDO0lBQ04sQ0FBQztJQUVELFFBQVEsR0FBUSxHQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDaEMsT0FBTyxHQUFRLEdBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUUvQixVQUFVLENBQUUsS0FBVTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsZ0JBQWdCLENBQUUsRUFBTztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUUsRUFBTztRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUUsT0FBTyxDQUFFLENBQUMsTUFBTSxDQUFFLENBQUM7UUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBRSxJQUFJLENBQUMsS0FBSyxDQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBRSxJQUFJLENBQUMsS0FBSyxDQUFFLENBQUM7SUFDOUIsQ0FBQzt1R0FuRlUsbUJBQW1COzJGQUFuQixtQkFBbUIsOFJBUm5CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLG1CQUFtQjtnQkFDaEMsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDJKQ3JCSCwrcEJBaUJBOzsyRkRNYSxtQkFBbUI7a0JBWC9CLFNBQVM7K0JBQ0UsYUFBYSxhQUVaO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcscUJBQXFCOzRCQUNoQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjsrRkFLUSxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNZLFFBQVE7c0JBQXpCLEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxTQUFTO3VCQUFFLFlBQVk7Z0JBcUJrQixPQUFPO3NCQUFoRCxZQUFZO3VCQUFFLFVBQVUsRUFBRSxDQUFFLFFBQVEsQ0FBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbmplY3RvciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcclxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXHJcbiAgVW50eXBlZEZvcm1Hcm91cCxcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxuICBWYWxpZGF0b3JzLFxyXG4gIE5nQ29udHJvbCxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5neE1hdEludGxUZWxJbnB1dENvbXBvbmVudCB9IGZyb20gJ25neC1tYXQtaW50bC10ZWwtaW5wdXQnO1xyXG5pbXBvcnQgRWxlbWVudEJhc2VDb21wb25lbnQgZnJvbSAnLi4vYmFzZS9lbGVtZW50LWJhc2UnO1xyXG5cclxuQENvbXBvbmVudCgge1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtcGhvbmUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1waG9uZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogRWNhYnNQaG9uZUNvbXBvbmVudCxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgRWNhYnNQaG9uZUNvbXBvbmVudFxyXG4gIGV4dGVuZHMgRWxlbWVudEJhc2VDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgcHJlZmVycmVkQ291bnRyaWVzITogc3RyaW5nW107XHJcbiAgQElucHV0KCkgZW5hYmxlUGxhY2Vob2xkZXIhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGVuYWJsZVNlYXJjaDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgdXNlT25seURpc2FibGVkQ2xhc3MgPSBmYWxzZTtcclxuICBASW5wdXQoKSBvdmVycmlkZSByZXF1aXJlZCA9IGZhbHNlO1xyXG5cclxuICBAVmlld0NoaWxkKCAncGhvbmVJbnB1dCcgKVxyXG4gIHBob25lSW5wdXQhOiBOZ3hNYXRJbnRsVGVsSW5wdXRDb21wb25lbnQ7XHJcblxyXG4gIHBob25lRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBwaG9uZVN1YiE6IGFueTtcclxuICBwcm9oaWJpdGVkQ2hhcmFjdGVycyA9IFsgJy0nIF07XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMucGhvbmVGb3JtLmdldCggJ3Bob25lJyApPy52YWx1ZTtcclxuICB9XHJcblxyXG4gIHNldCB2YWx1ZSggdmFsICkge1xyXG4gICAgaWYgKCB2YWwgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnZhbHVlICE9PSB2YWwgKSB7XHJcbiAgICAgIHRoaXMucGhvbmVGb3JtLnNldFZhbHVlKCB7IHBob25lOiB2YWwgfSApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoICdrZXlwcmVzcycsIFsgJyRldmVudCcgXSApIG9uSW5wdXQoIGV2ZW50OiBLZXlib2FyZEV2ZW50ICk6IHZvaWQge1xyXG4gICAgaWYgKCB0aGlzLnByb2hpYml0ZWRDaGFyYWN0ZXJzLmluY2x1ZGVzKCBldmVudC5rZXkgKSApIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5waG9uZUZvcm0gPSBuZXcgVW50eXBlZEZvcm1Hcm91cCgge1xyXG4gICAgICBwaG9uZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCggdW5kZWZpbmVkLCB0aGlzLnJlcXVpcmVkID8gWyBWYWxpZGF0b3JzLnJlcXVpcmVkIF0gOiBbXSApLFxyXG4gICAgfSApO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmdDb250cm9sOiBOZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldCggTmdDb250cm9sLCBudWxsICk7XHJcbiAgICBpZiAoIG5nQ29udHJvbCApIHtcclxuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucGhvbmVTdWIgPSB0aGlzLnBob25lRm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCAoIGZvcm1WYWwgKSA9PiB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBmb3JtVmFsPy5waG9uZTtcclxuICAgICAgdGhpcy5vbkNoYW5nZSggdGhpcy52YWx1ZSApO1xyXG4gICAgICB0aGlzLm9uVG91Y2goIHRoaXMudmFsdWUgKTtcclxuICAgICAgdGhpcy5jb250cm9sLnNldEVycm9ycyggdGhpcy5waG9uZUZvcm0uZ2V0KCAncGhvbmUnICkuZXJyb3JzICk7XHJcbiAgICB9ICk7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZTogYW55ID0gKCk6IHZvaWQgPT4geyB9O1xyXG4gIG9uVG91Y2g6IGFueSA9ICgpOiB2b2lkID0+IHsgfTtcclxuXHJcbiAgd3JpdGVWYWx1ZSggdmFsdWU6IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoIGZuOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZCggZm46IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnBob25lU3ViPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBob25lSW5wdXQucmVzZXQoKTtcclxuICB9XHJcblxyXG4gIG9uQmx1cigpOiB2b2lkIHtcclxuICAgIHRoaXMuY29udHJvbC5zZXRFcnJvcnMoIHRoaXMucGhvbmVGb3JtLmdldCggJ3Bob25lJyApLmVycm9ycyApO1xyXG4gICAgdGhpcy5vblRvdWNoKCB0aGlzLnZhbHVlICk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKCB0aGlzLnZhbHVlICk7XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtZWxlbWVudC13cmFwcGVyIFtkYXRhXT1cImdldERhdGEoKVwiPlxyXG4gIDxmb3JtICNmPVwibmdGb3JtXCIgW2Zvcm1Hcm91cF09XCJwaG9uZUZvcm1cIj5cclxuICAgICAgPG5neC1tYXQtaW50bC10ZWwtaW5wdXRcclxuICAgICAgICAoZm9jdXNvdXQpPVwib25CbHVyKClcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgZXJyb3I6IHBob25lRm9ybS5pbnZhbGlkICYmIChwaG9uZUZvcm0uZGlydHkgfHwgcGhvbmVGb3JtLnRvdWNoZWQpIH1cIlxyXG4gICAgICAgICNwaG9uZUlucHV0XHJcbiAgICAgICAgW3ByZWZlcnJlZENvdW50cmllc109XCJwcmVmZXJyZWRDb3VudHJpZXNcIlxyXG4gICAgICAgIFtlbmFibGVQbGFjZWhvbGRlcl09XCJlbmFibGVQbGFjZWhvbGRlclwiXHJcbiAgICAgICAgW2VuYWJsZVNlYXJjaF09XCJlbmFibGVTZWFyY2hcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCIncGhvbmUnXCJcclxuICAgICAgICBuYW1lPVwicGhvbmVcIlxyXG4gICAgICAgIFtpbnB1dFBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgPlxyXG4gICAgICA8L25neC1tYXQtaW50bC10ZWwtaW5wdXQ+XHJcbiAgPC9mb3JtPlxyXG48L2FwcC1lbGVtZW50LXdyYXBwZXI+XHJcbiJdfQ==