From 1470d337df8daeb5f938a8a62ab00b03b0fc79b9 Mon Sep 17 00:00:00 2001
From: IMinchev64 <iminchev@infragistics.com>
Date: Fri, 1 Nov 2024 15:41:44 +0200
Subject: [PATCH 1/3] fix(grid): add coerceToInt attribute to IPinningConfig
 and pagingMode props

---
 .../igniteui-angular/src/lib/grids/common/grid.interface.ts    | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/projects/igniteui-angular/src/lib/grids/common/grid.interface.ts b/projects/igniteui-angular/src/lib/grids/common/grid.interface.ts
index f0ea80c2def..c1bd55546b4 100644
--- a/projects/igniteui-angular/src/lib/grids/common/grid.interface.ts
+++ b/projects/igniteui-angular/src/lib/grids/common/grid.interface.ts
@@ -956,6 +956,7 @@ export interface GridType extends IGridDataBindable {
      * Represents the paging of the grid. It can be either 'Local' or 'Remote'
      * - Local: Default value; The grid will paginate the data source based on the page
      */
+    /* mustCoerceToInt */
     pagingMode: GridPagingMode;
     /** The paging state for the grid; Used to configure how paging should be applied - which is the current page, records per page */
     /** @hidden */
@@ -1465,7 +1466,9 @@ export interface IgxGridPaginatorTemplateContext {
  * An interface describing settings for row/column pinning position.
  */
 export interface IPinningConfig {
+    /* mustCoerceToInt */
     columns?: ColumnPinningPosition;
+    /* mustCoerceToInt */
     rows?: RowPinningPosition;
 }
 

From 8e22c8d47726fd80a61a0c80c1f41f2346e920eb Mon Sep 17 00:00:00 2001
From: IMinchev64 <iminchev@infragistics.com>
Date: Fri, 8 Nov 2024 14:18:30 +0200
Subject: [PATCH 2/3] fix(*): Add additionally properties to be coerced to
 integers in Blazor

---
 .../src/lib/data-operations/filtering-expressions-tree.ts     | 2 ++
 .../igniteui-angular/src/lib/grids/common/grid.interface.ts   | 1 -
 .../igniteui-angular/src/lib/grids/grid-base.directive.ts     | 2 ++
 .../src/lib/grids/pivot-grid/pivot-grid.interface.ts          | 1 +
 .../igniteui-angular/src/lib/services/overlay/utilities.ts    | 4 ++++
 5 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/projects/igniteui-angular/src/lib/data-operations/filtering-expressions-tree.ts b/projects/igniteui-angular/src/lib/data-operations/filtering-expressions-tree.ts
index 1381263f5bf..8aa837eda83 100644
--- a/projects/igniteui-angular/src/lib/data-operations/filtering-expressions-tree.ts
+++ b/projects/igniteui-angular/src/lib/data-operations/filtering-expressions-tree.ts
@@ -10,6 +10,7 @@ export enum FilteringExpressionsTreeType {
 
 export declare interface IExpressionTree {
     filteringOperands: (IExpressionTree | IFilteringExpression)[];
+    /* mustCoerceToInt */
     operator: FilteringLogic;
     fieldName?: string;
     entity?: string;
@@ -20,6 +21,7 @@ export declare interface IExpressionTree {
 export declare interface IFilteringExpressionsTree extends IBaseEventArgs, IExpressionTree {
     filteringOperands: (IFilteringExpressionsTree | IFilteringExpression)[];
     /* alternateName: treeType */
+    /* mustCoerceToInt */
     type?: FilteringExpressionsTreeType;
 
     /* blazorSuppress */
diff --git a/projects/igniteui-angular/src/lib/grids/common/grid.interface.ts b/projects/igniteui-angular/src/lib/grids/common/grid.interface.ts
index c1bd55546b4..08b18ddb26f 100644
--- a/projects/igniteui-angular/src/lib/grids/common/grid.interface.ts
+++ b/projects/igniteui-angular/src/lib/grids/common/grid.interface.ts
@@ -956,7 +956,6 @@ export interface GridType extends IGridDataBindable {
      * Represents the paging of the grid. It can be either 'Local' or 'Remote'
      * - Local: Default value; The grid will paginate the data source based on the page
      */
-    /* mustCoerceToInt */
     pagingMode: GridPagingMode;
     /** The paging state for the grid; Used to configure how paging should be applied - which is the current page, records per page */
     /** @hidden */
diff --git a/projects/igniteui-angular/src/lib/grids/grid-base.directive.ts b/projects/igniteui-angular/src/lib/grids/grid-base.directive.ts
index aa442dff801..ef22c3e9fe3 100644
--- a/projects/igniteui-angular/src/lib/grids/grid-base.directive.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid-base.directive.ts
@@ -1948,11 +1948,13 @@ export abstract class IgxGridBaseDirective implements GridType,
         }
     }
 
+    /* mustCoerceToInt */
     @Input()
     public get pagingMode() {
         return this._pagingMode;
     }
 
+    /* mustCoerceToInt */
     public set pagingMode(val: GridPagingMode) {
         this._pagingMode = val;
         this.pipeTrigger++;
diff --git a/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.interface.ts b/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.interface.ts
index 80adca67018..27742c1b344 100644
--- a/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.interface.ts
+++ b/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.interface.ts
@@ -20,6 +20,7 @@ export interface IDimensionsChange {
     /** The new list of dimensions. */
     dimensions: IPivotDimension[],
     /** The dimension list type - Row, Column or Filter. */
+    /* mustCoerceToInt */
     dimensionCollectionType: PivotDimensionType
 }
 
diff --git a/projects/igniteui-angular/src/lib/services/overlay/utilities.ts b/projects/igniteui-angular/src/lib/services/overlay/utilities.ts
index 755b7ca8479..49aab3dfe59 100644
--- a/projects/igniteui-angular/src/lib/services/overlay/utilities.ts
+++ b/projects/igniteui-angular/src/lib/services/overlay/utilities.ts
@@ -72,12 +72,16 @@ export interface OutOfViewPort {
 
 export interface PositionSettings {
     /** Direction in which the component should show */
+    /* mustCoerceToInt */
     horizontalDirection?: HorizontalAlignment;
     /** Direction in which the component should show */
+    /* mustCoerceToInt */
     verticalDirection?: VerticalAlignment;
     /** Target's starting point */
+    /* mustCoerceToInt */
     horizontalStartPoint?: HorizontalAlignment;
     /** Target's starting point */
+    /* mustCoerceToInt */
     verticalStartPoint?: VerticalAlignment;
     /* blazorSuppress */
     /** Animation applied while overlay opens */

From bc88e26efb17e474813d2e1cd8225d94403bd8d3 Mon Sep 17 00:00:00 2001
From: Ivan Minchev <IMinchev@infragistics.com>
Date: Thu, 13 Mar 2025 15:12:38 +0200
Subject: [PATCH 3/3] refactor(*): remove mustCoerceToInt from some enums

---
 .../src/lib/data-operations/filtering-expression.interface.ts    | 1 -
 .../src/lib/data-operations/filtering-expressions-tree.ts        | 1 -
 2 files changed, 2 deletions(-)

diff --git a/projects/igniteui-angular/src/lib/data-operations/filtering-expression.interface.ts b/projects/igniteui-angular/src/lib/data-operations/filtering-expression.interface.ts
index 3e308e0fe1c..e9acf29ea75 100644
--- a/projects/igniteui-angular/src/lib/data-operations/filtering-expression.interface.ts
+++ b/projects/igniteui-angular/src/lib/data-operations/filtering-expression.interface.ts
@@ -1,7 +1,6 @@
 import { IFilteringOperation } from './filtering-condition';
 import { IExpressionTree } from './filtering-expressions-tree';
 
-/* mustCoerceToInt */
 export enum FilteringLogic {
     And,
     Or
diff --git a/projects/igniteui-angular/src/lib/data-operations/filtering-expressions-tree.ts b/projects/igniteui-angular/src/lib/data-operations/filtering-expressions-tree.ts
index 8aa837eda83..63e21be508f 100644
--- a/projects/igniteui-angular/src/lib/data-operations/filtering-expressions-tree.ts
+++ b/projects/igniteui-angular/src/lib/data-operations/filtering-expressions-tree.ts
@@ -10,7 +10,6 @@ export enum FilteringExpressionsTreeType {
 
 export declare interface IExpressionTree {
     filteringOperands: (IExpressionTree | IFilteringExpression)[];
-    /* mustCoerceToInt */
     operator: FilteringLogic;
     fieldName?: string;
     entity?: string;