@ascentgl/ads-ui 21.97.0 → 21.99.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ascentgl/ads-ui",
3
- "version": "21.97.0",
3
+ "version": "21.99.0",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": ">=21.0.0",
6
6
  "date-fns": ">=4.1.0",
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { OnChanges, SimpleChanges, OnDestroy, EventEmitter, ElementRef, SimpleChange, OnInit, AfterContentInit, Renderer2, AfterViewInit, ChangeDetectorRef, TemplateRef, DoCheck, PipeTransform, AfterViewChecked, QueryList } from '@angular/core';
2
+ import { OnChanges, SimpleChanges, OnDestroy, EventEmitter, ElementRef, SimpleChange, OnInit, AfterContentInit, Renderer2, AfterViewInit, ChangeDetectorRef, TemplateRef, DoCheck, PipeTransform, AfterViewChecked, NgZone, QueryList } from '@angular/core';
3
3
  import * as i4 from '@ascentgl/ads-icons';
4
4
  import { AdsIconRegistry, IconThemes } from '@ascentgl/ads-icons';
5
5
  import * as i2 from '@angular/common';
@@ -49,14 +49,15 @@ import * as i4$6 from '@angular/material/menu';
49
49
  import { MatMenuTrigger, MatMenuPanel, MatMenu } from '@angular/material/menu';
50
50
  import * as i6$1 from '@angular/cdk/drag-drop';
51
51
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
52
- import * as i4$7 from 'ag-grid-angular';
52
+ import * as i5$4 from 'ag-grid-angular';
53
53
  import { IHeaderAngularComp } from 'ag-grid-angular';
54
- import * as i4$8 from 'angular-split';
54
+ import * as i3$8 from '@angular/cdk/scrolling';
55
+ import * as i4$7 from 'angular-split';
55
56
  import { SplitComponent, SplitGutterInteractionEvent } from 'angular-split';
56
57
  import * as i12 from '@angular/material/toolbar';
57
- import * as i3$8 from '@angular/material/bottom-sheet';
58
+ import * as i3$9 from '@angular/material/bottom-sheet';
58
59
  import { MatBottomSheet } from '@angular/material/bottom-sheet';
59
- import * as i4$9 from '@angular/material/list';
60
+ import * as i4$8 from '@angular/material/list';
60
61
  import * as i2$2 from '@angular/material/tabs';
61
62
  import { MatTabGroup } from '@angular/material/tabs';
62
63
  import { HttpClient } from '@angular/common/http';
@@ -2891,8 +2892,9 @@ declare class AdsTableComponent implements AfterViewInit, AfterViewChecked, OnCh
2891
2892
  private elementRef;
2892
2893
  private registry;
2893
2894
  private cdr;
2895
+ private ngZone;
2894
2896
  /** @ignore */
2895
- constructor(elementRef: ElementRef, registry: AdsIconRegistry, cdr: ChangeDetectorRef);
2897
+ constructor(elementRef: ElementRef, registry: AdsIconRegistry, cdr: ChangeDetectorRef, ngZone: NgZone);
2896
2898
  /** The grid's width */
2897
2899
  width: string;
2898
2900
  /** The grid's height */
@@ -2921,7 +2923,10 @@ declare class AdsTableComponent implements AfterViewInit, AfterViewChecked, OnCh
2921
2923
  defaultViewMode: 'grid' | 'list';
2922
2924
  /** Template for rendering each row in list view mode */
2923
2925
  listItemTemplate?: TemplateRef<unknown>;
2924
- /** Number of list view items to render per batch. Defaults to 50. */
2926
+ /**
2927
+ * Number of list view items to render per batch.
2928
+ * @deprecated No longer used — list view now uses CDK virtual scrolling.
2929
+ */
2925
2930
  listBatchSize: number;
2926
2931
  /** Enable custom column sort/filter menu (optional, default false for backward compatibility) */
2927
2932
  enableCustomSortFilter: boolean;
@@ -2942,20 +2947,16 @@ declare class AdsTableComponent implements AfterViewInit, AfterViewChecked, OnCh
2942
2947
  viewChanged: EventEmitter<"grid" | "list">;
2943
2948
  /** @ignore - Current view mode: grid or list */
2944
2949
  isListView: i0.WritableSignal<boolean>;
2945
- /** @ignore - Number of list rows currently rendered (grows in batches) */
2946
- private renderedListCount;
2947
- /** @ignore - Cached filtered row data for list view (avoids recalculating on every access) */
2948
- private listRowDataCache;
2949
- /** @ignore - Visible slice of list rows for incremental rendering */
2950
- visibleListRows: i0.Signal<GENERIC_COLLECTION[]>;
2951
- /** @ignore - Whether there are more rows to render */
2952
- hasMoreListRows: i0.Signal<boolean>;
2953
- /** @ignore - Sentinel element reference for IntersectionObserver */
2954
- private listSentinelQuery;
2955
- /** @ignore - IntersectionObserver for incremental list rendering */
2956
- private listSentinelObserver?;
2957
- /** @ignore - Currently observed sentinel element */
2958
- private observedSentinelEl?;
2950
+ /** @ignore - Cached filtered row data for list view */
2951
+ listRowDataCache: i0.WritableSignal<GENERIC_COLLECTION[]>;
2952
+ /** @ignore - Measured height (in px) of a single list-view item, used by CdkVirtualScrollViewport */
2953
+ listItemHeight: i0.WritableSignal<number>;
2954
+ /** @ignore - Reference to the CDK virtual scroll viewport for list view */
2955
+ private virtualScrollViewport?;
2956
+ /** @ignore - Whether the list item height has been measured after rendering */
2957
+ private _listItemHeightMeasured;
2958
+ /** @ignore - ResizeObserver for re-measuring list item height when container width changes */
2959
+ private _listResizeObserver?;
2959
2960
  /** @ignore */
2960
2961
  menuTrigger: MatMenuTrigger;
2961
2962
  /** @ignore */
@@ -3011,12 +3012,6 @@ declare class AdsTableComponent implements AfterViewInit, AfterViewChecked, OnCh
3011
3012
  /** @ignore - Cache for getAgGridIcons() to avoid producing new object references on every CD cycle */
3012
3013
  private _agGridIconsCache;
3013
3014
  private _agGridIconsDirty;
3014
- /** @ignore - Number of list items to render synchronously on the first frame when toggling to list view */
3015
- private readonly INITIAL_LIST_RENDER_COUNT;
3016
- /** @ignore - Number of list items to add per animation frame during progressive rendering */
3017
- private readonly LIST_RENDER_CHUNK_SIZE;
3018
- /** @ignore - Handle for the pending rAF that fills the first batch, so it can be cancelled on destroy or re-toggle */
3019
- private _listRenderRafId;
3020
3015
  /** @ignore */
3021
3016
  private getBreakpoint;
3022
3017
  /** @ignore */
@@ -3031,10 +3026,16 @@ declare class AdsTableComponent implements AfterViewInit, AfterViewChecked, OnCh
3031
3026
  private refreshColumnHeaders;
3032
3027
  /** @ignore */
3033
3028
  ngAfterViewInit(): void;
3034
- /** @ignore - Re-observe sentinel when ViewChildren change (e.g. after switching to list view) */
3029
+ /** @ignore - Measure list item height after the viewport renders items */
3035
3030
  ngAfterViewChecked(): void;
3036
- /** @ignore - Set up IntersectionObserver on the sentinel element for incremental list rendering */
3037
- private observeListSentinel;
3031
+ /** @ignore - Measure the actual rendered height of a list-view item and update the virtual scroll item size */
3032
+ private measureListItemHeight;
3033
+ /** @ignore - Set up a ResizeObserver to re-measure item height when container width changes */
3034
+ private setupListResizeObserver;
3035
+ /** @ignore */
3036
+ private teardownListResizeObserver;
3037
+ /** @ignore - trackBy function for *cdkVirtualFor */
3038
+ listTrackBy: (index: number, _item: GENERIC_COLLECTION) => number;
3038
3039
  /** @ignore */
3039
3040
  private initializeColumnVisibility;
3040
3041
  /** @ignore */
@@ -3104,11 +3105,7 @@ declare class AdsTableComponent implements AfterViewInit, AfterViewChecked, OnCh
3104
3105
  filterChanged($event: FilterChangedEvent): void;
3105
3106
  /** @ignore - Toggle between grid view and list view */
3106
3107
  toggleView(): void;
3107
- /** @ignore - Cancel pending rAF for progressive list rendering */
3108
- private cancelListRenderRaf;
3109
- /** @ignore - Progressively render list items in small chunks across animation frames */
3110
- private scheduleNextListRenderChunk;
3111
- /** @ignore - Refresh the list view data cache and reset rendered count */
3108
+ /** @ignore - Refresh the list view data cache and scroll to top */
3112
3109
  private refreshListView;
3113
3110
  /** @ignore - Get filtered and sorted row data for list view */
3114
3111
  getFilteredRowData(): GENERIC_COLLECTION[];
@@ -3370,7 +3367,7 @@ declare class AdsFilterMenuModule {
3370
3367
 
3371
3368
  declare class AdsTableModule {
3372
3369
  static ɵfac: i0.ɵɵFactoryDeclaration<AdsTableModule, never>;
3373
- static ɵmod: i0.ɵɵNgModuleDeclaration<AdsTableModule, [typeof AdsTableComponent], [typeof i2.CommonModule, typeof i4.AdsIconModule, typeof i4$7.AgGridAngular, typeof i2$1.MatDialogModule, typeof AdsSlideToggle, typeof AdsButtonModule, typeof AdsTableButtonModule, typeof AdsDividerModule, typeof i16.MatTooltip, typeof i4$6.MatMenuModule, typeof AdsColumnSortFilterMenuModule, typeof AdsFilterMenuModule, typeof AdsSortMenuModule, typeof AdsCustomHeaderModule, typeof AdsProgressSpinnerModule], [typeof AdsTableComponent]>;
3370
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AdsTableModule, [typeof AdsTableComponent], [typeof i2.CommonModule, typeof i3$8.ScrollingModule, typeof i4.AdsIconModule, typeof i5$4.AgGridAngular, typeof i2$1.MatDialogModule, typeof AdsSlideToggle, typeof AdsButtonModule, typeof AdsTableButtonModule, typeof AdsDividerModule, typeof i16.MatTooltip, typeof i4$6.MatMenuModule, typeof AdsColumnSortFilterMenuModule, typeof AdsFilterMenuModule, typeof AdsSortMenuModule, typeof AdsCustomHeaderModule, typeof AdsProgressSpinnerModule], [typeof AdsTableComponent]>;
3374
3371
  static ɵinj: i0.ɵɵInjectorDeclaration<AdsTableModule>;
3375
3372
  }
3376
3373
 
@@ -3493,7 +3490,7 @@ declare class AdsSideNavBarComponent extends AbstractSideNavBarComponent {
3493
3490
 
3494
3491
  declare class AdsSideNavBarModule {
3495
3492
  static ɵfac: i0.ɵɵFactoryDeclaration<AdsSideNavBarModule, never>;
3496
- static ɵmod: i0.ɵɵNgModuleDeclaration<AdsSideNavBarModule, [typeof AdsSideNavBarComponent], [typeof i2.CommonModule, typeof AdsPrimaryLogoModule, typeof i4$8.SplitComponent, typeof i4$8.SplitAreaComponent, typeof i3$2.RouterOutlet, typeof i3$2.RouterLink, typeof i3$2.RouterLinkActive, typeof i4.AdsIconModule, typeof AdsDividerModule], [typeof AdsSideNavBarComponent]>;
3493
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AdsSideNavBarModule, [typeof AdsSideNavBarComponent], [typeof i2.CommonModule, typeof AdsPrimaryLogoModule, typeof i4$7.SplitComponent, typeof i4$7.SplitAreaComponent, typeof i3$2.RouterOutlet, typeof i3$2.RouterLink, typeof i3$2.RouterLinkActive, typeof i4.AdsIconModule, typeof AdsDividerModule], [typeof AdsSideNavBarComponent]>;
3497
3494
  static ɵinj: i0.ɵɵInjectorDeclaration<AdsSideNavBarModule>;
3498
3495
  }
3499
3496
 
@@ -3568,7 +3565,7 @@ declare class AdsScmsSideNavBarComponent extends AbstractSideNavBarComponent {
3568
3565
 
3569
3566
  declare class AdsScmsSideNavBarModule {
3570
3567
  static ɵfac: i0.ɵɵFactoryDeclaration<AdsScmsSideNavBarModule, never>;
3571
- static ɵmod: i0.ɵɵNgModuleDeclaration<AdsScmsSideNavBarModule, [typeof AdsScmsSideNavBarComponent], [typeof i2.CommonModule, typeof i4$8.SplitComponent, typeof i4$8.SplitAreaComponent, typeof i3$2.RouterLink, typeof i3$2.RouterLinkActive, typeof i4.AdsIconModule, typeof AdsDividerModule, typeof i7.MatAccordion, typeof i7.MatExpansionPanel, typeof i7.MatExpansionPanelDescription, typeof i7.MatExpansionPanelHeader, typeof i7.MatExpansionPanelTitle, typeof AdsAscentLogoModule, typeof i16.MatTooltip, typeof AdsBreadcrumbModule, typeof i4$6.MatMenu, typeof i12.MatToolbar, typeof i4$6.MatMenuTrigger, typeof i3$1.MatIconButton, typeof i3$2.RouterOutlet], [typeof AdsScmsSideNavBarComponent]>;
3568
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AdsScmsSideNavBarModule, [typeof AdsScmsSideNavBarComponent], [typeof i2.CommonModule, typeof i4$7.SplitComponent, typeof i4$7.SplitAreaComponent, typeof i3$2.RouterLink, typeof i3$2.RouterLinkActive, typeof i4.AdsIconModule, typeof AdsDividerModule, typeof i7.MatAccordion, typeof i7.MatExpansionPanel, typeof i7.MatExpansionPanelDescription, typeof i7.MatExpansionPanelHeader, typeof i7.MatExpansionPanelTitle, typeof AdsAscentLogoModule, typeof i16.MatTooltip, typeof AdsBreadcrumbModule, typeof i4$6.MatMenu, typeof i12.MatToolbar, typeof i4$6.MatMenuTrigger, typeof i3$1.MatIconButton, typeof i3$2.RouterOutlet], [typeof AdsScmsSideNavBarComponent]>;
3572
3569
  static ɵinj: i0.ɵɵInjectorDeclaration<AdsScmsSideNavBarModule>;
3573
3570
  }
3574
3571
 
@@ -3737,7 +3734,7 @@ declare class AdsProfileDisplayModule {
3737
3734
 
3738
3735
  declare class AdsMainMenuModule {
3739
3736
  static ɵfac: i0.ɵɵFactoryDeclaration<AdsMainMenuModule, never>;
3740
- static ɵmod: i0.ɵɵNgModuleDeclaration<AdsMainMenuModule, [typeof AdsMainMenuComponent], [typeof i2.CommonModule, typeof i3$8.MatBottomSheetModule, typeof i4$9.MatListModule, typeof i4$6.MatMenuModule, typeof i4.AdsIconModule, typeof AdsMainMenuItemsModule, typeof AdsProfileDisplayModule, typeof i3$2.RouterModule], [typeof AdsMainMenuComponent]>;
3737
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AdsMainMenuModule, [typeof AdsMainMenuComponent], [typeof i2.CommonModule, typeof i3$9.MatBottomSheetModule, typeof i4$8.MatListModule, typeof i4$6.MatMenuModule, typeof i4.AdsIconModule, typeof AdsMainMenuItemsModule, typeof AdsProfileDisplayModule, typeof i3$2.RouterModule], [typeof AdsMainMenuComponent]>;
3741
3738
  static ɵinj: i0.ɵɵInjectorDeclaration<AdsMainMenuModule>;
3742
3739
  }
3743
3740