@ascentgl/ads-ui 21.78.0 → 21.80.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.78.0",
3
+ "version": "21.80.0",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": ">=21.0.0",
6
6
  "date-fns": ">=4.1.0",
@@ -2546,8 +2546,15 @@ interface ColumnSortFilterConfig {
2546
2546
  sortType?: SortType;
2547
2547
  /** Custom comparator function for sorting when sortType is 'custom' */
2548
2548
  sortComparator?: SortComparator;
2549
- /** Custom formatter function for displaying filter option labels (e.g., for dates, addresses) */
2549
+ /** Custom formatter function for displaying filter option labels (e.g., for addresses, custom formats) */
2550
2550
  filterValueFormatter?: FilterValueFormatter;
2551
+ /**
2552
+ * When true, date-time values in the filter menu are trimmed to date-only (no time).
2553
+ * This deduplicates filter options that share the same date but have different times.
2554
+ * The trimming respects the column's valueFormatter timezone if provided.
2555
+ * @default false
2556
+ */
2557
+ showDateOnly?: boolean;
2551
2558
  }
2552
2559
  declare class AdsColumnSortFilterMenuComponent implements OnInit, OnChanges, OnDestroy {
2553
2560
  private registry;
@@ -2859,8 +2866,20 @@ declare class AdsTableComponent implements AfterViewInit, OnChanges, OnDestroy {
2859
2866
  clearAllFilters(): void;
2860
2867
  /** @ignore */
2861
2868
  clearAllSorting(): void;
2862
- /** @ignore - Get the filterValueFormatter for a given column field */
2869
+ /**
2870
+ * @ignore - Get the effective filter formatter for a given column field.
2871
+ * When showDateOnly is true, wraps the base formatter to trim date-time output
2872
+ * to date-only. This ensures the dedup key, stored filter values, and
2873
+ * doesExternalFilterPass comparison all use date-only strings — so selecting
2874
+ * a date in the filter menu matches ALL rows for that date regardless of time.
2875
+ */
2863
2876
  private getFilterValueFormatterForField;
2877
+ /**
2878
+ * @ignore - Trim a formatted date-time string to date-only.
2879
+ * Handles: "01/15/2026, 21:00" → "01/15/2026"
2880
+ * "01/15/2026 21:00" → "01/15/2026"
2881
+ */
2882
+ private trimToDateOnly;
2864
2883
  /**
2865
2884
  * @ignore - Serialize a cell value for filter key purposes.
2866
2885
  * When a filterValueFormatter exists, uses the formatted value as the key