@inspark/inspark-components 14.0.72 → 19.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 (219) hide show
  1. package/full/bms.css +3 -2363
  2. package/full/bms.js +1 -1
  3. package/full/components/autocomplete/autocomplete.component.d.ts +36 -57
  4. package/full/components/autocomplete/autocomplete.component.d.ts.map +1 -0
  5. package/full/components/autocomplete/autocomplete.module.d.ts +10 -0
  6. package/full/components/autocomplete/autocomplete.module.d.ts.map +1 -0
  7. package/full/components/breadcrumb/breadcrumb.component.d.ts +2 -1
  8. package/full/components/breadcrumb/breadcrumb.component.d.ts.map +1 -0
  9. package/full/components/breadcrumb/breadcrumb.module.d.ts +9 -0
  10. package/full/components/breadcrumb/breadcrumb.module.d.ts.map +1 -0
  11. package/full/components/button/button.component.d.ts +9 -8
  12. package/full/components/button/button.component.d.ts.map +1 -0
  13. package/full/components/button/button.module.d.ts +12 -0
  14. package/full/components/button/button.module.d.ts.map +1 -0
  15. package/full/components/checkbox/checkbox.component.d.ts +2 -1
  16. package/full/components/checkbox/checkbox.component.d.ts.map +1 -0
  17. package/full/components/checkbox/checkbox.module.d.ts +10 -0
  18. package/full/components/checkbox/checkbox.module.d.ts.map +1 -0
  19. package/full/components/communication.service.d.ts +1 -0
  20. package/full/components/communication.service.d.ts.map +1 -0
  21. package/full/components/component-container/component-container.component.d.ts +3 -2
  22. package/full/components/component-container/component-container.component.d.ts.map +1 -0
  23. package/full/components/component-container/component-container.module.d.ts +9 -0
  24. package/full/components/component-container/component-container.module.d.ts.map +1 -0
  25. package/full/components/content-toggle/content-toggle.component.d.ts +2 -1
  26. package/full/components/content-toggle/content-toggle.component.d.ts.map +1 -0
  27. package/full/components/dropdown/dropdown.component.d.ts +31 -108
  28. package/full/components/dropdown/dropdown.component.d.ts.map +1 -0
  29. package/full/components/dropdown/dropdown.module.d.ts +10 -0
  30. package/full/components/dropdown/dropdown.module.d.ts.map +1 -0
  31. package/full/components/empty/empty.component.d.ts +2 -1
  32. package/full/components/empty/empty.component.d.ts.map +1 -0
  33. package/full/components/file/file.component.d.ts +2 -1
  34. package/full/components/file/file.component.d.ts.map +1 -0
  35. package/full/components/file/file.module.d.ts +9 -0
  36. package/full/components/file/file.module.d.ts.map +1 -0
  37. package/full/components/header/header.component.d.ts +2 -1
  38. package/full/components/header/header.component.d.ts.map +1 -0
  39. package/full/components/inline-message/inline-message.component.d.ts +2 -1
  40. package/full/components/inline-message/inline-message.component.d.ts.map +1 -0
  41. package/full/components/input-group/input-group.component.d.ts +2 -1
  42. package/full/components/input-group/input-group.component.d.ts.map +1 -0
  43. package/full/components/input-text/input-text.component.d.ts +2 -1
  44. package/full/components/input-text/input-text.component.d.ts.map +1 -0
  45. package/full/components/input-text/input-text.module.d.ts +10 -0
  46. package/full/components/input-text/input-text.module.d.ts.map +1 -0
  47. package/full/components/inspark.module.d.ts +41 -44
  48. package/full/components/inspark.module.d.ts.map +1 -0
  49. package/full/components/inspark.shared.d.ts +2 -1
  50. package/full/components/inspark.shared.d.ts.map +1 -0
  51. package/full/components/legacy/legacy-components.module.d.ts +12 -0
  52. package/full/components/legacy/legacy-components.module.d.ts.map +1 -0
  53. package/full/components/legacy/legacy-ui.module.d.ts +13 -0
  54. package/full/components/legacy/legacy-ui.module.d.ts.map +1 -0
  55. package/full/components/link/link.component.d.ts +4 -3
  56. package/full/components/link/link.component.d.ts.map +1 -0
  57. package/full/components/link/link.module.d.ts +11 -0
  58. package/full/components/link/link.module.d.ts.map +1 -0
  59. package/full/components/modal-input-text/modal-input-text.component.d.ts +2 -1
  60. package/full/components/modal-input-text/modal-input-text.component.d.ts.map +1 -0
  61. package/full/components/object-tree/object-tree.component.d.ts +2 -1
  62. package/full/components/object-tree/object-tree.component.d.ts.map +1 -0
  63. package/full/components/panel/panel.component.d.ts +2 -1
  64. package/full/components/panel/panel.component.d.ts.map +1 -0
  65. package/full/components/pie/pie.component.d.ts +2 -1
  66. package/full/components/pie/pie.component.d.ts.map +1 -0
  67. package/full/components/pie/pie.service.d.ts +1 -0
  68. package/full/components/pie/pie.service.d.ts.map +1 -0
  69. package/full/components/preloader/preloader.component.d.ts +3 -2
  70. package/full/components/preloader/preloader.component.d.ts.map +1 -0
  71. package/full/components/preloader/preloader.module.d.ts +9 -0
  72. package/full/components/preloader/preloader.module.d.ts.map +1 -0
  73. package/full/components/radiobutton/radiobutton.component.d.ts +2 -1
  74. package/full/components/radiobutton/radiobutton.component.d.ts.map +1 -0
  75. package/full/components/select-button/select-button.component.d.ts +3 -2
  76. package/full/components/select-button/select-button.component.d.ts.map +1 -0
  77. package/full/components/select-button/select-button.module.d.ts +9 -0
  78. package/full/components/select-button/select-button.module.d.ts.map +1 -0
  79. package/full/components/select-list/select-list.component.d.ts +2 -1
  80. package/full/components/select-list/select-list.component.d.ts.map +1 -0
  81. package/full/components/shared/shared-components.module.d.ts +11 -0
  82. package/full/components/shared/shared-components.module.d.ts.map +1 -0
  83. package/full/components/shared/shared-ui.module.d.ts +12 -0
  84. package/full/components/shared/shared-ui.module.d.ts.map +1 -0
  85. package/full/components/status-circle/status-circle.component.d.ts +2 -1
  86. package/full/components/status-circle/status-circle.component.d.ts.map +1 -0
  87. package/full/components/sticky/sticky.component.d.ts +2 -1
  88. package/full/components/sticky/sticky.component.d.ts.map +1 -0
  89. package/full/components/sticky/sticky.module.d.ts +9 -0
  90. package/full/components/sticky/sticky.module.d.ts.map +1 -0
  91. package/full/components/svg/svg.component.d.ts +4 -4
  92. package/full/components/svg/svg.component.d.ts.map +1 -0
  93. package/full/components/svg/svg.module.d.ts +10 -0
  94. package/full/components/svg/svg.module.d.ts.map +1 -0
  95. package/full/components/switcher/switcher.component.d.ts +2 -1
  96. package/full/components/switcher/switcher.component.d.ts.map +1 -0
  97. package/full/components/table/table-click-outside.directive.d.ts +2 -1
  98. package/full/components/table/table-click-outside.directive.d.ts.map +1 -0
  99. package/full/components/table/table-columns-multiselect/table-columns-multiselect.component.d.ts +2 -1
  100. package/full/components/table/table-columns-multiselect/table-columns-multiselect.component.d.ts.map +1 -0
  101. package/full/components/table/table-menu-overlay/table-menu-overlay.component.d.ts +2 -1
  102. package/full/components/table/table-menu-overlay/table-menu-overlay.component.d.ts.map +1 -0
  103. package/full/components/table/table.component.d.ts +10 -12
  104. package/full/components/table/table.component.d.ts.map +1 -0
  105. package/full/components/textarea/textarea.component.d.ts +2 -1
  106. package/full/components/textarea/textarea.component.d.ts.map +1 -0
  107. package/full/components/textarea/textarea.module.d.ts +10 -0
  108. package/full/components/textarea/textarea.module.d.ts.map +1 -0
  109. package/full/components/toolbar/toolbar.component.d.ts +2 -1
  110. package/full/components/toolbar/toolbar.component.d.ts.map +1 -0
  111. package/full/components/toolbar/toolbar.module.d.ts +9 -0
  112. package/full/components/toolbar/toolbar.module.d.ts.map +1 -0
  113. package/full/components/tooltip/tooltip.component.d.ts +2 -1
  114. package/full/components/tooltip/tooltip.component.d.ts.map +1 -0
  115. package/full/components/tree-table/tree-table.component.d.ts +3 -2
  116. package/full/components/tree-table/tree-table.component.d.ts.map +1 -0
  117. package/full/fesm2022/inspark-inspark-components.mjs +6292 -0
  118. package/full/fesm2022/inspark-inspark-components.mjs.map +1 -0
  119. package/full/index.css +6 -2366
  120. package/full/index.d.ts +1 -0
  121. package/full/index.js +1 -1
  122. package/full/inspark-inspark-components.d.ts.map +1 -0
  123. package/full/interface.d.ts +3 -2
  124. package/full/interface.d.ts.map +1 -0
  125. package/full/pipes/pipes.module.d.ts +1 -0
  126. package/full/pipes/pipes.module.d.ts.map +1 -0
  127. package/full/pipes/propertyValue.pipe.d.ts +1 -0
  128. package/full/pipes/propertyValue.pipe.d.ts.map +1 -0
  129. package/full/pipes/safeUrl.pipe.d.ts +1 -0
  130. package/full/pipes/safeUrl.pipe.d.ts.map +1 -0
  131. package/full/pipes/sort-by.pipe.d.ts +1 -0
  132. package/full/pipes/sort-by.pipe.d.ts.map +1 -0
  133. package/full/pipes/time.pipe.d.ts +2 -1
  134. package/full/pipes/time.pipe.d.ts.map +1 -0
  135. package/full/public_api.d.ts +24 -7
  136. package/full/public_api.d.ts.map +1 -0
  137. package/full/services/inspark-dialog.service.d.ts +19 -6
  138. package/full/services/inspark-dialog.service.d.ts.map +1 -0
  139. package/full/services/inspark-message.service.d.ts +3 -2
  140. package/full/services/inspark-message.service.d.ts.map +1 -0
  141. package/full/utils/gettextMarker.function.d.ts +1 -0
  142. package/full/utils/gettextMarker.function.d.ts.map +1 -0
  143. package/full/utils/hybrid/prime-table/row-state.enum.d.ts +1 -0
  144. package/full/utils/hybrid/prime-table/row-state.enum.d.ts.map +1 -0
  145. package/full/utils/hybrid/prime-table/table-row-data.model.d.ts +1 -0
  146. package/full/utils/hybrid/prime-table/table-row-data.model.d.ts.map +1 -0
  147. package/interface/index.d.ts +1 -0
  148. package/interface/inspark-inspark-components.d.ts.map +1 -0
  149. package/interface/interface.d.ts +3 -2
  150. package/interface/interface.d.ts.map +1 -0
  151. package/interface/public_api.d.ts +1 -0
  152. package/interface/public_api.d.ts.map +1 -0
  153. package/package.json +1 -1
  154. package/full/components/primeng.module.d.ts +0 -7
  155. package/full/esm2020/components/autocomplete/autocomplete.component.mjs +0 -220
  156. package/full/esm2020/components/breadcrumb/breadcrumb.component.mjs +0 -20
  157. package/full/esm2020/components/button/button.component.mjs +0 -160
  158. package/full/esm2020/components/checkbox/checkbox.component.mjs +0 -89
  159. package/full/esm2020/components/communication.service.mjs +0 -25
  160. package/full/esm2020/components/component-container/component-container.component.mjs +0 -17
  161. package/full/esm2020/components/content-toggle/content-toggle.component.mjs +0 -49
  162. package/full/esm2020/components/dropdown/dropdown.component.mjs +0 -338
  163. package/full/esm2020/components/empty/empty.component.mjs +0 -12
  164. package/full/esm2020/components/file/file.component.mjs +0 -53
  165. package/full/esm2020/components/header/header.component.mjs +0 -29
  166. package/full/esm2020/components/inline-message/inline-message.component.mjs +0 -20
  167. package/full/esm2020/components/input-group/input-group.component.mjs +0 -166
  168. package/full/esm2020/components/input-text/input-text.component.mjs +0 -149
  169. package/full/esm2020/components/inspark.module.mjs +0 -239
  170. package/full/esm2020/components/inspark.shared.mjs +0 -25
  171. package/full/esm2020/components/link/link.component.mjs +0 -131
  172. package/full/esm2020/components/modal-input-text/modal-input-text.component.mjs +0 -88
  173. package/full/esm2020/components/object-tree/object-tree.component.mjs +0 -14
  174. package/full/esm2020/components/panel/panel.component.mjs +0 -11
  175. package/full/esm2020/components/pie/pie.component.mjs +0 -44
  176. package/full/esm2020/components/pie/pie.service.mjs +0 -55
  177. package/full/esm2020/components/preloader/preloader.component.mjs +0 -25
  178. package/full/esm2020/components/primeng.module.mjs +0 -22
  179. package/full/esm2020/components/radiobutton/radiobutton.component.mjs +0 -50
  180. package/full/esm2020/components/select-button/select-button.component.mjs +0 -190
  181. package/full/esm2020/components/select-list/select-list.component.mjs +0 -55
  182. package/full/esm2020/components/status-circle/status-circle.component.mjs +0 -39
  183. package/full/esm2020/components/sticky/sticky.component.mjs +0 -64
  184. package/full/esm2020/components/svg/svg.component.mjs +0 -28
  185. package/full/esm2020/components/switcher/switcher.component.mjs +0 -123
  186. package/full/esm2020/components/table/table-click-outside.directive.mjs +0 -31
  187. package/full/esm2020/components/table/table-columns-multiselect/table-columns-multiselect.component.mjs +0 -32
  188. package/full/esm2020/components/table/table-menu-overlay/table-menu-overlay.component.mjs +0 -26
  189. package/full/esm2020/components/table/table.component.mjs +0 -482
  190. package/full/esm2020/components/textarea/textarea.component.mjs +0 -87
  191. package/full/esm2020/components/toolbar/toolbar.component.mjs +0 -30
  192. package/full/esm2020/components/tooltip/tooltip.component.mjs +0 -14
  193. package/full/esm2020/components/tree-table/tree-table.component.mjs +0 -206
  194. package/full/esm2020/inspark-inspark-components.mjs +0 -5
  195. package/full/esm2020/interface.mjs +0 -2
  196. package/full/esm2020/pipes/pipes.module.mjs +0 -19
  197. package/full/esm2020/pipes/propertyValue.pipe.mjs +0 -25
  198. package/full/esm2020/pipes/safeUrl.pipe.mjs +0 -36
  199. package/full/esm2020/pipes/sort-by.pipe.mjs +0 -28
  200. package/full/esm2020/pipes/time.pipe.mjs +0 -206
  201. package/full/esm2020/public_api.mjs +0 -60
  202. package/full/esm2020/services/inspark-dialog.service.mjs +0 -61
  203. package/full/esm2020/services/inspark-message.service.mjs +0 -77
  204. package/full/esm2020/utils/gettextMarker.function.mjs +0 -5
  205. package/full/esm2020/utils/hybrid/prime-table/row-state.enum.mjs +0 -9
  206. package/full/esm2020/utils/hybrid/prime-table/table-row-data.model.mjs +0 -2
  207. package/full/fesm2015/inspark-inspark-components.mjs +0 -3664
  208. package/full/fesm2015/inspark-inspark-components.mjs.map +0 -1
  209. package/full/fesm2020/inspark-inspark-components.mjs +0 -3666
  210. package/full/fesm2020/inspark-inspark-components.mjs.map +0 -1
  211. package/full/package.json +0 -36
  212. package/interface/esm2020/inspark-inspark-components.mjs +0 -5
  213. package/interface/esm2020/interface.mjs +0 -2
  214. package/interface/esm2020/public_api.mjs +0 -5
  215. package/interface/fesm2020/inspark-inspark-components.mjs +0 -8
  216. package/interface/fesm2020/inspark-inspark-components.mjs.map +0 -1
  217. package/interface/package.json +0 -36
  218. /package/interface/{fesm2015 → fesm2022}/inspark-inspark-components.mjs +0 -0
  219. /package/interface/{fesm2015 → fesm2022}/inspark-inspark-components.mjs.map +0 -0
@@ -1,220 +0,0 @@
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\">\r\n <input\r\n pAutoFocus\r\n [autofocus]=\"autofocus\"\r\n *ngIf=\"!multiple\"\r\n #in\r\n [attr.type]=\"type\"\r\n [attr.id]=\"inputId\"\r\n [ngStyle]=\"inputStyle\"\r\n [class]=\"inputStyleClass\"\r\n [autocomplete]=\"autocomplete\"\r\n [attr.required]=\"required\"\r\n [attr.name]=\"name\"\r\n class=\"p-autocomplete-input p-inputtext p-component\"\r\n [ngClass]=\"{ 'p-autocomplete-dd-input': dropdown, 'p-disabled': disabled }\"\r\n [value]=\"inputFieldValue\"\r\n aria-autocomplete=\"list\"\r\n role=\"searchbox\"\r\n (click)=\"onInputClick($event)\"\r\n (input)=\"onInput($event)\"\r\n (keydown)=\"onKeydown($event)\"\r\n (keyup)=\"onKeyup($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (change)=\"onInputChange($event)\"\r\n (paste)=\"onInputPaste($event)\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.size]=\"size\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.tabindex]=\"tabindex\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"required\"\r\n />\r\n <i *ngIf=\"!multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\r\n <i *ngIf=\"multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\r\n <ul *ngIf=\"multiple\" #multiContainer class=\"p-autocomplete-multiple-container p-component p-inputtext\" [ngClass]=\"{ 'p-disabled': disabled, 'p-focus': focus }\" (click)=\"multiIn.focus()\">\r\n <li #token *ngFor=\"let val of value\" class=\"p-autocomplete-token\">\r\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: val }\"></ng-container>\r\n <span *ngIf=\"!selectedItemTemplate\" class=\"p-autocomplete-token-label\">{{ resolveFieldData(val) }}</span>\r\n <span class=\"p-autocomplete-token-icon pi pi-times-circle\" (click)=\"removeItem(token)\" *ngIf=\"!disabled && !readonly\"></span>\r\n </li>\r\n <li class=\"p-autocomplete-input-token\">\r\n <input\r\n pAutoFocus\r\n [autofocus]=\"autofocus\"\r\n #multiIn\r\n [attr.type]=\"type\"\r\n [attr.id]=\"inputId\"\r\n [disabled]=\"disabled\"\r\n [attr.placeholder]=\"value && value.length ? null : placeholder\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.maxlength]=\"maxlength\"\r\n (input)=\"onInput($event)\"\r\n (click)=\"onInputClick($event)\"\r\n (keydown)=\"onKeydown($event)\"\r\n [readonly]=\"readonly\"\r\n (keyup)=\"onKeyup($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (change)=\"onInputChange($event)\"\r\n (paste)=\"onInputPaste($event)\"\r\n [autocomplete]=\"autocomplete\"\r\n [ngStyle]=\"inputStyle\"\r\n [class]=\"inputStyleClass\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"required\"\r\n aria-autocomplete=\"list\"\r\n [attr.aria-controls]=\"listId\"\r\n role=\"searchbox\"\r\n [attr.aria-expanded]=\"overlayVisible\"\r\n aria-haspopup=\"true\"\r\n [attr.aria-activedescendant]=\"'p-highlighted-option'\"\r\n />\r\n </li>\r\n </ul>\r\n <i *ngIf=\"loading\" class=\"p-autocomplete-loader pi pi-spinner pi-spin\"></i\r\n ><button\r\n #ddBtn\r\n type=\"button\"\r\n pButton\r\n [icon]=\"dropdownIcon\"\r\n [attr.aria-label]=\"dropdownAriaLabel\"\r\n class=\"p-autocomplete-dropdown\"\r\n [disabled]=\"disabled\"\r\n pRipple\r\n (click)=\"handleDropdownClick($event)\"\r\n *ngIf=\"dropdown\"\r\n [attr.tabindex]=\"tabindex\"\r\n></button>\r\n <div\r\n #panel\r\n *ngIf=\"overlayVisible\"\r\n (click)=\"onOverlayClick($event)\"\r\n [ngClass]=\"['p-autocomplete-panel p-component']\"\r\n [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight\"\r\n [ngStyle]=\"panelStyle\"\r\n [class]=\"panelStyleClass\"\r\n [@overlayAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\r\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n <p-scroller\r\n *ngIf=\"virtualScroll\"\r\n #scroller\r\n [items]=\"suggestions\"\r\n [style]=\"{ height: scrollHeight }\"\r\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\r\n [autoSize]=\"true\"\r\n [lazy]=\"lazy\"\r\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\r\n [options]=\"virtualScrollOptions\"\r\n >\r\n <ng-template pTemplate=\"content\" let-items let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"loaderTemplate\">\r\n <ng-template pTemplate=\"loader\" let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n </p-scroller>\r\n <ng-container *ngIf=\"!virtualScroll\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: suggestions, options: {} }\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\r\n <ul #items role=\"listbox\" [attr.id]=\"listId\" class=\"p-autocomplete-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\">\r\n <ng-container *ngIf=\"group\">\r\n <ng-template ngFor let-optgroup [ngForOf]=\"items\">\r\n <li class=\"p-autocomplete-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\r\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || 'empty' }}</span>\r\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\r\n </li>\r\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup) }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"!group\">\r\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: items }\"></ng-container>\r\n </ng-container>\r\n <ng-template #itemslist let-suggestionsToDisplay>\r\n <li\r\n role=\"option\"\r\n *ngFor=\"let option of suggestionsToDisplay; let idx = index\"\r\n class=\"p-autocomplete-item\"\r\n pRipple\r\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\r\n [ngClass]=\"{ 'p-highlight': option === highlightOption }\"\r\n [id]=\"highlightOption == option ? 'p-highlighted-option' : ''\"\r\n (click)=\"selectItem(option)\"\r\n >\r\n <span *ngIf=\"!itemTemplate\"\r\n [attr.title]=\"resolveFieldData(option)\">{{ resolveFieldData(option) }}</span>\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: option, index: scrollerOptions.getOptions ? scrollerOptions.getOptions(idx) : idx }\"></ng-container>\r\n </li>\r\n </ng-template>\r\n <li *ngIf=\"noResults && showEmptyMessage\" class=\"p-autocomplete-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\r\n <ng-container *ngIf=\"!emptyTemplate\">\r\n {{ emptyMessageLabel }}\r\n </ng-container>\r\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </span>\r\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\">\r\n <input\r\n pAutoFocus\r\n [autofocus]=\"autofocus\"\r\n *ngIf=\"!multiple\"\r\n #in\r\n [attr.type]=\"type\"\r\n [attr.id]=\"inputId\"\r\n [ngStyle]=\"inputStyle\"\r\n [class]=\"inputStyleClass\"\r\n [autocomplete]=\"autocomplete\"\r\n [attr.required]=\"required\"\r\n [attr.name]=\"name\"\r\n class=\"p-autocomplete-input p-inputtext p-component\"\r\n [ngClass]=\"{ 'p-autocomplete-dd-input': dropdown, 'p-disabled': disabled }\"\r\n [value]=\"inputFieldValue\"\r\n aria-autocomplete=\"list\"\r\n role=\"searchbox\"\r\n (click)=\"onInputClick($event)\"\r\n (input)=\"onInput($event)\"\r\n (keydown)=\"onKeydown($event)\"\r\n (keyup)=\"onKeyup($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (change)=\"onInputChange($event)\"\r\n (paste)=\"onInputPaste($event)\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.size]=\"size\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.tabindex]=\"tabindex\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"required\"\r\n />\r\n <i *ngIf=\"!multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\r\n <i *ngIf=\"multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\r\n <ul *ngIf=\"multiple\" #multiContainer class=\"p-autocomplete-multiple-container p-component p-inputtext\" [ngClass]=\"{ 'p-disabled': disabled, 'p-focus': focus }\" (click)=\"multiIn.focus()\">\r\n <li #token *ngFor=\"let val of value\" class=\"p-autocomplete-token\">\r\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: val }\"></ng-container>\r\n <span *ngIf=\"!selectedItemTemplate\" class=\"p-autocomplete-token-label\">{{ resolveFieldData(val) }}</span>\r\n <span class=\"p-autocomplete-token-icon pi pi-times-circle\" (click)=\"removeItem(token)\" *ngIf=\"!disabled && !readonly\"></span>\r\n </li>\r\n <li class=\"p-autocomplete-input-token\">\r\n <input\r\n pAutoFocus\r\n [autofocus]=\"autofocus\"\r\n #multiIn\r\n [attr.type]=\"type\"\r\n [attr.id]=\"inputId\"\r\n [disabled]=\"disabled\"\r\n [attr.placeholder]=\"value && value.length ? null : placeholder\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.maxlength]=\"maxlength\"\r\n (input)=\"onInput($event)\"\r\n (click)=\"onInputClick($event)\"\r\n (keydown)=\"onKeydown($event)\"\r\n [readonly]=\"readonly\"\r\n (keyup)=\"onKeyup($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (change)=\"onInputChange($event)\"\r\n (paste)=\"onInputPaste($event)\"\r\n [autocomplete]=\"autocomplete\"\r\n [ngStyle]=\"inputStyle\"\r\n [class]=\"inputStyleClass\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"required\"\r\n aria-autocomplete=\"list\"\r\n [attr.aria-controls]=\"listId\"\r\n role=\"searchbox\"\r\n [attr.aria-expanded]=\"overlayVisible\"\r\n aria-haspopup=\"true\"\r\n [attr.aria-activedescendant]=\"'p-highlighted-option'\"\r\n />\r\n </li>\r\n </ul>\r\n <i *ngIf=\"loading\" class=\"p-autocomplete-loader pi pi-spinner pi-spin\"></i\r\n ><button\r\n #ddBtn\r\n type=\"button\"\r\n pButton\r\n [icon]=\"dropdownIcon\"\r\n [attr.aria-label]=\"dropdownAriaLabel\"\r\n class=\"p-autocomplete-dropdown\"\r\n [disabled]=\"disabled\"\r\n pRipple\r\n (click)=\"handleDropdownClick($event)\"\r\n *ngIf=\"dropdown\"\r\n [attr.tabindex]=\"tabindex\"\r\n></button>\r\n <div\r\n #panel\r\n *ngIf=\"overlayVisible\"\r\n (click)=\"onOverlayClick($event)\"\r\n [ngClass]=\"['p-autocomplete-panel p-component']\"\r\n [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight\"\r\n [ngStyle]=\"panelStyle\"\r\n [class]=\"panelStyleClass\"\r\n [@overlayAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\r\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n <p-scroller\r\n *ngIf=\"virtualScroll\"\r\n #scroller\r\n [items]=\"suggestions\"\r\n [style]=\"{ height: scrollHeight }\"\r\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\r\n [autoSize]=\"true\"\r\n [lazy]=\"lazy\"\r\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\r\n [options]=\"virtualScrollOptions\"\r\n >\r\n <ng-template pTemplate=\"content\" let-items let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"loaderTemplate\">\r\n <ng-template pTemplate=\"loader\" let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n </p-scroller>\r\n <ng-container *ngIf=\"!virtualScroll\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: suggestions, options: {} }\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\r\n <ul #items role=\"listbox\" [attr.id]=\"listId\" class=\"p-autocomplete-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\">\r\n <ng-container *ngIf=\"group\">\r\n <ng-template ngFor let-optgroup [ngForOf]=\"items\">\r\n <li class=\"p-autocomplete-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\r\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || 'empty' }}</span>\r\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\r\n </li>\r\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup) }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"!group\">\r\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: items }\"></ng-container>\r\n </ng-container>\r\n <ng-template #itemslist let-suggestionsToDisplay>\r\n <li\r\n role=\"option\"\r\n *ngFor=\"let option of suggestionsToDisplay; let idx = index\"\r\n class=\"p-autocomplete-item\"\r\n pRipple\r\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\r\n [ngClass]=\"{ 'p-highlight': option === highlightOption }\"\r\n [id]=\"highlightOption == option ? 'p-highlighted-option' : ''\"\r\n (click)=\"selectItem(option)\"\r\n >\r\n <span *ngIf=\"!itemTemplate\"\r\n [attr.title]=\"resolveFieldData(option)\">{{ resolveFieldData(option) }}</span>\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: option, index: scrollerOptions.getOptions ? scrollerOptions.getOptions(idx) : idx }\"></ng-container>\r\n </li>\r\n </ng-template>\r\n <li *ngIf=\"noResults && showEmptyMessage\" class=\"p-autocomplete-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\r\n <ng-container *ngIf=\"!emptyTemplate\">\r\n {{ emptyMessageLabel }}\r\n </ng-container>\r\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </span>\r\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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ZTt3QkFDZixZQUFZO3dCQUNaLHVCQUF1Qjt3QkFDdkIsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AscUJBQXFCO3FCQUN0QjtvQkFDRCxlQUFlLEVBQUU7d0JBQ2YscUJBQXFCO3FCQUN0QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkcmVuLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgTmdNb2R1bGUsXHJcbiAgT3V0cHV0LFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHtTY3JvbGxpbmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xyXG5pbXBvcnQge1ByaW1lbmdDb21wb25lbnRzTW9kdWxlfSBmcm9tICcuLi9wcmltZW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7SW5zcGFya1RlbXBsYXRlfSBmcm9tICcuLi9pbnNwYXJrLnNoYXJlZCc7XHJcbmltcG9ydCB7VG9vbHRpcE1vZHVsZX0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuaW1wb3J0IHtCdXR0b25Nb2R1bGV9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcclxuaW1wb3J0IHtBdXRvQ29tcGxldGV9IGZyb20gJ3ByaW1lbmcvYXV0b2NvbXBsZXRlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaW4tYXV0b2NvbXBsZXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdXRvY29tcGxldGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbdHJpZ2dlcignb3ZlcmxheUFuaW1hdGlvbicsIFt0cmFuc2l0aW9uKCc6ZW50ZXInLCBbc3R5bGUoe1xyXG4gICAgb3BhY2l0eTogMCxcclxuICAgIHRyYW5zZm9ybTogJ3NjYWxlWSgwLjgpJ1xyXG4gIH0pLCBhbmltYXRlKCd7e3Nob3dUcmFuc2l0aW9uUGFyYW1zfX0nKV0pLCB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbYW5pbWF0ZSgne3toaWRlVHJhbnNpdGlvblBhcmFtc319Jywgc3R5bGUoe29wYWNpdHk6IDB9KSldKV0pXSxcclxuICBwcm92aWRlcnM6IFt7XHJcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEF1dG9Db21wbGV0ZUNvbXBvbmVudCksXHJcbiAgICBtdWx0aTogdHJ1ZVxyXG4gIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRvQ29tcGxldGVDb21wb25lbnQgZXh0ZW5kcyBBdXRvQ29tcGxldGUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQElucHV0KCkgbWluTGVuZ3RoOiBudW1iZXIgPSAxO1xyXG5cclxuICBASW5wdXQoKSBkZWxheTogbnVtYmVyID0gMzAwO1xyXG5cclxuICBASW5wdXQoKSBzdHlsZTogYW55O1xyXG5cclxuICBASW5wdXQoKSBwYW5lbFN0eWxlOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgcGFuZWxTdHlsZUNsYXNzOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIGlucHV0U3R5bGU6IGFueTtcclxuXHJcbiAgQElucHV0KCkgaW5wdXRJZDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBpbnB1dFN0eWxlQ2xhc3M6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKSBtYXhsZW5ndGg6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KCkgc2l6ZTogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKSBhcHBlbmRUbzogYW55O1xyXG5cclxuICBASW5wdXQoKSBhdXRvSGlnaGxpZ2h0OiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKSBmb3JjZVNlbGVjdGlvbjogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nID0gJ3RleHQnO1xyXG5cclxuICBASW5wdXQoKSBhdXRvWkluZGV4OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgYmFzZVpJbmRleDogbnVtYmVyID0gMDtcclxuXHJcbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIGFyaWFMYWJlbGxlZEJ5OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIGRyb3Bkb3duSWNvbjogc3RyaW5nID0gXCJwaSBwaS1jYXJldC1kb3duXCI7XHJcblxyXG4gIEBJbnB1dCgpIHVuaXF1ZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSBjb21wbGV0ZU1ldGhvZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKSBvblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKSBvblVuc2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpIG9uRm9jdXM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgb25CbHVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpIG9uRHJvcGRvd25DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKSBvbkNsZWFyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpIG9uS2V5VXA6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKSBmaWVsZDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBzY3JvbGxIZWlnaHQ6IHN0cmluZyA9ICcyMDBweCc7XHJcblxyXG4gIEBJbnB1dCgpIGRyb3Bkb3duOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKSBkcm9wZG93bk1vZGU6IHN0cmluZyA9ICdibGFuayc7XHJcblxyXG4gIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKSB0YWJpbmRleDogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKSBkYXRhS2V5OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIGVtcHR5TWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBpbW11dGFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSBzaG93VHJhbnNpdGlvbk9wdGlvbnM6IHN0cmluZyA9ICcyMjVtcyBlYXNlLW91dCc7XHJcblxyXG4gIEBJbnB1dCgpIGhpZGVUcmFuc2l0aW9uT3B0aW9uczogc3RyaW5nID0gJzE5NW1zIGVhc2UtaW4nO1xyXG5cclxuICBASW5wdXQoKSBhdXRvZm9jdXM6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogc3RyaW5nID0gJ29mZic7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2luJywge3N0YXRpYzogZmFsc2V9KSBpbnB1dEVMOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdtdWx0aUluJywge3N0YXRpYzogZmFsc2V9KSBtdWx0aUlucHV0RUw6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ211bHRpQ29udGFpbmVyJywge3N0YXRpYzogZmFsc2V9KSBtdWx0aUNvbnRhaW5lckVMOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdkZEJ0bicsIHtzdGF0aWM6IGZhbHNlfSkgZHJvcGRvd25CdXR0b246IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBDb250ZW50Q2hpbGRyZW4oSW5zcGFya1RlbXBsYXRlKSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxhbnk+O1xyXG5cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgdGhpcy50ZW1wbGF0ZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBzd2l0Y2ggKGl0ZW0uZ2V0VHlwZSgpKSB7XHJcbiAgICAgICAgY2FzZSAnaXRlbSc6XHJcbiAgICAgICAgICB0aGlzLml0ZW1UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XHJcbiAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgY2FzZSAnc2VsZWN0ZWRJdGVtJzpcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICB0aGlzLml0ZW1UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQXV0b0NvbXBsZXRlQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgVG9vbHRpcE1vZHVsZSxcclxuICAgIFNjcm9sbGluZ01vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFByaW1lbmdDb21wb25lbnRzTW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQXV0b0NvbXBsZXRlQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgZW50cnlDb21wb25lbnRzOiBbXHJcbiAgICBBdXRvQ29tcGxldGVDb21wb25lbnQsXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0b0NvbXBsZXRlQ29tcG9uZW50TW9kdWxlIHtcclxufVxyXG4iLCI8c3BhbiAjY29udGFpbmVyIFtuZ0NsYXNzXT1cInsgJ3AtYXV0b2NvbXBsZXRlIHAtY29tcG9uZW50JzogdHJ1ZSwgJ3AtYXV0b2NvbXBsZXRlLWRkJzogZHJvcGRvd24sICdwLWF1dG9jb21wbGV0ZS1tdWx0aXBsZSc6IG11bHRpcGxlIH1cIiBbbmdTdHlsZV09XCJzdHlsZVwiIFtjbGFzc109XCJzdHlsZUNsYXNzXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgIHBBdXRvRm9jdXNcclxuICAgICAgICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhbXVsdGlwbGVcIlxyXG4gICAgICAgICAgICAgICNpblxyXG4gICAgICAgICAgICAgIFthdHRyLnR5cGVdPVwidHlwZVwiXHJcbiAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiaW5wdXRJZFwiXHJcbiAgICAgICAgICAgICAgW25nU3R5bGVdPVwiaW5wdXRTdHlsZVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzXT1cImlucHV0U3R5bGVDbGFzc1wiXHJcbiAgICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxyXG4gICAgICAgICAgICAgIFthdHRyLnJlcXVpcmVkXT1cInJlcXVpcmVkXCJcclxuICAgICAgICAgICAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwicC1hdXRvY29tcGxldGUtaW5wdXQgcC1pbnB1dHRleHQgcC1jb21wb25lbnRcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3AtYXV0b2NvbXBsZXRlLWRkLWlucHV0JzogZHJvcGRvd24sICdwLWRpc2FibGVkJzogZGlzYWJsZWQgfVwiXHJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImlucHV0RmllbGRWYWx1ZVwiXHJcbiAgICAgICAgICAgICAgYXJpYS1hdXRvY29tcGxldGU9XCJsaXN0XCJcclxuICAgICAgICAgICAgICByb2xlPVwic2VhcmNoYm94XCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwib25JbnB1dENsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAoa2V5dXApPVwib25LZXl1cCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAoZm9jdXMpPVwib25JbnB1dEZvY3VzKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChibHVyKT1cIm9uSW5wdXRCbHVyKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwib25JbnB1dENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAocGFzdGUpPVwib25JbnB1dFBhc3RlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICBbYXR0ci5zaXplXT1cInNpemVcIlxyXG4gICAgICAgICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxyXG4gICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4XCJcclxuICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxyXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXHJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxpICpuZ0lmPVwiIW11bHRpcGxlICYmIGZpbGxlZCAmJiAhZGlzYWJsZWQgJiYgc2hvd0NsZWFyXCIgY2xhc3M9XCJwLWF1dG9jb21wbGV0ZS1jbGVhci1pY29uIHBpIHBpLXRpbWVzXCIgKGNsaWNrKT1cImNsZWFyKClcIj48L2k+XHJcbiAgICAgICAgICAgIDxpICpuZ0lmPVwibXVsdGlwbGUgJiYgZmlsbGVkICYmICFkaXNhYmxlZCAmJiBzaG93Q2xlYXJcIiBjbGFzcz1cInAtYXV0b2NvbXBsZXRlLWNsZWFyLWljb24gcGkgcGktdGltZXNcIiAoY2xpY2spPVwiY2xlYXIoKVwiPjwvaT5cclxuICAgICAgICAgICAgPHVsICpuZ0lmPVwibXVsdGlwbGVcIiAjbXVsdGlDb250YWluZXIgY2xhc3M9XCJwLWF1dG9jb21wbGV0ZS1tdWx0aXBsZS1jb250YWluZXIgcC1jb21wb25lbnQgcC1pbnB1dHRleHRcIiBbbmdDbGFzc109XCJ7ICdwLWRpc2FibGVkJzogZGlzYWJsZWQsICdwLWZvY3VzJzogZm9jdXMgfVwiIChjbGljayk9XCJtdWx0aUluLmZvY3VzKClcIj5cclxuICAgICAgICAgICAgICAgIDxsaSAjdG9rZW4gKm5nRm9yPVwibGV0IHZhbCBvZiB2YWx1ZVwiIGNsYXNzPVwicC1hdXRvY29tcGxldGUtdG9rZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VsZWN0ZWRJdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiB2YWwgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIXNlbGVjdGVkSXRlbVRlbXBsYXRlXCIgY2xhc3M9XCJwLWF1dG9jb21wbGV0ZS10b2tlbi1sYWJlbFwiPnt7IHJlc29sdmVGaWVsZERhdGEodmFsKSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtYXV0b2NvbXBsZXRlLXRva2VuLWljb24gcGkgcGktdGltZXMtY2lyY2xlXCIgKGNsaWNrKT1cInJlbW92ZUl0ZW0odG9rZW4pXCIgKm5nSWY9XCIhZGlzYWJsZWQgJiYgIXJlYWRvbmx5XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInAtYXV0b2NvbXBsZXRlLWlucHV0LXRva2VuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICBwQXV0b0ZvY3VzXHJcbiAgICAgICAgICAgICAgICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAjbXVsdGlJblxyXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIudHlwZV09XCJ0eXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImlucHV0SWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInZhbHVlICYmIHZhbHVlLmxlbmd0aCA/IG51bGwgOiBwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uSW5wdXRDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoa2V5dXApPVwib25LZXl1cCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChmb2N1cyk9XCJvbklucHV0Rm9jdXMoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25JbnB1dENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChwYXN0ZSk9XCJvbklucHV0UGFzdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJpbnB1dFN0eWxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJpbnB1dFN0eWxlQ2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1hdXRvY29tcGxldGU9XCJsaXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwibGlzdElkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJzZWFyY2hib3hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJvdmVybGF5VmlzaWJsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdPVwiJ3AtaGlnaGxpZ2h0ZWQtb3B0aW9uJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDxpICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwicC1hdXRvY29tcGxldGUtbG9hZGVyIHBpIHBpLXNwaW5uZXIgcGktc3BpblwiPjwvaVxyXG4gICAgICAgICAgICA+PGJ1dHRvblxyXG4gICNkZEJ0blxyXG4gIHR5cGU9XCJidXR0b25cIlxyXG4gIHBCdXR0b25cclxuICBbaWNvbl09XCJkcm9wZG93bkljb25cIlxyXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiZHJvcGRvd25BcmlhTGFiZWxcIlxyXG4gIGNsYXNzPVwicC1hdXRvY29tcGxldGUtZHJvcGRvd25cIlxyXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgcFJpcHBsZVxyXG4gIChjbGljayk9XCJoYW5kbGVEcm9wZG93bkNsaWNrKCRldmVudClcIlxyXG4gICpuZ0lmPVwiZHJvcGRvd25cIlxyXG4gIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4XCJcclxuPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgI3BhbmVsXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJvdmVybGF5VmlzaWJsZVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uT3ZlcmxheUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlsncC1hdXRvY29tcGxldGUtcGFuZWwgcC1jb21wb25lbnQnXVwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLm1heC1oZWlnaHRdPVwidmlydHVhbFNjcm9sbCA/ICdhdXRvJyA6IHNjcm9sbEhlaWdodFwiXHJcbiAgICAgICAgICAgICAgW25nU3R5bGVdPVwicGFuZWxTdHlsZVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzXT1cInBhbmVsU3R5bGVDbGFzc1wiXHJcbiAgICAgICAgICAgICAgW0BvdmVybGF5QW5pbWF0aW9uXT1cInsgdmFsdWU6ICd2aXNpYmxlJywgcGFyYW1zOiB7IHNob3dUcmFuc2l0aW9uUGFyYW1zOiBzaG93VHJhbnNpdGlvbk9wdGlvbnMsIGhpZGVUcmFuc2l0aW9uUGFyYW1zOiBoaWRlVHJhbnNpdGlvbk9wdGlvbnMgfSB9XCJcclxuICAgICAgICAgICAgICAoQG92ZXJsYXlBbmltYXRpb24uc3RhcnQpPVwib25PdmVybGF5QW5pbWF0aW9uU3RhcnQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKEBvdmVybGF5QW5pbWF0aW9uLmRvbmUpPVwib25PdmVybGF5QW5pbWF0aW9uRW5kKCRldmVudClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxwLXNjcm9sbGVyXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwidmlydHVhbFNjcm9sbFwiXHJcbiAgICAgICAgICAgICAgICAgICNzY3JvbGxlclxyXG4gICAgICAgICAgICAgICAgICBbaXRlbXNdPVwic3VnZ2VzdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICBbc3R5bGVdPVwieyBoZWlnaHQ6IHNjcm9sbEhlaWdodCB9XCJcclxuICAgICAgICAgICAgICAgICAgW2l0ZW1TaXplXT1cInZpcnR1YWxTY3JvbGxJdGVtU2l6ZSB8fCBfaXRlbVNpemVcIlxyXG4gICAgICAgICAgICAgICAgICBbYXV0b1NpemVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtsYXp5XT1cImxhenlcIlxyXG4gICAgICAgICAgICAgICAgICAob25MYXp5TG9hZCk9XCJvbkxhenlMb2FkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cInZpcnR1YWxTY3JvbGxPcHRpb25zXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiIGxldC1pdGVtcyBsZXQtc2Nyb2xsZXJPcHRpb25zPVwib3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnVpbGRJbkl0ZW1zOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbXMsIG9wdGlvbnM6IHNjcm9sbGVyT3B0aW9ucyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGVyVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImxvYWRlclwiIGxldC1zY3JvbGxlck9wdGlvbnM9XCJvcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGVyVGVtcGxhdGU7IGNvbnRleHQ6IHsgb3B0aW9uczogc2Nyb2xsZXJPcHRpb25zIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvcC1zY3JvbGxlcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdmlydHVhbFNjcm9sbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidWlsZEluSXRlbXM7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBzdWdnZXN0aW9ucywgb3B0aW9uczoge30gfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNidWlsZEluSXRlbXMgbGV0LWl0ZW1zIGxldC1zY3JvbGxlck9wdGlvbnM9XCJvcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHVsICNpdGVtcyByb2xlPVwibGlzdGJveFwiIFthdHRyLmlkXT1cImxpc3RJZFwiIGNsYXNzPVwicC1hdXRvY29tcGxldGUtaXRlbXNcIiBbbmdDbGFzc109XCJzY3JvbGxlck9wdGlvbnMuY29udGVudFN0eWxlQ2xhc3NcIiBbc3R5bGVdPVwic2Nyb2xsZXJPcHRpb25zLmNvbnRlbnRTdHlsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtb3B0Z3JvdXAgW25nRm9yT2ZdPVwiaXRlbXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwLWF1dG9jb21wbGV0ZS1pdGVtLWdyb3VwXCIgW25nU3R5bGVdPVwieyBoZWlnaHQ6IHNjcm9sbGVyT3B0aW9ucy5pdGVtU2l6ZSArICdweCcgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFncm91cFRlbXBsYXRlXCI+e3sgZ2V0T3B0aW9uR3JvdXBMYWJlbChvcHRncm91cCkgfHwgJ2VtcHR5JyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImdyb3VwVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBvcHRncm91cCB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbXNsaXN0OyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZ2V0T3B0aW9uR3JvdXBDaGlsZHJlbihvcHRncm91cCkgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtc2xpc3Q7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtcyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW1zbGlzdCBsZXQtc3VnZ2VzdGlvbnNUb0Rpc3BsYXk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm9wdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc3VnZ2VzdGlvbnNUb0Rpc3BsYXk7IGxldCBpZHggPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC1hdXRvY29tcGxldGUtaXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBSaXBwbGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyBoZWlnaHQ6IHNjcm9sbGVyT3B0aW9ucy5pdGVtU2l6ZSArICdweCcgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3AtaGlnaGxpZ2h0Jzogb3B0aW9uID09PSBoaWdobGlnaHRPcHRpb24gfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJoaWdobGlnaHRPcHRpb24gPT0gb3B0aW9uID8gJ3AtaGlnaGxpZ2h0ZWQtb3B0aW9uJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0ob3B0aW9uKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXRlbVRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci50aXRsZV09XCJyZXNvbHZlRmllbGREYXRhKG9wdGlvbilcIj57eyByZXNvbHZlRmllbGREYXRhKG9wdGlvbikgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG9wdGlvbiwgaW5kZXg6IHNjcm9sbGVyT3B0aW9ucy5nZXRPcHRpb25zID8gc2Nyb2xsZXJPcHRpb25zLmdldE9wdGlvbnMoaWR4KSA6IGlkeCB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nSWY9XCJub1Jlc3VsdHMgJiYgc2hvd0VtcHR5TWVzc2FnZVwiIGNsYXNzPVwicC1hdXRvY29tcGxldGUtZW1wdHktbWVzc2FnZVwiIFtuZ1N0eWxlXT1cInsgaGVpZ2h0OiBzY3JvbGxlck9wdGlvbnMuaXRlbVNpemUgKyAncHgnIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZW1wdHlUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGVtcHR5TWVzc2FnZUxhYmVsIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgI2VtcHR5ICpuZ1RlbXBsYXRlT3V0bGV0PVwiZW1wdHlUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvc3Bhbj5cclxuIl19
@@ -1,20 +0,0 @@
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>\r\n <ul class=\"c-crumb\">\r\n <li class=\"c-crumb__item\">\r\n <a [routerLink]=\"['/main/page/home']\" translate=\"\">{{'Home' | translate }}</a>\r\n </li>\r\n <li *ngFor=\"let item of items; last as isLast\" class=\"c-crumb__item\">\r\n <a *ngIf=\"item.url && !isLast; else noUrl\" [routerLink]=\"item.url\" translate=\"\">{{item.label}}</a>\r\n <ng-template #noUrl>\r\n <span translate=\"\">{{item.label}}</span>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n</div>\r\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>\r\n <ul class=\"c-crumb\">\r\n <li class=\"c-crumb__item\">\r\n <a [routerLink]=\"['/main/page/home']\" translate=\"\">{{'Home' | translate }}</a>\r\n </li>\r\n <li *ngFor=\"let item of items; last as isLast\" class=\"c-crumb__item\">\r\n <a *ngIf=\"item.url && !isLast; else noUrl\" [routerLink]=\"item.url\" translate=\"\">{{item.label}}</a>\r\n <ng-template #noUrl>\r\n <span translate=\"\">{{item.label}}</span>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n</div>\r\n" }]
17
- }], ctorParameters: function () { return []; }, propDecorators: { items: [{
18
- type: Input
19
- }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnNwYXJrLWNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVMsTUFBTSxlQUFlLENBQUM7Ozs7O0FBU2hGLE1BQU0sT0FBTyxtQkFBbUI7SUFJOUI7SUFDQSxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7O2dIQVJVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLGlGQ1RoQyxxZ0JBYUE7MkZESmEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTTswRUFJdEMsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNZW51SXRlbX0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpbi1icmVhZGNydW1iJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgaXRlbXM6IE1lbnVJdGVtW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXY+XHJcbiAgPHVsIGNsYXNzPVwiYy1jcnVtYlwiPlxyXG4gICAgPGxpIGNsYXNzPVwiYy1jcnVtYl9faXRlbVwiPlxyXG4gICAgICA8YSBbcm91dGVyTGlua109XCJbJy9tYWluL3BhZ2UvaG9tZSddXCIgdHJhbnNsYXRlPVwiXCI+e3snSG9tZScgfCB0cmFuc2xhdGUgfX08L2E+XHJcbiAgICA8L2xpPlxyXG4gICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsYXN0IGFzIGlzTGFzdFwiIGNsYXNzPVwiYy1jcnVtYl9faXRlbVwiPlxyXG4gICAgICA8YSAqbmdJZj1cIml0ZW0udXJsICYmICFpc0xhc3Q7IGVsc2Ugbm9VcmxcIiBbcm91dGVyTGlua109XCJpdGVtLnVybFwiIHRyYW5zbGF0ZT1cIlwiPnt7aXRlbS5sYWJlbH19PC9hPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI25vVXJsPlxyXG4gICAgICAgIDxzcGFuIHRyYW5zbGF0ZT1cIlwiPnt7aXRlbS5sYWJlbH19PC9zcGFuPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9saT5cclxuICA8L3VsPlxyXG48L2Rpdj5cclxuIl19