@indice/ng-components 0.2.162 → 0.2.165

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 (183) hide show
  1. package/README.md +4 -4
  2. package/_styles.css +4270 -4270
  3. package/bundles/indice-ng-components.umd.js +5000 -0
  4. package/bundles/indice-ng-components.umd.js.map +1 -0
  5. package/{esm2020/indice-ng-components.mjs → esm2015/indice-ng-components.js} +0 -0
  6. package/esm2015/lib/controls/advanced-search/advanced-search.component.js +116 -0
  7. package/esm2015/lib/controls/advanced-search/models.js +91 -0
  8. package/{esm2020/lib/controls/avatar-initials/avatar-initials.component.mjs → esm2015/lib/controls/avatar-initials/avatar-initials.component.js} +8 -5
  9. package/esm2015/lib/controls/collapsible-panel/collapsible-panel.component.js +23 -0
  10. package/esm2015/lib/controls/combobox/combobox.component.js +100 -0
  11. package/esm2015/lib/controls/date-picker/date-picker.component.js +301 -0
  12. package/esm2015/lib/controls/drop-down-menu/drop-down-menu.component.js +72 -0
  13. package/esm2015/lib/controls/kpi-tile/kpi-tile.component.js +39 -0
  14. package/esm2015/lib/controls/language-selection/language-selection.component.js +35 -0
  15. package/{esm2020/lib/controls/list-view/list-column.component.mjs → esm2015/lib/controls/list-view/list-column.component.js} +4 -4
  16. package/{esm2020/lib/controls/list-view/list-details-section.component.mjs → esm2015/lib/controls/list-view/list-details-section.component.js} +4 -4
  17. package/{esm2020/lib/controls/list-view/list-tile.component.mjs → esm2015/lib/controls/list-view/list-tile.component.js} +4 -4
  18. package/esm2015/lib/controls/list-view/list-view-empty-state.component.js +32 -0
  19. package/esm2015/lib/controls/list-view/list-view.component.js +209 -0
  20. package/esm2015/lib/controls/nav-links-list/nav-links-list.component.js +51 -0
  21. package/esm2015/lib/controls/notifications-indicator/notifications-indicator.component.js +82 -0
  22. package/esm2015/lib/controls/pager/pager.component.js +133 -0
  23. package/esm2015/lib/controls/side-pane/side-pane.component.js +76 -0
  24. package/esm2015/lib/controls/skeleton-loader/skeleton-loader.component.js +29 -0
  25. package/{esm2020/lib/controls/stepper/lib-step-info.directive.mjs → esm2015/lib/controls/stepper/lib-step-info.directive.js} +4 -4
  26. package/{esm2020/lib/controls/stepper/lib-step-label.directive.mjs → esm2015/lib/controls/stepper/lib-step-label.directive.js} +4 -4
  27. package/esm2015/lib/controls/stepper/lib-step.component.js +82 -0
  28. package/esm2015/lib/controls/stepper/lib-stepper.component.js +115 -0
  29. package/esm2015/lib/controls/stepper/types/step-selected-event.js +4 -0
  30. package/{esm2020/lib/controls/stepper/types/stepper-type.mjs → esm2015/lib/controls/stepper/types/stepper-type.js} +1 -1
  31. package/esm2015/lib/controls/tabs/lib-tab-group.component.js +67 -0
  32. package/esm2015/lib/controls/tabs/lib-tab.component.js +58 -0
  33. package/esm2015/lib/controls/toaster/toaster-container.component.js +31 -0
  34. package/esm2015/lib/controls/toaster/toaster.component.js +34 -0
  35. package/esm2015/lib/controls/toggle/toggle.component.js +68 -0
  36. package/esm2015/lib/controls/user-profile-menu/user-profile-menu.component.js +75 -0
  37. package/{esm2020/lib/directives/click-outside.directive.mjs → esm2015/lib/directives/click-outside.directive.js} +4 -4
  38. package/{esm2020/lib/directives/dynamic-component-host.directive.mjs → esm2015/lib/directives/dynamic-component-host.directive.js} +4 -4
  39. package/esm2015/lib/helpers/base-list.component.js +227 -0
  40. package/{esm2020/lib/icons.mjs → esm2015/lib/icons.js} +1 -1
  41. package/esm2015/lib/layouts/shell/shell-footer/shell-footer.component.js +22 -0
  42. package/esm2015/lib/layouts/shell/shell-header/shell-header.component.js +135 -0
  43. package/esm2015/lib/layouts/shell/shell-layout/shell-layout.component.js +106 -0
  44. package/esm2015/lib/layouts/shell/shell-sidebar/shell-sidebar.component.js +50 -0
  45. package/esm2015/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.js +48 -0
  46. package/esm2015/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.js +28 -0
  47. package/esm2015/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.js +24 -0
  48. package/esm2015/lib/layouts/views/form-layout/form-layout.component.js +85 -0
  49. package/esm2015/lib/layouts/views/model-view-layout/model-view-layout.component.js +53 -0
  50. package/esm2015/lib/layouts/views/side-view-layout/side-view-layout.component.js +101 -0
  51. package/esm2015/lib/layouts/views/view-layout/view-layout.component.js +110 -0
  52. package/{esm2020/lib/ng-components.module.mjs → esm2015/lib/ng-components.module.js} +10 -8
  53. package/esm2015/lib/pages/auth/auth-callback/auth-callback.component.js +34 -0
  54. package/{esm2020/lib/pages/auth/auth-renew/auth-renew.component.mjs → esm2015/lib/pages/auth/auth-renew/auth-renew.component.js} +4 -4
  55. package/esm2015/lib/pages/auth/logged-out/logged-out.component.js +32 -0
  56. package/esm2015/lib/pages/http-status/error/error.component.js +20 -0
  57. package/esm2015/lib/pages/http-status/page-not-found/page-not-found.component.js +18 -0
  58. package/esm2015/lib/pages/http-status/unauthorized/unauthorized.component.js +17 -0
  59. package/{esm2020/lib/pipes/address.pipe.mjs → esm2015/lib/pipes/address.pipe.js} +4 -4
  60. package/{esm2020/lib/pipes/duration-format.pipe.mjs → esm2015/lib/pipes/duration-format.pipe.js} +4 -4
  61. package/esm2015/lib/services/component-loader/component-loader-options.class.js +8 -0
  62. package/esm2015/lib/services/component-loader/component-loader.class.js +192 -0
  63. package/{esm2020/lib/services/component-loader/component-loader.factory.mjs → esm2015/lib/services/component-loader/component-loader.factory.js} +4 -4
  64. package/{esm2020/lib/services/component-loader/content-ref.class.mjs → esm2015/lib/services/component-loader/content-ref.class.js} +1 -1
  65. package/esm2015/lib/services/modal-service/modal-backdrop-component.js +44 -0
  66. package/esm2015/lib/services/modal-service/modal-container-component.js +128 -0
  67. package/esm2015/lib/services/modal-service/modal-options.class.js +35 -0
  68. package/esm2015/lib/services/modal-service/modal-service.js +220 -0
  69. package/{esm2020/lib/services/modal-service/modal-styles.class.mjs → esm2015/lib/services/modal-service/modal-styles.class.js} +1 -1
  70. package/esm2015/lib/services/modal-service/modal.class.js +27 -0
  71. package/{esm2020/lib/services/toaster.service.mjs → esm2015/lib/services/toaster.service.js} +4 -4
  72. package/{esm2020/lib/tokens.mjs → esm2015/lib/tokens.js} +1 -1
  73. package/{esm2020/lib/types.mjs → esm2015/lib/types.js} +1 -1
  74. package/{esm2020/public-api.mjs → esm2015/public-api.js} +1 -1
  75. package/fesm2015/indice-ng-components.js +4352 -0
  76. package/fesm2015/indice-ng-components.js.map +1 -0
  77. package/{index.d.ts → indice-ng-components.d.ts} +0 -0
  78. package/lib/controls/advanced-search/advanced-search.component.d.ts +1 -1
  79. package/lib/controls/avatar-initials/avatar-initials.component.d.ts +1 -1
  80. package/lib/controls/collapsible-panel/collapsible-panel.component.d.ts +1 -1
  81. package/lib/controls/combobox/combobox.component.d.ts +1 -1
  82. package/lib/controls/date-picker/date-picker.component.d.ts +1 -1
  83. package/lib/controls/drop-down-menu/drop-down-menu.component.d.ts +1 -1
  84. package/lib/controls/kpi-tile/kpi-tile.component.d.ts +1 -1
  85. package/lib/controls/language-selection/language-selection.component.d.ts +1 -1
  86. package/lib/controls/list-view/list-column.component.d.ts +1 -1
  87. package/lib/controls/list-view/list-details-section.component.d.ts +1 -1
  88. package/lib/controls/list-view/list-tile.component.d.ts +1 -1
  89. package/lib/controls/list-view/list-view-empty-state.component.d.ts +1 -1
  90. package/lib/controls/list-view/list-view.component.d.ts +1 -1
  91. package/lib/controls/nav-links-list/nav-links-list.component.d.ts +1 -1
  92. package/lib/controls/notifications-indicator/notifications-indicator.component.d.ts +1 -1
  93. package/lib/controls/pager/pager.component.d.ts +1 -1
  94. package/lib/controls/side-pane/side-pane.component.d.ts +1 -1
  95. package/lib/controls/skeleton-loader/skeleton-loader.component.d.ts +1 -1
  96. package/lib/controls/stepper/lib-step-info.directive.d.ts +1 -1
  97. package/lib/controls/stepper/lib-step-label.directive.d.ts +1 -1
  98. package/lib/controls/stepper/lib-step.component.d.ts +1 -1
  99. package/lib/controls/stepper/lib-stepper.component.d.ts +1 -1
  100. package/lib/controls/tabs/lib-tab-group.component.d.ts +1 -1
  101. package/lib/controls/tabs/lib-tab.component.d.ts +1 -1
  102. package/lib/controls/toaster/toaster-container.component.d.ts +1 -1
  103. package/lib/controls/toaster/toaster.component.d.ts +1 -1
  104. package/lib/controls/toggle/toggle.component.d.ts +1 -1
  105. package/lib/controls/user-profile-menu/user-profile-menu.component.d.ts +1 -1
  106. package/lib/directives/click-outside.directive.d.ts +1 -1
  107. package/lib/directives/dynamic-component-host.directive.d.ts +1 -1
  108. package/lib/helpers/base-list.component.d.ts +1 -1
  109. package/lib/layouts/shell/shell-footer/shell-footer.component.d.ts +1 -1
  110. package/lib/layouts/shell/shell-header/shell-header.component.d.ts +1 -1
  111. package/lib/layouts/shell/shell-layout/shell-layout.component.d.ts +1 -1
  112. package/lib/layouts/shell/shell-sidebar/shell-sidebar.component.d.ts +1 -1
  113. package/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.d.ts +1 -1
  114. package/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.d.ts +1 -1
  115. package/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.d.ts +1 -1
  116. package/lib/layouts/views/form-layout/form-layout.component.d.ts +1 -1
  117. package/lib/layouts/views/model-view-layout/model-view-layout.component.d.ts +1 -1
  118. package/lib/layouts/views/side-view-layout/side-view-layout.component.d.ts +1 -1
  119. package/lib/layouts/views/view-layout/view-layout.component.d.ts +1 -1
  120. package/lib/pages/auth/auth-callback/auth-callback.component.d.ts +1 -1
  121. package/lib/pages/auth/auth-renew/auth-renew.component.d.ts +1 -1
  122. package/lib/pages/auth/logged-out/logged-out.component.d.ts +1 -1
  123. package/lib/pages/http-status/error/error.component.d.ts +1 -1
  124. package/lib/pages/http-status/page-not-found/page-not-found.component.d.ts +1 -1
  125. package/lib/pages/http-status/unauthorized/unauthorized.component.d.ts +1 -1
  126. package/lib/pipes/address.pipe.d.ts +1 -1
  127. package/lib/pipes/duration-format.pipe.d.ts +1 -1
  128. package/lib/services/modal-service/modal-backdrop-component.d.ts +1 -1
  129. package/lib/services/modal-service/modal-container-component.d.ts +1 -1
  130. package/modal.css +157 -157
  131. package/package.json +8 -21
  132. package/esm2020/lib/controls/advanced-search/advanced-search.component.mjs +0 -112
  133. package/esm2020/lib/controls/advanced-search/models.mjs +0 -90
  134. package/esm2020/lib/controls/collapsible-panel/collapsible-panel.component.mjs +0 -20
  135. package/esm2020/lib/controls/combobox/combobox.component.mjs +0 -97
  136. package/esm2020/lib/controls/date-picker/date-picker.component.mjs +0 -292
  137. package/esm2020/lib/controls/drop-down-menu/drop-down-menu.component.mjs +0 -68
  138. package/esm2020/lib/controls/kpi-tile/kpi-tile.component.mjs +0 -36
  139. package/esm2020/lib/controls/language-selection/language-selection.component.mjs +0 -31
  140. package/esm2020/lib/controls/list-view/list-view-empty-state.component.mjs +0 -29
  141. package/esm2020/lib/controls/list-view/list-view.component.mjs +0 -206
  142. package/esm2020/lib/controls/nav-links-list/nav-links-list.component.mjs +0 -46
  143. package/esm2020/lib/controls/notifications-indicator/notifications-indicator.component.mjs +0 -77
  144. package/esm2020/lib/controls/pager/pager.component.mjs +0 -130
  145. package/esm2020/lib/controls/side-pane/side-pane.component.mjs +0 -72
  146. package/esm2020/lib/controls/skeleton-loader/skeleton-loader.component.mjs +0 -25
  147. package/esm2020/lib/controls/stepper/lib-step.component.mjs +0 -81
  148. package/esm2020/lib/controls/stepper/lib-stepper.component.mjs +0 -108
  149. package/esm2020/lib/controls/stepper/types/step-selected-event.mjs +0 -4
  150. package/esm2020/lib/controls/tabs/lib-tab-group.component.mjs +0 -60
  151. package/esm2020/lib/controls/tabs/lib-tab.component.mjs +0 -57
  152. package/esm2020/lib/controls/toaster/toaster-container.component.mjs +0 -28
  153. package/esm2020/lib/controls/toaster/toaster.component.mjs +0 -31
  154. package/esm2020/lib/controls/toggle/toggle.component.mjs +0 -64
  155. package/esm2020/lib/controls/user-profile-menu/user-profile-menu.component.mjs +0 -71
  156. package/esm2020/lib/helpers/base-list.component.mjs +0 -226
  157. package/esm2020/lib/layouts/shell/shell-footer/shell-footer.component.mjs +0 -19
  158. package/esm2020/lib/layouts/shell/shell-header/shell-header.component.mjs +0 -130
  159. package/esm2020/lib/layouts/shell/shell-layout/shell-layout.component.mjs +0 -101
  160. package/esm2020/lib/layouts/shell/shell-sidebar/shell-sidebar.component.mjs +0 -47
  161. package/esm2020/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.mjs +0 -45
  162. package/esm2020/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.mjs +0 -25
  163. package/esm2020/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.mjs +0 -21
  164. package/esm2020/lib/layouts/views/form-layout/form-layout.component.mjs +0 -80
  165. package/esm2020/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +0 -49
  166. package/esm2020/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +0 -98
  167. package/esm2020/lib/layouts/views/view-layout/view-layout.component.mjs +0 -104
  168. package/esm2020/lib/pages/auth/auth-callback/auth-callback.component.mjs +0 -30
  169. package/esm2020/lib/pages/auth/logged-out/logged-out.component.mjs +0 -28
  170. package/esm2020/lib/pages/http-status/error/error.component.mjs +0 -17
  171. package/esm2020/lib/pages/http-status/page-not-found/page-not-found.component.mjs +0 -15
  172. package/esm2020/lib/pages/http-status/unauthorized/unauthorized.component.mjs +0 -14
  173. package/esm2020/lib/services/component-loader/component-loader-options.class.mjs +0 -8
  174. package/esm2020/lib/services/component-loader/component-loader.class.mjs +0 -188
  175. package/esm2020/lib/services/modal-service/modal-backdrop-component.mjs +0 -44
  176. package/esm2020/lib/services/modal-service/modal-container-component.mjs +0 -126
  177. package/esm2020/lib/services/modal-service/modal-options.class.mjs +0 -35
  178. package/esm2020/lib/services/modal-service/modal-service.mjs +0 -219
  179. package/esm2020/lib/services/modal-service/modal.class.mjs +0 -27
  180. package/fesm2015/indice-ng-components.mjs +0 -4264
  181. package/fesm2015/indice-ng-components.mjs.map +0 -1
  182. package/fesm2020/indice-ng-components.mjs +0 -4191
  183. package/fesm2020/indice-ng-components.mjs.map +0 -1
@@ -0,0 +1,301 @@
1
+ import { getLocaleMonthNames, FormStyle, TranslationWidth, getLocaleDayNames } from '@angular/common';
2
+ import { Component, EventEmitter, forwardRef, Inject, Input, LOCALE_ID, Output, ViewChild } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "../../directives/click-outside.directive";
7
+ // freaksly simple date picker : https://tailwind-elements.com/docs/standard/forms/datepicker/
8
+ export class DatepickerComponent {
9
+ constructor(locale) {
10
+ this.locale = locale;
11
+ this.readonly = false;
12
+ this.disabled = false;
13
+ this.inline = false;
14
+ this.displayFormat = 'dd/MM/yyyy';
15
+ this.placeholder = '';
16
+ this.value = null;
17
+ this.valueChange = new EventEmitter();
18
+ this.minDate = undefined;
19
+ this.maxDate = undefined;
20
+ this.showCalendar = false;
21
+ this.showYears = false;
22
+ this.monthNames = getLocaleMonthNames(this.locale, FormStyle.Standalone, TranslationWidth.Wide);
23
+ this.dayNames = getLocaleDayNames(this.locale, FormStyle.Standalone, TranslationWidth.Abbreviated);
24
+ this.month = -1;
25
+ this.year = -1;
26
+ this.calendarDates = [];
27
+ this.calendarYears = [];
28
+ this.showCalendarYears = [];
29
+ this.blankDays = [];
30
+ this.calendarYearPage = 1;
31
+ this.yearsPerPage = 30;
32
+ this.onChange$ = undefined;
33
+ this.onTouched$ = undefined;
34
+ }
35
+ ngOnInit() {
36
+ var _a, _b;
37
+ let today = new Date();
38
+ this.month = today.getMonth();
39
+ this.year = today.getFullYear();
40
+ this.calendarDates = [{ day: this.value, today: this.value, selected: this.value }];
41
+ this.calendarYears = [{ year: (_a = this.value) === null || _a === void 0 ? void 0 : _a.getFullYear(), today: this.value, selected: this.value }];
42
+ const yearsArray = [];
43
+ for (let i = 1950; i <= today.getFullYear() + 2; i++) {
44
+ yearsArray.push({ year: i, today: this.compareDates(today, null, i), selected: i == ((_b = this.value) === null || _b === void 0 ? void 0 : _b.getFullYear()) });
45
+ }
46
+ this.calendarYears = yearsArray;
47
+ this.showCalendarYears = this.paginate(this.calendarYears, 1);
48
+ this.calcDays();
49
+ }
50
+ writeValue(obj) {
51
+ if (obj) {
52
+ this.value = new Date(obj);
53
+ this.month = this.value.getMonth();
54
+ this.year = this.value.getFullYear();
55
+ }
56
+ }
57
+ registerOnChange(fn) {
58
+ this.onChange$ = fn;
59
+ }
60
+ registerOnTouched(fn) {
61
+ this.onTouched$ = fn;
62
+ }
63
+ onBlur(event) {
64
+ if (this.onTouched$) {
65
+ this.onTouched$();
66
+ }
67
+ this.getDateFromInput();
68
+ }
69
+ selectDateValue(date) {
70
+ // This should be in UTC
71
+ if (!this.outOfRangeDate(date.day)) {
72
+ let selectedDate = new Date(this.year, this.month, date.day, 3, 0, 0, 0);
73
+ this.value = selectedDate;
74
+ this.valueChange.emit(this.value);
75
+ if (this.onChange$) {
76
+ this.onChange$(this.value);
77
+ }
78
+ this.updateDays();
79
+ if (this.onTouched$) {
80
+ this.onTouched$();
81
+ }
82
+ this.calcDays();
83
+ this.showCalendar = false;
84
+ }
85
+ }
86
+ selectYearValue(year) {
87
+ var _a, _b, _c, _d, _e;
88
+ // This should be in UTC
89
+ const tempYear = this.year;
90
+ this.year = year.year;
91
+ if (!this.outOfRangeDate((_b = (_a = this.calendarDates) === null || _a === void 0 ? void 0 : _a.find(x => x.selected == true)) !== null && _b !== void 0 ? _b : { day: 1 })) {
92
+ let selectedDate = new Date(year.year, (_c = this.month) !== null && _c !== void 0 ? _c : 1, (_e = (_d = this.calendarDates) === null || _d === void 0 ? void 0 : _d.find(x => x.selected == true).day) !== null && _e !== void 0 ? _e : 1, 3, 0, 0, 0);
93
+ this.value = selectedDate;
94
+ this.valueChange.emit(this.value);
95
+ if (this.onChange$) {
96
+ this.onChange$(this.value);
97
+ }
98
+ this.updateDays();
99
+ if (this.onTouched$) {
100
+ this.onTouched$();
101
+ }
102
+ this.showYears = false;
103
+ this.showCalendar = true;
104
+ this.calcDays();
105
+ }
106
+ else {
107
+ this.year = tempYear;
108
+ this.showYears = false;
109
+ this.showCalendar = true;
110
+ }
111
+ }
112
+ previousMonth() {
113
+ if (this.month !== 0) {
114
+ this.month = this.month - 1;
115
+ this.calcDays();
116
+ }
117
+ else {
118
+ this.month = 11;
119
+ this.year = this.year - 1;
120
+ this.calcDays();
121
+ }
122
+ if (this.onTouched$) {
123
+ this.onTouched$();
124
+ }
125
+ }
126
+ nextMonth() {
127
+ if (this.month !== 11) {
128
+ this.month = this.month + 1;
129
+ this.calcDays();
130
+ }
131
+ else {
132
+ this.month = 0;
133
+ this.year = this.year + 1;
134
+ this.calcDays();
135
+ }
136
+ if (this.onTouched$) {
137
+ this.onTouched$();
138
+ }
139
+ }
140
+ previousYear() {
141
+ this.showCalendarYears = this.paginate(this.calendarYears, this.calendarYearPage > 1 ? --this.calendarYearPage : 1);
142
+ this.calcDays();
143
+ if (this.onTouched$) {
144
+ this.onTouched$();
145
+ }
146
+ }
147
+ nextYear() {
148
+ this.showCalendarYears = this.paginate(this.calendarYears, this.calendarYearPage <= this.calendarYears.length / this.yearsPerPage
149
+ ? ++this.calendarYearPage
150
+ : this.calendarYearPage);
151
+ this.calcDays();
152
+ if (this.onTouched$) {
153
+ this.onTouched$();
154
+ }
155
+ }
156
+ compareDates(date1, day, year) {
157
+ var _a;
158
+ if (!date1) {
159
+ return false;
160
+ }
161
+ const d = new Date(year !== null && year !== void 0 ? year : this.year, this.month, day !== null && day !== void 0 ? day : (_a = this.value) === null || _a === void 0 ? void 0 : _a.getDay());
162
+ return date1.toDateString() === d.toDateString();
163
+ }
164
+ ;
165
+ calcDays() {
166
+ var _a;
167
+ const daysInMonth = new Date(this.year, this.month + 1, 0).getDate();
168
+ // find where to start calendar day of week
169
+ const dayOfWeek = new Date(this.year, this.month).getDay();
170
+ const blankdaysArray = new Array();
171
+ for (var i = 1; i <= dayOfWeek; i++) {
172
+ // check if month is February
173
+ blankdaysArray.push(this.month != 2 ? (32 - i) : (29 - i));
174
+ blankdaysArray.reverse().sort();
175
+ }
176
+ const daysArray = [];
177
+ const today = new Date();
178
+ for (var i = 1; i <= daysInMonth; i++) {
179
+ daysArray.push({ day: i, today: this.compareDates(today, i, null), selected: this.compareDates((_a = this.value) !== null && _a !== void 0 ? _a : today, i, null) });
180
+ }
181
+ const yearsArray = [];
182
+ for (let i = 1950; i <= today.getFullYear() + 2; i++) {
183
+ yearsArray.push({ year: i, today: this.compareDates(today, null, i), selected: i == this.year });
184
+ }
185
+ this.calendarYears = yearsArray;
186
+ this.blankDays = blankdaysArray;
187
+ this.calendarDates = daysArray;
188
+ }
189
+ updateDays() {
190
+ const today = new Date();
191
+ this.calendarDates.forEach(d => {
192
+ d.today = this.compareDates(today, d, this.year);
193
+ d.selected = this.compareDates(this.value, d, this.year);
194
+ });
195
+ }
196
+ paginate(array, page_number) {
197
+ return array.slice((page_number - 1) * this.yearsPerPage, page_number * this.yearsPerPage);
198
+ }
199
+ getDateFromInput() {
200
+ var _a, _b;
201
+ if (((_a = this.dateInput) === null || _a === void 0 ? void 0 : _a.nativeElement.value) !== '' && !this.inline) {
202
+ var dateParts = (_b = this.dateInput) === null || _b === void 0 ? void 0 : _b.nativeElement.value.split("/");
203
+ let dateInGrFormat = new Date(+dateParts[2], dateParts[1] - 1, +dateParts[0], 3, 0, 0);
204
+ if (dateInGrFormat.toString() !== 'Invalid Date') {
205
+ this.writeValue(dateInGrFormat);
206
+ this.calcDays();
207
+ this.valueChange.emit(dateInGrFormat);
208
+ }
209
+ if (this.onChange$) {
210
+ this.onChange$(this.value);
211
+ }
212
+ this.updateDays();
213
+ if (this.onTouched$) {
214
+ this.onTouched$();
215
+ }
216
+ }
217
+ this.showCalendar = false;
218
+ }
219
+ openYears() {
220
+ this.showYears = !this.showYears;
221
+ this.calendarYearPage = Math.ceil(this.calendarYears.map(x => x.year).indexOf(this.year) / this.yearsPerPage);
222
+ this.showCalendarYears = this.paginate(this.calendarYears, this.calendarYearPage !== 0 ? this.calendarYearPage : 1);
223
+ this.calcDays();
224
+ }
225
+ openCalendar() {
226
+ this.showCalendar = !this.showCalendar;
227
+ this.calcDays();
228
+ }
229
+ closeCalendar() {
230
+ this.showCalendar = false;
231
+ this.getDateFromInput();
232
+ }
233
+ outOfRangeDate(date) {
234
+ let outOfRange = false;
235
+ if (this.minDate || this.maxDate) {
236
+ const d = new Date(this.year, this.month, date.day);
237
+ const dateInMillis = d.getTime();
238
+ if (this.minDate) {
239
+ let minDate = this.minDate.getTime();
240
+ if (dateInMillis < minDate && this.minDate.toDateString() !== d.toDateString()) {
241
+ outOfRange = true;
242
+ }
243
+ }
244
+ if (this.maxDate) {
245
+ let maxDate = this.maxDate.getTime();
246
+ if (dateInMillis > maxDate && this.maxDate.toDateString() !== d.toDateString()) {
247
+ outOfRange = true;
248
+ }
249
+ }
250
+ }
251
+ return outOfRange;
252
+ }
253
+ }
254
+ DatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DatepickerComponent, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component });
255
+ DatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DatepickerComponent, selector: "lib-date-picker", inputs: { readonly: "readonly", disabled: "disabled", inline: "inline", displayFormat: ["display-format", "displayFormat"], placeholder: "placeholder", value: "value", minDate: "minDate", maxDate: "maxDate" }, outputs: { valueChange: "valueChange" }, providers: [
256
+ {
257
+ provide: NG_VALUE_ACCESSOR,
258
+ useExisting: forwardRef(() => DatepickerComponent),
259
+ multi: true
260
+ }
261
+ ], viewQueries: [{ propertyName: "dateInput", first: true, predicate: ["dateInput"], descendants: true }], ngImport: i0, template: "<div class=\"flex\"\r\n [ngClass]=\"{'relative': !inline}\"\r\n (clickOutside)=\"closeCalendar()\">\r\n\r\n <input type=\"text\"\r\n *ngIf=\"!inline\"\r\n #dateInput\r\n [readonly]=\"readonly\"\r\n name=\"dateInput\"\r\n (blur)=\"onBlur($event)\"\r\n id=\"dateInput\"\r\n (focus)=\"showCalendar = false\"\r\n [value]=\"value | date: displayFormat\"\r\n class=\"detapicker-input\"\r\n [ngClass]=\"{'cursor-not-allowed': disabled}\"\r\n [placeholder]=\"disabled ? '' : placeholder\">\r\n\r\n <button type=\"button\"\r\n *ngIf=\"!inline\"\r\n class=\"datepicker-button\"\r\n [disabled]=\"disabled\"\r\n (click)=\"openCalendar()\"\r\n [ngClass]=\"{'cursor-not-allowed': disabled}\">\r\n <i class=\"ms-Icon ms-Icon--DateTime2\"></i>\r\n </button>\r\n\r\n <div *ngIf=\"showCalendar || inline\"\r\n [ngClass]=\"{'absolute': !inline}\"\r\n class=\"datepicker-background\"\r\n style=\"height:18rem;min-width:16rem;\"\r\n name=\"calendar\">\r\n <div class=\"datepicker-btn-wrapper\">\r\n <div>\r\n <button type=\"button\"\r\n (click)=\"openYears()\">\r\n <span class=\"datepicker-selected-month\">\r\n {{monthNames[month]}}\r\n </span>\r\n <span class=\"datepicker-selected-year\">\r\n {{year}}</span>\r\n </button>\r\n </div>\r\n <div *ngIf=\"!showYears; else showYearsPickerTmpl\">\r\n <button type=\"button\"\r\n class=\"datepicker-nav-btn\"\r\n (click)=\"previousMonth();\">\r\n <svg fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 19l-7-7 7-7\" />\r\n </svg>\r\n </button>\r\n <button type=\"button\"\r\n class=\"datepicker-nav-btn\"\r\n (click)=\"nextMonth()\">\r\n <svg fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 5l7 7-7 7\" />\r\n </svg>\r\n </button>\r\n </div>\r\n <ng-template #showYearsPickerTmpl>\r\n <div>\r\n <button type=\"button\"\r\n class=\"datepicker-nav-btn\"\r\n (click)=\"previousYear();\">\r\n <svg fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M15 19l-7-7 7-7\" />\r\n </svg>\r\n </button>\r\n <button type=\"button\"\r\n class=\"datepicker-nav-btn\"\r\n (click)=\"nextYear()\">\r\n <svg fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 5l7 7-7 7\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n <div class=\"datepicker-wrapper\"\r\n *ngIf=\"!showYears; else showCalYearsTmpl\">\r\n <div *ngFor=\"let day of dayNames\"\r\n class=\"datepicker-day-name\"\r\n style=\"width: 14.28%\">{{day}}</div>\r\n </div>\r\n\r\n <ng-template #showCalYearsTmpl>\r\n <div class=\"datepicker-content-wrapper\">\r\n <div *ngFor=\"let year of showCalendarYears\"\r\n style=\"width: 18.28%\"\r\n class=\"px-1 mb-1\">\r\n <div (click)=\"selectYearValue(year)\"\r\n class=\"datepicker-year\"\r\n [class]=\"year.selected ? 'selected' : 'not-selected'\">\r\n {{year.year}}</div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"datepicker-content-wrapper\"\r\n *ngIf=\"!showYears\">\r\n <div *ngFor=\"let blankday of blankDays\"\r\n style=\"width: 14.28%\"\r\n class=\"datepicker-blank-days\">{{blankday}}</div>\r\n <div *ngFor=\"let date of calendarDates;\"\r\n style=\"width: 14.28%\"\r\n class=\"px-1 mb-1\">\r\n <div (click)=\"selectDateValue(date)\"\r\n class=\"datepicker-days\"\r\n [ngClass]=\"{'out-of-range': outOfRangeDate(date),'selected': date.selected, 'not-selected':!date.selected }\">\r\n {{date.day}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>", directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "date": i1.DatePipe } });
262
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DatepickerComponent, decorators: [{
263
+ type: Component,
264
+ args: [{
265
+ selector: 'lib-date-picker',
266
+ templateUrl: './date-picker.component.html',
267
+ providers: [
268
+ {
269
+ provide: NG_VALUE_ACCESSOR,
270
+ useExisting: forwardRef(() => DatepickerComponent),
271
+ multi: true
272
+ }
273
+ ]
274
+ }]
275
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
276
+ type: Inject,
277
+ args: [LOCALE_ID]
278
+ }] }]; }, propDecorators: { readonly: [{
279
+ type: Input
280
+ }], disabled: [{
281
+ type: Input
282
+ }], inline: [{
283
+ type: Input
284
+ }], displayFormat: [{
285
+ type: Input,
286
+ args: ['display-format']
287
+ }], placeholder: [{
288
+ type: Input
289
+ }], value: [{
290
+ type: Input
291
+ }], valueChange: [{
292
+ type: Output
293
+ }], dateInput: [{
294
+ type: ViewChild,
295
+ args: ['dateInput']
296
+ }], minDate: [{
297
+ type: Input
298
+ }], maxDate: [{
299
+ type: Input
300
+ }] } });
301
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEcsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckksT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRXpFLDhGQUE4RjtBQVk5RixNQUFNLE9BQU8sbUJBQW1CO0lBMkM5QixZQUFzQyxNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQTFDM0MsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDUixrQkFBYSxHQUF1QixZQUFZLENBQUM7UUFDakUsZ0JBQVcsR0FBdUIsRUFBRSxDQUFDO1FBQ3JDLFVBQUssR0FBNEIsSUFBSSxDQUFDO1FBQ3JDLGdCQUFXLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFNUQsWUFBTyxHQUFxQixTQUFTLENBQUM7UUFDdEMsWUFBTyxHQUFxQixTQUFTLENBQUM7UUFDeEMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsY0FB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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0TG9jYWxlTW9udGhOYW1lcywgRm9ybVN0eWxlLCBUcmFuc2xhdGlvbldpZHRoLCBnZXRMb2NhbGVEYXlOYW1lcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbmplY3QsIElucHV0LCBMT0NBTEVfSUQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuLy8gZnJlYWtzbHkgc2ltcGxlIGRhdGUgcGlja2VyIDogaHR0cHM6Ly90YWlsd2luZC1lbGVtZW50cy5jb20vZG9jcy9zdGFuZGFyZC9mb3Jtcy9kYXRlcGlja2VyL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1kYXRlLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVwaWNrZXJDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaW5saW5lOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCdkaXNwbGF5LWZvcm1hdCcpIGRpc3BsYXlGb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9ICdkZC9NTS95eXl5JztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nIHwgdW5kZWZpbmVkID0gJyc7XHJcbiAgQElucHV0KCkgdmFsdWU6IERhdGUgfCB1bmRlZmluZWQgfCBudWxsID0gbnVsbDtcclxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuICBAVmlld0NoaWxkKCdkYXRlSW5wdXQnKSBkYXRlSW5wdXQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgbWluRGF0ZTogRGF0ZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBtYXhEYXRlOiBEYXRlIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyBzaG93Q2FsZW5kYXIgPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1llYXJzID0gZmFsc2U7XHJcbiAgcHVibGljIG1vbnRoTmFtZXMgPSBnZXRMb2NhbGVNb250aE5hbWVzKHRoaXMubG9jYWxlLCBGb3JtU3R5bGUuU3RhbmRhbG9uZSwgVHJhbnNsYXRpb25XaWR0aC5XaWRlKTtcclxuICBwdWJsaWMgZGF5TmFtZXMgPSBnZXRMb2NhbGVEYXlOYW1lcyh0aGlzLmxvY2FsZSwgRm9ybVN0eWxlLlN0YW5kYWxvbmUsIFRyYW5zbGF0aW9uV2lkdGguQWJicmV2aWF0ZWQpO1xyXG5cclxuICBwdWJsaWMgbW9udGg6IG51bWJlciA9IC0xO1xyXG4gIHB1YmxpYyB5ZWFyOiBudW1iZXIgPSAtMTtcclxuICBwdWJsaWMgY2FsZW5kYXJEYXRlczogYW55W10gPSBbXTtcclxuICBwdWJsaWMgY2FsZW5kYXJZZWFyczogYW55W10gPSBbXTtcclxuICBwdWJsaWMgc2hvd0NhbGVuZGFyWWVhcnM6IGFueVtdID0gW107XHJcbiAgcHVibGljIGJsYW5rRGF5czogYW55W10gPSBbXTtcclxuICBwdWJsaWMgY2FsZW5kYXJZZWFyUGFnZSA9IDE7XHJcbiAgcHJpdmF0ZSB5ZWFyc1BlclBhZ2UgPSAzMDtcclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZSQ6IGFueSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICBwcml2YXRlIG9uVG91Y2hlZCQ6IGFueSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBsZXQgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG4gICAgdGhpcy5tb250aCA9IHRvZGF5LmdldE1vbnRoKCk7XHJcbiAgICB0aGlzLnllYXIgPSB0b2RheS5nZXRGdWxsWWVhcigpO1xyXG4gICAgdGhpcy5jYWxlbmRhckRhdGVzID0gW3sgZGF5OiB0aGlzLnZhbHVlLCB0b2RheTogdGhpcy52YWx1ZSwgc2VsZWN0ZWQ6IHRoaXMudmFsdWUgfV07XHJcbiAgICB0aGlzLmNhbGVuZGFyWWVhcnMgPSBbeyB5ZWFyOiB0aGlzLnZhbHVlPy5nZXRGdWxsWWVhcigpLCB0b2RheTogdGhpcy52YWx1ZSwgc2VsZWN0ZWQ6IHRoaXMudmFsdWUgfV07XHJcbiAgICBjb25zdCB5ZWFyc0FycmF5ID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMTk1MDsgaSA8PSB0b2RheS5nZXRGdWxsWWVhcigpICsgMjsgaSsrKSB7XHJcbiAgICAgIHllYXJzQXJyYXkucHVzaCh7IHllYXI6IGksIHRvZGF5OiB0aGlzLmNvbXBhcmVEYXRlcyh0b2RheSwgbnVsbCwgaSksIHNlbGVjdGVkOiBpID09IHRoaXMudmFsdWU/LmdldEZ1bGxZZWFyKCkgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNhbGVuZGFyWWVhcnMgPSB5ZWFyc0FycmF5O1xyXG4gICAgdGhpcy5zaG93Q2FsZW5kYXJZZWFycyA9IHRoaXMucGFnaW5hdGUodGhpcy5jYWxlbmRhclllYXJzLCAxKTtcclxuICAgIHRoaXMuY2FsY0RheXMoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTE9DQUxFX0lEKSBwdWJsaWMgbG9jYWxlOiBzdHJpbmcpIHsgfVxyXG5cclxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICBpZiAob2JqKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBuZXcgRGF0ZShvYmopO1xyXG4gICAgICB0aGlzLm1vbnRoID0gdGhpcy52YWx1ZS5nZXRNb250aCgpO1xyXG4gICAgICB0aGlzLnllYXIgPSB0aGlzLnZhbHVlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlJCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQkID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25CbHVyKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm9uVG91Y2hlZCQpIHtcclxuICAgICAgdGhpcy5vblRvdWNoZWQkKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldERhdGVGcm9tSW5wdXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3REYXRlVmFsdWUoZGF0ZTogYW55KTogdm9pZCB7XHJcbiAgICAvLyBUaGlzIHNob3VsZCBiZSBpbiBVVENcclxuICAgIGlmICghdGhpcy5vdXRPZlJhbmdlRGF0ZShkYXRlLmRheSkpIHtcclxuICAgICAgbGV0IHNlbGVjdGVkRGF0ZSA9IG5ldyBEYXRlKHRoaXMueWVhciwgdGhpcy5tb250aCwgZGF0ZS5kYXksIDMsIDAsIDAsIDApO1xyXG4gICAgICB0aGlzLnZhbHVlID0gc2VsZWN0ZWREYXRlO1xyXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICAgIGlmICh0aGlzLm9uQ2hhbmdlJCkge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UkKHRoaXMudmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudXBkYXRlRGF5cygpO1xyXG4gICAgICBpZiAodGhpcy5vblRvdWNoZWQkKSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQkKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jYWxjRGF5cygpO1xyXG4gICAgICB0aGlzLnNob3dDYWxlbmRhciA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdFllYXJWYWx1ZSh5ZWFyOiBhbnkpOiB2b2lkIHtcclxuICAgIC8vIFRoaXMgc2hvdWxkIGJlIGluIFVUQ1xyXG4gICAgY29uc3QgdGVtcFllYXIgPSB0aGlzLnllYXI7XHJcbiAgICB0aGlzLnllYXIgPSB5ZWFyLnllYXI7XHJcbiAgICBpZiAoIXRoaXMub3V0T2ZSYW5nZURhdGUodGhpcy5jYWxlbmRhckRhdGVzPy5maW5kKHggPT4geC5zZWxlY3RlZCA9PSB0cnVlKSA/PyB7IGRheTogMSB9KSkge1xyXG4gICAgICBsZXQgc2VsZWN0ZWREYXRlID0gbmV3IERhdGUoeWVhci55ZWFyLCB0aGlzLm1vbnRoID8/IDEsIHRoaXMuY2FsZW5kYXJEYXRlcz8uZmluZCh4ID0+IHguc2VsZWN0ZWQgPT0gdHJ1ZSkuZGF5ID8/IDEsIDMsIDAsIDAsIDApO1xyXG4gICAgICB0aGlzLnZhbHVlID0gc2VsZWN0ZWREYXRlO1xyXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICAgIGlmICh0aGlzLm9uQ2hhbmdlJCkge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UkKHRoaXMudmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudXBkYXRlRGF5cygpO1xyXG4gICAgICBpZiAodGhpcy5vblRvdWNoZWQkKSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQkKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zaG93WWVhcnMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93Q2FsZW5kYXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNhbGNEYXlzKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnllYXIgPSB0ZW1wWWVhcjtcclxuICAgICAgdGhpcy5zaG93WWVhcnMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93Q2FsZW5kYXIgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHByZXZpb3VzTW9udGgoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5tb250aCAhPT0gMCkge1xyXG4gICAgICB0aGlzLm1vbnRoID0gdGhpcy5tb250aCAtIDE7XHJcbiAgICAgIHRoaXMuY2FsY0RheXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubW9udGggPSAxMTtcclxuICAgICAgdGhpcy55ZWFyID0gdGhpcy55ZWFyIC0gMTtcclxuICAgICAgdGhpcy5jYWxjRGF5cygpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub25Ub3VjaGVkJCkge1xyXG4gICAgICB0aGlzLm9uVG91Y2hlZCQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZXh0TW9udGgoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5tb250aCAhPT0gMTEpIHtcclxuICAgICAgdGhpcy5tb250aCA9IHRoaXMubW9udGggKyAxO1xyXG4gICAgICB0aGlzLmNhbGNEYXlzKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1vbnRoID0gMDtcclxuICAgICAgdGhpcy55ZWFyID0gdGhpcy55ZWFyICsgMTtcclxuICAgICAgdGhpcy5jYWxjRGF5cygpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub25Ub3VjaGVkJCkge1xyXG4gICAgICB0aGlzLm9uVG91Y2hlZCQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBwcmV2aW91c1llYXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dDYWxlbmRhclllYXJzID0gdGhpcy5wYWdpbmF0ZShcclxuICAgICAgdGhpcy5jYWxlbmRhclllYXJzLFxyXG4gICAgICB0aGlzLmNhbGVuZGFyWWVhclBhZ2UgPiAxID8gLS10aGlzLmNhbGVuZGFyWWVhclBhZ2UgOiAxKTtcclxuICAgIHRoaXMuY2FsY0RheXMoKTtcclxuICAgIGlmICh0aGlzLm9uVG91Y2hlZCQpIHtcclxuICAgICAgdGhpcy5vblRvdWNoZWQkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmV4dFllYXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dDYWxlbmRhclllYXJzID0gdGhpcy5wYWdpbmF0ZShcclxuICAgICAgdGhpcy5jYWxlbmRhclllYXJzLFxyXG4gICAgICB0aGlzLmNhbGVuZGFyWWVhclBhZ2UgPD0gdGhpcy5jYWxlbmRhclllYXJzLmxlbmd0aCAvIHRoaXMueWVhcnNQZXJQYWdlXHJcbiAgICAgICAgPyArK3RoaXMuY2FsZW5kYXJZZWFyUGFnZVxyXG4gICAgICAgIDogdGhpcy5jYWxlbmRhclllYXJQYWdlKTtcclxuICAgIHRoaXMuY2FsY0RheXMoKTtcclxuICAgIGlmICh0aGlzLm9uVG91Y2hlZCQpIHtcclxuICAgICAgdGhpcy5vblRvdWNoZWQkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbXBhcmVEYXRlcyhkYXRlMTogRGF0ZSB8IHVuZGVmaW5lZCB8IG51bGwsIGRheTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCwgeWVhcjogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFkYXRlMSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBjb25zdCBkID0gbmV3IERhdGUoeWVhciA/PyB0aGlzLnllYXIsIHRoaXMubW9udGgsIGRheSA/PyB0aGlzLnZhbHVlPy5nZXREYXkoKSk7XHJcbiAgICByZXR1cm4gZGF0ZTEudG9EYXRlU3RyaW5nKCkgPT09IGQudG9EYXRlU3RyaW5nKCk7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBjYWxjRGF5cygpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRheXNJbk1vbnRoID0gbmV3IERhdGUodGhpcy55ZWFyLCB0aGlzLm1vbnRoICsgMSwgMCkuZ2V0RGF0ZSgpO1xyXG4gICAgLy8gZmluZCB3aGVyZSB0byBzdGFydCBjYWxlbmRhciBkYXkgb2Ygd2Vla1xyXG4gICAgY29uc3QgZGF5T2ZXZWVrID0gbmV3IERhdGUodGhpcy55ZWFyLCB0aGlzLm1vbnRoKS5nZXREYXkoKTtcclxuICAgIGNvbnN0IGJsYW5rZGF5c0FycmF5ID0gbmV3IEFycmF5PG51bWJlcj4oKTtcclxuICAgIGZvciAodmFyIGkgPSAxOyBpIDw9IGRheU9mV2VlazsgaSsrKSB7XHJcbiAgICAgIC8vIGNoZWNrIGlmIG1vbnRoIGlzIEZlYnJ1YXJ5XHJcbiAgICAgIGJsYW5rZGF5c0FycmF5LnB1c2godGhpcy5tb250aCAhPSAyID8gKDMyIC0gaSkgOiAoMjkgLSBpKSk7XHJcbiAgICAgIGJsYW5rZGF5c0FycmF5LnJldmVyc2UoKS5zb3J0KCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBkYXlzQXJyYXkgPSBbXTtcclxuICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcclxuICAgIGZvciAodmFyIGkgPSAxOyBpIDw9IGRheXNJbk1vbnRoOyBpKyspIHtcclxuICAgICAgZGF5c0FycmF5LnB1c2goeyBkYXk6IGksIHRvZGF5OiB0aGlzLmNvbXBhcmVEYXRlcyh0b2RheSwgaSwgbnVsbCksIHNlbGVjdGVkOiB0aGlzLmNvbXBhcmVEYXRlcyh0aGlzLnZhbHVlID8/IHRvZGF5LCBpLCBudWxsKSB9KTtcclxuICAgIH1cclxuICAgIGNvbnN0IHllYXJzQXJyYXkgPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSAxOTUwOyBpIDw9IHRvZGF5LmdldEZ1bGxZZWFyKCkgKyAyOyBpKyspIHtcclxuICAgICAgeWVhcnNBcnJheS5wdXNoKHsgeWVhcjogaSwgdG9kYXk6IHRoaXMuY29tcGFyZURhdGVzKHRvZGF5LCBudWxsLCBpKSwgc2VsZWN0ZWQ6IGkgPT0gdGhpcy55ZWFyIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jYWxlbmRhclllYXJzID0geWVhcnNBcnJheTtcclxuICAgIHRoaXMuYmxhbmtEYXlzID0gYmxhbmtkYXlzQXJyYXk7XHJcbiAgICB0aGlzLmNhbGVuZGFyRGF0ZXMgPSBkYXlzQXJyYXk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZURheXMoKTogdm9pZCB7XHJcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XHJcbiAgICB0aGlzLmNhbGVuZGFyRGF0ZXMuZm9yRWFjaChkID0+IHtcclxuICAgICAgZC50b2RheSA9IHRoaXMuY29tcGFyZURhdGVzKHRvZGF5LCBkLCB0aGlzLnllYXIpO1xyXG4gICAgICBkLnNlbGVjdGVkID0gdGhpcy5jb21wYXJlRGF0ZXModGhpcy52YWx1ZSwgZCwgdGhpcy55ZWFyKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYWdpbmF0ZShhcnJheTogYW55W10sIHBhZ2VfbnVtYmVyOiBudW1iZXIpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gYXJyYXkuc2xpY2UoKHBhZ2VfbnVtYmVyIC0gMSkgKiB0aGlzLnllYXJzUGVyUGFnZSwgcGFnZV9udW1iZXIgKiB0aGlzLnllYXJzUGVyUGFnZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldERhdGVGcm9tSW5wdXQoKSB7XHJcbiAgICBpZiAodGhpcy5kYXRlSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQudmFsdWUgIT09ICcnICYmICF0aGlzLmlubGluZSkge1xyXG4gICAgICB2YXIgZGF0ZVBhcnRzID0gdGhpcy5kYXRlSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQudmFsdWUuc3BsaXQoXCIvXCIpO1xyXG4gICAgICBsZXQgZGF0ZUluR3JGb3JtYXQgPSBuZXcgRGF0ZSgrZGF0ZVBhcnRzWzJdLCBkYXRlUGFydHNbMV0gLSAxLCArZGF0ZVBhcnRzWzBdLCAzLCAwLCAwKTtcclxuICAgICAgaWYgKGRhdGVJbkdyRm9ybWF0LnRvU3RyaW5nKCkgIT09ICdJbnZhbGlkIERhdGUnKSB7XHJcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKGRhdGVJbkdyRm9ybWF0KVxyXG4gICAgICAgIHRoaXMuY2FsY0RheXMoKTtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoZGF0ZUluR3JGb3JtYXQpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLm9uQ2hhbmdlJCkge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UkKHRoaXMudmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudXBkYXRlRGF5cygpO1xyXG4gICAgICBpZiAodGhpcy5vblRvdWNoZWQkKSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQkKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuc2hvd0NhbGVuZGFyID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlblllYXJzKCkge1xyXG4gICAgdGhpcy5zaG93WWVhcnMgPSAhdGhpcy5zaG93WWVhcnM7XHJcbiAgICB0aGlzLmNhbGVuZGFyWWVhclBhZ2UgPSBNYXRoLmNlaWwodGhpcy5jYWxlbmRhclllYXJzLm1hcCh4ID0+IHgueWVhcikuaW5kZXhPZih0aGlzLnllYXIpIC8gdGhpcy55ZWFyc1BlclBhZ2UpO1xyXG4gICAgdGhpcy5zaG93Q2FsZW5kYXJZZWFycyA9IHRoaXMucGFnaW5hdGUodGhpcy5jYWxlbmRhclllYXJzLCB0aGlzLmNhbGVuZGFyWWVhclBhZ2UgIT09IDAgPyB0aGlzLmNhbGVuZGFyWWVhclBhZ2UgOiAxKTtcclxuICAgIHRoaXMuY2FsY0RheXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuQ2FsZW5kYXIoKSB7XHJcbiAgICB0aGlzLnNob3dDYWxlbmRhciA9ICF0aGlzLnNob3dDYWxlbmRhcjtcclxuICAgIHRoaXMuY2FsY0RheXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZUNhbGVuZGFyKCkge1xyXG4gICAgdGhpcy5zaG93Q2FsZW5kYXIgPSBmYWxzZTtcclxuICAgIHRoaXMuZ2V0RGF0ZUZyb21JbnB1dCgpO1xyXG4gIH1cclxuXHJcbiAgb3V0T2ZSYW5nZURhdGUoZGF0ZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICBsZXQgb3V0T2ZSYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMubWluRGF0ZSB8fCB0aGlzLm1heERhdGUpIHtcclxuICAgICAgY29uc3QgZCA9IG5ldyBEYXRlKHRoaXMueWVhciwgdGhpcy5tb250aCwgZGF0ZS5kYXkpO1xyXG4gICAgICBjb25zdCBkYXRlSW5NaWxsaXMgPSBkLmdldFRpbWUoKTtcclxuICAgICAgaWYgKHRoaXMubWluRGF0ZSkge1xyXG4gICAgICAgIGxldCBtaW5EYXRlOiBudW1iZXIgPSB0aGlzLm1pbkRhdGUuZ2V0VGltZSgpO1xyXG4gICAgICAgIGlmIChkYXRlSW5NaWxsaXMgPCBtaW5EYXRlICYmIHRoaXMubWluRGF0ZS50b0RhdGVTdHJpbmcoKSAhPT0gZC50b0RhdGVTdHJpbmcoKSkge1xyXG4gICAgICAgICAgb3V0T2ZSYW5nZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLm1heERhdGUpIHtcclxuICAgICAgICBsZXQgbWF4RGF0ZTogbnVtYmVyID0gdGhpcy5tYXhEYXRlLmdldFRpbWUoKTtcclxuICAgICAgICBpZiAoZGF0ZUluTWlsbGlzID4gbWF4RGF0ZSAmJiB0aGlzLm1heERhdGUudG9EYXRlU3RyaW5nKCkgIT09IGQudG9EYXRlU3RyaW5nKCkpIHtcclxuICAgICAgICAgIG91dE9mUmFuZ2UgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG91dE9mUmFuZ2U7XHJcbiAgfVxyXG59IiwiPGRpdiBjbGFzcz1cImZsZXhcIlxyXG4gICAgIFtuZ0NsYXNzXT1cInsncmVsYXRpdmUnOiAhaW5saW5lfVwiXHJcbiAgICAgKGNsaWNrT3V0c2lkZSk9XCJjbG9zZUNhbGVuZGFyKClcIj5cclxuXHJcbiAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgKm5nSWY9XCIhaW5saW5lXCJcclxuICAgICAgICAgI2RhdGVJbnB1dFxyXG4gICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICBuYW1lPVwiZGF0ZUlucHV0XCJcclxuICAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4gICAgICAgICBpZD1cImRhdGVJbnB1dFwiXHJcbiAgICAgICAgIChmb2N1cyk9XCJzaG93Q2FsZW5kYXIgPSBmYWxzZVwiXHJcbiAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZSB8IGRhdGU6IGRpc3BsYXlGb3JtYXRcIlxyXG4gICAgICAgICBjbGFzcz1cImRldGFwaWNrZXItaW5wdXRcIlxyXG4gICAgICAgICBbbmdDbGFzc109XCJ7J2N1cnNvci1ub3QtYWxsb3dlZCc6IGRpc2FibGVkfVwiXHJcbiAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJkaXNhYmxlZCA/ICcnIDogcGxhY2Vob2xkZXJcIj5cclxuXHJcbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICpuZ0lmPVwiIWlubGluZVwiXHJcbiAgICAgICAgICBjbGFzcz1cImRhdGVwaWNrZXItYnV0dG9uXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib3BlbkNhbGVuZGFyKClcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwieydjdXJzb3Itbm90LWFsbG93ZWQnOiBkaXNhYmxlZH1cIj5cclxuICAgIDxpIGNsYXNzPVwibXMtSWNvbiBtcy1JY29uLS1EYXRlVGltZTJcIj48L2k+XHJcbiAgPC9idXR0b24+XHJcblxyXG4gIDxkaXYgKm5nSWY9XCJzaG93Q2FsZW5kYXIgfHwgaW5saW5lXCJcclxuICAgICAgIFtuZ0NsYXNzXT1cInsnYWJzb2x1dGUnOiAhaW5saW5lfVwiXHJcbiAgICAgICBjbGFzcz1cImRhdGVwaWNrZXItYmFja2dyb3VuZFwiXHJcbiAgICAgICBzdHlsZT1cImhlaWdodDoxOHJlbTttaW4td2lkdGg6MTZyZW07XCJcclxuICAgICAgIG5hbWU9XCJjYWxlbmRhclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXItYnRuLXdyYXBwZXJcIj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5ZZWFycygpXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImRhdGVwaWNrZXItc2VsZWN0ZWQtbW9udGhcIj5cclxuICAgICAgICAgICAge3ttb250aE5hbWVzW21vbnRoXX19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImRhdGVwaWNrZXItc2VsZWN0ZWQteWVhclwiPlxyXG4gICAgICAgICAgICB7e3llYXJ9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCIhc2hvd1llYXJzOyBlbHNlIHNob3dZZWFyc1BpY2tlclRtcGxcIj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkYXRlcGlja2VyLW5hdi1idG5cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInByZXZpb3VzTW9udGgoKTtcIj5cclxuICAgICAgICAgIDxzdmcgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCI+XHJcbiAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICBkPVwiTTE1IDE5bC03LTcgNy03XCIgLz5cclxuICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImRhdGVwaWNrZXItbmF2LWJ0blwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibmV4dE1vbnRoKClcIj5cclxuICAgICAgICAgIDxzdmcgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCI+XHJcbiAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICBkPVwiTTkgNWw3IDctNyA3XCIgLz5cclxuICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNzaG93WWVhcnNQaWNrZXJUbXBsPlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImRhdGVwaWNrZXItbmF2LWJ0blwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2aW91c1llYXIoKTtcIj5cclxuICAgICAgICAgICAgPHN2ZyBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCI+XHJcbiAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNMTUgMTlsLTctNyA3LTdcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkYXRlcGlja2VyLW5hdi1idG5cIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmV4dFllYXIoKVwiPlxyXG4gICAgICAgICAgICA8c3ZnIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIj5cclxuICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZD1cIk05IDVsNyA3LTcgN1wiIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZGF0ZXBpY2tlci13cmFwcGVyXCJcclxuICAgICAgICAgKm5nSWY9XCIhc2hvd1llYXJzOyBlbHNlIHNob3dDYWxZZWFyc1RtcGxcIj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZGF5IG9mIGRheU5hbWVzXCJcclxuICAgICAgICAgICBjbGFzcz1cImRhdGVwaWNrZXItZGF5LW5hbWVcIlxyXG4gICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDE0LjI4JVwiPnt7ZGF5fX08L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjc2hvd0NhbFllYXJzVG1wbD5cclxuICAgICAgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXItY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgeWVhciBvZiBzaG93Q2FsZW5kYXJZZWFyc1wiXHJcbiAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxOC4yOCVcIlxyXG4gICAgICAgICAgICAgY2xhc3M9XCJweC0xIG1iLTFcIj5cclxuICAgICAgICAgIDxkaXYgKGNsaWNrKT1cInNlbGVjdFllYXJWYWx1ZSh5ZWFyKVwiXHJcbiAgICAgICAgICAgICAgIGNsYXNzPVwiZGF0ZXBpY2tlci15ZWFyXCJcclxuICAgICAgICAgICAgICAgW2NsYXNzXT1cInllYXIuc2VsZWN0ZWQgID8gJ3NlbGVjdGVkJyA6ICdub3Qtc2VsZWN0ZWQnXCI+XHJcbiAgICAgICAgICAgIHt7eWVhci55ZWFyfX08L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLWNvbnRlbnQtd3JhcHBlclwiXHJcbiAgICAgICAgICpuZ0lmPVwiIXNob3dZZWFyc1wiPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBibGFua2RheSBvZiBibGFua0RheXNcIlxyXG4gICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDE0LjI4JVwiXHJcbiAgICAgICAgICAgY2xhc3M9XCJkYXRlcGlja2VyLWJsYW5rLWRheXNcIj57e2JsYW5rZGF5fX08L2Rpdj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZGF0ZSBvZiBjYWxlbmRhckRhdGVzO1wiXHJcbiAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTQuMjglXCJcclxuICAgICAgICAgICBjbGFzcz1cInB4LTEgbWItMVwiPlxyXG4gICAgICAgIDxkaXYgKGNsaWNrKT1cInNlbGVjdERhdGVWYWx1ZShkYXRlKVwiXHJcbiAgICAgICAgICAgICBjbGFzcz1cImRhdGVwaWNrZXItZGF5c1wiXHJcbiAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J291dC1vZi1yYW5nZSc6IG91dE9mUmFuZ2VEYXRlKGRhdGUpLCdzZWxlY3RlZCc6IGRhdGUuc2VsZWN0ZWQsICdub3Qtc2VsZWN0ZWQnOiFkYXRlLnNlbGVjdGVkIH1cIj5cclxuICAgICAgICAgIHt7ZGF0ZS5kYXl9fTwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuPC9kaXY+Il19
@@ -0,0 +1,72 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../directives/click-outside.directive";
4
+ import * as i2 from "@angular/common";
5
+ export class DropDownMenuComponent {
6
+ constructor() {
7
+ this.options = [];
8
+ // tslint:disable-next-line:no-input-rename
9
+ this.selectedValue = null;
10
+ this.multiple = false;
11
+ this.placeholder = 'Παρακαλώ επιλέξτε...';
12
+ this.selectedOption$ = null;
13
+ this.selectedChange = new EventEmitter();
14
+ this.selectedChanged = new EventEmitter();
15
+ this.expanded$ = false;
16
+ }
17
+ get selectedOption() {
18
+ return this.selectedOption$;
19
+ }
20
+ set selectedOption(option) {
21
+ this.selectedOption$ = option;
22
+ this.selectedValue = option ? option.value : null;
23
+ this.expanded = false;
24
+ }
25
+ get expanded() {
26
+ return this.expanded$;
27
+ }
28
+ set expanded(value) {
29
+ this.expanded$ = value;
30
+ }
31
+ ngOnChanges(changes) {
32
+ if (this.options && this.options.length > 0 && this.selectedValue !== null && this.selectedValue !== undefined) {
33
+ this.selectedOption$ = this.options.filter((o) => o.value === this.selectedValue)[0];
34
+ }
35
+ }
36
+ ngOnInit() { }
37
+ isSelected(option) {
38
+ return option != null && this.selectedValue != null && option.value === this.selectedValue;
39
+ }
40
+ onClickOutside($event) {
41
+ this.expanded = false;
42
+ }
43
+ selectOption(option) {
44
+ this.selectedOption = option;
45
+ this.selectedChange.emit(option.value);
46
+ this.selectedChanged.emit(option.value);
47
+ }
48
+ }
49
+ DropDownMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DropDownMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
50
+ DropDownMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DropDownMenuComponent, selector: "lib-drop-down-menu", inputs: { options: "options", selectedValue: ["selected", "selectedValue"], multiple: "multiple", placeholder: "placeholder" }, outputs: { selectedChange: "selectedChange", selectedChanged: "selectedChanged" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"dropdown-container\" (clickOutside)=\"onClickOutside($event)\">\r\n <button\r\n type=\"button\"\r\n (click)=\"expanded = !expanded\"\r\n class=\"dropdown-button\"\r\n aria-haspopup=\"listbox\"\r\n aria-expanded=\"true\"\r\n aria-labelledby=\"listbox-label\"\r\n >\r\n <span class=\"dropdown-selected-text\">\r\n {{ selectedOption?.text || placeholder }}\r\n </span>\r\n <span class=\"dropdown-button-icon\">\r\n <!-- Heroicon name: solid/selector -->\r\n <svg class=\"dropdown-arrow\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M10 3a1 1 0 01.707.293l3 3a1 1 0 01-1.414 1.414L10 5.414 7.707 7.707a1 1 0 01-1.414-1.414l3-3A1 1 0 0110 3zm-3.707 9.293a1 1 0 011.414 0L10 14.586l2.293-2.293a1 1 0 011.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z\"\r\n clip-rule=\"evenodd\"\r\n />\r\n </svg>\r\n </span>\r\n </button>\r\n <ul\r\n *ngIf=\"expanded && options && options.length > 0\"\r\n class=\"dropdown-ul\"\r\n tabindex=\"-1\"\r\n role=\"listbox\"\r\n aria-labelledby=\"listbox-label\"\r\n aria-activedescendant=\"listbox-option-3\"\r\n >\r\n <ng-container *ngFor=\"let option of options\">\r\n <li\r\n [class]=\"isSelected(option) ? 'dropdown-li-selected' : 'dropdown-li'\"\r\n (click)=\"selectOption(option)\"\r\n id=\"listbox-option-0\"\r\n role=\"option\"\r\n >\r\n <span [class]=\"isSelected(option) ? 'dropdown-li-selected-text' : 'dropdown-li-text'\">\r\n {{ option.text }}\r\n </span>\r\n <span *ngIf=\"isSelected(option)\" class=\"dropdown-li-selected-indicator-container\">\r\n <!-- Heroicon name: solid/check -->\r\n <svg\r\n class=\"dropdown-li-selected-indicator\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\r\n clip-rule=\"evenodd\"\r\n />\r\n </svg>\r\n </span>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>\r\n", directives: [{ type: i1.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DropDownMenuComponent, decorators: [{
52
+ type: Component,
53
+ args: [{
54
+ // tslint:disable-next-line:component-selector
55
+ selector: 'lib-drop-down-menu',
56
+ templateUrl: './drop-down-menu.component.html',
57
+ }]
58
+ }], ctorParameters: function () { return []; }, propDecorators: { options: [{
59
+ type: Input
60
+ }], selectedValue: [{
61
+ type: Input,
62
+ args: ['selected']
63
+ }], multiple: [{
64
+ type: Input
65
+ }], placeholder: [{
66
+ type: Input
67
+ }], selectedChange: [{
68
+ type: Output
69
+ }], selectedChanged: [{
70
+ type: Output
71
+ }] } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1kb3duLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL2Ryb3AtZG93bi1tZW51L2Ryb3AtZG93bi1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9kcm9wLWRvd24tbWVudS9kcm9wLWRvd24tbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7Ozs7QUFRekcsTUFBTSxPQUFPLHFCQUFxQjtJQTJCaEM7UUExQlMsWUFBTyxHQUFpQixFQUFFLENBQUM7UUFDcEMsMkNBQTJDO1FBQ3hCLGtCQUFhLEdBQWUsSUFBSSxDQUFDO1FBQzNDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZ0JBQVcsR0FBVyxzQkFBc0IsQ0FBQztRQUU5QyxvQkFBZSxHQUFzQixJQUFJLENBQUM7UUFVeEMsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM1RCxvQkFBZSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRS9ELGNBQVMsR0FBRyxLQUFLLENBQUM7SUFPWCxDQUFDO0lBbkJoQixJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFXLGNBQWMsQ0FBQyxNQUF5QjtRQUNqRCxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFNRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFXLFFBQVEsQ0FBQyxLQUFjO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFHRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLFNBQVMsRUFBRTtZQUM5RyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0RjtJQUNILENBQUM7SUFFRCxRQUFRLEtBQVUsQ0FBQztJQUVaLFVBQVUsQ0FBQyxNQUFrQjtRQUNsQyxPQUFPLE1BQU0sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzdGLENBQUM7SUFFTSxjQUFjLENBQUMsTUFBVztRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRU0sWUFBWSxDQUFDLE1BQWtCO1FBQ3BDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO1FBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7bUhBakRVLHFCQUFxQjt1R0FBckIscUJBQXFCLGtTQ1JsQyxrNUVBNkRBOzRGRHJEYSxxQkFBcUI7a0JBTGpDLFNBQVM7bUJBQUM7b0JBQ1QsOENBQThDO29CQUM5QyxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixXQUFXLEVBQUUsaUNBQWlDO2lCQUMvQzswRUFFVSxPQUFPO3NCQUFmLEtBQUs7Z0JBRWEsYUFBYTtzQkFBL0IsS0FBSzt1QkFBQyxVQUFVO2dCQUNSLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFZSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVudU9wdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ2xpYi1kcm9wLWRvd24tbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3AtZG93bi1tZW51LmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERyb3BEb3duTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBvcHRpb25zOiBNZW51T3B0aW9uW10gPSBbXTtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzZWxlY3RlZCcpIHNlbGVjdGVkVmFsdWU6IGFueSB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICfOoM6xz4HOsc66zrHOu8+OIM61z4DOuc67zq3Ovs+EzrUuLi4nO1xyXG5cclxuICBwcml2YXRlIHNlbGVjdGVkT3B0aW9uJDogTWVudU9wdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRPcHRpb24oKTogTWVudU9wdGlvbiB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb24kO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHNlbGVjdGVkT3B0aW9uKG9wdGlvbjogTWVudU9wdGlvbiB8IG51bGwpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24kID0gb3B0aW9uO1xyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gb3B0aW9uID8gb3B0aW9uLnZhbHVlIDogbnVsbDtcclxuICAgIHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBwcml2YXRlIGV4cGFuZGVkJCA9IGZhbHNlO1xyXG4gIHB1YmxpYyBnZXQgZXhwYW5kZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5leHBhbmRlZCQ7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgZXhwYW5kZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZXhwYW5kZWQkID0gdmFsdWU7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMubGVuZ3RoID4gMCAmJiB0aGlzLnNlbGVjdGVkVmFsdWUgIT09IG51bGwgJiYgdGhpcy5zZWxlY3RlZFZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbiQgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKChvKSA9PiBvLnZhbHVlID09PSB0aGlzLnNlbGVjdGVkVmFsdWUpWzBdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICBwdWJsaWMgaXNTZWxlY3RlZChvcHRpb246IE1lbnVPcHRpb24pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBvcHRpb24gIT0gbnVsbCAmJiB0aGlzLnNlbGVjdGVkVmFsdWUgIT0gbnVsbCAmJiBvcHRpb24udmFsdWUgPT09IHRoaXMuc2VsZWN0ZWRWYWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNsaWNrT3V0c2lkZSgkZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdE9wdGlvbihvcHRpb246IE1lbnVPcHRpb24pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSBvcHRpb247XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQob3B0aW9uLnZhbHVlKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2VkLmVtaXQob3B0aW9uLnZhbHVlKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImRyb3Bkb3duLWNvbnRhaW5lclwiIChjbGlja091dHNpZGUpPVwib25DbGlja091dHNpZGUoJGV2ZW50KVwiPlxyXG4gIDxidXR0b25cclxuICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgKGNsaWNrKT1cImV4cGFuZGVkID0gIWV4cGFuZGVkXCJcclxuICAgIGNsYXNzPVwiZHJvcGRvd24tYnV0dG9uXCJcclxuICAgIGFyaWEtaGFzcG9wdXA9XCJsaXN0Ym94XCJcclxuICAgIGFyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJcclxuICAgIGFyaWEtbGFiZWxsZWRieT1cImxpc3Rib3gtbGFiZWxcIlxyXG4gID5cclxuICAgIDxzcGFuIGNsYXNzPVwiZHJvcGRvd24tc2VsZWN0ZWQtdGV4dFwiPlxyXG4gICAgICB7eyBzZWxlY3RlZE9wdGlvbj8udGV4dCB8fCBwbGFjZWhvbGRlciB9fVxyXG4gICAgPC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJkcm9wZG93bi1idXR0b24taWNvblwiPlxyXG4gICAgICA8IS0tIEhlcm9pY29uIG5hbWU6IHNvbGlkL3NlbGVjdG9yIC0tPlxyXG4gICAgICA8c3ZnIGNsYXNzPVwiZHJvcGRvd24tYXJyb3dcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICBkPVwiTTEwIDNhMSAxIDAgMDEuNzA3LjI5M2wzIDNhMSAxIDAgMDEtMS40MTQgMS40MTRMMTAgNS40MTQgNy43MDcgNy43MDdhMSAxIDAgMDEtMS40MTQtMS40MTRsMy0zQTEgMSAwIDAxMTAgM3ptLTMuNzA3IDkuMjkzYTEgMSAwIDAxMS40MTQgMEwxMCAxNC41ODZsMi4yOTMtMi4yOTNhMSAxIDAgMDExLjQxNCAxLjQxNGwtMyAzYTEgMSAwIDAxLTEuNDE0IDBsLTMtM2ExIDEgMCAwMTAtMS40MTR6XCJcclxuICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvc3ZnPlxyXG4gICAgPC9zcGFuPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDx1bFxyXG4gICAgKm5nSWY9XCJleHBhbmRlZCAmJiBvcHRpb25zICYmIG9wdGlvbnMubGVuZ3RoID4gMFwiXHJcbiAgICBjbGFzcz1cImRyb3Bkb3duLXVsXCJcclxuICAgIHRhYmluZGV4PVwiLTFcIlxyXG4gICAgcm9sZT1cImxpc3Rib3hcIlxyXG4gICAgYXJpYS1sYWJlbGxlZGJ5PVwibGlzdGJveC1sYWJlbFwiXHJcbiAgICBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQ9XCJsaXN0Ym94LW9wdGlvbi0zXCJcclxuICA+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiPlxyXG4gICAgICA8bGlcclxuICAgICAgICBbY2xhc3NdPVwiaXNTZWxlY3RlZChvcHRpb24pID8gJ2Ryb3Bkb3duLWxpLXNlbGVjdGVkJyA6ICdkcm9wZG93bi1saSdcIlxyXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RPcHRpb24ob3B0aW9uKVwiXHJcbiAgICAgICAgaWQ9XCJsaXN0Ym94LW9wdGlvbi0wXCJcclxuICAgICAgICByb2xlPVwib3B0aW9uXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxzcGFuIFtjbGFzc109XCJpc1NlbGVjdGVkKG9wdGlvbikgPyAnZHJvcGRvd24tbGktc2VsZWN0ZWQtdGV4dCcgOiAnZHJvcGRvd24tbGktdGV4dCdcIj5cclxuICAgICAgICAgIHt7IG9wdGlvbi50ZXh0IH19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaXNTZWxlY3RlZChvcHRpb24pXCIgY2xhc3M9XCJkcm9wZG93bi1saS1zZWxlY3RlZC1pbmRpY2F0b3ItY29udGFpbmVyXCI+XHJcbiAgICAgICAgICA8IS0tIEhlcm9pY29uIG5hbWU6IHNvbGlkL2NoZWNrIC0tPlxyXG4gICAgICAgICAgPHN2Z1xyXG4gICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWxpLXNlbGVjdGVkLWluZGljYXRvclwiXHJcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcclxuICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXHJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgZD1cIk0xNi43MDcgNS4yOTNhMSAxIDAgMDEwIDEuNDE0bC04IDhhMSAxIDAgMDEtMS40MTQgMGwtNC00YTEgMSAwIDAxMS40MTQtMS40MTRMOCAxMi41ODZsNy4yOTMtNy4yOTNhMSAxIDAgMDExLjQxNCAwelwiXHJcbiAgICAgICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L3VsPlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,39 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class KpiTileComponent {
5
+ constructor() {
6
+ this.title = undefined;
7
+ this.busy = false;
8
+ this.kpi = undefined;
9
+ // tslint:disable-next-line:no-output-rename
10
+ this.tileAction = new EventEmitter();
11
+ }
12
+ ngOnInit() {
13
+ }
14
+ emitTileAction($event) {
15
+ $event.preventDefault();
16
+ $event.stopPropagation();
17
+ this.tileAction.emit($event);
18
+ return false;
19
+ }
20
+ }
21
+ KpiTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KpiTileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
+ KpiTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: KpiTileComponent, selector: "lib-kpi-tile", inputs: { title: "title", busy: "busy", kpi: "kpi" }, outputs: { tileAction: "tile-action" }, ngImport: i0, template: "<div class=\"card\"\r\n [ngClass]=\"{'card-deck-busy' : busy }\">\r\n <div class=\"card-body\">\r\n <div class=\"kpi-tile-title-container\">\r\n <a href=\"#\"\r\n class=\"kpi-tile-action\"\r\n (click)=\"emitTileAction($event)\">{{title || '-'}}</a>\r\n </div>\r\n <p class=\"kpi-tile-value\">{{kpi || '-'}}</p>\r\n <div class=\"card-footer\">\r\n <div class=\"text-xs\">\r\n <a href=\"#\"\r\n class=\"kpi-tile-action\"\r\n (click)=\"emitTileAction($event)\">\u03A0\u03B5\u03C1\u03B9\u03C3\u03C3\u03CC\u03C4\u03B5\u03C1\u03B1</a>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KpiTileComponent, decorators: [{
24
+ type: Component,
25
+ args: [{
26
+ selector: 'lib-kpi-tile',
27
+ templateUrl: './kpi-tile.component.html'
28
+ }]
29
+ }], ctorParameters: function () { return []; }, propDecorators: { title: [{
30
+ type: Input
31
+ }], busy: [{
32
+ type: Input
33
+ }], kpi: [{
34
+ type: Input
35
+ }], tileAction: [{
36
+ type: Output,
37
+ args: ['tile-action']
38
+ }] } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3BpLXRpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL2twaS10aWxlL2twaS10aWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9rcGktdGlsZS9rcGktdGlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNL0UsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQjtRQUxTLFVBQUssR0FBdUIsU0FBUyxDQUFDO1FBQ3RDLFNBQUksR0FBRyxLQUFLLENBQUM7UUFDYixRQUFHLEdBQW9CLFNBQVMsQ0FBQztRQUMxQyw0Q0FBNEM7UUFDckIsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBQy9ELENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7SUFFTSxjQUFjLENBQUMsTUFBVztRQUMvQixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7OEdBakJVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLGtKQ043Qiw0b0JBaUJNOzRGRFhPLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsV0FBVyxFQUFFLDJCQUEyQjtpQkFDekM7MEVBR1UsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRWlCLFVBQVU7c0JBQWhDLE1BQU07dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWtwaS10aWxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3BpLXRpbGUuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLcGlUaWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBidXN5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkga3BpOiBhbnkgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW91dHB1dC1yZW5hbWVcclxuICBAT3V0cHV0KCd0aWxlLWFjdGlvbicpIHRpbGVBY3Rpb246IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW1pdFRpbGVBY3Rpb24oJGV2ZW50OiBhbnkpOiBib29sZWFuIHtcclxuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy50aWxlQWN0aW9uLmVtaXQoJGV2ZW50KTtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkXCJcclxuICAgICBbbmdDbGFzc109XCJ7J2NhcmQtZGVjay1idXN5JyA6IGJ1c3kgfVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJrcGktdGlsZS10aXRsZS1jb250YWluZXJcIj5cclxuICAgICAgPGEgaHJlZj1cIiNcIlxyXG4gICAgICAgICBjbGFzcz1cImtwaS10aWxlLWFjdGlvblwiXHJcbiAgICAgICAgIChjbGljayk9XCJlbWl0VGlsZUFjdGlvbigkZXZlbnQpXCI+e3t0aXRsZSB8fCAnLSd9fTwvYT5cclxuICAgIDwvZGl2PlxyXG4gICAgPHAgY2xhc3M9XCJrcGktdGlsZS12YWx1ZVwiPnt7a3BpIHx8ICctJ319PC9wPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXhzXCI+XHJcbiAgICAgICAgPGEgaHJlZj1cIiNcIlxyXG4gICAgICAgICAgIGNsYXNzPVwia3BpLXRpbGUtYWN0aW9uXCJcclxuICAgICAgICAgICAoY2xpY2spPVwiZW1pdFRpbGVBY3Rpb24oJGV2ZW50KVwiPs6gzrXPgc65z4PPg8+Mz4TOtc+BzrE8L2E+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { APP_LANGUAGES } from '../../tokens';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../directives/click-outside.directive";
5
+ import * as i2 from "@angular/common";
6
+ export class LanguageSelectionComponent {
7
+ constructor(langsService) {
8
+ this.langsService = langsService;
9
+ this.menuExpanded = false;
10
+ }
11
+ ngOnInit() {
12
+ }
13
+ selectLang(option) {
14
+ var _a;
15
+ if ((_a = this.langsService) === null || _a === void 0 ? void 0 : _a.setSelected) {
16
+ this.langsService.setSelected(option.value);
17
+ }
18
+ }
19
+ onClickOutside($event) {
20
+ this.menuExpanded = false;
21
+ }
22
+ }
23
+ LanguageSelectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LanguageSelectionComponent, deps: [{ token: APP_LANGUAGES }], target: i0.ɵɵFactoryTarget.Component });
24
+ LanguageSelectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: LanguageSelectionComponent, selector: "lib-language-selection", ngImport: i0, template: "<div class=\"relative\" (clickOutside)=\"onClickOutside($event)\">\r\n <button class=\"text-blue-300 hover:text-blue-400\" (click)=\"menuExpanded = !menuExpanded\">\r\n <i class=\"text-xs mr-1 ms-Icon ms-Icon--Globe\"></i>\r\n <span>{{langsService?.selected || langsService?.default}}</span>\r\n </button>\r\n\r\n <div\r\n [class]=\"menuExpanded ? 'transition ease-out duration-200 origin-top-right z-30 absolute right-0 mt-2 w-56 rounded-sm shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none':'hidden transition ease-in duration-75 origin-top-right z-30 right-0 mt-2 w-56 rounded-sm shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none'\" role=\"menu\" aria-orientation=\"vertical\" aria-labelledby=\"menu-button\" tabindex=\"-1\">\r\n <div class=\"py-1\" role=\"none\">\r\n <ng-container *ngFor=\"let lang of langsService?.options | async\">\r\n <a (click)=\"selectLang(lang)\" *ngIf=\"lang.value != langsService?.selected\" class=\"nav-link-profile\" role=\"menuitem\" tabindex=\"-1\" id=\"menu-item-0\">\r\n <i class=\"text-xs mr-1 ms-Icon ms-Icon--GlobeFavorite\"></i>\r\n {{lang.description}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", directives: [{ type: i1.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe } });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LanguageSelectionComponent, decorators: [{
26
+ type: Component,
27
+ args: [{
28
+ selector: 'lib-language-selection',
29
+ templateUrl: './language-selection.component.html'
30
+ }]
31
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
32
+ type: Inject,
33
+ args: [APP_LANGUAGES]
34
+ }] }]; } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Utc2VsZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9sYW5ndWFnZS1zZWxlY3Rpb24vbGFuZ3VhZ2Utc2VsZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9sYW5ndWFnZS1zZWxlY3Rpb24vbGFuZ3VhZ2Utc2VsZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7QUFPN0MsTUFBTSxPQUFPLDBCQUEwQjtJQUdyQyxZQUEwQyxZQUE4QztRQUE5QyxpQkFBWSxHQUFaLFlBQVksQ0FBa0M7UUFEakYsaUJBQVksR0FBRyxLQUFLLENBQUM7SUFDZ0UsQ0FBQztJQUU3RixRQUFRO0lBQ1IsQ0FBQztJQUVNLFVBQVUsQ0FBQyxNQUFrQjs7UUFDbEMsSUFBSSxNQUFBLElBQUksQ0FBQyxZQUFZLDBDQUFFLFdBQVcsRUFBRTtZQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0M7SUFDSCxDQUFDO0lBRU0sY0FBYyxDQUFDLE1BQVc7UUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQzs7d0hBaEJVLDBCQUEwQixrQkFHakIsYUFBYTs0R0FIdEIsMEJBQTBCLDhEQ1R2QyxndkNBa0JBOzRGRFRhLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxXQUFXLEVBQUUscUNBQXFDO2lCQUNuRDs7MEJBSWMsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVudU9wdGlvbiB9IGZyb20gJy4vLi4vLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFQUF9MQU5HVUFHRVMgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBJQXBwTGFuZ3VhZ2VzU2VydmljZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxhbmd1YWdlLXNlbGVjdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xhbmd1YWdlLXNlbGVjdGlvbi5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExhbmd1YWdlU2VsZWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHVibGljIG1lbnVFeHBhbmRlZCA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVBQX0xBTkdVQUdFUykgcHVibGljIGxhbmdzU2VydmljZTogSUFwcExhbmd1YWdlc1NlcnZpY2UgfCB1bmRlZmluZWQpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3RMYW5nKG9wdGlvbjogTWVudU9wdGlvbik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubGFuZ3NTZXJ2aWNlPy5zZXRTZWxlY3RlZCkge1xyXG4gICAgICB0aGlzLmxhbmdzU2VydmljZS5zZXRTZWxlY3RlZChvcHRpb24udmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xpY2tPdXRzaWRlKCRldmVudDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm1lbnVFeHBhbmRlZCA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicmVsYXRpdmVcIiAoY2xpY2tPdXRzaWRlKT1cIm9uQ2xpY2tPdXRzaWRlKCRldmVudClcIj5cclxuICA8YnV0dG9uIGNsYXNzPVwidGV4dC1ibHVlLTMwMCBob3Zlcjp0ZXh0LWJsdWUtNDAwXCIgKGNsaWNrKT1cIm1lbnVFeHBhbmRlZCA9ICFtZW51RXhwYW5kZWRcIj5cclxuICAgIDxpIGNsYXNzPVwidGV4dC14cyBtci0xIG1zLUljb24gbXMtSWNvbi0tR2xvYmVcIj48L2k+XHJcbiAgICA8c3Bhbj57e2xhbmdzU2VydmljZT8uc2VsZWN0ZWQgfHwgbGFuZ3NTZXJ2aWNlPy5kZWZhdWx0fX08L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcblxyXG4gIDxkaXZcclxuICAgIFtjbGFzc109XCJtZW51RXhwYW5kZWQgPyAndHJhbnNpdGlvbiBlYXNlLW91dCBkdXJhdGlvbi0yMDAgb3JpZ2luLXRvcC1yaWdodCB6LTMwIGFic29sdXRlIHJpZ2h0LTAgbXQtMiB3LTU2IHJvdW5kZWQtc20gc2hhZG93LWxnIGJnLXdoaXRlIHJpbmctMSByaW5nLWJsYWNrIHJpbmctb3BhY2l0eS01IGZvY3VzOm91dGxpbmUtbm9uZSc6J2hpZGRlbiB0cmFuc2l0aW9uIGVhc2UtaW4gZHVyYXRpb24tNzUgb3JpZ2luLXRvcC1yaWdodCB6LTMwIHJpZ2h0LTAgbXQtMiB3LTU2IHJvdW5kZWQtc20gc2hhZG93LWxnIGJnLXdoaXRlIHJpbmctMSByaW5nLWJsYWNrIHJpbmctb3BhY2l0eS01IGZvY3VzOm91dGxpbmUtbm9uZSdcIiByb2xlPVwibWVudVwiIGFyaWEtb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiIGFyaWEtbGFiZWxsZWRieT1cIm1lbnUtYnV0dG9uXCIgdGFiaW5kZXg9XCItMVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInB5LTFcIiByb2xlPVwibm9uZVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsYW5nIG9mIGxhbmdzU2VydmljZT8ub3B0aW9ucyB8IGFzeW5jXCI+XHJcbiAgICAgICAgPGEgKGNsaWNrKT1cInNlbGVjdExhbmcobGFuZylcIiAqbmdJZj1cImxhbmcudmFsdWUgIT0gbGFuZ3NTZXJ2aWNlPy5zZWxlY3RlZFwiIGNsYXNzPVwibmF2LWxpbmstcHJvZmlsZVwiIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiLTFcIiBpZD1cIm1lbnUtaXRlbS0wXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cInRleHQteHMgbXItMSBtcy1JY29uIG1zLUljb24tLUdsb2JlRmF2b3JpdGVcIj48L2k+XHJcbiAgICAgICAgICB7e2xhbmcuZGVzY3JpcHRpb259fVxyXG4gICAgICAgIDwvYT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -8,9 +8,9 @@ export class ListColumnComponent {
8
8
  this.template = null;
9
9
  }
10
10
  }
11
- ListColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ListColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- ListColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ListColumnComponent, selector: "lib-list-column", inputs: { title: "title", fullWidth: ["full-width", "fullWidth"] }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ListColumnComponent, decorators: [{
11
+ ListColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ListColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ ListColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ListColumnComponent, selector: "lib-list-column", inputs: { title: "title", fullWidth: ["full-width", "fullWidth"] }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ListColumnComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{ selector: 'lib-list-column', template: '<ng-content></ng-content>' }]
16
16
  }], ctorParameters: function () { return []; }, propDecorators: { title: [{
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImpor
22
22
  type: ContentChild,
23
23
  args: [TemplateRef]
24
24
  }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL2xpc3Qtdmlldy9saXN0LWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHcEYsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QjtRQUpTLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBQ3JDLDJDQUEyQztRQUN0QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ1osYUFBUSxHQUFlLElBQUksQ0FBQztJQUN2QyxDQUFDOztnSEFMTixtQkFBbUI7b0dBQW5CLG1CQUFtQixpS0FJaEIsV0FBVyxnREFMd0IsMkJBQTJCOzJGQUNqRSxtQkFBbUI7a0JBRC9CLFNBQVM7bUJBQUMsRUFBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLDJCQUEyQixFQUFDOzBFQUVwRSxLQUFLO3NCQUFiLEtBQUs7Z0JBRWUsU0FBUztzQkFBN0IsS0FBSzt1QkFBQyxZQUFZO2dCQUNRLFFBQVE7c0JBQWxDLFlBQVk7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtzZWxlY3RvcjogJ2xpYi1saXN0LWNvbHVtbicsIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pid9KVxuZXhwb3J0IGNsYXNzIExpc3RDb2x1bW5Db21wb25lbnQge1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdmdWxsLXdpZHRoJykgZnVsbFdpZHRoID0gZmFsc2U7XG4gIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYpIHRlbXBsYXRlOiBhbnkgfCBudWxsID0gbnVsbDtcbiAgY29uc3RydWN0b3IoKSB7IH1cbn1cbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL2xpc3Qtdmlldy9saXN0LWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHcEYsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QjtRQUpTLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBQ3JDLDJDQUEyQztRQUN0QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ1osYUFBUSxHQUFlLElBQUksQ0FBQztJQUN2QyxDQUFDOztpSEFMTixtQkFBbUI7cUdBQW5CLG1CQUFtQixpS0FJaEIsV0FBVyxnREFMd0IsMkJBQTJCOzRGQUNqRSxtQkFBbUI7a0JBRC9CLFNBQVM7bUJBQUMsRUFBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLDJCQUEyQixFQUFDOzBFQUVwRSxLQUFLO3NCQUFiLEtBQUs7Z0JBRWUsU0FBUztzQkFBN0IsS0FBSzt1QkFBQyxZQUFZO2dCQUNRLFFBQVE7c0JBQWxDLFlBQVk7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7c2VsZWN0b3I6ICdsaWItbGlzdC1jb2x1bW4nLCB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nfSlcclxuZXhwb3J0IGNsYXNzIExpc3RDb2x1bW5Db21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdmdWxsLXdpZHRoJykgZnVsbFdpZHRoID0gZmFsc2U7XHJcbiAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZikgdGVtcGxhdGU6IGFueSB8IG51bGwgPSBudWxsO1xyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn1cclxuIl19
@@ -5,13 +5,13 @@ export class ListDetailsSectionComponent {
5
5
  this.template = null;
6
6
  }
7
7
  }
8
- ListDetailsSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ListDetailsSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- ListDetailsSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ListDetailsSectionComponent, selector: "lib-list-details-section", queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ListDetailsSectionComponent, decorators: [{
8
+ ListDetailsSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ListDetailsSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ ListDetailsSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ListDetailsSectionComponent, selector: "lib-list-details-section", queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ListDetailsSectionComponent, decorators: [{
11
11
  type: Component,
12
12
  args: [{ selector: 'lib-list-details-section', template: '<ng-content></ng-content>' }]
13
13
  }], ctorParameters: function () { return []; }, propDecorators: { template: [{
14
14
  type: ContentChild,
15
15
  args: [TemplateRef]
16
16
  }] } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1kZXRhaWxzLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL2xpc3Qtdmlldy9saXN0LWRldGFpbHMtc2VjdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHcEYsTUFBTSxPQUFPLDJCQUEyQjtJQUV0QztRQUQyQixhQUFRLEdBQWUsSUFBSSxDQUFDO0lBRXZELENBQUM7O3dIQUhVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLHNHQUN4QixXQUFXLGdEQUZrQywyQkFBMkI7MkZBQzNFLDJCQUEyQjtrQkFEdkMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSwwQkFBMEIsRUFBRSxRQUFRLEVBQUUsMkJBQTJCLEVBQUU7MEVBRTdELFFBQVE7c0JBQWxDLFlBQVk7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHsgc2VsZWN0b3I6ICdsaWItbGlzdC1kZXRhaWxzLXNlY3Rpb24nLCB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nIH0pXG5leHBvcnQgY2xhc3MgTGlzdERldGFpbHNTZWN0aW9uQ29tcG9uZW50e1xuICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmKSB0ZW1wbGF0ZTogYW55IHwgbnVsbCA9IG51bGw7XG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG59XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1kZXRhaWxzLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL2xpc3Qtdmlldy9saXN0LWRldGFpbHMtc2VjdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHcEYsTUFBTSxPQUFPLDJCQUEyQjtJQUV0QztRQUQyQixhQUFRLEdBQWUsSUFBSSxDQUFDO0lBRXZELENBQUM7O3lIQUhVLDJCQUEyQjs2R0FBM0IsMkJBQTJCLHNHQUN4QixXQUFXLGdEQUZrQywyQkFBMkI7NEZBQzNFLDJCQUEyQjtrQkFEdkMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSwwQkFBMEIsRUFBRSxRQUFRLEVBQUUsMkJBQTJCLEVBQUU7MEVBRTdELFFBQVE7c0JBQWxDLFlBQVk7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7IHNlbGVjdG9yOiAnbGliLWxpc3QtZGV0YWlscy1zZWN0aW9uJywgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyB9KVxyXG5leHBvcnQgY2xhc3MgTGlzdERldGFpbHNTZWN0aW9uQ29tcG9uZW50e1xyXG4gIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYpIHRlbXBsYXRlOiBhbnkgfCBudWxsID0gbnVsbDtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcbn1cclxuIl19