@clr/angular 17.0.0-next.1 → 17.0.0
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/README.md +4 -0
- package/accordion/stepper/models/stepper.model.d.ts +2 -0
- package/accordion/stepper/providers/stepper.service.d.ts +2 -0
- package/clarity.api.md +57 -54
- package/data/datagrid/datagrid-if-expanded.service.d.ts +1 -1
- package/data/datagrid/datagrid.module.d.ts +36 -37
- package/data/datagrid/index.d.ts +0 -1
- package/data/datagrid/providers/items.d.ts +2 -11
- package/emphasis/alert/alert.d.ts +6 -2
- package/emphasis/alert/alert.module.d.ts +2 -1
- package/esm2020/accordion/accordion.mjs +3 -3
- package/esm2020/accordion/stepper/models/stepper.model.mjs +7 -1
- package/esm2020/accordion/stepper/providers/stepper.service.mjs +9 -1
- package/esm2020/accordion/stepper/stepper-panel.mjs +11 -6
- package/esm2020/button/button-group/button-group.mjs +9 -11
- package/esm2020/button/button-loading/loading-button.mjs +25 -15
- package/esm2020/data/datagrid/datagrid-column-toggle.mjs +3 -4
- package/esm2020/data/datagrid/datagrid-if-expanded.service.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-items.mjs +1 -2
- package/esm2020/data/datagrid/datagrid.mjs +3 -5
- package/esm2020/data/datagrid/datagrid.module.mjs +1 -5
- package/esm2020/data/datagrid/index.mjs +1 -2
- package/esm2020/data/datagrid/providers/items.mjs +3 -21
- package/esm2020/data/datagrid/providers/selection.mjs +16 -22
- package/esm2020/emphasis/alert/alert-item.mjs +9 -3
- package/esm2020/emphasis/alert/alert.mjs +21 -10
- package/esm2020/emphasis/alert/alert.module.mjs +7 -6
- package/esm2020/emphasis/alert/alerts.mjs +3 -2
- package/esm2020/emphasis/alert/providers/icon-and-types.service.mjs +20 -5
- package/esm2020/emphasis/alert/utils/alert-types.mjs +2 -2
- package/esm2020/forms/combobox/option-items.directive.mjs +12 -6
- package/esm2020/forms/common/wrapped-control.mjs +44 -19
- package/esm2020/forms/datepicker/date-input.mjs +10 -1
- package/esm2020/forms/datepicker/providers/date-io.service.mjs +2 -2
- package/esm2020/forms/password/password-container.mjs +9 -3
- package/esm2020/popover/signpost/signpost-trigger.mjs +2 -1
- package/esm2020/progress/progress-bars/progress-bar.mjs +8 -26
- package/esm2020/utils/chocolate/willy-wonka.mjs +1 -1
- package/esm2020/utils/focus/key-focus/key-focus.mjs +2 -2
- package/esm2020/utils/i18n/common-strings.default.mjs +5 -3
- package/esm2020/utils/i18n/common-strings.interface.mjs +1 -1
- package/esm2020/utils/popover/providers/popover-position.service.mjs +11 -3
- package/esm2020/wizard/providers/button-hub.service.mjs +1 -1
- package/esm2020/wizard/providers/wizard-navigation.service.mjs +1 -1
- package/esm2020/wizard/wizard.mjs +2 -2
- package/fesm2015/clr-angular.mjs +236 -208
- package/fesm2015/clr-angular.mjs.map +1 -1
- package/fesm2020/clr-angular.mjs +233 -205
- package/fesm2020/clr-angular.mjs.map +1 -1
- package/forms/common/wrapped-control.d.ts +10 -3
- package/forms/datepicker/date-input.d.ts +1 -0
- package/forms/password/password-container.d.ts +2 -0
- package/package.json +3 -3
- package/progress/progress-bars/progress-bar.d.ts +2 -10
- package/utils/chocolate/willy-wonka.d.ts +1 -1
- package/utils/i18n/common-strings.interface.d.ts +8 -0
- package/wizard/providers/button-hub.service.d.ts +6 -6
- package/wizard/providers/wizard-navigation.service.d.ts +1 -1
- package/data/datagrid/datagrid-items-trackby.d.ts +0 -10
- package/esm2020/data/datagrid/datagrid-items-trackby.mjs +0 -43
package/fesm2015/clr-angular.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive, NgModule, Optional, Input, Injectable, Component, ChangeDetectionStrategy, EventEmitter, HostBinding, Output, ContentChildren, PLATFORM_ID, Inject, ViewChild, HostListener, SkipSelf, Renderer2, InjectionToken, ElementRef, ContentChild, ComponentFactoryResolver, Self, Attribute, LOCALE_ID, ViewContainerRef, NgZone, ChangeDetectorRef, TemplateRef } from '@angular/core';
|
|
2
|
+
import { Directive, NgModule, Optional, Input, Injectable, Component, ChangeDetectionStrategy, EventEmitter, HostBinding, Output, ContentChildren, PLATFORM_ID, Inject, ViewChild, HostListener, SkipSelf, Renderer2, InjectionToken, ElementRef, ContentChild, ComponentFactoryResolver, KeyValueDiffers, Self, Attribute, LOCALE_ID, ViewContainerRef, NgZone, ChangeDetectorRef, TemplateRef } from '@angular/core';
|
|
3
3
|
import * as i5 from '@angular/common';
|
|
4
4
|
import { CommonModule, isPlatformBrowser, DOCUMENT, NgForOf, getLocaleDayNames, FormStyle, TranslationWidth, getLocaleMonthNames, getLocaleFirstDayOfWeek, getLocaleDateFormat, FormatWidth } from '@angular/common';
|
|
5
|
-
import { ClarityIcons, angleIcon, exclamationCircleIcon, checkCircleIcon, ellipsisHorizontalIcon, windowCloseIcon, eventIcon, calendarIcon, eyeHideIcon, eyeIcon, ellipsisVerticalIcon, viewColumnsIcon, arrowIcon, timesIcon, stepForward2Icon, angleDoubleIcon, filterGridCircleIcon, filterGridIcon,
|
|
6
|
-
import { map, tap, startWith, distinctUntilChanged,
|
|
5
|
+
import { ClarityIcons, angleIcon, exclamationCircleIcon, checkCircleIcon, ellipsisHorizontalIcon, windowCloseIcon, eventIcon, calendarIcon, eyeHideIcon, eyeIcon, ellipsisVerticalIcon, viewColumnsIcon, arrowIcon, timesIcon, stepForward2Icon, angleDoubleIcon, filterGridCircleIcon, filterGridIcon, errorStandardIcon, helpIcon, infoStandardIcon, noteIcon, successStandardIcon, warningStandardIcon, infoCircleIcon, circleIcon, dotCircleIcon } from '@cds/core/icon';
|
|
6
|
+
import { map, tap, startWith, distinctUntilChanged, filter, skipUntil, debounceTime, takeUntil, take, first, switchMap } from 'rxjs/operators';
|
|
7
7
|
import * as i3 from 'rxjs';
|
|
8
8
|
import { Subject, BehaviorSubject, Observable, fromEvent, isObservable, of, ReplaySubject, combineLatest, merge } from 'rxjs';
|
|
9
9
|
import { trigger, transition, style, animate, state, keyframes } from '@angular/animations';
|
|
@@ -281,6 +281,8 @@ const commonStringsDefault = {
|
|
|
281
281
|
success: 'Success',
|
|
282
282
|
warning: 'Warning',
|
|
283
283
|
danger: 'Error',
|
|
284
|
+
neutral: 'Neutral',
|
|
285
|
+
unknown: 'Unknown',
|
|
284
286
|
rowActions: 'Available actions',
|
|
285
287
|
pickColumns: 'Manage Columns',
|
|
286
288
|
showColumns: 'Show Columns',
|
|
@@ -363,8 +365,8 @@ const commonStringsDefault = {
|
|
|
363
365
|
* Password Input
|
|
364
366
|
* Screen-reader text for the hide/show password field button
|
|
365
367
|
*/
|
|
366
|
-
passwordHide: 'Hide password',
|
|
367
|
-
passwordShow: 'Show password',
|
|
368
|
+
passwordHide: 'Hide password for {LABEL}',
|
|
369
|
+
passwordShow: 'Show password for {LABEL}',
|
|
368
370
|
/**
|
|
369
371
|
* Datagrid footer; sr-only text after the number of selected rows.
|
|
370
372
|
*/
|
|
@@ -668,7 +670,7 @@ class ClrAccordion {
|
|
|
668
670
|
}
|
|
669
671
|
}
|
|
670
672
|
ClrAccordion.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAccordion, deps: [{ token: AccordionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
671
|
-
ClrAccordion.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrAccordion, selector: "clr-accordion", inputs: { multiPanel: ["clrAccordionMultiPanel", "multiPanel"] }, host: { properties: { "class.clr-accordion": "true" } }, providers: [AccordionService], queries: [{ propertyName: "panels", predicate: ClrAccordionPanel
|
|
673
|
+
ClrAccordion.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrAccordion, selector: "clr-accordion", inputs: { multiPanel: ["clrAccordionMultiPanel", "multiPanel"] }, host: { properties: { "class.clr-accordion": "true" } }, providers: [AccordionService], queries: [{ propertyName: "panels", predicate: ClrAccordionPanel }], usesOnChanges: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
672
674
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAccordion, decorators: [{
|
|
673
675
|
type: Component,
|
|
674
676
|
args: [{
|
|
@@ -683,7 +685,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
683
685
|
args: ['clrAccordionMultiPanel']
|
|
684
686
|
}], panels: [{
|
|
685
687
|
type: ContentChildren,
|
|
686
|
-
args: [ClrAccordionPanel
|
|
688
|
+
args: [ClrAccordionPanel]
|
|
687
689
|
}] } });
|
|
688
690
|
|
|
689
691
|
/*
|
|
@@ -949,6 +951,12 @@ class StepperModel extends AccordionModel {
|
|
|
949
951
|
}
|
|
950
952
|
});
|
|
951
953
|
}
|
|
954
|
+
setPanelValid(panelId) {
|
|
955
|
+
this._panels[panelId].status = AccordionStatus.Complete;
|
|
956
|
+
}
|
|
957
|
+
setPanelInvalid(panelId) {
|
|
958
|
+
this._panels[panelId].status = AccordionStatus.Error;
|
|
959
|
+
}
|
|
952
960
|
setPanelsWithErrors(ids) {
|
|
953
961
|
ids.forEach(id => this.setPanelError(id));
|
|
954
962
|
}
|
|
@@ -1032,6 +1040,14 @@ class StepperService extends AccordionService {
|
|
|
1032
1040
|
this.accordion.resetPanels();
|
|
1033
1041
|
this.emitUpdatedPanels();
|
|
1034
1042
|
}
|
|
1043
|
+
setPanelValid(panelId) {
|
|
1044
|
+
this.accordion.setPanelValid(panelId);
|
|
1045
|
+
this.emitUpdatedPanels();
|
|
1046
|
+
}
|
|
1047
|
+
setPanelInvalid(panelId) {
|
|
1048
|
+
this.accordion.setPanelInvalid(panelId);
|
|
1049
|
+
this.emitUpdatedPanels();
|
|
1050
|
+
}
|
|
1035
1051
|
setPanelsWithErrors(ids) {
|
|
1036
1052
|
this.accordion.setPanelsWithErrors(ids);
|
|
1037
1053
|
this.emitUpdatedPanels();
|
|
@@ -1094,11 +1110,16 @@ class ClrStepperPanel extends ClrAccordionPanel {
|
|
|
1094
1110
|
this.panel = this.panel.pipe(tap(panel => this.triggerAllFormControlValidationIfError(panel)));
|
|
1095
1111
|
this.stepperService.disablePanel(this.id, true);
|
|
1096
1112
|
this.listenToFocusChanges();
|
|
1113
|
+
// not all stepper panels are guaranteed to have a form (i.e. empty template-driven)
|
|
1097
1114
|
if (this.formGroup) {
|
|
1098
|
-
//
|
|
1099
|
-
this.
|
|
1100
|
-
|
|
1101
|
-
|
|
1115
|
+
// set panel status on form status change only after the form becomes invalid
|
|
1116
|
+
const invalidStatusTrigger = this.formGroup.statusChanges.pipe(filter(status => status === 'INVALID'));
|
|
1117
|
+
this.subscriptions.push(this.formGroup.statusChanges.pipe(skipUntil(invalidStatusTrigger), distinctUntilChanged()).subscribe(status => {
|
|
1118
|
+
if (status === 'VALID') {
|
|
1119
|
+
this.stepperService.setPanelValid(this.id);
|
|
1120
|
+
}
|
|
1121
|
+
else if (status === 'INVALID') {
|
|
1122
|
+
this.stepperService.setPanelInvalid(this.id);
|
|
1102
1123
|
}
|
|
1103
1124
|
}));
|
|
1104
1125
|
}
|
|
@@ -1943,12 +1964,12 @@ class ClrPopoverPositionService {
|
|
|
1943
1964
|
*
|
|
1944
1965
|
* Note, more than 3 viewport violations and there isn't anything we can do to help. Also when there are two
|
|
1945
1966
|
* violations, we can't help if the violations are TOP+BOTTOM || LEFT+RIGHT => There is no transformation we
|
|
1946
|
-
* can make to the
|
|
1967
|
+
* can make to the position that will help.
|
|
1947
1968
|
*
|
|
1948
1969
|
* Some examples:
|
|
1949
1970
|
* There is only one error and Primary axis is VERTICAL
|
|
1950
1971
|
* - this.handleVerticalAxisOneViolation has a switch that will use the error sum to apply the correct
|
|
1951
|
-
* transform to the
|
|
1972
|
+
* transform to the position based on the reduction of visibilityViolations.
|
|
1952
1973
|
*
|
|
1953
1974
|
* There are two errors and Primary axis is HORIZONTAL
|
|
1954
1975
|
* - handleHorizontalAxisTwoViolations has a switch that uses the error sum to apply both transforms needed to
|
|
@@ -1980,6 +2001,14 @@ class ClrPopoverPositionService {
|
|
|
1980
2001
|
if (this.currentContentCoords.top < 0) {
|
|
1981
2002
|
this.contentOffsets.yOffset += Math.abs(this.currentContentCoords.top);
|
|
1982
2003
|
}
|
|
2004
|
+
/**
|
|
2005
|
+
* This detects the condition where the popover is flipped because it would violate the bottom of the viewport, but flipping it results in the
|
|
2006
|
+
* popover rendering above the top of the body (y coordinate outside the body). In that event, it should be rendered within the body
|
|
2007
|
+
* as much as possible, so this logic sets the top of popover to render touching the top of the body.
|
|
2008
|
+
*/
|
|
2009
|
+
if (this.contentOffsets.yOffset + this.currentAnchorCoords.y < 0) {
|
|
2010
|
+
this.contentOffsets.yOffset = 0 - this.currentContentCoords.top;
|
|
2011
|
+
}
|
|
1983
2012
|
return this.contentOffsets;
|
|
1984
2013
|
}
|
|
1985
2014
|
handleVerticalAxisOneViolation(errorSum) {
|
|
@@ -3806,16 +3835,14 @@ class ClrButtonGroup {
|
|
|
3806
3835
|
this.menuButtons = tempInMenuButtons;
|
|
3807
3836
|
}
|
|
3808
3837
|
handleFocusOnMenuOpen() {
|
|
3809
|
-
|
|
3810
|
-
|
|
3811
|
-
|
|
3812
|
-
this.
|
|
3813
|
-
|
|
3814
|
-
|
|
3815
|
-
|
|
3816
|
-
|
|
3817
|
-
});
|
|
3818
|
-
}
|
|
3838
|
+
this.toggleService.popoverVisible.pipe(takeUntil(this.destroy$)).subscribe(visible => {
|
|
3839
|
+
if (visible) {
|
|
3840
|
+
this.focusHandler.initialize({
|
|
3841
|
+
menu: this.menu.nativeElement,
|
|
3842
|
+
menuToggle: this.menuToggle.nativeElement,
|
|
3843
|
+
});
|
|
3844
|
+
}
|
|
3845
|
+
});
|
|
3819
3846
|
}
|
|
3820
3847
|
}
|
|
3821
3848
|
ClrButtonGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrButtonGroup, deps: [{ token: ButtonInGroupService }, { token: ClrPopoverToggleService }, { token: ClrCommonStringsService }, { token: ClrDestroyService }, { token: ButtonGroupFocusHandler }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -3914,22 +3941,27 @@ class ClrLoadingButton {
|
|
|
3914
3941
|
}
|
|
3915
3942
|
ClrLoadingButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrLoadingButton, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
3916
3943
|
ClrLoadingButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrLoadingButton, selector: "button[clrLoading]", inputs: { disabled: "disabled" }, outputs: { clrLoadingChange: "clrLoadingChange" }, host: { properties: { "attr.disabled": "disabled? '' : null" } }, providers: [{ provide: LoadingListener, useExisting: ClrLoadingButton }], ngImport: i0, template: `
|
|
3917
|
-
<
|
|
3918
|
-
<
|
|
3944
|
+
<span @parent [ngSwitch]="state">
|
|
3945
|
+
<ng-container *ngSwitchCase="buttonState.LOADING">
|
|
3919
3946
|
<span @spinner class="spinner spinner-inline"></span>
|
|
3920
|
-
</
|
|
3921
|
-
<
|
|
3947
|
+
</ng-container>
|
|
3948
|
+
<ng-container *ngSwitchCase="buttonState.SUCCESS">
|
|
3922
3949
|
<span
|
|
3923
3950
|
@validated
|
|
3924
3951
|
(@validated.done)="this.loadingStateChange(this.buttonState.DEFAULT)"
|
|
3925
3952
|
class="spinner spinner-inline spinner-check"
|
|
3926
3953
|
></span>
|
|
3927
|
-
</
|
|
3928
|
-
<span *ngSwitchCase="buttonState.DEFAULT" @defaultButton>
|
|
3954
|
+
</ng-container>
|
|
3955
|
+
<span *ngSwitchCase="buttonState.DEFAULT" @defaultButton class="clr-loading-btn-content">
|
|
3929
3956
|
<ng-content></ng-content>
|
|
3930
3957
|
</span>
|
|
3931
|
-
</
|
|
3958
|
+
</span>
|
|
3932
3959
|
`, isInline: true, dependencies: [{ kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], animations: [
|
|
3960
|
+
trigger('parent', [
|
|
3961
|
+
// Skip :enter animation on first render.
|
|
3962
|
+
// The button text/content should only be faded when transitioning to or from a non-default state.
|
|
3963
|
+
transition(':enter', []),
|
|
3964
|
+
]),
|
|
3933
3965
|
trigger('defaultButton', [
|
|
3934
3966
|
transition(':enter', [style({ opacity: 0 }), animate('200ms 100ms ease-in', style({ opacity: 1 }))]),
|
|
3935
3967
|
// TODO: see if we can get leave animation to work before spinner's enter animation
|
|
@@ -3957,24 +3989,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
3957
3989
|
args: [{
|
|
3958
3990
|
selector: 'button[clrLoading]',
|
|
3959
3991
|
template: `
|
|
3960
|
-
<
|
|
3961
|
-
<
|
|
3992
|
+
<span @parent [ngSwitch]="state">
|
|
3993
|
+
<ng-container *ngSwitchCase="buttonState.LOADING">
|
|
3962
3994
|
<span @spinner class="spinner spinner-inline"></span>
|
|
3963
|
-
</
|
|
3964
|
-
<
|
|
3995
|
+
</ng-container>
|
|
3996
|
+
<ng-container *ngSwitchCase="buttonState.SUCCESS">
|
|
3965
3997
|
<span
|
|
3966
3998
|
@validated
|
|
3967
3999
|
(@validated.done)="this.loadingStateChange(this.buttonState.DEFAULT)"
|
|
3968
4000
|
class="spinner spinner-inline spinner-check"
|
|
3969
4001
|
></span>
|
|
3970
|
-
</
|
|
3971
|
-
<span *ngSwitchCase="buttonState.DEFAULT" @defaultButton>
|
|
4002
|
+
</ng-container>
|
|
4003
|
+
<span *ngSwitchCase="buttonState.DEFAULT" @defaultButton class="clr-loading-btn-content">
|
|
3972
4004
|
<ng-content></ng-content>
|
|
3973
4005
|
</span>
|
|
3974
|
-
</
|
|
4006
|
+
</span>
|
|
3975
4007
|
`,
|
|
3976
4008
|
providers: [{ provide: LoadingListener, useExisting: ClrLoadingButton }],
|
|
3977
4009
|
animations: [
|
|
4010
|
+
trigger('parent', [
|
|
4011
|
+
// Skip :enter animation on first render.
|
|
4012
|
+
// The button text/content should only be faded when transitioning to or from a non-default state.
|
|
4013
|
+
transition(':enter', []),
|
|
4014
|
+
]),
|
|
3978
4015
|
trigger('defaultButton', [
|
|
3979
4016
|
transition(':enter', [style({ opacity: 0 }), animate('200ms 100ms ease-in', style({ opacity: 1 }))]),
|
|
3980
4017
|
// TODO: see if we can get leave animation to work before spinner's enter animation
|
|
@@ -4805,6 +4842,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
4805
4842
|
* This software is released under MIT license.
|
|
4806
4843
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
4807
4844
|
*/
|
|
4845
|
+
var CHANGE_KEYS;
|
|
4846
|
+
(function (CHANGE_KEYS) {
|
|
4847
|
+
CHANGE_KEYS["FORM"] = "form";
|
|
4848
|
+
CHANGE_KEYS["MODEL"] = "model";
|
|
4849
|
+
})(CHANGE_KEYS || (CHANGE_KEYS = {}));
|
|
4808
4850
|
class WrappedFormControl {
|
|
4809
4851
|
// I lost way too much time trying to make this work without injecting the ViewContainerRef and the Injector,
|
|
4810
4852
|
// I'm giving up. So we have to inject these two manually for now.
|
|
@@ -4821,6 +4863,7 @@ class WrappedFormControl {
|
|
|
4821
4863
|
this.ifControlStateService = injector.get(IfControlStateService, null);
|
|
4822
4864
|
this.controlClassService = injector.get(ControlClassService, null);
|
|
4823
4865
|
this.markControlService = injector.get(MarkControlService, null);
|
|
4866
|
+
this.differs = injector.get(KeyValueDiffers, null);
|
|
4824
4867
|
}
|
|
4825
4868
|
if (this.controlClassService) {
|
|
4826
4869
|
this.controlClassService.initControlClass(renderer, el.nativeElement);
|
|
@@ -4835,6 +4878,9 @@ class WrappedFormControl {
|
|
|
4835
4878
|
this.setAriaDescribedBy(state);
|
|
4836
4879
|
}));
|
|
4837
4880
|
}
|
|
4881
|
+
if (ngControl) {
|
|
4882
|
+
this.differ = this.differs.find(ngControl).create();
|
|
4883
|
+
}
|
|
4838
4884
|
}
|
|
4839
4885
|
get id() {
|
|
4840
4886
|
return this._id;
|
|
@@ -4858,10 +4904,23 @@ class WrappedFormControl {
|
|
|
4858
4904
|
else {
|
|
4859
4905
|
this._id = this.controlIdService.id;
|
|
4860
4906
|
}
|
|
4861
|
-
if (this.ngControlService) {
|
|
4907
|
+
if (this.ngControlService && this.ngControl) {
|
|
4862
4908
|
this.ngControlService.setControl(this.ngControl);
|
|
4863
4909
|
}
|
|
4864
4910
|
}
|
|
4911
|
+
ngDoCheck() {
|
|
4912
|
+
if (this.differ) {
|
|
4913
|
+
const changes = this.differ.diff(this.ngControl);
|
|
4914
|
+
if (changes) {
|
|
4915
|
+
changes.forEachChangedItem(change => {
|
|
4916
|
+
if ((change.key === CHANGE_KEYS.FORM || change.key === CHANGE_KEYS.MODEL) &&
|
|
4917
|
+
change.currentValue !== change.previousValue) {
|
|
4918
|
+
this.triggerValidation();
|
|
4919
|
+
}
|
|
4920
|
+
});
|
|
4921
|
+
}
|
|
4922
|
+
}
|
|
4923
|
+
}
|
|
4865
4924
|
ngOnDestroy() {
|
|
4866
4925
|
this.subscriptions.forEach(sub => sub.unsubscribe());
|
|
4867
4926
|
}
|
|
@@ -4883,8 +4942,10 @@ class WrappedFormControl {
|
|
|
4883
4942
|
}
|
|
4884
4943
|
}
|
|
4885
4944
|
markAsTouched() {
|
|
4886
|
-
this.ngControl
|
|
4887
|
-
|
|
4945
|
+
if (this.ngControl) {
|
|
4946
|
+
this.ngControl.control.markAsTouched();
|
|
4947
|
+
this.ngControl.control.updateValueAndValidity();
|
|
4948
|
+
}
|
|
4888
4949
|
}
|
|
4889
4950
|
setAriaDescribedBy(helpers) {
|
|
4890
4951
|
if (helpers.show) {
|
|
@@ -4897,24 +4958,26 @@ class WrappedFormControl {
|
|
|
4897
4958
|
this.renderer.removeAttribute(this.el.nativeElement, 'aria-describedby');
|
|
4898
4959
|
}
|
|
4899
4960
|
getAriaDescribedById(helpers) {
|
|
4900
|
-
|
|
4901
|
-
|
|
4902
|
-
suffix = CONTROL_SUFFIX.ERROR;
|
|
4903
|
-
}
|
|
4904
|
-
else if (helpers.showValid) {
|
|
4905
|
-
suffix = CONTROL_SUFFIX.SUCCESS;
|
|
4906
|
-
}
|
|
4907
|
-
if (this.containerIdService) {
|
|
4908
|
-
return this.containerIdService.id.concat('-', suffix);
|
|
4909
|
-
}
|
|
4910
|
-
if (this.controlIdService) {
|
|
4911
|
-
return this.controlIdService.id.concat('-', suffix);
|
|
4912
|
-
}
|
|
4961
|
+
var _a, _b;
|
|
4962
|
+
const elementId = ((_a = this.containerIdService) === null || _a === void 0 ? void 0 : _a.id) || ((_b = this.controlIdService) === null || _b === void 0 ? void 0 : _b.id);
|
|
4913
4963
|
/**
|
|
4914
4964
|
* If ContainerIdService or ControlIdService are missing don't try to guess
|
|
4915
4965
|
* Don't set anything.
|
|
4916
4966
|
*/
|
|
4917
|
-
|
|
4967
|
+
if (!elementId) {
|
|
4968
|
+
return null;
|
|
4969
|
+
}
|
|
4970
|
+
/**
|
|
4971
|
+
* As the helper text is now always visible. If we have error/success then we should use both ids.
|
|
4972
|
+
*/
|
|
4973
|
+
const describedByIds = [`${elementId}-${CONTROL_SUFFIX.HELPER}`];
|
|
4974
|
+
if (helpers.showInvalid) {
|
|
4975
|
+
describedByIds.push(`${elementId}-${CONTROL_SUFFIX.ERROR}`);
|
|
4976
|
+
}
|
|
4977
|
+
else if (helpers.showValid) {
|
|
4978
|
+
describedByIds.push(`${elementId}-${CONTROL_SUFFIX.SUCCESS}`);
|
|
4979
|
+
}
|
|
4980
|
+
return describedByIds.join(' ');
|
|
4918
4981
|
}
|
|
4919
4982
|
}
|
|
4920
4983
|
WrappedFormControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: WrappedFormControl, deps: [{ token: i0.ViewContainerRef }, { token: i0.Type }, { token: i0.Injector }, { token: i1.NgControl }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -5774,7 +5837,7 @@ class ClrKeyFocus {
|
|
|
5774
5837
|
}
|
|
5775
5838
|
if (this.focusOnLoad) {
|
|
5776
5839
|
this.currentItem.focus();
|
|
5777
|
-
this.focusChange.
|
|
5840
|
+
this.focusChange.emit();
|
|
5778
5841
|
}
|
|
5779
5842
|
}
|
|
5780
5843
|
}
|
|
@@ -7160,25 +7223,24 @@ class ClrOptionItems {
|
|
|
7160
7223
|
if (!this._rawItems || this.filter === undefined || this.filter === null) {
|
|
7161
7224
|
return;
|
|
7162
7225
|
}
|
|
7226
|
+
const normalizedFilterValue = normalizeValue(this.filter);
|
|
7163
7227
|
if (this.optionService.showAllOptions) {
|
|
7164
7228
|
this.filteredItems = this._rawItems;
|
|
7165
7229
|
}
|
|
7166
7230
|
else if (this._filterField) {
|
|
7167
7231
|
this.filteredItems = this._rawItems.filter(item => {
|
|
7168
7232
|
const objValue = item[this._filterField];
|
|
7169
|
-
return objValue ? objValue
|
|
7233
|
+
return objValue ? normalizeValue(objValue).includes(normalizedFilterValue) : false;
|
|
7170
7234
|
});
|
|
7171
7235
|
}
|
|
7172
7236
|
else {
|
|
7173
7237
|
// Filter by all item object values
|
|
7174
7238
|
this.filteredItems = this._rawItems.filter(item => {
|
|
7175
7239
|
if (typeof item !== 'object') {
|
|
7176
|
-
return item
|
|
7240
|
+
return normalizeValue(item).includes(normalizedFilterValue);
|
|
7177
7241
|
}
|
|
7178
7242
|
const objValues = Object.values(item).filter(value => {
|
|
7179
|
-
return value !== null && value !== undefined
|
|
7180
|
-
? value.toString().toLowerCase().indexOf(this.filter.toString().toLowerCase()) > -1
|
|
7181
|
-
: false;
|
|
7243
|
+
return value !== null && value !== undefined ? normalizeValue(value).includes(normalizedFilterValue) : false;
|
|
7182
7244
|
});
|
|
7183
7245
|
return objValues.length > 0;
|
|
7184
7246
|
});
|
|
@@ -7203,6 +7265,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
7203
7265
|
type: Input,
|
|
7204
7266
|
args: ['clrOptionItemsField']
|
|
7205
7267
|
}] } });
|
|
7268
|
+
function normalizeValue(value) {
|
|
7269
|
+
return value
|
|
7270
|
+
.toString()
|
|
7271
|
+
.normalize('NFD')
|
|
7272
|
+
.replace(/\p{Diacritic}/gu, '')
|
|
7273
|
+
.toLowerCase();
|
|
7274
|
+
}
|
|
7206
7275
|
|
|
7207
7276
|
/*
|
|
7208
7277
|
* Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
|
|
@@ -8424,7 +8493,7 @@ class DateIOService {
|
|
|
8424
8493
|
return '';
|
|
8425
8494
|
}
|
|
8426
8495
|
getDateValueFromDateString(date) {
|
|
8427
|
-
if (!date) {
|
|
8496
|
+
if (!date || typeof date !== 'string') {
|
|
8428
8497
|
return null;
|
|
8429
8498
|
}
|
|
8430
8499
|
const dateParts = date.match(USER_INPUT_REGEX);
|
|
@@ -9634,9 +9703,11 @@ class ClrDateInput extends WrappedFormControl {
|
|
|
9634
9703
|
}
|
|
9635
9704
|
set min(dateString) {
|
|
9636
9705
|
this.dateIOService.setMinDate(dateString);
|
|
9706
|
+
this.triggerControlValidation();
|
|
9637
9707
|
}
|
|
9638
9708
|
set max(dateString) {
|
|
9639
9709
|
this.dateIOService.setMaxDate(dateString);
|
|
9710
|
+
this.triggerControlValidation();
|
|
9640
9711
|
}
|
|
9641
9712
|
get disabled() {
|
|
9642
9713
|
if (this.dateFormControlService) {
|
|
@@ -9701,6 +9772,14 @@ class ClrDateInput extends WrappedFormControl {
|
|
|
9701
9772
|
this.focusService.focused = focus;
|
|
9702
9773
|
}
|
|
9703
9774
|
}
|
|
9775
|
+
triggerControlValidation() {
|
|
9776
|
+
var _a, _b;
|
|
9777
|
+
if (this.datepickerHasFormControl()) {
|
|
9778
|
+
// Set `emitEvent` to false to prevent unnecessary value change event. Status change event will be emitted by `setErrors` below.
|
|
9779
|
+
(_a = this.control.control) === null || _a === void 0 ? void 0 : _a.updateValueAndValidity({ emitEvent: false });
|
|
9780
|
+
(_b = this.control.control) === null || _b === void 0 ? void 0 : _b.setErrors(this.control.control.errors);
|
|
9781
|
+
}
|
|
9782
|
+
}
|
|
9704
9783
|
populateServicesFromContainerComponent() {
|
|
9705
9784
|
if (!this.container) {
|
|
9706
9785
|
this.dateIOService = this.getProviderFromContainer(DateIOService);
|
|
@@ -10010,6 +10089,12 @@ class ClrPasswordContainer extends ClrAbstractContainer {
|
|
|
10010
10089
|
this.show = !this.show;
|
|
10011
10090
|
this.toggleService.next(this.show);
|
|
10012
10091
|
}
|
|
10092
|
+
showPasswordText(label) {
|
|
10093
|
+
return this.commonStrings.parse(this.commonStrings.keys.passwordShow, { LABEL: label });
|
|
10094
|
+
}
|
|
10095
|
+
hidePasswordText(label) {
|
|
10096
|
+
return this.commonStrings.parse(this.commonStrings.keys.passwordHide, { LABEL: label });
|
|
10097
|
+
}
|
|
10013
10098
|
}
|
|
10014
10099
|
ClrPasswordContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrPasswordContainer, deps: [{ token: IfControlStateService }, { token: LayoutService, optional: true }, { token: ControlClassService }, { token: NgControlService }, { token: FocusService }, { token: TOGGLE_SERVICE }, { token: ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
10015
10100
|
ClrPasswordContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrPasswordContainer, selector: "clr-password-container", inputs: { clrToggle: "clrToggle" }, host: { properties: { "class.clr-form-control": "true", "class.clr-form-control-disabled": "control?.disabled", "class.clr-row": "addGrid()" } }, providers: [
|
|
@@ -10035,7 +10120,7 @@ ClrPasswordContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
10035
10120
|
>
|
|
10036
10121
|
<cds-icon class="clr-password-eye-icon" [attr.shape]="show ? 'eye-hide' : 'eye'"></cds-icon>
|
|
10037
10122
|
<span class="clr-sr-only">
|
|
10038
|
-
{{ show ?
|
|
10123
|
+
{{ show ? hidePasswordText(label?.labelText) : showPasswordText(label?.labelText) }}
|
|
10039
10124
|
</span>
|
|
10040
10125
|
</button>
|
|
10041
10126
|
</div>
|
|
@@ -10079,7 +10164,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
10079
10164
|
>
|
|
10080
10165
|
<cds-icon class="clr-password-eye-icon" [attr.shape]="show ? 'eye-hide' : 'eye'"></cds-icon>
|
|
10081
10166
|
<span class="clr-sr-only">
|
|
10082
|
-
{{ show ?
|
|
10167
|
+
{{ show ? hidePasswordText(label?.labelText) : showPasswordText(label?.labelText) }}
|
|
10083
10168
|
</span>
|
|
10084
10169
|
</button>
|
|
10085
10170
|
</div>
|
|
@@ -13290,11 +13375,9 @@ class Items {
|
|
|
13290
13375
|
this._change = new Subject();
|
|
13291
13376
|
this._allChanges = new Subject();
|
|
13292
13377
|
/**
|
|
13293
|
-
* Tracking function to identify objects.
|
|
13294
|
-
*
|
|
13295
|
-
* @deprecated in v15 and scheduled for removal in v17 (CDE-71)
|
|
13378
|
+
* Tracking function to identify objects.
|
|
13296
13379
|
*/
|
|
13297
|
-
this.
|
|
13380
|
+
this.trackBy = item => item;
|
|
13298
13381
|
}
|
|
13299
13382
|
get smart() {
|
|
13300
13383
|
return this._smart;
|
|
@@ -13371,22 +13454,6 @@ class Items {
|
|
|
13371
13454
|
this._filterItems();
|
|
13372
13455
|
}
|
|
13373
13456
|
}
|
|
13374
|
-
canTrackBy() {
|
|
13375
|
-
// all items are needed unless `datagridTrackBy` is set because `iteratorTrackBy` requires the item's index
|
|
13376
|
-
return !!this.datagridTrackBy || Array.isArray(this.all);
|
|
13377
|
-
}
|
|
13378
|
-
trackBy(item, index) {
|
|
13379
|
-
if (this.datagridTrackBy) {
|
|
13380
|
-
return this.datagridTrackBy(item);
|
|
13381
|
-
}
|
|
13382
|
-
else if (Array.isArray(this.all)) {
|
|
13383
|
-
index = index !== null && index !== void 0 ? index : this.all.indexOf(item);
|
|
13384
|
-
return this.iteratorTrackBy(index, item);
|
|
13385
|
-
}
|
|
13386
|
-
else {
|
|
13387
|
-
throw new Error('improper call to Items#trackBy');
|
|
13388
|
-
}
|
|
13389
|
-
}
|
|
13390
13457
|
emitChange() {
|
|
13391
13458
|
this._change.next(this.displayed);
|
|
13392
13459
|
}
|
|
@@ -13469,7 +13536,6 @@ class ClrDatagridItems {
|
|
|
13469
13536
|
this._rawItems = items ? items : []; // local copy for ngOnChange diffing
|
|
13470
13537
|
}
|
|
13471
13538
|
set trackBy(value) {
|
|
13472
|
-
this.items.iteratorTrackBy = value;
|
|
13473
13539
|
this.iterableProxy.ngForTrackBy = value;
|
|
13474
13540
|
}
|
|
13475
13541
|
/**
|
|
@@ -13613,6 +13679,7 @@ class ClrSignpostTrigger {
|
|
|
13613
13679
|
this.signpostIdService = signpostIdService;
|
|
13614
13680
|
this.signpostFocusManager = signpostFocusManager;
|
|
13615
13681
|
this.platformId = platformId;
|
|
13682
|
+
this.ariaExpanded = false;
|
|
13616
13683
|
this.subscriptions = [];
|
|
13617
13684
|
this.document = document;
|
|
13618
13685
|
}
|
|
@@ -13986,12 +14053,10 @@ class Selection {
|
|
|
13986
14053
|
let selectionUpdated = false;
|
|
13987
14054
|
// if the currentSingle has been set before data was loaded, we look up and save the ref from current data set
|
|
13988
14055
|
if (this.currentSingle && !this.prevSingleSelectionRef) {
|
|
13989
|
-
|
|
13990
|
-
this.prevSingleSelectionRef = this._items.trackBy(this.currentSingle);
|
|
13991
|
-
}
|
|
14056
|
+
this.prevSingleSelectionRef = this._items.trackBy(this.currentSingle);
|
|
13992
14057
|
}
|
|
13993
|
-
updatedItems.forEach(
|
|
13994
|
-
const ref = this._items.trackBy(item
|
|
14058
|
+
updatedItems.forEach(item => {
|
|
14059
|
+
const ref = this._items.trackBy(item);
|
|
13995
14060
|
// If one of the updated items is the previously selectedSingle, set it as the new one
|
|
13996
14061
|
if (this.prevSingleSelectionRef === ref) {
|
|
13997
14062
|
newSingle = item;
|
|
@@ -14024,20 +14089,18 @@ class Selection {
|
|
|
14024
14089
|
let selectionUpdated = false;
|
|
14025
14090
|
// if the current has been set before data was loaded, we look up and save the ref from current data set
|
|
14026
14091
|
if (this.current.length > 0 && this.prevSelectionRefs.length !== this.current.length) {
|
|
14027
|
-
|
|
14028
|
-
|
|
14029
|
-
this.
|
|
14030
|
-
|
|
14031
|
-
});
|
|
14032
|
-
}
|
|
14092
|
+
this.prevSelectionRefs = [];
|
|
14093
|
+
this.current.forEach(item => {
|
|
14094
|
+
this.prevSelectionRefs.push(this._items.trackBy(item));
|
|
14095
|
+
});
|
|
14033
14096
|
}
|
|
14034
14097
|
// Duplicate loop, when the issue is issue#2342 is revisited keep in mind that
|
|
14035
14098
|
// we need to go over every updated item and check to see if there are valid to be
|
|
14036
14099
|
// locked or not and update it. When only add items that are found in the lockedRefs back.
|
|
14037
14100
|
//
|
|
14038
14101
|
// The both loops below that goes over updatedItems could be combined into one.
|
|
14039
|
-
updatedItems.forEach(
|
|
14040
|
-
const ref = this._items.trackBy(item
|
|
14102
|
+
updatedItems.forEach(item => {
|
|
14103
|
+
const ref = this._items.trackBy(item);
|
|
14041
14104
|
if (this.lockedRefs.indexOf(ref) > -1) {
|
|
14042
14105
|
updateLockedRef.push(ref);
|
|
14043
14106
|
}
|
|
@@ -14046,8 +14109,8 @@ class Selection {
|
|
|
14046
14109
|
// currently, the selection is cleared when filter is applied, so the logic inside
|
|
14047
14110
|
// the if statement below results in broken behavior.
|
|
14048
14111
|
if (leftOver.length > 0) {
|
|
14049
|
-
updatedItems.forEach(
|
|
14050
|
-
const ref = this._items.trackBy(item
|
|
14112
|
+
updatedItems.forEach(item => {
|
|
14113
|
+
const ref = this._items.trackBy(item);
|
|
14051
14114
|
// Look in current selected refs array if item is selected, and update actual value
|
|
14052
14115
|
const selectedIndex = this.prevSelectionRefs.indexOf(ref);
|
|
14053
14116
|
if (selectedIndex > -1) {
|
|
@@ -14113,7 +14176,7 @@ class Selection {
|
|
|
14113
14176
|
return;
|
|
14114
14177
|
}
|
|
14115
14178
|
this._currentSingle = value;
|
|
14116
|
-
if (
|
|
14179
|
+
if (value) {
|
|
14117
14180
|
this.prevSingleSelectionRef = this._items.trackBy(value);
|
|
14118
14181
|
}
|
|
14119
14182
|
this.emitChange();
|
|
@@ -14259,10 +14322,8 @@ class Selection {
|
|
|
14259
14322
|
*/
|
|
14260
14323
|
selectItem(item) {
|
|
14261
14324
|
this.current = this.current.concat(item);
|
|
14262
|
-
|
|
14263
|
-
|
|
14264
|
-
this.prevSelectionRefs.push(this._items.trackBy(item));
|
|
14265
|
-
}
|
|
14325
|
+
// Push selected ref onto array
|
|
14326
|
+
this.prevSelectionRefs.push(this._items.trackBy(item));
|
|
14266
14327
|
}
|
|
14267
14328
|
/**
|
|
14268
14329
|
* Deselects an item
|
|
@@ -14280,7 +14341,7 @@ class Selection {
|
|
|
14280
14341
|
* Make sure that it could be locked
|
|
14281
14342
|
*/
|
|
14282
14343
|
canItBeLocked() {
|
|
14283
|
-
return this._selectionType !== SelectionType.None
|
|
14344
|
+
return this._selectionType !== SelectionType.None;
|
|
14284
14345
|
}
|
|
14285
14346
|
emitChange() {
|
|
14286
14347
|
if (this._selectionType === SelectionType.Single) {
|
|
@@ -15068,7 +15129,7 @@ class ClrDatagrid {
|
|
|
15068
15129
|
this.selection.rowSelectionMode = value;
|
|
15069
15130
|
}
|
|
15070
15131
|
set trackBy(value) {
|
|
15071
|
-
this.items.
|
|
15132
|
+
this.items.trackBy = value;
|
|
15072
15133
|
}
|
|
15073
15134
|
/**
|
|
15074
15135
|
* Indicates if all currently displayed items are selected
|
|
@@ -15110,9 +15171,7 @@ class ClrDatagrid {
|
|
|
15110
15171
|
});
|
|
15111
15172
|
// Try to update only when there is something cached and its open.
|
|
15112
15173
|
if (this.detailService.state && this.detailService.isOpen) {
|
|
15113
|
-
const row = this.items.
|
|
15114
|
-
? this.rows.find(row => this.items.trackBy(row.item) === this.items.trackBy(this.detailService.state))
|
|
15115
|
-
: undefined;
|
|
15174
|
+
const row = this.rows.find(row => this.items.trackBy(row.item) === this.items.trackBy(this.detailService.state));
|
|
15116
15175
|
/**
|
|
15117
15176
|
* Reopen updated row or close it
|
|
15118
15177
|
*/
|
|
@@ -15499,47 +15558,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
15499
15558
|
*/
|
|
15500
15559
|
const columnToggleTrackByFn = index => index;
|
|
15501
15560
|
|
|
15502
|
-
/*
|
|
15503
|
-
* Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
|
|
15504
|
-
* This software is released under MIT license.
|
|
15505
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
15506
|
-
*/
|
|
15507
|
-
class ClrDatagridItemsTrackBy {
|
|
15508
|
-
constructor(_items) {
|
|
15509
|
-
this._items = _items;
|
|
15510
|
-
}
|
|
15511
|
-
set trackBy(value) {
|
|
15512
|
-
/**
|
|
15513
|
-
* This is a workaround to prevent the items `trackBy` function from
|
|
15514
|
-
* being replaced when the "manage columns" button is clicked. This is
|
|
15515
|
-
* not a complete solution. If there is another `ngForTrackBy` function
|
|
15516
|
-
* within the datagrid in application code, it could sill replace the
|
|
15517
|
-
* items `trackBy` function whether it is the row iterator or not.
|
|
15518
|
-
*/
|
|
15519
|
-
if (value === columnToggleTrackByFn) {
|
|
15520
|
-
return;
|
|
15521
|
-
}
|
|
15522
|
-
if (this._items) {
|
|
15523
|
-
this._items.iteratorTrackBy = value;
|
|
15524
|
-
}
|
|
15525
|
-
}
|
|
15526
|
-
}
|
|
15527
|
-
ClrDatagridItemsTrackBy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridItemsTrackBy, deps: [{ token: Items, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
15528
|
-
ClrDatagridItemsTrackBy.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: ClrDatagridItemsTrackBy, selector: "[ngForTrackBy]", inputs: { trackBy: ["ngForTrackBy", "trackBy"] }, ngImport: i0 });
|
|
15529
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridItemsTrackBy, decorators: [{
|
|
15530
|
-
type: Directive,
|
|
15531
|
-
args: [{
|
|
15532
|
-
selector: '[ngForTrackBy]',
|
|
15533
|
-
}]
|
|
15534
|
-
}], ctorParameters: function () {
|
|
15535
|
-
return [{ type: Items, decorators: [{
|
|
15536
|
-
type: Optional
|
|
15537
|
-
}] }];
|
|
15538
|
-
}, propDecorators: { trackBy: [{
|
|
15539
|
-
type: Input,
|
|
15540
|
-
args: ['ngForTrackBy']
|
|
15541
|
-
}] } });
|
|
15542
|
-
|
|
15543
15561
|
/*
|
|
15544
15562
|
* Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
|
|
15545
15563
|
* This software is released under MIT license.
|
|
@@ -15708,7 +15726,7 @@ ClrDatagridColumnToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
15708
15726
|
<clr-dg-column-toggle-button (clrAllSelected)="allColumnsSelected()"></clr-dg-column-toggle-button>
|
|
15709
15727
|
</div>
|
|
15710
15728
|
</div>
|
|
15711
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdkTrapFocusModule_CdkTrapFocus, selector: "[cdkTrapFocus]" }, { kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ClrPopoverAnchor, selector: "[clrPopoverAnchor]" }, { kind: "directive", type: ClrPopoverCloseButton, selector: "[clrPopoverCloseButton]", outputs: ["clrPopoverOnCloseChange"] }, { kind: "directive", type: ClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { kind: "directive", type: ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose"] }, { kind: "
|
|
15729
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdkTrapFocusModule_CdkTrapFocus, selector: "[cdkTrapFocus]" }, { kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ClrPopoverAnchor, selector: "[clrPopoverAnchor]" }, { kind: "directive", type: ClrPopoverCloseButton, selector: "[clrPopoverCloseButton]", outputs: ["clrPopoverOnCloseChange"] }, { kind: "directive", type: ClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { kind: "directive", type: ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose"] }, { kind: "component", type: ClrDatagridColumnToggleButton, selector: "clr-dg-column-toggle-button", outputs: ["clrAllSelected"] }] });
|
|
15712
15730
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridColumnToggle, decorators: [{
|
|
15713
15731
|
type: Component,
|
|
15714
15732
|
args: [{
|
|
@@ -17228,7 +17246,6 @@ const CLR_DATAGRID_DIRECTIVES = [
|
|
|
17228
17246
|
ClrDatagridFooter,
|
|
17229
17247
|
ClrDatagridHideableColumn,
|
|
17230
17248
|
ClrDatagridItems,
|
|
17231
|
-
ClrDatagridItemsTrackBy,
|
|
17232
17249
|
ClrDatagridPageSize,
|
|
17233
17250
|
ClrDatagridPagination,
|
|
17234
17251
|
ClrDatagridPlaceholder,
|
|
@@ -17275,7 +17292,6 @@ ClrDatagridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versi
|
|
|
17275
17292
|
ClrDatagridFooter,
|
|
17276
17293
|
ClrDatagridHideableColumn,
|
|
17277
17294
|
ClrDatagridItems,
|
|
17278
|
-
ClrDatagridItemsTrackBy,
|
|
17279
17295
|
ClrDatagridPageSize,
|
|
17280
17296
|
ClrDatagridPagination,
|
|
17281
17297
|
ClrDatagridPlaceholder,
|
|
@@ -17326,7 +17342,6 @@ ClrDatagridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versi
|
|
|
17326
17342
|
ClrDatagridFooter,
|
|
17327
17343
|
ClrDatagridHideableColumn,
|
|
17328
17344
|
ClrDatagridItems,
|
|
17329
|
-
ClrDatagridItemsTrackBy,
|
|
17330
17345
|
ClrDatagridPageSize,
|
|
17331
17346
|
ClrDatagridPagination,
|
|
17332
17347
|
ClrDatagridPlaceholder,
|
|
@@ -19799,13 +19814,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
19799
19814
|
}]
|
|
19800
19815
|
}] });
|
|
19801
19816
|
|
|
19817
|
+
/*
|
|
19818
|
+
* Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
|
|
19819
|
+
* This software is released under MIT license.
|
|
19820
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
19821
|
+
*/
|
|
19822
|
+
|
|
19802
19823
|
/*
|
|
19803
19824
|
* Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
|
|
19804
19825
|
* This software is released under MIT license.
|
|
19805
19826
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
19806
19827
|
*/
|
|
19807
19828
|
// @TODO Make this an enum
|
|
19808
|
-
const ALERT_TYPES = ['info', 'warning', 'danger', 'success'];
|
|
19829
|
+
const ALERT_TYPES = ['info', 'warning', 'danger', 'success', 'neutral', 'unknown', 'loading'];
|
|
19809
19830
|
|
|
19810
19831
|
/*
|
|
19811
19832
|
* Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
|
|
@@ -19815,7 +19836,7 @@ const ALERT_TYPES = ['info', 'warning', 'danger', 'success'];
|
|
|
19815
19836
|
class AlertIconAndTypesService {
|
|
19816
19837
|
constructor(commonStrings) {
|
|
19817
19838
|
this.commonStrings = commonStrings;
|
|
19818
|
-
this.defaultIconShape = 'info-
|
|
19839
|
+
this.defaultIconShape = 'info-standard';
|
|
19819
19840
|
this._alertIconShape = '';
|
|
19820
19841
|
this._alertType = 'info';
|
|
19821
19842
|
}
|
|
@@ -19848,20 +19869,35 @@ class AlertIconAndTypesService {
|
|
|
19848
19869
|
const returnObj = { shape: '', cssClass: '', title: '' };
|
|
19849
19870
|
switch (type) {
|
|
19850
19871
|
case 'warning':
|
|
19851
|
-
returnObj.shape = '
|
|
19872
|
+
returnObj.shape = 'warning-standard';
|
|
19852
19873
|
returnObj.cssClass = 'alert-warning';
|
|
19853
19874
|
returnObj.title = this.commonStrings.keys.warning;
|
|
19854
19875
|
break;
|
|
19855
19876
|
case 'danger':
|
|
19856
|
-
returnObj.shape = '
|
|
19877
|
+
returnObj.shape = 'error-standard';
|
|
19857
19878
|
returnObj.cssClass = 'alert-danger';
|
|
19858
19879
|
returnObj.title = this.commonStrings.keys.danger;
|
|
19859
19880
|
break;
|
|
19860
19881
|
case 'success':
|
|
19861
|
-
returnObj.shape = '
|
|
19882
|
+
returnObj.shape = 'success-standard';
|
|
19862
19883
|
returnObj.cssClass = 'alert-success';
|
|
19863
19884
|
returnObj.title = this.commonStrings.keys.success;
|
|
19864
19885
|
break;
|
|
19886
|
+
case 'neutral':
|
|
19887
|
+
returnObj.shape = 'note';
|
|
19888
|
+
returnObj.cssClass = 'alert-neutral';
|
|
19889
|
+
returnObj.title = this.commonStrings.keys.neutral;
|
|
19890
|
+
break;
|
|
19891
|
+
case 'unknown':
|
|
19892
|
+
returnObj.shape = 'help';
|
|
19893
|
+
returnObj.cssClass = 'alert-neutral';
|
|
19894
|
+
returnObj.title = this.commonStrings.keys.unknown;
|
|
19895
|
+
break;
|
|
19896
|
+
case 'loading':
|
|
19897
|
+
returnObj.shape = 'loading';
|
|
19898
|
+
returnObj.cssClass = 'alert-neutral';
|
|
19899
|
+
returnObj.title = this.commonStrings.keys.unknown;
|
|
19900
|
+
break;
|
|
19865
19901
|
default:
|
|
19866
19902
|
returnObj.shape = this.defaultIconShape;
|
|
19867
19903
|
returnObj.cssClass = 'alert-info';
|
|
@@ -19983,7 +20019,6 @@ class ClrAlert {
|
|
|
19983
20019
|
this.commonStrings = commonStrings;
|
|
19984
20020
|
this.renderer = renderer;
|
|
19985
20021
|
this.hostElement = hostElement;
|
|
19986
|
-
this.isLight = false;
|
|
19987
20022
|
this.isSmall = false;
|
|
19988
20023
|
this.closable = true;
|
|
19989
20024
|
this.isAppLevel = false;
|
|
@@ -19991,12 +20026,21 @@ class ClrAlert {
|
|
|
19991
20026
|
this._closedChanged = new EventEmitter(false);
|
|
19992
20027
|
this._closed = false;
|
|
19993
20028
|
this.subscriptions = [];
|
|
20029
|
+
this._isLightweight = false;
|
|
20030
|
+
}
|
|
20031
|
+
get isLightweight() {
|
|
20032
|
+
return this._isLightweight;
|
|
20033
|
+
}
|
|
20034
|
+
set isLightweight(val) {
|
|
20035
|
+
this._isLightweight = val;
|
|
20036
|
+
this.configAlertType(this._origAlertType);
|
|
19994
20037
|
}
|
|
19995
20038
|
get alertType() {
|
|
19996
20039
|
return this.iconService.alertType;
|
|
19997
20040
|
}
|
|
19998
20041
|
set alertType(val) {
|
|
19999
|
-
this.
|
|
20042
|
+
this._origAlertType = val;
|
|
20043
|
+
this.configAlertType(val);
|
|
20000
20044
|
}
|
|
20001
20045
|
set alertIconShape(value) {
|
|
20002
20046
|
this.iconService.alertIconShape = value;
|
|
@@ -20038,6 +20082,9 @@ class ClrAlert {
|
|
|
20038
20082
|
ngOnDestroy() {
|
|
20039
20083
|
this.subscriptions.forEach(sub => sub.unsubscribe());
|
|
20040
20084
|
}
|
|
20085
|
+
configAlertType(val) {
|
|
20086
|
+
this.iconService.alertType = val;
|
|
20087
|
+
}
|
|
20041
20088
|
open() {
|
|
20042
20089
|
this._closed = false;
|
|
20043
20090
|
if (this.multiAlertService) {
|
|
@@ -20046,31 +20093,28 @@ class ClrAlert {
|
|
|
20046
20093
|
this._closedChanged.emit(false);
|
|
20047
20094
|
}
|
|
20048
20095
|
close() {
|
|
20049
|
-
var _a;
|
|
20096
|
+
var _a, _b;
|
|
20050
20097
|
if (!this.closable) {
|
|
20051
20098
|
return;
|
|
20052
20099
|
}
|
|
20053
20100
|
const isCurrentAlert = ((_a = this.multiAlertService) === null || _a === void 0 ? void 0 : _a.currentAlert) === this;
|
|
20054
20101
|
this._closed = true;
|
|
20055
|
-
if (this.multiAlertService) {
|
|
20102
|
+
if ((_b = this.multiAlertService) === null || _b === void 0 ? void 0 : _b.activeAlerts) {
|
|
20056
20103
|
this.multiAlertService.close(isCurrentAlert);
|
|
20057
20104
|
}
|
|
20058
20105
|
this._closedChanged.emit(true);
|
|
20059
20106
|
}
|
|
20060
20107
|
}
|
|
20061
20108
|
ClrAlert.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAlert, deps: [{ token: AlertIconAndTypesService }, { token: i0.ChangeDetectorRef }, { token: MultiAlertService, optional: true }, { token: ClrCommonStringsService }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
20062
|
-
ClrAlert.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrAlert, selector: "clr-alert", inputs: {
|
|
20109
|
+
ClrAlert.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrAlert, selector: "clr-alert", inputs: { isSmall: ["clrAlertSizeSmall", "isSmall"], closable: ["clrAlertClosable", "closable"], isAppLevel: ["clrAlertAppLevel", "isAppLevel"], clrCloseButtonAriaLabel: "clrCloseButtonAriaLabel", isLightweight: ["clrAlertLightweight", "isLightweight"], alertType: ["clrAlertType", "alertType"], alertIconShape: ["clrAlertIcon", "alertIconShape"], closed: ["clrAlertClosed", "closed"] }, outputs: { _closedChanged: "clrAlertClosedChange" }, providers: [AlertIconAndTypesService], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2023 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-sm]=\"isSmall\"\n [class.alert-lightweight]=\"isLightweight\"\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", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
20063
20110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAlert, decorators: [{
|
|
20064
20111
|
type: Component,
|
|
20065
|
-
args: [{ selector: 'clr-alert', providers: [AlertIconAndTypesService], template: "<!--\n ~ Copyright (c) 2016-2023 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-sm]=\"isSmall\"\n [class.alert-lightweight]=\"
|
|
20112
|
+
args: [{ selector: 'clr-alert', providers: [AlertIconAndTypesService], template: "<!--\n ~ Copyright (c) 2016-2023 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-sm]=\"isSmall\"\n [class.alert-lightweight]=\"isLightweight\"\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" }]
|
|
20066
20113
|
}], ctorParameters: function () {
|
|
20067
20114
|
return [{ type: AlertIconAndTypesService }, { type: i0.ChangeDetectorRef }, { type: MultiAlertService, decorators: [{
|
|
20068
20115
|
type: Optional
|
|
20069
20116
|
}] }, { type: ClrCommonStringsService }, { type: i0.Renderer2 }, { type: i0.ElementRef }];
|
|
20070
|
-
}, propDecorators: {
|
|
20071
|
-
type: Input,
|
|
20072
|
-
args: ['clrAlertLightweight']
|
|
20073
|
-
}], isSmall: [{
|
|
20117
|
+
}, propDecorators: { isSmall: [{
|
|
20074
20118
|
type: Input,
|
|
20075
20119
|
args: ['clrAlertSizeSmall']
|
|
20076
20120
|
}], closable: [{
|
|
@@ -20084,6 +20128,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
20084
20128
|
}], _closedChanged: [{
|
|
20085
20129
|
type: Output,
|
|
20086
20130
|
args: ['clrAlertClosedChange']
|
|
20131
|
+
}], isLightweight: [{
|
|
20132
|
+
type: Input,
|
|
20133
|
+
args: ['clrAlertLightweight']
|
|
20087
20134
|
}], alertType: [{
|
|
20088
20135
|
type: Input,
|
|
20089
20136
|
args: ['clrAlertType']
|
|
@@ -20108,24 +20155,28 @@ class ClrAlertItem {
|
|
|
20108
20155
|
ClrAlertItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAlertItem, deps: [{ token: AlertIconAndTypesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
20109
20156
|
ClrAlertItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrAlertItem, selector: "clr-alert-item", host: { classAttribute: "alert-item" }, ngImport: i0, template: `
|
|
20110
20157
|
<div class="alert-icon-wrapper">
|
|
20158
|
+
<clr-spinner class="alert-spinner" clrInline *ngIf="iconService.alertIconShape === 'loading'"></clr-spinner>
|
|
20111
20159
|
<cds-icon
|
|
20112
20160
|
class="alert-icon"
|
|
20113
20161
|
role="img"
|
|
20162
|
+
*ngIf="iconService.alertIconShape !== 'loading'"
|
|
20114
20163
|
[attr.shape]="iconService.alertIconShape"
|
|
20115
20164
|
[attr.aria-label]="iconService.alertIconTitle"
|
|
20116
20165
|
></cds-icon>
|
|
20117
20166
|
</div>
|
|
20118
20167
|
<ng-content></ng-content>
|
|
20119
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
20168
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: ClrSpinner, selector: "clr-spinner", inputs: ["clrInline", "clrInverse", "clrSmall", "clrMedium"] }] });
|
|
20120
20169
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAlertItem, decorators: [{
|
|
20121
20170
|
type: Component,
|
|
20122
20171
|
args: [{
|
|
20123
20172
|
selector: 'clr-alert-item',
|
|
20124
20173
|
template: `
|
|
20125
20174
|
<div class="alert-icon-wrapper">
|
|
20175
|
+
<clr-spinner class="alert-spinner" clrInline *ngIf="iconService.alertIconShape === 'loading'"></clr-spinner>
|
|
20126
20176
|
<cds-icon
|
|
20127
20177
|
class="alert-icon"
|
|
20128
20178
|
role="img"
|
|
20179
|
+
*ngIf="iconService.alertIconShape !== 'loading'"
|
|
20129
20180
|
[attr.shape]="iconService.alertIconShape"
|
|
20130
20181
|
[attr.aria-label]="iconService.alertIconTitle"
|
|
20131
20182
|
></cds-icon>
|
|
@@ -20303,7 +20354,7 @@ class ClrAlerts {
|
|
|
20303
20354
|
}
|
|
20304
20355
|
}
|
|
20305
20356
|
ClrAlerts.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAlerts, deps: [{ token: MultiAlertService }], target: i0.ɵɵFactoryTarget.Component });
|
|
20306
|
-
ClrAlerts.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrAlerts, selector: "clr-alerts", inputs: { _inputCurrentIndex: ["clrCurrentAlertIndex", "_inputCurrentIndex"], currentAlert: ["clrCurrentAlert", "currentAlert"] }, outputs: { currentAlertChange: "clrCurrentAlertChange", currentAlertIndexChange: "clrCurrentAlertIndexChange" }, 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-2023 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<div class=\"alerts-wrapper\">\n <clr-alerts-pager *ngIf=\"multiAlertService.count > 1\" [clrCurrentAlertIndex]=\"currentAlertIndex\"></clr-alerts-pager>\n <ng-content select=\"clr-alert\"></ng-content>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ClrAlertsPager, selector: "clr-alerts-pager", inputs: ["clrCurrentAlert", "clrCurrentAlertIndex"], outputs: ["clrCurrentAlertChange", "clrCurrentAlertIndexChange"] }] });
|
|
20357
|
+
ClrAlerts.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrAlerts, selector: "clr-alerts", inputs: { _inputCurrentIndex: ["clrCurrentAlertIndex", "_inputCurrentIndex"], currentAlert: ["clrCurrentAlert", "currentAlert"] }, outputs: { currentAlertChange: "clrCurrentAlertChange", currentAlertIndexChange: "clrCurrentAlertIndexChange" }, 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'", "class.alert-neutral": "this.currentAlertType == 'neutral'" } }, providers: [MultiAlertService], queries: [{ propertyName: "allAlerts", predicate: ClrAlert }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2023 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<div class=\"alerts-wrapper\">\n <clr-alerts-pager *ngIf=\"multiAlertService.count > 1\" [clrCurrentAlertIndex]=\"currentAlertIndex\"></clr-alerts-pager>\n <ng-content select=\"clr-alert\"></ng-content>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ClrAlertsPager, selector: "clr-alerts-pager", inputs: ["clrCurrentAlert", "clrCurrentAlertIndex"], outputs: ["clrCurrentAlertChange", "clrCurrentAlertIndexChange"] }] });
|
|
20307
20358
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAlerts, decorators: [{
|
|
20308
20359
|
type: Component,
|
|
20309
20360
|
args: [{ selector: 'clr-alerts', providers: [MultiAlertService], host: {
|
|
@@ -20312,6 +20363,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
20312
20363
|
'[class.alert-info]': "this.currentAlertType == 'info'",
|
|
20313
20364
|
'[class.alert-success]': "this.currentAlertType == 'success'",
|
|
20314
20365
|
'[class.alert-warning]': "this.currentAlertType == 'warning'",
|
|
20366
|
+
'[class.alert-neutral]': "this.currentAlertType == 'neutral'",
|
|
20315
20367
|
}, template: "<!--\n ~ Copyright (c) 2016-2023 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<div class=\"alerts-wrapper\">\n <clr-alerts-pager *ngIf=\"multiAlertService.count > 1\" [clrCurrentAlertIndex]=\"currentAlertIndex\"></clr-alerts-pager>\n <ng-content select=\"clr-alert\"></ng-content>\n</div>\n", styles: [":host{display:block}\n"] }]
|
|
20316
20368
|
}], ctorParameters: function () { return [{ type: MultiAlertService }]; }, propDecorators: { currentAlertChange: [{
|
|
20317
20369
|
type: Output,
|
|
@@ -20338,16 +20390,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
20338
20390
|
const CLR_ALERT_DIRECTIVES = [ClrAlert, ClrAlertItem, ClrAlerts, ClrAlertsPager, ClrAlertText];
|
|
20339
20391
|
class ClrAlertModule {
|
|
20340
20392
|
constructor() {
|
|
20341
|
-
ClarityIcons.addIcons(
|
|
20393
|
+
ClarityIcons.addIcons(errorStandardIcon, helpIcon, infoStandardIcon, noteIcon, successStandardIcon, warningStandardIcon, windowCloseIcon);
|
|
20342
20394
|
}
|
|
20343
20395
|
}
|
|
20344
20396
|
ClrAlertModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
20345
|
-
ClrAlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: ClrAlertModule, declarations: [ClrAlert, ClrAlertItem, ClrAlerts, ClrAlertsPager, ClrAlertText], imports: [CommonModule, ClrIconModule, ClrDropdownModule], exports: [ClrAlert, ClrAlertItem, ClrAlerts, ClrAlertsPager, ClrAlertText] });
|
|
20346
|
-
ClrAlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAlertModule, imports: [CommonModule, ClrIconModule, ClrDropdownModule] });
|
|
20397
|
+
ClrAlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: ClrAlertModule, declarations: [ClrAlert, ClrAlertItem, ClrAlerts, ClrAlertsPager, ClrAlertText], imports: [CommonModule, ClrIconModule, ClrDropdownModule, ClrSpinnerModule], exports: [ClrAlert, ClrAlertItem, ClrAlerts, ClrAlertsPager, ClrAlertText] });
|
|
20398
|
+
ClrAlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAlertModule, imports: [CommonModule, ClrIconModule, ClrDropdownModule, ClrSpinnerModule] });
|
|
20347
20399
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAlertModule, decorators: [{
|
|
20348
20400
|
type: NgModule,
|
|
20349
20401
|
args: [{
|
|
20350
|
-
imports: [CommonModule, ClrIconModule, ClrDropdownModule],
|
|
20402
|
+
imports: [CommonModule, ClrIconModule, ClrDropdownModule, ClrSpinnerModule],
|
|
20351
20403
|
declarations: [CLR_ALERT_DIRECTIVES],
|
|
20352
20404
|
exports: [CLR_ALERT_DIRECTIVES],
|
|
20353
20405
|
}]
|
|
@@ -23020,26 +23072,14 @@ class ClrProgressBar {
|
|
|
23020
23072
|
get loopClass() {
|
|
23021
23073
|
return this._loop;
|
|
23022
23074
|
}
|
|
23023
|
-
/** @deprecated since 2.0, remove in 4.0 */
|
|
23024
|
-
set clrWarning(value) {
|
|
23025
|
-
this._warning = isBooleanAttributeSet(value);
|
|
23026
|
-
}
|
|
23027
23075
|
get warningClass() {
|
|
23028
|
-
return this.
|
|
23029
|
-
}
|
|
23030
|
-
/** @deprecated since 2.0, remove in 4.0 */
|
|
23031
|
-
set clrSuccess(value) {
|
|
23032
|
-
this._success = isBooleanAttributeSet(value);
|
|
23076
|
+
return this.color === 'warning';
|
|
23033
23077
|
}
|
|
23034
23078
|
get successClass() {
|
|
23035
|
-
return this.
|
|
23036
|
-
}
|
|
23037
|
-
/** @deprecated since 2.0, remove in 4.0 */
|
|
23038
|
-
set clrDanger(value) {
|
|
23039
|
-
this._danger = isBooleanAttributeSet(value);
|
|
23079
|
+
return this.color === 'success';
|
|
23040
23080
|
}
|
|
23041
23081
|
get dangerClass() {
|
|
23042
|
-
return this.
|
|
23082
|
+
return this.color === 'danger';
|
|
23043
23083
|
}
|
|
23044
23084
|
set clrFlash(value) {
|
|
23045
23085
|
this._flash = isBooleanAttributeSet(value);
|
|
@@ -23072,7 +23112,7 @@ class ClrProgressBar {
|
|
|
23072
23112
|
}
|
|
23073
23113
|
}
|
|
23074
23114
|
ClrProgressBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrProgressBar, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
23075
|
-
ClrProgressBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrProgressBar, selector: "clr-progress-bar", inputs: { max: ["clrMax", "max"], displayval: ["clrDisplayval", "displayval"], value: ["clrValue", "value"], id: "id", clrCompact: "clrCompact", clrLabeled: "clrLabeled", clrFade: "clrFade", clrLoop: "clrLoop",
|
|
23115
|
+
ClrProgressBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrProgressBar, selector: "clr-progress-bar", inputs: { max: ["clrMax", "max"], displayval: ["clrDisplayval", "displayval"], color: ["clrColor", "color"], value: ["clrValue", "value"], id: "id", clrCompact: "clrCompact", clrLabeled: "clrLabeled", clrFade: "clrFade", clrLoop: "clrLoop", clrFlash: "clrFlash", clrFlashDanger: "clrFlashDanger" }, host: { properties: { "attr.id": "this.externalId", "class.progress": "this.progressClass", "class.compact": "this.compactClass", "class.labeled": "this.labeledClass", "class.progress-fade": "this.fadeClass", "class.loop": "this.loopClass", "class.warning": "this.warningClass", "class.success": "this.successClass", "class.danger": "this.dangerClass", "class.flash": "this.flashClass", "class.flash-danger": "this.flashDangerClass" } }, ngImport: i0, template: `
|
|
23076
23116
|
<progress [id]="id" [attr.max]="max" [attr.value]="value" [attr.data-displayval]="displayValue"></progress>
|
|
23077
23117
|
<span *ngIf="displayStringValue()">{{ displayValue }}</span>
|
|
23078
23118
|
`, isInline: true, dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
@@ -23091,6 +23131,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
23091
23131
|
}], displayval: [{
|
|
23092
23132
|
type: Input,
|
|
23093
23133
|
args: ['clrDisplayval']
|
|
23134
|
+
}], color: [{
|
|
23135
|
+
type: Input,
|
|
23136
|
+
args: ['clrColor']
|
|
23094
23137
|
}], value: [{
|
|
23095
23138
|
type: Input,
|
|
23096
23139
|
args: ['clrValue']
|
|
@@ -23126,21 +23169,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
23126
23169
|
}], loopClass: [{
|
|
23127
23170
|
type: HostBinding,
|
|
23128
23171
|
args: ['class.loop']
|
|
23129
|
-
}], clrWarning: [{
|
|
23130
|
-
type: Input,
|
|
23131
|
-
args: ['clrWarning']
|
|
23132
23172
|
}], warningClass: [{
|
|
23133
23173
|
type: HostBinding,
|
|
23134
23174
|
args: ['class.warning']
|
|
23135
|
-
}], clrSuccess: [{
|
|
23136
|
-
type: Input,
|
|
23137
|
-
args: ['clrSuccess']
|
|
23138
23175
|
}], successClass: [{
|
|
23139
23176
|
type: HostBinding,
|
|
23140
23177
|
args: ['class.success']
|
|
23141
|
-
}], clrDanger: [{
|
|
23142
|
-
type: Input,
|
|
23143
|
-
args: ['clrDanger']
|
|
23144
23178
|
}], dangerClass: [{
|
|
23145
23179
|
type: HostBinding,
|
|
23146
23180
|
args: ['class.danger']
|
|
@@ -25801,7 +25835,7 @@ class ClrWizard {
|
|
|
25801
25835
|
*/
|
|
25802
25836
|
reset() {
|
|
25803
25837
|
this.pageCollection.reset();
|
|
25804
|
-
this.onReset.
|
|
25838
|
+
this.onReset.emit();
|
|
25805
25839
|
}
|
|
25806
25840
|
listenForNextPageChanges() {
|
|
25807
25841
|
return this.navService.movedToNextPage.pipe(filter(() => isPlatformBrowser(this.platformId))).subscribe(() => {
|
|
@@ -26480,15 +26514,9 @@ const CLR_MENU_POSITIONS = [
|
|
|
26480
26514
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
26481
26515
|
*/
|
|
26482
26516
|
|
|
26483
|
-
/*
|
|
26484
|
-
* Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
|
|
26485
|
-
* This software is released under MIT license.
|
|
26486
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
26487
|
-
*/
|
|
26488
|
-
|
|
26489
26517
|
/**
|
|
26490
26518
|
* Generated bundle index. Do not edit.
|
|
26491
26519
|
*/
|
|
26492
26520
|
|
|
26493
|
-
export { CLR_ALERT_DIRECTIVES, CLR_BUTTON_GROUP_DIRECTIVES, CLR_DATAGRID_DIRECTIVES, CLR_DATEPICKER_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, ClrAriaCurrentLink, 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, ClrDatagridDetail, ClrDatagridDetailBody, ClrDatagridDetailHeader, ClrDatagridFilter, ClrDatagridFooter, ClrDatagridHideableColumn, ClrDatagridItems,
|
|
26521
|
+
export { CHANGE_KEYS, CLR_ALERT_DIRECTIVES, CLR_BUTTON_GROUP_DIRECTIVES, CLR_DATAGRID_DIRECTIVES, CLR_DATEPICKER_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, ClrAriaCurrentLink, 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, ClrDatagridDetail, ClrDatagridDetailBody, ClrDatagridDetailHeader, ClrDatagridFilter, ClrDatagridFooter, ClrDatagridHideableColumn, ClrDatagridItems, ClrDatagridModule, ClrDatagridPageSize, ClrDatagridPagination, ClrDatagridPlaceholder, ClrDatagridRow, ClrDatagridRowDetail, ClrDatagridSortOrder, ClrDatalist, ClrDatalistContainer, ClrDatalistInput, ClrDatalistModule, ClrDateContainer, ClrDateInput, ClrDateInputValidator, ClrDatepickerModule, ClrDatepickerViewManager, ClrDay, ClrDaypicker, ClrDestroyService, ClrDropdown, ClrDropdownItem, ClrDropdownMenu, ClrDropdownModule, ClrDropdownTrigger, ClrEmphasisModule, ClrExpandableAnimation, ClrFocusOnViewInit, ClrFocusOnViewInitModule, ClrForm, ClrFormLayout, ClrFormsModule, ClrHeader, ClrIconCustomTag, ClrIconModule, ClrIfActive, ClrIfDetail, 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, ClrPopoverHostDirective, 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, ClrStackView, ClrStackViewCustomTags, ClrStackViewLabel, ClrStackViewModule, ClrStandaloneCdkTrapFocus, ClrStepButton, ClrStepButtonType, ClrStepper, ClrStepperModule, ClrStepperPanel, ClrStopEscapePropagationDirective, 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, ClrWizardHeaderAction, ClrWizardModule, ClrWizardPage, ClrWizardPageButtons, ClrWizardPageHeaderActions, ClrWizardPageNavTitle, ClrWizardPageTitle, ClrWizardStepnav, ClrWizardStepnavItem, ClrWizardTitle, 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, ClrPopoverCloseButton as ÇlrClrPopoverCloseButton, ClrPopoverModuleNext as ÇlrClrPopoverModuleNext, ClrPopoverOpenCloseButton as ÇlrClrPopoverOpenCloseButton, DatagridCellRenderer as ÇlrDatagridCellRenderer, DatagridDetailRegisterer as ÇlrDatagridDetailRegisterer, DatagridHeaderRenderer as ÇlrDatagridHeaderRenderer, DatagridMainRenderer as ÇlrDatagridMainRenderer, DatagridRowRenderer as ÇlrDatagridRowRenderer, ClrDatagridSelectionCellDirective as ÇlrDatagridSelectionCellDirective, DatagridWillyWonka as ÇlrDatagridWillyWonka, ExpandableOompaLoompa as ÇlrExpandableOompaLoompa, StepperOompaLoompa as ÇlrStepperOompaLoompa, StepperWillyWonka as ÇlrStepperWillyWonka, TabsWillyWonka as ÇlrTabsWillyWonka, WrappedCell as ÇlrWrappedCell, WrappedColumn as ÇlrWrappedColumn, WrappedRow as ÇlrWrappedRow };
|
|
26494
26522
|
//# sourceMappingURL=clr-angular.mjs.map
|