@fundamental-ngx/core 0.46.2-rc.4 → 0.46.2-rc.6

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 (71) hide show
  1. package/esm2022/avatar/avatar.component.mjs +1 -1
  2. package/esm2022/breadcrumb/breadcrumb.component.mjs +2 -2
  3. package/esm2022/button/button.component.mjs +1 -1
  4. package/esm2022/combobox/combobox.component.mjs +2 -2
  5. package/esm2022/dialog/dialog-close-button/dialog-close-button.component.mjs +1 -1
  6. package/esm2022/dialog/dialog-full-screen-toggler-button/dialog-full-screen-toggler-button.component.mjs +1 -1
  7. package/esm2022/form/form-label/form-label.component.mjs +2 -2
  8. package/esm2022/grid-list/components/grid-list-filter-bar/grid-list-filter-bar.component.mjs +2 -2
  9. package/esm2022/grid-list/components/grid-list-item/grid-list-item.component.mjs +2 -2
  10. package/esm2022/icon/icon.component.mjs +77 -28
  11. package/esm2022/info-label/info-label.component.mjs +1 -1
  12. package/esm2022/list/list-navigation-item/list-navigation-item.component.mjs +1 -1
  13. package/esm2022/message-strip/message-strip.component.mjs +1 -1
  14. package/esm2022/micro-process-flow/components/micro-process-flow-icon/micro-process-flow-icon.component.mjs +1 -1
  15. package/esm2022/nested-list/nested-list-directives.mjs +2 -2
  16. package/esm2022/object-status/object-status.component.mjs +2 -2
  17. package/esm2022/select/select.component.mjs +2 -2
  18. package/esm2022/shellbar/product-menu/product-menu.component.mjs +1 -1
  19. package/esm2022/splitter/splitter-resizer/splitter-resizer.component.mjs +1 -1
  20. package/esm2022/tabs/tab-item-expand/tab-item-expand.component.mjs +2 -2
  21. package/esm2022/tabs/tab-utils/tab-directives.mjs +1 -1
  22. package/esm2022/timeline/components/timeline-node/timeline-node.component.mjs +1 -1
  23. package/esm2022/tree/components/tree-item/tree-item.component.mjs +2 -2
  24. package/esm2022/wizard/wizard-step-indicator/wizard-step-indicator.component.mjs +1 -1
  25. package/fesm2022/fundamental-ngx-core-avatar.mjs +1 -1
  26. package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
  27. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +1 -1
  28. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  29. package/fesm2022/fundamental-ngx-core-button.mjs +1 -1
  30. package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
  31. package/fesm2022/fundamental-ngx-core-combobox.mjs +1 -1
  32. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  33. package/fesm2022/fundamental-ngx-core-dialog.mjs +2 -2
  34. package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
  35. package/fesm2022/fundamental-ngx-core-form.mjs +1 -1
  36. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  37. package/fesm2022/fundamental-ngx-core-grid-list.mjs +2 -2
  38. package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
  39. package/fesm2022/fundamental-ngx-core-icon.mjs +77 -28
  40. package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
  41. package/fesm2022/fundamental-ngx-core-info-label.mjs +1 -1
  42. package/fesm2022/fundamental-ngx-core-info-label.mjs.map +1 -1
  43. package/fesm2022/fundamental-ngx-core-list.mjs +1 -1
  44. package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
  45. package/fesm2022/fundamental-ngx-core-message-strip.mjs +1 -1
  46. package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
  47. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +1 -1
  48. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
  49. package/fesm2022/fundamental-ngx-core-nested-list.mjs +1 -1
  50. package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
  51. package/fesm2022/fundamental-ngx-core-object-status.mjs +1 -1
  52. package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
  53. package/fesm2022/fundamental-ngx-core-select.mjs +1 -1
  54. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  55. package/fesm2022/fundamental-ngx-core-shellbar.mjs +1 -1
  56. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  57. package/fesm2022/fundamental-ngx-core-splitter.mjs +1 -1
  58. package/fesm2022/fundamental-ngx-core-splitter.mjs.map +1 -1
  59. package/fesm2022/fundamental-ngx-core-tabs.mjs +2 -2
  60. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  61. package/fesm2022/fundamental-ngx-core-timeline.mjs +1 -1
  62. package/fesm2022/fundamental-ngx-core-timeline.mjs.map +1 -1
  63. package/fesm2022/fundamental-ngx-core-tree.mjs +1 -1
  64. package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
  65. package/fesm2022/fundamental-ngx-core-wizard.mjs +1 -1
  66. package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
  67. package/fundamental-ngx-core-v0.46.2-rc.6.tgz +0 -0
  68. package/icon/icon.component.d.ts +26 -9
  69. package/package.json +3 -3
  70. package/schematics/add-dependencies/index.js +4 -4
  71. package/fundamental-ngx-core-v0.46.2-rc.4.tgz +0 -0
@@ -8,7 +8,7 @@ import * as i0 from "@angular/core";
8
8
  */
9
9
  export class TabItemExpandComponent {
10
10
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TabItemExpandComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: TabItemExpandComponent, isStandalone: true, selector: "fd-item-expand", host: { attributes: { "role": "tab" }, classAttribute: "fd-tabs__item fd-tabs__item--overflow" }, ngImport: i0, template: "<a class=\"fd-tabs__link\" role=\"tab\" [attr.tabindex]=\"0\">\n <span fd-tab-tag>{{ 'coreTabs.tabListExpandButtonText' | fdTranslate }}</span>\n <fd-icon glyph=\"slim-arrow-down\" aria-label=\"See More\"></fd-icon>\n</a>\n", styles: [".fd-tabs__item--overflow{margin-left:auto;margin-right:0}[dir=rtl] .fd-tabs__item--overflow,.fd-tabs__item--overflow[dir=rtl]{margin-left:0;margin-right:auto}.fd-tabs__item--overflow fd-icon:not(:only-child){margin-left:.5rem}[dir=rtl] .fd-tabs__item--overflow fd-icon:not(:only-child),.fd-tabs__item--overflow fd-icon:not(:only-child)[dir=rtl]{margin-left:0;margin-right:.5rem}\n"], dependencies: [{ kind: "directive", type: TabTagDirective, selector: "[fdTabTag], [fd-tab-tag]" }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel", "ariaHidden"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: TabItemExpandComponent, isStandalone: true, selector: "fd-item-expand", host: { attributes: { "role": "tab" }, classAttribute: "fd-tabs__item fd-tabs__item--overflow" }, ngImport: i0, template: "<a class=\"fd-tabs__link\" role=\"tab\" [attr.tabindex]=\"0\">\n <span fd-tab-tag>{{ 'coreTabs.tabListExpandButtonText' | fdTranslate }}</span>\n <fd-icon glyph=\"slim-arrow-down\" aria-label=\"See More\"></fd-icon>\n</a>\n", styles: [".fd-tabs__item--overflow{margin-left:auto;margin-right:0}[dir=rtl] .fd-tabs__item--overflow,.fd-tabs__item--overflow[dir=rtl]{margin-left:0;margin-right:auto}.fd-tabs__item--overflow fd-icon:not(:only-child){margin-left:.5rem}[dir=rtl] .fd-tabs__item--overflow fd-icon:not(:only-child),.fd-tabs__item--overflow fd-icon:not(:only-child)[dir=rtl]{margin-left:0;margin-right:.5rem}\n"], dependencies: [{ kind: "directive", type: TabTagDirective, selector: "[fdTabTag], [fd-tab-tag]" }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
12
12
  }
13
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TabItemExpandComponent, decorators: [{
14
14
  type: Component,
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
17
17
  class: 'fd-tabs__item fd-tabs__item--overflow'
18
18
  }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [TabTagDirective, IconComponent, FdTranslatePipe], template: "<a class=\"fd-tabs__link\" role=\"tab\" [attr.tabindex]=\"0\">\n <span fd-tab-tag>{{ 'coreTabs.tabListExpandButtonText' | fdTranslate }}</span>\n <fd-icon glyph=\"slim-arrow-down\" aria-label=\"See More\"></fd-icon>\n</a>\n", styles: [".fd-tabs__item--overflow{margin-left:auto;margin-right:0}[dir=rtl] .fd-tabs__item--overflow,.fd-tabs__item--overflow[dir=rtl]{margin-left:0;margin-right:auto}.fd-tabs__item--overflow fd-icon:not(:only-child){margin-left:.5rem}[dir=rtl] .fd-tabs__item--overflow fd-icon:not(:only-child),.fd-tabs__item--overflow fd-icon:not(:only-child)[dir=rtl]{margin-left:0;margin-right:.5rem}\n"] }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWl0ZW0tZXhwYW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3RhYnMvdGFiLWl0ZW0tZXhwYW5kL3RhYi1pdGVtLWV4cGFuZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90YWJzL3RhYi1pdGVtLWV4cGFuZC90YWItaXRlbS1leHBhbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFOUQ7O0dBRUc7QUFjSCxNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7a0dBQXRCLHNCQUFzQiw0S0NyQm5DLHVPQUlBLHNiRGVjLGVBQWUscUVBQUUsYUFBYSw4R0FBRSxlQUFlOzsyRkFFaEQsc0JBQXNCO2tCQWJsQyxTQUFTOytCQUNJLGdCQUFnQixRQUdwQjt3QkFDRixJQUFJLEVBQUUsS0FBSzt3QkFDWCxLQUFLLEVBQUUsdUNBQXVDO3FCQUNqRCxpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvaWNvbic7XG5pbXBvcnQgeyBGZFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2kxOG4nO1xuaW1wb3J0IHsgVGFiVGFnRGlyZWN0aXZlIH0gZnJvbSAnLi4vdGFiLXV0aWxzL3RhYi1kaXJlY3RpdmVzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbGlzdCBvZiB0YWItcGFuZWxzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLWl0ZW0tZXhwYW5kJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFiLWl0ZW0tZXhwYW5kLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90YWItaXRlbS1leHBhbmQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICd0YWInLFxuICAgICAgICBjbGFzczogJ2ZkLXRhYnNfX2l0ZW0gZmQtdGFic19faXRlbS0tb3ZlcmZsb3cnXG4gICAgfSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1RhYlRhZ0RpcmVjdGl2ZSwgSWNvbkNvbXBvbmVudCwgRmRUcmFuc2xhdGVQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJJdGVtRXhwYW5kQ29tcG9uZW50IHt9XG4iLCI8YSBjbGFzcz1cImZkLXRhYnNfX2xpbmtcIiByb2xlPVwidGFiXCIgW2F0dHIudGFiaW5kZXhdPVwiMFwiPlxuICAgIDxzcGFuIGZkLXRhYi10YWc+e3sgJ2NvcmVUYWJzLnRhYkxpc3RFeHBhbmRCdXR0b25UZXh0JyB8IGZkVHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDxmZC1pY29uIGdseXBoPVwic2xpbS1hcnJvdy1kb3duXCIgYXJpYS1sYWJlbD1cIlNlZSBNb3JlXCI+PC9mZC1pY29uPlxuPC9hPlxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWl0ZW0tZXhwYW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3RhYnMvdGFiLWl0ZW0tZXhwYW5kL3RhYi1pdGVtLWV4cGFuZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90YWJzL3RhYi1pdGVtLWV4cGFuZC90YWItaXRlbS1leHBhbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFOUQ7O0dBRUc7QUFjSCxNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7a0dBQXRCLHNCQUFzQiw0S0NyQm5DLHVPQUlBLHNiRGVjLGVBQWUscUVBQUUsYUFBYSxxSUFBRSxlQUFlOzsyRkFFaEQsc0JBQXNCO2tCQWJsQyxTQUFTOytCQUNJLGdCQUFnQixRQUdwQjt3QkFDRixJQUFJLEVBQUUsS0FBSzt3QkFDWCxLQUFLLEVBQUUsdUNBQXVDO3FCQUNqRCxpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvaWNvbic7XG5pbXBvcnQgeyBGZFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2kxOG4nO1xuaW1wb3J0IHsgVGFiVGFnRGlyZWN0aXZlIH0gZnJvbSAnLi4vdGFiLXV0aWxzL3RhYi1kaXJlY3RpdmVzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbGlzdCBvZiB0YWItcGFuZWxzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLWl0ZW0tZXhwYW5kJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFiLWl0ZW0tZXhwYW5kLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90YWItaXRlbS1leHBhbmQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICd0YWInLFxuICAgICAgICBjbGFzczogJ2ZkLXRhYnNfX2l0ZW0gZmQtdGFic19faXRlbS0tb3ZlcmZsb3cnXG4gICAgfSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1RhYlRhZ0RpcmVjdGl2ZSwgSWNvbkNvbXBvbmVudCwgRmRUcmFuc2xhdGVQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJJdGVtRXhwYW5kQ29tcG9uZW50IHt9XG4iLCI8YSBjbGFzcz1cImZkLXRhYnNfX2xpbmtcIiByb2xlPVwidGFiXCIgW2F0dHIudGFiaW5kZXhdPVwiMFwiPlxuICAgIDxzcGFuIGZkLXRhYi10YWc+e3sgJ2NvcmVUYWJzLnRhYkxpc3RFeHBhbmRCdXR0b25UZXh0JyB8IGZkVHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDxmZC1pY29uIGdseXBoPVwic2xpbS1hcnJvdy1kb3duXCIgYXJpYS1sYWJlbD1cIlNlZSBNb3JlXCI+PC9mZC1pY29uPlxuPC9hPlxuIl19
@@ -76,7 +76,7 @@ export class TabIconComponent {
76
76
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: TabIconComponent, isStandalone: true, selector: "[fd-tab-icon]", inputs: { class: "class", icon: "icon" }, usesOnChanges: true, ngImport: i0, template: `
77
77
  <fd-icon role="presentation" *ngIf="icon" [glyph]="icon"></fd-icon>
78
78
  <ng-content></ng-content>
79
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel", "ariaHidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
79
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
80
80
  }
81
81
  __decorate([
82
82
  applyCssClass,
@@ -21,7 +21,7 @@ export class TimelineNodeComponent {
21
21
  this._timelinePositionControl.removeNode(this);
22
22
  }
23
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TimelineNodeComponent, deps: [{ token: i0.ElementRef }, { token: i1.TimelinePositionControlService }], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: TimelineNodeComponent, isStandalone: true, selector: "fd-timeline-node", inputs: { glyph: "glyph", ariaLabel: "ariaLabel" }, host: { properties: { "class.fd-timeline__node-wrapper--icon": "!!glyph" }, classAttribute: "fd-timeline__node-wrapper" }, viewQueries: [{ propertyName: "lineEl", first: true, predicate: ["lineEl"], descendants: true }], ngImport: i0, template: "<div class=\"fd-timeline__node-container\">\n <div class=\"fd-timeline__icon-wrapper\">\n <div class=\"fd-timeline__node\" [class.fd-timeline__node--icon]=\"!!glyph\">\n <fd-icon *ngIf=\"glyph\" [glyph]=\"glyph\"></fd-icon>\n </div>\n </div>\n <div #lineEl class=\"fd-timeline__connecting-line\"></div>\n</div>\n<div role=\"timelineitem\" [attr.aria-label]=\"ariaLabel\" class=\"fd-timeline__post\">\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel", "ariaHidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: TimelineNodeComponent, isStandalone: true, selector: "fd-timeline-node", inputs: { glyph: "glyph", ariaLabel: "ariaLabel" }, host: { properties: { "class.fd-timeline__node-wrapper--icon": "!!glyph" }, classAttribute: "fd-timeline__node-wrapper" }, viewQueries: [{ propertyName: "lineEl", first: true, predicate: ["lineEl"], descendants: true }], ngImport: i0, template: "<div class=\"fd-timeline__node-container\">\n <div class=\"fd-timeline__icon-wrapper\">\n <div class=\"fd-timeline__node\" [class.fd-timeline__node--icon]=\"!!glyph\">\n <fd-icon *ngIf=\"glyph\" [glyph]=\"glyph\"></fd-icon>\n </div>\n </div>\n <div #lineEl class=\"fd-timeline__connecting-line\"></div>\n</div>\n<div role=\"timelineitem\" [attr.aria-label]=\"ariaLabel\" class=\"fd-timeline__post\">\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
25
25
  }
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TimelineNodeComponent, decorators: [{
27
27
  type: Component,
@@ -246,7 +246,7 @@ export class TreeItemComponent extends BaseTreeItem {
246
246
  provide: BaseTreeItem,
247
247
  useExisting: TreeItemComponent
248
248
  }
249
- ], queries: [{ propertyName: "_projectedTreeItems", predicate: BaseTreeItem }], viewQueries: [{ propertyName: "itemContainer", first: true, predicate: ["itemContainer"], descendants: true, read: ElementRef }, { propertyName: "selectableListItem", first: true, predicate: SelectableItemDirective, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.DataSourceDirective }], ngImport: i0, template: "<div\n class=\"fd-tree__item-container\"\n [attr.tabindex]=\"_containerTabIndex\"\n (fdkClicked)=\"_onClick($event)\"\n fdkSelectableItem\n (selected)=\"_setSelected($event)\"\n [value]=\"value\"\n [attr.aria-haspopup]=\"children.length > 0 || hasProjectedChildren\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-setsize]=\"_setSize\"\n [attr.aria-posinset]=\"_currentPosition\"\n role=\"treeitem\"\n [attr.aria-level]=\"level\"\n #itemContainer\n [ngClass]=\"[\n state ? 'has-highlight-indicator has-highlight-indicator--' + state : '',\n navigatable ? 'fd-tree__item-container--active' : '',\n wrapContent ? 'fd-tree__content--wrap' : ''\n ]\"\n>\n <ng-container *ngIf=\"_selectionModel?.placement === 'left'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"hasChildren\">\n <span\n *ngIf=\"hasDsChildren || hasProjectedChildren\"\n (click)=\"_toggleExpandState($event)\"\n class=\"fd-tree__expander\"\n aria-hidden=\"true\"\n role=\"presentation\"\n [attr.aria-label]=\"(expanded ? 'coreTree.collapse' : 'coreTree.expand') | fdTranslate\"\n [class.is-expanded]=\"expanded\"\n >\n <fd-icon\n class=\"fd-tree__icon\"\n [glyph]=\"expanded ? 'navigation-down-arrow' : 'navigation-right-arrow'\"\n ></fd-icon>\n </span>\n <div class=\"fd-tree__expander fd-tree__expander--loading\" *ngIf=\"!_totalChildrenLoaded\">\n <fd-skeleton type=\"rectangle\" width=\"1rem\" height=\"1rem\"></fd-skeleton>\n </div>\n <ng-container *ngIf=\"_selectionModel?.placement === 'afterExpand'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n </ng-container>\n <div class=\"fd-tree__content\">\n <ng-content select=\"[fdTreeItemIcon]\"></ng-content>\n <ng-content select=\"[fdTreeItemText]\"></ng-content>\n </div>\n <ng-content select=\"[fdTreeItemButton]\"></ng-content>\n <ng-container *ngIf=\"_selectionModel?.placement === 'right'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n <fd-icon\n glyph=\"slim-arrow-right\"\n class=\"fd-tree__icon fd-tree__icon--navigation\"\n *ngIf=\"navigatable && _navigationIndicator\"\n ></fd-icon>\n</div>\n\n<ng-container *ngIf=\"hasProjectedChildren && expanded\">\n <div class=\"fd-tree\">\n <ng-content select=\"fd-tree-item\"></ng-content>\n </div>\n</ng-container>\n\n<ng-template #selection>\n <div class=\"fd-form-item\">\n <fd-checkbox\n [(ngModel)]=\"_selectionState\"\n [ngModelOptions]=\"{ standalone: true }\"\n [standalone]=\"true\"\n tabIndexValue=\"-1\"\n *ngIf=\"_selectionModel?.mode === 'multiple'\"\n ></fd-checkbox>\n <fd-radio-button\n [(ngModel)]=\"_selectionState\"\n [ngModelOptions]=\"{ standalone: true }\"\n [selectedValue]=\"_selectionState\"\n [value]=\"true\"\n tabIndex=\"-1\"\n [standalone]=\"true\"\n tabIndexValue=\"-1\"\n *ngIf=\"_selectionModel?.mode === 'single'\"\n ></fd-radio-button>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: SelectableItemDirective, selector: "[fdkSelectableItem]", inputs: ["value", "fdkSelectableItem"], outputs: ["clicked", "selected"], exportAs: ["fdkSelectableItem"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ClickedBehaviorModule }, { kind: "directive", type: i2.ClickedDirective, selector: "[fdkClicked]", outputs: ["fdkClicked"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "component", type: CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
249
+ ], queries: [{ propertyName: "_projectedTreeItems", predicate: BaseTreeItem }], viewQueries: [{ propertyName: "itemContainer", first: true, predicate: ["itemContainer"], descendants: true, read: ElementRef }, { propertyName: "selectableListItem", first: true, predicate: SelectableItemDirective, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.DataSourceDirective }], ngImport: i0, template: "<div\n class=\"fd-tree__item-container\"\n [attr.tabindex]=\"_containerTabIndex\"\n (fdkClicked)=\"_onClick($event)\"\n fdkSelectableItem\n (selected)=\"_setSelected($event)\"\n [value]=\"value\"\n [attr.aria-haspopup]=\"children.length > 0 || hasProjectedChildren\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-setsize]=\"_setSize\"\n [attr.aria-posinset]=\"_currentPosition\"\n role=\"treeitem\"\n [attr.aria-level]=\"level\"\n #itemContainer\n [ngClass]=\"[\n state ? 'has-highlight-indicator has-highlight-indicator--' + state : '',\n navigatable ? 'fd-tree__item-container--active' : '',\n wrapContent ? 'fd-tree__content--wrap' : ''\n ]\"\n>\n <ng-container *ngIf=\"_selectionModel?.placement === 'left'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"hasChildren\">\n <span\n *ngIf=\"hasDsChildren || hasProjectedChildren\"\n (click)=\"_toggleExpandState($event)\"\n class=\"fd-tree__expander\"\n aria-hidden=\"true\"\n role=\"presentation\"\n [attr.aria-label]=\"(expanded ? 'coreTree.collapse' : 'coreTree.expand') | fdTranslate\"\n [class.is-expanded]=\"expanded\"\n >\n <fd-icon\n class=\"fd-tree__icon\"\n [glyph]=\"expanded ? 'navigation-down-arrow' : 'navigation-right-arrow'\"\n ></fd-icon>\n </span>\n <div class=\"fd-tree__expander fd-tree__expander--loading\" *ngIf=\"!_totalChildrenLoaded\">\n <fd-skeleton type=\"rectangle\" width=\"1rem\" height=\"1rem\"></fd-skeleton>\n </div>\n <ng-container *ngIf=\"_selectionModel?.placement === 'afterExpand'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n </ng-container>\n <div class=\"fd-tree__content\">\n <ng-content select=\"[fdTreeItemIcon]\"></ng-content>\n <ng-content select=\"[fdTreeItemText]\"></ng-content>\n </div>\n <ng-content select=\"[fdTreeItemButton]\"></ng-content>\n <ng-container *ngIf=\"_selectionModel?.placement === 'right'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n <fd-icon\n glyph=\"slim-arrow-right\"\n class=\"fd-tree__icon fd-tree__icon--navigation\"\n *ngIf=\"navigatable && _navigationIndicator\"\n ></fd-icon>\n</div>\n\n<ng-container *ngIf=\"hasProjectedChildren && expanded\">\n <div class=\"fd-tree\">\n <ng-content select=\"fd-tree-item\"></ng-content>\n </div>\n</ng-container>\n\n<ng-template #selection>\n <div class=\"fd-form-item\">\n <fd-checkbox\n [(ngModel)]=\"_selectionState\"\n [ngModelOptions]=\"{ standalone: true }\"\n [standalone]=\"true\"\n tabIndexValue=\"-1\"\n *ngIf=\"_selectionModel?.mode === 'multiple'\"\n ></fd-checkbox>\n <fd-radio-button\n [(ngModel)]=\"_selectionState\"\n [ngModelOptions]=\"{ standalone: true }\"\n [selectedValue]=\"_selectionState\"\n [value]=\"true\"\n tabIndex=\"-1\"\n [standalone]=\"true\"\n tabIndexValue=\"-1\"\n *ngIf=\"_selectionModel?.mode === 'single'\"\n ></fd-radio-button>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: SelectableItemDirective, selector: "[fdkSelectableItem]", inputs: ["value", "fdkSelectableItem"], outputs: ["clicked", "selected"], exportAs: ["fdkSelectableItem"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ClickedBehaviorModule }, { kind: "directive", type: i2.ClickedDirective, selector: "[fdkClicked]", outputs: ["fdkClicked"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "component", type: CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
250
250
  }
251
251
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TreeItemComponent, decorators: [{
252
252
  type: Component,
@@ -315,4 +315,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
315
315
  type: ContentChildren,
316
316
  args: [BaseTreeItem]
317
317
  }] } });
318
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3RyZWUvY29tcG9uZW50cy90cmVlLWl0ZW0vdHJlZS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3RyZWUvY29tcG9uZW50cy90cmVlLWl0ZW0vdHJlZS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBYyxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25GLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsNEJBQTRCLEVBRTVCLHVCQUF1QixFQUN2QixtQkFBbUIsRUFDbkIsTUFBTSxFQUNULE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxp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dCB7IE5nQ2xhc3MsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSwgRGF0YVNvdXJjZURpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL2RhdGEtc291cmNlJztcbmltcG9ydCB7XG4gICAgQ2xpY2tlZEJlaGF2aW9yTW9kdWxlLFxuICAgIEZES19TRUxFQ1RBQkxFX0lURU1fUFJPVklERVIsXG4gICAgTnVsbGFibGUsXG4gICAgU2VsZWN0YWJsZUl0ZW1EaXJlY3RpdmUsXG4gICAgU2VsZWN0YWJsZUl0ZW1Ub2tlbixcbiAgICB1dWlkdjRcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY2hlY2tib3gnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9pY29uJztcbmltcG9ydCB7IFJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3JhZGlvJztcbmltcG9ydCB7IFNrZWxldG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NrZWxldG9uJztcbmltcG9ydCB7IEZkVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5pbXBvcnQgeyBTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmRUcmVlQWNjZXB0YWJsZURhdGFTb3VyY2UsIEZkVHJlZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhLXNvdXJjZS90cmVlLWRhdGEtc291cmNlJztcbmltcG9ydCB7IFRyZWVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy90cmVlLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEJhc2VUcmVlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9iYXNlLXRyZWUtaXRlbS5jbGFzcyc7XG5pbXBvcnQgeyBUcmVlSXRlbSwgVHJlZUl0ZW1TdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy90cmVlLWl0ZW0nO1xuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZU1vZGVsLCBUcmVlU2VydmljZSB9IGZyb20gJy4uLy4uL3RyZWUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtdHJlZS1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdHJlZS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbRGF0YVNvdXJjZURpcmVjdGl2ZV0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZkLXRyZWVfX2l0ZW0nLFxuICAgICAgICByb2xlOiAncHJlc2VudGF0aW9uJ1xuICAgIH0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZES19TRUxFQ1RBQkxFX0lURU1fUFJPVklERVIsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogVHJlZUl0ZW1Db21wb25lbnRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQmFzZVRyZWVJdGVtLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFRyZWVJdGVtQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBTZWxlY3RhYmxlSXRlbURpcmVjdGl2ZSxcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgQ2xpY2tlZEJlaGF2aW9yTW9kdWxlLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBJY29uQ29tcG9uZW50LFxuICAgICAgICBTa2VsZXRvbkNvbXBvbmVudCxcbiAgICAgICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSYWRpb0J1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgRmRUcmFuc2xhdGVQaXBlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUcmVlSXRlbUNvbXBvbmVudDxUIGV4dGVuZHMgVHJlZUl0ZW0gPSBUcmVlSXRlbSwgUCA9IGFueT5cbiAgICBleHRlbmRzIEJhc2VUcmVlSXRlbTxULCBQPlxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTZWxlY3RhYmxlSXRlbVRva2VuPEhUTUxFbGVtZW50LCBQPj4sIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIHZhbHVlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmFsdWU6IFA7XG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIElELlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaWQgPSB1dWlkdjQoKTtcblxuICAgIC8qKlxuICAgICAqIFRyZWUgaXRlbSBhcmlhIGxhYmVsLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIHBhcmVudCBJRC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBwYXJlbnRJZCh2YWx1ZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLl9wYXJlbnRJZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldCBwYXJlbnRJZCgpOiBOdWxsYWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudElkIHx8IHRoaXMuX3BhcmVudFRyZWVJdGVtPy5pZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB0cmVlIGl0ZW0gaXMgbmF2aWdhdGFibGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBuYXZpZ2F0YWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIHN0YXRlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RhdGU6IE51bGxhYmxlPFRyZWVJdGVtU3RhdGU+O1xuXG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIGNoaWxkIG5vZGVzIGRhdGEgc291cmNlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2hpbGROb2RlczogRmRUcmVlQWNjZXB0YWJsZURhdGFTb3VyY2U8VD4gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gd3JhcCBjb250ZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgd3JhcENvbnRlbnQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFRyZWUgaXRlbSBsZXZlbC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxldmVsJylcbiAgICBzZXQgbGV2ZWwodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9sZXZlbCA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldCBsZXZlbCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGV2ZWwgfHwgKHRoaXMuX3BhcmVudFRyZWVJdGVtICE9PSBudWxsID8gdGhpcy5fcGFyZW50VHJlZUl0ZW0ubGV2ZWwgKyAxIDogMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdHJlZSBpdGVtIGlzIGV4cGFuZGVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGV4cGFuZGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl90cmVlU2VydmljZS5hZGRFeHBhbmRhYmxlSXRlbSh0aGlzLmlkLCB0aGlzLmxldmVsLCB2YWx1ZSk7XG4gICAgICAgIHRoaXMuX2V4cGFuZGVkID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl90cmVlU2VydmljZS5kZXRlY3RDaGFuZ2VzLm5leHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9kYXRhU291cmNlRGlyZWN0aXZlLmRhdGFTb3VyY2VQcm92aWRlcj8ubWF0Y2goKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlbiA9IFtdO1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlbkxvYWRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5fdHJlZVNlcnZpY2UuZGV0ZWN0Q2hhbmdlcy5uZXh0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB1c2VyIGNsaWNrcyBvbiB0cmVlIGl0ZW0uXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgdHJlZUl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYGV4cGFuZGVkYCBzdGF0ZSBjaGFuZ2VzLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGV4cGFuZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqIFRyZWUgaXRlbSBmb2N1c2FibGUgY29udGFpbmVyLiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2l0ZW1Db250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgICBpdGVtQ29udGFpbmVyOiBOdWxsYWJsZTxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj47XG5cbiAgICAvKiogU2VsZWN0YWJsZSBpdGVtLiAqL1xuICAgIEBWaWV3Q2hpbGQoU2VsZWN0YWJsZUl0ZW1EaXJlY3RpdmUpXG4gICAgc2VsZWN0YWJsZUxpc3RJdGVtOiBTZWxlY3RhYmxlSXRlbVRva2VuO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKEJhc2VUcmVlSXRlbSlcbiAgICBfcHJvamVjdGVkVHJlZUl0ZW1zOiBRdWVyeUxpc3Q8QmFzZVRyZWVJdGVtPjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBXaGV0aGVyIHRoZSB0cmVlIGl0ZW0gc2hvdWxkIGhhdmUgYSBuYXZpZ2F0aW9uIGluZGljYXRvci5cbiAgICAgKi9cbiAgICBfbmF2aWdhdGlvbkluZGljYXRvciA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFNlbGVjdGlvbiBzdGF0ZS5cbiAgICAgKi9cbiAgICBfc2VsZWN0aW9uU3RhdGUgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY2hpbGRyZW46IFRbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjaGlsZHJlbkxvYWRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2VsZWN0aW9uTW9kZWw6IE51bGxhYmxlPFNlbGVjdGlvbk1vZGVNb2RlbD47XG5cbiAgICAvKiogQEhpZGRlbiAqL1xuICAgIF9jb250YWluZXJUYWJJbmRleCA9IDA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zZXRTaXplOiBudW1iZXI7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY3VycmVudFBvc2l0aW9uOiBudW1iZXI7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF90b3RhbENoaWxkcmVuTG9hZGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3BhcmVudElkOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9sZXZlbDogbnVtYmVyO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9leHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBoYXMgYW55IHR5cGUgb2YgY2hpbGQgbm9kZXMuICovXG4gICAgZ2V0IGhhc0NoaWxkcmVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmNoaWxkTm9kZXMgfHwgdGhpcy5oYXNQcm9qZWN0ZWRDaGlsZHJlbjtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgdHJlZSBpdGVtIGhhcyBjb250ZW50LXByb2plY3RlZCBjaGlsZCBub2Rlcy4gKi9cbiAgICBnZXQgaGFzUHJvamVjdGVkQ2hpbGRyZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcm9qZWN0ZWRUcmVlSXRlbXMgJiYgdGhpcy5fcHJvamVjdGVkVHJlZUl0ZW1zLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBoYXMgZGF0YSBzb3VyY2UgY2hpbGRyZW4uICovXG4gICAgZ2V0IGhhc0RzQ2hpbGRyZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kc0NoaWxkcmVuTnVtYmVyID4gMDtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgaXRlbSBpcyBhY2Nlc3NpYmxlIHZpYSBrZXlib2FyZC4gKi9cbiAgICBnZXQga2V5Ym9hcmRBY2Nlc3NpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50VHJlZUl0ZW0gPT09IG51bGxcbiAgICAgICAgICAgID8gdHJ1ZVxuICAgICAgICAgICAgOiB0aGlzLl9wYXJlbnRUcmVlSXRlbS5rZXlib2FyZEFjY2Vzc2libGUgJiYgdGhpcy5fcGFyZW50VHJlZUl0ZW0uZXhwYW5kZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kc0NoaWxkcmVuTnVtYmVyID0gMDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2xpY2tlZCQgPSBuZXcgU3ViamVjdDxNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudD4oKTtcblxuICAgIC8qKiBDbGlja2VkIGJlaGF2aW9yIGltcGxlbWVudGF0aW9uLiAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gICAgY2xpY2tlZCA9IHRoaXMuX2NsaWNrZWQkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF90cmVlSXRlbURpciA9IGluamVjdDxUcmVlSXRlbURpcmVjdGl2ZTxULCBQPj4oVHJlZUl0ZW1EaXJlY3RpdmUsIHtcbiAgICAgICAgb3B0aW9uYWw6IHRydWVcbiAgICB9KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdHJlZVNlcnZpY2UgPSBpbmplY3QoVHJlZVNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhU291cmNlRGlyZWN0aXZlID0gaW5qZWN0PERhdGFTb3VyY2VEaXJlY3RpdmU8VCwgRmRUcmVlRGF0YVNvdXJjZTxUPj4+KERhdGFTb3VyY2VEaXJlY3RpdmUpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9wYXJlbnRUcmVlSXRlbSA9IGluamVjdChUcmVlSXRlbUNvbXBvbmVudCwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgc2tpcFNlbGY6IHRydWVcbiAgICB9KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuX3RyZWVJdGVtRGlyPy5zZXRUcmVlSXRlbSh0aGlzKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90cmVlU2VydmljZS5zZWxlY3Rpb25Nb2RlLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKG1vZGVsKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlbCA9IG1vZGVsO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fdHJlZVNlcnZpY2UubmF2aWdhdGlvbkluZGljYXRvci5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fbmF2aWdhdGlvbkluZGljYXRvciA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fZGF0YVNvdXJjZURpcmVjdGl2ZS5kYXRhU291cmNlID0gdGhpcy5jaGlsZE5vZGVzIGFzIERhdGFTb3VyY2U8VCwgRmRUcmVlRGF0YVNvdXJjZTxUPj47XG4gICAgICAgIHRoaXMuX3RyZWVTZXJ2aWNlLmFkZEV4cGFuZGFibGVJdGVtKHRoaXMuaWQsIHRoaXMubGV2ZWwsIHRoaXMuZXhwYW5kZWQpO1xuXG4gICAgICAgIHRoaXMuX2RhdGFTb3VyY2VEaXJlY3RpdmUuZGF0YVNvdXJjZVByb3ZpZGVyXG4gICAgICAgICAgICA/LmdldFRvdGFsSXRlbXMoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodG90YWxJdGVtcykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2RzQ2hpbGRyZW5OdW1iZXIgPSB0b3RhbEl0ZW1zO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RvdGFsQ2hpbGRyZW5Mb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9kYXRhU291cmNlRGlyZWN0aXZlLmRhdGFTb3VyY2VQcm92aWRlcj8uZGF0YVJlY2VpdmVkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKHJlY2VpdmVkKSA9PiByZWNlaXZlZCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuX2RhdGFTb3VyY2VEaXJlY3RpdmUuZGF0YUNoYW5nZWQkKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoaWxkcmVuID0gdGhpcy5fdHJlZVNlcnZpY2Uubm9ybWFsaXplVHJlZUl0ZW1zKGRhdGEsIHRoaXMuaWQsIHRoaXMubGV2ZWwgKyAxKSBhcyBUW107XG4gICAgICAgICAgICAgICAgdGhpcy5jaGlsZHJlbkxvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RyZWVTZXJ2aWNlLmRldGVjdENoYW5nZXMubmV4dCgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Byb2plY3RlZFRyZWVJdGVtcy5jaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShzdGFydFdpdGgobnVsbCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcHJvamVjdGVkVHJlZUl0ZW1zLmZvckVhY2goKHRyZWVJdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0cmVlSXRlbS5zZXRQb3NpdGlvbih0aGlzLl9wcm9qZWN0ZWRUcmVlSXRlbXMubGVuZ3RoLCBpbmRleCArIDEpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdHJlZVNlcnZpY2UucmVtb3ZlRXhwYW5kYWJsZUl0ZW0odGhpcy5pZCwgdGhpcy5sZXZlbCEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgaXRlbSBpbiB0aGUgc2V0LlxuICAgICAqIEBwYXJhbSB0b3RhbEl0ZW1zIFRvdGFsIGl0ZW1zIGFtb3VudCBpbiB0aGUgc2V0LlxuICAgICAqIEBwYXJhbSBjdXJyZW50SW5kZXggQ3VycmVudCBpdGVtIHBvc2l0aW9uIGluIHRoZSBzZXQuXG4gICAgICovXG4gICAgc2V0UG9zaXRpb24odG90YWxJdGVtczogbnVtYmVyLCBjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXRTaXplID0gdG90YWxJdGVtcztcbiAgICAgICAgdGhpcy5fY3VycmVudFBvc2l0aW9uID0gY3VycmVudEluZGV4O1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdG8gZm9jdXMgb24gdGhlIHRyZWUgaXRlbS4gKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCBmb3Igc2V0dGluZyB0aGUgZm9jdXNhYmxlIHRhYmluZGV4LiAqL1xuICAgIHNldENvbnRhaW5lclRhYkluZGV4KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29udGFpbmVyVGFiSW5kZXggPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3RvZ2dsZUV4cGFuZFN0YXRlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIC8vIERvIG5vdCBidWJibGUgdXAgdG8gc2VsZWN0aW9uIGNoYW5nZSBldmVudC5cbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgICAgICAgdGhpcy5leHBhbmRlZENoYW5nZS5lbWl0KHRoaXMuZXhwYW5kZWQpO1xuICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25DbGljayhldmVudDogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5fY2xpY2tlZCQubmV4dChldmVudCk7XG4gICAgICAgIHRoaXMudHJlZUl0ZW1DbGljay5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zZXRTZWxlY3RlZChzZWxlY3RlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25TdGF0ZSA9IHNlbGVjdGVkO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImZkLXRyZWVfX2l0ZW0tY29udGFpbmVyXCJcbiAgICBbYXR0ci50YWJpbmRleF09XCJfY29udGFpbmVyVGFiSW5kZXhcIlxuICAgIChmZGtDbGlja2VkKT1cIl9vbkNsaWNrKCRldmVudClcIlxuICAgIGZka1NlbGVjdGFibGVJdGVtXG4gICAgKHNlbGVjdGVkKT1cIl9zZXRTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiY2hpbGRyZW4ubGVuZ3RoID4gMCB8fCBoYXNQcm9qZWN0ZWRDaGlsZHJlblwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJleHBhbmRlZFwiXG4gICAgW2F0dHIuYXJpYS1zZXRzaXplXT1cIl9zZXRTaXplXCJcbiAgICBbYXR0ci5hcmlhLXBvc2luc2V0XT1cIl9jdXJyZW50UG9zaXRpb25cIlxuICAgIHJvbGU9XCJ0cmVlaXRlbVwiXG4gICAgW2F0dHIuYXJpYS1sZXZlbF09XCJsZXZlbFwiXG4gICAgI2l0ZW1Db250YWluZXJcbiAgICBbbmdDbGFzc109XCJbXG4gICAgICAgIHN0YXRlID8gJ2hhcy1oaWdobGlnaHQtaW5kaWNhdG9yIGhhcy1oaWdobGlnaHQtaW5kaWNhdG9yLS0nICsgc3RhdGUgOiAnJyxcbiAgICAgICAgbmF2aWdhdGFibGUgPyAnZmQtdHJlZV9faXRlbS1jb250YWluZXItLWFjdGl2ZScgOiAnJyxcbiAgICAgICAgd3JhcENvbnRlbnQgPyAnZmQtdHJlZV9fY29udGVudC0td3JhcCcgOiAnJ1xuICAgIF1cIlxuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfc2VsZWN0aW9uTW9kZWw/LnBsYWNlbWVudCA9PT0gJ2xlZnQnXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJzZWxlY3Rpb25cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNDaGlsZHJlblwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nSWY9XCJoYXNEc0NoaWxkcmVuIHx8IGhhc1Byb2plY3RlZENoaWxkcmVuXCJcbiAgICAgICAgICAgIChjbGljayk9XCJfdG9nZ2xlRXhwYW5kU3RhdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICBjbGFzcz1cImZkLXRyZWVfX2V4cGFuZGVyXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiKGV4cGFuZGVkID8gJ2NvcmVUcmVlLmNvbGxhcHNlJyA6ICdjb3JlVHJlZS5leHBhbmQnKSB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtjbGFzcy5pcy1leHBhbmRlZF09XCJleHBhbmRlZFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxmZC1pY29uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC10cmVlX19pY29uXCJcbiAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiZXhwYW5kZWQgPyAnbmF2aWdhdGlvbi1kb3duLWFycm93JyA6ICduYXZpZ2F0aW9uLXJpZ2h0LWFycm93J1wiXG4gICAgICAgICAgICA+PC9mZC1pY29uPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC10cmVlX19leHBhbmRlciBmZC10cmVlX19leHBhbmRlci0tbG9hZGluZ1wiICpuZ0lmPVwiIV90b3RhbENoaWxkcmVuTG9hZGVkXCI+XG4gICAgICAgICAgICA8ZmQtc2tlbGV0b24gdHlwZT1cInJlY3RhbmdsZVwiIHdpZHRoPVwiMXJlbVwiIGhlaWdodD1cIjFyZW1cIj48L2ZkLXNrZWxldG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9zZWxlY3Rpb25Nb2RlbD8ucGxhY2VtZW50ID09PSAnYWZ0ZXJFeHBhbmQnXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwic2VsZWN0aW9uXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cImZkLXRyZWVfX2NvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkVHJlZUl0ZW1JY29uXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkVHJlZUl0ZW1UZXh0XVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmRUcmVlSXRlbUJ1dHRvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9zZWxlY3Rpb25Nb2RlbD8ucGxhY2VtZW50ID09PSAncmlnaHQnXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJzZWxlY3Rpb25cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxmZC1pY29uXG4gICAgICAgIGdseXBoPVwic2xpbS1hcnJvdy1yaWdodFwiXG4gICAgICAgIGNsYXNzPVwiZmQtdHJlZV9faWNvbiBmZC10cmVlX19pY29uLS1uYXZpZ2F0aW9uXCJcbiAgICAgICAgKm5nSWY9XCJuYXZpZ2F0YWJsZSAmJiBfbmF2aWdhdGlvbkluZGljYXRvclwiXG4gICAgPjwvZmQtaWNvbj5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiaGFzUHJvamVjdGVkQ2hpbGRyZW4gJiYgZXhwYW5kZWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmQtdHJlZVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZC10cmVlLWl0ZW1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNzZWxlY3Rpb24+XG4gICAgPGRpdiBjbGFzcz1cImZkLWZvcm0taXRlbVwiPlxuICAgICAgICA8ZmQtY2hlY2tib3hcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiX3NlbGVjdGlvblN0YXRlXCJcbiAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXG4gICAgICAgICAgICBbc3RhbmRhbG9uZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIHRhYkluZGV4VmFsdWU9XCItMVwiXG4gICAgICAgICAgICAqbmdJZj1cIl9zZWxlY3Rpb25Nb2RlbD8ubW9kZSA9PT0gJ211bHRpcGxlJ1wiXG4gICAgICAgID48L2ZkLWNoZWNrYm94PlxuICAgICAgICA8ZmQtcmFkaW8tYnV0dG9uXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cIl9zZWxlY3Rpb25TdGF0ZVwiXG4gICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxuICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwiX3NlbGVjdGlvblN0YXRlXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIHRhYkluZGV4PVwiLTFcIlxuICAgICAgICAgICAgW3N0YW5kYWxvbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICB0YWJJbmRleFZhbHVlPVwiLTFcIlxuICAgICAgICAgICAgKm5nSWY9XCJfc2VsZWN0aW9uTW9kZWw/Lm1vZGUgPT09ICdzaW5nbGUnXCJcbiAgICAgICAgPjwvZmQtcmFkaW8tYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
318
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3RyZWUvY29tcG9uZW50cy90cmVlLWl0ZW0vdHJlZS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3RyZWUvY29tcG9uZW50cy90cmVlLWl0ZW0vdHJlZS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBYyxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25GLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsNEJBQTRCLEVBRTVCLHVCQUF1QixFQUN2QixtQkFBbUIsRUFDbkIsTUFBTSxFQUNULE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxp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dCB7IE5nQ2xhc3MsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSwgRGF0YVNvdXJjZURpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL2RhdGEtc291cmNlJztcbmltcG9ydCB7XG4gICAgQ2xpY2tlZEJlaGF2aW9yTW9kdWxlLFxuICAgIEZES19TRUxFQ1RBQkxFX0lURU1fUFJPVklERVIsXG4gICAgTnVsbGFibGUsXG4gICAgU2VsZWN0YWJsZUl0ZW1EaXJlY3RpdmUsXG4gICAgU2VsZWN0YWJsZUl0ZW1Ub2tlbixcbiAgICB1dWlkdjRcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY2hlY2tib3gnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9pY29uJztcbmltcG9ydCB7IFJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3JhZGlvJztcbmltcG9ydCB7IFNrZWxldG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NrZWxldG9uJztcbmltcG9ydCB7IEZkVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5pbXBvcnQgeyBTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmRUcmVlQWNjZXB0YWJsZURhdGFTb3VyY2UsIEZkVHJlZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhLXNvdXJjZS90cmVlLWRhdGEtc291cmNlJztcbmltcG9ydCB7IFRyZWVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy90cmVlLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEJhc2VUcmVlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9iYXNlLXRyZWUtaXRlbS5jbGFzcyc7XG5pbXBvcnQgeyBUcmVlSXRlbSwgVHJlZUl0ZW1TdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy90cmVlLWl0ZW0nO1xuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZU1vZGVsLCBUcmVlU2VydmljZSB9IGZyb20gJy4uLy4uL3RyZWUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtdHJlZS1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdHJlZS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbRGF0YVNvdXJjZURpcmVjdGl2ZV0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZkLXRyZWVfX2l0ZW0nLFxuICAgICAgICByb2xlOiAncHJlc2VudGF0aW9uJ1xuICAgIH0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZES19TRUxFQ1RBQkxFX0lURU1fUFJPVklERVIsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogVHJlZUl0ZW1Db21wb25lbnRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQmFzZVRyZWVJdGVtLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFRyZWVJdGVtQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBTZWxlY3RhYmxlSXRlbURpcmVjdGl2ZSxcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgQ2xpY2tlZEJlaGF2aW9yTW9kdWxlLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBJY29uQ29tcG9uZW50LFxuICAgICAgICBTa2VsZXRvbkNvbXBvbmVudCxcbiAgICAgICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSYWRpb0J1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgRmRUcmFuc2xhdGVQaXBlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUcmVlSXRlbUNvbXBvbmVudDxUIGV4dGVuZHMgVHJlZUl0ZW0gPSBUcmVlSXRlbSwgUCA9IGFueT5cbiAgICBleHRlbmRzIEJhc2VUcmVlSXRlbTxULCBQPlxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTZWxlY3RhYmxlSXRlbVRva2VuPEhUTUxFbGVtZW50LCBQPj4sIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIHZhbHVlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmFsdWU6IFA7XG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIElELlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaWQgPSB1dWlkdjQoKTtcblxuICAgIC8qKlxuICAgICAqIFRyZWUgaXRlbSBhcmlhIGxhYmVsLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIHBhcmVudCBJRC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBwYXJlbnRJZCh2YWx1ZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLl9wYXJlbnRJZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldCBwYXJlbnRJZCgpOiBOdWxsYWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudElkIHx8IHRoaXMuX3BhcmVudFRyZWVJdGVtPy5pZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB0cmVlIGl0ZW0gaXMgbmF2aWdhdGFibGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBuYXZpZ2F0YWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIHN0YXRlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RhdGU6IE51bGxhYmxlPFRyZWVJdGVtU3RhdGU+O1xuXG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIGNoaWxkIG5vZGVzIGRhdGEgc291cmNlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2hpbGROb2RlczogRmRUcmVlQWNjZXB0YWJsZURhdGFTb3VyY2U8VD4gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gd3JhcCBjb250ZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgd3JhcENvbnRlbnQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFRyZWUgaXRlbSBsZXZlbC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxldmVsJylcbiAgICBzZXQgbGV2ZWwodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9sZXZlbCA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldCBsZXZlbCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGV2ZWwgfHwgKHRoaXMuX3BhcmVudFRyZWVJdGVtICE9PSBudWxsID8gdGhpcy5fcGFyZW50VHJlZUl0ZW0ubGV2ZWwgKyAxIDogMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdHJlZSBpdGVtIGlzIGV4cGFuZGVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGV4cGFuZGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl90cmVlU2VydmljZS5hZGRFeHBhbmRhYmxlSXRlbSh0aGlzLmlkLCB0aGlzLmxldmVsLCB2YWx1ZSk7XG4gICAgICAgIHRoaXMuX2V4cGFuZGVkID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl90cmVlU2VydmljZS5kZXRlY3RDaGFuZ2VzLm5leHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9kYXRhU291cmNlRGlyZWN0aXZlLmRhdGFTb3VyY2VQcm92aWRlcj8ubWF0Y2goKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlbiA9IFtdO1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlbkxvYWRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5fdHJlZVNlcnZpY2UuZGV0ZWN0Q2hhbmdlcy5uZXh0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB1c2VyIGNsaWNrcyBvbiB0cmVlIGl0ZW0uXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgdHJlZUl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYGV4cGFuZGVkYCBzdGF0ZSBjaGFuZ2VzLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGV4cGFuZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqIFRyZWUgaXRlbSBmb2N1c2FibGUgY29udGFpbmVyLiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2l0ZW1Db250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgICBpdGVtQ29udGFpbmVyOiBOdWxsYWJsZTxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj47XG5cbiAgICAvKiogU2VsZWN0YWJsZSBpdGVtLiAqL1xuICAgIEBWaWV3Q2hpbGQoU2VsZWN0YWJsZUl0ZW1EaXJlY3RpdmUpXG4gICAgc2VsZWN0YWJsZUxpc3RJdGVtOiBTZWxlY3RhYmxlSXRlbVRva2VuO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKEJhc2VUcmVlSXRlbSlcbiAgICBfcHJvamVjdGVkVHJlZUl0ZW1zOiBRdWVyeUxpc3Q8QmFzZVRyZWVJdGVtPjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBXaGV0aGVyIHRoZSB0cmVlIGl0ZW0gc2hvdWxkIGhhdmUgYSBuYXZpZ2F0aW9uIGluZGljYXRvci5cbiAgICAgKi9cbiAgICBfbmF2aWdhdGlvbkluZGljYXRvciA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFNlbGVjdGlvbiBzdGF0ZS5cbiAgICAgKi9cbiAgICBfc2VsZWN0aW9uU3RhdGUgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY2hpbGRyZW46IFRbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjaGlsZHJlbkxvYWRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2VsZWN0aW9uTW9kZWw6IE51bGxhYmxlPFNlbGVjdGlvbk1vZGVNb2RlbD47XG5cbiAgICAvKiogQEhpZGRlbiAqL1xuICAgIF9jb250YWluZXJUYWJJbmRleCA9IDA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zZXRTaXplOiBudW1iZXI7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY3VycmVudFBvc2l0aW9uOiBudW1iZXI7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF90b3RhbENoaWxkcmVuTG9hZGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3BhcmVudElkOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9sZXZlbDogbnVtYmVyO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9leHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBoYXMgYW55IHR5cGUgb2YgY2hpbGQgbm9kZXMuICovXG4gICAgZ2V0IGhhc0NoaWxkcmVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmNoaWxkTm9kZXMgfHwgdGhpcy5oYXNQcm9qZWN0ZWRDaGlsZHJlbjtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgdHJlZSBpdGVtIGhhcyBjb250ZW50LXByb2plY3RlZCBjaGlsZCBub2Rlcy4gKi9cbiAgICBnZXQgaGFzUHJvamVjdGVkQ2hpbGRyZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcm9qZWN0ZWRUcmVlSXRlbXMgJiYgdGhpcy5fcHJvamVjdGVkVHJlZUl0ZW1zLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBoYXMgZGF0YSBzb3VyY2UgY2hpbGRyZW4uICovXG4gICAgZ2V0IGhhc0RzQ2hpbGRyZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kc0NoaWxkcmVuTnVtYmVyID4gMDtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgaXRlbSBpcyBhY2Nlc3NpYmxlIHZpYSBrZXlib2FyZC4gKi9cbiAgICBnZXQga2V5Ym9hcmRBY2Nlc3NpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50VHJlZUl0ZW0gPT09IG51bGxcbiAgICAgICAgICAgID8gdHJ1ZVxuICAgICAgICAgICAgOiB0aGlzLl9wYXJlbnRUcmVlSXRlbS5rZXlib2FyZEFjY2Vzc2libGUgJiYgdGhpcy5fcGFyZW50VHJlZUl0ZW0uZXhwYW5kZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kc0NoaWxkcmVuTnVtYmVyID0gMDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2xpY2tlZCQgPSBuZXcgU3ViamVjdDxNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudD4oKTtcblxuICAgIC8qKiBDbGlja2VkIGJlaGF2aW9yIGltcGxlbWVudGF0aW9uLiAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gICAgY2xpY2tlZCA9IHRoaXMuX2NsaWNrZWQkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF90cmVlSXRlbURpciA9IGluamVjdDxUcmVlSXRlbURpcmVjdGl2ZTxULCBQPj4oVHJlZUl0ZW1EaXJlY3RpdmUsIHtcbiAgICAgICAgb3B0aW9uYWw6IHRydWVcbiAgICB9KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdHJlZVNlcnZpY2UgPSBpbmplY3QoVHJlZVNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhU291cmNlRGlyZWN0aXZlID0gaW5qZWN0PERhdGFTb3VyY2VEaXJlY3RpdmU8VCwgRmRUcmVlRGF0YVNvdXJjZTxUPj4+KERhdGFTb3VyY2VEaXJlY3RpdmUpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9wYXJlbnRUcmVlSXRlbSA9IGluamVjdChUcmVlSXRlbUNvbXBvbmVudCwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgc2tpcFNlbGY6IHRydWVcbiAgICB9KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuX3RyZWVJdGVtRGlyPy5zZXRUcmVlSXRlbSh0aGlzKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90cmVlU2VydmljZS5zZWxlY3Rpb25Nb2RlLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKG1vZGVsKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlbCA9IG1vZGVsO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fdHJlZVNlcnZpY2UubmF2aWdhdGlvbkluZGljYXRvci5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fbmF2aWdhdGlvbkluZGljYXRvciA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fZGF0YVNvdXJjZURpcmVjdGl2ZS5kYXRhU291cmNlID0gdGhpcy5jaGlsZE5vZGVzIGFzIERhdGFTb3VyY2U8VCwgRmRUcmVlRGF0YVNvdXJjZTxUPj47XG4gICAgICAgIHRoaXMuX3RyZWVTZXJ2aWNlLmFkZEV4cGFuZGFibGVJdGVtKHRoaXMuaWQsIHRoaXMubGV2ZWwsIHRoaXMuZXhwYW5kZWQpO1xuXG4gICAgICAgIHRoaXMuX2RhdGFTb3VyY2VEaXJlY3RpdmUuZGF0YVNvdXJjZVByb3ZpZGVyXG4gICAgICAgICAgICA/LmdldFRvdGFsSXRlbXMoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodG90YWxJdGVtcykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2RzQ2hpbGRyZW5OdW1iZXIgPSB0b3RhbEl0ZW1zO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RvdGFsQ2hpbGRyZW5Mb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9kYXRhU291cmNlRGlyZWN0aXZlLmRhdGFTb3VyY2VQcm92aWRlcj8uZGF0YVJlY2VpdmVkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKHJlY2VpdmVkKSA9PiByZWNlaXZlZCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuX2RhdGFTb3VyY2VEaXJlY3RpdmUuZGF0YUNoYW5nZWQkKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoaWxkcmVuID0gdGhpcy5fdHJlZVNlcnZpY2Uubm9ybWFsaXplVHJlZUl0ZW1zKGRhdGEsIHRoaXMuaWQsIHRoaXMubGV2ZWwgKyAxKSBhcyBUW107XG4gICAgICAgICAgICAgICAgdGhpcy5jaGlsZHJlbkxvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RyZWVTZXJ2aWNlLmRldGVjdENoYW5nZXMubmV4dCgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Byb2plY3RlZFRyZWVJdGVtcy5jaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShzdGFydFdpdGgobnVsbCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcHJvamVjdGVkVHJlZUl0ZW1zLmZvckVhY2goKHRyZWVJdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0cmVlSXRlbS5zZXRQb3NpdGlvbih0aGlzLl9wcm9qZWN0ZWRUcmVlSXRlbXMubGVuZ3RoLCBpbmRleCArIDEpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdHJlZVNlcnZpY2UucmVtb3ZlRXhwYW5kYWJsZUl0ZW0odGhpcy5pZCwgdGhpcy5sZXZlbCEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgaXRlbSBpbiB0aGUgc2V0LlxuICAgICAqIEBwYXJhbSB0b3RhbEl0ZW1zIFRvdGFsIGl0ZW1zIGFtb3VudCBpbiB0aGUgc2V0LlxuICAgICAqIEBwYXJhbSBjdXJyZW50SW5kZXggQ3VycmVudCBpdGVtIHBvc2l0aW9uIGluIHRoZSBzZXQuXG4gICAgICovXG4gICAgc2V0UG9zaXRpb24odG90YWxJdGVtczogbnVtYmVyLCBjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXRTaXplID0gdG90YWxJdGVtcztcbiAgICAgICAgdGhpcy5fY3VycmVudFBvc2l0aW9uID0gY3VycmVudEluZGV4O1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdG8gZm9jdXMgb24gdGhlIHRyZWUgaXRlbS4gKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCBmb3Igc2V0dGluZyB0aGUgZm9jdXNhYmxlIHRhYmluZGV4LiAqL1xuICAgIHNldENvbnRhaW5lclRhYkluZGV4KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29udGFpbmVyVGFiSW5kZXggPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3RvZ2dsZUV4cGFuZFN0YXRlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIC8vIERvIG5vdCBidWJibGUgdXAgdG8gc2VsZWN0aW9uIGNoYW5nZSBldmVudC5cbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgICAgICAgdGhpcy5leHBhbmRlZENoYW5nZS5lbWl0KHRoaXMuZXhwYW5kZWQpO1xuICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25DbGljayhldmVudDogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5fY2xpY2tlZCQubmV4dChldmVudCk7XG4gICAgICAgIHRoaXMudHJlZUl0ZW1DbGljay5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zZXRTZWxlY3RlZChzZWxlY3RlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25TdGF0ZSA9IHNlbGVjdGVkO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImZkLXRyZWVfX2l0ZW0tY29udGFpbmVyXCJcbiAgICBbYXR0ci50YWJpbmRleF09XCJfY29udGFpbmVyVGFiSW5kZXhcIlxuICAgIChmZGtDbGlja2VkKT1cIl9vbkNsaWNrKCRldmVudClcIlxuICAgIGZka1NlbGVjdGFibGVJdGVtXG4gICAgKHNlbGVjdGVkKT1cIl9zZXRTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiY2hpbGRyZW4ubGVuZ3RoID4gMCB8fCBoYXNQcm9qZWN0ZWRDaGlsZHJlblwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJleHBhbmRlZFwiXG4gICAgW2F0dHIuYXJpYS1zZXRzaXplXT1cIl9zZXRTaXplXCJcbiAgICBbYXR0ci5hcmlhLXBvc2luc2V0XT1cIl9jdXJyZW50UG9zaXRpb25cIlxuICAgIHJvbGU9XCJ0cmVlaXRlbVwiXG4gICAgW2F0dHIuYXJpYS1sZXZlbF09XCJsZXZlbFwiXG4gICAgI2l0ZW1Db250YWluZXJcbiAgICBbbmdDbGFzc109XCJbXG4gICAgICAgIHN0YXRlID8gJ2hhcy1oaWdobGlnaHQtaW5kaWNhdG9yIGhhcy1oaWdobGlnaHQtaW5kaWNhdG9yLS0nICsgc3RhdGUgOiAnJyxcbiAgICAgICAgbmF2aWdhdGFibGUgPyAnZmQtdHJlZV9faXRlbS1jb250YWluZXItLWFjdGl2ZScgOiAnJyxcbiAgICAgICAgd3JhcENvbnRlbnQgPyAnZmQtdHJlZV9fY29udGVudC0td3JhcCcgOiAnJ1xuICAgIF1cIlxuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfc2VsZWN0aW9uTW9kZWw/LnBsYWNlbWVudCA9PT0gJ2xlZnQnXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJzZWxlY3Rpb25cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNDaGlsZHJlblwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nSWY9XCJoYXNEc0NoaWxkcmVuIHx8IGhhc1Byb2plY3RlZENoaWxkcmVuXCJcbiAgICAgICAgICAgIChjbGljayk9XCJfdG9nZ2xlRXhwYW5kU3RhdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICBjbGFzcz1cImZkLXRyZWVfX2V4cGFuZGVyXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiKGV4cGFuZGVkID8gJ2NvcmVUcmVlLmNvbGxhcHNlJyA6ICdjb3JlVHJlZS5leHBhbmQnKSB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtjbGFzcy5pcy1leHBhbmRlZF09XCJleHBhbmRlZFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxmZC1pY29uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC10cmVlX19pY29uXCJcbiAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiZXhwYW5kZWQgPyAnbmF2aWdhdGlvbi1kb3duLWFycm93JyA6ICduYXZpZ2F0aW9uLXJpZ2h0LWFycm93J1wiXG4gICAgICAgICAgICA+PC9mZC1pY29uPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC10cmVlX19leHBhbmRlciBmZC10cmVlX19leHBhbmRlci0tbG9hZGluZ1wiICpuZ0lmPVwiIV90b3RhbENoaWxkcmVuTG9hZGVkXCI+XG4gICAgICAgICAgICA8ZmQtc2tlbGV0b24gdHlwZT1cInJlY3RhbmdsZVwiIHdpZHRoPVwiMXJlbVwiIGhlaWdodD1cIjFyZW1cIj48L2ZkLXNrZWxldG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9zZWxlY3Rpb25Nb2RlbD8ucGxhY2VtZW50ID09PSAnYWZ0ZXJFeHBhbmQnXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwic2VsZWN0aW9uXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cImZkLXRyZWVfX2NvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkVHJlZUl0ZW1JY29uXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkVHJlZUl0ZW1UZXh0XVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmRUcmVlSXRlbUJ1dHRvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9zZWxlY3Rpb25Nb2RlbD8ucGxhY2VtZW50ID09PSAncmlnaHQnXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJzZWxlY3Rpb25cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxmZC1pY29uXG4gICAgICAgIGdseXBoPVwic2xpbS1hcnJvdy1yaWdodFwiXG4gICAgICAgIGNsYXNzPVwiZmQtdHJlZV9faWNvbiBmZC10cmVlX19pY29uLS1uYXZpZ2F0aW9uXCJcbiAgICAgICAgKm5nSWY9XCJuYXZpZ2F0YWJsZSAmJiBfbmF2aWdhdGlvbkluZGljYXRvclwiXG4gICAgPjwvZmQtaWNvbj5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiaGFzUHJvamVjdGVkQ2hpbGRyZW4gJiYgZXhwYW5kZWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmQtdHJlZVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZC10cmVlLWl0ZW1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNzZWxlY3Rpb24+XG4gICAgPGRpdiBjbGFzcz1cImZkLWZvcm0taXRlbVwiPlxuICAgICAgICA8ZmQtY2hlY2tib3hcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiX3NlbGVjdGlvblN0YXRlXCJcbiAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXG4gICAgICAgICAgICBbc3RhbmRhbG9uZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIHRhYkluZGV4VmFsdWU9XCItMVwiXG4gICAgICAgICAgICAqbmdJZj1cIl9zZWxlY3Rpb25Nb2RlbD8ubW9kZSA9PT0gJ211bHRpcGxlJ1wiXG4gICAgICAgID48L2ZkLWNoZWNrYm94PlxuICAgICAgICA8ZmQtcmFkaW8tYnV0dG9uXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cIl9zZWxlY3Rpb25TdGF0ZVwiXG4gICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxuICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwiX3NlbGVjdGlvblN0YXRlXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIHRhYkluZGV4PVwiLTFcIlxuICAgICAgICAgICAgW3N0YW5kYWxvbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICB0YWJJbmRleFZhbHVlPVwiLTFcIlxuICAgICAgICAgICAgKm5nSWY9XCJfc2VsZWN0aW9uTW9kZWw/Lm1vZGUgPT09ICdzaW5nbGUnXCJcbiAgICAgICAgPjwvZmQtcmFkaW8tYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -43,7 +43,7 @@ export class WizardStepIndicatorComponent {
43
43
  provide: FD_WIZARD_STEP_INDICATOR,
44
44
  useExisting: WizardStepIndicatorComponent
45
45
  }
46
- ], viewQueries: [{ propertyName: "actionSheet", first: true, predicate: ActionSheetComponent, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"stackedItems && stackedItems.length > 1\">\n <fd-action-sheet [style.pointer-events]=\"'all'\">\n <fd-action-sheet-control>\n <span class=\"fd-wizard__step-indicator\">\n <ng-container *ngTemplateOutlet=\"stepIndicatorContent\"></ng-container>\n </span>\n </fd-action-sheet-control>\n <fd-action-sheet-body>\n <li\n fd-action-sheet-item\n *ngFor=\"let step of stackedItems\"\n [label]=\"step.label\"\n [glyph]=\"step.glyph\"\n [disabled]=\"!step.visited\"\n (click)=\"stepItemClicked(step, $event)\"\n ></li>\n </fd-action-sheet-body>\n </fd-action-sheet>\n</ng-container>\n\n<ng-container *ngIf=\"!stackedItems || stackedItems.length <= 1\">\n <span\n class=\"fd-wizard__step-indicator\"\n (click)=\"stepItemClicked(stackedItems.length ? stackedItems[0] : undefined, $event)\"\n >\n <ng-container *ngTemplateOutlet=\"stepIndicatorContent\"></ng-container>\n </span>\n</ng-container>\n\n<ng-template #stepIndicatorContent>\n <fd-icon *ngIf=\"glyph\" [glyph]=\"glyph\" class=\"fd-wizard__icon\"></fd-icon>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ActionSheetComponent, selector: "fd-action-sheet", inputs: ["mobile", "placement", "noArrow", "isOpen", "keyboardSupport", "triggers"], outputs: ["focusEscapeList", "isOpenChange"] }, { kind: "component", type: ActionSheetControlComponent, selector: "fd-action-sheet-control", outputs: ["clicked"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ActionSheetBodyComponent, selector: "fd-action-sheet-body", inputs: ["actionSheetBodyId", "mobile", "ariaLabel", "ariaLabelledby"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ActionSheetItemComponent, selector: "[fd-action-sheet-item]", inputs: ["label", "glyph", "negative", "isCloseButton", "disabled"], outputs: ["keyDown"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel", "ariaHidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
46
+ ], viewQueries: [{ propertyName: "actionSheet", first: true, predicate: ActionSheetComponent, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"stackedItems && stackedItems.length > 1\">\n <fd-action-sheet [style.pointer-events]=\"'all'\">\n <fd-action-sheet-control>\n <span class=\"fd-wizard__step-indicator\">\n <ng-container *ngTemplateOutlet=\"stepIndicatorContent\"></ng-container>\n </span>\n </fd-action-sheet-control>\n <fd-action-sheet-body>\n <li\n fd-action-sheet-item\n *ngFor=\"let step of stackedItems\"\n [label]=\"step.label\"\n [glyph]=\"step.glyph\"\n [disabled]=\"!step.visited\"\n (click)=\"stepItemClicked(step, $event)\"\n ></li>\n </fd-action-sheet-body>\n </fd-action-sheet>\n</ng-container>\n\n<ng-container *ngIf=\"!stackedItems || stackedItems.length <= 1\">\n <span\n class=\"fd-wizard__step-indicator\"\n (click)=\"stepItemClicked(stackedItems.length ? stackedItems[0] : undefined, $event)\"\n >\n <ng-container *ngTemplateOutlet=\"stepIndicatorContent\"></ng-container>\n </span>\n</ng-container>\n\n<ng-template #stepIndicatorContent>\n <fd-icon *ngIf=\"glyph\" [glyph]=\"glyph\" class=\"fd-wizard__icon\"></fd-icon>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ActionSheetComponent, selector: "fd-action-sheet", inputs: ["mobile", "placement", "noArrow", "isOpen", "keyboardSupport", "triggers"], outputs: ["focusEscapeList", "isOpenChange"] }, { kind: "component", type: ActionSheetControlComponent, selector: "fd-action-sheet-control", outputs: ["clicked"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ActionSheetBodyComponent, selector: "fd-action-sheet-body", inputs: ["actionSheetBodyId", "mobile", "ariaLabel", "ariaLabelledby"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ActionSheetItemComponent, selector: "[fd-action-sheet-item]", inputs: ["label", "glyph", "negative", "isCloseButton", "disabled"], outputs: ["keyDown"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
47
47
  }
48
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: WizardStepIndicatorComponent, decorators: [{
49
49
  type: Component,
@@ -319,7 +319,7 @@ class AvatarComponent {
319
319
  provide: FD_AVATAR_COMPONENT,
320
320
  useExisting: AvatarComponent
321
321
  }
322
- ], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"abbreviate\">{{ abbreviate }}</ng-container>\n\n<i\n *ngIf=\"zoomGlyph || valueState\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"valueState | fdAvatarIcon : zoomGlyph\"\n (mousedown)=\"zoomClicked($event)\"\n>\n</i>\n\n<fd-icon\n *ngIf=\"glyph || showDefault\"\n class=\"fd-avatar__icon\"\n role=\"presentation\"\n [font]=\"font\"\n [glyph]=\"glyph || 'person-placeholder'\"\n></fd-icon>\n\n<div #content [style.display]=\"'none'\">\n <ng-content></ng-content>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-avatar{--fdAvatarZoomIconPosition:0;-webkit-box-sizing:border-box;background-color:var(--fdAvatarBackgroundColor);background-position:50%;background-repeat:no-repeat;background-size:var(--fdAvatarBackgroundSize);border:0;border:.0625rem solid var(--fdAvatarBorderColor);border-radius:var(--fdAvatarBorderRadius);box-sizing:border-box;color:var(--sapTextColor);color:var(--fdAvatarColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--fdAvatarFontSize);font-stretch:var(--fdAvatarFontStretch);font-weight:400;forced-color-adjust:none;height:var(--fdAvatarRatio);line-height:var(--sapContent_LineHeight);margin:0;max-height:var(--fdAvatarRatio);max-width:var(--fdAvatarRatio);min-height:var(--fdAvatarRatio);min-width:var(--fdAvatarRatio);padding:0;position:relative;text-shadow:var(--fdAvatarTextShadow);vertical-align:middle;width:var(--fdAvatarRatio)}.fd-avatar:after,.fd-avatar:before{box-sizing:inherit;font-size:inherit}.fd-avatar.is-focus,.fd-avatar:focus{outline:none}.fd-avatar.is-focus:after,.fd-avatar:focus:after{border-color:var(--sapContent_FocusColor);border-radius:var(--fdAvatar_Focus_Outline_Radius);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);bottom:var(--fdAvatar_Focus_Outline_Offset);content:\"\";left:var(--fdAvatar_Focus_Outline_Offset);pointer-events:none;position:absolute;right:var(--fdAvatar_Focus_Outline_Offset);top:var(--fdAvatar_Focus_Outline_Offset)}.fd-avatar--interactive,.fd-avatar[role=button],.fd-avatar[tabindex=\"0\"]{cursor:pointer}.fd-avatar--interactive.is-hover,.fd-avatar--interactive:hover,.fd-avatar[role=button].is-hover,.fd-avatar[role=button]:hover,.fd-avatar[tabindex=\"0\"].is-hover,.fd-avatar[tabindex=\"0\"]:hover{--fdAvatarBorderColor:var(--fdAvatarHoverBorderColor);--fdAvatarBackgroundColor:var(--fdAvatarHoverBackgroundColor)}.fd-avatar--interactive.is-disabled,.fd-avatar--interactive:disabled,.fd-avatar--interactive[aria-disabled=true],.fd-avatar[role=button].is-disabled,.fd-avatar[role=button]:disabled,.fd-avatar[role=button][aria-disabled=true],.fd-avatar[tabindex=\"0\"].is-disabled,.fd-avatar[tabindex=\"0\"]:disabled,.fd-avatar[tabindex=\"0\"][aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity)}.fd-avatar--interactive.is-active,.fd-avatar--interactive.is-toggled,.fd-avatar--interactive:active,.fd-avatar[role=button].is-active,.fd-avatar[role=button].is-toggled,.fd-avatar[role=button]:active,.fd-avatar[tabindex=\"0\"].is-active,.fd-avatar[tabindex=\"0\"].is-toggled,.fd-avatar[tabindex=\"0\"]:active{--fdAvatarBorderColor:var(--sapButton_Selected_BorderColor);--fdAvatarBackgroundColor:var(--sapButton_Selected_Background);--fdAvatarColor:var(--sapButton_Selected_TextColor)}.fd-avatar--interactive.is-toggled.is-hover,.fd-avatar--interactive.is-toggled:hover,.fd-avatar[role=button].is-toggled.is-hover,.fd-avatar[role=button].is-toggled:hover,.fd-avatar[tabindex=\"0\"].is-toggled.is-hover,.fd-avatar[tabindex=\"0\"].is-toggled:hover{--fdAvatarBorderColor:var(--sapButton_Selected_Hover_BorderColor);--fdAvatarBackgroundColor:var(--sapButton_Selected_Hover_Background);--fdAvatarColor:var(--sapButton_Selected_TextColor)}.fd-avatar--interactive.is-focus,.fd-avatar--interactive:focus,.fd-avatar[role=button].is-focus,.fd-avatar[role=button]:focus,.fd-avatar[tabindex=\"0\"].is-focus,.fd-avatar[tabindex=\"0\"]:focus{padding:.125rem;z-index:5}.fd-avatar__zoom-icon{--fdAvatarZoomIconColor:var(--sapButton_Emphasized_TextColor);--fdAvatarZoomIconBorderColor:var(--sapButton_Emphasized_BorderColor);--fdAvatarZoomIconBackground:var(--sapButton_Emphasized_Background)}.fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar__zoom-icon[class*=sap-icon]{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background:inherit;background:var(--fdAvatarZoomIconBackground);border:.0625rem solid var(--fdAvatarZoomIconBorderColor);border-radius:inherit;border-radius:100%;color:inherit;color:var(--fdAvatarZoomIconColor);display:flex;font-size:inherit;font-size:var(--fdAvatarZoomIconFontSize);height:var(--fdAvatarZoomIconDimensions);justify-content:center;line-height:1;min-width:var(--fdAvatarZoomIconDimensions);position:absolute;width:var(--fdAvatarZoomIconDimensions);z-index:5}.fd-avatar__zoom-icon [class*=sap-icon] [class*=sap-icon],.fd-avatar__zoom-icon [class*=sap-icon][class*=sap-icon],.fd-avatar__zoom-icon[class*=sap-icon] [class*=sap-icon],.fd-avatar__zoom-icon[class*=sap-icon][class*=sap-icon]{bottom:var(--fdAvatarZoomIconPosition);right:var(--fdAvatarZoomIconPosition)}.fd-avatar__zoom-icon [class*=sap-icon] [class*=sap-icon][dir=rtl],.fd-avatar__zoom-icon [class*=sap-icon][class*=sap-icon][dir=rtl],.fd-avatar__zoom-icon[class*=sap-icon] [class*=sap-icon][dir=rtl],.fd-avatar__zoom-icon[class*=sap-icon][class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar__zoom-icon [class*=sap-icon] [class*=sap-icon],[dir=rtl] .fd-avatar__zoom-icon [class*=sap-icon][class*=sap-icon],[dir=rtl] .fd-avatar__zoom-icon[class*=sap-icon] [class*=sap-icon],[dir=rtl] .fd-avatar__zoom-icon[class*=sap-icon][class*=sap-icon]{left:var(--fdAvatarZoomIconPosition);right:auto}.fd-avatar__zoom-icon--positive{--fdAvatarZoomIconColor:var(--sapPositiveTextColor);--fdAvatarZoomIconBorderColor: ;--fdAvatarZoomIconBackground:var(--sapSuccessBackground)}.fd-avatar__zoom-icon--caution{--fdAvatarZoomIconColor:var(--sapCriticalTextColor);--fdAvatarZoomIconBorderColor: ;--fdAvatarZoomIconBackground:var(--sapWarningBackground)}.fd-avatar__zoom-icon--negative{--fdAvatarZoomIconColor:var(--sapNegativeTextColor);--fdAvatarZoomIconBorderColor: ;--fdAvatarZoomIconBackground:var(--sapErrorBackground)}.fd-avatar__zoom-icon--information{--fdAvatarZoomIconColor:var(--sapInformativeTextColor);--fdAvatarZoomIconBorderColor: ;--fdAvatarZoomIconBackground:var(--sapInformationBackground)}.fd-avatar__icon [class*=sap-icon],.fd-avatar__icon[class*=sap-icon]{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-content:center;align-items:center;background:inherit;border-radius:inherit;color:inherit;display:flex;font-size:inherit;justify-content:center;line-height:1}.fd-avatar--circle{--fdAvatarBorderRadius:100%}.fd-avatar--circle.is-focus,.fd-avatar--circle:focus{outline:none}.fd-avatar--circle.is-focus:after,.fd-avatar--circle:focus:after{border-color:var(--sapContent_FocusColor);border-radius:var(--fdAvatar_Focus_Outline_Radius_Circle);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);bottom:var(--fdAvatar_Focus_Outline_Offset);content:\"\";left:var(--fdAvatar_Focus_Outline_Offset);pointer-events:none;position:absolute;right:var(--fdAvatar_Focus_Outline_Offset);top:var(--fdAvatar_Focus_Outline_Offset)}.fd-avatar--background-contain{--fdAvatarBackgroundSize:contain}.fd-avatar--transparent{--fdAvatarBorderColor:var(--fdAvatar_Transparent_BorderColor);--fdAvatarBackgroundColor:var(--fdAvatar_Transparent_BackgroundColor);--fdAvatarColor:var(--sapContent_IconColor);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Transparent_BackgroundColor_Hover);--fdAvatarHoverBorderColor:var(--sapContent_IconColor)}.fd-avatar--tile{--fdAvatarBorderColor:var(--fdAvatar_Tile_BorderColor);--fdAvatarBackgroundColor:var(--fdAvatar_Tile_BackgroundColor);--fdAvatarColor:var(--fdAvatar_Tile_TextColor);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Tile_BackgroundColor_Hover);--fdAvatarHoverBorderColor:var(--sapTile_IconColor)}.fd-avatar--placeholder{--fdAvatarBorderColor:var(--fdAvatar_Placeholder_BorderColor);--fdAvatarBackgroundColor:var(--sapContent_ImagePlaceholderBackground);--fdAvatarColor:var(--sapContent_ImagePlaceholderForegroundColor);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Placeholder_BackgroundColor_Hover);--fdAvatarHoverBorderColor:var(--sapContent_ImagePlaceholderForegroundColor)}.fd-avatar--thumbnail{--fdAvatarBorderColor:var(--fdAvatar_Thumbnail_BorderColor);--fdAvatarHoverBorderColor:var(--sapAvatar_10_TextColor);--fdAvatarBackgroundColor:var(--fdAvatar_Transparent_BackgroundColor)}.fd-avatar--border{--fdAvatarBorderColor:var(--sapGroup_ContentBorderColor)}.fd-avatar--border.is-active,.fd-avatar--border:active{--fdAvatarBorderColor:var(--sapButton_Selected_BorderColor);--fdAvatarBackgroundColor:var(--sapButton_Selected_Background)}.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Overflow_BorderColor);--fdAvatarBackgroundColor:var(--fdAvatar_Overflow_BackgroundColor);--fdAvatarColor:var(--fdAvatar_Overflow_TextColor);--fdAvatarHoverBackgroundColor:var(--sapButton_Hover_Background);--fdAvatarHoverBorderColor:var(--sapButton_Hover_BorderColor);border-width:var(--fdAvatar_Overflow_Border_Width);cursor:pointer}.fd-avatar--overflow.is-hover,.fd-avatar--overflow:hover{--fdAvatarColor:var(--sapButton_Hover_TextColor)}.fd-avatar--overflow.is-disabled,.fd-avatar--overflow:disabled,.fd-avatar--overflow[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity)}.fd-avatar--overflow.is-active,.fd-avatar--overflow:active{--fdAvatarBorderColor:var(--sapButton_Active_BorderColor);--fdAvatarBackgroundColor:var(--sapButton_Active_Background);--fdAvatarColor:var(--sapButton_Active_TextColor)}.fd-avatar--accent-color-1,.fd-avatar--accent-color-1.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_1_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_1_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_1);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_1_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_1)}.fd-avatar--accent-color-2,.fd-avatar--accent-color-2.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_2_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_2_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_2);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_2_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_2)}.fd-avatar--accent-color-3,.fd-avatar--accent-color-3.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_3_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_3_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_3);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_3_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_3)}.fd-avatar--accent-color-4,.fd-avatar--accent-color-4.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_4_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_4_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_4);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_4_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_4)}.fd-avatar--accent-color-5,.fd-avatar--accent-color-5.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_5_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_5_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_5);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_5_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_5)}.fd-avatar--accent-color-6,.fd-avatar--accent-color-6.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_6_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_6_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_6);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_6_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_6)}.fd-avatar--accent-color-7,.fd-avatar--accent-color-7.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_7_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_7_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_7);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_7_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_7)}.fd-avatar--accent-color-8,.fd-avatar--accent-color-8.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_8_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_8_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_8);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_8_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_8)}.fd-avatar--accent-color-9,.fd-avatar--accent-color-9.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_9_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_9_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_9);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_9_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_9)}.fd-avatar--accent-color-10,.fd-avatar--accent-color-10.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_10_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_10_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_10);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_10_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_10)}.fd-avatar--xs{--fdAvatarZoomIconOffset:-.125rem;--fdAvatarRatio:2rem;--fdAvatarFontSize:1rem;--fdAvatarFontStretch:condensed}.fd-avatar--xs .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xs .fd-avatar__zoom-icon[class*=sap-icon]{--fdAvatarZoomIconDimensions:1.125rem;--fdAvatarZoomIconFontSize:.75rem}.fd-avatar--s{--fdAvatarZoomIconOffset:-.125rem;--fdAvatarRatio:3rem;--fdAvatarFontSize:1.125rem;--fdAvatarFontStretch:condensed}.fd-avatar--s .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--s .fd-avatar__zoom-icon[class*=sap-icon]{--fdAvatarZoomIconDimensions:1.125rem;--fdAvatarZoomIconFontSize:.75rem}.fd-avatar--m{--fdAvatarZoomIconOffset:-.125rem;--fdAvatarRatio:4rem;--fdAvatarFontSize:1.5rem;--fdAvatarFontStretch:normal}.fd-avatar--m .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--m .fd-avatar__zoom-icon[class*=sap-icon]{--fdAvatarZoomIconDimensions:1.125rem;--fdAvatarZoomIconFontSize:.75rem}.fd-avatar--l{--fdAvatarZoomIconOffset:-.1875rem;--fdAvatarRatio:5rem;--fdAvatarFontSize:2.25rem;--fdAvatarFontStretch:normal}.fd-avatar--l .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--l .fd-avatar__zoom-icon[class*=sap-icon]{--fdAvatarZoomIconDimensions:1.25rem;--fdAvatarZoomIconFontSize:.875rem}.fd-avatar--xl{--fdAvatarZoomIconOffset:-.25rem;--fdAvatarRatio:7rem;--fdAvatarFontSize:3rem;--fdAvatarFontStretch:normal}.fd-avatar--xl .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xl .fd-avatar__zoom-icon[class*=sap-icon]{--fdAvatarZoomIconDimensions:1.75rem;--fdAvatarZoomIconFontSize:1rem}.fd-avatar--accent-color-1.fd-avatar--shell,.fd-avatar--accent-color-10.fd-avatar--shell,.fd-avatar--accent-color-2.fd-avatar--shell,.fd-avatar--accent-color-3.fd-avatar--shell,.fd-avatar--accent-color-4.fd-avatar--shell,.fd-avatar--accent-color-5.fd-avatar--shell,.fd-avatar--accent-color-6.fd-avatar--shell,.fd-avatar--accent-color-7.fd-avatar--shell,.fd-avatar--accent-color-8.fd-avatar--shell,.fd-avatar--accent-color-9.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--l,.fd-avatar--m,.fd-avatar--s,.fd-avatar--xl,.fd-avatar--xs{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;justify-content:center;margin:0;padding:0}.fd-avatar--l:not(.fd-avatar--circle),.fd-avatar--m:not(.fd-avatar--circle),.fd-avatar--s:not(.fd-avatar--circle),.fd-avatar--xl:not(.fd-avatar--circle),.fd-avatar--xs:not(.fd-avatar--circle){--fdAvatarZoomIconPosition:var(--fdAvatarZoomIconOffset)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AvatarIconPipe, name: "fdAvatarIcon" }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel", "ariaHidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
322
+ ], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"abbreviate\">{{ abbreviate }}</ng-container>\n\n<i\n *ngIf=\"zoomGlyph || valueState\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"valueState | fdAvatarIcon : zoomGlyph\"\n (mousedown)=\"zoomClicked($event)\"\n>\n</i>\n\n<fd-icon\n *ngIf=\"glyph || showDefault\"\n class=\"fd-avatar__icon\"\n role=\"presentation\"\n [font]=\"font\"\n [glyph]=\"glyph || 'person-placeholder'\"\n></fd-icon>\n\n<div #content [style.display]=\"'none'\">\n <ng-content></ng-content>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-avatar{--fdAvatarZoomIconPosition:0;-webkit-box-sizing:border-box;background-color:var(--fdAvatarBackgroundColor);background-position:50%;background-repeat:no-repeat;background-size:var(--fdAvatarBackgroundSize);border:0;border:.0625rem solid var(--fdAvatarBorderColor);border-radius:var(--fdAvatarBorderRadius);box-sizing:border-box;color:var(--sapTextColor);color:var(--fdAvatarColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--fdAvatarFontSize);font-stretch:var(--fdAvatarFontStretch);font-weight:400;forced-color-adjust:none;height:var(--fdAvatarRatio);line-height:var(--sapContent_LineHeight);margin:0;max-height:var(--fdAvatarRatio);max-width:var(--fdAvatarRatio);min-height:var(--fdAvatarRatio);min-width:var(--fdAvatarRatio);padding:0;position:relative;text-shadow:var(--fdAvatarTextShadow);vertical-align:middle;width:var(--fdAvatarRatio)}.fd-avatar:after,.fd-avatar:before{box-sizing:inherit;font-size:inherit}.fd-avatar.is-focus,.fd-avatar:focus{outline:none}.fd-avatar.is-focus:after,.fd-avatar:focus:after{border-color:var(--sapContent_FocusColor);border-radius:var(--fdAvatar_Focus_Outline_Radius);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);bottom:var(--fdAvatar_Focus_Outline_Offset);content:\"\";left:var(--fdAvatar_Focus_Outline_Offset);pointer-events:none;position:absolute;right:var(--fdAvatar_Focus_Outline_Offset);top:var(--fdAvatar_Focus_Outline_Offset)}.fd-avatar--interactive,.fd-avatar[role=button],.fd-avatar[tabindex=\"0\"]{cursor:pointer}.fd-avatar--interactive.is-hover,.fd-avatar--interactive:hover,.fd-avatar[role=button].is-hover,.fd-avatar[role=button]:hover,.fd-avatar[tabindex=\"0\"].is-hover,.fd-avatar[tabindex=\"0\"]:hover{--fdAvatarBorderColor:var(--fdAvatarHoverBorderColor);--fdAvatarBackgroundColor:var(--fdAvatarHoverBackgroundColor)}.fd-avatar--interactive.is-disabled,.fd-avatar--interactive:disabled,.fd-avatar--interactive[aria-disabled=true],.fd-avatar[role=button].is-disabled,.fd-avatar[role=button]:disabled,.fd-avatar[role=button][aria-disabled=true],.fd-avatar[tabindex=\"0\"].is-disabled,.fd-avatar[tabindex=\"0\"]:disabled,.fd-avatar[tabindex=\"0\"][aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity)}.fd-avatar--interactive.is-active,.fd-avatar--interactive.is-toggled,.fd-avatar--interactive:active,.fd-avatar[role=button].is-active,.fd-avatar[role=button].is-toggled,.fd-avatar[role=button]:active,.fd-avatar[tabindex=\"0\"].is-active,.fd-avatar[tabindex=\"0\"].is-toggled,.fd-avatar[tabindex=\"0\"]:active{--fdAvatarBorderColor:var(--sapButton_Selected_BorderColor);--fdAvatarBackgroundColor:var(--sapButton_Selected_Background);--fdAvatarColor:var(--sapButton_Selected_TextColor)}.fd-avatar--interactive.is-toggled.is-hover,.fd-avatar--interactive.is-toggled:hover,.fd-avatar[role=button].is-toggled.is-hover,.fd-avatar[role=button].is-toggled:hover,.fd-avatar[tabindex=\"0\"].is-toggled.is-hover,.fd-avatar[tabindex=\"0\"].is-toggled:hover{--fdAvatarBorderColor:var(--sapButton_Selected_Hover_BorderColor);--fdAvatarBackgroundColor:var(--sapButton_Selected_Hover_Background);--fdAvatarColor:var(--sapButton_Selected_TextColor)}.fd-avatar--interactive.is-focus,.fd-avatar--interactive:focus,.fd-avatar[role=button].is-focus,.fd-avatar[role=button]:focus,.fd-avatar[tabindex=\"0\"].is-focus,.fd-avatar[tabindex=\"0\"]:focus{padding:.125rem;z-index:5}.fd-avatar__zoom-icon{--fdAvatarZoomIconColor:var(--sapButton_Emphasized_TextColor);--fdAvatarZoomIconBorderColor:var(--sapButton_Emphasized_BorderColor);--fdAvatarZoomIconBackground:var(--sapButton_Emphasized_Background)}.fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar__zoom-icon[class*=sap-icon]{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background:inherit;background:var(--fdAvatarZoomIconBackground);border:.0625rem solid var(--fdAvatarZoomIconBorderColor);border-radius:inherit;border-radius:100%;color:inherit;color:var(--fdAvatarZoomIconColor);display:flex;font-size:inherit;font-size:var(--fdAvatarZoomIconFontSize);height:var(--fdAvatarZoomIconDimensions);justify-content:center;line-height:1;min-width:var(--fdAvatarZoomIconDimensions);position:absolute;width:var(--fdAvatarZoomIconDimensions);z-index:5}.fd-avatar__zoom-icon [class*=sap-icon] [class*=sap-icon],.fd-avatar__zoom-icon [class*=sap-icon][class*=sap-icon],.fd-avatar__zoom-icon[class*=sap-icon] [class*=sap-icon],.fd-avatar__zoom-icon[class*=sap-icon][class*=sap-icon]{bottom:var(--fdAvatarZoomIconPosition);right:var(--fdAvatarZoomIconPosition)}.fd-avatar__zoom-icon [class*=sap-icon] [class*=sap-icon][dir=rtl],.fd-avatar__zoom-icon [class*=sap-icon][class*=sap-icon][dir=rtl],.fd-avatar__zoom-icon[class*=sap-icon] [class*=sap-icon][dir=rtl],.fd-avatar__zoom-icon[class*=sap-icon][class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar__zoom-icon [class*=sap-icon] [class*=sap-icon],[dir=rtl] .fd-avatar__zoom-icon [class*=sap-icon][class*=sap-icon],[dir=rtl] .fd-avatar__zoom-icon[class*=sap-icon] [class*=sap-icon],[dir=rtl] .fd-avatar__zoom-icon[class*=sap-icon][class*=sap-icon]{left:var(--fdAvatarZoomIconPosition);right:auto}.fd-avatar__zoom-icon--positive{--fdAvatarZoomIconColor:var(--sapPositiveTextColor);--fdAvatarZoomIconBorderColor: ;--fdAvatarZoomIconBackground:var(--sapSuccessBackground)}.fd-avatar__zoom-icon--caution{--fdAvatarZoomIconColor:var(--sapCriticalTextColor);--fdAvatarZoomIconBorderColor: ;--fdAvatarZoomIconBackground:var(--sapWarningBackground)}.fd-avatar__zoom-icon--negative{--fdAvatarZoomIconColor:var(--sapNegativeTextColor);--fdAvatarZoomIconBorderColor: ;--fdAvatarZoomIconBackground:var(--sapErrorBackground)}.fd-avatar__zoom-icon--information{--fdAvatarZoomIconColor:var(--sapInformativeTextColor);--fdAvatarZoomIconBorderColor: ;--fdAvatarZoomIconBackground:var(--sapInformationBackground)}.fd-avatar__icon [class*=sap-icon],.fd-avatar__icon[class*=sap-icon]{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-content:center;align-items:center;background:inherit;border-radius:inherit;color:inherit;display:flex;font-size:inherit;justify-content:center;line-height:1}.fd-avatar--circle{--fdAvatarBorderRadius:100%}.fd-avatar--circle.is-focus,.fd-avatar--circle:focus{outline:none}.fd-avatar--circle.is-focus:after,.fd-avatar--circle:focus:after{border-color:var(--sapContent_FocusColor);border-radius:var(--fdAvatar_Focus_Outline_Radius_Circle);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);bottom:var(--fdAvatar_Focus_Outline_Offset);content:\"\";left:var(--fdAvatar_Focus_Outline_Offset);pointer-events:none;position:absolute;right:var(--fdAvatar_Focus_Outline_Offset);top:var(--fdAvatar_Focus_Outline_Offset)}.fd-avatar--background-contain{--fdAvatarBackgroundSize:contain}.fd-avatar--transparent{--fdAvatarBorderColor:var(--fdAvatar_Transparent_BorderColor);--fdAvatarBackgroundColor:var(--fdAvatar_Transparent_BackgroundColor);--fdAvatarColor:var(--sapContent_IconColor);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Transparent_BackgroundColor_Hover);--fdAvatarHoverBorderColor:var(--sapContent_IconColor)}.fd-avatar--tile{--fdAvatarBorderColor:var(--fdAvatar_Tile_BorderColor);--fdAvatarBackgroundColor:var(--fdAvatar_Tile_BackgroundColor);--fdAvatarColor:var(--fdAvatar_Tile_TextColor);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Tile_BackgroundColor_Hover);--fdAvatarHoverBorderColor:var(--sapTile_IconColor)}.fd-avatar--placeholder{--fdAvatarBorderColor:var(--fdAvatar_Placeholder_BorderColor);--fdAvatarBackgroundColor:var(--sapContent_ImagePlaceholderBackground);--fdAvatarColor:var(--sapContent_ImagePlaceholderForegroundColor);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Placeholder_BackgroundColor_Hover);--fdAvatarHoverBorderColor:var(--sapContent_ImagePlaceholderForegroundColor)}.fd-avatar--thumbnail{--fdAvatarBorderColor:var(--fdAvatar_Thumbnail_BorderColor);--fdAvatarHoverBorderColor:var(--sapAvatar_10_TextColor);--fdAvatarBackgroundColor:var(--fdAvatar_Transparent_BackgroundColor)}.fd-avatar--border{--fdAvatarBorderColor:var(--sapGroup_ContentBorderColor)}.fd-avatar--border.is-active,.fd-avatar--border:active{--fdAvatarBorderColor:var(--sapButton_Selected_BorderColor);--fdAvatarBackgroundColor:var(--sapButton_Selected_Background)}.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Overflow_BorderColor);--fdAvatarBackgroundColor:var(--fdAvatar_Overflow_BackgroundColor);--fdAvatarColor:var(--fdAvatar_Overflow_TextColor);--fdAvatarHoverBackgroundColor:var(--sapButton_Hover_Background);--fdAvatarHoverBorderColor:var(--sapButton_Hover_BorderColor);border-width:var(--fdAvatar_Overflow_Border_Width);cursor:pointer}.fd-avatar--overflow.is-hover,.fd-avatar--overflow:hover{--fdAvatarColor:var(--sapButton_Hover_TextColor)}.fd-avatar--overflow.is-disabled,.fd-avatar--overflow:disabled,.fd-avatar--overflow[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity)}.fd-avatar--overflow.is-active,.fd-avatar--overflow:active{--fdAvatarBorderColor:var(--sapButton_Active_BorderColor);--fdAvatarBackgroundColor:var(--sapButton_Active_Background);--fdAvatarColor:var(--sapButton_Active_TextColor)}.fd-avatar--accent-color-1,.fd-avatar--accent-color-1.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_1_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_1_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_1);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_1_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_1)}.fd-avatar--accent-color-2,.fd-avatar--accent-color-2.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_2_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_2_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_2);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_2_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_2)}.fd-avatar--accent-color-3,.fd-avatar--accent-color-3.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_3_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_3_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_3);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_3_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_3)}.fd-avatar--accent-color-4,.fd-avatar--accent-color-4.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_4_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_4_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_4);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_4_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_4)}.fd-avatar--accent-color-5,.fd-avatar--accent-color-5.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_5_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_5_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_5);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_5_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_5)}.fd-avatar--accent-color-6,.fd-avatar--accent-color-6.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_6_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_6_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_6);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_6_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_6)}.fd-avatar--accent-color-7,.fd-avatar--accent-color-7.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_7_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_7_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_7);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_7_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_7)}.fd-avatar--accent-color-8,.fd-avatar--accent-color-8.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_8_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_8_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_8);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_8_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_8)}.fd-avatar--accent-color-9,.fd-avatar--accent-color-9.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_9_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_9_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_9);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_9_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_9)}.fd-avatar--accent-color-10,.fd-avatar--accent-color-10.fd-avatar--overflow{--fdAvatarBorderColor:var(--fdAvatar_Accent_Color_10_Border);--fdAvatarColor:var(--fdAvatar_Accent_Color_10_Text);--fdAvatarBackgroundColor:var(--fdAvatar_Accent_Color_10);--fdAvatarHoverBorderColor:var(--fdAvatar_Accent_Color_10_Border_Color_Hover);--fdAvatarHoverBackgroundColor:var(--fdAvatar_Accent_Color_Hover_10)}.fd-avatar--xs{--fdAvatarZoomIconOffset:-.125rem;--fdAvatarRatio:2rem;--fdAvatarFontSize:1rem;--fdAvatarFontStretch:condensed}.fd-avatar--xs .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xs .fd-avatar__zoom-icon[class*=sap-icon]{--fdAvatarZoomIconDimensions:1.125rem;--fdAvatarZoomIconFontSize:.75rem}.fd-avatar--s{--fdAvatarZoomIconOffset:-.125rem;--fdAvatarRatio:3rem;--fdAvatarFontSize:1.125rem;--fdAvatarFontStretch:condensed}.fd-avatar--s .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--s .fd-avatar__zoom-icon[class*=sap-icon]{--fdAvatarZoomIconDimensions:1.125rem;--fdAvatarZoomIconFontSize:.75rem}.fd-avatar--m{--fdAvatarZoomIconOffset:-.125rem;--fdAvatarRatio:4rem;--fdAvatarFontSize:1.5rem;--fdAvatarFontStretch:normal}.fd-avatar--m .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--m .fd-avatar__zoom-icon[class*=sap-icon]{--fdAvatarZoomIconDimensions:1.125rem;--fdAvatarZoomIconFontSize:.75rem}.fd-avatar--l{--fdAvatarZoomIconOffset:-.1875rem;--fdAvatarRatio:5rem;--fdAvatarFontSize:2.25rem;--fdAvatarFontStretch:normal}.fd-avatar--l .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--l .fd-avatar__zoom-icon[class*=sap-icon]{--fdAvatarZoomIconDimensions:1.25rem;--fdAvatarZoomIconFontSize:.875rem}.fd-avatar--xl{--fdAvatarZoomIconOffset:-.25rem;--fdAvatarRatio:7rem;--fdAvatarFontSize:3rem;--fdAvatarFontStretch:normal}.fd-avatar--xl .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xl .fd-avatar__zoom-icon[class*=sap-icon]{--fdAvatarZoomIconDimensions:1.75rem;--fdAvatarZoomIconFontSize:1rem}.fd-avatar--accent-color-1.fd-avatar--shell,.fd-avatar--accent-color-10.fd-avatar--shell,.fd-avatar--accent-color-2.fd-avatar--shell,.fd-avatar--accent-color-3.fd-avatar--shell,.fd-avatar--accent-color-4.fd-avatar--shell,.fd-avatar--accent-color-5.fd-avatar--shell,.fd-avatar--accent-color-6.fd-avatar--shell,.fd-avatar--accent-color-7.fd-avatar--shell,.fd-avatar--accent-color-8.fd-avatar--shell,.fd-avatar--accent-color-9.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--l,.fd-avatar--m,.fd-avatar--s,.fd-avatar--xl,.fd-avatar--xs{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;justify-content:center;margin:0;padding:0}.fd-avatar--l:not(.fd-avatar--circle),.fd-avatar--m:not(.fd-avatar--circle),.fd-avatar--s:not(.fd-avatar--circle),.fd-avatar--xl:not(.fd-avatar--circle),.fd-avatar--xs:not(.fd-avatar--circle){--fdAvatarZoomIconPosition:var(--fdAvatarZoomIconOffset)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AvatarIconPipe, name: "fdAvatarIcon" }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
323
323
  }
324
324
  __decorate([
325
325
  applyCssClass,
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-avatar.mjs","sources":["../../../../libs/core/src/lib/avatar/avatar-icon.pipe.ts","../../../../libs/core/src/lib/avatar/tokens.ts","../../../../libs/core/src/lib/avatar/avatar.component.ts","../../../../libs/core/src/lib/avatar/avatar.component.html","../../../../libs/core/src/lib/avatar/avatar.module.ts","../../../../libs/core/src/lib/avatar/fundamental-ngx-core-avatar.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { AvatarValueStates } from './avatar-value-states.type';\n\n@Pipe({\n name: 'fdAvatarIcon',\n pure: true,\n standalone: true\n})\nexport class AvatarIconPipe implements PipeTransform {\n /**\n * Selects appropriate Avatar icon based on Avatar Value state and fallback icon.\n */\n transform(valueState: Nullable<AvatarValueStates>, fallbackIcon: Nullable<string>): string {\n let computedIcon = '';\n if (!valueState) {\n computedIcon = fallbackIcon || '';\n }\n switch (valueState) {\n case 'positive':\n computedIcon = 'message-success';\n break;\n case 'caution':\n computedIcon = 'message-warning';\n break;\n case 'negative':\n computedIcon = 'message-error';\n break;\n case 'information':\n computedIcon = 'message-information';\n break;\n }\n\n return `sap-icon--${computedIcon} ${valueState ? 'fd-avatar__zoom-icon--' + valueState : ''}`;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FD_AVATAR_COMPONENT = new InjectionToken('FdAvatarComponent');\n","import { NgIf } from '@angular/common';\nimport {\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ANY_LANGUAGE_LETTERS_REGEX,\n ColorAccent,\n CssClassBuilder,\n Nullable,\n Size,\n applyCssClass,\n getRandomColorAccent\n} from '@fundamental-ngx/cdk/utils';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { AvatarIconPipe } from './avatar-icon.pipe';\nimport { AvatarValueStates } from './avatar-value-states.type';\nimport { FD_AVATAR_COMPONENT } from './tokens';\n\nlet avatarUniqueId = 0;\n\nconst ALTER_ICON_OPTIONS = {\n CONTENT: 'content',\n ALT: 'alt',\n BACKUP: 'backup',\n DEFAULT_ICON: 'default-icon'\n};\n\n@Component({\n selector: 'fd-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_AVATAR_COMPONENT,\n useExisting: AvatarComponent\n }\n ],\n host: {\n '[attr.tabindex]': '_tabindex'\n },\n standalone: true,\n imports: [NgIf, AvatarIconPipe, IconComponent]\n})\nexport class AvatarComponent implements OnChanges, OnInit, CssClassBuilder, OnChanges {\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Id of the Avatar. */\n @Input()\n @HostBinding('attr.id')\n id = `fd-avatar-${avatarUniqueId++}`;\n\n /** Aria-label for Avatar. */\n @Input()\n @HostBinding('attr.aria-label')\n @HostBinding('attr.alt')\n ariaLabel: Nullable<string> = null;\n\n /** Aria-Labelledby for element describing Avatar. */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledby: Nullable<string> = null;\n\n /** Localized text for label */\n @Input()\n set label(value: Nullable<string>) {\n this.ariaLabel = value || null;\n this.abbreviate = this._getAbbreviate(value);\n }\n\n /** The size of the Avatar. Options include: *xs*, *s*, *m*, *l* and *xl*. */\n @Input() size: Size = 'l';\n\n /** Font family of the icon. */\n @Input()\n font: IconComponent['font'] = 'SAP-icons';\n\n /** The glyph name. */\n @Input() glyph: Nullable<string> = null;\n\n /** The glyph name for zoom icon. */\n @Input() zoomGlyph: Nullable<string> = null;\n\n /** Whether to apply a circle style to the Avatar. */\n @Input() circle = false;\n\n /** Whether to apply a transparent style to the Avatar. */\n @Input() transparent = false;\n\n /** Whether to apply background size contain style to the Avatar */\n @Input() contain = false;\n\n /** Whether to apply a placeholder background style to the Avatar. */\n @Input() placeholder = false;\n\n /** Whether to apply a tile background style to the Avatar. */\n @Input() tile = false;\n\n /** Whether to apply a border to the Avatar. */\n @Input() border = false;\n\n /** A number from 1 to 10 representing the background color of the Avatar. */\n @Input() colorAccent: Nullable<ColorAccent> = null;\n\n /** Whether to apply random background color to the Avatar. */\n @Input() random = false;\n\n /** Whether component should be focusable & clicable */\n @Input() clickable = false;\n\n /** Value state of the Avatar. */\n @Input()\n valueState: Nullable<AvatarValueStates>;\n\n /** Background image resource: url or base64. */\n @Input()\n set image(value: Nullable<string>) {\n this._setImage(value);\n }\n get image(): Nullable<string> {\n return this._image;\n }\n\n /** Backup options to use when image hasn't been loaded successfully.\n * Options separated with \"|\" symbol.\n * Possible options: content, alt, backup, default-icon\n */\n @Input()\n set alterIcon(value: Nullable<string>) {\n this._alterIcon = value;\n }\n get alterIcon(): Nullable<string> {\n return this._alterIcon;\n }\n\n /** Backup image to load when image hasn't been loaded successfully.\n * Only applicable when using alterIcon input property.\n */\n @Input()\n set backupImage(value: Nullable<string>) {\n this._backupImage = value;\n }\n get backupImage(): Nullable<string> {\n return this._backupImage;\n }\n\n /** Event emitted when avatar clicked. Only fires if clickable input property set to true. */\n @Output() avatarClicked = new EventEmitter<Event>();\n\n /** Event emitted when zoom icon clicked. Only fires if zoomGlyph input property is set. */\n @Output() zoomGlyphClicked = new EventEmitter<void>();\n\n /**\n * @hidden\n */\n set bgImage(image: Nullable<string>) {\n this._bgImage = image;\n\n this._renderer.setStyle(this.elementRef.nativeElement, 'background-image', image);\n }\n\n get bgImage(): Nullable<string> {\n return this._bgImage;\n }\n\n /** @hidden */\n @HostBinding('attr.role')\n get role(): string {\n return this.zoomGlyph ? 'button' : 'img';\n }\n\n /** @hidden */\n @ViewChild('content')\n set content(value: ElementRef) {\n this._content = value;\n }\n\n /** @hidden */\n abbreviate: Nullable<string> = null;\n\n /** @hidden */\n private _image: Nullable<string> = null;\n\n /** @hidden */\n private _alterIcon: Nullable<string> = null;\n\n /** @hidden */\n private _content: Nullable<ElementRef> = null;\n\n /** @hidden */\n private _backupImage: Nullable<string> = null;\n\n /** @hidden */\n private _bgImage: Nullable<string> = null;\n\n /** @hidden */\n get _tabindex(): number | null {\n if (this.hostTabindex != null) {\n return this.hostTabindex;\n }\n return this.clickable ? 0 : null;\n }\n\n /** If a default placeholder should be displayed */\n get showDefault(): boolean {\n return !this.abbreviate && !this._image && !this.glyph;\n }\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _renderer: Renderer2,\n @Attribute('tabindex') private hostTabindex: number | null\n ) {}\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-avatar',\n this.size ? `fd-avatar--${this.size}` : '',\n this.colorAccent && !this.random ? `fd-avatar--accent-color-${this.colorAccent}` : '',\n this.random ? `fd-avatar--accent-color-${getRandomColorAccent()}` : '',\n this.circle ? 'fd-avatar--circle' : '',\n this.border ? 'fd-avatar--border' : '',\n this.transparent ? 'fd-avatar--transparent' : '',\n this.contain ? 'fd-avatar--background-contain' : '',\n this.placeholder ? 'fd-avatar--placeholder' : '',\n this.tile ? 'fd-avatar--tile' : '',\n this.class\n ];\n }\n\n /** @hidden */\n @HostListener('click', ['$event'])\n @HostListener('keydown.enter', ['$event'])\n @HostListener('keydown.space', ['$event'])\n _onClick(event: Event): void {\n if (!this.clickable) {\n return;\n }\n event.preventDefault();\n this.avatarClicked.emit(event);\n if (this.zoomGlyph) {\n this.zoomGlyphClicked.next();\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n if (this.zoomGlyph) {\n this.clickable = true;\n }\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n zoomClicked(event: Event): void {\n event.preventDefault();\n this.elementRef.nativeElement.focus();\n this.zoomGlyphClicked.next();\n }\n\n /** @hidden Get an abbreviate from the label or return null if not fit requirements */\n private _getAbbreviate(label: Nullable<string>): string | null {\n if (!label || this._image) {\n return null;\n }\n\n return this._generateAbbreviation(label);\n }\n\n /** @hidden Get the abbreviation string */\n private _generateAbbreviation(label: Nullable<string>): string | null {\n if (!label) {\n return null;\n }\n const maxLettersCount = 3;\n const firstLetters = label.split(' ').map((word) => word.charAt(0));\n const abbreviate = firstLetters.join('');\n\n if (firstLetters.length > maxLettersCount || !abbreviate.match(ANY_LANGUAGE_LETTERS_REGEX)) {\n return null;\n }\n\n return abbreviate;\n }\n\n /** @hidden */\n private _setImage(value: Nullable<string>): void {\n this._image = value;\n\n if (value) {\n this._verifyImageUrl(value, (): void => {}, this._onErrorCallback);\n } else {\n this.bgImage = null;\n }\n }\n\n /** @hidden */\n private _verifyImageUrl(srcValue: string, onLoadCallback: () => void, onErrorCallback: () => void): void {\n // Don't load the same image all the time check happens\n if (srcValue === this.bgImage) {\n return;\n }\n const img = new Image();\n img.onload = onLoadCallback.bind(this);\n img.onerror = onErrorCallback.bind(this);\n img.src = srcValue;\n this._assignBgImage(srcValue);\n }\n\n /** @hidden */\n private _assignBgImage(srcValue: Nullable<string>): void {\n this.bgImage = srcValue ? `url(${srcValue})` : null;\n }\n\n /** @hidden */\n private _onErrorCallback(): void {\n if (!this._alterIcon) {\n this._showDefaultIcon();\n return;\n }\n\n const options = this._alterIcon.split('|');\n for (let i = 0; i < options.length; i++) {\n const option = options[i];\n\n if (option === ALTER_ICON_OPTIONS.CONTENT) {\n const contentValue = this._content?.nativeElement.textContent;\n if (contentValue) {\n this.abbreviate = this._generateAbbreviation(contentValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.ALT) {\n const altValue = this.elementRef.nativeElement.getAttribute('alt');\n if (altValue) {\n this.abbreviate = this._generateAbbreviation(altValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.BACKUP) {\n if (this._backupImage && this._backupImage !== '') {\n // Check if backupImage can be loaded successfully\n // If not, set default user icon\n this._verifyImageUrl(\n this._backupImage,\n () => {\n this._assignBgImage(this._backupImage);\n },\n () => {\n this._showDefaultIcon();\n }\n );\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.DEFAULT_ICON) {\n this._showDefaultIcon();\n break;\n }\n\n this._showDefaultIcon();\n }\n }\n\n /** @hidden */\n private _showDefaultIcon(): void {\n this.abbreviate = null;\n this._image = null;\n this.glyph = null;\n this._cdr.markForCheck();\n }\n}\n","<ng-container *ngIf=\"abbreviate\">{{ abbreviate }}</ng-container>\n\n<i\n *ngIf=\"zoomGlyph || valueState\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"valueState | fdAvatarIcon : zoomGlyph\"\n (mousedown)=\"zoomClicked($event)\"\n>\n</i>\n\n<fd-icon\n *ngIf=\"glyph || showDefault\"\n class=\"fd-avatar__icon\"\n role=\"presentation\"\n [font]=\"font\"\n [glyph]=\"glyph || 'person-placeholder'\"\n></fd-icon>\n\n<div #content [style.display]=\"'none'\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { AvatarComponent } from './avatar.component';\n\n/**\n * @deprecated\n * Use `AvatarComponent` import instead.\n */\n@NgModule({\n imports: [AvatarComponent],\n exports: [AvatarComponent]\n})\nexport class AvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-avatar.mjs","sources":["../../../../libs/core/src/lib/avatar/avatar-icon.pipe.ts","../../../../libs/core/src/lib/avatar/tokens.ts","../../../../libs/core/src/lib/avatar/avatar.component.ts","../../../../libs/core/src/lib/avatar/avatar.component.html","../../../../libs/core/src/lib/avatar/avatar.module.ts","../../../../libs/core/src/lib/avatar/fundamental-ngx-core-avatar.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { AvatarValueStates } from './avatar-value-states.type';\n\n@Pipe({\n name: 'fdAvatarIcon',\n pure: true,\n standalone: true\n})\nexport class AvatarIconPipe implements PipeTransform {\n /**\n * Selects appropriate Avatar icon based on Avatar Value state and fallback icon.\n */\n transform(valueState: Nullable<AvatarValueStates>, fallbackIcon: Nullable<string>): string {\n let computedIcon = '';\n if (!valueState) {\n computedIcon = fallbackIcon || '';\n }\n switch (valueState) {\n case 'positive':\n computedIcon = 'message-success';\n break;\n case 'caution':\n computedIcon = 'message-warning';\n break;\n case 'negative':\n computedIcon = 'message-error';\n break;\n case 'information':\n computedIcon = 'message-information';\n break;\n }\n\n return `sap-icon--${computedIcon} ${valueState ? 'fd-avatar__zoom-icon--' + valueState : ''}`;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FD_AVATAR_COMPONENT = new InjectionToken('FdAvatarComponent');\n","import { NgIf } from '@angular/common';\nimport {\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ANY_LANGUAGE_LETTERS_REGEX,\n ColorAccent,\n CssClassBuilder,\n Nullable,\n Size,\n applyCssClass,\n getRandomColorAccent\n} from '@fundamental-ngx/cdk/utils';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { AvatarIconPipe } from './avatar-icon.pipe';\nimport { AvatarValueStates } from './avatar-value-states.type';\nimport { FD_AVATAR_COMPONENT } from './tokens';\n\nlet avatarUniqueId = 0;\n\nconst ALTER_ICON_OPTIONS = {\n CONTENT: 'content',\n ALT: 'alt',\n BACKUP: 'backup',\n DEFAULT_ICON: 'default-icon'\n};\n\n@Component({\n selector: 'fd-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_AVATAR_COMPONENT,\n useExisting: AvatarComponent\n }\n ],\n host: {\n '[attr.tabindex]': '_tabindex'\n },\n standalone: true,\n imports: [NgIf, AvatarIconPipe, IconComponent]\n})\nexport class AvatarComponent implements OnChanges, OnInit, CssClassBuilder, OnChanges {\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Id of the Avatar. */\n @Input()\n @HostBinding('attr.id')\n id = `fd-avatar-${avatarUniqueId++}`;\n\n /** Aria-label for Avatar. */\n @Input()\n @HostBinding('attr.aria-label')\n @HostBinding('attr.alt')\n ariaLabel: Nullable<string> = null;\n\n /** Aria-Labelledby for element describing Avatar. */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledby: Nullable<string> = null;\n\n /** Localized text for label */\n @Input()\n set label(value: Nullable<string>) {\n this.ariaLabel = value || null;\n this.abbreviate = this._getAbbreviate(value);\n }\n\n /** The size of the Avatar. Options include: *xs*, *s*, *m*, *l* and *xl*. */\n @Input() size: Size = 'l';\n\n /** Font family of the icon. */\n @Input()\n font: IconComponent['font'] = 'SAP-icons';\n\n /** The glyph name. */\n @Input() glyph: Nullable<string> = null;\n\n /** The glyph name for zoom icon. */\n @Input() zoomGlyph: Nullable<string> = null;\n\n /** Whether to apply a circle style to the Avatar. */\n @Input() circle = false;\n\n /** Whether to apply a transparent style to the Avatar. */\n @Input() transparent = false;\n\n /** Whether to apply background size contain style to the Avatar */\n @Input() contain = false;\n\n /** Whether to apply a placeholder background style to the Avatar. */\n @Input() placeholder = false;\n\n /** Whether to apply a tile background style to the Avatar. */\n @Input() tile = false;\n\n /** Whether to apply a border to the Avatar. */\n @Input() border = false;\n\n /** A number from 1 to 10 representing the background color of the Avatar. */\n @Input() colorAccent: Nullable<ColorAccent> = null;\n\n /** Whether to apply random background color to the Avatar. */\n @Input() random = false;\n\n /** Whether component should be focusable & clicable */\n @Input() clickable = false;\n\n /** Value state of the Avatar. */\n @Input()\n valueState: Nullable<AvatarValueStates>;\n\n /** Background image resource: url or base64. */\n @Input()\n set image(value: Nullable<string>) {\n this._setImage(value);\n }\n get image(): Nullable<string> {\n return this._image;\n }\n\n /** Backup options to use when image hasn't been loaded successfully.\n * Options separated with \"|\" symbol.\n * Possible options: content, alt, backup, default-icon\n */\n @Input()\n set alterIcon(value: Nullable<string>) {\n this._alterIcon = value;\n }\n get alterIcon(): Nullable<string> {\n return this._alterIcon;\n }\n\n /** Backup image to load when image hasn't been loaded successfully.\n * Only applicable when using alterIcon input property.\n */\n @Input()\n set backupImage(value: Nullable<string>) {\n this._backupImage = value;\n }\n get backupImage(): Nullable<string> {\n return this._backupImage;\n }\n\n /** Event emitted when avatar clicked. Only fires if clickable input property set to true. */\n @Output() avatarClicked = new EventEmitter<Event>();\n\n /** Event emitted when zoom icon clicked. Only fires if zoomGlyph input property is set. */\n @Output() zoomGlyphClicked = new EventEmitter<void>();\n\n /**\n * @hidden\n */\n set bgImage(image: Nullable<string>) {\n this._bgImage = image;\n\n this._renderer.setStyle(this.elementRef.nativeElement, 'background-image', image);\n }\n\n get bgImage(): Nullable<string> {\n return this._bgImage;\n }\n\n /** @hidden */\n @HostBinding('attr.role')\n get role(): string {\n return this.zoomGlyph ? 'button' : 'img';\n }\n\n /** @hidden */\n @ViewChild('content')\n set content(value: ElementRef) {\n this._content = value;\n }\n\n /** @hidden */\n abbreviate: Nullable<string> = null;\n\n /** @hidden */\n private _image: Nullable<string> = null;\n\n /** @hidden */\n private _alterIcon: Nullable<string> = null;\n\n /** @hidden */\n private _content: Nullable<ElementRef> = null;\n\n /** @hidden */\n private _backupImage: Nullable<string> = null;\n\n /** @hidden */\n private _bgImage: Nullable<string> = null;\n\n /** @hidden */\n get _tabindex(): number | null {\n if (this.hostTabindex != null) {\n return this.hostTabindex;\n }\n return this.clickable ? 0 : null;\n }\n\n /** If a default placeholder should be displayed */\n get showDefault(): boolean {\n return !this.abbreviate && !this._image && !this.glyph;\n }\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _renderer: Renderer2,\n @Attribute('tabindex') private hostTabindex: number | null\n ) {}\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-avatar',\n this.size ? `fd-avatar--${this.size}` : '',\n this.colorAccent && !this.random ? `fd-avatar--accent-color-${this.colorAccent}` : '',\n this.random ? `fd-avatar--accent-color-${getRandomColorAccent()}` : '',\n this.circle ? 'fd-avatar--circle' : '',\n this.border ? 'fd-avatar--border' : '',\n this.transparent ? 'fd-avatar--transparent' : '',\n this.contain ? 'fd-avatar--background-contain' : '',\n this.placeholder ? 'fd-avatar--placeholder' : '',\n this.tile ? 'fd-avatar--tile' : '',\n this.class\n ];\n }\n\n /** @hidden */\n @HostListener('click', ['$event'])\n @HostListener('keydown.enter', ['$event'])\n @HostListener('keydown.space', ['$event'])\n _onClick(event: Event): void {\n if (!this.clickable) {\n return;\n }\n event.preventDefault();\n this.avatarClicked.emit(event);\n if (this.zoomGlyph) {\n this.zoomGlyphClicked.next();\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n if (this.zoomGlyph) {\n this.clickable = true;\n }\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n zoomClicked(event: Event): void {\n event.preventDefault();\n this.elementRef.nativeElement.focus();\n this.zoomGlyphClicked.next();\n }\n\n /** @hidden Get an abbreviate from the label or return null if not fit requirements */\n private _getAbbreviate(label: Nullable<string>): string | null {\n if (!label || this._image) {\n return null;\n }\n\n return this._generateAbbreviation(label);\n }\n\n /** @hidden Get the abbreviation string */\n private _generateAbbreviation(label: Nullable<string>): string | null {\n if (!label) {\n return null;\n }\n const maxLettersCount = 3;\n const firstLetters = label.split(' ').map((word) => word.charAt(0));\n const abbreviate = firstLetters.join('');\n\n if (firstLetters.length > maxLettersCount || !abbreviate.match(ANY_LANGUAGE_LETTERS_REGEX)) {\n return null;\n }\n\n return abbreviate;\n }\n\n /** @hidden */\n private _setImage(value: Nullable<string>): void {\n this._image = value;\n\n if (value) {\n this._verifyImageUrl(value, (): void => {}, this._onErrorCallback);\n } else {\n this.bgImage = null;\n }\n }\n\n /** @hidden */\n private _verifyImageUrl(srcValue: string, onLoadCallback: () => void, onErrorCallback: () => void): void {\n // Don't load the same image all the time check happens\n if (srcValue === this.bgImage) {\n return;\n }\n const img = new Image();\n img.onload = onLoadCallback.bind(this);\n img.onerror = onErrorCallback.bind(this);\n img.src = srcValue;\n this._assignBgImage(srcValue);\n }\n\n /** @hidden */\n private _assignBgImage(srcValue: Nullable<string>): void {\n this.bgImage = srcValue ? `url(${srcValue})` : null;\n }\n\n /** @hidden */\n private _onErrorCallback(): void {\n if (!this._alterIcon) {\n this._showDefaultIcon();\n return;\n }\n\n const options = this._alterIcon.split('|');\n for (let i = 0; i < options.length; i++) {\n const option = options[i];\n\n if (option === ALTER_ICON_OPTIONS.CONTENT) {\n const contentValue = this._content?.nativeElement.textContent;\n if (contentValue) {\n this.abbreviate = this._generateAbbreviation(contentValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.ALT) {\n const altValue = this.elementRef.nativeElement.getAttribute('alt');\n if (altValue) {\n this.abbreviate = this._generateAbbreviation(altValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.BACKUP) {\n if (this._backupImage && this._backupImage !== '') {\n // Check if backupImage can be loaded successfully\n // If not, set default user icon\n this._verifyImageUrl(\n this._backupImage,\n () => {\n this._assignBgImage(this._backupImage);\n },\n () => {\n this._showDefaultIcon();\n }\n );\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.DEFAULT_ICON) {\n this._showDefaultIcon();\n break;\n }\n\n this._showDefaultIcon();\n }\n }\n\n /** @hidden */\n private _showDefaultIcon(): void {\n this.abbreviate = null;\n this._image = null;\n this.glyph = null;\n this._cdr.markForCheck();\n }\n}\n","<ng-container *ngIf=\"abbreviate\">{{ abbreviate }}</ng-container>\n\n<i\n *ngIf=\"zoomGlyph || valueState\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"valueState | fdAvatarIcon : zoomGlyph\"\n (mousedown)=\"zoomClicked($event)\"\n>\n</i>\n\n<fd-icon\n *ngIf=\"glyph || showDefault\"\n class=\"fd-avatar__icon\"\n role=\"presentation\"\n [font]=\"font\"\n [glyph]=\"glyph || 'person-placeholder'\"\n></fd-icon>\n\n<div #content [style.display]=\"'none'\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { AvatarComponent } from './avatar.component';\n\n/**\n * @deprecated\n * Use `AvatarComponent` import instead.\n */\n@NgModule({\n imports: [AvatarComponent],\n exports: [AvatarComponent]\n})\nexport class AvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -200,7 +200,7 @@ class BreadcrumbComponent {
200
200
  provide: FD_BREADCRUMB_COMPONENT,
201
201
  useExisting: BreadcrumbComponent
202
202
  }
203
- ], queries: [{ propertyName: "_contentItems", predicate: FD_BREADCRUMB_ITEM_COMPONENT }], viewQueries: [{ propertyName: "_menuComponent", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "_overflowLayout", first: true, predicate: OverflowLayoutComponent, descendants: true }], ngImport: i0, template: "<fd-overflow-layout\n [reverseHiddenItems]=\"!reverse\"\n showMorePosition=\"left\"\n [enableKeyboardNavigation]=\"false\"\n (visibleItemsCount)=\"_onVisibleItemsCountChange($event)\"\n (hiddenItemsCount)=\"_onHiddenItemsCountChange($event)\"\n>\n <ng-container *ngFor=\"let breadcrumb of _items\">\n <div\n *fdOverflowItemRef=\"breadcrumb; let hidden\"\n fdOverflowLayoutItem\n (hiddenChange)=\"_onHiddenChange($event, breadcrumb)\"\n >\n <ng-template [cdkPortalOutlet]=\"breadcrumb.portal\"></ng-template>\n </div>\n </ng-container>\n <ng-container *fdOverflowExpand=\"let breadcrumbs; items: _items\">\n <fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"_placement$ | async\">\n <ng-container *ngFor=\"let breadcrumbItem of breadcrumbs\">\n <li\n fd-menu-item\n [disabled]=\"\n breadcrumbItem.item.breadcrumbLink ? breadcrumbItem.item.breadcrumbLink.disabled : false\n \"\n >\n <a\n fd-menu-interactive\n (click)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.enter)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.space)=\"itemClicked(breadcrumbItem.item, $event)\"\n >\n <ng-container *ngIf=\"breadcrumbItem?.item.breadcrumbLink; else portalContent\">\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\">\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n </ng-container>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.item.linkContentPortal\"></ng-container>\n </span>\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\">\n <fd-menu-addon\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\"\n ></fd-menu-addon>\n </ng-container>\n </ng-container>\n <ng-template #portalContent>\n <span fd-menu-title>\n <ng-container\n [cdkPortalOutlet]=\"breadcrumbItem.item.breadcrumbItemPortal\"\n ></ng-container>\n </span>\n </ng-template>\n </a>\n </li>\n </ng-container>\n </fd-menu>\n <span class=\"fd-breadcrumb__item\" *ngIf=\"breadcrumbs.length > 0\" [fdMenuTrigger]=\"menu\">\n <a\n fd-link\n [attr.aria-label]=\"'coreBreadcrumb.overflowTitleMore' | fdTranslate\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"_keyDownHandle($event)\"\n (keydown.space)=\"_keyDownHandle($event)\"\n >\n <fd-icon\n glyph=\"overflow\"\n [title]=\"'coreBreadcrumb.overflowTitleMore' | fdTranslate\"\n [ariaLabel]=\"'coreBreadcrumb.overflowTitleMore' | fdTranslate\"\n ></fd-icon>\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n </span>\n </ng-container>\n</fd-overflow-layout>\n\n<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-breadcrumb{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-breadcrumb:after,.fd-breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-breadcrumb__item:after,.fd-breadcrumb__item:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item:after{color:var(--sapContent_LabelColor);content:\"/\";margin-left:.25rem;margin-right:.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{display:flex;white-space:nowrap}.fd-breadcrumb .fd-breadcrumb__collapsed{cursor:pointer}.fd-breadcrumb .fd-overflow-layout{justify-content:start}.fd-breadcrumb .fd-breadcrumb__item:last-child:after{content:\"/\"}.fd-breadcrumb .fd-overflow-layout__item--last .fd-breadcrumb__item:after{content:none}\n"], dependencies: [{ kind: "component", type: OverflowLayoutComponent, selector: "fd-overflow-layout", inputs: ["maxVisibleItems", "navigationTrigger", "showMorePosition", "reverseHiddenItems", "enableKeyboardNavigation", "moreItemsButtonText"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: OverflowItemRefDirective, selector: "[fdOverflowItemRef]", inputs: ["fdOverflowItemRef"] }, { kind: "directive", type: OverflowLayoutItemDirective, selector: "[fdOverflowLayoutItem]", inputs: ["forceVisibility"], outputs: ["hiddenChange"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: OverflowExpandDirective, selector: "[fdOverflowExpand]", inputs: ["fdOverflowExpandItems"] }, { kind: "component", type: MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "tabbableScrollbar", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: GlyphMenuAddonDirective, selector: "fd-menu-addon[glyph]", inputs: ["glyph"] }, { kind: "component", type: MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "submenuIndicator", "ariaHidden"] }, { kind: "directive", type: MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel", "ariaHidden"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
203
+ ], queries: [{ propertyName: "_contentItems", predicate: FD_BREADCRUMB_ITEM_COMPONENT }], viewQueries: [{ propertyName: "_menuComponent", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "_overflowLayout", first: true, predicate: OverflowLayoutComponent, descendants: true }], ngImport: i0, template: "<fd-overflow-layout\n [reverseHiddenItems]=\"!reverse\"\n showMorePosition=\"left\"\n [enableKeyboardNavigation]=\"false\"\n (visibleItemsCount)=\"_onVisibleItemsCountChange($event)\"\n (hiddenItemsCount)=\"_onHiddenItemsCountChange($event)\"\n>\n <ng-container *ngFor=\"let breadcrumb of _items\">\n <div\n *fdOverflowItemRef=\"breadcrumb; let hidden\"\n fdOverflowLayoutItem\n (hiddenChange)=\"_onHiddenChange($event, breadcrumb)\"\n >\n <ng-template [cdkPortalOutlet]=\"breadcrumb.portal\"></ng-template>\n </div>\n </ng-container>\n <ng-container *fdOverflowExpand=\"let breadcrumbs; items: _items\">\n <fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"_placement$ | async\">\n <ng-container *ngFor=\"let breadcrumbItem of breadcrumbs\">\n <li\n fd-menu-item\n [disabled]=\"\n breadcrumbItem.item.breadcrumbLink ? breadcrumbItem.item.breadcrumbLink.disabled : false\n \"\n >\n <a\n fd-menu-interactive\n (click)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.enter)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.space)=\"itemClicked(breadcrumbItem.item, $event)\"\n >\n <ng-container *ngIf=\"breadcrumbItem?.item.breadcrumbLink; else portalContent\">\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\">\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n </ng-container>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.item.linkContentPortal\"></ng-container>\n </span>\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\">\n <fd-menu-addon\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\"\n ></fd-menu-addon>\n </ng-container>\n </ng-container>\n <ng-template #portalContent>\n <span fd-menu-title>\n <ng-container\n [cdkPortalOutlet]=\"breadcrumbItem.item.breadcrumbItemPortal\"\n ></ng-container>\n </span>\n </ng-template>\n </a>\n </li>\n </ng-container>\n </fd-menu>\n <span class=\"fd-breadcrumb__item\" *ngIf=\"breadcrumbs.length > 0\" [fdMenuTrigger]=\"menu\">\n <a\n fd-link\n [attr.aria-label]=\"'coreBreadcrumb.overflowTitleMore' | fdTranslate\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"_keyDownHandle($event)\"\n (keydown.space)=\"_keyDownHandle($event)\"\n >\n <fd-icon\n glyph=\"overflow\"\n [title]=\"'coreBreadcrumb.overflowTitleMore' | fdTranslate\"\n [ariaLabel]=\"'coreBreadcrumb.overflowTitleMore' | fdTranslate\"\n ></fd-icon>\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n </span>\n </ng-container>\n</fd-overflow-layout>\n\n<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-breadcrumb{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-breadcrumb:after,.fd-breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-breadcrumb__item:after,.fd-breadcrumb__item:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item:after{color:var(--sapContent_LabelColor);content:\"/\";margin-left:.25rem;margin-right:.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{display:flex;white-space:nowrap}.fd-breadcrumb .fd-breadcrumb__collapsed{cursor:pointer}.fd-breadcrumb .fd-overflow-layout{justify-content:start}.fd-breadcrumb .fd-breadcrumb__item:last-child:after{content:\"/\"}.fd-breadcrumb .fd-overflow-layout__item--last .fd-breadcrumb__item:after{content:none}\n"], dependencies: [{ kind: "component", type: OverflowLayoutComponent, selector: "fd-overflow-layout", inputs: ["maxVisibleItems", "navigationTrigger", "showMorePosition", "reverseHiddenItems", "enableKeyboardNavigation", "moreItemsButtonText"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: OverflowItemRefDirective, selector: "[fdOverflowItemRef]", inputs: ["fdOverflowItemRef"] }, { kind: "directive", type: OverflowLayoutItemDirective, selector: "[fdOverflowLayoutItem]", inputs: ["forceVisibility"], outputs: ["hiddenChange"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: OverflowExpandDirective, selector: "[fdOverflowExpand]", inputs: ["fdOverflowExpandItems"] }, { kind: "component", type: MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "tabbableScrollbar", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: GlyphMenuAddonDirective, selector: "fd-menu-addon[glyph]", inputs: ["glyph"] }, { kind: "component", type: MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "submenuIndicator", "ariaHidden"] }, { kind: "directive", type: MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
204
204
  }
205
205
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: BreadcrumbComponent, decorators: [{
206
206
  type: Component,