@mozaic-ds/angular 2.0.59 → 2.0.61

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.59",
3
+ "version": "2.0.61",
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';
@@ -1743,9 +1743,22 @@ interface MozStepperStackedStep {
1743
1743
  * Optional additional information under the label.
1744
1744
  */
1745
1745
  additionalInfo?: string;
1746
+ /**
1747
+ * Optional unique identifier for the step. When omitted, the component
1748
+ * auto-generates one as `{componentId}-step-{index}` (0-based).
1749
+ * Useful for ARIA `aria-controls`, deep-link anchors or e2e selectors.
1750
+ */
1751
+ id?: string;
1746
1752
  }
1747
1753
 
1748
1754
  declare class MozStepperStackedComponent {
1755
+ /**
1756
+ * Optional prefix used to build auto-generated step IDs when a step
1757
+ * doesn't provide its own `id`. Defaults to a unique `moz-stepper-N`.
1758
+ * Override this when multiple steppers share the same page so their
1759
+ * auto-generated IDs don't collide.
1760
+ */
1761
+ readonly componentId: _angular_core.InputSignal<string>;
1749
1762
  /**
1750
1763
  * Current step of the stepper stacked (1-based index).
1751
1764
  */
@@ -1769,8 +1782,13 @@ declare class MozStepperStackedComponent {
1769
1782
  completed: boolean;
1770
1783
  current: boolean;
1771
1784
  }[]>;
1785
+ /**
1786
+ * Returns the resolved ID for the step at index `i`: the explicit
1787
+ * `step.id` if provided, otherwise an auto-generated stable value.
1788
+ */
1789
+ stepId(step: MozStepperStackedStep, i: number): string;
1772
1790
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MozStepperStackedComponent, never>;
1773
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozStepperStackedComponent, "moz-stepper-stacked", never, { "currentStep": { "alias": "currentStep"; "required": false; "isSignal": true; }; "steps": { "alias": "steps"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1791
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozStepperStackedComponent, "moz-stepper-stacked", never, { "componentId": { "alias": "componentId"; "required": false; "isSignal": true; }; "currentStep": { "alias": "currentStep"; "required": false; "isSignal": true; }; "steps": { "alias": "steps"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1774
1792
  }
1775
1793
 
1776
1794
  /**
@@ -2342,7 +2360,10 @@ interface BulkDeleteEvent {
2342
2360
  * Evaluation is left-associative (no operator precedence). Grouped / parenthesised
2343
2361
  * conditions (`(a AND b) OR c`) are out of scope for the MVP; see docs.
2344
2362
  */
2345
- type FilterDataType = 'text' | 'number' | 'date' | 'set' | 'boolean';
2363
+
2364
+ /** Controls where filter evaluation happens. */
2365
+ type FilterMode = 'client' | 'server';
2366
+ type FilterDataType = 'text' | 'number' | 'date' | 'set' | 'boolean' | 'custom';
2346
2367
  type TextOperator = 'contains' | 'notContains' | 'equals' | 'notEquals' | 'startsWith' | 'endsWith' | 'blank' | 'notBlank';
2347
2368
  type NumberOperator = 'equals' | 'notEquals' | 'gt' | 'gte' | 'lt' | 'lte' | 'between' | 'blank' | 'notBlank';
2348
2369
  type DateOperator = NumberOperator;
@@ -2381,7 +2402,29 @@ interface FilterEvent {
2381
2402
  /** Mutation kind. */
2382
2403
  reason: FilterChangeReason;
2383
2404
  }
2405
+ /** Drawer data / result for the Filters drawer (toolbar). */
2406
+ interface FilterDrawerData {
2407
+ model: FilterModel;
2408
+ availableColumns: FilterColumnDescriptor[];
2409
+ applyMode: FilterApplyMode;
2410
+ }
2411
+ interface FilterDrawerResult {
2412
+ model: FilterModel;
2413
+ applied: boolean;
2414
+ }
2384
2415
  type FilterApplyMode = 'auto' | 'manual';
2416
+ /**
2417
+ * Base class for custom filter components. Extend this class and declare:
2418
+ * readonly condition = input.required<FilterCondition>();
2419
+ * readonly conditionChange = output<FilterValue>();
2420
+ *
2421
+ * The filter builder instantiates the component via ViewContainerRef and wires
2422
+ * the inputs/outputs automatically — the component has no dependency on the grid.
2423
+ */
2424
+ declare abstract class MozGridCustomFilter {
2425
+ abstract readonly condition: InputSignal<FilterCondition>;
2426
+ abstract readonly conditionChange: OutputEmitterRef<FilterValue>;
2427
+ }
2385
2428
  /** Minimal column info the builder needs to render labels, operators and value editors. */
2386
2429
  interface FilterColumnDescriptor {
2387
2430
  field: string;
@@ -2393,7 +2436,27 @@ interface FilterColumnDescriptor {
2393
2436
  label: string;
2394
2437
  }[];
2395
2438
  defaultOperator: FilterOperator;
2439
+ /** Custom component rendered in the builder for filterType === 'custom'. */
2440
+ filterComponent?: Type<MozGridCustomFilter>;
2441
+ /** Override for completion check. Defaults to value.value != null && !== ''. */
2442
+ filterIsComplete?: (value: FilterValue) => boolean;
2396
2443
  }
2444
+ /**
2445
+ * Default operator sets per data type. Consumers can restrict the set via
2446
+ * `ColumnDef.filterOperators`.
2447
+ */
2448
+ declare const DEFAULT_OPERATORS: Record<FilterDataType, FilterOperator[]>;
2449
+ declare const DEFAULT_OPERATOR_PER_TYPE: Record<FilterDataType, FilterOperator>;
2450
+ /** Human-readable operator labels (used by `toLabel`). */
2451
+ declare const OPERATOR_LABELS: Record<FilterOperator, string>;
2452
+ /** Operators that do not require a user-entered value. */
2453
+ declare const VALUELESS_OPERATORS: ReadonlySet<FilterOperator>;
2454
+ /** Operators that need a secondary value (`between`). */
2455
+ declare const RANGE_OPERATORS: ReadonlySet<FilterOperator>;
2456
+ /** Small helper for generating condition ids without pulling in a uuid dep. */
2457
+ declare function generateConditionId(): string;
2458
+ /** True when a condition has enough information to participate in evaluation. */
2459
+ declare function isConditionComplete(condition: FilterCondition): boolean;
2397
2460
 
2398
2461
  type SortDirection = 'asc' | 'desc' | null;
2399
2462
  type CellEditorType = 'text' | 'number' | 'textarea' | 'select' | 'checkbox' | 'date' | 'toggle' | 'custom';
@@ -2470,6 +2533,22 @@ interface ColumnDef<T = unknown> {
2470
2533
  editTemplate?: TemplateRef<unknown>;
2471
2534
  /** Custom filter template rendered in the sub-header filter row */
2472
2535
  filterTemplate?: TemplateRef<unknown>;
2536
+ /**
2537
+ * Custom Angular component rendered as the value editor in the filter builder.
2538
+ * The component must extend `MozGridCustomFilter`.
2539
+ * Automatically sets filterType to 'custom'.
2540
+ */
2541
+ filterComponent?: Type<MozGridCustomFilter>;
2542
+ /**
2543
+ * Client-side predicate used when filterMode="client" and filterType is 'custom'.
2544
+ * If absent, custom conditions are silently skipped in client mode.
2545
+ */
2546
+ filterPredicate?: (row: T, value: FilterValue) => boolean;
2547
+ /**
2548
+ * Determines whether a custom filter condition is "complete" (has enough data
2549
+ * to participate in evaluation). Defaults to value.value != null && !== ''.
2550
+ */
2551
+ filterIsComplete?: (value: FilterValue) => boolean;
2473
2552
  /** Validation function for cell values. Returns CellError or null. */
2474
2553
  cellValidator?: (value: unknown, row: T) => CellError | null;
2475
2554
  /**
@@ -2676,6 +2755,7 @@ declare class GridStateManager<T = unknown> {
2676
2755
  readonly sourceData: _angular_core.WritableSignal<T[]>;
2677
2756
  readonly totalItems: _angular_core.WritableSignal<number>;
2678
2757
  readonly mode: _angular_core.WritableSignal<"client" | "server">;
2758
+ readonly filterMode: _angular_core.WritableSignal<FilterMode>;
2679
2759
  readonly loadingStrategy: _angular_core.WritableSignal<LoadingStrategy>;
2680
2760
  readonly columnDefs: _angular_core.WritableSignal<ColumnDef<T>[]>;
2681
2761
  readonly columnStates: _angular_core.WritableSignal<ColumnStateEntry[]>;
@@ -2737,6 +2817,7 @@ declare class GridStateManager<T = unknown> {
2737
2817
  } | null>;
2738
2818
  readonly expandedRowIds: _angular_core.WritableSignal<Set<unknown>>;
2739
2819
  readonly rowIdField: _angular_core.WritableSignal<string>;
2820
+ readonly multiCellSelectionEnabled: _angular_core.WritableSignal<boolean>;
2740
2821
  readonly activeSelectionMode: _angular_core.WritableSignal<"none" | "rows" | "cells">;
2741
2822
  readonly draggingColumn: _angular_core.WritableSignal<string | null>;
2742
2823
  readonly dropIndicatorIndex: _angular_core.WritableSignal<number | null>;
@@ -3207,6 +3288,7 @@ declare class MozGridComponent<T = unknown> {
3207
3288
  private readonly emptyDefs;
3208
3289
  readonly data: _angular_core.InputSignal<T[]>;
3209
3290
  readonly mode: _angular_core.InputSignal<"client" | "server">;
3291
+ readonly filterMode: _angular_core.InputSignal<FilterMode>;
3210
3292
  readonly totalItems: _angular_core.InputSignal<number>;
3211
3293
  readonly pagination: _angular_core.InputSignal<boolean>;
3212
3294
  readonly pageSize: _angular_core.InputSignal<number>;
@@ -3237,6 +3319,8 @@ declare class MozGridComponent<T = unknown> {
3237
3319
  /** CTA label on the "no results" state. Empty disables the button. */
3238
3320
  readonly noResultsActionLabel: _angular_core.InputSignal<string>;
3239
3321
  readonly exportable: _angular_core.InputSignal<boolean>;
3322
+ readonly showToolbar: _angular_core.InputSignal<boolean>;
3323
+ readonly multiCellSelection: _angular_core.InputSignal<boolean>;
3240
3324
  readonly horizontalVirtualScroll: _angular_core.InputSignal<boolean>;
3241
3325
  readonly loadingStrategy: _angular_core.InputSignal<LoadingStrategy>;
3242
3326
  readonly scrollThreshold: _angular_core.InputSignal<number>;
@@ -3451,7 +3535,7 @@ declare class MozGridComponent<T = unknown> {
3451
3535
  private deleteSelectedRows;
3452
3536
  private coerceAndValidate;
3453
3537
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MozGridComponent<any>, never>;
3454
- 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; }; "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>;
3538
+ 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>;
3455
3539
  }
3456
3540
 
3457
3541
  interface GroupRow<T = unknown> {
@@ -3503,6 +3587,10 @@ interface GridOptions<T = unknown> {
3503
3587
  columnResize: boolean;
3504
3588
  /** Enable column reorder */
3505
3589
  columnReorder: boolean;
3590
+ /** Show or hide the toolbar. Defaults to true. */
3591
+ showToolbar?: boolean;
3592
+ /** Enable multi-cell selection (click / drag range / keyboard navigation). Defaults to true. */
3593
+ multiCellSelection?: boolean;
3506
3594
  /** Track by function for virtual scroll */
3507
3595
  trackBy: (index: number, item: T) => unknown;
3508
3596
  }
@@ -3520,6 +3608,16 @@ declare class MozGridColumnDef<T = unknown> {
3520
3608
  readonly reorderable: _angular_core.InputSignal<boolean>;
3521
3609
  readonly groupable: _angular_core.InputSignal<boolean>;
3522
3610
  readonly filterable: _angular_core.InputSignal<boolean>;
3611
+ readonly filterType: _angular_core.InputSignal<FilterDataType | undefined>;
3612
+ readonly filterOperators: _angular_core.InputSignal<FilterOperator[] | undefined>;
3613
+ readonly defaultFilterOperator: _angular_core.InputSignal<FilterOperator | undefined>;
3614
+ readonly filterOptions: _angular_core.InputSignal<{
3615
+ value: unknown;
3616
+ label: string;
3617
+ }[] | undefined>;
3618
+ readonly filterComponent: _angular_core.InputSignal<Type<MozGridCustomFilter> | undefined>;
3619
+ readonly filterIsComplete: _angular_core.InputSignal<((value: FilterValue) => boolean) | undefined>;
3620
+ readonly filterPredicate: _angular_core.InputSignal<((row: unknown, value: FilterValue) => boolean) | undefined>;
3523
3621
  readonly editable: _angular_core.InputSignal<boolean>;
3524
3622
  readonly visible: _angular_core.InputSignal<boolean>;
3525
3623
  readonly hideable: _angular_core.InputSignal<boolean>;
@@ -3544,7 +3642,7 @@ declare class MozGridColumnDef<T = unknown> {
3544
3642
  readonly filterTemplateContent: _angular_core.Signal<TemplateRef<unknown> | undefined>;
3545
3643
  toColumnDef(): ColumnDef<T>;
3546
3644
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MozGridColumnDef<any>, never>;
3547
- 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>;
3645
+ 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>;
3548
3646
  }
3549
3647
 
3550
3648
  declare class GridEngine<T = unknown> {
@@ -3818,10 +3916,12 @@ declare class FilterEngine<T = unknown> {
3818
3916
  /** Convenience: drop all conditions that target a given field. */
3819
3917
  removeByField(field: string): void;
3820
3918
  /**
3821
- * Evaluates the current model against the provided data. In `server` mode,
3822
- * the grid delegates filtering to the consumer so we return the input as-is.
3919
+ * Evaluates the current model against the provided data.
3920
+ * In `server` filterMode the grid delegates filtering to the consumer returns input as-is.
3823
3921
  */
3824
3922
  filterData(data: T[]): T[];
3923
+ private isComplete;
3924
+ private matchRow;
3825
3925
  /** Returns a human-readable label for a condition ("Status equals En stock"). */
3826
3926
  toLabel(condition: FilterCondition): string;
3827
3927
  /** Returns the filter data type inferred for a column. */
@@ -4172,6 +4272,8 @@ declare class MozGridBodyComponent {
4172
4272
  * column — must match `MozGridRowComponent.utilityLeftWidth()` so the
4173
4273
  * detail/group rows align with the data row layout. */
4174
4274
  protected readonly utilityLeftWidth: _angular_core.Signal<number>;
4275
+ /** Number of skeleton rows shown while loading — match page size, max 20. */
4276
+ protected readonly skeletonRows: _angular_core.Signal<number[]>;
4175
4277
  /** Concrete display-row indices to render this frame. */
4176
4278
  protected readonly visibleIndices: _angular_core.Signal<number[]>;
4177
4279
  protected isRowExpanded(data: unknown): boolean;
@@ -4441,6 +4543,30 @@ declare class MozGridLoadingIndicatorComponent {
4441
4543
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozGridLoadingIndicatorComponent, "moz-grid-loading-indicator", never, {}, {}, never, never, true, never>;
4442
4544
  }
4443
4545
 
4546
+ /**
4547
+ * Structural host for custom filter components inside the filter builder.
4548
+ *
4549
+ * Usage in template:
4550
+ * <ng-container mozCustomFilterHost
4551
+ * [componentType]="descriptor.filterComponent"
4552
+ * [condition]="condition"
4553
+ * (conditionChange)="onValueChange(condition.id, $event)"
4554
+ * />
4555
+ */
4556
+ declare class MozCustomFilterHostDirective implements OnChanges, OnDestroy {
4557
+ readonly componentType: _angular_core.InputSignal<Type<MozGridCustomFilter>>;
4558
+ readonly condition: _angular_core.InputSignal<FilterCondition>;
4559
+ readonly conditionChange: _angular_core.OutputEmitterRef<FilterValue>;
4560
+ private readonly vcr;
4561
+ private ref;
4562
+ private sub;
4563
+ ngOnChanges(changes: SimpleChanges): void;
4564
+ ngOnDestroy(): void;
4565
+ private teardown;
4566
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MozCustomFilterHostDirective, never>;
4567
+ 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>;
4568
+ }
4569
+
4444
4570
  /**
4445
4571
  * McCombobox — Data models & type guards
4446
4572
  *
@@ -4911,5 +5037,5 @@ declare class MozTreeNodeComponent<T = unknown> {
4911
5037
  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>;
4912
5038
  }
4913
5039
 
4914
- 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 };
4915
- 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 };
5040
+ 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 };
5041
+ 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 };