@acorex/components 22.4.1 → 22.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "22.4.1",
3
+ "version": "22.4.2",
4
4
  "peerDependencies": {
5
- "@acorex/core": "22.4.1",
6
- "@acorex/cdk": "22.4.1",
5
+ "@acorex/core": "22.4.2",
6
+ "@acorex/cdk": "22.4.2",
7
7
  "@angular/aria": ">=22.1.0",
8
8
  "polytype": ">=0.17.0",
9
9
  "hammerjs": ">=2.0.8",
@@ -1,7 +1,7 @@
1
1
  import * as i2 from '@acorex/cdk/common';
2
2
  import { AXSortOrder, MXBaseComponent, AXDataSource, AXStyleColorType, AXEvent, AXButtonClickEvent, AXStyleLookType, AXClickEvent, AXItemClickEvent, AXValueChangedEvent } from '@acorex/cdk/common';
3
3
  import * as i0 from '@angular/core';
4
- import { QueryList, TemplateRef, EventEmitter, WritableSignal, ChangeDetectorRef, OnInit, AfterViewInit, Signal } from '@angular/core';
4
+ import { QueryList, TemplateRef, EventEmitter, WritableSignal, DestroyRef, ChangeDetectorRef, OnInit, AfterViewInit, Signal } from '@angular/core';
5
5
  import * as i11 from '@acorex/core/format';
6
6
  import { AXFormatOptions } from '@acorex/core/format';
7
7
  import * as i8 from '@acorex/components/button';
@@ -174,7 +174,7 @@ declare abstract class AXBaseDataTable extends MXBaseComponent {
174
174
  private readonly cellCssClassCache;
175
175
  private readonly highlightService;
176
176
  private readonly platformId;
177
- private readonly destroyRef;
177
+ protected readonly destroyRef: DestroyRef;
178
178
  private _highlightText?;
179
179
  private highlightOrder;
180
180
  private textHighlightFrame?;
@@ -493,6 +493,13 @@ declare abstract class AXBaseRowCommandColumnComponent extends AXDataTableColumn
493
493
  allowSorting: boolean;
494
494
  get loadingEnabled(): boolean;
495
495
  get cssClass(): string;
496
+ /**
497
+ * Command cells already include their own padding in measurement.
498
+ * Extra fit padding would leave empty space around the icon buttons.
499
+ */
500
+ get autoFitPadding(): number;
501
+ /** One icon button plus the command cell's horizontal padding. */
502
+ get minAutoWidth(): number;
496
503
  protected resolveCommandId(rowData: unknown, commandName: string): string;
497
504
  protected setCommandLoadingState(commandId: string, loading: boolean): void;
498
505
  onItemClick: EventEmitter<AXRowCommandItemClickEvent>;
@@ -539,8 +546,6 @@ declare class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumn
539
546
  * Returns the name identifier for the column component.
540
547
  */
541
548
  get name(): string;
542
- get autoFitPadding(): number;
543
- get minAutoWidth(): number;
544
549
  /**
545
550
  * @ignore
546
551
  */
@@ -979,10 +984,24 @@ declare class AXDataTableComponent extends AXBaseDataTable implements OnInit, Af
979
984
  */
980
985
  protected normalColumnsList: Signal<AXDataTableColumnComponent[]>;
981
986
  /**
982
- * True when a text column owns the tree expander. That column stays `width: auto`
983
- * so leftover table space is used for nested indent instead of the empty spacer.
987
+ * True when a text column owns the tree expander. Leftover table space is added
988
+ * to that column for nested indent. Its content width is a minimum, so the table
989
+ * scrolls horizontally instead of collapsing the column.
984
990
  */
985
991
  protected hasTreeFillColumn: Signal<boolean>;
992
+ /**
993
+ * Pixel width of the table. At least the sum of column content widths, and at least
994
+ * the wrapper width so a short table still fills the container.
995
+ *
996
+ * @ignore
997
+ */
998
+ protected readonly tableWidth: WritableSignal<string>;
999
+ /**
1000
+ * Minimum table width in pixels. Wider than the wrapper, this produces horizontal scroll.
1001
+ *
1002
+ * @ignore
1003
+ */
1004
+ protected readonly tableMinWidth: WritableSignal<string>;
986
1005
  /**
987
1006
  * @ignore
988
1007
  */
@@ -1073,6 +1092,19 @@ declare class AXDataTableComponent extends AXBaseDataTable implements OnInit, Af
1073
1092
  * @ignore
1074
1093
  */
1075
1094
  private userResizedColumns;
1095
+ /**
1096
+ * Content width of tree-expander columns. Used as a floor so those columns are not
1097
+ * squeezed when the other columns are wider than the wrapper.
1098
+ * @ignore
1099
+ */
1100
+ private treeFillContentWidths;
1101
+ /**
1102
+ * Rendered width of tree-expander columns: content width, plus leftover wrapper space.
1103
+ * @ignore
1104
+ */
1105
+ private readonly treeFillResolvedWidths;
1106
+ /** @ignore */
1107
+ private resizeObserver;
1076
1108
  /**
1077
1109
  * @ignore
1078
1110
  */
@@ -1251,7 +1283,7 @@ declare class AXDataTableComponent extends AXBaseDataTable implements OnInit, Af
1251
1283
  ngAfterViewInit(): void;
1252
1284
  private captureAutoFitIntentColumns;
1253
1285
  /**
1254
- * Tree expand columns must keep `width: auto` so nested indent can use leftover table space.
1286
+ * Tree expand columns keep a content minimum and grow into leftover table space for nested indent.
1255
1287
  */
1256
1288
  private isTreeFillColumn;
1257
1289
  /**
@@ -1402,6 +1434,37 @@ declare class AXDataTableComponent extends AXBaseDataTable implements OnInit, Af
1402
1434
  * @param columnIndex - 0-based index in the columns `QueryList`.
1403
1435
  */
1404
1436
  autoFitColumn(columnIndex: number, options?: AXDataTableAutoFitColumnOptions): void;
1437
+ /**
1438
+ * Measures a column's content width without writing it back.
1439
+ * Tree-expander columns use the result as a minimum so they can still grow.
1440
+ */
1441
+ private measureColumnContentWidth;
1442
+ private isCommandColumn;
1443
+ /**
1444
+ * Command buttons are a fixed icon size inside the table. Cloning them outside
1445
+ * `ax-data-table` drops that size and measures default button padding instead.
1446
+ * Read the live controls, then add the cell's own horizontal padding and border.
1447
+ */
1448
+ private measureCommandColumnWidth;
1449
+ private readCommandControlsWidth;
1450
+ /** Horizontal padding and borders already painted inside the command cell. */
1451
+ private readCommandCellChrome;
1452
+ /** Lets cloned header/cells report their text width instead of the collapsed column width. */
1453
+ private prepareMeasuredCell;
1454
+ /**
1455
+ * Stores the content width of tree-expander columns, including visible nested indent.
1456
+ */
1457
+ private measureTreeFillColumns;
1458
+ /** Deepest visible nested-row indent, which content measurement does not include. */
1459
+ private readTreeIndentPadding;
1460
+ private readPixelWidth;
1461
+ /**
1462
+ * Sizes the table to the sum of column widths so columns keep their content width
1463
+ * and the wrapper scrolls horizontally when that sum exceeds the container.
1464
+ * Tree-expander columns receive any leftover container width.
1465
+ */
1466
+ private updateColumnLayoutWidths;
1467
+ private observeTableWrapper;
1405
1468
  /**
1406
1469
  * Auto-fits a single column by its `name` / data field.
1407
1470
  */