@dbg-riskit/angular-testing 9999.9999.9999-rc.63199 → 9999.9999.9999-rc.6692537

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 (64) hide show
  1. package/docs/README.md +5 -6
  2. package/{fesm2015 → fesm2022}/dbg-riskit-angular-testing.mjs +306 -444
  3. package/fesm2022/dbg-riskit-angular-testing.mjs.map +1 -0
  4. package/index.d.ts +469 -0
  5. package/package.json +20 -29
  6. package/dbg-riskit-angular-testing.d.ts +0 -5
  7. package/esm2020/dbg-riskit-angular-testing.mjs +0 -5
  8. package/esm2020/lib/by.util.mjs +0 -19
  9. package/esm2020/lib/definitions/data.table.definition.mjs +0 -556
  10. package/esm2020/lib/definitions/download.menu.page.mjs +0 -90
  11. package/esm2020/lib/definitions/highlighter.directive.page.mjs +0 -36
  12. package/esm2020/lib/definitions/layout.component.page.mjs +0 -93
  13. package/esm2020/lib/definitions/link.definition.mjs +0 -19
  14. package/esm2020/lib/definitions/link.only.page.mjs +0 -13
  15. package/esm2020/lib/definitions/login.menu.page.mjs +0 -25
  16. package/esm2020/lib/definitions/login.page.mjs +0 -51
  17. package/esm2020/lib/definitions/message.def.mjs +0 -15
  18. package/esm2020/lib/definitions/message.page.mjs +0 -68
  19. package/esm2020/lib/definitions/page.base.mjs +0 -64
  20. package/esm2020/lib/environment.mjs +0 -23
  21. package/esm2020/lib/events.mjs +0 -60
  22. package/esm2020/lib/stubs/auth/auth.routing.flow.service.stub.mjs +0 -37
  23. package/esm2020/lib/stubs/auth/auth.service.stub.mjs +0 -40
  24. package/esm2020/lib/stubs/auth/well.known.service.stub.mjs +0 -22
  25. package/esm2020/lib/stubs/http.service.stub.mjs +0 -54
  26. package/esm2020/lib/stubs/login.menu.stub.component.mjs +0 -19
  27. package/esm2020/lib/stubs/router/activated.route.stub.mjs +0 -29
  28. package/esm2020/lib/stubs/router/router.link.stub.mjs +0 -46
  29. package/esm2020/lib/stubs/router/router.module.stub.mjs +0 -45
  30. package/esm2020/lib/stubs/router/router.outlet.stub.component.mjs +0 -16
  31. package/esm2020/lib/stubs/router/router.stub.mjs +0 -79
  32. package/esm2020/lib/testing.module.mjs +0 -52
  33. package/esm2020/lib/utils.mjs +0 -48
  34. package/esm2020/public_api.mjs +0 -48
  35. package/fesm2015/dbg-riskit-angular-testing.mjs.map +0 -1
  36. package/fesm2020/dbg-riskit-angular-testing.mjs +0 -1546
  37. package/fesm2020/dbg-riskit-angular-testing.mjs.map +0 -1
  38. package/lib/by.util.d.ts +0 -6
  39. package/lib/definitions/data.table.definition.d.ts +0 -176
  40. package/lib/definitions/download.menu.page.d.ts +0 -38
  41. package/lib/definitions/highlighter.directive.page.d.ts +0 -22
  42. package/lib/definitions/layout.component.page.d.ts +0 -28
  43. package/lib/definitions/link.definition.d.ts +0 -11
  44. package/lib/definitions/link.only.page.d.ts +0 -7
  45. package/lib/definitions/login.menu.page.d.ts +0 -11
  46. package/lib/definitions/login.page.d.ts +0 -17
  47. package/lib/definitions/message.def.d.ts +0 -6
  48. package/lib/definitions/message.page.d.ts +0 -20
  49. package/lib/definitions/page.base.d.ts +0 -21
  50. package/lib/environment.d.ts +0 -4
  51. package/lib/events.d.ts +0 -22
  52. package/lib/stubs/auth/auth.routing.flow.service.stub.d.ts +0 -16
  53. package/lib/stubs/auth/auth.service.stub.d.ts +0 -16
  54. package/lib/stubs/auth/well.known.service.stub.d.ts +0 -9
  55. package/lib/stubs/http.service.stub.d.ts +0 -25
  56. package/lib/stubs/login.menu.stub.component.d.ts +0 -6
  57. package/lib/stubs/router/activated.route.stub.d.ts +0 -14
  58. package/lib/stubs/router/router.link.stub.d.ts +0 -15
  59. package/lib/stubs/router/router.module.stub.d.ts +0 -3
  60. package/lib/stubs/router/router.outlet.stub.component.d.ts +0 -5
  61. package/lib/stubs/router/router.stub.d.ts +0 -27
  62. package/lib/testing.module.d.ts +0 -17
  63. package/lib/utils.d.ts +0 -3
  64. package/public_api.d.ts +0 -27
@@ -1,32 +1,27 @@
1
1
  import '@dbg-riskit/angular-polyfill';
2
- import 'zone.js/testing';
3
- import { getTestBed, tick, discardPeriodicTasks, TestBed } from '@angular/core/testing';
2
+ import { getTestBed, tick, discardPeriodicTasks } from '@angular/core/testing';
4
3
  import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
5
4
  import * as i0 from '@angular/core';
6
- import { EventEmitter, Injectable, Component, Directive, Input, Inject, NgModule } from '@angular/core';
5
+ import { EventEmitter, Injectable, Component, input, signal, inject, ChangeDetectionStrategy } from '@angular/core';
7
6
  import { MatMenuTrigger, MatMenuItem } from '@angular/material/menu';
8
7
  import { By } from '@angular/platform-browser';
9
- import * as i1 from '@dbg-riskit/angular-file';
10
- import { CSVFileDownloadDirective, FileDownloadDirective, FileModule } from '@dbg-riskit/angular-file';
11
- import * as fileSaver from 'file-saver';
12
- import * as i1$2 from '@dbg-riskit/angular-view';
13
- import { RISK_INITIAL_LOAD_SELECTOR, RISK_NO_DATA_SELECTOR, LayoutComponent, NoopAnimationMessageComponent, RISK_GOOD_SELECTOR, RISK_ERROR_SELECTOR, RISK_INFO_SELECTOR, RISK_MESSAGE_SELECTOR, RISK_WARN_SELECTOR, RISK_UPDATE_FAILED_SELECTOR, CommonViewModule, NoopAnimationsCommonViewModule } from '@dbg-riskit/angular-view';
14
- export { LayoutComponent, NoopAnimationMessageComponent, NoopAnimationsCommonViewModule } from '@dbg-riskit/angular-view';
15
- import { throwError, of, timer, EMPTY, BehaviorSubject } from 'rxjs';
8
+ import { RiskCSVFileDownloadDirective, RiskFileDownloadDirective } from '@dbg-riskit/angular-file';
9
+ import 'file-saver';
10
+ import { RISK_INITIAL_LOAD_SELECTOR, RISK_NO_DATA_SELECTOR, RiskLayoutComponent, RiskLayoutHorizontalDirective, RiskLayoutVerticalDirective, RiskMessageComponent, RISK_GOOD_SELECTOR, RISK_ERROR_SELECTOR, RISK_INFO_SELECTOR, RISK_MESSAGE_SELECTOR, RISK_WARN_SELECTOR, RISK_UPDATE_FAILED_SELECTOR } from '@dbg-riskit/angular-view';
11
+ export { RiskLayoutComponent } from '@dbg-riskit/angular-view';
12
+ import { throwError, of, timer, defer, EMPTY, BehaviorSubject } from 'rxjs';
16
13
  import { switchMap, defaultIfEmpty, map } from 'rxjs/operators';
17
14
  import { MatCard } from '@angular/material/card';
18
- import { MatButton, MatAnchor } from '@angular/material/button';
15
+ import { MatIconButton, MatIconAnchor, MatButton } from '@angular/material/button';
19
16
  import { MatButtonToggle } from '@angular/material/button-toggle';
20
17
  import { MatIcon } from '@angular/material/icon';
21
18
  import { MatTooltip } from '@angular/material/tooltip';
22
- import { secureRandom, globalScope } from '@dbg-riskit/common';
23
- import * as i1$1 from '@dbg-riskit/angular-datatable';
24
- import { PagingComponent, DataTableRowDetailExpanderComponent, HIGHLIGHTER_CLASS, DataTableComponent, HighlighterDirective, DataTableModule } from '@dbg-riskit/angular-datatable';
19
+ import { RiskDataTablePagingComponent, RiskDataTableRowDetailExpanderComponent, HIGHLIGHTER_CLASS, RiskDataTableComponent, RiskDataTableColumnCellDirective, RiskDataTableColumnDirective, RiskDataTableColumnFooterDirective, RiskDataTableColumnGroupDirective, RiskDataTableRowDetailDirective, RiskHighlighterDirective } from '@dbg-riskit/angular-datatable';
20
+ import { secureRandom, ReplaySubjectExt, globalScope } from '@dbg-riskit/common';
25
21
  import { MatSidenavContainer, MatSidenav } from '@angular/material/sidenav';
26
22
  import { MatToolbar } from '@angular/material/toolbar';
27
- import { Router, NavigationEnd, UrlSegmentGroup, UrlSegment, ActivatedRoute, RouterModule } from '@angular/router';
28
- import * as i1$3 from '@dbg-riskit/angular-auth';
29
- import { AuthRoutingFlowService, AUTH_CONFIG, AuthService } from '@dbg-riskit/angular-auth';
23
+ import { RouterLink } from '@angular/router';
24
+ import { AUTH_CONFIG, AuthFlow } from '@dbg-riskit/angular-auth';
30
25
  import { AUTH_PROVIDER } from '@dbg-riskit/angular-common';
31
26
 
32
27
  // Has to be first in this order
@@ -136,10 +131,10 @@ class HttpServiceStub {
136
131
  post(request) {
137
132
  return this.get(request);
138
133
  }
134
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HttpServiceStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
135
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HttpServiceStub }); }
139
136
  }
140
- HttpServiceStub.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: HttpServiceStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
141
- HttpServiceStub.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: HttpServiceStub });
142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: HttpServiceStub, decorators: [{
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HttpServiceStub, decorators: [{
143
138
  type: Injectable
144
139
  }] });
145
140
  class HttpAsyncServiceStub extends HttpServiceStub {
@@ -149,14 +144,14 @@ class HttpAsyncServiceStub extends HttpServiceStub {
149
144
  post(request) {
150
145
  return this.get(request);
151
146
  }
147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HttpAsyncServiceStub, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
148
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HttpAsyncServiceStub }); }
152
149
  }
153
- HttpAsyncServiceStub.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: HttpAsyncServiceStub, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
154
- HttpAsyncServiceStub.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: HttpAsyncServiceStub });
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: HttpAsyncServiceStub, decorators: [{
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HttpAsyncServiceStub, decorators: [{
156
151
  type: Injectable
157
152
  }] });
158
153
 
159
- class MessageComponentDef {
154
+ class RiskMessageComponentDef {
160
155
  constructor(debugElement) {
161
156
  this.debugElement = debugElement;
162
157
  if (debugElement == null) {
@@ -207,6 +202,10 @@ class Page {
207
202
  // Nothing to do...
208
203
  }
209
204
  }
205
+ setInput(inputName, value) {
206
+ this.fixture.componentRef.setInput(inputName, value);
207
+ this.detectChanges();
208
+ }
210
209
  }
211
210
  class PageWithLoading extends Page {
212
211
  constructor(fixture) {
@@ -215,20 +214,20 @@ class PageWithLoading extends Page {
215
214
  get initialLoadComponent() {
216
215
  const element = this.debugElement.query(By.css(RISK_INITIAL_LOAD_SELECTOR));
217
216
  if (element) {
218
- return new MessageComponentDef(element);
217
+ return new RiskMessageComponentDef(element);
219
218
  }
220
219
  return null;
221
220
  }
222
221
  get noDataComponent() {
223
222
  const element = this.debugElement.query(By.css(RISK_NO_DATA_SELECTOR));
224
223
  if (element) {
225
- return new MessageComponentDef(element);
224
+ return new RiskMessageComponentDef(element);
226
225
  }
227
226
  return null;
228
227
  }
229
228
  }
230
229
 
231
- class CSVDownloadMenuPage extends Page {
230
+ class RiskCSVDownloadMenuPage extends Page {
232
231
  constructor(fixture) {
233
232
  super(fixture);
234
233
  }
@@ -250,54 +249,55 @@ class DownloadLink {
250
249
  this.element = element;
251
250
  this.page = page;
252
251
  }
252
+ get blobSpy() {
253
+ this.setupBlobConstructorSpy();
254
+ return this._blobSpy;
255
+ }
256
+ get saveSpy() {
257
+ this.setupSaveBlobSpy();
258
+ return this._saveBlobSpy;
259
+ }
253
260
  click() {
254
261
  this.setupBlobConstructorSpy();
255
262
  this.setupSaveBlobSpy();
256
263
  click(this.element);
257
264
  this.page.detectChanges();
258
265
  }
259
- get blobSpy() {
260
- this.setupBlobConstructorSpy();
261
- return this._blobSpy;
262
- }
263
266
  setupBlobConstructorSpy() {
264
267
  if (!this._blobSpy) {
265
268
  let downloadDirective;
266
269
  try {
267
- downloadDirective = this.element.injector.get(CSVFileDownloadDirective);
270
+ downloadDirective = this.element.injector.get(RiskCSVFileDownloadDirective);
268
271
  }
269
272
  catch (_) {
270
- downloadDirective = this.element.injector.get(FileDownloadDirective);
273
+ downloadDirective = this.element.injector.get(RiskFileDownloadDirective);
271
274
  }
272
275
  this._blobSpy = spyOn(downloadDirective, 'createBlob').and.callThrough();
273
276
  }
274
277
  }
275
- get saveSpy() {
276
- this.setupSaveBlobSpy();
277
- return this._saveBlobSpy;
278
- }
279
278
  setupSaveBlobSpy() {
280
279
  if (!this._saveBlobSpy) {
281
- this._saveBlobSpy = spyOn(fileSaver, 'saveAs');
280
+ this._saveBlobSpy = spyOn(window, 'saveAs');
282
281
  }
283
282
  }
284
283
  }
285
284
  class DownloadTestComponent {
286
- }
287
- DownloadTestComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: DownloadTestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
288
- DownloadTestComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: DownloadTestComponent, selector: "ng-component", ngImport: i0, template: `
285
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DownloadTestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
286
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: DownloadTestComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
289
287
  <a [risk-download]="data"
290
288
  [risk-download-content-type]="contentType"
291
289
  [risk-download-filename]="filename">Download</a>
292
- `, isInline: true, directives: [{ type: i1.FileDownloadDirective, selector: "[risk-download]", inputs: ["risk-download", "risk-download-content-type", "risk-download-filename"] }] });
293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: DownloadTestComponent, decorators: [{
290
+ `, isInline: true, dependencies: [{ kind: "directive", type: RiskFileDownloadDirective, selector: "[risk-download]", inputs: ["risk-download", "risk-download-content-type", "risk-download-filename"] }] }); }
291
+ }
292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DownloadTestComponent, decorators: [{
294
293
  type: Component,
295
294
  args: [{
296
295
  template: `
297
296
  <a [risk-download]="data"
298
297
  [risk-download-content-type]="contentType"
299
298
  [risk-download-filename]="filename">Download</a>
300
- `
299
+ `,
300
+ imports: [RiskFileDownloadDirective]
301
301
  }]
302
302
  }] });
303
303
  class DownloadTestComponentPage extends Page {
@@ -305,11 +305,11 @@ class DownloadTestComponentPage extends Page {
305
305
  super(fixture);
306
306
  }
307
307
  get downloadLink() {
308
- return new DownloadLink(this.debugElement.query(By.directive(FileDownloadDirective)), this);
308
+ return new DownloadLink(this.debugElement.query(By.directive(RiskFileDownloadDirective)), this);
309
309
  }
310
310
  }
311
311
 
312
- class DataTableDefinition {
312
+ class RiskDataTableDefinition {
313
313
  constructor(debugElement, page) {
314
314
  this.debugElement = debugElement;
315
315
  this.page = page;
@@ -339,7 +339,7 @@ class DataTableDefinition {
339
339
  return new RecordsCount(this.debugElement.query(By.css('.risk-data-table-page-count')));
340
340
  }
341
341
  get pager() {
342
- return new Pager(this.debugElement.query(By.directive(PagingComponent)), this.page);
342
+ return new Pager(this.debugElement.query(By.directive(RiskDataTablePagingComponent)), this.page);
343
343
  }
344
344
  }
345
345
  // <editor-fold defaultstate="collapsed" desc="Table header">
@@ -376,7 +376,7 @@ class TableHeaderCell {
376
376
  this.page = page;
377
377
  }
378
378
  get sortingHandle() {
379
- const handle = this.element.query(By.directive(MatButton));
379
+ const handle = this.element.query(By.directive(MatIconButton));
380
380
  if (handle) {
381
381
  return new SortingHandle(this.page, handle);
382
382
  }
@@ -412,7 +412,7 @@ class TableSorting {
412
412
  }
413
413
  get handles() {
414
414
  const handles = this.table.debugElement.query((de) => de.references.mainHeader)
415
- .queryAll(By.directive(MatButton));
415
+ .queryAll(By.directive(MatIconButton));
416
416
  if (!handles) {
417
417
  return [];
418
418
  }
@@ -422,7 +422,7 @@ class TableSorting {
422
422
  }
423
423
  get detailRowHandles() {
424
424
  const handles = this.table.debugElement.query(By.css('.risk-data-table-detail')).query(By.css('thead'))
425
- .queryAll(By.directive(MatButton));
425
+ .queryAll(By.directive(MatIconButton));
426
426
  if (!handles) {
427
427
  return null;
428
428
  }
@@ -431,14 +431,14 @@ class TableSorting {
431
431
  });
432
432
  }
433
433
  get currentOrdering() {
434
- return this.table.component.ordering;
434
+ return this.table.component.ordering();
435
435
  }
436
436
  checkSorting(firstNRows = this.table.component.rows.length, criterium) {
437
437
  // WARN: call data once as it calls .map on all table rows
438
438
  const data = this.table.data;
439
439
  let ordering;
440
440
  if (criterium) {
441
- ordering = [criterium].concat(this.table.component._defaultOrdering);
441
+ ordering = [criterium].concat(this.table.component._defaultOrdering());
442
442
  }
443
443
  else {
444
444
  ordering = this.currentOrdering;
@@ -508,12 +508,9 @@ class TableBodyRow {
508
508
  this.element = element;
509
509
  this.page = page;
510
510
  }
511
- expandRow() {
512
- click(this.element);
513
- this.page.detectChanges();
514
- }
515
511
  get expander() {
516
- return new RowExpander(this.element.query(By.directive(DataTableRowDetailExpanderComponent)).query(By.directive(MatAnchor)));
512
+ return new RowExpander(this.element.query(By.directive(RiskDataTableRowDetailExpanderComponent))
513
+ .query(By.directive(MatIconAnchor)));
517
514
  }
518
515
  get cells() {
519
516
  return this.element.queryAll(By.css('td')).map((element) => {
@@ -533,6 +530,10 @@ class TableBodyRow {
533
530
  get highlighted() {
534
531
  return this.element.nativeElement.classList.contains(HIGHLIGHTER_CLASS);
535
532
  }
533
+ expandRow() {
534
+ click(this.element);
535
+ this.page.detectChanges();
536
+ }
536
537
  }
537
538
  class RowExpander {
538
539
  constructor(element) {
@@ -565,9 +566,6 @@ class TableBodyDetail {
565
566
  this.element = element;
566
567
  this.page = page;
567
568
  }
568
- header() {
569
- return new TableHeader(this.element.query(By.css('thead')), this.page);
570
- }
571
569
  get body() {
572
570
  return new TableBodyDetailBody(this.element.query(By.css('tbody')));
573
571
  }
@@ -577,6 +575,9 @@ class TableBodyDetail {
577
575
  get colspan() {
578
576
  return this.element.children[0].nativeElement.colspan;
579
577
  }
578
+ header() {
579
+ return new TableHeader(this.element.query(By.css('thead')), this.page);
580
+ }
580
581
  }
581
582
  class TableBodyDetailBody {
582
583
  constructor(element) {
@@ -722,23 +723,23 @@ class DataTableDefinitionHosted extends Page {
722
723
  super(fixture);
723
724
  }
724
725
  get dataTable() {
725
- return new DataTableDefinition(this.debugElement.query(By.directive(DataTableComponent)), this);
726
+ return new RiskDataTableDefinition(this.debugElement.query(By.directive(RiskDataTableComponent)), this);
727
+ }
728
+ setData(data) {
729
+ this.fixture.componentRef.setInput('data', data);
730
+ this.detectChanges();
731
+ }
732
+ setPageSize(size) {
733
+ this.fixture.componentRef.setInput('pageSize', size);
734
+ this.detectChanges();
726
735
  }
727
736
  }
728
737
  class TestDataTableHostComponent {
729
738
  constructor() {
730
- this.data = [];
731
- for (let i = 0; i < 500; i++) {
732
- this.data.push({
733
- value1: Math.floor(secureRandom() * 20) + ' - value 1',
734
- value2: Math.floor(secureRandom() * 20) + ' - value 2',
735
- value3: Math.floor(secureRandom() * 20) + ' - value 3'
736
- });
737
- }
738
- this.footer = this.data[0];
739
- }
740
- get defaultOrdering() {
741
- return [
739
+ this.data = input(TestDataTableHostComponent.defaultData, ...(ngDevMode ? [{ debugName: "data" }] : []));
740
+ this.pageSize = input(20, ...(ngDevMode ? [{ debugName: "pageSize" }] : []));
741
+ this.footer = signal(TestDataTableHostComponent.defaultData[0], ...(ngDevMode ? [{ debugName: "footer" }] : []));
742
+ this.defaultOrdering = [
742
743
  {
743
744
  get: (record) => {
744
745
  return record.value3;
@@ -749,32 +750,40 @@ class TestDataTableHostComponent {
749
750
  return record.value2;
750
751
  }
751
752
  ];
752
- }
753
- get valueGetter() {
754
- return (record) => {
753
+ this.valueGetter = (record) => {
755
754
  return record.value1;
756
755
  };
757
756
  }
758
- }
759
- TestDataTableHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: TestDataTableHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
760
- TestDataTableHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: TestDataTableHostComponent, selector: "ng-component", ngImport: i0, template: `
761
- <risk-data-table [data]="data"
762
- [footer]="footer"
763
- [pageSize]="20"
757
+ static { this.defaultData = (() => {
758
+ const data = [];
759
+ for (let i = 0; i < 500; i++) {
760
+ data.push({
761
+ value1: Math.floor(secureRandom() * 20) + ' - value 1',
762
+ value2: Math.floor(secureRandom() * 20) + ' - value 2',
763
+ value3: Math.floor(secureRandom() * 20) + ' - value 3'
764
+ });
765
+ }
766
+ return data;
767
+ })(); }
768
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TestDataTableHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
769
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: TestDataTableHostComponent, isStandalone: true, selector: "ng-component", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
770
+ <risk-data-table [data]="data()"
771
+ [footer]="footer()"
772
+ [pageSize]="pageSize()"
764
773
  [defaultOrdering]="defaultOrdering"
765
774
  [striped]="true">
766
775
  <risk-data-table-column title="Test Column 1"
767
776
  [sortingKey]="valueGetter">
768
777
  <ng-template let-record="row" risk-data-table-cell>
769
- {{record.value1}}
778
+ {{ record.value1 }}
770
779
  </ng-template>
771
780
  </risk-data-table-column>
772
781
  <risk-data-table-column>
773
782
  <ng-template risk-data-table-cell let-record="row" let-expanded="expanded">
774
- <risk-data-table-detail-expander [expanded]="expanded"></risk-data-table-detail-expander>
783
+ <risk-data-table-detail-expander [expanded]="expanded"/>
775
784
  </ng-template>
776
785
  <ng-template risk-data-table-footer-cell let-footer="footer">
777
- {{footer.value1}}
786
+ {{ footer.value1 }}
778
787
  </ng-template>
779
788
  </risk-data-table-column>
780
789
  <!-- Sub detail -->
@@ -783,46 +792,47 @@ TestDataTableHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
783
792
  <risk-data-table-column title="Test Detail Column 1"
784
793
  [sortingKey]="valueGetter">
785
794
  <ng-template risk-data-table-cell let-record="row">
786
- {{record.value1}}
795
+ {{ record.value1 }}
787
796
  </ng-template>
788
797
  </risk-data-table-column>
789
798
  </risk-data-table-column-group>
790
799
  <risk-data-table-column-group>
791
800
  <risk-data-table-column title="Test Detail Column 2">
792
801
  <ng-template risk-data-table-cell let-record="row">
793
- {{record.value2}}
802
+ {{ record.value2 }}
794
803
  </ng-template>
795
804
  </risk-data-table-column>
796
805
  <risk-data-table-column title="Test Detail Column 3">
797
806
  <ng-template risk-data-table-cell let-record="row">
798
- {{record.value3}}
807
+ {{ record.value3 }}
799
808
  </ng-template>
800
809
  </risk-data-table-column>
801
810
  </risk-data-table-column-group>
802
- <risk-data-table-column-group></risk-data-table-column-group>
811
+ <risk-data-table-column-group/>
803
812
  </risk-data-table-detail-row>
804
- </risk-data-table>`, isInline: true, components: [{ type: i1$1.DataTableComponent, selector: "risk-data-table", inputs: ["footer", "pageSize", "striped", "showFooter", "allowEmpty", "trackByRowKey", "highlighting", "stickyHeader", "stickyHeaderOffsetTopPx", "data", "defaultOrdering"], exportAs: ["dataTable"] }, { type: i1$1.DataTableRowDetailExpanderComponent, selector: "risk-data-table-detail-expander", inputs: ["expanded"] }], directives: [{ type: i1$1.ɵDataTableColumnDirective, selector: "risk-data-table-column", inputs: ["title", "sortingKey", "tooltip", "contentAlign", "headerAlign", "footerAlign", "class"] }, { type: i1$1.ɵDataTableColumnCellDirective, selector: "[risk-data-table-cell]" }, { type: i1$1.ɵDataTableColumnFooterDirective, selector: "[risk-data-table-footer-cell]" }, { type: i1$1.ɵDataTableRowDetailDirective, selector: "risk-data-table-detail-row" }, { type: i1$1.ɵDataTableColumnGroupDirective, selector: "risk-data-table-column-group" }] });
805
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: TestDataTableHostComponent, decorators: [{
813
+ </risk-data-table>`, isInline: true, dependencies: [{ kind: "directive", type: RiskDataTableColumnCellDirective, selector: "[risk-data-table-cell]" }, { kind: "directive", type: RiskDataTableColumnDirective, selector: "risk-data-table-column", inputs: ["title", "sortingKey", "tooltip", "contentAlign", "headerAlign", "footerAlign", "class"] }, { kind: "directive", type: RiskDataTableColumnFooterDirective, selector: "[risk-data-table-footer-cell]" }, { kind: "directive", type: RiskDataTableColumnGroupDirective, selector: "risk-data-table-column-group" }, { kind: "component", type: RiskDataTableComponent, selector: "risk-data-table", inputs: ["footer", "pageSize", "striped", "showFooter", "allowEmpty", "trackByRowKey", "highlighting", "stickyHeader", "stickyHeaderOffsetTopPx", "data", "defaultOrdering"], exportAs: ["dataTable"] }, { kind: "directive", type: RiskDataTableRowDetailDirective, selector: "risk-data-table-detail-row" }, { kind: "component", type: RiskDataTableRowDetailExpanderComponent, selector: "risk-data-table-detail-expander", inputs: ["expanded"] }] }); }
814
+ }
815
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TestDataTableHostComponent, decorators: [{
806
816
  type: Component,
807
817
  args: [{
808
818
  template: `
809
- <risk-data-table [data]="data"
810
- [footer]="footer"
811
- [pageSize]="20"
819
+ <risk-data-table [data]="data()"
820
+ [footer]="footer()"
821
+ [pageSize]="pageSize()"
812
822
  [defaultOrdering]="defaultOrdering"
813
823
  [striped]="true">
814
824
  <risk-data-table-column title="Test Column 1"
815
825
  [sortingKey]="valueGetter">
816
826
  <ng-template let-record="row" risk-data-table-cell>
817
- {{record.value1}}
827
+ {{ record.value1 }}
818
828
  </ng-template>
819
829
  </risk-data-table-column>
820
830
  <risk-data-table-column>
821
831
  <ng-template risk-data-table-cell let-record="row" let-expanded="expanded">
822
- <risk-data-table-detail-expander [expanded]="expanded"></risk-data-table-detail-expander>
832
+ <risk-data-table-detail-expander [expanded]="expanded"/>
823
833
  </ng-template>
824
834
  <ng-template risk-data-table-footer-cell let-footer="footer">
825
- {{footer.value1}}
835
+ {{ footer.value1 }}
826
836
  </ng-template>
827
837
  </risk-data-table-column>
828
838
  <!-- Sub detail -->
@@ -831,41 +841,51 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImpor
831
841
  <risk-data-table-column title="Test Detail Column 1"
832
842
  [sortingKey]="valueGetter">
833
843
  <ng-template risk-data-table-cell let-record="row">
834
- {{record.value1}}
844
+ {{ record.value1 }}
835
845
  </ng-template>
836
846
  </risk-data-table-column>
837
847
  </risk-data-table-column-group>
838
848
  <risk-data-table-column-group>
839
849
  <risk-data-table-column title="Test Detail Column 2">
840
850
  <ng-template risk-data-table-cell let-record="row">
841
- {{record.value2}}
851
+ {{ record.value2 }}
842
852
  </ng-template>
843
853
  </risk-data-table-column>
844
854
  <risk-data-table-column title="Test Detail Column 3">
845
855
  <ng-template risk-data-table-cell let-record="row">
846
- {{record.value3}}
856
+ {{ record.value3 }}
847
857
  </ng-template>
848
858
  </risk-data-table-column>
849
859
  </risk-data-table-column-group>
850
- <risk-data-table-column-group></risk-data-table-column-group>
860
+ <risk-data-table-column-group/>
851
861
  </risk-data-table-detail-row>
852
- </risk-data-table>`
862
+ </risk-data-table>`,
863
+ imports: [
864
+ RiskDataTableColumnCellDirective,
865
+ RiskDataTableColumnDirective,
866
+ RiskDataTableColumnFooterDirective,
867
+ RiskDataTableColumnGroupDirective,
868
+ RiskDataTableComponent,
869
+ RiskDataTableRowDetailDirective,
870
+ RiskDataTableRowDetailExpanderComponent
871
+ ]
853
872
  }]
854
- }], ctorParameters: function () { return []; } });
873
+ }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], pageSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSize", required: false }] }] } });
855
874
 
856
- class HighLighterDirectiveTestComponent {
875
+ class RiskHighLighterDirectiveTestComponent {
857
876
  trackBy(index, row) {
858
877
  return row.rowData;
859
878
  }
879
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: RiskHighLighterDirectiveTestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
880
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: RiskHighLighterDirectiveTestComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
881
+ <div [risk-data-table-highlighter]="trackBy" [risk-data-table-highlighter-context]="context"></div>`, isInline: true, dependencies: [{ kind: "directive", type: RiskHighlighterDirective, selector: "[risk-data-table-highlighter]", inputs: ["risk-data-table-highlighter", "risk-data-table-highlighter-context"] }] }); }
860
882
  }
861
- HighLighterDirectiveTestComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: HighLighterDirectiveTestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
862
- HighLighterDirectiveTestComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: HighLighterDirectiveTestComponent, selector: "ng-component", ngImport: i0, template: `
863
- <div [risk-data-table-highlighter]="trackBy" [risk-data-table-highlighter-context]="context"></div>`, isInline: true, directives: [{ type: i1$1.HighlighterDirective, selector: "[risk-data-table-highlighter]", inputs: ["risk-data-table-highlighter", "risk-data-table-highlighter-context"] }] });
864
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: HighLighterDirectiveTestComponent, decorators: [{
883
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: RiskHighLighterDirectiveTestComponent, decorators: [{
865
884
  type: Component,
866
885
  args: [{
867
886
  template: `
868
- <div [risk-data-table-highlighter]="trackBy" [risk-data-table-highlighter-context]="context"></div>`
887
+ <div [risk-data-table-highlighter]="trackBy" [risk-data-table-highlighter-context]="context"></div>`,
888
+ imports: [RiskHighlighterDirective]
869
889
  }]
870
890
  }] });
871
891
  class HighLighterDirectivePage extends Page {
@@ -873,13 +893,13 @@ class HighLighterDirectivePage extends Page {
873
893
  super(fixture);
874
894
  }
875
895
  get highlightedElement() {
876
- return this.debugElement.query(By.directive(HighlighterDirective));
896
+ return this.debugElement.query(By.directive(RiskHighlighterDirective));
877
897
  }
878
898
  get classList() {
879
899
  return this.highlightedElement.nativeElement.classList;
880
900
  }
881
901
  get highlighter() {
882
- return this.highlightedElement.injector.get(HighlighterDirective);
902
+ return this.highlightedElement.injector.get(RiskHighlighterDirective);
883
903
  }
884
904
  }
885
905
 
@@ -902,7 +922,7 @@ class ByUtil {
902
922
  }
903
923
  }
904
924
 
905
- class LayoutComponentDefinition {
925
+ class RiskLayoutComponentDefinition {
906
926
  constructor(debugElement, page) {
907
927
  this.debugElement = debugElement;
908
928
  this.page = page;
@@ -925,6 +945,12 @@ class LayoutComponentDefinition {
925
945
  get sideNav() {
926
946
  return this.sideNavContainer.query(By.directive(MatSidenav));
927
947
  }
948
+ get sideNavMenu() {
949
+ return this.sideNav.queryAll(ByUtil.or(By.css('[menu-vertical]'), By.css('risk-layout-vertical')));
950
+ }
951
+ get content() {
952
+ return this.sideNavContainer.query(By.css('.risk-layout-content'));
953
+ }
928
954
  openSideNav() {
929
955
  this.sideNav.componentInstance.open();
930
956
  this.page.advanceAndDetectChanges();
@@ -933,22 +959,15 @@ class LayoutComponentDefinition {
933
959
  this.sideNav.componentInstance.close();
934
960
  this.page.advanceAndDetectChanges(1);
935
961
  }
936
- get sideNavMenu() {
937
- return this.sideNav.queryAll(ByUtil.or(By.css('[menu-vertical]'), By.css('risk-layout-vertical')));
938
- }
939
- get content() {
940
- return this.sideNavContainer.query(By.css('.risk-layout-content'));
941
- }
942
962
  }
943
- class TestLayoutComponentHostPage extends Page {
963
+ class RiskLayoutTestComponentHostPage extends Page {
944
964
  get layoutComponent() {
945
- return new LayoutComponentDefinition(this.debugElement.query(By.directive(LayoutComponent)), this);
965
+ return new RiskLayoutComponentDefinition(this.debugElement.query(By.directive(RiskLayoutComponent)), this);
946
966
  }
947
967
  }
948
- class TestLayoutHostComponent {
949
- }
950
- TestLayoutHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: TestLayoutHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
951
- TestLayoutHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: TestLayoutHostComponent, selector: "ng-component", ngImport: i0, template: `
968
+ class RiskLayoutTestHostComponent {
969
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: RiskLayoutTestHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
970
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: RiskLayoutTestHostComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
952
971
  <risk-layout>
953
972
  <!-- menu-horizontal -->
954
973
  <risk-layout-horizontal>
@@ -963,8 +982,9 @@ TestLayoutHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
963
982
 
964
983
  <span>Content</span>
965
984
  </risk-layout>
966
- `, isInline: true, components: [{ type: i1$2.LayoutComponent, selector: "risk-layout", inputs: ["smallScreenMenuVisible", "smallScreenWidth", "footerVisible", "toolbarBackgroundColor", "backgroundColor"] }], directives: [{ type: i1$2.HorizontalLayoutDirective, selector: "risk-layout-horizontal" }, { type: i1$2.VerticalLayoutDirective, selector: "risk-layout-vertical" }] });
967
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: TestLayoutHostComponent, decorators: [{
985
+ `, isInline: true, dependencies: [{ kind: "component", type: RiskLayoutComponent, selector: "risk-layout", inputs: ["smallScreenMenuVisible", "smallScreenWidth", "footerVisible", "toolbarBackgroundColor", "backgroundColor"] }, { kind: "directive", type: RiskLayoutHorizontalDirective, selector: "risk-layout-horizontal" }, { kind: "directive", type: RiskLayoutVerticalDirective, selector: "risk-layout-vertical" }] }); }
986
+ }
987
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: RiskLayoutTestHostComponent, decorators: [{
968
988
  type: Component,
969
989
  args: [{
970
990
  template: `
@@ -982,60 +1002,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImpor
982
1002
 
983
1003
  <span>Content</span>
984
1004
  </risk-layout>
985
- `
1005
+ `,
1006
+ imports: [
1007
+ RiskLayoutComponent,
1008
+ RiskLayoutHorizontalDirective,
1009
+ RiskLayoutVerticalDirective
1010
+ ]
986
1011
  }]
987
1012
  }] });
988
1013
 
989
- class RouterLinkStubDirective {
990
- constructor(injector) {
991
- this.navigatedTo = null;
992
- this._urlTree = null;
993
- this.routerStub = injector.get(Router, null);
994
- }
995
- ngOnChanges() {
996
- if (this.linkParams && this.routerStub) {
997
- this._urlTree = this.routerStub.getURLTree(this.linkParams);
998
- }
999
- }
1000
- onClick() {
1001
- this.navigatedTo = this.linkParams;
1002
- if (this.routerStub) {
1003
- if (Array.isArray(this.navigatedTo)) {
1004
- this.routerStub.navigate(this.navigatedTo);
1005
- }
1006
- else {
1007
- this.routerStub.navigateByUrl(this.navigatedTo);
1008
- }
1009
- }
1010
- }
1011
- get urlTree() {
1012
- return this._urlTree;
1013
- }
1014
- }
1015
- RouterLinkStubDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: RouterLinkStubDirective, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
1016
- RouterLinkStubDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.6", type: RouterLinkStubDirective, selector: "[routerLink]", inputs: { linkParams: ["routerLink", "linkParams"] }, host: { listeners: { "click": "onClick()" } }, usesOnChanges: true, ngImport: i0 });
1017
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: RouterLinkStubDirective, decorators: [{
1018
- type: Directive,
1019
- args: [{
1020
- /* eslint-disable @angular-eslint/directive-selector */
1021
- selector: '[routerLink]',
1022
- /* eslint-enable */
1023
- host: {
1024
- '(click)': 'onClick()'
1025
- }
1026
- }]
1027
- }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { linkParams: [{
1028
- type: Input,
1029
- args: ['routerLink']
1030
- }] } });
1031
-
1032
1014
  class LinkDefinition {
1033
1015
  constructor(page, link) {
1034
1016
  this.page = page;
1035
1017
  this.link = link;
1036
1018
  }
1037
1019
  get stub() {
1038
- return this.link.injector.get(RouterLinkStubDirective);
1020
+ return this.link.injector.get(RouterLink);
1039
1021
  }
1040
1022
  get text() {
1041
1023
  return this.link.nativeElement.textContent.trim();
@@ -1051,7 +1033,7 @@ class LinkOnlyPage extends Page {
1051
1033
  super(fixture);
1052
1034
  }
1053
1035
  get link() {
1054
- return new LinkDefinition(this, this.debugElement.query(By.directive(RouterLinkStubDirective)));
1036
+ return new LinkDefinition(this, this.debugElement.query(By.directive(RouterLink)));
1055
1037
  }
1056
1038
  }
1057
1039
 
@@ -1074,7 +1056,7 @@ class LoginMenuPage extends Page {
1074
1056
  }
1075
1057
  }
1076
1058
 
1077
- class LoginPage extends Page {
1059
+ class RiskLoginPage extends Page {
1078
1060
  constructor(fixture) {
1079
1061
  super(fixture);
1080
1062
  }
@@ -1086,29 +1068,31 @@ class LoginPage extends Page {
1086
1068
  }
1087
1069
  set username(username) {
1088
1070
  setNgModelValue(this.usernameElement, username);
1071
+ this.fixture.detectChanges();
1089
1072
  }
1090
1073
  get passwordElement() {
1091
1074
  return this.formElement.query(By.css('input[name=password]'));
1092
1075
  }
1093
1076
  set password(password) {
1094
1077
  setNgModelValue(this.passwordElement, password);
1078
+ this.fixture.detectChanges();
1095
1079
  }
1096
1080
  get loginButtonElement() {
1097
1081
  return this.formElement.query(By.directive(MatButton));
1098
1082
  }
1099
1083
  get successMessage() {
1100
- const debugElement = this.debugElement.query(ByUtil.and(By.directive(NoopAnimationMessageComponent), By.css(RISK_GOOD_SELECTOR)));
1084
+ const debugElement = this.debugElement.query(ByUtil.and(By.directive(RiskMessageComponent), By.css(RISK_GOOD_SELECTOR)));
1101
1085
  if (!debugElement) {
1102
1086
  return null;
1103
1087
  }
1104
- return new MessageComponentDef(debugElement);
1088
+ return new RiskMessageComponentDef(debugElement);
1105
1089
  }
1106
1090
  get errorMessage() {
1107
- const debugElement = this.debugElement.query(ByUtil.or(ByUtil.and(By.directive(NoopAnimationMessageComponent), By.css(RISK_ERROR_SELECTOR)), By.css('h3')));
1091
+ const debugElement = this.debugElement.query(ByUtil.or(ByUtil.and(By.directive(RiskMessageComponent), By.css(RISK_ERROR_SELECTOR)), By.css('h3')));
1108
1092
  if (!debugElement) {
1109
1093
  return null;
1110
1094
  }
1111
- return new MessageComponentDef(debugElement);
1095
+ return new RiskMessageComponentDef(debugElement);
1112
1096
  }
1113
1097
  clickLogin() {
1114
1098
  click(this.loginButtonElement.nativeElement);
@@ -1121,31 +1105,34 @@ class TestMessageHostComponent {
1121
1105
  constructor() {
1122
1106
  this.message = 'custom message';
1123
1107
  }
1108
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TestMessageHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1109
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: TestMessageHostComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
1110
+ <risk-error [message]="message"/>
1111
+ <risk-good [message]="message"/>
1112
+ <risk-info [message]="message"/>
1113
+ <risk-message [message]="message"/>
1114
+ <risk-warn [message]="message"/>
1115
+ <risk-initial-load [message]="message"/>
1116
+ <risk-update-failed [message]="message"/>
1117
+ <risk-no-data [message]="message"/>
1118
+ `, isInline: true, dependencies: [{ kind: "component", type: RiskMessageComponent, selector: "risk-error, risk-good, risk-info, risk-message, risk-warn, risk-initial-load, risk-no-data, risk-update-failed", inputs: ["message"] }] }); }
1124
1119
  }
1125
- TestMessageHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: TestMessageHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1126
- TestMessageHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: TestMessageHostComponent, selector: "ng-component", ngImport: i0, template: `
1127
- <risk-error [message]="message"></risk-error>
1128
- <risk-good [message]="message"></risk-good>
1129
- <risk-info [message]="message"></risk-info>
1130
- <risk-message [message]="message"></risk-message>
1131
- <risk-warn [message]="message"></risk-warn>
1132
- <risk-initial-load [message]="message"></risk-initial-load>
1133
- <risk-update-failed [message]="message"></risk-update-failed>
1134
- <risk-no-data [message]="message"></risk-no-data>
1135
- `, isInline: true, components: [{ type: i1$2.MessageComponent, selector: "risk-error, risk-good, risk-info, risk-message, risk-warn, risk-initial-load, risk-no-data, risk-update-failed", inputs: ["message"] }] });
1136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: TestMessageHostComponent, decorators: [{
1120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TestMessageHostComponent, decorators: [{
1137
1121
  type: Component,
1138
1122
  args: [{
1139
1123
  template: `
1140
- <risk-error [message]="message"></risk-error>
1141
- <risk-good [message]="message"></risk-good>
1142
- <risk-info [message]="message"></risk-info>
1143
- <risk-message [message]="message"></risk-message>
1144
- <risk-warn [message]="message"></risk-warn>
1145
- <risk-initial-load [message]="message"></risk-initial-load>
1146
- <risk-update-failed [message]="message"></risk-update-failed>
1147
- <risk-no-data [message]="message"></risk-no-data>
1148
- `
1124
+ <risk-error [message]="message"/>
1125
+ <risk-good [message]="message"/>
1126
+ <risk-info [message]="message"/>
1127
+ <risk-message [message]="message"/>
1128
+ <risk-warn [message]="message"/>
1129
+ <risk-initial-load [message]="message"/>
1130
+ <risk-update-failed [message]="message"/>
1131
+ <risk-no-data [message]="message"/>
1132
+ `,
1133
+ imports: [
1134
+ RiskMessageComponent
1135
+ ]
1149
1136
  }]
1150
1137
  }] });
1151
1138
  class MessageHostedPage extends Page {
@@ -1153,40 +1140,55 @@ class MessageHostedPage extends Page {
1153
1140
  super(fixture);
1154
1141
  }
1155
1142
  get error() {
1156
- return new MessageComponentDef(this.debugElement.query(By.css(RISK_ERROR_SELECTOR)));
1143
+ return new RiskMessageComponentDef(this.debugElement.query(By.css(RISK_ERROR_SELECTOR)));
1157
1144
  }
1158
1145
  get good() {
1159
- return new MessageComponentDef(this.debugElement.query(By.css(RISK_GOOD_SELECTOR)));
1146
+ return new RiskMessageComponentDef(this.debugElement.query(By.css(RISK_GOOD_SELECTOR)));
1160
1147
  }
1161
1148
  get info() {
1162
- return new MessageComponentDef(this.debugElement.query(By.css(RISK_INFO_SELECTOR)));
1149
+ return new RiskMessageComponentDef(this.debugElement.query(By.css(RISK_INFO_SELECTOR)));
1163
1150
  }
1164
1151
  get message() {
1165
- return new MessageComponentDef(this.debugElement.query(By.css(RISK_MESSAGE_SELECTOR)));
1152
+ return new RiskMessageComponentDef(this.debugElement.query(By.css(RISK_MESSAGE_SELECTOR)));
1166
1153
  }
1167
1154
  get warn() {
1168
- return new MessageComponentDef(this.debugElement.query(By.css(RISK_WARN_SELECTOR)));
1155
+ return new RiskMessageComponentDef(this.debugElement.query(By.css(RISK_WARN_SELECTOR)));
1169
1156
  }
1170
1157
  get initialLoad() {
1171
- return new MessageComponentDef(this.debugElement.query(By.css(RISK_INITIAL_LOAD_SELECTOR)));
1158
+ return new RiskMessageComponentDef(this.debugElement.query(By.css(RISK_INITIAL_LOAD_SELECTOR)));
1172
1159
  }
1173
1160
  get noData() {
1174
- return new MessageComponentDef(this.debugElement.query(By.css(RISK_NO_DATA_SELECTOR)));
1161
+ return new RiskMessageComponentDef(this.debugElement.query(By.css(RISK_NO_DATA_SELECTOR)));
1175
1162
  }
1176
1163
  get updateFailed() {
1177
- return new MessageComponentDef(this.debugElement.query(By.css(RISK_UPDATE_FAILED_SELECTOR)));
1164
+ return new RiskMessageComponentDef(this.debugElement.query(By.css(RISK_UPDATE_FAILED_SELECTOR)));
1178
1165
  }
1179
1166
  }
1180
1167
 
1181
1168
  const storage = { authRequestedPath: null };
1182
- class AuthRoutingFlowServiceStub extends AuthRoutingFlowService {
1183
- constructor(authServiceStub, authConfig) {
1184
- super(null, null, { loggedIn: of(null) }, storage, authConfig, null);
1185
- this.authServiceStub = authServiceStub;
1169
+ class AuthRoutingFlowServiceStub {
1170
+ constructor() {
1171
+ this.authServiceStub = inject(AUTH_PROVIDER);
1172
+ this.authConfig = inject(AUTH_CONFIG);
1186
1173
  // cleanup
1187
1174
  storage.authRequestedPath = null;
1188
1175
  }
1189
- logout(state) {
1176
+ get authFlow() {
1177
+ return this.authConfig.flow;
1178
+ }
1179
+ get authorizationCodeFlow() {
1180
+ return this.authFlow === AuthFlow.AUTHORIZATION_CODE;
1181
+ }
1182
+ get implicitFlow() {
1183
+ return this.authFlow === AuthFlow.IMPLICIT;
1184
+ }
1185
+ get hybridFlow() {
1186
+ return this.authFlow === AuthFlow.HYBRID;
1187
+ }
1188
+ get directFlow() {
1189
+ return this.authFlow === AuthFlow.DIRECT;
1190
+ }
1191
+ logout() {
1190
1192
  return this.authServiceStub.logout().pipe(defaultIfEmpty(0), map(() => true));
1191
1193
  }
1192
1194
  login(username, password) {
@@ -1195,51 +1197,30 @@ class AuthRoutingFlowServiceStub extends AuthRoutingFlowService {
1195
1197
  loginViaService() {
1196
1198
  return this.authServiceStub.loginViaAuthService();
1197
1199
  }
1198
- }
1199
- AuthRoutingFlowServiceStub.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: AuthRoutingFlowServiceStub, deps: [{ token: AUTH_PROVIDER }, { token: AUTH_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
1200
- AuthRoutingFlowServiceStub.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: AuthRoutingFlowServiceStub });
1201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: AuthRoutingFlowServiceStub, decorators: [{
1202
- type: Injectable
1203
- }], ctorParameters: function () {
1204
- return [{ type: i1$3.AuthService, decorators: [{
1205
- type: Inject,
1206
- args: [AUTH_PROVIDER]
1207
- }] }, { type: undefined, decorators: [{
1208
- type: Inject,
1209
- args: [AUTH_CONFIG]
1210
- }] }];
1211
- } });
1212
-
1213
- const WELL_KNOWN = {
1214
- endpoints: {
1215
- auth: '/auth',
1216
- token: '/token',
1217
- logout: '/logout'
1218
- },
1219
- issuer: 'risk-auth'
1220
- };
1221
- class WellKnownServiceStub {
1222
- get wellKnown() {
1223
- return of(WELL_KNOWN);
1200
+ storeRequestedPath(state) {
1201
+ storage.authRequestedPath = state?.url || null;
1224
1202
  }
1203
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AuthRoutingFlowServiceStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1204
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AuthRoutingFlowServiceStub }); }
1225
1205
  }
1226
- WellKnownServiceStub.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: WellKnownServiceStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1227
- WellKnownServiceStub.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: WellKnownServiceStub });
1228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: WellKnownServiceStub, decorators: [{
1206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AuthRoutingFlowServiceStub, decorators: [{
1229
1207
  type: Injectable
1230
- }] });
1208
+ }], ctorParameters: () => [] });
1231
1209
 
1232
- class AuthServiceStub extends AuthService {
1210
+ class AuthServiceStub {
1233
1211
  constructor() {
1234
- super({}, new WellKnownServiceStub(), null, null, null);
1212
+ this._loggedInStream = new ReplaySubjectExt(1);
1235
1213
  }
1236
1214
  get loggedIn() {
1237
- return of(!!this.user);
1215
+ return defer(() => of(!!this.user));
1238
1216
  }
1239
1217
  get userProfile() {
1240
- return of({
1218
+ return defer(() => of(this.user ? {
1241
1219
  name: this.user
1242
- });
1220
+ } : undefined));
1221
+ }
1222
+ get loggedInStream() {
1223
+ return this._loggedInStream.asObservable();
1243
1224
  }
1244
1225
  loginViaAuthService() {
1245
1226
  return of(true);
@@ -1257,191 +1238,111 @@ class AuthServiceStub extends AuthService {
1257
1238
  delete this.user;
1258
1239
  return EMPTY;
1259
1240
  }
1260
- }
1261
- AuthServiceStub.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: AuthServiceStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1262
- AuthServiceStub.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: AuthServiceStub });
1263
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: AuthServiceStub, decorators: [{
1264
- type: Injectable
1265
- }], ctorParameters: function () { return []; } });
1266
-
1267
- class LoginMenuStubComponent {
1268
- constructor() {
1269
- this.orientation = 'row';
1270
- }
1271
- }
1272
- LoginMenuStubComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LoginMenuStubComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1273
- LoginMenuStubComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: LoginMenuStubComponent, selector: "login-menu, risk-login-menu", inputs: { orientation: "orientation" }, ngImport: i0, template: '', isInline: true });
1274
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LoginMenuStubComponent, decorators: [{
1275
- type: Component,
1276
- args: [{
1277
- selector: 'login-menu, risk-login-menu',
1278
- template: ''
1279
- }]
1280
- }], propDecorators: { orientation: [{
1281
- type: Input
1282
- }] } });
1283
-
1284
- class ActivatedRouteStub {
1285
- constructor() {
1286
- // Test parameters
1287
- this._testParams = {};
1288
- // ActivatedRoute.params is Observable
1289
- this.subject = new BehaviorSubject(this.testParams);
1290
- this.params = this.subject.asObservable();
1291
- }
1292
- get testParams() {
1293
- return this._testParams;
1294
- }
1295
- set testParams(params) {
1296
- this._testParams = params;
1297
- this.subject.next(params);
1241
+ emitLoginStatusChange(status) {
1242
+ if (this._loggedInStream.lastValue !== status) {
1243
+ this._loggedInStream.next(status);
1244
+ }
1298
1245
  }
1299
- // ActivatedRoute.snapshot.params
1300
- get snapshot() {
1301
- return { params: this.testParams };
1246
+ refreshToken() {
1302
1247
  }
1248
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AuthServiceStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1249
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AuthServiceStub }); }
1303
1250
  }
1304
- ActivatedRouteStub.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: ActivatedRouteStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1305
- ActivatedRouteStub.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: ActivatedRouteStub });
1306
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: ActivatedRouteStub, decorators: [{
1251
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AuthServiceStub, decorators: [{
1307
1252
  type: Injectable
1308
1253
  }] });
1309
1254
 
1310
- class RouterOutletStubComponent {
1255
+ const WELL_KNOWN = {
1256
+ endpoints: {
1257
+ auth: '/auth',
1258
+ token: '/token',
1259
+ logout: '/logout'
1260
+ },
1261
+ issuer: 'risk-auth'
1262
+ };
1263
+ class WellKnownServiceStub {
1264
+ get wellKnown() {
1265
+ return of(WELL_KNOWN);
1266
+ }
1267
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WellKnownServiceStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1268
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WellKnownServiceStub }); }
1311
1269
  }
1312
- RouterOutletStubComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: RouterOutletStubComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1313
- RouterOutletStubComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: RouterOutletStubComponent, selector: "router-outlet", ngImport: i0, template: '', isInline: true });
1314
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: RouterOutletStubComponent, decorators: [{
1315
- type: Component,
1316
- args: [{
1317
- /* eslint-disable @angular-eslint/component-selector */
1318
- selector: 'router-outlet',
1319
- /* eslint-enable */
1320
- template: ''
1321
- }]
1270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WellKnownServiceStub, decorators: [{
1271
+ type: Injectable
1322
1272
  }] });
1323
1273
 
1324
- class Snapshot {
1325
- constructor(stub) {
1326
- this.stub = stub;
1327
- }
1328
- get url() {
1329
- return this.stub.getCurrentURL();
1330
- }
1331
- }
1332
- // @dynamic
1274
+ /**
1275
+ * A lightweight Router stub for testing that doesn't require actual routing infrastructure.
1276
+ * Use this when you want complete isolation from the Router and only need to verify navigation calls.
1277
+ */
1333
1278
  class RouterStub {
1334
1279
  constructor() {
1335
- this.id = 0;
1336
- this.navigated = true;
1337
- this.currentUrlTree = this.createUrlTree(['/dashboard']);
1338
- this.routerState = {
1339
- snapshot: new Snapshot(this)
1340
- };
1341
- this.events = new EventEmitter();
1280
+ this._url = '/';
1281
+ this._events$ = new BehaviorSubject(null);
1342
1282
  }
1343
- getURLTree(url) {
1344
- if (Array.isArray(url)) {
1345
- return this.createUrlTree(url);
1346
- }
1347
- if (url instanceof Object) {
1348
- return url;
1349
- }
1350
- return this.createUrlTree(url.split('/'));
1283
+ get url() {
1284
+ return this._url;
1351
1285
  }
1352
- navigateByUrl(url) {
1353
- this.currentUrlTree = this.getURLTree(url);
1354
- this.emitNavigate();
1355
- return url;
1286
+ get events() {
1287
+ return this._events$.asObservable();
1356
1288
  }
1357
- navigate(commands, extras) {
1358
- this.currentUrlTree = this.getURLTree(commands);
1359
- this.emitNavigate();
1360
- return [commands, extras];
1289
+ get routerState() {
1290
+ return {
1291
+ snapshot: {
1292
+ url: this._url,
1293
+ root: {}
1294
+ }
1295
+ };
1361
1296
  }
1362
- emitNavigate() {
1363
- this.id++;
1364
- const urlString = this.getCurrentURL();
1365
- this.events.emit(new NavigationEnd(this.id, urlString, urlString));
1297
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1298
+ navigate(commands, _extras) {
1299
+ this._url = commands.join('/');
1300
+ return Promise.resolve(true);
1366
1301
  }
1367
- isActive(url) {
1368
- return this.getCurrentURL().indexOf(RouterStub.serializeUrl(url)) !== -1;
1302
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1303
+ navigateByUrl(url, _extras) {
1304
+ this._url = typeof url === 'string' ? url : url.toString();
1305
+ return Promise.resolve(true);
1369
1306
  }
1370
- getCurrentURL() {
1371
- return RouterStub.serializeUrl(this.currentUrlTree);
1307
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1308
+ createUrlTree(_commands, _navigationExtras) {
1309
+ return {};
1372
1310
  }
1373
- createUrlTree(commands, extras) {
1374
- const _b = extras || {};
1375
- const queryParams = _b.queryParams || {};
1376
- const fragment = _b.fragment || '';
1377
- return {
1378
- root: new UrlSegmentGroup(commands.map((command) => {
1379
- return new UrlSegment(command, {});
1380
- }), {}),
1381
- queryParams,
1382
- fragment,
1383
- queryParamMap: Object.assign(Object.assign({}, new Map()), { getAll: () => [], keys: [] })
1384
- };
1311
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1312
+ serializeUrl(_url) {
1313
+ return '';
1385
1314
  }
1386
- static serializeUrl(url) {
1387
- return url.root.segments.map((segment) => segment.path).join('/');
1315
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1316
+ parseUrl(_url) {
1317
+ return {};
1388
1318
  }
1319
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1320
+ isActive(_url, _exact) {
1321
+ return false;
1322
+ }
1323
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: RouterStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1324
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: RouterStub }); }
1389
1325
  }
1390
- RouterStub.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: RouterStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1391
- RouterStub.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: RouterStub });
1392
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: RouterStub, decorators: [{
1326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: RouterStub, decorators: [{
1393
1327
  type: Injectable
1394
1328
  }] });
1395
1329
 
1396
- function stubRouter(customOverrides) {
1397
- const override = {
1398
- set: {
1399
- imports: [],
1400
- declarations: [
1401
- RouterLinkStubDirective,
1402
- RouterOutletStubComponent
1403
- ],
1404
- providers: [
1405
- {
1406
- provide: Router,
1407
- useClass: RouterStub
1408
- },
1409
- {
1410
- provide: ActivatedRoute,
1411
- useClass: ActivatedRouteStub
1412
- }
1413
- ],
1414
- exports: [
1415
- RouterLinkStubDirective,
1416
- RouterOutletStubComponent
1417
- ],
1418
- entryComponents: []
1419
- }
1420
- };
1421
- if (customOverrides) {
1422
- if (customOverrides.add) {
1423
- override.add = customOverrides.add;
1424
- }
1425
- if (customOverrides.set) {
1426
- Object.assign(override.set, customOverrides.set);
1427
- }
1428
- if (customOverrides.remove) {
1429
- override.remove = customOverrides.remove;
1430
- }
1330
+ class RiskLoginMenuStubComponent {
1331
+ constructor() {
1332
+ this.orientation = input('row', ...(ngDevMode ? [{ debugName: "orientation" }] : []));
1431
1333
  }
1432
- return TestBed.overrideModule(RouterModule, override);
1334
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: RiskLoginMenuStubComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1335
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: RiskLoginMenuStubComponent, isStandalone: true, selector: "risk-login-menu", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1433
1336
  }
1337
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: RiskLoginMenuStubComponent, decorators: [{
1338
+ type: Component,
1339
+ args: [{
1340
+ selector: 'risk-login-menu',
1341
+ changeDetection: ChangeDetectionStrategy.OnPush,
1342
+ template: ''
1343
+ }]
1344
+ }], propDecorators: { orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }] } });
1434
1345
 
1435
- function disableMaterialAnimations(ngModule) {
1436
- TestBed.overrideModule(ngModule, {
1437
- remove: {
1438
- imports: [CommonViewModule]
1439
- },
1440
- add: {
1441
- imports: [NoopAnimationsCommonViewModule]
1442
- }
1443
- });
1444
- }
1445
1346
  function compileTestBed(compileFunction, destroyFunction, stubMatchMedia = true) {
1446
1347
  let matchMedia;
1447
1348
  beforeEach((done) => {
@@ -1477,45 +1378,6 @@ function fakeMatchMedia(matches = false) {
1477
1378
  });
1478
1379
  }
1479
1380
 
1480
- class TestingModule {
1481
- }
1482
- TestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: TestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1483
- TestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: TestingModule, declarations: [DownloadTestComponent,
1484
- TestDataTableHostComponent,
1485
- HighLighterDirectiveTestComponent,
1486
- TestLayoutHostComponent,
1487
- RouterLinkStubDirective,
1488
- TestMessageHostComponent,
1489
- LoginMenuStubComponent,
1490
- RouterOutletStubComponent], imports: [CommonViewModule,
1491
- FileModule,
1492
- DataTableModule] });
1493
- TestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: TestingModule, imports: [[
1494
- CommonViewModule,
1495
- FileModule,
1496
- DataTableModule
1497
- ]] });
1498
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: TestingModule, decorators: [{
1499
- type: NgModule,
1500
- args: [{
1501
- imports: [
1502
- CommonViewModule,
1503
- FileModule,
1504
- DataTableModule
1505
- ],
1506
- declarations: [
1507
- DownloadTestComponent,
1508
- TestDataTableHostComponent,
1509
- HighLighterDirectiveTestComponent,
1510
- TestLayoutHostComponent,
1511
- RouterLinkStubDirective,
1512
- TestMessageHostComponent,
1513
- LoginMenuStubComponent,
1514
- RouterOutletStubComponent
1515
- ]
1516
- }]
1517
- }] });
1518
-
1519
1381
  // WARNING: Do not change order in this file!!! Environment has to be first as it includes polyfills
1520
1382
  // Add CachedResourceProviderImpl to compiler configuration
1521
1383
  if ('beforeEach' in globalScope && globalScope.beforeEach) {
@@ -1540,5 +1402,5 @@ if ('beforeEach' in globalScope && globalScope.beforeEach) {
1540
1402
  * Generated bundle index. Do not edit.
1541
1403
  */
1542
1404
 
1543
- export { ActivatedRouteStub, AuthRoutingFlowServiceStub, AuthServiceStub, BUTTON_CLICK_EVENTS, ByUtil, COMPILE_TIMEOUT_INTERVAL, CSVDownloadMenuPage, DataTableDefinition, DataTableDefinitionHosted, DownloadLink, DownloadTestComponent, DownloadTestComponentPage, FAKE_HTTP_ASYNC_TIMEOUT, HighLighterDirectivePage, HighLighterDirectiveTestComponent, HttpAsyncServiceStub, HttpServiceStub, LayoutComponentDefinition, LinkDefinition, LinkOnlyPage, LoginMenuPage, LoginMenuStubComponent, LoginPage, MessageComponentDef, MessageHostedPage, Page, PageWithLoading, Pager, RecordsCount, RouterLinkStubDirective, RouterOutletStubComponent, RouterStub, RowExpander, Snapshot, SortingHandle, TableBody, TableBodyCell, TableBodyDetail, TableBodyDetailBody, TableBodyDetailRow, TableBodyRow, TableFooter, TableFooterRow, TableHeader, TableHeaderCell, TableHeaderRow, TableSorting, TestDataTableHostComponent, TestLayoutComponentHostPage, TestLayoutHostComponent, TestMessageHostComponent, TestingModule, WELL_KNOWN, WellKnownServiceStub, chceckSorting, click, compileTestBed, disableMaterialAnimations, dispatchEvent, initTestEnvironment, newEvent, setNgModelSelectValue, setNgModelValue, storage, stubRouter };
1405
+ export { AuthRoutingFlowServiceStub, AuthServiceStub, BUTTON_CLICK_EVENTS, ByUtil, COMPILE_TIMEOUT_INTERVAL, DataTableDefinitionHosted, DownloadLink, DownloadTestComponent, DownloadTestComponentPage, FAKE_HTTP_ASYNC_TIMEOUT, HighLighterDirectivePage, HttpAsyncServiceStub, HttpServiceStub, LinkDefinition, LinkOnlyPage, LoginMenuPage, MessageHostedPage, Page, PageWithLoading, Pager, RecordsCount, RiskCSVDownloadMenuPage, RiskDataTableDefinition, RiskHighLighterDirectiveTestComponent, RiskLayoutComponentDefinition, RiskLayoutTestComponentHostPage, RiskLayoutTestHostComponent, RiskLoginMenuStubComponent, RiskLoginPage, RiskMessageComponentDef, RouterStub, RowExpander, SortingHandle, TableBody, TableBodyCell, TableBodyDetail, TableBodyDetailBody, TableBodyDetailRow, TableBodyRow, TableFooter, TableFooterRow, TableHeader, TableHeaderCell, TableHeaderRow, TableSorting, TestDataTableHostComponent, TestMessageHostComponent, WELL_KNOWN, WellKnownServiceStub, chceckSorting, click, compileTestBed, dispatchEvent, initTestEnvironment, newEvent, setNgModelSelectValue, setNgModelValue, storage };
1544
1406
  //# sourceMappingURL=dbg-riskit-angular-testing.mjs.map