@byuhbll/components 0.0.8

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 (32) hide show
  1. package/README.md +25 -0
  2. package/esm2022/byuhbll-components.mjs +5 -0
  3. package/esm2022/lib/animations/animations.mjs +22 -0
  4. package/esm2022/lib/directives/hbll-pill-btn/hbll-pill-btn.directive.mjs +121 -0
  5. package/esm2022/lib/hbll-checkbox/hbll-checkbox.component.mjs +17 -0
  6. package/esm2022/lib/hbll-header/hbll-header.component.mjs +60 -0
  7. package/esm2022/lib/hbll-multi-select/hbll-multi-select.component.mjs +114 -0
  8. package/esm2022/lib/ss-search-bar/advanced-search/advanced-search.component.mjs +270 -0
  9. package/esm2022/lib/ss-search-bar/constants.mjs +41 -0
  10. package/esm2022/lib/ss-search-bar/date-range/date-range.component.mjs +71 -0
  11. package/esm2022/lib/ss-search-bar/pipes/advanced-queries.pipe.mjs +27 -0
  12. package/esm2022/lib/ss-search-bar/simple-search/simple-search.component.mjs +85 -0
  13. package/esm2022/lib/ss-search-bar/ss-search-bar.component.mjs +199 -0
  14. package/esm2022/lib/ss-search-bar/utils.mjs +16 -0
  15. package/esm2022/public-api.mjs +6 -0
  16. package/fesm2022/byuhbll-components.mjs +1001 -0
  17. package/fesm2022/byuhbll-components.mjs.map +1 -0
  18. package/index.d.ts +5 -0
  19. package/lib/animations/animations.d.ts +4 -0
  20. package/lib/directives/hbll-pill-btn/hbll-pill-btn.directive.d.ts +17 -0
  21. package/lib/hbll-checkbox/hbll-checkbox.component.d.ts +6 -0
  22. package/lib/hbll-header/hbll-header.component.d.ts +40 -0
  23. package/lib/hbll-multi-select/hbll-multi-select.component.d.ts +52 -0
  24. package/lib/ss-search-bar/advanced-search/advanced-search.component.d.ts +122 -0
  25. package/lib/ss-search-bar/constants.d.ts +40 -0
  26. package/lib/ss-search-bar/date-range/date-range.component.d.ts +25 -0
  27. package/lib/ss-search-bar/pipes/advanced-queries.pipe.d.ts +8 -0
  28. package/lib/ss-search-bar/simple-search/simple-search.component.d.ts +28 -0
  29. package/lib/ss-search-bar/ss-search-bar.component.d.ts +121 -0
  30. package/lib/ss-search-bar/utils.d.ts +7 -0
  31. package/package.json +25 -0
  32. package/public-api.d.ts +2 -0
@@ -0,0 +1,1001 @@
1
+ import * as i1 from '@angular/common';
2
+ import { DatePipe, LowerCasePipe, CommonModule } from '@angular/common';
3
+ import { toSignal } from '@angular/core/rxjs-interop';
4
+ import { HttpClient } from '@angular/common/http';
5
+ import * as i0 from '@angular/core';
6
+ import { Pipe, inject, Renderer2, input, EventEmitter, viewChild, computed, Component, Output, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, Input, ElementRef, Directive, HostListener } from '@angular/core';
7
+ import { trigger, transition, group, style, query, animateChild, animate } from '@angular/animations';
8
+ import * as i1$1 from '@angular/forms';
9
+ import { FormControl, ReactiveFormsModule, NonNullableFormBuilder, Validators, FormBuilder } from '@angular/forms';
10
+ import * as i2$1 from '@angular/material/tooltip';
11
+ import { MatTooltip, MatTooltipModule } from '@angular/material/tooltip';
12
+ import { startWith, map, filter, tap } from 'rxjs/operators';
13
+ import { combineLatest, Subscription } from 'rxjs';
14
+ import { MatIconModule } from '@angular/material/icon';
15
+ import * as i4 from '@angular/material/autocomplete';
16
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
17
+ import * as i3 from '@angular/material/form-field';
18
+ import { MatFormFieldModule } from '@angular/material/form-field';
19
+ import * as i2 from '@angular/material/chips';
20
+ import { MatChipsModule } from '@angular/material/chips';
21
+ import { ENTER, COMMA } from '@angular/cdk/keycodes';
22
+ import * as i5 from '@angular/material/core';
23
+
24
+ const LIBRARY_HOURS_API_URL = 'https://apps.lib.byu.edu/libraryhours/api/hours';
25
+ class LibraryHoursDatePipe {
26
+ transform(date, time) {
27
+ return new Date(date + 'T' + time);
28
+ }
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" }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LibraryHoursDatePipe, decorators: [{
33
+ type: Pipe,
34
+ args: [{
35
+ name: 'libraryHoursDate',
36
+ standalone: true,
37
+ }]
38
+ }] });
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
+ */
47
+ class HbllHeaderComponent {
48
+ constructor() {
49
+ this.r2 = inject(Renderer2);
50
+ this.http = inject(HttpClient);
51
+ // --- API ---
52
+ this.name = input('');
53
+ this.login = new EventEmitter();
54
+ this.logout = new EventEmitter();
55
+ // -----------
56
+ this.accountInfoEl = viewChild('accountInfo');
57
+ this.isLoggedIn = computed(() => !!this.name());
58
+ this.libraryHours = toSignal(this.http.get(LIBRARY_HOURS_API_URL));
59
+ this.showAccountDropdown = false;
60
+ }
61
+ ngAfterViewInit() {
62
+ this.r2.listen('window', 'click', (e) => {
63
+ if (!this.accountInfoEl()?.nativeElement.contains(e.target))
64
+ this.showAccountDropdown = false;
65
+ });
66
+ }
67
+ 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" }] }); }
69
+ }
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllHeaderComponent, decorators: [{
71
+ 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"] }]
73
+ }], propDecorators: { login: [{
74
+ type: Output
75
+ }], logout: [{
76
+ type: Output
77
+ }] } });
78
+
79
+ const ADVANCED_SEARCH_QUALIFIER_MAP = {
80
+ contains: 'contains',
81
+ begins_with: 'begins with',
82
+ exact: 'is (exact)',
83
+ index: 'browse value',
84
+ subject_lc: 'LC browse',
85
+ subject_expanded: 'expanded browse',
86
+ };
87
+ const ADVANCED_SEARCH_FIELD_MAP = {
88
+ abstract: 'Abstract',
89
+ allText: 'All Text',
90
+ any: 'Any Field',
91
+ callNumber: 'Call Number',
92
+ contributor: 'Contributor',
93
+ creator: 'Author/Creator',
94
+ genre: 'Genre',
95
+ isbn: 'ISBN',
96
+ issn: 'ISSN',
97
+ series: 'Series',
98
+ source: 'Source',
99
+ subject: 'Subject',
100
+ title: 'Title',
101
+ };
102
+ const PRIMARY_BLUE = 'rgba(63, 112, 176, 1)';
103
+ const PRIMARY_BLUE_HOVER = 'hsl(214, 48%, 60%, 1)';
104
+ const PRIMARY_LIGHT_BLUE = 'rgba(223, 233, 247, 1)';
105
+ const PRIMARY_PURPLE = '#8772A6';
106
+ const PRIMARY_PURPLE_HOVER = '#7C659F';
107
+ const DESTRUCTIVE_RED = 'hsl(5, 47%, 47%, 1)';
108
+ const DESTRUCTIVE_RED_HOVER = 'hsl(5, 47%, 50%, 1)';
109
+ const SECONDARY_TEXT_GRAY = 'rgba(112, 112, 112, 1)';
110
+ const LIGHT_GRAY = 'rgba(230, 230, 230, 1)';
111
+ const DROP_SHADOW_DARK_BLUE = 'rgba(51, 62, 77, 0.16)';
112
+ const TEXT_SEMIBOLD = '600';
113
+ const TEXT_BOLD = '700';
114
+ const ANIMATION_LENGTH_STD = '0.15s';
115
+ const LINE_HEIGHT_STD = '1.4';
116
+ const CONTEXTUAL_SELECTOR_HEIGHT = '4.5rem';
117
+ const CONTENT_MAX_WIDTH = '75rem';
118
+ const CONTENT_PADDING = '5.4rem';
119
+
120
+ class SsAdvancedQueriesPipe {
121
+ transform(queryRows) {
122
+ return queryRows
123
+ .map((row, i) => {
124
+ const b = i !== 0 ? row.boolean || ADVANCED_SEARCH_OPTIONS.boolean[0] : '';
125
+ const f = row.field ??
126
+ ADVANCED_SEARCH_OPTIONS.localFields[0];
127
+ const o = row.qualifier ?? ADVANCED_SEARCH_OPTIONS.qualifiers[f][0];
128
+ return `${b ? b + ' ' : ''}${ADVANCED_SEARCH_FIELD_MAP[f]} ${ADVANCED_SEARCH_QUALIFIER_MAP[o]} <b>${row.query}</b>`;
129
+ })
130
+ .join(' ');
131
+ }
132
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SsAdvancedQueriesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
133
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: SsAdvancedQueriesPipe, isStandalone: true, name: "ssAdvancedQueries" }); }
134
+ }
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SsAdvancedQueriesPipe, decorators: [{
136
+ type: Pipe,
137
+ args: [{
138
+ name: 'ssAdvancedQueries',
139
+ standalone: true,
140
+ }]
141
+ }] });
142
+
143
+ const libHbllExpandCollapse = trigger('libHbllExpandCollapse', [
144
+ transition('void <=> *', []),
145
+ transition('* <=> *', [
146
+ group([
147
+ style({ height: '{{startHeight}}px' }),
148
+ query('@*', [animateChild()], { optional: true }),
149
+ animate('.15s ease-in-out'),
150
+ ]),
151
+ ], { params: { startHeight: '0px' } }),
152
+ ]);
153
+ const libHbllFadeInOut = trigger('libHbllFadeInOut', [
154
+ transition(':enter', [style({ opacity: '0' }), animate('.15s ease-out')]),
155
+ transition(':leave', [animate('.15s ease-out', style({ opacity: '0' }))]),
156
+ ]);
157
+ const libHbllFadeIn = trigger('libHbllFadeIn', [
158
+ transition(':enter', [style({ opacity: '0' }), animate('.15s ease-out')]),
159
+ ]);
160
+ const libHbllFadeOut = trigger('libHbllFadeOut', [
161
+ transition(':leave', [animate('.15s ease-out', style({ opacity: '0' }))]),
162
+ ]);
163
+
164
+ /**
165
+ * Validator method to check if a `FormGroup<{ from: FormControl<string>; to: FormControl<string> }>` is valid.
166
+ * The FormGroup is considered valid if either both `from` and `to` are set, or both are empty strings.
167
+ * @returns {ValidationErrors | null} validation errors, if any
168
+ */
169
+ const validateDateRangeFields = () => {
170
+ return (control) => {
171
+ const from = control.get('from')?.value;
172
+ const to = control.get('to')?.value;
173
+ // Valid if both fields are set or both are empty.
174
+ if ((!from && !to) || (from && to))
175
+ return null;
176
+ return from ? { toInvalid: true } : { fromInvalid: true };
177
+ };
178
+ };
179
+
180
+ class HbllMultiSelectComponent {
181
+ constructor() {
182
+ this.allOptions = {};
183
+ this.label = '';
184
+ /**
185
+ * An array that indicates which keys are selected.
186
+ */
187
+ this.selectedKeys = [];
188
+ /**
189
+ * An EventEmitter that emits an array of keys indicating which options are currently selected.
190
+ */
191
+ this.selectedKeysChange = new EventEmitter();
192
+ this.inputControl = new FormControl('');
193
+ this.filteredOptions$ = combineLatest([
194
+ this.inputControl.valueChanges.pipe(startWith('')),
195
+ this.selectedKeysChange.asObservable().pipe(startWith([])),
196
+ ]).pipe(map(([key]) =>
197
+ // Display filtered options if there is a value, else display all options currently not selected.
198
+ key
199
+ ? this.filterOptions(key)
200
+ : Object.keys(this.allOptions).filter((key) => !this.selectedKeys.find((selectedOption) => key === selectedOption))));
201
+ this.separatorKeysCodes = [ENTER, COMMA];
202
+ /**
203
+ * Adds an option to the array of selected keys when a user selects from the autocomplete.
204
+ * @param {MatAutocompleteSelectedEvent} event MatAutocompleteSelectedEvent
205
+ */
206
+ this.selectOption = (event) => {
207
+ this.addOptionToSelectedOptions(event.option.value);
208
+ };
209
+ /**
210
+ * Filters the options by the supplied key as well as the currently selected key.
211
+ * @param {string} key key to filter by.
212
+ * @returns {string[]} the filtered keys
213
+ */
214
+ this.filterOptions = (newKey) => {
215
+ return Object.keys(this.allOptions).filter((key) => this.allOptions[key] !== newKey && !this.selectedKeys.includes(key));
216
+ };
217
+ /**
218
+ * Adds a key to the selected keys array if the option is truthy and not already in the array.
219
+ * The input is also cleared (if available), and the new selected keys are emitted.
220
+ * @param {key} option key to add
221
+ */
222
+ this.addOptionToSelectedOptions = (key) => {
223
+ if (key && !this.selectedKeys.includes(key) && this.allOptions[key]) {
224
+ this.selectedKeys.push(key);
225
+ this.inputControl.setValue('');
226
+ this.selectedKeysChange.emit(this.selectedKeys);
227
+ if (this.inputRef)
228
+ this.inputRef.nativeElement.value = '';
229
+ }
230
+ };
231
+ }
232
+ /**
233
+ * Adds a key from the input to the array of selected key.
234
+ * The value from the input must match a key from the record of all options.
235
+ * @param {MatChipInputEvent} event MatChipInputEvent
236
+ */
237
+ addOption(event) {
238
+ this.addOptionToSelectedOptions(event.value);
239
+ }
240
+ /**
241
+ * Removes a key from the array of selected options and emits the new selected keys.
242
+ * @param {MultiSelectKeyValPair} key key to remove
243
+ */
244
+ removeOption(key) {
245
+ const index = this.selectedKeys.indexOf(key);
246
+ if (index >= 0) {
247
+ this.selectedKeys.splice(index, 1);
248
+ this.selectedKeysChange.emit(this.selectedKeys);
249
+ }
250
+ }
251
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllMultiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
252
+ 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=\"hbll-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 <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 icon\"> cancel </span>\n </button>\n </mat-chip-row>\n }\n </mat-chip-grid>\n <label class=\"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: [".hbll-multi-select mat-form-field{width:100%}.hbll-multi-select mat-form-field .mat-mdc-form-field-infix{padding:.35em 0;min-height:0}.hbll-multi-select mat-form-field .mat-mdc-chip-input{margin-left:0}.hbll-multi-select mat-form-field .mat-mdc-chip-input::placeholder{opacity:.75}.hbll-multi-select mat-form-field .mat-mdc-text-field-wrapper{padding:0 .5em}.hbll-multi-select .icon{font-size:1em}.hbll-multi-select mat-autocomplete{font-family:inherit}.hbll-multi-select .hidden{display:none}.mat-mdc-option.mdc-list-item{background-color:#fff;font-family: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: i1$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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatIconModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
253
+ }
254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllMultiSelectComponent, decorators: [{
255
+ type: Component,
256
+ args: [{ selector: 'lib-hbll-multi-select', standalone: true, imports: [
257
+ CommonModule,
258
+ MatChipsModule,
259
+ MatFormFieldModule,
260
+ MatAutocompleteModule,
261
+ ReactiveFormsModule,
262
+ MatIconModule,
263
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"hbll-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 <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 icon\"> cancel </span>\n </button>\n </mat-chip-row>\n }\n </mat-chip-grid>\n <label class=\"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: [".hbll-multi-select mat-form-field{width:100%}.hbll-multi-select mat-form-field .mat-mdc-form-field-infix{padding:.35em 0;min-height:0}.hbll-multi-select mat-form-field .mat-mdc-chip-input{margin-left:0}.hbll-multi-select mat-form-field .mat-mdc-chip-input::placeholder{opacity:.75}.hbll-multi-select mat-form-field .mat-mdc-text-field-wrapper{padding:0 .5em}.hbll-multi-select .icon{font-size:1em}.hbll-multi-select mat-autocomplete{font-family:inherit}.hbll-multi-select .hidden{display:none}.mat-mdc-option.mdc-list-item{background-color:#fff;font-family:inherit}.mat-mdc-autocomplete-panel{background-color:#fff!important}\n"] }]
264
+ }], propDecorators: { inputRef: [{
265
+ type: ViewChild,
266
+ args: ['input']
267
+ }], allOptions: [{
268
+ type: Input
269
+ }], label: [{
270
+ type: Input
271
+ }], selectedKeys: [{
272
+ type: Input
273
+ }], selectedKeysChange: [{
274
+ type: Output
275
+ }] } });
276
+
277
+ class HbllCheckboxComponent {
278
+ constructor() {
279
+ this.isChecked = false;
280
+ }
281
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
282
+ 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=\"checkbox-container\" [class.checked]=\"isChecked\">\n @if (isChecked) {\n <span class=\"material-symbols-outlined icon\"> check </span>\n }\n</span>\n", styles: [".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}.checkbox-container.checked{border-color:#3a6093;background-color:#3a6093}.checkbox-container.checked .icon{position:absolute;font-size:1.1em}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
283
+ }
284
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllCheckboxComponent, decorators: [{
285
+ type: Component,
286
+ args: [{ selector: 'lib-hbll-checkbox', standalone: true, imports: [CommonModule], template: "<span class=\"checkbox-container\" [class.checked]=\"isChecked\">\n @if (isChecked) {\n <span class=\"material-symbols-outlined icon\"> check </span>\n }\n</span>\n", styles: [".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}.checkbox-container.checked{border-color:#3a6093;background-color:#3a6093}.checkbox-container.checked .icon{position:absolute;font-size:1.1em}\n"] }]
287
+ }], propDecorators: { isChecked: [{
288
+ type: Input
289
+ }] } });
290
+
291
+ const BG_COLORS = {
292
+ blue: PRIMARY_BLUE,
293
+ purple: PRIMARY_PURPLE,
294
+ };
295
+ const BG_COLORS_HOVER = {
296
+ blue: PRIMARY_BLUE_HOVER,
297
+ purple: PRIMARY_PURPLE_HOVER,
298
+ };
299
+ class HbllPillBtnDirective {
300
+ constructor() {
301
+ this.el = inject(ElementRef);
302
+ this.isDestructiveStyle = false;
303
+ this.isDisabled = false;
304
+ this.isFullWidth = false;
305
+ this.color = 'purple';
306
+ }
307
+ onMouseEnter() {
308
+ if (this.isDisabled) {
309
+ return;
310
+ }
311
+ else {
312
+ if (!this.isDestructiveStyle) {
313
+ this.el.nativeElement.style.backgroundColor = BG_COLORS_HOVER[this.color];
314
+ }
315
+ else {
316
+ this.el.nativeElement.style.backgroundColor = DESTRUCTIVE_RED_HOVER;
317
+ }
318
+ }
319
+ this.el.nativeElement.style.cursor = 'pointer';
320
+ }
321
+ onMouseLeave() {
322
+ if (this.isDisabled) {
323
+ return;
324
+ }
325
+ else {
326
+ if (!this.isDestructiveStyle) {
327
+ this.el.nativeElement.style.backgroundColor = BG_COLORS[this.color];
328
+ }
329
+ else {
330
+ this.el.nativeElement.style.backgroundColor = DESTRUCTIVE_RED;
331
+ }
332
+ }
333
+ this.el.nativeElement.style.cursor = 'pointer';
334
+ }
335
+ onClick() {
336
+ if (this.isDisabled) {
337
+ return;
338
+ }
339
+ else {
340
+ if (!this.isDestructiveStyle) {
341
+ this.el.nativeElement.style.backgroundColor = BG_COLORS[this.color];
342
+ }
343
+ else {
344
+ this.el.nativeElement.style.backgroundColor = DESTRUCTIVE_RED;
345
+ }
346
+ }
347
+ this.el.nativeElement.style.cursor = 'pointer';
348
+ }
349
+ ngOnInit() {
350
+ this.setupButton();
351
+ }
352
+ ngOnChanges() {
353
+ this.setupButton();
354
+ }
355
+ setupButton() {
356
+ if (this.isDisabled) {
357
+ this.el.nativeElement.style.color = SECONDARY_TEXT_GRAY;
358
+ this.el.nativeElement.style.backgroundColor = LIGHT_GRAY;
359
+ }
360
+ else {
361
+ if (!this.isDestructiveStyle) {
362
+ this.el.nativeElement.style.backgroundColor = BG_COLORS[this.color];
363
+ }
364
+ else {
365
+ this.el.nativeElement.style.backgroundColor = DESTRUCTIVE_RED;
366
+ }
367
+ this.el.nativeElement.style.color = 'white';
368
+ }
369
+ this.el.nativeElement.style.transition = 'all ' + ANIMATION_LENGTH_STD;
370
+ this.el.nativeElement.style.fontSize = '1em';
371
+ this.el.nativeElement.style.fontWeight = TEXT_SEMIBOLD;
372
+ this.el.nativeElement.style.textAlign = 'center';
373
+ this.el.nativeElement.style.display = this.isFullWidth ? 'flex' : 'inline-flex';
374
+ this.el.nativeElement.style.justifyContent = 'center';
375
+ this.el.nativeElement.style.alignItems = 'center';
376
+ this.el.nativeElement.style.width = this.isFullWidth ? '100%' : 'auto';
377
+ this.el.nativeElement.style.borderRadius = '100em';
378
+ this.el.nativeElement.style.padding = '0.4em 1.3em';
379
+ this.el.nativeElement.style.boxSizing = 'border-box';
380
+ }
381
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllPillBtnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
382
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: HbllPillBtnDirective, isStandalone: true, selector: "[libHbllPillBtn]", inputs: { isDestructiveStyle: "isDestructiveStyle", isDisabled: "isDisabled", isFullWidth: "isFullWidth", color: "color" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "click": "onClick()" } }, usesOnChanges: true, ngImport: i0 }); }
383
+ }
384
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllPillBtnDirective, decorators: [{
385
+ type: Directive,
386
+ args: [{
387
+ selector: '[libHbllPillBtn]',
388
+ standalone: true,
389
+ }]
390
+ }], propDecorators: { isDestructiveStyle: [{
391
+ type: Input
392
+ }], isDisabled: [{
393
+ type: Input
394
+ }], isFullWidth: [{
395
+ type: Input
396
+ }], color: [{
397
+ type: Input
398
+ }], onMouseEnter: [{
399
+ type: HostListener,
400
+ args: ['mouseenter']
401
+ }], onMouseLeave: [{
402
+ type: HostListener,
403
+ args: ['mouseleave']
404
+ }], onClick: [{
405
+ type: HostListener,
406
+ args: ['click']
407
+ }] } });
408
+
409
+ class DateRangeComponent {
410
+ constructor() {
411
+ this.fb = inject(NonNullableFormBuilder);
412
+ /**
413
+ * Emits `{ from: string, to: string }` object if both values are set to a valid or empty state by the user.
414
+ */
415
+ this.validDateChange = new EventEmitter();
416
+ this.fromChange = new EventEmitter();
417
+ this.toChange = new EventEmitter();
418
+ this.dateForm = this.fb.group({
419
+ from: ['', [Validators.pattern('^[0-9]{4}$')]],
420
+ to: ['', [Validators.pattern('^[0-9]{4}$')]],
421
+ }, { validators: validateDateRangeFields() });
422
+ this.onFromChange = () => {
423
+ this.onInputChange();
424
+ this.fromChange.emit(this.dateForm.controls.from.value);
425
+ };
426
+ this.onToChange = () => {
427
+ this.onInputChange();
428
+ this.toChange.emit(this.dateForm.controls.to.value);
429
+ };
430
+ this.onInputChange = () => {
431
+ let from = this.dateForm.controls.from.value;
432
+ let to = this.dateForm.controls.to.value;
433
+ if (from && to && this.dateForm.controls.from.valid && this.dateForm.controls.to.valid) {
434
+ // Ensure 'to' contains the larger year. Swap if necessary.
435
+ if (parseInt(from) > parseInt(to)) {
436
+ const swap = from;
437
+ from = to;
438
+ to = swap;
439
+ }
440
+ this.validDateChange.emit({ from, to });
441
+ }
442
+ else if (!from && !to) {
443
+ this.validDateChange.emit({ from, to });
444
+ }
445
+ };
446
+ }
447
+ set from(from) {
448
+ if (from !== this.dateForm.controls.from.value)
449
+ this.dateForm.controls.from.setValue(from);
450
+ }
451
+ set to(to) {
452
+ if (to !== this.dateForm.controls.to.value)
453
+ this.dateForm.controls.to.setValue(to);
454
+ }
455
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DateRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
456
+ 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=\"from-to\" data-testid=\"from-to\" [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}#from-to{margin-top:.6rem;margin-bottom:.8rem}#from-to label{margin-right:.7em}#from-to label:not(:first-of-type){margin-left:.7em}#from-to input{font-size:inherit;width:3.5em}#from-to input.error{border-color:#b04940}@media screen and (min-width: 690px){#from-to{margin-bottom:1.4rem}#from-to label{margin-right:.65em}#from-to label:not(:first-of-type){margin-left:.65em}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], animations: [libHbllFadeInOut], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
457
+ }
458
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DateRangeComponent, decorators: [{
459
+ type: Component,
460
+ args: [{ selector: 'lib-date-range', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, ReactiveFormsModule], animations: [libHbllFadeInOut], template: "<form id=\"from-to\" data-testid=\"from-to\" [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}#from-to{margin-top:.6rem;margin-bottom:.8rem}#from-to label{margin-right:.7em}#from-to label:not(:first-of-type){margin-left:.7em}#from-to input{font-size:inherit;width:3.5em}#from-to input.error{border-color:#b04940}@media screen and (min-width: 690px){#from-to{margin-bottom:1.4rem}#from-to label{margin-right:.65em}#from-to label:not(:first-of-type){margin-left:.65em}}\n"] }]
461
+ }], propDecorators: { validDateChange: [{
462
+ type: Output
463
+ }], fromChange: [{
464
+ type: Output
465
+ }], toChange: [{
466
+ type: Output
467
+ }], from: [{
468
+ type: Input
469
+ }], to: [{
470
+ type: Input
471
+ }] } });
472
+
473
+ const DATE_VALIDATOR_REGEX = '^[0-9]{4}$';
474
+ class AdvancedSearchComponent {
475
+ constructor() {
476
+ this.fb = inject(NonNullableFormBuilder);
477
+ this.advancedSearch = new EventEmitter();
478
+ this.subscription = new Subscription();
479
+ /**
480
+ * Takes a `FormGroup` and syncs up the `field` and `qualifier` values.
481
+ * After syncing, when the `field` value changes, the `qualifier` value will update appropriately.
482
+ */
483
+ this.syncUpFieldAndQualifier = (fg, scope) => {
484
+ this.subscription.add(fg.controls.field.valueChanges
485
+ .pipe(filter(() => scope === 'local'), tap((val) => fg.controls.qualifier.setValue(ADVANCED_SEARCH_OPTIONS.qualifiers[val][0])))
486
+ .subscribe());
487
+ };
488
+ this.advancedSearchForm = this.fb.group({
489
+ queries: this.fb.array([], [Validators.maxLength(ADVANCED_SEARCH_QUERIES_LIMIT)]),
490
+ types: [[]],
491
+ collections: [[]],
492
+ languages: [[]],
493
+ datePublished: this.fb.group({
494
+ from: ['', [Validators.maxLength(4), Validators.pattern(DATE_VALIDATOR_REGEX)]],
495
+ to: ['', [Validators.maxLength(4), Validators.pattern(DATE_VALIDATOR_REGEX)]],
496
+ }, { validators: validateDateRangeFields() }),
497
+ limitResults: this.fb.group({
498
+ peerReviewed: [false],
499
+ }),
500
+ expandResults: this.fb.group({
501
+ applyRelatedWords: [false],
502
+ applyEquivalentSubjects: [false],
503
+ fullText: [false],
504
+ }),
505
+ });
506
+ this.isSubmitted = false;
507
+ this.advancedSearchOptions = ADVANCED_SEARCH_OPTIONS;
508
+ this.advancedSearchFieldMap = ADVANCED_SEARCH_FIELD_MAP;
509
+ this.advancedSearchQualifierMap = ADVANCED_SEARCH_QUALIFIER_MAP;
510
+ /**
511
+ * Add a query to `queries` `FormArray`. This FormGroup has an additional `boolean` control.
512
+ */
513
+ this.addQuery = () => {
514
+ this.queries.push(this.fb.group({
515
+ boolean: [ADVANCED_SEARCH_OPTIONS.boolean[0]],
516
+ field: [
517
+ this.config.scope === 'external'
518
+ ? ADVANCED_SEARCH_OPTIONS.externalFields[0]
519
+ : ADVANCED_SEARCH_OPTIONS.localFields[0],
520
+ ],
521
+ qualifier: [
522
+ ADVANCED_SEARCH_OPTIONS.qualifiers[ADVANCED_SEARCH_OPTIONS.localFields[0]][0],
523
+ ],
524
+ query: ['', Validators.required],
525
+ }));
526
+ this.syncUpFieldAndQualifier(this.queries.at(-1), this.config.scope);
527
+ };
528
+ this.removeQuery = (i) => {
529
+ this.queries.removeAt(i);
530
+ };
531
+ /**
532
+ * Prepares appropriate query params before performing a local advanced search.
533
+ */
534
+ this.doLocalAdvancedSearch = () => {
535
+ this.doAdvancedSearch({
536
+ localAdvancedSearch: {
537
+ ...this.config.localAdvancedSearch,
538
+ selectedResourceTypes: this.types.value,
539
+ selectedCollections: this.collections.value,
540
+ },
541
+ });
542
+ };
543
+ /**
544
+ * Prepares appropriate query params before performing an external advanced search.
545
+ */
546
+ this.doExternalAdvancedSearch = () => {
547
+ // Compares 'from' and 'to' to ensure 'to' is greater than / equal to 'from', swaps them if not
548
+ const from = this.from.value
549
+ ? parseInt(this.from.value) <= parseInt(this.to.value)
550
+ ? this.from.value
551
+ : this.to.value
552
+ : '';
553
+ // Compares 'from' and 'to' to ensure 'to' is greater than / equal to 'from', swaps them if not
554
+ const to = this.to.value
555
+ ? parseInt(this.to.value) >= parseInt(this.from.value)
556
+ ? this.to.value
557
+ : this.from.value
558
+ : '';
559
+ this.doAdvancedSearch({
560
+ externalAdvancedSearch: {
561
+ ...this.config.externalAdvancedSearch,
562
+ datePublished: { from, to },
563
+ selectedLanguages: this.languages.value,
564
+ limitResults: {
565
+ peerReviewed: this.peerReviewed.value,
566
+ },
567
+ expandResults: {
568
+ applyRelatedWords: this.applyRelatedWords.value,
569
+ applyEquivalentSubjects: this.applyEquivalentSubjects.value,
570
+ fullText: this.fullText.value,
571
+ },
572
+ },
573
+ });
574
+ };
575
+ /**
576
+ * Verifies that there is a query to use, gathers all other query parameters needed, then performs an advanced search via `router.navigate()`.
577
+ * @param {Record<string, string>} queryParams base set of query params to navigate with
578
+ */
579
+ this.doAdvancedSearch = (updatedProps) => {
580
+ this.isSubmitted = true;
581
+ // Don't perform a search unless there is at least one query
582
+ if (this.queries.at(0).controls.query.invalid &&
583
+ !this.queries.value.some((v) => !!v.query)) {
584
+ this.showSearchValidationToolTip();
585
+ return;
586
+ }
587
+ // Don't perform a search unless the date form is valid
588
+ if (this.advancedSearchForm.controls.datePublished.invalid)
589
+ return;
590
+ this.advancedSearch.emit({
591
+ ...this.config,
592
+ ...updatedProps,
593
+ advancedSearchQueryRows: this.queries.value,
594
+ });
595
+ this.isSubmitted = false;
596
+ };
597
+ this.showSearchValidationToolTip = () => {
598
+ this.searchInput.nativeElement.focus();
599
+ this.inputTooltip.disabled = false;
600
+ this.inputTooltip.show();
601
+ };
602
+ this.setupForm = () => {
603
+ this.queries.clear();
604
+ // Always keep at least two queries available
605
+ this.addQuery();
606
+ this.addQuery();
607
+ // Ensure validation tooltip closes when uses enters a query
608
+ this.subscription.add(this.queries
609
+ .at(0)
610
+ .controls.query.valueChanges.pipe(startWith(''))
611
+ .pipe(filter(() => !!this.inputTooltip))
612
+ .subscribe(() => (this.inputTooltip.disabled = true)));
613
+ // If no `q{NUM}` use `q` for first query
614
+ if (!this.config.advancedSearchQueryRows.length)
615
+ this.queries.at(0).controls.query.setValue(this.config.q);
616
+ this.config.advancedSearchQueryRows.forEach((queryRow, i) => {
617
+ // Add a query form control for every q{num} key after the first.
618
+ let queryControl = null;
619
+ if (i === 0 || i === 1) {
620
+ queryControl = this.queries.at(i);
621
+ }
622
+ else {
623
+ this.addQuery();
624
+ queryControl = this.queries.at(-1);
625
+ }
626
+ // Add the query value.
627
+ queryControl.controls.query.setValue(queryRow.query);
628
+ // Add the field value, if available.
629
+ if (queryRow.field)
630
+ queryControl.controls.field.setValue(queryRow.field);
631
+ else
632
+ queryControl.controls.field.setValue(this.config.scope === 'external'
633
+ ? this.advancedSearchOptions.externalFields[0]
634
+ : this.advancedSearchOptions.localFields[0]);
635
+ // Add the qualifier value, if available and a local search.
636
+ if (this.config.scope === 'local' && queryRow.qualifier)
637
+ queryControl.controls.qualifier.setValue(queryRow.qualifier);
638
+ // Add the boolean, if available and not the first query.
639
+ if (i !== 0 && queryRow.boolean)
640
+ queryControl.controls.boolean.setValue(queryRow.boolean);
641
+ });
642
+ if (this.config.scope === 'local') {
643
+ this.types.setValue(this.config.localAdvancedSearch.selectedResourceTypes);
644
+ this.collections.setValue(this.config.localAdvancedSearch.selectedCollections);
645
+ }
646
+ else {
647
+ this.languages.setValue(this.config.externalAdvancedSearch
648
+ .selectedLanguages);
649
+ this.peerReviewed.setValue(this.config.externalAdvancedSearch.limitResults.peerReviewed);
650
+ this.applyRelatedWords.setValue(this.config.externalAdvancedSearch.expandResults.applyRelatedWords);
651
+ this.applyEquivalentSubjects.setValue(this.config.externalAdvancedSearch.expandResults.applyEquivalentSubjects);
652
+ this.fullText.setValue(this.config.externalAdvancedSearch.expandResults.fullText);
653
+ this.from.setValue(this.config.externalAdvancedSearch.datePublished.from);
654
+ this.to.setValue(this.config.externalAdvancedSearch.datePublished.to);
655
+ }
656
+ };
657
+ }
658
+ set config(config) {
659
+ this._config = config;
660
+ this.setupForm();
661
+ }
662
+ get config() {
663
+ return this._config;
664
+ }
665
+ ngOnDestroy() {
666
+ this.subscription.unsubscribe();
667
+ }
668
+ get queries() {
669
+ return this.advancedSearchForm.controls.queries;
670
+ }
671
+ get types() {
672
+ return this.advancedSearchForm.controls.types;
673
+ }
674
+ get collections() {
675
+ return this.advancedSearchForm.controls.collections;
676
+ }
677
+ get languages() {
678
+ return this.advancedSearchForm.controls.languages;
679
+ }
680
+ get from() {
681
+ return this.advancedSearchForm.controls.datePublished.controls.from;
682
+ }
683
+ get to() {
684
+ return this.advancedSearchForm.controls.datePublished.controls.to;
685
+ }
686
+ get peerReviewed() {
687
+ return this.advancedSearchForm.controls.limitResults.controls.peerReviewed;
688
+ }
689
+ get fullText() {
690
+ return this.advancedSearchForm.controls.expandResults.controls.fullText;
691
+ }
692
+ get applyRelatedWords() {
693
+ return this.advancedSearchForm.controls.expandResults.controls.applyRelatedWords;
694
+ }
695
+ get applyEquivalentSubjects() {
696
+ return this.advancedSearchForm.controls.expandResults.controls.applyEquivalentSubjects;
697
+ }
698
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: AdvancedSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
699
+ 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=\"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=\"adv-search-row\" [formGroup]=\"query\">\n <!-- Boolean operator -->\n <!-- Add boolean for each row except for first -->\n @if (!$first) {\n <div class=\"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=\"hidden\">Field {{ queryIndex }}</label>\n <div class=\"select-wrapper\">\n <select\n [id]=\"'field' + queryIndex\"\n [formControlName]=\"'field'\"\n [attr.data-testid]=\"'field' + queryIndex\"\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 </select>\n </div>\n <!-- Qualifiers are only available for local searches -->\n @if (config.scope === 'local') {\n <label [for]=\"'qualifier' + queryIndex\" class=\"hidden\"\n >Match Criteria {{ queryIndex }}</label\n >\n <div class=\"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=\"hidden\">Query {{ queryIndex }}</label>\n <div class=\"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=\"row-cancel\"\n type=\"button\"\n (click)=\"removeQuery(queryIndex)\"\n [attr.data-testid]=\"'cancelRow' + queryIndex\"\n >\n <span class=\"material-symbols-outlined 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 icon\"> add </span>\n Add a row\n </button>\n <!-- OTHER OPTIONS -->\n <div class=\"other-options\">\n <!-- LOCAL -->\n @if (config.scope === 'local') {\n <!-- Type -->\n <div data-testid=\"resourceType\">\n <h4>Resource Type</h4>\n <div class=\"multi-select-wrapper\">\n <lib-hbll-multi-select\n [label]=\"'Resource Type'\"\n [allOptions]=\"config.localAdvancedSearch.availableResourceTypes\"\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=\"multi-select-wrapper\">\n <lib-hbll-multi-select\n [label]=\"'Collection'\"\n [allOptions]=\"config.localAdvancedSearch.availableCollections\"\n [selectedKeys]=\"collections.value\"\n (selectedKeysChange)=\"collections.setValue($event)\"\n ></lib-hbll-multi-select>\n </div>\n </div>\n }\n <!-- EXTERNAL -->\n @if (config.scope === 'external') {\n <div formGroupName=\"limitResults\" class=\"checkbox-section\">\n <h4>For Fewer Results Try</h4>\n <!-- Peer reviewed -->\n <label class=\"checkbox-label\" for=\"peerReviewed\" tabindex=\"0\">\n <input\n class=\"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=\"label-text\">Peer reviewed journal articles</span>\n </label>\n </div>\n <div formGroupName=\"expandResults\" class=\"checkbox-section\">\n <h4>For More Results Try</h4>\n <!-- Apply related words -->\n <label class=\"checkbox-label\" for=\"applyRelatedWords\" tabindex=\"0\">\n <input\n class=\"hidden\"\n id=\"applyRelatedWords\"\n type=\"checkbox\"\n [formControlName]=\"'applyRelatedWords'\"\n data-testid=\"applyRelatedWords\"\n />\n <lib-hbll-checkbox [isChecked]=\"applyRelatedWords.value\"></lib-hbll-checkbox>\n <span class=\"label-text\">Apply related words</span>\n </label>\n <!-- Apply equivalent subjects -->\n <label class=\"checkbox-label\" for=\"applyEquivalentSubjects\" tabindex=\"0\">\n <input\n class=\"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=\"label-text\">Apply equivalent subjects</span>\n </label>\n <!-- Full text -->\n <label class=\"checkbox-label\" for=\"fullText\" tabindex=\"0\">\n <input\n class=\"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=\"label-text\"\n >Include results the library doesn't have access to</span\n >\n </label>\n </div>\n <!-- Date -->\n <div id=\"dateOptions\">\n <h4>Date Published</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 <!-- Language -->\n <div>\n <h4>Language</h4>\n <lib-hbll-multi-select\n [label]=\"'language'\"\n [allOptions]=\"config.externalAdvancedSearch.availableLanguages\"\n [selectedKeys]=\"languages.value\"\n (selectedKeysChange)=\"languages.setValue($any($event))\"\n ></lib-hbll-multi-select>\n </div>\n }\n </div>\n <div id=\"advSearchFooter\">\n <button libHbllPillBtn [color]=\"'blue'\" type=\"submit\" data-testid=\"advSearchSubmitButton\">\n Search\n </button>\n </div>\n</form>\n", styles: ["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}.select-wrapper{position:relative}.select-wrapper select{cursor:pointer;padding-right:2em}.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%}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}:host{box-sizing:border-box}:host *{box-sizing:inherit}.select-wrapper{margin-right:.3em}.row-cancel{color:#aaa;margin-left:.4em;margin-top:.4em}.row-cancel:hover{color:#666}.row-cancel .icon{font-size:1em}.hidden{display:none}#addQueryBtn{display:flex;align-items:center}#addQueryBtn:disabled{color:#999;pointer-events:none}#addQueryBtn .icon{font-size:1em}.adv-search-wrapper{width:100%}h3{font-size:1.13em;font-weight:300;margin-bottom:.7em}h4{margin-bottom:.3em;font-weight:600}.adv-search-row{display:flex;flex-wrap:wrap;width:100%;margin-bottom:.6em}.query-input{display:inline-block;width:100%;margin-top:.4rem}.query-input input{width:100%}.other-options{display:grid;grid-template-columns:repeat(1,1fr);gap:.6em 1.6em;grid-auto-rows:minmax(1em,auto);margin-top:1.4em}.other-options label{margin-right:1rem}.checkbox-label{display:inline-flex;align-items:flex-start;cursor:pointer}.checkbox-label:not(:last-of-type){margin-bottom:.75em}.checkbox-label .label-text{margin-top:-.1em;margin-left:.45em}.checkbox-section{margin-bottom:.8em}#advSearchFooter{margin-bottom:.5em;display:flex;justify-content:flex-end;font-size:1.2em}@media screen and (min-width: 615px){.adv-search-row{flex-wrap:nowrap}.other-options{grid-template-columns:repeat(2,1fr)}.query-input{margin-top:0}#dateOptions{grid-column:span 2}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$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: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$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: "directive", type: HbllPillBtnDirective, selector: "[libHbllPillBtn]", inputs: ["isDestructiveStyle", "isDisabled", "isFullWidth", "color"] }, { kind: "component", type: DateRangeComponent, selector: "lib-date-range", inputs: ["from", "to"], outputs: ["validDateChange", "fromChange", "toChange"] }] }); }
700
+ }
701
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: AdvancedSearchComponent, decorators: [{
702
+ type: Component,
703
+ args: [{ selector: 'lib-ss-advanced-search', standalone: true, imports: [
704
+ CommonModule,
705
+ ReactiveFormsModule,
706
+ MatTooltipModule,
707
+ MatIconModule,
708
+ HbllMultiSelectComponent,
709
+ HbllCheckboxComponent,
710
+ HbllPillBtnDirective,
711
+ DateRangeComponent,
712
+ ], template: "<form\n data-testid=\"advancedSearchForm\"\n (submit)=\"config.scope === 'local' ? doLocalAdvancedSearch() : doExternalAdvancedSearch()\"\n [formGroup]=\"advancedSearchForm\"\n class=\"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=\"adv-search-row\" [formGroup]=\"query\">\n <!-- Boolean operator -->\n <!-- Add boolean for each row except for first -->\n @if (!$first) {\n <div class=\"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=\"hidden\">Field {{ queryIndex }}</label>\n <div class=\"select-wrapper\">\n <select\n [id]=\"'field' + queryIndex\"\n [formControlName]=\"'field'\"\n [attr.data-testid]=\"'field' + queryIndex\"\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 </select>\n </div>\n <!-- Qualifiers are only available for local searches -->\n @if (config.scope === 'local') {\n <label [for]=\"'qualifier' + queryIndex\" class=\"hidden\"\n >Match Criteria {{ queryIndex }}</label\n >\n <div class=\"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=\"hidden\">Query {{ queryIndex }}</label>\n <div class=\"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=\"row-cancel\"\n type=\"button\"\n (click)=\"removeQuery(queryIndex)\"\n [attr.data-testid]=\"'cancelRow' + queryIndex\"\n >\n <span class=\"material-symbols-outlined 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 icon\"> add </span>\n Add a row\n </button>\n <!-- OTHER OPTIONS -->\n <div class=\"other-options\">\n <!-- LOCAL -->\n @if (config.scope === 'local') {\n <!-- Type -->\n <div data-testid=\"resourceType\">\n <h4>Resource Type</h4>\n <div class=\"multi-select-wrapper\">\n <lib-hbll-multi-select\n [label]=\"'Resource Type'\"\n [allOptions]=\"config.localAdvancedSearch.availableResourceTypes\"\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=\"multi-select-wrapper\">\n <lib-hbll-multi-select\n [label]=\"'Collection'\"\n [allOptions]=\"config.localAdvancedSearch.availableCollections\"\n [selectedKeys]=\"collections.value\"\n (selectedKeysChange)=\"collections.setValue($event)\"\n ></lib-hbll-multi-select>\n </div>\n </div>\n }\n <!-- EXTERNAL -->\n @if (config.scope === 'external') {\n <div formGroupName=\"limitResults\" class=\"checkbox-section\">\n <h4>For Fewer Results Try</h4>\n <!-- Peer reviewed -->\n <label class=\"checkbox-label\" for=\"peerReviewed\" tabindex=\"0\">\n <input\n class=\"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=\"label-text\">Peer reviewed journal articles</span>\n </label>\n </div>\n <div formGroupName=\"expandResults\" class=\"checkbox-section\">\n <h4>For More Results Try</h4>\n <!-- Apply related words -->\n <label class=\"checkbox-label\" for=\"applyRelatedWords\" tabindex=\"0\">\n <input\n class=\"hidden\"\n id=\"applyRelatedWords\"\n type=\"checkbox\"\n [formControlName]=\"'applyRelatedWords'\"\n data-testid=\"applyRelatedWords\"\n />\n <lib-hbll-checkbox [isChecked]=\"applyRelatedWords.value\"></lib-hbll-checkbox>\n <span class=\"label-text\">Apply related words</span>\n </label>\n <!-- Apply equivalent subjects -->\n <label class=\"checkbox-label\" for=\"applyEquivalentSubjects\" tabindex=\"0\">\n <input\n class=\"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=\"label-text\">Apply equivalent subjects</span>\n </label>\n <!-- Full text -->\n <label class=\"checkbox-label\" for=\"fullText\" tabindex=\"0\">\n <input\n class=\"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=\"label-text\"\n >Include results the library doesn't have access to</span\n >\n </label>\n </div>\n <!-- Date -->\n <div id=\"dateOptions\">\n <h4>Date Published</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 <!-- Language -->\n <div>\n <h4>Language</h4>\n <lib-hbll-multi-select\n [label]=\"'language'\"\n [allOptions]=\"config.externalAdvancedSearch.availableLanguages\"\n [selectedKeys]=\"languages.value\"\n (selectedKeysChange)=\"languages.setValue($any($event))\"\n ></lib-hbll-multi-select>\n </div>\n }\n </div>\n <div id=\"advSearchFooter\">\n <button libHbllPillBtn [color]=\"'blue'\" type=\"submit\" data-testid=\"advSearchSubmitButton\">\n Search\n </button>\n </div>\n</form>\n", styles: ["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}.select-wrapper{position:relative}.select-wrapper select{cursor:pointer;padding-right:2em}.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%}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}:host{box-sizing:border-box}:host *{box-sizing:inherit}.select-wrapper{margin-right:.3em}.row-cancel{color:#aaa;margin-left:.4em;margin-top:.4em}.row-cancel:hover{color:#666}.row-cancel .icon{font-size:1em}.hidden{display:none}#addQueryBtn{display:flex;align-items:center}#addQueryBtn:disabled{color:#999;pointer-events:none}#addQueryBtn .icon{font-size:1em}.adv-search-wrapper{width:100%}h3{font-size:1.13em;font-weight:300;margin-bottom:.7em}h4{margin-bottom:.3em;font-weight:600}.adv-search-row{display:flex;flex-wrap:wrap;width:100%;margin-bottom:.6em}.query-input{display:inline-block;width:100%;margin-top:.4rem}.query-input input{width:100%}.other-options{display:grid;grid-template-columns:repeat(1,1fr);gap:.6em 1.6em;grid-auto-rows:minmax(1em,auto);margin-top:1.4em}.other-options label{margin-right:1rem}.checkbox-label{display:inline-flex;align-items:flex-start;cursor:pointer}.checkbox-label:not(:last-of-type){margin-bottom:.75em}.checkbox-label .label-text{margin-top:-.1em;margin-left:.45em}.checkbox-section{margin-bottom:.8em}#advSearchFooter{margin-bottom:.5em;display:flex;justify-content:flex-end;font-size:1.2em}@media screen and (min-width: 615px){.adv-search-row{flex-wrap:nowrap}.other-options{grid-template-columns:repeat(2,1fr)}.query-input{margin-top:0}#dateOptions{grid-column:span 2}}\n"] }]
713
+ }], propDecorators: { config: [{
714
+ type: Input,
715
+ args: [{ required: true }]
716
+ }], advancedSearch: [{
717
+ type: Output
718
+ }], searchInput: [{
719
+ type: ViewChild,
720
+ args: ['searchInput']
721
+ }], inputTooltip: [{
722
+ type: ViewChild,
723
+ args: [MatTooltip]
724
+ }] } });
725
+
726
+ class SimpleSearchComponent {
727
+ constructor() {
728
+ this.fb = inject(FormBuilder);
729
+ this.subscription = new Subscription();
730
+ this.simpleSearch = new EventEmitter();
731
+ this.clearSimpleSearch = new EventEmitter();
732
+ this.isSubmitted = false;
733
+ this.searchForm = this.fb.nonNullable.group({
734
+ simpleQuery: ['', Validators.required],
735
+ });
736
+ this.emitSimpleSearch = () => {
737
+ this.isSubmitted = true;
738
+ // Don't perform a search unless there is a query
739
+ if (this.simpleQuery.invalid) {
740
+ this.showSearchValidationToolTip();
741
+ return;
742
+ }
743
+ this.simpleSearch.emit({ ...this.config, q: this.simpleQuery.value });
744
+ this.isSubmitted = false;
745
+ };
746
+ this.clearQuery = () => {
747
+ this.clearSimpleSearch.emit();
748
+ };
749
+ this.setupForm = () => {
750
+ this.simpleQuery.setValue(this.config.q || this.config.advancedSearchQueryRows[0]?.query || '');
751
+ };
752
+ this.showSearchValidationToolTip = () => {
753
+ this.searchInput.nativeElement.focus();
754
+ this.inputTooltip.disabled = false;
755
+ this.inputTooltip.show();
756
+ };
757
+ }
758
+ set config(config) {
759
+ this._config = config;
760
+ this.setupForm();
761
+ }
762
+ get config() {
763
+ return this._config;
764
+ }
765
+ get simpleQuery() {
766
+ return this.searchForm.get('simpleQuery');
767
+ }
768
+ ngOnInit() {
769
+ // Ensure validation tooltip closes when uses enters a query
770
+ this.subscription.add(this.simpleQuery.valueChanges
771
+ .pipe(startWith(''))
772
+ .pipe(filter(() => !!this.inputTooltip))
773
+ .subscribe(() => {
774
+ this.inputTooltip.disabled = true;
775
+ }));
776
+ }
777
+ ngOnDestroy() {
778
+ this.subscription.unsubscribe();
779
+ }
780
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SimpleSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
781
+ 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=\"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 and more'\n }}</label>\n <button type=\"submit\" aria-label=\"search\" data-testid=\"searchBtn\">\n <span class=\"material-symbols-outlined 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 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}.container{position:relative}.icon{font-size:1em}button[type=submit]{background:#4070b0;border-radius:0 4px 4px 0;border:1px solid #1c62a8;margin:0;position:absolute;right:-1px;top:-1px;bottom:-1px;width:4em;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:color .2s,background-color .2s}button[type=submit] .icon{color:#fff;font-size:1.4rem}button[type=submit]:hover{background:#6892ca}#clear{position:absolute;right:4em;top:0%;height:100%;display:flex;justify-content:center;align-items:center;padding:0 .6rem}#clear .icon{height:auto;color:#acacac;transition:color ease-in-out .05s}#clear:hover .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% - 4em);font-size:1em;border-radius:4px 0 0 4px;padding:.56em 2.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% - 4.4em);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}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: i2$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: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: CommonModule }] }); }
782
+ }
783
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SimpleSearchComponent, decorators: [{
784
+ type: Component,
785
+ args: [{ selector: 'lib-ss-simple-search', standalone: true, imports: [MatTooltipModule, MatIconModule, ReactiveFormsModule, CommonModule], template: "<div class=\"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 and more'\n }}</label>\n <button type=\"submit\" aria-label=\"search\" data-testid=\"searchBtn\">\n <span class=\"material-symbols-outlined 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 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}.container{position:relative}.icon{font-size:1em}button[type=submit]{background:#4070b0;border-radius:0 4px 4px 0;border:1px solid #1c62a8;margin:0;position:absolute;right:-1px;top:-1px;bottom:-1px;width:4em;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:color .2s,background-color .2s}button[type=submit] .icon{color:#fff;font-size:1.4rem}button[type=submit]:hover{background:#6892ca}#clear{position:absolute;right:4em;top:0%;height:100%;display:flex;justify-content:center;align-items:center;padding:0 .6rem}#clear .icon{height:auto;color:#acacac;transition:color ease-in-out .05s}#clear:hover .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% - 4em);font-size:1em;border-radius:4px 0 0 4px;padding:.56em 2.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% - 4.4em);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}label:before{transition:all .1s ease-in-out;background-color:#fff;content:\"\";position:absolute;inset:0;opacity:0;z-index:-1}\n"] }]
786
+ }], propDecorators: { searchInput: [{
787
+ type: ViewChild,
788
+ args: ['searchInput']
789
+ }], inputTooltip: [{
790
+ type: ViewChild,
791
+ args: [MatTooltip]
792
+ }], config: [{
793
+ type: Input,
794
+ args: [{ required: true }]
795
+ }], simpleSearch: [{
796
+ type: Output
797
+ }], clearSimpleSearch: [{
798
+ type: Output
799
+ }] } });
800
+
801
+ const ADVANCED_SEARCH_QUERIES_LIMIT = 12;
802
+ const PERIOD_OPTIONS = ['', '1', '2', '5', '10', 'custom'];
803
+ const ADVANCED_SEARCH_OPTIONS = {
804
+ boolean: ['AND', 'OR', 'NOT'],
805
+ localFields: [
806
+ 'any',
807
+ 'title',
808
+ 'callNumber',
809
+ 'creator',
810
+ 'contributor',
811
+ 'isbn',
812
+ 'issn',
813
+ 'genre',
814
+ 'subject',
815
+ 'series',
816
+ ],
817
+ externalFields: [
818
+ 'allText',
819
+ 'creator',
820
+ 'title',
821
+ 'subject',
822
+ 'source',
823
+ 'abstract',
824
+ 'issn',
825
+ 'isbn',
826
+ ],
827
+ qualifiers: {
828
+ any: ['contains'],
829
+ title: ['contains', 'exact', 'begins_with', 'index'],
830
+ callNumber: ['contains', 'exact', 'begins_with', 'index'],
831
+ creator: ['contains', 'exact', 'begins_with', 'index'],
832
+ contributor: ['contains', 'exact'],
833
+ isbn: ['contains', 'exact'],
834
+ issn: ['contains', 'exact'],
835
+ genre: ['contains', 'exact'],
836
+ subject: ['contains', 'exact', 'subject_lc', 'subject_expanded'],
837
+ series: ['contains', 'exact'],
838
+ },
839
+ resultsPerPage: ['10', '20', '50', '100'],
840
+ period: PERIOD_OPTIONS,
841
+ languages: [
842
+ 'eng',
843
+ 'ara',
844
+ 'chi',
845
+ 'ces',
846
+ 'dan',
847
+ 'dut',
848
+ 'fin',
849
+ 'fre',
850
+ 'ger',
851
+ 'gre',
852
+ 'heb',
853
+ 'hin',
854
+ 'hun',
855
+ 'ice',
856
+ 'ita',
857
+ 'jpn',
858
+ 'kor',
859
+ 'lat',
860
+ 'nor',
861
+ 'pol',
862
+ 'por',
863
+ 'pan',
864
+ 'rum',
865
+ 'rus',
866
+ 'spa',
867
+ 'swe',
868
+ 'wel',
869
+ 'yid',
870
+ ],
871
+ };
872
+ const isAdvancedSearchLocalFieldOption = (field) => ADVANCED_SEARCH_OPTIONS.localFields.includes(field);
873
+ const isAdvancedSearchExternalFieldOption = (field) => ADVANCED_SEARCH_OPTIONS.externalFields.includes(field);
874
+ /**
875
+ * Accepts as input, and emits as events, SearchConfig objects:
876
+ * ```
877
+ * SearchConfig {
878
+ showExternalTab: boolean;
879
+ showAdvancedSearch: boolean;
880
+ showAdvancedSearchAsText: boolean;
881
+ scope: 'local' | 'external';
882
+ q: string;
883
+ isFacetSearch: boolean;
884
+ advancedSearchQueryRows: AdvancedSearchQueryRow[];
885
+ localAdvancedSearch: {
886
+ selectedResourceTypes: string[];
887
+ availableResourceTypes: Record<string, string>;
888
+ selectedCollections: string[];
889
+ availableCollections: Record<string, string>;
890
+ };
891
+ externalAdvancedSearch: {
892
+ datePublished: { from: string; to: string };
893
+ selectedLanguages: string[];
894
+ availableLanguages: Record<string, string>;
895
+ limitResults: {
896
+ peerReviewed: boolean;
897
+ };
898
+ expandResults: {
899
+ applyRelatedWords: boolean;
900
+ applyEquivalentSubjects: boolean;
901
+ fullText: boolean;
902
+ };
903
+ };
904
+ * ```
905
+ */
906
+ class SsSearchBarComponent {
907
+ constructor() {
908
+ this.simpleSearch = new EventEmitter();
909
+ this.clearSimpleSearch = new EventEmitter();
910
+ this.advancedSearch = new EventEmitter();
911
+ this.advancedSearchClosed = new EventEmitter();
912
+ this.heightOfContainer = 0;
913
+ this.emitClearSimpleSearch = () => {
914
+ this.clearSimpleSearch.emit({
915
+ ...this.config,
916
+ q: '',
917
+ });
918
+ };
919
+ this.emitSimpleSearch = (updatedProps) => {
920
+ this.simpleSearch.emit({
921
+ ...this.config,
922
+ ...updatedProps,
923
+ });
924
+ };
925
+ this.emitAdvancedSearchClosed = () => {
926
+ this.config.showAdvancedSearch = false;
927
+ this.advancedSearchClosed.emit({
928
+ ...this.config,
929
+ q: this.config.q || this.config.advancedSearchQueryRows[0]?.query,
930
+ showAdvancedSearch: false,
931
+ advancedSearchQueryRows: (this.config.advancedSearchQueryRows = []),
932
+ localAdvancedSearch: {
933
+ ...this.config.localAdvancedSearch,
934
+ selectedResourceTypes: [],
935
+ selectedCollections: [],
936
+ },
937
+ externalAdvancedSearch: {
938
+ ...this.config.externalAdvancedSearch,
939
+ datePublished: { from: '', to: '' },
940
+ selectedLanguages: [],
941
+ limitResults: {
942
+ peerReviewed: false,
943
+ },
944
+ expandResults: {
945
+ applyRelatedWords: false,
946
+ applyEquivalentSubjects: false,
947
+ fullText: false,
948
+ },
949
+ },
950
+ });
951
+ };
952
+ this.emitAdvancedSearch = (config) => {
953
+ // Show text advanced search
954
+ this.heightOfContainer = this.barWrapperRef?.nativeElement.clientHeight;
955
+ this.config.showAdvancedSearch = true;
956
+ this.emitSimpleSearch(config);
957
+ };
958
+ this.goToFacetSearchInExternalScope = () => { };
959
+ this.showFullAdvancedSearch = () => {
960
+ this.heightOfContainer = this.barWrapperRef?.nativeElement.clientHeight;
961
+ this.config.showAdvancedSearch = true;
962
+ };
963
+ }
964
+ set config(config) {
965
+ this._config = JSON.parse(config);
966
+ }
967
+ get config() {
968
+ return this._config;
969
+ }
970
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SsSearchBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
971
+ 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" }, viewQueries: [{ propertyName: "barWrapperRef", first: true, predicate: ["barWrapperRef"], descendants: true }], ngImport: i0, template: "<div id=\"ssSearchBar\">\n <button\n (click)=\"emitSimpleSearch({ scope: 'local' })\"\n class=\"tab\"\n [ngClass]=\"{ active: config.scope === 'local' }\"\n data-testid=\"localTab\"\n [disabled]=\"config.scope === 'local'\"\n >\n In the Library\n </button>\n @if (config.showExternalTab) {\n <button\n (click)=\"\n config.isFacetSearch\n ? goToFacetSearchInExternalScope()\n : emitSimpleSearch({ scope: 'external' })\n \"\n class=\"tab\"\n [ngClass]=\"{ active: config.scope === 'external' }\"\n data-testid=\"externalTab\"\n [disabled]=\"config.scope === 'external'\"\n >\n Available Online\n </button>\n }\n <div\n class=\"bar-wrapper\"\n #barWrapperRef\n [@libHbllExpandCollapse]=\"{\n value: config.showAdvancedSearch ? (!config.showAdvancedSearchAsText ? 1 : 2) : 3,\n params: { startHeight: heightOfContainer },\n }\"\n >\n <div class=\"bar-content\" data-testid=\"searchForm\">\n @if (!config.showAdvancedSearch) {\n <div class=\"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 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=\"adv-search-text\"\n data-testid=\"advancedSearchText\"\n [innerHTML]=\"config.advancedSearchQueryRows | ssAdvancedQueries\"\n ></div>\n }\n </div>\n }\n </div>\n @if (!config.showAdvancedSearch || config.showAdvancedSearchAsText) {\n <button\n data-testid=\"toggleAdvSearchButton\"\n class=\"adv-search-btn\"\n (click)=\"showFullAdvancedSearch()\"\n >\n Advanced <span class=\"material-symbols-outlined icon\"> keyboard_arrow_down </span>\n </button>\n }\n </div>\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}.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)}#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 .tab{border-radius:4px 4px 0 0;border:#b7b7b7 solid 1px;padding:.3em 1.4em;margin-right:.3em;font-size:.94em;letter-spacing:.4px;font-weight:600;background-color:#4070b0;color:#fff;margin-bottom:-.1rem;position:relative}#ssSearchBar .tab.active:after{z-index:1;content:\"\";width:100%;height:.3rem;position:absolute;bottom:-.2rem;background-color:#fff;left:0}#ssSearchBar .tab:hover{background-color:#6892ca}#ssSearchBar .tab.active{color:#404040;background-color:#fff!important}#ssSearchBar .tab:disabled{cursor:auto}#ssSearchBar .adv-search-text{padding-bottom:1em;padding-right:2rem;pointer-events:none}#ssSearchBar .bar-wrapper{padding:1em 1em .25em;border:#b7b7b7 solid 1px;width:100%;display:flex;align-items:center;flex-wrap:wrap;position:relative;background-color:#fff;border-radius:0 4px 4px;overflow:hidden}#ssSearchBar .bar-content{position:relative;width:100%;height:initial}#ssSearchBar .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 .icon{font-size:1.2em;font-weight:600}#ssSearchBar .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 .adv-search-btn .icon{font-size:1.4em;opacity:.75;margin-top:.2rem}#ssSearchBar .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"] }], animations: [libHbllExpandCollapse], encapsulation: i0.ViewEncapsulation.None }); }
972
+ }
973
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SsSearchBarComponent, decorators: [{
974
+ type: Component,
975
+ args: [{ selector: 'lib-ss-search-bar', standalone: true, imports: [CommonModule, SsAdvancedQueriesPipe, AdvancedSearchComponent, SimpleSearchComponent], animations: [libHbllExpandCollapse], encapsulation: ViewEncapsulation.None, template: "<div id=\"ssSearchBar\">\n <button\n (click)=\"emitSimpleSearch({ scope: 'local' })\"\n class=\"tab\"\n [ngClass]=\"{ active: config.scope === 'local' }\"\n data-testid=\"localTab\"\n [disabled]=\"config.scope === 'local'\"\n >\n In the Library\n </button>\n @if (config.showExternalTab) {\n <button\n (click)=\"\n config.isFacetSearch\n ? goToFacetSearchInExternalScope()\n : emitSimpleSearch({ scope: 'external' })\n \"\n class=\"tab\"\n [ngClass]=\"{ active: config.scope === 'external' }\"\n data-testid=\"externalTab\"\n [disabled]=\"config.scope === 'external'\"\n >\n Available Online\n </button>\n }\n <div\n class=\"bar-wrapper\"\n #barWrapperRef\n [@libHbllExpandCollapse]=\"{\n value: config.showAdvancedSearch ? (!config.showAdvancedSearchAsText ? 1 : 2) : 3,\n params: { startHeight: heightOfContainer },\n }\"\n >\n <div class=\"bar-content\" data-testid=\"searchForm\">\n @if (!config.showAdvancedSearch) {\n <div class=\"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 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=\"adv-search-text\"\n data-testid=\"advancedSearchText\"\n [innerHTML]=\"config.advancedSearchQueryRows | ssAdvancedQueries\"\n ></div>\n }\n </div>\n }\n </div>\n @if (!config.showAdvancedSearch || config.showAdvancedSearchAsText) {\n <button\n data-testid=\"toggleAdvSearchButton\"\n class=\"adv-search-btn\"\n (click)=\"showFullAdvancedSearch()\"\n >\n Advanced <span class=\"material-symbols-outlined icon\"> keyboard_arrow_down </span>\n </button>\n }\n </div>\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}.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)}#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 .tab{border-radius:4px 4px 0 0;border:#b7b7b7 solid 1px;padding:.3em 1.4em;margin-right:.3em;font-size:.94em;letter-spacing:.4px;font-weight:600;background-color:#4070b0;color:#fff;margin-bottom:-.1rem;position:relative}#ssSearchBar .tab.active:after{z-index:1;content:\"\";width:100%;height:.3rem;position:absolute;bottom:-.2rem;background-color:#fff;left:0}#ssSearchBar .tab:hover{background-color:#6892ca}#ssSearchBar .tab.active{color:#404040;background-color:#fff!important}#ssSearchBar .tab:disabled{cursor:auto}#ssSearchBar .adv-search-text{padding-bottom:1em;padding-right:2rem;pointer-events:none}#ssSearchBar .bar-wrapper{padding:1em 1em .25em;border:#b7b7b7 solid 1px;width:100%;display:flex;align-items:center;flex-wrap:wrap;position:relative;background-color:#fff;border-radius:0 4px 4px;overflow:hidden}#ssSearchBar .bar-content{position:relative;width:100%;height:initial}#ssSearchBar .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 .icon{font-size:1.2em;font-weight:600}#ssSearchBar .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 .adv-search-btn .icon{font-size:1.4em;opacity:.75;margin-top:.2rem}#ssSearchBar .adv-search-btn:hover{color:#6892ca}\n"] }]
976
+ }], propDecorators: { config: [{
977
+ type: Input,
978
+ args: [{ required: true }]
979
+ }], simpleSearch: [{
980
+ type: Output
981
+ }], clearSimpleSearch: [{
982
+ type: Output
983
+ }], advancedSearch: [{
984
+ type: Output
985
+ }], advancedSearchClosed: [{
986
+ type: Output
987
+ }], barWrapperRef: [{
988
+ type: ViewChild,
989
+ args: ['barWrapperRef']
990
+ }] } });
991
+
992
+ /*
993
+ * Public API Surface of components
994
+ */
995
+
996
+ /**
997
+ * Generated bundle index. Do not edit.
998
+ */
999
+
1000
+ export { ADVANCED_SEARCH_OPTIONS, ADVANCED_SEARCH_QUERIES_LIMIT, HbllHeaderComponent, LibraryHoursDatePipe, PERIOD_OPTIONS, SsSearchBarComponent, isAdvancedSearchExternalFieldOption, isAdvancedSearchLocalFieldOption };
1001
+ //# sourceMappingURL=byuhbll-components.mjs.map