@natec/mef-dev-ui-kit 20.0.0-beta.2 → 20.0.2

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.
@@ -1,17 +1,16 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Input, ViewEncapsulation, Component, EventEmitter, Output, HostBinding, ContentChild, Host, NgModule, Injectable, Pipe, forwardRef, HostListener, ViewChild, Directive, ContentChildren, Optional, TemplateRef, InjectionToken, inject, ViewContainerRef, DOCUMENT, NgZone, ElementRef, Renderer2, booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, HostAttributeToken, numberAttribute, QueryList, Injector, SkipSelf, signal, ViewChildren, input, computed, afterNextRender } from '@angular/core';
2
+ import { Input, ViewEncapsulation, Component, EventEmitter, Output, HostBinding, ContentChild, Host, NgModule, Injectable, ChangeDetectionStrategy, Pipe, forwardRef, HostListener, ViewChild, Directive, ContentChildren, Optional, TemplateRef, InjectionToken, inject, ViewContainerRef, DOCUMENT, NgZone, ElementRef, Renderer2, booleanAttribute, ChangeDetectorRef, HostAttributeToken, numberAttribute, QueryList, Injector, SkipSelf, signal, ViewChildren, input, computed, afterNextRender } from '@angular/core';
3
3
  import { trigger, state, transition, style, animate } from '@angular/animations';
4
4
  import * as i1 from '@angular/common';
5
- import { CommonModule, DatePipe, NgTemplateOutlet, NgClass } from '@angular/common';
6
- import { Subject, of, fromEvent, merge, Subscription, EMPTY, defer, filter as filter$1, map as map$1, startWith as startWith$1, switchMap as switchMap$1, takeUntil as takeUntil$1, take as take$1, Observable, timer } from 'rxjs';
5
+ import { CommonModule, NgTemplateOutlet, NgClass } from '@angular/common';
6
+ import { Subject, of, fromEvent, merge, Subscription, EMPTY, defer, timer, Observable, filter as filter$1, map as map$1, startWith as startWith$1, switchMap as switchMap$1, takeUntil as takeUntil$1, take as take$1 } from 'rxjs';
7
+ import * as i3 from '@angular/cdk/overlay';
8
+ import { CdkConnectedOverlay, OverlayModule, createBlockScrollStrategy, createGlobalPositionStrategy, ViewportRuler, Overlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
7
9
  import * as i2 from '@angular/forms';
8
10
  import { NG_VALUE_ACCESSOR, FormsModule, NgControl, Validators, NG_VALIDATORS } from '@angular/forms';
9
11
  import { TAB, DOWN_ARROW, ENTER, hasModifierKey, SPACE, ESCAPE, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, A } from '@angular/cdk/keycodes';
10
- import * as i3 from '@angular/cdk/overlay';
11
- import { CdkConnectedOverlay, OverlayModule, createBlockScrollStrategy, createGlobalPositionStrategy, ViewportRuler, Overlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
12
- import * as i1$1 from '@angular/router';
13
12
  import { auditTime, startWith, map, filter, take, switchMap, takeUntil, debounceTime, skip } from 'rxjs/operators';
14
- import * as i1$2 from '@angular/cdk/bidi';
13
+ import * as i1$1 from '@angular/cdk/bidi';
15
14
  import { Directionality } from '@angular/cdk/bidi';
16
15
  import { CdkAccordionItem, CdkAccordion } from '@angular/cdk/accordion';
17
16
  import { _IdGenerator, FocusMonitor, FocusKeyManager, ActiveDescendantKeyManager, CdkMonitorFocus } from '@angular/cdk/a11y';
@@ -19,7 +18,7 @@ import { UniqueSelectionDispatcher, SelectionModel } from '@angular/cdk/collecti
19
18
  import { TemplatePortal, CdkPortalOutlet, PortalModule, CdkPortal } from '@angular/cdk/portal';
20
19
  import { CdkDialogContainer, Dialog, DialogConfig, DialogModule } from '@angular/cdk/dialog';
21
20
  import { coerceNumberProperty } from '@angular/cdk/coercion';
22
- import * as i1$3 from '@angular/cdk/scrolling';
21
+ import * as i1$2 from '@angular/cdk/scrolling';
23
22
  import { CdkScrollable, ViewportRuler as ViewportRuler$1 } from '@angular/cdk/scrolling';
24
23
  import { CdkStepLabel, CdkStepHeader, CdkStep, CdkStepper, CdkStepperNext, CdkStepperPrevious, CdkStepperModule } from '@angular/cdk/stepper';
25
24
  import { Platform } from '@angular/cdk/platform';
@@ -504,92 +503,52 @@ class FiltredItemModel {
504
503
  }
505
504
 
506
505
  /**
507
- * A component representing a help block with smooth expand animation.
508
- *
509
- * Example of usage:
510
- *```
511
- * <mefdev-help-block [title]="'Help'">
512
- * Content goes here...
513
- * <ng-content></ng-content>
514
- * </mefdev-help-block>
515
- *```
516
- * <example-url>https://platform.mef.dev/ui_kit_demo/view/utils/help_block</example-url>
517
- */
518
- class HelpBlockComponent {
506
+ * Component for displaying a simple card with a title.
507
+ *
508
+ * Example of usage:
509
+ *```
510
+ * <mefdev-card-simple [disabled]="true">
511
+ * <ng-template #card_title>
512
+ * <!-- Content for the card title -->
513
+ * </ng-template>
514
+ * </mefdev-card-simple>
515
+ *```
516
+ *
517
+ * <example-url>https://platform.mef.dev/ui_kit_demo/view/page_components/card/card_simple</example-url>
518
+ */
519
+ class CardSimpleComponent {
519
520
  /**
520
- * Indicates whether the help block is visible.
521
+ * Determines whether the card is disabled or not.
521
522
  */
522
- isVisible = true;
523
+ isDisabled = false;
523
524
  /**
524
- * Indicates whether the help block is expanded.
525
- */
526
- expanded = false;
527
- /**
528
- * The title of the help block.
529
- *```
530
- * <mefdev-help-block [title]="'Help Block'">
531
- * Content goes here...
532
- * </mefdev-help-block>
533
- *```
534
- */
535
- title = "Help";
525
+ * Template for displaying the title of the card.
526
+ *```
527
+ * <mefdev-card-simple>
528
+ * <ng-template #card_title>
529
+ * <h3>Card Title</h3>
530
+ * </ng-template>
531
+ * </mefdev-card-simple>
532
+ *```
533
+ */
534
+ card_title;
536
535
  constructor() { }
537
536
  ngOnInit() {
538
537
  }
539
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: HelpBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
540
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: HelpBlockComponent, isStandalone: false, selector: "mefdev-help-block", inputs: { title: "title" }, ngImport: i0, template: "<div class=\"card-simple\" *ngIf=\"isVisible\">\r\n <div class=\"row m-1 body-1\" (click)=\"expanded = !expanded\" style=\"cursor: pointer;\">\r\n <div class=\"col-10\" style=\"color: white;\">\r\n {{ title }}\r\n </div>\r\n <div class=\"col-2\">\r\n <i class=\"fa fa-window-close\" aria-hidden=\"true\" style=\"float: right; margin-left: 20px;\" (click)=\"isVisible = !isVisible;\"></i>\r\n \r\n <i class=\"fa fa-angle-down \" *ngIf=\"!expanded\" aria-hidden=\"true\" style=\"float: right;\"></i>\r\n <i class=\"fa fa-angle-up\" *ngIf=\"expanded\" aria-hidden=\"true\" style=\"float: right;\"></i> \r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body row\" [@smothExpand]=\"expanded ? 'open' : 'close'\">\r\n <div class=\"col-12\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.card-simple{opacity:.7;background-color:#28b446;padding:2px;border-radius:5px;margin-top:.3em;margin-bottom:.5em}.card-body{opacity:1;margin-left:2px;margin-right:2px;margin-bottom:2px;border-radius:5px;padding-top:15px;padding-bottom:15px;background-color:#f3f3f3;color:#000}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
541
- trigger('smothExpand', [
542
- state('close', style({
543
- height: '0',
544
- margin: '0',
545
- padding: '0',
546
- opacity: '0',
547
- visibility: 'hidden',
548
- })),
549
- state('open', style({})),
550
- transition('close<=>open', animate(200))
551
- ])
552
- ] });
538
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CardSimpleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
539
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: CardSimpleComponent, isStandalone: false, selector: "mefdev-card-simple", inputs: { isDisabled: ["disabled", "isDisabled"] }, queries: [{ propertyName: "card_title", first: true, predicate: ["card_title"], descendants: true }], ngImport: i0, template: "<div class=\"md-card-simple\" [class.md-card-simple--disabled]=\"isDisabled\">\r\n <div class=\"md-card-simple__section md-card-simple__section--header\" *ngIf=\"card_title as tpl\">\r\n <ng-template [ngTemplateOutlet]=\"tpl\"></ng-template>\r\n </div>\r\n\r\n <div class=\"md-card-simple__section md-card-simple__section--content\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <!-- optional named slot for actions -->\r\n <div class=\"md-card-simple__section md-card-simple__section--actions\">\r\n <ng-content select=\"[card-actions]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.h1,h1{font-family:Montserrat,Arial,sans-serif;font-size:32px;line-height:40px;font-weight:700;text-transform:none;color:#000;margin-bottom:16px}.h2,h2{font-family:Montserrat,Arial,sans-serif;font-size:24px;line-height:30px;font-weight:700;text-transform:none;color:#000;margin-bottom:12px}.h3,.md-card-simple__section--header,h3{font-family:Montserrat,Arial,sans-serif;font-size:18px;line-height:24px;font-weight:600;text-transform:none;color:#000;margin-bottom:10px}.h4,h4{font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:22px;font-weight:600;text-transform:none;letter-spacing:.5px;color:#000;margin-bottom:8px}.h5,h5{font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:20px;font-weight:500;text-transform:none;color:#000;margin-bottom:6px}.h6,h6{font-family:Montserrat,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:500;text-transform:none;color:#000;margin-bottom:4px}.body-1,body-1{font-family:Open Sans,Arial,sans-serif;font-size:18px;line-height:27px;font-weight:700;color:#000}.body-2,body-2{font-family:Open Sans,Arial,sans-serif;font-size:16px;line-height:24px;font-weight:400;color:#000}.body-3,body-3{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:700;color:#000}.body-4,body-4{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:400;color:#000}.body-5,body-5{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:600;color:#000}.body-6,body-6{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:16px;font-weight:400;color:#000}:host{display:block;box-sizing:border-box}.md-card-simple{background-color:#f3f3f3;border-radius:5px;padding:.5rem}.md-card-simple__section{margin:.5rem}.md-card-simple__section--actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.md-card-simple__section--actions:empty{display:none}.md-card-simple--disabled{opacity:.6;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
553
540
  }
554
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: HelpBlockComponent, decorators: [{
541
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CardSimpleComponent, decorators: [{
555
542
  type: Component,
556
- args: [{ selector: 'mefdev-help-block', animations: [
557
- trigger('smothExpand', [
558
- state('close', style({
559
- height: '0',
560
- margin: '0',
561
- padding: '0',
562
- opacity: '0',
563
- visibility: 'hidden',
564
- })),
565
- state('open', style({})),
566
- transition('close<=>open', animate(200))
567
- ])
568
- ], standalone: false, template: "<div class=\"card-simple\" *ngIf=\"isVisible\">\r\n <div class=\"row m-1 body-1\" (click)=\"expanded = !expanded\" style=\"cursor: pointer;\">\r\n <div class=\"col-10\" style=\"color: white;\">\r\n {{ title }}\r\n </div>\r\n <div class=\"col-2\">\r\n <i class=\"fa fa-window-close\" aria-hidden=\"true\" style=\"float: right; margin-left: 20px;\" (click)=\"isVisible = !isVisible;\"></i>\r\n \r\n <i class=\"fa fa-angle-down \" *ngIf=\"!expanded\" aria-hidden=\"true\" style=\"float: right;\"></i>\r\n <i class=\"fa fa-angle-up\" *ngIf=\"expanded\" aria-hidden=\"true\" style=\"float: right;\"></i> \r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body row\" [@smothExpand]=\"expanded ? 'open' : 'close'\">\r\n <div class=\"col-12\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.card-simple{opacity:.7;background-color:#28b446;padding:2px;border-radius:5px;margin-top:.3em;margin-bottom:.5em}.card-body{opacity:1;margin-left:2px;margin-right:2px;margin-bottom:2px;border-radius:5px;padding-top:15px;padding-bottom:15px;background-color:#f3f3f3;color:#000}\n"] }]
569
- }], ctorParameters: () => [], propDecorators: { title: [{
543
+ args: [{ selector: 'mefdev-card-simple', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div class=\"md-card-simple\" [class.md-card-simple--disabled]=\"isDisabled\">\r\n <div class=\"md-card-simple__section md-card-simple__section--header\" *ngIf=\"card_title as tpl\">\r\n <ng-template [ngTemplateOutlet]=\"tpl\"></ng-template>\r\n </div>\r\n\r\n <div class=\"md-card-simple__section md-card-simple__section--content\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <!-- optional named slot for actions -->\r\n <div class=\"md-card-simple__section md-card-simple__section--actions\">\r\n <ng-content select=\"[card-actions]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.h1,h1{font-family:Montserrat,Arial,sans-serif;font-size:32px;line-height:40px;font-weight:700;text-transform:none;color:#000;margin-bottom:16px}.h2,h2{font-family:Montserrat,Arial,sans-serif;font-size:24px;line-height:30px;font-weight:700;text-transform:none;color:#000;margin-bottom:12px}.h3,.md-card-simple__section--header,h3{font-family:Montserrat,Arial,sans-serif;font-size:18px;line-height:24px;font-weight:600;text-transform:none;color:#000;margin-bottom:10px}.h4,h4{font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:22px;font-weight:600;text-transform:none;letter-spacing:.5px;color:#000;margin-bottom:8px}.h5,h5{font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:20px;font-weight:500;text-transform:none;color:#000;margin-bottom:6px}.h6,h6{font-family:Montserrat,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:500;text-transform:none;color:#000;margin-bottom:4px}.body-1,body-1{font-family:Open Sans,Arial,sans-serif;font-size:18px;line-height:27px;font-weight:700;color:#000}.body-2,body-2{font-family:Open Sans,Arial,sans-serif;font-size:16px;line-height:24px;font-weight:400;color:#000}.body-3,body-3{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:700;color:#000}.body-4,body-4{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:400;color:#000}.body-5,body-5{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:600;color:#000}.body-6,body-6{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:16px;font-weight:400;color:#000}:host{display:block;box-sizing:border-box}.md-card-simple{background-color:#f3f3f3;border-radius:5px;padding:.5rem}.md-card-simple__section{margin:.5rem}.md-card-simple__section--actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.md-card-simple__section--actions:empty{display:none}.md-card-simple--disabled{opacity:.6;pointer-events:none}\n"] }]
544
+ }], ctorParameters: () => [], propDecorators: { isDisabled: [{
570
545
  type: Input,
571
- args: ['title']
546
+ args: ["disabled"]
547
+ }], card_title: [{
548
+ type: ContentChild,
549
+ args: ["card_title"]
572
550
  }] } });
573
551
 
574
- class MefDevHelpBlockModule {
575
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevHelpBlockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
576
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MefDevHelpBlockModule, declarations: [HelpBlockComponent], imports: [CommonModule,
577
- MefDevCollapseModule], exports: [HelpBlockComponent] });
578
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevHelpBlockModule, imports: [CommonModule,
579
- MefDevCollapseModule] });
580
- }
581
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevHelpBlockModule, decorators: [{
582
- type: NgModule,
583
- args: [{
584
- declarations: [HelpBlockComponent],
585
- exports: [HelpBlockComponent],
586
- imports: [
587
- CommonModule,
588
- MefDevCollapseModule
589
- ]
590
- }]
591
- }] });
592
-
593
552
  function toBoolean(value) {
594
553
  return value === '' || (value && value !== 'false');
595
554
  }
@@ -1497,1641 +1456,134 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
1497
1456
  type: Input
1498
1457
  }] } });
1499
1458
 
1459
+ class MefDevSelectModule {
1460
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1461
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MefDevSelectModule, declarations: [OptionPipe, MefDevOptionComponent, MefDevSelectComponent], imports: [CommonModule, FormsModule, OverlayModule], exports: [OptionPipe, MefDevOptionComponent, MefDevSelectComponent] });
1462
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevSelectModule, imports: [CommonModule, FormsModule, OverlayModule] });
1463
+ }
1464
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevSelectModule, decorators: [{
1465
+ type: NgModule,
1466
+ args: [{
1467
+ imports: [CommonModule, FormsModule, OverlayModule],
1468
+ declarations: [OptionPipe, MefDevOptionComponent, MefDevSelectComponent],
1469
+ exports: [OptionPipe, MefDevOptionComponent, MefDevSelectComponent]
1470
+ }]
1471
+ }] });
1472
+
1473
+ const mefDevCardComponents = [CardSimpleComponent];
1474
+ class MefDevCardModule {
1475
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1476
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MefDevCardModule, declarations: [CardSimpleComponent], imports: [CommonModule,
1477
+ MefDevCollapseModule,
1478
+ MefDevSelectModule], exports: [CardSimpleComponent] });
1479
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevCardModule, imports: [CommonModule,
1480
+ MefDevCollapseModule,
1481
+ MefDevSelectModule] });
1482
+ }
1483
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevCardModule, decorators: [{
1484
+ type: NgModule,
1485
+ args: [{
1486
+ declarations: mefDevCardComponents,
1487
+ exports: mefDevCardComponents,
1488
+ imports: [
1489
+ CommonModule,
1490
+ MefDevCollapseModule,
1491
+ MefDevSelectModule,
1492
+ ]
1493
+ }]
1494
+ }] });
1495
+
1500
1496
  /**
1501
- * Datepicker Component for selecting dates.
1502
- *
1503
- * This component allows users to pick a date from a calendar interface.
1504
- * It supports various configuration options such as language, date format, and date range.
1505
- *
1506
- * @example
1507
- * <mefdev-datepicker
1508
- * [labelContentText]="'Select your date'"
1509
- * [lang]="'uk'"
1510
- * [dateFormat]="'dd/MM/yyyy'"
1511
- * [range]="{startYear: 1900, toYear: 300}"
1512
- * [disabled]="false"
1513
- * (dateChanged)="onDateChanged($event)"
1514
- * [topOffset]="'20'"
1515
- * [leftOffset]="'10'">
1516
- * </mefdev-datepicker>
1517
- *
1518
- * <example-url>https://platform.mef.dev/ui_kit_demo/view/utils/datepicker</example-url>
1519
- */
1520
- class DatepickerComponent {
1521
- datePipe;
1522
- elementRef;
1523
- /**
1524
- * A flag that checks whether a valid date has been entered and whether the entered date exists.
1525
- * If the two previous conditions are not true, the datepicker will be highlighted in red
1526
- */
1527
- isUserDateValid = true;
1528
- /**
1529
- * Flag to determine if the calendar is open or closed.
1530
- * Default value: false (closed).
1531
- */
1532
- isCalendarOpen = false;
1533
- /**
1534
- * The currently selected date.
1535
- * Default value: Today's date.
1536
- */
1537
- selectedDate = new Date();
1538
- /**
1539
- * The formatted date for display in the input.
1540
- * Default value: Formatted representation of the selected date.
1541
- */
1542
- formattedDate;
1543
- /**
1544
- * Track the edited date separately when in editing mode.
1545
- * Default value: An empty string.
1546
- */
1547
- editedDate = '';
1548
- /**
1549
- * Flag to determine if the month dropdown is open or closed.
1550
- * Default value: true (open).
1551
- */
1552
- isMonthDropdownOpen = true;
1553
- /**
1554
- * Flag to determine if the year dropdown is open or closed.
1555
- * Default value: true (open).
1556
- */
1557
- isYearDropdownOpen = true;
1558
- /**
1559
- * The selected month (0-11).
1560
- * Default value: The month of the selected date.
1561
- */
1562
- selectedDateMonth = this.selectedDate.getMonth();
1563
- /**
1564
- * The selected year.
1565
- * Default value: The year of the selected date.
1566
- */
1567
- selectedDateYear = this.selectedDate.getFullYear();
1568
- /**
1569
- * An array of years for the year dropdown.
1570
- * Default value: An array of years within the specified range.
1571
- */
1572
- years;
1573
- /**
1574
- * Label text for the datepicker.
1575
- * Default value: 'en' (English).
1576
- * @example
1577
- * <mefdev-datepicker
1578
- * [labelContentText] = "'Chose your date'">
1579
- * </mefdev-datepicker>
1580
- */
1581
- labelContentText;
1582
- /**
1583
- * The language/locale for the datepicker.
1584
- * Default value: 'en' (English).
1585
- * @example
1586
- * <mefdev-datepicker
1587
- * [lang] = "'uk'">
1588
- * </mefdev-datepicker>
1589
- */
1590
- lang = 'en';
1591
- /**
1592
- * The date format for displaying the selected date.
1593
- * Default value: 'EEE MMM dd yyyy'.
1594
- * @example
1595
- * <mefdev-datepicker
1596
- * [dateFormat]="'dd/MM/yyyy'">
1597
- * </mefdev-datepicker>
1598
- */
1599
- dateFormat = 'EEE MMM dd yyyy';
1600
- /**
1601
- * The range of years available in the year dropdown.
1602
- * Default value: { startYear: 1900, toYear: 300 }.
1603
- * @example
1604
- * <mefdev-datepicker
1605
- * [range]="{startYear: 1900, toYear: 300}">
1606
- * </mefdev-datepicker>
1607
- */
1608
- yearsRange = { startYear: 1900, toYear: 300 };
1497
+ * Fill Component for a modal window.
1498
+ *
1499
+ * Example of usage:
1500
+ * ```
1501
+ * <mefdev-fill-modal #pin_modal>
1502
+ * <!-- Modal header content -->
1503
+ * <ng-template #modal_header>
1504
+ * <!-- Header content goes here -->
1505
+ * </ng-template>
1506
+ *
1507
+ * <!-- Modal footer content -->
1508
+ * <ng-template #modal_footer>
1509
+ * <!-- Footer content goes here -->
1510
+ * </ng-template>
1511
+ * </mefdev-fill-modal>
1512
+ * ```
1513
+ *
1514
+ * <example-url>https://platform.mef.dev/ui_kit_demo/view/page_components/modals/fill</example-url>
1515
+ */
1516
+ class FillComponent {
1517
+ visible = false;
1518
+ dialog;
1609
1519
  /**
1610
- * Whether the datepicker is disabled or not.
1611
- * Default value: false (enabled).
1612
- * @example
1613
- * <mefdev-datepicker
1614
- * [disabled]="false">
1615
- * </mefdev-datepicker>
1616
- */
1617
- disabled = false;
1520
+ * The header template of the modal window.
1521
+ * ```
1522
+ * <mefdev-fill-modal #pin_modal>
1523
+ * <ng-template #modal_header>
1524
+ * <!-- Header content goes here -->
1525
+ * </ng-template>
1526
+ * </mefdev-fill-modal>
1527
+ * ```
1528
+ */
1529
+ modal_header;
1618
1530
  /**
1619
- * The top offset for positioning the datepicker.
1620
- * Default value: '20'.
1621
- * @example
1622
- * <mefdev-datepicker
1623
- * [topOffset]="'20'">
1624
- * </mefdev-datepicker>
1625
- */
1626
- topOffset = '20';
1531
+ * The footer template of the modal window.
1532
+ * ```
1533
+ * <mefdev-fill-modal #pin_modal>
1534
+ * <ng-template #modal_footer>
1535
+ * <!-- Footer content goes here -->
1536
+ * </ng-template>
1537
+ * </mefdev-fill-modal>
1538
+ * ```
1539
+ */
1540
+ modal_footer;
1627
1541
  /**
1628
- * The left offset for positioning the datepicker.
1629
- * Default value: '10'.
1630
- * @example
1631
- * <mefdev-datepicker
1632
- * [leftOffset]="'10'">
1633
- * </mefdev-datepicker>
1542
+ * Input parameter that determines whether to show the modal window.
1634
1543
  */
1635
- leftOffset = '10'; //Default value
1636
- /**
1637
- * Event emitted when the selected date in the datepicker changes.
1638
- * It emits a `Date` object representing the selected date.
1639
- * @example
1640
- * <mefdev-datepicker
1641
- * (dateChanged)="onDateChanged($event)">
1642
- * </mefdev-datepicker>
1643
- */
1644
- dateChanged = new EventEmitter();
1645
- /**
1646
- * Regular expression to validate user input for date in the format "dd/MM/yyyy".
1647
- * - The day (dd) should be between 01 and 31.
1648
- * - The month (MM) should be between 01 and 12.
1649
- * - The year (yyyy) should be a 4-digit number.
1650
- */
1651
- dateRegExp = /^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[0-2])\/\d{4}$/;
1652
- /**
1653
- * The string entered by the user for date input.
1654
- * This variable stores the user's input as they type in the date field.
1655
- */
1656
- userInput = '';
1657
- /**
1658
- * Host listener for document click events to handle calendar interaction.
1659
- * This function checks if a click event occurred within the calendar or input elements.
1660
- * - If the click occurred within the calendar, no action is taken.
1661
- * - If the click occurred within the input element and the component is not in editing mode,
1662
- * it opens the calendar.
1663
- * @param event The MouseEvent object representing the click event.
1664
- */
1665
- onClick(event) {
1666
- const targetElement = event.target;
1667
- const datepickerContainer = this.elementRef.nativeElement.querySelector('.datepicker-container');
1668
- const calendar = this.elementRef.nativeElement.querySelector('.calendar');
1669
- const monthDropdown = this.elementRef.nativeElement.querySelector('.monthDropdown');
1670
- const yearDropdown = this.elementRef.nativeElement.querySelector('.yearDropdown');
1671
- const inputElement = this.elementRef.nativeElement.querySelector('input');
1672
- if (datepickerContainer && datepickerContainer.contains(calendar)) {
1673
- if (calendar && calendar.contains(targetElement))
1674
- return;
1675
- if (this.isMonthDropdownOpen && !calendar.contains(targetElement))
1676
- return;
1677
- if (this.isYearDropdownOpen && !calendar.contains(targetElement))
1678
- return;
1679
- if ((monthDropdown && monthDropdown.contains(targetElement)) && (yearDropdown && yearDropdown.contains(targetElement))) {
1680
- this.toggleMonthDropdown(event);
1681
- this.toggleYearDropdown(event);
1682
- }
1544
+ set show(val) {
1545
+ if (val) {
1546
+ this.showModal();
1547
+ }
1548
+ else {
1549
+ this.hideModal();
1683
1550
  }
1684
1551
  }
1552
+ ;
1685
1553
  /**
1686
- * Constructor for the DatepickerComponent class.
1687
- * @param datePipe A service for formatting and parsing dates.
1688
- * @param elementRef A reference to the element on which this component is attached.
1689
- * It is used to access DOM elements.
1690
- */
1691
- constructor(datePipe, elementRef) {
1692
- this.datePipe = datePipe;
1693
- this.elementRef = elementRef;
1694
- this.updateInputValue();
1695
- }
1696
- /**
1697
- * Lifecycle hook called after the component is initialized.
1698
- * It initializes the years for the year select dropdown.
1699
- */
1700
- ngOnInit() {
1701
- this.initializeYears();
1702
- }
1703
- /**
1704
- * Lifecycle hook called whenever the input properties of the component change.
1705
- * It updates the input value.
1706
- */
1707
- ngOnChanges() {
1708
- this.updateInputValue();
1709
- }
1710
- /**
1711
- * An array of month names based on the selected language.
1712
- * It provides localized month names for display in the datepicker.
1713
- */
1714
- get months() {
1715
- return this.getMonthList(this.lang);
1716
- }
1717
- /**
1718
- * An array of weekday names based on the selected language.
1719
- * It provides localized weekday names for display in the datepicker.
1720
- */
1721
- get weekdays() {
1722
- return this.getWeekdayList(this.lang);
1723
- }
1724
- /**
1725
- * Initialize the list of years to be displayed in the year dropdown.
1726
- * This method populates the 'years' array with a range of years based on the provided 'yearsRange' configuration.
1727
- * @example
1728
- * ```
1729
- * // Assuming 'yearsRange' is { startYear: 1900, toYear: 300 }
1730
- * // After calling initializeYears(), 'years' might contain [1900, 1901, ..., 300]
1731
- * this.initializeYears();
1732
- * ```
1733
- */
1734
- initializeYears() {
1735
- this.years = Array.from({ length: this.yearsRange.toYear }, (_, index) => index + this.yearsRange.startYear);
1736
- }
1737
- /**
1738
- * Toggle the editing mode for the date input. When enabled, the user can edit the date directly in the input field.
1739
- */
1740
- toggleEdit() {
1741
- this.editedDate = this.formatSelectedDate(); // Store the current formatted date for editing
1742
- this.isCalendarOpen = false;
1743
- }
1744
- /**
1745
- * Get a list of month names in the specified language and format.
1746
- * @param locales - An optional parameter specifying the locale or locales to use for formatting.
1747
- * @param format - The format for month names, either "long" (default) or "short".
1748
- * @returns An array of month names based on the provided format and locale.
1749
- * ```
1750
- * // Get a list of month names in the default language and long format
1751
- * const months = this.getMonthList(this.lang);
1752
- * ```
1753
- */
1754
- getMonthList(locales, format = "long") {
1755
- const year = new Date().getFullYear();
1756
- const monthList = [...Array(12).keys()];
1757
- const formatter = new Intl.DateTimeFormat(locales, { month: format });
1758
- const getMonthName = (monthIndex) => formatter.format(new Date(year, monthIndex));
1759
- return monthList.map(getMonthName);
1760
- }
1761
- /**
1762
- * Get a list of weekday names in the specified language and format.
1763
- * @param locales - An optional parameter specifying the locale or locales to use for formatting.
1764
- * @param format - The format for weekday names, either "short" (default) or "long".
1765
- * @returns An array of weekday names based on the provided format and locale.
1554
+ * Event emitted when the modal is change state.
1555
+ * Emits a boolean value indicating if the modal is closed(false), or open(true).
1556
+ * Example:
1766
1557
  * ```
1767
- * // Get a list of weekday names in the default language and short format
1768
- * const weekdays = this.getWeekdayList();
1558
+ * <mefdev-fill-modal (visibleChange)="onModalClosed($event)"></mefdev-fill-modal>
1769
1559
  * ```
1770
1560
  */
1771
- getWeekdayList(locales, format = "short") {
1772
- const weekdays = [...Array(7).keys()];
1773
- const mondayIndex = weekdays.indexOf(0);
1774
- weekdays.splice(mondayIndex, 1);
1775
- weekdays.push(0);
1776
- const formatter = new Intl.DateTimeFormat(locales, { weekday: format });
1777
- const getWeekdayName = (weekdayIndex) => {
1778
- return formatter.format(new Date(2023, 9, weekdayIndex + 1));
1779
- };
1780
- return weekdays.map(getWeekdayName);
1561
+ visibleChange = new EventEmitter();
1562
+ constructor() { }
1563
+ ngOnInit() {
1781
1564
  }
1782
1565
  /**
1783
- * Save the edited date input by the user, provided it matches the specified date format.
1784
- * This method checks if the entered date is in a valid format, disables the editing mode, and applies
1785
- * the edited date to the 'selectedDate'. It then reformats the selected date and closes the calendar.
1786
- * ```
1787
- * // Save the edited date and update the selected date
1788
- * this.saveEditedDate();
1789
- * ```
1566
+ * Shows the modal state.
1567
+ * Return a boolean value indicating if the modal is closed(false), or open(true)
1790
1568
  */
1791
- saveEditedDate() {
1792
- if (this.isDateValid(this.editedDate)) {
1793
- const [day, month, year] = this.editedDate.split('/');
1794
- this.selectedDate = new Date(+year, +month - 1, +day);
1795
- this.formatDate();
1796
- }
1569
+ getModalState() {
1570
+ return this.visible;
1797
1571
  }
1798
1572
  /**
1799
- * Handle user input in the editable input field for date editing. This method captures the input value
1800
- * and stores it in the 'editedDate' variable. If the input matches the valid date format, it updates
1801
- * 'selectedDateMonth' and 'selectedDateYear' accordingly.
1802
- * @param event - The input event containing the user's input.
1803
- * ```
1804
- * // Handle user input in the editable input field
1805
- * this.onDateInput(event);
1806
- * ```
1573
+ * Shows the modal.
1574
+ * Call this method to open the modal window.
1807
1575
  */
1808
- onDateInput(event) {
1809
- const inputDate = event.target.value;
1810
- if (this.isDateValid(inputDate)) {
1811
- this.editedDate = inputDate;
1812
- const parsedDate = inputDate.split('/');
1813
- this.selectedDateMonth = +parsedDate[1] - 1;
1814
- this.selectedDateYear = +parsedDate[2];
1815
- this.selectedDate = new Date(+parsedDate[2], +parsedDate[1] - 1, +parsedDate[0]);
1816
- this.calculateFirstDayOfCalendar();
1817
- }
1818
- this.isUserDateValid = this.isDateValid(inputDate);
1576
+ showModal() {
1577
+ this.visible = true;
1578
+ this.visibleChange.emit(this.visible);
1819
1579
  }
1820
1580
  /**
1821
- * Toggle the visibility of the month dropdown in the calendar interface.
1822
- * This method is used to open or close the dropdown for selecting months.
1823
- * @param event - The event triggering the toggle action (e.g., a click event).
1824
- * ```
1825
- * // Toggle the visibility of the month dropdown
1826
- * this.toggleMonthDropdown(event);
1827
- * ```
1581
+ * Hides the modal.
1582
+ * Call this method to close the modal window.
1828
1583
  */
1829
- toggleMonthDropdown(event) {
1830
- this.isMonthDropdownOpen = !this.isMonthDropdownOpen;
1831
- }
1832
- /**
1833
- * Toggle the visibility of the year dropdown in the calendar interface.
1834
- * This method is used to open or close the dropdown for selecting years.
1835
- * @param event - The event triggering the toggle action (e.g., a click event).
1836
- * ```
1837
- * // Toggle the visibility of the year dropdown
1838
- * this.toggleYearDropdown(event);
1839
- * ```
1840
- */
1841
- toggleYearDropdown(event) {
1842
- this.isYearDropdownOpen = !this.isYearDropdownOpen;
1843
- }
1844
- /**
1845
- * Handle the change of the selected month in the calendar interface.
1846
- * This method updates the input value, sets the selected date to the first day of the chosen month,
1847
- * and recalculates the calendar display accordingly.
1848
- * ```
1849
- * // Handle the change of the selected month
1850
- * this.onMonthChange();
1851
- * ```
1852
- */
1853
- onMonthChange() {
1854
- this.updateInputValue();
1855
- this.selectedDate = new Date(this.selectedDateYear, this.selectedDateMonth, 1);
1856
- this.formatDate();
1857
- this.calculateFirstDayOfCalendar();
1858
- }
1859
- /**
1860
- * Handle the change of the selected year in the calendar interface.
1861
- * This method updates the input value, sets the selected date to the first day of the chosen year,
1862
- * reformats the selected date, and recalculates the calendar display.
1863
- * ```
1864
- * // Handle the change of the selected year
1865
- * this.onYearChange();
1866
- * ```
1867
- */
1868
- onYearChange() {
1869
- this.updateInputValue();
1870
- this.selectedDate = new Date(this.selectedDateYear, this.selectedDateMonth, 1);
1871
- this.formatDate();
1872
- this.calculateFirstDayOfCalendar();
1873
- }
1874
- /**
1875
- * Select a date in the calendar interface and perform necessary updates.
1876
- * This method sets the selected date, formats it, closes the calendar, and emits a dateChanged event.
1877
- * It also updates the selected month and year dropdown values.
1878
- * @param date - The date to be selected in the calendar.
1879
- */
1880
- selectDate(date) {
1881
- this.selectedDate = date;
1882
- this.formatDate();
1883
- this.isCalendarOpen = false;
1884
- this.dateChanged.next(this.selectedDate);
1885
- this.selectedDateMonth = this.selectedDate.getMonth();
1886
- this.selectedDateYear = this.selectedDate.getFullYear();
1887
- }
1888
- /**
1889
- * Format the selected date based on the chosen date format and language.
1890
- * This method uses the Angular DatePipe to format the selected date and updates the formattedDate variable.
1891
- * ```
1892
- * // Format the selected date
1893
- * this.formatDate();
1894
- * ```
1895
- */
1896
- formatDate() {
1897
- this.formattedDate = this.datePipe.transform(this.selectedDate, this.dateFormat) || '';
1898
- }
1899
- /**
1900
- * Format the selected date based on the chosen date format, language, and locale.
1901
- * This method uses the Angular DatePipe to format the selected date with the specified language and updates the formatted date as a string.
1902
- * @returns A formatted date string.
1903
- * ```
1904
- * // Format the selected date with language
1905
- * const formatted = this.formatSelectedDate();
1906
- * ```
1907
- */
1908
- formatSelectedDate() {
1909
- return this.datePipe.transform(this.selectedDate, this.dateFormat, this.lang) || '';
1910
- }
1911
- /**
1912
- * Update the input value displayed in the calendar interface.
1913
- * This method updates the input value to either the edited date or the formatted selected date,
1914
- * depending on whether the user is in edit mode or not.
1915
- * ```
1916
- * // Update the input value
1917
- * this.updateInputValue();
1918
- * ```
1919
- */
1920
- updateInputValue() {
1921
- this.formattedDate = this.isCalendarOpen ? this.editedDate : this.formatSelectedDate();
1922
- }
1923
- /**
1924
- * Get an array of arrays representing the days of the current month.
1925
- * Each sub-array contains the day data for a week, and each day data object includes the date and whether it belongs to the current month.
1926
- * @returns An array of arrays representing the days of the current month.
1927
- * ```
1928
- * // Get an array of arrays representing the days of the current month
1929
- * const calendar = this.calendarDays;
1930
- * ```
1931
- */
1932
- get calendarDays() {
1933
- return this.calculateFirstDayOfCalendar();
1934
- }
1935
- /**
1936
- * Get the date of the previous month to display in empty cells of the current month.
1937
- * This method returns the date of the previous month if the provided date is not in the current month.
1938
- * If the provided date is in the current month, it returns the date's day as a string.
1939
- * @param date - The date to evaluate.
1940
- * @returns The date of the previous month or a day string.
1941
- * ```
1942
- * // Get the previous month's date to display in empty cells
1943
- * const previousMonthDate = this.getPreviousMonthDate(new Date(2023, 8, 1));
1944
- * ```
1945
- */
1946
- getPreviousMonthDate(date) {
1947
- if (!date) {
1948
- return '';
1949
- }
1950
- const currentDate = new Date();
1951
- if (date.getMonth() === currentDate.getMonth() && date.getFullYear() === currentDate.getFullYear()) {
1952
- return date.getDate().toString();
1953
- }
1954
- else {
1955
- return this.datePipe.transform(date, 'dd');
1956
- }
1957
- }
1958
- /**
1959
- * Navigate to the previous month in the calendar interface.
1960
- * This method updates the selectedDate, formats it, and recalculates the first day of the calendar.
1961
- * ```
1962
- * // Navigate to the previous month
1963
- * this.getPreviousMonth();
1964
- * ```
1965
- */
1966
- getPreviousMonth() {
1967
- const currentMonth = this.selectedDate.getMonth();
1968
- this.selectedDate = new Date(this.selectedDate.getFullYear(), currentMonth - 1, 1);
1969
- this.formatDate();
1970
- this.calculateFirstDayOfCalendar();
1971
- }
1972
- /**
1973
- * Navigate to the next month in the calendar interface.
1974
- * This method updates the selectedDate, formats it, and recalculates the first day of the calendar.
1975
- * ```
1976
- * // Navigate to the next month
1977
- * this.getNextMonth();
1978
- * ```
1979
- */
1980
- getNextMonth() {
1981
- const currentMonth = this.selectedDate.getMonth();
1982
- this.selectedDate = new Date(this.selectedDate.getFullYear(), currentMonth + 1, 1);
1983
- this.formatDate();
1984
- this.calculateFirstDayOfCalendar();
1985
- }
1986
- /**
1987
- * Get the number of days in a given month of a specific year.
1988
- * @param year - The year for which you want to determine the number of days.
1989
- * @param month - The month (0-based index) for which you want to determine the number of days.
1990
- * @returns The number of days in the specified month of the given year.
1991
- */
1992
- daysInMonth(year, month) {
1993
- return new Date(year, month + 1, 0).getDate();
1994
- }
1995
- /**
1996
- * Calculate the structure of days in a month for the calendar display.
1997
- * This method generates a matrix of day data objects representing the days in the calendar.
1998
- * Each day data object contains the date and whether it belongs to the current month.
1999
- * @returns A matrix of day data objects for the calendar display.
2000
- */
2001
- calculateFirstDayOfCalendar() {
2002
- const year = this.selectedDate.getFullYear();
2003
- const month = this.selectedDate.getMonth();
2004
- const firstDayOfMonth = new Date(year, month, 1);
2005
- const firstWeekday = firstDayOfMonth.getDay();
2006
- const startDay = firstWeekday === 0 ? -5 : 2 - firstWeekday;
2007
- const calendarDays = [];
2008
- let currentDay = startDay;
2009
- for (let i = 0; i < 6; i++) {
2010
- const week = [];
2011
- for (let j = 0; j < 7; j++) {
2012
- const day = new Date(year, month, currentDay);
2013
- const dayData = {
2014
- date: day,
2015
- isCurrentMonth: currentDay >= 1 && currentDay <= this.daysInMonth(year, month),
2016
- };
2017
- week.push(dayData);
2018
- currentDay++;
2019
- }
2020
- calendarDays.push(week);
2021
- }
2022
- return calendarDays;
2023
- }
2024
- /**
2025
- * Check if a given date is the currently selected date in the calendar.
2026
- * @param date - The date to check.
2027
- * @returns `true` if the provided date matches the selected date, otherwise `false`.
2028
- * ```
2029
- * // Check if a date is selected
2030
- * const isSelected = this.isDateSelected(someDate);
2031
- * ```
2032
- */
2033
- isDateSelected(date) {
2034
- return date.toDateString() === this.selectedDate.toDateString();
2035
- }
2036
- /**
2037
- * Check if a date string is valid based on the specified date format.
2038
- * It also checks whether the specified number, month is correct and whether the specified one exists among calendar years
2039
- * @param inputDate - The date string to validate.
2040
- * @returns `true` if the input date string is valid, otherwise `false`.
2041
- * ```
2042
- * // Check if a date string is valid
2043
- * const isValidDate = this.isDateValid('05/25/2023');
2044
- * ```
2045
- */
2046
- isDateValid(inputDate) {
2047
- if (!this.dateRegExp.test(inputDate)) {
2048
- return false;
2049
- }
2050
- const parts = inputDate.split('/');
2051
- const day = parseInt(parts[0], 10);
2052
- const month = parseInt(parts[1], 10);
2053
- const year = parseInt(parts[2], 10);
2054
- if (year > this.years[this.years.length - 1] || year < this.years[0]) {
2055
- return false;
2056
- }
2057
- const daysInMonth = new Date(year, month, 0).getDate();
2058
- return day <= daysInMonth;
2059
- }
2060
- /**
2061
- * Check if a given date is today's date.
2062
- * @param date - The date to check.
2063
- * @returns `true` if the provided date is today's date, otherwise `false`.
2064
- * ```
2065
- * // Check if a date is today's date
2066
- * const isToday = this.isDateToday(someDate);
2067
- * ```
2068
- */
2069
- isDateToday(date) {
2070
- const today = new Date();
2071
- return date.toDateString() === today.toDateString();
2072
- }
2073
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: DatepickerComponent, deps: [{ token: i1.DatePipe }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
2074
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: DatepickerComponent, isStandalone: false, selector: "mefdev-datepicker", inputs: { labelContentText: "labelContentText", lang: "lang", dateFormat: "dateFormat", yearsRange: ["range", "yearsRange"], disabled: "disabled", topOffset: "topOffset", leftOffset: "leftOffset" }, outputs: { dateChanged: "dateChanged" }, host: { listeners: { "document:click": "onClick($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"datepicker-container\" [class.disabled]=\"disabled\">\r\n\r\n <!-- Input, save & edit buttons -->\r\n <div class=\"input-container form-group\">\r\n <label *ngIf=\"labelContentText\" class=\"form-label\"> {{ labelContentText }} </label>\r\n <input\r\n [ngClass]=\"{ 'calendarNotOpened': !isCalendarOpen }\"\r\n [ngStyle]=\"{ 'border-color': isUserDateValid ? '' : 'red' }\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n (input)=\"onDateInput($event)\"\r\n (click)=\"isCalendarOpen = true\"\r\n [value]=\"formattedDate\"\r\n [readOnly]=\"!isCalendarOpen\"\r\n >\r\n </div>\r\n\r\n <!-- Calendar(Dropdowns, dates) -->\r\n <div *ngIf=\"isCalendarOpen\" class=\"calendar\" #calendarContainer\r\n [style.top]=\"topOffset\"\r\n [style.left]=\"leftOffset\">\r\n <div class=\"calendar-header\">\r\n <div class=\"monthButtonContainer\">\r\n <!-- Month dropdown -->\r\n <ng-container *ngIf=\"isMonthDropdownOpen; else monthLabel\">\r\n <mefdev-select\r\n class=\"monthDropdown\"\r\n [(ngModel)]=\"selectedDateMonth\"\r\n (ngModelChange)=\"onMonthChange()\"\r\n [PlaceHolder]=\"'month'\"\r\n >\r\n <mefdev-option\r\n *ngFor=\"let month of months; let i = index\"\r\n [Value]=\"i\"\r\n [Label]=\"month\"\r\n style=\"z-index: 1\"\r\n >{{ month }}</mefdev-option>\r\n </mefdev-select>\r\n </ng-container>\r\n <ng-template #monthLabel>\r\n <span (click)=\"toggleMonthDropdown($event)\"></span>\r\n </ng-template>\r\n\r\n <!-- Year dropdown -->\r\n <ng-container *ngIf=\"isYearDropdownOpen; else yearLabel\">\r\n <mefdev-select\r\n class=\"yearDropdown\"\r\n [(ngModel)]=\"selectedDateYear\"\r\n (ngModelChange)=\"onYearChange()\"\r\n [PlaceHolder]=\"'year'\"\r\n >\r\n <mefdev-option\r\n *ngFor=\"let year of years\"\r\n [Label]=\"year\"\r\n [Value]=\"year\"\r\n >{{year}}</mefdev-option>\r\n </mefdev-select>\r\n </ng-container>\r\n <ng-template #yearLabel>\r\n <span (click)=\"toggleYearDropdown($event)\">{{ selectedDateYear }}</span>\r\n </ng-template>\r\n </div>\r\n <!-- Calendar exit button -->\r\n <div>\r\n <i class=\"fa fa-times toggleCalendarButton\" (click)=\"isCalendarOpen = false\" aria-hidden=\"true\"></i>\r\n </div>\r\n </div>\r\n\r\n <div class=\"calendar-body\">\r\n <table>\r\n <tr>\r\n <th class=\"text-center\" *ngFor=\"let weekday of weekdays\">{{ weekday }}</th>\r\n </tr>\r\n <tr *ngFor=\"let week of calendarDays\">\r\n <td *ngFor=\"let dayData of week\"\r\n (click)=\"selectDate(dayData.date)\"\r\n [ngClass]=\"{ 'selected': isDateSelected(dayData.date), 'prev-month': !dayData.isCurrentMonth }\">\r\n\r\n <span class=\"date\" [class.prev-month]=\"!dayData.isCurrentMonth\">\r\n {{ dayData.date.getDate() }}\r\n </span>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.datepicker-container{position:relative;display:inline-block}.datepicker-container.disabled{pointer-events:none;opacity:.8}.input-container{position:relative;display:inline-block}.input-container input[type=text]{padding:5px 5px 5px 15px;border:1px solid #929292}.input-container .calendarNotOpened{cursor:pointer}.calendar{position:absolute;border:1px solid #929292;background-color:#eaeaea;z-index:1}.calendar .calendar-header{background-color:#fff;text-align:center;justify-content:space-between;display:flex;padding:5px 0}.calendar .calendar-header i.fa{display:flex;justify-content:center;align-items:center;width:30px;height:30px;font-size:20px;border-radius:50%;cursor:pointer;background-color:transparent;border:none;color:#cf0106}.calendar .calendar-header .monthButtonContainer{padding-left:10px;height:45px;min-width:140px;display:flex;align-items:center}.calendar .calendar-header .monthDropdown,.calendar .calendar-header .yearDropdown{height:45px;width:105px;cursor:pointer;display:inline-block;padding:6px 5px;border:1px solid #EAEAEA;border-radius:4px;background-color:#fff;color:#4d4d4d}.calendar .calendar-header .monthDropdown{margin:0 8px 0 0;width:130px}.calendar .calendar-header .monthDropdown:hover,.calendar .calendar-header .yearDropdown:hover{border-color:#f3f3f3}.calendar .calendar-body{padding:5px}.calendar .calendar-body table{width:100%}.calendar .calendar-body td{padding:10px;position:relative}.calendar .calendar-body td.selected{position:relative;color:#fff}.calendar .calendar-body td.selected:before{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:20%;background-color:#cf0106;z-index:-1;width:30px;height:30px;color:#fff;border:1px solid #373737}.calendar .calendar-body td:hover{color:#fff;font-weight:700;background-color:#929292;border-radius:20%;cursor:pointer}.calendar .calendar-body .date{display:flex;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MefDevOptionComponent, selector: "mefdev-option", inputs: ["Value", "Label", "Disabled"] }, { kind: "component", type: MefDevSelectComponent, selector: "mefdev-select", inputs: ["Filter", "MaxMultiple", "FirstDefault", "AllowClear", "KeepUnListOptions", "Mode", "Multiple", "PlaceHolder", "NotFoundContent", "Size", "ShowSearch", "Tags", "Disabled", "Open"], outputs: ["SearchChange", "change", "OpenChange", "ScrollToBottom"] }] });
2075
- }
2076
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: DatepickerComponent, decorators: [{
2077
- type: Component,
2078
- args: [{ selector: 'mefdev-datepicker', standalone: false, template: "<div class=\"datepicker-container\" [class.disabled]=\"disabled\">\r\n\r\n <!-- Input, save & edit buttons -->\r\n <div class=\"input-container form-group\">\r\n <label *ngIf=\"labelContentText\" class=\"form-label\"> {{ labelContentText }} </label>\r\n <input\r\n [ngClass]=\"{ 'calendarNotOpened': !isCalendarOpen }\"\r\n [ngStyle]=\"{ 'border-color': isUserDateValid ? '' : 'red' }\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n (input)=\"onDateInput($event)\"\r\n (click)=\"isCalendarOpen = true\"\r\n [value]=\"formattedDate\"\r\n [readOnly]=\"!isCalendarOpen\"\r\n >\r\n </div>\r\n\r\n <!-- Calendar(Dropdowns, dates) -->\r\n <div *ngIf=\"isCalendarOpen\" class=\"calendar\" #calendarContainer\r\n [style.top]=\"topOffset\"\r\n [style.left]=\"leftOffset\">\r\n <div class=\"calendar-header\">\r\n <div class=\"monthButtonContainer\">\r\n <!-- Month dropdown -->\r\n <ng-container *ngIf=\"isMonthDropdownOpen; else monthLabel\">\r\n <mefdev-select\r\n class=\"monthDropdown\"\r\n [(ngModel)]=\"selectedDateMonth\"\r\n (ngModelChange)=\"onMonthChange()\"\r\n [PlaceHolder]=\"'month'\"\r\n >\r\n <mefdev-option\r\n *ngFor=\"let month of months; let i = index\"\r\n [Value]=\"i\"\r\n [Label]=\"month\"\r\n style=\"z-index: 1\"\r\n >{{ month }}</mefdev-option>\r\n </mefdev-select>\r\n </ng-container>\r\n <ng-template #monthLabel>\r\n <span (click)=\"toggleMonthDropdown($event)\"></span>\r\n </ng-template>\r\n\r\n <!-- Year dropdown -->\r\n <ng-container *ngIf=\"isYearDropdownOpen; else yearLabel\">\r\n <mefdev-select\r\n class=\"yearDropdown\"\r\n [(ngModel)]=\"selectedDateYear\"\r\n (ngModelChange)=\"onYearChange()\"\r\n [PlaceHolder]=\"'year'\"\r\n >\r\n <mefdev-option\r\n *ngFor=\"let year of years\"\r\n [Label]=\"year\"\r\n [Value]=\"year\"\r\n >{{year}}</mefdev-option>\r\n </mefdev-select>\r\n </ng-container>\r\n <ng-template #yearLabel>\r\n <span (click)=\"toggleYearDropdown($event)\">{{ selectedDateYear }}</span>\r\n </ng-template>\r\n </div>\r\n <!-- Calendar exit button -->\r\n <div>\r\n <i class=\"fa fa-times toggleCalendarButton\" (click)=\"isCalendarOpen = false\" aria-hidden=\"true\"></i>\r\n </div>\r\n </div>\r\n\r\n <div class=\"calendar-body\">\r\n <table>\r\n <tr>\r\n <th class=\"text-center\" *ngFor=\"let weekday of weekdays\">{{ weekday }}</th>\r\n </tr>\r\n <tr *ngFor=\"let week of calendarDays\">\r\n <td *ngFor=\"let dayData of week\"\r\n (click)=\"selectDate(dayData.date)\"\r\n [ngClass]=\"{ 'selected': isDateSelected(dayData.date), 'prev-month': !dayData.isCurrentMonth }\">\r\n\r\n <span class=\"date\" [class.prev-month]=\"!dayData.isCurrentMonth\">\r\n {{ dayData.date.getDate() }}\r\n </span>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.datepicker-container{position:relative;display:inline-block}.datepicker-container.disabled{pointer-events:none;opacity:.8}.input-container{position:relative;display:inline-block}.input-container input[type=text]{padding:5px 5px 5px 15px;border:1px solid #929292}.input-container .calendarNotOpened{cursor:pointer}.calendar{position:absolute;border:1px solid #929292;background-color:#eaeaea;z-index:1}.calendar .calendar-header{background-color:#fff;text-align:center;justify-content:space-between;display:flex;padding:5px 0}.calendar .calendar-header i.fa{display:flex;justify-content:center;align-items:center;width:30px;height:30px;font-size:20px;border-radius:50%;cursor:pointer;background-color:transparent;border:none;color:#cf0106}.calendar .calendar-header .monthButtonContainer{padding-left:10px;height:45px;min-width:140px;display:flex;align-items:center}.calendar .calendar-header .monthDropdown,.calendar .calendar-header .yearDropdown{height:45px;width:105px;cursor:pointer;display:inline-block;padding:6px 5px;border:1px solid #EAEAEA;border-radius:4px;background-color:#fff;color:#4d4d4d}.calendar .calendar-header .monthDropdown{margin:0 8px 0 0;width:130px}.calendar .calendar-header .monthDropdown:hover,.calendar .calendar-header .yearDropdown:hover{border-color:#f3f3f3}.calendar .calendar-body{padding:5px}.calendar .calendar-body table{width:100%}.calendar .calendar-body td{padding:10px;position:relative}.calendar .calendar-body td.selected{position:relative;color:#fff}.calendar .calendar-body td.selected:before{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:20%;background-color:#cf0106;z-index:-1;width:30px;height:30px;color:#fff;border:1px solid #373737}.calendar .calendar-body td:hover{color:#fff;font-weight:700;background-color:#929292;border-radius:20%;cursor:pointer}.calendar .calendar-body .date{display:flex;justify-content:center}\n"] }]
2079
- }], ctorParameters: () => [{ type: i1.DatePipe }, { type: i0.ElementRef }], propDecorators: { labelContentText: [{
2080
- type: Input
2081
- }], lang: [{
2082
- type: Input
2083
- }], dateFormat: [{
2084
- type: Input
2085
- }], yearsRange: [{
2086
- type: Input,
2087
- args: ['range']
2088
- }], disabled: [{
2089
- type: Input
2090
- }], topOffset: [{
2091
- type: Input
2092
- }], leftOffset: [{
2093
- type: Input
2094
- }], dateChanged: [{
2095
- type: Output
2096
- }], onClick: [{
2097
- type: HostListener,
2098
- args: ['document:click', ['$event']]
2099
- }] } });
2100
-
2101
- class MefDevSelectModule {
2102
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2103
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MefDevSelectModule, declarations: [OptionPipe, MefDevOptionComponent, MefDevSelectComponent], imports: [CommonModule, FormsModule, OverlayModule], exports: [OptionPipe, MefDevOptionComponent, MefDevSelectComponent] });
2104
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevSelectModule, imports: [CommonModule, FormsModule, OverlayModule] });
2105
- }
2106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevSelectModule, decorators: [{
2107
- type: NgModule,
2108
- args: [{
2109
- imports: [CommonModule, FormsModule, OverlayModule],
2110
- declarations: [OptionPipe, MefDevOptionComponent, MefDevSelectComponent],
2111
- exports: [OptionPipe, MefDevOptionComponent, MefDevSelectComponent]
2112
- }]
2113
- }] });
2114
-
2115
- class MefDevDatepickerModule {
2116
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2117
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MefDevDatepickerModule, declarations: [DatepickerComponent], imports: [CommonModule, FormsModule, DatePipe, MefDevSelectModule], exports: [DatepickerComponent] });
2118
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevDatepickerModule, providers: [DatePipe], imports: [CommonModule, FormsModule, MefDevSelectModule] });
2119
- }
2120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevDatepickerModule, decorators: [{
2121
- type: NgModule,
2122
- args: [{
2123
- declarations: [DatepickerComponent],
2124
- exports: [DatepickerComponent],
2125
- imports: [CommonModule, FormsModule, DatePipe, MefDevSelectModule],
2126
- providers: [DatePipe]
2127
- }]
2128
- }] });
2129
-
2130
- /**
2131
- * Component representing a progress bar.
2132
- *
2133
- * Example of usage:
2134
- *
2135
- * ```
2136
- * <mefdev-progress type="linear" color="blue" [thick]="true"></mefdev-progress>
2137
- * <mefdev-progress type="circle" color="red" [indeterminate]="true"></mefdev-progress>
2138
- * ```
2139
- */
2140
- class MefDevProgressComponent {
2141
- _value;
2142
- _value2;
2143
- /**
2144
- * The type of progress bar.
2145
- * Possible values: "linear" | "circle".
2146
- * Default value: "linear".
2147
- */
2148
- type;
2149
- /**
2150
- * The color of the progress bar.
2151
- * Possible values: any valid CSS color value.
2152
- * Default value: none.
2153
- */
2154
- color;
2155
- /**
2156
- * Determines whether the progress bar is thick.
2157
- * Default value: false.
2158
- */
2159
- thick;
2160
- /**
2161
- * Determines whether the progress bar is indeterminate.
2162
- * Default value: false.
2163
- */
2164
- indeterminate;
2165
- /**
2166
- * The value of the progress bar.
2167
- * For the "circle" type, it should be a number between 0 and 100.
2168
- */
2169
- set value(value) {
2170
- if (this.type == "circle") {
2171
- this._value = (value / 100) * 360;
2172
- if (this.value >= 50) {
2173
- this._value2 = true;
2174
- }
2175
- }
2176
- else
2177
- this._value = value;
2178
- }
2179
- get value() {
2180
- return this._value;
2181
- }
2182
- /**
2183
- * Additional value property.
2184
- */
2185
- get value2() {
2186
- return this._value2;
2187
- }
2188
- constructor() { }
2189
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2190
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: MefDevProgressComponent, isStandalone: false, selector: "mefdev-progress", inputs: { type: "type", color: "color", thick: "thick", indeterminate: "indeterminate", value: "value" }, ngImport: i0, template: "<div *ngIf=\"type === 'bar'; else circleBlock\">\r\n <div *ngIf=\"indeterminate; else determineBarBlock\">\r\n <div class=\"progress\" [class.progress-small]=\"!thick\">\r\n <div class=\"progress-bar-{{ color }}\" [class.progress-bar-indeterminate]=\"indeterminate\"></div>\r\n </div>\r\n </div>\r\n <ng-template #determineBarBlock>\r\n <div class=\"progress\" [class.progress-small]=\"!thick\">\r\n <div class=\"progress-bar progress-bar-{{ color }}\" [ngStyle]=\"{ width: value + '%' }\"></div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n<ng-template #circleBlock>\r\n <div class=\"progress-circle-{{ color }}\" [class.progress-circle-indeterminate]=\"indeterminate\"\r\n [class.progress-circle]=\"!indeterminate\" [class.progress-circle-thick]=\"thick\">\r\n <div *ngIf=\"indeterminate; else determineBlock\"></div>\r\n <ng-template #determineBlock>\r\n <div class=\"pie\" [ngStyle]=\"_value2 && { clip: 'rect(auto, auto, auto, auto)' }\">\r\n <div class=\"left-side half-circle\" [ngStyle]=\"_value2 && { transform: 'rotate(' + value + 'deg)' }\"></div>\r\n <div class=\"right-side half-circle\" [ngStyle]=\"{\r\n transform:\r\n _value2 === true ? 'rotate(180deg)' : 'rotate(' + value + 'deg)'\r\n }\"></div>\r\n </div>\r\n <div class=\"shadow\"></div>\r\n </ng-template>\r\n </div>\r\n</ng-template>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
2191
- }
2192
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevProgressComponent, decorators: [{
2193
- type: Component,
2194
- args: [{ selector: "mefdev-progress", standalone: false, template: "<div *ngIf=\"type === 'bar'; else circleBlock\">\r\n <div *ngIf=\"indeterminate; else determineBarBlock\">\r\n <div class=\"progress\" [class.progress-small]=\"!thick\">\r\n <div class=\"progress-bar-{{ color }}\" [class.progress-bar-indeterminate]=\"indeterminate\"></div>\r\n </div>\r\n </div>\r\n <ng-template #determineBarBlock>\r\n <div class=\"progress\" [class.progress-small]=\"!thick\">\r\n <div class=\"progress-bar progress-bar-{{ color }}\" [ngStyle]=\"{ width: value + '%' }\"></div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n<ng-template #circleBlock>\r\n <div class=\"progress-circle-{{ color }}\" [class.progress-circle-indeterminate]=\"indeterminate\"\r\n [class.progress-circle]=\"!indeterminate\" [class.progress-circle-thick]=\"thick\">\r\n <div *ngIf=\"indeterminate; else determineBlock\"></div>\r\n <ng-template #determineBlock>\r\n <div class=\"pie\" [ngStyle]=\"_value2 && { clip: 'rect(auto, auto, auto, auto)' }\">\r\n <div class=\"left-side half-circle\" [ngStyle]=\"_value2 && { transform: 'rotate(' + value + 'deg)' }\"></div>\r\n <div class=\"right-side half-circle\" [ngStyle]=\"{\r\n transform:\r\n _value2 === true ? 'rotate(180deg)' : 'rotate(' + value + 'deg)'\r\n }\"></div>\r\n </div>\r\n <div class=\"shadow\"></div>\r\n </ng-template>\r\n </div>\r\n</ng-template>" }]
2195
- }], ctorParameters: () => [], propDecorators: { type: [{
2196
- type: Input
2197
- }], color: [{
2198
- type: Input
2199
- }], thick: [{
2200
- type: Input
2201
- }], indeterminate: [{
2202
- type: Input
2203
- }], value: [{
2204
- type: Input
2205
- }] } });
2206
-
2207
- /**
2208
- * Component representing a custom card.
2209
- * It provides various styling and animation options for the card layout.
2210
- *
2211
- * Example usage:
2212
- * ```
2213
- * <mefdev-inner-card [Title]="'Card Title'" [Type]="'default'" [MinimalHeader]="false" [ProgressType]="'circle'">
2214
- * Card content goes here...
2215
- * </mefdev-inner-card>
2216
- * ```
2217
- */
2218
- class MefdevInnerCard {
2219
- // constructor() {
2220
- // console.log('1')
2221
- // }
2222
- /**
2223
- * Indicates whether the card is collapsed or not.
2224
- * Default: false
2225
- */
2226
- _isCollapsed = false;
2227
- /**
2228
- * Indicates whether the card is maximized or not.
2229
- * Default: false
2230
- */
2231
- _isMaximixed = false;
2232
- /**
2233
- * Indicates whether the card is in loading state or not.
2234
- * Default: false
2235
- */
2236
- _isLoading = false;
2237
- /**
2238
- * Indicates whether the card has a minimal header or not.
2239
- * Default: false
2240
- */
2241
- _minimalHeader = false;
2242
- /**
2243
- * The message to be displayed in the card.
2244
- */
2245
- _message = "";
2246
- /**
2247
- * The type of message to be displayed in the card (e.g., success, danger, warning).
2248
- * Default: "danger"
2249
- */
2250
- _messageType = "danger";
2251
- /**
2252
- * Indicates whether the message in the card is visible or not.
2253
- * Default: false
2254
- */
2255
- _messageVisible = false;
2256
- /**
2257
- * The type of progress indicator to be displayed in the card (e.g., circle, bar, none).
2258
- * Default: "circle"
2259
- */
2260
- _progressType = "circle";
2261
- /**
2262
- * The color of the progress indicator in the card.
2263
- */
2264
- _progressColor = "";
2265
- /**
2266
- * Indicates whether the tools (e.g., refresh, close, maximize) are shown in the card header or not.
2267
- * Default: true
2268
- */
2269
- _showTools = true;
2270
- _close_card = false;
2271
- _refresh = false;
2272
- _refreshColor = "light";
2273
- /**
2274
- * Indicates whether the close button in the card is visible or not.
2275
- * Default: true
2276
- */
2277
- _close = true;
2278
- /**
2279
- * Indicates whether the toggle button in the card is visible or not.
2280
- * Default: true
2281
- */
2282
- _toggle = true;
2283
- /**
2284
- * Indicates whether the maximize button in the card is visible or not.
2285
- * Default: true
2286
- */
2287
- _maximize = true;
2288
- /**
2289
- * The timeout value in milliseconds for the loading state of the card.
2290
- * If set to 0, the loading state will not automatically turn off.
2291
- * Default: 0
2292
- */
2293
- _timeout = 0;
2294
- /**
2295
- * The title text to be displayed in the card header.
2296
- */
2297
- _titleText = "";
2298
- /**
2299
- * The border style of the card.
2300
- */
2301
- _card_border_style = "";
2302
- /**
2303
- * The type of the card (e.g., default, bordered, minimal).
2304
- * Default: "default"
2305
- */
2306
- _type = "default";
2307
- /**
2308
- * Additional CSS class(es) to be added to the card header.
2309
- */
2310
- _extraHeaderClass = "";
2311
- /**
2312
- * Additional CSS class(es) to be added to the card body.
2313
- */
2314
- _extraBodyClass = "";
2315
- /**
2316
- * Additional CSS class(es) to be added to the card.
2317
- */
2318
- _additionalClasses = "";
2319
- /**
2320
- * ViewChild reference to the host content element.
2321
- */
2322
- _hostContent;
2323
- /**
2324
- * ViewChild reference to the minimal circle loading element.
2325
- */
2326
- minimalCircleLoading;
2327
- /**
2328
- * ViewChild reference to the minimal circle loading trigger element.
2329
- */
2330
- minimalCircleLoadingTrigger;
2331
- /**
2332
- * ContentChild reference to the CardTitle template.
2333
- */
2334
- CardTitle;
2335
- /**
2336
- * ContentChild reference to the CardExtraControls template.
2337
- */
2338
- CardExtraControls;
2339
- // Input properties
2340
- /**
2341
- * The title text to be displayed in the card header.
2342
- */
2343
- set Title(value) {
2344
- this._titleText = value;
2345
- }
2346
- get Title() {
2347
- return this._titleText;
2348
- }
2349
- /**
2350
- * The type of the card (e.g., default, bordered, minimal).
2351
- * Default: "default"
2352
- */
2353
- set Type(value) {
2354
- this._type = value;
2355
- }
2356
- /**
2357
- * Indicates whether the card has a minimal header or not.
2358
- * Default: false
2359
- */
2360
- set MinimalHeader(value) {
2361
- this._minimalHeader = value;
2362
- }
2363
- /**
2364
- * The type of progress indicator to be displayed in the card (e.g., circle, bar, none).
2365
- * Default: "circle"
2366
- */
2367
- set ProgressType(value) {
2368
- this._progressType = value;
2369
- }
2370
- /**
2371
- * The color of the progress indicator in the card.
2372
- */
2373
- set ProgressColor(value) {
2374
- this._progressColor = value;
2375
- }
2376
- /**
2377
- * Indicates whether the card should have a refresh button or not.
2378
- */
2379
- set Refresh(value) {
2380
- this._refresh = value;
2381
- }
2382
- /**
2383
- * The color of the refresh button in the card (e.g., light, dark).
2384
- * Default: "light"
2385
- */
2386
- set RefreshColor(value) {
2387
- this._refreshColor = value;
2388
- }
2389
- /**
2390
- * Indicates whether the card should have a maximize button or not.
2391
- */
2392
- set Maximize(value) {
2393
- this._maximize = value;
2394
- }
2395
- /**
2396
- * Indicates whether the card should have a close button or not.
2397
- */
2398
- set Close(value) {
2399
- this._close = value;
2400
- }
2401
- /**
2402
- * Indicates whether the card should have a toggle button or not.
2403
- */
2404
- set Toggle(value) {
2405
- this._toggle = value;
2406
- }
2407
- /**
2408
- * Additional CSS class(es) to be added to the card header.
2409
- */
2410
- set HeaderClass(value) {
2411
- this._extraHeaderClass = value;
2412
- }
2413
- /**
2414
- * Additional CSS class(es) to be added to the card body.
2415
- */
2416
- set BodyClass(value) {
2417
- this._extraBodyClass = value;
2418
- }
2419
- /**
2420
- * Additional CSS class(es) to be added to the card.
2421
- */
2422
- set AdditionalClasses(value) {
2423
- this._additionalClasses = value;
2424
- }
2425
- /**
2426
- * Indicates whether the tools (e.g., refresh, close, maximize) are shown in the card header or not.
2427
- */
2428
- set Controls(value) {
2429
- this._showTools = value;
2430
- }
2431
- /**
2432
- * Indicates whether the message in the card is visible or not.
2433
- */
2434
- set ShowMessage(value) {
2435
- this._messageVisible = value;
2436
- }
2437
- /**
2438
- * The message text to be displayed in the card.
2439
- */
2440
- set Message(value) {
2441
- this._message = value;
2442
- }
2443
- /**
2444
- * Indicates whether the loading indicator is shown in the card or not.
2445
- */
2446
- set Loading(value) {
2447
- this._isLoading = value;
2448
- }
2449
- /**
2450
- * The timeout duration for the loading indicator (in milliseconds).
2451
- * If set to 0, the loading indicator will be displayed indefinitely until manually dismissed.
2452
- * Default: 0
2453
- */
2454
- set TimeOut(value) {
2455
- this._timeout = value;
2456
- }
2457
- /**
2458
- * The border style of the card.
2459
- */
2460
- set CardBorderStyle(value) {
2461
- this._card_border_style = value;
2462
- }
2463
- // Output properties
2464
- /**
2465
- * Event emitted when the refresh button is clicked.
2466
- */
2467
- onRefresh = new EventEmitter();
2468
- // Other methods and lifecycle hooks
2469
- /**
2470
- * Toggles the collapsed state of the card.
2471
- */
2472
- toggle() {
2473
- this._isCollapsed = this._isCollapsed === true ? false : true;
2474
- }
2475
- /**
2476
- * Maximizes or restores the card to its original position.
2477
- */
2478
- maximize() {
2479
- let nativeElement = this._hostContent.nativeElement;
2480
- if (this._isMaximixed) {
2481
- this._isMaximixed = false;
2482
- nativeElement.style.left = null;
2483
- nativeElement.style.top = null;
2484
- }
2485
- else {
2486
- this._isMaximixed = true;
2487
- let pagecontainer = document.querySelector(".content") ?? new Element();
2488
- console.log(pagecontainer);
2489
- let rect = pagecontainer.getBoundingClientRect();
2490
- let elementRect = nativeElement.getBoundingClientRect();
2491
- let style = window.getComputedStyle(pagecontainer);
2492
- nativeElement.style.left =
2493
- parseFloat(style["marginLeft"]) +
2494
- parseFloat(style["paddingLeft"]) +
2495
- rect.left +
2496
- "px";
2497
- nativeElement.style.top =
2498
- parseFloat(style.paddingTop) + rect.top + "px";
2499
- }
2500
- }
2501
- /**
2502
- * Dismisses the message in the card.
2503
- */
2504
- alertDismiss() {
2505
- this._messageVisible = false;
2506
- }
2507
- /**
2508
- * Triggers the refresh action of the card.
2509
- */
2510
- refresh() {
2511
- if (!this._isLoading) {
2512
- this._isLoading = true;
2513
- this.onRefresh.emit();
2514
- }
2515
- if (this._timeout > 0) {
2516
- setTimeout(() => {
2517
- this._isLoading = false;
2518
- }, this._timeout);
2519
- }
2520
- }
2521
- /**
2522
- * Closes the card.
2523
- */
2524
- close() {
2525
- this._close_card = true;
2526
- }
2527
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefdevInnerCard, deps: [], target: i0.ɵɵFactoryTarget.Component });
2528
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: MefdevInnerCard, isStandalone: false, selector: "mefdev-inner-card", inputs: { Title: "Title", Type: "Type", MinimalHeader: "MinimalHeader", ProgressType: "ProgressType", ProgressColor: "ProgressColor", Refresh: "Refresh", RefreshColor: "RefreshColor", Maximize: "Maximize", Close: "Close", Toggle: "Toggle", HeaderClass: "HeaderClass", BodyClass: "BodyClass", AdditionalClasses: "AdditionalClasses", Controls: "Controls", ShowMessage: "ShowMessage", Message: "Message", Loading: "Loading", TimeOut: "TimeOut", CardBorderStyle: "CardBorderStyle" }, outputs: { onRefresh: "onRefresh" }, queries: [{ propertyName: "CardTitle", first: true, predicate: ["CardTitle"], descendants: true }, { propertyName: "CardExtraControls", first: true, predicate: ["CardExtraControls"], descendants: true }], viewQueries: [{ propertyName: "_hostContent", first: true, predicate: ["hostContent"], descendants: true }, { propertyName: "minimalCircleLoading", first: true, predicate: ["minimalCircleLoading"], descendants: true }, { propertyName: "minimalCircleLoadingTrigger", first: true, predicate: ["minimalCircleLoadingTrigger"], descendants: true }], ngImport: i0, template: "<div class=\"card card-{{ _type }} {{ _additionalClasses }}\" *ngIf=\"!_close_card\" [class.card-collapsed]=\"_isCollapsed\"\r\n [class.card-maximized]=\"_isMaximixed\" #hostContent class=\"col-sm-12 col-md-6 col-lg-4\"\r\n [ngStyle]=\"{'border': _card_border_style}\">\r\n <div class=\"card-header {{ _extraHeaderClass }}\">\r\n <div class=\"card-title\">\r\n <ng-template [ngTemplateOutlet]=\"CardTitle\"></ng-template>\r\n </div>\r\n <div class=\"card-controls\" *ngIf=\"_showTools == true\">\r\n <ng-template [ngTemplateOutlet]=\"CardExtraControls\"></ng-template>\r\n <ul *ngIf=\"_minimalHeader == false; else minimalBlock\">\r\n <li *ngIf=\"_toggle == true\">\r\n <a href=\"javascript:void(0);\" data-toggle class=\"card-collapse\" (click)=\"toggle()\"><i\r\n class=\"pg pg-arrow_maximize\" [class.pg-arrow_minimize]=\"_isCollapsed\"></i></a>\r\n </li>\r\n <li *ngIf=\"_refresh == true\">\r\n <a href=\"javascript:void(0);\" data-toggle class=\"card-refresh\" (click)=\"refresh()\"><i\r\n class=\"card-icon card-icon-refresh\"></i></a>\r\n </li>\r\n <li *ngIf=\"_maximize == true\">\r\n <a href=\"javascript:void(0);\" data-toggle class=\"card-maximize\" (click)=\"maximize()\"><i\r\n class=\"card-icon card-icon-maximize\"></i></a>\r\n </li>\r\n <li *ngIf=\"_close == true\">\r\n <a href=\"javascript:void(0);\" data-toggle class=\"card-close\" (click)=\"close()\"><i\r\n class=\"card-icon card-icon-close\"></i></a>\r\n </li>\r\n </ul>\r\n <!-- <ng-template #minimalBlock>\r\n <ul>\r\n <li>\r\n <a href=\"javascript:void(0);\" (click)=\"refresh()\" class=\"card-refresh minimal\"\r\n [class.refreshing]=\"_isLoading\">\r\n <i #minimalCircleLoadingTrigger class=\"card-icon card-icon-refresh-lg-{{\r\n _refreshColor == 'light' ? 'white' : 'master'\r\n }}\" [class.fade]=\"_isLoading\"></i>\r\n <i #minimalCircleLoading class=\"card-icon-refresh-lg-white-animated\"\r\n style=\"position: absolute;top:0;left:0\" [class.active]=\"_isLoading\"\r\n [class.hide]=\"_isLoading != true\"></i>\r\n </a>\r\n </li>\r\n </ul>\r\n </ng-template> -->\r\n </div>\r\n </div>\r\n <div class=\"card-body {{ _extraBodyClass }}\" [@collapseState]=\"_isCollapsed == true ? 'inactive' : 'active'\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div *ngIf=\"_messageVisible == true\" class=\"pgn-wrapper\" data-position=\"top\">\r\n <div class=\"pgn pgn-bar push-on-sidebar-open\">\r\n <div class=\"alert alert-danger\">\r\n <span>{{ _message }}</span><button class=\"close\" (click)=\"alertDismiss()\" type=\"button\">\r\n <span aria-hidden=\"true\">\u00D7</span><span class=\"sr-only\">{{ 'Close' }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"_messageVisible == true\" class=\"card-progress\" [style.backgroundColor]=\"\r\n _minimalHeader ? 'rgba(0,0,0, 0.6)' : 'rgba(255, 255, 255, 0.8)'\r\n \" style=\" display: block;\"></div>\r\n <div [@fadeAnimation]=\"_isLoading\" class=\"card-progress\" [style.backgroundColor]=\"\r\n _minimalHeader ? 'rgba(0,0,0, 0.6)' : 'rgba(255, 255, 255, 0.8)'\r\n \" style=\"display: block;pointer-events: none\">\r\n <mefdev-progress *ngIf=\"_minimalHeader == false\" type=\"{{ _progressType }}\" color=\"{{ _progressColor }}\"\r\n indeterminate=\"true\" class=\"\"></mefdev-progress>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: MefDevProgressComponent, selector: "mefdev-progress", inputs: ["type", "color", "thick", "indeterminate", "value"] }], animations: [
2529
- trigger("collapseState", [
2530
- state("inactive", style({
2531
- opacity: "0",
2532
- height: 0,
2533
- paddingBottom: "0"
2534
- })),
2535
- state("active", style({
2536
- opacity: "1",
2537
- height: "*",
2538
- paddingBottom: "*"
2539
- })),
2540
- transition("inactive => active", animate("125ms ease-in")),
2541
- transition("active => inactive", animate("125ms ease-out"))
2542
- ]),
2543
- trigger("fadeAnimation", [
2544
- state("false", style({
2545
- opacity: "0",
2546
- visibility: "hidden"
2547
- })),
2548
- state("true", style({
2549
- opacity: "1",
2550
- visibility: "visible"
2551
- })),
2552
- transition("false => true", animate("500ms ease-in")),
2553
- transition("true => false", animate("500ms ease-out"))
2554
- ])
2555
- ], encapsulation: i0.ViewEncapsulation.None });
2556
- }
2557
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefdevInnerCard, decorators: [{
2558
- type: Component,
2559
- args: [{ selector: "mefdev-inner-card", encapsulation: ViewEncapsulation.None, animations: [
2560
- trigger("collapseState", [
2561
- state("inactive", style({
2562
- opacity: "0",
2563
- height: 0,
2564
- paddingBottom: "0"
2565
- })),
2566
- state("active", style({
2567
- opacity: "1",
2568
- height: "*",
2569
- paddingBottom: "*"
2570
- })),
2571
- transition("inactive => active", animate("125ms ease-in")),
2572
- transition("active => inactive", animate("125ms ease-out"))
2573
- ]),
2574
- trigger("fadeAnimation", [
2575
- state("false", style({
2576
- opacity: "0",
2577
- visibility: "hidden"
2578
- })),
2579
- state("true", style({
2580
- opacity: "1",
2581
- visibility: "visible"
2582
- })),
2583
- transition("false => true", animate("500ms ease-in")),
2584
- transition("true => false", animate("500ms ease-out"))
2585
- ])
2586
- ], standalone: false, template: "<div class=\"card card-{{ _type }} {{ _additionalClasses }}\" *ngIf=\"!_close_card\" [class.card-collapsed]=\"_isCollapsed\"\r\n [class.card-maximized]=\"_isMaximixed\" #hostContent class=\"col-sm-12 col-md-6 col-lg-4\"\r\n [ngStyle]=\"{'border': _card_border_style}\">\r\n <div class=\"card-header {{ _extraHeaderClass }}\">\r\n <div class=\"card-title\">\r\n <ng-template [ngTemplateOutlet]=\"CardTitle\"></ng-template>\r\n </div>\r\n <div class=\"card-controls\" *ngIf=\"_showTools == true\">\r\n <ng-template [ngTemplateOutlet]=\"CardExtraControls\"></ng-template>\r\n <ul *ngIf=\"_minimalHeader == false; else minimalBlock\">\r\n <li *ngIf=\"_toggle == true\">\r\n <a href=\"javascript:void(0);\" data-toggle class=\"card-collapse\" (click)=\"toggle()\"><i\r\n class=\"pg pg-arrow_maximize\" [class.pg-arrow_minimize]=\"_isCollapsed\"></i></a>\r\n </li>\r\n <li *ngIf=\"_refresh == true\">\r\n <a href=\"javascript:void(0);\" data-toggle class=\"card-refresh\" (click)=\"refresh()\"><i\r\n class=\"card-icon card-icon-refresh\"></i></a>\r\n </li>\r\n <li *ngIf=\"_maximize == true\">\r\n <a href=\"javascript:void(0);\" data-toggle class=\"card-maximize\" (click)=\"maximize()\"><i\r\n class=\"card-icon card-icon-maximize\"></i></a>\r\n </li>\r\n <li *ngIf=\"_close == true\">\r\n <a href=\"javascript:void(0);\" data-toggle class=\"card-close\" (click)=\"close()\"><i\r\n class=\"card-icon card-icon-close\"></i></a>\r\n </li>\r\n </ul>\r\n <!-- <ng-template #minimalBlock>\r\n <ul>\r\n <li>\r\n <a href=\"javascript:void(0);\" (click)=\"refresh()\" class=\"card-refresh minimal\"\r\n [class.refreshing]=\"_isLoading\">\r\n <i #minimalCircleLoadingTrigger class=\"card-icon card-icon-refresh-lg-{{\r\n _refreshColor == 'light' ? 'white' : 'master'\r\n }}\" [class.fade]=\"_isLoading\"></i>\r\n <i #minimalCircleLoading class=\"card-icon-refresh-lg-white-animated\"\r\n style=\"position: absolute;top:0;left:0\" [class.active]=\"_isLoading\"\r\n [class.hide]=\"_isLoading != true\"></i>\r\n </a>\r\n </li>\r\n </ul>\r\n </ng-template> -->\r\n </div>\r\n </div>\r\n <div class=\"card-body {{ _extraBodyClass }}\" [@collapseState]=\"_isCollapsed == true ? 'inactive' : 'active'\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div *ngIf=\"_messageVisible == true\" class=\"pgn-wrapper\" data-position=\"top\">\r\n <div class=\"pgn pgn-bar push-on-sidebar-open\">\r\n <div class=\"alert alert-danger\">\r\n <span>{{ _message }}</span><button class=\"close\" (click)=\"alertDismiss()\" type=\"button\">\r\n <span aria-hidden=\"true\">\u00D7</span><span class=\"sr-only\">{{ 'Close' }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"_messageVisible == true\" class=\"card-progress\" [style.backgroundColor]=\"\r\n _minimalHeader ? 'rgba(0,0,0, 0.6)' : 'rgba(255, 255, 255, 0.8)'\r\n \" style=\" display: block;\"></div>\r\n <div [@fadeAnimation]=\"_isLoading\" class=\"card-progress\" [style.backgroundColor]=\"\r\n _minimalHeader ? 'rgba(0,0,0, 0.6)' : 'rgba(255, 255, 255, 0.8)'\r\n \" style=\"display: block;pointer-events: none\">\r\n <mefdev-progress *ngIf=\"_minimalHeader == false\" type=\"{{ _progressType }}\" color=\"{{ _progressColor }}\"\r\n indeterminate=\"true\" class=\"\"></mefdev-progress>\r\n </div>\r\n</div>" }]
2587
- }], propDecorators: { _hostContent: [{
2588
- type: ViewChild,
2589
- args: ["hostContent"]
2590
- }], minimalCircleLoading: [{
2591
- type: ViewChild,
2592
- args: ["minimalCircleLoading"]
2593
- }], minimalCircleLoadingTrigger: [{
2594
- type: ViewChild,
2595
- args: ["minimalCircleLoadingTrigger"]
2596
- }], CardTitle: [{
2597
- type: ContentChild,
2598
- args: ["CardTitle"]
2599
- }], CardExtraControls: [{
2600
- type: ContentChild,
2601
- args: ["CardExtraControls"]
2602
- }], Title: [{
2603
- type: Input
2604
- }], Type: [{
2605
- type: Input
2606
- }], MinimalHeader: [{
2607
- type: Input
2608
- }], ProgressType: [{
2609
- type: Input
2610
- }], ProgressColor: [{
2611
- type: Input
2612
- }], Refresh: [{
2613
- type: Input
2614
- }], RefreshColor: [{
2615
- type: Input
2616
- }], Maximize: [{
2617
- type: Input
2618
- }], Close: [{
2619
- type: Input
2620
- }], Toggle: [{
2621
- type: Input
2622
- }], HeaderClass: [{
2623
- type: Input
2624
- }], BodyClass: [{
2625
- type: Input
2626
- }], AdditionalClasses: [{
2627
- type: Input
2628
- }], Controls: [{
2629
- type: Input
2630
- }], ShowMessage: [{
2631
- type: Input
2632
- }], Message: [{
2633
- type: Input
2634
- }], Loading: [{
2635
- type: Input
2636
- }], TimeOut: [{
2637
- type: Input
2638
- }], CardBorderStyle: [{
2639
- type: Input
2640
- }], onRefresh: [{
2641
- type: Output
2642
- }] } });
2643
-
2644
- /**
2645
- * Component for displaying a card with a title, image, and description.
2646
- *
2647
- * Example of usage:
2648
- *
2649
- * ```
2650
- * <mefdev-card>
2651
- * <ng-template #card_title>
2652
- * <!-- Content for the card title -->
2653
- * </ng-template>
2654
- * <ng-template #card_footer>
2655
- * <!-- Content for the card footer -->
2656
- * </ng-template>
2657
- * </mefdev-card>
2658
- * ```
2659
- *
2660
- * <example-url>https://platform.mef.dev/ui_kit_demo/view/page_components/card/card</example-url>
2661
- */
2662
- class CardComponent {
2663
- router;
2664
- /**
2665
- * The template reference to the content of the card title.
2666
- *
2667
- * @usageNotes
2668
- * ```
2669
- * <mefdev-card>
2670
- * <ng-template #card_title>
2671
- * <!-- Content for the card title -->
2672
- * </ng-template>
2673
- * </mefdev-card>
2674
- * ```
2675
- */
2676
- card_title;
2677
- /**
2678
- * The template reference to the content of the card footer.
2679
- * @usageNotes
2680
- * ```
2681
- * <mefdev-card>
2682
- * <ng-template #card_footer>
2683
- * <!-- Content for the card footer -->
2684
- * </ng-template>
2685
- * </mefdev-card>
2686
- * ```
2687
- */
2688
- card_footer;
2689
- /**
2690
- * The type of the card.
2691
- * @usageNotes
2692
- * ```
2693
- * <mefdev-card [card_type] = "'type'"></mefdev-card>
2694
- * ```
2695
- */
2696
- card_type;
2697
- /**
2698
- * The path to the image.
2699
- * @usageNotes
2700
- * ```
2701
- * <mefdev-card [img] = "'img/path/img.png'"></mefdev-card>
2702
- * ```
2703
- */
2704
- img;
2705
- /**
2706
- * The path, where user goes after click at the image.
2707
- * @usageNotes
2708
- * ```
2709
- * <mefdev-card [imgUrl] = "'Img.url'"></mefdev-card>
2710
- * ```
2711
- */
2712
- imgUrl;
2713
- /**
2714
- * The description of the card.
2715
- * @usageNotes
2716
- * ```
2717
- * <mefdev-card [description] = "'description'"></mefdev-card>
2718
- * ```
2719
- */
2720
- description;
2721
- constructor(router) {
2722
- this.router = router;
2723
- }
2724
- ngOnInit() {
2725
- }
2726
- /**
2727
- * Event handler for image click.
2728
- * Navigates to the specified URL.
2729
- */
2730
- imgClick() {
2731
- this.router.navigate(['/', this.imgUrl.toString()]);
2732
- }
2733
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CardComponent, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Component });
2734
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: CardComponent, isStandalone: false, selector: "mefdev-card", inputs: { card_type: "card_type", img: "img", imgUrl: "imgUrl", description: "description" }, queries: [{ propertyName: "card_title", first: true, predicate: ["card_title"], descendants: true }, { propertyName: "card_footer", first: true, predicate: ["card_footer"], descendants: true }], ngImport: i0, template: "<mefdev-inner-card\r\n MinimalHeader=\"true\"\r\n TimeOut=\"2500\"\r\n [Refresh]=\"false\"\r\n [Close]=\"false\">\r\n\r\n <ng-template #CardTitle>\r\n <ng-template class=\"card-title body-1\" [ngTemplateOutlet]=\"card_title\"></ng-template>\r\n </ng-template>\r\n\r\n <div class=\"plugin-type\">\r\n {{ card_type }}\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"m-l-2 card-description\">\r\n <div *ngIf=\"!description || description == ''\" class=\"card-no-description\"> {{'No plugin description'}}</div>\r\n <p>\r\n {{description}}\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"col-12 mt-3 text-center card-img\"\r\n [ngStyle]=\"{'background-color': img ? 'transparent' : '#fff'}\">\r\n <div *ngIf=\"!img || img == ''\">\r\n <img src=\"assets/images/md_icon.png\"\r\n style=\"max-width: 110px; max-height: 110px;\"/>\r\n </div>\r\n <div *ngIf=\"img\">\r\n <img src=\"{{img}}\" alt=\"\" class=\"image-responsive-height img-middle\"\r\n style=\"max-width: 260px; max-height: 150px;\"\r\n onclick=\"imgClick()\"\r\n />\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <div class=\"row mb-3 mt-3\">\r\n <div class=\"col-12\">\r\n <ng-template [ngTemplateOutlet]=\"card_footer\"></ng-template>\r\n </div>\r\n </div>\r\n</mefdev-inner-card>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.h1,h1{font-family:Montserrat,Arial,sans-serif;font-size:32px;line-height:40px;font-weight:700;text-transform:none;color:#000;margin-bottom:16px}.h2,h2{font-family:Montserrat,Arial,sans-serif;font-size:24px;line-height:30px;font-weight:700;text-transform:none;color:#000;margin-bottom:12px}.h3,h3{font-family:Montserrat,Arial,sans-serif;font-size:18px;line-height:24px;font-weight:600;text-transform:none;color:#000;margin-bottom:10px}.h4,h4{font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:22px;font-weight:600;text-transform:none;letter-spacing:.5px;color:#000;margin-bottom:8px}.h5,h5{font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:20px;font-weight:500;text-transform:none;color:#000;margin-bottom:6px}.h6,.plugin-type,h6{font-family:Montserrat,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:500;text-transform:none;color:#000;margin-bottom:4px}.body-1,::ng-deep .card-title span,body-1{font-family:Open Sans,Arial,sans-serif;font-size:18px;line-height:27px;font-weight:700;color:#000}.body-2,body-2{font-family:Open Sans,Arial,sans-serif;font-size:16px;line-height:24px;font-weight:400;color:#000}.body-3,body-3{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:700;color:#000}.body-4,body-4{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:400;color:#000}.body-5,.card-description,.card-no-description,body-5{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:600;color:#000}.body-6,body-6{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:16px;font-weight:400;color:#000}::ng-deep .card-title{width:70%}.plugin-type{right:20px;top:25px;position:absolute;background-color:#cf0106;border-radius:5px 0 0 5px;margin-right:-20px;height:28px;padding:5px 15px;color:#fff}.card-description{height:40px;overflow-y:clip;color:#4d4d4d}.card-no-description{overflow-y:clip;height:60px;color:#929292}.card-img{padding:0;height:130px;display:flex;align-items:center;justify-content:center;width:-webkit-fill-available;margin-right:calc(var(--bs-gutter-x) * .5);margin-left:calc(var(--bs-gutter-x) * .5)}.card-default{background-color:#eaeaea;border-radius:5px}.card-header{height:72px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: MefdevInnerCard, selector: "mefdev-inner-card", inputs: ["Title", "Type", "MinimalHeader", "ProgressType", "ProgressColor", "Refresh", "RefreshColor", "Maximize", "Close", "Toggle", "HeaderClass", "BodyClass", "AdditionalClasses", "Controls", "ShowMessage", "Message", "Loading", "TimeOut", "CardBorderStyle"], outputs: ["onRefresh"] }] });
2735
- }
2736
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CardComponent, decorators: [{
2737
- type: Component,
2738
- args: [{ selector: 'mefdev-card', standalone: false, template: "<mefdev-inner-card\r\n MinimalHeader=\"true\"\r\n TimeOut=\"2500\"\r\n [Refresh]=\"false\"\r\n [Close]=\"false\">\r\n\r\n <ng-template #CardTitle>\r\n <ng-template class=\"card-title body-1\" [ngTemplateOutlet]=\"card_title\"></ng-template>\r\n </ng-template>\r\n\r\n <div class=\"plugin-type\">\r\n {{ card_type }}\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"m-l-2 card-description\">\r\n <div *ngIf=\"!description || description == ''\" class=\"card-no-description\"> {{'No plugin description'}}</div>\r\n <p>\r\n {{description}}\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"col-12 mt-3 text-center card-img\"\r\n [ngStyle]=\"{'background-color': img ? 'transparent' : '#fff'}\">\r\n <div *ngIf=\"!img || img == ''\">\r\n <img src=\"assets/images/md_icon.png\"\r\n style=\"max-width: 110px; max-height: 110px;\"/>\r\n </div>\r\n <div *ngIf=\"img\">\r\n <img src=\"{{img}}\" alt=\"\" class=\"image-responsive-height img-middle\"\r\n style=\"max-width: 260px; max-height: 150px;\"\r\n onclick=\"imgClick()\"\r\n />\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <div class=\"row mb-3 mt-3\">\r\n <div class=\"col-12\">\r\n <ng-template [ngTemplateOutlet]=\"card_footer\"></ng-template>\r\n </div>\r\n </div>\r\n</mefdev-inner-card>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.h1,h1{font-family:Montserrat,Arial,sans-serif;font-size:32px;line-height:40px;font-weight:700;text-transform:none;color:#000;margin-bottom:16px}.h2,h2{font-family:Montserrat,Arial,sans-serif;font-size:24px;line-height:30px;font-weight:700;text-transform:none;color:#000;margin-bottom:12px}.h3,h3{font-family:Montserrat,Arial,sans-serif;font-size:18px;line-height:24px;font-weight:600;text-transform:none;color:#000;margin-bottom:10px}.h4,h4{font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:22px;font-weight:600;text-transform:none;letter-spacing:.5px;color:#000;margin-bottom:8px}.h5,h5{font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:20px;font-weight:500;text-transform:none;color:#000;margin-bottom:6px}.h6,.plugin-type,h6{font-family:Montserrat,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:500;text-transform:none;color:#000;margin-bottom:4px}.body-1,::ng-deep .card-title span,body-1{font-family:Open Sans,Arial,sans-serif;font-size:18px;line-height:27px;font-weight:700;color:#000}.body-2,body-2{font-family:Open Sans,Arial,sans-serif;font-size:16px;line-height:24px;font-weight:400;color:#000}.body-3,body-3{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:700;color:#000}.body-4,body-4{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:400;color:#000}.body-5,.card-description,.card-no-description,body-5{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:600;color:#000}.body-6,body-6{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:16px;font-weight:400;color:#000}::ng-deep .card-title{width:70%}.plugin-type{right:20px;top:25px;position:absolute;background-color:#cf0106;border-radius:5px 0 0 5px;margin-right:-20px;height:28px;padding:5px 15px;color:#fff}.card-description{height:40px;overflow-y:clip;color:#4d4d4d}.card-no-description{overflow-y:clip;height:60px;color:#929292}.card-img{padding:0;height:130px;display:flex;align-items:center;justify-content:center;width:-webkit-fill-available;margin-right:calc(var(--bs-gutter-x) * .5);margin-left:calc(var(--bs-gutter-x) * .5)}.card-default{background-color:#eaeaea;border-radius:5px}.card-header{height:72px}\n"] }]
2739
- }], ctorParameters: () => [{ type: i1$1.Router }], propDecorators: { card_title: [{
2740
- type: ContentChild,
2741
- args: ["card_title"]
2742
- }], card_footer: [{
2743
- type: ContentChild,
2744
- args: ["card_footer"]
2745
- }], card_type: [{
2746
- type: Input
2747
- }], img: [{
2748
- type: Input
2749
- }], imgUrl: [{
2750
- type: Input
2751
- }], description: [{
2752
- type: Input
2753
- }] } });
2754
-
2755
- var CartTypeColors;
2756
- (function (CartTypeColors) {
2757
- CartTypeColors["UNSET"] = "UNSET";
2758
- CartTypeColors["RED"] = "RED";
2759
- CartTypeColors["GREEN"] = "GREEN";
2760
- })(CartTypeColors || (CartTypeColors = {}));
2761
-
2762
- /**
2763
- * Component for displaying a long card with a title, parameters, and description.
2764
- *
2765
- * Example of usage:
2766
- *
2767
- * ```
2768
- * <mefdev-card-long
2769
- * [type_text]="'Type Text'"
2770
- * [type_color]="CartTypeColors.RED"
2771
- * [img]="'path/to/image.jpg'"
2772
- * [imgUrl]="'path/to/image'"
2773
- * [description]="'Card description'">
2774
- *
2775
- * <ng-template #title>
2776
- * <!-- Content for the card title -->
2777
- * </ng-template>
2778
-
2779
- * <ng-template #params>
2780
- * <!-- Content for the card parameters -->
2781
- * </ng-template>
2782
-
2783
- * <ng-template #second_col>
2784
- * <!-- Content for the second column -->
2785
- * </ng-template>
2786
-
2787
- * <ng-template #third_col>
2788
- * <!-- Content for the third column -->
2789
- * </ng-template>
2790
- * </mefdev-card-long>
2791
- * ```
2792
- *
2793
- * <example-url>https://platform.mef.dev/ui_kit_demo/view/page_components/card/card_long</example-url>
2794
- */
2795
- class CardLongComponent {
2796
- router;
2797
- /**
2798
- * Template for displaying the title of the card.
2799
- * ```
2800
- * <mefdev-card-long>
2801
- * <ng-template #title>
2802
- * <!-- Content for the card title -->
2803
- * </ng-template>
2804
- * </mefdev-card-long>
2805
- * ```
2806
- */
2807
- title;
2808
- /**
2809
- * Template for displaying the parameters of the card.
2810
- * ```
2811
- * <mefdev-card-long>
2812
- * <ng-template #params>
2813
- * <!-- Content for the card params -->
2814
- * </ng-template>
2815
- * </mefdev-card-long>
2816
- * ```
2817
- */
2818
- params;
2819
- /**
2820
- * Template for displaying the content of the second column.
2821
- * ```
2822
- * <mefdev-card-long>
2823
- * <ng-template #second_col>
2824
- * <!-- Content for the card second column -->
2825
- * </ng-template>
2826
- * </mefdev-card-long>
2827
- * ```
2828
- */
2829
- second_col;
2830
- /**
2831
- * Template for displaying the content of the third column.
2832
- * ```
2833
- * <mefdev-card-long>
2834
- * <ng-template #third_col>
2835
- * <!-- Content for the card third column -->
2836
- * </ng-template>
2837
- * </mefdev-card-long>
2838
- * ```
2839
- */
2840
- third_col;
2841
- /**
2842
- * The text for the card type.
2843
- * @usageNotes
2844
- * ```
2845
- * <mefdev-card-long type_text = "'Type'"></<mefdev-card-long>
2846
- * ```
2847
- */
2848
- type_text;
2849
- /**
2850
- * The color of the card type.
2851
- * @usageNotes
2852
- * ```
2853
- * <mefdev-card-long type_color = "'RED'"></<mefdev-card-long>
2854
- * ```
2855
- * Colors: RED, UNSET, GREEN
2856
-
2857
- */
2858
- type_color = CartTypeColors.UNSET;
2859
- /**
2860
- * The path to the image.
2861
- * @usageNotes
2862
- * ```
2863
- * <mefdev-card-long [img] = "'img/path/img.png'"></mefdev-card-long>
2864
- * ```
2865
- */
2866
- img;
2867
- /**
2868
- * The path, where user goes after click at the image.
2869
- * @usageNotes
2870
- * ```
2871
- * <mefdev-card-long [imgUrl] = "'Img.url'"></mefdev-card-long>
2872
- * ```
2873
- */
2874
- imgUrl;
2875
- /**
2876
- * The description of the card.
2877
- * @usageNotes
2878
- * ```
2879
- * <mefdev-card-long [description] = "'description'"></mefdev-card-long>
2880
- * ```
2881
- */
2882
- description;
2883
- constructor(router) {
2884
- this.router = router;
2885
- }
2886
- ngOnInit() {
2887
- }
2888
- /**
2889
- * Event handler for image click.
2890
- * Navigates to the specified URL.
2891
- */
2892
- imgClick() {
2893
- this.router.navigate(['/', this.imgUrl.toString()]);
2894
- }
2895
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CardLongComponent, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Component });
2896
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: CardLongComponent, isStandalone: false, selector: "mefdev-card-long", inputs: { type_text: "type_text", type_color: "type_color", img: "img", imgUrl: "imgUrl", description: "description" }, queries: [{ propertyName: "title", first: true, predicate: ["title"], descendants: true }, { propertyName: "params", first: true, predicate: ["params"], descendants: true }, { propertyName: "second_col", first: true, predicate: ["second_col"], descendants: true }, { propertyName: "third_col", first: true, predicate: ["third_col"], descendants: true }], ngImport: i0, template: "<mefdev-inner-card\r\n MinimalHeader=\"true\"\r\n TimeOut=\"2500\"\r\n [Refresh]=\"false\"\r\n [Close]=\"false\"\r\n>\r\n\r\n <ng-template #CardTitle>\r\n <ng-template class=\"card-title\" [ngTemplateOutlet]=\"title\"></ng-template>\r\n </ng-template>\r\n\r\n <ng-template #CardExtraControls>\r\n <div class=\"plugin-type\"\r\n [ngClass]=\"{\r\n 'b-color-Light-Gray-1': type_color === 'UNSET',\r\n 'b-color-Red': type_color === 'RED',\r\n 'b-color-Green': type_color === 'GREEN'}\">\r\n {{type_text}}\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"row h-100 m-b-10\">\r\n <div class=\"col-lg-3 col-12 card-col\">\r\n <div class=\"row\">\r\n <div class=\"col-12 card-img m-b-10\">\r\n <div *ngIf=\"!img || img == ''\">\r\n <img src=\"assets/images/md_icon.png\"\r\n style=\"max-width: 110px; max-height: 110px;\"/>\r\n </div>\r\n <div *ngIf=\"img\">\r\n <img src=\"{{img}}\" alt=\"\" class=\"image-responsive-height img-middle\"\r\n height=\"110px\"\r\n style=\"max-width: 110px; max-height: 110px;\"\r\n onclick=\"imgClick()\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 m-t-2 body-6 text-dark params-block\">\r\n <ng-template [ngTemplateOutlet]=\"params\"></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-5 col-12 card-col\">\r\n <ng-template [ngTemplateOutlet]=\"second_col\"></ng-template>\r\n </div>\r\n\r\n <div class=\"col-lg-4 col-12 card-col mt-lg-0 mt-5\">\r\n <ng-template [ngTemplateOutlet]=\"third_col\"></ng-template>\r\n </div>\r\n\r\n </div>\r\n</mefdev-inner-card>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.h1,h1{font-family:Montserrat,Arial,sans-serif;font-size:32px;line-height:40px;font-weight:700;text-transform:none;color:#000;margin-bottom:16px}.h2,h2{font-family:Montserrat,Arial,sans-serif;font-size:24px;line-height:30px;font-weight:700;text-transform:none;color:#000;margin-bottom:12px}.h3,:host::ng-deep .card-title span,h3{font-family:Montserrat,Arial,sans-serif;font-size:18px;line-height:24px;font-weight:600;text-transform:none;color:#000;margin-bottom:10px}.h4,h4{font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:22px;font-weight:600;text-transform:none;letter-spacing:.5px;color:#000;margin-bottom:8px}.h5,h5{font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:20px;font-weight:500;text-transform:none;color:#000;margin-bottom:6px}.h6,:host::ng-deep .plugin-type,h6{font-family:Montserrat,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:500;text-transform:none;color:#000;margin-bottom:4px}.body-1,body-1{font-family:Open Sans,Arial,sans-serif;font-size:18px;line-height:27px;font-weight:700;color:#000}.body-2,body-2{font-family:Open Sans,Arial,sans-serif;font-size:16px;line-height:24px;font-weight:400;color:#000}.body-3,body-3{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:700;color:#000}.body-4,body-4{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:400;color:#000}.body-5,:host::ng-deep .card-description,:host::ng-deep .card-no-description,body-5{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:600;color:#000}.body-6,body-6{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:16px;font-weight:400;color:#000}:host::ng-deep .params-block .row{margin-top:.75em}:host::ng-deep .params-block .row:last-child{margin-bottom:.75em}:host::ng-deep .card-col{min-height:220px}:host::ng-deep .header-link{opacity:1}:host::ng-deep .card-default{background-color:#f3f3f3;border-radius:5px}:host::ng-deep .card-title{width:80%;color:#000}:host::ng-deep .plugin-type{border-radius:5px 0 0 5px;margin-right:-20px;height:28px;padding:5px 15px;color:#fff}:host::ng-deep .card-description{height:40px;overflow-y:clip;color:#4d4d4d}:host::ng-deep .card-no-description{overflow-y:clip;height:60px;color:#929292}:host::ng-deep .card-img{padding:0;height:130px;background-color:#fff;display:flex;align-items:center;justify-content:center;width:-webkit-fill-available;margin-right:calc(var(--bs-gutter-x) * .5);margin-left:calc(var(--bs-gutter-x) * .5)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MefdevInnerCard, selector: "mefdev-inner-card", inputs: ["Title", "Type", "MinimalHeader", "ProgressType", "ProgressColor", "Refresh", "RefreshColor", "Maximize", "Close", "Toggle", "HeaderClass", "BodyClass", "AdditionalClasses", "Controls", "ShowMessage", "Message", "Loading", "TimeOut", "CardBorderStyle"], outputs: ["onRefresh"] }] });
2897
- }
2898
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CardLongComponent, decorators: [{
2899
- type: Component,
2900
- args: [{ selector: 'mefdev-card-long', standalone: false, template: "<mefdev-inner-card\r\n MinimalHeader=\"true\"\r\n TimeOut=\"2500\"\r\n [Refresh]=\"false\"\r\n [Close]=\"false\"\r\n>\r\n\r\n <ng-template #CardTitle>\r\n <ng-template class=\"card-title\" [ngTemplateOutlet]=\"title\"></ng-template>\r\n </ng-template>\r\n\r\n <ng-template #CardExtraControls>\r\n <div class=\"plugin-type\"\r\n [ngClass]=\"{\r\n 'b-color-Light-Gray-1': type_color === 'UNSET',\r\n 'b-color-Red': type_color === 'RED',\r\n 'b-color-Green': type_color === 'GREEN'}\">\r\n {{type_text}}\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"row h-100 m-b-10\">\r\n <div class=\"col-lg-3 col-12 card-col\">\r\n <div class=\"row\">\r\n <div class=\"col-12 card-img m-b-10\">\r\n <div *ngIf=\"!img || img == ''\">\r\n <img src=\"assets/images/md_icon.png\"\r\n style=\"max-width: 110px; max-height: 110px;\"/>\r\n </div>\r\n <div *ngIf=\"img\">\r\n <img src=\"{{img}}\" alt=\"\" class=\"image-responsive-height img-middle\"\r\n height=\"110px\"\r\n style=\"max-width: 110px; max-height: 110px;\"\r\n onclick=\"imgClick()\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 m-t-2 body-6 text-dark params-block\">\r\n <ng-template [ngTemplateOutlet]=\"params\"></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-5 col-12 card-col\">\r\n <ng-template [ngTemplateOutlet]=\"second_col\"></ng-template>\r\n </div>\r\n\r\n <div class=\"col-lg-4 col-12 card-col mt-lg-0 mt-5\">\r\n <ng-template [ngTemplateOutlet]=\"third_col\"></ng-template>\r\n </div>\r\n\r\n </div>\r\n</mefdev-inner-card>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.h1,h1{font-family:Montserrat,Arial,sans-serif;font-size:32px;line-height:40px;font-weight:700;text-transform:none;color:#000;margin-bottom:16px}.h2,h2{font-family:Montserrat,Arial,sans-serif;font-size:24px;line-height:30px;font-weight:700;text-transform:none;color:#000;margin-bottom:12px}.h3,:host::ng-deep .card-title span,h3{font-family:Montserrat,Arial,sans-serif;font-size:18px;line-height:24px;font-weight:600;text-transform:none;color:#000;margin-bottom:10px}.h4,h4{font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:22px;font-weight:600;text-transform:none;letter-spacing:.5px;color:#000;margin-bottom:8px}.h5,h5{font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:20px;font-weight:500;text-transform:none;color:#000;margin-bottom:6px}.h6,:host::ng-deep .plugin-type,h6{font-family:Montserrat,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:500;text-transform:none;color:#000;margin-bottom:4px}.body-1,body-1{font-family:Open Sans,Arial,sans-serif;font-size:18px;line-height:27px;font-weight:700;color:#000}.body-2,body-2{font-family:Open Sans,Arial,sans-serif;font-size:16px;line-height:24px;font-weight:400;color:#000}.body-3,body-3{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:700;color:#000}.body-4,body-4{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:400;color:#000}.body-5,:host::ng-deep .card-description,:host::ng-deep .card-no-description,body-5{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:600;color:#000}.body-6,body-6{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:16px;font-weight:400;color:#000}:host::ng-deep .params-block .row{margin-top:.75em}:host::ng-deep .params-block .row:last-child{margin-bottom:.75em}:host::ng-deep .card-col{min-height:220px}:host::ng-deep .header-link{opacity:1}:host::ng-deep .card-default{background-color:#f3f3f3;border-radius:5px}:host::ng-deep .card-title{width:80%;color:#000}:host::ng-deep .plugin-type{border-radius:5px 0 0 5px;margin-right:-20px;height:28px;padding:5px 15px;color:#fff}:host::ng-deep .card-description{height:40px;overflow-y:clip;color:#4d4d4d}:host::ng-deep .card-no-description{overflow-y:clip;height:60px;color:#929292}:host::ng-deep .card-img{padding:0;height:130px;background-color:#fff;display:flex;align-items:center;justify-content:center;width:-webkit-fill-available;margin-right:calc(var(--bs-gutter-x) * .5);margin-left:calc(var(--bs-gutter-x) * .5)}\n"] }]
2901
- }], ctorParameters: () => [{ type: i1$1.Router }], propDecorators: { title: [{
2902
- type: ContentChild,
2903
- args: ["title"]
2904
- }], params: [{
2905
- type: ContentChild,
2906
- args: ["params"]
2907
- }], second_col: [{
2908
- type: ContentChild,
2909
- args: ["second_col"]
2910
- }], third_col: [{
2911
- type: ContentChild,
2912
- args: ["third_col"]
2913
- }], type_text: [{
2914
- type: Input
2915
- }], type_color: [{
2916
- type: Input
2917
- }], img: [{
2918
- type: Input
2919
- }], imgUrl: [{
2920
- type: Input
2921
- }], description: [{
2922
- type: Input
2923
- }] } });
2924
-
2925
- /**
2926
- * Component for displaying a simple card with a title.
2927
- *
2928
- * Example of usage:
2929
- *```
2930
- * <mefdev-card-simple [disabled]="true">
2931
- * <ng-template #card_title>
2932
- * <!-- Content for the card title -->
2933
- * </ng-template>
2934
- * </mefdev-card-simple>
2935
- *```
2936
- *
2937
- * <example-url>https://platform.mef.dev/ui_kit_demo/view/page_components/card/card_simple</example-url>
2938
- */
2939
- class CardSimpleComponent {
2940
- /**
2941
- * Determines whether the card is disabled or not.
2942
- */
2943
- isDisabled = false;
2944
- /**
2945
- * Template for displaying the title of the card.
2946
- *```
2947
- * <mefdev-card-simple>
2948
- * <ng-template #card_title>
2949
- * <h3>Card Title</h3>
2950
- * </ng-template>
2951
- * </mefdev-card-simple>
2952
- *```
2953
- */
2954
- card_title;
2955
- constructor() { }
2956
- ngOnInit() {
2957
- }
2958
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CardSimpleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2959
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: CardSimpleComponent, isStandalone: false, selector: "mefdev-card-simple", inputs: { isDisabled: ["disabled", "isDisabled"] }, queries: [{ propertyName: "card_title", first: true, predicate: ["card_title"], descendants: true }], ngImport: i0, template: "<div class=\"card-simple\" [ngClass]=\"{ 'unused-block':isDisabled }\">\r\n <div class=\"row m-2 body-1\" *ngIf=\"card_title\">\r\n <div class=\"col-12\">\r\n <ng-template [ngTemplateOutlet]=\"card_title\"></ng-template>\r\n </div>\r\n </div>\r\n <div class=\"row m-2\">\r\n <div class=\"col-12\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.card-simple{background-color:#f3f3f3;padding:.5em;border-radius:5px}.unused-block{opacity:.6;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
2960
- }
2961
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CardSimpleComponent, decorators: [{
2962
- type: Component,
2963
- args: [{ selector: 'mefdev-card-simple', standalone: false, template: "<div class=\"card-simple\" [ngClass]=\"{ 'unused-block':isDisabled }\">\r\n <div class=\"row m-2 body-1\" *ngIf=\"card_title\">\r\n <div class=\"col-12\">\r\n <ng-template [ngTemplateOutlet]=\"card_title\"></ng-template>\r\n </div>\r\n </div>\r\n <div class=\"row m-2\">\r\n <div class=\"col-12\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.card-simple{background-color:#f3f3f3;padding:.5em;border-radius:5px}.unused-block{opacity:.6;pointer-events:none}\n"] }]
2964
- }], ctorParameters: () => [], propDecorators: { isDisabled: [{
2965
- type: Input,
2966
- args: ["disabled"]
2967
- }], card_title: [{
2968
- type: ContentChild,
2969
- args: ["card_title"]
2970
- }] } });
2971
-
2972
- class ProgressConfig {
2973
- color = "primary";
2974
- thickness = 1;
2975
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ProgressConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2976
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ProgressConfig });
2977
- }
2978
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ProgressConfig, decorators: [{
2979
- type: Injectable
2980
- }] });
2981
-
2982
- class MefDevProgressModule {
2983
- static forRoot() {
2984
- return { ngModule: MefDevProgressModule, providers: [ProgressConfig] };
2985
- }
2986
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevProgressModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2987
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MefDevProgressModule, declarations: [MefDevProgressComponent], imports: [CommonModule], exports: [MefDevProgressComponent] });
2988
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevProgressModule, imports: [CommonModule] });
2989
- }
2990
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevProgressModule, decorators: [{
2991
- type: NgModule,
2992
- args: [{
2993
- imports: [CommonModule],
2994
- declarations: [MefDevProgressComponent],
2995
- exports: [MefDevProgressComponent]
2996
- }]
2997
- }] });
2998
-
2999
- class MefdevInnerCardModule {
3000
- static forRoot() {
3001
- return {
3002
- ngModule: MefdevInnerCardModule
3003
- };
3004
- }
3005
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefdevInnerCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3006
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MefdevInnerCardModule, declarations: [MefdevInnerCard], imports: [CommonModule, MefDevProgressModule], exports: [MefdevInnerCard] });
3007
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefdevInnerCardModule, imports: [CommonModule, MefDevProgressModule] });
3008
- }
3009
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefdevInnerCardModule, decorators: [{
3010
- type: NgModule,
3011
- args: [{
3012
- declarations: [MefdevInnerCard],
3013
- exports: [MefdevInnerCard],
3014
- imports: [CommonModule, MefDevProgressModule]
3015
- }]
3016
- }] });
3017
-
3018
- const mefDevCardComponents = [CardComponent, CardLongComponent, CardSimpleComponent];
3019
- class MefDevCardModule {
3020
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3021
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MefDevCardModule, declarations: [CardComponent, CardLongComponent, CardSimpleComponent], imports: [CommonModule,
3022
- MefDevCollapseModule,
3023
- MefDevSelectModule,
3024
- MefdevInnerCardModule], exports: [CardComponent, CardLongComponent, CardSimpleComponent] });
3025
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevCardModule, imports: [CommonModule,
3026
- MefDevCollapseModule,
3027
- MefDevSelectModule,
3028
- MefdevInnerCardModule] });
3029
- }
3030
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevCardModule, decorators: [{
3031
- type: NgModule,
3032
- args: [{
3033
- declarations: mefDevCardComponents,
3034
- exports: mefDevCardComponents,
3035
- imports: [
3036
- CommonModule,
3037
- MefDevCollapseModule,
3038
- MefDevSelectModule,
3039
- MefdevInnerCardModule,
3040
- ]
3041
- }]
3042
- }] });
3043
-
3044
- /**
3045
- * Fill Component for a modal window.
3046
- *
3047
- * Example of usage:
3048
- * ```
3049
- * <mefdev-fill-modal #pin_modal>
3050
- * <!-- Modal header content -->
3051
- * <ng-template #modal_header>
3052
- * <!-- Header content goes here -->
3053
- * </ng-template>
3054
- *
3055
- * <!-- Modal footer content -->
3056
- * <ng-template #modal_footer>
3057
- * <!-- Footer content goes here -->
3058
- * </ng-template>
3059
- * </mefdev-fill-modal>
3060
- * ```
3061
- *
3062
- * <example-url>https://platform.mef.dev/ui_kit_demo/view/page_components/modals/fill</example-url>
3063
- */
3064
- class FillComponent {
3065
- visible = false;
3066
- dialog;
3067
- /**
3068
- * The header template of the modal window.
3069
- * ```
3070
- * <mefdev-fill-modal #pin_modal>
3071
- * <ng-template #modal_header>
3072
- * <!-- Header content goes here -->
3073
- * </ng-template>
3074
- * </mefdev-fill-modal>
3075
- * ```
3076
- */
3077
- modal_header;
3078
- /**
3079
- * The footer template of the modal window.
3080
- * ```
3081
- * <mefdev-fill-modal #pin_modal>
3082
- * <ng-template #modal_footer>
3083
- * <!-- Footer content goes here -->
3084
- * </ng-template>
3085
- * </mefdev-fill-modal>
3086
- * ```
3087
- */
3088
- modal_footer;
3089
- /**
3090
- * Input parameter that determines whether to show the modal window.
3091
- */
3092
- set show(val) {
3093
- if (val) {
3094
- this.showModal();
3095
- }
3096
- else {
3097
- this.hideModal();
3098
- }
3099
- }
3100
- ;
3101
- /**
3102
- * Event emitted when the modal is change state.
3103
- * Emits a boolean value indicating if the modal is closed(false), or open(true).
3104
- * Example:
3105
- * ```
3106
- * <mefdev-fill-modal (visibleChange)="onModalClosed($event)"></mefdev-fill-modal>
3107
- * ```
3108
- */
3109
- visibleChange = new EventEmitter();
3110
- constructor() { }
3111
- ngOnInit() {
3112
- }
3113
- /**
3114
- * Shows the modal state.
3115
- * Return a boolean value indicating if the modal is closed(false), or open(true)
3116
- */
3117
- getModalState() {
3118
- return this.visible;
3119
- }
3120
- /**
3121
- * Shows the modal.
3122
- * Call this method to open the modal window.
3123
- */
3124
- showModal() {
3125
- this.visible = true;
3126
- this.visibleChange.emit(this.visible);
3127
- }
3128
- /**
3129
- * Hides the modal.
3130
- * Call this method to close the modal window.
3131
- */
3132
- hideModal() {
3133
- this.visible = false;
3134
- this.visibleChange.emit(this.visible);
1584
+ hideModal() {
1585
+ this.visible = false;
1586
+ this.visibleChange.emit(this.visible);
3135
1587
  }
3136
1588
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: FillComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3137
1589
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: FillComponent, isStandalone: false, selector: "mefdev-fill-modal", inputs: { show: "show" }, outputs: { visibleChange: "visibleChange" }, queries: [{ propertyName: "modal_header", first: true, predicate: ["modal_header"], descendants: true }, { propertyName: "modal_footer", first: true, predicate: ["modal_footer"], descendants: true }], viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }], ngImport: i0, template: "<button *ngIf=\"visible\" (click)=\"hideModal()\" aria-label=\"Close\" class=\"dialog__close-btn\">X</button>\r\n<div [@dialog] *ngIf=\"visible\" class=\"dialog\" #dialog>\r\n\t<div class=\"modal-content\">\r\n <div class=\"modal-header clearfix text-left\">\r\n <ng-template [ngTemplateOutlet]=\"modal_header\"></ng-template>\r\n </div>\r\n <div class=\"modal-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <ng-template [ngTemplateOutlet]=\"modal_footer\"></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n<div *ngIf=\"visible\" class=\"overlay\" (click)=\"hideModal()\"></div>\r\n", styles: [".overlay{position:fixed;inset:0;background-color:#ffffffd9;z-index:999}.dialog{z-index:1000;position:fixed;right:0;left:0;top:0;margin-left:auto;margin-right:auto;height:100%;min-height:200px;min-width:520px;max-width:90%;width:fit-content;padding:12px;overflow-y:auto;display:flex;align-items:center}.dialog__close-btn{border:0;background:none;color:#2d2d2d;position:absolute;top:8px;right:8px;font-size:1.2em;z-index:1001}.modal-footer{padding-top:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
@@ -3492,140 +1944,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
3492
1944
  }]
3493
1945
  }] });
3494
1946
 
3495
- /**
3496
- * A component representing a user profile.
3497
- *
3498
- * Example of usage:
3499
- *
3500
- * ```
3501
- * <mefdev-profile
3502
- * [name]="'John Doe'"
3503
- * [img]="'assets/profile.png'"
3504
- * [shortDescription]="'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'"
3505
- * [header]="'User Profile'"
3506
- * [circleImg]="'true'">
3507
- * <ng-template #first_colum>
3508
- * <!-- Content for the first column -->
3509
- * </ng-template>
3510
- * <ng-template #second_colum>
3511
- * <!-- Content for the second column -->
3512
- * </ng-template>
3513
- * <ng-template #footer>
3514
- * <!-- Content for the footer -->
3515
- * </ng-template>
3516
- * </mefdev-profile>
3517
- * ```
3518
- *
3519
- * <example-url>https://platform.mef.dev/ui_kit_demo/view/page_layouts/profile</example-url>
3520
- */
3521
- class ProfileComponent {
3522
- /**
3523
- * The template reference to the content of the first column.
3524
- *```
3525
- * <ng-template #first_colum>
3526
- * <!-- Content for the first column -->
3527
- * </ng-template>
3528
- *```
3529
- */
3530
- first_colum;
3531
- /**
3532
- * The template reference to the content of the second column.
3533
- *```
3534
- * <ng-template #second_colum>
3535
- * <!-- Content for the second column -->
3536
- * </ng-template>
3537
- *```
3538
- */
3539
- second_colum;
3540
- /**
3541
- * The template reference to the content of the footer.
3542
- *```
3543
- * <ng-template #footer>
3544
- * <!-- Content for the footer -->
3545
- * </ng-template>
3546
- *```
3547
- */
3548
- footer;
3549
- /**
3550
- * The name of the user.
3551
- * ```
3552
- * <mefdev-profile [name]="'John Doe'"></mefdev-profile>
3553
- * ```
3554
- */
3555
- name;
3556
- /**
3557
- * The URL of the user's profile image.
3558
- * ```
3559
- * <mefdev-profile [img]="'assets/profile.png'"></mefdev-profile>
3560
- * ```
3561
- */
3562
- img = '';
3563
- /**
3564
- * A short description of the user.
3565
- * ```
3566
- * <mefdev-profile [shortDescription]="'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'"></mefdev-profile>
3567
- * ```
3568
- */
3569
- shortDescription;
3570
- /**
3571
- * The header title of the profile component.
3572
- * ```
3573
- * <mefdev-profile [header]="'User Profile'"></mefdev-profile>
3574
- * ```
3575
- */
3576
- header;
3577
- /**
3578
- * A flag indicating whether to display the profile image as a circle. Default "false".
3579
- * ```
3580
- * <mefdev-profile [circleImg]="'true'"></mefdev-profile>
3581
- * ```
3582
- */
3583
- circleImg = false;
3584
- constructor() { }
3585
- ngOnInit() {
3586
- }
3587
- get sizeStyle() {
3588
- // return { 'width.px': this.width, 'height.px': this.height };
3589
- /**
3590
- * Returns the CSS style for the profile image size and shape.
3591
- */
3592
- if (!this.circleImg) {
3593
- return {};
3594
- }
3595
- return {
3596
- 'border-top-left-radius': `50%`,
3597
- 'border-top-right-radius': `50%`,
3598
- 'border-bottom-right-radius': `50%`,
3599
- 'border-bottom-left-radius': `50%`,
3600
- };
3601
- }
3602
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3603
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: ProfileComponent, isStandalone: false, selector: "mefdev-profile", inputs: { name: "name", img: "img", shortDescription: "shortDescription", header: "header", circleImg: "circleImg" }, queries: [{ propertyName: "first_colum", first: true, predicate: ["first_colum"], descendants: true }, { propertyName: "second_colum", first: true, predicate: ["second_colum"], descendants: true }, { propertyName: "footer", first: true, predicate: ["footer"], descendants: true }], ngImport: i0, template: "\r\n<div class=\"profile-page\">\r\n <div class=\"profile-header\">\r\n {{header}}\r\n </div>\r\n <div class=\"profile-content\">\r\n <div class=\"profile-img-wrapper\">\r\n <img *ngIf=\"!img || img == ''\" src=\"assets/images/md_icon.png\" class=\"profile-img\" />\r\n <img *ngIf=\"img\" [src]=\"img\" alt=\"\" class=\"profile-img custom-img\" [ngStyle]=\"sizeStyle\" />\r\n </div>\r\n <div class=\"profile-info\">\r\n <div class=\"profile-name\">\r\n {{name}}\r\n </div>\r\n <div class=\"profile-description\">\r\n {{shortDescription}}\r\n </div>\r\n </div>\r\n <div class=\"profile-column\">\r\n <ng-template [ngTemplateOutlet]=\"first_colum\"></ng-template>\r\n </div>\r\n <div class=\"profile-column\">\r\n <ng-template [ngTemplateOutlet]=\"second_colum\"></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"profile-footer-wrapper\">\r\n <div class=\"profile-page-tabs\">\r\n <ng-template [ngTemplateOutlet]=\"footer\"></ng-template>\r\n </div>\r\n</div>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.h1,h1{font-family:Montserrat,Arial,sans-serif;font-size:32px;line-height:40px;font-weight:700;text-transform:none;color:#000;margin-bottom:16px}.h2,.profile-header,h2{font-family:Montserrat,Arial,sans-serif;font-size:24px;line-height:30px;font-weight:700;text-transform:none;color:#000;margin-bottom:12px}.h3,h3{font-family:Montserrat,Arial,sans-serif;font-size:18px;line-height:24px;font-weight:600;text-transform:none;color:#000;margin-bottom:10px}.h4,h4{font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:22px;font-weight:600;text-transform:none;letter-spacing:.5px;color:#000;margin-bottom:8px}.h5,h5{font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:20px;font-weight:500;text-transform:none;color:#000;margin-bottom:6px}.h6,h6{font-family:Montserrat,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:500;text-transform:none;color:#000;margin-bottom:4px}.body-1,body-1{font-family:Open Sans,Arial,sans-serif;font-size:18px;line-height:27px;font-weight:700;color:#000}.body-2,.profile-name,body-2{font-family:Open Sans,Arial,sans-serif;font-size:16px;line-height:24px;font-weight:400;color:#000}.body-3,.profile-description,.profile-data-item,body-3{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:700;color:#000}.body-4,body-4{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:400;color:#000}.body-5,body-5{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:600;color:#000}.body-6,body-6{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:16px;font-weight:400;color:#000}:host{display:block}.profile-page{background-color:#f5f5f5;color:#222;padding:24px 24px 0;border-radius:5px}.profile-content{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;overflow-y:hidden;max-height:150px}.profile-img-wrapper{flex:0 0 224px;display:flex;align-items:center;justify-content:center;min-width:180px;height:-webkit-fill-available}.profile-img{width:100%}.profile-info{flex:1 1 220px;min-width:180px}.profile-name{overflow-y:clip}.profile-description{word-break:break-all;overflow-y:clip;margin-bottom:8px}.profile-column{flex:1 1 180px;min-width:160px;margin-bottom:8px}.profile-footer-wrapper{position:relative}.profile-data-item>.profile-data-item-value{display:inline;font-weight:700}.profile-page-tabs{background:linear-gradient(to bottom,#f5f5f5 53px,transparent 100%);padding-top:25px;border-radius:0 0 8px 8px}@media (max-width: 900px){.profile-content{flex-direction:column;gap:16px}.profile-img-wrapper,.profile-info,.profile-column{min-width:0;margin-right:0}}@media (max-width: 720px){.profile-page-tabs{background:linear-gradient(to bottom,#f5f5f5 63px,transparent 100%);padding-top:35px}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
3604
- }
3605
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ProfileComponent, decorators: [{
3606
- type: Component,
3607
- args: [{ selector: 'mefdev-profile', standalone: false, template: "\r\n<div class=\"profile-page\">\r\n <div class=\"profile-header\">\r\n {{header}}\r\n </div>\r\n <div class=\"profile-content\">\r\n <div class=\"profile-img-wrapper\">\r\n <img *ngIf=\"!img || img == ''\" src=\"assets/images/md_icon.png\" class=\"profile-img\" />\r\n <img *ngIf=\"img\" [src]=\"img\" alt=\"\" class=\"profile-img custom-img\" [ngStyle]=\"sizeStyle\" />\r\n </div>\r\n <div class=\"profile-info\">\r\n <div class=\"profile-name\">\r\n {{name}}\r\n </div>\r\n <div class=\"profile-description\">\r\n {{shortDescription}}\r\n </div>\r\n </div>\r\n <div class=\"profile-column\">\r\n <ng-template [ngTemplateOutlet]=\"first_colum\"></ng-template>\r\n </div>\r\n <div class=\"profile-column\">\r\n <ng-template [ngTemplateOutlet]=\"second_colum\"></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"profile-footer-wrapper\">\r\n <div class=\"profile-page-tabs\">\r\n <ng-template [ngTemplateOutlet]=\"footer\"></ng-template>\r\n </div>\r\n</div>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.h1,h1{font-family:Montserrat,Arial,sans-serif;font-size:32px;line-height:40px;font-weight:700;text-transform:none;color:#000;margin-bottom:16px}.h2,.profile-header,h2{font-family:Montserrat,Arial,sans-serif;font-size:24px;line-height:30px;font-weight:700;text-transform:none;color:#000;margin-bottom:12px}.h3,h3{font-family:Montserrat,Arial,sans-serif;font-size:18px;line-height:24px;font-weight:600;text-transform:none;color:#000;margin-bottom:10px}.h4,h4{font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:22px;font-weight:600;text-transform:none;letter-spacing:.5px;color:#000;margin-bottom:8px}.h5,h5{font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:20px;font-weight:500;text-transform:none;color:#000;margin-bottom:6px}.h6,h6{font-family:Montserrat,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:500;text-transform:none;color:#000;margin-bottom:4px}.body-1,body-1{font-family:Open Sans,Arial,sans-serif;font-size:18px;line-height:27px;font-weight:700;color:#000}.body-2,.profile-name,body-2{font-family:Open Sans,Arial,sans-serif;font-size:16px;line-height:24px;font-weight:400;color:#000}.body-3,.profile-description,.profile-data-item,body-3{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:700;color:#000}.body-4,body-4{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:400;color:#000}.body-5,body-5{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:600;color:#000}.body-6,body-6{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:16px;font-weight:400;color:#000}:host{display:block}.profile-page{background-color:#f5f5f5;color:#222;padding:24px 24px 0;border-radius:5px}.profile-content{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;overflow-y:hidden;max-height:150px}.profile-img-wrapper{flex:0 0 224px;display:flex;align-items:center;justify-content:center;min-width:180px;height:-webkit-fill-available}.profile-img{width:100%}.profile-info{flex:1 1 220px;min-width:180px}.profile-name{overflow-y:clip}.profile-description{word-break:break-all;overflow-y:clip;margin-bottom:8px}.profile-column{flex:1 1 180px;min-width:160px;margin-bottom:8px}.profile-footer-wrapper{position:relative}.profile-data-item>.profile-data-item-value{display:inline;font-weight:700}.profile-page-tabs{background:linear-gradient(to bottom,#f5f5f5 53px,transparent 100%);padding-top:25px;border-radius:0 0 8px 8px}@media (max-width: 900px){.profile-content{flex-direction:column;gap:16px}.profile-img-wrapper,.profile-info,.profile-column{min-width:0;margin-right:0}}@media (max-width: 720px){.profile-page-tabs{background:linear-gradient(to bottom,#f5f5f5 63px,transparent 100%);padding-top:35px}}\n"] }]
3608
- }], ctorParameters: () => [], propDecorators: { first_colum: [{
3609
- type: ContentChild,
3610
- args: ["first_colum"]
3611
- }], second_colum: [{
3612
- type: ContentChild,
3613
- args: ["second_colum"]
3614
- }], footer: [{
3615
- type: ContentChild,
3616
- args: ["footer"]
3617
- }], name: [{
3618
- type: Input
3619
- }], img: [{
3620
- type: Input
3621
- }], shortDescription: [{
3622
- type: Input
3623
- }], header: [{
3624
- type: Input
3625
- }], circleImg: [{
3626
- type: Input
3627
- }] } });
3628
-
3629
1947
  /**
3630
1948
  * A component representing a central page layout.
3631
1949
  *
@@ -3801,11 +2119,11 @@ class ManagePageComponent {
3801
2119
  ngOnInit() {
3802
2120
  }
3803
2121
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ManagePageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3804
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: ManagePageComponent, isStandalone: false, selector: "mefdev-manage-page", inputs: { startTabInd: "startTabInd" }, queries: [{ propertyName: "card_title", first: true, predicate: ["card_title"], descendants: true }, { propertyName: "tabs_block", first: true, predicate: ["tabs_block"], descendants: true }], ngImport: i0, template: "<div class=\"card-tabs\">\r\n <div class=\"card-tabs-header\" *ngIf=\"card_title\">\r\n <div class=\"card-tabs-title\">\r\n <ng-template [ngTemplateOutlet]=\"card_title\"></ng-template>\r\n </div>\r\n </div>\r\n <div class=\"profile-page-tabs card-tabs-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.h1,h1{font-family:Montserrat,Arial,sans-serif;font-size:32px;line-height:40px;font-weight:700;text-transform:none;color:#000;margin-bottom:16px}.h2,.card-tabs-title,h2{font-family:Montserrat,Arial,sans-serif;font-size:24px;line-height:30px;font-weight:700;text-transform:none;color:#000;margin-bottom:12px}.h3,h3{font-family:Montserrat,Arial,sans-serif;font-size:18px;line-height:24px;font-weight:600;text-transform:none;color:#000;margin-bottom:10px}.h4,h4{font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:22px;font-weight:600;text-transform:none;letter-spacing:.5px;color:#000;margin-bottom:8px}.h5,h5{font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:20px;font-weight:500;text-transform:none;color:#000;margin-bottom:6px}.h6,h6{font-family:Montserrat,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:500;text-transform:none;color:#000;margin-bottom:4px}.body-1,body-1{font-family:Open Sans,Arial,sans-serif;font-size:18px;line-height:27px;font-weight:700;color:#000}.body-2,body-2{font-family:Open Sans,Arial,sans-serif;font-size:16px;line-height:24px;font-weight:400;color:#000}.body-3,body-3{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:700;color:#000}.body-4,body-4{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:400;color:#000}.body-5,body-5{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:600;color:#000}.body-6,body-6{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:16px;font-weight:400;color:#000}.card-tabs{border-radius:0;background:#fff;overflow:hidden}.card-tabs-header{background-color:#f3f3f3;padding:16px;margin-bottom:0;display:flex;align-items:center}.card-tabs-title{margin:0;padding:0}.card-tabs-content{padding:0 16px}.profile-page-tabs{background-image:linear-gradient(to bottom,#F3F3F3 28px,transparent 0%,transparent 100%);background-image:-webkit-linear-gradient(to bottom,#F3F3F3 28px,transparent 0%,transparent 100%)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
2122
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: ManagePageComponent, isStandalone: false, selector: "mefdev-manage-page", inputs: { startTabInd: "startTabInd" }, queries: [{ propertyName: "card_title", first: true, predicate: ["card_title"], descendants: true }, { propertyName: "tabs_block", first: true, predicate: ["tabs_block"], descendants: true }], ngImport: i0, template: "<div class=\"mp-tabs\">\r\n <div class=\"mp-tabs-header\" *ngIf=\"card_title\">\r\n <div class=\"mp-tabs-title\">\r\n <ng-template [ngTemplateOutlet]=\"card_title\"></ng-template>\r\n </div>\r\n </div>\r\n <div class=\"profile-page-tabs mp-tabs-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.h1,h1{font-family:Montserrat,Arial,sans-serif;font-size:32px;line-height:40px;font-weight:700;text-transform:none;color:#000;margin-bottom:16px}.h2,h2{font-family:Montserrat,Arial,sans-serif;font-size:24px;line-height:30px;font-weight:700;text-transform:none;color:#000;margin-bottom:12px}.h3,h3{font-family:Montserrat,Arial,sans-serif;font-size:18px;line-height:24px;font-weight:600;text-transform:none;color:#000;margin-bottom:10px}.h4,h4{font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:22px;font-weight:600;text-transform:none;letter-spacing:.5px;color:#000;margin-bottom:8px}.h5,h5{font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:20px;font-weight:500;text-transform:none;color:#000;margin-bottom:6px}.h6,h6{font-family:Montserrat,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:500;text-transform:none;color:#000;margin-bottom:4px}.body-1,body-1{font-family:Open Sans,Arial,sans-serif;font-size:18px;line-height:27px;font-weight:700;color:#000}.body-2,body-2{font-family:Open Sans,Arial,sans-serif;font-size:16px;line-height:24px;font-weight:400;color:#000}.body-3,body-3{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:700;color:#000}.body-4,body-4{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:400;color:#000}.body-5,body-5{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:600;color:#000}.body-6,body-6{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:16px;font-weight:400;color:#000}.mp-tabs{border-radius:0;background:#fff;overflow:hidden}.mp-tabs-header{background-color:#f3f3f3;padding:16px;margin-bottom:0;display:flex;align-items:center}.mp-tabs-title{margin:0;width:100%;padding:0}.mp-tabs-content{padding:0 16px;position:relative}.profile-page-tabs{background-image:linear-gradient(to bottom,#F3F3F3 28px,transparent 0%,transparent 100%);background-image:-webkit-linear-gradient(to bottom,#F3F3F3 28px,transparent 0%,transparent 100%)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
3805
2123
  }
3806
2124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ManagePageComponent, decorators: [{
3807
2125
  type: Component,
3808
- args: [{ selector: 'mefdev-manage-page', standalone: false, template: "<div class=\"card-tabs\">\r\n <div class=\"card-tabs-header\" *ngIf=\"card_title\">\r\n <div class=\"card-tabs-title\">\r\n <ng-template [ngTemplateOutlet]=\"card_title\"></ng-template>\r\n </div>\r\n </div>\r\n <div class=\"profile-page-tabs card-tabs-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.h1,h1{font-family:Montserrat,Arial,sans-serif;font-size:32px;line-height:40px;font-weight:700;text-transform:none;color:#000;margin-bottom:16px}.h2,.card-tabs-title,h2{font-family:Montserrat,Arial,sans-serif;font-size:24px;line-height:30px;font-weight:700;text-transform:none;color:#000;margin-bottom:12px}.h3,h3{font-family:Montserrat,Arial,sans-serif;font-size:18px;line-height:24px;font-weight:600;text-transform:none;color:#000;margin-bottom:10px}.h4,h4{font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:22px;font-weight:600;text-transform:none;letter-spacing:.5px;color:#000;margin-bottom:8px}.h5,h5{font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:20px;font-weight:500;text-transform:none;color:#000;margin-bottom:6px}.h6,h6{font-family:Montserrat,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:500;text-transform:none;color:#000;margin-bottom:4px}.body-1,body-1{font-family:Open Sans,Arial,sans-serif;font-size:18px;line-height:27px;font-weight:700;color:#000}.body-2,body-2{font-family:Open Sans,Arial,sans-serif;font-size:16px;line-height:24px;font-weight:400;color:#000}.body-3,body-3{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:700;color:#000}.body-4,body-4{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:400;color:#000}.body-5,body-5{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:600;color:#000}.body-6,body-6{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:16px;font-weight:400;color:#000}.card-tabs{border-radius:0;background:#fff;overflow:hidden}.card-tabs-header{background-color:#f3f3f3;padding:16px;margin-bottom:0;display:flex;align-items:center}.card-tabs-title{margin:0;padding:0}.card-tabs-content{padding:0 16px}.profile-page-tabs{background-image:linear-gradient(to bottom,#F3F3F3 28px,transparent 0%,transparent 100%);background-image:-webkit-linear-gradient(to bottom,#F3F3F3 28px,transparent 0%,transparent 100%)}\n"] }]
2126
+ args: [{ selector: 'mefdev-manage-page', standalone: false, template: "<div class=\"mp-tabs\">\r\n <div class=\"mp-tabs-header\" *ngIf=\"card_title\">\r\n <div class=\"mp-tabs-title\">\r\n <ng-template [ngTemplateOutlet]=\"card_title\"></ng-template>\r\n </div>\r\n </div>\r\n <div class=\"profile-page-tabs mp-tabs-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.h1,h1{font-family:Montserrat,Arial,sans-serif;font-size:32px;line-height:40px;font-weight:700;text-transform:none;color:#000;margin-bottom:16px}.h2,h2{font-family:Montserrat,Arial,sans-serif;font-size:24px;line-height:30px;font-weight:700;text-transform:none;color:#000;margin-bottom:12px}.h3,h3{font-family:Montserrat,Arial,sans-serif;font-size:18px;line-height:24px;font-weight:600;text-transform:none;color:#000;margin-bottom:10px}.h4,h4{font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:22px;font-weight:600;text-transform:none;letter-spacing:.5px;color:#000;margin-bottom:8px}.h5,h5{font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:20px;font-weight:500;text-transform:none;color:#000;margin-bottom:6px}.h6,h6{font-family:Montserrat,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:500;text-transform:none;color:#000;margin-bottom:4px}.body-1,body-1{font-family:Open Sans,Arial,sans-serif;font-size:18px;line-height:27px;font-weight:700;color:#000}.body-2,body-2{font-family:Open Sans,Arial,sans-serif;font-size:16px;line-height:24px;font-weight:400;color:#000}.body-3,body-3{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:700;color:#000}.body-4,body-4{font-family:Open Sans,Arial,sans-serif;font-size:14px;line-height:22px;font-weight:400;color:#000}.body-5,body-5{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:600;color:#000}.body-6,body-6{font-family:Open Sans,Arial,sans-serif;font-size:13px;line-height:16px;font-weight:400;color:#000}.mp-tabs{border-radius:0;background:#fff;overflow:hidden}.mp-tabs-header{background-color:#f3f3f3;padding:16px;margin-bottom:0;display:flex;align-items:center}.mp-tabs-title{margin:0;width:100%;padding:0}.mp-tabs-content{padding:0 16px;position:relative}.profile-page-tabs{background-image:linear-gradient(to bottom,#F3F3F3 28px,transparent 0%,transparent 100%);background-image:-webkit-linear-gradient(to bottom,#F3F3F3 28px,transparent 0%,transparent 100%)}\n"] }]
3809
2127
  }], ctorParameters: () => [], propDecorators: { card_title: [{
3810
2128
  type: ContentChild,
3811
2129
  args: ["card_title"]
@@ -3817,7 +2135,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
3817
2135
  }] } });
3818
2136
 
3819
2137
  let mefDevPageLayoutsModuleComponents = [
3820
- ProfileComponent,
3821
2138
  CentralPageComponent,
3822
2139
  CentralPageRowComponent,
3823
2140
  TablePageComponent,
@@ -3825,12 +2142,10 @@ let mefDevPageLayoutsModuleComponents = [
3825
2142
  ];
3826
2143
  class MefDevPageLayoutsModule {
3827
2144
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevPageLayoutsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3828
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MefDevPageLayoutsModule, declarations: [ProfileComponent,
3829
- CentralPageComponent,
2145
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MefDevPageLayoutsModule, declarations: [CentralPageComponent,
3830
2146
  CentralPageRowComponent,
3831
2147
  TablePageComponent,
3832
- ManagePageComponent], imports: [CommonModule], exports: [ProfileComponent,
3833
- CentralPageComponent,
2148
+ ManagePageComponent], imports: [CommonModule], exports: [CentralPageComponent,
3834
2149
  CentralPageRowComponent,
3835
2150
  TablePageComponent,
3836
2151
  ManagePageComponent] });
@@ -3843,7 +2158,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
3843
2158
  exports: mefDevPageLayoutsModuleComponents,
3844
2159
  imports: [
3845
2160
  CommonModule,
3846
- // pgTabsModule,
3847
2161
  ],
3848
2162
  }]
3849
2163
  }] });
@@ -4299,198 +2613,169 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
4299
2613
  }]
4300
2614
  }] });
4301
2615
 
4302
- /**
4303
- * Component for a slider that allows selecting a range of values.
4304
- * @example
4305
- * <mefdev-slider
4306
- * [disabled]="false"
4307
- * [range] = "{min: 1, max: 10000}"
4308
- * [id]= "'slider1'"
4309
- * (valueChange)="onChildValueChange($event)"
4310
- * ></mefdev-slider>
4311
- *
4312
- * <example-url>https://platform.mef.dev/ui_kit_demo/view/controls/slider</example-url>
2616
+ /*
2617
+ example
2618
+ <mefdev-dropdown-menu>
2619
+ <ng-template #label>
2620
+ <i class="fa fa-ellipsis-v"></i>
2621
+ </ng-template>
2622
+
2623
+ <a class="dropdown-item" (click)="openModalAction('update', row)">
2624
+ <span> {{ 'Update' | translate }} </span>
2625
+ </a>
2626
+
2627
+ <a class="dropdown-item" (click)="openModalAction('delete', row)">
2628
+ <span> {{ 'Delete' | translate }} </span>
2629
+ </a>
2630
+ </mefdev-dropdown-menu>
4313
2631
  */
4314
- class MefDevSliderComponent {
4315
- _range = { min: 1, max: 1000 };
4316
- /**
4317
- * Unique id for each slider. Use it, if u need more than one slider independent from another on the same page.
4318
- * @example
4319
- * <mefdev-slider
4320
- * [id]= "'slider1'"
4321
- * ></mefdev-slider>
4322
- */
4323
- id;
4324
- /**
4325
- * Input Object {min, max} container of the slider
4326
- * @example
4327
- * @interval
4328
- * <mefdev-slider
4329
- * [range] = "{min: 1, max: 10000}"
4330
- * ></mefdev-slider>
4331
- */
4332
- set range(range) {
4333
- this._range = range;
4334
- this.minValue = range.min;
4335
- this.maxValue = range.max;
4336
- }
4337
- get range() {
4338
- return this._range;
4339
- }
4340
- /**
4341
- * The minimum value of the slider.
4342
- */
4343
- minValue = this.range.min;
4344
- /**
4345
- * The maximum value of the slider.
4346
- */
4347
- maxValue = this.range.max;
4348
- /**
4349
- * Property indicating whether the component is disabled.
4350
- * @example
4351
- * <mefdev-slider
4352
- * [disabled]="true"
4353
- * ></mefdev-slider>
4354
- */
4355
- disabled = false;
4356
- /**
4357
- * Event emitted when the values of the slider change.
4358
- * It passes an object with `minValue` and `maxValue` properties.
4359
- * @event MefDevSliderComponent#valueChange
4360
- * @type {EventEmitter<{ minValue: number; maxValue: number }>}
4361
- * @example
4362
- * <mefdev-slider
4363
- * (valueChange)="onChildValueChange($event)"
4364
- * ></mefdev-slider>
4365
- */
4366
- valueChange = new EventEmitter();
4367
- /**
4368
- * Method called when the values of the slider change.
4369
- * Emits the `valueChange` event and calls methods to handle changes in the minimum and maximum values.
4370
- * @fires MefDevSliderComponent#valueChange
4371
- */
4372
- onValueChange() {
4373
- this.valueChange.emit({ minValue: this.minValue, maxValue: this.maxValue });
4374
- this.minValue = this.minValue;
4375
- this.onMinValueChange();
4376
- this.onMaxValueChange();
2632
+ class MefdevDropdownMenuComponent {
2633
+ _eref;
2634
+ label;
2635
+ isOpen = false;
2636
+ constructor(_eref) {
2637
+ this._eref = _eref;
4377
2638
  }
4378
- /**
4379
- * Method to handle changes in the minimum value.
4380
- * Converts a string to a number and removes all non-numeric characters.
4381
- * Then, emits the `valueChange` event and updates the value of the "fromSlider" slider.
4382
- * @fires MefDevSliderComponent#valueChange
4383
- */
4384
- onMinValueChange() {
4385
- const numericValue = parseFloat(this.minValue.toString().replace(/[^\d.]/g, ''));
4386
- this.minValue = isNaN(numericValue) ? 0 : numericValue;
4387
- this.valueChange.emit({ minValue: this.minValue, maxValue: this.maxValue });
4388
- const fromSlider = document.getElementById(`fromSlider-${this.id}`);
2639
+ onClick($event) {
2640
+ const isClickInDdl = this._eref.nativeElement.contains($event.target);
2641
+ if (isClickInDdl || (this.isOpen && !isClickInDdl)) {
2642
+ this.isOpen = !this.isOpen;
2643
+ }
4389
2644
  }
4390
- /**
4391
- * Method to handle changes in the maximum value.
4392
- * Converts a string to a number and removes all non-numeric characters.
4393
- * Then, emits the `valueChange` event and updates the value of the "toSlider" slider.
4394
- * @fires MefDevSliderComponent#valueChange
4395
- */
4396
- onMaxValueChange() {
4397
- const numericValue = parseFloat(this.maxValue.toString().replace(/[^\d.]/g, ''));
4398
- this.maxValue = isNaN(numericValue) ? 0 : numericValue; // Перевірка на NaN і присвоєння 0, якщо не вдалося конвертувати в число
4399
- this.valueChange.emit({ minValue: this.minValue, maxValue: this.maxValue });
4400
- const toSlider = document.getElementById(`toSlider-${this.id}`);
4401
- }
4402
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4403
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: MefDevSliderComponent, isStandalone: false, selector: "mefdev-slider", inputs: { id: "id", range: "range", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"range_container row\">\r\n <div class=\"inputs_control \">\r\n <input class=\"form_control_container__time__input h3\" [(ngModel)]=\"minValue\" [disabled]=\"disabled\" (ngModelChange)=\"onMinValueChange()\">\r\n <input class=\"form_control_container__time__input h3\" [(ngModel)]=\"maxValue\" [disabled]=\"disabled\" (ngModelChange)=\"onMaxValueChange()\">\r\n </div>\r\n <div class=\"sliders_control\">\r\n <input id=\"fromSlider\" type=\"range\" [(ngModel)]=\"minValue\" [min]=\"range.min\" [max]=\"range.max\" (ngModelChange)=\"onValueChange()\">\r\n <input id=\"toSlider\" type=\"range\" [(ngModel)]=\"maxValue\" [min]=\"range.min\" [max]=\"range.max\" (ngModelChange)=\"onValueChange()\" \r\n [style]=\"{'--minValue': minValue, '--maxValue': maxValue, '--minFromValue': range.min, '--maxToValue': range.max}\">\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.sliders_control{position:relative;min-height:50px}.inputs_control{position:relative;display:flex;justify-content:space-between;font-size:24px;color:#635a5a}.inputs_control .form_control_container__time__input{width:80px;height:28px;border-radius:5px;border:none;background:#fff;text-align:center;box-shadow:2px 2px 2px #0000001a}#fromSlider::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:all;width:16px;height:16px;background-color:#cf0106;border-radius:50%;cursor:pointer;margin-top:13px}#toSlider::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:all;width:16px;height:16px;background-color:#cf0106;border-radius:50%;cursor:pointer;margin-top:-7px}input[type=range]::-moz-range-thumb{pointer-events:all;width:16px;height:16px;background-color:#cf0106;border-radius:50%;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,#929292 0%,#929292 calc((var(--minValue) - var(--minFromValue)) / (var(--maxToValue) - var(--minFromValue)) * 100%),transparent calc((var(--minValue) - var(--minFromValue)) / (var(--maxToValue) - var(--minFromValue)) * 100%),transparent calc((var(--maxValue) - var(--minFromValue)) / (var(--maxToValue) - var(--minFromValue)) * 100%),#929292 calc((var(--maxValue) - var(--minFromValue)) / (var(--maxToValue) - var(--minFromValue)) * 100%),#929292 100%);height:3px}input[type=range]::-moz-range-track{background:linear-gradient(to right,#929292 0%,#929292 calc((var(--minValue) - var(--minFromValue)) / (var(--maxToValue) - var(--minFromValue)) * 100%),transparent calc((var(--minValue) - var(--minFromValue)) / (var(--maxToValue) - var(--minFromValue)) * 100%),transparent calc((var(--maxValue) - var(--minFromValue)) / (var(--maxToValue) - var(--minFromValue)) * 100%),#929292 calc((var(--maxValue) - var(--minFromValue)) / (var(--maxToValue) - var(--minFromValue)) * 100%),#929292 100%);height:3px}input[type=range]::-webkit-slider-thumb:active{box-shadow:inset 0 0 3px #cf0106,0 0 9px #cf0106;-webkit-box-shadow:inset 0 0 3px #CF0106,0 0 9px #CF0106}input[type=number]{color:red;width:50px;height:30px;font-size:20px;border:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:.2}input[type=range]{-webkit-appearance:none;appearance:none;height:3px;width:100%;position:relative;background-color:#cf0106;pointer-events:none}input[type=range]::-moz-range-progress{background-color:transparent;height:3px}#fromSlider{height:0;z-index:9999}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
2645
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefdevDropdownMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
2646
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: MefdevDropdownMenuComponent, isStandalone: false, selector: "mefdev-dropdown-menu", host: { listeners: { "document:click": "onClick($event)" } }, queries: [{ propertyName: "label", first: true, predicate: ["label"], descendants: true }], ngImport: i0, template: "<div class=\"label-container\">\r\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\r\n</div>\r\n\r\n<div *ngIf=\"isOpen\" class=\"_dropdown\">\r\n <div class=\"_menu\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}:host{display:block;position:relative;width:fit-content}.label-container{cursor:pointer;margin:4px;padding:4px}._dropdown{position:relative;z-index:10001}._menu{right:7px;top:-20px;position:absolute;z-index:10001;background-color:#fff;border:solid rgba(0,0,0,.176) 1px;border-radius:4px;cursor:pointer}._dropdown ._menu{min-width:auto;top:-5px;padding:4px;box-shadow:0 1px 3px 1px #00000026}._dropdown ._menu a{height:26px;font-family:Open Sans,Arial,sans-serif;font-size:14px;font-weight:400;line-height:22px;color:#000!important;display:flex;align-items:center}._dropdown ._menu a:hover{background-color:#f3f3f3}._dropdown ._menu a:hover *{color:#000!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
4404
2647
  }
4405
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevSliderComponent, decorators: [{
2648
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefdevDropdownMenuComponent, decorators: [{
4406
2649
  type: Component,
4407
- args: [{ selector: 'mefdev-slider', standalone: false, template: "<div class=\"range_container row\">\r\n <div class=\"inputs_control \">\r\n <input class=\"form_control_container__time__input h3\" [(ngModel)]=\"minValue\" [disabled]=\"disabled\" (ngModelChange)=\"onMinValueChange()\">\r\n <input class=\"form_control_container__time__input h3\" [(ngModel)]=\"maxValue\" [disabled]=\"disabled\" (ngModelChange)=\"onMaxValueChange()\">\r\n </div>\r\n <div class=\"sliders_control\">\r\n <input id=\"fromSlider\" type=\"range\" [(ngModel)]=\"minValue\" [min]=\"range.min\" [max]=\"range.max\" (ngModelChange)=\"onValueChange()\">\r\n <input id=\"toSlider\" type=\"range\" [(ngModel)]=\"maxValue\" [min]=\"range.min\" [max]=\"range.max\" (ngModelChange)=\"onValueChange()\" \r\n [style]=\"{'--minValue': minValue, '--maxValue': maxValue, '--minFromValue': range.min, '--maxToValue': range.max}\">\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.sliders_control{position:relative;min-height:50px}.inputs_control{position:relative;display:flex;justify-content:space-between;font-size:24px;color:#635a5a}.inputs_control .form_control_container__time__input{width:80px;height:28px;border-radius:5px;border:none;background:#fff;text-align:center;box-shadow:2px 2px 2px #0000001a}#fromSlider::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:all;width:16px;height:16px;background-color:#cf0106;border-radius:50%;cursor:pointer;margin-top:13px}#toSlider::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:all;width:16px;height:16px;background-color:#cf0106;border-radius:50%;cursor:pointer;margin-top:-7px}input[type=range]::-moz-range-thumb{pointer-events:all;width:16px;height:16px;background-color:#cf0106;border-radius:50%;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,#929292 0%,#929292 calc((var(--minValue) - var(--minFromValue)) / (var(--maxToValue) - var(--minFromValue)) * 100%),transparent calc((var(--minValue) - var(--minFromValue)) / (var(--maxToValue) - var(--minFromValue)) * 100%),transparent calc((var(--maxValue) - var(--minFromValue)) / (var(--maxToValue) - var(--minFromValue)) * 100%),#929292 calc((var(--maxValue) - var(--minFromValue)) / (var(--maxToValue) - var(--minFromValue)) * 100%),#929292 100%);height:3px}input[type=range]::-moz-range-track{background:linear-gradient(to right,#929292 0%,#929292 calc((var(--minValue) - var(--minFromValue)) / (var(--maxToValue) - var(--minFromValue)) * 100%),transparent calc((var(--minValue) - var(--minFromValue)) / (var(--maxToValue) - var(--minFromValue)) * 100%),transparent calc((var(--maxValue) - var(--minFromValue)) / (var(--maxToValue) - var(--minFromValue)) * 100%),#929292 calc((var(--maxValue) - var(--minFromValue)) / (var(--maxToValue) - var(--minFromValue)) * 100%),#929292 100%);height:3px}input[type=range]::-webkit-slider-thumb:active{box-shadow:inset 0 0 3px #cf0106,0 0 9px #cf0106;-webkit-box-shadow:inset 0 0 3px #CF0106,0 0 9px #CF0106}input[type=number]{color:red;width:50px;height:30px;font-size:20px;border:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:.2}input[type=range]{-webkit-appearance:none;appearance:none;height:3px;width:100%;position:relative;background-color:#cf0106;pointer-events:none}input[type=range]::-moz-range-progress{background-color:transparent;height:3px}#fromSlider{height:0;z-index:9999}\n"] }]
4408
- }], propDecorators: { id: [{
4409
- type: Input
4410
- }], range: [{
4411
- type: Input,
4412
- args: ['range']
4413
- }], disabled: [{
4414
- type: Input
4415
- }], valueChange: [{
4416
- type: Output
2650
+ args: [{ selector: 'mefdev-dropdown-menu', host: {
2651
+ '(document:click)': 'onClick($event)',
2652
+ }, standalone: false, template: "<div class=\"label-container\">\r\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\r\n</div>\r\n\r\n<div *ngIf=\"isOpen\" class=\"_dropdown\">\r\n <div class=\"_menu\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}:host{display:block;position:relative;width:fit-content}.label-container{cursor:pointer;margin:4px;padding:4px}._dropdown{position:relative;z-index:10001}._menu{right:7px;top:-20px;position:absolute;z-index:10001;background-color:#fff;border:solid rgba(0,0,0,.176) 1px;border-radius:4px;cursor:pointer}._dropdown ._menu{min-width:auto;top:-5px;padding:4px;box-shadow:0 1px 3px 1px #00000026}._dropdown ._menu a{height:26px;font-family:Open Sans,Arial,sans-serif;font-size:14px;font-weight:400;line-height:22px;color:#000!important;display:flex;align-items:center}._dropdown ._menu a:hover{background-color:#f3f3f3}._dropdown ._menu a:hover *{color:#000!important}\n"] }]
2653
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { label: [{
2654
+ type: ContentChild,
2655
+ args: ["label"]
4417
2656
  }] } });
4418
2657
 
4419
- class MefDevSliderModule {
4420
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4421
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MefDevSliderModule, declarations: [MefDevSliderComponent], imports: [CommonModule,
4422
- FormsModule], exports: [MefDevSliderComponent] });
4423
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevSliderModule, imports: [CommonModule,
4424
- FormsModule] });
2658
+ class MefDevDropDownMenuModule {
2659
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevDropDownMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2660
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MefDevDropDownMenuModule, declarations: [MefdevDropdownMenuComponent], imports: [CommonModule], exports: [MefdevDropdownMenuComponent] });
2661
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevDropDownMenuModule, imports: [CommonModule] });
4425
2662
  }
4426
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevSliderModule, decorators: [{
2663
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevDropDownMenuModule, decorators: [{
4427
2664
  type: NgModule,
4428
2665
  args: [{
4429
- declarations: [
4430
- MefDevSliderComponent
4431
- ],
4432
2666
  exports: [
4433
- MefDevSliderComponent
2667
+ MefdevDropdownMenuComponent
2668
+ ],
2669
+ declarations: [
2670
+ MefdevDropdownMenuComponent
4434
2671
  ],
4435
2672
  imports: [
4436
- CommonModule,
4437
- FormsModule,
2673
+ CommonModule
4438
2674
  ]
4439
2675
  }]
4440
2676
  }] });
4441
2677
 
4442
- class MefDevSpecFlowTestComponent {
2678
+ /**
2679
+ * Component representing a progress bar.
2680
+ *
2681
+ * Example of usage:
2682
+ *
2683
+ * ```
2684
+ * <mefdev-progress type="linear" color="blue" [thick]="true"></mefdev-progress>
2685
+ * <mefdev-progress type="circle" color="red" [indeterminate]="true"></mefdev-progress>
2686
+ * ```
2687
+ */
2688
+ class MefDevProgressComponent {
2689
+ _value;
2690
+ _value2;
2691
+ /**
2692
+ * The type of progress bar.
2693
+ * Possible values: "linear" | "circle".
2694
+ * Default value: "linear".
2695
+ */
2696
+ type;
2697
+ /**
2698
+ * The color of the progress bar.
2699
+ * Possible values: any valid CSS color value.
2700
+ * Default value: none.
2701
+ */
2702
+ color;
4443
2703
  /**
4444
- * UTC datetime
2704
+ * Determines whether the progress bar is thick.
2705
+ * Default value: false.
4445
2706
  */
4446
- ResponseTimestamp;
2707
+ thick;
4447
2708
  /**
4448
- * 0/1 1 - ошибка, 0 - успех (200, 201 и тд)
2709
+ * Determines whether the progress bar is indeterminate.
2710
+ * Default value: false.
4449
2711
  */
4450
- ResponseError;
2712
+ indeterminate;
4451
2713
  /**
4452
- * string для ResponseError=1
2714
+ * The value of the progress bar.
2715
+ * For the "circle" type, it should be a number between 0 and 100.
4453
2716
  */
4454
- ReportError;
4455
- constructor() { }
4456
- ngOnInit() {
2717
+ set value(value) {
2718
+ if (this.type == "circle") {
2719
+ this._value = (value / 100) * 360;
2720
+ if (this.value >= 50) {
2721
+ this._value2 = true;
2722
+ }
2723
+ }
2724
+ else
2725
+ this._value = value;
4457
2726
  }
4458
- setError(error) {
4459
- this.ResponseTimestamp = Date.now();
4460
- this.ResponseError = 1;
4461
- this.ReportError = error;
2727
+ get value() {
2728
+ return this._value;
4462
2729
  }
4463
- setSuccess() {
4464
- this.ResponseTimestamp = Date.now();
4465
- this.ResponseError = 0;
4466
- this.ReportError = undefined;
2730
+ /**
2731
+ * Additional value property.
2732
+ */
2733
+ get value2() {
2734
+ return this._value2;
4467
2735
  }
4468
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevSpecFlowTestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4469
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: MefDevSpecFlowTestComponent, isStandalone: false, selector: "mefdev-spec-flow-test", ngImport: i0, template: "<!-- Block for test -->\r\n<div style=\"display: none;\">\r\n <input id=\"ResponseTimestamp\" type=\"hidden\" value=\"{{ResponseTimestamp}}\" />\r\n <input id=\"ResponseError\" type=\"hidden\" value=\"{{ResponseError}}\" />\r\n <input id=\"ReportError\" type=\"hidden\" value=\"{{ReportError}}\" />\r\n</div>", styles: [""] });
2736
+ constructor() { }
2737
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2738
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: MefDevProgressComponent, isStandalone: false, selector: "mefdev-progress", inputs: { type: "type", color: "color", thick: "thick", indeterminate: "indeterminate", value: "value" }, ngImport: i0, template: "<div *ngIf=\"type === 'bar'; else circleBlock\">\r\n <div *ngIf=\"indeterminate; else determineBarBlock\">\r\n <div class=\"progress\" [class.progress-small]=\"!thick\">\r\n <div class=\"progress-bar-{{ color }}\" [class.progress-bar-indeterminate]=\"indeterminate\"></div>\r\n </div>\r\n </div>\r\n <ng-template #determineBarBlock>\r\n <div class=\"progress\" [class.progress-small]=\"!thick\">\r\n <div class=\"progress-bar progress-bar-{{ color }}\" [ngStyle]=\"{ width: value + '%' }\"></div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n<ng-template #circleBlock>\r\n <div class=\"progress-circle-{{ color }}\" [class.progress-circle-indeterminate]=\"indeterminate\"\r\n [class.progress-circle]=\"!indeterminate\" [class.progress-circle-thick]=\"thick\">\r\n <div *ngIf=\"indeterminate; else determineBlock\"></div>\r\n <ng-template #determineBlock>\r\n <div class=\"pie\" [ngStyle]=\"_value2 && { clip: 'rect(auto, auto, auto, auto)' }\">\r\n <div class=\"left-side half-circle\" [ngStyle]=\"_value2 && { transform: 'rotate(' + value + 'deg)' }\"></div>\r\n <div class=\"right-side half-circle\" [ngStyle]=\"{\r\n transform:\r\n _value2 === true ? 'rotate(180deg)' : 'rotate(' + value + 'deg)'\r\n }\"></div>\r\n </div>\r\n <div class=\"shadow\"></div>\r\n </ng-template>\r\n </div>\r\n</ng-template>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
4470
2739
  }
4471
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevSpecFlowTestComponent, decorators: [{
2740
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevProgressComponent, decorators: [{
4472
2741
  type: Component,
4473
- args: [{ selector: 'mefdev-spec-flow-test', standalone: false, template: "<!-- Block for test -->\r\n<div style=\"display: none;\">\r\n <input id=\"ResponseTimestamp\" type=\"hidden\" value=\"{{ResponseTimestamp}}\" />\r\n <input id=\"ResponseError\" type=\"hidden\" value=\"{{ResponseError}}\" />\r\n <input id=\"ReportError\" type=\"hidden\" value=\"{{ReportError}}\" />\r\n</div>" }]
4474
- }], ctorParameters: () => [] });
2742
+ args: [{ selector: "mefdev-progress", standalone: false, template: "<div *ngIf=\"type === 'bar'; else circleBlock\">\r\n <div *ngIf=\"indeterminate; else determineBarBlock\">\r\n <div class=\"progress\" [class.progress-small]=\"!thick\">\r\n <div class=\"progress-bar-{{ color }}\" [class.progress-bar-indeterminate]=\"indeterminate\"></div>\r\n </div>\r\n </div>\r\n <ng-template #determineBarBlock>\r\n <div class=\"progress\" [class.progress-small]=\"!thick\">\r\n <div class=\"progress-bar progress-bar-{{ color }}\" [ngStyle]=\"{ width: value + '%' }\"></div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n<ng-template #circleBlock>\r\n <div class=\"progress-circle-{{ color }}\" [class.progress-circle-indeterminate]=\"indeterminate\"\r\n [class.progress-circle]=\"!indeterminate\" [class.progress-circle-thick]=\"thick\">\r\n <div *ngIf=\"indeterminate; else determineBlock\"></div>\r\n <ng-template #determineBlock>\r\n <div class=\"pie\" [ngStyle]=\"_value2 && { clip: 'rect(auto, auto, auto, auto)' }\">\r\n <div class=\"left-side half-circle\" [ngStyle]=\"_value2 && { transform: 'rotate(' + value + 'deg)' }\"></div>\r\n <div class=\"right-side half-circle\" [ngStyle]=\"{\r\n transform:\r\n _value2 === true ? 'rotate(180deg)' : 'rotate(' + value + 'deg)'\r\n }\"></div>\r\n </div>\r\n <div class=\"shadow\"></div>\r\n </ng-template>\r\n </div>\r\n</ng-template>" }]
2743
+ }], ctorParameters: () => [], propDecorators: { type: [{
2744
+ type: Input
2745
+ }], color: [{
2746
+ type: Input
2747
+ }], thick: [{
2748
+ type: Input
2749
+ }], indeterminate: [{
2750
+ type: Input
2751
+ }], value: [{
2752
+ type: Input
2753
+ }] } });
2754
+
2755
+ class ProgressConfig {
2756
+ color = "primary";
2757
+ thickness = 1;
2758
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ProgressConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2759
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ProgressConfig });
2760
+ }
2761
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ProgressConfig, decorators: [{
2762
+ type: Injectable
2763
+ }] });
4475
2764
 
4476
- class MefDevSpecFlowTestModule {
2765
+ class MefDevProgressModule {
4477
2766
  static forRoot() {
4478
- return {
4479
- ngModule: MefDevSpecFlowTestModule
4480
- };
2767
+ return { ngModule: MefDevProgressModule, providers: [ProgressConfig] };
4481
2768
  }
4482
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevSpecFlowTestModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4483
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MefDevSpecFlowTestModule, declarations: [MefDevSpecFlowTestComponent], imports: [CommonModule], exports: [MefDevSpecFlowTestComponent] });
4484
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevSpecFlowTestModule, imports: [CommonModule] });
2769
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevProgressModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2770
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MefDevProgressModule, declarations: [MefDevProgressComponent], imports: [CommonModule], exports: [MefDevProgressComponent] });
2771
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevProgressModule, imports: [CommonModule] });
4485
2772
  }
4486
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevSpecFlowTestModule, decorators: [{
2773
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevProgressModule, decorators: [{
4487
2774
  type: NgModule,
4488
2775
  args: [{
4489
- declarations: [MefDevSpecFlowTestComponent],
4490
- exports: [MefDevSpecFlowTestComponent],
4491
- imports: [
4492
- CommonModule
4493
- ]
2776
+ imports: [CommonModule],
2777
+ declarations: [MefDevProgressComponent],
2778
+ exports: [MefDevProgressComponent]
4494
2779
  }]
4495
2780
  }] });
4496
2781
 
@@ -5186,13 +3471,13 @@ class MefDevTabsNavComponent {
5186
3471
  }
5187
3472
  }
5188
3473
  }
5189
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevTabsNavComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1$2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Component });
3474
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevTabsNavComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1$1.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Component });
5190
3475
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: MefDevTabsNavComponent, isStandalone: false, selector: "mefdev-tabs-nav", inputs: { Size: "Size", Animated: "Animated", Position: "Position", HideBar: "HideBar", Type: "Type", ShowPagination: "ShowPagination", PositionMode: "PositionMode", selectedIndex: "selectedIndex" }, queries: [{ propertyName: "_tabBarExtraContent", first: true, predicate: ["tabBarExtraContent"], descendants: true, static: true }, { propertyName: "_labelWrappers", predicate: MefDevTabLabelDirective }], viewQueries: [{ propertyName: "_inkBar", first: true, predicate: MefDevTabsInkBarDirective, descendants: true, static: true }, { propertyName: "_tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "_tabList", first: true, predicate: ["tabList"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"nav-tabs-wrapper\" [class.scrolling]=\"_showPaginationControls\" #tabListContainer>\r\n <div class=\"nav-wrap\">\r\n <ul\r\n class=\"nav nav-tabs nav-tabs-{{ _type }} nav-tabs-{{ _tabPosition }}\"\r\n [class.tabs-nav-animated]=\"Animated\"\r\n #tabList\r\n (cdkObserveContent)=\"_onContentChanges()\"\r\n >\r\n <div\r\n class=\"active-bar\"\r\n mefdev-tabs-ink-bar\r\n [hidden]=\"HideBar\"\r\n [Animated]=\"Animated\"\r\n [PositionMode]=\"PositionMode\"\r\n style=\"display: block;\"\r\n ></div>\r\n <ng-content></ng-content>\r\n </ul>\r\n </div>\r\n </div>", dependencies: [{ kind: "directive", type: MefDevTabsInkBarDirective, selector: "[mefdev-tabs-ink-bar]", inputs: ["Animated", "PositionMode"] }], encapsulation: i0.ViewEncapsulation.None });
5191
3476
  }
5192
3477
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MefDevTabsNavComponent, decorators: [{
5193
3478
  type: Component,
5194
3479
  args: [{ selector: 'mefdev-tabs-nav', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"nav-tabs-wrapper\" [class.scrolling]=\"_showPaginationControls\" #tabListContainer>\r\n <div class=\"nav-wrap\">\r\n <ul\r\n class=\"nav nav-tabs nav-tabs-{{ _type }} nav-tabs-{{ _tabPosition }}\"\r\n [class.tabs-nav-animated]=\"Animated\"\r\n #tabList\r\n (cdkObserveContent)=\"_onContentChanges()\"\r\n >\r\n <div\r\n class=\"active-bar\"\r\n mefdev-tabs-ink-bar\r\n [hidden]=\"HideBar\"\r\n [Animated]=\"Animated\"\r\n [PositionMode]=\"PositionMode\"\r\n style=\"display: block;\"\r\n ></div>\r\n <ng-content></ng-content>\r\n </ul>\r\n </div>\r\n </div>" }]
5195
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1$2.Directionality, decorators: [{
3480
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1$1.Directionality, decorators: [{
5196
3481
  type: Optional
5197
3482
  }] }], propDecorators: { Size: [{
5198
3483
  type: Input
@@ -5757,12 +4042,12 @@ class MDExpansionPanel extends CdkAccordionItem {
5757
4042
  });
5758
4043
  }
5759
4044
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDExpansionPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
5760
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.6", type: MDExpansionPanel, isStandalone: true, selector: "md-expansion-panel", inputs: { hideToggle: ["hideToggle", "hideToggle", booleanAttribute], togglePosition: "togglePosition" }, outputs: { afterExpand: "afterExpand", afterCollapse: "afterCollapse" }, host: { properties: { "class.expanded": "expanded", "class.expansion-panel-spacing": "_hasSpacing()" }, classAttribute: "expansion-panel" }, providers: [
4045
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.6", type: MDExpansionPanel, isStandalone: true, selector: "md-expansion-panel", inputs: { hideToggle: ["hideToggle", "hideToggle", booleanAttribute], togglePosition: "togglePosition" }, outputs: { afterExpand: "afterExpand", afterCollapse: "afterCollapse" }, host: { properties: { "class.expanded": "expanded" }, classAttribute: "expansion-panel" }, providers: [
5761
4046
  // Provide a standalone accordion context when used outside a parent accordion.
5762
4047
  { provide: ACCORDION, useValue: undefined },
5763
4048
  // Expose this concrete implementation under the base token.
5764
4049
  { provide: MD_EXPANSION_PANEL, useExisting: MDExpansionPanel },
5765
- ], queries: [{ propertyName: "_lazyContent", first: true, predicate: MDExpansionPanelContent, descendants: true }], viewQueries: [{ propertyName: "_body", first: true, predicate: ["body"], descendants: true }, { propertyName: "_bodyWrapper", first: true, predicate: ["bodyWrapper"], descendants: true }], exportAs: ["expansionPanel"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-content select=\"md-expansion-panel-header\"></ng-content>\r\n<div class=\"expansion-panel-content-wrapper\" [attr.inert]=\"expanded ? null : ''\" #bodyWrapper>\r\n <div class=\"expansion-panel-content\"\r\n role=\"region\"\r\n [attr.aria-labelledby]=\"_headerId\"\r\n [id]=\"id\"\r\n #body>\r\n <div class=\"expansion-panel-body\">\r\n <ng-content></ng-content>\r\n <ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\r\n </div>\r\n <ng-content select=\"action-row\"></ng-content>\r\n </div>\r\n</div>", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden;position:relative;background:#f3f3f3;color:#000}.expansion-panel.expansion-panel-animations-enabled{transition:margin 225ms cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1)}.expansion-panel:not([class*=elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.accordion .expansion-panel:not(.expanded),.accordion .expansion-panel:not(.expansion-panel-spacing){border-radius:0}.expansion-panel-content-wrapper{display:grid;grid-template-rows:0fr;grid-template-columns:100%}.expansion-panel-animations-enabled .expansion-panel-content-wrapper{transition:grid-template-rows 225ms cubic-bezier(.4,0,.2,1)}.expansion-panel.expanded>.expansion-panel-content-wrapper{grid-template-rows:1fr}@supports not (grid-template-rows: 0fr){.expansion-panel-content-wrapper{height:0}.expansion-panel.expanded>.expansion-panel-content-wrapper{height:auto}}.expansion-panel-content{display:flex;flex-direction:column;overflow:visible;min-height:0;visibility:hidden;font-family:Robot;font-size:1rem;font-weight:400;line-height:1.5rem;letter-spacing:.031rem}.expansion-panel-animations-enabled .expansion-panel-content{transition:visibility .19s linear}.expansion-panel.expanded>.expansion-panel-content-wrapper>.expansion-panel-content{visibility:visible}.expansion-panel-body{padding:0 24px 16px}.expansion-panel-spacing{margin:16px 0}.accordion>.expansion-panel-spacing:first-child,.accordion>*:first-child:not(.expansion-panel) .expansion-panel-spacing{margin-top:0}.accordion>.expansion-panel-spacing:last-child,.accordion>*:last-child:not(.expansion-panel) .expansion-panel-spacing{margin-bottom:0}.action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:12px 16px;border-top-color:#eaeaea}.action-row .button-base,.action-row .mdc-button-base{margin-left:8px}[dir=rtl] .action-row .button-base,[dir=rtl] .action-row .mdc-button-base{margin-left:0;margin-right:8px}\n"], dependencies: [{ kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4050
+ ], queries: [{ propertyName: "_lazyContent", first: true, predicate: MDExpansionPanelContent, descendants: true }], viewQueries: [{ propertyName: "_body", first: true, predicate: ["body"], descendants: true }, { propertyName: "_bodyWrapper", first: true, predicate: ["bodyWrapper"], descendants: true }], exportAs: ["expansionPanel"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-content select=\"md-expansion-panel-header\"></ng-content>\r\n<div class=\"expansion-panel-content-wrapper\" [attr.inert]=\"expanded ? null : ''\" #bodyWrapper>\r\n <div class=\"expansion-panel-content\"\r\n role=\"region\"\r\n [attr.aria-labelledby]=\"_headerId\"\r\n [id]=\"id\"\r\n #body>\r\n <div class=\"expansion-panel-body\">\r\n <ng-content></ng-content>\r\n <ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\r\n </div>\r\n <ng-content select=\"action-row\"></ng-content>\r\n </div>\r\n</div>", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden;position:relative;background:#f3f3f3;color:#000}.expansion-panel.expansion-panel-animations-enabled{transition:margin 225ms cubic-bezier(.4,0,.2,1)}.expansion-panel-content-wrapper{display:grid;grid-template-rows:0fr;grid-template-columns:100%}.expansion-panel-animations-enabled .expansion-panel-content-wrapper{transition:grid-template-rows 225ms cubic-bezier(.4,0,.2,1)}.expansion-panel.expanded>.expansion-panel-content-wrapper{grid-template-rows:1fr}@supports not (grid-template-rows: 0fr){.expansion-panel-content-wrapper{height:0}.expansion-panel.expanded>.expansion-panel-content-wrapper{height:auto}}.expansion-panel-content{display:flex;flex-direction:column;overflow:visible;min-height:0;visibility:hidden}.expansion-panel-animations-enabled .expansion-panel-content{transition:visibility .19s linear}.expansion-panel.expanded>.expansion-panel-content-wrapper>.expansion-panel-content{visibility:visible}.expansion-panel-body{padding:0 24px 16px}.accordion>.expansion-panel:not(:last-child){margin-bottom:8px}.action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:12px 16px;border-top-color:#eaeaea}.action-row .button-base,.action-row .mdc-button-base{margin-left:8px}[dir=rtl] .action-row .button-base,[dir=rtl] .action-row .mdc-button-base{margin-left:0;margin-right:8px}\n"], dependencies: [{ kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
5766
4051
  }
5767
4052
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDExpansionPanel, decorators: [{
5768
4053
  type: Component,
@@ -5773,9 +4058,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
5773
4058
  { provide: MD_EXPANSION_PANEL, useExisting: MDExpansionPanel },
5774
4059
  ], host: {
5775
4060
  class: 'expansion-panel',
5776
- '[class.expanded]': 'expanded',
5777
- '[class.expansion-panel-spacing]': '_hasSpacing()',
5778
- }, imports: [CdkPortalOutlet], template: "<ng-content select=\"md-expansion-panel-header\"></ng-content>\r\n<div class=\"expansion-panel-content-wrapper\" [attr.inert]=\"expanded ? null : ''\" #bodyWrapper>\r\n <div class=\"expansion-panel-content\"\r\n role=\"region\"\r\n [attr.aria-labelledby]=\"_headerId\"\r\n [id]=\"id\"\r\n #body>\r\n <div class=\"expansion-panel-body\">\r\n <ng-content></ng-content>\r\n <ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\r\n </div>\r\n <ng-content select=\"action-row\"></ng-content>\r\n </div>\r\n</div>", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden;position:relative;background:#f3f3f3;color:#000}.expansion-panel.expansion-panel-animations-enabled{transition:margin 225ms cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1)}.expansion-panel:not([class*=elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.accordion .expansion-panel:not(.expanded),.accordion .expansion-panel:not(.expansion-panel-spacing){border-radius:0}.expansion-panel-content-wrapper{display:grid;grid-template-rows:0fr;grid-template-columns:100%}.expansion-panel-animations-enabled .expansion-panel-content-wrapper{transition:grid-template-rows 225ms cubic-bezier(.4,0,.2,1)}.expansion-panel.expanded>.expansion-panel-content-wrapper{grid-template-rows:1fr}@supports not (grid-template-rows: 0fr){.expansion-panel-content-wrapper{height:0}.expansion-panel.expanded>.expansion-panel-content-wrapper{height:auto}}.expansion-panel-content{display:flex;flex-direction:column;overflow:visible;min-height:0;visibility:hidden;font-family:Robot;font-size:1rem;font-weight:400;line-height:1.5rem;letter-spacing:.031rem}.expansion-panel-animations-enabled .expansion-panel-content{transition:visibility .19s linear}.expansion-panel.expanded>.expansion-panel-content-wrapper>.expansion-panel-content{visibility:visible}.expansion-panel-body{padding:0 24px 16px}.expansion-panel-spacing{margin:16px 0}.accordion>.expansion-panel-spacing:first-child,.accordion>*:first-child:not(.expansion-panel) .expansion-panel-spacing{margin-top:0}.accordion>.expansion-panel-spacing:last-child,.accordion>*:last-child:not(.expansion-panel) .expansion-panel-spacing{margin-bottom:0}.action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:12px 16px;border-top-color:#eaeaea}.action-row .button-base,.action-row .mdc-button-base{margin-left:8px}[dir=rtl] .action-row .button-base,[dir=rtl] .action-row .mdc-button-base{margin-left:0;margin-right:8px}\n"] }]
4061
+ '[class.expanded]': 'expanded'
4062
+ }, imports: [CdkPortalOutlet], template: "<ng-content select=\"md-expansion-panel-header\"></ng-content>\r\n<div class=\"expansion-panel-content-wrapper\" [attr.inert]=\"expanded ? null : ''\" #bodyWrapper>\r\n <div class=\"expansion-panel-content\"\r\n role=\"region\"\r\n [attr.aria-labelledby]=\"_headerId\"\r\n [id]=\"id\"\r\n #body>\r\n <div class=\"expansion-panel-body\">\r\n <ng-content></ng-content>\r\n <ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\r\n </div>\r\n <ng-content select=\"action-row\"></ng-content>\r\n </div>\r\n</div>", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden;position:relative;background:#f3f3f3;color:#000}.expansion-panel.expansion-panel-animations-enabled{transition:margin 225ms cubic-bezier(.4,0,.2,1)}.expansion-panel-content-wrapper{display:grid;grid-template-rows:0fr;grid-template-columns:100%}.expansion-panel-animations-enabled .expansion-panel-content-wrapper{transition:grid-template-rows 225ms cubic-bezier(.4,0,.2,1)}.expansion-panel.expanded>.expansion-panel-content-wrapper{grid-template-rows:1fr}@supports not (grid-template-rows: 0fr){.expansion-panel-content-wrapper{height:0}.expansion-panel.expanded>.expansion-panel-content-wrapper{height:auto}}.expansion-panel-content{display:flex;flex-direction:column;overflow:visible;min-height:0;visibility:hidden}.expansion-panel-animations-enabled .expansion-panel-content{transition:visibility .19s linear}.expansion-panel.expanded>.expansion-panel-content-wrapper>.expansion-panel-content{visibility:visible}.expansion-panel-body{padding:0 24px 16px}.accordion>.expansion-panel:not(:last-child){margin-bottom:8px}.action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:12px 16px;border-top-color:#eaeaea}.action-row .button-base,.action-row .mdc-button-base{margin-left:8px}[dir=rtl] .action-row .button-base,[dir=rtl] .action-row .mdc-button-base{margin-left:0;margin-right:8px}\n"] }]
5779
4063
  }], ctorParameters: () => [], propDecorators: { hideToggle: [{
5780
4064
  type: Input,
5781
4065
  args: [{ transform: booleanAttribute }]
@@ -5944,7 +4228,7 @@ class MDExpansionPanelHeader {
5944
4228
  this._focusMonitor.stopMonitoring(this._element);
5945
4229
  }
5946
4230
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDExpansionPanelHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
5947
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: MDExpansionPanelHeader, isStandalone: true, selector: "md-expansion-panel-header", inputs: { expandedHeight: "expandedHeight", collapsedHeight: "collapsedHeight", tabIndex: ["tabIndex", "tabIndex", (value) => (value == null ? 0 : numberAttribute(value))] }, host: { attributes: { "role": "button" }, listeners: { "click": "_toggle()", "keydown": "_keydown($event)" }, properties: { "attr.id": "panel._headerId", "attr.tabindex": "disabled ? -1 : tabIndex", "attr.aria-controls": "_getPanelId()", "attr.aria-expanded": "_isExpanded()", "attr.aria-disabled": "panel.disabled", "class.expanded": "_isExpanded()", "class.expansion-toggle-indicator-after": "_getTogglePosition() === 'after'", "class.expansion-toggle-indicator-before": "_getTogglePosition() === 'before'", "style.height": "_getHeaderHeight()" }, classAttribute: "expansion-panel-header focus-indicator" }, ngImport: i0, template: "<span class=\"content\" [class.content-hide-toggle]=\"!_showToggle()\">\r\n <ng-content select=\"md-panel-title\"></ng-content>\r\n <ng-content select=\"md-panel-description\"></ng-content>\r\n <ng-content></ng-content>\r\n</span>\r\n\r\n@if (_showToggle()) {\r\n <span class=\"expansion-indicator\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 -960 960 960\"\r\n aria-hidden=\"true\"\r\n focusable=\"false\">\r\n <path d=\"M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z\"/>\r\n </svg>\r\n </span>\r\n}", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;height:48px;font-family:Montserrat;font-size:1rem;font-weight:600;line-height:1.5rem;letter-spacing:.009rem}.expansion-panel-animations-enabled .expansion-panel-header{transition:height 225ms cubic-bezier(.4,0,.2,1)}.expansion-panel-header:before{border-radius:inherit}.expansion-panel-header.expanded{height:64px}.expansion-panel-header[aria-disabled=true]{color:color-mix(in srgb,var(--mat-sys-on-surface) 38%,transparent)}.expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.expansion-panel:not(.expanded) .expansion-panel-header:not([aria-disabled=true]):hover{background:color-mix(in srgb,var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%),transparent)}.expansion-panel .expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.expansion-panel .expansion-panel-header:not([aria-disabled=true]).cdk-program-focused{background:color-mix(in srgb,var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%),transparent)}.expansion-panel-header._animation-noopable{transition:none}.expansion-panel-header:focus,.expansion-panel-header:hover{outline:none}.expansion-panel-header.expanded:focus,.expansion-panel-header.expanded:hover{background:inherit}.expansion-panel-header.expansion-toggle-indicator-before{flex-direction:row-reverse}.expansion-panel-header.expansion-toggle-indicator-before .expansion-indicator{margin:0 16px 0 0}[dir=rtl] .expansion-panel-header.expansion-toggle-indicator-before .expansion-indicator{margin:0 0 0 16px}.content{display:flex;flex:1;flex-direction:row;overflow:hidden}.content.content-hide-toggle{margin-right:8px}[dir=rtl] .content.content-hide-toggle{margin-right:0;margin-left:8px}.expansion-toggle-indicator-before .content.content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .expansion-toggle-indicator-before .content.content-hide-toggle{margin-right:24px;margin-left:0}.expansion-panel-header-title{color:#373737}.expansion-panel-header-title,.expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .expansion-panel-header-title,[dir=rtl] .expansion-panel-header-description{margin-right:0;margin-left:16px}.expansion-panel-header[aria-disabled=true] .expansion-panel-header-title,.expansion-panel-header[aria-disabled=true] .expansion-panel-header-description{color:inherit}.expansion-panel-header-description{flex-grow:2;color:#373737}.expansion-panel-animations-enabled .expansion-indicator{transition:transform 225ms cubic-bezier(.4,0,.2,1)}.expansion-panel-header.expanded .expansion-indicator{transform:rotate(180deg)}.expansion-indicator svg{width:24px;height:24px;margin:0 -8px;vertical-align:middle;fill:#000;display:inline-block}@media (forced-colors: active){.expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4231
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: MDExpansionPanelHeader, isStandalone: true, selector: "md-expansion-panel-header", inputs: { expandedHeight: "expandedHeight", collapsedHeight: "collapsedHeight", tabIndex: ["tabIndex", "tabIndex", (value) => (value == null ? 0 : numberAttribute(value))] }, host: { attributes: { "role": "button" }, listeners: { "click": "_toggle()", "keydown": "_keydown($event)" }, properties: { "attr.id": "panel._headerId", "attr.tabindex": "disabled ? -1 : tabIndex", "attr.aria-controls": "_getPanelId()", "attr.aria-expanded": "_isExpanded()", "attr.aria-disabled": "panel.disabled", "class.expanded": "_isExpanded()", "class.expansion-toggle-indicator-after": "_getTogglePosition() === 'after'", "class.expansion-toggle-indicator-before": "_getTogglePosition() === 'before'", "style.height": "_getHeaderHeight()" }, classAttribute: "expansion-panel-header focus-indicator" }, ngImport: i0, template: "<span class=\"content\" [class.content-hide-toggle]=\"!_showToggle()\">\r\n <ng-content select=\"md-panel-title\"></ng-content>\r\n <ng-content select=\"md-panel-description\"></ng-content>\r\n <ng-content></ng-content>\r\n</span>\r\n\r\n@if (_showToggle()) {\r\n <span class=\"expansion-indicator\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 -960 960 960\"\r\n aria-hidden=\"true\"\r\n focusable=\"false\">\r\n <path d=\"M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z\"/>\r\n </svg>\r\n </span>\r\n}", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;height:66px;font-family:Montserrat;font-size:1rem;font-weight:600;line-height:1.5rem;letter-spacing:.009rem}.expansion-panel-animations-enabled .expansion-panel-header{transition:height 225ms cubic-bezier(.4,0,.2,1)}.expansion-panel-header:before{border-radius:inherit}.expansion-panel-header.expanded{height:64px}.expansion-panel-header[aria-disabled=true]{color:color-mix(in srgb,var(--mat-sys-on-surface) 38%,transparent)}.expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.expansion-panel:not(.expanded) .expansion-panel-header:not([aria-disabled=true]):hover{background:color-mix(in srgb,var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%),transparent)}.expansion-panel .expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.expansion-panel .expansion-panel-header:not([aria-disabled=true]).cdk-program-focused{background:color-mix(in srgb,var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%),transparent)}.expansion-panel-header._animation-noopable{transition:none}.expansion-panel-header:focus,.expansion-panel-header:hover{outline:none}.expansion-panel-header.expanded:focus,.expansion-panel-header.expanded:hover{background:inherit}.expansion-panel-header.expansion-toggle-indicator-before{flex-direction:row-reverse}.expansion-panel-header.expansion-toggle-indicator-before .expansion-indicator{margin:0 16px 0 0}[dir=rtl] .expansion-panel-header.expansion-toggle-indicator-before .expansion-indicator{margin:0 0 0 16px}.content{display:flex;flex:1;flex-direction:row;overflow:hidden}.content.content-hide-toggle{margin-right:8px}[dir=rtl] .content.content-hide-toggle{margin-right:0;margin-left:8px}.expansion-toggle-indicator-before .content.content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .expansion-toggle-indicator-before .content.content-hide-toggle{margin-right:24px;margin-left:0}.expansion-panel-header-title{color:#373737;font-size:18px;line-height:24px;font-weight:600;text-transform:none}.expansion-panel-header-title,.expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .expansion-panel-header-title,[dir=rtl] .expansion-panel-header-description{margin-right:0;margin-left:16px}.expansion-panel-header[aria-disabled=true] .expansion-panel-header-title,.expansion-panel-header[aria-disabled=true] .expansion-panel-header-description{color:inherit}.expansion-panel-header-description{flex-grow:2;color:#373737}.expansion-panel-animations-enabled .expansion-indicator{transition:transform 225ms cubic-bezier(.4,0,.2,1)}.expansion-panel-header.expanded .expansion-indicator{transform:rotate(180deg)}.expansion-indicator svg{width:24px;height:24px;margin:0 -8px;vertical-align:middle;fill:#000;display:inline-block}@media (forced-colors: active){.expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
5948
4232
  }
5949
4233
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDExpansionPanelHeader, decorators: [{
5950
4234
  type: Component,
@@ -5965,7 +4249,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
5965
4249
  // Interaction
5966
4250
  '(click)': '_toggle()',
5967
4251
  '(keydown)': '_keydown($event)',
5968
- }, template: "<span class=\"content\" [class.content-hide-toggle]=\"!_showToggle()\">\r\n <ng-content select=\"md-panel-title\"></ng-content>\r\n <ng-content select=\"md-panel-description\"></ng-content>\r\n <ng-content></ng-content>\r\n</span>\r\n\r\n@if (_showToggle()) {\r\n <span class=\"expansion-indicator\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 -960 960 960\"\r\n aria-hidden=\"true\"\r\n focusable=\"false\">\r\n <path d=\"M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z\"/>\r\n </svg>\r\n </span>\r\n}", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;height:48px;font-family:Montserrat;font-size:1rem;font-weight:600;line-height:1.5rem;letter-spacing:.009rem}.expansion-panel-animations-enabled .expansion-panel-header{transition:height 225ms cubic-bezier(.4,0,.2,1)}.expansion-panel-header:before{border-radius:inherit}.expansion-panel-header.expanded{height:64px}.expansion-panel-header[aria-disabled=true]{color:color-mix(in srgb,var(--mat-sys-on-surface) 38%,transparent)}.expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.expansion-panel:not(.expanded) .expansion-panel-header:not([aria-disabled=true]):hover{background:color-mix(in srgb,var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%),transparent)}.expansion-panel .expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.expansion-panel .expansion-panel-header:not([aria-disabled=true]).cdk-program-focused{background:color-mix(in srgb,var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%),transparent)}.expansion-panel-header._animation-noopable{transition:none}.expansion-panel-header:focus,.expansion-panel-header:hover{outline:none}.expansion-panel-header.expanded:focus,.expansion-panel-header.expanded:hover{background:inherit}.expansion-panel-header.expansion-toggle-indicator-before{flex-direction:row-reverse}.expansion-panel-header.expansion-toggle-indicator-before .expansion-indicator{margin:0 16px 0 0}[dir=rtl] .expansion-panel-header.expansion-toggle-indicator-before .expansion-indicator{margin:0 0 0 16px}.content{display:flex;flex:1;flex-direction:row;overflow:hidden}.content.content-hide-toggle{margin-right:8px}[dir=rtl] .content.content-hide-toggle{margin-right:0;margin-left:8px}.expansion-toggle-indicator-before .content.content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .expansion-toggle-indicator-before .content.content-hide-toggle{margin-right:24px;margin-left:0}.expansion-panel-header-title{color:#373737}.expansion-panel-header-title,.expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .expansion-panel-header-title,[dir=rtl] .expansion-panel-header-description{margin-right:0;margin-left:16px}.expansion-panel-header[aria-disabled=true] .expansion-panel-header-title,.expansion-panel-header[aria-disabled=true] .expansion-panel-header-description{color:inherit}.expansion-panel-header-description{flex-grow:2;color:#373737}.expansion-panel-animations-enabled .expansion-indicator{transition:transform 225ms cubic-bezier(.4,0,.2,1)}.expansion-panel-header.expanded .expansion-indicator{transform:rotate(180deg)}.expansion-indicator svg{width:24px;height:24px;margin:0 -8px;vertical-align:middle;fill:#000;display:inline-block}@media (forced-colors: active){.expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}}\n"] }]
4252
+ }, template: "<span class=\"content\" [class.content-hide-toggle]=\"!_showToggle()\">\r\n <ng-content select=\"md-panel-title\"></ng-content>\r\n <ng-content select=\"md-panel-description\"></ng-content>\r\n <ng-content></ng-content>\r\n</span>\r\n\r\n@if (_showToggle()) {\r\n <span class=\"expansion-indicator\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 -960 960 960\"\r\n aria-hidden=\"true\"\r\n focusable=\"false\">\r\n <path d=\"M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z\"/>\r\n </svg>\r\n </span>\r\n}", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;height:66px;font-family:Montserrat;font-size:1rem;font-weight:600;line-height:1.5rem;letter-spacing:.009rem}.expansion-panel-animations-enabled .expansion-panel-header{transition:height 225ms cubic-bezier(.4,0,.2,1)}.expansion-panel-header:before{border-radius:inherit}.expansion-panel-header.expanded{height:64px}.expansion-panel-header[aria-disabled=true]{color:color-mix(in srgb,var(--mat-sys-on-surface) 38%,transparent)}.expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.expansion-panel:not(.expanded) .expansion-panel-header:not([aria-disabled=true]):hover{background:color-mix(in srgb,var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%),transparent)}.expansion-panel .expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.expansion-panel .expansion-panel-header:not([aria-disabled=true]).cdk-program-focused{background:color-mix(in srgb,var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%),transparent)}.expansion-panel-header._animation-noopable{transition:none}.expansion-panel-header:focus,.expansion-panel-header:hover{outline:none}.expansion-panel-header.expanded:focus,.expansion-panel-header.expanded:hover{background:inherit}.expansion-panel-header.expansion-toggle-indicator-before{flex-direction:row-reverse}.expansion-panel-header.expansion-toggle-indicator-before .expansion-indicator{margin:0 16px 0 0}[dir=rtl] .expansion-panel-header.expansion-toggle-indicator-before .expansion-indicator{margin:0 0 0 16px}.content{display:flex;flex:1;flex-direction:row;overflow:hidden}.content.content-hide-toggle{margin-right:8px}[dir=rtl] .content.content-hide-toggle{margin-right:0;margin-left:8px}.expansion-toggle-indicator-before .content.content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .expansion-toggle-indicator-before .content.content-hide-toggle{margin-right:24px;margin-left:0}.expansion-panel-header-title{color:#373737;font-size:18px;line-height:24px;font-weight:600;text-transform:none}.expansion-panel-header-title,.expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .expansion-panel-header-title,[dir=rtl] .expansion-panel-header-description{margin-right:0;margin-left:16px}.expansion-panel-header[aria-disabled=true] .expansion-panel-header-title,.expansion-panel-header[aria-disabled=true] .expansion-panel-header-description{color:inherit}.expansion-panel-header-description{flex-grow:2;color:#373737}.expansion-panel-animations-enabled .expansion-indicator{transition:transform 225ms cubic-bezier(.4,0,.2,1)}.expansion-panel-header.expanded .expansion-indicator{transform:rotate(180deg)}.expansion-indicator svg{width:24px;height:24px;margin:0 -8px;vertical-align:middle;fill:#000;display:inline-block}@media (forced-colors: active){.expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}}\n"] }]
5969
4253
  }], ctorParameters: () => [], propDecorators: { expandedHeight: [{
5970
4254
  type: Input
5971
4255
  }], collapsedHeight: [{
@@ -7231,7 +5515,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
7231
5515
  */
7232
5516
  class MDDialogContent {
7233
5517
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDDialogContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7234
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: MDDialogContent, isStandalone: true, selector: "[md-dialog-content], md-dialog-content, [mdDialogContent]", host: { classAttribute: "mdc-dialog-content mdc-dialog__content" }, hostDirectives: [{ directive: i1$3.CdkScrollable }], ngImport: i0 });
5518
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: MDDialogContent, isStandalone: true, selector: "[md-dialog-content], md-dialog-content, [mdDialogContent]", host: { classAttribute: "mdc-dialog-content mdc-dialog__content" }, hostDirectives: [{ directive: i1$2.CdkScrollable }], ngImport: i0 });
7235
5519
  }
7236
5520
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDDialogContent, decorators: [{
7237
5521
  type: Directive,
@@ -7582,6 +5866,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
7582
5866
  }]
7583
5867
  }] });
7584
5868
 
5869
+ const HEADER_SCROLL_DELAY$1 = 650;
5870
+ const HEADER_SCROLL_INTERVAL$1 = 100;
5871
+ const passiveEventListenerOptions$1 = {
5872
+ passive: true,
5873
+ };
7585
5874
  /**
7586
5875
  * ErrorStateMatcher that shows errors only once a control is dirty
7587
5876
  * (or when the parent form was submitted). Useful for “show on edit”.
@@ -7633,9 +5922,9 @@ class MDStep extends CdkStep {
7633
5922
  ngAfterContentInit() {
7634
5923
  this._isSelected = this._stepper.steps.changes
7635
5924
  .pipe(switchMap(() => {
7636
- return this._stepper.selectionChange.pipe(map(event => event.selectedStep === this), startWith(this._stepper.selected === this));
5925
+ return this._stepper.selectionChange.pipe(map((event) => event.selectedStep === this), startWith(this._stepper.selected === this));
7637
5926
  }))
7638
- .subscribe(isSelected => {
5927
+ .subscribe((isSelected) => {
7639
5928
  if (isSelected && this._lazyContent && !this._portal) {
7640
5929
  this._portal = new TemplatePortal(this._lazyContent._template, this._viewContainerRef);
7641
5930
  }
@@ -7670,7 +5959,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
7670
5959
  { provide: CdkStep, useExisting: MDStep },
7671
5960
  ], encapsulation: ViewEncapsulation.None, exportAs: 'mdStep', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CdkPortalOutlet], host: {
7672
5961
  // Keep steps hidden by default; container controls visibility.
7673
- 'hidden': '',
5962
+ hidden: '',
7674
5963
  }, template: "<ng-template>\r\n <ng-content></ng-content>\r\n <ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\r\n</ng-template>" }]
7675
5964
  }], propDecorators: { stepLabel: [{
7676
5965
  type: ContentChild,
@@ -7726,12 +6015,17 @@ class MDStepper extends CdkStepper {
7726
6015
  _animationDuration = '';
7727
6016
  /** SSR guard (avoid DOM APIs when not in browser). */
7728
6017
  _isServer = !inject(Platform).isBrowser;
6018
+ _sharedResizeObserver = inject(SharedResizeObserver);
6019
+ // Overload kept to match construction signature patterns.
7729
6020
  constructor() {
7730
6021
  super();
7731
6022
  // Infer orientation from host element name when using alias tags.
7732
6023
  const elementRef = inject(ElementRef);
7733
6024
  const nodeName = elementRef.nativeElement.nodeName.toLowerCase();
7734
6025
  this.orientation = nodeName === 'vertical-stepper' ? 'vertical' : 'horizontal';
6026
+ this._eventCleanups = this._ngZone.runOutsideAngular(() => [
6027
+ this._renderer.listen(this._elementRef.nativeElement, 'mouseleave', () => this._stopInterval()),
6028
+ ]);
7735
6029
  }
7736
6030
  /**
7737
6031
  * After content init:
@@ -7764,6 +6058,192 @@ class MDStepper extends CdkStepper {
7764
6058
  }, 200);
7765
6059
  }
7766
6060
  });
6061
+ const resize = this._sharedResizeObserver
6062
+ .observe(this._elementRef.nativeElement)
6063
+ .pipe(debounceTime(32), takeUntil(this._destroyed));
6064
+ const realign = () => {
6065
+ this.updatePagination();
6066
+ };
6067
+ merge(resize, this._stepHeader.changes, this._itemsResized())
6068
+ .pipe(takeUntil(this._destroyed))
6069
+ .subscribe(() => {
6070
+ this._ngZone.run(() => {
6071
+ Promise.resolve().then(() => {
6072
+ this._scrollDistance = Math.max(0, Math.min(this._getMaxScrollDistance(), this._scrollDistance));
6073
+ realign();
6074
+ });
6075
+ });
6076
+ });
6077
+ }
6078
+ ngAfterViewChecked() {
6079
+ if (this._stepLabelCount != this._stepHeader.length) {
6080
+ this.updatePagination();
6081
+ this._stepLabelCount = this._stepHeader.length;
6082
+ this.changeDetectorRef.markForCheck();
6083
+ }
6084
+ if (this._selectedIndexChanged) {
6085
+ this._scrollToLabel(this.selectedIndex);
6086
+ this._checkScrollingControls();
6087
+ this._selectedIndexChanged = false;
6088
+ this.changeDetectorRef.markForCheck();
6089
+ }
6090
+ if (this._scrollDistanceChanged) {
6091
+ this._updateTabScrollPosition();
6092
+ this._scrollDistanceChanged = false;
6093
+ this.changeDetectorRef.markForCheck();
6094
+ }
6095
+ }
6096
+ _stopScrolling = new Subject();
6097
+ _eventCleanups;
6098
+ _selectedIndexChanged = false;
6099
+ _stepLabelCount;
6100
+ changeDetectorRef = inject(ChangeDetectorRef);
6101
+ _platform = inject(Platform);
6102
+ disablePagination = false;
6103
+ get selectedIndex() {
6104
+ return super.selectedIndex;
6105
+ }
6106
+ set selectedIndex(v) {
6107
+ const previous = super.selectedIndex;
6108
+ super.selectedIndex = v;
6109
+ const value = isNaN(v) ? 0 : v;
6110
+ if (previous != value) {
6111
+ this._selectedIndexChanged = true;
6112
+ }
6113
+ }
6114
+ _stepHeaderElRef;
6115
+ _stepListContainer;
6116
+ _stepList;
6117
+ _stepListInner;
6118
+ _nextPaginator;
6119
+ _previousPaginator;
6120
+ _scrollDistanceChanged;
6121
+ _scrollDistance = 0;
6122
+ _showPaginationControls = false;
6123
+ _disableScrollAfter = true;
6124
+ _disableScrollBefore = true;
6125
+ get scrollDistance() {
6126
+ return this._scrollDistance;
6127
+ }
6128
+ set scrollDistance(value) {
6129
+ this._scrollTo(value);
6130
+ }
6131
+ _handlePaginatorClick(direction) {
6132
+ this._stopInterval();
6133
+ this._scrollHeader(direction);
6134
+ }
6135
+ _handlePaginatorPress(direction, mouseEvent) {
6136
+ if (mouseEvent && mouseEvent.button != null && mouseEvent.button !== 0) {
6137
+ return;
6138
+ }
6139
+ this._stopInterval();
6140
+ timer(HEADER_SCROLL_DELAY$1, HEADER_SCROLL_INTERVAL$1)
6141
+ .pipe(takeUntil(merge(this._stopScrolling, this._destroyed)))
6142
+ .subscribe(() => {
6143
+ const { maxScrollDistance, distance } = this._scrollHeader(direction);
6144
+ if (distance === 0 || distance >= maxScrollDistance) {
6145
+ this._stopInterval();
6146
+ }
6147
+ });
6148
+ }
6149
+ _scrollHeader(direction) {
6150
+ const viewLength = this._stepListContainer.nativeElement.offsetWidth;
6151
+ const scrollAmount = ((direction == 'before' ? -1 : 1) * viewLength) / 3;
6152
+ return this._scrollTo(this._scrollDistance + scrollAmount);
6153
+ }
6154
+ _stopInterval() {
6155
+ this._stopScrolling.next();
6156
+ }
6157
+ _scrollToLabel(labelIndex) {
6158
+ if (this.disablePagination) {
6159
+ return;
6160
+ }
6161
+ const selectedLabel = this._stepHeader ? this._stepHeader.toArray()[labelIndex] : null;
6162
+ if (!selectedLabel) {
6163
+ return;
6164
+ }
6165
+ const viewLength = this._stepListContainer.nativeElement.offsetWidth;
6166
+ const { offsetLeft, offsetWidth } = selectedLabel._elementRef.nativeElement;
6167
+ let labelBeforePos, labelAfterPos;
6168
+ labelBeforePos = offsetLeft;
6169
+ labelAfterPos = labelBeforePos + offsetWidth;
6170
+ const beforeVisiblePos = this.scrollDistance;
6171
+ const afterVisiblePos = this.scrollDistance + viewLength;
6172
+ if (labelBeforePos < beforeVisiblePos) {
6173
+ this.scrollDistance -= beforeVisiblePos - labelBeforePos;
6174
+ }
6175
+ else if (labelAfterPos > afterVisiblePos) {
6176
+ this.scrollDistance += Math.min(labelAfterPos - afterVisiblePos, labelBeforePos - beforeVisiblePos);
6177
+ }
6178
+ }
6179
+ _itemsResized() {
6180
+ if (typeof ResizeObserver !== 'function') {
6181
+ return EMPTY;
6182
+ }
6183
+ return this._stepHeader.changes.pipe(startWith(this._stepHeader), switchMap((tabItems) => new Observable((observer) => this._ngZone.runOutsideAngular(() => {
6184
+ const resizeObserver = new ResizeObserver((entries) => observer.next(entries));
6185
+ tabItems.forEach((item) => resizeObserver.observe(item.elementRef.nativeElement));
6186
+ return () => {
6187
+ resizeObserver.disconnect();
6188
+ };
6189
+ }))), skip(1), filter((entries) => entries.some((e) => e.contentRect.width > 0 && e.contentRect.height > 0)));
6190
+ }
6191
+ _scrollTo(position) {
6192
+ if (this.disablePagination) {
6193
+ return { maxScrollDistance: 0, distance: 0 };
6194
+ }
6195
+ const maxScrollDistance = this._getMaxScrollDistance();
6196
+ this._scrollDistance = Math.max(0, Math.min(maxScrollDistance, position));
6197
+ this._scrollDistanceChanged = true;
6198
+ this._checkScrollingControls();
6199
+ return { maxScrollDistance, distance: this._scrollDistance };
6200
+ }
6201
+ _checkScrollingControls() {
6202
+ if (this.disablePagination) {
6203
+ this._disableScrollAfter = this._disableScrollBefore = true;
6204
+ }
6205
+ else {
6206
+ this._disableScrollBefore = this.scrollDistance == 0;
6207
+ this._disableScrollAfter = this.scrollDistance == this._getMaxScrollDistance();
6208
+ this.changeDetectorRef.markForCheck();
6209
+ }
6210
+ }
6211
+ _getMaxScrollDistance() {
6212
+ const lengthOfTabList = this._stepListInner.nativeElement.scrollWidth;
6213
+ const viewLength = this._stepListContainer.nativeElement.offsetWidth;
6214
+ return lengthOfTabList - viewLength || 0;
6215
+ }
6216
+ _updateTabScrollPosition() {
6217
+ if (this.disablePagination) {
6218
+ return;
6219
+ }
6220
+ const scrollDistance = this.scrollDistance;
6221
+ const translateX = -scrollDistance;
6222
+ this._stepList.nativeElement.style.transform = `translateX(${Math.round(translateX)}px)`;
6223
+ this._stepListContainer.nativeElement.scrollLeft = 0;
6224
+ }
6225
+ updatePagination() {
6226
+ this._checkPaginationEnabled();
6227
+ this._checkScrollingControls();
6228
+ this._updateTabScrollPosition();
6229
+ }
6230
+ _checkPaginationEnabled() {
6231
+ if (this.disablePagination) {
6232
+ this._showPaginationControls = false;
6233
+ this.changeDetectorRef.markForCheck();
6234
+ }
6235
+ else {
6236
+ const scrollWidth = this._stepListInner.nativeElement.scrollWidth;
6237
+ const containerWidth = this._elementRef.nativeElement.offsetWidth;
6238
+ const isEnabled = scrollWidth - containerWidth >= 5;
6239
+ if (!isEnabled) {
6240
+ this.scrollDistance = 0;
6241
+ }
6242
+ if (isEnabled !== this._showPaginationControls) {
6243
+ this._showPaginationControls = isEnabled;
6244
+ this.changeDetectorRef.markForCheck();
6245
+ }
6246
+ }
7767
6247
  }
7768
6248
  /**
7769
6249
  * After view init:
@@ -7774,9 +6254,7 @@ class MDStepper extends CdkStepper {
7774
6254
  super.ngAfterViewInit();
7775
6255
  if (typeof queueMicrotask === 'function') {
7776
6256
  let hasEmittedInitial = false;
7777
- this._animatedContainers.changes
7778
- .pipe(startWith(null), takeUntil(this._destroyed))
7779
- .subscribe(() => queueMicrotask(() => {
6257
+ this._animatedContainers.changes.pipe(startWith(null), takeUntil(this._destroyed)).subscribe(() => queueMicrotask(() => {
7780
6258
  // Fire once after the very first render so consumers can react.
7781
6259
  if (!hasEmittedInitial) {
7782
6260
  hasEmittedInitial = true;
@@ -7785,11 +6263,16 @@ class MDStepper extends CdkStepper {
7785
6263
  this._stateChanged();
7786
6264
  }));
7787
6265
  }
6266
+ this._eventCleanups.push(this._renderer.listen(this._previousPaginator.nativeElement, 'touchstart', () => this._handlePaginatorPress('before'), passiveEventListenerOptions$1), this._renderer.listen(this._nextPaginator.nativeElement, 'touchstart', () => this._handlePaginatorPress('after'), passiveEventListenerOptions$1));
7788
6267
  }
7789
6268
  /** Tear down transition listener on destroy. */
7790
6269
  ngOnDestroy() {
7791
6270
  super.ngOnDestroy();
7792
6271
  this._cleanupTransition?.();
6272
+ this._eventCleanups.forEach((cleanup) => cleanup());
6273
+ this._destroyed.next();
6274
+ this._destroyed.complete();
6275
+ this._stopScrolling.complete();
7793
6276
  }
7794
6277
  /** Resolve the effective animation duration string applied to CSS. */
7795
6278
  _getAnimationDuration() {
@@ -7822,7 +6305,7 @@ class MDStepper extends CdkStepper {
7822
6305
  target.classList.contains('vertical-content-container-active');
7823
6306
  // Ensure the event target is one of our tracked containers.
7824
6307
  const shouldEmit = (isHorizontalActiveElement || isVerticalActiveElement) &&
7825
- this._animatedContainers.find(ref => ref.nativeElement === target);
6308
+ this._animatedContainers.find((ref) => ref.nativeElement === target);
7826
6309
  if (shouldEmit) {
7827
6310
  this._onAnimationDone();
7828
6311
  }
@@ -7833,7 +6316,7 @@ class MDStepper extends CdkStepper {
7833
6316
  this.animationDone.emit();
7834
6317
  }
7835
6318
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDStepper, deps: [], target: i0.ɵɵFactoryTarget.Component });
7836
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: MDStepper, isStandalone: true, selector: "md-stepper, md-vertical-stepper, md-horizontal-stepper, [mdStepper]", inputs: { labelPosition: "labelPosition", headerPosition: "headerPosition", animationDuration: "animationDuration" }, outputs: { animationDone: "animationDone" }, host: { attributes: { "role": "tablist" }, properties: { "class.stepper-horizontal": "orientation === \"horizontal\"", "class.stepper-vertical": "orientation === \"vertical\"", "class.stepper-label-position-end": "orientation === \"horizontal\" && labelPosition == \"end\"", "class.stepper-label-position-bottom": "orientation === \"horizontal\" && labelPosition == \"bottom\"", "class.stepper-header-position-bottom": "headerPosition === \"bottom\"", "class.stepper-animating": "_isAnimating()", "style.stepper-animation-duration": "_getAnimationDuration()", "attr.aria-orientation": "orientation" } }, providers: [{ provide: CdkStepper, useExisting: MDStepper }], queries: [{ propertyName: "footer", first: true, predicate: MDStepFooter, descendants: true, read: TemplateRef }, { propertyName: "_steps", predicate: MDStep, descendants: true }, { propertyName: "_icons", predicate: MDStepperIcon, descendants: true }], viewQueries: [{ propertyName: "_stepHeader", predicate: MDStepHeader, descendants: true }, { propertyName: "_animatedContainers", predicate: ["animatedContainer"], descendants: true }], exportAs: ["mdStepper", "mdVerticalStepper", "mdHorizontalStepper"], usesInheritance: true, ngImport: i0, template: "@if (_isServer) {\r\n <ng-content/>\r\n}\r\n\r\n@switch (orientation) {\r\n @case ('horizontal') {\r\n <div class=\"horizontal-stepper-wrapper\">\r\n <div class=\"horizontal-stepper-header-container\">\r\n @for (step of steps; track step) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"stepTemplate\"\r\n [ngTemplateOutletContext]=\"{step}\"/>\r\n @if (!$last) {\r\n <div class=\"stepper-horizontal-line\"></div>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"horizontal-content-container\">\r\n @for (step of steps; track step) {\r\n <div\r\n #animatedContainer\r\n class=\"horizontal-stepper-content\"\r\n role=\"tabpanel\"\r\n [id]=\"_getStepContentId($index)\"\r\n [attr.aria-labelledby]=\"_getStepLabelId($index)\"\r\n [class]=\"'horizontal-stepper-content-' + _getAnimationDirection($index)\"\r\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\r\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @case ('vertical') {\r\n @for (step of steps; track step) {\r\n <div class=\"step\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"stepTemplate\"\r\n [ngTemplateOutletContext]=\"{step}\"/>\r\n <div\r\n #animatedContainer\r\n class=\"vertical-content-container\"\r\n [class.stepper-vertical-line]=\"!$last\"\r\n [class.vertical-content-container-active]=\"selectedIndex === $index\"\r\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\r\n <div class=\"vertical-stepper-content\"\r\n role=\"tabpanel\"\r\n [id]=\"_getStepContentId($index)\"\r\n [attr.aria-labelledby]=\"_getStepLabelId($index)\">\r\n <div class=\"vertical-content\">\r\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n}\r\n\r\n<ng-template let-step=\"step\" #stepTemplate>\r\n <md-step-header\r\n [class.horizontal-stepper-header]=\"orientation === 'horizontal'\"\r\n [class.vertical-stepper-header]=\"orientation === 'vertical'\"\r\n (click)=\"step.select()\"\r\n (keydown)=\"_onKeydown($event)\"\r\n [tabIndex]=\"_getFocusIndex() === step.index() ? 0 : -1\"\r\n [id]=\"_getStepLabelId(step.index())\"\r\n [attr.aria-posinset]=\"step.index() + 1\"\r\n [attr.aria-setsize]=\"steps.length\"\r\n [attr.aria-controls]=\"_getStepContentId(step.index())\"\r\n [attr.aria-selected]=\"step.isSelected()\"\r\n [attr.aria-label]=\"step.ariaLabel || null\"\r\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\r\n [attr.aria-disabled]=\"step.isNavigable() ? null : true\"\r\n [index]=\"step.index()\"\r\n [state]=\"step.indicatorType()\"\r\n [label]=\"step.stepLabel || step.label\"\r\n [selected]=\"step.isSelected()\"\r\n [active]=\"step.isNavigable()\"\r\n [optional]=\"step.optional\"\r\n [errorMessage]=\"step.errorMessage\"\r\n [iconOverrides]=\"_iconOverrides\"\r\n [disableRipple]=\"disableRipple || !step.isNavigable()\"\r\n [color]=\"step.color || color\"/>\r\n</ng-template>\r\n\r\n\r\n<ng-container [ngTemplateOutlet]=\"footer\"></ng-container>", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.stepper-vertical,.stepper-horizontal{display:block;font-family:Montserrat;font-size:14px;color:#000}.horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center;padding-bottom:40px}.stepper-label-position-bottom .horizontal-stepper-header-container{align-items:flex-start}.stepper-header-position-bottom .horizontal-stepper-header-container{order:1}.stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 2px;min-width:32px;border-top-color:#889392}.stepper-label-position-bottom .stepper-horizontal-line{margin:0;min-width:0;position:relative;top:36px}.stepper-label-position-bottom .horizontal-stepper-header:not(:first-child):before,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:not(:last-child):before,.stepper-label-position-bottom .horizontal-stepper-header:not(:last-child):after,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:not(:first-child):after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 11px)}.horizontal-stepper-header{display:flex;overflow:hidden;align-items:center;padding:0 6px;height:48px}.horizontal-stepper-header .step-icon{position:relative;margin-right:8px;flex:none}[dir=rtl] .horizontal-stepper-header .step-icon{margin-right:0;margin-left:8px}.horizontal-stepper-header.step-header-empty-label .step-icon{margin:0}.stepper-label-position-bottom .horizontal-stepper-header{padding:24px 6px}.stepper-label-position-bottom .horizontal-stepper-header:before,.stepper-label-position-bottom .horizontal-stepper-header:after{top:36px}.stepper-label-position-bottom .horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto}.stepper-label-position-bottom .horizontal-stepper-header:not(:last-child):after,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:not(:first-child):after{right:0}.stepper-label-position-bottom .horizontal-stepper-header:not(:first-child):before,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:not(:last-child):before{left:0}[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:last-child:before,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:first-child:after{display:none}.stepper-label-position-bottom .horizontal-stepper-header .step-icon{margin-right:0;margin-left:0}.stepper-label-position-bottom .horizontal-stepper-header .step-label{padding:16px 0 0;text-align:center;width:100%}.vertical-stepper-header{display:flex;align-items:center;height:24px;padding:24px 6px}.vertical-stepper-header .step-icon{margin-right:30px}[dir=rtl] .vertical-stepper-header .step-icon{margin-right:0;margin-left:30px}.horizontal-stepper-wrapper{display:flex;flex-direction:column}.horizontal-stepper-content{visibility:hidden;overflow:hidden;outline:0;height:0}.stepper-animations-enabled .horizontal-stepper-content{transition:transform .5s cubic-bezier(.35,0,.25,1)}.horizontal-stepper-content.horizontal-stepper-content-previous{transform:translate3d(-100%,0,0)}.horizontal-stepper-content.horizontal-stepper-content-next{transform:translate3d(100%,0,0)}.horizontal-stepper-content.horizontal-stepper-content-current{visibility:visible;transform:none;height:auto}.stepper-horizontal:not(.stepper-animating) .horizontal-stepper-content.horizontal-stepper-content-current{overflow:visible}.horizontal-content-container{overflow:hidden;background:#f3f3f3;padding:46px 6px 6px}@media (forced-colors: active){.horizontal-content-container{outline:solid 1px}}.stepper-header-position-bottom .horizontal-content-container{padding:6px 6px 0}.vertical-content-container{display:grid;grid-template-rows:0fr;grid-template-columns:100%;margin-left:36px;border:0;position:relative}.stepper-animations-enabled .vertical-content-container{transition:grid-template-rows .5s cubic-bezier(.4,0,.2,1)}.vertical-content-container.vertical-content-container-active{grid-template-rows:1fr}.step:last-child .vertical-content-container{border:none}@media (forced-colors: active){.vertical-content-container{outline:solid 1px}}[dir=rtl] .vertical-content-container{margin-left:0;margin-right:36px}@supports not (grid-template-rows: 0fr){.vertical-content-container{height:0}.vertical-content-container.vertical-content-container-active{height:auto}}.stepper-vertical-line:before{content:\"\";position:absolute;left:0;border-left-width:1px;border-left-style:solid;border-left-color:#889392;top:-16px;bottom:-16px}[dir=rtl] .stepper-vertical-line:before{left:auto;right:0}.vertical-stepper-content{overflow:hidden;outline:0;visibility:hidden}.stepper-animations-enabled .vertical-stepper-content{transition:visibility .5s linear}.vertical-content-container-active>.vertical-stepper-content{visibility:visible}.vertical-content{padding:0 6px 6px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MDStepHeader, selector: "md-step-header", inputs: ["state", "label", "errorMessage", "iconOverrides", "index", "selected", "active", "optional", "disableRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
6319
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: MDStepper, isStandalone: true, selector: "md-stepper, md-vertical-stepper, md-horizontal-stepper, [mdStepper]", inputs: { labelPosition: "labelPosition", headerPosition: "headerPosition", animationDuration: "animationDuration", disablePagination: "disablePagination" }, outputs: { animationDone: "animationDone" }, host: { attributes: { "role": "tablist" }, properties: { "class.stepper-horizontal": "orientation === \"horizontal\"", "class.stepper-vertical": "orientation === \"vertical\"", "class.stepper-label-position-end": "orientation === \"horizontal\" && labelPosition == \"end\"", "class.stepper-label-position-bottom": "orientation === \"horizontal\" && labelPosition == \"bottom\"", "class.stepper-header-position-bottom": "headerPosition === \"bottom\"", "class.mdc-step-header-pagination-controls-enabled": "_showPaginationControls", "class.stepper-animating": "_isAnimating()", "style.stepper-animation-duration": "_getAnimationDuration()", "attr.aria-orientation": "orientation" } }, providers: [{ provide: CdkStepper, useExisting: MDStepper }], queries: [{ propertyName: "footer", first: true, predicate: MDStepFooter, descendants: true, read: TemplateRef }, { propertyName: "_steps", predicate: MDStep, descendants: true }, { propertyName: "_icons", predicate: MDStepperIcon, descendants: true }], viewQueries: [{ propertyName: "_stepHeaderElRef", first: true, predicate: ["stepHeader"], descendants: true }, { propertyName: "_stepListContainer", first: true, predicate: ["stepListContainer"], descendants: true }, { propertyName: "_stepList", first: true, predicate: ["stepList"], descendants: true }, { propertyName: "_stepListInner", first: true, predicate: ["stepListInner"], descendants: true }, { propertyName: "_nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "_previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }, { propertyName: "_stepHeader", predicate: MDStepHeader, descendants: true }, { propertyName: "_animatedContainers", predicate: ["animatedContainer"], descendants: true }], exportAs: ["mdStepper", "mdVerticalStepper", "mdHorizontalStepper"], usesInheritance: true, ngImport: i0, template: "@if (_isServer) {\r\n <ng-content/>\r\n}\r\n\r\n@switch (orientation) {\r\n @case ('horizontal') {\r\n <div class=\"horizontal-stepper-wrapper\">\r\n \r\n <div class=\"mdc-step-header\" #stepHeader>\r\n <div class=\"mdc-step-header-pagination mdc-step-header-pagination-before\"\r\n #previousPaginator\r\n [class.mdc-step-header-pagination-disabled]=\"_disableScrollBefore\"\r\n (click)=\"_handlePaginatorClick('before')\"\r\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\r\n (touchend)=\"_stopInterval()\">\r\n <div class=\"mdc-step-header-pagination-chevron\"></div>\r\n </div>\r\n\r\n <div class=\"mdc-step-label-container\" #stepListContainer>\r\n <div class=\"mdc-step-list\" #stepList>\r\n <div class=\"horizontal-stepper-header-container\" #stepListInner>\r\n @for (step of steps; track step) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"stepTemplate\"\r\n [ngTemplateOutletContext]=\"{step}\"/>\r\n @if (!$last) {\r\n <div class=\"stepper-horizontal-line\"></div>\r\n }\r\n }\r\n </div> \r\n </div>\r\n </div>\r\n\r\n <div class=\"mdc-step-header-pagination mdc-step-header-pagination-after\"\r\n #nextPaginator\r\n [class.mdc-step-header-pagination-disabled]=\"_disableScrollAfter\"\r\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\r\n (click)=\"_handlePaginatorClick('after')\"\r\n (touchend)=\"_stopInterval()\">\r\n <div class=\"mdc-step-header-pagination-chevron\"></div>\r\n </div> \r\n </div>\r\n \r\n\r\n <div class=\"horizontal-content-container\">\r\n @for (step of steps; track step) {\r\n <div\r\n #animatedContainer\r\n class=\"horizontal-stepper-content\"\r\n role=\"tabpanel\"\r\n [id]=\"_getStepContentId($index)\"\r\n [attr.aria-labelledby]=\"_getStepLabelId($index)\"\r\n [class]=\"'horizontal-stepper-content-' + _getAnimationDirection($index)\"\r\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\r\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n \r\n }\r\n\r\n @case ('vertical') {\r\n @for (step of steps; track step) {\r\n <div class=\"step\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"stepTemplate\"\r\n [ngTemplateOutletContext]=\"{step}\"/>\r\n <div\r\n #animatedContainer\r\n class=\"vertical-content-container\"\r\n [class.stepper-vertical-line]=\"!$last\"\r\n [class.vertical-content-container-active]=\"selectedIndex === $index\"\r\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\r\n <div class=\"vertical-stepper-content\"\r\n role=\"tabpanel\"\r\n [id]=\"_getStepContentId($index)\"\r\n [attr.aria-labelledby]=\"_getStepLabelId($index)\">\r\n <div class=\"vertical-content\">\r\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n}\r\n\r\n<ng-template let-step=\"step\" #stepTemplate>\r\n <md-step-header\r\n [class.horizontal-stepper-header]=\"orientation === 'horizontal'\"\r\n [class.vertical-stepper-header]=\"orientation === 'vertical'\"\r\n (click)=\"step.select()\"\r\n (keydown)=\"_onKeydown($event)\"\r\n [tabIndex]=\"_getFocusIndex() === step.index() ? 0 : -1\"\r\n [id]=\"_getStepLabelId(step.index())\"\r\n [attr.aria-posinset]=\"step.index() + 1\"\r\n [attr.aria-setsize]=\"steps.length\"\r\n [attr.aria-controls]=\"_getStepContentId(step.index())\"\r\n [attr.aria-selected]=\"step.isSelected()\"\r\n [attr.aria-label]=\"step.ariaLabel || null\"\r\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\r\n [attr.aria-disabled]=\"step.isNavigable() ? null : true\"\r\n [index]=\"step.index()\"\r\n [state]=\"step.indicatorType()\"\r\n [label]=\"step.stepLabel || step.label\"\r\n [selected]=\"step.isSelected()\"\r\n [active]=\"step.isNavigable()\"\r\n [optional]=\"step.optional\"\r\n [errorMessage]=\"step.errorMessage\"\r\n [iconOverrides]=\"_iconOverrides\"\r\n [disableRipple]=\"disableRipple || !step.isNavigable()\"\r\n [color]=\"step.color || color\"/>\r\n</ng-template>\r\n\r\n\r\n<ng-container [ngTemplateOutlet]=\"footer\"></ng-container>", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.stepper-vertical,.stepper-horizontal{display:block;font-family:Montserrat;font-size:14px;color:#000}.horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center}.stepper-label-position-bottom .horizontal-stepper-header-container{align-items:flex-start}.stepper-header-position-bottom .horizontal-stepper-header-container{order:1}.stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px;border-top-color:#889392}.stepper-label-position-bottom .stepper-horizontal-line{margin:0;min-width:0;position:relative;top:36px}.stepper-label-position-bottom .horizontal-stepper-header:not(:first-child):before,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:not(:last-child):before,.stepper-label-position-bottom .horizontal-stepper-header:not(:last-child):after,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:not(:first-child):after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px)}.horizontal-stepper-header{display:flex;overflow:hidden;align-items:center;padding:0 24px;height:48px}.horizontal-stepper-header .step-icon{position:relative;margin-right:8px;flex:none}[dir=rtl] .horizontal-stepper-header .step-icon{margin-right:0;margin-left:8px}.horizontal-stepper-header.step-header-empty-label .step-icon{margin:0}.stepper-label-position-bottom .horizontal-stepper-header{padding:24px}.stepper-label-position-bottom .horizontal-stepper-header:before,.stepper-label-position-bottom .horizontal-stepper-header:after{top:36px}.stepper-label-position-bottom .horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto}.stepper-label-position-bottom .horizontal-stepper-header:not(:last-child):after,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:not(:first-child):after{right:0}.stepper-label-position-bottom .horizontal-stepper-header:not(:first-child):before,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:not(:last-child):before{left:0}[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:last-child:before,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:first-child:after{display:none}.stepper-label-position-bottom .horizontal-stepper-header .step-icon{margin-right:0;margin-left:0}.stepper-label-position-bottom .horizontal-stepper-header .step-label{padding:16px 0 0;text-align:center;width:100%}.vertical-stepper-header{display:flex;align-items:center;height:24px;padding:24px}.vertical-stepper-header .step-icon{margin-right:12px}[dir=rtl] .vertical-stepper-header .step-icon{margin-right:0;margin-left:12px}.horizontal-stepper-wrapper{display:flex;flex-direction:column}.horizontal-stepper-content{visibility:hidden;overflow:hidden;outline:0;height:0}.stepper-animations-enabled .horizontal-stepper-content{transition:transform .5s cubic-bezier(.35,0,.25,1)}.horizontal-stepper-content.horizontal-stepper-content-previous{transform:translate3d(-100%,0,0)}.horizontal-stepper-content.horizontal-stepper-content-next{transform:translate3d(100%,0,0)}.horizontal-stepper-content.horizontal-stepper-content-current{visibility:visible;transform:none;height:auto}.stepper-horizontal:not(.stepper-animating) .horizontal-stepper-content.horizontal-stepper-content-current{overflow:visible}.horizontal-content-container{overflow:hidden;background:#f3f3f3;padding:24px}@media (forced-colors: active){.horizontal-content-container{outline:solid 1px}}.stepper-header-position-bottom .horizontal-content-container{padding:24px 24px 0}.vertical-content-container{display:grid;grid-template-rows:0fr;grid-template-columns:100%;margin-left:36px;border:0;position:relative}.stepper-animations-enabled .vertical-content-container{transition:grid-template-rows .5s cubic-bezier(.4,0,.2,1)}.vertical-content-container.vertical-content-container-active{grid-template-rows:1fr}.step:last-child .vertical-content-container{border:none}@media (forced-colors: active){.vertical-content-container{outline:solid 1px}}[dir=rtl] .vertical-content-container{margin-left:0;margin-right:36px}@supports not (grid-template-rows: 0fr){.vertical-content-container{height:0}.vertical-content-container.vertical-content-container-active{height:auto}}.stepper-vertical-line:before{content:\"\";position:absolute;left:0;border-left-width:1px;border-left-style:solid;border-left-color:#889392;top:-16px;bottom:-16px}[dir=rtl] .stepper-vertical-line:before{left:auto;right:0}.vertical-stepper-content{overflow:hidden;outline:0;visibility:hidden}.stepper-animations-enabled .vertical-stepper-content{transition:visibility .5s linear}.vertical-content-container-active>.vertical-stepper-content{visibility:visible}.vertical-content{padding:0 24px 24px}.mdc-step-header-pagination-before,.mdc-step-header-rtl .mdc-step-header-pagination-after{padding-left:4px}.mdc-step-header-pagination-before .mdc-step-header-pagination-chevron,.mdc-step-header-rtl .mdc-step-header-pagination-after .mdc-step-header-pagination-chevron{transform:rotate(-135deg)}.mdc-step-header-rtl .mdc-step-header-pagination-before,.mdc-step-header-pagination-after{padding-right:4px}.mdc-step-header-rtl .mdc-step-header-pagination-before .mdc-step-header-pagination-chevron,.mdc-step-header-pagination-after .mdc-step-header-pagination-chevron{transform:rotate(45deg)}.mdc-step-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px;border-color:#201a1b}.mdc-step-header-pagination-disabled{box-shadow:none;cursor:default;pointer-events:none}.mdc-step-header-pagination-disabled .mdc-step-header-pagination-chevron{opacity:.4}.mdc-step-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mdc-step-list{flex-grow:1;position:relative;transition:transform .5s cubic-bezier(.35,0,.25,1)}.animation-noopable .mdc-step-list{transition:none}.mdc-step-header{display:flex;overflow:hidden;position:relative;flex-shrink:0;padding-bottom:24px}.mdc-step-header-pagination{position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;box-sizing:content-box;outline:0}.mdc-step-header-pagination::-moz-focus-inner{border:0}.mdc-step-header-pagination-controls-enabled .mdc-step-header-pagination{display:flex}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MDStepHeader, selector: "md-step-header", inputs: ["state", "label", "errorMessage", "iconOverrides", "index", "selected", "active", "optional", "disableRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
7837
6320
  }
7838
6321
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDStepper, decorators: [{
7839
6322
  type: Component,
@@ -7844,13 +6327,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
7844
6327
  '[class.stepper-label-position-end]': 'orientation === "horizontal" && labelPosition == "end"',
7845
6328
  '[class.stepper-label-position-bottom]': 'orientation === "horizontal" && labelPosition == "bottom"',
7846
6329
  '[class.stepper-header-position-bottom]': 'headerPosition === "bottom"',
6330
+ '[class.mdc-step-header-pagination-controls-enabled]': '_showPaginationControls',
7847
6331
  // Animation state + duration CSS variable.
7848
6332
  '[class.stepper-animating]': '_isAnimating()',
7849
6333
  '[style.stepper-animation-duration]': '_getAnimationDuration()',
7850
6334
  // ARIA role for a list of tabs.
7851
6335
  '[attr.aria-orientation]': 'orientation',
7852
- 'role': 'tablist',
7853
- }, providers: [{ provide: CdkStepper, useExisting: MDStepper }], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet, MDStepHeader], template: "@if (_isServer) {\r\n <ng-content/>\r\n}\r\n\r\n@switch (orientation) {\r\n @case ('horizontal') {\r\n <div class=\"horizontal-stepper-wrapper\">\r\n <div class=\"horizontal-stepper-header-container\">\r\n @for (step of steps; track step) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"stepTemplate\"\r\n [ngTemplateOutletContext]=\"{step}\"/>\r\n @if (!$last) {\r\n <div class=\"stepper-horizontal-line\"></div>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"horizontal-content-container\">\r\n @for (step of steps; track step) {\r\n <div\r\n #animatedContainer\r\n class=\"horizontal-stepper-content\"\r\n role=\"tabpanel\"\r\n [id]=\"_getStepContentId($index)\"\r\n [attr.aria-labelledby]=\"_getStepLabelId($index)\"\r\n [class]=\"'horizontal-stepper-content-' + _getAnimationDirection($index)\"\r\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\r\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @case ('vertical') {\r\n @for (step of steps; track step) {\r\n <div class=\"step\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"stepTemplate\"\r\n [ngTemplateOutletContext]=\"{step}\"/>\r\n <div\r\n #animatedContainer\r\n class=\"vertical-content-container\"\r\n [class.stepper-vertical-line]=\"!$last\"\r\n [class.vertical-content-container-active]=\"selectedIndex === $index\"\r\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\r\n <div class=\"vertical-stepper-content\"\r\n role=\"tabpanel\"\r\n [id]=\"_getStepContentId($index)\"\r\n [attr.aria-labelledby]=\"_getStepLabelId($index)\">\r\n <div class=\"vertical-content\">\r\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n}\r\n\r\n<ng-template let-step=\"step\" #stepTemplate>\r\n <md-step-header\r\n [class.horizontal-stepper-header]=\"orientation === 'horizontal'\"\r\n [class.vertical-stepper-header]=\"orientation === 'vertical'\"\r\n (click)=\"step.select()\"\r\n (keydown)=\"_onKeydown($event)\"\r\n [tabIndex]=\"_getFocusIndex() === step.index() ? 0 : -1\"\r\n [id]=\"_getStepLabelId(step.index())\"\r\n [attr.aria-posinset]=\"step.index() + 1\"\r\n [attr.aria-setsize]=\"steps.length\"\r\n [attr.aria-controls]=\"_getStepContentId(step.index())\"\r\n [attr.aria-selected]=\"step.isSelected()\"\r\n [attr.aria-label]=\"step.ariaLabel || null\"\r\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\r\n [attr.aria-disabled]=\"step.isNavigable() ? null : true\"\r\n [index]=\"step.index()\"\r\n [state]=\"step.indicatorType()\"\r\n [label]=\"step.stepLabel || step.label\"\r\n [selected]=\"step.isSelected()\"\r\n [active]=\"step.isNavigable()\"\r\n [optional]=\"step.optional\"\r\n [errorMessage]=\"step.errorMessage\"\r\n [iconOverrides]=\"_iconOverrides\"\r\n [disableRipple]=\"disableRipple || !step.isNavigable()\"\r\n [color]=\"step.color || color\"/>\r\n</ng-template>\r\n\r\n\r\n<ng-container [ngTemplateOutlet]=\"footer\"></ng-container>", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.stepper-vertical,.stepper-horizontal{display:block;font-family:Montserrat;font-size:14px;color:#000}.horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center;padding-bottom:40px}.stepper-label-position-bottom .horizontal-stepper-header-container{align-items:flex-start}.stepper-header-position-bottom .horizontal-stepper-header-container{order:1}.stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 2px;min-width:32px;border-top-color:#889392}.stepper-label-position-bottom .stepper-horizontal-line{margin:0;min-width:0;position:relative;top:36px}.stepper-label-position-bottom .horizontal-stepper-header:not(:first-child):before,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:not(:last-child):before,.stepper-label-position-bottom .horizontal-stepper-header:not(:last-child):after,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:not(:first-child):after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 11px)}.horizontal-stepper-header{display:flex;overflow:hidden;align-items:center;padding:0 6px;height:48px}.horizontal-stepper-header .step-icon{position:relative;margin-right:8px;flex:none}[dir=rtl] .horizontal-stepper-header .step-icon{margin-right:0;margin-left:8px}.horizontal-stepper-header.step-header-empty-label .step-icon{margin:0}.stepper-label-position-bottom .horizontal-stepper-header{padding:24px 6px}.stepper-label-position-bottom .horizontal-stepper-header:before,.stepper-label-position-bottom .horizontal-stepper-header:after{top:36px}.stepper-label-position-bottom .horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto}.stepper-label-position-bottom .horizontal-stepper-header:not(:last-child):after,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:not(:first-child):after{right:0}.stepper-label-position-bottom .horizontal-stepper-header:not(:first-child):before,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:not(:last-child):before{left:0}[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:last-child:before,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:first-child:after{display:none}.stepper-label-position-bottom .horizontal-stepper-header .step-icon{margin-right:0;margin-left:0}.stepper-label-position-bottom .horizontal-stepper-header .step-label{padding:16px 0 0;text-align:center;width:100%}.vertical-stepper-header{display:flex;align-items:center;height:24px;padding:24px 6px}.vertical-stepper-header .step-icon{margin-right:30px}[dir=rtl] .vertical-stepper-header .step-icon{margin-right:0;margin-left:30px}.horizontal-stepper-wrapper{display:flex;flex-direction:column}.horizontal-stepper-content{visibility:hidden;overflow:hidden;outline:0;height:0}.stepper-animations-enabled .horizontal-stepper-content{transition:transform .5s cubic-bezier(.35,0,.25,1)}.horizontal-stepper-content.horizontal-stepper-content-previous{transform:translate3d(-100%,0,0)}.horizontal-stepper-content.horizontal-stepper-content-next{transform:translate3d(100%,0,0)}.horizontal-stepper-content.horizontal-stepper-content-current{visibility:visible;transform:none;height:auto}.stepper-horizontal:not(.stepper-animating) .horizontal-stepper-content.horizontal-stepper-content-current{overflow:visible}.horizontal-content-container{overflow:hidden;background:#f3f3f3;padding:46px 6px 6px}@media (forced-colors: active){.horizontal-content-container{outline:solid 1px}}.stepper-header-position-bottom .horizontal-content-container{padding:6px 6px 0}.vertical-content-container{display:grid;grid-template-rows:0fr;grid-template-columns:100%;margin-left:36px;border:0;position:relative}.stepper-animations-enabled .vertical-content-container{transition:grid-template-rows .5s cubic-bezier(.4,0,.2,1)}.vertical-content-container.vertical-content-container-active{grid-template-rows:1fr}.step:last-child .vertical-content-container{border:none}@media (forced-colors: active){.vertical-content-container{outline:solid 1px}}[dir=rtl] .vertical-content-container{margin-left:0;margin-right:36px}@supports not (grid-template-rows: 0fr){.vertical-content-container{height:0}.vertical-content-container.vertical-content-container-active{height:auto}}.stepper-vertical-line:before{content:\"\";position:absolute;left:0;border-left-width:1px;border-left-style:solid;border-left-color:#889392;top:-16px;bottom:-16px}[dir=rtl] .stepper-vertical-line:before{left:auto;right:0}.vertical-stepper-content{overflow:hidden;outline:0;visibility:hidden}.stepper-animations-enabled .vertical-stepper-content{transition:visibility .5s linear}.vertical-content-container-active>.vertical-stepper-content{visibility:visible}.vertical-content{padding:0 6px 6px}\n"] }]
6336
+ role: 'tablist',
6337
+ }, providers: [{ provide: CdkStepper, useExisting: MDStepper }], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet, MDStepHeader], template: "@if (_isServer) {\r\n <ng-content/>\r\n}\r\n\r\n@switch (orientation) {\r\n @case ('horizontal') {\r\n <div class=\"horizontal-stepper-wrapper\">\r\n \r\n <div class=\"mdc-step-header\" #stepHeader>\r\n <div class=\"mdc-step-header-pagination mdc-step-header-pagination-before\"\r\n #previousPaginator\r\n [class.mdc-step-header-pagination-disabled]=\"_disableScrollBefore\"\r\n (click)=\"_handlePaginatorClick('before')\"\r\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\r\n (touchend)=\"_stopInterval()\">\r\n <div class=\"mdc-step-header-pagination-chevron\"></div>\r\n </div>\r\n\r\n <div class=\"mdc-step-label-container\" #stepListContainer>\r\n <div class=\"mdc-step-list\" #stepList>\r\n <div class=\"horizontal-stepper-header-container\" #stepListInner>\r\n @for (step of steps; track step) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"stepTemplate\"\r\n [ngTemplateOutletContext]=\"{step}\"/>\r\n @if (!$last) {\r\n <div class=\"stepper-horizontal-line\"></div>\r\n }\r\n }\r\n </div> \r\n </div>\r\n </div>\r\n\r\n <div class=\"mdc-step-header-pagination mdc-step-header-pagination-after\"\r\n #nextPaginator\r\n [class.mdc-step-header-pagination-disabled]=\"_disableScrollAfter\"\r\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\r\n (click)=\"_handlePaginatorClick('after')\"\r\n (touchend)=\"_stopInterval()\">\r\n <div class=\"mdc-step-header-pagination-chevron\"></div>\r\n </div> \r\n </div>\r\n \r\n\r\n <div class=\"horizontal-content-container\">\r\n @for (step of steps; track step) {\r\n <div\r\n #animatedContainer\r\n class=\"horizontal-stepper-content\"\r\n role=\"tabpanel\"\r\n [id]=\"_getStepContentId($index)\"\r\n [attr.aria-labelledby]=\"_getStepLabelId($index)\"\r\n [class]=\"'horizontal-stepper-content-' + _getAnimationDirection($index)\"\r\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\r\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n \r\n }\r\n\r\n @case ('vertical') {\r\n @for (step of steps; track step) {\r\n <div class=\"step\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"stepTemplate\"\r\n [ngTemplateOutletContext]=\"{step}\"/>\r\n <div\r\n #animatedContainer\r\n class=\"vertical-content-container\"\r\n [class.stepper-vertical-line]=\"!$last\"\r\n [class.vertical-content-container-active]=\"selectedIndex === $index\"\r\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\r\n <div class=\"vertical-stepper-content\"\r\n role=\"tabpanel\"\r\n [id]=\"_getStepContentId($index)\"\r\n [attr.aria-labelledby]=\"_getStepLabelId($index)\">\r\n <div class=\"vertical-content\">\r\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n}\r\n\r\n<ng-template let-step=\"step\" #stepTemplate>\r\n <md-step-header\r\n [class.horizontal-stepper-header]=\"orientation === 'horizontal'\"\r\n [class.vertical-stepper-header]=\"orientation === 'vertical'\"\r\n (click)=\"step.select()\"\r\n (keydown)=\"_onKeydown($event)\"\r\n [tabIndex]=\"_getFocusIndex() === step.index() ? 0 : -1\"\r\n [id]=\"_getStepLabelId(step.index())\"\r\n [attr.aria-posinset]=\"step.index() + 1\"\r\n [attr.aria-setsize]=\"steps.length\"\r\n [attr.aria-controls]=\"_getStepContentId(step.index())\"\r\n [attr.aria-selected]=\"step.isSelected()\"\r\n [attr.aria-label]=\"step.ariaLabel || null\"\r\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\r\n [attr.aria-disabled]=\"step.isNavigable() ? null : true\"\r\n [index]=\"step.index()\"\r\n [state]=\"step.indicatorType()\"\r\n [label]=\"step.stepLabel || step.label\"\r\n [selected]=\"step.isSelected()\"\r\n [active]=\"step.isNavigable()\"\r\n [optional]=\"step.optional\"\r\n [errorMessage]=\"step.errorMessage\"\r\n [iconOverrides]=\"_iconOverrides\"\r\n [disableRipple]=\"disableRipple || !step.isNavigable()\"\r\n [color]=\"step.color || color\"/>\r\n</ng-template>\r\n\r\n\r\n<ng-container [ngTemplateOutlet]=\"footer\"></ng-container>", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.stepper-vertical,.stepper-horizontal{display:block;font-family:Montserrat;font-size:14px;color:#000}.horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center}.stepper-label-position-bottom .horizontal-stepper-header-container{align-items:flex-start}.stepper-header-position-bottom .horizontal-stepper-header-container{order:1}.stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px;border-top-color:#889392}.stepper-label-position-bottom .stepper-horizontal-line{margin:0;min-width:0;position:relative;top:36px}.stepper-label-position-bottom .horizontal-stepper-header:not(:first-child):before,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:not(:last-child):before,.stepper-label-position-bottom .horizontal-stepper-header:not(:last-child):after,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:not(:first-child):after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px)}.horizontal-stepper-header{display:flex;overflow:hidden;align-items:center;padding:0 24px;height:48px}.horizontal-stepper-header .step-icon{position:relative;margin-right:8px;flex:none}[dir=rtl] .horizontal-stepper-header .step-icon{margin-right:0;margin-left:8px}.horizontal-stepper-header.step-header-empty-label .step-icon{margin:0}.stepper-label-position-bottom .horizontal-stepper-header{padding:24px}.stepper-label-position-bottom .horizontal-stepper-header:before,.stepper-label-position-bottom .horizontal-stepper-header:after{top:36px}.stepper-label-position-bottom .horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto}.stepper-label-position-bottom .horizontal-stepper-header:not(:last-child):after,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:not(:first-child):after{right:0}.stepper-label-position-bottom .horizontal-stepper-header:not(:first-child):before,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:not(:last-child):before{left:0}[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:last-child:before,[dir=rtl] .stepper-label-position-bottom .horizontal-stepper-header:first-child:after{display:none}.stepper-label-position-bottom .horizontal-stepper-header .step-icon{margin-right:0;margin-left:0}.stepper-label-position-bottom .horizontal-stepper-header .step-label{padding:16px 0 0;text-align:center;width:100%}.vertical-stepper-header{display:flex;align-items:center;height:24px;padding:24px}.vertical-stepper-header .step-icon{margin-right:12px}[dir=rtl] .vertical-stepper-header .step-icon{margin-right:0;margin-left:12px}.horizontal-stepper-wrapper{display:flex;flex-direction:column}.horizontal-stepper-content{visibility:hidden;overflow:hidden;outline:0;height:0}.stepper-animations-enabled .horizontal-stepper-content{transition:transform .5s cubic-bezier(.35,0,.25,1)}.horizontal-stepper-content.horizontal-stepper-content-previous{transform:translate3d(-100%,0,0)}.horizontal-stepper-content.horizontal-stepper-content-next{transform:translate3d(100%,0,0)}.horizontal-stepper-content.horizontal-stepper-content-current{visibility:visible;transform:none;height:auto}.stepper-horizontal:not(.stepper-animating) .horizontal-stepper-content.horizontal-stepper-content-current{overflow:visible}.horizontal-content-container{overflow:hidden;background:#f3f3f3;padding:24px}@media (forced-colors: active){.horizontal-content-container{outline:solid 1px}}.stepper-header-position-bottom .horizontal-content-container{padding:24px 24px 0}.vertical-content-container{display:grid;grid-template-rows:0fr;grid-template-columns:100%;margin-left:36px;border:0;position:relative}.stepper-animations-enabled .vertical-content-container{transition:grid-template-rows .5s cubic-bezier(.4,0,.2,1)}.vertical-content-container.vertical-content-container-active{grid-template-rows:1fr}.step:last-child .vertical-content-container{border:none}@media (forced-colors: active){.vertical-content-container{outline:solid 1px}}[dir=rtl] .vertical-content-container{margin-left:0;margin-right:36px}@supports not (grid-template-rows: 0fr){.vertical-content-container{height:0}.vertical-content-container.vertical-content-container-active{height:auto}}.stepper-vertical-line:before{content:\"\";position:absolute;left:0;border-left-width:1px;border-left-style:solid;border-left-color:#889392;top:-16px;bottom:-16px}[dir=rtl] .stepper-vertical-line:before{left:auto;right:0}.vertical-stepper-content{overflow:hidden;outline:0;visibility:hidden}.stepper-animations-enabled .vertical-stepper-content{transition:visibility .5s linear}.vertical-content-container-active>.vertical-stepper-content{visibility:visible}.vertical-content{padding:0 24px 24px}.mdc-step-header-pagination-before,.mdc-step-header-rtl .mdc-step-header-pagination-after{padding-left:4px}.mdc-step-header-pagination-before .mdc-step-header-pagination-chevron,.mdc-step-header-rtl .mdc-step-header-pagination-after .mdc-step-header-pagination-chevron{transform:rotate(-135deg)}.mdc-step-header-rtl .mdc-step-header-pagination-before,.mdc-step-header-pagination-after{padding-right:4px}.mdc-step-header-rtl .mdc-step-header-pagination-before .mdc-step-header-pagination-chevron,.mdc-step-header-pagination-after .mdc-step-header-pagination-chevron{transform:rotate(45deg)}.mdc-step-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px;border-color:#201a1b}.mdc-step-header-pagination-disabled{box-shadow:none;cursor:default;pointer-events:none}.mdc-step-header-pagination-disabled .mdc-step-header-pagination-chevron{opacity:.4}.mdc-step-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mdc-step-list{flex-grow:1;position:relative;transition:transform .5s cubic-bezier(.35,0,.25,1)}.animation-noopable .mdc-step-list{transition:none}.mdc-step-header{display:flex;overflow:hidden;position:relative;flex-shrink:0;padding-bottom:24px}.mdc-step-header-pagination{position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none;box-sizing:content-box;outline:0}.mdc-step-header-pagination::-moz-focus-inner{border:0}.mdc-step-header-pagination-controls-enabled .mdc-step-header-pagination{display:flex}\n"] }]
7854
6338
  }], ctorParameters: () => [], propDecorators: { _stepHeader: [{
7855
6339
  type: ViewChildren,
7856
6340
  args: [MDStepHeader]
@@ -7874,6 +6358,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
7874
6358
  type: Input
7875
6359
  }], animationDuration: [{
7876
6360
  type: Input
6361
+ }], disablePagination: [{
6362
+ type: Input
6363
+ }], _stepHeaderElRef: [{
6364
+ type: ViewChild,
6365
+ args: ['stepHeader']
6366
+ }], _stepListContainer: [{
6367
+ type: ViewChild,
6368
+ args: ['stepListContainer']
6369
+ }], _stepList: [{
6370
+ type: ViewChild,
6371
+ args: ['stepList']
6372
+ }], _stepListInner: [{
6373
+ type: ViewChild,
6374
+ args: ['stepListInner']
6375
+ }], _nextPaginator: [{
6376
+ type: ViewChild,
6377
+ args: ['nextPaginator']
6378
+ }], _previousPaginator: [{
6379
+ type: ViewChild,
6380
+ args: ['previousPaginator']
7877
6381
  }] } });
7878
6382
 
7879
6383
  /**
@@ -9493,7 +7997,6 @@ class PaginatedTabHeader {
9493
7997
  const resize = this._sharedResizeObserver
9494
7998
  .observe(this._elementRef.nativeElement)
9495
7999
  .pipe(debounceTime(32), takeUntil(this._destroyed));
9496
- const viewportResize = this._viewportRuler.change(150).pipe(takeUntil(this._destroyed));
9497
8000
  const realign = () => {
9498
8001
  this.updatePagination();
9499
8002
  this._alignInkBarToSelectedTab();
@@ -9505,7 +8008,7 @@ class PaginatedTabHeader {
9505
8008
  .skipPredicate(() => false);
9506
8009
  this._keyManager.updateActiveItem(Math.max(this._selectedIndex, 0));
9507
8010
  afterNextRender(realign, { injector: this._injector });
9508
- merge(dirChange, viewportResize, resize, this._items.changes, this._itemsResized())
8011
+ merge(dirChange, resize, this._items.changes, this._itemsResized())
9509
8012
  .pipe(takeUntil(this._destroyed))
9510
8013
  .subscribe(() => {
9511
8014
  this._ngZone.run(() => {
@@ -10929,7 +9432,7 @@ class MDTabGroup {
10929
9432
  provide: TAB_GROUP,
10930
9433
  useExisting: MDTabGroup,
10931
9434
  },
10932
- ], queries: [{ propertyName: "_allTabs", predicate: MDTab, descendants: true }], viewQueries: [{ propertyName: "_tabBodyWrapper", first: true, predicate: ["tabBodyWrapper"], descendants: true }, { propertyName: "_tabHeader", first: true, predicate: ["tabHeader"], descendants: true }, { propertyName: "_tabBodies", predicate: MDTabBody, descendants: true }], exportAs: ["mdTabGroup"], ngImport: i0, template: "<md-tab-header\r\n #tabHeader\r\n [ngClass]=\"{\r\n 'tabs-legacy': isLegacyMode\r\n }\"\r\n [hideInkBar]=\"hideInkBar\"\r\n [selectedIndex]=\"selectedIndex || 0\"\r\n [disablePagination]=\"disablePagination\"\r\n [aria-label]=\"ariaLabel\"\r\n [aria-labelledby]=\"ariaLabelledby\"\r\n (indexFocused)=\"_focusChanged($event)\"\r\n (selectFocusedIndex)=\"selectedIndex = $event\"\r\n>\r\n @for (tab of _tabs; track tab) {\r\n <div\r\n class=\"focus-indicator\"\r\n [ngClass]=\"{\r\n 'mdc-tab': !isLegacyMode,\r\n 'mdc-tab-legacy': isLegacyMode\r\n }\"\r\n #tabNode\r\n role=\"tab\"\r\n mdTabLabelWrapper\r\n cdkMonitorElementFocus\r\n [id]=\"_getTabLabelId(tab, $index)\"\r\n [attr.tabIndex]=\"_getTabIndex($index)\"\r\n [attr.aria-posinset]=\"$index + 1\"\r\n [attr.aria-setsize]=\"_tabs.length\"\r\n [attr.aria-controls]=\"_getTabContentId($index)\"\r\n [attr.aria-selected]=\"selectedIndex === $index\"\r\n [attr.aria-label]=\"tab.ariaLabel || null\"\r\n [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\"\r\n [class.mdc-tab--active]=\"selectedIndex === $index\"\r\n [class]=\"tab.labelClass\"\r\n [disabled]=\"tab.disabled\"\r\n [fitInkBarToContent]=\"fitInkBarToContent\"\r\n (click)=\"_handleClick(tab, tabHeader, $index)\"\r\n (cdkFocusChange)=\"_tabFocusChanged($event, $index)\"\r\n >\r\n <span class=\"mdc-tab__ripple\"></span>\r\n <span class=\"mdc-tab__content\">\r\n <span class=\"mdc-tab__text-label\">\r\n @if (tab.templateLabel) {\r\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\r\n } @else {{{tab.textLabel}}}\r\n </span>\r\n </span>\r\n </div>\r\n }\r\n</md-tab-header>\r\n\r\n@if (_isServer) {\r\n<ng-content />\r\n}\r\n\r\n<div class=\"mdc-tab-body-wrapper\" #tabBodyWrapper>\r\n @for (tab of _tabs; track tab;) {\r\n <md-tab-body\r\n role=\"tabpanel\"\r\n [id]=\"_getTabContentId($index)\"\r\n [attr.tabindex]=\"(contentTabIndex != null && selectedIndex === $index) ? contentTabIndex : null\"\r\n [attr.aria-labelledby]=\"_getTabLabelId(tab, $index)\"\r\n [attr.aria-hidden]=\"selectedIndex !== $index\"\r\n [class]=\"tab.bodyClass\"\r\n [content]=\"tab.content!\"\r\n [position]=\"tab.position!\"\r\n [animationDuration]=\"animationDuration\"\r\n [preserveContent]=\"preserveContent\"\r\n (_onCentered)=\"_removeTabBodyWrapperHeight()\"\r\n (_onCentering)=\"_setTabBodyWrapperHeight($event)\"\r\n (_beforeCentering)=\"_bodyCentered($event)\"\r\n />\r\n }\r\n</div>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.mdc-tab{min-width:90px;padding:0 12px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;border:none;outline:none;text-align:center;white-space:nowrap;cursor:pointer;z-index:1;touch-action:manipulation}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:.15s color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab--active .mdc-tab__text-label{transition-delay:.1s}._animation-noopable .mdc-tab__text-label{transition:none}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transition:.25s transform cubic-bezier(.4,0,.2,1);transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}._animation-noopable .mdc-tab-indicator__content,.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mdc-tab{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;background:none;height:40px;font-family:Montserrat;font-size:1rem;letter-spacing:.006rem;line-height:1.25rem;font-weight:500}.mdc-tab-group.mdc-tab-group-stretch-tabs>.mdc-tab-header .mdc-tab{flex-grow:1}.mdc-tab.mdc-tab{flex-grow:0}.mdc-tab .mdc-tab-indicator__content--underline{border-color:#6d5cae;border-top-width:2px;border-radius:0}.mdc-tab:hover .mdc-tab__text-label{color:#201a1b}.mdc-tab:focus .mdc-tab__text-label{color:#201a1b}.mdc-tab.mdc-tab--active .mdc-tab__text-label{color:#201a1b}.mdc-tab.mdc-tab--active .mdc-tab__ripple:before{background-color:#201a1b}.mdc-tab.mdc-tab--active:hover .mdc-tab__text-label{color:#201a1b}.mdc-tab.mdc-tab--active:hover .mdc-tab-indicator__content--underline{border-color:#6d5cae}.mdc-tab.mdc-tab--active:focus .mdc-tab__text-label{color:#201a1b}.mdc-tab.mdc-tab--active:focus .mdc-tab-indicator__content--underline{border-color:#6d5cae}.mdc-tab.mdc-tab-disabled{opacity:.4;pointer-events:none}.mdc-tab.mdc-tab-disabled .mdc-tab__content{pointer-events:none}.mdc-tab .mdc-tab__ripple:before{content:\"\";display:block;position:absolute;inset:0;opacity:0;pointer-events:none;background-color:#201a1b}.mdc-tab .mdc-tab__text-label{color:#201a1b;display:inline-flex;align-items:center}.mdc-tab .mdc-tab__content{position:relative;pointer-events:auto}.mdc-tab:hover .mdc-tab__ripple:before{opacity:.04}.mdc-tab.cdk-program-focused .mdc-tab__ripple:before,.mdc-tab.cdk-keyboard-focused .mdc-tab__ripple:before{opacity:.12}.mdc-tab-group{display:flex;flex-direction:column;max-width:100%}.mdc-tab-group.tabs-with-background>.mdc-tab-header .mdc-tab-header-pagination-chevron,.mdc-tab-group.tabs-with-background>.mdc-tab-header .focus-indicator:before,.mdc-tab-group.tabs-with-background>.mdc-tab-header-pagination .mdc-tab-header-pagination-chevron,.mdc-tab-group.tabs-with-background>.mdc-tab-header-pagination .focus-indicator:before{border-color:#201a1b}.mdc-tab-group.tabs-with-background>.mdc-tab-header .mdc-tab-header-pagination-chevron,.mdc-tab-group.tabs-with-background>.mdc-tab-header-pagination .mdc-tab-header-pagination-chevron{color:transparent}.mdc-tab-group.mdc-tab-group-inverted-header{flex-direction:column-reverse}.mdc-tab-group.mdc-tab-group-inverted-header .mdc-tab-indicator__content--underline{align-self:flex-start}.mdc-tab-body-wrapper{position:relative;overflow:hidden;display:flex}.focus-indicator{position:relative}.tabs-legacy .mdc-tab-labels{gap:2px}.tabs-legacy .mdc-tab-label-container{border:0px}.mdc-tab-legacy{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;height:36px;padding:0 14px;font-family:Lato;font-size:14px;letter-spacing:0px;line-height:22px;font-weight:400;background-color:#4d4d4d;border-top-left-radius:5px;border-top-right-radius:5px;cursor:pointer;max-width:90px}.mdc-tab-group.mdc-tab-group-stretch-tabs>.mdc-tab-header .mdc-tab-legacy{flex-grow:1}.mdc-tab-legacy.mdc-tab{flex-grow:0}.mdc-tab-legacy .mdc-tab-indicator__content--underline{border-color:#6d5cae;border-top-width:2px;border-radius:0}.mdc-tab-legacy:hover:not(.mdc-tab--active){background-color:#373737}.mdc-tab-legacy:focus .mdc-tab__text-label{color:#fff}.mdc-tab-legacy.mdc-tab--active{background-color:#eaeaea}.mdc-tab-legacy.mdc-tab--active .mdc-tab__text-label{color:#000}.mdc-tab-legacy.mdc-tab--active .mdc-tab__ripple:before{background-color:#fff}.mdc-tab-legacy.mdc-tab-disabled{pointer-events:none}.mdc-tab-legacy.mdc-tab-disabled .mdc-tab__text-label{color:#b4b4b4}.mdc-tab-legacy.mdc-tab-disabled .mdc-tab__content{pointer-events:none}.mdc-tab-legacy .mdc-tab__ripple:before{content:\"\";display:block;position:absolute;inset:0;opacity:0;pointer-events:none;background-color:#fff}.mdc-tab-legacy .mdc-tab__text-label{color:#fff;display:inline-flex;align-items:center;transition:none}.mdc-tab-legacy .mdc-tab__content{position:relative;pointer-events:auto}.mdc-tab-legacy:hover .mdc-tab__ripple:before{opacity:.04}.mdc-tab-legacy.cdk-program-focused .mdc-tab__ripple:before,.mdc-tab-legacy.cdk-keyboard-focused .mdc-tab__ripple:before{opacity:.12}\n"], dependencies: [{ kind: "component", type: MDTabHeader, selector: "md-tab-header", inputs: ["aria-label", "aria-labelledby"] }, { kind: "directive", type: MDTabLabelWrapper, selector: "[mdTabLabelWrapper]", inputs: ["disabled"] }, { kind: "directive", type: CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: MDTabBody, selector: "md-tab-body", inputs: ["content", "animationDuration", "preserveContent", "position"], outputs: ["_onCentering", "_beforeCentering", "_onCentered"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
9435
+ ], queries: [{ propertyName: "_allTabs", predicate: MDTab, descendants: true }], viewQueries: [{ propertyName: "_tabBodyWrapper", first: true, predicate: ["tabBodyWrapper"], descendants: true }, { propertyName: "_tabHeader", first: true, predicate: ["tabHeader"], descendants: true }, { propertyName: "_tabBodies", predicate: MDTabBody, descendants: true }], exportAs: ["mdTabGroup"], ngImport: i0, template: "<md-tab-header\r\n #tabHeader\r\n [ngClass]=\"{\r\n 'tabs-legacy': isLegacyMode\r\n }\"\r\n [hideInkBar]=\"hideInkBar\"\r\n [selectedIndex]=\"selectedIndex || 0\"\r\n [disablePagination]=\"disablePagination\"\r\n [aria-label]=\"ariaLabel\"\r\n [aria-labelledby]=\"ariaLabelledby\"\r\n (indexFocused)=\"_focusChanged($event)\"\r\n (selectFocusedIndex)=\"selectedIndex = $event\"\r\n>\r\n @for (tab of _tabs; track tab) {\r\n <div\r\n class=\"focus-indicator\"\r\n [ngClass]=\"{\r\n 'mdc-tab': !isLegacyMode,\r\n 'mdc-tab-legacy': isLegacyMode\r\n }\"\r\n #tabNode\r\n role=\"tab\"\r\n mdTabLabelWrapper\r\n cdkMonitorElementFocus\r\n [id]=\"_getTabLabelId(tab, $index)\"\r\n [attr.tabIndex]=\"_getTabIndex($index)\"\r\n [attr.aria-posinset]=\"$index + 1\"\r\n [attr.aria-setsize]=\"_tabs.length\"\r\n [attr.aria-controls]=\"_getTabContentId($index)\"\r\n [attr.aria-selected]=\"selectedIndex === $index\"\r\n [attr.aria-label]=\"tab.ariaLabel || null\"\r\n [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\"\r\n [class.mdc-tab--active]=\"selectedIndex === $index\"\r\n [class]=\"tab.labelClass\"\r\n [disabled]=\"tab.disabled\"\r\n [fitInkBarToContent]=\"fitInkBarToContent\"\r\n (click)=\"_handleClick(tab, tabHeader, $index)\"\r\n (cdkFocusChange)=\"_tabFocusChanged($event, $index)\"\r\n >\r\n <span class=\"mdc-tab__ripple\"></span>\r\n <span class=\"mdc-tab__content\">\r\n <span class=\"mdc-tab__text-label\">\r\n @if (tab.templateLabel) {\r\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\r\n } @else {{{tab.textLabel}}}\r\n </span>\r\n </span>\r\n </div>\r\n }\r\n</md-tab-header>\r\n\r\n@if (_isServer) {\r\n<ng-content />\r\n}\r\n\r\n<div class=\"mdc-tab-body-wrapper\" #tabBodyWrapper>\r\n @for (tab of _tabs; track tab;) {\r\n <md-tab-body\r\n role=\"tabpanel\"\r\n [id]=\"_getTabContentId($index)\"\r\n [attr.tabindex]=\"(contentTabIndex != null && selectedIndex === $index) ? contentTabIndex : null\"\r\n [attr.aria-labelledby]=\"_getTabLabelId(tab, $index)\"\r\n [attr.aria-hidden]=\"selectedIndex !== $index\"\r\n [class]=\"tab.bodyClass\"\r\n [content]=\"tab.content!\"\r\n [position]=\"tab.position!\"\r\n [animationDuration]=\"animationDuration\"\r\n [preserveContent]=\"preserveContent\"\r\n (_onCentered)=\"_removeTabBodyWrapperHeight()\"\r\n (_onCentering)=\"_setTabBodyWrapperHeight($event)\"\r\n (_beforeCentering)=\"_bodyCentered($event)\"\r\n />\r\n }\r\n</div>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.mdc-tab{min-width:90px;padding:0 12px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;border:none;outline:none;text-align:center;white-space:nowrap;cursor:pointer;z-index:1;touch-action:manipulation}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:.15s color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab--active .mdc-tab__text-label{transition-delay:.1s}._animation-noopable .mdc-tab__text-label{transition:none}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transition:.25s transform cubic-bezier(.4,0,.2,1);transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}._animation-noopable .mdc-tab-indicator__content,.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mdc-tab{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;background:none;height:40px;font-family:Montserrat;font-size:1rem;letter-spacing:.006rem;line-height:1.25rem;font-weight:500}.mdc-tab-group.mdc-tab-group-stretch-tabs>.mdc-tab-header .mdc-tab{flex-grow:1}.mdc-tab.mdc-tab{flex-grow:0}.mdc-tab .mdc-tab-indicator__content--underline{border-color:#6d5cae;border-top-width:2px;border-radius:0}.mdc-tab:hover .mdc-tab__text-label{color:#201a1b}.mdc-tab:focus .mdc-tab__text-label{color:#201a1b}.mdc-tab.mdc-tab--active .mdc-tab__text-label{color:#201a1b}.mdc-tab.mdc-tab--active .mdc-tab__ripple:before{background-color:#201a1b}.mdc-tab.mdc-tab--active:hover .mdc-tab__text-label{color:#201a1b}.mdc-tab.mdc-tab--active:hover .mdc-tab-indicator__content--underline{border-color:#6d5cae}.mdc-tab.mdc-tab--active:focus .mdc-tab__text-label{color:#201a1b}.mdc-tab.mdc-tab--active:focus .mdc-tab-indicator__content--underline{border-color:#6d5cae}.mdc-tab.mdc-tab-disabled{opacity:.4;pointer-events:none}.mdc-tab.mdc-tab-disabled .mdc-tab__content{pointer-events:none}.mdc-tab .mdc-tab__ripple:before{content:\"\";display:block;position:absolute;inset:0;opacity:0;pointer-events:none;background-color:#201a1b}.mdc-tab .mdc-tab__text-label{color:#201a1b;display:inline-flex;align-items:center}.mdc-tab .mdc-tab__content{position:relative;pointer-events:auto}.mdc-tab:hover .mdc-tab__ripple:before{opacity:.04}.mdc-tab.cdk-program-focused .mdc-tab__ripple:before,.mdc-tab.cdk-keyboard-focused .mdc-tab__ripple:before{opacity:.12}.mdc-tab-group{display:flex;flex-direction:column;max-width:100%}.mdc-tab-group.tabs-with-background>.mdc-tab-header .mdc-tab-header-pagination-chevron,.mdc-tab-group.tabs-with-background>.mdc-tab-header .focus-indicator:before,.mdc-tab-group.tabs-with-background>.mdc-tab-header-pagination .mdc-tab-header-pagination-chevron,.mdc-tab-group.tabs-with-background>.mdc-tab-header-pagination .focus-indicator:before{border-color:#201a1b}.mdc-tab-group.tabs-with-background>.mdc-tab-header .mdc-tab-header-pagination-chevron,.mdc-tab-group.tabs-with-background>.mdc-tab-header-pagination .mdc-tab-header-pagination-chevron{color:transparent}.mdc-tab-group.mdc-tab-group-inverted-header{flex-direction:column-reverse}.mdc-tab-group.mdc-tab-group-inverted-header .mdc-tab-indicator__content--underline{align-self:flex-start}.mdc-tab-body-wrapper{position:relative;overflow:hidden;display:flex}.focus-indicator{position:relative}.tabs-legacy .mdc-tab-labels{gap:2px}.tabs-legacy .mdc-tab-label-container{border:0px}.mdc-tab-legacy{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;height:36px;padding:0 14px;font-family:Lato;font-size:14px;letter-spacing:0px;line-height:22px;font-weight:400;background-color:#4d4d4d;border-top-left-radius:5px;border-top-right-radius:5px;cursor:pointer;max-width:90px}.mdc-tab-group.mdc-tab-group-stretch-tabs>.mdc-tab-header .mdc-tab-legacy{flex-grow:1}.mdc-tab-legacy.mdc-tab{flex-grow:0}.mdc-tab-legacy .mdc-tab-indicator__content--underline{border-color:#6d5cae;border-top-width:2px;border-radius:0}.mdc-tab-legacy:hover:not(.mdc-tab--active){background-color:#373737}.mdc-tab-legacy:focus .mdc-tab__text-label{color:#fff}.mdc-tab-legacy.mdc-tab--active{background-color:#eaeaea}.mdc-tab-legacy.mdc-tab--active .mdc-tab__text-label{color:#000}.mdc-tab-legacy.mdc-tab--active .mdc-tab__ripple:before{background-color:#fff}.mdc-tab-legacy.mdc-tab-disabled{pointer-events:none}.mdc-tab-legacy.mdc-tab-disabled .mdc-tab__text-label{color:#bdbdbd}.mdc-tab-legacy.mdc-tab-disabled .mdc-tab__content{pointer-events:none}.mdc-tab-legacy .mdc-tab__ripple:before{content:\"\";display:block;position:absolute;inset:0;opacity:0;pointer-events:none;background-color:#fff}.mdc-tab-legacy .mdc-tab__text-label{color:#fff;display:inline-flex;align-items:center;transition:none}.mdc-tab-legacy .mdc-tab__content{position:relative;pointer-events:auto}.mdc-tab-legacy:hover .mdc-tab__ripple:before{opacity:.04}.mdc-tab-legacy.cdk-program-focused .mdc-tab__ripple:before,.mdc-tab-legacy.cdk-keyboard-focused .mdc-tab__ripple:before{opacity:.12}\n"], dependencies: [{ kind: "component", type: MDTabHeader, selector: "md-tab-header", inputs: ["aria-label", "aria-labelledby"] }, { kind: "directive", type: MDTabLabelWrapper, selector: "[mdTabLabelWrapper]", inputs: ["disabled"] }, { kind: "directive", type: CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: MDTabBody, selector: "md-tab-body", inputs: ["content", "animationDuration", "preserveContent", "position"], outputs: ["_onCentering", "_beforeCentering", "_onCentered"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
10933
9436
  }
10934
9437
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDTabGroup, decorators: [{
10935
9438
  type: Component,
@@ -10946,7 +9449,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
10946
9449
  '[class.mdc-tab-group-stretch-tabs]': 'stretchTabs',
10947
9450
  '[attr.align-tabs]': 'alignTabs',
10948
9451
  '[style.--tab-animation-duration]': 'animationDuration',
10949
- }, imports: [MDTabHeader, MDTabLabelWrapper, CdkMonitorFocus, CdkPortalOutlet, MDTabBody, CommonModule], template: "<md-tab-header\r\n #tabHeader\r\n [ngClass]=\"{\r\n 'tabs-legacy': isLegacyMode\r\n }\"\r\n [hideInkBar]=\"hideInkBar\"\r\n [selectedIndex]=\"selectedIndex || 0\"\r\n [disablePagination]=\"disablePagination\"\r\n [aria-label]=\"ariaLabel\"\r\n [aria-labelledby]=\"ariaLabelledby\"\r\n (indexFocused)=\"_focusChanged($event)\"\r\n (selectFocusedIndex)=\"selectedIndex = $event\"\r\n>\r\n @for (tab of _tabs; track tab) {\r\n <div\r\n class=\"focus-indicator\"\r\n [ngClass]=\"{\r\n 'mdc-tab': !isLegacyMode,\r\n 'mdc-tab-legacy': isLegacyMode\r\n }\"\r\n #tabNode\r\n role=\"tab\"\r\n mdTabLabelWrapper\r\n cdkMonitorElementFocus\r\n [id]=\"_getTabLabelId(tab, $index)\"\r\n [attr.tabIndex]=\"_getTabIndex($index)\"\r\n [attr.aria-posinset]=\"$index + 1\"\r\n [attr.aria-setsize]=\"_tabs.length\"\r\n [attr.aria-controls]=\"_getTabContentId($index)\"\r\n [attr.aria-selected]=\"selectedIndex === $index\"\r\n [attr.aria-label]=\"tab.ariaLabel || null\"\r\n [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\"\r\n [class.mdc-tab--active]=\"selectedIndex === $index\"\r\n [class]=\"tab.labelClass\"\r\n [disabled]=\"tab.disabled\"\r\n [fitInkBarToContent]=\"fitInkBarToContent\"\r\n (click)=\"_handleClick(tab, tabHeader, $index)\"\r\n (cdkFocusChange)=\"_tabFocusChanged($event, $index)\"\r\n >\r\n <span class=\"mdc-tab__ripple\"></span>\r\n <span class=\"mdc-tab__content\">\r\n <span class=\"mdc-tab__text-label\">\r\n @if (tab.templateLabel) {\r\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\r\n } @else {{{tab.textLabel}}}\r\n </span>\r\n </span>\r\n </div>\r\n }\r\n</md-tab-header>\r\n\r\n@if (_isServer) {\r\n<ng-content />\r\n}\r\n\r\n<div class=\"mdc-tab-body-wrapper\" #tabBodyWrapper>\r\n @for (tab of _tabs; track tab;) {\r\n <md-tab-body\r\n role=\"tabpanel\"\r\n [id]=\"_getTabContentId($index)\"\r\n [attr.tabindex]=\"(contentTabIndex != null && selectedIndex === $index) ? contentTabIndex : null\"\r\n [attr.aria-labelledby]=\"_getTabLabelId(tab, $index)\"\r\n [attr.aria-hidden]=\"selectedIndex !== $index\"\r\n [class]=\"tab.bodyClass\"\r\n [content]=\"tab.content!\"\r\n [position]=\"tab.position!\"\r\n [animationDuration]=\"animationDuration\"\r\n [preserveContent]=\"preserveContent\"\r\n (_onCentered)=\"_removeTabBodyWrapperHeight()\"\r\n (_onCentering)=\"_setTabBodyWrapperHeight($event)\"\r\n (_beforeCentering)=\"_bodyCentered($event)\"\r\n />\r\n }\r\n</div>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.mdc-tab{min-width:90px;padding:0 12px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;border:none;outline:none;text-align:center;white-space:nowrap;cursor:pointer;z-index:1;touch-action:manipulation}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:.15s color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab--active .mdc-tab__text-label{transition-delay:.1s}._animation-noopable .mdc-tab__text-label{transition:none}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transition:.25s transform cubic-bezier(.4,0,.2,1);transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}._animation-noopable .mdc-tab-indicator__content,.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mdc-tab{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;background:none;height:40px;font-family:Montserrat;font-size:1rem;letter-spacing:.006rem;line-height:1.25rem;font-weight:500}.mdc-tab-group.mdc-tab-group-stretch-tabs>.mdc-tab-header .mdc-tab{flex-grow:1}.mdc-tab.mdc-tab{flex-grow:0}.mdc-tab .mdc-tab-indicator__content--underline{border-color:#6d5cae;border-top-width:2px;border-radius:0}.mdc-tab:hover .mdc-tab__text-label{color:#201a1b}.mdc-tab:focus .mdc-tab__text-label{color:#201a1b}.mdc-tab.mdc-tab--active .mdc-tab__text-label{color:#201a1b}.mdc-tab.mdc-tab--active .mdc-tab__ripple:before{background-color:#201a1b}.mdc-tab.mdc-tab--active:hover .mdc-tab__text-label{color:#201a1b}.mdc-tab.mdc-tab--active:hover .mdc-tab-indicator__content--underline{border-color:#6d5cae}.mdc-tab.mdc-tab--active:focus .mdc-tab__text-label{color:#201a1b}.mdc-tab.mdc-tab--active:focus .mdc-tab-indicator__content--underline{border-color:#6d5cae}.mdc-tab.mdc-tab-disabled{opacity:.4;pointer-events:none}.mdc-tab.mdc-tab-disabled .mdc-tab__content{pointer-events:none}.mdc-tab .mdc-tab__ripple:before{content:\"\";display:block;position:absolute;inset:0;opacity:0;pointer-events:none;background-color:#201a1b}.mdc-tab .mdc-tab__text-label{color:#201a1b;display:inline-flex;align-items:center}.mdc-tab .mdc-tab__content{position:relative;pointer-events:auto}.mdc-tab:hover .mdc-tab__ripple:before{opacity:.04}.mdc-tab.cdk-program-focused .mdc-tab__ripple:before,.mdc-tab.cdk-keyboard-focused .mdc-tab__ripple:before{opacity:.12}.mdc-tab-group{display:flex;flex-direction:column;max-width:100%}.mdc-tab-group.tabs-with-background>.mdc-tab-header .mdc-tab-header-pagination-chevron,.mdc-tab-group.tabs-with-background>.mdc-tab-header .focus-indicator:before,.mdc-tab-group.tabs-with-background>.mdc-tab-header-pagination .mdc-tab-header-pagination-chevron,.mdc-tab-group.tabs-with-background>.mdc-tab-header-pagination .focus-indicator:before{border-color:#201a1b}.mdc-tab-group.tabs-with-background>.mdc-tab-header .mdc-tab-header-pagination-chevron,.mdc-tab-group.tabs-with-background>.mdc-tab-header-pagination .mdc-tab-header-pagination-chevron{color:transparent}.mdc-tab-group.mdc-tab-group-inverted-header{flex-direction:column-reverse}.mdc-tab-group.mdc-tab-group-inverted-header .mdc-tab-indicator__content--underline{align-self:flex-start}.mdc-tab-body-wrapper{position:relative;overflow:hidden;display:flex}.focus-indicator{position:relative}.tabs-legacy .mdc-tab-labels{gap:2px}.tabs-legacy .mdc-tab-label-container{border:0px}.mdc-tab-legacy{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;height:36px;padding:0 14px;font-family:Lato;font-size:14px;letter-spacing:0px;line-height:22px;font-weight:400;background-color:#4d4d4d;border-top-left-radius:5px;border-top-right-radius:5px;cursor:pointer;max-width:90px}.mdc-tab-group.mdc-tab-group-stretch-tabs>.mdc-tab-header .mdc-tab-legacy{flex-grow:1}.mdc-tab-legacy.mdc-tab{flex-grow:0}.mdc-tab-legacy .mdc-tab-indicator__content--underline{border-color:#6d5cae;border-top-width:2px;border-radius:0}.mdc-tab-legacy:hover:not(.mdc-tab--active){background-color:#373737}.mdc-tab-legacy:focus .mdc-tab__text-label{color:#fff}.mdc-tab-legacy.mdc-tab--active{background-color:#eaeaea}.mdc-tab-legacy.mdc-tab--active .mdc-tab__text-label{color:#000}.mdc-tab-legacy.mdc-tab--active .mdc-tab__ripple:before{background-color:#fff}.mdc-tab-legacy.mdc-tab-disabled{pointer-events:none}.mdc-tab-legacy.mdc-tab-disabled .mdc-tab__text-label{color:#b4b4b4}.mdc-tab-legacy.mdc-tab-disabled .mdc-tab__content{pointer-events:none}.mdc-tab-legacy .mdc-tab__ripple:before{content:\"\";display:block;position:absolute;inset:0;opacity:0;pointer-events:none;background-color:#fff}.mdc-tab-legacy .mdc-tab__text-label{color:#fff;display:inline-flex;align-items:center;transition:none}.mdc-tab-legacy .mdc-tab__content{position:relative;pointer-events:auto}.mdc-tab-legacy:hover .mdc-tab__ripple:before{opacity:.04}.mdc-tab-legacy.cdk-program-focused .mdc-tab__ripple:before,.mdc-tab-legacy.cdk-keyboard-focused .mdc-tab__ripple:before{opacity:.12}\n"] }]
9452
+ }, imports: [MDTabHeader, MDTabLabelWrapper, CdkMonitorFocus, CdkPortalOutlet, MDTabBody, CommonModule], template: "<md-tab-header\r\n #tabHeader\r\n [ngClass]=\"{\r\n 'tabs-legacy': isLegacyMode\r\n }\"\r\n [hideInkBar]=\"hideInkBar\"\r\n [selectedIndex]=\"selectedIndex || 0\"\r\n [disablePagination]=\"disablePagination\"\r\n [aria-label]=\"ariaLabel\"\r\n [aria-labelledby]=\"ariaLabelledby\"\r\n (indexFocused)=\"_focusChanged($event)\"\r\n (selectFocusedIndex)=\"selectedIndex = $event\"\r\n>\r\n @for (tab of _tabs; track tab) {\r\n <div\r\n class=\"focus-indicator\"\r\n [ngClass]=\"{\r\n 'mdc-tab': !isLegacyMode,\r\n 'mdc-tab-legacy': isLegacyMode\r\n }\"\r\n #tabNode\r\n role=\"tab\"\r\n mdTabLabelWrapper\r\n cdkMonitorElementFocus\r\n [id]=\"_getTabLabelId(tab, $index)\"\r\n [attr.tabIndex]=\"_getTabIndex($index)\"\r\n [attr.aria-posinset]=\"$index + 1\"\r\n [attr.aria-setsize]=\"_tabs.length\"\r\n [attr.aria-controls]=\"_getTabContentId($index)\"\r\n [attr.aria-selected]=\"selectedIndex === $index\"\r\n [attr.aria-label]=\"tab.ariaLabel || null\"\r\n [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\"\r\n [class.mdc-tab--active]=\"selectedIndex === $index\"\r\n [class]=\"tab.labelClass\"\r\n [disabled]=\"tab.disabled\"\r\n [fitInkBarToContent]=\"fitInkBarToContent\"\r\n (click)=\"_handleClick(tab, tabHeader, $index)\"\r\n (cdkFocusChange)=\"_tabFocusChanged($event, $index)\"\r\n >\r\n <span class=\"mdc-tab__ripple\"></span>\r\n <span class=\"mdc-tab__content\">\r\n <span class=\"mdc-tab__text-label\">\r\n @if (tab.templateLabel) {\r\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\r\n } @else {{{tab.textLabel}}}\r\n </span>\r\n </span>\r\n </div>\r\n }\r\n</md-tab-header>\r\n\r\n@if (_isServer) {\r\n<ng-content />\r\n}\r\n\r\n<div class=\"mdc-tab-body-wrapper\" #tabBodyWrapper>\r\n @for (tab of _tabs; track tab;) {\r\n <md-tab-body\r\n role=\"tabpanel\"\r\n [id]=\"_getTabContentId($index)\"\r\n [attr.tabindex]=\"(contentTabIndex != null && selectedIndex === $index) ? contentTabIndex : null\"\r\n [attr.aria-labelledby]=\"_getTabLabelId(tab, $index)\"\r\n [attr.aria-hidden]=\"selectedIndex !== $index\"\r\n [class]=\"tab.bodyClass\"\r\n [content]=\"tab.content!\"\r\n [position]=\"tab.position!\"\r\n [animationDuration]=\"animationDuration\"\r\n [preserveContent]=\"preserveContent\"\r\n (_onCentered)=\"_removeTabBodyWrapperHeight()\"\r\n (_onCentering)=\"_setTabBodyWrapperHeight($event)\"\r\n (_beforeCentering)=\"_bodyCentered($event)\"\r\n />\r\n }\r\n</div>\r\n", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.mdc-tab{min-width:90px;padding:0 12px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;border:none;outline:none;text-align:center;white-space:nowrap;cursor:pointer;z-index:1;touch-action:manipulation}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:.15s color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab--active .mdc-tab__text-label{transition-delay:.1s}._animation-noopable .mdc-tab__text-label{transition:none}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transition:.25s transform cubic-bezier(.4,0,.2,1);transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}._animation-noopable .mdc-tab-indicator__content,.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mdc-tab{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;background:none;height:40px;font-family:Montserrat;font-size:1rem;letter-spacing:.006rem;line-height:1.25rem;font-weight:500}.mdc-tab-group.mdc-tab-group-stretch-tabs>.mdc-tab-header .mdc-tab{flex-grow:1}.mdc-tab.mdc-tab{flex-grow:0}.mdc-tab .mdc-tab-indicator__content--underline{border-color:#6d5cae;border-top-width:2px;border-radius:0}.mdc-tab:hover .mdc-tab__text-label{color:#201a1b}.mdc-tab:focus .mdc-tab__text-label{color:#201a1b}.mdc-tab.mdc-tab--active .mdc-tab__text-label{color:#201a1b}.mdc-tab.mdc-tab--active .mdc-tab__ripple:before{background-color:#201a1b}.mdc-tab.mdc-tab--active:hover .mdc-tab__text-label{color:#201a1b}.mdc-tab.mdc-tab--active:hover .mdc-tab-indicator__content--underline{border-color:#6d5cae}.mdc-tab.mdc-tab--active:focus .mdc-tab__text-label{color:#201a1b}.mdc-tab.mdc-tab--active:focus .mdc-tab-indicator__content--underline{border-color:#6d5cae}.mdc-tab.mdc-tab-disabled{opacity:.4;pointer-events:none}.mdc-tab.mdc-tab-disabled .mdc-tab__content{pointer-events:none}.mdc-tab .mdc-tab__ripple:before{content:\"\";display:block;position:absolute;inset:0;opacity:0;pointer-events:none;background-color:#201a1b}.mdc-tab .mdc-tab__text-label{color:#201a1b;display:inline-flex;align-items:center}.mdc-tab .mdc-tab__content{position:relative;pointer-events:auto}.mdc-tab:hover .mdc-tab__ripple:before{opacity:.04}.mdc-tab.cdk-program-focused .mdc-tab__ripple:before,.mdc-tab.cdk-keyboard-focused .mdc-tab__ripple:before{opacity:.12}.mdc-tab-group{display:flex;flex-direction:column;max-width:100%}.mdc-tab-group.tabs-with-background>.mdc-tab-header .mdc-tab-header-pagination-chevron,.mdc-tab-group.tabs-with-background>.mdc-tab-header .focus-indicator:before,.mdc-tab-group.tabs-with-background>.mdc-tab-header-pagination .mdc-tab-header-pagination-chevron,.mdc-tab-group.tabs-with-background>.mdc-tab-header-pagination .focus-indicator:before{border-color:#201a1b}.mdc-tab-group.tabs-with-background>.mdc-tab-header .mdc-tab-header-pagination-chevron,.mdc-tab-group.tabs-with-background>.mdc-tab-header-pagination .mdc-tab-header-pagination-chevron{color:transparent}.mdc-tab-group.mdc-tab-group-inverted-header{flex-direction:column-reverse}.mdc-tab-group.mdc-tab-group-inverted-header .mdc-tab-indicator__content--underline{align-self:flex-start}.mdc-tab-body-wrapper{position:relative;overflow:hidden;display:flex}.focus-indicator{position:relative}.tabs-legacy .mdc-tab-labels{gap:2px}.tabs-legacy .mdc-tab-label-container{border:0px}.mdc-tab-legacy{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;height:36px;padding:0 14px;font-family:Lato;font-size:14px;letter-spacing:0px;line-height:22px;font-weight:400;background-color:#4d4d4d;border-top-left-radius:5px;border-top-right-radius:5px;cursor:pointer;max-width:90px}.mdc-tab-group.mdc-tab-group-stretch-tabs>.mdc-tab-header .mdc-tab-legacy{flex-grow:1}.mdc-tab-legacy.mdc-tab{flex-grow:0}.mdc-tab-legacy .mdc-tab-indicator__content--underline{border-color:#6d5cae;border-top-width:2px;border-radius:0}.mdc-tab-legacy:hover:not(.mdc-tab--active){background-color:#373737}.mdc-tab-legacy:focus .mdc-tab__text-label{color:#fff}.mdc-tab-legacy.mdc-tab--active{background-color:#eaeaea}.mdc-tab-legacy.mdc-tab--active .mdc-tab__text-label{color:#000}.mdc-tab-legacy.mdc-tab--active .mdc-tab__ripple:before{background-color:#fff}.mdc-tab-legacy.mdc-tab-disabled{pointer-events:none}.mdc-tab-legacy.mdc-tab-disabled .mdc-tab__text-label{color:#bdbdbd}.mdc-tab-legacy.mdc-tab-disabled .mdc-tab__content{pointer-events:none}.mdc-tab-legacy .mdc-tab__ripple:before{content:\"\";display:block;position:absolute;inset:0;opacity:0;pointer-events:none;background-color:#fff}.mdc-tab-legacy .mdc-tab__text-label{color:#fff;display:inline-flex;align-items:center;transition:none}.mdc-tab-legacy .mdc-tab__content{position:relative;pointer-events:auto}.mdc-tab-legacy:hover .mdc-tab__ripple:before{opacity:.04}.mdc-tab-legacy.cdk-program-focused .mdc-tab__ripple:before,.mdc-tab-legacy.cdk-keyboard-focused .mdc-tab__ripple:before{opacity:.12}\n"] }]
10950
9453
  }], ctorParameters: () => [], propDecorators: { _allTabs: [{
10951
9454
  type: ContentChildren,
10952
9455
  args: [MDTab, { descendants: true }]
@@ -11034,5 +9537,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
11034
9537
  * Generated bundle index. Do not edit.
11035
9538
  */
11036
9539
 
11037
- export { ACCORDION, Accordion, CARD_CONFIG, CardComponent, CardLongComponent, CardSimpleComponent, CartTypeColors, CentralPageComponent, CentralPageRowComponent, CollapseComponent, CollapseSetComponent, DIALOG_DATA, DIALOG_DEFAULT_OPTIONS, DIALOG_SCROLL_STRATEGY, DatepickerComponent, DialogState, EXPANSION_PANEL_DEFAULT_OPTIONS, ErrorStateMatcher, ExpansionPanelActionRow, ExpansionPanelDescription, ExpansionPanelTitle, FillComponent, FilteredFieldContainerComponent, FilteredFieldItemComponent, FilteredFieldService, FiltredItemModel, HelpBlockComponent, INK_BAR_POSITIONER, INK_BAR_POSITIONER_FACTORY, InkBar, MDCard, MDCardActions, MDCardAvatar, MDCardContent, MDCardFooter, MDCardHeader, MDCardImage, MDCardLgImage, MDCardMdImage, MDCardModule, MDCardSmImage, MDCardSubtitle, MDCardTitle, MDCardTitleGroup, MDCardXlImage, MDCollapseModule, MDDialog, MDDialogActions, MDDialogClose, MDDialogContainer, MDDialogContent, MDDialogTitle, MDExpansionPanel, MDExpansionPanelContent, MDExpansionPanelHeader, MDModalModule, MDOption, MDOptionGroup, MDOptionSelectionChange, MDSelect, MDSelectModule, MDSelectTrigger, MDStep, MDStepContent, MDStepExecutorModule, MDStepFooter, MDStepHeader, MDStepLabel, MDStepper, MDStepperIcon, MDStepperNext, MDStepperPrevious, MDSwitch, MDSwitchModule, MDTab, MDTabBody, MDTabChangeEvent, MDTabContent, MDTabGroup, MDTabHeader, MDTabLabel, MDTabLabelWrapper, MDTabsModule, MD_EXPANSION_PANEL, MD_SELECT_TRIGGER, MD_TAB, MD_TAB_LABEL, ManagePageComponent, MefDevCardModule, MefDevCollapseModule, MefDevDatepickerModule, MefDevDialogConfig, MefDevDialogRef, MefDevFilteredFieldModule, MefDevHelpBlockModule, MefDevModalModule, MefDevOptionComponent, MefDevPageLayoutsModule, MefDevProgressComponent, MefDevProgressModule, MefDevSelectComponent, MefDevSelectModule, MefDevSliderComponent, MefDevSliderModule, MefDevSpecFlowTestComponent, MefDevSpecFlowTestModule, MefDevStepExecutorModule, MefDevSwitchComponent, MefDevSwitchModule, MefDevTabBodyComponent, MefDevTabComponent, MefDevTabLabelDirective, MefDevTabSetComponent, MefDevTabsInkBarDirective, MefDevTabsModule, MefDevTabsNavComponent, MefdevExecutorPageComponent, MefdevInnerCard, MefdevInnerCardModule, OptionPipe, PaginatedTabHeader, ProfileComponent, ProgressConfig, PseudoCheckbox, RightFilterComponent, STEPPER_INTL_PROVIDER, STEPPER_INTL_PROVIDER_FACTORY, SelectChange, ShowOnDirtyErrorStateMatcher, SlideRightComponent, SlideUpComponent, StageComponent, StepExecutorComponent, StepperIntl, TABS_CONFIG, TAB_CONTENT, TAB_GROUP, TabBodyPortal, TabChangeEvent, TablePageComponent, _closeDialogVia, _countGroupLabelsBeforeOption, _getOptionScrollPosition, components, mefDevCardComponents, mefDevCollapseModuleComponents };
9540
+ export { ACCORDION, Accordion, CARD_CONFIG, CardSimpleComponent, CentralPageComponent, CentralPageRowComponent, CollapseComponent, CollapseSetComponent, DIALOG_DATA, DIALOG_DEFAULT_OPTIONS, DIALOG_SCROLL_STRATEGY, DialogState, EXPANSION_PANEL_DEFAULT_OPTIONS, ErrorStateMatcher, ExpansionPanelActionRow, ExpansionPanelDescription, ExpansionPanelTitle, FillComponent, FilteredFieldContainerComponent, FilteredFieldItemComponent, FilteredFieldService, FiltredItemModel, INK_BAR_POSITIONER, INK_BAR_POSITIONER_FACTORY, InkBar, MDCard, MDCardActions, MDCardAvatar, MDCardContent, MDCardFooter, MDCardHeader, MDCardImage, MDCardLgImage, MDCardMdImage, MDCardModule, MDCardSmImage, MDCardSubtitle, MDCardTitle, MDCardTitleGroup, MDCardXlImage, MDCollapseModule, MDDialog, MDDialogActions, MDDialogClose, MDDialogContainer, MDDialogContent, MDDialogTitle, MDExpansionPanel, MDExpansionPanelContent, MDExpansionPanelHeader, MDModalModule, MDOption, MDOptionGroup, MDOptionSelectionChange, MDSelect, MDSelectModule, MDSelectTrigger, MDStep, MDStepContent, MDStepExecutorModule, MDStepFooter, MDStepHeader, MDStepLabel, MDStepper, MDStepperIcon, MDStepperNext, MDStepperPrevious, MDSwitch, MDSwitchModule, MDTab, MDTabBody, MDTabChangeEvent, MDTabContent, MDTabGroup, MDTabHeader, MDTabLabel, MDTabLabelWrapper, MDTabsModule, MD_EXPANSION_PANEL, MD_SELECT_TRIGGER, MD_TAB, MD_TAB_LABEL, ManagePageComponent, MefDevCardModule, MefDevCollapseModule, MefDevDialogConfig, MefDevDialogRef, MefDevDropDownMenuModule, MefDevFilteredFieldModule, MefDevModalModule, MefDevOptionComponent, MefDevPageLayoutsModule, MefDevProgressComponent, MefDevProgressModule, MefDevSelectComponent, MefDevSelectModule, MefDevStepExecutorModule, MefDevSwitchComponent, MefDevSwitchModule, MefDevTabBodyComponent, MefDevTabComponent, MefDevTabLabelDirective, MefDevTabSetComponent, MefDevTabsInkBarDirective, MefDevTabsModule, MefDevTabsNavComponent, MefdevDropdownMenuComponent, MefdevExecutorPageComponent, OptionPipe, PaginatedTabHeader, ProgressConfig, PseudoCheckbox, RightFilterComponent, STEPPER_INTL_PROVIDER, STEPPER_INTL_PROVIDER_FACTORY, SelectChange, ShowOnDirtyErrorStateMatcher, SlideRightComponent, SlideUpComponent, StageComponent, StepExecutorComponent, StepperIntl, TABS_CONFIG, TAB_CONTENT, TAB_GROUP, TabBodyPortal, TabChangeEvent, TablePageComponent, _closeDialogVia, _countGroupLabelsBeforeOption, _getOptionScrollPosition, components, mefDevCardComponents, mefDevCollapseModuleComponents };
11038
9541
  //# sourceMappingURL=natec-mef-dev-ui-kit.mjs.map