@mozaic-ds/angular 2.0.60 → 2.0.62

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": "@mozaic-ds/angular",
3
- "version": "2.0.60",
3
+ "version": "2.0.62",
4
4
  "type": "module",
5
5
  "peerDependencies": {
6
6
  "@angular/common": ">=20.3.15",
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { TemplateRef, OnInit, ElementRef, InjectionToken, Type, AfterViewInit, OnDestroy, Renderer2, WritableSignal, Signal, AfterContentInit, QueryList, EventEmitter, ComponentRef } from '@angular/core';
2
+ import { TemplateRef, OnInit, ElementRef, InjectionToken, Type, AfterViewInit, OnDestroy, Renderer2, WritableSignal, Signal, AfterContentInit, QueryList, EventEmitter, ComponentRef, InputSignal, OutputEmitterRef, OnChanges, SimpleChanges } from '@angular/core';
3
3
  import { ControlValueAccessor } from '@angular/forms';
4
4
  import { CheckCircle32, Uploading32, WarningCircle32 } from '@mozaic-ds/icons-angular';
5
5
  import { RouterLink } from '@angular/router';
@@ -1998,6 +1998,7 @@ interface MozDrawerConfig<D = unknown> {
1998
1998
  position?: MozDrawerPosition;
1999
1999
  extended?: boolean;
2000
2000
  back?: boolean;
2001
+ panelClass?: string;
2001
2002
  data?: D;
2002
2003
  }
2003
2004
  declare const DRAWER_CONFIG: InjectionToken<MozDrawerConfig<unknown>>;
@@ -2014,6 +2015,7 @@ declare class MozDrawerRef<R = unknown> {
2014
2015
  readonly position: _angular_core.WritableSignal<MozDrawerPosition>;
2015
2016
  readonly extended: _angular_core.WritableSignal<boolean>;
2016
2017
  readonly back: _angular_core.WritableSignal<boolean>;
2018
+ readonly panelClass: _angular_core.WritableSignal<string | undefined>;
2017
2019
  private animationDuration;
2018
2020
  constructor(overlayRef: OverlayRef);
2019
2021
  open(): void;
@@ -2053,6 +2055,7 @@ declare class DrawerContainerComponent {
2053
2055
  'is-open': boolean;
2054
2056
  'mc-drawer--extend': boolean;
2055
2057
  }>;
2058
+ readonly dialogClasses: _angular_core.Signal<string>;
2056
2059
  readonly ariaModal: _angular_core.Signal<"true" | "false">;
2057
2060
  attachComponent<C>(component: Type<C>): ComponentRef<C>;
2058
2061
  registerFooter(tpl: TemplateRef<void>): void;
@@ -2071,6 +2074,7 @@ declare class MozDrawerComponent {
2071
2074
  readonly back: _angular_core.InputSignal<boolean>;
2072
2075
  readonly title: _angular_core.InputSignal<string>;
2073
2076
  readonly contentTitle: _angular_core.InputSignal<string | undefined>;
2077
+ readonly panelClass: _angular_core.InputSignal<string | undefined>;
2074
2078
  readonly updateOpen: _angular_core.OutputEmitterRef<boolean>;
2075
2079
  readonly backEvent: _angular_core.OutputEmitterRef<void>;
2076
2080
  readonly footerTpl: _angular_core.Signal<TemplateRef<void> | undefined>;
@@ -2081,6 +2085,7 @@ declare class MozDrawerComponent {
2081
2085
  'is-open': boolean;
2082
2086
  'mc-drawer--extend': boolean;
2083
2087
  }>;
2088
+ readonly dialogClasses: _angular_core.Signal<string>;
2084
2089
  readonly ariaModal: _angular_core.Signal<"true" | "false">;
2085
2090
  constructor();
2086
2091
  close(): void;
@@ -2089,7 +2094,7 @@ declare class MozDrawerComponent {
2089
2094
  onEscape(): void;
2090
2095
  onBackdropClick(event: MouseEvent): void;
2091
2096
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MozDrawerComponent, never>;
2092
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozDrawerComponent, "moz-drawer", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "extended": { "alias": "extended"; "required": false; "isSignal": true; }; "back": { "alias": "back"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "contentTitle": { "alias": "contentTitle"; "required": false; "isSignal": true; }; }, { "updateOpen": "updateOpen"; "backEvent": "backEvent"; }, ["footerTpl"], ["*"], true, never>;
2097
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozDrawerComponent, "moz-drawer", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "extended": { "alias": "extended"; "required": false; "isSignal": true; }; "back": { "alias": "back"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "contentTitle": { "alias": "contentTitle"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; }, { "updateOpen": "updateOpen"; "backEvent": "backEvent"; }, ["footerTpl"], ["*"], true, never>;
2093
2098
  }
2094
2099
 
2095
2100
  type MozPopoverAppearance = 'default' | 'inverse';
@@ -2360,7 +2365,10 @@ interface BulkDeleteEvent {
2360
2365
  * Evaluation is left-associative (no operator precedence). Grouped / parenthesised
2361
2366
  * conditions (`(a AND b) OR c`) are out of scope for the MVP; see docs.
2362
2367
  */
2363
- type FilterDataType = 'text' | 'number' | 'date' | 'set' | 'boolean';
2368
+
2369
+ /** Controls where filter evaluation happens. */
2370
+ type FilterMode = 'client' | 'server';
2371
+ type FilterDataType = 'text' | 'number' | 'date' | 'set' | 'boolean' | 'custom';
2364
2372
  type TextOperator = 'contains' | 'notContains' | 'equals' | 'notEquals' | 'startsWith' | 'endsWith' | 'blank' | 'notBlank';
2365
2373
  type NumberOperator = 'equals' | 'notEquals' | 'gt' | 'gte' | 'lt' | 'lte' | 'between' | 'blank' | 'notBlank';
2366
2374
  type DateOperator = NumberOperator;
@@ -2399,7 +2407,29 @@ interface FilterEvent {
2399
2407
  /** Mutation kind. */
2400
2408
  reason: FilterChangeReason;
2401
2409
  }
2410
+ /** Drawer data / result for the Filters drawer (toolbar). */
2411
+ interface FilterDrawerData {
2412
+ model: FilterModel;
2413
+ availableColumns: FilterColumnDescriptor[];
2414
+ applyMode: FilterApplyMode;
2415
+ }
2416
+ interface FilterDrawerResult {
2417
+ model: FilterModel;
2418
+ applied: boolean;
2419
+ }
2402
2420
  type FilterApplyMode = 'auto' | 'manual';
2421
+ /**
2422
+ * Base class for custom filter components. Extend this class and declare:
2423
+ * readonly condition = input.required<FilterCondition>();
2424
+ * readonly conditionChange = output<FilterValue>();
2425
+ *
2426
+ * The filter builder instantiates the component via ViewContainerRef and wires
2427
+ * the inputs/outputs automatically — the component has no dependency on the grid.
2428
+ */
2429
+ declare abstract class MozGridCustomFilter {
2430
+ abstract readonly condition: InputSignal<FilterCondition>;
2431
+ abstract readonly conditionChange: OutputEmitterRef<FilterValue>;
2432
+ }
2403
2433
  /** Minimal column info the builder needs to render labels, operators and value editors. */
2404
2434
  interface FilterColumnDescriptor {
2405
2435
  field: string;
@@ -2411,7 +2441,27 @@ interface FilterColumnDescriptor {
2411
2441
  label: string;
2412
2442
  }[];
2413
2443
  defaultOperator: FilterOperator;
2444
+ /** Custom component rendered in the builder for filterType === 'custom'. */
2445
+ filterComponent?: Type<MozGridCustomFilter>;
2446
+ /** Override for completion check. Defaults to value.value != null && !== ''. */
2447
+ filterIsComplete?: (value: FilterValue) => boolean;
2414
2448
  }
2449
+ /**
2450
+ * Default operator sets per data type. Consumers can restrict the set via
2451
+ * `ColumnDef.filterOperators`.
2452
+ */
2453
+ declare const DEFAULT_OPERATORS: Record<FilterDataType, FilterOperator[]>;
2454
+ declare const DEFAULT_OPERATOR_PER_TYPE: Record<FilterDataType, FilterOperator>;
2455
+ /** Human-readable operator labels (used by `toLabel`). */
2456
+ declare const OPERATOR_LABELS: Record<FilterOperator, string>;
2457
+ /** Operators that do not require a user-entered value. */
2458
+ declare const VALUELESS_OPERATORS: ReadonlySet<FilterOperator>;
2459
+ /** Operators that need a secondary value (`between`). */
2460
+ declare const RANGE_OPERATORS: ReadonlySet<FilterOperator>;
2461
+ /** Small helper for generating condition ids without pulling in a uuid dep. */
2462
+ declare function generateConditionId(): string;
2463
+ /** True when a condition has enough information to participate in evaluation. */
2464
+ declare function isConditionComplete(condition: FilterCondition): boolean;
2415
2465
 
2416
2466
  type SortDirection = 'asc' | 'desc' | null;
2417
2467
  type CellEditorType = 'text' | 'number' | 'textarea' | 'select' | 'checkbox' | 'date' | 'toggle' | 'custom';
@@ -2488,6 +2538,22 @@ interface ColumnDef<T = unknown> {
2488
2538
  editTemplate?: TemplateRef<unknown>;
2489
2539
  /** Custom filter template rendered in the sub-header filter row */
2490
2540
  filterTemplate?: TemplateRef<unknown>;
2541
+ /**
2542
+ * Custom Angular component rendered as the value editor in the filter builder.
2543
+ * The component must extend `MozGridCustomFilter`.
2544
+ * Automatically sets filterType to 'custom'.
2545
+ */
2546
+ filterComponent?: Type<MozGridCustomFilter>;
2547
+ /**
2548
+ * Client-side predicate used when filterMode="client" and filterType is 'custom'.
2549
+ * If absent, custom conditions are silently skipped in client mode.
2550
+ */
2551
+ filterPredicate?: (row: T, value: FilterValue) => boolean;
2552
+ /**
2553
+ * Determines whether a custom filter condition is "complete" (has enough data
2554
+ * to participate in evaluation). Defaults to value.value != null && !== ''.
2555
+ */
2556
+ filterIsComplete?: (value: FilterValue) => boolean;
2491
2557
  /** Validation function for cell values. Returns CellError or null. */
2492
2558
  cellValidator?: (value: unknown, row: T) => CellError | null;
2493
2559
  /**
@@ -2694,6 +2760,7 @@ declare class GridStateManager<T = unknown> {
2694
2760
  readonly sourceData: _angular_core.WritableSignal<T[]>;
2695
2761
  readonly totalItems: _angular_core.WritableSignal<number>;
2696
2762
  readonly mode: _angular_core.WritableSignal<"client" | "server">;
2763
+ readonly filterMode: _angular_core.WritableSignal<FilterMode>;
2697
2764
  readonly loadingStrategy: _angular_core.WritableSignal<LoadingStrategy>;
2698
2765
  readonly columnDefs: _angular_core.WritableSignal<ColumnDef<T>[]>;
2699
2766
  readonly columnStates: _angular_core.WritableSignal<ColumnStateEntry[]>;
@@ -3226,6 +3293,7 @@ declare class MozGridComponent<T = unknown> {
3226
3293
  private readonly emptyDefs;
3227
3294
  readonly data: _angular_core.InputSignal<T[]>;
3228
3295
  readonly mode: _angular_core.InputSignal<"client" | "server">;
3296
+ readonly filterMode: _angular_core.InputSignal<FilterMode>;
3229
3297
  readonly totalItems: _angular_core.InputSignal<number>;
3230
3298
  readonly pagination: _angular_core.InputSignal<boolean>;
3231
3299
  readonly pageSize: _angular_core.InputSignal<number>;
@@ -3472,7 +3540,7 @@ declare class MozGridComponent<T = unknown> {
3472
3540
  private deleteSelectedRows;
3473
3541
  private coerceAndValidate;
3474
3542
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MozGridComponent<any>, never>;
3475
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozGridComponent<any>, "moz-grid", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "totalItems": { "alias": "totalItems"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "rowSelection": { "alias": "rowSelection"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "rowIdField": { "alias": "rowIdField"; "required": false; "isSignal": true; }; "formulas": { "alias": "formulas"; "required": false; "isSignal": true; }; "detailTemplate": { "alias": "detailTemplate"; "required": false; "isSignal": true; }; "fullscreen": { "alias": "fullscreen"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "stateKey": { "alias": "stateKey"; "required": false; "isSignal": true; }; "emptyDataTitle": { "alias": "emptyDataTitle"; "required": false; "isSignal": true; }; "emptyDataDescription": { "alias": "emptyDataDescription"; "required": false; "isSignal": true; }; "noResultsTitle": { "alias": "noResultsTitle"; "required": false; "isSignal": true; }; "noResultsDescription": { "alias": "noResultsDescription"; "required": false; "isSignal": true; }; "noResultsActionLabel": { "alias": "noResultsActionLabel"; "required": false; "isSignal": true; }; "exportable": { "alias": "exportable"; "required": false; "isSignal": true; }; "showToolbar": { "alias": "showToolbar"; "required": false; "isSignal": true; }; "multiCellSelection": { "alias": "multiCellSelection"; "required": false; "isSignal": true; }; "horizontalVirtualScroll": { "alias": "horizontalVirtualScroll"; "required": false; "isSignal": true; }; "loadingStrategy": { "alias": "loadingStrategy"; "required": false; "isSignal": true; }; "scrollThreshold": { "alias": "scrollThreshold"; "required": false; "isSignal": true; }; "plugins": { "alias": "plugins"; "required": false; "isSignal": true; }; "filterApplyMode": { "alias": "filterApplyMode"; "required": false; "isSignal": true; }; }, { "sortChange": "sortChange"; "pageChange": "pageChange"; "loadMore": "loadMore"; "cellEdit": "cellEdit"; "cellEditCancel": "cellEditCancel"; "selectionChange": "selectionChange"; "cellSelectionChange": "cellSelectionChange"; "groupChange": "groupChange"; "filterChange": "filterChange"; "bulkEdit": "bulkEdit"; "bulkCopy": "bulkCopy"; "bulkPaste": "bulkPaste"; "bulkDelete": "bulkDelete"; "fillDown": "fillDown"; "settingsChange": "settingsChange"; }, ["columnDefs", "toolbarDefs", "emptyDefs"], ["[mozGridFilterTags]"], true, never>;
3543
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozGridComponent<any>, "moz-grid", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "filterMode": { "alias": "filterMode"; "required": false; "isSignal": true; }; "totalItems": { "alias": "totalItems"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "rowSelection": { "alias": "rowSelection"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "rowIdField": { "alias": "rowIdField"; "required": false; "isSignal": true; }; "formulas": { "alias": "formulas"; "required": false; "isSignal": true; }; "detailTemplate": { "alias": "detailTemplate"; "required": false; "isSignal": true; }; "fullscreen": { "alias": "fullscreen"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "stateKey": { "alias": "stateKey"; "required": false; "isSignal": true; }; "emptyDataTitle": { "alias": "emptyDataTitle"; "required": false; "isSignal": true; }; "emptyDataDescription": { "alias": "emptyDataDescription"; "required": false; "isSignal": true; }; "noResultsTitle": { "alias": "noResultsTitle"; "required": false; "isSignal": true; }; "noResultsDescription": { "alias": "noResultsDescription"; "required": false; "isSignal": true; }; "noResultsActionLabel": { "alias": "noResultsActionLabel"; "required": false; "isSignal": true; }; "exportable": { "alias": "exportable"; "required": false; "isSignal": true; }; "showToolbar": { "alias": "showToolbar"; "required": false; "isSignal": true; }; "multiCellSelection": { "alias": "multiCellSelection"; "required": false; "isSignal": true; }; "horizontalVirtualScroll": { "alias": "horizontalVirtualScroll"; "required": false; "isSignal": true; }; "loadingStrategy": { "alias": "loadingStrategy"; "required": false; "isSignal": true; }; "scrollThreshold": { "alias": "scrollThreshold"; "required": false; "isSignal": true; }; "plugins": { "alias": "plugins"; "required": false; "isSignal": true; }; "filterApplyMode": { "alias": "filterApplyMode"; "required": false; "isSignal": true; }; }, { "sortChange": "sortChange"; "pageChange": "pageChange"; "loadMore": "loadMore"; "cellEdit": "cellEdit"; "cellEditCancel": "cellEditCancel"; "selectionChange": "selectionChange"; "cellSelectionChange": "cellSelectionChange"; "groupChange": "groupChange"; "filterChange": "filterChange"; "bulkEdit": "bulkEdit"; "bulkCopy": "bulkCopy"; "bulkPaste": "bulkPaste"; "bulkDelete": "bulkDelete"; "fillDown": "fillDown"; "settingsChange": "settingsChange"; }, ["columnDefs", "toolbarDefs", "emptyDefs"], ["[mozGridFilterTags]"], true, never>;
3476
3544
  }
3477
3545
 
3478
3546
  interface GroupRow<T = unknown> {
@@ -3545,6 +3613,16 @@ declare class MozGridColumnDef<T = unknown> {
3545
3613
  readonly reorderable: _angular_core.InputSignal<boolean>;
3546
3614
  readonly groupable: _angular_core.InputSignal<boolean>;
3547
3615
  readonly filterable: _angular_core.InputSignal<boolean>;
3616
+ readonly filterType: _angular_core.InputSignal<FilterDataType | undefined>;
3617
+ readonly filterOperators: _angular_core.InputSignal<FilterOperator[] | undefined>;
3618
+ readonly defaultFilterOperator: _angular_core.InputSignal<FilterOperator | undefined>;
3619
+ readonly filterOptions: _angular_core.InputSignal<{
3620
+ value: unknown;
3621
+ label: string;
3622
+ }[] | undefined>;
3623
+ readonly filterComponent: _angular_core.InputSignal<Type<MozGridCustomFilter> | undefined>;
3624
+ readonly filterIsComplete: _angular_core.InputSignal<((value: FilterValue) => boolean) | undefined>;
3625
+ readonly filterPredicate: _angular_core.InputSignal<((row: unknown, value: FilterValue) => boolean) | undefined>;
3548
3626
  readonly editable: _angular_core.InputSignal<boolean>;
3549
3627
  readonly visible: _angular_core.InputSignal<boolean>;
3550
3628
  readonly hideable: _angular_core.InputSignal<boolean>;
@@ -3569,7 +3647,7 @@ declare class MozGridColumnDef<T = unknown> {
3569
3647
  readonly filterTemplateContent: _angular_core.Signal<TemplateRef<unknown> | undefined>;
3570
3648
  toColumnDef(): ColumnDef<T>;
3571
3649
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MozGridColumnDef<any>, never>;
3572
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MozGridColumnDef<any>, "moz-grid-column-def", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "headerName": { "alias": "headerName"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "flex": { "alias": "flex"; "required": false; "isSignal": true; }; "sortable": { "alias": "sortable"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "groupable": { "alias": "groupable"; "required": false; "isSignal": true; }; "filterable": { "alias": "filterable"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "hideable": { "alias": "hideable"; "required": false; "isSignal": true; }; "freezable": { "alias": "freezable"; "required": false; "isSignal": true; }; "headerMenuDisabled": { "alias": "headerMenuDisabled"; "required": false; "isSignal": true; }; "allowFormula": { "alias": "allowFormula"; "required": false; "isSignal": true; }; "pinned": { "alias": "pinned"; "required": false; "isSignal": true; }; "cellEditor": { "alias": "cellEditor"; "required": false; "isSignal": true; }; "cellEditorOptions": { "alias": "cellEditorOptions"; "required": false; "isSignal": true; }; "cellValidator": { "alias": "cellValidator"; "required": false; "isSignal": true; }; "cellTemplateInput": { "alias": "cellTemplate"; "required": false; "isSignal": true; }; "editTemplateInput": { "alias": "editTemplate"; "required": false; "isSignal": true; }; "filterTemplateInput": { "alias": "filterTemplate"; "required": false; "isSignal": true; }; }, {}, ["cellTemplateContent", "editTemplateContent", "filterTemplateContent"], never, true, never>;
3650
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MozGridColumnDef<any>, "moz-grid-column-def", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "headerName": { "alias": "headerName"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "flex": { "alias": "flex"; "required": false; "isSignal": true; }; "sortable": { "alias": "sortable"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "groupable": { "alias": "groupable"; "required": false; "isSignal": true; }; "filterable": { "alias": "filterable"; "required": false; "isSignal": true; }; "filterType": { "alias": "filterType"; "required": false; "isSignal": true; }; "filterOperators": { "alias": "filterOperators"; "required": false; "isSignal": true; }; "defaultFilterOperator": { "alias": "defaultFilterOperator"; "required": false; "isSignal": true; }; "filterOptions": { "alias": "filterOptions"; "required": false; "isSignal": true; }; "filterComponent": { "alias": "filterComponent"; "required": false; "isSignal": true; }; "filterIsComplete": { "alias": "filterIsComplete"; "required": false; "isSignal": true; }; "filterPredicate": { "alias": "filterPredicate"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "hideable": { "alias": "hideable"; "required": false; "isSignal": true; }; "freezable": { "alias": "freezable"; "required": false; "isSignal": true; }; "headerMenuDisabled": { "alias": "headerMenuDisabled"; "required": false; "isSignal": true; }; "allowFormula": { "alias": "allowFormula"; "required": false; "isSignal": true; }; "pinned": { "alias": "pinned"; "required": false; "isSignal": true; }; "cellEditor": { "alias": "cellEditor"; "required": false; "isSignal": true; }; "cellEditorOptions": { "alias": "cellEditorOptions"; "required": false; "isSignal": true; }; "cellValidator": { "alias": "cellValidator"; "required": false; "isSignal": true; }; "cellTemplateInput": { "alias": "cellTemplate"; "required": false; "isSignal": true; }; "editTemplateInput": { "alias": "editTemplate"; "required": false; "isSignal": true; }; "filterTemplateInput": { "alias": "filterTemplate"; "required": false; "isSignal": true; }; }, {}, ["cellTemplateContent", "editTemplateContent", "filterTemplateContent"], never, true, never>;
3573
3651
  }
3574
3652
 
3575
3653
  declare class GridEngine<T = unknown> {
@@ -3843,10 +3921,12 @@ declare class FilterEngine<T = unknown> {
3843
3921
  /** Convenience: drop all conditions that target a given field. */
3844
3922
  removeByField(field: string): void;
3845
3923
  /**
3846
- * Evaluates the current model against the provided data. In `server` mode,
3847
- * the grid delegates filtering to the consumer so we return the input as-is.
3924
+ * Evaluates the current model against the provided data.
3925
+ * In `server` filterMode the grid delegates filtering to the consumer returns input as-is.
3848
3926
  */
3849
3927
  filterData(data: T[]): T[];
3928
+ private isComplete;
3929
+ private matchRow;
3850
3930
  /** Returns a human-readable label for a condition ("Status equals En stock"). */
3851
3931
  toLabel(condition: FilterCondition): string;
3852
3932
  /** Returns the filter data type inferred for a column. */
@@ -4197,6 +4277,8 @@ declare class MozGridBodyComponent {
4197
4277
  * column — must match `MozGridRowComponent.utilityLeftWidth()` so the
4198
4278
  * detail/group rows align with the data row layout. */
4199
4279
  protected readonly utilityLeftWidth: _angular_core.Signal<number>;
4280
+ /** Number of skeleton rows shown while loading — match page size, max 20. */
4281
+ protected readonly skeletonRows: _angular_core.Signal<number[]>;
4200
4282
  /** Concrete display-row indices to render this frame. */
4201
4283
  protected readonly visibleIndices: _angular_core.Signal<number[]>;
4202
4284
  protected isRowExpanded(data: unknown): boolean;
@@ -4466,6 +4548,30 @@ declare class MozGridLoadingIndicatorComponent {
4466
4548
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozGridLoadingIndicatorComponent, "moz-grid-loading-indicator", never, {}, {}, never, never, true, never>;
4467
4549
  }
4468
4550
 
4551
+ /**
4552
+ * Structural host for custom filter components inside the filter builder.
4553
+ *
4554
+ * Usage in template:
4555
+ * <ng-container mozCustomFilterHost
4556
+ * [componentType]="descriptor.filterComponent"
4557
+ * [condition]="condition"
4558
+ * (conditionChange)="onValueChange(condition.id, $event)"
4559
+ * />
4560
+ */
4561
+ declare class MozCustomFilterHostDirective implements OnChanges, OnDestroy {
4562
+ readonly componentType: _angular_core.InputSignal<Type<MozGridCustomFilter>>;
4563
+ readonly condition: _angular_core.InputSignal<FilterCondition>;
4564
+ readonly conditionChange: _angular_core.OutputEmitterRef<FilterValue>;
4565
+ private readonly vcr;
4566
+ private ref;
4567
+ private sub;
4568
+ ngOnChanges(changes: SimpleChanges): void;
4569
+ ngOnDestroy(): void;
4570
+ private teardown;
4571
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MozCustomFilterHostDirective, never>;
4572
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MozCustomFilterHostDirective, "[mozCustomFilterHost]", never, { "componentType": { "alias": "componentType"; "required": true; "isSignal": true; }; "condition": { "alias": "condition"; "required": true; "isSignal": true; }; }, { "conditionChange": "conditionChange"; }, never, never, true, never>;
4573
+ }
4574
+
4469
4575
  /**
4470
4576
  * McCombobox — Data models & type guards
4471
4577
  *
@@ -4936,5 +5042,5 @@ declare class MozTreeNodeComponent<T = unknown> {
4936
5042
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozTreeNodeComponent<any>, "moz-tree-node", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; "depth": { "alias": "depth"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "indentSize": { "alias": "indentSize"; "required": false; "isSignal": true; }; "nodeTemplate": { "alias": "nodeTemplate"; "required": false; "isSignal": true; }; "nodeTemplates": { "alias": "nodeTemplates"; "required": false; "isSignal": true; }; "loadChildren": { "alias": "loadChildren"; "required": false; "isSignal": true; }; "ancestors": { "alias": "ancestors"; "required": false; "isSignal": true; }; "flat": { "alias": "flat"; "required": false; "isSignal": true; }; "noResultText": { "alias": "noResultText"; "required": false; "isSignal": true; }; }, { "expandChange": "expandChange"; "selectionChange": "selectionChange"; }, never, never, true, never>;
4937
5043
  }
4938
5044
 
4939
- export { ACTION_LISTBOX_CONFIG, ActionListboxContainerComponent, ActionListboxRef, BuiltInMenuComponent, CellSelectionEngine, CellValidationEngine, ColumnReorderEngine, ColumnResizeEngine, DEFAULT_ACTION_LISTBOX_CONFIG, DEFAULT_FORMULA_FUNCTIONS, DEFAULT_GRID_OPTIONS, DEFAULT_MODAL_CONFIG, DEFAULT_TOASTER_CONFIG, DRAWER_CONFIG, DRAWER_DATA, DrawerContainerComponent, ExpandableRowEngine, ExportEngine, FilterEngine, FormulaEngine, FormulaValues, GridEngine, GridGroupDrawerComponent, GridSettingsDrawerComponent, GridStateManager, GroupEngine, HorizontalVirtualScrollEngine, InfiniteScrollEngine, InlineEditEngine, KeyboardEngine, MODAL_CONFIG, MODAL_DATA, MozAccordionComponent, MozAccordionContentComponent, MozAccordionHeaderComponent, MozAccordionPanelComponent, MozActionBottomBarComponent, MozActionListboxComponent, MozActionListboxTriggerDirective, MozAvatarComponent, MozBreadcrumbComponent, MozButtonComponent, MozCalloutComponent, MozCarouselComponent, MozCheckListMenuComponent, MozCheckboxComponent, MozCheckboxGroupComponent, MozCircularProgressBarComponent, MozComboboxComponent, MozComboboxHarness, MozComboboxOptionHarness, MozDatepickerComponent, MozDividerComponent, MozDrawerComponent, MozDrawerFooterDirective, MozDrawerRef, MozDrawerService, MozFieldComponent, MozFieldGroupComponent, MozFileUploaderComponent, MozFileUploaderItemComponent, MozFlagComponent, MozGridBodyComponent, MozGridCellComponent, MozGridColumnDef, MozGridColumnVisibilityPanelComponent, MozGridComponent, MozGridDetailRowComponent, MozGridEmptyDef, MozGridFooterComponent, MozGridGroupRowComponent, MozGridHeaderCellComponent, MozGridHeaderComponent, MozGridHeaderMenuComponent, MozGridLoadingIndicatorComponent, MozGridRowComponent, MozGridToolbarDef, MozIconButtonComponent, MozKpiComponent, MozLinearProgressBarBufferComponent, MozLinearProgressBarPercentageComponent, MozLinkComponent, MozLoaderComponent, MozLoadingOverlayComponent, MozModalComponent, MozModalFooterDirective, MozModalRef, MozModalService, MozNavigationIndicatorComponent, MozNumberBadgeComponent, MozOverlayComponent, MozPageHeaderComponent, MozPaginationComponent, MozPasswordInputDirective, MozPhoneNumberComponent, MozPincodeInputComponent, MozPopoverComponent, MozPopoverFooterDirective, MozPopoverTriggerDirective, MozQuantitySelectorComponent, MozRadioComponent, MozRadioGroupComponent, MozSegmentedControlComponent, MozSelectComponent, MozSidebarComponent, MozStarRatingComponent, MozStatusBadgeComponent, MozStatusDotComponent, MozStatusMessageComponent, MozStatusNotificationComponent, MozStepperBottomBarComponent, MozStepperCompactComponent, MozStepperInlineComponent, MozStepperStackedComponent, MozTabComponent, MozTabsComponent, MozTagComponent, MozTextInput, MozTextarea, MozTileComponent, MozTileExpandableComponent, MozTileSelectableComponent, MozToasterComponent, MozToasterRef, MozToasterService, MozToggleComponent, MozTooltipComponent, MozTooltipDirective, MozTreeComponent, MozTreeNodeComponent, MozTreeNodeTemplateDirective, POPOVER_CONFIG, POPOVER_DATA, PaginationEngine, PopoverContainerComponent, PopoverRef, PopoverService, RowSelectionEngine, SortEngine, StatePersistenceEngine, TOASTER_CONFIG, TreeEngine, TreeKeyboardService, TreeSelectionService, TreeStateService, addressToA1, firstError, isSection, toBoolean, toNumber, toStringValue, trackByField, trackDisplayRow };
4940
- export type { ActionListboxConfig, ActionListboxPosition, ActiveFilter, BulkCellChange, BulkCopyEvent, BulkDeleteEvent, BulkEditEvent, BulkPasteEvent, CellAddress, CellCoord, CellEditCancelEvent, CellEditEvent, CellEditState, CellEditorType, CellError, CellRange, CellSelectionEvent, ColumnDef, ColumnFreezeEvent, ColumnReorderEvent, ColumnResizeEvent, ColumnSearchToggleEvent, ColumnStateEntry, ColumnVisibilityEvent, DisplayRow, ExportOptions, FillDownEvent, FilterEvent, FlatNode, FormulaArity, FormulaChangeEvent, FormulaDataSource, FormulaError, FormulaErrorEvent, FormulaEvalContext, FormulaFunctionDocs, FormulaFunctionImpl, FormulaFunctionRegistry, FormulaValue, GridDensity, GridEmptyContext, GridEmptyKind, GridEventMap, GridEventType, GridOptions, GridPlugin, GridSettingsData, GridSettingsResult, GridToolbarSlot, GroupDrawerData, GroupDrawerResult, GroupEntry, GroupEvent, GroupRow, HeaderMenuActionId, HeaderMenuConfig, KeyboardActions, LoadChildrenFn, LoadMoreEvent, LoadingStrategy, MozActionListItem, MozActionListItemAppearance, MozAvatarSize, MozBreadcrumbAppearance, MozBreadcrumbLink, MozBuiltInMenuItem, MozBuiltInMenuItemTarget, MozButtonAppearance, MozButtonIconPosition, MozButtonSize, MozButtonType, MozCalloutVariant, MozCheckListMenuItem, MozCircularProgessBarSize, MozComboboxItem, MozComboboxOption, MozComboboxSection, MozComboboxSize, MozDatepickerSize, MozDividerAppearance, MozDividerOrientation, MozDividerSize, MozDrawerConfig, MozDrawerPosition, MozFileUploaderFormat, MozFileUploaderItemFormat, MozFlagType, MozIconButtonAppearance, MozIconButtonSize, MozIconButtonType, MozKpiSize, MozKpiStatus, MozKpiTrend, MozLinearProgressBarBufferSize, MozLinkAppearance, MozLinkIconPosition, MozLinkSize, MozLoaderAppearance, MozLoaderSize, MozNavigationIndicatorAction, MozNumberBadgeAppearance, MozNumberBadgeSize, MozPageHeaderScope, MozPhoneNumberCountry, MozPhoneNumberSize, MozPhoneNumberValue, MozPincodeLength, MozPopoverAppearance, MozPopoverPosition, MozPopoverSize, MozQuantitySelectorSize, MozSegmentedControlSize, MozSegmentedItem, MozSelectOption, MozSelectSize, MozSelectValue, MozSidebarItem, MozSidebarSubItem, MozStarRatingAppearance, MozStarRatingSize, MozStatusBadgeStatus, MozStatusDotSize, MozStatusDotStatus, MozStatusMessageStatus, MozStatusNotificationStatus, MozStepperBottomBarStep, MozStepperInlineStep, MozStepperStackedStep, MozTabItem, MozTagSize, MozTagType, MozTextInputSize, MozTileAppearance, MozTileExpandableTrigger, MozTileInputPosition, MozTileInputVerticalPosition, MozTileSelectableAppearance, MozTileSelectableType, MozToasterPosition, MozToasterRole, MozToasterStatus, MozToggleSize, MozTooltipPosition, PageEvent, PaginationState, PersistedGridState, PopoverConfig, PopoverTriggerMode, RowSelectionEvent, SelectAllMode, SortDef, SortDirection, SortEvent, TreeDisplayRow, TreeNode, TreeNodeConfig, TreeNodeContext, TreeSelectionMode };
5045
+ export { ACTION_LISTBOX_CONFIG, ActionListboxContainerComponent, ActionListboxRef, BuiltInMenuComponent, CellSelectionEngine, CellValidationEngine, ColumnReorderEngine, ColumnResizeEngine, DEFAULT_ACTION_LISTBOX_CONFIG, DEFAULT_FORMULA_FUNCTIONS, DEFAULT_GRID_OPTIONS, DEFAULT_MODAL_CONFIG, DEFAULT_OPERATORS, DEFAULT_OPERATOR_PER_TYPE, DEFAULT_TOASTER_CONFIG, DRAWER_CONFIG, DRAWER_DATA, DrawerContainerComponent, ExpandableRowEngine, ExportEngine, FilterEngine, FormulaEngine, FormulaValues, GridEngine, GridGroupDrawerComponent, GridSettingsDrawerComponent, GridStateManager, GroupEngine, HorizontalVirtualScrollEngine, InfiniteScrollEngine, InlineEditEngine, KeyboardEngine, MODAL_CONFIG, MODAL_DATA, MozAccordionComponent, MozAccordionContentComponent, MozAccordionHeaderComponent, MozAccordionPanelComponent, MozActionBottomBarComponent, MozActionListboxComponent, MozActionListboxTriggerDirective, MozAvatarComponent, MozBreadcrumbComponent, MozButtonComponent, MozCalloutComponent, MozCarouselComponent, MozCheckListMenuComponent, MozCheckboxComponent, MozCheckboxGroupComponent, MozCircularProgressBarComponent, MozComboboxComponent, MozComboboxHarness, MozComboboxOptionHarness, MozCustomFilterHostDirective, MozDatepickerComponent, MozDividerComponent, MozDrawerComponent, MozDrawerFooterDirective, MozDrawerRef, MozDrawerService, MozFieldComponent, MozFieldGroupComponent, MozFileUploaderComponent, MozFileUploaderItemComponent, MozFlagComponent, MozGridBodyComponent, MozGridCellComponent, MozGridColumnDef, MozGridColumnVisibilityPanelComponent, MozGridComponent, MozGridCustomFilter, MozGridDetailRowComponent, MozGridEmptyDef, MozGridFooterComponent, MozGridGroupRowComponent, MozGridHeaderCellComponent, MozGridHeaderComponent, MozGridHeaderMenuComponent, MozGridLoadingIndicatorComponent, MozGridRowComponent, MozGridToolbarDef, MozIconButtonComponent, MozKpiComponent, MozLinearProgressBarBufferComponent, MozLinearProgressBarPercentageComponent, MozLinkComponent, MozLoaderComponent, MozLoadingOverlayComponent, MozModalComponent, MozModalFooterDirective, MozModalRef, MozModalService, MozNavigationIndicatorComponent, MozNumberBadgeComponent, MozOverlayComponent, MozPageHeaderComponent, MozPaginationComponent, MozPasswordInputDirective, MozPhoneNumberComponent, MozPincodeInputComponent, MozPopoverComponent, MozPopoverFooterDirective, MozPopoverTriggerDirective, MozQuantitySelectorComponent, MozRadioComponent, MozRadioGroupComponent, MozSegmentedControlComponent, MozSelectComponent, MozSidebarComponent, MozStarRatingComponent, MozStatusBadgeComponent, MozStatusDotComponent, MozStatusMessageComponent, MozStatusNotificationComponent, MozStepperBottomBarComponent, MozStepperCompactComponent, MozStepperInlineComponent, MozStepperStackedComponent, MozTabComponent, MozTabsComponent, MozTagComponent, MozTextInput, MozTextarea, MozTileComponent, MozTileExpandableComponent, MozTileSelectableComponent, MozToasterComponent, MozToasterRef, MozToasterService, MozToggleComponent, MozTooltipComponent, MozTooltipDirective, MozTreeComponent, MozTreeNodeComponent, MozTreeNodeTemplateDirective, OPERATOR_LABELS, POPOVER_CONFIG, POPOVER_DATA, PaginationEngine, PopoverContainerComponent, PopoverRef, PopoverService, RANGE_OPERATORS, RowSelectionEngine, SortEngine, StatePersistenceEngine, TOASTER_CONFIG, TreeEngine, TreeKeyboardService, TreeSelectionService, TreeStateService, VALUELESS_OPERATORS, addressToA1, firstError, generateConditionId, isConditionComplete, isSection, toBoolean, toNumber, toStringValue, trackByField, trackDisplayRow };
5046
+ export type { ActionListboxConfig, ActionListboxPosition, ActiveFilter, BooleanOperator, BulkCellChange, BulkCopyEvent, BulkDeleteEvent, BulkEditEvent, BulkPasteEvent, CellAddress, CellCoord, CellEditCancelEvent, CellEditEvent, CellEditState, CellEditorType, CellError, CellRange, CellSelectionEvent, ColumnDef, ColumnFreezeEvent, ColumnReorderEvent, ColumnResizeEvent, ColumnSearchToggleEvent, ColumnStateEntry, ColumnVisibilityEvent, DateOperator, DisplayRow, ExportOptions, FillDownEvent, FilterApplyMode, FilterChangeReason, FilterColumnDescriptor, FilterCombinator, FilterCondition, FilterDataType, FilterDrawerData, FilterDrawerResult, FilterEvent, FilterMode, FilterModel, FilterOperator, FilterValue, FlatNode, FormulaArity, FormulaChangeEvent, FormulaDataSource, FormulaError, FormulaErrorEvent, FormulaEvalContext, FormulaFunctionDocs, FormulaFunctionImpl, FormulaFunctionRegistry, FormulaValue, GridDensity, GridEmptyContext, GridEmptyKind, GridEventMap, GridEventType, GridOptions, GridPlugin, GridSettingsData, GridSettingsResult, GridToolbarSlot, GroupDrawerData, GroupDrawerResult, GroupEntry, GroupEvent, GroupRow, HeaderMenuActionId, HeaderMenuConfig, KeyboardActions, LoadChildrenFn, LoadMoreEvent, LoadingStrategy, MozActionListItem, MozActionListItemAppearance, MozAvatarSize, MozBreadcrumbAppearance, MozBreadcrumbLink, MozBuiltInMenuItem, MozBuiltInMenuItemTarget, MozButtonAppearance, MozButtonIconPosition, MozButtonSize, MozButtonType, MozCalloutVariant, MozCheckListMenuItem, MozCircularProgessBarSize, MozComboboxItem, MozComboboxOption, MozComboboxSection, MozComboboxSize, MozDatepickerSize, MozDividerAppearance, MozDividerOrientation, MozDividerSize, MozDrawerConfig, MozDrawerPosition, MozFileUploaderFormat, MozFileUploaderItemFormat, MozFlagType, MozIconButtonAppearance, MozIconButtonSize, MozIconButtonType, MozKpiSize, MozKpiStatus, MozKpiTrend, MozLinearProgressBarBufferSize, MozLinkAppearance, MozLinkIconPosition, MozLinkSize, MozLoaderAppearance, MozLoaderSize, MozNavigationIndicatorAction, MozNumberBadgeAppearance, MozNumberBadgeSize, MozPageHeaderScope, MozPhoneNumberCountry, MozPhoneNumberSize, MozPhoneNumberValue, MozPincodeLength, MozPopoverAppearance, MozPopoverPosition, MozPopoverSize, MozQuantitySelectorSize, MozSegmentedControlSize, MozSegmentedItem, MozSelectOption, MozSelectSize, MozSelectValue, MozSidebarItem, MozSidebarSubItem, MozStarRatingAppearance, MozStarRatingSize, MozStatusBadgeStatus, MozStatusDotSize, MozStatusDotStatus, MozStatusMessageStatus, MozStatusNotificationStatus, MozStepperBottomBarStep, MozStepperInlineStep, MozStepperStackedStep, MozTabItem, MozTagSize, MozTagType, MozTextInputSize, MozTileAppearance, MozTileExpandableTrigger, MozTileInputPosition, MozTileInputVerticalPosition, MozTileSelectableAppearance, MozTileSelectableType, MozToasterPosition, MozToasterRole, MozToasterStatus, MozToggleSize, MozTooltipPosition, NumberOperator, PageEvent, PaginationState, PersistedGridState, PopoverConfig, PopoverTriggerMode, RowSelectionEvent, SelectAllMode, SetOperator, SortDef, SortDirection, SortEvent, TextOperator, TreeDisplayRow, TreeNode, TreeNodeConfig, TreeNodeContext, TreeSelectionMode };