@byuhbll/components 4.0.0-alpha.13 → 4.0.0-alpha.15

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.
@@ -7,7 +7,7 @@ export declare class HbllHeaderComponent implements AfterViewInit {
7
7
  private readonly http;
8
8
  private readonly bo;
9
9
  header: ElementRef;
10
- name: import("@angular/core").InputSignal<string>;
10
+ name: string;
11
11
  showImpersonateButton: import("@angular/core").InputSignal<boolean>;
12
12
  openImpersonationModal: EventEmitter<void>;
13
13
  login: EventEmitter<void>;
@@ -15,7 +15,7 @@ export declare class HbllHeaderComponent implements AfterViewInit {
15
15
  private formatDateForHours;
16
16
  private accountInfoEl;
17
17
  private hoursEl;
18
- protected isLoggedIn: import("@angular/core").Signal<boolean>;
18
+ protected get isLoggedIn(): boolean;
19
19
  protected libraryHours: import("@angular/core").Signal<LibraryHours | undefined>;
20
20
  protected hoursExceptions$: import("rxjs").Observable<LibraryHours[]>;
21
21
  protected showAccountDropdown: boolean;
@@ -27,5 +27,5 @@ export declare class HbllHeaderComponent implements AfterViewInit {
27
27
  private onResize;
28
28
  private setMobileSidebarHeight;
29
29
  static ɵfac: i0.ɵɵFactoryDeclaration<HbllHeaderComponent, never>;
30
- static ɵcmp: i0.ɵɵComponentDeclaration<HbllHeaderComponent, "lib-hbll-header", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "showImpersonateButton": { "alias": "showImpersonateButton"; "required": false; "isSignal": true; }; }, { "openImpersonationModal": "openImpersonationModal"; "login": "login"; "logout": "logout"; }, never, never, true, never>;
30
+ static ɵcmp: i0.ɵɵComponentDeclaration<HbllHeaderComponent, "lib-hbll-header", never, { "name": { "alias": "name"; "required": false; }; "showImpersonateButton": { "alias": "showImpersonateButton"; "required": false; "isSignal": true; }; }, { "openImpersonationModal": "openImpersonationModal"; "login": "login"; "logout": "logout"; }, never, never, true, never>;
31
31
  }
@@ -0,0 +1,58 @@
1
+ import { EventEmitter, OnDestroy, PipeTransform } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { TokenPayload } from '../models/token-payload';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ImpersonateUserPipe implements PipeTransform {
6
+ transform(user: ImpersonateSearchResult): string;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<ImpersonateUserPipe, never>;
8
+ static ɵpipe: i0.ɵɵPipeDeclaration<ImpersonateUserPipe, "impersonateUser", true>;
9
+ }
10
+ export interface ImpersonateSearchResult {
11
+ netId: string;
12
+ institution: string;
13
+ username: string;
14
+ name: string;
15
+ preferredName: string;
16
+ givenName: string;
17
+ surname: string;
18
+ restricted: boolean;
19
+ }
20
+ export declare class ImpersonateModalComponent implements OnDestroy {
21
+ private readonly http;
22
+ private readonly fb;
23
+ private readonly eref;
24
+ set showModal(open: boolean);
25
+ oidcBaseUri: import("@angular/core").InputSignal<string>;
26
+ oidcDefaultIdp: import("@angular/core").InputSignal<string>;
27
+ accessTokenPayload: import("@angular/core").InputSignal<TokenPayload>;
28
+ dismiss: EventEmitter<void>;
29
+ init: EventEmitter<void>;
30
+ protected isOpen: boolean;
31
+ protected hasError: boolean;
32
+ protected form: import("@angular/forms").FormGroup<{
33
+ search: import("@angular/forms").FormControl<string | null>;
34
+ }>;
35
+ protected selectedUsername?: string;
36
+ protected loading: boolean;
37
+ protected handleSearchSubject: Subject<boolean>;
38
+ protected results: import("@angular/core").Signal<ImpersonateSearchResult[] | null | undefined>;
39
+ private subs;
40
+ outsideClick(event: MouseEvent): void;
41
+ handleKeyDown: (event: KeyboardEvent) => void;
42
+ ngOnDestroy(): void;
43
+ /** Redirect to Keycloak impersonate page, which will redirect back
44
+ * after impersonation begins.
45
+ */
46
+ protected startImpersonation: (username?: string) => void;
47
+ protected handleSelectUser: (event: Event) => void;
48
+ protected clearSearch: () => void;
49
+ protected close: () => void;
50
+ protected handleFormSubmit: (event: SubmitEvent) => void;
51
+ protected handleSearchKeyPress: (event: KeyboardEvent) => void;
52
+ protected handleResultKeyPress: (event: KeyboardEvent) => void;
53
+ /** Search Keycloak users using a generic search query. */
54
+ private searchUsers;
55
+ private replaceUrl;
56
+ static ɵfac: i0.ɵɵFactoryDeclaration<ImpersonateModalComponent, never>;
57
+ static ɵcmp: i0.ɵɵComponentDeclaration<ImpersonateModalComponent, "lib-impersonate-modal", never, { "showModal": { "alias": "showModal"; "required": false; }; "oidcBaseUri": { "alias": "oidcBaseUri"; "required": false; "isSignal": true; }; "oidcDefaultIdp": { "alias": "oidcDefaultIdp"; "required": false; "isSignal": true; }; "accessTokenPayload": { "alias": "accessTokenPayload"; "required": true; "isSignal": true; }; }, { "dismiss": "dismiss"; "init": "init"; }, never, never, true, never>;
58
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@byuhbll/components",
3
- "version": "4.0.0-alpha.13",
3
+ "version": "4.0.0-alpha.15",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.0.0",
6
6
  "@angular/core": "^18.0.0"
package/public-api.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './lib/hbll-header/hbll-header.component';
2
+ export * from './lib/impersonate-modal/impersonate-modal.component';
2
3
  export * from './lib/impersonation-banner/impersonation-banner.component';
3
4
  export * from './lib/ss-search-bar/ss-search-bar.component';
4
5
  export * from './lib/ss-search-bar/models/advanced-search.model';