@clr/angular 13.9.1 → 13.10.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/clarity.api.md +9 -3
- package/data/datagrid/datagrid-filter.d.ts +11 -3
- package/esm2020/data/datagrid/datagrid-filter.mjs +23 -7
- package/esm2020/data/stack-view/stack-header.mjs +7 -7
- package/esm2020/popover/tooltip/tooltip-content.mjs +5 -3
- package/esm2020/utils/i18n/common-strings.default.mjs +3 -3
- package/fesm2015/clr-angular.mjs +35 -16
- package/fesm2015/clr-angular.mjs.map +1 -1
- package/fesm2020/clr-angular.mjs +34 -16
- package/fesm2020/clr-angular.mjs.map +1 -1
- package/package.json +1 -1
- package/popover/tooltip/tooltip-content.d.ts +3 -2
package/fesm2020/clr-angular.mjs
CHANGED
|
@@ -304,8 +304,8 @@ const commonStringsDefault = {
|
|
|
304
304
|
singleSelectionAriaLabel: 'Single selection header',
|
|
305
305
|
singleActionableAriaLabel: 'Single actionable header',
|
|
306
306
|
detailExpandableAriaLabel: 'Toggle more row content',
|
|
307
|
-
datagridFilterAriaLabel: '
|
|
308
|
-
datagridFilterDialogAriaLabel: '
|
|
307
|
+
datagridFilterAriaLabel: 'Toggle {COLUMN} filter',
|
|
308
|
+
datagridFilterDialogAriaLabel: 'Filter dialog',
|
|
309
309
|
columnSeparatorAriaLabel: 'Column resize handle',
|
|
310
310
|
columnSeparatorDescription: 'Use left or right key to resize the column',
|
|
311
311
|
// Alert
|
|
@@ -11977,11 +11977,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
11977
11977
|
* since it can be anything (not just a text input).
|
|
11978
11978
|
*/
|
|
11979
11979
|
class ClrDatagridFilter extends DatagridFilterRegistrar {
|
|
11980
|
-
constructor(_filters, commonStrings, smartToggleService, platformId) {
|
|
11980
|
+
constructor(_filters, commonStrings, smartToggleService, platformId, elementRef) {
|
|
11981
11981
|
super(_filters);
|
|
11982
11982
|
this.commonStrings = commonStrings;
|
|
11983
11983
|
this.smartToggleService = smartToggleService;
|
|
11984
11984
|
this.platformId = platformId;
|
|
11985
|
+
this.elementRef = elementRef;
|
|
11985
11986
|
this.subs = [];
|
|
11986
11987
|
this.ariaExpanded = false;
|
|
11987
11988
|
this.popoverId = uniqueIdFactory();
|
|
@@ -12023,18 +12024,33 @@ class ClrDatagridFilter extends DatagridFilterRegistrar {
|
|
|
12023
12024
|
get active() {
|
|
12024
12025
|
return !!this.filter && this.filter.isActive();
|
|
12025
12026
|
}
|
|
12027
|
+
ngOnChanges() {
|
|
12028
|
+
this.setToggleButtonAriaLabel();
|
|
12029
|
+
}
|
|
12026
12030
|
ngOnDestroy() {
|
|
12027
12031
|
super.ngOnDestroy();
|
|
12028
12032
|
this.subs.forEach(sub => sub.unsubscribe());
|
|
12029
12033
|
}
|
|
12034
|
+
/**
|
|
12035
|
+
* This is not in a getter to prevent "expression has changed after it was checked" errors.
|
|
12036
|
+
* And it's more performant this way since it only runs on change.
|
|
12037
|
+
*/
|
|
12038
|
+
setToggleButtonAriaLabel() {
|
|
12039
|
+
const columnElement = this.elementRef.nativeElement?.closest('clr-dg-column');
|
|
12040
|
+
const columnTitleElement = columnElement?.querySelector('.datagrid-column-title');
|
|
12041
|
+
const columnTitle = columnTitleElement?.textContent.trim().toLocaleLowerCase();
|
|
12042
|
+
this.toggleButtonAriaLabel = this.commonStrings.parse(this.commonStrings.keys.datagridFilterAriaLabel, {
|
|
12043
|
+
COLUMN: columnTitle || '',
|
|
12044
|
+
});
|
|
12045
|
+
}
|
|
12030
12046
|
}
|
|
12031
|
-
ClrDatagridFilter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDatagridFilter, deps: [{ token: FiltersProvider }, { token: ClrCommonStringsService }, { token: ClrPopoverToggleService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
12032
|
-
ClrDatagridFilter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrDatagridFilter, selector: "clr-dg-filter", inputs: { open: ["clrDgFilterOpen", "open"], customFilter: ["clrDgFilter", "customFilter"] }, outputs: { openChange: "clrDgFilterOpenChange" }, providers: [{ provide: CustomFilter, useExisting: ClrDatagridFilter }], viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: `
|
|
12047
|
+
ClrDatagridFilter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDatagridFilter, deps: [{ token: FiltersProvider }, { token: ClrCommonStringsService }, { token: ClrPopoverToggleService }, { token: PLATFORM_ID }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
12048
|
+
ClrDatagridFilter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrDatagridFilter, selector: "clr-dg-filter", inputs: { open: ["clrDgFilterOpen", "open"], customFilter: ["clrDgFilter", "customFilter"] }, outputs: { openChange: "clrDgFilterOpenChange" }, providers: [{ provide: CustomFilter, useExisting: ClrDatagridFilter }], viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
12033
12049
|
<button
|
|
12034
12050
|
class="datagrid-filter-toggle"
|
|
12035
12051
|
type="button"
|
|
12036
12052
|
#anchor
|
|
12037
|
-
[attr.aria-label]="
|
|
12053
|
+
[attr.aria-label]="toggleButtonAriaLabel"
|
|
12038
12054
|
[attr.aria-expanded]="ariaExpanded"
|
|
12039
12055
|
[attr.aria-controls]="popoverId"
|
|
12040
12056
|
clrPopoverAnchor
|
|
@@ -12077,7 +12093,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
12077
12093
|
class="datagrid-filter-toggle"
|
|
12078
12094
|
type="button"
|
|
12079
12095
|
#anchor
|
|
12080
|
-
[attr.aria-label]="
|
|
12096
|
+
[attr.aria-label]="toggleButtonAriaLabel"
|
|
12081
12097
|
[attr.aria-expanded]="ariaExpanded"
|
|
12082
12098
|
[attr.aria-controls]="popoverId"
|
|
12083
12099
|
clrPopoverAnchor
|
|
@@ -12113,7 +12129,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
12113
12129
|
}], ctorParameters: function () { return [{ type: FiltersProvider }, { type: ClrCommonStringsService }, { type: ClrPopoverToggleService }, { type: undefined, decorators: [{
|
|
12114
12130
|
type: Inject,
|
|
12115
12131
|
args: [PLATFORM_ID]
|
|
12116
|
-
}] }]; }, propDecorators: { anchor: [{
|
|
12132
|
+
}] }, { type: i0.ElementRef }]; }, propDecorators: { anchor: [{
|
|
12117
12133
|
type: ViewChild,
|
|
12118
12134
|
args: ['anchor', { read: ElementRef }]
|
|
12119
12135
|
}], open: [{
|
|
@@ -18713,8 +18729,8 @@ class ClrStackHeader {
|
|
|
18713
18729
|
}
|
|
18714
18730
|
ClrStackHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackHeader, deps: [{ token: ClrStackView }], target: i0.ɵɵFactoryTarget.Component });
|
|
18715
18731
|
ClrStackHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrStackHeader, selector: "clr-stack-header", ngImport: i0, template: `
|
|
18716
|
-
<
|
|
18717
|
-
<
|
|
18732
|
+
<div class="stack-header">
|
|
18733
|
+
<h4 class="stack-title"><ng-content></ng-content></h4>
|
|
18718
18734
|
|
|
18719
18735
|
<span class="stack-actions">
|
|
18720
18736
|
<ng-content select=".stack-action"></ng-content>
|
|
@@ -18729,15 +18745,15 @@ ClrStackHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
|
|
|
18729
18745
|
</button>
|
|
18730
18746
|
<!-- End of undocumented experimental feature. -->
|
|
18731
18747
|
</span>
|
|
18732
|
-
</
|
|
18748
|
+
</div>
|
|
18733
18749
|
`, isInline: true, styles: [":host{display:block}\n"], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
18734
18750
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackHeader, decorators: [{
|
|
18735
18751
|
type: Component,
|
|
18736
18752
|
args: [{
|
|
18737
18753
|
selector: 'clr-stack-header',
|
|
18738
18754
|
template: `
|
|
18739
|
-
<
|
|
18740
|
-
<
|
|
18755
|
+
<div class="stack-header">
|
|
18756
|
+
<h4 class="stack-title"><ng-content></ng-content></h4>
|
|
18741
18757
|
|
|
18742
18758
|
<span class="stack-actions">
|
|
18743
18759
|
<ng-content select=".stack-action"></ng-content>
|
|
@@ -18752,7 +18768,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
18752
18768
|
</button>
|
|
18753
18769
|
<!-- End of undocumented experimental feature. -->
|
|
18754
18770
|
</span>
|
|
18755
|
-
</
|
|
18771
|
+
</div>
|
|
18756
18772
|
`,
|
|
18757
18773
|
// Custom elements are inline by default
|
|
18758
18774
|
styles: [
|
|
@@ -23954,8 +23970,6 @@ class ClrTooltipContent extends AbstractPopover {
|
|
|
23954
23970
|
constructor(injector, parentHost, tooltipIdService) {
|
|
23955
23971
|
super(injector, parentHost);
|
|
23956
23972
|
this.tooltipIdService = tooltipIdService;
|
|
23957
|
-
this._position = defaultPosition;
|
|
23958
|
-
this._size = defaultSize;
|
|
23959
23973
|
if (!parentHost) {
|
|
23960
23974
|
throw new Error('clr-tooltip-content should only be used inside of a clr-tooltip');
|
|
23961
23975
|
}
|
|
@@ -24017,6 +24031,10 @@ class ClrTooltipContent extends AbstractPopover {
|
|
|
24017
24031
|
this._size = newSize;
|
|
24018
24032
|
this.updateCssClass({ oldClass: `tooltip-${oldSize}`, newClass: `tooltip-${newSize}` });
|
|
24019
24033
|
}
|
|
24034
|
+
ngOnInit() {
|
|
24035
|
+
this.size = this.size || defaultSize;
|
|
24036
|
+
this.position = this.position || defaultPosition;
|
|
24037
|
+
}
|
|
24020
24038
|
updateCssClass({ oldClass, newClass }) {
|
|
24021
24039
|
this.renderer.removeClass(this.el.nativeElement, oldClass);
|
|
24022
24040
|
this.renderer.addClass(this.el.nativeElement, newClass);
|