@fundamental-ngx/core 0.34.3-rc.26 → 0.34.3-rc.29

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 (135) hide show
  1. package/action-bar/package.json +1 -1
  2. package/action-sheet/package.json +1 -1
  3. package/alert/package.json +1 -1
  4. package/avatar/package.json +1 -1
  5. package/avatar-group/package.json +1 -1
  6. package/bar/button-bar/button-bar.component.d.ts +5 -1
  7. package/bar/esm2020/button-bar/button-bar.component.mjs +10 -3
  8. package/bar/fesm2015/fundamental-ngx-core-bar.mjs +9 -2
  9. package/bar/fesm2015/fundamental-ngx-core-bar.mjs.map +1 -1
  10. package/bar/fesm2020/fundamental-ngx-core-bar.mjs +9 -2
  11. package/bar/fesm2020/fundamental-ngx-core-bar.mjs.map +1 -1
  12. package/bar/package.json +1 -1
  13. package/breadcrumb/breadcrumb.component.d.ts +3 -1
  14. package/breadcrumb/esm2020/breadcrumb.component.mjs +9 -3
  15. package/breadcrumb/fesm2015/fundamental-ngx-core-breadcrumb.mjs +8 -2
  16. package/breadcrumb/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  17. package/breadcrumb/fesm2020/fundamental-ngx-core-breadcrumb.mjs +8 -2
  18. package/breadcrumb/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  19. package/breadcrumb/package.json +1 -1
  20. package/busy-indicator/package.json +1 -1
  21. package/button/package.json +1 -1
  22. package/calendar/package.json +1 -1
  23. package/card/package.json +1 -1
  24. package/carousel/package.json +1 -1
  25. package/checkbox/package.json +1 -1
  26. package/combobox/package.json +1 -1
  27. package/date-picker/package.json +1 -1
  28. package/datetime/package.json +1 -1
  29. package/datetime-picker/package.json +1 -1
  30. package/dialog/base/dialog-content-base.class.d.ts +8 -4
  31. package/dialog/esm2020/base/dialog-content-base.class.mjs +1 -1
  32. package/dialog/esm2020/dialog-default/dialog-default.component.mjs +3 -3
  33. package/dialog/fesm2015/fundamental-ngx-core-dialog.mjs +2 -2
  34. package/dialog/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
  35. package/dialog/fesm2020/fundamental-ngx-core-dialog.mjs +2 -2
  36. package/dialog/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
  37. package/dialog/package.json +1 -1
  38. package/dynamic-page/package.json +1 -1
  39. package/dynamic-side-content/package.json +1 -1
  40. package/esm2020/bar/button-bar/button-bar.component.mjs +10 -3
  41. package/esm2020/breadcrumb/breadcrumb.component.mjs +9 -3
  42. package/esm2020/dialog/base/dialog-content-base.class.mjs +1 -1
  43. package/esm2020/dialog/dialog-default/dialog-default.component.mjs +3 -3
  44. package/esm2020/message-box/message-box-default/message-box-default.component.mjs +3 -3
  45. package/facets/package.json +1 -1
  46. package/feed-input/package.json +1 -1
  47. package/feed-list-item/package.json +1 -1
  48. package/fesm2015/fundamental-ngx-core-bar.mjs +9 -2
  49. package/fesm2015/fundamental-ngx-core-bar.mjs.map +1 -1
  50. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs +8 -2
  51. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  52. package/fesm2015/fundamental-ngx-core-dialog.mjs +2 -2
  53. package/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
  54. package/fesm2015/fundamental-ngx-core-message-box.mjs +2 -2
  55. package/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
  56. package/fesm2020/fundamental-ngx-core-bar.mjs +9 -2
  57. package/fesm2020/fundamental-ngx-core-bar.mjs.map +1 -1
  58. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs +8 -2
  59. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  60. package/fesm2020/fundamental-ngx-core-dialog.mjs +2 -2
  61. package/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
  62. package/fesm2020/fundamental-ngx-core-message-box.mjs +2 -2
  63. package/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
  64. package/file-uploader/package.json +1 -1
  65. package/fixed-card-layout/package.json +1 -1
  66. package/flexible-column-layout/package.json +1 -1
  67. package/form/package.json +1 -1
  68. package/formatted-text/package.json +1 -1
  69. package/grid-list/package.json +1 -1
  70. package/icon/package.json +1 -1
  71. package/illustrated-message/package.json +1 -1
  72. package/infinite-scroll/package.json +1 -1
  73. package/info-label/package.json +1 -1
  74. package/inline-help/package.json +1 -1
  75. package/input-group/package.json +1 -1
  76. package/layout-grid/package.json +1 -1
  77. package/layout-panel/package.json +1 -1
  78. package/link/package.json +1 -1
  79. package/list/package.json +1 -1
  80. package/menu/package.json +1 -1
  81. package/message-box/esm2020/message-box-default/message-box-default.component.mjs +3 -3
  82. package/message-box/fesm2015/fundamental-ngx-core-message-box.mjs +2 -2
  83. package/message-box/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
  84. package/message-box/fesm2020/fundamental-ngx-core-message-box.mjs +2 -2
  85. package/message-box/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
  86. package/message-box/package.json +1 -1
  87. package/message-strip/package.json +1 -1
  88. package/message-toast/package.json +1 -1
  89. package/micro-process-flow/package.json +1 -1
  90. package/mobile-mode/package.json +1 -1
  91. package/multi-input/package.json +1 -1
  92. package/nested-list/package.json +1 -1
  93. package/notification/package.json +1 -1
  94. package/object-identifier/package.json +1 -1
  95. package/object-marker/package.json +1 -1
  96. package/object-number/package.json +1 -1
  97. package/object-status/package.json +1 -1
  98. package/package.json +1 -1
  99. package/pagination/package.json +1 -1
  100. package/panel/package.json +1 -1
  101. package/popover/package.json +1 -1
  102. package/product-switch/package.json +1 -1
  103. package/progress-indicator/package.json +1 -1
  104. package/quick-view/package.json +1 -1
  105. package/radio/package.json +1 -1
  106. package/rating-indicator/package.json +1 -1
  107. package/resizable-card-layout/package.json +1 -1
  108. package/scroll-spy/package.json +1 -1
  109. package/scrollbar/package.json +1 -1
  110. package/segmented-button/package.json +1 -1
  111. package/select/package.json +1 -1
  112. package/shared/package.json +1 -1
  113. package/shellbar/package.json +1 -1
  114. package/side-navigation/package.json +1 -1
  115. package/slider/package.json +1 -1
  116. package/split-button/package.json +1 -1
  117. package/splitter/package.json +1 -1
  118. package/status-indicator/package.json +1 -1
  119. package/step-input/package.json +1 -1
  120. package/switch/package.json +1 -1
  121. package/table/package.json +1 -1
  122. package/tabs/package.json +1 -1
  123. package/text/package.json +1 -1
  124. package/tile/package.json +1 -1
  125. package/time/package.json +1 -1
  126. package/time-picker/package.json +1 -1
  127. package/timeline/package.json +1 -1
  128. package/title/package.json +1 -1
  129. package/token/package.json +1 -1
  130. package/toolbar/package.json +1 -1
  131. package/tree/package.json +1 -1
  132. package/upload-collection/package.json +1 -1
  133. package/utils/package.json +1 -1
  134. package/vertical-navigation/package.json +1 -1
  135. package/wizard/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/action-bar",
3
- "version": "0.34.3-rc.26",
3
+ "version": "0.34.3-rc.29",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/action-sheet",
3
- "version": "0.34.3-rc.26",
3
+ "version": "0.34.3-rc.29",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/alert",
3
- "version": "0.34.3-rc.26",
3
+ "version": "0.34.3-rc.29",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/avatar",
3
- "version": "0.34.3-rc.26",
3
+ "version": "0.34.3-rc.29",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/avatar-group",
3
- "version": "0.34.3-rc.26",
3
+ "version": "0.34.3-rc.29",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -21,8 +21,12 @@ export declare class ButtonBarComponent extends BaseButton implements OnInit, On
21
21
  ariaLabel: string;
22
22
  /** the aria-labelledby ids to be associated with this element */
23
23
  ariaLabelledby: string;
24
+ /** @hidden */
25
+ private readonly _defaultId;
24
26
  /** id for this element */
25
- id: string;
27
+ get id(): string;
28
+ set id(value: string | null | undefined);
29
+ _id: string | null | undefined;
26
30
  /** @hidden */
27
31
  _barElement: boolean;
28
32
  get pointerEvents(): string;
@@ -19,13 +19,20 @@ export class ButtonBarComponent extends BaseButton {
19
19
  * Default value is set to 'transparent'
20
20
  */
21
21
  this.fdType = 'transparent';
22
- /** id for this element */
23
- this.id = `fd-button-bar-id-${randomButtonBarId++}`;
22
+ /** @hidden */
23
+ this._defaultId = `fd-button-bar-id-${randomButtonBarId++}`;
24
24
  /** @hidden */
25
25
  this._barElement = true;
26
26
  /** @hidden */
27
27
  this._subscriptions = new Subscription();
28
28
  }
29
+ /** id for this element */
30
+ get id() {
31
+ return this._id || this._defaultId;
32
+ }
33
+ set id(value) {
34
+ this._id = value;
35
+ }
29
36
  get pointerEvents() {
30
37
  return this._disabled ? 'none' : 'auto';
31
38
  }
@@ -114,4 +121,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
114
121
  type: ViewChild,
115
122
  args: [ButtonComponent]
116
123
  }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9iYXIvYnV0dG9uLWJhci9idXR0b24tYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUdMLFFBQVEsRUFDUixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBYyxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBRXBFLElBQUksaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO0FBc0IxQixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsVUFBVTtJQWlEOUMsWUFBZ0Msc0JBQTZDLEVBQVUsTUFBeUI7UUFDNUcsS0FBSyxFQUFFLENBQUM7UUFEb0IsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF1QjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBaERoSCx3RUFBd0U7UUFHeEUsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQjs7O1dBR0c7UUFFSCxXQUFNLEdBQWUsYUFBYSxDQUFDO1FBa0JuQywwQkFBMEI7UUFFMUIsT0FBRSxHQUFHLG9CQUFvQixpQkFBaUIsRUFBRSxFQUFFLENBQUM7UUFFL0MsY0FBYztRQUVkLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBV25CLGNBQWM7UUFDTixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFJNUMsQ0FBQztJQWRELElBQ0ksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDNUMsQ0FBQztJQWFELGNBQWM7SUFDZCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDM0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ25CLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDbEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQ0wsQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QyxDQUFDOzsrR0FwRVEsa0JBQWtCO21HQUFsQixrQkFBa0IsaWJBMkNoQixlQUFlLHVFQTlEaEI7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaUJUOzJGQUVRLGtCQUFrQjtrQkFyQjlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FpQlQ7aUJBQ0o7OzBCQWtEZ0IsUUFBUTs0RUE3Q3JCLFNBQVM7c0JBRlIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxtQ0FBbUM7Z0JBUWhELE1BQU07c0JBREwsS0FBSztnQkFLTixLQUFLO3NCQURKLEtBQUs7Z0JBS04sT0FBTztzQkFETixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixjQUFjO3NCQURiLEtBQUs7Z0JBS04sRUFBRTtzQkFERCxLQUFLO2dCQUtOLFdBQVc7c0JBRFYsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBSWhDLGFBQWE7c0JBRGhCLFdBQVc7dUJBQUMsc0JBQXNCO2dCQU9uQyxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlQnV0dG9uLCBCdXR0b25UeXBlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3V0aWxzJztcblxubGV0IHJhbmRvbUJ1dHRvbkJhcklkID0gMDtcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtYnV0dG9uLWJhcicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgICAgICBbZ2x5cGhQb3NpdGlvbl09XCJnbHlwaFBvc2l0aW9uXCJcbiAgICAgICAgICAgIFtnbHlwaF09XCJnbHlwaFwiXG4gICAgICAgICAgICBbY29tcGFjdF09XCJjb21wYWN0XCJcbiAgICAgICAgICAgIFtmZFR5cGVdPVwiZmRUeXBlXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJsYWJlbFwiXG4gICAgICAgICAgICBbYXR0ci50aXRsZV09XCJ0aXRsZVwiXG4gICAgICAgICAgICBbYXJpYUxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICAgICAgICBbZmRNZW51XT1cImZkTWVudVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIGBcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQmFyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUJ1dHRvbiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogV2hldGhlciB0aGUgZWxlbWVudCBzaG91bGQgdGFrZSB0aGUgd2hvbGUgd2lkdGggb2YgdGhlIGNvbnRhaW5lci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtYmFyX19lbGVtZW50LS1mdWxsLXdpZHRoJylcbiAgICBmdWxsV2lkdGggPSBmYWxzZTtcblxuICAgIC8qKiBUaGUgdHlwZSBvZiB0aGUgYnV0dG9uLiBUeXBlcyBpbmNsdWRlOlxuICAgICAqICdzdGFuZGFyZCcgfCAncG9zaXRpdmUnIHwgJ25lZ2F0aXZlJyB8ICdhdHRlbnRpb24nIHwgJ2hhbGYnIHwgJ2dob3N0JyB8ICd0cmFuc3BhcmVudCcgfCAnZW1waGFzaXplZCcgfCAnbWVudScuXG4gICAgICogRGVmYXVsdCB2YWx1ZSBpcyBzZXQgdG8gJ3RyYW5zcGFyZW50J1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmRUeXBlOiBCdXR0b25UeXBlID0gJ3RyYW5zcGFyZW50JztcblxuICAgIC8qKiBhZGRpbmcgdGl0bGUgdG8gdGhlIGJ1dHRvbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGl0bGU6IHN0cmluZztcblxuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgYnV0dG9uIGlzIGNvbXBhY3QuICovXG4gICAgQElucHV0KClcbiAgICBjb21wYWN0PzogYm9vbGVhbjtcblxuICAgIC8qKiBBcmlhIGxhYmVsIGF0dHJpYnV0ZSB2YWx1ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqIHRoZSBhcmlhLWxhYmVsbGVkYnkgaWRzIHRvIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGVsZW1lbnQgKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbGxlZGJ5OiBzdHJpbmc7XG5cbiAgICAvKiogaWQgZm9yIHRoaXMgZWxlbWVudCAqL1xuICAgIEBJbnB1dCgpXG4gICAgaWQgPSBgZmQtYnV0dG9uLWJhci1pZC0ke3JhbmRvbUJ1dHRvbkJhcklkKyt9YDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1iYXJfX2VsZW1lbnQnKVxuICAgIF9iYXJFbGVtZW50ID0gdHJ1ZTtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUucG9pbnRlci1ldmVudHMnKVxuICAgIGdldCBwb2ludGVyRXZlbnRzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZCA/ICdub25lJyA6ICdhdXRvJztcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoQnV0dG9uQ29tcG9uZW50KVxuICAgIF9idXR0b25Db21wb25lbnQ6IEJ1dHRvbkNvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgX2NvbnRlbnREZW5zaXR5U2VydmljZTogQ29udGVudERlbnNpdHlTZXJ2aWNlLCBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb21wYWN0ID09PSB1bmRlZmluZWQgJiYgdGhpcy5fY29udGVudERlbnNpdHlTZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgICAgICB0aGlzLl9jb250ZW50RGVuc2l0eVNlcnZpY2UuX2lzQ29tcGFjdERlbnNpdHkuc3Vic2NyaWJlKChpc0NvbXBhY3QpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wYWN0ID0gaXNDb21wYWN0O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICB9XG59XG4iXX0=
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9iYXIvYnV0dG9uLWJhci9idXR0b24tYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUdMLFFBQVEsRUFDUixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBYyxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBRXBFLElBQUksaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO0FBc0IxQixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsVUFBVTtJQTJEOUMsWUFBZ0Msc0JBQTZDLEVBQVUsTUFBeUI7UUFDNUcsS0FBSyxFQUFFLENBQUM7UUFEb0IsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF1QjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBMURoSCx3RUFBd0U7UUFHeEUsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQjs7O1dBR0c7UUFFSCxXQUFNLEdBQWUsYUFBYSxDQUFDO1FBa0JuQyxjQUFjO1FBQ0csZUFBVSxHQUFHLG9CQUFvQixpQkFBaUIsRUFBRSxFQUFFLENBQUM7UUFheEUsY0FBYztRQUVkLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBV25CLGNBQWM7UUFDTixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFJNUMsQ0FBQztJQTdCRCwwQkFBMEI7SUFDMUIsSUFDSSxFQUFFO1FBQ0YsT0FBTyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDdkMsQ0FBQztJQUNELElBQUksRUFBRSxDQUFDLEtBQWdDO1FBQ25DLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFRRCxJQUNJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzVDLENBQUM7SUFhRCxjQUFjO0lBQ2QsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQzNELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNuQixJQUFJLENBQUMsc0JBQXNCLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ2xFLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO2dCQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUNMLENBQUM7U0FDTDtJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsV0FBVztRQUNQLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQzs7K0dBOUVRLGtCQUFrQjttR0FBbEIsa0JBQWtCLGliQXFEaEIsZUFBZSx1RUF4RWhCOzs7Ozs7Ozs7Ozs7Ozs7OztLQWlCVDsyRkFFUSxrQkFBa0I7a0JBckI5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaUJUO2lCQUNKOzswQkE0RGdCLFFBQVE7NEVBdkRyQixTQUFTO3NCQUZSLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsbUNBQW1DO2dCQVFoRCxNQUFNO3NCQURMLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQUtOLE9BQU87c0JBRE4sS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sY0FBYztzQkFEYixLQUFLO2dCQVFGLEVBQUU7c0JBREwsS0FBSztnQkFZTixXQUFXO3NCQURWLFdBQVc7dUJBQUMsdUJBQXVCO2dCQUloQyxhQUFhO3NCQURoQixXQUFXO3VCQUFDLHNCQUFzQjtnQkFPbkMsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUJ1dHRvbiwgQnV0dG9uVHlwZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9idXR0b24nO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5U2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS91dGlscyc7XG5cbmxldCByYW5kb21CdXR0b25CYXJJZCA9IDA7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLWJ1dHRvbi1iYXInLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgICAgW2dseXBoUG9zaXRpb25dPVwiZ2x5cGhQb3NpdGlvblwiXG4gICAgICAgICAgICBbZ2x5cGhdPVwiZ2x5cGhcIlxuICAgICAgICAgICAgW2NvbXBhY3RdPVwiY29tcGFjdFwiXG4gICAgICAgICAgICBbZmRUeXBlXT1cImZkVHlwZVwiXG4gICAgICAgICAgICBbbGFiZWxdPVwibGFiZWxcIlxuICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwidGl0bGVcIlxuICAgICAgICAgICAgW2FyaWFMYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgICAgICAgW2ZkTWVudV09XCJmZE1lbnVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkJhckNvbXBvbmVudCBleHRlbmRzIEJhc2VCdXR0b24gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIFdoZXRoZXIgdGhlIGVsZW1lbnQgc2hvdWxkIHRha2UgdGhlIHdob2xlIHdpZHRoIG9mIHRoZSBjb250YWluZXIuICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWJhcl9fZWxlbWVudC0tZnVsbC13aWR0aCcpXG4gICAgZnVsbFdpZHRoID0gZmFsc2U7XG5cbiAgICAvKiogVGhlIHR5cGUgb2YgdGhlIGJ1dHRvbi4gVHlwZXMgaW5jbHVkZTpcbiAgICAgKiAnc3RhbmRhcmQnIHwgJ3Bvc2l0aXZlJyB8ICduZWdhdGl2ZScgfCAnYXR0ZW50aW9uJyB8ICdoYWxmJyB8ICdnaG9zdCcgfCAndHJhbnNwYXJlbnQnIHwgJ2VtcGhhc2l6ZWQnIHwgJ21lbnUnLlxuICAgICAqIERlZmF1bHQgdmFsdWUgaXMgc2V0IHRvICd0cmFuc3BhcmVudCdcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGZkVHlwZTogQnV0dG9uVHlwZSA9ICd0cmFuc3BhcmVudCc7XG5cbiAgICAvKiogYWRkaW5nIHRpdGxlIHRvIHRoZSBidXR0b24gKi9cbiAgICBASW5wdXQoKVxuICAgIHRpdGxlOiBzdHJpbmc7XG5cbiAgICAvKiogV2hldGhlciBvciBub3QgdGhlIGJ1dHRvbiBpcyBjb21wYWN0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29tcGFjdD86IGJvb2xlYW47XG5cbiAgICAvKiogQXJpYSBsYWJlbCBhdHRyaWJ1dGUgdmFsdWUuICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWw6IHN0cmluZztcblxuICAgIC8qKiB0aGUgYXJpYS1sYWJlbGxlZGJ5IGlkcyB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBlbGVtZW50ICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWxsZWRieTogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZWZhdWx0SWQgPSBgZmQtYnV0dG9uLWJhci1pZC0ke3JhbmRvbUJ1dHRvbkJhcklkKyt9YDtcblxuICAgIC8qKiBpZCBmb3IgdGhpcyBlbGVtZW50ICovXG4gICAgQElucHV0KClcbiAgICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lkIHx8IHRoaXMuX2RlZmF1bHRJZDtcbiAgICB9XG4gICAgc2V0IGlkKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2lkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgX2lkOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWJhcl9fZWxlbWVudCcpXG4gICAgX2JhckVsZW1lbnQgPSB0cnVlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wb2ludGVyLWV2ZW50cycpXG4gICAgZ2V0IHBvaW50ZXJFdmVudHMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkID8gJ25vbmUnIDogJ2F1dG8nO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChCdXR0b25Db21wb25lbnQpXG4gICAgX2J1dHRvbkNvbXBvbmVudDogQnV0dG9uQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHJpdmF0ZSBfY29udGVudERlbnNpdHlTZXJ2aWNlOiBDb250ZW50RGVuc2l0eVNlcnZpY2UsIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbXBhY3QgPT09IHVuZGVmaW5lZCAmJiB0aGlzLl9jb250ZW50RGVuc2l0eVNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgICAgIHRoaXMuX2NvbnRlbnREZW5zaXR5U2VydmljZS5faXNDb21wYWN0RGVuc2l0eS5zdWJzY3JpYmUoKGlzQ29tcGFjdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBhY3QgPSBpc0NvbXBhY3Q7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -200,13 +200,20 @@ class ButtonBarComponent extends BaseButton {
200
200
  * Default value is set to 'transparent'
201
201
  */
202
202
  this.fdType = 'transparent';
203
- /** id for this element */
204
- this.id = `fd-button-bar-id-${randomButtonBarId++}`;
203
+ /** @hidden */
204
+ this._defaultId = `fd-button-bar-id-${randomButtonBarId++}`;
205
205
  /** @hidden */
206
206
  this._barElement = true;
207
207
  /** @hidden */
208
208
  this._subscriptions = new Subscription();
209
209
  }
210
+ /** id for this element */
211
+ get id() {
212
+ return this._id || this._defaultId;
213
+ }
214
+ set id(value) {
215
+ this._id = value;
216
+ }
210
217
  get pointerEvents() {
211
218
  return this._disabled ? 'none' : 'auto';
212
219
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-bar.mjs","sources":["../../../../../libs/core/src/lib/bar/bar.component.ts","../../../../../libs/core/src/lib/bar/bar.component.html","../../../../../libs/core/src/lib/bar/directives/bar-left.directive.ts","../../../../../libs/core/src/lib/bar/directives/bar-middle.directive.ts","../../../../../libs/core/src/lib/bar/directives/bar-right.directive.ts","../../../../../libs/core/src/lib/bar/directives/bar-element.directive.ts","../../../../../libs/core/src/lib/bar/button-bar/button-bar.component.ts","../../../../../libs/core/src/lib/bar/bar.module.ts","../../../../../libs/core/src/lib/bar/fundamental-ngx-core-bar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\n\nexport type SizeType = '' | 's' | 'm_l' | 'xl';\nexport type BarDesignType = 'header' | 'subheader' | 'header-with-subheader' | 'footer' | 'floating-footer';\n\n/**\n * The Bar component is a container that holds titles, buttons and input controls.\n * Its content is distributed in three areas - left, middle and right.\n * The Bar has 2 modes - Desktop (default) and Tablet/Mobile (cozy).\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-bar]',\n templateUrl: './bar.component.html',\n styleUrls: ['./bar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarComponent implements OnChanges, OnInit, CssClassBuilder, OnDestroy {\n /** user's custom classes */\n @Input()\n class: string;\n\n /** Whether the Bar component is used as a header, subheader, header-with-subheader,\n * footer or floating-footer.\n * Types available: 'header' | 'subheader' | 'header-with-subheader' | 'footer' | 'floating-footer' */\n @Input()\n barDesign: BarDesignType;\n\n /** Whether the Bar component is used in Page Layout. */\n @Input()\n inPage: boolean;\n\n /** Whether the Bar component is used in Home Page Layout. */\n @Input()\n inHomePage: boolean;\n\n /** The size of the Page in Page responsive design.\n * Available sizes: 's' | 'm_l' | 'xl'\n */\n @Input()\n size: SizeType = '';\n\n /** Whether to apply cozy mode to the Bar. */\n @Input()\n cozy?: boolean;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(private _elementRef: ElementRef, @Optional() private _contentDensityService: ContentDensityService) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this.cozy === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._contentDensityListener.subscribe((density) => {\n this.cozy = density === 'cozy';\n this.buildComponentCssClass();\n })\n );\n }\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n 'fd-bar',\n this.cozy ? 'fd-bar--cozy' : '',\n this.barDesign ? `fd-bar--${this.barDesign}` : '',\n this.inPage && !this.size ? 'fd-bar--page' : '',\n this.inPage && this.size ? `fd-bar--page-${this.size}` : '',\n this.inHomePage && !this.size ? 'fd-bar--home-page' : '',\n this.inHomePage && this.size ? `fd-bar--home-page-${this.size}` : '',\n this.class\n ];\n }\n\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","<ng-content select=\"[fd-bar-left]\"></ng-content>\n<ng-content select=\"[fd-bar-middle]\"></ng-content>\n<ng-content select=\"[fd-bar-right]\"></ng-content>\n<ng-content></ng-content>\n","import { Directive } from '@angular/core';\n\n/**\n * The left side area of the Bar component.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-bar-left]',\n host: {\n class: 'fd-bar__left'\n }\n})\nexport class BarLeftDirective {}\n","import { Directive } from '@angular/core';\n\n/**\n * The middle section of the Bar component.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-bar-middle]',\n host: {\n class: 'fd-bar__middle'\n }\n})\nexport class BarMiddleDirective {}\n","import { Directive } from '@angular/core';\n\n/**\n * The right side area of the Bar component.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-bar-right]',\n host: {\n class: 'fd-bar__right'\n }\n})\nexport class BarRightDirective {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n/**\n * An element of the Bar.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-bar-element'\n})\nexport class BarElementDirective {\n /** Whether the element should take the whole width of the container. */\n @Input()\n @HostBinding('class.fd-bar__element--full-width')\n fullWidth = false;\n\n /** Whether the element is title. */\n @Input()\n @HostBinding('class.fd-bar__element--title')\n isTitle = false;\n\n /** @hidden */\n @HostBinding('class.fd-bar__element')\n barElement = true;\n}\n","import {\n ChangeDetectorRef,\n Component,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild\n} from '@angular/core';\nimport { BaseButton, ButtonType } from '@fundamental-ngx/core/button';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { Subscription } from 'rxjs';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\n\nlet randomButtonBarId = 0;\n@Component({\n selector: 'fd-button-bar',\n template: `\n <button\n fd-button\n [id]=\"id\"\n [type]=\"type\"\n [glyphPosition]=\"glyphPosition\"\n [glyph]=\"glyph\"\n [compact]=\"compact\"\n [fdType]=\"fdType\"\n [label]=\"label\"\n [attr.title]=\"title\"\n [ariaLabel]=\"ariaLabel\"\n [fdMenu]=\"fdMenu\"\n [disabled]=\"disabled\"\n >\n <ng-content></ng-content>\n </button>\n `\n})\nexport class ButtonBarComponent extends BaseButton implements OnInit, OnDestroy {\n /** Whether the element should take the whole width of the container. */\n @Input()\n @HostBinding('class.fd-bar__element--full-width')\n fullWidth = false;\n\n /** The type of the button. Types include:\n * 'standard' | 'positive' | 'negative' | 'attention' | 'half' | 'ghost' | 'transparent' | 'emphasized' | 'menu'.\n * Default value is set to 'transparent'\n */\n @Input()\n fdType: ButtonType = 'transparent';\n\n /** adding title to the button */\n @Input()\n title: string;\n\n /** Whether or not the button is compact. */\n @Input()\n compact?: boolean;\n\n /** Aria label attribute value. */\n @Input()\n ariaLabel: string;\n\n /** the aria-labelledby ids to be associated with this element */\n @Input()\n ariaLabelledby: string;\n\n /** id for this element */\n @Input()\n id = `fd-button-bar-id-${randomButtonBarId++}`;\n\n /** @hidden */\n @HostBinding('class.fd-bar__element')\n _barElement = true;\n\n @HostBinding('style.pointer-events')\n get pointerEvents(): string {\n return this._disabled ? 'none' : 'auto';\n }\n\n /** @hidden */\n @ViewChild(ButtonComponent)\n _buttonComponent: ButtonComponent;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n constructor(@Optional() private _contentDensityService: ContentDensityService, private _cdRef: ChangeDetectorRef) {\n super();\n }\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this._cdRef.markForCheck();\n })\n );\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BarComponent } from './bar.component';\nimport { BarLeftDirective } from './directives/bar-left.directive';\nimport { BarMiddleDirective } from './directives/bar-middle.directive';\nimport { BarRightDirective } from './directives/bar-right.directive';\nimport { BarElementDirective } from './directives/bar-element.directive';\nimport { ButtonBarComponent } from './button-bar/button-bar.component';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\n\n@NgModule({\n declarations: [\n BarComponent,\n BarLeftDirective,\n BarMiddleDirective,\n BarRightDirective,\n BarElementDirective,\n ButtonBarComponent\n ],\n imports: [CommonModule, ButtonModule],\n exports: [\n BarComponent,\n BarLeftDirective,\n BarMiddleDirective,\n BarRightDirective,\n BarElementDirective,\n ButtonBarComponent\n ]\n})\nexport class BarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-bar.mjs","sources":["../../../../../libs/core/src/lib/bar/bar.component.ts","../../../../../libs/core/src/lib/bar/bar.component.html","../../../../../libs/core/src/lib/bar/directives/bar-left.directive.ts","../../../../../libs/core/src/lib/bar/directives/bar-middle.directive.ts","../../../../../libs/core/src/lib/bar/directives/bar-right.directive.ts","../../../../../libs/core/src/lib/bar/directives/bar-element.directive.ts","../../../../../libs/core/src/lib/bar/button-bar/button-bar.component.ts","../../../../../libs/core/src/lib/bar/bar.module.ts","../../../../../libs/core/src/lib/bar/fundamental-ngx-core-bar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\n\nexport type SizeType = '' | 's' | 'm_l' | 'xl';\nexport type BarDesignType = 'header' | 'subheader' | 'header-with-subheader' | 'footer' | 'floating-footer';\n\n/**\n * The Bar component is a container that holds titles, buttons and input controls.\n * Its content is distributed in three areas - left, middle and right.\n * The Bar has 2 modes - Desktop (default) and Tablet/Mobile (cozy).\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-bar]',\n templateUrl: './bar.component.html',\n styleUrls: ['./bar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarComponent implements OnChanges, OnInit, CssClassBuilder, OnDestroy {\n /** user's custom classes */\n @Input()\n class: string;\n\n /** Whether the Bar component is used as a header, subheader, header-with-subheader,\n * footer or floating-footer.\n * Types available: 'header' | 'subheader' | 'header-with-subheader' | 'footer' | 'floating-footer' */\n @Input()\n barDesign: BarDesignType;\n\n /** Whether the Bar component is used in Page Layout. */\n @Input()\n inPage: boolean;\n\n /** Whether the Bar component is used in Home Page Layout. */\n @Input()\n inHomePage: boolean;\n\n /** The size of the Page in Page responsive design.\n * Available sizes: 's' | 'm_l' | 'xl'\n */\n @Input()\n size: SizeType = '';\n\n /** Whether to apply cozy mode to the Bar. */\n @Input()\n cozy?: boolean;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(private _elementRef: ElementRef, @Optional() private _contentDensityService: ContentDensityService) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this.cozy === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._contentDensityListener.subscribe((density) => {\n this.cozy = density === 'cozy';\n this.buildComponentCssClass();\n })\n );\n }\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n 'fd-bar',\n this.cozy ? 'fd-bar--cozy' : '',\n this.barDesign ? `fd-bar--${this.barDesign}` : '',\n this.inPage && !this.size ? 'fd-bar--page' : '',\n this.inPage && this.size ? `fd-bar--page-${this.size}` : '',\n this.inHomePage && !this.size ? 'fd-bar--home-page' : '',\n this.inHomePage && this.size ? `fd-bar--home-page-${this.size}` : '',\n this.class\n ];\n }\n\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","<ng-content select=\"[fd-bar-left]\"></ng-content>\n<ng-content select=\"[fd-bar-middle]\"></ng-content>\n<ng-content select=\"[fd-bar-right]\"></ng-content>\n<ng-content></ng-content>\n","import { Directive } from '@angular/core';\n\n/**\n * The left side area of the Bar component.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-bar-left]',\n host: {\n class: 'fd-bar__left'\n }\n})\nexport class BarLeftDirective {}\n","import { Directive } from '@angular/core';\n\n/**\n * The middle section of the Bar component.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-bar-middle]',\n host: {\n class: 'fd-bar__middle'\n }\n})\nexport class BarMiddleDirective {}\n","import { Directive } from '@angular/core';\n\n/**\n * The right side area of the Bar component.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-bar-right]',\n host: {\n class: 'fd-bar__right'\n }\n})\nexport class BarRightDirective {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n/**\n * An element of the Bar.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-bar-element'\n})\nexport class BarElementDirective {\n /** Whether the element should take the whole width of the container. */\n @Input()\n @HostBinding('class.fd-bar__element--full-width')\n fullWidth = false;\n\n /** Whether the element is title. */\n @Input()\n @HostBinding('class.fd-bar__element--title')\n isTitle = false;\n\n /** @hidden */\n @HostBinding('class.fd-bar__element')\n barElement = true;\n}\n","import {\n ChangeDetectorRef,\n Component,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild\n} from '@angular/core';\nimport { BaseButton, ButtonType } from '@fundamental-ngx/core/button';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { Subscription } from 'rxjs';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\n\nlet randomButtonBarId = 0;\n@Component({\n selector: 'fd-button-bar',\n template: `\n <button\n fd-button\n [id]=\"id\"\n [type]=\"type\"\n [glyphPosition]=\"glyphPosition\"\n [glyph]=\"glyph\"\n [compact]=\"compact\"\n [fdType]=\"fdType\"\n [label]=\"label\"\n [attr.title]=\"title\"\n [ariaLabel]=\"ariaLabel\"\n [fdMenu]=\"fdMenu\"\n [disabled]=\"disabled\"\n >\n <ng-content></ng-content>\n </button>\n `\n})\nexport class ButtonBarComponent extends BaseButton implements OnInit, OnDestroy {\n /** Whether the element should take the whole width of the container. */\n @Input()\n @HostBinding('class.fd-bar__element--full-width')\n fullWidth = false;\n\n /** The type of the button. Types include:\n * 'standard' | 'positive' | 'negative' | 'attention' | 'half' | 'ghost' | 'transparent' | 'emphasized' | 'menu'.\n * Default value is set to 'transparent'\n */\n @Input()\n fdType: ButtonType = 'transparent';\n\n /** adding title to the button */\n @Input()\n title: string;\n\n /** Whether or not the button is compact. */\n @Input()\n compact?: boolean;\n\n /** Aria label attribute value. */\n @Input()\n ariaLabel: string;\n\n /** the aria-labelledby ids to be associated with this element */\n @Input()\n ariaLabelledby: string;\n\n /** @hidden */\n private readonly _defaultId = `fd-button-bar-id-${randomButtonBarId++}`;\n\n /** id for this element */\n @Input()\n get id(): string {\n return this._id || this._defaultId;\n }\n set id(value: string | null | undefined) {\n this._id = value;\n }\n\n _id: string | null | undefined;\n\n /** @hidden */\n @HostBinding('class.fd-bar__element')\n _barElement = true;\n\n @HostBinding('style.pointer-events')\n get pointerEvents(): string {\n return this._disabled ? 'none' : 'auto';\n }\n\n /** @hidden */\n @ViewChild(ButtonComponent)\n _buttonComponent: ButtonComponent;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n constructor(@Optional() private _contentDensityService: ContentDensityService, private _cdRef: ChangeDetectorRef) {\n super();\n }\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this._cdRef.markForCheck();\n })\n );\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BarComponent } from './bar.component';\nimport { BarLeftDirective } from './directives/bar-left.directive';\nimport { BarMiddleDirective } from './directives/bar-middle.directive';\nimport { BarRightDirective } from './directives/bar-right.directive';\nimport { BarElementDirective } from './directives/bar-element.directive';\nimport { ButtonBarComponent } from './button-bar/button-bar.component';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\n\n@NgModule({\n declarations: [\n BarComponent,\n BarLeftDirective,\n BarMiddleDirective,\n BarRightDirective,\n BarElementDirective,\n ButtonBarComponent\n ],\n imports: [CommonModule, ButtonModule],\n exports: [\n BarComponent,\n BarLeftDirective,\n BarMiddleDirective,\n BarRightDirective,\n BarElementDirective,\n ButtonBarComponent\n ]\n})\nexport class BarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -198,13 +198,20 @@ class ButtonBarComponent extends BaseButton {
198
198
  * Default value is set to 'transparent'
199
199
  */
200
200
  this.fdType = 'transparent';
201
- /** id for this element */
202
- this.id = `fd-button-bar-id-${randomButtonBarId++}`;
201
+ /** @hidden */
202
+ this._defaultId = `fd-button-bar-id-${randomButtonBarId++}`;
203
203
  /** @hidden */
204
204
  this._barElement = true;
205
205
  /** @hidden */
206
206
  this._subscriptions = new Subscription();
207
207
  }
208
+ /** id for this element */
209
+ get id() {
210
+ return this._id || this._defaultId;
211
+ }
212
+ set id(value) {
213
+ this._id = value;
214
+ }
208
215
  get pointerEvents() {
209
216
  return this._disabled ? 'none' : 'auto';
210
217
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-bar.mjs","sources":["../../../../../libs/core/src/lib/bar/bar.component.ts","../../../../../libs/core/src/lib/bar/bar.component.html","../../../../../libs/core/src/lib/bar/directives/bar-left.directive.ts","../../../../../libs/core/src/lib/bar/directives/bar-middle.directive.ts","../../../../../libs/core/src/lib/bar/directives/bar-right.directive.ts","../../../../../libs/core/src/lib/bar/directives/bar-element.directive.ts","../../../../../libs/core/src/lib/bar/button-bar/button-bar.component.ts","../../../../../libs/core/src/lib/bar/bar.module.ts","../../../../../libs/core/src/lib/bar/fundamental-ngx-core-bar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\n\nexport type SizeType = '' | 's' | 'm_l' | 'xl';\nexport type BarDesignType = 'header' | 'subheader' | 'header-with-subheader' | 'footer' | 'floating-footer';\n\n/**\n * The Bar component is a container that holds titles, buttons and input controls.\n * Its content is distributed in three areas - left, middle and right.\n * The Bar has 2 modes - Desktop (default) and Tablet/Mobile (cozy).\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-bar]',\n templateUrl: './bar.component.html',\n styleUrls: ['./bar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarComponent implements OnChanges, OnInit, CssClassBuilder, OnDestroy {\n /** user's custom classes */\n @Input()\n class: string;\n\n /** Whether the Bar component is used as a header, subheader, header-with-subheader,\n * footer or floating-footer.\n * Types available: 'header' | 'subheader' | 'header-with-subheader' | 'footer' | 'floating-footer' */\n @Input()\n barDesign: BarDesignType;\n\n /** Whether the Bar component is used in Page Layout. */\n @Input()\n inPage: boolean;\n\n /** Whether the Bar component is used in Home Page Layout. */\n @Input()\n inHomePage: boolean;\n\n /** The size of the Page in Page responsive design.\n * Available sizes: 's' | 'm_l' | 'xl'\n */\n @Input()\n size: SizeType = '';\n\n /** Whether to apply cozy mode to the Bar. */\n @Input()\n cozy?: boolean;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(private _elementRef: ElementRef, @Optional() private _contentDensityService: ContentDensityService) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this.cozy === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._contentDensityListener.subscribe((density) => {\n this.cozy = density === 'cozy';\n this.buildComponentCssClass();\n })\n );\n }\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n 'fd-bar',\n this.cozy ? 'fd-bar--cozy' : '',\n this.barDesign ? `fd-bar--${this.barDesign}` : '',\n this.inPage && !this.size ? 'fd-bar--page' : '',\n this.inPage && this.size ? `fd-bar--page-${this.size}` : '',\n this.inHomePage && !this.size ? 'fd-bar--home-page' : '',\n this.inHomePage && this.size ? `fd-bar--home-page-${this.size}` : '',\n this.class\n ];\n }\n\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","<ng-content select=\"[fd-bar-left]\"></ng-content>\n<ng-content select=\"[fd-bar-middle]\"></ng-content>\n<ng-content select=\"[fd-bar-right]\"></ng-content>\n<ng-content></ng-content>\n","import { Directive } from '@angular/core';\n\n/**\n * The left side area of the Bar component.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-bar-left]',\n host: {\n class: 'fd-bar__left'\n }\n})\nexport class BarLeftDirective {}\n","import { Directive } from '@angular/core';\n\n/**\n * The middle section of the Bar component.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-bar-middle]',\n host: {\n class: 'fd-bar__middle'\n }\n})\nexport class BarMiddleDirective {}\n","import { Directive } from '@angular/core';\n\n/**\n * The right side area of the Bar component.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-bar-right]',\n host: {\n class: 'fd-bar__right'\n }\n})\nexport class BarRightDirective {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n/**\n * An element of the Bar.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-bar-element'\n})\nexport class BarElementDirective {\n /** Whether the element should take the whole width of the container. */\n @Input()\n @HostBinding('class.fd-bar__element--full-width')\n fullWidth = false;\n\n /** Whether the element is title. */\n @Input()\n @HostBinding('class.fd-bar__element--title')\n isTitle = false;\n\n /** @hidden */\n @HostBinding('class.fd-bar__element')\n barElement = true;\n}\n","import {\n ChangeDetectorRef,\n Component,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild\n} from '@angular/core';\nimport { BaseButton, ButtonType } from '@fundamental-ngx/core/button';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { Subscription } from 'rxjs';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\n\nlet randomButtonBarId = 0;\n@Component({\n selector: 'fd-button-bar',\n template: `\n <button\n fd-button\n [id]=\"id\"\n [type]=\"type\"\n [glyphPosition]=\"glyphPosition\"\n [glyph]=\"glyph\"\n [compact]=\"compact\"\n [fdType]=\"fdType\"\n [label]=\"label\"\n [attr.title]=\"title\"\n [ariaLabel]=\"ariaLabel\"\n [fdMenu]=\"fdMenu\"\n [disabled]=\"disabled\"\n >\n <ng-content></ng-content>\n </button>\n `\n})\nexport class ButtonBarComponent extends BaseButton implements OnInit, OnDestroy {\n /** Whether the element should take the whole width of the container. */\n @Input()\n @HostBinding('class.fd-bar__element--full-width')\n fullWidth = false;\n\n /** The type of the button. Types include:\n * 'standard' | 'positive' | 'negative' | 'attention' | 'half' | 'ghost' | 'transparent' | 'emphasized' | 'menu'.\n * Default value is set to 'transparent'\n */\n @Input()\n fdType: ButtonType = 'transparent';\n\n /** adding title to the button */\n @Input()\n title: string;\n\n /** Whether or not the button is compact. */\n @Input()\n compact?: boolean;\n\n /** Aria label attribute value. */\n @Input()\n ariaLabel: string;\n\n /** the aria-labelledby ids to be associated with this element */\n @Input()\n ariaLabelledby: string;\n\n /** id for this element */\n @Input()\n id = `fd-button-bar-id-${randomButtonBarId++}`;\n\n /** @hidden */\n @HostBinding('class.fd-bar__element')\n _barElement = true;\n\n @HostBinding('style.pointer-events')\n get pointerEvents(): string {\n return this._disabled ? 'none' : 'auto';\n }\n\n /** @hidden */\n @ViewChild(ButtonComponent)\n _buttonComponent: ButtonComponent;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n constructor(@Optional() private _contentDensityService: ContentDensityService, private _cdRef: ChangeDetectorRef) {\n super();\n }\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this._cdRef.markForCheck();\n })\n );\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BarComponent } from './bar.component';\nimport { BarLeftDirective } from './directives/bar-left.directive';\nimport { BarMiddleDirective } from './directives/bar-middle.directive';\nimport { BarRightDirective } from './directives/bar-right.directive';\nimport { BarElementDirective } from './directives/bar-element.directive';\nimport { ButtonBarComponent } from './button-bar/button-bar.component';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\n\n@NgModule({\n declarations: [\n BarComponent,\n BarLeftDirective,\n BarMiddleDirective,\n BarRightDirective,\n BarElementDirective,\n ButtonBarComponent\n ],\n imports: [CommonModule, ButtonModule],\n exports: [\n BarComponent,\n BarLeftDirective,\n BarMiddleDirective,\n BarRightDirective,\n BarElementDirective,\n ButtonBarComponent\n ]\n})\nexport class BarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-bar.mjs","sources":["../../../../../libs/core/src/lib/bar/bar.component.ts","../../../../../libs/core/src/lib/bar/bar.component.html","../../../../../libs/core/src/lib/bar/directives/bar-left.directive.ts","../../../../../libs/core/src/lib/bar/directives/bar-middle.directive.ts","../../../../../libs/core/src/lib/bar/directives/bar-right.directive.ts","../../../../../libs/core/src/lib/bar/directives/bar-element.directive.ts","../../../../../libs/core/src/lib/bar/button-bar/button-bar.component.ts","../../../../../libs/core/src/lib/bar/bar.module.ts","../../../../../libs/core/src/lib/bar/fundamental-ngx-core-bar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\n\nexport type SizeType = '' | 's' | 'm_l' | 'xl';\nexport type BarDesignType = 'header' | 'subheader' | 'header-with-subheader' | 'footer' | 'floating-footer';\n\n/**\n * The Bar component is a container that holds titles, buttons and input controls.\n * Its content is distributed in three areas - left, middle and right.\n * The Bar has 2 modes - Desktop (default) and Tablet/Mobile (cozy).\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-bar]',\n templateUrl: './bar.component.html',\n styleUrls: ['./bar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarComponent implements OnChanges, OnInit, CssClassBuilder, OnDestroy {\n /** user's custom classes */\n @Input()\n class: string;\n\n /** Whether the Bar component is used as a header, subheader, header-with-subheader,\n * footer or floating-footer.\n * Types available: 'header' | 'subheader' | 'header-with-subheader' | 'footer' | 'floating-footer' */\n @Input()\n barDesign: BarDesignType;\n\n /** Whether the Bar component is used in Page Layout. */\n @Input()\n inPage: boolean;\n\n /** Whether the Bar component is used in Home Page Layout. */\n @Input()\n inHomePage: boolean;\n\n /** The size of the Page in Page responsive design.\n * Available sizes: 's' | 'm_l' | 'xl'\n */\n @Input()\n size: SizeType = '';\n\n /** Whether to apply cozy mode to the Bar. */\n @Input()\n cozy?: boolean;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(private _elementRef: ElementRef, @Optional() private _contentDensityService: ContentDensityService) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this.cozy === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._contentDensityListener.subscribe((density) => {\n this.cozy = density === 'cozy';\n this.buildComponentCssClass();\n })\n );\n }\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n 'fd-bar',\n this.cozy ? 'fd-bar--cozy' : '',\n this.barDesign ? `fd-bar--${this.barDesign}` : '',\n this.inPage && !this.size ? 'fd-bar--page' : '',\n this.inPage && this.size ? `fd-bar--page-${this.size}` : '',\n this.inHomePage && !this.size ? 'fd-bar--home-page' : '',\n this.inHomePage && this.size ? `fd-bar--home-page-${this.size}` : '',\n this.class\n ];\n }\n\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","<ng-content select=\"[fd-bar-left]\"></ng-content>\n<ng-content select=\"[fd-bar-middle]\"></ng-content>\n<ng-content select=\"[fd-bar-right]\"></ng-content>\n<ng-content></ng-content>\n","import { Directive } from '@angular/core';\n\n/**\n * The left side area of the Bar component.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-bar-left]',\n host: {\n class: 'fd-bar__left'\n }\n})\nexport class BarLeftDirective {}\n","import { Directive } from '@angular/core';\n\n/**\n * The middle section of the Bar component.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-bar-middle]',\n host: {\n class: 'fd-bar__middle'\n }\n})\nexport class BarMiddleDirective {}\n","import { Directive } from '@angular/core';\n\n/**\n * The right side area of the Bar component.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-bar-right]',\n host: {\n class: 'fd-bar__right'\n }\n})\nexport class BarRightDirective {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n/**\n * An element of the Bar.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-bar-element'\n})\nexport class BarElementDirective {\n /** Whether the element should take the whole width of the container. */\n @Input()\n @HostBinding('class.fd-bar__element--full-width')\n fullWidth = false;\n\n /** Whether the element is title. */\n @Input()\n @HostBinding('class.fd-bar__element--title')\n isTitle = false;\n\n /** @hidden */\n @HostBinding('class.fd-bar__element')\n barElement = true;\n}\n","import {\n ChangeDetectorRef,\n Component,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild\n} from '@angular/core';\nimport { BaseButton, ButtonType } from '@fundamental-ngx/core/button';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { Subscription } from 'rxjs';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\n\nlet randomButtonBarId = 0;\n@Component({\n selector: 'fd-button-bar',\n template: `\n <button\n fd-button\n [id]=\"id\"\n [type]=\"type\"\n [glyphPosition]=\"glyphPosition\"\n [glyph]=\"glyph\"\n [compact]=\"compact\"\n [fdType]=\"fdType\"\n [label]=\"label\"\n [attr.title]=\"title\"\n [ariaLabel]=\"ariaLabel\"\n [fdMenu]=\"fdMenu\"\n [disabled]=\"disabled\"\n >\n <ng-content></ng-content>\n </button>\n `\n})\nexport class ButtonBarComponent extends BaseButton implements OnInit, OnDestroy {\n /** Whether the element should take the whole width of the container. */\n @Input()\n @HostBinding('class.fd-bar__element--full-width')\n fullWidth = false;\n\n /** The type of the button. Types include:\n * 'standard' | 'positive' | 'negative' | 'attention' | 'half' | 'ghost' | 'transparent' | 'emphasized' | 'menu'.\n * Default value is set to 'transparent'\n */\n @Input()\n fdType: ButtonType = 'transparent';\n\n /** adding title to the button */\n @Input()\n title: string;\n\n /** Whether or not the button is compact. */\n @Input()\n compact?: boolean;\n\n /** Aria label attribute value. */\n @Input()\n ariaLabel: string;\n\n /** the aria-labelledby ids to be associated with this element */\n @Input()\n ariaLabelledby: string;\n\n /** @hidden */\n private readonly _defaultId = `fd-button-bar-id-${randomButtonBarId++}`;\n\n /** id for this element */\n @Input()\n get id(): string {\n return this._id || this._defaultId;\n }\n set id(value: string | null | undefined) {\n this._id = value;\n }\n\n _id: string | null | undefined;\n\n /** @hidden */\n @HostBinding('class.fd-bar__element')\n _barElement = true;\n\n @HostBinding('style.pointer-events')\n get pointerEvents(): string {\n return this._disabled ? 'none' : 'auto';\n }\n\n /** @hidden */\n @ViewChild(ButtonComponent)\n _buttonComponent: ButtonComponent;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n constructor(@Optional() private _contentDensityService: ContentDensityService, private _cdRef: ChangeDetectorRef) {\n super();\n }\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this._cdRef.markForCheck();\n })\n );\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BarComponent } from './bar.component';\nimport { BarLeftDirective } from './directives/bar-left.directive';\nimport { BarMiddleDirective } from './directives/bar-middle.directive';\nimport { BarRightDirective } from './directives/bar-right.directive';\nimport { BarElementDirective } from './directives/bar-element.directive';\nimport { ButtonBarComponent } from './button-bar/button-bar.component';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\n\n@NgModule({\n declarations: [\n BarComponent,\n BarLeftDirective,\n BarMiddleDirective,\n BarRightDirective,\n BarElementDirective,\n ButtonBarComponent\n ],\n imports: [CommonModule, ButtonModule],\n exports: [\n BarComponent,\n BarLeftDirective,\n BarMiddleDirective,\n BarRightDirective,\n BarElementDirective,\n ButtonBarComponent\n ]\n})\nexport class BarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;AAmBA;;;;;MAaa,YAAY;;IAiCrB,YAAoB,WAAuB,EAAsB,sBAA6C;QAA1F,gBAAW,GAAX,WAAW,CAAY;QAAsB,2BAAsB,GAAtB,sBAAsB,CAAuB;;;;QAV9G,SAAI,GAAa,EAAE,CAAC;;QAOZ,mBAAc,GAAG,IAAI,YAAY,EAAE,CAAC;KAGsE;;IAGlH,QAAQ;QACJ,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,sBAAsB,EAAE;YACxD,IAAI,CAAC,cAAc,CAAC,GAAG,CACnB,IAAI,CAAC,sBAAsB,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,OAAO;gBAClE,IAAI,CAAC,IAAI,GAAG,OAAO,KAAK,MAAM,CAAC;gBAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;aACjC,CAAC,CACL,CAAC;SACL;QACD,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;IAGD,WAAW;QACP,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;KACrC;;IAGD,WAAW;QACP,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;;;;IAOD,sBAAsB;QAClB,OAAO;YACH,QAAQ;YACR,IAAI,CAAC,IAAI,GAAG,cAAc,GAAG,EAAE;YAC/B,IAAI,CAAC,SAAS,GAAG,WAAW,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;YACjD,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,cAAc,GAAG,EAAE;YAC/C,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,GAAG,gBAAgB,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;YAC3D,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,mBAAmB,GAAG,EAAE;YACxD,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,GAAG,qBAAqB,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;YACpE,IAAI,CAAC,KAAK;SACb,CAAC;KACL;IAED,UAAU;QACN,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;;yGA9EQ,YAAY;6FAAZ,YAAY,iMChCzB,4LAIA;AD2FI;IALC,aAAa;;;;0DAgBb;2FA1EQ,YAAY;kBARxB,SAAS;+BAEI,UAAU,iBAGL,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;;0BAmCD,QAAQ;4CA9BtD,KAAK;sBADJ,KAAK;gBAON,SAAS;sBADR,KAAK;gBAKN,MAAM;sBADL,KAAK;gBAKN,UAAU;sBADT,KAAK;gBAON,IAAI;sBADH,KAAK;gBAKN,IAAI;sBADH,KAAK;;;;;;QAqCN,sBAAsB;;AE7F1B;;;MAUa,gBAAgB;;6GAAhB,gBAAgB;iGAAhB,gBAAgB;2FAAhB,gBAAgB;kBAP5B,SAAS;mBAAC;;oBAEP,QAAQ,EAAE,eAAe;oBACzB,IAAI,EAAE;wBACF,KAAK,EAAE,cAAc;qBACxB;iBACJ;;;ACTD;;;MAUa,kBAAkB;;+GAAlB,kBAAkB;mGAAlB,kBAAkB;2FAAlB,kBAAkB;kBAP9B,SAAS;mBAAC;;oBAEP,QAAQ,EAAE,iBAAiB;oBAC3B,IAAI,EAAE;wBACF,KAAK,EAAE,gBAAgB;qBAC1B;iBACJ;;;ACTD;;;MAUa,iBAAiB;;8GAAjB,iBAAiB;kGAAjB,iBAAiB;2FAAjB,iBAAiB;kBAP7B,SAAS;mBAAC;;oBAEP,QAAQ,EAAE,gBAAgB;oBAC1B,IAAI,EAAE;wBACF,KAAK,EAAE,eAAe;qBACzB;iBACJ;;;ACTD;;;MAOa,mBAAmB;IAJhC;;QAQI,cAAS,GAAG,KAAK,CAAC;;QAKlB,YAAO,GAAG,KAAK,CAAC;;QAIhB,eAAU,GAAG,IAAI,CAAC;KACrB;;gHAdY,mBAAmB;oGAAnB,mBAAmB;2FAAnB,mBAAmB;kBAJ/B,SAAS;mBAAC;;oBAEP,QAAQ,EAAE,gBAAgB;iBAC7B;8BAKG,SAAS;sBAFR,KAAK;;sBACL,WAAW;uBAAC,mCAAmC;gBAMhD,OAAO;sBAFN,KAAK;;sBACL,WAAW;uBAAC,8BAA8B;gBAK3C,UAAU;sBADT,WAAW;uBAAC,uBAAuB;;;ACNxC,IAAI,iBAAiB,GAAG,CAAC,CAAC;MAsBb,kBAAmB,SAAQ,UAAU;IA2D9C,YAAgC,sBAA6C,EAAU,MAAyB;QAC5G,KAAK,EAAE,CAAC;QADoB,2BAAsB,GAAtB,sBAAsB,CAAuB;QAAU,WAAM,GAAN,MAAM,CAAmB;;QAvDhH,cAAS,GAAG,KAAK,CAAC;;;;;QAOlB,WAAM,GAAe,aAAa,CAAC;;QAmBlB,eAAU,GAAG,oBAAoB,iBAAiB,EAAE,EAAE,CAAC;;QAexE,gBAAW,GAAG,IAAI,CAAC;;QAYX,mBAAc,GAAG,IAAI,YAAY,EAAE,CAAC;KAI3C;;IA5BD,IACI,EAAE;QACF,OAAO,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC;KACtC;IACD,IAAI,EAAE,CAAC,KAAgC;QACnC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;KACpB;IAQD,IACI,aAAa;QACb,OAAO,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;KAC3C;;IAcD,QAAQ;QACJ,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC3D,IAAI,CAAC,cAAc,CAAC,GAAG,CACnB,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,SAAS;gBAC9D,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;aAC9B,CAAC,CACL,CAAC;SACL;KACJ;;IAGD,WAAW;QACP,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;KACrC;;+GA9EQ,kBAAkB;mGAAlB,kBAAkB,ibAqDhB,eAAe,uEAxEhB;;;;;;;;;;;;;;;;;KAiBT;2FAEQ,kBAAkB;kBArB9B,SAAS;mBAAC;oBACP,QAAQ,EAAE,eAAe;oBACzB,QAAQ,EAAE;;;;;;;;;;;;;;;;;KAiBT;iBACJ;;0BA4DgB,QAAQ;4EAvDrB,SAAS;sBAFR,KAAK;;sBACL,WAAW;uBAAC,mCAAmC;gBAQhD,MAAM;sBADL,KAAK;gBAKN,KAAK;sBADJ,KAAK;gBAKN,OAAO;sBADN,KAAK;gBAKN,SAAS;sBADR,KAAK;gBAKN,cAAc;sBADb,KAAK;gBAQF,EAAE;sBADL,KAAK;gBAYN,WAAW;sBADV,WAAW;uBAAC,uBAAuB;gBAIhC,aAAa;sBADhB,WAAW;uBAAC,sBAAsB;gBAOnC,gBAAgB;sBADf,SAAS;uBAAC,eAAe;;;MC5DjB,SAAS;;sGAAT,SAAS;uGAAT,SAAS,iBAjBd,YAAY;QACZ,gBAAgB;QAChB,kBAAkB;QAClB,iBAAiB;QACjB,mBAAmB;QACnB,kBAAkB,aAEZ,YAAY,EAAE,YAAY,aAEhC,YAAY;QACZ,gBAAgB;QAChB,kBAAkB;QAClB,iBAAiB;QACjB,mBAAmB;QACnB,kBAAkB;uGAGb,SAAS,YAVT,CAAC,YAAY,EAAE,YAAY,CAAC;2FAU5B,SAAS;kBAnBrB,QAAQ;mBAAC;oBACN,YAAY,EAAE;wBACV,YAAY;wBACZ,gBAAgB;wBAChB,kBAAkB;wBAClB,iBAAiB;wBACjB,mBAAmB;wBACnB,kBAAkB;qBACrB;oBACD,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;oBACrC,OAAO,EAAE;wBACL,YAAY;wBACZ,gBAAgB;wBAChB,kBAAkB;wBAClB,iBAAiB;wBACjB,mBAAmB;wBACnB,kBAAkB;qBACrB;iBACJ;;;AC7BD;;;;;;"}
package/bar/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/bar",
3
- "version": "0.34.3-rc.26",
3
+ "version": "0.34.3-rc.29",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -39,6 +39,8 @@ export declare class BreadcrumbComponent implements AfterContentInit, OnInit, On
39
39
  * performs better. When not provided, the immediate parent element's width will be used.
40
40
  */
41
41
  containerElement: HTMLElement;
42
+ /** Whether or not to append items to the overflow dropdown in reverse order. Default is true. */
43
+ reverse: boolean;
42
44
  /** @hidden */
43
45
  containerBoundary: number;
44
46
  /** @hidden */
@@ -78,5 +80,5 @@ export declare class BreadcrumbComponent implements AfterContentInit, OnInit, On
78
80
  private makeBreadcrumbVisible;
79
81
  private makeBreadcrumbInvisible;
80
82
  static ɵfac: i0.ɵɵFactoryDeclaration<BreadcrumbComponent, [null, { optional: true; }, { optional: true; }, null]>;
81
- static ɵcmp: i0.ɵɵComponentDeclaration<BreadcrumbComponent, "fd-breadcrumb", never, { "compact": "compact"; "containerElement": "containerElement"; }, {}, ["breadcrumbItems"], ["*"]>;
83
+ static ɵcmp: i0.ɵɵComponentDeclaration<BreadcrumbComponent, "fd-breadcrumb", never, { "compact": "compact"; "containerElement": "containerElement"; "reverse": "reverse"; }, {}, ["breadcrumbItems"], ["*"]>;
82
84
  }
@@ -34,6 +34,8 @@ export class BreadcrumbComponent {
34
34
  this.collapsedBreadcrumbItems = [];
35
35
  /** @hidden */
36
36
  this.placement$ = new BehaviorSubject('bottom-start');
37
+ /** Whether or not to append items to the overflow dropdown in reverse order. Default is true. */
38
+ this.reverse = false;
37
39
  /** @hidden */
38
40
  this._subscriptions = new Subscription();
39
41
  }
@@ -112,7 +114,9 @@ export class BreadcrumbComponent {
112
114
  i < this.breadcrumbItems.length) {
113
115
  const breadcrumbItem = this.breadcrumbItems.filter((item, index) => index === i)[0];
114
116
  if (this.collapsedBreadcrumbItems.indexOf(breadcrumbItem) === -1) {
115
- this.collapsedBreadcrumbItems.push(breadcrumbItem);
117
+ this.reverse
118
+ ? this.collapsedBreadcrumbItems.push(breadcrumbItem)
119
+ : this.collapsedBreadcrumbItems.unshift(breadcrumbItem);
116
120
  }
117
121
  // hide the original breadcrumb items that have been moved in to the collapsed menu
118
122
  breadcrumbItem.elementRef.nativeElement.style.display = 'none';
@@ -183,7 +187,7 @@ export class BreadcrumbComponent {
183
187
  }
184
188
  }
185
189
  BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i0.ElementRef }, { token: i1.RtlService, optional: true }, { token: i1.ContentDensityService, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
186
- BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: BreadcrumbComponent, selector: "fd-breadcrumb", inputs: { compact: "compact", containerElement: "containerElement" }, host: { listeners: { "window:resize": "onResize()" }, classAttribute: "fd-breadcrumb" }, queries: [{ propertyName: "breadcrumbItems", predicate: i0.forwardRef(function () { return BreadcrumbItemDirective; }) }], viewQueries: [{ propertyName: "menuComponent", first: true, predicate: MenuComponent, descendants: true }], ngImport: i0, template: "<fd-menu #menu [compact]=\"compact\" [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"placement$ | async\">\n <li fd-menu-item *ngFor=\"let collapsedBreadcrumbItem of collapsedBreadcrumbItems\">\n <a\n fd-menu-interactive\n [attr.href]=\"collapsedBreadcrumbItem.href\"\n [routerLink]=\"collapsedBreadcrumbItem.routerLink\"\n >\n <span fd-menu-title>{{ collapsedBreadcrumbItem.elementRef.nativeElement.innerText }}</span>\n </a>\n </li>\n</fd-menu>\n\n<fd-breadcrumb-item *ngIf=\"collapsedBreadcrumbItems.length\" [fdMenuTrigger]=\"menu\">\n <a fd-breadcrumb-link tabindex=\"0\" class=\"fd-breadcrumb__collapsed\" (keydown)=\"keyDownHandle($event)\">\n ...\n <i role=\"presentation\" class=\"fd-breadcrumb__dropdown-icon sap-icon sap-icon--slim-arrow-down\"></i>\n </a>\n</fd-breadcrumb-item>\n\n<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-breadcrumb\n .fd-breadcrumb__item\n .fd-breadcrump__link\n*/.fd-breadcrumb{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;flex-wrap:wrap;align-items:center;list-style:none}.fd-breadcrumb:after,.fd-breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;color:var(--sapContent_LabelColor)}.fd-breadcrumb__item:after,.fd-breadcrumb__item:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item:after{content:\"/\";color:var(--sapContent_LabelColor);margin-right:.25rem;margin-left:.25rem}.fd-breadcrumb__item:last-child:after{content:none}.fd-breadcrumb__item .fd-breadcrumb__popover-body{border:none;border-top-left-radius:.125rem;border-top-right-radius:.125rem}.fd-breadcrumb__link{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;color:var(--sapLinkColor);-webkit-text-decoration:var(--fdLink_Text_Decoration);text-decoration:var(--fdLink_Text_Decoration);text-shadow:var(--sapContent_TextShadow);line-height:inherit;display:inline-block;transition:all 125ms ease-in}.fd-breadcrumb__link:after,.fd-breadcrumb__link:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__link--emphasized{font-weight:700}.fd-breadcrumb__link:visited{color:var(--sapLink_Visited_Color)}.fd-breadcrumb__link.is-hover,.fd-breadcrumb__link:hover{color:var(--sapLink_Hover_Color);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-breadcrumb__link.is-focus,.fd-breadcrumb__link:focus{z-index:5;box-shadow:none;outline-offset:-.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-breadcrumb__link.is-active,.fd-breadcrumb__link:active{color:var(--sapLink_Active_Color);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-breadcrumb__link--inverted{color:var(--sapLink_InvertedColor);text-shadow:none}.fd-breadcrumb__link--inverted.is-hover,.fd-breadcrumb__link--inverted:hover{color:var(--sapLink_InvertedColor)}.fd-breadcrumb__link--inverted.is-focus,.fd-breadcrumb__link--inverted:focus{z-index:5;outline-color:var(--sapContent_ContrastFocusColor)}.fd-breadcrumb__link--subtle{color:var(--sapLink_SubtleColor)}.fd-breadcrumb__link.is-disabled,.fd-breadcrumb__link:disabled,.fd-breadcrumb__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);color:var(--sapLinkColor);pointer-events:none}.fd-breadcrumb__link>img{vertical-align:bottom}.fd-breadcrumb__link:focus .fd-breadcrumb__dropdown-icon{color:var(--sapLink_Active_Color)}.fd-breadcrumb__link:active .fd-breadcrumb__dropdown-icon,.fd-breadcrumb__link:active:hover .fd-breadcrumb__dropdown-icon{color:var(--sapLink_Active_Color)}.fd-breadcrumb__link:hover .fd-breadcrumb__dropdown-icon{color:var(--sapLink_Hover_Color)}.fd-breadcrumb__dropdown-icon [class*=sap-icon],.fd-breadcrumb__dropdown-icon[class*=sap-icon]{color:inherit;background:inherit;font-size:inherit;border-radius:inherit;line-height:1;text-decoration:inherit;color:var(--sapLinkColor)}.fd-breadcrumb{display:inline-block;white-space:nowrap}.fd-breadcrumb .fd-breadcrumb__collapsed{cursor:pointer}\n"], components: [{ type: i2.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "compact", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { type: i2.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i2.MenuInteractiveDirective, selector: "[fd-menu-interactive]" }, { type: i2.MenuTitleDirective, selector: "[fd-menu-title]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.BreadcrumbItemDirective, selector: "fd-breadcrumb-item" }, { type: i2.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { type: i6.BreadcrumbLinkDirective, selector: "[fd-breadcrumb-link]", inputs: ["routerLink"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
190
+ BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: BreadcrumbComponent, selector: "fd-breadcrumb", inputs: { compact: "compact", containerElement: "containerElement", reverse: "reverse" }, host: { listeners: { "window:resize": "onResize()" }, classAttribute: "fd-breadcrumb" }, queries: [{ propertyName: "breadcrumbItems", predicate: i0.forwardRef(function () { return BreadcrumbItemDirective; }) }], viewQueries: [{ propertyName: "menuComponent", first: true, predicate: MenuComponent, descendants: true }], ngImport: i0, template: "<fd-menu #menu [compact]=\"compact\" [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"placement$ | async\">\n <li fd-menu-item *ngFor=\"let collapsedBreadcrumbItem of collapsedBreadcrumbItems\">\n <a\n fd-menu-interactive\n [attr.href]=\"collapsedBreadcrumbItem.href\"\n [routerLink]=\"collapsedBreadcrumbItem.routerLink\"\n >\n <span fd-menu-title>{{ collapsedBreadcrumbItem.elementRef.nativeElement.innerText }}</span>\n </a>\n </li>\n</fd-menu>\n\n<fd-breadcrumb-item *ngIf=\"collapsedBreadcrumbItems.length\" [fdMenuTrigger]=\"menu\">\n <a fd-breadcrumb-link tabindex=\"0\" class=\"fd-breadcrumb__collapsed\" (keydown)=\"keyDownHandle($event)\">\n ...\n <i role=\"presentation\" class=\"fd-breadcrumb__dropdown-icon sap-icon sap-icon--slim-arrow-down\"></i>\n </a>\n</fd-breadcrumb-item>\n\n<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-breadcrumb\n .fd-breadcrumb__item\n .fd-breadcrump__link\n*/.fd-breadcrumb{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;flex-wrap:wrap;align-items:center;list-style:none}.fd-breadcrumb:after,.fd-breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;color:var(--sapContent_LabelColor)}.fd-breadcrumb__item:after,.fd-breadcrumb__item:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item:after{content:\"/\";color:var(--sapContent_LabelColor);margin-right:.25rem;margin-left:.25rem}.fd-breadcrumb__item:last-child:after{content:none}.fd-breadcrumb__item .fd-breadcrumb__popover-body{border:none;border-top-left-radius:.125rem;border-top-right-radius:.125rem}.fd-breadcrumb__link{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;color:var(--sapLinkColor);-webkit-text-decoration:var(--fdLink_Text_Decoration);text-decoration:var(--fdLink_Text_Decoration);text-shadow:var(--sapContent_TextShadow);line-height:inherit;display:inline-block;transition:all 125ms ease-in}.fd-breadcrumb__link:after,.fd-breadcrumb__link:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__link--emphasized{font-weight:700}.fd-breadcrumb__link:visited{color:var(--sapLink_Visited_Color)}.fd-breadcrumb__link.is-hover,.fd-breadcrumb__link:hover{color:var(--sapLink_Hover_Color);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-breadcrumb__link.is-focus,.fd-breadcrumb__link:focus{z-index:5;box-shadow:none;outline-offset:-.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-breadcrumb__link.is-active,.fd-breadcrumb__link:active{color:var(--sapLink_Active_Color);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-breadcrumb__link--inverted{color:var(--sapLink_InvertedColor);text-shadow:none}.fd-breadcrumb__link--inverted.is-hover,.fd-breadcrumb__link--inverted:hover{color:var(--sapLink_InvertedColor)}.fd-breadcrumb__link--inverted.is-focus,.fd-breadcrumb__link--inverted:focus{z-index:5;outline-color:var(--sapContent_ContrastFocusColor)}.fd-breadcrumb__link--subtle{color:var(--sapLink_SubtleColor)}.fd-breadcrumb__link.is-disabled,.fd-breadcrumb__link:disabled,.fd-breadcrumb__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);color:var(--sapLinkColor);pointer-events:none}.fd-breadcrumb__link>img{vertical-align:bottom}.fd-breadcrumb__link:focus .fd-breadcrumb__dropdown-icon{color:var(--sapLink_Active_Color)}.fd-breadcrumb__link:active .fd-breadcrumb__dropdown-icon,.fd-breadcrumb__link:active:hover .fd-breadcrumb__dropdown-icon{color:var(--sapLink_Active_Color)}.fd-breadcrumb__link:hover .fd-breadcrumb__dropdown-icon{color:var(--sapLink_Hover_Color)}.fd-breadcrumb__dropdown-icon [class*=sap-icon],.fd-breadcrumb__dropdown-icon[class*=sap-icon]{color:inherit;background:inherit;font-size:inherit;border-radius:inherit;line-height:1;text-decoration:inherit;color:var(--sapLinkColor)}.fd-breadcrumb{display:inline-block;white-space:nowrap}.fd-breadcrumb .fd-breadcrumb__collapsed{cursor:pointer}\n"], components: [{ type: i2.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "compact", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { type: i2.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i2.MenuInteractiveDirective, selector: "[fd-menu-interactive]" }, { type: i2.MenuTitleDirective, selector: "[fd-menu-title]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.BreadcrumbItemDirective, selector: "fd-breadcrumb-item" }, { type: i2.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { type: i6.BreadcrumbLinkDirective, selector: "[fd-breadcrumb-link]", inputs: ["routerLink"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
187
191
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: BreadcrumbComponent, decorators: [{
188
192
  type: Component,
189
193
  args: [{ selector: 'fd-breadcrumb', host: {
@@ -203,8 +207,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
203
207
  args: [MenuComponent]
204
208
  }], containerElement: [{
205
209
  type: Input
210
+ }], reverse: [{
211
+ type: Input
206
212
  }], onResize: [{
207
213
  type: HostListener,
208
214
  args: ['window:resize', []]
209
215
  }] } });
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUdMLFFBQVEsRUFDUixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7OztBQUVwRTs7Ozs7Ozs7OztHQVVHO0FBYUgsTUFBTSxPQUFPLG1CQUFtQjtJQW1DNUIsWUFDVyxVQUFzQixFQUNULFdBQXVCLEVBQ3ZCLHNCQUE2QyxFQUN6RCxNQUF5QjtRQUgxQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ1QsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsMkJBQXNCLEdBQXRCLHNCQUFz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NkNOLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2JyZWFkY3J1bWItaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUnRsU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS91dGlscyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgS2V5VXRpbCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS91dGlscyc7XG5pbXBvcnQgeyBNZW51Q29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL21lbnUnO1xuaW1wb3J0IHsgRU5URVIsIFNQQUNFIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IFBsYWNlbWVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaGFyZWQnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3V0aWxzJztcblxuLyoqXG4gKiBCcmVhZGNydW1iIHBhcmVudCB3cmFwcGVyIGRpcmVjdGl2ZS4gTXVzdCBoYXZlIGJyZWFkY3J1bWIgaXRlbSBjaGlsZCBkaXJlY3RpdmVzLlxuICpcbiAqIGBgYGh0bWxcbiAqIDxmZC1icmVhZGNydW1iPlxuICogICAgIDxmZC1icmVhZGNydW1iLWl0ZW0+XG4gKiAgICAgICAgIDxhIGZkLWJyZWFkY3J1bWItbGluayBbcm91dGVyTGlua109XCInIydcIj5CcmVhZGNydW1iIExpbms8L2E+XG4gKiAgICAgPC9mZC1icmVhZGNydW1iLWl0ZW0+XG4gKiA8L2ZkLWJyZWFkY3J1bWI+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgLy8gVE9ETyB0byBiZSBkaXNjdXNzZWRcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBzZWxlY3RvcjogJ2ZkLWJyZWFkY3J1bWInLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC1icmVhZGNydW1iJ1xuICAgIH0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2JyZWFkY3J1bWIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIFdoZW5ldmVyIGxpbmtzIHdyYXBwZWQgaW5zaWRlIG92ZXJmbG93IHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gY29tcGFjdCBtb2RlICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29tcGFjdD86IGJvb2xlYW47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBCcmVhZGNydW1iSXRlbURpcmVjdGl2ZSkpXG4gICAgYnJlYWRjcnVtYkl0ZW1zOiBRdWVyeUxpc3Q8QnJlYWRjcnVtYkl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKE1lbnVDb21wb25lbnQpXG4gICAgbWVudUNvbXBvbmVudDogTWVudUNvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW1zOiBBcnJheTxCcmVhZGNydW1iSXRlbURpcmVjdGl2ZT4gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuIHVzZWQgdG8gY29tcGFyZSB0byB0aGUgY3VycmVudCB3aWR0aCB0byBrbm93IHdoZXRoZXIgdG8gY29sbGFwc2Ugb3IgZXhwYW5kIGJyZWFkY3J1bWJzICovXG4gICAgcHJldmlvdXNDb250YWluZXJXaWR0aDogbnVtYmVyO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwbGFjZW1lbnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQbGFjZW1lbnQ+KCdib3R0b20tc3RhcnQnKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBlbGVtZW50IHRvIGFjdCBhcyB0aGUgYnJlYWRjcnVtYiBjb250YWluZXIuIFdoZW4gcHJvdmlkZWQsIHRoZSBicmVhZGNydW1iJ3MgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGJlaGF2aW9yXG4gICAgICogcGVyZm9ybXMgYmV0dGVyLiBXaGVuIG5vdCBwcm92aWRlZCwgdGhlIGltbWVkaWF0ZSBwYXJlbnQgZWxlbWVudCdzIHdpZHRoIHdpbGwgYmUgdXNlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbnRhaW5lckVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb250YWluZXJCb3VuZGFyeTogbnVtYmVyO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9ydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9jb250ZW50RGVuc2l0eVNlcnZpY2U6IENvbnRlbnREZW5zaXR5U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25SZXNpemUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fcnRsU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgICAgICAgICAgdGhpcy5fcnRsU2VydmljZS5ydGwuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5wbGFjZW1lbnQkLm5leHQodmFsdWUgPyAnYm90dG9tLWVuZCcgOiAnYm90dG9tLXN0YXJ0JykpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNvbXBhY3QgPT09IHVuZGVmaW5lZCAmJiB0aGlzLl9jb250ZW50RGVuc2l0eVNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgICAgIHRoaXMuX2NvbnRlbnREZW5zaXR5U2VydmljZS5faXNDb21wYWN0RGVuc2l0eS5zdWJzY3JpYmUoKGlzQ29tcGFjdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBhY3QgPSBpc0NvbXBhY3Q7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFtdKVxuICAgIG9uUmVzaXplKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRhaW5lckJvdW5kYXJ5ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXJCb3VuZGFyeSA9IHRoaXMuY29udGFpbmVyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgICAgfVxuICAgICAgICAvKlxuICAgICAgICAgICAgaWYgdGhpcyBpcyB0aGUgZmlyc3QgbG9hZCBhbmQgdGhlcmUgaXMgbm8gcHJldmlvdXNDb250YWluZXJXaWR0aCxcbiAgICAgICAgICAgIG9yIHRoZSBjb250YWluZXIgYm91bmRhcnkgaXMgc21hbGxlciB0aGFuIHRoZSBwcmV2aW91c0NvbnRhaW5lcldpZHRoXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoIXRoaXMucHJldmlvdXNDb250YWluZXJXaWR0aCB8fCB0aGlzLmNvbnRhaW5lckJvdW5kYXJ5IDwgdGhpcy5wcmV2aW91c0NvbnRhaW5lcldpZHRoKSB7XG4gICAgICAgICAgICAvLyBhbmQgdGhlIGJyZWFkY3J1bWJzIGV4dGVuZCBwYXN0IHRoZSB3aW5kb3dcbiAgICAgICAgICAgIGlmICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCA+IHRoaXMuY29udGFpbmVyQm91bmRhcnkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbGxhcHNlQnJlYWRjcnVtYnMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbGxhcHNlZEJyZWFkY3J1bWJJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIC8vIGlmIHRoZSBzY3JlZW4gaXMgZ2V0dGluZyBiaWdnZXIgYW5kIHRoZXJlIGFyZSBjb2xsYXBzZWQgYnJlYWRjcnVtYnNcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kQnJlYWRjcnVtYnMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnByZXZpb3VzQ29udGFpbmVyV2lkdGggPSB0aGlzLmNvbnRhaW5lckJvdW5kYXJ5O1xuICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBrZXlEb3duSGFuZGxlKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0VOVEVSLCBTUEFDRV0pKSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVDb21wb25lbnQudG9nZ2xlKCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXRDb250YWluZXJCb3VuZGFyeSgpOiBudW1iZXIge1xuICAgICAgICBsZXQgY29udGFpbmVyQm91bmRhcnkgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICBpZiAodGhpcy5jb250YWluZXJFbGVtZW50KSB7XG4gICAgICAgICAgICBjb250YWluZXJCb3VuZGFyeSA9IHRoaXMuY29udGFpbmVyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb250YWluZXJCb3VuZGFyeTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICpcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIG1vdmVzIGJyZWFkY3J1bWJzIGZyb20gdGhlIG9yaWdpbmFsIFF1ZXJ5TGlzdCBvZiBCcmVhZENydW1iSXRlbURpcmVjdGl2ZXMgaW50byB0aGUgYXJyYXkgb2ZcbiAgICAgKiBjb2xsYXBzZWRCcmVhZGNydW1iSXRlbXMuXG4gICAgICogKi9cbiAgICBjb2xsYXBzZUJyZWFkY3J1bWJzKCk6IHZvaWQge1xuICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lckJvdW5kYXJ5ID0gdGhpcy5nZXRDb250YWluZXJCb3VuZGFyeSgpO1xuICAgICAgICAvLyBtb3ZlIHRoZSBicmVhZGNydW1iIGl0ZW1zIGludG8gYSBjb2xsYXBzZWQgbWVudSBvbmUgYnkgb25lLCB1bnRpbCB0aGUgbGFzdCBvbmUgaXMgaW5zaWRlIHRoZSB3aW5kb3dcbiAgICAgICAgd2hpbGUgKFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggPiBjb250YWluZXJCb3VuZGFyeSAmJlxuICAgICAgICAgICAgaSA8IHRoaXMuYnJlYWRjcnVtYkl0ZW1zLmxlbmd0aFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IGJyZWFkY3J1bWJJdGVtID0gdGhpcy5icmVhZGNydW1iSXRlbXMuZmlsdGVyKChpdGVtLCBpbmRleCkgPT4gaW5kZXggPT09IGkpWzBdO1xuICAgICAgICAgICAgaWYgKHRoaXMuY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW1zLmluZGV4T2YoYnJlYWRjcnVtYkl0ZW0pID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW1zLnB1c2goYnJlYWRjcnVtYkl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gaGlkZSB0aGUgb3JpZ2luYWwgYnJlYWRjcnVtYiBpdGVtcyB0aGF0IGhhdmUgYmVlbiBtb3ZlZCBpbiB0byB0aGUgY29sbGFwc2VkIG1lbnVcbiAgICAgICAgICAgIGJyZWFkY3J1bWJJdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICAgICAgaSsrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqXG4gICAgICogVGhpcyBmdW5jdGlvbiByZW1vdmVzIGJyZWFkY3J1bWIgaXRlbXMgZnJvbSB0aGUgY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW1zIGFycmF5IGFuZCBtYWtlcyB0aGVtIHZpc2libGUgYWdhaW4gaW4gdGhlXG4gICAgICogb3JpZ2luYWwgUXVlcnlMaXN0IG9mIEJyZWFkY3J1bWJJdGVtRGlyZWN0aXZlcy5cbiAgICAgKiAqL1xuICAgIGV4cGFuZEJyZWFkY3J1bWJzKCk6IHZvaWQge1xuICAgICAgICBsZXQgYnJlYWtMb29wID0gZmFsc2U7XG4gICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxDb2xsYXBzZWRMZW5ndGggPSB0aGlzLmNvbGxhcHNlZEJyZWFkY3J1bWJJdGVtcy5sZW5ndGg7XG4gICAgICAgIHdoaWxlICh0aGlzLmZpdEluQm91bmRyaWVzKCkgJiYgIWJyZWFrTG9vcCAmJiBpIDwgb3JpZ2luYWxDb2xsYXBzZWRMZW5ndGgpIHtcbiAgICAgICAgICAgIC8vIGdldCB0aGUgbW9zdCByZWNlbnRseSBjb2xsYXBzZWQgYnJlYWRjcnVtYlxuICAgICAgICAgICAgY29uc3QgY29sbGFwc2VkSXRlbVRvUG9wID0gdGhpcy5nZXRDb2xsYXBzZWRJdGVtKCk7XG4gICAgICAgICAgICAvLyBmaW5kIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFkY3J1bWIgZnJvbSB0aGUgb3JpZ2luYWwgYnJlYWRjcnVtYiBpdGVtIFF1ZXJ5TGlzdFxuICAgICAgICAgICAgY29uc3QgYnJlYWRjcnVtYlRvQ2hlY2sgPSB0aGlzLmdldEJyZWFkY3J1bWJUb0NoZWNrKGNvbGxhcHNlZEl0ZW1Ub1BvcCk7XG4gICAgICAgICAgICAvKlxuICAgICAgICAgICAgICBzZXQgZGlzcGxheTogJ2lubGluZS1ibG9jaycgYW5kIHZpc2liaWxpdHk6ICdoaWRkZW4nIC0gdGhpcyB3YXksIHRoZSBwYXJlbnQgYnJlYWRjcnVtYiBjb21wb25lbnQncyB3aWR0aCB3aWxsXG4gICAgICAgICAgICAgIGNvbnRhaW4gdGhlIHdpZHRoIG9mIHRoZSBicmVhZGNydW1iIGl0ZW0gd2UgbWlnaHQgcG9wLCB3aXRob3V0IGFjdHVhbGx5IG1ha2luZyB0aGUgaXRlbSB2aXNpYmxlIHRvIHRoZSB1c2VyXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHRoaXMuYXBwbHlTdHlsZXNUb0JyZWFkY3J1bWIoYnJlYWRjcnVtYlRvQ2hlY2spO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5maXRJbkJvdW5kcmllcygpKSB7XG4gICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgIGlmIHRoZSB3aWR0aCBvZiB0aGUgYnJlYWRjcnVtYiBjb21wb25lbnQgaXMgc3RpbGwgc21hbGxlciB0aGFuIHRoZSB3aW5kb3cgd2lkdGgsIGluY2x1ZGluZyB0aGVcbiAgICAgICAgICAgICAgICAgIGJyZWFkY3J1bWJUb0NoZWNrLCBwb3AgdGhlIGxhdGVzdCBjb2xsYXBzZWRCcmVhZGNydW1iSXRlbVxuICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgdGhpcy5wb3BMYXN0RWxlbWVudCgpO1xuICAgICAgICAgICAgICAgIHRoaXMubWFrZUJyZWFkY3J1bWJWaXNpYmxlKGJyZWFkY3J1bWJUb0NoZWNrKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgIGlmIHRoZSB3aWR0aCBvZiB0aGUgYnJlYWRjcnVtYiBjb21wb25lbnQgaXMgd2lkZXIgdGhhbiB0aGUgd2luZG93IGFmdGVyIG1ha2luZyB0aGUgYnJlYWRjcnVtYlRvQ2hlY2snc1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsIHRoZW4gcHV0IGl0J3MgZGlzcGxheSBiYWNrIHRvICdub25lJyBhbmQgZG9uJ3QgcG9wIHRoZSBjb2xsYXBzZWRCcmVhZGNydW1iSXRlbVxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIHRoaXMubWFrZUJyZWFkY3J1bWJJbnZpc2libGUoYnJlYWRjcnVtYlRvQ2hlY2spO1xuICAgICAgICAgICAgICAgIGJyZWFrTG9vcCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpKys7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZpdEluQm91bmRyaWVzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggPCB0aGlzLmdldENvbnRhaW5lckJvdW5kYXJ5KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDb2xsYXBzZWRJdGVtKCk6IEJyZWFkY3J1bWJJdGVtRGlyZWN0aXZlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW1zW3RoaXMuY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW1zLmxlbmd0aCAtIDFdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QnJlYWRjcnVtYlRvQ2hlY2soY29sbGFwc2VkSXRlbVRvUG9wOiBCcmVhZGNydW1iSXRlbURpcmVjdGl2ZSk6IEJyZWFkY3J1bWJJdGVtRGlyZWN0aXZlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnJlYWRjcnVtYkl0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbSA9PT0gY29sbGFwc2VkSXRlbVRvUG9wKVswXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5U3R5bGVzVG9CcmVhZGNydW1iKGJyZWFkY3J1bWI6IEJyZWFkY3J1bWJJdGVtRGlyZWN0aXZlKTogdm9pZCB7XG4gICAgICAgIGJyZWFkY3J1bWIuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJztcbiAgICAgICAgYnJlYWRjcnVtYi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICAgIH1cblxuICAgIHByaXZhdGUgcG9wTGFzdEVsZW1lbnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW1zLnBvcCgpO1xuICAgICAgICAvLyBtYWtlIHRoZSBicmVhZGNydW1iIHdlIGNoZWNrZWQgdmlzaWJsZVxuICAgIH1cblxuICAgIHByaXZhdGUgbWFrZUJyZWFkY3J1bWJWaXNpYmxlKGJyZWFkY3J1bWI6IEJyZWFkY3J1bWJJdGVtRGlyZWN0aXZlKTogdm9pZCB7XG4gICAgICAgIGJyZWFkY3J1bWIuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYWtlQnJlYWRjcnVtYkludmlzaWJsZShicmVhZGNydW1iOiBCcmVhZGNydW1iSXRlbURpcmVjdGl2ZSk6IHZvaWQge1xuICAgICAgICBicmVhZGNydW1iLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgIH1cbn1cbiIsIjxmZC1tZW51ICNtZW51IFtjb21wYWN0XT1cImNvbXBhY3RcIiBbY2xvc2VPbkVzY2FwZUtleV09XCJ0cnVlXCIgW2ZvY3VzQXV0b0NhcHR1cmVdPVwidHJ1ZVwiIFtwbGFjZW1lbnRdPVwicGxhY2VtZW50JCB8IGFzeW5jXCI+XG4gICAgPGxpIGZkLW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQgY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW0gb2YgY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW1zXCI+XG4gICAgICAgIDxhXG4gICAgICAgICAgICBmZC1tZW51LWludGVyYWN0aXZlXG4gICAgICAgICAgICBbYXR0ci5ocmVmXT1cImNvbGxhcHNlZEJyZWFkY3J1bWJJdGVtLmhyZWZcIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW0ucm91dGVyTGlua1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+e3sgY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW0uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlubmVyVGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvbGk+XG48L2ZkLW1lbnU+XG5cbjxmZC1icmVhZGNydW1iLWl0ZW0gKm5nSWY9XCJjb2xsYXBzZWRCcmVhZGNydW1iSXRlbXMubGVuZ3RoXCIgW2ZkTWVudVRyaWdnZXJdPVwibWVudVwiPlxuICAgIDxhIGZkLWJyZWFkY3J1bWItbGluayB0YWJpbmRleD1cIjBcIiBjbGFzcz1cImZkLWJyZWFkY3J1bWJfX2NvbGxhcHNlZFwiIChrZXlkb3duKT1cImtleURvd25IYW5kbGUoJGV2ZW50KVwiPlxuICAgICAgICAuLi5cbiAgICAgICAgPGkgcm9sZT1cInByZXNlbnRhdGlvblwiIGNsYXNzPVwiZmQtYnJlYWRjcnVtYl9fZHJvcGRvd24taWNvbiBzYXAtaWNvbiBzYXAtaWNvbi0tc2xpbS1hcnJvdy1kb3duXCI+PC9pPlxuICAgIDwvYT5cbjwvZmQtYnJlYWRjcnVtYi1pdGVtPlxuXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUdMLFFBQVEsRUFDUixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7OztBQUVwRTs7Ozs7Ozs7OztHQVVHO0FBYUgsTUFBTSxPQUFPLG1CQUFtQjtJQXVDNUIsWUFDVyxVQUFzQixFQUNULFdBQXVCLEVBQ3ZCLHNCQUE2QyxFQUN6RCxNQUF5QjtRQUgxQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ1QsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsMkJBQXNCLEdBQXRCLHNCQUFz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O2dCQUtOLGVBQWU7c0JBRGQsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7Z0JBSzFELGFBQWE7c0JBRFosU0FBUzt1QkFBQyxhQUFhO2dCQWlCeEIsZ0JBQWdCO3NCQURmLEtBQUs7Z0JBS04sT0FBTztzQkFETixLQUFLO2dCQTZDTixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJyZWFkY3J1bWJJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9icmVhZGNydW1iLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IFJ0bFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEtleVV0aWwgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgTWVudUNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9tZW51JztcbmltcG9ydCB7IEVOVEVSLCBTUEFDRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBQbGFjZW1lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2hhcmVkJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5U2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS91dGlscyc7XG5cbi8qKlxuICogQnJlYWRjcnVtYiBwYXJlbnQgd3JhcHBlciBkaXJlY3RpdmUuIE11c3QgaGF2ZSBicmVhZGNydW1iIGl0ZW0gY2hpbGQgZGlyZWN0aXZlcy5cbiAqXG4gKiBgYGBodG1sXG4gKiA8ZmQtYnJlYWRjcnVtYj5cbiAqICAgICA8ZmQtYnJlYWRjcnVtYi1pdGVtPlxuICogICAgICAgICA8YSBmZC1icmVhZGNydW1iLWxpbmsgW3JvdXRlckxpbmtdPVwiJyMnXCI+QnJlYWRjcnVtYiBMaW5rPC9hPlxuICogICAgIDwvZmQtYnJlYWRjcnVtYi1pdGVtPlxuICogPC9mZC1icmVhZGNydW1iPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIC8vIFRPRE8gdG8gYmUgZGlzY3Vzc2VkXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgc2VsZWN0b3I6ICdmZC1icmVhZGNydW1iJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtYnJlYWRjcnVtYidcbiAgICB9LFxuICAgIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKiBXaGVuZXZlciBsaW5rcyB3cmFwcGVkIGluc2lkZSBvdmVyZmxvdyBzaG91bGQgYmUgZGlzcGxheWVkIGluIGNvbXBhY3QgbW9kZSAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbXBhY3Q/OiBib29sZWFuO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gQnJlYWRjcnVtYkl0ZW1EaXJlY3RpdmUpKVxuICAgIGJyZWFkY3J1bWJJdGVtczogUXVlcnlMaXN0PEJyZWFkY3J1bWJJdGVtRGlyZWN0aXZlPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChNZW51Q29tcG9uZW50KVxuICAgIG1lbnVDb21wb25lbnQ6IE1lbnVDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbGxhcHNlZEJyZWFkY3J1bWJJdGVtczogQXJyYXk8QnJlYWRjcnVtYkl0ZW1EaXJlY3RpdmU+ID0gW107XG5cbiAgICAvKiogQGhpZGRlbiB1c2VkIHRvIGNvbXBhcmUgdG8gdGhlIGN1cnJlbnQgd2lkdGggdG8ga25vdyB3aGV0aGVyIHRvIGNvbGxhcHNlIG9yIGV4cGFuZCBicmVhZGNydW1icyAqL1xuICAgIHByZXZpb3VzQ29udGFpbmVyV2lkdGg6IG51bWJlcjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcGxhY2VtZW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGxhY2VtZW50PignYm90dG9tLXN0YXJ0Jyk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZWxlbWVudCB0byBhY3QgYXMgdGhlIGJyZWFkY3J1bWIgY29udGFpbmVyLiBXaGVuIHByb3ZpZGVkLCB0aGUgYnJlYWRjcnVtYidzIHJlc3BvbnNpdmUgY29sbGFwc2luZyBiZWhhdmlvclxuICAgICAqIHBlcmZvcm1zIGJldHRlci4gV2hlbiBub3QgcHJvdmlkZWQsIHRoZSBpbW1lZGlhdGUgcGFyZW50IGVsZW1lbnQncyB3aWR0aCB3aWxsIGJlIHVzZWQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0byBhcHBlbmQgaXRlbXMgdG8gdGhlIG92ZXJmbG93IGRyb3Bkb3duIGluIHJldmVyc2Ugb3JkZXIuIERlZmF1bHQgaXMgdHJ1ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHJldmVyc2UgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29udGFpbmVyQm91bmRhcnk6IG51bWJlcjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfcnRsU2VydmljZTogUnRsU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfY29udGVudERlbnNpdHlTZXJ2aWNlOiBDb250ZW50RGVuc2l0eVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uUmVzaXplKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3J0bFNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgICAgIHRoaXMuX3J0bFNlcnZpY2UucnRsLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMucGxhY2VtZW50JC5uZXh0KHZhbHVlID8gJ2JvdHRvbS1lbmQnIDogJ2JvdHRvbS1zdGFydCcpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jb21wYWN0ID09PSB1bmRlZmluZWQgJiYgdGhpcy5fY29udGVudERlbnNpdHlTZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgICAgICB0aGlzLl9jb250ZW50RGVuc2l0eVNlcnZpY2UuX2lzQ29tcGFjdERlbnNpdHkuc3Vic2NyaWJlKChpc0NvbXBhY3QpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wYWN0ID0gaXNDb21wYWN0O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbXSlcbiAgICBvblJlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb250YWluZXJCb3VuZGFyeSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICAgIGlmICh0aGlzLmNvbnRhaW5lckVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyQm91bmRhcnkgPSB0aGlzLmNvbnRhaW5lckVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgLypcbiAgICAgICAgICAgIGlmIHRoaXMgaXMgdGhlIGZpcnN0IGxvYWQgYW5kIHRoZXJlIGlzIG5vIHByZXZpb3VzQ29udGFpbmVyV2lkdGgsXG4gICAgICAgICAgICBvciB0aGUgY29udGFpbmVyIGJvdW5kYXJ5IGlzIHNtYWxsZXIgdGhhbiB0aGUgcHJldmlvdXNDb250YWluZXJXaWR0aFxuICAgICAgICAgKi9cbiAgICAgICAgaWYgKCF0aGlzLnByZXZpb3VzQ29udGFpbmVyV2lkdGggfHwgdGhpcy5jb250YWluZXJCb3VuZGFyeSA8IHRoaXMucHJldmlvdXNDb250YWluZXJXaWR0aCkge1xuICAgICAgICAgICAgLy8gYW5kIHRoZSBicmVhZGNydW1icyBleHRlbmQgcGFzdCB0aGUgd2luZG93XG4gICAgICAgICAgICBpZiAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggPiB0aGlzLmNvbnRhaW5lckJvdW5kYXJ5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb2xsYXBzZUJyZWFkY3J1bWJzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jb2xsYXBzZWRCcmVhZGNydW1iSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAvLyBpZiB0aGUgc2NyZWVuIGlzIGdldHRpbmcgYmlnZ2VyIGFuZCB0aGVyZSBhcmUgY29sbGFwc2VkIGJyZWFkY3J1bWJzXG4gICAgICAgICAgICB0aGlzLmV4cGFuZEJyZWFkY3J1bWJzKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wcmV2aW91c0NvbnRhaW5lcldpZHRoID0gdGhpcy5jb250YWluZXJCb3VuZGFyeTtcbiAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAga2V5RG93bkhhbmRsZShldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtFTlRFUiwgU1BBQ0VdKSkge1xuICAgICAgICAgICAgdGhpcy5tZW51Q29tcG9uZW50LnRvZ2dsZSgpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0Q29udGFpbmVyQm91bmRhcnkoKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IGNvbnRhaW5lckJvdW5kYXJ5ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyRWxlbWVudCkge1xuICAgICAgICAgICAgY29udGFpbmVyQm91bmRhcnkgPSB0aGlzLmNvbnRhaW5lckVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29udGFpbmVyQm91bmRhcnk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqXG4gICAgICogVGhpcyBmdW5jdGlvbiBtb3ZlcyBicmVhZGNydW1icyBmcm9tIHRoZSBvcmlnaW5hbCBRdWVyeUxpc3Qgb2YgQnJlYWRDcnVtYkl0ZW1EaXJlY3RpdmVzIGludG8gdGhlIGFycmF5IG9mXG4gICAgICogY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW1zLlxuICAgICAqICovXG4gICAgY29sbGFwc2VCcmVhZGNydW1icygpOiB2b2lkIHtcbiAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICBjb25zdCBjb250YWluZXJCb3VuZGFyeSA9IHRoaXMuZ2V0Q29udGFpbmVyQm91bmRhcnkoKTtcbiAgICAgICAgLy8gbW92ZSB0aGUgYnJlYWRjcnVtYiBpdGVtcyBpbnRvIGEgY29sbGFwc2VkIG1lbnUgb25lIGJ5IG9uZSwgdW50aWwgdGhlIGxhc3Qgb25lIGlzIGluc2lkZSB0aGUgd2luZG93XG4gICAgICAgIHdoaWxlIChcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoID4gY29udGFpbmVyQm91bmRhcnkgJiZcbiAgICAgICAgICAgIGkgPCB0aGlzLmJyZWFkY3J1bWJJdGVtcy5sZW5ndGhcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBicmVhZGNydW1iSXRlbSA9IHRoaXMuYnJlYWRjcnVtYkl0ZW1zLmZpbHRlcigoaXRlbSwgaW5kZXgpID0+IGluZGV4ID09PSBpKVswXTtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbGxhcHNlZEJyZWFkY3J1bWJJdGVtcy5pbmRleE9mKGJyZWFkY3J1bWJJdGVtKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJldmVyc2VcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmNvbGxhcHNlZEJyZWFkY3J1bWJJdGVtcy5wdXNoKGJyZWFkY3J1bWJJdGVtKVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW1zLnVuc2hpZnQoYnJlYWRjcnVtYkl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gaGlkZSB0aGUgb3JpZ2luYWwgYnJlYWRjcnVtYiBpdGVtcyB0aGF0IGhhdmUgYmVlbiBtb3ZlZCBpbiB0byB0aGUgY29sbGFwc2VkIG1lbnVcbiAgICAgICAgICAgIGJyZWFkY3J1bWJJdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICAgICAgaSsrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqXG4gICAgICogVGhpcyBmdW5jdGlvbiByZW1vdmVzIGJyZWFkY3J1bWIgaXRlbXMgZnJvbSB0aGUgY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW1zIGFycmF5IGFuZCBtYWtlcyB0aGVtIHZpc2libGUgYWdhaW4gaW4gdGhlXG4gICAgICogb3JpZ2luYWwgUXVlcnlMaXN0IG9mIEJyZWFkY3J1bWJJdGVtRGlyZWN0aXZlcy5cbiAgICAgKiAqL1xuICAgIGV4cGFuZEJyZWFkY3J1bWJzKCk6IHZvaWQge1xuICAgICAgICBsZXQgYnJlYWtMb29wID0gZmFsc2U7XG4gICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxDb2xsYXBzZWRMZW5ndGggPSB0aGlzLmNvbGxhcHNlZEJyZWFkY3J1bWJJdGVtcy5sZW5ndGg7XG4gICAgICAgIHdoaWxlICh0aGlzLmZpdEluQm91bmRyaWVzKCkgJiYgIWJyZWFrTG9vcCAmJiBpIDwgb3JpZ2luYWxDb2xsYXBzZWRMZW5ndGgpIHtcbiAgICAgICAgICAgIC8vIGdldCB0aGUgbW9zdCByZWNlbnRseSBjb2xsYXBzZWQgYnJlYWRjcnVtYlxuICAgICAgICAgICAgY29uc3QgY29sbGFwc2VkSXRlbVRvUG9wID0gdGhpcy5nZXRDb2xsYXBzZWRJdGVtKCk7XG4gICAgICAgICAgICAvLyBmaW5kIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFkY3J1bWIgZnJvbSB0aGUgb3JpZ2luYWwgYnJlYWRjcnVtYiBpdGVtIFF1ZXJ5TGlzdFxuICAgICAgICAgICAgY29uc3QgYnJlYWRjcnVtYlRvQ2hlY2sgPSB0aGlzLmdldEJyZWFkY3J1bWJUb0NoZWNrKGNvbGxhcHNlZEl0ZW1Ub1BvcCk7XG4gICAgICAgICAgICAvKlxuICAgICAgICAgICAgICBzZXQgZGlzcGxheTogJ2lubGluZS1ibG9jaycgYW5kIHZpc2liaWxpdHk6ICdoaWRkZW4nIC0gdGhpcyB3YXksIHRoZSBwYXJlbnQgYnJlYWRjcnVtYiBjb21wb25lbnQncyB3aWR0aCB3aWxsXG4gICAgICAgICAgICAgIGNvbnRhaW4gdGhlIHdpZHRoIG9mIHRoZSBicmVhZGNydW1iIGl0ZW0gd2UgbWlnaHQgcG9wLCB3aXRob3V0IGFjdHVhbGx5IG1ha2luZyB0aGUgaXRlbSB2aXNpYmxlIHRvIHRoZSB1c2VyXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHRoaXMuYXBwbHlTdHlsZXNUb0JyZWFkY3J1bWIoYnJlYWRjcnVtYlRvQ2hlY2spO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5maXRJbkJvdW5kcmllcygpKSB7XG4gICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgIGlmIHRoZSB3aWR0aCBvZiB0aGUgYnJlYWRjcnVtYiBjb21wb25lbnQgaXMgc3RpbGwgc21hbGxlciB0aGFuIHRoZSB3aW5kb3cgd2lkdGgsIGluY2x1ZGluZyB0aGVcbiAgICAgICAgICAgICAgICAgIGJyZWFkY3J1bWJUb0NoZWNrLCBwb3AgdGhlIGxhdGVzdCBjb2xsYXBzZWRCcmVhZGNydW1iSXRlbVxuICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgdGhpcy5wb3BMYXN0RWxlbWVudCgpO1xuICAgICAgICAgICAgICAgIHRoaXMubWFrZUJyZWFkY3J1bWJWaXNpYmxlKGJyZWFkY3J1bWJUb0NoZWNrKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgIGlmIHRoZSB3aWR0aCBvZiB0aGUgYnJlYWRjcnVtYiBjb21wb25lbnQgaXMgd2lkZXIgdGhhbiB0aGUgd2luZG93IGFmdGVyIG1ha2luZyB0aGUgYnJlYWRjcnVtYlRvQ2hlY2snc1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsIHRoZW4gcHV0IGl0J3MgZGlzcGxheSBiYWNrIHRvICdub25lJyBhbmQgZG9uJ3QgcG9wIHRoZSBjb2xsYXBzZWRCcmVhZGNydW1iSXRlbVxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIHRoaXMubWFrZUJyZWFkY3J1bWJJbnZpc2libGUoYnJlYWRjcnVtYlRvQ2hlY2spO1xuICAgICAgICAgICAgICAgIGJyZWFrTG9vcCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpKys7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZpdEluQm91bmRyaWVzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggPCB0aGlzLmdldENvbnRhaW5lckJvdW5kYXJ5KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDb2xsYXBzZWRJdGVtKCk6IEJyZWFkY3J1bWJJdGVtRGlyZWN0aXZlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW1zW3RoaXMuY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW1zLmxlbmd0aCAtIDFdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QnJlYWRjcnVtYlRvQ2hlY2soY29sbGFwc2VkSXRlbVRvUG9wOiBCcmVhZGNydW1iSXRlbURpcmVjdGl2ZSk6IEJyZWFkY3J1bWJJdGVtRGlyZWN0aXZlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnJlYWRjcnVtYkl0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbSA9PT0gY29sbGFwc2VkSXRlbVRvUG9wKVswXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5U3R5bGVzVG9CcmVhZGNydW1iKGJyZWFkY3J1bWI6IEJyZWFkY3J1bWJJdGVtRGlyZWN0aXZlKTogdm9pZCB7XG4gICAgICAgIGJyZWFkY3J1bWIuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJztcbiAgICAgICAgYnJlYWRjcnVtYi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICAgIH1cblxuICAgIHByaXZhdGUgcG9wTGFzdEVsZW1lbnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW1zLnBvcCgpO1xuICAgICAgICAvLyBtYWtlIHRoZSBicmVhZGNydW1iIHdlIGNoZWNrZWQgdmlzaWJsZVxuICAgIH1cblxuICAgIHByaXZhdGUgbWFrZUJyZWFkY3J1bWJWaXNpYmxlKGJyZWFkY3J1bWI6IEJyZWFkY3J1bWJJdGVtRGlyZWN0aXZlKTogdm9pZCB7XG4gICAgICAgIGJyZWFkY3J1bWIuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYWtlQnJlYWRjcnVtYkludmlzaWJsZShicmVhZGNydW1iOiBCcmVhZGNydW1iSXRlbURpcmVjdGl2ZSk6IHZvaWQge1xuICAgICAgICBicmVhZGNydW1iLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgIH1cbn1cbiIsIjxmZC1tZW51ICNtZW51IFtjb21wYWN0XT1cImNvbXBhY3RcIiBbY2xvc2VPbkVzY2FwZUtleV09XCJ0cnVlXCIgW2ZvY3VzQXV0b0NhcHR1cmVdPVwidHJ1ZVwiIFtwbGFjZW1lbnRdPVwicGxhY2VtZW50JCB8IGFzeW5jXCI+XG4gICAgPGxpIGZkLW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQgY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW0gb2YgY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW1zXCI+XG4gICAgICAgIDxhXG4gICAgICAgICAgICBmZC1tZW51LWludGVyYWN0aXZlXG4gICAgICAgICAgICBbYXR0ci5ocmVmXT1cImNvbGxhcHNlZEJyZWFkY3J1bWJJdGVtLmhyZWZcIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW0ucm91dGVyTGlua1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+e3sgY29sbGFwc2VkQnJlYWRjcnVtYkl0ZW0uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlubmVyVGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvbGk+XG48L2ZkLW1lbnU+XG5cbjxmZC1icmVhZGNydW1iLWl0ZW0gKm5nSWY9XCJjb2xsYXBzZWRCcmVhZGNydW1iSXRlbXMubGVuZ3RoXCIgW2ZkTWVudVRyaWdnZXJdPVwibWVudVwiPlxuICAgIDxhIGZkLWJyZWFkY3J1bWItbGluayB0YWJpbmRleD1cIjBcIiBjbGFzcz1cImZkLWJyZWFkY3J1bWJfX2NvbGxhcHNlZFwiIChrZXlkb3duKT1cImtleURvd25IYW5kbGUoJGV2ZW50KVwiPlxuICAgICAgICAuLi5cbiAgICAgICAgPGkgcm9sZT1cInByZXNlbnRhdGlvblwiIGNsYXNzPVwiZmQtYnJlYWRjcnVtYl9fZHJvcGRvd24taWNvbiBzYXAtaWNvbiBzYXAtaWNvbi0tc2xpbS1hcnJvdy1kb3duXCI+PC9pPlxuICAgIDwvYT5cbjwvZmQtYnJlYWRjcnVtYi1pdGVtPlxuXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -115,6 +115,8 @@ class BreadcrumbComponent {
115
115
  this.collapsedBreadcrumbItems = [];
116
116
  /** @hidden */
117
117
  this.placement$ = new BehaviorSubject('bottom-start');
118
+ /** Whether or not to append items to the overflow dropdown in reverse order. Default is true. */
119
+ this.reverse = false;
118
120
  /** @hidden */
119
121
  this._subscriptions = new Subscription();
120
122
  }
@@ -193,7 +195,9 @@ class BreadcrumbComponent {
193
195
  i < this.breadcrumbItems.length) {
194
196
  const breadcrumbItem = this.breadcrumbItems.filter((item, index) => index === i)[0];
195
197
  if (this.collapsedBreadcrumbItems.indexOf(breadcrumbItem) === -1) {
196
- this.collapsedBreadcrumbItems.push(breadcrumbItem);
198
+ this.reverse
199
+ ? this.collapsedBreadcrumbItems.push(breadcrumbItem)
200
+ : this.collapsedBreadcrumbItems.unshift(breadcrumbItem);
197
201
  }
198
202
  // hide the original breadcrumb items that have been moved in to the collapsed menu
199
203
  breadcrumbItem.elementRef.nativeElement.style.display = 'none';
@@ -264,7 +268,7 @@ class BreadcrumbComponent {
264
268
  }
265
269
  }
266
270
  BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i0.ElementRef }, { token: i1.RtlService, optional: true }, { token: i1.ContentDensityService, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
267
- BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: BreadcrumbComponent, selector: "fd-breadcrumb", inputs: { compact: "compact", containerElement: "containerElement" }, host: { listeners: { "window:resize": "onResize()" }, classAttribute: "fd-breadcrumb" }, queries: [{ propertyName: "breadcrumbItems", predicate: i0.forwardRef(function () { return BreadcrumbItemDirective; }) }], viewQueries: [{ propertyName: "menuComponent", first: true, predicate: MenuComponent, descendants: true }], ngImport: i0, template: "<fd-menu #menu [compact]=\"compact\" [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"placement$ | async\">\n <li fd-menu-item *ngFor=\"let collapsedBreadcrumbItem of collapsedBreadcrumbItems\">\n <a\n fd-menu-interactive\n [attr.href]=\"collapsedBreadcrumbItem.href\"\n [routerLink]=\"collapsedBreadcrumbItem.routerLink\"\n >\n <span fd-menu-title>{{ collapsedBreadcrumbItem.elementRef.nativeElement.innerText }}</span>\n </a>\n </li>\n</fd-menu>\n\n<fd-breadcrumb-item *ngIf=\"collapsedBreadcrumbItems.length\" [fdMenuTrigger]=\"menu\">\n <a fd-breadcrumb-link tabindex=\"0\" class=\"fd-breadcrumb__collapsed\" (keydown)=\"keyDownHandle($event)\">\n ...\n <i role=\"presentation\" class=\"fd-breadcrumb__dropdown-icon sap-icon sap-icon--slim-arrow-down\"></i>\n </a>\n</fd-breadcrumb-item>\n\n<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-breadcrumb\n .fd-breadcrumb__item\n .fd-breadcrump__link\n*/.fd-breadcrumb{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;flex-wrap:wrap;align-items:center;list-style:none}.fd-breadcrumb:after,.fd-breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;color:var(--sapContent_LabelColor)}.fd-breadcrumb__item:after,.fd-breadcrumb__item:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item:after{content:\"/\";color:var(--sapContent_LabelColor);margin-right:.25rem;margin-left:.25rem}.fd-breadcrumb__item:last-child:after{content:none}.fd-breadcrumb__item .fd-breadcrumb__popover-body{border:none;border-top-left-radius:.125rem;border-top-right-radius:.125rem}.fd-breadcrumb__link{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;color:var(--sapLinkColor);-webkit-text-decoration:var(--fdLink_Text_Decoration);text-decoration:var(--fdLink_Text_Decoration);text-shadow:var(--sapContent_TextShadow);line-height:inherit;display:inline-block;transition:all 125ms ease-in}.fd-breadcrumb__link:after,.fd-breadcrumb__link:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__link--emphasized{font-weight:700}.fd-breadcrumb__link:visited{color:var(--sapLink_Visited_Color)}.fd-breadcrumb__link.is-hover,.fd-breadcrumb__link:hover{color:var(--sapLink_Hover_Color);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-breadcrumb__link.is-focus,.fd-breadcrumb__link:focus{z-index:5;box-shadow:none;outline-offset:-.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-breadcrumb__link.is-active,.fd-breadcrumb__link:active{color:var(--sapLink_Active_Color);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-breadcrumb__link--inverted{color:var(--sapLink_InvertedColor);text-shadow:none}.fd-breadcrumb__link--inverted.is-hover,.fd-breadcrumb__link--inverted:hover{color:var(--sapLink_InvertedColor)}.fd-breadcrumb__link--inverted.is-focus,.fd-breadcrumb__link--inverted:focus{z-index:5;outline-color:var(--sapContent_ContrastFocusColor)}.fd-breadcrumb__link--subtle{color:var(--sapLink_SubtleColor)}.fd-breadcrumb__link.is-disabled,.fd-breadcrumb__link:disabled,.fd-breadcrumb__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);color:var(--sapLinkColor);pointer-events:none}.fd-breadcrumb__link>img{vertical-align:bottom}.fd-breadcrumb__link:focus .fd-breadcrumb__dropdown-icon{color:var(--sapLink_Active_Color)}.fd-breadcrumb__link:active .fd-breadcrumb__dropdown-icon,.fd-breadcrumb__link:active:hover .fd-breadcrumb__dropdown-icon{color:var(--sapLink_Active_Color)}.fd-breadcrumb__link:hover .fd-breadcrumb__dropdown-icon{color:var(--sapLink_Hover_Color)}.fd-breadcrumb__dropdown-icon [class*=sap-icon],.fd-breadcrumb__dropdown-icon[class*=sap-icon]{color:inherit;background:inherit;font-size:inherit;border-radius:inherit;line-height:1;text-decoration:inherit;color:var(--sapLinkColor)}.fd-breadcrumb{display:inline-block;white-space:nowrap}.fd-breadcrumb .fd-breadcrumb__collapsed{cursor:pointer}\n"], components: [{ type: i2.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "compact", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { type: i2.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i2.MenuInteractiveDirective, selector: "[fd-menu-interactive]" }, { type: i2.MenuTitleDirective, selector: "[fd-menu-title]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: BreadcrumbItemDirective, selector: "fd-breadcrumb-item" }, { type: i2.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { type: BreadcrumbLinkDirective, selector: "[fd-breadcrumb-link]", inputs: ["routerLink"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
271
+ BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: BreadcrumbComponent, selector: "fd-breadcrumb", inputs: { compact: "compact", containerElement: "containerElement", reverse: "reverse" }, host: { listeners: { "window:resize": "onResize()" }, classAttribute: "fd-breadcrumb" }, queries: [{ propertyName: "breadcrumbItems", predicate: i0.forwardRef(function () { return BreadcrumbItemDirective; }) }], viewQueries: [{ propertyName: "menuComponent", first: true, predicate: MenuComponent, descendants: true }], ngImport: i0, template: "<fd-menu #menu [compact]=\"compact\" [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"placement$ | async\">\n <li fd-menu-item *ngFor=\"let collapsedBreadcrumbItem of collapsedBreadcrumbItems\">\n <a\n fd-menu-interactive\n [attr.href]=\"collapsedBreadcrumbItem.href\"\n [routerLink]=\"collapsedBreadcrumbItem.routerLink\"\n >\n <span fd-menu-title>{{ collapsedBreadcrumbItem.elementRef.nativeElement.innerText }}</span>\n </a>\n </li>\n</fd-menu>\n\n<fd-breadcrumb-item *ngIf=\"collapsedBreadcrumbItems.length\" [fdMenuTrigger]=\"menu\">\n <a fd-breadcrumb-link tabindex=\"0\" class=\"fd-breadcrumb__collapsed\" (keydown)=\"keyDownHandle($event)\">\n ...\n <i role=\"presentation\" class=\"fd-breadcrumb__dropdown-icon sap-icon sap-icon--slim-arrow-down\"></i>\n </a>\n</fd-breadcrumb-item>\n\n<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-breadcrumb\n .fd-breadcrumb__item\n .fd-breadcrump__link\n*/.fd-breadcrumb{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;flex-wrap:wrap;align-items:center;list-style:none}.fd-breadcrumb:after,.fd-breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;color:var(--sapContent_LabelColor)}.fd-breadcrumb__item:after,.fd-breadcrumb__item:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item:after{content:\"/\";color:var(--sapContent_LabelColor);margin-right:.25rem;margin-left:.25rem}.fd-breadcrumb__item:last-child:after{content:none}.fd-breadcrumb__item .fd-breadcrumb__popover-body{border:none;border-top-left-radius:.125rem;border-top-right-radius:.125rem}.fd-breadcrumb__link{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;color:var(--sapLinkColor);-webkit-text-decoration:var(--fdLink_Text_Decoration);text-decoration:var(--fdLink_Text_Decoration);text-shadow:var(--sapContent_TextShadow);line-height:inherit;display:inline-block;transition:all 125ms ease-in}.fd-breadcrumb__link:after,.fd-breadcrumb__link:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__link--emphasized{font-weight:700}.fd-breadcrumb__link:visited{color:var(--sapLink_Visited_Color)}.fd-breadcrumb__link.is-hover,.fd-breadcrumb__link:hover{color:var(--sapLink_Hover_Color);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-breadcrumb__link.is-focus,.fd-breadcrumb__link:focus{z-index:5;box-shadow:none;outline-offset:-.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-breadcrumb__link.is-active,.fd-breadcrumb__link:active{color:var(--sapLink_Active_Color);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-breadcrumb__link--inverted{color:var(--sapLink_InvertedColor);text-shadow:none}.fd-breadcrumb__link--inverted.is-hover,.fd-breadcrumb__link--inverted:hover{color:var(--sapLink_InvertedColor)}.fd-breadcrumb__link--inverted.is-focus,.fd-breadcrumb__link--inverted:focus{z-index:5;outline-color:var(--sapContent_ContrastFocusColor)}.fd-breadcrumb__link--subtle{color:var(--sapLink_SubtleColor)}.fd-breadcrumb__link.is-disabled,.fd-breadcrumb__link:disabled,.fd-breadcrumb__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);color:var(--sapLinkColor);pointer-events:none}.fd-breadcrumb__link>img{vertical-align:bottom}.fd-breadcrumb__link:focus .fd-breadcrumb__dropdown-icon{color:var(--sapLink_Active_Color)}.fd-breadcrumb__link:active .fd-breadcrumb__dropdown-icon,.fd-breadcrumb__link:active:hover .fd-breadcrumb__dropdown-icon{color:var(--sapLink_Active_Color)}.fd-breadcrumb__link:hover .fd-breadcrumb__dropdown-icon{color:var(--sapLink_Hover_Color)}.fd-breadcrumb__dropdown-icon [class*=sap-icon],.fd-breadcrumb__dropdown-icon[class*=sap-icon]{color:inherit;background:inherit;font-size:inherit;border-radius:inherit;line-height:1;text-decoration:inherit;color:var(--sapLinkColor)}.fd-breadcrumb{display:inline-block;white-space:nowrap}.fd-breadcrumb .fd-breadcrumb__collapsed{cursor:pointer}\n"], components: [{ type: i2.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "compact", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { type: i2.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i2.MenuInteractiveDirective, selector: "[fd-menu-interactive]" }, { type: i2.MenuTitleDirective, selector: "[fd-menu-title]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: BreadcrumbItemDirective, selector: "fd-breadcrumb-item" }, { type: i2.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { type: BreadcrumbLinkDirective, selector: "[fd-breadcrumb-link]", inputs: ["routerLink"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
268
272
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: BreadcrumbComponent, decorators: [{
269
273
  type: Component,
270
274
  args: [{ selector: 'fd-breadcrumb', host: {
@@ -286,6 +290,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
286
290
  args: [MenuComponent]
287
291
  }], containerElement: [{
288
292
  type: Input
293
+ }], reverse: [{
294
+ type: Input
289
295
  }], onResize: [{
290
296
  type: HostListener,
291
297
  args: ['window:resize', []]