@progress/kendo-angular-grid 7.2.4 → 7.3.0-dev.202208190713

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.
@@ -17,7 +17,7 @@ import * as i0 from "@angular/core";
17
17
  * template: `
18
18
  * <kendo-grid [data]="data" [columnMenu]="true">
19
19
  * <ng-template kendoGridColumnMenuTemplate let-service="service">
20
- * <span class="k-icon k-i-close" (click)="service.close()"
20
+ * <span class="k-icon k-i-x" (click)="service.close()"
21
21
  * style="position: absolute; right: 5px; top: 5px;cursor: pointer;"></span>
22
22
  * <kendo-grid-columnmenu-sort [service]="service">
23
23
  * </kendo-grid-columnmenu-sort>
@@ -38,6 +38,7 @@ export declare class ColumnHandleDirective implements OnInit, OnDestroy {
38
38
  private sizeToFit;
39
39
  private updateWidth;
40
40
  private columnsForLevel;
41
+ private getTableDelta;
41
42
  static ɵfac: i0.ɵɵFactoryDeclaration<ColumnHandleDirective, [{ host: true; }, null, null, null, null, null, null]>;
42
43
  static ɵdir: i0.ɵɵDirectiveDeclaration<ColumnHandleDirective, "[kendoGridColumnHandle]", never, { "columns": "columns"; "column": "column"; }, {}, never>;
43
44
  }
@@ -59,9 +59,15 @@ export declare class ColumnBase {
59
59
  */
60
60
  reorderable: boolean;
61
61
  /**
62
- * The width (in pixels) below which the user is not able to resize the column by using the UI.
62
+ * The width (in pixels) below which the user is not able to resize the column by using the UI ([see example]({% slug resizing_columns_grid %}#toc-limiting-the-resizing)).
63
+ * @default 10
63
64
  */
64
65
  minResizableWidth: number;
66
+ /**
67
+ * The width (in pixels) above which the user is not able to resize the column by using the UI ([see example]({% slug resizing_columns_grid %}#toc-limiting-the-resizing)).
68
+ * By default, the maximum width is not restricted.
69
+ */
70
+ maxResizableWidth: number;
65
71
  /**
66
72
  * The title of the column.
67
73
  */
@@ -618,5 +624,5 @@ export declare class ColumnBase {
618
624
  */
619
625
  constructor(parent?: ColumnBase, idService?: IdService);
620
626
  static ɵfac: i0.ɵɵFactoryDeclaration<ColumnBase, never>;
621
- static ɵcmp: i0.ɵɵComponentDeclaration<ColumnBase, "kendo-grid-column-base", never, { "resizable": "resizable"; "reorderable": "reorderable"; "minResizableWidth": "minResizableWidth"; "title": "title"; "width": "width"; "autoSize": "autoSize"; "locked": "locked"; "sticky": "sticky"; "hidden": "hidden"; "media": "media"; "lockable": "lockable"; "stickable": "stickable"; "columnMenu": "columnMenu"; "includeInChooser": "includeInChooser"; "style": "style"; "headerStyle": "headerStyle"; "filterStyle": "filterStyle"; "footerStyle": "footerStyle"; "cssClass": "class"; "headerClass": "headerClass"; "filterClass": "filterClass"; "footerClass": "footerClass"; }, {}, ["footerTemplate", "headerTemplates", "columnMenuTemplates"], never>;
627
+ static ɵcmp: i0.ɵɵComponentDeclaration<ColumnBase, "kendo-grid-column-base", never, { "resizable": "resizable"; "reorderable": "reorderable"; "minResizableWidth": "minResizableWidth"; "maxResizableWidth": "maxResizableWidth"; "title": "title"; "width": "width"; "autoSize": "autoSize"; "locked": "locked"; "sticky": "sticky"; "hidden": "hidden"; "media": "media"; "lockable": "lockable"; "stickable": "stickable"; "columnMenu": "columnMenu"; "includeInChooser": "includeInChooser"; "style": "style"; "headerStyle": "headerStyle"; "filterStyle": "filterStyle"; "footerStyle": "footerStyle"; "cssClass": "class"; "headerClass": "headerClass"; "filterClass": "filterClass"; "footerClass": "footerClass"; }, {}, ["footerTemplate", "headerTemplates", "columnMenuTemplates"], never>;
622
628
  }
@@ -78,6 +78,10 @@ export declare class ColumnGroupComponent extends ColumnBase {
78
78
  * @hidden
79
79
  */
80
80
  minResizableWidth: number;
81
+ /**
82
+ * @hidden
83
+ */
84
+ maxResizableWidth: number;
81
85
  /**
82
86
  * @hidden
83
87
  */
@@ -82,13 +82,13 @@ ColumnMenuSortComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0",
82
82
  ColumnMenuSortComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ColumnMenuSortComponent, selector: "kendo-grid-columnmenu-sort", usesInheritance: true, ngImport: i0, template: `
83
83
  <kendo-grid-columnmenu-item
84
84
  [text]="localization.get('sortAscending')"
85
- icon="sort-asc-sm"
85
+ icon="sort-asc-small"
86
86
  (itemClick)="toggleSort('asc')"
87
87
  [selected]="sortedAsc">
88
88
  </kendo-grid-columnmenu-item>
89
89
  <kendo-grid-columnmenu-item
90
90
  [text]="localization.get('sortDescending')"
91
- icon="sort-desc-sm"
91
+ icon="sort-desc-small"
92
92
  (itemClick)="toggleSort('desc')"
93
93
  [selected]="sortedDesc">
94
94
  </kendo-grid-columnmenu-item>
@@ -100,13 +100,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
100
100
  template: `
101
101
  <kendo-grid-columnmenu-item
102
102
  [text]="localization.get('sortAscending')"
103
- icon="sort-asc-sm"
103
+ icon="sort-asc-small"
104
104
  (itemClick)="toggleSort('asc')"
105
105
  [selected]="sortedAsc">
106
106
  </kendo-grid-columnmenu-item>
107
107
  <kendo-grid-columnmenu-item
108
108
  [text]="localization.get('sortDescending')"
109
- icon="sort-desc-sm"
109
+ icon="sort-desc-small"
110
110
  (itemClick)="toggleSort('desc')"
111
111
  [selected]="sortedDesc">
112
112
  </kendo-grid-columnmenu-item>
@@ -17,7 +17,7 @@ import * as i1 from "./../filtering/menu/menu-tabbing.service";
17
17
  * template: `
18
18
  * <kendo-grid [data]="data" [columnMenu]="true">
19
19
  * <ng-template kendoGridColumnMenuTemplate let-service="service">
20
- * <span class="k-icon k-i-close" (click)="service.close()"
20
+ * <span class="k-icon k-i-x" (click)="service.close()"
21
21
  * style="position: absolute; right: 5px; top: 5px;cursor: pointer;"></span>
22
22
  * <kendo-grid-columnmenu-sort [service]="service">
23
23
  * </kendo-grid-columnmenu-sort>
@@ -172,9 +172,11 @@ export class ColumnHandleDirective {
172
172
  if (isTruthy(this.rtl)) {
173
173
  delta *= -1;
174
174
  }
175
- const newWidth = Math.max(this.column.resizeStartWidth + delta, this.column.minResizableWidth);
176
- const tableDelta = newWidth > this.column.minResizableWidth ?
177
- delta : this.column.minResizableWidth - this.column.resizeStartWidth;
175
+ let newWidth = Math.max(this.column.resizeStartWidth + delta, this.column.minResizableWidth);
176
+ if (isPresent(this.column.maxResizableWidth)) {
177
+ newWidth = Math.min(newWidth, this.column.maxResizableWidth);
178
+ }
179
+ const tableDelta = this.getTableDelta(newWidth, delta);
178
180
  this.updateWidth(this.column, newWidth);
179
181
  this.service.resizeTable(this.column, tableDelta);
180
182
  }
@@ -199,6 +201,25 @@ export class ColumnHandleDirective {
199
201
  columnsForLevel(level) {
200
202
  return columnsToRender(this.columns ? this.columns.filter(column => column.level === level) : []);
201
203
  }
204
+ getTableDelta(newWidth, delta) {
205
+ const minWidth = this.column.minResizableWidth;
206
+ const maxWidth = this.column.maxResizableWidth;
207
+ const startWidth = this.column.resizeStartWidth;
208
+ const isAboveMin = newWidth > minWidth;
209
+ const isBelowMax = newWidth < maxWidth;
210
+ const isInBoundaries = isPresent(maxWidth) ?
211
+ isAboveMin && isBelowMax :
212
+ isAboveMin;
213
+ if (isInBoundaries) {
214
+ return delta;
215
+ }
216
+ else if (newWidth <= minWidth) {
217
+ return minWidth - startWidth;
218
+ }
219
+ else {
220
+ return startWidth - maxWidth;
221
+ }
222
+ }
202
223
  }
203
224
  ColumnHandleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ColumnHandleDirective, deps: [{ token: i1.DraggableDirective, host: true }, { token: i0.ElementRef }, { token: i2.ColumnResizingService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i3.LocalizationService }, { token: i4.ColumnInfoService }], target: i0.ɵɵFactoryTarget.Directive });
204
225
  ColumnHandleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: ColumnHandleDirective, selector: "[kendoGridColumnHandle]", inputs: { columns: "columns", column: "column" }, host: { listeners: { "dblclick": "autoFit()" }, properties: { "style.display": "this.visible", "style.left": "this.leftStyle", "style.right": "this.rightStyle" } }, ngImport: i0 });
@@ -55,7 +55,8 @@ export class ColumnBase {
55
55
  */
56
56
  this.reorderable = true;
57
57
  /**
58
- * The width (in pixels) below which the user is not able to resize the column by using the UI.
58
+ * The width (in pixels) below which the user is not able to resize the column by using the UI ([see example]({% slug resizing_columns_grid %}#toc-limiting-the-resizing)).
59
+ * @default 10
59
60
  */
60
61
  this.minResizableWidth = 10;
61
62
  this._locked = false;
@@ -232,7 +233,7 @@ export class ColumnBase {
232
233
  }
233
234
  }
234
235
  ColumnBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ColumnBase, deps: [{ token: ColumnBase }, { token: i1.IdService }], target: i0.ɵɵFactoryTarget.Component });
235
- ColumnBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ColumnBase, selector: "kendo-grid-column-base", inputs: { resizable: "resizable", reorderable: "reorderable", minResizableWidth: "minResizableWidth", title: "title", width: "width", autoSize: "autoSize", locked: "locked", sticky: "sticky", hidden: "hidden", media: "media", lockable: "lockable", stickable: "stickable", columnMenu: "columnMenu", includeInChooser: "includeInChooser", style: "style", headerStyle: "headerStyle", filterStyle: "filterStyle", footerStyle: "footerStyle", cssClass: ["class", "cssClass"], headerClass: "headerClass", filterClass: "filterClass", footerClass: "footerClass" }, queries: [{ propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "headerTemplates", predicate: HeaderTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], ngImport: i0, template: ``, isInline: true });
236
+ ColumnBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ColumnBase, selector: "kendo-grid-column-base", inputs: { resizable: "resizable", reorderable: "reorderable", minResizableWidth: "minResizableWidth", maxResizableWidth: "maxResizableWidth", title: "title", width: "width", autoSize: "autoSize", locked: "locked", sticky: "sticky", hidden: "hidden", media: "media", lockable: "lockable", stickable: "stickable", columnMenu: "columnMenu", includeInChooser: "includeInChooser", style: "style", headerStyle: "headerStyle", filterStyle: "filterStyle", footerStyle: "footerStyle", cssClass: ["class", "cssClass"], headerClass: "headerClass", filterClass: "filterClass", footerClass: "footerClass" }, queries: [{ propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "headerTemplates", predicate: HeaderTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], ngImport: i0, template: ``, isInline: true });
236
237
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ColumnBase, decorators: [{
237
238
  type: Component,
238
239
  args: [{
@@ -245,6 +246,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
245
246
  type: Input
246
247
  }], minResizableWidth: [{
247
248
  type: Input
249
+ }], maxResizableWidth: [{
250
+ type: Input
248
251
  }], title: [{
249
252
  type: Input
250
253
  }], width: [{
@@ -18,8 +18,8 @@ import * as i5 from "../navigation/navigation.service";
18
18
  */
19
19
  const preventOnDblClick = release => mouseDown => of(mouseDown).pipe(delay(150), takeUntil(release));
20
20
  const hasClass = className => el => new RegExp(`(^| )${className}( |$)`).test(el.className);
21
- const isDeleteButton = or(hasClass('k-i-group-delete'), hasClass('k-icon-button'));
22
- const isSortIcon = or(hasClass('k-i-sort-asc-sm'), hasClass('k-i-sort-desc-sm'));
21
+ const isDeleteButton = or(hasClass('k-i-x'), hasClass('k-icon-button'));
22
+ const isSortIcon = or(hasClass('k-i-sort-asc-small'), hasClass('k-i-sort-desc-small'));
23
23
  const skipButtons = and(not(isDeleteButton), not(isSortIcon), not(isFocusableWithTabKey), not(matchesNodeName('label')));
24
24
  const elementUnderCursor = ({ clientX, clientY }) => document.elementFromPoint(clientX, clientY);
25
25
  const hideThenShow = (element, cont) => {
@@ -101,7 +101,7 @@ GroupHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
101
101
  <ng-container *ngIf="!skipGroupDecoration">
102
102
  <a href="#" tabindex="-1" (click)="toggleGroup(item)"
103
103
  class="k-icon"
104
- [ngClass]="{ 'k-i-collapse': isExpanded, 'k-i-expand': !isExpanded }" role="presentation"
104
+ [ngClass]="{ 'k-i-caret-alt-down': isExpanded, 'k-i-caret-alt-right': !isExpanded }" role="presentation"
105
105
  [attr.title]="groupButtonTitle"
106
106
  [attr.aria-label]="groupButtonTitle">
107
107
  </a>
@@ -171,7 +171,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
171
171
  <ng-container *ngIf="!skipGroupDecoration">
172
172
  <a href="#" tabindex="-1" (click)="toggleGroup(item)"
173
173
  class="k-icon"
174
- [ngClass]="{ 'k-i-collapse': isExpanded, 'k-i-expand': !isExpanded }" role="presentation"
174
+ [ngClass]="{ 'k-i-caret-alt-down': isExpanded, 'k-i-caret-alt-right': !isExpanded }" role="presentation"
175
175
  [attr.title]="groupButtonTitle"
176
176
  [attr.aria-label]="groupButtonTitle">
177
177
  </a>
@@ -37,11 +37,11 @@ GroupIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0",
37
37
  GroupIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: GroupIndicatorComponent, selector: "[kendoGroupIndicator]", inputs: { group: "group", groupTitle: "groupTitle" }, outputs: { directionChange: "directionChange", remove: "remove" }, host: { properties: { "class.k-group-indicator": "this.groupIndicatorClass" } }, ngImport: i0, template: `
38
38
  <a href="#" class="k-link" tabindex="-1" (click)="toggleDirection()">
39
39
  <span class="k-icon"
40
- [class.k-i-sort-asc-sm]="dir === 'asc'"
41
- [class.k-i-sort-desc-sm]="dir === 'desc'"></span>
40
+ [class.k-i-sort-asc-small]="dir === 'asc'"
41
+ [class.k-i-sort-desc-small]="dir === 'desc'"></span>
42
42
  {{groupTitle}}</a>
43
43
  <a class="k-button k-button-flat-base k-button-flat k-icon-button k-button-md k-rounded-md k-button-rectangle k-icon-button" tabindex="-1" (click)="removeDescriptor()">
44
- <span class="k-button-icon k-icon k-i-group-delete"></span>
44
+ <span class="k-button-icon k-icon k-i-x"></span>
45
45
  </a>
46
46
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
47
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: GroupIndicatorComponent, decorators: [{
@@ -52,11 +52,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
52
52
  template: `
53
53
  <a href="#" class="k-link" tabindex="-1" (click)="toggleDirection()">
54
54
  <span class="k-icon"
55
- [class.k-i-sort-asc-sm]="dir === 'asc'"
56
- [class.k-i-sort-desc-sm]="dir === 'desc'"></span>
55
+ [class.k-i-sort-asc-small]="dir === 'asc'"
56
+ [class.k-i-sort-desc-small]="dir === 'desc'"></span>
57
57
  {{groupTitle}}</a>
58
58
  <a class="k-button k-button-flat-base k-button-flat k-icon-button k-button-md k-rounded-md k-button-rectangle k-icon-button" tabindex="-1" (click)="removeDescriptor()">
59
- <span class="k-button-icon k-icon k-i-group-delete"></span>
59
+ <span class="k-button-icon k-icon k-i-x"></span>
60
60
  </a>
61
61
  `
62
62
  }]
@@ -23,6 +23,7 @@ export class FocusGroup {
23
23
  }
24
24
  ngOnDestroy() {
25
25
  this.root.unregisterGroup(this);
26
+ this.active = true;
26
27
  }
27
28
  registerElement(element) {
28
29
  this.unregisterElement(element);
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-grid',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1659455016,
12
+ publishDate: 1660893095,
13
13
  version: '',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
15
15
  };
@@ -53,7 +53,7 @@ PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
53
53
  <span role="note" [attr.aria-label]="textFor('pagerNextPage')"
54
54
  [ngClass]="{
55
55
  'k-icon':true,
56
- 'k-i-arrow-e': true
56
+ 'k-i-caret-alt-right': true
57
57
  }">
58
58
  </span>
59
59
  </span>
@@ -73,7 +73,7 @@ PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
73
73
  <span role="note" [attr.aria-label]="textFor('pagerLastPage')"
74
74
  [ngClass]="{
75
75
  'k-icon':true,
76
- 'k-i-seek-e': true
76
+ 'k-i-caret-alt-to-right': true
77
77
  }">
78
78
  </span>
79
79
  </span>
@@ -100,7 +100,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
100
100
  <span role="note" [attr.aria-label]="textFor('pagerNextPage')"
101
101
  [ngClass]="{
102
102
  'k-icon':true,
103
- 'k-i-arrow-e': true
103
+ 'k-i-caret-alt-right': true
104
104
  }">
105
105
  </span>
106
106
  </span>
@@ -120,7 +120,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
120
120
  <span role="note" [attr.aria-label]="textFor('pagerLastPage')"
121
121
  [ngClass]="{
122
122
  'k-icon':true,
123
- 'k-i-seek-e': true
123
+ 'k-i-caret-alt-to-right': true
124
124
  }">
125
125
  </span>
126
126
  </span>
@@ -53,7 +53,7 @@ PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
53
53
  [attr.aria-label]="textFor('pagerFirstPage')"
54
54
  [ngClass]="{
55
55
  'k-icon': true,
56
- 'k-i-seek-w': true
56
+ 'k-i-caret-alt-to-left': true
57
57
  }">
58
58
  </span>
59
59
  </span>
@@ -73,7 +73,7 @@ PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
73
73
  [attr.aria-label]="textFor('pagerPreviousPage')"
74
74
  [ngClass]="{
75
75
  'k-icon': true,
76
- 'k-i-arrow-w': true
76
+ 'k-i-caret-alt-left': true
77
77
  }">
78
78
  </span>
79
79
  </span>
@@ -100,7 +100,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
100
100
  [attr.aria-label]="textFor('pagerFirstPage')"
101
101
  [ngClass]="{
102
102
  'k-icon': true,
103
- 'k-i-seek-w': true
103
+ 'k-i-caret-alt-to-left': true
104
104
  }">
105
105
  </span>
106
106
  </span>
@@ -120,7 +120,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
120
120
  [attr.aria-label]="textFor('pagerPreviousPage')"
121
121
  [ngClass]="{
122
122
  'k-icon': true,
123
- 'k-i-arrow-w': true
123
+ 'k-i-caret-alt-left': true
124
124
  }">
125
125
  </span>
126
126
  </span>
@@ -160,8 +160,8 @@ export class HeaderComponent {
160
160
  const state = this.sortDescriptor(field);
161
161
  return {
162
162
  'k-icon': isPresent(state.dir),
163
- 'k-i-sort-desc-sm': state.dir === "desc",
164
- 'k-i-sort-asc-sm': state.dir === "asc"
163
+ 'k-i-sort-desc-small': state.dir === "desc",
164
+ 'k-i-sort-asc-small': state.dir === "asc"
165
165
  };
166
166
  }
167
167
  sortState(column) {
@@ -2836,7 +2836,7 @@ const packageMetadata = {
2836
2836
  name: '@progress/kendo-angular-grid',
2837
2837
  productName: 'Kendo UI for Angular',
2838
2838
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
2839
- publishDate: 1659455016,
2839
+ publishDate: 1660893095,
2840
2840
  version: '',
2841
2841
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
2842
2842
  };
@@ -3367,7 +3367,8 @@ class ColumnBase {
3367
3367
  */
3368
3368
  this.reorderable = true;
3369
3369
  /**
3370
- * The width (in pixels) below which the user is not able to resize the column by using the UI.
3370
+ * The width (in pixels) below which the user is not able to resize the column by using the UI ([see example]({% slug resizing_columns_grid %}#toc-limiting-the-resizing)).
3371
+ * @default 10
3371
3372
  */
3372
3373
  this.minResizableWidth = 10;
3373
3374
  this._locked = false;
@@ -3544,7 +3545,7 @@ class ColumnBase {
3544
3545
  }
3545
3546
  }
3546
3547
  ColumnBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ColumnBase, deps: [{ token: ColumnBase }, { token: IdService }], target: i0.ɵɵFactoryTarget.Component });
3547
- ColumnBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ColumnBase, selector: "kendo-grid-column-base", inputs: { resizable: "resizable", reorderable: "reorderable", minResizableWidth: "minResizableWidth", title: "title", width: "width", autoSize: "autoSize", locked: "locked", sticky: "sticky", hidden: "hidden", media: "media", lockable: "lockable", stickable: "stickable", columnMenu: "columnMenu", includeInChooser: "includeInChooser", style: "style", headerStyle: "headerStyle", filterStyle: "filterStyle", footerStyle: "footerStyle", cssClass: ["class", "cssClass"], headerClass: "headerClass", filterClass: "filterClass", footerClass: "footerClass" }, queries: [{ propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "headerTemplates", predicate: HeaderTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], ngImport: i0, template: ``, isInline: true });
3548
+ ColumnBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ColumnBase, selector: "kendo-grid-column-base", inputs: { resizable: "resizable", reorderable: "reorderable", minResizableWidth: "minResizableWidth", maxResizableWidth: "maxResizableWidth", title: "title", width: "width", autoSize: "autoSize", locked: "locked", sticky: "sticky", hidden: "hidden", media: "media", lockable: "lockable", stickable: "stickable", columnMenu: "columnMenu", includeInChooser: "includeInChooser", style: "style", headerStyle: "headerStyle", filterStyle: "filterStyle", footerStyle: "footerStyle", cssClass: ["class", "cssClass"], headerClass: "headerClass", filterClass: "filterClass", footerClass: "footerClass" }, queries: [{ propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "headerTemplates", predicate: HeaderTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], ngImport: i0, template: ``, isInline: true });
3548
3549
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ColumnBase, decorators: [{
3549
3550
  type: Component,
3550
3551
  args: [{
@@ -3557,6 +3558,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
3557
3558
  type: Input
3558
3559
  }], minResizableWidth: [{
3559
3560
  type: Input
3561
+ }], maxResizableWidth: [{
3562
+ type: Input
3560
3563
  }], title: [{
3561
3564
  type: Input
3562
3565
  }], width: [{
@@ -6642,6 +6645,7 @@ class FocusGroup {
6642
6645
  }
6643
6646
  ngOnDestroy() {
6644
6647
  this.root.unregisterGroup(this);
6648
+ this.active = true;
6645
6649
  }
6646
6650
  registerElement(element) {
6647
6651
  this.unregisterElement(element);
@@ -6807,7 +6811,7 @@ PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
6807
6811
  [attr.aria-label]="textFor('pagerFirstPage')"
6808
6812
  [ngClass]="{
6809
6813
  'k-icon': true,
6810
- 'k-i-seek-w': true
6814
+ 'k-i-caret-alt-to-left': true
6811
6815
  }">
6812
6816
  </span>
6813
6817
  </span>
@@ -6827,7 +6831,7 @@ PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
6827
6831
  [attr.aria-label]="textFor('pagerPreviousPage')"
6828
6832
  [ngClass]="{
6829
6833
  'k-icon': true,
6830
- 'k-i-arrow-w': true
6834
+ 'k-i-caret-alt-left': true
6831
6835
  }">
6832
6836
  </span>
6833
6837
  </span>
@@ -6854,7 +6858,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
6854
6858
  [attr.aria-label]="textFor('pagerFirstPage')"
6855
6859
  [ngClass]="{
6856
6860
  'k-icon': true,
6857
- 'k-i-seek-w': true
6861
+ 'k-i-caret-alt-to-left': true
6858
6862
  }">
6859
6863
  </span>
6860
6864
  </span>
@@ -6874,7 +6878,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
6874
6878
  [attr.aria-label]="textFor('pagerPreviousPage')"
6875
6879
  [ngClass]="{
6876
6880
  'k-icon': true,
6877
- 'k-i-arrow-w': true
6881
+ 'k-i-caret-alt-left': true
6878
6882
  }">
6879
6883
  </span>
6880
6884
  </span>
@@ -7330,7 +7334,7 @@ PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
7330
7334
  <span role="note" [attr.aria-label]="textFor('pagerNextPage')"
7331
7335
  [ngClass]="{
7332
7336
  'k-icon':true,
7333
- 'k-i-arrow-e': true
7337
+ 'k-i-caret-alt-right': true
7334
7338
  }">
7335
7339
  </span>
7336
7340
  </span>
@@ -7350,7 +7354,7 @@ PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
7350
7354
  <span role="note" [attr.aria-label]="textFor('pagerLastPage')"
7351
7355
  [ngClass]="{
7352
7356
  'k-icon':true,
7353
- 'k-i-seek-e': true
7357
+ 'k-i-caret-alt-to-right': true
7354
7358
  }">
7355
7359
  </span>
7356
7360
  </span>
@@ -7377,7 +7381,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
7377
7381
  <span role="note" [attr.aria-label]="textFor('pagerNextPage')"
7378
7382
  [ngClass]="{
7379
7383
  'k-icon':true,
7380
- 'k-i-arrow-e': true
7384
+ 'k-i-caret-alt-right': true
7381
7385
  }">
7382
7386
  </span>
7383
7387
  </span>
@@ -7397,7 +7401,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
7397
7401
  <span role="note" [attr.aria-label]="textFor('pagerLastPage')"
7398
7402
  [ngClass]="{
7399
7403
  'k-icon':true,
7400
- 'k-i-seek-e': true
7404
+ 'k-i-caret-alt-to-right': true
7401
7405
  }">
7402
7406
  </span>
7403
7407
  </span>
@@ -8168,11 +8172,11 @@ GroupIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0",
8168
8172
  GroupIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: GroupIndicatorComponent, selector: "[kendoGroupIndicator]", inputs: { group: "group", groupTitle: "groupTitle" }, outputs: { directionChange: "directionChange", remove: "remove" }, host: { properties: { "class.k-group-indicator": "this.groupIndicatorClass" } }, ngImport: i0, template: `
8169
8173
  <a href="#" class="k-link" tabindex="-1" (click)="toggleDirection()">
8170
8174
  <span class="k-icon"
8171
- [class.k-i-sort-asc-sm]="dir === 'asc'"
8172
- [class.k-i-sort-desc-sm]="dir === 'desc'"></span>
8175
+ [class.k-i-sort-asc-small]="dir === 'asc'"
8176
+ [class.k-i-sort-desc-small]="dir === 'desc'"></span>
8173
8177
  {{groupTitle}}</a>
8174
8178
  <a class="k-button k-button-flat-base k-button-flat k-icon-button k-button-md k-rounded-md k-button-rectangle k-icon-button" tabindex="-1" (click)="removeDescriptor()">
8175
- <span class="k-button-icon k-icon k-i-group-delete"></span>
8179
+ <span class="k-button-icon k-icon k-i-x"></span>
8176
8180
  </a>
8177
8181
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
8178
8182
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: GroupIndicatorComponent, decorators: [{
@@ -8183,11 +8187,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
8183
8187
  template: `
8184
8188
  <a href="#" class="k-link" tabindex="-1" (click)="toggleDirection()">
8185
8189
  <span class="k-icon"
8186
- [class.k-i-sort-asc-sm]="dir === 'asc'"
8187
- [class.k-i-sort-desc-sm]="dir === 'desc'"></span>
8190
+ [class.k-i-sort-asc-small]="dir === 'asc'"
8191
+ [class.k-i-sort-desc-small]="dir === 'desc'"></span>
8188
8192
  {{groupTitle}}</a>
8189
8193
  <a class="k-button k-button-flat-base k-button-flat k-icon-button k-button-md k-rounded-md k-button-rectangle k-icon-button" tabindex="-1" (click)="removeDescriptor()">
8190
- <span class="k-button-icon k-icon k-i-group-delete"></span>
8194
+ <span class="k-button-icon k-icon k-i-x"></span>
8191
8195
  </a>
8192
8196
  `
8193
8197
  }]
@@ -8209,8 +8213,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
8209
8213
  */
8210
8214
  const preventOnDblClick$1 = release => mouseDown => of(mouseDown).pipe(delay(150), takeUntil(release));
8211
8215
  const hasClass = className => el => new RegExp(`(^| )${className}( |$)`).test(el.className);
8212
- const isDeleteButton = or(hasClass('k-i-group-delete'), hasClass('k-icon-button'));
8213
- const isSortIcon = or(hasClass('k-i-sort-asc-sm'), hasClass('k-i-sort-desc-sm'));
8216
+ const isDeleteButton = or(hasClass('k-i-x'), hasClass('k-icon-button'));
8217
+ const isSortIcon = or(hasClass('k-i-sort-asc-small'), hasClass('k-i-sort-desc-small'));
8214
8218
  const skipButtons = and(not(isDeleteButton), not(isSortIcon), not(isFocusableWithTabKey), not(matchesNodeName('label')));
8215
8219
  const elementUnderCursor = ({ clientX, clientY }) => document.elementFromPoint(clientX, clientY);
8216
8220
  const hideThenShow = (element, cont) => {
@@ -11096,7 +11100,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
11096
11100
  * template: `
11097
11101
  * <kendo-grid [data]="data" [columnMenu]="true">
11098
11102
  * <ng-template kendoGridColumnMenuTemplate let-service="service">
11099
- * <span class="k-icon k-i-close" (click)="service.close()"
11103
+ * <span class="k-icon k-i-x" (click)="service.close()"
11100
11104
  * style="position: absolute; right: 5px; top: 5px;cursor: pointer;"></span>
11101
11105
  * <kendo-grid-columnmenu-sort [service]="service">
11102
11106
  * </kendo-grid-columnmenu-sort>
@@ -12450,13 +12454,13 @@ ColumnMenuSortComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0",
12450
12454
  ColumnMenuSortComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ColumnMenuSortComponent, selector: "kendo-grid-columnmenu-sort", usesInheritance: true, ngImport: i0, template: `
12451
12455
  <kendo-grid-columnmenu-item
12452
12456
  [text]="localization.get('sortAscending')"
12453
- icon="sort-asc-sm"
12457
+ icon="sort-asc-small"
12454
12458
  (itemClick)="toggleSort('asc')"
12455
12459
  [selected]="sortedAsc">
12456
12460
  </kendo-grid-columnmenu-item>
12457
12461
  <kendo-grid-columnmenu-item
12458
12462
  [text]="localization.get('sortDescending')"
12459
- icon="sort-desc-sm"
12463
+ icon="sort-desc-small"
12460
12464
  (itemClick)="toggleSort('desc')"
12461
12465
  [selected]="sortedDesc">
12462
12466
  </kendo-grid-columnmenu-item>
@@ -12468,13 +12472,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
12468
12472
  template: `
12469
12473
  <kendo-grid-columnmenu-item
12470
12474
  [text]="localization.get('sortAscending')"
12471
- icon="sort-asc-sm"
12475
+ icon="sort-asc-small"
12472
12476
  (itemClick)="toggleSort('asc')"
12473
12477
  [selected]="sortedAsc">
12474
12478
  </kendo-grid-columnmenu-item>
12475
12479
  <kendo-grid-columnmenu-item
12476
12480
  [text]="localization.get('sortDescending')"
12477
- icon="sort-desc-sm"
12481
+ icon="sort-desc-small"
12478
12482
  (itemClick)="toggleSort('desc')"
12479
12483
  [selected]="sortedDesc">
12480
12484
  </kendo-grid-columnmenu-item>
@@ -14117,9 +14121,11 @@ class ColumnHandleDirective {
14117
14121
  if (isTruthy(this.rtl)) {
14118
14122
  delta *= -1;
14119
14123
  }
14120
- const newWidth = Math.max(this.column.resizeStartWidth + delta, this.column.minResizableWidth);
14121
- const tableDelta = newWidth > this.column.minResizableWidth ?
14122
- delta : this.column.minResizableWidth - this.column.resizeStartWidth;
14124
+ let newWidth = Math.max(this.column.resizeStartWidth + delta, this.column.minResizableWidth);
14125
+ if (isPresent(this.column.maxResizableWidth)) {
14126
+ newWidth = Math.min(newWidth, this.column.maxResizableWidth);
14127
+ }
14128
+ const tableDelta = this.getTableDelta(newWidth, delta);
14123
14129
  this.updateWidth(this.column, newWidth);
14124
14130
  this.service.resizeTable(this.column, tableDelta);
14125
14131
  }
@@ -14144,6 +14150,25 @@ class ColumnHandleDirective {
14144
14150
  columnsForLevel(level) {
14145
14151
  return columnsToRender(this.columns ? this.columns.filter(column => column.level === level) : []);
14146
14152
  }
14153
+ getTableDelta(newWidth, delta) {
14154
+ const minWidth = this.column.minResizableWidth;
14155
+ const maxWidth = this.column.maxResizableWidth;
14156
+ const startWidth = this.column.resizeStartWidth;
14157
+ const isAboveMin = newWidth > minWidth;
14158
+ const isBelowMax = newWidth < maxWidth;
14159
+ const isInBoundaries = isPresent(maxWidth) ?
14160
+ isAboveMin && isBelowMax :
14161
+ isAboveMin;
14162
+ if (isInBoundaries) {
14163
+ return delta;
14164
+ }
14165
+ else if (newWidth <= minWidth) {
14166
+ return minWidth - startWidth;
14167
+ }
14168
+ else {
14169
+ return startWidth - maxWidth;
14170
+ }
14171
+ }
14147
14172
  }
14148
14173
  ColumnHandleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ColumnHandleDirective, deps: [{ token: i1$1.DraggableDirective, host: true }, { token: i0.ElementRef }, { token: ColumnResizingService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.LocalizationService }, { token: ColumnInfoService }], target: i0.ɵɵFactoryTarget.Directive });
14149
14174
  ColumnHandleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: ColumnHandleDirective, selector: "[kendoGridColumnHandle]", inputs: { columns: "columns", column: "column" }, host: { listeners: { "dblclick": "autoFit()" }, properties: { "style.display": "this.visible", "style.left": "this.leftStyle", "style.right": "this.rightStyle" } }, ngImport: i0 });
@@ -14291,8 +14316,8 @@ class HeaderComponent {
14291
14316
  const state = this.sortDescriptor(field);
14292
14317
  return {
14293
14318
  'k-icon': isPresent(state.dir),
14294
- 'k-i-sort-desc-sm': state.dir === "desc",
14295
- 'k-i-sort-asc-sm': state.dir === "asc"
14319
+ 'k-i-sort-desc-small': state.dir === "desc",
14320
+ 'k-i-sort-asc-small': state.dir === "asc"
14296
14321
  };
14297
14322
  }
14298
14323
  sortState(column) {
@@ -15826,7 +15851,7 @@ GroupHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
15826
15851
  <ng-container *ngIf="!skipGroupDecoration">
15827
15852
  <a href="#" tabindex="-1" (click)="toggleGroup(item)"
15828
15853
  class="k-icon"
15829
- [ngClass]="{ 'k-i-collapse': isExpanded, 'k-i-expand': !isExpanded }" role="presentation"
15854
+ [ngClass]="{ 'k-i-caret-alt-down': isExpanded, 'k-i-caret-alt-right': !isExpanded }" role="presentation"
15830
15855
  [attr.title]="groupButtonTitle"
15831
15856
  [attr.aria-label]="groupButtonTitle">
15832
15857
  </a>
@@ -15896,7 +15921,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
15896
15921
  <ng-container *ngIf="!skipGroupDecoration">
15897
15922
  <a href="#" tabindex="-1" (click)="toggleGroup(item)"
15898
15923
  class="k-icon"
15899
- [ngClass]="{ 'k-i-collapse': isExpanded, 'k-i-expand': !isExpanded }" role="presentation"
15924
+ [ngClass]="{ 'k-i-caret-alt-down': isExpanded, 'k-i-caret-alt-right': !isExpanded }" role="presentation"
15900
15925
  [attr.title]="groupButtonTitle"
15901
15926
  [attr.aria-label]="groupButtonTitle">
15902
15927
  </a>
@@ -2,13 +2,14 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
+ import { OnDestroy } from '@angular/core';
5
6
  import { FocusableElement } from "./focusable-element.interface";
6
7
  import { FocusRoot } from './focus-root';
7
8
  import * as i0 from "@angular/core";
8
9
  /**
9
10
  * @hidden
10
11
  */
11
- export declare class FocusGroup {
12
+ export declare class FocusGroup implements OnDestroy {
12
13
  private root;
13
14
  private active;
14
15
  private children;