@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.
@@ -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: 'Filter dialog',
308
- datagridFilterDialogAriaLabel: 'Toggle column filter',
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]="commonStrings.keys.datagridFilterAriaLabel"
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]="commonStrings.keys.datagridFilterAriaLabel"
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
- <h4 class="stack-header">
18717
- <span class="stack-title"><ng-content></ng-content></span>
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
- </h4>
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
- <h4 class="stack-header">
18740
- <span class="stack-title"><ng-content></ng-content></span>
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
- </h4>
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);