{"version":3,"file":"syncfusion-ej2-angular-grids.mjs","sources":["../../src/grid/stacked-column.directive.ts","../../src/grid/columns.directive.ts","../../src/grid/aggregate-columns.directive.ts","../../src/grid/aggregates.directive.ts","../../src/grid/grid.component.ts","../../src/grid/grid.module.ts","../../src/grid/grid-all.module.ts","../../src/pager/pager.component.ts","../../src/pager/pager.module.ts","../../src/pager/pager-all.module.ts","../../syncfusion-ej2-angular-grids.ts"],"sourcesContent":["import { Directive, ViewContainerRef, ContentChildren, ContentChild } from '@angular/core';\nimport { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';\nimport { Template } from '@syncfusion/ej2-angular-base';\n\n\nlet input: string[] = ['allowEditing', 'allowFiltering', 'allowFormula', 'allowGrouping', 'allowReordering', 'allowResizing', 'allowSearching', 'allowSorting', 'autoFit', 'clipMode', 'columns', 'commands', 'customAttributes', 'dataSource', 'defaultValue', 'disableHtmlEncode', 'displayAsCheckBox', 'edit', 'editTemplate', 'editType', 'enableColumnSpan', 'enableGroupByFormat', 'enableRowSpan', 'field', 'filter', 'filterBarTemplate', 'filterComparer', 'filterTemplate', 'foreignKeyField', 'foreignKeyValue', 'format', 'formatter', 'freeze', 'headerTemplate', 'headerText', 'headerTextAlign', 'headerValueAccessor', 'hideAtMedia', 'index', 'isFrozen', 'isIdentity', 'isPrimaryKey', 'lockColumn', 'maxWidth', 'minWidth', 'showColumnMenu', 'showInColumnChooser', 'sortComparer', 'template', 'templateOptions', 'textAlign', 'type', 'uid', 'validationRules', 'valueAccessor', 'visible', 'width'];\nlet outputs: string[] = [];\n/**\n * `e-stacked-column` directive represent the stacked column of the Angular Grid.\n * It must be contained in a StackedColumns component(`e-stacked-columns`). \n * ```html\n * <ejs-grid [dataSource]='data' allowPaging='true' allowSorting='true'> \n *   <e-columns>\n *     <e-column field='ID' width='100'></e-column>\n *     <e-column headerText='Details' width='100'>\n *       <e-stacked-columns>\n *         <e-stacked-column field='Name' width='140'></e-stacked-column>\n *       </e-stacked-columns>\n *     </e-column>\n *   </e-columns>\n * </ejs-grid>\n * ```\n */\n@Directive({\n    selector: 'ejs-grid>e-columns>e-column>e-stacked-columns>e-stacked-column',\n    inputs: input,\n    outputs: outputs,\n    standalone: true,\n    queries: {\n        template: new ContentChild('template'),\n        headerTemplate: new ContentChild('headerTemplate'),\n        commandsTemplate: new ContentChild('commandsTemplate'),\n        filter_itemTemplate: new ContentChild('filterItemTemplate'),\n        editTemplate: new ContentChild('editTemplate'),\n        filterTemplate: new ContentChild('filterTemplate')\n    }\n})\nexport class StackedColumnDirective extends ComplexBase<StackedColumnDirective> {\n    public directivePropList: any;\n\t\n\n\n    /** \n     * Defines the column type.\n     * \n     * The following values are supported:\n     ** string\n     ** number\n     ** date\n     ** datetime\n     ** boolean\n     ** CheckBox\n     ** RowNumber\n     *\n     *- `CheckBox` renders a checkbox selection column.\n     *- `RowNumber` renders a read-only column with automatically generated row numbers.\n     *     \n     * @default null\n     */\n    public declare type: any;\n    /** \n     * If `allowEditing` set to false, then it disables editing of a particular column. \n     * By default all columns are editable.\n     * @default true\n     */\n    public declare allowEditing: any;\n    /** \n     * If `allowFiltering` set to false, then it disables filtering option and filter bar element of a particular column. \n     * By default all columns are filterable.\n     * @default true\n     */\n    public declare allowFiltering: any;\n    /** \n     * Enables formula entry and evaluation for the column. \n     * When enabled, users can enter formulas directly into the column cells.\n     * @default false\n     */\n    public declare allowFormula: any;\n    /** \n     * If `allowGrouping` set to false, then it disables grouping of a particular column. \n     * By default all columns are groupable.\n     * @default true\n     */\n    public declare allowGrouping: any;\n    /** \n     * If `allowReordering` set to false, then it disables reorder of a particular column. \n     * By default all columns can be reorder.\n     * @default true\n     */\n    public declare allowReordering: any;\n    /** \n     * If `allowResizing` set to false, it disables resize option of a particular column.\n     * @default true\n     */\n    public declare allowResizing: any;\n    /** \n     * If `allowSearching` set to false, then it disables Searching of a particular column. \n     * By default all columns allow Searching.\n     * @default true\n     */\n    public declare allowSearching: any;\n    /** \n     * If `allowSorting` set to false, then it disables sorting option of a particular column. \n     * By default all columns are sortable.\n     * @default true\n     */\n    public declare allowSorting: any;\n    /** \n     * If `autoFit` set to true, then the particular column content width will be \n     * adjusted based on its content in the initial rendering itself. \n     * Setting this property as true is equivalent to calling `autoFitColumns` method in the `dataBound` event.\n     * @default false\n     */\n    public declare autoFit: any;\n    /** \n     * Defines the cell content's overflow mode. The available modes are \n     * * `Clip` -  Truncates the cell content when it overflows its area. \n     * * `Ellipsis` -  Displays ellipsis when the cell content overflows its area. \n     * * `EllipsisWithTooltip` - Displays ellipsis when the cell content overflows its area \n     * also it will display tooltip while hover on ellipsis applied cell.\n     * @default Ellipsis\n     */\n    public declare clipMode: any;\n    /** \n     * Used to render multiple header rows(stacked headers) on the Grid header.\n     * @default null\n     */\n    public declare columns: any;\n    /** \n     * `commands` provides an option to display command buttons in every cell. \n     * The available built-in command buttons are \n     * * Edit - Edit the record. \n     * * Delete - Delete the record. \n     * * Save - Save the record. \n     * * Cancel - Cancel the edit state.\n     * \n     * The following code example implements the custom command column.\n     *```html\n     *<style type=\"text/css\" class=\"cssStyles\">\n     *.details-icon:before\n     *{\n     *   content:\"\\e74d\";\n     *}\n     *</style>\n     *<div id=\"Grid\"></div>\n     *```\n     *```typescript\n     *var gridObj = new Grid({\n     *datasource: window.gridData,\n     *columns : [\n     * { field: 'CustomerID', headerText: 'Customer ID' },\n     * { field: 'CustomerName', headerText: 'Customer Name' },\n     * {commands: [{buttonOption:{content: 'Details', click: onClick, cssClass: details-icon}}], headerText: 'Customer Details'}\n     *]\n     *gridObj.appendTo(\"#Grid\");\n     *```\n     *     \n     * @default null\n     */\n    public declare commands: any;\n    /** \n     * The CSS styles and attributes of the content cells of a particular column can be customized.\n     * \n     * ```html\n     *<div id=\"Grid\"></div>\n     *```\n     *```typescript\n     *let gridObj: Grid = new Grid({\n     *dataSource: filterData,\n     *columns: [\n     *   { field: 'OrderID', headerText: 'Order ID' },\n     *   {\n     *       field: 'EmployeeID', headerText: 'Employee ID', customAttributes: {\n     *          class: 'employeeid',\n     *          type: 'employee-id-cell'\n     *     }\n     *  }]\n     *});\n     *gridObj.appendTo('#Grid');\n     *```\n     *     \n     * @default null\n     */\n    public declare customAttributes: any;\n    /** \n     * Defines the column data source  which will act as foreign data source.\n     * @default null\n     */\n    public declare dataSource: any;\n    /** \n     * Defines default values for the component when adding a new record to the Grid.\n     * @default null\n     * @asptype object\n     */\n    public declare defaultValue: any;\n    /** \n     * If `disableHtmlEncode` is set to true, it encodes the HTML of the header and content cells.\n     * @default true\n     */\n    public declare disableHtmlEncode: any;\n    /** \n     * If `displayAsCheckBox` is set to true, it displays the column value as a check box instead of Boolean value.\n     * @default false\n     */\n    public declare displayAsCheckBox: any;\n    /** \n     * Defines the `IEditCell`(../../grid/edit/#cell-edit-template) object to customize default edit cell.\n     * @default {}\n     */\n    public declare edit: any;\n    /** \n     * Defines the type of component for editing.\n     * @default 'stringedit'\n     */\n    public declare editType: any;\n    /** \n     * Allows grid to perform column spanning on the specified column.\n     * @default true\n     */\n    public declare enableColumnSpan: any;\n    /** \n     * If `enableGroupByFormat` set to true, then it groups the particular column by formatted values. \n     * By default no columns are group by format.\n     * @default true\n     */\n    public declare enableGroupByFormat: any;\n    /** \n     * Allows grid to perform row spanning on the specified column.\n     * @default true\n     */\n    public declare enableRowSpan: any;\n    /** \n     * Defines the field name of column which is mapped with mapping name of DataSource. \n     * The bounded columns can be sort, filter and group etc., \n     * If the `field` name contains “dot”, then it is considered as complex binding. \n     * The `field` name must be a valid JavaScript identifier, \n     * the first character must be an alphabet and should not contain spaces and special characters.\n     * @default ''\n     */\n    public declare field: any;\n    /** \n     *  Defines the filter options to customize filtering for the particular column.\n     * @default {}\n     */\n    public declare filter: any;\n    /** \n     * The `filterBarTemplate` is used to add a custom component instead of default input component for filter bar. \n     * It have create and read functions. \n     * * create: It is used for creating custom components. \n     * * read: It is used to perform custom filter action.\n     * \n     * ```html\n     *<div id=\"Grid\"></div>\n     *```\n     *```typescript\n     *let gridObj: Grid = new Grid({\n     *dataSource: filterData,\n     *columns: [\n     *  { field: 'OrderID', headerText: 'Order ID' },\n     *  {\n     *     field: 'EmployeeID', filterBarTemplate: {\n     *        create: (args: { element: Element, column: Column }) => {\n     *             let input: HTMLInputElement = document.createElement('input');\n     *             input.id = 'EmployeeID';\n     *             input.type = 'text';\n     *             return input;\n     *        },\n     *        write: (args: { element: Element, column: Column }) => {\n     *            args.element.addEventListener('input', args.column.filterBarTemplate.read as EventListener);\n     *        },\n     *        read: (args: { element: HTMLInputElement, columnIndex: number, column: Column }) => {\n     *            gridObj.filterByColumn(args.element.id, 'equal', args.element.value);\n     *       }\n     *    }\n     * }],\n     *  allowFiltering: true\n     *});\n     *gridObj.appendTo('#Grid');\n     *```\n     *     \n     * @default null\n     */\n    public declare filterBarTemplate: any;\n    /** \n     * It defines the custom filter comparer function.\n     */\n    public declare filterComparer: any;\n    /** \n     * Defines the mapping column name of the foreign data source. \n     * If it is not defined then the `columns.field` will be considered as mapping column name\n     * @default null\n     */\n    public declare foreignKeyField: any;\n    /** \n     * Defines the display column name from the foreign data source which will be obtained from comparing local and foreign data\n     * @default null\n     */\n    public declare foreignKeyValue: any;\n    /** \n     * It is used to change display value with the given format and does not affect the original data. \n     * Gets the format from the user which can be standard or custom \n     * [`number`](../../common/internationalization/#manipulating-numbers) \n     * and [`date`](../../common/internationalization/#manipulating-datetime) formats.\n     * @default null\n     * @asptype string\n     */\n    public declare format: any;\n    /** \n     * Defines the method which is used to achieve custom formatting from an external function. \n     * This function triggers before rendering of each cell.\n     * \n     * ```html\n     *<div id=\"Grid\"></div>\n     *```\n     *```typescript\n     *class ExtendedFormatter implements ICellFormatter {\n     *public getValue(column: Column, data: Object): Object {\n     *  return '<span style=\"color:' + (data['Verified'] ? 'green' : 'red') + '\"><i>' + data['Verified'] + '</i><span>';\n     *}\n     *}\n     *let gridObj: Grid = new Grid({\n     *    dataSource: filterData,\n     *    columns: [\n     *        { field: 'ShipName', headerText: 'Ship Name' },\n     *        { field: 'Verified', headerText: 'Verified Status', formatter: ExtendedFormatter }]\n     *});\n     *gridObj.appendTo('#Grid');\n     *```\n     *     \n     * @default null\n     */\n    public declare formatter: any;\n    /** \n     * defines which side the column need to freeze \n     * The available built-in freeze directions are \n     * * Left - Freeze the column at left side. \n     * * Right - Freeze the column at right side. \n     * * Fixed - Freeze the column at Center. \n     * * None - Does not freeze the column.\n     * @default None\n     */\n    public declare freeze: any;\n    /** \n     * Defines the header text of column which is used to display in column header. \n     * If `headerText` is not defined, then field name value will be assigned to header text.\n     * @default null\n     */\n    public declare headerText: any;\n    /** \n     * Define the alignment of column header which is used to align the text of column header.\n     * @aspdefaultvalueignore \n     * @default null\n     */\n    public declare headerTextAlign: any;\n    /** \n     * Defines the method used to apply custom header cell values from external function and display this on each cell rendered.\n     * \n     * ```html\n     *<div id=\"Grid\"></div>\n     *```\n     *```typescript\n     *let gridObj: Grid = new Grid({\n     *dataSource: [{ EmployeeID: 1, EmployeeName: ['John', 'M'] }, { EmployeeID: 2, EmployeeName: ['Peter', 'A'] }],\n     *columns: [\n     *    { field: 'EmployeeID', headerText: 'Employee ID' },\n     *    { field: 'EmployeeName', headerText: 'Employee First Name',\n     *      headerValueAccessor: (field: string,column: Column) => {\n     *            return \"newheadername\";\n     *        },\n     *    }]\n     *});\n     *```\n     *     \n     * @default null\n     */\n    public declare headerValueAccessor: any;\n    /** \n     * column visibility can change based on its [`Media Queries`](http://cssmediaqueries.com/what-are-css-media-queries.html). \n     * `hideAtMedia` accepts only valid Media Queries.\n     * @default ''\n     */\n    public declare hideAtMedia: any;\n    /** \n     * Gets the unique identifier value of the column. It is used to get the object.\n     * @default null\n     */\n    public declare index: any;\n    /** \n     * You can use this property to freeze selected columns in grid.\n     * @default false\n     */\n    public declare isFrozen: any;\n    /** \n     * If `isIdentity` is set to true, then this column is considered as identity column.\n     * @default false\n     */\n    public declare isIdentity: any;\n    /** \n     * If `isPrimaryKey` is set to true, considers this column as the primary key constraint.\n     * @default false\n     */\n    public declare isPrimaryKey: any;\n    /** \n     * Defines the mapping column name of the foreign data source. \n     * If it is not defined then the `columns.field` will be considered as mapping column name\n     * @default false\n     */\n    public declare lockColumn: any;\n    /** \n     * Defines the maximum width of the column in pixel or percentage, which will restrict resizing beyond this pixel or percentage.\n     * @default ''\n     */\n    public declare maxWidth: any;\n    /** \n     * Defines the minimum width of the column in pixels or percentage.\n     * @default ''\n     */\n    public declare minWidth: any;\n    /** \n     * If `showColumnMenu` set to false, then it disable the column menu of a particular column. \n     * By default column menu will show for all columns\n     * @default true\n     */\n    public declare showColumnMenu: any;\n    /** \n     * If `showInColumnChooser` set to false, then hides the particular column in column chooser. \n     * By default all columns are displayed in column Chooser.\n     * @default true\n     */\n    public declare showInColumnChooser: any;\n    /** \n     * It defines the custom sort comparer function.\n     */\n    public declare sortComparer: any;\n    /** \n     * Determines the behavior of the `aria-label` attribute for cells in template columns. \n     * If enableAriaLabel is set to false, the aria-label attribute is not applied to template column cells, which affects screen reader accessibility.\n     * @default {}\n     */\n    public declare templateOptions: any;\n    /** \n     * Defines the alignment of the column in both header and content cells.\n     * @default Left\n     */\n    public declare textAlign: any;\n    /** \n     * Gets the unique identifier value of the column. It is used to get the object.\n     * @default ''\n     */\n    public declare uid: any;\n    /** \n     * `editType`(../../grid/edit/#cell-edit-type-and-its-params) Defines rules to validate data before creating and updating.\n     * @default null\n     */\n    public declare validationRules: any;\n    /** \n     * Defines the method used to apply custom cell values from external function and display this on each cell rendered.\n     * \n     * ```html\n     *<div id=\"Grid\"></div>\n     *```\n     *```typescript\n     *let gridObj: Grid = new Grid({\n     *dataSource: [{ EmployeeID: 1, EmployeeName: ['John', 'M'] }, { EmployeeID: 2, EmployeeName: ['Peter', 'A'] }],\n     *columns: [\n     *    { field: 'EmployeeID', headerText: 'Employee ID' },\n     *    { field: 'EmployeeName', headerText: 'Employee First Name',\n     *      valueAccessor: (field: string, data: Object, column: Column) => {\n     *            return data['EmployeeName'][0];\n     *        },\n     *    }]\n     *});\n     *```\n     *     \n     * @default null\n     */\n    public declare valueAccessor: any;\n    /** \n     * If `visible` is set to false, hides the particular column. By default, all columns are displayed.\n     * @default true\n     */\n    public declare visible: any;\n    /** \n     * Defines the width of the column in pixels or percentage.\n     * @default ''\n     */\n    public declare width: any;\n\n    constructor(private viewContainerRef:ViewContainerRef) {\n        super();\n        setValue('currentInstance', this, this.viewContainerRef);\n        this.registerEvents(outputs);\n        this.directivePropList = input;\n    }\n}\nTemplate()(StackedColumnDirective.prototype, 'template');\nTemplate()(StackedColumnDirective.prototype, 'headerTemplate');\nTemplate()(StackedColumnDirective.prototype, 'commandsTemplate');\nTemplate()(StackedColumnDirective.prototype, 'filter_itemTemplate');\nTemplate()(StackedColumnDirective.prototype, 'editTemplate');\nTemplate()(StackedColumnDirective.prototype, 'filterTemplate');\n\n/**\n * StackedColumn Array Directive\n * @private\n */\n@Directive({\n    selector: 'ejs-grid>e-columns>e-column>e-stacked-columns',\n    standalone: true,\n    queries: {\n        children: new ContentChildren(StackedColumnDirective)\n    },\n})\nexport class StackedColumnsDirective extends ArrayBase<StackedColumnsDirective> {\n    constructor() {\n        super('columns');\n    }\n}","import { Directive, ViewContainerRef, ContentChildren, ContentChild } from '@angular/core';\nimport { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';\nimport { Template } from '@syncfusion/ej2-angular-base';\nimport { StackedColumnsDirective } from './stacked-column.directive';\n\nlet input: string[] = ['allowEditing', 'allowFiltering', 'allowFormula', 'allowGrouping', 'allowReordering', 'allowResizing', 'allowSearching', 'allowSorting', 'autoFit', 'clipMode', 'columns', 'commands', 'customAttributes', 'dataSource', 'defaultValue', 'disableHtmlEncode', 'displayAsCheckBox', 'edit', 'editTemplate', 'editType', 'enableColumnSpan', 'enableGroupByFormat', 'enableRowSpan', 'field', 'filter', 'filterBarTemplate', 'filterComparer', 'filterTemplate', 'foreignKeyField', 'foreignKeyValue', 'format', 'formatter', 'freeze', 'headerTemplate', 'headerText', 'headerTextAlign', 'headerValueAccessor', 'hideAtMedia', 'index', 'isFrozen', 'isIdentity', 'isPrimaryKey', 'lockColumn', 'maxWidth', 'minWidth', 'showColumnMenu', 'showInColumnChooser', 'sortComparer', 'template', 'templateOptions', 'textAlign', 'type', 'uid', 'validationRules', 'valueAccessor', 'visible', 'width'];\nlet outputs: string[] = [];\n/**\n * `e-column` directive represent a column of the Angular Grid. \n * It must be contained in a Grid component(`ejs-grid`). \n * ```html\n * <ejs-grid [dataSource]='data' allowPaging='true' allowSorting='true'> \n *   <e-columns>\n *    <e-column field='ID' width='100'></e-column>\n *    <e-column field='name' headerText='Name' width='100'></e-column>\n *   </e-columns>\n * </ejs-grid>\n * ```\n */\n@Directive({\n    selector: 'ejs-grid>e-columns>e-column',\n    inputs: input,\n    outputs: outputs,\n    standalone: true,\n    queries: {\n        childColumns: new ContentChild(StackedColumnsDirective),\n        template: new ContentChild('template'),\n        headerTemplate: new ContentChild('headerTemplate'),\n        commandsTemplate: new ContentChild('commandsTemplate'),\n        filter_itemTemplate: new ContentChild('filterItemTemplate'),\n        editTemplate: new ContentChild('editTemplate'),\n        filterTemplate: new ContentChild('filterTemplate')\n    }\n})\nexport class ColumnDirective extends ComplexBase<ColumnDirective> {\n    public directivePropList: any;\n\t\n    public declare childColumns: any;\n    public tags: string[] = ['columns'];\n    /** \n     * Defines the column type.\n     * \n     * The following values are supported:\n     ** string\n     ** number\n     ** date\n     ** datetime\n     ** boolean\n     ** CheckBox\n     ** RowNumber\n     *\n     *- `CheckBox` renders a checkbox selection column.\n     *- `RowNumber` renders a read-only column with automatically generated row numbers.\n     *     \n     * @default null\n     */\n    public declare type: any;\n    /** \n     * If `allowEditing` set to false, then it disables editing of a particular column. \n     * By default all columns are editable.\n     * @default true\n     */\n    public declare allowEditing: any;\n    /** \n     * If `allowFiltering` set to false, then it disables filtering option and filter bar element of a particular column. \n     * By default all columns are filterable.\n     * @default true\n     */\n    public declare allowFiltering: any;\n    /** \n     * Enables formula entry and evaluation for the column. \n     * When enabled, users can enter formulas directly into the column cells.\n     * @default false\n     */\n    public declare allowFormula: any;\n    /** \n     * If `allowGrouping` set to false, then it disables grouping of a particular column. \n     * By default all columns are groupable.\n     * @default true\n     */\n    public declare allowGrouping: any;\n    /** \n     * If `allowReordering` set to false, then it disables reorder of a particular column. \n     * By default all columns can be reorder.\n     * @default true\n     */\n    public declare allowReordering: any;\n    /** \n     * If `allowResizing` set to false, it disables resize option of a particular column.\n     * @default true\n     */\n    public declare allowResizing: any;\n    /** \n     * If `allowSearching` set to false, then it disables Searching of a particular column. \n     * By default all columns allow Searching.\n     * @default true\n     */\n    public declare allowSearching: any;\n    /** \n     * If `allowSorting` set to false, then it disables sorting option of a particular column. \n     * By default all columns are sortable.\n     * @default true\n     */\n    public declare allowSorting: any;\n    /** \n     * If `autoFit` set to true, then the particular column content width will be \n     * adjusted based on its content in the initial rendering itself. \n     * Setting this property as true is equivalent to calling `autoFitColumns` method in the `dataBound` event.\n     * @default false\n     */\n    public declare autoFit: any;\n    /** \n     * Defines the cell content's overflow mode. The available modes are \n     * * `Clip` -  Truncates the cell content when it overflows its area. \n     * * `Ellipsis` -  Displays ellipsis when the cell content overflows its area. \n     * * `EllipsisWithTooltip` - Displays ellipsis when the cell content overflows its area \n     * also it will display tooltip while hover on ellipsis applied cell.\n     * @default Ellipsis\n     */\n    public declare clipMode: any;\n    /** \n     * Used to render multiple header rows(stacked headers) on the Grid header.\n     * @default null\n     */\n    public declare columns: any;\n    /** \n     * `commands` provides an option to display command buttons in every cell. \n     * The available built-in command buttons are \n     * * Edit - Edit the record. \n     * * Delete - Delete the record. \n     * * Save - Save the record. \n     * * Cancel - Cancel the edit state.\n     * \n     * The following code example implements the custom command column.\n     *```html\n     *<style type=\"text/css\" class=\"cssStyles\">\n     *.details-icon:before\n     *{\n     *   content:\"\\e74d\";\n     *}\n     *</style>\n     *<div id=\"Grid\"></div>\n     *```\n     *```typescript\n     *var gridObj = new Grid({\n     *datasource: window.gridData,\n     *columns : [\n     * { field: 'CustomerID', headerText: 'Customer ID' },\n     * { field: 'CustomerName', headerText: 'Customer Name' },\n     * {commands: [{buttonOption:{content: 'Details', click: onClick, cssClass: details-icon}}], headerText: 'Customer Details'}\n     *]\n     *gridObj.appendTo(\"#Grid\");\n     *```\n     *     \n     * @default null\n     */\n    public declare commands: any;\n    /** \n     * The CSS styles and attributes of the content cells of a particular column can be customized.\n     * \n     * ```html\n     *<div id=\"Grid\"></div>\n     *```\n     *```typescript\n     *let gridObj: Grid = new Grid({\n     *dataSource: filterData,\n     *columns: [\n     *   { field: 'OrderID', headerText: 'Order ID' },\n     *   {\n     *       field: 'EmployeeID', headerText: 'Employee ID', customAttributes: {\n     *          class: 'employeeid',\n     *          type: 'employee-id-cell'\n     *     }\n     *  }]\n     *});\n     *gridObj.appendTo('#Grid');\n     *```\n     *     \n     * @default null\n     */\n    public declare customAttributes: any;\n    /** \n     * Defines the column data source  which will act as foreign data source.\n     * @default null\n     */\n    public declare dataSource: any;\n    /** \n     * Defines default values for the component when adding a new record to the Grid.\n     * @default null\n     * @asptype object\n     */\n    public declare defaultValue: any;\n    /** \n     * If `disableHtmlEncode` is set to true, it encodes the HTML of the header and content cells.\n     * @default true\n     */\n    public declare disableHtmlEncode: any;\n    /** \n     * If `displayAsCheckBox` is set to true, it displays the column value as a check box instead of Boolean value.\n     * @default false\n     */\n    public declare displayAsCheckBox: any;\n    /** \n     * Defines the `IEditCell`(../../grid/edit/#cell-edit-template) object to customize default edit cell.\n     * @default {}\n     */\n    public declare edit: any;\n    /** \n     * Defines the type of component for editing.\n     * @default 'stringedit'\n     */\n    public declare editType: any;\n    /** \n     * Allows grid to perform column spanning on the specified column.\n     * @default true\n     */\n    public declare enableColumnSpan: any;\n    /** \n     * If `enableGroupByFormat` set to true, then it groups the particular column by formatted values. \n     * By default no columns are group by format.\n     * @default true\n     */\n    public declare enableGroupByFormat: any;\n    /** \n     * Allows grid to perform row spanning on the specified column.\n     * @default true\n     */\n    public declare enableRowSpan: any;\n    /** \n     * Defines the field name of column which is mapped with mapping name of DataSource. \n     * The bounded columns can be sort, filter and group etc., \n     * If the `field` name contains “dot”, then it is considered as complex binding. \n     * The `field` name must be a valid JavaScript identifier, \n     * the first character must be an alphabet and should not contain spaces and special characters.\n     * @default ''\n     */\n    public declare field: any;\n    /** \n     *  Defines the filter options to customize filtering for the particular column.\n     * @default {}\n     */\n    public declare filter: any;\n    /** \n     * The `filterBarTemplate` is used to add a custom component instead of default input component for filter bar. \n     * It have create and read functions. \n     * * create: It is used for creating custom components. \n     * * read: It is used to perform custom filter action.\n     * \n     * ```html\n     *<div id=\"Grid\"></div>\n     *```\n     *```typescript\n     *let gridObj: Grid = new Grid({\n     *dataSource: filterData,\n     *columns: [\n     *  { field: 'OrderID', headerText: 'Order ID' },\n     *  {\n     *     field: 'EmployeeID', filterBarTemplate: {\n     *        create: (args: { element: Element, column: Column }) => {\n     *             let input: HTMLInputElement = document.createElement('input');\n     *             input.id = 'EmployeeID';\n     *             input.type = 'text';\n     *             return input;\n     *        },\n     *        write: (args: { element: Element, column: Column }) => {\n     *            args.element.addEventListener('input', args.column.filterBarTemplate.read as EventListener);\n     *        },\n     *        read: (args: { element: HTMLInputElement, columnIndex: number, column: Column }) => {\n     *            gridObj.filterByColumn(args.element.id, 'equal', args.element.value);\n     *       }\n     *    }\n     * }],\n     *  allowFiltering: true\n     *});\n     *gridObj.appendTo('#Grid');\n     *```\n     *     \n     * @default null\n     */\n    public declare filterBarTemplate: any;\n    /** \n     * It defines the custom filter comparer function.\n     */\n    public declare filterComparer: any;\n    /** \n     * Defines the mapping column name of the foreign data source. \n     * If it is not defined then the `columns.field` will be considered as mapping column name\n     * @default null\n     */\n    public declare foreignKeyField: any;\n    /** \n     * Defines the display column name from the foreign data source which will be obtained from comparing local and foreign data\n     * @default null\n     */\n    public declare foreignKeyValue: any;\n    /** \n     * It is used to change display value with the given format and does not affect the original data. \n     * Gets the format from the user which can be standard or custom \n     * [`number`](../../common/internationalization/#manipulating-numbers) \n     * and [`date`](../../common/internationalization/#manipulating-datetime) formats.\n     * @default null\n     * @asptype string\n     */\n    public declare format: any;\n    /** \n     * Defines the method which is used to achieve custom formatting from an external function. \n     * This function triggers before rendering of each cell.\n     * \n     * ```html\n     *<div id=\"Grid\"></div>\n     *```\n     *```typescript\n     *class ExtendedFormatter implements ICellFormatter {\n     *public getValue(column: Column, data: Object): Object {\n     *  return '<span style=\"color:' + (data['Verified'] ? 'green' : 'red') + '\"><i>' + data['Verified'] + '</i><span>';\n     *}\n     *}\n     *let gridObj: Grid = new Grid({\n     *    dataSource: filterData,\n     *    columns: [\n     *        { field: 'ShipName', headerText: 'Ship Name' },\n     *        { field: 'Verified', headerText: 'Verified Status', formatter: ExtendedFormatter }]\n     *});\n     *gridObj.appendTo('#Grid');\n     *```\n     *     \n     * @default null\n     */\n    public declare formatter: any;\n    /** \n     * defines which side the column need to freeze \n     * The available built-in freeze directions are \n     * * Left - Freeze the column at left side. \n     * * Right - Freeze the column at right side. \n     * * Fixed - Freeze the column at Center. \n     * * None - Does not freeze the column.\n     * @default None\n     */\n    public declare freeze: any;\n    /** \n     * Defines the header text of column which is used to display in column header. \n     * If `headerText` is not defined, then field name value will be assigned to header text.\n     * @default null\n     */\n    public declare headerText: any;\n    /** \n     * Define the alignment of column header which is used to align the text of column header.\n     * @aspdefaultvalueignore \n     * @default null\n     */\n    public declare headerTextAlign: any;\n    /** \n     * Defines the method used to apply custom header cell values from external function and display this on each cell rendered.\n     * \n     * ```html\n     *<div id=\"Grid\"></div>\n     *```\n     *```typescript\n     *let gridObj: Grid = new Grid({\n     *dataSource: [{ EmployeeID: 1, EmployeeName: ['John', 'M'] }, { EmployeeID: 2, EmployeeName: ['Peter', 'A'] }],\n     *columns: [\n     *    { field: 'EmployeeID', headerText: 'Employee ID' },\n     *    { field: 'EmployeeName', headerText: 'Employee First Name',\n     *      headerValueAccessor: (field: string,column: Column) => {\n     *            return \"newheadername\";\n     *        },\n     *    }]\n     *});\n     *```\n     *     \n     * @default null\n     */\n    public declare headerValueAccessor: any;\n    /** \n     * column visibility can change based on its [`Media Queries`](http://cssmediaqueries.com/what-are-css-media-queries.html). \n     * `hideAtMedia` accepts only valid Media Queries.\n     * @default ''\n     */\n    public declare hideAtMedia: any;\n    /** \n     * Gets the unique identifier value of the column. It is used to get the object.\n     * @default null\n     */\n    public declare index: any;\n    /** \n     * You can use this property to freeze selected columns in grid.\n     * @default false\n     */\n    public declare isFrozen: any;\n    /** \n     * If `isIdentity` is set to true, then this column is considered as identity column.\n     * @default false\n     */\n    public declare isIdentity: any;\n    /** \n     * If `isPrimaryKey` is set to true, considers this column as the primary key constraint.\n     * @default false\n     */\n    public declare isPrimaryKey: any;\n    /** \n     * Defines the mapping column name of the foreign data source. \n     * If it is not defined then the `columns.field` will be considered as mapping column name\n     * @default false\n     */\n    public declare lockColumn: any;\n    /** \n     * Defines the maximum width of the column in pixel or percentage, which will restrict resizing beyond this pixel or percentage.\n     * @default ''\n     */\n    public declare maxWidth: any;\n    /** \n     * Defines the minimum width of the column in pixels or percentage.\n     * @default ''\n     */\n    public declare minWidth: any;\n    /** \n     * If `showColumnMenu` set to false, then it disable the column menu of a particular column. \n     * By default column menu will show for all columns\n     * @default true\n     */\n    public declare showColumnMenu: any;\n    /** \n     * If `showInColumnChooser` set to false, then hides the particular column in column chooser. \n     * By default all columns are displayed in column Chooser.\n     * @default true\n     */\n    public declare showInColumnChooser: any;\n    /** \n     * It defines the custom sort comparer function.\n     */\n    public declare sortComparer: any;\n    /** \n     * Determines the behavior of the `aria-label` attribute for cells in template columns. \n     * If enableAriaLabel is set to false, the aria-label attribute is not applied to template column cells, which affects screen reader accessibility.\n     * @default {}\n     */\n    public declare templateOptions: any;\n    /** \n     * Defines the alignment of the column in both header and content cells.\n     * @default Left\n     */\n    public declare textAlign: any;\n    /** \n     * Gets the unique identifier value of the column. It is used to get the object.\n     * @default ''\n     */\n    public declare uid: any;\n    /** \n     * `editType`(../../grid/edit/#cell-edit-type-and-its-params) Defines rules to validate data before creating and updating.\n     * @default null\n     */\n    public declare validationRules: any;\n    /** \n     * Defines the method used to apply custom cell values from external function and display this on each cell rendered.\n     * \n     * ```html\n     *<div id=\"Grid\"></div>\n     *```\n     *```typescript\n     *let gridObj: Grid = new Grid({\n     *dataSource: [{ EmployeeID: 1, EmployeeName: ['John', 'M'] }, { EmployeeID: 2, EmployeeName: ['Peter', 'A'] }],\n     *columns: [\n     *    { field: 'EmployeeID', headerText: 'Employee ID' },\n     *    { field: 'EmployeeName', headerText: 'Employee First Name',\n     *      valueAccessor: (field: string, data: Object, column: Column) => {\n     *            return data['EmployeeName'][0];\n     *        },\n     *    }]\n     *});\n     *```\n     *     \n     * @default null\n     */\n    public declare valueAccessor: any;\n    /** \n     * If `visible` is set to false, hides the particular column. By default, all columns are displayed.\n     * @default true\n     */\n    public declare visible: any;\n    /** \n     * Defines the width of the column in pixels or percentage.\n     * @default ''\n     */\n    public declare width: any;\n\n    constructor(private viewContainerRef:ViewContainerRef) {\n        super();\n        setValue('currentInstance', this, this.viewContainerRef);\n        this.registerEvents(outputs);\n        this.directivePropList = input;\n    }\n}\nTemplate()(ColumnDirective.prototype, 'template');\nTemplate()(ColumnDirective.prototype, 'headerTemplate');\nTemplate()(ColumnDirective.prototype, 'commandsTemplate');\nTemplate()(ColumnDirective.prototype, 'filter_itemTemplate');\nTemplate()(ColumnDirective.prototype, 'editTemplate');\nTemplate()(ColumnDirective.prototype, 'filterTemplate');\n\n/**\n * Column Array Directive\n * @private\n */\n@Directive({\n    selector: 'ejs-grid>e-columns',\n    standalone: true,\n    queries: {\n        children: new ContentChildren(ColumnDirective)\n    },\n})\nexport class ColumnsDirective extends ArrayBase<ColumnsDirective> {\n    constructor() {\n        super('columns');\n    }\n}","import { Directive, ViewContainerRef, ContentChildren, ContentChild } from '@angular/core';\nimport { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';\nimport { Template } from '@syncfusion/ej2-angular-base';\n\n\nlet input: string[] = ['columnName', 'customAggregate', 'field', 'footerTemplate', 'format', 'groupCaptionTemplate', 'groupFooterTemplate', 'type'];\nlet outputs: string[] = [];\n/**\n * `e-aggregate->e-column` directive represent a aggregate column of the Angular Grid. \n * ```html\n * <ejs-grid [dataSource]='data' allowPaging='true' allowSorting='true'> \n *   <e-columns>\n *     <e-column field='ID' width='100'></e-column>\n *     <e-column field='name' headerText='Name' width='100'></e-column>\n *   </e-columns>\n *   <e-aggregates>\n *     <e-aggregate>\n *       <e-columns>\n *         <e-column field='ID' type='Min'></e-column>\n *       </e-columns>\n *      </e-aggregate>\n *    </e-aggregates>\n * </ejs-grid>\n * ```\n */\n@Directive({\n    selector: 'ejs-grid>e-aggregates>e-aggregate>e-columns>e-column',\n    inputs: input,\n    outputs: outputs,\n    standalone: true,\n    queries: {\n        footerTemplate: new ContentChild('footerTemplate'),\n        groupFooterTemplate: new ContentChild('groupFooterTemplate'),\n        groupCaptionTemplate: new ContentChild('groupCaptionTemplate')\n    }\n})\nexport class AggregateColumnDirective extends ComplexBase<AggregateColumnDirective> {\n    public directivePropList: any;\n\t\n\n\n    /** \n     * Defines the aggregate type of a particular column. \n     * To use multiple aggregates for single column, specify the `type` as array. \n     * Types of aggregate are, \n     * * sum \n     * * average \n     * * max \n     * * min \n     * * count \n     * * truecount \n     * * falsecount \n     * * custom \n     * > Specify the `type` value as `custom` to use custom aggregation.\n     * @default null\n     * @asptype string\n     */\n    public declare type: any;\n    /** \n     * Defines the column name to display the aggregate value. If `columnName` is not defined, \n     * then `field` name value will be assigned to the `columnName` property.\n     * @default null\n     */\n    public declare columnName: any;\n    /** \n     * Defines a function to calculate custom aggregate value. The `type` value should be set to `custom`. \n     * To use custom aggregate value in the template, use the key as `${custom}`. \n     * **Total aggregation**: The custom function will be called with the whole data and the current `AggregateColumn` object. \n     * **Group aggregation**: This will be called with the current group details and the `AggregateColumn` object.\n     * @default null\n     */\n    public declare customAggregate: any;\n    /** \n     * Defines the column name to perform aggregation.\n     * @default null\n     */\n    public declare field: any;\n    /** \n     * Format is applied to a calculated value before it is displayed. \n     * Gets the format from the user, which can be standard or custom \n     * [`number`](../../common/internationalization/#manipulating-numbers) \n     * and [`date`](../../common/internationalization/#manipulating-numbers) formats.\n     * @asptype string\n     * @blazortype string\n     * @default null\n     */\n    public declare format: any;\n\n    constructor(private viewContainerRef:ViewContainerRef) {\n        super();\n        setValue('currentInstance', this, this.viewContainerRef);\n        this.registerEvents(outputs);\n        this.directivePropList = input;\n    }\n}\nTemplate()(AggregateColumnDirective.prototype, 'footerTemplate');\nTemplate()(AggregateColumnDirective.prototype, 'groupFooterTemplate');\nTemplate()(AggregateColumnDirective.prototype, 'groupCaptionTemplate');\n\n/**\n * AggregateColumn Array Directive\n * @private\n */\n@Directive({\n    selector: 'ejs-grid>e-aggregates>e-aggregate>e-columns',\n    standalone: true,\n    queries: {\n        children: new ContentChildren(AggregateColumnDirective)\n    },\n})\nexport class AggregateColumnsDirective extends ArrayBase<AggregateColumnsDirective> {\n    constructor() {\n        super('columns');\n    }\n}","import { Directive, ViewContainerRef, ContentChildren, ContentChild } from '@angular/core';\nimport { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';\n\nimport { AggregateColumnsDirective } from './aggregate-columns.directive';\n\nlet input: string[] = ['columns'];\nlet outputs: string[] = [];\n/**\n * `e-aggregate` directive represent a aggregate row of the Angular Grid. \n * It must be contained in a Grid component(`ejs-grid`). \n * ```html\n * <ejs-grid [dataSource]='data' allowPaging='true' allowSorting='true'> \n *   <e-columns>\n *     <e-column field='ID' width='100'></e-column>\n *     <e-column field='name' headerText='Name' width='100'></e-column>\n *   </e-columns>\n *   <e-aggregates>\n *     <e-aggregate>\n *       <e-columns>\n *         <e-column field='ID' type='Min'></e-column>\n *       </e-columns>\n *      </e-aggregate>\n *    </e-aggregates>\n * </ejs-grid>\n * ```\n */\n@Directive({\n    selector: 'ejs-grid>e-aggregates>e-aggregate',\n    inputs: input,\n    outputs: outputs,\n    standalone: true,\n    queries: {\n        childColumns: new ContentChild(AggregateColumnsDirective)\n    }\n})\nexport class AggregateDirective extends ComplexBase<AggregateDirective> {\n    public directivePropList: any;\n\t\n    public declare childColumns: any;\n    public tags: string[] = ['columns'];\n    /** \n     * Configures the aggregate columns.\n     * @default []\n     */\n    public declare columns: any;\n\n    constructor(private viewContainerRef:ViewContainerRef) {\n        super();\n        setValue('currentInstance', this, this.viewContainerRef);\n        this.registerEvents(outputs);\n        this.directivePropList = input;\n    }\n}\n\n/**\n * Aggregate Array Directive\n * @private\n */\n@Directive({\n    selector: 'ejs-grid>e-aggregates',\n    standalone: true,\n    queries: {\n        children: new ContentChildren(AggregateDirective)\n    },\n})\nexport class AggregatesDirective extends ArrayBase<AggregatesDirective> {\n    constructor() {\n        super('aggregates');\n    }\n}","import { Component, ElementRef, ViewContainerRef, ChangeDetectionStrategy, QueryList, Renderer2, Injector, ValueProvider, ContentChild } from '@angular/core';\nimport { ComponentBase, IComponentBase, applyMixins, ComponentMixins, PropertyCollectionInfo, setValue } from '@syncfusion/ej2-angular-base';\nimport { Grid } from '@syncfusion/ej2-grids';\nimport { Template } from '@syncfusion/ej2-angular-base';\nimport { ColumnsDirective } from './columns.directive';\nimport { AggregatesDirective } from './aggregates.directive';\n\nexport const inputs: string[] = ['adaptiveUIMode','advancedFilterSettings','aggregates','allowAdvancedFiltering','allowExcelExport','allowFiltering','allowGrouping','allowKeyboard','allowMultiSorting','allowPaging','allowPdfExport','allowReordering','allowResizing','allowRowDragAndDrop','allowSelection','allowSorting','allowTextWrap','autoFit','childGrid','clipMode','columnChooserSettings','columnMenuItems','columnQueryMode','columns','contextMenuItems','cssClass','currencyCode','currentAction','currentViewData','dataSource','detailTemplate','detailTemplateHeight','domVirtualizationSettings','editSettings','ej2StatePersistenceVersion','emptyRecordMode','emptyRecordTemplate','enableAdaptiveUI','enableAltRow','enableAutoFill','enableColumnSpan','enableColumnVirtualization','enableDomVirtualization','enableHeaderFocus','enableHover','enableHtmlSanitizer','enableImmutableMode','enableInfiniteScrolling','enablePersistence','enableRowSpan','enableRtl','enableStickyHeader','enableVirtualMaskRow','enableVirtualization','enableWebMcp','exportGrids','filterSettings','footerRowHeight','formulaSettings','frozenColumns','frozenRows','gridLines','groupSettings','headerRowHeight','height','hierarchyPrintMode','infiniteScrollSettings','isRowPinned','isRowSelectable','loadingIndicator','locale','pageSettings','pagerTemplate','parentDetails','printMode','query','queryString','resizeSettings','rowDropSettings','rowHeight','rowRenderingMode','rowTemplate','searchSettings','selectedRowIndex','selectionSettings','setRowHeight','showColumnChooser','showColumnMenu','showHider','sortSettings','textWrapSettings','toolbar','toolbarTemplate','webMcpSettings','width'];\nexport const outputs: string[] = ['actionBegin','actionComplete','actionFailure','advancedFilterBegin','advancedFilterClose','advancedFilterComplete','advancedFilterOpen','batchAdd','batchCancel','batchDelete','beforeAutoFill','beforeBatchAdd','beforeBatchDelete','beforeBatchSave','beforeCopy','beforeCustomFilterOpen','beforeDataBound','beforeDetailTemplateDetach','beforeExcelExport','beforeOpenAdaptiveDialog','beforeOpenColumnChooser','beforePaste','beforePdfExport','beforePrint','beforeWebMcpToolExecute','beginEdit','cellDeselected','cellDeselecting','cellEdit','cellFocus','cellSave','cellSaved','cellSelected','cellSelecting','checkBoxChange','columnDataStateChange','columnDeselected','columnDeselecting','columnDrag','columnDragStart','columnDrop','columnMenuClick','columnMenuClose','columnMenuOpen','columnSelected','columnSelecting','commandClick','contextMenuClick','contextMenuClose','contextMenuOpen','created','dataBound','dataSourceChanged','dataStateChange','destroyed','detailCollapse','detailCollapsed','detailDataBound','detailExpand','detailExpanded','excelAggregateQueryCellInfo','excelExportComplete','excelHeaderQueryCellInfo','excelQueryCellInfo','exportDetailDataBound','exportDetailTemplate','exportGroupCaption','headerCellInfo','keyPressed','lazyLoadGroupCollapse','lazyLoadGroupExpand','load','pdfAggregateQueryCellInfo','pdfExportComplete','pdfHeaderQueryCellInfo','pdfQueryCellInfo','printComplete','queryCellInfo','recordClick','recordDoubleClick','resizeStart','resizeStop','resizing','rowDataBound','rowDeselected','rowDeselecting','rowDrag','rowDragStart','rowDragStartHelper','rowDrop','rowSelected','rowSelecting','toolbarClick','dataSourceChange'];\nexport const twoWays: string[] = ['dataSource'];\n\n/**\n * `ejs-grid` represents the Angular Grid Component.\n * ```html\n * <ejs-grid [dataSource]='data' allowPaging='true' allowSorting='true'></ejs-grid>\n * ```\n */\n@Component({\n    selector: 'ejs-grid',\n    inputs: inputs,\n    outputs: outputs,\n    template: '',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: true,\n    queries: {\n        childColumns: new ContentChild(ColumnsDirective),\n        childAggregates: new ContentChild(AggregatesDirective),\n        rowTemplate: new ContentChild('rowTemplate'),\n        emptyRecordTemplate: new ContentChild('emptyRecordTemplate'),\n        detailTemplate: new ContentChild('detailTemplate'),\n        toolbarTemplate: new ContentChild('toolbarTemplate'),\n        pagerTemplate: new ContentChild('pagerTemplate'),\n        editSettings_template: new ContentChild('editSettingsTemplate'),\n        groupSettings_captionTemplate: new ContentChild('groupSettingsCaptionTemplate'),\n        columnChooserSettings_headerTemplate: new ContentChild('columnChooserSettingsHeaderTemplate'),\n        columnChooserSettings_template: new ContentChild('columnChooserSettingsTemplate'),\n        columnChooserSettings_footerTemplate: new ContentChild('columnChooserSettingsFooterTemplate')\n    }\n})\n@ComponentMixins([ComponentBase])\nexport class GridComponent extends Grid implements IComponentBase {\n    public declare context : any;\n    public declare tagObjects: any;\n\tdeclare actionBegin: any;\n\tdeclare actionComplete: any;\n\tdeclare actionFailure: any;\n\tdeclare advancedFilterBegin: any;\n\tdeclare advancedFilterClose: any;\n\tdeclare advancedFilterComplete: any;\n\tdeclare advancedFilterOpen: any;\n\tdeclare batchAdd: any;\n\tdeclare batchCancel: any;\n\tdeclare batchDelete: any;\n\tdeclare beforeAutoFill: any;\n\tdeclare beforeBatchAdd: any;\n\tdeclare beforeBatchDelete: any;\n\tdeclare beforeBatchSave: any;\n\tdeclare beforeCopy: any;\n\tdeclare beforeCustomFilterOpen: any;\n\tdeclare beforeDataBound: any;\n\tdeclare beforeDetailTemplateDetach: any;\n\tdeclare beforeExcelExport: any;\n\tdeclare beforeOpenAdaptiveDialog: any;\n\tdeclare beforeOpenColumnChooser: any;\n\tdeclare beforePaste: any;\n\tdeclare beforePdfExport: any;\n\tdeclare beforePrint: any;\n\tdeclare beforeWebMcpToolExecute: any;\n\tdeclare beginEdit: any;\n\tdeclare cellDeselected: any;\n\tdeclare cellDeselecting: any;\n\tdeclare cellEdit: any;\n\tdeclare cellFocus: any;\n\tdeclare cellSave: any;\n\tdeclare cellSaved: any;\n\tdeclare cellSelected: any;\n\tdeclare cellSelecting: any;\n\tdeclare checkBoxChange: any;\n\tdeclare columnDataStateChange: any;\n\tdeclare columnDeselected: any;\n\tdeclare columnDeselecting: any;\n\tdeclare columnDrag: any;\n\tdeclare columnDragStart: any;\n\tdeclare columnDrop: any;\n\tdeclare columnMenuClick: any;\n\tdeclare columnMenuClose: any;\n\tdeclare columnMenuOpen: any;\n\tdeclare columnSelected: any;\n\tdeclare columnSelecting: any;\n\tdeclare commandClick: any;\n\tdeclare contextMenuClick: any;\n\tdeclare contextMenuClose: any;\n\tdeclare contextMenuOpen: any;\n\tdeclare created: any;\n\tdeclare dataBound: any;\n\tdeclare dataSourceChanged: any;\n\tdeclare dataStateChange: any;\n\tdeclare destroyed: any;\n\tdeclare detailCollapse: any;\n\tdeclare detailCollapsed: any;\n\tdeclare detailDataBound: any;\n\tdeclare detailExpand: any;\n\tdeclare detailExpanded: any;\n\tdeclare excelAggregateQueryCellInfo: any;\n\tdeclare excelExportComplete: any;\n\tdeclare excelHeaderQueryCellInfo: any;\n\tdeclare excelQueryCellInfo: any;\n\tdeclare exportDetailDataBound: any;\n\tdeclare exportDetailTemplate: any;\n\tdeclare exportGroupCaption: any;\n\tdeclare headerCellInfo: any;\n\tdeclare keyPressed: any;\n\tdeclare lazyLoadGroupCollapse: any;\n\tdeclare lazyLoadGroupExpand: any;\n\tdeclare load: any;\n\tdeclare pdfAggregateQueryCellInfo: any;\n\tdeclare pdfExportComplete: any;\n\tdeclare pdfHeaderQueryCellInfo: any;\n\tdeclare pdfQueryCellInfo: any;\n\tdeclare printComplete: any;\n\tdeclare queryCellInfo: any;\n\tdeclare recordClick: any;\n\tdeclare recordDoubleClick: any;\n\tdeclare resizeStart: any;\n\tdeclare resizeStop: any;\n\tdeclare resizing: any;\n\tdeclare rowDataBound: any;\n\tdeclare rowDeselected: any;\n\tdeclare rowDeselecting: any;\n\tdeclare rowDrag: any;\n\tdeclare rowDragStart: any;\n\tdeclare rowDragStartHelper: any;\n\tdeclare rowDrop: any;\n\tdeclare rowSelected: any;\n\tdeclare rowSelecting: any;\n\tdeclare toolbarClick: any;\n\tpublic declare dataSourceChange: any;\n    public declare childColumns: QueryList<ColumnsDirective>;\n    public declare childAggregates: QueryList<AggregatesDirective>;\n    public tags: string[] = ['columns', 'aggregates'];\n\n    constructor(private ngEle: ElementRef, private srenderer: Renderer2, private viewContainerRef:ViewContainerRef, private injector: Injector) {\n        super();\n        this.element = this.ngEle.nativeElement;\n        this.injectedModules = this.injectedModules || [];\n        try {\n                let mod = this.injector.get('GridsFilter');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsPage');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsSelection');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsSort');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsGroup');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsReorder');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsRowDD');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsDetailRow');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsToolbar');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsAggregate');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsSearch');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsVirtualScroll');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsEdit');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsResize');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsExcelExport');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsPdfExport');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsCommandColumn');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsContextMenu');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsFreeze');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsColumnMenu');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsColumnChooser');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsForeignKey');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsInfiniteScroll');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsLazyLoadGroup');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsDomVirtualization');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsFormula');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsAdvancedFilter');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r        try {\n                let mod = this.injector.get('GridsWebMcpGrid');\n                if(this.injectedModules.indexOf(mod) === -1) {\n                    this.injectedModules.push(mod)\n                }\n            } catch { }\n\r\n        this.registerEvents(outputs);\n        this.addTwoWay.call(this, twoWays);\n        setValue('currentInstance', this, this.viewContainerRef);\n        this.context  = new ComponentBase();\n    }\n\n    public ngOnInit() {\n        this.context.ngOnInit(this);\n    }\n\n    public ngAfterViewInit(): void {\n        this.context.ngAfterViewInit(this);\n    }\n\n    public ngOnDestroy(): void {\n        this.context.ngOnDestroy(this);\n    }\n\n    public ngAfterContentChecked(): void {\n        this.tagObjects[0].instance = this.childColumns;\n        if (this.childAggregates) {\n                    this.tagObjects[1].instance = this.childAggregates as any;\n                }\n        this.context.ngAfterContentChecked(this);\n    }\n\n    public declare registerEvents: (eventList: string[]) => void;\n    public declare addTwoWay: (propList: string[]) => void;\n}\nTemplate()(GridComponent.prototype, 'rowTemplate');\nTemplate()(GridComponent.prototype, 'emptyRecordTemplate');\nTemplate()(GridComponent.prototype, 'detailTemplate');\nTemplate()(GridComponent.prototype, 'toolbarTemplate');\nTemplate()(GridComponent.prototype, 'pagerTemplate');\nTemplate()(GridComponent.prototype, 'editSettings_template');\nTemplate()(GridComponent.prototype, 'groupSettings_captionTemplate');\nTemplate()(GridComponent.prototype, 'columnChooserSettings_headerTemplate');\nTemplate()(GridComponent.prototype, 'columnChooserSettings_template');\nTemplate()(GridComponent.prototype, 'columnChooserSettings_footerTemplate');\n\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StackedColumnDirective, StackedColumnsDirective } from './stacked-column.directive';\nimport { ColumnDirective, ColumnsDirective } from './columns.directive';\nimport { AggregateColumnDirective, AggregateColumnsDirective } from './aggregate-columns.directive';\nimport { AggregateDirective, AggregatesDirective } from './aggregates.directive';\nimport { GridComponent } from './grid.component';\n\nconst GRID_DIRECTIVES = [\n    GridComponent,\n        StackedColumnDirective,\n        StackedColumnsDirective,\n        ColumnDirective,\n        ColumnsDirective,\n        AggregateColumnDirective,\n        AggregateColumnsDirective,\n        AggregateDirective,\n        AggregatesDirective\n];\n\n/**\n * NgModule definition for the Grid component.\n * Re-exports standalone Grid component and directives so existing apps can keep using:\n * `imports: [GridModule]`\n */\n@NgModule({\n    imports: [CommonModule, ...GRID_DIRECTIVES],\n    exports: [...GRID_DIRECTIVES]\n})\nexport class GridModule { }","import { NgModule, ValueProvider } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StackedColumnDirective, StackedColumnsDirective } from './stacked-column.directive';\nimport { ColumnDirective, ColumnsDirective } from './columns.directive';\nimport { AggregateColumnDirective, AggregateColumnsDirective } from './aggregate-columns.directive';\nimport { AggregateDirective, AggregatesDirective } from './aggregates.directive';\nimport { GridComponent } from './grid.component';\nimport { GridModule } from './grid.module';\nimport {Filter, Page, Selection, Sort, Group, Reorder, RowDD, DetailRow, Toolbar, Aggregate, Search, VirtualScroll, Edit, Resize, ExcelExport, PdfExport, CommandColumn, ContextMenu, Freeze, ColumnMenu, ColumnChooser, ForeignKey, InfiniteScroll, LazyLoadGroup, DomVirtualization, Formula, AdvancedFilter, WebMcpGrid} from '@syncfusion/ej2-grids'\n\n\nexport const FilterService: ValueProvider = { provide: 'GridsFilter', useValue: Filter};\nexport const PageService: ValueProvider = { provide: 'GridsPage', useValue: Page};\nexport const SelectionService: ValueProvider = { provide: 'GridsSelection', useValue: Selection};\nexport const SortService: ValueProvider = { provide: 'GridsSort', useValue: Sort};\nexport const GroupService: ValueProvider = { provide: 'GridsGroup', useValue: Group};\nexport const ReorderService: ValueProvider = { provide: 'GridsReorder', useValue: Reorder};\nexport const RowDDService: ValueProvider = { provide: 'GridsRowDD', useValue: RowDD};\nexport const DetailRowService: ValueProvider = { provide: 'GridsDetailRow', useValue: DetailRow};\nexport const ToolbarService: ValueProvider = { provide: 'GridsToolbar', useValue: Toolbar};\nexport const AggregateService: ValueProvider = { provide: 'GridsAggregate', useValue: Aggregate};\nexport const SearchService: ValueProvider = { provide: 'GridsSearch', useValue: Search};\nexport const VirtualScrollService: ValueProvider = { provide: 'GridsVirtualScroll', useValue: VirtualScroll};\nexport const EditService: ValueProvider = { provide: 'GridsEdit', useValue: Edit};\nexport const ResizeService: ValueProvider = { provide: 'GridsResize', useValue: Resize};\nexport const ExcelExportService: ValueProvider = { provide: 'GridsExcelExport', useValue: ExcelExport};\nexport const PdfExportService: ValueProvider = { provide: 'GridsPdfExport', useValue: PdfExport};\nexport const CommandColumnService: ValueProvider = { provide: 'GridsCommandColumn', useValue: CommandColumn};\nexport const ContextMenuService: ValueProvider = { provide: 'GridsContextMenu', useValue: ContextMenu};\nexport const FreezeService: ValueProvider = { provide: 'GridsFreeze', useValue: Freeze};\nexport const ColumnMenuService: ValueProvider = { provide: 'GridsColumnMenu', useValue: ColumnMenu};\nexport const ColumnChooserService: ValueProvider = { provide: 'GridsColumnChooser', useValue: ColumnChooser};\nexport const ForeignKeyService: ValueProvider = { provide: 'GridsForeignKey', useValue: ForeignKey};\nexport const InfiniteScrollService: ValueProvider = { provide: 'GridsInfiniteScroll', useValue: InfiniteScroll};\nexport const LazyLoadGroupService: ValueProvider = { provide: 'GridsLazyLoadGroup', useValue: LazyLoadGroup};\nexport const DomVirtualizationService: ValueProvider = { provide: 'GridsDomVirtualization', useValue: DomVirtualization};\nexport const FormulaService: ValueProvider = { provide: 'GridsFormula', useValue: Formula};\nexport const AdvancedFilterService: ValueProvider = { provide: 'GridsAdvancedFilter', useValue: AdvancedFilter};\nexport const WebMcpGridService: ValueProvider = { provide: 'GridsWebMcpGrid', useValue: WebMcpGrid};\n\n/**\n * NgModule definition for the Grid component with providers.\n */\n@NgModule({\n    imports: [CommonModule, GridModule],\n    exports: [\n        GridModule\n    ],\n    providers:[\n        FilterService,\n        PageService,\n        SelectionService,\n        SortService,\n        GroupService,\n        ReorderService,\n        RowDDService,\n        DetailRowService,\n        ToolbarService,\n        AggregateService,\n        SearchService,\n        VirtualScrollService,\n        EditService,\n        ResizeService,\n        ExcelExportService,\n        PdfExportService,\n        CommandColumnService,\n        ContextMenuService,\n        FreezeService,\n        ColumnMenuService,\n        ColumnChooserService,\n        ForeignKeyService,\n        InfiniteScrollService,\n        LazyLoadGroupService,\n        DomVirtualizationService,\n        FormulaService,\n        AdvancedFilterService,\n        WebMcpGridService\n    ]\n})\nexport class GridAllModule { }","import { Component, ElementRef, ViewContainerRef, ChangeDetectionStrategy, QueryList, Renderer2, Injector, ValueProvider, ContentChild } from '@angular/core';\nimport { ComponentBase, IComponentBase, applyMixins, ComponentMixins, PropertyCollectionInfo, setValue } from '@syncfusion/ej2-angular-base';\nimport { Pager } from '@syncfusion/ej2-grids';\nimport { Template } from '@syncfusion/ej2-angular-base';\n\n\nexport const inputs: string[] = ['cssClass','currentPage','customText','enableExternalMessage','enablePagerMessage','enablePersistence','enableQueryString','enableRtl','externalMessage','locale','pageCount','pageSize','pageSizes','template','totalRecordsCount'];\nexport const outputs: string[] = ['click','created','dropDownChanged','currentPageChange','pageSizeChange','pageCountChange','pageSizesChange'];\nexport const twoWays: string[] = ['currentPage', 'pageSize', 'pageCount', 'pageSizes'];\n\n/**\n * `ejs-pager` represents the Angular Pager Component.\n * ```html\n * <ejs-pager></ejs-pager>\n * ```\n */\n@Component({\n    selector: 'ejs-pager',\n    inputs: inputs,\n    outputs: outputs,\n    template: '',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: true,\n    queries: {\n        template: new ContentChild('template')\n    }\n})\n@ComponentMixins([ComponentBase])\nexport class PagerComponent extends Pager implements IComponentBase {\n    public declare context : any;\n    public declare tagObjects: any;\n\tdeclare click: any;\n\tdeclare created: any;\n\tdeclare dropDownChanged: any;\n\tdeclare currentPageChange: any;\n\tdeclare pageSizeChange: any;\n\tdeclare pageCountChange: any;\n\tpublic declare pageSizesChange: any;\n\n\n\n    constructor(private ngEle: ElementRef, private srenderer: Renderer2, private viewContainerRef:ViewContainerRef, private injector: Injector) {\n        super();\n        this.element = this.ngEle.nativeElement;\n        this.injectedModules = this.injectedModules || [];\n\n        this.registerEvents(outputs);\n        this.addTwoWay.call(this, twoWays);\n        setValue('currentInstance', this, this.viewContainerRef);\n        this.context  = new ComponentBase();\n    }\n\n    public ngOnInit() {\n        this.context.ngOnInit(this);\n    }\n\n    public ngAfterViewInit(): void {\n        this.context.ngAfterViewInit(this);\n    }\n\n    public ngOnDestroy(): void {\n        this.context.ngOnDestroy(this);\n    }\n\n    public ngAfterContentChecked(): void {\n        \n        this.context.ngAfterContentChecked(this);\n    }\n\n    public declare registerEvents: (eventList: string[]) => void;\n    public declare addTwoWay: (propList: string[]) => void;\n}\nTemplate()(PagerComponent.prototype, 'template');\n\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PagerComponent } from './pager.component';\n\nconst PAGER_DIRECTIVES = [\n    PagerComponent\n];\n\n/**\n * NgModule definition for the Pager component.\n * Re-exports standalone Pager component and directives so existing apps can keep using:\n * `imports: [PagerModule]`\n */\n@NgModule({\n    imports: [CommonModule, ...PAGER_DIRECTIVES],\n    exports: [...PAGER_DIRECTIVES]\n})\nexport class PagerModule { }","import { NgModule, ValueProvider } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PagerComponent } from './pager.component';\nimport { PagerModule } from './pager.module';\n\n\n\n\n\n/**\n * NgModule definition for the Pager component with providers.\n */\n@NgModule({\n    imports: [CommonModule, PagerModule],\n    exports: [\n        PagerModule\n    ],\n    providers:[\n        \n    ]\n})\nexport class PagerAllModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["input","outputs","inputs","twoWays"],"mappings":"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"}