@inspark/inspark-components 1.0.44 → 14.0.1

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 (252) hide show
  1. package/full/components/autocomplete/autocomplete.component.d.ts +12 -1
  2. package/full/components/breadcrumb/breadcrumb.component.d.ts +3 -0
  3. package/full/components/button/button.component.d.ts +5 -1
  4. package/full/components/checkbox/checkbox.component.d.ts +3 -0
  5. package/full/components/communication.service.d.ts +3 -0
  6. package/full/components/component-container/component-container.component.d.ts +3 -0
  7. package/full/components/content-toggle/content-toggle.component.d.ts +3 -0
  8. package/full/components/dropdown/dropdown.component.d.ts +65 -13
  9. package/full/components/empty/empty.component.d.ts +3 -0
  10. package/full/components/file/file.component.d.ts +3 -0
  11. package/full/components/header/header.component.d.ts +3 -0
  12. package/full/components/inline-message/inline-message.component.d.ts +3 -0
  13. package/full/components/input-group/input-group.component.d.ts +3 -0
  14. package/full/components/input-text/input-text.component.d.ts +3 -0
  15. package/full/components/inspark.module.d.ts +47 -0
  16. package/full/components/inspark.shared.d.ts +3 -0
  17. package/full/components/link/link.component.d.ts +5 -1
  18. package/full/components/modal-input-text/modal-input-text.component.d.ts +4 -1
  19. package/full/components/object-tree/object-tree.component.d.ts +3 -0
  20. package/full/components/panel/panel.component.d.ts +3 -0
  21. package/full/components/pie/pie.component.d.ts +3 -0
  22. package/full/components/pie/pie.service.d.ts +3 -0
  23. package/full/components/preloader/preloader.component.d.ts +3 -0
  24. package/full/components/primeng.module.d.ts +5 -0
  25. package/full/components/radiobutton/radiobutton.component.d.ts +3 -0
  26. package/full/components/select-button/select-button.component.d.ts +3 -0
  27. package/full/components/select-list/select-list.component.d.ts +4 -1
  28. package/full/components/status-circle/status-circle.component.d.ts +3 -0
  29. package/full/components/sticky/sticky.component.d.ts +3 -0
  30. package/full/components/svg/svg.component.d.ts +4 -1
  31. package/full/components/switcher/switcher.component.d.ts +3 -0
  32. package/full/components/table/table-click-outside.directive.d.ts +3 -0
  33. package/full/components/table/table-columns-multiselect/table-columns-multiselect.component.d.ts +3 -0
  34. package/full/components/table/table-menu-overlay/table-menu-overlay.component.d.ts +3 -0
  35. package/full/components/table/table.component.d.ts +18 -0
  36. package/full/components/textarea/textarea.component.d.ts +3 -0
  37. package/full/components/toolbar/toolbar.component.d.ts +3 -0
  38. package/full/components/tooltip/tooltip.component.d.ts +3 -0
  39. package/full/components/tree-table/tree-table.component.d.ts +12 -0
  40. package/full/esm2020/components/autocomplete/autocomplete.component.mjs +220 -0
  41. package/full/esm2020/components/breadcrumb/breadcrumb.component.mjs +20 -0
  42. package/full/esm2020/components/button/button.component.mjs +160 -0
  43. package/full/esm2020/components/checkbox/checkbox.component.mjs +89 -0
  44. package/full/esm2020/components/communication.service.mjs +25 -0
  45. package/full/esm2020/components/component-container/component-container.component.mjs +17 -0
  46. package/full/esm2020/components/content-toggle/content-toggle.component.mjs +49 -0
  47. package/full/esm2020/components/dropdown/dropdown.component.mjs +328 -0
  48. package/full/esm2020/components/empty/empty.component.mjs +12 -0
  49. package/full/esm2020/components/file/file.component.mjs +53 -0
  50. package/full/esm2020/components/header/header.component.mjs +23 -0
  51. package/full/esm2020/components/inline-message/inline-message.component.mjs +20 -0
  52. package/full/esm2020/components/input-group/input-group.component.mjs +163 -0
  53. package/full/esm2020/components/input-text/input-text.component.mjs +149 -0
  54. package/full/esm2020/components/inspark.module.mjs +239 -0
  55. package/full/esm2020/components/inspark.shared.mjs +25 -0
  56. package/full/esm2020/components/link/link.component.mjs +131 -0
  57. package/full/esm2020/components/modal-input-text/modal-input-text.component.mjs +88 -0
  58. package/full/esm2020/components/object-tree/object-tree.component.mjs +14 -0
  59. package/full/esm2020/components/panel/panel.component.mjs +11 -0
  60. package/full/esm2020/components/pie/pie.component.mjs +44 -0
  61. package/full/esm2020/components/pie/pie.service.mjs +55 -0
  62. package/full/esm2020/components/preloader/preloader.component.mjs +25 -0
  63. package/full/esm2020/components/primeng.module.mjs +22 -0
  64. package/full/esm2020/components/radiobutton/radiobutton.component.mjs +50 -0
  65. package/full/esm2020/components/select-button/select-button.component.mjs +147 -0
  66. package/full/esm2020/components/select-list/select-list.component.mjs +55 -0
  67. package/full/esm2020/components/status-circle/status-circle.component.mjs +36 -0
  68. package/full/esm2020/components/sticky/sticky.component.mjs +64 -0
  69. package/full/esm2020/components/svg/svg.component.mjs +28 -0
  70. package/full/esm2020/components/switcher/switcher.component.mjs +123 -0
  71. package/full/esm2020/components/table/table-click-outside.directive.mjs +31 -0
  72. package/full/esm2020/components/table/table-columns-multiselect/table-columns-multiselect.component.mjs +32 -0
  73. package/full/esm2020/components/table/table-menu-overlay/table-menu-overlay.component.mjs +26 -0
  74. package/full/esm2020/components/table/table.component.mjs +472 -0
  75. package/full/esm2020/components/textarea/textarea.component.mjs +87 -0
  76. package/full/esm2020/components/toolbar/toolbar.component.mjs +30 -0
  77. package/full/esm2020/components/tooltip/tooltip.component.mjs +14 -0
  78. package/full/esm2020/components/tree-table/tree-table.component.mjs +206 -0
  79. package/full/esm2020/inspark-inspark-components.mjs +5 -0
  80. package/full/esm2020/interface.mjs +2 -0
  81. package/full/esm2020/pipes/pipes.module.mjs +19 -0
  82. package/full/esm2020/pipes/propertyValue.pipe.mjs +25 -0
  83. package/full/esm2020/pipes/safeUrl.pipe.mjs +36 -0
  84. package/full/esm2020/pipes/sort-by.pipe.mjs +28 -0
  85. package/full/esm2020/pipes/time.pipe.mjs +206 -0
  86. package/full/esm2020/public_api.mjs +60 -0
  87. package/full/esm2020/services/inspark-dialog.service.mjs +52 -0
  88. package/full/esm2020/services/inspark-message.service.mjs +71 -0
  89. package/full/esm2020/utils/gettextMarker.function.mjs +5 -0
  90. package/full/esm2020/utils/hybrid/prime-table/row-state.enum.mjs +9 -0
  91. package/full/esm2020/utils/hybrid/prime-table/table-row-data.model.mjs +2 -0
  92. package/full/fesm2015/inspark-inspark-components.mjs +3574 -0
  93. package/full/fesm2015/inspark-inspark-components.mjs.map +1 -0
  94. package/full/fesm2020/inspark-inspark-components.mjs +3577 -0
  95. package/full/fesm2020/inspark-inspark-components.mjs.map +1 -0
  96. package/full/index.css +1265 -3352
  97. package/{interface/inspark-inspark-components.d.ts → full/index.d.ts} +1 -0
  98. package/full/index.js +1 -1
  99. package/full/interface.d.ts +1 -1
  100. package/full/package.json +26 -16
  101. package/full/pipes/pipes.module.d.ts +8 -0
  102. package/full/pipes/propertyValue.pipe.d.ts +3 -0
  103. package/full/pipes/safeUrl.pipe.d.ts +3 -0
  104. package/full/pipes/sort-by.pipe.d.ts +3 -0
  105. package/full/pipes/time.pipe.d.ts +9 -0
  106. package/full/public_api.d.ts +15 -1
  107. package/full/services/inspark-dialog.service.d.ts +4 -2
  108. package/full/services/inspark-message.service.d.ts +3 -0
  109. package/interface/esm2020/inspark-inspark-components.mjs +5 -0
  110. package/interface/esm2020/interface.mjs +2 -0
  111. package/interface/esm2020/public_api.mjs +5 -0
  112. package/interface/fesm2015/inspark-inspark-components.mjs +8 -0
  113. package/interface/fesm2015/inspark-inspark-components.mjs.map +1 -0
  114. package/interface/fesm2020/inspark-inspark-components.mjs +8 -0
  115. package/interface/fesm2020/inspark-inspark-components.mjs.map +1 -0
  116. package/interface/index.d.ts +5 -0
  117. package/interface/interface.d.ts +1 -1
  118. package/interface/package.json +26 -16
  119. package/package.json +1 -1
  120. package/full/bundles/inspark-inspark-components.umd.js +0 -4622
  121. package/full/bundles/inspark-inspark-components.umd.js.map +0 -1
  122. package/full/bundles/inspark-inspark-components.umd.min.js +0 -16
  123. package/full/bundles/inspark-inspark-components.umd.min.js.map +0 -1
  124. package/full/esm2015/components/autocomplete/autocomplete.component.js +0 -310
  125. package/full/esm2015/components/breadcrumb/breadcrumb.component.js +0 -23
  126. package/full/esm2015/components/button/button.component.js +0 -217
  127. package/full/esm2015/components/checkbox/checkbox.component.js +0 -104
  128. package/full/esm2015/components/communication.service.js +0 -24
  129. package/full/esm2015/components/component-container/component-container.component.js +0 -20
  130. package/full/esm2015/components/content-toggle/content-toggle.component.js +0 -66
  131. package/full/esm2015/components/dropdown/dropdown.component.js +0 -353
  132. package/full/esm2015/components/empty/empty.component.js +0 -13
  133. package/full/esm2015/components/file/file.component.js +0 -65
  134. package/full/esm2015/components/header/header.component.js +0 -30
  135. package/full/esm2015/components/inline-message/inline-message.component.js +0 -25
  136. package/full/esm2015/components/input-group/input-group.component.js +0 -197
  137. package/full/esm2015/components/input-text/input-text.component.js +0 -198
  138. package/full/esm2015/components/inspark.module.js +0 -137
  139. package/full/esm2015/components/inspark.shared.js +0 -30
  140. package/full/esm2015/components/link/link.component.js +0 -164
  141. package/full/esm2015/components/modal-input-text/modal-input-text.component.js +0 -94
  142. package/full/esm2015/components/object-tree/object-tree.component.js +0 -18
  143. package/full/esm2015/components/panel/panel.component.js +0 -13
  144. package/full/esm2015/components/pie/pie.component.js +0 -59
  145. package/full/esm2015/components/pie/pie.service.js +0 -54
  146. package/full/esm2015/components/preloader/preloader.component.js +0 -34
  147. package/full/esm2015/components/primeng.module.js +0 -19
  148. package/full/esm2015/components/radiobutton/radiobutton.component.js +0 -75
  149. package/full/esm2015/components/select-button/select-button.component.js +0 -176
  150. package/full/esm2015/components/select-list/select-list.component.js +0 -60
  151. package/full/esm2015/components/status-circle/status-circle.component.js +0 -51
  152. package/full/esm2015/components/sticky/sticky.component.js +0 -82
  153. package/full/esm2015/components/svg/svg.component.js +0 -36
  154. package/full/esm2015/components/switcher/switcher.component.js +0 -148
  155. package/full/esm2015/components/table/table-click-outside.directive.js +0 -38
  156. package/full/esm2015/components/table/table-columns-multiselect/table-columns-multiselect.component.js +0 -37
  157. package/full/esm2015/components/table/table-menu-overlay/table-menu-overlay.component.js +0 -35
  158. package/full/esm2015/components/table/table.component.js +0 -535
  159. package/full/esm2015/components/textarea/textarea.component.js +0 -101
  160. package/full/esm2015/components/toolbar/toolbar.component.js +0 -40
  161. package/full/esm2015/components/tooltip/tooltip.component.js +0 -18
  162. package/full/esm2015/components/tree-table/tree-table.component.js +0 -255
  163. package/full/esm2015/inspark-inspark-components.js +0 -20
  164. package/full/esm2015/interface.js +0 -1
  165. package/full/esm2015/pipes/pipes.module.js +0 -16
  166. package/full/esm2015/pipes/propertyValue.pipe.js +0 -23
  167. package/full/esm2015/pipes/safeUrl.pipe.js +0 -37
  168. package/full/esm2015/pipes/sort-by.pipe.js +0 -26
  169. package/full/esm2015/pipes/time.pipe.js +0 -201
  170. package/full/esm2015/public_api.js +0 -45
  171. package/full/esm2015/services/inspark-dialog.service.js +0 -59
  172. package/full/esm2015/services/inspark-message.service.js +0 -73
  173. package/full/esm2015/utils/gettextMarker.function.js +0 -5
  174. package/full/esm2015/utils/hybrid/prime-table/row-state.enum.js +0 -9
  175. package/full/esm2015/utils/hybrid/prime-table/table-row-data.model.js +0 -1
  176. package/full/esm5/components/autocomplete/autocomplete.component.js +0 -318
  177. package/full/esm5/components/breadcrumb/breadcrumb.component.js +0 -24
  178. package/full/esm5/components/button/button.component.js +0 -224
  179. package/full/esm5/components/checkbox/checkbox.component.js +0 -106
  180. package/full/esm5/components/communication.service.js +0 -25
  181. package/full/esm5/components/component-container/component-container.component.js +0 -21
  182. package/full/esm5/components/content-toggle/content-toggle.component.js +0 -67
  183. package/full/esm5/components/dropdown/dropdown.component.js +0 -357
  184. package/full/esm5/components/empty/empty.component.js +0 -16
  185. package/full/esm5/components/file/file.component.js +0 -66
  186. package/full/esm5/components/header/header.component.js +0 -31
  187. package/full/esm5/components/inline-message/inline-message.component.js +0 -26
  188. package/full/esm5/components/input-group/input-group.component.js +0 -199
  189. package/full/esm5/components/input-text/input-text.component.js +0 -200
  190. package/full/esm5/components/inspark.module.js +0 -140
  191. package/full/esm5/components/inspark.shared.js +0 -31
  192. package/full/esm5/components/link/link.component.js +0 -165
  193. package/full/esm5/components/modal-input-text/modal-input-text.component.js +0 -98
  194. package/full/esm5/components/object-tree/object-tree.component.js +0 -20
  195. package/full/esm5/components/panel/panel.component.js +0 -16
  196. package/full/esm5/components/pie/pie.component.js +0 -60
  197. package/full/esm5/components/pie/pie.service.js +0 -56
  198. package/full/esm5/components/preloader/preloader.component.js +0 -35
  199. package/full/esm5/components/primeng.module.js +0 -22
  200. package/full/esm5/components/radiobutton/radiobutton.component.js +0 -76
  201. package/full/esm5/components/select-button/select-button.component.js +0 -179
  202. package/full/esm5/components/select-list/select-list.component.js +0 -62
  203. package/full/esm5/components/status-circle/status-circle.component.js +0 -52
  204. package/full/esm5/components/sticky/sticky.component.js +0 -84
  205. package/full/esm5/components/svg/svg.component.js +0 -39
  206. package/full/esm5/components/switcher/switcher.component.js +0 -150
  207. package/full/esm5/components/table/table-click-outside.directive.js +0 -39
  208. package/full/esm5/components/table/table-columns-multiselect/table-columns-multiselect.component.js +0 -38
  209. package/full/esm5/components/table/table-menu-overlay/table-menu-overlay.component.js +0 -36
  210. package/full/esm5/components/table/table.component.js +0 -554
  211. package/full/esm5/components/textarea/textarea.component.js +0 -103
  212. package/full/esm5/components/toolbar/toolbar.component.js +0 -41
  213. package/full/esm5/components/tooltip/tooltip.component.js +0 -20
  214. package/full/esm5/components/tree-table/tree-table.component.js +0 -280
  215. package/full/esm5/inspark-inspark-components.js +0 -20
  216. package/full/esm5/interface.js +0 -1
  217. package/full/esm5/pipes/pipes.module.js +0 -19
  218. package/full/esm5/pipes/propertyValue.pipe.js +0 -26
  219. package/full/esm5/pipes/safeUrl.pipe.js +0 -38
  220. package/full/esm5/pipes/sort-by.pipe.js +0 -29
  221. package/full/esm5/pipes/time.pipe.js +0 -212
  222. package/full/esm5/public_api.js +0 -45
  223. package/full/esm5/services/inspark-dialog.service.js +0 -61
  224. package/full/esm5/services/inspark-message.service.js +0 -78
  225. package/full/esm5/utils/gettextMarker.function.js +0 -5
  226. package/full/esm5/utils/hybrid/prime-table/row-state.enum.js +0 -9
  227. package/full/esm5/utils/hybrid/prime-table/table-row-data.model.js +0 -1
  228. package/full/fesm2015/inspark-inspark-components.js +0 -4174
  229. package/full/fesm2015/inspark-inspark-components.js.map +0 -1
  230. package/full/fesm5/inspark-inspark-components.js +0 -4324
  231. package/full/fesm5/inspark-inspark-components.js.map +0 -1
  232. package/full/fonts/primeicons.eot +0 -0
  233. package/full/fonts/primeicons.svg +0 -163
  234. package/full/fonts/primeicons.ttf +0 -0
  235. package/full/fonts/primeicons.woff +0 -0
  236. package/full/inspark-inspark-components.d.ts +0 -19
  237. package/full/inspark-inspark-components.metadata.json +0 -1
  238. package/interface/bundles/inspark-inspark-components.umd.js +0 -11
  239. package/interface/bundles/inspark-inspark-components.umd.js.map +0 -1
  240. package/interface/bundles/inspark-inspark-components.umd.min.js +0 -2
  241. package/interface/bundles/inspark-inspark-components.umd.min.js.map +0 -1
  242. package/interface/esm2015/inspark-inspark-components.js +0 -4
  243. package/interface/esm2015/interface.js +0 -1
  244. package/interface/esm2015/public_api.js +0 -4
  245. package/interface/esm5/inspark-inspark-components.js +0 -4
  246. package/interface/esm5/interface.js +0 -1
  247. package/interface/esm5/public_api.js +0 -4
  248. package/interface/fesm2015/inspark-inspark-components.js +0 -4
  249. package/interface/fesm2015/inspark-inspark-components.js.map +0 -1
  250. package/interface/fesm5/inspark-inspark-components.js +0 -4
  251. package/interface/fesm5/inspark-inspark-components.js.map +0 -1
  252. package/interface/inspark-inspark-components.metadata.json +0 -1
@@ -1,5 +1,6 @@
1
1
  import { EventEmitter, OnInit } from '@angular/core';
2
2
  import { TableColumns } from "../../../interface";
3
+ import * as i0 from "@angular/core";
3
4
  export declare class TableColumnsMultiselectComponent implements OnInit {
4
5
  isExpanded: boolean;
5
6
  columns: TableColumns[];
@@ -14,4 +15,6 @@ export declare class TableColumnsMultiselectComponent implements OnInit {
14
15
  }>;
15
16
  constructor();
16
17
  ngOnInit(): void;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableColumnsMultiselectComponent, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableColumnsMultiselectComponent, "in-table-columns-multiselect", never, { "columns": "columns"; "disableActiveCheckboxes": "disableActiveCheckboxes"; }, { "columnsChange": "columnsChange"; }, never, never, false>;
17
20
  }
@@ -1,8 +1,11 @@
1
1
  import { ElementRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
2
3
  export declare class TableMenuOverlayComponent {
3
4
  private element;
4
5
  isExpanded: boolean;
5
6
  positionClass: string;
6
7
  constructor(element: ElementRef);
7
8
  isClickedOutsideOverlay(event: any): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableMenuOverlayComponent, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableMenuOverlayComponent, "in-table-menu-overlay", never, { "isExpanded": "isExpanded"; "positionClass": "positionClass"; }, {}, never, ["host", "body"], false>;
8
11
  }
@@ -2,6 +2,19 @@ import { AfterContentInit, AfterViewInit, EventEmitter, OnChanges, OnInit, Query
2
2
  import { InsparkTemplate } from '../inspark.shared';
3
3
  import { TableRowData } from '../../utils/hybrid/prime-table/table-row-data.model';
4
4
  import { TableColumns } from '../../interface';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./table-columns-multiselect/table-columns-multiselect.component";
7
+ import * as i2 from "./table-menu-overlay/table-menu-overlay.component";
8
+ import * as i3 from "./table-click-outside.directive";
9
+ import * as i4 from "@angular/common";
10
+ import * as i5 from "primeng/table";
11
+ import * as i6 from "../../pipes/pipes.module";
12
+ import * as i7 from "@ngx-translate/core";
13
+ import * as i8 from "@angular/forms";
14
+ import * as i9 from "primeng/dropdown";
15
+ import * as i10 from "primeng/multiselect";
16
+ import * as i11 from "@ng-bootstrap/ng-bootstrap";
17
+ import * as i12 from "primeng/checkbox";
5
18
  export declare function tableFactory(wrapper: TableComponent): any;
6
19
  export declare class TableComponent implements OnInit, AfterContentInit, AfterViewInit, OnChanges {
7
20
  columns: TableColumns[];
@@ -103,6 +116,11 @@ export declare class TableComponent implements OnInit, AfterContentInit, AfterVi
103
116
  countGroup(groupKey: any, g: number): number;
104
117
  toggleNodes(isExpanded: boolean): void;
105
118
  toggleMode(item: any): void;
119
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableComponent, never>;
120
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent, "in-table", never, { "columns": "columns"; "values": "values"; "scrollHeight": "scrollHeight"; "scrollable": "scrollable"; "selectionMode": "selectionMode"; "label": "label"; "error": "error"; "class": "class"; "required": "required"; "style": "style"; "toolbar": "toolbar"; "checkboxSelection": "checkboxSelection"; "active": "active"; "sortField": "sortField"; "isAscending": "isAscending"; "dataKey": "dataKey"; "stateKey": "stateKey"; "isGrouped": "isGrouped"; "customSort": "customSort"; "isGroupedExpanded": "isGroupedExpanded"; "showHeader": "showHeader"; "isMobileView": "isMobileView"; "resizableColumns": "resizableColumns"; "isTextSearch": "isTextSearch"; "isSortIcon": "isSortIcon"; "selection": "selection"; }, { "activeChange": "activeChange"; "selectionChange": "selectionChange"; "addAction": "addAction"; "csvAction": "csvAction"; "saveAction": "saveAction"; "removeAction": "removeAction"; "unlinkAction": "unlinkAction"; "linkAction": "linkAction"; "groupEditAction": "groupEditAction"; "paramsEditAction": "paramsEditAction"; "sortFunction": "sortFunction"; "filterFunction": "filterFunction"; }, ["templates"], ["[buttons]"], false>;
106
121
  }
107
122
  export declare class TableComponentModule {
123
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableComponentModule, never>;
124
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TableComponentModule, [typeof TableComponent, typeof i1.TableColumnsMultiselectComponent, typeof i2.TableMenuOverlayComponent, typeof i3.TableClickOutsideDirective], [typeof i4.CommonModule, typeof i5.TableModule, typeof i6.PipesModule, typeof i7.TranslateModule, typeof i8.FormsModule, typeof i9.DropdownModule, typeof i10.MultiSelectModule, typeof i11.NgbDropdownModule, typeof i12.CheckboxModule], [typeof TableComponent, typeof i1.TableColumnsMultiselectComponent]>;
125
+ static ɵinj: i0.ɵɵInjectorDeclaration<TableComponentModule>;
108
126
  }
@@ -1,4 +1,5 @@
1
1
  import { ControlValueAccessor } from '@angular/forms';
2
+ import * as i0 from "@angular/core";
2
3
  export declare class TextareaComponent implements ControlValueAccessor {
3
4
  name: any;
4
5
  label: any;
@@ -29,4 +30,6 @@ export declare class TextareaComponent implements ControlValueAccessor {
29
30
  private propagateChange;
30
31
  onChange(_: any): void;
31
32
  private onTouched;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<TextareaComponent, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<TextareaComponent, "in-textarea", never, { "name": "name"; "label": "label"; "required": "required"; "error": "error"; "placeholder": "placeholder"; "id": "id"; "disabled": "disabled"; "minHeight": "minHeight"; "maxlength": "maxlength"; }, {}, never, never, false>;
32
35
  }
@@ -1,5 +1,6 @@
1
1
  import { ChangeDetectorRef, ElementRef, OnInit } from '@angular/core';
2
2
  import { Router } from '@angular/router';
3
+ import * as i0 from "@angular/core";
3
4
  export declare class ToolbarComponent implements OnInit {
4
5
  element: ElementRef;
5
6
  private cdRef;
@@ -11,4 +12,6 @@ export declare class ToolbarComponent implements OnInit {
11
12
  constructor(element: ElementRef, cdRef: ChangeDetectorRef, router: Router);
12
13
  ngOnInit(): void;
13
14
  clickedOutsideOverlay(event: any): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarComponent, "in-toolbar", never, { "title": "title"; }, {}, never, ["*"], false>;
14
17
  }
@@ -1,5 +1,8 @@
1
1
  import { OnInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
2
3
  export declare class TooltipComponent implements OnInit {
3
4
  constructor();
4
5
  ngOnInit(): void;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<TooltipComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<TooltipComponent, "in-tooltip", never, {}, {}, never, ["*", "tooltip_content"], false>;
5
8
  }
@@ -2,6 +2,13 @@ import { AfterContentInit, EventEmitter, QueryList, TemplateRef } from '@angular
2
2
  import { InsparkTemplate } from '../inspark.shared';
3
3
  import { TableRowData } from '../../utils/hybrid/prime-table/table-row-data.model';
4
4
  import { TableColumns } from '../../interface';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "primeng/treetable";
8
+ import * as i3 from "../../pipes/pipes.module";
9
+ import * as i4 from "@ngx-translate/core";
10
+ import * as i5 from "@angular/forms";
11
+ import * as i6 from "../table/table.component";
5
12
  export declare class TreeTableComponent implements AfterContentInit {
6
13
  columns: TableColumns[];
7
14
  values: any[];
@@ -60,6 +67,11 @@ export declare class TreeTableComponent implements AfterContentInit {
60
67
  ngAfterContentInit(): void;
61
68
  collapse(event: any, dt: any): void;
62
69
  toggleCollapse(node: any, isCollapsed: boolean): void;
70
+ static ɵfac: i0.ɵɵFactoryDeclaration<TreeTableComponent, never>;
71
+ static ɵcmp: i0.ɵɵComponentDeclaration<TreeTableComponent, "in-tree-table", never, { "columns": "columns"; "values": "values"; "scrollHeight": "scrollHeight"; "scrollable": "scrollable"; "selectionMode": "selectionMode"; "label": "label"; "error": "error"; "class": "class"; "required": "required"; "style": "style"; "toolbar": "toolbar"; "checkboxSelection": "checkboxSelection"; "active": "active"; "sortField": "sortField"; "isAscending": "isAscending"; "dataKey": "dataKey"; "selection": "selection"; }, { "activeChange": "activeChange"; "selectionChange": "selectionChange"; "addAction": "addAction"; "csvAction": "csvAction"; "saveAction": "saveAction"; "collapseAction": "collapseAction"; "removeAction": "removeAction"; "unlinkAction": "unlinkAction"; "groupEditAction": "groupEditAction"; "groupAddAction": "groupAddAction"; }, ["templates"], never, false>;
63
72
  }
64
73
  export declare class TreeTableComponentModule {
74
+ static ɵfac: i0.ɵɵFactoryDeclaration<TreeTableComponentModule, never>;
75
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TreeTableComponentModule, [typeof TreeTableComponent], [typeof i1.CommonModule, typeof i2.TreeTableModule, typeof i3.PipesModule, typeof i4.TranslateModule, typeof i5.FormsModule, typeof i6.TableComponentModule], [typeof TreeTableComponent]>;
76
+ static ɵinj: i0.ɵɵInjectorDeclaration<TreeTableComponentModule>;
65
77
  }
@@ -0,0 +1,220 @@
1
+ import { Component, ContentChildren, ElementRef, EventEmitter, forwardRef, Input, NgModule, Output, QueryList, ViewChild } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { animate, style, transition, trigger } from '@angular/animations';
5
+ import { ScrollingModule } from '@angular/cdk/scrolling';
6
+ import { PrimengComponentsModule } from '../primeng.module';
7
+ import { InsparkTemplate } from '../inspark.shared';
8
+ import { TooltipModule } from 'primeng/tooltip';
9
+ import { ButtonModule } from 'primeng/button';
10
+ import { AutoComplete } from 'primeng/autocomplete';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@angular/common";
13
+ import * as i2 from "primeng/api";
14
+ import * as i3 from "primeng/scroller";
15
+ import * as i4 from "primeng/button";
16
+ export class AutoCompleteComponent extends AutoComplete {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.minLength = 1;
20
+ this.delay = 300;
21
+ this.type = 'text';
22
+ this.autoZIndex = true;
23
+ this.baseZIndex = 0;
24
+ this.dropdownIcon = "pi pi-caret-down";
25
+ this.unique = true;
26
+ this.completeMethod = new EventEmitter();
27
+ this.onSelect = new EventEmitter();
28
+ this.onUnselect = new EventEmitter();
29
+ this.onFocus = new EventEmitter();
30
+ this.onBlur = new EventEmitter();
31
+ this.onDropdownClick = new EventEmitter();
32
+ this.onClear = new EventEmitter();
33
+ this.onKeyUp = new EventEmitter();
34
+ this.scrollHeight = '200px';
35
+ this.dropdownMode = 'blank';
36
+ this.immutable = true;
37
+ this.showTransitionOptions = '225ms ease-out';
38
+ this.hideTransitionOptions = '195ms ease-in';
39
+ this.autocomplete = 'off';
40
+ }
41
+ ngAfterContentInit() {
42
+ this.templates.forEach((item) => {
43
+ switch (item.getType()) {
44
+ case 'item':
45
+ this.itemTemplate = item.template;
46
+ break;
47
+ case 'selectedItem':
48
+ this.selectedItemTemplate = item.template;
49
+ break;
50
+ default:
51
+ this.itemTemplate = item.template;
52
+ break;
53
+ }
54
+ });
55
+ }
56
+ }
57
+ AutoCompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
58
+ AutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: AutoCompleteComponent, selector: "in-autocomplete", inputs: { minLength: "minLength", delay: "delay", style: "style", panelStyle: "panelStyle", styleClass: "styleClass", panelStyleClass: "panelStyleClass", inputStyle: "inputStyle", inputId: "inputId", inputStyleClass: "inputStyleClass", placeholder: "placeholder", readonly: "readonly", disabled: "disabled", maxlength: "maxlength", name: "name", required: "required", size: "size", appendTo: "appendTo", autoHighlight: "autoHighlight", forceSelection: "forceSelection", type: "type", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", dropdownIcon: "dropdownIcon", unique: "unique", field: "field", scrollHeight: "scrollHeight", dropdown: "dropdown", dropdownMode: "dropdownMode", multiple: "multiple", tabindex: "tabindex", dataKey: "dataKey", emptyMessage: "emptyMessage", immutable: "immutable", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", autofocus: "autofocus", autocomplete: "autocomplete" }, outputs: { completeMethod: "completeMethod", onSelect: "onSelect", onUnselect: "onUnselect", onFocus: "onFocus", onBlur: "onBlur", onDropdownClick: "onDropdownClick", onClear: "onClear", onKeyUp: "onKeyUp" }, providers: [{
59
+ provide: NG_VALUE_ACCESSOR,
60
+ useExisting: forwardRef(() => AutoCompleteComponent),
61
+ multi: true
62
+ }], queries: [{ propertyName: "templates", predicate: InsparkTemplate }], viewQueries: [{ propertyName: "inputEL", first: true, predicate: ["in"], descendants: true }, { propertyName: "multiInputEL", first: true, predicate: ["multiIn"], descendants: true }, { propertyName: "multiContainerEL", first: true, predicate: ["multiContainer"], descendants: true }, { propertyName: "dropdownButton", first: true, predicate: ["ddBtn"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span #container [ngClass]=\"{ 'p-autocomplete p-component': true, 'p-autocomplete-dd': dropdown, 'p-autocomplete-multiple': multiple }\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <input\n pAutoFocus\n [autofocus]=\"autofocus\"\n *ngIf=\"!multiple\"\n #in\n [attr.type]=\"type\"\n [attr.id]=\"inputId\"\n [ngStyle]=\"inputStyle\"\n [class]=\"inputStyleClass\"\n [autocomplete]=\"autocomplete\"\n [attr.required]=\"required\"\n [attr.name]=\"name\"\n class=\"p-autocomplete-input p-inputtext p-component\"\n [ngClass]=\"{ 'p-autocomplete-dd-input': dropdown, 'p-disabled': disabled }\"\n [value]=\"inputFieldValue\"\n aria-autocomplete=\"list\"\n role=\"searchbox\"\n (click)=\"onInputClick($event)\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeydown($event)\"\n (keyup)=\"onKeyup($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onInputChange($event)\"\n (paste)=\"onInputPaste($event)\"\n [attr.placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [attr.maxlength]=\"maxlength\"\n [attr.tabindex]=\"tabindex\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n />\n <i *ngIf=\"!multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\n <i *ngIf=\"multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\n <ul *ngIf=\"multiple\" #multiContainer class=\"p-autocomplete-multiple-container p-component p-inputtext\" [ngClass]=\"{ 'p-disabled': disabled, 'p-focus': focus }\" (click)=\"multiIn.focus()\">\n <li #token *ngFor=\"let val of value\" class=\"p-autocomplete-token\">\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: val }\"></ng-container>\n <span *ngIf=\"!selectedItemTemplate\" class=\"p-autocomplete-token-label\">{{ resolveFieldData(val) }}</span>\n <span class=\"p-autocomplete-token-icon pi pi-times-circle\" (click)=\"removeItem(token)\" *ngIf=\"!disabled && !readonly\"></span>\n </li>\n <li class=\"p-autocomplete-input-token\">\n <input\n pAutoFocus\n [autofocus]=\"autofocus\"\n #multiIn\n [attr.type]=\"type\"\n [attr.id]=\"inputId\"\n [disabled]=\"disabled\"\n [attr.placeholder]=\"value && value.length ? null : placeholder\"\n [attr.tabindex]=\"tabindex\"\n [attr.maxlength]=\"maxlength\"\n (input)=\"onInput($event)\"\n (click)=\"onInputClick($event)\"\n (keydown)=\"onKeydown($event)\"\n [readonly]=\"readonly\"\n (keyup)=\"onKeyup($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onInputChange($event)\"\n (paste)=\"onInputPaste($event)\"\n [autocomplete]=\"autocomplete\"\n [ngStyle]=\"inputStyle\"\n [class]=\"inputStyleClass\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"listId\"\n role=\"searchbox\"\n [attr.aria-expanded]=\"overlayVisible\"\n aria-haspopup=\"true\"\n [attr.aria-activedescendant]=\"'p-highlighted-option'\"\n />\n </li>\n </ul>\n <i *ngIf=\"loading\" class=\"p-autocomplete-loader pi pi-spinner pi-spin\"></i\n ><button\n #ddBtn\n type=\"button\"\n pButton\n [icon]=\"dropdownIcon\"\n [attr.aria-label]=\"dropdownAriaLabel\"\n class=\"p-autocomplete-dropdown\"\n [disabled]=\"disabled\"\n pRipple\n (click)=\"handleDropdownClick($event)\"\n *ngIf=\"dropdown\"\n [attr.tabindex]=\"tabindex\"\n></button>\n <div\n #panel\n *ngIf=\"overlayVisible\"\n (click)=\"onOverlayClick($event)\"\n [ngClass]=\"['p-autocomplete-panel p-component']\"\n [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight\"\n [ngStyle]=\"panelStyle\"\n [class]=\"panelStyleClass\"\n [@overlayAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\n >\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <p-scroller\n *ngIf=\"virtualScroll\"\n #scroller\n [items]=\"suggestions\"\n [style]=\"{ height: scrollHeight }\"\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\n [autoSize]=\"true\"\n [lazy]=\"lazy\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions\"\n >\n <ng-template pTemplate=\"content\" let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n <ng-container *ngIf=\"loaderTemplate\">\n <ng-template pTemplate=\"loader\" let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n </ng-container>\n </p-scroller>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: suggestions, options: {} }\"></ng-container>\n </ng-container>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items role=\"listbox\" [attr.id]=\"listId\" class=\"p-autocomplete-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"items\">\n <li class=\"p-autocomplete-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || 'empty' }}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup) }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: items }\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-suggestionsToDisplay>\n <li\n role=\"option\"\n *ngFor=\"let option of suggestionsToDisplay; let idx = index\"\n class=\"p-autocomplete-item\"\n pRipple\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\n [ngClass]=\"{ 'p-highlight': option === highlightOption }\"\n [id]=\"highlightOption == option ? 'p-highlighted-option' : ''\"\n (click)=\"selectItem(option)\"\n >\n <span *ngIf=\"!itemTemplate\">{{ resolveFieldData(option) }}</span>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: option, index: scrollerOptions.getOptions ? scrollerOptions.getOptions(idx) : idx }\"></ng-container>\n </li>\n </ng-template>\n <li *ngIf=\"noResults && showEmptyMessage\" class=\"p-autocomplete-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <ng-container *ngIf=\"!emptyTemplate\">\n {{ emptyMessageLabel }}\n </ng-container>\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </li>\n </ul>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </span>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3.Scroller, selector: "p-scroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "directive", type: i4.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }], animations: [trigger('overlayAnimation', [transition(':enter', [style({
63
+ opacity: 0,
64
+ transform: 'scaleY(0.8)'
65
+ }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({ opacity: 0 }))])])] });
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponent, decorators: [{
67
+ type: Component,
68
+ args: [{ selector: 'in-autocomplete', animations: [trigger('overlayAnimation', [transition(':enter', [style({
69
+ opacity: 0,
70
+ transform: 'scaleY(0.8)'
71
+ }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({ opacity: 0 }))])])], providers: [{
72
+ provide: NG_VALUE_ACCESSOR,
73
+ useExisting: forwardRef(() => AutoCompleteComponent),
74
+ multi: true
75
+ }], template: "<span #container [ngClass]=\"{ 'p-autocomplete p-component': true, 'p-autocomplete-dd': dropdown, 'p-autocomplete-multiple': multiple }\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <input\n pAutoFocus\n [autofocus]=\"autofocus\"\n *ngIf=\"!multiple\"\n #in\n [attr.type]=\"type\"\n [attr.id]=\"inputId\"\n [ngStyle]=\"inputStyle\"\n [class]=\"inputStyleClass\"\n [autocomplete]=\"autocomplete\"\n [attr.required]=\"required\"\n [attr.name]=\"name\"\n class=\"p-autocomplete-input p-inputtext p-component\"\n [ngClass]=\"{ 'p-autocomplete-dd-input': dropdown, 'p-disabled': disabled }\"\n [value]=\"inputFieldValue\"\n aria-autocomplete=\"list\"\n role=\"searchbox\"\n (click)=\"onInputClick($event)\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeydown($event)\"\n (keyup)=\"onKeyup($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onInputChange($event)\"\n (paste)=\"onInputPaste($event)\"\n [attr.placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [attr.maxlength]=\"maxlength\"\n [attr.tabindex]=\"tabindex\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n />\n <i *ngIf=\"!multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\n <i *ngIf=\"multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\n <ul *ngIf=\"multiple\" #multiContainer class=\"p-autocomplete-multiple-container p-component p-inputtext\" [ngClass]=\"{ 'p-disabled': disabled, 'p-focus': focus }\" (click)=\"multiIn.focus()\">\n <li #token *ngFor=\"let val of value\" class=\"p-autocomplete-token\">\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: val }\"></ng-container>\n <span *ngIf=\"!selectedItemTemplate\" class=\"p-autocomplete-token-label\">{{ resolveFieldData(val) }}</span>\n <span class=\"p-autocomplete-token-icon pi pi-times-circle\" (click)=\"removeItem(token)\" *ngIf=\"!disabled && !readonly\"></span>\n </li>\n <li class=\"p-autocomplete-input-token\">\n <input\n pAutoFocus\n [autofocus]=\"autofocus\"\n #multiIn\n [attr.type]=\"type\"\n [attr.id]=\"inputId\"\n [disabled]=\"disabled\"\n [attr.placeholder]=\"value && value.length ? null : placeholder\"\n [attr.tabindex]=\"tabindex\"\n [attr.maxlength]=\"maxlength\"\n (input)=\"onInput($event)\"\n (click)=\"onInputClick($event)\"\n (keydown)=\"onKeydown($event)\"\n [readonly]=\"readonly\"\n (keyup)=\"onKeyup($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onInputChange($event)\"\n (paste)=\"onInputPaste($event)\"\n [autocomplete]=\"autocomplete\"\n [ngStyle]=\"inputStyle\"\n [class]=\"inputStyleClass\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"listId\"\n role=\"searchbox\"\n [attr.aria-expanded]=\"overlayVisible\"\n aria-haspopup=\"true\"\n [attr.aria-activedescendant]=\"'p-highlighted-option'\"\n />\n </li>\n </ul>\n <i *ngIf=\"loading\" class=\"p-autocomplete-loader pi pi-spinner pi-spin\"></i\n ><button\n #ddBtn\n type=\"button\"\n pButton\n [icon]=\"dropdownIcon\"\n [attr.aria-label]=\"dropdownAriaLabel\"\n class=\"p-autocomplete-dropdown\"\n [disabled]=\"disabled\"\n pRipple\n (click)=\"handleDropdownClick($event)\"\n *ngIf=\"dropdown\"\n [attr.tabindex]=\"tabindex\"\n></button>\n <div\n #panel\n *ngIf=\"overlayVisible\"\n (click)=\"onOverlayClick($event)\"\n [ngClass]=\"['p-autocomplete-panel p-component']\"\n [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight\"\n [ngStyle]=\"panelStyle\"\n [class]=\"panelStyleClass\"\n [@overlayAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\n >\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <p-scroller\n *ngIf=\"virtualScroll\"\n #scroller\n [items]=\"suggestions\"\n [style]=\"{ height: scrollHeight }\"\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\n [autoSize]=\"true\"\n [lazy]=\"lazy\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions\"\n >\n <ng-template pTemplate=\"content\" let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n <ng-container *ngIf=\"loaderTemplate\">\n <ng-template pTemplate=\"loader\" let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n </ng-container>\n </p-scroller>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: suggestions, options: {} }\"></ng-container>\n </ng-container>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items role=\"listbox\" [attr.id]=\"listId\" class=\"p-autocomplete-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"items\">\n <li class=\"p-autocomplete-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || 'empty' }}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup) }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: items }\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-suggestionsToDisplay>\n <li\n role=\"option\"\n *ngFor=\"let option of suggestionsToDisplay; let idx = index\"\n class=\"p-autocomplete-item\"\n pRipple\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\n [ngClass]=\"{ 'p-highlight': option === highlightOption }\"\n [id]=\"highlightOption == option ? 'p-highlighted-option' : ''\"\n (click)=\"selectItem(option)\"\n >\n <span *ngIf=\"!itemTemplate\">{{ resolveFieldData(option) }}</span>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: option, index: scrollerOptions.getOptions ? scrollerOptions.getOptions(idx) : idx }\"></ng-container>\n </li>\n </ng-template>\n <li *ngIf=\"noResults && showEmptyMessage\" class=\"p-autocomplete-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <ng-container *ngIf=\"!emptyTemplate\">\n {{ emptyMessageLabel }}\n </ng-container>\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </li>\n </ul>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </span>\n" }]
76
+ }], propDecorators: { minLength: [{
77
+ type: Input
78
+ }], delay: [{
79
+ type: Input
80
+ }], style: [{
81
+ type: Input
82
+ }], panelStyle: [{
83
+ type: Input
84
+ }], styleClass: [{
85
+ type: Input
86
+ }], panelStyleClass: [{
87
+ type: Input
88
+ }], inputStyle: [{
89
+ type: Input
90
+ }], inputId: [{
91
+ type: Input
92
+ }], inputStyleClass: [{
93
+ type: Input
94
+ }], placeholder: [{
95
+ type: Input
96
+ }], readonly: [{
97
+ type: Input
98
+ }], disabled: [{
99
+ type: Input
100
+ }], maxlength: [{
101
+ type: Input
102
+ }], name: [{
103
+ type: Input
104
+ }], required: [{
105
+ type: Input
106
+ }], size: [{
107
+ type: Input
108
+ }], appendTo: [{
109
+ type: Input
110
+ }], autoHighlight: [{
111
+ type: Input
112
+ }], forceSelection: [{
113
+ type: Input
114
+ }], type: [{
115
+ type: Input
116
+ }], autoZIndex: [{
117
+ type: Input
118
+ }], baseZIndex: [{
119
+ type: Input
120
+ }], ariaLabel: [{
121
+ type: Input
122
+ }], ariaLabelledBy: [{
123
+ type: Input
124
+ }], dropdownIcon: [{
125
+ type: Input
126
+ }], unique: [{
127
+ type: Input
128
+ }], completeMethod: [{
129
+ type: Output
130
+ }], onSelect: [{
131
+ type: Output
132
+ }], onUnselect: [{
133
+ type: Output
134
+ }], onFocus: [{
135
+ type: Output
136
+ }], onBlur: [{
137
+ type: Output
138
+ }], onDropdownClick: [{
139
+ type: Output
140
+ }], onClear: [{
141
+ type: Output
142
+ }], onKeyUp: [{
143
+ type: Output
144
+ }], field: [{
145
+ type: Input
146
+ }], scrollHeight: [{
147
+ type: Input
148
+ }], dropdown: [{
149
+ type: Input
150
+ }], dropdownMode: [{
151
+ type: Input
152
+ }], multiple: [{
153
+ type: Input
154
+ }], tabindex: [{
155
+ type: Input
156
+ }], dataKey: [{
157
+ type: Input
158
+ }], emptyMessage: [{
159
+ type: Input
160
+ }], immutable: [{
161
+ type: Input
162
+ }], showTransitionOptions: [{
163
+ type: Input
164
+ }], hideTransitionOptions: [{
165
+ type: Input
166
+ }], autofocus: [{
167
+ type: Input
168
+ }], autocomplete: [{
169
+ type: Input
170
+ }], inputEL: [{
171
+ type: ViewChild,
172
+ args: ['in', { static: false }]
173
+ }], multiInputEL: [{
174
+ type: ViewChild,
175
+ args: ['multiIn', { static: false }]
176
+ }], multiContainerEL: [{
177
+ type: ViewChild,
178
+ args: ['multiContainer', { static: false }]
179
+ }], dropdownButton: [{
180
+ type: ViewChild,
181
+ args: ['ddBtn', { static: false }]
182
+ }], templates: [{
183
+ type: ContentChildren,
184
+ args: [InsparkTemplate]
185
+ }] } });
186
+ export class AutoCompleteComponentModule {
187
+ }
188
+ AutoCompleteComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
189
+ AutoCompleteComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponentModule, declarations: [AutoCompleteComponent], imports: [TooltipModule,
190
+ ScrollingModule,
191
+ CommonModule,
192
+ PrimengComponentsModule,
193
+ ButtonModule], exports: [AutoCompleteComponent] });
194
+ AutoCompleteComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponentModule, imports: [TooltipModule,
195
+ ScrollingModule,
196
+ CommonModule,
197
+ PrimengComponentsModule,
198
+ ButtonModule] });
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponentModule, decorators: [{
200
+ type: NgModule,
201
+ args: [{
202
+ declarations: [
203
+ AutoCompleteComponent,
204
+ ],
205
+ imports: [
206
+ TooltipModule,
207
+ ScrollingModule,
208
+ CommonModule,
209
+ PrimengComponentsModule,
210
+ ButtonModule,
211
+ ],
212
+ exports: [
213
+ AutoCompleteComponent,
214
+ ],
215
+ entryComponents: [
216
+ AutoCompleteComponent,
217
+ ]
218
+ }]
219
+ }] });
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUMsT0FBTyxFQUFTLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBZ0JsRCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsWUFBWTtJQWR2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ZTt3QkFDZixZQUFZO3dCQUNaLHVCQUF1Qjt3QkFDdkIsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AscUJBQXFCO3FCQUN0QjtvQkFDRCxlQUFlLEVBQUU7d0JBQ2YscUJBQXFCO3FCQUN0QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBOZ01vZHVsZSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7U2Nyb2xsaW5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7UHJpbWVuZ0NvbXBvbmVudHNNb2R1bGV9IGZyb20gJy4uL3ByaW1lbmcubW9kdWxlJztcbmltcG9ydCB7SW5zcGFya1RlbXBsYXRlfSBmcm9tICcuLi9pbnNwYXJrLnNoYXJlZCc7XG5pbXBvcnQge1Rvb2x0aXBNb2R1bGV9IGZyb20gJ3ByaW1lbmcvdG9vbHRpcCc7XG5pbXBvcnQge0J1dHRvbk1vZHVsZX0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHtBdXRvQ29tcGxldGV9IGZyb20gJ3ByaW1lbmcvYXV0b2NvbXBsZXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW4tYXV0b2NvbXBsZXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbdHJpZ2dlcignb3ZlcmxheUFuaW1hdGlvbicsIFt0cmFuc2l0aW9uKCc6ZW50ZXInLCBbc3R5bGUoe1xuICAgIG9wYWNpdHk6IDAsXG4gICAgdHJhbnNmb3JtOiAnc2NhbGVZKDAuOCknXG4gIH0pLCBhbmltYXRlKCd7e3Nob3dUcmFuc2l0aW9uUGFyYW1zfX0nKV0pLCB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbYW5pbWF0ZSgne3toaWRlVHJhbnNpdGlvblBhcmFtc319Jywgc3R5bGUoe29wYWNpdHk6IDB9KSldKV0pXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEF1dG9Db21wbGV0ZUNvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgQXV0b0NvbXBsZXRlQ29tcG9uZW50IGV4dGVuZHMgQXV0b0NvbXBsZXRlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBtaW5MZW5ndGg6IG51bWJlciA9IDE7XG5cbiAgQElucHV0KCkgZGVsYXk6IG51bWJlciA9IDMwMDtcblxuICBASW5wdXQoKSBzdHlsZTogYW55O1xuXG4gIEBJbnB1dCgpIHBhbmVsU3R5bGU6IGFueTtcblxuICBASW5wdXQoKSBzdHlsZUNsYXNzOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcGFuZWxTdHlsZUNsYXNzOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgaW5wdXRTdHlsZTogYW55O1xuXG4gIEBJbnB1dCgpIGlucHV0SWQ6IHN0cmluZztcblxuICBASW5wdXQoKSBpbnB1dFN0eWxlQ2xhc3M6IHN0cmluZztcblxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIG1heGxlbmd0aDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcblxuICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbjtcblxuICBASW5wdXQoKSBzaXplOiBudW1iZXI7XG5cbiAgQElucHV0KCkgYXBwZW5kVG86IGFueTtcblxuICBASW5wdXQoKSBhdXRvSGlnaGxpZ2h0OiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIGZvcmNlU2VsZWN0aW9uOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZyA9ICd0ZXh0JztcblxuICBASW5wdXQoKSBhdXRvWkluZGV4OiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKSBiYXNlWkluZGV4OiBudW1iZXIgPSAwO1xuXG4gIEBJbnB1dCgpIGFyaWFMYWJlbDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGFyaWFMYWJlbGxlZEJ5OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgZHJvcGRvd25JY29uOiBzdHJpbmcgPSBcInBpIHBpLWNhcmV0LWRvd25cIjtcblxuICBASW5wdXQoKSB1bmlxdWU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBPdXRwdXQoKSBjb21wbGV0ZU1ldGhvZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpIG9uU2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KCkgb25VbnNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpIG9uRm9jdXM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKSBvbkJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKSBvbkRyb3Bkb3duQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKSBvbkNsZWFyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KCkgb25LZXlVcDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KCkgZmllbGQ6IHN0cmluZztcblxuICBASW5wdXQoKSBzY3JvbGxIZWlnaHQ6IHN0cmluZyA9ICcyMDBweCc7XG5cbiAgQElucHV0KCkgZHJvcGRvd246IGJvb2xlYW47XG5cbiAgQElucHV0KCkgZHJvcGRvd25Nb2RlOiBzdHJpbmcgPSAnYmxhbmsnO1xuXG4gIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHRhYmluZGV4OiBudW1iZXI7XG5cbiAgQElucHV0KCkgZGF0YUtleTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGVtcHR5TWVzc2FnZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGltbXV0YWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KCkgc2hvd1RyYW5zaXRpb25PcHRpb25zOiBzdHJpbmcgPSAnMjI1bXMgZWFzZS1vdXQnO1xuXG4gIEBJbnB1dCgpIGhpZGVUcmFuc2l0aW9uT3B0aW9uczogc3RyaW5nID0gJzE5NW1zIGVhc2UtaW4nO1xuXG4gIEBJbnB1dCgpIGF1dG9mb2N1czogYm9vbGVhbjtcblxuICBASW5wdXQoKSBhdXRvY29tcGxldGU6IHN0cmluZyA9ICdvZmYnO1xuXG4gIEBWaWV3Q2hpbGQoJ2luJywge3N0YXRpYzogZmFsc2V9KSBpbnB1dEVMOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ211bHRpSW4nLCB7c3RhdGljOiBmYWxzZX0pIG11bHRpSW5wdXRFTDogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdtdWx0aUNvbnRhaW5lcicsIHtzdGF0aWM6IGZhbHNlfSkgbXVsdGlDb250YWluZXJFTDogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdkZEJ0bicsIHtzdGF0aWM6IGZhbHNlfSkgZHJvcGRvd25CdXR0b246IEVsZW1lbnRSZWY7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihJbnNwYXJrVGVtcGxhdGUpIHRlbXBsYXRlczogUXVlcnlMaXN0PGFueT47XG5cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy50ZW1wbGF0ZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgc3dpdGNoIChpdGVtLmdldFR5cGUoKSkge1xuICAgICAgICBjYXNlICdpdGVtJzpcbiAgICAgICAgICB0aGlzLml0ZW1UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnc2VsZWN0ZWRJdGVtJzpcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbVRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRoaXMuaXRlbVRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBdXRvQ29tcGxldGVDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIFNjcm9sbGluZ01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUHJpbWVuZ0NvbXBvbmVudHNNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQXV0b0NvbXBsZXRlQ29tcG9uZW50LFxuICBdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtcbiAgICBBdXRvQ29tcGxldGVDb21wb25lbnQsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXV0b0NvbXBsZXRlQ29tcG9uZW50TW9kdWxlIHtcbn1cbiIsIjxzcGFuICNjb250YWluZXIgW25nQ2xhc3NdPVwieyAncC1hdXRvY29tcGxldGUgcC1jb21wb25lbnQnOiB0cnVlLCAncC1hdXRvY29tcGxldGUtZGQnOiBkcm9wZG93biwgJ3AtYXV0b2NvbXBsZXRlLW11bHRpcGxlJzogbXVsdGlwbGUgfVwiIFtuZ1N0eWxlXT1cInN0eWxlXCIgW2NsYXNzXT1cInN0eWxlQ2xhc3NcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBwQXV0b0ZvY3VzXG4gICAgICAgICAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhbXVsdGlwbGVcIlxuICAgICAgICAgICAgICAjaW5cbiAgICAgICAgICAgICAgW2F0dHIudHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiaW5wdXRJZFwiXG4gICAgICAgICAgICAgIFtuZ1N0eWxlXT1cImlucHV0U3R5bGVcIlxuICAgICAgICAgICAgICBbY2xhc3NdPVwiaW5wdXRTdHlsZUNsYXNzXCJcbiAgICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICBbYXR0ci5yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwicC1hdXRvY29tcGxldGUtaW5wdXQgcC1pbnB1dHRleHQgcC1jb21wb25lbnRcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdwLWF1dG9jb21wbGV0ZS1kZC1pbnB1dCc6IGRyb3Bkb3duLCAncC1kaXNhYmxlZCc6IGRpc2FibGVkIH1cIlxuICAgICAgICAgICAgICBbdmFsdWVdPVwiaW5wdXRGaWVsZFZhbHVlXCJcbiAgICAgICAgICAgICAgYXJpYS1hdXRvY29tcGxldGU9XCJsaXN0XCJcbiAgICAgICAgICAgICAgcm9sZT1cInNlYXJjaGJveFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbklucHV0Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChrZXl1cCk9XCJvbktleXVwKCRldmVudClcIlxuICAgICAgICAgICAgICAoZm9jdXMpPVwib25JbnB1dEZvY3VzKCRldmVudClcIlxuICAgICAgICAgICAgICAoYmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbklucHV0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAocGFzdGUpPVwib25JbnB1dFBhc3RlKCRldmVudClcIlxuICAgICAgICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgIFthdHRyLnNpemVdPVwic2l6ZVwiXG4gICAgICAgICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxuICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGkgKm5nSWY9XCIhbXVsdGlwbGUgJiYgZmlsbGVkICYmICFkaXNhYmxlZCAmJiBzaG93Q2xlYXJcIiBjbGFzcz1cInAtYXV0b2NvbXBsZXRlLWNsZWFyLWljb24gcGkgcGktdGltZXNcIiAoY2xpY2spPVwiY2xlYXIoKVwiPjwvaT5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwibXVsdGlwbGUgJiYgZmlsbGVkICYmICFkaXNhYmxlZCAmJiBzaG93Q2xlYXJcIiBjbGFzcz1cInAtYXV0b2NvbXBsZXRlLWNsZWFyLWljb24gcGkgcGktdGltZXNcIiAoY2xpY2spPVwiY2xlYXIoKVwiPjwvaT5cbiAgICAgICAgICAgIDx1bCAqbmdJZj1cIm11bHRpcGxlXCIgI211bHRpQ29udGFpbmVyIGNsYXNzPVwicC1hdXRvY29tcGxldGUtbXVsdGlwbGUtY29udGFpbmVyIHAtY29tcG9uZW50IHAtaW5wdXR0ZXh0XCIgW25nQ2xhc3NdPVwieyAncC1kaXNhYmxlZCc6IGRpc2FibGVkLCAncC1mb2N1cyc6IGZvY3VzIH1cIiAoY2xpY2spPVwibXVsdGlJbi5mb2N1cygpXCI+XG4gICAgICAgICAgICAgICAgPGxpICN0b2tlbiAqbmdGb3I9XCJsZXQgdmFsIG9mIHZhbHVlXCIgY2xhc3M9XCJwLWF1dG9jb21wbGV0ZS10b2tlblwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VsZWN0ZWRJdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiB2YWwgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFzZWxlY3RlZEl0ZW1UZW1wbGF0ZVwiIGNsYXNzPVwicC1hdXRvY29tcGxldGUtdG9rZW4tbGFiZWxcIj57eyByZXNvbHZlRmllbGREYXRhKHZhbCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1hdXRvY29tcGxldGUtdG9rZW4taWNvbiBwaSBwaS10aW1lcy1jaXJjbGVcIiAoY2xpY2spPVwicmVtb3ZlSXRlbSh0b2tlbilcIiAqbmdJZj1cIiFkaXNhYmxlZCAmJiAhcmVhZG9ubHlcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwLWF1dG9jb21wbGV0ZS1pbnB1dC10b2tlblwiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICBwQXV0b0ZvY3VzXG4gICAgICAgICAgICAgICAgICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIlxuICAgICAgICAgICAgICAgICAgICAgICNtdWx0aUluXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIudHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpbnB1dElkXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInZhbHVlICYmIHZhbHVlLmxlbmd0aCA/IG51bGwgOiBwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbklucHV0Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGtleXVwKT1cIm9uS2V5dXAoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uSW5wdXRGb2N1cygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgKHBhc3RlKT1cIm9uSW5wdXRQYXN0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwiaW5wdXRTdHlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cImlucHV0U3R5bGVDbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1hdXRvY29tcGxldGU9XCJsaXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImxpc3RJZFwiXG4gICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInNlYXJjaGJveFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJvdmVybGF5VmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtYWN0aXZlZGVzY2VuZGFudF09XCIncC1oaWdobGlnaHRlZC1vcHRpb24nXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwicC1hdXRvY29tcGxldGUtbG9hZGVyIHBpIHBpLXNwaW5uZXIgcGktc3BpblwiPjwvaVxuICAgICAgICAgICAgPjxidXR0b25cbiAgI2RkQnRuXG4gIHR5cGU9XCJidXR0b25cIlxuICBwQnV0dG9uXG4gIFtpY29uXT1cImRyb3Bkb3duSWNvblwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiZHJvcGRvd25BcmlhTGFiZWxcIlxuICBjbGFzcz1cInAtYXV0b2NvbXBsZXRlLWRyb3Bkb3duXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgcFJpcHBsZVxuICAoY2xpY2spPVwiaGFuZGxlRHJvcGRvd25DbGljaygkZXZlbnQpXCJcbiAgKm5nSWY9XCJkcm9wZG93blwiXG4gIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4XCJcbj48L2J1dHRvbj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgI3BhbmVsXG4gICAgICAgICAgICAgICpuZ0lmPVwib3ZlcmxheVZpc2libGVcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25PdmVybGF5Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlsncC1hdXRvY29tcGxldGUtcGFuZWwgcC1jb21wb25lbnQnXVwiXG4gICAgICAgICAgICAgIFtzdHlsZS5tYXgtaGVpZ2h0XT1cInZpcnR1YWxTY3JvbGwgPyAnYXV0bycgOiBzY3JvbGxIZWlnaHRcIlxuICAgICAgICAgICAgICBbbmdTdHlsZV09XCJwYW5lbFN0eWxlXCJcbiAgICAgICAgICAgICAgW2NsYXNzXT1cInBhbmVsU3R5bGVDbGFzc1wiXG4gICAgICAgICAgICAgIFtAb3ZlcmxheUFuaW1hdGlvbl09XCJ7IHZhbHVlOiAndmlzaWJsZScsIHBhcmFtczogeyBzaG93VHJhbnNpdGlvblBhcmFtczogc2hvd1RyYW5zaXRpb25PcHRpb25zLCBoaWRlVHJhbnNpdGlvblBhcmFtczogaGlkZVRyYW5zaXRpb25PcHRpb25zIH0gfVwiXG4gICAgICAgICAgICAgIChAb3ZlcmxheUFuaW1hdGlvbi5zdGFydCk9XCJvbk92ZXJsYXlBbmltYXRpb25TdGFydCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKEBvdmVybGF5QW5pbWF0aW9uLmRvbmUpPVwib25PdmVybGF5QW5pbWF0aW9uRW5kKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxwLXNjcm9sbGVyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cInZpcnR1YWxTY3JvbGxcIlxuICAgICAgICAgICAgICAgICAgI3Njcm9sbGVyXG4gICAgICAgICAgICAgICAgICBbaXRlbXNdPVwic3VnZ2VzdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cInsgaGVpZ2h0OiBzY3JvbGxIZWlnaHQgfVwiXG4gICAgICAgICAgICAgICAgICBbaXRlbVNpemVdPVwidmlydHVhbFNjcm9sbEl0ZW1TaXplIHx8IF9pdGVtU2l6ZVwiXG4gICAgICAgICAgICAgICAgICBbYXV0b1NpemVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICBbbGF6eV09XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgIChvbkxhenlMb2FkKT1cIm9uTGF6eUxvYWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cInZpcnR1YWxTY3JvbGxPcHRpb25zXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCIgbGV0LWl0ZW1zIGxldC1zY3JvbGxlck9wdGlvbnM9XCJvcHRpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnVpbGRJbkl0ZW1zOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbXMsIG9wdGlvbnM6IHNjcm9sbGVyT3B0aW9ucyB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkZXJUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImxvYWRlclwiIGxldC1zY3JvbGxlck9wdGlvbnM9XCJvcHRpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvYWRlclRlbXBsYXRlOyBjb250ZXh0OiB7IG9wdGlvbnM6IHNjcm9sbGVyT3B0aW9ucyB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3Atc2Nyb2xsZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF2aXJ0dWFsU2Nyb2xsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidWlsZEluSXRlbXM7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBzdWdnZXN0aW9ucywgb3B0aW9uczoge30gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNidWlsZEluSXRlbXMgbGV0LWl0ZW1zIGxldC1zY3JvbGxlck9wdGlvbnM9XCJvcHRpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgIDx1bCAjaXRlbXMgcm9sZT1cImxpc3Rib3hcIiBbYXR0ci5pZF09XCJsaXN0SWRcIiBjbGFzcz1cInAtYXV0b2NvbXBsZXRlLWl0ZW1zXCIgW25nQ2xhc3NdPVwic2Nyb2xsZXJPcHRpb25zLmNvbnRlbnRTdHlsZUNsYXNzXCIgW3N0eWxlXT1cInNjcm9sbGVyT3B0aW9ucy5jb250ZW50U3R5bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtb3B0Z3JvdXAgW25nRm9yT2ZdPVwiaXRlbXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicC1hdXRvY29tcGxldGUtaXRlbS1ncm91cFwiIFtuZ1N0eWxlXT1cInsgaGVpZ2h0OiBzY3JvbGxlck9wdGlvbnMuaXRlbVNpemUgKyAncHgnIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWdyb3VwVGVtcGxhdGVcIj57eyBnZXRPcHRpb25Hcm91cExhYmVsKG9wdGdyb3VwKSB8fCAnZW1wdHknIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImdyb3VwVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBvcHRncm91cCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtc2xpc3Q7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBnZXRPcHRpb25Hcm91cENoaWxkcmVuKG9wdGdyb3VwKSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtc2xpc3Q7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtcyB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaXRlbXNsaXN0IGxldC1zdWdnZXN0aW9uc1RvRGlzcGxheT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJvcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBzdWdnZXN0aW9uc1RvRGlzcGxheTsgbGV0IGlkeCA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC1hdXRvY29tcGxldGUtaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwUmlwcGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGhlaWdodDogc2Nyb2xsZXJPcHRpb25zLml0ZW1TaXplICsgJ3B4JyB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3AtaGlnaGxpZ2h0Jzogb3B0aW9uID09PSBoaWdobGlnaHRPcHRpb24gfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiaGlnaGxpZ2h0T3B0aW9uID09IG9wdGlvbiA/ICdwLWhpZ2hsaWdodGVkLW9wdGlvbicgOiAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SXRlbShvcHRpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW1UZW1wbGF0ZVwiPnt7IHJlc29sdmVGaWVsZERhdGEob3B0aW9uKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG9wdGlvbiwgaW5kZXg6IHNjcm9sbGVyT3B0aW9ucy5nZXRPcHRpb25zID8gc2Nyb2xsZXJPcHRpb25zLmdldE9wdGlvbnMoaWR4KSA6IGlkeCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nSWY9XCJub1Jlc3VsdHMgJiYgc2hvd0VtcHR5TWVzc2FnZVwiIGNsYXNzPVwicC1hdXRvY29tcGxldGUtZW1wdHktbWVzc2FnZVwiIFtuZ1N0eWxlXT1cInsgaGVpZ2h0OiBzY3JvbGxlck9wdGlvbnMuaXRlbVNpemUgKyAncHgnIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWVtcHR5VGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZW1wdHlNZXNzYWdlTGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICNlbXB0eSAqbmdUZW1wbGF0ZU91dGxldD1cImVtcHR5VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NwYW4+XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@ngx-translate/core";
5
+ import * as i3 from "@angular/router";
6
+ export class BreadcrumbComponent {
7
+ constructor() {
8
+ }
9
+ ngOnInit() {
10
+ }
11
+ }
12
+ BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: BreadcrumbComponent, selector: "in-breadcrumb", inputs: { items: "items" }, ngImport: i0, template: "<div>\n <ul class=\"c-crumb\">\n <li class=\"c-crumb__item\">\n <a [routerLink]=\"['/main/page/home']\" translate=\"\">{{'Home' | translate }}</a>\n </li>\n <li *ngFor=\"let item of items; last as isLast\" class=\"c-crumb__item\">\n <a *ngIf=\"item.url && !isLast; else noUrl\" [routerLink]=\"item.url\" translate=\"\">{{item.label}}</a>\n <ng-template #noUrl>\n <span translate=\"\">{{item.label}}</span>\n </ng-template>\n </li>\n </ul>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BreadcrumbComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'in-breadcrumb', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\n <ul class=\"c-crumb\">\n <li class=\"c-crumb__item\">\n <a [routerLink]=\"['/main/page/home']\" translate=\"\">{{'Home' | translate }}</a>\n </li>\n <li *ngFor=\"let item of items; last as isLast\" class=\"c-crumb__item\">\n <a *ngIf=\"item.url && !isLast; else noUrl\" [routerLink]=\"item.url\" translate=\"\">{{item.label}}</a>\n <ng-template #noUrl>\n <span translate=\"\">{{item.label}}</span>\n </ng-template>\n </li>\n </ul>\n</div>\n" }]
17
+ }], ctorParameters: function () { return []; }, propDecorators: { items: [{
18
+ type: Input
19
+ }] } });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnNwYXJrLWNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVMsTUFBTSxlQUFlLENBQUM7Ozs7O0FBU2hGLE1BQU0sT0FBTyxtQkFBbUI7SUFJOUI7SUFDQSxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7O2dIQVJVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLGlGQ1RoQywyZUFhQTsyRkRKYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNOzBFQUl0QyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNZW51SXRlbX0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbi1icmVhZGNydW1iJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGl0ZW1zOiBNZW51SXRlbVtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cbn1cbiIsIjxkaXY+XG4gIDx1bCBjbGFzcz1cImMtY3J1bWJcIj5cbiAgICA8bGkgY2xhc3M9XCJjLWNydW1iX19pdGVtXCI+XG4gICAgICA8YSBbcm91dGVyTGlua109XCJbJy9tYWluL3BhZ2UvaG9tZSddXCIgdHJhbnNsYXRlPVwiXCI+e3snSG9tZScgfCB0cmFuc2xhdGUgfX08L2E+XG4gICAgPC9saT5cbiAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxhc3QgYXMgaXNMYXN0XCIgY2xhc3M9XCJjLWNydW1iX19pdGVtXCI+XG4gICAgICA8YSAqbmdJZj1cIml0ZW0udXJsICYmICFpc0xhc3Q7IGVsc2Ugbm9VcmxcIiBbcm91dGVyTGlua109XCJpdGVtLnVybFwiIHRyYW5zbGF0ZT1cIlwiPnt7aXRlbS5sYWJlbH19PC9hPlxuICAgICAgPG5nLXRlbXBsYXRlICNub1VybD5cbiAgICAgICAgPHNwYW4gdHJhbnNsYXRlPVwiXCI+e3tpdGVtLmxhYmVsfX08L3NwYW4+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbGk+XG4gIDwvdWw+XG48L2Rpdj5cbiJdfQ==