@progress/kendo-angular-treelist 22.1.0-develop.17 → 22.1.0-develop.19

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.
@@ -67,6 +67,13 @@ export declare class ColumnBase implements OnChanges {
67
67
  * @default true
68
68
  */
69
69
  reorderable: boolean;
70
+ /**
71
+ * Sets the distance in pixels by which the column width is adjusted during keyboard navigation resizing.
72
+ * Used when resizing columns with `Alt/Option + Left/Right Arrow` keyboard shortcuts.
73
+ *
74
+ * @default 10
75
+ */
76
+ resizeStep: number;
70
77
  /**
71
78
  * Sets the minimum width (in pixels) for resizing the column using the UI.
72
79
  * @default 10
@@ -224,5 +231,5 @@ export declare class ColumnBase implements OnChanges {
224
231
  constructor(parent?: ColumnBase, optionChanges?: OptionChangesService);
225
232
  ngOnChanges(_changes: any): void;
226
233
  static ɵfac: i0.ɵɵFactoryDeclaration<ColumnBase, never>;
227
- static ɵdir: i0.ɵɵDirectiveDeclaration<ColumnBase, never, never, { "resizable": { "alias": "resizable"; "required": false; }; "reorderable": { "alias": "reorderable"; "required": false; }; "minResizableWidth": { "alias": "minResizableWidth"; "required": false; }; "title": { "alias": "title"; "required": false; }; "width": { "alias": "width"; "required": false; }; "autoSize": { "alias": "autoSize"; "required": false; }; "locked": { "alias": "locked"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "media": { "alias": "media"; "required": false; }; "lockable": { "alias": "lockable"; "required": false; }; "columnMenu": { "alias": "columnMenu"; "required": false; }; "includeInChooser": { "alias": "includeInChooser"; "required": false; }; "tableCellsRole": { "alias": "tableCellsRole"; "required": false; }; "style": { "alias": "style"; "required": false; }; "headerStyle": { "alias": "headerStyle"; "required": false; }; "footerStyle": { "alias": "footerStyle"; "required": false; }; "cssClass": { "alias": "class"; "required": false; }; "headerClass": { "alias": "headerClass"; "required": false; }; "footerClass": { "alias": "footerClass"; "required": false; }; }, {}, ["footerTemplate", "headerTemplates", "columnMenuTemplates"], never, true, never>;
234
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ColumnBase, never, never, { "resizable": { "alias": "resizable"; "required": false; }; "reorderable": { "alias": "reorderable"; "required": false; }; "resizeStep": { "alias": "resizeStep"; "required": false; }; "minResizableWidth": { "alias": "minResizableWidth"; "required": false; }; "title": { "alias": "title"; "required": false; }; "width": { "alias": "width"; "required": false; }; "autoSize": { "alias": "autoSize"; "required": false; }; "locked": { "alias": "locked"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "media": { "alias": "media"; "required": false; }; "lockable": { "alias": "lockable"; "required": false; }; "columnMenu": { "alias": "columnMenu"; "required": false; }; "includeInChooser": { "alias": "includeInChooser"; "required": false; }; "tableCellsRole": { "alias": "tableCellsRole"; "required": false; }; "style": { "alias": "style"; "required": false; }; "headerStyle": { "alias": "headerStyle"; "required": false; }; "footerStyle": { "alias": "footerStyle"; "required": false; }; "cssClass": { "alias": "class"; "required": false; }; "headerClass": { "alias": "headerClass"; "required": false; }; "footerClass": { "alias": "footerClass"; "required": false; }; }, {}, ["footerTemplate", "headerTemplates", "columnMenuTemplates"], never, true, never>;
228
235
  }
@@ -50,7 +50,7 @@ const packageMetadata = {
50
50
  productCode: 'KENDOUIANGULAR',
51
51
  productCodes: ['KENDOUIANGULAR'],
52
52
  publishDate: 0,
53
- version: '22.1.0-develop.17',
53
+ version: '22.1.0-develop.19',
54
54
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
55
55
  };
56
56
 
@@ -346,6 +346,13 @@ class ColumnBase {
346
346
  * @default true
347
347
  */
348
348
  reorderable = true;
349
+ /**
350
+ * Sets the distance in pixels by which the column width is adjusted during keyboard navigation resizing.
351
+ * Used when resizing columns with `Alt/Option + Left/Right Arrow` keyboard shortcuts.
352
+ *
353
+ * @default 10
354
+ */
355
+ resizeStep = 10;
349
356
  /**
350
357
  * Sets the minimum width (in pixels) for resizing the column using the UI.
351
358
  * @default 10
@@ -533,7 +540,7 @@ class ColumnBase {
533
540
  }
534
541
  }
535
542
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ColumnBase, deps: [{ token: ColumnBase }, { token: OptionChangesService }], target: i0.ɵɵFactoryTarget.Directive });
536
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: ColumnBase, isStandalone: true, inputs: { resizable: "resizable", reorderable: "reorderable", minResizableWidth: "minResizableWidth", title: "title", width: "width", autoSize: "autoSize", locked: "locked", hidden: "hidden", media: "media", lockable: "lockable", columnMenu: "columnMenu", includeInChooser: "includeInChooser", tableCellsRole: "tableCellsRole", style: "style", headerStyle: "headerStyle", footerStyle: "footerStyle", cssClass: ["class", "cssClass"], headerClass: "headerClass", footerClass: "footerClass" }, queries: [{ propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "headerTemplates", predicate: HeaderTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], usesOnChanges: true, ngImport: i0 });
543
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: ColumnBase, isStandalone: true, inputs: { resizable: "resizable", reorderable: "reorderable", resizeStep: "resizeStep", minResizableWidth: "minResizableWidth", title: "title", width: "width", autoSize: "autoSize", locked: "locked", hidden: "hidden", media: "media", lockable: "lockable", columnMenu: "columnMenu", includeInChooser: "includeInChooser", tableCellsRole: "tableCellsRole", style: "style", headerStyle: "headerStyle", footerStyle: "footerStyle", cssClass: ["class", "cssClass"], headerClass: "headerClass", footerClass: "footerClass" }, queries: [{ propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "headerTemplates", predicate: HeaderTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], usesOnChanges: true, ngImport: i0 });
537
544
  }
538
545
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ColumnBase, decorators: [{
539
546
  type: Directive,
@@ -542,6 +549,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
542
549
  type: Input
543
550
  }], reorderable: [{
544
551
  type: Input
552
+ }], resizeStep: [{
553
+ type: Input
545
554
  }], minResizableWidth: [{
546
555
  type: Input
547
556
  }], title: [{
@@ -4690,6 +4699,7 @@ class NavigationService {
4690
4699
  selectionService;
4691
4700
  changeDetector;
4692
4701
  ctx;
4702
+ resizeService;
4693
4703
  focusableParent;
4694
4704
  changes;
4695
4705
  cellKeydown = new EventEmitter();
@@ -4715,6 +4725,27 @@ class NavigationService {
4715
4725
  });
4716
4726
  }
4717
4727
  }
4728
+ get isColumnResizable() {
4729
+ const allColumns = Array.from(this.ctx.treelist.columnsContainer.allColumns);
4730
+ const column = allColumns.find((col) => col.level === this.activeCell.rowIndex && col.leafIndex === this.activeCell.colIndex);
4731
+ if (!column?.parent) {
4732
+ if (column?.isColumnGroup) {
4733
+ return this.activeCell.colIndex + this.activeCell.colSpan !== this.ctx.treelist.columnsContainer.leafColumnsToRender.length;
4734
+ }
4735
+ else {
4736
+ return this.activeCell.colIndex !== this.ctx.treelist.columnsContainer.leafColumnsToRender.length - 1;
4737
+ }
4738
+ }
4739
+ else {
4740
+ const columnGroup = column.parent;
4741
+ const columnGroupChildren = Array.from(columnGroup.children).sort((a, b) => a.orderIndex - b.orderIndex);
4742
+ const columnIndexInsideGroup = columnGroupChildren.indexOf(column);
4743
+ if (column.isReordered || column.orderIndex > 0 || (column.isReordered && column.orderIndex === 0)) {
4744
+ return (column.orderIndex - columnGroupChildren[0]['orderIndex']) !== columnGroupChildren.length - 1;
4745
+ }
4746
+ return columnIndexInsideGroup !== columnGroupChildren.length - 1;
4747
+ }
4748
+ }
4718
4749
  viewport;
4719
4750
  columnViewport;
4720
4751
  activeRowIndex = 0;
@@ -4730,7 +4761,7 @@ class NavigationService {
4730
4761
  get activeDataRow() {
4731
4762
  return Math.max(0, this.activeRowIndex - this.meta.headerRows);
4732
4763
  }
4733
- constructor(zone, domEvents, pagerContextService, scrollRequestService, focusRoot, editService, localization, expandState, selectionService, changeDetector, ctx, focusableParent) {
4764
+ constructor(zone, domEvents, pagerContextService, scrollRequestService, focusRoot, editService, localization, expandState, selectionService, changeDetector, ctx, resizeService, focusableParent) {
4734
4765
  this.zone = zone;
4735
4766
  this.domEvents = domEvents;
4736
4767
  this.pagerContextService = pagerContextService;
@@ -4742,6 +4773,7 @@ class NavigationService {
4742
4773
  this.selectionService = selectionService;
4743
4774
  this.changeDetector = changeDetector;
4744
4775
  this.ctx = ctx;
4776
+ this.resizeService = resizeService;
4745
4777
  this.focusableParent = focusableParent;
4746
4778
  this.changes = this.cursor.changes;
4747
4779
  }
@@ -4986,6 +5018,46 @@ class NavigationService {
4986
5018
  });
4987
5019
  }
4988
5020
  }
5021
+ columnResize(increaseWidth) {
5022
+ const column = this.ctx.treelist.columnsContainer.allColumns.find((col) => col.level === this.activeCell.rowIndex && col.leafIndex === this.activeCell.colIndex);
5023
+ if (!column?.resizable) {
5024
+ return;
5025
+ }
5026
+ const rtl = this.ctx.localization.rtl;
5027
+ const step = column.resizeStep || 10;
5028
+ const shouldIncrease = rtl ? !increaseWidth : increaseWidth;
5029
+ const delta = shouldIncrease ? step : -step;
5030
+ // Get the actual rendered width from the DOM header cell
5031
+ // Fall back to column.width if header cell is not found
5032
+ let currentWidth = column.width || 0;
5033
+ const headerCell = this.meta.treelistElement.nativeElement.querySelector(`.k-treelist-header tr:nth-child(${this.activeCell.rowIndex + 1}) th:nth-child(${this.activeCell.colIndex + 1})`);
5034
+ if (headerCell) {
5035
+ const rect = headerCell.getBoundingClientRect();
5036
+ if (rect.width > 0) {
5037
+ currentWidth = rect.width;
5038
+ }
5039
+ }
5040
+ // If still no width, use resizeStartWidth or default
5041
+ if (!currentWidth) {
5042
+ currentWidth = column.resizeStartWidth || 0;
5043
+ }
5044
+ if (!currentWidth) {
5045
+ return;
5046
+ }
5047
+ const newWidth = currentWidth + delta;
5048
+ const minWidth = column.minResizableWidth || 10;
5049
+ if (newWidth < minWidth) {
5050
+ return;
5051
+ }
5052
+ // Set resizeStartWidth before calling resizeColumns so the column-handle directive can calculate the new width correctly
5053
+ column.resizeStartWidth = currentWidth;
5054
+ // The resizeColumns method expects a percentage value relative to the current column width.
5055
+ // Convert pixel delta to percentage for consistency with the existing mouse-based resizing logic.
5056
+ const deltaPercent = (delta / currentWidth) * 100;
5057
+ this.resizeService.start(column);
5058
+ this.resizeService.resizeColumns(deltaPercent);
5059
+ this.resizeService.end();
5060
+ }
4989
5061
  onCursorKeydown(args) {
4990
5062
  let preventDefault = false;
4991
5063
  const modifier = args.ctrlKey || args.metaKey;
@@ -5027,6 +5099,13 @@ class NavigationService {
5027
5099
  }
5028
5100
  break;
5029
5101
  case Keys.ArrowRight:
5102
+ if (args.altKey && !args.shiftKey && !args.ctrlKey && !args.metaKey &&
5103
+ row.index < this.meta.headerRows &&
5104
+ this.ctx.treelist.resizable) {
5105
+ this.columnResize(true);
5106
+ preventDefault = true;
5107
+ break;
5108
+ }
5030
5109
  if (args.altKey) {
5031
5110
  this.zone.run(() => {
5032
5111
  this.expandState.expand(row.dataItem);
@@ -5041,6 +5120,13 @@ class NavigationService {
5041
5120
  }
5042
5121
  break;
5043
5122
  case Keys.ArrowLeft:
5123
+ if (args.altKey && !args.shiftKey && !args.ctrlKey && !args.metaKey &&
5124
+ row.index < this.meta.headerRows &&
5125
+ this.ctx.treelist.resizable) {
5126
+ this.columnResize(false);
5127
+ preventDefault = true;
5128
+ break;
5129
+ }
5044
5130
  if (args.altKey) {
5045
5131
  this.zone.run(() => {
5046
5132
  this.expandState.collapse(row.dataItem);
@@ -5275,12 +5361,12 @@ class NavigationService {
5275
5361
  this.leaveCell();
5276
5362
  this.cursor.reset();
5277
5363
  }
5278
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }, { token: DomEventsService }, { token: i107.PagerContextService }, { token: ScrollRequestService }, { token: FocusRoot }, { token: EditService }, { token: i1$1.LocalizationService }, { token: ExpandStateService }, { token: SelectionService }, { token: i0.ChangeDetectorRef }, { token: ContextService }, { token: FocusableDirective, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
5364
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }, { token: DomEventsService }, { token: i107.PagerContextService }, { token: ScrollRequestService }, { token: FocusRoot }, { token: EditService }, { token: i1$1.LocalizationService }, { token: ExpandStateService }, { token: SelectionService }, { token: i0.ChangeDetectorRef }, { token: ContextService }, { token: ColumnResizingService }, { token: FocusableDirective, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
5279
5365
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NavigationService });
5280
5366
  }
5281
5367
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NavigationService, decorators: [{
5282
5368
  type: Injectable
5283
- }], ctorParameters: () => [{ type: i0.NgZone }, { type: DomEventsService }, { type: i107.PagerContextService }, { type: ScrollRequestService }, { type: FocusRoot }, { type: EditService }, { type: i1$1.LocalizationService }, { type: ExpandStateService }, { type: SelectionService }, { type: i0.ChangeDetectorRef }, { type: ContextService }, { type: FocusableDirective, decorators: [{
5369
+ }], ctorParameters: () => [{ type: i0.NgZone }, { type: DomEventsService }, { type: i107.PagerContextService }, { type: ScrollRequestService }, { type: FocusRoot }, { type: EditService }, { type: i1$1.LocalizationService }, { type: ExpandStateService }, { type: SelectionService }, { type: i0.ChangeDetectorRef }, { type: ContextService }, { type: ColumnResizingService }, { type: FocusableDirective, decorators: [{
5284
5370
  type: Optional
5285
5371
  }] }] });
5286
5372
 
@@ -8471,7 +8557,7 @@ class ListComponent {
8471
8557
  kendoTreeListResizableTable
8472
8558
  [locked]="true"
8473
8559
  #lockedTable
8474
- class="k-table k-grid-table k-table-md"
8560
+ class="k-table k-grid-table"
8475
8561
  role="presentation"
8476
8562
  [style.width.px]="lockedWidth">
8477
8563
  <colgroup
@@ -8515,7 +8601,7 @@ class ListComponent {
8515
8601
  #table
8516
8602
  kendoTreeListResizableTable
8517
8603
  [virtualColumns]="virtualColumns"
8518
- class="k-table k-grid-table k-table-md"
8604
+ class="k-table k-grid-table"
8519
8605
  role="presentation">
8520
8606
  <colgroup
8521
8607
  kendoTreeListColGroup
@@ -8588,7 +8674,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
8588
8674
  kendoTreeListResizableTable
8589
8675
  [locked]="true"
8590
8676
  #lockedTable
8591
- class="k-table k-grid-table k-table-md"
8677
+ class="k-table k-grid-table"
8592
8678
  role="presentation"
8593
8679
  [style.width.px]="lockedWidth">
8594
8680
  <colgroup
@@ -8632,7 +8718,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
8632
8718
  #table
8633
8719
  kendoTreeListResizableTable
8634
8720
  [virtualColumns]="virtualColumns"
8635
- class="k-table k-grid-table k-table-md"
8721
+ class="k-table k-grid-table"
8636
8722
  role="presentation">
8637
8723
  <colgroup
8638
8724
  kendoTreeListColGroup
@@ -11062,7 +11148,11 @@ class ColumnHandleDirective {
11062
11148
  this.column.width = headerWidth(this.element);
11063
11149
  }
11064
11150
  initState() {
11065
- this.column.resizeStartWidth = headerWidth(this.element);
11151
+ // Use existing resizeStartWidth if already set (for keyboard resizing),
11152
+ // otherwise measure from DOM element (for mouse resizing)
11153
+ if (!this.column.resizeStartWidth) {
11154
+ this.column.resizeStartWidth = headerWidth(this.element);
11155
+ }
11066
11156
  this.service.resizedColumn({
11067
11157
  column: this.column,
11068
11158
  oldWidth: this.column.resizeStartWidth
@@ -13693,7 +13783,7 @@ class ColumnListComponent {
13693
13783
  <button
13694
13784
  #applyButton
13695
13785
  type="button"
13696
- class="k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle"
13786
+ class="k-button k-button-primary k-button-rectangle"
13697
13787
  (click)="applyChanges()"
13698
13788
  (keydown.enter)="$event.preventDefault(); $event.stopPropagation(); applyChanges();"
13699
13789
  (keydown.space)="$event.preventDefault(); $event.stopPropagation(); applyChanges();">{{ applyText }}</button>
@@ -13701,7 +13791,7 @@ class ColumnListComponent {
13701
13791
  #resetButton
13702
13792
  type="button"
13703
13793
  (keydown.tab)="onTab($event)"
13704
- class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
13794
+ class="k-button k-button-rectangle"
13705
13795
  (click)="cancelChanges()"
13706
13796
  (keydown.enter)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();"
13707
13797
  (keydown.space)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();">{{ resetText }}</button>
@@ -13740,7 +13830,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
13740
13830
  <button
13741
13831
  #applyButton
13742
13832
  type="button"
13743
- class="k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle"
13833
+ class="k-button k-button-primary k-button-rectangle"
13744
13834
  (click)="applyChanges()"
13745
13835
  (keydown.enter)="$event.preventDefault(); $event.stopPropagation(); applyChanges();"
13746
13836
  (keydown.space)="$event.preventDefault(); $event.stopPropagation(); applyChanges();">{{ applyText }}</button>
@@ -13748,7 +13838,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
13748
13838
  #resetButton
13749
13839
  type="button"
13750
13840
  (keydown.tab)="onTab($event)"
13751
- class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
13841
+ class="k-button k-button-rectangle"
13752
13842
  (click)="cancelChanges()"
13753
13843
  (keydown.enter)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();"
13754
13844
  (keydown.space)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();">{{ resetText }}</button>
@@ -16152,7 +16242,7 @@ class ToolbarComponent {
16152
16242
  this.navigationService.updateFocus();
16153
16243
  }
16154
16244
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ToolbarComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
16155
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: ToolbarComponent, isStandalone: true, selector: "kendo-treelist-toolbar", inputs: { position: "position", navigable: "navigable" }, host: { properties: { "attr.role": "this.hostRole", "class.k-grid-toolbar": "this.hostClasses", "class.k-toolbar": "this.hostClasses", "class.k-toolbar-solid": "this.hostClasses", "class.k-toolbar-md": "this.hostClasses" } }, ngImport: i0, template: `
16245
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: ToolbarComponent, isStandalone: true, selector: "kendo-treelist-toolbar", inputs: { position: "position", navigable: "navigable" }, host: { properties: { "attr.role": "this.hostRole", "class.k-grid-toolbar": "this.hostClasses", "class.k-toolbar": "this.hostClasses" } }, ngImport: i0, template: `
16156
16246
  @if (toolbarTemplateRef) {
16157
16247
  <ng-template
16158
16248
  [ngTemplateOutlet]="toolbarTemplateRef"
@@ -16187,12 +16277,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
16187
16277
  }, {
16188
16278
  type: HostBinding,
16189
16279
  args: ['class.k-toolbar']
16190
- }, {
16191
- type: HostBinding,
16192
- args: ['class.k-toolbar-solid']
16193
- }, {
16194
- type: HostBinding,
16195
- args: ['class.k-toolbar-md']
16196
16280
  }], position: [{
16197
16281
  type: Input
16198
16282
  }], navigable: [{
@@ -18509,7 +18593,7 @@ class TreeListComponent {
18509
18593
  this.dropTargetContainer?.notify();
18510
18594
  }
18511
18595
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TreeListComponent, deps: [{ token: BrowserSupportService }, { token: i0.ElementRef }, { token: ChangeNotificationService }, { token: EditService }, { token: FilterService }, { token: PDFService }, { token: ResponsiveService }, { token: i0.Renderer2 }, { token: ExcelService }, { token: i0.NgZone }, { token: ScrollSyncService }, { token: DomEventsService }, { token: ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: ColumnReorderService }, { token: ColumnInfoService }, { token: NavigationService }, { token: SortService }, { token: ScrollRequestService }, { token: ExpandStateService }, { token: OptionChangesService }, { token: SelectionService }, { token: i1$1.LocalizationService }, { token: ContextService }, { token: RowReorderService }], target: i0.ɵɵFactoryTarget.Component });
18512
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: TreeListComponent, isStandalone: true, selector: "kendo-treelist", inputs: { ariaLabel: ["aria-label", "ariaLabel"], data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", skip: "skip", scrollable: "scrollable", sort: "sort", trackBy: "trackBy", filter: "filter", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", navigable: "navigable", autoSize: "autoSize", rowClass: "rowClass", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", idField: "idField", selectable: "selectable", isSelected: "isSelected", rowReorderable: "rowReorderable", columnsRef: ["columns", "columnsRef"], fetchChildren: "fetchChildren", hasChildren: "hasChildren", isExpanded: "isExpanded" }, outputs: { selectionChange: "selectionChange", filterChange: "filterChange", pageChange: "pageChange", sortChange: "sortChange", dataStateChange: "dataStateChange", edit: "edit", cancel: "cancel", save: "save", remove: "remove", add: "add", cellClose: "cellClose", cellClick: "cellClick", pdfExport: "pdfExport", excelExport: "excelExport", columnResize: "columnResize", columnReorder: "columnReorder", columnVisibilityChange: "columnVisibilityChange", columnLockedChange: "columnLockedChange", scrollBottom: "scrollBottom", contentScroll: "contentScroll", expandEvent: "expand", collapseEvent: "collapse", expandStateChange: "expandStateChange", rowReorder: "rowReorder" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClasses", "class.k-grid-md": "this.hostClasses", "class.k-treelist": "this.hostClasses", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass" } }, providers: [
18596
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: TreeListComponent, isStandalone: true, selector: "kendo-treelist", inputs: { ariaLabel: ["aria-label", "ariaLabel"], data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", skip: "skip", scrollable: "scrollable", sort: "sort", trackBy: "trackBy", filter: "filter", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", navigable: "navigable", autoSize: "autoSize", rowClass: "rowClass", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", idField: "idField", selectable: "selectable", isSelected: "isSelected", rowReorderable: "rowReorderable", columnsRef: ["columns", "columnsRef"], fetchChildren: "fetchChildren", hasChildren: "hasChildren", isExpanded: "isExpanded" }, outputs: { selectionChange: "selectionChange", filterChange: "filterChange", pageChange: "pageChange", sortChange: "sortChange", dataStateChange: "dataStateChange", edit: "edit", cancel: "cancel", save: "save", remove: "remove", add: "add", cellClose: "cellClose", cellClick: "cellClick", pdfExport: "pdfExport", excelExport: "excelExport", columnResize: "columnResize", columnReorder: "columnReorder", columnVisibilityChange: "columnVisibilityChange", columnLockedChange: "columnLockedChange", scrollBottom: "scrollBottom", contentScroll: "contentScroll", expandEvent: "expand", collapseEvent: "collapse", expandStateChange: "expandStateChange", rowReorder: "rowReorder" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClasses", "class.k-treelist": "this.hostClasses", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass" } }, providers: [
18513
18597
  BrowserSupportService,
18514
18598
  LocalizationService,
18515
18599
  ColumnInfoService,
@@ -18807,7 +18891,7 @@ class TreeListComponent {
18807
18891
  [locked]="true"
18808
18892
  role="presentation"
18809
18893
  [style.width.px]="lockedWidth"
18810
- class="k-grid-header-table k-table k-table-md">
18894
+ class="k-grid-header-table k-table">
18811
18895
  <colgroup
18812
18896
  kendoTreeListColGroup
18813
18897
  [columns]="$any(lockedLeafColumns)">
@@ -18840,7 +18924,7 @@ class TreeListComponent {
18840
18924
  [style.width.px]="nonLockedWidth"
18841
18925
  kendoTreeListResizableTable
18842
18926
  [virtualColumns]="virtualColumns"
18843
- class="k-grid-header-table k-table k-table-md">
18927
+ class="k-grid-header-table k-table">
18844
18928
  <colgroup
18845
18929
  kendoTreeListColGroup
18846
18930
  [columns]="headerLeafColumns">
@@ -18897,7 +18981,7 @@ class TreeListComponent {
18897
18981
  }
18898
18982
  @if (!isScrollable) {
18899
18983
  <table
18900
- class="k-table k-table-md k-grid-header-table"
18984
+ class="k-table k-grid-header-table"
18901
18985
  role="presentation"
18902
18986
  [style.table-layout]="resizable ? 'fixed' : null"
18903
18987
  kendoTreeListResizableTable>
@@ -19351,7 +19435,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
19351
19435
  [locked]="true"
19352
19436
  role="presentation"
19353
19437
  [style.width.px]="lockedWidth"
19354
- class="k-grid-header-table k-table k-table-md">
19438
+ class="k-grid-header-table k-table">
19355
19439
  <colgroup
19356
19440
  kendoTreeListColGroup
19357
19441
  [columns]="$any(lockedLeafColumns)">
@@ -19384,7 +19468,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
19384
19468
  [style.width.px]="nonLockedWidth"
19385
19469
  kendoTreeListResizableTable
19386
19470
  [virtualColumns]="virtualColumns"
19387
- class="k-grid-header-table k-table k-table-md">
19471
+ class="k-grid-header-table k-table">
19388
19472
  <colgroup
19389
19473
  kendoTreeListColGroup
19390
19474
  [columns]="headerLeafColumns">
@@ -19441,7 +19525,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
19441
19525
  }
19442
19526
  @if (!isScrollable) {
19443
19527
  <table
19444
- class="k-table k-table-md k-grid-header-table"
19528
+ class="k-table k-grid-header-table"
19445
19529
  role="presentation"
19446
19530
  [style.table-layout]="resizable ? 'fixed' : null"
19447
19531
  kendoTreeListResizableTable>
@@ -19706,9 +19790,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
19706
19790
  }], hostClasses: [{
19707
19791
  type: HostBinding,
19708
19792
  args: ['class.k-grid']
19709
- }, {
19710
- type: HostBinding,
19711
- args: ['class.k-grid-md']
19712
19793
  }, {
19713
19794
  type: HostBinding,
19714
19795
  args: ['class.k-treelist']
@@ -23977,7 +24058,7 @@ const wrapTable = (table) => {
23977
24058
  return;
23978
24059
  }
23979
24060
  const wrapper = document.createElement('div');
23980
- wrapper.className = 'k-grid k-grid-md';
24061
+ wrapper.className = 'k-grid';
23981
24062
  wrapper.appendChild(table);
23982
24063
  return wrapper;
23983
24064
  };
@@ -24007,7 +24088,7 @@ const setFirstCellClass = (header, headers) => {
24007
24088
  };
24008
24089
  const createTable = (colGroups, headers, bodies, footers) => {
24009
24090
  const table = document.createElement('table');
24010
- table.classList.add('k-table', 'k-table-md');
24091
+ table.classList.add('k-table');
24011
24092
  const colGroup = colGroups[0].cloneNode(true);
24012
24093
  for (let idx = 1; idx < colGroups.length; idx++) {
24013
24094
  appendNodes(colGroup, colGroups[idx].querySelectorAll('col'));
@@ -20,6 +20,7 @@ import { ScrollRequestService } from '../scrolling/scroll-request.service';
20
20
  import { SelectionService } from '../selection/selection.service';
21
21
  import { PagerContextService } from '@progress/kendo-angular-pager';
22
22
  import { ContextService } from '../common/provider.service';
23
+ import { ColumnResizingService } from '../column-resizing/column-resizing.service';
23
24
  import * as i0 from "@angular/core";
24
25
  /**
25
26
  * @hidden
@@ -46,6 +47,7 @@ export declare class NavigationService implements OnDestroy {
46
47
  private selectionService;
47
48
  private changeDetector;
48
49
  private ctx;
50
+ private resizeService;
49
51
  private focusableParent;
50
52
  readonly changes: Subject<NavigationChange>;
51
53
  readonly cellKeydown: EventEmitter<any>;
@@ -54,6 +56,7 @@ export declare class NavigationService implements OnDestroy {
54
56
  get enabled(): boolean;
55
57
  get activeCell(): NavigationCell;
56
58
  get activeRow(): NavigationRow;
59
+ get isColumnResizable(): boolean;
57
60
  viewport: NavigationViewport;
58
61
  columnViewport: NavigationViewport;
59
62
  private activeRowIndex;
@@ -67,7 +70,7 @@ export declare class NavigationService implements OnDestroy {
67
70
  private pendingRowIndex;
68
71
  private virtualCell;
69
72
  private get activeDataRow();
70
- constructor(zone: NgZone, domEvents: DomEventsService, pagerContextService: PagerContextService, scrollRequestService: ScrollRequestService, focusRoot: FocusRoot, editService: EditService, localization: LocalizationService, expandState: ExpandStateService, selectionService: SelectionService, changeDetector: ChangeDetectorRef, ctx: ContextService, focusableParent: FocusableDirective);
73
+ constructor(zone: NgZone, domEvents: DomEventsService, pagerContextService: PagerContextService, scrollRequestService: ScrollRequestService, focusRoot: FocusRoot, editService: EditService, localization: LocalizationService, expandState: ExpandStateService, selectionService: SelectionService, changeDetector: ChangeDetectorRef, ctx: ContextService, resizeService: ColumnResizingService, focusableParent: FocusableDirective);
71
74
  init(meta: NavigationMetadata): void;
72
75
  ngOnDestroy(): void;
73
76
  registerCell(cell: LogicalCell): void;
@@ -98,6 +101,7 @@ export declare class NavigationService implements OnDestroy {
98
101
  private moveCursorFwd;
99
102
  private moveCursorBwd;
100
103
  private updateSelection;
104
+ private columnResize;
101
105
  private onCursorKeydown;
102
106
  private onContentKeydown;
103
107
  private onCellKeydown;
@@ -107,6 +111,6 @@ export declare class NavigationService implements OnDestroy {
107
111
  private handleRowReorderKeyboard;
108
112
  private onKeydown;
109
113
  private onTabout;
110
- static ɵfac: i0.ɵɵFactoryDeclaration<NavigationService, [null, null, null, null, null, null, null, null, null, null, null, { optional: true; }]>;
114
+ static ɵfac: i0.ɵɵFactoryDeclaration<NavigationService, [null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }]>;
111
115
  static ɵprov: i0.ɵɵInjectableDeclaration<NavigationService>;
112
116
  }
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1770055322,
11
- "version": "22.1.0-develop.17",
10
+ "publishDate": 1770219846,
11
+ "version": "22.1.0-develop.19",
12
12
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
13
13
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-treelist",
3
- "version": "22.1.0-develop.17",
3
+ "version": "22.1.0-develop.19",
4
4
  "description": "Kendo UI TreeList for Angular - Display hierarchical data in an Angular tree grid view that supports sorting, filtering, paging, and much more.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -24,7 +24,7 @@
24
24
  "package": {
25
25
  "productName": "Kendo UI for Angular",
26
26
  "productCode": "KENDOUIANGULAR",
27
- "publishDate": 1770055322,
27
+ "publishDate": 1770219846,
28
28
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
29
29
  }
30
30
  },
@@ -35,28 +35,28 @@
35
35
  "@angular/forms": "19 - 21",
36
36
  "@angular/platform-browser": "19 - 21",
37
37
  "@progress/kendo-data-query": "^1.7.3",
38
- "@progress/kendo-drawing": "^1.23.1",
38
+ "@progress/kendo-drawing": "^1.24.0",
39
39
  "@progress/kendo-licensing": "^1.10.0",
40
- "@progress/kendo-angular-buttons": "22.1.0-develop.17",
41
- "@progress/kendo-angular-common": "22.1.0-develop.17",
42
- "@progress/kendo-angular-dateinputs": "22.1.0-develop.17",
43
- "@progress/kendo-angular-dropdowns": "22.1.0-develop.17",
44
- "@progress/kendo-angular-excel-export": "22.1.0-develop.17",
45
- "@progress/kendo-angular-icons": "22.1.0-develop.17",
46
- "@progress/kendo-angular-inputs": "22.1.0-develop.17",
47
- "@progress/kendo-angular-intl": "22.1.0-develop.17",
48
- "@progress/kendo-angular-l10n": "22.1.0-develop.17",
49
- "@progress/kendo-angular-label": "22.1.0-develop.17",
50
- "@progress/kendo-angular-pager": "22.1.0-develop.17",
51
- "@progress/kendo-angular-pdf-export": "22.1.0-develop.17",
52
- "@progress/kendo-angular-popup": "22.1.0-develop.17",
53
- "@progress/kendo-angular-toolbar": "22.1.0-develop.17",
54
- "@progress/kendo-angular-utils": "22.1.0-develop.17",
40
+ "@progress/kendo-angular-buttons": "22.1.0-develop.19",
41
+ "@progress/kendo-angular-common": "22.1.0-develop.19",
42
+ "@progress/kendo-angular-dateinputs": "22.1.0-develop.19",
43
+ "@progress/kendo-angular-dropdowns": "22.1.0-develop.19",
44
+ "@progress/kendo-angular-excel-export": "22.1.0-develop.19",
45
+ "@progress/kendo-angular-icons": "22.1.0-develop.19",
46
+ "@progress/kendo-angular-inputs": "22.1.0-develop.19",
47
+ "@progress/kendo-angular-intl": "22.1.0-develop.19",
48
+ "@progress/kendo-angular-l10n": "22.1.0-develop.19",
49
+ "@progress/kendo-angular-label": "22.1.0-develop.19",
50
+ "@progress/kendo-angular-pager": "22.1.0-develop.19",
51
+ "@progress/kendo-angular-pdf-export": "22.1.0-develop.19",
52
+ "@progress/kendo-angular-popup": "22.1.0-develop.19",
53
+ "@progress/kendo-angular-toolbar": "22.1.0-develop.19",
54
+ "@progress/kendo-angular-utils": "22.1.0-develop.19",
55
55
  "rxjs": "^6.5.3 || ^7.0.0"
56
56
  },
57
57
  "dependencies": {
58
58
  "tslib": "^2.3.1",
59
- "@progress/kendo-angular-schematics": "22.1.0-develop.17",
59
+ "@progress/kendo-angular-schematics": "22.1.0-develop.19",
60
60
  "@progress/kendo-common": "^1.0.1",
61
61
  "@progress/kendo-file-saver": "^1.0.0"
62
62
  },
@@ -9,13 +9,13 @@ const schematics_1 = require("@angular-devkit/schematics");
9
9
  function default_1(options) {
10
10
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'TreeListModule', package: 'treelist', peerDependencies: {
11
11
  // peer dep of the dropdowns
12
- '@progress/kendo-angular-treeview': '22.1.0-develop.17',
12
+ '@progress/kendo-angular-treeview': '22.1.0-develop.19',
13
13
  // peer dependency of kendo-angular-inputs
14
- '@progress/kendo-angular-dialog': '22.1.0-develop.17',
14
+ '@progress/kendo-angular-dialog': '22.1.0-develop.19',
15
15
  // peer dependency of kendo-angular-icons
16
16
  '@progress/kendo-svg-icons': '^4.0.0',
17
17
  // peer dependency of kendo-angular-dateinputs
18
- '@progress/kendo-angular-navigation': '22.1.0-develop.17',
18
+ '@progress/kendo-angular-navigation': '22.1.0-develop.19',
19
19
  } });
20
20
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
21
21
  }