@clr/angular 17.0.0-next.1 → 17.0.0-next.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/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 +15 -5
- 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 +29 -5
- 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 +210 -184
- package/fesm2015/clr-angular.mjs.map +1 -1
- package/fesm2020/clr-angular.mjs +208 -181
- 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,7 +3941,7 @@ 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
|
-
<
|
|
3944
|
+
<span @parent [ngSwitch]="state">
|
|
3918
3945
|
<span *ngSwitchCase="buttonState.LOADING">
|
|
3919
3946
|
<span @spinner class="spinner spinner-inline"></span>
|
|
3920
3947
|
</span>
|
|
@@ -3928,8 +3955,13 @@ ClrLoadingButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
|
|
|
3928
3955
|
<span *ngSwitchCase="buttonState.DEFAULT" @defaultButton>
|
|
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,7 +3989,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
3957
3989
|
args: [{
|
|
3958
3990
|
selector: 'button[clrLoading]',
|
|
3959
3991
|
template: `
|
|
3960
|
-
<
|
|
3992
|
+
<span @parent [ngSwitch]="state">
|
|
3961
3993
|
<span *ngSwitchCase="buttonState.LOADING">
|
|
3962
3994
|
<span @spinner class="spinner spinner-inline"></span>
|
|
3963
3995
|
</span>
|
|
@@ -3971,10 +4003,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
3971
4003
|
<span *ngSwitchCase="buttonState.DEFAULT" @defaultButton>
|
|
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) {
|
|
@@ -5774,7 +5835,7 @@ class ClrKeyFocus {
|
|
|
5774
5835
|
}
|
|
5775
5836
|
if (this.focusOnLoad) {
|
|
5776
5837
|
this.currentItem.focus();
|
|
5777
|
-
this.focusChange.
|
|
5838
|
+
this.focusChange.emit();
|
|
5778
5839
|
}
|
|
5779
5840
|
}
|
|
5780
5841
|
}
|
|
@@ -7160,25 +7221,24 @@ class ClrOptionItems {
|
|
|
7160
7221
|
if (!this._rawItems || this.filter === undefined || this.filter === null) {
|
|
7161
7222
|
return;
|
|
7162
7223
|
}
|
|
7224
|
+
const normalizedFilterValue = normalizeValue(this.filter);
|
|
7163
7225
|
if (this.optionService.showAllOptions) {
|
|
7164
7226
|
this.filteredItems = this._rawItems;
|
|
7165
7227
|
}
|
|
7166
7228
|
else if (this._filterField) {
|
|
7167
7229
|
this.filteredItems = this._rawItems.filter(item => {
|
|
7168
7230
|
const objValue = item[this._filterField];
|
|
7169
|
-
return objValue ? objValue
|
|
7231
|
+
return objValue ? normalizeValue(objValue).includes(normalizedFilterValue) : false;
|
|
7170
7232
|
});
|
|
7171
7233
|
}
|
|
7172
7234
|
else {
|
|
7173
7235
|
// Filter by all item object values
|
|
7174
7236
|
this.filteredItems = this._rawItems.filter(item => {
|
|
7175
7237
|
if (typeof item !== 'object') {
|
|
7176
|
-
return item
|
|
7238
|
+
return normalizeValue(item).includes(normalizedFilterValue);
|
|
7177
7239
|
}
|
|
7178
7240
|
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;
|
|
7241
|
+
return value !== null && value !== undefined ? normalizeValue(value).includes(normalizedFilterValue) : false;
|
|
7182
7242
|
});
|
|
7183
7243
|
return objValues.length > 0;
|
|
7184
7244
|
});
|
|
@@ -7203,6 +7263,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
7203
7263
|
type: Input,
|
|
7204
7264
|
args: ['clrOptionItemsField']
|
|
7205
7265
|
}] } });
|
|
7266
|
+
function normalizeValue(value) {
|
|
7267
|
+
return value
|
|
7268
|
+
.toString()
|
|
7269
|
+
.normalize('NFD')
|
|
7270
|
+
.replace(/\p{Diacritic}/gu, '')
|
|
7271
|
+
.toLowerCase();
|
|
7272
|
+
}
|
|
7206
7273
|
|
|
7207
7274
|
/*
|
|
7208
7275
|
* Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
|
|
@@ -8424,7 +8491,7 @@ class DateIOService {
|
|
|
8424
8491
|
return '';
|
|
8425
8492
|
}
|
|
8426
8493
|
getDateValueFromDateString(date) {
|
|
8427
|
-
if (!date) {
|
|
8494
|
+
if (!date || typeof date !== 'string') {
|
|
8428
8495
|
return null;
|
|
8429
8496
|
}
|
|
8430
8497
|
const dateParts = date.match(USER_INPUT_REGEX);
|
|
@@ -9634,9 +9701,11 @@ class ClrDateInput extends WrappedFormControl {
|
|
|
9634
9701
|
}
|
|
9635
9702
|
set min(dateString) {
|
|
9636
9703
|
this.dateIOService.setMinDate(dateString);
|
|
9704
|
+
this.triggerControlValidation();
|
|
9637
9705
|
}
|
|
9638
9706
|
set max(dateString) {
|
|
9639
9707
|
this.dateIOService.setMaxDate(dateString);
|
|
9708
|
+
this.triggerControlValidation();
|
|
9640
9709
|
}
|
|
9641
9710
|
get disabled() {
|
|
9642
9711
|
if (this.dateFormControlService) {
|
|
@@ -9701,6 +9770,14 @@ class ClrDateInput extends WrappedFormControl {
|
|
|
9701
9770
|
this.focusService.focused = focus;
|
|
9702
9771
|
}
|
|
9703
9772
|
}
|
|
9773
|
+
triggerControlValidation() {
|
|
9774
|
+
var _a, _b;
|
|
9775
|
+
if (this.datepickerHasFormControl()) {
|
|
9776
|
+
// Set `emitEvent` to false to prevent unnecessary value change event. Status change event will be emitted by `setErrors` below.
|
|
9777
|
+
(_a = this.control.control) === null || _a === void 0 ? void 0 : _a.updateValueAndValidity({ emitEvent: false });
|
|
9778
|
+
(_b = this.control.control) === null || _b === void 0 ? void 0 : _b.setErrors(this.control.control.errors);
|
|
9779
|
+
}
|
|
9780
|
+
}
|
|
9704
9781
|
populateServicesFromContainerComponent() {
|
|
9705
9782
|
if (!this.container) {
|
|
9706
9783
|
this.dateIOService = this.getProviderFromContainer(DateIOService);
|
|
@@ -10010,6 +10087,12 @@ class ClrPasswordContainer extends ClrAbstractContainer {
|
|
|
10010
10087
|
this.show = !this.show;
|
|
10011
10088
|
this.toggleService.next(this.show);
|
|
10012
10089
|
}
|
|
10090
|
+
showPasswordText(label) {
|
|
10091
|
+
return this.commonStrings.parse(this.commonStrings.keys.passwordShow, { LABEL: label });
|
|
10092
|
+
}
|
|
10093
|
+
hidePasswordText(label) {
|
|
10094
|
+
return this.commonStrings.parse(this.commonStrings.keys.passwordHide, { LABEL: label });
|
|
10095
|
+
}
|
|
10013
10096
|
}
|
|
10014
10097
|
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
10098
|
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 +10118,7 @@ ClrPasswordContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
10035
10118
|
>
|
|
10036
10119
|
<cds-icon class="clr-password-eye-icon" [attr.shape]="show ? 'eye-hide' : 'eye'"></cds-icon>
|
|
10037
10120
|
<span class="clr-sr-only">
|
|
10038
|
-
{{ show ?
|
|
10121
|
+
{{ show ? hidePasswordText(label?.labelText) : showPasswordText(label?.labelText) }}
|
|
10039
10122
|
</span>
|
|
10040
10123
|
</button>
|
|
10041
10124
|
</div>
|
|
@@ -10079,7 +10162,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
10079
10162
|
>
|
|
10080
10163
|
<cds-icon class="clr-password-eye-icon" [attr.shape]="show ? 'eye-hide' : 'eye'"></cds-icon>
|
|
10081
10164
|
<span class="clr-sr-only">
|
|
10082
|
-
{{ show ?
|
|
10165
|
+
{{ show ? hidePasswordText(label?.labelText) : showPasswordText(label?.labelText) }}
|
|
10083
10166
|
</span>
|
|
10084
10167
|
</button>
|
|
10085
10168
|
</div>
|
|
@@ -13290,11 +13373,9 @@ class Items {
|
|
|
13290
13373
|
this._change = new Subject();
|
|
13291
13374
|
this._allChanges = new Subject();
|
|
13292
13375
|
/**
|
|
13293
|
-
* Tracking function to identify objects.
|
|
13294
|
-
*
|
|
13295
|
-
* @deprecated in v15 and scheduled for removal in v17 (CDE-71)
|
|
13376
|
+
* Tracking function to identify objects.
|
|
13296
13377
|
*/
|
|
13297
|
-
this.
|
|
13378
|
+
this.trackBy = item => item;
|
|
13298
13379
|
}
|
|
13299
13380
|
get smart() {
|
|
13300
13381
|
return this._smart;
|
|
@@ -13371,22 +13452,6 @@ class Items {
|
|
|
13371
13452
|
this._filterItems();
|
|
13372
13453
|
}
|
|
13373
13454
|
}
|
|
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
13455
|
emitChange() {
|
|
13391
13456
|
this._change.next(this.displayed);
|
|
13392
13457
|
}
|
|
@@ -13469,7 +13534,6 @@ class ClrDatagridItems {
|
|
|
13469
13534
|
this._rawItems = items ? items : []; // local copy for ngOnChange diffing
|
|
13470
13535
|
}
|
|
13471
13536
|
set trackBy(value) {
|
|
13472
|
-
this.items.iteratorTrackBy = value;
|
|
13473
13537
|
this.iterableProxy.ngForTrackBy = value;
|
|
13474
13538
|
}
|
|
13475
13539
|
/**
|
|
@@ -13613,6 +13677,7 @@ class ClrSignpostTrigger {
|
|
|
13613
13677
|
this.signpostIdService = signpostIdService;
|
|
13614
13678
|
this.signpostFocusManager = signpostFocusManager;
|
|
13615
13679
|
this.platformId = platformId;
|
|
13680
|
+
this.ariaExpanded = false;
|
|
13616
13681
|
this.subscriptions = [];
|
|
13617
13682
|
this.document = document;
|
|
13618
13683
|
}
|
|
@@ -13986,12 +14051,10 @@ class Selection {
|
|
|
13986
14051
|
let selectionUpdated = false;
|
|
13987
14052
|
// if the currentSingle has been set before data was loaded, we look up and save the ref from current data set
|
|
13988
14053
|
if (this.currentSingle && !this.prevSingleSelectionRef) {
|
|
13989
|
-
|
|
13990
|
-
this.prevSingleSelectionRef = this._items.trackBy(this.currentSingle);
|
|
13991
|
-
}
|
|
14054
|
+
this.prevSingleSelectionRef = this._items.trackBy(this.currentSingle);
|
|
13992
14055
|
}
|
|
13993
|
-
updatedItems.forEach(
|
|
13994
|
-
const ref = this._items.trackBy(item
|
|
14056
|
+
updatedItems.forEach(item => {
|
|
14057
|
+
const ref = this._items.trackBy(item);
|
|
13995
14058
|
// If one of the updated items is the previously selectedSingle, set it as the new one
|
|
13996
14059
|
if (this.prevSingleSelectionRef === ref) {
|
|
13997
14060
|
newSingle = item;
|
|
@@ -14024,20 +14087,18 @@ class Selection {
|
|
|
14024
14087
|
let selectionUpdated = false;
|
|
14025
14088
|
// if the current has been set before data was loaded, we look up and save the ref from current data set
|
|
14026
14089
|
if (this.current.length > 0 && this.prevSelectionRefs.length !== this.current.length) {
|
|
14027
|
-
|
|
14028
|
-
|
|
14029
|
-
this.
|
|
14030
|
-
|
|
14031
|
-
});
|
|
14032
|
-
}
|
|
14090
|
+
this.prevSelectionRefs = [];
|
|
14091
|
+
this.current.forEach(item => {
|
|
14092
|
+
this.prevSelectionRefs.push(this._items.trackBy(item));
|
|
14093
|
+
});
|
|
14033
14094
|
}
|
|
14034
14095
|
// Duplicate loop, when the issue is issue#2342 is revisited keep in mind that
|
|
14035
14096
|
// we need to go over every updated item and check to see if there are valid to be
|
|
14036
14097
|
// locked or not and update it. When only add items that are found in the lockedRefs back.
|
|
14037
14098
|
//
|
|
14038
14099
|
// The both loops below that goes over updatedItems could be combined into one.
|
|
14039
|
-
updatedItems.forEach(
|
|
14040
|
-
const ref = this._items.trackBy(item
|
|
14100
|
+
updatedItems.forEach(item => {
|
|
14101
|
+
const ref = this._items.trackBy(item);
|
|
14041
14102
|
if (this.lockedRefs.indexOf(ref) > -1) {
|
|
14042
14103
|
updateLockedRef.push(ref);
|
|
14043
14104
|
}
|
|
@@ -14046,8 +14107,8 @@ class Selection {
|
|
|
14046
14107
|
// currently, the selection is cleared when filter is applied, so the logic inside
|
|
14047
14108
|
// the if statement below results in broken behavior.
|
|
14048
14109
|
if (leftOver.length > 0) {
|
|
14049
|
-
updatedItems.forEach(
|
|
14050
|
-
const ref = this._items.trackBy(item
|
|
14110
|
+
updatedItems.forEach(item => {
|
|
14111
|
+
const ref = this._items.trackBy(item);
|
|
14051
14112
|
// Look in current selected refs array if item is selected, and update actual value
|
|
14052
14113
|
const selectedIndex = this.prevSelectionRefs.indexOf(ref);
|
|
14053
14114
|
if (selectedIndex > -1) {
|
|
@@ -14113,7 +14174,7 @@ class Selection {
|
|
|
14113
14174
|
return;
|
|
14114
14175
|
}
|
|
14115
14176
|
this._currentSingle = value;
|
|
14116
|
-
if (
|
|
14177
|
+
if (value) {
|
|
14117
14178
|
this.prevSingleSelectionRef = this._items.trackBy(value);
|
|
14118
14179
|
}
|
|
14119
14180
|
this.emitChange();
|
|
@@ -14259,10 +14320,8 @@ class Selection {
|
|
|
14259
14320
|
*/
|
|
14260
14321
|
selectItem(item) {
|
|
14261
14322
|
this.current = this.current.concat(item);
|
|
14262
|
-
|
|
14263
|
-
|
|
14264
|
-
this.prevSelectionRefs.push(this._items.trackBy(item));
|
|
14265
|
-
}
|
|
14323
|
+
// Push selected ref onto array
|
|
14324
|
+
this.prevSelectionRefs.push(this._items.trackBy(item));
|
|
14266
14325
|
}
|
|
14267
14326
|
/**
|
|
14268
14327
|
* Deselects an item
|
|
@@ -14280,7 +14339,7 @@ class Selection {
|
|
|
14280
14339
|
* Make sure that it could be locked
|
|
14281
14340
|
*/
|
|
14282
14341
|
canItBeLocked() {
|
|
14283
|
-
return this._selectionType !== SelectionType.None
|
|
14342
|
+
return this._selectionType !== SelectionType.None;
|
|
14284
14343
|
}
|
|
14285
14344
|
emitChange() {
|
|
14286
14345
|
if (this._selectionType === SelectionType.Single) {
|
|
@@ -15068,7 +15127,7 @@ class ClrDatagrid {
|
|
|
15068
15127
|
this.selection.rowSelectionMode = value;
|
|
15069
15128
|
}
|
|
15070
15129
|
set trackBy(value) {
|
|
15071
|
-
this.items.
|
|
15130
|
+
this.items.trackBy = value;
|
|
15072
15131
|
}
|
|
15073
15132
|
/**
|
|
15074
15133
|
* Indicates if all currently displayed items are selected
|
|
@@ -15110,9 +15169,7 @@ class ClrDatagrid {
|
|
|
15110
15169
|
});
|
|
15111
15170
|
// Try to update only when there is something cached and its open.
|
|
15112
15171
|
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;
|
|
15172
|
+
const row = this.rows.find(row => this.items.trackBy(row.item) === this.items.trackBy(this.detailService.state));
|
|
15116
15173
|
/**
|
|
15117
15174
|
* Reopen updated row or close it
|
|
15118
15175
|
*/
|
|
@@ -15499,47 +15556,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
15499
15556
|
*/
|
|
15500
15557
|
const columnToggleTrackByFn = index => index;
|
|
15501
15558
|
|
|
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
15559
|
/*
|
|
15544
15560
|
* Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
|
|
15545
15561
|
* This software is released under MIT license.
|
|
@@ -15708,7 +15724,7 @@ ClrDatagridColumnToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
15708
15724
|
<clr-dg-column-toggle-button (clrAllSelected)="allColumnsSelected()"></clr-dg-column-toggle-button>
|
|
15709
15725
|
</div>
|
|
15710
15726
|
</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: "
|
|
15727
|
+
`, 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
15728
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridColumnToggle, decorators: [{
|
|
15713
15729
|
type: Component,
|
|
15714
15730
|
args: [{
|
|
@@ -17228,7 +17244,6 @@ const CLR_DATAGRID_DIRECTIVES = [
|
|
|
17228
17244
|
ClrDatagridFooter,
|
|
17229
17245
|
ClrDatagridHideableColumn,
|
|
17230
17246
|
ClrDatagridItems,
|
|
17231
|
-
ClrDatagridItemsTrackBy,
|
|
17232
17247
|
ClrDatagridPageSize,
|
|
17233
17248
|
ClrDatagridPagination,
|
|
17234
17249
|
ClrDatagridPlaceholder,
|
|
@@ -17275,7 +17290,6 @@ ClrDatagridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versi
|
|
|
17275
17290
|
ClrDatagridFooter,
|
|
17276
17291
|
ClrDatagridHideableColumn,
|
|
17277
17292
|
ClrDatagridItems,
|
|
17278
|
-
ClrDatagridItemsTrackBy,
|
|
17279
17293
|
ClrDatagridPageSize,
|
|
17280
17294
|
ClrDatagridPagination,
|
|
17281
17295
|
ClrDatagridPlaceholder,
|
|
@@ -17326,7 +17340,6 @@ ClrDatagridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versi
|
|
|
17326
17340
|
ClrDatagridFooter,
|
|
17327
17341
|
ClrDatagridHideableColumn,
|
|
17328
17342
|
ClrDatagridItems,
|
|
17329
|
-
ClrDatagridItemsTrackBy,
|
|
17330
17343
|
ClrDatagridPageSize,
|
|
17331
17344
|
ClrDatagridPagination,
|
|
17332
17345
|
ClrDatagridPlaceholder,
|
|
@@ -19799,13 +19812,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
19799
19812
|
}]
|
|
19800
19813
|
}] });
|
|
19801
19814
|
|
|
19815
|
+
/*
|
|
19816
|
+
* Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
|
|
19817
|
+
* This software is released under MIT license.
|
|
19818
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
19819
|
+
*/
|
|
19820
|
+
|
|
19802
19821
|
/*
|
|
19803
19822
|
* Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
|
|
19804
19823
|
* This software is released under MIT license.
|
|
19805
19824
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
19806
19825
|
*/
|
|
19807
19826
|
// @TODO Make this an enum
|
|
19808
|
-
const ALERT_TYPES = ['info', 'warning', 'danger', 'success'];
|
|
19827
|
+
const ALERT_TYPES = ['info', 'warning', 'danger', 'success', 'neutral', 'unknown', 'loading'];
|
|
19809
19828
|
|
|
19810
19829
|
/*
|
|
19811
19830
|
* Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
|
|
@@ -19815,7 +19834,7 @@ const ALERT_TYPES = ['info', 'warning', 'danger', 'success'];
|
|
|
19815
19834
|
class AlertIconAndTypesService {
|
|
19816
19835
|
constructor(commonStrings) {
|
|
19817
19836
|
this.commonStrings = commonStrings;
|
|
19818
|
-
this.defaultIconShape = 'info-
|
|
19837
|
+
this.defaultIconShape = 'info-standard';
|
|
19819
19838
|
this._alertIconShape = '';
|
|
19820
19839
|
this._alertType = 'info';
|
|
19821
19840
|
}
|
|
@@ -19848,20 +19867,35 @@ class AlertIconAndTypesService {
|
|
|
19848
19867
|
const returnObj = { shape: '', cssClass: '', title: '' };
|
|
19849
19868
|
switch (type) {
|
|
19850
19869
|
case 'warning':
|
|
19851
|
-
returnObj.shape = '
|
|
19870
|
+
returnObj.shape = 'warning-standard';
|
|
19852
19871
|
returnObj.cssClass = 'alert-warning';
|
|
19853
19872
|
returnObj.title = this.commonStrings.keys.warning;
|
|
19854
19873
|
break;
|
|
19855
19874
|
case 'danger':
|
|
19856
|
-
returnObj.shape = '
|
|
19875
|
+
returnObj.shape = 'error-standard';
|
|
19857
19876
|
returnObj.cssClass = 'alert-danger';
|
|
19858
19877
|
returnObj.title = this.commonStrings.keys.danger;
|
|
19859
19878
|
break;
|
|
19860
19879
|
case 'success':
|
|
19861
|
-
returnObj.shape = '
|
|
19880
|
+
returnObj.shape = 'success-standard';
|
|
19862
19881
|
returnObj.cssClass = 'alert-success';
|
|
19863
19882
|
returnObj.title = this.commonStrings.keys.success;
|
|
19864
19883
|
break;
|
|
19884
|
+
case 'neutral':
|
|
19885
|
+
returnObj.shape = 'note';
|
|
19886
|
+
returnObj.cssClass = 'alert-neutral';
|
|
19887
|
+
returnObj.title = this.commonStrings.keys.neutral;
|
|
19888
|
+
break;
|
|
19889
|
+
case 'unknown':
|
|
19890
|
+
returnObj.shape = 'help';
|
|
19891
|
+
returnObj.cssClass = 'alert-neutral';
|
|
19892
|
+
returnObj.title = this.commonStrings.keys.unknown;
|
|
19893
|
+
break;
|
|
19894
|
+
case 'loading':
|
|
19895
|
+
returnObj.shape = 'loading';
|
|
19896
|
+
returnObj.cssClass = 'alert-neutral';
|
|
19897
|
+
returnObj.title = this.commonStrings.keys.unknown;
|
|
19898
|
+
break;
|
|
19865
19899
|
default:
|
|
19866
19900
|
returnObj.shape = this.defaultIconShape;
|
|
19867
19901
|
returnObj.cssClass = 'alert-info';
|
|
@@ -19983,7 +20017,6 @@ class ClrAlert {
|
|
|
19983
20017
|
this.commonStrings = commonStrings;
|
|
19984
20018
|
this.renderer = renderer;
|
|
19985
20019
|
this.hostElement = hostElement;
|
|
19986
|
-
this.isLight = false;
|
|
19987
20020
|
this.isSmall = false;
|
|
19988
20021
|
this.closable = true;
|
|
19989
20022
|
this.isAppLevel = false;
|
|
@@ -19991,12 +20024,21 @@ class ClrAlert {
|
|
|
19991
20024
|
this._closedChanged = new EventEmitter(false);
|
|
19992
20025
|
this._closed = false;
|
|
19993
20026
|
this.subscriptions = [];
|
|
20027
|
+
this._isLightweight = false;
|
|
20028
|
+
}
|
|
20029
|
+
get isLightweight() {
|
|
20030
|
+
return this._isLightweight;
|
|
20031
|
+
}
|
|
20032
|
+
set isLightweight(val) {
|
|
20033
|
+
this._isLightweight = val;
|
|
20034
|
+
this.configAlertType(this._origAlertType);
|
|
19994
20035
|
}
|
|
19995
20036
|
get alertType() {
|
|
19996
20037
|
return this.iconService.alertType;
|
|
19997
20038
|
}
|
|
19998
20039
|
set alertType(val) {
|
|
19999
|
-
this.
|
|
20040
|
+
this._origAlertType = val;
|
|
20041
|
+
this.configAlertType(val);
|
|
20000
20042
|
}
|
|
20001
20043
|
set alertIconShape(value) {
|
|
20002
20044
|
this.iconService.alertIconShape = value;
|
|
@@ -20038,6 +20080,9 @@ class ClrAlert {
|
|
|
20038
20080
|
ngOnDestroy() {
|
|
20039
20081
|
this.subscriptions.forEach(sub => sub.unsubscribe());
|
|
20040
20082
|
}
|
|
20083
|
+
configAlertType(val) {
|
|
20084
|
+
this.iconService.alertType = val;
|
|
20085
|
+
}
|
|
20041
20086
|
open() {
|
|
20042
20087
|
this._closed = false;
|
|
20043
20088
|
if (this.multiAlertService) {
|
|
@@ -20046,31 +20091,28 @@ class ClrAlert {
|
|
|
20046
20091
|
this._closedChanged.emit(false);
|
|
20047
20092
|
}
|
|
20048
20093
|
close() {
|
|
20049
|
-
var _a;
|
|
20094
|
+
var _a, _b;
|
|
20050
20095
|
if (!this.closable) {
|
|
20051
20096
|
return;
|
|
20052
20097
|
}
|
|
20053
20098
|
const isCurrentAlert = ((_a = this.multiAlertService) === null || _a === void 0 ? void 0 : _a.currentAlert) === this;
|
|
20054
20099
|
this._closed = true;
|
|
20055
|
-
if (this.multiAlertService) {
|
|
20100
|
+
if ((_b = this.multiAlertService) === null || _b === void 0 ? void 0 : _b.activeAlerts) {
|
|
20056
20101
|
this.multiAlertService.close(isCurrentAlert);
|
|
20057
20102
|
}
|
|
20058
20103
|
this._closedChanged.emit(true);
|
|
20059
20104
|
}
|
|
20060
20105
|
}
|
|
20061
20106
|
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: {
|
|
20107
|
+
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
20108
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAlert, decorators: [{
|
|
20064
20109
|
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]=\"
|
|
20110
|
+
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
20111
|
}], ctorParameters: function () {
|
|
20067
20112
|
return [{ type: AlertIconAndTypesService }, { type: i0.ChangeDetectorRef }, { type: MultiAlertService, decorators: [{
|
|
20068
20113
|
type: Optional
|
|
20069
20114
|
}] }, { type: ClrCommonStringsService }, { type: i0.Renderer2 }, { type: i0.ElementRef }];
|
|
20070
|
-
}, propDecorators: {
|
|
20071
|
-
type: Input,
|
|
20072
|
-
args: ['clrAlertLightweight']
|
|
20073
|
-
}], isSmall: [{
|
|
20115
|
+
}, propDecorators: { isSmall: [{
|
|
20074
20116
|
type: Input,
|
|
20075
20117
|
args: ['clrAlertSizeSmall']
|
|
20076
20118
|
}], closable: [{
|
|
@@ -20084,6 +20126,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
20084
20126
|
}], _closedChanged: [{
|
|
20085
20127
|
type: Output,
|
|
20086
20128
|
args: ['clrAlertClosedChange']
|
|
20129
|
+
}], isLightweight: [{
|
|
20130
|
+
type: Input,
|
|
20131
|
+
args: ['clrAlertLightweight']
|
|
20087
20132
|
}], alertType: [{
|
|
20088
20133
|
type: Input,
|
|
20089
20134
|
args: ['clrAlertType']
|
|
@@ -20108,24 +20153,28 @@ class ClrAlertItem {
|
|
|
20108
20153
|
ClrAlertItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAlertItem, deps: [{ token: AlertIconAndTypesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
20109
20154
|
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
20155
|
<div class="alert-icon-wrapper">
|
|
20156
|
+
<clr-spinner class="alert-spinner" clrInline *ngIf="iconService.alertIconShape === 'loading'"></clr-spinner>
|
|
20111
20157
|
<cds-icon
|
|
20112
20158
|
class="alert-icon"
|
|
20113
20159
|
role="img"
|
|
20160
|
+
*ngIf="iconService.alertIconShape !== 'loading'"
|
|
20114
20161
|
[attr.shape]="iconService.alertIconShape"
|
|
20115
20162
|
[attr.aria-label]="iconService.alertIconTitle"
|
|
20116
20163
|
></cds-icon>
|
|
20117
20164
|
</div>
|
|
20118
20165
|
<ng-content></ng-content>
|
|
20119
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
20166
|
+
`, 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
20167
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAlertItem, decorators: [{
|
|
20121
20168
|
type: Component,
|
|
20122
20169
|
args: [{
|
|
20123
20170
|
selector: 'clr-alert-item',
|
|
20124
20171
|
template: `
|
|
20125
20172
|
<div class="alert-icon-wrapper">
|
|
20173
|
+
<clr-spinner class="alert-spinner" clrInline *ngIf="iconService.alertIconShape === 'loading'"></clr-spinner>
|
|
20126
20174
|
<cds-icon
|
|
20127
20175
|
class="alert-icon"
|
|
20128
20176
|
role="img"
|
|
20177
|
+
*ngIf="iconService.alertIconShape !== 'loading'"
|
|
20129
20178
|
[attr.shape]="iconService.alertIconShape"
|
|
20130
20179
|
[attr.aria-label]="iconService.alertIconTitle"
|
|
20131
20180
|
></cds-icon>
|
|
@@ -20303,7 +20352,7 @@ class ClrAlerts {
|
|
|
20303
20352
|
}
|
|
20304
20353
|
}
|
|
20305
20354
|
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"] }] });
|
|
20355
|
+
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
20356
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAlerts, decorators: [{
|
|
20308
20357
|
type: Component,
|
|
20309
20358
|
args: [{ selector: 'clr-alerts', providers: [MultiAlertService], host: {
|
|
@@ -20312,6 +20361,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
20312
20361
|
'[class.alert-info]': "this.currentAlertType == 'info'",
|
|
20313
20362
|
'[class.alert-success]': "this.currentAlertType == 'success'",
|
|
20314
20363
|
'[class.alert-warning]': "this.currentAlertType == 'warning'",
|
|
20364
|
+
'[class.alert-neutral]': "this.currentAlertType == 'neutral'",
|
|
20315
20365
|
}, 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
20366
|
}], ctorParameters: function () { return [{ type: MultiAlertService }]; }, propDecorators: { currentAlertChange: [{
|
|
20317
20367
|
type: Output,
|
|
@@ -20338,16 +20388,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
20338
20388
|
const CLR_ALERT_DIRECTIVES = [ClrAlert, ClrAlertItem, ClrAlerts, ClrAlertsPager, ClrAlertText];
|
|
20339
20389
|
class ClrAlertModule {
|
|
20340
20390
|
constructor() {
|
|
20341
|
-
ClarityIcons.addIcons(
|
|
20391
|
+
ClarityIcons.addIcons(errorStandardIcon, helpIcon, infoStandardIcon, noteIcon, successStandardIcon, warningStandardIcon, windowCloseIcon);
|
|
20342
20392
|
}
|
|
20343
20393
|
}
|
|
20344
20394
|
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] });
|
|
20395
|
+
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] });
|
|
20396
|
+
ClrAlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAlertModule, imports: [CommonModule, ClrIconModule, ClrDropdownModule, ClrSpinnerModule] });
|
|
20347
20397
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAlertModule, decorators: [{
|
|
20348
20398
|
type: NgModule,
|
|
20349
20399
|
args: [{
|
|
20350
|
-
imports: [CommonModule, ClrIconModule, ClrDropdownModule],
|
|
20400
|
+
imports: [CommonModule, ClrIconModule, ClrDropdownModule, ClrSpinnerModule],
|
|
20351
20401
|
declarations: [CLR_ALERT_DIRECTIVES],
|
|
20352
20402
|
exports: [CLR_ALERT_DIRECTIVES],
|
|
20353
20403
|
}]
|
|
@@ -23020,26 +23070,14 @@ class ClrProgressBar {
|
|
|
23020
23070
|
get loopClass() {
|
|
23021
23071
|
return this._loop;
|
|
23022
23072
|
}
|
|
23023
|
-
/** @deprecated since 2.0, remove in 4.0 */
|
|
23024
|
-
set clrWarning(value) {
|
|
23025
|
-
this._warning = isBooleanAttributeSet(value);
|
|
23026
|
-
}
|
|
23027
23073
|
get warningClass() {
|
|
23028
|
-
return this.
|
|
23029
|
-
}
|
|
23030
|
-
/** @deprecated since 2.0, remove in 4.0 */
|
|
23031
|
-
set clrSuccess(value) {
|
|
23032
|
-
this._success = isBooleanAttributeSet(value);
|
|
23074
|
+
return this.color === 'warning';
|
|
23033
23075
|
}
|
|
23034
23076
|
get successClass() {
|
|
23035
|
-
return this.
|
|
23036
|
-
}
|
|
23037
|
-
/** @deprecated since 2.0, remove in 4.0 */
|
|
23038
|
-
set clrDanger(value) {
|
|
23039
|
-
this._danger = isBooleanAttributeSet(value);
|
|
23077
|
+
return this.color === 'success';
|
|
23040
23078
|
}
|
|
23041
23079
|
get dangerClass() {
|
|
23042
|
-
return this.
|
|
23080
|
+
return this.color === 'danger';
|
|
23043
23081
|
}
|
|
23044
23082
|
set clrFlash(value) {
|
|
23045
23083
|
this._flash = isBooleanAttributeSet(value);
|
|
@@ -23072,7 +23110,7 @@ class ClrProgressBar {
|
|
|
23072
23110
|
}
|
|
23073
23111
|
}
|
|
23074
23112
|
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",
|
|
23113
|
+
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
23114
|
<progress [id]="id" [attr.max]="max" [attr.value]="value" [attr.data-displayval]="displayValue"></progress>
|
|
23077
23115
|
<span *ngIf="displayStringValue()">{{ displayValue }}</span>
|
|
23078
23116
|
`, isInline: true, dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
@@ -23091,6 +23129,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
23091
23129
|
}], displayval: [{
|
|
23092
23130
|
type: Input,
|
|
23093
23131
|
args: ['clrDisplayval']
|
|
23132
|
+
}], color: [{
|
|
23133
|
+
type: Input,
|
|
23134
|
+
args: ['clrColor']
|
|
23094
23135
|
}], value: [{
|
|
23095
23136
|
type: Input,
|
|
23096
23137
|
args: ['clrValue']
|
|
@@ -23126,21 +23167,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
23126
23167
|
}], loopClass: [{
|
|
23127
23168
|
type: HostBinding,
|
|
23128
23169
|
args: ['class.loop']
|
|
23129
|
-
}], clrWarning: [{
|
|
23130
|
-
type: Input,
|
|
23131
|
-
args: ['clrWarning']
|
|
23132
23170
|
}], warningClass: [{
|
|
23133
23171
|
type: HostBinding,
|
|
23134
23172
|
args: ['class.warning']
|
|
23135
|
-
}], clrSuccess: [{
|
|
23136
|
-
type: Input,
|
|
23137
|
-
args: ['clrSuccess']
|
|
23138
23173
|
}], successClass: [{
|
|
23139
23174
|
type: HostBinding,
|
|
23140
23175
|
args: ['class.success']
|
|
23141
|
-
}], clrDanger: [{
|
|
23142
|
-
type: Input,
|
|
23143
|
-
args: ['clrDanger']
|
|
23144
23176
|
}], dangerClass: [{
|
|
23145
23177
|
type: HostBinding,
|
|
23146
23178
|
args: ['class.danger']
|
|
@@ -25801,7 +25833,7 @@ class ClrWizard {
|
|
|
25801
25833
|
*/
|
|
25802
25834
|
reset() {
|
|
25803
25835
|
this.pageCollection.reset();
|
|
25804
|
-
this.onReset.
|
|
25836
|
+
this.onReset.emit();
|
|
25805
25837
|
}
|
|
25806
25838
|
listenForNextPageChanges() {
|
|
25807
25839
|
return this.navService.movedToNextPage.pipe(filter(() => isPlatformBrowser(this.platformId))).subscribe(() => {
|
|
@@ -26480,15 +26512,9 @@ const CLR_MENU_POSITIONS = [
|
|
|
26480
26512
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
26481
26513
|
*/
|
|
26482
26514
|
|
|
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
26515
|
/**
|
|
26490
26516
|
* Generated bundle index. Do not edit.
|
|
26491
26517
|
*/
|
|
26492
26518
|
|
|
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,
|
|
26519
|
+
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
26520
|
//# sourceMappingURL=clr-angular.mjs.map
|