@fundamental-ngx/btp 0.46.2-rc.13 → 0.46.2-rc.14

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.
@@ -49,7 +49,6 @@ export class NavigationContentStartComponent extends NavigationContentComponent
49
49
  this._scrollbar = inject(ScrollbarDirective);
50
50
  /** @hidden */
51
51
  this._destroyRef = inject(DestroyRef);
52
- this._scrollbar.overrideTabindex = false;
53
52
  effect(() => {
54
53
  if (!this._canTrackItems()) {
55
54
  return;
@@ -204,4 +203,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
204
203
  type: ViewChild,
205
204
  args: ['showMoreOverflowItem', { static: false, read: FdbNavigationListItemComponent }]
206
205
  }] } });
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1jb250ZW50LXN0YXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYnRwL25hdmlnYXRpb24vbmF2aWdhdGlvbi1jb250ZW50LXN0YXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvYnRwL25hdmlnYXRpb24vbmF2aWdhdGlvbi1jb250ZW50LXN0YXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1DQUFtQztBQUNuQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBWSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUNBQW1D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QUlWLDhCQUE4Qiw0R0N4RTVGLDJoQkFjQSw0Q0R1QlEsdUJBQXVCLG1HQUV2QixJQUFJLDZGQUNKLHVCQUF1QixvSEFDdkIsbUNBQW1DOzsyRkFpQjlCLCtCQUErQjtrQkExQjNDLFNBQVM7K0JBQ0ksOEJBQThCLGNBRTVCLElBQUksV0FDUDt3QkFDTCx1QkFBdUI7d0JBQ3ZCLDJCQUEyQjt3QkFDM0IsSUFBSTt3QkFDSix1QkFBdUI7d0JBQ3ZCLG1DQUFtQztxQkFDdEMsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLDBCQUEwQjs0QkFDbkMsV0FBVyxpQ0FBaUM7eUJBQy9DO3FCQUNKLFFBRUs7d0JBQ0YsS0FBSyxFQUFFLHdEQUF3RDt3QkFDL0QsbUJBQW1CLEVBQUUsR0FBRztxQkFDM0Isa0JBQ2UsQ0FBQyxrQkFBa0IsQ0FBQzswRUFLbkIsZ0JBQWdCO3NCQURoQyxlQUFlO3VCQUFDLDhCQUE4QixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFLckQsZ0JBQWdCO3NCQURoQyxlQUFlO3VCQUFDLDBCQUEwQjtnQkFLMUIsaUJBQWlCO3NCQURqQyxTQUFTO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUsxRCx3QkFBd0I7c0JBRG5DLFNBQVM7dUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSw4QkFBOEIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGVmZmVjdCxcbiAgICBpbmplY3QsXG4gICAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTnVsbGFibGUsIHJlc2l6ZU9ic2VydmFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBTY3JvbGxiYXJEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2Nyb2xsYmFyJztcbmltcG9ydCB7IFN1YmplY3QsIGFzeW5jU2NoZWR1bGVyLCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG9ic2VydmVPbiwgc3RhcnRXaXRoLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZkYk5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuL25hdmlnYXRpb24tY29tcG9uZW50LnRva2VuJztcbmltcG9ydCB7IE5hdmlnYXRpb25Db250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWNvbnRlbnQudG9rZW4nO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkxpbmtDb21wb25lbnQgfSBmcm9tICcuL25hdmlnYXRpb24tbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmRiTmF2aWdhdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tICcuL25hdmlnYXRpb24tbGlzdC1jb21wb25lbnQudG9rZW4nO1xuaW1wb3J0IHsgRmRiTmF2aWdhdGlvbkxpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWxpc3QtaXRlbS1jb21wb25lbnQudG9rZW4nO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkxpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWxpc3QvbmF2aWdhdGlvbi1saXN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE5hdmlnYXRpb25MaXN0T3ZlcmZsb3dJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWxpc3QvbmF2aWdhdGlvbi1saXN0LW92ZXJmbG93LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE5hdmlnYXRpb25MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWxpc3QvbmF2aWdhdGlvbi1saXN0LmNvbXBvbmVudCc7XG5cbmNvbnN0IEZEX05BVklHQVRJT05fT1ZFUkZMT1dfSVRFTV9DTEFTUyA9ICdmZC1uYXZpZ2F0aW9uX19jb250YWluZXItLWhpZGRlbi1vdmVyZmxvdyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRiLW5hdmlnYXRpb24tY29udGVudC1zdGFydCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24tY29udGVudC1zdGFydC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5hdmlnYXRpb25MaXN0Q29tcG9uZW50LFxuICAgICAgICBOYXZpZ2F0aW9uTGlzdEl0ZW1Db21wb25lbnQsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIE5hdmlnYXRpb25MaW5rQ29tcG9uZW50LFxuICAgICAgICBOYXZpZ2F0aW9uTGlzdE92ZXJmbG93SXRlbUNvbXBvbmVudFxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTmF2aWdhdGlvbkNvbnRlbnRDb21wb25lbnQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogTmF2aWdhdGlvbkNvbnRlbnRTdGFydENvbXBvbmVudFxuICAgICAgICB9XG4gICAgXSxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHlcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtbmF2aWdhdGlvbl9fY29udGFpbmVyIGZkLW5hdmlnYXRpb25fX2NvbnRhaW5lci0tdG9wJyxcbiAgICAgICAgJ1tzdHlsZS5mbGV4LWdyb3ddJzogJzEnXG4gICAgfSxcbiAgICBob3N0RGlyZWN0aXZlczogW1Njcm9sbGJhckRpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbkNvbnRlbnRTdGFydENvbXBvbmVudCBleHRlbmRzIE5hdmlnYXRpb25Db250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKEZkYk5hdmlnYXRpb25MaXN0SXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX25hdmlnYXRpb25JdGVtczogUXVlcnlMaXN0PEZkYk5hdmlnYXRpb25MaXN0SXRlbUNvbXBvbmVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oRmRiTmF2aWdhdGlvbkxpc3RDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbmF2aWdhdGlvbkxpc3RzOiBRdWVyeUxpc3Q8RmRiTmF2aWdhdGlvbkxpc3RDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdzaG93TW9yZU92ZXJmbG93TWVudScsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3Nob3dNb3JlT3ZlcmZsb3c6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdzaG93TW9yZU92ZXJmbG93SXRlbScsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogRmRiTmF2aWdhdGlvbkxpc3RJdGVtQ29tcG9uZW50IH0pXG4gICAgcHJpdmF0ZSBzZXQgX3Nob3dNb3JlT3ZlcmZsb3dJdGVtQ21wKHZhbHVlOiBOdWxsYWJsZTxGZGJOYXZpZ2F0aW9uTGlzdEl0ZW1Db21wb25lbnQ+KSB7XG4gICAgICAgIHRoaXMuc2hvd01vcmVPdmVyZmxvd0l0ZW0gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5yZWZyZXNoJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBsaW5rVGVtcGxhdGUgPSBpbmplY3QoRmRiTmF2aWdhdGlvbkNvbXBvbmVudCkuaG9tZUxpbmtUZW1wbGF0ZTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNob3dIb21lID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc2hvd092ZXJmbG93QnV0dG9uID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2hpZGRlbkl0ZW1zOiBGZGJOYXZpZ2F0aW9uTGlzdEl0ZW1Db21wb25lbnRbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvdmVycmlkZSByZWZyZXNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NhbGN1bGF0aW9uSW5Qcm9ncmVzcyA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jYW5UcmFja0l0ZW1zID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbmF2aWdhdGlvbkNvbXBvbmVudCA9IGluamVjdChGZGJOYXZpZ2F0aW9uQ29tcG9uZW50KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3Njcm9sbGJhciA9IGluamVjdChTY3JvbGxiYXJEaXJlY3RpdmUpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLl9zY3JvbGxiYXIub3ZlcnJpZGVUYWJpbmRleCA9IGZhbHNlO1xuXG4gICAgICAgIGVmZmVjdChcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX2NhblRyYWNrSXRlbXMoKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gYWxzbyBsaXN0ZW4gdG8gc25hcHBlZCBzdGF0ZS5cbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICAgICAgICAgICAgY29uc3Qgc25hcHBlZCA9IHRoaXMuX25hdmlnYXRpb25Db21wb25lbnQuaXNTbmFwcGVkKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9IDA7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NhbGN1bGF0ZVZpc2libGVJdGVtcygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jYW5UcmFja0l0ZW1zLnNldCh0cnVlKTtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbkl0ZW1zLmNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKHN0YXJ0V2l0aChudWxsKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaCQubmV4dCgpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLl9uYXZpZ2F0aW9uSXRlbXM/Lmxlbmd0aCA+IDApLFxuICAgICAgICAgICAgICAgIG9ic2VydmVPbihhc3luY1NjaGVkdWxlciksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jYWxjdWxhdGVWaXNpYmxlSXRlbXMoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHJlc2l6ZU9ic2VydmFibGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDMwKSxcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldiwgY3VycmVudCkgPT4gcHJldlswXS5jb250ZW50UmVjdC5oZWlnaHQgPT09IGN1cnJlbnRbMF0uY29udGVudFJlY3QuaGVpZ2h0KSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gIXRoaXMuX2NhbGN1bGF0aW9uSW5Qcm9ncmVzcyksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jYWxjdWxhdGVWaXNpYmxlSXRlbXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0TmF2aWdhdGFibGVJdGVtcygpOiBGZGJOYXZpZ2F0aW9uTGlzdEl0ZW1Db21wb25lbnRbXSB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5fbmF2aWdhdGlvbkl0ZW1zLnRvQXJyYXkoKTtcbiAgICAgICAgaWYgKHRoaXMuc2hvd01vcmVPdmVyZmxvd0l0ZW0pIHtcbiAgICAgICAgICAgIGl0ZW1zLnB1c2godGhpcy5zaG93TW9yZU92ZXJmbG93SXRlbSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc2hvd01vcmVPcGVuZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuc2hvd01vcmVPdmVyZmxvd0l0ZW0/LmlzT3BlbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NhbGN1bGF0ZVZpc2libGVJdGVtcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2NhbGN1bGF0aW9uSW5Qcm9ncmVzcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2NhbGN1bGF0aW9uSW5Qcm9ncmVzcyA9IHRydWU7XG4gICAgICAgIHRoaXMuX2hpZGRlbkl0ZW1zID0gW107XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIGlmICghdGhpcy5fbmF2aWdhdGlvbkNvbXBvbmVudC5pc1NuYXBwZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5fbmF2aWdhdGlvbkl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpdGVtLnNob3coKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zaG93T3ZlcmZsb3dCdXR0b24uc2V0KGZhbHNlKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NhbGN1bGF0aW9uSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoRkRfTkFWSUdBVElPTl9PVkVSRkxPV19JVEVNX0NMQVNTKTtcbiAgICAgICAgdGhpcy5zaG93T3ZlcmZsb3dCdXR0b24uc2V0KHRydWUpO1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICBsZXQgY2FuRGlzcGxheUl0ZW1zID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgY29udGFpbmVySGVpZ2h0ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcbiAgICAgICAgY29uc3Qgc2hvd01vcmVIZWlnaHQgPVxuICAgICAgICAgICAgKHRoaXMuc2hvd01vcmVPdmVyZmxvd0l0ZW0/LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQgfHwgMCkgKiAyO1xuICAgICAgICBjb25zdCBob21lRWxlbWVudFNpemUgPSB0aGlzLl9uYXZpZ2F0aW9uTGlzdHMudG9BcnJheSgpLnJlZHVjZSgoaGVpZ2h0LCBsaXN0KSA9PiB7XG4gICAgICAgICAgICBoZWlnaHQgKz0gbGlzdC5nZXRIb21lRWxlbWVudFNpemUoKS5oZWlnaHQ7XG4gICAgICAgICAgICByZXR1cm4gaGVpZ2h0O1xuICAgICAgICB9LCAwKTtcbiAgICAgICAgbGV0IHRvdGFsQXZhaWxhYmxlSGVpZ2h0ID0gY29udGFpbmVySGVpZ2h0IC0gc2hvd01vcmVIZWlnaHQgLSBob21lRWxlbWVudFNpemU7XG5cbiAgICAgICAgY29uc3QgaGlkZGVuRWxlbWVudHM6IEZkYk5hdmlnYXRpb25MaXN0SXRlbUNvbXBvbmVudFtdID0gW107XG5cbiAgICAgICAgY29uc3QgbmF2aWdhdGlvbkl0ZW1Hcm91cHMgPSB0aGlzLl9uYXZpZ2F0aW9uSXRlbXMucmVkdWNlKFxuICAgICAgICAgICAgKGFjYzogeyByb290OiBGZGJOYXZpZ2F0aW9uTGlzdEl0ZW1Db21wb25lbnRbXTsgY2hpbGRyZW46IEZkYk5hdmlnYXRpb25MaXN0SXRlbUNvbXBvbmVudFtdIH0sIGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtTGV2ZWwgPSBpdGVtLm5vcm1hbGl6ZWRMZXZlbCgpO1xuICAgICAgICAgICAgICAgIGlmIChpdGVtTGV2ZWwgPiAyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGFjY1tpdGVtTGV2ZWwgPT09IDEgPyAncm9vdCcgOiAnY2hpbGRyZW4nXS5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyByb290OiBbXSwgY2hpbGRyZW46IFtdIH1cbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaXRlbS5zaG93KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG5hdmlnYXRpb25JdGVtR3JvdXBzLmNoaWxkcmVuLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0uY2FsY3VsYXRlRXhwYW5kZWQoKTtcbiAgICAgICAgICAgIGlmICghY2FuRGlzcGxheUl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgaXRlbS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgaGlkZGVuRWxlbWVudHMucHVzaChpdGVtKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGl0ZW0uc2hvdygpO1xuXG4gICAgICAgICAgICB0b3RhbEF2YWlsYWJsZUhlaWdodCAtPSBpdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG5cbiAgICAgICAgICAgIGlmICh0b3RhbEF2YWlsYWJsZUhlaWdodCA8PSAwKSB7XG4gICAgICAgICAgICAgICAgY2FuRGlzcGxheUl0ZW1zID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaXRlbS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgaGlkZGVuRWxlbWVudHMucHVzaChpdGVtKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG5hdmlnYXRpb25JdGVtR3JvdXBzLnJvb3QuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaXRlbS5jaGVja1NlbGZIaWRkZW4oKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoRkRfTkFWSUdBVElPTl9PVkVSRkxPV19JVEVNX0NMQVNTKTtcblxuICAgICAgICB0aGlzLl9oYW5kbGVPdmVyZmxvd0l0ZW1zKGhpZGRlbkVsZW1lbnRzKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jYWxjdWxhdGlvbkluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgfSwgNSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9oYW5kbGVPdmVyZmxvd0l0ZW1zKGl0ZW1zOiBGZGJOYXZpZ2F0aW9uTGlzdEl0ZW1Db21wb25lbnRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dPdmVyZmxvd0J1dHRvbi5zZXQoaXRlbXMubGVuZ3RoID4gMCk7XG4gICAgICAgIHRoaXMuX2hpZGRlbkl0ZW1zID0gaXRlbXM7XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwidWxbZmRiLW5hdmlnYXRpb24tbGlzdF1cIj48L25nLWNvbnRlbnQ+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93T3ZlcmZsb3dCdXR0b24oKVwiPlxuICAgIDx1bCBmZGItbmF2aWdhdGlvbi1saXN0IGNsYXNzPVwiZmQtbmF2aWdhdGlvbl9fbGlzdC0tbm8tZ3Jvd1wiIFtzaG93SG9tZV09XCJmYWxzZVwiICNzaG93TW9yZU92ZXJmbG93TWVudT5cbiAgICAgICAgPGxpXG4gICAgICAgICAgICBmZGItbmF2aWdhdGlvbi1saXN0LW92ZXJmbG93LWl0ZW1cbiAgICAgICAgICAgIFthbHdheXNGb2N1c2FibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAjc2hvd01vcmVPdmVyZmxvd0l0ZW1cbiAgICAgICAgICAgIFtoaWRkZW5JdGVtc109XCJfaGlkZGVuSXRlbXNcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YSBmZGItbmF2aWdhdGlvbi1saW5rIGdseXBoPVwib3ZlcmZsb3dcIiBsYWJlbD1cIk1vcmUgSXRlbXNcIj48L2E+XG4gICAgICAgIDwvbGk+XG4gICAgPC91bD5cbjwvbmctY29udGFpbmVyPlxuIl19
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1jb250ZW50LXN0YXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYnRwL25hdmlnYXRpb24vbmF2aWdhdGlvbi1jb250ZW50LXN0YXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvYnRwL25hdmlnYXRpb24vbmF2aWdhdGlvbi1jb250ZW50LXN0YXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1DQUFtQztBQUNuQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBWSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUNBQW1D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QUFJLDZGQUNKLHVCQUF1QixvSEFDdkIsbUNBQW1DOzsyRkFpQjlCLCtCQUErQjtrQkExQjNDLFNBQVM7K0JBQ0ksOEJBQThCLGNBRTVCLElBQUksV0FDUDt3QkFDTCx1QkFBdUI7d0JBQ3ZCLDJCQUEyQjt3QkFDM0IsSUFBSTt3QkFDSix1QkFBdUI7d0JBQ3ZCLG1DQUFtQztxQkFDdEMsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLDBCQUEwQjs0QkFDbkMsV0FBVyxpQ0FBaUM7eUJBQy9DO3FCQUNKLFFBRUs7d0JBQ0YsS0FBSyxFQUFFLHdEQUF3RDt3QkFDL0QsbUJBQW1CLEVBQUUsR0FBRztxQkFDM0Isa0JBQ2UsQ0FBQyxrQkFBa0IsQ0FBQzswRUFLbkIsZ0JBQWdCO3NCQURoQyxlQUFlO3VCQUFDLDhCQUE4QixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFLckQsZ0JBQWdCO3NCQURoQyxlQUFlO3VCQUFDLDBCQUEwQjtnQkFLMUIsaUJBQWlCO3NCQURqQyxTQUFTO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUsxRCx3QkFBd0I7c0JBRG5DLFNBQVM7dUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSw4QkFBOEIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGVmZmVjdCxcbiAgICBpbmplY3QsXG4gICAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTnVsbGFibGUsIHJlc2l6ZU9ic2VydmFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBTY3JvbGxiYXJEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2Nyb2xsYmFyJztcbmltcG9ydCB7IFN1YmplY3QsIGFzeW5jU2NoZWR1bGVyLCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG9ic2VydmVPbiwgc3RhcnRXaXRoLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZkYk5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuL25hdmlnYXRpb24tY29tcG9uZW50LnRva2VuJztcbmltcG9ydCB7IE5hdmlnYXRpb25Db250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWNvbnRlbnQudG9rZW4nO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkxpbmtDb21wb25lbnQgfSBmcm9tICcuL25hdmlnYXRpb24tbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmRiTmF2aWdhdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tICcuL25hdmlnYXRpb24tbGlzdC1jb21wb25lbnQudG9rZW4nO1xuaW1wb3J0IHsgRmRiTmF2aWdhdGlvbkxpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWxpc3QtaXRlbS1jb21wb25lbnQudG9rZW4nO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkxpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWxpc3QvbmF2aWdhdGlvbi1saXN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE5hdmlnYXRpb25MaXN0T3ZlcmZsb3dJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWxpc3QvbmF2aWdhdGlvbi1saXN0LW92ZXJmbG93LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE5hdmlnYXRpb25MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWxpc3QvbmF2aWdhdGlvbi1saXN0LmNvbXBvbmVudCc7XG5cbmNvbnN0IEZEX05BVklHQVRJT05fT1ZFUkZMT1dfSVRFTV9DTEFTUyA9ICdmZC1uYXZpZ2F0aW9uX19jb250YWluZXItLWhpZGRlbi1vdmVyZmxvdyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRiLW5hdmlnYXRpb24tY29udGVudC1zdGFydCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24tY29udGVudC1zdGFydC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5hdmlnYXRpb25MaXN0Q29tcG9uZW50LFxuICAgICAgICBOYXZpZ2F0aW9uTGlzdEl0ZW1Db21wb25lbnQsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIE5hdmlnYXRpb25MaW5rQ29tcG9uZW50LFxuICAgICAgICBOYXZpZ2F0aW9uTGlzdE92ZXJmbG93SXRlbUNvbXBvbmVudFxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTmF2aWdhdGlvbkNvbnRlbnRDb21wb25lbnQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogTmF2aWdhdGlvbkNvbnRlbnRTdGFydENvbXBvbmVudFxuICAgICAgICB9XG4gICAgXSxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHlcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtbmF2aWdhdGlvbl9fY29udGFpbmVyIGZkLW5hdmlnYXRpb25fX2NvbnRhaW5lci0tdG9wJyxcbiAgICAgICAgJ1tzdHlsZS5mbGV4LWdyb3ddJzogJzEnXG4gICAgfSxcbiAgICBob3N0RGlyZWN0aXZlczogW1Njcm9sbGJhckRpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbkNvbnRlbnRTdGFydENvbXBvbmVudCBleHRlbmRzIE5hdmlnYXRpb25Db250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKEZkYk5hdmlnYXRpb25MaXN0SXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX25hdmlnYXRpb25JdGVtczogUXVlcnlMaXN0PEZkYk5hdmlnYXRpb25MaXN0SXRlbUNvbXBvbmVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oRmRiTmF2aWdhdGlvbkxpc3RDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbmF2aWdhdGlvbkxpc3RzOiBRdWVyeUxpc3Q8RmRiTmF2aWdhdGlvbkxpc3RDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdzaG93TW9yZU92ZXJmbG93TWVudScsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3Nob3dNb3JlT3ZlcmZsb3c6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdzaG93TW9yZU92ZXJmbG93SXRlbScsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogRmRiTmF2aWdhdGlvbkxpc3RJdGVtQ29tcG9uZW50IH0pXG4gICAgcHJpdmF0ZSBzZXQgX3Nob3dNb3JlT3ZlcmZsb3dJdGVtQ21wKHZhbHVlOiBOdWxsYWJsZTxGZGJOYXZpZ2F0aW9uTGlzdEl0ZW1Db21wb25lbnQ+KSB7XG4gICAgICAgIHRoaXMuc2hvd01vcmVPdmVyZmxvd0l0ZW0gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5yZWZyZXNoJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBsaW5rVGVtcGxhdGUgPSBpbmplY3QoRmRiTmF2aWdhdGlvbkNvbXBvbmVudCkuaG9tZUxpbmtUZW1wbGF0ZTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNob3dIb21lID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc2hvd092ZXJmbG93QnV0dG9uID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2hpZGRlbkl0ZW1zOiBGZGJOYXZpZ2F0aW9uTGlzdEl0ZW1Db21wb25lbnRbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvdmVycmlkZSByZWZyZXNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NhbGN1bGF0aW9uSW5Qcm9ncmVzcyA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jYW5UcmFja0l0ZW1zID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbmF2aWdhdGlvbkNvbXBvbmVudCA9IGluamVjdChGZGJOYXZpZ2F0aW9uQ29tcG9uZW50KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3Njcm9sbGJhciA9IGluamVjdChTY3JvbGxiYXJEaXJlY3RpdmUpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICBlZmZlY3QoXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9jYW5UcmFja0l0ZW1zKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGFsc28gbGlzdGVuIHRvIHNuYXBwZWQgc3RhdGUuXG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgICAgIGNvbnN0IHNuYXBwZWQgPSB0aGlzLl9uYXZpZ2F0aW9uQ29tcG9uZW50LmlzU25hcHBlZCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSAwO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jYWxjdWxhdGVWaXNpYmxlSXRlbXMoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYWxsb3dTaWduYWxXcml0ZXM6IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2FuVHJhY2tJdGVtcy5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuX25hdmlnYXRpb25JdGVtcy5jaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShzdGFydFdpdGgobnVsbCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZnJlc2gkLm5leHQoKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5fbmF2aWdhdGlvbkl0ZW1zPy5sZW5ndGggPiAwKSxcbiAgICAgICAgICAgICAgICBvYnNlcnZlT24oYXN5bmNTY2hlZHVsZXIpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2FsY3VsYXRlVmlzaWJsZUl0ZW1zKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICByZXNpemVPYnNlcnZhYmxlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSgzMCksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHByZXYsIGN1cnJlbnQpID0+IHByZXZbMF0uY29udGVudFJlY3QuaGVpZ2h0ID09PSBjdXJyZW50WzBdLmNvbnRlbnRSZWN0LmhlaWdodCksXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLl9jYWxjdWxhdGlvbkluUHJvZ3Jlc3MpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2FsY3VsYXRlVmlzaWJsZUl0ZW1zKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldE5hdmlnYXRhYmxlSXRlbXMoKTogRmRiTmF2aWdhdGlvbkxpc3RJdGVtQ29tcG9uZW50W10ge1xuICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMuX25hdmlnYXRpb25JdGVtcy50b0FycmF5KCk7XG4gICAgICAgIGlmICh0aGlzLnNob3dNb3JlT3ZlcmZsb3dJdGVtKSB7XG4gICAgICAgICAgICBpdGVtcy5wdXNoKHRoaXMuc2hvd01vcmVPdmVyZmxvd0l0ZW0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpdGVtcztcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNob3dNb3JlT3BlbmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnNob3dNb3JlT3ZlcmZsb3dJdGVtPy5pc09wZW47XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jYWxjdWxhdGVWaXNpYmxlSXRlbXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9jYWxjdWxhdGlvbkluUHJvZ3Jlc3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jYWxjdWxhdGlvbkluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgICAgICB0aGlzLl9oaWRkZW5JdGVtcyA9IFtdO1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICBpZiAoIXRoaXMuX25hdmlnYXRpb25Db21wb25lbnQuaXNTbmFwcGVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25JdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5zaG93KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuc2hvd092ZXJmbG93QnV0dG9uLnNldChmYWxzZSk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jYWxjdWxhdGlvbkluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKEZEX05BVklHQVRJT05fT1ZFUkZMT1dfSVRFTV9DTEFTUyk7XG4gICAgICAgIHRoaXMuc2hvd092ZXJmbG93QnV0dG9uLnNldCh0cnVlKTtcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgbGV0IGNhbkRpc3BsYXlJdGVtcyA9IHRydWU7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lckhlaWdodCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG4gICAgICAgIGNvbnN0IHNob3dNb3JlSGVpZ2h0ID1cbiAgICAgICAgICAgICh0aGlzLnNob3dNb3JlT3ZlcmZsb3dJdGVtPy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0IHx8IDApICogMjtcbiAgICAgICAgY29uc3QgaG9tZUVsZW1lbnRTaXplID0gdGhpcy5fbmF2aWdhdGlvbkxpc3RzLnRvQXJyYXkoKS5yZWR1Y2UoKGhlaWdodCwgbGlzdCkgPT4ge1xuICAgICAgICAgICAgaGVpZ2h0ICs9IGxpc3QuZ2V0SG9tZUVsZW1lbnRTaXplKCkuaGVpZ2h0O1xuICAgICAgICAgICAgcmV0dXJuIGhlaWdodDtcbiAgICAgICAgfSwgMCk7XG4gICAgICAgIGxldCB0b3RhbEF2YWlsYWJsZUhlaWdodCA9IGNvbnRhaW5lckhlaWdodCAtIHNob3dNb3JlSGVpZ2h0IC0gaG9tZUVsZW1lbnRTaXplO1xuXG4gICAgICAgIGNvbnN0IGhpZGRlbkVsZW1lbnRzOiBGZGJOYXZpZ2F0aW9uTGlzdEl0ZW1Db21wb25lbnRbXSA9IFtdO1xuXG4gICAgICAgIGNvbnN0IG5hdmlnYXRpb25JdGVtR3JvdXBzID0gdGhpcy5fbmF2aWdhdGlvbkl0ZW1zLnJlZHVjZShcbiAgICAgICAgICAgIChhY2M6IHsgcm9vdDogRmRiTmF2aWdhdGlvbkxpc3RJdGVtQ29tcG9uZW50W107IGNoaWxkcmVuOiBGZGJOYXZpZ2F0aW9uTGlzdEl0ZW1Db21wb25lbnRbXSB9LCBpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbUxldmVsID0gaXRlbS5ub3JtYWxpemVkTGV2ZWwoKTtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbUxldmVsID4gMikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhY2NbaXRlbUxldmVsID09PSAxID8gJ3Jvb3QnIDogJ2NoaWxkcmVuJ10ucHVzaChpdGVtKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHsgcm9vdDogW10sIGNoaWxkcmVuOiBbXSB9XG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbkl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0uc2hvdygpO1xuICAgICAgICB9KTtcblxuICAgICAgICBuYXZpZ2F0aW9uSXRlbUdyb3Vwcy5jaGlsZHJlbi5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmNhbGN1bGF0ZUV4cGFuZGVkKCk7XG4gICAgICAgICAgICBpZiAoIWNhbkRpc3BsYXlJdGVtcykge1xuICAgICAgICAgICAgICAgIGl0ZW0uaGlkZSgpO1xuICAgICAgICAgICAgICAgIGhpZGRlbkVsZW1lbnRzLnB1c2goaXRlbSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBpdGVtLnNob3coKTtcblxuICAgICAgICAgICAgdG90YWxBdmFpbGFibGVIZWlnaHQgLT0gaXRlbS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xuXG4gICAgICAgICAgICBpZiAodG90YWxBdmFpbGFibGVIZWlnaHQgPD0gMCkge1xuICAgICAgICAgICAgICAgIGNhbkRpc3BsYXlJdGVtcyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGl0ZW0uaGlkZSgpO1xuICAgICAgICAgICAgICAgIGhpZGRlbkVsZW1lbnRzLnB1c2goaXRlbSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBuYXZpZ2F0aW9uSXRlbUdyb3Vwcy5yb290LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0uY2hlY2tTZWxmSGlkZGVuKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKEZEX05BVklHQVRJT05fT1ZFUkZMT1dfSVRFTV9DTEFTUyk7XG5cbiAgICAgICAgdGhpcy5faGFuZGxlT3ZlcmZsb3dJdGVtcyhoaWRkZW5FbGVtZW50cyk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fY2FsY3VsYXRpb25JblByb2dyZXNzID0gZmFsc2U7XG4gICAgICAgIH0sIDUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaGFuZGxlT3ZlcmZsb3dJdGVtcyhpdGVtczogRmRiTmF2aWdhdGlvbkxpc3RJdGVtQ29tcG9uZW50W10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaG93T3ZlcmZsb3dCdXR0b24uc2V0KGl0ZW1zLmxlbmd0aCA+IDApO1xuICAgICAgICB0aGlzLl9oaWRkZW5JdGVtcyA9IGl0ZW1zO1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cInVsW2ZkYi1uYXZpZ2F0aW9uLWxpc3RdXCI+PC9uZy1jb250ZW50PlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwic2hvd092ZXJmbG93QnV0dG9uKClcIj5cbiAgICA8dWwgZmRiLW5hdmlnYXRpb24tbGlzdCBjbGFzcz1cImZkLW5hdmlnYXRpb25fX2xpc3QtLW5vLWdyb3dcIiBbc2hvd0hvbWVdPVwiZmFsc2VcIiAjc2hvd01vcmVPdmVyZmxvd01lbnU+XG4gICAgICAgIDxsaVxuICAgICAgICAgICAgZmRiLW5hdmlnYXRpb24tbGlzdC1vdmVyZmxvdy1pdGVtXG4gICAgICAgICAgICBbYWx3YXlzRm9jdXNhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgI3Nob3dNb3JlT3ZlcmZsb3dJdGVtXG4gICAgICAgICAgICBbaGlkZGVuSXRlbXNdPVwiX2hpZGRlbkl0ZW1zXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGEgZmRiLW5hdmlnYXRpb24tbGluayBnbHlwaD1cIm92ZXJmbG93XCIgbGFiZWw9XCJNb3JlIEl0ZW1zXCI+PC9hPlxuICAgICAgICA8L2xpPlxuICAgIDwvdWw+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1245,7 +1245,6 @@ class NavigationContentStartComponent extends NavigationContentComponent {
1245
1245
  this._scrollbar = inject(ScrollbarDirective);
1246
1246
  /** @hidden */
1247
1247
  this._destroyRef = inject(DestroyRef);
1248
- this._scrollbar.overrideTabindex = false;
1249
1248
  effect(() => {
1250
1249
  if (!this._canTrackItems()) {
1251
1250
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-btp-navigation.mjs","sources":["../../../../libs/btp/navigation/directives/navigation-home.directive.ts","../../../../libs/btp/navigation/navigation-component.token.ts","../../../../libs/btp/navigation/navigation-content.token.ts","../../../../libs/btp/navigation/navigation-list-component.token.ts","../../../../libs/btp/navigation/navigation-list-item-component.token.ts","../../../../libs/btp/navigation/navigation-link.component.ts","../../../../libs/btp/navigation/navigation-list/navigation-list-item.component.ts","../../../../libs/btp/navigation/navigation-list/navigation-list-item.component.html","../../../../libs/btp/navigation/navigation-list/navigation-list.component.ts","../../../../libs/btp/navigation/navigation-list/navigation-list.component.html","../../../../libs/btp/navigation/navigation.service.ts","../../../../libs/btp/navigation/navigation.component.ts","../../../../libs/btp/navigation/directives/navigation-list-spacer.directive.ts","../../../../libs/btp/navigation/navigation-content-end.component.ts","../../../../libs/btp/navigation/navigation-list/navigation-list-overflow-item.component.ts","../../../../libs/btp/navigation/navigation-list/navigation-list-overflow-item.component.html","../../../../libs/btp/navigation/navigation-content-start.component.ts","../../../../libs/btp/navigation/navigation-content-start.component.html","../../../../libs/btp/navigation/fundamental-ngx-btp-navigation.ts"],"sourcesContent":["import { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[fdbNavigationHome]',\n standalone: true\n})\nexport class NavigationHomeDirective {\n /** @hidden */\n constructor(readonly templateRef: TemplateRef<any>, private _viewContainerRef: ViewContainerRef) {}\n}\n","import { computed, Signal, TemplateRef } from '@angular/core';\nimport { FdbViewMode } from '@fundamental-ngx/btp/shared';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FdbNavigationListItemComponent } from './navigation-list-item-component.token';\nimport { FdbNavigationState, FdbNavigationType } from './navigation.types';\n\nexport abstract class FdbNavigationComponent {\n abstract state: Signal<FdbNavigationState>;\n abstract type: Signal<FdbNavigationType>;\n abstract mode: Signal<FdbViewMode>;\n abstract homeSeparator: Signal<boolean>;\n abstract homeLinkTemplate: Signal<TemplateRef<void> | null>;\n abstract setNextItemActive(): void;\n abstract setActiveItem(item: FdbNavigationListItemComponent): void;\n abstract setPreviousItemActive(): void;\n abstract keyDownHandler(event: KeyboardEvent): void;\n abstract focusMoreButton(): void;\n abstract getMoreButton(): Nullable<FdbNavigationListItemComponent>;\n\n /** @hidden */\n isSnapped = computed(() => this.state() === 'snapped' && !this.isPhone());\n /** @hidden */\n isPopup = computed(() => this.state() === 'popup' || this.isPhone());\n /** @hidden */\n isExpanded = computed(() => this.state() === 'expanded' && !this.isPhone());\n\n /** @hidden */\n isHorizontal = computed(() => this.type() === 'horizontal');\n /** @hidden */\n isVertical = computed(() => this.type() === 'vertical');\n\n /** @hidden */\n isDesktop = computed(() => this.mode() === '');\n /** @hidden */\n isTablet = computed(() => this.mode() === 'tablet');\n /** @hidden */\n isPhone = computed(() => this.mode() === 'phone');\n}\n","import { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { Observable } from 'rxjs';\nimport { FdbNavigationListItemComponent } from './navigation-list-item-component.token';\n\nexport abstract class NavigationContentComponent {\n abstract showHome: boolean;\n abstract refresh$: Observable<void>;\n abstract getNavigatableItems(): FdbNavigationListItemComponent[];\n abstract showMoreOpened(): boolean;\n\n /** @hidden */\n showMoreOverflowItem: Nullable<FdbNavigationListItemComponent>;\n}\n","import { QueryList, Signal } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FdbNavigationListItemComponent } from './navigation-list-item-component.token';\n\nexport abstract class FdbNavigationListComponent {\n abstract isParentGroupChild: Signal<boolean>;\n abstract isInGroup: Signal<boolean>;\n abstract level: Signal<number>;\n abstract normalizedLevel: Signal<number>;\n abstract parentListComponent: FdbNavigationListComponent | null;\n abstract homeListItem: Nullable<FdbNavigationListItemComponent>;\n abstract listItems: QueryList<FdbNavigationListItemComponent>;\n abstract focused: boolean;\n abstract getHomeElementSize(): { width: number; height: number };\n}\n","import { FocusableOption } from '@angular/cdk/a11y';\nimport { DomPortal } from '@angular/cdk/portal';\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n OnDestroy,\n Signal,\n WritableSignal,\n effect,\n inject,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { Nullable, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { BasePopoverClass, PopoverService } from '@fundamental-ngx/core/popover';\nimport { filter, of } from 'rxjs';\nimport { FdbNavigationComponent } from './navigation-component.token';\nimport { NavigationLinkComponent } from './navigation-link.component';\nimport { FdbNavigationListComponent } from './navigation-list-component.token';\n\n@Directive()\nexport abstract class FdbNavigationListItemComponent extends BasePopoverClass implements FocusableOption, OnDestroy {\n abstract elementRef: ElementRef<HTMLElement>;\n abstract expanded: WritableSignal<boolean>;\n abstract expandedAttr: Signal<boolean>;\n abstract fullPathExpanded: Signal<boolean>;\n abstract _isInPopover: Signal<boolean>;\n abstract inPortal: Signal<boolean>;\n abstract childNavigationListComponent: Signal<FdbNavigationListComponent | null>;\n abstract isGroup: Signal<boolean>;\n abstract level: Signal<number>;\n abstract normalizedLevel: Signal<number>;\n abstract routerLinkActive: WritableSignal<RouterLinkActive | null>;\n abstract routerLink: WritableSignal<RouterLink | null>;\n abstract parentListItemComponent: FdbNavigationListItemComponent | null;\n abstract alwaysFocusable: boolean;\n abstract linkComponent: Nullable<NavigationLinkComponent>;\n abstract domPortal: Nullable<DomPortal>;\n abstract focusOnClonedLink(): void;\n abstract expand(): void;\n abstract collapse(): void;\n abstract toggle(): void;\n abstract setSnappedActiveState(isActive: boolean): void;\n abstract focus(): void;\n abstract hide(): void;\n abstract show(): void;\n abstract calculateExpanded(): void;\n abstract checkSelfHidden(): void;\n abstract createPortal(): DomPortal;\n abstract destroyPortal(): void;\n\n /** @hidden */\n _hidden = signal(false);\n\n /** @hidden */\n hiddenItems = signal<FdbNavigationListItemComponent[]>([]);\n\n /** @hidden */\n navigationComponent = inject(FdbNavigationComponent);\n\n /** @hidden */\n hasPortalChildren = signal(false);\n\n /** @hidden */\n childFocused = signal(false);\n\n /** @hidden */\n parentNavigationListComponent = inject(FdbNavigationListComponent);\n\n /** @hidden */\n protected readonly _rtl = inject(RtlService, { optional: true });\n\n /** @hidden */\n protected readonly _isRtl = toSignal(this._rtl?.rtl || of(false), { requireSync: true });\n\n /** @hidden */\n protected readonly _popoverService = inject(PopoverService);\n\n /** @hidden */\n protected readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private _listenToSnappedExpandedState = true;\n\n /** @hidden */\n constructor() {\n super();\n this._rtl?.rtl.pipe(takeUntilDestroyed()).subscribe((isRtl) => {\n this.placement = isRtl ? 'left-start' : 'right-start';\n this._popoverService.refreshConfiguration(this);\n });\n\n effect(() => {\n this.isOpen = this.expanded();\n });\n\n effect(() => {\n const hasChildren = this.childNavigationListComponent() || this.hasPortalChildren();\n const isSnapped = this.navigationComponent.isSnapped();\n const shouldDisable = !isSnapped || !hasChildren || this._hidden();\n this._listenToSnappedExpandedState = true;\n this._popoverService.setIgnoreTriggers(shouldDisable);\n this._popoverService.disabled = shouldDisable;\n });\n\n effect(\n () => {\n if (!this._listenToSnappedExpandedState && !this._hidden()) {\n return;\n }\n if (this.navigationComponent.isSnapped() && this.expanded() && this.normalizedLevel() > 1) {\n this.expanded.set(false);\n this.isOpen = false;\n this._popoverService.refreshConfiguration(this);\n this._listenToSnappedExpandedState = false;\n }\n },\n {\n allowSignalWrites: true\n }\n );\n\n effect(() => {\n const activeRouterLink = this.routerLinkActive();\n activeRouterLink?.isActiveChange.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((isActive) => {\n this.parentListItemComponent?.setSnappedActiveState(isActive);\n });\n });\n\n this.isOpenChange\n .pipe(\n filter(() => this.navigationComponent.isSnapped()),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe((isOpen) => {\n this.isOpen = isOpen;\n this.expanded.set(isOpen);\n if (!this.isOpen) {\n // this.focus();\n }\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._popoverService.close();\n this._popoverService.onDestroy();\n }\n}\n","/* eslint-disable @angular-eslint/no-host-metadata-property */\nimport { AsyncPipe, NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { CssClassBuilder, HasElementRef, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { FdbNavigationComponent } from './navigation-component.token';\nimport { FdbNavigationListItemComponent } from './navigation-list-item-component.token';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[fdb-navigation-link]',\n template: `\n <ng-container *ngIf=\"glyph\">\n <fd-icon\n [glyph]=\"glyph\"\n class=\"fd-navigation__icon\"\n [attr.role]=\"'presentation'\"\n [ariaHidden]=\"true\"\n ></fd-icon>\n </ng-container>\n <ng-template #textRenderer>\n <span class=\"fd-navigation__text\">{{ label }}</span>\n <span\n class=\"fd-navigation__external-link-indicator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n aria-label=\"external link indicator\"\n *ngIf=\"external\"\n ></span>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"textRenderer\" />\n <span\n class=\"fd-navigation__selection-indicator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n aria-label=\"selection indicator\"\n >\n </span>\n <span\n *ngIf=\"\n navigationListItemComponent?.childNavigationListComponent() &&\n navigationListItemComponent?.normalizedLevel() !== 3 &&\n !_routerLink\n \"\n class=\"fd-navigation__has-children-indicator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n aria-label=\"has children indicator, expanded\"\n >\n </span>\n `,\n imports: [NgIf, IconComponent, AsyncPipe, NgTemplateOutlet],\n hostDirectives: [RouterLinkActive],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n role: 'link'\n }\n})\nexport class NavigationLinkComponent implements OnInit, OnChanges, CssClassBuilder, HasElementRef {\n /** @hidden */\n @Input()\n class: string;\n\n /** @hidden */\n @Input()\n glyph: string;\n\n /** Label to be displayed as a link text. */\n @Input({ required: true })\n label: string;\n\n /** Whether the link is for the external resource. */\n @Input()\n external = false;\n\n /** @hidden */\n @ViewChild('textRenderer')\n textRenderer: TemplateRef<any>;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n _tabindex = 0;\n\n /** @hidden */\n readonly elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\n /** @hidden */\n readonly _routerLink = inject(RouterLink, {\n optional: true,\n self: true\n });\n\n /** @hidden */\n readonly _routerLinkActive = inject(RouterLinkActive, { optional: true });\n\n /**\n * If user applies RouterLink, we need to check if the link is active\n * @hidden\n **/\n protected isActive = toSignal(inject(RouterLinkActive).isActiveChange);\n\n /** @hidden */\n protected navigationListItemComponent = inject(FdbNavigationListItemComponent);\n\n /** @hidden */\n private readonly _navigationComponent = inject(FdbNavigationComponent);\n\n /** @hidden */\n constructor() {\n this.navigationListItemComponent.linkComponent = this;\n this.navigationListItemComponent.routerLink.set(this._routerLink);\n this.navigationListItemComponent.routerLinkActive.set(this._routerLinkActive);\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [this.class || '', 'fd-navigation__link'];\n }\n\n /** @hidden */\n @HostListener('click')\n private _onClick(): void {\n if (this.navigationListItemComponent.childNavigationListComponent()) {\n this.navigationListItemComponent.toggle();\n }\n }\n\n /** @hidden */\n @HostListener('focus')\n private _focusHandler(): void {\n this._navigationComponent.setActiveItem(this.navigationListItemComponent);\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n}\n","/* eslint-disable @angular-eslint/no-input-rename */\nimport { FocusableOption } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, UP_ARROW } from '@angular/cdk/keycodes';\nimport { DomPortal } from '@angular/cdk/portal';\nimport { AsyncPipe, NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n HostListener,\n Injector,\n Input,\n OnChanges,\n OnInit,\n QueryList,\n Signal,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n computed,\n effect,\n inject,\n signal\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport {\n CssClassBuilder,\n HasElementRef,\n KeyUtil,\n Nullable,\n TabbableElementService,\n applyCssClass\n} from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { PopoverComponent, PopoverControlComponent, PopoverService } from '@fundamental-ngx/core/popover';\nimport { FdbNavigationComponent } from '../navigation-component.token';\nimport { NavigationLinkComponent } from '../navigation-link.component';\nimport { FdbNavigationListComponent } from '../navigation-list-component.token';\nimport { FdbNavigationListItemComponent } from '../navigation-list-item-component.token';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'li[fdb-navigation-list-item]',\n templateUrl: './navigation-list-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n PopoverService,\n {\n provide: FdbNavigationListItemComponent,\n useExisting: NavigationListItemComponent\n }\n ],\n imports: [\n AsyncPipe,\n NgIf,\n NgTemplateOutlet,\n PopoverComponent,\n PopoverControlComponent,\n RouterLink,\n ButtonComponent,\n IconComponent\n ],\n standalone: true\n})\nexport class NavigationListItemComponent\n extends FdbNavigationListItemComponent\n implements OnInit, OnChanges, CssClassBuilder, HasElementRef, AfterViewInit, FocusableOption\n{\n /** @hidden */\n @Input()\n class: Nullable<string>;\n\n /** @hidden */\n @Input()\n set group(group: boolean) {\n this.isGroup.set(group);\n }\n\n /** @hidden */\n @Input('expanded')\n set _expanded(expanded: boolean) {\n this.expanded.set(expanded);\n }\n\n /** @hidden */\n @Input()\n linkTemplate: TemplateRef<void>;\n\n /** @hidden */\n @Input()\n alwaysFocusable = false;\n\n /** @hidden */\n @ContentChild(FdbNavigationListComponent)\n set _navigationListComponent(navigationListComponent: FdbNavigationListComponent) {\n this.childNavigationListComponent.set(navigationListComponent);\n }\n\n /** @hidden */\n @ContentChild(RouterLinkActive)\n set _routerLinkActive(routerLinkActive: RouterLinkActive) {\n this.routerLinkActive.set(routerLinkActive);\n }\n\n /** @hidden */\n @ContentChild(RouterLink)\n set _routerLink(routerLink: RouterLink) {\n this.routerLink.set(routerLink);\n }\n\n /** @hidden */\n @ViewChild('childrenTemplate', { read: TemplateRef })\n set _childrenTemplate(templateRef: TemplateRef<void>) {\n this.childrenTemplate.set(templateRef);\n }\n\n /** @hidden */\n @ViewChild('navigationItem')\n _navigationItem: ElementRef;\n\n /** @hidden */\n @ContentChild(NavigationLinkComponent)\n linkComponent: Nullable<NavigationLinkComponent>;\n\n /** @hidden */\n @ContentChildren(FdbNavigationListItemComponent, { descendants: true })\n private readonly _childNavigationListItems: QueryList<FdbNavigationListItemComponent>;\n\n /** @hidden */\n @ViewChild('clonedMainLink', { static: false, read: ElementRef })\n private readonly _clonedMainLink: Nullable<ElementRef>;\n\n /** @hidden */\n injector = inject(Injector);\n\n /** @hidden */\n elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\n /** @hidden */\n parentListItemComponent = inject(FdbNavigationListItemComponent, { optional: true, skipSelf: true });\n\n /** @hidden */\n override noArrow = false;\n\n /** @hidden */\n override additionalBodyClass = 'fd-navigation__list-container';\n\n /** @hidden */\n routerLink = signal<RouterLink | null>(null);\n\n /** @hidden */\n routerLinkActive = signal<RouterLinkActive | null>(null);\n\n /** @hidden */\n isRouterLinkActive = computed(() => {\n const routerLinkActive = this.routerLinkActive();\n if (routerLinkActive) {\n return toSignal(routerLinkActive.isActiveChange, {\n initialValue: routerLinkActive.isActive,\n injector: this.injector\n })();\n }\n return false;\n });\n\n /** @hidden */\n childNavigationListComponent = signal<FdbNavigationListComponent | null>(null);\n /** @hidden */\n expanded = signal(false);\n\n /** @hidden */\n fullPathExpanded = computed(\n () => (this.parentListItemComponent ? this.parentListItemComponent.expanded() : true) && this.expanded()\n );\n\n /** @hidden */\n isGroup = signal(false);\n\n /** @hidden */\n childrenTemplate = signal<TemplateRef<void> | null>(null);\n\n /** @hidden */\n childrenActive = signal(false);\n\n /** @hidden */\n inPortal = computed(() => this.parentInPortal() || this._selfInPortal());\n\n /** @hidden */\n parentInPortal = computed(() => this.parentListItemComponent?.inPortal() || false);\n\n /**\n * Used in attribute only. For actual calculation of level of nesting use `normalizedLevel`.\n */\n get level(): Signal<number> {\n return this.parentNavigationListComponent.level;\n }\n\n /**\n * Used for calculation of the level of inclusion. Can be different than the actual level due to ability to mix grouped lists with ungrouped.\n * For ungrouped lists will add +1 for the first list in the hierarchy to mimic group existence.\n */\n normalizedLevel = computed(() => {\n if (this.parentNavigationListComponent.isInGroup() || this.isGroup()) {\n return this.level();\n }\n return this.level() + 1;\n });\n\n /** @hidden */\n _isInPopover = computed(\n () => this.navigationComponent.isSnapped() && (this.normalizedLevel() > 2 || this._hidden())\n );\n\n /** @hidden */\n // eslint-disable-next-line max-len\n expandedAttr = computed(\n () =>\n (this.expanded() ||\n (this.normalizedLevel() === 1 &&\n !!this.childNavigationListComponent() &&\n this.navigationComponent.isSnapped())) &&\n !this._hidden()\n );\n\n /**\n * Icon which should be used for the toggle button.\n **/\n toggleIcon = computed(() => {\n if (this.expandedAttr()) {\n return 'slim-arrow-down';\n }\n return this._isRtl() ? 'slim-arrow-left' : 'slim-arrow-right';\n });\n\n /** @hidden */\n domPortal: Nullable<DomPortal>;\n\n /** @hidden */\n private _selfInPortal = signal(false);\n\n /** @hidden */\n private readonly _cdr = inject(ChangeDetectorRef);\n\n /** @hidden */\n private readonly _tabbableService = inject(TabbableElementService);\n\n /** @hidden */\n private readonly _navigationComponent = inject(FdbNavigationComponent);\n\n /** @hidden */\n constructor() {\n super();\n effect(() => {\n this.additionalBodyComponentClasses = [\n 'fd-navigation',\n 'fd-navigation--snapped',\n `fd-navigation--${this.navigationComponent.mode()}`\n ]\n .filter((klass) => !!klass)\n .join(' ');\n this._popoverService.updateContent(null, this.childrenTemplate());\n });\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [this.class || '', 'fd-navigation__list-item'];\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n private _keydownHandler(event: KeyboardEvent): void {\n if (this._isInPopover() && KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW])) {\n event.stopImmediatePropagation();\n if (this._hidden() || this.parentListItemComponent?._hidden()) {\n const hiddenItems = this.navigationComponent.getMoreButton()?.hiddenItems() || [];\n const firstLevelHiddenElementCondition =\n hiddenItems &&\n ((KeyUtil.isKeyCode(event, UP_ARROW) &&\n this.elementRef.nativeElement === hiddenItems[0]?.elementRef.nativeElement) ||\n (KeyUtil.isKeyCode(event, DOWN_ARROW) &&\n this.elementRef.nativeElement ===\n hiddenItems[hiddenItems.length - 1]?.elementRef.nativeElement));\n\n const secondLevelHiddenElementCondition =\n this.normalizedLevel() > 2 &&\n ((KeyUtil.isKeyCode(event, UP_ARROW) &&\n this.parentNavigationListComponent.listItems.first === this) ||\n (KeyUtil.isKeyCode(event, DOWN_ARROW) &&\n this.parentNavigationListComponent.listItems.last === this));\n\n if (firstLevelHiddenElementCondition || secondLevelHiddenElementCondition) {\n return;\n }\n this.navigationComponent.keyDownHandler(event);\n return;\n }\n if (KeyUtil.isKeyCode(event, UP_ARROW) && this.parentNavigationListComponent.listItems.first === this) {\n this.parentListItemComponent?.focusOnClonedLink();\n }\n if (\n (KeyUtil.isKeyCode(event, UP_ARROW) && this.parentNavigationListComponent.listItems.first === this) ||\n (KeyUtil.isKeyCode(event, DOWN_ARROW) && this.parentNavigationListComponent.listItems.last === this)\n ) {\n return;\n }\n this.navigationComponent.keyDownHandler(event);\n return;\n }\n if (!KeyUtil.isKeyCode(event, [LEFT_ARROW, RIGHT_ARROW])) {\n return;\n }\n event.stopImmediatePropagation();\n const shouldExpand = !this._isCollapseAction(event);\n\n if (!this.navigationComponent.isSnapped()) {\n this._expandedStateKeyboardHandler(shouldExpand);\n } else {\n this._snappedStateKeyboardHandler(shouldExpand);\n }\n }\n\n /** @hidden */\n clonedMainLinkKeydown(event: KeyboardEvent): void {\n if (this._isCollapseAction(event)) {\n this._popoverService.close();\n this.focus();\n return;\n }\n\n if (KeyUtil.isKeyCode(event, DOWN_ARROW)) {\n this._childNavigationListItems.first?.focus();\n }\n }\n\n /** @hidden */\n calculateExpanded(): void {\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n focus(): void {\n if (this.linkComponent) {\n this.linkComponent.elementRef.nativeElement.focus();\n } else {\n this._tabbableService.getTabbableElement(this.elementRef.nativeElement, false, true)?.focus();\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._popoverService.updateTriggerElement(this._navigationItem);\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n this._popoverService.refreshConfiguration(this);\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n collapse(): void {\n this.expanded.set(false);\n this._popoverService.close();\n }\n\n /** @hidden */\n expand(): void {\n this.expanded.set(true);\n }\n\n /** @hidden */\n toggle(): void {\n if (this._hidden()) {\n return;\n }\n this.expanded.set(!this.expanded());\n }\n\n /** @hidden */\n setSnappedActiveState(isActive: boolean): void {\n this.childrenActive.set(isActive);\n }\n\n /** @hidden */\n hide(): void {\n this._hidden.set(true);\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n show(): void {\n this._hidden.set(false);\n this.elementRef.nativeElement.style.display = 'flex';\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n checkSelfHidden(): void {\n const shouldHide = this._childNavigationListItems\n ?.filter((item) => item.normalizedLevel() === this.normalizedLevel() + 1)\n .every((item) => item._hidden());\n this._hidden.set(shouldHide);\n this.isOpen = shouldHide;\n this.elementRef.nativeElement.style.display = shouldHide ? 'none' : 'flex';\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n focusOnClonedLink(): void {\n if (this._clonedMainLink) {\n this._clonedMainLink.nativeElement.focus();\n return;\n }\n\n const hiddenItems = this.hiddenItems();\n\n if (hiddenItems.length > 0) {\n this._tabbableService.getTabbableElement(hiddenItems[0]?.elementRef.nativeElement)?.focus();\n }\n }\n\n /** @hidden */\n createPortal(): DomPortal {\n this.domPortal = this.domPortal || new DomPortal(this.elementRef.nativeElement);\n this._selfInPortal.set(true);\n return this.domPortal;\n }\n\n /** @hidden */\n destroyPortal(): void {\n if (this.domPortal?.isAttached) {\n this.domPortal.detach();\n this.domPortal = null;\n }\n this._selfInPortal.set(false);\n }\n\n /** @hidden */\n private _isCollapseAction(event: KeyboardEvent): boolean {\n const expandKey = this._rtl?.rtl.value ? RIGHT_ARROW : LEFT_ARROW;\n return KeyUtil.isKeyCode(event, expandKey);\n }\n\n /** @hidden */\n private _expandedStateKeyboardHandler(shouldExpand: boolean): void {\n if (shouldExpand && this.expanded()) {\n this.navigationComponent.setNextItemActive();\n return;\n }\n\n if (!shouldExpand && !this.expanded() && this.parentListItemComponent) {\n this.navigationComponent.setActiveItem(this.parentListItemComponent);\n return;\n }\n\n if (!shouldExpand && this.childNavigationListComponent()) {\n if (!this.expanded()) {\n this.navigationComponent.setPreviousItemActive();\n } else {\n this.expanded.set(false);\n }\n }\n\n this.expanded.set(shouldExpand);\n }\n\n /** @hidden */\n private _snappedStateKeyboardHandler(shouldExpand: boolean): void {\n if (shouldExpand && this._hidden()) {\n this.expanded.set(shouldExpand);\n this._childNavigationListItems.first?.focus();\n this.childFocused.set(true);\n return;\n }\n if (shouldExpand) {\n if (this.expanded()) {\n this._childNavigationListItems.first?.focus();\n return;\n }\n\n this.expanded.set(shouldExpand);\n this._popoverService.open();\n setTimeout(() => {\n this.focusOnClonedLink();\n });\n } else {\n this.expanded.set(shouldExpand);\n this._popoverService.close();\n\n if (!this.inPortal()) {\n this.focus();\n }\n\n if (this.inPortal() && this.normalizedLevel() === 2) {\n this._navigationComponent.focusMoreButton();\n } else {\n this.parentListItemComponent?.focus();\n }\n }\n }\n}\n","<div\n class=\"fd-navigation__item\"\n [class.fd-navigation__item--group]=\"isGroup()\"\n [class.fd-navigation__item--overflow]=\"_hidden()\"\n [class.fd-navigation__item--child]=\"normalizedLevel() > 2\"\n [class.fd-navigation__item--with-expander]=\"\n childNavigationListComponent() && normalizedLevel() < 3 && linkComponent?._routerLink\n \"\n aria-current=\"page\"\n [attr.aria-selected]=\"isRouterLinkActive() || (childrenActive() && navigationComponent.isSnapped()) ? true : null\"\n [attr.aria-expanded]=\"expandedAttr()\"\n [attr.aria-level]=\"level()\"\n #navigationItem\n role=\"menuitem\"\n>\n <ng-container *ngIf=\"linkTemplate\">\n <ng-template [ngTemplateOutlet]=\"linkTemplate\" [ngTemplateOutletInjector]=\"injector\"></ng-template>\n </ng-container>\n <ng-content select=\"[fdb-navigation-link]\"></ng-content>\n <button\n (click)=\"toggle()\"\n *ngIf=\"childNavigationListComponent() && normalizedLevel() < 3 && linkComponent?._routerLink\"\n fd-button\n class=\"fd-button--nested fd-navigation__expander\"\n >\n <fd-icon [glyph]=\"toggleIcon()\"></fd-icon>\n </button>\n</div>\n<ng-container\n *ngIf=\"\n (childNavigationListComponent() && !navigationComponent.isSnapped()) ||\n (navigationComponent.isSnapped() && normalizedLevel() < 2) ||\n _hidden()\n \"\n>\n <ng-template [ngTemplateOutlet]=\"childrenTemplate\" [ngTemplateOutletInjector]=\"injector\"></ng-template>\n</ng-container>\n\n<ng-template #childrenTemplate>\n <ng-template #childNavigationLists>\n <ng-content select=\"ul[fdb-navigation-list]\"></ng-content>\n </ng-template>\n\n <ng-container *ngIf=\"isGroup(); else withWrapper\">\n <ng-template [ngTemplateOutlet]=\"childNavigationLists\" [ngTemplateOutletInjector]=\"injector\"></ng-template>\n </ng-container>\n <ng-template #withWrapper>\n <ng-template #popoverTemplate>\n <!-- fd-navigation__list-container -->\n <div\n *ngIf=\"childNavigationListComponent()\"\n [class.fd-navigation__list-container]=\"!navigationComponent.isSnapped()\"\n aria-hidden=\"true\"\n >\n <div class=\"fd-navigation__list-wrapper popover-wrapper\" aria-hidden=\"true\">\n <div\n *ngIf=\"linkComponent && navigationComponent.isSnapped()\"\n class=\"fd-navigation__item fd-navigation__item--title fd-navigation__item--child\"\n aria-level=\"1\"\n role=\"treeitem\"\n aria-expanded=\"true\"\n [attr.aria-selected]=\"isRouterLinkActive()\"\n >\n <a\n class=\"fd-navigation__link\"\n [routerLink]=\"$any(routerLink())?.commands\"\n role=\"button\"\n tabindex=\"0\"\n (keydown)=\"clonedMainLinkKeydown($event)\"\n #clonedMainLink\n >\n <span\n class=\"fd-navigation__icon sap-icon--basket\"\n role=\"presentation\"\n aria-hidden=\"true\"\n ></span>\n <ng-container *ngTemplateOutlet=\"linkComponent.textRenderer!\"></ng-container>\n <span class=\"fd-navigation__selection-indicator\"></span>\n </a>\n </div>\n <ng-template\n [ngTemplateOutlet]=\"childNavigationLists\"\n [ngTemplateOutletInjector]=\"injector\"\n ></ng-template>\n </div>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"_hidden()\" [ngIfElse]=\"popoverTemplate\">\n <div\n *ngIf=\"childNavigationListComponent()\"\n class=\"fd-navigation__list-container fd-navigation__list-container--submenu fd-menu__sublist\"\n >\n <div class=\"fd-navigation__list-wrapper\">\n <ng-template\n [ngTemplateOutlet]=\"childNavigationLists\"\n [ngTemplateOutletInjector]=\"injector\"\n ></ng-template>\n </div>\n </div>\n </ng-template>\n </ng-template>\n</ng-template>\n","/* eslint-disable @angular-eslint/no-host-metadata-property */\nimport { NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChildren,\n ElementRef,\n HostListener,\n inject,\n Input,\n OnChanges,\n OnInit,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { applyCssClass, CssClassBuilder, HasElementRef, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FdbNavigationComponent } from '../navigation-component.token';\nimport { NavigationContentComponent } from '../navigation-content.token';\nimport { FdbNavigationListComponent } from '../navigation-list-component.token';\nimport { FdbNavigationListItemComponent } from '../navigation-list-item-component.token';\nimport { NavigationListItemComponent } from './navigation-list-item.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'ul[fdb-navigation-list]',\n templateUrl: './navigation-list.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n role: 'menubar',\n '[attr.aria-hidden]': 'true'\n },\n providers: [\n {\n provide: FdbNavigationListComponent,\n useExisting: NavigationListComponent\n }\n ],\n imports: [NgIf, NavigationListItemComponent]\n})\nexport class NavigationListComponent\n implements OnInit, OnChanges, CssClassBuilder, HasElementRef, FdbNavigationListComponent\n{\n /** @hidden */\n @Input()\n class: Nullable<string>;\n\n /** @hidden */\n @Input()\n showHome = true;\n\n /** @hidden */\n @ContentChildren(FdbNavigationListItemComponent)\n readonly listItems: QueryList<FdbNavigationListItemComponent>;\n\n /** @hidden */\n @ViewChild('homeListItem', { static: false, read: FdbNavigationListItemComponent })\n readonly homeListItem: Nullable<FdbNavigationListItemComponent>;\n\n /** @hidden */\n @ViewChild('homeListItem', { static: false, read: ElementRef })\n private readonly _homeListItemElement: Nullable<ElementRef<HTMLElement>>;\n\n /** @hidden */\n @ViewChild('homeListSeparator', { static: false, read: ElementRef })\n private readonly _homeListSeparator: Nullable<ElementRef<HTMLElement>>;\n\n /** @hidden */\n navigationContentComponent = inject(NavigationContentComponent);\n\n /** @hidden */\n parentListItemComponent = inject(FdbNavigationListItemComponent, { optional: true });\n\n /** @hidden */\n parentListComponent = inject(FdbNavigationListComponent, { optional: true, skipSelf: true });\n\n /** @hidden */\n linkTemplate = computed(() => {\n const homeLinkTemplate = this._navigationComponent.homeLinkTemplate();\n return !this.parentListComponent && homeLinkTemplate;\n });\n\n /** @hidden */\n elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\n /** @hidden */\n isParentGroupChild = computed(() => this.parentListItemComponent?.isGroup() ?? false);\n\n /** @hidden */\n isInGroup = computed(() => this.isParentGroupChild() || !!this.parentListComponent?.isParentGroupChild());\n\n /** @hidden */\n level = computed(() => (this.parentListComponent ? this.parentListComponent.level() + 1 : 1));\n\n /** @hidden */\n normalizedLevel = computed(() => (this.isInGroup() ? this.level() : this.level() + (this.level() === 2 ? 1 : 0)));\n\n /** @hidden */\n focused = false;\n\n /** @hidden */\n readonly _navigationComponent = inject(FdbNavigationComponent);\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n this.class || '',\n 'fd-navigation__list',\n this.isParentGroupChild() ? 'fd-navigation__list--parent-items' : '',\n this.parentListComponent?.isParentGroupChild() ? 'fd-navigation__list--child-items' : ''\n ];\n }\n\n /** @hidden */\n @HostListener('focusin')\n private _focusIn(): void {\n this.focused = true;\n }\n\n /** @hidden */\n @HostListener('focusout')\n private _focusOut(): void {\n this.focused = false;\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n getHomeElementSize(): { width: number; height: number } {\n const sizePlaceholder = { width: 0, height: 0 };\n const homeListItemSize = this._homeListItemElement?.nativeElement.getBoundingClientRect() || sizePlaceholder;\n const homeListSeparatorSize = this._homeListSeparator?.nativeElement.getBoundingClientRect() || sizePlaceholder;\n return {\n width: homeListItemSize.width + homeListSeparatorSize.width,\n height: homeListItemSize.height + homeListSeparatorSize.height\n };\n }\n}\n","<ng-container *ngIf=\"showHome && navigationContentComponent.showHome\">\n <ng-container *ngIf=\"linkTemplate() as tmp\">\n <li\n fdb-navigation-list-item\n [linkTemplate]=\"tmp\"\n [alwaysFocusable]=\"true\"\n #homeListItem\n [class.fd-navigation-list-item--home-without-separator]=\"!_navigationComponent.homeSeparator()\"\n class=\"fd-navigation__list-item--home\"\n ></li>\n <li\n *ngIf=\"_navigationComponent.homeSeparator()\"\n #homeListSeparator\n class=\"fd-navigation__list-item fd-navigation__list-item--separator\"\n ></li>\n </ng-container>\n</ng-container>\n<ng-content></ng-content>\n","import { Injectable, WritableSignal, signal } from '@angular/core';\n\n@Injectable()\nexport class NavigationService {\n /** @hidden */\n hiddenItems: WritableSignal<Map<HTMLElement, boolean>> = signal(new Map());\n}\n","/* eslint-disable @angular-eslint/no-input-rename,@angular-eslint/no-host-metadata-property */\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DOWN_ARROW, UP_ARROW } from '@angular/cdk/keycodes';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n computed,\n forwardRef,\n inject,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { FdbViewMode } from '@fundamental-ngx/btp/shared';\nimport { CssClassBuilder, HasElementRef, KeyUtil, Nullable, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { debounceTime, merge, startWith, switchMap } from 'rxjs';\nimport { NavigationHomeDirective } from './directives/navigation-home.directive';\nimport { FdbNavigationComponent } from './navigation-component.token';\nimport { NavigationContentComponent } from './navigation-content.token';\nimport { NavigationLinkComponent } from './navigation-link.component';\nimport { FdbNavigationListComponent } from './navigation-list-component.token';\nimport { FdbNavigationListItemComponent } from './navigation-list-item-component.token';\nimport { NavigationListItemComponent } from './navigation-list/navigation-list-item.component';\nimport { NavigationListComponent } from './navigation-list/navigation-list.component';\nimport { NavigationService } from './navigation.service';\nimport { FdbNavigationState, FdbNavigationType } from './navigation.types';\n\n@Component({\n selector: 'fdb-navigation',\n template: `\n <ng-content></ng-content>\n <ng-template #defaultLinkTemplate>\n <a fdb-navigation-link glyph=\"home\" label=\"Home\"></a>\n </ng-template>\n `,\n styleUrls: ['./navigation.component.scss'],\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'navigation'\n },\n providers: [\n NavigationService,\n {\n provide: FdbNavigationComponent,\n useExisting: forwardRef(() => NavigationComponent)\n }\n ],\n imports: [NgIf, NgTemplateOutlet, NavigationListComponent, NavigationListItemComponent, NavigationLinkComponent]\n})\nexport class NavigationComponent\n extends FdbNavigationComponent\n implements OnChanges, OnInit, CssClassBuilder, HasElementRef, AfterViewInit\n{\n /** @hidden */\n @Input()\n class = '';\n\n /** @hidden */\n @Input('state')\n set _state(state: FdbNavigationState) {\n this.state.set(state);\n }\n\n /** @hidden */\n @Input('horizontal')\n set _horizontal(horizontal: boolean) {\n this.type.set(horizontal ? 'horizontal' : 'vertical');\n }\n\n /** @hidden */\n @Input('mode')\n set _mode(mode: FdbViewMode) {\n this.mode.set(mode);\n }\n\n /** @hidden */\n @Input('type')\n set _type(type: FdbNavigationType) {\n this.type.set(type);\n }\n\n /** @hidden */\n @Input({ alias: 'homeSeparator', transform: coerceBooleanProperty })\n set _homeSeparator(value: BooleanInput) {\n // It will always be a boolean, because of the transform\n this.homeSeparator.set(value as boolean);\n }\n\n /** @hidden */\n @ContentChild(NavigationHomeDirective)\n set _homeDirective(homeDirective: NavigationHomeDirective) {\n this.homeDirective.set(homeDirective);\n }\n\n /** @hidden */\n @ViewChild('defaultLinkTemplate')\n set _defaultLinkTemplate(templateRef: TemplateRef<any>) {\n this.defaultLinkTemplate.set(templateRef);\n }\n\n /** @hidden */\n @ContentChildren(FdbNavigationListItemComponent, { descendants: true })\n _navigationItems: QueryList<FdbNavigationListItemComponent>;\n\n /** @hidden */\n @ContentChildren(FdbNavigationListComponent, { descendants: true })\n _navigationLists: QueryList<FdbNavigationListComponent>;\n\n /** @hidden */\n @ContentChildren(NavigationContentComponent, { descendants: true })\n private readonly _navigationContents: QueryList<NavigationContentComponent>;\n\n /** @hidden */\n elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\n /**\n * Whether to show a separator between home item and the rest of the navigation items.\n * Default is true.\n */\n homeSeparator = signal(true);\n\n /** @hidden */\n mode = signal<FdbViewMode>('');\n /** @hidden */\n state = signal<FdbNavigationState>('expanded');\n /** @hidden */\n type = signal<FdbNavigationType>('vertical');\n /** @hidden */\n homeDirective = signal<NavigationHomeDirective | null>(null);\n\n /** @hidden */\n defaultLinkTemplate = signal<TemplateRef<any> | null>(null);\n /** @hidden */\n homeLinkTemplate = computed(() => {\n const homeDirective = this.homeDirective();\n return homeDirective ? homeDirective.templateRef : this.defaultLinkTemplate();\n });\n\n /** @hidden */\n private _keyboardEventsManager: Nullable<FocusKeyManager<FdbNavigationListItemComponent>>;\n\n /** @hidden */\n private readonly _isSnapped$ = toObservable(this.isSnapped);\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n this.class,\n 'fd-navigation',\n this.type() === 'horizontal' ? 'fd-navigation--horizontal' : 'fd-navigation--vertical',\n this.mode() ? `fd-navigation--${this.mode()}` : '',\n // Mobile mode should not support snapped state.\n this.isSnapped() || this.state() !== 'snapped' ? `fd-navigation--${this.state()}` : ''\n ];\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keyDownHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW])) {\n this._keyboardEventsManager?.onKeydown(event);\n }\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._navigationContents.changes\n .pipe(\n startWith(null),\n switchMap(() =>\n merge(this._isSnapped$, ...this._navigationContents.map((content) => content.refresh$)).pipe(\n startWith(null),\n debounceTime(5)\n )\n ),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => {\n const listItems = this._navigationContents.reduce(\n (items: FdbNavigationListItemComponent[], content) => {\n items.push(...content.getNavigatableItems());\n return items;\n },\n [] as FdbNavigationListItemComponent[]\n );\n\n // Reset keyboard manager.\n this._keyboardEventsManager?.destroy();\n const homeListItem = this._navigationLists.find((list) => !!list.homeListItem)?.homeListItem;\n if (homeListItem) {\n listItems.unshift(homeListItem);\n }\n\n this._keyboardEventsManager = new FocusKeyManager(listItems)\n .withVerticalOrientation(true)\n .skipPredicate((item) => {\n if (!item.elementRef.nativeElement.isConnected) {\n return true;\n }\n if (item.alwaysFocusable) {\n return false;\n }\n\n const moreOpened = this._navigationContents.some((c) => c.showMoreOpened());\n\n if (item.level() === 1) {\n if (!this.isSnapped()) {\n return false;\n }\n\n if (item.normalizedLevel() === 1) {\n return true;\n }\n\n return item._hidden() && !moreOpened;\n }\n\n if (this.isSnapped()) {\n if (\n item.inPortal() &&\n (item.parentListItemComponent?.isOpen || item.parentNavigationListComponent.focused) &&\n moreOpened\n ) {\n return false;\n }\n if (item._hidden()) {\n return true;\n }\n return item.parentListItemComponent?.expandedAttr() !== true;\n }\n\n const navigatable = item.parentListItemComponent?.fullPathExpanded() === false;\n\n return navigatable;\n });\n });\n }\n\n /** @hidden */\n setNextItemActive(): void {\n this._keyboardEventsManager?.setNextItemActive();\n }\n\n /** @hidden */\n setPreviousItemActive(): void {\n this._keyboardEventsManager?.setPreviousItemActive();\n }\n\n /** @hidden */\n setActiveItem(item: FdbNavigationListItemComponent): void {\n this._keyboardEventsManager?.setActiveItem(item);\n }\n\n /** @hidden */\n focusMoreButton(): void {\n const showMoreButton = this._navigationContents.find((c) => !!c.showMoreOverflowItem)?.showMoreOverflowItem;\n showMoreButton?.focus();\n showMoreButton?.collapse();\n }\n\n /** @hidden */\n getMoreButton(): Nullable<FdbNavigationListItemComponent> {\n return this._navigationContents.find((c) => !!c.showMoreOverflowItem)?.showMoreOverflowItem;\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { NavigationComponent } from '../navigation.component';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'li[fdb-navigation-list-spacer]',\n standalone: true,\n host: {\n class: 'fd-navigation__list-item fd-navigation__list-item--spacer',\n '[class.fd-navigation__list-item--spacer--hidden]': '_navigationComponent.isSnapped()'\n }\n})\nexport class NavigationItemSpacerDirective {\n /** @hidden */\n readonly _navigationComponent = inject(NavigationComponent);\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n QueryList,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Subject, startWith } from 'rxjs';\nimport { NavigationContentComponent } from './navigation-content.token';\nimport { FdbNavigationListItemComponent } from './navigation-list-item-component.token';\n\n@Component({\n selector: 'fdb-navigation-content-end',\n template: ` <ng-content></ng-content> `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NavigationContentComponent,\n useExisting: NavigationContentEndComponent\n }\n ],\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n class: 'fd-navigation__container fd-navigation__container--bottom'\n }\n})\nexport class NavigationContentEndComponent extends NavigationContentComponent implements AfterViewInit {\n /** @hidden */\n @ContentChildren(FdbNavigationListItemComponent, { descendants: true })\n private readonly _listItems: QueryList<FdbNavigationListItemComponent>;\n\n /** @hidden */\n showHome = false;\n\n /** @hidden */\n override refresh$ = new Subject<void>();\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listItems.changes.pipe(startWith(null), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this.refresh$.next();\n });\n }\n\n /** @hidden */\n getNavigatableItems(): FdbNavigationListItemComponent[] {\n return this._listItems.toArray();\n }\n\n /** @hidden */\n override showMoreOpened(): boolean {\n return false;\n }\n}\n","import { PortalModule } from '@angular/cdk/portal';\nimport { AsyncPipe, NgForOf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n effect\n} from '@angular/core';\nimport { PopoverService } from '@fundamental-ngx/core/popover';\nimport { FdbNavigationListItemComponent } from '../navigation-list-item-component.token';\nimport { NavigationListItemComponent } from './navigation-list-item.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'li[fdb-navigation-list-overflow-item]',\n standalone: true,\n imports: [PortalModule, AsyncPipe, NgForOf],\n providers: [\n PopoverService,\n {\n provide: FdbNavigationListItemComponent,\n useExisting: NavigationListOverflowItemComponent\n }\n ],\n templateUrl: './navigation-list-overflow-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NavigationListOverflowItemComponent extends NavigationListItemComponent {\n /** @hidden */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('hiddenItems')\n set _hiddenItems(items: FdbNavigationListItemComponent[]) {\n this.hiddenItems().forEach((item) => item.destroyPortal());\n items.forEach((item) => item.createPortal());\n this.hiddenItems.set(items);\n }\n\n /** @hidden */\n @ViewChild('childrenTemplate', { read: TemplateRef })\n _portal: TemplateRef<any>;\n\n /** @hidden */\n override additionalBodyClass = 'fd-navigation__list-container fd-navigation__list-container--menu';\n\n /** @hidden */\n constructor() {\n super();\n effect(\n () => {\n const items = this.hiddenItems();\n this.hasPortalChildren.set(items.length > 0);\n if (items.length === 0) {\n return;\n }\n },\n {\n allowSignalWrites: true\n }\n );\n }\n}\n","<div\n class=\"fd-navigation__item\"\n [class.fd-navigation__item--group]=\"isGroup()\"\n [class.fd-navigation__item--child]=\"parentNavigationListComponent.parentListComponent?.isParentGroupChild()\"\n aria-current=\"page\"\n [attr.aria-selected]=\"childrenActive() && navigationComponent.isSnapped() ? true : null\"\n [attr.aria-expanded]=\"expandedAttr()\"\n [attr.aria-level]=\"1\"\n #navigationItem\n role=\"menuitem\"\n>\n <ng-content select=\"[fdb-navigation-link]\"></ng-content>\n</div>\n<!-- Detach elements from their hosts immediately to fix issue with flickering elements. -->\n<ul hidden>\n <ng-template *ngFor=\"let item of hiddenItems()\" [cdkPortalOutlet]=\"item.domPortal\"></ng-template>\n</ul>\n<ng-template #childrenTemplate>\n <div class=\"fd-navigation__list-container--menu\">\n <ul class=\"fd-navigation__list fd-navigation__list--parent-items fd-menu__list\">\n <ng-template *ngFor=\"let item of hiddenItems()\" [cdkPortalOutlet]=\"item.domPortal\"></ng-template>\n </ul>\n </div>\n</ng-template>\n","/* eslint-disable no-unused-vars */\nimport { NgIf } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n DestroyRef,\n ElementRef,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n effect,\n inject,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Nullable, resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { Subject, asyncScheduler, debounceTime, distinctUntilChanged, filter, observeOn, startWith, tap } from 'rxjs';\nimport { FdbNavigationComponent } from './navigation-component.token';\nimport { NavigationContentComponent } from './navigation-content.token';\nimport { NavigationLinkComponent } from './navigation-link.component';\nimport { FdbNavigationListComponent } from './navigation-list-component.token';\nimport { FdbNavigationListItemComponent } from './navigation-list-item-component.token';\nimport { NavigationListItemComponent } from './navigation-list/navigation-list-item.component';\nimport { NavigationListOverflowItemComponent } from './navigation-list/navigation-list-overflow-item.component';\nimport { NavigationListComponent } from './navigation-list/navigation-list.component';\n\nconst FD_NAVIGATION_OVERFLOW_ITEM_CLASS = 'fd-navigation__container--hidden-overflow';\n\n@Component({\n selector: 'fdb-navigation-content-start',\n templateUrl: './navigation-content-start.component.html',\n standalone: true,\n imports: [\n NavigationListComponent,\n NavigationListItemComponent,\n NgIf,\n NavigationLinkComponent,\n NavigationListOverflowItemComponent\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NavigationContentComponent,\n useExisting: NavigationContentStartComponent\n }\n ],\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n class: 'fd-navigation__container fd-navigation__container--top',\n '[style.flex-grow]': '1'\n },\n hostDirectives: [ScrollbarDirective]\n})\nexport class NavigationContentStartComponent extends NavigationContentComponent implements AfterViewInit {\n /** @hidden */\n @ContentChildren(FdbNavigationListItemComponent, { descendants: true })\n private readonly _navigationItems: QueryList<FdbNavigationListItemComponent>;\n\n /** @hidden */\n @ContentChildren(FdbNavigationListComponent)\n private readonly _navigationLists: QueryList<FdbNavigationListComponent>;\n\n /** @hidden */\n @ViewChild('showMoreOverflowMenu', { static: false, read: ElementRef })\n private readonly _showMoreOverflow: ElementRef<HTMLElement>;\n\n /** @hidden */\n @ViewChild('showMoreOverflowItem', { static: false, read: FdbNavigationListItemComponent })\n private set _showMoreOverflowItemCmp(value: Nullable<FdbNavigationListItemComponent>) {\n this.showMoreOverflowItem = value;\n this.refresh$.next();\n }\n\n /** @hidden */\n linkTemplate = inject(FdbNavigationComponent).homeLinkTemplate;\n /** @hidden */\n showHome = true;\n\n /** @hidden */\n showOverflowButton = signal(false);\n\n /** @hidden */\n _hiddenItems: FdbNavigationListItemComponent[] = [];\n\n /** @hidden */\n override refresh$ = new Subject<void>();\n\n /** @hidden */\n private _calculationInProgress = false;\n\n /** @hidden */\n private readonly _canTrackItems = signal(false);\n\n /** @hidden */\n private readonly _navigationComponent = inject(FdbNavigationComponent);\n\n /** @hidden */\n private readonly _elementRef = inject(ElementRef<HTMLElement>);\n\n /** @hidden */\n private readonly _cdr = inject(ChangeDetectorRef);\n\n /** @hidden */\n private readonly _scrollbar = inject(ScrollbarDirective);\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor() {\n super();\n\n this._scrollbar.overrideTabindex = false;\n\n effect(\n () => {\n if (!this._canTrackItems()) {\n return;\n }\n // We need to also listen to snapped state.\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const snapped = this._navigationComponent.isSnapped();\n this._elementRef.nativeElement.scrollTop = 0;\n setTimeout(() => {\n this._calculateVisibleItems();\n });\n },\n {\n allowSignalWrites: true\n }\n );\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._canTrackItems.set(true);\n this._navigationItems.changes\n .pipe(startWith(null))\n .pipe(\n tap(() => {\n this.refresh$.next();\n }),\n filter(() => this._navigationItems?.length > 0),\n observeOn(asyncScheduler),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => {\n this._calculateVisibleItems();\n });\n\n resizeObservable(this._elementRef.nativeElement)\n .pipe(\n debounceTime(30),\n distinctUntilChanged((prev, current) => prev[0].contentRect.height === current[0].contentRect.height),\n filter(() => !this._calculationInProgress),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => {\n this._calculateVisibleItems();\n });\n }\n\n /** @hidden */\n getNavigatableItems(): FdbNavigationListItemComponent[] {\n const items = this._navigationItems.toArray();\n if (this.showMoreOverflowItem) {\n items.push(this.showMoreOverflowItem);\n }\n return items;\n }\n\n /** @hidden */\n showMoreOpened(): boolean {\n return !!this.showMoreOverflowItem?.isOpen;\n }\n\n /** @hidden */\n private _calculateVisibleItems(): void {\n if (this._calculationInProgress) {\n return;\n }\n this._calculationInProgress = true;\n this._hiddenItems = [];\n this._cdr.detectChanges();\n if (!this._navigationComponent.isSnapped()) {\n this._navigationItems.forEach((item) => {\n item.show();\n });\n this.showOverflowButton.set(false);\n setTimeout(() => {\n this._calculationInProgress = false;\n });\n return;\n }\n this._elementRef.nativeElement.classList.add(FD_NAVIGATION_OVERFLOW_ITEM_CLASS);\n this.showOverflowButton.set(true);\n this._cdr.detectChanges();\n let canDisplayItems = true;\n const containerHeight = this._elementRef.nativeElement.getBoundingClientRect().height;\n const showMoreHeight =\n (this.showMoreOverflowItem?.elementRef.nativeElement.getBoundingClientRect().height || 0) * 2;\n const homeElementSize = this._navigationLists.toArray().reduce((height, list) => {\n height += list.getHomeElementSize().height;\n return height;\n }, 0);\n let totalAvailableHeight = containerHeight - showMoreHeight - homeElementSize;\n\n const hiddenElements: FdbNavigationListItemComponent[] = [];\n\n const navigationItemGroups = this._navigationItems.reduce(\n (acc: { root: FdbNavigationListItemComponent[]; children: FdbNavigationListItemComponent[] }, item) => {\n const itemLevel = item.normalizedLevel();\n if (itemLevel > 2) {\n return acc;\n }\n acc[itemLevel === 1 ? 'root' : 'children'].push(item);\n return acc;\n },\n { root: [], children: [] }\n );\n\n this._navigationItems.forEach((item) => {\n item.show();\n });\n\n navigationItemGroups.children.forEach((item) => {\n item.calculateExpanded();\n if (!canDisplayItems) {\n item.hide();\n hiddenElements.push(item);\n return;\n }\n\n // item.show();\n\n totalAvailableHeight -= item.elementRef.nativeElement.getBoundingClientRect().height;\n\n if (totalAvailableHeight <= 0) {\n canDisplayItems = false;\n item.hide();\n hiddenElements.push(item);\n return;\n }\n });\n\n navigationItemGroups.root.forEach((item) => {\n item.checkSelfHidden();\n });\n\n this._elementRef.nativeElement.classList.remove(FD_NAVIGATION_OVERFLOW_ITEM_CLASS);\n\n this._handleOverflowItems(hiddenElements);\n setTimeout(() => {\n this._calculationInProgress = false;\n }, 5);\n }\n\n /** @hidden */\n private _handleOverflowItems(items: FdbNavigationListItemComponent[]): void {\n this.showOverflowButton.set(items.length > 0);\n this._hiddenItems = items;\n this._cdr.detectChanges();\n }\n}\n","<ng-content select=\"ul[fdb-navigation-list]\"></ng-content>\n\n<ng-container *ngIf=\"showOverflowButton()\">\n <ul fdb-navigation-list class=\"fd-navigation__list--no-grow\" [showHome]=\"false\" #showMoreOverflowMenu>\n <li\n fdb-navigation-list-overflow-item\n [alwaysFocusable]=\"true\"\n #showMoreOverflowItem\n [hiddenItems]=\"_hiddenItems\"\n >\n <a fdb-navigation-link glyph=\"overflow\" label=\"More Items\"></a>\n </li>\n </ul>\n</ng-container>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-btp-navigation.mjs","sources":["../../../../libs/btp/navigation/directives/navigation-home.directive.ts","../../../../libs/btp/navigation/navigation-component.token.ts","../../../../libs/btp/navigation/navigation-content.token.ts","../../../../libs/btp/navigation/navigation-list-component.token.ts","../../../../libs/btp/navigation/navigation-list-item-component.token.ts","../../../../libs/btp/navigation/navigation-link.component.ts","../../../../libs/btp/navigation/navigation-list/navigation-list-item.component.ts","../../../../libs/btp/navigation/navigation-list/navigation-list-item.component.html","../../../../libs/btp/navigation/navigation-list/navigation-list.component.ts","../../../../libs/btp/navigation/navigation-list/navigation-list.component.html","../../../../libs/btp/navigation/navigation.service.ts","../../../../libs/btp/navigation/navigation.component.ts","../../../../libs/btp/navigation/directives/navigation-list-spacer.directive.ts","../../../../libs/btp/navigation/navigation-content-end.component.ts","../../../../libs/btp/navigation/navigation-list/navigation-list-overflow-item.component.ts","../../../../libs/btp/navigation/navigation-list/navigation-list-overflow-item.component.html","../../../../libs/btp/navigation/navigation-content-start.component.ts","../../../../libs/btp/navigation/navigation-content-start.component.html","../../../../libs/btp/navigation/fundamental-ngx-btp-navigation.ts"],"sourcesContent":["import { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[fdbNavigationHome]',\n standalone: true\n})\nexport class NavigationHomeDirective {\n /** @hidden */\n constructor(readonly templateRef: TemplateRef<any>, private _viewContainerRef: ViewContainerRef) {}\n}\n","import { computed, Signal, TemplateRef } from '@angular/core';\nimport { FdbViewMode } from '@fundamental-ngx/btp/shared';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FdbNavigationListItemComponent } from './navigation-list-item-component.token';\nimport { FdbNavigationState, FdbNavigationType } from './navigation.types';\n\nexport abstract class FdbNavigationComponent {\n abstract state: Signal<FdbNavigationState>;\n abstract type: Signal<FdbNavigationType>;\n abstract mode: Signal<FdbViewMode>;\n abstract homeSeparator: Signal<boolean>;\n abstract homeLinkTemplate: Signal<TemplateRef<void> | null>;\n abstract setNextItemActive(): void;\n abstract setActiveItem(item: FdbNavigationListItemComponent): void;\n abstract setPreviousItemActive(): void;\n abstract keyDownHandler(event: KeyboardEvent): void;\n abstract focusMoreButton(): void;\n abstract getMoreButton(): Nullable<FdbNavigationListItemComponent>;\n\n /** @hidden */\n isSnapped = computed(() => this.state() === 'snapped' && !this.isPhone());\n /** @hidden */\n isPopup = computed(() => this.state() === 'popup' || this.isPhone());\n /** @hidden */\n isExpanded = computed(() => this.state() === 'expanded' && !this.isPhone());\n\n /** @hidden */\n isHorizontal = computed(() => this.type() === 'horizontal');\n /** @hidden */\n isVertical = computed(() => this.type() === 'vertical');\n\n /** @hidden */\n isDesktop = computed(() => this.mode() === '');\n /** @hidden */\n isTablet = computed(() => this.mode() === 'tablet');\n /** @hidden */\n isPhone = computed(() => this.mode() === 'phone');\n}\n","import { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { Observable } from 'rxjs';\nimport { FdbNavigationListItemComponent } from './navigation-list-item-component.token';\n\nexport abstract class NavigationContentComponent {\n abstract showHome: boolean;\n abstract refresh$: Observable<void>;\n abstract getNavigatableItems(): FdbNavigationListItemComponent[];\n abstract showMoreOpened(): boolean;\n\n /** @hidden */\n showMoreOverflowItem: Nullable<FdbNavigationListItemComponent>;\n}\n","import { QueryList, Signal } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FdbNavigationListItemComponent } from './navigation-list-item-component.token';\n\nexport abstract class FdbNavigationListComponent {\n abstract isParentGroupChild: Signal<boolean>;\n abstract isInGroup: Signal<boolean>;\n abstract level: Signal<number>;\n abstract normalizedLevel: Signal<number>;\n abstract parentListComponent: FdbNavigationListComponent | null;\n abstract homeListItem: Nullable<FdbNavigationListItemComponent>;\n abstract listItems: QueryList<FdbNavigationListItemComponent>;\n abstract focused: boolean;\n abstract getHomeElementSize(): { width: number; height: number };\n}\n","import { FocusableOption } from '@angular/cdk/a11y';\nimport { DomPortal } from '@angular/cdk/portal';\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n OnDestroy,\n Signal,\n WritableSignal,\n effect,\n inject,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { Nullable, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { BasePopoverClass, PopoverService } from '@fundamental-ngx/core/popover';\nimport { filter, of } from 'rxjs';\nimport { FdbNavigationComponent } from './navigation-component.token';\nimport { NavigationLinkComponent } from './navigation-link.component';\nimport { FdbNavigationListComponent } from './navigation-list-component.token';\n\n@Directive()\nexport abstract class FdbNavigationListItemComponent extends BasePopoverClass implements FocusableOption, OnDestroy {\n abstract elementRef: ElementRef<HTMLElement>;\n abstract expanded: WritableSignal<boolean>;\n abstract expandedAttr: Signal<boolean>;\n abstract fullPathExpanded: Signal<boolean>;\n abstract _isInPopover: Signal<boolean>;\n abstract inPortal: Signal<boolean>;\n abstract childNavigationListComponent: Signal<FdbNavigationListComponent | null>;\n abstract isGroup: Signal<boolean>;\n abstract level: Signal<number>;\n abstract normalizedLevel: Signal<number>;\n abstract routerLinkActive: WritableSignal<RouterLinkActive | null>;\n abstract routerLink: WritableSignal<RouterLink | null>;\n abstract parentListItemComponent: FdbNavigationListItemComponent | null;\n abstract alwaysFocusable: boolean;\n abstract linkComponent: Nullable<NavigationLinkComponent>;\n abstract domPortal: Nullable<DomPortal>;\n abstract focusOnClonedLink(): void;\n abstract expand(): void;\n abstract collapse(): void;\n abstract toggle(): void;\n abstract setSnappedActiveState(isActive: boolean): void;\n abstract focus(): void;\n abstract hide(): void;\n abstract show(): void;\n abstract calculateExpanded(): void;\n abstract checkSelfHidden(): void;\n abstract createPortal(): DomPortal;\n abstract destroyPortal(): void;\n\n /** @hidden */\n _hidden = signal(false);\n\n /** @hidden */\n hiddenItems = signal<FdbNavigationListItemComponent[]>([]);\n\n /** @hidden */\n navigationComponent = inject(FdbNavigationComponent);\n\n /** @hidden */\n hasPortalChildren = signal(false);\n\n /** @hidden */\n childFocused = signal(false);\n\n /** @hidden */\n parentNavigationListComponent = inject(FdbNavigationListComponent);\n\n /** @hidden */\n protected readonly _rtl = inject(RtlService, { optional: true });\n\n /** @hidden */\n protected readonly _isRtl = toSignal(this._rtl?.rtl || of(false), { requireSync: true });\n\n /** @hidden */\n protected readonly _popoverService = inject(PopoverService);\n\n /** @hidden */\n protected readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private _listenToSnappedExpandedState = true;\n\n /** @hidden */\n constructor() {\n super();\n this._rtl?.rtl.pipe(takeUntilDestroyed()).subscribe((isRtl) => {\n this.placement = isRtl ? 'left-start' : 'right-start';\n this._popoverService.refreshConfiguration(this);\n });\n\n effect(() => {\n this.isOpen = this.expanded();\n });\n\n effect(() => {\n const hasChildren = this.childNavigationListComponent() || this.hasPortalChildren();\n const isSnapped = this.navigationComponent.isSnapped();\n const shouldDisable = !isSnapped || !hasChildren || this._hidden();\n this._listenToSnappedExpandedState = true;\n this._popoverService.setIgnoreTriggers(shouldDisable);\n this._popoverService.disabled = shouldDisable;\n });\n\n effect(\n () => {\n if (!this._listenToSnappedExpandedState && !this._hidden()) {\n return;\n }\n if (this.navigationComponent.isSnapped() && this.expanded() && this.normalizedLevel() > 1) {\n this.expanded.set(false);\n this.isOpen = false;\n this._popoverService.refreshConfiguration(this);\n this._listenToSnappedExpandedState = false;\n }\n },\n {\n allowSignalWrites: true\n }\n );\n\n effect(() => {\n const activeRouterLink = this.routerLinkActive();\n activeRouterLink?.isActiveChange.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((isActive) => {\n this.parentListItemComponent?.setSnappedActiveState(isActive);\n });\n });\n\n this.isOpenChange\n .pipe(\n filter(() => this.navigationComponent.isSnapped()),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe((isOpen) => {\n this.isOpen = isOpen;\n this.expanded.set(isOpen);\n if (!this.isOpen) {\n // this.focus();\n }\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._popoverService.close();\n this._popoverService.onDestroy();\n }\n}\n","/* eslint-disable @angular-eslint/no-host-metadata-property */\nimport { AsyncPipe, NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { CssClassBuilder, HasElementRef, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { FdbNavigationComponent } from './navigation-component.token';\nimport { FdbNavigationListItemComponent } from './navigation-list-item-component.token';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[fdb-navigation-link]',\n template: `\n <ng-container *ngIf=\"glyph\">\n <fd-icon\n [glyph]=\"glyph\"\n class=\"fd-navigation__icon\"\n [attr.role]=\"'presentation'\"\n [ariaHidden]=\"true\"\n ></fd-icon>\n </ng-container>\n <ng-template #textRenderer>\n <span class=\"fd-navigation__text\">{{ label }}</span>\n <span\n class=\"fd-navigation__external-link-indicator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n aria-label=\"external link indicator\"\n *ngIf=\"external\"\n ></span>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"textRenderer\" />\n <span\n class=\"fd-navigation__selection-indicator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n aria-label=\"selection indicator\"\n >\n </span>\n <span\n *ngIf=\"\n navigationListItemComponent?.childNavigationListComponent() &&\n navigationListItemComponent?.normalizedLevel() !== 3 &&\n !_routerLink\n \"\n class=\"fd-navigation__has-children-indicator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n aria-label=\"has children indicator, expanded\"\n >\n </span>\n `,\n imports: [NgIf, IconComponent, AsyncPipe, NgTemplateOutlet],\n hostDirectives: [RouterLinkActive],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n role: 'link'\n }\n})\nexport class NavigationLinkComponent implements OnInit, OnChanges, CssClassBuilder, HasElementRef {\n /** @hidden */\n @Input()\n class: string;\n\n /** @hidden */\n @Input()\n glyph: string;\n\n /** Label to be displayed as a link text. */\n @Input({ required: true })\n label: string;\n\n /** Whether the link is for the external resource. */\n @Input()\n external = false;\n\n /** @hidden */\n @ViewChild('textRenderer')\n textRenderer: TemplateRef<any>;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n _tabindex = 0;\n\n /** @hidden */\n readonly elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\n /** @hidden */\n readonly _routerLink = inject(RouterLink, {\n optional: true,\n self: true\n });\n\n /** @hidden */\n readonly _routerLinkActive = inject(RouterLinkActive, { optional: true });\n\n /**\n * If user applies RouterLink, we need to check if the link is active\n * @hidden\n **/\n protected isActive = toSignal(inject(RouterLinkActive).isActiveChange);\n\n /** @hidden */\n protected navigationListItemComponent = inject(FdbNavigationListItemComponent);\n\n /** @hidden */\n private readonly _navigationComponent = inject(FdbNavigationComponent);\n\n /** @hidden */\n constructor() {\n this.navigationListItemComponent.linkComponent = this;\n this.navigationListItemComponent.routerLink.set(this._routerLink);\n this.navigationListItemComponent.routerLinkActive.set(this._routerLinkActive);\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [this.class || '', 'fd-navigation__link'];\n }\n\n /** @hidden */\n @HostListener('click')\n private _onClick(): void {\n if (this.navigationListItemComponent.childNavigationListComponent()) {\n this.navigationListItemComponent.toggle();\n }\n }\n\n /** @hidden */\n @HostListener('focus')\n private _focusHandler(): void {\n this._navigationComponent.setActiveItem(this.navigationListItemComponent);\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n}\n","/* eslint-disable @angular-eslint/no-input-rename */\nimport { FocusableOption } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, UP_ARROW } from '@angular/cdk/keycodes';\nimport { DomPortal } from '@angular/cdk/portal';\nimport { AsyncPipe, NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n HostListener,\n Injector,\n Input,\n OnChanges,\n OnInit,\n QueryList,\n Signal,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n computed,\n effect,\n inject,\n signal\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport {\n CssClassBuilder,\n HasElementRef,\n KeyUtil,\n Nullable,\n TabbableElementService,\n applyCssClass\n} from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { PopoverComponent, PopoverControlComponent, PopoverService } from '@fundamental-ngx/core/popover';\nimport { FdbNavigationComponent } from '../navigation-component.token';\nimport { NavigationLinkComponent } from '../navigation-link.component';\nimport { FdbNavigationListComponent } from '../navigation-list-component.token';\nimport { FdbNavigationListItemComponent } from '../navigation-list-item-component.token';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'li[fdb-navigation-list-item]',\n templateUrl: './navigation-list-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n PopoverService,\n {\n provide: FdbNavigationListItemComponent,\n useExisting: NavigationListItemComponent\n }\n ],\n imports: [\n AsyncPipe,\n NgIf,\n NgTemplateOutlet,\n PopoverComponent,\n PopoverControlComponent,\n RouterLink,\n ButtonComponent,\n IconComponent\n ],\n standalone: true\n})\nexport class NavigationListItemComponent\n extends FdbNavigationListItemComponent\n implements OnInit, OnChanges, CssClassBuilder, HasElementRef, AfterViewInit, FocusableOption\n{\n /** @hidden */\n @Input()\n class: Nullable<string>;\n\n /** @hidden */\n @Input()\n set group(group: boolean) {\n this.isGroup.set(group);\n }\n\n /** @hidden */\n @Input('expanded')\n set _expanded(expanded: boolean) {\n this.expanded.set(expanded);\n }\n\n /** @hidden */\n @Input()\n linkTemplate: TemplateRef<void>;\n\n /** @hidden */\n @Input()\n alwaysFocusable = false;\n\n /** @hidden */\n @ContentChild(FdbNavigationListComponent)\n set _navigationListComponent(navigationListComponent: FdbNavigationListComponent) {\n this.childNavigationListComponent.set(navigationListComponent);\n }\n\n /** @hidden */\n @ContentChild(RouterLinkActive)\n set _routerLinkActive(routerLinkActive: RouterLinkActive) {\n this.routerLinkActive.set(routerLinkActive);\n }\n\n /** @hidden */\n @ContentChild(RouterLink)\n set _routerLink(routerLink: RouterLink) {\n this.routerLink.set(routerLink);\n }\n\n /** @hidden */\n @ViewChild('childrenTemplate', { read: TemplateRef })\n set _childrenTemplate(templateRef: TemplateRef<void>) {\n this.childrenTemplate.set(templateRef);\n }\n\n /** @hidden */\n @ViewChild('navigationItem')\n _navigationItem: ElementRef;\n\n /** @hidden */\n @ContentChild(NavigationLinkComponent)\n linkComponent: Nullable<NavigationLinkComponent>;\n\n /** @hidden */\n @ContentChildren(FdbNavigationListItemComponent, { descendants: true })\n private readonly _childNavigationListItems: QueryList<FdbNavigationListItemComponent>;\n\n /** @hidden */\n @ViewChild('clonedMainLink', { static: false, read: ElementRef })\n private readonly _clonedMainLink: Nullable<ElementRef>;\n\n /** @hidden */\n injector = inject(Injector);\n\n /** @hidden */\n elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\n /** @hidden */\n parentListItemComponent = inject(FdbNavigationListItemComponent, { optional: true, skipSelf: true });\n\n /** @hidden */\n override noArrow = false;\n\n /** @hidden */\n override additionalBodyClass = 'fd-navigation__list-container';\n\n /** @hidden */\n routerLink = signal<RouterLink | null>(null);\n\n /** @hidden */\n routerLinkActive = signal<RouterLinkActive | null>(null);\n\n /** @hidden */\n isRouterLinkActive = computed(() => {\n const routerLinkActive = this.routerLinkActive();\n if (routerLinkActive) {\n return toSignal(routerLinkActive.isActiveChange, {\n initialValue: routerLinkActive.isActive,\n injector: this.injector\n })();\n }\n return false;\n });\n\n /** @hidden */\n childNavigationListComponent = signal<FdbNavigationListComponent | null>(null);\n /** @hidden */\n expanded = signal(false);\n\n /** @hidden */\n fullPathExpanded = computed(\n () => (this.parentListItemComponent ? this.parentListItemComponent.expanded() : true) && this.expanded()\n );\n\n /** @hidden */\n isGroup = signal(false);\n\n /** @hidden */\n childrenTemplate = signal<TemplateRef<void> | null>(null);\n\n /** @hidden */\n childrenActive = signal(false);\n\n /** @hidden */\n inPortal = computed(() => this.parentInPortal() || this._selfInPortal());\n\n /** @hidden */\n parentInPortal = computed(() => this.parentListItemComponent?.inPortal() || false);\n\n /**\n * Used in attribute only. For actual calculation of level of nesting use `normalizedLevel`.\n */\n get level(): Signal<number> {\n return this.parentNavigationListComponent.level;\n }\n\n /**\n * Used for calculation of the level of inclusion. Can be different than the actual level due to ability to mix grouped lists with ungrouped.\n * For ungrouped lists will add +1 for the first list in the hierarchy to mimic group existence.\n */\n normalizedLevel = computed(() => {\n if (this.parentNavigationListComponent.isInGroup() || this.isGroup()) {\n return this.level();\n }\n return this.level() + 1;\n });\n\n /** @hidden */\n _isInPopover = computed(\n () => this.navigationComponent.isSnapped() && (this.normalizedLevel() > 2 || this._hidden())\n );\n\n /** @hidden */\n // eslint-disable-next-line max-len\n expandedAttr = computed(\n () =>\n (this.expanded() ||\n (this.normalizedLevel() === 1 &&\n !!this.childNavigationListComponent() &&\n this.navigationComponent.isSnapped())) &&\n !this._hidden()\n );\n\n /**\n * Icon which should be used for the toggle button.\n **/\n toggleIcon = computed(() => {\n if (this.expandedAttr()) {\n return 'slim-arrow-down';\n }\n return this._isRtl() ? 'slim-arrow-left' : 'slim-arrow-right';\n });\n\n /** @hidden */\n domPortal: Nullable<DomPortal>;\n\n /** @hidden */\n private _selfInPortal = signal(false);\n\n /** @hidden */\n private readonly _cdr = inject(ChangeDetectorRef);\n\n /** @hidden */\n private readonly _tabbableService = inject(TabbableElementService);\n\n /** @hidden */\n private readonly _navigationComponent = inject(FdbNavigationComponent);\n\n /** @hidden */\n constructor() {\n super();\n effect(() => {\n this.additionalBodyComponentClasses = [\n 'fd-navigation',\n 'fd-navigation--snapped',\n `fd-navigation--${this.navigationComponent.mode()}`\n ]\n .filter((klass) => !!klass)\n .join(' ');\n this._popoverService.updateContent(null, this.childrenTemplate());\n });\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [this.class || '', 'fd-navigation__list-item'];\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n private _keydownHandler(event: KeyboardEvent): void {\n if (this._isInPopover() && KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW])) {\n event.stopImmediatePropagation();\n if (this._hidden() || this.parentListItemComponent?._hidden()) {\n const hiddenItems = this.navigationComponent.getMoreButton()?.hiddenItems() || [];\n const firstLevelHiddenElementCondition =\n hiddenItems &&\n ((KeyUtil.isKeyCode(event, UP_ARROW) &&\n this.elementRef.nativeElement === hiddenItems[0]?.elementRef.nativeElement) ||\n (KeyUtil.isKeyCode(event, DOWN_ARROW) &&\n this.elementRef.nativeElement ===\n hiddenItems[hiddenItems.length - 1]?.elementRef.nativeElement));\n\n const secondLevelHiddenElementCondition =\n this.normalizedLevel() > 2 &&\n ((KeyUtil.isKeyCode(event, UP_ARROW) &&\n this.parentNavigationListComponent.listItems.first === this) ||\n (KeyUtil.isKeyCode(event, DOWN_ARROW) &&\n this.parentNavigationListComponent.listItems.last === this));\n\n if (firstLevelHiddenElementCondition || secondLevelHiddenElementCondition) {\n return;\n }\n this.navigationComponent.keyDownHandler(event);\n return;\n }\n if (KeyUtil.isKeyCode(event, UP_ARROW) && this.parentNavigationListComponent.listItems.first === this) {\n this.parentListItemComponent?.focusOnClonedLink();\n }\n if (\n (KeyUtil.isKeyCode(event, UP_ARROW) && this.parentNavigationListComponent.listItems.first === this) ||\n (KeyUtil.isKeyCode(event, DOWN_ARROW) && this.parentNavigationListComponent.listItems.last === this)\n ) {\n return;\n }\n this.navigationComponent.keyDownHandler(event);\n return;\n }\n if (!KeyUtil.isKeyCode(event, [LEFT_ARROW, RIGHT_ARROW])) {\n return;\n }\n event.stopImmediatePropagation();\n const shouldExpand = !this._isCollapseAction(event);\n\n if (!this.navigationComponent.isSnapped()) {\n this._expandedStateKeyboardHandler(shouldExpand);\n } else {\n this._snappedStateKeyboardHandler(shouldExpand);\n }\n }\n\n /** @hidden */\n clonedMainLinkKeydown(event: KeyboardEvent): void {\n if (this._isCollapseAction(event)) {\n this._popoverService.close();\n this.focus();\n return;\n }\n\n if (KeyUtil.isKeyCode(event, DOWN_ARROW)) {\n this._childNavigationListItems.first?.focus();\n }\n }\n\n /** @hidden */\n calculateExpanded(): void {\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n focus(): void {\n if (this.linkComponent) {\n this.linkComponent.elementRef.nativeElement.focus();\n } else {\n this._tabbableService.getTabbableElement(this.elementRef.nativeElement, false, true)?.focus();\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._popoverService.updateTriggerElement(this._navigationItem);\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n this._popoverService.refreshConfiguration(this);\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n collapse(): void {\n this.expanded.set(false);\n this._popoverService.close();\n }\n\n /** @hidden */\n expand(): void {\n this.expanded.set(true);\n }\n\n /** @hidden */\n toggle(): void {\n if (this._hidden()) {\n return;\n }\n this.expanded.set(!this.expanded());\n }\n\n /** @hidden */\n setSnappedActiveState(isActive: boolean): void {\n this.childrenActive.set(isActive);\n }\n\n /** @hidden */\n hide(): void {\n this._hidden.set(true);\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n show(): void {\n this._hidden.set(false);\n this.elementRef.nativeElement.style.display = 'flex';\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n checkSelfHidden(): void {\n const shouldHide = this._childNavigationListItems\n ?.filter((item) => item.normalizedLevel() === this.normalizedLevel() + 1)\n .every((item) => item._hidden());\n this._hidden.set(shouldHide);\n this.isOpen = shouldHide;\n this.elementRef.nativeElement.style.display = shouldHide ? 'none' : 'flex';\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n focusOnClonedLink(): void {\n if (this._clonedMainLink) {\n this._clonedMainLink.nativeElement.focus();\n return;\n }\n\n const hiddenItems = this.hiddenItems();\n\n if (hiddenItems.length > 0) {\n this._tabbableService.getTabbableElement(hiddenItems[0]?.elementRef.nativeElement)?.focus();\n }\n }\n\n /** @hidden */\n createPortal(): DomPortal {\n this.domPortal = this.domPortal || new DomPortal(this.elementRef.nativeElement);\n this._selfInPortal.set(true);\n return this.domPortal;\n }\n\n /** @hidden */\n destroyPortal(): void {\n if (this.domPortal?.isAttached) {\n this.domPortal.detach();\n this.domPortal = null;\n }\n this._selfInPortal.set(false);\n }\n\n /** @hidden */\n private _isCollapseAction(event: KeyboardEvent): boolean {\n const expandKey = this._rtl?.rtl.value ? RIGHT_ARROW : LEFT_ARROW;\n return KeyUtil.isKeyCode(event, expandKey);\n }\n\n /** @hidden */\n private _expandedStateKeyboardHandler(shouldExpand: boolean): void {\n if (shouldExpand && this.expanded()) {\n this.navigationComponent.setNextItemActive();\n return;\n }\n\n if (!shouldExpand && !this.expanded() && this.parentListItemComponent) {\n this.navigationComponent.setActiveItem(this.parentListItemComponent);\n return;\n }\n\n if (!shouldExpand && this.childNavigationListComponent()) {\n if (!this.expanded()) {\n this.navigationComponent.setPreviousItemActive();\n } else {\n this.expanded.set(false);\n }\n }\n\n this.expanded.set(shouldExpand);\n }\n\n /** @hidden */\n private _snappedStateKeyboardHandler(shouldExpand: boolean): void {\n if (shouldExpand && this._hidden()) {\n this.expanded.set(shouldExpand);\n this._childNavigationListItems.first?.focus();\n this.childFocused.set(true);\n return;\n }\n if (shouldExpand) {\n if (this.expanded()) {\n this._childNavigationListItems.first?.focus();\n return;\n }\n\n this.expanded.set(shouldExpand);\n this._popoverService.open();\n setTimeout(() => {\n this.focusOnClonedLink();\n });\n } else {\n this.expanded.set(shouldExpand);\n this._popoverService.close();\n\n if (!this.inPortal()) {\n this.focus();\n }\n\n if (this.inPortal() && this.normalizedLevel() === 2) {\n this._navigationComponent.focusMoreButton();\n } else {\n this.parentListItemComponent?.focus();\n }\n }\n }\n}\n","<div\n class=\"fd-navigation__item\"\n [class.fd-navigation__item--group]=\"isGroup()\"\n [class.fd-navigation__item--overflow]=\"_hidden()\"\n [class.fd-navigation__item--child]=\"normalizedLevel() > 2\"\n [class.fd-navigation__item--with-expander]=\"\n childNavigationListComponent() && normalizedLevel() < 3 && linkComponent?._routerLink\n \"\n aria-current=\"page\"\n [attr.aria-selected]=\"isRouterLinkActive() || (childrenActive() && navigationComponent.isSnapped()) ? true : null\"\n [attr.aria-expanded]=\"expandedAttr()\"\n [attr.aria-level]=\"level()\"\n #navigationItem\n role=\"menuitem\"\n>\n <ng-container *ngIf=\"linkTemplate\">\n <ng-template [ngTemplateOutlet]=\"linkTemplate\" [ngTemplateOutletInjector]=\"injector\"></ng-template>\n </ng-container>\n <ng-content select=\"[fdb-navigation-link]\"></ng-content>\n <button\n (click)=\"toggle()\"\n *ngIf=\"childNavigationListComponent() && normalizedLevel() < 3 && linkComponent?._routerLink\"\n fd-button\n class=\"fd-button--nested fd-navigation__expander\"\n >\n <fd-icon [glyph]=\"toggleIcon()\"></fd-icon>\n </button>\n</div>\n<ng-container\n *ngIf=\"\n (childNavigationListComponent() && !navigationComponent.isSnapped()) ||\n (navigationComponent.isSnapped() && normalizedLevel() < 2) ||\n _hidden()\n \"\n>\n <ng-template [ngTemplateOutlet]=\"childrenTemplate\" [ngTemplateOutletInjector]=\"injector\"></ng-template>\n</ng-container>\n\n<ng-template #childrenTemplate>\n <ng-template #childNavigationLists>\n <ng-content select=\"ul[fdb-navigation-list]\"></ng-content>\n </ng-template>\n\n <ng-container *ngIf=\"isGroup(); else withWrapper\">\n <ng-template [ngTemplateOutlet]=\"childNavigationLists\" [ngTemplateOutletInjector]=\"injector\"></ng-template>\n </ng-container>\n <ng-template #withWrapper>\n <ng-template #popoverTemplate>\n <!-- fd-navigation__list-container -->\n <div\n *ngIf=\"childNavigationListComponent()\"\n [class.fd-navigation__list-container]=\"!navigationComponent.isSnapped()\"\n aria-hidden=\"true\"\n >\n <div class=\"fd-navigation__list-wrapper popover-wrapper\" aria-hidden=\"true\">\n <div\n *ngIf=\"linkComponent && navigationComponent.isSnapped()\"\n class=\"fd-navigation__item fd-navigation__item--title fd-navigation__item--child\"\n aria-level=\"1\"\n role=\"treeitem\"\n aria-expanded=\"true\"\n [attr.aria-selected]=\"isRouterLinkActive()\"\n >\n <a\n class=\"fd-navigation__link\"\n [routerLink]=\"$any(routerLink())?.commands\"\n role=\"button\"\n tabindex=\"0\"\n (keydown)=\"clonedMainLinkKeydown($event)\"\n #clonedMainLink\n >\n <span\n class=\"fd-navigation__icon sap-icon--basket\"\n role=\"presentation\"\n aria-hidden=\"true\"\n ></span>\n <ng-container *ngTemplateOutlet=\"linkComponent.textRenderer!\"></ng-container>\n <span class=\"fd-navigation__selection-indicator\"></span>\n </a>\n </div>\n <ng-template\n [ngTemplateOutlet]=\"childNavigationLists\"\n [ngTemplateOutletInjector]=\"injector\"\n ></ng-template>\n </div>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"_hidden()\" [ngIfElse]=\"popoverTemplate\">\n <div\n *ngIf=\"childNavigationListComponent()\"\n class=\"fd-navigation__list-container fd-navigation__list-container--submenu fd-menu__sublist\"\n >\n <div class=\"fd-navigation__list-wrapper\">\n <ng-template\n [ngTemplateOutlet]=\"childNavigationLists\"\n [ngTemplateOutletInjector]=\"injector\"\n ></ng-template>\n </div>\n </div>\n </ng-template>\n </ng-template>\n</ng-template>\n","/* eslint-disable @angular-eslint/no-host-metadata-property */\nimport { NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChildren,\n ElementRef,\n HostListener,\n inject,\n Input,\n OnChanges,\n OnInit,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { applyCssClass, CssClassBuilder, HasElementRef, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FdbNavigationComponent } from '../navigation-component.token';\nimport { NavigationContentComponent } from '../navigation-content.token';\nimport { FdbNavigationListComponent } from '../navigation-list-component.token';\nimport { FdbNavigationListItemComponent } from '../navigation-list-item-component.token';\nimport { NavigationListItemComponent } from './navigation-list-item.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'ul[fdb-navigation-list]',\n templateUrl: './navigation-list.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n role: 'menubar',\n '[attr.aria-hidden]': 'true'\n },\n providers: [\n {\n provide: FdbNavigationListComponent,\n useExisting: NavigationListComponent\n }\n ],\n imports: [NgIf, NavigationListItemComponent]\n})\nexport class NavigationListComponent\n implements OnInit, OnChanges, CssClassBuilder, HasElementRef, FdbNavigationListComponent\n{\n /** @hidden */\n @Input()\n class: Nullable<string>;\n\n /** @hidden */\n @Input()\n showHome = true;\n\n /** @hidden */\n @ContentChildren(FdbNavigationListItemComponent)\n readonly listItems: QueryList<FdbNavigationListItemComponent>;\n\n /** @hidden */\n @ViewChild('homeListItem', { static: false, read: FdbNavigationListItemComponent })\n readonly homeListItem: Nullable<FdbNavigationListItemComponent>;\n\n /** @hidden */\n @ViewChild('homeListItem', { static: false, read: ElementRef })\n private readonly _homeListItemElement: Nullable<ElementRef<HTMLElement>>;\n\n /** @hidden */\n @ViewChild('homeListSeparator', { static: false, read: ElementRef })\n private readonly _homeListSeparator: Nullable<ElementRef<HTMLElement>>;\n\n /** @hidden */\n navigationContentComponent = inject(NavigationContentComponent);\n\n /** @hidden */\n parentListItemComponent = inject(FdbNavigationListItemComponent, { optional: true });\n\n /** @hidden */\n parentListComponent = inject(FdbNavigationListComponent, { optional: true, skipSelf: true });\n\n /** @hidden */\n linkTemplate = computed(() => {\n const homeLinkTemplate = this._navigationComponent.homeLinkTemplate();\n return !this.parentListComponent && homeLinkTemplate;\n });\n\n /** @hidden */\n elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\n /** @hidden */\n isParentGroupChild = computed(() => this.parentListItemComponent?.isGroup() ?? false);\n\n /** @hidden */\n isInGroup = computed(() => this.isParentGroupChild() || !!this.parentListComponent?.isParentGroupChild());\n\n /** @hidden */\n level = computed(() => (this.parentListComponent ? this.parentListComponent.level() + 1 : 1));\n\n /** @hidden */\n normalizedLevel = computed(() => (this.isInGroup() ? this.level() : this.level() + (this.level() === 2 ? 1 : 0)));\n\n /** @hidden */\n focused = false;\n\n /** @hidden */\n readonly _navigationComponent = inject(FdbNavigationComponent);\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n this.class || '',\n 'fd-navigation__list',\n this.isParentGroupChild() ? 'fd-navigation__list--parent-items' : '',\n this.parentListComponent?.isParentGroupChild() ? 'fd-navigation__list--child-items' : ''\n ];\n }\n\n /** @hidden */\n @HostListener('focusin')\n private _focusIn(): void {\n this.focused = true;\n }\n\n /** @hidden */\n @HostListener('focusout')\n private _focusOut(): void {\n this.focused = false;\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n getHomeElementSize(): { width: number; height: number } {\n const sizePlaceholder = { width: 0, height: 0 };\n const homeListItemSize = this._homeListItemElement?.nativeElement.getBoundingClientRect() || sizePlaceholder;\n const homeListSeparatorSize = this._homeListSeparator?.nativeElement.getBoundingClientRect() || sizePlaceholder;\n return {\n width: homeListItemSize.width + homeListSeparatorSize.width,\n height: homeListItemSize.height + homeListSeparatorSize.height\n };\n }\n}\n","<ng-container *ngIf=\"showHome && navigationContentComponent.showHome\">\n <ng-container *ngIf=\"linkTemplate() as tmp\">\n <li\n fdb-navigation-list-item\n [linkTemplate]=\"tmp\"\n [alwaysFocusable]=\"true\"\n #homeListItem\n [class.fd-navigation-list-item--home-without-separator]=\"!_navigationComponent.homeSeparator()\"\n class=\"fd-navigation__list-item--home\"\n ></li>\n <li\n *ngIf=\"_navigationComponent.homeSeparator()\"\n #homeListSeparator\n class=\"fd-navigation__list-item fd-navigation__list-item--separator\"\n ></li>\n </ng-container>\n</ng-container>\n<ng-content></ng-content>\n","import { Injectable, WritableSignal, signal } from '@angular/core';\n\n@Injectable()\nexport class NavigationService {\n /** @hidden */\n hiddenItems: WritableSignal<Map<HTMLElement, boolean>> = signal(new Map());\n}\n","/* eslint-disable @angular-eslint/no-input-rename,@angular-eslint/no-host-metadata-property */\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DOWN_ARROW, UP_ARROW } from '@angular/cdk/keycodes';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n computed,\n forwardRef,\n inject,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { FdbViewMode } from '@fundamental-ngx/btp/shared';\nimport { CssClassBuilder, HasElementRef, KeyUtil, Nullable, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { debounceTime, merge, startWith, switchMap } from 'rxjs';\nimport { NavigationHomeDirective } from './directives/navigation-home.directive';\nimport { FdbNavigationComponent } from './navigation-component.token';\nimport { NavigationContentComponent } from './navigation-content.token';\nimport { NavigationLinkComponent } from './navigation-link.component';\nimport { FdbNavigationListComponent } from './navigation-list-component.token';\nimport { FdbNavigationListItemComponent } from './navigation-list-item-component.token';\nimport { NavigationListItemComponent } from './navigation-list/navigation-list-item.component';\nimport { NavigationListComponent } from './navigation-list/navigation-list.component';\nimport { NavigationService } from './navigation.service';\nimport { FdbNavigationState, FdbNavigationType } from './navigation.types';\n\n@Component({\n selector: 'fdb-navigation',\n template: `\n <ng-content></ng-content>\n <ng-template #defaultLinkTemplate>\n <a fdb-navigation-link glyph=\"home\" label=\"Home\"></a>\n </ng-template>\n `,\n styleUrls: ['./navigation.component.scss'],\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'navigation'\n },\n providers: [\n NavigationService,\n {\n provide: FdbNavigationComponent,\n useExisting: forwardRef(() => NavigationComponent)\n }\n ],\n imports: [NgIf, NgTemplateOutlet, NavigationListComponent, NavigationListItemComponent, NavigationLinkComponent]\n})\nexport class NavigationComponent\n extends FdbNavigationComponent\n implements OnChanges, OnInit, CssClassBuilder, HasElementRef, AfterViewInit\n{\n /** @hidden */\n @Input()\n class = '';\n\n /** @hidden */\n @Input('state')\n set _state(state: FdbNavigationState) {\n this.state.set(state);\n }\n\n /** @hidden */\n @Input('horizontal')\n set _horizontal(horizontal: boolean) {\n this.type.set(horizontal ? 'horizontal' : 'vertical');\n }\n\n /** @hidden */\n @Input('mode')\n set _mode(mode: FdbViewMode) {\n this.mode.set(mode);\n }\n\n /** @hidden */\n @Input('type')\n set _type(type: FdbNavigationType) {\n this.type.set(type);\n }\n\n /** @hidden */\n @Input({ alias: 'homeSeparator', transform: coerceBooleanProperty })\n set _homeSeparator(value: BooleanInput) {\n // It will always be a boolean, because of the transform\n this.homeSeparator.set(value as boolean);\n }\n\n /** @hidden */\n @ContentChild(NavigationHomeDirective)\n set _homeDirective(homeDirective: NavigationHomeDirective) {\n this.homeDirective.set(homeDirective);\n }\n\n /** @hidden */\n @ViewChild('defaultLinkTemplate')\n set _defaultLinkTemplate(templateRef: TemplateRef<any>) {\n this.defaultLinkTemplate.set(templateRef);\n }\n\n /** @hidden */\n @ContentChildren(FdbNavigationListItemComponent, { descendants: true })\n _navigationItems: QueryList<FdbNavigationListItemComponent>;\n\n /** @hidden */\n @ContentChildren(FdbNavigationListComponent, { descendants: true })\n _navigationLists: QueryList<FdbNavigationListComponent>;\n\n /** @hidden */\n @ContentChildren(NavigationContentComponent, { descendants: true })\n private readonly _navigationContents: QueryList<NavigationContentComponent>;\n\n /** @hidden */\n elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\n /**\n * Whether to show a separator between home item and the rest of the navigation items.\n * Default is true.\n */\n homeSeparator = signal(true);\n\n /** @hidden */\n mode = signal<FdbViewMode>('');\n /** @hidden */\n state = signal<FdbNavigationState>('expanded');\n /** @hidden */\n type = signal<FdbNavigationType>('vertical');\n /** @hidden */\n homeDirective = signal<NavigationHomeDirective | null>(null);\n\n /** @hidden */\n defaultLinkTemplate = signal<TemplateRef<any> | null>(null);\n /** @hidden */\n homeLinkTemplate = computed(() => {\n const homeDirective = this.homeDirective();\n return homeDirective ? homeDirective.templateRef : this.defaultLinkTemplate();\n });\n\n /** @hidden */\n private _keyboardEventsManager: Nullable<FocusKeyManager<FdbNavigationListItemComponent>>;\n\n /** @hidden */\n private readonly _isSnapped$ = toObservable(this.isSnapped);\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n this.class,\n 'fd-navigation',\n this.type() === 'horizontal' ? 'fd-navigation--horizontal' : 'fd-navigation--vertical',\n this.mode() ? `fd-navigation--${this.mode()}` : '',\n // Mobile mode should not support snapped state.\n this.isSnapped() || this.state() !== 'snapped' ? `fd-navigation--${this.state()}` : ''\n ];\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keyDownHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW])) {\n this._keyboardEventsManager?.onKeydown(event);\n }\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._navigationContents.changes\n .pipe(\n startWith(null),\n switchMap(() =>\n merge(this._isSnapped$, ...this._navigationContents.map((content) => content.refresh$)).pipe(\n startWith(null),\n debounceTime(5)\n )\n ),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => {\n const listItems = this._navigationContents.reduce(\n (items: FdbNavigationListItemComponent[], content) => {\n items.push(...content.getNavigatableItems());\n return items;\n },\n [] as FdbNavigationListItemComponent[]\n );\n\n // Reset keyboard manager.\n this._keyboardEventsManager?.destroy();\n const homeListItem = this._navigationLists.find((list) => !!list.homeListItem)?.homeListItem;\n if (homeListItem) {\n listItems.unshift(homeListItem);\n }\n\n this._keyboardEventsManager = new FocusKeyManager(listItems)\n .withVerticalOrientation(true)\n .skipPredicate((item) => {\n if (!item.elementRef.nativeElement.isConnected) {\n return true;\n }\n if (item.alwaysFocusable) {\n return false;\n }\n\n const moreOpened = this._navigationContents.some((c) => c.showMoreOpened());\n\n if (item.level() === 1) {\n if (!this.isSnapped()) {\n return false;\n }\n\n if (item.normalizedLevel() === 1) {\n return true;\n }\n\n return item._hidden() && !moreOpened;\n }\n\n if (this.isSnapped()) {\n if (\n item.inPortal() &&\n (item.parentListItemComponent?.isOpen || item.parentNavigationListComponent.focused) &&\n moreOpened\n ) {\n return false;\n }\n if (item._hidden()) {\n return true;\n }\n return item.parentListItemComponent?.expandedAttr() !== true;\n }\n\n const navigatable = item.parentListItemComponent?.fullPathExpanded() === false;\n\n return navigatable;\n });\n });\n }\n\n /** @hidden */\n setNextItemActive(): void {\n this._keyboardEventsManager?.setNextItemActive();\n }\n\n /** @hidden */\n setPreviousItemActive(): void {\n this._keyboardEventsManager?.setPreviousItemActive();\n }\n\n /** @hidden */\n setActiveItem(item: FdbNavigationListItemComponent): void {\n this._keyboardEventsManager?.setActiveItem(item);\n }\n\n /** @hidden */\n focusMoreButton(): void {\n const showMoreButton = this._navigationContents.find((c) => !!c.showMoreOverflowItem)?.showMoreOverflowItem;\n showMoreButton?.focus();\n showMoreButton?.collapse();\n }\n\n /** @hidden */\n getMoreButton(): Nullable<FdbNavigationListItemComponent> {\n return this._navigationContents.find((c) => !!c.showMoreOverflowItem)?.showMoreOverflowItem;\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { NavigationComponent } from '../navigation.component';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'li[fdb-navigation-list-spacer]',\n standalone: true,\n host: {\n class: 'fd-navigation__list-item fd-navigation__list-item--spacer',\n '[class.fd-navigation__list-item--spacer--hidden]': '_navigationComponent.isSnapped()'\n }\n})\nexport class NavigationItemSpacerDirective {\n /** @hidden */\n readonly _navigationComponent = inject(NavigationComponent);\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n QueryList,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Subject, startWith } from 'rxjs';\nimport { NavigationContentComponent } from './navigation-content.token';\nimport { FdbNavigationListItemComponent } from './navigation-list-item-component.token';\n\n@Component({\n selector: 'fdb-navigation-content-end',\n template: ` <ng-content></ng-content> `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NavigationContentComponent,\n useExisting: NavigationContentEndComponent\n }\n ],\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n class: 'fd-navigation__container fd-navigation__container--bottom'\n }\n})\nexport class NavigationContentEndComponent extends NavigationContentComponent implements AfterViewInit {\n /** @hidden */\n @ContentChildren(FdbNavigationListItemComponent, { descendants: true })\n private readonly _listItems: QueryList<FdbNavigationListItemComponent>;\n\n /** @hidden */\n showHome = false;\n\n /** @hidden */\n override refresh$ = new Subject<void>();\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listItems.changes.pipe(startWith(null), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this.refresh$.next();\n });\n }\n\n /** @hidden */\n getNavigatableItems(): FdbNavigationListItemComponent[] {\n return this._listItems.toArray();\n }\n\n /** @hidden */\n override showMoreOpened(): boolean {\n return false;\n }\n}\n","import { PortalModule } from '@angular/cdk/portal';\nimport { AsyncPipe, NgForOf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n effect\n} from '@angular/core';\nimport { PopoverService } from '@fundamental-ngx/core/popover';\nimport { FdbNavigationListItemComponent } from '../navigation-list-item-component.token';\nimport { NavigationListItemComponent } from './navigation-list-item.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'li[fdb-navigation-list-overflow-item]',\n standalone: true,\n imports: [PortalModule, AsyncPipe, NgForOf],\n providers: [\n PopoverService,\n {\n provide: FdbNavigationListItemComponent,\n useExisting: NavigationListOverflowItemComponent\n }\n ],\n templateUrl: './navigation-list-overflow-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NavigationListOverflowItemComponent extends NavigationListItemComponent {\n /** @hidden */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('hiddenItems')\n set _hiddenItems(items: FdbNavigationListItemComponent[]) {\n this.hiddenItems().forEach((item) => item.destroyPortal());\n items.forEach((item) => item.createPortal());\n this.hiddenItems.set(items);\n }\n\n /** @hidden */\n @ViewChild('childrenTemplate', { read: TemplateRef })\n _portal: TemplateRef<any>;\n\n /** @hidden */\n override additionalBodyClass = 'fd-navigation__list-container fd-navigation__list-container--menu';\n\n /** @hidden */\n constructor() {\n super();\n effect(\n () => {\n const items = this.hiddenItems();\n this.hasPortalChildren.set(items.length > 0);\n if (items.length === 0) {\n return;\n }\n },\n {\n allowSignalWrites: true\n }\n );\n }\n}\n","<div\n class=\"fd-navigation__item\"\n [class.fd-navigation__item--group]=\"isGroup()\"\n [class.fd-navigation__item--child]=\"parentNavigationListComponent.parentListComponent?.isParentGroupChild()\"\n aria-current=\"page\"\n [attr.aria-selected]=\"childrenActive() && navigationComponent.isSnapped() ? true : null\"\n [attr.aria-expanded]=\"expandedAttr()\"\n [attr.aria-level]=\"1\"\n #navigationItem\n role=\"menuitem\"\n>\n <ng-content select=\"[fdb-navigation-link]\"></ng-content>\n</div>\n<!-- Detach elements from their hosts immediately to fix issue with flickering elements. -->\n<ul hidden>\n <ng-template *ngFor=\"let item of hiddenItems()\" [cdkPortalOutlet]=\"item.domPortal\"></ng-template>\n</ul>\n<ng-template #childrenTemplate>\n <div class=\"fd-navigation__list-container--menu\">\n <ul class=\"fd-navigation__list fd-navigation__list--parent-items fd-menu__list\">\n <ng-template *ngFor=\"let item of hiddenItems()\" [cdkPortalOutlet]=\"item.domPortal\"></ng-template>\n </ul>\n </div>\n</ng-template>\n","/* eslint-disable no-unused-vars */\nimport { NgIf } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n DestroyRef,\n ElementRef,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n effect,\n inject,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Nullable, resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { Subject, asyncScheduler, debounceTime, distinctUntilChanged, filter, observeOn, startWith, tap } from 'rxjs';\nimport { FdbNavigationComponent } from './navigation-component.token';\nimport { NavigationContentComponent } from './navigation-content.token';\nimport { NavigationLinkComponent } from './navigation-link.component';\nimport { FdbNavigationListComponent } from './navigation-list-component.token';\nimport { FdbNavigationListItemComponent } from './navigation-list-item-component.token';\nimport { NavigationListItemComponent } from './navigation-list/navigation-list-item.component';\nimport { NavigationListOverflowItemComponent } from './navigation-list/navigation-list-overflow-item.component';\nimport { NavigationListComponent } from './navigation-list/navigation-list.component';\n\nconst FD_NAVIGATION_OVERFLOW_ITEM_CLASS = 'fd-navigation__container--hidden-overflow';\n\n@Component({\n selector: 'fdb-navigation-content-start',\n templateUrl: './navigation-content-start.component.html',\n standalone: true,\n imports: [\n NavigationListComponent,\n NavigationListItemComponent,\n NgIf,\n NavigationLinkComponent,\n NavigationListOverflowItemComponent\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NavigationContentComponent,\n useExisting: NavigationContentStartComponent\n }\n ],\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n class: 'fd-navigation__container fd-navigation__container--top',\n '[style.flex-grow]': '1'\n },\n hostDirectives: [ScrollbarDirective]\n})\nexport class NavigationContentStartComponent extends NavigationContentComponent implements AfterViewInit {\n /** @hidden */\n @ContentChildren(FdbNavigationListItemComponent, { descendants: true })\n private readonly _navigationItems: QueryList<FdbNavigationListItemComponent>;\n\n /** @hidden */\n @ContentChildren(FdbNavigationListComponent)\n private readonly _navigationLists: QueryList<FdbNavigationListComponent>;\n\n /** @hidden */\n @ViewChild('showMoreOverflowMenu', { static: false, read: ElementRef })\n private readonly _showMoreOverflow: ElementRef<HTMLElement>;\n\n /** @hidden */\n @ViewChild('showMoreOverflowItem', { static: false, read: FdbNavigationListItemComponent })\n private set _showMoreOverflowItemCmp(value: Nullable<FdbNavigationListItemComponent>) {\n this.showMoreOverflowItem = value;\n this.refresh$.next();\n }\n\n /** @hidden */\n linkTemplate = inject(FdbNavigationComponent).homeLinkTemplate;\n /** @hidden */\n showHome = true;\n\n /** @hidden */\n showOverflowButton = signal(false);\n\n /** @hidden */\n _hiddenItems: FdbNavigationListItemComponent[] = [];\n\n /** @hidden */\n override refresh$ = new Subject<void>();\n\n /** @hidden */\n private _calculationInProgress = false;\n\n /** @hidden */\n private readonly _canTrackItems = signal(false);\n\n /** @hidden */\n private readonly _navigationComponent = inject(FdbNavigationComponent);\n\n /** @hidden */\n private readonly _elementRef = inject(ElementRef<HTMLElement>);\n\n /** @hidden */\n private readonly _cdr = inject(ChangeDetectorRef);\n\n /** @hidden */\n private readonly _scrollbar = inject(ScrollbarDirective);\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor() {\n super();\n\n effect(\n () => {\n if (!this._canTrackItems()) {\n return;\n }\n // We need to also listen to snapped state.\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const snapped = this._navigationComponent.isSnapped();\n this._elementRef.nativeElement.scrollTop = 0;\n setTimeout(() => {\n this._calculateVisibleItems();\n });\n },\n {\n allowSignalWrites: true\n }\n );\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._canTrackItems.set(true);\n this._navigationItems.changes\n .pipe(startWith(null))\n .pipe(\n tap(() => {\n this.refresh$.next();\n }),\n filter(() => this._navigationItems?.length > 0),\n observeOn(asyncScheduler),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => {\n this._calculateVisibleItems();\n });\n\n resizeObservable(this._elementRef.nativeElement)\n .pipe(\n debounceTime(30),\n distinctUntilChanged((prev, current) => prev[0].contentRect.height === current[0].contentRect.height),\n filter(() => !this._calculationInProgress),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => {\n this._calculateVisibleItems();\n });\n }\n\n /** @hidden */\n getNavigatableItems(): FdbNavigationListItemComponent[] {\n const items = this._navigationItems.toArray();\n if (this.showMoreOverflowItem) {\n items.push(this.showMoreOverflowItem);\n }\n return items;\n }\n\n /** @hidden */\n showMoreOpened(): boolean {\n return !!this.showMoreOverflowItem?.isOpen;\n }\n\n /** @hidden */\n private _calculateVisibleItems(): void {\n if (this._calculationInProgress) {\n return;\n }\n this._calculationInProgress = true;\n this._hiddenItems = [];\n this._cdr.detectChanges();\n if (!this._navigationComponent.isSnapped()) {\n this._navigationItems.forEach((item) => {\n item.show();\n });\n this.showOverflowButton.set(false);\n setTimeout(() => {\n this._calculationInProgress = false;\n });\n return;\n }\n this._elementRef.nativeElement.classList.add(FD_NAVIGATION_OVERFLOW_ITEM_CLASS);\n this.showOverflowButton.set(true);\n this._cdr.detectChanges();\n let canDisplayItems = true;\n const containerHeight = this._elementRef.nativeElement.getBoundingClientRect().height;\n const showMoreHeight =\n (this.showMoreOverflowItem?.elementRef.nativeElement.getBoundingClientRect().height || 0) * 2;\n const homeElementSize = this._navigationLists.toArray().reduce((height, list) => {\n height += list.getHomeElementSize().height;\n return height;\n }, 0);\n let totalAvailableHeight = containerHeight - showMoreHeight - homeElementSize;\n\n const hiddenElements: FdbNavigationListItemComponent[] = [];\n\n const navigationItemGroups = this._navigationItems.reduce(\n (acc: { root: FdbNavigationListItemComponent[]; children: FdbNavigationListItemComponent[] }, item) => {\n const itemLevel = item.normalizedLevel();\n if (itemLevel > 2) {\n return acc;\n }\n acc[itemLevel === 1 ? 'root' : 'children'].push(item);\n return acc;\n },\n { root: [], children: [] }\n );\n\n this._navigationItems.forEach((item) => {\n item.show();\n });\n\n navigationItemGroups.children.forEach((item) => {\n item.calculateExpanded();\n if (!canDisplayItems) {\n item.hide();\n hiddenElements.push(item);\n return;\n }\n\n // item.show();\n\n totalAvailableHeight -= item.elementRef.nativeElement.getBoundingClientRect().height;\n\n if (totalAvailableHeight <= 0) {\n canDisplayItems = false;\n item.hide();\n hiddenElements.push(item);\n return;\n }\n });\n\n navigationItemGroups.root.forEach((item) => {\n item.checkSelfHidden();\n });\n\n this._elementRef.nativeElement.classList.remove(FD_NAVIGATION_OVERFLOW_ITEM_CLASS);\n\n this._handleOverflowItems(hiddenElements);\n setTimeout(() => {\n this._calculationInProgress = false;\n }, 5);\n }\n\n /** @hidden */\n private _handleOverflowItems(items: FdbNavigationListItemComponent[]): void {\n this.showOverflowButton.set(items.length > 0);\n this._hiddenItems = items;\n this._cdr.detectChanges();\n }\n}\n","<ng-content select=\"ul[fdb-navigation-list]\"></ng-content>\n\n<ng-container *ngIf=\"showOverflowButton()\">\n <ul fdb-navigation-list class=\"fd-navigation__list--no-grow\" [showHome]=\"false\" #showMoreOverflowMenu>\n <li\n fdb-navigation-list-overflow-item\n [alwaysFocusable]=\"true\"\n #showMoreOverflowItem\n [hiddenItems]=\"_hiddenItems\"\n >\n <a fdb-navigation-link glyph=\"overflow\" label=\"More Items\"></a>\n </li>\n </ul>\n</ng-container>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/btp",
3
- "version": "0.46.2-rc.13",
3
+ "version": "0.46.2-rc.14",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.2.0",
6
6
  "@angular/core": "^16.2.0",
7
- "@fundamental-ngx/cdk": "0.46.2-rc.13",
8
- "@fundamental-ngx/core": "0.46.2-rc.13"
7
+ "@fundamental-ngx/cdk": "0.46.2-rc.14",
8
+ "@fundamental-ngx/core": "0.46.2-rc.14"
9
9
  },
10
10
  "dependencies": {
11
11
  "tslib": "^2.3.0"