@porscheinformatik/material-addons 15.0.3 → 16.0.1

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 (82) hide show
  1. package/lib/button/danger-button/danger-button.component.d.ts +1 -1
  2. package/lib/button/flat-button/link-button.component.d.ts +1 -1
  3. package/lib/button/icon-button/icon-button.component.d.ts +1 -1
  4. package/lib/button/outline-button/outline-button.component.d.ts +1 -1
  5. package/lib/button/primary-button/primary-button.component.d.ts +1 -1
  6. package/lib/card/card.component.d.ts +1 -1
  7. package/lib/data-table/data-table.component.d.ts +1 -1
  8. package/lib/flowbar/flowbar.component.d.ts +1 -1
  9. package/lib/material-action-button/material-action-button.component.d.ts +1 -1
  10. package/lib/numeric-field/numeric-field.directive.d.ts +1 -1
  11. package/lib/quick-list/base-quick-list.component.d.ts +1 -1
  12. package/lib/readonly/readonly-form-field/readonly-form-field.component.d.ts +1 -1
  13. package/lib/readonly/readonly-form-field-wrapper/readonly-form-field-wrapper.component.d.ts +1 -1
  14. package/lib/stepper/step-header/step-header.component.d.ts +1 -1
  15. package/lib/stepper/stepper.component.d.ts +1 -1
  16. package/lib/table/table.component.d.ts +1 -1
  17. package/lib/throttle-click/throttle-click.directive.d.ts +1 -1
  18. package/package.json +13 -15
  19. package/esm2020/lib/button/button.mjs +0 -7
  20. package/esm2020/lib/button/button.module.mjs +0 -26
  21. package/esm2020/lib/button/danger-button/danger-button.component.mjs +0 -28
  22. package/esm2020/lib/button/flat-button/link-button.component.mjs +0 -28
  23. package/esm2020/lib/button/icon-button/icon-button.component.mjs +0 -28
  24. package/esm2020/lib/button/mad-basic-button.mjs +0 -39
  25. package/esm2020/lib/button/outline-button/outline-button.component.mjs +0 -28
  26. package/esm2020/lib/button/primary-button/primary-button.component.mjs +0 -28
  27. package/esm2020/lib/card/card.component.mjs +0 -129
  28. package/esm2020/lib/card/card.mjs +0 -2
  29. package/esm2020/lib/card/card.module.mjs +0 -23
  30. package/esm2020/lib/content-panel/content-header/content-header.component.mjs +0 -11
  31. package/esm2020/lib/content-panel/content-panel-container/content-panel-container.component.mjs +0 -11
  32. package/esm2020/lib/content-panel/content-panel-container-content/content-panel-container-content.component.mjs +0 -11
  33. package/esm2020/lib/content-panel/content-panel-container-footer/content-panel-container-footer.component.mjs +0 -11
  34. package/esm2020/lib/content-panel/content-panel.module.mjs +0 -42
  35. package/esm2020/lib/content-panel/main-container/main-container.component.mjs +0 -11
  36. package/esm2020/lib/data-table/data-table-action-type.mjs +0 -6
  37. package/esm2020/lib/data-table/data-table-action.mjs +0 -2
  38. package/esm2020/lib/data-table/data-table-column-definition.mjs +0 -2
  39. package/esm2020/lib/data-table/data-table-column.mjs +0 -2
  40. package/esm2020/lib/data-table/data-table-columns-modal/data-table-columns-modal.component.mjs +0 -103
  41. package/esm2020/lib/data-table/data-table-row.mjs +0 -2
  42. package/esm2020/lib/data-table/data-table.component.mjs +0 -527
  43. package/esm2020/lib/data-table/data-table.mjs +0 -3
  44. package/esm2020/lib/data-table/data-table.module.mjs +0 -81
  45. package/esm2020/lib/flowbar/flowbar.component.mjs +0 -190
  46. package/esm2020/lib/flowbar/flowbar.module.mjs +0 -19
  47. package/esm2020/lib/material-action-button/material-action-button.component.mjs +0 -34
  48. package/esm2020/lib/material-action-button/material-action-button.module.mjs +0 -22
  49. package/esm2020/lib/material-addons.module.mjs +0 -45
  50. package/esm2020/lib/numeric-field/number-format.service.mjs +0 -139
  51. package/esm2020/lib/numeric-field/numeric-field.directive.mjs +0 -295
  52. package/esm2020/lib/numeric-field/numeric-field.mjs +0 -2
  53. package/esm2020/lib/numeric-field/numeric-field.module.mjs +0 -24
  54. package/esm2020/lib/quick-list/base-quick-list.component.mjs +0 -101
  55. package/esm2020/lib/quick-list/quick-list-compact/quick-list-compact.component.mjs +0 -20
  56. package/esm2020/lib/quick-list/quick-list.component.mjs +0 -21
  57. package/esm2020/lib/quick-list/quick-list.mjs +0 -4
  58. package/esm2020/lib/quick-list/quick-list.module.mjs +0 -23
  59. package/esm2020/lib/readonly/readonly-form-field/readonly-form-field.component.mjs +0 -155
  60. package/esm2020/lib/readonly/readonly-form-field-wrapper/readonly-form-field-wrapper.component.mjs +0 -185
  61. package/esm2020/lib/readonly/readonly-form-field.module.mjs +0 -24
  62. package/esm2020/lib/stepper/mad-stepper-animation.mjs +0 -13
  63. package/esm2020/lib/stepper/step-header/step-header.component.mjs +0 -77
  64. package/esm2020/lib/stepper/stepper.component.mjs +0 -159
  65. package/esm2020/lib/stepper/stepper.module.mjs +0 -23
  66. package/esm2020/lib/table/column-header.mjs +0 -2
  67. package/esm2020/lib/table/table-action.mjs +0 -2
  68. package/esm2020/lib/table/table.component.mjs +0 -130
  69. package/esm2020/lib/table/table.mjs +0 -2
  70. package/esm2020/lib/table/table.module.mjs +0 -56
  71. package/esm2020/lib/throttle-click/throttle-click.directive.mjs +0 -38
  72. package/esm2020/lib/throttle-click/throttle-click.module.mjs +0 -18
  73. package/esm2020/lib/toolbar/toolbar-action.interface.mjs +0 -2
  74. package/esm2020/lib/toolbar/toolbar.component.mjs +0 -78
  75. package/esm2020/lib/toolbar/toolbar.module.mjs +0 -56
  76. package/esm2020/lib/toolbar/toolbar.service.mjs +0 -124
  77. package/esm2020/porscheinformatik-material-addons.mjs +0 -5
  78. package/esm2020/public_api.mjs +0 -41
  79. package/fesm2015/porscheinformatik-material-addons.mjs +0 -3007
  80. package/fesm2015/porscheinformatik-material-addons.mjs.map +0 -1
  81. package/fesm2020/porscheinformatik-material-addons.mjs +0 -2983
  82. package/fesm2020/porscheinformatik-material-addons.mjs.map +0 -1
@@ -1,24 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { RouterModule } from '@angular/router';
4
- import { ReadOnlyFormFieldWrapperComponent } from './readonly-form-field-wrapper/readonly-form-field-wrapper.component';
5
- import { ReadOnlyFormFieldComponent } from './readonly-form-field/readonly-form-field.component';
6
- import { MatFormFieldModule } from '@angular/material/form-field';
7
- import { MatInputModule } from '@angular/material/input';
8
- import { FormsModule } from '@angular/forms';
9
- import { MatTooltipModule } from '@angular/material/tooltip';
10
- import * as i0 from "@angular/core";
11
- export class ReadOnlyFormFieldModule {
12
- }
13
- ReadOnlyFormFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ReadOnlyFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- ReadOnlyFormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: ReadOnlyFormFieldModule, declarations: [ReadOnlyFormFieldComponent, ReadOnlyFormFieldWrapperComponent], imports: [CommonModule, RouterModule, MatFormFieldModule, MatInputModule, FormsModule, MatTooltipModule], exports: [ReadOnlyFormFieldComponent, ReadOnlyFormFieldWrapperComponent] });
15
- ReadOnlyFormFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ReadOnlyFormFieldModule, imports: [CommonModule, RouterModule, MatFormFieldModule, MatInputModule, FormsModule, MatTooltipModule] });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ReadOnlyFormFieldModule, decorators: [{
17
- type: NgModule,
18
- args: [{
19
- declarations: [ReadOnlyFormFieldComponent, ReadOnlyFormFieldWrapperComponent],
20
- imports: [CommonModule, RouterModule, MatFormFieldModule, MatInputModule, FormsModule, MatTooltipModule],
21
- exports: [ReadOnlyFormFieldComponent, ReadOnlyFormFieldWrapperComponent],
22
- }]
23
- }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHktZm9ybS1maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9yZWFkb25seS9yZWFkb25seS1mb3JtLWZpZWxkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDeEgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFPN0QsTUFBTSxPQUFPLHVCQUF1Qjs7b0hBQXZCLHVCQUF1QjtxSEFBdkIsdUJBQXVCLGlCQUpuQiwwQkFBMEIsRUFBRSxpQ0FBaUMsYUFDbEUsWUFBWSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixhQUM3RiwwQkFBMEIsRUFBRSxpQ0FBaUM7cUhBRTVELHVCQUF1QixZQUh4QixZQUFZLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCOzJGQUc1Rix1QkFBdUI7a0JBTG5DLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsMEJBQTBCLEVBQUUsaUNBQWlDLENBQUM7b0JBQzdFLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQztvQkFDeEcsT0FBTyxFQUFFLENBQUMsMEJBQTBCLEVBQUUsaUNBQWlDLENBQUM7aUJBQ3pFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUmVhZE9ubHlGb3JtRmllbGRXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9yZWFkb25seS1mb3JtLWZpZWxkLXdyYXBwZXIvcmVhZG9ubHktZm9ybS1maWVsZC13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWFkT25seUZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vcmVhZG9ubHktZm9ybS1maWVsZC9yZWFkb25seS1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1JlYWRPbmx5Rm9ybUZpZWxkQ29tcG9uZW50LCBSZWFkT25seUZvcm1GaWVsZFdyYXBwZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIEZvcm1zTW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlXSxcbiAgZXhwb3J0czogW1JlYWRPbmx5Rm9ybUZpZWxkQ29tcG9uZW50LCBSZWFkT25seUZvcm1GaWVsZFdyYXBwZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBSZWFkT25seUZvcm1GaWVsZE1vZHVsZSB7fVxuIl19
@@ -1,13 +0,0 @@
1
- import { animate, state, style, transition, trigger } from '@angular/animations';
2
- /**
3
- * Animations used by the MAD stepper.
4
- */
5
- export const madStepperAnimations = {
6
- verticalStepTransition: trigger('stepTransition', [
7
- state('previous', style({ height: '0px', visibility: 'hidden' })),
8
- state('next', style({ height: '0px', visibility: 'hidden' })),
9
- state('current', style({ height: '*', visibility: 'visible' })),
10
- transition('* <=> current', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
11
- ]),
12
- };
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFkLXN0ZXBwZXItYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvc3RlcHBlci9tYWQtc3RlcHBlci1hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQTRCLE1BQU0scUJBQXFCLENBQUM7QUFFM0c7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FFN0I7SUFDRixzQkFBc0IsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLEVBQUU7UUFDaEQsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM3RCxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDL0QsVUFBVSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQztLQUM3RSxDQUFDO0NBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciwgQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbi8qKlxuICogQW5pbWF0aW9ucyB1c2VkIGJ5IHRoZSBNQUQgc3RlcHBlci5cbiAqL1xuZXhwb3J0IGNvbnN0IG1hZFN0ZXBwZXJBbmltYXRpb25zOiB7XG4gIHJlYWRvbmx5IHZlcnRpY2FsU3RlcFRyYW5zaXRpb246IEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YTtcbn0gPSB7XG4gIHZlcnRpY2FsU3RlcFRyYW5zaXRpb246IHRyaWdnZXIoJ3N0ZXBUcmFuc2l0aW9uJywgW1xuICAgIHN0YXRlKCdwcmV2aW91cycsIHN0eWxlKHsgaGVpZ2h0OiAnMHB4JywgdmlzaWJpbGl0eTogJ2hpZGRlbicgfSkpLFxuICAgIHN0YXRlKCduZXh0Jywgc3R5bGUoeyBoZWlnaHQ6ICcwcHgnLCB2aXNpYmlsaXR5OiAnaGlkZGVuJyB9KSksXG4gICAgc3RhdGUoJ2N1cnJlbnQnLCBzdHlsZSh7IGhlaWdodDogJyonLCB2aXNpYmlsaXR5OiAndmlzaWJsZScgfSkpLFxuICAgIHRyYW5zaXRpb24oJyogPD0+IGN1cnJlbnQnLCBhbmltYXRlKCcyMjVtcyBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSknKSksXG4gIF0pLFxufTtcbiJdfQ==
@@ -1,77 +0,0 @@
1
- import { CdkStepHeader, STEP_STATE } from '@angular/cdk/stepper';
2
- import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/cdk/a11y";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/material/icon";
7
- export class StepHeaderComponent extends CdkStepHeader {
8
- constructor(_focusMonitor, _elementRef) {
9
- super(_elementRef);
10
- this._focusMonitor = _focusMonitor;
11
- }
12
- ngAfterViewInit() {
13
- this._focusMonitor.monitor(this._elementRef, true);
14
- }
15
- ngOnDestroy() {
16
- this._focusMonitor.stopMonitoring(this._elementRef);
17
- }
18
- /** Focuses the step header. */
19
- focus(origin, options) {
20
- if (origin) {
21
- this._focusMonitor.focusVia(this._elementRef, origin, options);
22
- }
23
- else {
24
- this._elementRef.nativeElement.focus(options);
25
- }
26
- }
27
- getCssForState() {
28
- if (this.state === STEP_STATE.NUMBER && !this.completed && !this.hasError) {
29
- return 'step-state-neutral'; //initiale state is 'number'
30
- }
31
- else if (this.completed) {
32
- return 'step-state-complete';
33
- }
34
- else if (this.hasError) {
35
- return 'step-state-error';
36
- }
37
- }
38
- getIcon() {
39
- if (this.completed) {
40
- return 'check_circle_outline';
41
- }
42
- else if (this.hasError) {
43
- return 'error_outline';
44
- }
45
- return '';
46
- }
47
- }
48
- StepHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: StepHeaderComponent, deps: [{ token: i1.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
49
- StepHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: StepHeaderComponent, selector: "mad-step-header", inputs: { color: "color", index: "index", label: "label", state: "state", errorMessage: "errorMessage", selected: "selected", active: "active", optional: "optional", hasError: "hasError", completed: "completed", closed: "closed" }, host: { attributes: { "role": "tab" }, classAttribute: "mad-step-header" }, usesInheritance: true, ngImport: i0, template: "<div\n class=\"header\"\n [style.background]=\"this.selected && !this.closed ? '#d8e2e9' : '#ffffff'\"\n [ngClass]=\"this.hasError ? 'error-border' : 'check-border'\"\n>\n <div [ngClass]=\"this.getCssForState()\"></div>\n <div class=\"header-label\">\n <mat-icon class=\"material-icons-outlined\">\n {{ this.selected && !this.closed ? 'keyboard_arrow_down' : 'keyboard_arrow_right' }}\n </mat-icon>\n </div>\n <div *ngIf=\"this.completed || this.hasError\" class=\"header-label\">\n <mat-icon [ngClass]=\"this.completed ? 'green-check' : 'red-error'\">\n {{ getIcon() }}\n </mat-icon>\n </div>\n <span *ngIf=\"!this.hasError && !this.completed\" class=\"header-label\">{{ this.index + 1 + '.' }}</span>\n <div class=\"header-label\">{{ this.label }}</div>\n</div>\n", styles: [".header{overflow:hidden;outline:var(--warn-color);cursor:pointer;box-sizing:content-box;-webkit-tap-highlight-color:transparent;border:1px solid lightgrey;width:100%;height:62px;display:flex;flex-direction:row;gap:1em}.header-label{align-items:center;display:flex}.step-state-complete{width:5px;background:green}.step-state-error{width:5px;background:var(--warn-color)}.step-state-neutral{width:5px;background:lightgrey}.green-check{color:green}.red-error{color:var(--warn-color)}.check-border{border-color:#d3d3d3}.error-border{border-color:var(--warn-color)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: StepHeaderComponent, decorators: [{
51
- type: Component,
52
- args: [{ selector: 'mad-step-header', inputs: ['color'], host: {
53
- class: 'mad-step-header',
54
- role: 'tab',
55
- }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"header\"\n [style.background]=\"this.selected && !this.closed ? '#d8e2e9' : '#ffffff'\"\n [ngClass]=\"this.hasError ? 'error-border' : 'check-border'\"\n>\n <div [ngClass]=\"this.getCssForState()\"></div>\n <div class=\"header-label\">\n <mat-icon class=\"material-icons-outlined\">\n {{ this.selected && !this.closed ? 'keyboard_arrow_down' : 'keyboard_arrow_right' }}\n </mat-icon>\n </div>\n <div *ngIf=\"this.completed || this.hasError\" class=\"header-label\">\n <mat-icon [ngClass]=\"this.completed ? 'green-check' : 'red-error'\">\n {{ getIcon() }}\n </mat-icon>\n </div>\n <span *ngIf=\"!this.hasError && !this.completed\" class=\"header-label\">{{ this.index + 1 + '.' }}</span>\n <div class=\"header-label\">{{ this.label }}</div>\n</div>\n", styles: [".header{overflow:hidden;outline:var(--warn-color);cursor:pointer;box-sizing:content-box;-webkit-tap-highlight-color:transparent;border:1px solid lightgrey;width:100%;height:62px;display:flex;flex-direction:row;gap:1em}.header-label{align-items:center;display:flex}.step-state-complete{width:5px;background:green}.step-state-error{width:5px;background:var(--warn-color)}.step-state-neutral{width:5px;background:lightgrey}.green-check{color:green}.red-error{color:var(--warn-color)}.check-border{border-color:#d3d3d3}.error-border{border-color:var(--warn-color)}\n"] }]
56
- }], ctorParameters: function () { return [{ type: i1.FocusMonitor }, { type: i0.ElementRef }]; }, propDecorators: { index: [{
57
- type: Input
58
- }], label: [{
59
- type: Input
60
- }], state: [{
61
- type: Input
62
- }], errorMessage: [{
63
- type: Input
64
- }], selected: [{
65
- type: Input
66
- }], active: [{
67
- type: Input
68
- }], optional: [{
69
- type: Input
70
- }], hasError: [{
71
- type: Input
72
- }], completed: [{
73
- type: Input
74
- }], closed: [{
75
- type: Input
76
- }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvc3RlcHBlci9zdGVwLWhlYWRlci9zdGVwLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9zdGVwcGVyL3N0ZXAtaGVhZGVyL3N0ZXAtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFhLE1BQU0sc0JBQXNCLENBQUM7QUFDNUUsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFhLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQWVuSSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBYTtJQXVCcEQsWUFBb0IsYUFBMkIsRUFBRSxXQUFvQztRQUNuRixLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFERCxrQkFBYSxHQUFiLGFBQWEsQ0FBYztJQUUvQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELCtCQUErQjtJQUMvQixLQUFLLENBQUMsTUFBb0IsRUFBRSxPQUFzQjtRQUNoRCxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ2hFO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDekUsT0FBTyxvQkFBb0IsQ0FBQyxDQUFDLDRCQUE0QjtTQUMxRDthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN6QixPQUFPLHFCQUFxQixDQUFDO1NBQzlCO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3hCLE9BQU8sa0JBQWtCLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixPQUFPLHNCQUFzQixDQUFDO1NBQy9CO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3hCLE9BQU8sZUFBZSxDQUFDO1NBQ3hCO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOztnSEE3RFUsbUJBQW1CO29HQUFuQixtQkFBbUIsa1lDaEJoQywreEJBbUJBOzJGREhhLG1CQUFtQjtrQkFaL0IsU0FBUzsrQkFDRSxpQkFBaUIsVUFHbkIsQ0FBQyxPQUFPLENBQUMsUUFDWDt3QkFDSixLQUFLLEVBQUUsaUJBQWlCO3dCQUN4QixJQUFJLEVBQUUsS0FBSztxQkFDWixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzRIQUkvQyxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka1N0ZXBIZWFkZXIsIFNURVBfU1RBVEUsIFN0ZXBTdGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zdGVwcGVyJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2N1c01vbml0b3IsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWQtc3RlcC1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RlcC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGVwLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IFsnY29sb3InXSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnbWFkLXN0ZXAtaGVhZGVyJyxcbiAgICByb2xlOiAndGFiJyxcbiAgfSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFN0ZXBIZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBDZGtTdGVwSGVhZGVyIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgaW5kZXg6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBsYWJlbDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHN0YXRlOiBTdGVwU3RhdGU7XG5cbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgc2VsZWN0ZWQ6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgYWN0aXZlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIG9wdGlvbmFsOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIGhhc0Vycm9yOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIGNvbXBsZXRlZDogYm9vbGVhbjtcblxuICBASW5wdXQoKSBjbG9zZWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIHN1cGVyKF9lbGVtZW50UmVmKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mb2N1c01vbml0b3IubW9uaXRvcih0aGlzLl9lbGVtZW50UmVmLCB0cnVlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLl9lbGVtZW50UmVmKTtcbiAgfVxuXG4gIC8qKiBGb2N1c2VzIHRoZSBzdGVwIGhlYWRlci4gKi9cbiAgZm9jdXMob3JpZ2luPzogRm9jdXNPcmlnaW4sIG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICBpZiAob3JpZ2luKSB7XG4gICAgICB0aGlzLl9mb2N1c01vbml0b3IuZm9jdXNWaWEodGhpcy5fZWxlbWVudFJlZiwgb3JpZ2luLCBvcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIGdldENzc0ZvclN0YXRlKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09IFNURVBfU1RBVEUuTlVNQkVSICYmICF0aGlzLmNvbXBsZXRlZCAmJiAhdGhpcy5oYXNFcnJvcikge1xuICAgICAgcmV0dXJuICdzdGVwLXN0YXRlLW5ldXRyYWwnOyAvL2luaXRpYWxlIHN0YXRlIGlzICdudW1iZXInXG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbXBsZXRlZCkge1xuICAgICAgcmV0dXJuICdzdGVwLXN0YXRlLWNvbXBsZXRlJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaGFzRXJyb3IpIHtcbiAgICAgIHJldHVybiAnc3RlcC1zdGF0ZS1lcnJvcic7XG4gICAgfVxuICB9XG5cbiAgZ2V0SWNvbigpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmNvbXBsZXRlZCkge1xuICAgICAgcmV0dXJuICdjaGVja19jaXJjbGVfb3V0bGluZSc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmhhc0Vycm9yKSB7XG4gICAgICByZXR1cm4gJ2Vycm9yX291dGxpbmUnO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJoZWFkZXJcIlxuICBbc3R5bGUuYmFja2dyb3VuZF09XCJ0aGlzLnNlbGVjdGVkICYmICF0aGlzLmNsb3NlZCA/ICcjZDhlMmU5JyA6ICcjZmZmZmZmJ1wiXG4gIFtuZ0NsYXNzXT1cInRoaXMuaGFzRXJyb3IgPyAnZXJyb3ItYm9yZGVyJyA6ICdjaGVjay1ib3JkZXInXCJcbj5cbiAgPGRpdiBbbmdDbGFzc109XCJ0aGlzLmdldENzc0ZvclN0YXRlKClcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImhlYWRlci1sYWJlbFwiPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+XG4gICAgICB7eyB0aGlzLnNlbGVjdGVkICYmICF0aGlzLmNsb3NlZCA/ICdrZXlib2FyZF9hcnJvd19kb3duJyA6ICdrZXlib2FyZF9hcnJvd19yaWdodCcgfX1cbiAgICA8L21hdC1pY29uPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInRoaXMuY29tcGxldGVkIHx8IHRoaXMuaGFzRXJyb3JcIiBjbGFzcz1cImhlYWRlci1sYWJlbFwiPlxuICAgIDxtYXQtaWNvbiBbbmdDbGFzc109XCJ0aGlzLmNvbXBsZXRlZCA/ICdncmVlbi1jaGVjaycgOiAncmVkLWVycm9yJ1wiPlxuICAgICAge3sgZ2V0SWNvbigpIH19XG4gICAgPC9tYXQtaWNvbj5cbiAgPC9kaXY+XG4gIDxzcGFuICpuZ0lmPVwiIXRoaXMuaGFzRXJyb3IgJiYgIXRoaXMuY29tcGxldGVkXCIgY2xhc3M9XCJoZWFkZXItbGFiZWxcIj57eyB0aGlzLmluZGV4ICsgMSArICcuJyB9fTwvc3Bhbj5cbiAgPGRpdiBjbGFzcz1cImhlYWRlci1sYWJlbFwiPnt7IHRoaXMubGFiZWwgfX08L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,159 +0,0 @@
1
- import { CdkStep, CdkStepper, STEP_STATE } from '@angular/cdk/stepper';
2
- import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, forwardRef, Inject, Input, Optional, Output, QueryList, ViewChildren, ViewEncapsulation, } from '@angular/core';
3
- import { Subject, Subscription } from 'rxjs';
4
- import { distinctUntilChanged, map, startWith, switchMap, takeUntil, tap } from 'rxjs/operators';
5
- import { StepHeaderComponent } from './step-header/step-header.component';
6
- import { madStepperAnimations } from './mad-stepper-animation';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common";
9
- import * as i2 from "../button/primary-button/primary-button.component";
10
- import * as i3 from "@angular/cdk/bidi";
11
- import * as i4 from "./step-header/step-header.component";
12
- export class StepComponent extends CdkStep {
13
- constructor(stepper, _viewContainerRef) {
14
- super(stepper);
15
- this.stepper = stepper;
16
- this._viewContainerRef = _viewContainerRef;
17
- /** Action event for the next button. If not set the StepComponent will handle the step navigation */
18
- this.onNext = new EventEmitter();
19
- /** Action event for the done button. If not set the StepComponent will handle the step navigation */
20
- this.onDone = new EventEmitter();
21
- /*** Action event when the header is clicked. If not set the StepComponent will handle the step navigation*/
22
- this.onHeaderClick = new EventEmitter();
23
- this.stepClosed = false;
24
- this._isSelected = Subscription.EMPTY;
25
- }
26
- ngAfterContentInit() {
27
- this._isSelected = this._stepper.steps.changes
28
- .pipe(switchMap(() => this._stepper.selectionChange.pipe(map(event => event.selectedStep === this), tap(() => (this.stepClosed = false)), startWith(this._stepper.selected === this))))
29
- .subscribe();
30
- }
31
- ngOnDestroy() {
32
- this._isSelected.unsubscribe();
33
- }
34
- next(markFormAsTouched = true) {
35
- this.stepValidation(markFormAsTouched);
36
- if (this.onNext.observers.length <= 0) {
37
- this.stepper.next();
38
- }
39
- this.onNext.emit();
40
- }
41
- selectAndMarkAsTouched(index) {
42
- //Mark current selected step as touched before selecting to display errors in the from
43
- this._stepper.selected?.stepControl?.markAllAsTouched();
44
- this.stepClosed = false;
45
- if (this.onHeaderClick.observers.length <= 0) {
46
- this.select();
47
- }
48
- this.onHeaderClick.emit(index);
49
- }
50
- completeLast() {
51
- this.stepValidation(true);
52
- this.stepClosed = true;
53
- if (this.onDone.observers.length <= 0) {
54
- this.stepper.next();
55
- }
56
- this.onDone.emit();
57
- }
58
- resetValidations() {
59
- this.hasError = false;
60
- this.completed = true;
61
- this.state = STEP_STATE.DONE;
62
- }
63
- stepValidation(markFormAsTouched) {
64
- if (markFormAsTouched) {
65
- this.stepControl?.markAllAsTouched();
66
- }
67
- if (this.stepControl?.valid) {
68
- this.hasError = false;
69
- this.completed = true;
70
- this.state = STEP_STATE.DONE;
71
- }
72
- else {
73
- this.completed = false;
74
- this.hasError = true;
75
- this.state = STEP_STATE.ERROR;
76
- }
77
- }
78
- }
79
- StepComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: StepComponent, deps: [{ token: forwardRef(() => StepperComponent) }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
80
- StepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: StepComponent, selector: "mad-step", outputs: { onNext: "onNext", onDone: "onDone", onHeaderClick: "onHeaderClick" }, providers: [{ provide: CdkStep, useExisting: StepComponent }], usesInheritance: true, ngImport: i0, template: "<ng-template let-last=\"last\" let-nextBtnLbl=\"nextBtnLbl\" let-doneBtnLbl=\"doneBtnLbl\">\n <div class=\"step-container\">\n <div class=\"step-content\">\n <ng-content></ng-content>\n </div>\n <div class=\"step-buttons\">\n <div *ngIf=\"!last\">\n <mad-primary-button (click)=\"next()\">{{nextBtnLbl}}</mad-primary-button>\n </div>\n <div *ngIf=\"last\">\n <mad-primary-button (click)=\"completeLast()\">{{doneBtnLbl}}</mad-primary-button>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".stepper-vertical{display:block}.mat-vertical-stepper-header{display:flex;align-items:center;border:none!important;height:10px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}.vertical-content-container{border:none}[dir=rtl] .vertical-content-container{margin-left:0;margin-right:36px}.vertical-stepper-content{overflow:hidden;outline:0}.vertical-content{padding:0 24px}.step-container{border-left:1px solid lightgrey;border-right:1px solid lightgrey;border-bottom:1px solid lightgrey;display:flex;flex-direction:column}.step-content,.step-buttons{padding:2em}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PrimaryButtonComponent, selector: "mad-primary-button", inputs: ["type", "disabled", "title"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: StepComponent, decorators: [{
82
- type: Component,
83
- args: [{ selector: 'mad-step', providers: [{ provide: CdkStep, useExisting: StepComponent }], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template let-last=\"last\" let-nextBtnLbl=\"nextBtnLbl\" let-doneBtnLbl=\"doneBtnLbl\">\n <div class=\"step-container\">\n <div class=\"step-content\">\n <ng-content></ng-content>\n </div>\n <div class=\"step-buttons\">\n <div *ngIf=\"!last\">\n <mad-primary-button (click)=\"next()\">{{nextBtnLbl}}</mad-primary-button>\n </div>\n <div *ngIf=\"last\">\n <mad-primary-button (click)=\"completeLast()\">{{doneBtnLbl}}</mad-primary-button>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".stepper-vertical{display:block}.mat-vertical-stepper-header{display:flex;align-items:center;border:none!important;height:10px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}.vertical-content-container{border:none}[dir=rtl] .vertical-content-container{margin-left:0;margin-right:36px}.vertical-stepper-content{overflow:hidden;outline:0}.vertical-content{padding:0 24px}.step-container{border-left:1px solid lightgrey;border-right:1px solid lightgrey;border-bottom:1px solid lightgrey;display:flex;flex-direction:column}.step-content,.step-buttons{padding:2em}\n"] }]
84
- }], ctorParameters: function () { return [{ type: StepperComponent, decorators: [{
85
- type: Inject,
86
- args: [forwardRef(() => StepperComponent)]
87
- }] }, { type: i0.ViewContainerRef }]; }, propDecorators: { onNext: [{
88
- type: Output
89
- }], onDone: [{
90
- type: Output
91
- }], onHeaderClick: [{
92
- type: Output
93
- }] } });
94
- export class StepperComponent extends CdkStepper {
95
- constructor(dir, changeDetectorRef, elementRef) {
96
- super(dir, changeDetectorRef, elementRef);
97
- /** Event emitted when the current step is done transitioning in. */
98
- this.animationDone = new EventEmitter();
99
- /** Steps that belong to the current stepper, excluding ones from nested steppers. */
100
- this.steps = new QueryList();
101
- this._animationDone = new Subject();
102
- this.orientation = 'vertical';
103
- }
104
- ngOnInit() {
105
- // Only linear stepper implementation is supported
106
- super.linear = true;
107
- }
108
- ngAfterContentInit() {
109
- super.ngAfterContentInit();
110
- this.steps.changes.pipe(takeUntil(this._destroyed)).subscribe(() => {
111
- this._stateChanged();
112
- });
113
- this._animationDone
114
- .pipe(distinctUntilChanged((x, y) => x.fromState === y.fromState && x.toState === y.toState), takeUntil(this._destroyed))
115
- .subscribe(event => {
116
- if (event.toState === 'current') {
117
- this.animationDone.emit();
118
- }
119
- });
120
- }
121
- /**
122
- * Method patched to enable the closing of the last step.
123
- */
124
- _getAnimationDirection(index) {
125
- const closeLastStep = this.selectedIndex === this.steps.length - 1 && this._steps.last?.completed && this._steps.last?.stepClosed;
126
- if (closeLastStep) {
127
- return 'next';
128
- }
129
- return super._getAnimationDirection(index);
130
- }
131
- _stepIsNavigable(index, step) {
132
- return step.completed || this.selectedIndex === index || !this.linear;
133
- }
134
- }
135
- StepperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: StepperComponent, deps: [{ token: i3.Directionality, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
136
- StepperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: StepperComponent, selector: "mad-stepper", inputs: { nextButtonLabel: "nextButtonLabel", doneButtonLabel: "doneButtonLabel" }, outputs: { animationDone: "animationDone" }, host: { attributes: { "role": "tablist" }, properties: { "class.stepper-vertical": "true", "attr.aria-orientation": "\"vertical\"" } }, providers: [{ provide: CdkStepper, useExisting: StepperComponent }], queries: [{ propertyName: "_steps", predicate: StepComponent, descendants: true }], viewQueries: [{ propertyName: "_stepHeader", predicate: StepHeaderComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- Vertical stepper -->\n<ng-container>\n <div *ngFor=\"let step of steps; let i = index; let isLast = last; let isFirst = first\">\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step: step, i: i}\"></ng-container>\n <div class=\"vertical-content-container\" [class.mat-stepper-vertical-line]=\"!isLast\">\n <div class=\"vertical-stepper-content\" role=\"tabpanel\"\n [@stepTransition]=\"_getAnimationDirection(i)\"\n (@stepTransition.done)=\"_animationDone.next($event)\"\n [id]=\"_getStepContentId(i)\"\n [attr.aria-labelledby]=\"_getStepLabelId(i)\"\n [attr.aria-expanded]=\"selectedIndex === i\">\n <div class=\"vertical-content\">\n <ng-container [ngTemplateOutlet]=\"step.content\"\n [ngTemplateOutletContext]=\"{step: step, i: i, last: isLast, first: isFirst, nextBtnLbl: this.nextButtonLabel, doneBtnLbl: this.doneButtonLabel}\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template let-step=\"step\" let-i=\"i\" #stepTemplate>\n <mad-step-header\n class=\"mat-vertical-stepper-header\"\n (click)=\"step.selectAndMarkAsTouched(i)\"\n (keydown)=\"_onKeydown($event)\"\n [tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\n [id]=\"_getStepLabelId(i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"steps.length\"\n [attr.aria-controls]=\"_getStepContentId(i)\"\n [attr.aria-selected]=\"selectedIndex == i\"\n [attr.aria-label]=\"step.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\n [attr.aria-disabled]=\"_stepIsNavigable(i, step) ? null : true\"\n [index]=\"i\"\n [completed]=\"step.completed\"\n [hasError]=\"step.hasError\"\n [state]=\"_getIndicatorType(i, step.state)\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"selectedIndex === i\"\n [active]=\"_stepIsNavigable(i, step)\"\n [optional]=\"step.optional\"\n [closed]=\"step.stepClosed\"\n [errorMessage]=\"step.errorMessage\"></mad-step-header>\n</ng-template>\n", styles: [".stepper-vertical{display:block}.mat-vertical-stepper-header{display:flex;align-items:center;border:none!important;height:10px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}.vertical-content-container{border:none}[dir=rtl] .vertical-content-container{margin-left:0;margin-right:36px}.vertical-stepper-content{overflow:hidden;outline:0}.vertical-content{padding:0 24px}.step-container{border-left:1px solid lightgrey;border-right:1px solid lightgrey;border-bottom:1px solid lightgrey;display:flex;flex-direction:column}.step-content,.step-buttons{padding:2em}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.StepHeaderComponent, selector: "mad-step-header", inputs: ["color", "index", "label", "state", "errorMessage", "selected", "active", "optional", "hasError", "completed", "closed"] }], animations: [madStepperAnimations.verticalStepTransition], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: StepperComponent, decorators: [{
138
- type: Component,
139
- args: [{ selector: 'mad-stepper', host: {
140
- '[class.stepper-vertical]': 'true',
141
- '[attr.aria-orientation]': '"vertical"',
142
- role: 'tablist',
143
- }, animations: [madStepperAnimations.verticalStepTransition], providers: [{ provide: CdkStepper, useExisting: StepperComponent }], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Vertical stepper -->\n<ng-container>\n <div *ngFor=\"let step of steps; let i = index; let isLast = last; let isFirst = first\">\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step: step, i: i}\"></ng-container>\n <div class=\"vertical-content-container\" [class.mat-stepper-vertical-line]=\"!isLast\">\n <div class=\"vertical-stepper-content\" role=\"tabpanel\"\n [@stepTransition]=\"_getAnimationDirection(i)\"\n (@stepTransition.done)=\"_animationDone.next($event)\"\n [id]=\"_getStepContentId(i)\"\n [attr.aria-labelledby]=\"_getStepLabelId(i)\"\n [attr.aria-expanded]=\"selectedIndex === i\">\n <div class=\"vertical-content\">\n <ng-container [ngTemplateOutlet]=\"step.content\"\n [ngTemplateOutletContext]=\"{step: step, i: i, last: isLast, first: isFirst, nextBtnLbl: this.nextButtonLabel, doneBtnLbl: this.doneButtonLabel}\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template let-step=\"step\" let-i=\"i\" #stepTemplate>\n <mad-step-header\n class=\"mat-vertical-stepper-header\"\n (click)=\"step.selectAndMarkAsTouched(i)\"\n (keydown)=\"_onKeydown($event)\"\n [tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\n [id]=\"_getStepLabelId(i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"steps.length\"\n [attr.aria-controls]=\"_getStepContentId(i)\"\n [attr.aria-selected]=\"selectedIndex == i\"\n [attr.aria-label]=\"step.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\n [attr.aria-disabled]=\"_stepIsNavigable(i, step) ? null : true\"\n [index]=\"i\"\n [completed]=\"step.completed\"\n [hasError]=\"step.hasError\"\n [state]=\"_getIndicatorType(i, step.state)\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"selectedIndex === i\"\n [active]=\"_stepIsNavigable(i, step)\"\n [optional]=\"step.optional\"\n [closed]=\"step.stepClosed\"\n [errorMessage]=\"step.errorMessage\"></mad-step-header>\n</ng-template>\n", styles: [".stepper-vertical{display:block}.mat-vertical-stepper-header{display:flex;align-items:center;border:none!important;height:10px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}.vertical-content-container{border:none}[dir=rtl] .vertical-content-container{margin-left:0;margin-right:36px}.vertical-stepper-content{overflow:hidden;outline:0}.vertical-content{padding:0 24px}.step-container{border-left:1px solid lightgrey;border-right:1px solid lightgrey;border-bottom:1px solid lightgrey;display:flex;flex-direction:column}.step-content,.step-buttons{padding:2em}\n"] }]
144
- }], ctorParameters: function () { return [{ type: i3.Directionality, decorators: [{
145
- type: Optional
146
- }] }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { animationDone: [{
147
- type: Output
148
- }], nextButtonLabel: [{
149
- type: Input
150
- }], doneButtonLabel: [{
151
- type: Input
152
- }], _stepHeader: [{
153
- type: ViewChildren,
154
- args: [StepHeaderComponent]
155
- }], _steps: [{
156
- type: ContentChildren,
157
- args: [StepComponent, { descendants: true }]
158
- }] } });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvc3RlcHBlci9zdGVwLmNvbXBvbmVudC5odG1sIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBMkIsTUFBTSxzQkFBc0IsQ0FBQztBQUUvRixPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksRUFFWixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7O0FBVTdELE1BQU0sT0FBTyxhQUFjLFNBQVEsT0FBTztJQWlCeEMsWUFBZ0UsT0FBeUIsRUFBVSxpQkFBbUM7UUFDcEksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRCtDLFlBQU8sR0FB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TyxNQUFNLENBQUM7U0FDZjtRQUNELE9BQU8sS0FBSyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsSUFBbUI7UUFDakQsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN4RSxDQUFDOzs2R0FsRVUsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsK1NBSmhCLENBQUMsRUFBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBQyxDQUFDLGlEQWlCaEQsYUFBYSxnRkFIaEIsbUJBQW1CLHVFRXhKbkMsNjZFQStDQSxxbUNGeUZjLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUM7MkZBTTlDLGdCQUFnQjtrQkFmNUIsU0FBUzsrQkFDRSxhQUFhLFFBR2pCO3dCQUNKLDBCQUEwQixFQUFFLE1BQU07d0JBQ2xDLHlCQUF5QixFQUFFLFlBQVk7d0JBQ3ZDLElBQUksRUFBRSxTQUFTO3FCQUNoQixjQUNXLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsYUFFOUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxrQkFBa0IsRUFBQyxDQUFDLGlCQUNsRCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkF1QjVDLFFBQVE7cUdBbkJRLGFBQWE7c0JBQS9CLE1BQU07Z0JBR1AsZUFBZTtzQkFEZCxLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFHNkIsV0FBVztzQkFBN0MsWUFBWTt1QkFBQyxtQkFBbUI7Z0JBR29CLE1BQU07c0JBQTFELGVBQWU7dUJBQUMsYUFBYSxFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aW9uYWxpdHl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7Q2RrU3RlcCwgQ2RrU3RlcHBlciwgU1RFUF9TVEFURSwgU3RlcENvbnRlbnRQb3NpdGlvblN0YXRlfSBmcm9tICdAYW5ndWxhci9jZGsvc3RlcHBlcic7XG5pbXBvcnQge0FuaW1hdGlvbkV2ZW50fSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkcmVuLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1N1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtTdGVwSGVhZGVyQ29tcG9uZW50fSBmcm9tICcuL3N0ZXAtaGVhZGVyL3N0ZXAtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge21hZFN0ZXBwZXJBbmltYXRpb25zfSBmcm9tICcuL21hZC1zdGVwcGVyLWFuaW1hdGlvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hZC1zdGVwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0ZXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGVwcGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3twcm92aWRlOiBDZGtTdGVwLCB1c2VFeGlzdGluZzogU3RlcENvbXBvbmVudH1dLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU3RlcENvbXBvbmVudCBleHRlbmRzIENka1N0ZXAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAvKiogQWN0aW9uIGV2ZW50IGZvciB0aGUgbmV4dCBidXR0b24uIElmIG5vdCBzZXQgdGhlIFN0ZXBDb21wb25lbnQgd2lsbCBoYW5kbGUgdGhlIHN0ZXAgbmF2aWdhdGlvbiAqL1xuICBAT3V0cHV0KClcbiAgb25OZXh0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgLyoqIEFjdGlvbiBldmVudCBmb3IgdGhlIGRvbmUgYnV0dG9uLiBJZiBub3Qgc2V0IHRoZSBTdGVwQ29tcG9uZW50IHdpbGwgaGFuZGxlIHRoZSBzdGVwIG5hdmlnYXRpb24gICovXG4gIEBPdXRwdXQoKVxuICBvbkRvbmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAvKioqIEFjdGlvbiBldmVudCB3aGVuIHRoZSBoZWFkZXIgaXMgY2xpY2tlZC4gSWYgbm90IHNldCB0aGUgU3RlcENvbXBvbmVudCB3aWxsIGhhbmRsZSB0aGUgc3RlcCBuYXZpZ2F0aW9uKi9cbiAgQE91dHB1dCgpXG4gIG9uSGVhZGVyQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBzdGVwQ2xvc2VkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfaXNTZWxlY3RlZCA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gU3RlcHBlckNvbXBvbmVudCkpIHByaXZhdGUgc3RlcHBlcjogU3RlcHBlckNvbXBvbmVudCwgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xuICAgIHN1cGVyKHN0ZXBwZXIpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuX2lzU2VsZWN0ZWQgPSB0aGlzLl9zdGVwcGVyLnN0ZXBzLmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICB0aGlzLl9zdGVwcGVyLnNlbGVjdGlvbkNoYW5nZS5waXBlKFxuICAgICAgICAgICAgbWFwKGV2ZW50ID0+IGV2ZW50LnNlbGVjdGVkU3RlcCA9PT0gdGhpcyksXG4gICAgICAgICAgICB0YXAoKCkgPT4gKHRoaXMuc3RlcENsb3NlZCA9IGZhbHNlKSksXG4gICAgICAgICAgICBzdGFydFdpdGgodGhpcy5fc3RlcHBlci5zZWxlY3RlZCA9PT0gdGhpcyksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2lzU2VsZWN0ZWQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5leHQobWFya0Zvcm1Bc1RvdWNoZWQgPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5zdGVwVmFsaWRhdGlvbihtYXJrRm9ybUFzVG91Y2hlZCk7XG5cbiAgICBpZiAodGhpcy5vbk5leHQub2JzZXJ2ZXJzLmxlbmd0aCA8PSAwKSB7XG4gICAgICB0aGlzLnN0ZXBwZXIubmV4dCgpO1xuICAgIH1cbiAgICB0aGlzLm9uTmV4dC5lbWl0KCk7XG4gIH1cblxuICBzZWxlY3RBbmRNYXJrQXNUb3VjaGVkKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAvL01hcmsgY3VycmVudCBzZWxlY3RlZCBzdGVwIGFzIHRvdWNoZWQgYmVmb3JlIHNlbGVjdGluZyB0byBkaXNwbGF5IGVycm9ycyBpbiB0aGUgZnJvbVxuICAgIHRoaXMuX3N0ZXBwZXIuc2VsZWN0ZWQ/LnN0ZXBDb250cm9sPy5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgdGhpcy5zdGVwQ2xvc2VkID0gZmFsc2U7XG4gICAgaWYgKHRoaXMub25IZWFkZXJDbGljay5vYnNlcnZlcnMubGVuZ3RoIDw9IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0KCk7XG4gICAgfVxuICAgIHRoaXMub25IZWFkZXJDbGljay5lbWl0KGluZGV4KTtcbiAgfVxuXG4gIGNvbXBsZXRlTGFzdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBWYWxpZGF0aW9uKHRydWUpO1xuICAgIHRoaXMuc3RlcENsb3NlZCA9IHRydWU7XG5cbiAgICBpZiAodGhpcy5vbkRvbmUub2JzZXJ2ZXJzLmxlbmd0aCA8PSAwKSB7XG4gICAgICB0aGlzLnN0ZXBwZXIubmV4dCgpO1xuICAgIH1cblxuICAgIHRoaXMub25Eb25lLmVtaXQoKTtcbiAgfVxuXG4gIHJlc2V0VmFsaWRhdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5oYXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuY29tcGxldGVkID0gdHJ1ZTtcbiAgICB0aGlzLnN0YXRlID0gU1RFUF9TVEFURS5ET05FO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGVwVmFsaWRhdGlvbihtYXJrRm9ybUFzVG91Y2hlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChtYXJrRm9ybUFzVG91Y2hlZCkge1xuICAgICAgdGhpcy5zdGVwQ29udHJvbD8ubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zdGVwQ29udHJvbD8udmFsaWQpIHtcbiAgICAgIHRoaXMuaGFzRXJyb3IgPSBmYWxzZTtcbiAgICAgIHRoaXMuY29tcGxldGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuc3RhdGUgPSBTVEVQX1NUQVRFLkRPTkU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29tcGxldGVkID0gZmFsc2U7XG4gICAgICB0aGlzLmhhc0Vycm9yID0gdHJ1ZTtcbiAgICAgIHRoaXMuc3RhdGUgPSBTVEVQX1NUQVRFLkVSUk9SO1xuICAgIH1cbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWQtc3RlcHBlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGVwcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RlcHBlci5jb21wb25lbnQuc2NzcyddLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5zdGVwcGVyLXZlcnRpY2FsXSc6ICd0cnVlJyxcbiAgICAnW2F0dHIuYXJpYS1vcmllbnRhdGlvbl0nOiAnXCJ2ZXJ0aWNhbFwiJyxcbiAgICByb2xlOiAndGFibGlzdCcsXG4gIH0sXG4gIGFuaW1hdGlvbnM6IFttYWRTdGVwcGVyQW5pbWF0aW9ucy52ZXJ0aWNhbFN0ZXBUcmFuc2l0aW9uXSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZVxuICBwcm92aWRlcnM6IFt7cHJvdmlkZTogQ2RrU3RlcHBlciwgdXNlRXhpc3Rpbmc6IFN0ZXBwZXJDb21wb25lbnR9XSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFN0ZXBwZXJDb21wb25lbnQgZXh0ZW5kcyBDZGtTdGVwcGVyIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY3VycmVudCBzdGVwIGlzIGRvbmUgdHJhbnNpdGlvbmluZyBpbi4gKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IGFuaW1hdGlvbkRvbmU6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBASW5wdXQoKVxuICBuZXh0QnV0dG9uTGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBkb25lQnV0dG9uTGFiZWw6IHN0cmluZztcbiAgLyoqIFN0ZXAgaGVhZGVycyBvZiBhbGwgc3RlcHMgaW5zaWRlIHRoZSBzdGVwcGVyICovXG4gIEBWaWV3Q2hpbGRyZW4oU3RlcEhlYWRlckNvbXBvbmVudCkgX3N0ZXBIZWFkZXI6IFF1ZXJ5TGlzdDxTdGVwSGVhZGVyQ29tcG9uZW50PjtcblxuICAvKiogU3RlcHMgaW5zaWRlIHRoZSBTdGVwcGVyICovXG4gIEBDb250ZW50Q2hpbGRyZW4oU3RlcENvbXBvbmVudCwge2Rlc2NlbmRhbnRzOiB0cnVlfSkgX3N0ZXBzOiBRdWVyeUxpc3Q8U3RlcENvbXBvbmVudD47XG5cbiAgLyoqIFN0ZXBzIHRoYXQgYmVsb25nIHRvIHRoZSBjdXJyZW50IHN0ZXBwZXIsIGV4Y2x1ZGluZyBvbmVzIGZyb20gbmVzdGVkIHN0ZXBwZXJzLiAqL1xuICBzdGVwczogUXVlcnlMaXN0PFN0ZXBDb21wb25lbnQ+ID0gbmV3IFF1ZXJ5TGlzdDxTdGVwQ29tcG9uZW50PigpO1xuXG4gIHJlYWRvbmx5IF9hbmltYXRpb25Eb25lID0gbmV3IFN1YmplY3Q8QW5pbWF0aW9uRXZlbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgZGlyOiBEaXJlY3Rpb25hbGl0eSxcbiAgICBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICkge1xuICAgIHN1cGVyKGRpciwgY2hhbmdlRGV0ZWN0b3JSZWYsIGVsZW1lbnRSZWYpO1xuICAgIHRoaXMub3JpZW50YXRpb24gPSAndmVydGljYWwnO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gT25seSBsaW5lYXIgc3RlcHBlciBpbXBsZW1lbnRhdGlvbiBpcyBzdXBwb3J0ZWRcbiAgICBzdXBlci5saW5lYXIgPSB0cnVlO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJDb250ZW50SW5pdCgpO1xuXG4gICAgdGhpcy5zdGVwcy5jaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl9zdGF0ZUNoYW5nZWQoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX2FuaW1hdGlvbkRvbmVcbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoeCwgeSkgPT4geC5mcm9tU3RhdGUgPT09IHkuZnJvbVN0YXRlICYmIHgudG9TdGF0ZSA9PT0geS50b1N0YXRlKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKChldmVudC50b1N0YXRlIGFzIFN0ZXBDb250ZW50UG9zaXRpb25TdGF0ZSkgPT09ICdjdXJyZW50Jykge1xuICAgICAgICAgIHRoaXMuYW5pbWF0aW9uRG9uZS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCBwYXRjaGVkIHRvIGVuYWJsZSB0aGUgY2xvc2luZyBvZiB0aGUgbGFzdCBzdGVwLlxuICAgKi9cbiAgX2dldEFuaW1hdGlvbkRpcmVjdGlvbihpbmRleDogbnVtYmVyKTogU3RlcENvbnRlbnRQb3NpdGlvblN0YXRlIHtcbiAgICBjb25zdCBjbG9zZUxhc3RTdGVwID0gdGhpcy5zZWxlY3RlZEluZGV4ID09PSB0aGlzLnN0ZXBzLmxlbmd0aCAtIDEgJiYgdGhpcy5fc3RlcHMubGFzdD8uY29tcGxldGVkICYmIHRoaXMuX3N0ZXBzLmxhc3Q/LnN0ZXBDbG9zZWQ7XG4gICAgaWYgKGNsb3NlTGFzdFN0ZXApIHtcbiAgICAgIHJldHVybiAnbmV4dCc7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5fZ2V0QW5pbWF0aW9uRGlyZWN0aW9uKGluZGV4KTtcbiAgfVxuXG4gIF9zdGVwSXNOYXZpZ2FibGUoaW5kZXg6IG51bWJlciwgc3RlcDogU3RlcENvbXBvbmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdGVwLmNvbXBsZXRlZCB8fCB0aGlzLnNlbGVjdGVkSW5kZXggPT09IGluZGV4IHx8ICF0aGlzLmxpbmVhcjtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlIGxldC1sYXN0PVwibGFzdFwiIGxldC1uZXh0QnRuTGJsPVwibmV4dEJ0bkxibFwiIGxldC1kb25lQnRuTGJsPVwiZG9uZUJ0bkxibFwiPlxuICAgIDxkaXYgY2xhc3M9XCJzdGVwLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcC1jb250ZW50XCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcC1idXR0b25zXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhbGFzdFwiPlxuICAgICAgICAgICAgPG1hZC1wcmltYXJ5LWJ1dHRvbiAoY2xpY2spPVwibmV4dCgpXCI+e3tuZXh0QnRuTGJsfX08L21hZC1wcmltYXJ5LWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJsYXN0XCI+XG4gICAgICAgICAgICA8bWFkLXByaW1hcnktYnV0dG9uIChjbGljayk9XCJjb21wbGV0ZUxhc3QoKVwiPnt7ZG9uZUJ0bkxibH19PC9tYWQtcHJpbWFyeS1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iLCI8IS0tIFZlcnRpY2FsIHN0ZXBwZXIgLS0+XG48bmctY29udGFpbmVyPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHN0ZXAgb2Ygc3RlcHM7IGxldCBpID0gaW5kZXg7IGxldCBpc0xhc3QgPSBsYXN0OyBsZXQgaXNGaXJzdCA9IGZpcnN0XCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJzdGVwVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7c3RlcDogc3RlcCwgaTogaX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZlcnRpY2FsLWNvbnRlbnQtY29udGFpbmVyXCIgW2NsYXNzLm1hdC1zdGVwcGVyLXZlcnRpY2FsLWxpbmVdPVwiIWlzTGFzdFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZlcnRpY2FsLXN0ZXBwZXItY29udGVudFwiIHJvbGU9XCJ0YWJwYW5lbFwiXG4gICAgICAgICAgICAgICAgIFtAc3RlcFRyYW5zaXRpb25dPVwiX2dldEFuaW1hdGlvbkRpcmVjdGlvbihpKVwiXG4gICAgICAgICAgICAgICAgIChAc3RlcFRyYW5zaXRpb24uZG9uZSk9XCJfYW5pbWF0aW9uRG9uZS5uZXh0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICBbaWRdPVwiX2dldFN0ZXBDb250ZW50SWQoaSlcIlxuICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiX2dldFN0ZXBMYWJlbElkKGkpXCJcbiAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJzZWxlY3RlZEluZGV4ID09PSBpXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZlcnRpY2FsLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzdGVwLmNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7c3RlcDogc3RlcCwgaTogaSwgbGFzdDogaXNMYXN0LCBmaXJzdDogaXNGaXJzdCwgbmV4dEJ0bkxibDogdGhpcy5uZXh0QnV0dG9uTGFiZWwsIGRvbmVCdG5MYmw6IHRoaXMuZG9uZUJ1dHRvbkxhYmVsfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSBsZXQtc3RlcD1cInN0ZXBcIiBsZXQtaT1cImlcIiAjc3RlcFRlbXBsYXRlPlxuICAgIDxtYWQtc3RlcC1oZWFkZXJcbiAgICAgICAgICAgIGNsYXNzPVwibWF0LXZlcnRpY2FsLXN0ZXBwZXItaGVhZGVyXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzdGVwLnNlbGVjdEFuZE1hcmtBc1RvdWNoZWQoaSlcIlxuICAgICAgICAgICAgKGtleWRvd24pPVwiX29uS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgIFt0YWJJbmRleF09XCJfZ2V0Rm9jdXNJbmRleCgpID09PSBpID8gMCA6IC0xXCJcbiAgICAgICAgICAgIFtpZF09XCJfZ2V0U3RlcExhYmVsSWQoaSlcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1wb3NpbnNldF09XCJpICsgMVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLXNldHNpemVdPVwic3RlcHMubGVuZ3RoXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiX2dldFN0ZXBDb250ZW50SWQoaSlcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJzZWxlY3RlZEluZGV4ID09IGlcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzdGVwLmFyaWFMYWJlbCB8fCBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCIoIXN0ZXAuYXJpYUxhYmVsICYmIHN0ZXAuYXJpYUxhYmVsbGVkYnkpID8gc3RlcC5hcmlhTGFiZWxsZWRieSA6IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJfc3RlcElzTmF2aWdhYmxlKGksIHN0ZXApID8gbnVsbCA6IHRydWVcIlxuICAgICAgICAgICAgW2luZGV4XT1cImlcIlxuICAgICAgICAgICAgW2NvbXBsZXRlZF09XCJzdGVwLmNvbXBsZXRlZFwiXG4gICAgICAgICAgICBbaGFzRXJyb3JdPVwic3RlcC5oYXNFcnJvclwiXG4gICAgICAgICAgICBbc3RhdGVdPVwiX2dldEluZGljYXRvclR5cGUoaSwgc3RlcC5zdGF0ZSlcIlxuICAgICAgICAgICAgW2xhYmVsXT1cInN0ZXAuc3RlcExhYmVsIHx8IHN0ZXAubGFiZWxcIlxuICAgICAgICAgICAgW3NlbGVjdGVkXT1cInNlbGVjdGVkSW5kZXggPT09IGlcIlxuICAgICAgICAgICAgW2FjdGl2ZV09XCJfc3RlcElzTmF2aWdhYmxlKGksIHN0ZXApXCJcbiAgICAgICAgICAgIFtvcHRpb25hbF09XCJzdGVwLm9wdGlvbmFsXCJcbiAgICAgICAgICAgIFtjbG9zZWRdPVwic3RlcC5zdGVwQ2xvc2VkXCJcbiAgICAgICAgICAgIFtlcnJvck1lc3NhZ2VdPVwic3RlcC5lcnJvck1lc3NhZ2VcIj48L21hZC1zdGVwLWhlYWRlcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,23 +0,0 @@
1
- import { StepComponent, StepperComponent } from './stepper.component';
2
- import { StepHeaderComponent } from './step-header/step-header.component';
3
- import { CommonModule } from '@angular/common';
4
- import { MatButtonModule } from '@angular/material/button';
5
- import { MatIconModule } from '@angular/material/icon';
6
- import { NgModule } from '@angular/core';
7
- import { CdkStepperModule } from '@angular/cdk/stepper';
8
- import { ButtonModule } from "../button/button.module";
9
- import * as i0 from "@angular/core";
10
- export class StepperModule {
11
- }
12
- StepperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: StepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- StepperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: StepperModule, declarations: [StepperComponent, StepHeaderComponent, StepComponent], imports: [CommonModule, MatButtonModule, MatIconModule, CdkStepperModule, ButtonModule], exports: [StepperComponent, StepHeaderComponent, StepComponent] });
14
- StepperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: StepperModule, imports: [CommonModule, MatButtonModule, MatIconModule, CdkStepperModule, ButtonModule] });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: StepperModule, decorators: [{
16
- type: NgModule,
17
- args: [{
18
- declarations: [StepperComponent, StepHeaderComponent, StepComponent],
19
- imports: [CommonModule, MatButtonModule, MatIconModule, CdkStepperModule, ButtonModule],
20
- exports: [StepperComponent, StepHeaderComponent, StepComponent],
21
- }]
22
- }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9zdGVwcGVyL3N0ZXBwZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7QUFPckQsTUFBTSxPQUFPLGFBQWE7OzBHQUFiLGFBQWE7MkdBQWIsYUFBYSxpQkFKVCxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxhQUFhLGFBQ3ZELFlBQVksRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFlBQVksYUFDOUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsYUFBYTsyR0FFbkQsYUFBYSxZQUhaLFlBQVksRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFlBQVk7MkZBRzdFLGFBQWE7a0JBTHpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxDQUFDO29CQUNsRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLENBQUM7b0JBQ3pGLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGFBQWEsQ0FBQztpQkFDaEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGVwQ29tcG9uZW50LCBTdGVwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdGVwSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwLWhlYWRlci9zdGVwLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2RrU3RlcHBlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zdGVwcGVyJztcbmltcG9ydCB7QnV0dG9uTW9kdWxlfSBmcm9tIFwiLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGVcIjtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU3RlcHBlckNvbXBvbmVudCwgU3RlcEhlYWRlckNvbXBvbmVudCwgU3RlcENvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBDZGtTdGVwcGVyTW9kdWxlLCBCdXR0b25Nb2R1bGVdLFxuICBleHBvcnRzOiBbU3RlcHBlckNvbXBvbmVudCwgU3RlcEhlYWRlckNvbXBvbmVudCwgU3RlcENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFN0ZXBwZXJNb2R1bGUge31cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWhlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL3RhYmxlL2NvbHVtbi1oZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uSGVhZGVyIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgaXNTb3J0YWJsZT86IGJvb2xlYW47XG4gIGRhdGFQcm9wZXJ0eU5hbWU6IHN0cmluZztcbiAgaXNSaWdodEFsaWduZWQ/OiBib29sZWFuO1xuICBpc1N0aWNreT86IGJvb2xlYW47XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvdGFibGUvdGFibGUtYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFRhYmxlQWN0aW9uIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgYWN0aW9uOiBzdHJpbmc7XG4gIG91dHB1dFJvdz86IGFueTtcbn1cbiJdfQ==
@@ -1,130 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { MatTableDataSource } from '@angular/material/table';
3
- import { MatPaginator } from '@angular/material/paginator';
4
- import { MatSort } from '@angular/material/sort';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/material/icon";
8
- import * as i3 from "@angular/material/form-field";
9
- import * as i4 from "@angular/material/input";
10
- import * as i5 from "@angular/material/menu";
11
- import * as i6 from "@angular/material/paginator";
12
- import * as i7 from "@angular/material/sort";
13
- import * as i8 from "@angular/material/table";
14
- import * as i9 from "../button/primary-button/primary-button.component";
15
- import * as i10 from "../button/icon-button/icon-button.component";
16
- export class TableComponent {
17
- constructor() {
18
- this.columns = [];
19
- this.filterLabel = 'NOT SET';
20
- this.filterPlaceholder = 'NOT SET';
21
- this.pageSizeOptions = [5, 10, 15];
22
- this.defaultPageSize = this.pageSizeOptions?.[0] || 10;
23
- this.rowActions = [];
24
- this.tableActions = [];
25
- this.tableAction = new EventEmitter();
26
- this.rowAction = new EventEmitter();
27
- this.sortEvent = new EventEmitter();
28
- this.ACTION_COLUMN_NAME = '__action__';
29
- this.isFilterEnabled = false;
30
- this.isPaginationEnabled = false;
31
- }
32
- set displayedData(data) {
33
- if (!this.dataSource) {
34
- this.dataSource = new MatTableDataSource(data);
35
- }
36
- else {
37
- this.dataSource.data = data;
38
- }
39
- }
40
- set paginationEnabled(isPaginationEnabled) {
41
- this.isPaginationEnabled = isPaginationEnabled;
42
- // eslint-disable-next-line
43
- const pageSize = this.isPaginationEnabled ? this.defaultPageSize : Number.MAX_VALUE;
44
- if (this.dataSource.paginator) {
45
- this.dataSource.paginator.pageSize = pageSize;
46
- }
47
- }
48
- set filterEnabled(isFilterEnabled) {
49
- this.isFilterEnabled = isFilterEnabled;
50
- this.setFilterValue(undefined);
51
- }
52
- ngOnInit() {
53
- this.columnNames = this.columns.map(column => column.label);
54
- this.isRowClickable = this.rowActions.length > 0;
55
- if (this.isRowClickable) {
56
- this.columnNames.unshift(this.ACTION_COLUMN_NAME);
57
- this.defaultAction = this.rowActions[0];
58
- }
59
- }
60
- ngAfterViewInit() {
61
- this.dataSource.paginator = this.paginator;
62
- this.dataSource.sort = this.sort;
63
- // set custom filter predicate to enable search for multiple search strings:
64
- // e.g. "one two three"
65
- this.dataSource.filterPredicate = (data, filter) => !filter || filter.split(/\s+/).every(term => !!Object.keys(data).find(key => data[key].includes(term)));
66
- }
67
- onFilter(value) {
68
- this.setFilterValue(value);
69
- }
70
- onRowEvent(event, row, action = this.defaultAction) {
71
- if (!!action && !this.isClickOnRowMenuIcon(event)) {
72
- this.rowAction.emit({ ...action, outputRow: row });
73
- }
74
- }
75
- onSortingEvent(sortingParams) {
76
- this.sortEvent.emit(sortingParams);
77
- }
78
- onTableAction(tableAction) {
79
- if (!!tableAction) {
80
- this.tableAction.emit(tableAction);
81
- }
82
- }
83
- setFilterValue(value) {
84
- this.dataSource.filter = value?.trim().toLowerCase();
85
- }
86
- isClickOnRowMenuIcon(event) {
87
- return event?.target?.classList.contains('mat-icon');
88
- }
89
- }
90
- TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
91
- TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: TableComponent, selector: "mad-table", inputs: { columns: "columns", filterLabel: "filterLabel", filterPlaceholder: "filterPlaceholder", noDataText: "noDataText", pageSizeOptions: "pageSizeOptions", defaultPageSize: "defaultPageSize", rowActions: "rowActions", tableActions: "tableActions", displayedData: "displayedData", paginationEnabled: "paginationEnabled", filterEnabled: "filterEnabled" }, outputs: { tableAction: "tableAction", rowAction: "rowAction", sortEvent: "sortEvent" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<!-- Table actions -->\n<div *ngIf=\"tableActions?.length\">\n <mad-primary-button class=\"table-action\" *ngFor=\"let tableAction of tableActions\" (click)=\"onTableAction(tableAction)\">\n {{ tableAction.label }}\n </mad-primary-button>\n</div>\n\n<!-- Row action buttons -->\n<mat-menu #menu=\"matMenu\">\n <ng-template matMenuContent let-element=\"element\">\n <button *ngFor=\"let rowAction of rowActions\" mat-menu-item class=\"row-action\" (click)=\"onRowEvent($event, element, rowAction)\">\n {{ rowAction.label }}\n </button>\n </ng-template>\n</mat-menu>\n\n<!-- Table filter -->\n<mat-form-field *ngIf=\"isFilterEnabled\">\n <mat-label>{{ filterLabel }}</mat-label>\n <input matInput (keyup)=\"onFilter($event?.target?.value)\" placeholder=\"{{ filterPlaceholder }}\" />\n</mat-form-field>\n\n<!-- Table -->\n<div *ngIf=\"dataSource?.data?.length > 0; else noData\" class=\"mad-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"onSortingEvent($event)\">\n <!-- Row actions column -->\n <ng-container [matColumnDef]=\"ACTION_COLUMN_NAME\" *ngIf=\"rowActions?.length\" sticky>\n <th mat-header-cell *matHeaderCellDef class=\"row-action-button\"></th>\n <td mat-cell *matCellDef=\"let element\" class=\"row-action-button\">\n <mad-icon-button [matMenuTriggerData]=\"{ element: element }\" [matMenuTriggerFor]=\"menu\">\n <mat-icon>more_vert</mat-icon>\n </mad-icon-button>\n </td>\n </ng-container>\n <!-- Columns with data -->\n <ng-container *ngFor=\"let column of columns\" [matColumnDef]=\"column.label\" [sticky]=\"column.isSticky\">\n <ng-container *ngIf=\"column.isSortable; else noSort\">\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header=\"{{ column.label }}\"\n [arrowPosition]=\"column.isRightAligned ? 'before' : 'after'\"\n [class.text-right]=\"column.isRightAligned\"\n >\n {{ column.label }}\n </th>\n </ng-container>\n <ng-template #noSort>\n <th mat-header-cell *matHeaderCellDef [class.text-right]=\"column.isRightAligned\">\n {{ column.label }}\n </th>\n </ng-template>\n <td mat-cell *matCellDef=\"let element\" [class.text-right]=\"column.isRightAligned\">\n {{ element[column.dataPropertyName] }}\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"columnNames\"></tr>\n <tr\n mat-row\n [class.clickable-table-row]=\"isRowClickable\"\n (click)=\"onRowEvent($event, row)\"\n *matRowDef=\"let row; columns: columnNames\"\n ></tr>\n </table>\n</div>\n<!-- Pagination -->\n<mat-paginator\n [style.display]=\"isPaginationEnabled ? 'block' : 'none'\"\n [pageSize]=\"defaultPageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n showFirstLastButtons\n>\n</mat-paginator>\n\n<!-- No data alert -->\n<ng-template #noData>\n <div class=\"noDataText\">\n {{ noDataText }}\n </div>\n</ng-template>\n", styles: [".text-right{text-align:right!important}.table-action{margin-right:.5em;margin-bottom:.5em}.row-action-button{width:10px}.noDataText{width:100%;text-align:center}.mad-table{width:100%;overflow-x:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i6.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "directive", type: i7.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i7.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i8.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i8.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i8.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i8.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i8.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i8.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i8.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i8.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i8.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i8.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i9.PrimaryButtonComponent, selector: "mad-primary-button", inputs: ["type", "disabled", "title"] }, { kind: "component", type: i10.IconButtonComponent, selector: "mad-icon-button", inputs: ["type", "disabled", "title"] }] });
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TableComponent, decorators: [{
93
- type: Component,
94
- args: [{ selector: 'mad-table', template: "<!-- Table actions -->\n<div *ngIf=\"tableActions?.length\">\n <mad-primary-button class=\"table-action\" *ngFor=\"let tableAction of tableActions\" (click)=\"onTableAction(tableAction)\">\n {{ tableAction.label }}\n </mad-primary-button>\n</div>\n\n<!-- Row action buttons -->\n<mat-menu #menu=\"matMenu\">\n <ng-template matMenuContent let-element=\"element\">\n <button *ngFor=\"let rowAction of rowActions\" mat-menu-item class=\"row-action\" (click)=\"onRowEvent($event, element, rowAction)\">\n {{ rowAction.label }}\n </button>\n </ng-template>\n</mat-menu>\n\n<!-- Table filter -->\n<mat-form-field *ngIf=\"isFilterEnabled\">\n <mat-label>{{ filterLabel }}</mat-label>\n <input matInput (keyup)=\"onFilter($event?.target?.value)\" placeholder=\"{{ filterPlaceholder }}\" />\n</mat-form-field>\n\n<!-- Table -->\n<div *ngIf=\"dataSource?.data?.length > 0; else noData\" class=\"mad-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"onSortingEvent($event)\">\n <!-- Row actions column -->\n <ng-container [matColumnDef]=\"ACTION_COLUMN_NAME\" *ngIf=\"rowActions?.length\" sticky>\n <th mat-header-cell *matHeaderCellDef class=\"row-action-button\"></th>\n <td mat-cell *matCellDef=\"let element\" class=\"row-action-button\">\n <mad-icon-button [matMenuTriggerData]=\"{ element: element }\" [matMenuTriggerFor]=\"menu\">\n <mat-icon>more_vert</mat-icon>\n </mad-icon-button>\n </td>\n </ng-container>\n <!-- Columns with data -->\n <ng-container *ngFor=\"let column of columns\" [matColumnDef]=\"column.label\" [sticky]=\"column.isSticky\">\n <ng-container *ngIf=\"column.isSortable; else noSort\">\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header=\"{{ column.label }}\"\n [arrowPosition]=\"column.isRightAligned ? 'before' : 'after'\"\n [class.text-right]=\"column.isRightAligned\"\n >\n {{ column.label }}\n </th>\n </ng-container>\n <ng-template #noSort>\n <th mat-header-cell *matHeaderCellDef [class.text-right]=\"column.isRightAligned\">\n {{ column.label }}\n </th>\n </ng-template>\n <td mat-cell *matCellDef=\"let element\" [class.text-right]=\"column.isRightAligned\">\n {{ element[column.dataPropertyName] }}\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"columnNames\"></tr>\n <tr\n mat-row\n [class.clickable-table-row]=\"isRowClickable\"\n (click)=\"onRowEvent($event, row)\"\n *matRowDef=\"let row; columns: columnNames\"\n ></tr>\n </table>\n</div>\n<!-- Pagination -->\n<mat-paginator\n [style.display]=\"isPaginationEnabled ? 'block' : 'none'\"\n [pageSize]=\"defaultPageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n showFirstLastButtons\n>\n</mat-paginator>\n\n<!-- No data alert -->\n<ng-template #noData>\n <div class=\"noDataText\">\n {{ noDataText }}\n </div>\n</ng-template>\n", styles: [".text-right{text-align:right!important}.table-action{margin-right:.5em;margin-bottom:.5em}.row-action-button{width:10px}.noDataText{width:100%;text-align:center}.mad-table{width:100%;overflow-x:auto}\n"] }]
95
- }], propDecorators: { columns: [{
96
- type: Input
97
- }], filterLabel: [{
98
- type: Input
99
- }], filterPlaceholder: [{
100
- type: Input
101
- }], noDataText: [{
102
- type: Input
103
- }], pageSizeOptions: [{
104
- type: Input
105
- }], defaultPageSize: [{
106
- type: Input
107
- }], rowActions: [{
108
- type: Input
109
- }], tableActions: [{
110
- type: Input
111
- }], tableAction: [{
112
- type: Output
113
- }], rowAction: [{
114
- type: Output
115
- }], sortEvent: [{
116
- type: Output
117
- }], paginator: [{
118
- type: ViewChild,
119
- args: [MatPaginator, { static: false }]
120
- }], sort: [{
121
- type: ViewChild,
122
- args: [MatSort, { static: true }]
123
- }], displayedData: [{
124
- type: Input
125
- }], paginationEnabled: [{
126
- type: Input
127
- }], filterEnabled: [{
128
- type: Input
129
- }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFRLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7OztBQVN2RCxNQUFNLE9BQU8sY0FBYztJQUwzQjtRQU1XLFlBQU8sR0FBbUIsRUFBRSxDQUFDO1FBQzdCLGdCQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ3hCLHNCQUFpQixHQUFHLFNBQVMsQ0FBQztRQUU5QixvQkFBZSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QixvQkFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEQsZUFBVSxHQUFrQixFQUFFLENBQUM7UUFDL0IsaUJBQVksR0FBa0IsRUFBRSxDQUFDO1FBRWhDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUM5QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUM1QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUt0Qyx1QkFBa0IsR0FBRyxZQUFZLENBQUM7UUFLM0Msb0JB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VUYsYUFBYTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IE1hdFNvcnQsIFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IENvbHVtbkhlYWRlciB9IGZyb20gJy4vY29sdW1uLWhlYWRlcic7XG5pbXBvcnQgeyBUYWJsZUFjdGlvbiB9IGZyb20gJy4vdGFibGUtYWN0aW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFkLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBjb2x1bW5zOiBDb2x1bW5IZWFkZXJbXSA9IFtdO1xuICBASW5wdXQoKSBmaWx0ZXJMYWJlbCA9ICdOT1QgU0VUJztcbiAgQElucHV0KCkgZmlsdGVyUGxhY2Vob2xkZXIgPSAnTk9UIFNFVCc7XG4gIEBJbnB1dCgpIG5vRGF0YVRleHQ6IHN0cmluZztcbiAgQElucHV0KCkgcGFnZVNpemVPcHRpb25zID0gWzUsIDEwLCAxNV07XG4gIEBJbnB1dCgpIGRlZmF1bHRQYWdlU2l6ZSA9IHRoaXMucGFnZVNpemVPcHRpb25zPy5bMF0gfHwgMTA7XG4gIEBJbnB1dCgpIHJvd0FjdGlvbnM6IFRhYmxlQWN0aW9uW10gPSBbXTtcbiAgQElucHV0KCkgdGFibGVBY3Rpb25zOiBUYWJsZUFjdGlvbltdID0gW107XG5cbiAgQE91dHB1dCgpIHRhYmxlQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxUYWJsZUFjdGlvbj4oKTtcbiAgQE91dHB1dCgpIHJvd0FjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8VGFibGVBY3Rpb24+KCk7XG4gIEBPdXRwdXQoKSBzb3J0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFNvcnQ+KCk7XG5cbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IsIHsgc3RhdGljOiBmYWxzZSB9KSBwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogdHJ1ZSB9KSBzb3J0OiBNYXRTb3J0O1xuXG4gIHJlYWRvbmx5IEFDVElPTl9DT0xVTU5fTkFNRSA9ICdfX2FjdGlvbl9fJztcbiAgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPGFueVtdPjtcbiAgY29sdW1uTmFtZXM6IHN0cmluZ1tdO1xuICBpc1Jvd0NsaWNrYWJsZTogYm9vbGVhbjtcbiAgZGVmYXVsdEFjdGlvbjogVGFibGVBY3Rpb247XG4gIGlzRmlsdGVyRW5hYmxlZCA9IGZhbHNlO1xuICBpc1BhZ2luYXRpb25FbmFibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgc2V0IGRpc3BsYXllZERhdGEoZGF0YTogYW55W10pIHtcbiAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZSkge1xuICAgICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZTxhbnk+KGRhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IGRhdGE7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgc2V0IHBhZ2luYXRpb25FbmFibGVkKGlzUGFnaW5hdGlvbkVuYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzUGFnaW5hdGlvbkVuYWJsZWQgPSBpc1BhZ2luYXRpb25FbmFibGVkO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIGNvbnN0IHBhZ2VTaXplID0gdGhpcy5pc1BhZ2luYXRpb25FbmFibGVkID8gdGhpcy5kZWZhdWx0UGFnZVNpemUgOiBOdW1iZXIuTUFYX1ZBTFVFO1xuICAgIGlmICh0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yKSB7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yLnBhZ2VTaXplID0gcGFnZVNpemU7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGZpbHRlckVuYWJsZWQoaXNGaWx0ZXJFbmFibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0ZpbHRlckVuYWJsZWQgPSBpc0ZpbHRlckVuYWJsZWQ7XG4gICAgdGhpcy5zZXRGaWx0ZXJWYWx1ZSh1bmRlZmluZWQpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb2x1bW5OYW1lcyA9IHRoaXMuY29sdW1ucy5tYXAoY29sdW1uID0+IGNvbHVtbi5sYWJlbCk7XG4gICAgdGhpcy5pc1Jvd0NsaWNrYWJsZSA9IHRoaXMucm93QWN0aW9ucy5sZW5ndGggPiAwO1xuICAgIGlmICh0aGlzLmlzUm93Q2xpY2thYmxlKSB7XG4gICAgICB0aGlzLmNvbHVtbk5hbWVzLnVuc2hpZnQodGhpcy5BQ1RJT05fQ09MVU1OX05BTUUpO1xuICAgICAgdGhpcy5kZWZhdWx0QWN0aW9uID0gdGhpcy5yb3dBY3Rpb25zWzBdO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XG4gICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XG4gICAgLy8gc2V0IGN1c3RvbSBmaWx0ZXIgcHJlZGljYXRlIHRvIGVuYWJsZSBzZWFyY2ggZm9yIG11bHRpcGxlIHNlYXJjaCBzdHJpbmdzOlxuICAgIC8vIGUuZy4gXCJvbmUgdHdvIHRocmVlXCJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyUHJlZGljYXRlID0gKGRhdGE6IGFueSwgZmlsdGVyOiBzdHJpbmcpOiBhbnkgPT5cbiAgICAgICFmaWx0ZXIgfHwgZmlsdGVyLnNwbGl0KC9cXHMrLykuZXZlcnkodGVybSA9PiAhIU9iamVjdC5rZXlzKGRhdGEpLmZpbmQoa2V5ID0+IGRhdGFba2V5XS5pbmNsdWRlcyh0ZXJtKSkpO1xuICB9XG5cbiAgb25GaWx0ZXIodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2V0RmlsdGVyVmFsdWUodmFsdWUpO1xuICB9XG5cbiAgb25Sb3dFdmVudChldmVudDogTW91c2VFdmVudCwgcm93OiBhbnksIGFjdGlvbiA9IHRoaXMuZGVmYXVsdEFjdGlvbik6IHZvaWQge1xuICAgIGlmICghIWFjdGlvbiAmJiAhdGhpcy5pc0NsaWNrT25Sb3dNZW51SWNvbihldmVudCkpIHtcbiAgICAgIHRoaXMucm93QWN0aW9uLmVtaXQoeyAuLi5hY3Rpb24sIG91dHB1dFJvdzogcm93IH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uU29ydGluZ0V2ZW50KHNvcnRpbmdQYXJhbXM6IFNvcnQpOiB2b2lkIHtcbiAgICB0aGlzLnNvcnRFdmVudC5lbWl0KHNvcnRpbmdQYXJhbXMpO1xuICB9XG5cbiAgb25UYWJsZUFjdGlvbih0YWJsZUFjdGlvbjogVGFibGVBY3Rpb24pOiB2b2lkIHtcbiAgICBpZiAoISF0YWJsZUFjdGlvbikge1xuICAgICAgdGhpcy50YWJsZUFjdGlvbi5lbWl0KHRhYmxlQWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEZpbHRlclZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gdmFsdWU/LnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NsaWNrT25Sb3dNZW51SWNvbihldmVudDogTW91c2VFdmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoZXZlbnQ/LnRhcmdldCBhcyBIVE1MRWxlbWVudCk/LmNsYXNzTGlzdC5jb250YWlucygnbWF0LWljb24nKTtcbiAgfVxufVxuIiwiPCEtLSBUYWJsZSBhY3Rpb25zIC0tPlxuPGRpdiAqbmdJZj1cInRhYmxlQWN0aW9ucz8ubGVuZ3RoXCI+XG4gIDxtYWQtcHJpbWFyeS1idXR0b24gY2xhc3M9XCJ0YWJsZS1hY3Rpb25cIiAqbmdGb3I9XCJsZXQgdGFibGVBY3Rpb24gb2YgdGFibGVBY3Rpb25zXCIgKGNsaWNrKT1cIm9uVGFibGVBY3Rpb24odGFibGVBY3Rpb24pXCI+XG4gICAge3sgdGFibGVBY3Rpb24ubGFiZWwgfX1cbiAgPC9tYWQtcHJpbWFyeS1idXR0b24+XG48L2Rpdj5cblxuPCEtLSBSb3cgYWN0aW9uIGJ1dHRvbnMgLS0+XG48bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XG4gIDxuZy10ZW1wbGF0ZSBtYXRNZW51Q29udGVudCBsZXQtZWxlbWVudD1cImVsZW1lbnRcIj5cbiAgICA8YnV0dG9uICpuZ0Zvcj1cImxldCByb3dBY3Rpb24gb2Ygcm93QWN0aW9uc1wiIG1hdC1tZW51LWl0ZW0gY2xhc3M9XCJyb3ctYWN0aW9uXCIgKGNsaWNrKT1cIm9uUm93RXZlbnQoJGV2ZW50LCBlbGVtZW50LCByb3dBY3Rpb24pXCI+XG4gICAgICB7eyByb3dBY3Rpb24ubGFiZWwgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbWF0LW1lbnU+XG5cbjwhLS0gVGFibGUgZmlsdGVyIC0tPlxuPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiaXNGaWx0ZXJFbmFibGVkXCI+XG4gIDxtYXQtbGFiZWw+e3sgZmlsdGVyTGFiZWwgfX08L21hdC1sYWJlbD5cbiAgPGlucHV0IG1hdElucHV0IChrZXl1cCk9XCJvbkZpbHRlcigkZXZlbnQ/LnRhcmdldD8udmFsdWUpXCIgcGxhY2Vob2xkZXI9XCJ7eyBmaWx0ZXJQbGFjZWhvbGRlciB9fVwiIC8+XG48L21hdC1mb3JtLWZpZWxkPlxuXG48IS0tIFRhYmxlIC0tPlxuPGRpdiAqbmdJZj1cImRhdGFTb3VyY2U/LmRhdGE/Lmxlbmd0aCA+IDA7IGVsc2Ugbm9EYXRhXCIgY2xhc3M9XCJtYWQtdGFibGVcIj5cbiAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIgbWF0U29ydCAobWF0U29ydENoYW5nZSk9XCJvblNvcnRpbmdFdmVudCgkZXZlbnQpXCI+XG4gICAgPCEtLSBSb3cgYWN0aW9ucyBjb2x1bW4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cIkFDVElPTl9DT0xVTU5fTkFNRVwiICpuZ0lmPVwicm93QWN0aW9ucz8ubGVuZ3RoXCIgc3RpY2t5PlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz1cInJvdy1hY3Rpb24tYnV0dG9uXCI+PC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCIgY2xhc3M9XCJyb3ctYWN0aW9uLWJ1dHRvblwiPlxuICAgICAgICA8bWFkLWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckRhdGFdPVwieyBlbGVtZW50OiBlbGVtZW50IH1cIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICA8L21hZC1pY29uLWJ1dHRvbj5cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPCEtLSBDb2x1bW5zIHdpdGggZGF0YSAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uc1wiIFttYXRDb2x1bW5EZWZdPVwiY29sdW1uLmxhYmVsXCIgW3N0aWNreV09XCJjb2x1bW4uaXNTdGlja3lcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4uaXNTb3J0YWJsZTsgZWxzZSBub1NvcnRcIj5cbiAgICAgICAgPHRoXG4gICAgICAgICAgbWF0LWhlYWRlci1jZWxsXG4gICAgICAgICAgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICBtYXQtc29ydC1oZWFkZXI9XCJ7eyBjb2x1bW4ubGFiZWwgfX1cIlxuICAgICAgICAgIFthcnJvd1Bvc2l0aW9uXT1cImNvbHVtbi5pc1JpZ2h0QWxpZ25lZCA/ICdiZWZvcmUnIDogJ2FmdGVyJ1wiXG4gICAgICAgICAgW2NsYXNzLnRleHQtcmlnaHRdPVwiY29sdW1uLmlzUmlnaHRBbGlnbmVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGNvbHVtbi5sYWJlbCB9fVxuICAgICAgICA8L3RoPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI25vU29ydD5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBbY2xhc3MudGV4dC1yaWdodF09XCJjb2x1bW4uaXNSaWdodEFsaWduZWRcIj5cbiAgICAgICAgICB7eyBjb2x1bW4ubGFiZWwgfX1cbiAgICAgICAgPC90aD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIFtjbGFzcy50ZXh0LXJpZ2h0XT1cImNvbHVtbi5pc1JpZ2h0QWxpZ25lZFwiPlxuICAgICAgICB7eyBlbGVtZW50W2NvbHVtbi5kYXRhUHJvcGVydHlOYW1lXSB9fVxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImNvbHVtbk5hbWVzXCI+PC90cj5cbiAgICA8dHJcbiAgICAgIG1hdC1yb3dcbiAgICAgIFtjbGFzcy5jbGlja2FibGUtdGFibGUtcm93XT1cImlzUm93Q2xpY2thYmxlXCJcbiAgICAgIChjbGljayk9XCJvblJvd0V2ZW50KCRldmVudCwgcm93KVwiXG4gICAgICAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogY29sdW1uTmFtZXNcIlxuICAgID48L3RyPlxuICA8L3RhYmxlPlxuPC9kaXY+XG48IS0tIFBhZ2luYXRpb24gLS0+XG48bWF0LXBhZ2luYXRvclxuICBbc3R5bGUuZGlzcGxheV09XCJpc1BhZ2luYXRpb25FbmFibGVkID8gJ2Jsb2NrJyA6ICdub25lJ1wiXG4gIFtwYWdlU2l6ZV09XCJkZWZhdWx0UGFnZVNpemVcIlxuICBbcGFnZVNpemVPcHRpb25zXT1cInBhZ2VTaXplT3B0aW9uc1wiXG4gIHNob3dGaXJzdExhc3RCdXR0b25zXG4+XG48L21hdC1wYWdpbmF0b3I+XG5cbjwhLS0gTm8gZGF0YSBhbGVydCAtLT5cbjxuZy10ZW1wbGF0ZSAjbm9EYXRhPlxuICA8ZGl2IGNsYXNzPVwibm9EYXRhVGV4dFwiPlxuICAgIHt7IG5vRGF0YVRleHQgfX1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,2 +0,0 @@
1
- export { TableComponent } from './table.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi90YWJsZS90YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge0NvbHVtbkhlYWRlcn0gZnJvbSAnLi9jb2x1bW4taGVhZGVyJztcbmV4cG9ydCB7VGFibGVBY3Rpb259IGZyb20gJy4vdGFibGUtYWN0aW9uJztcbmV4cG9ydCB7VGFibGVDb21wb25lbnR9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcbiJdfQ==