@akcelik/strct 3.0.0 → 3.1.1

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,6 +1,6 @@
1
1
  {
2
2
  "name": "@akcelik/strct",
3
- "version": "3.0.0",
3
+ "version": "3.1.1",
4
4
  "description": "UIStruct — a standalone Angular component library with a tokenised, multi-palette theme system, built for datacenter / infrastructure management UIs.",
5
5
  "author": "Serkan Akcelik <serkan.akcelik@gmail.com>",
6
6
  "license": "MIT",
@@ -3155,7 +3155,8 @@ declare class StrctDatagridActionBar {
3155
3155
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrctDatagridActionBar, "[strctDatagridActionBar]", never, {}, {}, never, never, true, never>;
3156
3156
  }
3157
3157
  /**
3158
- * Interactive data table: sortable columns, row selection, expandable detail
3158
+ * Interactive data table: sortable columns, row selection (Shift-click a row
3159
+ * checkbox to carry its new state across a whole block), expandable detail
3159
3160
  * rows, a batch action bar and built-in paging.
3160
3161
  * <strct-datagrid [columns]="cols" [rows]="data" selectable expandable [pageSize]="10">
3161
3162
  * <button strct-button strctDatagridActions size="sm">Migrate</button>
@@ -3469,7 +3470,8 @@ declare class StrctDatagrid {
3469
3470
  private readonly selectionRows;
3470
3471
  protected readonly allPageSelected: _angular_core.Signal<boolean>;
3471
3472
  protected readonly somePageSelected: _angular_core.Signal<boolean>;
3472
- /** Resolve a row's stable identity (defaults to the row object itself). */
3473
+ /** Resolve a row's stable identity: its `rowId` value, or the row object
3474
+ * itself when there is no `rowId` or it resolves to null/undefined. */
3473
3475
  private idOf;
3474
3476
  protected rowKey(row: StrctRow): unknown;
3475
3477
  protected cellTemplate(key: string): TemplateRef<StrctCellContext> | null;
@@ -3518,6 +3520,19 @@ declare class StrctDatagrid {
3518
3520
  protected isSelected(row: StrctRow): boolean;
3519
3521
  protected isExpanded(row: StrctRow): boolean;
3520
3522
  toggleExpand(row: StrctRow): void;
3523
+ /** The row a Shift-click measures its range from: the last one toggled on
3524
+ * its own. A range leaves it where it is, so successive Shift-clicks
3525
+ * re-project from the same origin instead of walking the anchor along. */
3526
+ private rangeAnchor;
3527
+ /** Set by the row checkbox's click, consumed by the `toggleRow` that the
3528
+ * same interaction fires immediately after. */
3529
+ private rangeIntent;
3530
+ protected noteRangeIntent(event: MouseEvent): void;
3531
+ /**
3532
+ * Toggle one row. Shift-clicking a row checkbox instead applies the clicked
3533
+ * box's new state across every row between the anchor and this one — so a
3534
+ * Shift-click selects a block, and Shift-clicking a checked box clears one.
3535
+ */
3521
3536
  toggleRow(row: StrctRow): void;
3522
3537
  toggleAll(): void;
3523
3538
  clearSelection(): void;