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,199 +0,0 @@
1
- import { DecimalPipe } from '@angular/common';
2
- import { Component, EventEmitter, Input, Output } from '@angular/core';
3
- import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
4
- import ElementBaseComponent from '../base/element-base';
5
- import { EcabsDateTimeRangePickerHeaderComponent } from './components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- import * as i2 from "../base/element-wrapper/element-wrapper.component";
9
- import * as i3 from "@angular/material/icon";
10
- import * as i4 from "@angular/material/datepicker";
11
- import * as i5 from "@angular/material/button";
12
- import * as i6 from "@angular/forms";
13
- import * as i7 from "../base/directives/digits-only.directive";
14
- import * as i8 from "../base/directives/number-border.directive";
15
- import * as i9 from "./time-range.directive";
16
- export class EcabsDateTimeRangePickerComponent extends ElementBaseComponent {
17
- injector;
18
- decimalPipe;
19
- touchUi = false;
20
- onblur = new EventEmitter();
21
- cancleLabel = 'Cancel';
22
- applyLabel = 'Apply';
23
- all = 'All';
24
- from = 'From';
25
- to = 'To';
26
- _hoursFrom = '12';
27
- _minutesFrom = '00';
28
- _hoursTo = '12';
29
- _minutesTo = '00';
30
- _seconds = '00';
31
- _date;
32
- _pickerValue;
33
- val;
34
- header = EcabsDateTimeRangePickerHeaderComponent;
35
- maxValueHours = 23;
36
- maxValueMinutesSeconds = 59;
37
- controlDate;
38
- get value() {
39
- return this.val;
40
- }
41
- get pickerValue() {
42
- return this._pickerValue;
43
- }
44
- get hoursFrom() {
45
- return this._hoursFrom;
46
- }
47
- get minutesFrom() {
48
- return this._minutesFrom;
49
- }
50
- get hoursTo() {
51
- return this._hoursTo;
52
- }
53
- get minutesTo() {
54
- return this._minutesTo;
55
- }
56
- get seconds() {
57
- return this._seconds;
58
- }
59
- set hoursFrom(value) {
60
- if (value !== undefined && this._hoursFrom !== value) {
61
- this._hoursFrom = this.roundNumber(+value);
62
- }
63
- }
64
- set minutesFrom(value) {
65
- if (value !== undefined && this._minutesFrom !== value) {
66
- this._minutesFrom = this.roundNumber(+value);
67
- }
68
- }
69
- set hoursTo(value) {
70
- if (value !== undefined && this._hoursTo !== value) {
71
- this._hoursTo = this.roundNumber(+value);
72
- }
73
- }
74
- set minutesTo(value) {
75
- if (value !== undefined && this._minutesTo !== value) {
76
- this._minutesTo = this.roundNumber(+value);
77
- }
78
- }
79
- set seconds(value) {
80
- if (value !== undefined && this._seconds !== value) {
81
- this._seconds = this.roundNumber(+value);
82
- }
83
- }
84
- set value(val) {
85
- if (val && this.val !== val) {
86
- this.val = val;
87
- this.pickerValue = val;
88
- this.onChange(val);
89
- this.onTouch(val);
90
- }
91
- }
92
- set pickerValue(val) {
93
- if (val) {
94
- this._pickerValue = val;
95
- this.value = val;
96
- }
97
- }
98
- constructor(injector, decimalPipe) {
99
- super();
100
- this.injector = injector;
101
- this.decimalPipe = decimalPipe;
102
- }
103
- ngAfterViewInit() {
104
- const ngControl = this.injector.get(NgControl, null);
105
- if (ngControl) {
106
- this.control = ngControl.control;
107
- setTimeout(() => {
108
- this.controlDate = this.control;
109
- const controlDate = !!this.control.value ? this.control.value : '';
110
- if (controlDate) {
111
- this.setValues(controlDate);
112
- }
113
- }, 10);
114
- }
115
- }
116
- onChange = () => { };
117
- onTouch = () => { };
118
- writeValue(value) {
119
- this.value = value;
120
- }
121
- registerOnChange(fn) {
122
- this.onChange = fn;
123
- }
124
- registerOnTouched(fn) {
125
- this.onTouch = fn;
126
- }
127
- blurChange(e) {
128
- this.onblur.emit(e);
129
- }
130
- keydownChange(e) {
131
- if (e?.target.value === this.all) {
132
- const val = '';
133
- this.val = val;
134
- this._pickerValue = val;
135
- this.onChange(val);
136
- this.onTouch(val);
137
- }
138
- }
139
- onApply() {
140
- if (this._minutesFrom && this._hoursFrom && this._minutesTo && this._hoursTo) {
141
- this.setValues(this._hoursFrom + ':' + this._minutesFrom + ' - ' + this._hoursTo + ':' + this._minutesTo);
142
- this.value = this._hoursFrom + ':' + this._minutesFrom + ' - ' + this._hoursTo + ':' + this._minutesTo;
143
- return;
144
- }
145
- }
146
- opened() {
147
- setTimeout(() => {
148
- const elements = document.getElementsByClassName('mat-calendar-content');
149
- while (elements.length > 0) {
150
- elements[0].parentNode.removeChild(elements[0]);
151
- }
152
- let cols = Array.from(document.getElementsByClassName('mat-calendar'));
153
- for (let i = 0; i < cols.length; i++) {
154
- cols[i].style.height = '50px';
155
- }
156
- });
157
- }
158
- roundNumber(num) {
159
- return this.decimalPipe.transform(num, '2.0-0') ?? '00';
160
- }
161
- setValues(date) {
162
- this._date = date;
163
- }
164
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsDateTimeRangePickerComponent, deps: [{ token: i0.Injector }, { token: i1.DecimalPipe }], target: i0.ɵɵFactoryTarget.Component });
165
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: EcabsDateTimeRangePickerComponent, selector: "ecabs-date-time-range-picker", inputs: { touchUi: "touchUi", cancleLabel: "cancleLabel", applyLabel: "applyLabel", all: "all", from: "from", to: "to" }, outputs: { onblur: "onblur" }, providers: [
166
- {
167
- provide: NG_VALUE_ACCESSOR,
168
- useExisting: EcabsDateTimeRangePickerComponent,
169
- multi: true,
170
- },
171
- DecimalPipe,
172
- ], usesInheritance: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper w-full\">\r\n <input\r\n class=\"fake-input\"\r\n [id]=\"_date\"\r\n [(ngModel)]=\"_date\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled || controlDate?.disabled\"\r\n [matDatepicker]=\"picker\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <mat-datepicker (opened)=\"opened()\" #picker [calendarHeaderComponent]=\"header\" [touchUi]=\"touchUi\">\r\n \r\n <mat-datepicker-actions>\r\n <div class=\"flex flex-col w-full gap-y-4\">\r\n <div class=\"flex gap-2 justify-center items-center\">\r\n <div class=\"flex flex-col justify-center\">\r\n <div class=\"text-center\">{{from}}</div>\r\n <div class=\"flex gap-2 justify-center items-center\">\r\n <input\r\n class=\"block form-field__input time\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [id]=\"hoursFrom\"\r\n [maxValue]=\"maxValueHours\"\r\n [(ngModel)]=\"hoursFrom\"\r\n />\r\n \r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"minutesFrom\"\r\n [(ngModel)]=\"minutesFrom\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"time--inputs\"></div>\r\n <div class=\"flex gap-2 justify-center items-center mb-5\">\r\n <div class=\"flex flex-col justify-center\">\r\n <div class=\"text-center\">{{to}}</div>\r\n <div class=\"flex gap-2 justify-center items-center\">\r\n <input\r\n class=\"form-field__input time\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [id]=\"hoursTo\"\r\n [maxValue]=\"maxValueHours\"\r\n [(ngModel)]=\"hoursTo\"\r\n />\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"minutesTo\"\r\n [(ngModel)]=\"minutesTo\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"grid-picker-actions\">\r\n <button type=\"button\" mat-stroked-button class=\"w-full cancel-button\" color=\"primary\" matDatepickerCancel>\r\n {{ cancleLabel }}\r\n </button>\r\n \r\n <button\r\n type=\"button\"\r\n mat-button\r\n class=\"w-full ml-0 apply-button\"\r\n color=\"primary\"\r\n matDatepickerApply\r\n (click)=\"onApply()\"\r\n >\r\n {{ applyLabel }}\r\n </button>\r\n </div>\r\n </div>\r\n </mat-datepicker-actions>\r\n </mat-datepicker>\r\n <input\r\n class=\"form-field__input w-full date-input\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"pickerValue\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled || controlDate?.disabled\"\r\n appTimeRange\r\n [all]=\"all\"\r\n (blur)=\"onTouch()\" \r\n (blur)=\"blurChange($event)\"\r\n (keyup)=\"blurChange($event)\"\r\n (keydown)=\"keydownChange($event)\" \r\n />\r\n <button type=\"button\" class=\"datepicker-toggle\" (click)=\"picker.open()\">\r\n <mat-icon>access_time</mat-icon>\r\n </button>\r\n </div>\r\n </app-element-wrapper>\r\n \r\n", styles: [".time--inputs:after{position:absolute;content:\"\"}.datepicker-toggle{transform:translate(-1.75rem)}.time{width:3.375rem}.fake-input{visibility:hidden;width:0;padding:0}.date-input{margin:0rem -.25rem 0rem .125rem}.time--inputs{position:relative;margin-bottom:2.4rem}.time--inputs:after{height:1px;right:0;left:0;background-color:var(--color-gray-300);bottom:-1.6rem}:host ::ng-deep .form-field{margin-right:-1.25rem;margin-left:-.125rem}:host ::ng-deep .mat-datepicker-content .mat-calendar{height:50px!important}\n"], dependencies: [{ kind: "component", type: i2.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i4.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i4.MatDatepickerCancel, selector: "[matDatepickerCancel], [matDateRangePickerCancel]" }, { kind: "directive", type: i4.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.DigitsOnlyDirective, selector: "[appDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: i8.NumberBorderDirective, selector: "[appNumberBorder]", inputs: ["maxValue", "minValue"] }, { kind: "directive", type: i9.TimeRangeDirective, selector: "[appTimeRange]", inputs: ["isDateTimeMask", "considerSeconds", "all"] }] });
173
- }
174
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsDateTimeRangePickerComponent, decorators: [{
175
- type: Component,
176
- args: [{ selector: 'ecabs-date-time-range-picker', providers: [
177
- {
178
- provide: NG_VALUE_ACCESSOR,
179
- useExisting: EcabsDateTimeRangePickerComponent,
180
- multi: true,
181
- },
182
- DecimalPipe,
183
- ], template: "<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper w-full\">\r\n <input\r\n class=\"fake-input\"\r\n [id]=\"_date\"\r\n [(ngModel)]=\"_date\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled || controlDate?.disabled\"\r\n [matDatepicker]=\"picker\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <mat-datepicker (opened)=\"opened()\" #picker [calendarHeaderComponent]=\"header\" [touchUi]=\"touchUi\">\r\n \r\n <mat-datepicker-actions>\r\n <div class=\"flex flex-col w-full gap-y-4\">\r\n <div class=\"flex gap-2 justify-center items-center\">\r\n <div class=\"flex flex-col justify-center\">\r\n <div class=\"text-center\">{{from}}</div>\r\n <div class=\"flex gap-2 justify-center items-center\">\r\n <input\r\n class=\"block form-field__input time\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [id]=\"hoursFrom\"\r\n [maxValue]=\"maxValueHours\"\r\n [(ngModel)]=\"hoursFrom\"\r\n />\r\n \r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"minutesFrom\"\r\n [(ngModel)]=\"minutesFrom\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"time--inputs\"></div>\r\n <div class=\"flex gap-2 justify-center items-center mb-5\">\r\n <div class=\"flex flex-col justify-center\">\r\n <div class=\"text-center\">{{to}}</div>\r\n <div class=\"flex gap-2 justify-center items-center\">\r\n <input\r\n class=\"form-field__input time\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [id]=\"hoursTo\"\r\n [maxValue]=\"maxValueHours\"\r\n [(ngModel)]=\"hoursTo\"\r\n />\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"minutesTo\"\r\n [(ngModel)]=\"minutesTo\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"grid-picker-actions\">\r\n <button type=\"button\" mat-stroked-button class=\"w-full cancel-button\" color=\"primary\" matDatepickerCancel>\r\n {{ cancleLabel }}\r\n </button>\r\n \r\n <button\r\n type=\"button\"\r\n mat-button\r\n class=\"w-full ml-0 apply-button\"\r\n color=\"primary\"\r\n matDatepickerApply\r\n (click)=\"onApply()\"\r\n >\r\n {{ applyLabel }}\r\n </button>\r\n </div>\r\n </div>\r\n </mat-datepicker-actions>\r\n </mat-datepicker>\r\n <input\r\n class=\"form-field__input w-full date-input\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"pickerValue\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled || controlDate?.disabled\"\r\n appTimeRange\r\n [all]=\"all\"\r\n (blur)=\"onTouch()\" \r\n (blur)=\"blurChange($event)\"\r\n (keyup)=\"blurChange($event)\"\r\n (keydown)=\"keydownChange($event)\" \r\n />\r\n <button type=\"button\" class=\"datepicker-toggle\" (click)=\"picker.open()\">\r\n <mat-icon>access_time</mat-icon>\r\n </button>\r\n </div>\r\n </app-element-wrapper>\r\n \r\n", styles: [".time--inputs:after{position:absolute;content:\"\"}.datepicker-toggle{transform:translate(-1.75rem)}.time{width:3.375rem}.fake-input{visibility:hidden;width:0;padding:0}.date-input{margin:0rem -.25rem 0rem .125rem}.time--inputs{position:relative;margin-bottom:2.4rem}.time--inputs:after{height:1px;right:0;left:0;background-color:var(--color-gray-300);bottom:-1.6rem}:host ::ng-deep .form-field{margin-right:-1.25rem;margin-left:-.125rem}:host ::ng-deep .mat-datepicker-content .mat-calendar{height:50px!important}\n"] }]
184
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.DecimalPipe }]; }, propDecorators: { touchUi: [{
185
- type: Input
186
- }], onblur: [{
187
- type: Output
188
- }], cancleLabel: [{
189
- type: Input
190
- }], applyLabel: [{
191
- type: Input
192
- }], all: [{
193
- type: Input
194
- }], from: [{
195
- type: Input
196
- }], to: [{
197
- type: Input
198
- }] } });
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyL2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBWSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsU0FBUyxFQUFzQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hHLE9BQU8sb0JBQW9CLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sZ0dBQWdHLENBQUM7Ozs7Ozs7Ozs7O0FBZXpKLE1BQU0sT0FBTyxpQ0FDWCxTQUFRLG9CQUFvQjtJQXVHVDtJQUNBO0lBdEdWLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFZixNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUdsQyxXQUFXLEdBQUcsUUFBUSxDQUFDO0lBQ3ZCLFVBQVUsR0FBRyxPQUFPLENBQUM7SUFDckIsR0FBRyxHQUFHLEtBQUssQ0FBQztJQUNaLElBQUksR0FBRyxNQUFNLENBQUM7SUFDZCxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBSW5CLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDbEIsWUFBWSxHQUFHLElB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QUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVjaW1hbFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IEVsZW1lbnRCYXNlQ29tcG9uZW50IGZyb20gJy4uL2Jhc2UvZWxlbWVudC1iYXNlJztcclxuaW1wb3J0IHsgRWNhYnNEYXRlVGltZVJhbmdlUGlja2VySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXItaGVhZGVyL2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogRWNhYnNEYXRlVGltZVJhbmdlUGlja2VyQ29tcG9uZW50LFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICBEZWNpbWFsUGlwZSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNEYXRlVGltZVJhbmdlUGlja2VyQ29tcG9uZW50XHJcbiAgZXh0ZW5kcyBFbGVtZW50QmFzZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIHRvdWNoVWkgPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIG9uYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuXHJcbiAgQElucHV0KCkgY2FuY2xlTGFiZWwgPSAnQ2FuY2VsJztcclxuICBASW5wdXQoKSBhcHBseUxhYmVsID0gJ0FwcGx5JztcclxuICBASW5wdXQoKSBhbGwgPSAnQWxsJztcclxuICBASW5wdXQoKSBmcm9tID0gJ0Zyb20nO1xyXG4gIEBJbnB1dCgpIHRvID0gJ1RvJztcclxuXHJcbiAgXHJcblxyXG4gIF9ob3Vyc0Zyb20gPSAnMTInO1xyXG4gIF9taW51dGVzRnJvbSA9ICcwMCc7XHJcbiAgX2hvdXJzVG8gPSAnMTInO1xyXG4gIF9taW51dGVzVG8gPSAnMDAnO1xyXG4gIF9zZWNvbmRzID0gJzAwJztcclxuICBfZGF0ZTogc3RyaW5nO1xyXG4gIF9waWNrZXJWYWx1ZTogc3RyaW5nO1xyXG4gIHZhbDogc3RyaW5nO1xyXG4gIGhlYWRlciA9IEVjYWJzRGF0ZVRpbWVSYW5nZVBpY2tlckhlYWRlckNvbXBvbmVudDtcclxuICBtYXhWYWx1ZUhvdXJzID0gMjM7XHJcbiAgbWF4VmFsdWVNaW51dGVzU2Vjb25kcyA9IDU5O1xyXG4gIGNvbnRyb2xEYXRlOiBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBpY2tlclZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGlja2VyVmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXQgaG91cnNGcm9tKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5faG91cnNGcm9tO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1pbnV0ZXNGcm9tKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWludXRlc0Zyb207XHJcbiAgfVxyXG5cclxuICBnZXQgaG91cnNUbygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hvdXJzVG87XHJcbiAgfVxyXG5cclxuICBnZXQgbWludXRlc1RvKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWludXRlc1RvO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNlY29uZHMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWNvbmRzO1xyXG4gIH1cclxuXHJcbiAgc2V0IGhvdXJzRnJvbSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9ob3Vyc0Zyb20gIT09IHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX2hvdXJzRnJvbSA9IHRoaXMucm91bmROdW1iZXIoK3ZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldCBtaW51dGVzRnJvbSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9taW51dGVzRnJvbSAhPT0gdmFsdWUpIHtcclxuICAgICAgdGhpcy5fbWludXRlc0Zyb20gPSB0aGlzLnJvdW5kTnVtYmVyKCt2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXQgaG91cnNUbyh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9ob3Vyc1RvICE9PSB2YWx1ZSkge1xyXG4gICAgICB0aGlzLl9ob3Vyc1RvID0gdGhpcy5yb3VuZE51bWJlcigrdmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0IG1pbnV0ZXNUbyh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9taW51dGVzVG8gIT09IHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX21pbnV0ZXNUbyA9IHRoaXMucm91bmROdW1iZXIoK3ZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldCBzZWNvbmRzKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX3NlY29uZHMgIT09IHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX3NlY29uZHMgPSB0aGlzLnJvdW5kTnVtYmVyKCt2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUodmFsKSB7XHJcbiAgICBpZiAodmFsICYmIHRoaXMudmFsICE9PSB2YWwpIHtcclxuICAgICAgdGhpcy52YWwgPSB2YWw7XHJcbiAgICAgIHRoaXMucGlja2VyVmFsdWUgPSB2YWw7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsKTtcclxuICAgICAgdGhpcy5vblRvdWNoKHZhbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXQgcGlja2VyVmFsdWUodmFsOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy5fcGlja2VyVmFsdWUgPSB2YWw7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB2YWw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWNpbWFsUGlwZTogRGVjaW1hbFBpcGVcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBuZ0NvbnRyb2w6IE5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbCwgbnVsbCk7XHJcbiAgICBpZiAobmdDb250cm9sKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY29udHJvbERhdGUgPSB0aGlzLmNvbnRyb2w7XHJcbiAgICAgICAgY29uc3QgY29udHJvbERhdGUgPSAhIXRoaXMuY29udHJvbC52YWx1ZSA/IHRoaXMuY29udHJvbC52YWx1ZSA6ICcnO1xyXG5cclxuICAgICAgICBpZiAoY29udHJvbERhdGUpIHtcclxuICAgICAgICAgIHRoaXMuc2V0VmFsdWVzKGNvbnRyb2xEYXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDEwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgb25Ub3VjaDogYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICBibHVyQ2hhbmdlKGU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbmJsdXIuZW1pdChlKTtcclxuICB9XHJcblxyXG4gIGtleWRvd25DaGFuZ2UoZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoZT8udGFyZ2V0LnZhbHVlID09PSB0aGlzLmFsbCkge1xyXG4gICAgICBjb25zdCB2YWwgPSAnJztcclxuICAgICAgdGhpcy52YWwgPSB2YWw7XHJcbiAgICAgIHRoaXMuX3BpY2tlclZhbHVlID0gdmFsO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbCk7XHJcbiAgICAgIHRoaXMub25Ub3VjaCh2YWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25BcHBseSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9taW51dGVzRnJvbSAmJiB0aGlzLl9ob3Vyc0Zyb20gJiYgdGhpcy5fbWludXRlc1RvICYmIHRoaXMuX2hvdXJzVG8pIHtcclxuICAgICAgdGhpcy5zZXRWYWx1ZXModGhpcy5faG91cnNGcm9tICsgJzonICsgdGhpcy5fbWludXRlc0Zyb20gKyAnIC0gJyArIHRoaXMuX2hvdXJzVG8gKyAnOicgKyB0aGlzLl9taW51dGVzVG8pO1xyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5faG91cnNGcm9tICsgJzonICsgdGhpcy5fbWludXRlc0Zyb20gKyAnIC0gJyArIHRoaXMuX2hvdXJzVG8gKyAnOicgKyB0aGlzLl9taW51dGVzVG87XHJcblxyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuZWQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgZWxlbWVudHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdtYXQtY2FsZW5kYXItY29udGVudCcpO1xyXG4gICAgICB3aGlsZSAoZWxlbWVudHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGVsZW1lbnRzWzBdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZWxlbWVudHNbMF0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgY29scyA9IEFycmF5LmZyb20oZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnbWF0LWNhbGVuZGFyJykgYXMgSFRNTENvbGxlY3Rpb25PZjxIVE1MRWxlbWVudD4pO1xyXG4gICAgICBmb3IobGV0IGk9MDsgaTxjb2xzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgY29sc1tpXS5zdHlsZS5oZWlnaHQgPSAnNTBweCc7XHJcbiAgICAgIH0gICAgICBcclxuXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcm91bmROdW1iZXIobnVtOiBudW1iZXIpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmRlY2ltYWxQaXBlLnRyYW5zZm9ybShudW0sICcyLjAtMCcpID8/ICcwMCc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFZhbHVlcyhkYXRlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX2RhdGUgPSBkYXRlO1xyXG4gIH1cclxufVxyXG4iLCI8YXBwLWVsZW1lbnQtd3JhcHBlciBbZGF0YV09XCJnZXREYXRhKClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dC0td3JhcHBlciB3LWZ1bGxcIj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgY2xhc3M9XCJmYWtlLWlucHV0XCJcclxuICAgICAgICBbaWRdPVwiX2RhdGVcIlxyXG4gICAgICAgIFsobmdNb2RlbCldPVwiX2RhdGVcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGNvbnRyb2xEYXRlPy5kaXNhYmxlZFwiXHJcbiAgICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCJcclxuICAgICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxyXG4gICAgICAvPlxyXG4gICAgICA8bWF0LWRhdGVwaWNrZXIgIChvcGVuZWQpPVwib3BlbmVkKClcIiAgI3BpY2tlciBbY2FsZW5kYXJIZWFkZXJDb21wb25lbnRdPVwiaGVhZGVyXCIgW3RvdWNoVWldPVwidG91Y2hVaVwiPlxyXG4gICAgICAgIFxyXG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlci1hY3Rpb25zPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgdy1mdWxsIGdhcC15LTRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTIganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPnt7ZnJvbX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJibG9jayBmb3JtLWZpZWxkX19pbnB1dCB0aW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBEaWdpdHNPbmx5XHJcbiAgICAgICAgICAgICAgICAgICAgYXBwTnVtYmVyQm9yZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgW2RpZ2l0c09ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cImhvdXJzRnJvbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21heFZhbHVlXT1cIm1heFZhbHVlSG91cnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaG91cnNGcm9tXCJcclxuICAgICAgICAgICAgICAgICAgLz5cclxuICBcclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj46PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHRpbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJtaW51dGVzRnJvbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtaW51dGVzRnJvbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwRGlnaXRzT25seVxyXG4gICAgICAgICAgICAgICAgICAgIGFwcE51bWJlckJvcmRlclxyXG4gICAgICAgICAgICAgICAgICAgIFtkaWdpdHNPbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXhWYWx1ZV09XCJtYXhWYWx1ZU1pbnV0ZXNTZWNvbmRzXCJcclxuICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWUtLWlucHV0c1wiPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgbWItNVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIj57e3RvfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHRpbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcERpZ2l0c09ubHlcclxuICAgICAgICAgICAgICAgICAgICBhcHBOdW1iZXJCb3JkZXJcclxuICAgICAgICAgICAgICAgICAgICBbZGlnaXRzT25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiaG91cnNUb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW21heFZhbHVlXT1cIm1heFZhbHVlSG91cnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaG91cnNUb1wiXHJcbiAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkXCI+Ojwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dCB0aW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwibWludXRlc1RvXCJcclxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1pbnV0ZXNUb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwRGlnaXRzT25seVxyXG4gICAgICAgICAgICAgICAgICAgIGFwcE51bWJlckJvcmRlclxyXG4gICAgICAgICAgICAgICAgICAgIFtkaWdpdHNPbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXhWYWx1ZV09XCJtYXhWYWx1ZU1pbnV0ZXNTZWNvbmRzXCJcclxuICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtcGlja2VyLWFjdGlvbnNcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJ3LWZ1bGwgY2FuY2VsLWJ1dHRvblwiIGNvbG9yPVwicHJpbWFyeVwiIG1hdERhdGVwaWNrZXJDYW5jZWw+XHJcbiAgICAgICAgICAgICAgICB7eyBjYW5jbGVMYWJlbCB9fVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gIFxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbWwtMCBhcHBseS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgIG1hdERhdGVwaWNrZXJBcHBseVxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQXBwbHkoKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgYXBwbHlMYWJlbCB9fVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbWF0LWRhdGVwaWNrZXItYWN0aW9ucz5cclxuICAgICAgPC9tYXQtZGF0ZXBpY2tlcj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dCB3LWZ1bGwgZGF0ZS1pbnB1dFwiXHJcbiAgICAgICAgW2lkXT1cIm5hbWVcIlxyXG4gICAgICAgIFsobmdNb2RlbCldPVwicGlja2VyVmFsdWVcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGNvbnRyb2xEYXRlPy5kaXNhYmxlZFwiXHJcbiAgICAgICAgYXBwVGltZVJhbmdlXHJcbiAgICAgICAgW2FsbF09XCJhbGxcIlxyXG4gICAgICAgIChibHVyKT1cIm9uVG91Y2goKVwiICAgXHJcbiAgICAgICAgKGJsdXIpPVwiYmx1ckNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAoa2V5dXApPVwiYmx1ckNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAoa2V5ZG93bik9XCJrZXlkb3duQ2hhbmdlKCRldmVudClcIiAgIFxyXG4gICAgICAvPlxyXG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImRhdGVwaWNrZXItdG9nZ2xlXCIgKGNsaWNrKT1cInBpY2tlci5vcGVuKClcIj5cclxuICAgICAgICA8bWF0LWljb24+YWNjZXNzX3RpbWU8L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvYXBwLWVsZW1lbnQtd3JhcHBlcj5cclxuICBcclxuIl19
@@ -1,48 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as textMask from 'vanilla-text-mask/dist/vanillaTextMask';
3
- import * as i0 from "@angular/core";
4
- export class TimeRangeDirective {
5
- element;
6
- isDateTimeMask = false;
7
- considerSeconds = false;
8
- all;
9
- maskedInputController;
10
- maskDateTime = [/\d/, /\d/, ':', /\d/, /\d/, ' ', '-', ' ', /\d/, /\d/, ':', /\d/, /\d/];
11
- constructor(element) {
12
- this.element = element;
13
- }
14
- ngOnInit() {
15
- const all = this.all;
16
- this.maskedInputController = textMask.maskInput({
17
- inputElement: this.element.nativeElement,
18
- guide: true,
19
- showMask: false,
20
- keepCharPositions: true,
21
- mask: this.maskDateTime,
22
- pipe: function (conformedValue) {
23
- if (conformedValue === '__:__ - __:__') {
24
- return all;
25
- }
26
- return conformedValue;
27
- },
28
- });
29
- }
30
- ngOnDestroy() {
31
- this.maskedInputController.destroy();
32
- }
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TimeRangeDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
34
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: TimeRangeDirective, selector: "[appTimeRange]", inputs: { isDateTimeMask: "isDateTimeMask", considerSeconds: "considerSeconds", all: "all" }, ngImport: i0 });
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TimeRangeDirective, decorators: [{
37
- type: Directive,
38
- args: [{
39
- selector: '[appTimeRange]',
40
- }]
41
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { isDateTimeMask: [{
42
- type: Input
43
- }], considerSeconds: [{
44
- type: Input
45
- }], all: [{
46
- type: Input
47
- }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1yYW5nZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci90aW1lLXJhbmdlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxLQUFLLFFBQVEsTUFBTSx3Q0FBd0MsQ0FBQzs7QUFLbkUsTUFBTSxPQUFPLGtCQUFrQjtJQVFFO0lBUHBCLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUN4QixHQUFHLENBQVM7SUFFckIscUJBQXFCLENBQUM7SUFDdEIsWUFBWSxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFekYsWUFBNkIsT0FBbUI7UUFBbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtJQUFJLENBQUM7SUFFckQsUUFBUTtRQUNKLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDckIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7WUFDNUMsWUFBWSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYTtZQUN4QyxLQUFLLEVBQUUsSUFBSTtZQUNYLFFBQVEsRUFBRSxLQUFLO1lBQ2YsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDdkIsSUFBSSxFQUFFLFVBQVUsY0FBYztnQkFDMUIsSUFBSSxjQUFjLEtBQUssZUFBZSxFQUFFO29CQUNwQyxPQUFPLEdBQUcsQ0FBQztpQkFDZDtnQkFFRCxPQUFPLGNBQWMsQ0FBQztZQUMxQixDQUFDO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekMsQ0FBQzt1R0E5QlEsa0JBQWtCOzJGQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBSDlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtpQkFDN0I7aUdBRVksY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIHRleHRNYXNrIGZyb20gJ3ZhbmlsbGEtdGV4dC1tYXNrL2Rpc3QvdmFuaWxsYVRleHRNYXNrJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbYXBwVGltZVJhbmdlXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaW1lUmFuZ2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBASW5wdXQoKSBpc0RhdGVUaW1lTWFzayA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgY29uc2lkZXJTZWNvbmRzID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBhbGw6IHN0cmluZztcclxuXHJcbiAgICBtYXNrZWRJbnB1dENvbnRyb2xsZXI7XHJcbiAgICBtYXNrRGF0ZVRpbWUgPSBbL1xcZC8sIC9cXGQvLCAnOicsIC9cXGQvLCAvXFxkLywgJyAnLCAnLScsICcgJywgL1xcZC8sIC9cXGQvLCAnOicsIC9cXGQvLCAvXFxkL107XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBFbGVtZW50UmVmKSB7IH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBhbGwgPSB0aGlzLmFsbDtcclxuICAgICAgICB0aGlzLm1hc2tlZElucHV0Q29udHJvbGxlciA9IHRleHRNYXNrLm1hc2tJbnB1dCh7XHJcbiAgICAgICAgICAgIGlucHV0RWxlbWVudDogdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgICAgIGd1aWRlOiB0cnVlLFxyXG4gICAgICAgICAgICBzaG93TWFzazogZmFsc2UsXHJcbiAgICAgICAgICAgIGtlZXBDaGFyUG9zaXRpb25zOiB0cnVlLFxyXG4gICAgICAgICAgICBtYXNrOiB0aGlzLm1hc2tEYXRlVGltZSxcclxuICAgICAgICAgICAgcGlwZTogZnVuY3Rpb24gKGNvbmZvcm1lZFZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoY29uZm9ybWVkVmFsdWUgPT09ICdfXzpfXyAtIF9fOl9fJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhbGw7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbmZvcm1lZFZhbHVlO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubWFza2VkSW5wdXRDb250cm9sbGVyLmRlc3Ryb3koKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,31 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/material/dialog";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "../ecabs-buttons/ecabs-buttons.component";
7
- import * as i4 from "@angular/material/icon";
8
- export class DialogConfirmComponent {
9
- dialogRef;
10
- data;
11
- message;
12
- color = 'primary';
13
- titleColor = 'primary';
14
- constructor(dialogRef, data) {
15
- this.dialogRef = dialogRef;
16
- this.data = data;
17
- }
18
- ngOnInit() {
19
- this.dialogRef.updateSize(this.data.width || '24rem');
20
- }
21
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DialogConfirmComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
22
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: DialogConfirmComponent, selector: "ecabs-dialog-confirm", ngImport: i0, template: "<div matDialogTitle *ngIf=\"data?.title || !!data?.isPopover\" class=\"flex flex-column\">\r\n <div *ngIf=\"!!data?.isPopover\" class=\"w-full flex justify-end\">\r\n <mat-icon\r\n (click)=\"dialogRef.close(true)\"\r\n class=\"mat-icon material-icons-outlined float-right icon--close mb-2\"\r\n role=\"button\"\r\n >\r\n close\r\n </mat-icon>\r\n </div>\r\n\r\n <div class=\"font-semibold heading--xs modal-title {{ data.titleColor }}\" *ngIf=\"data.title\">\r\n {{ data.title }}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content>\r\n <div>{{ data?.content }}</div>\r\n <ng-container *ngTemplateOutlet=\"data?.message\"></ng-container>\r\n</div>\r\n\r\n<div class=\"pb-6\">\r\n <div mat-dialog-actions class=\"btn__group flex justify-end w-full\" *ngIf=\"!data?.isPopover\">\r\n <ecabs-buttons (click)=\"dialogRef.close(false)\" [stroked]=\"true\">\r\n {{ data?.cancelLabel }}\r\n </ecabs-buttons>\r\n\r\n <ecabs-buttons [color]=\"data?.color || color\" (click)=\"dialogRef.close(true)\">\r\n {{ data?.confirmLabel }}\r\n </ecabs-buttons>\r\n </div>\r\n</div>\r\n", styles: [":host .mat-dialog-title .mat-icon.icon--close,:host ::ng-deep .mat-dialog-title .mat-icon.icon--close{width:20px;height:20px;line-height:20px;font-size:20px}:host app-buttons,:host ::ng-deep app-buttons{width:calc(50% - .5rem)}:host button,:host ::ng-deep button{width:100%}.modal-title.warn{color:var(--color-error)!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i3.ButtonsComponent, selector: "ecabs-buttons", inputs: ["label", "disabled", "loading", "form", "size", "type", "raised", "stroked", "full", "color"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DialogConfirmComponent, decorators: [{
25
- type: Component,
26
- args: [{ selector: 'ecabs-dialog-confirm', template: "<div matDialogTitle *ngIf=\"data?.title || !!data?.isPopover\" class=\"flex flex-column\">\r\n <div *ngIf=\"!!data?.isPopover\" class=\"w-full flex justify-end\">\r\n <mat-icon\r\n (click)=\"dialogRef.close(true)\"\r\n class=\"mat-icon material-icons-outlined float-right icon--close mb-2\"\r\n role=\"button\"\r\n >\r\n close\r\n </mat-icon>\r\n </div>\r\n\r\n <div class=\"font-semibold heading--xs modal-title {{ data.titleColor }}\" *ngIf=\"data.title\">\r\n {{ data.title }}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content>\r\n <div>{{ data?.content }}</div>\r\n <ng-container *ngTemplateOutlet=\"data?.message\"></ng-container>\r\n</div>\r\n\r\n<div class=\"pb-6\">\r\n <div mat-dialog-actions class=\"btn__group flex justify-end w-full\" *ngIf=\"!data?.isPopover\">\r\n <ecabs-buttons (click)=\"dialogRef.close(false)\" [stroked]=\"true\">\r\n {{ data?.cancelLabel }}\r\n </ecabs-buttons>\r\n\r\n <ecabs-buttons [color]=\"data?.color || color\" (click)=\"dialogRef.close(true)\">\r\n {{ data?.confirmLabel }}\r\n </ecabs-buttons>\r\n </div>\r\n</div>\r\n", styles: [":host .mat-dialog-title .mat-icon.icon--close,:host ::ng-deep .mat-dialog-title .mat-icon.icon--close{width:20px;height:20px;line-height:20px;font-size:20px}:host app-buttons,:host ::ng-deep app-buttons{width:calc(50% - .5rem)}:host button,:host ::ng-deep button{width:100%}.modal-title.warn{color:var(--color-error)!important}\n"] }]
27
- }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
28
- type: Inject,
29
- args: [MAT_DIALOG_DATA]
30
- }] }]; } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWRpYWxvZy1jb25maXJtL2VjYWJzLWRpYWxvZy1jb25maXJtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1kaWFsb2ctY29uZmlybS9lY2Ficy1kaWFsb2ctY29uZmlybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBUXpFLE1BQU0sT0FBTyxzQkFBc0I7SUFNeEI7SUFDMkI7SUFOcEMsT0FBTyxDQUFTO0lBQ2hCLEtBQUssR0FBaUIsU0FBUyxDQUFDO0lBQ2hDLFVBQVUsR0FBaUIsU0FBUyxDQUFDO0lBRXJDLFlBQ1MsU0FBcUQsRUFDMUIsSUFBa0M7UUFEN0QsY0FBUyxHQUFULFNBQVMsQ0FBNEM7UUFDMUIsU0FBSSxHQUFKLElBQUksQ0FBOEI7SUFDbEUsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUUsQ0FBQztJQUMxRCxDQUFDO3VHQVpVLHNCQUFzQiw4Q0FPdEIsZUFBZTsyRkFQZixzQkFBc0IsNERDVG5DLDBtQ0FnQ0E7OzJGRHZCYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usc0JBQXNCOzswQkFXN0IsTUFBTTsyQkFBRSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoIHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLWRpYWxvZy1jb25maXJtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWNhYnMtZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWyAnLi9lY2Ficy1kaWFsb2ctY29uZmlybS5jb21wb25lbnQuc2NzcycgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBEaWFsb2dDb25maXJtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgY29sb3I6IFRoZW1lUGFsZXR0ZSA9ICdwcmltYXJ5JztcclxuICB0aXRsZUNvbG9yOiBUaGVtZVBhbGV0dGUgPSAncHJpbWFyeSc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPERpYWxvZ0NvbmZpcm1Db21wb25lbnRDb25maWc+LFxyXG4gICAgQEluamVjdCggTUFUX0RJQUxPR19EQVRBICkgcHVibGljIGRhdGE6IERpYWxvZ0NvbmZpcm1Db21wb25lbnRDb25maWdcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLnVwZGF0ZVNpemUoIHRoaXMuZGF0YS53aWR0aCB8fCAnMjRyZW0nICk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ0NvbmZpcm1Db21wb25lbnRDb25maWcge1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIG1lc3NhZ2U6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgY29sb3I/OiBUaGVtZVBhbGV0dGU7XHJcbiAgdGl0bGVDb2xvcj86IFRoZW1lUGFsZXR0ZTtcclxuICBjb25maXJtTGFiZWw/OiBzdHJpbmc7XHJcbiAgY2FuY2VsTGFiZWw/OiBzdHJpbmc7XHJcbiAgaXNQb3BvdmVyPzogYm9vbGVhbjtcclxuICB3aWR0aD86IHN0cmluZztcclxuICBjb250ZW50Pzogc3RyaW5nO1xyXG59XHJcbiIsIjxkaXYgbWF0RGlhbG9nVGl0bGUgKm5nSWY9XCJkYXRhPy50aXRsZSB8fCAhIWRhdGE/LmlzUG9wb3ZlclwiIGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtblwiPlxyXG4gIDxkaXYgKm5nSWY9XCIhIWRhdGE/LmlzUG9wb3ZlclwiIGNsYXNzPVwidy1mdWxsIGZsZXgganVzdGlmeS1lbmRcIj5cclxuICAgIDxtYXQtaWNvblxyXG4gICAgICAoY2xpY2spPVwiZGlhbG9nUmVmLmNsb3NlKHRydWUpXCJcclxuICAgICAgY2xhc3M9XCJtYXQtaWNvbiBtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCBmbG9hdC1yaWdodCBpY29uLS1jbG9zZSBtYi0yXCJcclxuICAgICAgcm9sZT1cImJ1dHRvblwiXHJcbiAgICA+XHJcbiAgICAgIGNsb3NlXHJcbiAgICA8L21hdC1pY29uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiZm9udC1zZW1pYm9sZCBoZWFkaW5nLS14cyBtb2RhbC10aXRsZSB7eyBkYXRhLnRpdGxlQ29sb3IgfX1cIiAqbmdJZj1cImRhdGEudGl0bGVcIj5cclxuICAgIHt7IGRhdGEudGl0bGUgfX1cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuICA8ZGl2Pnt7IGRhdGE/LmNvbnRlbnQgIH19PC9kaXY+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGE/Lm1lc3NhZ2VcIj48L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwicGItNlwiPlxyXG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwiYnRuX19ncm91cCBmbGV4IGp1c3RpZnktZW5kIHctZnVsbFwiICpuZ0lmPVwiIWRhdGE/LmlzUG9wb3ZlclwiPlxyXG4gICAgPGVjYWJzLWJ1dHRvbnMgKGNsaWNrKT1cImRpYWxvZ1JlZi5jbG9zZShmYWxzZSlcIiBbc3Ryb2tlZF09XCJ0cnVlXCI+XHJcbiAgICAgIHt7IGRhdGE/LmNhbmNlbExhYmVsIH19XHJcbiAgICA8L2VjYWJzLWJ1dHRvbnM+XHJcblxyXG4gICAgPGVjYWJzLWJ1dHRvbnMgW2NvbG9yXT1cImRhdGE/LmNvbG9yIHx8IGNvbG9yXCIgKGNsaWNrKT1cImRpYWxvZ1JlZi5jbG9zZSh0cnVlKVwiPlxyXG4gICAgICB7eyBkYXRhPy5jb25maXJtTGFiZWwgfX1cclxuICAgIDwvZWNhYnMtYnV0dG9ucz5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,28 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/material/dialog";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "../ecabs-buttons/ecabs-buttons.component";
7
- import * as i4 from "@angular/material/icon";
8
- export class EcabsDialogMessageComponent {
9
- dialogRef;
10
- data;
11
- message;
12
- color = 'primary';
13
- titleColor = 'success';
14
- constructor(dialogRef, data) {
15
- this.dialogRef = dialogRef;
16
- this.data = data;
17
- }
18
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsDialogMessageComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
19
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: EcabsDialogMessageComponent, selector: "ecabs-dialog-message", ngImport: i0, template: "<div matDialogTitle *ngIf=\"data?.title || !!data?.isPopover\" class=\"flex flex-column\">\r\n <div *ngIf=\"!!data?.isPopover\" class=\"w-full flex justify-end\">\r\n <mat-icon\r\n (click)=\"dialogRef.close(true)\"\r\n class=\"mat-icon material-icons-outlined float-right icon--close mb-2\"\r\n role=\"button\"\r\n >\r\n close\r\n </mat-icon>\r\n </div>\r\n\r\n <div *ngIf=\"data.title\" class=\"title font-semibold heading--xs\" [ngClass]=\"data?.titleColor || titleColor\">\r\n {{ data.title }}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content>\r\n {{data?.message}}\r\n</div>\r\n\r\n<div class=\"pb-6\">\r\n <div mat-dialog-actions class=\"btn__group flex justify-end w-full\" *ngIf=\"!data?.isPopover\">\r\n <ecabs-buttons [color]=\"data?.color || color\" [full]=\"data?.isButtonBlock\" (click)=\"dialogRef.close(true)\">\r\n {{ data?.confirmLabel }}\r\n </ecabs-buttons>\r\n </div>\r\n</div>\r\n", styles: [":host .mat-dialog-title .mat-icon.icon--close,:host ::ng-deep .mat-dialog-title .mat-icon.icon--close{width:20px;height:20px;line-height:20px;font-size:20px}:host .title.success,:host ::ng-deep .title.success{color:var(--color-success)}:host app-buttons,:host ::ng-deep app-buttons{width:calc(50% - .5rem)}:host button,:host ::ng-deep button{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i3.ButtonsComponent, selector: "ecabs-buttons", inputs: ["label", "disabled", "loading", "form", "size", "type", "raised", "stroked", "full", "color"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsDialogMessageComponent, decorators: [{
22
- type: Component,
23
- args: [{ selector: 'ecabs-dialog-message', template: "<div matDialogTitle *ngIf=\"data?.title || !!data?.isPopover\" class=\"flex flex-column\">\r\n <div *ngIf=\"!!data?.isPopover\" class=\"w-full flex justify-end\">\r\n <mat-icon\r\n (click)=\"dialogRef.close(true)\"\r\n class=\"mat-icon material-icons-outlined float-right icon--close mb-2\"\r\n role=\"button\"\r\n >\r\n close\r\n </mat-icon>\r\n </div>\r\n\r\n <div *ngIf=\"data.title\" class=\"title font-semibold heading--xs\" [ngClass]=\"data?.titleColor || titleColor\">\r\n {{ data.title }}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content>\r\n {{data?.message}}\r\n</div>\r\n\r\n<div class=\"pb-6\">\r\n <div mat-dialog-actions class=\"btn__group flex justify-end w-full\" *ngIf=\"!data?.isPopover\">\r\n <ecabs-buttons [color]=\"data?.color || color\" [full]=\"data?.isButtonBlock\" (click)=\"dialogRef.close(true)\">\r\n {{ data?.confirmLabel }}\r\n </ecabs-buttons>\r\n </div>\r\n</div>\r\n", styles: [":host .mat-dialog-title .mat-icon.icon--close,:host ::ng-deep .mat-dialog-title .mat-icon.icon--close{width:20px;height:20px;line-height:20px;font-size:20px}:host .title.success,:host ::ng-deep .title.success{color:var(--color-success)}:host app-buttons,:host ::ng-deep app-buttons{width:calc(50% - .5rem)}:host button,:host ::ng-deep button{width:100%}\n"] }]
24
- }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
25
- type: Inject,
26
- args: [MAT_DIALOG_DATA]
27
- }] }]; } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGlhbG9nLW1lc3NhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWRpYWxvZy1tZXNzYWdlL2VjYWJzLWRpYWxvZy1tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1kaWFsb2ctbWVzc2FnZS9lY2Ficy1kaWFsb2ctbWVzc2FnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUFRekUsTUFBTSxPQUFPLDJCQUEyQjtJQU03QjtJQUMyQjtJQU5wQyxPQUFPLENBQVM7SUFDaEIsS0FBSyxHQUFpQixTQUFTLENBQUM7SUFDaEMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUV2QixZQUNTLFNBQTBELEVBQy9CLElBQXVDO1FBRGxFLGNBQVMsR0FBVCxTQUFTLENBQWlEO1FBQy9CLFNBQUksR0FBSixJQUFJLENBQW1DO0lBQ3ZFLENBQUM7dUdBUk0sMkJBQTJCLDhDQU8zQixlQUFlOzJGQVBmLDJCQUEyQiw0RENUeEMsMjdCQTJCQTs7MkZEbEJhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSxzQkFBc0I7OzBCQVc3QixNQUFNOzJCQUFFLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCgge1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtZGlhbG9nLW1lc3NhZ2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1kaWFsb2ctbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbICcuL2VjYWJzLWRpYWxvZy1tZXNzYWdlLmNvbXBvbmVudC5zY3NzJyBdLFxyXG59IClcclxuZXhwb3J0IGNsYXNzIEVjYWJzRGlhbG9nTWVzc2FnZUNvbXBvbmVudCB7XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG4gIGNvbG9yOiBUaGVtZVBhbGV0dGUgPSAncHJpbWFyeSc7XHJcbiAgdGl0bGVDb2xvciA9ICdzdWNjZXNzJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8RWNhYnNEaWFsb2dNZXNzYWdlQ29tcG9uZW50Q29uZmlnPixcclxuICAgIEBJbmplY3QoIE1BVF9ESUFMT0dfREFUQSApIHB1YmxpYyBkYXRhOiBFY2Fic0RpYWxvZ01lc3NhZ2VDb21wb25lbnRDb25maWcsXHJcbiAgKSB7IH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFY2Fic0RpYWxvZ01lc3NhZ2VDb21wb25lbnRDb25maWcge1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHRpdGxlQ29sb3I/OiBUaGVtZVBhbGV0dGUgfCAnc3VjY2Vzcyc7XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG4gIGNvbG9yPzogVGhlbWVQYWxldHRlO1xyXG4gIGNvbmZpcm1MYWJlbD86IHN0cmluZztcclxuICBpc1BvcG92ZXI/OiBib29sZWFuO1xyXG4gIGlzQnV0dG9uQmxvY2s/OiBib29sZWFuO1xyXG59XHJcbiIsIjxkaXYgbWF0RGlhbG9nVGl0bGUgKm5nSWY9XCJkYXRhPy50aXRsZSB8fCAhIWRhdGE/LmlzUG9wb3ZlclwiIGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtblwiPlxyXG4gIDxkaXYgKm5nSWY9XCIhIWRhdGE/LmlzUG9wb3ZlclwiIGNsYXNzPVwidy1mdWxsIGZsZXgganVzdGlmeS1lbmRcIj5cclxuICAgIDxtYXQtaWNvblxyXG4gICAgICAoY2xpY2spPVwiZGlhbG9nUmVmLmNsb3NlKHRydWUpXCJcclxuICAgICAgY2xhc3M9XCJtYXQtaWNvbiBtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCBmbG9hdC1yaWdodCBpY29uLS1jbG9zZSBtYi0yXCJcclxuICAgICAgcm9sZT1cImJ1dHRvblwiXHJcbiAgICA+XHJcbiAgICAgIGNsb3NlXHJcbiAgICA8L21hdC1pY29uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2ICpuZ0lmPVwiZGF0YS50aXRsZVwiIGNsYXNzPVwidGl0bGUgZm9udC1zZW1pYm9sZCBoZWFkaW5nLS14c1wiIFtuZ0NsYXNzXT1cImRhdGE/LnRpdGxlQ29sb3IgfHwgdGl0bGVDb2xvclwiPlxyXG4gICAge3sgZGF0YS50aXRsZSB9fVxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIHt7ZGF0YT8ubWVzc2FnZX19XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cInBiLTZcIj5cclxuICA8ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBjbGFzcz1cImJ0bl9fZ3JvdXAgZmxleCBqdXN0aWZ5LWVuZCB3LWZ1bGxcIiAqbmdJZj1cIiFkYXRhPy5pc1BvcG92ZXJcIj5cclxuICAgIDxlY2Ficy1idXR0b25zIFtjb2xvcl09XCJkYXRhPy5jb2xvciB8fCBjb2xvclwiIFtmdWxsXT1cImRhdGE/LmlzQnV0dG9uQmxvY2tcIiAoY2xpY2spPVwiZGlhbG9nUmVmLmNsb3NlKHRydWUpXCI+XHJcbiAgICAgIHt7IGRhdGE/LmNvbmZpcm1MYWJlbCB9fVxyXG4gICAgPC9lY2Ficy1idXR0b25zPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -1,85 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { MatExpansionPanel } from '@angular/material/expansion';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/forms";
6
- import * as i3 from "@angular/material/expansion";
7
- import * as i4 from "@angular/material/icon";
8
- import * as i5 from "@angular/material/chips";
9
- import * as i6 from "../ecabs-checkbox-toggle/ecabs-checkbox-toggle.component";
10
- export class EcabsExpansionPanelComponent {
11
- title = '';
12
- description;
13
- index;
14
- expanded = false;
15
- disabled = false;
16
- errorMessage;
17
- showErrorMessage;
18
- closePanel;
19
- showIcon;
20
- iconName;
21
- showCheckbox;
22
- showStatus;
23
- status;
24
- hideToggle = false;
25
- checked = new EventEmitter();
26
- opened = new EventEmitter();
27
- expansionPanel;
28
- toggle = false;
29
- onOpened() {
30
- this.opened.emit();
31
- }
32
- ngOnChanges(changes) {
33
- const { closePanel } = changes;
34
- if (closePanel && this.expansionPanel) {
35
- // eslint-disable-next-line @typescript-eslint/no-unused-expressions
36
- closePanel.currentValue === true ? this.expansionPanel.close() : this.expansionPanel.open();
37
- }
38
- }
39
- toggleAction() {
40
- this.expanded = !this.expanded;
41
- this.checked.emit(this.expanded);
42
- }
43
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsExpansionPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: EcabsExpansionPanelComponent, selector: "ecabs-expansion-panel", inputs: { title: "title", description: "description", index: "index", expanded: "expanded", disabled: "disabled", errorMessage: "errorMessage", showErrorMessage: "showErrorMessage", closePanel: "closePanel", showIcon: "showIcon", iconName: "iconName", showCheckbox: "showCheckbox", showStatus: "showStatus", status: "status", hideToggle: "hideToggle" }, outputs: { checked: "checked", opened: "opened" }, viewQueries: [{ propertyName: "expansionPanel", first: true, predicate: MatExpansionPanel, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-accordion class=\"example-headers-align\" multi>\r\n <mat-expansion-panel [expanded]=\"expanded\" [disabled]=\"disabled\" (opened)=\"onOpened()\" [hideToggle]=\"hideToggle\">\r\n <mat-expansion-panel-header *ngIf=\"title\">\r\n <mat-panel-title>\r\n <div>\r\n <div class=\"flex flex-row\">\r\n <div *ngIf=\"index && !showErrorMessage\" class=\"border-current border-2 rounded-full mr-3 index\">\r\n {{ index }}\r\n </div>\r\n <div *ngIf=\"!showErrorMessage && showIcon\" class=\"mr-3 rounded\">\r\n <mat-icon class=\"rounded-icon !text-lg -mt-1\">{{ iconName }}</mat-icon>\r\n </div>\r\n <div *ngIf=\"showErrorMessage\" class=\"mt-1 mr-2\">\r\n <mat-icon color=\"warn\">warning</mat-icon>\r\n </div>\r\n {{ title }}\r\n <div *ngIf=\"showCheckbox\" class=\"ml-2 mt-1\">\r\n <ecabs-checkbox [type]=\"'toggle'\" [(ngModel)]=\"toggle\"\r\n (click)=\"toggleAction()\"></ecabs-checkbox>\r\n </div>\r\n </div>\r\n <div *ngIf=\"showErrorMessage\" class=\"error-message\">{{ errorMessage }}</div>\r\n </div>\r\n </mat-panel-title>\r\n <mat-panel-description>{{ description }}\r\n <mat-chip *ngIf=\"showStatus\" class=\"{{ status | lowercase }}\">\r\n {{ status | titlecase }}\r\n </mat-chip>\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <ng-content></ng-content>\r\n </mat-expansion-panel>\r\n</mat-accordion>\r\n", styles: [".example-action-buttons{padding-bottom:20px}.example-headers-align .mat-expansion-panel-header-title,.example-headers-align .mat-expansion-panel-header-description{flex-basis:0}.example-headers-align .mat-expansion-panel-header-description{justify-content:flex-end;align-items:center}.example-headers-align .mat-form-field+.mat-form-field{margin-left:8px}:host ::ng-deep .mat-expansion-indicator:after{border-color:var(--color-gray-500)}.index{height:28px;width:28px;display:flex;align-items:center;justify-content:center;text-align:center;padding-top:3px;font-size:16px}.error-message{font-size:.75rem!important;color:var(--color-error);margin-left:2.125rem;margin-top:-.75rem}.rounded{background-color:var(--color-brand-dark);border-radius:50%;height:28px;width:28px;display:flex;align-items:center;justify-content:center;text-align:center}.rounded-icon{color:var(--color-white)}.inactive{background-color:rgba(var(--color-warn-rgb),.05);color:var(--color-warn)}.draft{background-color:var(--color-gray-200);color:var(--color-gray-500)}.published{background-color:rgba(var(--color-info-rgb),.05);color:var(--color-info)}.active{background-color:rgba(var(--color-success-rgb),.05);color:var(--color-success)}.expired{background-color:rgba(var(--color-error-rgb),.05);color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatAccordion, selector: "mat-accordion", inputs: ["multi", "hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "directive", type: i3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i3.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "role", "id", "aria-label", "aria-description", "value", "removable", "highlighted"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i6.EcabsCheckboxToggleComponent, selector: "ecabs-checkbox", inputs: ["type", "text", "labelPosition", "indeterminate", "checked"], outputs: ["click", "changed"] }, { kind: "pipe", type: i1.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }] });
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsExpansionPanelComponent, decorators: [{
47
- type: Component,
48
- args: [{ selector: 'ecabs-expansion-panel', template: "<mat-accordion class=\"example-headers-align\" multi>\r\n <mat-expansion-panel [expanded]=\"expanded\" [disabled]=\"disabled\" (opened)=\"onOpened()\" [hideToggle]=\"hideToggle\">\r\n <mat-expansion-panel-header *ngIf=\"title\">\r\n <mat-panel-title>\r\n <div>\r\n <div class=\"flex flex-row\">\r\n <div *ngIf=\"index && !showErrorMessage\" class=\"border-current border-2 rounded-full mr-3 index\">\r\n {{ index }}\r\n </div>\r\n <div *ngIf=\"!showErrorMessage && showIcon\" class=\"mr-3 rounded\">\r\n <mat-icon class=\"rounded-icon !text-lg -mt-1\">{{ iconName }}</mat-icon>\r\n </div>\r\n <div *ngIf=\"showErrorMessage\" class=\"mt-1 mr-2\">\r\n <mat-icon color=\"warn\">warning</mat-icon>\r\n </div>\r\n {{ title }}\r\n <div *ngIf=\"showCheckbox\" class=\"ml-2 mt-1\">\r\n <ecabs-checkbox [type]=\"'toggle'\" [(ngModel)]=\"toggle\"\r\n (click)=\"toggleAction()\"></ecabs-checkbox>\r\n </div>\r\n </div>\r\n <div *ngIf=\"showErrorMessage\" class=\"error-message\">{{ errorMessage }}</div>\r\n </div>\r\n </mat-panel-title>\r\n <mat-panel-description>{{ description }}\r\n <mat-chip *ngIf=\"showStatus\" class=\"{{ status | lowercase }}\">\r\n {{ status | titlecase }}\r\n </mat-chip>\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <ng-content></ng-content>\r\n </mat-expansion-panel>\r\n</mat-accordion>\r\n", styles: [".example-action-buttons{padding-bottom:20px}.example-headers-align .mat-expansion-panel-header-title,.example-headers-align .mat-expansion-panel-header-description{flex-basis:0}.example-headers-align .mat-expansion-panel-header-description{justify-content:flex-end;align-items:center}.example-headers-align .mat-form-field+.mat-form-field{margin-left:8px}:host ::ng-deep .mat-expansion-indicator:after{border-color:var(--color-gray-500)}.index{height:28px;width:28px;display:flex;align-items:center;justify-content:center;text-align:center;padding-top:3px;font-size:16px}.error-message{font-size:.75rem!important;color:var(--color-error);margin-left:2.125rem;margin-top:-.75rem}.rounded{background-color:var(--color-brand-dark);border-radius:50%;height:28px;width:28px;display:flex;align-items:center;justify-content:center;text-align:center}.rounded-icon{color:var(--color-white)}.inactive{background-color:rgba(var(--color-warn-rgb),.05);color:var(--color-warn)}.draft{background-color:var(--color-gray-200);color:var(--color-gray-500)}.published{background-color:rgba(var(--color-info-rgb),.05);color:var(--color-info)}.active{background-color:rgba(var(--color-success-rgb),.05);color:var(--color-success)}.expired{background-color:rgba(var(--color-error-rgb),.05);color:var(--color-error)}\n"] }]
49
- }], propDecorators: { title: [{
50
- type: Input
51
- }], description: [{
52
- type: Input
53
- }], index: [{
54
- type: Input
55
- }], expanded: [{
56
- type: Input
57
- }], disabled: [{
58
- type: Input
59
- }], errorMessage: [{
60
- type: Input
61
- }], showErrorMessage: [{
62
- type: Input
63
- }], closePanel: [{
64
- type: Input
65
- }], showIcon: [{
66
- type: Input
67
- }], iconName: [{
68
- type: Input
69
- }], showCheckbox: [{
70
- type: Input
71
- }], showStatus: [{
72
- type: Input
73
- }], status: [{
74
- type: Input
75
- }], hideToggle: [{
76
- type: Input
77
- }], checked: [{
78
- type: Output
79
- }], opened: [{
80
- type: Output
81
- }], expansionPanel: [{
82
- type: ViewChild,
83
- args: [MatExpansionPanel]
84
- }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1leHBhbnNpb24tcGFuZWwvZWNhYnMtZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1leHBhbnNpb24tcGFuZWwvZWNhYnMtZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7QUFPaEUsTUFBTSxPQUFPLDRCQUE0QjtJQUV2QyxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBR1gsV0FBVyxDQUFTO0lBR3BCLEtBQUssQ0FBQztJQUdOLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFHakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUdqQixZQUFZLENBQVM7SUFHckIsZ0JBQWdCLENBQVU7SUFHMUIsVUFBVSxDQUFVO0lBR3BCLFFBQVEsQ0FBVTtJQUdsQixRQUFRLENBQVM7SUFHakIsWUFBWSxDQUFVO0lBR3RCLFVBQVUsQ0FBVTtJQUdwQixNQUFNLENBQVM7SUFHZixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBRVQsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFdEMsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFWixjQUFjLENBQW9CO0lBRWxFLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFFZixRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCO1FBQ2pDLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFFL0IsSUFBSyxVQUFVLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRztZQUN2QyxvRUFBb0U7WUFDcEUsVUFBVSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDN0Y7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFFLElBQUksQ0FBQyxRQUFRLENBQUUsQ0FBQztJQUNyQyxDQUFDO3VHQW5FVSw0QkFBNEI7MkZBQTVCLDRCQUE0QixrZ0JBK0MzQixpQkFBaUIscUVDdkQvQixpbERBaUNBOzsyRkR6QmEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLHVCQUF1Qjs4QkFNakMsS0FBSztzQkFESixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUdJLE9BQU87c0JBQWhCLE1BQU07Z0JBRUcsTUFBTTtzQkFBZixNQUFNO2dCQUV5QixjQUFjO3NCQUE3QyxTQUFTO3VCQUFFLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRFeHBhbnNpb25QYW5lbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XHJcblxyXG5AQ29tcG9uZW50KCB7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1leHBhbnNpb24tcGFuZWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1leHBhbnNpb24tcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWyAnLi9lY2Ficy1leHBhbnNpb24tcGFuZWwuY29tcG9uZW50LnNjc3MnIF0sXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgRWNhYnNFeHBhbnNpb25QYW5lbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KClcclxuICB0aXRsZSA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaW5kZXg7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZXhwYW5kZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dFcnJvck1lc3NhZ2U6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgY2xvc2VQYW5lbDogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBzaG93SWNvbjogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBpY29uTmFtZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dDaGVja2JveDogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBzaG93U3RhdHVzOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHN0YXR1czogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGhpZGVUb2dnbGUgPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIGNoZWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSBvcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoIE1hdEV4cGFuc2lvblBhbmVsICkgZXhwYW5zaW9uUGFuZWw6IE1hdEV4cGFuc2lvblBhbmVsO1xyXG5cclxuICB0b2dnbGUgPSBmYWxzZTtcclxuXHJcbiAgb25PcGVuZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9wZW5lZC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyggY2hhbmdlczogU2ltcGxlQ2hhbmdlcyApOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgY2xvc2VQYW5lbCB9ID0gY2hhbmdlcztcclxuXHJcbiAgICBpZiAoIGNsb3NlUGFuZWwgJiYgdGhpcy5leHBhbnNpb25QYW5lbCApIHtcclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtZXhwcmVzc2lvbnNcclxuICAgICAgY2xvc2VQYW5lbC5jdXJyZW50VmFsdWUgPT09IHRydWUgPyB0aGlzLmV4cGFuc2lvblBhbmVsLmNsb3NlKCkgOiB0aGlzLmV4cGFuc2lvblBhbmVsLm9wZW4oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvZ2dsZUFjdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcclxuICAgIHRoaXMuY2hlY2tlZC5lbWl0KCB0aGlzLmV4cGFuZGVkICk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtYWNjb3JkaW9uIGNsYXNzPVwiZXhhbXBsZS1oZWFkZXJzLWFsaWduXCIgbXVsdGk+XHJcbiAgPG1hdC1leHBhbnNpb24tcGFuZWwgW2V4cGFuZGVkXT1cImV4cGFuZGVkXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgKG9wZW5lZCk9XCJvbk9wZW5lZCgpXCIgW2hpZGVUb2dnbGVdPVwiaGlkZVRvZ2dsZVwiPlxyXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyICpuZ0lmPVwidGl0bGVcIj5cclxuICAgICAgPG1hdC1wYW5lbC10aXRsZT5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3dcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImluZGV4ICYmICFzaG93RXJyb3JNZXNzYWdlXCIgY2xhc3M9XCJib3JkZXItY3VycmVudCBib3JkZXItMiByb3VuZGVkLWZ1bGwgbXItMyBpbmRleFwiPlxyXG4gICAgICAgICAgICAgIHt7IGluZGV4IH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNob3dFcnJvck1lc3NhZ2UgJiYgc2hvd0ljb25cIiBjbGFzcz1cIm1yLTMgcm91bmRlZFwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInJvdW5kZWQtaWNvbiAhdGV4dC1sZyAtbXQtMVwiPnt7IGljb25OYW1lIH19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93RXJyb3JNZXNzYWdlXCIgY2xhc3M9XCJtdC0xIG1yLTJcIj5cclxuICAgICAgICAgICAgICA8bWF0LWljb24gY29sb3I9XCJ3YXJuXCI+d2FybmluZzwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB7eyB0aXRsZSB9fVxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0NoZWNrYm94XCIgY2xhc3M9XCJtbC0yIG10LTFcIj5cclxuICAgICAgICAgICAgICA8ZWNhYnMtY2hlY2tib3ggW3R5cGVdPVwiJ3RvZ2dsZSdcIiBbKG5nTW9kZWwpXT1cInRvZ2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVBY3Rpb24oKVwiPjwvZWNhYnMtY2hlY2tib3g+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0Vycm9yTWVzc2FnZVwiIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPnt7IGVycm9yTWVzc2FnZSB9fTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L21hdC1wYW5lbC10aXRsZT5cclxuICAgICAgPG1hdC1wYW5lbC1kZXNjcmlwdGlvbj57eyBkZXNjcmlwdGlvbiB9fVxyXG4gICAgICAgIDxtYXQtY2hpcCAqbmdJZj1cInNob3dTdGF0dXNcIiBjbGFzcz1cInt7IHN0YXR1cyB8IGxvd2VyY2FzZSB9fVwiPlxyXG4gICAgICAgICAge3sgc3RhdHVzIHwgdGl0bGVjYXNlIH19XHJcbiAgICAgICAgPC9tYXQtY2hpcD5cclxuICAgICAgPC9tYXQtcGFuZWwtZGVzY3JpcHRpb24+XHJcbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuPC9tYXQtYWNjb3JkaW9uPlxyXG4iXX0=