{"version":3,"file":"static/js/2217.76995ece.chunk.js","mappings":"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","sources":["../node_modules/@progress/kendo-react-grid/dist/es/GridColumn.js","../node_modules/@progress/kendo-react-grid/dist/es/utils/index.js","../node_modules/@progress/kendo-react-grid/dist/es/messages/index.js","../node_modules/@progress/kendo-react-grid/dist/es/cells/GridSelectionCell.js","../node_modules/@progress/kendo-react-grid/dist/es/cells/GridHierarchyCell.js","../node_modules/@progress/kendo-react-grid/dist/es/constants/index.js","../node_modules/@progress/kendo-react-grid/dist/es/cells/GridEditCell.js","../node_modules/@progress/kendo-react-grid/dist/es/header/Header.js","../node_modules/@progress/kendo-react-grid/dist/es/interfaces/GridSortSettings.js","../node_modules/@progress/kendo-react-grid/dist/es/drag/ColumnDraggable.js","../node_modules/@progress/kendo-react-grid/dist/es/columnMenu/GridColumnMenuWrapper.js","../node_modules/@progress/kendo-react-grid/dist/es/header/GridHeaderCell.js","../node_modules/@progress/kendo-react-grid/dist/es/header/HeaderRow.js","../node_modules/@progress/kendo-react-grid/dist/es/filterCommon.js","../node_modules/@progress/kendo-react-grid/dist/es/cells/GridFilterCell.js","../node_modules/@progress/kendo-react-grid/dist/es/header/FilterRow.js","../node_modules/@progress/kendo-react-grid/dist/es/drag/GroupingIndicator.js","../node_modules/@progress/kendo-react-grid/dist/es/header/GroupPanel.js","../node_modules/@progress/kendo-react-grid/dist/es/footer/Footer.js","../node_modules/@progress/kendo-react-grid/dist/es/VirtualScroll.js","../node_modules/@progress/kendo-react-grid/dist/es/VirtualScrollFixed.js","../node_modules/@progress/kendo-react-grid/dist/es/drag/ColumnResize.js","../node_modules/@progress/kendo-react-grid/dist/es/drag/CommonDragLogic.js","../node_modules/@progress/kendo-react-grid/dist/es/cells/GridCell.js","../node_modules/@progress/kendo-react-grid/dist/es/cells/GridGroupCell.js","../node_modules/@progress/kendo-react-grid/dist/es/rows/GridRow.js","../node_modules/@progress/kendo-react-grid/dist/es/header/GridHeaderSelectionCell.js","../node_modules/@progress/kendo-react-grid/dist/es/GridNoRecords.js","../node_modules/@progress/kendo-react-grid/dist/es/footer/FooterRow.js","../node_modules/@progress/kendo-react-grid/dist/es/package-metadata.js","../node_modules/@progress/kendo-react-grid/dist/es/cells/GridDetailCell.js","../node_modules/@progress/kendo-react-grid/dist/es/cells/GridDetailHierarchyCell.js","../node_modules/@progress/kendo-react-grid/dist/es/Grid.js","../node_modules/@progress/kendo-react-grid/dist/es/paging/GridPagerSettings.js","../node_modules/@progress/kendo-react-grid/dist/es/columnMenu/GridColumnMenuItemGroup.js","../node_modules/@progress/kendo-react-grid/dist/es/columnMenu/GridColumnMenuItem.js","../node_modules/@progress/kendo-react-grid/dist/es/columnMenu/GridColumnMenuGroup.js","../node_modules/@progress/kendo-react-grid/dist/es/columnMenu/GridColumnMenuSort.js","../node_modules/@progress/kendo-react-grid/dist/es/columnMenu/GridColumnMenuItemContent.js","../node_modules/@progress/kendo-react-grid/dist/es/columnMenu/GridColumnMenuFilterCell.js","../node_modules/@progress/kendo-react-grid/dist/es/columnMenu/GridColumnMenuFilterUI.js","../node_modules/@progress/kendo-react-grid/dist/es/columnMenu/GridColumnMenuFilter.js","../node_modules/@progress/kendo-react-grid/dist/es/columnMenu/GridColumnMenuCheckboxFilter.js","../node_modules/@progress/kendo-react-grid/dist/es/columnMenu/GridColumnMenuColumnsList.js","../node_modules/@progress/kendo-react-grid/dist/es/rows/GridDetailRow.js","../node_modules/@progress/kendo-react-grid/dist/es/GridToolbar.js","../node_modules/@progress/kendo-react-grid/dist/es/StatusBar.js"],"sourcesContent":["import * as PropTypes from 'prop-types';\n/**\n * @hidden\n */\nexport var GridColumn = function (_) { return null; };\n/**\n * @hidden\n */\nGridColumn.displayName = 'KendoReactGridColumn';\n/**\n * @hidden\n */\nGridColumn.defaultProps = {\n filterable: true,\n editable: true,\n sortable: true,\n resizable: true,\n reorderable: true,\n groupable: true\n};\n/**\n * @hidden\n */\nGridColumn.propTypes = {\n field: PropTypes.string,\n title: PropTypes.string,\n editable: PropTypes.bool,\n sortable: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.shape({\n allowUnsort: PropTypes.bool.isRequired\n })\n ]),\n cell: PropTypes.any,\n filterCell: PropTypes.any,\n filterTitle: PropTypes.string,\n filterable: PropTypes.bool,\n filter: PropTypes.oneOf(['text', 'numeric', 'boolean', 'date']),\n editor: PropTypes.oneOf(['text', 'numeric', 'boolean', 'date']),\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n minResizableWidth: PropTypes.number,\n headerCell: PropTypes.any,\n footerCell: PropTypes.any,\n headerSelectionValue: PropTypes.bool,\n format: PropTypes.string,\n headerClassName: PropTypes.string,\n className: PropTypes.string,\n reorderable: PropTypes.bool,\n resizable: PropTypes.bool,\n orderIndex: PropTypes.number,\n groupable: PropTypes.bool,\n columnMenu: PropTypes.any,\n locked: PropTypes.bool\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/**\n * @hidden\n */\nexport function getNestedValue(fieldName, dataItem) {\n var path = (fieldName || '').split('.');\n var data = dataItem;\n path.forEach(function (p) {\n data = data ? data[p] : undefined;\n });\n return data;\n}\n/**\n * @hidden\n */\nexport function flatData(output, input, footer, dataIndex, groupDefined, field, level) {\n if (level === void 0) { level = 0; }\n var maxLevel = level;\n for (var i = 0; i < input.length; i++) {\n if (!groupDefined || input[i].value === undefined || input[i].items === undefined) {\n output[output.length] = {\n dataIndex: dataIndex.index,\n dataItem: input[i],\n rowType: 'data',\n level: level,\n expanded: field === undefined || getNestedValue(field, input[i])\n };\n dataIndex.index++;\n continue;\n }\n maxLevel = Math.max(maxLevel, level + 1);\n var expanded = field === undefined ||\n getNestedValue(field, input[i]) === undefined ||\n getNestedValue(field, input[i]);\n // header\n output[output.length] = {\n dataIndex: -1,\n dataItem: input[i],\n level: level,\n rowType: 'groupHeader',\n expanded: expanded\n };\n // children\n if (expanded) {\n maxLevel = Math.max(flatData(output, input[i].items, footer, dataIndex, groupDefined, field, level + 1), maxLevel);\n }\n // footer\n if (footer === 'always' || (expanded && footer === 'visible')) {\n output[output.length] = {\n dataIndex: -1,\n dataItem: input[i],\n rowType: 'groupFooter',\n level: level,\n expanded: expanded\n };\n }\n }\n return maxLevel;\n}\nvar eventKeys = [\n 'sortChange',\n 'filterChange',\n 'groupChange',\n 'pageChange',\n 'expandChange',\n 'selectionChange',\n 'headerSelectionChange',\n 'rowClick',\n 'itemChange',\n 'dataStateChange',\n 'columnResize',\n 'columnReorder'\n];\nvar deprecatedHandlerMessage = function (oldKey, newKey) { return (\"The \".concat(oldKey, \" event handler property is deprecated, \") +\n \"use https://www.telerik.com/kendo-react-ui/components/grid/api/GridProps/#toc-\".concat(newKey, \" instead\")); };\n/**\n * @hidden\n */\nexport function checkPropCompatibility(props) {\n for (var index = 0; index < eventKeys.length; index++) {\n var eventKey = eventKeys[index];\n if (props[eventKey] !== undefined) {\n var newKey = 'on' + eventKey.charAt(0).toUpperCase() + eventKey.slice(1);\n console.warn(deprecatedHandlerMessage(eventKey, newKey));\n }\n }\n}\nimport { GridColumn } from '../GridColumn';\nimport { tableKeyboardNavigationTools as navigationTools } from '@progress/kendo-react-data-tools';\n/**\n * @hidden\n */\nexport function readColumns(elements, oldColumns, idInfo, depth) {\n if (depth === void 0) { depth = 0; }\n var columns = [];\n if (!elements) {\n return [];\n }\n if (elements && elements.length === undefined) {\n elements = [elements];\n }\n elements.forEach(function (columnProps, index) {\n columnProps = columnProps.props ? columnProps.props : columnProps;\n var oldColumn = oldColumns[index] || null;\n var children = readColumns(columnProps.children, oldColumn && oldColumn.children || [], idInfo, depth + 1);\n columns.push(Object.assign({ depth: depth }, GridColumn.defaultProps, (children.length) ? { cell: function () { return null; }, filterCell: function () { return null; } } : {}, oldColumn ? { width: oldColumn.width, orderIndex: oldColumn.orderIndex } : {}, columnProps, {\n id: columnProps.id ? columnProps.id : navigationTools.generateNavigatableId(\"\".concat(idInfo.prevId++), idInfo.idPrefix, 'column'),\n declarationIndex: columns.length,\n children: children,\n rowSpan: 0,\n colSpan: 0,\n isAccessible: true,\n left: oldColumn && Math.floor(oldColumn.left),\n right: oldColumn && Math.floor(oldColumn.right)\n }));\n });\n var comparator = function (a, b) {\n return a.orderIndex === b.orderIndex ?\n a.declarationIndex - b.declarationIndex :\n ((a.orderIndex || 0) - (b.orderIndex || 0));\n };\n columns.sort(comparator);\n if (depth === 0) {\n var ret_1 = [];\n var flat_1 = function (cols, pIndex) {\n return cols.forEach(function (c) {\n c.parentIndex = pIndex;\n flat_1(c.children, ret_1.push(c) - 1);\n });\n };\n flat_1(columns, -1);\n return ret_1;\n }\n return columns;\n}\n/**\n * @hidden\n */\nexport function autoGenerateColumns(data, group, expandField, idInfo) {\n var propData = [];\n if (Array.isArray(data)) {\n propData = data;\n }\n else if (data) {\n propData = data.data;\n }\n var columns = [];\n if (propData.length > 0) {\n var itemForColumnsGen = propData[0];\n if (group) {\n for (var i = 0; i < group.length; i++) {\n itemForColumnsGen = itemForColumnsGen.items && itemForColumnsGen.items[0];\n }\n }\n var fields = Object.getOwnPropertyNames(itemForColumnsGen);\n fields.forEach(function (field) {\n if (field !== expandField) {\n columns.push(Object.assign({\n id: navigationTools.generateNavigatableId(\"\".concat(idInfo.prevId++), idInfo.idPrefix, 'column'),\n declarationIndex: -1,\n parentIndex: -1,\n depth: 0,\n colSpan: 0,\n rowSpan: 0,\n index: 0,\n left: 0,\n right: 0,\n rightBorder: false,\n children: [],\n ariaColumnIndex: 0,\n isAccessible: true\n }, GridColumn.defaultProps, { field: field }));\n }\n });\n }\n return columns;\n}\nvar hasParentFooterCell = function (columns, column) {\n var parent = columns[column.parentIndex];\n while (parent) {\n if (parent.footerCell) {\n return true;\n }\n parent = columns[parent.parentIndex];\n }\n return false;\n};\n/**\n * @hidden\n */\nexport var footerColumns = function (columns) {\n return columns.filter(function (column) {\n if (hasParentFooterCell(columns, column)) {\n return false;\n }\n return Boolean(column.footerCell) || !(column.children && column.children.length > 0);\n });\n};\n/**\n * @hidden\n */\nexport var getColumnWidth = function (column) {\n return column.width !== undefined\n ? Math.floor(parseFloat(column.width.toString())) + 'px'\n : undefined;\n};\n/**\n * @hidden\n */\nexport var sanitizeColumns = function (columns) {\n columns.sort(function (a, b) {\n return a.declarationIndex - b.declarationIndex;\n });\n return columns.map(function (column) {\n var declarationIndex = column.declarationIndex, parentIndex = column.parentIndex, depth = column.depth, colSpan = column.colSpan, rowSpan = column.rowSpan, index = column.index, kFirst = column.kFirst, children = column.children, props = __rest(column, [\"declarationIndex\", \"parentIndex\", \"depth\", \"colSpan\", \"rowSpan\", \"index\", \"kFirst\", \"children\"]);\n return children.length ? __assign({ children: sanitizeColumns(children) }, props) : props;\n });\n};\n/**\n * @hidden\n */\nexport var firefox = typeof window !== 'undefined' &&\n /Firefox/.test(window.navigator.userAgent);\n/**\n * @hidden\n */\nexport var firefoxMaxHeight = 17895697;\n/**\n * @hidden\n */\nexport var resolveCells = function (gridCells, columnCells) {\n if (!gridCells && !columnCells) {\n return undefined;\n }\n if (!columnCells) {\n return gridCells;\n }\n if (!gridCells) {\n return columnCells;\n }\n return __assign(__assign(__assign({}, gridCells), columnCells), { select: __assign(__assign({}, (gridCells.select || {})), (columnCells.select || {})), hierarchy: __assign(__assign({}, (gridCells.hierarchy || {})), (columnCells.hierarchy || {})), group: __assign(__assign({}, (gridCells.group || {})), (columnCells.group || {})), edit: __assign(__assign({}, (gridCells.edit || {})), (columnCells.edit || {})) });\n};\n","var _a;\n/**\n * @hidden\n */\nexport var noRecords = 'grid.noRecords';\n/**\n * @hidden\n */\nexport var pagerInfo = 'grid.pagerInfo';\n/**\n * @hidden\n */\nexport var pagerFirstPage = 'grid.pagerFirstPage';\n/**\n * @hidden\n */\nexport var pagerPreviousPage = 'grid.pagerPreviousPage';\n/**\n * @hidden\n */\nexport var pagerNextPage = 'grid.pagerNextPage';\n/**\n * @hidden\n */\nexport var pagerLastPage = 'grid.pagerLastPage';\n/**\n * @hidden\n */\nexport var pagerItemPerPage = 'grid.pagerItemsPerPage';\n/**\n * @hidden\n */\nexport var pagerPage = 'grid.pagerPage';\n/**\n * @hidden\n */\nexport var pagerPageSizeAriaLabel = 'grid.pagerPageSizeAriaLabel';\n/**\n * @hidden\n */\nexport var pagerOf = 'grid.pagerOf';\n/**\n * @hidden\n */\nexport var pagerTotalPages = 'grid.pagerTotalPages';\n/**\n * @hidden\n */\nexport var groupPanelEmpty = 'grid.groupPanelEmpty';\n/**\n * @hidden\n */\nexport var groupColumn = 'grid.groupColumn';\n/**\n * @hidden\n */\nexport var ungroupColumn = 'grid.ungroupColumn';\n/**\n * @hidden\n */\nexport var columnMenu = 'grid.columnMenu';\n/**\n * @hidden\n */\nexport var filterClearButton = 'grid.filterClearButton';\n/**\n * @hidden\n */\nexport var filterSubmitButton = 'grid.filterSubmitButton';\n/**\n * @hidden\n */\nexport var filterTitle = 'grid.filterTitle';\n/**\n * @hidden\n */\nexport var sortAscending = 'grid.sortAscending';\n/**\n * @hidden\n */\nexport var sortDescending = 'grid.sortDescending';\n/**\n * @hidden\n */\nexport var searchPlaceholder = 'grid.searchPlaceholder';\n/**\n * @hidden\n */\nexport var filterCheckAll = 'grid.filterCheckAll';\n/**\n * @hidden\n */\nexport var filterChooseOperator = 'grid.filterChooseOperator';\n/**\n * @hidden\n */\nexport var filterSelectedItems = 'grid.filterSelectedItems';\n/**\n * @hidden\n */\nexport var sortAriaLabel = 'grid.sortAriaLabel';\n/**\n * @hidden\n */\nexport var filterAriaLabel = 'grid.filterAriaLabel';\n/**\n * @hidden\n */\nexport var groupPanelAriaLabel = 'grid.groupPanelAriaLabel';\n/**\n * @hidden\n */\nexport var groupExpand = 'grid.groupExpand';\n/**\n * @hidden\n */\nexport var groupCollapse = 'grid.groupCollapse';\n/**\n * @hidden\n */\nexport var detailExpand = 'grid.detailExpand';\n/**\n * @hidden\n */\nexport var detailCollapse = 'grid.detailCollapse';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[detailExpand] = 'Expand detail row',\n _a[detailCollapse] = 'Collapse detail row',\n _a[groupExpand] = 'Expand group',\n _a[groupCollapse] = 'Collapse Group',\n _a[noRecords] = 'No records available',\n _a[groupPanelEmpty] = 'Drag a column header and drop it here to group by that column',\n _a[filterClearButton] = 'Clear',\n _a[filterSubmitButton] = 'Filter',\n _a[filterTitle] = 'Filter',\n _a[sortAscending] = 'Sort Ascending',\n _a[sortDescending] = 'Sort Descending',\n _a[sortAriaLabel] = 'Sortable',\n _a[groupColumn] = 'Group Column',\n _a[ungroupColumn] = 'Ungroup Column',\n _a[columnMenu] = 'Column menu',\n _a[pagerItemPerPage] = 'items per page',\n _a[pagerInfo] = '{0} - {1} of {2} items',\n _a[pagerFirstPage] = 'Go to the first page',\n _a[pagerPreviousPage] = 'Go to the previous page',\n _a[pagerNextPage] = 'Go to the next page',\n _a[pagerLastPage] = 'Go to the last page',\n _a[pagerPage] = 'Page',\n _a[pagerPageSizeAriaLabel] = 'Page size',\n _a[pagerOf] = 'of',\n _a[pagerTotalPages] = '{0}',\n _a[searchPlaceholder] = 'Search',\n _a[filterCheckAll] = 'Check All',\n _a[filterChooseOperator] = 'Choose Operator',\n _a[filterSelectedItems] = 'selected items',\n _a[filterAriaLabel] = 'Filter',\n _a[groupPanelAriaLabel] = 'Group panel',\n _a['grid.filterEqOperator'] = 'Is equal to',\n _a['grid.filterNotEqOperator'] = 'Is not equal to',\n _a['grid.filterIsNullOperator'] = 'Is null',\n _a['grid.filterIsNotNullOperator'] = 'Is not null',\n _a['grid.filterIsEmptyOperator'] = 'Is empty',\n _a['grid.filterIsNotEmptyOperator'] = 'Is not empty',\n _a['grid.filterStartsWithOperator'] = 'Starts with',\n _a['grid.filterContainsOperator'] = 'Contains',\n _a['grid.filterNotContainsOperator'] = 'Does not contain',\n _a['grid.filterEndsWithOperator'] = 'Ends with',\n _a['grid.filterGteOperator'] = 'Is greater than or equal to',\n _a['grid.filterGtOperator'] = 'Is greater than',\n _a['grid.filterLteOperator'] = 'Is less than or equal to',\n _a['grid.filterLtOperator'] = 'Is less than',\n _a['grid.filterIsTrue'] = 'Is true',\n _a['grid.filterIsFalse'] = 'Is false',\n _a['grid.filterBooleanAll'] = '(All)',\n _a['grid.filterAfterOrEqualOperator'] = 'Is after or equal to',\n _a['grid.filterAfterOperator'] = 'Is after',\n _a['grid.filterBeforeOperator'] = 'Is before',\n _a['grid.filterBeforeOrEqualOperator'] = 'Is before or equal to',\n _a['grid.filterAndLogic'] = 'And',\n _a['grid.filterOrLogic'] = 'Or',\n _a);\n/**\n * @hidden\n */\nexport function pagerMessagesMap(pagerMessageKey) {\n var messageKey = pagerMessageKey.replace(/^pager\\.([a-z])/, function (_match, group) { return 'grid.pager' + group.toUpperCase(); });\n return ({ messageKey: messageKey, defaultMessage: messages[messageKey] });\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { getNestedValue } from './../utils';\nimport { guid } from '@progress/kendo-react-common';\nimport { useTableKeyboardNavigation } from '@progress/kendo-react-data-tools';\n/**\n * @hidden\n */\nexport var GridSelectionCell = function (props) {\n var _a;\n var handleOnChange = React.useCallback(function (syntheticEvent) {\n if (props.selectionChange) {\n props.selectionChange({ syntheticEvent: syntheticEvent });\n }\n }, [props.selectionChange]);\n var inputId = React.useMemo(function () { return guid(); }, []);\n var selectedValue = getNestedValue(props.field, props.dataItem);\n var navigationAttributes = useTableKeyboardNavigation(props.id);\n var tdProps = __assign((_a = { colSpan: props.colSpan, style: props.style, className: props.className }, _a['aria-colindex'] = props.ariaColumnIndex, _a.role = 'gridcell', _a), navigationAttributes);\n var content = [\n (React.createElement(\"input\", { key: \"1\", checked: typeof selectedValue === 'boolean' && selectedValue, id: inputId, type: \"checkbox\", className: \"k-checkbox k-checkbox-md k-rounded-md\", onChange: handleOnChange })),\n (React.createElement(\"label\", { className: \"k-checkbox-label\", htmlFor: inputId, key: \"2\" }))\n ];\n var defaultRendering = props.rowType !== 'groupHeader' ? (React.createElement(\"td\", __assign({}, tdProps), content)) : null;\n var rowTypeSetting = props.rowType || 'data';\n var customCells = props.cells;\n if (customCells && customCells.select && customCells.select[rowTypeSetting]) {\n var CustomCell = customCells.select[rowTypeSetting];\n return (React.createElement(CustomCell, __assign({}, props, { tdProps: tdProps }), content));\n }\n return props.render ?\n props.render.call(undefined, defaultRendering, props) :\n defaultRendering;\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { getNestedValue } from './../utils';\nimport { useTableKeyboardNavigation } from '@progress/kendo-react-data-tools';\nimport { useLocalization } from '@progress/kendo-react-intl';\nimport { IconWrap, Keys } from '@progress/kendo-react-common';\nimport { detailCollapse, detailExpand, messages } from '../messages';\nimport { minusIcon, plusIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nexport var GridHierarchyCell = function (props) {\n var defaultRendering = null;\n var tdProps = null;\n var content = null;\n var expanded = getNestedValue(props.field, props.dataItem);\n var navigationAttributes = useTableKeyboardNavigation(props.id);\n var localization = useLocalization();\n var onKeyDownHandler = React.useCallback(function (event) {\n if (event.isDefaultPrevented()) {\n return;\n }\n if (event.keyCode === Keys.enter && props.onChange) {\n event.preventDefault();\n props.onChange({\n dataItem: props.dataItem,\n dataIndex: props.dataIndex,\n syntheticEvent: event,\n field: props.field,\n value: !expanded\n });\n }\n }, [props.dataItem, props.dataIndex, props.field, props.onChange, expanded]);\n if (props.rowType === 'groupFooter') {\n tdProps = __assign({ className: 'k-table-td k-hierarchy-cell', role: 'gridcell' }, navigationAttributes);\n defaultRendering =\n React.createElement(\"td\", __assign({}, tdProps));\n }\n else if (props.rowType !== 'groupHeader') {\n var baseMessage = expanded ? detailCollapse : detailExpand;\n var message = localization.toLanguageString(baseMessage, messages[baseMessage]);\n tdProps = __assign({ className: 'k-table-td k-hierarchy-cell', onKeyDown: onKeyDownHandler, 'aria-expanded': expanded ? true : false, role: 'gridcell', 'aria-colindex': props.ariaColumnIndex }, navigationAttributes);\n content = (React.createElement(\"a\", { onClick: function (e) {\n e.preventDefault();\n if (props.onChange) {\n props.onChange({\n dataItem: props.dataItem,\n dataIndex: props.dataIndex,\n syntheticEvent: e,\n field: props.field,\n value: !expanded\n });\n }\n }, \"aria-label\": message, href: \"#\", tabIndex: -1 },\n React.createElement(IconWrap, { name: expanded ? 'minus' : 'plus', icon: expanded ? minusIcon : plusIcon })));\n defaultRendering = (React.createElement(\"td\", __assign({}, tdProps), content));\n }\n var rowTypeSetting = props.rowType || 'data';\n var customCells = props.cells;\n if (customCells && customCells.hierarchy && customCells.hierarchy[rowTypeSetting]) {\n var CustomCell = customCells.hierarchy[rowTypeSetting];\n return (React.createElement(CustomCell, __assign({}, props, { tdProps: tdProps }), content));\n }\n return props.render ?\n props.render.call(undefined, defaultRendering, props) :\n defaultRendering;\n};\n","import { TABLE_COL_INDEX_ATTRIBUTE, TABLE_PREVENT_SELECTION_ELEMENT, TABLE_ROW_INDEX_ATTRIBUTE } from '@progress/kendo-react-data-tools';\n/** The attribute required by the Grid selection on Grid `tr` elements. */\nexport var GRID_ROW_INDEX_ATTRIBUTE = TABLE_ROW_INDEX_ATTRIBUTE;\n/** The attribute required by the Grid selection on Grid `td` elements. */\nexport var GRID_COL_INDEX_ATTRIBUTE = TABLE_COL_INDEX_ATTRIBUTE;\n/** Attribute which disable selection start from this element. */\nexport var GRID_PREVENT_SELECTION_ELEMENT = TABLE_PREVENT_SELECTION_ELEMENT;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { getNestedValue } from './../utils';\nimport { NumericTextBox } from '@progress/kendo-react-inputs';\nimport { DatePicker } from '@progress/kendo-react-dateinputs';\nimport { guid, classNames } from '@progress/kendo-react-common';\nimport { useTableKeyboardNavigation } from '@progress/kendo-react-data-tools';\nimport { GRID_COL_INDEX_ATTRIBUTE } from '../constants';\n/**\n * @hidden\n */\nexport var GridEditCell = function (props) {\n var _a, _b, _c, _d, _e;\n var data = getNestedValue(props.field, props.dataItem);\n var defaultRendering = null;\n var editCellClasses = classNames('k-table-td', 'k-grid-edit-cell', (_a = {},\n _a['k-selected'] = props.isSelected,\n _a), props.className);\n var inputId = React.useMemo(function () { return guid(); }, []);\n var navigationAttributes = useTableKeyboardNavigation(props.id);\n var tdProps = null;\n var content = null;\n var handleOnChange = React.useCallback(function (syntheticEvent) {\n if (props.onChange) {\n var value = syntheticEvent.target.type === 'checkbox' ?\n syntheticEvent.target.checked :\n syntheticEvent.target.value;\n props.onChange({\n dataItem: props.dataItem,\n dataIndex: props.dataIndex,\n field: props.field,\n syntheticEvent: syntheticEvent,\n value: value\n });\n }\n }, [props.onChange, props.dataItem, props.dataIndex, props.field]);\n var onContextMenu = React.useCallback(function (event) {\n if (props.onContextMenu) {\n props.onContextMenu.call(undefined, event, props.dataItem, props.field);\n }\n }, [props.onContextMenu, props.dataItem, props.field]);\n var inputChange = React.useCallback(function (e) {\n if (props.onChange) {\n props.onChange({\n dataItem: props.dataItem,\n dataIndex: props.dataIndex,\n field: props.field,\n syntheticEvent: e.syntheticEvent,\n value: e.value\n });\n }\n }, [props.onChange, props.dataItem, props.dataIndex, props.field]);\n switch (props.editor) {\n case 'numeric':\n tdProps = __assign((_b = { onContextMenu: onContextMenu, colSpan: props.colSpan, style: props.style, className: editCellClasses }, _b['aria-colindex'] = props.ariaColumnIndex, _b['aria-selected'] = props.isSelected, _b[GRID_COL_INDEX_ATTRIBUTE] = props.columnIndex, _b.role = 'gridcell', _b), navigationAttributes);\n content = (React.createElement(NumericTextBox, { width: \"100%\", value: (data === undefined) ? null : data, onChange: inputChange }));\n defaultRendering = (React.createElement(\"td\", __assign({}, tdProps), content));\n break;\n case 'date':\n tdProps = __assign((_c = { onContextMenu: onContextMenu, colSpan: props.colSpan, style: props.style, className: editCellClasses }, _c['aria-colindex'] = props.ariaColumnIndex, _c['aria-selected'] = props.isSelected, _c[GRID_COL_INDEX_ATTRIBUTE] = props.columnIndex, _c.role = 'gridcell', _c), navigationAttributes);\n content = (React.createElement(DatePicker, { width: \"100%\", value: data, onChange: inputChange }));\n defaultRendering = (React.createElement(\"td\", __assign({}, tdProps), content));\n break;\n case 'boolean':\n tdProps = __assign((_d = { onContextMenu: onContextMenu, colSpan: props.colSpan, style: props.style, className: editCellClasses }, _d['aria-colindex'] = props.ariaColumnIndex, _d['aria-selected'] = props.isSelected, _d[GRID_COL_INDEX_ATTRIBUTE] = props.columnIndex, _d.role = 'gridcell', _d), navigationAttributes);\n content = ([\n React.createElement(\"input\", { checked: data || false, id: inputId, type: \"checkbox\", className: \"k-checkbox k-checkbox-md k-rounded-md\", onChange: handleOnChange, key: 1 }),\n React.createElement(\"label\", { className: \"k-checkbox-label\", htmlFor: inputId, key: 2 })\n ]);\n defaultRendering = (React.createElement(\"td\", __assign({}, tdProps), content));\n break;\n default:\n tdProps = __assign((_e = { onContextMenu: onContextMenu, colSpan: props.colSpan, style: props.style, className: editCellClasses }, _e['aria-colindex'] = props.ariaColumnIndex, _e['aria-selected'] = props.isSelected, _e[GRID_COL_INDEX_ATTRIBUTE] = props.columnIndex, _e.role = 'gridcell', _e), navigationAttributes);\n content = (React.createElement(\"input\", { style: { width: '100%' }, className: \"k-input\", value: data || '', onChange: handleOnChange }));\n defaultRendering = (React.createElement(\"td\", __assign({}, tdProps), content));\n }\n var editorSetting = props.editor || 'text';\n var customCells = props.cells;\n if (customCells && customCells.edit && customCells.edit[editorSetting]) {\n var CustomCell = customCells.edit[editorSetting];\n return (React.createElement(CustomCell, __assign({}, props, { tdProps: tdProps }), content));\n }\n return props.render ?\n props.render.call(undefined, defaultRendering, props) :\n defaultRendering;\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { classNames, getScrollbarWidth, kendoThemeMaps } from '@progress/kendo-react-common';\nimport { isRtl, tableKeyboardNavigationHeaderAttributes } from '@progress/kendo-react-data-tools';\n/**\n * @hidden\n */\nvar Header = /** @class */ (function (_super) {\n __extends(Header, _super);\n function Header() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.headerWrap = null;\n _this.table = null;\n _this.syncScroll = false;\n _this.scrollbarWidth = getScrollbarWidth();\n _this.onScroll = function (_event) {\n if (_this.syncScroll) {\n _this.syncScroll = false;\n return;\n }\n if (!_this.headerWrap) {\n return;\n }\n var scrollLeft = _this.headerWrap.scrollLeft;\n var scrollableDataElement = _this.props.scrollableDataElement();\n if (scrollableDataElement && scrollableDataElement.scrollLeft !== scrollLeft) {\n scrollableDataElement.scrollLeft = scrollLeft;\n }\n };\n return _this;\n }\n Object.defineProperty(Header.prototype, \"element\", {\n get: function () {\n return this.props.elemRef.current;\n },\n enumerable: false,\n configurable: true\n });\n Header.prototype.componentDidMount = function () {\n var rtl = isRtl(this.element);\n if (this.props.columnResize) {\n this.props.columnResize.setIsRtl(rtl);\n }\n this.forceUpdate();\n };\n /**\n *\n * @param scrollLeft - Scrolls to the left (in pixels).\n */\n Header.prototype.setScrollLeft = function (scrollLeft) {\n if (this.headerWrap && this.headerWrap.scrollLeft !== scrollLeft) {\n this.syncScroll = true;\n this.headerWrap.scrollLeft = scrollLeft;\n }\n };\n /**\n *\n * @param width - Scrolls the width (in pixels).\n */\n Header.prototype.setWidth = function (width) {\n if (this.table) {\n this.table.style.width = width + 'px';\n }\n };\n Header.prototype.render = function () {\n var _a;\n var _this = this;\n if (!this.props.staticHeaders) {\n return (React.createElement(\"thead\", __assign({ role: \"presentation\", className: classNames('k-table-thead', { 'k-grid-draggable-header': this.props.draggable }) }, tableKeyboardNavigationHeaderAttributes),\n this.props.headerRow,\n this.props.filterRow));\n }\n return (React.createElement(\"div\", { ref: this.props.elemRef, className: classNames('k-grid-header', { 'k-grid-draggable-header': this.props.draggable }), role: \"presentation\" },\n React.createElement(\"div\", { ref: function (div) { _this.headerWrap = div; }, className: \"k-grid-header-wrap\", style: this.scrollbarWidth ? {} : { borderWidth: 0 }, onScroll: this.onScroll, role: \"presentation\" },\n React.createElement(\"table\", { ref: function (table) { _this.table = table; }, className: classNames('k-table k-grid-header-table', (_a = {\n 'k-table-md': !this.props.size\n },\n _a[\"k-table-\".concat(kendoThemeMaps.sizeMap[this.props.size] || this.props.size)] = this.props.size,\n _a), this.props.className), role: \"presentation\" },\n React.createElement(\"colgroup\", { ref: function (e) { _this.props.columnResize.colGroupHeader = e; } }, this.props.cols),\n React.createElement(\"thead\", __assign({ className: 'k-table-thead', role: \"rowgroup\" }, tableKeyboardNavigationHeaderAttributes),\n this.props.headerRow,\n this.props.filterRow)))));\n };\n return Header;\n}(React.Component));\nexport { Header };\n","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n/**\n * @hidden\n */\nexport var normalize = function () {\n var settings = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n settings[_i] = arguments[_i];\n }\n return Object.assign.apply(Object, __spreadArray([{ allowUnsort: true, mode: 'single' }], settings, false));\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { Draggable } from '@progress/kendo-react-common';\n/**\n * @hidden\n */\nvar ColumnDraggable = /** @class */ (function (_super) {\n __extends(ColumnDraggable, _super);\n function ColumnDraggable() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.draggable = null;\n /**\n * @hidden\n */\n _this.onPress = function (data) {\n var element = _this.draggable && _this.draggable.element;\n if (element && _this.props.pressHandler) {\n _this.props.pressHandler(data.event, element);\n }\n };\n /**\n * @hidden\n */\n _this.onDrag = function (data) {\n var element = _this.draggable && _this.draggable.element;\n if (element && _this.props.dragHandler) {\n _this.props.dragHandler(data.event, element);\n }\n };\n /**\n * @hidden\n */\n _this.onRelease = function (data) {\n var element = _this.draggable && _this.draggable.element;\n if (element && _this.props.releaseHandler) {\n _this.props.releaseHandler(data.event);\n }\n };\n return _this;\n }\n ColumnDraggable.prototype.render = function () {\n var _this = this;\n return (React.createElement(Draggable, { onPress: this.onPress, onDrag: this.onDrag, onRelease: this.onRelease, hint: this.props.dragClue, autoScroll: { boundaryElementRef: this.props.headerRef, direction: { horizontal: true, vertical: false } }, scrollContainer: this.props.containerRef || undefined, ref: function (component) { _this.draggable = component; } },\n React.createElement(\"tr\", { className: 'k-table-row', style: { touchAction: 'none' }, role: \"row\", \"aria-rowindex\": this.props.ariaRowIndex }, this.props.children)));\n };\n return ColumnDraggable;\n}(React.PureComponent));\nexport { ColumnDraggable };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { Popup } from '@progress/kendo-react-popup';\nimport { IconWrap, Keys } from '@progress/kendo-react-common';\nimport { moreVerticalIcon } from '@progress/kendo-svg-icons';\nimport { columnMenu, messages } from '../messages';\nimport { provideLocalizationService } from '@progress/kendo-react-intl';\n/**\n * The GridColumnMenuWrapper component.\n */\nvar GridColumnMenuWrapper = /** @class */ (function (_super) {\n __extends(GridColumnMenuWrapper, _super);\n function GridColumnMenuWrapper() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n /** @hidden */\n _this.state = {\n show: false\n };\n /** @hidden */\n _this._anchor = null;\n /** @hidden */\n _this._content = null;\n /** @hidden */\n _this.blurTimeout = undefined;\n /** @hidden */\n _this.willBlur = false;\n /** @hidden */\n _this.blur = function () {\n if (_this.willBlur) {\n _this.willBlur = false;\n return;\n }\n clearTimeout(_this.blurTimeout);\n _this.blurTimeout = window.setTimeout(function () { _this.closeMenu(); });\n };\n /** @hidden */\n _this.focus = function () {\n clearTimeout(_this.blurTimeout);\n };\n /** @hidden */\n _this.anchorClick = function (event) {\n event.preventDefault();\n _this.setState({\n show: !_this.state.show\n }, function () { return _this.state.show && _this._content && _this._content.focus(); });\n };\n /** @hidden */\n _this.closeMenu = function () {\n _this.setState({ show: false });\n };\n /** @hidden */\n _this.onAnchorMouseDown = function (event) {\n _this.willBlur = _this.state.show && event.currentTarget === _this._anchor;\n };\n /** @hidden */\n _this.onAnchorKeyDown = function (event) {\n var _a;\n if (event.keyCode === Keys.tab) {\n var elementToFocus = event.target;\n var parentScroll = elementToFocus && ((_a = elementToFocus.closest('.k-grid')) === null || _a === void 0 ? void 0 : _a.getElementsByClassName('k-grid-content')[0]);\n var hasHorizontalScrollbar = parentScroll && (parentScroll.scrollWidth > parentScroll.clientWidth);\n if (hasHorizontalScrollbar) {\n elementToFocus.scrollIntoView({ inline: 'center' });\n }\n }\n };\n return _this;\n }\n GridColumnMenuWrapper.prototype.render = function () {\n var _this = this;\n var _a = this.props, ColumnMenu = _a.columnMenu, others = __rest(_a, [\"columnMenu\"]);\n var column = this.props.column;\n var localizationService = provideLocalizationService(this);\n var fieldMessage = column.title || column.field;\n var field = fieldMessage ? \"\".concat(fieldMessage, \" \") : '';\n return (React.createElement(React.Fragment, null,\n React.createElement(\"a\", { className: 'k-grid-header-menu k-grid-column-menu', ref: function (e) { return _this._anchor = e; }, onClick: this.anchorClick, onMouseDown: this.onAnchorMouseDown, onKeyDown: this.onAnchorKeyDown, href: \"#\", \"aria-label\": \"\".concat(field).concat(localizationService.toLanguageString(columnMenu, messages[columnMenu])) },\n React.createElement(IconWrap, { name: 'more-vertical', icon: moreVerticalIcon })),\n React.createElement(Popup, { anchor: this._anchor, show: this.state.show },\n React.createElement(\"div\", { ref: function (e) { return _this._content = e; }, className: 'k-grid-columnmenu-popup', tabIndex: 0, onBlur: this.blur, onFocus: this.focus, style: { outline: 'none' } }, ColumnMenu && (React.createElement(ColumnMenu, __assign({}, others, { onCloseMenu: this.closeMenu })))))));\n };\n return GridColumnMenuWrapper;\n}(React.Component));\nexport { GridColumnMenuWrapper };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { classNames } from '@progress/kendo-react-common';\nimport * as React from 'react';\nimport { GridColumnMenuWrapper } from '../columnMenu/GridColumnMenuWrapper';\n/**\n * @example\n * ```jsx\n * class App extends React.PureComponent {\n * state = {\n * details: false,\n * data: [\n * { foo: 'A1', bar: 'B1', b1: 1, b2:2 },\n * { foo: 'A2', bar: 'B2', b1: 3, b2:4 },\n * { foo: 'A3', bar: 'B2', b1: 5, b2:6 }\n * ]\n * };\n *\n * CustomHeaderCell = (props) =>\n * <span>\n * {props.title || props.field + ' '}\n * <button onClick={() => this.setState({ barDetails: !this.state.barDetails })}>\n * {this.state.barDetails ? 'collapse' : 'expand'}\n * </button>\n * {props.children}\n * </span>\n *\n * render() {\n * return (\n * <Grid\n * style={{ height: '420px' }}\n * data={this.state.data}\n * reorderable={true}\n * >\n * <GridColumn field=\"foo\" />\n * <GridColumn field=\"bar\" headerCell={this.CustomHeaderCell}>\n * {this.state.barDetails && [\n * <GridColumn field=\"b1\" />,\n * <GridColumn field=\"b2\" />\n * ]}\n * </GridColumn>\n * </Grid>\n * );\n * }\n * }\n *\n * ReactDOM.render(<App />, document.querySelector('my-app'));\n * ```\n */\nvar GridHeaderCell = /** @class */ (function (_super) {\n __extends(GridHeaderCell, _super);\n function GridHeaderCell() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @hidden\n */\n GridHeaderCell.prototype.render = function () {\n var columnMenuWrapperProps = this.props.columnMenuWrapperProps;\n var clickProps = this.props.onClick ? {\n onClick: this.props.onClick\n } : {};\n var defaultRendering = (React.createElement(\"span\", { className: 'k-cell-inner' },\n React.createElement(\"span\", __assign({ className: classNames('k-link', {\n '!k-cursor-default': !this.props.columnMenuWrapperProps.sortable\n }) }, clickProps),\n React.createElement(\"span\", { className: 'k-column-title' }, this.props.title || this.props.field || '\\u00A0'),\n this.props.children),\n columnMenuWrapperProps.columnMenu && React.createElement(GridColumnMenuWrapper, __assign({}, columnMenuWrapperProps))));\n if (this.props.render) {\n return this.props.render.call(undefined, defaultRendering, this.props);\n }\n return defaultRendering;\n };\n return GridHeaderCell;\n}(React.Component));\nexport { GridHeaderCell };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { normalize } from '../interfaces/GridSortSettings';\nimport { ColumnDraggable } from '../drag/ColumnDraggable';\nimport { GridHeaderCell } from './GridHeaderCell';\nimport { classNames, IconWrap, Keys } from '@progress/kendo-react-common';\nimport { HeaderThElement, ColumnResizer } from '@progress/kendo-react-data-tools';\nimport { registerForLocalization, provideLocalizationService as intl } from '@progress/kendo-react-intl';\nimport { messages, sortAriaLabel } from '../messages';\nimport { sortAscSmallIcon, sortDescSmallIcon } from '@progress/kendo-svg-icons';\nimport { resolveCells } from '../utils';\n/**\n * @hidden\n */\nvar sortSeqMap = {\n true: { 'asc': 'desc', 'desc': '', '': 'asc' },\n false: { 'asc': 'desc', 'desc': 'asc', '': 'asc' }\n};\n/**\n * @hidden\n */\nvar ariaSortMap = {\n 'none': 'none',\n 'asc': 'ascending',\n 'desc': 'descending'\n};\n/**\n * @hidden\n */\nvar HeaderRow = /** @class */ (function (_super) {\n __extends(HeaderRow, _super);\n function HeaderRow(props) {\n var _this = _super.call(this, props) || this;\n _this.serviceIndex = 0;\n _this.index = -1;\n _this.cellKeyDown = function (event, column) {\n if (event.isDefaultPrevented()) {\n return;\n }\n if (event.keyCode === Keys.enter) {\n _this.cellClick(event, column);\n }\n };\n _this.cells = function (rowIndexes) { return rowIndexes.map(function (columnIndex) {\n var column = _this.props.columns[columnIndex];\n var sortable = _this.props.sortable && column.sortable;\n var sortIndex = _this.props.sort ? _this.props.sort.findIndex(function (s) { return s.field === column.field; }) : -1;\n var sortDir = sortIndex >= 0 ? ((_this.props.sort)[sortIndex].dir || 'none') : 'none';\n var columnMenu = (column.columnMenu === null) ? null : (column.columnMenu || _this.props.columnMenu);\n var className = classNames({\n 'k-first': column.kFirst,\n 'k-filterable': Boolean(columnMenu),\n 'k-table-th': true,\n 'k-header': true,\n 'k-grid-header-sticky': column.locked,\n 'k-sorted': _this.props.sort && _this.props.sort.some(function (descriptor) { return descriptor.field === column.field; })\n }, column.headerClassName);\n var style = column.left !== undefined\n ? !_this.props.isRtl\n ? { left: column.left, right: column.right }\n : { left: column.right, right: column.left }\n : {};\n var sortLabel = intl(_this).toLanguageString(sortAriaLabel, messages[sortAriaLabel]);\n var ariaAttrs = column.isAccessible ? {\n ariaSort: ariaSortMap[sortDir],\n role: 'columnheader',\n ariaColumnIndex: column.ariaColumnIndex,\n ariaSelected: false,\n ariaDescription: sortable ? sortLabel : ''\n } : {\n 'role': 'presentation'\n };\n var key = (column.declarationIndex >= 0) ? ++_this.index : --_this.serviceIndex;\n var HeaderCell = column.headerCell ? column.headerCell : GridHeaderCell;\n var headerCell = (React.createElement(HeaderCell, { key: 1, field: column.field, onClick: sortable && (function (e) { return _this.cellClick(e, column); }) || undefined, selectionChange: _this.props.selectionChange, title: column.title, selectionValue: column.headerSelectionValue, render: _this.props.cellRender, children: _this.sortIcon(sortIndex), columnMenuWrapperProps: {\n column: {\n field: column.field,\n title: column.title,\n locked: column.locked,\n filter: column.filter,\n id: column.id\n },\n sortable: sortable && _this.props.sortable,\n sort: _this.props.sort,\n onSortChange: _this.props.sortChange,\n filter: _this.props.filter,\n filterable: _this.props.filterable && column.filterable,\n filterOperators: _this.props.filterOperators,\n onFilterChange: _this.props.filterChange,\n group: _this.props.group,\n groupable: _this.props.groupable,\n onGroupChange: _this.props.groupChange,\n columnMenu: columnMenu\n } }));\n var thProps = __assign(__assign({}, ariaAttrs), { key: key, colSpan: column.colSpan, rowSpan: column.rowSpan, className: className, style: style, columnId: column.id, navigatable: column.navigatable, onKeyDown: sortable && (function (e) { return _this.cellKeyDown(e, column); }) || undefined, role: 'columnheader' });\n var content = [\n headerCell,\n (_this.props.columnResize && _this.props.columnResize.resizable && column.resizable\n && React.createElement(ColumnResizer, { key: 2, resize: function (e, element, end) {\n return _this.props.columnResize &&\n _this.props.columnResize.dragHandler(e, column, element, end);\n }, autofit: function (e) {\n return _this.props.columnResize &&\n _this.props.columnResize.dblClickHandler(e, [column.id]);\n } }))\n ];\n var customCells = resolveCells(_this.props.cells, column.cells);\n if (customCells && customCells.headerCell) {\n var CustomCell = customCells.headerCell;\n return (React.createElement(CustomCell, { key: key, thProps: thProps, index: columnIndex }, content));\n }\n return (React.createElement(HeaderThElement, __assign({}, thProps, { key: key }), content));\n }); };\n _this.cellClick = _this.cellClick.bind(_this);\n return _this;\n }\n HeaderRow.prototype.cellClick = function (e, column) {\n e.preventDefault();\n if (!this.props.sortChange) {\n return;\n }\n var _a = normalize(this.props.sortable || false, column.sortable || false), allowUnsort = _a.allowUnsort, mode = _a.mode;\n var oldDescriptor = (this.props.sort || []).filter(function (d) { return d.field === column.field; })[0];\n var dir = sortSeqMap[allowUnsort][oldDescriptor && oldDescriptor.dir || ''];\n var newDescriptor = (mode === 'single') ?\n [] : (this.props.sort || []).filter(function (d) { return d.field !== column.field; });\n if (dir !== '' && column.field) {\n newDescriptor.push({ field: column.field, dir: dir });\n }\n this.props.sortChange(newDescriptor, e);\n };\n HeaderRow.prototype.sortIcon = function (sortIndex) {\n if (!this.props.sort) {\n return null;\n }\n return sortIndex >= 0 && [\n React.createElement(\"span\", { key: 1, className: 'k-sort-icon' },\n React.createElement(IconWrap, { name: 'sort-' + this.props.sort[sortIndex].dir + '-small', icon: this.props.sort[sortIndex].dir === 'asc' ? sortAscSmallIcon : sortDescSmallIcon })),\n this.props.sort.length > 1 &&\n React.createElement(\"span\", { key: 2, className: 'k-sort-icon' },\n React.createElement(\"span\", { className: \"k-sort-order\" }, sortIndex + 1))\n ];\n };\n HeaderRow.prototype.render = function () {\n var _this = this;\n this.serviceIndex = 0;\n this.index = -1;\n return this.props.columnsMap.map(function (rowIndexes, i) {\n return _this.props.pressHandler && (React.createElement(ColumnDraggable, { key: i, pressHandler: _this.props.pressHandler, dragHandler: _this.props.dragHandler, releaseHandler: _this.props.releaseHandler, ariaRowIndex: i + 1, dragClue: _this.props.dragClue, headerRef: _this.props.headerRef, containerRef: _this.props.containerRef }, _this.cells(rowIndexes))) || React.createElement(\"tr\", { className: 'k-table-row', role: \"row\", \"aria-rowindex\": i + 1 }, _this.cells(rowIndexes));\n });\n };\n return HeaderRow;\n}(React.Component));\nexport { HeaderRow };\nregisterForLocalization(HeaderRow);\n","import { messages } from './messages';\n/**\n * @hidden\n */\nexport var filterLogicList = [\n { text: 'grid.filterAndLogic', operator: 'and' },\n { text: 'grid.filterOrLogic', operator: 'or' }\n];\n/**\n * @hidden\n */\nexport var operators = {\n 'text': [\n { text: 'grid.filterContainsOperator', operator: 'contains' },\n { text: 'grid.filterNotContainsOperator', operator: 'doesnotcontain' },\n { text: 'grid.filterEqOperator', operator: 'eq' },\n { text: 'grid.filterNotEqOperator', operator: 'neq' },\n { text: 'grid.filterStartsWithOperator', operator: 'startswith' },\n { text: 'grid.filterEndsWithOperator', operator: 'endswith' },\n { text: 'grid.filterIsNullOperator', operator: 'isnull' },\n { text: 'grid.filterIsNotNullOperator', operator: 'isnotnull' },\n { text: 'grid.filterIsEmptyOperator', operator: 'isempty' },\n { text: 'grid.filterIsNotEmptyOperator', operator: 'isnotempty' }\n ],\n 'numeric': [\n { text: 'grid.filterEqOperator', operator: 'eq' },\n { text: 'grid.filterNotEqOperator', operator: 'neq' },\n { text: 'grid.filterGteOperator', operator: 'gte' },\n { text: 'grid.filterGtOperator', operator: 'gt' },\n { text: 'grid.filterLteOperator', operator: 'lte' },\n { text: 'grid.filterLtOperator', operator: 'lt' },\n { text: 'grid.filterIsNullOperator', operator: 'isnull' },\n { text: 'grid.filterIsNotNullOperator', operator: 'isnotnull' }\n ],\n 'date': [\n { text: 'grid.filterEqOperator', operator: 'eq' },\n { text: 'grid.filterNotEqOperator', operator: 'neq' },\n { text: 'grid.filterAfterOrEqualOperator', operator: 'gte' },\n { text: 'grid.filterAfterOperator', operator: 'gt' },\n { text: 'grid.filterBeforeOperator', operator: 'lt' },\n { text: 'grid.filterBeforeOrEqualOperator', operator: 'lte' },\n { text: 'grid.filterIsNullOperator', operator: 'isnull' },\n { text: 'grid.filterIsNotNullOperator', operator: 'isnotnull' }\n ],\n 'boolean': [\n { text: 'grid.filterEqOperator', operator: 'eq' }\n ]\n};\n/**\n * @hidden\n */\nexport var IsUnaryFilter = function (operator) {\n return operator === 'isnull' || operator === 'isnotnull' || operator === 'isempty' || operator === 'isnotempty';\n};\n/**\n * @hidden\n */\nexport var operatorMap = function (iterable, service) { return iterable.map(function (operator) { return ({\n text: service.toLanguageString(operator.text, messages[operator.text]),\n operator: operator.operator\n}); }); };\n/**\n * @hidden\n */\nexport var defaultBooleanOperator = 'eq';\n/**\n * @hidden\n */\nexport var booleanFilterValues = [\n { text: 'grid.filterBooleanAll', operator: '' },\n { text: 'grid.filterIsTrue', operator: true },\n { text: 'grid.filterIsFalse', operator: false }\n];\n/**\n * @hidden\n */\nexport var defaultHideSecondFilter = {\n text: false,\n numeric: false,\n date: false,\n boolean: true\n};\n/**\n * @hidden\n */\nexport var cellInputChange = function (value, e, props) {\n var defaultOperator = getDefaultOperator(props.operators);\n var operator = props.operator;\n switch (props.filterType) {\n case 'numeric':\n if (!operator || IsUnaryFilter(operator)) {\n // change the operator to default\n operator = defaultOperator;\n }\n if (value === null && operator === defaultOperator) {\n // clear only the default operator\n operator = '';\n }\n break;\n case 'date':\n if (!operator || IsUnaryFilter(operator)) {\n operator = defaultOperator;\n }\n if (value === null && operator === defaultOperator) {\n operator = '';\n }\n break;\n case 'text':\n if (!operator || IsUnaryFilter(operator)) {\n operator = defaultOperator;\n }\n if (!value && operator === defaultOperator) {\n operator = '';\n }\n break;\n default: return;\n }\n props.onChange({ value: value, operator: operator, syntheticEvent: e });\n};\n/**\n * @hidden\n */\nexport var getDefaultOperator = function (filterOperators, filterType) {\n if (filterType) {\n return filterOperators[filterType][0].operator;\n }\n else {\n return filterOperators[0].operator;\n }\n};\n/**\n * @hidden\n */\nexport var getFilterType = function (filterType) {\n return filterType || 'text';\n};\n/**\n * @hidden\n */\nexport var cellBoolDropdownChange = function (event, onChange) {\n var item = event.target.value;\n onChange({\n value: item.operator,\n operator: item.operator === '' ? '' : defaultBooleanOperator,\n syntheticEvent: event.syntheticEvent\n });\n};\n/**\n * @hidden\n */\nexport var cellOperatorChange = function (event, currentValue, onChange) {\n var value = currentValue;\n var item = event.target.value;\n if (!event.target.state.opened) {\n return;\n }\n if (IsUnaryFilter(item.operator)) {\n // clear the value to avoid confusion on what is filtered\n value = null;\n }\n if (currentValue === null && !IsUnaryFilter(item.operator)) {\n value = undefined;\n }\n onChange({ value: value, operator: item.operator, syntheticEvent: event.syntheticEvent });\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { Button } from '@progress/kendo-react-buttons';\nimport { DropDownList } from '@progress/kendo-react-dropdowns';\nimport { NumericTextBox, TextBox } from '@progress/kendo-react-inputs';\nimport { DatePicker } from '@progress/kendo-react-dateinputs';\nimport { messages, filterClearButton, filterChooseOperator } from '../messages';\nimport { registerForLocalization, provideLocalizationService } from '@progress/kendo-react-intl';\nimport { filterClearIcon, filterIcon } from '@progress/kendo-svg-icons';\nimport { cellBoolDropdownChange, cellInputChange, cellOperatorChange } from '../filterCommon';\nimport { classNames } from '@progress/kendo-react-common';\nvar GridFilterCell = /** @class */ (function (_super) {\n __extends(GridFilterCell, _super);\n function GridFilterCell(props) {\n var _this = _super.call(this, props) || this;\n _this._inputRef = React.createRef();\n _this.renderOperatorEditor = function (localization) {\n if (_this.props.filterType === 'boolean') {\n return;\n }\n var value = _this.props.operators.find(function (item) { return item.operator === _this.props.operator; }) || null;\n return (React.createElement(DropDownList, { size: _this.props.size, value: value, onChange: _this.operatorChange, className: \"k-dropdown-operator\", iconClassName: \"k-i-filter k-icon\", svgIcon: filterIcon, data: _this.props.operators, textField: \"text\", title: localization.toLanguageString(filterChooseOperator, messages[filterChooseOperator]), popupSettings: {\n width: ''\n } }));\n };\n _this.inputChange = _this.inputChange.bind(_this);\n _this.clear = _this.clear.bind(_this);\n _this.operatorChange = _this.operatorChange.bind(_this);\n _this.boolDropdownChange = _this.boolDropdownChange.bind(_this);\n return _this;\n }\n /**\n * @hidden\n */\n GridFilterCell.prototype.render = function () {\n var _a;\n var localizationService = provideLocalizationService(this);\n var defaultRendering = (React.createElement(\"div\", { className: \"k-filtercell\" },\n React.createElement(\"div\", { className: \"k-filtercell-wrapper\" },\n this.filterComponent(this.props.filterType, this.props.value, this.props.booleanValues),\n React.createElement(\"div\", { className: \"k-filtercell-operator\" },\n this.renderOperatorEditor(localizationService),\n \"\\u00A0\",\n React.createElement(Button, { size: this.props.size, icon: 'filter-clear', svgIcon: filterClearIcon, className: classNames((_a = {},\n _a['k-clear-button-visible'] = Boolean(!(this.props.value === null || this.props.value === '') || this.props.operator),\n _a)), title: localizationService.toLanguageString(filterClearButton, messages[filterClearButton]), type: \"button\", onClick: this.clear, disabled: !(!(this.props.value === null || this.props.value === '') || this.props.operator) })))));\n if (this.props.render) {\n return this.props.render.call(undefined, defaultRendering, this.props);\n }\n return defaultRendering;\n };\n GridFilterCell.prototype.inputChange = function (value, e) {\n cellInputChange(value, e, this.props);\n };\n GridFilterCell.prototype.operatorChange = function (event) {\n cellOperatorChange(event, this.props.value, this.props.onChange);\n };\n GridFilterCell.prototype.boolDropdownChange = function (event) {\n cellBoolDropdownChange(event, this.props.onChange);\n };\n GridFilterCell.prototype.clear = function (e) {\n var _this = this;\n e.preventDefault();\n this.props.onChange({ value: '', operator: '', syntheticEvent: e });\n if (this._inputRef.current) {\n this._inputRef.current.element.value = '';\n setTimeout(function () {\n _this._inputRef.current.element.focus();\n }, 0);\n }\n };\n GridFilterCell.prototype.filterComponent = function (filterType, value, booleanValues) {\n var _this = this;\n switch (filterType) {\n case 'numeric':\n return (React.createElement(NumericTextBox, { ref: this._inputRef, size: this.props.size, value: value, onChange: function (e) { _this.inputChange(e.value, e.syntheticEvent); }, title: this.props.title, ariaLabel: this.props.ariaLabel }));\n case 'date':\n return (React.createElement(DatePicker, { ref: this._inputRef, size: this.props.size, value: value, onChange: function (e) { _this.inputChange(e.value, e.syntheticEvent); }, title: this.props.title, ariaLabel: this.props.ariaLabel }));\n case 'boolean':\n var noFilterSet_1 = function (filter) { return filter === null || filter === undefined; };\n return (React.createElement(DropDownList, { ref: this._inputRef, size: this.props.size, onChange: this.boolDropdownChange, value: booleanValues.find(function (item) { return item.operator === (noFilterSet_1(value) ? '' : value); }), data: booleanValues, textField: \"text\", title: this.props.title, ariaLabel: this.props.ariaLabel }));\n default: return (React.createElement(TextBox, { ref: this._inputRef, size: this.props.size, value: value || '', onChange: function (e) { _this.inputChange(e.target.value, e.syntheticEvent); }, title: this.props.title, \"aria-label\": this.props.ariaLabel }));\n }\n };\n return GridFilterCell;\n}(React.Component));\nexport { GridFilterCell };\nregisterForLocalization(GridFilterCell);\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { registerForLocalization, provideLocalizationService } from '@progress/kendo-react-intl';\nimport { GridFilterCell } from '../cells/GridFilterCell';\nimport { operatorMap, booleanFilterValues, getFilterType } from '../filterCommon';\nimport { tableKeyboardNavigationTools as navigationTools, HeaderThElement } from '@progress/kendo-react-data-tools';\nimport { filterAriaLabel, messages } from '../messages';\nimport { classNames } from '@progress/kendo-react-common';\nimport { resolveCells } from '../utils';\n/**\n * @hidden\n */\nexport var FILTER_ROW_CLASS = 'k-table-row k-filter-row';\n/**\n *\n * @hidden\n */\nvar FilterRow = /** @class */ (function (_super) {\n __extends(FilterRow, _super);\n function FilterRow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterRow.prototype.headerCellClassName = function (field, locked) {\n var result = \"\".concat(locked ? 'k-grid-header-sticky' : '');\n if (this.props.sort &&\n this.props.sort.filter(function (descriptor) { return descriptor.field === field; }).length > 0) {\n result += ' k-sorted';\n }\n return result;\n };\n FilterRow.prototype.setFilter = function (value, operator, field, e) {\n if (!this.props.filterChange) {\n return;\n }\n var filters = [];\n if (value !== '' && value !== null || operator !== '') {\n filters.push({\n field: field,\n operator: operator,\n value: value\n });\n }\n if (this.props.filter && this.props.filter.filters) {\n var oldFilters = this.props.filter.filters || [];\n oldFilters.forEach(function (filter) {\n var descriptor = filter;\n if (descriptor && descriptor.field !== field) {\n filters.push(descriptor);\n }\n });\n }\n var logic = this.props.filter && this.props.filter.logic ? this.props.filter.logic : 'and';\n this.props.filterChange(filters.length > 0 ? { logic: logic, filters: filters } : null, e);\n };\n FilterRow.prototype.render = function () {\n var _this = this;\n var intl = provideLocalizationService(this);\n var oldFilters = this.props.filter && this.props.filter.filters || [];\n var activeFilter = function (field) {\n if (field === undefined) {\n return;\n }\n var currentFilters = oldFilters.filter(function (filter) { return filter.field === field; });\n return currentFilters.length ? currentFilters[0] : undefined;\n };\n var serviceIndex = 0, index = -1;\n var filterCells = this.props.columns.filter(function (c) { return c.children.length === 0; })\n .map(function (column) {\n var filterType = getFilterType(column.filter);\n var currentActiveFilter = activeFilter(column.field);\n var ariaLabel = column.filterable ? intl.toLanguageString(filterAriaLabel, messages[filterAriaLabel]) : undefined;\n var value = currentActiveFilter && currentActiveFilter.value;\n if (value === undefined) {\n value = filterType === 'text' ? '' : null;\n }\n var filterCellProps = column.filterable && {\n render: _this.props.cellRender,\n field: column.field,\n title: column.filterTitle,\n value: value,\n operator: currentActiveFilter && currentActiveFilter.operator,\n operators: operatorMap(_this.props.filterOperators[filterType] || [], intl),\n booleanValues: operatorMap(booleanFilterValues, intl),\n filterType: filterType,\n ariaLabel: ariaLabel,\n onChange: function (e) { _this.setFilter(e.value, e.operator, column.field, e.syntheticEvent); }\n };\n var key = (column.declarationIndex >= 0) ? ++index : --serviceIndex;\n var ariaAttrs = {\n ariaLabel: ariaLabel,\n ariaColumnIndex: column.ariaColumnIndex\n };\n var style = column.left !== undefined\n ? !_this.props.isRtl\n ? { left: column.left, right: column.right }\n : { left: column.right, right: column.left }\n : {};\n var thProps = __assign({ columnId: navigationTools.getFilterColumnId(column.id), navigatable: column.navigatable, style: style, className: classNames('k-table-th', _this.headerCellClassName(column.field, column.locked) || undefined), role: 'columnheader' }, ariaAttrs);\n var content = (filterCellProps && (column.filterCell ?\n React.createElement(column.filterCell, __assign({}, filterCellProps)) :\n React.createElement(GridFilterCell, __assign({ size: _this.props.size }, filterCellProps))));\n var customCells = resolveCells(_this.props.cells, column.cells);\n if (customCells && customCells.filterCell) {\n var CustomCell = customCells.filterCell;\n return (React.createElement(CustomCell, __assign({ key: key }, filterCellProps, { thProps: thProps, index: index }), content));\n }\n return (React.createElement(HeaderThElement, __assign({ key: key }, thProps), content));\n });\n return React.createElement(\"tr\", { className: FILTER_ROW_CLASS, \"aria-rowindex\": this.props.ariaRowIndex, role: \"row\" }, filterCells);\n };\n return FilterRow;\n}(React.Component));\nexport { FilterRow };\nregisterForLocalization(FilterRow);\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { Draggable, IconWrap } from '@progress/kendo-react-common';\nimport { registerForLocalization } from '@progress/kendo-react-intl';\nimport { sortAscSmallIcon, sortDescSmallIcon, xCircleIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar GroupingIndicator = /** @class */ (function (_super) {\n __extends(GroupingIndicator, _super);\n function GroupingIndicator() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.draggable = null;\n /**\n * @hidden\n */\n _this.onPress = function (data) {\n var element = _this.draggable && _this.draggable.element;\n if (element && _this.props.onPress) {\n _this.props.onPress(data.event, element);\n }\n };\n /**\n * @hidden\n */\n _this.onDrag = function (data) {\n var element = _this.draggable && _this.draggable.element;\n if (element && _this.props.onDrag) {\n _this.props.onDrag(data.event, element);\n }\n };\n /**\n * @hidden\n */\n _this.onRelease = function (data) {\n var element = _this.draggable && _this.draggable.element;\n if (element && _this.props.onRelease) {\n _this.props.onRelease(data.event);\n }\n };\n _this.sortChange = function (event) {\n event.preventDefault();\n if (_this.props.onSortChange) {\n var sort = (_this.props.dir === 'asc') ? 'desc' : 'asc';\n _this.props.onSortChange(event, sort);\n }\n };\n _this.groupRemove = function (event) {\n event.preventDefault();\n event.stopPropagation();\n if (_this.props.onRemove) {\n _this.props.onRemove(event);\n }\n };\n _this.onContextMenu = function (event) {\n var dataItem = {\n title: _this.props.title,\n dir: _this.props.dir,\n index: _this.props.index\n };\n if (_this.props.onContextMenu) {\n _this.props.onContextMenu.call(undefined, event, { dataItem: __assign({}, dataItem) });\n }\n };\n return _this;\n }\n GroupingIndicator.prototype.render = function () {\n var _this = this;\n var dir = this.props.dir;\n return (React.createElement(Draggable, { onPress: this.onPress, onDrag: this.onDrag, onRelease: this.onRelease, ref: function (component) { _this.draggable = component; } },\n React.createElement(\"div\", { className: \"k-chip k-chip-md k-chip-solid k-chip-solid-base k-rounded-md\", onClick: this.sortChange, onContextMenu: this.onContextMenu, role: \"button\", style: { touchAction: 'none' } },\n React.createElement(\"span\", null,\n React.createElement(IconWrap, { name: 'sort-' + dir + '-small', icon: dir === 'asc' ? sortAscSmallIcon : sortDescSmallIcon, size: 'small' })),\n React.createElement(\"span\", { className: 'k-chip-content' }, this.props.title),\n React.createElement(\"span\", { className: \"k-chip-actions\" },\n React.createElement(\"span\", { className: \"k-chip-action k-chip-remove-action\", onClick: this.groupRemove },\n React.createElement(IconWrap, { name: 'x-circle', icon: xCircleIcon, size: 'small' }))))));\n };\n return GroupingIndicator;\n}(React.Component));\nexport { GroupingIndicator };\nregisterForLocalization(GroupingIndicator);\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { GroupingIndicator } from '../drag/GroupingIndicator';\nimport { registerForLocalization, provideLocalizationService as intl } from '@progress/kendo-react-intl';\nimport { messages, groupPanelEmpty as messageKey, groupPanelAriaLabel } from './../messages';\n/**\n * @hidden\n */\nvar GroupPanel = /** @class */ (function (_super) {\n __extends(GroupPanel, _super);\n function GroupPanel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.onGroupRemove = function (event, index) {\n var newGroups = _this.props.group.slice();\n newGroups.splice(index, 1);\n _this.props.groupChange(newGroups, event);\n };\n _this.onGroupSortChange = function (event, index, groupDesc, dir) {\n var group = Object.assign({}, groupDesc, { dir: dir });\n var newGroups = _this.props.group.slice();\n newGroups.splice(index, 1, group);\n _this.props.groupChange(newGroups, event);\n };\n return _this;\n }\n GroupPanel.prototype.render = function () {\n var _this = this;\n var groupsProp = this.props.group || [];\n var groups = groupsProp.map(function (groupDesc, index) { return (React.createElement(GroupingIndicator, { key: index, index: index, dir: groupDesc.dir || 'asc', title: _this.props.resolveTitle(groupDesc.field), onRemove: function (event) {\n _this.onGroupRemove(event, index);\n }, onSortChange: function (event, dir) {\n _this.onGroupSortChange(event, index, groupDesc, dir);\n }, onPress: _this.props.pressHandler, onDrag: _this.props.dragHandler, onRelease: _this.props.releaseHandler, onContextMenu: _this.props.onContextMenu })); });\n return (React.createElement(\"div\", { ref: this.props.refCallback, className: \"k-grouping-header\", role: \"toolbar\", \"aria-label\": intl(this).toLanguageString(groupPanelAriaLabel, messages[groupPanelAriaLabel]), \"aria-controls\": this.props.ariaControls || '' },\n React.createElement(\"div\", { className: \"k-chip-list k-chip-list-md\", role: \"none\" }, groups),\n React.createElement(\"div\", { className: \"k-grouping-drop-container\" },\n !groups.length && intl(this).toLanguageString(messageKey, messages[messageKey]),\n \"\\u00A0\")));\n };\n return GroupPanel;\n}(React.Component));\nexport { GroupPanel };\nregisterForLocalization(GroupPanel);\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { getScrollbarWidth } from '@progress/kendo-react-common';\nimport * as React from 'react';\nimport { classNames, kendoThemeMaps } from '@progress/kendo-react-common';\n/**\n * @hidden\n */\nvar Footer = /** @class */ (function (_super) {\n __extends(Footer, _super);\n function Footer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.footerWrap = null;\n _this.table = null;\n _this.scrollbarWidth = getScrollbarWidth();\n return _this;\n }\n Footer.prototype.componentDidMount = function () {\n this.setState({});\n };\n /**\n *\n * @param scrollLeft - Scrolls to the left (in pixels).\n */\n Footer.prototype.setScrollLeft = function (scrollLeft) {\n if (this.footerWrap) {\n this.footerWrap.scrollLeft = scrollLeft;\n }\n };\n /**\n *\n * @param width - Scrolls the width (in pixels).\n */\n Footer.prototype.setWidth = function (width) {\n if (this.table) {\n this.table.style.width = width + 'px';\n }\n };\n Footer.prototype.render = function () {\n var _a;\n var _this = this;\n if (!this.props.staticHeaders) {\n return (React.createElement(\"tfoot\", { className: \"k-table-tfoot\" }, this.props.row));\n }\n return (React.createElement(\"div\", { className: \"k-grid-footer\", role: \"presentation\" },\n React.createElement(\"div\", { ref: function (div) { _this.footerWrap = div; }, className: \"k-grid-footer-wrap\", style: this.scrollbarWidth ? {} : { borderWidth: 0 }, role: \"presentation\" },\n React.createElement(\"table\", { ref: function (table) { _this.table = table; }, className: classNames('k-table k-grid-footer-table', (_a = {\n 'k-table-md': !this.props.size\n },\n _a[\"k-table-\".concat(kendoThemeMaps.sizeMap[this.props.size] || this.props.size)] = this.props.size,\n _a), this.props.className), role: \"presentation\" },\n React.createElement(\"colgroup\", { ref: function (e) { _this.props.columnResize.colGroupFooter = e; }, role: \"presentation\" }, this.props.cols),\n React.createElement(\"tfoot\", { className: \"k-table-tfoot\", role: \"presentation\" }, this.props.row)))));\n };\n return Footer;\n}(React.Component));\nexport { Footer };\n","import * as React from 'react';\n/**\n * @hidden\n */\nvar VirtualScroll = /** @class */ (function () {\n function VirtualScroll(cached) {\n var _this = this;\n this.table = null;\n this.containerHeight = 0;\n this.topCacheCount = 0; // 4;\n this.attendedSkip = 0; // -4;\n this.propsSkip = 0;\n this.total = 0;\n this.scrollableVirtual = false;\n this.realSkip = 0;\n this.pageSize = 0;\n this.PageChange = null;\n this.tableBodyRef = React.createRef();\n this.fixedScroll = false;\n this.askedSkip = undefined;\n this.containerRef = React.createRef();\n this.tableTransform = '';\n this.prevScrollPos = 0;\n this.tableTranslate = 0;\n this.scrollSyncing = false;\n this.reactVersion = Number.parseFloat(React.version);\n this.topItems = function (heights, skipTopBuffer) {\n if (!_this.container || skipTopBuffer) {\n return { topItemsCount: 0, topItemsHeight: 0 };\n }\n var screenHeight = _this.container.clientHeight;\n var itemsOnScreen = Math.ceil(screenHeight / heights[0].line);\n var topItemsCount = Math.ceil((heights.length - itemsOnScreen) / 2);\n var topItemsHeight = 0;\n for (var i = 0; i < topItemsCount; i++) {\n topItemsHeight += heights[i].line + heights[i].acc;\n }\n return {\n topItemsCount: topItemsCount,\n topItemsHeight: topItemsHeight,\n itemsNeededOnScreen: itemsOnScreen + itemsOnScreen / 2\n };\n };\n this.horizontalScrollbarHeight = function () {\n if (!_this.container) {\n return 0;\n }\n return _this.container.offsetHeight - _this.container.clientHeight;\n };\n if (cached) {\n this.topCacheCount = 4;\n this.attendedSkip = -this.topCacheCount;\n }\n this.scrollHandler = this.scrollHandler.bind(this);\n }\n Object.defineProperty(VirtualScroll.prototype, \"container\", {\n get: function () {\n return this.containerRef.current;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(VirtualScroll.prototype, \"rowHeights\", {\n /**\n * @return - The row heights in an array.\n */\n get: function () {\n var result = [];\n var allRows = this.tableBodyRef.current && this.tableBodyRef.current.children || [];\n var accumulate = 0;\n for (var i = 0; i < allRows.length; i++) {\n if (allRows[i].className.indexOf('k-grouping-row') > -1) {\n accumulate += allRows[i].scrollHeight;\n continue;\n }\n if (allRows[i].className.indexOf('k-detail-row') > -1) {\n result[result.length - 1].line += allRows[i].scrollHeight;\n }\n else {\n result.push({\n line: allRows[i].scrollHeight,\n acc: accumulate\n });\n accumulate = 0;\n }\n }\n return result;\n },\n enumerable: false,\n configurable: true\n });\n VirtualScroll.prototype.changePage = function (skip, e) {\n this.attendedSkip = skip - this.topCacheCount;\n if (this.PageChange) {\n this.PageChange({\n skip: Math.max(0, skip - this.topCacheCount),\n take: this.pageSize\n }, e);\n }\n };\n VirtualScroll.prototype.translate = function (dY, forceSet) {\n this.tableTranslate = dY;\n if (this.scrollableVirtual && this.table) {\n if (this.reactVersion <= 17 || forceSet) {\n this.table.style.transform = 'translateY(' + dY + 'px)';\n }\n else {\n this.tableTransform = 'translateY(' + dY + 'px)';\n }\n }\n };\n VirtualScroll.prototype.reset = function () {\n this.scrollSyncing = true;\n if (this.fixedScroll) {\n return;\n }\n if (this.container) {\n this.container.scrollTop = 0;\n }\n this.translate(0, true);\n };\n VirtualScroll.prototype.localScrollUp = function (e) {\n if (!this.container) {\n return;\n }\n var heights = this.rowHeights;\n var scrollTop = this.container.scrollTop;\n var targetTranslate = this.tableTranslate;\n var rowsCount = 0;\n var _a = this.topItems(heights, Boolean(this.topCacheCount)), topItemsCount = _a.topItemsCount, topItemsHeight = _a.topItemsHeight, itemsNeededOnScreen = _a.itemsNeededOnScreen;\n var additionalOnTop = scrollTop - targetTranslate;\n if ((additionalOnTop > topItemsHeight) || heights.length <= itemsNeededOnScreen) {\n return;\n }\n while ((rowsCount < this.topCacheCount + this.attendedSkip - this.realSkip + topItemsCount)\n && this.propsSkip - rowsCount > 0 &&\n !(targetTranslate + (heights[heights.length - 1 - rowsCount].line + heights[heights.length - 1 - rowsCount].acc) + additionalOnTop <= scrollTop)) {\n targetTranslate -= heights[heights.length - 1 - rowsCount].line +\n heights[heights.length - 1 - rowsCount].acc;\n rowsCount++;\n }\n if (rowsCount === 0 && this.topCacheCount === 0 && this.attendedSkip > 0) {\n // allows local scrolling up, when top caching is disabled\n // for variable heights 'topCacheCount' should be atleast 1 to avoid flickering\n targetTranslate = Math.max(targetTranslate - heights[0].line, 0);\n rowsCount = 1;\n }\n if (this.propsSkip - rowsCount <= 0 && targetTranslate > scrollTop) {\n this.translate(0);\n this.changePage(0, e);\n this.container.scrollTop = 0;\n return;\n }\n if (targetTranslate > scrollTop) {\n targetTranslate = scrollTop;\n // need to handle these cases\n // if the item height is not available:\n // floor the translate to beginning of the item in absolute value\n }\n if (targetTranslate !== this.tableTranslate) {\n this.translate(Math.max(0, targetTranslate - topItemsHeight));\n var nextSkip = Math.max(0, this.propsSkip - rowsCount - topItemsCount);\n this.changePage(nextSkip, e);\n }\n };\n VirtualScroll.prototype.localScrollDown = function (e) {\n if (!this.container) {\n return;\n }\n var heights = this.rowHeights;\n var scrollTop = this.container.scrollTop;\n var targetTranslate = this.tableTranslate;\n var rowsCount = 0;\n var _a = this.topItems(heights, Boolean(this.topCacheCount)), topItemsCount = _a.topItemsCount, topItemsHeight = _a.topItemsHeight, itemsNeededOnScreen = _a.itemsNeededOnScreen;\n while (rowsCount < heights.length - this.topCacheCount &&\n !(targetTranslate + heights[rowsCount].line + heights[rowsCount].acc > scrollTop)) {\n targetTranslate += heights[rowsCount].line + heights[rowsCount].acc;\n rowsCount++;\n }\n if ((topItemsCount > this.propsSkip + rowsCount) || heights.length <= itemsNeededOnScreen) {\n return;\n }\n if (rowsCount >= heights.length - this.topCacheCount && this.propsSkip + rowsCount >= this.total) {\n this.translate(targetTranslate - topItemsHeight);\n this.changePage(this.total - 1 - topItemsCount, e);\n }\n else if (targetTranslate !== this.tableTranslate && this.propsSkip + rowsCount - topItemsCount !== this.propsSkip) {\n this.translate(targetTranslate - topItemsHeight);\n this.changePage(this.propsSkip + rowsCount - topItemsCount, e);\n }\n };\n VirtualScroll.prototype.scrollNonStrict = function (e) {\n var floatRowIndex = this.total * this.prevScrollPos / (this.containerHeight);\n var rowIndex = Math.floor(floatRowIndex);\n if (rowIndex >= this.total) {\n rowIndex = this.total - 1;\n }\n var rowpercentage = Math.min(floatRowIndex - rowIndex, 1);\n var microAdjust = 0;\n var rowIndexOffset = rowIndex - this.propsSkip;\n var heights = this.rowHeights;\n if (rowIndexOffset >= 0 && rowIndexOffset <= 1) {\n microAdjust = -((heights[0].line + heights[0].acc) * rowpercentage);\n }\n else if (rowIndexOffset === -1) {\n microAdjust = -((heights[heights.length - 1].line + heights[heights.length - 1].acc) * rowpercentage);\n }\n var _a = this.topItems(heights, Boolean(this.topCacheCount)), topItemsCount = _a.topItemsCount, topItemsHeight = _a.topItemsHeight;\n this.translate(Math.max(0, microAdjust - topItemsHeight - this.horizontalScrollbarHeight() + this.containerHeight * floatRowIndex / this.total));\n this.changePage(rowIndex - topItemsCount, e);\n };\n VirtualScroll.prototype.scrollHandler = function (e) {\n if (!this.scrollableVirtual) {\n return;\n }\n if (this.scrollSyncing || !this.container || !this.table) {\n this.scrollSyncing = false;\n return;\n }\n var scrollTop = this.container.scrollTop;\n var prev = this.prevScrollPos;\n this.prevScrollPos = scrollTop;\n if (this.askedSkip !== undefined) {\n this.translate(this.containerHeight * this.askedSkip / this.total);\n this.changePage(this.askedSkip, e);\n this.prevScrollPos = scrollTop;\n this.askedSkip = undefined;\n return;\n }\n if (scrollTop - prev < 0 && scrollTop > this.tableTranslate - this.table.scrollHeight / 10) {\n this.localScrollUp(e);\n }\n else if (scrollTop - prev > 0 && scrollTop < this.tableTranslate + this.table.scrollHeight * 2 / 3) {\n this.localScrollDown(e);\n }\n else {\n this.scrollNonStrict(e);\n }\n this.prevScrollPos = scrollTop;\n };\n return VirtualScroll;\n}());\nexport { VirtualScroll };\n","import * as React from 'react';\nimport { firefox } from './utils';\n/**\n * @hidden\n */\nvar RowHeightService = /** @class */ (function () {\n function RowHeightService(total, rowHeight, detailRowHeight, data) {\n if (total === void 0) { total = 0; }\n this.total = total;\n this.offsets = [];\n this.heights = [];\n var agg = 0;\n for (var idx = 0; idx < total; idx++) {\n this.offsets.push(agg);\n var currHeight = (data && data[idx].expanded && data[idx].rowType === 'data') ? detailRowHeight : rowHeight;\n agg += currHeight;\n this.heights.push(currHeight);\n }\n }\n RowHeightService.prototype.height = function (rowIndex) {\n return this.heights[rowIndex];\n };\n RowHeightService.prototype.index = function (position) {\n if (position < 0) {\n return undefined;\n }\n var result = this.offsets.reduce(function (prev, current, idx) {\n if (prev !== undefined) {\n return prev;\n }\n else if (current === position) {\n return idx;\n }\n else if (current > position) {\n return idx - 1;\n }\n return undefined;\n }, undefined);\n return result === undefined ? this.total - 1 : result;\n };\n RowHeightService.prototype.offset = function (rowIndex) {\n return this.offsets[rowIndex];\n };\n RowHeightService.prototype.totalHeight = function () {\n var lastOffset = this.offsets[this.offsets.length - 1];\n var lastHeight = this.heights[this.heights.length - 1];\n return lastOffset + lastHeight;\n // return this.heights.reduce((prev, curr) => prev + curr, 0);\n };\n return RowHeightService;\n}());\nexport { RowHeightService };\n/**\n * @hidden\n */\nvar VirtualScrollFixed = /** @class */ (function () {\n function VirtualScrollFixed(_cached) {\n this.table = null;\n this.containerHeight = 0;\n this.topCacheCount = 0;\n this.attendedSkip = 0;\n this.propsSkip = 0;\n this.total = 0;\n this.scrollableVirtual = false;\n this.realSkip = 0;\n this.pageSize = 0;\n this.PageChange = null;\n this.tableBodyRef = React.createRef();\n this.fixedScroll = false;\n this.askedSkip = undefined;\n this.containerRef = React.createRef();\n this.tableTransform = '';\n this.scrollSyncing = false;\n this.lastLoaded = 0;\n this.firstLoaded = 0;\n this.lastScrollTop = 0;\n this.reactVersion = Number.parseFloat(React.version);\n this.firstLoaded = this.pageSize;\n this.lastLoaded = this.realSkip + this.pageSize;\n this.scrollHandler = this.scrollHandler.bind(this);\n }\n Object.defineProperty(VirtualScrollFixed.prototype, \"container\", {\n get: function () {\n return this.containerRef.current;\n },\n enumerable: false,\n configurable: true\n });\n VirtualScrollFixed.prototype.translate = function (dY, forceSet) {\n if (this.scrollableVirtual && this.table) {\n if (firefox || this.reactVersion <= 17 || forceSet) {\n this.table.style.transform = 'translateY(' + dY + 'px)';\n }\n else {\n this.tableTransform = 'translateY(' + dY + 'px)';\n }\n }\n };\n VirtualScrollFixed.prototype.changePage = function (skip, e) {\n if (this.PageChange) {\n this.PageChange({ skip: Math.max(0, skip), take: this.pageSize }, e);\n }\n };\n VirtualScrollFixed.prototype.reset = function () {\n this.scrollSyncing = true;\n if (this.fixedScroll) {\n return;\n }\n if (this.container) {\n this.container.scrollTop = 0;\n }\n this.translate(0, true);\n };\n VirtualScrollFixed.prototype.scrollHandler = function (e) {\n if (!this.scrollableVirtual || !this.container || !this.table ||\n !this.rowHeightService || !this.containerRef.current) {\n return;\n }\n if (this.scrollSyncing) {\n this.scrollSyncing = false;\n return;\n }\n var scrollTop = this.container.scrollTop;\n var up = this.lastScrollTop >= scrollTop;\n var down = !up;\n this.lastScrollTop = scrollTop;\n var firstItemIndex = this.rowHeightService.index(scrollTop);\n var firstItemOffset = this.rowHeightService.offset(firstItemIndex);\n var offsetHeight = this.containerRef.current.offsetHeight;\n var lastItemIndex = this.rowHeightService.index(scrollTop + offsetHeight);\n if (down && lastItemIndex >= this.lastLoaded && this.lastLoaded < this.total) {\n var overflow = (firstItemIndex + this.pageSize) - this.total;\n if (overflow > 0) {\n firstItemIndex = firstItemIndex - overflow;\n firstItemOffset = this.rowHeightService.offset(firstItemIndex);\n }\n this.firstLoaded = firstItemIndex;\n this.translate(firstItemOffset);\n var nextTake = this.firstLoaded + this.pageSize;\n this.lastLoaded = Math.min(nextTake, this.total);\n this.changePage(this.firstLoaded, e);\n }\n else if (up && firstItemIndex < this.firstLoaded) {\n var nonVisibleBuffer = Math.floor(this.pageSize * 0.3);\n this.firstLoaded = Math.max(firstItemIndex - nonVisibleBuffer, 0);\n this.translate(this.rowHeightService.offset(this.firstLoaded));\n this.lastLoaded = Math.min(this.firstLoaded + this.pageSize, this.total);\n this.changePage(this.firstLoaded, e);\n }\n };\n return VirtualScrollFixed;\n}());\nexport { VirtualScrollFixed };\n","// offsetWidth() is slowly transition to reporting double instead of integet in all browsers\n// during this process (which is a bit back-and-forth) we need to make sure we are working across all browsers and versions\nvar OFFSET_ROUND = 1;\nvar LOCK_COLUMN_BUFFER = 20;\n/**\n * @hidden\n */\nvar ColumnResize = /** @class */ (function () {\n function ColumnResize(triggerResize) {\n var _this = this;\n // Typings. `col` and `colgroup` do not differ, both represent a `HTMLTableColElement`.\n // Implemented as `any`.\n this.columns = [];\n /**\n * The settings for resizing the Grid.\n */\n this.resizable = false;\n this.isRtl = false;\n this.setIsRtl = function (isRtl) {\n _this.isRtl = isRtl;\n };\n this.dragHandler = function (event, column, dragCue, end) {\n var e = event.originalEvent;\n if (!end) {\n e.preventDefault();\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n var thElement = dragCue.closest('th');\n if (!thElement || !thElement) {\n return;\n }\n var oldWidth = thElement.clientWidth;\n var newWidth = oldWidth;\n if (_this.isRtl) {\n newWidth += (dragCue.getBoundingClientRect().right - (dragCue.offsetWidth / 2)) - event.clientX;\n }\n else {\n newWidth += event.clientX - dragCue.getBoundingClientRect().left - (dragCue.offsetWidth / 2);\n }\n if (!end && Math.abs(newWidth - oldWidth) < 1) {\n return;\n }\n _this.fixateInitialWidths(thElement.parentElement.clientWidth);\n _this.setWidths(column, Math.floor(newWidth) / oldWidth);\n var index = _this.columns.filter(function (c) { return !c.children.length; }).findIndex(function (c) { return c.id === column.id; });\n _this.onResize(index, oldWidth, newWidth, e, end, column.id);\n };\n this.dblClickHandler = function (event, columnIds) {\n var columns = _this.columns.filter(function (c) { return columnIds.indexOf(c.id) > -1; });\n if (!_this.colGroupMain || !columns.length) {\n return;\n }\n var leafsForAdjust = {};\n var stack = columns;\n while (stack.length > 0) {\n var currentCol = stack.pop();\n if (!currentCol) {\n break;\n }\n if (currentCol.children.length) {\n stack.push.apply(stack, currentCol.children);\n }\n else {\n leafsForAdjust[currentCol.id] = currentCol;\n }\n }\n var leafs = _this.columns.filter(function (c) { return !c.children.length; });\n var indexesForAdjust = [];\n leafs.forEach(function (currentColumn, index) {\n if (leafsForAdjust[currentColumn.id]) {\n indexesForAdjust.push(index);\n }\n });\n var tables = [_this.colGroupMain.parentElement];\n var colgroups = [_this.colGroupMain];\n if (_this.colGroupHeader) {\n tables.push(_this.colGroupHeader.parentElement);\n colgroups.push(_this.colGroupHeader);\n }\n if (_this.colGroupFooter) {\n tables.push(_this.colGroupFooter.parentElement);\n colgroups.push(_this.colGroupFooter);\n }\n tables.forEach(function (table) { return table.classList.add('k-autofitting'); });\n var maxWidths = [];\n colgroups.forEach(function (colgroup) {\n indexesForAdjust.forEach(function (columnIndex) {\n if (colgroup.children[columnIndex]) {\n colgroup.children[columnIndex].width = '';\n maxWidths[columnIndex] = Math.max(maxWidths[columnIndex] || 0, colgroup.children[columnIndex].offsetWidth + OFFSET_ROUND);\n }\n });\n });\n colgroups.forEach(function (colgroup) {\n indexesForAdjust.forEach(function (columnIndex) {\n if (colgroup.children[columnIndex]) {\n colgroup.children[columnIndex].width = maxWidths[columnIndex] + 'px';\n leafs[columnIndex].width = maxWidths[columnIndex];\n }\n });\n });\n tables.forEach(function (table) { return table.classList.remove('k-autofitting'); });\n _this.onResize(indexesForAdjust[0], 0, 0, event, true, columnIds[0]);\n };\n this.updateColElements = function (affectedColumns) {\n var leafColumns = _this.columns.filter(function (c) { return !c.children.length; });\n var difference = 1e-10;\n var _loop_1 = function (i) {\n var currentColumn = affectedColumns[i];\n var colIndex = leafColumns.findIndex(function (c) { return c.id === currentColumn.id; });\n var currentColumnFloatWidth = parseFloat((currentColumn.width || 0).toString());\n var currentColumnFloorWidth = Math.floor(currentColumnFloatWidth);\n difference += currentColumnFloatWidth - currentColumnFloorWidth;\n var currentWidth = currentColumnFloorWidth + Math.floor(difference);\n difference -= Math.floor(difference);\n if (_this.colGroupMain && _this.colGroupMain.children[colIndex]) {\n var mainWidth = parseInt(_this.colGroupMain.children[colIndex].width, 10);\n _this.colGroupMain.children[colIndex].width = currentWidth + 'px';\n _this.updateNextLockedCol(_this.colGroupMain.parentElement, currentColumn, mainWidth - currentWidth);\n }\n if (_this.colGroupHeader && _this.colGroupHeader.children[colIndex]) {\n var headerWidth = parseInt(_this.colGroupHeader.children[colIndex].width, 10);\n // static headers\n _this.colGroupHeader.children[colIndex].width = currentWidth + 'px';\n _this.updateNextLockedCol(_this.colGroupHeader.parentElement, currentColumn, headerWidth - currentWidth);\n }\n if (_this.colGroupFooter && _this.colGroupFooter.children[colIndex]) {\n var footerWidth = parseInt(_this.colGroupFooter.children[colIndex].width, 10);\n // static footers\n _this.colGroupFooter.children[colIndex].width = currentWidth + 'px';\n _this.updateNextLockedCol(_this.colGroupFooter.parentElement, currentColumn, footerWidth - currentWidth);\n }\n };\n for (var i = 0; i < affectedColumns.length; i++) {\n _loop_1(i);\n }\n };\n this.onResize = triggerResize;\n }\n ColumnResize.prototype.fixateInitialWidths = function (width) {\n var columns = this.columns.filter(function (c) { return !c.children.length; });\n var remainingCount = 0;\n var cols = this.colGroupMain ? this.colGroupMain.children : [];\n for (var i = 0; i < cols.length; i++) {\n if (cols[i].width) {\n width -= parseFloat(cols[i].width);\n }\n else {\n remainingCount++;\n }\n }\n if (remainingCount === 0) {\n return;\n }\n var perCol = Math.floor(width / remainingCount);\n for (var i = 0; i < cols.length; i++) {\n var col = cols[i];\n if (!col.width) {\n col.width = perCol;\n columns[i].width = perCol.toString();\n if (this.colGroupHeader) {\n this.colGroupHeader.children[i].width = perCol;\n }\n if (this.colGroupFooter) {\n this.colGroupFooter.children[i].width = perCol;\n }\n }\n }\n };\n ColumnResize.prototype.setWidths = function (column, coef) {\n var indexInOriginal = this.columns.findIndex(function (c) { return c.id === column.id; });\n var toAdjust = [];\n var more = column.children.length;\n for (var i = indexInOriginal + 1; more > 0 && i < this.columns.length; i++, more--) {\n var cc = this.columns[i];\n if (!cc.children.length) {\n toAdjust.push(cc);\n }\n else {\n more += cc.children.length;\n }\n }\n if (toAdjust.length === 0) {\n toAdjust.push(column);\n }\n toAdjust.forEach(function (colToAdjust) {\n var targetWidth = colToAdjust.width ? parseFloat(colToAdjust.width.toString()) * coef : 0;\n var min = colToAdjust.minResizableWidth === undefined ? 10 : colToAdjust.minResizableWidth;\n if (targetWidth < min) {\n targetWidth = min;\n }\n colToAdjust.width = targetWidth;\n });\n this.updateColElements(toAdjust);\n return toAdjust;\n };\n ColumnResize.prototype.updateNextLockedCol = function (element, current, deltaWidth) {\n var _this = this;\n var currentIndex = current.index;\n var gridWrapperEl = this.colGroupMain.parentElement.closest('.k-grid');\n var maxWidth = gridWrapperEl === null || gridWrapperEl === void 0 ? void 0 : gridWrapperEl.clientWidth;\n var widthOfLocked = this.columns.filter(function (c) { return c.locked; }).map(function (e) { return parseInt(e.width + '', 10); }).reduce(function (a, b) { return a + b; }, 0);\n if (!current.locked || maxWidth <= widthOfLocked + LOCK_COLUMN_BUFFER) {\n return;\n }\n this.columns.forEach(function (nColumn) {\n if ((nColumn === null || nColumn === void 0 ? void 0 : nColumn.locked) && deltaWidth) {\n var allColumnEls = element === null || element === void 0 ? void 0 : element.querySelectorAll('[aria-colindex=\"' + nColumn.ariaColumnIndex + '\"]');\n allColumnEls === null || allColumnEls === void 0 ? void 0 : allColumnEls.forEach(function (el) {\n var currentStyle = el.style;\n if (_this.isRtl) {\n if (nColumn.index > currentIndex && currentStyle && currentStyle.right) {\n currentStyle.right = parseInt(currentStyle.right, 10) - deltaWidth + 'px';\n }\n if (nColumn.index < currentIndex && currentStyle && currentStyle.left) {\n currentStyle.left = parseInt(currentStyle.left, 10) - deltaWidth + 'px';\n }\n }\n else {\n if (nColumn.index > currentIndex && currentStyle && currentStyle.left) {\n currentStyle.left = parseInt(currentStyle.left, 10) - deltaWidth + 'px';\n }\n if (nColumn.index < currentIndex && currentStyle && currentStyle.right) {\n currentStyle.right = parseInt(currentStyle.right, 10) - deltaWidth + 'px';\n }\n }\n });\n }\n });\n };\n return ColumnResize;\n}());\nexport { ColumnResize };\n","import * as React from 'react';\nimport { getIndex } from '@progress/kendo-react-data-tools';\n/**\n * @hidden\n */\nvar CommonDragLogic = /** @class */ (function () {\n function CommonDragLogic(columnReorder, groupReorder, columnToGroup) {\n var _this = this;\n this.refDragElementClue = React.createRef();\n this.refDropElementClue = React.createRef();\n this.columns = [];\n this.reorderable = false;\n this.groupable = false;\n this.startColumn = -1;\n this.startGroup = -1;\n this.currentColumn = -1;\n this.currentGroup = -1;\n this.groupPanelDivElement = null;\n this.refGroupPanelDiv = function (e) {\n _this.groupPanelDivElement = (e && e.children) ? e.children[0] : e;\n };\n this.pressHandler = function (event, element) {\n var startColumn = _this.getColumnIndex(event, element);\n _this.startGroup = _this.getGroupIndex(event);\n if (startColumn >= 0) {\n var col = _this.columns[startColumn];\n if (col.reorderable && _this.reorderable || col.groupable && _this.groupable) {\n _this.startColumn = startColumn;\n }\n }\n };\n this.dragHandler = function (event, element) {\n if (!event.isTouch) {\n event.originalEvent.preventDefault();\n }\n event.originalEvent.stopPropagation();\n if (_this.startColumn === -1 && _this.startGroup === -1) {\n return;\n }\n _this.currentColumn = _this.getColumnIndex(event, element);\n var groupPanelChildren = _this.groupPanelDivElement && _this.groupPanelDivElement.children;\n _this.currentGroup = _this.isTargetGroupingContainer(event)\n ? groupPanelChildren && groupPanelChildren.length\n ? groupPanelChildren.length\n : 0\n : _this.getGroupIndex(event);\n var invalidIndex = !_this.isValid();\n if (invalidIndex) {\n _this.currentColumn = -1;\n _this.currentGroup = -1;\n }\n var targetElement = (_this.currentColumn >= 0) ?\n element.children[_this.columns[_this.currentColumn].index] :\n _this.isTargetGroupingContainer(event)\n ? event.originalEvent.target\n : _this.groupPanelDivElement && _this.groupPanelDivElement.children[_this.currentGroup];\n _this.updateDragElementClue(event, element, targetElement, invalidIndex);\n _this.updateDropElementClue(event, element, targetElement, invalidIndex);\n };\n this.releaseHandler = function (event) {\n var prevColumnIndex = _this.startColumn;\n var nextColumnIndex = _this.currentColumn;\n var prevGroupIndex = _this.startGroup;\n var nextGroupIndex = _this.currentGroup;\n event.originalEvent.preventDefault();\n if (_this.dropElementClue) {\n _this.dropElementClue.setState({ visible: false });\n }\n if (_this.dragElementClue) {\n _this.dragElementClue.setState({ visible: false });\n }\n var isValid = _this.isValid();\n _this.startColumn = _this.startGroup = _this.currentColumn = _this.currentGroup = -1;\n if (!isValid) {\n return;\n }\n if (prevColumnIndex >= 0 && nextColumnIndex >= 0) {\n _this.columnReorder(prevColumnIndex, nextColumnIndex, event.originalEvent);\n }\n else if (prevGroupIndex >= 0 && nextGroupIndex >= 0) {\n _this.groupReorder(prevGroupIndex, nextGroupIndex, event.originalEvent);\n }\n else if (prevColumnIndex >= 0 && nextGroupIndex >= 0) {\n _this.columnToGroup(prevColumnIndex, nextGroupIndex, event.originalEvent);\n }\n };\n this.columnReorder = columnReorder;\n this.groupReorder = groupReorder;\n this.columnToGroup = columnToGroup;\n }\n Object.defineProperty(CommonDragLogic.prototype, \"dragClueRef\", {\n get: function () {\n return this.refDragElementClue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CommonDragLogic.prototype, \"dropClueRef\", {\n get: function () {\n return this.refDropElementClue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CommonDragLogic.prototype, \"dragElementClue\", {\n get: function () {\n return this.refDragElementClue.current;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CommonDragLogic.prototype, \"dropElementClue\", {\n get: function () {\n return this.refDropElementClue.current;\n },\n enumerable: false,\n configurable: true\n });\n CommonDragLogic.prototype.getColumnIndex = function (event, parent) {\n if (!parent || (parent.parentElement === this.groupPanelDivElement)) {\n return -1;\n }\n var index = getIndex(event, parent);\n if (index === -1) {\n return -1;\n }\n var _loop_1 = function (i) {\n if (parent.parentNode.children[i] === parent) {\n return { value: this_1.columns.findIndex(function (c) { return ((c.index === index) && (c.depth === i)); }) };\n }\n };\n var this_1 = this;\n for (var i = 0; i < parent.parentNode.children.length; i++) {\n var state_1 = _loop_1(i);\n if (typeof state_1 === \"object\")\n return state_1.value;\n }\n return -1;\n };\n CommonDragLogic.prototype.isTargetGroupingContainer = function (event) {\n var target = event.originalEvent.target;\n return target.className.indexOf\n ? target.className.indexOf('k-grouping-drop-container') !== -1\n : false;\n };\n CommonDragLogic.prototype.getGroupIndex = function (event) {\n return getIndex(event, this.groupPanelDivElement);\n };\n CommonDragLogic.prototype.isValid = function () {\n if (this.startGroup >= 0) {\n // group can be moved into group only\n return this.currentGroup >= 0 && this.currentGroup !== this.startGroup;\n }\n if (this.startColumn === -1) {\n return false;\n }\n if (this.currentGroup >= 0) {\n // column to group is possible\n return this.columns[this.startColumn].groupable === true && this.groupable === true;\n }\n // reorder is possible\n return this.reorderable === true &&\n this.currentColumn >= 0 &&\n this.currentColumn !== this.startColumn &&\n this.columns[this.startColumn].reorderable === true &&\n this.columns[this.currentColumn].parentIndex === this.columns[this.startColumn].parentIndex;\n };\n CommonDragLogic.prototype.updateDragElementClue = function (event, element, targetElement, invalidIndex) {\n if (!this.dragElementClue) {\n return;\n }\n var innerText = this.startColumn >= 0 ?\n element.children[this.columns[this.startColumn].index].innerText :\n element.innerText;\n this.dragElementClue.setState({\n visible: true,\n top: (event.pageY + 10),\n left: event.pageX,\n innerText: innerText,\n status: (invalidIndex || !targetElement) ? 'k-i-cancel' : 'k-i-plus'\n });\n };\n CommonDragLogic.prototype.updateDropElementClue = function (event, element, targetElement, invalidIndex) {\n if (!this.dropElementClue) {\n return;\n }\n if (invalidIndex || !targetElement) {\n this.dropElementClue.setState({ visible: false });\n return;\n }\n var rect = targetElement.getBoundingClientRect();\n var groupElement = targetElement.closest('.k-grouping-header');\n var rectParent = (groupElement || targetElement).getBoundingClientRect();\n var left = rect.left + event.pageX - event.clientX - 6;\n if (!this.isTargetGroupingContainer(event) && (this.currentColumn > this.startColumn\n || this.currentGroup > this.startGroup && this.startGroup !== -1)) {\n left += rect.width;\n }\n var top = rectParent.top + event.pageY - event.clientY;\n this.dropElementClue.setState({\n visible: true,\n top: top,\n left: left,\n height: (this.currentColumn >= 0) ? element.clientHeight : rectParent.height\n });\n };\n return CommonDragLogic;\n}());\nexport { CommonDragLogic };\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { getNestedValue } from './../utils';\nimport { useInternationalization } from '@progress/kendo-react-intl';\nimport { useTableKeyboardNavigation } from '@progress/kendo-react-data-tools';\nimport { GRID_COL_INDEX_ATTRIBUTE } from '../constants';\nimport { classNames } from '@progress/kendo-react-common';\nexport var GridCell = function (props) {\n var _a;\n var defaultRendering = null;\n var intl = useInternationalization();\n var navigationAttributes = useTableKeyboardNavigation(props.id);\n var onContextMenu = React.useCallback(function (event) {\n if (props.onContextMenu) {\n props.onContextMenu.call(undefined, event, props.dataItem, props.field);\n }\n }, [props.onContextMenu, props.dataItem, props.field]);\n var tdProps = null;\n var content = null;\n if (props.rowType === 'groupFooter') {\n tdProps = {\n onContextMenu: onContextMenu,\n className: props.className\n };\n defaultRendering = React.createElement(\"td\", __assign({}, tdProps));\n }\n else if (props.rowType !== 'groupHeader') {\n if (props.field !== undefined) {\n var data = getNestedValue(props.field, props.dataItem);\n if (data !== undefined && data !== null) {\n content = props.format ?\n intl.format(props.format, data) :\n data.toString();\n }\n }\n var className = classNames('k-table-td', props.className, { 'k-selected': props.isSelected });\n tdProps = __assign((_a = { onContextMenu: onContextMenu, colSpan: props.colSpan, style: props.style, className: className, role: 'gridcell', 'aria-colindex': props.ariaColumnIndex, 'aria-selected': props.isSelected }, _a[GRID_COL_INDEX_ATTRIBUTE] = props.columnIndex, _a), navigationAttributes);\n defaultRendering = (React.createElement(\"td\", __assign({}, tdProps), content));\n }\n var rowTypeSetting = props.rowType || 'data';\n var customCells = props.cells;\n if (customCells && customCells[rowTypeSetting]) {\n var CustomCell = customCells[rowTypeSetting];\n return (React.createElement(CustomCell, __assign({}, props, { tdProps: tdProps }), content));\n }\n return props.render ?\n props.render.call(undefined, defaultRendering, props) :\n defaultRendering;\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { classNames, IconWrap, Keys } from '@progress/kendo-react-common';\nimport { useTableKeyboardNavigation } from '@progress/kendo-react-data-tools';\nimport { useLocalization } from '@progress/kendo-react-intl';\nimport { caretAltDownIcon, caretAltLeftIcon, caretAltRightIcon } from '@progress/kendo-svg-icons';\nimport * as React from 'react';\nimport { messages, groupCollapse, groupExpand } from '../messages';\n/**\n * @hidden\n */\nexport var GridGroupCell = function (props) {\n var defaultRendering = null;\n var columnIndex = props.columnIndex, level = props.level, columnsCount = props.columnsCount, rowType = props.rowType, dataItem = props.dataItem, field = props.field, onChange = props.onChange, expanded = props.expanded, render = props.render, dataIndex = props.dataIndex, ariaColumnIndex = props.ariaColumnIndex, isRtl = props.isRtl;\n var definedField = field || '';\n var navigationAttributes = useTableKeyboardNavigation(props.id);\n var localization = useLocalization();\n var tdProps = null;\n var td2Props = null;\n var content = null;\n var onKeyDownHandler = React.useCallback(function (event) {\n if (event.isDefaultPrevented()) {\n return;\n }\n if (event.keyCode === Keys.enter && onChange) {\n event.preventDefault();\n onChange({\n dataItem: dataItem,\n dataIndex: dataIndex,\n syntheticEvent: event,\n field: undefined,\n value: !expanded\n });\n }\n }, [expanded, onChange, dataItem, dataIndex]);\n var onContextMenu = React.useCallback(function (event) {\n if (props.onContextMenu) {\n props.onContextMenu.call(undefined, event, props.dataItem, props.field);\n }\n }, [props.onContextMenu, props.dataItem, props.field]);\n var renderCellCollapse = function (colspan, styles) {\n var _a;\n var baseMessage = expanded ? groupCollapse : groupExpand;\n var message = localization.toLanguageString(baseMessage, messages[baseMessage]);\n tdProps = __assign((_a = { className: 'k-table-td', style: __assign(__assign({}, props.style), styles), colSpan: colspan, key: 'g-colspan', role: 'gridcell' }, _a['aria-selected'] = false, _a['aria-expanded'] = expanded, _a['aria-colindex'] = ariaColumnIndex, _a.onKeyDown = onKeyDownHandler, _a.onContextMenu = onContextMenu, _a), navigationAttributes);\n content = (React.createElement(\"p\", { className: \"k-reset\" },\n React.createElement(\"a\", { onClick: function (e) {\n e.preventDefault();\n if (onChange) {\n onChange({\n dataItem: dataItem,\n dataIndex: dataIndex,\n syntheticEvent: e,\n field: undefined,\n value: !expanded\n });\n }\n }, href: \"#\", tabIndex: -1, \"aria-label\": message },\n React.createElement(IconWrap, { name: expanded ?\n 'caret-alt-down'\n : isRtl ? 'caret-alt-left' : 'caret-alt-right', icon: expanded ?\n caretAltDownIcon\n : isRtl ? caretAltLeftIcon : caretAltRightIcon })),\n ((dataItem[definedField] instanceof Date) && dataItem[definedField].toString) ?\n dataItem[definedField].toString() :\n dataItem[definedField]));\n return (React.createElement(\"td\", __assign({}, tdProps), content));\n };\n if (columnIndex === undefined || level === undefined || columnIndex < level ||\n columnsCount === undefined || rowType !== 'groupHeader' || dataItem[definedField] === undefined) {\n tdProps = {\n style: props.style,\n key: 'g' + columnIndex,\n className: classNames('k-table-td', 'k-group-cell', { 'k-grid-content-sticky': props.locked }),\n role: 'gridcell',\n onContextMenu: onContextMenu\n };\n defaultRendering = (React.createElement(\"td\", __assign({}, tdProps)));\n }\n else if (columnIndex <= level && !props.locked) {\n defaultRendering = renderCellCollapse(columnsCount - columnIndex, {});\n }\n else if (columnIndex <= level && props.locked) {\n td2Props = {\n className: 'k-table-td',\n role: 'gridcell',\n colSpan: (columnsCount - columnIndex),\n style: { borderLeftWidth: 0, borderRightWidth: 0 },\n onContextMenu: onContextMenu\n };\n defaultRendering = (React.createElement(React.Fragment, null,\n renderCellCollapse(0, { position: 'sticky', zIndex: 2 }),\n React.createElement(\"td\", __assign({}, td2Props))));\n }\n var rowTypeSetting = props.rowType || 'data';\n var customCells = props.cells;\n if (customCells && customCells.group\n && customCells.group[rowTypeSetting]) {\n var CustomCell = customCells.group[rowTypeSetting];\n return (React.createElement(CustomCell, __assign({}, props, { tdProps: tdProps, td2Props: td2Props }), content));\n }\n return render ?\n render.call(undefined, defaultRendering, props) :\n defaultRendering;\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { classNames } from '@progress/kendo-react-common';\nimport { GRID_ROW_INDEX_ATTRIBUTE } from '../constants';\n/**\n * The component for each of the items in the `data` property which the Grid renders.\n */\nvar GridRow = /** @class */ (function (_super) {\n __extends(GridRow, _super);\n function GridRow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @hidden\n */\n GridRow.prototype.render = function () {\n var _a;\n var className = classNames('k-table-row', {\n 'k-grouping-row': this.props.rowType === 'groupHeader',\n 'k-group-footer': this.props.rowType === 'groupFooter',\n 'k-master-row': this.props.rowType !== 'groupHeader' &&\n this.props.rowType !== 'groupFooter',\n 'k-table-alt-row k-alt': this.props.rowType !== 'groupHeader' &&\n this.props.rowType !== 'groupFooter' &&\n this.props.isAltRow,\n 'k-selected': this.props.isSelected,\n 'k-grid-edit-row': this.props.isInEdit\n });\n var defaultRendering = (React.createElement(\"tr\", __assign({ id: this.props.id, onClick: this.props.onClick, onDoubleClick: this.props.onDoubleClick, className: className, style: {\n height: this.props.rowHeight ? this.props.rowHeight + 'px' : '',\n visibility: this.props.isHidden ? 'hidden' : ''\n }, role: \"row\", \"aria-rowindex\": this.props.ariaRowIndex, \"absolute-row-index\": this.props.absoluteRowIndex, key: this.props.absoluteRowIndex }, (_a = {}, _a[GRID_ROW_INDEX_ATTRIBUTE] = this.props.rowType === 'data' ? this.props.dataIndex : undefined, _a)), this.props.children));\n return this.props.render ?\n this.props.render.call(undefined, defaultRendering, this.props) :\n defaultRendering;\n };\n return GridRow;\n}(React.Component));\nexport { GridRow };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { guid } from '@progress/kendo-react-common';\nimport { GridColumnMenuWrapper } from '../columnMenu/GridColumnMenuWrapper';\n/**\n * @hidden\n */\nvar GridHeaderSelectionCell = /** @class */ (function (_super) {\n __extends(GridHeaderSelectionCell, _super);\n function GridHeaderSelectionCell() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._inputId = guid();\n return _this;\n }\n GridHeaderSelectionCell.prototype.render = function () {\n var _this = this;\n var columnMenuWrapperProps = this.props.columnMenuWrapperProps;\n var defaultRendering = [\n (React.createElement(\"input\", { key: 0, checked: this.props.selectionValue, id: this._inputId, type: \"checkbox\", className: \"k-checkbox k-checkbox-md k-rounded-md\", onChange: function (e) {\n return _this.props.selectionChange({\n field: _this.props.field,\n syntheticEvent: e\n });\n } })),\n (React.createElement(\"label\", { key: 1, className: \"k-checkbox-label\", htmlFor: this._inputId })),\n columnMenuWrapperProps.columnMenu && React.createElement(GridColumnMenuWrapper, __assign({}, columnMenuWrapperProps))\n ];\n return this.props.render ?\n this.props.render.call(undefined, defaultRendering, this.props) :\n defaultRendering;\n };\n return GridHeaderSelectionCell;\n}(React.Component));\nexport { GridHeaderSelectionCell };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { registerForLocalization, provideLocalizationService as intl } from '@progress/kendo-react-intl';\nimport { messages, noRecords } from './messages';\n/* eslint-disable max-len */\n/**\n * Represents the GridNoRecords component. The component is rendered when the `data` property of the Grid is empty or `null`.\n *\n * @example\n * ```jsx\n * class App extends React.Component {\n * render() {\n * return (\n * <Grid data={[]}>\n * <GridNoRecords>\n * There is no data available\n * </GridNoRecords>\n * <GridColumn field=\"id\" />\n * <GridColumn field=\"name\" />\n * </Grid>\n * );\n * }\n * }\n * ReactDOM.render(\n * <App />,\n * document.querySelector('my-app')\n * );\n * ```\n */\n// tslint:enable:max-line-length\nvar GridNoRecords = /** @class */ (function (_super) {\n __extends(GridNoRecords, _super);\n function GridNoRecords() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @hidden\n */\n GridNoRecords.prototype.render = function () {\n return this.props.children || intl(this).toLanguageString(noRecords, messages[noRecords]);\n };\n /**\n * @hidden\n */\n GridNoRecords.displayName = 'KendoReactGridNoRecords';\n return GridNoRecords;\n}(React.Component));\nexport { GridNoRecords };\nregisterForLocalization(GridNoRecords);\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { footerColumns, resolveCells } from './../utils';\nimport { classNames } from '@progress/kendo-react-common';\n/**\n * @hidden\n */\nvar FooterRow = /** @class */ (function (_super) {\n __extends(FooterRow, _super);\n function FooterRow() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._element = null;\n _this.renderCell = function (column, index) {\n var _a;\n var tdProps = (_a = {\n colSpan: column.colSpan !== 1 ? column.colSpan : undefined,\n style: column.left !== undefined\n ? !_this.props.isRtl\n ? { left: column.left, right: column.right }\n : { left: column.right, right: column.left }\n : {},\n className: classNames('k-table-td', column.locked && column.left !== undefined ? 'k-grid-footer-sticky' : ''),\n key: index,\n role: 'gridcell'\n },\n _a['aria-colindex'] = column.ariaColumnIndex,\n _a);\n var cellProps = __assign({ field: column.field, ariaColumnIndex: column.ariaColumnIndex }, tdProps);\n var customCells = resolveCells(_this.props.cells, column.cells);\n if (customCells && customCells.footerCell) {\n var CustomCell = customCells.footerCell;\n return React.createElement(CustomCell, __assign({}, cellProps, { tdProps: tdProps, index: index }));\n }\n return (column.footerCell && React.createElement(column.footerCell, __assign({}, cellProps, { key: index }))) || (React.createElement(\"td\", __assign({}, tdProps)));\n };\n return _this;\n }\n Object.defineProperty(FooterRow.prototype, \"element\", {\n get: function () {\n return this._element;\n },\n enumerable: false,\n configurable: true\n });\n FooterRow.prototype.render = function () {\n return React.createElement(\"tr\", { className: 'k-table-row', role: \"row\", \"aria-rowindex\": this.props.ariaRowIndex }, footerColumns(this.props.columns).map(this.renderCell));\n };\n return FooterRow;\n}(React.Component));\nexport { FooterRow };\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-react-grid',\n productName: 'KendoReact',\n productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],\n publishDate: 1700064650,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { useTableKeyboardNavigation } from '@progress/kendo-react-data-tools';\nimport * as React from 'react';\n/** @hidden */\nexport var GridDetailCell = function (props) {\n var colSpan = props.colSpan, ariaColIndex = props.ariaColIndex, dataItem = props.dataItem, dataIndex = props.dataIndex, id = props.id;\n var navigationAttributes = useTableKeyboardNavigation(id);\n var onContextMenu = React.useCallback(function (event) {\n if (props.onContextMenu) {\n props.onContextMenu.call(undefined, event, props.dataItem);\n }\n }, [props.onContextMenu, props.dataItem]);\n return (React.createElement(\"td\", __assign({ onContextMenu: onContextMenu, className: \"k-table-td k-detail-cell\", colSpan: colSpan, \"aria-colindex\": ariaColIndex, role: 'gridcell' }, navigationAttributes),\n React.createElement(props.detail, { dataItem: dataItem, dataIndex: dataIndex })));\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { useTableKeyboardNavigation } from '@progress/kendo-react-data-tools';\nimport * as React from 'react';\n/** @hidden */\nexport var GridDetailHierarchyCell = function (props) {\n var navigationAttributes = useTableKeyboardNavigation(props.id);\n return (React.createElement(\"td\", __assign({ className: \"k-table-td k-hierarchy-cell\" }, navigationAttributes, { role: 'gridcell' })));\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { dispatchEvent, classNames, getter, guid, setScrollbarWidth, canUseDOM, memoizeOne, kendoThemeMaps } from '@progress/kendo-react-common';\nimport { tableColumnsVirtualization, Pager, mapColumns, updateLeft, updateRight, isRtl, tableKeyboardNavigation, TableKeyboardNavigationContext, tableKeyboardNavigationScopeAttributes, tableKeyboardNavigationTools as navigationTools, tableKeyboardNavigationBodyAttributes, getSelectionOptions, TableSelection, DropClue, DragClue } from '@progress/kendo-react-data-tools';\nimport { GridSelectionCell } from './cells/GridSelectionCell';\nimport { GridHierarchyCell } from './cells/GridHierarchyCell';\nimport { GridEditCell } from './cells/GridEditCell';\nimport { Header } from './header/Header';\nimport { HeaderRow } from './header/HeaderRow';\nimport { FilterRow } from './header/FilterRow';\nimport { GroupPanel } from './header/GroupPanel';\nimport { Footer } from './footer/Footer';\nimport { VirtualScroll } from './VirtualScroll';\nimport { RowHeightService, VirtualScrollFixed } from './VirtualScrollFixed';\nimport { ColumnResize } from './drag/ColumnResize';\nimport { CommonDragLogic } from './drag/CommonDragLogic';\nimport { getNestedValue, flatData, readColumns, autoGenerateColumns, firefox, firefoxMaxHeight, sanitizeColumns, resolveCells, getColumnWidth } from './utils/index';\nimport { GridCell } from './cells/GridCell';\nimport { GridGroupCell } from './cells/GridGroupCell';\nimport { GridRow } from './rows/GridRow';\nimport { GridHeaderSelectionCell } from './header/GridHeaderSelectionCell';\nimport { GridNoRecords } from './GridNoRecords';\nimport { operators } from './filterCommon';\nimport { FooterRow } from './footer/FooterRow';\nimport { normalize } from './paging/GridPagerSettings';\nimport { pagerMessagesMap } from './messages';\nimport { validatePackage, shouldShowValidationUI, WatermarkOverlay } from '@progress/kendo-react-common';\nimport { packageMetadata } from './package-metadata';\nimport { GridDetailCell } from './cells/GridDetailCell';\nimport { GridDetailHierarchyCell } from './cells/GridDetailHierarchyCell';\n/**\n * Represents the [KendoReact Grid component]({% slug overview_grid %}).\n *\n * @example\n * ```jsx\n * class App extends React.Component {\n * constructor(props) {\n * super(props);\n * this.state = {\n * data: [\n * { 'foo': 'A1', 'bar': 'B1' },\n * { 'foo': 'A2', 'bar': 'B2' },\n * { 'foo': 'A3', 'bar': 'B2' }\n * ]\n * };\n * }\n * render() {\n * return (\n * <Grid\n * data={this.state.data}\n * reorderable={true}\n * >\n * <GridColumn field=\"foo\" />\n * <GridColumn field=\"bar\" />\n * </Grid>\n * );\n * }\n * }\n * ReactDOM.render(<App />, document.querySelector('my-app'));\n * ```\n */\nvar Grid = /** @class */ (function (_super) {\n __extends(Grid, _super);\n function Grid(props) {\n var _this = _super.call(this, props) || this;\n _this._columns = [];\n _this._columnsMap = [[]];\n _this._columnsMutations = 0;\n _this._resized = false;\n _this._shouldUpdateLeftRight = true;\n _this.contextStateRef = { current: undefined };\n _this.navigationStateRef = { current: undefined };\n _this._data = [];\n _this._slicedData = undefined;\n _this.wrapperScrollTop = 0;\n _this.showLicenseWatermark = false;\n _this.headerRef = React.createRef();\n _this.headerElementRef = React.createRef();\n _this._element = null;\n _this.tableElement = null;\n _this.containerRef = React.createRef();\n _this.tableBodyRef = React.createRef();\n _this._footer = null;\n _this.forceUpdateTimeout = undefined;\n _this.isRtl = false;\n _this._gridId = guid();\n _this._gridRoleElementId = guid(); // Needed for aria-control accessibility attribute\n _this.observer = null;\n _this.handleIntersection = function (entries) {\n var options = { rowIndex: _this.rowIndex };\n entries.forEach(function (entry) {\n if (!entry.isIntersecting) {\n _this.setCurrentOnTop(options);\n }\n });\n };\n _this.setCurrentOnTop = function (options) {\n if (!_this.vs.container || _this.props.scrollable === 'none') {\n return;\n }\n if (_this.observer) {\n _this.observer.disconnect();\n }\n var rowIndex = options.rowIndex;\n if (_this.props.scrollable === 'virtual') {\n _this.vs.askedSkip = rowIndex;\n _this.vs.container.scroll(0, Math.round(_this.vs.askedSkip / _this.vs.total * _this.vs.container.scrollHeight));\n }\n else if (_this.element) {\n var selectedRow = rowIndex < 1\n ? _this.element.querySelector(\"tbody > tr:nth-child(\".concat(1, \")\"))\n : _this.element.querySelector(\"tbody > tr:nth-child(\".concat(rowIndex + 1, \")\"));\n if (selectedRow && _this.containerRef.current) {\n _this.containerRef.current.scrollTop = selectedRow.offsetTop;\n }\n }\n };\n /**\n * Method to allow the scroll to be set to a specific row index when the Grid is scrollable. It is zero based.\n *\n * @param options - Object, containing the rowIndex to which is going to be scrolled.\n */\n _this.scrollIntoView = function (options) {\n if (!_this.vs.container || _this.props.scrollable === 'none') {\n return;\n }\n _this.rowIndex = options.rowIndex;\n var rowIndex = options.rowIndex;\n var element = _this.element;\n if (_this.observer && element) {\n _this.observer.disconnect();\n var target = element.querySelector(\"[absolute-row-index=\\\"\".concat(rowIndex, \"\\\"]\"));\n if (target) {\n _this.observer.observe(target);\n }\n else {\n _this.setCurrentOnTop(options);\n }\n }\n };\n /**\n * Method to fit columns according to their content.\n *\n * @param columnIds - Array of column ids to be fitted.\n */\n _this.fitColumns = function (columnIds) {\n _this.columnResize.dblClickHandler(null, columnIds);\n };\n _this.onContextMenu = function (event, dataItem, field) {\n if (_this.props.onContextMenu) {\n var ev = {\n target: _this,\n syntheticEvent: event,\n nativeEvent: event.nativeEvent,\n dataItem: dataItem,\n field: field\n };\n _this.props.onContextMenu.call(undefined, ev);\n }\n };\n _this.getVirtualScroll = function (props) {\n var rowHeight = props.rowHeight, detailRowHeight = props.detailRowHeight, detail = props.detail, expandField = props.expandField, groupable = props.groupable;\n var hasAllData = _this.isAllData();\n var hasRowHeight = rowHeight !== undefined && rowHeight > 0;\n var hasDetailRowHeight = detailRowHeight !== undefined && detailRowHeight > 0;\n var isGroupable = groupable === true || (typeof groupable === 'object' && groupable.enabled !== false);\n var hasDetails = Boolean(detail && expandField);\n if (!hasRowHeight ||\n (isGroupable && !hasAllData) ||\n (hasDetails && (!hasDetailRowHeight || !hasAllData))) {\n return VirtualScroll;\n }\n return VirtualScrollFixed;\n };\n _this.isAllData = function () {\n var _a = _this.props, data = _a.data, total = _a.total;\n if (Array.isArray(data)) {\n return data.length === total;\n }\n else if (data) {\n return total === data.total;\n }\n return false;\n };\n _this.initializeVirtualization = function (total, groupable) {\n _this.reInitVirtualization(_this.props.scrollable === 'virtual', _this.props.total, _this.props.filter, _this.props.group, _this.props.sort, groupable || _this.props.rowHeight === undefined || _this.props.rowHeight === 0);\n _this.vs.fixedScroll = _this.props.fixedScroll || false;\n _this.vs.PageChange = _this.pageChange;\n _this.vs.realSkip = _this.props.skip || 0;\n _this.vs.pageSize = (_this.props.take !== undefined ? _this.props.take : _this.props.pageSize) || 0;\n _this.vs.scrollableVirtual = (_this.props.scrollable === 'virtual');\n _this.vs.total = total;\n _this.vs.propsSkip = (_this.props.skip || 0) + (_this.props.scrollable === 'virtual' ?\n _this.vs.topCacheCount + (_this.vs.attendedSkip - (_this.props.skip || 0)) : 0);\n if (_this.props.rowHeight !== undefined && _this.props.rowHeight > 0 && !groupable) {\n var containerHeight = _this.props.rowHeight * total;\n _this.vs.containerHeight = firefox ? Math.min(firefoxMaxHeight, containerHeight) : containerHeight;\n }\n else {\n _this.vs.containerHeight = 1533915;\n }\n _this.vs.containerRef = _this.containerRef;\n _this.vs.tableBodyRef = _this.tableBodyRef;\n _this.vs.table = _this.tableElement;\n _this._slicedData = undefined;\n if (_this.vs instanceof VirtualScrollFixed) {\n var _a = _this.props, _b = _a.rowHeight, rowHeight = _b === void 0 ? 0 : _b, detail = _a.detail, expandField = _a.expandField;\n var _c = _this.props.detailRowHeight, detailRowHeight = _c === void 0 ? 0 : _c;\n detailRowHeight = Boolean(detail && expandField) ? detailRowHeight : rowHeight;\n if (_this.isAllData()) {\n _this.vs.total = _this._data.length;\n _this._slicedData = _this._data.slice(_this.vs.realSkip, _this.vs.realSkip + _this.vs.pageSize);\n _this.vs.rowHeightService = _this.rowHeightService(_this.vs, _this._data.length, rowHeight, detailRowHeight, _this._data);\n }\n else {\n _this.vs.rowHeightService = new RowHeightService(total, rowHeight, detailRowHeight);\n }\n var containerHeight = _this.vs.rowHeightService.totalHeight();\n _this.vs.containerHeight = firefox ? Math.min(firefoxMaxHeight, containerHeight) : containerHeight;\n }\n };\n _this.scrollHandler = function (event) {\n if (event.target !== event.currentTarget) {\n return;\n }\n clearTimeout(_this.forceUpdateTimeout);\n _this.vs.table = _this.tableElement;\n var scrollLeft = event.currentTarget.scrollLeft;\n var scrollTop = event.currentTarget.scrollTop;\n if (_this.props.columnVirtualization && (!_this.vs.scrollableVirtual || scrollTop === _this.wrapperScrollTop)) {\n _this.forceUpdateTimeout = window.setTimeout(function () { _this.forceUpdate(); }, 0);\n }\n if (_this._header) {\n _this._header.setScrollLeft(scrollLeft);\n }\n if (_this._footer) {\n _this._footer.setScrollLeft(scrollLeft);\n }\n if (_this.vs && scrollTop !== _this.wrapperScrollTop) {\n _this.vs.scrollHandler(event);\n }\n dispatchEvent(_this.props.onScroll, event, _this, undefined);\n _this.wrapperScrollTop = scrollTop;\n };\n _this.onKeyDown = function (event) {\n tableKeyboardNavigation.onKeyDown(event, {\n contextStateRef: _this.contextStateRef,\n navigationStateRef: _this.navigationStateRef,\n onNavigationAction: _this.onNavigationAction\n });\n if (_this.props.onKeyDown) {\n var _a = getSelectionOptions(_this.props.selectable), mode = _a.mode, cell = _a.cell;\n var ev = __assign({ dataItems: _this.getLeafDataItems(), mode: mode, cell: cell, componentId: _this._gridId, selectedField: _this.props.selectedField }, _this.getArguments(event));\n _this.props.onKeyDown.call(undefined, ev);\n }\n };\n _this.onFocus = function (event) {\n tableKeyboardNavigation.onFocus(event, {\n contextStateRef: _this.contextStateRef\n });\n };\n _this.onNavigationAction = function (options) {\n if (_this.props.onNavigationAction) {\n var ev = __assign({ focusElement: options.focusElement }, _this.getArguments(options.event));\n _this.props.onNavigationAction.call(undefined, ev);\n }\n };\n _this.rowClick = function (e, item) {\n if (_this.props.onRowClick && e.target.nodeName === 'TD') {\n _this.props.onRowClick.call(undefined, __assign({ dataItem: item.dataItem }, _this.getArguments(e)));\n }\n };\n _this.rowDblClick = function (e, item) {\n if (_this.props.onRowDoubleClick && e.target.nodeName === 'TD') {\n _this.props.onRowDoubleClick.call(undefined, __assign({ dataItem: item.dataItem }, _this.getArguments(e)));\n }\n };\n _this.itemChange = function (event) {\n var itemChange = _this.props.onItemChange;\n if (event.field === _this.props.expandField || _this.props.group && event.field === undefined) {\n var expandChange = _this.props.onExpandChange;\n if (expandChange) {\n expandChange.call(undefined, __assign(__assign({}, _this.getArguments(event.syntheticEvent)), { dataItem: event.dataItem, dataIndex: event.dataIndex, value: event.value }));\n }\n return;\n }\n if (itemChange) {\n itemChange.call(undefined, __assign(__assign({}, _this.getArguments(event.syntheticEvent)), { dataItem: event.dataItem, field: event.field, value: event.value }));\n }\n };\n _this.onHeaderSelectionChange = function (event) {\n if (_this.props.onHeaderSelectionChange) {\n _this.props.onHeaderSelectionChange.call(undefined, {\n field: event.field,\n nativeEvent: event.syntheticEvent && event.syntheticEvent.nativeEvent,\n syntheticEvent: event.syntheticEvent,\n target: _this,\n dataItems: _this.getLeafDataItems(),\n selectedField: _this.props.selectedField\n });\n }\n };\n _this.selectionRelease = function (event) {\n if (_this.props.onSelectionChange) {\n var selectionEvent = __assign({ syntheticEvent: undefined, target: _this, selectedField: _this.props.selectedField || '', componentId: _this._gridId, dataItems: _this.getLeafDataItems(), dataItem: null }, event);\n _this.props.onSelectionChange.call(undefined, selectionEvent);\n }\n };\n _this.pageChange = function (page, syntheticEvent, targetEvent) {\n _this.raiseDataEvent(_this.props.onPageChange, { page: page }, { skip: page.skip, take: page.take }, syntheticEvent, targetEvent);\n };\n _this.pagerPageChange = function (event) {\n _this.pageChange({ skip: event.skip, take: event.take }, event.syntheticEvent, event.targetEvent);\n };\n _this.sortChange = function (sort, syntheticEvent) {\n _this.raiseDataEvent(_this.props.onSortChange, { sort: sort }, __assign({ sort: sort }, (_this.props.scrollable === 'virtual' ? { skip: 0 } : {})), syntheticEvent);\n };\n _this.filterChange = function (filter, syntheticEvent) {\n _this.raiseDataEvent(_this.props.onFilterChange, { filter: filter }, { filter: filter || undefined, skip: 0 }, syntheticEvent);\n };\n _this.groupChange = function (groups, event) {\n var syntheticEvent = event.nativeEvent ?\n event : { nativeEvent: event.nativeEvent || event.originalEvent };\n _this.raiseDataEvent(_this.props.onGroupChange, { group: groups }, { group: groups, skip: 0 }, syntheticEvent);\n };\n _this.onResize = function (index, newWidth, oldWidth, nativeEvent, end, targetId) {\n _this.resetTableWidth();\n _this._shouldUpdateLeftRight = true;\n _this._resized = true;\n _this._columnsMutations++;\n if (_this.props.onColumnResize) {\n _this.props.onColumnResize.call(undefined, {\n columns: _this.columns,\n nativeEvent: nativeEvent,\n targetColumnId: targetId,\n index: index,\n newWidth: newWidth,\n oldWidth: oldWidth,\n end: end,\n target: _this\n });\n }\n };\n _this.reInitVirtualization = memoizeOne(function (_vScrolling, _total, _filter, _group, _sort, useCached) {\n _this.vs.reset();\n var VS = _this.getVirtualScroll(_this.props);\n _this.vs = new VS(useCached);\n });\n _this.flatData = memoizeOne(function (propsData, groupingFooter, skip, group, expandField, _filter, _sort) {\n var flattedData = [];\n var resolvedGroupsCount = flatData(flattedData, propsData, groupingFooter, { index: skip }, group !== undefined, expandField);\n return { flattedData: flattedData, resolvedGroupsCount: resolvedGroupsCount };\n });\n _this.rowHeightService = memoizeOne(function (_vs, total, rowHeight, detailRowHeight, data) {\n return new RowHeightService(total, rowHeight, detailRowHeight, data);\n });\n _this.childrenToArray = memoizeOne(function (children) {\n return React.Children.toArray(children);\n });\n _this.readColumns = memoizeOne(function (children, idPrefix, _mutationsCount) {\n var columnElements = children.filter(function (child) { return child && child.type && child.type.displayName === 'KendoReactGridColumn'; });\n return readColumns(columnElements, _this.columns, { prevId: 0, idPrefix: idPrefix });\n });\n _this.mapColumns = memoizeOne(function (columns) {\n return mapColumns(columns);\n });\n _this.configureColumns = memoizeOne(function (columns, groupCount, idPrefix) {\n if (_this.props.selectedField) {\n columns.filter(function (c) { return c.field === _this.props.selectedField; }).forEach(function (c) {\n c.width = c.width || '50px';\n c.cell = c.cell || GridSelectionCell;\n c.headerCell = c.headerCell || GridHeaderSelectionCell;\n });\n }\n var defaultServiceProps = {\n id: '',\n resizable: true,\n width: '32px',\n title: ' ',\n declarationIndex: -1,\n orderIndex: -1,\n children: [],\n parentIndex: -1,\n depth: 0,\n colSpan: 0,\n rowSpan: 0,\n left: 0,\n right: 0,\n index: 0,\n rightBorder: false,\n ariaColumnIndex: 0,\n isAccessible: true\n };\n var columnIndexOffset = 0;\n if (_this.props.expandField && (_this.props.onExpandChange) && _this.props.detail) {\n columns.unshift(__assign(__assign({}, defaultServiceProps), { cell: GridHierarchyCell, field: _this.props.expandField, headerClassName: 'k-hierarchy-cell k-header', id: navigationTools.generateNavigatableId(\"\".concat(_this._columns.length), idPrefix, 'column') }));\n columnIndexOffset++;\n }\n for (var i = 0; i < groupCount; i++) {\n columns.unshift(__assign(__assign({}, defaultServiceProps), { isAccessible: false, cell: GridGroupCell, field: 'value', locked: _this.props.lockGroups }));\n columnIndexOffset++;\n }\n columns.slice(columnIndexOffset).forEach(function (c) { return c.parentIndex >= 0 && (c.parentIndex += columnIndexOffset); });\n });\n _this.getHeaderRow = memoizeOne(function (sort, sortable, group, groupable, filter, filterable, filterOperators, headerCellRender, columnMenu, columns, columnsMap, isHeaderRtl) {\n return (React.createElement(HeaderRow, { cells: _this.props.cells, sort: sort, sortable: sortable, sortChange: _this.sortChange, group: group || [], groupable: groupable, groupChange: _this.groupChange, filter: filter, filterable: filterable, filterOperators: filterOperators, filterChange: _this.filterChange, columnMenu: columnMenu, selectionChange: _this.onHeaderSelectionChange, columns: columns, columnResize: _this.columnResize, pressHandler: _this.dragLogic.pressHandler, dragHandler: _this.dragLogic.dragHandler, releaseHandler: _this.dragLogic.releaseHandler, columnsMap: columnsMap, cellRender: headerCellRender, isRtl: isHeaderRtl, dragClue: _this.dragLogic.dragClueRef, headerRef: _this.headerElementRef, containerRef: _this.containerRef }));\n });\n _this.resolveTitle = function (field) {\n var column = _this._columns.find(function (c) { return c.field === field; });\n var title = column && (column.title || column.field);\n return title === undefined ? field : title;\n };\n _this.getLeafDataItems = function () {\n return _this._data.filter(function (item) { return item.rowType === 'data'; }).map(function (item) { return item.dataItem; });\n };\n validatePackage(packageMetadata);\n _this.showLicenseWatermark = shouldShowValidationUI(packageMetadata);\n var groupable = _this.props.groupable === true ||\n (typeof _this.props.groupable === 'object') && _this.props.groupable.enabled !== false;\n var VS = _this.getVirtualScroll(props);\n _this.vs = new VS(groupable || props.rowHeight === undefined || props.rowHeight === 0);\n _this.dragLogic = new CommonDragLogic(_this.columnReorder.bind(_this), _this.groupReorder.bind(_this), _this.columnToGroup.bind(_this));\n _this.columnResize = new ColumnResize(_this.onResize);\n tableKeyboardNavigation.onConstructor({\n navigatable: Boolean(props.navigatable),\n contextStateRef: _this.contextStateRef,\n navigationStateRef: _this.navigationStateRef,\n idPrefix: _this._gridId\n });\n return _this;\n }\n Object.defineProperty(Grid.prototype, \"columns\", {\n /* eslint-disable max-len */\n /**\n * A getter of the current columns. Gets the current column width or current columns, or any other [`GridColumnProps`]({% slug api_grid_gridcolumnprops %}) for each defined column. Can be used on each Grid instance. To obtain the instance of the rendered Grid, use the `ref` callback. The following example demonstrates how to reorder the columns by dragging their handlers and check the properties afterwards. You can check the result in the browser console.\n *\n * @example\n * ```jsx\n * class App extends React.Component {\n * constructor(props) {\n * super(props);\n * this.state = {\n * data: [\n * { 'foo': 'A1', 'bar': 'B1' },\n * { 'foo': 'A2', 'bar': 'B2' },\n * { 'foo': 'A3', 'bar': 'B2' }\n * ]\n * };\n * this.grid = null;\n * }\n * render() {\n * return (\n * <div>\n * <Grid\n * data={this.state.data}\n * reorderable={true}\n * ref={(g) => { this.grid = g; }}\n * >\n * <GridColumn field=\"foo\" />\n * <GridColumn field=\"bar\" />\n * </Grid>\n * <button onClick={() => console.log(JSON.stringify(this.grid.columns))}>\n * log current properties into browser console.\n * </button>\n * </div>\n * );\n * }\n * }\n * ReactDOM.render(<App />, document.querySelector('my-app'));\n * ```\n */\n // tslint:enable:max-line-length\n get: function () {\n var shuffledColumns = this._columns.filter(function (q) { return q.declarationIndex >= 0 && q.parentIndex === -1; });\n return sanitizeColumns(shuffledColumns);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Grid.prototype, \"element\", {\n /**\n * Returns the HTML element of the Grid component.\n */\n get: function () {\n return this._element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Grid.prototype, \"document\", {\n get: function () {\n if (!canUseDOM) {\n return;\n }\n // useful only for user actions\n return (this.element && this.element.ownerDocument) || document;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Grid.prototype, \"_header\", {\n get: function () {\n return this.headerRef.current;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * @hidden\n */\n Grid.prototype.componentDidMount = function () {\n this.resetTableWidth();\n setScrollbarWidth();\n var rtl = isRtl(this.element);\n this.isRtl = rtl;\n tableKeyboardNavigation.onComponentDidMount({\n scope: this.element || undefined,\n contextStateRef: this.contextStateRef,\n navigationStateRef: this.navigationStateRef\n });\n if (this.isRtl) {\n this.forceUpdate();\n }\n var observerOptions = {\n rootMargin: '0px',\n threshold: 0.9\n };\n this.observer = (canUseDOM && window.IntersectionObserver &&\n new window.IntersectionObserver(this.handleIntersection, observerOptions) || null);\n };\n /**\n * @hidden\n */\n Grid.prototype.getSnapshotBeforeUpdate = function () {\n tableKeyboardNavigation.onGetSnapshotBeforeUpdate({\n document: this.document,\n contextStateRef: this.contextStateRef,\n navigationStateRef: this.navigationStateRef\n });\n return null;\n };\n /**\n * @hidden\n */\n Grid.prototype.componentDidUpdate = function () {\n this.resetTableWidth();\n setScrollbarWidth();\n if (this.vs.tableTransform && this.vs.table) {\n this.vs.table.style.transform = this.vs.tableTransform;\n this.vs.tableTransform = '';\n }\n tableKeyboardNavigation.onComponentDidUpdate({\n scope: this.element || undefined,\n contextStateRef: this.contextStateRef,\n navigationStateRef: this.navigationStateRef\n });\n };\n /**\n * @hidden\n */\n Grid.prototype.componentWillUnmount = function () {\n clearTimeout(this.forceUpdateTimeout);\n };\n /**\n * @hidden\n */\n Grid.prototype.render = function () {\n var _a, _b, _c, _d;\n var _this = this;\n var _e;\n var total = this.props.total || 0;\n var idPrefix = navigationTools.getIdPrefix(this.navigationStateRef);\n var propsData = [];\n if (Array.isArray(this.props.data)) {\n propsData = this.props.data;\n total = total || this.props.data.length;\n }\n else if (this.props.data) {\n propsData = this.props.data.data;\n total = total || this.props.data.total;\n }\n var groupingFooter = (typeof this.props.groupable === 'object') && this.props.groupable.footer || 'none';\n var _f = this.flatData(propsData, groupingFooter, this.props.skip || 0, this.props.group, this.props.expandField, this.props.filter, this.props.sort), resolvedGroupsCount = _f.resolvedGroupsCount, flattedData = _f.flattedData;\n this._data = flattedData;\n var groupable = this.props.groupable === true ||\n (typeof this.props.groupable === 'object') && this.props.groupable.enabled !== false;\n this.columnResize.resizable = this.props.resizable || false;\n this.dragLogic.reorderable = this.props.reorderable || false;\n this.dragLogic.groupable = groupable;\n var tableUserSelect = this.props.selectable && this.props.selectable.drag ? 'none' : undefined;\n this.initializeVirtualization(total, groupable);\n var children = this.childrenToArray(this.props.children);\n this.initColumns(children, resolvedGroupsCount);\n var toolbar = children.map(function (child) {\n if (child && child.type && child.type.displayName === 'KendoReactGridToolbar') {\n return React.cloneElement(child, __assign(__assign({}, child.props), { ariaControls: _this._gridRoleElementId }));\n }\n return null;\n });\n var noRecords = children.filter(function (child) { return child && child.type &&\n child.type.displayName === 'KendoReactGridNoRecords'; });\n var statusBar = children.filter(function (child) { return child && child.type &&\n child.type.displayName === 'KendoReactGridStatusBar'; });\n var leafColumns = this._columns.filter(function (c) { return c.children.length === 0; });\n var groupingPanel = groupable && (React.createElement(GroupPanel, { group: this.props.group || [], groupChange: this.groupChange, pressHandler: this.dragLogic.pressHandler, dragHandler: this.dragLogic.dragHandler, releaseHandler: this.dragLogic.releaseHandler, refCallback: this.dragLogic.refGroupPanelDiv, resolveTitle: this.resolveTitle, ariaControls: this._gridRoleElementId, onContextMenu: this.onContextMenu }));\n var _g = this.props, sort = _g.sort, sortable = _g.sortable, group = _g.group, filter = _g.filter, filterable = _g.filterable, _h = _g.filterOperators, filterOperators = _h === void 0 ? operators : _h, headerCellRender = _g.headerCellRender, columnMenu = _g.columnMenu;\n var header = (React.createElement(Header, { size: this.props.size, columnResize: this.columnResize, staticHeaders: this.props.scrollable !== 'none', scrollableDataElement: function () { return _this.vs.container; }, draggable: this.props.reorderable || groupable, ref: this.headerRef, elemRef: this.headerElementRef, headerRow: this.getHeaderRow(sort, sortable, group, groupable, filter, filterable, filterOperators, headerCellRender, columnMenu, this._columns, this._columnsMap, this.isRtl), filterRow: this.props.filterable && React.createElement(FilterRow, { cells: this.props.cells, size: this.props.size, columns: this._columns, filter: this.props.filter, filterOperators: this.props.filterOperators || operators, filterChange: this.filterChange, sort: this.props.sort, cellRender: this.props.filterCellRender, isRtl: this.isRtl, ariaRowIndex: this._columnsMap.length + 1 }) || undefined, cols: leafColumns.map(function (column, index) { return (React.createElement(\"col\", { key: index.toString(), width: getColumnWidth(column) })); }) }));\n var scrollLeft = this.vs && this.vs.container && this.vs.container.scrollLeft || 0;\n var tableWidth = parseFloat(((this.props.style || {}).width || '').toString());\n var _j = tableColumnsVirtualization({\n enabled: this.props.columnVirtualization,\n columns: leafColumns,\n tableViewPortWidth: tableWidth,\n scrollLeft: scrollLeft\n }), colSpans = _j.colSpans, isColHidden = _j.hiddenColumns;\n var dataRow = function (item, rowId, rowDataIndex) {\n var isInEdit = false;\n var selectedValue = _this.props.selectedField ? getNestedValue(_this.props.selectedField, item.dataItem) : undefined;\n return {\n row: leafColumns.map(function (column, columnIndex) {\n if (isColHidden[columnIndex]) {\n return null;\n }\n var columnKey = column.id ? column.id : columnIndex;\n var className = \"\".concat(column.className ? column.className + ' ' : '')\n + \"\".concat(column.locked ? 'k-grid-content-sticky' : '');\n var style = column.left !== undefined\n ? !_this.isRtl\n ? { left: column.left, right: column.right }\n : { left: column.right, right: column.left }\n : {};\n var currentColumnIsInEdit = false;\n if (column.editable && _this.props.editField) {\n var inEdit = getNestedValue(_this.props.editField, item.dataItem);\n if (inEdit && (inEdit === true || inEdit === column.field)) {\n isInEdit = true;\n currentColumnIsInEdit = true;\n }\n }\n var Cell = column.cell || (currentColumnIsInEdit && GridEditCell) || GridCell;\n return (React.createElement(Cell, { onContextMenu: _this.onContextMenu, key: columnKey, locked: _this.props.lockGroups, id: navigationTools.generateNavigatableId(\"\".concat(rowId, \"-\").concat(String(columnIndex)), idPrefix), colSpan: colSpans[columnIndex], dataItem: item.dataItem, field: column.field, editor: column.editor, format: column.format, className: className, render: _this.props.cellRender, cells: resolveCells(_this.props.cells, column.cells), onChange: _this.itemChange, selectionChange: (_this.props.onSelectionChange) ?\n (function (e) { _this.selectionChange({ event: e, dataItem: item.dataItem, dataIndex: rowDataIndex, columnIndex: columnIndex }); }) :\n undefined, columnIndex: columnIndex, columnsCount: leafColumns.length, rowType: item.rowType, level: item.level, expanded: item.expanded, dataIndex: item.dataIndex, style: style, ariaColumnIndex: column.ariaColumnIndex, isSelected: Array.isArray(selectedValue) && selectedValue.indexOf(columnIndex) > -1 }));\n }),\n isInEdit: isInEdit,\n isSelected: typeof selectedValue === 'boolean' && selectedValue\n };\n };\n var hiddenRows = 0;\n if (this.props.scrollable === 'virtual') {\n for (var i = 0; i < this.vs.topCacheCount + this.vs.attendedSkip - (this.props.skip || 0); i++) {\n var item = this._data.shift();\n if (item) {\n this._data.push(item);\n hiddenRows++;\n if (item.rowType === 'groupHeader') {\n i--;\n }\n }\n else {\n break;\n }\n }\n }\n var hidden = function (index) {\n return (index >= _this._data.length - hiddenRows);\n };\n var absoluteDataIndex = this.vs.realSkip || 0;\n var body = [];\n var rowIndexStart = this._columnsMap.length + (this.props.filterable ? 1 : 0) + 1;\n var currentAriaRowIndex = 0;\n if (this._data.length) {\n var dataIndex_1 = -1;\n var detailRowCount_1 = 0;\n (this._slicedData || this._data).forEach(function (item, rowIndex) {\n if (item.rowType === 'data') {\n absoluteDataIndex++;\n dataIndex_1++;\n }\n var isAlt = absoluteDataIndex % 2 === 0;\n var dataItemKey = _this.props.dataItemKey && getter(_this.props.dataItemKey)(item.dataItem);\n var absoluteIndex = rowIndex + (_this.vs.realSkip || 0);\n var rowId = dataItemKey ? dataItemKey : 'ai' + absoluteIndex;\n var detailRowId = rowId + '_1';\n var gridRow = dataRow(item, rowId, dataIndex_1);\n currentAriaRowIndex = absoluteIndex + rowIndexStart + detailRowCount_1;\n body.push((React.createElement(GridRow, { key: rowId, dataItem: item.dataItem, isAltRow: isAlt, isInEdit: gridRow.isInEdit, rowType: item.rowType, isHidden: hidden(rowIndex), onClick: function (e) { return _this.rowClick(e, item); }, onDoubleClick: function (e) { return _this.rowDblClick(e, item); }, selectedField: _this.props.selectedField, rowHeight: _this.props.rowHeight, render: _this.props.rowRender, ariaRowIndex: currentAriaRowIndex, absoluteRowIndex: absoluteIndex, dataIndex: dataIndex_1, isSelected: gridRow.isSelected }, gridRow.row)));\n if (_this.props.detail && item.rowType === 'data' && item.expanded) {\n var detailColspan = (leafColumns.length\n - (_this.props.expandField ? 1 : 0)\n - (_this.props.group ? _this.props.group.length : 0)) || 1;\n detailRowCount_1++;\n currentAriaRowIndex = absoluteIndex + rowIndexStart + detailRowCount_1;\n body.push((React.createElement(\"tr\", { key: detailRowId, className: classNames('k-table-row', isAlt ? 'k-detail-row k-table-alt-row k-alt' : 'k-detail-row'), style: { visibility: hidden(rowIndex) ? 'hidden' : '', height: _this.props.detailRowHeight }, role: \"row\", \"aria-rowindex\": currentAriaRowIndex },\n _this.props.group && _this.props.group.map(function (gr, idx) {\n var _a;\n var columnStyle = (_a = gridRow === null || gridRow === void 0 ? void 0 : gridRow.row[idx]) === null || _a === void 0 ? void 0 : _a.props.style;\n var style = columnStyle\n ? !_this.isRtl\n ? { left: columnStyle.left, right: columnStyle.right }\n : { left: columnStyle.right, right: columnStyle.left }\n : {};\n return (React.createElement(GridGroupCell, { id: '', dataIndex: item.dataIndex, field: gr.field, dataItem: item.dataItem, key: idx, style: style, ariaColumnIndex: 1 + idx, isSelected: false, locked: _this.props.lockGroups, isRtl: _this.isRtl, cells: _this.props.cells }));\n }),\n _this.props.expandField &&\n React.createElement(GridDetailHierarchyCell, { id: navigationTools.generateNavigatableId(\"\".concat(detailRowId, \"-dhcell\"), idPrefix) }),\n React.createElement(GridDetailCell, { onContextMenu: _this.onContextMenu, dataItem: item.dataItem, dataIndex: item.dataIndex, colSpan: detailColspan, ariaColIndex: 2 + (_this.props.group ? _this.props.group.length : 0), detail: _this.props.detail, id: navigationTools.generateNavigatableId(\"\".concat(detailRowId, \"-dcell\"), idPrefix) }))));\n }\n });\n }\n else {\n body.push((React.createElement(\"tr\", { key: \"no-records\", className: \"k-table-row k-grid-norecords\", role: 'row', \"aria-rowindex\": rowIndexStart },\n React.createElement(\"td\", { className: 'k-table-td', colSpan: leafColumns.length, role: 'gridcell' }, noRecords.length ? noRecords : React.createElement(GridNoRecords, null)))));\n }\n var pagerProps = __assign({ size: this.props.size, onPageChange: this.pagerPageChange, total: total, dir: this.isRtl ? 'rtl' : undefined, skip: this.vs.propsSkip || 0, take: (this.props.take !== undefined ? this.props.take : this.props.pageSize) || 10, messagesMap: pagerMessagesMap }, (normalize(this.props.pageable || {})));\n var pager = this.props.pager ? React.createElement(this.props.pager, __assign({}, pagerProps)) : React.createElement(Pager, __assign({ className: \"k-grid-pager\" }, pagerProps));\n var sorted = function (field) {\n return _this.props.sort && _this.props.sort.filter(function (descriptor) { return descriptor.field === field; }).length > 0;\n };\n var footerCols = function (column, index) {\n return (React.createElement(\"col\", { key: index.toString(), width: getColumnWidth(column) }));\n };\n var footer = (Boolean((_e = this.props.cells) === null || _e === void 0 ? void 0 : _e.footerCell)\n || this._columns.some(function (c) { var _a; return Boolean(c.footerCell || Boolean((_a = c.cells) === null || _a === void 0 ? void 0 : _a.footerCell)); }))\n ? (React.createElement(Footer, { size: this.props.size, columnResize: this.columnResize, staticHeaders: this.props.scrollable !== 'none', ref: function (f) { return _this._footer = f; }, row: React.createElement(FooterRow, { cells: this.props.cells, columns: this._columns, isRtl: this.isRtl, ariaRowIndex: currentAriaRowIndex + 1 }), cols: leafColumns.map(footerCols) })) : null;\n var colGroups = (React.createElement(\"colgroup\", { ref: function (c) {\n _this.columnResize.colGroupMain = c;\n } }, leafColumns.map(function (column, index) { return (React.createElement(\"col\", { key: index.toString(), className: sorted(column.field) ? 'k-sorted' : undefined, width: getColumnWidth(column) })); })));\n var enableDragClues = this.dragLogic.reorderable || this.dragLogic.groupable;\n var tableDisplay = this.props.columnVirtualization ? 'block' : 'table';\n if (this.props.scrollable === 'none') {\n return (React.createElement(TableKeyboardNavigationContext.Provider, { value: this.contextStateRef.current },\n React.createElement(\"div\", __assign({ id: this.props.id, style: this.props.style, className: classNames('k-grid', (_a = {\n 'k-grid-md': !this.props.size\n },\n _a[\"k-grid-\".concat(kendoThemeMaps.sizeMap[this.props.size] || this.props.size)] = this.props.size,\n _a), this.props.className), ref: function (el) { _this._element = el; }, \"aria-label\": this.props.ariaLabel, onKeyDown: this.onKeyDown, onFocus: this.onFocus }, tableKeyboardNavigationScopeAttributes),\n toolbar,\n groupingPanel,\n React.createElement(TableSelection, { selectable: this.props.selectable, onRelease: this.selectionRelease, childRef: function (table) { _this.tableElement = table; } },\n React.createElement(\"table\", { className: classNames('k-table k-grid-table', (_b = {}, _b[\"k-table-\".concat(kendoThemeMaps.sizeMap[this.props.size] || this.props.size)] = this.props.size, _b)), style: { userSelect: tableUserSelect, display: tableDisplay } },\n colGroups,\n header,\n React.createElement(\"tbody\", __assign({ role: 'rowgroup', className: 'k-table-tbody' }, tableKeyboardNavigationBodyAttributes), body),\n footer)),\n enableDragClues && (React.createElement(React.Fragment, null,\n React.createElement(DropClue, { ref: this.dragLogic.refDropElementClue }),\n React.createElement(DragClue, { ref: this.dragLogic.refDragElementClue })))),\n statusBar,\n this.props.pageable && pager));\n }\n var wrapperStyle = this.props.style || {};\n if (this.props.scrollable === 'virtual') {\n // Set the default height for vs if not existing.\n if (!wrapperStyle.height) {\n wrapperStyle = Object.assign({}, wrapperStyle, { height: '450px' });\n }\n }\n return (React.createElement(TableKeyboardNavigationContext.Provider, { value: this.contextStateRef.current },\n React.createElement(\"div\", __assign({ id: this.props.id, style: wrapperStyle, className: classNames('k-grid', (_c = {\n 'k-grid-md': !this.props.size\n },\n _c[\"k-grid-\".concat(kendoThemeMaps.sizeMap[this.props.size] || this.props.size)] = this.props.size,\n _c['k-grid-virtual'] = this.props.scrollable === 'virtual',\n _c), this.props.className), ref: function (el) {\n _this._element = el;\n }, \"aria-label\": this.props.ariaLabel, onKeyDown: this.onKeyDown, onFocus: this.onFocus }, tableKeyboardNavigationScopeAttributes),\n toolbar,\n groupingPanel,\n React.createElement(\"div\", { className: 'k-grid-aria-root', role: \"grid\", \"aria-colcount\": leafColumns.length, \"aria-rowcount\": total, id: this._gridRoleElementId },\n header,\n React.createElement(\"div\", { className: \"k-grid-container\", role: \"presentation\" },\n React.createElement(\"div\", { ref: this.containerRef, className: \"k-grid-content k-virtual-content\", onScroll: this.scrollHandler, role: \"presentation\" },\n React.createElement(\"div\", { className: 'k-grid-table-wrap', role: \"presentation\" },\n React.createElement(TableSelection, { selectable: this.props.selectable, onRelease: this.selectionRelease, childRef: function (table) {\n _this.tableElement = table;\n } },\n React.createElement(\"table\", { className: classNames('k-table k-grid-table', (_d = {\n 'k-table-md': !this.props.size\n },\n _d[\"k-table-\".concat(kendoThemeMaps.sizeMap[this.props.size] || this.props.size)] = this.props.size,\n _d)), role: \"presentation\", style: { userSelect: tableUserSelect, display: tableDisplay } },\n colGroups,\n React.createElement(\"tbody\", __assign({ className: 'k-table-tbody', ref: this.tableBodyRef, role: 'rowgroup' }, tableKeyboardNavigationBodyAttributes), body)))),\n React.createElement(\"div\", { className: \"k-height-container\", role: \"presentation\" },\n React.createElement(\"div\", { style: this.props.scrollable === 'virtual' ?\n { 'height': (this.vs.containerHeight) + 'px' } : {} })))),\n footer,\n enableDragClues && (React.createElement(React.Fragment, null,\n React.createElement(DropClue, { ref: this.dragLogic.refDropElementClue }),\n React.createElement(DragClue, { ref: this.dragLogic.refDragElementClue }))),\n this.showLicenseWatermark && React.createElement(WatermarkOverlay, null)),\n statusBar,\n this.props.pageable && pager)));\n };\n Grid.prototype.selectionChange = function (options) {\n if (this.props.onSelectionChange) {\n var event_1 = options.event, dataItem = options.dataItem, dataIndex = options.dataIndex, columnIndex = options.columnIndex;\n var _a = getSelectionOptions(this.props.selectable), mode = _a.mode, cell = _a.cell;\n var selectionEvent = __assign(__assign({}, this.getArguments(event_1.syntheticEvent)), { dataItem: dataItem, startColIndex: columnIndex, endColIndex: columnIndex, startRowIndex: dataIndex, endRowIndex: dataIndex, dataItems: this.getLeafDataItems(), altKey: false, ctrlKey: false, shiftKey: false, metaKey: false, mode: mode, cell: cell, isDrag: false, componentId: this._gridId, selectedField: this.props.selectedField || '' });\n this.props.onSelectionChange.call(undefined, selectionEvent);\n }\n };\n Grid.prototype.raiseDataEvent = function (handler, data, moreData, syntheticEvent, targetEvent) {\n var dataStateChange = this.props.onDataStateChange;\n if (handler) {\n var ev = __assign(__assign(__assign({}, this.getArguments(syntheticEvent)), data), { targetEvent: targetEvent });\n handler.call(undefined, ev);\n }\n else if (dataStateChange) {\n dataStateChange.call(undefined, __assign(__assign({}, this.getArguments(syntheticEvent)), { targetEvent: targetEvent || {}, dataState: __assign(__assign({}, this.getDataState()), moreData) }));\n }\n };\n Grid.prototype.columnReorder = function (prev, next, nativeEvent) {\n var _a;\n var _this = this;\n var column = this._columns[prev];\n var depth = column.depth;\n var end = function (index) {\n do {\n index++;\n } while (index < _this._columns.length && _this._columns[index].depth > depth);\n return index;\n };\n var spliced = this._columns.splice(prev, end(prev) - prev);\n (_a = this._columns).splice.apply(_a, __spreadArray([prev < next ? end(next - spliced.length) : next, 0], spliced, false));\n this._columns.filter(function (q) { return q.declarationIndex >= 0; }).forEach(function (c, i) { return c.orderIndex = i; });\n this._columnsMutations++;\n var shouldUpdateRL = this._columns[prev].locked && this._columns[next].locked;\n updateLeft(this._columnsMap, this._columns, shouldUpdateRL || this._shouldUpdateLeftRight);\n updateRight(this._columnsMap, this._columns, shouldUpdateRL || this._shouldUpdateLeftRight);\n if (this._resized) {\n this._shouldUpdateLeftRight = false;\n this._resized = false;\n }\n var eventColumnProps = this.columns;\n this.forceUpdate();\n if (this.props.onColumnReorder) {\n var reorderEvent = {\n target: this,\n columns: eventColumnProps,\n columnId: column.id,\n nativeEvent: nativeEvent\n };\n this.props.onColumnReorder.call(undefined, reorderEvent);\n }\n };\n Grid.prototype.groupReorder = function (prevIndex, nextIndex, nativeEvent) {\n if (this.props.group === undefined) {\n return;\n }\n var group = this.props.group.slice();\n group.splice.apply(group, __spreadArray([nextIndex, 0], group.splice(prevIndex, 1), false));\n this.groupChange(group, nativeEvent);\n };\n Grid.prototype.columnToGroup = function (columnIndex, groupIndex, nativeEvent) {\n var field = this._columns[columnIndex].field;\n if (!field) {\n return;\n }\n var group = (this.props.group || []).slice();\n group.splice(groupIndex, 0, { field: field });\n this.groupChange(group, nativeEvent);\n };\n Grid.prototype.resetTableWidth = function () {\n var totalWidth = 0;\n if (!this.columnResize.colGroupMain) {\n return;\n }\n var colElements = this.columnResize.colGroupMain.children;\n for (var i = 0; i < colElements.length; i++) {\n var width = colElements[i].width;\n if (!width) {\n return;\n }\n totalWidth += parseFloat(width.toString());\n }\n totalWidth = Math.round(totalWidth);\n if (this._header) {\n this._header.setWidth(totalWidth);\n }\n if (this._footer) {\n this._footer.setWidth(totalWidth);\n }\n if (this.tableElement) {\n this.tableElement.style.width = totalWidth + 'px';\n }\n };\n Grid.prototype.initColumns = function (children, groupCount) {\n var idPrefix = navigationTools.getIdPrefix(this.navigationStateRef);\n this._columns = this.readColumns(children, idPrefix, this._columnsMutations);\n if (this._columns.length === 0) {\n this._columns = autoGenerateColumns(this.props.data, this.props.group, this.props.expandField, { prevId: 0, idPrefix: idPrefix });\n }\n this.configureColumns(this._columns, groupCount, idPrefix);\n this._columnsMap = this.mapColumns(this._columns);\n this.columnResize.columns = this._columns;\n this.dragLogic.columns = this._columns;\n };\n Grid.prototype.getDataState = function () {\n return {\n filter: this.props.filter,\n sort: this.props.sort,\n skip: this.props.skip,\n take: (this.props.take !== undefined ? this.props.take : this.props.pageSize),\n group: this.props.group\n };\n };\n Grid.prototype.getArguments = function (syntheticEvent) {\n return {\n nativeEvent: syntheticEvent && syntheticEvent.nativeEvent,\n syntheticEvent: syntheticEvent,\n target: this\n };\n };\n /**\n * @hidden\n */\n Grid.displayName = 'KendoReactGrid';\n /**\n * @hidden\n */\n Grid.defaultProps = {\n // never use this\n };\n /**\n * @hidden\n */\n Grid.propTypes = {\n data: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.shape({\n data: PropTypes.array,\n total: PropTypes.number\n })\n ]),\n sortable: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.shape({\n mode: PropTypes.oneOf(['single', 'multiple']),\n allowUnsort: PropTypes.bool\n })\n ]),\n onSortChange: PropTypes.func,\n sort: PropTypes.array,\n filterable: PropTypes.bool,\n filter: PropTypes.any,\n onFilterChange: PropTypes.func,\n pageable: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.shape({\n buttonCount: PropTypes.number,\n info: PropTypes.bool,\n type: PropTypes.oneOf(['numeric', 'input']),\n pageSizes: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.arrayOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]))\n ]),\n previousNext: PropTypes.bool\n })\n ]),\n pageSize: PropTypes.number,\n onPageChange: PropTypes.func,\n total: PropTypes.number,\n skip: PropTypes.number,\n take: PropTypes.number,\n fixedScroll: PropTypes.bool,\n onExpandChange: PropTypes.func,\n expandField: PropTypes.string,\n selectedField: PropTypes.string,\n onSelectionChange: PropTypes.func,\n onHeaderSelectionChange: PropTypes.func,\n resizable: PropTypes.bool,\n reorderable: PropTypes.bool,\n group: PropTypes.any,\n groupable: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.shape({\n enabled: PropTypes.bool,\n footer: PropTypes.oneOf(['always', 'visible', 'none'])\n })\n ]),\n onGroupChange: PropTypes.func,\n onRowClick: PropTypes.func,\n onRowDoubleClick: PropTypes.func,\n onItemChange: PropTypes.func,\n editField: PropTypes.string,\n scrollable: PropTypes.oneOf(['none', 'scrollable', 'virtual']),\n rowHeight: PropTypes.number,\n detailRowHeight: PropTypes.number,\n detail: PropTypes.any,\n style: PropTypes.object,\n onDataStateChange: PropTypes.func,\n onColumnResize: PropTypes.func,\n onColumnReorder: PropTypes.func,\n dataItemKey: PropTypes.string,\n navigatable: PropTypes.bool,\n size: PropTypes.oneOf(['small', 'medium'])\n };\n /** @hidden */\n Grid.contextType = TableKeyboardNavigationContext;\n return Grid;\n}(React.Component));\nexport { Grid };\n","/**\n * @hidden\n */\nvar normalizeSettings = function (_a) {\n var _b = _a.buttonCount, buttonCount = _b === void 0 ? 10 : _b, _c = _a.info, info = _c === void 0 ? true : _c, _d = _a.type, type = _d === void 0 ? 'numeric' : _d, _e = _a.pageSizes, pageSizes = _e === void 0 ? undefined : _e, _f = _a.previousNext, previousNext = _f === void 0 ? true : _f, _g = _a.responsive, responsive = _g === void 0 ? undefined : _g, _h = _a.pageSizeValue, pageSizeValue = _h === void 0 ? undefined : _h;\n return ({\n buttonCount: buttonCount,\n info: info,\n pageSizes: pageSizes === true ? [5, 10, 20] : (pageSizes || undefined),\n previousNext: previousNext,\n responsive: responsive === false ? false : true,\n type: type,\n pageSizeValue: pageSizeValue\n });\n};\n/**\n * @hidden\n */\nexport var normalize = function (settings) {\n return normalizeSettings(settings === true ? {} : settings);\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { classNames } from '@progress/kendo-react-common';\nimport * as React from 'react';\n/**\n * The GridColumnMenuItemGroup that will be used inside the Grid ColumnMenu.\n */\nvar GridColumnMenuItemGroup = /** @class */ (function (_super) {\n __extends(GridColumnMenuItemGroup, _super);\n function GridColumnMenuItemGroup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @hidden\n */\n GridColumnMenuItemGroup.prototype.render = function () {\n var children = this.props.children;\n return (React.createElement(\"div\", { id: this.props.id, className: classNames('k-columnmenu-item-wrapper', this.props.className), style: this.props.style }, children));\n };\n return GridColumnMenuItemGroup;\n}(React.Component));\nexport { GridColumnMenuItemGroup };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { IconWrap, toIconName } from '@progress/kendo-react-common';\n/**\n * The GridColumnMenuItem component that is used inside the Grid ColumnMenu.\n */\nvar GridColumnMenuItem = /** @class */ (function (_super) {\n __extends(GridColumnMenuItem, _super);\n function GridColumnMenuItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @hidden\n */\n GridColumnMenuItem.prototype.render = function () {\n var _a = this.props, title = _a.title, iconClass = _a.iconClass, svgIcon = _a.svgIcon, selected = _a.selected;\n return (React.createElement(\"div\", { onClick: this.props.onClick, className: \"k-columnmenu-item \".concat(selected ? 'k-selected' : '') },\n (iconClass || svgIcon) && React.createElement(IconWrap, { name: iconClass ? toIconName(iconClass) : iconClass, icon: svgIcon }),\n title));\n };\n return GridColumnMenuItem;\n}(React.Component));\nexport { GridColumnMenuItem };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { provideLocalizationService, registerForIntl, registerForLocalization } from '@progress/kendo-react-intl';\nimport { GridColumnMenuItemGroup } from './GridColumnMenuItemGroup';\nimport { GridColumnMenuItem } from './GridColumnMenuItem';\nimport { groupColumn, ungroupColumn, messages } from '../messages';\nimport { groupIcon, ungroupIcon } from '@progress/kendo-svg-icons';\n/**\n * @example\n * ```jsx-no-run\n * class TextColumnMenu extends React.Component {\n * render() {\n * return (\n * <div>\n * <GridColumnMenuSort {...this.props} />\n * <GridColumnMenuGroup {...this.props} />\n * </div>);\n * }\n * }\n *\n * class App extends React.PureComponent {\n * constructor(props) {\n * super(props);\n *\n * this.state = this.createAppState({\n * take: 10,\n * skip: 0\n * });\n * }\n *\n * createAppState(dataState) {\n * return {\n * result: process(products.slice(0), dataState),\n * dataState: dataState\n * };\n * }\n *\n * dataStateChange = (event) => {\n * this.setState(this.createAppState(event.dataState));\n * }\n *\n * render() {\n * return (\n * <div>\n * <Grid\n * data={this.state.result}\n * {...this.state.dataState}\n * onDataStateChange={this.dataStateChange}\n * sortable={true}\n * pageable={true}\n * >\n * <Column field=\"ProductID\" title=\"Product ID\" />\n * <Column field=\"ProductName\" columnMenu={TextColumnMenu} />\n * </Grid>\n * <br />\n * </div>\n * );\n * }\n * }\n *\n * ReactDOM.render(<App />, document.querySelector('my-app'));\n * ```\n */\nvar GridColumnMenuGroup = /** @class */ (function (_super) {\n __extends(GridColumnMenuGroup, _super);\n function GridColumnMenuGroup() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n /**\n * @hidden\n */\n _this.onGroupClick = function (event) {\n event.preventDefault();\n if (_this.props.onGroupChange) {\n var column_1 = _this.props.column;\n if (!column_1.field) {\n return;\n }\n var newGroup = (_this.props.group || []).slice();\n var groupIndex = newGroup.findIndex(function (group) { return group.field === column_1.field; });\n if (groupIndex > -1) {\n newGroup.splice(groupIndex, 1);\n }\n else {\n newGroup.push({\n field: column_1.field\n });\n }\n _this.props.onGroupChange(newGroup, event);\n }\n if (_this.props.onCloseMenu) {\n _this.props.onCloseMenu();\n }\n };\n return _this;\n }\n /**\n * @hidden\n */\n GridColumnMenuGroup.prototype.render = function () {\n var _a = this.props, group = _a.group, column = _a.column;\n var localizationService = provideLocalizationService(this);\n var isGrouped = Boolean(group && column.field && group.find(function (currentGroup) { return currentGroup.field === column.field; }));\n var message = !isGrouped ? groupColumn : ungroupColumn;\n return (React.createElement(GridColumnMenuItemGroup, null,\n React.createElement(GridColumnMenuItem, { title: localizationService.toLanguageString(message, messages[message]), iconClass: !isGrouped ? 'k-i-group' : 'k-i-ungroup', svgIcon: !isGrouped ? groupIcon : ungroupIcon, onClick: this.onGroupClick })));\n };\n return GridColumnMenuGroup;\n}(React.Component));\nexport { GridColumnMenuGroup };\nregisterForIntl(GridColumnMenuGroup);\nregisterForLocalization(GridColumnMenuGroup);\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { GridColumnMenuItem } from './GridColumnMenuItem';\nimport { GridColumnMenuItemGroup } from './GridColumnMenuItemGroup';\nimport { normalize } from '../interfaces/GridSortSettings';\nimport { provideLocalizationService, registerForIntl, registerForLocalization } from '@progress/kendo-react-intl';\nimport { messages, sortAscending, sortDescending } from '../messages';\nimport { sortAscSmallIcon, sortDescSmallIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar ASC_DIR = 'asc';\n/**\n * @hidden\n */\nvar DESC_DIR = 'desc';\n/**\n * @hidden\n */\nvar sortSeqMap = {\n true: {\n 'asc': { 'asc': '', 'desc': 'desc' },\n 'desc': { 'asc': 'asc', 'desc': '' },\n '': { 'asc': 'asc', 'desc': 'desc' }\n },\n false: {\n 'asc': { 'asc': 'asc', 'desc': 'desc' },\n 'desc': { 'asc': 'asc', 'desc': 'desc' },\n '': { 'asc': 'asc', 'desc': 'desc' }\n }\n};\n/**\n * @hidden\n */\nvar sortIndex = function (field, sort) {\n if (!sort) {\n return -1;\n }\n return sort.findIndex(function (s) { return s.field === field; });\n};\n/**\n * @hidden\n */\nvar sortedAsc = function (sortedIndex, sort) {\n return !!(sort && sortedIndex > -1 && sort[sortedIndex].dir === ASC_DIR);\n};\n/**\n * @hidden\n */\nvar sortedDesc = function (sortedIndex, sort) {\n return !!(sort && sortedIndex > -1 && sort[sortedIndex].dir === DESC_DIR);\n};\n/**\n * @example\n * ```jsx-no-run\n * class ColumnMenu extends React.Component {\n * render() {\n * return (\n * <div>\n * <GridColumnMenuSort {...this.props} />\n * </div>);\n * }\n * }\n *\n * class App extends React.PureComponent {\n * constructor(props) {\n * super(props);\n *\n * this.state = this.createAppState({\n * take: 10,\n * skip: 0\n * });\n * }\n *\n * createAppState(dataState) {\n * return {\n * result: process(products.slice(0), dataState),\n * dataState: dataState\n * };\n * }\n *\n * dataStateChange = (event) => {\n * this.setState(this.createAppState(event.dataState));\n * }\n *\n * render() {\n * return (\n * <div>\n * <Grid\n * data={this.state.result}\n * {...this.state.dataState}\n * onDataStateChange={this.dataStateChange}\n * sortable={true}\n * pageable={true}\n * >\n * <Column field=\"ProductID\" title=\"Product ID\" columnMenu={ColumnMenu}/>\n * <Column field=\"ProductName\" />\n * </Grid>\n * <br />\n * </div>\n * );\n * }\n * }\n *\n * ReactDOM.render(<App />, document.querySelector('my-app'));\n * ```\n */\nvar GridColumnMenuSort = /** @class */ (function (_super) {\n __extends(GridColumnMenuSort, _super);\n function GridColumnMenuSort() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n /**\n * @hidden\n */\n _this.onAscClick = function (event) {\n _this.onSort(event, ASC_DIR);\n if (_this.props.onCloseMenu) {\n _this.props.onCloseMenu();\n }\n };\n /**\n * @hidden\n */\n _this.onDescClick = function (event) {\n _this.onSort(event, DESC_DIR);\n if (_this.props.onCloseMenu) {\n _this.props.onCloseMenu();\n }\n };\n /**\n * @hidden\n */\n _this.onSort = function (event, selectedDir) {\n event.preventDefault();\n if (!_this.props.onSortChange) {\n return;\n }\n var _a = _this.props, column = _a.column, sortable = _a.sortable, sort = _a.sort;\n var _b = normalize(sortable || false, false), allowUnsort = _b.allowUnsort, mode = _b.mode;\n var oldDescriptor = (sort || []).filter(function (d) { return d.field === column.field; })[0];\n var dir = sortSeqMap[allowUnsort][oldDescriptor && oldDescriptor.dir || ''][selectedDir];\n var newDescriptor = (mode === 'single') ?\n [] : (_this.props.sort || []).filter(function (d) { return d.field !== column.field; });\n if (dir !== '' && column.field) {\n newDescriptor.push({ field: column.field, dir: dir });\n }\n _this.props.onSortChange(newDescriptor, event);\n };\n return _this;\n }\n /**\n * @hidden\n */\n GridColumnMenuSort.prototype.render = function () {\n var _a = this.props, sort = _a.sort, column = _a.column;\n var currentSortIndex = sortIndex(column.field, sort);\n var localizationService = provideLocalizationService(this);\n return (React.createElement(GridColumnMenuItemGroup, null,\n React.createElement(GridColumnMenuItem, { title: localizationService.toLanguageString(sortAscending, messages[sortAscending]), iconClass: 'k-i-sort-asc-sm', svgIcon: sortAscSmallIcon, selected: sortedAsc(currentSortIndex, sort), onClick: this.onAscClick }),\n React.createElement(GridColumnMenuItem, { title: localizationService.toLanguageString(sortDescending, messages[sortDescending]), iconClass: 'k-i-sort-desc-sm', svgIcon: sortDescSmallIcon, selected: sortedDesc(currentSortIndex, sort), onClick: this.onDescClick })));\n };\n /* eslint-disable max-len */\n /**\n * Can be used to check if sorting is applied to a specific field ([see example]({% slug column_menu_grid %}#toc-styling-the-column-menu-icon)). Useful for creating active sort indicators.\n */\n // tslint:enable:max-line-length\n GridColumnMenuSort.active = function (field, sort) {\n var currentSortIndex = sortIndex(field, sort);\n return sortedDesc(currentSortIndex, sort) || sortedAsc(currentSortIndex, sort);\n };\n return GridColumnMenuSort;\n}(React.Component));\nexport { GridColumnMenuSort };\nregisterForIntl(GridColumnMenuSort);\nregisterForLocalization(GridColumnMenuSort);\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { Reveal } from '@progress/kendo-react-animation';\nimport { classNames } from '@progress/kendo-react-common';\n/**\n * The GridColumnMenuItemContent that will be used inside the Grid ColumnMenu.\n */\nvar GridColumnMenuItemContent = /** @class */ (function (_super) {\n __extends(GridColumnMenuItemContent, _super);\n function GridColumnMenuItemContent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @hidden\n */\n GridColumnMenuItemContent.prototype.render = function () {\n return (React.createElement(\"div\", { id: this.props.id, className: classNames('k-columnmenu-item-content', this.props.className), style: this.props.style },\n React.createElement(Reveal, { style: { position: 'relative', display: 'block' } }, this.props.show ? this.props.children : null)));\n };\n return GridColumnMenuItemContent;\n}(React.Component));\nexport { GridColumnMenuItemContent };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { DropDownList } from '@progress/kendo-react-dropdowns';\nimport { NumericTextBox, Input } from '@progress/kendo-react-inputs';\nimport { DatePicker } from '@progress/kendo-react-dateinputs';\nimport { cellBoolDropdownChange, cellInputChange, cellOperatorChange } from '../filterCommon';\n/**\n * @hidden\n */\nvar GridColumnMenuFilterCell = /** @class */ (function (_super) {\n __extends(GridColumnMenuFilterCell, _super);\n function GridColumnMenuFilterCell(props) {\n var _this = _super.call(this, props) || this;\n _this.renderOperatorEditor = function () {\n if (_this.props.filterType === 'boolean') {\n return;\n }\n var value = _this.props.operators.find(function (item) { return item.operator === _this.props.operator; }) || null;\n return (React.createElement(DropDownList, { value: value, onChange: _this.operatorChange, data: _this.props.operators, textField: \"text\" }));\n };\n _this.inputChange = _this.inputChange.bind(_this);\n _this.operatorChange = _this.operatorChange.bind(_this);\n _this.boolDropdownChange = _this.boolDropdownChange.bind(_this);\n return _this;\n }\n /**\n * @hidden\n */\n GridColumnMenuFilterCell.prototype.render = function () {\n return (React.createElement(React.Fragment, null,\n this.renderOperatorEditor(),\n this.filterComponent(this.props.filterType, this.props.value, this.props.booleanValues)));\n };\n GridColumnMenuFilterCell.prototype.inputChange = function (value, e) {\n cellInputChange(value, e, this.props);\n };\n GridColumnMenuFilterCell.prototype.operatorChange = function (event) {\n cellOperatorChange(event, this.props.value, this.props.onChange);\n };\n GridColumnMenuFilterCell.prototype.boolDropdownChange = function (event) {\n cellBoolDropdownChange(event, this.props.onChange);\n };\n GridColumnMenuFilterCell.prototype.filterComponent = function (filterType, value, booleanValues) {\n var _this = this;\n switch (filterType) {\n case 'numeric':\n return (React.createElement(NumericTextBox, { value: value, onChange: function (e) { _this.inputChange(e.value, e.syntheticEvent); }, rangeOnEnter: false }));\n case 'date':\n return (React.createElement(DatePicker, { value: value, onChange: function (e) { _this.inputChange(e.value, e.syntheticEvent); } }));\n case 'boolean':\n var noFilterSet_1 = function (filter) { return filter === null || filter === undefined; };\n return (React.createElement(DropDownList, { onChange: this.boolDropdownChange, value: booleanValues.find(function (item) { return item.operator === (noFilterSet_1(value) ? '' : value); }), data: booleanValues, textField: \"text\" }));\n default: return (React.createElement(Input, { value: value || '', onChange: function (e) { _this.inputChange(e.target.value, e.syntheticEvent); } }));\n }\n };\n return GridColumnMenuFilterCell;\n}(React.Component));\nexport { GridColumnMenuFilterCell };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { GridColumnMenuFilterCell } from './GridColumnMenuFilterCell';\nimport { DropDownList } from '@progress/kendo-react-dropdowns';\n/**\n * @hidden\n */\nvar GridColumnMenuFilterUI = /** @class */ (function (_super) {\n __extends(GridColumnMenuFilterUI, _super);\n function GridColumnMenuFilterUI() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GridColumnMenuFilterUI.prototype.render = function () {\n var _a = this.props, firstFilterProps = _a.firstFilterProps, hideSecondFilter = _a.hideSecondFilter, secondFilterProps = _a.secondFilterProps, logicData = _a.logicData, logicValue = _a.logicValue, onLogicChange = _a.onLogicChange;\n return (React.createElement(React.Fragment, null,\n React.createElement(GridColumnMenuFilterCell, __assign({}, firstFilterProps)),\n !hideSecondFilter && (React.createElement(React.Fragment, null,\n React.createElement(DropDownList, { data: logicData, value: logicValue, onChange: onLogicChange, className: 'k-filter-and', textField: \"text\" }),\n React.createElement(GridColumnMenuFilterCell, __assign({}, secondFilterProps))))));\n };\n return GridColumnMenuFilterUI;\n}(React.Component));\nexport { GridColumnMenuFilterUI };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport * as React from 'react';\nimport { isCompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { GridColumnMenuItem } from './GridColumnMenuItem';\nimport { GridColumnMenuItemGroup } from './GridColumnMenuItemGroup';\nimport { GridColumnMenuItemContent } from './GridColumnMenuItemContent';\nimport { provideLocalizationService, registerForLocalization } from '@progress/kendo-react-intl';\nimport { operatorMap, getDefaultOperator, filterLogicList, defaultHideSecondFilter, booleanFilterValues, getFilterType, IsUnaryFilter } from '../filterCommon';\nimport { messages, filterClearButton, filterSubmitButton, filterTitle } from '../messages';\nimport { GridColumnMenuFilterUI } from './GridColumnMenuFilterUI';\nimport { Button } from '@progress/kendo-react-buttons';\nimport { filterIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nexport var rootFilterOrDefault = function (rootFilter) {\n return (rootFilter || { filters: [], logic: 'and' });\n};\n/**\n * @hidden\n */\nexport var filterGroupByField = function (field, filter) {\n var rootFilter = rootFilterOrDefault(filter);\n var compositeFilters = rootFilter.filters\n .filter(function (f) {\n if (isCompositeFilterDescriptor(f)) {\n return f.filters &&\n f.filters.length &&\n f.filters.length <= 2 &&\n !f.filters.find(function (nf) { return isCompositeFilterDescriptor(nf) || nf.field !== field; });\n }\n return false;\n });\n return compositeFilters[0] || null;\n};\n/**\n * @example\n * ```jsx-no-run\n * class TextColumnMenu extends React.Component {\n * render() {\n * return (\n * <div>\n * <GridColumnMenuSort {...this.props} />\n * <GridColumnMenuFilter {...this.props} />\n * </div>);\n * }\n * }\n *\n * class App extends React.PureComponent {\n * constructor(props) {\n * super(props);\n *\n * this.state = this.createAppState({\n * take: 10,\n * skip: 0\n * });\n * }\n *\n * createAppState(dataState) {\n * return {\n * result: process(products.slice(0), dataState),\n * dataState: dataState\n * };\n * }\n *\n * dataStateChange = (event) => {\n * this.setState(this.createAppState(event.dataState));\n * }\n *\n * render() {\n * return (\n * <div>\n * <Grid\n * data={this.state.result}\n * {...this.state.dataState}\n * onDataStateChange={this.dataStateChange}\n * sortable={true}\n * pageable={true}\n * >\n * <Column field=\"ProductID\" title=\"Product ID\" />\n * <Column field=\"ProductName\" columnMenu={TextColumnMenu} />\n * </Grid>\n * <br />\n * </div>\n * );\n * }\n * }\n *\n * ReactDOM.render(<App />, document.querySelector('my-app'));\n * ```\n */\nvar GridColumnMenuFilter = /** @class */ (function (_super) {\n __extends(GridColumnMenuFilter, _super);\n function GridColumnMenuFilter(props) {\n var _this = _super.call(this, props) || this;\n /**\n * @hidden\n */\n _this.removeGroup = function (group, rootFilter) {\n var filters = __spreadArray([], rootFilter.filters, true);\n var groupIndex = filters\n .findIndex(function (f) { return f === group; });\n if (groupIndex > -1) {\n filters.splice(groupIndex, 1);\n }\n return __assign(__assign({}, rootFilter), { filters: filters });\n };\n /**\n * @hidden\n */\n _this.insertGroup = function (group, rootFilter) {\n return __assign(__assign({}, rootFilter), { filters: __spreadArray([\n group\n ], rootFilter.filters, true) });\n };\n /**\n * @hidden\n */\n _this.isControlled = function () { return _this.props.expanded !== undefined; };\n /**\n * @hidden\n */\n _this.onFilterExpand = function () {\n var isControlled = _this.isControlled();\n var nextValue = !(isControlled ? _this.props.expanded : _this.state.expanded);\n if (_this.props.onExpandChange) {\n _this.props.onExpandChange(nextValue);\n }\n if (!isControlled) {\n _this.setState({\n expanded: nextValue\n });\n }\n };\n /**\n * @hidden\n */\n _this.firstFilterChange = function (event) {\n _this.filterChange(0, event);\n };\n /**\n * @hidden\n */\n _this.secondFilterChange = function (event) {\n _this.filterChange(1, event);\n };\n /**\n * @hidden\n */\n _this.filterChange = function (filterIndex, e) {\n var filters = _this.state.filterGroup.filters.map(function (f, i) {\n if (i === filterIndex) {\n return __assign(__assign({}, f), { value: e.value, operator: e.operator });\n }\n return f;\n });\n _this.setState({\n filterGroup: __assign(__assign({}, _this.state.filterGroup), { filters: filters })\n });\n };\n /**\n * @hidden\n */\n _this.logicChange = function (event) {\n _this.setState({\n filterGroup: __assign(__assign({}, _this.state.filterGroup), { logic: event.target.value.operator })\n });\n };\n /**\n * @hidden\n */\n _this.clear = function (event) {\n event.preventDefault();\n if (!_this.props.onFilterChange) {\n return;\n }\n var field = _this.props.column.field;\n var rootFilter = rootFilterOrDefault(_this.props.filter);\n var filterGroup = filterGroupByField(field, _this.props.filter);\n var rootFilters = rootFilter.filters.filter(function (f) { return f !== filterGroup; });\n if (!rootFilters.length) {\n _this.props.onFilterChange(null, event);\n }\n else {\n _this.props.onFilterChange(__assign(__assign({}, rootFilter), { filters: rootFilters }), event);\n }\n if (_this.props.onCloseMenu) {\n _this.props.onCloseMenu();\n }\n };\n /**\n * @hidden\n */\n _this.currentFilterGroup = function () {\n return __assign(__assign({}, _this.state.filterGroup), { filters: _this.state\n .filterGroup\n .filters\n .filter(function (nf) {\n return (nf.value !== undefined && nf.value !== null && nf.value !== '') ||\n (nf.value === null && nf.operator);\n }) });\n };\n /**\n * @hidden\n */\n _this.submit = function (event) {\n event.preventDefault();\n if (!_this.props.onFilterChange) {\n return;\n }\n var field = _this.props.column.field;\n var rootFilter = rootFilterOrDefault(_this.props.filter);\n var filterGroup = filterGroupByField(field, _this.props.filter);\n var currentFilterGroup = _this.currentFilterGroup();\n var updatedFilter = null;\n if (filterGroup && currentFilterGroup.filters.length > 0) {\n var rootFilters = rootFilter.filters.map(function (f) {\n if (f === filterGroup) {\n return currentFilterGroup;\n }\n return f;\n });\n updatedFilter = __assign(__assign({}, rootFilter), { filters: rootFilters });\n }\n else if (currentFilterGroup.filters.length === 0) {\n var rootFilters = rootFilter\n .filters\n .filter(function (f) { return f !== filterGroup; });\n if (rootFilters.length) {\n updatedFilter = __assign(__assign({}, rootFilter), { filters: rootFilters });\n }\n }\n else {\n updatedFilter = __assign(__assign({}, rootFilter), { filters: __spreadArray(__spreadArray([], rootFilter.filters, true), [currentFilterGroup], false) });\n }\n _this.props.onFilterChange(updatedFilter, event);\n if (_this.props.onCloseMenu) {\n _this.props.onCloseMenu();\n }\n };\n var filterGroup;\n if (props.column && props.column.field) {\n var filterType = getFilterType(props.column.filter);\n var defaultOperator = getDefaultOperator(props.filterOperators, filterType);\n filterGroup = filterGroupByField(props.column.field, props.filter);\n filterGroup = filterGroup ? __assign(__assign({}, filterGroup), { filters: filterGroup.filters.map(function (f) {\n return __assign({}, f);\n }) }) : {\n logic: 'and',\n filters: [\n { field: props.column.field, operator: defaultOperator, value: IsUnaryFilter(defaultOperator) ? null : undefined },\n { field: props.column.field, operator: defaultOperator, value: IsUnaryFilter(defaultOperator) ? null : undefined }\n ]\n };\n if (filterGroup.filters.filter(function (x) { return x.field === props.column.field; }).length === 1) {\n filterGroup.filters.splice(1, 0, { field: props.column.field, operator: defaultOperator });\n }\n }\n _this.state = {\n expanded: props.expanded || false,\n filterGroup: filterGroup\n };\n return _this;\n }\n /**\n * @hidden\n */\n GridColumnMenuFilter.prototype.render = function () {\n var _a = this.props, column = _a.column, filterUI = _a.filterUI, hideSecondFilter = _a.hideSecondFilter, filterOperators = _a.filterOperators;\n if (!column || !column.field) {\n return React.createElement(\"div\", null);\n }\n var filterType = getFilterType(column.filter);\n var currentHideSecondFilter = hideSecondFilter !== undefined ?\n hideSecondFilter : defaultHideSecondFilter[filterType];\n var localizationService = provideLocalizationService(this);\n var filters = this.state.filterGroup.filters;\n var currentOperators = operatorMap(filterOperators[filterType], localizationService);\n var booleanValues = operatorMap(booleanFilterValues, localizationService);\n var firstFilterCellProps = {\n field: column.field,\n value: filters[0].value,\n operator: filters[0].operator,\n operators: currentOperators,\n booleanValues: booleanValues,\n onChange: this.firstFilterChange,\n filterType: filterType\n };\n var secondFilterCellProps = {\n field: column.field,\n value: filters[1].value,\n operator: filters[1].operator,\n operators: currentOperators,\n booleanValues: booleanValues,\n onChange: this.secondFilterChange,\n filterType: filterType\n };\n var filterLogic = this.state.filterGroup.logic;\n var logicData = operatorMap(filterLogicList, localizationService);\n var logicProps = {\n value: logicData.find(function (item) { return item.operator === (filterLogic === null ? '' : filterLogic); }),\n onChange: this.logicChange,\n data: logicData\n };\n var FilterUI = filterUI;\n var filterUIProps = {\n firstFilterProps: firstFilterCellProps,\n secondFilterProps: secondFilterCellProps,\n logicData: logicProps.data,\n logicValue: logicProps.value,\n onLogicChange: logicProps.onChange,\n hideSecondFilter: currentHideSecondFilter\n };\n var isFilterValid = this.currentFilterGroup().filters.length !== 0 ||\n IsUnaryFilter(filters[0].operator) ||\n IsUnaryFilter(filters[1].operator);\n var expandState = this.isControlled() ? this.props.expanded : this.state.expanded;\n var alwaysExpand = this.props.alwaysExpand;\n return (React.createElement(GridColumnMenuItemGroup, null,\n !alwaysExpand && React.createElement(GridColumnMenuItem, { title: localizationService.toLanguageString(filterTitle, messages[filterTitle]), iconClass: 'k-i-filter', svgIcon: filterIcon, onClick: this.onFilterExpand }),\n React.createElement(GridColumnMenuItemContent, { show: alwaysExpand || !!expandState },\n React.createElement(\"div\", { className: 'kendo-grid-filter-menu-container' },\n React.createElement(\"form\", { className: 'k-filter-menu k-group k-reset k-state-border-up', onSubmit: this.submit, onReset: this.clear, onKeyDown: function (e) { return e.stopPropagation(); } },\n React.createElement(\"div\", { className: 'k-filter-menu-container' },\n FilterUI ?\n React.createElement(FilterUI, __assign({}, filterUIProps)) :\n React.createElement(GridColumnMenuFilterUI, __assign({}, filterUIProps)),\n React.createElement(\"div\", { className: 'k-actions k-actions-stretched' },\n React.createElement(Button, { themeColor: \"primary\", disabled: !isFilterValid }, localizationService.toLanguageString(filterSubmitButton, messages[filterSubmitButton])),\n React.createElement(Button, { type: 'reset' }, localizationService.toLanguageString(filterClearButton, messages[filterClearButton])))))))));\n };\n /* eslint-disable max-len */\n /**\n * Can be used to check if filtering is applied to a specific field ([see example]({% slug column_menu_grid %}#toc-styling-the-column-menu-icon)). Useful for creating active filter indicators.\n */\n // tslint:enable:max-line-length\n GridColumnMenuFilter.active = function (field, filter) {\n return !!filterGroupByField(field, filter);\n };\n return GridColumnMenuFilter;\n}(React.Component));\nexport { GridColumnMenuFilter };\nregisterForLocalization(GridColumnMenuFilter);\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport * as React from 'react';\nimport { GridColumnMenuItem } from './GridColumnMenuItem';\nimport { GridColumnMenuItemGroup } from './GridColumnMenuItemGroup';\nimport { GridColumnMenuItemContent } from './GridColumnMenuItemContent';\nimport { Checkbox, Input } from '@progress/kendo-react-inputs';\nimport { provideLocalizationService, registerForLocalization } from '@progress/kendo-react-intl';\nimport { messages, filterClearButton, filterSubmitButton, filterTitle, searchPlaceholder, filterCheckAll, filterSelectedItems } from '../messages';\nimport { filterBy } from '@progress/kendo-data-query';\nimport { clone, IconWrap } from '@progress/kendo-react-common';\nimport { Button } from '@progress/kendo-react-buttons';\nimport { getNestedValue } from '../utils';\nimport { filterIcon, searchIcon, xIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar isArrayEqual = function (firstArray, secondArray) {\n if (firstArray.length !== secondArray.length) {\n return false;\n }\n return firstArray.every(function (ex, i) { return ex === secondArray[i]; });\n};\nvar GridColumnMenuCheckboxFilter = /** @class */ (function (_super) {\n __extends(GridColumnMenuCheckboxFilter, _super);\n function GridColumnMenuCheckboxFilter(props) {\n var _this = _super.call(this, props) || this;\n /**\n * @hidden\n */\n _this.defaultFilter = function () {\n if (_this.props.filter) {\n return clone(_this.props.filter);\n }\n return { filters: [], logic: 'and' };\n };\n /**\n * @hidden\n */\n _this.isControlled = function () { return _this.props.expanded !== undefined; };\n /**\n * @hidden\n */\n _this.parseData = function (originalData, isUnique) {\n var field = _this.props.column.field || '';\n var data = originalData.map(function (item) { return getNestedValue(field, item); });\n if (isUnique) {\n return data.filter(function (item, index) { return data.indexOf(item) === index; });\n }\n return data;\n };\n /**\n * @hidden\n */\n _this.getFilterIndex = function () {\n var field = _this.props.column.field;\n var currentFilter = _this.defaultFilter();\n var compositeFilterIndex = currentFilter.filters.findIndex(function (filter) {\n return filter.filters && filter.filters.length > 0 && filter.filters[0].field === field;\n });\n return compositeFilterIndex;\n };\n /**\n * @hidden\n */\n _this.onFilterExpand = function () {\n var isControlled = _this.isControlled();\n var nextValue = !(isControlled ? _this.props.expanded : _this.state.expanded);\n if (_this.props.onExpandChange) {\n _this.props.onExpandChange(nextValue);\n }\n if (!isControlled) {\n _this.setState({\n expanded: nextValue\n });\n }\n };\n /**\n * @hidden\n */\n _this.handleSearchChange = function (e) {\n var filterOperator = _this.props.searchBoxFilterOperator ? _this.props.searchBoxFilterOperator : 'startswith';\n var filterExpression = {\n logic: 'and',\n filters: [\n { field: _this.props.column.field, operator: filterOperator, value: e.target.value, ignoreCase: true }\n ]\n };\n _this.setState({\n value: e.target.value,\n data: _this.parseData(filterBy(_this.props.data || [], filterExpression), _this.props.uniqueData)\n });\n };\n /**\n * @hidden\n */\n _this.handleClear = function () {\n var filterOperator = _this.props.searchBoxFilterOperator ? _this.props.searchBoxFilterOperator : 'startswith';\n var filterExpression = {\n logic: 'and',\n filters: [\n { field: _this.props.column.field, operator: filterOperator, value: '', ignoreCase: true }\n ]\n };\n _this.setState({\n value: '',\n data: _this.parseData(filterBy(_this.props.data || [], filterExpression), _this.props.uniqueData)\n });\n };\n /**\n * @hidden\n */\n _this.clear = function (e) {\n e.preventDefault();\n if (!_this.props.onFilterChange) {\n return;\n }\n var updatedFilter = _this.state.currentFilter || null;\n if (updatedFilter !== null && updatedFilter.filters.length > 0) {\n if (_this.compositeFilterIndex >= 0) {\n updatedFilter.filters.splice(_this.compositeFilterIndex, 1);\n }\n _this.props.onFilterChange(updatedFilter, e);\n }\n else {\n _this.props.onFilterChange(null, e);\n }\n if (_this.props.onCloseMenu) {\n _this.props.onCloseMenu();\n }\n };\n /**\n * @hidden\n */\n _this.submit = function (e) {\n e.preventDefault();\n if (!_this.props.onFilterChange) {\n return;\n }\n var updatedFilter = _this.state.currentFilter || null;\n _this.props.onFilterChange(updatedFilter, e);\n if (_this.props.onCloseMenu) {\n _this.props.onCloseMenu();\n }\n };\n /**\n * @hidden\n */\n _this.handleCheckBoxChange = function (e, value) {\n var field = _this.props.column.field || '';\n var newFilter = __assign({}, _this.state.currentFilter);\n var filters = __spreadArray([], _this.state.currentFilter.filters, true) || [];\n var fieldFilters = [];\n if (_this.compositeFilterIndex !== -1 && newFilter.filters[_this.compositeFilterIndex].filters && value !== 'all') {\n fieldFilters = newFilter.filters[_this.compositeFilterIndex].filters;\n }\n if (e.value && value === 'all') {\n _this.state.data.forEach(function (item) {\n fieldFilters.push({ field: field, operator: 'eq', value: item });\n });\n }\n else if (e.value) {\n fieldFilters.push({ field: field, operator: 'eq', value: value });\n }\n else if (_this.state.currentFilter) {\n var index = fieldFilters.findIndex(function (filter) { return filter.value === value; });\n fieldFilters.splice(index, 1);\n }\n newFilter.logic = 'and';\n if (_this.compositeFilterIndex !== -1) {\n filters[_this.compositeFilterIndex] = {\n logic: 'or',\n filters: fieldFilters\n };\n }\n else {\n filters.push({\n logic: 'or',\n filters: fieldFilters\n });\n }\n if (!e.value && value === 'all' || fieldFilters.length === 0) {\n filters.splice(_this.compositeFilterIndex, 1);\n }\n newFilter.filters = filters;\n _this.setState({ currentFilter: newFilter });\n };\n /**\n * @hidden\n */\n _this.isAllSelected = function () {\n var isAllChecked = false;\n if (_this.state.currentFilter) {\n var filters_1 = __spreadArray([], _this.state.currentFilter.filters, true);\n if (_this.compositeFilterIndex === -1) {\n return false;\n }\n isAllChecked = _this.state.data.every(function (item) {\n if (_this.compositeFilterIndex !== -1 && filters_1[_this.compositeFilterIndex].filters) {\n var index = filters_1[_this.compositeFilterIndex].filters.findIndex(function (filter) { return filter.value === item; });\n return index >= 0;\n }\n return false;\n });\n return isAllChecked;\n }\n return isAllChecked;\n };\n _this.compositeFilterIndex = _this.getFilterIndex();\n _this.state = {\n expanded: props.expanded || false,\n value: '',\n data: _this.parseData(_this.props.data, _this.props.uniqueData) || [],\n dataFromProps: _this.parseData(_this.props.data, false) || [],\n currentFilter: _this.defaultFilter()\n };\n return _this;\n }\n /**\n * @hidden\n */\n GridColumnMenuCheckboxFilter.prototype.componentDidUpdate = function () {\n var field = this.props.column.field || '';\n var data = this.props.data.map(function (item) { return getNestedValue(field, item); });\n if (!isArrayEqual(data, this.state.dataFromProps)) {\n this.setState({\n data: data,\n dataFromProps: data\n });\n }\n };\n /**\n * @hidden\n */\n GridColumnMenuCheckboxFilter.prototype.render = function () {\n var _this = this;\n var column = this.props.column;\n if (!column || !column.field) {\n return React.createElement(\"div\", null);\n }\n var localizationService = provideLocalizationService(this);\n var expandState = this.isControlled() ? this.props.expanded : this.state.expanded;\n var filterValues = [];\n if (this.state.currentFilter) {\n var currentFilter = __spreadArray([], this.state.currentFilter.filters, true);\n this.compositeFilterIndex = currentFilter.findIndex(function (filter) {\n if (filter.filters && filter.filters.length > 0) {\n return filter.filters[0].field === column.field;\n }\n return false;\n });\n if (this.compositeFilterIndex !== -1 && currentFilter[this.compositeFilterIndex].filters.length > 0) {\n currentFilter[this.compositeFilterIndex].filters.forEach(function (filterItem) {\n if (filterItem.field === _this.props.column.field) {\n filterValues.push(filterItem.value);\n }\n });\n }\n }\n var searchBox = this.props.searchBox ?\n React.createElement(this.props.searchBox, { value: this.state.value, onChange: this.handleSearchChange }) :\n (React.createElement(\"div\", { className: \"k-searchbox k-textbox k-input k-input-md k-input-solid\" },\n React.createElement(IconWrap, { className: \"k-input-icon\", name: 'search', icon: searchIcon }),\n React.createElement(Input, { className: \"k-input-inner\", type: \"text\", placeholder: localizationService.toLanguageString(searchPlaceholder, messages[searchPlaceholder]), value: this.state.value, onChange: function (e) { return _this.handleSearchChange(e.nativeEvent); } }),\n React.createElement(Button, { type: \"button\", rounded: null, className: \"k-input-button\", onClick: this.handleClear, icon: \"x\", svgIcon: xIcon })));\n var uniqueFilterValues = filterValues.filter(function (item, index) { return filterValues.indexOf(item) === index; });\n return (React.createElement(GridColumnMenuItemGroup, null,\n React.createElement(GridColumnMenuItem, { title: localizationService.toLanguageString(filterTitle, messages[filterTitle]), iconClass: \"k-i-filter\", svgIcon: filterIcon, onClick: this.onFilterExpand }),\n React.createElement(GridColumnMenuItemContent, { show: !!expandState },\n React.createElement(\"div\", { className: \"kendo-grid-filter-menu-container\" },\n React.createElement(\"form\", { className: \"k-filter-menu k-group k-reset k-state-border-up\", onSubmit: this.submit, onReset: this.clear },\n React.createElement(\"div\", { className: \"k-filter-menu-container\" },\n searchBox,\n React.createElement(\"ul\", { className: \"k-reset k-multicheck-wrap\" },\n React.createElement(\"li\", { className: \"k-item k-check-all-wrap\" },\n React.createElement(Checkbox, { label: localizationService.toLanguageString(filterCheckAll, messages[filterCheckAll]), onChange: function (e) { return _this.handleCheckBoxChange(e, 'all'); }, checked: this.isAllSelected() })),\n this.state.data.map(function (item, index) {\n return (React.createElement(\"li\", { className: \"k-item\", key: index },\n React.createElement(Checkbox, { label: String(item), onChange: function (e) { return _this.handleCheckBoxChange(e, item); }, checked: uniqueFilterValues.includes(item) })));\n })),\n React.createElement(\"div\", { className: \"k-filter-selected-items\" }, uniqueFilterValues.length + ' ' + localizationService.toLanguageString(filterSelectedItems, messages[filterSelectedItems])),\n React.createElement(\"div\", { className: \"k-actions k-hstack k-justify-content-stretch\" },\n React.createElement(Button, { themeColor: \"primary\", type: 'submit' }, localizationService.toLanguageString(filterSubmitButton, messages[filterSubmitButton])),\n React.createElement(Button, { className: \"k-button\", type: 'reset' }, localizationService.toLanguageString(filterClearButton, messages[filterClearButton])))))))));\n };\n /**\n * @hidden\n */\n GridColumnMenuCheckboxFilter.defaultProps = {\n uniqueData: true\n };\n return GridColumnMenuCheckboxFilter;\n}(React.Component));\nexport { GridColumnMenuCheckboxFilter };\nregisterForLocalization(GridColumnMenuCheckboxFilter);\n","import * as React from 'react';\nimport { Checkbox, InputPrefix, TextBox } from '@progress/kendo-react-inputs';\nimport { IconWrap } from '@progress/kendo-react-common';\nimport { searchIcon } from '@progress/kendo-svg-icons';\nimport { Button } from '@progress/kendo-react-buttons';\n/**\n * Represents the KendoReact GridColumnMenuColumnsList component.\n */\nexport var GridColumnMenuColumnsList = function (props) {\n var _a = React.useState(''), filter = _a[0], setFilter = _a[1];\n var selectedColumnsIds = React.useMemo(function () { return new Set(props.columnsState.map(function (c) { return c.id; })); }, [props.columnsState]);\n var filtered = React.useMemo(function () {\n return props.columns.filter(function (c) { var _a; return (_a = (c.title || c.field)) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(filter.toLowerCase()); });\n }, [props.columns, filter]);\n var state = props.columns.map(function (c) { return React.useState(selectedColumnsIds.has(c.id)); });\n var onApply = React.useCallback(function () {\n var nextColumns = props.columns.filter(function (_c, i) { return state[i][0]; });\n props.onColumnsChange.call(undefined, nextColumns);\n props.onCloseMenu.call(undefined);\n }, [state, props.columns, props.onColumnsChange, props.onCloseMenu]);\n var onReset = React.useCallback(function () {\n props.columns.forEach(function (c, i) {\n state[i][1](selectedColumnsIds.has(c.id));\n });\n }, [state, selectedColumnsIds, props.columns]);\n var checkedCount = state.filter(function (st) { return st[0]; }).length;\n var allSelected = checkedCount === state.length;\n var onSelectAll = React.useCallback(function () {\n state.forEach(function (st, i) {\n if (allSelected && i === 0) {\n st[1](true);\n }\n else {\n st[1](!allSelected);\n }\n });\n }, [state, allSelected]);\n return (React.createElement(\"form\", { className: \"k-filter-menu k-group k-reset\" },\n React.createElement(\"div\", { className: \"k-filter-menu-container\" },\n React.createElement(TextBox, { className: 'k-searchbox', value: filter, onChange: function (e) { return setFilter(String(e.target.value)); }, prefix: function () { return (React.createElement(React.Fragment, null,\n React.createElement(InputPrefix, null,\n React.createElement(IconWrap, { name: \"search\", icon: searchIcon })))); } }),\n React.createElement(\"ul\", { className: \"k-reset k-multicheck-wrap\" },\n !filter && React.createElement(\"li\", { className: \"k-item k-check-all-wrap\" },\n React.createElement(Checkbox, { checked: allSelected, onChange: onSelectAll, label: '(Select all)' })),\n filtered.map(function (c, i) {\n return (React.createElement(\"li\", { key: c.id, className: \"k-item\" },\n React.createElement(Checkbox, { disabled: state[i][0] && checkedCount === 1, checked: state[i][0], onChange: function (e) { var _a; return state[i][1](Boolean((_a = e.target.element) === null || _a === void 0 ? void 0 : _a.checked)); }, label: c.title || c.field })));\n })),\n React.createElement(\"div\", { className: \"k-filter-selected-items\" },\n checkedCount,\n \" selected items\"),\n React.createElement(\"div\", { className: \"k-actions k-actions-start k-actions-horizontal\" },\n React.createElement(Button, { type: \"button\", themeColor: 'primary', onClick: onApply }, \"Apply\"),\n React.createElement(Button, { type: \"button\", onClick: onReset }, \"Reset\")))));\n};\nGridColumnMenuColumnsList.displayName = 'GridColumnMenuColumnsList';\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\n/* eslint-disable max-len */\n/**\n * Represents the detail row class of the KendoReact Grid. Used to define custom details for each row. Can be applied for building the hierarchy. If `expandField` is set, the details for each row will be visible or hidden depending on the current data item and its `expandField` value.\n *\n * @example\n * ```jsx\n * class CustomGridDetailRow extends GridDetailRow {\n * render() {\n * const detailData = this.props.dataItem.MasterField2;\n * return (\n * <div>\n * This is detail template with another grid inside it\n * <Grid scrollable=\"none\" data={detailData} />\n * </div>\n * );\n * }\n * }\n *\n * class App extends React.Component {\n * constructor(props) {\n * super(props);\n * this.state = {\n * data: [{MasterField1:'A1', MasterField2: [{DetailField1: 1, DetailField2: 2}]},\n * {MasterField1:'B1', MasterField2: [{DetailField1: 3, DetailField2: 4}]},\n * {MasterField1:'C1', MasterField2: [{DetailField1: 5, DetailField2: 6}]}]\n * };\n * }\n * render() {\n * return (\n * <Grid\n * data={this.state.data}\n * detail={CustomGridDetailRow}\n * >\n * <GridColumn field=\"MasterField1\" />\n * </Grid>\n * );\n * }\n * }\n * ReactDOM.render(\n * <App />,\n * document.querySelector('my-app')\n * );\n * ```\n */\n// tslint:enable:max-line-length\nvar GridDetailRow = /** @class */ (function (_super) {\n __extends(GridDetailRow, _super);\n function GridDetailRow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @hidden\n */\n GridDetailRow.prototype.render = function () {\n return null;\n };\n return GridDetailRow;\n}(React.Component));\nexport { GridDetailRow };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { classNames, kendoThemeMaps } from '@progress/kendo-react-common';\n/**\n * Represents the GridToolbar component.\n *\n * @example\n * ```jsx\n * class App extends React.Component {\n * state = {\n * data: [\n * {'Column1':'A1', 'Column2':'A2'},\n * {'Column1':'B1', 'Column2':'B2'},\n * {'Column1':'C1', 'Column2':'C2'}\n * ]\n * }\n *\n * customClick = () => {\n * alert(\"Custom handler in custom toolbar\");\n * }\n * render() {\n * return (\n * <Grid data={this.state.data}>\n * <GridToolbar>\n * <button\n * title=\"Click\"\n * className=\"k-button k-primary\"\n * onClick={this.customClick}\n * >Click\n * </button>\n * </GridToolbar>\n * </Grid>\n * );\n * }\n * }\n * ReactDOM.render(\n * <App />,\n * document.querySelector('my-app')\n * );\n * ```\n */\nvar GridToolbar = /** @class */ (function (_super) {\n __extends(GridToolbar, _super);\n function GridToolbar() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @hidden\n */\n GridToolbar.prototype.render = function () {\n var _a;\n return (React.createElement(\"div\", { className: classNames('k-toolbar k-grid-toolbar', (_a = {\n 'k-toolbar-md': !this.props.size\n },\n _a[\"k-toolbar-\".concat(kendoThemeMaps.sizeMap[this.props.size] || this.props.size)] = this.props.size,\n _a), this.props.className), \"aria-label\": this.props.ariaLabel, \"aria-controls\": this.props.ariaControls, role: \"toolbar\" }, this.props.children));\n };\n /**\n * @hidden\n */\n GridToolbar.displayName = 'KendoReactGridToolbar';\n return GridToolbar;\n}(React.Component));\nexport { GridToolbar };\n","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport * as React from 'react';\nimport { getter } from '@progress/kendo-react-common';\n/**\n * Represents the KendoReact Grid's StatusBar component.\n */\nexport var StatusBar = function (props) {\n var _a = props.data, data = _a === void 0 ? [] : _a;\n return (React.createElement(\"div\", { className: \"k-selection-aggregates k-grid-selection-aggregates\" }, data.map(function (item, index) { return (React.createElement(\"div\", { key: index },\n React.createElement(\"span\", { className: \"k-selection-aggregates-item-text\" },\n item.type,\n \": \"),\n React.createElement(\"span\", { className: \"k-selection-aggregates-item-value\" }, item.formattedValue))); })));\n};\nStatusBar.displayName = 'KendoReactGridStatusBar';\n;\n;\n/**\n * @hidden\n */\nexport var leafColumns = function (columns) {\n var _a;\n var result = columns.slice();\n for (var i = 0; i < result.length; i++) {\n while (result[i] && ((_a = result[i].children) === null || _a === void 0 ? void 0 : _a.length)) {\n result.splice.apply(result, __spreadArray([i, 1], result[i].children, false));\n }\n }\n return result;\n};\n;\n/**\n * Calculates the status data.\n *\n * @param args StatusDataArgs\n * @returns StatusItem[]\n */\nexport var getStatusData = function (args) {\n var dataItems = args.dataItems, target = args.target, selectedField = args.selectedField;\n var columns = leafColumns(target.columns);\n var getters = columns.map(function (c) { return c.field; }).filter(function (f) { return f && typeof f === 'string'; }).map(function (f) { return getter(f); });\n var getSelected = getter(selectedField);\n var grouped = { dates: [], numbers: [], booleans: [], others: [] };\n var add = function (value) {\n if (typeof value === 'number') {\n grouped.numbers.push(value);\n }\n else if (typeof value === 'boolean') {\n grouped.booleans.push(value);\n }\n else if (value instanceof Date) {\n grouped.dates.push(value);\n }\n else {\n grouped.others.push(value);\n }\n };\n dataItems.forEach(function (item) {\n var selected = getSelected(item);\n if (selected) {\n selected.forEach(function (colIndex) {\n add(getters[colIndex](item));\n });\n }\n });\n var datesAsNumbers = grouped.dates.map(function (d) { return d.getTime(); });\n var isTrueCount = grouped.booleans.filter(function (bool) { return bool; }).length;\n var isFalseCount = grouped.booleans.filter(function (bool) { return !bool; }).length;\n var sum = grouped.numbers.length ? grouped.numbers.reduce(function (acc, curr) { return acc += curr; }, 0) : undefined;\n var aggregates = {\n sum: sum,\n average: typeof sum === 'number' ? sum / grouped.numbers.length : undefined,\n min: grouped.numbers.length ? Math.min.apply(Math, grouped.numbers) : undefined,\n max: grouped.numbers.length ? Math.max.apply(Math, grouped.numbers) : undefined,\n count: grouped.numbers.length + grouped.booleans.length + grouped.dates.length + grouped.others.length,\n isTrue: isTrueCount > 0 ? isTrueCount : undefined,\n isFalse: isFalseCount > 0 ? isFalseCount : undefined,\n earliest: grouped.dates.length ? new Date(Math.min.apply(Math, datesAsNumbers)) : undefined,\n latest: grouped.dates.length ? new Date(Math.max.apply(Math, datesAsNumbers)) : undefined\n };\n var format = function (value, key) {\n if ((key === 'sum' || key === 'average') && typeof value === 'number') {\n return value.toFixed(2);\n }\n else if ((key === 'earliest' || key === 'latest') && value instanceof Date) {\n return value.toLocaleDateString();\n }\n else {\n return String(value);\n }\n };\n var result = [];\n Object.keys(aggregates).forEach(function (a) {\n var type = a;\n var value = aggregates[type];\n if (value !== undefined) {\n result.push({ type: type, value: value, formattedValue: format(value, type) });\n }\n });\n return result;\n};\n"],"names":["GridColumn","_","displayName","defaultProps","filterable","editable","sortable","resizable","reorderable","groupable","propTypes","field","PropTypes","title","allowUnsort","isRequired","cell","filterCell","filterTitle","filter","editor","width","minResizableWidth","headerCell","footerCell","headerSelectionValue","format","headerClassName","className","orderIndex","columnMenu","locked","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","getNestedValue","fieldName","dataItem","path","split","data","forEach","undefined","flatData","output","input","footer","dataIndex","groupDefined","level","maxLevel","value","items","Math","max","expanded","rowType","index","readColumns","elements","oldColumns","idInfo","depth","columns","columnProps","props","oldColumn","children","push","id","navigationTools","generateNavigatableId","concat","prevId","idPrefix","declarationIndex","rowSpan","colSpan","isAccessible","left","floor","right","sort","a","b","ret_1","flat_1","cols","pIndex","c","parentIndex","_a","getColumnWidth","column","parseFloat","toString","sanitizeColumns","map","kFirst","firefox","window","test","navigator","userAgent","firefoxMaxHeight","resolveCells","gridCells","columnCells","select","hierarchy","group","edit","GridSelectionCell","handleOnChange","React","syntheticEvent","selectionChange","inputId","guid","selectedValue","navigationAttributes","useTableKeyboardNavigation","tdProps","style","ariaColumnIndex","role","content","key","checked","type","onChange","htmlFor","defaultRendering","rowTypeSetting","customCells","cells","CustomCell","render","noRecords","pagerInfo","pagerFirstPage","pagerPreviousPage","pagerNextPage","pagerLastPage","pagerItemPerPage","groupPanelEmpty","groupColumn","ungroupColumn","filterClearButton","filterSubmitButton","sortAscending","sortDescending","searchPlaceholder","filterCheckAll","filterChooseOperator","filterSelectedItems","sortAriaLabel","filterAriaLabel","groupPanelAriaLabel","groupExpand","groupCollapse","detailExpand","detailCollapse","messages","pagerMessagesMap","pagerMessageKey","messageKey","replace","_match","toUpperCase","defaultMessage","GridHierarchyCell","localization","useLocalization","onKeyDownHandler","event","isDefaultPrevented","keyCode","Keys","enter","preventDefault","baseMessage","message","toLanguageString","onKeyDown","onClick","href","tabIndex","IconWrap","name","icon","minusIcon","plusIcon","GRID_ROW_INDEX_ATTRIBUTE","TABLE_ROW_INDEX_ATTRIBUTE","GRID_COL_INDEX_ATTRIBUTE","TABLE_COL_INDEX_ATTRIBUTE","GridEditCell","_b","_c","_d","_e","editCellClasses","classNames","isSelected","target","onContextMenu","inputChange","columnIndex","NumericTextBox","DatePicker","editorSetting","__extends","extendStatics","d","setPrototypeOf","__proto__","Array","TypeError","String","__","constructor","create","Header","_super","_this","headerWrap","table","syncScroll","scrollbarWidth","getScrollbarWidth","onScroll","_event","scrollLeft","scrollableDataElement","defineProperty","get","elemRef","current","enumerable","configurable","componentDidMount","rtl","isRtl","element","columnResize","setIsRtl","forceUpdate","setScrollLeft","setWidth","staticHeaders","ref","draggable","div","borderWidth","size","kendoThemeMaps","sizeMap","colGroupHeader","tableKeyboardNavigationHeaderAttributes","headerRow","filterRow","__spreadArray","to","from","pack","ar","l","slice","normalize","settings","_i","mode","ColumnDraggable","onPress","pressHandler","onDrag","dragHandler","onRelease","releaseHandler","Draggable","hint","dragClue","autoScroll","boundaryElementRef","headerRef","direction","horizontal","vertical","scrollContainer","containerRef","component","touchAction","ariaRowIndex","GridColumnMenuWrapper","state","show","_anchor","_content","blurTimeout","willBlur","blur","clearTimeout","setTimeout","closeMenu","focus","anchorClick","setState","onAnchorMouseDown","currentTarget","onAnchorKeyDown","tab","elementToFocus","parentScroll","closest","getElementsByClassName","scrollWidth","clientWidth","scrollIntoView","inline","ColumnMenu","others","localizationService","provideLocalizationService","fieldMessage","onMouseDown","moreVerticalIcon","Popup","anchor","onBlur","onFocus","outline","onCloseMenu","GridHeaderCell","columnMenuWrapperProps","clickProps","sortSeqMap","true","false","ariaSortMap","HeaderRow","serviceIndex","cellKeyDown","cellClick","rowIndexes","sortIndex","findIndex","sortDir","dir","Boolean","some","descriptor","sortLabel","intl","ariaAttrs","ariaSort","ariaSelected","ariaDescription","HeaderCell","selectionValue","cellRender","sortIcon","onSortChange","sortChange","filterOperators","onFilterChange","filterChange","onGroupChange","groupChange","thProps","columnId","navigatable","ColumnResizer","resize","end","autofit","dblClickHandler","HeaderThElement","bind","oldDescriptor","newDescriptor","sortAscSmallIcon","sortDescSmallIcon","columnsMap","registerForLocalization","filterLogicList","text","operator","operators","IsUnaryFilter","operatorMap","iterable","service","booleanFilterValues","defaultHideSecondFilter","numeric","date","boolean","cellInputChange","defaultOperator","getDefaultOperator","filterType","getFilterType","cellBoolDropdownChange","item","cellOperatorChange","currentValue","opened","GridFilterCell","_inputRef","renderOperatorEditor","find","DropDownList","operatorChange","iconClassName","svgIcon","filterIcon","textField","popupSettings","clear","boolDropdownChange","filterComponent","booleanValues","Button","filterClearIcon","disabled","ariaLabel","TextBox","FilterRow","headerCellClassName","result","setFilter","filters","logic","oldFilters","filterCells","currentActiveFilter","currentFilters","activeFilter","filterCellProps","getFilterColumnId","GroupingIndicator","groupRemove","stopPropagation","onRemove","xCircleIcon","GroupPanel","onGroupRemove","newGroups","splice","onGroupSortChange","groupDesc","groups","resolveTitle","refCallback","ariaControls","Footer","footerWrap","colGroupFooter","row","VirtualScroll","cached","containerHeight","topCacheCount","attendedSkip","propsSkip","total","scrollableVirtual","realSkip","pageSize","PageChange","tableBodyRef","fixedScroll","askedSkip","tableTransform","prevScrollPos","tableTranslate","scrollSyncing","reactVersion","Number","topItems","heights","skipTopBuffer","container","topItemsCount","topItemsHeight","screenHeight","clientHeight","itemsOnScreen","ceil","line","acc","itemsNeededOnScreen","horizontalScrollbarHeight","offsetHeight","scrollHandler","allRows","accumulate","scrollHeight","changePage","skip","take","translate","dY","forceSet","transform","reset","scrollTop","localScrollUp","rowHeights","targetTranslate","rowsCount","additionalOnTop","nextSkip","localScrollDown","scrollNonStrict","floatRowIndex","rowIndex","rowpercentage","min","microAdjust","rowIndexOffset","prev","RowHeightService","rowHeight","detailRowHeight","offsets","agg","idx","currHeight","height","position","reduce","offset","totalHeight","VirtualScrollFixed","_cached","lastLoaded","firstLoaded","lastScrollTop","rowHeightService","up","down","firstItemIndex","firstItemOffset","lastItemIndex","overflow","nextTake","nonVisibleBuffer","ColumnResize","triggerResize","dragCue","originalEvent","stopImmediatePropagation","thElement","oldWidth","newWidth","getBoundingClientRect","offsetWidth","clientX","abs","fixateInitialWidths","parentElement","setWidths","onResize","columnIds","colGroupMain","leafsForAdjust","stack","currentCol","pop","leafs","indexesForAdjust","currentColumn","tables","colgroups","classList","add","maxWidths","colgroup","remove","updateColElements","affectedColumns","leafColumns","difference","_loop_1","colIndex","currentColumnFloatWidth","currentColumnFloorWidth","currentWidth","mainWidth","parseInt","updateNextLockedCol","headerWidth","footerWidth","remainingCount","perCol","col","coef","indexInOriginal","toAdjust","more","cc","colToAdjust","targetWidth","deltaWidth","currentIndex","gridWrapperEl","maxWidth","widthOfLocked","nColumn","allColumnEls","querySelectorAll","el","currentStyle","CommonDragLogic","columnReorder","groupReorder","columnToGroup","refDragElementClue","refDropElementClue","startColumn","startGroup","currentGroup","groupPanelDivElement","refGroupPanelDiv","getColumnIndex","getGroupIndex","isTouch","groupPanelChildren","isTargetGroupingContainer","invalidIndex","isValid","targetElement","updateDragElementClue","updateDropElementClue","prevColumnIndex","nextColumnIndex","prevGroupIndex","nextGroupIndex","dropElementClue","visible","dragElementClue","parent","getIndex","parentNode","this_1","state_1","innerText","top","pageY","pageX","status","rect","rectParent","clientY","GridCell","useInternationalization","GridGroupCell","columnsCount","definedField","td2Props","renderCellCollapse","colspan","styles","caretAltDownIcon","caretAltLeftIcon","caretAltRightIcon","Date","borderLeftWidth","borderRightWidth","zIndex","GridRow","isAltRow","isInEdit","onDoubleClick","visibility","isHidden","absoluteRowIndex","GridHeaderSelectionCell","_inputId","GridNoRecords","FooterRow","_element","renderCell","cellProps","hasParentFooterCell","packageMetadata","productName","productCodes","publishDate","version","licensingDocsUrl","GridDetailCell","ariaColIndex","detail","GridDetailHierarchyCell","Grid","_columns","_columnsMap","_columnsMutations","_resized","_shouldUpdateLeftRight","contextStateRef","navigationStateRef","_data","_slicedData","wrapperScrollTop","showLicenseWatermark","headerElementRef","tableElement","_footer","forceUpdateTimeout","_gridId","_gridRoleElementId","observer","handleIntersection","entries","options","entry","isIntersecting","setCurrentOnTop","vs","scrollable","disconnect","scroll","round","selectedRow","querySelector","offsetTop","observe","fitColumns","ev","nativeEvent","getVirtualScroll","expandField","hasAllData","isAllData","hasRowHeight","hasDetailRowHeight","isGroupable","enabled","hasDetails","isArray","initializeVirtualization","reInitVirtualization","pageChange","columnVirtualization","_header","dispatchEvent","tableKeyboardNavigation","onNavigationAction","getSelectionOptions","selectable","dataItems","getLeafDataItems","componentId","selectedField","getArguments","focusElement","rowClick","onRowClick","nodeName","rowDblClick","onRowDoubleClick","itemChange","onItemChange","expandChange","onExpandChange","onHeaderSelectionChange","selectionRelease","onSelectionChange","selectionEvent","page","targetEvent","raiseDataEvent","onPageChange","pagerPageChange","targetId","resetTableWidth","onColumnResize","targetColumnId","memoizeOne","_vScrolling","_total","_filter","_group","_sort","useCached","VS","propsData","groupingFooter","flattedData","resolvedGroupsCount","_vs","childrenToArray","toArray","_mutationsCount","child","mapColumns","configureColumns","groupCount","defaultServiceProps","rightBorder","columnIndexOffset","unshift","lockGroups","getHeaderRow","headerCellRender","isHeaderRtl","dragLogic","dragClueRef","validatePackage","shouldShowValidationUI","onConstructor","shuffledColumns","q","canUseDOM","ownerDocument","document","setScrollbarWidth","onComponentDidMount","scope","IntersectionObserver","rootMargin","threshold","getSnapshotBeforeUpdate","onGetSnapshotBeforeUpdate","componentDidUpdate","onComponentDidUpdate","componentWillUnmount","getIdPrefix","_f","tableUserSelect","drag","initColumns","toolbar","statusBar","groupingPanel","_g","_h","header","filterCellRender","tableWidth","_j","tableColumnsVirtualization","tableViewPortWidth","colSpans","isColHidden","hiddenColumns","hiddenRows","shift","hidden","absoluteDataIndex","body","rowIndexStart","currentAriaRowIndex","dataIndex_1","detailRowCount_1","isAlt","dataItemKey","getter","absoluteIndex","rowId","detailRowId","gridRow","rowDataIndex","columnKey","currentColumnIsInEdit","editField","inEdit","Cell","dataRow","rowRender","detailColspan","gr","columnStyle","pagerProps","messagesMap","buttonCount","info","pageSizes","previousNext","responsive","pageSizeValue","normalizeSettings","pageable","pager","Pager","f","colGroups","enableDragClues","tableDisplay","TableKeyboardNavigationContext","Provider","tableKeyboardNavigationScopeAttributes","TableSelection","childRef","userSelect","display","tableKeyboardNavigationBodyAttributes","DropClue","DragClue","wrapperStyle","WatermarkOverlay","event_1","startColIndex","endColIndex","startRowIndex","endRowIndex","altKey","ctrlKey","shiftKey","metaKey","isDrag","handler","moreData","dataStateChange","onDataStateChange","dataState","getDataState","next","spliced","shouldUpdateRL","updateLeft","updateRight","eventColumnProps","onColumnReorder","reorderEvent","prevIndex","nextIndex","groupIndex","totalWidth","colElements","propData","itemForColumnsGen","getOwnPropertyNames","autoGenerateColumns","contextType","GridColumnMenuItemGroup","GridColumnMenuItem","iconClass","selected","toIconName","GridColumnMenuGroup","onGroupClick","column_1","newGroup","isGrouped","ungroupIcon","groupIcon","registerForIntl","DESC_DIR","sortedAsc","sortedIndex","sortedDesc","GridColumnMenuSort","onAscClick","onSort","onDescClick","selectedDir","currentSortIndex","active","GridColumnMenuItemContent","Reveal","GridColumnMenuFilterCell","rangeOnEnter","Input","GridColumnMenuFilterUI","firstFilterProps","hideSecondFilter","secondFilterProps","logicData","logicValue","onLogicChange","rootFilterOrDefault","rootFilter","filterGroupByField","isCompositeFilterDescriptor","nf","GridColumnMenuFilter","filterGroup","removeGroup","insertGroup","isControlled","onFilterExpand","nextValue","firstFilterChange","secondFilterChange","filterIndex","logicChange","rootFilters","currentFilterGroup","submit","updatedFilter","x","filterUI","currentHideSecondFilter","currentOperators","firstFilterCellProps","secondFilterCellProps","filterLogic","logicProps","FilterUI","filterUIProps","isFilterValid","expandState","alwaysExpand","onSubmit","onReset","themeColor","GridColumnMenuCheckboxFilter","defaultFilter","clone","parseData","originalData","isUnique","getFilterIndex","handleSearchChange","filterOperator","searchBoxFilterOperator","filterExpression","ignoreCase","filterBy","uniqueData","handleClear","currentFilter","compositeFilterIndex","handleCheckBoxChange","newFilter","fieldFilters","isAllSelected","isAllChecked","filters_1","every","dataFromProps","firstArray","secondArray","ex","filterValues","filterItem","searchBox","searchIcon","placeholder","rounded","xIcon","uniqueFilterValues","Checkbox","label","includes","GridColumnMenuColumnsList","selectedColumnsIds","Set","columnsState","filtered","toLowerCase","has","onApply","nextColumns","onColumnsChange","checkedCount","st","allSelected","onSelectAll","prefix","InputPrefix","GridDetailRow","GridToolbar","StatusBar","formattedValue","getStatusData","args","getters","getSelected","grouped","dates","numbers","booleans","datesAsNumbers","getTime","isTrueCount","bool","isFalseCount","sum","curr","aggregates","average","count","isTrue","isFalse","earliest","latest","toLocaleDateString","toFixed","keys"],"sourceRoot":""}