@clr/angular 13.0.0-next.0 → 13.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.
- package/emphasis/alert/alert.d.ts +2 -1
- package/emphasis/alert/providers/multi-alert.service.d.ts +2 -1
- package/esm2020/accordion/accordion-panel.mjs +3 -3
- package/esm2020/accordion/models/accordion.model.mjs +4 -3
- package/esm2020/accordion/stepper/stepper-panel.mjs +3 -3
- package/esm2020/button/button-loading/loading-button.mjs +6 -3
- package/esm2020/data/datagrid/built-in/filters/datagrid-string-filter.mjs +3 -1
- package/esm2020/data/datagrid/datagrid-row-detail.mjs +11 -6
- package/esm2020/data/tree-view/tree-node.mjs +3 -4
- package/esm2020/emphasis/alert/alert-item.mjs +6 -4
- package/esm2020/emphasis/alert/alert.mjs +17 -5
- package/esm2020/emphasis/alert/providers/multi-alert.service.mjs +23 -6
- package/esm2020/forms/password/password-container.mjs +8 -2
- package/esm2020/layout/nav/header.mjs +24 -14
- package/esm2020/layout/vertical-nav/vertical-nav-group.mjs +8 -4
- package/esm2020/modal/modal-body.mjs +27 -10
- package/esm2020/modal/modal.mjs +3 -3
- package/esm2020/popover/common/abstract-popover.mjs +16 -27
- package/esm2020/utils/i18n/common-strings.default.mjs +20 -6
- package/esm2020/utils/i18n/common-strings.interface.mjs +1 -1
- package/esm2020/wizard/providers/wizard-navigation.service.mjs +2 -2
- package/esm2020/wizard/wizard-page.mjs +2 -2
- package/esm2020/wizard/wizard-stepnav-item.mjs +14 -8
- package/esm2020/wizard/wizard.mjs +9 -3
- package/fesm2015/clr-angular.mjs +714 -619
- package/fesm2015/clr-angular.mjs.map +1 -1
- package/fesm2020/clr-angular.mjs +718 -625
- package/fesm2020/clr-angular.mjs.map +1 -1
- package/forms/password/password-container.d.ts +1 -1
- package/layout/nav/header.d.ts +2 -0
- package/layout/vertical-nav/vertical-nav-group.d.ts +2 -1
- package/modal/modal-body.d.ts +6 -1
- package/package.json +2 -2
- package/popover/common/abstract-popover.d.ts +1 -4
- package/utils/i18n/common-strings.interface.d.ts +34 -0
- package/wizard/wizard-stepnav-item.d.ts +3 -1
package/fesm2020/clr-angular.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Directive, NgModule, Injectable, Inject, PLATFORM_ID, EventEmitter, Input, Output, HostListener, Optional, Component, SkipSelf, ViewChild, InjectionToken, ContentChildren, ComponentFactoryResolver, ElementRef, HostBinding, ContentChild, Self, Attribute, LOCALE_ID, Renderer2, ChangeDetectionStrategy, ViewContainerRef, TemplateRef } from '@angular/core';
|
|
3
3
|
import { ClarityIcons, ellipsisHorizontalIcon, exclamationCircleIcon, checkCircleIcon, angleIcon, eventIcon, calendarIcon, eyeHideIcon, eyeIcon, windowCloseIcon, ellipsisVerticalIcon, viewColumnsIcon, arrowIcon, timesIcon, stepForward2Icon, angleDoubleIcon, filterGridCircleIcon, filterGridIcon, infoCircleIcon, exclamationTriangleIcon, errorStandardIcon, circleIcon, dotCircleIcon, successStandardIcon } from '@cds/core/icon';
|
|
4
|
-
import * as
|
|
4
|
+
import * as i4 from '@angular/common';
|
|
5
5
|
import { CommonModule, DOCUMENT, isPlatformBrowser, getLocaleDayNames, FormStyle, TranslationWidth, getLocaleMonthNames, getLocaleFirstDayOfWeek, getLocaleDateFormat, FormatWidth, NgForOf } from '@angular/common';
|
|
6
6
|
import { filter, debounceTime, first, switchMap, take, map, startWith, tap, distinctUntilChanged, pairwise } from 'rxjs/operators';
|
|
7
|
-
import * as i3
|
|
7
|
+
import * as i3 from 'rxjs';
|
|
8
8
|
import { Subject, fromEvent, BehaviorSubject, of, ReplaySubject, isObservable, combineLatest, Observable } from 'rxjs';
|
|
9
9
|
import { trigger, transition, style, animate, keyframes, state } from '@angular/animations';
|
|
10
10
|
import * as i1 from '@angular/forms';
|
|
@@ -1234,7 +1234,7 @@ ClrButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13
|
|
|
1234
1234
|
<ng-content></ng-content>
|
|
1235
1235
|
</button>
|
|
1236
1236
|
</ng-template>
|
|
1237
|
-
`, isInline: true, directives: [{ type:
|
|
1237
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1238
1238
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrButton, decorators: [{
|
|
1239
1239
|
type: Component,
|
|
1240
1240
|
args: [{
|
|
@@ -1371,7 +1371,7 @@ ClrPopoverPositions['left-bottom'] = {
|
|
|
1371
1371
|
};
|
|
1372
1372
|
|
|
1373
1373
|
/*
|
|
1374
|
-
* Copyright (c) 2016-
|
|
1374
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
1375
1375
|
* This software is released under MIT license.
|
|
1376
1376
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
1377
1377
|
*/
|
|
@@ -1436,6 +1436,11 @@ const commonStringsDefault = {
|
|
|
1436
1436
|
datepickerSelectYearText: 'Select year, the current year is {CALENDAR_YEAR}',
|
|
1437
1437
|
// Stack View
|
|
1438
1438
|
stackViewChanged: 'Value changed.',
|
|
1439
|
+
// Responsive Nav
|
|
1440
|
+
responsiveNavToggleOpen: 'Open navigation menu',
|
|
1441
|
+
responsiveNavToggleClose: 'Close navigation menu',
|
|
1442
|
+
responsiveNavOverflowOpen: 'Open navigation overflow menu',
|
|
1443
|
+
responsiveNavOverflowClose: 'Close navigation overflow menu',
|
|
1439
1444
|
//Vertical Nav
|
|
1440
1445
|
verticalNavGroupToggle: 'Toggle vertical navigation group',
|
|
1441
1446
|
verticalNavToggle: 'Toggle vertical navigation',
|
|
@@ -1453,10 +1458,19 @@ const commonStringsDefault = {
|
|
|
1453
1458
|
comboboxNoResults: 'No results',
|
|
1454
1459
|
comboboxOpen: 'Show options',
|
|
1455
1460
|
// Datagrid expandable rows
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1461
|
+
datagridExpandableBeginningOf: 'Beginning of',
|
|
1462
|
+
datagridExpandableEndOf: 'End of',
|
|
1463
|
+
datagridExpandableRowContent: 'Expandable row content',
|
|
1464
|
+
datagridExpandableRowsHelperText: `Screen reader table commands may not work for viewing expanded content, please use your screen reader's browse mode to read the content exposed by this button`,
|
|
1465
|
+
// Wizard
|
|
1466
|
+
wizardStepSuccess: 'Completed',
|
|
1467
|
+
wizardStepError: 'Error',
|
|
1468
|
+
/**
|
|
1469
|
+
* Password Input
|
|
1470
|
+
* Screen-reader text for the hide/show password field button
|
|
1471
|
+
*/
|
|
1472
|
+
passwordHide: 'Hide password',
|
|
1473
|
+
passwordShow: 'Show password',
|
|
1460
1474
|
};
|
|
1461
1475
|
|
|
1462
1476
|
/*
|
|
@@ -1605,7 +1619,7 @@ ClrButtonGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
|
|
|
1605
1619
|
ClrPopoverToggleService,
|
|
1606
1620
|
ClrPopoverEventsService,
|
|
1607
1621
|
ClrPopoverPositionService,
|
|
1608
|
-
], queries: [{ propertyName: "buttons", predicate: ClrButton }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<ng-container *ngFor=\"let inlineButton of inlineButtons\">\n <ng-template [ngTemplateOutlet]=\"inlineButton.templateRef\"></ng-template>\n</ng-container>\n<ng-container *ngIf=\"menuButtons.length > 0\">\n <div class=\"btn-group-overflow open\" [ngClass]=\"menuPosition\" #anchor>\n <button\n class=\"btn dropdown-toggle\"\n clrPopoverAnchor\n clrPopoverOpenCloseButton\n [attr.aria-controls]=\"popoverId\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-label]=\"commonStrings.keys.rowActions\"\n >\n <cds-icon shape=\"ellipsis-horizontal\" [attr.title]=\"commonStrings.keys.more\"></cds-icon>\n </button>\n <div\n role=\"menu\"\n class=\"dropdown-menu clr-button-group-menu\"\n [id]=\"popoverId\"\n [attr.id]=\"popoverId\"\n [attr.aria-hidden]=\"!open\"\n *clrPopoverContent=\"open at popoverPosition; outsideClickToClose: true; scrollToClose: true\"\n >\n <ng-template [ngTemplateOutlet]=\"ref\"></ng-template>\n </div>\n </div>\n</ng-container>\n<ng-template #ref>\n <ng-container *ngFor=\"let menuButton of menuButtons\">\n <ng-template [ngTemplateOutlet]=\"menuButton.templateRef\"></ng-template>\n </ng-container>\n</ng-template>\n", directives: [{ type:
|
|
1622
|
+
], queries: [{ propertyName: "buttons", predicate: ClrButton }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<ng-container *ngFor=\"let inlineButton of inlineButtons\">\n <ng-template [ngTemplateOutlet]=\"inlineButton.templateRef\"></ng-template>\n</ng-container>\n<ng-container *ngIf=\"menuButtons.length > 0\">\n <div class=\"btn-group-overflow open\" [ngClass]=\"menuPosition\" #anchor>\n <button\n class=\"btn dropdown-toggle\"\n clrPopoverAnchor\n clrPopoverOpenCloseButton\n [attr.aria-controls]=\"popoverId\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-label]=\"commonStrings.keys.rowActions\"\n >\n <cds-icon shape=\"ellipsis-horizontal\" [attr.title]=\"commonStrings.keys.more\"></cds-icon>\n </button>\n <div\n role=\"menu\"\n class=\"dropdown-menu clr-button-group-menu\"\n [id]=\"popoverId\"\n [attr.id]=\"popoverId\"\n [attr.aria-hidden]=\"!open\"\n *clrPopoverContent=\"open at popoverPosition; outsideClickToClose: true; scrollToClose: true\"\n >\n <ng-template [ngTemplateOutlet]=\"ref\"></ng-template>\n </div>\n </div>\n</ng-container>\n<ng-template #ref>\n <ng-container *ngFor=\"let menuButton of menuButtons\">\n <ng-template [ngTemplateOutlet]=\"menuButton.templateRef\"></ng-template>\n </ng-container>\n</ng-template>\n", directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: ClrPopoverAnchor, selector: "[clrPopoverAnchor]" }, { type: ClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { type: CdsIconCustomTag, selector: "cds-icon" }, { type: ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose"] }] });
|
|
1609
1623
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrButtonGroup, decorators: [{
|
|
1610
1624
|
type: Component,
|
|
1611
1625
|
args: [{ selector: 'clr-button-group', providers: [
|
|
@@ -1647,10 +1661,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
1647
1661
|
}] });
|
|
1648
1662
|
|
|
1649
1663
|
/*
|
|
1650
|
-
* Copyright (c) 2016-
|
|
1664
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
1651
1665
|
* This software is released under MIT license.
|
|
1652
1666
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
1653
1667
|
*/
|
|
1668
|
+
// minimum width to fit loading spinner
|
|
1669
|
+
const MIN_BUTTON_WIDTH = 42;
|
|
1654
1670
|
class ClrLoadingButton {
|
|
1655
1671
|
constructor(el, renderer) {
|
|
1656
1672
|
this.el = el;
|
|
@@ -1691,7 +1707,8 @@ class ClrLoadingButton {
|
|
|
1691
1707
|
setExplicitButtonWidth() {
|
|
1692
1708
|
if (this.el.nativeElement && this.el.nativeElement.getBoundingClientRect) {
|
|
1693
1709
|
const boundingClientRect = this.el.nativeElement.getBoundingClientRect();
|
|
1694
|
-
|
|
1710
|
+
const width = Math.max(MIN_BUTTON_WIDTH, boundingClientRect.width);
|
|
1711
|
+
this.renderer.setStyle(this.el.nativeElement, 'width', `${width}px`);
|
|
1695
1712
|
}
|
|
1696
1713
|
}
|
|
1697
1714
|
}
|
|
@@ -1712,7 +1729,7 @@ ClrLoadingButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
|
|
|
1712
1729
|
<ng-content></ng-content>
|
|
1713
1730
|
</span>
|
|
1714
1731
|
</ng-container>
|
|
1715
|
-
`, isInline: true, directives: [{ type:
|
|
1732
|
+
`, isInline: true, directives: [{ type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], animations: [
|
|
1716
1733
|
trigger('defaultButton', [
|
|
1717
1734
|
transition(':enter', [style({ opacity: 0 }), animate('200ms 100ms ease-in', style({ opacity: 1 }))]),
|
|
1718
1735
|
// TODO: see if we can get leave animation to work before spinner's enter animation
|
|
@@ -2657,7 +2674,7 @@ ClrControlContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
2657
2674
|
<ng-content select="clr-control-error" *ngIf="showInvalid"></ng-content>
|
|
2658
2675
|
<ng-content select="clr-control-success" *ngIf="showValid"></ng-content>
|
|
2659
2676
|
</div>
|
|
2660
|
-
`, isInline: true, directives: [{ type:
|
|
2677
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrLabel, selector: "label", inputs: ["for"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
2661
2678
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrControlContainer, decorators: [{
|
|
2662
2679
|
type: Component,
|
|
2663
2680
|
args: [{
|
|
@@ -3033,7 +3050,7 @@ ClrCheckboxWrapper.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
3033
3050
|
<ng-content select="[clrCheckbox],[clrToggle]"></ng-content>
|
|
3034
3051
|
<ng-content select="label"></ng-content>
|
|
3035
3052
|
<label *ngIf="!label"></label>
|
|
3036
|
-
`, isInline: true, directives: [{ type:
|
|
3053
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrLabel, selector: "label", inputs: ["for"] }] });
|
|
3037
3054
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrCheckboxWrapper, decorators: [{
|
|
3038
3055
|
type: Component,
|
|
3039
3056
|
args: [{
|
|
@@ -3049,7 +3066,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
3049
3066
|
},
|
|
3050
3067
|
providers: [ControlIdService, IS_TOGGLE_PROVIDER],
|
|
3051
3068
|
}]
|
|
3052
|
-
}], ctorParameters: function () { return [{ type: i3
|
|
3069
|
+
}], ctorParameters: function () { return [{ type: i3.BehaviorSubject, decorators: [{
|
|
3053
3070
|
type: Inject,
|
|
3054
3071
|
args: [IS_TOGGLE]
|
|
3055
3072
|
}] }]; }, propDecorators: { label: [{
|
|
@@ -3159,7 +3176,7 @@ ClrCheckboxContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
3159
3176
|
<ng-content select="clr-control-success" *ngIf="showValid"></ng-content>
|
|
3160
3177
|
</div>
|
|
3161
3178
|
</div>
|
|
3162
|
-
`, isInline: true, directives: [{ type:
|
|
3179
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrLabel, selector: "label", inputs: ["for"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
3163
3180
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrCheckboxContainer, decorators: [{
|
|
3164
3181
|
type: Component,
|
|
3165
3182
|
args: [{
|
|
@@ -4887,7 +4904,7 @@ class ClrCalendar {
|
|
|
4887
4904
|
}
|
|
4888
4905
|
}
|
|
4889
4906
|
ClrCalendar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrCalendar, deps: [{ token: LocaleHelperService }, { token: DateNavigationService }, { token: DatepickerFocusService }, { token: DateIOService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
4890
|
-
ClrCalendar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrCalendar, selector: "clr-calendar", host: { listeners: { "keydown": "onKeyDown($event)" } }, ngImport: i0, template: "<table class=\"calendar-table\">\n <tr class=\"calendar-row weekdays\">\n <td *ngFor=\"let day of localeDays\" class=\"calendar-cell weekday\" role=\"heading\" [attr.aria-label]=\"day.day\">\n {{day.narrow}}\n </td>\n </tr>\n <tr class=\"calendar-row\" *ngFor=\"let row of calendarViewModel.calendarView\">\n <td *ngFor=\"let dayView of row\" class=\"calendar-cell\">\n <clr-day [clrDayView]=\"dayView\"></clr-day>\n </td>\n </tr>\n</table>\n", components: [{ type: ClrDay, selector: "clr-day", inputs: ["clrDayView"] }], directives: [{ type:
|
|
4907
|
+
ClrCalendar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrCalendar, selector: "clr-calendar", host: { listeners: { "keydown": "onKeyDown($event)" } }, ngImport: i0, template: "<table class=\"calendar-table\">\n <tr class=\"calendar-row weekdays\">\n <td *ngFor=\"let day of localeDays\" class=\"calendar-cell weekday\" role=\"heading\" [attr.aria-label]=\"day.day\">\n {{day.narrow}}\n </td>\n </tr>\n <tr class=\"calendar-row\" *ngFor=\"let row of calendarViewModel.calendarView\">\n <td *ngFor=\"let dayView of row\" class=\"calendar-cell\">\n <clr-day [clrDayView]=\"dayView\"></clr-day>\n </td>\n </tr>\n</table>\n", components: [{ type: ClrDay, selector: "clr-day", inputs: ["clrDayView"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
4891
4908
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrCalendar, decorators: [{
|
|
4892
4909
|
type: Component,
|
|
4893
4910
|
args: [{ selector: 'clr-calendar', template: "<table class=\"calendar-table\">\n <tr class=\"calendar-row weekdays\">\n <td *ngFor=\"let day of localeDays\" class=\"calendar-cell weekday\" role=\"heading\" [attr.aria-label]=\"day.day\">\n {{day.narrow}}\n </td>\n </tr>\n <tr class=\"calendar-row\" *ngFor=\"let row of calendarViewModel.calendarView\">\n <td *ngFor=\"let dayView of row\" class=\"calendar-cell\">\n <clr-day [clrDayView]=\"dayView\"></clr-day>\n </td>\n </tr>\n</table>\n" }]
|
|
@@ -5097,7 +5114,7 @@ ClrMonthpicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
|
|
|
5097
5114
|
>
|
|
5098
5115
|
{{ month }}
|
|
5099
5116
|
</button>
|
|
5100
|
-
`, isInline: true, directives: [{ type:
|
|
5117
|
+
`, isInline: true, directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
5101
5118
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrMonthpicker, decorators: [{
|
|
5102
5119
|
type: Component,
|
|
5103
5120
|
args: [{
|
|
@@ -5350,7 +5367,7 @@ ClrYearpicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
5350
5367
|
{{ year }}
|
|
5351
5368
|
</button>
|
|
5352
5369
|
</div>
|
|
5353
|
-
`, isInline: true, directives: [{ type: CdsIconCustomTag, selector: "cds-icon" }, { type:
|
|
5370
|
+
`, isInline: true, directives: [{ type: CdsIconCustomTag, selector: "cds-icon" }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
5354
5371
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrYearpicker, decorators: [{
|
|
5355
5372
|
type: Component,
|
|
5356
5373
|
args: [{
|
|
@@ -5505,7 +5522,7 @@ class ClrDatepickerViewManager {
|
|
|
5505
5522
|
}
|
|
5506
5523
|
}
|
|
5507
5524
|
ClrDatepickerViewManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrDatepickerViewManager, deps: [{ token: ViewManagerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5508
|
-
ClrDatepickerViewManager.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrDatepickerViewManager, selector: "clr-datepicker-view-manager", host: { properties: { "class.datepicker": "true", "attr.aria-modal": "true" } }, providers: [DatepickerFocusService], ngImport: i0, template: "<!--\n* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n* This software is released under MIT license.\n* The full license information can be found in LICENSE in the root directory of this project.\n-->\n\n<clr-monthpicker *ngIf=\"isMonthView\"></clr-monthpicker>\n<clr-yearpicker *ngIf=\"isYearView\"></clr-yearpicker>\n<clr-daypicker *ngIf=\"isDayView\"></clr-daypicker>\n", components: [{ type: ClrMonthpicker, selector: "clr-monthpicker" }, { type: ClrYearpicker, selector: "clr-yearpicker" }, { type: ClrDaypicker, selector: "clr-daypicker" }], directives: [{ type:
|
|
5525
|
+
ClrDatepickerViewManager.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrDatepickerViewManager, selector: "clr-datepicker-view-manager", host: { properties: { "class.datepicker": "true", "attr.aria-modal": "true" } }, providers: [DatepickerFocusService], ngImport: i0, template: "<!--\n* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n* This software is released under MIT license.\n* The full license information can be found in LICENSE in the root directory of this project.\n-->\n\n<clr-monthpicker *ngIf=\"isMonthView\"></clr-monthpicker>\n<clr-yearpicker *ngIf=\"isYearView\"></clr-yearpicker>\n<clr-daypicker *ngIf=\"isDayView\"></clr-daypicker>\n", components: [{ type: ClrMonthpicker, selector: "clr-monthpicker" }, { type: ClrYearpicker, selector: "clr-yearpicker" }, { type: ClrDaypicker, selector: "clr-daypicker" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
5509
5526
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrDatepickerViewManager, decorators: [{
|
|
5510
5527
|
type: Component,
|
|
5511
5528
|
args: [{ selector: 'clr-datepicker-view-manager', providers: [DatepickerFocusService], host: {
|
|
@@ -5644,7 +5661,7 @@ ClrDateContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
|
|
|
5644
5661
|
<ng-content select="clr-control-error" *ngIf="showInvalid"></ng-content>
|
|
5645
5662
|
<ng-content select="clr-control-success" *ngIf="showValid"></ng-content>
|
|
5646
5663
|
</div>
|
|
5647
|
-
`, isInline: true, components: [{ type: ClrDatepickerViewManager, selector: "clr-datepicker-view-manager" }], directives: [{ type:
|
|
5664
|
+
`, isInline: true, components: [{ type: ClrDatepickerViewManager, selector: "clr-datepicker-view-manager" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrLabel, selector: "label", inputs: ["for"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: ClrPopoverAnchor, selector: "[clrPopoverAnchor]" }, { type: ClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { type: CdsIconCustomTag, selector: "cds-icon" }, { type: ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose"] }, { type: FocusTrapDirective, selector: "[clrFocusTrap]", inputs: ["clrFocusTrap"] }] });
|
|
5648
5665
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrDateContainer, decorators: [{
|
|
5649
5666
|
type: Component,
|
|
5650
5667
|
args: [{
|
|
@@ -6112,7 +6129,7 @@ ClrInputContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
6112
6129
|
<ng-content select="clr-control-error" *ngIf="showInvalid"></ng-content>
|
|
6113
6130
|
<ng-content select="clr-control-success" *ngIf="showValid"></ng-content>
|
|
6114
6131
|
</div>
|
|
6115
|
-
`, isInline: true, directives: [{ type:
|
|
6132
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrLabel, selector: "label", inputs: ["for"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
6116
6133
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrInputContainer, decorators: [{
|
|
6117
6134
|
type: Component,
|
|
6118
6135
|
args: [{
|
|
@@ -6198,7 +6215,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
6198
6215
|
}], ctorParameters: function () { return []; } });
|
|
6199
6216
|
|
|
6200
6217
|
/**
|
|
6201
|
-
* Copyright (c) 2016-
|
|
6218
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
6202
6219
|
* This software is released under MIT license.
|
|
6203
6220
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
6204
6221
|
*/
|
|
@@ -6262,6 +6279,9 @@ ClrPasswordContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
6262
6279
|
[attr.shape]="show ? 'eye-hide' : 'eye'"
|
|
6263
6280
|
[attr.title]="show ? commonStrings.keys.hide : commonStrings.keys.show"
|
|
6264
6281
|
></cds-icon>
|
|
6282
|
+
<span class="clr-sr-only">{{
|
|
6283
|
+
show ? commonStrings.keys.passwordHide : commonStrings.keys.passwordShow
|
|
6284
|
+
}}</span>
|
|
6265
6285
|
</button>
|
|
6266
6286
|
</div>
|
|
6267
6287
|
<cds-icon
|
|
@@ -6283,7 +6303,7 @@ ClrPasswordContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
6283
6303
|
<ng-content select="clr-control-error" *ngIf="showInvalid"></ng-content>
|
|
6284
6304
|
<ng-content select="clr-control-success" *ngIf="showValid"></ng-content>
|
|
6285
6305
|
</div>
|
|
6286
|
-
`, isInline: true, directives: [{ type:
|
|
6306
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrLabel, selector: "label", inputs: ["for"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
6287
6307
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrPasswordContainer, decorators: [{
|
|
6288
6308
|
type: Component,
|
|
6289
6309
|
args: [{
|
|
@@ -6307,6 +6327,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
6307
6327
|
[attr.shape]="show ? 'eye-hide' : 'eye'"
|
|
6308
6328
|
[attr.title]="show ? commonStrings.keys.hide : commonStrings.keys.show"
|
|
6309
6329
|
></cds-icon>
|
|
6330
|
+
<span class="clr-sr-only">{{
|
|
6331
|
+
show ? commonStrings.keys.passwordHide : commonStrings.keys.passwordShow
|
|
6332
|
+
}}</span>
|
|
6310
6333
|
</button>
|
|
6311
6334
|
</div>
|
|
6312
6335
|
<cds-icon
|
|
@@ -6345,7 +6368,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
6345
6368
|
}]
|
|
6346
6369
|
}], ctorParameters: function () { return [{ type: IfControlStateService }, { type: LayoutService, decorators: [{
|
|
6347
6370
|
type: Optional
|
|
6348
|
-
}] }, { type: ControlClassService }, { type: NgControlService }, { type: FocusService$1 }, { type: i3
|
|
6371
|
+
}] }, { type: ControlClassService }, { type: NgControlService }, { type: FocusService$1 }, { type: i3.BehaviorSubject, decorators: [{
|
|
6349
6372
|
type: Inject,
|
|
6350
6373
|
args: [TOGGLE_SERVICE]
|
|
6351
6374
|
}] }, { type: ClrCommonStringsService }]; }, propDecorators: { clrToggle: [{
|
|
@@ -6394,7 +6417,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
6394
6417
|
type: Optional
|
|
6395
6418
|
}] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: FocusService$1, decorators: [{
|
|
6396
6419
|
type: Optional
|
|
6397
|
-
}] }, { type: i3
|
|
6420
|
+
}] }, { type: i3.BehaviorSubject, decorators: [{
|
|
6398
6421
|
type: Optional
|
|
6399
6422
|
}, {
|
|
6400
6423
|
type: Inject,
|
|
@@ -6453,7 +6476,7 @@ ClrRadioWrapper.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
|
|
|
6453
6476
|
<ng-content select="[clrRadio]"></ng-content>
|
|
6454
6477
|
<ng-content select="label"></ng-content>
|
|
6455
6478
|
<label *ngIf="!label"></label>
|
|
6456
|
-
`, isInline: true, directives: [{ type:
|
|
6479
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrLabel, selector: "label", inputs: ["for"] }] });
|
|
6457
6480
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrRadioWrapper, decorators: [{
|
|
6458
6481
|
type: Component,
|
|
6459
6482
|
args: [{
|
|
@@ -6558,7 +6581,7 @@ ClrRadioContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
6558
6581
|
<ng-content select="clr-control-success" *ngIf="showValid"></ng-content>
|
|
6559
6582
|
</div>
|
|
6560
6583
|
</div>
|
|
6561
|
-
`, isInline: true, directives: [{ type:
|
|
6584
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrLabel, selector: "label", inputs: ["for"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
6562
6585
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrRadioContainer, decorators: [{
|
|
6563
6586
|
type: Component,
|
|
6564
6587
|
args: [{
|
|
@@ -6682,7 +6705,7 @@ ClrSelectContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
6682
6705
|
<ng-content select="clr-control-error" *ngIf="showInvalid"></ng-content>
|
|
6683
6706
|
<ng-content select="clr-control-success" *ngIf="showValid"></ng-content>
|
|
6684
6707
|
</div>
|
|
6685
|
-
`, isInline: true, directives: [{ type:
|
|
6708
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrLabel, selector: "label", inputs: ["for"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
6686
6709
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrSelectContainer, decorators: [{
|
|
6687
6710
|
type: Component,
|
|
6688
6711
|
args: [{
|
|
@@ -6805,7 +6828,7 @@ ClrTextareaContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
6805
6828
|
<ng-content select="clr-control-error" *ngIf="showInvalid"></ng-content>
|
|
6806
6829
|
<ng-content select="clr-control-success" *ngIf="showValid"></ng-content>
|
|
6807
6830
|
</div>
|
|
6808
|
-
`, isInline: true, directives: [{ type:
|
|
6831
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrLabel, selector: "label", inputs: ["for"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
6809
6832
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrTextareaContainer, decorators: [{
|
|
6810
6833
|
type: Component,
|
|
6811
6834
|
args: [{
|
|
@@ -6953,7 +6976,7 @@ ClrRangeContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
6953
6976
|
<ng-content select="clr-control-error" *ngIf="showInvalid"></ng-content>
|
|
6954
6977
|
<ng-content select="clr-control-success" *ngIf="showValid"></ng-content>
|
|
6955
6978
|
</div>
|
|
6956
|
-
`, isInline: true, directives: [{ type:
|
|
6979
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrLabel, selector: "label", inputs: ["for"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
6957
6980
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrRangeContainer, decorators: [{
|
|
6958
6981
|
type: Component,
|
|
6959
6982
|
args: [{
|
|
@@ -7122,7 +7145,7 @@ ClrDatalistContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
7122
7145
|
<ng-content select="clr-control-error" *ngIf="showInvalid"></ng-content>
|
|
7123
7146
|
<ng-content select="clr-control-success" *ngIf="showValid"></ng-content>
|
|
7124
7147
|
</div>
|
|
7125
|
-
`, isInline: true, directives: [{ type:
|
|
7148
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrLabel, selector: "label", inputs: ["for"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
7126
7149
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrDatalistContainer, decorators: [{
|
|
7127
7150
|
type: Component,
|
|
7128
7151
|
args: [{
|
|
@@ -7812,7 +7835,7 @@ class ClrOption {
|
|
|
7812
7835
|
}
|
|
7813
7836
|
ClrOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrOption, deps: [{ token: i0.ElementRef }, { token: ClrCommonStringsService }, { token: ComboboxFocusHandler }, { token: OptionSelectionService }, { token: UNIQUE_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
7814
7837
|
ClrOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrOption, selector: "clr-option", inputs: { optionId: ["id", "optionId"], value: ["clrValue", "value"] }, host: { listeners: { "click": "onClick()" }, properties: { "class.clr-combobox-option": "true", "attr.role": "\"option\"", "attr.tabindex": "-1", "attr.id": "optionId", "class.active": "this.selected", "class.clr-focus": "this.focusClass" } }, providers: [UNIQUE_ID_PROVIDER], ngImport: i0, template: `<ng-content></ng-content>
|
|
7815
|
-
<span *ngIf="selected" class="clr-sr-only"> {{ commonStrings.keys.comboboxSelected }} </span> `, isInline: true, directives: [{ type:
|
|
7838
|
+
<span *ngIf="selected" class="clr-sr-only"> {{ commonStrings.keys.comboboxSelected }} </span> `, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
7816
7839
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrOption, decorators: [{
|
|
7817
7840
|
type: Component,
|
|
7818
7841
|
args: [{
|
|
@@ -8034,7 +8057,7 @@ ClrOptions.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "1
|
|
|
8034
8057
|
|
|
8035
8058
|
<!--Option Groups and Options will be projected here-->
|
|
8036
8059
|
<ng-content></ng-content>
|
|
8037
|
-
`, isInline: true, components: [{ type: ClrSpinner, selector: "clr-spinner", inputs: ["clrInline", "clrInverse", "clrSmall", "clrMedium"] }], directives: [{ type:
|
|
8060
|
+
`, isInline: true, components: [{ type: ClrSpinner, selector: "clr-spinner", inputs: ["clrInline", "clrInverse", "clrSmall", "clrMedium"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
8038
8061
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrOptions, decorators: [{
|
|
8039
8062
|
type: Component,
|
|
8040
8063
|
args: [{
|
|
@@ -8146,7 +8169,7 @@ ClrComboboxContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
8146
8169
|
<ng-content select="clr-control-error" *ngIf="showInvalid"></ng-content>
|
|
8147
8170
|
<ng-content select="clr-control-success" *ngIf="showValid"></ng-content>
|
|
8148
8171
|
</div>
|
|
8149
|
-
`, isInline: true, directives: [{ type:
|
|
8172
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrLabel, selector: "label", inputs: ["for"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
8150
8173
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrComboboxContainer, decorators: [{
|
|
8151
8174
|
type: Component,
|
|
8152
8175
|
args: [{
|
|
@@ -8895,7 +8918,7 @@ ClrCombobox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
|
8895
8918
|
ClrPopoverToggleService,
|
|
8896
8919
|
ClrPopoverEventsService,
|
|
8897
8920
|
ClrPopoverPositionService,
|
|
8898
|
-
], queries: [{ propertyName: "optionSelected", first: true, predicate: ClrOptionSelected, descendants: true }], viewQueries: [{ propertyName: "textbox", first: true, predicate: ["textboxInput"], descendants: true }, { propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!--\n* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n* This software is released under MIT license.\n* The full license information can be found in LICENSE in the root directory of this project.\n-->\n\n<!-- The (click) handler is needed to auto-focus on input field which can not currently occupy the whole\n width of the component, after being wrapped to a new line -->\n<div\n class=\"clr-combobox-wrapper\"\n clrPopoverAnchor\n (click)=\"focusInput()\"\n [class.multi]=\"multiSelect\"\n [class.invalid]=\"invalid\"\n>\n <span\n *ngIf=\"multiSelect && optionSelectionService.selectionModel.model\"\n role=\"grid\"\n clrRovingTabindex\n [clrRovingTabindexDisabled]=\"control?.disabled\"\n clrDirection=\"both\"\n [attr.aria-label]=\"getSelectionAriaLabel()\"\n [attr.aria-disabled]=\"control?.disabled? true: null\"\n >\n <span *ngFor=\"let item of multiSelectModel; let i = index\" class=\"label label-combobox-pill\" role=\"row\">\n <span role=\"gridcell\">\n <span class=\"clr-combobox-pill-content\" clrKeyFocusItem>\n <ng-container\n *ngIf=\"optionSelected\"\n [ngTemplateOutlet]=\"optionSelected.template\"\n [ngTemplateOutletContext]=\"{$implicit: optionSelectionService.selectionModel.model[i]}\"\n >\n </ng-container>\n </span>\n </span>\n <span role=\"gridcell\">\n <button\n clrKeyFocusItem\n type=\"button\"\n class=\"clr-combobox-remove-btn\"\n [disabled]=\"control?.disabled? true: null\"\n [attr.aria-label]=\"commonStrings.keys.comboboxDelete + ' ' + optionSelectionService.selectionModel.toString(displayField, i)\"\n (click)=\"unselect(item)\"\n >\n <cds-icon shape=\"window-close\" size=\"12\"></cds-icon>\n </button>\n </span>\n </span>\n </span>\n\n <span class=\"clr-combobox-input-wrapper\">\n <input\n #textboxInput\n type=\"text\"\n [id]=\"inputId()\"\n role=\"combobox\"\n class=\"clr-input clr-combobox-input\"\n [(ngModel)]=\"searchText\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n [attr.aria-expanded]=\"openState\"\n [attr.aria-owns]=\"ariaOwns\"\n aria-haspopup=\"listbox\"\n aria-autocomplete=\"list\"\n autocomplete=\"off\"\n [attr.aria-invalid]=\"control?.invalid? true: null\"\n [disabled]=\"control?.disabled? true: null\"\n [attr.aria-activedescendant]=\"getActiveDescendant()\"\n [attr.placeholder]=\"placeholder\"\n aria-multiline=\"false\"\n />\n </span>\n\n <!-- No click handler, as it uses the handler on the .clr-combobox-wrapper -->\n <button\n clrPopoverOpenCloseButton\n #trigger\n type=\"button\"\n class=\"clr-combobox-trigger\"\n tabindex=\"-1\"\n [disabled]=\"control?.disabled || null\"\n [attr.aria-label]=\"commonStrings.keys.comboboxOpen\"\n >\n <cds-icon shape=\"angle\" direction=\"down\" size=\"12\"></cds-icon>\n </button>\n\n <div class=\"clr-focus-indicator\" [class.clr-focus]=\"focused\"></div>\n</div>\n\n<!-- Both close handlers are handled manually due to issues in Edge browser.\n Additionally 'outsideClickToClose' has complex handling that's necessary\n to be manual due to the component architecture -->\n<div role=\"dialog\" *clrPopoverContent=\"openState at smartPosition; outsideClickToClose: false; scrollToClose: false\">\n <ng-content></ng-content>\n</div>\n", components: [{ type: ClrRovingTabindex, selector: "[clrRovingTabindex]", inputs: ["clrRovingTabindex", "clrRovingTabindexDisabled"] }], directives: [{ type: ClrPopoverAnchor, selector: "[clrPopoverAnchor]" }, { type:
|
|
8921
|
+
], queries: [{ propertyName: "optionSelected", first: true, predicate: ClrOptionSelected, descendants: true }], viewQueries: [{ propertyName: "textbox", first: true, predicate: ["textboxInput"], descendants: true }, { propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!--\n* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n* This software is released under MIT license.\n* The full license information can be found in LICENSE in the root directory of this project.\n-->\n\n<!-- The (click) handler is needed to auto-focus on input field which can not currently occupy the whole\n width of the component, after being wrapped to a new line -->\n<div\n class=\"clr-combobox-wrapper\"\n clrPopoverAnchor\n (click)=\"focusInput()\"\n [class.multi]=\"multiSelect\"\n [class.invalid]=\"invalid\"\n>\n <span\n *ngIf=\"multiSelect && optionSelectionService.selectionModel.model\"\n role=\"grid\"\n clrRovingTabindex\n [clrRovingTabindexDisabled]=\"control?.disabled\"\n clrDirection=\"both\"\n [attr.aria-label]=\"getSelectionAriaLabel()\"\n [attr.aria-disabled]=\"control?.disabled? true: null\"\n >\n <span *ngFor=\"let item of multiSelectModel; let i = index\" class=\"label label-combobox-pill\" role=\"row\">\n <span role=\"gridcell\">\n <span class=\"clr-combobox-pill-content\" clrKeyFocusItem>\n <ng-container\n *ngIf=\"optionSelected\"\n [ngTemplateOutlet]=\"optionSelected.template\"\n [ngTemplateOutletContext]=\"{$implicit: optionSelectionService.selectionModel.model[i]}\"\n >\n </ng-container>\n </span>\n </span>\n <span role=\"gridcell\">\n <button\n clrKeyFocusItem\n type=\"button\"\n class=\"clr-combobox-remove-btn\"\n [disabled]=\"control?.disabled? true: null\"\n [attr.aria-label]=\"commonStrings.keys.comboboxDelete + ' ' + optionSelectionService.selectionModel.toString(displayField, i)\"\n (click)=\"unselect(item)\"\n >\n <cds-icon shape=\"window-close\" size=\"12\"></cds-icon>\n </button>\n </span>\n </span>\n </span>\n\n <span class=\"clr-combobox-input-wrapper\">\n <input\n #textboxInput\n type=\"text\"\n [id]=\"inputId()\"\n role=\"combobox\"\n class=\"clr-input clr-combobox-input\"\n [(ngModel)]=\"searchText\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n [attr.aria-expanded]=\"openState\"\n [attr.aria-owns]=\"ariaOwns\"\n aria-haspopup=\"listbox\"\n aria-autocomplete=\"list\"\n autocomplete=\"off\"\n [attr.aria-invalid]=\"control?.invalid? true: null\"\n [disabled]=\"control?.disabled? true: null\"\n [attr.aria-activedescendant]=\"getActiveDescendant()\"\n [attr.placeholder]=\"placeholder\"\n aria-multiline=\"false\"\n />\n </span>\n\n <!-- No click handler, as it uses the handler on the .clr-combobox-wrapper -->\n <button\n clrPopoverOpenCloseButton\n #trigger\n type=\"button\"\n class=\"clr-combobox-trigger\"\n tabindex=\"-1\"\n [disabled]=\"control?.disabled || null\"\n [attr.aria-label]=\"commonStrings.keys.comboboxOpen\"\n >\n <cds-icon shape=\"angle\" direction=\"down\" size=\"12\"></cds-icon>\n </button>\n\n <div class=\"clr-focus-indicator\" [class.clr-focus]=\"focused\"></div>\n</div>\n\n<!-- Both close handlers are handled manually due to issues in Edge browser.\n Additionally 'outsideClickToClose' has complex handling that's necessary\n to be manual due to the component architecture -->\n<div role=\"dialog\" *clrPopoverContent=\"openState at smartPosition; outsideClickToClose: false; scrollToClose: false\">\n <ng-content></ng-content>\n</div>\n", components: [{ type: ClrRovingTabindex, selector: "[clrRovingTabindex]", inputs: ["clrRovingTabindex", "clrRovingTabindexDisabled"] }], directives: [{ type: ClrPopoverAnchor, selector: "[clrPopoverAnchor]" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: ClrKeyFocusItem, selector: "[clrKeyFocusItem]" }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: CdsIconCustomTag, selector: "cds-icon" }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: ClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { type: ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose"] }] });
|
|
8899
8922
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrCombobox, decorators: [{
|
|
8900
8923
|
type: Component,
|
|
8901
8924
|
args: [{ selector: 'clr-combobox', providers: [
|
|
@@ -11171,6 +11194,7 @@ DatagridStringFilter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
11171
11194
|
[(ngModel)]="value"
|
|
11172
11195
|
class="clr-input"
|
|
11173
11196
|
[attr.aria-label]="commonStrings.keys.filterItems"
|
|
11197
|
+
[placeholder]="commonStrings.keys.filterItems"
|
|
11174
11198
|
/>
|
|
11175
11199
|
</clr-dg-filter>
|
|
11176
11200
|
`, isInline: true, components: [{ type: ClrDatagridFilter, selector: "clr-dg-filter", inputs: ["clrDgFilterOpen", "clrDgFilter"], outputs: ["clrDgFilterOpenChange"] }], directives: [{ type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
@@ -11188,6 +11212,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
11188
11212
|
[(ngModel)]="value"
|
|
11189
11213
|
class="clr-input"
|
|
11190
11214
|
[attr.aria-label]="commonStrings.keys.filterItems"
|
|
11215
|
+
[placeholder]="commonStrings.keys.filterItems"
|
|
11191
11216
|
/>
|
|
11192
11217
|
</clr-dg-filter>
|
|
11193
11218
|
`,
|
|
@@ -12557,7 +12582,7 @@ ClrDatagridColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
12557
12582
|
|
|
12558
12583
|
<clr-dg-column-separator *ngIf="showSeparator"></clr-dg-column-separator>
|
|
12559
12584
|
</div>
|
|
12560
|
-
`, isInline: true, components: [{ type: DatagridStringFilter, selector: "clr-dg-string-filter", inputs: ["clrDgStringFilter", "clrFilterValue"], outputs: ["clrFilterValueChange"] }, { type: DatagridNumericFilter, selector: "clr-dg-numeric-filter", inputs: ["clrDgNumericFilter", "clrFilterValue"], outputs: ["clrFilterValueChange"] }, { type: ClrDatagridColumnSeparator, selector: "clr-dg-column-separator" }], directives: [{ type:
|
|
12585
|
+
`, isInline: true, components: [{ type: DatagridStringFilter, selector: "clr-dg-string-filter", inputs: ["clrDgStringFilter", "clrFilterValue"], outputs: ["clrFilterValueChange"] }, { type: DatagridNumericFilter, selector: "clr-dg-numeric-filter", inputs: ["clrDgNumericFilter", "clrFilterValue"], outputs: ["clrFilterValueChange"] }, { type: ClrDatagridColumnSeparator, selector: "clr-dg-column-separator" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: CdsIconCustomTag, selector: "cds-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12561
12586
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrDatagridColumn, decorators: [{
|
|
12562
12587
|
type: Component,
|
|
12563
12588
|
args: [{
|
|
@@ -12888,7 +12913,7 @@ ClrDatagridPlaceholder.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
12888
12913
|
<div class="datagrid-placeholder-image" *ngIf="emptyDatagrid"></div>
|
|
12889
12914
|
<span role="gridcell"><ng-content *ngIf="emptyDatagrid"></ng-content></span>
|
|
12890
12915
|
</div>
|
|
12891
|
-
`, isInline: true, directives: [{ type:
|
|
12916
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
12892
12917
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrDatagridPlaceholder, decorators: [{
|
|
12893
12918
|
type: Component,
|
|
12894
12919
|
args: [{
|
|
@@ -13087,7 +13112,7 @@ ClrSignpost.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
|
13087
13112
|
</ng-container>
|
|
13088
13113
|
|
|
13089
13114
|
<ng-content></ng-content>
|
|
13090
|
-
`, isInline: true, directives: [{ type:
|
|
13115
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrSignpostTrigger, selector: "[clrSignpostTrigger]" }, { type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
13091
13116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrSignpost, decorators: [{
|
|
13092
13117
|
type: Component,
|
|
13093
13118
|
args: [{
|
|
@@ -13851,7 +13876,7 @@ ClrDatagridRow.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
|
|
|
13851
13876
|
DatagridIfExpandService,
|
|
13852
13877
|
{ provide: IfExpandService, useExisting: DatagridIfExpandService },
|
|
13853
13878
|
{ provide: LoadingListener, useExisting: DatagridIfExpandService },
|
|
13854
|
-
], queries: [{ propertyName: "dgCells", predicate: ClrDatagridCell }], viewQueries: [{ propertyName: "expandAnimation", first: true, predicate: ClrExpandableAnimation, descendants: true }, { propertyName: "detailButton", first: true, predicate: ["detailButton"], descendants: true }, { propertyName: "_stickyCells", first: true, predicate: ["stickyCells"], descendants: true, read: ViewContainerRef }, { propertyName: "_scrollableCells", first: true, predicate: ["scrollableCells"], descendants: true, read: ViewContainerRef }, { propertyName: "_calculatedCells", first: true, predicate: ["calculatedCells"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<!--\n We need to wrap the #rowContent in label element if we are in rowSelectionMode.\n Clicking of that wrapper label will equate to clicking on the whole row, which triggers the checkbox to toggle.\n-->\n<label class=\"datagrid-row-clickable\" *ngIf=\"selection.rowSelectionMode\">\n <clr-expandable-animation [clrExpandTrigger]=\"expandAnimationTrigger\" *ngIf=\"expand.expandable\">\n <ng-template [ngTemplateOutlet]=\"rowContent\"></ng-template>\n </clr-expandable-animation>\n <ng-template [ngTemplateOutlet]=\"rowContent\" *ngIf=\"!expand.expandable\"></ng-template>\n</label>\n\n<clr-expandable-animation\n *ngIf=\"!selection.rowSelectionMode && expand.expandable\"\n [clrExpandTrigger]=\"expandAnimationTrigger\"\n>\n <ng-template [ngTemplateOutlet]=\"rowContent\"></ng-template>\n</clr-expandable-animation>\n\n<ng-template *ngIf=\"!selection.rowSelectionMode && !expand.expandable\" [ngTemplateOutlet]=\"rowContent\"></ng-template>\n\n<!--\n We need the \"project into template\" hacks because we need this in 2 different places\n depending on whether the details replace the row or not.\n-->\n<ng-template #detail>\n <ng-content select=\"clr-dg-row-detail\"></ng-content>\n</ng-template>\n\n<ng-template #rowContent>\n <div\n role=\"row\"\n [id]=\"id\"\n class=\"datagrid-row-master datagrid-row-flex\"\n [class.datagrid-row-detail-open]=\"detailService.isRowOpen(item)\"\n >\n <div class=\"datagrid-row-sticky\">\n <!-- Sticky elements here -->\n <ng-container #stickyCells>\n <div\n *ngIf=\"selection.selectionType === SELECTION_TYPE.Multi\"\n class=\"datagrid-select datagrid-fixed-column datagrid-cell\"\n [ngClass]=\"{ 'clr-form-control-disabled': !clrDgSelectable }\"\n role=\"gridcell\"\n >\n <div class=\"clr-checkbox-wrapper\">\n <input\n type=\"checkbox\"\n [ngModel]=\"selected\"\n (ngModelChange)=\"toggle($event)\"\n [id]=\"checkboxId\"\n [attr.disabled]=\"clrDgSelectable ? null : true\"\n [attr.aria-disabled]=\"clrDgSelectable ? null : true\"\n [attr.aria-label]=\"commonStrings.keys.select\"\n />\n <!-- Usage of class clr-col-null here prevents clr-col-* classes from being added when a datagrid is wrapped inside clrForm -->\n <label [for]=\"checkboxId\" class=\"clr-control-label clr-col-null\">\n <span class=\"clr-sr-only\">{{commonStrings.keys.select}}</span>\n </label>\n </div>\n </div>\n <div\n *ngIf=\"selection.selectionType === SELECTION_TYPE.Single\"\n class=\"datagrid-select datagrid-fixed-column datagrid-cell\"\n role=\"gridcell\"\n [ngClass]=\"{ 'clr-form-control-disabled': !clrDgSelectable }\"\n >\n <!-- TODO: it would be better if in addition to the generic \"Select\" label, we could add aria-labelledby\n to label the radio by the first cell in the row (typically an id or name).\n It's pretty easy to label it with the whole row since we already have an id for it, but in most\n cases the row is far too long to serve as a label, the screenreader reads every single cell content. -->\n <input\n type=\"radio\"\n clrRadio\n [id]=\"radioId\"\n [name]=\"selection.id + '-radio'\"\n [value]=\"item\"\n [(ngModel)]=\"selection.currentSingle\"\n [checked]=\"selection.currentSingle === item\"\n [attr.disabled]=\"clrDgSelectable ? null : true\"\n [attr.aria-disabled]=\"clrDgSelectable ? null : true\"\n [attr.aria-label]=\"commonStrings.keys.select\"\n />\n </div>\n <div\n *ngIf=\"rowActionService.hasActionableRow\"\n class=\"datagrid-row-actions datagrid-fixed-column datagrid-cell\"\n role=\"gridcell\"\n >\n <ng-content select=\"clr-dg-action-overflow\"></ng-content>\n </div>\n <div\n *ngIf=\"globalExpandable.hasExpandableRow\"\n class=\"datagrid-expandable-caret datagrid-fixed-column datagrid-cell\"\n role=\"gridcell\"\n >\n <ng-container *ngIf=\"expand.expandable\">\n <button\n *ngIf=\"!expand.loading\"\n (click)=\"toggleExpand()\"\n type=\"button\"\n class=\"datagrid-expandable-caret-button\"\n [attr.aria-expanded]=\"expand.expanded\"\n [attr.aria-label]=\"expand.expanded ? clrDgDetailCloseLabel : clrDgDetailOpenLabel\"\n [attr.aria-controls]=\"expandableId\"\n >\n <cds-icon\n shape=\"angle\"\n class=\"datagrid-expandable-caret-icon\"\n [attr.direction]=\"expand.expanded ? 'down' : 'right'\"\n [attr.title]=\"expand.expanded ? commonStrings.keys.collapse : commonStrings.keys.expand\"\n ></cds-icon>\n </button>\n <clr-spinner *ngIf=\"expand.loading\" clrSmall>{{ commonStrings.keys.loading }}</clr-spinner>\n </ng-container>\n </div>\n <div *ngIf=\"detailService.enabled\" class=\"datagrid-detail-caret datagrid-fixed-column datagrid-cell\">\n <button\n (click)=\"detailService.toggle(item, detailButton)\"\n type=\"button\"\n #detailButton\n class=\"datagrid-detail-caret-button\"\n [class.is-open]=\"detailService.isRowOpen(item)\"\n [attr.aria-label]=\"detailService.isOpen ? clrDgDetailCloseLabel : clrDgDetailOpenLabel\"\n [attr.aria-expanded]=\"detailService.isOpen\"\n [attr.aria-controls]=\"detailService.id\"\n aria-haspopup=\"dialog\"\n >\n <cds-icon\n shape=\"angle-double\"\n [attr.direction]=\"detailService.isRowOpen(item) ? 'left' : 'right'\"\n class=\"datagrid-detail-caret-icon\"\n [attr.title]=\"detailService.isRowOpen(item) ? commonStrings.keys.close: commonStrings.keys.open\"\n ></cds-icon>\n </button>\n </div>\n </ng-container>\n <!-- placeholder for projecting other sticky cells as pinned-->\n </div>\n <div class=\"datagrid-row-scrollable\" [ngClass]=\"{'is-replaced': replaced && expanded}\">\n <div class=\"datagrid-scrolling-cells\">\n <ng-content select=\"clr-dg-cell\"></ng-content>\n <ng-container #scrollableCells></ng-container>\n </div>\n <!-- details here when replace, re-visit when sticky container is used for pinned cells -->\n <ng-template *ngIf=\"replaced && !expand.loading\" [ngTemplateOutlet]=\"detail\"></ng-template>\n <ng-template *ngIf=\"!replaced && !expand.loading\" [ngTemplateOutlet]=\"detail\"></ng-template>\n </div>\n </div>\n</ng-template>\n\n<ng-container #calculatedCells></ng-container>\n", components: [{ type: ClrExpandableAnimation, selector: "clr-expandable-animation", inputs: ["clrExpandTrigger"] }, { type: ClrSpinner, selector: "clr-spinner", inputs: ["clrInline", "clrInverse", "clrSmall", "clrMedium"] }], directives: [{ type:
|
|
13879
|
+
], queries: [{ propertyName: "dgCells", predicate: ClrDatagridCell }], viewQueries: [{ propertyName: "expandAnimation", first: true, predicate: ClrExpandableAnimation, descendants: true }, { propertyName: "detailButton", first: true, predicate: ["detailButton"], descendants: true }, { propertyName: "_stickyCells", first: true, predicate: ["stickyCells"], descendants: true, read: ViewContainerRef }, { propertyName: "_scrollableCells", first: true, predicate: ["scrollableCells"], descendants: true, read: ViewContainerRef }, { propertyName: "_calculatedCells", first: true, predicate: ["calculatedCells"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<!--\n We need to wrap the #rowContent in label element if we are in rowSelectionMode.\n Clicking of that wrapper label will equate to clicking on the whole row, which triggers the checkbox to toggle.\n-->\n<label class=\"datagrid-row-clickable\" *ngIf=\"selection.rowSelectionMode\">\n <clr-expandable-animation [clrExpandTrigger]=\"expandAnimationTrigger\" *ngIf=\"expand.expandable\">\n <ng-template [ngTemplateOutlet]=\"rowContent\"></ng-template>\n </clr-expandable-animation>\n <ng-template [ngTemplateOutlet]=\"rowContent\" *ngIf=\"!expand.expandable\"></ng-template>\n</label>\n\n<clr-expandable-animation\n *ngIf=\"!selection.rowSelectionMode && expand.expandable\"\n [clrExpandTrigger]=\"expandAnimationTrigger\"\n>\n <ng-template [ngTemplateOutlet]=\"rowContent\"></ng-template>\n</clr-expandable-animation>\n\n<ng-template *ngIf=\"!selection.rowSelectionMode && !expand.expandable\" [ngTemplateOutlet]=\"rowContent\"></ng-template>\n\n<!--\n We need the \"project into template\" hacks because we need this in 2 different places\n depending on whether the details replace the row or not.\n-->\n<ng-template #detail>\n <ng-content select=\"clr-dg-row-detail\"></ng-content>\n</ng-template>\n\n<ng-template #rowContent>\n <div\n role=\"row\"\n [id]=\"id\"\n class=\"datagrid-row-master datagrid-row-flex\"\n [class.datagrid-row-detail-open]=\"detailService.isRowOpen(item)\"\n >\n <div class=\"datagrid-row-sticky\">\n <!-- Sticky elements here -->\n <ng-container #stickyCells>\n <div\n *ngIf=\"selection.selectionType === SELECTION_TYPE.Multi\"\n class=\"datagrid-select datagrid-fixed-column datagrid-cell\"\n [ngClass]=\"{ 'clr-form-control-disabled': !clrDgSelectable }\"\n role=\"gridcell\"\n >\n <div class=\"clr-checkbox-wrapper\">\n <input\n type=\"checkbox\"\n [ngModel]=\"selected\"\n (ngModelChange)=\"toggle($event)\"\n [id]=\"checkboxId\"\n [attr.disabled]=\"clrDgSelectable ? null : true\"\n [attr.aria-disabled]=\"clrDgSelectable ? null : true\"\n [attr.aria-label]=\"commonStrings.keys.select\"\n />\n <!-- Usage of class clr-col-null here prevents clr-col-* classes from being added when a datagrid is wrapped inside clrForm -->\n <label [for]=\"checkboxId\" class=\"clr-control-label clr-col-null\">\n <span class=\"clr-sr-only\">{{commonStrings.keys.select}}</span>\n </label>\n </div>\n </div>\n <div\n *ngIf=\"selection.selectionType === SELECTION_TYPE.Single\"\n class=\"datagrid-select datagrid-fixed-column datagrid-cell\"\n role=\"gridcell\"\n [ngClass]=\"{ 'clr-form-control-disabled': !clrDgSelectable }\"\n >\n <!-- TODO: it would be better if in addition to the generic \"Select\" label, we could add aria-labelledby\n to label the radio by the first cell in the row (typically an id or name).\n It's pretty easy to label it with the whole row since we already have an id for it, but in most\n cases the row is far too long to serve as a label, the screenreader reads every single cell content. -->\n <input\n type=\"radio\"\n clrRadio\n [id]=\"radioId\"\n [name]=\"selection.id + '-radio'\"\n [value]=\"item\"\n [(ngModel)]=\"selection.currentSingle\"\n [checked]=\"selection.currentSingle === item\"\n [attr.disabled]=\"clrDgSelectable ? null : true\"\n [attr.aria-disabled]=\"clrDgSelectable ? null : true\"\n [attr.aria-label]=\"commonStrings.keys.select\"\n />\n </div>\n <div\n *ngIf=\"rowActionService.hasActionableRow\"\n class=\"datagrid-row-actions datagrid-fixed-column datagrid-cell\"\n role=\"gridcell\"\n >\n <ng-content select=\"clr-dg-action-overflow\"></ng-content>\n </div>\n <div\n *ngIf=\"globalExpandable.hasExpandableRow\"\n class=\"datagrid-expandable-caret datagrid-fixed-column datagrid-cell\"\n role=\"gridcell\"\n >\n <ng-container *ngIf=\"expand.expandable\">\n <button\n *ngIf=\"!expand.loading\"\n (click)=\"toggleExpand()\"\n type=\"button\"\n class=\"datagrid-expandable-caret-button\"\n [attr.aria-expanded]=\"expand.expanded\"\n [attr.aria-label]=\"expand.expanded ? clrDgDetailCloseLabel : clrDgDetailOpenLabel\"\n [attr.aria-controls]=\"expandableId\"\n >\n <cds-icon\n shape=\"angle\"\n class=\"datagrid-expandable-caret-icon\"\n [attr.direction]=\"expand.expanded ? 'down' : 'right'\"\n [attr.title]=\"expand.expanded ? commonStrings.keys.collapse : commonStrings.keys.expand\"\n ></cds-icon>\n </button>\n <clr-spinner *ngIf=\"expand.loading\" clrSmall>{{ commonStrings.keys.loading }}</clr-spinner>\n </ng-container>\n </div>\n <div *ngIf=\"detailService.enabled\" class=\"datagrid-detail-caret datagrid-fixed-column datagrid-cell\">\n <button\n (click)=\"detailService.toggle(item, detailButton)\"\n type=\"button\"\n #detailButton\n class=\"datagrid-detail-caret-button\"\n [class.is-open]=\"detailService.isRowOpen(item)\"\n [attr.aria-label]=\"detailService.isOpen ? clrDgDetailCloseLabel : clrDgDetailOpenLabel\"\n [attr.aria-expanded]=\"detailService.isOpen\"\n [attr.aria-controls]=\"detailService.id\"\n aria-haspopup=\"dialog\"\n >\n <cds-icon\n shape=\"angle-double\"\n [attr.direction]=\"detailService.isRowOpen(item) ? 'left' : 'right'\"\n class=\"datagrid-detail-caret-icon\"\n [attr.title]=\"detailService.isRowOpen(item) ? commonStrings.keys.close: commonStrings.keys.open\"\n ></cds-icon>\n </button>\n </div>\n </ng-container>\n <!-- placeholder for projecting other sticky cells as pinned-->\n </div>\n <div class=\"datagrid-row-scrollable\" [ngClass]=\"{'is-replaced': replaced && expanded}\">\n <div class=\"datagrid-scrolling-cells\">\n <ng-content select=\"clr-dg-cell\"></ng-content>\n <ng-container #scrollableCells></ng-container>\n </div>\n <!-- details here when replace, re-visit when sticky container is used for pinned cells -->\n <ng-template *ngIf=\"replaced && !expand.loading\" [ngTemplateOutlet]=\"detail\"></ng-template>\n <ng-template *ngIf=\"!replaced && !expand.loading\" [ngTemplateOutlet]=\"detail\"></ng-template>\n </div>\n </div>\n</ng-template>\n\n<ng-container #calculatedCells></ng-container>\n", components: [{ type: ClrExpandableAnimation, selector: "clr-expandable-animation", inputs: ["clrExpandTrigger"] }, { type: ClrSpinner, selector: "clr-spinner", inputs: ["clrInline", "clrInverse", "clrSmall", "clrMedium"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrLabel, selector: "label", inputs: ["for"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: ClrRadio, selector: "[clrRadio]" }, { type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
13855
13880
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrDatagridRow, decorators: [{
|
|
13856
13881
|
type: Component,
|
|
13857
13882
|
args: [{ selector: 'clr-dg-row', host: {
|
|
@@ -14258,7 +14283,7 @@ ClrDatagrid.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
|
14258
14283
|
TableSizeService,
|
|
14259
14284
|
ColumnsService,
|
|
14260
14285
|
DisplayModeService,
|
|
14261
|
-
], queries: [{ propertyName: "iterator", first: true, predicate: ClrDatagridItems, descendants: true }, { propertyName: "placeholder", first: true, predicate: ClrDatagridPlaceholder, descendants: true }, { propertyName: "columns", predicate: ClrDatagridColumn }, { propertyName: "rows", predicate: ClrDatagridRow }], viewQueries: [{ propertyName: "scrollableColumns", first: true, predicate: ["scrollableColumns"], descendants: true, read: ViewContainerRef }, { propertyName: "datagridTable", first: true, predicate: ["datagridTable"], descendants: true, read: ElementRef }, { propertyName: "_projectedDisplayColumns", first: true, predicate: ["projectedDisplayColumns"], descendants: true, read: ViewContainerRef }, { propertyName: "_projectedCalculationColumns", first: true, predicate: ["projectedCalculationColumns"], descendants: true, read: ViewContainerRef }, { propertyName: "_displayedRows", first: true, predicate: ["displayedRows"], descendants: true, read: ViewContainerRef }, { propertyName: "_calculationRows", first: true, predicate: ["calculationRows"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<ng-content select=\"clr-dg-action-bar\"></ng-content>\n<div class=\"datagrid-outer-wrapper\">\n <div class=\"datagrid-inner-wrapper\">\n <div class=\"datagrid\" #datagrid [attr.aria-hidden]=\"detailService.isOpen ? true : null\">\n <div class=\"datagrid-table-wrapper\">\n <div role=\"grid\" class=\"datagrid-table\" tabindex=\"-1\" #datagridTable>\n <div role=\"rowgroup\" class=\"datagrid-header\">\n <div role=\"row\" class=\"datagrid-row\">\n <div class=\"datagrid-row-master datagrid-row-flex\">\n <div class=\"datagrid-row-sticky\">\n <!--header for datagrid where you can select multiple rows -->\n <div\n role=\"columnheader\"\n class=\"datagrid-column datagrid-select datagrid-fixed-column\"\n *ngIf=\"selection.selectionType === SELECTION_TYPE.Multi\"\n >\n <div class=\"clr-checkbox-wrapper\">\n <input\n type=\"checkbox\"\n [id]=\"selectAllId\"\n [(ngModel)]=\"allSelected\"\n [attr.aria-label]=\"commonStrings.keys.selectAll\"\n />\n <!-- Usage of class clr-col-null here prevents clr-col-* classes from being added when a datagrid is wrapped inside clrForm -->\n <label [for]=\"selectAllId\" class=\"clr-control-label clr-col-null\">\n <span class=\"clr-sr-only\">{{commonStrings.keys.selectAll}}</span>\n </label>\n </div>\n\n <div class=\"datagrid-column-separator\"></div>\n </div>\n <!-- header for datagrid where you can select one row only -->\n <div\n role=\"columnheader\"\n class=\"datagrid-column datagrid-select datagrid-fixed-column\"\n *ngIf=\"selection.selectionType === SELECTION_TYPE.Single\"\n [attr.aria-label]=\"clrDgSingleSelectionAriaLabel\"\n >\n <div class=\"datagrid-column-separator\"></div>\n </div>\n <!-- header for single row action; only displayType if we have at least one actionable row in datagrid -->\n <div\n role=\"columnheader\"\n class=\"datagrid-column datagrid-row-actions datagrid-fixed-column\"\n *ngIf=\"rowActionService.hasActionableRow\"\n [attr.aria-label]=\"clrDgSingleActionableAriaLabel\"\n >\n <div class=\"datagrid-column-separator\"></div>\n </div>\n <!-- header for carets; only displayType if we have at least one expandable row in datagrid -->\n <div\n role=\"columnheader\"\n class=\"datagrid-column datagrid-expandable-caret datagrid-fixed-column\"\n *ngIf=\"expandableRows.hasExpandableRow || detailService.enabled\"\n [attr.aria-label]=\"clrDetailExpandableAriaLabel\"\n >\n <div class=\"datagrid-column-separator\"></div>\n </div>\n </div>\n <div class=\"datagrid-row-scrollable\">\n <ng-container #projectedDisplayColumns></ng-container>\n </div>\n </div>\n </div>\n </div>\n <ng-container #displayedRows></ng-container>\n <!-- Custom placeholder overrides the default empty one -->\n <ng-content select=\"clr-dg-placeholder\"></ng-content>\n <clr-dg-placeholder *ngIf=\"!placeholder\"></clr-dg-placeholder>\n </div>\n </div>\n </div>\n <ng-content select=\"clr-dg-footer\"></ng-content>\n <div class=\"datagrid-spinner\" *ngIf=\"loading\">\n <clr-spinner clrMedium>Loading</clr-spinner>\n </div>\n </div>\n <ng-content select=\"[clrIfDetail],clr-dg-detail\"></ng-content>\n</div>\n\n<div class=\"datagrid-calculation-table\">\n <div class=\"datagrid-calculation-header\">\n <ng-container #projectedCalculationColumns></ng-container>\n </div>\n <ng-container #calculationRows></ng-container>\n</div>\n", components: [{ type: ClrDatagridPlaceholder, selector: "clr-dg-placeholder" }, { type: ClrSpinner, selector: "clr-spinner", inputs: ["clrInline", "clrInverse", "clrSmall", "clrMedium"] }], directives: [{ type:
|
|
14286
|
+
], queries: [{ propertyName: "iterator", first: true, predicate: ClrDatagridItems, descendants: true }, { propertyName: "placeholder", first: true, predicate: ClrDatagridPlaceholder, descendants: true }, { propertyName: "columns", predicate: ClrDatagridColumn }, { propertyName: "rows", predicate: ClrDatagridRow }], viewQueries: [{ propertyName: "scrollableColumns", first: true, predicate: ["scrollableColumns"], descendants: true, read: ViewContainerRef }, { propertyName: "datagridTable", first: true, predicate: ["datagridTable"], descendants: true, read: ElementRef }, { propertyName: "_projectedDisplayColumns", first: true, predicate: ["projectedDisplayColumns"], descendants: true, read: ViewContainerRef }, { propertyName: "_projectedCalculationColumns", first: true, predicate: ["projectedCalculationColumns"], descendants: true, read: ViewContainerRef }, { propertyName: "_displayedRows", first: true, predicate: ["displayedRows"], descendants: true, read: ViewContainerRef }, { propertyName: "_calculationRows", first: true, predicate: ["calculationRows"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<ng-content select=\"clr-dg-action-bar\"></ng-content>\n<div class=\"datagrid-outer-wrapper\">\n <div class=\"datagrid-inner-wrapper\">\n <div class=\"datagrid\" #datagrid [attr.aria-hidden]=\"detailService.isOpen ? true : null\">\n <div class=\"datagrid-table-wrapper\">\n <div role=\"grid\" class=\"datagrid-table\" tabindex=\"-1\" #datagridTable>\n <div role=\"rowgroup\" class=\"datagrid-header\">\n <div role=\"row\" class=\"datagrid-row\">\n <div class=\"datagrid-row-master datagrid-row-flex\">\n <div class=\"datagrid-row-sticky\">\n <!--header for datagrid where you can select multiple rows -->\n <div\n role=\"columnheader\"\n class=\"datagrid-column datagrid-select datagrid-fixed-column\"\n *ngIf=\"selection.selectionType === SELECTION_TYPE.Multi\"\n >\n <div class=\"clr-checkbox-wrapper\">\n <input\n type=\"checkbox\"\n [id]=\"selectAllId\"\n [(ngModel)]=\"allSelected\"\n [attr.aria-label]=\"commonStrings.keys.selectAll\"\n />\n <!-- Usage of class clr-col-null here prevents clr-col-* classes from being added when a datagrid is wrapped inside clrForm -->\n <label [for]=\"selectAllId\" class=\"clr-control-label clr-col-null\">\n <span class=\"clr-sr-only\">{{commonStrings.keys.selectAll}}</span>\n </label>\n </div>\n\n <div class=\"datagrid-column-separator\"></div>\n </div>\n <!-- header for datagrid where you can select one row only -->\n <div\n role=\"columnheader\"\n class=\"datagrid-column datagrid-select datagrid-fixed-column\"\n *ngIf=\"selection.selectionType === SELECTION_TYPE.Single\"\n [attr.aria-label]=\"clrDgSingleSelectionAriaLabel\"\n >\n <div class=\"datagrid-column-separator\"></div>\n </div>\n <!-- header for single row action; only displayType if we have at least one actionable row in datagrid -->\n <div\n role=\"columnheader\"\n class=\"datagrid-column datagrid-row-actions datagrid-fixed-column\"\n *ngIf=\"rowActionService.hasActionableRow\"\n [attr.aria-label]=\"clrDgSingleActionableAriaLabel\"\n >\n <div class=\"datagrid-column-separator\"></div>\n </div>\n <!-- header for carets; only displayType if we have at least one expandable row in datagrid -->\n <div\n role=\"columnheader\"\n class=\"datagrid-column datagrid-expandable-caret datagrid-fixed-column\"\n *ngIf=\"expandableRows.hasExpandableRow || detailService.enabled\"\n [attr.aria-label]=\"clrDetailExpandableAriaLabel\"\n >\n <div class=\"datagrid-column-separator\"></div>\n </div>\n </div>\n <div class=\"datagrid-row-scrollable\">\n <ng-container #projectedDisplayColumns></ng-container>\n </div>\n </div>\n </div>\n </div>\n <ng-container #displayedRows></ng-container>\n <!-- Custom placeholder overrides the default empty one -->\n <ng-content select=\"clr-dg-placeholder\"></ng-content>\n <clr-dg-placeholder *ngIf=\"!placeholder\"></clr-dg-placeholder>\n </div>\n </div>\n </div>\n <ng-content select=\"clr-dg-footer\"></ng-content>\n <div class=\"datagrid-spinner\" *ngIf=\"loading\">\n <clr-spinner clrMedium>Loading</clr-spinner>\n </div>\n </div>\n <ng-content select=\"[clrIfDetail],clr-dg-detail\"></ng-content>\n</div>\n\n<div class=\"datagrid-calculation-table\">\n <div class=\"datagrid-calculation-header\">\n <ng-container #projectedCalculationColumns></ng-container>\n </div>\n <ng-container #calculationRows></ng-container>\n</div>\n", components: [{ type: ClrDatagridPlaceholder, selector: "clr-dg-placeholder" }, { type: ClrSpinner, selector: "clr-spinner", inputs: ["clrInline", "clrInverse", "clrSmall", "clrMedium"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: ClrLabel, selector: "label", inputs: ["for"] }] });
|
|
14262
14287
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrDatagrid, decorators: [{
|
|
14263
14288
|
type: Component,
|
|
14264
14289
|
args: [{ selector: 'clr-datagrid', providers: [
|
|
@@ -14729,7 +14754,7 @@ ClrDatagridColumnToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
14729
14754
|
</clr-dg-column-toggle-button>
|
|
14730
14755
|
</div>
|
|
14731
14756
|
</div>
|
|
14732
|
-
`, isInline: true, components: [{ type: ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { type: ClrDatagridColumnToggleButton, selector: "clr-dg-column-toggle-button", outputs: ["clrAllSelected"] }], directives: [{ type: ClrPopoverAnchor, selector: "[clrPopoverAnchor]" }, { type: ClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { type: CdsIconCustomTag, selector: "cds-icon" }, { type: ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose"] }, { type: FocusTrapDirective, selector: "[clrFocusTrap]", inputs: ["clrFocusTrap"] }, { type:
|
|
14757
|
+
`, isInline: true, components: [{ type: ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { type: ClrDatagridColumnToggleButton, selector: "clr-dg-column-toggle-button", outputs: ["clrAllSelected"] }], directives: [{ type: ClrPopoverAnchor, selector: "[clrPopoverAnchor]" }, { type: ClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { type: CdsIconCustomTag, selector: "cds-icon" }, { type: ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose"] }, { type: FocusTrapDirective, selector: "[clrFocusTrap]", inputs: ["clrFocusTrap"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrPopoverCloseButton, selector: "[clrPopoverCloseButton]", outputs: ["clrPopoverOnCloseChange"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: ClrDatagridItemsTrackBy, selector: "[ngForTrackBy]", inputs: ["ngForTrackBy"] }, { type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: ClrLabel, selector: "label", inputs: ["for"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
14733
14758
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrDatagridColumnToggle, decorators: [{
|
|
14734
14759
|
type: Component,
|
|
14735
14760
|
args: [{
|
|
@@ -14931,7 +14956,7 @@ ClrDatagridDetail.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
14931
14956
|
<ng-content></ng-content>
|
|
14932
14957
|
<div class="clr-sr-only">{{ commonStrings.keys.detailPaneEnd }}</div>
|
|
14933
14958
|
</div>
|
|
14934
|
-
`, isInline: true, directives: [{ type:
|
|
14959
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FocusTrapDirective, selector: "[clrFocusTrap]", inputs: ["clrFocusTrap"] }] });
|
|
14935
14960
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrDatagridDetail, decorators: [{
|
|
14936
14961
|
type: Component,
|
|
14937
14962
|
args: [{
|
|
@@ -15088,7 +15113,7 @@ ClrDatagridFooter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
15088
15113
|
</div>
|
|
15089
15114
|
</ng-container>
|
|
15090
15115
|
<ng-content select="clr-dg-pagination"></ng-content>
|
|
15091
|
-
`, isInline: true, components: [{ type: ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { type: ClrDatagridColumnToggle, selector: "clr-dg-column-toggle" }], directives: [{ type:
|
|
15116
|
+
`, isInline: true, components: [{ type: ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { type: ClrDatagridColumnToggle, selector: "clr-dg-column-toggle" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { type: ClrLabel, selector: "label", inputs: ["for"] }] });
|
|
15092
15117
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrDatagridFooter, decorators: [{
|
|
15093
15118
|
type: Component,
|
|
15094
15119
|
args: [{
|
|
@@ -15218,7 +15243,7 @@ ClrDatagridHideableColumn.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.
|
|
|
15218
15243
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrDatagridHideableColumn, decorators: [{
|
|
15219
15244
|
type: Directive,
|
|
15220
15245
|
args: [{ selector: '[clrDgHideableColumn]' }]
|
|
15221
|
-
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: ColumnsService }, { type: i3
|
|
15246
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: ColumnsService }, { type: i3.BehaviorSubject, decorators: [{
|
|
15222
15247
|
type: Optional
|
|
15223
15248
|
}, {
|
|
15224
15249
|
type: Inject,
|
|
@@ -15257,7 +15282,7 @@ ClrDatagridPageSize.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
15257
15282
|
<option *ngFor="let option of pageSizeOptions" [ngValue]="option">{{ option }}</option>
|
|
15258
15283
|
</select>
|
|
15259
15284
|
</div>
|
|
15260
|
-
`, isInline: true, directives: [{ type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type:
|
|
15285
|
+
`, isInline: true, directives: [{ type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
|
|
15261
15286
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrDatagridPageSize, decorators: [{
|
|
15262
15287
|
type: Component,
|
|
15263
15288
|
args: [{
|
|
@@ -15507,7 +15532,7 @@ ClrDatagridPagination.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
15507
15532
|
</button>
|
|
15508
15533
|
</div>
|
|
15509
15534
|
</ng-container>
|
|
15510
|
-
`, isInline: true, directives: [{ type:
|
|
15535
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
15511
15536
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrDatagridPagination, decorators: [{
|
|
15512
15537
|
type: Component,
|
|
15513
15538
|
args: [{
|
|
@@ -15631,7 +15656,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
15631
15656
|
}] } });
|
|
15632
15657
|
|
|
15633
15658
|
/*
|
|
15634
|
-
* Copyright (c) 2016-
|
|
15659
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
15635
15660
|
* This software is released under MIT license.
|
|
15636
15661
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
15637
15662
|
*/
|
|
@@ -15664,17 +15689,20 @@ class ClrDatagridRowDetail {
|
|
|
15664
15689
|
}
|
|
15665
15690
|
get beginningOfExpandableContentAriaText() {
|
|
15666
15691
|
return (this._beginningOfExpandableContentAriaText ||
|
|
15667
|
-
`${this.commonStrings.keys.dategridExpandableBeginningOf
|
|
15692
|
+
`${this.commonStrings.keys.dategridExpandableBeginningOf || this.commonStrings.keys.datagridExpandableBeginningOf}
|
|
15693
|
+
${this.commonStrings.keys.dategridExpandableRowContent || this.commonStrings.keys.datagridExpandableRowContent}`);
|
|
15668
15694
|
}
|
|
15669
15695
|
get endOfExpandableContentAriaText() {
|
|
15670
15696
|
return (this._endOfExpandableContentAriaText ||
|
|
15671
|
-
`${this.commonStrings.keys.dategridExpandableEndOf
|
|
15697
|
+
`${this.commonStrings.keys.dategridExpandableEndOf || this.commonStrings.keys.datagridExpandableEndOf}
|
|
15698
|
+
${this.commonStrings.keys.dategridExpandableRowContent || this.commonStrings.keys.datagridExpandableRowContent}`);
|
|
15672
15699
|
}
|
|
15673
15700
|
}
|
|
15674
15701
|
ClrDatagridRowDetail.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrDatagridRowDetail, deps: [{ token: Selection }, { token: RowActionService }, { token: DatagridIfExpandService }, { token: ExpandableRowsCount }, { token: ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
15675
15702
|
ClrDatagridRowDetail.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrDatagridRowDetail, selector: "clr-dg-row-detail", inputs: { replace: ["clrDgReplace", "replace"], _beginningOfExpandableContentAriaText: ["clrRowDetailBeginningAriaText", "_beginningOfExpandableContentAriaText"], _endOfExpandableContentAriaText: ["clrRowDetailEndAriaText", "_endOfExpandableContentAriaText"] }, host: { properties: { "class.datagrid-row-flex": "true", "class.datagrid-row-detail": "true", "class.datagrid-container": "cells.length === 0", "attr.id": "expand.expandableId" } }, queries: [{ propertyName: "cells", predicate: ClrDatagridCell }], ngImport: i0, template: `
|
|
15676
15703
|
<div class="clr-sr-only">
|
|
15677
|
-
{{ beginningOfExpandableContentAriaText }}
|
|
15704
|
+
{{ beginningOfExpandableContentAriaText }}
|
|
15705
|
+
{{ commonStrings.keys.dategridExpandableRowsHelperText || commonStrings.keys.datagridExpandableRowsHelperText }}
|
|
15678
15706
|
</div>
|
|
15679
15707
|
<ng-content></ng-content>
|
|
15680
15708
|
<div class="clr-sr-only">{{ endOfExpandableContentAriaText }}</div>
|
|
@@ -15683,9 +15711,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
15683
15711
|
type: Component,
|
|
15684
15712
|
args: [{
|
|
15685
15713
|
selector: 'clr-dg-row-detail',
|
|
15714
|
+
// TODO: @deprecated - dategrid* keys are deprecated. Remove in v14.
|
|
15686
15715
|
template: `
|
|
15687
15716
|
<div class="clr-sr-only">
|
|
15688
|
-
{{ beginningOfExpandableContentAriaText }}
|
|
15717
|
+
{{ beginningOfExpandableContentAriaText }}
|
|
15718
|
+
{{ commonStrings.keys.dategridExpandableRowsHelperText || commonStrings.keys.datagridExpandableRowsHelperText }}
|
|
15689
15719
|
</div>
|
|
15690
15720
|
<ng-content></ng-content>
|
|
15691
15721
|
<div class="clr-sr-only">{{ endOfExpandableContentAriaText }}</div>
|
|
@@ -15910,7 +15940,7 @@ DatagridHeaderRenderer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0",
|
|
|
15910
15940
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: DatagridHeaderRenderer, decorators: [{
|
|
15911
15941
|
type: Directive,
|
|
15912
15942
|
args: [{ selector: 'clr-dg-column', providers: [ColumnResizerService, COLUMN_STATE_PROVIDER] }]
|
|
15913
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: DatagridRenderOrganizer }, { type: DomAdapter }, { type: ColumnResizerService }, { type: ColumnsService }, { type: i3
|
|
15943
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: DatagridRenderOrganizer }, { type: DomAdapter }, { type: ColumnResizerService }, { type: ColumnsService }, { type: i3.BehaviorSubject, decorators: [{
|
|
15914
15944
|
type: Inject,
|
|
15915
15945
|
args: [COLUMN_STATE]
|
|
15916
15946
|
}] }]; }, propDecorators: { resizeEmitter: [{
|
|
@@ -16500,7 +16530,7 @@ ClrStackBlock.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
16500
16530
|
<ng-content select="clr-stack-block"></ng-content>
|
|
16501
16531
|
</div>
|
|
16502
16532
|
</clr-expandable-animation>
|
|
16503
|
-
`, isInline: true, styles: [":host{display:block}\n"], components: [{ type: ClrExpandableAnimation, selector: "clr-expandable-animation", inputs: ["clrExpandTrigger"] }], directives: [{ type:
|
|
16533
|
+
`, isInline: true, styles: [":host{display:block}\n"], components: [{ type: ClrExpandableAnimation, selector: "clr-expandable-animation", inputs: ["clrExpandTrigger"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
16504
16534
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrStackBlock, decorators: [{
|
|
16505
16535
|
type: Component,
|
|
16506
16536
|
args: [{
|
|
@@ -16678,7 +16708,7 @@ ClrStackHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
|
|
|
16678
16708
|
<!-- End of undocumented experimental feature. -->
|
|
16679
16709
|
</span>
|
|
16680
16710
|
</h4>
|
|
16681
|
-
`, isInline: true, styles: [":host{display:block}\n"], directives: [{ type:
|
|
16711
|
+
`, isInline: true, styles: [":host{display:block}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
16682
16712
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrStackHeader, decorators: [{
|
|
16683
16713
|
type: Component,
|
|
16684
16714
|
args: [{
|
|
@@ -16749,7 +16779,7 @@ ClrStackInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
|
16749
16779
|
ClrStackInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrStackInput, selector: "clr-stack-input", inputs: { model: ["clrModel", "model"], type: "type" }, outputs: { modelChange: "clrModelChange" }, usesInheritance: true, ngImport: i0, template: `
|
|
16750
16780
|
<span *ngIf="!stackView.editing">{{ model }}</span>
|
|
16751
16781
|
<input [type]="type" *ngIf="stackView.editing" [(ngModel)]="model" />
|
|
16752
|
-
`, isInline: true, directives: [{ type:
|
|
16782
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
16753
16783
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrStackInput, decorators: [{
|
|
16754
16784
|
type: Component,
|
|
16755
16785
|
args: [{
|
|
@@ -16782,7 +16812,7 @@ ClrStackSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
|
|
|
16782
16812
|
<ng-content></ng-content>
|
|
16783
16813
|
</select>
|
|
16784
16814
|
</div>
|
|
16785
|
-
`, isInline: true, directives: [{ type:
|
|
16815
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
16786
16816
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrStackSelect, decorators: [{
|
|
16787
16817
|
type: Component,
|
|
16788
16818
|
args: [{
|
|
@@ -17268,7 +17298,7 @@ RecursiveChildren.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
17268
17298
|
<ng-container *ngTemplateOutlet="featuresService.recursion.template; context: getContext(child)"></ng-container>
|
|
17269
17299
|
</ng-container>
|
|
17270
17300
|
</ng-container>
|
|
17271
|
-
`, isInline: true, directives: [{ type:
|
|
17301
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
17272
17302
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: RecursiveChildren, decorators: [{
|
|
17273
17303
|
type: Component,
|
|
17274
17304
|
args: [{
|
|
@@ -17295,7 +17325,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
17295
17325
|
}] } });
|
|
17296
17326
|
|
|
17297
17327
|
/*
|
|
17298
|
-
* Copyright (c) 2016-
|
|
17328
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
17299
17329
|
* This software is released under MIT license.
|
|
17300
17330
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
17301
17331
|
*/
|
|
@@ -17488,12 +17518,12 @@ class ClrTreeNode {
|
|
|
17488
17518
|
}
|
|
17489
17519
|
}
|
|
17490
17520
|
ClrTreeNode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrTreeNode, deps: [{ token: UNIQUE_ID }, { token: PLATFORM_ID }, { token: ClrTreeNode, optional: true, skipSelf: true }, { token: TreeFeaturesService }, { token: IfExpandService }, { token: ClrCommonStringsService }, { token: TreeFocusManagerService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
17491
|
-
ClrTreeNode.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrTreeNode, selector: "clr-tree-node", inputs: { selected: ["clrSelected", "selected"], expandable: ["clrExpandable", "expandable"], expanded: ["clrExpanded", "expanded"] }, outputs: { selectedChange: "clrSelectedChange", expandedChange: "clrExpandedChange" }, host: { properties: { "
|
|
17521
|
+
ClrTreeNode.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrTreeNode, selector: "clr-tree-node", inputs: { selected: ["clrSelected", "selected"], expandable: ["clrExpandable", "expandable"], expanded: ["clrExpanded", "expanded"] }, outputs: { selectedChange: "clrSelectedChange", expandedChange: "clrExpandedChange" }, host: { properties: { "class.clr-tree-node": "true" } }, providers: [
|
|
17492
17522
|
UNIQUE_ID_PROVIDER,
|
|
17493
17523
|
TREE_FEATURES_PROVIDER,
|
|
17494
17524
|
IfExpandService,
|
|
17495
17525
|
{ provide: LoadingListener, useExisting: IfExpandService },
|
|
17496
|
-
], queries: [{ propertyName: "treeNodeLinkList", predicate: ClrTreeNodeLink }], viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["contentContainer"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div\n #contentContainer\n role=\"treeitem\"\n class=\"clr-tree-node-content-container\"\n tabindex=\"-1\"\n [attr.aria-expanded]=\"isExpandable() ? expanded : null\"\n [attr.aria-selected]=\"ariaSelected\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"broadcastFocusOnContainer()\"\n>\n <button\n *ngIf=\"isExpandable() && !isModelLoading && !expandService.loading\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n class=\"clr-treenode-caret\"\n (click)=\"expandService.toggle();\"\n (focus)=\"focusTreeNode()\"\n >\n <cds-icon\n class=\"clr-treenode-caret-icon\"\n shape=\"angle\"\n [attr.direction]=\"expandService.expanded ? 'down' : 'right'\"\n ></cds-icon>\n </button>\n <div class=\"clr-treenode-spinner-container\" *ngIf=\"expandService.loading || isModelLoading\">\n <span class=\"clr-treenode-spinner spinner\"></span>\n </div>\n <div class=\"clr-checkbox-wrapper clr-treenode-checkbox\" *ngIf=\"featuresService.selectable\">\n <input\n aria-hidden=\"true\"\n type=\"checkbox\"\n id=\"{{nodeId}}-check\"\n class=\"clr-checkbox\"\n [checked]=\"_model.selected.value === STATES.SELECTED\"\n [indeterminate]=\"_model.selected.value === STATES.INDETERMINATE\"\n (change)=\"_model.toggleSelection(featuresService.eager)\"\n (focus)=\"focusTreeNode()\"\n tabindex=\"-1\"\n />\n <label for=\"{{nodeId}}-check\" class=\"clr-control-label\"></label>\n </div>\n <div class=\"clr-treenode-content\" (mousedown)=\"focusTreeNode()\">\n <ng-content></ng-content>\n <div class=\"clr-sr-only\" *ngIf=\"featuresService.selectable\">\n <span *ngIf=\"ariaSelected\"> selected </span>\n <span *ngIf=\"!ariaSelected\"> unselected </span>\n </div>\n </div>\n</div>\n<div\n class=\"clr-treenode-children\"\n [@toggleChildrenAnim]=\"expandService.expanded ? 'expanded' : 'collapsed'\"\n [attr.role]=\"isExpandable() && !featuresService.recursion ? 'group' : null\"\n>\n <ng-content select=\"clr-tree-node\"></ng-content>\n <ng-content select=\"[clrIfExpanded]\"></ng-content>\n <clr-recursive-children [parent]=\"_model\"></clr-recursive-children>\n</div>\n", components: [{ type: RecursiveChildren, selector: "clr-recursive-children", inputs: ["parent", "children"] }], directives: [{ type:
|
|
17526
|
+
], queries: [{ propertyName: "treeNodeLinkList", predicate: ClrTreeNodeLink }], viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["contentContainer"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div\n #contentContainer\n role=\"treeitem\"\n class=\"clr-tree-node-content-container\"\n tabindex=\"-1\"\n [attr.aria-expanded]=\"isExpandable() ? expanded : null\"\n [attr.aria-selected]=\"ariaSelected\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"broadcastFocusOnContainer()\"\n>\n <button\n *ngIf=\"isExpandable() && !isModelLoading && !expandService.loading\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n class=\"clr-treenode-caret\"\n (click)=\"expandService.toggle();\"\n (focus)=\"focusTreeNode()\"\n >\n <cds-icon\n class=\"clr-treenode-caret-icon\"\n shape=\"angle\"\n [attr.direction]=\"expandService.expanded ? 'down' : 'right'\"\n ></cds-icon>\n </button>\n <div class=\"clr-treenode-spinner-container\" *ngIf=\"expandService.loading || isModelLoading\">\n <span class=\"clr-treenode-spinner spinner\"></span>\n </div>\n <div class=\"clr-checkbox-wrapper clr-treenode-checkbox\" *ngIf=\"featuresService.selectable\">\n <input\n aria-hidden=\"true\"\n type=\"checkbox\"\n id=\"{{nodeId}}-check\"\n class=\"clr-checkbox\"\n [checked]=\"_model.selected.value === STATES.SELECTED\"\n [indeterminate]=\"_model.selected.value === STATES.INDETERMINATE\"\n (change)=\"_model.toggleSelection(featuresService.eager)\"\n (focus)=\"focusTreeNode()\"\n tabindex=\"-1\"\n />\n <label for=\"{{nodeId}}-check\" class=\"clr-control-label\"></label>\n </div>\n <div class=\"clr-treenode-content\" (mousedown)=\"focusTreeNode()\">\n <ng-content></ng-content>\n <div class=\"clr-sr-only\" *ngIf=\"featuresService.selectable\">\n <span *ngIf=\"ariaSelected\"> selected </span>\n <span *ngIf=\"!ariaSelected\"> unselected </span>\n </div>\n </div>\n</div>\n<div\n class=\"clr-treenode-children\"\n [@toggleChildrenAnim]=\"expandService.expanded ? 'expanded' : 'collapsed'\"\n [attr.role]=\"isExpandable() && !featuresService.recursion ? 'group' : null\"\n>\n <ng-content select=\"clr-tree-node\"></ng-content>\n <ng-content select=\"[clrIfExpanded]\"></ng-content>\n <clr-recursive-children [parent]=\"_model\"></clr-recursive-children>\n</div>\n", components: [{ type: RecursiveChildren, selector: "clr-recursive-children", inputs: ["parent", "children"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: CdsIconCustomTag, selector: "cds-icon" }], animations: [
|
|
17497
17527
|
trigger('toggleChildrenAnim', [
|
|
17498
17528
|
transition('collapsed => expanded', [style({ height: 0 }), animate(200, style({ height: '*' }))]),
|
|
17499
17529
|
transition('expanded => collapsed', [style({ height: '*' }), animate(200, style({ height: 0 }))]),
|
|
@@ -17516,7 +17546,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
17516
17546
|
state('collapsed', style({ height: 0 })),
|
|
17517
17547
|
]),
|
|
17518
17548
|
], host: {
|
|
17519
|
-
'[attr.role]': '"treeitem"',
|
|
17520
17549
|
'[class.clr-tree-node]': 'true',
|
|
17521
17550
|
}, template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div\n #contentContainer\n role=\"treeitem\"\n class=\"clr-tree-node-content-container\"\n tabindex=\"-1\"\n [attr.aria-expanded]=\"isExpandable() ? expanded : null\"\n [attr.aria-selected]=\"ariaSelected\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"broadcastFocusOnContainer()\"\n>\n <button\n *ngIf=\"isExpandable() && !isModelLoading && !expandService.loading\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n class=\"clr-treenode-caret\"\n (click)=\"expandService.toggle();\"\n (focus)=\"focusTreeNode()\"\n >\n <cds-icon\n class=\"clr-treenode-caret-icon\"\n shape=\"angle\"\n [attr.direction]=\"expandService.expanded ? 'down' : 'right'\"\n ></cds-icon>\n </button>\n <div class=\"clr-treenode-spinner-container\" *ngIf=\"expandService.loading || isModelLoading\">\n <span class=\"clr-treenode-spinner spinner\"></span>\n </div>\n <div class=\"clr-checkbox-wrapper clr-treenode-checkbox\" *ngIf=\"featuresService.selectable\">\n <input\n aria-hidden=\"true\"\n type=\"checkbox\"\n id=\"{{nodeId}}-check\"\n class=\"clr-checkbox\"\n [checked]=\"_model.selected.value === STATES.SELECTED\"\n [indeterminate]=\"_model.selected.value === STATES.INDETERMINATE\"\n (change)=\"_model.toggleSelection(featuresService.eager)\"\n (focus)=\"focusTreeNode()\"\n tabindex=\"-1\"\n />\n <label for=\"{{nodeId}}-check\" class=\"clr-control-label\"></label>\n </div>\n <div class=\"clr-treenode-content\" (mousedown)=\"focusTreeNode()\">\n <ng-content></ng-content>\n <div class=\"clr-sr-only\" *ngIf=\"featuresService.selectable\">\n <span *ngIf=\"ariaSelected\"> selected </span>\n <span *ngIf=\"!ariaSelected\"> unselected </span>\n </div>\n </div>\n</div>\n<div\n class=\"clr-treenode-children\"\n [@toggleChildrenAnim]=\"expandService.expanded ? 'expanded' : 'collapsed'\"\n [attr.role]=\"isExpandable() && !featuresService.recursion ? 'group' : null\"\n>\n <ng-content select=\"clr-tree-node\"></ng-content>\n <ng-content select=\"[clrIfExpanded]\"></ng-content>\n <clr-recursive-children [parent]=\"_model\"></clr-recursive-children>\n</div>\n" }]
|
|
17522
17551
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
@@ -17604,7 +17633,7 @@ ClrTree.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0
|
|
|
17604
17633
|
*ngIf="featuresService.recursion"
|
|
17605
17634
|
[children]="featuresService.recursion.root"
|
|
17606
17635
|
></clr-recursive-children>
|
|
17607
|
-
`, isInline: true, components: [{ type: RecursiveChildren, selector: "clr-recursive-children", inputs: ["parent", "children"] }], directives: [{ type:
|
|
17636
|
+
`, isInline: true, components: [{ type: RecursiveChildren, selector: "clr-recursive-children", inputs: ["parent", "children"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
17608
17637
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrTree, decorators: [{
|
|
17609
17638
|
type: Component,
|
|
17610
17639
|
args: [{
|
|
@@ -18514,7 +18543,7 @@ class Popover {
|
|
|
18514
18543
|
}
|
|
18515
18544
|
|
|
18516
18545
|
/*
|
|
18517
|
-
* Copyright (c) 2016-
|
|
18546
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
18518
18547
|
* This software is released under MIT license.
|
|
18519
18548
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
18520
18549
|
*/
|
|
@@ -18529,6 +18558,13 @@ class AbstractPopover {
|
|
|
18529
18558
|
* a separate directive on the host. So let's do dirty but performant for now.
|
|
18530
18559
|
*/
|
|
18531
18560
|
this.closeOnOutsideClick = false;
|
|
18561
|
+
this.closeOnOutsideClickCallback = event => {
|
|
18562
|
+
// The anchor element containing the click event origin means, the click wasn't triggered outside.
|
|
18563
|
+
if (this.anchorElem.contains(event.target)) {
|
|
18564
|
+
return;
|
|
18565
|
+
}
|
|
18566
|
+
this.toggleService.open = false;
|
|
18567
|
+
};
|
|
18532
18568
|
this.el = injector.get(ElementRef);
|
|
18533
18569
|
this.toggleService = injector.get(ClrPopoverToggleService);
|
|
18534
18570
|
this.renderer = injector.get(Renderer2);
|
|
@@ -18552,8 +18588,6 @@ class AbstractPopover {
|
|
|
18552
18588
|
}
|
|
18553
18589
|
anchor() {
|
|
18554
18590
|
this.updateAnchor = true;
|
|
18555
|
-
// Ugh
|
|
18556
|
-
this.ignore = this.toggleService.originalEvent;
|
|
18557
18591
|
}
|
|
18558
18592
|
release() {
|
|
18559
18593
|
this.detachOutsideClickListener();
|
|
@@ -18600,34 +18634,18 @@ class AbstractPopover {
|
|
|
18600
18634
|
}
|
|
18601
18635
|
}
|
|
18602
18636
|
attachOutsideClickListener() {
|
|
18603
|
-
if (this.closeOnOutsideClick) {
|
|
18604
|
-
|
|
18605
|
-
|
|
18606
|
-
this
|
|
18637
|
+
if (this.closeOnOutsideClick && this.toggleService.open) {
|
|
18638
|
+
if (document && document.addEventListener) {
|
|
18639
|
+
// To listen outside click, the listener should catch the event during the capturing phase.
|
|
18640
|
+
// We have to do this ugly document check as Renderer2.listen doesn't allow passive/useCapture listen.
|
|
18641
|
+
document.addEventListener('click', this.closeOnOutsideClickCallback, true);
|
|
18607
18642
|
}
|
|
18608
|
-
this.documentClickListener = this.renderer.listen('document', 'click', event => {
|
|
18609
|
-
if (event === this.ignore) {
|
|
18610
|
-
delete this.ignore;
|
|
18611
|
-
}
|
|
18612
|
-
else {
|
|
18613
|
-
this.toggleService.open = false;
|
|
18614
|
-
}
|
|
18615
|
-
});
|
|
18616
18643
|
}
|
|
18617
18644
|
}
|
|
18618
18645
|
detachOutsideClickListener() {
|
|
18619
18646
|
if (this.closeOnOutsideClick) {
|
|
18620
|
-
if (
|
|
18621
|
-
this.
|
|
18622
|
-
delete this.hostClickListener;
|
|
18623
|
-
}
|
|
18624
|
-
if (this.ignoredElementClickListener) {
|
|
18625
|
-
this.ignoredElementClickListener();
|
|
18626
|
-
delete this.ignoredElementClickListener;
|
|
18627
|
-
}
|
|
18628
|
-
if (this.documentClickListener) {
|
|
18629
|
-
this.documentClickListener();
|
|
18630
|
-
delete this.documentClickListener;
|
|
18647
|
+
if (document && document.removeEventListener) {
|
|
18648
|
+
document.removeEventListener('click', this.closeOnOutsideClickCallback, true);
|
|
18631
18649
|
}
|
|
18632
18650
|
}
|
|
18633
18651
|
}
|
|
@@ -18892,7 +18910,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
18892
18910
|
}], ctorParameters: function () { return [{ type: ClrCommonStringsService }]; } });
|
|
18893
18911
|
|
|
18894
18912
|
/*
|
|
18895
|
-
* Copyright (c) 2016-
|
|
18913
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
18896
18914
|
* This software is released under MIT license.
|
|
18897
18915
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
18898
18916
|
*/
|
|
@@ -18944,16 +18962,33 @@ class MultiAlertService {
|
|
|
18944
18962
|
});
|
|
18945
18963
|
}
|
|
18946
18964
|
next() {
|
|
18947
|
-
this.
|
|
18965
|
+
this._current = this.current === this.activeAlerts.length - 1 ? 0 : this.current + 1;
|
|
18966
|
+
this._change.next(this._current);
|
|
18948
18967
|
}
|
|
18949
18968
|
previous() {
|
|
18950
18969
|
if (this.activeAlerts.length === 0) {
|
|
18951
18970
|
return;
|
|
18952
18971
|
}
|
|
18953
|
-
this.
|
|
18972
|
+
this._current = this.current === 0 ? this.activeAlerts.length - 1 : this.current - 1;
|
|
18973
|
+
this._change.next(this._current);
|
|
18954
18974
|
}
|
|
18955
|
-
|
|
18956
|
-
this.
|
|
18975
|
+
open() {
|
|
18976
|
+
if (this.activeAlerts.length === 0) {
|
|
18977
|
+
return;
|
|
18978
|
+
}
|
|
18979
|
+
if (!this.currentAlert) {
|
|
18980
|
+
this._current = 0;
|
|
18981
|
+
}
|
|
18982
|
+
this._change.next(this._current);
|
|
18983
|
+
}
|
|
18984
|
+
close(isCurrentAlert) {
|
|
18985
|
+
if (this.activeAlerts.length === 0) {
|
|
18986
|
+
return;
|
|
18987
|
+
}
|
|
18988
|
+
if (isCurrentAlert) {
|
|
18989
|
+
this._current = Math.max(0, this.current - 1);
|
|
18990
|
+
}
|
|
18991
|
+
this._change.next(this._current);
|
|
18957
18992
|
}
|
|
18958
18993
|
destroy() {
|
|
18959
18994
|
if (this.subscription) {
|
|
@@ -18968,7 +19003,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
18968
19003
|
}] });
|
|
18969
19004
|
|
|
18970
19005
|
/*
|
|
18971
|
-
* Copyright (c) 2016-
|
|
19006
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
18972
19007
|
* This software is released under MIT license.
|
|
18973
19008
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
18974
19009
|
*/
|
|
@@ -18997,6 +19032,14 @@ class ClrAlert {
|
|
|
18997
19032
|
ngOnDestroy() {
|
|
18998
19033
|
this.subscriptions.forEach(sub => sub.unsubscribe());
|
|
18999
19034
|
}
|
|
19035
|
+
set closed(value) {
|
|
19036
|
+
if (value && !this._closed) {
|
|
19037
|
+
this.close();
|
|
19038
|
+
}
|
|
19039
|
+
else if (!value && this._closed) {
|
|
19040
|
+
this.open();
|
|
19041
|
+
}
|
|
19042
|
+
}
|
|
19000
19043
|
set alertType(val) {
|
|
19001
19044
|
this.iconService.alertType = val;
|
|
19002
19045
|
}
|
|
@@ -19022,19 +19065,23 @@ class ClrAlert {
|
|
|
19022
19065
|
if (!this.closable) {
|
|
19023
19066
|
return;
|
|
19024
19067
|
}
|
|
19068
|
+
const isCurrentAlert = this.multiAlertService?.currentAlert === this;
|
|
19025
19069
|
this._closed = true;
|
|
19026
19070
|
if (this.multiAlertService) {
|
|
19027
|
-
this.multiAlertService.close();
|
|
19071
|
+
this.multiAlertService.close(isCurrentAlert);
|
|
19028
19072
|
}
|
|
19029
19073
|
this._closedChanged.emit(true);
|
|
19030
19074
|
}
|
|
19031
19075
|
open() {
|
|
19032
19076
|
this._closed = false;
|
|
19077
|
+
if (this.multiAlertService) {
|
|
19078
|
+
this.multiAlertService.open();
|
|
19079
|
+
}
|
|
19033
19080
|
this._closedChanged.emit(false);
|
|
19034
19081
|
}
|
|
19035
19082
|
}
|
|
19036
19083
|
ClrAlert.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrAlert, deps: [{ token: AlertIconAndTypesService }, { token: i0.ChangeDetectorRef }, { token: MultiAlertService, optional: true }, { token: ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
19037
|
-
ClrAlert.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrAlert, selector: "clr-alert", inputs: { isSmall: ["clrAlertSizeSmall", "isSmall"], closable: ["clrAlertClosable", "closable"], isAppLevel: ["clrAlertAppLevel", "isAppLevel"], clrCloseButtonAriaLabel: "clrCloseButtonAriaLabel",
|
|
19084
|
+
ClrAlert.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrAlert, selector: "clr-alert", inputs: { isSmall: ["clrAlertSizeSmall", "isSmall"], closable: ["clrAlertClosable", "closable"], isAppLevel: ["clrAlertAppLevel", "isAppLevel"], clrCloseButtonAriaLabel: "clrCloseButtonAriaLabel", closed: ["clrAlertClosed", "closed"], alertType: ["clrAlertType", "alertType"], alertIconShape: ["clrAlertIcon", "alertIconShape"] }, outputs: { _closedChanged: "clrAlertClosedChange" }, providers: [AlertIconAndTypesService], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div\n *ngIf=\"!_closed\"\n class=\"alert\"\n [ngClass]=\"alertClass\"\n [class.alert-hidden]=\"hidden\"\n [class.alert-sm]=\"isSmall\"\n [class.alert-app-level]=\"isAppLevel\"\n>\n <div class=\"alert-items\">\n <ng-content></ng-content>\n </div>\n <button type=\"button\" class=\"close\" *ngIf=\"closable\" (click)=\"close()\" [attr.aria-label]=\"clrCloseButtonAriaLabel\">\n <cds-icon shape=\"window-close\"></cds-icon>\n </button>\n</div>\n", styles: [":host{display:block}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
19038
19085
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrAlert, decorators: [{
|
|
19039
19086
|
type: Component,
|
|
19040
19087
|
args: [{ selector: 'clr-alert', providers: [AlertIconAndTypesService], styles: [':host { display: block; }'], template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div\n *ngIf=\"!_closed\"\n class=\"alert\"\n [ngClass]=\"alertClass\"\n [class.alert-hidden]=\"hidden\"\n [class.alert-sm]=\"isSmall\"\n [class.alert-app-level]=\"isAppLevel\"\n>\n <div class=\"alert-items\">\n <ng-content></ng-content>\n </div>\n <button type=\"button\" class=\"close\" *ngIf=\"closable\" (click)=\"close()\" [attr.aria-label]=\"clrCloseButtonAriaLabel\">\n <cds-icon shape=\"window-close\"></cds-icon>\n </button>\n</div>\n" }]
|
|
@@ -19051,7 +19098,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
19051
19098
|
args: ['clrAlertAppLevel']
|
|
19052
19099
|
}], clrCloseButtonAriaLabel: [{
|
|
19053
19100
|
type: Input
|
|
19054
|
-
}],
|
|
19101
|
+
}], closed: [{
|
|
19055
19102
|
type: Input,
|
|
19056
19103
|
args: ['clrAlertClosed']
|
|
19057
19104
|
}], _closedChanged: [{
|
|
@@ -19066,7 +19113,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
19066
19113
|
}] } });
|
|
19067
19114
|
|
|
19068
19115
|
/*
|
|
19069
|
-
* Copyright (c) 2016-
|
|
19116
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
19070
19117
|
* This software is released under MIT license.
|
|
19071
19118
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
19072
19119
|
*/
|
|
@@ -19080,8 +19127,9 @@ ClrAlertItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
19080
19127
|
<div class="alert-icon-wrapper">
|
|
19081
19128
|
<cds-icon
|
|
19082
19129
|
class="alert-icon"
|
|
19130
|
+
role="img"
|
|
19083
19131
|
[attr.shape]="iconService.alertIconShape"
|
|
19084
|
-
[attr.
|
|
19132
|
+
[attr.aria-label]="iconService.alertIconTitle"
|
|
19085
19133
|
></cds-icon>
|
|
19086
19134
|
</div>
|
|
19087
19135
|
<ng-content></ng-content>
|
|
@@ -19094,8 +19142,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
19094
19142
|
<div class="alert-icon-wrapper">
|
|
19095
19143
|
<cds-icon
|
|
19096
19144
|
class="alert-icon"
|
|
19145
|
+
role="img"
|
|
19097
19146
|
[attr.shape]="iconService.alertIconShape"
|
|
19098
|
-
[attr.
|
|
19147
|
+
[attr.aria-label]="iconService.alertIconTitle"
|
|
19099
19148
|
></cds-icon>
|
|
19100
19149
|
</div>
|
|
19101
19150
|
<ng-content></ng-content>
|
|
@@ -19237,7 +19286,7 @@ class ClrAlerts {
|
|
|
19237
19286
|
}
|
|
19238
19287
|
}
|
|
19239
19288
|
ClrAlerts.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrAlerts, deps: [{ token: MultiAlertService }], target: i0.ɵɵFactoryTarget.Component });
|
|
19240
|
-
ClrAlerts.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrAlerts, selector: "clr-alerts", inputs: { _inputCurrentIndex: ["clrCurrentAlertIndex", "_inputCurrentIndex"], currentAlert: ["clrCurrentAlert", "currentAlert"] }, outputs: { currentAlertIndexChange: "clrCurrentAlertIndexChange", currentAlertChange: "clrCurrentAlertChange" }, host: { properties: { "class.alerts": "true", "class.alert-danger": "this.currentAlertType == 'danger'", "class.alert-info": "this.currentAlertType == 'info'", "class.alert-success": "this.currentAlertType == 'success'", "class.alert-warning": "this.currentAlertType == 'warning'" } }, providers: [MultiAlertService], queries: [{ propertyName: "allAlerts", predicate: ClrAlert }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<clr-alerts-pager *ngIf=\"multiAlertService.count > 1\" [clrCurrentAlertIndex]=\"currentAlertIndex\"> </clr-alerts-pager>\n<ng-content select=\"clr-alert\"></ng-content>\n", styles: [":host{display:block}\n"], components: [{ type: ClrAlertsPager, selector: "clr-alerts-pager", inputs: ["clrCurrentAlert", "clrCurrentAlertIndex"], outputs: ["clrCurrentAlertChange", "clrCurrentAlertIndexChange"] }], directives: [{ type:
|
|
19289
|
+
ClrAlerts.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrAlerts, selector: "clr-alerts", inputs: { _inputCurrentIndex: ["clrCurrentAlertIndex", "_inputCurrentIndex"], currentAlert: ["clrCurrentAlert", "currentAlert"] }, outputs: { currentAlertIndexChange: "clrCurrentAlertIndexChange", currentAlertChange: "clrCurrentAlertChange" }, host: { properties: { "class.alerts": "true", "class.alert-danger": "this.currentAlertType == 'danger'", "class.alert-info": "this.currentAlertType == 'info'", "class.alert-success": "this.currentAlertType == 'success'", "class.alert-warning": "this.currentAlertType == 'warning'" } }, providers: [MultiAlertService], queries: [{ propertyName: "allAlerts", predicate: ClrAlert }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<clr-alerts-pager *ngIf=\"multiAlertService.count > 1\" [clrCurrentAlertIndex]=\"currentAlertIndex\"> </clr-alerts-pager>\n<ng-content select=\"clr-alert\"></ng-content>\n", styles: [":host{display:block}\n"], components: [{ type: ClrAlertsPager, selector: "clr-alerts-pager", inputs: ["clrCurrentAlert", "clrCurrentAlertIndex"], outputs: ["clrCurrentAlertChange", "clrCurrentAlertIndexChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
19241
19290
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrAlerts, decorators: [{
|
|
19242
19291
|
type: Component,
|
|
19243
19292
|
args: [{ selector: 'clr-alerts', providers: [MultiAlertService], host: {
|
|
@@ -19532,7 +19581,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
19532
19581
|
}] }, { type: ResponsiveNavigationService }]; } });
|
|
19533
19582
|
|
|
19534
19583
|
/*
|
|
19535
|
-
* Copyright (c) 2016-
|
|
19584
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
19536
19585
|
* This software is released under MIT license.
|
|
19537
19586
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
19538
19587
|
*/
|
|
@@ -19550,6 +19599,24 @@ class ClrHeader {
|
|
|
19550
19599
|
},
|
|
19551
19600
|
});
|
|
19552
19601
|
}
|
|
19602
|
+
get responsiveNavCommonString() {
|
|
19603
|
+
const myCommonStrings = this.commonStrings.keys;
|
|
19604
|
+
if (this.openNavLevel !== this.responsiveNavCodes.NAV_LEVEL_1) {
|
|
19605
|
+
return myCommonStrings.responsiveNavToggleOpen;
|
|
19606
|
+
}
|
|
19607
|
+
else {
|
|
19608
|
+
return myCommonStrings.responsiveNavToggleClose;
|
|
19609
|
+
}
|
|
19610
|
+
}
|
|
19611
|
+
get responsiveOverflowCommonString() {
|
|
19612
|
+
const myCommonStrings = this.commonStrings.keys;
|
|
19613
|
+
if (this.openNavLevel !== this.responsiveNavCodes.NAV_LEVEL_2) {
|
|
19614
|
+
return myCommonStrings.responsiveNavOverflowOpen;
|
|
19615
|
+
}
|
|
19616
|
+
else {
|
|
19617
|
+
return myCommonStrings.responsiveNavOverflowClose;
|
|
19618
|
+
}
|
|
19619
|
+
}
|
|
19553
19620
|
// reset triggers. handles cases when an application has different nav levels on different pages.
|
|
19554
19621
|
resetNavTriggers() {
|
|
19555
19622
|
this.isNavLevel1OnPage = false;
|
|
@@ -19590,9 +19657,7 @@ ClrHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13
|
|
|
19590
19657
|
type="button"
|
|
19591
19658
|
*ngIf="isNavLevel1OnPage"
|
|
19592
19659
|
class="header-hamburger-trigger"
|
|
19593
|
-
[attr.aria-label]="
|
|
19594
|
-
openNavLevel !== responsiveNavCodes.NAV_LEVEL_1 ? commonStrings.keys.open : commonStrings.keys.close
|
|
19595
|
-
"
|
|
19660
|
+
[attr.aria-label]="responsiveNavCommonString"
|
|
19596
19661
|
(click)="toggleNav(responsiveNavCodes.NAV_LEVEL_1)"
|
|
19597
19662
|
>
|
|
19598
19663
|
<span></span>
|
|
@@ -19602,15 +19667,13 @@ ClrHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13
|
|
|
19602
19667
|
type="button"
|
|
19603
19668
|
*ngIf="isNavLevel2OnPage"
|
|
19604
19669
|
class="header-overflow-trigger"
|
|
19605
|
-
[attr.aria-label]="
|
|
19606
|
-
openNavLevel !== responsiveNavCodes.NAV_LEVEL_2 ? commonStrings.keys.open : commonStrings.keys.close
|
|
19607
|
-
"
|
|
19670
|
+
[attr.aria-label]="responsiveOverflowCommonString"
|
|
19608
19671
|
(click)="toggleNav(responsiveNavCodes.NAV_LEVEL_2)"
|
|
19609
19672
|
>
|
|
19610
19673
|
<span></span>
|
|
19611
19674
|
</button>
|
|
19612
19675
|
<div class="header-backdrop" (click)="closeOpenNav()"></div>
|
|
19613
|
-
`, isInline: true, directives: [{ type:
|
|
19676
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
19614
19677
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrHeader, decorators: [{
|
|
19615
19678
|
type: Component,
|
|
19616
19679
|
args: [{
|
|
@@ -19620,9 +19683,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
19620
19683
|
type="button"
|
|
19621
19684
|
*ngIf="isNavLevel1OnPage"
|
|
19622
19685
|
class="header-hamburger-trigger"
|
|
19623
|
-
[attr.aria-label]="
|
|
19624
|
-
openNavLevel !== responsiveNavCodes.NAV_LEVEL_1 ? commonStrings.keys.open : commonStrings.keys.close
|
|
19625
|
-
"
|
|
19686
|
+
[attr.aria-label]="responsiveNavCommonString"
|
|
19626
19687
|
(click)="toggleNav(responsiveNavCodes.NAV_LEVEL_1)"
|
|
19627
19688
|
>
|
|
19628
19689
|
<span></span>
|
|
@@ -19632,9 +19693,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
19632
19693
|
type="button"
|
|
19633
19694
|
*ngIf="isNavLevel2OnPage"
|
|
19634
19695
|
class="header-overflow-trigger"
|
|
19635
|
-
[attr.aria-label]="
|
|
19636
|
-
openNavLevel !== responsiveNavCodes.NAV_LEVEL_2 ? commonStrings.keys.open : commonStrings.keys.close
|
|
19637
|
-
"
|
|
19696
|
+
[attr.aria-label]="responsiveOverflowCommonString"
|
|
19638
19697
|
(click)="toggleNav(responsiveNavCodes.NAV_LEVEL_2)"
|
|
19639
19698
|
>
|
|
19640
19699
|
<span></span>
|
|
@@ -20371,7 +20430,7 @@ ClrTabs.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0
|
|
|
20371
20430
|
</ng-container>
|
|
20372
20431
|
</ul>
|
|
20373
20432
|
<ng-container #tabContentViewContainer></ng-container>
|
|
20374
|
-
`, isInline: true, components: [{ type: ClrKeyFocus, selector: "[clrKeyFocus]", inputs: ["clrDirection", "clrFocusOnLoad", "clrKeyFocus"], outputs: ["clrFocusChange"] }, { type: ClrTabOverflowContent, selector: "clr-tab-overflow-content" }], directives: [{ type:
|
|
20433
|
+
`, isInline: true, components: [{ type: ClrKeyFocus, selector: "[clrKeyFocus]", inputs: ["clrDirection", "clrFocusOnLoad", "clrKeyFocus"], outputs: ["clrFocusChange"] }, { type: ClrTabOverflowContent, selector: "clr-tab-overflow-content" }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
20375
20434
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrTabs, decorators: [{
|
|
20376
20435
|
type: Component,
|
|
20377
20436
|
args: [{
|
|
@@ -20651,7 +20710,7 @@ class ClrVerticalNav {
|
|
|
20651
20710
|
}
|
|
20652
20711
|
}
|
|
20653
20712
|
ClrVerticalNav.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrVerticalNav, deps: [{ token: VerticalNavService }, { token: VerticalNavIconService }, { token: VerticalNavGroupRegistrationService }, { token: ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
20654
|
-
ClrVerticalNav.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrVerticalNav, selector: "clr-vertical-nav", inputs: { collapsible: ["clrVerticalNavCollapsible", "collapsible"], collapsed: ["clrVerticalNavCollapsed", "collapsed"] }, outputs: { _collapsedChanged: "clrVerticalNavCollapsedChange" }, host: { properties: { "class.is-collapsed": "collapsed", "class.has-nav-groups": "hasNavGroups", "class.has-icons": "hasIcons" }, classAttribute: "clr-vertical-nav" }, providers: [VerticalNavService, VerticalNavIconService, VerticalNavGroupRegistrationService], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<button\n type=\"button\"\n class=\"nav-trigger\"\n [class.on-collapse]=\"collapsed\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-label]=\"commonStrings.keys.verticalNavToggle\"\n (click)=\"toggleByButton()\"\n *ngIf=\"collapsible\"\n>\n <cds-icon\n shape=\"angle-double\"\n class=\"nav-trigger-icon\"\n [attr.direction]=\"(this.collapsed) ? 'right' : 'left'\"\n [attr.title]=\"(this.collapsed) ? commonStrings.keys.expand : commonStrings.keys.collapse\"\n ></cds-icon>\n</button>\n<!-- Click handler on .nav-content is bad but required :-( -->\n<div class=\"nav-content\">\n <ng-content></ng-content>\n <button\n (click)=\"collapsed = false\"\n class=\"nav-btn\"\n aria-hidden=\"true\"\n tabindex=\"-1\"\n [attr.aria-label]=\"commonStrings.keys.verticalNavToggle\"\n *ngIf=\"collapsible && collapsed\"\n ></button>\n</div>\n", directives: [{ type:
|
|
20713
|
+
ClrVerticalNav.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrVerticalNav, selector: "clr-vertical-nav", inputs: { collapsible: ["clrVerticalNavCollapsible", "collapsible"], collapsed: ["clrVerticalNavCollapsed", "collapsed"] }, outputs: { _collapsedChanged: "clrVerticalNavCollapsedChange" }, host: { properties: { "class.is-collapsed": "collapsed", "class.has-nav-groups": "hasNavGroups", "class.has-icons": "hasIcons" }, classAttribute: "clr-vertical-nav" }, providers: [VerticalNavService, VerticalNavIconService, VerticalNavGroupRegistrationService], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<button\n type=\"button\"\n class=\"nav-trigger\"\n [class.on-collapse]=\"collapsed\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-label]=\"commonStrings.keys.verticalNavToggle\"\n (click)=\"toggleByButton()\"\n *ngIf=\"collapsible\"\n>\n <cds-icon\n shape=\"angle-double\"\n class=\"nav-trigger-icon\"\n [attr.direction]=\"(this.collapsed) ? 'right' : 'left'\"\n [attr.title]=\"(this.collapsed) ? commonStrings.keys.expand : commonStrings.keys.collapse\"\n ></cds-icon>\n</button>\n<!-- Click handler on .nav-content is bad but required :-( -->\n<div class=\"nav-content\">\n <ng-content></ng-content>\n <button\n (click)=\"collapsed = false\"\n class=\"nav-btn\"\n aria-hidden=\"true\"\n tabindex=\"-1\"\n [attr.aria-label]=\"commonStrings.keys.verticalNavToggle\"\n *ngIf=\"collapsible && collapsed\"\n ></button>\n</div>\n", directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
20655
20714
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrVerticalNav, decorators: [{
|
|
20656
20715
|
type: Component,
|
|
20657
20716
|
args: [{ selector: 'clr-vertical-nav', providers: [VerticalNavService, VerticalNavIconService, VerticalNavGroupRegistrationService], host: {
|
|
@@ -20694,7 +20753,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
20694
20753
|
}] });
|
|
20695
20754
|
|
|
20696
20755
|
/*
|
|
20697
|
-
* Copyright (c) 2016-
|
|
20756
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
20698
20757
|
* This software is released under MIT license.
|
|
20699
20758
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
20700
20759
|
*/
|
|
@@ -20708,6 +20767,7 @@ class ClrVerticalNavGroup {
|
|
|
20708
20767
|
this._navService = _navService;
|
|
20709
20768
|
this.commonStrings = commonStrings;
|
|
20710
20769
|
this.wasExpanded = false;
|
|
20770
|
+
this.groupLabel = this.commonStrings.keys.verticalNavGroupToggle;
|
|
20711
20771
|
this.expandedChange = new EventEmitter(true);
|
|
20712
20772
|
this._subscriptions = [];
|
|
20713
20773
|
this._expandAnimationState = COLLAPSED_STATE;
|
|
@@ -20817,7 +20877,7 @@ class ClrVerticalNavGroup {
|
|
|
20817
20877
|
}
|
|
20818
20878
|
}
|
|
20819
20879
|
ClrVerticalNavGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrVerticalNavGroup, deps: [{ token: IfExpandService }, { token: VerticalNavGroupRegistrationService }, { token: VerticalNavGroupService }, { token: VerticalNavService }, { token: ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
20820
|
-
ClrVerticalNavGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrVerticalNavGroup, selector: "clr-vertical-nav-group", inputs: { userExpandedInput: ["clrVerticalNavGroupExpanded", "userExpandedInput"] }, outputs: { expandedChange: "clrVerticalNavGroupExpandedChange" }, host: { properties: { "class.is-expanded": "this.expanded" }, classAttribute: "nav-group" }, providers: [IfExpandService, VerticalNavGroupService], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-
|
|
20880
|
+
ClrVerticalNavGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrVerticalNavGroup, selector: "clr-vertical-nav-group", inputs: { groupLabel: ["clrVerticalNavGroupLabel", "groupLabel"], userExpandedInput: ["clrVerticalNavGroupExpanded", "userExpandedInput"] }, outputs: { expandedChange: "clrVerticalNavGroupExpandedChange" }, host: { properties: { "class.is-expanded": "this.expanded" }, classAttribute: "nav-group" }, providers: [IfExpandService, VerticalNavGroupService], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div class=\"nav-group-content\">\n <ng-content select=\"[clrVerticalNavLink]\"></ng-content>\n <button\n class=\"nav-group-trigger\"\n type=\"button\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-label]=\"groupLabel\"\n (click)=\"toggleExpand()\"\n >\n <ng-content select=\"[clrVerticalNavIcon]\"></ng-content>\n <div class=\"nav-group-text\">\n <ng-content></ng-content>\n </div>\n <cds-icon\n shape=\"angle\"\n class=\"nav-group-trigger-icon\"\n [attr.direction]=\"(this.expanded) ? 'down' : 'right'\"\n [attr.title]=\"(this.expanded) ? commonStrings.keys.collapse : commonStrings.keys.expand\"\n >\n </cds-icon>\n </button>\n</div>\n<!--TODO: This animation needs to be added to the clr-vertical-nav-group-children component-->\n<div class=\"nav-group-children\" [@clrExpand]=\"expandAnimationState\" (@clrExpand.done)=\"expandAnimationDone($event)\">\n <ng-content select=\"[clrIfExpanded], clr-vertical-nav-group-children\"></ng-content>\n</div>\n", directives: [{ type: CdsIconCustomTag, selector: "cds-icon" }], animations: [
|
|
20821
20881
|
trigger('clrExpand', [
|
|
20822
20882
|
state(EXPANDED_STATE, style({ height: '*' })),
|
|
20823
20883
|
state(COLLAPSED_STATE, style({ height: 0, 'overflow-y': 'hidden', visibility: 'hidden' })),
|
|
@@ -20832,10 +20892,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
20832
20892
|
state(COLLAPSED_STATE, style({ height: 0, 'overflow-y': 'hidden', visibility: 'hidden' })),
|
|
20833
20893
|
transition(`${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`, animate('0.2s ease-in-out')),
|
|
20834
20894
|
]),
|
|
20835
|
-
], host: { class: 'nav-group' }, template: "<!--\n ~ Copyright (c) 2016-
|
|
20895
|
+
], host: { class: 'nav-group' }, template: "<!--\n ~ Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div class=\"nav-group-content\">\n <ng-content select=\"[clrVerticalNavLink]\"></ng-content>\n <button\n class=\"nav-group-trigger\"\n type=\"button\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-label]=\"groupLabel\"\n (click)=\"toggleExpand()\"\n >\n <ng-content select=\"[clrVerticalNavIcon]\"></ng-content>\n <div class=\"nav-group-text\">\n <ng-content></ng-content>\n </div>\n <cds-icon\n shape=\"angle\"\n class=\"nav-group-trigger-icon\"\n [attr.direction]=\"(this.expanded) ? 'down' : 'right'\"\n [attr.title]=\"(this.expanded) ? commonStrings.keys.collapse : commonStrings.keys.expand\"\n >\n </cds-icon>\n </button>\n</div>\n<!--TODO: This animation needs to be added to the clr-vertical-nav-group-children component-->\n<div class=\"nav-group-children\" [@clrExpand]=\"expandAnimationState\" (@clrExpand.done)=\"expandAnimationDone($event)\">\n <ng-content select=\"[clrIfExpanded], clr-vertical-nav-group-children\"></ng-content>\n</div>\n" }]
|
|
20836
20896
|
}], ctorParameters: function () { return [{ type: IfExpandService }, { type: VerticalNavGroupRegistrationService }, { type: VerticalNavGroupService }, { type: VerticalNavService }, { type: ClrCommonStringsService }]; }, propDecorators: { expanded: [{
|
|
20837
20897
|
type: HostBinding,
|
|
20838
20898
|
args: ['class.is-expanded']
|
|
20899
|
+
}], groupLabel: [{
|
|
20900
|
+
type: Input,
|
|
20901
|
+
args: ['clrVerticalNavGroupLabel']
|
|
20839
20902
|
}], userExpandedInput: [{
|
|
20840
20903
|
type: Input,
|
|
20841
20904
|
args: ['clrVerticalNavGroupExpanded']
|
|
@@ -21063,7 +21126,7 @@ class ClrModal {
|
|
|
21063
21126
|
}
|
|
21064
21127
|
}
|
|
21065
21128
|
ClrModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrModal, deps: [{ token: ScrollingService }, { token: ClrCommonStringsService }, { token: UNIQUE_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
21066
|
-
ClrModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrModal, selector: "clr-modal", inputs: { _open: ["clrModalOpen", "_open"], closable: ["clrModalClosable", "closable"], size: ["clrModalSize", "size"], staticBackdrop: ["clrModalStaticBackdrop", "staticBackdrop"], skipAnimation: ["clrModalSkipAnimation", "skipAnimation"], bypassScrollService: ["clrModalOverrideScrollService", "bypassScrollService"], stopClose: ["clrModalPreventClose", "stopClose"] }, outputs: { _openChanged: "clrModalOpenChange", altClose: "clrModalAlternateClose" }, host: { listeners: { "body:keyup.escape": "close()" }, properties: { "class.open": "this._open" } }, providers: [UNIQUE_ID_PROVIDER], viewQueries: [{ propertyName: "focusTrap", first: true, predicate: FocusTrapDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-
|
|
21129
|
+
ClrModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrModal, selector: "clr-modal", inputs: { _open: ["clrModalOpen", "_open"], closable: ["clrModalClosable", "closable"], size: ["clrModalSize", "size"], staticBackdrop: ["clrModalStaticBackdrop", "staticBackdrop"], skipAnimation: ["clrModalSkipAnimation", "skipAnimation"], bypassScrollService: ["clrModalOverrideScrollService", "bypassScrollService"], stopClose: ["clrModalPreventClose", "stopClose"] }, outputs: { _openChanged: "clrModalOpenChange", altClose: "clrModalAlternateClose" }, host: { listeners: { "body:keyup.escape": "close()" }, properties: { "class.open": "this._open" } }, providers: [UNIQUE_ID_PROVIDER], viewQueries: [{ propertyName: "focusTrap", first: true, predicate: FocusTrapDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div clrFocusTrap class=\"modal\" *ngIf=\"_open\">\n <!--fixme: revisit when ngClass works with exit animation-->\n <div\n [@fadeDown]=\"skipAnimation\"\n (@fadeDown.done)=\"fadeDone($event)\"\n class=\"modal-dialog\"\n [class.modal-sm]=\"size == 'sm'\"\n [class.modal-lg]=\"size == 'lg'\"\n [class.modal-xl]=\"size == 'xl'\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-hidden]=\"!_open\"\n [attr.aria-labelledby]=\"modalId\"\n >\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentStart}}</div>\n <div class=\"modal-content-wrapper\">\n <!-- only used in wizards -->\n <ng-content select=\".modal-nav\"></ng-content>\n\n <div class=\"modal-content\">\n <div class=\"modal-header--accessible\">\n <div class=\"modal-title-wrapper\" id=\"{{modalId}}\" clrFocusOnViewInit>\n <ng-content select=\".modal-title\"></ng-content>\n </div>\n <button\n type=\"button\"\n [attr.aria-label]=\"commonStrings.keys.close\"\n class=\"close\"\n *ngIf=\"closable\"\n (click)=\"close()\"\n >\n <cds-icon shape=\"window-close\"></cds-icon>\n </button>\n </div>\n <div class=\"modal-body-wrapper\">\n <ng-content select=\".modal-body\"></ng-content>\n </div>\n <ng-content select=\".modal-footer\"></ng-content>\n </div>\n </div>\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentEnd}}</div>\n </div>\n\n <div [@fade] class=\"modal-backdrop\" aria-hidden=\"true\" (click)=\"staticBackdrop || close()\"></div>\n</div>\n", styles: [":host{display:none}:host.open{display:inline}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FocusTrapDirective, selector: "[clrFocusTrap]", inputs: ["clrFocusTrap"] }, { type: ClrFocusOnViewInit, selector: "[clrFocusOnViewInit]", inputs: ["clrFocusOnViewInit"] }, { type: CdsIconCustomTag, selector: "cds-icon" }], viewProviders: [ScrollingService], animations: [
|
|
21067
21130
|
trigger('fadeDown', [
|
|
21068
21131
|
transition('* => false', [style({ opacity: 0, transform: 'translate(0, -25%)' }), animate('0.2s ease-in-out')]),
|
|
21069
21132
|
transition('false => *', [animate('0.2s ease-in-out', style({ opacity: 0, transform: 'translate(0, -25%)' }))]),
|
|
@@ -21093,7 +21156,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
21093
21156
|
transition('void => *', [style({ opacity: 0 }), animate('0.2s ease-in-out', style({ opacity: 0.85 }))]),
|
|
21094
21157
|
transition('* => void', [animate('0.2s ease-in-out', style({ opacity: 0 }))]),
|
|
21095
21158
|
]),
|
|
21096
|
-
], providers: [UNIQUE_ID_PROVIDER], template: "<!--\n ~ Copyright (c) 2016-
|
|
21159
|
+
], providers: [UNIQUE_ID_PROVIDER], template: "<!--\n ~ Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div clrFocusTrap class=\"modal\" *ngIf=\"_open\">\n <!--fixme: revisit when ngClass works with exit animation-->\n <div\n [@fadeDown]=\"skipAnimation\"\n (@fadeDown.done)=\"fadeDone($event)\"\n class=\"modal-dialog\"\n [class.modal-sm]=\"size == 'sm'\"\n [class.modal-lg]=\"size == 'lg'\"\n [class.modal-xl]=\"size == 'xl'\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-hidden]=\"!_open\"\n [attr.aria-labelledby]=\"modalId\"\n >\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentStart}}</div>\n <div class=\"modal-content-wrapper\">\n <!-- only used in wizards -->\n <ng-content select=\".modal-nav\"></ng-content>\n\n <div class=\"modal-content\">\n <div class=\"modal-header--accessible\">\n <div class=\"modal-title-wrapper\" id=\"{{modalId}}\" clrFocusOnViewInit>\n <ng-content select=\".modal-title\"></ng-content>\n </div>\n <button\n type=\"button\"\n [attr.aria-label]=\"commonStrings.keys.close\"\n class=\"close\"\n *ngIf=\"closable\"\n (click)=\"close()\"\n >\n <cds-icon shape=\"window-close\"></cds-icon>\n </button>\n </div>\n <div class=\"modal-body-wrapper\">\n <ng-content select=\".modal-body\"></ng-content>\n </div>\n <ng-content select=\".modal-footer\"></ng-content>\n </div>\n </div>\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentEnd}}</div>\n </div>\n\n <div [@fade] class=\"modal-backdrop\" aria-hidden=\"true\" (click)=\"staticBackdrop || close()\"></div>\n</div>\n" }]
|
|
21097
21160
|
}], ctorParameters: function () { return [{ type: ScrollingService }, { type: ClrCommonStringsService }, { type: undefined, decorators: [{
|
|
21098
21161
|
type: Inject,
|
|
21099
21162
|
args: [UNIQUE_ID]
|
|
@@ -21136,7 +21199,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
21136
21199
|
}] } });
|
|
21137
21200
|
|
|
21138
21201
|
/*
|
|
21139
|
-
* Copyright (c) 2016-
|
|
21202
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
21140
21203
|
* This software is released under MIT license.
|
|
21141
21204
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
21142
21205
|
*/
|
|
@@ -21147,18 +21210,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
21147
21210
|
* the overflow scroll being focused.
|
|
21148
21211
|
*/
|
|
21149
21212
|
class ClrModalBody {
|
|
21150
|
-
constructor(
|
|
21213
|
+
constructor(renderer, host, ngZone) {
|
|
21214
|
+
this.renderer = renderer;
|
|
21215
|
+
this.host = host;
|
|
21151
21216
|
this.tabindex = '0';
|
|
21152
21217
|
this.unlisteners = [];
|
|
21153
|
-
renderer.setAttribute(host.nativeElement, 'tabindex', this.tabindex);
|
|
21154
21218
|
ngZone.runOutsideAngular(() => {
|
|
21155
|
-
this.
|
|
21219
|
+
new ResizeObserver(() => this.addOrRemoveTabIndex()).observe(this.host.nativeElement);
|
|
21220
|
+
this.unlisteners.push(this.renderer.listen(this.host.nativeElement, 'mouseup', () => {
|
|
21156
21221
|
// set the tabindex binding back when click is completed with mouseup
|
|
21157
|
-
|
|
21158
|
-
}), renderer.listen(host.nativeElement, 'mousedown', () => {
|
|
21222
|
+
this.addOrRemoveTabIndex();
|
|
21223
|
+
}), this.renderer.listen(this.host.nativeElement, 'mousedown', () => {
|
|
21159
21224
|
// tabindex = 0 binding should be removed
|
|
21160
21225
|
// so it won't be focused when click starts with mousedown
|
|
21161
|
-
|
|
21226
|
+
this.removeTabIndex();
|
|
21162
21227
|
}));
|
|
21163
21228
|
});
|
|
21164
21229
|
}
|
|
@@ -21167,13 +21232,28 @@ class ClrModalBody {
|
|
|
21167
21232
|
this.unlisteners.pop()();
|
|
21168
21233
|
}
|
|
21169
21234
|
}
|
|
21235
|
+
addTabIndex() {
|
|
21236
|
+
this.renderer.setAttribute(this.host.nativeElement, 'tabindex', this.tabindex);
|
|
21237
|
+
}
|
|
21238
|
+
removeTabIndex() {
|
|
21239
|
+
this.renderer.removeAttribute(this.host.nativeElement, 'tabindex');
|
|
21240
|
+
}
|
|
21241
|
+
addOrRemoveTabIndex() {
|
|
21242
|
+
const modalBody = this.host.nativeElement.parentElement;
|
|
21243
|
+
if (modalBody.clientHeight < modalBody.scrollHeight) {
|
|
21244
|
+
this.addTabIndex();
|
|
21245
|
+
}
|
|
21246
|
+
else {
|
|
21247
|
+
this.removeTabIndex();
|
|
21248
|
+
}
|
|
21249
|
+
}
|
|
21170
21250
|
}
|
|
21171
|
-
ClrModalBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrModalBody, deps: [{ token: i0.
|
|
21251
|
+
ClrModalBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrModalBody, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
21172
21252
|
ClrModalBody.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0", type: ClrModalBody, selector: ".modal-body", ngImport: i0 });
|
|
21173
21253
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrModalBody, decorators: [{
|
|
21174
21254
|
type: Directive,
|
|
21175
21255
|
args: [{ selector: '.modal-body' }]
|
|
21176
|
-
}], ctorParameters: function () { return [{ type: i0.
|
|
21256
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
21177
21257
|
|
|
21178
21258
|
/*
|
|
21179
21259
|
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
@@ -22094,7 +22174,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
22094
22174
|
}] });
|
|
22095
22175
|
|
|
22096
22176
|
/*
|
|
22097
|
-
* Copyright (c) 2016-
|
|
22177
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
22098
22178
|
* This software is released under MIT license.
|
|
22099
22179
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
22100
22180
|
*/
|
|
@@ -22839,7 +22919,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
22839
22919
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
22840
22920
|
|
|
22841
22921
|
/*
|
|
22842
|
-
* Copyright (c) 2016-
|
|
22922
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
22843
22923
|
* This software is released under MIT license.
|
|
22844
22924
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
22845
22925
|
*/
|
|
@@ -23515,129 +23595,473 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
23515
23595
|
* This software is released under MIT license.
|
|
23516
23596
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23517
23597
|
*/
|
|
23518
|
-
|
|
23519
|
-
|
|
23520
|
-
|
|
23521
|
-
|
|
23598
|
+
const defaultAnimationTiming = '0.2s ease-in-out';
|
|
23599
|
+
|
|
23600
|
+
/*
|
|
23601
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23602
|
+
* This software is released under MIT license.
|
|
23603
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23604
|
+
*/
|
|
23605
|
+
function collapse() {
|
|
23606
|
+
'use strict';
|
|
23607
|
+
return [
|
|
23608
|
+
state('true', style({ height: 0, 'overflow-y': 'hidden' })),
|
|
23609
|
+
transition('true => false', [animate(defaultAnimationTiming, style({ height: '*', 'overflow-y': 'hidden' }))]),
|
|
23610
|
+
transition('false => true', [style({ height: '*', 'overflow-y': 'hidden' }), animate(defaultAnimationTiming)]),
|
|
23611
|
+
];
|
|
23612
|
+
}
|
|
23613
|
+
|
|
23614
|
+
/*
|
|
23615
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23616
|
+
* This software is released under MIT license.
|
|
23617
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23618
|
+
*/
|
|
23619
|
+
|
|
23620
|
+
/*
|
|
23621
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23622
|
+
* This software is released under MIT license.
|
|
23623
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23624
|
+
*/
|
|
23625
|
+
function fade(opacity = 1) {
|
|
23626
|
+
return [
|
|
23627
|
+
transition('void => *', [style({ opacity: 0 }), animate(defaultAnimationTiming, style({ opacity: opacity }))]),
|
|
23628
|
+
transition('* => void', [animate(defaultAnimationTiming, style({ opacity: 0 }))]),
|
|
23629
|
+
];
|
|
23630
|
+
}
|
|
23631
|
+
|
|
23632
|
+
/*
|
|
23633
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23634
|
+
* This software is released under MIT license.
|
|
23635
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23636
|
+
*/
|
|
23637
|
+
|
|
23638
|
+
/*
|
|
23639
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23640
|
+
* This software is released under MIT license.
|
|
23641
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23642
|
+
*/
|
|
23643
|
+
function fadeSlide(direction) {
|
|
23644
|
+
let transform = null;
|
|
23645
|
+
if (direction === 'up') {
|
|
23646
|
+
transform = 'translate(0, 25%)';
|
|
23522
23647
|
}
|
|
23523
|
-
|
|
23524
|
-
|
|
23525
|
-
throw new Error('Wizard stepnav item is not associated with a wizard page.');
|
|
23526
|
-
}
|
|
23648
|
+
else if (direction === 'down') {
|
|
23649
|
+
transform = 'translate(0, -25%)';
|
|
23527
23650
|
}
|
|
23528
|
-
|
|
23529
|
-
|
|
23530
|
-
return this.pageCollection.getStepItemIdForPage(this.page);
|
|
23651
|
+
else if (direction === 'left') {
|
|
23652
|
+
transform = 'translate(25%, 0)';
|
|
23531
23653
|
}
|
|
23532
|
-
|
|
23533
|
-
|
|
23654
|
+
else if (direction === 'right') {
|
|
23655
|
+
transform = 'translate(-25%, 0)';
|
|
23534
23656
|
}
|
|
23535
|
-
|
|
23536
|
-
|
|
23537
|
-
return this.page.disabled || this.navService.wizardStopNavigation || this.navService.wizardDisableStepnav;
|
|
23657
|
+
else {
|
|
23658
|
+
throw new Error('Unknown direction ' + direction + ' for slide animation.');
|
|
23538
23659
|
}
|
|
23539
|
-
|
|
23540
|
-
|
|
23541
|
-
|
|
23660
|
+
return [
|
|
23661
|
+
transition('void => *', [style({ opacity: 0, transform: transform }), animate(defaultAnimationTiming)]),
|
|
23662
|
+
transition('* => void', [animate(defaultAnimationTiming, style({ opacity: 0, transform: transform }))]),
|
|
23663
|
+
];
|
|
23664
|
+
}
|
|
23665
|
+
|
|
23666
|
+
/*
|
|
23667
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23668
|
+
* This software is released under MIT license.
|
|
23669
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23670
|
+
*/
|
|
23671
|
+
|
|
23672
|
+
/*
|
|
23673
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23674
|
+
* This software is released under MIT license.
|
|
23675
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23676
|
+
*/
|
|
23677
|
+
function slide(direction) {
|
|
23678
|
+
let transform = null;
|
|
23679
|
+
if (direction === 'up') {
|
|
23680
|
+
transform = 'translate(0, 25%)';
|
|
23542
23681
|
}
|
|
23543
|
-
|
|
23544
|
-
|
|
23545
|
-
return this.page.completed;
|
|
23682
|
+
else if (direction === 'down') {
|
|
23683
|
+
transform = 'translate(0, -25%)';
|
|
23546
23684
|
}
|
|
23547
|
-
|
|
23548
|
-
|
|
23549
|
-
return this.page.hasError && this.isComplete;
|
|
23685
|
+
else if (direction === 'left') {
|
|
23686
|
+
transform = 'translate(25%, 0)';
|
|
23550
23687
|
}
|
|
23551
|
-
|
|
23552
|
-
|
|
23553
|
-
return this.pageCollection.previousPageIsCompleted(this.page);
|
|
23688
|
+
else if (direction === 'right') {
|
|
23689
|
+
transform = 'translate(-25%, 0)';
|
|
23554
23690
|
}
|
|
23555
|
-
|
|
23556
|
-
|
|
23557
|
-
// if we click on our own stepnav or a disabled stepnav, we don't want to do anything
|
|
23558
|
-
if (this.isDisabled || this.isCurrent) {
|
|
23559
|
-
return;
|
|
23560
|
-
}
|
|
23561
|
-
this.navService.goTo(this.page);
|
|
23691
|
+
else {
|
|
23692
|
+
throw new Error('Unknown direction ' + direction + ' for slide animation.');
|
|
23562
23693
|
}
|
|
23694
|
+
return [
|
|
23695
|
+
transition('void => *', [style({ transform: transform }), animate(defaultAnimationTiming)]),
|
|
23696
|
+
transition('* => void', [animate(defaultAnimationTiming, style({ transform: transform }))]),
|
|
23697
|
+
];
|
|
23563
23698
|
}
|
|
23564
|
-
ClrWizardStepnavItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrWizardStepnavItem, deps: [{ token: WizardNavigationService }, { token: PageCollectionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
23565
|
-
ClrWizardStepnavItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrWizardStepnavItem, selector: "[clr-wizard-stepnav-item]", inputs: { page: "page" }, host: { properties: { "id": "id", "attr.aria-current": "stepAriaCurrent", "attr.aria-controls": "id", "class.clr-nav-link": "true", "class.nav-item": "true", "class.active": "isCurrent", "class.disabled": "isDisabled", "class.no-click": "!canNavigate", "class.complete": "isComplete", "class.error": "hasError" } }, ngImport: i0, template: `
|
|
23566
|
-
<button
|
|
23567
|
-
type="button"
|
|
23568
|
-
class="btn btn-link clr-wizard-stepnav-link"
|
|
23569
|
-
(click)="click()"
|
|
23570
|
-
[attr.disabled]="isDisabled ? '' : null"
|
|
23571
|
-
>
|
|
23572
|
-
<span class="clr-wizard-stepnav-link-suffix">
|
|
23573
|
-
<cds-icon
|
|
23574
|
-
shape="error-standard"
|
|
23575
|
-
status="danger"
|
|
23576
|
-
class="clr-wizard-stepnav-item-error-icon"
|
|
23577
|
-
*ngIf="hasError"
|
|
23578
|
-
></cds-icon>
|
|
23579
|
-
<ng-content *ngIf="!hasError"></ng-content>
|
|
23580
|
-
</span>
|
|
23581
|
-
<span class="clr-wizard-stepnav-link-title">
|
|
23582
|
-
<ng-template [ngTemplateOutlet]="page.navTitle"></ng-template>
|
|
23583
|
-
</span>
|
|
23584
|
-
</button>
|
|
23585
|
-
`, isInline: true, directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: CdsIconCustomTag, selector: "cds-icon" }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
23586
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrWizardStepnavItem, decorators: [{
|
|
23587
|
-
type: Component,
|
|
23588
|
-
args: [{
|
|
23589
|
-
selector: '[clr-wizard-stepnav-item]',
|
|
23590
|
-
template: `
|
|
23591
|
-
<button
|
|
23592
|
-
type="button"
|
|
23593
|
-
class="btn btn-link clr-wizard-stepnav-link"
|
|
23594
|
-
(click)="click()"
|
|
23595
|
-
[attr.disabled]="isDisabled ? '' : null"
|
|
23596
|
-
>
|
|
23597
|
-
<span class="clr-wizard-stepnav-link-suffix">
|
|
23598
|
-
<cds-icon
|
|
23599
|
-
shape="error-standard"
|
|
23600
|
-
status="danger"
|
|
23601
|
-
class="clr-wizard-stepnav-item-error-icon"
|
|
23602
|
-
*ngIf="hasError"
|
|
23603
|
-
></cds-icon>
|
|
23604
|
-
<ng-content *ngIf="!hasError"></ng-content>
|
|
23605
|
-
</span>
|
|
23606
|
-
<span class="clr-wizard-stepnav-link-title">
|
|
23607
|
-
<ng-template [ngTemplateOutlet]="page.navTitle"></ng-template>
|
|
23608
|
-
</span>
|
|
23609
|
-
</button>
|
|
23610
|
-
`,
|
|
23611
|
-
host: {
|
|
23612
|
-
'[id]': 'id',
|
|
23613
|
-
'[attr.aria-current]': 'stepAriaCurrent',
|
|
23614
|
-
'[attr.aria-controls]': 'id',
|
|
23615
|
-
'[class.clr-nav-link]': 'true',
|
|
23616
|
-
'[class.nav-item]': 'true',
|
|
23617
|
-
'[class.active]': 'isCurrent',
|
|
23618
|
-
'[class.disabled]': 'isDisabled',
|
|
23619
|
-
'[class.no-click]': '!canNavigate',
|
|
23620
|
-
'[class.complete]': 'isComplete',
|
|
23621
|
-
'[class.error]': 'hasError',
|
|
23622
|
-
},
|
|
23623
|
-
}]
|
|
23624
|
-
}], ctorParameters: function () { return [{ type: WizardNavigationService }, { type: PageCollectionService }]; }, propDecorators: { page: [{
|
|
23625
|
-
type: Input,
|
|
23626
|
-
args: ['page']
|
|
23627
|
-
}] } });
|
|
23628
23699
|
|
|
23629
23700
|
/*
|
|
23630
23701
|
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23631
23702
|
* This software is released under MIT license.
|
|
23632
23703
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23633
23704
|
*/
|
|
23634
|
-
|
|
23635
|
-
|
|
23636
|
-
|
|
23637
|
-
|
|
23638
|
-
|
|
23639
|
-
|
|
23640
|
-
|
|
23705
|
+
|
|
23706
|
+
/*
|
|
23707
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23708
|
+
* This software is released under MIT license.
|
|
23709
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23710
|
+
*/
|
|
23711
|
+
|
|
23712
|
+
/*
|
|
23713
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23714
|
+
* This software is released under MIT license.
|
|
23715
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23716
|
+
*/
|
|
23717
|
+
|
|
23718
|
+
/*
|
|
23719
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23720
|
+
* This software is released under MIT license.
|
|
23721
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23722
|
+
*/
|
|
23723
|
+
|
|
23724
|
+
/*
|
|
23725
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23726
|
+
* This software is released under MIT license.
|
|
23727
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23728
|
+
*/
|
|
23729
|
+
|
|
23730
|
+
/*
|
|
23731
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23732
|
+
* This software is released under MIT license.
|
|
23733
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23734
|
+
*/
|
|
23735
|
+
var ClrAriaLivePoliteness;
|
|
23736
|
+
(function (ClrAriaLivePoliteness) {
|
|
23737
|
+
ClrAriaLivePoliteness["off"] = "off";
|
|
23738
|
+
ClrAriaLivePoliteness["polite"] = "polite";
|
|
23739
|
+
ClrAriaLivePoliteness["assertive"] = "assertive";
|
|
23740
|
+
})(ClrAriaLivePoliteness || (ClrAriaLivePoliteness = {}));
|
|
23741
|
+
/**
|
|
23742
|
+
* Time in milliseconds before inserting the content into the container
|
|
23743
|
+
*/
|
|
23744
|
+
const ARIA_LIVE_TICK = 100;
|
|
23745
|
+
/**
|
|
23746
|
+
* @deprecated
|
|
23747
|
+
*
|
|
23748
|
+
* -- ClrAriaLiveService is deprecated in 5.0 to be removed in 6.0 --
|
|
23749
|
+
* Please consider using the LiveAnnouncer in the Angular Material CDK
|
|
23750
|
+
* if your project needs this functionality.
|
|
23751
|
+
* More info: https://material.angular.io/cdk/a11y/overview#example-1
|
|
23752
|
+
*
|
|
23753
|
+
* This service handle `aria-live` accessibility attribute. The issue is that you need
|
|
23754
|
+
* to have the DOM Element with attribute `aria-live` before you could insert content
|
|
23755
|
+
* and SR (Screen Reader) pick the change and announce it.
|
|
23756
|
+
*
|
|
23757
|
+
* ```typescript
|
|
23758
|
+
* import { ClrAriaLiveService } from 'src/clr-angular/utils/a11y/aria-live.service';
|
|
23759
|
+
*
|
|
23760
|
+
* @Component({
|
|
23761
|
+
* selector: 'clr-demo-component',
|
|
23762
|
+
* providers: [ClrAriaLiveService],
|
|
23763
|
+
* template: `
|
|
23764
|
+
* <ng-content></ng-content>
|
|
23765
|
+
* `,
|
|
23766
|
+
* })
|
|
23767
|
+
* export class DemoComponent {
|
|
23768
|
+
* constructor(ariaLiveService: ClrAriaLiveService) {}
|
|
23769
|
+
*
|
|
23770
|
+
* public actionThatWillTriggerChange() {
|
|
23771
|
+
* this.ariaLiveService.announce('message that I want to announce to SR');
|
|
23772
|
+
* }
|
|
23773
|
+
* }
|
|
23774
|
+
* ```
|
|
23775
|
+
*
|
|
23776
|
+
*/
|
|
23777
|
+
class ClrAriaLiveService {
|
|
23778
|
+
constructor(ngZone, _document, platformId) {
|
|
23779
|
+
this.ngZone = ngZone;
|
|
23780
|
+
this.platformId = platformId;
|
|
23781
|
+
this._id = `clr-aria-live-element-${uniqueIdFactory()}`;
|
|
23782
|
+
this.document = _document;
|
|
23783
|
+
}
|
|
23784
|
+
/**
|
|
23785
|
+
* get access to the internal HTML `id` that gonna be used for the AriaLive container.
|
|
23786
|
+
* @return ID of the DOM Element as string.
|
|
23787
|
+
*/
|
|
23788
|
+
get id() {
|
|
23789
|
+
return this._id;
|
|
23790
|
+
}
|
|
23791
|
+
/**
|
|
23792
|
+
* Append text content inside the AriaLive Container. This method will check if the
|
|
23793
|
+
* DOM Element is existing if not it will create one for us and the will apply the text.
|
|
23794
|
+
*
|
|
23795
|
+
* ```typescript
|
|
23796
|
+
* this.ariaLiveService.announce(this.el.nativeElement);
|
|
23797
|
+
* // or
|
|
23798
|
+
* this.ariaLiveService.announce('Message to announce to SR');
|
|
23799
|
+
* ```
|
|
23800
|
+
*
|
|
23801
|
+
* @remark
|
|
23802
|
+
* When second argument is `AriaLivePoliteness.off` we won't create aria container or update it.
|
|
23803
|
+
* The reason for that is that we don't want to do additional work if the SR will ignore it.
|
|
23804
|
+
*
|
|
23805
|
+
* @param message - This could be simple string or HTMLElement
|
|
23806
|
+
* @param politeness - 'polite', 'assertive' or 'off'
|
|
23807
|
+
*/
|
|
23808
|
+
announce(message, politeness = ClrAriaLivePoliteness.polite) {
|
|
23809
|
+
if (politeness === ClrAriaLivePoliteness.off) {
|
|
23810
|
+
return;
|
|
23811
|
+
}
|
|
23812
|
+
if (!this.ariaLiveElement && isPlatformBrowser(this.platformId)) {
|
|
23813
|
+
this.ariaLiveElement = this.createContainer();
|
|
23814
|
+
}
|
|
23815
|
+
message = typeof message !== 'string' && isPlatformBrowser(this.platformId) ? message.textContent : message;
|
|
23816
|
+
// when there is no message do NOTHING!
|
|
23817
|
+
if (!message) {
|
|
23818
|
+
return;
|
|
23819
|
+
}
|
|
23820
|
+
this.ariaLiveElement.setAttribute('aria-live', politeness);
|
|
23821
|
+
// This 100ms timeout is necessary for some browser + screen-reader combinations:
|
|
23822
|
+
// - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.
|
|
23823
|
+
// - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a
|
|
23824
|
+
// second time without clearing and then using a non-zero delay.
|
|
23825
|
+
// (using JAWS 17 at time of this writing).
|
|
23826
|
+
this.ngZone.runOutsideAngular(() => {
|
|
23827
|
+
// This clearTimeout will stop all older messages from announcing
|
|
23828
|
+
// in the case where the messages are comming too fast we gonna try to append only
|
|
23829
|
+
// the last one. That's what the SR will try to do anyway.
|
|
23830
|
+
clearTimeout(this.previousTimeout);
|
|
23831
|
+
this.previousTimeout = setTimeout(() => {
|
|
23832
|
+
this.ariaLiveElement.textContent = message;
|
|
23833
|
+
}, ARIA_LIVE_TICK);
|
|
23834
|
+
});
|
|
23835
|
+
}
|
|
23836
|
+
/**
|
|
23837
|
+
* onDestroy life cycle - must stop all active setTimeouts and remove the AriaLive
|
|
23838
|
+
* container from the document.
|
|
23839
|
+
*/
|
|
23840
|
+
ngOnDestroy() {
|
|
23841
|
+
clearTimeout(this.previousTimeout);
|
|
23842
|
+
if (isPlatformBrowser(this.platformId) && this.ariaLiveElement) {
|
|
23843
|
+
this.document.body.removeChild(this.ariaLiveElement);
|
|
23844
|
+
this.ariaLiveElement = null;
|
|
23845
|
+
}
|
|
23846
|
+
}
|
|
23847
|
+
/**
|
|
23848
|
+
* Create AriaLive DOM element as a last child of the document.
|
|
23849
|
+
* After the element is created, we gonna apply Clarity class to hide it from
|
|
23850
|
+
* the screen and set the `aria-live` politness.
|
|
23851
|
+
*
|
|
23852
|
+
* `clr-sr-only` is the CSS class that is used to hide the element from the screen.
|
|
23853
|
+
*
|
|
23854
|
+
* @remark
|
|
23855
|
+
* Calling this method multiple times will create multiple DOM Elements, that
|
|
23856
|
+
* won't be tracked and will be GC after the service is destroyed.
|
|
23857
|
+
*
|
|
23858
|
+
* @return AriaLive container as HTMLElement
|
|
23859
|
+
*
|
|
23860
|
+
*/
|
|
23861
|
+
createContainer() {
|
|
23862
|
+
const ariaLiveElement = this.document.createElement('div');
|
|
23863
|
+
ariaLiveElement.setAttribute('id', this.id);
|
|
23864
|
+
// Use clarity screen reader class to hide the dom element
|
|
23865
|
+
// and fix the scrollbar shake
|
|
23866
|
+
ariaLiveElement.classList.add('clr-sr-only');
|
|
23867
|
+
ariaLiveElement.setAttribute('aria-atomic', 'true');
|
|
23868
|
+
ariaLiveElement.setAttribute('aria-live', ClrAriaLivePoliteness.polite);
|
|
23869
|
+
this.document.body.appendChild(ariaLiveElement);
|
|
23870
|
+
return ariaLiveElement;
|
|
23871
|
+
}
|
|
23872
|
+
}
|
|
23873
|
+
ClrAriaLiveService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrAriaLiveService, deps: [{ token: i0.NgZone }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
23874
|
+
ClrAriaLiveService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrAriaLiveService, providedIn: 'root' });
|
|
23875
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrAriaLiveService, decorators: [{
|
|
23876
|
+
type: Injectable,
|
|
23877
|
+
args: [{
|
|
23878
|
+
providedIn: 'root',
|
|
23879
|
+
}]
|
|
23880
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: undefined, decorators: [{
|
|
23881
|
+
type: Inject,
|
|
23882
|
+
args: [DOCUMENT]
|
|
23883
|
+
}] }, { type: undefined, decorators: [{
|
|
23884
|
+
type: Inject,
|
|
23885
|
+
args: [PLATFORM_ID]
|
|
23886
|
+
}] }]; } });
|
|
23887
|
+
|
|
23888
|
+
/*
|
|
23889
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23890
|
+
* This software is released under MIT license.
|
|
23891
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23892
|
+
*/
|
|
23893
|
+
|
|
23894
|
+
/*
|
|
23895
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23896
|
+
* This software is released under MIT license.
|
|
23897
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23898
|
+
*/
|
|
23899
|
+
|
|
23900
|
+
/*
|
|
23901
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23902
|
+
* This software is released under MIT license.
|
|
23903
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23904
|
+
*
|
|
23905
|
+
*/
|
|
23906
|
+
|
|
23907
|
+
/*
|
|
23908
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23909
|
+
* This software is released under MIT license.
|
|
23910
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23911
|
+
*
|
|
23912
|
+
*/
|
|
23913
|
+
|
|
23914
|
+
/*
|
|
23915
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23916
|
+
* This software is released under MIT license.
|
|
23917
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23918
|
+
*/
|
|
23919
|
+
|
|
23920
|
+
/*
|
|
23921
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23922
|
+
* This software is released under MIT license.
|
|
23923
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23924
|
+
*/
|
|
23925
|
+
|
|
23926
|
+
/*
|
|
23927
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
23928
|
+
* This software is released under MIT license.
|
|
23929
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23930
|
+
*/
|
|
23931
|
+
|
|
23932
|
+
/*
|
|
23933
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
23934
|
+
* This software is released under MIT license.
|
|
23935
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23936
|
+
*/
|
|
23937
|
+
class ClrWizardStepnavItem {
|
|
23938
|
+
constructor(navService, pageCollection, commonStrings) {
|
|
23939
|
+
this.navService = navService;
|
|
23940
|
+
this.pageCollection = pageCollection;
|
|
23941
|
+
this.commonStrings = commonStrings;
|
|
23942
|
+
}
|
|
23943
|
+
pageGuard() {
|
|
23944
|
+
if (!this.page) {
|
|
23945
|
+
throw new Error('Wizard stepnav item is not associated with a wizard page.');
|
|
23946
|
+
}
|
|
23947
|
+
}
|
|
23948
|
+
get id() {
|
|
23949
|
+
this.pageGuard();
|
|
23950
|
+
return this.pageCollection.getStepItemIdForPage(this.page);
|
|
23951
|
+
}
|
|
23952
|
+
get stepAriaCurrent() {
|
|
23953
|
+
return this.isCurrent && 'step';
|
|
23954
|
+
}
|
|
23955
|
+
get isDisabled() {
|
|
23956
|
+
this.pageGuard();
|
|
23957
|
+
return this.page.disabled || this.navService.wizardStopNavigation || this.navService.wizardDisableStepnav;
|
|
23958
|
+
}
|
|
23959
|
+
get isCurrent() {
|
|
23960
|
+
this.pageGuard();
|
|
23961
|
+
return this.page.current;
|
|
23962
|
+
}
|
|
23963
|
+
get isComplete() {
|
|
23964
|
+
this.pageGuard();
|
|
23965
|
+
return this.page.completed;
|
|
23966
|
+
}
|
|
23967
|
+
get hasError() {
|
|
23968
|
+
this.pageGuard();
|
|
23969
|
+
return this.page.hasError && this.isComplete;
|
|
23970
|
+
}
|
|
23971
|
+
get canNavigate() {
|
|
23972
|
+
this.pageGuard();
|
|
23973
|
+
return this.pageCollection.previousPageIsCompleted(this.page);
|
|
23974
|
+
}
|
|
23975
|
+
click() {
|
|
23976
|
+
this.pageGuard();
|
|
23977
|
+
// if we click on our own stepnav or a disabled stepnav, we don't want to do anything
|
|
23978
|
+
if (this.isDisabled || this.isCurrent) {
|
|
23979
|
+
return;
|
|
23980
|
+
}
|
|
23981
|
+
this.navService.goTo(this.page);
|
|
23982
|
+
}
|
|
23983
|
+
}
|
|
23984
|
+
ClrWizardStepnavItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrWizardStepnavItem, deps: [{ token: WizardNavigationService }, { token: PageCollectionService }, { token: ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
23985
|
+
ClrWizardStepnavItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrWizardStepnavItem, selector: "[clr-wizard-stepnav-item]", inputs: { page: "page" }, host: { properties: { "id": "id", "attr.aria-current": "stepAriaCurrent", "attr.aria-controls": "id", "class.clr-nav-link": "true", "class.nav-item": "true", "class.active": "isCurrent", "class.disabled": "isDisabled", "class.no-click": "!canNavigate", "class.complete": "isComplete", "class.error": "hasError" } }, ngImport: i0, template: `
|
|
23986
|
+
<button
|
|
23987
|
+
type="button"
|
|
23988
|
+
class="btn btn-link clr-wizard-stepnav-link"
|
|
23989
|
+
(click)="click()"
|
|
23990
|
+
[attr.disabled]="isDisabled ? '' : null"
|
|
23991
|
+
>
|
|
23992
|
+
<span class="clr-wizard-stepnav-link-suffix">
|
|
23993
|
+
<cds-icon
|
|
23994
|
+
shape="error-standard"
|
|
23995
|
+
status="danger"
|
|
23996
|
+
class="clr-wizard-stepnav-item-error-icon"
|
|
23997
|
+
*ngIf="hasError"
|
|
23998
|
+
></cds-icon>
|
|
23999
|
+
<ng-content *ngIf="!hasError"></ng-content>
|
|
24000
|
+
</span>
|
|
24001
|
+
<span class="clr-wizard-stepnav-link-title">
|
|
24002
|
+
<ng-template [ngTemplateOutlet]="page.navTitle"></ng-template>
|
|
24003
|
+
</span>
|
|
24004
|
+
<span *ngIf="hasError" class="clr-sr-only">{{ commonStrings.keys.wizardStepError }}</span>
|
|
24005
|
+
<span *ngIf="!hasError && isComplete" class="clr-sr-only">{{ commonStrings.keys.wizardStepSuccess }}</span>
|
|
24006
|
+
</button>
|
|
24007
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: CdsIconCustomTag, selector: "cds-icon" }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
24008
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrWizardStepnavItem, decorators: [{
|
|
24009
|
+
type: Component,
|
|
24010
|
+
args: [{
|
|
24011
|
+
selector: '[clr-wizard-stepnav-item]',
|
|
24012
|
+
template: `
|
|
24013
|
+
<button
|
|
24014
|
+
type="button"
|
|
24015
|
+
class="btn btn-link clr-wizard-stepnav-link"
|
|
24016
|
+
(click)="click()"
|
|
24017
|
+
[attr.disabled]="isDisabled ? '' : null"
|
|
24018
|
+
>
|
|
24019
|
+
<span class="clr-wizard-stepnav-link-suffix">
|
|
24020
|
+
<cds-icon
|
|
24021
|
+
shape="error-standard"
|
|
24022
|
+
status="danger"
|
|
24023
|
+
class="clr-wizard-stepnav-item-error-icon"
|
|
24024
|
+
*ngIf="hasError"
|
|
24025
|
+
></cds-icon>
|
|
24026
|
+
<ng-content *ngIf="!hasError"></ng-content>
|
|
24027
|
+
</span>
|
|
24028
|
+
<span class="clr-wizard-stepnav-link-title">
|
|
24029
|
+
<ng-template [ngTemplateOutlet]="page.navTitle"></ng-template>
|
|
24030
|
+
</span>
|
|
24031
|
+
<span *ngIf="hasError" class="clr-sr-only">{{ commonStrings.keys.wizardStepError }}</span>
|
|
24032
|
+
<span *ngIf="!hasError && isComplete" class="clr-sr-only">{{ commonStrings.keys.wizardStepSuccess }}</span>
|
|
24033
|
+
</button>
|
|
24034
|
+
`,
|
|
24035
|
+
host: {
|
|
24036
|
+
'[id]': 'id',
|
|
24037
|
+
'[attr.aria-current]': 'stepAriaCurrent',
|
|
24038
|
+
'[attr.aria-controls]': 'id',
|
|
24039
|
+
'[class.clr-nav-link]': 'true',
|
|
24040
|
+
'[class.nav-item]': 'true',
|
|
24041
|
+
'[class.active]': 'isCurrent',
|
|
24042
|
+
'[class.disabled]': 'isDisabled',
|
|
24043
|
+
'[class.no-click]': '!canNavigate',
|
|
24044
|
+
'[class.complete]': 'isComplete',
|
|
24045
|
+
'[class.error]': 'hasError',
|
|
24046
|
+
},
|
|
24047
|
+
}]
|
|
24048
|
+
}], ctorParameters: function () { return [{ type: WizardNavigationService }, { type: PageCollectionService }, { type: ClrCommonStringsService }]; }, propDecorators: { page: [{
|
|
24049
|
+
type: Input,
|
|
24050
|
+
args: ['page']
|
|
24051
|
+
}] } });
|
|
24052
|
+
|
|
24053
|
+
/*
|
|
24054
|
+
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
24055
|
+
* This software is released under MIT license.
|
|
24056
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
24057
|
+
*/
|
|
24058
|
+
class ClrWizardStepnav {
|
|
24059
|
+
constructor(pageService) {
|
|
24060
|
+
this.pageService = pageService;
|
|
24061
|
+
}
|
|
24062
|
+
}
|
|
24063
|
+
ClrWizardStepnav.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrWizardStepnav, deps: [{ token: PageCollectionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
24064
|
+
ClrWizardStepnav.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrWizardStepnav, selector: "clr-wizard-stepnav", host: { classAttribute: "clr-wizard-stepnav" }, ngImport: i0, template: `
|
|
23641
24065
|
<div class="clr-wizard-stepnav-list">
|
|
23642
24066
|
<div
|
|
23643
24067
|
*ngFor="let page of pageService.pages; let i = index"
|
|
@@ -23648,7 +24072,7 @@ ClrWizardStepnav.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
|
|
|
23648
24072
|
{{ i + 1 }}
|
|
23649
24073
|
</div>
|
|
23650
24074
|
</div>
|
|
23651
|
-
`, isInline: true, components: [{ type: ClrWizardStepnavItem, selector: "[clr-wizard-stepnav-item]", inputs: ["page"] }], directives: [{ type:
|
|
24075
|
+
`, isInline: true, components: [{ type: ClrWizardStepnavItem, selector: "[clr-wizard-stepnav-item]", inputs: ["page"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
23652
24076
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrWizardStepnav, decorators: [{
|
|
23653
24077
|
type: Component,
|
|
23654
24078
|
args: [{
|
|
@@ -23670,7 +24094,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
23670
24094
|
}], ctorParameters: function () { return [{ type: PageCollectionService }]; } });
|
|
23671
24095
|
|
|
23672
24096
|
/*
|
|
23673
|
-
* Copyright (c) 2016-
|
|
24097
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
23674
24098
|
* This software is released under MIT license.
|
|
23675
24099
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23676
24100
|
*/
|
|
@@ -24031,7 +24455,13 @@ class ClrWizard {
|
|
|
24031
24455
|
return this.navService.wizardFinished.subscribe(() => this.emitWizardFinished());
|
|
24032
24456
|
}
|
|
24033
24457
|
listenForPageChanges() {
|
|
24034
|
-
return this.navService.currentPageChanged.subscribe(() =>
|
|
24458
|
+
return this.navService.currentPageChanged.subscribe(() => {
|
|
24459
|
+
// Added to address VPAT-749:
|
|
24460
|
+
// When clicking on a wizard tab, focus should move to that
|
|
24461
|
+
// tabs content to make the wizard more accessible.
|
|
24462
|
+
this.wizardTitle?.nativeElement.focus();
|
|
24463
|
+
this.currentPageChanged.emit();
|
|
24464
|
+
});
|
|
24035
24465
|
}
|
|
24036
24466
|
updateNavOnPageChanges() {
|
|
24037
24467
|
const changes = this.differ.diff(this.pages);
|
|
@@ -24054,7 +24484,7 @@ class ClrWizard {
|
|
|
24054
24484
|
}
|
|
24055
24485
|
}
|
|
24056
24486
|
ClrWizard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrWizard, deps: [{ token: PLATFORM_ID }, { token: WizardNavigationService }, { token: PageCollectionService }, { token: ButtonHubService }, { token: HeaderActionService }, { token: i0.ElementRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component });
|
|
24057
|
-
ClrWizard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrWizard, selector: "clr-wizard", inputs: { size: ["clrWizardSize", "size"], closable: ["clrWizardClosable", "closable"], forceForward: ["clrWizardForceForwardNavigation", "forceForward"], clrWizardOpen: "clrWizardOpen", stopNext: ["clrWizardPreventDefaultNext", "stopNext"], stopCancel: ["clrWizardPreventDefaultCancel", "stopCancel"], stopNavigation: ["clrWizardPreventNavigation", "stopNavigation"], disableStepnav: ["clrWizardDisableStepnav", "disableStepnav"], _stopModalAnimations: ["clrWizardPreventModalAnimation", "_stopModalAnimations"] }, outputs: { _openChanged: "clrWizardOpenChange", onCancel: "clrWizardOnCancel", wizardFinished: "clrWizardOnFinish", onReset: "clrWizardOnReset", currentPageChanged: "clrWizardCurrentPageChanged", onMoveNext: "clrWizardOnNext", onMovePrevious: "clrWizardOnPrevious" }, host: { properties: { "class.clr-wizard": "true", "class.wizard-md": "size == 'md'", "class.wizard-lg": "size == 'lg'", "class.wizard-xl": "size == 'xl'", "class.lastPage": "navService.currentPageIsLast" } }, providers: [WizardNavigationService, PageCollectionService, ButtonHubService, HeaderActionService], queries: [{ propertyName: "pages", predicate: ClrWizardPage, descendants: true }, { propertyName: "headerActions", predicate: ClrWizardHeaderAction }], viewQueries: [{ propertyName: "wizardTitle", first: true, predicate: ["wizardTitle"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<clr-modal\n [clrModalOpen]=\"_open\"\n [clrModalSize]=\"size\"\n [clrModalClosable]=\"closable\"\n [clrModalStaticBackdrop]=\"true\"\n [clrModalSkipAnimation]=\"stopModalAnimations\"\n [clrModalOverrideScrollService]=\"isStatic\"\n [clrModalPreventClose]=\"true\"\n (clrModalAlternateClose)=\"modalCancel()\"\n>\n <nav class=\"modal-nav clr-wizard-stepnav-wrapper\">\n <h1 class=\"clr-wizard-title\"><ng-content select=\"clr-wizard-title\"></ng-content></h1>\n <clr-wizard-stepnav></clr-wizard-stepnav>\n </nav>\n\n <h2 class=\"modal-title\">\n <span tabindex=\"-1\" #wizardTitle class=\"modal-title-text\">\n <ng-template [ngTemplateOutlet]=\"navService.currentPageTitle\"></ng-template>\n </span>\n\n <div class=\"modal-header-actions-wrapper\" *ngIf=\"headerActionService.displayHeaderActionsWrapper\">\n <div *ngIf=\"headerActionService.showWizardHeaderActions\">\n <ng-content select=\"clr-wizard-header-action\"></ng-content>\n </div>\n <div *ngIf=\"headerActionService.currentPageHasHeaderActions\">\n <ng-template [ngTemplateOutlet]=\"navService.currentPage.headerActions\"></ng-template>\n </div>\n </div>\n </h2>\n\n <div class=\"modal-body\">\n <main clr-wizard-pages-wrapper class=\"clr-wizard-content\">\n <ng-content></ng-content>\n </main>\n </div>\n <div class=\"modal-footer clr-wizard-footer\">\n <div class=\"clr-wizard-footer-buttons\">\n <div\n *ngIf=\"navService.currentPage && !navService.currentPage.hasButtons\"\n class=\"clr-wizard-footer-buttons-wrapper\"\n >\n <ng-content select=\"clr-wizard-button\"></ng-content>\n </div>\n <div\n *ngIf=\"navService.currentPage && navService.currentPage.hasButtons\"\n class=\"clr-wizard-footer-buttons-wrapper\"\n >\n <ng-template [ngTemplateOutlet]=\"navService.currentPage.buttons\"></ng-template>\n </div>\n </div>\n </div>\n</clr-modal>\n", components: [{ type: ClrModal, selector: "clr-modal", inputs: ["clrModalOpen", "clrModalClosable", "clrModalSize", "clrModalStaticBackdrop", "clrModalSkipAnimation", "clrModalOverrideScrollService", "clrModalPreventClose"], outputs: ["clrModalOpenChange", "clrModalAlternateClose"] }, { type: ClrWizardStepnav, selector: "clr-wizard-stepnav" }], directives: [{ type:
|
|
24487
|
+
ClrWizard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrWizard, selector: "clr-wizard", inputs: { size: ["clrWizardSize", "size"], closable: ["clrWizardClosable", "closable"], forceForward: ["clrWizardForceForwardNavigation", "forceForward"], clrWizardOpen: "clrWizardOpen", stopNext: ["clrWizardPreventDefaultNext", "stopNext"], stopCancel: ["clrWizardPreventDefaultCancel", "stopCancel"], stopNavigation: ["clrWizardPreventNavigation", "stopNavigation"], disableStepnav: ["clrWizardDisableStepnav", "disableStepnav"], _stopModalAnimations: ["clrWizardPreventModalAnimation", "_stopModalAnimations"] }, outputs: { _openChanged: "clrWizardOpenChange", onCancel: "clrWizardOnCancel", wizardFinished: "clrWizardOnFinish", onReset: "clrWizardOnReset", currentPageChanged: "clrWizardCurrentPageChanged", onMoveNext: "clrWizardOnNext", onMovePrevious: "clrWizardOnPrevious" }, host: { properties: { "class.clr-wizard": "true", "class.wizard-md": "size == 'md'", "class.wizard-lg": "size == 'lg'", "class.wizard-xl": "size == 'xl'", "class.lastPage": "navService.currentPageIsLast" } }, providers: [WizardNavigationService, PageCollectionService, ButtonHubService, HeaderActionService], queries: [{ propertyName: "pages", predicate: ClrWizardPage, descendants: true }, { propertyName: "headerActions", predicate: ClrWizardHeaderAction }], viewQueries: [{ propertyName: "wizardTitle", first: true, predicate: ["wizardTitle"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<clr-modal\n [clrModalOpen]=\"_open\"\n [clrModalSize]=\"size\"\n [clrModalClosable]=\"closable\"\n [clrModalStaticBackdrop]=\"true\"\n [clrModalSkipAnimation]=\"stopModalAnimations\"\n [clrModalOverrideScrollService]=\"isStatic\"\n [clrModalPreventClose]=\"true\"\n (clrModalAlternateClose)=\"modalCancel()\"\n>\n <nav class=\"modal-nav clr-wizard-stepnav-wrapper\">\n <h1 class=\"clr-wizard-title\"><ng-content select=\"clr-wizard-title\"></ng-content></h1>\n <clr-wizard-stepnav></clr-wizard-stepnav>\n </nav>\n\n <h2 class=\"modal-title\">\n <span tabindex=\"-1\" #wizardTitle class=\"modal-title-text\">\n <ng-template [ngTemplateOutlet]=\"navService.currentPageTitle\"></ng-template>\n </span>\n\n <div class=\"modal-header-actions-wrapper\" *ngIf=\"headerActionService.displayHeaderActionsWrapper\">\n <div *ngIf=\"headerActionService.showWizardHeaderActions\">\n <ng-content select=\"clr-wizard-header-action\"></ng-content>\n </div>\n <div *ngIf=\"headerActionService.currentPageHasHeaderActions\">\n <ng-template [ngTemplateOutlet]=\"navService.currentPage.headerActions\"></ng-template>\n </div>\n </div>\n </h2>\n\n <div class=\"modal-body\">\n <main clr-wizard-pages-wrapper class=\"clr-wizard-content\">\n <ng-content></ng-content>\n </main>\n </div>\n <div class=\"modal-footer clr-wizard-footer\">\n <div class=\"clr-wizard-footer-buttons\">\n <div\n *ngIf=\"navService.currentPage && !navService.currentPage.hasButtons\"\n class=\"clr-wizard-footer-buttons-wrapper\"\n >\n <ng-content select=\"clr-wizard-button\"></ng-content>\n </div>\n <div\n *ngIf=\"navService.currentPage && navService.currentPage.hasButtons\"\n class=\"clr-wizard-footer-buttons-wrapper\"\n >\n <ng-template [ngTemplateOutlet]=\"navService.currentPage.buttons\"></ng-template>\n </div>\n </div>\n </div>\n</clr-modal>\n", components: [{ type: ClrModal, selector: "clr-modal", inputs: ["clrModalOpen", "clrModalClosable", "clrModalSize", "clrModalStaticBackdrop", "clrModalSkipAnimation", "clrModalOverrideScrollService", "clrModalPreventClose"], outputs: ["clrModalOpenChange", "clrModalAlternateClose"] }, { type: ClrWizardStepnav, selector: "clr-wizard-stepnav" }], directives: [{ type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrModalBody, selector: ".modal-body" }] });
|
|
24058
24488
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrWizard, decorators: [{
|
|
24059
24489
|
type: Component,
|
|
24060
24490
|
args: [{ selector: 'clr-wizard', providers: [WizardNavigationService, PageCollectionService, ButtonHubService, HeaderActionService], host: {
|
|
@@ -24390,13 +24820,6 @@ var AccordionStatus;
|
|
|
24390
24820
|
AccordionStatus["Complete"] = "complete";
|
|
24391
24821
|
})(AccordionStatus || (AccordionStatus = {}));
|
|
24392
24822
|
|
|
24393
|
-
/*
|
|
24394
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
24395
|
-
* This software is released under MIT license.
|
|
24396
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
24397
|
-
*/
|
|
24398
|
-
const defaultAnimationTiming = '0.2s ease-in-out';
|
|
24399
|
-
|
|
24400
24823
|
/*
|
|
24401
24824
|
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
24402
24825
|
* This software is released under MIT license.
|
|
@@ -24494,10 +24917,11 @@ class AccordionModel {
|
|
|
24494
24917
|
}
|
|
24495
24918
|
togglePanel(panelId, open) {
|
|
24496
24919
|
const panelIsOpen = this._panels[panelId].open;
|
|
24497
|
-
|
|
24920
|
+
const newOpenState = open !== undefined ? open : !panelIsOpen;
|
|
24921
|
+
if (newOpenState && this.strategy === AccordionStrategy.Default) {
|
|
24498
24922
|
this.closeAllPanels();
|
|
24499
24923
|
}
|
|
24500
|
-
this._panels[panelId].open =
|
|
24924
|
+
this._panels[panelId].open = newOpenState;
|
|
24501
24925
|
}
|
|
24502
24926
|
disablePanel(panelId, disabled) {
|
|
24503
24927
|
this._panels[panelId].disabled = disabled;
|
|
@@ -24628,10 +25052,10 @@ class ClrAccordionPanel {
|
|
|
24628
25052
|
}
|
|
24629
25053
|
}
|
|
24630
25054
|
ClrAccordionPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrAccordionPanel, deps: [{ token: ClrCommonStringsService }, { token: AccordionService }, { token: IfExpandService }, { token: UNIQUE_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
24631
|
-
ClrAccordionPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrAccordionPanel, selector: "clr-accordion-panel", inputs: { disabled: ["clrAccordionPanelDisabled", "disabled"], panelOpen: ["clrAccordionPanelOpen", "panelOpen"] }, outputs: { panelOpenChange: "clrAccordionPanelOpenChange" }, host: { properties: { "class.clr-accordion-panel": "true" } }, providers: [IfExpandService, UNIQUE_ID_PROVIDER], queries: [{ propertyName: "accordionDescription", predicate: ClrAccordionDescription }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div *ngIf=\"panel.status !== AccordionStatus.Inactive\" aria-live=\"assertive\" class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n </div>\n\n <div
|
|
25055
|
+
ClrAccordionPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrAccordionPanel, selector: "clr-accordion-panel", inputs: { disabled: ["clrAccordionPanelDisabled", "disabled"], panelOpen: ["clrAccordionPanelOpen", "panelOpen"] }, outputs: { panelOpenChange: "clrAccordionPanelOpenChange" }, host: { properties: { "class.clr-accordion-panel": "true" } }, providers: [IfExpandService, UNIQUE_ID_PROVIDER], queries: [{ propertyName: "accordionDescription", predicate: ClrAccordionDescription }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div *ngIf=\"panel.status !== AccordionStatus.Inactive\" aria-live=\"assertive\" class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n </div>\n\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">{{commonStrings.keys.success}}</ng-container>\n </span>\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\"></span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n", directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CdsIconCustomTag, selector: "cds-icon" }], pipes: { "async": i4.AsyncPipe }, animations: panelAnimation, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
24632
25056
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrAccordionPanel, decorators: [{
|
|
24633
25057
|
type: Component,
|
|
24634
|
-
args: [{ selector: 'clr-accordion-panel', host: { '[class.clr-accordion-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: panelAnimation, providers: [IfExpandService, UNIQUE_ID_PROVIDER], template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div *ngIf=\"panel.status !== AccordionStatus.Inactive\" aria-live=\"assertive\" class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n </div>\n\n <div
|
|
25058
|
+
args: [{ selector: 'clr-accordion-panel', host: { '[class.clr-accordion-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: panelAnimation, providers: [IfExpandService, UNIQUE_ID_PROVIDER], template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div *ngIf=\"panel.status !== AccordionStatus.Inactive\" aria-live=\"assertive\" class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n </div>\n\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">{{commonStrings.keys.success}}</ng-container>\n </span>\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\"></span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n" }]
|
|
24635
25059
|
}], ctorParameters: function () { return [{ type: ClrCommonStringsService }, { type: AccordionService }, { type: IfExpandService }, { type: undefined, decorators: [{
|
|
24636
25060
|
type: Inject,
|
|
24637
25061
|
args: [UNIQUE_ID]
|
|
@@ -25060,10 +25484,10 @@ class ClrStepperPanel extends ClrAccordionPanel {
|
|
|
25060
25484
|
}
|
|
25061
25485
|
}
|
|
25062
25486
|
ClrStepperPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrStepperPanel, deps: [{ token: PLATFORM_ID }, { token: ClrCommonStringsService }, { token: i1.FormGroupName, optional: true }, { token: i1.NgModelGroup, optional: true }, { token: StepperService }, { token: IfExpandService }, { token: UNIQUE_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
25063
|
-
ClrStepperPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrStepperPanel, selector: "clr-stepper-panel", host: { properties: { "class.clr-accordion-panel": "true" } }, providers: [IfExpandService, UNIQUE_ID_PROVIDER], viewQueries: [{ propertyName: "headerButton", first: true, predicate: ["headerButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div *ngIf=\"panel.status !== AccordionStatus.Inactive\" aria-live=\"assertive\" class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n </div>\n\n <div
|
|
25487
|
+
ClrStepperPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrStepperPanel, selector: "clr-stepper-panel", host: { properties: { "class.clr-accordion-panel": "true" } }, providers: [IfExpandService, UNIQUE_ID_PROVIDER], viewQueries: [{ propertyName: "headerButton", first: true, predicate: ["headerButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div *ngIf=\"panel.status !== AccordionStatus.Inactive\" aria-live=\"assertive\" class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n </div>\n\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">{{commonStrings.keys.success}}</ng-container>\n </span>\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\"></span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n", directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CdsIconCustomTag, selector: "cds-icon" }], pipes: { "async": i4.AsyncPipe }, animations: stepAnimation, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
25064
25488
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrStepperPanel, decorators: [{
|
|
25065
25489
|
type: Component,
|
|
25066
|
-
args: [{ selector: 'clr-stepper-panel', host: { '[class.clr-accordion-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: stepAnimation, providers: [IfExpandService, UNIQUE_ID_PROVIDER], template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div *ngIf=\"panel.status !== AccordionStatus.Inactive\" aria-live=\"assertive\" class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n </div>\n\n <div
|
|
25490
|
+
args: [{ selector: 'clr-stepper-panel', host: { '[class.clr-accordion-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: stepAnimation, providers: [IfExpandService, UNIQUE_ID_PROVIDER], template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div *ngIf=\"panel.status !== AccordionStatus.Inactive\" aria-live=\"assertive\" class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n </div>\n\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">{{commonStrings.keys.success}}</ng-container>\n </span>\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\"></span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n" }]
|
|
25067
25491
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
25068
25492
|
type: Inject,
|
|
25069
25493
|
args: [PLATFORM_ID]
|
|
@@ -25373,7 +25797,7 @@ ClrProgressBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version:
|
|
|
25373
25797
|
ClrProgressBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ClrProgressBar, selector: "clr-progress-bar", inputs: { id: "id", max: ["clrMax", "max"], displayval: ["clrDisplayval", "displayval"], value: ["clrValue", "value"], clrLabeled: "clrLabeled", clrFade: "clrFade", clrLoop: "clrLoop", clrSuccess: "clrSuccess", clrDanger: "clrDanger", clrFlash: "clrFlash", clrFlashDanger: "clrFlashDanger" }, host: { properties: { "attr.id": "this.externalId", "class.progress": "this.progressClass", "class.labeled": "this.labeledClass", "class.progress-fade": "this.fadeClass", "class.loop": "this.loopClass", "class.success": "this.successClass", "class.danger": "this.dangerClass", "class.flash": "this.flashClass", "class.flash-danger": "this.flashDangerClass" } }, ngImport: i0, template: `
|
|
25374
25798
|
<progress [id]="id" [attr.max]="max" [attr.value]="value" [attr.data-displayval]="displayValue"></progress>
|
|
25375
25799
|
<span *ngIf="displayStringValue()">{{ displayValue }}</span>
|
|
25376
|
-
`, isInline: true, directives: [{ type:
|
|
25800
|
+
`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
25377
25801
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrProgressBar, decorators: [{
|
|
25378
25802
|
type: Component,
|
|
25379
25803
|
args: [{
|
|
@@ -25651,7 +26075,7 @@ ClrTimelineStep.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
|
|
|
25651
26075
|
<ng-template #processing>
|
|
25652
26076
|
<clr-spinner clrMedium [attr.aria-label]="iconAriaLabel"></clr-spinner>
|
|
25653
26077
|
</ng-template>
|
|
25654
|
-
`, isInline: true, components: [{ type: ClrSpinner, selector: "clr-spinner", inputs: ["clrInline", "clrInverse", "clrSmall", "clrMedium"] }], directives: [{ type:
|
|
26078
|
+
`, isInline: true, components: [{ type: ClrSpinner, selector: "clr-spinner", inputs: ["clrInline", "clrInverse", "clrSmall", "clrMedium"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
25655
26079
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrTimelineStep, decorators: [{
|
|
25656
26080
|
type: Component,
|
|
25657
26081
|
args: [{
|
|
@@ -25811,150 +26235,30 @@ ClarityModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
|
|
|
25811
26235
|
ClrTimelineModule] });
|
|
25812
26236
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClarityModule, decorators: [{
|
|
25813
26237
|
type: NgModule,
|
|
25814
|
-
args: [{
|
|
25815
|
-
exports: [
|
|
25816
|
-
ClrEmphasisModule,
|
|
25817
|
-
ClrDataModule,
|
|
25818
|
-
ClrIconModule,
|
|
25819
|
-
ClrModalModule,
|
|
25820
|
-
ClrLoadingModule,
|
|
25821
|
-
ClrConditionalModule,
|
|
25822
|
-
ClrFocusTrapModule,
|
|
25823
|
-
ClrFocusOnViewInitModule,
|
|
25824
|
-
ClrButtonModule,
|
|
25825
|
-
ClrFormsModule,
|
|
25826
|
-
ClrLayoutModule,
|
|
25827
|
-
ClrPopoverModule,
|
|
25828
|
-
ClrWizardModule,
|
|
25829
|
-
ClrDragAndDropModule,
|
|
25830
|
-
ClrStepperModule,
|
|
25831
|
-
ClrSpinnerModule,
|
|
25832
|
-
ClrProgressBarModule,
|
|
25833
|
-
ClrPopoverModuleNext,
|
|
25834
|
-
ClrTimelineModule,
|
|
25835
|
-
],
|
|
25836
|
-
}]
|
|
25837
|
-
}] });
|
|
25838
|
-
|
|
25839
|
-
/*
|
|
25840
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25841
|
-
* This software is released under MIT license.
|
|
25842
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25843
|
-
*/
|
|
25844
|
-
|
|
25845
|
-
/*
|
|
25846
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25847
|
-
* This software is released under MIT license.
|
|
25848
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25849
|
-
*/
|
|
25850
|
-
|
|
25851
|
-
/*
|
|
25852
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25853
|
-
* This software is released under MIT license.
|
|
25854
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25855
|
-
*/
|
|
25856
|
-
|
|
25857
|
-
/*
|
|
25858
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25859
|
-
* This software is released under MIT license.
|
|
25860
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25861
|
-
*/
|
|
25862
|
-
|
|
25863
|
-
/*
|
|
25864
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25865
|
-
* This software is released under MIT license.
|
|
25866
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25867
|
-
*/
|
|
25868
|
-
|
|
25869
|
-
/*
|
|
25870
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25871
|
-
* This software is released under MIT license.
|
|
25872
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25873
|
-
*/
|
|
25874
|
-
|
|
25875
|
-
/*
|
|
25876
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25877
|
-
* This software is released under MIT license.
|
|
25878
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25879
|
-
*/
|
|
25880
|
-
|
|
25881
|
-
/*
|
|
25882
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25883
|
-
* This software is released under MIT license.
|
|
25884
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25885
|
-
*/
|
|
25886
|
-
|
|
25887
|
-
/*
|
|
25888
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25889
|
-
* This software is released under MIT license.
|
|
25890
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25891
|
-
*/
|
|
25892
|
-
|
|
25893
|
-
/*
|
|
25894
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25895
|
-
* This software is released under MIT license.
|
|
25896
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25897
|
-
*/
|
|
25898
|
-
|
|
25899
|
-
/*
|
|
25900
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25901
|
-
* This software is released under MIT license.
|
|
25902
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25903
|
-
*/
|
|
25904
|
-
|
|
25905
|
-
/*
|
|
25906
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25907
|
-
* This software is released under MIT license.
|
|
25908
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25909
|
-
*/
|
|
25910
|
-
|
|
25911
|
-
/*
|
|
25912
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25913
|
-
* This software is released under MIT license.
|
|
25914
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25915
|
-
*/
|
|
25916
|
-
|
|
25917
|
-
/*
|
|
25918
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25919
|
-
* This software is released under MIT license.
|
|
25920
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25921
|
-
*/
|
|
25922
|
-
|
|
25923
|
-
/*
|
|
25924
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25925
|
-
* This software is released under MIT license.
|
|
25926
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25927
|
-
*/
|
|
25928
|
-
|
|
25929
|
-
/*
|
|
25930
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25931
|
-
* This software is released under MIT license.
|
|
25932
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25933
|
-
*/
|
|
25934
|
-
|
|
25935
|
-
/*
|
|
25936
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25937
|
-
* This software is released under MIT license.
|
|
25938
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25939
|
-
*/
|
|
25940
|
-
|
|
25941
|
-
/*
|
|
25942
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25943
|
-
* This software is released under MIT license.
|
|
25944
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25945
|
-
*/
|
|
25946
|
-
|
|
25947
|
-
/*
|
|
25948
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25949
|
-
* This software is released under MIT license.
|
|
25950
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25951
|
-
*/
|
|
25952
|
-
|
|
25953
|
-
/*
|
|
25954
|
-
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
25955
|
-
* This software is released under MIT license.
|
|
25956
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
25957
|
-
*/
|
|
26238
|
+
args: [{
|
|
26239
|
+
exports: [
|
|
26240
|
+
ClrEmphasisModule,
|
|
26241
|
+
ClrDataModule,
|
|
26242
|
+
ClrIconModule,
|
|
26243
|
+
ClrModalModule,
|
|
26244
|
+
ClrLoadingModule,
|
|
26245
|
+
ClrConditionalModule,
|
|
26246
|
+
ClrFocusTrapModule,
|
|
26247
|
+
ClrFocusOnViewInitModule,
|
|
26248
|
+
ClrButtonModule,
|
|
26249
|
+
ClrFormsModule,
|
|
26250
|
+
ClrLayoutModule,
|
|
26251
|
+
ClrPopoverModule,
|
|
26252
|
+
ClrWizardModule,
|
|
26253
|
+
ClrDragAndDropModule,
|
|
26254
|
+
ClrStepperModule,
|
|
26255
|
+
ClrSpinnerModule,
|
|
26256
|
+
ClrProgressBarModule,
|
|
26257
|
+
ClrPopoverModuleNext,
|
|
26258
|
+
ClrTimelineModule,
|
|
26259
|
+
],
|
|
26260
|
+
}]
|
|
26261
|
+
}] });
|
|
25958
26262
|
|
|
25959
26263
|
/*
|
|
25960
26264
|
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
@@ -26015,16 +26319,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
26015
26319
|
* This software is released under MIT license.
|
|
26016
26320
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
26017
26321
|
*/
|
|
26018
|
-
const CLR_MENU_POSITIONS = [
|
|
26019
|
-
'bottom-left',
|
|
26020
|
-
'bottom-right',
|
|
26021
|
-
'top-left',
|
|
26022
|
-
'top-right',
|
|
26023
|
-
'left-bottom',
|
|
26024
|
-
'left-top',
|
|
26025
|
-
'right-bottom',
|
|
26026
|
-
'right-top',
|
|
26027
|
-
];
|
|
26028
26322
|
|
|
26029
26323
|
/*
|
|
26030
26324
|
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
@@ -26055,14 +26349,6 @@ const CLR_MENU_POSITIONS = [
|
|
|
26055
26349
|
* This software is released under MIT license.
|
|
26056
26350
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
26057
26351
|
*/
|
|
26058
|
-
function collapse() {
|
|
26059
|
-
'use strict';
|
|
26060
|
-
return [
|
|
26061
|
-
state('true', style({ height: 0, 'overflow-y': 'hidden' })),
|
|
26062
|
-
transition('true => false', [animate(defaultAnimationTiming, style({ height: '*', 'overflow-y': 'hidden' }))]),
|
|
26063
|
-
transition('false => true', [style({ height: '*', 'overflow-y': 'hidden' }), animate(defaultAnimationTiming)]),
|
|
26064
|
-
];
|
|
26065
|
-
}
|
|
26066
26352
|
|
|
26067
26353
|
/*
|
|
26068
26354
|
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
@@ -26075,12 +26361,6 @@ function collapse() {
|
|
|
26075
26361
|
* This software is released under MIT license.
|
|
26076
26362
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
26077
26363
|
*/
|
|
26078
|
-
function fade(opacity = 1) {
|
|
26079
|
-
return [
|
|
26080
|
-
transition('void => *', [style({ opacity: 0 }), animate(defaultAnimationTiming, style({ opacity: opacity }))]),
|
|
26081
|
-
transition('* => void', [animate(defaultAnimationTiming, style({ opacity: 0 }))]),
|
|
26082
|
-
];
|
|
26083
|
-
}
|
|
26084
26364
|
|
|
26085
26365
|
/*
|
|
26086
26366
|
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
@@ -26093,28 +26373,6 @@ function fade(opacity = 1) {
|
|
|
26093
26373
|
* This software is released under MIT license.
|
|
26094
26374
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
26095
26375
|
*/
|
|
26096
|
-
function fadeSlide(direction) {
|
|
26097
|
-
let transform = null;
|
|
26098
|
-
if (direction === 'up') {
|
|
26099
|
-
transform = 'translate(0, 25%)';
|
|
26100
|
-
}
|
|
26101
|
-
else if (direction === 'down') {
|
|
26102
|
-
transform = 'translate(0, -25%)';
|
|
26103
|
-
}
|
|
26104
|
-
else if (direction === 'left') {
|
|
26105
|
-
transform = 'translate(25%, 0)';
|
|
26106
|
-
}
|
|
26107
|
-
else if (direction === 'right') {
|
|
26108
|
-
transform = 'translate(-25%, 0)';
|
|
26109
|
-
}
|
|
26110
|
-
else {
|
|
26111
|
-
throw new Error('Unknown direction ' + direction + ' for slide animation.');
|
|
26112
|
-
}
|
|
26113
|
-
return [
|
|
26114
|
-
transition('void => *', [style({ opacity: 0, transform: transform }), animate(defaultAnimationTiming)]),
|
|
26115
|
-
transition('* => void', [animate(defaultAnimationTiming, style({ opacity: 0, transform: transform }))]),
|
|
26116
|
-
];
|
|
26117
|
-
}
|
|
26118
26376
|
|
|
26119
26377
|
/*
|
|
26120
26378
|
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
@@ -26127,28 +26385,6 @@ function fadeSlide(direction) {
|
|
|
26127
26385
|
* This software is released under MIT license.
|
|
26128
26386
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
26129
26387
|
*/
|
|
26130
|
-
function slide(direction) {
|
|
26131
|
-
let transform = null;
|
|
26132
|
-
if (direction === 'up') {
|
|
26133
|
-
transform = 'translate(0, 25%)';
|
|
26134
|
-
}
|
|
26135
|
-
else if (direction === 'down') {
|
|
26136
|
-
transform = 'translate(0, -25%)';
|
|
26137
|
-
}
|
|
26138
|
-
else if (direction === 'left') {
|
|
26139
|
-
transform = 'translate(25%, 0)';
|
|
26140
|
-
}
|
|
26141
|
-
else if (direction === 'right') {
|
|
26142
|
-
transform = 'translate(-25%, 0)';
|
|
26143
|
-
}
|
|
26144
|
-
else {
|
|
26145
|
-
throw new Error('Unknown direction ' + direction + ' for slide animation.');
|
|
26146
|
-
}
|
|
26147
|
-
return [
|
|
26148
|
-
transition('void => *', [style({ transform: transform }), animate(defaultAnimationTiming)]),
|
|
26149
|
-
transition('* => void', [animate(defaultAnimationTiming, style({ transform: transform }))]),
|
|
26150
|
-
];
|
|
26151
|
-
}
|
|
26152
26388
|
|
|
26153
26389
|
/*
|
|
26154
26390
|
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
@@ -26185,158 +26421,6 @@ function slide(direction) {
|
|
|
26185
26421
|
* This software is released under MIT license.
|
|
26186
26422
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
26187
26423
|
*/
|
|
26188
|
-
var ClrAriaLivePoliteness;
|
|
26189
|
-
(function (ClrAriaLivePoliteness) {
|
|
26190
|
-
ClrAriaLivePoliteness["off"] = "off";
|
|
26191
|
-
ClrAriaLivePoliteness["polite"] = "polite";
|
|
26192
|
-
ClrAriaLivePoliteness["assertive"] = "assertive";
|
|
26193
|
-
})(ClrAriaLivePoliteness || (ClrAriaLivePoliteness = {}));
|
|
26194
|
-
/**
|
|
26195
|
-
* Time in milliseconds before inserting the content into the container
|
|
26196
|
-
*/
|
|
26197
|
-
const ARIA_LIVE_TICK = 100;
|
|
26198
|
-
/**
|
|
26199
|
-
* @deprecated
|
|
26200
|
-
*
|
|
26201
|
-
* -- ClrAriaLiveService is deprecated in 5.0 to be removed in 6.0 --
|
|
26202
|
-
* Please consider using the LiveAnnouncer in the Angular Material CDK
|
|
26203
|
-
* if your project needs this functionality.
|
|
26204
|
-
* More info: https://material.angular.io/cdk/a11y/overview#example-1
|
|
26205
|
-
*
|
|
26206
|
-
* This service handle `aria-live` accessibility attribute. The issue is that you need
|
|
26207
|
-
* to have the DOM Element with attribute `aria-live` before you could insert content
|
|
26208
|
-
* and SR (Screen Reader) pick the change and announce it.
|
|
26209
|
-
*
|
|
26210
|
-
* ```typescript
|
|
26211
|
-
* import { ClrAriaLiveService } from 'src/clr-angular/utils/a11y/aria-live.service';
|
|
26212
|
-
*
|
|
26213
|
-
* @Component({
|
|
26214
|
-
* selector: 'clr-demo-component',
|
|
26215
|
-
* providers: [ClrAriaLiveService],
|
|
26216
|
-
* template: `
|
|
26217
|
-
* <ng-content></ng-content>
|
|
26218
|
-
* `,
|
|
26219
|
-
* })
|
|
26220
|
-
* export class DemoComponent {
|
|
26221
|
-
* constructor(ariaLiveService: ClrAriaLiveService) {}
|
|
26222
|
-
*
|
|
26223
|
-
* public actionThatWillTriggerChange() {
|
|
26224
|
-
* this.ariaLiveService.announce('message that I want to announce to SR');
|
|
26225
|
-
* }
|
|
26226
|
-
* }
|
|
26227
|
-
* ```
|
|
26228
|
-
*
|
|
26229
|
-
*/
|
|
26230
|
-
class ClrAriaLiveService {
|
|
26231
|
-
constructor(ngZone, _document, platformId) {
|
|
26232
|
-
this.ngZone = ngZone;
|
|
26233
|
-
this.platformId = platformId;
|
|
26234
|
-
this._id = `clr-aria-live-element-${uniqueIdFactory()}`;
|
|
26235
|
-
this.document = _document;
|
|
26236
|
-
}
|
|
26237
|
-
/**
|
|
26238
|
-
* get access to the internal HTML `id` that gonna be used for the AriaLive container.
|
|
26239
|
-
* @return ID of the DOM Element as string.
|
|
26240
|
-
*/
|
|
26241
|
-
get id() {
|
|
26242
|
-
return this._id;
|
|
26243
|
-
}
|
|
26244
|
-
/**
|
|
26245
|
-
* Append text content inside the AriaLive Container. This method will check if the
|
|
26246
|
-
* DOM Element is existing if not it will create one for us and the will apply the text.
|
|
26247
|
-
*
|
|
26248
|
-
* ```typescript
|
|
26249
|
-
* this.ariaLiveService.announce(this.el.nativeElement);
|
|
26250
|
-
* // or
|
|
26251
|
-
* this.ariaLiveService.announce('Message to announce to SR');
|
|
26252
|
-
* ```
|
|
26253
|
-
*
|
|
26254
|
-
* @remark
|
|
26255
|
-
* When second argument is `AriaLivePoliteness.off` we won't create aria container or update it.
|
|
26256
|
-
* The reason for that is that we don't want to do additional work if the SR will ignore it.
|
|
26257
|
-
*
|
|
26258
|
-
* @param message - This could be simple string or HTMLElement
|
|
26259
|
-
* @param politeness - 'polite', 'assertive' or 'off'
|
|
26260
|
-
*/
|
|
26261
|
-
announce(message, politeness = ClrAriaLivePoliteness.polite) {
|
|
26262
|
-
if (politeness === ClrAriaLivePoliteness.off) {
|
|
26263
|
-
return;
|
|
26264
|
-
}
|
|
26265
|
-
if (!this.ariaLiveElement && isPlatformBrowser(this.platformId)) {
|
|
26266
|
-
this.ariaLiveElement = this.createContainer();
|
|
26267
|
-
}
|
|
26268
|
-
message = typeof message !== 'string' && isPlatformBrowser(this.platformId) ? message.textContent : message;
|
|
26269
|
-
// when there is no message do NOTHING!
|
|
26270
|
-
if (!message) {
|
|
26271
|
-
return;
|
|
26272
|
-
}
|
|
26273
|
-
this.ariaLiveElement.setAttribute('aria-live', politeness);
|
|
26274
|
-
// This 100ms timeout is necessary for some browser + screen-reader combinations:
|
|
26275
|
-
// - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.
|
|
26276
|
-
// - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a
|
|
26277
|
-
// second time without clearing and then using a non-zero delay.
|
|
26278
|
-
// (using JAWS 17 at time of this writing).
|
|
26279
|
-
this.ngZone.runOutsideAngular(() => {
|
|
26280
|
-
// This clearTimeout will stop all older messages from announcing
|
|
26281
|
-
// in the case where the messages are comming too fast we gonna try to append only
|
|
26282
|
-
// the last one. That's what the SR will try to do anyway.
|
|
26283
|
-
clearTimeout(this.previousTimeout);
|
|
26284
|
-
this.previousTimeout = setTimeout(() => {
|
|
26285
|
-
this.ariaLiveElement.textContent = message;
|
|
26286
|
-
}, ARIA_LIVE_TICK);
|
|
26287
|
-
});
|
|
26288
|
-
}
|
|
26289
|
-
/**
|
|
26290
|
-
* onDestroy life cycle - must stop all active setTimeouts and remove the AriaLive
|
|
26291
|
-
* container from the document.
|
|
26292
|
-
*/
|
|
26293
|
-
ngOnDestroy() {
|
|
26294
|
-
clearTimeout(this.previousTimeout);
|
|
26295
|
-
if (isPlatformBrowser(this.platformId) && this.ariaLiveElement) {
|
|
26296
|
-
this.document.body.removeChild(this.ariaLiveElement);
|
|
26297
|
-
this.ariaLiveElement = null;
|
|
26298
|
-
}
|
|
26299
|
-
}
|
|
26300
|
-
/**
|
|
26301
|
-
* Create AriaLive DOM element as a last child of the document.
|
|
26302
|
-
* After the element is created, we gonna apply Clarity class to hide it from
|
|
26303
|
-
* the screen and set the `aria-live` politness.
|
|
26304
|
-
*
|
|
26305
|
-
* `clr-sr-only` is the CSS class that is used to hide the element from the screen.
|
|
26306
|
-
*
|
|
26307
|
-
* @remark
|
|
26308
|
-
* Calling this method multiple times will create multiple DOM Elements, that
|
|
26309
|
-
* won't be tracked and will be GC after the service is destroyed.
|
|
26310
|
-
*
|
|
26311
|
-
* @return AriaLive container as HTMLElement
|
|
26312
|
-
*
|
|
26313
|
-
*/
|
|
26314
|
-
createContainer() {
|
|
26315
|
-
const ariaLiveElement = this.document.createElement('div');
|
|
26316
|
-
ariaLiveElement.setAttribute('id', this.id);
|
|
26317
|
-
// Use clarity screen reader class to hide the dom element
|
|
26318
|
-
// and fix the scrollbar shake
|
|
26319
|
-
ariaLiveElement.classList.add('clr-sr-only');
|
|
26320
|
-
ariaLiveElement.setAttribute('aria-atomic', 'true');
|
|
26321
|
-
ariaLiveElement.setAttribute('aria-live', ClrAriaLivePoliteness.polite);
|
|
26322
|
-
this.document.body.appendChild(ariaLiveElement);
|
|
26323
|
-
return ariaLiveElement;
|
|
26324
|
-
}
|
|
26325
|
-
}
|
|
26326
|
-
ClrAriaLiveService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrAriaLiveService, deps: [{ token: i0.NgZone }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
26327
|
-
ClrAriaLiveService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrAriaLiveService, providedIn: 'root' });
|
|
26328
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrAriaLiveService, decorators: [{
|
|
26329
|
-
type: Injectable,
|
|
26330
|
-
args: [{
|
|
26331
|
-
providedIn: 'root',
|
|
26332
|
-
}]
|
|
26333
|
-
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: undefined, decorators: [{
|
|
26334
|
-
type: Inject,
|
|
26335
|
-
args: [DOCUMENT]
|
|
26336
|
-
}] }, { type: undefined, decorators: [{
|
|
26337
|
-
type: Inject,
|
|
26338
|
-
args: [PLATFORM_ID]
|
|
26339
|
-
}] }]; } });
|
|
26340
26424
|
|
|
26341
26425
|
/*
|
|
26342
26426
|
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
@@ -26354,14 +26438,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
26354
26438
|
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
26355
26439
|
* This software is released under MIT license.
|
|
26356
26440
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
26357
|
-
*
|
|
26358
26441
|
*/
|
|
26442
|
+
const CLR_MENU_POSITIONS = [
|
|
26443
|
+
'bottom-left',
|
|
26444
|
+
'bottom-right',
|
|
26445
|
+
'top-left',
|
|
26446
|
+
'top-right',
|
|
26447
|
+
'left-bottom',
|
|
26448
|
+
'left-top',
|
|
26449
|
+
'right-bottom',
|
|
26450
|
+
'right-top',
|
|
26451
|
+
];
|
|
26359
26452
|
|
|
26360
26453
|
/*
|
|
26361
26454
|
* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
|
|
26362
26455
|
* This software is released under MIT license.
|
|
26363
26456
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
26364
|
-
*
|
|
26365
26457
|
*/
|
|
26366
26458
|
|
|
26367
26459
|
/*
|
|
@@ -26435,3 +26527,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
26435
26527
|
*/
|
|
26436
26528
|
|
|
26437
26529
|
export { CLR_ALERT_DIRECTIVES, CLR_BUTTON_GROUP_DIRECTIVES, CLR_DATAGRID_DIRECTIVES, CLR_DATEPICKER_DIRECTIVES, CLR_DRAG_AND_DROP_DIRECTIVES, CLR_DROPDOWN_DIRECTIVES, CLR_ICON_DIRECTIVES, CLR_LAYOUT_DIRECTIVES, CLR_LOADING_BUTTON_DIRECTIVES, CLR_LOADING_DIRECTIVES, CLR_MENU_POSITIONS, CLR_MODAL_DIRECTIVES, CLR_NAVIGATION_DIRECTIVES, CLR_PROGRESS_BAR_DIRECTIVES, CLR_SIGNPOST_DIRECTIVES, CLR_SPINNER_DIRECTIVES, CLR_STACK_VIEW_DIRECTIVES, CLR_TABS_DIRECTIVES, CLR_TOOLTIP_DIRECTIVES, CLR_TREE_VIEW_DIRECTIVES, CLR_VERTICAL_NAV_DIRECTIVES, CLR_WIZARD_DIRECTIVES, CONDITIONAL_DIRECTIVES, CUSTOM_BUTTON_TYPES, CdsIconCustomTag, ClarityModule, ClrAbstractContainer, ClrAccordion, ClrAccordionContent, ClrAccordionDescription, ClrAccordionModule, ClrAccordionPanel, ClrAccordionTitle, ClrAlert, ClrAlertItem, ClrAlertModule, ClrAlertText, ClrAlerts, ClrAlertsPager, ClrAlignment, ClrAriaLivePoliteness, ClrAriaLiveService, ClrAxis, ClrButton, ClrButtonGroup, ClrButtonGroupModule, ClrButtonModule, ClrCalendar, ClrCheckbox, ClrCheckboxContainer, ClrCheckboxModule, ClrCheckboxWrapper, ClrCombobox, ClrComboboxContainer, ClrComboboxModule, ClrCommonFormsModule, ClrCommonStringsService, ClrConditionalModule, ClrControl, ClrControlContainer, ClrControlError, ClrControlHelper, ClrControlSuccess, ClrDataModule, ClrDatagrid, ClrDatagridActionBar, ClrDatagridActionOverflow, ClrDatagridCell, ClrDatagridColumn, ClrDatagridColumnSeparator, ClrDatagridColumnToggle, ClrDatagridColumnToggleButton, ClrDatagridColumnToggleTitle, ClrDatagridDetail, ClrDatagridDetailBody, ClrDatagridDetailHeader, ClrDatagridFilter, ClrDatagridFooter, ClrDatagridHideableColumn, ClrDatagridItems, ClrDatagridItemsTrackBy, ClrDatagridModule, ClrDatagridPageSize, ClrDatagridPagination, ClrDatagridPlaceholder, ClrDatagridRow, ClrDatagridRowDetail, ClrDatagridSortOrder, ClrDatalist, ClrDatalistContainer, ClrDatalistInput, ClrDatalistModule, ClrDateContainer, ClrDateInput, ClrDatepickerModule, ClrDatepickerViewManager, ClrDay, ClrDaypicker, ClrDragAndDropModule, ClrDragEvent, ClrDragHandle, ClrDraggable, ClrDraggableGhost, ClrDropdown, ClrDropdownItem, ClrDropdownMenu, ClrDropdownModule, ClrDropdownTrigger, ClrDroppable, ClrEmphasisModule, ClrExpandableAnimation, ClrFocusOnViewInit, ClrFocusOnViewInitModule, ClrForm, ClrFormLayout, ClrFormsModule, ClrHeader, ClrIconCustomTag, ClrIconModule, ClrIfActive, ClrIfDetail, ClrIfDragged, ClrIfError, ClrIfExpanded, ClrIfOpen, ClrIfSuccess, ClrInput, ClrInputContainer, ClrInputModule, ClrLabel, ClrLayout, ClrLayoutModule, ClrLoading, ClrLoadingButton, ClrLoadingButtonModule, ClrLoadingModule, ClrLoadingState, ClrMainContainer, ClrMainContainerModule, ClrModal, ClrModalBody, ClrModalModule, ClrMonthpicker, ClrNavLevel, ClrNavigationModule, ClrOption, ClrOptionItems, ClrOptionSelected, ClrOptions, ClrPassword, ClrPasswordContainer, ClrPasswordModule, ClrPopoverAnchor, ClrPopoverContent, ClrPopoverEventsService, ClrPopoverModule, ClrPopoverPositionService, ClrPopoverToggleService, ClrProgressBar, ClrProgressBarModule, ClrRadio, ClrRadioContainer, ClrRadioModule, ClrRadioWrapper, ClrRange, ClrRangeContainer, ClrRangeModule, ClrRecursiveForOf, ClrSelect, ClrSelectContainer, ClrSelectModule, ClrSelectedState, ClrSide, ClrSignpost, ClrSignpostContent, ClrSignpostModule, ClrSignpostTrigger, ClrSpinner, ClrSpinnerModule, ClrStackBlock, ClrStackContentInput, ClrStackHeader, ClrStackInput, ClrStackSelect, ClrStackView, ClrStackViewCustomTags, ClrStackViewModule, ClrStepButton, ClrStepButtonType, ClrStepper, ClrStepperModule, ClrStepperPanel, ClrTab, ClrTabContent, ClrTabLink, ClrTabOverflowContent, ClrTabs, ClrTabsModule, ClrTextarea, ClrTextareaContainer, ClrTextareaModule, ClrTimeline, ClrTimelineLayout, ClrTimelineModule, ClrTimelineStep, ClrTimelineStepDescription, ClrTimelineStepHeader, ClrTimelineStepState, ClrTimelineStepTitle, ClrTooltip, ClrTooltipContent, ClrTooltipModule, ClrTooltipTrigger, ClrTree, ClrTreeNode, ClrTreeNodeLink, ClrTreeViewModule, ClrVerticalNav, ClrVerticalNavGroup, ClrVerticalNavGroupChildren, ClrVerticalNavIcon, ClrVerticalNavLink, ClrVerticalNavModule, ClrWizard, ClrWizardButton, ClrWizardCustomTags, ClrWizardHeaderAction, ClrWizardModule, ClrWizardPage, ClrWizardPageButtons, ClrWizardPageHeaderActions, ClrWizardPageNavTitle, ClrWizardPageTitle, ClrWizardStepnav, ClrWizardStepnavItem, ClrYearpicker, DEFAULT_BUTTON_TYPES, DatagridNumericFilter, DatagridPropertyComparator, DatagridPropertyNumericFilter, DatagridPropertyStringFilter, DatagridStringFilter, EXPANDABLE_ANIMATION_DIRECTIVES, FOCUS_ON_VIEW_INIT, FOCUS_ON_VIEW_INIT_DIRECTIVES, IS_TOGGLE, IS_TOGGLE_PROVIDER, LoadingListener, MainContainerWillyWonka, NavDetectionOompaLoompa, TOGGLE_SERVICE, TOGGLE_SERVICE_PROVIDER, ToggleServiceFactory, WrappedFormControl, collapse, commonStringsDefault, fade, fadeSlide, isToggleFactory, slide, AccordionOompaLoompa as ÇlrAccordionOompaLoompa, AccordionWillyWonka as ÇlrAccordionWillyWonka, ActionableOompaLoompa as ÇlrActionableOompaLoompa, ActiveOompaLoompa as ÇlrActiveOompaLoompa, ClrFocusTrapModule as ÇlrClrFocusTrapModule, ClrPopoverCloseButton as ÇlrClrPopoverCloseButton, ClrPopoverModuleNext as ÇlrClrPopoverModuleNext, ClrPopoverOpenCloseButton as ÇlrClrPopoverOpenCloseButton, DatagridCellRenderer as ÇlrDatagridCellRenderer, DatagridDetailRegisterer as ÇlrDatagridDetailRegisterer, DatagridHeaderRenderer as ÇlrDatagridHeaderRenderer, DatagridMainRenderer as ÇlrDatagridMainRenderer, DatagridRowRenderer as ÇlrDatagridRowRenderer, DatagridWillyWonka as ÇlrDatagridWillyWonka, ExpandableOompaLoompa as ÇlrExpandableOompaLoompa, FocusTrapDirective as ÇlrFocusTrapDirective, FocusTrapTracker as ÇlrFocusTrapTracker, StepperOompaLoompa as ÇlrStepperOompaLoompa, StepperWillyWonka as ÇlrStepperWillyWonka, TabsWillyWonka as ÇlrTabsWillyWonka, WrappedCell as ÇlrWrappedCell, WrappedColumn as ÇlrWrappedColumn, WrappedRow as ÇlrWrappedRow };
|
|
26530
|
+
//# sourceMappingURL=clr-angular.mjs.map
|