@byuhbll/components 4.0.0-alpha.3 → 4.0.0-alpha.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/esm2022/lib/animations/animations.mjs +19 -1
  2. package/esm2022/lib/checkbox/checkbox.component.mjs +15 -0
  3. package/esm2022/lib/contact-utils.mjs +41 -0
  4. package/esm2022/lib/copy-tooltip/copy-tooltip.component.mjs +49 -0
  5. package/esm2022/lib/expand-collapse/expand-collapse.component.mjs +31 -0
  6. package/esm2022/lib/hbll-footer/hbll-footer.component.mjs +81 -0
  7. package/esm2022/lib/hbll-header/hbll-header.component.mjs +81 -31
  8. package/esm2022/lib/hbll-header/models/library-hours.mjs +2 -0
  9. package/esm2022/lib/hbll-header/nav-bar/nav-bar.component.mjs +333 -0
  10. package/esm2022/lib/hbll-header/nav-bar-dropdown/nav-bar-dropdown.component.mjs +29 -0
  11. package/esm2022/lib/hbll-header/pipes/library-hours.pipe.mjs +31 -0
  12. package/esm2022/lib/header-with-impersonation/header-with-impersonation.component.mjs +38 -0
  13. package/esm2022/lib/impersonate-modal/impersonate-modal.component.mjs +190 -0
  14. package/esm2022/lib/impersonation-banner/impersonation-banner.component.mjs +128 -0
  15. package/esm2022/lib/impersonation-banner/models/application-access.mjs +7 -0
  16. package/esm2022/lib/impersonation-banner/models/person-summary.mjs +15 -0
  17. package/esm2022/lib/models/token-payload.mjs +2 -0
  18. package/esm2022/lib/multi-select/multi-select.component.mjs +115 -0
  19. package/esm2022/lib/pipes/hbll-item-type-icon.pipe.mjs +128 -0
  20. package/esm2022/lib/ss-search-bar/advanced-search/advanced-search.component.mjs +5 -5
  21. package/esm2022/lib/ss-search-bar/date-range/date-range.component.mjs +3 -3
  22. package/esm2022/lib/ss-search-bar/ss-search-bar.component.mjs +3 -3
  23. package/esm2022/lib/utils.mjs +7 -0
  24. package/esm2022/public-api.mjs +7 -1
  25. package/fesm2022/byuhbll-components.mjs +1153 -66
  26. package/fesm2022/byuhbll-components.mjs.map +1 -1
  27. package/lib/animations/animations.d.ts +1 -0
  28. package/lib/{hbll-checkbox/hbll-checkbox.component.d.ts → checkbox/checkbox.component.d.ts} +2 -2
  29. package/lib/contact-utils.d.ts +19 -0
  30. package/lib/copy-tooltip/copy-tooltip.component.d.ts +12 -0
  31. package/lib/expand-collapse/expand-collapse.component.d.ts +10 -0
  32. package/lib/hbll-footer/hbll-footer.component.d.ts +28 -0
  33. package/lib/hbll-header/hbll-header.component.d.ts +23 -28
  34. package/lib/hbll-header/models/library-hours.d.ts +10 -0
  35. package/lib/hbll-header/nav-bar/nav-bar.component.d.ts +30 -0
  36. package/lib/hbll-header/nav-bar-dropdown/nav-bar-dropdown.component.d.ts +12 -0
  37. package/lib/hbll-header/pipes/library-hours.pipe.d.ts +7 -0
  38. package/lib/header-with-impersonation/header-with-impersonation.component.d.ts +19 -0
  39. package/lib/impersonate-modal/impersonate-modal.component.d.ts +60 -0
  40. package/lib/impersonation-banner/impersonation-banner.component.d.ts +31 -0
  41. package/lib/impersonation-banner/models/application-access.d.ts +15 -0
  42. package/lib/impersonation-banner/models/person-summary.d.ts +33 -0
  43. package/lib/models/token-payload.d.ts +3 -0
  44. package/lib/{hbll-multi-select/hbll-multi-select.component.d.ts → multi-select/multi-select.component.d.ts} +1 -1
  45. package/lib/pipes/hbll-item-type-icon.pipe.d.ts +17 -0
  46. package/lib/ss-search-bar/advanced-search/advanced-search.component.d.ts +4 -1
  47. package/lib/utils.d.ts +5 -0
  48. package/package.json +4 -1
  49. package/public-api.d.ts +6 -0
  50. package/styles/scss/_mixins.scss +2 -2
  51. package/styles/scss/_vars.scss +7 -0
  52. package/styles/scss/base.scss +39 -7
  53. package/styles/scss/cta-btn.scss +2 -2
  54. package/styles/scss/pill-btn.scss +2 -2
  55. package/styles/scss/shared.scss +8 -0
  56. package/styles/scss/spinner.scss +20 -0
  57. package/esm2022/lib/hbll-checkbox/hbll-checkbox.component.mjs +0 -17
  58. package/esm2022/lib/hbll-multi-select/hbll-multi-select.component.mjs +0 -115
@@ -1,79 +1,1189 @@
1
1
  import * as i1 from '@angular/common';
2
- import { DatePipe, LowerCasePipe, CommonModule } from '@angular/common';
3
- import { toSignal } from '@angular/core/rxjs-interop';
2
+ import { CommonModule, DatePipe, DOCUMENT, LowerCasePipe } from '@angular/common';
3
+ import { toSignal, toObservable } from '@angular/core/rxjs-interop';
4
4
  import { HttpClient } from '@angular/common/http';
5
5
  import * as i0 from '@angular/core';
6
- import { Pipe, inject, Renderer2, input, EventEmitter, viewChild, computed, Component, Output, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, Input } from '@angular/core';
6
+ import { Component, ChangeDetectionStrategy, ViewChild, Input, input, EventEmitter, Output, inject, computed, ViewChildren, Pipe, Renderer2, viewChild, HostListener, ElementRef, ViewEncapsulation } from '@angular/core';
7
7
  import { trigger, transition, group, style, query, animateChild, animate } from '@angular/animations';
8
- import * as i2$1 from '@angular/forms';
9
- import { FormControl, ReactiveFormsModule, NonNullableFormBuilder, Validators, FormBuilder } from '@angular/forms';
10
- import * as i3$1 from '@angular/material/tooltip';
8
+ import { map, of, switchMap, shareReplay, combineLatest, Subject, Subscription } from 'rxjs';
9
+ import { BreakpointObserver } from '@angular/cdk/layout';
10
+ import * as i2 from '@angular/forms';
11
+ import { Validators, FormBuilder, ReactiveFormsModule, FormControl, NonNullableFormBuilder } from '@angular/forms';
12
+ import { switchMap as switchMap$1, map as map$1, startWith, catchError, tap, filter } from 'rxjs/operators';
13
+ import { jwtDecode } from 'jwt-decode';
14
+ import urlcat from 'urlcat';
15
+ import * as i1$1 from '@angular/material/tooltip';
11
16
  import { MatTooltip, MatTooltipModule } from '@angular/material/tooltip';
12
- import { startWith, map, filter, tap } from 'rxjs/operators';
13
- import { combineLatest, Subscription } from 'rxjs';
14
17
  import { MatIconModule } from '@angular/material/icon';
15
18
  import * as i4 from '@angular/material/autocomplete';
16
19
  import { MatAutocompleteModule } from '@angular/material/autocomplete';
17
20
  import * as i3 from '@angular/material/form-field';
18
21
  import { MatFormFieldModule } from '@angular/material/form-field';
19
- import * as i2 from '@angular/material/chips';
22
+ import * as i2$1 from '@angular/material/chips';
20
23
  import { MatChipsModule } from '@angular/material/chips';
21
24
  import { ENTER, COMMA } from '@angular/cdk/keycodes';
22
25
  import * as i5 from '@angular/material/core';
23
26
 
24
- const LIBRARY_HOURS_API_URL = 'https://apps.lib.byu.edu/libraryhours/api/hours';
25
- class LibraryHoursDatePipe {
27
+ const libHbllExpandCollapse = trigger('libHbllExpandCollapse', [
28
+ transition('void <=> *', []),
29
+ transition('* <=> *', [
30
+ group([
31
+ style({ height: '{{startHeight}}px' }),
32
+ query('@*', [animateChild()], { optional: true }),
33
+ animate('.15s ease-in-out'),
34
+ ]),
35
+ ], { params: { startHeight: '0px' } }),
36
+ ]);
37
+ const libHbllFadeInOut = trigger('libHbllFadeInOut', [
38
+ transition(':enter', [style({ opacity: '0' }), animate('.15s ease-out')]),
39
+ transition(':leave', [animate('.15s ease-out', style({ opacity: '0' }))]),
40
+ ]);
41
+ const libHbllFadeIn = trigger('libHbllFadeIn', [
42
+ transition(':enter', [style({ opacity: '0' }), animate('.15s ease-out')]),
43
+ ]);
44
+ const libHbllFadeOut = trigger('libHbllFadeOut', [
45
+ transition(':leave', [animate('.15s ease-out', style({ opacity: '0' }))]),
46
+ ]);
47
+ const libHbllSlideInOutRightLeft = trigger('libHbllSlideInOutRightLeft', [
48
+ transition(':enter', [
49
+ style({
50
+ transform: 'translateX({{xOffset}})',
51
+ }),
52
+ animate('200ms ease-in-out', style({
53
+ transform: 'translateX(0)',
54
+ })),
55
+ ], { params: { xOffset: '100%' } }),
56
+ transition(':leave', [
57
+ style({
58
+ transform: 'translateX(0)',
59
+ }),
60
+ animate('200ms ease-in-out', style({
61
+ transform: 'translateX({{xOffset}})',
62
+ })),
63
+ ], { params: { xOffset: '100%' } }),
64
+ ]);
65
+
66
+ class ExpandCollapseComponent {
67
+ constructor() {
68
+ this._isExpanded = false;
69
+ this.heightOfContent = 0;
70
+ }
71
+ set isExpanded(isExpanded) {
72
+ this.heightOfContent = this.contentRef?.nativeElement.clientHeight;
73
+ this._isExpanded = isExpanded;
74
+ }
75
+ get isExpanded() {
76
+ return this._isExpanded;
77
+ }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ExpandCollapseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
79
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: ExpandCollapseComponent, isStandalone: true, selector: "lib-expand-collapse", inputs: { isExpanded: "isExpanded" }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["contentRef"], descendants: true }], ngImport: i0, template: "<div\n #contentRef\n [@libHbllExpandCollapse]=\"{\n value: isExpanded,\n params: { startHeight: heightOfContent },\n }\"\n class=\"hbll-expand-collapse-content-wrapper\"\n [ngClass]=\"{ 'hbll-expand-collapse-collapsed': !isExpanded }\"\n>\n <div *ngIf=\"isExpanded\" @libHbllFadeInOut data-testid=\"content\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".hbll-expand-collapse-collapsed{height:0}.hbll-expand-collapse-content-wrapper{overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [libHbllExpandCollapse, libHbllFadeInOut], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
80
+ }
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ExpandCollapseComponent, decorators: [{
82
+ type: Component,
83
+ args: [{ selector: 'lib-expand-collapse', changeDetection: ChangeDetectionStrategy.OnPush, animations: [libHbllExpandCollapse, libHbllFadeInOut], standalone: true, imports: [CommonModule], template: "<div\n #contentRef\n [@libHbllExpandCollapse]=\"{\n value: isExpanded,\n params: { startHeight: heightOfContent },\n }\"\n class=\"hbll-expand-collapse-content-wrapper\"\n [ngClass]=\"{ 'hbll-expand-collapse-collapsed': !isExpanded }\"\n>\n <div *ngIf=\"isExpanded\" @libHbllFadeInOut data-testid=\"content\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".hbll-expand-collapse-collapsed{height:0}.hbll-expand-collapse-content-wrapper{overflow:hidden}\n"] }]
84
+ }], propDecorators: { contentRef: [{
85
+ type: ViewChild,
86
+ args: ['contentRef']
87
+ }], isExpanded: [{
88
+ type: Input,
89
+ args: [{ required: true }]
90
+ }] } });
91
+
92
+ class NavBarDropdownComponent {
93
+ constructor() {
94
+ this.title = input.required();
95
+ this.isSmallScreen = input(true);
96
+ this.openEvent = new EventEmitter();
97
+ // Public to be called by parent comp.
98
+ this.closeDropdown = () => (this.isOpen = false);
99
+ this.isOpen = false;
100
+ this.handleClick = () => {
101
+ if (!this.isOpen)
102
+ this.openEvent.emit(this.title());
103
+ this.isOpen = !this.isOpen;
104
+ };
105
+ }
106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NavBarDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
107
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: NavBarDropdownComponent, isStandalone: true, selector: "lib-nav-bar-dropdown", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, isSmallScreen: { classPropertyName: "isSmallScreen", publicName: "isSmallScreen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openEvent: "openEvent" }, ngImport: i0, template: "<span\n class=\"hbll-header-dropdown-wrapper\"\n data-testid=\"wrapper\"\n [ngClass]=\"{ 'hbll-header-desktop': !isSmallScreen() }\"\n (mouseenter)=\"!isSmallScreen() && (this.isOpen = true)\"\n (mouseleave)=\"!isSmallScreen() && (this.isOpen = false)\"\n>\n <button (click)=\"handleClick()\" data-testid=\"btn\">\n {{ title() }}\n <span class=\"material-symbols-outlined hbll-header-icon\">\n {{ 'keyboard_arrow_' + (isOpen ? 'up' : 'down') }}\n </span>\n </button>\n @if (!isSmallScreen()) {\n @if (isOpen) {\n <div class=\"hbll-header-dropdown\" data-testid=\"dropdown\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n }\n } @else {\n <lib-expand-collapse [isExpanded]=\"isOpen\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </lib-expand-collapse>\n }\n</span>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: [".hbll-header-dropdown-wrapper.hbll-header-desktop button{color:#002e5d;background-color:#fff;display:flex;justify-content:center;align-items:center;font-size:1.1em;font-weight:500;border:none;padding:.4em 1em;line-height:1.4em}.hbll-header-dropdown-wrapper.hbll-header-desktop button .hbll-header-icon{font-size:1.3em;margin-bottom:-.1em}.hbll-header-dropdown-wrapper.hbll-header-desktop button:hover{background-color:#0047ba;color:#fff}*{box-sizing:border-box;text-decoration:none;font-size:1em}*:not(.material-symbols-outlined){font-family:inherit}.hbll-header-dropdown-wrapper button{justify-content:flex-end;font-size:1.3em;color:#fff;display:flex;align-items:center;background-color:#0047ba;width:100%;padding:.6em;border-bottom:1px solid rgba(255,255,255,.3);border-left:none;border-right:none;border-top:none;white-space:nowrap;cursor:pointer}.hbll-header-dropdown-wrapper button .hbll-header-icon{margin-left:.2em}.hbll-header-dropdown-wrapper.hbll-header-desktop:hover button{background-color:#0047ba;color:#fff}.hbll-header-dropdown-wrapper.hbll-header-desktop .hbll-header-dropdown{position:absolute;z-index:11;width:100%;top:100%;left:0;background-color:#0047ba}\n"], dependencies: [{ kind: "component", type: ExpandCollapseComponent, selector: "lib-expand-collapse", inputs: ["isExpanded"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
108
+ }
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NavBarDropdownComponent, decorators: [{
110
+ type: Component,
111
+ args: [{ selector: 'lib-nav-bar-dropdown', standalone: true, imports: [ExpandCollapseComponent, CommonModule], template: "<span\n class=\"hbll-header-dropdown-wrapper\"\n data-testid=\"wrapper\"\n [ngClass]=\"{ 'hbll-header-desktop': !isSmallScreen() }\"\n (mouseenter)=\"!isSmallScreen() && (this.isOpen = true)\"\n (mouseleave)=\"!isSmallScreen() && (this.isOpen = false)\"\n>\n <button (click)=\"handleClick()\" data-testid=\"btn\">\n {{ title() }}\n <span class=\"material-symbols-outlined hbll-header-icon\">\n {{ 'keyboard_arrow_' + (isOpen ? 'up' : 'down') }}\n </span>\n </button>\n @if (!isSmallScreen()) {\n @if (isOpen) {\n <div class=\"hbll-header-dropdown\" data-testid=\"dropdown\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n }\n } @else {\n <lib-expand-collapse [isExpanded]=\"isOpen\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </lib-expand-collapse>\n }\n</span>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: [".hbll-header-dropdown-wrapper.hbll-header-desktop button{color:#002e5d;background-color:#fff;display:flex;justify-content:center;align-items:center;font-size:1.1em;font-weight:500;border:none;padding:.4em 1em;line-height:1.4em}.hbll-header-dropdown-wrapper.hbll-header-desktop button .hbll-header-icon{font-size:1.3em;margin-bottom:-.1em}.hbll-header-dropdown-wrapper.hbll-header-desktop button:hover{background-color:#0047ba;color:#fff}*{box-sizing:border-box;text-decoration:none;font-size:1em}*:not(.material-symbols-outlined){font-family:inherit}.hbll-header-dropdown-wrapper button{justify-content:flex-end;font-size:1.3em;color:#fff;display:flex;align-items:center;background-color:#0047ba;width:100%;padding:.6em;border-bottom:1px solid rgba(255,255,255,.3);border-left:none;border-right:none;border-top:none;white-space:nowrap;cursor:pointer}.hbll-header-dropdown-wrapper button .hbll-header-icon{margin-left:.2em}.hbll-header-dropdown-wrapper.hbll-header-desktop:hover button{background-color:#0047ba;color:#fff}.hbll-header-dropdown-wrapper.hbll-header-desktop .hbll-header-dropdown{position:absolute;z-index:11;width:100%;top:100%;left:0;background-color:#0047ba}\n"] }]
112
+ }], propDecorators: { openEvent: [{
113
+ type: Output
114
+ }] } });
115
+
116
+ /**
117
+ * Signal that represents if the screen is small.
118
+ */
119
+ const isScreenSmallSignal = (bo) => toSignal(bo.observe(['(min-width: 1000px)']).pipe(map((r) => !r.matches)));
120
+
121
+ class NavBarComponent {
122
+ constructor() {
123
+ this.bo = inject(BreakpointObserver);
124
+ this.mainSiteBaseUrl = input.required();
125
+ this.height = input(null);
126
+ // If any section opens up, close all others. Only one section open at a time.
127
+ this.handleDropdownOpenEvent = (title) => {
128
+ this.dropdownComps
129
+ .filter((comp) => comp.title() !== title)
130
+ .forEach((comp) => {
131
+ comp.closeDropdown();
132
+ });
133
+ };
134
+ this.isScreenSmall = isScreenSmallSignal(this.bo);
135
+ this.navInfos = computed(() => {
136
+ return [
137
+ {
138
+ title: 'Materials',
139
+ mainSection: {
140
+ title: 'Formats',
141
+ links: [
142
+ { label: 'Articles', url: `${this.mainSiteBaseUrl()}/articles` },
143
+ { label: 'Audio', url: `${this.mainSiteBaseUrl()}/audio` },
144
+ { label: 'Books', url: `${this.mainSiteBaseUrl()}/books` },
145
+ { label: 'Video', url: `${this.mainSiteBaseUrl()}/video` },
146
+ ],
147
+ auxiliaryLink: {
148
+ label: 'See all formats',
149
+ url: `${this.mainSiteBaseUrl()}/formats`,
150
+ },
151
+ },
152
+ otherSections: [
153
+ {
154
+ title: 'Resource Collections',
155
+ links: [
156
+ {
157
+ label: 'Subject Area Collections',
158
+ url: `${this.mainSiteBaseUrl()}/collections`,
159
+ },
160
+ { label: 'Databases', url: `${this.mainSiteBaseUrl()}/databases` },
161
+ { label: 'Journals', url: `${this.mainSiteBaseUrl()}/journals` },
162
+ {
163
+ label: 'Theses & Dissertations',
164
+ url: `${this.mainSiteBaseUrl()}/theses-and-dissertations`,
165
+ },
166
+ ],
167
+ },
168
+ {
169
+ title: 'Equipment',
170
+ links: [
171
+ {
172
+ label: 'Available for Checkout',
173
+ url: `${this.mainSiteBaseUrl()}/services?categories=available-for-checkout`,
174
+ },
175
+ {
176
+ label: 'Available with Reservation',
177
+ url: `${this.mainSiteBaseUrl()}/services?categories=available-via-reservation`,
178
+ },
179
+ {
180
+ label: 'Public Computers',
181
+ url: `${this.mainSiteBaseUrl()}/services/public-computers`,
182
+ },
183
+ {
184
+ label: 'Printers and Copying',
185
+ url: `${this.mainSiteBaseUrl()}/services?categories=printing-and-copying`,
186
+ },
187
+ ],
188
+ },
189
+ ],
190
+ },
191
+ {
192
+ title: 'Places',
193
+ mainSection: {
194
+ title: 'Popular Places',
195
+ links: [
196
+ {
197
+ label: 'Help Desks',
198
+ url: `${this.mainSiteBaseUrl()}/services/help-desks`,
199
+ },
200
+ {
201
+ label: 'Family History',
202
+ url: `${this.mainSiteBaseUrl()}/religion-family-history`,
203
+ },
204
+ {
205
+ label: 'Research and Writing Center',
206
+ url: `${this.mainSiteBaseUrl()}/services/research-and-writing-center`,
207
+ },
208
+ {
209
+ label: 'Special Collections',
210
+ url: `${this.mainSiteBaseUrl()}/special-collections`,
211
+ },
212
+ ],
213
+ auxiliaryLink: {
214
+ label: 'View Floor Maps',
215
+ url: `${this.mainSiteBaseUrl()}/floormaps`,
216
+ },
217
+ },
218
+ otherSections: [
219
+ {
220
+ title: 'Spaces',
221
+ links: [
222
+ {
223
+ label: 'Collections & Archives',
224
+ url: `${this.mainSiteBaseUrl()}/services?categories=collections-and-archives`,
225
+ },
226
+ {
227
+ label: 'Group Study Spaces',
228
+ url: `${this.mainSiteBaseUrl()}/services/group-study-rooms`,
229
+ },
230
+ {
231
+ label: 'Individual Study Spaces',
232
+ url: `${this.mainSiteBaseUrl()}/services?categories=individual-study-spaces`,
233
+ },
234
+ {
235
+ label: 'Multimedia Creation Spaces',
236
+ url: `${this.mainSiteBaseUrl()}/services?categories=multimedia-creation`,
237
+ },
238
+ {
239
+ label: 'Video View Spaces',
240
+ url: `${this.mainSiteBaseUrl()}/services?categories=video-viewing`,
241
+ },
242
+ ],
243
+ },
244
+ {
245
+ title: 'Rooms',
246
+ links: [
247
+ {
248
+ label: 'Classrooms',
249
+ url: `${this.mainSiteBaseUrl()}/services?categories=classrooms`,
250
+ },
251
+ {
252
+ label: 'Conference Rooms',
253
+ url: `${this.mainSiteBaseUrl()}/services?categories=conference-rooms`,
254
+ },
255
+ {
256
+ label: 'Labs & Centers',
257
+ url: `${this.mainSiteBaseUrl()}/services?categories=labs-and-centers`,
258
+ },
259
+ {
260
+ label: 'Research Rooms',
261
+ url: `${this.mainSiteBaseUrl()}/services?categories=research-rooms`,
262
+ },
263
+ ],
264
+ },
265
+ ],
266
+ },
267
+ {
268
+ title: 'Experiences',
269
+ mainSection: {
270
+ title: 'Events',
271
+ links: [
272
+ {
273
+ label: 'Concerts & Film Showings',
274
+ url: `${this.mainSiteBaseUrl()}/services/motion-picture-archive-series`,
275
+ },
276
+ {
277
+ label: 'Lectures',
278
+ url: `${this.mainSiteBaseUrl()}/services?categories=lectures`,
279
+ },
280
+ { label: 'News', url: `${this.mainSiteBaseUrl()}/about/news` },
281
+ ],
282
+ auxiliaryLink: {
283
+ label: 'See calendar of events',
284
+ url: `${this.mainSiteBaseUrl()}/events`,
285
+ },
286
+ },
287
+ otherSections: [
288
+ {
289
+ title: 'Learning Opportunities',
290
+ links: [
291
+ {
292
+ label: 'Library Instruction Classes',
293
+ url: `${this.mainSiteBaseUrl()}/library-instruction`,
294
+ },
295
+ {
296
+ label: 'Software Training',
297
+ url: `${this.mainSiteBaseUrl()}/services/software-training`,
298
+ },
299
+ {
300
+ label: 'Family History Classes & Webinars',
301
+ url: `${this.mainSiteBaseUrl()}/services/family-history-classes`,
302
+ },
303
+ ],
304
+ },
305
+ {
306
+ title: 'Displays',
307
+ links: [
308
+ { label: 'Exhibits', url: `${this.mainSiteBaseUrl()}/exhibits` },
309
+ {
310
+ label: 'Galleries',
311
+ url: `${this.mainSiteBaseUrl()}/services?categories=galleries-and-exhibits`,
312
+ },
313
+ ],
314
+ },
315
+ ],
316
+ },
317
+ {
318
+ title: 'Services',
319
+ mainSection: {
320
+ title: 'Services For',
321
+ links: [
322
+ {
323
+ label: 'Current Students',
324
+ url: `${this.mainSiteBaseUrl()}/services?categories=for-students`,
325
+ },
326
+ {
327
+ label: 'Faculty and Staff',
328
+ url: `${this.mainSiteBaseUrl()}/services?categories=for-faculty`,
329
+ },
330
+ {
331
+ label: 'Retirees',
332
+ url: `${this.mainSiteBaseUrl()}/services?categories=for-retirees`,
333
+ },
334
+ {
335
+ label: 'Visitors and Alumni',
336
+ url: `${this.mainSiteBaseUrl()}/services?categories=for-visitors`,
337
+ },
338
+ ],
339
+ auxiliaryLink: {
340
+ label: 'See all Services',
341
+ url: `${this.mainSiteBaseUrl()}/services`,
342
+ },
343
+ },
344
+ otherSections: [
345
+ {
346
+ title: 'Getting Materials',
347
+ links: [
348
+ {
349
+ label: 'Checkout out Materials',
350
+ url: `${this.mainSiteBaseUrl()}/about/checkout-privileges`,
351
+ },
352
+ {
353
+ label: 'Holds & Renewals',
354
+ url: `${this.mainSiteBaseUrl()}/services/holds`,
355
+ },
356
+ {
357
+ label: 'Borrow from another Library (ILL)',
358
+ url: `${this.mainSiteBaseUrl()}/services/interlibrary-loan`,
359
+ },
360
+ ],
361
+ },
362
+ {
363
+ title: 'Other',
364
+ links: [
365
+ {
366
+ label: 'Internships, Fellowships and Grants',
367
+ url: `${this.mainSiteBaseUrl()}/services?categories=internships-fellowships-grants`,
368
+ },
369
+ {
370
+ label: 'Programs',
371
+ url: `${this.mainSiteBaseUrl()}/services?categories=programs`,
372
+ },
373
+ {
374
+ label: 'Scholarly Publishing',
375
+ url: `${this.mainSiteBaseUrl()}/services?categories=creating-and-publishing-materials`,
376
+ },
377
+ ],
378
+ },
379
+ ],
380
+ },
381
+ {
382
+ title: 'Ask Us',
383
+ otherSections: [
384
+ {
385
+ title: 'Get Help',
386
+ links: [
387
+ {
388
+ label: 'Ask a Librarian',
389
+ url: `${this.mainSiteBaseUrl()}/chat?url=${window.location.href}`,
390
+ icon: 'chat_bubble',
391
+ },
392
+ {
393
+ label: 'Library Instruction',
394
+ url: `${this.mainSiteBaseUrl()}/library-instruction`,
395
+ },
396
+ { label: 'Research Guides', url: `${this.mainSiteBaseUrl()}/guides` },
397
+ {
398
+ label: 'Help & Guidance',
399
+ url: `${this.mainSiteBaseUrl()}/services?categories=help-and-guidance`,
400
+ },
401
+ ],
402
+ },
403
+ {
404
+ title: 'Find a...',
405
+ links: [
406
+ { label: 'Department', url: `${this.mainSiteBaseUrl()}/directory` },
407
+ {
408
+ label: 'Help Desk',
409
+ url: `${this.mainSiteBaseUrl()}/services/help-desks`,
410
+ },
411
+ {
412
+ label: 'Library Employee by Name',
413
+ url: `${this.mainSiteBaseUrl()}/directory`,
414
+ },
415
+ {
416
+ label: 'Subject Librarian',
417
+ url: `${this.mainSiteBaseUrl()}/directory#browse-by-subject`,
418
+ },
419
+ ],
420
+ },
421
+ {
422
+ title: 'About the Library',
423
+ links: [
424
+ {
425
+ label: 'General Information',
426
+ url: `${this.mainSiteBaseUrl()}/about`,
427
+ },
428
+ { label: 'FAQs', url: `${this.mainSiteBaseUrl()}/faq` },
429
+ ],
430
+ },
431
+ ],
432
+ },
433
+ ];
434
+ });
435
+ }
436
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NavBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
437
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: NavBarComponent, isStandalone: true, selector: "lib-nav-bar", inputs: { mainSiteBaseUrl: { classPropertyName: "mainSiteBaseUrl", publicName: "mainSiteBaseUrl", isSignal: true, isRequired: true, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "dropdownComps", predicate: NavBarDropdownComponent, descendants: true }], ngImport: i0, template: "<nav\n [style]=\"{ height: height() ? height() + 'px' : 'auto' }\"\n [ngClass]=\"{ 'hbll-header-desktop': !isScreenSmall() }\"\n data-testid=\"nav\"\n>\n <ul class=\"hbll-header-nav-bar\">\n <li id=\"navHome\">\n <a [href]=\"mainSiteBaseUrl()\">\n @if (isScreenSmall()) {\n <span class=\"material-symbols-outlined hbll-header-icon\"> home </span>\n }\n Home\n </a>\n </li>\n @for (navInfo of navInfos(); track navInfo.title) {\n <li>\n <lib-nav-bar-dropdown\n [title]=\"navInfo.title\"\n [isSmallScreen]=\"isScreenSmall() ?? true\"\n (openEvent)=\"handleDropdownOpenEvent($event)\"\n >\n <div\n class=\"hbll-header-content\"\n [ngStyle]=\"{\n 'background-color': isScreenSmall() ? '#336cc8' : 'inherit',\n }\"\n >\n @if (navInfo.mainSection) {\n <section>\n <h2>{{ navInfo.mainSection.title }}</h2>\n <ul class=\"hbll-header-main hbll-header-links\">\n @for (link of navInfo.mainSection.links; track link.label) {\n <li>\n <a [href]=\"link.url\">\n {{ link.label }}\n </a>\n </li>\n }\n </ul>\n @if (navInfo.mainSection.auxiliaryLink) {\n <a\n class=\"hbll-header-see-all\"\n [href]=\"navInfo.mainSection.auxiliaryLink.url\"\n >\n {{ navInfo.mainSection.auxiliaryLink.label }}\n <span class=\"material-symbols-outlined hbll-header-icon\">\n chevron_right\n </span>\n </a>\n }\n </section>\n }\n @for (section of navInfo.otherSections; track section.title) {\n <section>\n <h3>{{ section.title }}</h3>\n <ul class=\"hbll-header-links\">\n @for (link of section.links; track link.label) {\n <li>\n <a [href]=\"link.url\">\n {{ link.label }}\n @if (link.icon) {\n <span\n class=\"material-symbols-outlined hbll-header-icon-right\"\n >\n {{ link.icon }}\n </span>\n }\n </a>\n </li>\n }\n </ul>\n </section>\n }\n </div>\n </lib-nav-bar-dropdown>\n </li>\n }\n <li>\n <a id=\"navSearch\" href=\"https://lib.byu.edu/search\">\n @if (isScreenSmall()) {\n Search\n }\n <span\n class=\"material-symbols-outlined\"\n [ngClass]=\"{ 'hbll-header-icon': isScreenSmall() }\"\n >\n search\n </span>\n </a>\n </li>\n </ul>\n</nav>\n", styles: ["nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch{color:#002e5d;background-color:#fff;display:flex;justify-content:center;align-items:center;font-size:1.1em;font-weight:500;border:none;padding:.4em 1em;line-height:1.4em}nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a .hbll-header-icon,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch .hbll-header-icon{font-size:1.3em;margin-bottom:-.1em}nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a:hover,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch:hover{background-color:#0047ba;color:#fff}*{box-sizing:border-box;text-decoration:none;font-size:1em}*:not(.material-symbols-outlined){font-family:inherit}.hbll-header-icon-right{margin-left:.4em;font-size:1.2em}nav{background-color:#0047ba;position:absolute;overflow-y:scroll;overflow-x:hidden;scrollbar-width:none;width:100vw;max-width:400px;right:0}nav li{list-style-type:none}nav ::-webkit-scrollbar{display:none}nav .hbll-header-nav-bar{display:flex;flex-direction:column;align-items:flex-end;margin:0;padding:0}nav .hbll-header-nav-bar .hbll-header-links{padding:0}nav .hbll-header-nav-bar li{width:100%}nav .hbll-header-nav-bar li#navHome .hbll-header-icon{margin-right:.2em}nav .hbll-header-nav-bar li a{color:#fff;display:flex;align-items:center;width:100%;padding:.6em}nav .hbll-header-nav-bar li #navSearch{justify-content:flex-end;font-size:1.3em}nav .hbll-header-nav-bar li #navSearch .hbll-header-icon{margin-left:.2em}nav .hbll-header-nav-bar li .hbll-header-content{border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1.4em}nav .hbll-header-nav-bar li .hbll-header-content section{padding-left:3em}nav .hbll-header-nav-bar li .hbll-header-content section:first-of-type{padding-top:1em}nav .hbll-header-nav-bar li .hbll-header-content section h2,nav .hbll-header-nav-bar li .hbll-header-content section h3{font-weight:600;font-size:1.4em;margin-bottom:.4em}nav .hbll-header-nav-bar li .hbll-header-content section+section{margin-top:1.8em}nav .hbll-header-nav-bar li .hbll-header-content section li a{padding:.6em .8em;margin:.2em 0}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all{border-top:1px solid rgba(255,255,255,.3);justify-content:flex-end}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-no-see-all{margin-bottom:1em}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-main{padding-bottom:.4em}nav.hbll-header-desktop{overflow:initial;background-color:#fff;padding:0 2em;position:relative;max-width:100%}nav.hbll-header-desktop .hbll-header-nav-bar{flex-direction:row;align-items:center}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links{background-color:#0047ba;display:flex;flex-direction:column;align-items:flex-start}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li{width:100%}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li a{transition:background-color .1s ease-in-out}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li a:hover{background-color:#fff3;width:100%}nav.hbll-header-desktop .hbll-header-nav-bar li{width:auto;height:100%}nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch{transition:all .2s ease-in-out;font-size:1.2em;background-color:transparent}nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch:hover{background-color:transparent;transform:scale(115%);color:#0047ba}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content{display:flex;justify-content:center;padding-top:1.4em;padding-right:10%;padding-left:10%}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section{padding-top:0;padding-left:5%;width:30em}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section+section{border-left:1px solid rgba(255,255,255,.3);margin-top:0}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all{margin-right:1em;transition:color .1s ease-in-out;width:auto}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all:hover{color:#ffffffd9}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content h2,nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content h3{color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: NavBarDropdownComponent, selector: "lib-nav-bar-dropdown", inputs: ["title", "isSmallScreen"], outputs: ["openEvent"] }] }); }
438
+ }
439
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NavBarComponent, decorators: [{
440
+ type: Component,
441
+ args: [{ selector: 'lib-nav-bar', standalone: true, imports: [CommonModule, NavBarDropdownComponent], template: "<nav\n [style]=\"{ height: height() ? height() + 'px' : 'auto' }\"\n [ngClass]=\"{ 'hbll-header-desktop': !isScreenSmall() }\"\n data-testid=\"nav\"\n>\n <ul class=\"hbll-header-nav-bar\">\n <li id=\"navHome\">\n <a [href]=\"mainSiteBaseUrl()\">\n @if (isScreenSmall()) {\n <span class=\"material-symbols-outlined hbll-header-icon\"> home </span>\n }\n Home\n </a>\n </li>\n @for (navInfo of navInfos(); track navInfo.title) {\n <li>\n <lib-nav-bar-dropdown\n [title]=\"navInfo.title\"\n [isSmallScreen]=\"isScreenSmall() ?? true\"\n (openEvent)=\"handleDropdownOpenEvent($event)\"\n >\n <div\n class=\"hbll-header-content\"\n [ngStyle]=\"{\n 'background-color': isScreenSmall() ? '#336cc8' : 'inherit',\n }\"\n >\n @if (navInfo.mainSection) {\n <section>\n <h2>{{ navInfo.mainSection.title }}</h2>\n <ul class=\"hbll-header-main hbll-header-links\">\n @for (link of navInfo.mainSection.links; track link.label) {\n <li>\n <a [href]=\"link.url\">\n {{ link.label }}\n </a>\n </li>\n }\n </ul>\n @if (navInfo.mainSection.auxiliaryLink) {\n <a\n class=\"hbll-header-see-all\"\n [href]=\"navInfo.mainSection.auxiliaryLink.url\"\n >\n {{ navInfo.mainSection.auxiliaryLink.label }}\n <span class=\"material-symbols-outlined hbll-header-icon\">\n chevron_right\n </span>\n </a>\n }\n </section>\n }\n @for (section of navInfo.otherSections; track section.title) {\n <section>\n <h3>{{ section.title }}</h3>\n <ul class=\"hbll-header-links\">\n @for (link of section.links; track link.label) {\n <li>\n <a [href]=\"link.url\">\n {{ link.label }}\n @if (link.icon) {\n <span\n class=\"material-symbols-outlined hbll-header-icon-right\"\n >\n {{ link.icon }}\n </span>\n }\n </a>\n </li>\n }\n </ul>\n </section>\n }\n </div>\n </lib-nav-bar-dropdown>\n </li>\n }\n <li>\n <a id=\"navSearch\" href=\"https://lib.byu.edu/search\">\n @if (isScreenSmall()) {\n Search\n }\n <span\n class=\"material-symbols-outlined\"\n [ngClass]=\"{ 'hbll-header-icon': isScreenSmall() }\"\n >\n search\n </span>\n </a>\n </li>\n </ul>\n</nav>\n", styles: ["nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch{color:#002e5d;background-color:#fff;display:flex;justify-content:center;align-items:center;font-size:1.1em;font-weight:500;border:none;padding:.4em 1em;line-height:1.4em}nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a .hbll-header-icon,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch .hbll-header-icon{font-size:1.3em;margin-bottom:-.1em}nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a:hover,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch:hover{background-color:#0047ba;color:#fff}*{box-sizing:border-box;text-decoration:none;font-size:1em}*:not(.material-symbols-outlined){font-family:inherit}.hbll-header-icon-right{margin-left:.4em;font-size:1.2em}nav{background-color:#0047ba;position:absolute;overflow-y:scroll;overflow-x:hidden;scrollbar-width:none;width:100vw;max-width:400px;right:0}nav li{list-style-type:none}nav ::-webkit-scrollbar{display:none}nav .hbll-header-nav-bar{display:flex;flex-direction:column;align-items:flex-end;margin:0;padding:0}nav .hbll-header-nav-bar .hbll-header-links{padding:0}nav .hbll-header-nav-bar li{width:100%}nav .hbll-header-nav-bar li#navHome .hbll-header-icon{margin-right:.2em}nav .hbll-header-nav-bar li a{color:#fff;display:flex;align-items:center;width:100%;padding:.6em}nav .hbll-header-nav-bar li #navSearch{justify-content:flex-end;font-size:1.3em}nav .hbll-header-nav-bar li #navSearch .hbll-header-icon{margin-left:.2em}nav .hbll-header-nav-bar li .hbll-header-content{border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1.4em}nav .hbll-header-nav-bar li .hbll-header-content section{padding-left:3em}nav .hbll-header-nav-bar li .hbll-header-content section:first-of-type{padding-top:1em}nav .hbll-header-nav-bar li .hbll-header-content section h2,nav .hbll-header-nav-bar li .hbll-header-content section h3{font-weight:600;font-size:1.4em;margin-bottom:.4em}nav .hbll-header-nav-bar li .hbll-header-content section+section{margin-top:1.8em}nav .hbll-header-nav-bar li .hbll-header-content section li a{padding:.6em .8em;margin:.2em 0}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all{border-top:1px solid rgba(255,255,255,.3);justify-content:flex-end}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-no-see-all{margin-bottom:1em}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-main{padding-bottom:.4em}nav.hbll-header-desktop{overflow:initial;background-color:#fff;padding:0 2em;position:relative;max-width:100%}nav.hbll-header-desktop .hbll-header-nav-bar{flex-direction:row;align-items:center}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links{background-color:#0047ba;display:flex;flex-direction:column;align-items:flex-start}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li{width:100%}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li a{transition:background-color .1s ease-in-out}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li a:hover{background-color:#fff3;width:100%}nav.hbll-header-desktop .hbll-header-nav-bar li{width:auto;height:100%}nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch{transition:all .2s ease-in-out;font-size:1.2em;background-color:transparent}nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch:hover{background-color:transparent;transform:scale(115%);color:#0047ba}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content{display:flex;justify-content:center;padding-top:1.4em;padding-right:10%;padding-left:10%}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section{padding-top:0;padding-left:5%;width:30em}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section+section{border-left:1px solid rgba(255,255,255,.3);margin-top:0}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all{margin-right:1em;transition:color .1s ease-in-out;width:auto}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all:hover{color:#ffffffd9}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content h2,nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content h3{color:#fff}\n"] }]
442
+ }], propDecorators: { dropdownComps: [{
443
+ type: ViewChildren,
444
+ args: [NavBarDropdownComponent]
445
+ }] } });
446
+
447
+ class LibraryHoursPipe {
26
448
  transform(date, time) {
27
- return new Date(date + 'T' + time);
449
+ let newTime = null;
450
+ try {
451
+ newTime = new DatePipe('en-US').transform(new Date(date + 'T' + time), 'ha');
452
+ }
453
+ catch (e) {
454
+ return newTime;
455
+ }
456
+ if (newTime === '12AM')
457
+ newTime = 'Midnight';
458
+ else if (newTime) {
459
+ newTime = newTime.replace('AM', ' a.m.');
460
+ newTime = newTime.replace('PM', ' p.m.');
461
+ }
462
+ return newTime;
28
463
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LibraryHoursDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
30
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: LibraryHoursDatePipe, isStandalone: true, name: "libraryHoursDate" }); }
464
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LibraryHoursPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
465
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: LibraryHoursPipe, isStandalone: true, name: "libraryHours" }); }
31
466
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LibraryHoursDatePipe, decorators: [{
467
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LibraryHoursPipe, decorators: [{
33
468
  type: Pipe,
34
469
  args: [{
35
- name: 'libraryHoursDate',
470
+ name: 'libraryHours',
36
471
  standalone: true,
37
472
  }]
38
473
  }] });
39
- /**
40
- * Header component built to be exported as a custom element.
41
- * This component uses icons provided by Google Material.
42
- * The link to these icons should be included once in the \<head> of your base html.
43
- *
44
- * When a non-empty string `name` is provided to this component, the user is considered logged in.
45
- * Two outputs/events are accessible: `login` and `logout`.
46
- */
474
+
475
+ const LIBRARY_HOURS_API_URL = 'https://apps.lib.byu.edu/libraryhours/api/hours';
47
476
  class HbllHeaderComponent {
48
477
  constructor() {
49
478
  this.r2 = inject(Renderer2);
479
+ // TODO: does this increase bundle size more than it's worth? vs fetch?
50
480
  this.http = inject(HttpClient);
481
+ this.bo = inject(BreakpointObserver);
482
+ this.doc = inject(DOCUMENT);
51
483
  // --- API ---
52
- this.name = input('');
484
+ // TODO: Convert these to signal inputs: https://github.com/angular/angular/issues/57755
485
+ this.name = '';
486
+ this.mainsitebaseurl = 'https://lib.byu.edu';
487
+ // TODO: this is a singal input currently because it won't be used by any other applications than Angular ones.
488
+ this.showImpersonateButton = input(false);
489
+ this.openImpersonationModal = new EventEmitter();
53
490
  this.login = new EventEmitter();
54
491
  this.logout = new EventEmitter();
55
492
  // -----------
493
+ this.formatDateForHours = (date) => `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}`;
56
494
  this.accountInfoEl = viewChild('accountInfo');
57
- this.isLoggedIn = computed(() => !!this.name());
495
+ this.hoursEl = viewChild('hours');
496
+ // Hours
58
497
  this.libraryHours = toSignal(this.http.get(LIBRARY_HOURS_API_URL));
498
+ this.hoursExceptions$ = of(null).pipe(map(() => {
499
+ // Get exceptions from today to two months out
500
+ const today = new Date();
501
+ const start = this.formatDateForHours(today);
502
+ const newDate = new Date();
503
+ newDate.setMonth(today.getMonth() + 2);
504
+ const stop = this.formatDateForHours(newDate);
505
+ return [start, stop];
506
+ }), switchMap(([start, stop]) => this.http
507
+ .get(`${LIBRARY_HOURS_API_URL}?start=${start}&stop=${stop}`)
508
+ .pipe(map((res) => res.filter((day) => day.has_exception).slice(0, 5)))), shareReplay(1));
59
509
  this.showAccountDropdown = false;
510
+ this.showLibraryHours = false;
511
+ this.mobileSidebarHeight = 0;
512
+ this.showNavBar = false;
513
+ this.isScreenSmall = isScreenSmallSignal(this.bo);
514
+ this.openSidebarNav = () => {
515
+ this.showNavBar = true;
516
+ window.scrollTo(0, 0);
517
+ this.r2.setStyle(this.doc.body, 'overflow', 'hidden');
518
+ };
519
+ this.closeSidebarNav = () => {
520
+ this.showNavBar = false;
521
+ this.r2.removeStyle(this.doc.body, 'overflow');
522
+ };
523
+ this.setMobileSidebarHeight = () => (this.mobileSidebarHeight =
524
+ window.innerHeight - this.header.nativeElement.getBoundingClientRect().height);
525
+ }
526
+ get isLoggedIn() {
527
+ return !!this.name;
60
528
  }
61
529
  ngAfterViewInit() {
62
530
  this.r2.listen('window', 'click', (e) => {
63
531
  if (!this.accountInfoEl()?.nativeElement.contains(e.target))
64
532
  this.showAccountDropdown = false;
533
+ if (!this.hoursEl()?.nativeElement.contains(e.target))
534
+ this.showLibraryHours = false;
65
535
  });
536
+ this.setMobileSidebarHeight();
537
+ }
538
+ onResize() {
539
+ this.setMobileSidebarHeight();
66
540
  }
67
541
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
68
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: HbllHeaderComponent, isStandalone: true, selector: "lib-hbll-header", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { login: "login", logout: "logout" }, viewQueries: [{ propertyName: "accountInfoEl", first: true, predicate: ["accountInfo"], descendants: true, isSignal: true }], ngImport: i0, template: "<header role=\"banner\" class=\"wrapper\">\n <h1>\n <a href=\"https://lib.byu.edu/\">\n <img\n src=\"https://media.lib.byu.edu/web-assets/images/1.0.0/byu-library-logo-full.svg\"\n alt=\"BYU Library Logo\"\n />\n </a>\n </h1>\n <div id=\"libraryInfo\" class=\"wrapper\">\n @if (libraryHours()) {\n <div id=\"libraryHours\">\n <div class=\"wrapper\">\n <span class=\"material-symbols-outlined left-icon\"> schedule </span>\n {{\n libraryHours()?.is_closed\n ? \"CLOSED\"\n : \"Today's hours: \" +\n (libraryHours()!.date\n | libraryHoursDate : libraryHours()!.open_time\n | date : \"ha\"\n | lowercase) +\n \" - \" +\n (libraryHours()!.date\n | libraryHoursDate : libraryHours()!.close_time\n | date : \"ha\"\n | lowercase)\n }}\n </div>\n </div>\n }\n <div id=\"accountInfo\" #accountInfo>\n <button\n (click)=\"\n isLoggedIn()\n ? (showAccountDropdown = !showAccountDropdown)\n : login.emit()\n \"\n class=\"wrapper\"\n id=\"accountBtn\"\n >\n <span class=\"material-symbols-outlined left-icon\"> person </span>\n {{ isLoggedIn() ? name : \"Login\" }}\n @if (isLoggedIn()) {\n <span class=\"material-symbols-outlined\"> arrow_drop_down </span>\n }\n </button>\n @if (isLoggedIn() && showAccountDropdown) {\n <div id=\"accountDropdown\">\n <a class=\"item\">My Account</a>\n <a class=\"item\">Preferences</a>\n <button class=\"item\" (click)=\"logout.emit()\">Logout</button>\n </div>\n }\n </div>\n </div>\n</header>\n<nav></nav>\n", styles: [":host{font-family:Source Sans Pro}.wrapper{display:flex;align-items:center}header{background-color:#002e5d;display:flex;align-items:center;padding:.6rem 1rem}h1{height:2rem}#libraryInfo{margin-left:auto}#libraryHours,#accountInfo{color:#fff;margin:.6rem}.left-icon{margin-right:.4rem}img{height:100%}#accountInfo{position:relative}#accountInfo #accountBtn:hover{opacity:.6}#accountInfo #accountDropdown{font-size:1.1rem;text-wrap:nowrap;position:absolute;background-color:#002e5d;top:100%;right:0;padding:1.2rem}#accountInfo #accountDropdown .item{display:block;padding:.4rem 0;width:100%;text-align:left}#accountInfo #accountDropdown .item:first-child{padding-top:0}#accountInfo #accountDropdown .item:last-child{padding-bottom:0}button{background-color:transparent;border:none;cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;padding:0}\n"], dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: LibraryHoursDatePipe, name: "libraryHoursDate" }] }); }
542
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: HbllHeaderComponent, isStandalone: true, selector: "lib-hbll-header", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, mainsitebaseurl: { classPropertyName: "mainsitebaseurl", publicName: "mainsitebaseurl", isSignal: false, isRequired: false, transformFunction: null }, showImpersonateButton: { classPropertyName: "showImpersonateButton", publicName: "showImpersonateButton", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openImpersonationModal: "openImpersonationModal", login: "login", logout: "logout" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "accountInfoEl", first: true, predicate: ["accountInfo"], descendants: true, isSignal: true }, { propertyName: "hoursEl", first: true, predicate: ["hours"], descendants: true, isSignal: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }], ngImport: i0, template: "<header\n role=\"banner\"\n class=\"hbll-header-wrapper\"\n #header\n [ngClass]=\"{ 'hbll-header-desktop': !isScreenSmall() }\"\n>\n <a [href]=\"mainsitebaseurl\">\n <h1>\n <img\n src=\"https://media.lib.byu.edu/web-assets/images/2.0.0/byu-hbll-logo-full.svg\"\n alt=\"BYU Library Logo\"\n />\n </h1>\n </a>\n <div id=\"libraryInfo\" class=\"hbll-header-wrapper\">\n @if (!isScreenSmall()) {\n <div #hours id=\"mainLibraryHours\" data-testid=\"desktopHours\">\n <button\n (click)=\"showLibraryHours = !showLibraryHours\"\n class=\"hbll-header-wrapper\"\n data-testid=\"hoursBtn\"\n >\n <ng-container *ngTemplateOutlet=\"hoursTextBlock\"></ng-container>\n </button>\n @if (!isScreenSmall() && showLibraryHours) {\n <div\n @libHbllFadeInOut\n id=\"libraryHoursDropdown\"\n data-testid=\"libraryHoursDropdown\"\n >\n <section class=\"hbll-header-section\">\n <h2 class=\"hbll-header-header\">Regular Hours</h2>\n <div class=\"hbll-header-detail\">\n <h3 class=\"hbll-header-item\">Monday - Friday</h3>\n <h3 class=\"hbll-header-item\">Saturday</h3>\n <h3 class=\"hbll-header-item\">Sunday</h3>\n </div>\n <div class=\"hbll-header-hours\">\n <div class=\"hbll-header-item\">7 a.m - midnight</div>\n <div class=\"hbll-header-item\">8 a.m - midnight</div>\n <div class=\"hbll-header-item\">Closed*</div>\n </div>\n <div class=\"hbll-header-hours-note\">\n * Family history ONLY 4 p.m. - 8 p.m\n <ul>\n <li><span>No checkouts after 11:45 p.m.</span></li>\n <li>\n <span>All services closed 10:45 to noon on Tuesdays</span>\n </li>\n </ul>\n </div>\n </section>\n <section class=\"hbll-header-section\">\n <h2 class=\"hbll-header-header\">Upcoming Exceptions</h2>\n @if (hoursExceptions$ | async; as exceptions) {\n <div class=\"hbll-header-detail\" data-testid=\"exceptionsDetail\">\n @for (exception of exceptions; track exception.date) {\n <h3 class=\"hbll-header-item\">\n {{ exception.date | date: 'MMM. d, YYYY' }}\n </h3>\n } @empty {\n No upcoming exceptions\n }\n </div>\n <div class=\"hbll-header-hours\" data-testid=\"exceptionsHours\">\n @for (exception of exceptions; track exception.date) {\n <div class=\"hbll-header-item\">\n {{ exception.exception_title }}\n </div>\n }\n </div>\n } @else {\n <div class=\"lib-spinner\" data-testid=\"exceptionsSpinner\"></div>\n }\n </section>\n <section class=\"hbll-header-section\">\n <h2 class=\"hbll-header-header\">Library Cafe</h2>\n <div class=\"hbll-header-detail\">\n <h3 class=\"hbll-header-item\">Bagel Bubble</h3>\n <h3 class=\"hbll-header-item\">Provecho</h3>\n </div>\n <div class=\"hbll-header-hours\">\n <div class=\"hbll-header-item\">7 a.m - 11 p.m.</div>\n <div class=\"hbll-header-item\">10:30 a.m - 2 p.m.</div>\n </div>\n </section>\n <a [href]=\"mainsitebaseurl + '/about/hours'\"\n >See all hours\n <span class=\"material-symbols-outlined\"> chevron_right </span></a\n >\n </div>\n }\n </div>\n }\n <div id=\"accountInfo\" #accountInfo>\n <button\n (click)=\"isLoggedIn ? (showAccountDropdown = !showAccountDropdown) : login.emit()\"\n class=\"hbll-header-wrapper\"\n id=\"accountBtn\"\n data-testid=\"accountBtn\"\n >\n <span class=\"material-symbols-outlined hbll-header-icon\"> person </span>\n @if (!isScreenSmall()) {\n <span class=\"hbll-header-name\" data-testid=\"name\">{{\n isLoggedIn ? '&nbsp;' + name : 'Login'\n }}</span>\n }\n @if (isLoggedIn) {\n <span class=\"material-symbols-outlined\" data-testid=\"loginDropdown\">\n arrow_drop_down\n </span>\n }\n </button>\n @if (isLoggedIn && showAccountDropdown) {\n <div @libHbllFadeInOut id=\"accountDropdown\" data-testid=\"accountDropdown\">\n <a [href]=\"mainsitebaseurl + '/account'\">My Account</a>\n <a [href]=\"mainsitebaseurl + '/account'\">My Items</a>\n <a [href]=\"mainsitebaseurl + '/account/request'\">Request an item</a>\n <a [href]=\"mainsitebaseurl + '/account/saved'\">Saved</a>\n <a [href]=\"mainsitebaseurl + '/account/course'\">Courses</a>\n <a [href]=\"mainsitebaseurl + '/account/rooms'\">Rooms</a>\n <a [href]=\"mainsitebaseurl + '/account/preferences'\">Preferences</a>\n @if (showImpersonateButton()) {\n <button\n (click)=\"openImpersonationModal.emit(); showAccountDropdown = false\"\n class=\"hbll-header-impersonate-btn\"\n >\n Impersonate\n </button>\n }\n <button (click)=\"logout.emit()\" data-testid=\"logout\">Logout</button>\n </div>\n }\n </div>\n @if (isScreenSmall()) {\n <div id=\"mobileNav\">\n <button\n class=\"hbll-header-wrapper\"\n data-testid=\"mobileNavBtn\"\n (click)=\"openSidebarNav()\"\n >\n <span class=\"material-symbols-outlined hbll-header-icon\"> menu </span>\n </button>\n @if (showNavBar) {\n <div\n id=\"navWrapper\"\n data-testid=\"mobileNav\"\n [@libHbllSlideInOutRightLeft]=\"{\n value: '',\n params: { xOffset: '400px' },\n }\"\n >\n <button\n id=\"closeMobileNavBtn\"\n class=\"hbll-header-wrapper\"\n data-testid=\"closeMobileNavBtn\"\n (click)=\"closeSidebarNav()\"\n >\n <span class=\"material-symbols-outlined hbll-header-icon\"> close </span>\n </button>\n <lib-nav-bar\n [mainSiteBaseUrl]=\"mainsitebaseurl\"\n [height]=\"mobileSidebarHeight\"\n />\n </div>\n <div\n @libHbllFadeInOut\n (click)=\"showNavBar = false\"\n class=\"hbll-nav-backdrop\"\n data-testid=\"mobileNavBackdrop\"\n ></div>\n }\n </div>\n }\n </div>\n</header>\n\n@if (!isScreenSmall()) {\n <div id=\"mainNav\">\n <lib-nav-bar [mainSiteBaseUrl]=\"mainsitebaseurl\" />\n </div>\n}\n@if (isScreenSmall()) {\n <a\n id=\"mobileLibraryHours\"\n [href]=\"mainsitebaseurl + '/about/hours'\"\n class=\"hbll-header-wrapper\"\n data-testid=\"mobileHours\"\n >\n <ng-container *ngTemplateOutlet=\"hoursTextBlock\"></ng-container>\n </a>\n}\n\n<ng-template #hoursTextBlock>\n @if (libraryHours()) {\n <span class=\"material-symbols-outlined hbll-header-left-icon\"> schedule </span>\n {{\n libraryHours()?.is_closed\n ? 'CLOSED'\n : \"Today's hours: \" +\n (libraryHours()!.date | libraryHours: libraryHours()!.open_time) +\n ' - ' +\n (libraryHours()!.date | libraryHours: libraryHours()!.close_time)\n }}\n }\n</ng-template>\n", styles: [".lib-spinner{border:.3em solid #dfe9f7;border-top:.3em solid #4070b0;border-radius:100%;width:30px;height:30px;animation:loadingSpinnerAnimate 1s ease infinite;position:relative}@keyframes loadingSpinnerAnimate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{box-sizing:border-box;text-decoration:none;font-size:1em}*:not(.material-symbols-outlined){font-family:inherit}:host{position:relative;z-index:10000}.hbll-header-wrapper{display:flex;align-items:center;font-size:1em}.hbll-nav-backdrop{background-color:#000;opacity:.3;height:100vh;width:100vw;left:0;top:0;transform:translate(-100vw);position:absolute;z-index:-1}#mobileLibraryHours{color:#141414;background-color:#e6e6e6;font-size:1em;min-height:2em}#mobileLibraryHours.hbll-header-wrapper{width:100%;justify-content:center;padding:.2em}.hbll-header-icon,.hbll-header-left-icon{font-size:1.2em}.hbll-header-left-icon{margin-right:.2em}header{background-color:#002e5d;display:flex;align-items:center}header a h1{font-size:100%;margin:0;height:1.8em}header a h1 img{height:100%;padding:0 0 0 .6em}header #libraryInfo{margin-left:auto;color:#fff}header #libraryInfo a,header #libraryInfo button{transition:color .2s ease-in-out;color:#fffc}header #libraryInfo a:hover,header #libraryInfo button:hover{color:#fff}header #libraryInfo #accountInfo button,header #libraryInfo #mobileNav button{padding:.8em .6em}header #libraryInfo #accountBtn .name{margin-left:.4em}header #libraryInfo #mobileNav{position:relative;z-index:11}header #libraryInfo #mobileNav #navWrapper{color:#fff;position:absolute;top:0;right:0}header #libraryInfo #mobileNav #navWrapper #closeMobileNavBtn{background-color:#0047ba;margin-left:auto;padding-left:.9em}header #libraryInfo :last-child button{padding-right:1em!important}header #libraryInfo .hbll-header-icon,header #libraryInfo .hbll-header-left-icon{font-size:1.6em}header #libraryInfo #accountInfo{position:relative}header #libraryInfo #accountInfo #accountDropdown{font-size:1em;text-wrap:nowrap;position:absolute;background-color:#002e5d;top:100%;right:-32px;z-index:11;background-color:#233753}header #libraryInfo #accountInfo #accountDropdown .hbll-header-impersonate-btn{color:#ca7ad1cc}header #libraryInfo #accountInfo #accountDropdown .hbll-header-impersonate-btn:hover{color:#ca7ad1}header #libraryInfo #accountInfo #accountDropdown a,header #libraryInfo #accountInfo #accountDropdown button{display:block;width:100%;text-align:left;padding:.4em 1.2em;font-size:1.1em}header #libraryInfo #accountInfo #accountDropdown a:first-child,header #libraryInfo #accountInfo #accountDropdown button:first-child{margin-bottom:.4em;padding-top:.6em;padding-bottom:.6em;border-bottom:1px solid rgba(255,255,255,.3)}header #libraryInfo #accountInfo #accountDropdown a:last-child,header #libraryInfo #accountInfo #accountDropdown button:last-child{margin-top:.4em;border-top:1px solid rgba(255,255,255,.3);padding-top:.6em;padding-bottom:.6em}header #libraryInfo #accountInfo #accountDropdown:before{content:\"\";width:0;height:0;border-style:solid;border-width:0 .6em .6em .6em;border-color:transparent transparent hsl(214,41%,23%) transparent;position:absolute;bottom:100%;right:50%;transform:translate(50%);z-index:inherit}header.hbll-header-desktop{padding:0 2em}header.hbll-header-desktop #libraryInfo #mainLibraryHours{position:relative;margin-right:1em}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown{z-index:11;background-color:#fff;border-radius:4px;border:1px solid #d2d2d2;position:absolute;color:#000;padding:2em;top:100%;max-width:400%;right:50%;transform:translate(50%);margin-top:.6em}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section{display:grid;grid-template-columns:repeat(3,9em);grid-template-rows:1fr;grid-column-gap:0px;grid-row-gap:0px;margin-bottom:1em}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section h2{margin:0}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-hours-note{grid-column:2/4;font-size:.8em;margin-top:1em}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-hours-note ul{list-style-type:disc;list-style-position:inside;margin-left:.8em;padding:0}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-hours-note ul li span{left:-8px;position:relative}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-header{font-weight:600;font-size:1.2em}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-detail,header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-hours{margin-top:.2em}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-detail .hbll-header-item+.hbll-header-item,header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-hours .hbll-header-item+.hbll-header-item{margin-top:.3em}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-detail h3,header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-hours h3{margin:0;font-size:inherit}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-detail{font-weight:600;white-space:nowrap}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-hours{white-space:nowrap}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown a{color:#4070b0;display:flex;align-items:center;float:right}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown a:hover{color:#6892ca}header.hbll-header-desktop #libraryInfo #accountInfo #accountDropdown{right:auto;left:50%;transform:translate(-50%)}button{background-color:transparent;border:none;cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;padding:0}\n"], dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: LibraryHoursPipe, name: "libraryHours" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: NavBarComponent, selector: "lib-nav-bar", inputs: ["mainSiteBaseUrl", "height"] }], animations: [libHbllSlideInOutRightLeft, libHbllFadeInOut] }); }
69
543
  }
70
544
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllHeaderComponent, decorators: [{
71
545
  type: Component,
72
- args: [{ selector: 'lib-hbll-header', standalone: true, imports: [DatePipe, LowerCasePipe, LibraryHoursDatePipe], template: "<header role=\"banner\" class=\"wrapper\">\n <h1>\n <a href=\"https://lib.byu.edu/\">\n <img\n src=\"https://media.lib.byu.edu/web-assets/images/1.0.0/byu-library-logo-full.svg\"\n alt=\"BYU Library Logo\"\n />\n </a>\n </h1>\n <div id=\"libraryInfo\" class=\"wrapper\">\n @if (libraryHours()) {\n <div id=\"libraryHours\">\n <div class=\"wrapper\">\n <span class=\"material-symbols-outlined left-icon\"> schedule </span>\n {{\n libraryHours()?.is_closed\n ? \"CLOSED\"\n : \"Today's hours: \" +\n (libraryHours()!.date\n | libraryHoursDate : libraryHours()!.open_time\n | date : \"ha\"\n | lowercase) +\n \" - \" +\n (libraryHours()!.date\n | libraryHoursDate : libraryHours()!.close_time\n | date : \"ha\"\n | lowercase)\n }}\n </div>\n </div>\n }\n <div id=\"accountInfo\" #accountInfo>\n <button\n (click)=\"\n isLoggedIn()\n ? (showAccountDropdown = !showAccountDropdown)\n : login.emit()\n \"\n class=\"wrapper\"\n id=\"accountBtn\"\n >\n <span class=\"material-symbols-outlined left-icon\"> person </span>\n {{ isLoggedIn() ? name : \"Login\" }}\n @if (isLoggedIn()) {\n <span class=\"material-symbols-outlined\"> arrow_drop_down </span>\n }\n </button>\n @if (isLoggedIn() && showAccountDropdown) {\n <div id=\"accountDropdown\">\n <a class=\"item\">My Account</a>\n <a class=\"item\">Preferences</a>\n <button class=\"item\" (click)=\"logout.emit()\">Logout</button>\n </div>\n }\n </div>\n </div>\n</header>\n<nav></nav>\n", styles: [":host{font-family:Source Sans Pro}.wrapper{display:flex;align-items:center}header{background-color:#002e5d;display:flex;align-items:center;padding:.6rem 1rem}h1{height:2rem}#libraryInfo{margin-left:auto}#libraryHours,#accountInfo{color:#fff;margin:.6rem}.left-icon{margin-right:.4rem}img{height:100%}#accountInfo{position:relative}#accountInfo #accountBtn:hover{opacity:.6}#accountInfo #accountDropdown{font-size:1.1rem;text-wrap:nowrap;position:absolute;background-color:#002e5d;top:100%;right:0;padding:1.2rem}#accountInfo #accountDropdown .item{display:block;padding:.4rem 0;width:100%;text-align:left}#accountInfo #accountDropdown .item:first-child{padding-top:0}#accountInfo #accountDropdown .item:last-child{padding-bottom:0}button{background-color:transparent;border:none;cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;padding:0}\n"] }]
546
+ args: [{ selector: 'lib-hbll-header', standalone: true, imports: [
547
+ DatePipe,
548
+ LowerCasePipe,
549
+ LibraryHoursPipe,
550
+ CommonModule,
551
+ NavBarComponent,
552
+ ExpandCollapseComponent,
553
+ ], animations: [libHbllSlideInOutRightLeft, libHbllFadeInOut], template: "<header\n role=\"banner\"\n class=\"hbll-header-wrapper\"\n #header\n [ngClass]=\"{ 'hbll-header-desktop': !isScreenSmall() }\"\n>\n <a [href]=\"mainsitebaseurl\">\n <h1>\n <img\n src=\"https://media.lib.byu.edu/web-assets/images/2.0.0/byu-hbll-logo-full.svg\"\n alt=\"BYU Library Logo\"\n />\n </h1>\n </a>\n <div id=\"libraryInfo\" class=\"hbll-header-wrapper\">\n @if (!isScreenSmall()) {\n <div #hours id=\"mainLibraryHours\" data-testid=\"desktopHours\">\n <button\n (click)=\"showLibraryHours = !showLibraryHours\"\n class=\"hbll-header-wrapper\"\n data-testid=\"hoursBtn\"\n >\n <ng-container *ngTemplateOutlet=\"hoursTextBlock\"></ng-container>\n </button>\n @if (!isScreenSmall() && showLibraryHours) {\n <div\n @libHbllFadeInOut\n id=\"libraryHoursDropdown\"\n data-testid=\"libraryHoursDropdown\"\n >\n <section class=\"hbll-header-section\">\n <h2 class=\"hbll-header-header\">Regular Hours</h2>\n <div class=\"hbll-header-detail\">\n <h3 class=\"hbll-header-item\">Monday - Friday</h3>\n <h3 class=\"hbll-header-item\">Saturday</h3>\n <h3 class=\"hbll-header-item\">Sunday</h3>\n </div>\n <div class=\"hbll-header-hours\">\n <div class=\"hbll-header-item\">7 a.m - midnight</div>\n <div class=\"hbll-header-item\">8 a.m - midnight</div>\n <div class=\"hbll-header-item\">Closed*</div>\n </div>\n <div class=\"hbll-header-hours-note\">\n * Family history ONLY 4 p.m. - 8 p.m\n <ul>\n <li><span>No checkouts after 11:45 p.m.</span></li>\n <li>\n <span>All services closed 10:45 to noon on Tuesdays</span>\n </li>\n </ul>\n </div>\n </section>\n <section class=\"hbll-header-section\">\n <h2 class=\"hbll-header-header\">Upcoming Exceptions</h2>\n @if (hoursExceptions$ | async; as exceptions) {\n <div class=\"hbll-header-detail\" data-testid=\"exceptionsDetail\">\n @for (exception of exceptions; track exception.date) {\n <h3 class=\"hbll-header-item\">\n {{ exception.date | date: 'MMM. d, YYYY' }}\n </h3>\n } @empty {\n No upcoming exceptions\n }\n </div>\n <div class=\"hbll-header-hours\" data-testid=\"exceptionsHours\">\n @for (exception of exceptions; track exception.date) {\n <div class=\"hbll-header-item\">\n {{ exception.exception_title }}\n </div>\n }\n </div>\n } @else {\n <div class=\"lib-spinner\" data-testid=\"exceptionsSpinner\"></div>\n }\n </section>\n <section class=\"hbll-header-section\">\n <h2 class=\"hbll-header-header\">Library Cafe</h2>\n <div class=\"hbll-header-detail\">\n <h3 class=\"hbll-header-item\">Bagel Bubble</h3>\n <h3 class=\"hbll-header-item\">Provecho</h3>\n </div>\n <div class=\"hbll-header-hours\">\n <div class=\"hbll-header-item\">7 a.m - 11 p.m.</div>\n <div class=\"hbll-header-item\">10:30 a.m - 2 p.m.</div>\n </div>\n </section>\n <a [href]=\"mainsitebaseurl + '/about/hours'\"\n >See all hours\n <span class=\"material-symbols-outlined\"> chevron_right </span></a\n >\n </div>\n }\n </div>\n }\n <div id=\"accountInfo\" #accountInfo>\n <button\n (click)=\"isLoggedIn ? (showAccountDropdown = !showAccountDropdown) : login.emit()\"\n class=\"hbll-header-wrapper\"\n id=\"accountBtn\"\n data-testid=\"accountBtn\"\n >\n <span class=\"material-symbols-outlined hbll-header-icon\"> person </span>\n @if (!isScreenSmall()) {\n <span class=\"hbll-header-name\" data-testid=\"name\">{{\n isLoggedIn ? '&nbsp;' + name : 'Login'\n }}</span>\n }\n @if (isLoggedIn) {\n <span class=\"material-symbols-outlined\" data-testid=\"loginDropdown\">\n arrow_drop_down\n </span>\n }\n </button>\n @if (isLoggedIn && showAccountDropdown) {\n <div @libHbllFadeInOut id=\"accountDropdown\" data-testid=\"accountDropdown\">\n <a [href]=\"mainsitebaseurl + '/account'\">My Account</a>\n <a [href]=\"mainsitebaseurl + '/account'\">My Items</a>\n <a [href]=\"mainsitebaseurl + '/account/request'\">Request an item</a>\n <a [href]=\"mainsitebaseurl + '/account/saved'\">Saved</a>\n <a [href]=\"mainsitebaseurl + '/account/course'\">Courses</a>\n <a [href]=\"mainsitebaseurl + '/account/rooms'\">Rooms</a>\n <a [href]=\"mainsitebaseurl + '/account/preferences'\">Preferences</a>\n @if (showImpersonateButton()) {\n <button\n (click)=\"openImpersonationModal.emit(); showAccountDropdown = false\"\n class=\"hbll-header-impersonate-btn\"\n >\n Impersonate\n </button>\n }\n <button (click)=\"logout.emit()\" data-testid=\"logout\">Logout</button>\n </div>\n }\n </div>\n @if (isScreenSmall()) {\n <div id=\"mobileNav\">\n <button\n class=\"hbll-header-wrapper\"\n data-testid=\"mobileNavBtn\"\n (click)=\"openSidebarNav()\"\n >\n <span class=\"material-symbols-outlined hbll-header-icon\"> menu </span>\n </button>\n @if (showNavBar) {\n <div\n id=\"navWrapper\"\n data-testid=\"mobileNav\"\n [@libHbllSlideInOutRightLeft]=\"{\n value: '',\n params: { xOffset: '400px' },\n }\"\n >\n <button\n id=\"closeMobileNavBtn\"\n class=\"hbll-header-wrapper\"\n data-testid=\"closeMobileNavBtn\"\n (click)=\"closeSidebarNav()\"\n >\n <span class=\"material-symbols-outlined hbll-header-icon\"> close </span>\n </button>\n <lib-nav-bar\n [mainSiteBaseUrl]=\"mainsitebaseurl\"\n [height]=\"mobileSidebarHeight\"\n />\n </div>\n <div\n @libHbllFadeInOut\n (click)=\"showNavBar = false\"\n class=\"hbll-nav-backdrop\"\n data-testid=\"mobileNavBackdrop\"\n ></div>\n }\n </div>\n }\n </div>\n</header>\n\n@if (!isScreenSmall()) {\n <div id=\"mainNav\">\n <lib-nav-bar [mainSiteBaseUrl]=\"mainsitebaseurl\" />\n </div>\n}\n@if (isScreenSmall()) {\n <a\n id=\"mobileLibraryHours\"\n [href]=\"mainsitebaseurl + '/about/hours'\"\n class=\"hbll-header-wrapper\"\n data-testid=\"mobileHours\"\n >\n <ng-container *ngTemplateOutlet=\"hoursTextBlock\"></ng-container>\n </a>\n}\n\n<ng-template #hoursTextBlock>\n @if (libraryHours()) {\n <span class=\"material-symbols-outlined hbll-header-left-icon\"> schedule </span>\n {{\n libraryHours()?.is_closed\n ? 'CLOSED'\n : \"Today's hours: \" +\n (libraryHours()!.date | libraryHours: libraryHours()!.open_time) +\n ' - ' +\n (libraryHours()!.date | libraryHours: libraryHours()!.close_time)\n }}\n }\n</ng-template>\n", styles: [".lib-spinner{border:.3em solid #dfe9f7;border-top:.3em solid #4070b0;border-radius:100%;width:30px;height:30px;animation:loadingSpinnerAnimate 1s ease infinite;position:relative}@keyframes loadingSpinnerAnimate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{box-sizing:border-box;text-decoration:none;font-size:1em}*:not(.material-symbols-outlined){font-family:inherit}:host{position:relative;z-index:10000}.hbll-header-wrapper{display:flex;align-items:center;font-size:1em}.hbll-nav-backdrop{background-color:#000;opacity:.3;height:100vh;width:100vw;left:0;top:0;transform:translate(-100vw);position:absolute;z-index:-1}#mobileLibraryHours{color:#141414;background-color:#e6e6e6;font-size:1em;min-height:2em}#mobileLibraryHours.hbll-header-wrapper{width:100%;justify-content:center;padding:.2em}.hbll-header-icon,.hbll-header-left-icon{font-size:1.2em}.hbll-header-left-icon{margin-right:.2em}header{background-color:#002e5d;display:flex;align-items:center}header a h1{font-size:100%;margin:0;height:1.8em}header a h1 img{height:100%;padding:0 0 0 .6em}header #libraryInfo{margin-left:auto;color:#fff}header #libraryInfo a,header #libraryInfo button{transition:color .2s ease-in-out;color:#fffc}header #libraryInfo a:hover,header #libraryInfo button:hover{color:#fff}header #libraryInfo #accountInfo button,header #libraryInfo #mobileNav button{padding:.8em .6em}header #libraryInfo #accountBtn .name{margin-left:.4em}header #libraryInfo #mobileNav{position:relative;z-index:11}header #libraryInfo #mobileNav #navWrapper{color:#fff;position:absolute;top:0;right:0}header #libraryInfo #mobileNav #navWrapper #closeMobileNavBtn{background-color:#0047ba;margin-left:auto;padding-left:.9em}header #libraryInfo :last-child button{padding-right:1em!important}header #libraryInfo .hbll-header-icon,header #libraryInfo .hbll-header-left-icon{font-size:1.6em}header #libraryInfo #accountInfo{position:relative}header #libraryInfo #accountInfo #accountDropdown{font-size:1em;text-wrap:nowrap;position:absolute;background-color:#002e5d;top:100%;right:-32px;z-index:11;background-color:#233753}header #libraryInfo #accountInfo #accountDropdown .hbll-header-impersonate-btn{color:#ca7ad1cc}header #libraryInfo #accountInfo #accountDropdown .hbll-header-impersonate-btn:hover{color:#ca7ad1}header #libraryInfo #accountInfo #accountDropdown a,header #libraryInfo #accountInfo #accountDropdown button{display:block;width:100%;text-align:left;padding:.4em 1.2em;font-size:1.1em}header #libraryInfo #accountInfo #accountDropdown a:first-child,header #libraryInfo #accountInfo #accountDropdown button:first-child{margin-bottom:.4em;padding-top:.6em;padding-bottom:.6em;border-bottom:1px solid rgba(255,255,255,.3)}header #libraryInfo #accountInfo #accountDropdown a:last-child,header #libraryInfo #accountInfo #accountDropdown button:last-child{margin-top:.4em;border-top:1px solid rgba(255,255,255,.3);padding-top:.6em;padding-bottom:.6em}header #libraryInfo #accountInfo #accountDropdown:before{content:\"\";width:0;height:0;border-style:solid;border-width:0 .6em .6em .6em;border-color:transparent transparent hsl(214,41%,23%) transparent;position:absolute;bottom:100%;right:50%;transform:translate(50%);z-index:inherit}header.hbll-header-desktop{padding:0 2em}header.hbll-header-desktop #libraryInfo #mainLibraryHours{position:relative;margin-right:1em}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown{z-index:11;background-color:#fff;border-radius:4px;border:1px solid #d2d2d2;position:absolute;color:#000;padding:2em;top:100%;max-width:400%;right:50%;transform:translate(50%);margin-top:.6em}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section{display:grid;grid-template-columns:repeat(3,9em);grid-template-rows:1fr;grid-column-gap:0px;grid-row-gap:0px;margin-bottom:1em}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section h2{margin:0}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-hours-note{grid-column:2/4;font-size:.8em;margin-top:1em}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-hours-note ul{list-style-type:disc;list-style-position:inside;margin-left:.8em;padding:0}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-hours-note ul li span{left:-8px;position:relative}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-header{font-weight:600;font-size:1.2em}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-detail,header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-hours{margin-top:.2em}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-detail .hbll-header-item+.hbll-header-item,header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-hours .hbll-header-item+.hbll-header-item{margin-top:.3em}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-detail h3,header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-hours h3{margin:0;font-size:inherit}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-detail{font-weight:600;white-space:nowrap}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown .hbll-header-section .hbll-header-hours{white-space:nowrap}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown a{color:#4070b0;display:flex;align-items:center;float:right}header.hbll-header-desktop #libraryInfo #mainLibraryHours #libraryHoursDropdown a:hover{color:#6892ca}header.hbll-header-desktop #libraryInfo #accountInfo #accountDropdown{right:auto;left:50%;transform:translate(-50%)}button{background-color:transparent;border:none;cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;padding:0}\n"] }]
554
+ }], propDecorators: { header: [{
555
+ type: ViewChild,
556
+ args: ['header']
557
+ }], name: [{
558
+ type: Input
559
+ }], mainsitebaseurl: [{
560
+ type: Input
561
+ }], openImpersonationModal: [{
562
+ type: Output
563
+ }], login: [{
564
+ type: Output
565
+ }], logout: [{
566
+ type: Output
567
+ }], onResize: [{
568
+ type: HostListener,
569
+ args: ['window:resize', ['$event']]
570
+ }] } });
571
+
572
+ const typeToIconMap = {
573
+ archive: 'inventory_2',
574
+ article: 'article',
575
+ audio: 'mic',
576
+ audiobook: 'mic',
577
+ 'blu-ray': 'album',
578
+ book: 'book_4',
579
+ 'book-chapter': 'book_6',
580
+ 'book-review': 'reviews',
581
+ broadside: 'image',
582
+ calculator: 'calculate',
583
+ cassette: 'album',
584
+ cd: 'album',
585
+ 'cd-rom': 'album',
586
+ clothing: 'album',
587
+ 'clothing-pattern': 'album',
588
+ collection: 'library_books',
589
+ conference: 'podium',
590
+ 'conference-proceeding': 'podium',
591
+ cuneiform: 'aod_tablet',
592
+ curricula: 'aod_tablet',
593
+ database: 'database',
594
+ dataset: 'dataset',
595
+ diary: 'book_2',
596
+ dissertation: 'school',
597
+ dvd: 'album',
598
+ ebook: 'two_pager',
599
+ ebookreader: 'chrome_reader_mode',
600
+ ejournal: 'two_pager',
601
+ 'electronic-resource': 'description',
602
+ equipment: 'service_toolbox',
603
+ filmstrip: 'theaters',
604
+ 'finding-aid': 'travel_explore',
605
+ 'government-document': 'travel_explore',
606
+ 'government-novel': 'book_4',
607
+ guide: 'travel_explore',
608
+ image: 'image',
609
+ index: 'list',
610
+ journal: 'book_2',
611
+ 'juv-book': 'book_4',
612
+ kit: 'home_repair_service',
613
+ laserdisc: 'album',
614
+ 'legal-document': 'gavel',
615
+ letter: 'mail',
616
+ magazine: 'newsmode',
617
+ manuscript: 'article',
618
+ 'manuscript-archive': 'inventory_2',
619
+ map: 'map',
620
+ media: 'play_circle',
621
+ microfiche: 'theaters',
622
+ microfilm: 'theaters',
623
+ microform: 'theaters',
624
+ model: 'modeling',
625
+ movie: 'movie',
626
+ multimedia: 'play_circle',
627
+ 'music-recording': 'album',
628
+ 'musical-recording': 'play_circle',
629
+ newsletter: 'article',
630
+ newspaper: 'newspaper',
631
+ 'newspaper-article': 'newspaper',
632
+ ostracon: 'description',
633
+ other: 'description',
634
+ painting: 'palette',
635
+ palmleaf: 'eco',
636
+ pamphlet: 'article',
637
+ papyrus: 'article',
638
+ performance: 'music_note',
639
+ periodical: 'article',
640
+ photograph: 'image',
641
+ picture: 'image',
642
+ poem: 'article',
643
+ poster: 'image',
644
+ presentation: 'slideshow',
645
+ 'primary-source': 'inventory_2',
646
+ 'primary-source-document': 'article',
647
+ record: 'album',
648
+ 'reel-to-reel': 'video_camera_back',
649
+ 'reference-entry': 'article',
650
+ report: 'summarize',
651
+ 'research-data-set': 'dataset',
652
+ review: 'summarize',
653
+ score: 'music_note',
654
+ script: 'article',
655
+ serial: 'article',
656
+ slide: 'slideshow',
657
+ software: 'terminal',
658
+ 'sound-recording': 'mic',
659
+ standards: 'article',
660
+ 'statistical-data-set': 'dataset',
661
+ 'streaming-audio': 'play_circle',
662
+ 'streaming-media': 'play_circle',
663
+ 'streaming-video': 'play_circle',
664
+ 'student-project': 'article',
665
+ 'technical-report': 'summarize',
666
+ 'text-resource': 'summarize',
667
+ unknown: 'article',
668
+ vhs: 'theaters',
669
+ video: 'movie',
670
+ website: 'globe',
671
+ };
672
+ /**
673
+ * Converts an item type to an icon type to be used with Google Material Icons
674
+ *
675
+ * Intended to be used with an imported font, such as: `<link
676
+ rel="stylesheet"
677
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,1,0"
678
+ />`
679
+ *
680
+ * Reference: https://fonts.google.com/icons?selected=Material+Symbols+Outlined:inventory_2:FILL@0;wght@400;GRAD@0;opsz@24&icon.query=invent&icon.size=24&icon.color=%235f6368
681
+ */
682
+ class HbllItemTypeIconPipe {
683
+ transform(itemType) {
684
+ const type = itemType.replace(/_/g, '-').toLowerCase();
685
+ return typeToIconMap[type] ?? 'article';
686
+ }
687
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllItemTypeIconPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
688
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: HbllItemTypeIconPipe, isStandalone: true, name: "libByuItemTypeIcon" }); }
689
+ }
690
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllItemTypeIconPipe, decorators: [{
691
+ type: Pipe,
692
+ args: [{
693
+ name: 'libByuItemTypeIcon',
694
+ standalone: true,
695
+ }]
696
+ }] });
697
+
698
+ const EMAIL_PATH = 'email';
699
+ const FEEDBACK_PATH = 'feedback';
700
+ const USER_STATUSES = [
701
+ '',
702
+ 'Undergraduate',
703
+ 'Graduate',
704
+ 'Faculty',
705
+ 'Staff',
706
+ 'Library Employee',
707
+ 'Other',
708
+ ];
709
+ const createContactForm = (fb) => fb.nonNullable.group({
710
+ name: [''],
711
+ email: [''],
712
+ message: ['', Validators.required],
713
+ status: [''],
714
+ });
715
+ const submitEmail = (payload, http, apiBaseUrl) => submitContactForm(payload, http, EMAIL_PATH, apiBaseUrl);
716
+ const submitFeedback = (payload, http, apiBaseUrl) => submitContactForm({ ...payload, origin: location.href }, http, FEEDBACK_PATH, apiBaseUrl);
717
+ const submitContactForm = (payload, http, path, apiBaseUrl) => http.post(`${apiBaseUrl}/${path}`, payload);
718
+ const getUserStatusFromRoles = (roles) => {
719
+ let userStatus = '';
720
+ if (roles.includes('undergraduateStudent')) {
721
+ userStatus = 'Undergraduate';
722
+ }
723
+ if (roles.includes('graduateStudent')) {
724
+ userStatus = 'Graduate';
725
+ }
726
+ if (roles.includes('staffEmployee')) {
727
+ userStatus = 'Staff';
728
+ }
729
+ if (roles.includes('facultyEmployee')) {
730
+ userStatus = 'Faculty';
731
+ }
732
+ if (roles.includes('libraryEmployee')) {
733
+ userStatus = 'Library Employee';
734
+ }
735
+ return userStatus;
736
+ };
737
+
738
+ class HbllFooterComponent {
739
+ constructor() {
740
+ this.fb = inject(FormBuilder);
741
+ this.http = inject(HttpClient);
742
+ // TODO: Convert these to signal inputs: https://github.com/angular/angular/issues/57755
743
+ this.mainsitebaseurl = 'https://lib.byu.edu';
744
+ this.libraryapibaseuri = 'https://apps.lib.byu.edu/v1';
745
+ this.date = new Date();
746
+ this.isSubmitted = false;
747
+ this.isLoading = false;
748
+ this.hasConnectionError = false;
749
+ this.isEmailSent = false;
750
+ this.emailForm = createContactForm(this.fb);
751
+ this.userStatuses = USER_STATUSES;
752
+ this.sendEmail = () => {
753
+ this.isSubmitted = true;
754
+ if (this.emailForm.invalid)
755
+ return;
756
+ this.isLoading = true;
757
+ submitEmail(this.emailForm.value, this.http, this.libraryapibaseuri).subscribe({
758
+ error: () => {
759
+ this.hasConnectionError = true;
760
+ this.isLoading = false;
761
+ },
762
+ complete: () => {
763
+ this.hasConnectionError = false;
764
+ this.isLoading = false;
765
+ this.isEmailSent = true;
766
+ this.emailForm.reset();
767
+ },
768
+ });
769
+ };
770
+ this.handleClose = () => {
771
+ if (this.isEmailSent) {
772
+ this.isEmailSent = false;
773
+ this.hasConnectionError = false;
774
+ this.isLoading = false;
775
+ }
776
+ this.isSubmitted = false;
777
+ };
778
+ }
779
+ set emailname(name) {
780
+ this.emailForm.controls.name.setValue(name);
781
+ }
782
+ set emailemail(email) {
783
+ this.emailForm.controls.email.setValue(email);
784
+ }
785
+ set emailmessage(message) {
786
+ this.emailForm.controls.message.setValue(message);
787
+ }
788
+ set emailstatus(status) {
789
+ this.emailForm.controls.status.setValue(status);
790
+ }
791
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
792
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: HbllFooterComponent, isStandalone: true, selector: "lib-hbll-footer", inputs: { mainsitebaseurl: "mainsitebaseurl", libraryapibaseuri: "libraryapibaseuri", emailname: "emailname", emailemail: "emailemail", emailmessage: "emailmessage", emailstatus: "emailstatus" }, ngImport: i0, template: "<footer>\n <div class=\"hbll-footer-wrapper\">\n <div class=\"hbll-footer-links\">\n <section>\n <h3>Contact</h3>\n <ul>\n <li>\n <address>\n P.O. Box 26800<br />\n Provo, UT 84602-6800\n </address>\n </li>\n <li>\n <span class=\"material-symbols-outlined hbll-footer-icon\">\n phone_in_talk </span\n >&nbsp;\n <a href=\"tel:801-422-6061\"><strong>Call</strong>&nbsp;(801) 422-6061</a>\n </li>\n <li>\n <span class=\"material-symbols-outlined hbll-footer-icon\"> sms </span>&nbsp;\n <a href=\"sms:801-623-6838\"><strong>Text</strong>&nbsp;(801) 623-6838</a>\n </li>\n <li>\n <span class=\"material-symbols-outlined hbll-footer-icon\"> mail </span\n >&nbsp;<button (click)=\"emailDialog.showModal()\" data-testid=\"emailUsBtn\">\n <strong>Email us</strong>\n </button>\n </li>\n </ul>\n </section>\n <section>\n <h3>Resources</h3>\n <ul>\n <li>\n <a target=\"_blank\" href=\"{{ mainsitebaseurl }}/site-index/\"\n >A-Z Site Index</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"{{ mainsitebaseurl }}/about/policies/\">Policies</a>\n </li>\n <li>\n <a target=\"_blank\" href=\"{{ mainsitebaseurl }}/about/location/\"\n >Parking & Directions</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"https://uac.byu.edu/accessibility-lab\"\n >Accessibility Resources</a\n >\n </li>\n </ul>\n </section>\n <section>\n <h3>Friends in the Library</h3>\n <ul>\n <li>\n <a target=\"_blank\" href=\"https://ctl.byu.edu\"\n >Center for Teaching and Learning</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"https://copyright.byu.edu\"\n >Copyright Licensing Office</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"https://facultycenter.byu.edu/aboutus\"\n >Faculty Center</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"https://dining.byu.edu/library-cafe\"\n >Library Cafe</a\n >\n </li>\n </ul>\n </section>\n <section>\n <h3>Connect</h3>\n <ul class=\"hbll-footer-social-list\">\n <li>\n <a target=\"_blank\" href=\"https://www.facebook.com/byuhbll\">\n <img\n class=\"hbll-footer-social\"\n src=\"https://media.lib.byu.edu/web-assets/images/1.0.0/facebook-color-round.svg\"\n alt=\"Facebook\"\n title=\"Facebook\"\n />\n </a>\n </li>\n <li>\n <a target=\"_blank\" href=\"https://www.instagram.com/byu_hbll/\">\n <img\n class=\"hbll-footer-social\"\n src=\"https://media.lib.byu.edu/web-assets/images/1.0.0/instagram-color.svg\"\n alt=\"Instagram\"\n title=\"Instagram\"\n />\n </a>\n </li>\n </ul>\n </section>\n </div>\n <section class=\"hbll-footer-bottom\">\n <div class=\"hbll-footer-title\">\n <a href=\"https://byu.edu\" target=\"_blank\">BRIGHAM YOUNG UNIVERSITY</a>\n </div>\n <br />\n PROVO, UT 84602, USA | <a href=\"sms:801-422-6061\">(801) 422-6061</a>\n <br />&copy;&nbsp;{{ date | date: 'yyyy' }}\n ALL RIGHTS RESERVED\n <div class=\"hbll-footer-privacy\">\n <a href=\"https://privacy.byu.edu/\" target=\"_blank\">Privacy Notice</a>\n |\n <a href=\"https://infosec.byu.edu/cookie-prefs\" target=\"_blank\"\n >Cookie Preferences</a\n >\n </div>\n </section>\n </div>\n</footer>\n\n<dialog\n #emailDialog\n onmousedown=\"event.target === this && this.close()\"\n (close)=\"handleClose()\"\n data-testid=\"dialog\"\n>\n @if (!isEmailSent) {\n <form [formGroup]=\"emailForm\" (submit)=\"sendEmail()\" data-testid=\"form\">\n <div class=\"hbll-footer-email-top\">\n <h1>Email Us</h1>\n <button (click)=\"emailDialog.close()\" type=\"button\" data-testid=\"closeBtn\">\n <span class=\"material-symbols-outlined\"> close </span>\n </button>\n </div>\n <label for=\"emailName\">Name</label>\n <input\n id=\"emailName\"\n type=\"text\"\n name=\"name\"\n formControlName=\"name\"\n data-testid=\"emailNameInput\"\n />\n <label for=\"emailEmail\"> Email (please provide if you would like a response)</label>\n <input\n id=\"emailEmail\"\n type=\"text\"\n formControlName=\"email\"\n data-testid=\"emailEmailInput\"\n />\n <label for=\"emailMessage\">\n Question or comment&nbsp;<span class=\"hbll-footer-email-required\">*</span>\n </label>\n <textarea\n id=\"emailMessage\"\n type=\"text\"\n formControlName=\"message\"\n data-testid=\"emailMessageInput\"\n ></textarea>\n @if (isSubmitted && emailForm.controls.message.invalid) {\n <div\n class=\"hbll-footer-email-required hbll-footer-email-error\"\n data-testid=\"commentError\"\n >\n <span class=\"material-symbols-outlined hbll-footer-email-error-icon\">\n warning\n </span>\n <strong>Please fill out this field</strong>\n </div>\n }\n <label for=\"emailStatus\">Role</label>\n <span class=\"hbll-footer-select-wrapper\">\n <select id=\"emailStatus\" formControlName=\"status\" data-testid=\"emailStatusInput\">\n <option selected value=\"\"></option>\n @for (status of userStatuses | slice: 1; track status) {\n <option>{{ status }}</option>\n }\n </select>\n </span>\n <div class=\"hbll-footer-email-bottom-bar\">\n @if (hasConnectionError) {\n <p class=\"hbll-footer-connection-error\" data-testid=\"connectionError\">\n <i>There was an error sending your email. Please try again later.</i>\n </p>\n }\n <button\n class=\"pill-btn--components\"\n type=\"submit\"\n [disabled]=\"isLoading\"\n data-testid=\"sendEmailBtn\"\n >\n Send\n </button>\n </div>\n </form>\n } @else {\n <div class=\"hbll-footer-email-success\" data-testid=\"successMessage\">\n <p>\n Your email was sent successfully. If you supplied your email address, we will get\n back to you shortly.<br />Thank you!\n </p>\n <button class=\"pill-btn--components\" (click)=\"emailDialog.close()\" type=\"button\">\n Close\n </button>\n </div>\n }\n</dialog>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,200..400;1,200..400&display=swap\";*{box-sizing:border-box;text-decoration:none;font-size:1em}*:not(.material-symbols-outlined){font-family:inherit}dialog form input,dialog form textarea,dialog form select{appearance:none;font-family:inherit;padding:.38em;border:solid 1px #707070;border-radius:4px;font-size:1em;background-color:#fff}dialog form input:focus,dialog form textarea:focus,dialog form select:focus{outline-color:#3a6093}dialog form .hbll-footer-select-wrapper{position:relative}dialog form .hbll-footer-select-wrapper select{cursor:pointer;padding-right:2em}dialog form .hbll-footer-select-wrapper:after{font-family:Material Symbols Outlined;content:\"arrow_drop_down\";pointer-events:none;top:0;font-size:1.5em;right:.2em;height:100%;position:absolute;display:flex;align-items:center;opacity:70%}.pill-btn--components{background-color:#4070b0;font-size:1em;transition:all .15s;color:#fff;cursor:pointer;font-weight:600;text-align:center}.pill-btn--components:disabled{color:#707070;background-color:#e6e6e6;pointer-events:none}.pill-btn--components:hover{background-color:#6892ca;color:#fff}.destructive.pill-btn--components{background-color:#b04940}.destructive.pill-btn--components:hover{background-color:#c7574d}.pill-btn--components{border-radius:100em;padding:.4em 1.3em}button{border:none;background-color:transparent;font-size:1em}button :hover{cursor:pointer}footer{line-height:1.2em;background-color:#e6e6e6}footer .hbll-footer-wrapper{display:flex;flex-direction:column;align-items:center}footer .hbll-footer-wrapper .hbll-footer-links{max-width:90em;display:flex;align-items:flex-start;justify-content:flex-start;flex-wrap:wrap;padding-bottom:2em;white-space:nowrap}footer .hbll-footer-wrapper .hbll-footer-links strong{font-weight:600}footer .hbll-footer-wrapper .hbll-footer-links address{font-style:normal}footer .hbll-footer-wrapper .hbll-footer-links .hbll-footer-icon{font-size:1em;margin-right:.2em;color:#002e5d}footer .hbll-footer-wrapper .hbll-footer-links section{padding:2em 1.8em 0;background-color:#e6e6e6;flex:1}footer .hbll-footer-wrapper .hbll-footer-links .hbll-footer-social-list{display:flex}footer .hbll-footer-wrapper .hbll-footer-links .hbll-footer-social-list .hbll-footer-social{height:1.5em;margin-right:1em}footer .hbll-footer-wrapper .hbll-footer-links .hbll-footer-social-list li{margin-bottom:0}footer .hbll-footer-wrapper h3{font-weight:600;color:#002e5d;font-size:1.4em;margin-bottom:1em;margin-top:0}footer .hbll-footer-wrapper ul{list-style:none;margin:.4em 0 0;padding:0}footer .hbll-footer-wrapper ul li{display:flex;align-items:center}footer .hbll-footer-wrapper ul li a,footer .hbll-footer-wrapper ul li button{display:inline-flex;align-items:center;color:#305f9c}footer .hbll-footer-wrapper ul li a:hover,footer .hbll-footer-wrapper ul li button:hover{color:#6892ca}footer .hbll-footer-wrapper ul li:not(:last-of-type){margin-bottom:.6em}footer .hbll-footer-wrapper .hbll-footer-bottom{text-align:center;background-color:#002e5d;color:#fff;font-family:Public Sans,sans-serif;font-optical-sizing:auto;font-weight:200;font-style:normal;font-size:.9em;line-height:1.6em;padding:1.8em;width:100%}footer .hbll-footer-wrapper .hbll-footer-bottom a{color:#fff}footer .hbll-footer-wrapper .hbll-footer-bottom .hbll-footer-title{font-size:2em;font-weight:400;line-height:1em}footer .hbll-footer-wrapper .hbll-footer-bottom .hbll-footer-privacy{margin-top:.4em}footer .hbll-footer-wrapper .hbll-footer-bottom .hbll-footer-privacy a{text-decoration:underline}@media screen and (max-width: 40em){.hbll-footer-links{flex-direction:column;justify-content:flex-start;width:100%}}dialog{border:solid 1px #888;border-radius:4px;width:90%;max-width:50em;padding:0;transition:all 5s ease-in-out}dialog .hbll-footer-email-success,dialog form{padding:1.6em 2em}dialog .hbll-footer-email-success p,dialog form p{text-align:center;line-height:1.4em}dialog .hbll-footer-email-success{display:flex;justify-content:center;align-items:center;flex-direction:column}dialog .hbll-footer-email-success button{margin-top:1em}dialog form{display:flex;flex-direction:column;position:relative}dialog form textarea{min-height:100px;resize:vertical}dialog form input,dialog form textarea,dialog form .hbll-footer-select-wrapper{margin-bottom:.6em}dialog form .hbll-footer-email-bottom-bar{display:flex;align-items:center;justify-content:flex-end}dialog form .hbll-footer-email-bottom-bar .hbll-footer-connection-error{text-align:right;flex-grow:1;margin:0 1em 0 0}dialog form label{margin-bottom:.4em;margin-top:.4em}dialog form .hbll-footer-email-error{display:flex;justify-content:center;align-items:center;margin-right:auto;margin-bottom:.6em;font-size:.8em}dialog form .hbll-footer-email-error .hbll-footer-email-error-icon{font-size:1.2em;margin-right:.2em}dialog form .hbll-footer-email-top{width:100%;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;margin-bottom:1em}dialog form .hbll-footer-email-top h1{font-size:1.4em;margin:0}dialog form .hbll-footer-email-required-message{float:right}dialog form .hbll-footer-select-wrapper{margin-right:auto}dialog form .hbll-footer-email-required{color:#d03a3a}dialog form button:not([type=submit]){color:#333}dialog form button:not([type=submit]):hover{color:#696969}dialog form button[type=submit]{margin-left:auto}dialog::backdrop{background-color:#000;opacity:.75}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
793
+ }
794
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllFooterComponent, decorators: [{
795
+ type: Component,
796
+ args: [{ selector: 'lib-hbll-footer', standalone: true, imports: [CommonModule, ReactiveFormsModule], template: "<footer>\n <div class=\"hbll-footer-wrapper\">\n <div class=\"hbll-footer-links\">\n <section>\n <h3>Contact</h3>\n <ul>\n <li>\n <address>\n P.O. Box 26800<br />\n Provo, UT 84602-6800\n </address>\n </li>\n <li>\n <span class=\"material-symbols-outlined hbll-footer-icon\">\n phone_in_talk </span\n >&nbsp;\n <a href=\"tel:801-422-6061\"><strong>Call</strong>&nbsp;(801) 422-6061</a>\n </li>\n <li>\n <span class=\"material-symbols-outlined hbll-footer-icon\"> sms </span>&nbsp;\n <a href=\"sms:801-623-6838\"><strong>Text</strong>&nbsp;(801) 623-6838</a>\n </li>\n <li>\n <span class=\"material-symbols-outlined hbll-footer-icon\"> mail </span\n >&nbsp;<button (click)=\"emailDialog.showModal()\" data-testid=\"emailUsBtn\">\n <strong>Email us</strong>\n </button>\n </li>\n </ul>\n </section>\n <section>\n <h3>Resources</h3>\n <ul>\n <li>\n <a target=\"_blank\" href=\"{{ mainsitebaseurl }}/site-index/\"\n >A-Z Site Index</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"{{ mainsitebaseurl }}/about/policies/\">Policies</a>\n </li>\n <li>\n <a target=\"_blank\" href=\"{{ mainsitebaseurl }}/about/location/\"\n >Parking & Directions</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"https://uac.byu.edu/accessibility-lab\"\n >Accessibility Resources</a\n >\n </li>\n </ul>\n </section>\n <section>\n <h3>Friends in the Library</h3>\n <ul>\n <li>\n <a target=\"_blank\" href=\"https://ctl.byu.edu\"\n >Center for Teaching and Learning</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"https://copyright.byu.edu\"\n >Copyright Licensing Office</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"https://facultycenter.byu.edu/aboutus\"\n >Faculty Center</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"https://dining.byu.edu/library-cafe\"\n >Library Cafe</a\n >\n </li>\n </ul>\n </section>\n <section>\n <h3>Connect</h3>\n <ul class=\"hbll-footer-social-list\">\n <li>\n <a target=\"_blank\" href=\"https://www.facebook.com/byuhbll\">\n <img\n class=\"hbll-footer-social\"\n src=\"https://media.lib.byu.edu/web-assets/images/1.0.0/facebook-color-round.svg\"\n alt=\"Facebook\"\n title=\"Facebook\"\n />\n </a>\n </li>\n <li>\n <a target=\"_blank\" href=\"https://www.instagram.com/byu_hbll/\">\n <img\n class=\"hbll-footer-social\"\n src=\"https://media.lib.byu.edu/web-assets/images/1.0.0/instagram-color.svg\"\n alt=\"Instagram\"\n title=\"Instagram\"\n />\n </a>\n </li>\n </ul>\n </section>\n </div>\n <section class=\"hbll-footer-bottom\">\n <div class=\"hbll-footer-title\">\n <a href=\"https://byu.edu\" target=\"_blank\">BRIGHAM YOUNG UNIVERSITY</a>\n </div>\n <br />\n PROVO, UT 84602, USA | <a href=\"sms:801-422-6061\">(801) 422-6061</a>\n <br />&copy;&nbsp;{{ date | date: 'yyyy' }}\n ALL RIGHTS RESERVED\n <div class=\"hbll-footer-privacy\">\n <a href=\"https://privacy.byu.edu/\" target=\"_blank\">Privacy Notice</a>\n |\n <a href=\"https://infosec.byu.edu/cookie-prefs\" target=\"_blank\"\n >Cookie Preferences</a\n >\n </div>\n </section>\n </div>\n</footer>\n\n<dialog\n #emailDialog\n onmousedown=\"event.target === this && this.close()\"\n (close)=\"handleClose()\"\n data-testid=\"dialog\"\n>\n @if (!isEmailSent) {\n <form [formGroup]=\"emailForm\" (submit)=\"sendEmail()\" data-testid=\"form\">\n <div class=\"hbll-footer-email-top\">\n <h1>Email Us</h1>\n <button (click)=\"emailDialog.close()\" type=\"button\" data-testid=\"closeBtn\">\n <span class=\"material-symbols-outlined\"> close </span>\n </button>\n </div>\n <label for=\"emailName\">Name</label>\n <input\n id=\"emailName\"\n type=\"text\"\n name=\"name\"\n formControlName=\"name\"\n data-testid=\"emailNameInput\"\n />\n <label for=\"emailEmail\"> Email (please provide if you would like a response)</label>\n <input\n id=\"emailEmail\"\n type=\"text\"\n formControlName=\"email\"\n data-testid=\"emailEmailInput\"\n />\n <label for=\"emailMessage\">\n Question or comment&nbsp;<span class=\"hbll-footer-email-required\">*</span>\n </label>\n <textarea\n id=\"emailMessage\"\n type=\"text\"\n formControlName=\"message\"\n data-testid=\"emailMessageInput\"\n ></textarea>\n @if (isSubmitted && emailForm.controls.message.invalid) {\n <div\n class=\"hbll-footer-email-required hbll-footer-email-error\"\n data-testid=\"commentError\"\n >\n <span class=\"material-symbols-outlined hbll-footer-email-error-icon\">\n warning\n </span>\n <strong>Please fill out this field</strong>\n </div>\n }\n <label for=\"emailStatus\">Role</label>\n <span class=\"hbll-footer-select-wrapper\">\n <select id=\"emailStatus\" formControlName=\"status\" data-testid=\"emailStatusInput\">\n <option selected value=\"\"></option>\n @for (status of userStatuses | slice: 1; track status) {\n <option>{{ status }}</option>\n }\n </select>\n </span>\n <div class=\"hbll-footer-email-bottom-bar\">\n @if (hasConnectionError) {\n <p class=\"hbll-footer-connection-error\" data-testid=\"connectionError\">\n <i>There was an error sending your email. Please try again later.</i>\n </p>\n }\n <button\n class=\"pill-btn--components\"\n type=\"submit\"\n [disabled]=\"isLoading\"\n data-testid=\"sendEmailBtn\"\n >\n Send\n </button>\n </div>\n </form>\n } @else {\n <div class=\"hbll-footer-email-success\" data-testid=\"successMessage\">\n <p>\n Your email was sent successfully. If you supplied your email address, we will get\n back to you shortly.<br />Thank you!\n </p>\n <button class=\"pill-btn--components\" (click)=\"emailDialog.close()\" type=\"button\">\n Close\n </button>\n </div>\n }\n</dialog>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,200..400;1,200..400&display=swap\";*{box-sizing:border-box;text-decoration:none;font-size:1em}*:not(.material-symbols-outlined){font-family:inherit}dialog form input,dialog form textarea,dialog form select{appearance:none;font-family:inherit;padding:.38em;border:solid 1px #707070;border-radius:4px;font-size:1em;background-color:#fff}dialog form input:focus,dialog form textarea:focus,dialog form select:focus{outline-color:#3a6093}dialog form .hbll-footer-select-wrapper{position:relative}dialog form .hbll-footer-select-wrapper select{cursor:pointer;padding-right:2em}dialog form .hbll-footer-select-wrapper:after{font-family:Material Symbols Outlined;content:\"arrow_drop_down\";pointer-events:none;top:0;font-size:1.5em;right:.2em;height:100%;position:absolute;display:flex;align-items:center;opacity:70%}.pill-btn--components{background-color:#4070b0;font-size:1em;transition:all .15s;color:#fff;cursor:pointer;font-weight:600;text-align:center}.pill-btn--components:disabled{color:#707070;background-color:#e6e6e6;pointer-events:none}.pill-btn--components:hover{background-color:#6892ca;color:#fff}.destructive.pill-btn--components{background-color:#b04940}.destructive.pill-btn--components:hover{background-color:#c7574d}.pill-btn--components{border-radius:100em;padding:.4em 1.3em}button{border:none;background-color:transparent;font-size:1em}button :hover{cursor:pointer}footer{line-height:1.2em;background-color:#e6e6e6}footer .hbll-footer-wrapper{display:flex;flex-direction:column;align-items:center}footer .hbll-footer-wrapper .hbll-footer-links{max-width:90em;display:flex;align-items:flex-start;justify-content:flex-start;flex-wrap:wrap;padding-bottom:2em;white-space:nowrap}footer .hbll-footer-wrapper .hbll-footer-links strong{font-weight:600}footer .hbll-footer-wrapper .hbll-footer-links address{font-style:normal}footer .hbll-footer-wrapper .hbll-footer-links .hbll-footer-icon{font-size:1em;margin-right:.2em;color:#002e5d}footer .hbll-footer-wrapper .hbll-footer-links section{padding:2em 1.8em 0;background-color:#e6e6e6;flex:1}footer .hbll-footer-wrapper .hbll-footer-links .hbll-footer-social-list{display:flex}footer .hbll-footer-wrapper .hbll-footer-links .hbll-footer-social-list .hbll-footer-social{height:1.5em;margin-right:1em}footer .hbll-footer-wrapper .hbll-footer-links .hbll-footer-social-list li{margin-bottom:0}footer .hbll-footer-wrapper h3{font-weight:600;color:#002e5d;font-size:1.4em;margin-bottom:1em;margin-top:0}footer .hbll-footer-wrapper ul{list-style:none;margin:.4em 0 0;padding:0}footer .hbll-footer-wrapper ul li{display:flex;align-items:center}footer .hbll-footer-wrapper ul li a,footer .hbll-footer-wrapper ul li button{display:inline-flex;align-items:center;color:#305f9c}footer .hbll-footer-wrapper ul li a:hover,footer .hbll-footer-wrapper ul li button:hover{color:#6892ca}footer .hbll-footer-wrapper ul li:not(:last-of-type){margin-bottom:.6em}footer .hbll-footer-wrapper .hbll-footer-bottom{text-align:center;background-color:#002e5d;color:#fff;font-family:Public Sans,sans-serif;font-optical-sizing:auto;font-weight:200;font-style:normal;font-size:.9em;line-height:1.6em;padding:1.8em;width:100%}footer .hbll-footer-wrapper .hbll-footer-bottom a{color:#fff}footer .hbll-footer-wrapper .hbll-footer-bottom .hbll-footer-title{font-size:2em;font-weight:400;line-height:1em}footer .hbll-footer-wrapper .hbll-footer-bottom .hbll-footer-privacy{margin-top:.4em}footer .hbll-footer-wrapper .hbll-footer-bottom .hbll-footer-privacy a{text-decoration:underline}@media screen and (max-width: 40em){.hbll-footer-links{flex-direction:column;justify-content:flex-start;width:100%}}dialog{border:solid 1px #888;border-radius:4px;width:90%;max-width:50em;padding:0;transition:all 5s ease-in-out}dialog .hbll-footer-email-success,dialog form{padding:1.6em 2em}dialog .hbll-footer-email-success p,dialog form p{text-align:center;line-height:1.4em}dialog .hbll-footer-email-success{display:flex;justify-content:center;align-items:center;flex-direction:column}dialog .hbll-footer-email-success button{margin-top:1em}dialog form{display:flex;flex-direction:column;position:relative}dialog form textarea{min-height:100px;resize:vertical}dialog form input,dialog form textarea,dialog form .hbll-footer-select-wrapper{margin-bottom:.6em}dialog form .hbll-footer-email-bottom-bar{display:flex;align-items:center;justify-content:flex-end}dialog form .hbll-footer-email-bottom-bar .hbll-footer-connection-error{text-align:right;flex-grow:1;margin:0 1em 0 0}dialog form label{margin-bottom:.4em;margin-top:.4em}dialog form .hbll-footer-email-error{display:flex;justify-content:center;align-items:center;margin-right:auto;margin-bottom:.6em;font-size:.8em}dialog form .hbll-footer-email-error .hbll-footer-email-error-icon{font-size:1.2em;margin-right:.2em}dialog form .hbll-footer-email-top{width:100%;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;margin-bottom:1em}dialog form .hbll-footer-email-top h1{font-size:1.4em;margin:0}dialog form .hbll-footer-email-required-message{float:right}dialog form .hbll-footer-select-wrapper{margin-right:auto}dialog form .hbll-footer-email-required{color:#d03a3a}dialog form button:not([type=submit]){color:#333}dialog form button:not([type=submit]):hover{color:#696969}dialog form button[type=submit]{margin-left:auto}dialog::backdrop{background-color:#000;opacity:.75}\n"] }]
797
+ }], propDecorators: { mainsitebaseurl: [{
798
+ type: Input
799
+ }], libraryapibaseuri: [{
800
+ type: Input
801
+ }], emailname: [{
802
+ type: Input
803
+ }], emailemail: [{
804
+ type: Input
805
+ }], emailmessage: [{
806
+ type: Input
807
+ }], emailstatus: [{
808
+ type: Input
809
+ }] } });
810
+
811
+ var AccessStatus;
812
+ (function (AccessStatus) {
813
+ AccessStatus["OK"] = "ok";
814
+ AccessStatus["BLOCKED"] = "blocked";
815
+ AccessStatus["NONE"] = "none";
816
+ })(AccessStatus || (AccessStatus = {}));
817
+
818
+ class CopyTooltipComponent {
819
+ constructor() {
820
+ this.position = 'below';
821
+ this.clipboardCopyMessage = 'Copy';
822
+ this.copyToClipboard = async (text) => {
823
+ // Ensure the tooltip doesn't disappear when button is clicked
824
+ this.tooltip.show();
825
+ if (text) {
826
+ try {
827
+ await navigator.clipboard.writeText(text).then(() => {
828
+ this.clipboardCopyMessage = 'Copied!';
829
+ });
830
+ }
831
+ catch {
832
+ this.clipboardCopyMessage = 'Failed to copy';
833
+ }
834
+ }
835
+ else
836
+ this.clipboardCopyMessage = 'Nothing to copy!';
837
+ };
838
+ this.handleMouseLeave = () => {
839
+ // Manually hide in case the user hovers over the tooltip
840
+ this.tooltip.hide();
841
+ // Delay to account for tooltip animation
842
+ setTimeout(() => {
843
+ this.clipboardCopyMessage = 'Copy';
844
+ }, 100);
845
+ };
846
+ }
847
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CopyTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
848
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: CopyTooltipComponent, isStandalone: true, selector: "lib-copy-tooltip", inputs: { position: "position", copyText: "copyText" }, viewQueries: [{ propertyName: "tooltip", first: true, predicate: MatTooltip, descendants: true }], ngImport: i0, template: "<div\n (click)=\"copyToClipboard(copyText)\"\n [matTooltip]=\"clipboardCopyMessage\"\n [matTooltipPosition]=\"position\"\n (mouseleave)=\"handleMouseLeave()\"\n data-testid=\"tooltip\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
849
+ }
850
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CopyTooltipComponent, decorators: [{
851
+ type: Component,
852
+ args: [{ selector: 'lib-copy-tooltip', standalone: true, imports: [CommonModule, MatTooltipModule], template: "<div\n (click)=\"copyToClipboard(copyText)\"\n [matTooltip]=\"clipboardCopyMessage\"\n [matTooltipPosition]=\"position\"\n (mouseleave)=\"handleMouseLeave()\"\n data-testid=\"tooltip\"\n>\n <ng-content></ng-content>\n</div>\n" }]
853
+ }], propDecorators: { position: [{
854
+ type: Input
855
+ }], copyText: [{
856
+ type: Input
857
+ }], tooltip: [{
858
+ type: ViewChild,
859
+ args: [MatTooltip]
860
+ }] } });
861
+
862
+ const USER_PHOTO_URL = 'https://y.byu.edu/ry/ae/prod/person/cgi/personPhoto.cgi?n=';
863
+ const PERSON_SUMMARY_PATH = '/summary/:libraryId/';
864
+ const INDEPENDENT_STUDY_RESPONSE_PATH = '/independent-study/:libraryId/';
865
+ const PATRON_ACCOUNTS_PATH = '/patron/accounts';
866
+ class ImpersonationBannerComponent {
867
+ constructor() {
868
+ this.http = inject(HttpClient);
869
+ this.accessTokenPayload = input.required();
870
+ this.personBaseUri = input('https://apps.lib.byu.edu/person/v2/');
871
+ this.libraryApiBaseUri = input('https://apps.lib.byu.edu/v1');
872
+ this.endImpersonation = new EventEmitter();
873
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
874
+ this.parsedToken = computed(() => this.accessTokenPayload().token ? jwtDecode(this.accessTokenPayload().token) : {});
875
+ this.isImpersonating = computed(() => !!this.parsedToken()['impersonator']);
876
+ this.libraryId = computed(() => this.parsedToken()['library_id']);
877
+ this.user = toSignal(combineLatest([toObservable(this.libraryId), toObservable(this.isImpersonating)]).pipe(switchMap$1(([libraryId, isImpersonating]) => libraryId && isImpersonating
878
+ ? this.http.get(urlcat(this.personBaseUri(), PERSON_SUMMARY_PATH, {
879
+ libraryId,
880
+ }), {
881
+ headers: {
882
+ Authorization: `Bearer ${this.accessTokenPayload().token}`,
883
+ },
884
+ })
885
+ : of(null))));
886
+ this.userFullName = computed(() => this.parsedToken()['given_name']
887
+ ? `${this.parsedToken()['given_name']} ${this.parsedToken()['family_name']}`
888
+ : 'Unknown');
889
+ this.isRestricted = computed(() => this.user()?.restricted);
890
+ this.userInfoTabs = computed(() => new Map([
891
+ ['Net ID', this.parsedToken()['net_id'] ?? ''],
892
+ ['BYU ID', this.parsedToken()['byu_id'] ?? ''],
893
+ ['Email', this.parsedToken()['email'] ?? ''],
894
+ ]));
895
+ this.userPhotoUrl = computed(() => this.parsedToken()['net_id'] ? USER_PHOTO_URL + this.parsedToken()['net_id'] : '');
896
+ this.activityStatus = computed(() => {
897
+ if (this.user()?.is_retired)
898
+ return 'retired';
899
+ else if (this.user()?.is_employee)
900
+ return 'active';
901
+ else if (this.user()?.primary_position_type)
902
+ return 'inactive';
903
+ return null;
904
+ });
905
+ this.employeeStatusDescription = computed(() => {
906
+ if (!this.user()) {
907
+ return null;
908
+ }
909
+ let description = '';
910
+ if (this.user().is_retired) {
911
+ description = 'Retired';
912
+ }
913
+ else if (this.user().is_employee) {
914
+ description = 'Active';
915
+ }
916
+ else if (this.user().primary_position_type) {
917
+ description = 'Inactive';
918
+ }
919
+ if (this.user().primary_position_type_display) {
920
+ description += ` ${this.user().primary_position_type_display} Employee`;
921
+ }
922
+ return description ?? null;
923
+ });
924
+ this.independentStudyStatus = toSignal(combineLatest([toObservable(this.libraryId), toObservable(this.isImpersonating)]).pipe(switchMap$1(([libraryId, isImpersonating]) => libraryId && isImpersonating
925
+ ? this.http
926
+ .get(urlcat(this.personBaseUri(), INDEPENDENT_STUDY_RESPONSE_PATH, {
927
+ libraryId,
928
+ }), {
929
+ headers: {
930
+ Authorization: `Bearer ${this.accessTokenPayload().token}`,
931
+ },
932
+ })
933
+ .pipe(map$1((response) => response?.is_enrolled))
934
+ : of(null))));
935
+ this.accountStatuses = toSignal(toObservable(this.isImpersonating).pipe(switchMap$1((isImpersonating) => {
936
+ if (!isImpersonating) {
937
+ return of(null);
938
+ }
939
+ return this.http
940
+ .get(urlcat(this.libraryApiBaseUri(), PATRON_ACCOUNTS_PATH), {
941
+ headers: {
942
+ Authorization: `Bearer ${this.accessTokenPayload().token}`,
943
+ },
944
+ })
945
+ .pipe(map$1((accounts) => {
946
+ const accountStatuses = {
947
+ ok: [],
948
+ blocked: [],
949
+ none: [],
950
+ };
951
+ Object.values(accounts.applications).forEach((app) => {
952
+ switch (app.access) {
953
+ case AccessStatus.OK:
954
+ accountStatuses.ok.push(app);
955
+ break;
956
+ case AccessStatus.BLOCKED:
957
+ accountStatuses.blocked.push(app);
958
+ break;
959
+ case AccessStatus.NONE:
960
+ accountStatuses.none.push(app);
961
+ break;
962
+ }
963
+ });
964
+ return accountStatuses;
965
+ }));
966
+ })));
967
+ }
968
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ImpersonationBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
969
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: ImpersonationBannerComponent, isStandalone: true, selector: "lib-impersonation-banner", inputs: { accessTokenPayload: { classPropertyName: "accessTokenPayload", publicName: "accessTokenPayload", isSignal: true, isRequired: true, transformFunction: null }, personBaseUri: { classPropertyName: "personBaseUri", publicName: "personBaseUri", isSignal: true, isRequired: false, transformFunction: null }, libraryApiBaseUri: { classPropertyName: "libraryApiBaseUri", publicName: "libraryApiBaseUri", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { endImpersonation: "endImpersonation" }, ngImport: i0, template: "@if (isImpersonating()) {\n <div class=\"banner-padding\"></div>\n <div class=\"top-banner\" data-testid=\"banner\">\n <div class=\"banner-group profile-name-container\">\n <div class=\"profile-avatar\">\n <div class=\"profile-image\">\n <img\n [src]=\"userPhotoUrl()\"\n [alt]=\"userFullName()\"\n alt=\"user photo\"\n onerror=\"this.remove()\"\n />\n </div>\n <span class=\"material-symbols-outlined profile-icon\"> person </span>\n </div>\n <div class=\"profile-name-group\">\n <span class=\"soft\">Impersonating</span>\n <div class=\"profile-name-wrapper\">\n <span class=\"profile-name\">{{ userFullName() }}</span>\n @if (accountStatuses()) {\n <div class=\"application-status-bar\">\n @if (accountStatuses()!.ok.length) {\n <div class=\"application-status-indicator\">\n <span class=\"application-status-ok application-status\">\n <span class=\"material-symbols-outlined icon-checkmark\">\n check\n </span>\n <span class=\"application-count\">{{\n accountStatuses()!.ok.length\n }}</span>\n </span>\n <div class=\"status-tooltip-container\">\n <div class=\"status-tooltip\">\n OK Applications\n <hr />\n @for (\n application of accountStatuses()!.ok;\n track application.label\n ) {\n <div class=\"application-status\">\n <span\n class=\"material-symbols-outlined icon-checkmark\"\n >\n check\n </span>\n <span>{{ application.label }}</span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n @if (accountStatuses()!.blocked.length) {\n <div class=\"application-status-indicator\">\n <span class=\"application-status-blocked application-status\">\n <span class=\"material-symbols-outlined icon-warning\">\n warning\n </span>\n <span class=\"application-count\">{{\n accountStatuses()!.blocked.length\n }}</span>\n </span>\n <div class=\"status-tooltip-container\">\n <div class=\"status-tooltip\">\n Blocked Applications\n <hr />\n @for (\n application of accountStatuses()!.blocked;\n track application.code\n ) {\n <div class=\"application-status\">\n <span\n class=\"material-symbols-outlined icon-warning\"\n >\n warning\n </span>\n <span>{{ application.label }}</span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n @if (accountStatuses()!.none.length) {\n <div class=\"application-status-indicator\">\n <span class=\"application-status-none application-status\">\n <span class=\"material-symbols-outlined icon-lock\">\n lock\n </span>\n <span class=\"application-count\">{{\n accountStatuses()!.none.length\n }}</span>\n </span>\n <div class=\"status-tooltip-container\">\n <div class=\"status-tooltip\">\n No Account\n <hr />\n @for (\n application of accountStatuses()!.none;\n track application.label\n ) {\n <div class=\"application-status\">\n <span\n class=\"material-symbols-outlined icon-lock\"\n >\n lock\n </span>\n <span>{{ application.label }}</span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n </div>\n }\n </div>\n </div>\n </div>\n <div class=\"profile-details-container banner-group\">\n @for (detail of userInfoTabs() | keyvalue; track detail.key) {\n <div class=\"profile-detail\">\n <span class=\"soft label\">{{ detail.key }}</span>\n <lib-copy-tooltip [copyText]=\"detail.value\">\n <div class=\"profile-detail-tag white-tag clickable\">\n {{ detail.value || 'Unknown' }}\n </div>\n </lib-copy-tooltip>\n </div>\n }\n </div>\n <div class=\"profile-details-container banner-group\">\n <div class=\"profile-detail\">\n <span class=\"soft label\">Status</span>\n <div class=\"multiple-detail-tags\">\n <div\n class=\"profile-detail-tag color-tag\"\n title=\"{{ employeeStatusDescription() }}\"\n >\n {{ user()?.primary_position_type_display ?? 'Non-employee' }}\n @if (activityStatus()) {\n <span\n class=\"profile-status-circle\"\n [class.status-active]=\"activityStatus() === 'active'\"\n [class.status-inactive]=\"activityStatus() === 'inactive'\"\n [class.status-retired]=\"activityStatus() === 'retired'\"\n ></span>\n }\n </div>\n <div class=\"profile-detail-tag color-tag\">\n {{ (user()?.undergrad_graduate_status | titlecase) || 'Non-student' }}\n </div>\n <div class=\"profile-detail-tag color-tag\">\n {{ independentStudyStatus() ? 'Independent Study' : 'No Ind. Study' }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"spacer\"></div>\n <button class=\"end-impersonation-button shadow\" (click)=\"this.endImpersonation.emit()\">\n <span class=\"material-symbols-outlined icon\"> close </span>\n <span class=\"exit-text\">Exit</span>\n </button>\n </div>\n @if (isRestricted()) {\n <div class=\"restricted-bar-padding\"></div>\n <div class=\"restricted-bar\">\n <span class=\"title\">restricted person</span>\n <span class=\"text\">\n If anyone asks about this person, you are instructed to respond,\n <span class=\"emphasize\">\"We have no records for this person.\"</span>\n </span>\n </div>\n }\n <div class=\"right-border\"></div>\n <div class=\"bottom-border\"></div>\n <div class=\"left-border\"></div>\n}\n", styles: ["*{box-sizing:border-box}.top-banner,.bottom-border,.right-border,.left-border{background-color:#9070bf;border:none;position:fixed;box-sizing:border-box;z-index:1000}lib-copy-tooltip{z-index:10000;display:block}.top-banner,.bottom-border{left:0;right:0}.right-border,.left-border{width:7px;top:0;bottom:0}.bottom-border{bottom:0;height:7px}.right-border{right:0}.left-border{left:0}.banner-padding{padding-top:5em}.restricted-bar-padding{padding-top:40px}.restricted-bar{position:fixed;top:5em;left:7px;right:7px;height:40px;display:flex;align-items:center;color:#f3f3f3;background:repeating-linear-gradient(315deg,#c23737,#c23737 35px,#c25050 35px 70px);z-index:6000;font-size:1.6em}.restricted-bar .title{text-transform:uppercase;font-weight:600;margin:0 2em}.restricted-bar .text{margin:0 1em}.restricted-bar .text .emphasize{font-weight:600;font-style:italic}.top-banner{top:0;height:5em;display:flex;justify-content:space-between;width:100%;align-items:center;padding:2.5em;color:#f3f3f3;font-size:1em}.top-banner .banner-group{display:flex;margin-right:1.6em}.top-banner .profile-details-container{height:2.4em;display:flex;min-width:0}.top-banner .profile-details-container .profile-detail{display:flex;flex-flow:column nowrap;align-items:flex-start;justify-content:space-between;margin-right:.6em;font-weight:600;min-width:0;position:relative;z-index:6001}.top-banner .profile-details-container .profile-detail .label{font-size:.75em;white-space:nowrap;min-width:0;max-width:100%}.top-banner .profile-details-container .profile-detail .profile-detail-tag{font-size:.8em;padding:.2em .4em;border-radius:5px;display:inline-flex;align-items:center;gap:.5em;white-space:nowrap;min-width:0;max-width:100%}.top-banner .profile-details-container .profile-detail .profile-detail-tag:hover{min-width:max-content;z-index:1000}.top-banner .profile-details-container .profile-detail .profile-detail-tag:last-of-type{margin-right:0}.top-banner .profile-details-container .profile-detail .profile-detail-tag .profile-status-circle{font-size:1em;width:10px;height:10px;border-radius:50%;flex-shrink:0}.top-banner .profile-details-container .profile-detail .profile-detail-tag .status-active{background-color:#00e732}.top-banner .profile-details-container .profile-detail .profile-detail-tag .status-retired{background-color:#ffba38}.top-banner .profile-details-container .profile-detail .profile-detail-tag .status-inactive{border:2px white solid}.top-banner .profile-details-container .profile-detail .multiple-detail-tags{display:flex;flex-flow:row nowrap;min-width:0;max-width:100%}.top-banner .profile-details-container .profile-detail .multiple-detail-tags .profile-detail-tag{margin-right:.6em}.top-banner .profile-name-container{display:flex;align-items:center}.top-banner .profile-name-container .profile-avatar{border-radius:50%;background-color:#fff;padding:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;color:#a9a9a9;align-self:center;font-size:15px;overflow:hidden;height:3.5em;width:3.5em;margin-right:.6em;flex-shrink:0}.top-banner .profile-name-container .profile-avatar .profile-icon{margin:-.25em}.top-banner .profile-name-container .profile-avatar .profile-image{height:100%;width:100%;object-fit:cover;font-size:1em}.top-banner .profile-name-container .profile-avatar .profile-image+.profile-icon{display:none;font-size:3.5em}.top-banner .profile-name-container .profile-avatar .profile-image:empty{display:none}.top-banner .profile-name-container .profile-avatar .profile-image:empty+.profile-icon{display:block}.top-banner .profile-name-container .profile-name-group{font-size:1em;font-weight:600}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper{display:flex;align-items:center;white-space:nowrap}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .profile-name{font-size:1.6em;line-height:1em}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar{margin-left:1em;opacity:1;display:flex;align-items:center}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-indicator{position:relative;margin-right:.8em}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-indicator .application-count{margin-left:.5em;vertical-align:middle}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-indicator:last-child{margin-right:0}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status:hover+.status-tooltip-container{display:block}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-ok{color:#87ed8f}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-ok .icon-checkmark{background-color:#87ed8f;color:#9070bf;border-radius:50%;padding:.2em;font-size:1em;vertical-align:middle}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-blocked{color:#e9ce34}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-blocked .icon-warning{font-size:1.7em;vertical-align:middle}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-blocked .application-count{margin-left:.1em}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-none{color:#f4785b}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-none .icon-lock{background-color:#f4785b;color:#9070bf;border-radius:50%;padding:.2em;font-size:1em;vertical-align:middle}.top-banner .soft{opacity:.7}.top-banner .end-impersonation-button{height:2.4em;cursor:pointer;border-radius:2em;font-size:1em;padding:0 1.4em 0 1em;border:none;outline:none;flex-shrink:0;background-color:#fff;color:#c63d3d;font-weight:600;transition:box-shadow .2s;display:flex;align-items:center}.top-banner .end-impersonation-button:hover{box-shadow:#0003 0 8px 10px}.top-banner .end-impersonation-button .icon{font-size:1.2em;margin-right:.2em}.top-banner .spacer{flex-grow:1}.top-banner .shadow{box-shadow:#0003 0 2px 10px}.top-banner .white-tag{cursor:pointer;background-color:#ffffff26}.top-banner .white-tag:hover{background-color:#614979}.top-banner .color-tag:nth-of-type(1){background-color:#26acffcc}.top-banner .color-tag:nth-of-type(2){background-color:#9394ffcc}.top-banner .color-tag:nth-of-type(3){background-color:#a28ceecc}.top-banner .status-tooltip-container{color:#fff;background-color:#2e2e2e;display:none;transition:all .1s ease-in-out;position:absolute;top:calc(100% + 1em);left:50%;transform:translate(-50%);border-radius:.4em}.top-banner .status-tooltip-container:before{content:\"\";position:absolute;top:-.5em;left:50%;transform:translate(-50%);border-style:solid;border-width:0 1em 1em 1em;border-color:transparent transparent rgb(46,46,46) transparent}.top-banner .status-tooltip{text-align:left;padding:.8em;line-height:2em;font-weight:700}.top-banner .status-tooltip .application-status{display:flex;align-items:center;font-weight:400}.top-banner .status-tooltip .application-status [class*=icon-]{font-size:1.2em;margin-right:.2em}.top-banner .status-tooltip .application-status .icon-checkmark{color:#87ed8f}.top-banner .status-tooltip .application-status .icon-warning{color:#e9ce34}.top-banner .status-tooltip .application-status .icon-lock{color:#f4785b}@media screen and (max-width: 1100px){.top-banner .profile-name-group .soft{font-size:.7em}.top-banner .profile-name-group .profile-name{font-size:1.3em}.top-banner .end-impersonation-button{border-radius:50%;height:auto;padding:.6em}.top-banner .end-impersonation-button .icon{margin:0}.top-banner .end-impersonation-button .exit-text{display:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i1.KeyValuePipe, name: "keyvalue" }, { kind: "component", type: CopyTooltipComponent, selector: "lib-copy-tooltip", inputs: ["position", "copyText"] }] }); }
970
+ }
971
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ImpersonationBannerComponent, decorators: [{
972
+ type: Component,
973
+ args: [{ standalone: true, imports: [CommonModule, CopyTooltipComponent], selector: 'lib-impersonation-banner', template: "@if (isImpersonating()) {\n <div class=\"banner-padding\"></div>\n <div class=\"top-banner\" data-testid=\"banner\">\n <div class=\"banner-group profile-name-container\">\n <div class=\"profile-avatar\">\n <div class=\"profile-image\">\n <img\n [src]=\"userPhotoUrl()\"\n [alt]=\"userFullName()\"\n alt=\"user photo\"\n onerror=\"this.remove()\"\n />\n </div>\n <span class=\"material-symbols-outlined profile-icon\"> person </span>\n </div>\n <div class=\"profile-name-group\">\n <span class=\"soft\">Impersonating</span>\n <div class=\"profile-name-wrapper\">\n <span class=\"profile-name\">{{ userFullName() }}</span>\n @if (accountStatuses()) {\n <div class=\"application-status-bar\">\n @if (accountStatuses()!.ok.length) {\n <div class=\"application-status-indicator\">\n <span class=\"application-status-ok application-status\">\n <span class=\"material-symbols-outlined icon-checkmark\">\n check\n </span>\n <span class=\"application-count\">{{\n accountStatuses()!.ok.length\n }}</span>\n </span>\n <div class=\"status-tooltip-container\">\n <div class=\"status-tooltip\">\n OK Applications\n <hr />\n @for (\n application of accountStatuses()!.ok;\n track application.label\n ) {\n <div class=\"application-status\">\n <span\n class=\"material-symbols-outlined icon-checkmark\"\n >\n check\n </span>\n <span>{{ application.label }}</span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n @if (accountStatuses()!.blocked.length) {\n <div class=\"application-status-indicator\">\n <span class=\"application-status-blocked application-status\">\n <span class=\"material-symbols-outlined icon-warning\">\n warning\n </span>\n <span class=\"application-count\">{{\n accountStatuses()!.blocked.length\n }}</span>\n </span>\n <div class=\"status-tooltip-container\">\n <div class=\"status-tooltip\">\n Blocked Applications\n <hr />\n @for (\n application of accountStatuses()!.blocked;\n track application.code\n ) {\n <div class=\"application-status\">\n <span\n class=\"material-symbols-outlined icon-warning\"\n >\n warning\n </span>\n <span>{{ application.label }}</span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n @if (accountStatuses()!.none.length) {\n <div class=\"application-status-indicator\">\n <span class=\"application-status-none application-status\">\n <span class=\"material-symbols-outlined icon-lock\">\n lock\n </span>\n <span class=\"application-count\">{{\n accountStatuses()!.none.length\n }}</span>\n </span>\n <div class=\"status-tooltip-container\">\n <div class=\"status-tooltip\">\n No Account\n <hr />\n @for (\n application of accountStatuses()!.none;\n track application.label\n ) {\n <div class=\"application-status\">\n <span\n class=\"material-symbols-outlined icon-lock\"\n >\n lock\n </span>\n <span>{{ application.label }}</span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n </div>\n }\n </div>\n </div>\n </div>\n <div class=\"profile-details-container banner-group\">\n @for (detail of userInfoTabs() | keyvalue; track detail.key) {\n <div class=\"profile-detail\">\n <span class=\"soft label\">{{ detail.key }}</span>\n <lib-copy-tooltip [copyText]=\"detail.value\">\n <div class=\"profile-detail-tag white-tag clickable\">\n {{ detail.value || 'Unknown' }}\n </div>\n </lib-copy-tooltip>\n </div>\n }\n </div>\n <div class=\"profile-details-container banner-group\">\n <div class=\"profile-detail\">\n <span class=\"soft label\">Status</span>\n <div class=\"multiple-detail-tags\">\n <div\n class=\"profile-detail-tag color-tag\"\n title=\"{{ employeeStatusDescription() }}\"\n >\n {{ user()?.primary_position_type_display ?? 'Non-employee' }}\n @if (activityStatus()) {\n <span\n class=\"profile-status-circle\"\n [class.status-active]=\"activityStatus() === 'active'\"\n [class.status-inactive]=\"activityStatus() === 'inactive'\"\n [class.status-retired]=\"activityStatus() === 'retired'\"\n ></span>\n }\n </div>\n <div class=\"profile-detail-tag color-tag\">\n {{ (user()?.undergrad_graduate_status | titlecase) || 'Non-student' }}\n </div>\n <div class=\"profile-detail-tag color-tag\">\n {{ independentStudyStatus() ? 'Independent Study' : 'No Ind. Study' }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"spacer\"></div>\n <button class=\"end-impersonation-button shadow\" (click)=\"this.endImpersonation.emit()\">\n <span class=\"material-symbols-outlined icon\"> close </span>\n <span class=\"exit-text\">Exit</span>\n </button>\n </div>\n @if (isRestricted()) {\n <div class=\"restricted-bar-padding\"></div>\n <div class=\"restricted-bar\">\n <span class=\"title\">restricted person</span>\n <span class=\"text\">\n If anyone asks about this person, you are instructed to respond,\n <span class=\"emphasize\">\"We have no records for this person.\"</span>\n </span>\n </div>\n }\n <div class=\"right-border\"></div>\n <div class=\"bottom-border\"></div>\n <div class=\"left-border\"></div>\n}\n", styles: ["*{box-sizing:border-box}.top-banner,.bottom-border,.right-border,.left-border{background-color:#9070bf;border:none;position:fixed;box-sizing:border-box;z-index:1000}lib-copy-tooltip{z-index:10000;display:block}.top-banner,.bottom-border{left:0;right:0}.right-border,.left-border{width:7px;top:0;bottom:0}.bottom-border{bottom:0;height:7px}.right-border{right:0}.left-border{left:0}.banner-padding{padding-top:5em}.restricted-bar-padding{padding-top:40px}.restricted-bar{position:fixed;top:5em;left:7px;right:7px;height:40px;display:flex;align-items:center;color:#f3f3f3;background:repeating-linear-gradient(315deg,#c23737,#c23737 35px,#c25050 35px 70px);z-index:6000;font-size:1.6em}.restricted-bar .title{text-transform:uppercase;font-weight:600;margin:0 2em}.restricted-bar .text{margin:0 1em}.restricted-bar .text .emphasize{font-weight:600;font-style:italic}.top-banner{top:0;height:5em;display:flex;justify-content:space-between;width:100%;align-items:center;padding:2.5em;color:#f3f3f3;font-size:1em}.top-banner .banner-group{display:flex;margin-right:1.6em}.top-banner .profile-details-container{height:2.4em;display:flex;min-width:0}.top-banner .profile-details-container .profile-detail{display:flex;flex-flow:column nowrap;align-items:flex-start;justify-content:space-between;margin-right:.6em;font-weight:600;min-width:0;position:relative;z-index:6001}.top-banner .profile-details-container .profile-detail .label{font-size:.75em;white-space:nowrap;min-width:0;max-width:100%}.top-banner .profile-details-container .profile-detail .profile-detail-tag{font-size:.8em;padding:.2em .4em;border-radius:5px;display:inline-flex;align-items:center;gap:.5em;white-space:nowrap;min-width:0;max-width:100%}.top-banner .profile-details-container .profile-detail .profile-detail-tag:hover{min-width:max-content;z-index:1000}.top-banner .profile-details-container .profile-detail .profile-detail-tag:last-of-type{margin-right:0}.top-banner .profile-details-container .profile-detail .profile-detail-tag .profile-status-circle{font-size:1em;width:10px;height:10px;border-radius:50%;flex-shrink:0}.top-banner .profile-details-container .profile-detail .profile-detail-tag .status-active{background-color:#00e732}.top-banner .profile-details-container .profile-detail .profile-detail-tag .status-retired{background-color:#ffba38}.top-banner .profile-details-container .profile-detail .profile-detail-tag .status-inactive{border:2px white solid}.top-banner .profile-details-container .profile-detail .multiple-detail-tags{display:flex;flex-flow:row nowrap;min-width:0;max-width:100%}.top-banner .profile-details-container .profile-detail .multiple-detail-tags .profile-detail-tag{margin-right:.6em}.top-banner .profile-name-container{display:flex;align-items:center}.top-banner .profile-name-container .profile-avatar{border-radius:50%;background-color:#fff;padding:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;color:#a9a9a9;align-self:center;font-size:15px;overflow:hidden;height:3.5em;width:3.5em;margin-right:.6em;flex-shrink:0}.top-banner .profile-name-container .profile-avatar .profile-icon{margin:-.25em}.top-banner .profile-name-container .profile-avatar .profile-image{height:100%;width:100%;object-fit:cover;font-size:1em}.top-banner .profile-name-container .profile-avatar .profile-image+.profile-icon{display:none;font-size:3.5em}.top-banner .profile-name-container .profile-avatar .profile-image:empty{display:none}.top-banner .profile-name-container .profile-avatar .profile-image:empty+.profile-icon{display:block}.top-banner .profile-name-container .profile-name-group{font-size:1em;font-weight:600}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper{display:flex;align-items:center;white-space:nowrap}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .profile-name{font-size:1.6em;line-height:1em}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar{margin-left:1em;opacity:1;display:flex;align-items:center}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-indicator{position:relative;margin-right:.8em}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-indicator .application-count{margin-left:.5em;vertical-align:middle}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-indicator:last-child{margin-right:0}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status:hover+.status-tooltip-container{display:block}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-ok{color:#87ed8f}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-ok .icon-checkmark{background-color:#87ed8f;color:#9070bf;border-radius:50%;padding:.2em;font-size:1em;vertical-align:middle}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-blocked{color:#e9ce34}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-blocked .icon-warning{font-size:1.7em;vertical-align:middle}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-blocked .application-count{margin-left:.1em}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-none{color:#f4785b}.top-banner .profile-name-container .profile-name-group .profile-name-wrapper .application-status-bar .application-status-none .icon-lock{background-color:#f4785b;color:#9070bf;border-radius:50%;padding:.2em;font-size:1em;vertical-align:middle}.top-banner .soft{opacity:.7}.top-banner .end-impersonation-button{height:2.4em;cursor:pointer;border-radius:2em;font-size:1em;padding:0 1.4em 0 1em;border:none;outline:none;flex-shrink:0;background-color:#fff;color:#c63d3d;font-weight:600;transition:box-shadow .2s;display:flex;align-items:center}.top-banner .end-impersonation-button:hover{box-shadow:#0003 0 8px 10px}.top-banner .end-impersonation-button .icon{font-size:1.2em;margin-right:.2em}.top-banner .spacer{flex-grow:1}.top-banner .shadow{box-shadow:#0003 0 2px 10px}.top-banner .white-tag{cursor:pointer;background-color:#ffffff26}.top-banner .white-tag:hover{background-color:#614979}.top-banner .color-tag:nth-of-type(1){background-color:#26acffcc}.top-banner .color-tag:nth-of-type(2){background-color:#9394ffcc}.top-banner .color-tag:nth-of-type(3){background-color:#a28ceecc}.top-banner .status-tooltip-container{color:#fff;background-color:#2e2e2e;display:none;transition:all .1s ease-in-out;position:absolute;top:calc(100% + 1em);left:50%;transform:translate(-50%);border-radius:.4em}.top-banner .status-tooltip-container:before{content:\"\";position:absolute;top:-.5em;left:50%;transform:translate(-50%);border-style:solid;border-width:0 1em 1em 1em;border-color:transparent transparent rgb(46,46,46) transparent}.top-banner .status-tooltip{text-align:left;padding:.8em;line-height:2em;font-weight:700}.top-banner .status-tooltip .application-status{display:flex;align-items:center;font-weight:400}.top-banner .status-tooltip .application-status [class*=icon-]{font-size:1.2em;margin-right:.2em}.top-banner .status-tooltip .application-status .icon-checkmark{color:#87ed8f}.top-banner .status-tooltip .application-status .icon-warning{color:#e9ce34}.top-banner .status-tooltip .application-status .icon-lock{color:#f4785b}@media screen and (max-width: 1100px){.top-banner .profile-name-group .soft{font-size:.7em}.top-banner .profile-name-group .profile-name{font-size:1.3em}.top-banner .end-impersonation-button{border-radius:50%;height:auto;padding:.6em}.top-banner .end-impersonation-button .icon{margin:0}.top-banner .end-impersonation-button .exit-text{display:none}}\n"] }]
974
+ }], propDecorators: { endImpersonation: [{
975
+ type: Output
976
+ }] } });
977
+
978
+ const defaultOidcBaseUri = 'https://keycloak.lib.byu.edu/';
979
+ const defaultOidcDefaultIdp = 'byu-realm';
980
+ class ImpersonateUserPipe {
981
+ transform(user) {
982
+ return `${user.name} (${user.netId || 'Unknown'})${user.restricted ? ' — Restricted' : ''}`;
983
+ }
984
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ImpersonateUserPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
985
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: ImpersonateUserPipe, isStandalone: true, name: "impersonateUser" }); }
986
+ }
987
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ImpersonateUserPipe, decorators: [{
988
+ type: Pipe,
989
+ args: [{
990
+ name: 'impersonateUser',
991
+ standalone: true,
992
+ }]
993
+ }] });
994
+ const SEARCH_USERS_PATH = '/impersonate/api/search/';
995
+ const START_IMPERSONATE_PATH = '/impersonate/:username';
996
+ class ImpersonateModalComponent {
997
+ constructor() {
998
+ this.http = inject(HttpClient);
999
+ this.fb = inject(FormBuilder);
1000
+ this.eref = inject(ElementRef);
1001
+ this.oidcBaseUri = input(defaultOidcBaseUri);
1002
+ this.oidcDefaultIdp = input(defaultOidcDefaultIdp);
1003
+ // Require an object here so that access tokens are not visible/extractable from the DOM in consuming applications. Instead they are only stored in memory.
1004
+ this.accessTokenPayload = input.required();
1005
+ this.dismiss = new EventEmitter();
1006
+ this.init = new EventEmitter();
1007
+ this.isOpen = false;
1008
+ this.hasError = false;
1009
+ this.form = this.fb.nonNullable.group({
1010
+ search: this.fb.control('', { validators: Validators.minLength(3) }),
1011
+ });
1012
+ this.loading = false;
1013
+ this.handleSearchSubject = new Subject();
1014
+ this.results = toSignal(this.form.controls.search.valueChanges.pipe(switchMap$1((search) => this.handleSearchSubject.pipe(startWith(false), switchMap$1((handleSearch) => {
1015
+ this.selectedUsername = undefined;
1016
+ this.hasError = false;
1017
+ if (!search || !handleSearch) {
1018
+ return of(null);
1019
+ }
1020
+ this.loading = true;
1021
+ const results = this.searchUsers(search);
1022
+ return results.pipe(catchError((e) => {
1023
+ this.hasError = true;
1024
+ console.error(e);
1025
+ return of(null);
1026
+ }));
1027
+ }))), tap(() => {
1028
+ this.loading = false;
1029
+ })));
1030
+ this.subs = new Subscription();
1031
+ this.handleKeyDown = (event) => {
1032
+ switch (event.key) {
1033
+ case 'Esc':
1034
+ case 'Escape': {
1035
+ this.close();
1036
+ break;
1037
+ }
1038
+ case 'I':
1039
+ case 'i': {
1040
+ if (event.ctrlKey || event.metaKey) {
1041
+ if (this.isOpen) {
1042
+ this.close();
1043
+ }
1044
+ else {
1045
+ this.init.emit();
1046
+ }
1047
+ event.preventDefault();
1048
+ }
1049
+ break;
1050
+ }
1051
+ default:
1052
+ break;
1053
+ }
1054
+ };
1055
+ /** Redirect to Keycloak impersonate page, which will redirect back
1056
+ * after impersonation begins.
1057
+ */
1058
+ this.startImpersonation = (username) => {
1059
+ const _username = username ?? this.selectedUsername;
1060
+ if (!_username) {
1061
+ return;
1062
+ }
1063
+ const url = urlcat(this.oidcBaseUri(), START_IMPERSONATE_PATH, {
1064
+ username,
1065
+ returnUri: window.location.href,
1066
+ defaultIdp: this.oidcDefaultIdp(),
1067
+ });
1068
+ this.replaceUrl(url);
1069
+ };
1070
+ this.handleSelectUser = (event) => {
1071
+ this.selectedUsername = event.target.value;
1072
+ };
1073
+ this.clearSearch = () => {
1074
+ this.form.reset();
1075
+ };
1076
+ this.close = () => {
1077
+ this.dismiss.emit();
1078
+ this.clearSearch();
1079
+ };
1080
+ this.handleFormSubmit = (event) => {
1081
+ event.preventDefault();
1082
+ if (this.form.valid) {
1083
+ this.handleSearchSubject.next(true);
1084
+ }
1085
+ };
1086
+ this.handleSearchKeyPress = (event) => {
1087
+ if (!['ArrowDown', 'Down'].includes(event.key)) {
1088
+ return;
1089
+ }
1090
+ event.preventDefault();
1091
+ if (this.results()?.length) {
1092
+ const firstResult = this.eref.nativeElement.querySelector(`#result_0`);
1093
+ firstResult?.click();
1094
+ firstResult?.focus();
1095
+ }
1096
+ };
1097
+ this.handleResultKeyPress = (event) => {
1098
+ if (['ArrowUp', 'Up'].includes(event.key) &&
1099
+ event.target?.id === 'result_0') {
1100
+ event.preventDefault();
1101
+ this.eref.nativeElement.querySelector('#searchInput')?.focus();
1102
+ }
1103
+ else if (event.key === 'Enter') {
1104
+ event.preventDefault();
1105
+ this.startImpersonation();
1106
+ }
1107
+ };
1108
+ /** Search Keycloak users using a generic search query. */
1109
+ this.searchUsers = (query) => {
1110
+ const uri = urlcat(this.oidcBaseUri(), SEARCH_USERS_PATH, {
1111
+ query,
1112
+ });
1113
+ return this.http.get(uri, {
1114
+ headers: {
1115
+ Authorization: `Bearer ${this.accessTokenPayload().token}`,
1116
+ },
1117
+ });
1118
+ };
1119
+ this.replaceUrl = (url) => window.location.replace(url);
1120
+ }
1121
+ set showModal(open) {
1122
+ this.isOpen = open;
1123
+ if (open) {
1124
+ // Set focus on search input shortly after opening modal so user notices
1125
+ // the input receiving focus.
1126
+ setTimeout(() => this.eref.nativeElement.querySelector('#searchInput')?.focus(), 250);
1127
+ }
1128
+ }
1129
+ outsideClick(event) {
1130
+ if (event.target?.id === 'modalBackdrop') {
1131
+ this.close();
1132
+ }
1133
+ }
1134
+ ngOnDestroy() {
1135
+ this.subs.unsubscribe();
1136
+ }
1137
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ImpersonateModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1138
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: ImpersonateModalComponent, isStandalone: true, selector: "lib-impersonate-modal", inputs: { showModal: { classPropertyName: "showModal", publicName: "showModal", isSignal: false, isRequired: false, transformFunction: null }, oidcBaseUri: { classPropertyName: "oidcBaseUri", publicName: "oidcBaseUri", isSignal: true, isRequired: false, transformFunction: null }, oidcDefaultIdp: { classPropertyName: "oidcDefaultIdp", publicName: "oidcDefaultIdp", isSignal: true, isRequired: false, transformFunction: null }, accessTokenPayload: { classPropertyName: "accessTokenPayload", publicName: "accessTokenPayload", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { dismiss: "dismiss", init: "init" }, host: { listeners: { "document:mousedown": "outsideClick($event)", "document:keydown": "handleKeyDown($event)" } }, ngImport: i0, template: "@if (isOpen) {\n <div @libHbllFadeInOut class=\"modal-wrapper\" id=\"modalBackdrop\" data-testid=\"backdrop\">\n <div class=\"modal-container\" data-testid=\"modal\">\n <div class=\"modal-header\">\n <h2>Impersonate</h2>\n <button type=\"button\" (click)=\"close()\" aria-label=\"Close\" data-testid=\"close\">\n <span class=\"material-symbols-outlined icon-close\"> close </span>\n </button>\n </div>\n <form [formGroup]=\"form\" (submit)=\"handleFormSubmit($event)\" data-testid=\"searchForm\">\n <div class=\"search-header\">\n <div class=\"secondary\" [class.disabled]=\"!form.valid\">\n <span class=\"keyboard-key\">Enter</span> to search\n </div>\n </div>\n <label\n for=\"searchInput\"\n class=\"search-wrapper\"\n [class.invalid]=\"form.invalid && form.dirty\"\n >\n <span class=\"material-symbols-outlined icon-search\"> search </span>\n <input\n id=\"searchInput\"\n type=\"text\"\n autocomplete=\"off\"\n formControlName=\"search\"\n placeholder=\"Search patrons...\"\n (keydown)=\"handleSearchKeyPress($event)\"\n #searchBox\n data-testid=\"searchInput\"\n />\n @if (!!searchBox.value && form.valid) {\n <span class=\"material-symbols-outlined icon-checkmark\"> check </span>\n }\n @if (searchBox.value.length) {\n <span\n (click)=\"clearSearch()\"\n @libHbllFadeInOut\n class=\"material-symbols-outlined icon-close\"\n >\n close\n </span>\n }\n </label>\n </form>\n <fieldset\n class=\"search-results-wrapper\"\n id=\"resultsScrollContainer\"\n (change)=\"handleSelectUser($event)\"\n >\n @if (!loading && results()) {\n @for (user of results(); track user.netId; let idx = $index) {\n <div\n class=\"result-field result\"\n [class.focus]=\"user.username === selectedUsername\"\n data-testid=\"result\"\n >\n <label\n [for]=\"'result_' + idx\"\n [class.warning]=\"user.restricted\"\n (mouseover)=\"selectedUsername = user.username\"\n >\n @if (user.restricted) {\n <span class=\"material-symbols-outlined icon\"> warning </span>\n } @else {\n <span class=\"material-symbols-outlined icon\"> person </span>\n }\n &nbsp; &nbsp;\n <span [title]=\"user\" data-testid=\"resultText\">{{\n user | impersonateUser\n }}</span>\n <input\n type=\"radio\"\n [value]=\"user.username\"\n class=\"hidden\"\n [id]=\"'result_' + idx\"\n name=\"resultSelect\"\n (keydown)=\"handleResultKeyPress($event)\"\n />\n </label>\n <button\n class=\"impersonate-button\"\n data-testid=\"impersonateBtn\"\n (click)=\"startImpersonation(user.username)\"\n >\n Impersonate\n </button>\n </div>\n } @empty {\n <div class=\"result-field\">\n No results. Try searching by Net ID or BYU ID.\n </div>\n }\n }\n @if (loading) {\n <div class=\"result-field\">\n <div class=\"lib-spinner\"></div>\n </div>\n }\n @if (hasError) {\n <div class=\"result-field\">Something went wrong. We'll keep trying.</div>\n }\n </fieldset>\n </div>\n </div>\n}\n", styles: [".lib-spinner{border:.3em solid #dfe9f7;border-top:.3em solid #4070b0;border-radius:100%;width:30px;height:30px;animation:loadingSpinnerAnimate 1s ease infinite;position:relative}@keyframes loadingSpinnerAnimate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{box-sizing:border-box}h2{font-size:1.2em;font-weight:600;margin:0;color:#404040}.warning{color:#b04940}.modal-wrapper{position:fixed;inset:0;background-color:#0000007f;z-index:10000;display:grid;place-items:center}.modal-container{color:#404040;padding:1.2em 1.4em;width:90%;max-width:30em;border-radius:4px;border:1px solid #b7b7b7;box-shadow:0 3px 6px #002e5d20;background-color:#fff;display:grid;grid-template-columns:1fr;gap:1em}.modal-container .modal-header{display:flex;justify-content:space-between;border-bottom:1px solid #e6e6e6;padding-bottom:.8em}.modal-container .modal-header .icon-close{transition:opacity .15s;color:#707070;opacity:1;cursor:pointer}.modal-container .modal-header .icon-close:hover{opacity:.8}.modal-container .hidden{opacity:0;width:0;height:0}.modal-container .search-header{display:flex;align-items:center;justify-content:flex-end;margin-bottom:.8em}.modal-container .search-header .secondary{color:#70707095}.modal-container .search-header .keyboard-key{padding:.1em .4em;border:1px solid currentColor;border-radius:4px}.modal-container .search-wrapper{display:flex;align-items:center;border-radius:4px;border:solid 1px currentColor;color:#ca7ad1cc;background-color:#e6e6e655;padding:.1em .3em .1em .5em;transition:background-color .15s,color .15s}.modal-container .search-wrapper.invalid{background-color:#b0494022}.modal-container .search-wrapper .icon-search{font-size:1.2em}.modal-container .search-wrapper .icon-checkmark{color:#1dce7b}.modal-container .search-wrapper .icon-close{color:#ca7ad1cc;cursor:pointer}.modal-container .search-wrapper .icon-close:hover{color:#ca7ad1}.modal-container .search-wrapper input[type=text]{background:transparent;border:none;outline:none;width:100%;color:#404040;padding:.5em .4em;font-size:1em}.modal-container .search-wrapper input[type=text]:focus{background-color:transparent}.modal-container .search-results-wrapper{border:none;margin:0;padding:0;max-height:25em;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;display:flex;flex-direction:column;align-items:stretch;min-width:0}.modal-container .search-results-wrapper::-webkit-scrollbar{width:6px}.modal-container .search-results-wrapper::-webkit-scrollbar-track{background:#e6e6e6}.modal-container .search-results-wrapper::-webkit-scrollbar-thumb{background-color:#b3b3b3;border-radius:5px}.modal-container .search-results-wrapper::-webkit-scrollbar-thumb:hover{background-color:#888}.modal-container .search-results-wrapper .result-field{font-style:italic;display:flex;align-items:center;justify-content:space-between;padding:.8em}.modal-container .search-results-wrapper .result-field .lib-spinner{margin:auto;display:grid;place-items:center}.modal-container .search-results-wrapper .result-field.result{font-style:normal;padding:0}.modal-container .search-results-wrapper .result-field.result label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-grow:1;padding:.8em;display:flex;align-items:center}.modal-container .search-results-wrapper .result-field.result label .icon{font-size:1.2em;margin-right:.4em}.modal-container .search-results-wrapper .result-field.result .impersonate-button{cursor:pointer;display:none;color:#ca7ad1cc;padding:.1em .6em;border:1px solid currentColor;border-radius:4px;background-color:#fff;flex-shrink:0;margin-block:.6em;margin-right:.8em}.modal-container .search-results-wrapper .result-field.result .impersonate-button:hover{color:#ca7ad1;background-color:#fff8}.modal-container .search-results-wrapper .result-field.result:active,.modal-container .search-results-wrapper .result-field.result.focus{background:#f2f2f2}.modal-container .search-results-wrapper .result-field.result.focus .impersonate-button{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: ImpersonateUserPipe, name: "impersonateUser" }], animations: [libHbllFadeInOut] }); }
1139
+ }
1140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ImpersonateModalComponent, decorators: [{
1141
+ type: Component,
1142
+ args: [{ standalone: true, imports: [CommonModule, ReactiveFormsModule, ImpersonateUserPipe], selector: 'lib-impersonate-modal', animations: [libHbllFadeInOut], template: "@if (isOpen) {\n <div @libHbllFadeInOut class=\"modal-wrapper\" id=\"modalBackdrop\" data-testid=\"backdrop\">\n <div class=\"modal-container\" data-testid=\"modal\">\n <div class=\"modal-header\">\n <h2>Impersonate</h2>\n <button type=\"button\" (click)=\"close()\" aria-label=\"Close\" data-testid=\"close\">\n <span class=\"material-symbols-outlined icon-close\"> close </span>\n </button>\n </div>\n <form [formGroup]=\"form\" (submit)=\"handleFormSubmit($event)\" data-testid=\"searchForm\">\n <div class=\"search-header\">\n <div class=\"secondary\" [class.disabled]=\"!form.valid\">\n <span class=\"keyboard-key\">Enter</span> to search\n </div>\n </div>\n <label\n for=\"searchInput\"\n class=\"search-wrapper\"\n [class.invalid]=\"form.invalid && form.dirty\"\n >\n <span class=\"material-symbols-outlined icon-search\"> search </span>\n <input\n id=\"searchInput\"\n type=\"text\"\n autocomplete=\"off\"\n formControlName=\"search\"\n placeholder=\"Search patrons...\"\n (keydown)=\"handleSearchKeyPress($event)\"\n #searchBox\n data-testid=\"searchInput\"\n />\n @if (!!searchBox.value && form.valid) {\n <span class=\"material-symbols-outlined icon-checkmark\"> check </span>\n }\n @if (searchBox.value.length) {\n <span\n (click)=\"clearSearch()\"\n @libHbllFadeInOut\n class=\"material-symbols-outlined icon-close\"\n >\n close\n </span>\n }\n </label>\n </form>\n <fieldset\n class=\"search-results-wrapper\"\n id=\"resultsScrollContainer\"\n (change)=\"handleSelectUser($event)\"\n >\n @if (!loading && results()) {\n @for (user of results(); track user.netId; let idx = $index) {\n <div\n class=\"result-field result\"\n [class.focus]=\"user.username === selectedUsername\"\n data-testid=\"result\"\n >\n <label\n [for]=\"'result_' + idx\"\n [class.warning]=\"user.restricted\"\n (mouseover)=\"selectedUsername = user.username\"\n >\n @if (user.restricted) {\n <span class=\"material-symbols-outlined icon\"> warning </span>\n } @else {\n <span class=\"material-symbols-outlined icon\"> person </span>\n }\n &nbsp; &nbsp;\n <span [title]=\"user\" data-testid=\"resultText\">{{\n user | impersonateUser\n }}</span>\n <input\n type=\"radio\"\n [value]=\"user.username\"\n class=\"hidden\"\n [id]=\"'result_' + idx\"\n name=\"resultSelect\"\n (keydown)=\"handleResultKeyPress($event)\"\n />\n </label>\n <button\n class=\"impersonate-button\"\n data-testid=\"impersonateBtn\"\n (click)=\"startImpersonation(user.username)\"\n >\n Impersonate\n </button>\n </div>\n } @empty {\n <div class=\"result-field\">\n No results. Try searching by Net ID or BYU ID.\n </div>\n }\n }\n @if (loading) {\n <div class=\"result-field\">\n <div class=\"lib-spinner\"></div>\n </div>\n }\n @if (hasError) {\n <div class=\"result-field\">Something went wrong. We'll keep trying.</div>\n }\n </fieldset>\n </div>\n </div>\n}\n", styles: [".lib-spinner{border:.3em solid #dfe9f7;border-top:.3em solid #4070b0;border-radius:100%;width:30px;height:30px;animation:loadingSpinnerAnimate 1s ease infinite;position:relative}@keyframes loadingSpinnerAnimate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{box-sizing:border-box}h2{font-size:1.2em;font-weight:600;margin:0;color:#404040}.warning{color:#b04940}.modal-wrapper{position:fixed;inset:0;background-color:#0000007f;z-index:10000;display:grid;place-items:center}.modal-container{color:#404040;padding:1.2em 1.4em;width:90%;max-width:30em;border-radius:4px;border:1px solid #b7b7b7;box-shadow:0 3px 6px #002e5d20;background-color:#fff;display:grid;grid-template-columns:1fr;gap:1em}.modal-container .modal-header{display:flex;justify-content:space-between;border-bottom:1px solid #e6e6e6;padding-bottom:.8em}.modal-container .modal-header .icon-close{transition:opacity .15s;color:#707070;opacity:1;cursor:pointer}.modal-container .modal-header .icon-close:hover{opacity:.8}.modal-container .hidden{opacity:0;width:0;height:0}.modal-container .search-header{display:flex;align-items:center;justify-content:flex-end;margin-bottom:.8em}.modal-container .search-header .secondary{color:#70707095}.modal-container .search-header .keyboard-key{padding:.1em .4em;border:1px solid currentColor;border-radius:4px}.modal-container .search-wrapper{display:flex;align-items:center;border-radius:4px;border:solid 1px currentColor;color:#ca7ad1cc;background-color:#e6e6e655;padding:.1em .3em .1em .5em;transition:background-color .15s,color .15s}.modal-container .search-wrapper.invalid{background-color:#b0494022}.modal-container .search-wrapper .icon-search{font-size:1.2em}.modal-container .search-wrapper .icon-checkmark{color:#1dce7b}.modal-container .search-wrapper .icon-close{color:#ca7ad1cc;cursor:pointer}.modal-container .search-wrapper .icon-close:hover{color:#ca7ad1}.modal-container .search-wrapper input[type=text]{background:transparent;border:none;outline:none;width:100%;color:#404040;padding:.5em .4em;font-size:1em}.modal-container .search-wrapper input[type=text]:focus{background-color:transparent}.modal-container .search-results-wrapper{border:none;margin:0;padding:0;max-height:25em;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;display:flex;flex-direction:column;align-items:stretch;min-width:0}.modal-container .search-results-wrapper::-webkit-scrollbar{width:6px}.modal-container .search-results-wrapper::-webkit-scrollbar-track{background:#e6e6e6}.modal-container .search-results-wrapper::-webkit-scrollbar-thumb{background-color:#b3b3b3;border-radius:5px}.modal-container .search-results-wrapper::-webkit-scrollbar-thumb:hover{background-color:#888}.modal-container .search-results-wrapper .result-field{font-style:italic;display:flex;align-items:center;justify-content:space-between;padding:.8em}.modal-container .search-results-wrapper .result-field .lib-spinner{margin:auto;display:grid;place-items:center}.modal-container .search-results-wrapper .result-field.result{font-style:normal;padding:0}.modal-container .search-results-wrapper .result-field.result label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-grow:1;padding:.8em;display:flex;align-items:center}.modal-container .search-results-wrapper .result-field.result label .icon{font-size:1.2em;margin-right:.4em}.modal-container .search-results-wrapper .result-field.result .impersonate-button{cursor:pointer;display:none;color:#ca7ad1cc;padding:.1em .6em;border:1px solid currentColor;border-radius:4px;background-color:#fff;flex-shrink:0;margin-block:.6em;margin-right:.8em}.modal-container .search-results-wrapper .result-field.result .impersonate-button:hover{color:#ca7ad1;background-color:#fff8}.modal-container .search-results-wrapper .result-field.result:active,.modal-container .search-results-wrapper .result-field.result.focus{background:#f2f2f2}.modal-container .search-results-wrapper .result-field.result.focus .impersonate-button{display:block}\n"] }]
1143
+ }], propDecorators: { showModal: [{
1144
+ type: Input
1145
+ }], dismiss: [{
1146
+ type: Output
1147
+ }], init: [{
1148
+ type: Output
1149
+ }], outsideClick: [{
1150
+ type: HostListener,
1151
+ args: ['document:mousedown', ['$event']]
1152
+ }], handleKeyDown: [{
1153
+ type: HostListener,
1154
+ args: ['document:keydown', ['$event']]
1155
+ }] } });
1156
+
1157
+ class HeaderWithImpersonationComponent {
1158
+ constructor() {
1159
+ this.accessTokenPayload = input.required();
1160
+ this.oidcBaseUri = input(defaultOidcBaseUri);
1161
+ this.oidcDefaultIdp = input(defaultOidcDefaultIdp);
1162
+ this.login = new EventEmitter();
1163
+ this.logout = new EventEmitter();
1164
+ this.endImpersonation = new EventEmitter();
1165
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1166
+ this.parsedToken = computed(() => this.accessTokenPayload().token ? jwtDecode(this.accessTokenPayload().token) : null);
1167
+ this.name = computed(() => (this.parsedToken() ? this.parsedToken()['given_name'] : ''));
1168
+ this.showImpersonateButton = computed(() => this.parsedToken()
1169
+ ? !!(!this.isImpersonating() &&
1170
+ this.parsedToken()['resource_access']['realm-management']?.['roles']?.includes('impersonation'))
1171
+ : false);
1172
+ this.showImpersonationModal = false;
1173
+ this.isImpersonating = computed(() => !!this.parsedToken()?.['impersonator']);
1174
+ }
1175
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HeaderWithImpersonationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1176
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.1.0", type: HeaderWithImpersonationComponent, isStandalone: true, selector: "lib-header-with-impersonation", inputs: { accessTokenPayload: { classPropertyName: "accessTokenPayload", publicName: "accessTokenPayload", isSignal: true, isRequired: true, transformFunction: null }, oidcBaseUri: { classPropertyName: "oidcBaseUri", publicName: "oidcBaseUri", isSignal: true, isRequired: false, transformFunction: null }, oidcDefaultIdp: { classPropertyName: "oidcDefaultIdp", publicName: "oidcDefaultIdp", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { login: "login", logout: "logout", endImpersonation: "endImpersonation" }, ngImport: i0, template: "<lib-impersonation-banner\n [accessTokenPayload]=\"accessTokenPayload()\"\n (endImpersonation)=\"endImpersonation.emit()\"\n></lib-impersonation-banner>\n<lib-hbll-header\n [name]=\"name()\"\n [showImpersonateButton]=\"showImpersonateButton()\"\n (openImpersonationModal)=\"showImpersonationModal = true\"\n (login)=\"login.emit()\"\n (logout)=\"logout.emit()\"\n/>\n<lib-impersonate-modal\n [showModal]=\"showImpersonationModal\"\n [oidcBaseUri]=\"oidcBaseUri()\"\n [oidcDefaultIdp]=\"oidcDefaultIdp()\"\n [accessTokenPayload]=\"accessTokenPayload()\"\n (dismiss)=\"showImpersonationModal = false\"\n (init)=\"showImpersonationModal = true\"\n></lib-impersonate-modal>\n", styles: [""], dependencies: [{ kind: "component", type: HbllHeaderComponent, selector: "lib-hbll-header", inputs: ["name", "mainsitebaseurl", "showImpersonateButton"], outputs: ["openImpersonationModal", "login", "logout"] }, { kind: "component", type: ImpersonationBannerComponent, selector: "lib-impersonation-banner", inputs: ["accessTokenPayload", "personBaseUri", "libraryApiBaseUri"], outputs: ["endImpersonation"] }, { kind: "component", type: ImpersonateModalComponent, selector: "lib-impersonate-modal", inputs: ["showModal", "oidcBaseUri", "oidcDefaultIdp", "accessTokenPayload"], outputs: ["dismiss", "init"] }] }); }
1177
+ }
1178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HeaderWithImpersonationComponent, decorators: [{
1179
+ type: Component,
1180
+ args: [{ selector: 'lib-header-with-impersonation', standalone: true, imports: [HbllHeaderComponent, ImpersonationBannerComponent, ImpersonateModalComponent], template: "<lib-impersonation-banner\n [accessTokenPayload]=\"accessTokenPayload()\"\n (endImpersonation)=\"endImpersonation.emit()\"\n></lib-impersonation-banner>\n<lib-hbll-header\n [name]=\"name()\"\n [showImpersonateButton]=\"showImpersonateButton()\"\n (openImpersonationModal)=\"showImpersonationModal = true\"\n (login)=\"login.emit()\"\n (logout)=\"logout.emit()\"\n/>\n<lib-impersonate-modal\n [showModal]=\"showImpersonationModal\"\n [oidcBaseUri]=\"oidcBaseUri()\"\n [oidcDefaultIdp]=\"oidcDefaultIdp()\"\n [accessTokenPayload]=\"accessTokenPayload()\"\n (dismiss)=\"showImpersonationModal = false\"\n (init)=\"showImpersonationModal = true\"\n></lib-impersonate-modal>\n" }]
73
1181
  }], propDecorators: { login: [{
74
1182
  type: Output
75
1183
  }], logout: [{
76
1184
  type: Output
1185
+ }], endImpersonation: [{
1186
+ type: Output
77
1187
  }] } });
78
1188
 
79
1189
  const ADVANCED_SEARCH_QUALIFIER_MAP = {
@@ -284,27 +1394,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
284
1394
  }]
285
1395
  }], ctorParameters: () => [{ type: FieldByScopePipe }] });
286
1396
 
287
- const libHbllExpandCollapse = trigger('libHbllExpandCollapse', [
288
- transition('void <=> *', []),
289
- transition('* <=> *', [
290
- group([
291
- style({ height: '{{startHeight}}px' }),
292
- query('@*', [animateChild()], { optional: true }),
293
- animate('.15s ease-in-out'),
294
- ]),
295
- ], { params: { startHeight: '0px' } }),
296
- ]);
297
- const libHbllFadeInOut = trigger('libHbllFadeInOut', [
298
- transition(':enter', [style({ opacity: '0' }), animate('.15s ease-out')]),
299
- transition(':leave', [animate('.15s ease-out', style({ opacity: '0' }))]),
300
- ]);
301
- const libHbllFadeIn = trigger('libHbllFadeIn', [
302
- transition(':enter', [style({ opacity: '0' }), animate('.15s ease-out')]),
303
- ]);
304
- const libHbllFadeOut = trigger('libHbllFadeOut', [
305
- transition(':leave', [animate('.15s ease-out', style({ opacity: '0' }))]),
306
- ]);
307
-
308
1397
  /**
309
1398
  * Validator method to check if a `FormGroup<{ from: FormControl<string>; to: FormControl<string> }>` is valid.
310
1399
  * The FormGroup is considered valid if either both `from` and `to` are set, or both are empty strings.
@@ -337,7 +1426,7 @@ class HbllMultiSelectComponent {
337
1426
  this.filteredOptions$ = combineLatest([
338
1427
  this.inputControl.valueChanges.pipe(startWith('')),
339
1428
  this.selectedKeysChange.asObservable().pipe(startWith([])),
340
- ]).pipe(map(([key]) =>
1429
+ ]).pipe(map$1(([key]) =>
341
1430
  // Display filtered options if there is a value, else display all options currently not selected.
342
1431
  key
343
1432
  ? this.filterOptions(key)
@@ -394,11 +1483,11 @@ class HbllMultiSelectComponent {
394
1483
  }
395
1484
  }
396
1485
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllMultiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
397
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: HbllMultiSelectComponent, isStandalone: true, selector: "lib-hbll-multi-select", inputs: { allOptions: "allOptions", label: "label", selectedKeys: "selectedKeys" }, outputs: { selectedKeysChange: "selectedKeysChange" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div class=\"components-multi-select\">\n <mat-form-field appearance=\"outline\">\n <mat-chip-grid #chipGrid [attr.aria-label]=\"label + ' selection'\">\n @for (key of selectedKeys; track key) {\n @if (allOptions[key]) {\n <mat-chip-row (removed)=\"removeOption(key)\" data-testid=\"matChipRow\">\n {{ allOptions[key] }}\n <button\n matChipRemove\n [attr.aria-label]=\"'remove ' + allOptions[key]\"\n [attr.data-testid]=\"'remove' + key\"\n >\n <span class=\"material-symbols-outlined components-icon\"> cancel </span>\n </button>\n </mat-chip-row>\n }\n }\n </mat-chip-grid>\n <label class=\"components-hidden\" for=\"input\">{{ label }}</label>\n <input\n [placeholder]=\"label | titlecase\"\n #input\n id=\"input\"\n [formControl]=\"inputControl\"\n [matChipInputFor]=\"chipGrid\"\n [matAutocomplete]=\"auto\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n (matChipInputTokenEnd)=\"addOption($event)\"\n data-testid=\"input\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"selectOption($event)\"\n data-testid=\"autocomplete\"\n >\n @for (key of filteredOptions$ | async; track key) {\n <mat-option [value]=\"key\" data-testid=\"autocompleteOption\">\n {{ allOptions[key] }}\n </mat-option>\n }\n </mat-autocomplete>\n </mat-form-field>\n</div>\n", styles: [".components-multi-select{font:inherit}.components-multi-select mat-form-field{font:inherit;background-color:#fff;width:100%}.components-multi-select mat-form-field .mat-mdc-form-field-infix{padding:.35em 0;min-height:0}.components-multi-select mat-form-field .mat-mdc-chip-input{font:inherit;margin-left:0}.components-multi-select mat-form-field .mat-mdc-chip-input::placeholder{opacity:.75}.components-multi-select mat-form-field .mat-mdc-text-field-wrapper{padding:0 .5em}.components-multi-select .components-icon{font-size:1em}.components-multi-select .mat-mdc-chip.mdc-evolution-chip--with-trailing-action .mat-mdc-chip-action-label{font:inherit}.components-multi-select .components-hidden{display:none}.mat-mdc-option.mdc-list-item{background-color:#fff;font:inherit}.mat-mdc-autocomplete-panel{background-color:#fff!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i2.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i2.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i2.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i2.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatIconModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1486
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: HbllMultiSelectComponent, isStandalone: true, selector: "lib-multi-select", inputs: { allOptions: "allOptions", label: "label", selectedKeys: "selectedKeys" }, outputs: { selectedKeysChange: "selectedKeysChange" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div class=\"components-multi-select\">\n <mat-form-field appearance=\"outline\">\n <mat-chip-grid #chipGrid [attr.aria-label]=\"label + ' selection'\">\n @for (key of selectedKeys; track key) {\n @if (allOptions[key]) {\n <mat-chip-row (removed)=\"removeOption(key)\" data-testid=\"matChipRow\">\n {{ allOptions[key] }}\n <button\n matChipRemove\n [attr.aria-label]=\"'remove ' + allOptions[key]\"\n [attr.data-testid]=\"'remove' + key\"\n >\n <span class=\"material-symbols-outlined components-icon\"> cancel </span>\n </button>\n </mat-chip-row>\n }\n }\n </mat-chip-grid>\n <label class=\"components-hidden\" for=\"input\">{{ label }}</label>\n <input\n [placeholder]=\"label | titlecase\"\n #input\n id=\"input\"\n [formControl]=\"inputControl\"\n [matChipInputFor]=\"chipGrid\"\n [matAutocomplete]=\"auto\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n (matChipInputTokenEnd)=\"addOption($event)\"\n data-testid=\"input\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"selectOption($event)\"\n data-testid=\"autocomplete\"\n >\n @for (key of filteredOptions$ | async; track key) {\n <mat-option [value]=\"key\" data-testid=\"autocompleteOption\">\n {{ allOptions[key] }}\n </mat-option>\n }\n </mat-autocomplete>\n </mat-form-field>\n</div>\n", styles: [".components-multi-select{font:inherit}.components-multi-select mat-form-field{font:inherit;background-color:#fff;width:100%}.components-multi-select mat-form-field .mat-mdc-form-field-infix{padding:.35em 0;min-height:0}.components-multi-select mat-form-field .mat-mdc-chip-input{font:inherit;margin-left:0}.components-multi-select mat-form-field .mat-mdc-chip-input::placeholder{opacity:.75}.components-multi-select mat-form-field .mat-mdc-text-field-wrapper{padding:0 .5em}.components-multi-select .components-icon{font-size:1em}.components-multi-select .mat-mdc-chip.mdc-evolution-chip--with-trailing-action .mat-mdc-chip-action-label{font:inherit}.components-multi-select .components-hidden{display:none}.mat-mdc-option.mdc-list-item{background-color:#fff;font:inherit}.mat-mdc-autocomplete-panel{background-color:#fff!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i2$1.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i2$1.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i2$1.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i2$1.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatIconModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
398
1487
  }
399
1488
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllMultiSelectComponent, decorators: [{
400
1489
  type: Component,
401
- args: [{ selector: 'lib-hbll-multi-select', standalone: true, imports: [
1490
+ args: [{ selector: 'lib-multi-select', standalone: true, imports: [
402
1491
  CommonModule,
403
1492
  MatChipsModule,
404
1493
  MatFormFieldModule,
@@ -421,17 +1510,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
421
1510
 
422
1511
  class HbllCheckboxComponent {
423
1512
  constructor() {
424
- this.isChecked = false;
1513
+ this.isChecked = input(false);
425
1514
  }
426
1515
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
427
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: HbllCheckboxComponent, isStandalone: true, selector: "lib-hbll-checkbox", inputs: { isChecked: "isChecked" }, ngImport: i0, template: "<span class=\"components-checkbox-container\" [class.components-checked]=\"isChecked\">\n @if (isChecked) {\n <span class=\"material-symbols-outlined components-icon\"> check </span>\n }\n</span>\n", styles: [".components-checkbox-container{transition:.15s;height:1.13em;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border-radius:4px;border:solid 1px #707070;color:#fff;box-sizing:border-box;position:relative}.components-checkbox-container.components-checked{border-color:#3a6093;background-color:#3a6093}.components-checkbox-container.components-checked .components-icon{position:absolute;font-size:1.1em}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
1516
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: HbllCheckboxComponent, isStandalone: true, selector: "lib-checkbox", inputs: { isChecked: { classPropertyName: "isChecked", publicName: "isChecked", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<span class=\"components-checkbox-container\" [class.components-checked]=\"isChecked()\">\n @if (isChecked()) {\n <span class=\"material-symbols-outlined components-icon\"> check </span>\n }\n</span>\n", styles: [".components-checkbox-container{transition:.15s;height:1.13em;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border-radius:4px;border:solid 1px #707070;color:#fff;box-sizing:border-box;position:relative}.components-checkbox-container.components-checked{border-color:#3a6093;background-color:#3a6093}.components-checkbox-container.components-checked .components-icon{position:absolute;font-size:1.1em}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
428
1517
  }
429
1518
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllCheckboxComponent, decorators: [{
430
1519
  type: Component,
431
- args: [{ selector: 'lib-hbll-checkbox', standalone: true, imports: [CommonModule], template: "<span class=\"components-checkbox-container\" [class.components-checked]=\"isChecked\">\n @if (isChecked) {\n <span class=\"material-symbols-outlined components-icon\"> check </span>\n }\n</span>\n", styles: [".components-checkbox-container{transition:.15s;height:1.13em;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border-radius:4px;border:solid 1px #707070;color:#fff;box-sizing:border-box;position:relative}.components-checkbox-container.components-checked{border-color:#3a6093;background-color:#3a6093}.components-checkbox-container.components-checked .components-icon{position:absolute;font-size:1.1em}\n"] }]
432
- }], propDecorators: { isChecked: [{
433
- type: Input
434
- }] } });
1520
+ args: [{ selector: 'lib-checkbox', standalone: true, imports: [CommonModule], template: "<span class=\"components-checkbox-container\" [class.components-checked]=\"isChecked()\">\n @if (isChecked()) {\n <span class=\"material-symbols-outlined components-icon\"> check </span>\n }\n</span>\n", styles: [".components-checkbox-container{transition:.15s;height:1.13em;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border-radius:4px;border:solid 1px #707070;color:#fff;box-sizing:border-box;position:relative}.components-checkbox-container.components-checked{border-color:#3a6093;background-color:#3a6093}.components-checkbox-container.components-checked .components-icon{position:absolute;font-size:1.1em}\n"] }]
1521
+ }] });
435
1522
 
436
1523
  class DateRangeComponent {
437
1524
  constructor() {
@@ -480,11 +1567,11 @@ class DateRangeComponent {
480
1567
  this.dateForm.controls.to.setValue(to);
481
1568
  }
482
1569
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DateRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
483
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: DateRangeComponent, isStandalone: true, selector: "lib-date-range", inputs: { from: "from", to: "to" }, outputs: { validDateChange: "validDateChange", fromChange: "fromChange", toChange: "toChange" }, ngImport: i0, template: "<form id=\"fromTo\" data-testid=\"fromTo\" [formGroup]=\"dateForm\">\n <label for=\"fromFacet\">Between</label>\n <input\n formControlName=\"from\"\n id=\"fromFacet\"\n name=\"fromFacet\"\n data-testid=\"from\"\n placeholder=\"YYYY\"\n inputmode=\"numeric\"\n minlength=\"4\"\n maxlength=\"4\"\n (input)=\"onFromChange()\"\n [class.error]=\"\n dateForm.errors?.['fromInvalid'] || dateForm.controls.from.errors?.['pattern']\n \"\n />\n <label for=\"toFacet\">and</label>\n <input\n formControlName=\"to\"\n id=\"toFacet\"\n name=\"toFacet\"\n data-testid=\"to\"\n placeholder=\"YYYY\"\n inputmode=\"numeric\"\n minlength=\"4\"\n maxlength=\"4\"\n (input)=\"onToChange()\"\n [class.error]=\"dateForm.errors?.['toInvalid'] || dateForm.controls.to.errors?.['pattern']\"\n />\n</form>\n", styles: ["input{appearance:none;font-family:inherit;padding:.38em;border:solid 1px #707070;border-radius:4px;font-size:1em;background-color:#fff}input:focus{border-color:#3a6093}#fromTo{margin-top:.6rem;margin-bottom:.8rem}#fromTo label{margin-right:.7em}#fromTo label:not(:first-of-type){margin-left:.7em}#fromTo input{font-size:inherit;width:3.5em}#fromTo input.error{border-color:#b04940}@media screen and (min-width: 690px){#fromTo{margin-bottom:1.4rem}#fromTo label{margin-right:.65em}#fromTo label:not(:first-of-type){margin-left:.65em}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], animations: [libHbllFadeInOut], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1570
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: DateRangeComponent, isStandalone: true, selector: "lib-date-range", inputs: { from: "from", to: "to" }, outputs: { validDateChange: "validDateChange", fromChange: "fromChange", toChange: "toChange" }, ngImport: i0, template: "<form id=\"fromTo\" data-testid=\"fromTo\" [formGroup]=\"dateForm\">\n <label for=\"fromFacet\">Between</label>\n <input\n formControlName=\"from\"\n id=\"fromFacet\"\n name=\"fromFacet\"\n data-testid=\"from\"\n placeholder=\"YYYY\"\n inputmode=\"numeric\"\n minlength=\"4\"\n maxlength=\"4\"\n (input)=\"onFromChange()\"\n [class.error]=\"\n dateForm.errors?.['fromInvalid'] || dateForm.controls.from.errors?.['pattern']\n \"\n />\n <label for=\"toFacet\">and</label>\n <input\n formControlName=\"to\"\n id=\"toFacet\"\n name=\"toFacet\"\n data-testid=\"to\"\n placeholder=\"YYYY\"\n inputmode=\"numeric\"\n minlength=\"4\"\n maxlength=\"4\"\n (input)=\"onToChange()\"\n [class.error]=\"dateForm.errors?.['toInvalid'] || dateForm.controls.to.errors?.['pattern']\"\n />\n</form>\n", styles: ["input{appearance:none;font-family:inherit;padding:.38em;border:solid 1px #707070;border-radius:4px;font-size:1em;background-color:#fff}input:focus{outline-color:#3a6093}#fromTo{margin-top:.6rem;margin-bottom:.8rem}#fromTo label{margin-right:.7em}#fromTo label:not(:first-of-type){margin-left:.7em}#fromTo input{font-size:inherit;width:3.5em}#fromTo input.error{border-color:#b04940}@media screen and (min-width: 690px){#fromTo{margin-bottom:1.4rem}#fromTo label{margin-right:.65em}#fromTo label:not(:first-of-type){margin-left:.65em}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], animations: [libHbllFadeInOut], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
484
1571
  }
485
1572
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DateRangeComponent, decorators: [{
486
1573
  type: Component,
487
- args: [{ selector: 'lib-date-range', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, ReactiveFormsModule], animations: [libHbllFadeInOut], template: "<form id=\"fromTo\" data-testid=\"fromTo\" [formGroup]=\"dateForm\">\n <label for=\"fromFacet\">Between</label>\n <input\n formControlName=\"from\"\n id=\"fromFacet\"\n name=\"fromFacet\"\n data-testid=\"from\"\n placeholder=\"YYYY\"\n inputmode=\"numeric\"\n minlength=\"4\"\n maxlength=\"4\"\n (input)=\"onFromChange()\"\n [class.error]=\"\n dateForm.errors?.['fromInvalid'] || dateForm.controls.from.errors?.['pattern']\n \"\n />\n <label for=\"toFacet\">and</label>\n <input\n formControlName=\"to\"\n id=\"toFacet\"\n name=\"toFacet\"\n data-testid=\"to\"\n placeholder=\"YYYY\"\n inputmode=\"numeric\"\n minlength=\"4\"\n maxlength=\"4\"\n (input)=\"onToChange()\"\n [class.error]=\"dateForm.errors?.['toInvalid'] || dateForm.controls.to.errors?.['pattern']\"\n />\n</form>\n", styles: ["input{appearance:none;font-family:inherit;padding:.38em;border:solid 1px #707070;border-radius:4px;font-size:1em;background-color:#fff}input:focus{border-color:#3a6093}#fromTo{margin-top:.6rem;margin-bottom:.8rem}#fromTo label{margin-right:.7em}#fromTo label:not(:first-of-type){margin-left:.7em}#fromTo input{font-size:inherit;width:3.5em}#fromTo input.error{border-color:#b04940}@media screen and (min-width: 690px){#fromTo{margin-bottom:1.4rem}#fromTo label{margin-right:.65em}#fromTo label:not(:first-of-type){margin-left:.65em}}\n"] }]
1574
+ args: [{ selector: 'lib-date-range', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, ReactiveFormsModule], animations: [libHbllFadeInOut], template: "<form id=\"fromTo\" data-testid=\"fromTo\" [formGroup]=\"dateForm\">\n <label for=\"fromFacet\">Between</label>\n <input\n formControlName=\"from\"\n id=\"fromFacet\"\n name=\"fromFacet\"\n data-testid=\"from\"\n placeholder=\"YYYY\"\n inputmode=\"numeric\"\n minlength=\"4\"\n maxlength=\"4\"\n (input)=\"onFromChange()\"\n [class.error]=\"\n dateForm.errors?.['fromInvalid'] || dateForm.controls.from.errors?.['pattern']\n \"\n />\n <label for=\"toFacet\">and</label>\n <input\n formControlName=\"to\"\n id=\"toFacet\"\n name=\"toFacet\"\n data-testid=\"to\"\n placeholder=\"YYYY\"\n inputmode=\"numeric\"\n minlength=\"4\"\n maxlength=\"4\"\n (input)=\"onToChange()\"\n [class.error]=\"dateForm.errors?.['toInvalid'] || dateForm.controls.to.errors?.['pattern']\"\n />\n</form>\n", styles: ["input{appearance:none;font-family:inherit;padding:.38em;border:solid 1px #707070;border-radius:4px;font-size:1em;background-color:#fff}input:focus{outline-color:#3a6093}#fromTo{margin-top:.6rem;margin-bottom:.8rem}#fromTo label{margin-right:.7em}#fromTo label:not(:first-of-type){margin-left:.7em}#fromTo input{font-size:inherit;width:3.5em}#fromTo input.error{border-color:#b04940}@media screen and (min-width: 690px){#fromTo{margin-bottom:1.4rem}#fromTo label{margin-right:.65em}#fromTo label:not(:first-of-type){margin-left:.65em}}\n"] }]
488
1575
  }], propDecorators: { validDateChange: [{
489
1576
  type: Output
490
1577
  }], fromChange: [{
@@ -727,7 +1814,7 @@ class AdvancedSearchComponent {
727
1814
  return this.advancedSearchForm.controls.expandResults.controls.applyEquivalentSubjects;
728
1815
  }
729
1816
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: AdvancedSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
730
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: AdvancedSearchComponent, isStandalone: true, selector: "lib-ss-advanced-search", inputs: { config: "config" }, outputs: { advancedSearch: "advancedSearch" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "inputTooltip", first: true, predicate: MatTooltip, descendants: true }], ngImport: i0, template: "<form\n data-testid=\"advancedSearchForm\"\n (submit)=\"config.scope === 'local' ? doLocalAdvancedSearch() : doExternalAdvancedSearch()\"\n [formGroup]=\"advancedSearchForm\"\n class=\"ss-adv-search-wrapper\"\n>\n <h3>Advanced Search</h3>\n <!-- Queries -->\n @for (query of queries.controls; track $index; let queryIndex = $index) {\n <div class=\"ss-adv-search-row\" [formGroup]=\"query\">\n <!-- Boolean operator -->\n <!-- Add boolean for each row except for first -->\n @if (!$first) {\n <div class=\"ss-select-wrapper\">\n <select\n [id]=\"'boolean' + queryIndex\"\n [formControlName]=\"'boolean'\"\n [attr.data-testid]=\"'boolean' + queryIndex\"\n >\n @for (boolean of advancedSearchOptions.boolean; track boolean) {\n <option [ngValue]=\"boolean\">\n {{ boolean }}\n </option>\n }\n </select>\n </div>\n }\n <!-- Field -->\n <label [for]=\"'field' + queryIndex\" class=\"ss-hidden\">Field {{ queryIndex }}</label>\n <div class=\"ss-select-wrapper\">\n <select\n [id]=\"'field' + queryIndex\"\n [formControlName]=\"'field'\"\n [attr.data-testid]=\"'field' + queryIndex\"\n >\n @for (field of advancedSearchOptions.fields; track field) {\n <option [ngValue]=\"field\">\n {{ advancedSearchFieldMap[field] }}\n </option>\n }\n <optgroup\n [label]=\"(config.scope === 'external' ? 'Online' : 'Library') + ' Specific'\"\n >\n @for (\n field of config.scope === 'external'\n ? advancedSearchOptions.externalFields\n : advancedSearchOptions.localFields;\n track field\n ) {\n <option [ngValue]=\"field\">\n {{ advancedSearchFieldMap[field] }}\n </option>\n }\n </optgroup>\n </select>\n </div>\n <!-- Qualifiers are only available for local searches -->\n @if (config.scope === 'local') {\n <label [for]=\"'qualifier' + queryIndex\" class=\"ss-hidden\"\n >Match Criteria {{ queryIndex }}</label\n >\n <div class=\"ss-select-wrapper\">\n <select\n [id]=\"'qualifier' + queryIndex\"\n [formControlName]=\"'qualifier'\"\n [attr.data-testid]=\"'qualifier' + queryIndex\"\n >\n <!-- $any because a field can technically be local or external, though this block is scoped strictly to local fields -->\n @for (\n qualifier of $any(advancedSearchOptions.qualifiers)[\n query.controls.field.value\n ];\n track qualifier;\n let optionIndex = $index\n ) {\n <option\n [ngValue]=\"qualifier\"\n [attr.data-testid]=\"\n 'qualifier' + queryIndex + '-option' + optionIndex\n \"\n >\n {{ $any(advancedSearchQualifierMap)[qualifier] }}\n </option>\n }\n </select>\n </div>\n }\n <!-- Query -->\n <label [for]=\"'query' + queryIndex\" class=\"ss-hidden\">Query {{ queryIndex }}</label>\n <div class=\"ss-query-input\">\n <input\n #searchInput\n [id]=\"'query' + queryIndex\"\n [formControlName]=\"'query'\"\n [attr.data-testid]=\"'query' + queryIndex\"\n required\n aria-required=\"true\"\n matTooltip=\"Fill out this field\"\n [matTooltipPosition]=\"'above'\"\n [matTooltipDisabled]=\"true\"\n [attr.aria-invalid]=\"isSubmitted && queries.at(0).controls.query.invalid\"\n aria-describedby=\"invalidInputDesc\"\n />\n </div>\n @if (!$first) {\n <button\n class=\"ss-row-cancel\"\n type=\"button\"\n (click)=\"removeQuery(queryIndex)\"\n [attr.data-testid]=\"'cancelRow' + queryIndex\"\n >\n <span class=\"material-symbols-outlined ss-icon\"> cancel </span>\n </button>\n }\n </div>\n }\n <button\n type=\"button\"\n (click)=\"addQuery()\"\n id=\"addQueryBtn\"\n data-testid=\"addQuery\"\n [disabled]=\"queries.length > 11\"\n >\n <span class=\"material-symbols-outlined ss-icon\"> add </span>\n Add a row\n </button>\n <!-- OTHER OPTIONS -->\n <div class=\"ss-other-options\">\n <!-- LOCAL -->\n @if (config.scope === 'local') {\n <!-- Type -->\n <div data-testid=\"resourceType\">\n <h4>Resource Type</h4>\n <div class=\"ss-multi-select-wrapper\">\n <lib-hbll-multi-select\n [label]=\"'Resource Type'\"\n [allOptions]=\"advancedSearchOptions.types[config.institution]\"\n [selectedKeys]=\"types.value\"\n (selectedKeysChange)=\"types.setValue($event)\"\n ></lib-hbll-multi-select>\n </div>\n </div>\n <!-- Collection -->\n <div data-testid=\"collection\">\n <h4>Collection</h4>\n <div class=\"ss-multi-select-wrapper\">\n <lib-hbll-multi-select\n [label]=\"'Collection'\"\n [allOptions]=\"advancedSearchOptions.collections[config.institution]\"\n [selectedKeys]=\"collections.value\"\n (selectedKeysChange)=\"collections.setValue($event)\"\n ></lib-hbll-multi-select>\n </div>\n </div>\n <!-- Language -->\n <ng-container *ngTemplateOutlet=\"languageBlock\"></ng-container>\n <!-- Date -->\n <ng-container\n *ngTemplateOutlet=\"dateBlock; context: { header: 'Creation Date' }\"\n ></ng-container>\n }\n <!-- EXTERNAL -->\n @if (config.scope === 'external') {\n <div formGroupName=\"limitResults\" class=\"ss-checkbox-section\">\n <h4>For Fewer Results Try</h4>\n <!-- Peer reviewed -->\n <label class=\"ss-checkbox-label\" for=\"peerReviewed\" tabindex=\"0\">\n <input\n class=\"ss-hidden\"\n id=\"peerReviewed\"\n type=\"checkbox\"\n [formControlName]=\"'peerReviewed'\"\n data-testid=\"peerReviewed\"\n />\n <lib-hbll-checkbox [isChecked]=\"peerReviewed.value\"></lib-hbll-checkbox>\n <span class=\"ss-label-text\">Peer reviewed journal articles</span>\n </label>\n </div>\n <div formGroupName=\"expandResults\" class=\"ss-checkbox-section\">\n <h4>For More Results Try</h4>\n <!-- Apply equivalent subjects -->\n <label class=\"ss-checkbox-label\" for=\"applyEquivalentSubjects\" tabindex=\"0\">\n <input\n class=\"ss-hidden\"\n id=\"applyEquivalentSubjects\"\n type=\"checkbox\"\n [formControlName]=\"'applyEquivalentSubjects'\"\n data-testid=\"applyEquivalentSubjects\"\n />\n <lib-hbll-checkbox\n [isChecked]=\"applyEquivalentSubjects.value\"\n ></lib-hbll-checkbox>\n <span class=\"ss-label-text\">Apply equivalent subjects</span>\n </label>\n <!-- Full text -->\n <label class=\"ss-checkbox-label\" for=\"fullText\" tabindex=\"0\">\n <input\n class=\"ss-hidden\"\n id=\"fullText\"\n type=\"checkbox\"\n [formControlName]=\"'fullText'\"\n data-testid=\"fullText\"\n />\n <lib-hbll-checkbox [isChecked]=\"fullText.value\"></lib-hbll-checkbox>\n <span class=\"ss-label-text\"\n >Include results the library doesn't have access to</span\n >\n </label>\n </div>\n <!-- Date -->\n <ng-container\n *ngTemplateOutlet=\"dateBlock; context: { header: 'Date Published' }\"\n ></ng-container>\n <!-- Language -->\n <ng-container *ngTemplateOutlet=\"languageBlock\"></ng-container>\n }\n </div>\n <div id=\"advSearchFooter\">\n <a [href]=\"'https://lib.byu.edu/browse/' + config.institution\">Alphabetic Browse</a>\n <button\n class=\"pill-btn--components\"\n [ngClass]=\"{\n ensign: config.institution === 'ensign',\n }\"\n type=\"submit\"\n data-testid=\"advSearchSubmitButton\"\n >\n Search\n </button>\n </div>\n</form>\n\n<ng-template #languageBlock>\n <div>\n <h4>Language</h4>\n <lib-hbll-multi-select\n [label]=\"'language'\"\n [allOptions]=\"advancedSearchOptions.languages\"\n [selectedKeys]=\"languages.value\"\n (selectedKeysChange)=\"languages.setValue($any($event))\"\n ></lib-hbll-multi-select>\n </div>\n</ng-template>\n<ng-template #dateBlock let-header=\"header\">\n <div id=\"dateOptions\" class=\"external\">\n <h4>{{ header }}</h4>\n <lib-date-range\n [from]=\"from.value\"\n [to]=\"to.value\"\n (fromChange)=\"from.setValue($event)\"\n (toChange)=\"to.setValue($event)\"\n ></lib-date-range>\n </div>\n</ng-template>\n", styles: ["button.ensign{background-color:#2b6042!important}button.ensign:hover{background-color:#357551!important}a,button{border:none;background:none;font-family:inherit;padding:0;margin:0;font-size:inherit;color:#1c7ec9;text-decoration:none;cursor:pointer}a:hover,button:hover{color:#8ab6f0}select,textarea,input{appearance:none;font-family:inherit;padding:.38em;border:solid 1px #707070;border-radius:4px;font-size:1em;background-color:#fff}select:focus,textarea:focus,input:focus{border-color:#3a6093}.ss-select-wrapper{position:relative}.ss-select-wrapper select{cursor:pointer;padding-right:2em}.ss-select-wrapper:after{font-family:Material Symbols Outlined;content:\"arrow_drop_down\";pointer-events:none;top:0;font-size:1.5em;right:.2em;height:100%;position:absolute;display:flex;align-items:center;opacity:70%}.pill-btn--components{background-color:#4070b0;font-size:1em;transition:all .15s;color:#fff;cursor:pointer;font-weight:600;text-align:center}.pill-btn--components:disabled{color:#707070;background-color:#e6e6e6;pointer-events:none}.pill-btn--components:hover{background-color:#6892ca;color:#fff}.destructive.pill-btn--components{background-color:#b04940}.destructive.pill-btn--components:hover{background-color:#c7574d}.pill-btn--components{border-radius:100em;padding:.4em 1.3em}:host{box-sizing:border-box}:host *{box-sizing:inherit}.ss-select-wrapper{margin-right:.3em}.ss-row-cancel{color:#aaa;margin-left:.4em;margin-top:.4em}.ss-row-cancel:hover{color:#666}.ss-row-cancel .ss-icon{font-size:1em}.ss-hidden{display:none}#addQueryBtn{display:flex;align-items:center}#addQueryBtn:disabled{color:#999;pointer-events:none}#addQueryBtn .icon{font-size:1em}.ss-adv-search-wrapper{width:100%}h3{font-size:1.13em;font-weight:300;margin-bottom:.7em;margin-top:0}h4{margin-bottom:.3em;font-weight:600}#dateOptions h4{margin-bottom:.8em}.ss-adv-search-row{display:flex;flex-wrap:wrap;width:100%;margin-bottom:.6em}.ss-query-input{display:inline-block;width:100%;margin-top:.4rem}.ss-query-input input{width:100%}.ss-other-options{display:grid;grid-template-columns:repeat(1,1fr);gap:.6em 1.6em;grid-auto-rows:minmax(1em,auto);margin-top:1.4em}.ss-other-options label{margin-right:1rem}.ss-checkbox-label{display:inline-flex;align-items:flex-start;cursor:pointer}.ss-checkbox-label:not(:last-of-type){margin-bottom:.75em}.ss-checkbox-label .ss-label-text{margin-top:-.1em;margin-left:.45em}.ss-checkbox-section{margin-bottom:.8em}#advSearchFooter{margin-bottom:.5em;display:flex;justify-content:space-between;align-items:center;font-size:1.2em}#advSearchFooter a{font-size:.8em}@media screen and (min-width: 615px){.ss-adv-search-row{flex-wrap:nowrap}.ss-other-options{grid-template-columns:repeat(2,1fr)}.ss-query-input{margin-top:0}#dateOptions .external{grid-column:span 2}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: HbllMultiSelectComponent, selector: "lib-hbll-multi-select", inputs: ["allOptions", "label", "selectedKeys"], outputs: ["selectedKeysChange"] }, { kind: "component", type: HbllCheckboxComponent, selector: "lib-hbll-checkbox", inputs: ["isChecked"] }, { kind: "component", type: DateRangeComponent, selector: "lib-date-range", inputs: ["from", "to"], outputs: ["validDateChange", "fromChange", "toChange"] }] }); }
1817
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: AdvancedSearchComponent, isStandalone: true, selector: "lib-ss-advanced-search", inputs: { config: "config" }, outputs: { advancedSearch: "advancedSearch" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "inputTooltip", first: true, predicate: MatTooltip, descendants: true }], ngImport: i0, template: "<form\n data-testid=\"advancedSearchForm\"\n (submit)=\"config.scope === 'local' ? doLocalAdvancedSearch() : doExternalAdvancedSearch()\"\n [formGroup]=\"advancedSearchForm\"\n class=\"ss-adv-search-wrapper\"\n>\n <h3>Advanced Search</h3>\n <!-- Queries -->\n @for (query of queries.controls; track $index; let queryIndex = $index) {\n <div class=\"ss-adv-search-row\" [formGroup]=\"query\">\n <!-- Boolean operator -->\n <!-- Add boolean for each row except for first -->\n @if (!$first) {\n <div class=\"ss-select-wrapper\">\n <select\n [id]=\"'boolean' + queryIndex\"\n [formControlName]=\"'boolean'\"\n [attr.data-testid]=\"'boolean' + queryIndex\"\n >\n @for (boolean of advancedSearchOptions.boolean; track boolean) {\n <option [ngValue]=\"boolean\">\n {{ boolean }}\n </option>\n }\n </select>\n </div>\n }\n <!-- Field -->\n <label [for]=\"'field' + queryIndex\" class=\"ss-hidden\">Field {{ queryIndex }}</label>\n <div class=\"ss-select-wrapper\">\n <select\n [id]=\"'field' + queryIndex\"\n [formControlName]=\"'field'\"\n [attr.data-testid]=\"'field' + queryIndex\"\n >\n @for (field of advancedSearchOptions.fields; track field) {\n <option [ngValue]=\"field\">\n {{ advancedSearchFieldMap[field] }}\n </option>\n }\n <optgroup\n [label]=\"(config.scope === 'external' ? 'Online' : 'Library') + ' Specific'\"\n >\n @for (\n field of config.scope === 'external'\n ? advancedSearchOptions.externalFields\n : advancedSearchOptions.localFields;\n track field\n ) {\n <option [ngValue]=\"field\">\n {{ advancedSearchFieldMap[field] }}\n </option>\n }\n </optgroup>\n </select>\n </div>\n <!-- Qualifiers are only available for local searches -->\n @if (config.scope === 'local') {\n <label [for]=\"'qualifier' + queryIndex\" class=\"ss-hidden\"\n >Match Criteria {{ queryIndex }}</label\n >\n <div class=\"ss-select-wrapper\">\n <select\n [id]=\"'qualifier' + queryIndex\"\n [formControlName]=\"'qualifier'\"\n [attr.data-testid]=\"'qualifier' + queryIndex\"\n >\n <!-- $any because a field can technically be local or external, though this block is scoped strictly to local fields -->\n @for (\n qualifier of $any(advancedSearchOptions.qualifiers)[\n query.controls.field.value\n ];\n track qualifier;\n let optionIndex = $index\n ) {\n <option\n [ngValue]=\"qualifier\"\n [attr.data-testid]=\"\n 'qualifier' + queryIndex + '-option' + optionIndex\n \"\n >\n {{ $any(advancedSearchQualifierMap)[qualifier] }}\n </option>\n }\n </select>\n </div>\n }\n <!-- Query -->\n <label [for]=\"'query' + queryIndex\" class=\"ss-hidden\">Query {{ queryIndex }}</label>\n <div class=\"ss-query-input\">\n <input\n #searchInput\n [id]=\"'query' + queryIndex\"\n [formControlName]=\"'query'\"\n [attr.data-testid]=\"'query' + queryIndex\"\n required\n aria-required=\"true\"\n matTooltip=\"Fill out this field\"\n [matTooltipPosition]=\"'above'\"\n [matTooltipDisabled]=\"true\"\n [attr.aria-invalid]=\"isSubmitted && queries.at(0).controls.query.invalid\"\n aria-describedby=\"invalidInputDesc\"\n />\n </div>\n @if (!$first) {\n <button\n class=\"ss-row-cancel\"\n type=\"button\"\n (click)=\"removeQuery(queryIndex)\"\n [attr.data-testid]=\"'cancelRow' + queryIndex\"\n >\n <span class=\"material-symbols-outlined ss-icon\"> cancel </span>\n </button>\n }\n </div>\n }\n <button\n type=\"button\"\n (click)=\"addQuery()\"\n id=\"addQueryBtn\"\n data-testid=\"addQuery\"\n [disabled]=\"queries.length > 11\"\n >\n <span class=\"material-symbols-outlined ss-icon\"> add </span>\n Add a row\n </button>\n <!-- OTHER OPTIONS -->\n <div class=\"ss-other-options\">\n <!-- LOCAL -->\n @if (config.scope === 'local') {\n <!-- Type -->\n <div data-testid=\"resourceType\">\n <h4>Resource Type</h4>\n <div class=\"ss-multi-select-wrapper\">\n <lib-multi-select\n [label]=\"'Resource Type'\"\n [allOptions]=\"advancedSearchOptions.types[config.institution]\"\n [selectedKeys]=\"types.value\"\n (selectedKeysChange)=\"types.setValue($event)\"\n ></lib-multi-select>\n </div>\n </div>\n <!-- Collection -->\n <div data-testid=\"collection\">\n <h4>Collection</h4>\n <div class=\"ss-multi-select-wrapper\">\n <lib-multi-select\n [label]=\"'Collection'\"\n [allOptions]=\"advancedSearchOptions.collections[config.institution]\"\n [selectedKeys]=\"collections.value\"\n (selectedKeysChange)=\"collections.setValue($event)\"\n ></lib-multi-select>\n </div>\n </div>\n <!-- Language -->\n <ng-container *ngTemplateOutlet=\"languageBlock\"></ng-container>\n <!-- Date -->\n <ng-container\n *ngTemplateOutlet=\"dateBlock; context: { header: 'Creation Date' }\"\n ></ng-container>\n }\n <!-- EXTERNAL -->\n @if (config.scope === 'external') {\n <div formGroupName=\"limitResults\" class=\"ss-checkbox-section\">\n <h4>For Fewer Results Try</h4>\n <!-- Peer reviewed -->\n <label class=\"ss-checkbox-label\" for=\"peerReviewed\" tabindex=\"0\">\n <input\n class=\"ss-hidden\"\n id=\"peerReviewed\"\n type=\"checkbox\"\n [formControlName]=\"'peerReviewed'\"\n data-testid=\"peerReviewed\"\n />\n <lib-checkbox [isChecked]=\"peerReviewed.value\"></lib-checkbox>\n <span class=\"ss-label-text\">Peer reviewed journal articles</span>\n </label>\n </div>\n <div formGroupName=\"expandResults\" class=\"ss-checkbox-section\">\n <h4>For More Results Try</h4>\n <!-- Apply equivalent subjects -->\n <label class=\"ss-checkbox-label\" for=\"applyEquivalentSubjects\" tabindex=\"0\">\n <input\n class=\"ss-hidden\"\n id=\"applyEquivalentSubjects\"\n type=\"checkbox\"\n [formControlName]=\"'applyEquivalentSubjects'\"\n data-testid=\"applyEquivalentSubjects\"\n />\n <lib-checkbox [isChecked]=\"applyEquivalentSubjects.value\"></lib-checkbox>\n <span class=\"ss-label-text\">Apply equivalent subjects</span>\n </label>\n <!-- Full text -->\n <label class=\"ss-checkbox-label\" for=\"fullText\" tabindex=\"0\">\n <input\n class=\"ss-hidden\"\n id=\"fullText\"\n type=\"checkbox\"\n [formControlName]=\"'fullText'\"\n data-testid=\"fullText\"\n />\n <lib-checkbox [isChecked]=\"fullText.value\"></lib-checkbox>\n <span class=\"ss-label-text\"\n >Include results the library doesn't have access to</span\n >\n </label>\n </div>\n <!-- Date -->\n <ng-container\n *ngTemplateOutlet=\"dateBlock; context: { header: 'Date Published' }\"\n ></ng-container>\n <!-- Language -->\n <ng-container *ngTemplateOutlet=\"languageBlock\"></ng-container>\n }\n </div>\n <div id=\"advSearchFooter\">\n <a [href]=\"'https://lib.byu.edu/browse/' + config.institution\">Alphabetic Browse</a>\n <button\n class=\"pill-btn--components\"\n [ngClass]=\"{\n ensign: config.institution === 'ensign',\n }\"\n type=\"submit\"\n data-testid=\"advSearchSubmitButton\"\n >\n Search\n </button>\n </div>\n</form>\n\n<ng-template #languageBlock>\n <div>\n <h4>Language</h4>\n <lib-multi-select\n [label]=\"'language'\"\n [allOptions]=\"advancedSearchOptions.languages\"\n [selectedKeys]=\"languages.value\"\n (selectedKeysChange)=\"languages.setValue($any($event))\"\n ></lib-multi-select>\n </div>\n</ng-template>\n<ng-template #dateBlock let-header=\"header\">\n <div id=\"dateOptions\" class=\"external\">\n <h4>{{ header }}</h4>\n <lib-date-range\n [from]=\"from.value\"\n [to]=\"to.value\"\n (fromChange)=\"from.setValue($event)\"\n (toChange)=\"to.setValue($event)\"\n ></lib-date-range>\n </div>\n</ng-template>\n", styles: ["button.ensign{background-color:#2b6042!important;border-color:#2a6142}button.ensign:hover{background-color:#357551!important}a,button{border:none;background:none;font-family:inherit;padding:0;margin:0;font-size:inherit;color:#1c7ec9;text-decoration:none;cursor:pointer}a:hover,button:hover{color:#8ab6f0}select,textarea,input{appearance:none;font-family:inherit;padding:.38em;border:solid 1px #707070;border-radius:4px;font-size:1em;background-color:#fff}select:focus,textarea:focus,input:focus{outline-color:#3a6093}.ss-select-wrapper{position:relative}.ss-select-wrapper select{cursor:pointer;padding-right:2em}.ss-select-wrapper:after{font-family:Material Symbols Outlined;content:\"arrow_drop_down\";pointer-events:none;top:0;font-size:1.5em;right:.2em;height:100%;position:absolute;display:flex;align-items:center;opacity:70%}.pill-btn--components{background-color:#4070b0;font-size:1em;transition:all .15s;color:#fff;cursor:pointer;font-weight:600;text-align:center}.pill-btn--components:disabled{color:#707070;background-color:#e6e6e6;pointer-events:none}.pill-btn--components:hover{background-color:#6892ca;color:#fff}.destructive.pill-btn--components{background-color:#b04940}.destructive.pill-btn--components:hover{background-color:#c7574d}.pill-btn--components{border-radius:100em;padding:.4em 1.3em}:host{box-sizing:border-box}:host *{box-sizing:inherit}.ss-select-wrapper{margin-right:.3em}.ss-row-cancel{color:#aaa;margin-left:.4em;margin-top:.4em}.ss-row-cancel:hover{color:#666}.ss-row-cancel .ss-icon{font-size:1em}.ss-hidden{display:none}#addQueryBtn{display:flex;align-items:center}#addQueryBtn:disabled{color:#999;pointer-events:none}#addQueryBtn .icon{font-size:1em}.ss-adv-search-wrapper{width:100%}h3{font-size:1.13em;font-weight:300;margin-bottom:.7em;margin-top:0}h4{margin-bottom:.3em;font-weight:600}#dateOptions h4{margin-bottom:.8em}.ss-adv-search-row{display:flex;flex-wrap:wrap;width:100%;margin-bottom:.6em}.ss-query-input{display:inline-block;width:100%;margin-top:.4rem}.ss-query-input input{width:100%}.ss-other-options{display:grid;grid-template-columns:repeat(1,1fr);gap:.6em 1.6em;grid-auto-rows:minmax(1em,auto);margin-top:1.4em}.ss-other-options label{margin-right:1rem}.ss-checkbox-label{display:inline-flex;align-items:flex-start;cursor:pointer}.ss-checkbox-label:not(:last-of-type){margin-bottom:.75em}.ss-checkbox-label .ss-label-text{margin-top:-.1em;margin-left:.45em}.ss-checkbox-section{margin-bottom:.8em}#advSearchFooter{margin-bottom:.5em;display:flex;justify-content:space-between;align-items:center;font-size:1.2em}#advSearchFooter a{font-size:.8em}@media screen and (min-width: 615px){.ss-adv-search-row{flex-wrap:nowrap}.ss-other-options{grid-template-columns:repeat(2,1fr)}.ss-query-input{margin-top:0}#dateOptions .external{grid-column:span 2}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: HbllMultiSelectComponent, selector: "lib-multi-select", inputs: ["allOptions", "label", "selectedKeys"], outputs: ["selectedKeysChange"] }, { kind: "component", type: HbllCheckboxComponent, selector: "lib-checkbox", inputs: ["isChecked"] }, { kind: "component", type: DateRangeComponent, selector: "lib-date-range", inputs: ["from", "to"], outputs: ["validDateChange", "fromChange", "toChange"] }] }); }
731
1818
  }
732
1819
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: AdvancedSearchComponent, decorators: [{
733
1820
  type: Component,
@@ -739,7 +1826,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
739
1826
  HbllMultiSelectComponent,
740
1827
  HbllCheckboxComponent,
741
1828
  DateRangeComponent,
742
- ], template: "<form\n data-testid=\"advancedSearchForm\"\n (submit)=\"config.scope === 'local' ? doLocalAdvancedSearch() : doExternalAdvancedSearch()\"\n [formGroup]=\"advancedSearchForm\"\n class=\"ss-adv-search-wrapper\"\n>\n <h3>Advanced Search</h3>\n <!-- Queries -->\n @for (query of queries.controls; track $index; let queryIndex = $index) {\n <div class=\"ss-adv-search-row\" [formGroup]=\"query\">\n <!-- Boolean operator -->\n <!-- Add boolean for each row except for first -->\n @if (!$first) {\n <div class=\"ss-select-wrapper\">\n <select\n [id]=\"'boolean' + queryIndex\"\n [formControlName]=\"'boolean'\"\n [attr.data-testid]=\"'boolean' + queryIndex\"\n >\n @for (boolean of advancedSearchOptions.boolean; track boolean) {\n <option [ngValue]=\"boolean\">\n {{ boolean }}\n </option>\n }\n </select>\n </div>\n }\n <!-- Field -->\n <label [for]=\"'field' + queryIndex\" class=\"ss-hidden\">Field {{ queryIndex }}</label>\n <div class=\"ss-select-wrapper\">\n <select\n [id]=\"'field' + queryIndex\"\n [formControlName]=\"'field'\"\n [attr.data-testid]=\"'field' + queryIndex\"\n >\n @for (field of advancedSearchOptions.fields; track field) {\n <option [ngValue]=\"field\">\n {{ advancedSearchFieldMap[field] }}\n </option>\n }\n <optgroup\n [label]=\"(config.scope === 'external' ? 'Online' : 'Library') + ' Specific'\"\n >\n @for (\n field of config.scope === 'external'\n ? advancedSearchOptions.externalFields\n : advancedSearchOptions.localFields;\n track field\n ) {\n <option [ngValue]=\"field\">\n {{ advancedSearchFieldMap[field] }}\n </option>\n }\n </optgroup>\n </select>\n </div>\n <!-- Qualifiers are only available for local searches -->\n @if (config.scope === 'local') {\n <label [for]=\"'qualifier' + queryIndex\" class=\"ss-hidden\"\n >Match Criteria {{ queryIndex }}</label\n >\n <div class=\"ss-select-wrapper\">\n <select\n [id]=\"'qualifier' + queryIndex\"\n [formControlName]=\"'qualifier'\"\n [attr.data-testid]=\"'qualifier' + queryIndex\"\n >\n <!-- $any because a field can technically be local or external, though this block is scoped strictly to local fields -->\n @for (\n qualifier of $any(advancedSearchOptions.qualifiers)[\n query.controls.field.value\n ];\n track qualifier;\n let optionIndex = $index\n ) {\n <option\n [ngValue]=\"qualifier\"\n [attr.data-testid]=\"\n 'qualifier' + queryIndex + '-option' + optionIndex\n \"\n >\n {{ $any(advancedSearchQualifierMap)[qualifier] }}\n </option>\n }\n </select>\n </div>\n }\n <!-- Query -->\n <label [for]=\"'query' + queryIndex\" class=\"ss-hidden\">Query {{ queryIndex }}</label>\n <div class=\"ss-query-input\">\n <input\n #searchInput\n [id]=\"'query' + queryIndex\"\n [formControlName]=\"'query'\"\n [attr.data-testid]=\"'query' + queryIndex\"\n required\n aria-required=\"true\"\n matTooltip=\"Fill out this field\"\n [matTooltipPosition]=\"'above'\"\n [matTooltipDisabled]=\"true\"\n [attr.aria-invalid]=\"isSubmitted && queries.at(0).controls.query.invalid\"\n aria-describedby=\"invalidInputDesc\"\n />\n </div>\n @if (!$first) {\n <button\n class=\"ss-row-cancel\"\n type=\"button\"\n (click)=\"removeQuery(queryIndex)\"\n [attr.data-testid]=\"'cancelRow' + queryIndex\"\n >\n <span class=\"material-symbols-outlined ss-icon\"> cancel </span>\n </button>\n }\n </div>\n }\n <button\n type=\"button\"\n (click)=\"addQuery()\"\n id=\"addQueryBtn\"\n data-testid=\"addQuery\"\n [disabled]=\"queries.length > 11\"\n >\n <span class=\"material-symbols-outlined ss-icon\"> add </span>\n Add a row\n </button>\n <!-- OTHER OPTIONS -->\n <div class=\"ss-other-options\">\n <!-- LOCAL -->\n @if (config.scope === 'local') {\n <!-- Type -->\n <div data-testid=\"resourceType\">\n <h4>Resource Type</h4>\n <div class=\"ss-multi-select-wrapper\">\n <lib-hbll-multi-select\n [label]=\"'Resource Type'\"\n [allOptions]=\"advancedSearchOptions.types[config.institution]\"\n [selectedKeys]=\"types.value\"\n (selectedKeysChange)=\"types.setValue($event)\"\n ></lib-hbll-multi-select>\n </div>\n </div>\n <!-- Collection -->\n <div data-testid=\"collection\">\n <h4>Collection</h4>\n <div class=\"ss-multi-select-wrapper\">\n <lib-hbll-multi-select\n [label]=\"'Collection'\"\n [allOptions]=\"advancedSearchOptions.collections[config.institution]\"\n [selectedKeys]=\"collections.value\"\n (selectedKeysChange)=\"collections.setValue($event)\"\n ></lib-hbll-multi-select>\n </div>\n </div>\n <!-- Language -->\n <ng-container *ngTemplateOutlet=\"languageBlock\"></ng-container>\n <!-- Date -->\n <ng-container\n *ngTemplateOutlet=\"dateBlock; context: { header: 'Creation Date' }\"\n ></ng-container>\n }\n <!-- EXTERNAL -->\n @if (config.scope === 'external') {\n <div formGroupName=\"limitResults\" class=\"ss-checkbox-section\">\n <h4>For Fewer Results Try</h4>\n <!-- Peer reviewed -->\n <label class=\"ss-checkbox-label\" for=\"peerReviewed\" tabindex=\"0\">\n <input\n class=\"ss-hidden\"\n id=\"peerReviewed\"\n type=\"checkbox\"\n [formControlName]=\"'peerReviewed'\"\n data-testid=\"peerReviewed\"\n />\n <lib-hbll-checkbox [isChecked]=\"peerReviewed.value\"></lib-hbll-checkbox>\n <span class=\"ss-label-text\">Peer reviewed journal articles</span>\n </label>\n </div>\n <div formGroupName=\"expandResults\" class=\"ss-checkbox-section\">\n <h4>For More Results Try</h4>\n <!-- Apply equivalent subjects -->\n <label class=\"ss-checkbox-label\" for=\"applyEquivalentSubjects\" tabindex=\"0\">\n <input\n class=\"ss-hidden\"\n id=\"applyEquivalentSubjects\"\n type=\"checkbox\"\n [formControlName]=\"'applyEquivalentSubjects'\"\n data-testid=\"applyEquivalentSubjects\"\n />\n <lib-hbll-checkbox\n [isChecked]=\"applyEquivalentSubjects.value\"\n ></lib-hbll-checkbox>\n <span class=\"ss-label-text\">Apply equivalent subjects</span>\n </label>\n <!-- Full text -->\n <label class=\"ss-checkbox-label\" for=\"fullText\" tabindex=\"0\">\n <input\n class=\"ss-hidden\"\n id=\"fullText\"\n type=\"checkbox\"\n [formControlName]=\"'fullText'\"\n data-testid=\"fullText\"\n />\n <lib-hbll-checkbox [isChecked]=\"fullText.value\"></lib-hbll-checkbox>\n <span class=\"ss-label-text\"\n >Include results the library doesn't have access to</span\n >\n </label>\n </div>\n <!-- Date -->\n <ng-container\n *ngTemplateOutlet=\"dateBlock; context: { header: 'Date Published' }\"\n ></ng-container>\n <!-- Language -->\n <ng-container *ngTemplateOutlet=\"languageBlock\"></ng-container>\n }\n </div>\n <div id=\"advSearchFooter\">\n <a [href]=\"'https://lib.byu.edu/browse/' + config.institution\">Alphabetic Browse</a>\n <button\n class=\"pill-btn--components\"\n [ngClass]=\"{\n ensign: config.institution === 'ensign',\n }\"\n type=\"submit\"\n data-testid=\"advSearchSubmitButton\"\n >\n Search\n </button>\n </div>\n</form>\n\n<ng-template #languageBlock>\n <div>\n <h4>Language</h4>\n <lib-hbll-multi-select\n [label]=\"'language'\"\n [allOptions]=\"advancedSearchOptions.languages\"\n [selectedKeys]=\"languages.value\"\n (selectedKeysChange)=\"languages.setValue($any($event))\"\n ></lib-hbll-multi-select>\n </div>\n</ng-template>\n<ng-template #dateBlock let-header=\"header\">\n <div id=\"dateOptions\" class=\"external\">\n <h4>{{ header }}</h4>\n <lib-date-range\n [from]=\"from.value\"\n [to]=\"to.value\"\n (fromChange)=\"from.setValue($event)\"\n (toChange)=\"to.setValue($event)\"\n ></lib-date-range>\n </div>\n</ng-template>\n", styles: ["button.ensign{background-color:#2b6042!important}button.ensign:hover{background-color:#357551!important}a,button{border:none;background:none;font-family:inherit;padding:0;margin:0;font-size:inherit;color:#1c7ec9;text-decoration:none;cursor:pointer}a:hover,button:hover{color:#8ab6f0}select,textarea,input{appearance:none;font-family:inherit;padding:.38em;border:solid 1px #707070;border-radius:4px;font-size:1em;background-color:#fff}select:focus,textarea:focus,input:focus{border-color:#3a6093}.ss-select-wrapper{position:relative}.ss-select-wrapper select{cursor:pointer;padding-right:2em}.ss-select-wrapper:after{font-family:Material Symbols Outlined;content:\"arrow_drop_down\";pointer-events:none;top:0;font-size:1.5em;right:.2em;height:100%;position:absolute;display:flex;align-items:center;opacity:70%}.pill-btn--components{background-color:#4070b0;font-size:1em;transition:all .15s;color:#fff;cursor:pointer;font-weight:600;text-align:center}.pill-btn--components:disabled{color:#707070;background-color:#e6e6e6;pointer-events:none}.pill-btn--components:hover{background-color:#6892ca;color:#fff}.destructive.pill-btn--components{background-color:#b04940}.destructive.pill-btn--components:hover{background-color:#c7574d}.pill-btn--components{border-radius:100em;padding:.4em 1.3em}:host{box-sizing:border-box}:host *{box-sizing:inherit}.ss-select-wrapper{margin-right:.3em}.ss-row-cancel{color:#aaa;margin-left:.4em;margin-top:.4em}.ss-row-cancel:hover{color:#666}.ss-row-cancel .ss-icon{font-size:1em}.ss-hidden{display:none}#addQueryBtn{display:flex;align-items:center}#addQueryBtn:disabled{color:#999;pointer-events:none}#addQueryBtn .icon{font-size:1em}.ss-adv-search-wrapper{width:100%}h3{font-size:1.13em;font-weight:300;margin-bottom:.7em;margin-top:0}h4{margin-bottom:.3em;font-weight:600}#dateOptions h4{margin-bottom:.8em}.ss-adv-search-row{display:flex;flex-wrap:wrap;width:100%;margin-bottom:.6em}.ss-query-input{display:inline-block;width:100%;margin-top:.4rem}.ss-query-input input{width:100%}.ss-other-options{display:grid;grid-template-columns:repeat(1,1fr);gap:.6em 1.6em;grid-auto-rows:minmax(1em,auto);margin-top:1.4em}.ss-other-options label{margin-right:1rem}.ss-checkbox-label{display:inline-flex;align-items:flex-start;cursor:pointer}.ss-checkbox-label:not(:last-of-type){margin-bottom:.75em}.ss-checkbox-label .ss-label-text{margin-top:-.1em;margin-left:.45em}.ss-checkbox-section{margin-bottom:.8em}#advSearchFooter{margin-bottom:.5em;display:flex;justify-content:space-between;align-items:center;font-size:1.2em}#advSearchFooter a{font-size:.8em}@media screen and (min-width: 615px){.ss-adv-search-row{flex-wrap:nowrap}.ss-other-options{grid-template-columns:repeat(2,1fr)}.ss-query-input{margin-top:0}#dateOptions .external{grid-column:span 2}}\n"] }]
1829
+ ], template: "<form\n data-testid=\"advancedSearchForm\"\n (submit)=\"config.scope === 'local' ? doLocalAdvancedSearch() : doExternalAdvancedSearch()\"\n [formGroup]=\"advancedSearchForm\"\n class=\"ss-adv-search-wrapper\"\n>\n <h3>Advanced Search</h3>\n <!-- Queries -->\n @for (query of queries.controls; track $index; let queryIndex = $index) {\n <div class=\"ss-adv-search-row\" [formGroup]=\"query\">\n <!-- Boolean operator -->\n <!-- Add boolean for each row except for first -->\n @if (!$first) {\n <div class=\"ss-select-wrapper\">\n <select\n [id]=\"'boolean' + queryIndex\"\n [formControlName]=\"'boolean'\"\n [attr.data-testid]=\"'boolean' + queryIndex\"\n >\n @for (boolean of advancedSearchOptions.boolean; track boolean) {\n <option [ngValue]=\"boolean\">\n {{ boolean }}\n </option>\n }\n </select>\n </div>\n }\n <!-- Field -->\n <label [for]=\"'field' + queryIndex\" class=\"ss-hidden\">Field {{ queryIndex }}</label>\n <div class=\"ss-select-wrapper\">\n <select\n [id]=\"'field' + queryIndex\"\n [formControlName]=\"'field'\"\n [attr.data-testid]=\"'field' + queryIndex\"\n >\n @for (field of advancedSearchOptions.fields; track field) {\n <option [ngValue]=\"field\">\n {{ advancedSearchFieldMap[field] }}\n </option>\n }\n <optgroup\n [label]=\"(config.scope === 'external' ? 'Online' : 'Library') + ' Specific'\"\n >\n @for (\n field of config.scope === 'external'\n ? advancedSearchOptions.externalFields\n : advancedSearchOptions.localFields;\n track field\n ) {\n <option [ngValue]=\"field\">\n {{ advancedSearchFieldMap[field] }}\n </option>\n }\n </optgroup>\n </select>\n </div>\n <!-- Qualifiers are only available for local searches -->\n @if (config.scope === 'local') {\n <label [for]=\"'qualifier' + queryIndex\" class=\"ss-hidden\"\n >Match Criteria {{ queryIndex }}</label\n >\n <div class=\"ss-select-wrapper\">\n <select\n [id]=\"'qualifier' + queryIndex\"\n [formControlName]=\"'qualifier'\"\n [attr.data-testid]=\"'qualifier' + queryIndex\"\n >\n <!-- $any because a field can technically be local or external, though this block is scoped strictly to local fields -->\n @for (\n qualifier of $any(advancedSearchOptions.qualifiers)[\n query.controls.field.value\n ];\n track qualifier;\n let optionIndex = $index\n ) {\n <option\n [ngValue]=\"qualifier\"\n [attr.data-testid]=\"\n 'qualifier' + queryIndex + '-option' + optionIndex\n \"\n >\n {{ $any(advancedSearchQualifierMap)[qualifier] }}\n </option>\n }\n </select>\n </div>\n }\n <!-- Query -->\n <label [for]=\"'query' + queryIndex\" class=\"ss-hidden\">Query {{ queryIndex }}</label>\n <div class=\"ss-query-input\">\n <input\n #searchInput\n [id]=\"'query' + queryIndex\"\n [formControlName]=\"'query'\"\n [attr.data-testid]=\"'query' + queryIndex\"\n required\n aria-required=\"true\"\n matTooltip=\"Fill out this field\"\n [matTooltipPosition]=\"'above'\"\n [matTooltipDisabled]=\"true\"\n [attr.aria-invalid]=\"isSubmitted && queries.at(0).controls.query.invalid\"\n aria-describedby=\"invalidInputDesc\"\n />\n </div>\n @if (!$first) {\n <button\n class=\"ss-row-cancel\"\n type=\"button\"\n (click)=\"removeQuery(queryIndex)\"\n [attr.data-testid]=\"'cancelRow' + queryIndex\"\n >\n <span class=\"material-symbols-outlined ss-icon\"> cancel </span>\n </button>\n }\n </div>\n }\n <button\n type=\"button\"\n (click)=\"addQuery()\"\n id=\"addQueryBtn\"\n data-testid=\"addQuery\"\n [disabled]=\"queries.length > 11\"\n >\n <span class=\"material-symbols-outlined ss-icon\"> add </span>\n Add a row\n </button>\n <!-- OTHER OPTIONS -->\n <div class=\"ss-other-options\">\n <!-- LOCAL -->\n @if (config.scope === 'local') {\n <!-- Type -->\n <div data-testid=\"resourceType\">\n <h4>Resource Type</h4>\n <div class=\"ss-multi-select-wrapper\">\n <lib-multi-select\n [label]=\"'Resource Type'\"\n [allOptions]=\"advancedSearchOptions.types[config.institution]\"\n [selectedKeys]=\"types.value\"\n (selectedKeysChange)=\"types.setValue($event)\"\n ></lib-multi-select>\n </div>\n </div>\n <!-- Collection -->\n <div data-testid=\"collection\">\n <h4>Collection</h4>\n <div class=\"ss-multi-select-wrapper\">\n <lib-multi-select\n [label]=\"'Collection'\"\n [allOptions]=\"advancedSearchOptions.collections[config.institution]\"\n [selectedKeys]=\"collections.value\"\n (selectedKeysChange)=\"collections.setValue($event)\"\n ></lib-multi-select>\n </div>\n </div>\n <!-- Language -->\n <ng-container *ngTemplateOutlet=\"languageBlock\"></ng-container>\n <!-- Date -->\n <ng-container\n *ngTemplateOutlet=\"dateBlock; context: { header: 'Creation Date' }\"\n ></ng-container>\n }\n <!-- EXTERNAL -->\n @if (config.scope === 'external') {\n <div formGroupName=\"limitResults\" class=\"ss-checkbox-section\">\n <h4>For Fewer Results Try</h4>\n <!-- Peer reviewed -->\n <label class=\"ss-checkbox-label\" for=\"peerReviewed\" tabindex=\"0\">\n <input\n class=\"ss-hidden\"\n id=\"peerReviewed\"\n type=\"checkbox\"\n [formControlName]=\"'peerReviewed'\"\n data-testid=\"peerReviewed\"\n />\n <lib-checkbox [isChecked]=\"peerReviewed.value\"></lib-checkbox>\n <span class=\"ss-label-text\">Peer reviewed journal articles</span>\n </label>\n </div>\n <div formGroupName=\"expandResults\" class=\"ss-checkbox-section\">\n <h4>For More Results Try</h4>\n <!-- Apply equivalent subjects -->\n <label class=\"ss-checkbox-label\" for=\"applyEquivalentSubjects\" tabindex=\"0\">\n <input\n class=\"ss-hidden\"\n id=\"applyEquivalentSubjects\"\n type=\"checkbox\"\n [formControlName]=\"'applyEquivalentSubjects'\"\n data-testid=\"applyEquivalentSubjects\"\n />\n <lib-checkbox [isChecked]=\"applyEquivalentSubjects.value\"></lib-checkbox>\n <span class=\"ss-label-text\">Apply equivalent subjects</span>\n </label>\n <!-- Full text -->\n <label class=\"ss-checkbox-label\" for=\"fullText\" tabindex=\"0\">\n <input\n class=\"ss-hidden\"\n id=\"fullText\"\n type=\"checkbox\"\n [formControlName]=\"'fullText'\"\n data-testid=\"fullText\"\n />\n <lib-checkbox [isChecked]=\"fullText.value\"></lib-checkbox>\n <span class=\"ss-label-text\"\n >Include results the library doesn't have access to</span\n >\n </label>\n </div>\n <!-- Date -->\n <ng-container\n *ngTemplateOutlet=\"dateBlock; context: { header: 'Date Published' }\"\n ></ng-container>\n <!-- Language -->\n <ng-container *ngTemplateOutlet=\"languageBlock\"></ng-container>\n }\n </div>\n <div id=\"advSearchFooter\">\n <a [href]=\"'https://lib.byu.edu/browse/' + config.institution\">Alphabetic Browse</a>\n <button\n class=\"pill-btn--components\"\n [ngClass]=\"{\n ensign: config.institution === 'ensign',\n }\"\n type=\"submit\"\n data-testid=\"advSearchSubmitButton\"\n >\n Search\n </button>\n </div>\n</form>\n\n<ng-template #languageBlock>\n <div>\n <h4>Language</h4>\n <lib-multi-select\n [label]=\"'language'\"\n [allOptions]=\"advancedSearchOptions.languages\"\n [selectedKeys]=\"languages.value\"\n (selectedKeysChange)=\"languages.setValue($any($event))\"\n ></lib-multi-select>\n </div>\n</ng-template>\n<ng-template #dateBlock let-header=\"header\">\n <div id=\"dateOptions\" class=\"external\">\n <h4>{{ header }}</h4>\n <lib-date-range\n [from]=\"from.value\"\n [to]=\"to.value\"\n (fromChange)=\"from.setValue($event)\"\n (toChange)=\"to.setValue($event)\"\n ></lib-date-range>\n </div>\n</ng-template>\n", styles: ["button.ensign{background-color:#2b6042!important;border-color:#2a6142}button.ensign:hover{background-color:#357551!important}a,button{border:none;background:none;font-family:inherit;padding:0;margin:0;font-size:inherit;color:#1c7ec9;text-decoration:none;cursor:pointer}a:hover,button:hover{color:#8ab6f0}select,textarea,input{appearance:none;font-family:inherit;padding:.38em;border:solid 1px #707070;border-radius:4px;font-size:1em;background-color:#fff}select:focus,textarea:focus,input:focus{outline-color:#3a6093}.ss-select-wrapper{position:relative}.ss-select-wrapper select{cursor:pointer;padding-right:2em}.ss-select-wrapper:after{font-family:Material Symbols Outlined;content:\"arrow_drop_down\";pointer-events:none;top:0;font-size:1.5em;right:.2em;height:100%;position:absolute;display:flex;align-items:center;opacity:70%}.pill-btn--components{background-color:#4070b0;font-size:1em;transition:all .15s;color:#fff;cursor:pointer;font-weight:600;text-align:center}.pill-btn--components:disabled{color:#707070;background-color:#e6e6e6;pointer-events:none}.pill-btn--components:hover{background-color:#6892ca;color:#fff}.destructive.pill-btn--components{background-color:#b04940}.destructive.pill-btn--components:hover{background-color:#c7574d}.pill-btn--components{border-radius:100em;padding:.4em 1.3em}:host{box-sizing:border-box}:host *{box-sizing:inherit}.ss-select-wrapper{margin-right:.3em}.ss-row-cancel{color:#aaa;margin-left:.4em;margin-top:.4em}.ss-row-cancel:hover{color:#666}.ss-row-cancel .ss-icon{font-size:1em}.ss-hidden{display:none}#addQueryBtn{display:flex;align-items:center}#addQueryBtn:disabled{color:#999;pointer-events:none}#addQueryBtn .icon{font-size:1em}.ss-adv-search-wrapper{width:100%}h3{font-size:1.13em;font-weight:300;margin-bottom:.7em;margin-top:0}h4{margin-bottom:.3em;font-weight:600}#dateOptions h4{margin-bottom:.8em}.ss-adv-search-row{display:flex;flex-wrap:wrap;width:100%;margin-bottom:.6em}.ss-query-input{display:inline-block;width:100%;margin-top:.4rem}.ss-query-input input{width:100%}.ss-other-options{display:grid;grid-template-columns:repeat(1,1fr);gap:.6em 1.6em;grid-auto-rows:minmax(1em,auto);margin-top:1.4em}.ss-other-options label{margin-right:1rem}.ss-checkbox-label{display:inline-flex;align-items:flex-start;cursor:pointer}.ss-checkbox-label:not(:last-of-type){margin-bottom:.75em}.ss-checkbox-label .ss-label-text{margin-top:-.1em;margin-left:.45em}.ss-checkbox-section{margin-bottom:.8em}#advSearchFooter{margin-bottom:.5em;display:flex;justify-content:space-between;align-items:center;font-size:1.2em}#advSearchFooter a{font-size:.8em}@media screen and (min-width: 615px){.ss-adv-search-row{flex-wrap:nowrap}.ss-other-options{grid-template-columns:repeat(2,1fr)}.ss-query-input{margin-top:0}#dateOptions .external{grid-column:span 2}}\n"] }]
743
1830
  }], propDecorators: { config: [{
744
1831
  type: Input,
745
1832
  args: [{ required: true }]
@@ -809,7 +1896,7 @@ class SimpleSearchComponent {
809
1896
  this.subscription.unsubscribe();
810
1897
  }
811
1898
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SimpleSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
812
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: SimpleSearchComponent, isStandalone: true, selector: "lib-ss-simple-search", inputs: { config: "config" }, outputs: { simpleSearch: "simpleSearch", clearSimpleSearch: "clearSimpleSearch" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "inputTooltip", first: true, predicate: MatTooltip, descendants: true }], ngImport: i0, template: "<div class=\"ss-container\">\n <form [formGroup]=\"searchForm\" (submit)=\"emitSimpleSearch()\" data-testid=\"searchForm\">\n <input\n #searchInput\n data-testid=\"searchInput\"\n id=\"q\"\n name=\"q\"\n type=\"text\"\n required\n aria-required=\"true\"\n aria-label=\"search input\"\n autocapitalize=\"off\"\n formControlName=\"simpleQuery\"\n matTooltip=\"Fill out this field\"\n [matTooltipPosition]=\"'above'\"\n [matTooltipDisabled]=\"true\"\n [attr.aria-invalid]=\"isSubmitted && simpleQuery.invalid\"\n />\n <label for=\"q\" data-testid=\"label\">{{\n config.scope === 'local'\n ? 'Books, media, special collections and more'\n : 'Ebooks, articles, journals, databases, streaming media and more'\n }}</label>\n <button\n type=\"submit\"\n aria-label=\"search\"\n data-testid=\"searchBtn\"\n [ngClass]=\"{ ensign: config.institution === 'ensign' }\"\n >\n <span class=\"material-symbols-outlined ss-icon\"> search </span>\n </button>\n </form>\n\n @if (simpleQuery.value) {\n <button id=\"clear\" (click)=\"clearQuery()\" data-testid=\"clearBtn\">\n <span class=\"material-symbols-outlined ss-icon\"> cancel </span>\n </button>\n }\n</div>\n", styles: ["a,button{border:none;background:none;font-family:inherit;padding:0;margin:0;font-size:inherit;color:#1c7ec9;text-decoration:none;cursor:pointer}a:hover,button:hover{color:#8ab6f0}.ss-container{position:relative}form{display:flex}.ss-icon{font-size:1em}button[type=submit]{background:#fff;border-radius:0 4px 4px 0;margin:0;width:3em;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:color .2s,background-color .2s}button[type=submit] .ss-icon{color:#0047ba;font-size:1.7em}button[type=submit]:hover .ss-icon{color:#6892ca}button[type=submit].ensign .ss-icon{color:#2b6042}button[type=submit].ensign .ss-icon:hover{color:#357551}#clear{position:absolute;right:3em;top:0%;height:100%;display:flex;justify-content:center;align-items:center;padding:0 0 0 .6rem}#clear .ss-icon{height:auto;color:#acacac;transition:color ease-in-out .05s}#clear:hover .ss-icon{color:#666}input[type=text]{background-color:#fff;color:#000;font-family:inherit;border:none;font-weight:600;margin:0;overflow:hidden;cursor:text;width:calc(100% - 3em);font-size:1em;border-radius:4px 0 0 4px;padding:.56em 2em .56em .56em}input[type=text]:focus{outline:none}input[type=text]:valid+label,input[type=text]:focus+label{font-size:.75em;top:-.8em;padding-top:0;padding-bottom:0;pointer-events:none;margin-top:0;margin-left:.56em;cursor:default}input[type=text]:valid+label:before,input[type=text]:focus+label:before{opacity:1}label{cursor:text;transition:all .1s ease-in-out;position:absolute;padding:.5em .28em;margin-left:.28em;left:0;color:#707070;z-index:1;max-width:calc(100% - 3.4em);white-space:nowrap;line-height:normal;overflow:hidden;text-overflow:ellipsis;border-radius:4px}label:before{transition:all .1s ease-in-out;background-color:#fff;content:\"\";position:absolute;inset:0;opacity:0;z-index:-1}\n"], dependencies: [{ kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
1899
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: SimpleSearchComponent, isStandalone: true, selector: "lib-ss-simple-search", inputs: { config: "config" }, outputs: { simpleSearch: "simpleSearch", clearSimpleSearch: "clearSimpleSearch" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "inputTooltip", first: true, predicate: MatTooltip, descendants: true }], ngImport: i0, template: "<div class=\"ss-container\">\n <form [formGroup]=\"searchForm\" (submit)=\"emitSimpleSearch()\" data-testid=\"searchForm\">\n <input\n #searchInput\n data-testid=\"searchInput\"\n id=\"q\"\n name=\"q\"\n type=\"text\"\n required\n aria-required=\"true\"\n aria-label=\"search input\"\n autocapitalize=\"off\"\n formControlName=\"simpleQuery\"\n matTooltip=\"Fill out this field\"\n [matTooltipPosition]=\"'above'\"\n [matTooltipDisabled]=\"true\"\n [attr.aria-invalid]=\"isSubmitted && simpleQuery.invalid\"\n />\n <label for=\"q\" data-testid=\"label\">{{\n config.scope === 'local'\n ? 'Books, media, special collections and more'\n : 'Ebooks, articles, journals, databases, streaming media and more'\n }}</label>\n <button\n type=\"submit\"\n aria-label=\"search\"\n data-testid=\"searchBtn\"\n [ngClass]=\"{ ensign: config.institution === 'ensign' }\"\n >\n <span class=\"material-symbols-outlined ss-icon\"> search </span>\n </button>\n </form>\n\n @if (simpleQuery.value) {\n <button id=\"clear\" (click)=\"clearQuery()\" data-testid=\"clearBtn\">\n <span class=\"material-symbols-outlined ss-icon\"> cancel </span>\n </button>\n }\n</div>\n", styles: ["a,button{border:none;background:none;font-family:inherit;padding:0;margin:0;font-size:inherit;color:#1c7ec9;text-decoration:none;cursor:pointer}a:hover,button:hover{color:#8ab6f0}.ss-container{position:relative}form{display:flex}.ss-icon{font-size:1em}button[type=submit]{background:#fff;border-radius:0 4px 4px 0;margin:0;width:3em;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:color .2s,background-color .2s}button[type=submit] .ss-icon{color:#0047ba;font-size:1.7em}button[type=submit]:hover .ss-icon{color:#6892ca}button[type=submit].ensign .ss-icon{color:#2b6042}button[type=submit].ensign .ss-icon:hover{color:#357551}#clear{position:absolute;right:3em;top:0%;height:100%;display:flex;justify-content:center;align-items:center;padding:0 0 0 .6rem}#clear .ss-icon{height:auto;color:#acacac;transition:color ease-in-out .05s}#clear:hover .ss-icon{color:#666}input[type=text]{background-color:#fff;color:#000;font-family:inherit;border:none;font-weight:600;margin:0;overflow:hidden;cursor:text;width:calc(100% - 3em);font-size:1em;border-radius:4px 0 0 4px;padding:.56em 2em .56em .56em}input[type=text]:focus{outline:none}input[type=text]:valid+label,input[type=text]:focus+label{font-size:.75em;top:-.8em;padding-top:0;padding-bottom:0;pointer-events:none;margin-top:0;margin-left:.56em;cursor:default}input[type=text]:valid+label:before,input[type=text]:focus+label:before{opacity:1}label{cursor:text;transition:all .1s ease-in-out;position:absolute;padding:.5em .28em;margin-left:.28em;left:0;color:#707070;z-index:1;max-width:calc(100% - 3.4em);white-space:nowrap;line-height:normal;overflow:hidden;text-overflow:ellipsis;border-radius:4px}label:before{transition:all .1s ease-in-out;background-color:#fff;content:\"\";position:absolute;inset:0;opacity:0;z-index:-1}\n"], dependencies: [{ kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
813
1900
  }
814
1901
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SimpleSearchComponent, decorators: [{
815
1902
  type: Component,
@@ -916,7 +2003,7 @@ class SsSearchBarComponent {
916
2003
  return this._config;
917
2004
  }
918
2005
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SsSearchBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
919
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: SsSearchBarComponent, isStandalone: true, selector: "lib-ss-search-bar", inputs: { config: "config" }, outputs: { simpleSearch: "simpleSearch", clearSimpleSearch: "clearSimpleSearch", advancedSearch: "advancedSearch", advancedSearchClosed: "advancedSearchClosed", advancedSearchOpen: "advancedSearchOpen", tabChange: "tabChange" }, providers: [FieldByScopePipe], viewQueries: [{ propertyName: "barWrapperRef", first: true, predicate: ["barWrapperRef"], descendants: true }], ngImport: i0, template: "<div id=\"ssSearchBar\">\n <div class=\"tabs\">\n <button\n (click)=\"emitTabChange('local')\"\n class=\"ss-tab\"\n id=\"localTab\"\n [ngClass]=\"{\n 'ss-active': config.scope === 'local',\n ensign: config.institution === 'ensign' && config.scope !== 'local',\n }\"\n data-testid=\"localTab\"\n [disabled]=\"config.scope === 'local'\"\n >\n In the Library\n </button>\n @if (config.institution !== 'law') {\n <div class=\"tab-spacer\"></div>\n <button\n (click)=\"emitTabChange('external')\"\n class=\"ss-tab\"\n id=\"externalTab\"\n [ngClass]=\"{\n 'ss-active': config.scope === 'external',\n ensign: config.institution === 'ensign' && config.scope !== 'external',\n }\"\n data-testid=\"externalTab\"\n [disabled]=\"config.scope === 'external'\"\n >\n Available Online\n </button>\n }\n <div class=\"tab-spacer full\"></div>\n </div>\n <div\n class=\"ss-bar-wrapper\"\n #barWrapperRef\n [@libHbllExpandCollapse]=\"{\n value: config.showAdvancedSearch ? (!config.showAdvancedSearchAsText ? 1 : 2) : 3,\n params: { startHeight: heightOfContainer },\n }\"\n >\n <div class=\"ss-bar-content\" data-testid=\"searchForm\">\n @if (!config.showAdvancedSearch) {\n <div class=\"ss-search-bar\">\n <lib-ss-simple-search\n [config]=\"config\"\n (simpleSearch)=\"emitSimpleSearch($event)\"\n (clearSimpleSearch)=\"emitClearSimpleSearch()\"\n ></lib-ss-simple-search>\n </div>\n } @else {\n <button\n id=\"advSearchCloseBtn\"\n (click)=\"emitAdvancedSearchClosed()\"\n data-testid=\"advSearchCloseBtn\"\n >\n <span class=\"material-symbols-outlined ss-icon\"> close </span>\n </button>\n <div id=\"advSearchWrapper\">\n @if (config.showAdvancedSearch && !config.showAdvancedSearchAsText) {\n <div>\n <lib-ss-advanced-search\n [config]=\"config\"\n (advancedSearch)=\"emitAdvancedSearch($event)\"\n ></lib-ss-advanced-search>\n </div>\n } @else {\n <div\n class=\"ss-adv-search-text\"\n data-testid=\"advancedSearchText\"\n [innerHTML]=\"\n config.advancedSearchQueryRows | ssAdvancedQueries: config.scope\n \"\n ></div>\n <div\n [innerHTML]=\"\n config.advancedSearchQueryRows | advancedFieldWarning: config.scope\n \"\n ></div>\n }\n </div>\n }\n </div>\n @if (!config.showAdvancedSearch || config.showAdvancedSearchAsText) {\n <button\n data-testid=\"toggleAdvSearchButton\"\n class=\"ss-adv-search-btn\"\n id=\"advSearchBtn\"\n (click)=\"emitAdvancedSearchOpen()\"\n >\n Advanced\n <span class=\"material-symbols-outlined ss-icon\"> keyboard_arrow_down </span>\n </button>\n }\n </div>\n</div>\n", styles: ["#ssSearchBar .tabs .ss-tab.ensign{background-color:#2b6042!important}#ssSearchBar .tabs .ss-tab.ensign:hover{background-color:#357551!important}a,button{border:none;background:none;font-family:inherit;padding:0;margin:0;font-size:inherit;color:#1c7ec9;text-decoration:none;cursor:pointer}a:hover,button:hover{color:#8ab6f0}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element,.cdk-drag-preview .mat-ripple-element,.cdk-drag-placeholder .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}.mat-elevation-z0,.mat-mdc-elevation-specific.mat-elevation-z0{box-shadow:var(--mat-app-elevation-shadow-level-0, none)}.mat-elevation-z1,.mat-mdc-elevation-specific.mat-elevation-z1{box-shadow:var(--mat-app-elevation-shadow-level-1, none)}.mat-elevation-z2,.mat-mdc-elevation-specific.mat-elevation-z2{box-shadow:var(--mat-app-elevation-shadow-level-2, none)}.mat-elevation-z3,.mat-mdc-elevation-specific.mat-elevation-z3{box-shadow:var(--mat-app-elevation-shadow-level-3, none)}.mat-elevation-z4,.mat-mdc-elevation-specific.mat-elevation-z4{box-shadow:var(--mat-app-elevation-shadow-level-4, none)}.mat-elevation-z5,.mat-mdc-elevation-specific.mat-elevation-z5{box-shadow:var(--mat-app-elevation-shadow-level-5, none)}.mat-elevation-z6,.mat-mdc-elevation-specific.mat-elevation-z6{box-shadow:var(--mat-app-elevation-shadow-level-6, none)}.mat-elevation-z7,.mat-mdc-elevation-specific.mat-elevation-z7{box-shadow:var(--mat-app-elevation-shadow-level-7, none)}.mat-elevation-z8,.mat-mdc-elevation-specific.mat-elevation-z8{box-shadow:var(--mat-app-elevation-shadow-level-8, none)}.mat-elevation-z9,.mat-mdc-elevation-specific.mat-elevation-z9{box-shadow:var(--mat-app-elevation-shadow-level-9, none)}.mat-elevation-z10,.mat-mdc-elevation-specific.mat-elevation-z10{box-shadow:var(--mat-app-elevation-shadow-level-10, none)}.mat-elevation-z11,.mat-mdc-elevation-specific.mat-elevation-z11{box-shadow:var(--mat-app-elevation-shadow-level-11, none)}.mat-elevation-z12,.mat-mdc-elevation-specific.mat-elevation-z12{box-shadow:var(--mat-app-elevation-shadow-level-12, none)}.mat-elevation-z13,.mat-mdc-elevation-specific.mat-elevation-z13{box-shadow:var(--mat-app-elevation-shadow-level-13, none)}.mat-elevation-z14,.mat-mdc-elevation-specific.mat-elevation-z14{box-shadow:var(--mat-app-elevation-shadow-level-14, none)}.mat-elevation-z15,.mat-mdc-elevation-specific.mat-elevation-z15{box-shadow:var(--mat-app-elevation-shadow-level-15, none)}.mat-elevation-z16,.mat-mdc-elevation-specific.mat-elevation-z16{box-shadow:var(--mat-app-elevation-shadow-level-16, none)}.mat-elevation-z17,.mat-mdc-elevation-specific.mat-elevation-z17{box-shadow:var(--mat-app-elevation-shadow-level-17, none)}.mat-elevation-z18,.mat-mdc-elevation-specific.mat-elevation-z18{box-shadow:var(--mat-app-elevation-shadow-level-18, none)}.mat-elevation-z19,.mat-mdc-elevation-specific.mat-elevation-z19{box-shadow:var(--mat-app-elevation-shadow-level-19, none)}.mat-elevation-z20,.mat-mdc-elevation-specific.mat-elevation-z20{box-shadow:var(--mat-app-elevation-shadow-level-20, none)}.mat-elevation-z21,.mat-mdc-elevation-specific.mat-elevation-z21{box-shadow:var(--mat-app-elevation-shadow-level-21, none)}.mat-elevation-z22,.mat-mdc-elevation-specific.mat-elevation-z22{box-shadow:var(--mat-app-elevation-shadow-level-22, none)}.mat-elevation-z23,.mat-mdc-elevation-specific.mat-elevation-z23{box-shadow:var(--mat-app-elevation-shadow-level-23, none)}.mat-elevation-z24,.mat-mdc-elevation-specific.mat-elevation-z24{box-shadow:var(--mat-app-elevation-shadow-level-24, none)}.mat-mdc-tooltip-surface{background-color:#333!important;border-radius:3px!important;color:#fff!important;font:inherit!important;font-size:.8em!important}#ssSearchBar{--mat-app-background-color: #fdfbff;--mat-app-text-color: #1a1b1f;--mat-app-elevation-shadow-level-0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-2: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-3: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-4: 0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-5: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 5px 8px 0px rgba(0, 0, 0, .14), 0px 1px 14px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-6: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-7: 0px 4px 5px -2px rgba(0, 0, 0, .2), 0px 7px 10px 1px rgba(0, 0, 0, .14), 0px 2px 16px 1px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-8: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-9: 0px 5px 6px -3px rgba(0, 0, 0, .2), 0px 9px 12px 1px rgba(0, 0, 0, .14), 0px 3px 16px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-10: 0px 6px 6px -3px rgba(0, 0, 0, .2), 0px 10px 14px 1px rgba(0, 0, 0, .14), 0px 4px 18px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-11: 0px 6px 7px -4px rgba(0, 0, 0, .2), 0px 11px 15px 1px rgba(0, 0, 0, .14), 0px 4px 20px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-12: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-13: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 13px 19px 2px rgba(0, 0, 0, .14), 0px 5px 24px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-14: 0px 7px 9px -4px rgba(0, 0, 0, .2), 0px 14px 21px 2px rgba(0, 0, 0, .14), 0px 5px 26px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-15: 0px 8px 9px -5px rgba(0, 0, 0, .2), 0px 15px 22px 2px rgba(0, 0, 0, .14), 0px 6px 28px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-16: 0px 8px 10px -5px rgba(0, 0, 0, .2), 0px 16px 24px 2px rgba(0, 0, 0, .14), 0px 6px 30px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-17: 0px 8px 11px -5px rgba(0, 0, 0, .2), 0px 17px 26px 2px rgba(0, 0, 0, .14), 0px 6px 32px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-18: 0px 9px 11px -5px rgba(0, 0, 0, .2), 0px 18px 28px 2px rgba(0, 0, 0, .14), 0px 7px 34px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-19: 0px 9px 12px -6px rgba(0, 0, 0, .2), 0px 19px 29px 2px rgba(0, 0, 0, .14), 0px 7px 36px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-20: 0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 20px 31px 3px rgba(0, 0, 0, .14), 0px 8px 38px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-21: 0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 21px 33px 3px rgba(0, 0, 0, .14), 0px 8px 40px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-22: 0px 10px 14px -6px rgba(0, 0, 0, .2), 0px 22px 35px 3px rgba(0, 0, 0, .14), 0px 8px 42px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-23: 0px 11px 14px -7px rgba(0, 0, 0, .2), 0px 23px 36px 3px rgba(0, 0, 0, .14), 0px 9px 44px 8px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-24: 0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12);--mat-ripple-color: rgba(26, 27, 31, .1);--mat-option-selected-state-label-text-color: #131c2b;--mat-option-label-text-color: #1a1b1f;--mat-option-hover-state-layer-color: rgba(26, 27, 31, .08);--mat-option-focus-state-layer-color: rgba(26, 27, 31, .12);--mat-option-selected-state-layer-color: #dae2f9;--mat-option-label-text-font: Roboto, sans-serif;--mat-option-label-text-line-height: 1.25rem;--mat-option-label-text-size: 1rem;--mat-option-label-text-tracking: .006rem;--mat-option-label-text-weight: 400;--mat-optgroup-label-text-color: #44474e;--mat-optgroup-label-text-font: Roboto, sans-serif;--mat-optgroup-label-text-line-height: 1.25rem;--mat-optgroup-label-text-size: .875rem;--mat-optgroup-label-text-tracking: .006rem;--mat-optgroup-label-text-weight: 500;--mat-full-pseudo-checkbox-selected-icon-color: #005cbb;--mat-full-pseudo-checkbox-selected-checkmark-color: #ffffff;--mat-full-pseudo-checkbox-unselected-icon-color: #44474e;--mat-full-pseudo-checkbox-disabled-selected-checkmark-color: #fdfbff;--mat-full-pseudo-checkbox-disabled-unselected-icon-color: rgba(26, 27, 31, .38);--mat-full-pseudo-checkbox-disabled-selected-icon-color: rgba(26, 27, 31, .38);--mat-minimal-pseudo-checkbox-selected-checkmark-color: #005cbb;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: rgba(26, 27, 31, .38);--mdc-elevated-card-container-color: #fdfbff;--mdc-elevated-card-container-elevation: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-elevated-card-container-shape: 12px;--mdc-outlined-card-container-color: #fdfbff;--mdc-outlined-card-outline-color: #c4c6d0;--mdc-outlined-card-container-elevation: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mdc-outlined-card-container-shape: 12px;--mdc-outlined-card-outline-width: 1px;--mat-card-subtitle-text-color: #1a1b1f;--mat-card-title-text-font: Roboto, sans-serif;--mat-card-title-text-line-height: 1.75rem;--mat-card-title-text-size: 1.375rem;--mat-card-title-text-tracking: 0rem;--mat-card-title-text-weight: 400;--mat-card-subtitle-text-font: Roboto, sans-serif;--mat-card-subtitle-text-line-height: 1.5rem;--mat-card-subtitle-text-size: 1rem;--mat-card-subtitle-text-tracking: .009rem;--mat-card-subtitle-text-weight: 500;--mdc-linear-progress-active-indicator-color: #005cbb;--mdc-linear-progress-track-color: #e0e2ec;--mdc-linear-progress-active-indicator-height: 4px;--mdc-linear-progress-track-height: 4px;--mdc-linear-progress-track-shape: 0px;--mdc-plain-tooltip-container-color: #2f3033;--mdc-plain-tooltip-supporting-text-color: #f2f0f4;--mdc-plain-tooltip-supporting-text-line-height: 1rem;--mdc-plain-tooltip-supporting-text-font: Roboto, sans-serif;--mdc-plain-tooltip-supporting-text-size: .75rem;--mdc-plain-tooltip-supporting-text-weight: 400;--mdc-plain-tooltip-supporting-text-tracking: .025rem;--mdc-plain-tooltip-container-shape: 4px;--mdc-filled-text-field-caret-color: #005cbb;--mdc-filled-text-field-focus-active-indicator-color: #005cbb;--mdc-filled-text-field-focus-label-text-color: #005cbb;--mdc-filled-text-field-container-color: #e0e2ec;--mdc-filled-text-field-disabled-container-color: rgba(26, 27, 31, .04);--mdc-filled-text-field-label-text-color: #44474e;--mdc-filled-text-field-hover-label-text-color: #44474e;--mdc-filled-text-field-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-filled-text-field-input-text-color: #1a1b1f;--mdc-filled-text-field-disabled-input-text-color: rgba(26, 27, 31, .38);--mdc-filled-text-field-input-text-placeholder-color: #44474e;--mdc-filled-text-field-error-hover-label-text-color: #410002;--mdc-filled-text-field-error-focus-label-text-color: #ba1a1a;--mdc-filled-text-field-error-label-text-color: #ba1a1a;--mdc-filled-text-field-active-indicator-color: #44474e;--mdc-filled-text-field-disabled-active-indicator-color: rgba(26, 27, 31, .38);--mdc-filled-text-field-hover-active-indicator-color: #1a1b1f;--mdc-filled-text-field-error-active-indicator-color: #ba1a1a;--mdc-filled-text-field-error-focus-active-indicator-color: #ba1a1a;--mdc-filled-text-field-error-hover-active-indicator-color: #410002;--mdc-filled-text-field-label-text-font: Roboto, sans-serif;--mdc-filled-text-field-label-text-size: 1rem;--mdc-filled-text-field-label-text-tracking: .031rem;--mdc-filled-text-field-label-text-weight: 400;--mdc-filled-text-field-active-indicator-height: 1px;--mdc-filled-text-field-focus-active-indicator-height: 2px;--mdc-filled-text-field-container-shape: 4px;--mdc-outlined-text-field-caret-color: #005cbb;--mdc-outlined-text-field-focus-outline-color: #005cbb;--mdc-outlined-text-field-focus-label-text-color: #005cbb;--mdc-outlined-text-field-label-text-color: #44474e;--mdc-outlined-text-field-hover-label-text-color: #1a1b1f;--mdc-outlined-text-field-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-outlined-text-field-input-text-color: #1a1b1f;--mdc-outlined-text-field-disabled-input-text-color: rgba(26, 27, 31, .38);--mdc-outlined-text-field-input-text-placeholder-color: #44474e;--mdc-outlined-text-field-error-focus-label-text-color: #ba1a1a;--mdc-outlined-text-field-error-label-text-color: #ba1a1a;--mdc-outlined-text-field-error-hover-label-text-color: #410002;--mdc-outlined-text-field-outline-color: #74777f;--mdc-outlined-text-field-disabled-outline-color: rgba(26, 27, 31, .12);--mdc-outlined-text-field-hover-outline-color: #1a1b1f;--mdc-outlined-text-field-error-focus-outline-color: #ba1a1a;--mdc-outlined-text-field-error-hover-outline-color: #410002;--mdc-outlined-text-field-error-outline-color: #ba1a1a;--mdc-outlined-text-field-label-text-font: Roboto, sans-serif;--mdc-outlined-text-field-label-text-size: 1rem;--mdc-outlined-text-field-label-text-tracking: .031rem;--mdc-outlined-text-field-label-text-weight: 400;--mdc-outlined-text-field-outline-width: 1px;--mdc-outlined-text-field-focus-outline-width: 2px;--mdc-outlined-text-field-container-shape: 4px;--mat-form-field-focus-select-arrow-color: #005cbb;--mat-form-field-disabled-input-text-placeholder-color: rgba(26, 27, 31, .38);--mat-form-field-state-layer-color: #1a1b1f;--mat-form-field-error-text-color: #ba1a1a;--mat-form-field-select-option-text-color: #1a1b1f;--mat-form-field-select-disabled-option-text-color: rgba(26, 27, 31, .38);--mat-form-field-leading-icon-color: #44474e;--mat-form-field-disabled-leading-icon-color: rgba(26, 27, 31, .38);--mat-form-field-trailing-icon-color: #44474e;--mat-form-field-disabled-trailing-icon-color: rgba(26, 27, 31, .38);--mat-form-field-error-focus-trailing-icon-color: #ba1a1a;--mat-form-field-error-hover-trailing-icon-color: #410002;--mat-form-field-error-trailing-icon-color: #ba1a1a;--mat-form-field-enabled-select-arrow-color: #44474e;--mat-form-field-disabled-select-arrow-color: rgba(26, 27, 31, .38);--mat-form-field-hover-state-layer-opacity: .08;--mat-form-field-container-text-font: Roboto, sans-serif;--mat-form-field-container-text-line-height: 1.5rem;--mat-form-field-container-text-size: 1rem;--mat-form-field-container-text-tracking: .031rem;--mat-form-field-container-text-weight: 400;--mat-form-field-subscript-text-font: Roboto, sans-serif;--mat-form-field-subscript-text-line-height: 1rem;--mat-form-field-subscript-text-size: .75rem;--mat-form-field-subscript-text-tracking: .025rem;--mat-form-field-subscript-text-weight: 400;--mat-form-field-container-height: 56px;--mat-form-field-filled-label-display: block;--mat-form-field-container-vertical-padding: 16px;--mat-form-field-filled-with-label-container-padding-top: 24px;--mat-form-field-filled-with-label-container-padding-bottom: 8px;--mat-form-field-focus-state-layer-opacity: 0;--mat-select-panel-background-color: #efedf1;--mat-select-enabled-trigger-text-color: #1a1b1f;--mat-select-disabled-trigger-text-color: rgba(26, 27, 31, .38);--mat-select-placeholder-text-color: #44474e;--mat-select-enabled-arrow-color: #44474e;--mat-select-disabled-arrow-color: rgba(26, 27, 31, .38);--mat-select-focused-arrow-color: #005cbb;--mat-select-invalid-arrow-color: #ba1a1a;--mat-select-trigger-text-font: Roboto, sans-serif;--mat-select-trigger-text-line-height: 1.5rem;--mat-select-trigger-text-size: 1rem;--mat-select-trigger-text-tracking: .031rem;--mat-select-trigger-text-weight: 400;--mat-select-arrow-transform: translateY(-8px);--mat-select-container-elevation-shadow: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-autocomplete-background-color: #efedf1;--mat-autocomplete-container-shape: 4px;--mat-autocomplete-container-elevation-shadow: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mdc-dialog-container-color: #fdfbff;--mdc-dialog-subhead-color: #1a1b1f;--mdc-dialog-supporting-text-color: #44474e;--mdc-dialog-subhead-font: Roboto, sans-serif;--mdc-dialog-subhead-line-height: 2rem;--mdc-dialog-subhead-size: 1.5rem;--mdc-dialog-subhead-weight: 400;--mdc-dialog-subhead-tracking: 0rem;--mdc-dialog-supporting-text-font: Roboto, sans-serif;--mdc-dialog-supporting-text-line-height: 1.25rem;--mdc-dialog-supporting-text-size: .875rem;--mdc-dialog-supporting-text-weight: 400;--mdc-dialog-supporting-text-tracking: .016rem;--mdc-dialog-container-shape: 28px;--mat-dialog-container-elevation-shadow: none;--mat-dialog-container-max-width: 560px;--mat-dialog-container-small-max-width: calc(100vw - 32px) ;--mat-dialog-container-min-width: 280px;--mat-dialog-actions-alignment: flex-end;--mat-dialog-actions-padding: 16px 24px;--mat-dialog-content-padding: 20px 24px;--mat-dialog-with-actions-content-padding: 20px 24px 0;--mat-dialog-headline-padding: 6px 24px 13px;--mdc-chip-outline-color: #74777f;--mdc-chip-disabled-outline-color: rgba(26, 27, 31, .12);--mdc-chip-focus-outline-color: #44474e;--mdc-chip-hover-state-layer-opacity: .08;--mdc-chip-selected-hover-state-layer-opacity: .08;--mdc-chip-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-chip-elevated-selected-container-color: #dae2f9;--mdc-chip-flat-disabled-selected-container-color: rgba(26, 27, 31, .12);--mdc-chip-focus-state-layer-color: #44474e;--mdc-chip-hover-state-layer-color: #44474e;--mdc-chip-selected-hover-state-layer-color: #131c2b;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-selected-focus-state-layer-color: #131c2b;--mdc-chip-selected-focus-state-layer-opacity: .12;--mdc-chip-label-text-color: #44474e;--mdc-chip-selected-label-text-color: #131c2b;--mdc-chip-with-icon-icon-color: #44474e;--mdc-chip-with-icon-disabled-icon-color: #1a1b1f;--mdc-chip-with-icon-selected-icon-color: #131c2b;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color: #1a1b1f;--mdc-chip-with-trailing-icon-trailing-icon-color: #44474e;--mdc-chip-label-text-font: Roboto, sans-serif;--mdc-chip-label-text-line-height: 1.25rem;--mdc-chip-label-text-size: .875rem;--mdc-chip-label-text-tracking: .006rem;--mdc-chip-label-text-weight: 500;--mdc-chip-container-height: 32px;--mdc-chip-container-shape-radius: 8px;--mdc-chip-with-avatar-avatar-size: 24px;--mdc-chip-with-icon-icon-size: 18px;--mdc-chip-outline-width: 1px;--mdc-chip-with-avatar-disabled-avatar-opacity: .38;--mdc-chip-flat-selected-outline-width: 0;--mdc-chip-with-trailing-icon-disabled-trailing-icon-opacity: .38;--mdc-chip-with-icon-disabled-icon-opacity: .38;--mat-chip-trailing-action-state-layer-color: #44474e;--mat-chip-selected-trailing-action-state-layer-color: #131c2b;--mat-chip-trailing-action-hover-state-layer-opacity: .08;--mat-chip-trailing-action-focus-state-layer-opacity: .12;--mat-chip-selected-disabled-trailing-icon-color: #1a1b1f;--mat-chip-selected-trailing-icon-color: #131c2b;--mat-chip-disabled-container-opacity: 1;--mat-chip-trailing-action-opacity: 1;--mat-chip-trailing-action-focus-opacity: 1;--mdc-switch-selected-focus-state-layer-opacity: .12;--mdc-switch-selected-hover-state-layer-opacity: .08;--mdc-switch-selected-pressed-state-layer-opacity: .12;--mdc-switch-unselected-focus-state-layer-opacity: .12;--mdc-switch-unselected-hover-state-layer-opacity: .08;--mdc-switch-unselected-pressed-state-layer-opacity: .12;--mdc-switch-selected-focus-state-layer-color: #005cbb;--mdc-switch-selected-handle-color: #ffffff;--mdc-switch-selected-hover-state-layer-color: #005cbb;--mdc-switch-selected-pressed-state-layer-color: #005cbb;--mdc-switch-selected-focus-handle-color: #d7e3ff;--mdc-switch-selected-hover-handle-color: #d7e3ff;--mdc-switch-selected-pressed-handle-color: #d7e3ff;--mdc-switch-selected-focus-track-color: #005cbb;--mdc-switch-selected-hover-track-color: #005cbb;--mdc-switch-selected-pressed-track-color: #005cbb;--mdc-switch-selected-track-color: #005cbb;--mdc-switch-disabled-selected-handle-color: #fdfbff;--mdc-switch-disabled-selected-icon-color: #1a1b1f;--mdc-switch-disabled-selected-track-color: #1a1b1f;--mdc-switch-disabled-unselected-handle-color: #1a1b1f;--mdc-switch-disabled-unselected-icon-color: #e0e2ec;--mdc-switch-disabled-unselected-track-color: #e0e2ec;--mdc-switch-selected-icon-color: #001b3f;--mdc-switch-unselected-focus-handle-color: #44474e;--mdc-switch-unselected-focus-state-layer-color: #1a1b1f;--mdc-switch-unselected-focus-track-color: #e0e2ec;--mdc-switch-unselected-handle-color: #74777f;--mdc-switch-unselected-hover-handle-color: #44474e;--mdc-switch-unselected-hover-state-layer-color: #1a1b1f;--mdc-switch-unselected-hover-track-color: #e0e2ec;--mdc-switch-unselected-icon-color: #e0e2ec;--mdc-switch-unselected-pressed-handle-color: #44474e;--mdc-switch-unselected-pressed-state-layer-color: #1a1b1f;--mdc-switch-unselected-pressed-track-color: #e0e2ec;--mdc-switch-unselected-track-color: #e0e2ec;--mdc-switch-disabled-selected-icon-opacity: .38;--mdc-switch-disabled-track-opacity: .12;--mdc-switch-disabled-unselected-icon-opacity: .38;--mdc-switch-handle-shape: 9999px;--mdc-switch-selected-icon-size: 16px;--mdc-switch-track-height: 32px;--mdc-switch-track-shape: 9999px;--mdc-switch-track-width: 52px;--mdc-switch-unselected-icon-size: 16px;--mdc-switch-state-layer-size: 40px;--mat-switch-track-outline-color: #74777f;--mat-switch-disabled-unselected-track-outline-color: #1a1b1f;--mat-switch-label-text-color: #1a1b1f;--mat-switch-label-text-font: Roboto, sans-serif;--mat-switch-label-text-line-height: 1.25rem;--mat-switch-label-text-size: .875rem;--mat-switch-label-text-tracking: .016rem;--mat-switch-label-text-weight: 400;--mat-switch-disabled-selected-handle-opacity: 1;--mat-switch-disabled-unselected-handle-opacity: .38;--mat-switch-unselected-handle-size: 16px;--mat-switch-selected-handle-size: 24px;--mat-switch-pressed-handle-size: 28px;--mat-switch-with-icon-handle-size: 24px;--mat-switch-selected-handle-horizontal-margin: 0 24px;--mat-switch-selected-with-icon-handle-horizontal-margin: 0 24px;--mat-switch-selected-pressed-handle-horizontal-margin: 0 22px;--mat-switch-unselected-handle-horizontal-margin: 0 8px;--mat-switch-unselected-with-icon-handle-horizontal-margin: 0 4px;--mat-switch-unselected-pressed-handle-horizontal-margin: 0 2px;--mat-switch-visible-track-opacity: 1;--mat-switch-hidden-track-opacity: 0;--mat-switch-visible-track-transition: opacity 75ms;--mat-switch-hidden-track-transition: opacity 75ms;--mat-switch-track-outline-width: 2px;--mat-switch-selected-track-outline-width: 2px;--mat-switch-selected-track-outline-color: transparent;--mat-switch-disabled-unselected-track-outline-width: 2px;--mdc-radio-disabled-selected-icon-color: #1a1b1f;--mdc-radio-disabled-unselected-icon-color: #1a1b1f;--mdc-radio-unselected-hover-icon-color: #1a1b1f;--mdc-radio-unselected-icon-color: #44474e;--mdc-radio-unselected-pressed-icon-color: #1a1b1f;--mdc-radio-selected-focus-icon-color: #005cbb;--mdc-radio-selected-hover-icon-color: #005cbb;--mdc-radio-selected-icon-color: #005cbb;--mdc-radio-selected-pressed-icon-color: #005cbb;--mdc-radio-state-layer-size: 40px;--mdc-radio-disabled-selected-icon-opacity: .38;--mdc-radio-disabled-unselected-icon-opacity: .38;--mat-radio-ripple-color: #1a1b1f;--mat-radio-checked-ripple-color: #005cbb;--mat-radio-disabled-label-color: rgba(26, 27, 31, .38);--mat-radio-label-text-color: #1a1b1f;--mat-radio-label-text-font: Roboto, sans-serif;--mat-radio-label-text-line-height: 1.25rem;--mat-radio-label-text-size: .875rem;--mat-radio-label-text-tracking: .016rem;--mat-radio-label-text-weight: 400;--mat-radio-touch-target-display: block;--mdc-slider-handle-color: #005cbb;--mdc-slider-focus-handle-color: #005cbb;--mdc-slider-hover-handle-color: #005cbb;--mdc-slider-active-track-color: #005cbb;--mdc-slider-inactive-track-color: #e0e2ec;--mdc-slider-with-tick-marks-inactive-container-color: #44474e;--mdc-slider-with-tick-marks-active-container-color: #ffffff;--mdc-slider-disabled-active-track-color: #1a1b1f;--mdc-slider-disabled-handle-color: #1a1b1f;--mdc-slider-disabled-inactive-track-color: #1a1b1f;--mdc-slider-label-container-color: #005cbb;--mdc-slider-label-label-text-color: #ffffff;--mdc-slider-with-overlap-handle-outline-color: #ffffff;--mdc-slider-with-tick-marks-disabled-container-color: #1a1b1f;--mdc-slider-handle-elevation: 1;--mdc-slider-handle-shadow-color: #000000;--mdc-slider-label-label-text-font: Roboto, sans-serif;--mdc-slider-label-label-text-size: .75rem;--mdc-slider-label-label-text-line-height: 1rem;--mdc-slider-label-label-text-tracking: .031rem;--mdc-slider-label-label-text-weight: 500;--mdc-slider-active-track-height: 4px;--mdc-slider-active-track-shape: 9999px;--mdc-slider-handle-height: 20px;--mdc-slider-handle-shape: 9999px;--mdc-slider-handle-width: 20px;--mdc-slider-inactive-track-height: 4px;--mdc-slider-inactive-track-shape: 9999px;--mdc-slider-with-overlap-handle-outline-width: 1px;--mdc-slider-with-tick-marks-active-container-opacity: .38;--mdc-slider-with-tick-marks-container-shape: 9999px;--mdc-slider-with-tick-marks-container-size: 2px;--mdc-slider-with-tick-marks-inactive-container-opacity: .38;--mat-slider-ripple-color: #005cbb;--mat-slider-hover-state-layer-color: rgba(0, 92, 187, .05);--mat-slider-focus-state-layer-color: rgba(0, 92, 187, .2);--mat-slider-value-indicator-width: 28px;--mat-slider-value-indicator-height: 28px;--mat-slider-value-indicator-caret-display: none;--mat-slider-value-indicator-border-radius: 50% 50% 50% 0;--mat-slider-value-indicator-padding: 0;--mat-slider-value-indicator-text-transform: rotate(45deg);--mat-slider-value-indicator-container-transform: translateX(-50%) rotate(-45deg);--mat-slider-value-indicator-opacity: 1;--mat-menu-item-label-text-color: #1a1b1f;--mat-menu-item-icon-color: #44474e;--mat-menu-item-hover-state-layer-color: rgba(26, 27, 31, .08);--mat-menu-item-focus-state-layer-color: rgba(26, 27, 31, .12);--mat-menu-container-color: #efedf1;--mat-menu-divider-color: #e0e2ec;--mat-menu-item-label-text-font: Roboto, sans-serif;--mat-menu-item-label-text-size: .875rem;--mat-menu-item-label-text-tracking: .006rem;--mat-menu-item-label-text-line-height: 1.25rem;--mat-menu-item-label-text-weight: 500;--mat-menu-container-shape: 4px;--mat-menu-divider-bottom-spacing: 8px;--mat-menu-divider-top-spacing: 8px;--mat-menu-item-spacing: 12px;--mat-menu-item-icon-size: 24px;--mat-menu-item-leading-spacing: 12px;--mat-menu-item-trailing-spacing: 12px;--mat-menu-item-with-icon-leading-spacing: 12px;--mat-menu-item-with-icon-trailing-spacing: 12px;--mat-menu-base-elevation-level: 2;--mdc-list-list-item-container-color: transparent;--mdc-list-list-item-leading-avatar-color: #d7e3ff;--mdc-list-list-item-disabled-state-layer-color: #1a1b1f;--mdc-list-list-item-disabled-state-layer-opacity: .12;--mdc-list-list-item-label-text-color: #1a1b1f;--mdc-list-list-item-supporting-text-color: #44474e;--mdc-list-list-item-leading-icon-color: #44474e;--mdc-list-list-item-trailing-supporting-text-color: #44474e;--mdc-list-list-item-trailing-icon-color: #44474e;--mdc-list-list-item-selected-trailing-icon-color: #005cbb;--mdc-list-list-item-disabled-label-text-color: #1a1b1f;--mdc-list-list-item-disabled-leading-icon-color: #1a1b1f;--mdc-list-list-item-disabled-trailing-icon-color: #1a1b1f;--mdc-list-list-item-hover-label-text-color: #1a1b1f;--mdc-list-list-item-focus-label-text-color: #1a1b1f;--mdc-list-list-item-hover-state-layer-color: #1a1b1f;--mdc-list-list-item-hover-state-layer-opacity: .08;--mdc-list-list-item-focus-state-layer-color: #1a1b1f;--mdc-list-list-item-focus-state-layer-opacity: .12;--mdc-list-list-item-label-text-font: Roboto, sans-serif;--mdc-list-list-item-label-text-line-height: 1.5rem;--mdc-list-list-item-label-text-size: 1rem;--mdc-list-list-item-label-text-tracking: .031rem;--mdc-list-list-item-label-text-weight: 400;--mdc-list-list-item-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-supporting-text-line-height: 1.25rem;--mdc-list-list-item-supporting-text-size: .875rem;--mdc-list-list-item-supporting-text-tracking: .016rem;--mdc-list-list-item-supporting-text-weight: 400;--mdc-list-list-item-trailing-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-trailing-supporting-text-line-height: 1rem;--mdc-list-list-item-trailing-supporting-text-size: .688rem;--mdc-list-list-item-trailing-supporting-text-tracking: .031rem;--mdc-list-list-item-trailing-supporting-text-weight: 500;--mdc-list-list-item-one-line-container-height: 48px;--mdc-list-list-item-two-line-container-height: 64px;--mdc-list-list-item-three-line-container-height: 88px;--mdc-list-list-item-container-shape: 0px;--mdc-list-list-item-leading-avatar-shape: 9999px;--mdc-list-list-item-leading-icon-size: 24px;--mdc-list-list-item-leading-avatar-size: 40px;--mdc-list-list-item-trailing-icon-size: 24px;--mdc-list-list-item-disabled-label-text-opacity: .3;--mdc-list-list-item-disabled-leading-icon-opacity: .38;--mdc-list-list-item-disabled-trailing-icon-opacity: .38;--mat-list-active-indicator-color: #dae2f9;--mat-list-list-item-leading-icon-start-space: 16px;--mat-list-list-item-leading-icon-end-space: 16px;--mat-list-active-indicator-shape: 9999px;--mat-paginator-container-text-color: #1a1b1f;--mat-paginator-container-background-color: #fdfbff;--mat-paginator-enabled-icon-color: #44474e;--mat-paginator-disabled-icon-color: rgba(26, 27, 31, .38);--mat-paginator-container-text-font: Roboto, sans-serif;--mat-paginator-container-text-line-height: 1rem;--mat-paginator-container-text-size: .75rem;--mat-paginator-container-text-tracking: .025rem;--mat-paginator-container-text-weight: 400;--mat-paginator-select-trigger-text-size: .75rem;--mat-paginator-container-size: 56px;--mat-paginator-form-field-container-height: 40px;--mat-paginator-form-field-container-vertical-padding: 8px;--mat-paginator-touch-target-display: block;--mdc-secondary-navigation-tab-container-height: 48px;--mdc-tab-indicator-active-indicator-color: #005cbb;--mdc-tab-indicator-active-indicator-height: 2px;--mdc-tab-indicator-active-indicator-shape: 0;--mat-tab-header-divider-color: #e0e2ec;--mat-tab-header-pagination-icon-color: #1a1b1f;--mat-tab-header-inactive-label-text-color: #1a1b1f;--mat-tab-header-active-label-text-color: #1a1b1f;--mat-tab-header-active-ripple-color: #1a1b1f;--mat-tab-header-inactive-ripple-color: #1a1b1f;--mat-tab-header-inactive-focus-label-text-color: #1a1b1f;--mat-tab-header-inactive-hover-label-text-color: #1a1b1f;--mat-tab-header-active-focus-label-text-color: #1a1b1f;--mat-tab-header-active-hover-label-text-color: #1a1b1f;--mat-tab-header-active-focus-indicator-color: #005cbb;--mat-tab-header-active-hover-indicator-color: #005cbb;--mat-tab-header-label-text-font: Roboto, sans-serif;--mat-tab-header-label-text-size: .875rem;--mat-tab-header-label-text-tracking: .006rem;--mat-tab-header-label-text-line-height: 1.25rem;--mat-tab-header-label-text-weight: 500;--mat-tab-header-divider-height: 1px;--mdc-checkbox-disabled-selected-checkmark-color: #fdfbff;--mdc-checkbox-selected-focus-state-layer-opacity: .12;--mdc-checkbox-selected-hover-state-layer-opacity: .08;--mdc-checkbox-selected-pressed-state-layer-opacity: .12;--mdc-checkbox-unselected-focus-state-layer-opacity: .12;--mdc-checkbox-unselected-hover-state-layer-opacity: .08;--mdc-checkbox-unselected-pressed-state-layer-opacity: .12;--mdc-checkbox-disabled-selected-icon-color: rgba(26, 27, 31, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(26, 27, 31, .38);--mdc-checkbox-selected-checkmark-color: #ffffff;--mdc-checkbox-selected-focus-icon-color: #005cbb;--mdc-checkbox-selected-hover-icon-color: #005cbb;--mdc-checkbox-selected-icon-color: #005cbb;--mdc-checkbox-unselected-focus-icon-color: #1a1b1f;--mdc-checkbox-unselected-hover-icon-color: #1a1b1f;--mdc-checkbox-unselected-icon-color: #44474e;--mdc-checkbox-selected-focus-state-layer-color: #005cbb;--mdc-checkbox-selected-hover-state-layer-color: #005cbb;--mdc-checkbox-selected-pressed-state-layer-color: #1a1b1f;--mdc-checkbox-unselected-focus-state-layer-color: #1a1b1f;--mdc-checkbox-unselected-hover-state-layer-color: #1a1b1f;--mdc-checkbox-unselected-pressed-state-layer-color: #005cbb;--mdc-checkbox-state-layer-size: 40px;--mat-checkbox-disabled-label-color: rgba(26, 27, 31, .38);--mat-checkbox-label-text-color: #1a1b1f;--mat-checkbox-label-text-font: Roboto, sans-serif;--mat-checkbox-label-text-line-height: 1.25rem;--mat-checkbox-label-text-size: .875rem;--mat-checkbox-label-text-tracking: .016rem;--mat-checkbox-label-text-weight: 400;--mat-checkbox-touch-target-display: block;--mdc-text-button-label-text-color: #005cbb;--mdc-text-button-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-text-button-label-text-font: Roboto, sans-serif;--mdc-text-button-label-text-size: .875rem;--mdc-text-button-label-text-tracking: .006rem;--mdc-text-button-label-text-weight: 500;--mdc-text-button-container-height: 40px;--mdc-text-button-container-shape: 9999px;--mdc-protected-button-container-elevation-shadow: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-protected-button-disabled-container-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mdc-protected-button-focus-container-elevation-shadow: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-protected-button-hover-container-elevation-shadow: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mdc-protected-button-pressed-container-elevation-shadow: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-protected-button-container-color: #fdfbff;--mdc-protected-button-label-text-color: #005cbb;--mdc-protected-button-disabled-container-color: rgba(26, 27, 31, .12);--mdc-protected-button-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-protected-button-label-text-font: Roboto, sans-serif;--mdc-protected-button-label-text-size: .875rem;--mdc-protected-button-label-text-tracking: .006rem;--mdc-protected-button-label-text-weight: 500;--mdc-protected-button-container-height: 40px;--mdc-protected-button-container-shape: 9999px;--mdc-filled-button-container-color: #005cbb;--mdc-filled-button-label-text-color: #ffffff;--mdc-filled-button-disabled-container-color: rgba(26, 27, 31, .12);--mdc-filled-button-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-filled-button-label-text-font: Roboto, sans-serif;--mdc-filled-button-label-text-size: .875rem;--mdc-filled-button-label-text-tracking: .006rem;--mdc-filled-button-label-text-weight: 500;--mdc-filled-button-container-height: 40px;--mdc-filled-button-container-shape: 9999px;--mdc-outlined-button-disabled-outline-color: rgba(26, 27, 31, .12);--mdc-outlined-button-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-outlined-button-label-text-color: #005cbb;--mdc-outlined-button-outline-color: #74777f;--mdc-outlined-button-label-text-font: Roboto, sans-serif;--mdc-outlined-button-label-text-size: .875rem;--mdc-outlined-button-label-text-tracking: .006rem;--mdc-outlined-button-label-text-weight: 500;--mdc-outlined-button-container-height: 40px;--mdc-outlined-button-outline-width: 1px;--mdc-outlined-button-container-shape: 9999px;--mat-text-button-state-layer-color: #005cbb;--mat-text-button-disabled-state-layer-color: #44474e;--mat-text-button-ripple-color: rgba(0, 92, 187, .12);--mat-text-button-hover-state-layer-opacity: .08;--mat-text-button-focus-state-layer-opacity: .12;--mat-text-button-pressed-state-layer-opacity: .12;--mat-text-button-touch-target-display: block;--mat-text-button-horizontal-padding: 12px;--mat-text-button-with-icon-horizontal-padding: 16px;--mat-text-button-icon-spacing: 8px;--mat-text-button-icon-offset: -4px;--mat-protected-button-state-layer-color: #005cbb;--mat-protected-button-disabled-state-layer-color: #44474e;--mat-protected-button-ripple-color: rgba(0, 92, 187, .12);--mat-protected-button-hover-state-layer-opacity: .08;--mat-protected-button-focus-state-layer-opacity: .12;--mat-protected-button-pressed-state-layer-opacity: .12;--mat-protected-button-touch-target-display: block;--mat-protected-button-horizontal-padding: 24px;--mat-protected-button-icon-spacing: 8px;--mat-protected-button-icon-offset: -8px;--mat-filled-button-state-layer-color: #ffffff;--mat-filled-button-disabled-state-layer-color: #44474e;--mat-filled-button-ripple-color: rgba(255, 255, 255, .12);--mat-filled-button-hover-state-layer-opacity: .08;--mat-filled-button-focus-state-layer-opacity: .12;--mat-filled-button-pressed-state-layer-opacity: .12;--mat-filled-button-touch-target-display: block;--mat-filled-button-horizontal-padding: 24px;--mat-filled-button-icon-spacing: 8px;--mat-filled-button-icon-offset: -8px;--mat-outlined-button-state-layer-color: #005cbb;--mat-outlined-button-disabled-state-layer-color: #44474e;--mat-outlined-button-ripple-color: rgba(0, 92, 187, .12);--mat-outlined-button-hover-state-layer-opacity: .08;--mat-outlined-button-focus-state-layer-opacity: .12;--mat-outlined-button-pressed-state-layer-opacity: .12;--mat-outlined-button-touch-target-display: block;--mat-outlined-button-horizontal-padding: 24px;--mat-outlined-button-icon-spacing: 8px;--mat-outlined-button-icon-offset: -8px;--mdc-icon-button-icon-color: #44474e;--mdc-icon-button-disabled-icon-color: rgba(26, 27, 31, .38);--mdc-icon-button-state-layer-size: 40px;--mdc-icon-button-icon-size: 24px;--mat-icon-button-state-layer-color: #44474e;--mat-icon-button-disabled-state-layer-color: #44474e;--mat-icon-button-ripple-color: rgba(68, 71, 78, .12);--mat-icon-button-hover-state-layer-opacity: .08;--mat-icon-button-focus-state-layer-opacity: .12;--mat-icon-button-pressed-state-layer-opacity: .12;--mat-icon-button-touch-target-display: block;--mdc-extended-fab-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-extended-fab-focus-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-extended-fab-hover-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-extended-fab-pressed-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-extended-fab-label-text-font: Roboto, sans-serif;--mdc-extended-fab-label-text-size: .875rem;--mdc-extended-fab-label-text-tracking: .006rem;--mdc-extended-fab-label-text-weight: 500;--mdc-extended-fab-container-height: 56px;--mdc-extended-fab-container-shape: 16px;--mdc-fab-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-focus-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-hover-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-fab-pressed-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-container-color: #d7e3ff;--mdc-fab-container-shape: 16px;--mdc-fab-small-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-small-focus-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-small-hover-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-fab-small-pressed-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-small-container-color: #d7e3ff;--mdc-fab-small-container-shape: 12px;--mat-fab-foreground-color: #001b3f;--mat-fab-state-layer-color: #001b3f;--mat-fab-ripple-color: rgba(0, 27, 63, .12);--mat-fab-hover-state-layer-opacity: .08;--mat-fab-focus-state-layer-opacity: .12;--mat-fab-pressed-state-layer-opacity: .12;--mat-fab-disabled-state-container-color: rgba(26, 27, 31, .12);--mat-fab-disabled-state-foreground-color: rgba(26, 27, 31, .38);--mat-fab-touch-target-display: block;--mat-fab-small-foreground-color: #001b3f;--mat-fab-small-state-layer-color: #001b3f;--mat-fab-small-ripple-color: rgba(0, 27, 63, .12);--mat-fab-small-hover-state-layer-opacity: .08;--mat-fab-small-focus-state-layer-opacity: .12;--mat-fab-small-pressed-state-layer-opacity: .12;--mat-fab-small-disabled-state-container-color: rgba(26, 27, 31, .12);--mat-fab-small-disabled-state-foreground-color: rgba(26, 27, 31, .38);--mdc-snackbar-container-color: #2f3033;--mdc-snackbar-supporting-text-color: #f2f0f4;--mdc-snackbar-supporting-text-font: Roboto, sans-serif;--mdc-snackbar-supporting-text-line-height: 1.25rem;--mdc-snackbar-supporting-text-size: .875rem;--mdc-snackbar-supporting-text-weight: 400;--mdc-snackbar-container-shape: 4px;--mat-snack-bar-button-color: #abc7ff;--mat-table-background-color: #fdfbff;--mat-table-header-headline-color: #1a1b1f;--mat-table-row-item-label-text-color: #1a1b1f;--mat-table-row-item-outline-color: #74777f;--mat-table-header-headline-font: Roboto, sans-serif;--mat-table-header-headline-line-height: 1.25rem;--mat-table-header-headline-size: .875rem;--mat-table-header-headline-weight: 500;--mat-table-header-headline-tracking: .006rem;--mat-table-row-item-label-text-font: Roboto, sans-serif;--mat-table-row-item-label-text-line-height: 1.25rem;--mat-table-row-item-label-text-size: .875rem;--mat-table-row-item-label-text-weight: 400;--mat-table-row-item-label-text-tracking: .016rem;--mat-table-footer-supporting-text-font: Roboto, sans-serif;--mat-table-footer-supporting-text-line-height: 1.25rem;--mat-table-footer-supporting-text-size: .875rem;--mat-table-footer-supporting-text-weight: 400;--mat-table-footer-supporting-text-tracking: .016rem;--mat-table-header-container-height: 56px;--mat-table-footer-container-height: 52px;--mat-table-row-item-container-height: 52px;--mat-table-row-item-outline-width: 1px;--mdc-circular-progress-active-indicator-color: #005cbb;--mdc-circular-progress-active-indicator-width: 4px;--mdc-circular-progress-size: 48px;--mat-badge-background-color: #ba1a1a;--mat-badge-text-color: #ffffff;--mat-badge-disabled-state-background-color: rgba(186, 26, 26, .38);--mat-badge-disabled-state-text-color: #ffffff;--mat-badge-text-font: Roboto, sans-serif;--mat-badge-text-size: .688rem;--mat-badge-text-weight: 500;--mat-badge-large-size-text-size: .688rem;--mat-badge-container-shape: 9999px;--mat-badge-container-size: 16px;--mat-badge-small-size-container-size: 6px;--mat-badge-large-size-container-size: 16px;--mat-badge-legacy-container-size: unset;--mat-badge-legacy-small-size-container-size: unset;--mat-badge-legacy-large-size-container-size: unset;--mat-badge-container-offset: -12px 0;--mat-badge-small-size-container-offset: -6px 0;--mat-badge-large-size-container-offset: -12px 0;--mat-badge-container-overlap-offset: -12px;--mat-badge-small-size-container-overlap-offset: -6px;--mat-badge-large-size-container-overlap-offset: -12px;--mat-badge-container-padding: 0 4px;--mat-badge-small-size-container-padding: 0;--mat-badge-large-size-container-padding: 0 4px;--mat-badge-small-size-text-size: 0;--mat-bottom-sheet-container-text-color: #1a1b1f;--mat-bottom-sheet-container-background-color: #f5f3f7;--mat-bottom-sheet-container-text-font: Roboto, sans-serif;--mat-bottom-sheet-container-text-line-height: 1.5rem;--mat-bottom-sheet-container-text-size: 1rem;--mat-bottom-sheet-container-text-tracking: .031rem;--mat-bottom-sheet-container-text-weight: 400;--mat-bottom-sheet-container-shape: 28px;--mat-standard-button-toggle-hover-state-layer-opacity: .08;--mat-standard-button-toggle-focus-state-layer-opacity: .12;--mat-standard-button-toggle-text-color: #1a1b1f;--mat-standard-button-toggle-state-layer-color: #1a1b1f;--mat-standard-button-toggle-selected-state-background-color: #dae2f9;--mat-standard-button-toggle-selected-state-text-color: #131c2b;--mat-standard-button-toggle-disabled-state-text-color: rgba(26, 27, 31, .38);--mat-standard-button-toggle-disabled-selected-state-text-color: rgba(26, 27, 31, .38);--mat-standard-button-toggle-disabled-selected-state-background-color: rgba(26, 27, 31, .12);--mat-standard-button-toggle-divider-color: #74777f;--mat-standard-button-toggle-label-text-font: Roboto, sans-serif;--mat-standard-button-toggle-label-text-line-height: 1.25rem;--mat-standard-button-toggle-label-text-size: .875rem;--mat-standard-button-toggle-label-text-tracking: .006rem;--mat-standard-button-toggle-label-text-weight: 500;--mat-standard-button-toggle-height: 40px;--mat-standard-button-toggle-shape: 9999px;--mat-standard-button-toggle-background-color: transparent;--mat-standard-button-toggle-disabled-state-background-color: transparent;--mat-datepicker-calendar-date-selected-state-text-color: #ffffff;--mat-datepicker-calendar-date-selected-state-background-color: #005cbb;--mat-datepicker-calendar-date-selected-disabled-state-background-color: rgba(26, 27, 31, .38);--mat-datepicker-calendar-date-today-selected-state-outline-color: #005cbb;--mat-datepicker-calendar-date-focus-state-background-color: rgba(26, 27, 31, .12);--mat-datepicker-calendar-date-hover-state-background-color: rgba(26, 27, 31, .08);--mat-datepicker-toggle-active-state-icon-color: #44474e;--mat-datepicker-calendar-date-in-range-state-background-color: #d7e3ff;--mat-datepicker-calendar-date-in-comparison-range-state-background-color: #d7e3ff;--mat-datepicker-calendar-date-in-overlap-range-state-background-color: #dae2f9;--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color: #565e71;--mat-datepicker-toggle-icon-color: #44474e;--mat-datepicker-calendar-body-label-text-color: #1a1b1f;--mat-datepicker-calendar-period-button-text-color: #44474e;--mat-datepicker-calendar-period-button-icon-color: #44474e;--mat-datepicker-calendar-navigation-button-icon-color: #44474e;--mat-datepicker-calendar-header-text-color: #44474e;--mat-datepicker-calendar-date-today-outline-color: #005cbb;--mat-datepicker-calendar-date-today-disabled-state-outline-color: rgba(26, 27, 31, .38);--mat-datepicker-calendar-date-text-color: #1a1b1f;--mat-datepicker-calendar-date-disabled-state-text-color: rgba(26, 27, 31, .38);--mat-datepicker-calendar-date-preview-state-outline-color: #005cbb;--mat-datepicker-range-input-separator-color: #1a1b1f;--mat-datepicker-range-input-disabled-state-separator-color: rgba(26, 27, 31, .38);--mat-datepicker-range-input-disabled-state-text-color: rgba(26, 27, 31, .38);--mat-datepicker-calendar-container-background-color: #e9e8ec;--mat-datepicker-calendar-container-text-color: #1a1b1f;--mat-datepicker-calendar-text-font: Roboto, sans-serif;--mat-datepicker-calendar-text-size: 1rem;--mat-datepicker-calendar-body-label-text-size: .875rem;--mat-datepicker-calendar-body-label-text-weight: 500;--mat-datepicker-calendar-period-button-text-size: .875rem;--mat-datepicker-calendar-period-button-text-weight: 500;--mat-datepicker-calendar-header-text-size: .875rem;--mat-datepicker-calendar-header-text-weight: 500;--mat-datepicker-calendar-container-shape: 16px;--mat-datepicker-calendar-container-touch-shape: 28px;--mat-datepicker-calendar-container-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-datepicker-calendar-container-touch-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-datepicker-calendar-header-divider-color: transparent;--mat-datepicker-calendar-date-outline-color: transparent;--mat-divider-color: #74777f;--mat-divider-width: 1px;--mat-expansion-container-background-color: #fdfbff;--mat-expansion-container-text-color: #1a1b1f;--mat-expansion-actions-divider-color: #74777f;--mat-expansion-header-hover-state-layer-color: rgba(26, 27, 31, .08);--mat-expansion-header-focus-state-layer-color: rgba(26, 27, 31, .12);--mat-expansion-header-disabled-state-text-color: rgba(26, 27, 31, .38);--mat-expansion-header-text-color: #1a1b1f;--mat-expansion-header-description-color: #44474e;--mat-expansion-header-indicator-color: #44474e;--mat-expansion-header-text-font: Roboto, sans-serif;--mat-expansion-header-text-size: 1rem;--mat-expansion-header-text-weight: 500;--mat-expansion-header-text-line-height: 1.5rem;--mat-expansion-header-text-tracking: .009rem;--mat-expansion-container-text-font: Roboto, sans-serif;--mat-expansion-container-text-line-height: 1.5rem;--mat-expansion-container-text-size: 1rem;--mat-expansion-container-text-tracking: .031rem;--mat-expansion-container-text-weight: 400;--mat-expansion-header-collapsed-state-height: 48px;--mat-expansion-header-expanded-state-height: 64px;--mat-expansion-container-shape: 12px;--mat-expansion-legacy-header-indicator-display: none;--mat-expansion-header-indicator-display: inline-block;--mat-grid-list-tile-header-primary-text-size: 400 1rem / 1.5rem Roboto, sans-serif;--mat-grid-list-tile-header-secondary-text-size: 400 .875rem / 1.25rem Roboto, sans-serif;--mat-grid-list-tile-footer-primary-text-size: 400 1rem / 1.5rem Roboto, sans-serif;--mat-grid-list-tile-footer-secondary-text-size: 400 .875rem / 1.25rem Roboto, sans-serif;--mat-icon-color: inherit;--mat-sidenav-container-background-color: #fdfbff;--mat-sidenav-container-text-color: #44474e;--mat-sidenav-content-background-color: #fdfbff;--mat-sidenav-content-text-color: #1a1b1f;--mat-sidenav-scrim-color: rgba(45, 48, 56, .4);--mat-sidenav-container-shape: 16px;--mat-sidenav-container-elevation-shadow: none;--mat-sidenav-container-width: 360px;--mat-sidenav-container-divider-color: transparent;--mat-stepper-header-icon-foreground-color: #fdfbff;--mat-stepper-header-selected-state-icon-background-color: #005cbb;--mat-stepper-header-selected-state-icon-foreground-color: #ffffff;--mat-stepper-header-edit-state-icon-background-color: #005cbb;--mat-stepper-header-edit-state-icon-foreground-color: #ffffff;--mat-stepper-container-color: #fdfbff;--mat-stepper-line-color: #74777f;--mat-stepper-header-hover-state-layer-color: rgba(47, 48, 51, .08);--mat-stepper-header-focus-state-layer-color: rgba(47, 48, 51, .12);--mat-stepper-header-label-text-color: #44474e;--mat-stepper-header-optional-label-text-color: #44474e;--mat-stepper-header-selected-state-label-text-color: #44474e;--mat-stepper-header-error-state-label-text-color: #ba1a1a;--mat-stepper-header-icon-background-color: #44474e;--mat-stepper-header-error-state-icon-foreground-color: #ba1a1a;--mat-stepper-container-text-font: Roboto, sans-serif;--mat-stepper-header-label-text-font: Roboto, sans-serif;--mat-stepper-header-label-text-size: .875rem;--mat-stepper-header-label-text-weight: 500;--mat-stepper-header-error-state-label-text-size: .875rem;--mat-stepper-header-selected-state-label-text-size: .875rem;--mat-stepper-header-selected-state-label-text-weight: 500;--mat-stepper-header-height: 72px;--mat-stepper-header-focus-state-layer-shape: 12px;--mat-stepper-header-hover-state-layer-shape: 12px;--mat-stepper-header-error-state-icon-background-color: transparent;--mat-sort-arrow-color: #1a1b1f;--mat-toolbar-container-background-color: #fdfbff;--mat-toolbar-container-text-color: #1a1b1f;--mat-toolbar-title-text-font: Roboto, sans-serif;--mat-toolbar-title-text-line-height: 1.75rem;--mat-toolbar-title-text-size: 1.375rem;--mat-toolbar-title-text-tracking: 0rem;--mat-toolbar-title-text-weight: 400;--mat-toolbar-standard-height: 64px;--mat-toolbar-mobile-height: 56px;--mat-tree-container-background-color: #fdfbff;--mat-tree-node-text-color: #1a1b1f;--mat-tree-node-text-font: Roboto, sans-serif;--mat-tree-node-text-size: 1rem;--mat-tree-node-text-weight: 400;--mat-tree-node-min-height: 48px;display:flex;align-items:flex-start;flex-wrap:wrap;position:relative;color:#444}.mat-theme-loaded-marker{display:none}#ssSearchBar .tabs{display:flex;width:100%;margin-bottom:-1px;z-index:10}#ssSearchBar .tabs .ss-tab{border-radius:4px 4px 0 0;border:#b7b7b7 solid 1px;border-color:#6892ca;border-bottom:none;padding:.3em 1.4em;font-size:.94em;letter-spacing:.4px;font-weight:600;background-color:#4070b0;color:#fff;white-space:nowrap;position:relative}#ssSearchBar .tabs .ss-tab:after{content:\"\";height:1px;width:calc(100% + 2px);position:absolute;bottom:0;left:-1px;background-color:#b7b7b7}#ssSearchBar .tabs .ss-tab:hover{background-color:#6892ca}#ssSearchBar .tabs .ss-tab.ss-active{color:#002e5d;margin-bottom:1px;border-color:#b7b7b7;background-color:#fffffff2}#ssSearchBar .tabs .ss-tab.ss-active:after{display:none}#ssSearchBar .tabs .ss-tab:disabled{cursor:auto}#ssSearchBar .tabs .tab-spacer{width:.3em;border-bottom:#b7b7b7 solid 1px}#ssSearchBar .tabs .tab-spacer.full{width:100%;margin-right:4px;position:relative}#ssSearchBar .ss-adv-search-text{padding-bottom:1em;padding-right:2rem;pointer-events:none}#ssSearchBar .ss-bar-wrapper{padding:1em 1em .25em;border-right:#b7b7b7 solid 1px;border-left:#b7b7b7 solid 1px;border-bottom:#b7b7b7 solid 1px;width:100%;display:flex;align-items:center;flex-wrap:wrap;position:relative;background-color:#fffffff2;border-radius:0 4px 4px;overflow:hidden}#ssSearchBar .ss-bar-wrapper:after{content:\"\";position:absolute;top:0;right:-1px;background-color:transparent;border-radius:0 4px 0 0;width:4px;height:4px;border-top:#b7b7b7 solid 1px;border-right:#b7b7b7 solid 1px}#ssSearchBar .ss-bar-content{position:relative;width:100%;height:initial}#ssSearchBar .ss-search-bar{border-radius:4px;border:#b7b7b7 solid 1px;width:100%}#ssSearchBar #advSearchCloseBtn{float:right;padding:.4em;margin:-.4em 0;color:#666;transition:all .1s}#ssSearchBar #advSearchCloseBtn:hover{color:#292929}#ssSearchBar #advSearchCloseBtn .ss-icon{font-size:1.2em;font-weight:600}#ssSearchBar .ss-adv-search-btn{font-size:.9em;color:#4070b0;margin:.2em 4em 0 auto;padding-right:.4rem;display:flex;justify-content:center;align-items:center}#ssSearchBar .ss-adv-search-btn .ss-icon{font-size:1.4em;opacity:.75;margin-top:.2rem}#ssSearchBar .ss-adv-search-btn:hover{color:#6892ca}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SsAdvancedQueriesPipe, name: "ssAdvancedQueries" }, { kind: "component", type: AdvancedSearchComponent, selector: "lib-ss-advanced-search", inputs: ["config"], outputs: ["advancedSearch"] }, { kind: "component", type: SimpleSearchComponent, selector: "lib-ss-simple-search", inputs: ["config"], outputs: ["simpleSearch", "clearSimpleSearch"] }, { kind: "pipe", type: AdvancedFieldWarningPipe, name: "advancedFieldWarning" }], animations: [libHbllExpandCollapse], encapsulation: i0.ViewEncapsulation.None }); }
2006
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: SsSearchBarComponent, isStandalone: true, selector: "lib-ss-search-bar", inputs: { config: "config" }, outputs: { simpleSearch: "simpleSearch", clearSimpleSearch: "clearSimpleSearch", advancedSearch: "advancedSearch", advancedSearchClosed: "advancedSearchClosed", advancedSearchOpen: "advancedSearchOpen", tabChange: "tabChange" }, providers: [FieldByScopePipe], viewQueries: [{ propertyName: "barWrapperRef", first: true, predicate: ["barWrapperRef"], descendants: true }], ngImport: i0, template: "<div id=\"ssSearchBar\">\n <div class=\"tabs\">\n <button\n (click)=\"emitTabChange('local')\"\n class=\"ss-tab\"\n id=\"localTab\"\n [ngClass]=\"{\n 'ss-active': config.scope === 'local',\n ensign: config.institution === 'ensign' && config.scope !== 'local',\n }\"\n data-testid=\"localTab\"\n [disabled]=\"config.scope === 'local'\"\n >\n In the Library\n </button>\n @if (config.institution !== 'law') {\n <div class=\"tab-spacer\"></div>\n <button\n (click)=\"emitTabChange('external')\"\n class=\"ss-tab\"\n id=\"externalTab\"\n [ngClass]=\"{\n 'ss-active': config.scope === 'external',\n ensign: config.institution === 'ensign' && config.scope !== 'external',\n }\"\n data-testid=\"externalTab\"\n [disabled]=\"config.scope === 'external'\"\n >\n Available Online\n </button>\n }\n <div class=\"tab-spacer full\"></div>\n </div>\n <div\n class=\"ss-bar-wrapper\"\n #barWrapperRef\n [@libHbllExpandCollapse]=\"{\n value: config.showAdvancedSearch ? (!config.showAdvancedSearchAsText ? 1 : 2) : 3,\n params: { startHeight: heightOfContainer },\n }\"\n >\n <div class=\"ss-bar-content\" data-testid=\"searchForm\">\n @if (!config.showAdvancedSearch) {\n <div class=\"ss-search-bar\">\n <lib-ss-simple-search\n [config]=\"config\"\n (simpleSearch)=\"emitSimpleSearch($event)\"\n (clearSimpleSearch)=\"emitClearSimpleSearch()\"\n ></lib-ss-simple-search>\n </div>\n } @else {\n <button\n id=\"advSearchCloseBtn\"\n (click)=\"emitAdvancedSearchClosed()\"\n data-testid=\"advSearchCloseBtn\"\n >\n <span class=\"material-symbols-outlined ss-icon\"> close </span>\n </button>\n <div id=\"advSearchWrapper\">\n @if (config.showAdvancedSearch && !config.showAdvancedSearchAsText) {\n <div>\n <lib-ss-advanced-search\n [config]=\"config\"\n (advancedSearch)=\"emitAdvancedSearch($event)\"\n ></lib-ss-advanced-search>\n </div>\n } @else {\n <div\n class=\"ss-adv-search-text\"\n data-testid=\"advancedSearchText\"\n [innerHTML]=\"\n config.advancedSearchQueryRows | ssAdvancedQueries: config.scope\n \"\n ></div>\n <div\n [innerHTML]=\"\n config.advancedSearchQueryRows | advancedFieldWarning: config.scope\n \"\n ></div>\n }\n </div>\n }\n </div>\n @if (!config.showAdvancedSearch || config.showAdvancedSearchAsText) {\n <button\n data-testid=\"toggleAdvSearchButton\"\n class=\"ss-adv-search-btn\"\n id=\"advSearchBtn\"\n (click)=\"emitAdvancedSearchOpen()\"\n >\n Advanced\n <span class=\"material-symbols-outlined ss-icon\"> keyboard_arrow_down </span>\n </button>\n }\n </div>\n</div>\n", styles: ["#ssSearchBar .tabs .ss-tab.ensign{background-color:#2b6042!important;border-color:#2a6142}#ssSearchBar .tabs .ss-tab.ensign:hover{background-color:#357551!important}a,button{border:none;background:none;font-family:inherit;padding:0;margin:0;font-size:inherit;color:#1c7ec9;text-decoration:none;cursor:pointer}a:hover,button:hover{color:#8ab6f0}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element,.cdk-drag-preview .mat-ripple-element,.cdk-drag-placeholder .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, var(--mat-app-background, transparent));color:var(--mat-app-text-color, var(--mat-app-on-background, inherit))}.mat-elevation-z0,.mat-mdc-elevation-specific.mat-elevation-z0{box-shadow:var(--mat-app-elevation-shadow-level-0, none)}.mat-elevation-z1,.mat-mdc-elevation-specific.mat-elevation-z1{box-shadow:var(--mat-app-elevation-shadow-level-1, none)}.mat-elevation-z2,.mat-mdc-elevation-specific.mat-elevation-z2{box-shadow:var(--mat-app-elevation-shadow-level-2, none)}.mat-elevation-z3,.mat-mdc-elevation-specific.mat-elevation-z3{box-shadow:var(--mat-app-elevation-shadow-level-3, none)}.mat-elevation-z4,.mat-mdc-elevation-specific.mat-elevation-z4{box-shadow:var(--mat-app-elevation-shadow-level-4, none)}.mat-elevation-z5,.mat-mdc-elevation-specific.mat-elevation-z5{box-shadow:var(--mat-app-elevation-shadow-level-5, none)}.mat-elevation-z6,.mat-mdc-elevation-specific.mat-elevation-z6{box-shadow:var(--mat-app-elevation-shadow-level-6, none)}.mat-elevation-z7,.mat-mdc-elevation-specific.mat-elevation-z7{box-shadow:var(--mat-app-elevation-shadow-level-7, none)}.mat-elevation-z8,.mat-mdc-elevation-specific.mat-elevation-z8{box-shadow:var(--mat-app-elevation-shadow-level-8, none)}.mat-elevation-z9,.mat-mdc-elevation-specific.mat-elevation-z9{box-shadow:var(--mat-app-elevation-shadow-level-9, none)}.mat-elevation-z10,.mat-mdc-elevation-specific.mat-elevation-z10{box-shadow:var(--mat-app-elevation-shadow-level-10, none)}.mat-elevation-z11,.mat-mdc-elevation-specific.mat-elevation-z11{box-shadow:var(--mat-app-elevation-shadow-level-11, none)}.mat-elevation-z12,.mat-mdc-elevation-specific.mat-elevation-z12{box-shadow:var(--mat-app-elevation-shadow-level-12, none)}.mat-elevation-z13,.mat-mdc-elevation-specific.mat-elevation-z13{box-shadow:var(--mat-app-elevation-shadow-level-13, none)}.mat-elevation-z14,.mat-mdc-elevation-specific.mat-elevation-z14{box-shadow:var(--mat-app-elevation-shadow-level-14, none)}.mat-elevation-z15,.mat-mdc-elevation-specific.mat-elevation-z15{box-shadow:var(--mat-app-elevation-shadow-level-15, none)}.mat-elevation-z16,.mat-mdc-elevation-specific.mat-elevation-z16{box-shadow:var(--mat-app-elevation-shadow-level-16, none)}.mat-elevation-z17,.mat-mdc-elevation-specific.mat-elevation-z17{box-shadow:var(--mat-app-elevation-shadow-level-17, none)}.mat-elevation-z18,.mat-mdc-elevation-specific.mat-elevation-z18{box-shadow:var(--mat-app-elevation-shadow-level-18, none)}.mat-elevation-z19,.mat-mdc-elevation-specific.mat-elevation-z19{box-shadow:var(--mat-app-elevation-shadow-level-19, none)}.mat-elevation-z20,.mat-mdc-elevation-specific.mat-elevation-z20{box-shadow:var(--mat-app-elevation-shadow-level-20, none)}.mat-elevation-z21,.mat-mdc-elevation-specific.mat-elevation-z21{box-shadow:var(--mat-app-elevation-shadow-level-21, none)}.mat-elevation-z22,.mat-mdc-elevation-specific.mat-elevation-z22{box-shadow:var(--mat-app-elevation-shadow-level-22, none)}.mat-elevation-z23,.mat-mdc-elevation-specific.mat-elevation-z23{box-shadow:var(--mat-app-elevation-shadow-level-23, none)}.mat-elevation-z24,.mat-mdc-elevation-specific.mat-elevation-z24{box-shadow:var(--mat-app-elevation-shadow-level-24, none)}.mat-mdc-tooltip-surface{background-color:#333!important;border-radius:3px!important;color:#fff!important;font:inherit!important;font-size:.8em!important}#ssSearchBar{--mat-app-background-color: #faf9fd;--mat-app-text-color: #1a1b1f;--mat-app-elevation-shadow-level-0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-2: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-3: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-4: 0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-5: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 5px 8px 0px rgba(0, 0, 0, .14), 0px 1px 14px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-6: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-7: 0px 4px 5px -2px rgba(0, 0, 0, .2), 0px 7px 10px 1px rgba(0, 0, 0, .14), 0px 2px 16px 1px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-8: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-9: 0px 5px 6px -3px rgba(0, 0, 0, .2), 0px 9px 12px 1px rgba(0, 0, 0, .14), 0px 3px 16px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-10: 0px 6px 6px -3px rgba(0, 0, 0, .2), 0px 10px 14px 1px rgba(0, 0, 0, .14), 0px 4px 18px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-11: 0px 6px 7px -4px rgba(0, 0, 0, .2), 0px 11px 15px 1px rgba(0, 0, 0, .14), 0px 4px 20px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-12: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-13: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 13px 19px 2px rgba(0, 0, 0, .14), 0px 5px 24px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-14: 0px 7px 9px -4px rgba(0, 0, 0, .2), 0px 14px 21px 2px rgba(0, 0, 0, .14), 0px 5px 26px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-15: 0px 8px 9px -5px rgba(0, 0, 0, .2), 0px 15px 22px 2px rgba(0, 0, 0, .14), 0px 6px 28px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-16: 0px 8px 10px -5px rgba(0, 0, 0, .2), 0px 16px 24px 2px rgba(0, 0, 0, .14), 0px 6px 30px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-17: 0px 8px 11px -5px rgba(0, 0, 0, .2), 0px 17px 26px 2px rgba(0, 0, 0, .14), 0px 6px 32px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-18: 0px 9px 11px -5px rgba(0, 0, 0, .2), 0px 18px 28px 2px rgba(0, 0, 0, .14), 0px 7px 34px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-19: 0px 9px 12px -6px rgba(0, 0, 0, .2), 0px 19px 29px 2px rgba(0, 0, 0, .14), 0px 7px 36px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-20: 0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 20px 31px 3px rgba(0, 0, 0, .14), 0px 8px 38px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-21: 0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 21px 33px 3px rgba(0, 0, 0, .14), 0px 8px 40px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-22: 0px 10px 14px -6px rgba(0, 0, 0, .2), 0px 22px 35px 3px rgba(0, 0, 0, .14), 0px 8px 42px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-23: 0px 11px 14px -7px rgba(0, 0, 0, .2), 0px 23px 36px 3px rgba(0, 0, 0, .14), 0px 9px 44px 8px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-24: 0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12);--mat-ripple-color: rgba(26, 27, 31, .1);--mat-option-selected-state-label-text-color: #131c2b;--mat-option-label-text-color: #1a1b1f;--mat-option-hover-state-layer-color: rgba(26, 27, 31, .08);--mat-option-focus-state-layer-color: rgba(26, 27, 31, .12);--mat-option-selected-state-layer-color: #dae2f9;--mat-option-label-text-font: Roboto, sans-serif;--mat-option-label-text-line-height: 1.25rem;--mat-option-label-text-size: 1rem;--mat-option-label-text-tracking: .006rem;--mat-option-label-text-weight: 400;--mat-optgroup-label-text-color: #44474e;--mat-optgroup-label-text-font: Roboto, sans-serif;--mat-optgroup-label-text-line-height: 1.25rem;--mat-optgroup-label-text-size: .875rem;--mat-optgroup-label-text-tracking: .006rem;--mat-optgroup-label-text-weight: 500;--mat-full-pseudo-checkbox-selected-icon-color: #005cbb;--mat-full-pseudo-checkbox-selected-checkmark-color: #ffffff;--mat-full-pseudo-checkbox-unselected-icon-color: #44474e;--mat-full-pseudo-checkbox-disabled-selected-checkmark-color: #faf9fd;--mat-full-pseudo-checkbox-disabled-unselected-icon-color: rgba(26, 27, 31, .38);--mat-full-pseudo-checkbox-disabled-selected-icon-color: rgba(26, 27, 31, .38);--mat-minimal-pseudo-checkbox-selected-checkmark-color: #005cbb;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: rgba(26, 27, 31, .38);--mdc-elevated-card-container-color: #faf9fd;--mdc-elevated-card-container-elevation: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-elevated-card-container-shape: 12px;--mdc-outlined-card-container-color: #faf9fd;--mdc-outlined-card-outline-color: #c4c6d0;--mdc-outlined-card-container-elevation: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mdc-outlined-card-container-shape: 12px;--mdc-outlined-card-outline-width: 1px;--mat-card-subtitle-text-color: #1a1b1f;--mat-card-title-text-font: Roboto, sans-serif;--mat-card-title-text-line-height: 1.75rem;--mat-card-title-text-size: 1.375rem;--mat-card-title-text-tracking: 0;--mat-card-title-text-weight: 400;--mat-card-subtitle-text-font: Roboto, sans-serif;--mat-card-subtitle-text-line-height: 1.5rem;--mat-card-subtitle-text-size: 1rem;--mat-card-subtitle-text-tracking: .009rem;--mat-card-subtitle-text-weight: 500;--mdc-linear-progress-active-indicator-color: #005cbb;--mdc-linear-progress-track-color: #e0e2ec;--mdc-linear-progress-active-indicator-height: 4px;--mdc-linear-progress-track-height: 4px;--mdc-linear-progress-track-shape: 0;--mdc-plain-tooltip-container-color: #2f3033;--mdc-plain-tooltip-supporting-text-color: #f2f0f4;--mdc-plain-tooltip-supporting-text-line-height: 1rem;--mdc-plain-tooltip-supporting-text-font: Roboto, sans-serif;--mdc-plain-tooltip-supporting-text-size: .75rem;--mdc-plain-tooltip-supporting-text-weight: 400;--mdc-plain-tooltip-supporting-text-tracking: .025rem;--mdc-plain-tooltip-container-shape: 4px;--mdc-filled-text-field-caret-color: #005cbb;--mdc-filled-text-field-focus-active-indicator-color: #005cbb;--mdc-filled-text-field-focus-label-text-color: #005cbb;--mdc-filled-text-field-container-color: #e0e2ec;--mdc-filled-text-field-disabled-container-color: rgba(26, 27, 31, .04);--mdc-filled-text-field-label-text-color: #44474e;--mdc-filled-text-field-hover-label-text-color: #44474e;--mdc-filled-text-field-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-filled-text-field-input-text-color: #1a1b1f;--mdc-filled-text-field-disabled-input-text-color: rgba(26, 27, 31, .38);--mdc-filled-text-field-input-text-placeholder-color: #44474e;--mdc-filled-text-field-error-hover-label-text-color: #410002;--mdc-filled-text-field-error-focus-label-text-color: #ba1a1a;--mdc-filled-text-field-error-label-text-color: #ba1a1a;--mdc-filled-text-field-active-indicator-color: #44474e;--mdc-filled-text-field-disabled-active-indicator-color: rgba(26, 27, 31, .38);--mdc-filled-text-field-hover-active-indicator-color: #1a1b1f;--mdc-filled-text-field-error-active-indicator-color: #ba1a1a;--mdc-filled-text-field-error-focus-active-indicator-color: #ba1a1a;--mdc-filled-text-field-error-hover-active-indicator-color: #410002;--mdc-filled-text-field-label-text-font: Roboto, sans-serif;--mdc-filled-text-field-label-text-size: 1rem;--mdc-filled-text-field-label-text-tracking: .031rem;--mdc-filled-text-field-label-text-weight: 400;--mdc-filled-text-field-active-indicator-height: 1px;--mdc-filled-text-field-focus-active-indicator-height: 2px;--mdc-filled-text-field-container-shape: 4px;--mdc-outlined-text-field-caret-color: #005cbb;--mdc-outlined-text-field-focus-outline-color: #005cbb;--mdc-outlined-text-field-focus-label-text-color: #005cbb;--mdc-outlined-text-field-label-text-color: #44474e;--mdc-outlined-text-field-hover-label-text-color: #1a1b1f;--mdc-outlined-text-field-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-outlined-text-field-input-text-color: #1a1b1f;--mdc-outlined-text-field-disabled-input-text-color: rgba(26, 27, 31, .38);--mdc-outlined-text-field-input-text-placeholder-color: #44474e;--mdc-outlined-text-field-error-focus-label-text-color: #ba1a1a;--mdc-outlined-text-field-error-label-text-color: #ba1a1a;--mdc-outlined-text-field-error-hover-label-text-color: #410002;--mdc-outlined-text-field-outline-color: #74777f;--mdc-outlined-text-field-disabled-outline-color: rgba(26, 27, 31, .12);--mdc-outlined-text-field-hover-outline-color: #1a1b1f;--mdc-outlined-text-field-error-focus-outline-color: #ba1a1a;--mdc-outlined-text-field-error-hover-outline-color: #410002;--mdc-outlined-text-field-error-outline-color: #ba1a1a;--mdc-outlined-text-field-label-text-font: Roboto, sans-serif;--mdc-outlined-text-field-label-text-size: 1rem;--mdc-outlined-text-field-label-text-tracking: .031rem;--mdc-outlined-text-field-label-text-weight: 400;--mdc-outlined-text-field-outline-width: 1px;--mdc-outlined-text-field-focus-outline-width: 2px;--mdc-outlined-text-field-container-shape: 4px;--mat-form-field-focus-select-arrow-color: #005cbb;--mat-form-field-disabled-input-text-placeholder-color: rgba(26, 27, 31, .38);--mat-form-field-state-layer-color: #1a1b1f;--mat-form-field-error-text-color: #ba1a1a;--mat-form-field-select-option-text-color: #1a1b1f;--mat-form-field-select-disabled-option-text-color: rgba(26, 27, 31, .38);--mat-form-field-leading-icon-color: #44474e;--mat-form-field-disabled-leading-icon-color: rgba(26, 27, 31, .38);--mat-form-field-trailing-icon-color: #44474e;--mat-form-field-disabled-trailing-icon-color: rgba(26, 27, 31, .38);--mat-form-field-error-focus-trailing-icon-color: #ba1a1a;--mat-form-field-error-hover-trailing-icon-color: #410002;--mat-form-field-error-trailing-icon-color: #ba1a1a;--mat-form-field-enabled-select-arrow-color: #44474e;--mat-form-field-disabled-select-arrow-color: rgba(26, 27, 31, .38);--mat-form-field-hover-state-layer-opacity: .08;--mat-form-field-container-text-font: Roboto, sans-serif;--mat-form-field-container-text-line-height: 1.5rem;--mat-form-field-container-text-size: 1rem;--mat-form-field-container-text-tracking: .031rem;--mat-form-field-container-text-weight: 400;--mat-form-field-subscript-text-font: Roboto, sans-serif;--mat-form-field-subscript-text-line-height: 1rem;--mat-form-field-subscript-text-size: .75rem;--mat-form-field-subscript-text-tracking: .025rem;--mat-form-field-subscript-text-weight: 400;--mat-form-field-container-height: 56px;--mat-form-field-filled-label-display: block;--mat-form-field-container-vertical-padding: 16px;--mat-form-field-filled-with-label-container-padding-top: 24px;--mat-form-field-filled-with-label-container-padding-bottom: 8px;--mat-form-field-focus-state-layer-opacity: 0;--mat-select-panel-background-color: #efedf0;--mat-select-enabled-trigger-text-color: #1a1b1f;--mat-select-disabled-trigger-text-color: rgba(26, 27, 31, .38);--mat-select-placeholder-text-color: #44474e;--mat-select-enabled-arrow-color: #44474e;--mat-select-disabled-arrow-color: rgba(26, 27, 31, .38);--mat-select-focused-arrow-color: #005cbb;--mat-select-invalid-arrow-color: #ba1a1a;--mat-select-trigger-text-font: Roboto, sans-serif;--mat-select-trigger-text-line-height: 1.5rem;--mat-select-trigger-text-size: 1rem;--mat-select-trigger-text-tracking: .031rem;--mat-select-trigger-text-weight: 400;--mat-select-arrow-transform: translateY(-8px);--mat-select-container-elevation-shadow: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-autocomplete-background-color: #efedf0;--mat-autocomplete-container-shape: 4px;--mat-autocomplete-container-elevation-shadow: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mdc-dialog-container-color: #faf9fd;--mdc-dialog-subhead-color: #1a1b1f;--mdc-dialog-supporting-text-color: #44474e;--mdc-dialog-subhead-font: Roboto, sans-serif;--mdc-dialog-subhead-line-height: 2rem;--mdc-dialog-subhead-size: 1.5rem;--mdc-dialog-subhead-weight: 400;--mdc-dialog-subhead-tracking: 0;--mdc-dialog-supporting-text-font: Roboto, sans-serif;--mdc-dialog-supporting-text-line-height: 1.25rem;--mdc-dialog-supporting-text-size: .875rem;--mdc-dialog-supporting-text-weight: 400;--mdc-dialog-supporting-text-tracking: .016rem;--mdc-dialog-container-shape: 28px;--mat-dialog-container-elevation-shadow: none;--mat-dialog-container-max-width: 560px;--mat-dialog-container-small-max-width: calc(100vw - 32px) ;--mat-dialog-container-min-width: 280px;--mat-dialog-actions-alignment: flex-end;--mat-dialog-actions-padding: 16px 24px;--mat-dialog-content-padding: 20px 24px;--mat-dialog-with-actions-content-padding: 20px 24px 0;--mat-dialog-headline-padding: 6px 24px 13px;--mdc-chip-outline-color: #74777f;--mdc-chip-disabled-outline-color: rgba(26, 27, 31, .12);--mdc-chip-focus-outline-color: #44474e;--mdc-chip-hover-state-layer-opacity: .08;--mdc-chip-selected-hover-state-layer-opacity: .08;--mdc-chip-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-chip-elevated-selected-container-color: #dae2f9;--mdc-chip-flat-disabled-selected-container-color: rgba(26, 27, 31, .12);--mdc-chip-focus-state-layer-color: #44474e;--mdc-chip-hover-state-layer-color: #44474e;--mdc-chip-selected-hover-state-layer-color: #131c2b;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-selected-focus-state-layer-color: #131c2b;--mdc-chip-selected-focus-state-layer-opacity: .12;--mdc-chip-label-text-color: #44474e;--mdc-chip-selected-label-text-color: #131c2b;--mdc-chip-with-icon-icon-color: #44474e;--mdc-chip-with-icon-disabled-icon-color: #1a1b1f;--mdc-chip-with-icon-selected-icon-color: #131c2b;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color: #1a1b1f;--mdc-chip-with-trailing-icon-trailing-icon-color: #44474e;--mdc-chip-label-text-font: Roboto, sans-serif;--mdc-chip-label-text-line-height: 1.25rem;--mdc-chip-label-text-size: .875rem;--mdc-chip-label-text-tracking: .006rem;--mdc-chip-label-text-weight: 500;--mdc-chip-container-height: 32px;--mdc-chip-container-shape-radius: 8px;--mdc-chip-with-avatar-avatar-shape-radius: 24px;--mdc-chip-with-avatar-avatar-size: 24px;--mdc-chip-with-icon-icon-size: 18px;--mdc-chip-outline-width: 1px;--mdc-chip-with-avatar-disabled-avatar-opacity: .38;--mdc-chip-flat-selected-outline-width: 0;--mdc-chip-with-trailing-icon-disabled-trailing-icon-opacity: .38;--mdc-chip-with-icon-disabled-icon-opacity: .38;--mdc-chip-elevated-container-color: transparent;--mat-chip-trailing-action-state-layer-color: #44474e;--mat-chip-selected-trailing-action-state-layer-color: #131c2b;--mat-chip-trailing-action-hover-state-layer-opacity: .08;--mat-chip-trailing-action-focus-state-layer-opacity: .12;--mat-chip-selected-disabled-trailing-icon-color: #1a1b1f;--mat-chip-selected-trailing-icon-color: #131c2b;--mat-chip-disabled-container-opacity: 1;--mat-chip-trailing-action-opacity: 1;--mat-chip-trailing-action-focus-opacity: 1;--mdc-switch-selected-focus-state-layer-opacity: .12;--mdc-switch-selected-hover-state-layer-opacity: .08;--mdc-switch-selected-pressed-state-layer-opacity: .12;--mdc-switch-unselected-focus-state-layer-opacity: .12;--mdc-switch-unselected-hover-state-layer-opacity: .08;--mdc-switch-unselected-pressed-state-layer-opacity: .12;--mdc-switch-selected-focus-state-layer-color: #005cbb;--mdc-switch-selected-handle-color: #ffffff;--mdc-switch-selected-hover-state-layer-color: #005cbb;--mdc-switch-selected-pressed-state-layer-color: #005cbb;--mdc-switch-selected-focus-handle-color: #d7e3ff;--mdc-switch-selected-hover-handle-color: #d7e3ff;--mdc-switch-selected-pressed-handle-color: #d7e3ff;--mdc-switch-selected-focus-track-color: #005cbb;--mdc-switch-selected-hover-track-color: #005cbb;--mdc-switch-selected-pressed-track-color: #005cbb;--mdc-switch-selected-track-color: #005cbb;--mdc-switch-disabled-selected-handle-color: #faf9fd;--mdc-switch-disabled-selected-icon-color: #1a1b1f;--mdc-switch-disabled-selected-track-color: #1a1b1f;--mdc-switch-disabled-unselected-handle-color: #1a1b1f;--mdc-switch-disabled-unselected-icon-color: #e0e2ec;--mdc-switch-disabled-unselected-track-color: #e0e2ec;--mdc-switch-selected-icon-color: #001b3f;--mdc-switch-unselected-focus-handle-color: #44474e;--mdc-switch-unselected-focus-state-layer-color: #1a1b1f;--mdc-switch-unselected-focus-track-color: #e0e2ec;--mdc-switch-unselected-handle-color: #74777f;--mdc-switch-unselected-hover-handle-color: #44474e;--mdc-switch-unselected-hover-state-layer-color: #1a1b1f;--mdc-switch-unselected-hover-track-color: #e0e2ec;--mdc-switch-unselected-icon-color: #e0e2ec;--mdc-switch-unselected-pressed-handle-color: #44474e;--mdc-switch-unselected-pressed-state-layer-color: #1a1b1f;--mdc-switch-unselected-pressed-track-color: #e0e2ec;--mdc-switch-unselected-track-color: #e0e2ec;--mdc-switch-disabled-selected-icon-opacity: .38;--mdc-switch-disabled-track-opacity: .12;--mdc-switch-disabled-unselected-icon-opacity: .38;--mdc-switch-handle-shape: 9999px;--mdc-switch-selected-icon-size: 16px;--mdc-switch-track-height: 32px;--mdc-switch-track-shape: 9999px;--mdc-switch-track-width: 52px;--mdc-switch-unselected-icon-size: 16px;--mdc-switch-state-layer-size: 40px;--mat-switch-track-outline-color: #74777f;--mat-switch-disabled-unselected-track-outline-color: #1a1b1f;--mat-switch-label-text-color: #1a1b1f;--mat-switch-label-text-font: Roboto, sans-serif;--mat-switch-label-text-line-height: 1.25rem;--mat-switch-label-text-size: .875rem;--mat-switch-label-text-tracking: .016rem;--mat-switch-label-text-weight: 400;--mat-switch-disabled-selected-handle-opacity: 1;--mat-switch-disabled-unselected-handle-opacity: .38;--mat-switch-unselected-handle-size: 16px;--mat-switch-selected-handle-size: 24px;--mat-switch-pressed-handle-size: 28px;--mat-switch-with-icon-handle-size: 24px;--mat-switch-selected-handle-horizontal-margin: 0 24px;--mat-switch-selected-with-icon-handle-horizontal-margin: 0 24px;--mat-switch-selected-pressed-handle-horizontal-margin: 0 22px;--mat-switch-unselected-handle-horizontal-margin: 0 8px;--mat-switch-unselected-with-icon-handle-horizontal-margin: 0 4px;--mat-switch-unselected-pressed-handle-horizontal-margin: 0 2px;--mat-switch-visible-track-opacity: 1;--mat-switch-hidden-track-opacity: 0;--mat-switch-visible-track-transition: opacity 75ms;--mat-switch-hidden-track-transition: opacity 75ms;--mat-switch-track-outline-width: 2px;--mat-switch-selected-track-outline-width: 2px;--mat-switch-selected-track-outline-color: transparent;--mat-switch-disabled-unselected-track-outline-width: 2px;--mdc-radio-disabled-selected-icon-color: #1a1b1f;--mdc-radio-disabled-unselected-icon-color: #1a1b1f;--mdc-radio-unselected-hover-icon-color: #1a1b1f;--mdc-radio-unselected-icon-color: #44474e;--mdc-radio-unselected-pressed-icon-color: #1a1b1f;--mdc-radio-selected-focus-icon-color: #005cbb;--mdc-radio-selected-hover-icon-color: #005cbb;--mdc-radio-selected-icon-color: #005cbb;--mdc-radio-selected-pressed-icon-color: #005cbb;--mdc-radio-state-layer-size: 40px;--mdc-radio-disabled-selected-icon-opacity: .38;--mdc-radio-disabled-unselected-icon-opacity: .38;--mat-radio-ripple-color: #1a1b1f;--mat-radio-checked-ripple-color: #005cbb;--mat-radio-disabled-label-color: rgba(26, 27, 31, .38);--mat-radio-label-text-color: #1a1b1f;--mat-radio-label-text-font: Roboto, sans-serif;--mat-radio-label-text-line-height: 1.25rem;--mat-radio-label-text-size: .875rem;--mat-radio-label-text-tracking: .016rem;--mat-radio-label-text-weight: 400;--mat-radio-touch-target-display: block;--mdc-slider-handle-elevation: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-slider-handle-color: #005cbb;--mdc-slider-focus-handle-color: #005cbb;--mdc-slider-hover-handle-color: #005cbb;--mdc-slider-active-track-color: #005cbb;--mdc-slider-inactive-track-color: #e0e2ec;--mdc-slider-with-tick-marks-inactive-container-color: #44474e;--mdc-slider-with-tick-marks-active-container-color: #ffffff;--mdc-slider-disabled-active-track-color: #1a1b1f;--mdc-slider-disabled-handle-color: #1a1b1f;--mdc-slider-disabled-inactive-track-color: #1a1b1f;--mdc-slider-label-container-color: #005cbb;--mdc-slider-label-label-text-color: #ffffff;--mdc-slider-with-overlap-handle-outline-color: #ffffff;--mdc-slider-with-tick-marks-disabled-container-color: #1a1b1f;--mdc-slider-label-label-text-font: Roboto, sans-serif;--mdc-slider-label-label-text-size: .75rem;--mdc-slider-label-label-text-line-height: 1rem;--mdc-slider-label-label-text-tracking: .031rem;--mdc-slider-label-label-text-weight: 500;--mdc-slider-active-track-height: 4px;--mdc-slider-active-track-shape: 9999px;--mdc-slider-handle-height: 20px;--mdc-slider-handle-shape: 9999px;--mdc-slider-handle-width: 20px;--mdc-slider-inactive-track-height: 4px;--mdc-slider-inactive-track-shape: 9999px;--mdc-slider-with-overlap-handle-outline-width: 1px;--mdc-slider-with-tick-marks-active-container-opacity: .38;--mdc-slider-with-tick-marks-container-shape: 9999px;--mdc-slider-with-tick-marks-container-size: 2px;--mdc-slider-with-tick-marks-inactive-container-opacity: .38;--mat-slider-ripple-color: #005cbb;--mat-slider-hover-state-layer-color: rgba(0, 92, 187, .05);--mat-slider-focus-state-layer-color: rgba(0, 92, 187, .2);--mat-slider-value-indicator-width: 28px;--mat-slider-value-indicator-height: 28px;--mat-slider-value-indicator-caret-display: none;--mat-slider-value-indicator-border-radius: 50% 50% 50% 0;--mat-slider-value-indicator-padding: 0;--mat-slider-value-indicator-text-transform: rotate(45deg);--mat-slider-value-indicator-container-transform: translateX(-50%) rotate(-45deg);--mat-slider-value-indicator-opacity: 1;--mat-menu-item-label-text-color: #1a1b1f;--mat-menu-item-icon-color: #44474e;--mat-menu-item-hover-state-layer-color: rgba(26, 27, 31, .08);--mat-menu-item-focus-state-layer-color: rgba(26, 27, 31, .12);--mat-menu-container-color: #efedf0;--mat-menu-divider-color: #e0e2ec;--mat-menu-item-label-text-font: Roboto, sans-serif;--mat-menu-item-label-text-size: .875rem;--mat-menu-item-label-text-tracking: .006rem;--mat-menu-item-label-text-line-height: 1.25rem;--mat-menu-item-label-text-weight: 500;--mat-menu-container-shape: 4px;--mat-menu-divider-bottom-spacing: 8px;--mat-menu-divider-top-spacing: 8px;--mat-menu-item-spacing: 12px;--mat-menu-item-icon-size: 24px;--mat-menu-item-leading-spacing: 12px;--mat-menu-item-trailing-spacing: 12px;--mat-menu-item-with-icon-leading-spacing: 12px;--mat-menu-item-with-icon-trailing-spacing: 12px;--mat-menu-base-elevation-level: 2;--mdc-list-list-item-container-color: transparent;--mdc-list-list-item-leading-avatar-color: #d7e3ff;--mdc-list-list-item-disabled-state-layer-color: #1a1b1f;--mdc-list-list-item-disabled-state-layer-opacity: .12;--mdc-list-list-item-label-text-color: #1a1b1f;--mdc-list-list-item-supporting-text-color: #44474e;--mdc-list-list-item-leading-icon-color: #44474e;--mdc-list-list-item-trailing-supporting-text-color: #44474e;--mdc-list-list-item-trailing-icon-color: #44474e;--mdc-list-list-item-selected-trailing-icon-color: #005cbb;--mdc-list-list-item-disabled-label-text-color: #1a1b1f;--mdc-list-list-item-disabled-leading-icon-color: #1a1b1f;--mdc-list-list-item-disabled-trailing-icon-color: #1a1b1f;--mdc-list-list-item-hover-label-text-color: #1a1b1f;--mdc-list-list-item-focus-label-text-color: #1a1b1f;--mdc-list-list-item-hover-state-layer-color: #1a1b1f;--mdc-list-list-item-hover-state-layer-opacity: .08;--mdc-list-list-item-focus-state-layer-color: #1a1b1f;--mdc-list-list-item-focus-state-layer-opacity: .12;--mdc-list-list-item-label-text-font: Roboto, sans-serif;--mdc-list-list-item-label-text-line-height: 1.5rem;--mdc-list-list-item-label-text-size: 1rem;--mdc-list-list-item-label-text-tracking: .031rem;--mdc-list-list-item-label-text-weight: 400;--mdc-list-list-item-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-supporting-text-line-height: 1.25rem;--mdc-list-list-item-supporting-text-size: .875rem;--mdc-list-list-item-supporting-text-tracking: .016rem;--mdc-list-list-item-supporting-text-weight: 400;--mdc-list-list-item-trailing-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-trailing-supporting-text-line-height: 1rem;--mdc-list-list-item-trailing-supporting-text-size: .688rem;--mdc-list-list-item-trailing-supporting-text-tracking: .031rem;--mdc-list-list-item-trailing-supporting-text-weight: 500;--mdc-list-list-item-one-line-container-height: 48px;--mdc-list-list-item-two-line-container-height: 64px;--mdc-list-list-item-three-line-container-height: 88px;--mdc-list-list-item-container-shape: 0;--mdc-list-list-item-leading-avatar-shape: 9999px;--mdc-list-list-item-leading-icon-size: 24px;--mdc-list-list-item-leading-avatar-size: 40px;--mdc-list-list-item-trailing-icon-size: 24px;--mdc-list-list-item-disabled-label-text-opacity: .3;--mdc-list-list-item-disabled-leading-icon-opacity: .38;--mdc-list-list-item-disabled-trailing-icon-opacity: .38;--mat-list-active-indicator-color: #dae2f9;--mat-list-list-item-leading-icon-start-space: 16px;--mat-list-list-item-leading-icon-end-space: 16px;--mat-list-active-indicator-shape: 9999px;--mat-paginator-container-text-color: #1a1b1f;--mat-paginator-container-background-color: #faf9fd;--mat-paginator-enabled-icon-color: #44474e;--mat-paginator-disabled-icon-color: rgba(26, 27, 31, .38);--mat-paginator-container-text-font: Roboto, sans-serif;--mat-paginator-container-text-line-height: 1rem;--mat-paginator-container-text-size: .75rem;--mat-paginator-container-text-tracking: .025rem;--mat-paginator-container-text-weight: 400;--mat-paginator-select-trigger-text-size: .75rem;--mat-paginator-container-size: 56px;--mat-paginator-form-field-container-height: 40px;--mat-paginator-form-field-container-vertical-padding: 8px;--mat-paginator-touch-target-display: block;--mdc-secondary-navigation-tab-container-height: 48px;--mdc-tab-indicator-active-indicator-color: #005cbb;--mdc-tab-indicator-active-indicator-height: 2px;--mdc-tab-indicator-active-indicator-shape: 0;--mat-tab-header-divider-color: #e0e2ec;--mat-tab-header-pagination-icon-color: #1a1b1f;--mat-tab-header-inactive-label-text-color: #1a1b1f;--mat-tab-header-active-label-text-color: #1a1b1f;--mat-tab-header-active-ripple-color: #1a1b1f;--mat-tab-header-inactive-ripple-color: #1a1b1f;--mat-tab-header-inactive-focus-label-text-color: #1a1b1f;--mat-tab-header-inactive-hover-label-text-color: #1a1b1f;--mat-tab-header-active-focus-label-text-color: #1a1b1f;--mat-tab-header-active-hover-label-text-color: #1a1b1f;--mat-tab-header-active-focus-indicator-color: #005cbb;--mat-tab-header-active-hover-indicator-color: #005cbb;--mat-tab-header-label-text-font: Roboto, sans-serif;--mat-tab-header-label-text-size: .875rem;--mat-tab-header-label-text-tracking: .006rem;--mat-tab-header-label-text-line-height: 1.25rem;--mat-tab-header-label-text-weight: 500;--mat-tab-header-divider-height: 1px;--mdc-checkbox-disabled-selected-checkmark-color: #faf9fd;--mdc-checkbox-selected-focus-state-layer-opacity: .12;--mdc-checkbox-selected-hover-state-layer-opacity: .08;--mdc-checkbox-selected-pressed-state-layer-opacity: .12;--mdc-checkbox-unselected-focus-state-layer-opacity: .12;--mdc-checkbox-unselected-hover-state-layer-opacity: .08;--mdc-checkbox-unselected-pressed-state-layer-opacity: .12;--mdc-checkbox-selected-pressed-icon-color: #005cbb;--mdc-checkbox-disabled-selected-icon-color: rgba(26, 27, 31, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(26, 27, 31, .38);--mdc-checkbox-selected-checkmark-color: #ffffff;--mdc-checkbox-selected-focus-icon-color: #005cbb;--mdc-checkbox-selected-hover-icon-color: #005cbb;--mdc-checkbox-selected-icon-color: #005cbb;--mdc-checkbox-unselected-focus-icon-color: #1a1b1f;--mdc-checkbox-unselected-hover-icon-color: #1a1b1f;--mdc-checkbox-unselected-icon-color: #44474e;--mdc-checkbox-selected-focus-state-layer-color: #005cbb;--mdc-checkbox-selected-hover-state-layer-color: #005cbb;--mdc-checkbox-selected-pressed-state-layer-color: #1a1b1f;--mdc-checkbox-unselected-focus-state-layer-color: #1a1b1f;--mdc-checkbox-unselected-hover-state-layer-color: #1a1b1f;--mdc-checkbox-unselected-pressed-state-layer-color: #005cbb;--mdc-checkbox-state-layer-size: 40px;--mat-checkbox-disabled-label-color: rgba(26, 27, 31, .38);--mat-checkbox-label-text-color: #1a1b1f;--mat-checkbox-label-text-font: Roboto, sans-serif;--mat-checkbox-label-text-line-height: 1.25rem;--mat-checkbox-label-text-size: .875rem;--mat-checkbox-label-text-tracking: .016rem;--mat-checkbox-label-text-weight: 400;--mat-checkbox-touch-target-display: block;--mdc-text-button-label-text-color: #005cbb;--mdc-text-button-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-text-button-label-text-font: Roboto, sans-serif;--mdc-text-button-label-text-size: .875rem;--mdc-text-button-label-text-tracking: .006rem;--mdc-text-button-label-text-weight: 500;--mdc-text-button-container-height: 40px;--mdc-text-button-container-shape: 9999px;--mdc-protected-button-container-elevation-shadow: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-protected-button-disabled-container-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mdc-protected-button-focus-container-elevation-shadow: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-protected-button-hover-container-elevation-shadow: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mdc-protected-button-pressed-container-elevation-shadow: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-protected-button-container-color: #faf9fd;--mdc-protected-button-label-text-color: #005cbb;--mdc-protected-button-disabled-container-color: rgba(26, 27, 31, .12);--mdc-protected-button-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-protected-button-label-text-font: Roboto, sans-serif;--mdc-protected-button-label-text-size: .875rem;--mdc-protected-button-label-text-tracking: .006rem;--mdc-protected-button-label-text-weight: 500;--mdc-protected-button-container-height: 40px;--mdc-protected-button-container-shape: 9999px;--mdc-filled-button-container-color: #005cbb;--mdc-filled-button-label-text-color: #ffffff;--mdc-filled-button-disabled-container-color: rgba(26, 27, 31, .12);--mdc-filled-button-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-filled-button-label-text-font: Roboto, sans-serif;--mdc-filled-button-label-text-size: .875rem;--mdc-filled-button-label-text-tracking: .006rem;--mdc-filled-button-label-text-weight: 500;--mdc-filled-button-container-height: 40px;--mdc-filled-button-container-shape: 9999px;--mdc-outlined-button-disabled-outline-color: rgba(26, 27, 31, .12);--mdc-outlined-button-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-outlined-button-label-text-color: #005cbb;--mdc-outlined-button-outline-color: #74777f;--mdc-outlined-button-label-text-font: Roboto, sans-serif;--mdc-outlined-button-label-text-size: .875rem;--mdc-outlined-button-label-text-tracking: .006rem;--mdc-outlined-button-label-text-weight: 500;--mdc-outlined-button-container-height: 40px;--mdc-outlined-button-outline-width: 1px;--mdc-outlined-button-container-shape: 9999px;--mat-text-button-state-layer-color: #005cbb;--mat-text-button-disabled-state-layer-color: #44474e;--mat-text-button-ripple-color: rgba(0, 92, 187, .12);--mat-text-button-hover-state-layer-opacity: .08;--mat-text-button-focus-state-layer-opacity: .12;--mat-text-button-pressed-state-layer-opacity: .12;--mat-text-button-touch-target-display: block;--mat-text-button-horizontal-padding: 12px;--mat-text-button-with-icon-horizontal-padding: 16px;--mat-text-button-icon-spacing: 8px;--mat-text-button-icon-offset: -4px;--mat-protected-button-state-layer-color: #005cbb;--mat-protected-button-disabled-state-layer-color: #44474e;--mat-protected-button-ripple-color: rgba(0, 92, 187, .12);--mat-protected-button-hover-state-layer-opacity: .08;--mat-protected-button-focus-state-layer-opacity: .12;--mat-protected-button-pressed-state-layer-opacity: .12;--mat-protected-button-touch-target-display: block;--mat-protected-button-horizontal-padding: 24px;--mat-protected-button-icon-spacing: 8px;--mat-protected-button-icon-offset: -8px;--mat-filled-button-state-layer-color: #ffffff;--mat-filled-button-disabled-state-layer-color: #44474e;--mat-filled-button-ripple-color: rgba(255, 255, 255, .12);--mat-filled-button-hover-state-layer-opacity: .08;--mat-filled-button-focus-state-layer-opacity: .12;--mat-filled-button-pressed-state-layer-opacity: .12;--mat-filled-button-touch-target-display: block;--mat-filled-button-horizontal-padding: 24px;--mat-filled-button-icon-spacing: 8px;--mat-filled-button-icon-offset: -8px;--mat-outlined-button-state-layer-color: #005cbb;--mat-outlined-button-disabled-state-layer-color: #44474e;--mat-outlined-button-ripple-color: rgba(0, 92, 187, .12);--mat-outlined-button-hover-state-layer-opacity: .08;--mat-outlined-button-focus-state-layer-opacity: .12;--mat-outlined-button-pressed-state-layer-opacity: .12;--mat-outlined-button-touch-target-display: block;--mat-outlined-button-horizontal-padding: 24px;--mat-outlined-button-icon-spacing: 8px;--mat-outlined-button-icon-offset: -8px;--mdc-icon-button-icon-color: #44474e;--mdc-icon-button-disabled-icon-color: rgba(26, 27, 31, .38);--mdc-icon-button-state-layer-size: 40px;--mdc-icon-button-icon-size: 24px;--mat-icon-button-state-layer-color: #44474e;--mat-icon-button-disabled-state-layer-color: #44474e;--mat-icon-button-ripple-color: rgba(68, 71, 78, .12);--mat-icon-button-hover-state-layer-opacity: .08;--mat-icon-button-focus-state-layer-opacity: .12;--mat-icon-button-pressed-state-layer-opacity: .12;--mat-icon-button-touch-target-display: block;--mdc-extended-fab-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-extended-fab-focus-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-extended-fab-hover-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-extended-fab-pressed-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-extended-fab-label-text-font: Roboto, sans-serif;--mdc-extended-fab-label-text-size: .875rem;--mdc-extended-fab-label-text-tracking: .006rem;--mdc-extended-fab-label-text-weight: 500;--mdc-extended-fab-container-height: 56px;--mdc-extended-fab-container-shape: 16px;--mdc-fab-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-focus-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-hover-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-fab-pressed-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-container-color: #d7e3ff;--mdc-fab-container-shape: 16px;--mdc-fab-small-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-small-focus-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-small-hover-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-fab-small-pressed-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-small-container-color: #d7e3ff;--mdc-fab-small-container-shape: 12px;--mat-fab-foreground-color: #001b3f;--mat-fab-state-layer-color: #001b3f;--mat-fab-ripple-color: rgba(0, 27, 63, .12);--mat-fab-hover-state-layer-opacity: .08;--mat-fab-focus-state-layer-opacity: .12;--mat-fab-pressed-state-layer-opacity: .12;--mat-fab-disabled-state-container-color: rgba(26, 27, 31, .12);--mat-fab-disabled-state-foreground-color: rgba(26, 27, 31, .38);--mat-fab-touch-target-display: block;--mat-fab-small-foreground-color: #001b3f;--mat-fab-small-state-layer-color: #001b3f;--mat-fab-small-ripple-color: rgba(0, 27, 63, .12);--mat-fab-small-hover-state-layer-opacity: .08;--mat-fab-small-focus-state-layer-opacity: .12;--mat-fab-small-pressed-state-layer-opacity: .12;--mat-fab-small-disabled-state-container-color: rgba(26, 27, 31, .12);--mat-fab-small-disabled-state-foreground-color: rgba(26, 27, 31, .38);--mdc-snackbar-container-color: #2f3033;--mdc-snackbar-supporting-text-color: #f2f0f4;--mdc-snackbar-supporting-text-font: Roboto, sans-serif;--mdc-snackbar-supporting-text-line-height: 1.25rem;--mdc-snackbar-supporting-text-size: .875rem;--mdc-snackbar-supporting-text-weight: 400;--mdc-snackbar-container-shape: 4px;--mat-snack-bar-button-color: #abc7ff;--mat-table-background-color: #faf9fd;--mat-table-header-headline-color: #1a1b1f;--mat-table-row-item-label-text-color: #1a1b1f;--mat-table-row-item-outline-color: #74777f;--mat-table-header-headline-font: Roboto, sans-serif;--mat-table-header-headline-line-height: 1.25rem;--mat-table-header-headline-size: .875rem;--mat-table-header-headline-weight: 500;--mat-table-header-headline-tracking: .006rem;--mat-table-row-item-label-text-font: Roboto, sans-serif;--mat-table-row-item-label-text-line-height: 1.25rem;--mat-table-row-item-label-text-size: .875rem;--mat-table-row-item-label-text-weight: 400;--mat-table-row-item-label-text-tracking: .016rem;--mat-table-footer-supporting-text-font: Roboto, sans-serif;--mat-table-footer-supporting-text-line-height: 1.25rem;--mat-table-footer-supporting-text-size: .875rem;--mat-table-footer-supporting-text-weight: 400;--mat-table-footer-supporting-text-tracking: .016rem;--mat-table-header-container-height: 56px;--mat-table-footer-container-height: 52px;--mat-table-row-item-container-height: 52px;--mat-table-row-item-outline-width: 1px;--mdc-circular-progress-active-indicator-color: #005cbb;--mdc-circular-progress-active-indicator-width: 4px;--mdc-circular-progress-size: 48px;--mat-badge-background-color: #ba1a1a;--mat-badge-text-color: #ffffff;--mat-badge-disabled-state-background-color: rgba(186, 26, 26, .38);--mat-badge-disabled-state-text-color: #ffffff;--mat-badge-text-font: Roboto, sans-serif;--mat-badge-text-size: .688rem;--mat-badge-text-weight: 500;--mat-badge-large-size-text-size: .688rem;--mat-badge-container-shape: 9999px;--mat-badge-container-size: 16px;--mat-badge-small-size-container-size: 6px;--mat-badge-large-size-container-size: 16px;--mat-badge-legacy-container-size: 16px;--mat-badge-legacy-small-size-container-size: 16px;--mat-badge-legacy-large-size-container-size: 16px;--mat-badge-container-offset: -12px 0;--mat-badge-small-size-container-offset: -6px 0;--mat-badge-large-size-container-offset: -12px 0;--mat-badge-container-overlap-offset: -12px;--mat-badge-small-size-container-overlap-offset: -6px;--mat-badge-large-size-container-overlap-offset: -12px;--mat-badge-container-padding: 0 4px;--mat-badge-small-size-container-padding: 0;--mat-badge-large-size-container-padding: 0 4px;--mat-badge-small-size-text-size: 0;--mat-bottom-sheet-container-text-color: #1a1b1f;--mat-bottom-sheet-container-background-color: #f4f3f6;--mat-bottom-sheet-container-text-font: Roboto, sans-serif;--mat-bottom-sheet-container-text-line-height: 1.5rem;--mat-bottom-sheet-container-text-size: 1rem;--mat-bottom-sheet-container-text-tracking: .031rem;--mat-bottom-sheet-container-text-weight: 400;--mat-bottom-sheet-container-shape: 28px;--mat-standard-button-toggle-hover-state-layer-opacity: .08;--mat-standard-button-toggle-focus-state-layer-opacity: .12;--mat-standard-button-toggle-text-color: #1a1b1f;--mat-standard-button-toggle-state-layer-color: #1a1b1f;--mat-standard-button-toggle-selected-state-background-color: #dae2f9;--mat-standard-button-toggle-selected-state-text-color: #131c2b;--mat-standard-button-toggle-disabled-state-text-color: rgba(26, 27, 31, .38);--mat-standard-button-toggle-disabled-selected-state-text-color: rgba(26, 27, 31, .38);--mat-standard-button-toggle-disabled-selected-state-background-color: rgba(26, 27, 31, .12);--mat-standard-button-toggle-divider-color: #74777f;--mat-standard-button-toggle-label-text-font: Roboto, sans-serif;--mat-standard-button-toggle-label-text-line-height: 1.25rem;--mat-standard-button-toggle-label-text-size: .875rem;--mat-standard-button-toggle-label-text-tracking: .006rem;--mat-standard-button-toggle-label-text-weight: 500;--mat-standard-button-toggle-height: 40px;--mat-standard-button-toggle-shape: 9999px;--mat-standard-button-toggle-background-color: transparent;--mat-standard-button-toggle-disabled-state-background-color: transparent;--mat-datepicker-calendar-date-selected-state-text-color: #ffffff;--mat-datepicker-calendar-date-selected-state-background-color: #005cbb;--mat-datepicker-calendar-date-selected-disabled-state-background-color: rgba(26, 27, 31, .38);--mat-datepicker-calendar-date-today-selected-state-outline-color: #005cbb;--mat-datepicker-calendar-date-focus-state-background-color: rgba(26, 27, 31, .12);--mat-datepicker-calendar-date-hover-state-background-color: rgba(26, 27, 31, .08);--mat-datepicker-toggle-active-state-icon-color: #44474e;--mat-datepicker-calendar-date-in-range-state-background-color: #d7e3ff;--mat-datepicker-calendar-date-in-comparison-range-state-background-color: #d7e3ff;--mat-datepicker-calendar-date-in-overlap-range-state-background-color: #dae2f9;--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color: #565e71;--mat-datepicker-toggle-icon-color: #44474e;--mat-datepicker-calendar-body-label-text-color: #1a1b1f;--mat-datepicker-calendar-period-button-text-color: #44474e;--mat-datepicker-calendar-period-button-icon-color: #44474e;--mat-datepicker-calendar-navigation-button-icon-color: #44474e;--mat-datepicker-calendar-header-text-color: #44474e;--mat-datepicker-calendar-date-today-outline-color: #005cbb;--mat-datepicker-calendar-date-today-disabled-state-outline-color: rgba(26, 27, 31, .38);--mat-datepicker-calendar-date-text-color: #1a1b1f;--mat-datepicker-calendar-date-disabled-state-text-color: rgba(26, 27, 31, .38);--mat-datepicker-calendar-date-preview-state-outline-color: #005cbb;--mat-datepicker-range-input-separator-color: #1a1b1f;--mat-datepicker-range-input-disabled-state-separator-color: rgba(26, 27, 31, .38);--mat-datepicker-range-input-disabled-state-text-color: rgba(26, 27, 31, .38);--mat-datepicker-calendar-container-background-color: #e9e7eb;--mat-datepicker-calendar-container-text-color: #1a1b1f;--mat-datepicker-calendar-text-font: Roboto, sans-serif;--mat-datepicker-calendar-text-size: .875rem;--mat-datepicker-calendar-body-label-text-size: .875rem;--mat-datepicker-calendar-body-label-text-weight: 500;--mat-datepicker-calendar-period-button-text-size: .875rem;--mat-datepicker-calendar-period-button-text-weight: 500;--mat-datepicker-calendar-header-text-size: .875rem;--mat-datepicker-calendar-header-text-weight: 500;--mat-datepicker-calendar-container-shape: 16px;--mat-datepicker-calendar-container-touch-shape: 28px;--mat-datepicker-calendar-container-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-datepicker-calendar-container-touch-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-datepicker-calendar-header-divider-color: transparent;--mat-datepicker-calendar-date-outline-color: transparent;--mat-divider-color: #74777f;--mat-divider-width: 1px;--mat-expansion-container-background-color: #faf9fd;--mat-expansion-container-text-color: #1a1b1f;--mat-expansion-actions-divider-color: #74777f;--mat-expansion-header-hover-state-layer-color: rgba(26, 27, 31, .08);--mat-expansion-header-focus-state-layer-color: rgba(26, 27, 31, .12);--mat-expansion-header-disabled-state-text-color: rgba(26, 27, 31, .38);--mat-expansion-header-text-color: #1a1b1f;--mat-expansion-header-description-color: #44474e;--mat-expansion-header-indicator-color: #44474e;--mat-expansion-header-text-font: Roboto, sans-serif;--mat-expansion-header-text-size: 1rem;--mat-expansion-header-text-weight: 500;--mat-expansion-header-text-line-height: 1.5rem;--mat-expansion-header-text-tracking: .009rem;--mat-expansion-container-text-font: Roboto, sans-serif;--mat-expansion-container-text-line-height: 1.5rem;--mat-expansion-container-text-size: 1rem;--mat-expansion-container-text-tracking: .031rem;--mat-expansion-container-text-weight: 400;--mat-expansion-header-collapsed-state-height: 48px;--mat-expansion-header-expanded-state-height: 64px;--mat-expansion-container-shape: 12px;--mat-expansion-legacy-header-indicator-display: none;--mat-expansion-header-indicator-display: inline-block;--mat-grid-list-tile-header-primary-text-size: 400 1rem / 1.5rem Roboto, sans-serif;--mat-grid-list-tile-header-secondary-text-size: 400 .875rem / 1.25rem Roboto, sans-serif;--mat-grid-list-tile-footer-primary-text-size: 400 1rem / 1.5rem Roboto, sans-serif;--mat-grid-list-tile-footer-secondary-text-size: 400 .875rem / 1.25rem Roboto, sans-serif;--mat-icon-color: inherit;--mat-sidenav-container-background-color: #faf9fd;--mat-sidenav-container-text-color: #44474e;--mat-sidenav-content-background-color: #faf9fd;--mat-sidenav-content-text-color: #1a1b1f;--mat-sidenav-scrim-color: rgba(45, 48, 56, .4);--mat-sidenav-container-shape: 16px;--mat-sidenav-container-elevation-shadow: none;--mat-sidenav-container-width: 360px;--mat-sidenav-container-divider-color: transparent;--mat-stepper-header-icon-foreground-color: #faf9fd;--mat-stepper-header-selected-state-icon-background-color: #005cbb;--mat-stepper-header-selected-state-icon-foreground-color: #ffffff;--mat-stepper-header-edit-state-icon-background-color: #005cbb;--mat-stepper-header-edit-state-icon-foreground-color: #ffffff;--mat-stepper-container-color: #faf9fd;--mat-stepper-line-color: #74777f;--mat-stepper-header-hover-state-layer-color: rgba(47, 48, 51, .08);--mat-stepper-header-focus-state-layer-color: rgba(47, 48, 51, .12);--mat-stepper-header-label-text-color: #44474e;--mat-stepper-header-optional-label-text-color: #44474e;--mat-stepper-header-selected-state-label-text-color: #44474e;--mat-stepper-header-error-state-label-text-color: #ba1a1a;--mat-stepper-header-icon-background-color: #44474e;--mat-stepper-header-error-state-icon-foreground-color: #ba1a1a;--mat-stepper-container-text-font: Roboto, sans-serif;--mat-stepper-header-label-text-font: Roboto, sans-serif;--mat-stepper-header-label-text-size: .875rem;--mat-stepper-header-label-text-weight: 500;--mat-stepper-header-error-state-label-text-size: .875rem;--mat-stepper-header-selected-state-label-text-size: .875rem;--mat-stepper-header-selected-state-label-text-weight: 500;--mat-stepper-header-height: 72px;--mat-stepper-header-focus-state-layer-shape: 12px;--mat-stepper-header-hover-state-layer-shape: 12px;--mat-stepper-header-error-state-icon-background-color: transparent;--mat-sort-arrow-color: #1a1b1f;--mat-toolbar-container-background-color: #faf9fd;--mat-toolbar-container-text-color: #1a1b1f;--mat-toolbar-title-text-font: Roboto, sans-serif;--mat-toolbar-title-text-line-height: 1.75rem;--mat-toolbar-title-text-size: 1.375rem;--mat-toolbar-title-text-tracking: 0;--mat-toolbar-title-text-weight: 400;--mat-toolbar-standard-height: 64px;--mat-toolbar-mobile-height: 56px;--mat-tree-container-background-color: #faf9fd;--mat-tree-node-text-color: #1a1b1f;--mat-tree-node-text-font: Roboto, sans-serif;--mat-tree-node-text-size: 1rem;--mat-tree-node-text-weight: 400;--mat-tree-node-min-height: 48px;display:flex;align-items:flex-start;flex-wrap:wrap;position:relative;color:#444}.mat-theme-loaded-marker{display:none}#ssSearchBar .tabs{display:flex;width:100%;margin-bottom:-1px;z-index:10}#ssSearchBar .tabs .ss-tab{border-radius:4px 4px 0 0;border:#b7b7b7 solid 1px;border-color:#1967e5;border-bottom:none;padding:.3em 1.4em;font-size:.94em;letter-spacing:.4px;font-weight:600;background-color:#0047ba;color:#fff;white-space:nowrap;position:relative}#ssSearchBar .tabs .ss-tab:after{content:\"\";height:1px;width:calc(100% + 2px);position:absolute;bottom:0;left:-1px;background-color:#b7b7b7}#ssSearchBar .tabs .ss-tab:hover{background-color:#1967e5}#ssSearchBar .tabs .ss-tab.ss-active{color:#002e5d;margin-bottom:1px;border-color:#b7b7b7;background-color:#fffffff2}#ssSearchBar .tabs .ss-tab.ss-active:after{display:none}#ssSearchBar .tabs .ss-tab:disabled{cursor:auto}#ssSearchBar .tabs .tab-spacer{width:.3em;border-bottom:#b7b7b7 solid 1px;position:relative}#ssSearchBar .tabs .tab-spacer:before{content:\"\";position:absolute;left:-1px;bottom:-1px;width:1px;height:1px;background-color:#b7b7b7}#ssSearchBar .tabs .tab-spacer:after{content:\"\";position:absolute;right:-1px;bottom:-1px;width:1px;height:1px;background-color:#b7b7b7}#ssSearchBar .tabs .tab-spacer.full{width:100%;margin-right:4px;position:relative}#ssSearchBar .ss-adv-search-text{padding-bottom:1em;padding-right:2rem;pointer-events:none}#ssSearchBar .ss-bar-wrapper{padding:1em 1em .25em;border-right:#b7b7b7 solid 1px;border-left:#b7b7b7 solid 1px;border-bottom:#b7b7b7 solid 1px;width:100%;display:flex;align-items:center;flex-wrap:wrap;position:relative;background-color:#fffffff2;border-radius:0 4px 4px;overflow:hidden}#ssSearchBar .ss-bar-wrapper:after{content:\"\";position:absolute;top:0;right:-1px;background-color:transparent;border-radius:0 4px 0 0;width:4px;height:4px;border-top:#b7b7b7 solid 1px;border-right:#b7b7b7 solid 1px}#ssSearchBar .ss-bar-content{position:relative;width:100%;height:initial}#ssSearchBar .ss-search-bar{border-radius:4px;border:#b7b7b7 solid 1px;width:100%}#ssSearchBar #advSearchCloseBtn{float:right;padding:.4em;margin:-.4em 0;color:#666;transition:all .1s}#ssSearchBar #advSearchCloseBtn:hover{color:#292929}#ssSearchBar #advSearchCloseBtn .ss-icon{font-size:1.2em;font-weight:600}#ssSearchBar .ss-adv-search-btn{font-size:.9em;color:#4070b0;margin:.2em 4em 0 auto;padding-right:.4rem;display:flex;justify-content:center;align-items:center}#ssSearchBar .ss-adv-search-btn .ss-icon{font-size:1.4em;opacity:.75;margin-top:.2rem}#ssSearchBar .ss-adv-search-btn:hover{color:#6892ca}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SsAdvancedQueriesPipe, name: "ssAdvancedQueries" }, { kind: "component", type: AdvancedSearchComponent, selector: "lib-ss-advanced-search", inputs: ["config"], outputs: ["advancedSearch"] }, { kind: "component", type: SimpleSearchComponent, selector: "lib-ss-simple-search", inputs: ["config"], outputs: ["simpleSearch", "clearSimpleSearch"] }, { kind: "pipe", type: AdvancedFieldWarningPipe, name: "advancedFieldWarning" }], animations: [libHbllExpandCollapse], encapsulation: i0.ViewEncapsulation.None }); }
920
2007
  }
921
2008
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SsSearchBarComponent, decorators: [{
922
2009
  type: Component,
@@ -926,7 +2013,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
926
2013
  AdvancedSearchComponent,
927
2014
  SimpleSearchComponent,
928
2015
  AdvancedFieldWarningPipe,
929
- ], providers: [FieldByScopePipe], animations: [libHbllExpandCollapse], encapsulation: ViewEncapsulation.None, template: "<div id=\"ssSearchBar\">\n <div class=\"tabs\">\n <button\n (click)=\"emitTabChange('local')\"\n class=\"ss-tab\"\n id=\"localTab\"\n [ngClass]=\"{\n 'ss-active': config.scope === 'local',\n ensign: config.institution === 'ensign' && config.scope !== 'local',\n }\"\n data-testid=\"localTab\"\n [disabled]=\"config.scope === 'local'\"\n >\n In the Library\n </button>\n @if (config.institution !== 'law') {\n <div class=\"tab-spacer\"></div>\n <button\n (click)=\"emitTabChange('external')\"\n class=\"ss-tab\"\n id=\"externalTab\"\n [ngClass]=\"{\n 'ss-active': config.scope === 'external',\n ensign: config.institution === 'ensign' && config.scope !== 'external',\n }\"\n data-testid=\"externalTab\"\n [disabled]=\"config.scope === 'external'\"\n >\n Available Online\n </button>\n }\n <div class=\"tab-spacer full\"></div>\n </div>\n <div\n class=\"ss-bar-wrapper\"\n #barWrapperRef\n [@libHbllExpandCollapse]=\"{\n value: config.showAdvancedSearch ? (!config.showAdvancedSearchAsText ? 1 : 2) : 3,\n params: { startHeight: heightOfContainer },\n }\"\n >\n <div class=\"ss-bar-content\" data-testid=\"searchForm\">\n @if (!config.showAdvancedSearch) {\n <div class=\"ss-search-bar\">\n <lib-ss-simple-search\n [config]=\"config\"\n (simpleSearch)=\"emitSimpleSearch($event)\"\n (clearSimpleSearch)=\"emitClearSimpleSearch()\"\n ></lib-ss-simple-search>\n </div>\n } @else {\n <button\n id=\"advSearchCloseBtn\"\n (click)=\"emitAdvancedSearchClosed()\"\n data-testid=\"advSearchCloseBtn\"\n >\n <span class=\"material-symbols-outlined ss-icon\"> close </span>\n </button>\n <div id=\"advSearchWrapper\">\n @if (config.showAdvancedSearch && !config.showAdvancedSearchAsText) {\n <div>\n <lib-ss-advanced-search\n [config]=\"config\"\n (advancedSearch)=\"emitAdvancedSearch($event)\"\n ></lib-ss-advanced-search>\n </div>\n } @else {\n <div\n class=\"ss-adv-search-text\"\n data-testid=\"advancedSearchText\"\n [innerHTML]=\"\n config.advancedSearchQueryRows | ssAdvancedQueries: config.scope\n \"\n ></div>\n <div\n [innerHTML]=\"\n config.advancedSearchQueryRows | advancedFieldWarning: config.scope\n \"\n ></div>\n }\n </div>\n }\n </div>\n @if (!config.showAdvancedSearch || config.showAdvancedSearchAsText) {\n <button\n data-testid=\"toggleAdvSearchButton\"\n class=\"ss-adv-search-btn\"\n id=\"advSearchBtn\"\n (click)=\"emitAdvancedSearchOpen()\"\n >\n Advanced\n <span class=\"material-symbols-outlined ss-icon\"> keyboard_arrow_down </span>\n </button>\n }\n </div>\n</div>\n", styles: ["#ssSearchBar .tabs .ss-tab.ensign{background-color:#2b6042!important}#ssSearchBar .tabs .ss-tab.ensign:hover{background-color:#357551!important}a,button{border:none;background:none;font-family:inherit;padding:0;margin:0;font-size:inherit;color:#1c7ec9;text-decoration:none;cursor:pointer}a:hover,button:hover{color:#8ab6f0}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element,.cdk-drag-preview .mat-ripple-element,.cdk-drag-placeholder .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}.mat-elevation-z0,.mat-mdc-elevation-specific.mat-elevation-z0{box-shadow:var(--mat-app-elevation-shadow-level-0, none)}.mat-elevation-z1,.mat-mdc-elevation-specific.mat-elevation-z1{box-shadow:var(--mat-app-elevation-shadow-level-1, none)}.mat-elevation-z2,.mat-mdc-elevation-specific.mat-elevation-z2{box-shadow:var(--mat-app-elevation-shadow-level-2, none)}.mat-elevation-z3,.mat-mdc-elevation-specific.mat-elevation-z3{box-shadow:var(--mat-app-elevation-shadow-level-3, none)}.mat-elevation-z4,.mat-mdc-elevation-specific.mat-elevation-z4{box-shadow:var(--mat-app-elevation-shadow-level-4, none)}.mat-elevation-z5,.mat-mdc-elevation-specific.mat-elevation-z5{box-shadow:var(--mat-app-elevation-shadow-level-5, none)}.mat-elevation-z6,.mat-mdc-elevation-specific.mat-elevation-z6{box-shadow:var(--mat-app-elevation-shadow-level-6, none)}.mat-elevation-z7,.mat-mdc-elevation-specific.mat-elevation-z7{box-shadow:var(--mat-app-elevation-shadow-level-7, none)}.mat-elevation-z8,.mat-mdc-elevation-specific.mat-elevation-z8{box-shadow:var(--mat-app-elevation-shadow-level-8, none)}.mat-elevation-z9,.mat-mdc-elevation-specific.mat-elevation-z9{box-shadow:var(--mat-app-elevation-shadow-level-9, none)}.mat-elevation-z10,.mat-mdc-elevation-specific.mat-elevation-z10{box-shadow:var(--mat-app-elevation-shadow-level-10, none)}.mat-elevation-z11,.mat-mdc-elevation-specific.mat-elevation-z11{box-shadow:var(--mat-app-elevation-shadow-level-11, none)}.mat-elevation-z12,.mat-mdc-elevation-specific.mat-elevation-z12{box-shadow:var(--mat-app-elevation-shadow-level-12, none)}.mat-elevation-z13,.mat-mdc-elevation-specific.mat-elevation-z13{box-shadow:var(--mat-app-elevation-shadow-level-13, none)}.mat-elevation-z14,.mat-mdc-elevation-specific.mat-elevation-z14{box-shadow:var(--mat-app-elevation-shadow-level-14, none)}.mat-elevation-z15,.mat-mdc-elevation-specific.mat-elevation-z15{box-shadow:var(--mat-app-elevation-shadow-level-15, none)}.mat-elevation-z16,.mat-mdc-elevation-specific.mat-elevation-z16{box-shadow:var(--mat-app-elevation-shadow-level-16, none)}.mat-elevation-z17,.mat-mdc-elevation-specific.mat-elevation-z17{box-shadow:var(--mat-app-elevation-shadow-level-17, none)}.mat-elevation-z18,.mat-mdc-elevation-specific.mat-elevation-z18{box-shadow:var(--mat-app-elevation-shadow-level-18, none)}.mat-elevation-z19,.mat-mdc-elevation-specific.mat-elevation-z19{box-shadow:var(--mat-app-elevation-shadow-level-19, none)}.mat-elevation-z20,.mat-mdc-elevation-specific.mat-elevation-z20{box-shadow:var(--mat-app-elevation-shadow-level-20, none)}.mat-elevation-z21,.mat-mdc-elevation-specific.mat-elevation-z21{box-shadow:var(--mat-app-elevation-shadow-level-21, none)}.mat-elevation-z22,.mat-mdc-elevation-specific.mat-elevation-z22{box-shadow:var(--mat-app-elevation-shadow-level-22, none)}.mat-elevation-z23,.mat-mdc-elevation-specific.mat-elevation-z23{box-shadow:var(--mat-app-elevation-shadow-level-23, none)}.mat-elevation-z24,.mat-mdc-elevation-specific.mat-elevation-z24{box-shadow:var(--mat-app-elevation-shadow-level-24, none)}.mat-mdc-tooltip-surface{background-color:#333!important;border-radius:3px!important;color:#fff!important;font:inherit!important;font-size:.8em!important}#ssSearchBar{--mat-app-background-color: #fdfbff;--mat-app-text-color: #1a1b1f;--mat-app-elevation-shadow-level-0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-2: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-3: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-4: 0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-5: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 5px 8px 0px rgba(0, 0, 0, .14), 0px 1px 14px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-6: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-7: 0px 4px 5px -2px rgba(0, 0, 0, .2), 0px 7px 10px 1px rgba(0, 0, 0, .14), 0px 2px 16px 1px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-8: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-9: 0px 5px 6px -3px rgba(0, 0, 0, .2), 0px 9px 12px 1px rgba(0, 0, 0, .14), 0px 3px 16px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-10: 0px 6px 6px -3px rgba(0, 0, 0, .2), 0px 10px 14px 1px rgba(0, 0, 0, .14), 0px 4px 18px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-11: 0px 6px 7px -4px rgba(0, 0, 0, .2), 0px 11px 15px 1px rgba(0, 0, 0, .14), 0px 4px 20px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-12: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-13: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 13px 19px 2px rgba(0, 0, 0, .14), 0px 5px 24px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-14: 0px 7px 9px -4px rgba(0, 0, 0, .2), 0px 14px 21px 2px rgba(0, 0, 0, .14), 0px 5px 26px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-15: 0px 8px 9px -5px rgba(0, 0, 0, .2), 0px 15px 22px 2px rgba(0, 0, 0, .14), 0px 6px 28px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-16: 0px 8px 10px -5px rgba(0, 0, 0, .2), 0px 16px 24px 2px rgba(0, 0, 0, .14), 0px 6px 30px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-17: 0px 8px 11px -5px rgba(0, 0, 0, .2), 0px 17px 26px 2px rgba(0, 0, 0, .14), 0px 6px 32px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-18: 0px 9px 11px -5px rgba(0, 0, 0, .2), 0px 18px 28px 2px rgba(0, 0, 0, .14), 0px 7px 34px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-19: 0px 9px 12px -6px rgba(0, 0, 0, .2), 0px 19px 29px 2px rgba(0, 0, 0, .14), 0px 7px 36px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-20: 0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 20px 31px 3px rgba(0, 0, 0, .14), 0px 8px 38px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-21: 0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 21px 33px 3px rgba(0, 0, 0, .14), 0px 8px 40px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-22: 0px 10px 14px -6px rgba(0, 0, 0, .2), 0px 22px 35px 3px rgba(0, 0, 0, .14), 0px 8px 42px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-23: 0px 11px 14px -7px rgba(0, 0, 0, .2), 0px 23px 36px 3px rgba(0, 0, 0, .14), 0px 9px 44px 8px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-24: 0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12);--mat-ripple-color: rgba(26, 27, 31, .1);--mat-option-selected-state-label-text-color: #131c2b;--mat-option-label-text-color: #1a1b1f;--mat-option-hover-state-layer-color: rgba(26, 27, 31, .08);--mat-option-focus-state-layer-color: rgba(26, 27, 31, .12);--mat-option-selected-state-layer-color: #dae2f9;--mat-option-label-text-font: Roboto, sans-serif;--mat-option-label-text-line-height: 1.25rem;--mat-option-label-text-size: 1rem;--mat-option-label-text-tracking: .006rem;--mat-option-label-text-weight: 400;--mat-optgroup-label-text-color: #44474e;--mat-optgroup-label-text-font: Roboto, sans-serif;--mat-optgroup-label-text-line-height: 1.25rem;--mat-optgroup-label-text-size: .875rem;--mat-optgroup-label-text-tracking: .006rem;--mat-optgroup-label-text-weight: 500;--mat-full-pseudo-checkbox-selected-icon-color: #005cbb;--mat-full-pseudo-checkbox-selected-checkmark-color: #ffffff;--mat-full-pseudo-checkbox-unselected-icon-color: #44474e;--mat-full-pseudo-checkbox-disabled-selected-checkmark-color: #fdfbff;--mat-full-pseudo-checkbox-disabled-unselected-icon-color: rgba(26, 27, 31, .38);--mat-full-pseudo-checkbox-disabled-selected-icon-color: rgba(26, 27, 31, .38);--mat-minimal-pseudo-checkbox-selected-checkmark-color: #005cbb;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: rgba(26, 27, 31, .38);--mdc-elevated-card-container-color: #fdfbff;--mdc-elevated-card-container-elevation: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-elevated-card-container-shape: 12px;--mdc-outlined-card-container-color: #fdfbff;--mdc-outlined-card-outline-color: #c4c6d0;--mdc-outlined-card-container-elevation: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mdc-outlined-card-container-shape: 12px;--mdc-outlined-card-outline-width: 1px;--mat-card-subtitle-text-color: #1a1b1f;--mat-card-title-text-font: Roboto, sans-serif;--mat-card-title-text-line-height: 1.75rem;--mat-card-title-text-size: 1.375rem;--mat-card-title-text-tracking: 0rem;--mat-card-title-text-weight: 400;--mat-card-subtitle-text-font: Roboto, sans-serif;--mat-card-subtitle-text-line-height: 1.5rem;--mat-card-subtitle-text-size: 1rem;--mat-card-subtitle-text-tracking: .009rem;--mat-card-subtitle-text-weight: 500;--mdc-linear-progress-active-indicator-color: #005cbb;--mdc-linear-progress-track-color: #e0e2ec;--mdc-linear-progress-active-indicator-height: 4px;--mdc-linear-progress-track-height: 4px;--mdc-linear-progress-track-shape: 0px;--mdc-plain-tooltip-container-color: #2f3033;--mdc-plain-tooltip-supporting-text-color: #f2f0f4;--mdc-plain-tooltip-supporting-text-line-height: 1rem;--mdc-plain-tooltip-supporting-text-font: Roboto, sans-serif;--mdc-plain-tooltip-supporting-text-size: .75rem;--mdc-plain-tooltip-supporting-text-weight: 400;--mdc-plain-tooltip-supporting-text-tracking: .025rem;--mdc-plain-tooltip-container-shape: 4px;--mdc-filled-text-field-caret-color: #005cbb;--mdc-filled-text-field-focus-active-indicator-color: #005cbb;--mdc-filled-text-field-focus-label-text-color: #005cbb;--mdc-filled-text-field-container-color: #e0e2ec;--mdc-filled-text-field-disabled-container-color: rgba(26, 27, 31, .04);--mdc-filled-text-field-label-text-color: #44474e;--mdc-filled-text-field-hover-label-text-color: #44474e;--mdc-filled-text-field-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-filled-text-field-input-text-color: #1a1b1f;--mdc-filled-text-field-disabled-input-text-color: rgba(26, 27, 31, .38);--mdc-filled-text-field-input-text-placeholder-color: #44474e;--mdc-filled-text-field-error-hover-label-text-color: #410002;--mdc-filled-text-field-error-focus-label-text-color: #ba1a1a;--mdc-filled-text-field-error-label-text-color: #ba1a1a;--mdc-filled-text-field-active-indicator-color: #44474e;--mdc-filled-text-field-disabled-active-indicator-color: rgba(26, 27, 31, .38);--mdc-filled-text-field-hover-active-indicator-color: #1a1b1f;--mdc-filled-text-field-error-active-indicator-color: #ba1a1a;--mdc-filled-text-field-error-focus-active-indicator-color: #ba1a1a;--mdc-filled-text-field-error-hover-active-indicator-color: #410002;--mdc-filled-text-field-label-text-font: Roboto, sans-serif;--mdc-filled-text-field-label-text-size: 1rem;--mdc-filled-text-field-label-text-tracking: .031rem;--mdc-filled-text-field-label-text-weight: 400;--mdc-filled-text-field-active-indicator-height: 1px;--mdc-filled-text-field-focus-active-indicator-height: 2px;--mdc-filled-text-field-container-shape: 4px;--mdc-outlined-text-field-caret-color: #005cbb;--mdc-outlined-text-field-focus-outline-color: #005cbb;--mdc-outlined-text-field-focus-label-text-color: #005cbb;--mdc-outlined-text-field-label-text-color: #44474e;--mdc-outlined-text-field-hover-label-text-color: #1a1b1f;--mdc-outlined-text-field-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-outlined-text-field-input-text-color: #1a1b1f;--mdc-outlined-text-field-disabled-input-text-color: rgba(26, 27, 31, .38);--mdc-outlined-text-field-input-text-placeholder-color: #44474e;--mdc-outlined-text-field-error-focus-label-text-color: #ba1a1a;--mdc-outlined-text-field-error-label-text-color: #ba1a1a;--mdc-outlined-text-field-error-hover-label-text-color: #410002;--mdc-outlined-text-field-outline-color: #74777f;--mdc-outlined-text-field-disabled-outline-color: rgba(26, 27, 31, .12);--mdc-outlined-text-field-hover-outline-color: #1a1b1f;--mdc-outlined-text-field-error-focus-outline-color: #ba1a1a;--mdc-outlined-text-field-error-hover-outline-color: #410002;--mdc-outlined-text-field-error-outline-color: #ba1a1a;--mdc-outlined-text-field-label-text-font: Roboto, sans-serif;--mdc-outlined-text-field-label-text-size: 1rem;--mdc-outlined-text-field-label-text-tracking: .031rem;--mdc-outlined-text-field-label-text-weight: 400;--mdc-outlined-text-field-outline-width: 1px;--mdc-outlined-text-field-focus-outline-width: 2px;--mdc-outlined-text-field-container-shape: 4px;--mat-form-field-focus-select-arrow-color: #005cbb;--mat-form-field-disabled-input-text-placeholder-color: rgba(26, 27, 31, .38);--mat-form-field-state-layer-color: #1a1b1f;--mat-form-field-error-text-color: #ba1a1a;--mat-form-field-select-option-text-color: #1a1b1f;--mat-form-field-select-disabled-option-text-color: rgba(26, 27, 31, .38);--mat-form-field-leading-icon-color: #44474e;--mat-form-field-disabled-leading-icon-color: rgba(26, 27, 31, .38);--mat-form-field-trailing-icon-color: #44474e;--mat-form-field-disabled-trailing-icon-color: rgba(26, 27, 31, .38);--mat-form-field-error-focus-trailing-icon-color: #ba1a1a;--mat-form-field-error-hover-trailing-icon-color: #410002;--mat-form-field-error-trailing-icon-color: #ba1a1a;--mat-form-field-enabled-select-arrow-color: #44474e;--mat-form-field-disabled-select-arrow-color: rgba(26, 27, 31, .38);--mat-form-field-hover-state-layer-opacity: .08;--mat-form-field-container-text-font: Roboto, sans-serif;--mat-form-field-container-text-line-height: 1.5rem;--mat-form-field-container-text-size: 1rem;--mat-form-field-container-text-tracking: .031rem;--mat-form-field-container-text-weight: 400;--mat-form-field-subscript-text-font: Roboto, sans-serif;--mat-form-field-subscript-text-line-height: 1rem;--mat-form-field-subscript-text-size: .75rem;--mat-form-field-subscript-text-tracking: .025rem;--mat-form-field-subscript-text-weight: 400;--mat-form-field-container-height: 56px;--mat-form-field-filled-label-display: block;--mat-form-field-container-vertical-padding: 16px;--mat-form-field-filled-with-label-container-padding-top: 24px;--mat-form-field-filled-with-label-container-padding-bottom: 8px;--mat-form-field-focus-state-layer-opacity: 0;--mat-select-panel-background-color: #efedf1;--mat-select-enabled-trigger-text-color: #1a1b1f;--mat-select-disabled-trigger-text-color: rgba(26, 27, 31, .38);--mat-select-placeholder-text-color: #44474e;--mat-select-enabled-arrow-color: #44474e;--mat-select-disabled-arrow-color: rgba(26, 27, 31, .38);--mat-select-focused-arrow-color: #005cbb;--mat-select-invalid-arrow-color: #ba1a1a;--mat-select-trigger-text-font: Roboto, sans-serif;--mat-select-trigger-text-line-height: 1.5rem;--mat-select-trigger-text-size: 1rem;--mat-select-trigger-text-tracking: .031rem;--mat-select-trigger-text-weight: 400;--mat-select-arrow-transform: translateY(-8px);--mat-select-container-elevation-shadow: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-autocomplete-background-color: #efedf1;--mat-autocomplete-container-shape: 4px;--mat-autocomplete-container-elevation-shadow: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mdc-dialog-container-color: #fdfbff;--mdc-dialog-subhead-color: #1a1b1f;--mdc-dialog-supporting-text-color: #44474e;--mdc-dialog-subhead-font: Roboto, sans-serif;--mdc-dialog-subhead-line-height: 2rem;--mdc-dialog-subhead-size: 1.5rem;--mdc-dialog-subhead-weight: 400;--mdc-dialog-subhead-tracking: 0rem;--mdc-dialog-supporting-text-font: Roboto, sans-serif;--mdc-dialog-supporting-text-line-height: 1.25rem;--mdc-dialog-supporting-text-size: .875rem;--mdc-dialog-supporting-text-weight: 400;--mdc-dialog-supporting-text-tracking: .016rem;--mdc-dialog-container-shape: 28px;--mat-dialog-container-elevation-shadow: none;--mat-dialog-container-max-width: 560px;--mat-dialog-container-small-max-width: calc(100vw - 32px) ;--mat-dialog-container-min-width: 280px;--mat-dialog-actions-alignment: flex-end;--mat-dialog-actions-padding: 16px 24px;--mat-dialog-content-padding: 20px 24px;--mat-dialog-with-actions-content-padding: 20px 24px 0;--mat-dialog-headline-padding: 6px 24px 13px;--mdc-chip-outline-color: #74777f;--mdc-chip-disabled-outline-color: rgba(26, 27, 31, .12);--mdc-chip-focus-outline-color: #44474e;--mdc-chip-hover-state-layer-opacity: .08;--mdc-chip-selected-hover-state-layer-opacity: .08;--mdc-chip-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-chip-elevated-selected-container-color: #dae2f9;--mdc-chip-flat-disabled-selected-container-color: rgba(26, 27, 31, .12);--mdc-chip-focus-state-layer-color: #44474e;--mdc-chip-hover-state-layer-color: #44474e;--mdc-chip-selected-hover-state-layer-color: #131c2b;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-selected-focus-state-layer-color: #131c2b;--mdc-chip-selected-focus-state-layer-opacity: .12;--mdc-chip-label-text-color: #44474e;--mdc-chip-selected-label-text-color: #131c2b;--mdc-chip-with-icon-icon-color: #44474e;--mdc-chip-with-icon-disabled-icon-color: #1a1b1f;--mdc-chip-with-icon-selected-icon-color: #131c2b;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color: #1a1b1f;--mdc-chip-with-trailing-icon-trailing-icon-color: #44474e;--mdc-chip-label-text-font: Roboto, sans-serif;--mdc-chip-label-text-line-height: 1.25rem;--mdc-chip-label-text-size: .875rem;--mdc-chip-label-text-tracking: .006rem;--mdc-chip-label-text-weight: 500;--mdc-chip-container-height: 32px;--mdc-chip-container-shape-radius: 8px;--mdc-chip-with-avatar-avatar-size: 24px;--mdc-chip-with-icon-icon-size: 18px;--mdc-chip-outline-width: 1px;--mdc-chip-with-avatar-disabled-avatar-opacity: .38;--mdc-chip-flat-selected-outline-width: 0;--mdc-chip-with-trailing-icon-disabled-trailing-icon-opacity: .38;--mdc-chip-with-icon-disabled-icon-opacity: .38;--mat-chip-trailing-action-state-layer-color: #44474e;--mat-chip-selected-trailing-action-state-layer-color: #131c2b;--mat-chip-trailing-action-hover-state-layer-opacity: .08;--mat-chip-trailing-action-focus-state-layer-opacity: .12;--mat-chip-selected-disabled-trailing-icon-color: #1a1b1f;--mat-chip-selected-trailing-icon-color: #131c2b;--mat-chip-disabled-container-opacity: 1;--mat-chip-trailing-action-opacity: 1;--mat-chip-trailing-action-focus-opacity: 1;--mdc-switch-selected-focus-state-layer-opacity: .12;--mdc-switch-selected-hover-state-layer-opacity: .08;--mdc-switch-selected-pressed-state-layer-opacity: .12;--mdc-switch-unselected-focus-state-layer-opacity: .12;--mdc-switch-unselected-hover-state-layer-opacity: .08;--mdc-switch-unselected-pressed-state-layer-opacity: .12;--mdc-switch-selected-focus-state-layer-color: #005cbb;--mdc-switch-selected-handle-color: #ffffff;--mdc-switch-selected-hover-state-layer-color: #005cbb;--mdc-switch-selected-pressed-state-layer-color: #005cbb;--mdc-switch-selected-focus-handle-color: #d7e3ff;--mdc-switch-selected-hover-handle-color: #d7e3ff;--mdc-switch-selected-pressed-handle-color: #d7e3ff;--mdc-switch-selected-focus-track-color: #005cbb;--mdc-switch-selected-hover-track-color: #005cbb;--mdc-switch-selected-pressed-track-color: #005cbb;--mdc-switch-selected-track-color: #005cbb;--mdc-switch-disabled-selected-handle-color: #fdfbff;--mdc-switch-disabled-selected-icon-color: #1a1b1f;--mdc-switch-disabled-selected-track-color: #1a1b1f;--mdc-switch-disabled-unselected-handle-color: #1a1b1f;--mdc-switch-disabled-unselected-icon-color: #e0e2ec;--mdc-switch-disabled-unselected-track-color: #e0e2ec;--mdc-switch-selected-icon-color: #001b3f;--mdc-switch-unselected-focus-handle-color: #44474e;--mdc-switch-unselected-focus-state-layer-color: #1a1b1f;--mdc-switch-unselected-focus-track-color: #e0e2ec;--mdc-switch-unselected-handle-color: #74777f;--mdc-switch-unselected-hover-handle-color: #44474e;--mdc-switch-unselected-hover-state-layer-color: #1a1b1f;--mdc-switch-unselected-hover-track-color: #e0e2ec;--mdc-switch-unselected-icon-color: #e0e2ec;--mdc-switch-unselected-pressed-handle-color: #44474e;--mdc-switch-unselected-pressed-state-layer-color: #1a1b1f;--mdc-switch-unselected-pressed-track-color: #e0e2ec;--mdc-switch-unselected-track-color: #e0e2ec;--mdc-switch-disabled-selected-icon-opacity: .38;--mdc-switch-disabled-track-opacity: .12;--mdc-switch-disabled-unselected-icon-opacity: .38;--mdc-switch-handle-shape: 9999px;--mdc-switch-selected-icon-size: 16px;--mdc-switch-track-height: 32px;--mdc-switch-track-shape: 9999px;--mdc-switch-track-width: 52px;--mdc-switch-unselected-icon-size: 16px;--mdc-switch-state-layer-size: 40px;--mat-switch-track-outline-color: #74777f;--mat-switch-disabled-unselected-track-outline-color: #1a1b1f;--mat-switch-label-text-color: #1a1b1f;--mat-switch-label-text-font: Roboto, sans-serif;--mat-switch-label-text-line-height: 1.25rem;--mat-switch-label-text-size: .875rem;--mat-switch-label-text-tracking: .016rem;--mat-switch-label-text-weight: 400;--mat-switch-disabled-selected-handle-opacity: 1;--mat-switch-disabled-unselected-handle-opacity: .38;--mat-switch-unselected-handle-size: 16px;--mat-switch-selected-handle-size: 24px;--mat-switch-pressed-handle-size: 28px;--mat-switch-with-icon-handle-size: 24px;--mat-switch-selected-handle-horizontal-margin: 0 24px;--mat-switch-selected-with-icon-handle-horizontal-margin: 0 24px;--mat-switch-selected-pressed-handle-horizontal-margin: 0 22px;--mat-switch-unselected-handle-horizontal-margin: 0 8px;--mat-switch-unselected-with-icon-handle-horizontal-margin: 0 4px;--mat-switch-unselected-pressed-handle-horizontal-margin: 0 2px;--mat-switch-visible-track-opacity: 1;--mat-switch-hidden-track-opacity: 0;--mat-switch-visible-track-transition: opacity 75ms;--mat-switch-hidden-track-transition: opacity 75ms;--mat-switch-track-outline-width: 2px;--mat-switch-selected-track-outline-width: 2px;--mat-switch-selected-track-outline-color: transparent;--mat-switch-disabled-unselected-track-outline-width: 2px;--mdc-radio-disabled-selected-icon-color: #1a1b1f;--mdc-radio-disabled-unselected-icon-color: #1a1b1f;--mdc-radio-unselected-hover-icon-color: #1a1b1f;--mdc-radio-unselected-icon-color: #44474e;--mdc-radio-unselected-pressed-icon-color: #1a1b1f;--mdc-radio-selected-focus-icon-color: #005cbb;--mdc-radio-selected-hover-icon-color: #005cbb;--mdc-radio-selected-icon-color: #005cbb;--mdc-radio-selected-pressed-icon-color: #005cbb;--mdc-radio-state-layer-size: 40px;--mdc-radio-disabled-selected-icon-opacity: .38;--mdc-radio-disabled-unselected-icon-opacity: .38;--mat-radio-ripple-color: #1a1b1f;--mat-radio-checked-ripple-color: #005cbb;--mat-radio-disabled-label-color: rgba(26, 27, 31, .38);--mat-radio-label-text-color: #1a1b1f;--mat-radio-label-text-font: Roboto, sans-serif;--mat-radio-label-text-line-height: 1.25rem;--mat-radio-label-text-size: .875rem;--mat-radio-label-text-tracking: .016rem;--mat-radio-label-text-weight: 400;--mat-radio-touch-target-display: block;--mdc-slider-handle-color: #005cbb;--mdc-slider-focus-handle-color: #005cbb;--mdc-slider-hover-handle-color: #005cbb;--mdc-slider-active-track-color: #005cbb;--mdc-slider-inactive-track-color: #e0e2ec;--mdc-slider-with-tick-marks-inactive-container-color: #44474e;--mdc-slider-with-tick-marks-active-container-color: #ffffff;--mdc-slider-disabled-active-track-color: #1a1b1f;--mdc-slider-disabled-handle-color: #1a1b1f;--mdc-slider-disabled-inactive-track-color: #1a1b1f;--mdc-slider-label-container-color: #005cbb;--mdc-slider-label-label-text-color: #ffffff;--mdc-slider-with-overlap-handle-outline-color: #ffffff;--mdc-slider-with-tick-marks-disabled-container-color: #1a1b1f;--mdc-slider-handle-elevation: 1;--mdc-slider-handle-shadow-color: #000000;--mdc-slider-label-label-text-font: Roboto, sans-serif;--mdc-slider-label-label-text-size: .75rem;--mdc-slider-label-label-text-line-height: 1rem;--mdc-slider-label-label-text-tracking: .031rem;--mdc-slider-label-label-text-weight: 500;--mdc-slider-active-track-height: 4px;--mdc-slider-active-track-shape: 9999px;--mdc-slider-handle-height: 20px;--mdc-slider-handle-shape: 9999px;--mdc-slider-handle-width: 20px;--mdc-slider-inactive-track-height: 4px;--mdc-slider-inactive-track-shape: 9999px;--mdc-slider-with-overlap-handle-outline-width: 1px;--mdc-slider-with-tick-marks-active-container-opacity: .38;--mdc-slider-with-tick-marks-container-shape: 9999px;--mdc-slider-with-tick-marks-container-size: 2px;--mdc-slider-with-tick-marks-inactive-container-opacity: .38;--mat-slider-ripple-color: #005cbb;--mat-slider-hover-state-layer-color: rgba(0, 92, 187, .05);--mat-slider-focus-state-layer-color: rgba(0, 92, 187, .2);--mat-slider-value-indicator-width: 28px;--mat-slider-value-indicator-height: 28px;--mat-slider-value-indicator-caret-display: none;--mat-slider-value-indicator-border-radius: 50% 50% 50% 0;--mat-slider-value-indicator-padding: 0;--mat-slider-value-indicator-text-transform: rotate(45deg);--mat-slider-value-indicator-container-transform: translateX(-50%) rotate(-45deg);--mat-slider-value-indicator-opacity: 1;--mat-menu-item-label-text-color: #1a1b1f;--mat-menu-item-icon-color: #44474e;--mat-menu-item-hover-state-layer-color: rgba(26, 27, 31, .08);--mat-menu-item-focus-state-layer-color: rgba(26, 27, 31, .12);--mat-menu-container-color: #efedf1;--mat-menu-divider-color: #e0e2ec;--mat-menu-item-label-text-font: Roboto, sans-serif;--mat-menu-item-label-text-size: .875rem;--mat-menu-item-label-text-tracking: .006rem;--mat-menu-item-label-text-line-height: 1.25rem;--mat-menu-item-label-text-weight: 500;--mat-menu-container-shape: 4px;--mat-menu-divider-bottom-spacing: 8px;--mat-menu-divider-top-spacing: 8px;--mat-menu-item-spacing: 12px;--mat-menu-item-icon-size: 24px;--mat-menu-item-leading-spacing: 12px;--mat-menu-item-trailing-spacing: 12px;--mat-menu-item-with-icon-leading-spacing: 12px;--mat-menu-item-with-icon-trailing-spacing: 12px;--mat-menu-base-elevation-level: 2;--mdc-list-list-item-container-color: transparent;--mdc-list-list-item-leading-avatar-color: #d7e3ff;--mdc-list-list-item-disabled-state-layer-color: #1a1b1f;--mdc-list-list-item-disabled-state-layer-opacity: .12;--mdc-list-list-item-label-text-color: #1a1b1f;--mdc-list-list-item-supporting-text-color: #44474e;--mdc-list-list-item-leading-icon-color: #44474e;--mdc-list-list-item-trailing-supporting-text-color: #44474e;--mdc-list-list-item-trailing-icon-color: #44474e;--mdc-list-list-item-selected-trailing-icon-color: #005cbb;--mdc-list-list-item-disabled-label-text-color: #1a1b1f;--mdc-list-list-item-disabled-leading-icon-color: #1a1b1f;--mdc-list-list-item-disabled-trailing-icon-color: #1a1b1f;--mdc-list-list-item-hover-label-text-color: #1a1b1f;--mdc-list-list-item-focus-label-text-color: #1a1b1f;--mdc-list-list-item-hover-state-layer-color: #1a1b1f;--mdc-list-list-item-hover-state-layer-opacity: .08;--mdc-list-list-item-focus-state-layer-color: #1a1b1f;--mdc-list-list-item-focus-state-layer-opacity: .12;--mdc-list-list-item-label-text-font: Roboto, sans-serif;--mdc-list-list-item-label-text-line-height: 1.5rem;--mdc-list-list-item-label-text-size: 1rem;--mdc-list-list-item-label-text-tracking: .031rem;--mdc-list-list-item-label-text-weight: 400;--mdc-list-list-item-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-supporting-text-line-height: 1.25rem;--mdc-list-list-item-supporting-text-size: .875rem;--mdc-list-list-item-supporting-text-tracking: .016rem;--mdc-list-list-item-supporting-text-weight: 400;--mdc-list-list-item-trailing-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-trailing-supporting-text-line-height: 1rem;--mdc-list-list-item-trailing-supporting-text-size: .688rem;--mdc-list-list-item-trailing-supporting-text-tracking: .031rem;--mdc-list-list-item-trailing-supporting-text-weight: 500;--mdc-list-list-item-one-line-container-height: 48px;--mdc-list-list-item-two-line-container-height: 64px;--mdc-list-list-item-three-line-container-height: 88px;--mdc-list-list-item-container-shape: 0px;--mdc-list-list-item-leading-avatar-shape: 9999px;--mdc-list-list-item-leading-icon-size: 24px;--mdc-list-list-item-leading-avatar-size: 40px;--mdc-list-list-item-trailing-icon-size: 24px;--mdc-list-list-item-disabled-label-text-opacity: .3;--mdc-list-list-item-disabled-leading-icon-opacity: .38;--mdc-list-list-item-disabled-trailing-icon-opacity: .38;--mat-list-active-indicator-color: #dae2f9;--mat-list-list-item-leading-icon-start-space: 16px;--mat-list-list-item-leading-icon-end-space: 16px;--mat-list-active-indicator-shape: 9999px;--mat-paginator-container-text-color: #1a1b1f;--mat-paginator-container-background-color: #fdfbff;--mat-paginator-enabled-icon-color: #44474e;--mat-paginator-disabled-icon-color: rgba(26, 27, 31, .38);--mat-paginator-container-text-font: Roboto, sans-serif;--mat-paginator-container-text-line-height: 1rem;--mat-paginator-container-text-size: .75rem;--mat-paginator-container-text-tracking: .025rem;--mat-paginator-container-text-weight: 400;--mat-paginator-select-trigger-text-size: .75rem;--mat-paginator-container-size: 56px;--mat-paginator-form-field-container-height: 40px;--mat-paginator-form-field-container-vertical-padding: 8px;--mat-paginator-touch-target-display: block;--mdc-secondary-navigation-tab-container-height: 48px;--mdc-tab-indicator-active-indicator-color: #005cbb;--mdc-tab-indicator-active-indicator-height: 2px;--mdc-tab-indicator-active-indicator-shape: 0;--mat-tab-header-divider-color: #e0e2ec;--mat-tab-header-pagination-icon-color: #1a1b1f;--mat-tab-header-inactive-label-text-color: #1a1b1f;--mat-tab-header-active-label-text-color: #1a1b1f;--mat-tab-header-active-ripple-color: #1a1b1f;--mat-tab-header-inactive-ripple-color: #1a1b1f;--mat-tab-header-inactive-focus-label-text-color: #1a1b1f;--mat-tab-header-inactive-hover-label-text-color: #1a1b1f;--mat-tab-header-active-focus-label-text-color: #1a1b1f;--mat-tab-header-active-hover-label-text-color: #1a1b1f;--mat-tab-header-active-focus-indicator-color: #005cbb;--mat-tab-header-active-hover-indicator-color: #005cbb;--mat-tab-header-label-text-font: Roboto, sans-serif;--mat-tab-header-label-text-size: .875rem;--mat-tab-header-label-text-tracking: .006rem;--mat-tab-header-label-text-line-height: 1.25rem;--mat-tab-header-label-text-weight: 500;--mat-tab-header-divider-height: 1px;--mdc-checkbox-disabled-selected-checkmark-color: #fdfbff;--mdc-checkbox-selected-focus-state-layer-opacity: .12;--mdc-checkbox-selected-hover-state-layer-opacity: .08;--mdc-checkbox-selected-pressed-state-layer-opacity: .12;--mdc-checkbox-unselected-focus-state-layer-opacity: .12;--mdc-checkbox-unselected-hover-state-layer-opacity: .08;--mdc-checkbox-unselected-pressed-state-layer-opacity: .12;--mdc-checkbox-disabled-selected-icon-color: rgba(26, 27, 31, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(26, 27, 31, .38);--mdc-checkbox-selected-checkmark-color: #ffffff;--mdc-checkbox-selected-focus-icon-color: #005cbb;--mdc-checkbox-selected-hover-icon-color: #005cbb;--mdc-checkbox-selected-icon-color: #005cbb;--mdc-checkbox-unselected-focus-icon-color: #1a1b1f;--mdc-checkbox-unselected-hover-icon-color: #1a1b1f;--mdc-checkbox-unselected-icon-color: #44474e;--mdc-checkbox-selected-focus-state-layer-color: #005cbb;--mdc-checkbox-selected-hover-state-layer-color: #005cbb;--mdc-checkbox-selected-pressed-state-layer-color: #1a1b1f;--mdc-checkbox-unselected-focus-state-layer-color: #1a1b1f;--mdc-checkbox-unselected-hover-state-layer-color: #1a1b1f;--mdc-checkbox-unselected-pressed-state-layer-color: #005cbb;--mdc-checkbox-state-layer-size: 40px;--mat-checkbox-disabled-label-color: rgba(26, 27, 31, .38);--mat-checkbox-label-text-color: #1a1b1f;--mat-checkbox-label-text-font: Roboto, sans-serif;--mat-checkbox-label-text-line-height: 1.25rem;--mat-checkbox-label-text-size: .875rem;--mat-checkbox-label-text-tracking: .016rem;--mat-checkbox-label-text-weight: 400;--mat-checkbox-touch-target-display: block;--mdc-text-button-label-text-color: #005cbb;--mdc-text-button-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-text-button-label-text-font: Roboto, sans-serif;--mdc-text-button-label-text-size: .875rem;--mdc-text-button-label-text-tracking: .006rem;--mdc-text-button-label-text-weight: 500;--mdc-text-button-container-height: 40px;--mdc-text-button-container-shape: 9999px;--mdc-protected-button-container-elevation-shadow: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-protected-button-disabled-container-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mdc-protected-button-focus-container-elevation-shadow: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-protected-button-hover-container-elevation-shadow: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mdc-protected-button-pressed-container-elevation-shadow: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-protected-button-container-color: #fdfbff;--mdc-protected-button-label-text-color: #005cbb;--mdc-protected-button-disabled-container-color: rgba(26, 27, 31, .12);--mdc-protected-button-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-protected-button-label-text-font: Roboto, sans-serif;--mdc-protected-button-label-text-size: .875rem;--mdc-protected-button-label-text-tracking: .006rem;--mdc-protected-button-label-text-weight: 500;--mdc-protected-button-container-height: 40px;--mdc-protected-button-container-shape: 9999px;--mdc-filled-button-container-color: #005cbb;--mdc-filled-button-label-text-color: #ffffff;--mdc-filled-button-disabled-container-color: rgba(26, 27, 31, .12);--mdc-filled-button-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-filled-button-label-text-font: Roboto, sans-serif;--mdc-filled-button-label-text-size: .875rem;--mdc-filled-button-label-text-tracking: .006rem;--mdc-filled-button-label-text-weight: 500;--mdc-filled-button-container-height: 40px;--mdc-filled-button-container-shape: 9999px;--mdc-outlined-button-disabled-outline-color: rgba(26, 27, 31, .12);--mdc-outlined-button-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-outlined-button-label-text-color: #005cbb;--mdc-outlined-button-outline-color: #74777f;--mdc-outlined-button-label-text-font: Roboto, sans-serif;--mdc-outlined-button-label-text-size: .875rem;--mdc-outlined-button-label-text-tracking: .006rem;--mdc-outlined-button-label-text-weight: 500;--mdc-outlined-button-container-height: 40px;--mdc-outlined-button-outline-width: 1px;--mdc-outlined-button-container-shape: 9999px;--mat-text-button-state-layer-color: #005cbb;--mat-text-button-disabled-state-layer-color: #44474e;--mat-text-button-ripple-color: rgba(0, 92, 187, .12);--mat-text-button-hover-state-layer-opacity: .08;--mat-text-button-focus-state-layer-opacity: .12;--mat-text-button-pressed-state-layer-opacity: .12;--mat-text-button-touch-target-display: block;--mat-text-button-horizontal-padding: 12px;--mat-text-button-with-icon-horizontal-padding: 16px;--mat-text-button-icon-spacing: 8px;--mat-text-button-icon-offset: -4px;--mat-protected-button-state-layer-color: #005cbb;--mat-protected-button-disabled-state-layer-color: #44474e;--mat-protected-button-ripple-color: rgba(0, 92, 187, .12);--mat-protected-button-hover-state-layer-opacity: .08;--mat-protected-button-focus-state-layer-opacity: .12;--mat-protected-button-pressed-state-layer-opacity: .12;--mat-protected-button-touch-target-display: block;--mat-protected-button-horizontal-padding: 24px;--mat-protected-button-icon-spacing: 8px;--mat-protected-button-icon-offset: -8px;--mat-filled-button-state-layer-color: #ffffff;--mat-filled-button-disabled-state-layer-color: #44474e;--mat-filled-button-ripple-color: rgba(255, 255, 255, .12);--mat-filled-button-hover-state-layer-opacity: .08;--mat-filled-button-focus-state-layer-opacity: .12;--mat-filled-button-pressed-state-layer-opacity: .12;--mat-filled-button-touch-target-display: block;--mat-filled-button-horizontal-padding: 24px;--mat-filled-button-icon-spacing: 8px;--mat-filled-button-icon-offset: -8px;--mat-outlined-button-state-layer-color: #005cbb;--mat-outlined-button-disabled-state-layer-color: #44474e;--mat-outlined-button-ripple-color: rgba(0, 92, 187, .12);--mat-outlined-button-hover-state-layer-opacity: .08;--mat-outlined-button-focus-state-layer-opacity: .12;--mat-outlined-button-pressed-state-layer-opacity: .12;--mat-outlined-button-touch-target-display: block;--mat-outlined-button-horizontal-padding: 24px;--mat-outlined-button-icon-spacing: 8px;--mat-outlined-button-icon-offset: -8px;--mdc-icon-button-icon-color: #44474e;--mdc-icon-button-disabled-icon-color: rgba(26, 27, 31, .38);--mdc-icon-button-state-layer-size: 40px;--mdc-icon-button-icon-size: 24px;--mat-icon-button-state-layer-color: #44474e;--mat-icon-button-disabled-state-layer-color: #44474e;--mat-icon-button-ripple-color: rgba(68, 71, 78, .12);--mat-icon-button-hover-state-layer-opacity: .08;--mat-icon-button-focus-state-layer-opacity: .12;--mat-icon-button-pressed-state-layer-opacity: .12;--mat-icon-button-touch-target-display: block;--mdc-extended-fab-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-extended-fab-focus-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-extended-fab-hover-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-extended-fab-pressed-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-extended-fab-label-text-font: Roboto, sans-serif;--mdc-extended-fab-label-text-size: .875rem;--mdc-extended-fab-label-text-tracking: .006rem;--mdc-extended-fab-label-text-weight: 500;--mdc-extended-fab-container-height: 56px;--mdc-extended-fab-container-shape: 16px;--mdc-fab-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-focus-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-hover-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-fab-pressed-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-container-color: #d7e3ff;--mdc-fab-container-shape: 16px;--mdc-fab-small-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-small-focus-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-small-hover-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-fab-small-pressed-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-small-container-color: #d7e3ff;--mdc-fab-small-container-shape: 12px;--mat-fab-foreground-color: #001b3f;--mat-fab-state-layer-color: #001b3f;--mat-fab-ripple-color: rgba(0, 27, 63, .12);--mat-fab-hover-state-layer-opacity: .08;--mat-fab-focus-state-layer-opacity: .12;--mat-fab-pressed-state-layer-opacity: .12;--mat-fab-disabled-state-container-color: rgba(26, 27, 31, .12);--mat-fab-disabled-state-foreground-color: rgba(26, 27, 31, .38);--mat-fab-touch-target-display: block;--mat-fab-small-foreground-color: #001b3f;--mat-fab-small-state-layer-color: #001b3f;--mat-fab-small-ripple-color: rgba(0, 27, 63, .12);--mat-fab-small-hover-state-layer-opacity: .08;--mat-fab-small-focus-state-layer-opacity: .12;--mat-fab-small-pressed-state-layer-opacity: .12;--mat-fab-small-disabled-state-container-color: rgba(26, 27, 31, .12);--mat-fab-small-disabled-state-foreground-color: rgba(26, 27, 31, .38);--mdc-snackbar-container-color: #2f3033;--mdc-snackbar-supporting-text-color: #f2f0f4;--mdc-snackbar-supporting-text-font: Roboto, sans-serif;--mdc-snackbar-supporting-text-line-height: 1.25rem;--mdc-snackbar-supporting-text-size: .875rem;--mdc-snackbar-supporting-text-weight: 400;--mdc-snackbar-container-shape: 4px;--mat-snack-bar-button-color: #abc7ff;--mat-table-background-color: #fdfbff;--mat-table-header-headline-color: #1a1b1f;--mat-table-row-item-label-text-color: #1a1b1f;--mat-table-row-item-outline-color: #74777f;--mat-table-header-headline-font: Roboto, sans-serif;--mat-table-header-headline-line-height: 1.25rem;--mat-table-header-headline-size: .875rem;--mat-table-header-headline-weight: 500;--mat-table-header-headline-tracking: .006rem;--mat-table-row-item-label-text-font: Roboto, sans-serif;--mat-table-row-item-label-text-line-height: 1.25rem;--mat-table-row-item-label-text-size: .875rem;--mat-table-row-item-label-text-weight: 400;--mat-table-row-item-label-text-tracking: .016rem;--mat-table-footer-supporting-text-font: Roboto, sans-serif;--mat-table-footer-supporting-text-line-height: 1.25rem;--mat-table-footer-supporting-text-size: .875rem;--mat-table-footer-supporting-text-weight: 400;--mat-table-footer-supporting-text-tracking: .016rem;--mat-table-header-container-height: 56px;--mat-table-footer-container-height: 52px;--mat-table-row-item-container-height: 52px;--mat-table-row-item-outline-width: 1px;--mdc-circular-progress-active-indicator-color: #005cbb;--mdc-circular-progress-active-indicator-width: 4px;--mdc-circular-progress-size: 48px;--mat-badge-background-color: #ba1a1a;--mat-badge-text-color: #ffffff;--mat-badge-disabled-state-background-color: rgba(186, 26, 26, .38);--mat-badge-disabled-state-text-color: #ffffff;--mat-badge-text-font: Roboto, sans-serif;--mat-badge-text-size: .688rem;--mat-badge-text-weight: 500;--mat-badge-large-size-text-size: .688rem;--mat-badge-container-shape: 9999px;--mat-badge-container-size: 16px;--mat-badge-small-size-container-size: 6px;--mat-badge-large-size-container-size: 16px;--mat-badge-legacy-container-size: unset;--mat-badge-legacy-small-size-container-size: unset;--mat-badge-legacy-large-size-container-size: unset;--mat-badge-container-offset: -12px 0;--mat-badge-small-size-container-offset: -6px 0;--mat-badge-large-size-container-offset: -12px 0;--mat-badge-container-overlap-offset: -12px;--mat-badge-small-size-container-overlap-offset: -6px;--mat-badge-large-size-container-overlap-offset: -12px;--mat-badge-container-padding: 0 4px;--mat-badge-small-size-container-padding: 0;--mat-badge-large-size-container-padding: 0 4px;--mat-badge-small-size-text-size: 0;--mat-bottom-sheet-container-text-color: #1a1b1f;--mat-bottom-sheet-container-background-color: #f5f3f7;--mat-bottom-sheet-container-text-font: Roboto, sans-serif;--mat-bottom-sheet-container-text-line-height: 1.5rem;--mat-bottom-sheet-container-text-size: 1rem;--mat-bottom-sheet-container-text-tracking: .031rem;--mat-bottom-sheet-container-text-weight: 400;--mat-bottom-sheet-container-shape: 28px;--mat-standard-button-toggle-hover-state-layer-opacity: .08;--mat-standard-button-toggle-focus-state-layer-opacity: .12;--mat-standard-button-toggle-text-color: #1a1b1f;--mat-standard-button-toggle-state-layer-color: #1a1b1f;--mat-standard-button-toggle-selected-state-background-color: #dae2f9;--mat-standard-button-toggle-selected-state-text-color: #131c2b;--mat-standard-button-toggle-disabled-state-text-color: rgba(26, 27, 31, .38);--mat-standard-button-toggle-disabled-selected-state-text-color: rgba(26, 27, 31, .38);--mat-standard-button-toggle-disabled-selected-state-background-color: rgba(26, 27, 31, .12);--mat-standard-button-toggle-divider-color: #74777f;--mat-standard-button-toggle-label-text-font: Roboto, sans-serif;--mat-standard-button-toggle-label-text-line-height: 1.25rem;--mat-standard-button-toggle-label-text-size: .875rem;--mat-standard-button-toggle-label-text-tracking: .006rem;--mat-standard-button-toggle-label-text-weight: 500;--mat-standard-button-toggle-height: 40px;--mat-standard-button-toggle-shape: 9999px;--mat-standard-button-toggle-background-color: transparent;--mat-standard-button-toggle-disabled-state-background-color: transparent;--mat-datepicker-calendar-date-selected-state-text-color: #ffffff;--mat-datepicker-calendar-date-selected-state-background-color: #005cbb;--mat-datepicker-calendar-date-selected-disabled-state-background-color: rgba(26, 27, 31, .38);--mat-datepicker-calendar-date-today-selected-state-outline-color: #005cbb;--mat-datepicker-calendar-date-focus-state-background-color: rgba(26, 27, 31, .12);--mat-datepicker-calendar-date-hover-state-background-color: rgba(26, 27, 31, .08);--mat-datepicker-toggle-active-state-icon-color: #44474e;--mat-datepicker-calendar-date-in-range-state-background-color: #d7e3ff;--mat-datepicker-calendar-date-in-comparison-range-state-background-color: #d7e3ff;--mat-datepicker-calendar-date-in-overlap-range-state-background-color: #dae2f9;--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color: #565e71;--mat-datepicker-toggle-icon-color: #44474e;--mat-datepicker-calendar-body-label-text-color: #1a1b1f;--mat-datepicker-calendar-period-button-text-color: #44474e;--mat-datepicker-calendar-period-button-icon-color: #44474e;--mat-datepicker-calendar-navigation-button-icon-color: #44474e;--mat-datepicker-calendar-header-text-color: #44474e;--mat-datepicker-calendar-date-today-outline-color: #005cbb;--mat-datepicker-calendar-date-today-disabled-state-outline-color: rgba(26, 27, 31, .38);--mat-datepicker-calendar-date-text-color: #1a1b1f;--mat-datepicker-calendar-date-disabled-state-text-color: rgba(26, 27, 31, .38);--mat-datepicker-calendar-date-preview-state-outline-color: #005cbb;--mat-datepicker-range-input-separator-color: #1a1b1f;--mat-datepicker-range-input-disabled-state-separator-color: rgba(26, 27, 31, .38);--mat-datepicker-range-input-disabled-state-text-color: rgba(26, 27, 31, .38);--mat-datepicker-calendar-container-background-color: #e9e8ec;--mat-datepicker-calendar-container-text-color: #1a1b1f;--mat-datepicker-calendar-text-font: Roboto, sans-serif;--mat-datepicker-calendar-text-size: 1rem;--mat-datepicker-calendar-body-label-text-size: .875rem;--mat-datepicker-calendar-body-label-text-weight: 500;--mat-datepicker-calendar-period-button-text-size: .875rem;--mat-datepicker-calendar-period-button-text-weight: 500;--mat-datepicker-calendar-header-text-size: .875rem;--mat-datepicker-calendar-header-text-weight: 500;--mat-datepicker-calendar-container-shape: 16px;--mat-datepicker-calendar-container-touch-shape: 28px;--mat-datepicker-calendar-container-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-datepicker-calendar-container-touch-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-datepicker-calendar-header-divider-color: transparent;--mat-datepicker-calendar-date-outline-color: transparent;--mat-divider-color: #74777f;--mat-divider-width: 1px;--mat-expansion-container-background-color: #fdfbff;--mat-expansion-container-text-color: #1a1b1f;--mat-expansion-actions-divider-color: #74777f;--mat-expansion-header-hover-state-layer-color: rgba(26, 27, 31, .08);--mat-expansion-header-focus-state-layer-color: rgba(26, 27, 31, .12);--mat-expansion-header-disabled-state-text-color: rgba(26, 27, 31, .38);--mat-expansion-header-text-color: #1a1b1f;--mat-expansion-header-description-color: #44474e;--mat-expansion-header-indicator-color: #44474e;--mat-expansion-header-text-font: Roboto, sans-serif;--mat-expansion-header-text-size: 1rem;--mat-expansion-header-text-weight: 500;--mat-expansion-header-text-line-height: 1.5rem;--mat-expansion-header-text-tracking: .009rem;--mat-expansion-container-text-font: Roboto, sans-serif;--mat-expansion-container-text-line-height: 1.5rem;--mat-expansion-container-text-size: 1rem;--mat-expansion-container-text-tracking: .031rem;--mat-expansion-container-text-weight: 400;--mat-expansion-header-collapsed-state-height: 48px;--mat-expansion-header-expanded-state-height: 64px;--mat-expansion-container-shape: 12px;--mat-expansion-legacy-header-indicator-display: none;--mat-expansion-header-indicator-display: inline-block;--mat-grid-list-tile-header-primary-text-size: 400 1rem / 1.5rem Roboto, sans-serif;--mat-grid-list-tile-header-secondary-text-size: 400 .875rem / 1.25rem Roboto, sans-serif;--mat-grid-list-tile-footer-primary-text-size: 400 1rem / 1.5rem Roboto, sans-serif;--mat-grid-list-tile-footer-secondary-text-size: 400 .875rem / 1.25rem Roboto, sans-serif;--mat-icon-color: inherit;--mat-sidenav-container-background-color: #fdfbff;--mat-sidenav-container-text-color: #44474e;--mat-sidenav-content-background-color: #fdfbff;--mat-sidenav-content-text-color: #1a1b1f;--mat-sidenav-scrim-color: rgba(45, 48, 56, .4);--mat-sidenav-container-shape: 16px;--mat-sidenav-container-elevation-shadow: none;--mat-sidenav-container-width: 360px;--mat-sidenav-container-divider-color: transparent;--mat-stepper-header-icon-foreground-color: #fdfbff;--mat-stepper-header-selected-state-icon-background-color: #005cbb;--mat-stepper-header-selected-state-icon-foreground-color: #ffffff;--mat-stepper-header-edit-state-icon-background-color: #005cbb;--mat-stepper-header-edit-state-icon-foreground-color: #ffffff;--mat-stepper-container-color: #fdfbff;--mat-stepper-line-color: #74777f;--mat-stepper-header-hover-state-layer-color: rgba(47, 48, 51, .08);--mat-stepper-header-focus-state-layer-color: rgba(47, 48, 51, .12);--mat-stepper-header-label-text-color: #44474e;--mat-stepper-header-optional-label-text-color: #44474e;--mat-stepper-header-selected-state-label-text-color: #44474e;--mat-stepper-header-error-state-label-text-color: #ba1a1a;--mat-stepper-header-icon-background-color: #44474e;--mat-stepper-header-error-state-icon-foreground-color: #ba1a1a;--mat-stepper-container-text-font: Roboto, sans-serif;--mat-stepper-header-label-text-font: Roboto, sans-serif;--mat-stepper-header-label-text-size: .875rem;--mat-stepper-header-label-text-weight: 500;--mat-stepper-header-error-state-label-text-size: .875rem;--mat-stepper-header-selected-state-label-text-size: .875rem;--mat-stepper-header-selected-state-label-text-weight: 500;--mat-stepper-header-height: 72px;--mat-stepper-header-focus-state-layer-shape: 12px;--mat-stepper-header-hover-state-layer-shape: 12px;--mat-stepper-header-error-state-icon-background-color: transparent;--mat-sort-arrow-color: #1a1b1f;--mat-toolbar-container-background-color: #fdfbff;--mat-toolbar-container-text-color: #1a1b1f;--mat-toolbar-title-text-font: Roboto, sans-serif;--mat-toolbar-title-text-line-height: 1.75rem;--mat-toolbar-title-text-size: 1.375rem;--mat-toolbar-title-text-tracking: 0rem;--mat-toolbar-title-text-weight: 400;--mat-toolbar-standard-height: 64px;--mat-toolbar-mobile-height: 56px;--mat-tree-container-background-color: #fdfbff;--mat-tree-node-text-color: #1a1b1f;--mat-tree-node-text-font: Roboto, sans-serif;--mat-tree-node-text-size: 1rem;--mat-tree-node-text-weight: 400;--mat-tree-node-min-height: 48px;display:flex;align-items:flex-start;flex-wrap:wrap;position:relative;color:#444}.mat-theme-loaded-marker{display:none}#ssSearchBar .tabs{display:flex;width:100%;margin-bottom:-1px;z-index:10}#ssSearchBar .tabs .ss-tab{border-radius:4px 4px 0 0;border:#b7b7b7 solid 1px;border-color:#6892ca;border-bottom:none;padding:.3em 1.4em;font-size:.94em;letter-spacing:.4px;font-weight:600;background-color:#4070b0;color:#fff;white-space:nowrap;position:relative}#ssSearchBar .tabs .ss-tab:after{content:\"\";height:1px;width:calc(100% + 2px);position:absolute;bottom:0;left:-1px;background-color:#b7b7b7}#ssSearchBar .tabs .ss-tab:hover{background-color:#6892ca}#ssSearchBar .tabs .ss-tab.ss-active{color:#002e5d;margin-bottom:1px;border-color:#b7b7b7;background-color:#fffffff2}#ssSearchBar .tabs .ss-tab.ss-active:after{display:none}#ssSearchBar .tabs .ss-tab:disabled{cursor:auto}#ssSearchBar .tabs .tab-spacer{width:.3em;border-bottom:#b7b7b7 solid 1px}#ssSearchBar .tabs .tab-spacer.full{width:100%;margin-right:4px;position:relative}#ssSearchBar .ss-adv-search-text{padding-bottom:1em;padding-right:2rem;pointer-events:none}#ssSearchBar .ss-bar-wrapper{padding:1em 1em .25em;border-right:#b7b7b7 solid 1px;border-left:#b7b7b7 solid 1px;border-bottom:#b7b7b7 solid 1px;width:100%;display:flex;align-items:center;flex-wrap:wrap;position:relative;background-color:#fffffff2;border-radius:0 4px 4px;overflow:hidden}#ssSearchBar .ss-bar-wrapper:after{content:\"\";position:absolute;top:0;right:-1px;background-color:transparent;border-radius:0 4px 0 0;width:4px;height:4px;border-top:#b7b7b7 solid 1px;border-right:#b7b7b7 solid 1px}#ssSearchBar .ss-bar-content{position:relative;width:100%;height:initial}#ssSearchBar .ss-search-bar{border-radius:4px;border:#b7b7b7 solid 1px;width:100%}#ssSearchBar #advSearchCloseBtn{float:right;padding:.4em;margin:-.4em 0;color:#666;transition:all .1s}#ssSearchBar #advSearchCloseBtn:hover{color:#292929}#ssSearchBar #advSearchCloseBtn .ss-icon{font-size:1.2em;font-weight:600}#ssSearchBar .ss-adv-search-btn{font-size:.9em;color:#4070b0;margin:.2em 4em 0 auto;padding-right:.4rem;display:flex;justify-content:center;align-items:center}#ssSearchBar .ss-adv-search-btn .ss-icon{font-size:1.4em;opacity:.75;margin-top:.2rem}#ssSearchBar .ss-adv-search-btn:hover{color:#6892ca}\n"] }]
2016
+ ], providers: [FieldByScopePipe], animations: [libHbllExpandCollapse], encapsulation: ViewEncapsulation.None, template: "<div id=\"ssSearchBar\">\n <div class=\"tabs\">\n <button\n (click)=\"emitTabChange('local')\"\n class=\"ss-tab\"\n id=\"localTab\"\n [ngClass]=\"{\n 'ss-active': config.scope === 'local',\n ensign: config.institution === 'ensign' && config.scope !== 'local',\n }\"\n data-testid=\"localTab\"\n [disabled]=\"config.scope === 'local'\"\n >\n In the Library\n </button>\n @if (config.institution !== 'law') {\n <div class=\"tab-spacer\"></div>\n <button\n (click)=\"emitTabChange('external')\"\n class=\"ss-tab\"\n id=\"externalTab\"\n [ngClass]=\"{\n 'ss-active': config.scope === 'external',\n ensign: config.institution === 'ensign' && config.scope !== 'external',\n }\"\n data-testid=\"externalTab\"\n [disabled]=\"config.scope === 'external'\"\n >\n Available Online\n </button>\n }\n <div class=\"tab-spacer full\"></div>\n </div>\n <div\n class=\"ss-bar-wrapper\"\n #barWrapperRef\n [@libHbllExpandCollapse]=\"{\n value: config.showAdvancedSearch ? (!config.showAdvancedSearchAsText ? 1 : 2) : 3,\n params: { startHeight: heightOfContainer },\n }\"\n >\n <div class=\"ss-bar-content\" data-testid=\"searchForm\">\n @if (!config.showAdvancedSearch) {\n <div class=\"ss-search-bar\">\n <lib-ss-simple-search\n [config]=\"config\"\n (simpleSearch)=\"emitSimpleSearch($event)\"\n (clearSimpleSearch)=\"emitClearSimpleSearch()\"\n ></lib-ss-simple-search>\n </div>\n } @else {\n <button\n id=\"advSearchCloseBtn\"\n (click)=\"emitAdvancedSearchClosed()\"\n data-testid=\"advSearchCloseBtn\"\n >\n <span class=\"material-symbols-outlined ss-icon\"> close </span>\n </button>\n <div id=\"advSearchWrapper\">\n @if (config.showAdvancedSearch && !config.showAdvancedSearchAsText) {\n <div>\n <lib-ss-advanced-search\n [config]=\"config\"\n (advancedSearch)=\"emitAdvancedSearch($event)\"\n ></lib-ss-advanced-search>\n </div>\n } @else {\n <div\n class=\"ss-adv-search-text\"\n data-testid=\"advancedSearchText\"\n [innerHTML]=\"\n config.advancedSearchQueryRows | ssAdvancedQueries: config.scope\n \"\n ></div>\n <div\n [innerHTML]=\"\n config.advancedSearchQueryRows | advancedFieldWarning: config.scope\n \"\n ></div>\n }\n </div>\n }\n </div>\n @if (!config.showAdvancedSearch || config.showAdvancedSearchAsText) {\n <button\n data-testid=\"toggleAdvSearchButton\"\n class=\"ss-adv-search-btn\"\n id=\"advSearchBtn\"\n (click)=\"emitAdvancedSearchOpen()\"\n >\n Advanced\n <span class=\"material-symbols-outlined ss-icon\"> keyboard_arrow_down </span>\n </button>\n }\n </div>\n</div>\n", styles: ["#ssSearchBar .tabs .ss-tab.ensign{background-color:#2b6042!important;border-color:#2a6142}#ssSearchBar .tabs .ss-tab.ensign:hover{background-color:#357551!important}a,button{border:none;background:none;font-family:inherit;padding:0;margin:0;font-size:inherit;color:#1c7ec9;text-decoration:none;cursor:pointer}a:hover,button:hover{color:#8ab6f0}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element,.cdk-drag-preview .mat-ripple-element,.cdk-drag-placeholder .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, var(--mat-app-background, transparent));color:var(--mat-app-text-color, var(--mat-app-on-background, inherit))}.mat-elevation-z0,.mat-mdc-elevation-specific.mat-elevation-z0{box-shadow:var(--mat-app-elevation-shadow-level-0, none)}.mat-elevation-z1,.mat-mdc-elevation-specific.mat-elevation-z1{box-shadow:var(--mat-app-elevation-shadow-level-1, none)}.mat-elevation-z2,.mat-mdc-elevation-specific.mat-elevation-z2{box-shadow:var(--mat-app-elevation-shadow-level-2, none)}.mat-elevation-z3,.mat-mdc-elevation-specific.mat-elevation-z3{box-shadow:var(--mat-app-elevation-shadow-level-3, none)}.mat-elevation-z4,.mat-mdc-elevation-specific.mat-elevation-z4{box-shadow:var(--mat-app-elevation-shadow-level-4, none)}.mat-elevation-z5,.mat-mdc-elevation-specific.mat-elevation-z5{box-shadow:var(--mat-app-elevation-shadow-level-5, none)}.mat-elevation-z6,.mat-mdc-elevation-specific.mat-elevation-z6{box-shadow:var(--mat-app-elevation-shadow-level-6, none)}.mat-elevation-z7,.mat-mdc-elevation-specific.mat-elevation-z7{box-shadow:var(--mat-app-elevation-shadow-level-7, none)}.mat-elevation-z8,.mat-mdc-elevation-specific.mat-elevation-z8{box-shadow:var(--mat-app-elevation-shadow-level-8, none)}.mat-elevation-z9,.mat-mdc-elevation-specific.mat-elevation-z9{box-shadow:var(--mat-app-elevation-shadow-level-9, none)}.mat-elevation-z10,.mat-mdc-elevation-specific.mat-elevation-z10{box-shadow:var(--mat-app-elevation-shadow-level-10, none)}.mat-elevation-z11,.mat-mdc-elevation-specific.mat-elevation-z11{box-shadow:var(--mat-app-elevation-shadow-level-11, none)}.mat-elevation-z12,.mat-mdc-elevation-specific.mat-elevation-z12{box-shadow:var(--mat-app-elevation-shadow-level-12, none)}.mat-elevation-z13,.mat-mdc-elevation-specific.mat-elevation-z13{box-shadow:var(--mat-app-elevation-shadow-level-13, none)}.mat-elevation-z14,.mat-mdc-elevation-specific.mat-elevation-z14{box-shadow:var(--mat-app-elevation-shadow-level-14, none)}.mat-elevation-z15,.mat-mdc-elevation-specific.mat-elevation-z15{box-shadow:var(--mat-app-elevation-shadow-level-15, none)}.mat-elevation-z16,.mat-mdc-elevation-specific.mat-elevation-z16{box-shadow:var(--mat-app-elevation-shadow-level-16, none)}.mat-elevation-z17,.mat-mdc-elevation-specific.mat-elevation-z17{box-shadow:var(--mat-app-elevation-shadow-level-17, none)}.mat-elevation-z18,.mat-mdc-elevation-specific.mat-elevation-z18{box-shadow:var(--mat-app-elevation-shadow-level-18, none)}.mat-elevation-z19,.mat-mdc-elevation-specific.mat-elevation-z19{box-shadow:var(--mat-app-elevation-shadow-level-19, none)}.mat-elevation-z20,.mat-mdc-elevation-specific.mat-elevation-z20{box-shadow:var(--mat-app-elevation-shadow-level-20, none)}.mat-elevation-z21,.mat-mdc-elevation-specific.mat-elevation-z21{box-shadow:var(--mat-app-elevation-shadow-level-21, none)}.mat-elevation-z22,.mat-mdc-elevation-specific.mat-elevation-z22{box-shadow:var(--mat-app-elevation-shadow-level-22, none)}.mat-elevation-z23,.mat-mdc-elevation-specific.mat-elevation-z23{box-shadow:var(--mat-app-elevation-shadow-level-23, none)}.mat-elevation-z24,.mat-mdc-elevation-specific.mat-elevation-z24{box-shadow:var(--mat-app-elevation-shadow-level-24, none)}.mat-mdc-tooltip-surface{background-color:#333!important;border-radius:3px!important;color:#fff!important;font:inherit!important;font-size:.8em!important}#ssSearchBar{--mat-app-background-color: #faf9fd;--mat-app-text-color: #1a1b1f;--mat-app-elevation-shadow-level-0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-2: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-3: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-4: 0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-5: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 5px 8px 0px rgba(0, 0, 0, .14), 0px 1px 14px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-6: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-7: 0px 4px 5px -2px rgba(0, 0, 0, .2), 0px 7px 10px 1px rgba(0, 0, 0, .14), 0px 2px 16px 1px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-8: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-9: 0px 5px 6px -3px rgba(0, 0, 0, .2), 0px 9px 12px 1px rgba(0, 0, 0, .14), 0px 3px 16px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-10: 0px 6px 6px -3px rgba(0, 0, 0, .2), 0px 10px 14px 1px rgba(0, 0, 0, .14), 0px 4px 18px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-11: 0px 6px 7px -4px rgba(0, 0, 0, .2), 0px 11px 15px 1px rgba(0, 0, 0, .14), 0px 4px 20px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-12: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-13: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 13px 19px 2px rgba(0, 0, 0, .14), 0px 5px 24px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-14: 0px 7px 9px -4px rgba(0, 0, 0, .2), 0px 14px 21px 2px rgba(0, 0, 0, .14), 0px 5px 26px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-15: 0px 8px 9px -5px rgba(0, 0, 0, .2), 0px 15px 22px 2px rgba(0, 0, 0, .14), 0px 6px 28px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-16: 0px 8px 10px -5px rgba(0, 0, 0, .2), 0px 16px 24px 2px rgba(0, 0, 0, .14), 0px 6px 30px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-17: 0px 8px 11px -5px rgba(0, 0, 0, .2), 0px 17px 26px 2px rgba(0, 0, 0, .14), 0px 6px 32px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-18: 0px 9px 11px -5px rgba(0, 0, 0, .2), 0px 18px 28px 2px rgba(0, 0, 0, .14), 0px 7px 34px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-19: 0px 9px 12px -6px rgba(0, 0, 0, .2), 0px 19px 29px 2px rgba(0, 0, 0, .14), 0px 7px 36px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-20: 0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 20px 31px 3px rgba(0, 0, 0, .14), 0px 8px 38px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-21: 0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 21px 33px 3px rgba(0, 0, 0, .14), 0px 8px 40px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-22: 0px 10px 14px -6px rgba(0, 0, 0, .2), 0px 22px 35px 3px rgba(0, 0, 0, .14), 0px 8px 42px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-23: 0px 11px 14px -7px rgba(0, 0, 0, .2), 0px 23px 36px 3px rgba(0, 0, 0, .14), 0px 9px 44px 8px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-24: 0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12);--mat-ripple-color: rgba(26, 27, 31, .1);--mat-option-selected-state-label-text-color: #131c2b;--mat-option-label-text-color: #1a1b1f;--mat-option-hover-state-layer-color: rgba(26, 27, 31, .08);--mat-option-focus-state-layer-color: rgba(26, 27, 31, .12);--mat-option-selected-state-layer-color: #dae2f9;--mat-option-label-text-font: Roboto, sans-serif;--mat-option-label-text-line-height: 1.25rem;--mat-option-label-text-size: 1rem;--mat-option-label-text-tracking: .006rem;--mat-option-label-text-weight: 400;--mat-optgroup-label-text-color: #44474e;--mat-optgroup-label-text-font: Roboto, sans-serif;--mat-optgroup-label-text-line-height: 1.25rem;--mat-optgroup-label-text-size: .875rem;--mat-optgroup-label-text-tracking: .006rem;--mat-optgroup-label-text-weight: 500;--mat-full-pseudo-checkbox-selected-icon-color: #005cbb;--mat-full-pseudo-checkbox-selected-checkmark-color: #ffffff;--mat-full-pseudo-checkbox-unselected-icon-color: #44474e;--mat-full-pseudo-checkbox-disabled-selected-checkmark-color: #faf9fd;--mat-full-pseudo-checkbox-disabled-unselected-icon-color: rgba(26, 27, 31, .38);--mat-full-pseudo-checkbox-disabled-selected-icon-color: rgba(26, 27, 31, .38);--mat-minimal-pseudo-checkbox-selected-checkmark-color: #005cbb;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: rgba(26, 27, 31, .38);--mdc-elevated-card-container-color: #faf9fd;--mdc-elevated-card-container-elevation: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-elevated-card-container-shape: 12px;--mdc-outlined-card-container-color: #faf9fd;--mdc-outlined-card-outline-color: #c4c6d0;--mdc-outlined-card-container-elevation: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mdc-outlined-card-container-shape: 12px;--mdc-outlined-card-outline-width: 1px;--mat-card-subtitle-text-color: #1a1b1f;--mat-card-title-text-font: Roboto, sans-serif;--mat-card-title-text-line-height: 1.75rem;--mat-card-title-text-size: 1.375rem;--mat-card-title-text-tracking: 0;--mat-card-title-text-weight: 400;--mat-card-subtitle-text-font: Roboto, sans-serif;--mat-card-subtitle-text-line-height: 1.5rem;--mat-card-subtitle-text-size: 1rem;--mat-card-subtitle-text-tracking: .009rem;--mat-card-subtitle-text-weight: 500;--mdc-linear-progress-active-indicator-color: #005cbb;--mdc-linear-progress-track-color: #e0e2ec;--mdc-linear-progress-active-indicator-height: 4px;--mdc-linear-progress-track-height: 4px;--mdc-linear-progress-track-shape: 0;--mdc-plain-tooltip-container-color: #2f3033;--mdc-plain-tooltip-supporting-text-color: #f2f0f4;--mdc-plain-tooltip-supporting-text-line-height: 1rem;--mdc-plain-tooltip-supporting-text-font: Roboto, sans-serif;--mdc-plain-tooltip-supporting-text-size: .75rem;--mdc-plain-tooltip-supporting-text-weight: 400;--mdc-plain-tooltip-supporting-text-tracking: .025rem;--mdc-plain-tooltip-container-shape: 4px;--mdc-filled-text-field-caret-color: #005cbb;--mdc-filled-text-field-focus-active-indicator-color: #005cbb;--mdc-filled-text-field-focus-label-text-color: #005cbb;--mdc-filled-text-field-container-color: #e0e2ec;--mdc-filled-text-field-disabled-container-color: rgba(26, 27, 31, .04);--mdc-filled-text-field-label-text-color: #44474e;--mdc-filled-text-field-hover-label-text-color: #44474e;--mdc-filled-text-field-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-filled-text-field-input-text-color: #1a1b1f;--mdc-filled-text-field-disabled-input-text-color: rgba(26, 27, 31, .38);--mdc-filled-text-field-input-text-placeholder-color: #44474e;--mdc-filled-text-field-error-hover-label-text-color: #410002;--mdc-filled-text-field-error-focus-label-text-color: #ba1a1a;--mdc-filled-text-field-error-label-text-color: #ba1a1a;--mdc-filled-text-field-active-indicator-color: #44474e;--mdc-filled-text-field-disabled-active-indicator-color: rgba(26, 27, 31, .38);--mdc-filled-text-field-hover-active-indicator-color: #1a1b1f;--mdc-filled-text-field-error-active-indicator-color: #ba1a1a;--mdc-filled-text-field-error-focus-active-indicator-color: #ba1a1a;--mdc-filled-text-field-error-hover-active-indicator-color: #410002;--mdc-filled-text-field-label-text-font: Roboto, sans-serif;--mdc-filled-text-field-label-text-size: 1rem;--mdc-filled-text-field-label-text-tracking: .031rem;--mdc-filled-text-field-label-text-weight: 400;--mdc-filled-text-field-active-indicator-height: 1px;--mdc-filled-text-field-focus-active-indicator-height: 2px;--mdc-filled-text-field-container-shape: 4px;--mdc-outlined-text-field-caret-color: #005cbb;--mdc-outlined-text-field-focus-outline-color: #005cbb;--mdc-outlined-text-field-focus-label-text-color: #005cbb;--mdc-outlined-text-field-label-text-color: #44474e;--mdc-outlined-text-field-hover-label-text-color: #1a1b1f;--mdc-outlined-text-field-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-outlined-text-field-input-text-color: #1a1b1f;--mdc-outlined-text-field-disabled-input-text-color: rgba(26, 27, 31, .38);--mdc-outlined-text-field-input-text-placeholder-color: #44474e;--mdc-outlined-text-field-error-focus-label-text-color: #ba1a1a;--mdc-outlined-text-field-error-label-text-color: #ba1a1a;--mdc-outlined-text-field-error-hover-label-text-color: #410002;--mdc-outlined-text-field-outline-color: #74777f;--mdc-outlined-text-field-disabled-outline-color: rgba(26, 27, 31, .12);--mdc-outlined-text-field-hover-outline-color: #1a1b1f;--mdc-outlined-text-field-error-focus-outline-color: #ba1a1a;--mdc-outlined-text-field-error-hover-outline-color: #410002;--mdc-outlined-text-field-error-outline-color: #ba1a1a;--mdc-outlined-text-field-label-text-font: Roboto, sans-serif;--mdc-outlined-text-field-label-text-size: 1rem;--mdc-outlined-text-field-label-text-tracking: .031rem;--mdc-outlined-text-field-label-text-weight: 400;--mdc-outlined-text-field-outline-width: 1px;--mdc-outlined-text-field-focus-outline-width: 2px;--mdc-outlined-text-field-container-shape: 4px;--mat-form-field-focus-select-arrow-color: #005cbb;--mat-form-field-disabled-input-text-placeholder-color: rgba(26, 27, 31, .38);--mat-form-field-state-layer-color: #1a1b1f;--mat-form-field-error-text-color: #ba1a1a;--mat-form-field-select-option-text-color: #1a1b1f;--mat-form-field-select-disabled-option-text-color: rgba(26, 27, 31, .38);--mat-form-field-leading-icon-color: #44474e;--mat-form-field-disabled-leading-icon-color: rgba(26, 27, 31, .38);--mat-form-field-trailing-icon-color: #44474e;--mat-form-field-disabled-trailing-icon-color: rgba(26, 27, 31, .38);--mat-form-field-error-focus-trailing-icon-color: #ba1a1a;--mat-form-field-error-hover-trailing-icon-color: #410002;--mat-form-field-error-trailing-icon-color: #ba1a1a;--mat-form-field-enabled-select-arrow-color: #44474e;--mat-form-field-disabled-select-arrow-color: rgba(26, 27, 31, .38);--mat-form-field-hover-state-layer-opacity: .08;--mat-form-field-container-text-font: Roboto, sans-serif;--mat-form-field-container-text-line-height: 1.5rem;--mat-form-field-container-text-size: 1rem;--mat-form-field-container-text-tracking: .031rem;--mat-form-field-container-text-weight: 400;--mat-form-field-subscript-text-font: Roboto, sans-serif;--mat-form-field-subscript-text-line-height: 1rem;--mat-form-field-subscript-text-size: .75rem;--mat-form-field-subscript-text-tracking: .025rem;--mat-form-field-subscript-text-weight: 400;--mat-form-field-container-height: 56px;--mat-form-field-filled-label-display: block;--mat-form-field-container-vertical-padding: 16px;--mat-form-field-filled-with-label-container-padding-top: 24px;--mat-form-field-filled-with-label-container-padding-bottom: 8px;--mat-form-field-focus-state-layer-opacity: 0;--mat-select-panel-background-color: #efedf0;--mat-select-enabled-trigger-text-color: #1a1b1f;--mat-select-disabled-trigger-text-color: rgba(26, 27, 31, .38);--mat-select-placeholder-text-color: #44474e;--mat-select-enabled-arrow-color: #44474e;--mat-select-disabled-arrow-color: rgba(26, 27, 31, .38);--mat-select-focused-arrow-color: #005cbb;--mat-select-invalid-arrow-color: #ba1a1a;--mat-select-trigger-text-font: Roboto, sans-serif;--mat-select-trigger-text-line-height: 1.5rem;--mat-select-trigger-text-size: 1rem;--mat-select-trigger-text-tracking: .031rem;--mat-select-trigger-text-weight: 400;--mat-select-arrow-transform: translateY(-8px);--mat-select-container-elevation-shadow: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-autocomplete-background-color: #efedf0;--mat-autocomplete-container-shape: 4px;--mat-autocomplete-container-elevation-shadow: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mdc-dialog-container-color: #faf9fd;--mdc-dialog-subhead-color: #1a1b1f;--mdc-dialog-supporting-text-color: #44474e;--mdc-dialog-subhead-font: Roboto, sans-serif;--mdc-dialog-subhead-line-height: 2rem;--mdc-dialog-subhead-size: 1.5rem;--mdc-dialog-subhead-weight: 400;--mdc-dialog-subhead-tracking: 0;--mdc-dialog-supporting-text-font: Roboto, sans-serif;--mdc-dialog-supporting-text-line-height: 1.25rem;--mdc-dialog-supporting-text-size: .875rem;--mdc-dialog-supporting-text-weight: 400;--mdc-dialog-supporting-text-tracking: .016rem;--mdc-dialog-container-shape: 28px;--mat-dialog-container-elevation-shadow: none;--mat-dialog-container-max-width: 560px;--mat-dialog-container-small-max-width: calc(100vw - 32px) ;--mat-dialog-container-min-width: 280px;--mat-dialog-actions-alignment: flex-end;--mat-dialog-actions-padding: 16px 24px;--mat-dialog-content-padding: 20px 24px;--mat-dialog-with-actions-content-padding: 20px 24px 0;--mat-dialog-headline-padding: 6px 24px 13px;--mdc-chip-outline-color: #74777f;--mdc-chip-disabled-outline-color: rgba(26, 27, 31, .12);--mdc-chip-focus-outline-color: #44474e;--mdc-chip-hover-state-layer-opacity: .08;--mdc-chip-selected-hover-state-layer-opacity: .08;--mdc-chip-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-chip-elevated-selected-container-color: #dae2f9;--mdc-chip-flat-disabled-selected-container-color: rgba(26, 27, 31, .12);--mdc-chip-focus-state-layer-color: #44474e;--mdc-chip-hover-state-layer-color: #44474e;--mdc-chip-selected-hover-state-layer-color: #131c2b;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-selected-focus-state-layer-color: #131c2b;--mdc-chip-selected-focus-state-layer-opacity: .12;--mdc-chip-label-text-color: #44474e;--mdc-chip-selected-label-text-color: #131c2b;--mdc-chip-with-icon-icon-color: #44474e;--mdc-chip-with-icon-disabled-icon-color: #1a1b1f;--mdc-chip-with-icon-selected-icon-color: #131c2b;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color: #1a1b1f;--mdc-chip-with-trailing-icon-trailing-icon-color: #44474e;--mdc-chip-label-text-font: Roboto, sans-serif;--mdc-chip-label-text-line-height: 1.25rem;--mdc-chip-label-text-size: .875rem;--mdc-chip-label-text-tracking: .006rem;--mdc-chip-label-text-weight: 500;--mdc-chip-container-height: 32px;--mdc-chip-container-shape-radius: 8px;--mdc-chip-with-avatar-avatar-shape-radius: 24px;--mdc-chip-with-avatar-avatar-size: 24px;--mdc-chip-with-icon-icon-size: 18px;--mdc-chip-outline-width: 1px;--mdc-chip-with-avatar-disabled-avatar-opacity: .38;--mdc-chip-flat-selected-outline-width: 0;--mdc-chip-with-trailing-icon-disabled-trailing-icon-opacity: .38;--mdc-chip-with-icon-disabled-icon-opacity: .38;--mdc-chip-elevated-container-color: transparent;--mat-chip-trailing-action-state-layer-color: #44474e;--mat-chip-selected-trailing-action-state-layer-color: #131c2b;--mat-chip-trailing-action-hover-state-layer-opacity: .08;--mat-chip-trailing-action-focus-state-layer-opacity: .12;--mat-chip-selected-disabled-trailing-icon-color: #1a1b1f;--mat-chip-selected-trailing-icon-color: #131c2b;--mat-chip-disabled-container-opacity: 1;--mat-chip-trailing-action-opacity: 1;--mat-chip-trailing-action-focus-opacity: 1;--mdc-switch-selected-focus-state-layer-opacity: .12;--mdc-switch-selected-hover-state-layer-opacity: .08;--mdc-switch-selected-pressed-state-layer-opacity: .12;--mdc-switch-unselected-focus-state-layer-opacity: .12;--mdc-switch-unselected-hover-state-layer-opacity: .08;--mdc-switch-unselected-pressed-state-layer-opacity: .12;--mdc-switch-selected-focus-state-layer-color: #005cbb;--mdc-switch-selected-handle-color: #ffffff;--mdc-switch-selected-hover-state-layer-color: #005cbb;--mdc-switch-selected-pressed-state-layer-color: #005cbb;--mdc-switch-selected-focus-handle-color: #d7e3ff;--mdc-switch-selected-hover-handle-color: #d7e3ff;--mdc-switch-selected-pressed-handle-color: #d7e3ff;--mdc-switch-selected-focus-track-color: #005cbb;--mdc-switch-selected-hover-track-color: #005cbb;--mdc-switch-selected-pressed-track-color: #005cbb;--mdc-switch-selected-track-color: #005cbb;--mdc-switch-disabled-selected-handle-color: #faf9fd;--mdc-switch-disabled-selected-icon-color: #1a1b1f;--mdc-switch-disabled-selected-track-color: #1a1b1f;--mdc-switch-disabled-unselected-handle-color: #1a1b1f;--mdc-switch-disabled-unselected-icon-color: #e0e2ec;--mdc-switch-disabled-unselected-track-color: #e0e2ec;--mdc-switch-selected-icon-color: #001b3f;--mdc-switch-unselected-focus-handle-color: #44474e;--mdc-switch-unselected-focus-state-layer-color: #1a1b1f;--mdc-switch-unselected-focus-track-color: #e0e2ec;--mdc-switch-unselected-handle-color: #74777f;--mdc-switch-unselected-hover-handle-color: #44474e;--mdc-switch-unselected-hover-state-layer-color: #1a1b1f;--mdc-switch-unselected-hover-track-color: #e0e2ec;--mdc-switch-unselected-icon-color: #e0e2ec;--mdc-switch-unselected-pressed-handle-color: #44474e;--mdc-switch-unselected-pressed-state-layer-color: #1a1b1f;--mdc-switch-unselected-pressed-track-color: #e0e2ec;--mdc-switch-unselected-track-color: #e0e2ec;--mdc-switch-disabled-selected-icon-opacity: .38;--mdc-switch-disabled-track-opacity: .12;--mdc-switch-disabled-unselected-icon-opacity: .38;--mdc-switch-handle-shape: 9999px;--mdc-switch-selected-icon-size: 16px;--mdc-switch-track-height: 32px;--mdc-switch-track-shape: 9999px;--mdc-switch-track-width: 52px;--mdc-switch-unselected-icon-size: 16px;--mdc-switch-state-layer-size: 40px;--mat-switch-track-outline-color: #74777f;--mat-switch-disabled-unselected-track-outline-color: #1a1b1f;--mat-switch-label-text-color: #1a1b1f;--mat-switch-label-text-font: Roboto, sans-serif;--mat-switch-label-text-line-height: 1.25rem;--mat-switch-label-text-size: .875rem;--mat-switch-label-text-tracking: .016rem;--mat-switch-label-text-weight: 400;--mat-switch-disabled-selected-handle-opacity: 1;--mat-switch-disabled-unselected-handle-opacity: .38;--mat-switch-unselected-handle-size: 16px;--mat-switch-selected-handle-size: 24px;--mat-switch-pressed-handle-size: 28px;--mat-switch-with-icon-handle-size: 24px;--mat-switch-selected-handle-horizontal-margin: 0 24px;--mat-switch-selected-with-icon-handle-horizontal-margin: 0 24px;--mat-switch-selected-pressed-handle-horizontal-margin: 0 22px;--mat-switch-unselected-handle-horizontal-margin: 0 8px;--mat-switch-unselected-with-icon-handle-horizontal-margin: 0 4px;--mat-switch-unselected-pressed-handle-horizontal-margin: 0 2px;--mat-switch-visible-track-opacity: 1;--mat-switch-hidden-track-opacity: 0;--mat-switch-visible-track-transition: opacity 75ms;--mat-switch-hidden-track-transition: opacity 75ms;--mat-switch-track-outline-width: 2px;--mat-switch-selected-track-outline-width: 2px;--mat-switch-selected-track-outline-color: transparent;--mat-switch-disabled-unselected-track-outline-width: 2px;--mdc-radio-disabled-selected-icon-color: #1a1b1f;--mdc-radio-disabled-unselected-icon-color: #1a1b1f;--mdc-radio-unselected-hover-icon-color: #1a1b1f;--mdc-radio-unselected-icon-color: #44474e;--mdc-radio-unselected-pressed-icon-color: #1a1b1f;--mdc-radio-selected-focus-icon-color: #005cbb;--mdc-radio-selected-hover-icon-color: #005cbb;--mdc-radio-selected-icon-color: #005cbb;--mdc-radio-selected-pressed-icon-color: #005cbb;--mdc-radio-state-layer-size: 40px;--mdc-radio-disabled-selected-icon-opacity: .38;--mdc-radio-disabled-unselected-icon-opacity: .38;--mat-radio-ripple-color: #1a1b1f;--mat-radio-checked-ripple-color: #005cbb;--mat-radio-disabled-label-color: rgba(26, 27, 31, .38);--mat-radio-label-text-color: #1a1b1f;--mat-radio-label-text-font: Roboto, sans-serif;--mat-radio-label-text-line-height: 1.25rem;--mat-radio-label-text-size: .875rem;--mat-radio-label-text-tracking: .016rem;--mat-radio-label-text-weight: 400;--mat-radio-touch-target-display: block;--mdc-slider-handle-elevation: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-slider-handle-color: #005cbb;--mdc-slider-focus-handle-color: #005cbb;--mdc-slider-hover-handle-color: #005cbb;--mdc-slider-active-track-color: #005cbb;--mdc-slider-inactive-track-color: #e0e2ec;--mdc-slider-with-tick-marks-inactive-container-color: #44474e;--mdc-slider-with-tick-marks-active-container-color: #ffffff;--mdc-slider-disabled-active-track-color: #1a1b1f;--mdc-slider-disabled-handle-color: #1a1b1f;--mdc-slider-disabled-inactive-track-color: #1a1b1f;--mdc-slider-label-container-color: #005cbb;--mdc-slider-label-label-text-color: #ffffff;--mdc-slider-with-overlap-handle-outline-color: #ffffff;--mdc-slider-with-tick-marks-disabled-container-color: #1a1b1f;--mdc-slider-label-label-text-font: Roboto, sans-serif;--mdc-slider-label-label-text-size: .75rem;--mdc-slider-label-label-text-line-height: 1rem;--mdc-slider-label-label-text-tracking: .031rem;--mdc-slider-label-label-text-weight: 500;--mdc-slider-active-track-height: 4px;--mdc-slider-active-track-shape: 9999px;--mdc-slider-handle-height: 20px;--mdc-slider-handle-shape: 9999px;--mdc-slider-handle-width: 20px;--mdc-slider-inactive-track-height: 4px;--mdc-slider-inactive-track-shape: 9999px;--mdc-slider-with-overlap-handle-outline-width: 1px;--mdc-slider-with-tick-marks-active-container-opacity: .38;--mdc-slider-with-tick-marks-container-shape: 9999px;--mdc-slider-with-tick-marks-container-size: 2px;--mdc-slider-with-tick-marks-inactive-container-opacity: .38;--mat-slider-ripple-color: #005cbb;--mat-slider-hover-state-layer-color: rgba(0, 92, 187, .05);--mat-slider-focus-state-layer-color: rgba(0, 92, 187, .2);--mat-slider-value-indicator-width: 28px;--mat-slider-value-indicator-height: 28px;--mat-slider-value-indicator-caret-display: none;--mat-slider-value-indicator-border-radius: 50% 50% 50% 0;--mat-slider-value-indicator-padding: 0;--mat-slider-value-indicator-text-transform: rotate(45deg);--mat-slider-value-indicator-container-transform: translateX(-50%) rotate(-45deg);--mat-slider-value-indicator-opacity: 1;--mat-menu-item-label-text-color: #1a1b1f;--mat-menu-item-icon-color: #44474e;--mat-menu-item-hover-state-layer-color: rgba(26, 27, 31, .08);--mat-menu-item-focus-state-layer-color: rgba(26, 27, 31, .12);--mat-menu-container-color: #efedf0;--mat-menu-divider-color: #e0e2ec;--mat-menu-item-label-text-font: Roboto, sans-serif;--mat-menu-item-label-text-size: .875rem;--mat-menu-item-label-text-tracking: .006rem;--mat-menu-item-label-text-line-height: 1.25rem;--mat-menu-item-label-text-weight: 500;--mat-menu-container-shape: 4px;--mat-menu-divider-bottom-spacing: 8px;--mat-menu-divider-top-spacing: 8px;--mat-menu-item-spacing: 12px;--mat-menu-item-icon-size: 24px;--mat-menu-item-leading-spacing: 12px;--mat-menu-item-trailing-spacing: 12px;--mat-menu-item-with-icon-leading-spacing: 12px;--mat-menu-item-with-icon-trailing-spacing: 12px;--mat-menu-base-elevation-level: 2;--mdc-list-list-item-container-color: transparent;--mdc-list-list-item-leading-avatar-color: #d7e3ff;--mdc-list-list-item-disabled-state-layer-color: #1a1b1f;--mdc-list-list-item-disabled-state-layer-opacity: .12;--mdc-list-list-item-label-text-color: #1a1b1f;--mdc-list-list-item-supporting-text-color: #44474e;--mdc-list-list-item-leading-icon-color: #44474e;--mdc-list-list-item-trailing-supporting-text-color: #44474e;--mdc-list-list-item-trailing-icon-color: #44474e;--mdc-list-list-item-selected-trailing-icon-color: #005cbb;--mdc-list-list-item-disabled-label-text-color: #1a1b1f;--mdc-list-list-item-disabled-leading-icon-color: #1a1b1f;--mdc-list-list-item-disabled-trailing-icon-color: #1a1b1f;--mdc-list-list-item-hover-label-text-color: #1a1b1f;--mdc-list-list-item-focus-label-text-color: #1a1b1f;--mdc-list-list-item-hover-state-layer-color: #1a1b1f;--mdc-list-list-item-hover-state-layer-opacity: .08;--mdc-list-list-item-focus-state-layer-color: #1a1b1f;--mdc-list-list-item-focus-state-layer-opacity: .12;--mdc-list-list-item-label-text-font: Roboto, sans-serif;--mdc-list-list-item-label-text-line-height: 1.5rem;--mdc-list-list-item-label-text-size: 1rem;--mdc-list-list-item-label-text-tracking: .031rem;--mdc-list-list-item-label-text-weight: 400;--mdc-list-list-item-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-supporting-text-line-height: 1.25rem;--mdc-list-list-item-supporting-text-size: .875rem;--mdc-list-list-item-supporting-text-tracking: .016rem;--mdc-list-list-item-supporting-text-weight: 400;--mdc-list-list-item-trailing-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-trailing-supporting-text-line-height: 1rem;--mdc-list-list-item-trailing-supporting-text-size: .688rem;--mdc-list-list-item-trailing-supporting-text-tracking: .031rem;--mdc-list-list-item-trailing-supporting-text-weight: 500;--mdc-list-list-item-one-line-container-height: 48px;--mdc-list-list-item-two-line-container-height: 64px;--mdc-list-list-item-three-line-container-height: 88px;--mdc-list-list-item-container-shape: 0;--mdc-list-list-item-leading-avatar-shape: 9999px;--mdc-list-list-item-leading-icon-size: 24px;--mdc-list-list-item-leading-avatar-size: 40px;--mdc-list-list-item-trailing-icon-size: 24px;--mdc-list-list-item-disabled-label-text-opacity: .3;--mdc-list-list-item-disabled-leading-icon-opacity: .38;--mdc-list-list-item-disabled-trailing-icon-opacity: .38;--mat-list-active-indicator-color: #dae2f9;--mat-list-list-item-leading-icon-start-space: 16px;--mat-list-list-item-leading-icon-end-space: 16px;--mat-list-active-indicator-shape: 9999px;--mat-paginator-container-text-color: #1a1b1f;--mat-paginator-container-background-color: #faf9fd;--mat-paginator-enabled-icon-color: #44474e;--mat-paginator-disabled-icon-color: rgba(26, 27, 31, .38);--mat-paginator-container-text-font: Roboto, sans-serif;--mat-paginator-container-text-line-height: 1rem;--mat-paginator-container-text-size: .75rem;--mat-paginator-container-text-tracking: .025rem;--mat-paginator-container-text-weight: 400;--mat-paginator-select-trigger-text-size: .75rem;--mat-paginator-container-size: 56px;--mat-paginator-form-field-container-height: 40px;--mat-paginator-form-field-container-vertical-padding: 8px;--mat-paginator-touch-target-display: block;--mdc-secondary-navigation-tab-container-height: 48px;--mdc-tab-indicator-active-indicator-color: #005cbb;--mdc-tab-indicator-active-indicator-height: 2px;--mdc-tab-indicator-active-indicator-shape: 0;--mat-tab-header-divider-color: #e0e2ec;--mat-tab-header-pagination-icon-color: #1a1b1f;--mat-tab-header-inactive-label-text-color: #1a1b1f;--mat-tab-header-active-label-text-color: #1a1b1f;--mat-tab-header-active-ripple-color: #1a1b1f;--mat-tab-header-inactive-ripple-color: #1a1b1f;--mat-tab-header-inactive-focus-label-text-color: #1a1b1f;--mat-tab-header-inactive-hover-label-text-color: #1a1b1f;--mat-tab-header-active-focus-label-text-color: #1a1b1f;--mat-tab-header-active-hover-label-text-color: #1a1b1f;--mat-tab-header-active-focus-indicator-color: #005cbb;--mat-tab-header-active-hover-indicator-color: #005cbb;--mat-tab-header-label-text-font: Roboto, sans-serif;--mat-tab-header-label-text-size: .875rem;--mat-tab-header-label-text-tracking: .006rem;--mat-tab-header-label-text-line-height: 1.25rem;--mat-tab-header-label-text-weight: 500;--mat-tab-header-divider-height: 1px;--mdc-checkbox-disabled-selected-checkmark-color: #faf9fd;--mdc-checkbox-selected-focus-state-layer-opacity: .12;--mdc-checkbox-selected-hover-state-layer-opacity: .08;--mdc-checkbox-selected-pressed-state-layer-opacity: .12;--mdc-checkbox-unselected-focus-state-layer-opacity: .12;--mdc-checkbox-unselected-hover-state-layer-opacity: .08;--mdc-checkbox-unselected-pressed-state-layer-opacity: .12;--mdc-checkbox-selected-pressed-icon-color: #005cbb;--mdc-checkbox-disabled-selected-icon-color: rgba(26, 27, 31, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(26, 27, 31, .38);--mdc-checkbox-selected-checkmark-color: #ffffff;--mdc-checkbox-selected-focus-icon-color: #005cbb;--mdc-checkbox-selected-hover-icon-color: #005cbb;--mdc-checkbox-selected-icon-color: #005cbb;--mdc-checkbox-unselected-focus-icon-color: #1a1b1f;--mdc-checkbox-unselected-hover-icon-color: #1a1b1f;--mdc-checkbox-unselected-icon-color: #44474e;--mdc-checkbox-selected-focus-state-layer-color: #005cbb;--mdc-checkbox-selected-hover-state-layer-color: #005cbb;--mdc-checkbox-selected-pressed-state-layer-color: #1a1b1f;--mdc-checkbox-unselected-focus-state-layer-color: #1a1b1f;--mdc-checkbox-unselected-hover-state-layer-color: #1a1b1f;--mdc-checkbox-unselected-pressed-state-layer-color: #005cbb;--mdc-checkbox-state-layer-size: 40px;--mat-checkbox-disabled-label-color: rgba(26, 27, 31, .38);--mat-checkbox-label-text-color: #1a1b1f;--mat-checkbox-label-text-font: Roboto, sans-serif;--mat-checkbox-label-text-line-height: 1.25rem;--mat-checkbox-label-text-size: .875rem;--mat-checkbox-label-text-tracking: .016rem;--mat-checkbox-label-text-weight: 400;--mat-checkbox-touch-target-display: block;--mdc-text-button-label-text-color: #005cbb;--mdc-text-button-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-text-button-label-text-font: Roboto, sans-serif;--mdc-text-button-label-text-size: .875rem;--mdc-text-button-label-text-tracking: .006rem;--mdc-text-button-label-text-weight: 500;--mdc-text-button-container-height: 40px;--mdc-text-button-container-shape: 9999px;--mdc-protected-button-container-elevation-shadow: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-protected-button-disabled-container-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mdc-protected-button-focus-container-elevation-shadow: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-protected-button-hover-container-elevation-shadow: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mdc-protected-button-pressed-container-elevation-shadow: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-protected-button-container-color: #faf9fd;--mdc-protected-button-label-text-color: #005cbb;--mdc-protected-button-disabled-container-color: rgba(26, 27, 31, .12);--mdc-protected-button-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-protected-button-label-text-font: Roboto, sans-serif;--mdc-protected-button-label-text-size: .875rem;--mdc-protected-button-label-text-tracking: .006rem;--mdc-protected-button-label-text-weight: 500;--mdc-protected-button-container-height: 40px;--mdc-protected-button-container-shape: 9999px;--mdc-filled-button-container-color: #005cbb;--mdc-filled-button-label-text-color: #ffffff;--mdc-filled-button-disabled-container-color: rgba(26, 27, 31, .12);--mdc-filled-button-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-filled-button-label-text-font: Roboto, sans-serif;--mdc-filled-button-label-text-size: .875rem;--mdc-filled-button-label-text-tracking: .006rem;--mdc-filled-button-label-text-weight: 500;--mdc-filled-button-container-height: 40px;--mdc-filled-button-container-shape: 9999px;--mdc-outlined-button-disabled-outline-color: rgba(26, 27, 31, .12);--mdc-outlined-button-disabled-label-text-color: rgba(26, 27, 31, .38);--mdc-outlined-button-label-text-color: #005cbb;--mdc-outlined-button-outline-color: #74777f;--mdc-outlined-button-label-text-font: Roboto, sans-serif;--mdc-outlined-button-label-text-size: .875rem;--mdc-outlined-button-label-text-tracking: .006rem;--mdc-outlined-button-label-text-weight: 500;--mdc-outlined-button-container-height: 40px;--mdc-outlined-button-outline-width: 1px;--mdc-outlined-button-container-shape: 9999px;--mat-text-button-state-layer-color: #005cbb;--mat-text-button-disabled-state-layer-color: #44474e;--mat-text-button-ripple-color: rgba(0, 92, 187, .12);--mat-text-button-hover-state-layer-opacity: .08;--mat-text-button-focus-state-layer-opacity: .12;--mat-text-button-pressed-state-layer-opacity: .12;--mat-text-button-touch-target-display: block;--mat-text-button-horizontal-padding: 12px;--mat-text-button-with-icon-horizontal-padding: 16px;--mat-text-button-icon-spacing: 8px;--mat-text-button-icon-offset: -4px;--mat-protected-button-state-layer-color: #005cbb;--mat-protected-button-disabled-state-layer-color: #44474e;--mat-protected-button-ripple-color: rgba(0, 92, 187, .12);--mat-protected-button-hover-state-layer-opacity: .08;--mat-protected-button-focus-state-layer-opacity: .12;--mat-protected-button-pressed-state-layer-opacity: .12;--mat-protected-button-touch-target-display: block;--mat-protected-button-horizontal-padding: 24px;--mat-protected-button-icon-spacing: 8px;--mat-protected-button-icon-offset: -8px;--mat-filled-button-state-layer-color: #ffffff;--mat-filled-button-disabled-state-layer-color: #44474e;--mat-filled-button-ripple-color: rgba(255, 255, 255, .12);--mat-filled-button-hover-state-layer-opacity: .08;--mat-filled-button-focus-state-layer-opacity: .12;--mat-filled-button-pressed-state-layer-opacity: .12;--mat-filled-button-touch-target-display: block;--mat-filled-button-horizontal-padding: 24px;--mat-filled-button-icon-spacing: 8px;--mat-filled-button-icon-offset: -8px;--mat-outlined-button-state-layer-color: #005cbb;--mat-outlined-button-disabled-state-layer-color: #44474e;--mat-outlined-button-ripple-color: rgba(0, 92, 187, .12);--mat-outlined-button-hover-state-layer-opacity: .08;--mat-outlined-button-focus-state-layer-opacity: .12;--mat-outlined-button-pressed-state-layer-opacity: .12;--mat-outlined-button-touch-target-display: block;--mat-outlined-button-horizontal-padding: 24px;--mat-outlined-button-icon-spacing: 8px;--mat-outlined-button-icon-offset: -8px;--mdc-icon-button-icon-color: #44474e;--mdc-icon-button-disabled-icon-color: rgba(26, 27, 31, .38);--mdc-icon-button-state-layer-size: 40px;--mdc-icon-button-icon-size: 24px;--mat-icon-button-state-layer-color: #44474e;--mat-icon-button-disabled-state-layer-color: #44474e;--mat-icon-button-ripple-color: rgba(68, 71, 78, .12);--mat-icon-button-hover-state-layer-opacity: .08;--mat-icon-button-focus-state-layer-opacity: .12;--mat-icon-button-pressed-state-layer-opacity: .12;--mat-icon-button-touch-target-display: block;--mdc-extended-fab-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-extended-fab-focus-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-extended-fab-hover-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-extended-fab-pressed-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-extended-fab-label-text-font: Roboto, sans-serif;--mdc-extended-fab-label-text-size: .875rem;--mdc-extended-fab-label-text-tracking: .006rem;--mdc-extended-fab-label-text-weight: 500;--mdc-extended-fab-container-height: 56px;--mdc-extended-fab-container-shape: 16px;--mdc-fab-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-focus-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-hover-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-fab-pressed-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-container-color: #d7e3ff;--mdc-fab-container-shape: 16px;--mdc-fab-small-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-small-focus-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-small-hover-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-fab-small-pressed-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-small-container-color: #d7e3ff;--mdc-fab-small-container-shape: 12px;--mat-fab-foreground-color: #001b3f;--mat-fab-state-layer-color: #001b3f;--mat-fab-ripple-color: rgba(0, 27, 63, .12);--mat-fab-hover-state-layer-opacity: .08;--mat-fab-focus-state-layer-opacity: .12;--mat-fab-pressed-state-layer-opacity: .12;--mat-fab-disabled-state-container-color: rgba(26, 27, 31, .12);--mat-fab-disabled-state-foreground-color: rgba(26, 27, 31, .38);--mat-fab-touch-target-display: block;--mat-fab-small-foreground-color: #001b3f;--mat-fab-small-state-layer-color: #001b3f;--mat-fab-small-ripple-color: rgba(0, 27, 63, .12);--mat-fab-small-hover-state-layer-opacity: .08;--mat-fab-small-focus-state-layer-opacity: .12;--mat-fab-small-pressed-state-layer-opacity: .12;--mat-fab-small-disabled-state-container-color: rgba(26, 27, 31, .12);--mat-fab-small-disabled-state-foreground-color: rgba(26, 27, 31, .38);--mdc-snackbar-container-color: #2f3033;--mdc-snackbar-supporting-text-color: #f2f0f4;--mdc-snackbar-supporting-text-font: Roboto, sans-serif;--mdc-snackbar-supporting-text-line-height: 1.25rem;--mdc-snackbar-supporting-text-size: .875rem;--mdc-snackbar-supporting-text-weight: 400;--mdc-snackbar-container-shape: 4px;--mat-snack-bar-button-color: #abc7ff;--mat-table-background-color: #faf9fd;--mat-table-header-headline-color: #1a1b1f;--mat-table-row-item-label-text-color: #1a1b1f;--mat-table-row-item-outline-color: #74777f;--mat-table-header-headline-font: Roboto, sans-serif;--mat-table-header-headline-line-height: 1.25rem;--mat-table-header-headline-size: .875rem;--mat-table-header-headline-weight: 500;--mat-table-header-headline-tracking: .006rem;--mat-table-row-item-label-text-font: Roboto, sans-serif;--mat-table-row-item-label-text-line-height: 1.25rem;--mat-table-row-item-label-text-size: .875rem;--mat-table-row-item-label-text-weight: 400;--mat-table-row-item-label-text-tracking: .016rem;--mat-table-footer-supporting-text-font: Roboto, sans-serif;--mat-table-footer-supporting-text-line-height: 1.25rem;--mat-table-footer-supporting-text-size: .875rem;--mat-table-footer-supporting-text-weight: 400;--mat-table-footer-supporting-text-tracking: .016rem;--mat-table-header-container-height: 56px;--mat-table-footer-container-height: 52px;--mat-table-row-item-container-height: 52px;--mat-table-row-item-outline-width: 1px;--mdc-circular-progress-active-indicator-color: #005cbb;--mdc-circular-progress-active-indicator-width: 4px;--mdc-circular-progress-size: 48px;--mat-badge-background-color: #ba1a1a;--mat-badge-text-color: #ffffff;--mat-badge-disabled-state-background-color: rgba(186, 26, 26, .38);--mat-badge-disabled-state-text-color: #ffffff;--mat-badge-text-font: Roboto, sans-serif;--mat-badge-text-size: .688rem;--mat-badge-text-weight: 500;--mat-badge-large-size-text-size: .688rem;--mat-badge-container-shape: 9999px;--mat-badge-container-size: 16px;--mat-badge-small-size-container-size: 6px;--mat-badge-large-size-container-size: 16px;--mat-badge-legacy-container-size: 16px;--mat-badge-legacy-small-size-container-size: 16px;--mat-badge-legacy-large-size-container-size: 16px;--mat-badge-container-offset: -12px 0;--mat-badge-small-size-container-offset: -6px 0;--mat-badge-large-size-container-offset: -12px 0;--mat-badge-container-overlap-offset: -12px;--mat-badge-small-size-container-overlap-offset: -6px;--mat-badge-large-size-container-overlap-offset: -12px;--mat-badge-container-padding: 0 4px;--mat-badge-small-size-container-padding: 0;--mat-badge-large-size-container-padding: 0 4px;--mat-badge-small-size-text-size: 0;--mat-bottom-sheet-container-text-color: #1a1b1f;--mat-bottom-sheet-container-background-color: #f4f3f6;--mat-bottom-sheet-container-text-font: Roboto, sans-serif;--mat-bottom-sheet-container-text-line-height: 1.5rem;--mat-bottom-sheet-container-text-size: 1rem;--mat-bottom-sheet-container-text-tracking: .031rem;--mat-bottom-sheet-container-text-weight: 400;--mat-bottom-sheet-container-shape: 28px;--mat-standard-button-toggle-hover-state-layer-opacity: .08;--mat-standard-button-toggle-focus-state-layer-opacity: .12;--mat-standard-button-toggle-text-color: #1a1b1f;--mat-standard-button-toggle-state-layer-color: #1a1b1f;--mat-standard-button-toggle-selected-state-background-color: #dae2f9;--mat-standard-button-toggle-selected-state-text-color: #131c2b;--mat-standard-button-toggle-disabled-state-text-color: rgba(26, 27, 31, .38);--mat-standard-button-toggle-disabled-selected-state-text-color: rgba(26, 27, 31, .38);--mat-standard-button-toggle-disabled-selected-state-background-color: rgba(26, 27, 31, .12);--mat-standard-button-toggle-divider-color: #74777f;--mat-standard-button-toggle-label-text-font: Roboto, sans-serif;--mat-standard-button-toggle-label-text-line-height: 1.25rem;--mat-standard-button-toggle-label-text-size: .875rem;--mat-standard-button-toggle-label-text-tracking: .006rem;--mat-standard-button-toggle-label-text-weight: 500;--mat-standard-button-toggle-height: 40px;--mat-standard-button-toggle-shape: 9999px;--mat-standard-button-toggle-background-color: transparent;--mat-standard-button-toggle-disabled-state-background-color: transparent;--mat-datepicker-calendar-date-selected-state-text-color: #ffffff;--mat-datepicker-calendar-date-selected-state-background-color: #005cbb;--mat-datepicker-calendar-date-selected-disabled-state-background-color: rgba(26, 27, 31, .38);--mat-datepicker-calendar-date-today-selected-state-outline-color: #005cbb;--mat-datepicker-calendar-date-focus-state-background-color: rgba(26, 27, 31, .12);--mat-datepicker-calendar-date-hover-state-background-color: rgba(26, 27, 31, .08);--mat-datepicker-toggle-active-state-icon-color: #44474e;--mat-datepicker-calendar-date-in-range-state-background-color: #d7e3ff;--mat-datepicker-calendar-date-in-comparison-range-state-background-color: #d7e3ff;--mat-datepicker-calendar-date-in-overlap-range-state-background-color: #dae2f9;--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color: #565e71;--mat-datepicker-toggle-icon-color: #44474e;--mat-datepicker-calendar-body-label-text-color: #1a1b1f;--mat-datepicker-calendar-period-button-text-color: #44474e;--mat-datepicker-calendar-period-button-icon-color: #44474e;--mat-datepicker-calendar-navigation-button-icon-color: #44474e;--mat-datepicker-calendar-header-text-color: #44474e;--mat-datepicker-calendar-date-today-outline-color: #005cbb;--mat-datepicker-calendar-date-today-disabled-state-outline-color: rgba(26, 27, 31, .38);--mat-datepicker-calendar-date-text-color: #1a1b1f;--mat-datepicker-calendar-date-disabled-state-text-color: rgba(26, 27, 31, .38);--mat-datepicker-calendar-date-preview-state-outline-color: #005cbb;--mat-datepicker-range-input-separator-color: #1a1b1f;--mat-datepicker-range-input-disabled-state-separator-color: rgba(26, 27, 31, .38);--mat-datepicker-range-input-disabled-state-text-color: rgba(26, 27, 31, .38);--mat-datepicker-calendar-container-background-color: #e9e7eb;--mat-datepicker-calendar-container-text-color: #1a1b1f;--mat-datepicker-calendar-text-font: Roboto, sans-serif;--mat-datepicker-calendar-text-size: .875rem;--mat-datepicker-calendar-body-label-text-size: .875rem;--mat-datepicker-calendar-body-label-text-weight: 500;--mat-datepicker-calendar-period-button-text-size: .875rem;--mat-datepicker-calendar-period-button-text-weight: 500;--mat-datepicker-calendar-header-text-size: .875rem;--mat-datepicker-calendar-header-text-weight: 500;--mat-datepicker-calendar-container-shape: 16px;--mat-datepicker-calendar-container-touch-shape: 28px;--mat-datepicker-calendar-container-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-datepicker-calendar-container-touch-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-datepicker-calendar-header-divider-color: transparent;--mat-datepicker-calendar-date-outline-color: transparent;--mat-divider-color: #74777f;--mat-divider-width: 1px;--mat-expansion-container-background-color: #faf9fd;--mat-expansion-container-text-color: #1a1b1f;--mat-expansion-actions-divider-color: #74777f;--mat-expansion-header-hover-state-layer-color: rgba(26, 27, 31, .08);--mat-expansion-header-focus-state-layer-color: rgba(26, 27, 31, .12);--mat-expansion-header-disabled-state-text-color: rgba(26, 27, 31, .38);--mat-expansion-header-text-color: #1a1b1f;--mat-expansion-header-description-color: #44474e;--mat-expansion-header-indicator-color: #44474e;--mat-expansion-header-text-font: Roboto, sans-serif;--mat-expansion-header-text-size: 1rem;--mat-expansion-header-text-weight: 500;--mat-expansion-header-text-line-height: 1.5rem;--mat-expansion-header-text-tracking: .009rem;--mat-expansion-container-text-font: Roboto, sans-serif;--mat-expansion-container-text-line-height: 1.5rem;--mat-expansion-container-text-size: 1rem;--mat-expansion-container-text-tracking: .031rem;--mat-expansion-container-text-weight: 400;--mat-expansion-header-collapsed-state-height: 48px;--mat-expansion-header-expanded-state-height: 64px;--mat-expansion-container-shape: 12px;--mat-expansion-legacy-header-indicator-display: none;--mat-expansion-header-indicator-display: inline-block;--mat-grid-list-tile-header-primary-text-size: 400 1rem / 1.5rem Roboto, sans-serif;--mat-grid-list-tile-header-secondary-text-size: 400 .875rem / 1.25rem Roboto, sans-serif;--mat-grid-list-tile-footer-primary-text-size: 400 1rem / 1.5rem Roboto, sans-serif;--mat-grid-list-tile-footer-secondary-text-size: 400 .875rem / 1.25rem Roboto, sans-serif;--mat-icon-color: inherit;--mat-sidenav-container-background-color: #faf9fd;--mat-sidenav-container-text-color: #44474e;--mat-sidenav-content-background-color: #faf9fd;--mat-sidenav-content-text-color: #1a1b1f;--mat-sidenav-scrim-color: rgba(45, 48, 56, .4);--mat-sidenav-container-shape: 16px;--mat-sidenav-container-elevation-shadow: none;--mat-sidenav-container-width: 360px;--mat-sidenav-container-divider-color: transparent;--mat-stepper-header-icon-foreground-color: #faf9fd;--mat-stepper-header-selected-state-icon-background-color: #005cbb;--mat-stepper-header-selected-state-icon-foreground-color: #ffffff;--mat-stepper-header-edit-state-icon-background-color: #005cbb;--mat-stepper-header-edit-state-icon-foreground-color: #ffffff;--mat-stepper-container-color: #faf9fd;--mat-stepper-line-color: #74777f;--mat-stepper-header-hover-state-layer-color: rgba(47, 48, 51, .08);--mat-stepper-header-focus-state-layer-color: rgba(47, 48, 51, .12);--mat-stepper-header-label-text-color: #44474e;--mat-stepper-header-optional-label-text-color: #44474e;--mat-stepper-header-selected-state-label-text-color: #44474e;--mat-stepper-header-error-state-label-text-color: #ba1a1a;--mat-stepper-header-icon-background-color: #44474e;--mat-stepper-header-error-state-icon-foreground-color: #ba1a1a;--mat-stepper-container-text-font: Roboto, sans-serif;--mat-stepper-header-label-text-font: Roboto, sans-serif;--mat-stepper-header-label-text-size: .875rem;--mat-stepper-header-label-text-weight: 500;--mat-stepper-header-error-state-label-text-size: .875rem;--mat-stepper-header-selected-state-label-text-size: .875rem;--mat-stepper-header-selected-state-label-text-weight: 500;--mat-stepper-header-height: 72px;--mat-stepper-header-focus-state-layer-shape: 12px;--mat-stepper-header-hover-state-layer-shape: 12px;--mat-stepper-header-error-state-icon-background-color: transparent;--mat-sort-arrow-color: #1a1b1f;--mat-toolbar-container-background-color: #faf9fd;--mat-toolbar-container-text-color: #1a1b1f;--mat-toolbar-title-text-font: Roboto, sans-serif;--mat-toolbar-title-text-line-height: 1.75rem;--mat-toolbar-title-text-size: 1.375rem;--mat-toolbar-title-text-tracking: 0;--mat-toolbar-title-text-weight: 400;--mat-toolbar-standard-height: 64px;--mat-toolbar-mobile-height: 56px;--mat-tree-container-background-color: #faf9fd;--mat-tree-node-text-color: #1a1b1f;--mat-tree-node-text-font: Roboto, sans-serif;--mat-tree-node-text-size: 1rem;--mat-tree-node-text-weight: 400;--mat-tree-node-min-height: 48px;display:flex;align-items:flex-start;flex-wrap:wrap;position:relative;color:#444}.mat-theme-loaded-marker{display:none}#ssSearchBar .tabs{display:flex;width:100%;margin-bottom:-1px;z-index:10}#ssSearchBar .tabs .ss-tab{border-radius:4px 4px 0 0;border:#b7b7b7 solid 1px;border-color:#1967e5;border-bottom:none;padding:.3em 1.4em;font-size:.94em;letter-spacing:.4px;font-weight:600;background-color:#0047ba;color:#fff;white-space:nowrap;position:relative}#ssSearchBar .tabs .ss-tab:after{content:\"\";height:1px;width:calc(100% + 2px);position:absolute;bottom:0;left:-1px;background-color:#b7b7b7}#ssSearchBar .tabs .ss-tab:hover{background-color:#1967e5}#ssSearchBar .tabs .ss-tab.ss-active{color:#002e5d;margin-bottom:1px;border-color:#b7b7b7;background-color:#fffffff2}#ssSearchBar .tabs .ss-tab.ss-active:after{display:none}#ssSearchBar .tabs .ss-tab:disabled{cursor:auto}#ssSearchBar .tabs .tab-spacer{width:.3em;border-bottom:#b7b7b7 solid 1px;position:relative}#ssSearchBar .tabs .tab-spacer:before{content:\"\";position:absolute;left:-1px;bottom:-1px;width:1px;height:1px;background-color:#b7b7b7}#ssSearchBar .tabs .tab-spacer:after{content:\"\";position:absolute;right:-1px;bottom:-1px;width:1px;height:1px;background-color:#b7b7b7}#ssSearchBar .tabs .tab-spacer.full{width:100%;margin-right:4px;position:relative}#ssSearchBar .ss-adv-search-text{padding-bottom:1em;padding-right:2rem;pointer-events:none}#ssSearchBar .ss-bar-wrapper{padding:1em 1em .25em;border-right:#b7b7b7 solid 1px;border-left:#b7b7b7 solid 1px;border-bottom:#b7b7b7 solid 1px;width:100%;display:flex;align-items:center;flex-wrap:wrap;position:relative;background-color:#fffffff2;border-radius:0 4px 4px;overflow:hidden}#ssSearchBar .ss-bar-wrapper:after{content:\"\";position:absolute;top:0;right:-1px;background-color:transparent;border-radius:0 4px 0 0;width:4px;height:4px;border-top:#b7b7b7 solid 1px;border-right:#b7b7b7 solid 1px}#ssSearchBar .ss-bar-content{position:relative;width:100%;height:initial}#ssSearchBar .ss-search-bar{border-radius:4px;border:#b7b7b7 solid 1px;width:100%}#ssSearchBar #advSearchCloseBtn{float:right;padding:.4em;margin:-.4em 0;color:#666;transition:all .1s}#ssSearchBar #advSearchCloseBtn:hover{color:#292929}#ssSearchBar #advSearchCloseBtn .ss-icon{font-size:1.2em;font-weight:600}#ssSearchBar .ss-adv-search-btn{font-size:.9em;color:#4070b0;margin:.2em 4em 0 auto;padding-right:.4rem;display:flex;justify-content:center;align-items:center}#ssSearchBar .ss-adv-search-btn .ss-icon{font-size:1.4em;opacity:.75;margin-top:.2rem}#ssSearchBar .ss-adv-search-btn:hover{color:#6892ca}\n"] }]
930
2017
  }], propDecorators: { config: [{
931
2018
  type: Input,
932
2019
  args: [{ required: true }]
@@ -958,5 +2045,5 @@ const isSearchScope = (scope) => searchScopeValues.includes(scope);
958
2045
  * Generated bundle index. Do not edit.
959
2046
  */
960
2047
 
961
- export { ADVANCED_SEARCH_FIELD_MAP, ADVANCED_SEARCH_OPTIONS, ADVANCED_SEARCH_QUALIFIER_MAP, HbllHeaderComponent, LibraryHoursDatePipe, SsSearchBarComponent, isAdvancedSearchExternalFieldOption, isAdvancedSearchFieldOption, isAdvancedSearchLocalFieldOption, isSearchScope };
2048
+ export { ADVANCED_SEARCH_FIELD_MAP, ADVANCED_SEARCH_OPTIONS, ADVANCED_SEARCH_QUALIFIER_MAP, HbllFooterComponent, HbllHeaderComponent, HbllItemTypeIconPipe, HeaderWithImpersonationComponent, ImpersonateModalComponent, ImpersonateUserPipe, ImpersonationBannerComponent, LIBRARY_HOURS_API_URL, SsSearchBarComponent, defaultOidcBaseUri, defaultOidcDefaultIdp, getUserStatusFromRoles, isAdvancedSearchExternalFieldOption, isAdvancedSearchFieldOption, isAdvancedSearchLocalFieldOption, isSearchScope };
962
2049
  //# sourceMappingURL=byuhbll-components.mjs.map