ps-toolkit-ui 1.21.42 → 1.21.51

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 (169) hide show
  1. package/bundles/ps-toolkit-ui.umd.js +10321 -0
  2. package/bundles/ps-toolkit-ui.umd.js.map +1 -0
  3. package/bundles/ps-toolkit-ui.umd.min.js +2 -0
  4. package/bundles/ps-toolkit-ui.umd.min.js.map +1 -0
  5. package/esm2015/lib/classes/addModal.class.js +36 -0
  6. package/esm2015/lib/classes/chart.class.js +165 -0
  7. package/esm2015/lib/classes/currentDataClass.js +17 -0
  8. package/esm2015/lib/classes/enum.class.js +253 -0
  9. package/esm2015/lib/classes/excel.class.js +56 -0
  10. package/esm2015/lib/classes/form.class.js +667 -0
  11. package/esm2015/lib/classes/header.class.js +16 -0
  12. package/esm2015/lib/classes/helper.class.js +650 -0
  13. package/esm2015/lib/classes/lang.class.js +35 -0
  14. package/esm2015/lib/classes/login.class.js +29 -0
  15. package/esm2015/lib/classes/modal.class.js +49 -0
  16. package/esm2015/lib/classes/permission.class.js +63 -0
  17. package/esm2015/lib/classes/request.class.js +155 -0
  18. package/esm2015/lib/classes/safehtml.class.js +17 -0
  19. package/esm2015/lib/classes/safestyle.class.js +17 -0
  20. package/esm2015/lib/classes/sidebar.class.js +16 -0
  21. package/esm2015/lib/classes/steps.class.js +45 -0
  22. package/esm2015/lib/classes/string.class.js +251 -0
  23. package/esm2015/lib/classes/table.class.js +593 -0
  24. package/esm2015/lib/components/accordion/accordion.component.js +45 -0
  25. package/esm2015/lib/components/alert/alert.component.js +39 -0
  26. package/esm2015/lib/components/base.component.js +54 -0
  27. package/esm2015/lib/components/calendar/calendar.component.js +98 -0
  28. package/esm2015/lib/components/chart/chart.component.js +17 -0
  29. package/esm2015/lib/components/clock/clock.component.js +33 -0
  30. package/esm2015/lib/components/confirm/confirm.component.js +50 -0
  31. package/esm2015/lib/components/error/error.component.js +26 -0
  32. package/esm2015/lib/components/footer/footer.component.js +23 -0
  33. package/esm2015/lib/components/form/bank-card/form.bank-card.component.js +200 -0
  34. package/esm2015/lib/components/form/button/form.button.component.js +68 -0
  35. package/esm2015/lib/components/form/checkbox/form.checkbox.component.js +67 -0
  36. package/esm2015/lib/components/form/ckeditor/form.ckeditor.component.js +90 -0
  37. package/esm2015/lib/components/form/date/form.date.component.js +314 -0
  38. package/esm2015/lib/components/form/datetime/form.datetime.component.js +106 -0
  39. package/esm2015/lib/components/form/file/form.file.component.js +124 -0
  40. package/esm2015/lib/components/form/finger/form.finger.component.js +140 -0
  41. package/esm2015/lib/components/form/hidden/form.hidden.component.js +31 -0
  42. package/esm2015/lib/components/form/icon/form.icon.component.js +84 -0
  43. package/esm2015/lib/components/form/index/form.component.js +51 -0
  44. package/esm2015/lib/components/form/label/form.label.component.js +32 -0
  45. package/esm2015/lib/components/form/plaque/form.plaque.component.js +258 -0
  46. package/esm2015/lib/components/form/plaque/select/form.plaque.select.component.js +468 -0
  47. package/esm2015/lib/components/form/radio/form.radio.component.js +82 -0
  48. package/esm2015/lib/components/form/select/form.select.component.js +452 -0
  49. package/esm2015/lib/components/form/select/item/form.select.item.component.js +27 -0
  50. package/esm2015/lib/components/form/slide/form.slide.component.js +84 -0
  51. package/esm2015/lib/components/form/star/form.star.component.js +66 -0
  52. package/esm2015/lib/components/form/table/form.table.component.js +96 -0
  53. package/esm2015/lib/components/form/tag/form.tag.component.js +100 -0
  54. package/esm2015/lib/components/form/textarea/form.textarea.component.js +83 -0
  55. package/esm2015/lib/components/form/textbox/form.textbox.component.js +227 -0
  56. package/esm2015/lib/components/form/time/form.time.component.js +149 -0
  57. package/esm2015/lib/components/form/toggle/form.toggle.component.js +72 -0
  58. package/esm2015/lib/components/form/tree/form.tree.component.js +157 -0
  59. package/esm2015/lib/components/form/tree/item/form.tree.item.component.js +50 -0
  60. package/esm2015/lib/components/form/uploader/form.uploader.component.js +159 -0
  61. package/esm2015/lib/components/form/vehicle/form.vehicle.component.js +104 -0
  62. package/esm2015/lib/components/form/vehicle/search/form.vehicle.search.component.js +237 -0
  63. package/esm2015/lib/components/header/header.component.js +28 -0
  64. package/esm2015/lib/components/header/sub/sub.header.component.js +14 -0
  65. package/esm2015/lib/components/layout/layout.component.js +18 -0
  66. package/esm2015/lib/components/loading/loading.component.js +22 -0
  67. package/esm2015/lib/components/login/login.component.js +159 -0
  68. package/esm2015/lib/components/modal/modal.component.js +25 -0
  69. package/esm2015/lib/components/notfound/notfound.component.js +29 -0
  70. package/esm2015/lib/components/notification/notification.component.js +14 -0
  71. package/esm2015/lib/components/sidebar/item/sidebar.item.component.js +55 -0
  72. package/esm2015/lib/components/sidebar/sidebar.component.js +98 -0
  73. package/esm2015/lib/components/steps/steps.component.js +88 -0
  74. package/esm2015/lib/components/table/loading/table.loading.component.js +17 -0
  75. package/esm2015/lib/components/table/pagination/table.pagination.component.js +84 -0
  76. package/esm2015/lib/components/table/row/table.row.component.js +450 -0
  77. package/esm2015/lib/components/table/table.component.js +240 -0
  78. package/esm2015/lib/components/tooltip/tooltip.component.js +19 -0
  79. package/esm2015/lib/ps-toolkit-ui.module.js +105 -0
  80. package/esm2015/lib/services/config.service.js +14 -0
  81. package/esm2015/lib/services/sidebar.service.js +21 -0
  82. package/esm2015/ps-toolkit-ui.js +21 -0
  83. package/esm2015/public-api.js +64 -0
  84. package/fesm2015/ps-toolkit-ui.js +8926 -0
  85. package/fesm2015/ps-toolkit-ui.js.map +1 -0
  86. package/lib/classes/addModal.class.d.ts +14 -0
  87. package/lib/classes/chart.class.d.ts +15 -0
  88. package/lib/classes/currentDataClass.d.ts +10 -0
  89. package/lib/classes/enum.class.d.ts +221 -0
  90. package/lib/classes/excel.class.d.ts +8 -0
  91. package/lib/classes/form.class.d.ts +193 -0
  92. package/lib/classes/header.class.d.ts +8 -0
  93. package/lib/classes/helper.class.d.ts +50 -0
  94. package/lib/classes/lang.class.d.ts +5 -0
  95. package/lib/classes/login.class.d.ts +21 -0
  96. package/lib/classes/modal.class.d.ts +19 -0
  97. package/lib/classes/permission.class.d.ts +35 -0
  98. package/lib/classes/request.class.d.ts +10 -0
  99. package/lib/classes/safehtml.class.d.ts +7 -0
  100. package/lib/classes/safestyle.class.d.ts +7 -0
  101. package/lib/classes/sidebar.class.d.ts +14 -0
  102. package/lib/classes/steps.class.d.ts +31 -0
  103. package/lib/classes/string.class.d.ts +249 -0
  104. package/lib/classes/table.class.d.ts +88 -0
  105. package/lib/components/accordion/accordion.component.d.ts +7 -0
  106. package/lib/components/alert/alert.component.d.ts +10 -0
  107. package/lib/components/base.component.d.ts +17 -0
  108. package/lib/components/calendar/calendar.component.d.ts +26 -0
  109. package/lib/components/chart/chart.component.d.ts +5 -0
  110. package/lib/components/clock/clock.component.d.ts +11 -0
  111. package/lib/components/confirm/confirm.component.d.ts +14 -0
  112. package/lib/components/error/error.component.d.ts +7 -0
  113. package/lib/components/footer/footer.component.d.ts +6 -0
  114. package/lib/components/form/bank-card/form.bank-card.component.d.ts +28 -0
  115. package/lib/components/form/button/form.button.component.d.ts +15 -0
  116. package/lib/components/form/checkbox/form.checkbox.component.d.ts +14 -0
  117. package/lib/components/form/ckeditor/form.ckeditor.component.d.ts +14 -0
  118. package/lib/components/form/date/form.date.component.d.ts +45 -0
  119. package/lib/components/form/datetime/form.datetime.component.d.ts +13 -0
  120. package/lib/components/form/file/form.file.component.d.ts +18 -0
  121. package/lib/components/form/finger/form.finger.component.d.ts +15 -0
  122. package/lib/components/form/hidden/form.hidden.component.d.ts +7 -0
  123. package/lib/components/form/icon/form.icon.component.d.ts +16 -0
  124. package/lib/components/form/index/form.component.d.ts +10 -0
  125. package/lib/components/form/label/form.label.component.d.ts +8 -0
  126. package/lib/components/form/plaque/form.plaque.component.d.ts +21 -0
  127. package/lib/components/form/plaque/select/form.plaque.select.component.d.ts +38 -0
  128. package/lib/components/form/radio/form.radio.component.d.ts +13 -0
  129. package/lib/components/form/select/form.select.component.d.ts +45 -0
  130. package/lib/components/form/select/item/form.select.item.component.d.ts +12 -0
  131. package/lib/components/form/slide/form.slide.component.d.ts +13 -0
  132. package/lib/components/form/star/form.star.component.d.ts +13 -0
  133. package/lib/components/form/table/form.table.component.d.ts +9 -0
  134. package/lib/components/form/tag/form.tag.component.d.ts +16 -0
  135. package/lib/components/form/textarea/form.textarea.component.d.ts +13 -0
  136. package/lib/components/form/textbox/form.textbox.component.d.ts +20 -0
  137. package/lib/components/form/time/form.time.component.d.ts +25 -0
  138. package/lib/components/form/toggle/form.toggle.component.d.ts +13 -0
  139. package/lib/components/form/tree/form.tree.component.d.ts +21 -0
  140. package/lib/components/form/tree/item/form.tree.item.component.d.ts +19 -0
  141. package/lib/components/form/uploader/form.uploader.component.d.ts +21 -0
  142. package/lib/components/form/vehicle/form.vehicle.component.d.ts +18 -0
  143. package/lib/components/form/vehicle/search/form.vehicle.search.component.d.ts +22 -0
  144. package/lib/components/header/header.component.d.ts +10 -0
  145. package/lib/components/header/sub/sub.header.component.d.ts +3 -0
  146. package/lib/components/layout/layout.component.d.ts +7 -0
  147. package/lib/components/loading/loading.component.d.ts +5 -0
  148. package/lib/components/login/login.component.d.ts +15 -0
  149. package/lib/components/modal/modal.component.d.ts +9 -0
  150. package/lib/components/notfound/notfound.component.d.ts +8 -0
  151. package/lib/components/notification/notification.component.d.ts +3 -0
  152. package/lib/components/sidebar/item/sidebar.item.component.d.ts +14 -0
  153. package/lib/components/sidebar/sidebar.component.d.ts +22 -0
  154. package/lib/components/steps/steps.component.d.ts +16 -0
  155. package/lib/components/table/loading/table.loading.component.d.ts +5 -0
  156. package/lib/components/table/pagination/table.pagination.component.d.ts +15 -0
  157. package/lib/components/table/row/table.row.component.d.ts +44 -0
  158. package/lib/components/table/table.component.d.ts +43 -0
  159. package/lib/components/tooltip/tooltip.component.d.ts +5 -0
  160. package/lib/ps-toolkit-ui.module.d.ts +4 -0
  161. package/lib/services/config.service.d.ts +6 -0
  162. package/lib/services/sidebar.service.d.ts +9 -0
  163. package/package.json +12 -16
  164. package/ps-toolkit-ui.d.ts +20 -0
  165. package/ps-toolkit-ui.metadata.json +1 -0
  166. package/public-api.d.ts +60 -0
  167. package/fesm2022/ps-toolkit-ui.mjs +0 -9472
  168. package/fesm2022/ps-toolkit-ui.mjs.map +0 -1
  169. package/types/ps-toolkit-ui.d.ts +0 -1671
@@ -0,0 +1,240 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { InputType, Method, TableCollType, TableExportType, TableOptionType } from '../../classes/enum.class';
4
+ import { InputClass } from '../../classes/form.class';
5
+ import * as $ from 'jquery';
6
+ import { ModalClass } from '../../classes/modal.class';
7
+ import 'jquery-ui-dist/jquery-ui';
8
+ import { RequestClass } from '../../classes/request.class';
9
+ import { PermissionClass } from '../../classes/permission.class';
10
+ export class TableComponent {
11
+ constructor(router) {
12
+ this.router = router;
13
+ this.changeRows = new EventEmitter();
14
+ this.export = null;
15
+ }
16
+ get type() { return InputType; }
17
+ get tableOptionType() { return TableOptionType; }
18
+ get colType() { return TableCollType; }
19
+ ngOnInit() {
20
+ this.reload = new InputClass(this.table.environment, this.table.l, 'Reload', 'fad fa-sync-alt', InputType.Icon, 'm-r-10-p');
21
+ this.export = new InputClass(this.table.environment, this.table.l, 'ExportTable', 'fad fa-download f-s-21', InputType.Icon, 'm-r-10-p export-dropdown-icon');
22
+ this.excel = new InputClass(this.table.environment, this.table.l, 'ExportExcel', 'fad fa-file-excel f-s-21', InputType.Button, 'white f-s-11 h-35 p-0');
23
+ this.excelUi = new InputClass(this.table.environment, this.table.l, 'ExportExcel', 'fad fa-file-excel f-s-21', InputType.Icon, 'm-r-10-p');
24
+ this.pdf = new InputClass(this.table.environment, this.table.l, 'ExportPdf', 'fad fa-file-pdf f-s-21', InputType.Button, 'white f-s-11 h-35 p-0');
25
+ this.print = new InputClass(this.table.environment, this.table.l, 'ExportPrint', 'fad fa-file-lines f-s-21', InputType.Button, 'white f-s-11 h-35 p-0');
26
+ this.maximum = new InputClass(this.table.environment, this.table.l, 'Maximum', 'fad fa-arrows-maximize', InputType.Icon, 'm-r-10-p');
27
+ this.expertSearch = new InputClass(this.table.environment, this.table.l, 'ExpertSearch', 'fad fa-magnifying-glass', InputType.Icon, 'm-r-10-p');
28
+ this.table.setCols();
29
+ if (this.table.sortable) {
30
+ this.table.perPage = -1;
31
+ this.table.onLoad = () => {
32
+ this.setSortable();
33
+ };
34
+ }
35
+ this.table.set(this.changeRows);
36
+ if (this.table.searchForm) {
37
+ this.table.searchForm.displayLabel = this.table.expertSearch;
38
+ this.table.searchForm.class = (this.table.searchForm.class ? this.table.searchForm.class : '') + (this.table.expertSearch ? '' : ' p-0');
39
+ if (this.table.expertSearch) {
40
+ const s = new InputClass(this.table.environment, this.table.l, 'Search', 'fad fa-magnifying-glass', InputType.Submit, 'blue h-30');
41
+ s.style = { top: '20px', left: '5px', position: 'absolute', width: '50%' };
42
+ this.table.searchForm.inputs.push(s);
43
+ this.table.searchForm.name = 'ExpertSearch';
44
+ }
45
+ this.table.searchForm.inputs.forEach(x => {
46
+ const hasSubmit = this.table.searchForm.inputs.some(s => s.type === InputType.Submit);
47
+ x.required = false;
48
+ x.displayLabel = this.table.expertSearch;
49
+ x.class = x.class + ' search-form-inp' + (this.table.expertSearch && x.type !== InputType.Submit ? ' p-0' : '');
50
+ x.withClear = !hasSubmit || this.table.expertSearch;
51
+ if (!hasSubmit) {
52
+ if (x.onChange == null) {
53
+ x.onChange = () => {
54
+ this.table.load();
55
+ };
56
+ }
57
+ }
58
+ if (x.type === InputType.Submit) {
59
+ x.onClick = () => {
60
+ if (this.table.searchForm.onBeforeSubmit && !this.table.searchForm.onBeforeSubmit()) {
61
+ return;
62
+ }
63
+ this.table.load(x);
64
+ };
65
+ // this.table.searchForm.submit = () => {
66
+ // console.log('this.table.searchForm.submit');
67
+ // if (this.table.searchForm.onBeforeSubmit && !this.table.searchForm.onBeforeSubmit()){
68
+ // return;
69
+ // }
70
+ // this.table.load(x);
71
+ // $(this.tableDiv.nativeElement).removeClass('show-expert-search');
72
+ // };
73
+ }
74
+ });
75
+ }
76
+ this.options = this.getOptions();
77
+ this.reload.onClick = () => {
78
+ this.table.load(this.reload);
79
+ };
80
+ this.export.onClick = () => {
81
+ $(this.exportDropDown.nativeElement).slideToggle();
82
+ };
83
+ this.pdf.onClick = () => {
84
+ this.exportTable(TableExportType.Pdf, this.pdf);
85
+ };
86
+ this.excel.onClick = () => {
87
+ this.exportTable(TableExportType.Excel, this.excel);
88
+ };
89
+ this.excelUi.onClick = () => {
90
+ this.table.excel();
91
+ };
92
+ this.print.onClick = () => {
93
+ this.exportTable(TableExportType.Print, this.print);
94
+ };
95
+ this.maximum.onClick = () => {
96
+ $(this.tableDiv.nativeElement).toggleClass('maximum');
97
+ this.maximum.icon = this.maximum.name === 'Minimum' ? 'fad fa-arrows-maximize' : 'fad fa-arrows-minimize';
98
+ this.maximum.name = this.maximum.name === 'Minimum' ? 'Maximum' : 'Minimum';
99
+ };
100
+ this.expertSearch.onClick = () => {
101
+ $(this.tableDiv.nativeElement).addClass('show-expert-search');
102
+ };
103
+ this.table.showConfirm = (l, url, data, accept) => {
104
+ this.confirm.show(l, url, data, accept);
105
+ };
106
+ }
107
+ exportTable(type, btn) {
108
+ const getWidthValue = (str) => {
109
+ const matches = [...str.matchAll(/w-(\d+)(?:-(\d+))?/g)];
110
+ if (!matches.length) {
111
+ return null;
112
+ }
113
+ const max = matches.reduce((best, m) => {
114
+ const first = +m[1];
115
+ const second = +m[2] || null;
116
+ if (!best || first > best.first) {
117
+ return { first, second };
118
+ }
119
+ return best;
120
+ }, null);
121
+ const s = (max.second || max.first);
122
+ return s == null ? 100 : s;
123
+ };
124
+ const url = this.table.url;
125
+ const data = this.table.searchData();
126
+ data.Page = 1;
127
+ data.PerPage = -1;
128
+ data.ReportType = type;
129
+ data.Cols = this.table.cols.map(x => {
130
+ return {
131
+ Name: x.name,
132
+ TrnName: this.table.l(x.name),
133
+ Width: getWidthValue(x.class),
134
+ Type: x.type,
135
+ };
136
+ });
137
+ new RequestClass(this.table.environment, this.table.l).send(url, Method.Post, data, btn, (result) => {
138
+ window.open(this.table.environment.url + '/report/{}/{}'.replace('{}', type).replace('{}', result), '_blank');
139
+ }, () => { });
140
+ }
141
+ allChecked() {
142
+ return this.table.rows.filter(x => !x.checked).length === 0;
143
+ }
144
+ isChecked() {
145
+ return this.table.rows.filter(x => x.checked).length > 0;
146
+ }
147
+ checkAll() {
148
+ if (this.table.rows.filter(x => !x.checked).length === 0) {
149
+ this.table.rows.forEach(x => x.checked = false);
150
+ }
151
+ else {
152
+ this.table.rows.forEach(x => x.checked = true);
153
+ }
154
+ }
155
+ getOptions() {
156
+ return [];
157
+ }
158
+ setSortable() {
159
+ setTimeout(() => {
160
+ // @ts-ignore
161
+ $(this.rows.nativeElement).sortable({
162
+ axis: 'y',
163
+ items: '.row',
164
+ handle: '> .handle-con > .handle.handle-sortable',
165
+ update: () => {
166
+ const data = [];
167
+ // @ts-ignore
168
+ $(this.rows.nativeElement).sortable('toArray', { attribute: 'data-id' }).forEach(x => {
169
+ data.push(parseInt(x, 10));
170
+ });
171
+ const p = new PermissionClass();
172
+ p.Area = this.table.permissions.Area;
173
+ p.Controller = this.table.permissions.Controller;
174
+ p.RelatedId = this.table.permissions.RelatedId;
175
+ p.Action = this.table.permissions.Action ? this.table.permissions.Action + '-sort' : 'sort';
176
+ new RequestClass(this.table.environment, this.table.l).send(p.getUrl().toLowerCase(), Method.Post, { Ids: data }, null, () => {
177
+ if (this.table.onSort) {
178
+ this.table.onSort();
179
+ }
180
+ }, () => { });
181
+ }
182
+ }).disableSelection();
183
+ }, 500);
184
+ }
185
+ getRows() {
186
+ const c = this.table.rows.filter(x => !x.Data.ParentId);
187
+ c.forEach((x, i) => x.RowNum = c.length - i + 1);
188
+ return c;
189
+ }
190
+ // getOptionModals(): InputClass[]{
191
+ // const modals = [];
192
+ // for (const [key, value] of Object.entries(this.table.optionActions)) {
193
+ // if (this.table.optionActions[key].modal){
194
+ // modals.push(this.table.optionActions[key].modal);
195
+ // }
196
+ // }
197
+ // return modals;
198
+ // }
199
+ onChangeRows(e) {
200
+ return this.changeRows.emit(e);
201
+ }
202
+ onConfirmShow(e) {
203
+ this.confirm.show(this.table.l(e.action + 'Confirm'), e.url, e.data, e.accept);
204
+ }
205
+ changeSort(e, s) {
206
+ if ($(e.target).closest('.header-search').hasClass('header-search')) {
207
+ return;
208
+ }
209
+ this.table.sortType = this.table.sort === s ? this.table.sortType === 'ASC' ? 'DESC' : null : 'ASC';
210
+ this.table.sort = this.table.sortType == null ? null : s;
211
+ this.table.load();
212
+ }
213
+ getModals() {
214
+ return this.table.optionsActions.filter(x => x instanceof ModalClass);
215
+ }
216
+ hideExpertSearch(e) {
217
+ if (this.table.expertSearch && $(e.target).hasClass('search-form')) {
218
+ $(this.tableDiv.nativeElement).removeClass('show-expert-search');
219
+ }
220
+ }
221
+ }
222
+ TableComponent.decorators = [
223
+ { type: Component, args: [{
224
+ selector: 'lib-table',
225
+ template: "<div [id]=\"table.id + 'Table'\" [style]=\"table.style\" #tableDiv [className]=\"(table.class ? table.class : '') + (table.sortable ? 'sortable' : '') + (table.hasChildren || table.subTable != null ? ' has-children' : '') + (table.vertical ? ' vertical' : '') + (table.expertSearch ? ' expert-search' : '') + ' table-con w-100'\">\r\n <div *ngIf=\"table.displayLabel\" class=\"title\">\r\n <div class=\"f-r\" [innerHTML]=\"this.table.title ? this.table.title : table.l('List')\"></div>\r\n <span class=\"description\" *ngIf=\"this.table.description != null\" [innerHTML]=\"'( ' + this.table.description + ' )'\"></span>\r\n <div class=\"extra-buttons\" *ngIf=\"table.showExtraButtons\">\r\n <lib-form-icon *ngFor=\"let btn of table.extraButtons\" [inp]=\"btn\"></lib-form-icon>\r\n <span *ngIf=\"isChecked()\">\r\n <lib-form-icon *ngFor=\"let btn of table.optionButtons\" [inp]=\"btn\"></lib-form-icon>\r\n </span>\r\n <span *ngIf=\"!isChecked()\">\r\n <lib-form-icon *ngIf=\"table.expertSearch\" [inp]=\"expertSearch\"></lib-form-icon>\r\n<!-- <lib-form-icon [inp]=\"excelUi\"></lib-form-icon>-->\r\n <lib-form-icon [inp]=\"export\"></lib-form-icon>\r\n <div #exportDropDown class=\"export-dropdown-con\">\r\n <lib-form-button [inp]=\"print\"></lib-form-button>\r\n <lib-form-button [inp]=\"excel\"></lib-form-button>\r\n <lib-form-button [inp]=\"pdf\"></lib-form-button>\r\n </div>\r\n <lib-form-icon [inp]=\"reload\"></lib-form-icon>\r\n <lib-form-icon [inp]=\"maximum\"></lib-form-icon>\r\n </span>\r\n </div>\r\n <div *ngIf=\"table.buttons.length > 0\" class=\"buttons\">\r\n <span *ngFor=\"let btn of table.buttons\">\r\n <lib-form-button [inp]=\"btn\" *ngIf=\"btn.type == type.Button\"></lib-form-button>\r\n <lib-form-icon [inp]=\"btn\" *ngIf=\"btn.type == type.Icon\"></lib-form-icon>\r\n <lib-form-label [inp]=\"btn\" *ngIf=\"btn.type == type.Label\"></lib-form-label>\r\n <lib-form-select [inp]=\"btn\" *ngIf=\"btn.type == type.Select\"></lib-form-select>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"search-form\" *ngIf=\"table.searchForm\" (click)=\"hideExpertSearch($event)\">\r\n <lib-form [form]=\"table.searchForm\"></lib-form>\r\n </div>\r\n <lib-form *ngIf=\"table.form && table.form.onTop\" [form]=\"table.form\"></lib-form>\r\n <div class=\"table\">\r\n <div class=\"header\">\r\n <div [className]=\"(table.hasChildren || table.subTable != null ? 'with-handle-children ' : '') + (table.sortable ? 'with-handle-sortable ' : '') + (table.withCheck ? 'with-handle-check ' : '') + 'row'\">\r\n <div class=\"handle-con\">\r\n <div class=\"handle handle-sortable\" *ngIf=\"table.sortable\"></div>\r\n <div class=\"handle handle-check\" *ngIf=\"table.hasChildren || table.subTable != null\"></div>\r\n <div class=\"handle handle-children\" *ngIf=\"table.withCheck\">\r\n <i (click)=\"checkAll()\" [className]=\"(allChecked() ? 'fa-solid fa-square-check c-green' : isChecked() ? 'fa-solid fa-square-minus c-green' : 'fa-regular fa-square') + ' check-row'\" *ngIf=\"table.rows.length > 0\"></i>\r\n </div>\r\n </div>\r\n <div (click)=\"!table.sortable && col.sort && changeSort($event, col.name)\" [className]=\"(!table.sortable && col.sort ? 'sort ' : '') + col.class + ' ' + col.name + '-cell cell w-100'\" *ngFor=\"let col of table.cols\">\r\n <div class=\"header-title\" *ngIf=\"col.search == null || table.sortable\" [innerHTML]=\"table.l(col.name)\"></div>\r\n <div class=\"header-search\" *ngIf=\"!table.sortable && col.search != null\">\r\n <lib-form-textbox *ngIf=\"col.type != colType.Date && col.type != colType.DateTime && col.type != colType.DateDif && col.type != colType.DateRemain && col.type != colType.Month && col.type != colType.Year && col.enum == null\" [inp]=\"col.search\"></lib-form-textbox>\r\n <lib-form-date *ngIf=\"(col.type == colType.Date || col.type == colType.DateTime || col.type === colType.DateDif || col.type === colType.DateRemain || col.type == colType.Month || col.type == colType.Year) && col.enum == null\" [inp]=\"col.search\"></lib-form-date>\r\n <lib-form-select *ngIf=\"col.enum != null\" [inp]=\"col.search\"></lib-form-select>\r\n </div>\r\n <i *ngIf=\"!table.sortable && col.sort\" [className]=\"'sort-icon fas' + (table.sort === col.name ? (table.sortType === 'ASC' ? ' fa-sort-up' : ' fa-sort-down') : ' fa-sort')\"></i>\r\n </div>\r\n <div class=\"cell options\" *ngIf=\"table.optionType == tableOptionType.Show\">{{table.l('Options')}}</div>\r\n </div>\r\n </div>\r\n <div class=\"body\" #rows [style]=\"table.perPage > 0 ? {minHeight: table.height * table.perPage + 'px'} : {minHeight: '250px'}\">\r\n <lib-table-row (confirmShow)=\"onConfirmShow($event)\" [level]=\"1\" (changeRows)=\"onChangeRows($event)\" [id]=\"row.id ? row.id : ''\" [table]=\"table\" [row]=\"row\" *ngFor=\"let row of getRows()\"></lib-table-row>\r\n <lib-table-loading [table]=\"table\"></lib-table-loading>\r\n </div>\r\n </div>\r\n <lib-table-pagination [table]=\"table\" *ngIf=\"table.perPage > 0\"></lib-table-pagination>\r\n <lib-modal *ngIf=\"table.modal != null\" [modal]=\"table.modal\"></lib-modal>\r\n <lib-modal [modal]=\"opt\" *ngFor=\"let opt of getModals()\"></lib-modal>\r\n <lib-confirm #confirm [tableId]=\"table.name\"></lib-confirm>\r\n</div>\r\n",
226
+ styles: [".table-con{background-color:#fff;border-radius:var(--border-radius-base);box-shadow:var(--box-shadow-table);float:right;padding:20px;position:relative}.table-con.maximum{border-radius:0;height:100%;overflow-y:auto;position:fixed;right:0;top:0;width:100%;z-index:102}.table-con>.title{float:right;font-size:16px;font-weight:var(--font-bold);line-height:40px;margin-bottom:10px;position:relative;text-align:right;width:100%;z-index:3}.table-con>.title .description{font-size:13px;font-weight:var(--font-light);margin-right:10px}.table-con>.title .buttons,.table-con>.title .extra-buttons{float:left;margin-top:5px;position:relative;z-index:1}.table-con>.title .extra-buttons{min-width:80px}.table-con>.title .extra-buttons .export-dropdown-con{background-color:var(--white);border-radius:var(--border-radius-base);display:none;left:20px;position:absolute;top:30px;width:150px;z-index:1}::ng-deep .table-con>.title .extra-buttons .export-dropdown-con lib-form-button .form-input-con.button .form-input .control{border-radius:0}::ng-deep .table-con>.title .extra-buttons .export-dropdown-con lib-form-button:first-of-type .form-input-con.button .form-input .control{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0}::ng-deep .table-con>.title .extra-buttons .export-dropdown-con lib-form-button:last-of-type .form-input-con.button .form-input .control{border-radius:0 0 var(--border-radius-base) var(--border-radius-base)}.table-con>.search-form{border-radius:var(--border-radius-base);float:right;margin-bottom:10px;width:100%}.table-con.expert-search>.search-form{background-color:rgba(51,51,51,.4);height:100%;left:0;margin-bottom:0;opacity:0;overflow:hidden;position:absolute;top:0;transition:all .35s ease-in-out;visibility:hidden;width:100%;z-index:4}.table-con.expert-search.show-expert-search>.search-form{opacity:1;visibility:visible}::ng-deep .table-con.expert-search>.search-form .form{background-color:var(--white);box-shadow:var(--box-shadow-right);height:100%;left:calc(-20% - 20px);padding:20px;position:absolute;top:0;transition:all .35s ease-in-out;width:20%;z-index:4}::ng-deep .table-con.expert-search>.search-form .form .inputs{float:right;height:calc(100% - 50px);margin:0;overflow-y:auto;width:100%}::ng-deep .table-con.expert-search.show-expert-search>.search-form .form{left:0}.table-con .table,.table-con .table .header{float:right;width:100%}.table-con .table .header .row{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;align-items:center;background-color:var(--base-white);border-radius:var(--border-radius-base);display:flex;flex-wrap:wrap;float:right;justify-content:right;position:relative;width:100%}.table-con .table .header .row.with-handle-check,.table-con .table .header .row.with-handle-children,.table-con .table .header .row.with-handle-sortable{padding-right:30px}.table-con .table .header .row.with-handle-children.with-handle-check,.table-con .table .header .row.with-handle-sortable.with-handle-check,.table-con .table .header .row.with-handle-sortable.with-handle-children{padding-right:60px}.table-con .table .header .row.with-handle-sortable.with-handle-children.with-handle-check{padding-right:90px}.table-con .table .header .row .cell{align-items:center;color:var(--black-light);display:flex;float:right;font-size:12px;font-weight:var(--font-normal);height:45px;justify-content:center;position:relative}.table-con .table .header .row .cell.options{margin-left:auto;margin-right:auto}.table-con .table .header .row .handle-con{height:100%;position:absolute;right:0;top:0}.table-con .table .header .row .handle-con .handle{align-items:center;display:flex;float:right;height:100%;justify-content:center;width:30px}.table-con .table .header .row .handle-con .handle i{cursor:pointer;font-size:18px}.table-con .table .header .row .cell.sort{cursor:pointer}.table-con .table .header .row .cell .header-title{float:right;padding:0 15px;text-align:center;width:calc(100% - 20px)}.table-con .table .header .row .cell .header-search{float:right;width:calc(100% - 20px)}.table-con .table .header .row .cell .sort-icon{float:right;font-size:13px;height:20px;left:5px;line-height:20px;opacity:.6;top:calc(50% - 10px);width:20px}.table-con .table .body{float:right;position:relative;width:100%}::ng-deep .table-con .table .header .row .cell .check-row{cursor:pointer;font-size:18px;height:30px;line-height:30px}::ng-deep .table-con.vertical .table lib-table-row>.row-con>.row:after{background-image:linear-gradient(180deg,rgba(0,0,0,.05),rgba(50,50,50,.15),rgba(0,0,0,.05));height:100%;left:0;right:unset;width:1px}::ng-deep .table-con.vertical:not(.sortable) .table lib-table-row:first-of-type>.row-con>.row:after,::ng-deep .table-con:not(.sortable) .table lib-table-row:last-of-type>.row-con>.row:after{background-image:unset}.table-con.vertical .table .header{display:none}::ng-deep .table-con .table lib-table-row{display:contents}.table-con.vertical .table .body{display:flex}::ng-deep .table-con.vertical .table lib-table-row:first-of-type>.row-con{background-color:var(--base-white);border-radius:var(--border-radius-base);max-width:150px}@media (max-width:499.99px){::ng-deep .table-con.expert-search>.search-form .form{left:calc(-100% - 20px);width:100%}}@media (min-width:500px) and (max-width:699.99px){::ng-deep .table-con.expert-search>.search-form .form{left:calc(-50% - 20px);width:50%}}@media (min-width:700px) and (max-width:999.99px){::ng-deep .table-con.expert-search>.search-form .form{left:calc(-40% - 20px);width:40%}}@media (min-width:1000px) and (max-width:1599.99px){::ng-deep .table-con.expert-search>.search-form .form{left:calc(-30% - 20px);width:30%}}"]
227
+ },] }
228
+ ];
229
+ TableComponent.ctorParameters = () => [
230
+ { type: Router }
231
+ ];
232
+ TableComponent.propDecorators = {
233
+ table: [{ type: Input }],
234
+ changeRows: [{ type: Output }],
235
+ rows: [{ type: ViewChild, args: ['rows',] }],
236
+ tableDiv: [{ type: ViewChild, args: ['tableDiv',] }],
237
+ exportDropDown: [{ type: ViewChild, args: ['exportDropDown',] }],
238
+ confirm: [{ type: ViewChild, args: ['confirm',] }]
239
+ };
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFdkMsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQTRCLGFBQWEsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdEksT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRCxPQUFPLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFPL0QsTUFBTSxPQUFPLGNBQWM7SUFvQnpCLFlBQW1CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBaEJqQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQWV4QyxXQUFNLEdBQWUsSUFBSSxDQUFDO0lBRTFCLENBQUM7SUFoQkQsSUFBSSxJQUFJLEtBQXNCLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNqRCxJQUFJLGVBQWUsS0FBNEIsT0FBTyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLElBQUksT0FBTyxLQUEwQixPQUFPLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFnQjVE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QUFJLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFDbEU7WUFDRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUNsRTtJQUNILENBQUM7OztZQXhPRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLGk5S0FBcUM7O2FBRXRDOzs7WUFmTyxNQUFNOzs7b0JBaUJYLEtBQUs7eUJBRUwsTUFBTTttQkFLTixTQUFTLFNBQUMsTUFBTTt1QkFDaEIsU0FBUyxTQUFDLFVBQVU7NkJBQ3BCLFNBQVMsU0FBQyxnQkFBZ0I7c0JBQzFCLFNBQVMsU0FBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHtUYWJsZUNsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL3RhYmxlLmNsYXNzJztcclxuaW1wb3J0IHtJbnB1dFR5cGUsIE1ldGhvZCwgUGVybWlzc2lvbkFjY2Vzc1R5cGVFbnVtLCBUYWJsZUNvbGxUeXBlLCBUYWJsZUV4cG9ydFR5cGUsIFRhYmxlT3B0aW9uVHlwZX0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnVtLmNsYXNzJztcclxuaW1wb3J0IHtJbnB1dENsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm0uY2xhc3MnO1xyXG5pbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcbmltcG9ydCB7Q29uZmlybUNvbXBvbmVudH0gZnJvbSAnLi4vY29uZmlybS9jb25maXJtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TW9kYWxDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9tb2RhbC5jbGFzcyc7XHJcbmltcG9ydCAnanF1ZXJ5LXVpLWRpc3QvanF1ZXJ5LXVpJztcclxuaW1wb3J0IHtSZXF1ZXN0Q2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvcmVxdWVzdC5jbGFzcyc7XHJcbmltcG9ydCB7UGVybWlzc2lvbkNsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL3Blcm1pc3Npb24uY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBASW5wdXQoKVxyXG4gIHRhYmxlOiBUYWJsZUNsYXNzO1xyXG4gIEBPdXRwdXQoKVxyXG4gIGNoYW5nZVJvd3MgPSBuZXcgRXZlbnRFbWl0dGVyPG9iamVjdD4oKTtcclxuICBnZXQgdHlwZSgpOiB0eXBlb2YgSW5wdXRUeXBleyByZXR1cm4gSW5wdXRUeXBlOyB9XHJcbiAgZ2V0IHRhYmxlT3B0aW9uVHlwZSgpOiB0eXBlb2YgVGFibGVPcHRpb25UeXBleyByZXR1cm4gVGFibGVPcHRpb25UeXBlOyB9XHJcbiAgZ2V0IGNvbFR5cGUoKTogdHlwZW9mIFRhYmxlQ29sbFR5cGV7IHJldHVybiBUYWJsZUNvbGxUeXBlOyB9XHJcbiAgQFZpZXdDaGlsZCgncm93cycpIHJvd3M6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgndGFibGVEaXYnKSB0YWJsZURpdjogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdleHBvcnREcm9wRG93bicpIGV4cG9ydERyb3BEb3duOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbmZpcm0nKSBjb25maXJtOiBDb25maXJtQ29tcG9uZW50O1xyXG4gIHJlbG9hZDogSW5wdXRDbGFzcztcclxuICBleGNlbDogSW5wdXRDbGFzcztcclxuICBleGNlbFVpOiBJbnB1dENsYXNzO1xyXG4gIHBkZjogSW5wdXRDbGFzcztcclxuICBwcmludDogSW5wdXRDbGFzcztcclxuICBtYXhpbXVtOiBJbnB1dENsYXNzO1xyXG4gIGV4cGVydFNlYXJjaDogSW5wdXRDbGFzcztcclxuICBleHBvcnQ6IElucHV0Q2xhc3MgPSBudWxsO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByb3V0ZXI6IFJvdXRlcikge1xyXG4gIH1cclxuICBvcHRpb25zOiBJbnB1dENsYXNzW107XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbG9hZCA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ1JlbG9hZCcsICdmYWQgZmEtc3luYy1hbHQnLCBJbnB1dFR5cGUuSWNvbiwgJ20tci0xMC1wJyk7XHJcbiAgICB0aGlzLmV4cG9ydCA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ0V4cG9ydFRhYmxlJywgJ2ZhZCBmYS1kb3dubG9hZCBmLXMtMjEnLCBJbnB1dFR5cGUuSWNvbiwgJ20tci0xMC1wIGV4cG9ydC1kcm9wZG93bi1pY29uJyk7XHJcbiAgICB0aGlzLmV4Y2VsID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnRXhwb3J0RXhjZWwnLCAnZmFkIGZhLWZpbGUtZXhjZWwgZi1zLTIxJywgSW5wdXRUeXBlLkJ1dHRvbiwgJ3doaXRlIGYtcy0xMSBoLTM1IHAtMCcpO1xyXG4gICAgdGhpcy5leGNlbFVpID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnRXhwb3J0RXhjZWwnLCAnZmFkIGZhLWZpbGUtZXhjZWwgZi1zLTIxJywgSW5wdXRUeXBlLkljb24sICdtLXItMTAtcCcpO1xyXG4gICAgdGhpcy5wZGYgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdFeHBvcnRQZGYnLCAnZmFkIGZhLWZpbGUtcGRmIGYtcy0yMScsIElucHV0VHlwZS5CdXR0b24sICd3aGl0ZSBmLXMtMTEgaC0zNSBwLTAnKTtcclxuICAgIHRoaXMucHJpbnQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdFeHBvcnRQcmludCcsICdmYWQgZmEtZmlsZS1saW5lcyBmLXMtMjEnLCBJbnB1dFR5cGUuQnV0dG9uLCAnd2hpdGUgZi1zLTExIGgtMzUgcC0wJyk7XHJcbiAgICB0aGlzLm1heGltdW0gPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdNYXhpbXVtJywgJ2ZhZCBmYS1hcnJvd3MtbWF4aW1pemUnLCBJbnB1dFR5cGUuSWNvbiwgJ20tci0xMC1wJyk7XHJcbiAgICB0aGlzLmV4cGVydFNlYXJjaCA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ0V4cGVydFNlYXJjaCcsICdmYWQgZmEtbWFnbmlmeWluZy1nbGFzcycsIElucHV0VHlwZS5JY29uLCAnbS1yLTEwLXAnKTtcclxuICAgIHRoaXMudGFibGUuc2V0Q29scygpO1xyXG4gICAgaWYgKHRoaXMudGFibGUuc29ydGFibGUpe1xyXG4gICAgICB0aGlzLnRhYmxlLnBlclBhZ2UgPSAtMTtcclxuICAgICAgdGhpcy50YWJsZS5vbkxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRTb3J0YWJsZSgpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgdGhpcy50YWJsZS5zZXQodGhpcy5jaGFuZ2VSb3dzKTtcclxuICAgIGlmICh0aGlzLnRhYmxlLnNlYXJjaEZvcm0pe1xyXG4gICAgICB0aGlzLnRhYmxlLnNlYXJjaEZvcm0uZGlzcGxheUxhYmVsID0gdGhpcy50YWJsZS5leHBlcnRTZWFyY2g7XHJcbiAgICAgIHRoaXMudGFibGUuc2VhcmNoRm9ybS5jbGFzcyA9ICh0aGlzLnRhYmxlLnNlYXJjaEZvcm0uY2xhc3MgPyB0aGlzLnRhYmxlLnNlYXJjaEZvcm0uY2xhc3MgOiAnJykgKyAodGhpcy50YWJsZS5leHBlcnRTZWFyY2ggPyAnJyA6ICcgcC0wJyk7XHJcbiAgICAgIGlmICh0aGlzLnRhYmxlLmV4cGVydFNlYXJjaCl7XHJcbiAgICAgICAgY29uc3QgcyA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ1NlYXJjaCcsICdmYWQgZmEtbWFnbmlmeWluZy1nbGFzcycsIElucHV0VHlwZS5TdWJtaXQsICdibHVlIGgtMzAnKTtcclxuICAgICAgICBzLnN0eWxlID0ge3RvcDogJzIwcHgnLCBsZWZ0OiAnNXB4JywgcG9zaXRpb246ICdhYnNvbHV0ZScsIHdpZHRoOiAnNTAlJ307XHJcbiAgICAgICAgdGhpcy50YWJsZS5zZWFyY2hGb3JtLmlucHV0cy5wdXNoKHMpO1xyXG4gICAgICAgIHRoaXMudGFibGUuc2VhcmNoRm9ybS5uYW1lID0gJ0V4cGVydFNlYXJjaCc7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50YWJsZS5zZWFyY2hGb3JtLmlucHV0cy5mb3JFYWNoKHggPT4ge1xyXG4gICAgICAgIGNvbnN0IGhhc1N1Ym1pdCA9IHRoaXMudGFibGUuc2VhcmNoRm9ybS5pbnB1dHMuc29tZShzID0+IHMudHlwZSA9PT0gSW5wdXRUeXBlLlN1Ym1pdCk7XHJcbiAgICAgICAgeC5yZXF1aXJlZCA9IGZhbHNlO1xyXG4gICAgICAgIHguZGlzcGxheUxhYmVsID0gdGhpcy50YWJsZS5leHBlcnRTZWFyY2g7XHJcbiAgICAgICAgeC5jbGFzcyA9IHguY2xhc3MgKyAnIHNlYXJjaC1mb3JtLWlucCcgKyAodGhpcy50YWJsZS5leHBlcnRTZWFyY2ggJiYgeC50eXBlICE9PSBJbnB1dFR5cGUuU3VibWl0ID8gJyBwLTAnIDogJycpO1xyXG4gICAgICAgIHgud2l0aENsZWFyID0gIWhhc1N1Ym1pdCB8fCB0aGlzLnRhYmxlLmV4cGVydFNlYXJjaDtcclxuICAgICAgICBpZiAoIWhhc1N1Ym1pdCl7XHJcbiAgICAgICAgICBpZiAoeC5vbkNoYW5nZSA9PSBudWxsKXtcclxuICAgICAgICAgICAgeC5vbkNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnRhYmxlLmxvYWQoKTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHgudHlwZSA9PT0gSW5wdXRUeXBlLlN1Ym1pdCl7XHJcbiAgICAgICAgICB4Lm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRhYmxlLnNlYXJjaEZvcm0ub25CZWZvcmVTdWJtaXQgJiYgIXRoaXMudGFibGUuc2VhcmNoRm9ybS5vbkJlZm9yZVN1Ym1pdCgpKXtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy50YWJsZS5sb2FkKHgpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIC8vIHRoaXMudGFibGUuc2VhcmNoRm9ybS5zdWJtaXQgPSAoKSA9PiB7XHJcbiAgICAgICAgICAvLyAgIGNvbnNvbGUubG9nKCd0aGlzLnRhYmxlLnNlYXJjaEZvcm0uc3VibWl0Jyk7XHJcbiAgICAgICAgICAvLyAgIGlmICh0aGlzLnRhYmxlLnNlYXJjaEZvcm0ub25CZWZvcmVTdWJtaXQgJiYgIXRoaXMudGFibGUuc2VhcmNoRm9ybS5vbkJlZm9yZVN1Ym1pdCgpKXtcclxuICAgICAgICAgIC8vICAgICByZXR1cm47XHJcbiAgICAgICAgICAvLyAgIH1cclxuICAgICAgICAgIC8vICAgdGhpcy50YWJsZS5sb2FkKHgpO1xyXG4gICAgICAgICAgLy8gICAkKHRoaXMudGFibGVEaXYubmF0aXZlRWxlbWVudCkucmVtb3ZlQ2xhc3MoJ3Nob3ctZXhwZXJ0LXNlYXJjaCcpO1xyXG4gICAgICAgICAgLy8gfTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5nZXRPcHRpb25zKCk7XHJcbiAgICB0aGlzLnJlbG9hZC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLnRhYmxlLmxvYWQodGhpcy5yZWxvYWQpO1xyXG4gICAgfTtcclxuICAgIHRoaXMuZXhwb3J0Lm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICQodGhpcy5leHBvcnREcm9wRG93bi5uYXRpdmVFbGVtZW50KS5zbGlkZVRvZ2dsZSgpO1xyXG4gICAgfTtcclxuICAgIHRoaXMucGRmLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuZXhwb3J0VGFibGUoVGFibGVFeHBvcnRUeXBlLlBkZiwgdGhpcy5wZGYpO1xyXG4gICAgfTtcclxuICAgIHRoaXMuZXhjZWwub25DbGljayA9ICgpID0+IHtcclxuICAgICAgdGhpcy5leHBvcnRUYWJsZShUYWJsZUV4cG9ydFR5cGUuRXhjZWwsIHRoaXMuZXhjZWwpO1xyXG4gICAgfTtcclxuICAgIHRoaXMuZXhjZWxVaS5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLnRhYmxlLmV4Y2VsKCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5wcmludC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmV4cG9ydFRhYmxlKFRhYmxlRXhwb3J0VHlwZS5QcmludCwgdGhpcy5wcmludCk7XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMubWF4aW11bS5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAkKHRoaXMudGFibGVEaXYubmF0aXZlRWxlbWVudCkudG9nZ2xlQ2xhc3MoJ21heGltdW0nKTtcclxuICAgICAgdGhpcy5tYXhpbXVtLmljb24gPSB0aGlzLm1heGltdW0ubmFtZSA9PT0gJ01pbmltdW0nID8gJ2ZhZCBmYS1hcnJvd3MtbWF4aW1pemUnIDogJ2ZhZCBmYS1hcnJvd3MtbWluaW1pemUnO1xyXG4gICAgICB0aGlzLm1heGltdW0ubmFtZSA9IHRoaXMubWF4aW11bS5uYW1lID09PSAnTWluaW11bScgPyAnTWF4aW11bScgOiAnTWluaW11bSc7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5leHBlcnRTZWFyY2gub25DbGljayA9ICgpID0+IHtcclxuICAgICAgJCh0aGlzLnRhYmxlRGl2Lm5hdGl2ZUVsZW1lbnQpLmFkZENsYXNzKCdzaG93LWV4cGVydC1zZWFyY2gnKTtcclxuICAgIH07XHJcbiAgICB0aGlzLnRhYmxlLnNob3dDb25maXJtID0gKGw6IHN0cmluZywgdXJsOiBzdHJpbmcsIGRhdGEsIGFjY2VwdDogKHJlc3VsdDogYW55KSA9PiB2b2lkKSA9PiB7XHJcbiAgICAgIHRoaXMuY29uZmlybS5zaG93KGwsIHVybCwgZGF0YSwgYWNjZXB0KTtcclxuICAgIH07XHJcbiAgfVxyXG4gIGV4cG9ydFRhYmxlKHR5cGU6IFRhYmxlRXhwb3J0VHlwZSwgYnRuOiBJbnB1dENsYXNzKTogdm9pZHtcclxuICAgIGNvbnN0IGdldFdpZHRoVmFsdWUgPSAoc3RyKSA9PiB7XHJcbiAgICAgIGNvbnN0IG1hdGNoZXMgPSBbLi4uc3RyLm1hdGNoQWxsKC93LShcXGQrKSg/Oi0oXFxkKykpPy9nKV07XHJcbiAgICAgIGlmICghbWF0Y2hlcy5sZW5ndGgpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBtYXggPSBtYXRjaGVzLnJlZHVjZSgoYmVzdCwgbSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZpcnN0ID0gK21bMV07XHJcbiAgICAgICAgY29uc3Qgc2Vjb25kID0gK21bMl0gfHwgbnVsbDtcclxuICAgICAgICBpZiAoIWJlc3QgfHwgZmlyc3QgPiBiZXN0LmZpcnN0KXtcclxuICAgICAgICAgIHJldHVybiB7IGZpcnN0LCBzZWNvbmQgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGJlc3Q7XHJcbiAgICAgIH0sIG51bGwpO1xyXG4gICAgICBjb25zdCBzID0gKG1heC5zZWNvbmQgfHwgbWF4LmZpcnN0KTtcclxuICAgICAgcmV0dXJuIHMgPT0gbnVsbCA/IDEwMCA6IHM7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHVybCA9IHRoaXMudGFibGUudXJsO1xyXG4gICAgY29uc3QgZGF0YTogYW55ID0gdGhpcy50YWJsZS5zZWFyY2hEYXRhKCk7XHJcbiAgICBkYXRhLlBhZ2UgPSAxO1xyXG4gICAgZGF0YS5QZXJQYWdlID0gLTE7XHJcbiAgICBkYXRhLlJlcG9ydFR5cGUgPSB0eXBlO1xyXG4gICAgZGF0YS5Db2xzID0gdGhpcy50YWJsZS5jb2xzLm1hcCh4ID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBOYW1lOiB4Lm5hbWUsXHJcbiAgICAgICAgVHJuTmFtZTogdGhpcy50YWJsZS5sKHgubmFtZSksXHJcbiAgICAgICAgV2lkdGg6IGdldFdpZHRoVmFsdWUoeC5jbGFzcyksXHJcbiAgICAgICAgVHlwZTogeC50eXBlLFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcblxyXG4gICAgbmV3IFJlcXVlc3RDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwpLnNlbmQodXJsLCBNZXRob2QuUG9zdCwgZGF0YSwgYnRuLCAocmVzdWx0KSA9PiB7XHJcbiAgICAgIHdpbmRvdy5vcGVuKHRoaXMudGFibGUuZW52aXJvbm1lbnQudXJsICsgJy9yZXBvcnQve30ve30nLnJlcGxhY2UoJ3t9JywgdHlwZSkucmVwbGFjZSgne30nLCByZXN1bHQpLCAnX2JsYW5rJyk7XHJcbiAgICB9LCAoKSA9PiB7fSk7XHJcbiAgfVxyXG4gIGFsbENoZWNrZWQoKTogYm9vbGVhbntcclxuICAgIHJldHVybiB0aGlzLnRhYmxlLnJvd3MuZmlsdGVyKHggPT4gIXguY2hlY2tlZCkubGVuZ3RoID09PSAwO1xyXG4gIH1cclxuICBpc0NoZWNrZWQoKTogYm9vbGVhbntcclxuICAgIHJldHVybiB0aGlzLnRhYmxlLnJvd3MuZmlsdGVyKHggPT4geC5jaGVja2VkKS5sZW5ndGggPiAwO1xyXG4gIH1cclxuICBjaGVja0FsbCgpOiB2b2lke1xyXG4gICAgaWYgKHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiAheC5jaGVja2VkKS5sZW5ndGggPT09IDApe1xyXG4gICAgICB0aGlzLnRhYmxlLnJvd3MuZm9yRWFjaCh4ID0+IHguY2hlY2tlZCA9IGZhbHNlKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnRhYmxlLnJvd3MuZm9yRWFjaCh4ID0+IHguY2hlY2tlZCA9IHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXRPcHRpb25zKCk6IElucHV0Q2xhc3NbXXtcclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcbiAgc2V0U29ydGFibGUoKTogdm9pZHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICQodGhpcy5yb3dzLm5hdGl2ZUVsZW1lbnQpLnNvcnRhYmxlKHtcclxuICAgICAgICBheGlzOiAneScsXHJcbiAgICAgICAgaXRlbXM6ICcucm93JyxcclxuICAgICAgICBoYW5kbGU6ICc+IC5oYW5kbGUtY29uID4gLmhhbmRsZS5oYW5kbGUtc29ydGFibGUnLFxyXG4gICAgICAgIHVwZGF0ZTogKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZGF0YSA9IFtdO1xyXG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgJCh0aGlzLnJvd3MubmF0aXZlRWxlbWVudCkuc29ydGFibGUoJ3RvQXJyYXknLCB7YXR0cmlidXRlOiAnZGF0YS1pZCd9KS5mb3JFYWNoKHggPT4ge1xyXG4gICAgICAgICAgICBkYXRhLnB1c2gocGFyc2VJbnQoeCwgMTApKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICAgIHAuQXJlYSA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICAgIHAuQ29udHJvbGxlciA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQ29udHJvbGxlcjtcclxuICAgICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5SZWxhdGVkSWQ7XHJcbiAgICAgICAgICBwLkFjdGlvbiA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQWN0aW9uID8gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5BY3Rpb24gKyAnLXNvcnQnIDogJ3NvcnQnO1xyXG4gICAgICAgICAgbmV3IFJlcXVlc3RDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwpLnNlbmQocC5nZXRVcmwoKS50b0xvd2VyQ2FzZSgpLCBNZXRob2QuUG9zdCwge0lkczogZGF0YX0sIG51bGwsICgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGFibGUub25Tb3J0KXtcclxuICAgICAgICAgICAgICB0aGlzLnRhYmxlLm9uU29ydCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LCAoKSA9PiB7fSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KS5kaXNhYmxlU2VsZWN0aW9uKCk7XHJcbiAgICB9LCA1MDApO1xyXG4gIH1cclxuICBnZXRSb3dzKCk6IGFueVtde1xyXG4gICAgY29uc3QgYyA9IHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiAheC5EYXRhLlBhcmVudElkKTtcclxuICAgIGMuZm9yRWFjaCgoeCwgaSkgPT4geC5Sb3dOdW0gPSBjLmxlbmd0aCAtIGkgKyAxKTtcclxuICAgIHJldHVybiBjO1xyXG4gIH1cclxuICAvLyBnZXRPcHRpb25Nb2RhbHMoKTogSW5wdXRDbGFzc1tde1xyXG4gIC8vICAgY29uc3QgbW9kYWxzID0gW107XHJcbiAgLy8gICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLnRhYmxlLm9wdGlvbkFjdGlvbnMpKSB7XHJcbiAgLy8gICAgIGlmICh0aGlzLnRhYmxlLm9wdGlvbkFjdGlvbnNba2V5XS5tb2RhbCl7XHJcbiAgLy8gICAgICAgbW9kYWxzLnB1c2godGhpcy50YWJsZS5vcHRpb25BY3Rpb25zW2tleV0ubW9kYWwpO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9XHJcbiAgLy8gICByZXR1cm4gbW9kYWxzO1xyXG4gIC8vIH1cclxuICBvbkNoYW5nZVJvd3MoZSk6IHZvaWR7XHJcbiAgICByZXR1cm4gdGhpcy5jaGFuZ2VSb3dzLmVtaXQoZSk7XHJcbiAgfVxyXG4gIG9uQ29uZmlybVNob3coZSk6IHZvaWR7XHJcbiAgICB0aGlzLmNvbmZpcm0uc2hvdyh0aGlzLnRhYmxlLmwoZS5hY3Rpb24gKyAnQ29uZmlybScpLCBlLnVybCwgZS5kYXRhLCBlLmFjY2VwdCk7XHJcbiAgfVxyXG4gIGNoYW5nZVNvcnQoZSwgczogc3RyaW5nKTogdm9pZHtcclxuICAgIGlmICgkKGUudGFyZ2V0KS5jbG9zZXN0KCcuaGVhZGVyLXNlYXJjaCcpLmhhc0NsYXNzKCdoZWFkZXItc2VhcmNoJykpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYmxlLnNvcnRUeXBlID0gdGhpcy50YWJsZS5zb3J0ID09PSBzID8gdGhpcy50YWJsZS5zb3J0VHlwZSA9PT0gJ0FTQycgPyAnREVTQycgOiBudWxsIDogJ0FTQyc7XHJcbiAgICB0aGlzLnRhYmxlLnNvcnQgPSB0aGlzLnRhYmxlLnNvcnRUeXBlID09IG51bGwgPyBudWxsIDogcztcclxuICAgIHRoaXMudGFibGUubG9hZCgpO1xyXG4gIH1cclxuICBnZXRNb2RhbHMoKTogTW9kYWxDbGFzc1tde1xyXG4gICAgcmV0dXJuIHRoaXMudGFibGUub3B0aW9uc0FjdGlvbnMuZmlsdGVyKHggPT4geCBpbnN0YW5jZW9mIE1vZGFsQ2xhc3MpO1xyXG4gIH1cclxuICBoaWRlRXhwZXJ0U2VhcmNoKGUpOiB2b2lke1xyXG4gICAgaWYgKHRoaXMudGFibGUuZXhwZXJ0U2VhcmNoICYmICQoZS50YXJnZXQpLmhhc0NsYXNzKCdzZWFyY2gtZm9ybScpKVxyXG4gICAge1xyXG4gICAgICAkKHRoaXMudGFibGVEaXYubmF0aXZlRWxlbWVudCkucmVtb3ZlQ2xhc3MoJ3Nob3ctZXhwZXJ0LXNlYXJjaCcpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { Component, Input } from '@angular/core';
2
+ export class TooltipComponent {
3
+ constructor() {
4
+ this.position = 'bottom';
5
+ }
6
+ }
7
+ TooltipComponent.decorators = [
8
+ { type: Component, args: [{
9
+ selector: 'lib-tooltip',
10
+ template: "<div></div>\r\n",
11
+ styles: ["[data-tooltip]{height:100%;position:relative;width:100%;z-index:10}[data-tooltip]:after,[data-tooltip]:before{bottom:calc(100% + 5px);left:50%;opacity:0;pointer-events:none;position:absolute;transition:.2s;visibility:hidden;will-change:transform}[data-tooltip]:before{background-color:var(--black);border-radius:var(--border-radius-base);color:#fff;content:attr(data-tooltip);font-size:13px;line-height:30px;max-width:300px;min-width:50px;padding:0 10px;text-align:center;transform:translate(-50%,-5px) scale(.5);white-space:pre-wrap;width:max-content;width:-moz-max-content;z-index:6}[data-tooltip]:after{border:solid var(--black);border-width:5px 5px 0;content:\"\";transform:translateX(-50%) scaleY(0);transform-origin:top;transition-duration:0s}[data-tooltip]:hover:after,[data-tooltip]:hover:before{opacity:1;visibility:visible}[data-tooltip]:hover:before{transform:translate(-50%,-5px) scale(1);transition-delay:.3s}[data-tooltip]:hover:after{transform:translateX(-50%) scaleY(1);transition-delay:.5s;transition-duration:.2s}[data-tooltip-location=left]:after,[data-tooltip-location=left]:before{bottom:50%;left:auto;right:calc(100% + 5px)}[data-tooltip-location=left]:before{transform:translate(-5px,50%) scale(.5)}[data-tooltip-location=left]:hover:before{transform:translate(-5px,50%) scale(1)}[data-tooltip-location=left]:after{border-color:transparent transparent transparent rgba(55,64,70,.9);border-width:5px 0 5px 5px;transform:translateY(50%) scaleX(0);transform-origin:left}[data-tooltip-location=left]:hover:after{transform:translateY(50%) scaleX(1)}[data-tooltip-location=right]:after,[data-tooltip-location=right]:before{bottom:50%;left:calc(100% + 5px)}[data-tooltip-location=right]:before{transform:translate(5px,50%) scale(.5)}[data-tooltip-location=right]:hover:before{transform:translate(5px,50%) scale(1)}[data-tooltip-location=right]:after{border-color:transparent rgba(55,64,70,.9) transparent transparent;border-width:5px 5px 5px 0;transform:translateY(50%) scaleX(0);transform-origin:right}[data-tooltip-location=right]:hover:after{transform:translateY(50%) scaleX(1)}[data-tooltip-location=bottom]:after,[data-tooltip-location=bottom]:before{bottom:auto;top:calc(100% + 5px)}[data-tooltip-location=bottom]:before{transform:translate(-50%,5px) scale(.5)}[data-tooltip-location=bottom]:hover:before{transform:translate(-50%,5px) scale(1)}[data-tooltip-location=bottom]:after{border-color:transparent transparent rgba(55,64,70,.9);border-width:0 5px 5px;transform-origin:bottom}"]
12
+ },] }
13
+ ];
14
+ TooltipComponent.ctorParameters = () => [];
15
+ TooltipComponent.propDecorators = {
16
+ text: [{ type: Input }],
17
+ position: [{ type: Input }]
18
+ };
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiRDovUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQU8vQyxNQUFNLE9BQU8sZ0JBQWdCO0lBSzNCO1FBREEsYUFBUSxHQUFHLFFBQVEsQ0FBQztJQUVwQixDQUFDOzs7WUFYRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLDJCQUF1Qzs7YUFFeEM7Ozs7bUJBRUUsS0FBSzt1QkFFTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRvb2x0aXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b29sdGlwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90b29sdGlwLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbXBvbmVudHtcclxuICBASW5wdXQoKVxyXG4gIHRleHQ6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIHBvc2l0aW9uID0gJ2JvdHRvbSc7XHJcbiAgY29uc3RydWN0b3IoKXtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,105 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { PsToolkitUiConfigService } from './services/config.service';
3
+ import { AccordionComponent } from './components/accordion/accordion.component';
4
+ import { FooterComponent } from './components/footer/footer.component';
5
+ import { HeaderComponent } from './components/header/header.component';
6
+ import { ModalComponent } from './components/modal/modal.component';
7
+ import { SidebarItemComponent } from './components/sidebar/item/sidebar.item.component';
8
+ import { SidebarComponent } from './components/sidebar/sidebar.component';
9
+ import { StepsComponent } from './components/steps/steps.component';
10
+ import { SubHeaderComponent } from './components/header/sub/sub.header.component';
11
+ import { TableLoadingComponent } from './components/table/loading/table.loading.component';
12
+ import { TablePaginationComponent } from './components/table/pagination/table.pagination.component';
13
+ import { TableRowComponent } from './components/table/row/table.row.component';
14
+ import { TableComponent } from './components/table/table.component';
15
+ import { TooltipComponent } from './components/tooltip/tooltip.component';
16
+ import { FormBankCardComponent } from './components/form/bank-card/form.bank-card.component';
17
+ import { FormButtonComponent } from './components/form/button/form.button.component';
18
+ import { FormCheckboxComponent } from './components/form/checkbox/form.checkbox.component';
19
+ import { FormDateComponent } from './components/form/date/form.date.component';
20
+ import { FormDatetimeComponent } from './components/form/datetime/form.datetime.component';
21
+ import { FormFileComponent } from './components/form/file/form.file.component';
22
+ import { FormIconComponent } from './components/form/icon/form.icon.component';
23
+ import { FormComponent } from './components/form/index/form.component';
24
+ import { FormLabelComponent } from './components/form/label/form.label.component';
25
+ import { FormPlaqueSelectComponent } from './components/form/plaque/select/form.plaque.select.component';
26
+ import { FormPlaqueComponent } from './components/form/plaque/form.plaque.component';
27
+ import { FormRadioComponent } from './components/form/radio/form.radio.component';
28
+ import { FormSelectItemComponent } from './components/form/select/item/form.select.item.component';
29
+ import { FormSelectComponent } from './components/form/select/form.select.component';
30
+ import { FormTableComponent } from './components/form/table/form.table.component';
31
+ import { FormTextareaComponent } from './components/form/textarea/form.textarea.component';
32
+ import { FormTextboxComponent } from './components/form/textbox/form.textbox.component';
33
+ import { FormTimeComponent } from './components/form/time/form.time.component';
34
+ import { FormTreeItemComponent } from './components/form/tree/item/form.tree.item.component';
35
+ import { FormTreeComponent } from './components/form/tree/form.tree.component';
36
+ import { AlertComponent } from './components/alert/alert.component';
37
+ import { ConfirmComponent } from './components/confirm/confirm.component';
38
+ import { NotfoundComponent } from './components/notfound/notfound.component';
39
+ import { ErrorComponent } from './components/error/error.component';
40
+ import { FormFingerComponent } from './components/form/finger/form.finger.component';
41
+ import { FormVehicleSearchComponent } from './components/form/vehicle/search/form.vehicle.search.component';
42
+ import { FormVehicleComponent } from './components/form/vehicle/form.vehicle.component';
43
+ import { RouterModule } from '@angular/router';
44
+ import { FormsModule } from '@angular/forms';
45
+ import { CommonModule } from '@angular/common';
46
+ import { SafeStylePipe } from './classes/safestyle.class';
47
+ import { LoginComponent } from './components/login/login.component';
48
+ import { LoadingComponent } from './components/loading/loading.component';
49
+ import { NotificationComponent } from './components/notification/notification.component';
50
+ import { LayoutComponent } from './components/layout/layout.component';
51
+ import { FormHiddenComponent } from './components/form/hidden/form.hidden.component';
52
+ import { CalendarComponent } from './components/calendar/calendar.component';
53
+ import { ClockComponent } from './components/clock/clock.component';
54
+ import { ChartComponent } from './components/chart/chart.component';
55
+ import { SafeHtmlPipe } from './classes/safehtml.class';
56
+ import { FormStarComponent } from './components/form/star/form.star.component';
57
+ import { FormTagComponent } from './components/form/tag/form.tag.component';
58
+ import { FormCkeditorComponent } from './components/form/ckeditor/form.ckeditor.component';
59
+ import { CKEditorModule } from 'ckeditor4-angular';
60
+ import { FormToggleComponent } from './components/form/toggle/form.toggle.component';
61
+ import { FormUploaderComponent } from './components/form/uploader/form.uploader.component';
62
+ import { FormSlideComponent } from './components/form/slide/form.slide.component';
63
+ export class PsToolkitUiModule {
64
+ static forRoot(config) {
65
+ return {
66
+ ngModule: PsToolkitUiModule,
67
+ providers: [
68
+ { provide: PsToolkitUiConfigService, useValue: config }
69
+ ]
70
+ };
71
+ }
72
+ }
73
+ PsToolkitUiModule.decorators = [
74
+ { type: NgModule, args: [{
75
+ declarations: [
76
+ FormSelectItemComponent, FormCheckboxComponent, TablePaginationComponent, FormBankCardComponent, SidebarItemComponent, SidebarComponent,
77
+ FormDateComponent, FormPlaqueSelectComponent, TableLoadingComponent, FormTreeItemComponent, FormTextboxComponent, FormTextareaComponent,
78
+ FormIconComponent, FormButtonComponent, FormDatetimeComponent, FormPlaqueComponent, SubHeaderComponent, FooterComponent, StepsComponent,
79
+ FormFileComponent, FormSelectComponent, FormTableComponent, FormLabelComponent, AccordionComponent, FormRadioComponent, HeaderComponent,
80
+ TooltipComponent, ConfirmComponent, TableComponent, ModalComponent, FormComponent, TableRowComponent, FormTreeComponent, AlertComponent,
81
+ FormTimeComponent, NotificationComponent, FormFingerComponent, FormVehicleSearchComponent, FormCkeditorComponent, FormUploaderComponent,
82
+ LayoutComponent, LoadingComponent, NotfoundComponent, FormVehicleComponent, FormHiddenComponent, CalendarComponent, FormToggleComponent,
83
+ ClockComponent, ChartComponent, FormTagComponent, ErrorComponent, LoginComponent, FormStarComponent, FormSlideComponent,
84
+ SafeStylePipe, SafeHtmlPipe,
85
+ ],
86
+ imports: [
87
+ CommonModule,
88
+ RouterModule,
89
+ FormsModule,
90
+ CKEditorModule
91
+ ],
92
+ providers: [],
93
+ exports: [
94
+ FormSelectItemComponent, FormCheckboxComponent, TablePaginationComponent, FormBankCardComponent, SidebarItemComponent, SidebarComponent,
95
+ FormDateComponent, FormPlaqueSelectComponent, TableLoadingComponent, FormTreeItemComponent, FormTextboxComponent, FormTextareaComponent,
96
+ FormIconComponent, FormButtonComponent, FormDatetimeComponent, FormPlaqueComponent, SubHeaderComponent, FooterComponent, StepsComponent,
97
+ FormFileComponent, FormSelectComponent, FormTableComponent, FormLabelComponent, AccordionComponent, FormRadioComponent, HeaderComponent,
98
+ TooltipComponent, ConfirmComponent, TableComponent, ModalComponent, FormComponent, TableRowComponent, FormTreeComponent, AlertComponent,
99
+ FormTimeComponent, NotificationComponent, FormFingerComponent, FormVehicleSearchComponent, FormCkeditorComponent, FormUploaderComponent,
100
+ LayoutComponent, LoadingComponent, NotfoundComponent, FormVehicleComponent, FormHiddenComponent, CalendarComponent, FormToggleComponent,
101
+ ClockComponent, ChartComponent, FormTagComponent, ErrorComponent, LoginComponent, FormStarComponent, FormSlideComponent,
102
+ ]
103
+ },] }
104
+ ];
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHMtdG9vbGtpdC11aS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiRDovUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL3BzLXRvb2xraXQtdWkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0IsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNoRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUNsRyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDbEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDM0YsT0FBTyxFQUFDLG1CQUFtQixF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Z0IsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQjtpQkFDeEg7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1BzVG9vbGtpdFVpQ29uZmlnU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7QWNjb3JkaW9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvb3RlckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtIZWFkZXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TW9kYWxDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1NpZGViYXJJdGVtQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvc2lkZWJhci9pdGVtL3NpZGViYXIuaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1NpZGViYXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtTdGVwc0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3N0ZXBzL3N0ZXBzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U3ViSGVhZGVyQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvaGVhZGVyL3N1Yi9zdWIuaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VGFibGVMb2FkaW5nQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvbG9hZGluZy90YWJsZS5sb2FkaW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VGFibGVQYWdpbmF0aW9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvcGFnaW5hdGlvbi90YWJsZS5wYWdpbmF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VGFibGVSb3dDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS9yb3cvdGFibGUucm93LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VGFibGVDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1Rvb2x0aXBDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcclxuaW1wb3J0IHtGb3JtQmFua0NhcmRDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL2JhbmstY2FyZC9mb3JtLmJhbmstY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1CdXR0b25Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL2J1dHRvbi9mb3JtLmJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1DaGVja2JveENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vY2hlY2tib3gvZm9ybS5jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1EYXRlQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS9kYXRlL2Zvcm0uZGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1EYXRldGltZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vZGF0ZXRpbWUvZm9ybS5kYXRldGltZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1GaWxlQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS9maWxlL2Zvcm0uZmlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1JY29uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS9pY29uL2Zvcm0uaWNvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL2luZGV4L2Zvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHtGb3JtTGFiZWxDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL2xhYmVsL2Zvcm0ubGFiZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHtGb3JtUGxhcXVlU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS9wbGFxdWUvc2VsZWN0L2Zvcm0ucGxhcXVlLnNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1QbGFxdWVDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL3BsYXF1ZS9mb3JtLnBsYXF1ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1SYWRpb0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vcmFkaW8vZm9ybS5yYWRpby5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1TZWxlY3RJdGVtQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS9zZWxlY3QvaXRlbS9mb3JtLnNlbGVjdC5pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybVNlbGVjdENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L2Zvcm0uc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybVRhYmxlQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS90YWJsZS9mb3JtLnRhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybVRleHRhcmVhQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS90ZXh0YXJlYS9mb3JtLnRleHRhcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybVRleHRib3hDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL3RleHRib3gvZm9ybS50ZXh0Ym94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybVRpbWVDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL3RpbWUvZm9ybS50aW1lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybVRyZWVJdGVtQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS90cmVlL2l0ZW0vZm9ybS50cmVlLml0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHtGb3JtVHJlZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vdHJlZS9mb3JtLnRyZWUuY29tcG9uZW50JztcclxuaW1wb3J0IHtBbGVydENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Q29uZmlybUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm0vY29uZmlybS5jb21wb25lbnQnO1xyXG5pbXBvcnQge05vdGZvdW5kQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvbm90Zm91bmQvbm90Zm91bmQuY29tcG9uZW50JztcclxuaW1wb3J0IHtFcnJvckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Vycm9yL2Vycm9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybUZpbmdlckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vZmluZ2VyL2Zvcm0uZmluZ2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybVZlaGljbGVTZWFyY2hDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL3ZlaGljbGUvc2VhcmNoL2Zvcm0udmVoaWNsZS5zZWFyY2guY29tcG9uZW50JztcclxuaW1wb3J0IHtGb3JtVmVoaWNsZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vdmVoaWNsZS9mb3JtLnZlaGljbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7U2FmZVN0eWxlUGlwZX0gZnJvbSAnLi9jbGFzc2VzL3NhZmVzdHlsZS5jbGFzcyc7XHJcbmltcG9ydCB7TG9naW5Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0xvYWRpbmdDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHtOb3RpZmljYXRpb25Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TGF5b3V0Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvbGF5b3V0L2xheW91dC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1IaWRkZW5Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL2hpZGRlbi9mb3JtLmhpZGRlbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0NhbGVuZGFyQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvY2FsZW5kYXIvY2FsZW5kYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtDbG9ja0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Nsb2NrL2Nsb2NrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Q2hhcnRDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9jaGFydC9jaGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1NhZmVIdG1sUGlwZX0gZnJvbSAnLi9jbGFzc2VzL3NhZmVodG1sLmNsYXNzJztcclxuaW1wb3J0IHtGb3JtU3RhckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vc3Rhci9mb3JtLnN0YXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtGb3JtVGFnQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS90YWcvZm9ybS50YWcuY29tcG9uZW50JztcclxuaW1wb3J0IHtGb3JtQ2tlZGl0b3JDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL2NrZWRpdG9yL2Zvcm0uY2tlZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHtDS0VkaXRvck1vZHVsZX0gZnJvbSAnY2tlZGl0b3I0LWFuZ3VsYXInO1xyXG5pbXBvcnQge0Zvcm1Ub2dnbGVDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL3RvZ2dsZS9mb3JtLnRvZ2dsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1VcGxvYWRlckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vdXBsb2FkZXIvZm9ybS51cGxvYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1TbGlkZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vc2xpZGUvZm9ybS5zbGlkZS5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEZvcm1TZWxlY3RJdGVtQ29tcG9uZW50LCBGb3JtQ2hlY2tib3hDb21wb25lbnQsIFRhYmxlUGFnaW5hdGlvbkNvbXBvbmVudCwgRm9ybUJhbmtDYXJkQ29tcG9uZW50LCBTaWRlYmFySXRlbUNvbXBvbmVudCwgU2lkZWJhckNvbXBvbmVudCxcclxuICAgIEZvcm1EYXRlQ29tcG9uZW50LCBGb3JtUGxhcXVlU2VsZWN0Q29tcG9uZW50LCBUYWJsZUxvYWRpbmdDb21wb25lbnQsIEZvcm1UcmVlSXRlbUNvbXBvbmVudCwgRm9ybVRleHRib3hDb21wb25lbnQsIEZvcm1UZXh0YXJlYUNvbXBvbmVudCxcclxuICAgIEZvcm1JY29uQ29tcG9uZW50LCBGb3JtQnV0dG9uQ29tcG9uZW50LCBGb3JtRGF0ZXRpbWVDb21wb25lbnQsIEZvcm1QbGFxdWVDb21wb25lbnQsIFN1YkhlYWRlckNvbXBvbmVudCwgRm9vdGVyQ29tcG9uZW50LCBTdGVwc0NvbXBvbmVudCxcclxuICAgIEZvcm1GaWxlQ29tcG9uZW50LCBGb3JtU2VsZWN0Q29tcG9uZW50LCBGb3JtVGFibGVDb21wb25lbnQsIEZvcm1MYWJlbENvbXBvbmVudCwgQWNjb3JkaW9uQ29tcG9uZW50LCBGb3JtUmFkaW9Db21wb25lbnQsIEhlYWRlckNvbXBvbmVudCxcclxuICAgIFRvb2x0aXBDb21wb25lbnQsIENvbmZpcm1Db21wb25lbnQsIFRhYmxlQ29tcG9uZW50LCBNb2RhbENvbXBvbmVudCwgRm9ybUNvbXBvbmVudCwgVGFibGVSb3dDb21wb25lbnQsIEZvcm1UcmVlQ29tcG9uZW50LCBBbGVydENvbXBvbmVudCxcclxuICAgIEZvcm1UaW1lQ29tcG9uZW50LCBOb3RpZmljYXRpb25Db21wb25lbnQsIEZvcm1GaW5nZXJDb21wb25lbnQsIEZvcm1WZWhpY2xlU2VhcmNoQ29tcG9uZW50LCBGb3JtQ2tlZGl0b3JDb21wb25lbnQsIEZvcm1VcGxvYWRlckNvbXBvbmVudCxcclxuICAgIExheW91dENvbXBvbmVudCwgTG9hZGluZ0NvbXBvbmVudCwgTm90Zm91bmRDb21wb25lbnQsIEZvcm1WZWhpY2xlQ29tcG9uZW50LCBGb3JtSGlkZGVuQ29tcG9uZW50LCBDYWxlbmRhckNvbXBvbmVudCwgRm9ybVRvZ2dsZUNvbXBvbmVudCxcclxuICAgIENsb2NrQ29tcG9uZW50LCBDaGFydENvbXBvbmVudCwgRm9ybVRhZ0NvbXBvbmVudCwgRXJyb3JDb21wb25lbnQsIExvZ2luQ29tcG9uZW50LCBGb3JtU3RhckNvbXBvbmVudCwgRm9ybVNsaWRlQ29tcG9uZW50LFxyXG4gICAgU2FmZVN0eWxlUGlwZSwgU2FmZUh0bWxQaXBlLFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBDS0VkaXRvck1vZHVsZVxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBGb3JtU2VsZWN0SXRlbUNvbXBvbmVudCwgRm9ybUNoZWNrYm94Q29tcG9uZW50LCBUYWJsZVBhZ2luYXRpb25Db21wb25lbnQsIEZvcm1CYW5rQ2FyZENvbXBvbmVudCwgU2lkZWJhckl0ZW1Db21wb25lbnQsIFNpZGViYXJDb21wb25lbnQsXHJcbiAgICBGb3JtRGF0ZUNvbXBvbmVudCwgRm9ybVBsYXF1ZVNlbGVjdENvbXBvbmVudCwgVGFibGVMb2FkaW5nQ29tcG9uZW50LCBGb3JtVHJlZUl0ZW1Db21wb25lbnQsIEZvcm1UZXh0Ym94Q29tcG9uZW50LCBGb3JtVGV4dGFyZWFDb21wb25lbnQsXHJcbiAgICBGb3JtSWNvbkNvbXBvbmVudCwgRm9ybUJ1dHRvbkNvbXBvbmVudCwgRm9ybURhdGV0aW1lQ29tcG9uZW50LCBGb3JtUGxhcXVlQ29tcG9uZW50LCBTdWJIZWFkZXJDb21wb25lbnQsIEZvb3RlckNvbXBvbmVudCwgU3RlcHNDb21wb25lbnQsXHJcbiAgICBGb3JtRmlsZUNvbXBvbmVudCwgRm9ybVNlbGVjdENvbXBvbmVudCwgRm9ybVRhYmxlQ29tcG9uZW50LCBGb3JtTGFiZWxDb21wb25lbnQsIEFjY29yZGlvbkNvbXBvbmVudCwgRm9ybVJhZGlvQ29tcG9uZW50LCBIZWFkZXJDb21wb25lbnQsXHJcbiAgICBUb29sdGlwQ29tcG9uZW50LCBDb25maXJtQ29tcG9uZW50LCBUYWJsZUNvbXBvbmVudCwgTW9kYWxDb21wb25lbnQsIEZvcm1Db21wb25lbnQsIFRhYmxlUm93Q29tcG9uZW50LCBGb3JtVHJlZUNvbXBvbmVudCwgQWxlcnRDb21wb25lbnQsXHJcbiAgICBGb3JtVGltZUNvbXBvbmVudCwgTm90aWZpY2F0aW9uQ29tcG9uZW50LCBGb3JtRmluZ2VyQ29tcG9uZW50LCBGb3JtVmVoaWNsZVNlYXJjaENvbXBvbmVudCwgRm9ybUNrZWRpdG9yQ29tcG9uZW50LCBGb3JtVXBsb2FkZXJDb21wb25lbnQsXHJcbiAgICBMYXlvdXRDb21wb25lbnQsIExvYWRpbmdDb21wb25lbnQsIE5vdGZvdW5kQ29tcG9uZW50LCBGb3JtVmVoaWNsZUNvbXBvbmVudCwgRm9ybUhpZGRlbkNvbXBvbmVudCwgQ2FsZW5kYXJDb21wb25lbnQsIEZvcm1Ub2dnbGVDb21wb25lbnQsXHJcbiAgICBDbG9ja0NvbXBvbmVudCwgQ2hhcnRDb21wb25lbnQsIEZvcm1UYWdDb21wb25lbnQsIEVycm9yQ29tcG9uZW50LCBMb2dpbkNvbXBvbmVudCwgRm9ybVN0YXJDb21wb25lbnQsIEZvcm1TbGlkZUNvbXBvbmVudCxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQc1Rvb2xraXRVaU1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBhbnkpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFBzVG9vbGtpdFVpTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogUHNUb29sa2l0VWlNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtwcm92aWRlOiBQc1Rvb2xraXRVaUNvbmZpZ1NlcnZpY2UsIHVzZVZhbHVlOiBjb25maWcgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG5cclxuIl19
@@ -0,0 +1,14 @@
1
+ import { Inject } from '@angular/core';
2
+ export class PsToolkitUiConfigService {
3
+ constructor(environment, strings, currentLang) {
4
+ this.environment = environment;
5
+ this.strings = strings;
6
+ this.currentLang = currentLang;
7
+ }
8
+ }
9
+ PsToolkitUiConfigService.ctorParameters = () => [
10
+ { type: undefined, decorators: [{ type: Inject, args: ['environment',] }] },
11
+ { type: undefined, decorators: [{ type: Inject, args: ['strings',] }] },
12
+ { type: String, decorators: [{ type: Inject, args: ['currentLang',] }] }
13
+ ];
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiRDovUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFckMsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUEwQyxXQUFnQixFQUNwQixPQUFZLEVBQ1IsV0FBbUI7UUFGbkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFDcEIsWUFBTyxHQUFQLE9BQU8sQ0FBSztRQUNSLGdCQUFXLEdBQVgsV0FBVyxDQUFRO0lBQzdELENBQUM7Ozs0Q0FIWSxNQUFNLFNBQUMsYUFBYTs0Q0FDcEIsTUFBTSxTQUFDLFNBQVM7eUNBQ2hCLE1BQU0sU0FBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFBzVG9vbGtpdFVpQ29uZmlnU2VydmljZXtcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KCdlbnZpcm9ubWVudCcpIHB1YmxpYyBlbnZpcm9ubWVudDogYW55LFxyXG4gICAgICAgICAgICAgIEBJbmplY3QoJ3N0cmluZ3MnKSBwdWJsaWMgc3RyaW5nczogYW55LFxyXG4gICAgICAgICAgICAgIEBJbmplY3QoJ2N1cnJlbnRMYW5nJykgcHVibGljIGN1cnJlbnRMYW5nOiBzdHJpbmcpIHtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,21 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ export class SidebarService {
4
+ constructor() {
5
+ this.countSource = new BehaviorSubject(0);
6
+ this.countAllSource = new BehaviorSubject(0);
7
+ this.currentCount = this.countSource.asObservable();
8
+ this.currentCountAll = this.countAllSource.asObservable();
9
+ }
10
+ changeCount(count) {
11
+ this.countSource.next(count);
12
+ }
13
+ changeCountAll(countAll) {
14
+ this.countAllSource.next(countAll);
15
+ }
16
+ }
17
+ SidebarService.decorators = [
18
+ { type: Injectable }
19
+ ];
20
+ SidebarService.ctorParameters = () => [];
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkQ6L1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9zaWRlYmFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBR3JDLE1BQU0sT0FBTyxjQUFjO0lBTXpCO1FBTFEsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hELGlCQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMvQyxvQkFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFckMsQ0FBQztJQUVqQixXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ0QsY0FBYyxDQUFDLFFBQWdCO1FBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OztZQWRGLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTaWRlYmFyU2VydmljZXtcclxuICBwcml2YXRlIGNvdW50U291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcclxuICBwcml2YXRlIGNvdW50QWxsU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcclxuICBjdXJyZW50Q291bnQgPSB0aGlzLmNvdW50U291cmNlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIGN1cnJlbnRDb3VudEFsbCA9IHRoaXMuY291bnRBbGxTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIGNoYW5nZUNvdW50KGNvdW50OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuY291bnRTb3VyY2UubmV4dChjb3VudCk7XHJcbiAgfVxyXG4gIGNoYW5nZUNvdW50QWxsKGNvdW50QWxsOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuY291bnRBbGxTb3VyY2UubmV4dChjb3VudEFsbCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ export { SafeHtmlPipe as ɵp } from './lib/classes/safehtml.class';
6
+ export { SafeStylePipe as ɵo } from './lib/classes/safestyle.class';
7
+ export { CalendarComponent as ɵj } from './lib/components/calendar/calendar.component';
8
+ export { ChartComponent as ɵl } from './lib/components/chart/chart.component';
9
+ export { ClockComponent as ɵk } from './lib/components/clock/clock.component';
10
+ export { FormHiddenComponent as ɵi } from './lib/components/form/hidden/form.hidden.component';
11
+ export { FormSelectItemComponent as ɵa } from './lib/components/form/select/item/form.select.item.component';
12
+ export { FormTagComponent as ɵm } from './lib/components/form/tag/form.tag.component';
13
+ export { FormTreeItemComponent as ɵf } from './lib/components/form/tree/item/form.tree.item.component';
14
+ export { LoginComponent as ɵn } from './lib/components/login/login.component';
15
+ export { NotificationComponent as ɵh } from './lib/components/notification/notification.component';
16
+ export { SidebarItemComponent as ɵc } from './lib/components/sidebar/item/sidebar.item.component';
17
+ export { TableLoadingComponent as ɵe } from './lib/components/table/loading/table.loading.component';
18
+ export { TablePaginationComponent as ɵb } from './lib/components/table/pagination/table.pagination.component';
19
+ export { TableRowComponent as ɵg } from './lib/components/table/row/table.row.component';
20
+ export { PsToolkitUiConfigService as ɵd } from './lib/services/config.service';
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHMtdG9vbGtpdC11aS5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJwcy10b29sa2l0LXVpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUMzRyxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDcEYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNoRyxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDbkcsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQzVHLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUN2RixPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7U2FmZUh0bWxQaXBlIGFzIMm1cH0gZnJvbSAnLi9saWIvY2xhc3Nlcy9zYWZlaHRtbC5jbGFzcyc7XG5leHBvcnQge1NhZmVTdHlsZVBpcGUgYXMgybVvfSBmcm9tICcuL2xpYi9jbGFzc2VzL3NhZmVzdHlsZS5jbGFzcyc7XG5leHBvcnQge0NhbGVuZGFyQ29tcG9uZW50IGFzIMm1an0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQnO1xuZXhwb3J0IHtDaGFydENvbXBvbmVudCBhcyDJtWx9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvY2hhcnQvY2hhcnQuY29tcG9uZW50JztcbmV4cG9ydCB7Q2xvY2tDb21wb25lbnQgYXMgybVrfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nsb2NrL2Nsb2NrLmNvbXBvbmVudCc7XG5leHBvcnQge0Zvcm1IaWRkZW5Db21wb25lbnQgYXMgybVpfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm0vaGlkZGVuL2Zvcm0uaGlkZGVuLmNvbXBvbmVudCc7XG5leHBvcnQge0Zvcm1TZWxlY3RJdGVtQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9pdGVtL2Zvcm0uc2VsZWN0Lml0ZW0uY29tcG9uZW50JztcbmV4cG9ydCB7Rm9ybVRhZ0NvbXBvbmVudCBhcyDJtW19IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS90YWcvZm9ybS50YWcuY29tcG9uZW50JztcbmV4cG9ydCB7Rm9ybVRyZWVJdGVtQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtL3RyZWUvaXRlbS9mb3JtLnRyZWUuaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0IHtMb2dpbkNvbXBvbmVudCBhcyDJtW59IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50JztcbmV4cG9ydCB7Tm90aWZpY2F0aW9uQ29tcG9uZW50IGFzIMm1aH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1NpZGViYXJJdGVtQ29tcG9uZW50IGFzIMm1Y30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zaWRlYmFyL2l0ZW0vc2lkZWJhci5pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQge1RhYmxlTG9hZGluZ0NvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFibGUvbG9hZGluZy90YWJsZS5sb2FkaW5nLmNvbXBvbmVudCc7XG5leHBvcnQge1RhYmxlUGFnaW5hdGlvbkNvbXBvbmVudCBhcyDJtWJ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFibGUvcGFnaW5hdGlvbi90YWJsZS5wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1RhYmxlUm93Q29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvY29tcG9uZW50cy90YWJsZS9yb3cvdGFibGUucm93LmNvbXBvbmVudCc7XG5leHBvcnQge1BzVG9vbGtpdFVpQ29uZmlnU2VydmljZSBhcyDJtWR9IGZyb20gJy4vbGliL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJzsiXX0=