@po-ui/ng-components 16.2.0 → 16.3.0

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 (70) hide show
  1. package/esm2022/lib/components/po-accordion/index.mjs +2 -1
  2. package/esm2022/lib/components/po-accordion/interfaces/po-accordion-literals.interface.mjs +2 -0
  3. package/esm2022/lib/components/po-accordion/po-accordion-base.component.mjs +150 -2
  4. package/esm2022/lib/components/po-accordion/po-accordion-item/po-accordion-item.component.mjs +63 -6
  5. package/esm2022/lib/components/po-accordion/po-accordion-item-header/po-accordion-item-header.component.mjs +44 -10
  6. package/esm2022/lib/components/po-accordion/po-accordion-manager/po-accordion-manager.component.mjs +43 -0
  7. package/esm2022/lib/components/po-accordion/po-accordion.component.mjs +93 -27
  8. package/esm2022/lib/components/po-accordion/po-accordion.module.mjs +13 -7
  9. package/esm2022/lib/components/po-breadcrumb/po-breadcrumb-base.component.mjs +24 -1
  10. package/esm2022/lib/components/po-breadcrumb/po-breadcrumb-favorite/po-breadcrumb-favorite.component.mjs +11 -6
  11. package/esm2022/lib/components/po-breadcrumb/po-breadcrumb.component.mjs +163 -65
  12. package/esm2022/lib/components/po-breadcrumb/po-breadcrumb.module.mjs +8 -15
  13. package/esm2022/lib/components/po-field/po-input/po-input-base.component.mjs +2 -1
  14. package/esm2022/lib/components/po-field/po-input/po-mask.mjs +1 -1
  15. package/esm2022/lib/components/po-field/po-input-generic/po-input-generic.mjs +20 -1
  16. package/esm2022/lib/components/po-field/po-lookup/po-lookup-base.component.mjs +15 -2
  17. package/esm2022/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal-base.component.mjs +7 -2
  18. package/esm2022/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.mjs +4 -4
  19. package/esm2022/lib/components/po-field/po-lookup/po-lookup.component.mjs +3 -2
  20. package/esm2022/lib/components/po-field/po-lookup/services/po-lookup-modal.service.mjs +3 -2
  21. package/esm2022/lib/components/po-field/po-upload/po-upload-base.service.mjs +6 -2
  22. package/esm2022/lib/components/po-list-view/po-list-view.component.mjs +4 -4
  23. package/esm2022/lib/components/po-popup/po-popup-base.component.mjs +7 -3
  24. package/esm2022/lib/components/po-popup/po-popup.component.mjs +2 -1
  25. package/esm2022/lib/components/po-tree-view/po-tree-view-base.component.mjs +37 -7
  26. package/esm2022/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.component.mjs +14 -6
  27. package/esm2022/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.interface.mjs +1 -1
  28. package/esm2022/lib/components/po-tree-view/po-tree-view-item-header/po-tree-view-item-header.component.mjs +50 -16
  29. package/esm2022/lib/components/po-tree-view/po-tree-view.component.mjs +5 -5
  30. package/fesm2022/po-ui-ng-components.mjs +10205 -9783
  31. package/fesm2022/po-ui-ng-components.mjs.map +1 -1
  32. package/lib/components/po-accordion/index.d.ts +1 -0
  33. package/lib/components/po-accordion/interfaces/po-accordion-literals.interface.d.ts +13 -0
  34. package/lib/components/po-accordion/po-accordion-base.component.d.ts +105 -1
  35. package/lib/components/po-accordion/po-accordion-item/po-accordion-item.component.d.ts +41 -1
  36. package/lib/components/po-accordion/po-accordion-item-header/po-accordion-item-header.component.d.ts +7 -1
  37. package/lib/components/po-accordion/po-accordion-manager/po-accordion-manager.component.d.ts +11 -0
  38. package/lib/components/po-accordion/po-accordion.component.d.ts +15 -1
  39. package/lib/components/po-accordion/po-accordion.module.d.ts +6 -2
  40. package/lib/components/po-breadcrumb/po-breadcrumb-base.component.d.ts +3 -0
  41. package/lib/components/po-breadcrumb/po-breadcrumb-favorite/po-breadcrumb-favorite.component.d.ts +2 -1
  42. package/lib/components/po-breadcrumb/po-breadcrumb.component.d.ts +14 -6
  43. package/lib/components/po-breadcrumb/po-breadcrumb.module.d.ts +7 -6
  44. package/lib/components/po-field/po-input-generic/po-input-generic.d.ts +2 -0
  45. package/lib/components/po-field/po-lookup/po-lookup-base.component.d.ts +17 -1
  46. package/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal-base.component.d.ts +4 -1
  47. package/lib/components/po-field/po-lookup/services/po-lookup-modal.service.d.ts +1 -0
  48. package/lib/components/po-field/po-switch/po-switch.component.d.ts +1 -1
  49. package/lib/components/po-modal/po-modal.component.d.ts +1 -1
  50. package/lib/components/po-popup/po-popup-base.component.d.ts +3 -1
  51. package/lib/components/po-tree-view/po-tree-view-base.component.d.ts +14 -1
  52. package/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.component.d.ts +3 -1
  53. package/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.interface.d.ts +4 -0
  54. package/lib/components/po-tree-view/po-tree-view-item-header/po-tree-view-item-header.component.d.ts +4 -1
  55. package/package.json +4 -4
  56. package/po-ui-ng-components-16.3.0.tgz +0 -0
  57. package/schematics/ng-add/index.js +1 -1
  58. package/schematics/ng-update/v14/index.js +1 -1
  59. package/schematics/ng-update/v15/index.js +1 -1
  60. package/schematics/ng-update/v16/index.js +1 -1
  61. package/schematics/ng-update/v2/index.js +1 -1
  62. package/schematics/ng-update/v3/index.js +1 -1
  63. package/schematics/ng-update/v4/index.js +1 -1
  64. package/schematics/ng-update/v5/index.js +1 -1
  65. package/schematics/ng-update/v6/index.js +1 -1
  66. package/esm2022/lib/components/po-breadcrumb/po-breadcrumb-dropdown/po-breadcrumb-dropdown.component.mjs +0 -44
  67. package/esm2022/lib/components/po-breadcrumb/po-breadcrumb-item/po-breadcrumb-item.component.mjs +0 -109
  68. package/lib/components/po-breadcrumb/po-breadcrumb-dropdown/po-breadcrumb-dropdown.component.d.ts +0 -14
  69. package/lib/components/po-breadcrumb/po-breadcrumb-item/po-breadcrumb-item.component.d.ts +0 -16
  70. package/po-ui-ng-components-16.2.0.tgz +0 -0
@@ -1,42 +1,120 @@
1
1
  import { Component, ElementRef, ViewChild } from '@angular/core';
2
2
  import { PoBreadcrumbBaseComponent } from './po-breadcrumb-base.component';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "./po-breadcrumb-dropdown/po-breadcrumb-dropdown.component";
6
- import * as i3 from "./po-breadcrumb-favorite/po-breadcrumb-favorite.component";
7
- import * as i4 from "./po-breadcrumb-item/po-breadcrumb-item.component";
4
+ import * as i1 from "../../services/po-language/po-language.service";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "../po-link/po-link.component";
7
+ import * as i4 from "../po-popup/po-popup.component";
8
+ import * as i5 from "../po-icon/po-icon.component";
9
+ import * as i6 from "./po-breadcrumb-favorite/po-breadcrumb-favorite.component";
8
10
  const _c0 = ["breadcrumb"];
9
11
  const _c1 = ["dropdownIcon"];
10
- function PoBreadcrumbComponent_li_3_Template(rf, ctx) { if (rf & 1) {
11
- const _r7 = i0.ɵɵgetCurrentView();
12
- i0.ɵɵelementStart(0, "li", 7, 8);
13
- i0.ɵɵlistener("click", function PoBreadcrumbComponent_li_3_Template_li_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.toggleDropdown()); });
14
- i0.ɵɵelement(2, "span", 9)(3, "div", 10);
12
+ const _c2 = ["target"];
13
+ const _c3 = ["popup"];
14
+ function PoBreadcrumbComponent_ul_3_Template(rf, ctx) { if (rf & 1) {
15
+ const _r8 = i0.ɵɵgetCurrentView();
16
+ i0.ɵɵelementStart(0, "ul", 6, 7)(2, "li")(3, "po-link", 8);
17
+ i0.ɵɵlistener("p-action", function PoBreadcrumbComponent_ul_3_Template_po_link_p_action_3_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.emitAction(ctx_r7.itemsView[0])); });
18
+ i0.ɵɵelementEnd()();
19
+ i0.ɵɵelement(4, "po-icon", 9);
20
+ i0.ɵɵelementStart(5, "li", 10, 11);
21
+ i0.ɵɵlistener("click", function PoBreadcrumbComponent_ul_3_Template_li_click_5_listener() { i0.ɵɵrestoreView(_r8); const _r6 = i0.ɵɵreference(16); return i0.ɵɵresetView(_r6.toggle()); })("keyup", function PoBreadcrumbComponent_ul_3_Template_li_keyup_5_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.openPopup($event)); });
22
+ i0.ɵɵelement(7, "po-icon", 12);
15
23
  i0.ɵɵelementEnd();
24
+ i0.ɵɵelement(8, "po-icon", 9);
25
+ i0.ɵɵelementStart(9, "li")(10, "po-link", 8);
26
+ i0.ɵɵlistener("p-action", function PoBreadcrumbComponent_ul_3_Template_po_link_p_action_10_listener() { i0.ɵɵrestoreView(_r8); const ctx_r11 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r11.emitAction(ctx_r11.itemsView[ctx_r11.itemsView.length - 2])); });
27
+ i0.ɵɵelementEnd()();
28
+ i0.ɵɵelement(11, "po-icon", 9);
29
+ i0.ɵɵelementStart(12, "li")(13, "span", 13);
30
+ i0.ɵɵtext(14);
31
+ i0.ɵɵelementEnd()();
32
+ i0.ɵɵelementStart(15, "po-popup", 14, 15);
33
+ i0.ɵɵlistener("p-close", function PoBreadcrumbComponent_ul_3_Template_po_popup_p_close_15_listener() { i0.ɵɵrestoreView(_r8); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.closePopUp()); });
34
+ i0.ɵɵelementEnd()();
35
+ } if (rf & 2) {
36
+ const _r5 = i0.ɵɵreference(6);
37
+ const ctx_r1 = i0.ɵɵnextContext();
38
+ i0.ɵɵadvance(3);
39
+ i0.ɵɵproperty("p-label", ctx_r1.itemsView[0].label)("p-url", ctx_r1.itemsView[0].link);
40
+ i0.ɵɵadvance(2);
41
+ i0.ɵɵattribute("aria-label", ctx_r1.literals.literalButtonPopup);
42
+ i0.ɵɵadvance(5);
43
+ i0.ɵɵproperty("p-label", ctx_r1.itemsView[ctx_r1.itemsView.length - 2].label)("p-url", ctx_r1.itemsView[ctx_r1.itemsView.length - 2].link);
44
+ i0.ɵɵadvance(3);
45
+ i0.ɵɵattribute("aria-current", ctx_r1.itemsView[ctx_r1.itemsView.length - 1].label);
46
+ i0.ɵɵadvance(1);
47
+ i0.ɵɵtextInterpolate(ctx_r1.itemsView[ctx_r1.itemsView.length - 1].label);
48
+ i0.ɵɵadvance(1);
49
+ i0.ɵɵproperty("p-hide-arrow", true)("p-actions", ctx_r1.itemsViewPopup)("p-target", _r5);
50
+ } }
51
+ function PoBreadcrumbComponent_ul_4_li_1_po_link_1_Template(rf, ctx) { if (rf & 1) {
52
+ const _r21 = i0.ɵɵgetCurrentView();
53
+ i0.ɵɵelementStart(0, "po-link", 8);
54
+ i0.ɵɵlistener("p-action", function PoBreadcrumbComponent_ul_4_li_1_po_link_1_Template_po_link_p_action_0_listener() { i0.ɵɵrestoreView(_r21); const item_r14 = i0.ɵɵnextContext().$implicit; const ctx_r19 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r19.emitAction(item_r14)); });
55
+ i0.ɵɵelementEnd();
56
+ } if (rf & 2) {
57
+ const item_r14 = i0.ɵɵnextContext().$implicit;
58
+ i0.ɵɵproperty("p-label", item_r14.label)("p-url", item_r14.link);
59
+ } }
60
+ function PoBreadcrumbComponent_ul_4_li_1_span_2_Template(rf, ctx) { if (rf & 1) {
61
+ i0.ɵɵelementStart(0, "span", 13);
62
+ i0.ɵɵtext(1);
63
+ i0.ɵɵelementEnd();
64
+ } if (rf & 2) {
65
+ const item_r14 = i0.ɵɵnextContext().$implicit;
66
+ i0.ɵɵattribute("aria-current", item_r14.label);
67
+ i0.ɵɵadvance(1);
68
+ i0.ɵɵtextInterpolate(item_r14.label);
69
+ } }
70
+ function PoBreadcrumbComponent_ul_4_li_1_po_icon_3_Template(rf, ctx) { if (rf & 1) {
71
+ i0.ɵɵelement(0, "po-icon", 9);
72
+ } }
73
+ function PoBreadcrumbComponent_ul_4_li_1_Template(rf, ctx) { if (rf & 1) {
74
+ i0.ɵɵelementStart(0, "li", 18);
75
+ i0.ɵɵtemplate(1, PoBreadcrumbComponent_ul_4_li_1_po_link_1_Template, 1, 2, "po-link", 19);
76
+ i0.ɵɵtemplate(2, PoBreadcrumbComponent_ul_4_li_1_span_2_Template, 2, 2, "span", 20);
77
+ i0.ɵɵtemplate(3, PoBreadcrumbComponent_ul_4_li_1_po_icon_3_Template, 1, 0, "po-icon", 21);
78
+ i0.ɵɵelementEnd();
79
+ } if (rf & 2) {
80
+ const itemIndex_r15 = ctx.index;
81
+ const ctx_r13 = i0.ɵɵnextContext(2);
82
+ i0.ɵɵadvance(1);
83
+ i0.ɵɵproperty("ngIf", !(itemIndex_r15 === ctx_r13.itemsView.length - 1));
84
+ i0.ɵɵadvance(1);
85
+ i0.ɵɵproperty("ngIf", itemIndex_r15 === ctx_r13.itemsView.length - 1);
86
+ i0.ɵɵadvance(1);
87
+ i0.ɵɵproperty("ngIf", !(itemIndex_r15 === ctx_r13.itemsView.length - 1));
16
88
  } }
17
- function PoBreadcrumbComponent_div_4_Template(rf, ctx) { if (rf & 1) {
18
- i0.ɵɵelementStart(0, "div");
19
- i0.ɵɵelement(1, "po-breadcrumb-item", 11);
89
+ function PoBreadcrumbComponent_ul_4_Template(rf, ctx) { if (rf & 1) {
90
+ i0.ɵɵelementStart(0, "ul", 16);
91
+ i0.ɵɵtemplate(1, PoBreadcrumbComponent_ul_4_li_1_Template, 4, 3, "li", 17);
20
92
  i0.ɵɵelementEnd();
21
93
  } if (rf & 2) {
22
- const item_r8 = ctx.$implicit;
23
- const itemIndex_r9 = ctx.index;
24
94
  const ctx_r2 = i0.ɵɵnextContext();
25
95
  i0.ɵɵadvance(1);
26
- i0.ɵɵproperty("p-action", item_r8.action)("p-label", item_r8.label)("p-link", item_r8.link)("p-item-active", itemIndex_r9 === ctx_r2.itemsView.length - 1);
96
+ i0.ɵɵproperty("ngForOf", ctx_r2.itemsView);
27
97
  } }
28
98
  function PoBreadcrumbComponent_po_breadcrumb_favorite_5_Template(rf, ctx) { if (rf & 1) {
29
- i0.ɵɵelement(0, "po-breadcrumb-favorite", 12);
99
+ i0.ɵɵelement(0, "po-breadcrumb-favorite", 22);
30
100
  } if (rf & 2) {
31
101
  const ctx_r3 = i0.ɵɵnextContext();
32
- i0.ɵɵproperty("p-favorite-service", ctx_r3.favoriteService)("p-item-active", ctx_r3.items[ctx_r3.items.length - 1])("p-params-service", ctx_r3.paramsService);
33
- } }
34
- function PoBreadcrumbComponent_po_breadcrumb_dropdown_6_Template(rf, ctx) { if (rf & 1) {
35
- i0.ɵɵelement(0, "po-breadcrumb-dropdown", 13);
36
- } if (rf & 2) {
37
- const ctx_r4 = i0.ɵɵnextContext();
38
- i0.ɵɵproperty("p-items", ctx_r4.dropdownItems);
102
+ i0.ɵɵproperty("p-favorite-service", ctx_r3.favoriteService)("p-item-active", ctx_r3.items[ctx_r3.items.length - 1])("p-params-service", ctx_r3.paramsService)("p-hidden-literal", ctx_r3.hiddenLiteralFavorite);
39
103
  } }
104
+ export const poBreadcrumbLiterals = {
105
+ en: {
106
+ literalButtonPopup: 'Menu pop up collapsed'
107
+ },
108
+ es: {
109
+ literalButtonPopup: 'Menú pop up colapsado'
110
+ },
111
+ pt: {
112
+ literalButtonPopup: 'Menu pop up colapsado'
113
+ },
114
+ ru: {
115
+ literalButtonPopup: 'меню свернуто'
116
+ }
117
+ };
40
118
  /**
41
119
  * @docsExtends PoBreadcrumbBaseComponent
42
120
  *
@@ -55,22 +133,32 @@ function PoBreadcrumbComponent_po_breadcrumb_dropdown_6_Template(rf, ctx) { if (
55
133
  export class PoBreadcrumbComponent extends PoBreadcrumbBaseComponent {
56
134
  element;
57
135
  renderer;
136
+ languageService;
58
137
  breadcrumbElement;
59
138
  dropdownIcon;
139
+ svgTarget;
140
+ popupContainer;
60
141
  showDropdown = false;
61
142
  showDropdownToggle = false;
62
143
  dropdownItems;
144
+ literals;
145
+ hiddenLiteralFavorite = false;
63
146
  _breadcrumbItemsLenght = 0;
64
147
  calculatedElement = false;
65
148
  differ;
66
149
  hiddenWithoutResize = false;
67
150
  initialized = false;
68
151
  timeoutResize;
69
- constructor(differs, element, renderer) {
152
+ constructor(differs, element, renderer, languageService) {
70
153
  super();
71
154
  this.element = element;
72
155
  this.renderer = renderer;
156
+ this.languageService = languageService;
73
157
  this.differ = differs.find([]).create(null);
158
+ const language = languageService.getShortLanguage();
159
+ this.literals = {
160
+ ...poBreadcrumbLiterals[language]
161
+ };
74
162
  }
75
163
  ngAfterViewInit() {
76
164
  this.initialized = true;
@@ -90,22 +178,20 @@ export class PoBreadcrumbComponent extends PoBreadcrumbBaseComponent {
90
178
  this.checkChangeOnItems();
91
179
  }
92
180
  ngOnDestroy() {
93
- this.removeClickoutListener();
94
181
  this.removeResizeListener();
95
182
  }
96
- toggleDropdown() {
97
- this.showDropdown = !this.showDropdown;
98
- this.initializeClickoutListener();
183
+ emitAction(item) {
184
+ if (item.action) {
185
+ item.action();
186
+ }
99
187
  }
100
- wasClickedonDropdown = (event) => {
101
- const clickedOutIconDropdown = this.checkClickOutElement(event, this.dropdownIcon);
102
- if (clickedOutIconDropdown) {
103
- this.showDropdown = false;
104
- this.removeClickoutListener();
188
+ openPopup(event) {
189
+ if (event.code === 'Enter' || event.code === 'Space') {
190
+ this.popupContainer.open();
105
191
  }
106
- };
107
- checkClickOutElement(event, element) {
108
- return element && !element.nativeElement.contains(event.target);
192
+ }
193
+ closePopUp() {
194
+ this.svgTarget.nativeElement.focus();
109
195
  }
110
196
  checkChangeOnItems() {
111
197
  if (this.differ) {
@@ -118,32 +204,45 @@ export class PoBreadcrumbComponent extends PoBreadcrumbBaseComponent {
118
204
  }
119
205
  calcBreadcrumb() {
120
206
  const breadcrumbFavorite = this.getBreadcrumbFavoriteWidth();
121
- const breadcrumb = this.getBreadcrumbWidth(breadcrumbFavorite);
207
+ const existLabel = this.existsFavoritelabel();
208
+ const breadcrumb = this.getBreadcrumbWidth(breadcrumbFavorite, existLabel);
209
+ const breadcrumbTooltip = this.getBreadcrumbTooltipWidth();
122
210
  if (breadcrumb <= this._breadcrumbItemsLenght) {
123
211
  this.enableBreadcrumbResponsive();
124
212
  }
125
213
  else {
126
214
  this.disableBreadcrumbResponsive();
127
215
  }
216
+ if (breadcrumbTooltip && breadcrumb <= breadcrumbTooltip) {
217
+ this.hiddenLiteralFavorite = true;
218
+ }
219
+ else {
220
+ this.hiddenLiteralFavorite = false;
221
+ }
128
222
  }
129
223
  getBreadcrumbFavoriteWidth() {
130
224
  return this.favoriteService
131
225
  ? this.element.nativeElement.querySelector('.po-breadcrumb-favorite').offsetWidth + 20
132
226
  : 0;
133
227
  }
134
- getBreadcrumbWidth(breadcrumbFavorite) {
135
- return this.element.nativeElement.querySelector('.po-breadcrumb').offsetWidth - breadcrumbFavorite;
228
+ getBreadcrumbTooltipWidth() {
229
+ return this.favoriteService ? this.element.nativeElement.querySelector('.po-breadcrumb-tooltip')?.offsetWidth : 0;
230
+ }
231
+ existsFavoritelabel() {
232
+ return !!this.element.nativeElement.querySelector('.po-breadcrumb-favorite-label');
233
+ }
234
+ getBreadcrumbWidth(breadcrumbFavorite, existLabel) {
235
+ const widthSpan = !existLabel ? 95 : 0;
236
+ return this.element.nativeElement.querySelector('.po-breadcrumb').offsetWidth - (breadcrumbFavorite + widthSpan);
136
237
  }
137
238
  calcBreadcrumbItemsWidth() {
138
- const breadcrumbItem = this.element.nativeElement.querySelectorAll('.po-breadcrumb-item, .po-breadcrumb-item-unclickable');
239
+ const breadcrumbItem = this.element.nativeElement.querySelectorAll('.po-breadcrumb-item');
139
240
  this._breadcrumbItemsLenght = Array.from(breadcrumbItem)
140
241
  .map(breadcrumb => breadcrumb['offsetWidth'])
141
242
  .reduce((a, b) => a + b, 16);
142
243
  }
143
244
  enableBreadcrumbResponsive() {
144
245
  this.showDropdownToggle = true;
145
- this.itemsView = this.items.slice(-2);
146
- this.dropdownItems = this.items.slice(0, -2).reverse();
147
246
  }
148
247
  disableBreadcrumbResponsive() {
149
248
  this.showDropdownToggle = false;
@@ -168,57 +267,56 @@ export class PoBreadcrumbComponent extends PoBreadcrumbBaseComponent {
168
267
  this.calcBreadcrumb();
169
268
  this.calculatedElement = true;
170
269
  }
171
- initializeClickoutListener() {
172
- this.clickoutListener = this.renderer.listen('document', 'click', this.wasClickedonDropdown);
173
- }
174
270
  initializeResizeListener() {
175
271
  this.resizeListener = this.renderer.listen('window', 'resize', (event) => {
176
272
  this.debounceResize();
177
273
  });
178
274
  }
179
- removeClickoutListener() {
180
- if (this.clickoutListener) {
181
- this.clickoutListener();
182
- }
183
- }
184
275
  removeResizeListener() {
185
276
  this.resizeListener();
186
277
  }
187
- static ɵfac = function PoBreadcrumbComponent_Factory(t) { return new (t || PoBreadcrumbComponent)(i0.ɵɵdirectiveInject(i0.IterableDiffers), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2)); };
278
+ static ɵfac = function PoBreadcrumbComponent_Factory(t) { return new (t || PoBreadcrumbComponent)(i0.ɵɵdirectiveInject(i0.IterableDiffers), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i1.PoLanguageService)); };
188
279
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoBreadcrumbComponent, selectors: [["po-breadcrumb"]], viewQuery: function PoBreadcrumbComponent_Query(rf, ctx) { if (rf & 1) {
189
280
  i0.ɵɵviewQuery(_c0, 7, ElementRef);
190
281
  i0.ɵɵviewQuery(_c1, 5, ElementRef);
282
+ i0.ɵɵviewQuery(_c2, 5, ElementRef);
283
+ i0.ɵɵviewQuery(_c3, 5);
191
284
  } if (rf & 2) {
192
285
  let _t;
193
286
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.breadcrumbElement = _t.first);
194
287
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.dropdownIcon = _t.first);
195
- } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 4, consts: [[1, "po-breadcrumb"], ["breadcrumb", ""], [1, "po-breadcrumb-items"], ["class", "po-breadcrumb-item po-clickable", 3, "click", 4, "ngIf"], [4, "ngFor", "ngForOf"], [3, "p-favorite-service", "p-item-active", "p-params-service", 4, "ngIf"], [3, "p-items", 4, "ngIf"], [1, "po-breadcrumb-item", "po-clickable", 3, "click"], ["dropdownIcon", ""], [1, "po-breadcrumb-icon-more", "po-icon", "po-icon-more"], [1, "po-breadcrumb-arrow"], [3, "p-action", "p-label", "p-link", "p-item-active"], [3, "p-favorite-service", "p-item-active", "p-params-service"], [3, "p-items"]], template: function PoBreadcrumbComponent_Template(rf, ctx) { if (rf & 1) {
196
- i0.ɵɵelementStart(0, "div", 0, 1)(2, "ul", 2);
197
- i0.ɵɵtemplate(3, PoBreadcrumbComponent_li_3_Template, 4, 0, "li", 3);
198
- i0.ɵɵtemplate(4, PoBreadcrumbComponent_div_4_Template, 2, 4, "div", 4);
288
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.svgTarget = _t.first);
289
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.popupContainer = _t.first);
290
+ } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 6, vars: 3, consts: [[1, "po-breadcrumb"], ["breadcrumb", ""], [1, "po-breadcrumb-items"], ["class", "po-breadcrumb-item po-clickable po-breadcrumb-tooltip", 4, "ngIf"], ["class", "po-breadcrumb-item-container", 4, "ngIf"], [3, "p-favorite-service", "p-item-active", "p-params-service", "p-hidden-literal", 4, "ngIf"], [1, "po-breadcrumb-item", "po-clickable", "po-breadcrumb-tooltip"], ["dropdownIcon", ""], [3, "p-label", "p-url", "p-action"], ["p-icon", "po-icon-arrow-right po-breadcrumb-icon-arrow"], ["role", "button", "tabindex", "0", 1, "po-breadcrumb-icon-more", 3, "click", "keyup"], ["target", ""], ["p-icon", "po-icon-more-vert"], ["role", "link", "tabindex", "0", 1, "po-breadcrumb-item-activate"], ["p-position", "bottom-right", 3, "p-hide-arrow", "p-actions", "p-target", "p-close"], ["popup", ""], [1, "po-breadcrumb-item-container"], ["class", "po-breadcrumb-item", 4, "ngFor", "ngForOf"], [1, "po-breadcrumb-item"], [3, "p-label", "p-url", "p-action", 4, "ngIf"], ["class", "po-breadcrumb-item-activate", "role", "link", "tabindex", "0", 4, "ngIf"], ["p-icon", "po-icon-arrow-right po-breadcrumb-icon-arrow", 4, "ngIf"], [3, "p-favorite-service", "p-item-active", "p-params-service", "p-hidden-literal"]], template: function PoBreadcrumbComponent_Template(rf, ctx) { if (rf & 1) {
291
+ i0.ɵɵelementStart(0, "nav", 0, 1)(2, "div", 2);
292
+ i0.ɵɵtemplate(3, PoBreadcrumbComponent_ul_3_Template, 17, 10, "ul", 3);
293
+ i0.ɵɵtemplate(4, PoBreadcrumbComponent_ul_4_Template, 2, 1, "ul", 4);
199
294
  i0.ɵɵelementEnd();
200
- i0.ɵɵtemplate(5, PoBreadcrumbComponent_po_breadcrumb_favorite_5_Template, 1, 3, "po-breadcrumb-favorite", 5);
201
- i0.ɵɵtemplate(6, PoBreadcrumbComponent_po_breadcrumb_dropdown_6_Template, 1, 1, "po-breadcrumb-dropdown", 6);
295
+ i0.ɵɵtemplate(5, PoBreadcrumbComponent_po_breadcrumb_favorite_5_Template, 1, 4, "po-breadcrumb-favorite", 5);
202
296
  i0.ɵɵelementEnd();
203
297
  } if (rf & 2) {
204
298
  i0.ɵɵadvance(3);
205
- i0.ɵɵproperty("ngIf", ctx.showDropdownToggle);
299
+ i0.ɵɵproperty("ngIf", ctx.showDropdownToggle && ctx.itemsView.length >= 4);
206
300
  i0.ɵɵadvance(1);
207
- i0.ɵɵproperty("ngForOf", ctx.itemsView);
301
+ i0.ɵɵproperty("ngIf", !ctx.showDropdownToggle || ctx.itemsView.length < 4);
208
302
  i0.ɵɵadvance(1);
209
303
  i0.ɵɵproperty("ngIf", ctx.favoriteService);
210
- i0.ɵɵadvance(1);
211
- i0.ɵɵproperty("ngIf", ctx.showDropdown);
212
- } }, dependencies: [i1.NgForOf, i1.NgIf, i2.PoBreadcrumbDropdownComponent, i3.PoBreadcrumbFavoriteComponent, i4.PoBreadcrumbItemComponent], encapsulation: 2 });
304
+ } }, dependencies: [i2.NgForOf, i2.NgIf, i3.PoLinkComponent, i4.PoPopupComponent, i5.PoIconComponent, i6.PoBreadcrumbFavoriteComponent], encapsulation: 2 });
213
305
  }
214
306
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoBreadcrumbComponent, [{
215
307
  type: Component,
216
- args: [{ selector: 'po-breadcrumb', template: "<div class=\"po-breadcrumb\" #breadcrumb>\n <ul class=\"po-breadcrumb-items\">\n <li #dropdownIcon *ngIf=\"showDropdownToggle\" class=\"po-breadcrumb-item po-clickable\" (click)=\"toggleDropdown()\">\n <span class=\"po-breadcrumb-icon-more po-icon po-icon-more\"></span>\n <div class=\"po-breadcrumb-arrow\"></div>\n </li>\n\n <div *ngFor=\"let item of itemsView; let itemIndex = index\">\n <po-breadcrumb-item\n [p-action]=\"item.action\"\n [p-label]=\"item.label\"\n [p-link]=\"item.link\"\n [p-item-active]=\"itemIndex === itemsView.length - 1\"\n >\n </po-breadcrumb-item>\n </div>\n </ul>\n\n <po-breadcrumb-favorite\n *ngIf=\"favoriteService\"\n [p-favorite-service]=\"favoriteService\"\n [p-item-active]=\"items[items.length - 1]\"\n [p-params-service]=\"paramsService\"\n >\n </po-breadcrumb-favorite>\n\n <po-breadcrumb-dropdown *ngIf=\"showDropdown\" [p-items]=\"dropdownItems\"> </po-breadcrumb-dropdown>\n</div>\n" }]
217
- }], function () { return [{ type: i0.IterableDiffers }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, { breadcrumbElement: [{
308
+ args: [{ selector: 'po-breadcrumb', template: "<nav class=\"po-breadcrumb\" #breadcrumb>\n <div class=\"po-breadcrumb-items\">\n <ul\n #dropdownIcon\n *ngIf=\"showDropdownToggle && itemsView.length >= 4\"\n class=\"po-breadcrumb-item po-clickable po-breadcrumb-tooltip\"\n >\n <li>\n <po-link\n [p-label]=\"itemsView[0].label\"\n [p-url]=\"itemsView[0].link\"\n (p-action)=\"emitAction(itemsView[0])\"\n ></po-link>\n </li>\n\n <po-icon p-icon=\"po-icon-arrow-right po-breadcrumb-icon-arrow\"></po-icon>\n\n <li\n #target\n class=\"po-breadcrumb-icon-more\"\n [attr.aria-label]=\"literals.literalButtonPopup\"\n role=\"button\"\n tabindex=\"0\"\n (click)=\"popup.toggle()\"\n (keyup)=\"openPopup($event)\"\n >\n <po-icon p-icon=\"po-icon-more-vert\"></po-icon>\n </li>\n <po-icon p-icon=\"po-icon-arrow-right po-breadcrumb-icon-arrow\"></po-icon>\n\n <li>\n <po-link\n [p-label]=\"itemsView[itemsView.length - 2].label\"\n [p-url]=\"itemsView[itemsView.length - 2].link\"\n (p-action)=\"emitAction(itemsView[itemsView.length - 2])\"\n ></po-link>\n </li>\n <po-icon p-icon=\"po-icon-arrow-right po-breadcrumb-icon-arrow\"></po-icon>\n\n <li>\n <span\n class=\"po-breadcrumb-item-activate\"\n role=\"link\"\n tabindex=\"0\"\n [attr.aria-current]=\"itemsView[itemsView.length - 1].label\"\n >{{ itemsView[itemsView.length - 1].label }}</span\n >\n </li>\n <po-popup\n #popup\n p-position=\"bottom-right\"\n (p-close)=\"closePopUp()\"\n [p-hide-arrow]=\"true\"\n [p-actions]=\"itemsViewPopup\"\n [p-target]=\"target\"\n >\n </po-popup>\n </ul>\n\n <ul *ngIf=\"!showDropdownToggle || itemsView.length < 4\" class=\"po-breadcrumb-item-container\">\n <li *ngFor=\"let item of itemsView; let itemIndex = index\" class=\"po-breadcrumb-item\">\n <po-link\n *ngIf=\"!(itemIndex === itemsView.length - 1)\"\n [p-label]=\"item.label\"\n [p-url]=\"item.link\"\n (p-action)=\"emitAction(item)\"\n ></po-link>\n <span\n class=\"po-breadcrumb-item-activate\"\n role=\"link\"\n tabindex=\"0\"\n *ngIf=\"itemIndex === itemsView.length - 1\"\n [attr.aria-current]=\"item.label\"\n >{{ item.label }}</span\n >\n <po-icon\n *ngIf=\"!(itemIndex === itemsView.length - 1)\"\n p-icon=\"po-icon-arrow-right po-breadcrumb-icon-arrow\"\n ></po-icon>\n </li>\n </ul>\n </div>\n\n <po-breadcrumb-favorite\n *ngIf=\"favoriteService\"\n [p-favorite-service]=\"favoriteService\"\n [p-item-active]=\"items[items.length - 1]\"\n [p-params-service]=\"paramsService\"\n [p-hidden-literal]=\"hiddenLiteralFavorite\"\n >\n </po-breadcrumb-favorite>\n</nav>\n" }]
309
+ }], function () { return [{ type: i0.IterableDiffers }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.PoLanguageService }]; }, { breadcrumbElement: [{
218
310
  type: ViewChild,
219
311
  args: ['breadcrumb', { read: ElementRef, static: true }]
220
312
  }], dropdownIcon: [{
221
313
  type: ViewChild,
222
314
  args: ['dropdownIcon', { read: ElementRef }]
315
+ }], svgTarget: [{
316
+ type: ViewChild,
317
+ args: ['target', { read: ElementRef }]
318
+ }], popupContainer: [{
319
+ type: ViewChild,
320
+ args: ['popup']
223
321
  }] }); })();
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tYnJlYWRjcnVtYi9wby1icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1icmVhZGNydW1iL3BvLWJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxVQUFVLEVBSVYsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7O0lDVHZFLGdDQUFnSDtJQUEzQiw2SkFBUyxlQUFBLHVCQUFnQixDQUFBLElBQUM7SUFDN0csMEJBQWtFLGNBQUE7SUFFcEUsaUJBQUs7OztJQUVMLDJCQUEyRDtJQUN6RCx5Q0FNcUI7SUFDdkIsaUJBQU07Ozs7O0lBTkYsZUFBd0I7SUFBeEIseUNBQXdCLDBCQUFBLHdCQUFBLCtEQUFBOzs7SUFTOUIsNkNBTXlCOzs7SUFKdkIsMkRBQXNDLHdEQUFBLDBDQUFBOzs7SUFNeEMsNkNBQWlHOzs7SUFBcEQsOENBQXlCOztBRFp4RTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUtILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx5QkFBeUI7SUFlcEI7SUFBNEI7SUFkYixpQkFBaUIsQ0FBYTtJQUMxQyxZQUFZLENBQWE7SUFFMUUsWUFBWSxHQUFZLEtBQUssQ0FBQztJQUM5QixrQkFBa0IsR0FBWSxLQUFLLENBQUM7SUFDcEMsYUFBYSxDQUEwQjtJQUUvQixzQkFBc0IsR0FBVyxDQUFDLENBQUM7SUFDbkMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQzFCLE1BQU0sQ0FBQztJQUNQLG1CQUFtQixHQUFHLEtB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b0JBQW9CO1FBQzFCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDOytFQTlKVSxxQkFBcUI7NkRBQXJCLHFCQUFxQjttQ0FDQyxVQUFVO21DQUNSLFVBQVU7Ozs7OztZQ25DL0MsaUNBQXVDLFlBQUE7WUFFbkMsb0VBR0s7WUFFTCxzRUFRTTtZQUNSLGlCQUFLO1lBRUwsNEdBTXlCO1lBRXpCLDRHQUFpRztZQUNuRyxpQkFBTTs7WUF6QmlCLGVBQXdCO1lBQXhCLDZDQUF3QjtZQUtyQixlQUFjO1lBQWQsdUNBQWM7WUFZbkMsZUFBcUI7WUFBckIsMENBQXFCO1lBT0MsZUFBa0I7WUFBbEIsdUNBQWtCOzs7dUZET2hDLHFCQUFxQjtjQUpqQyxTQUFTOzJCQUNFLGVBQWU7bUhBSW9DLGlCQUFpQjtrQkFBN0UsU0FBUzttQkFBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDVixZQUFZO2tCQUE1RCxTQUFTO21CQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIERvQ2hlY2ssXG4gIEVsZW1lbnRSZWYsXG4gIEl0ZXJhYmxlRGlmZmVycyxcbiAgT25EZXN0cm95LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUG9CcmVhZGNydW1iQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tYnJlYWRjcnVtYi1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb0JyZWFkY3J1bWJJdGVtIH0gZnJvbSAnLi9wby1icmVhZGNydW1iLWl0ZW0uaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9CcmVhZGNydW1iQmFzZUNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWJyZWFkY3J1bWItYmFzaWNcIiB0aXRsZT1cIlBPIEJyZWFkY3J1bWIgQmFzaWNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWJyZWFkY3J1bWItYmFzaWMvc2FtcGxlLXBvLWJyZWFkY3J1bWItYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tYnJlYWRjcnVtYi1iYXNpYy9zYW1wbGUtcG8tYnJlYWRjcnVtYi1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1icmVhZGNydW1iLWxhYnNcIiB0aXRsZT1cIlBPIEJyZWFkY3J1bWIgTGFic1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tYnJlYWRjcnVtYi1sYWJzL3NhbXBsZS1wby1icmVhZGNydW1iLWxhYnMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tYnJlYWRjcnVtYi1sYWJzL3NhbXBsZS1wby1icmVhZGNydW1iLWxhYnMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tYnJlYWRjcnVtYicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQb0JyZWFkY3J1bWJDb21wb25lbnQgZXh0ZW5kcyBQb0JyZWFkY3J1bWJCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgRG9DaGVjaywgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnYnJlYWRjcnVtYicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGJyZWFkY3J1bWJFbGVtZW50OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdkcm9wZG93bkljb24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgZHJvcGRvd25JY29uOiBFbGVtZW50UmVmO1xuXG4gIHNob3dEcm9wZG93bjogYm9vbGVhbiA9IGZhbHNlO1xuICBzaG93RHJvcGRvd25Ub2dnbGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZHJvcGRvd25JdGVtczogQXJyYXk8UG9CcmVhZGNydW1iSXRlbT47XG5cbiAgcHJpdmF0ZSBfYnJlYWRjcnVtYkl0ZW1zTGVuZ2h0OiBudW1iZXIgPSAwO1xuICBwcml2YXRlIGNhbGN1bGF0ZWRFbGVtZW50ID0gZmFsc2U7XG4gIHByaXZhdGUgZGlmZmVyO1xuICBwcml2YXRlIGhpZGRlbldpdGhvdXRSZXNpemUgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpbml0aWFsaXplZCA9IGZhbHNlO1xuICBwcml2YXRlIHRpbWVvdXRSZXNpemU7XG5cbiAgY29uc3RydWN0b3IoZGlmZmVyczogSXRlcmFibGVEaWZmZXJzLCBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmRpZmZlciA9IGRpZmZlcnMuZmluZChbXSkuY3JlYXRlKG51bGwpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuXG4gICAgdGhpcy5pbml0aWFsaXplUmVzaXplTGlzdGVuZXIoKTtcbiAgfVxuXG4gIG5nRG9DaGVjaygpIHtcbiAgICBjb25zdCBicmVhZGNydW1iV2lkdGggPSB0aGlzLmJyZWFkY3J1bWJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG5cbiAgICAvLyBQZXJtaXRlIHF1ZSBvcyBkaXNjbGFpbWVycyBzZWphbSBjYWxjdWxhZG9zIG5hIHByaW1laXJhIHZleiBxdWUgbyBjb21wb25lbnRlIHRvcm5hLXNlIHZpc8OtdmVsLFxuICAgIC8vIGV2aXRhbmRvIGNvbSBpc3NvLCBwcm9ibGVtYXMgY29tIFRhYnMgb3UgRGl2cyBxdWUgaW5pY2llbSBlc2NvbmRpZGFzLlxuICAgIGlmIChicmVhZGNydW1iV2lkdGggJiYgIXRoaXMuY2FsY3VsYXRlZEVsZW1lbnQgJiYgdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5pbml0QnJlYWRjcnVtYlNpemUoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oaWRkZW5XaXRob3V0UmVzaXplKSB7XG4gICAgICB0aGlzLmRlYm91bmNlUmVzaXplKCk7XG4gICAgICB0aGlzLmhpZGRlbldpdGhvdXRSZXNpemUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmNoZWNrQ2hhbmdlT25JdGVtcygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5yZW1vdmVDbGlja291dExpc3RlbmVyKCk7XG4gICAgdGhpcy5yZW1vdmVSZXNpemVMaXN0ZW5lcigpO1xuICB9XG5cbiAgdG9nZ2xlRHJvcGRvd24oKSB7XG4gICAgdGhpcy5zaG93RHJvcGRvd24gPSAhdGhpcy5zaG93RHJvcGRvd247XG4gICAgdGhpcy5pbml0aWFsaXplQ2xpY2tvdXRMaXN0ZW5lcigpO1xuICB9XG5cbiAgcHJpdmF0ZSB3YXNDbGlja2Vkb25Ecm9wZG93biA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgIGNvbnN0IGNsaWNrZWRPdXRJY29uRHJvcGRvd24gPSB0aGlzLmNoZWNrQ2xpY2tPdXRFbGVtZW50KGV2ZW50LCB0aGlzLmRyb3Bkb3duSWNvbik7XG5cbiAgICBpZiAoY2xpY2tlZE91dEljb25Ecm9wZG93bikge1xuICAgICAgdGhpcy5zaG93RHJvcGRvd24gPSBmYWxzZTtcbiAgICAgIHRoaXMucmVtb3ZlQ2xpY2tvdXRMaXN0ZW5lcigpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIGNoZWNrQ2xpY2tPdXRFbGVtZW50KGV2ZW50LCBlbGVtZW50KSB7XG4gICAgcmV0dXJuIGVsZW1lbnQgJiYgIWVsZW1lbnQubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0NoYW5nZU9uSXRlbXMoKSB7XG4gICAgaWYgKHRoaXMuZGlmZmVyKSB7XG4gICAgICBjb25zdCBjaGFuZ2VzID0gdGhpcy5kaWZmZXIuZGlmZih0aGlzLml0ZW1zKTtcbiAgICAgIGlmIChjaGFuZ2VzKSB7XG4gICAgICAgIHRoaXMuY2FsY0JyZWFkY3J1bWJJdGVtc1dpZHRoKCk7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlZEVsZW1lbnQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNhbGNCcmVhZGNydW1iKCkge1xuICAgIGNvbnN0IGJyZWFkY3J1bWJGYXZvcml0ZSA9IHRoaXMuZ2V0QnJlYWRjcnVtYkZhdm9yaXRlV2lkdGgoKTtcbiAgICBjb25zdCBicmVhZGNydW1iID0gdGhpcy5nZXRCcmVhZGNydW1iV2lkdGgoYnJlYWRjcnVtYkZhdm9yaXRlKTtcblxuICAgIGlmIChicmVhZGNydW1iIDw9IHRoaXMuX2JyZWFkY3J1bWJJdGVtc0xlbmdodCkge1xuICAgICAgdGhpcy5lbmFibGVCcmVhZGNydW1iUmVzcG9uc2l2ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRpc2FibGVCcmVhZGNydW1iUmVzcG9uc2l2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0QnJlYWRjcnVtYkZhdm9yaXRlV2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmF2b3JpdGVTZXJ2aWNlXG4gICAgICA/IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wby1icmVhZGNydW1iLWZhdm9yaXRlJykub2Zmc2V0V2lkdGggKyAyMFxuICAgICAgOiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCcmVhZGNydW1iV2lkdGgoYnJlYWRjcnVtYkZhdm9yaXRlKSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wby1icmVhZGNydW1iJykub2Zmc2V0V2lkdGggLSBicmVhZGNydW1iRmF2b3JpdGU7XG4gIH1cblxuICBwcml2YXRlIGNhbGNCcmVhZGNydW1iSXRlbXNXaWR0aCgpIHtcbiAgICBjb25zdCBicmVhZGNydW1iSXRlbSA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAnLnBvLWJyZWFkY3J1bWItaXRlbSwgLnBvLWJyZWFkY3J1bWItaXRlbS11bmNsaWNrYWJsZSdcbiAgICApO1xuXG4gICAgdGhpcy5fYnJlYWRjcnVtYkl0ZW1zTGVuZ2h0ID0gQXJyYXkuZnJvbShicmVhZGNydW1iSXRlbSlcbiAgICAgIC5tYXAoYnJlYWRjcnVtYiA9PiBicmVhZGNydW1iWydvZmZzZXRXaWR0aCddKVxuICAgICAgLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIDE2KTtcbiAgfVxuXG4gIHByaXZhdGUgZW5hYmxlQnJlYWRjcnVtYlJlc3BvbnNpdmUoKSB7XG4gICAgdGhpcy5zaG93RHJvcGRvd25Ub2dnbGUgPSB0cnVlO1xuICAgIHRoaXMuaXRlbXNWaWV3ID0gdGhpcy5pdGVtcy5zbGljZSgtMik7XG4gICAgdGhpcy5kcm9wZG93bkl0ZW1zID0gdGhpcy5pdGVtcy5zbGljZSgwLCAtMikucmV2ZXJzZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNhYmxlQnJlYWRjcnVtYlJlc3BvbnNpdmUoKSB7XG4gICAgdGhpcy5zaG93RHJvcGRvd25Ub2dnbGUgPSBmYWxzZTtcbiAgICB0aGlzLml0ZW1zVmlldyA9IFtdLmNvbmNhdCh0aGlzLml0ZW1zKTtcbiAgICB0aGlzLnNob3dEcm9wZG93biA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWJvdW5jZVJlc2l6ZSgpIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0UmVzaXplKTtcbiAgICB0aGlzLnRpbWVvdXRSZXNpemUgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVkRWxlbWVudCAmJlxuICAgICAgICAhdGhpcy5oaWRkZW5XaXRob3V0UmVzaXplICYmXG4gICAgICAgIHRoaXMuYnJlYWRjcnVtYkVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCA9PT0gMFxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuaGlkZGVuV2l0aG91dFJlc2l6ZSA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNhbGNCcmVhZGNydW1iKCk7XG4gICAgICB9XG4gICAgfSwgNTApO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0QnJlYWRjcnVtYlNpemUoKSB7XG4gICAgdGhpcy5jYWxjQnJlYWRjcnVtYkl0ZW1zV2lkdGgoKTtcbiAgICB0aGlzLmNhbGNCcmVhZGNydW1iKCk7XG4gICAgdGhpcy5jYWxjdWxhdGVkRWxlbWVudCA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVDbGlja291dExpc3RlbmVyKCkge1xuICAgIHRoaXMuY2xpY2tvdXRMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdjbGljaycsIHRoaXMud2FzQ2xpY2tlZG9uRHJvcGRvd24pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplUmVzaXplTGlzdGVuZXIoKSB7XG4gICAgdGhpcy5yZXNpemVMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAncmVzaXplJywgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICB0aGlzLmRlYm91bmNlUmVzaXplKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUNsaWNrb3V0TGlzdGVuZXIoKSB7XG4gICAgaWYgKHRoaXMuY2xpY2tvdXRMaXN0ZW5lcikge1xuICAgICAgdGhpcy5jbGlja291dExpc3RlbmVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVSZXNpemVMaXN0ZW5lcigpIHtcbiAgICB0aGlzLnJlc2l6ZUxpc3RlbmVyKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwby1icmVhZGNydW1iXCIgI2JyZWFkY3J1bWI+XG4gIDx1bCBjbGFzcz1cInBvLWJyZWFkY3J1bWItaXRlbXNcIj5cbiAgICA8bGkgI2Ryb3Bkb3duSWNvbiAqbmdJZj1cInNob3dEcm9wZG93blRvZ2dsZVwiIGNsYXNzPVwicG8tYnJlYWRjcnVtYi1pdGVtIHBvLWNsaWNrYWJsZVwiIChjbGljayk9XCJ0b2dnbGVEcm9wZG93bigpXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInBvLWJyZWFkY3J1bWItaWNvbi1tb3JlIHBvLWljb24gcG8taWNvbi1tb3JlXCI+PC9zcGFuPlxuICAgICAgPGRpdiBjbGFzcz1cInBvLWJyZWFkY3J1bWItYXJyb3dcIj48L2Rpdj5cbiAgICA8L2xpPlxuXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1ZpZXc7IGxldCBpdGVtSW5kZXggPSBpbmRleFwiPlxuICAgICAgPHBvLWJyZWFkY3J1bWItaXRlbVxuICAgICAgICBbcC1hY3Rpb25dPVwiaXRlbS5hY3Rpb25cIlxuICAgICAgICBbcC1sYWJlbF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgW3AtbGlua109XCJpdGVtLmxpbmtcIlxuICAgICAgICBbcC1pdGVtLWFjdGl2ZV09XCJpdGVtSW5kZXggPT09IGl0ZW1zVmlldy5sZW5ndGggLSAxXCJcbiAgICAgID5cbiAgICAgIDwvcG8tYnJlYWRjcnVtYi1pdGVtPlxuICAgIDwvZGl2PlxuICA8L3VsPlxuXG4gIDxwby1icmVhZGNydW1iLWZhdm9yaXRlXG4gICAgKm5nSWY9XCJmYXZvcml0ZVNlcnZpY2VcIlxuICAgIFtwLWZhdm9yaXRlLXNlcnZpY2VdPVwiZmF2b3JpdGVTZXJ2aWNlXCJcbiAgICBbcC1pdGVtLWFjdGl2ZV09XCJpdGVtc1tpdGVtcy5sZW5ndGggLSAxXVwiXG4gICAgW3AtcGFyYW1zLXNlcnZpY2VdPVwicGFyYW1zU2VydmljZVwiXG4gID5cbiAgPC9wby1icmVhZGNydW1iLWZhdm9yaXRlPlxuXG4gIDxwby1icmVhZGNydW1iLWRyb3Bkb3duICpuZ0lmPVwic2hvd0Ryb3Bkb3duXCIgW3AtaXRlbXNdPVwiZHJvcGRvd25JdGVtc1wiPiA8L3BvLWJyZWFkY3J1bWItZHJvcGRvd24+XG48L2Rpdj5cbiJdfQ==
322
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tYnJlYWRjcnVtYi9wby1icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1icmVhZGNydW1iL3BvLWJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxVQUFVLEVBSVYsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7Ozs7OztJQ1R2RSxnQ0FJQyxTQUFBLGlCQUFBO0lBS0ssd0tBQVksZUFBQSxtQ0FBcUIsQ0FBQyxFQUFFLENBQUEsSUFBQztJQUN0QyxpQkFBVSxFQUFBO0lBR2IsNkJBQXlFO0lBRXpFLGtDQVFDO0lBRkMsMEpBQVMsZUFBQSxZQUFjLENBQUEsSUFBQyx1SkFDZixlQUFBLHlCQUFpQixDQUFBLElBREY7SUFHeEIsOEJBQThDO0lBQ2hELGlCQUFLO0lBQ0wsNkJBQXlFO0lBRXpFLDBCQUFJLGtCQUFBO0lBSUEsMEtBQVksZUFBQSxnRUFBd0MsQ0FBQyxFQUFFLENBQUEsSUFBQztJQUN6RCxpQkFBVSxFQUFBO0lBRWIsOEJBQXlFO0lBRXpFLDJCQUFJLGdCQUFBO0lBTUMsYUFBMkM7SUFBQSxpQkFDN0MsRUFBQTtJQUVILHlDQU9DO0lBSkMseUtBQVcsZUFBQSxvQkFBWSxDQUFBLElBQUM7SUFLMUIsaUJBQVcsRUFBQTs7OztJQS9DUCxlQUE4QjtJQUE5QixtREFBOEIsbUNBQUE7SUFXaEMsZUFBK0M7SUFBL0MsZ0VBQStDO0lBWTdDLGVBQWlEO0lBQWpELDZFQUFpRCw2REFBQTtJQVlqRCxl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LFNBQVM7bUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRG9DaGVjayxcbiAgRWxlbWVudFJlZixcbiAgSXRlcmFibGVEaWZmZXJzLFxuICBPbkRlc3Ryb3ksXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQb0JyZWFkY3J1bWJCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1icmVhZGNydW1iLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IFBvQnJlYWRjcnVtYkl0ZW0gfSBmcm9tICcuL3BvLWJyZWFkY3J1bWItaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9Qb3B1cENvbXBvbmVudCB9IGZyb20gJy4uL3BvLXBvcHVwL3BvLXBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgcG9CcmVhZGNydW1iTGl0ZXJhbHM6IE9iamVjdCA9IHtcbiAgZW46IDxhbnk+e1xuICAgIGxpdGVyYWxCdXR0b25Qb3B1cDogJ01lbnUgcG9wIHVwIGNvbGxhcHNlZCdcbiAgfSxcbiAgZXM6IDxhbnk+e1xuICAgIGxpdGVyYWxCdXR0b25Qb3B1cDogJ01lbsO6IHBvcCB1cCBjb2xhcHNhZG8nXG4gIH0sXG4gIHB0OiA8YW55PntcbiAgICBsaXRlcmFsQnV0dG9uUG9wdXA6ICdNZW51IHBvcCB1cCBjb2xhcHNhZG8nXG4gIH0sXG4gIHJ1OiA8YW55PntcbiAgICBsaXRlcmFsQnV0dG9uUG9wdXA6ICfQvNC10L3RjiDRgdCy0LXRgNC90YPRgtC+J1xuICB9XG59O1xuXG4vKipcbiAqIEBkb2NzRXh0ZW5kcyBQb0JyZWFkY3J1bWJCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tYnJlYWRjcnVtYi1iYXNpY1wiIHRpdGxlPVwiUE8gQnJlYWRjcnVtYiBCYXNpY1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tYnJlYWRjcnVtYi1iYXNpYy9zYW1wbGUtcG8tYnJlYWRjcnVtYi1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1icmVhZGNydW1iLWJhc2ljL3NhbXBsZS1wby1icmVhZGNydW1iLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWJyZWFkY3J1bWItbGFic1wiIHRpdGxlPVwiUE8gQnJlYWRjcnVtYiBMYWJzXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1icmVhZGNydW1iLWxhYnMvc2FtcGxlLXBvLWJyZWFkY3J1bWItbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1icmVhZGNydW1iLWxhYnMvc2FtcGxlLXBvLWJyZWFkY3J1bWItbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1icmVhZGNydW1iJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLWJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBvQnJlYWRjcnVtYkNvbXBvbmVudCBleHRlbmRzIFBvQnJlYWRjcnVtYkJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBEb0NoZWNrLCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdicmVhZGNydW1iJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgYnJlYWRjcnVtYkVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duSWNvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBkcm9wZG93bkljb246IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3RhcmdldCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBzdmdUYXJnZXQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3BvcHVwJykgcG9wdXBDb250YWluZXI6IFBvUG9wdXBDb21wb25lbnQ7XG5cbiAgc2hvd0Ryb3Bkb3duOiBib29sZWFuID0gZmFsc2U7XG4gIHNob3dEcm9wZG93blRvZ2dsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBkcm9wZG93bkl0ZW1zOiBBcnJheTxQb0JyZWFkY3J1bWJJdGVtPjtcbiAgbGl0ZXJhbHM7XG4gIGhpZGRlbkxpdGVyYWxGYXZvcml0ZSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2JyZWFkY3J1bWJJdGVtc0xlbmdodDogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBjYWxjdWxhdGVkRWxlbWVudCA9IGZhbHNlO1xuICBwcml2YXRlIGRpZmZlcjtcbiAgcHJpdmF0ZSBoaWRkZW5XaXRob3V0UmVzaXplID0gZmFsc2U7XG4gIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSB0aW1lb3V0UmVzaXplO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGRpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycyxcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHVibGljIGxhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmRpZmZlciA9IGRpZmZlcnMuZmluZChbXSkuY3JlYXRlKG51bGwpO1xuICAgIGNvbnN0IGxhbmd1YWdlID0gbGFuZ3VhZ2VTZXJ2aWNlLmdldFNob3J0TGFuZ3VhZ2UoKTtcblxuICAgIHRoaXMubGl0ZXJhbHMgPSB7XG4gICAgICAuLi5wb0JyZWFkY3J1bWJMaXRlcmFsc1tsYW5ndWFnZV1cbiAgICB9O1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuXG4gICAgdGhpcy5pbml0aWFsaXplUmVzaXplTGlzdGVuZXIoKTtcbiAgfVxuXG4gIG5nRG9DaGVjaygpIHtcbiAgICBjb25zdCBicmVhZGNydW1iV2lkdGggPSB0aGlzLmJyZWFkY3J1bWJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG5cbiAgICAvLyBQZXJtaXRlIHF1ZSBvcyBkaXNjbGFpbWVycyBzZWphbSBjYWxjdWxhZG9zIG5hIHByaW1laXJhIHZleiBxdWUgbyBjb21wb25lbnRlIHRvcm5hLXNlIHZpc8OtdmVsLFxuICAgIC8vIGV2aXRhbmRvIGNvbSBpc3NvLCBwcm9ibGVtYXMgY29tIFRhYnMgb3UgRGl2cyBxdWUgaW5pY2llbSBlc2NvbmRpZGFzLlxuICAgIGlmIChicmVhZGNydW1iV2lkdGggJiYgIXRoaXMuY2FsY3VsYXRlZEVsZW1lbnQgJiYgdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5pbml0QnJlYWRjcnVtYlNpemUoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oaWRkZW5XaXRob3V0UmVzaXplKSB7XG4gICAgICB0aGlzLmRlYm91bmNlUmVzaXplKCk7XG4gICAgICB0aGlzLmhpZGRlbldpdGhvdXRSZXNpemUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmNoZWNrQ2hhbmdlT25JdGVtcygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5yZW1vdmVSZXNpemVMaXN0ZW5lcigpO1xuICB9XG5cbiAgZW1pdEFjdGlvbihpdGVtOiBQb0JyZWFkY3J1bWJJdGVtKSB7XG4gICAgaWYgKGl0ZW0uYWN0aW9uKSB7XG4gICAgICBpdGVtLmFjdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5Qb3B1cChldmVudCkge1xuICAgIGlmIChldmVudC5jb2RlID09PSAnRW50ZXInIHx8IGV2ZW50LmNvZGUgPT09ICdTcGFjZScpIHtcbiAgICAgIHRoaXMucG9wdXBDb250YWluZXIub3BlbigpO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlUG9wVXAoKSB7XG4gICAgdGhpcy5zdmdUYXJnZXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0NoYW5nZU9uSXRlbXMoKSB7XG4gICAgaWYgKHRoaXMuZGlmZmVyKSB7XG4gICAgICBjb25zdCBjaGFuZ2VzID0gdGhpcy5kaWZmZXIuZGlmZih0aGlzLml0ZW1zKTtcbiAgICAgIGlmIChjaGFuZ2VzKSB7XG4gICAgICAgIHRoaXMuY2FsY0JyZWFkY3J1bWJJdGVtc1dpZHRoKCk7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlZEVsZW1lbnQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNhbGNCcmVhZGNydW1iKCkge1xuICAgIGNvbnN0IGJyZWFkY3J1bWJGYXZvcml0ZSA9IHRoaXMuZ2V0QnJlYWRjcnVtYkZhdm9yaXRlV2lkdGgoKTtcbiAgICBjb25zdCBleGlzdExhYmVsID0gdGhpcy5leGlzdHNGYXZvcml0ZWxhYmVsKCk7XG4gICAgY29uc3QgYnJlYWRjcnVtYiA9IHRoaXMuZ2V0QnJlYWRjcnVtYldpZHRoKGJyZWFkY3J1bWJGYXZvcml0ZSwgZXhpc3RMYWJlbCk7XG4gICAgY29uc3QgYnJlYWRjcnVtYlRvb2x0aXAgPSB0aGlzLmdldEJyZWFkY3J1bWJUb29sdGlwV2lkdGgoKTtcbiAgICBpZiAoYnJlYWRjcnVtYiA8PSB0aGlzLl9icmVhZGNydW1iSXRlbXNMZW5naHQpIHtcbiAgICAgIHRoaXMuZW5hYmxlQnJlYWRjcnVtYlJlc3BvbnNpdmUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kaXNhYmxlQnJlYWRjcnVtYlJlc3BvbnNpdmUoKTtcbiAgICB9XG5cbiAgICBpZiAoYnJlYWRjcnVtYlRvb2x0aXAgJiYgYnJlYWRjcnVtYiA8PSBicmVhZGNydW1iVG9vbHRpcCkge1xuICAgICAgdGhpcy5oaWRkZW5MaXRlcmFsRmF2b3JpdGUgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhpZGRlbkxpdGVyYWxGYXZvcml0ZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0QnJlYWRjcnVtYkZhdm9yaXRlV2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmF2b3JpdGVTZXJ2aWNlXG4gICAgICA/IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wby1icmVhZGNydW1iLWZhdm9yaXRlJykub2Zmc2V0V2lkdGggKyAyMFxuICAgICAgOiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCcmVhZGNydW1iVG9vbHRpcFdpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLmZhdm9yaXRlU2VydmljZSA/IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wby1icmVhZGNydW1iLXRvb2x0aXAnKT8ub2Zmc2V0V2lkdGggOiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBleGlzdHNGYXZvcml0ZWxhYmVsKCkge1xuICAgIHJldHVybiAhIXRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wby1icmVhZGNydW1iLWZhdm9yaXRlLWxhYmVsJyk7XG4gIH1cblxuICBwcml2YXRlIGdldEJyZWFkY3J1bWJXaWR0aChicmVhZGNydW1iRmF2b3JpdGUsIGV4aXN0TGFiZWwpIHtcbiAgICBjb25zdCB3aWR0aFNwYW4gPSAhZXhpc3RMYWJlbCA/IDk1IDogMDtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnBvLWJyZWFkY3J1bWInKS5vZmZzZXRXaWR0aCAtIChicmVhZGNydW1iRmF2b3JpdGUgKyB3aWR0aFNwYW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjQnJlYWRjcnVtYkl0ZW1zV2lkdGgoKSB7XG4gICAgY29uc3QgYnJlYWRjcnVtYkl0ZW0gPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucG8tYnJlYWRjcnVtYi1pdGVtJyk7XG5cbiAgICB0aGlzLl9icmVhZGNydW1iSXRlbXNMZW5naHQgPSBBcnJheS5mcm9tKGJyZWFkY3J1bWJJdGVtKVxuICAgICAgLm1hcChicmVhZGNydW1iID0+IGJyZWFkY3J1bWJbJ29mZnNldFdpZHRoJ10pXG4gICAgICAucmVkdWNlKChhLCBiKSA9PiBhICsgYiwgMTYpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbmFibGVCcmVhZGNydW1iUmVzcG9uc2l2ZSgpIHtcbiAgICB0aGlzLnNob3dEcm9wZG93blRvZ2dsZSA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIGRpc2FibGVCcmVhZGNydW1iUmVzcG9uc2l2ZSgpIHtcbiAgICB0aGlzLnNob3dEcm9wZG93blRvZ2dsZSA9IGZhbHNlO1xuICAgIHRoaXMuaXRlbXNWaWV3ID0gW10uY29uY2F0KHRoaXMuaXRlbXMpO1xuICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGRlYm91bmNlUmVzaXplKCkge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRSZXNpemUpO1xuICAgIHRoaXMudGltZW91dFJlc2l6ZSA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmNhbGN1bGF0ZWRFbGVtZW50ICYmXG4gICAgICAgICF0aGlzLmhpZGRlbldpdGhvdXRSZXNpemUgJiZcbiAgICAgICAgdGhpcy5icmVhZGNydW1iRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoID09PSAwXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5oaWRkZW5XaXRob3V0UmVzaXplID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2FsY0JyZWFkY3J1bWIoKTtcbiAgICAgIH1cbiAgICB9LCA1MCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRCcmVhZGNydW1iU2l6ZSgpIHtcbiAgICB0aGlzLmNhbGNCcmVhZGNydW1iSXRlbXNXaWR0aCgpO1xuICAgIHRoaXMuY2FsY0JyZWFkY3J1bWIoKTtcbiAgICB0aGlzLmNhbGN1bGF0ZWRFbGVtZW50ID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVJlc2l6ZUxpc3RlbmVyKCkge1xuICAgIHRoaXMucmVzaXplTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ3Jlc2l6ZScsIChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgdGhpcy5kZWJvdW5jZVJlc2l6ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVSZXNpemVMaXN0ZW5lcigpIHtcbiAgICB0aGlzLnJlc2l6ZUxpc3RlbmVyKCk7XG4gIH1cbn1cbiIsIjxuYXYgY2xhc3M9XCJwby1icmVhZGNydW1iXCIgI2JyZWFkY3J1bWI+XG4gIDxkaXYgY2xhc3M9XCJwby1icmVhZGNydW1iLWl0ZW1zXCI+XG4gICAgPHVsXG4gICAgICAjZHJvcGRvd25JY29uXG4gICAgICAqbmdJZj1cInNob3dEcm9wZG93blRvZ2dsZSAmJiBpdGVtc1ZpZXcubGVuZ3RoID49IDRcIlxuICAgICAgY2xhc3M9XCJwby1icmVhZGNydW1iLWl0ZW0gcG8tY2xpY2thYmxlIHBvLWJyZWFkY3J1bWItdG9vbHRpcFwiXG4gICAgPlxuICAgICAgPGxpPlxuICAgICAgICA8cG8tbGlua1xuICAgICAgICAgIFtwLWxhYmVsXT1cIml0ZW1zVmlld1swXS5sYWJlbFwiXG4gICAgICAgICAgW3AtdXJsXT1cIml0ZW1zVmlld1swXS5saW5rXCJcbiAgICAgICAgICAocC1hY3Rpb24pPVwiZW1pdEFjdGlvbihpdGVtc1ZpZXdbMF0pXCJcbiAgICAgICAgPjwvcG8tbGluaz5cbiAgICAgIDwvbGk+XG5cbiAgICAgIDxwby1pY29uIHAtaWNvbj1cInBvLWljb24tYXJyb3ctcmlnaHQgcG8tYnJlYWRjcnVtYi1pY29uLWFycm93XCI+PC9wby1pY29uPlxuXG4gICAgICA8bGlcbiAgICAgICAgI3RhcmdldFxuICAgICAgICBjbGFzcz1cInBvLWJyZWFkY3J1bWItaWNvbi1tb3JlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsaXRlcmFscy5saXRlcmFsQnV0dG9uUG9wdXBcIlxuICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgKGNsaWNrKT1cInBvcHVwLnRvZ2dsZSgpXCJcbiAgICAgICAgKGtleXVwKT1cIm9wZW5Qb3B1cCgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPHBvLWljb24gcC1pY29uPVwicG8taWNvbi1tb3JlLXZlcnRcIj48L3BvLWljb24+XG4gICAgICA8L2xpPlxuICAgICAgPHBvLWljb24gcC1pY29uPVwicG8taWNvbi1hcnJvdy1yaWdodCBwby1icmVhZGNydW1iLWljb24tYXJyb3dcIj48L3BvLWljb24+XG5cbiAgICAgIDxsaT5cbiAgICAgICAgPHBvLWxpbmtcbiAgICAgICAgICBbcC1sYWJlbF09XCJpdGVtc1ZpZXdbaXRlbXNWaWV3Lmxlbmd0aCAtIDJdLmxhYmVsXCJcbiAgICAgICAgICBbcC11cmxdPVwiaXRlbXNWaWV3W2l0ZW1zVmlldy5sZW5ndGggLSAyXS5saW5rXCJcbiAgICAgICAgICAocC1hY3Rpb24pPVwiZW1pdEFjdGlvbihpdGVtc1ZpZXdbaXRlbXNWaWV3Lmxlbmd0aCAtIDJdKVwiXG4gICAgICAgID48L3BvLWxpbms+XG4gICAgICA8L2xpPlxuICAgICAgPHBvLWljb24gcC1pY29uPVwicG8taWNvbi1hcnJvdy1yaWdodCBwby1icmVhZGNydW1iLWljb24tYXJyb3dcIj48L3BvLWljb24+XG5cbiAgICAgIDxsaT5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cInBvLWJyZWFkY3J1bWItaXRlbS1hY3RpdmF0ZVwiXG4gICAgICAgICAgcm9sZT1cImxpbmtcIlxuICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cIml0ZW1zVmlld1tpdGVtc1ZpZXcubGVuZ3RoIC0gMV0ubGFiZWxcIlxuICAgICAgICAgID57eyBpdGVtc1ZpZXdbaXRlbXNWaWV3Lmxlbmd0aCAtIDFdLmxhYmVsIH19PC9zcGFuXG4gICAgICAgID5cbiAgICAgIDwvbGk+XG4gICAgICA8cG8tcG9wdXBcbiAgICAgICAgI3BvcHVwXG4gICAgICAgIHAtcG9zaXRpb249XCJib3R0b20tcmlnaHRcIlxuICAgICAgICAocC1jbG9zZSk9XCJjbG9zZVBvcFVwKClcIlxuICAgICAgICBbcC1oaWRlLWFycm93XT1cInRydWVcIlxuICAgICAgICBbcC1hY3Rpb25zXT1cIml0ZW1zVmlld1BvcHVwXCJcbiAgICAgICAgW3AtdGFyZ2V0XT1cInRhcmdldFwiXG4gICAgICA+XG4gICAgICA8L3BvLXBvcHVwPlxuICAgIDwvdWw+XG5cbiAgICA8dWwgKm5nSWY9XCIhc2hvd0Ryb3Bkb3duVG9nZ2xlIHx8IGl0ZW1zVmlldy5sZW5ndGggPCA0XCIgY2xhc3M9XCJwby1icmVhZGNydW1iLWl0ZW0tY29udGFpbmVyXCI+XG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNWaWV3OyBsZXQgaXRlbUluZGV4ID0gaW5kZXhcIiBjbGFzcz1cInBvLWJyZWFkY3J1bWItaXRlbVwiPlxuICAgICAgICA8cG8tbGlua1xuICAgICAgICAgICpuZ0lmPVwiIShpdGVtSW5kZXggPT09IGl0ZW1zVmlldy5sZW5ndGggLSAxKVwiXG4gICAgICAgICAgW3AtbGFiZWxdPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgW3AtdXJsXT1cIml0ZW0ubGlua1wiXG4gICAgICAgICAgKHAtYWN0aW9uKT1cImVtaXRBY3Rpb24oaXRlbSlcIlxuICAgICAgICA+PC9wby1saW5rPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwicG8tYnJlYWRjcnVtYi1pdGVtLWFjdGl2YXRlXCJcbiAgICAgICAgICByb2xlPVwibGlua1wiXG4gICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAqbmdJZj1cIml0ZW1JbmRleCA9PT0gaXRlbXNWaWV3Lmxlbmd0aCAtIDFcIlxuICAgICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICA+e3sgaXRlbS5sYWJlbCB9fTwvc3BhblxuICAgICAgICA+XG4gICAgICAgIDxwby1pY29uXG4gICAgICAgICAgKm5nSWY9XCIhKGl0ZW1JbmRleCA9PT0gaXRlbXNWaWV3Lmxlbmd0aCAtIDEpXCJcbiAgICAgICAgICBwLWljb249XCJwby1pY29uLWFycm93LXJpZ2h0IHBvLWJyZWFkY3J1bWItaWNvbi1hcnJvd1wiXG4gICAgICAgID48L3BvLWljb24+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuXG4gIDxwby1icmVhZGNydW1iLWZhdm9yaXRlXG4gICAgKm5nSWY9XCJmYXZvcml0ZVNlcnZpY2VcIlxuICAgIFtwLWZhdm9yaXRlLXNlcnZpY2VdPVwiZmF2b3JpdGVTZXJ2aWNlXCJcbiAgICBbcC1pdGVtLWFjdGl2ZV09XCJpdGVtc1tpdGVtcy5sZW5ndGggLSAxXVwiXG4gICAgW3AtcGFyYW1zLXNlcnZpY2VdPVwicGFyYW1zU2VydmljZVwiXG4gICAgW3AtaGlkZGVuLWxpdGVyYWxdPVwiaGlkZGVuTGl0ZXJhbEZhdm9yaXRlXCJcbiAgPlxuICA8L3BvLWJyZWFkY3J1bWItZmF2b3JpdGU+XG48L25hdj5cbiJdfQ==
@@ -2,9 +2,10 @@ import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { RouterModule } from '@angular/router';
4
4
  import { PoBreadcrumbComponent } from './po-breadcrumb.component';
5
- import { PoBreadcrumbDropdownComponent } from './po-breadcrumb-dropdown/po-breadcrumb-dropdown.component';
6
5
  import { PoBreadcrumbFavoriteComponent } from './po-breadcrumb-favorite/po-breadcrumb-favorite.component';
7
- import { PoBreadcrumbItemComponent } from './po-breadcrumb-item/po-breadcrumb-item.component';
6
+ import { PoLinkModule } from '../po-link/po-link.module';
7
+ import { PoPopupModule } from '../po-popup/po-popup.module';
8
+ import { PoIconModule } from '../po-icon/po-icon.module';
8
9
  import * as i0 from "@angular/core";
9
10
  /**
10
11
  * @description
@@ -15,23 +16,15 @@ import * as i0 from "@angular/core";
15
16
  export class PoBreadcrumbModule {
16
17
  static ɵfac = function PoBreadcrumbModule_Factory(t) { return new (t || PoBreadcrumbModule)(); };
17
18
  static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: PoBreadcrumbModule });
18
- static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, RouterModule] });
19
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, RouterModule, PoLinkModule, PoPopupModule, PoIconModule] });
19
20
  }
20
21
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoBreadcrumbModule, [{
21
22
  type: NgModule,
22
23
  args: [{
23
- imports: [CommonModule, RouterModule],
24
- declarations: [
25
- PoBreadcrumbComponent,
26
- PoBreadcrumbDropdownComponent,
27
- PoBreadcrumbFavoriteComponent,
28
- PoBreadcrumbItemComponent
29
- ],
24
+ imports: [CommonModule, RouterModule, PoLinkModule, PoPopupModule, PoIconModule],
25
+ declarations: [PoBreadcrumbComponent, PoBreadcrumbFavoriteComponent],
30
26
  exports: [PoBreadcrumbComponent]
31
27
  }]
32
28
  }], null, null); })();
33
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PoBreadcrumbModule, { declarations: [PoBreadcrumbComponent,
34
- PoBreadcrumbDropdownComponent,
35
- PoBreadcrumbFavoriteComponent,
36
- PoBreadcrumbItemComponent], imports: [CommonModule, RouterModule], exports: [PoBreadcrumbComponent] }); })();
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tYnJlYWRjcnVtYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tYnJlYWRjcnVtYi9wby1icmVhZGNydW1iLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDMUcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDMUcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7O0FBRTlGOzs7OztHQUtHO0FBV0gsTUFBTSxPQUFPLGtCQUFrQjs0RUFBbEIsa0JBQWtCOzREQUFsQixrQkFBa0I7Z0VBVG5CLFlBQVksRUFBRSxZQUFZOzt1RkFTekIsa0JBQWtCO2NBVjlCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDO2dCQUNyQyxZQUFZLEVBQUU7b0JBQ1oscUJBQXFCO29CQUNyQiw2QkFBNkI7b0JBQzdCLDZCQUE2QjtvQkFDN0IseUJBQXlCO2lCQUMxQjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQzthQUNqQzs7d0ZBQ1ksa0JBQWtCLG1CQVAzQixxQkFBcUI7UUFDckIsNkJBQTZCO1FBQzdCLDZCQUE2QjtRQUM3Qix5QkFBeUIsYUFMakIsWUFBWSxFQUFFLFlBQVksYUFPMUIscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBQb0JyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL3BvLWJyZWFkY3J1bWIuY29tcG9uZW50JztcbmltcG9ydCB7IFBvQnJlYWRjcnVtYkRyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9wby1icmVhZGNydW1iLWRyb3Bkb3duL3BvLWJyZWFkY3J1bWItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IFBvQnJlYWRjcnVtYkZhdm9yaXRlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1icmVhZGNydW1iLWZhdm9yaXRlL3BvLWJyZWFkY3J1bWItZmF2b3JpdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFBvQnJlYWRjcnVtYkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3BvLWJyZWFkY3J1bWItaXRlbS9wby1icmVhZGNydW1iLWl0ZW0uY29tcG9uZW50JztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBNw7NkdWxvIGRvIGNvbXBvbmVudGUgcG8tYnJlYWRjcnVtYi5cbiAqXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFBvQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBQb0JyZWFkY3J1bWJEcm9wZG93bkNvbXBvbmVudCxcbiAgICBQb0JyZWFkY3J1bWJGYXZvcml0ZUNvbXBvbmVudCxcbiAgICBQb0JyZWFkY3J1bWJJdGVtQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtQb0JyZWFkY3J1bWJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFBvQnJlYWRjcnVtYk1vZHVsZSB7fVxuIl19
29
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PoBreadcrumbModule, { declarations: [PoBreadcrumbComponent, PoBreadcrumbFavoriteComponent], imports: [CommonModule, RouterModule, PoLinkModule, PoPopupModule, PoIconModule], exports: [PoBreadcrumbComponent] }); })();
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tYnJlYWRjcnVtYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tYnJlYWRjcnVtYi9wby1icmVhZGNydW1iLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDMUcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRXpEOzs7OztHQUtHO0FBTUgsTUFBTSxPQUFPLGtCQUFrQjs0RUFBbEIsa0JBQWtCOzREQUFsQixrQkFBa0I7Z0VBSm5CLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxZQUFZOzt1RkFJcEUsa0JBQWtCO2NBTDlCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxDQUFDO2dCQUNoRixZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSw2QkFBNkIsQ0FBQztnQkFDcEUsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7YUFDakM7O3dGQUNZLGtCQUFrQixtQkFIZCxxQkFBcUIsRUFBRSw2QkFBNkIsYUFEekQsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLFlBQVksYUFFckUscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBQb0JyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL3BvLWJyZWFkY3J1bWIuY29tcG9uZW50JztcbmltcG9ydCB7IFBvQnJlYWRjcnVtYkZhdm9yaXRlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1icmVhZGNydW1iLWZhdm9yaXRlL3BvLWJyZWFkY3J1bWItZmF2b3JpdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFBvTGlua01vZHVsZSB9IGZyb20gJy4uL3BvLWxpbmsvcG8tbGluay5tb2R1bGUnO1xuaW1wb3J0IHsgUG9Qb3B1cE1vZHVsZSB9IGZyb20gJy4uL3BvLXBvcHVwL3BvLXBvcHVwLm1vZHVsZSc7XG5pbXBvcnQgeyBQb0ljb25Nb2R1bGUgfSBmcm9tICcuLi9wby1pY29uL3BvLWljb24ubW9kdWxlJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBNw7NkdWxvIGRvIGNvbXBvbmVudGUgcG8tYnJlYWRjcnVtYi5cbiAqXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZSwgUG9MaW5rTW9kdWxlLCBQb1BvcHVwTW9kdWxlLCBQb0ljb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtQb0JyZWFkY3J1bWJDb21wb25lbnQsIFBvQnJlYWRjcnVtYkZhdm9yaXRlQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1BvQnJlYWRjcnVtYkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgUG9CcmVhZGNydW1iTW9kdWxlIHt9XG4iXX0=