@progress/kendo-react-grid 7.2.4-develop.3 → 7.3.0-develop.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Grid.js +8 -0
- package/Grid.mjs +1111 -0
- package/GridColumn.js +8 -0
- package/GridColumn.mjs +53 -0
- package/GridNoRecords.js +8 -0
- package/GridNoRecords.mjs +25 -0
- package/GridToolbar.js +8 -0
- package/GridToolbar.mjs +39 -0
- package/StatusBar.js +8 -0
- package/StatusBar.mjs +53 -0
- package/VirtualScroll.js +8 -0
- package/VirtualScroll.mjs +128 -0
- package/VirtualScrollFixed.js +8 -0
- package/VirtualScrollFixed.mjs +86 -0
- package/cells/GridCell.js +8 -0
- package/cells/GridCell.mjs +57 -0
- package/cells/GridDetailCell.js +8 -0
- package/cells/GridDetailCell.mjs +30 -0
- package/cells/GridDetailHierarchyCell.js +8 -0
- package/cells/GridDetailHierarchyCell.mjs +17 -0
- package/cells/GridEditCell.js +8 -0
- package/cells/GridEditCell.mjs +172 -0
- package/cells/GridFilterCell.js +8 -0
- package/cells/GridFilterCell.mjs +145 -0
- package/cells/GridGroupCell.js +8 -0
- package/cells/GridGroupCell.mjs +115 -0
- package/cells/GridHierarchyCell.js +8 -0
- package/cells/GridHierarchyCell.mjs +84 -0
- package/cells/GridSelectionCell.js +8 -0
- package/cells/GridSelectionCell.mjs +54 -0
- package/columnMenu/GridColumnMenuCheckboxFilter.js +8 -0
- package/columnMenu/GridColumnMenuCheckboxFilter.mjs +199 -0
- package/columnMenu/GridColumnMenuColumnsList.js +8 -0
- package/columnMenu/GridColumnMenuColumnsList.mjs +60 -0
- package/columnMenu/GridColumnMenuFilter.js +8 -0
- package/columnMenu/GridColumnMenuFilter.mjs +188 -0
- package/columnMenu/GridColumnMenuFilterCell.js +8 -0
- package/columnMenu/GridColumnMenuFilterCell.mjs +96 -0
- package/columnMenu/GridColumnMenuFilterUI.js +8 -0
- package/columnMenu/GridColumnMenuFilterUI.mjs +36 -0
- package/columnMenu/GridColumnMenuGroup.js +8 -0
- package/columnMenu/GridColumnMenuGroup.mjs +50 -0
- package/columnMenu/GridColumnMenuItem.js +8 -0
- package/columnMenu/GridColumnMenuItem.mjs +22 -0
- package/columnMenu/GridColumnMenuItemContent.js +8 -0
- package/columnMenu/GridColumnMenuItemContent.mjs +30 -0
- package/columnMenu/GridColumnMenuItemGroup.js +8 -0
- package/columnMenu/GridColumnMenuItemGroup.mjs +30 -0
- package/columnMenu/GridColumnMenuSort.js +8 -0
- package/columnMenu/GridColumnMenuSort.mjs +75 -0
- package/columnMenu/GridColumnMenuWrapper.js +8 -0
- package/columnMenu/GridColumnMenuWrapper.mjs +91 -0
- package/constants/index.js +8 -0
- package/constants/index.mjs +15 -0
- package/dist/cdn/js/kendo-react-grid.js +8 -5
- package/drag/ColumnDraggable.js +8 -0
- package/drag/ColumnDraggable.mjs +43 -0
- package/drag/ColumnResize.js +8 -0
- package/drag/ColumnResize.mjs +128 -0
- package/drag/CommonDragLogic.js +8 -0
- package/drag/CommonDragLogic.mjs +104 -0
- package/drag/GroupingIndicator.js +8 -0
- package/drag/GroupingIndicator.mjs +91 -0
- package/filterCommon.js +8 -0
- package/filterCommon.mjs +103 -0
- package/footer/Footer.js +8 -0
- package/footer/Footer.mjs +76 -0
- package/footer/FooterRow.js +8 -0
- package/footer/FooterRow.mjs +46 -0
- package/header/FilterRow.js +8 -0
- package/header/FilterRow.mjs +96 -0
- package/header/GridHeaderCell.js +8 -0
- package/header/GridHeaderCell.mjs +38 -0
- package/header/GridHeaderSelectionCell.js +8 -0
- package/header/GridHeaderSelectionCell.mjs +44 -0
- package/header/GroupPanel.js +8 -0
- package/header/GroupPanel.mjs +60 -0
- package/header/Header.js +8 -0
- package/header/Header.mjs +107 -0
- package/header/HeaderRow.js +8 -0
- package/header/HeaderRow.mjs +155 -0
- package/index.d.mts +2777 -5
- package/index.d.ts +2777 -57
- package/index.js +8 -5
- package/index.mjs +89 -3845
- package/interfaces/GridSortSettings.js +8 -0
- package/interfaces/GridSortSettings.mjs +12 -0
- package/messages/index.js +8 -0
- package/messages/index.mjs +107 -0
- package/package-metadata.js +8 -0
- package/package-metadata.mjs +19 -0
- package/package.json +10 -10
- package/paging/GridPagerSettings.js +8 -0
- package/paging/GridPagerSettings.mjs +28 -0
- package/rows/GridDetailRow.js +8 -0
- package/rows/GridDetailRow.mjs +20 -0
- package/rows/GridRow.js +8 -0
- package/rows/GridRow.mjs +51 -0
- package/utils/index.js +8 -0
- package/utils/index.mjs +180 -0
- package/Grid.d.ts +0 -267
- package/GridColumn.d.ts +0 -28
- package/GridNoRecords.d.ts +0 -40
- package/GridToolbar.d.ts +0 -54
- package/ScrollMode.d.ts +0 -5
- package/StatusBar.d.ts +0 -51
- package/VirtualScroll.d.ts +0 -51
- package/VirtualScrollFixed.d.ts +0 -53
- package/cells/GridCell.d.ts +0 -6
- package/cells/GridDetailCell.d.ts +0 -18
- package/cells/GridDetailHierarchyCell.d.ts +0 -10
- package/cells/GridEditCell.d.ts +0 -9
- package/cells/GridFilterCell.d.ts +0 -20
- package/cells/GridGroupCell.d.ts +0 -9
- package/cells/GridHierarchyCell.d.ts +0 -9
- package/cells/GridSelectionCell.d.ts +0 -9
- package/columnMenu/GridColumnMenuCheckboxFilter.d.ts +0 -122
- package/columnMenu/GridColumnMenuColumnsList.d.ts +0 -31
- package/columnMenu/GridColumnMenuFilter.d.ts +0 -165
- package/columnMenu/GridColumnMenuFilterCell.d.ts +0 -37
- package/columnMenu/GridColumnMenuFilterUI.d.ts +0 -12
- package/columnMenu/GridColumnMenuGroup.d.ts +0 -77
- package/columnMenu/GridColumnMenuItem.d.ts +0 -40
- package/columnMenu/GridColumnMenuItemContent.d.ts +0 -24
- package/columnMenu/GridColumnMenuItemGroup.d.ts +0 -20
- package/columnMenu/GridColumnMenuSort.d.ts +0 -89
- package/columnMenu/GridColumnMenuWrapper.d.ts +0 -49
- package/constants/index.d.ts +0 -10
- package/drag/ColumnDraggable.d.ts +0 -38
- package/drag/ColumnResize.d.ts +0 -37
- package/drag/CommonDragLogic.d.ts +0 -44
- package/drag/GroupingIndicator.d.ts +0 -41
- package/filterCommon.d.ts +0 -73
- package/footer/Footer.d.ts +0 -38
- package/footer/FooterRow.d.ts +0 -25
- package/header/FilterRow.d.ts +0 -38
- package/header/GridHeaderCell.d.ts +0 -56
- package/header/GridHeaderSelectionCell.d.ts +0 -10
- package/header/GroupPanel.d.ts +0 -26
- package/header/Header.d.ts +0 -46
- package/header/HeaderRow.d.ts +0 -51
- package/interfaces/GridCellProps.d.ts +0 -73
- package/interfaces/GridCellsSettings.d.ts +0 -115
- package/interfaces/GridColumnMenuBaseProps.d.ts +0 -18
- package/interfaces/GridColumnMenuColumnProps.d.ts +0 -29
- package/interfaces/GridColumnMenuFilterBaseProps.d.ts +0 -28
- package/interfaces/GridColumnMenuFilterUIProps.d.ts +0 -35
- package/interfaces/GridColumnMenuGroupBaseProps.d.ts +0 -23
- package/interfaces/GridColumnMenuProps.d.ts +0 -12
- package/interfaces/GridColumnMenuSortBaseProps.d.ts +0 -24
- package/interfaces/GridColumnProps.d.ts +0 -92
- package/interfaces/GridDetailRowProps.d.ts +0 -17
- package/interfaces/GridFilterCellProps.d.ts +0 -68
- package/interfaces/GridFilterOperator.d.ts +0 -10
- package/interfaces/GridFilterOperators.d.ts +0 -53
- package/interfaces/GridFooterCellProps.d.ts +0 -26
- package/interfaces/GridGroupableSettings.d.ts +0 -17
- package/interfaces/GridHeaderCellProps.d.ts +0 -24
- package/interfaces/GridNoRecordsProps.d.ts +0 -13
- package/interfaces/GridProps.d.ts +0 -333
- package/interfaces/GridRowProps.d.ts +0 -67
- package/interfaces/GridRowType.d.ts +0 -13
- package/interfaces/GridSelectableSettings.d.ts +0 -22
- package/interfaces/GridSortSettings.d.ts +0 -17
- package/interfaces/GridToolbarProps.d.ts +0 -37
- package/interfaces/VirtualScrollInterface.d.ts +0 -31
- package/interfaces/events.d.ts +0 -232
- package/messages/index.d.ts +0 -199
- package/package-metadata.d.ts +0 -9
- package/paging/GridPagerSettings.d.ts +0 -71
- package/paging/Page.d.ts +0 -17
- package/rows/GridDetailRow.d.ts +0 -55
- package/rows/GridRow.d.ts +0 -15
- package/utils/index.d.ts +0 -73
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
(function(m,J){typeof exports=="object"&&typeof module!="undefined"?J(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-data-tools"),require("@progress/kendo-react-intl"),require("@progress/kendo-svg-icons"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dateinputs"),require("@progress/kendo-react-popup"),require("@progress/kendo-react-buttons"),require("@progress/kendo-react-dropdowns"),require("@progress/kendo-data-query"),require("@progress/kendo-react-animation")):typeof define=="function"&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-data-tools","@progress/kendo-react-intl","@progress/kendo-svg-icons","@progress/kendo-react-inputs","@progress/kendo-react-dateinputs","@progress/kendo-react-popup","@progress/kendo-react-buttons","@progress/kendo-react-dropdowns","@progress/kendo-data-query","@progress/kendo-react-animation"],J):(m=typeof globalThis!="undefined"?globalThis:m||self,J(m.KendoReactGrid={},m.React,m.PropTypes,m.KendoReactCommon,m.KendoReactDataTools,m.KendoReactIntl,m.KendoSvgIcons,m.KendoReactInputs,m.KendoReactDateinputs,m.KendoReactPopup,m.KendoReactButtons,m.KendoReactDropdowns,m.KendoDataQuery,m.KendoReactAnimation))})(this,function(m,J,p,f,b,I,N,L,xe,ii,K,Z,de,ri){"use strict";"use client";function si(r){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const i in r)if(i!=="default"){const l=Object.getOwnPropertyDescriptor(r,i);Object.defineProperty(t,i,l.get?l:{enumerable:!0,get:()=>r[i]})}}return t.default=r,Object.freeze(t)}const o=si(J),q=r=>null;q.displayName="KendoReactGridColumn",q.defaultProps={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},q.propTypes={field:p.string,title:p.string,editable:p.bool,sortable:p.oneOfType([p.bool,p.shape({allowUnsort:p.bool.isRequired})]),cell:p.any,filterCell:p.any,filterTitle:p.string,filterable:p.bool,filter:p.oneOf(["text","numeric","boolean","date"]),editor:p.oneOf(["text","numeric","boolean","date"]),width:p.oneOfType([p.string,p.number]),minResizableWidth:p.number,headerCell:p.any,footerCell:p.any,headerSelectionValue:p.bool,format:p.string,headerClassName:p.string,className:p.string,reorderable:p.bool,resizable:p.bool,orderIndex:p.number,groupable:p.bool,columnMenu:p.any,locked:p.bool};function H(r,t){const i=(r||"").split(".");let l=t;return i.forEach(e=>{l=l?l[e]:void 0}),l}function et(r,t,i,l,e,s,n=0){let a=n;for(let h=0;h<t.length;h++){if(!e||t[h].value===void 0||t[h].items===void 0){r[r.length]={dataIndex:l.index,dataItem:t[h],rowType:"data",level:n,expanded:s===void 0||H(s,t[h])},l.index++;continue}a=Math.max(a,n+1);const c=s===void 0||H(s,t[h])===void 0||H(s,t[h]);r[r.length]={dataIndex:-1,dataItem:t[h],level:n,rowType:"groupHeader",expanded:c},c&&(a=Math.max(et(r,t[h].items,i,l,e,s,n+1),a)),(i==="always"||c&&i==="visible")&&(r[r.length]={dataIndex:-1,dataItem:t[h],rowType:"groupFooter",level:n,expanded:c})}return a}function tt(r,t,i,l=0){let e=[];if(!r)return[];r&&r.length===void 0&&(r=[r]),r.forEach((n,a)=>{n=n.props?n.props:n;const h=t[a]||null,c=tt(n.children,h&&h.children||[],i,l+1);e.push(Object.assign({depth:l},q.defaultProps,c.length?{cell:()=>null,filterCell:()=>null}:{},h?{width:h.width,orderIndex:h.orderIndex}:{},n,{id:n.id?n.id:b.tableKeyboardNavigationTools.generateNavigatableId(`${i.prevId++}`,i.idPrefix,"column"),declarationIndex:e.length,children:c,rowSpan:0,colSpan:0,isAccessible:!0,left:h&&Math.floor(h.left),right:h&&Math.floor(h.right)}))});const s=(n,a)=>n.orderIndex===a.orderIndex?n.declarationIndex-a.declarationIndex:(n.orderIndex||0)-(a.orderIndex||0);if(e.sort(s),l===0){let n=[];const a=(h,c)=>h.forEach(d=>{d.parentIndex=c,a(d.children,n.push(d)-1)});return a(e,-1),n}return e}function li(r,t,i,l){let e=[];Array.isArray(r)?e=r:r&&(e=r.data);const s=[];if(e.length>0){let n=e[0];if(t)for(let h=0;h<t.length;h++)n=n.items&&n.items[0];Object.getOwnPropertyNames(n).forEach(h=>{h!==i&&s.push(Object.assign({id:b.tableKeyboardNavigationTools.generateNavigatableId(`${l.prevId++}`,l.idPrefix,"column"),declarationIndex:-1,parentIndex:-1,depth:0,colSpan:0,rowSpan:0,index:0,left:0,right:0,rightBorder:!1,children:[],ariaColumnIndex:0,isAccessible:!0},q.defaultProps,{field:h}))})}return s}const oi=(r,t)=>{let i=r[t.parentIndex];for(;i;){if(i.footerCell)return!0;i=r[i.parentIndex]}return!1},ni=r=>r.filter(t=>oi(r,t)?!1:!!t.footerCell||!(t.children&&t.children.length>0)),Ee=r=>r.width!==void 0?Math.floor(parseFloat(r.width.toString()))+"px":void 0,it=r=>(r.sort((t,i)=>t.declarationIndex-i.declarationIndex),r.map(t=>{const{declarationIndex:i,parentIndex:l,depth:e,colSpan:s,rowSpan:n,index:a,kFirst:h,children:c,...d}=t;return c.length?{children:it(c),...d}:d})),Se=typeof window!="undefined"&&/Firefox/.test(window.navigator.userAgent),rt=17895697,pe=(r,t)=>{if(!(!r&&!t))return t?r?{...r,...t,select:{...r.select||{},...t.select||{}},hierarchy:{...r.hierarchy||{},...t.hierarchy||{}},group:{...r.group||{},...t.group||{}},edit:{...r.edit||{},...t.edit||{}}}:t:r},Ie="grid.noRecords",st="grid.pagerInfo",lt="grid.pagerFirstPage",ot="grid.pagerPreviousPage",nt="grid.pagerNextPage",at="grid.pagerLastPage",ht="grid.pagerItemsPerPage",ai="grid.pagerPage",hi="grid.pagerPageSizeAriaLabel",ci="grid.pagerOf",di="grid.pagerTotalPages",we="grid.groupPanelEmpty",ct="grid.groupColumn",dt="grid.ungroupColumn",ke="grid.columnMenu",P="grid.filterClearButton",Q="grid.filterSubmitButton",ee="grid.filterTitle",ye="grid.sortAscending",Ne="grid.sortDescending",Fe="grid.searchPlaceholder",Ge="grid.filterCheckAll",Me="grid.filterChooseOperator",ze="grid.filterSelectedItems",Le="grid.sortAriaLabel",De="grid.filterAriaLabel",Oe="grid.groupPanelAriaLabel",pt="grid.groupExpand",ut="grid.groupCollapse",gt="grid.detailExpand",ft="grid.detailCollapse",te="grid.selectRow",w={[gt]:"Expand detail row",[ft]:"Collapse detail row",[pt]:"Expand group",[ut]:"Collapse Group",[Ie]:"No records available",[we]:"Drag a column header and drop it here to group by that column",[P]:"Clear",[Q]:"Filter",[ee]:"Filter",[ye]:"Sort Ascending",[Ne]:"Sort Descending",[Le]:"Sortable",[ct]:"Group Column",[dt]:"Ungroup Column",[ke]:"Column menu",[ht]:"items per page",[st]:"{0} - {1} of {2} items",[lt]:"Go to the first page",[ot]:"Go to the previous page",[nt]:"Go to the next page",[at]:"Go to the last page",[ai]:"Page",[hi]:"Page size",[ci]:"of",[di]:"{0}",[Fe]:"Search",[Ge]:"Check All",[Me]:"Choose Operator",[ze]:"selected items",[De]:"Filter",[Oe]:"Group panel",[te]:"Select Row","grid.filterEqOperator":"Is equal to","grid.filterNotEqOperator":"Is not equal to","grid.filterIsNullOperator":"Is null","grid.filterIsNotNullOperator":"Is not null","grid.filterIsEmptyOperator":"Is empty","grid.filterIsNotEmptyOperator":"Is not empty","grid.filterStartsWithOperator":"Starts with","grid.filterContainsOperator":"Contains","grid.filterNotContainsOperator":"Does not contain","grid.filterEndsWithOperator":"Ends with","grid.filterGteOperator":"Is greater than or equal to","grid.filterGtOperator":"Is greater than","grid.filterLteOperator":"Is less than or equal to","grid.filterLtOperator":"Is less than","grid.filterIsTrue":"Is true","grid.filterIsFalse":"Is false","grid.filterBooleanAll":"(All)","grid.filterAfterOrEqualOperator":"Is after or equal to","grid.filterAfterOperator":"Is after","grid.filterBeforeOperator":"Is before","grid.filterBeforeOrEqualOperator":"Is before or equal to","grid.filterAndLogic":"And","grid.filterOrLogic":"Or"};function pi(r){const t=r.replace(/^pager\.([a-z])/,(i,l)=>"grid.pager"+l.toUpperCase());return{messageKey:t,defaultMessage:w[t]}}const mt=r=>{const t=I.useLocalization(),i=o.useCallback(C=>{r.selectionChange&&r.selectionChange({syntheticEvent:C})},[r.selectionChange]),l=f.useId(),e=H(r.field,r.dataItem),s=b.useTableKeyboardNavigation(r.id),n={colSpan:r.colSpan,style:r.style,className:r.className,"aria-colindex":r.ariaColumnIndex,role:"gridcell",...s},a=typeof e=="boolean"&&e,h=o.createElement("span",{key:1,className:"k-checkbox-wrap"},o.createElement("input",{id:l,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":t.toLanguageString(te,w[te]),"aria-checked":a,checked:a,onChange:i})),c=r.rowType!=="groupHeader"?o.createElement("td",{...n},h):null,d=r.rowType||"data",u=r.cells;if(u&&u.select&&u.select[d]){const C=u.select[d];return o.createElement(C,{...r,tdProps:n},h)}return r.render?r.render.call(void 0,c,r):c},Ct=r=>{let t=null,i=null,l=null;const e=H(r.field,r.dataItem),s=b.useTableKeyboardNavigation(r.id),n=I.useLocalization(),a=o.useCallback(d=>{d.isDefaultPrevented()||d.keyCode===f.Keys.enter&&r.onChange&&(d.preventDefault(),r.onChange({dataItem:r.dataItem,dataIndex:r.dataIndex,syntheticEvent:d,field:r.field,value:!e}))},[r.dataItem,r.dataIndex,r.field,r.onChange,e]);if(r.rowType==="groupFooter")i={className:"k-table-td k-hierarchy-cell",role:"gridcell",...s},t=o.createElement("td",{...i});else if(r.rowType!=="groupHeader"){const d=e?ft:gt,u=n.toLanguageString(d,w[d]);i={className:"k-table-td k-hierarchy-cell",onKeyDown:a,"aria-expanded":!!e,role:"gridcell","aria-colindex":r.ariaColumnIndex,...s},l=o.createElement("a",{onClick:C=>{C.preventDefault(),r.onChange&&r.onChange({dataItem:r.dataItem,dataIndex:r.dataIndex,syntheticEvent:C,field:r.field,value:!e})},"aria-label":u,href:"#",tabIndex:-1},o.createElement(f.IconWrap,{name:e?"minus":"plus",icon:e?N.minusIcon:N.plusIcon})),t=o.createElement("td",{...i},l)}const h=r.rowType||"data",c=r.cells;if(c&&c.hierarchy&&c.hierarchy[h]){const d=c.hierarchy[h];return o.createElement(d,{...r,tdProps:i},l)}return r.render?r.render.call(void 0,t,r):t},bt=b.TABLE_ROW_INDEX_ATTRIBUTE,U=b.TABLE_COL_INDEX_ATTRIBUTE,ui=b.TABLE_PREVENT_SELECTION_ELEMENT,vt=r=>{const t=H(r.field,r.dataItem);let i=null;const l=f.classNames("k-table-td","k-grid-edit-cell",{["k-selected"]:r.isSelected},r.className),e=f.useId(),s=b.useTableKeyboardNavigation(r.id);let n=null,a=null;const h=o.useCallback(g=>{if(r.onChange){const E=g.target.type==="checkbox"?g.target.checked:g.target.value;r.onChange({dataItem:r.dataItem,dataIndex:r.dataIndex,field:r.field,syntheticEvent:g,value:E})}},[r.onChange,r.dataItem,r.dataIndex,r.field]),c=o.useCallback(g=>{r.onContextMenu&&r.onContextMenu.call(void 0,g,r.dataItem,r.field)},[r.onContextMenu,r.dataItem,r.field]),d=o.useCallback(g=>{r.onChange&&r.onChange({dataItem:r.dataItem,dataIndex:r.dataIndex,field:r.field,syntheticEvent:g.syntheticEvent,value:g.value})},[r.onChange,r.dataItem,r.dataIndex,r.field]);switch(r.editor){case"numeric":{n={onContextMenu:c,colSpan:r.colSpan,style:r.style,className:l,["aria-colindex"]:r.ariaColumnIndex,["aria-selected"]:r.isSelected,[U]:r.columnIndex,role:"gridcell",...s},a=o.createElement(L.NumericTextBox,{width:"100%",value:t===void 0?null:t,onChange:d}),i=o.createElement("td",{...n},a);break}case"date":n={onContextMenu:c,colSpan:r.colSpan,style:r.style,className:l,["aria-colindex"]:r.ariaColumnIndex,["aria-selected"]:r.isSelected,[U]:r.columnIndex,role:"gridcell",...s},a=o.createElement(xe.DatePicker,{width:"100%",value:t,onChange:d}),i=o.createElement("td",{...n},a);break;case"boolean":n={onContextMenu:c,colSpan:r.colSpan,style:r.style,className:l,["aria-colindex"]:r.ariaColumnIndex,["aria-selected"]:r.isSelected,[U]:r.columnIndex,role:"gridcell",...s},a=[o.createElement("span",{key:1,className:"k-checkbox-wrap"},o.createElement("input",{checked:t||!1,id:e,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:h})),o.createElement("label",{className:"k-checkbox-label",htmlFor:e,key:2})],i=o.createElement("td",{...n},a);break;default:n={onContextMenu:c,colSpan:r.colSpan,style:r.style,className:l,["aria-colindex"]:r.ariaColumnIndex,["aria-selected"]:r.isSelected,[U]:r.columnIndex,role:"gridcell",...s},a=o.createElement("input",{style:{width:"100%"},className:"k-input",value:t||"",onChange:h}),i=o.createElement("td",{...n},a)}const u=r.editor||"text",C=r.cells;if(C&&C.edit&&C.edit[u]){const g=C.edit[u];return o.createElement(g,{...r,tdProps:n},a)}return r.render?r.render.call(void 0,i,r):i};class gi extends o.Component{constructor(){super(...arguments),this.headerWrap=null,this.table=null,this.syncScroll=!1,this.scrollbarWidth=f.getScrollbarWidth(),this.onScroll=t=>{if(this.syncScroll){this.syncScroll=!1;return}if(!this.headerWrap)return;const i=this.headerWrap.scrollLeft,l=this.props.scrollableDataElement();l&&l.scrollLeft!==i&&(l.scrollLeft=i)}}get element(){return this.props.elemRef.current}componentDidMount(){const t=b.isRtl(this.element);this.props.columnResize&&this.props.columnResize.setIsRtl(t),this.forceUpdate()}setScrollLeft(t){this.headerWrap&&this.headerWrap.scrollLeft!==t&&(this.syncScroll=!0,this.headerWrap.scrollLeft=t)}setWidth(t){this.table&&(this.table.style.width=t+"px")}render(){return this.props.staticHeaders?o.createElement("div",{ref:this.props.elemRef,className:f.classNames("k-grid-header",{"k-grid-draggable-header":this.props.draggable}),role:"presentation"},o.createElement("div",{ref:t=>{this.headerWrap=t},className:"k-grid-header-wrap",style:this.scrollbarWidth?{}:{borderWidth:0},onScroll:this.onScroll,role:"presentation"},o.createElement("table",{ref:t=>{this.table=t},className:f.classNames("k-table k-grid-header-table",{"k-table-md":!this.props.size,[`k-table-${f.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),role:"presentation"},o.createElement("colgroup",{ref:t=>{this.props.columnResize.colGroupHeader=t}},this.props.cols),o.createElement("thead",{className:"k-table-thead",role:"rowgroup",...b.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)))):o.createElement("thead",{role:"presentation",className:f.classNames("k-table-thead",{"k-grid-draggable-header":this.props.draggable}),...b.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)}}const xt=(...r)=>Object.assign({allowUnsort:!0,mode:"single"},...r);class fi extends o.PureComponent{constructor(){super(...arguments),this.draggable=null,this.onPress=t=>{const i=this.draggable&&this.draggable.element;i&&this.props.pressHandler&&this.props.pressHandler(t.event,i)},this.onDrag=t=>{const i=this.draggable&&this.draggable.element;i&&this.props.dragHandler&&this.props.dragHandler(t.event,i)},this.onRelease=t=>{this.draggable&&this.draggable.element&&this.props.releaseHandler&&this.props.releaseHandler(t.event)}}render(){return o.createElement(f.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,hint:this.props.dragClue,autoScroll:{boundaryElementRef:this.props.headerRef,direction:{horizontal:!0,vertical:!1}},scrollContainer:this.props.containerRef||void 0,ref:t=>{this.draggable=t}},o.createElement("tr",{className:"k-table-row",style:{touchAction:"none"},role:"row","aria-rowindex":this.props.ariaRowIndex},this.props.children))}}class He extends o.Component{constructor(){super(...arguments),this.state={show:!1},this._anchor=null,this._content=null,this.blurTimeout=void 0,this.willBlur=!1,this.blur=()=>{if(this.willBlur){this.willBlur=!1;return}clearTimeout(this.blurTimeout),this.blurTimeout=window.setTimeout(()=>{this.closeMenu()})},this.focus=()=>{clearTimeout(this.blurTimeout)},this.anchorClick=t=>{t.preventDefault(),this.state.show&&this.props.onCloseMenu&&this.props.onCloseMenu(),this.setState({show:!this.state.show},()=>this.state.show&&this._content&&this._content.focus())},this.closeMenu=()=>{this.props.onCloseMenu&&this.props.onCloseMenu(),this.setState({show:!1})},this.onAnchorMouseDown=t=>{this.willBlur=this.state.show&&t.currentTarget===this._anchor},this.onAnchorKeyDown=t=>{var i;if(t.keyCode===f.Keys.tab){const l=t.target,e=l&&((i=l.closest(".k-grid"))==null?void 0:i.getElementsByClassName("k-grid-content")[0]);e&&e.scrollWidth>e.clientWidth&&l.scrollIntoView({inline:"center"})}}}render(){const{columnMenu:t,...i}=this.props,{column:l}=this.props,e=I.provideLocalizationService(this),s=l.title||l.field,n=s?`${s} `:"";return o.createElement(o.Fragment,null,o.createElement("a",{className:"k-grid-header-menu k-grid-column-menu",ref:a=>this._anchor=a,onClick:this.anchorClick,onMouseDown:this.onAnchorMouseDown,onKeyDown:this.onAnchorKeyDown,href:"#","aria-label":`${n}${e.toLanguageString(ke,w[ke])}`},o.createElement(f.IconWrap,{name:"filter",icon:N.filterIcon})),o.createElement(ii.Popup,{anchor:this._anchor,show:this.state.show,popupClass:"k-column-menu k-column-menu-popup k-grid-columnmenu-popup"},o.createElement("div",{ref:a=>this._content=a,tabIndex:0,onBlur:this.blur,onFocus:this.focus,style:{outline:"none"}},t&&o.createElement(t,{...i,onCloseMenu:this.closeMenu}))))}}class Et extends o.Component{render(){const{columnMenuWrapperProps:t}=this.props,i=this.props.onClick?{onClick:this.props.onClick}:{},l=o.createElement("span",{className:"k-cell-inner"},o.createElement("span",{className:f.classNames("k-link",{"!k-cursor-default":!this.props.columnMenuWrapperProps.sortable}),...i},o.createElement("span",{className:"k-column-title"},this.props.title||this.props.field||" "),this.props.children),t.columnMenu&&o.createElement(He,{...t}));return this.props.render?this.props.render.call(void 0,l,this.props):l}}const mi={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},Ci={none:"none",asc:"ascending",desc:"descending"};class St extends o.Component{constructor(t){super(t),this.serviceIndex=0,this.index=-1,this.cellKeyDown=(i,l)=>{i.isDefaultPrevented()||i.keyCode===f.Keys.enter&&this.cellClick(i,l)},this.cells=i=>i.map(l=>{const e=this.props.columns[l],s=this.props.sortable&&e.sortable,n=this.props.sort?this.props.sort.findIndex(k=>k.field===e.field):-1,a=n>=0&&this.props.sort[n].dir||"none",h=e.columnMenu===null?null:e.columnMenu||this.props.columnMenu,c=f.classNames({"k-first":e.kFirst,"k-filterable":!!h,"k-table-th":!0,"k-header":!0,"k-grid-header-sticky":e.locked,"k-sorted":this.props.sort&&this.props.sort.some(k=>k.field===e.field)},e.headerClassName);e.locked===!1&&(e.left=0);const d=e.left!==void 0?this.props.isRtl?{left:e.right,right:e.left}:{left:e.left,right:e.right}:{},u=I.provideLocalizationService(this).toLanguageString(Le,w[Le]),C=e.isAccessible?{ariaSort:Ci[a],role:"columnheader",ariaColumnIndex:e.ariaColumnIndex,ariaSelected:!1,ariaDescription:s?u:""}:{role:"presentation"},g=e.declarationIndex>=0?++this.index:--this.serviceIndex,E=e.headerCell?e.headerCell:Et,y=o.createElement(E,{key:1,field:e.field,onClick:s&&(k=>this.cellClick(k,e))||void 0,selectionChange:this.props.selectionChange,title:e.title,selectionValue:e.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(n),columnMenuWrapperProps:{column:{field:e.field,title:e.title,locked:e.locked,filter:e.filter,id:e.id},sortable:s&&this.props.sortable,sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.filter,filterable:this.props.filterable&&e.filterable,filterOperators:this.props.filterOperators,onFilterChange:this.props.filterChange,group:this.props.group,groupable:this.props.groupable,onGroupChange:this.props.groupChange,columnMenu:h}}),x={...C,key:g,colSpan:e.colSpan,rowSpan:e.rowSpan,className:c,style:d,columnId:e.id,navigatable:e.navigatable,onKeyDown:s&&(k=>this.cellKeyDown(k,e))||void 0,role:"columnheader"},S=[y,this.props.columnResize&&this.props.columnResize.resizable&&e.resizable&&o.createElement(b.ColumnResizer,{key:2,resize:(k,B,_)=>this.props.columnResize&&this.props.columnResize.dragHandler(k,e,B,_),autofit:k=>this.props.columnResize&&this.props.columnResize.dblClickHandler(k,[e.id])})],F=pe(this.props.cells,e.cells);if(F&&F.headerCell){const k=F.headerCell;return o.createElement(k,{key:g,thProps:x,index:l},S)}return o.createElement(b.HeaderThElement,{...x,key:g},S)}),this.cellClick=this.cellClick.bind(this)}cellClick(t,i){if(t.preventDefault(),!this.props.sortChange)return;const{allowUnsort:l,mode:e}=xt(this.props.sortable||!1,i.sortable||!1),s=(this.props.sort||[]).filter(h=>h.field===i.field)[0],n=mi[l][s&&s.dir||""],a=e==="single"?[]:(this.props.sort||[]).filter(h=>h.field!==i.field);n!==""&&i.field&&a.push({field:i.field,dir:n}),this.props.sortChange(a,t)}sortIcon(t){return this.props.sort?t>=0&&[o.createElement("span",{key:1,className:"k-sort-icon"},o.createElement(f.IconWrap,{name:"sort-"+this.props.sort[t].dir+"-small",icon:this.props.sort[t].dir==="asc"?N.sortAscSmallIcon:N.sortDescSmallIcon})),this.props.sort.length>1&&o.createElement("span",{key:2,className:"k-sort-icon"},o.createElement("span",{className:"k-sort-order"},t+1))]:null}render(){return this.serviceIndex=0,this.index=-1,this.props.columnsMap.map((t,i)=>this.props.pressHandler&&o.createElement(fi,{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(t))||o.createElement("tr",{key:i,className:"k-table-row",role:"row","aria-rowindex":i+1},this.cells(t)))}}I.registerForLocalization(St);const bi=[{text:"grid.filterAndLogic",operator:"and"},{text:"grid.filterOrLogic",operator:"or"}],_e={text:[{text:"grid.filterContainsOperator",operator:"contains"},{text:"grid.filterNotContainsOperator",operator:"doesnotcontain"},{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterStartsWithOperator",operator:"startswith"},{text:"grid.filterEndsWithOperator",operator:"endswith"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"},{text:"grid.filterIsEmptyOperator",operator:"isempty"},{text:"grid.filterIsNotEmptyOperator",operator:"isnotempty"}],numeric:[{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterGteOperator",operator:"gte"},{text:"grid.filterGtOperator",operator:"gt"},{text:"grid.filterLteOperator",operator:"lte"},{text:"grid.filterLtOperator",operator:"lt"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"}],date:[{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterAfterOrEqualOperator",operator:"gte"},{text:"grid.filterAfterOperator",operator:"gt"},{text:"grid.filterBeforeOperator",operator:"lt"},{text:"grid.filterBeforeOrEqualOperator",operator:"lte"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"}],boolean:[{text:"grid.filterEqOperator",operator:"eq"}]},R=r=>r==="isnull"||r==="isnotnull"||r==="isempty"||r==="isnotempty",ie=(r,t)=>r.map(i=>({text:t.toLanguageString(i.text,w[i.text]),operator:i.operator})),vi="eq",Re=[{text:"grid.filterBooleanAll",operator:""},{text:"grid.filterIsTrue",operator:!0},{text:"grid.filterIsFalse",operator:!1}],xi={text:!1,numeric:!1,date:!1,boolean:!0},Ae=(r,t,i)=>{const l=It(i.operators);let e=i.operator;switch(i.filterType){case"numeric":(!e||R(e))&&(e=l),r===null&&e===l&&(e="");break;case"date":(!e||R(e))&&(e=l),r===null&&e===l&&(e="");break;case"text":(!e||R(e))&&(e=l),!r&&e===l&&(e="");break;default:return}i.onChange({value:r,operator:e,syntheticEvent:t})},It=(r,t)=>t?r[t][0].operator:r[0].operator,Ke=r=>r||"text",Be=(r,t)=>{const i=r.target.value;t({value:i.operator,operator:i.operator===""?"":vi,syntheticEvent:r.syntheticEvent})},We=(r,t,i)=>{let l=t;const e=r.target.value;r.target.state.opened&&(R(e.operator)&&(l=null),t===null&&!R(e.operator)&&(l=void 0),i({value:l,operator:e.operator,syntheticEvent:r.syntheticEvent}))};class Te extends o.Component{constructor(t){super(t),this._inputRef=o.createRef(),this.renderOperatorEditor=i=>{if(this.props.filterType==="boolean")return;const l=this.props.operators.find(e=>e.operator===this.props.operator)||null;return o.createElement(Z.DropDownList,{size:this.props.size,value:l,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter k-icon",svgIcon:N.filterIcon,data:this.props.operators,textField:"text",title:i.toLanguageString(Me,w[Me]),popupSettings:{width:""}})},this.inputChange=this.inputChange.bind(this),this.clear=this.clear.bind(this),this.operatorChange=this.operatorChange.bind(this),this.boolDropdownChange=this.boolDropdownChange.bind(this)}render(){const t=I.provideLocalizationService(this),i=o.createElement("div",{className:"k-filtercell"},o.createElement("div",{className:"k-filtercell-wrapper"},this.filterComponent(this.props.filterType,this.props.value,this.props.booleanValues),o.createElement("div",{className:"k-filtercell-operator"},this.renderOperatorEditor(t)," ",o.createElement(K.Button,{size:this.props.size,icon:"filter-clear",svgIcon:N.filterClearIcon,className:f.classNames({"k-clear-button-visible":!!(!(this.props.value===null||this.props.value==="")||this.props.operator)}),title:t.toLanguageString(P,w[P]),type:"button",onClick:this.clear,disabled:!(!(this.props.value===null||this.props.value==="")||this.props.operator)}))));return this.props.render?this.props.render.call(void 0,i,this.props):i}inputChange(t,i){Ae(t,i,this.props)}operatorChange(t){We(t,this.props.value,this.props.onChange)}boolDropdownChange(t){Be(t,this.props.onChange)}clear(t){t.preventDefault(),this.props.onChange({value:"",operator:"",syntheticEvent:t}),this._inputRef.current&&(this._inputRef.current.element.value="",setTimeout(()=>{this._inputRef.current.element.focus()},0))}filterComponent(t,i,l){switch(t){case"numeric":return o.createElement(L.NumericTextBox,{ref:this._inputRef,size:this.props.size,value:i,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)},title:this.props.title,ariaLabel:this.props.ariaLabel});case"date":return o.createElement(xe.DatePicker,{ref:this._inputRef,size:this.props.size,value:i,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)},title:this.props.title,ariaLabel:this.props.ariaLabel});case"boolean":{const e=s=>s==null;return o.createElement(Z.DropDownList,{ref:this._inputRef,size:this.props.size,onChange:this.boolDropdownChange,value:l.find(s=>s.operator===(e(i)?"":i)),data:l,textField:"text",title:this.props.title,ariaLabel:this.props.ariaLabel})}default:return o.createElement(L.TextBox,{ref:this._inputRef,size:this.props.size,value:i||"",onChange:e=>{this.inputChange(e.target.value,e.syntheticEvent)},title:this.props.title,"aria-label":this.props.ariaLabel})}}}I.registerForLocalization(Te);const Ei="k-table-row k-filter-row";class wt extends o.Component{headerCellClassName(t,i){let l=`${i?"k-grid-header-sticky":""}`;return this.props.sort&&this.props.sort.filter(e=>e.field===t).length>0&&(l+=" k-sorted"),l}setFilter(t,i,l,e){if(!this.props.filterChange)return;const s=[];(t!==""&&t!==null||i!=="")&&s.push({field:l,operator:i,value:t}),this.props.filter&&this.props.filter.filters&&(this.props.filter.filters||[]).forEach(h=>{const c=h;c&&c.field!==l&&s.push(c)});const n=this.props.filter&&this.props.filter.logic?this.props.filter.logic:"and";this.props.filterChange(s.length>0?{logic:n,filters:s}:null,e)}render(){const t=I.provideLocalizationService(this),i=this.props.filter&&this.props.filter.filters||[],l=a=>{if(a===void 0)return;const h=i.filter(c=>c.field===a);return h.length?h[0]:void 0};let e=0,s=-1;const n=this.props.columns.filter(a=>a.children.length===0).map(a=>{const h=Ke(a.filter),c=l(a.field),d=a.filterable?t.toLanguageString(De,w[De]):void 0;let u=c&&c.value;u===void 0&&(u=h==="text"?"":null);const C=a.filterable&&{render:this.props.cellRender,field:a.field,title:a.filterTitle,value:u,operator:c&&c.operator,operators:ie(this.props.filterOperators[h]||[],t),booleanValues:ie(Re,t),filterType:h,ariaLabel:d,onChange:k=>{this.setFilter(k.value,k.operator,a.field,k.syntheticEvent)}},g=a.declarationIndex>=0?++s:--e,E={ariaLabel:d,ariaColumnIndex:a.ariaColumnIndex},y=a.left!==void 0?this.props.isRtl?{left:a.right,right:a.left}:{left:a.left,right:a.right}:{},x={columnId:b.tableKeyboardNavigationTools.getFilterColumnId(a.id),navigatable:a.navigatable,style:y,className:f.classNames("k-table-th",this.headerCellClassName(a.field,a.locked)||void 0),role:"columnheader",...E},S=C&&(a.filterCell?o.createElement(a.filterCell,{...C}):o.createElement(Te,{size:this.props.size,...C})),F=pe(this.props.cells,a.cells);if(F&&F.filterCell){const k=F.filterCell;return o.createElement(k,{key:g,...C,thProps:x,index:s},S)}return o.createElement(b.HeaderThElement,{key:g,...x},S)});return o.createElement("tr",{className:Ei,"aria-rowindex":this.props.ariaRowIndex,role:"row"},n)}}I.registerForLocalization(wt);class kt extends o.Component{constructor(){super(...arguments),this.draggable=null,this.onPress=t=>{const i=this.draggable&&this.draggable.element;i&&this.props.onPress&&this.props.onPress(t.event,i)},this.onDrag=t=>{const i=this.draggable&&this.draggable.element;i&&this.props.onDrag&&this.props.onDrag(t.event,i)},this.onRelease=t=>{this.draggable&&this.draggable.element&&this.props.onRelease&&this.props.onRelease(t.event)},this.sortChange=t=>{if(t.preventDefault(),this.props.onSortChange){const i=this.props.dir==="asc"?"desc":"asc";this.props.onSortChange(t,i)}},this.groupRemove=t=>{t.preventDefault(),t.stopPropagation(),this.props.onRemove&&this.props.onRemove(t)},this.onContextMenu=t=>{const i={title:this.props.title,dir:this.props.dir,index:this.props.index};this.props.onContextMenu&&this.props.onContextMenu.call(void 0,t,{dataItem:{...i}})}}render(){const{dir:t}=this.props;return o.createElement(f.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:i=>{this.draggable=i}},o.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"}},o.createElement("span",null,o.createElement(f.IconWrap,{name:"sort-"+t+"-small",icon:t==="asc"?N.sortAscSmallIcon:N.sortDescSmallIcon,size:"small"})),o.createElement("span",{className:"k-chip-content"},this.props.title),o.createElement("span",{className:"k-chip-actions"},o.createElement("span",{className:"k-chip-action k-chip-remove-action",onClick:this.groupRemove},o.createElement(f.IconWrap,{name:"x-circle",icon:N.xCircleIcon,size:"small"})))))}}I.registerForLocalization(kt);class yt extends o.Component{constructor(){super(...arguments),this.onGroupRemove=(t,i)=>{const l=this.props.group.slice();l.splice(i,1),this.props.groupChange(l,t)},this.onGroupSortChange=(t,i,l,e)=>{const s=Object.assign({},l,{dir:e}),n=this.props.group.slice();n.splice(i,1,s),this.props.groupChange(n,t)}}render(){const i=(this.props.group||[]).map((l,e)=>o.createElement(kt,{key:e,index:e,dir:l.dir||"asc",title:this.props.resolveTitle(l.field),onRemove:s=>{this.onGroupRemove(s,e)},onSortChange:(s,n)=>{this.onGroupSortChange(s,e,l,n)},onPress:this.props.pressHandler,onDrag:this.props.dragHandler,onRelease:this.props.releaseHandler,onContextMenu:this.props.onContextMenu}));return o.createElement("div",{ref:this.props.refCallback,className:"k-grouping-header",role:"toolbar","aria-label":I.provideLocalizationService(this).toLanguageString(Oe,w[Oe]),"aria-controls":this.props.ariaControls||""},o.createElement("div",{className:"k-chip-list k-chip-list-md",role:"none"},i),o.createElement("div",{className:"k-grouping-drop-container"},!i.length&&I.provideLocalizationService(this).toLanguageString(we,w[we])," "))}}I.registerForLocalization(yt);class Si extends o.Component{constructor(){super(...arguments),this.footerWrap=null,this.table=null,this.scrollbarWidth=f.getScrollbarWidth()}componentDidMount(){this.setState({})}setScrollLeft(t){this.footerWrap&&(this.footerWrap.scrollLeft=t)}setWidth(t){this.table&&(this.table.style.width=t+"px")}render(){return this.props.staticHeaders?o.createElement("div",{className:"k-grid-footer",role:"presentation"},o.createElement("div",{ref:t=>{this.footerWrap=t},className:"k-grid-footer-wrap",style:this.scrollbarWidth?{}:{borderWidth:0},role:"presentation"},o.createElement("table",{ref:t=>{this.table=t},className:f.classNames("k-table k-grid-footer-table",{"k-table-md":!this.props.size,[`k-table-${f.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),role:"presentation"},o.createElement("colgroup",{ref:t=>{this.props.columnResize.colGroupFooter=t},role:"presentation"},this.props.cols),o.createElement("tfoot",{className:"k-table-tfoot",role:"presentation"},this.props.row)))):o.createElement("tfoot",{className:"k-table-tfoot"},this.props.row)}}class Ii{constructor(t){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.tableBodyRef=o.createRef(),this.fixedScroll=!1,this.askedSkip=void 0,this.containerRef=o.createRef(),this.tableTransform="",this.prevScrollPos=0,this.tableTranslate=0,this.scrollSyncing=!1,this.reactVersion=Number.parseFloat(o.version),this.topItems=(i,l)=>{if(!this.container||l)return{topItemsCount:0,topItemsHeight:0};const e=this.container.clientHeight,s=Math.ceil(e/i[0].line),n=Math.ceil((i.length-s)/2);let a=0;for(let h=0;h<n;h++)a+=i[h].line+i[h].acc;return{topItemsCount:n,topItemsHeight:a,itemsNeededOnScreen:s+s/2}},this.horizontalScrollbarHeight=()=>this.container?this.container.offsetHeight-this.container.clientHeight:0,t&&(this.topCacheCount=4,this.attendedSkip=-this.topCacheCount),this.scrollHandler=this.scrollHandler.bind(this)}get container(){return this.containerRef.current}get rowHeights(){const t=[],i=this.tableBodyRef.current&&this.tableBodyRef.current.children||[];let l=0;for(let e=0;e<i.length;e++){if(i[e].className.indexOf("k-grouping-row")>-1){l+=i[e].scrollHeight;continue}i[e].className.indexOf("k-detail-row")>-1?t[t.length-1].line+=i[e].scrollHeight:(t.push({line:i[e].scrollHeight,acc:l}),l=0)}return t}changePage(t,i){this.attendedSkip=t-this.topCacheCount,this.PageChange&&this.PageChange({skip:Math.max(0,t-this.topCacheCount),take:this.pageSize},i)}translate(t,i){this.tableTranslate=t,this.scrollableVirtual&&this.table&&(this.reactVersion<=17||i?this.table.style.transform="translateY("+t+"px)":this.tableTransform="translateY("+t+"px)")}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0,!0))}localScrollUp(t){if(!this.container)return;const i=this.rowHeights,l=this.container.scrollTop;let e=this.tableTranslate,s=0;const{topItemsCount:n,topItemsHeight:a,itemsNeededOnScreen:h}=this.topItems(i,!!this.topCacheCount),c=l-e;if(!(c>a||i.length<=h)){for(;s<this.topCacheCount+this.attendedSkip-this.realSkip+n&&this.propsSkip-s>0&&!(e+(i[i.length-1-s].line+i[i.length-1-s].acc)+c<=l);)e-=i[i.length-1-s].line+i[i.length-1-s].acc,s++;if(s===0&&this.topCacheCount===0&&this.attendedSkip>0&&(e=Math.max(e-i[0].line,0),s=1),this.propsSkip-s<=0&&e>l){this.translate(0),this.changePage(0,t),this.container.scrollTop=0;return}if(e>l&&(e=l),e!==this.tableTranslate){this.translate(Math.max(0,e-a));const d=Math.max(0,this.propsSkip-s-n);this.changePage(d,t)}}}localScrollDown(t){if(!this.container)return;const i=this.rowHeights,l=this.container.scrollTop;let e=this.tableTranslate,s=0;const{topItemsCount:n,topItemsHeight:a,itemsNeededOnScreen:h}=this.topItems(i,!!this.topCacheCount);for(;s<i.length-this.topCacheCount&&!(e+i[s].line+i[s].acc>l);)e+=i[s].line+i[s].acc,s++;n>this.propsSkip+s||i.length<=h||(s>=i.length-this.topCacheCount&&this.propsSkip+s>=this.total?(this.translate(e-a),this.changePage(this.total-1-n,t)):e!==this.tableTranslate&&this.propsSkip+s-n!==this.propsSkip&&(this.translate(e-a),this.changePage(this.propsSkip+s-n,t)))}scrollNonStrict(t){const i=this.total*this.prevScrollPos/this.containerHeight;let l=Math.floor(i);l>=this.total&&(l=this.total-1);const e=Math.min(i-l,1);let s=0;const n=l-this.propsSkip,a=this.rowHeights;n>=0&&n<=1?s=-((a[0].line+a[0].acc)*e):n===-1&&(s=-((a[a.length-1].line+a[a.length-1].acc)*e));const{topItemsCount:h,topItemsHeight:c}=this.topItems(a,!!this.topCacheCount);this.translate(Math.max(0,s-c-this.horizontalScrollbarHeight()+this.containerHeight*i/this.total)),this.changePage(l-h,t)}scrollHandler(t){if(!this.scrollableVirtual)return;if(this.scrollSyncing||!this.container||!this.table){this.scrollSyncing=!1;return}const i=this.container.scrollTop,l=this.prevScrollPos;if(this.prevScrollPos=i,this.askedSkip!==void 0){this.translate(this.containerHeight*this.askedSkip/this.total),this.changePage(this.askedSkip,t),this.prevScrollPos=i,this.askedSkip=void 0;return}i-l<0&&i>this.tableTranslate-this.table.scrollHeight/10?this.localScrollUp(t):i-l>0&&i<this.tableTranslate+this.table.scrollHeight*2/3?this.localScrollDown(t):this.scrollNonStrict(t),this.prevScrollPos=i}}class Nt{constructor(t=0,i,l,e){this.total=t,this.offsets=[],this.heights=[];let s=0;for(let n=0;n<t;n++){this.offsets.push(s);const a=e&&e[n].expanded&&e[n].rowType==="data"?l:i;s+=a,this.heights.push(a)}}height(t){return this.heights[t]}index(t){if(t<0)return;const i=this.offsets.reduce((l,e,s)=>{if(l!==void 0)return l;if(e===t)return s;if(e>t)return s-1},void 0);return i===void 0?this.total-1:i}offset(t){return this.offsets[t]}totalHeight(){const t=this.offsets[this.offsets.length-1],i=this.heights[this.heights.length-1];return t+i}}class Ft{constructor(t){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.tableBodyRef=o.createRef(),this.fixedScroll=!1,this.askedSkip=void 0,this.containerRef=o.createRef(),this.tableTransform="",this.scrollSyncing=!1,this.lastLoaded=0,this.firstLoaded=0,this.lastScrollTop=0,this.reactVersion=Number.parseFloat(o.version),this.firstLoaded=this.pageSize,this.lastLoaded=this.realSkip+this.pageSize,this.scrollHandler=this.scrollHandler.bind(this)}get container(){return this.containerRef.current}translate(t,i){this.scrollableVirtual&&this.table&&(Se||this.reactVersion<=17||i?this.table.style.transform="translateY("+t+"px)":this.tableTransform="translateY("+t+"px)")}changePage(t,i){this.PageChange&&this.PageChange({skip:Math.max(0,t),take:this.pageSize},i)}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0,!0))}scrollHandler(t){if(!this.scrollableVirtual||!this.container||!this.table||!this.rowHeightService||!this.containerRef.current)return;if(this.scrollSyncing){this.scrollSyncing=!1;return}const i=this.container.scrollTop,l=this.lastScrollTop>=i,e=!l;this.lastScrollTop=i;let s=this.rowHeightService.index(i),n=this.rowHeightService.offset(s);const{offsetHeight:a}=this.containerRef.current,h=this.rowHeightService.index(i+a);if(e&&h>=this.lastLoaded&&this.lastLoaded<this.total){const c=s+this.pageSize-this.total;c>0&&(s=s-c,n=this.rowHeightService.offset(s)),this.firstLoaded=s,this.translate(n);let d=this.firstLoaded+this.pageSize;this.lastLoaded=Math.min(d,this.total),this.changePage(this.firstLoaded,t)}else if(l&&s<this.firstLoaded){const c=Math.floor(this.pageSize*.3);this.firstLoaded=Math.max(s-c,0),this.translate(this.rowHeightService.offset(this.firstLoaded)),this.lastLoaded=Math.min(this.firstLoaded+this.pageSize,this.total),this.changePage(this.firstLoaded,t)}}}const wi=1,ki=20;class yi{constructor(t){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=i=>{this.isRtl=i},this.dragHandler=(i,l,e,s)=>{const n=i.originalEvent;s||(n.preventDefault(),n.stopPropagation(),n.stopImmediatePropagation());const a=e.closest("th");if(!a||!a)return;const h=a.clientWidth;let c=h;if(this.isRtl?c+=e.getBoundingClientRect().right-e.offsetWidth/2-i.clientX:c+=i.clientX-e.getBoundingClientRect().left-e.offsetWidth/2,!s&&Math.abs(c-h)<1)return;this.fixateInitialWidths(a.parentElement.clientWidth),this.setWidths(l,Math.floor(c)/h);const d=this.columns.filter(u=>!u.children.length).findIndex(u=>u.id===l.id);this.onResize(d,h,c,n,s,l.id)},this.dblClickHandler=(i,l)=>{const e=this.columns.filter(C=>l.indexOf(C.id)>-1);if(!this.colGroupMain||!e.length)return;const s={},n=e;for(;n.length>0;){const C=n.pop();if(!C)break;C.children.length?n.push(...C.children):s[C.id]=C}const a=this.columns.filter(C=>!C.children.length),h=[];a.forEach((C,g)=>{s[C.id]&&h.push(g)});const c=[this.colGroupMain.parentElement],d=[this.colGroupMain];this.colGroupHeader&&(c.push(this.colGroupHeader.parentElement),d.push(this.colGroupHeader)),this.colGroupFooter&&(c.push(this.colGroupFooter.parentElement),d.push(this.colGroupFooter)),c.forEach(C=>C.classList.add("k-autofitting"));let u=[];d.forEach(C=>{h.forEach(g=>{C.children[g]&&(C.children[g].width="",u[g]=Math.max(u[g]||0,C.children[g].offsetWidth+wi))})}),d.forEach(C=>{h.forEach(g=>{C.children[g]&&(C.children[g].width=u[g]+"px",a[g].width=u[g])})}),c.forEach(C=>C.classList.remove("k-autofitting")),this.onResize(h[0],0,0,i,!0,l[0])},this.updateColElements=i=>{const l=this.columns.filter(s=>!s.children.length);let e=1e-10;for(let s=0;s<i.length;s++){const n=i[s],a=l.findIndex(u=>u.id===n.id),h=parseFloat((n.width||0).toString()),c=Math.floor(h);e+=h-c;const d=c+Math.floor(e);if(e-=Math.floor(e),this.colGroupMain&&this.colGroupMain.children[a]){const u=parseInt(this.colGroupMain.children[a].width,10);this.colGroupMain.children[a].width=d+"px",this.updateNextLockedCol(this.colGroupMain.parentElement,n,u-d)}if(this.colGroupHeader&&this.colGroupHeader.children[a]){const u=parseInt(this.colGroupHeader.children[a].width,10);this.colGroupHeader.children[a].width=d+"px",this.updateNextLockedCol(this.colGroupHeader.parentElement,n,u-d)}if(this.colGroupFooter&&this.colGroupFooter.children[a]){const u=parseInt(this.colGroupFooter.children[a].width,10);this.colGroupFooter.children[a].width=d+"px",this.updateNextLockedCol(this.colGroupFooter.parentElement,n,u-d)}}},this.onResize=t}fixateInitialWidths(t){const i=this.columns.filter(n=>!n.children.length);let l=0,e=this.colGroupMain?this.colGroupMain.children:[];for(let n=0;n<e.length;n++)e[n].width?t-=parseFloat(e[n].width):l++;if(l===0)return;const s=Math.floor(t/l);for(let n=0;n<e.length;n++){const a=e[n];a.width||(a.width=s,i[n].width=s.toString(),this.colGroupHeader&&(this.colGroupHeader.children[n].width=s),this.colGroupFooter&&(this.colGroupFooter.children[n].width=s))}}setWidths(t,i){const l=this.columns.findIndex(n=>n.id===t.id),e=[];let s=t.children.length;for(let n=l+1;s>0&&n<this.columns.length;n++,s--){const a=this.columns[n];a.children.length?s+=a.children.length:e.push(a)}return e.length===0&&e.push(t),e.forEach(n=>{let a=n.width?parseFloat(n.width.toString())*i:0;const h=n.minResizableWidth===void 0?10:n.minResizableWidth;a<h&&(a=h),n.width=a}),this.updateColElements(e),e}updateNextLockedCol(t,i,l){const e=i.index,s=this.colGroupMain.parentElement.closest(".k-grid"),n=s==null?void 0:s.clientWidth,a=this.columns.filter(h=>h.locked).map(h=>parseInt(h.width+"",10)).reduce((h,c)=>h+c,0);!i.locked||n<=a+ki||this.columns.forEach(h=>{if(h!=null&&h.locked&&l){const c=t==null?void 0:t.querySelectorAll('[aria-colindex="'+h.ariaColumnIndex+'"]');c==null||c.forEach(d=>{const u=d.style;this.isRtl?(h.index>e&&u&&u.right&&(u.right=parseInt(u.right,10)-l+"px"),h.index<e&&u&&u.left&&(u.left=parseInt(u.left,10)-l+"px")):(h.index>e&&u&&u.left&&(u.left=parseInt(u.left,10)-l+"px"),h.index<e&&u&&u.right&&(u.right=parseInt(u.right,10)-l+"px"))})}})}}class Gt{constructor(t,i,l){this.refDragElementClue=o.createRef(),this.refDropElementClue=o.createRef(),this.columns=[],this.reorderable=!1,this.groupable=!1,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.groupPanelDivElement=null,this.refGroupPanelDiv=e=>{this.groupPanelDivElement=e&&e.children?e.children[0]:e},this.pressHandler=(e,s)=>{const n=this.getColumnIndex(e,s);if(this.startGroup=this.getGroupIndex(e),n>=0){const a=this.columns[n];(a.reorderable&&this.reorderable||a.groupable&&this.groupable)&&(this.startColumn=n)}},this.dragHandler=(e,s)=>{if(e.isTouch||e.originalEvent.preventDefault(),e.originalEvent.stopPropagation(),this.startColumn===-1&&this.startGroup===-1)return;this.currentColumn=this.getColumnIndex(e,s);const n=this.groupPanelDivElement&&this.groupPanelDivElement.children;this.currentGroup=this.isTargetGroupingContainer(e)?n&&n.length?n.length:0:this.getGroupIndex(e);const a=!this.isValid();a&&(this.currentColumn=-1,this.currentGroup=-1);const h=this.currentColumn>=0?s.children[this.columns[this.currentColumn].index]:this.isTargetGroupingContainer(e)?e.originalEvent.target:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(e,s,h,a),this.updateDropElementClue(e,s,h,a)},this.releaseHandler=e=>{const s=this.startColumn,n=this.currentColumn,a=this.startGroup,h=this.currentGroup;e.originalEvent.preventDefault(),this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const c=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,c&&(s>=0&&n>=0?this.columnReorder(s,n,e.originalEvent):a>=0&&h>=0?this.groupReorder(a,h,e.originalEvent):s>=0&&h>=0&&this.columnToGroup(s,h,e.originalEvent))},this.columnReorder=t,this.groupReorder=i,this.columnToGroup=l}get dragClueRef(){return this.refDragElementClue}get dropClueRef(){return this.refDropElementClue}get dragElementClue(){return this.refDragElementClue.current}get dropElementClue(){return this.refDropElementClue.current}getColumnIndex(t,i){if(!i||i.parentElement===this.groupPanelDivElement)return-1;const l=b.getIndex(t,i);if(l===-1)return-1;for(let e=0;e<i.parentNode.children.length;e++)if(i.parentNode.children[e]===i)return this.columns.findIndex(s=>s.index===l&&s.depth===e);return-1}isTargetGroupingContainer(t){const i=t.originalEvent.target;return i.className.indexOf?i.className.indexOf("k-grouping-drop-container")!==-1:!1}getGroupIndex(t){return b.getIndex(t,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:this.startColumn===-1?!1:this.currentGroup>=0?this.columns[this.startColumn].groupable===!0&&this.groupable===!0:this.reorderable===!0&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&this.columns[this.startColumn].reorderable===!0&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex}updateDragElementClue(t,i,l,e){if(!this.dragElementClue)return;const s=this.startColumn>=0?i.children[this.columns[this.startColumn].index].innerText:i.innerText;this.dragElementClue.setState({visible:!0,top:t.pageY+10,left:t.pageX,innerText:s,status:e||!l?"k-i-cancel":"k-i-plus"})}updateDropElementClue(t,i,l,e){if(!this.dropElementClue)return;if(e||!l){this.dropElementClue.setState({visible:!1});return}const s=l.getBoundingClientRect(),a=(l.closest(".k-grouping-header")||l).getBoundingClientRect();let h=s.left+t.pageX-t.clientX-6;!this.isTargetGroupingContainer(t)&&(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&this.startGroup!==-1)&&(h+=s.width);const c=a.top+t.pageY-t.clientY;this.dropElementClue.setState({visible:!0,top:c,left:h,height:this.currentColumn>=0?i.clientHeight:a.height})}}const Mt=r=>{let t=null;const i=I.useInternationalization(),l=b.useTableKeyboardNavigation(r.id),e=o.useCallback(c=>{r.onContextMenu&&r.onContextMenu.call(void 0,c,r.dataItem,r.field)},[r.onContextMenu,r.dataItem,r.field]);let s=null,n=null;if(r.rowType==="groupFooter")s={onContextMenu:e,className:r.className},t=o.createElement("td",{...s});else if(r.rowType!=="groupHeader"){if(r.field!==void 0){const d=H(r.field,r.dataItem);d!=null&&(n=r.format?i.format(r.format,d):d.toString())}const c=f.classNames("k-table-td",r.className,{"k-selected":r.isSelected});s={onContextMenu:e,colSpan:r.colSpan,style:r.style,className:c,role:"gridcell","aria-colindex":r.ariaColumnIndex,"aria-selected":r.isSelected,[U]:r.columnIndex,...l},t=o.createElement("td",{...s},n)}const a=r.rowType||"data",h=r.cells;if(h&&h[a]){const c=h[a];return o.createElement(c,{...r,tdProps:s},n)}return r.render?r.render.call(void 0,t,r):t},Pe=r=>{let t=null;const{columnIndex:i,level:l,columnsCount:e,rowType:s,dataItem:n,field:a,onChange:h,expanded:c,render:d,dataIndex:u,ariaColumnIndex:C,isRtl:g}=r,E=a||"",y=b.useTableKeyboardNavigation(r.id),x=I.useLocalization();let S=null,F=null,k=null;const B=o.useCallback(D=>{D.isDefaultPrevented()||D.keyCode===f.Keys.enter&&h&&(D.preventDefault(),h({dataItem:n,dataIndex:u,syntheticEvent:D,field:void 0,value:!c}))},[c,h,n,u]),_=o.useCallback(D=>{r.onContextMenu&&r.onContextMenu.call(void 0,D,r.dataItem,r.field)},[r.onContextMenu,r.dataItem,r.field]),me=(D,Xe)=>{const Ce=c?ut:pt,Ye=x.toLanguageString(Ce,w[Ce]);return S={className:"k-table-td",style:{...r.style,...Xe},colSpan:D,key:"g-colspan",role:"gridcell",["aria-selected"]:!1,["aria-expanded"]:c,["aria-colindex"]:C,onKeyDown:B,onContextMenu:_,...y},k=o.createElement("p",{className:"k-reset"},o.createElement("a",{onClick:oe=>{oe.preventDefault(),h&&h({dataItem:n,dataIndex:u,syntheticEvent:oe,field:void 0,value:!c})},href:"#",tabIndex:-1,"aria-label":Ye},o.createElement(f.IconWrap,{name:c?"caret-alt-down":g?"caret-alt-left":"caret-alt-right",icon:c?N.caretAltDownIcon:g?N.caretAltLeftIcon:N.caretAltRightIcon})),n[E]instanceof Date&&n[E].toString?n[E].toString():n[E]),o.createElement("td",{...S,key:S.key},k)};i===void 0||l===void 0||i<l||e===void 0||s!=="groupHeader"||n[E]===void 0?(S={style:r.style,key:"g"+i,className:f.classNames("k-table-td","k-group-cell",{"k-grid-content-sticky":r.locked}),role:"gridcell",onContextMenu:_},t=o.createElement("td",{...S,key:S.key})):i<=l&&!r.locked?t=me(e-i,{}):i<=l&&r.locked&&(F={className:"k-table-td",role:"gridcell",colSpan:e-i,style:{borderLeftWidth:0,borderRightWidth:0},onContextMenu:_},t=o.createElement(o.Fragment,null,me(0,{position:"sticky",zIndex:2}),o.createElement("td",{...F})));const le=r.rowType||"data",X=r.cells;if(X&&X.group&&X.group[le]){const D=X.group[le];return o.createElement(D,{...r,tdProps:S,td2Props:F},k)}return d?d.call(void 0,t,r):t};class zt extends o.Component{render(){const t=f.classNames("k-table-row",{"k-table-group-row k-grouping-row":this.props.rowType==="groupHeader","k-group-footer":this.props.rowType==="groupFooter","k-master-row":this.props.rowType!=="groupHeader"&&this.props.rowType!=="groupFooter","k-table-alt-row k-alt":this.props.rowType!=="groupHeader"&&this.props.rowType!=="groupFooter"&&this.props.isAltRow,"k-selected":this.props.isSelected,"k-grid-edit-row":this.props.isInEdit}),i=o.createElement("tr",{id:this.props.id,onClick:this.props.onClick,onDoubleClick:this.props.onDoubleClick,className:t,style:{height:this.props.rowHeight?this.props.rowHeight+"px":"",visibility:this.props.isHidden?"hidden":""},role:"row","aria-rowindex":this.props.ariaRowIndex,"absolute-row-index":this.props.absoluteRowIndex,key:this.props.absoluteRowIndex,[bt]:this.props.rowType==="data"?this.props.dataIndex:void 0},this.props.children);return this.props.render?this.props.render.call(void 0,i,this.props):i}}class Lt extends o.Component{get _inputId(){return this.props.id}render(){const t=I.provideLocalizationService(this),{columnMenuWrapperProps:i}=this.props,l=[o.createElement("span",{key:0,className:"k-checkbox-wrap"},o.createElement("input",{id:this._inputId,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":t.toLanguageString(te,w[te]),"aria-checked":this.props.selectionValue,checked:this.props.selectionValue,onChange:e=>this.props.selectionChange({field:this.props.field,syntheticEvent:e})})),i.columnMenu&&o.createElement(He,{...i})];return this.props.render?this.props.render.call(void 0,l,this.props):l}}I.registerForLocalization(Lt);const Ni=f.withIdHOC(Lt);class ue extends o.Component{render(){return this.props.children||I.provideLocalizationService(this).toLanguageString(Ie,w[Ie])}}ue.displayName="KendoReactGridNoRecords",I.registerForLocalization(ue);class Fi extends o.Component{constructor(){super(...arguments),this._element=null,this.renderCell=(t,i)=>{const l={colSpan:t.colSpan!==1?t.colSpan:void 0,style:t.left!==void 0?this.props.isRtl?{left:t.right,right:t.left}:{left:t.left,right:t.right}:{},className:f.classNames("k-table-td",t.locked&&t.left!==void 0?"k-grid-footer-sticky":""),key:i,role:"gridcell",["aria-colindex"]:t.ariaColumnIndex},e={field:t.field,ariaColumnIndex:t.ariaColumnIndex,...l},s=pe(this.props.cells,t.cells);if(s&&s.footerCell){const n=s.footerCell;return o.createElement(n,{...e,tdProps:l,index:i})}return t.footerCell&&o.createElement(t.footerCell,{...e,key:i})||o.createElement("td",{...l})}}get element(){return this._element}render(){return o.createElement("tr",{className:"k-table-row",role:"row","aria-rowindex":this.props.ariaRowIndex},ni(this.props.columns).map(this.renderCell))}}const Gi=({buttonCount:r=10,info:t=!0,type:i="numeric",pageSizes:l=void 0,previousNext:e=!0,responsive:s=void 0,pageSizeValue:n=void 0})=>({buttonCount:r,info:t,pageSizes:l===!0?[5,10,20]:l||void 0,previousNext:e,responsive:s!==!1,type:i,pageSizeValue:n}),Mi=r=>Gi(r===!0?{}:r),Dt={name:"@progress/kendo-react-grid",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},zi=r=>{const{colSpan:t,ariaColIndex:i,dataItem:l,dataIndex:e,id:s}=r,n=b.useTableKeyboardNavigation(s),a=o.useCallback(h=>{r.onContextMenu&&r.onContextMenu.call(void 0,h,r.dataItem)},[r.onContextMenu,r.dataItem]);return o.createElement("td",{onContextMenu:a,className:"k-table-td k-detail-cell",colSpan:t,"aria-colindex":i,role:"gridcell",...n},o.createElement(r.detail,{dataItem:l,dataIndex:e}))},Li=r=>{const t=b.useTableKeyboardNavigation(r.id);return o.createElement("td",{className:"k-table-td k-hierarchy-cell",...t,role:"gridcell"})};let $=class extends o.Component{constructor(t){super(t),this._columns=[],this._columnsMap=[[]],this._columnsMutations=0,this._resized=!1,this._shouldUpdateLeftRight=!0,this.contextStateRef={current:void 0},this.navigationStateRef={current:void 0},this._data=[],this._slicedData=void 0,this.wrapperScrollTop=0,this.showLicenseWatermark=!1,this.headerRef=o.createRef(),this.headerElementRef=o.createRef(),this._element=null,this.tableElement=null,this.containerRef=o.createRef(),this.tableBodyRef=o.createRef(),this._footer=null,this.forceUpdateTimeout=void 0,this.isRtl=!1,this.observer=null,this.handleIntersection=e=>{const s={rowIndex:this.rowIndex};e.forEach(n=>{n.isIntersecting||this.setCurrentOnTop(s)})},this.setCurrentOnTop=e=>{if(!this.vs.container||this.props.scrollable==="none")return;this.observer&&this.observer.disconnect();const{rowIndex:s}=e;if(this.props.scrollable==="virtual")this.vs.askedSkip=s,this.vs.container.scroll(0,Math.round(this.vs.askedSkip/this.vs.total*this.vs.container.scrollHeight));else if(this.element){const n=s<1?this.element.querySelector("tbody > tr:nth-child(1)"):this.element.querySelector(`tbody > tr:nth-child(${s+1})`);n&&this.containerRef.current&&(this.containerRef.current.scrollTop=n.offsetTop)}},this.scrollIntoView=e=>{if(!this.vs.container||this.props.scrollable==="none")return;this.rowIndex=e.rowIndex;const{rowIndex:s}=e,n=this.element;if(this.observer&&n){this.observer.disconnect();const a=n.querySelector(`[absolute-row-index="${s}"]`);a?this.observer.observe(a):this.setCurrentOnTop(e)}},this.fitColumns=e=>{this.columnResize.dblClickHandler(null,e)},this.onContextMenu=(e,s,n)=>{if(this.props.onContextMenu){const a={target:this,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:s,field:n};this.props.onContextMenu.call(void 0,a)}},this.getVirtualScroll=e=>{const{rowHeight:s,detailRowHeight:n,detail:a,expandField:h,groupable:c}=e,d=this.isAllData(),u=s!==void 0&&s>0,C=n!==void 0&&n>0,g=c===!0||typeof c=="object"&&c.enabled!==!1;return!u||g&&!d||!!(a&&h)&&(!C||!d)?Ii:Ft},this.isAllData=()=>{const{data:e,total:s}=this.props;return Array.isArray(e)?e.length===s:e?s===e.total:!1},this.initializeVirtualization=(e,s)=>{if(this.reInitVirtualization(this.props.scrollable==="virtual",this.props.total,this.props.filter,this.props.group,this.props.sort,s||this.props.rowHeight===void 0||this.props.rowHeight===0),this.vs.fixedScroll=this.props.fixedScroll||!1,this.vs.PageChange=this.pageChange,this.vs.realSkip=this.props.skip||0,this.vs.pageSize=(this.props.take!==void 0?this.props.take:this.props.pageSize)||0,this.vs.scrollableVirtual=this.props.scrollable==="virtual",this.vs.total=e,this.vs.propsSkip=(this.props.skip||0)+(this.props.scrollable==="virtual"?this.vs.topCacheCount+(this.vs.attendedSkip-(this.props.skip||0)):0),this.props.rowHeight!==void 0&&this.props.rowHeight>0&&!s){const n=this.props.rowHeight*e;this.vs.containerHeight=Se?Math.min(rt,n):n}else this.vs.containerHeight=1533915;if(this.vs.containerRef=this.containerRef,this.vs.tableBodyRef=this.tableBodyRef,this.vs.table=this.tableElement,this._slicedData=void 0,this.vs instanceof Ft){const{rowHeight:n=0,detail:a,expandField:h}=this.props;let{detailRowHeight:c=0}=this.props;c=a&&h?c:n,this.isAllData()?(this.vs.total=this._data.length,this._slicedData=this._data.slice(this.vs.realSkip,this.vs.realSkip+this.vs.pageSize),this.vs.rowHeightService=this.rowHeightService(this.vs,this._data.length,n,c,this._data)):this.vs.rowHeightService=new Nt(e,n,c);const d=this.vs.rowHeightService.totalHeight();this.vs.containerHeight=Se?Math.min(rt,d):d}},this.scrollHandler=e=>{if(e.target!==e.currentTarget)return;clearTimeout(this.forceUpdateTimeout),this.vs.table=this.tableElement;const s=e.currentTarget.scrollLeft,n=e.currentTarget.scrollTop;this.props.columnVirtualization&&(!this.vs.scrollableVirtual||n===this.wrapperScrollTop)&&(this.forceUpdateTimeout=window.setTimeout(()=>{this.forceUpdate()},0)),this._header&&this._header.setScrollLeft(s),this._footer&&this._footer.setScrollLeft(s),this.vs&&n!==this.wrapperScrollTop&&this.vs.scrollHandler(e),f.dispatchEvent(this.props.onScroll,e,this,void 0),this.wrapperScrollTop=n},this.onKeyDown=e=>{if(b.tableKeyboardNavigation.onKeyDown(e,{contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,onNavigationAction:this.onNavigationAction}),this.props.onKeyDown){const{mode:s,cell:n}=b.getSelectionOptions(this.props.selectable),a={dataItems:this.getLeafDataItems(),mode:s,cell:n,componentId:this._gridId,selectedField:this.props.selectedField,...this.getArguments(e)};this.props.onKeyDown.call(void 0,a)}},this.onFocus=e=>{b.tableKeyboardNavigation.onFocus(e,{contextStateRef:this.contextStateRef})},this.onNavigationAction=e=>{if(this.props.onNavigationAction){const s={focusElement:e.focusElement,...this.getArguments(e.event)};this.props.onNavigationAction.call(void 0,s)}},this.rowClick=(e,s)=>{this.props.onRowClick&&e.target.nodeName==="TD"&&this.props.onRowClick.call(void 0,{dataItem:s.dataItem,...this.getArguments(e)})},this.rowDblClick=(e,s)=>{this.props.onRowDoubleClick&&e.target.nodeName==="TD"&&this.props.onRowDoubleClick.call(void 0,{dataItem:s.dataItem,...this.getArguments(e)})},this.itemChange=e=>{const s=this.props.onItemChange;if(e.field===this.props.expandField||this.props.group&&e.field===void 0){const n=this.props.onExpandChange;n&&n.call(void 0,{...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,value:e.value});return}s&&s.call(void 0,{...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,field:e.field,value:e.value})},this.onHeaderSelectionChange=e=>{this.props.onHeaderSelectionChange&&this.props.onHeaderSelectionChange.call(void 0,{field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:this,dataItems:this.getLeafDataItems(),selectedField:this.props.selectedField})},this.selectionRelease=e=>{if(this.props.onSelectionChange){const s={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._gridId,dataItems:this.getLeafDataItems(),dataItem:null,...e};this.props.onSelectionChange.call(void 0,s)}},this.pageChange=(e,s,n)=>{this.raiseDataEvent(this.props.onPageChange,{page:e},{skip:e.skip,take:e.take},s,n)},this.pagerPageChange=e=>{this.pageChange({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},this.sortChange=(e,s)=>{this.raiseDataEvent(this.props.onSortChange,{sort:e},{sort:e,...this.props.scrollable==="virtual"?{skip:0}:{}},s)},this.filterChange=(e,s)=>{this.raiseDataEvent(this.props.onFilterChange,{filter:e},{filter:e||void 0,skip:0},s)},this.groupChange=(e,s)=>{const n=s.nativeEvent?s:{nativeEvent:s.nativeEvent||s.originalEvent};this.raiseDataEvent(this.props.onGroupChange,{group:e},{group:e,skip:0},n)},this.onClipboard=(e,s)=>{if(this.props.onClipboard){if(!this.inActiveElement()||!e)return;this.props.onClipboard.call(void 0,{type:e,nativeEvent:s,columns:this._columns,dataItemKey:this.props.dataItemKey||"",...typeof this.props.clipboard!="boolean"?this.props.clipboard:{}})}},this.inActiveElement=()=>{var h,c,d;if(!f.canUseDOM)return!1;const e=f.getActiveElement(this.document),s=e?e.matches(".k-table-td")?e:(h=this.document)==null?void 0:h.body:(c=this.document)==null?void 0:c.body,n=s.closest(".k-grid-container"),a=s&&((d=this._element)==null?void 0:d.contains(s));return!!(s&&a&&n)},this.onResize=(e,s,n,a,h,c)=>{this.resetTableWidth(),this._shouldUpdateLeftRight=!0,this._resized=!0,this._columnsMutations++,this.props.onColumnResize&&this.props.onColumnResize.call(void 0,{columns:this.columns,nativeEvent:a,targetColumnId:c,index:e,newWidth:s,oldWidth:n,end:h,target:this})},this.reInitVirtualization=f.memoizeOne((e,s,n,a,h,c)=>{this.vs.reset();const d=this.getVirtualScroll(this.props);this.vs=new d(c)}),this.flatData=f.memoizeOne((e,s,n,a,h,c,d)=>{const u=[],C=et(u,e,s,{index:n},a!==void 0,h);return{flattedData:u,resolvedGroupsCount:C}}),this.rowHeightService=f.memoizeOne((e,s,n,a,h)=>new Nt(s,n,a,h)),this.childrenToArray=f.memoizeOne(e=>o.Children.toArray(e)),this.readColumns=f.memoizeOne((e,s,n)=>{const a=e.filter(h=>h&&h.type&&h.type.displayName==="KendoReactGridColumn");return tt(a,this.columns,{prevId:0,idPrefix:s})}),this.mapColumns=f.memoizeOne(e=>b.mapColumns(e)),this.configureColumns=f.memoizeOne((e,s,n)=>{this.props.selectedField&&e.forEach(c=>{c.field===this.props.selectedField?(c.width=c.width||"50px",c.cell=c.cell||mt,c.headerCell=c.headerCell||Ni):c.width=void 0});const a={id:"",resizable:!0,width:"32px",title:" ",declarationIndex:-1,orderIndex:-1,children:[],parentIndex:-1,depth:0,colSpan:0,rowSpan:0,left:0,right:0,index:0,rightBorder:!1,ariaColumnIndex:0,isAccessible:!0};let h=0;this.props.expandField&&this.props.onExpandChange&&this.props.detail&&(e.unshift({...a,cell:Ct,field:this.props.expandField,headerClassName:"k-hierarchy-cell k-header",id:b.tableKeyboardNavigationTools.generateNavigatableId(`${this._columns.length}`,n,"column")}),h++);for(let c=0;c<s;c++)e.unshift({...a,isAccessible:!1,cell:Pe,field:"value",locked:this.props.lockGroups}),h++;e.slice(h).forEach(c=>c.parentIndex>=0&&(c.parentIndex+=h))}),this.getHeaderRow=f.memoizeOne((e,s,n,a,h,c,d,u,C,g,E,y)=>o.createElement(St,{cells:this.props.cells,sort:e,sortable:s,sortChange:this.sortChange,group:n||[],groupable:a,groupChange:this.groupChange,filter:h,filterable:c,filterOperators:d,filterChange:this.filterChange,columnMenu:C,selectionChange:this.onHeaderSelectionChange,columns:g,columnResize:this.columnResize,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,columnsMap:E,cellRender:u,isRtl:y,dragClue:this.dragLogic.dragClueRef,headerRef:this.headerElementRef,containerRef:this.containerRef})),this.resolveTitle=e=>{const s=this._columns.find(a=>a.field===e),n=s&&(s.title||s.field);return n===void 0?e:n},this.getLeafDataItems=()=>this._data.filter(e=>e.rowType==="data").map(e=>e.dataItem),f.validatePackage(Dt),this.showLicenseWatermark=f.shouldShowValidationUI(Dt);const i=this.props.groupable===!0||typeof this.props.groupable=="object"&&this.props.groupable.enabled!==!1,l=this.getVirtualScroll(t);this.vs=new l(i||t.rowHeight===void 0||t.rowHeight===0),this.dragLogic=new Gt(this.columnReorder.bind(this),this.groupReorder.bind(this),this.columnToGroup.bind(this)),this.columnResize=new yi(this.onResize),this.props.clipboard&&(this.clipboardService=new b.ClipboardService(this.onClipboard)),b.tableKeyboardNavigation.onConstructor({navigatable:!!t.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,idPrefix:this._gridId})}get columns(){const t=this._columns.filter(i=>i.declarationIndex>=0&&i.parentIndex===-1);return it(t)}get element(){return this._element}get document(){if(f.canUseDOM)return this.element&&this.element.ownerDocument||document}get _header(){return this.headerRef.current}get _gridId(){return this.props.id+"-role-element-id"}componentDidMount(){this.resetTableWidth(),f.setScrollbarWidth();const t=b.isRtl(this.element);this.isRtl=t,b.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.isRtl&&this.forceUpdate();const i={rootMargin:"0px",threshold:.9};this.clipboardService&&this.clipboardService.addEventListeners(this.document),this.observer=f.canUseDOM&&window.IntersectionObserver&&new window.IntersectionObserver(this.handleIntersection,i)||null}getSnapshotBeforeUpdate(){return b.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(){this.resetTableWidth(),f.setScrollbarWidth(),this.vs.tableTransform&&this.vs.table&&(this.vs.table.style.transform=this.vs.tableTransform,this.vs.tableTransform=""),b.tableKeyboardNavigation.onComponentDidUpdate({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}componentWillUnmount(){clearTimeout(this.forceUpdateTimeout),this.clipboardService&&this.clipboardService.removeEventListeners(this.document)}render(){var ei;let t=this.props.total||0;const i=b.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef);let l=[];Array.isArray(this.props.data)?(l=this.props.data,t=t||this.props.data.length):this.props.data&&(l=this.props.data.data,t=t||this.props.data.total);const e=typeof this.props.groupable=="object"&&this.props.groupable.footer||"none",{resolvedGroupsCount:s,flattedData:n}=this.flatData(l,e,this.props.skip||0,this.props.group,this.props.expandField,this.props.filter,this.props.sort);this._data=n;const a=this.props.groupable===!0||typeof this.props.groupable=="object"&&this.props.groupable.enabled!==!1;this.columnResize.resizable=this.props.resizable||!1,this.dragLogic.reorderable=this.props.reorderable||!1,this.dragLogic.groupable=a;const h=this.props.selectable&&this.props.selectable.drag?"none":void 0;this.initializeVirtualization(t,a);const c=this.childrenToArray(this.props.children);this.initColumns(c,s);const d=c.map(v=>v&&v.type&&v.type.displayName==="KendoReactGridToolbar"?o.cloneElement(v,{...v.props,ariaControls:this._gridId}):null),u=c.filter(v=>v&&v.type&&v.type.displayName==="KendoReactGridNoRecords"),C=c.filter(v=>v&&v.type&&v.type.displayName==="KendoReactGridStatusBar"),g=this._columns.filter(v=>v.children.length===0),E=a&&o.createElement(yt,{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._gridId,onContextMenu:this.onContextMenu}),{sort:y,sortable:x,group:S,filter:F,filterable:k,filterOperators:B=_e,headerCellRender:_,columnMenu:me}=this.props,le=o.createElement(gi,{size:this.props.size,columnResize:this.columnResize,staticHeaders:this.props.scrollable!=="none",scrollableDataElement:()=>this.vs.container,draggable:this.props.reorderable||a,ref:this.headerRef,elemRef:this.headerElementRef,headerRow:this.getHeaderRow(y,x,S,a,F,k,B,_,me,this._columns,this._columnsMap,this.isRtl),filterRow:this.props.filterable&&o.createElement(wt,{cells:this.props.cells,size:this.props.size,columns:this._columns,filter:this.props.filter,filterOperators:this.props.filterOperators||_e,filterChange:this.filterChange,sort:this.props.sort,cellRender:this.props.filterCellRender,isRtl:this.isRtl,ariaRowIndex:this._columnsMap.length+1})||void 0,cols:g.map((v,M)=>o.createElement("col",{key:M.toString(),width:Ee(v)}))}),X=this.vs&&this.vs.container&&this.vs.container.scrollLeft||0,D=parseFloat(((this.props.style||{}).width||"").toString()),{colSpans:Xe,hiddenColumns:Ce}=b.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:g,tableViewPortWidth:D,scrollLeft:X}),Ye=(v,M,z)=>{let Y=!1;const V=this.props.selectedField?H(this.props.selectedField,v.dataItem):void 0;return{row:g.map((G,O)=>{if(Ce[O])return null;const ae=G.id?G.id:O,he=`${G.className?G.className+" ":""}${G.locked?"k-grid-content-sticky":""}`,W=G.left!==void 0?this.isRtl?{left:G.right,right:G.left}:{left:G.left,right:G.right}:{};let T=!1;if(G.editable&&this.props.editField){const A=H(this.props.editField,v.dataItem);A&&(A===!0||A===G.field)&&(Y=!0,T=!0)}const Qe=G.cell||T&&vt||Mt;return o.createElement(Qe,{onContextMenu:this.onContextMenu,key:ae,locked:this.props.lockGroups,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${M}-${String(O)}`,i),colSpan:Xe[O],dataItem:v.dataItem,field:G.field,editor:G.editor,format:G.format,className:he,render:this.props.cellRender,cells:pe(this.props.cells,G.cells),onChange:this.itemChange,selectionChange:this.props.onSelectionChange?A=>{this.selectionChange({event:A,dataItem:v.dataItem,dataIndex:z,columnIndex:O})}:void 0,columnIndex:O,columnsCount:g.length,rowType:v.rowType,level:v.level,expanded:v.expanded,dataIndex:v.dataIndex,style:W,ariaColumnIndex:G.ariaColumnIndex,isSelected:Array.isArray(V)&&V.indexOf(O)>-1})}),isInEdit:Y,isSelected:typeof V=="boolean"&&V}};let oe=0;if(this.props.scrollable==="virtual")for(let v=0;v<this.vs.topCacheCount+this.vs.attendedSkip-(this.props.skip||0);v++){const M=this._data.shift();if(M)this._data.push(M),oe++,M.rowType==="groupHeader"&&v--;else break}const qt=v=>v>=this._data.length-oe;let Ut=this.vs.realSkip||0;const be=[];let Je=!1;const Ze=this._columnsMap.length+(this.props.filterable?1:0)+1,$t=o.createElement("div",{key:"no-records",className:"k-grid-norecords","aria-rowindex":Ze},o.createElement("div",{className:"k-grid-norecords-template"},u.length?u:o.createElement(ue,null)));let ne=0;if(this._data.length){let v=-1,M=0;(this._slicedData||this._data).forEach((z,Y)=>{z.rowType==="data"&&(Ut++,v++);const V=Ut%2===0,G=this.props.dataItemKey&&f.getter(this.props.dataItemKey)(z.dataItem),O=Y+(this.vs.realSkip||0),ae=G||"ai"+O,he=ae+"_1",W=Ye(z,ae,v);if(ne=O+Ze+M,be.push(o.createElement(zt,{key:ae,dataItem:z.dataItem,isAltRow:V,isInEdit:W.isInEdit,rowType:z.rowType,isHidden:qt(Y),onClick:T=>this.rowClick(T,z),onDoubleClick:T=>this.rowDblClick(T,z),selectedField:this.props.selectedField,rowHeight:this.props.rowHeight,render:this.props.rowRender,ariaRowIndex:ne,absoluteRowIndex:O,dataIndex:v,isSelected:W.isSelected},W.row)),this.props.detail&&z.rowType==="data"&&z.expanded){const T=g.length-(this.props.expandField?1:0)-(this.props.group?this.props.group.length:0)||1;M++,ne=O+Ze+M,be.push(o.createElement("tr",{key:he,className:f.classNames("k-table-row",V?"k-detail-row k-table-alt-row k-alt":"k-detail-row"),style:{visibility:qt(Y)?"hidden":"",height:this.props.detailRowHeight},role:"row","aria-rowindex":ne},this.props.group&&this.props.group.map((Qe,A)=>{var ti;const ce=(ti=W==null?void 0:W.row[A])==null?void 0:ti.props.style,Ki=ce?this.isRtl?{left:ce.right,right:ce.left}:{left:ce.left,right:ce.right}:{};return o.createElement(Pe,{id:"",dataIndex:z.dataIndex,field:Qe.field,dataItem:z.dataItem,key:A,style:Ki,ariaColumnIndex:1+A,isSelected:!1,locked:this.props.lockGroups,isRtl:this.isRtl,cells:this.props.cells})}),this.props.expandField&&o.createElement(Li,{id:b.tableKeyboardNavigationTools.generateNavigatableId(`${he}-dhcell`,i)}),o.createElement(zi,{onContextMenu:this.onContextMenu,dataItem:z.dataItem,dataIndex:z.dataIndex,colSpan:T,ariaColIndex:2+(this.props.group?this.props.group.length:0),detail:this.props.detail,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${he}-dcell`,i)})))}})}else Je=!0;const jt={size:this.props.size,onPageChange:this.pagerPageChange,total:t,dir:this.isRtl?"rtl":void 0,skip:this.vs.propsSkip||0,take:(this.props.take!==void 0?this.props.take:this.props.pageSize)||10,messagesMap:pi,...Mi(this.props.pageable||{})},Xt=this.props.pager?o.createElement(this.props.pager,{...jt}):o.createElement(b.Pager,{className:"k-grid-pager",...jt}),Ri=v=>this.props.sort&&this.props.sort.filter(M=>M.field===v).length>0,Ai=(v,M)=>o.createElement("col",{key:M.toString(),width:Ee(v)}),Yt=(ei=this.props.cells)!=null&&ei.footerCell||this._columns.some(v=>{var M;return!!(v.footerCell||(M=v.cells)!=null&&M.footerCell)})?o.createElement(Si,{size:this.props.size,columnResize:this.columnResize,staticHeaders:this.props.scrollable!=="none",ref:v=>this._footer=v,row:o.createElement(Fi,{cells:this.props.cells,columns:this._columns,isRtl:this.isRtl,ariaRowIndex:ne+1}),cols:g.map(Ai)}):null,Jt=o.createElement("colgroup",{ref:v=>{this.columnResize.colGroupMain=v}},g.map((v,M)=>o.createElement("col",{key:M.toString(),className:Ri(v.field)?"k-sorted":void 0,width:Ee(v)}))),Zt=this.dragLogic.reorderable||this.dragLogic.groupable,Qt=this.props.columnVirtualization?"block":"table";if(this.props.scrollable==="none")return o.createElement(b.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},o.createElement("div",{id:this.props.id,style:this.props.style,className:f.classNames("k-grid",{"k-grid-md":!this.props.size,[`k-grid-${f.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),ref:v=>{this._element=v},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...b.tableKeyboardNavigationScopeAttributes},d,E,o.createElement(b.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:v=>{this.tableElement=v}},o.createElement("table",{className:f.classNames("k-table k-grid-table",{[`k-table-${f.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),style:{userSelect:h,display:Qt}},Jt,le,o.createElement("tbody",{role:"rowgroup",className:"k-table-tbody",...b.tableKeyboardNavigationBodyAttributes},be),Yt)),Je&&$t,Zt&&o.createElement(o.Fragment,null,o.createElement(b.DropClue,{ref:this.dragLogic.refDropElementClue}),o.createElement(b.DragClue,{ref:this.dragLogic.refDragElementClue}))),C,this.props.pageable&&Xt);let ve=this.props.style||{};return this.props.scrollable==="virtual"&&(ve.height||(ve=Object.assign({},ve,{height:"450px"}))),o.createElement(b.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},o.createElement("div",{id:this.props.id,style:ve,className:f.classNames("k-grid",{"k-grid-md":!this.props.size,[`k-grid-${f.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size,"k-grid-virtual":this.props.scrollable==="virtual"},this.props.className),ref:v=>{this._element=v},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...b.tableKeyboardNavigationScopeAttributes},d,E,o.createElement("div",{className:"k-grid-aria-root",role:"grid","aria-colcount":g.length,"aria-rowcount":t,id:this._gridId},le,o.createElement("div",{className:"k-grid-container",role:"presentation"},o.createElement("div",{ref:this.containerRef,className:"k-grid-content k-virtual-content",onScroll:this.scrollHandler,role:"presentation"},o.createElement("div",{className:"k-grid-table-wrap",role:"presentation"},o.createElement(b.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:v=>{this.tableElement=v}},o.createElement("table",{className:f.classNames("k-table k-grid-table",{"k-table-md":!this.props.size,[`k-table-${f.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),role:"presentation",style:{userSelect:h,display:Qt}},Jt,o.createElement("tbody",{className:"k-table-tbody",ref:this.tableBodyRef,role:"rowgroup",...b.tableKeyboardNavigationBodyAttributes},be))),Je&&$t),o.createElement("div",{className:"k-height-container",role:"presentation"},o.createElement("div",{style:this.props.scrollable==="virtual"?{height:this.vs.containerHeight+"px"}:{}})))),Yt,Zt&&o.createElement(o.Fragment,null,o.createElement(b.DropClue,{ref:this.dragLogic.refDropElementClue}),o.createElement(b.DragClue,{ref:this.dragLogic.refDragElementClue})),this.showLicenseWatermark&&o.createElement(f.WatermarkOverlay,null)),C,this.props.pageable&&Xt))}selectionChange(t){if(this.props.onSelectionChange){const{event:i,dataItem:l,dataIndex:e,columnIndex:s}=t,{mode:n,cell:a}=b.getSelectionOptions(this.props.selectable),h={...this.getArguments(i.syntheticEvent),dataItem:l,startColIndex:s,endColIndex:s,startRowIndex:e,endRowIndex:e,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:n,cell:a,isDrag:!1,componentId:this._gridId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,h)}}raiseDataEvent(t,i,l,e,s){const n=this.props.onDataStateChange;if(t){const a={...this.getArguments(e),...i,targetEvent:s};t.call(void 0,a)}else n&&n.call(void 0,{...this.getArguments(e),targetEvent:s||{},dataState:{...this.getDataState(),...l}})}columnReorder(t,i,l){const e=this._columns[t],s=e.depth,n=d=>{do d++;while(d<this._columns.length&&this._columns[d].depth>s);return d},a=this._columns.splice(t,n(t)-t);this._columns.splice(t<i?n(i-a.length):i,0,...a),this._columns.filter(d=>d.declarationIndex>=0).forEach((d,u)=>d.orderIndex=u),this._columnsMutations++;const h=this._columns[t].locked&&this._columns[i].locked;b.updateLeft(this._columnsMap,this._columns,h||this._shouldUpdateLeftRight),b.updateRight(this._columnsMap,this._columns,h||this._shouldUpdateLeftRight),this._resized&&(this._shouldUpdateLeftRight=!1,this._resized=!1);const c=this.columns;if(this.forceUpdate(),this.props.onColumnReorder){const d={target:this,columns:c,columnId:e.id,nativeEvent:l};this.props.onColumnReorder.call(void 0,d)}}groupReorder(t,i,l){if(this.props.group===void 0)return;const e=this.props.group.slice();e.splice(i,0,...e.splice(t,1)),this.groupChange(e,l)}columnToGroup(t,i,l){const e=this._columns[t].field;if(!e)return;const s=(this.props.group||[]).slice();s.splice(i,0,{field:e}),this.groupChange(s,l)}resetTableWidth(){let t=0;if(!this.columnResize.colGroupMain)return;const i=this.columnResize.colGroupMain.children;for(let l=0;l<i.length;l++){const e=i[l].width;if(!e)return;t+=parseFloat(e.toString())}t=Math.round(t),this._header&&this._header.setWidth(t),this._footer&&this._footer.setWidth(t),this.tableElement&&(this.tableElement.style.width=t+"px")}initColumns(t,i){const l=b.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef);this._columns=this.readColumns(t,l,this._columnsMutations),this._columns.length===0&&(this._columns=li(this.props.data,this.props.group,this.props.expandField,{prevId:0,idPrefix:l})),this.configureColumns(this._columns,i,l),this._columnsMap=this.mapColumns(this._columns),this.columnResize.columns=this._columns,this.dragLogic.columns=this._columns}getDataState(){return{filter:this.props.filter,sort:this.props.sort,skip:this.props.skip,take:this.props.take!==void 0?this.props.take:this.props.pageSize,group:this.props.group}}getArguments(t){return{nativeEvent:t&&t.nativeEvent,syntheticEvent:t,target:this}}};$.displayName="KendoReactGrid",$.defaultProps={},$.propTypes={data:p.oneOfType([p.array,p.shape({data:p.array,total:p.number})]),sortable:p.oneOfType([p.bool,p.shape({mode:p.oneOf(["single","multiple"]),allowUnsort:p.bool})]),onSortChange:p.func,sort:p.array,filterable:p.bool,filter:p.any,onFilterChange:p.func,pageable:p.oneOfType([p.bool,p.shape({buttonCount:p.number,responsive:p.bool,info:p.bool,type:p.oneOf(["numeric","input"]),pageSizes:p.oneOfType([p.bool,p.arrayOf(p.oneOfType([p.string,p.number]))]),previousNext:p.bool})]),pageSize:p.number,onPageChange:p.func,total:p.number,skip:p.number,take:p.number,fixedScroll:p.bool,onExpandChange:p.func,expandField:p.string,selectedField:p.string,onSelectionChange:p.func,onHeaderSelectionChange:p.func,resizable:p.bool,reorderable:p.bool,group:p.any,groupable:p.oneOfType([p.bool,p.shape({enabled:p.bool,footer:p.oneOf(["always","visible","none"])})]),onGroupChange:p.func,onRowClick:p.func,onRowDoubleClick:p.func,onItemChange:p.func,editField:p.string,scrollable:p.oneOf(["none","scrollable","virtual"]),rowHeight:p.number,detailRowHeight:p.number,detail:p.any,style:p.object,onDataStateChange:p.func,onColumnResize:p.func,onColumnReorder:p.func,dataItemKey:p.string,navigatable:p.bool,size:p.oneOf(["small","medium"])},$.contextType=b.TableKeyboardNavigationContext;class re extends o.Component{render(){const{children:t}=this.props;return o.createElement("div",{id:this.props.id,className:f.classNames("k-columnmenu-item-wrapper",this.props.className),style:this.props.style},t)}}class j extends o.Component{render(){const{title:t,iconClass:i,svgIcon:l,selected:e}=this.props;return o.createElement("div",{onClick:this.props.onClick,className:`k-columnmenu-item ${e?"k-selected":""}`},(i||l)&&o.createElement(f.IconWrap,{name:i&&f.toIconName(i),icon:l}),t)}}class Ve extends o.Component{constructor(){super(...arguments),this.onGroupClick=t=>{if(t.preventDefault(),this.props.onGroupChange){const{column:i}=this.props;if(!i.field)return;const l=(this.props.group||[]).slice(),e=l.findIndex(s=>s.field===i.field);e>-1?l.splice(e,1):l.push({field:i.field}),this.props.onGroupChange(l,t)}this.props.onCloseMenu&&this.props.onCloseMenu()}}render(){const{group:t,column:i}=this.props,l=I.provideLocalizationService(this),e=!!(t&&i.field&&t.find(n=>n.field===i.field)),s=e?dt:ct;return o.createElement(re,null,o.createElement(j,{title:l.toLanguageString(s,w[s]),iconClass:e?"k-i-ungroup":"k-i-group",svgIcon:e?N.ungroupIcon:N.groupIcon,onClick:this.onGroupClick}))}}I.registerForIntl(Ve),I.registerForLocalization(Ve);const Ot="asc",Ht="desc",Di={true:{asc:{asc:"",desc:"desc"},desc:{asc:"asc",desc:""},"":{asc:"asc",desc:"desc"}},false:{asc:{asc:"asc",desc:"desc"},desc:{asc:"asc",desc:"desc"},"":{asc:"asc",desc:"desc"}}},_t=(r,t)=>t?t.findIndex(i=>i.field===r):-1,Rt=(r,t)=>!!(t&&r>-1&&t[r].dir===Ot),At=(r,t)=>!!(t&&r>-1&&t[r].dir===Ht);class ge extends o.Component{constructor(){super(...arguments),this.onAscClick=t=>{this.onSort(t,Ot),this.props.onCloseMenu&&this.props.onCloseMenu()},this.onDescClick=t=>{this.onSort(t,Ht),this.props.onCloseMenu&&this.props.onCloseMenu()},this.onSort=(t,i)=>{if(t.preventDefault(),!this.props.onSortChange)return;const{column:l,sortable:e,sort:s}=this.props,{allowUnsort:n,mode:a}=xt(e||!1,!1),h=(s||[]).filter(u=>u.field===l.field)[0],c=Di[n][h&&h.dir||""][i],d=a==="single"?[]:(this.props.sort||[]).filter(u=>u.field!==l.field);c!==""&&l.field&&d.push({field:l.field,dir:c}),this.props.onSortChange(d,t)}}render(){const{sort:t,column:i}=this.props,l=_t(i.field,t),e=I.provideLocalizationService(this);return o.createElement(re,null,o.createElement(j,{title:e.toLanguageString(ye,w[ye]),iconClass:"k-i-sort-asc-sm",svgIcon:N.sortAscSmallIcon,selected:Rt(l,t),onClick:this.onAscClick}),o.createElement(j,{title:e.toLanguageString(Ne,w[Ne]),iconClass:"k-i-sort-desc-sm",svgIcon:N.sortDescSmallIcon,selected:At(l,t),onClick:this.onDescClick}))}}ge.active=(r,t)=>{const i=_t(r,t);return At(i,t)||Rt(i,t)},I.registerForIntl(ge),I.registerForLocalization(ge);class qe extends o.Component{render(){return o.createElement("div",{id:this.props.id,className:f.classNames("k-columnmenu-item-content",this.props.className),style:this.props.style},o.createElement(ri.Reveal,{style:{position:"relative",display:"block"}},this.props.show?this.props.children:null))}}class Ue extends o.Component{constructor(t){super(t),this.renderOperatorEditor=()=>{if(this.props.filterType==="boolean")return;const i=this.props.operators.find(l=>l.operator===this.props.operator)||null;return o.createElement(Z.DropDownList,{value:i,onChange:this.operatorChange,data:this.props.operators,textField:"text"})},this.inputChange=this.inputChange.bind(this),this.operatorChange=this.operatorChange.bind(this),this.boolDropdownChange=this.boolDropdownChange.bind(this)}render(){return o.createElement(o.Fragment,null,this.renderOperatorEditor(),this.filterComponent(this.props.filterType,this.props.value,this.props.booleanValues))}inputChange(t,i){Ae(t,i,this.props)}operatorChange(t){We(t,this.props.value,this.props.onChange)}boolDropdownChange(t){Be(t,this.props.onChange)}filterComponent(t,i,l){switch(t){case"numeric":return o.createElement(L.NumericTextBox,{value:i,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)},rangeOnEnter:!1});case"date":return o.createElement(xe.DatePicker,{value:i,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)}});case"boolean":{const e=s=>s==null;return o.createElement(Z.DropDownList,{onChange:this.boolDropdownChange,value:l.find(s=>s.operator===(e(i)?"":i)),data:l,textField:"text"})}default:return o.createElement(L.Input,{value:i||"",onChange:e=>{this.inputChange(e.target.value,e.syntheticEvent)}})}}}class Kt extends o.Component{render(){const{firstFilterProps:t,hideSecondFilter:i,secondFilterProps:l,logicData:e,logicValue:s,onLogicChange:n}=this.props;return o.createElement(o.Fragment,null,o.createElement(Ue,{...t}),!i&&o.createElement(o.Fragment,null,o.createElement(Z.DropDownList,{data:e,value:s,onChange:n,className:"k-filter-and",textField:"text"}),o.createElement(Ue,{...l})))}}const fe=r=>r||{filters:[],logic:"and"},se=(r,t)=>fe(t).filters.filter(e=>de.isCompositeFilterDescriptor(e)?e.filters&&e.filters.length&&e.filters.length<=2&&!e.filters.find(s=>de.isCompositeFilterDescriptor(s)||s.field!==r):!1)[0]||null;class $e extends o.Component{constructor(t){super(t),this.removeGroup=(l,e)=>{const s=[...e.filters],n=s.findIndex(a=>a===l);return n>-1&&s.splice(n,1),{...e,filters:s}},this.insertGroup=(l,e)=>({...e,filters:[l,...e.filters]}),this.isControlled=()=>this.props.expanded!==void 0,this.onFilterExpand=()=>{const l=this.isControlled(),e=!(l?this.props.expanded:this.state.expanded);this.props.onExpandChange&&this.props.onExpandChange(e),l||this.setState({expanded:e})},this.firstFilterChange=l=>{this.filterChange(0,l)},this.secondFilterChange=l=>{this.filterChange(1,l)},this.filterChange=(l,e)=>{const s=this.state.filterGroup.filters.map((n,a)=>a===l?{...n,value:e.value,operator:e.operator}:n);this.setState({filterGroup:{...this.state.filterGroup,filters:s}})},this.logicChange=l=>{this.setState({filterGroup:{...this.state.filterGroup,logic:l.target.value.operator}})},this.clear=l=>{if(l.preventDefault(),!this.props.onFilterChange)return;const e=this.props.column.field,s=fe(this.props.filter),n=se(e,this.props.filter),a=s.filters.filter(h=>h!==n);a.length?this.props.onFilterChange({...s,filters:a},l):this.props.onFilterChange(null,l),this.props.onCloseMenu&&this.props.onCloseMenu()},this.currentFilterGroup=()=>({...this.state.filterGroup,filters:this.state.filterGroup.filters.filter(l=>l.value!==void 0&&l.value!==null&&l.value!==""||l.value===null&&l.operator)}),this.submit=l=>{if(l.preventDefault(),!this.props.onFilterChange)return;const e=this.props.column.field,s=fe(this.props.filter),n=se(e,this.props.filter),a=this.currentFilterGroup();let h=null;if(n&&a.filters.length>0){const c=s.filters.map(d=>d===n?a:d);h={...s,filters:c}}else if(a.filters.length===0){const c=s.filters.filter(d=>d!==n);c.length&&(h={...s,filters:c})}else h={...s,filters:[...s.filters,a]};this.props.onFilterChange(h,l),this.props.onCloseMenu&&this.props.onCloseMenu()};let i;if(t.column&&t.column.field){const l=Ke(t.column.filter),e=It(t.filterOperators,l);i=se(t.column.field,t.filter),i=i?{...i,filters:i.filters.map(s=>({...s}))}:{logic:"and",filters:[{field:t.column.field,operator:e,value:R(e)?null:void 0},{field:t.column.field,operator:e,value:R(e)?null:void 0}]},i.filters.filter(s=>s.field===t.column.field).length===1&&i.filters.splice(1,0,{field:t.column.field,operator:e})}this.state={expanded:t.expanded||!1,filterGroup:i}}render(){const{column:t,filterUI:i,hideSecondFilter:l,filterOperators:e}=this.props;if(!t||!t.field)return o.createElement("div",null);const s=Ke(t.filter),n=l!==void 0?l:xi[s],a=I.provideLocalizationService(this),h=this.state.filterGroup.filters,c=ie(e[s],a),d=ie(Re,a),u={field:t.field,value:h[0].value,operator:h[0].operator,operators:c,booleanValues:d,onChange:this.firstFilterChange,filterType:s},C={field:t.field,value:h[1].value,operator:h[1].operator,operators:c,booleanValues:d,onChange:this.secondFilterChange,filterType:s},g=this.state.filterGroup.logic,E=ie(bi,a),y={value:E.find(_=>_.operator===(g===null?"":g)),onChange:this.logicChange,data:E},x=i,S={firstFilterProps:u,secondFilterProps:C,logicData:y.data,logicValue:y.value,onLogicChange:y.onChange,hideSecondFilter:n},F=this.currentFilterGroup().filters.length!==0||R(h[0].operator)||R(h[1].operator),k=this.isControlled()?this.props.expanded:this.state.expanded,B=this.props.alwaysExpand;return o.createElement(re,null,!B&&o.createElement(j,{title:a.toLanguageString(ee,w[ee]),iconClass:"k-i-filter",svgIcon:N.filterIcon,onClick:this.onFilterExpand}),o.createElement(qe,{show:B||!!k},o.createElement("form",{className:"k-filter-menu",onSubmit:this.submit,onReset:this.clear,onKeyDown:_=>_.stopPropagation()},o.createElement("div",{className:"k-filter-menu-container"},x?o.createElement(x,{...S}):o.createElement(Kt,{...S}),o.createElement("div",{className:"k-actions k-actions-stretched"},o.createElement(K.Button,{themeColor:"primary",disabled:!F},a.toLanguageString(Q,w[Q])),o.createElement(K.Button,{type:"reset"},a.toLanguageString(P,w[P])))))))}}$e.active=(r,t)=>!!se(r,t),I.registerForLocalization($e);const Oi=(r,t)=>r.length!==t.length?!1:r.every((i,l)=>i===t[l]);class je extends o.Component{constructor(t){super(t),this.defaultFilter=()=>this.props.filter?f.clone(this.props.filter):{filters:[],logic:"and"},this.isControlled=()=>this.props.expanded!==void 0,this.parseData=(i,l)=>{const e=this.props.column.field||"",s=i.map(n=>H(e,n));return l?s.filter((n,a)=>s.indexOf(n)===a):s},this.getFilterIndex=()=>{const i=this.props.column.field;return this.defaultFilter().filters.findIndex(s=>s.filters&&s.filters.length>0&&s.filters[0].field===i)},this.onFilterExpand=()=>{const i=this.isControlled(),l=!(i?this.props.expanded:this.state.expanded);this.props.onExpandChange&&this.props.onExpandChange(l),i||this.setState({expanded:l})},this.handleSearchChange=i=>{const l=this.props.searchBoxFilterOperator?this.props.searchBoxFilterOperator:"startswith",e={logic:"and",filters:[{field:this.props.column.field,operator:l,value:i.target.value,ignoreCase:!0}]};this.setState({value:i.target.value,data:this.parseData(de.filterBy(this.props.data||[],e),this.props.uniqueData)})},this.handleClear=()=>{const i=this.props.searchBoxFilterOperator?this.props.searchBoxFilterOperator:"startswith",l={logic:"and",filters:[{field:this.props.column.field,operator:i,value:"",ignoreCase:!0}]};this.setState({value:"",data:this.parseData(de.filterBy(this.props.data||[],l),this.props.uniqueData)})},this.clear=i=>{if(i.preventDefault(),!this.props.onFilterChange)return;const l=this.state.currentFilter||null;l!==null&&l.filters.length>0?(this.compositeFilterIndex>=0&&l.filters.splice(this.compositeFilterIndex,1),this.props.onFilterChange(l,i)):this.props.onFilterChange(null,i),this.props.onCloseMenu&&this.props.onCloseMenu()},this.submit=i=>{if(i.preventDefault(),!this.props.onFilterChange)return;const l=this.state.currentFilter||null;this.props.onFilterChange(l,i),this.props.onCloseMenu&&this.props.onCloseMenu()},this.handleCheckBoxChange=(i,l)=>{const e=this.props.column.field||"",s={...this.state.currentFilter},n=[...this.state.currentFilter.filters];let a=[];if(this.compositeFilterIndex!==-1&&s.filters[this.compositeFilterIndex].filters&&l!=="all"&&(a=s.filters[this.compositeFilterIndex].filters),i.value&&l==="all")this.state.data.forEach(h=>{a.push({field:e,operator:"eq",value:h})});else if(i.value)a.push({field:e,operator:"eq",value:l});else if(this.state.currentFilter){const h=a.findIndex(c=>c.value===l);a.splice(h,1)}s.logic="and",this.compositeFilterIndex!==-1?n[this.compositeFilterIndex]={logic:"or",filters:a}:n.push({logic:"or",filters:a}),(!i.value&&l==="all"||a.length===0)&&n.splice(this.compositeFilterIndex,1),s.filters=n,this.setState({currentFilter:s})},this.isAllSelected=()=>{let i=!1;if(this.state.currentFilter){const l=[...this.state.currentFilter.filters];return this.compositeFilterIndex===-1?!1:(i=this.state.data.every(e=>this.compositeFilterIndex!==-1&&l[this.compositeFilterIndex].filters?l[this.compositeFilterIndex].filters.findIndex(n=>n.value===e)>=0:!1),i)}return i},this.compositeFilterIndex=this.getFilterIndex(),this.state={expanded:t.expanded||!1,value:"",data:this.parseData(this.props.data,this.props.uniqueData)||[],dataFromProps:this.parseData(this.props.data,!1)||[],currentFilter:this.defaultFilter()}}componentDidUpdate(){const t=this.props.column.field||"",i=this.props.data.map(l=>H(t,l));Oi(i,this.state.dataFromProps)||this.setState({data:i,dataFromProps:i})}render(){const{column:t}=this.props;if(!t||!t.field)return o.createElement("div",null);const i=I.provideLocalizationService(this),l=this.isControlled()?this.props.expanded:this.state.expanded,e=[];if(this.state.currentFilter){const a=[...this.state.currentFilter.filters];this.compositeFilterIndex=a.findIndex(h=>h.filters&&h.filters.length>0?h.filters[0].field===t.field:!1),this.compositeFilterIndex!==-1&&a[this.compositeFilterIndex].filters.length>0&&a[this.compositeFilterIndex].filters.forEach(h=>{h.field===this.props.column.field&&e.push(h.value)})}const s=this.props.searchBox?o.createElement(this.props.searchBox,{value:this.state.value,onChange:this.handleSearchChange}):o.createElement("div",{className:"k-searchbox k-textbox k-input k-input-md k-input-solid"},o.createElement(f.IconWrap,{className:"k-input-icon",name:"search",icon:N.searchIcon}),o.createElement(L.Input,{className:"k-input-inner",type:"text",placeholder:i.toLanguageString(Fe,w[Fe]),value:this.state.value,onChange:a=>this.handleSearchChange(a.nativeEvent)}),o.createElement(K.Button,{type:"button",rounded:null,className:"k-input-button",onClick:this.handleClear,icon:"x",svgIcon:N.xIcon})),n=e.filter((a,h)=>e.indexOf(a)===h);return o.createElement(re,null,o.createElement(j,{title:i.toLanguageString(ee,w[ee]),iconClass:"k-i-filter",svgIcon:N.filterIcon,onClick:this.onFilterExpand}),o.createElement(qe,{show:!!l},o.createElement("form",{className:"k-filter-menu",onSubmit:this.submit,onReset:this.clear},o.createElement("div",{className:"k-filter-menu-container"},s,o.createElement("ul",{className:"k-reset k-multicheck-wrap"},o.createElement("li",{className:"k-item k-check-all-wrap"},o.createElement(L.Checkbox,{label:i.toLanguageString(Ge,w[Ge]),onChange:a=>this.handleCheckBoxChange(a,"all"),checked:this.isAllSelected()})),this.state.data.map((a,h)=>o.createElement("li",{className:"k-item",key:h},o.createElement(L.Checkbox,{label:String(a),onChange:c=>this.handleCheckBoxChange(c,a),checked:n.includes(a)})))),o.createElement("div",{className:"k-filter-selected-items"},n.length+" "+i.toLanguageString(ze,w[ze])),o.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},o.createElement(K.Button,{themeColor:"primary",type:"submit"},i.toLanguageString(Q,w[Q])),o.createElement(K.Button,{className:"k-button",type:"reset"},i.toLanguageString(P,w[P])))))))}}je.defaultProps={uniqueData:!0},I.registerForLocalization(je);const Bt=r=>{const[t,i]=o.useState(""),l=o.useMemo(()=>new Set(r.columnsState.map(g=>g.id)),[r.columnsState]),e=o.useMemo(()=>r.columns.filter(g=>{var E;return(E=g.title||g.field)==null?void 0:E.toLowerCase().includes(t.toLowerCase())}),[r.columns,t]),[s,n]=o.useState(r.columns.map(g=>l.has(g.id))),a=o.useCallback(()=>{const g=r.columns.filter((E,y)=>s[y]);r.onColumnsChange.call(void 0,g),r.onCloseMenu.call(void 0)},[s,r.columns,r.onColumnsChange,r.onCloseMenu]),h=o.useCallback(()=>{n(r.columns.map(g=>l.has(g.id)))},[l,r.columns]),c=s.filter(g=>g).length,d=c===s.length,u=o.useCallback(()=>{n(r.columns.map((g,E)=>d&&E===0?!0:!d))},[r.columns,d]),C=o.useCallback((g,E)=>{const y=s.slice();y[E]=g,n(y)},[s]);return o.createElement("form",{className:"k-filter-menu"},o.createElement("div",{className:"k-filter-menu-container"},o.createElement(L.TextBox,{className:"k-searchbox",value:t,onChange:g=>i(String(g.target.value)),prefix:()=>o.createElement(L.InputPrefix,null,o.createElement(f.IconWrap,{name:"search",icon:N.searchIcon}))}),o.createElement("ul",{className:"k-reset k-multicheck-wrap"},!t&&o.createElement("li",{className:"k-item k-check-all-wrap"},o.createElement(L.Checkbox,{checked:d,onChange:u,label:"(Select all)"})),e.map((g,E)=>o.createElement("li",{key:g.id,className:"k-item"},o.createElement(L.Checkbox,{disabled:s[E]&&c===1,checked:s[E],onChange:y=>{var x;return C(!!((x=y.target.element)!=null&&x.checked),E)},label:g.title||g.field})))),o.createElement("div",{className:"k-filter-selected-items"},c," selected items"),o.createElement("div",{className:"k-actions k-actions-start k-actions-horizontal"},o.createElement(K.Button,{type:"button",themeColor:"primary",onClick:a},"Apply"),o.createElement(K.Button,{type:"button",onClick:h},"Reset"))))};Bt.displayName="GridColumnMenuColumnsList";class Hi extends o.Component{render(){return null}}class Wt extends o.Component{render(){return o.createElement("div",{className:f.classNames("k-toolbar k-grid-toolbar",{"k-toolbar-md":!this.props.size,[`k-toolbar-${f.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),"aria-label":this.props.ariaLabel,"aria-controls":this.props.ariaControls,role:"toolbar"},this.props.children)}}Wt.displayName="KendoReactGridToolbar";const Tt=r=>{const{data:t=[]}=r;return o.createElement("div",{className:"k-selection-aggregates k-grid-selection-aggregates"},t.map((i,l)=>o.createElement("div",{key:l},o.createElement("span",{className:"k-selection-aggregates-item-text"},i.type,": "),o.createElement("span",{className:"k-selection-aggregates-item-value"},i.formattedValue))))};Tt.displayName="KendoReactGridStatusBar";const Pt=r=>{var i;const t=r.slice();for(let l=0;l<t.length;l++)for(;t[l]&&((i=t[l].children)!=null&&i.length);)t.splice(l,1,...t[l].children);return t},_i=r=>{const{dataItems:t,target:i,selectedField:l}=r,s=Pt(i.columns).map(x=>x.field).filter(x=>x&&typeof x=="string").map(x=>f.getter(x)),n=f.getter(l),a={dates:[],numbers:[],booleans:[],others:[]},h=x=>{typeof x=="number"?a.numbers.push(x):typeof x=="boolean"?a.booleans.push(x):x instanceof Date?a.dates.push(x):a.others.push(x)};t.forEach(x=>{const S=n(x);S&&S.forEach(F=>{h(s[F](x))})});const c=a.dates.map(x=>x.getTime()),d=a.booleans.filter(x=>x).length,u=a.booleans.filter(x=>!x).length,C=a.numbers.length?a.numbers.reduce((x,S)=>x+=S,0):void 0,g={sum:C,average:typeof C=="number"?C/a.numbers.length:void 0,min:a.numbers.length?Math.min(...a.numbers):void 0,max:a.numbers.length?Math.max(...a.numbers):void 0,count:a.numbers.length+a.booleans.length+a.dates.length+a.others.length,isTrue:d>0?d:void 0,isFalse:u>0?u:void 0,earliest:a.dates.length?new Date(Math.min(...c)):void 0,latest:a.dates.length?new Date(Math.max(...c)):void 0},E=(x,S)=>(S==="sum"||S==="average")&&typeof x=="number"?x.toFixed(2):(S==="earliest"||S==="latest")&&x instanceof Date?x.toLocaleDateString():String(x),y=[];return Object.keys(g).forEach(x=>{const S=x,F=g[S];F!==void 0&&y.push({type:S,value:F,formattedValue:E(F,S)})}),y},Vt=f.withIdHOC($);Vt.displayName="KendoReactGrid",Object.defineProperty(m,"getSelectedState",{enumerable:!0,get:()=>b.getSelectedState}),Object.defineProperty(m,"getSelectedStateFromKeyDown",{enumerable:!0,get:()=>b.getSelectedStateFromKeyDown}),Object.defineProperty(m,"setSelectedState",{enumerable:!0,get:()=>b.setSelectedState}),m.GRID_COL_INDEX_ATTRIBUTE=U,m.GRID_PREVENT_SELECTION_ELEMENT=ui,m.GRID_ROW_INDEX_ATTRIBUTE=bt,m.Grid=Vt,m.GridCell=Mt,m.GridClassComponent=$,m.GridColumn=q,m.GridColumnMenuCheckboxFilter=je,m.GridColumnMenuColumnsList=Bt,m.GridColumnMenuFilter=$e,m.GridColumnMenuFilterCell=Ue,m.GridColumnMenuFilterUI=Kt,m.GridColumnMenuGroup=Ve,m.GridColumnMenuItem=j,m.GridColumnMenuItemContent=qe,m.GridColumnMenuItemGroup=re,m.GridColumnMenuSort=ge,m.GridColumnMenuWrapper=He,m.GridCommonDragLogic=Gt,m.GridDetailRow=Hi,m.GridEditCell=vt,m.GridFilterCell=Te,m.GridGroupCell=Pe,m.GridHeaderCell=Et,m.GridHierarchyCell=Ct,m.GridNoRecords=ue,m.GridRow=zt,m.GridSelectionCell=mt,m.GridToolbar=Wt,m.StatusBar=Tt,m.booleanFilterValues=Re,m.cellBoolDropdownChange=Be,m.cellInputChange=Ae,m.cellOperatorChange=We,m.filterGroupByField=se,m.getStatusData=_i,m.gridMessages=w,m.leafColumns=Pt,m.operators=_e,m.pagerFirstPage=lt,m.pagerInfo=st,m.pagerItemPerPage=ht,m.pagerLastPage=at,m.pagerNextPage=nt,m.pagerPreviousPage=ot,m.rootFilterOrDefault=fe,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-data-tools"),require("@progress/kendo-react-intl"),require("@progress/kendo-svg-icons"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dateinputs"),require("@progress/kendo-react-popup"),require("@progress/kendo-react-buttons"),require("@progress/kendo-react-dropdowns"),require("@progress/kendo-data-query"),require("@progress/kendo-react-animation")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-data-tools","@progress/kendo-react-intl","@progress/kendo-svg-icons","@progress/kendo-react-inputs","@progress/kendo-react-dateinputs","@progress/kendo-react-popup","@progress/kendo-react-buttons","@progress/kendo-react-dropdowns","@progress/kendo-data-query","@progress/kendo-react-animation"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactGrid={},e.React,e.PropTypes,e.KendoReactCommon,e.KendoReactDataTools,e.KendoReactIntl,e.KendoSvgIcons,e.KendoReactInputs,e.KendoReactDateinputs,e.KendoReactPopup,e.KendoReactButtons,e.KendoReactDropdowns,e.KendoDataQuery,e.KendoReactAnimation)}(this,(function(e,t,r,s,i,o,l,a,n,h,p,c,d,u){"use strict";function g(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var m=g(t);const f=e=>null;function C(e,t){const r=(e||"").split(".");let s=t;return r.forEach((e=>{s=s?s[e]:void 0})),s}function v(e,t,r,s,i,o,l=0){let a=l;for(let n=0;n<t.length;n++){if(!i||void 0===t[n].value||void 0===t[n].items){e[e.length]={dataIndex:s.index,dataItem:t[n],rowType:"data",level:l,expanded:void 0===o||C(o,t[n])},s.index++;continue}a=Math.max(a,l+1);const h=void 0===o||void 0===C(o,t[n])||C(o,t[n]);e[e.length]={dataIndex:-1,dataItem:t[n],level:l,rowType:"groupHeader",expanded:h},h&&(a=Math.max(v(e,t[n].items,r,s,i,o,l+1),a)),("always"===r||h&&"visible"===r)&&(e[e.length]={dataIndex:-1,dataItem:t[n],rowType:"groupFooter",level:l,expanded:h})}return a}function b(e,t,r,s=0){let o=[];if(!e)return[];e&&void 0===e.length&&(e=[e]),e.forEach(((e,l)=>{e=e.props?e.props:e;const a=t[l]||null,n=b(e.children,a&&a.children||[],r,s+1);o.push(Object.assign({depth:s},f.defaultProps,n.length?{cell:()=>null,filterCell:()=>null}:{},a?{width:a.width,orderIndex:a.orderIndex}:{},e,{id:e.id?e.id:i.tableKeyboardNavigationTools.generateNavigatableId(""+r.prevId++,r.idPrefix,"column"),declarationIndex:o.length,children:n,rowSpan:0,colSpan:0,isAccessible:!0,left:a&&Math.floor(a.left),right:a&&Math.floor(a.right)}))}));if(o.sort(((e,t)=>e.orderIndex===t.orderIndex?e.declarationIndex-t.declarationIndex:(e.orderIndex||0)-(t.orderIndex||0))),0===s){let e=[];const t=(r,s)=>r.forEach((r=>{r.parentIndex=s,t(r.children,e.push(r)-1)}));return t(o,-1),e}return o}f.displayName="KendoReactGridColumn",f.defaultProps={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},f.propTypes={field:r.string,title:r.string,editable:r.bool,sortable:r.oneOfType([r.bool,r.shape({allowUnsort:r.bool.isRequired})]),cell:r.any,filterCell:r.any,filterTitle:r.string,filterable:r.bool,filter:r.oneOf(["text","numeric","boolean","date"]),editor:r.oneOf(["text","numeric","boolean","date"]),width:r.oneOfType([r.string,r.number]),minResizableWidth:r.number,headerCell:r.any,footerCell:r.any,headerSelectionValue:r.bool,format:r.string,headerClassName:r.string,className:r.string,reorderable:r.bool,resizable:r.bool,orderIndex:r.number,groupable:r.bool,columnMenu:r.any,locked:r.bool};const x=e=>void 0!==e.width?Math.floor(parseFloat(e.width.toString()))+"px":void 0,k=e=>(e.sort(((e,t)=>e.declarationIndex-t.declarationIndex)),e.map((e=>{const{declarationIndex:t,parentIndex:r,depth:s,colSpan:i,rowSpan:o,index:l,kFirst:a,children:n,...h}=e;return n.length?{children:k(n),...h}:h}))),E="undefined"!=typeof window&&/Firefox/.test(window.navigator.userAgent),I=17895697,y=(e,t)=>{if(e||t)return t?e?{...e,...t,select:{...e.select||{},...t.select||{}},hierarchy:{...e.hierarchy||{},...t.hierarchy||{}},group:{...e.group||{},...t.group||{}},edit:{...e.edit||{},...t.edit||{}}}:t:e},S="grid.noRecords",w="grid.pagerInfo",R="grid.pagerFirstPage",N="grid.pagerPreviousPage",D="grid.pagerNextPage",T="grid.pagerLastPage",F="grid.pagerItemsPerPage",z="grid.groupPanelEmpty",M="grid.groupColumn",L="grid.ungroupColumn",G="grid.columnMenu",O="grid.filterClearButton",H="grid.filterSubmitButton",P="grid.filterTitle",_="grid.sortAscending",A="grid.sortDescending",K="grid.searchPlaceholder",W="grid.filterCheckAll",B="grid.filterChooseOperator",q="grid.filterSelectedItems",V="grid.sortAriaLabel",U="grid.filterAriaLabel",j="grid.groupPanelAriaLabel",$="grid.groupExpand",X="grid.groupCollapse",Y="grid.detailExpand",Q="grid.detailCollapse",J="grid.selectRow",Z="grid.gridAriaLabel",ee={[Y]:"Expand detail row",[Q]:"Collapse detail row",[$]:"Expand group",[X]:"Collapse Group",[S]:"No records available",[z]:"Drag a column header and drop it here to group by that column",[O]:"Clear",[H]:"Filter",[P]:"Filter",[_]:"Sort Ascending",[A]:"Sort Descending",[V]:"Sortable",[M]:"Group Column",[L]:"Ungroup Column",[G]:"Column menu",[F]:"items per page",[w]:"{0} - {1} of {2} items",[R]:"Go to the first page",[N]:"Go to the previous page",[D]:"Go to the next page",[T]:"Go to the last page","grid.pagerPage":"Page","grid.pagerPageSizeAriaLabel":"Page size","grid.pagerOf":"of","grid.pagerTotalPages":"{0}",[K]:"Search",[W]:"Check All",[B]:"Choose Operator",[q]:"selected items",[U]:"Filter",[j]:"Group panel",[Z]:"Table",[J]:"Select Row","grid.filterEqOperator":"Is equal to","grid.filterNotEqOperator":"Is not equal to","grid.filterIsNullOperator":"Is null","grid.filterIsNotNullOperator":"Is not null","grid.filterIsEmptyOperator":"Is empty","grid.filterIsNotEmptyOperator":"Is not empty","grid.filterStartsWithOperator":"Starts with","grid.filterContainsOperator":"Contains","grid.filterNotContainsOperator":"Does not contain","grid.filterEndsWithOperator":"Ends with","grid.filterGteOperator":"Is greater than or equal to","grid.filterGtOperator":"Is greater than","grid.filterLteOperator":"Is less than or equal to","grid.filterLtOperator":"Is less than","grid.filterIsTrue":"Is true","grid.filterIsFalse":"Is false","grid.filterBooleanAll":"(All)","grid.filterAfterOrEqualOperator":"Is after or equal to","grid.filterAfterOperator":"Is after","grid.filterBeforeOperator":"Is before","grid.filterBeforeOrEqualOperator":"Is before or equal to","grid.filterAndLogic":"And","grid.filterOrLogic":"Or"};function te(e){const t=e.replace(/^pager\.([a-z])/,((e,t)=>"grid.pager"+t.toUpperCase()));return{messageKey:t,defaultMessage:ee[t]}}const re=e=>{const t=o.useLocalization(),r=m.useCallback((t=>{e.selectionChange&&e.selectionChange({syntheticEvent:t})}),[e.selectionChange]),l=s.useId(),a=C(e.field,e.dataItem),n=i.useTableKeyboardNavigation(e.id),h={colSpan:e.colSpan,style:e.style,className:e.className,"aria-colindex":e.ariaColumnIndex,role:"gridcell",...n},p="boolean"==typeof a&&a,c=m.createElement("span",{key:1,className:"k-checkbox-wrap"},m.createElement("input",{id:l,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":t.toLanguageString(J,ee[J]),"aria-checked":p,checked:p,onChange:r})),d="groupHeader"!==e.rowType?m.createElement("td",{...h},c):null,u=e.rowType||"data",g=e.cells;if(g&&g.select&&g.select[u]){const t=g.select[u];return m.createElement(t,{...e,tdProps:h},c)}return e.render?e.render.call(void 0,d,e):d},se=e=>{let t=null,r=null,a=null;const n=C(e.field,e.dataItem),h=i.useTableKeyboardNavigation(e.id),p=o.useLocalization(),c=m.useCallback((t=>{t.isDefaultPrevented()||t.keyCode===s.Keys.enter&&e.onChange&&(t.preventDefault(),e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:t,field:e.field,value:!n}))}),[e.dataItem,e.dataIndex,e.field,e.onChange,n]);if("groupFooter"===e.rowType)r={className:"k-table-td k-hierarchy-cell",role:"gridcell",...h},t=m.createElement("td",{...r});else if("groupHeader"!==e.rowType){const i=n?Q:Y,o=p.toLanguageString(i,ee[i]);r={className:"k-table-td k-hierarchy-cell",onKeyDown:c,"aria-expanded":!!n,role:"gridcell","aria-colindex":e.ariaColumnIndex,...h},a=m.createElement("a",{onClick:t=>{t.preventDefault(),e.onChange&&e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:t,field:e.field,value:!n})},"aria-label":o,href:"#",tabIndex:-1},m.createElement(s.IconWrap,{name:n?"minus":"plus",icon:n?l.minusIcon:l.plusIcon})),t=m.createElement("td",{...r},a)}const d=e.rowType||"data",u=e.cells;if(u&&u.hierarchy&&u.hierarchy[d]){const t=u.hierarchy[d];return m.createElement(t,{...e,tdProps:r},a)}return e.render?e.render.call(void 0,t,e):t},ie=i.TABLE_ROW_INDEX_ATTRIBUTE,oe=i.TABLE_COL_INDEX_ATTRIBUTE,le=i.TABLE_PREVENT_SELECTION_ELEMENT,ae=e=>{const t=C(e.field,e.dataItem);let r=null;const o=s.classNames("k-table-td","k-grid-edit-cell",{"k-selected":e.isSelected},e.className),l=s.useId(),h=i.useTableKeyboardNavigation(e.id);let p=null,c=null;const d=m.useCallback((t=>{if(e.onChange){const r="checkbox"===t.target.type?t.target.checked:t.target.value;e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,syntheticEvent:t,value:r})}}),[e.onChange,e.dataItem,e.dataIndex,e.field]),u=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]),g=m.useCallback((t=>{e.onChange&&e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,syntheticEvent:t.syntheticEvent,value:t.value})}),[e.onChange,e.dataItem,e.dataIndex,e.field]);switch(e.editor){case"numeric":p={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[oe]:e.columnIndex,role:"gridcell",...h},c=m.createElement(a.NumericTextBox,{width:"100%",value:void 0===t?null:t,onChange:g}),r=m.createElement("td",{...p},c);break;case"date":p={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[oe]:e.columnIndex,role:"gridcell",...h},c=m.createElement(n.DatePicker,{width:"100%",value:t,onChange:g}),r=m.createElement("td",{...p},c);break;case"boolean":p={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[oe]:e.columnIndex,role:"gridcell",...h},c=[m.createElement("span",{key:1,className:"k-checkbox-wrap"},m.createElement("input",{checked:t||!1,id:l,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:d})),m.createElement("label",{className:"k-checkbox-label",htmlFor:l,key:2})],r=m.createElement("td",{...p},c);break;default:p={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[oe]:e.columnIndex,role:"gridcell",...h},c=m.createElement("input",{style:{width:"100%"},className:"k-input",value:t||"",onChange:d}),r=m.createElement("td",{...p},c)}const f=e.editor||"text",v=e.cells;if(v&&v.edit&&v.edit[f]){const t=v.edit[f];return m.createElement(t,{...e,tdProps:p},c)}return e.render?e.render.call(void 0,r,e):r};let ne=class extends m.Component{constructor(){super(...arguments),this.headerWrap=null,this.table=null,this.syncScroll=!1,this.scrollbarWidth=s.getScrollbarWidth(),this.onScroll=e=>{if(this.syncScroll)return void(this.syncScroll=!1);if(!this.headerWrap)return;const t=this.headerWrap.scrollLeft,r=this.props.scrollableDataElement();r&&r.scrollLeft!==t&&(r.scrollLeft=t)}}get element(){return this.props.elemRef.current}componentDidMount(){const e=i.isRtl(this.element);this.props.columnResize&&this.props.columnResize.setIsRtl(e),this.forceUpdate()}setScrollLeft(e){this.headerWrap&&this.headerWrap.scrollLeft!==e&&(this.syncScroll=!0,this.headerWrap.scrollLeft=e)}setWidth(e){this.table&&(this.table.style.width=e+"px")}render(){return this.props.staticHeaders?m.createElement("div",{ref:this.props.elemRef,className:s.classNames("k-grid-header",{"k-grid-draggable-header":this.props.draggable}),role:"presentation"},m.createElement("div",{ref:e=>{this.headerWrap=e},className:"k-grid-header-wrap",style:this.scrollbarWidth?{}:{borderWidth:0},onScroll:this.onScroll,role:"presentation"},m.createElement("table",{ref:e=>{this.table=e},className:s.classNames("k-table k-grid-header-table",{"k-table-md":!this.props.size,[`k-table-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),role:"presentation"},m.createElement("colgroup",{ref:e=>{this.props.columnResize.colGroupHeader=e}},this.props.cols),m.createElement("thead",{className:"k-table-thead",role:"rowgroup",...i.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)))):m.createElement("thead",{role:"presentation",className:s.classNames("k-table-thead",{"k-grid-draggable-header":this.props.draggable}),...i.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)}};const he=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);let pe=class extends m.PureComponent{constructor(){super(...arguments),this.draggable=null,this.onPress=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.pressHandler&&this.props.pressHandler(e.event,t)},this.onDrag=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.dragHandler&&this.props.dragHandler(e.event,t)},this.onRelease=e=>{this.draggable&&this.draggable.element&&this.props.releaseHandler&&this.props.releaseHandler(e.event)}}render(){return m.createElement(s.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,hint:this.props.dragClue,autoScroll:{boundaryElementRef:this.props.headerRef,direction:{horizontal:!0,vertical:!1}},scrollContainer:this.props.containerRef||void 0,ref:e=>{this.draggable=e}},m.createElement("tr",{className:"k-table-row",style:{touchAction:"none"},role:"row","aria-rowindex":this.props.ariaRowIndex},this.props.children))}};class ce extends m.Component{constructor(){super(...arguments),this.state={show:!1},this._anchor=null,this._content=null,this.blurTimeout=void 0,this.willBlur=!1,this.blur=()=>{this.willBlur?this.willBlur=!1:(clearTimeout(this.blurTimeout),this.blurTimeout=window.setTimeout((()=>{this.closeMenu()})))},this.focus=()=>{clearTimeout(this.blurTimeout)},this.anchorClick=e=>{e.preventDefault(),this.state.show&&this.props.onCloseMenu&&this.props.onCloseMenu(),this.setState({show:!this.state.show},(()=>this.state.show&&this._content&&this._content.focus()))},this.closeMenu=()=>{this.props.onCloseMenu&&this.props.onCloseMenu(),this.setState({show:!1})},this.onAnchorMouseDown=e=>{this.willBlur=this.state.show&&e.currentTarget===this._anchor},this.onAnchorKeyDown=e=>{var t;if(e.keyCode===s.Keys.tab){const r=e.target,s=r&&(null==(t=r.closest(".k-grid"))?void 0:t.getElementsByClassName("k-grid-content")[0]);s&&s.scrollWidth>s.clientWidth&&r.scrollIntoView({inline:"center"})}}}render(){const{columnMenu:e,...t}=this.props,{column:r}=this.props,i=o.provideLocalizationService(this),a=r.title||r.field,n=a?`${a} `:"";return m.createElement(m.Fragment,null,m.createElement("a",{className:"k-grid-header-menu k-grid-column-menu",ref:e=>this._anchor=e,onClick:this.anchorClick,onMouseDown:this.onAnchorMouseDown,onKeyDown:this.onAnchorKeyDown,href:"#","aria-label":`${n}${i.toLanguageString(G,ee[G])}`},m.createElement(s.IconWrap,{name:"filter",icon:l.filterIcon})),m.createElement(h.Popup,{anchor:this._anchor,show:this.state.show,popupClass:"k-column-menu k-column-menu-popup k-grid-columnmenu-popup"},m.createElement("div",{ref:e=>this._content=e,tabIndex:0,onBlur:this.blur,onFocus:this.focus,style:{outline:"none"}},e&&m.createElement(e,{...t,onCloseMenu:this.closeMenu}))))}}let de=class extends m.Component{render(){const{columnMenuWrapperProps:e}=this.props,t=this.props.onClick?{onClick:this.props.onClick}:{},r=m.createElement("span",{className:"k-cell-inner"},m.createElement("span",{className:s.classNames("k-link",{"!k-cursor-default":!this.props.columnMenuWrapperProps.sortable}),...t},m.createElement("span",{className:"k-column-title"},this.props.title||this.props.field||" "),this.props.children),e.columnMenu&&m.createElement(ce,{...e}));return this.props.render?this.props.render.call(void 0,r,this.props):r}};const ue={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},ge={none:"none",asc:"ascending",desc:"descending"};let me=class extends m.Component{constructor(e){super(e),this.serviceIndex=0,this.index=-1,this.cellKeyDown=(e,t)=>{e.isDefaultPrevented()||e.keyCode===s.Keys.enter&&this.cellClick(e,t)},this.cells=e=>e.map((e=>{const t=this.props.columns[e],r=this.props.sortable&&t.sortable,l=this.props.sort?this.props.sort.findIndex((e=>e.field===t.field)):-1,a=l>=0&&this.props.sort[l].dir||"none",n=null===t.columnMenu?null:t.columnMenu||this.props.columnMenu,h=s.classNames({"k-first":t.kFirst,"k-filterable":!!n,"k-table-th":!0,"k-header":!0,"k-grid-header-sticky":t.locked,"k-sorted":this.props.sort&&this.props.sort.some((e=>e.field===t.field))},t.headerClassName);!1===t.locked&&(t.left=0);const p=void 0!==t.left?this.props.isRtl?{left:t.right,right:t.left}:{left:t.left,right:t.right}:{},c=o.provideLocalizationService(this).toLanguageString(V,ee[V]),d=t.isAccessible?{ariaSort:ge[a],role:"columnheader",ariaColumnIndex:t.ariaColumnIndex,ariaSelected:!1,ariaDescription:r?c:""}:{role:"presentation"},u=t.declarationIndex>=0?++this.index:--this.serviceIndex,g=t.headerCell?t.headerCell:de,f=m.createElement(g,{key:1,field:t.field,onClick:r&&(e=>this.cellClick(e,t))||void 0,selectionChange:this.props.selectionChange,title:t.title,selectionValue:t.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(l),columnMenuWrapperProps:{column:{field:t.field,title:t.title,locked:t.locked,filter:t.filter,id:t.id},sortable:r&&this.props.sortable,sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.filter,filterable:this.props.filterable&&t.filterable,filterOperators:this.props.filterOperators,onFilterChange:this.props.filterChange,group:this.props.group,groupable:this.props.groupable,onGroupChange:this.props.groupChange,columnMenu:n}}),C={...d,key:u,colSpan:t.colSpan,rowSpan:t.rowSpan,className:h,style:p,columnId:t.id,navigatable:t.navigatable,onKeyDown:r&&(e=>this.cellKeyDown(e,t))||void 0,role:"columnheader"},v=[f,this.props.columnResize&&this.props.columnResize.resizable&&t.resizable&&m.createElement(i.ColumnResizer,{key:2,resize:(e,r,s)=>this.props.columnResize&&this.props.columnResize.dragHandler(e,t,r,s),autofit:e=>this.props.columnResize&&this.props.columnResize.dblClickHandler(e,[t.id])})],b=y(this.props.cells,t.cells);if(b&&b.headerCell){const t=b.headerCell;return m.createElement(t,{key:u,thProps:C,index:e},v)}return m.createElement(i.HeaderThElement,{...C,key:u},v)})),this.cellClick=this.cellClick.bind(this)}cellClick(e,t){if(e.preventDefault(),!this.props.sortChange)return;const{allowUnsort:r,mode:s}=he(this.props.sortable||!1,t.sortable||!1),i=(this.props.sort||[]).filter((e=>e.field===t.field))[0],o=ue[r][i&&i.dir||""],l="single"===s?[]:(this.props.sort||[]).filter((e=>e.field!==t.field));""!==o&&t.field&&l.push({field:t.field,dir:o}),this.props.sortChange(l,e)}sortIcon(e){return this.props.sort?e>=0&&[m.createElement("span",{key:1,className:"k-sort-icon"},m.createElement(s.IconWrap,{name:"sort-"+this.props.sort[e].dir+"-small",icon:"asc"===this.props.sort[e].dir?l.sortAscSmallIcon:l.sortDescSmallIcon})),this.props.sort.length>1&&m.createElement("span",{key:2,className:"k-sort-icon"},m.createElement("span",{className:"k-sort-order"},e+1))]:null}render(){return this.serviceIndex=0,this.index=-1,this.props.columnsMap.map(((e,t)=>this.props.pressHandler&&m.createElement(pe,{key:t,pressHandler:this.props.pressHandler,dragHandler:this.props.dragHandler,releaseHandler:this.props.releaseHandler,ariaRowIndex:t+1,dragClue:this.props.dragClue,headerRef:this.props.headerRef,containerRef:this.props.containerRef},this.cells(e))||m.createElement("tr",{key:t,className:"k-table-row",role:"row","aria-rowindex":t+1},this.cells(e))))}};o.registerForLocalization(me);const fe=[{text:"grid.filterAndLogic",operator:"and"},{text:"grid.filterOrLogic",operator:"or"}],Ce={text:[{text:"grid.filterContainsOperator",operator:"contains"},{text:"grid.filterNotContainsOperator",operator:"doesnotcontain"},{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterStartsWithOperator",operator:"startswith"},{text:"grid.filterEndsWithOperator",operator:"endswith"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"},{text:"grid.filterIsEmptyOperator",operator:"isempty"},{text:"grid.filterIsNotEmptyOperator",operator:"isnotempty"}],numeric:[{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterGteOperator",operator:"gte"},{text:"grid.filterGtOperator",operator:"gt"},{text:"grid.filterLteOperator",operator:"lte"},{text:"grid.filterLtOperator",operator:"lt"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"}],date:[{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterAfterOrEqualOperator",operator:"gte"},{text:"grid.filterAfterOperator",operator:"gt"},{text:"grid.filterBeforeOperator",operator:"lt"},{text:"grid.filterBeforeOrEqualOperator",operator:"lte"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"}],boolean:[{text:"grid.filterEqOperator",operator:"eq"}]},ve=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,be=(e,t)=>e.map((e=>({text:t.toLanguageString(e.text,ee[e.text]),operator:e.operator}))),xe=[{text:"grid.filterBooleanAll",operator:""},{text:"grid.filterIsTrue",operator:!0},{text:"grid.filterIsFalse",operator:!1}],ke={text:!1,numeric:!1,date:!1,boolean:!0},Ee=(e,t,r)=>{const s=Ie(r.operators);let i=r.operator;switch(r.filterType){case"numeric":case"date":(!i||ve(i))&&(i=s),null===e&&i===s&&(i="");break;case"text":(!i||ve(i))&&(i=s),!e&&i===s&&(i="");break;default:return}r.onChange({value:e,operator:i,syntheticEvent:t})},Ie=(e,t)=>t?e[t][0].operator:e[0].operator,ye=e=>e||"text",Se=(e,t)=>{const r=e.target.value;t({value:r.operator,operator:""===r.operator?"":"eq",syntheticEvent:e.syntheticEvent})},we=(e,t,r)=>{let s=t;const i=e.target.value;e.target.state.opened&&(ve(i.operator)&&(s=null),null===t&&!ve(i.operator)&&(s=void 0),r({value:s,operator:i.operator,syntheticEvent:e.syntheticEvent}))};class Re extends m.Component{constructor(e){super(e),this._inputRef=m.createRef(),this.renderOperatorEditor=e=>{if("boolean"===this.props.filterType)return;const t=this.props.operators.find((e=>e.operator===this.props.operator))||null;return m.createElement(c.DropDownList,{size:this.props.size,value:t,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter k-icon",svgIcon:l.filterIcon,data:this.props.operators,textField:"text",title:e.toLanguageString(B,ee[B]),popupSettings:{width:""}})},this.inputChange=this.inputChange.bind(this),this.clear=this.clear.bind(this),this.operatorChange=this.operatorChange.bind(this),this.boolDropdownChange=this.boolDropdownChange.bind(this)}render(){const e=o.provideLocalizationService(this),t=m.createElement("div",{className:"k-filtercell"},m.createElement("div",{className:"k-filtercell-wrapper"},this.filterComponent(this.props.filterType,this.props.value,this.props.booleanValues),m.createElement("div",{className:"k-filtercell-operator"},this.renderOperatorEditor(e)," ",m.createElement(p.Button,{size:this.props.size,icon:"filter-clear",svgIcon:l.filterClearIcon,className:s.classNames({"k-clear-button-visible":!!(null!==this.props.value&&""!==this.props.value||this.props.operator)}),title:e.toLanguageString(O,ee[O]),type:"button",onClick:this.clear,disabled:!(null!==this.props.value&&""!==this.props.value||this.props.operator)}))));return this.props.render?this.props.render.call(void 0,t,this.props):t}inputChange(e,t){Ee(e,t,this.props)}operatorChange(e){we(e,this.props.value,this.props.onChange)}boolDropdownChange(e){Se(e,this.props.onChange)}clear(e){e.preventDefault(),this.props.onChange({value:"",operator:"",syntheticEvent:e}),this._inputRef.current&&(this._inputRef.current.element.value="",setTimeout((()=>{this._inputRef.current.element.focus()}),0))}filterComponent(e,t,r){switch(e){case"numeric":return m.createElement(a.NumericTextBox,{ref:this._inputRef,size:this.props.size,value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)},title:this.props.title,ariaLabel:this.props.ariaLabel});case"date":return m.createElement(n.DatePicker,{ref:this._inputRef,size:this.props.size,value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)},title:this.props.title,ariaLabel:this.props.ariaLabel});case"boolean":{const e=e=>null==e;return m.createElement(c.DropDownList,{ref:this._inputRef,size:this.props.size,onChange:this.boolDropdownChange,value:r.find((r=>r.operator===(e(t)?"":t))),data:r,textField:"text",title:this.props.title,ariaLabel:this.props.ariaLabel})}default:return m.createElement(a.TextBox,{ref:this._inputRef,size:this.props.size,value:t||"",onChange:e=>{this.inputChange(e.target.value,e.syntheticEvent)},title:this.props.title,"aria-label":this.props.ariaLabel})}}}o.registerForLocalization(Re);let Ne=class extends m.Component{headerCellClassName(e,t){let r=""+(t?"k-grid-header-sticky":"");return this.props.sort&&this.props.sort.filter((t=>t.field===e)).length>0&&(r+=" k-sorted"),r}setFilter(e,t,r,s){if(!this.props.filterChange)return;const i=[];(""!==e&&null!==e||""!==t)&&i.push({field:r,operator:t,value:e}),this.props.filter&&this.props.filter.filters&&(this.props.filter.filters||[]).forEach((e=>{const t=e;t&&t.field!==r&&i.push(t)}));const o=this.props.filter&&this.props.filter.logic?this.props.filter.logic:"and";this.props.filterChange(i.length>0?{logic:o,filters:i}:null,s)}render(){const e=o.provideLocalizationService(this),t=this.props.filter&&this.props.filter.filters||[];let r=0,l=-1;const a=this.props.columns.filter((e=>0===e.children.length)).map((o=>{const a=ye(o.filter),n=(e=>{if(void 0===e)return;const r=t.filter((t=>t.field===e));return r.length?r[0]:void 0})(o.field),h=o.filterable?e.toLanguageString(U,ee[U]):void 0;let p=n&&n.value;void 0===p&&(p="text"===a?"":null);const c=o.filterable&&{render:this.props.cellRender,field:o.field,title:o.filterTitle,value:p,operator:n&&n.operator,operators:be(this.props.filterOperators[a]||[],e),booleanValues:be(xe,e),filterType:a,ariaLabel:h,onChange:e=>{this.setFilter(e.value,e.operator,o.field,e.syntheticEvent)}},d=o.declarationIndex>=0?++l:--r,u={ariaLabel:h,ariaColumnIndex:o.ariaColumnIndex},g=void 0!==o.left?this.props.isRtl?{left:o.right,right:o.left}:{left:o.left,right:o.right}:{},f={columnId:i.tableKeyboardNavigationTools.getFilterColumnId(o.id),navigatable:o.navigatable,style:g,className:s.classNames("k-table-th",this.headerCellClassName(o.field,o.locked)||void 0),role:"columnheader",...u},C=c&&(o.filterCell?m.createElement(o.filterCell,{...c}):m.createElement(Re,{size:this.props.size,...c})),v=y(this.props.cells,o.cells);if(v&&v.filterCell){const e=v.filterCell;return m.createElement(e,{key:d,...c,thProps:f,index:l},C)}return m.createElement(i.HeaderThElement,{key:d,...f},C)}));return m.createElement("tr",{className:"k-table-row k-filter-row","aria-rowindex":this.props.ariaRowIndex,role:"row"},a)}};o.registerForLocalization(Ne);let De=class extends m.Component{constructor(){super(...arguments),this.draggable=null,this.onPress=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.onPress&&this.props.onPress(e.event,t)},this.onDrag=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.onDrag&&this.props.onDrag(e.event,t)},this.onRelease=e=>{this.draggable&&this.draggable.element&&this.props.onRelease&&this.props.onRelease(e.event)},this.sortChange=e=>{if(e.preventDefault(),this.props.onSortChange){const t="asc"===this.props.dir?"desc":"asc";this.props.onSortChange(e,t)}},this.groupRemove=e=>{e.preventDefault(),e.stopPropagation(),this.props.onRemove&&this.props.onRemove(e)},this.onContextMenu=e=>{const t={title:this.props.title,dir:this.props.dir,index:this.props.index};this.props.onContextMenu&&this.props.onContextMenu.call(void 0,e,{dataItem:{...t}})}}render(){const{dir:e}=this.props;return m.createElement(s.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:e=>{this.draggable=e}},m.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"}},m.createElement("span",null,m.createElement(s.IconWrap,{name:"sort-"+e+"-small",icon:"asc"===e?l.sortAscSmallIcon:l.sortDescSmallIcon,size:"small"})),m.createElement("span",{className:"k-chip-content"},this.props.title),m.createElement("span",{className:"k-chip-actions"},m.createElement("span",{className:"k-chip-action k-chip-remove-action",onClick:this.groupRemove},m.createElement(s.IconWrap,{name:"x-circle",icon:l.xCircleIcon,size:"small"})))))}};o.registerForLocalization(De);class Te extends m.Component{constructor(){super(...arguments),this.onGroupRemove=(e,t)=>{const r=this.props.group.slice();r.splice(t,1),this.props.groupChange(r,e)},this.onGroupSortChange=(e,t,r,s)=>{const i=Object.assign({},r,{dir:s}),o=this.props.group.slice();o.splice(t,1,i),this.props.groupChange(o,e)}}render(){const e=(this.props.group||[]).map(((e,t)=>m.createElement(De,{key:t,index:t,dir:e.dir||"asc",title:this.props.resolveTitle(e.field),onRemove:e=>{this.onGroupRemove(e,t)},onSortChange:(r,s)=>{this.onGroupSortChange(r,t,e,s)},onPress:this.props.pressHandler,onDrag:this.props.dragHandler,onRelease:this.props.releaseHandler,onContextMenu:this.props.onContextMenu})));return m.createElement("div",{ref:this.props.refCallback,className:"k-grouping-header",role:"toolbar","aria-label":o.provideLocalizationService(this).toLanguageString(j,ee[j]),"aria-controls":this.props.ariaControls||""},m.createElement("div",{className:"k-chip-list k-chip-list-md",role:"none"},e),m.createElement("div",{className:"k-grouping-drop-container"},!e.length&&o.provideLocalizationService(this).toLanguageString(z,ee[z])," "))}}o.registerForLocalization(Te);let Fe=class extends m.Component{constructor(){super(...arguments),this.footerWrap=null,this.table=null,this.scrollbarWidth=s.getScrollbarWidth()}componentDidMount(){this.setState({})}setScrollLeft(e){this.footerWrap&&(this.footerWrap.scrollLeft=e)}setWidth(e){this.table&&(this.table.style.width=e+"px")}render(){return this.props.staticHeaders?m.createElement("div",{className:"k-grid-footer",role:"presentation"},m.createElement("div",{ref:e=>{this.footerWrap=e},className:"k-grid-footer-wrap",style:this.scrollbarWidth?{}:{borderWidth:0},role:"presentation"},m.createElement("table",{ref:e=>{this.table=e},className:s.classNames("k-table k-grid-footer-table",{"k-table-md":!this.props.size,[`k-table-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),role:"presentation"},m.createElement("colgroup",{ref:e=>{this.props.columnResize.colGroupFooter=e},role:"presentation"},this.props.cols),m.createElement("tfoot",{className:"k-table-tfoot",role:"presentation"},this.props.row)))):m.createElement("tfoot",{className:"k-table-tfoot"},this.props.row)}},ze=class{constructor(e){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.tableBodyRef=m.createRef(),this.fixedScroll=!1,this.askedSkip=void 0,this.containerRef=m.createRef(),this.tableTransform="",this.prevScrollPos=0,this.tableTranslate=0,this.scrollSyncing=!1,this.reactVersion=Number.parseFloat(m.version),this.topItems=(e,t)=>{if(!this.container||t)return{topItemsCount:0,topItemsHeight:0};const r=this.container.clientHeight,s=Math.ceil(r/e[0].line),i=Math.ceil((e.length-s)/2);let o=0;for(let t=0;t<i;t++)o+=e[t].line+e[t].acc;return{topItemsCount:i,topItemsHeight:o,itemsNeededOnScreen:s+s/2}},this.horizontalScrollbarHeight=()=>this.container?this.container.offsetHeight-this.container.clientHeight:0,e&&(this.topCacheCount=4,this.attendedSkip=-this.topCacheCount),this.scrollHandler=this.scrollHandler.bind(this)}get container(){return this.containerRef.current}get rowHeights(){const e=[],t=this.tableBodyRef.current&&this.tableBodyRef.current.children||[];let r=0;for(let s=0;s<t.length;s++)t[s].className.indexOf("k-grouping-row")>-1?r+=t[s].scrollHeight:t[s].className.indexOf("k-detail-row")>-1?e[e.length-1].line+=t[s].scrollHeight:(e.push({line:t[s].scrollHeight,acc:r}),r=0);return e}changePage(e,t){this.attendedSkip=e-this.topCacheCount,this.PageChange&&this.PageChange({skip:Math.max(0,e-this.topCacheCount),take:this.pageSize},t)}translate(e,t){this.tableTranslate=e,this.scrollableVirtual&&this.table&&(this.reactVersion<=17||t?this.table.style.transform="translateY("+e+"px)":this.tableTransform="translateY("+e+"px)")}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0,!0))}localScrollUp(e){if(!this.container)return;const t=this.rowHeights,r=this.container.scrollTop;let s=this.tableTranslate,i=0;const{topItemsCount:o,topItemsHeight:l,itemsNeededOnScreen:a}=this.topItems(t,!!this.topCacheCount),n=r-s;if(!(n>l||t.length<=a)){for(;i<this.topCacheCount+this.attendedSkip-this.realSkip+o&&this.propsSkip-i>0&&!(s+(t[t.length-1-i].line+t[t.length-1-i].acc)+n<=r);)s-=t[t.length-1-i].line+t[t.length-1-i].acc,i++;if(0===i&&0===this.topCacheCount&&this.attendedSkip>0&&(s=Math.max(s-t[0].line,0),i=1),this.propsSkip-i<=0&&s>r)return this.translate(0),this.changePage(0,e),void(this.container.scrollTop=0);if(s>r&&(s=r),s!==this.tableTranslate){this.translate(Math.max(0,s-l));const t=Math.max(0,this.propsSkip-i-o);this.changePage(t,e)}}}localScrollDown(e){if(!this.container)return;const t=this.rowHeights,r=this.container.scrollTop;let s=this.tableTranslate,i=0;const{topItemsCount:o,topItemsHeight:l,itemsNeededOnScreen:a}=this.topItems(t,!!this.topCacheCount);for(;i<t.length-this.topCacheCount&&!(s+t[i].line+t[i].acc>r);)s+=t[i].line+t[i].acc,i++;o>this.propsSkip+i||t.length<=a||(i>=t.length-this.topCacheCount&&this.propsSkip+i>=this.total?(this.translate(s-l),this.changePage(this.total-1-o,e)):s!==this.tableTranslate&&this.propsSkip+i-o!==this.propsSkip&&(this.translate(s-l),this.changePage(this.propsSkip+i-o,e)))}scrollNonStrict(e){const t=this.total*this.prevScrollPos/this.containerHeight;let r=Math.floor(t);r>=this.total&&(r=this.total-1);const s=Math.min(t-r,1);let i=0;const o=r-this.propsSkip,l=this.rowHeights;o>=0&&o<=1?i=-(l[0].line+l[0].acc)*s:-1===o&&(i=-(l[l.length-1].line+l[l.length-1].acc)*s);const{topItemsCount:a,topItemsHeight:n}=this.topItems(l,!!this.topCacheCount);this.translate(Math.max(0,i-n-this.horizontalScrollbarHeight()+this.containerHeight*t/this.total)),this.changePage(r-a,e)}scrollHandler(e){if(!this.scrollableVirtual)return;if(this.scrollSyncing||!this.container||!this.table)return void(this.scrollSyncing=!1);const t=this.container.scrollTop,r=this.prevScrollPos;if(this.prevScrollPos=t,void 0!==this.askedSkip)return this.translate(this.containerHeight*this.askedSkip/this.total),this.changePage(this.askedSkip,e),this.prevScrollPos=t,void(this.askedSkip=void 0);t-r<0&&t>this.tableTranslate-this.table.scrollHeight/10?this.localScrollUp(e):t-r>0&&t<this.tableTranslate+2*this.table.scrollHeight/3?this.localScrollDown(e):this.scrollNonStrict(e),this.prevScrollPos=t}},Me=class{constructor(e=0,t,r,s){this.total=e,this.offsets=[],this.heights=[];let i=0;for(let o=0;o<e;o++){this.offsets.push(i);const e=s&&s[o].expanded&&"data"===s[o].rowType?r:t;i+=e,this.heights.push(e)}}height(e){return this.heights[e]}index(e){if(e<0)return;const t=this.offsets.reduce(((t,r,s)=>void 0!==t?t:r===e?s:r>e?s-1:void 0),void 0);return void 0===t?this.total-1:t}offset(e){return this.offsets[e]}totalHeight(){return this.offsets[this.offsets.length-1]+this.heights[this.heights.length-1]}},Le=class{constructor(e){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.tableBodyRef=m.createRef(),this.fixedScroll=!1,this.askedSkip=void 0,this.containerRef=m.createRef(),this.tableTransform="",this.scrollSyncing=!1,this.lastLoaded=0,this.firstLoaded=0,this.lastScrollTop=0,this.reactVersion=Number.parseFloat(m.version),this.firstLoaded=this.pageSize,this.lastLoaded=this.realSkip+this.pageSize,this.scrollHandler=this.scrollHandler.bind(this)}get container(){return this.containerRef.current}translate(e,t){this.scrollableVirtual&&this.table&&(E||this.reactVersion<=17||t?this.table.style.transform="translateY("+e+"px)":this.tableTransform="translateY("+e+"px)")}changePage(e,t){this.PageChange&&this.PageChange({skip:Math.max(0,e),take:this.pageSize},t)}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0,!0))}scrollHandler(e){if(!(this.scrollableVirtual&&this.container&&this.table&&this.rowHeightService&&this.containerRef.current))return;if(this.scrollSyncing)return void(this.scrollSyncing=!1);const t=this.container.scrollTop,r=this.lastScrollTop>=t,s=!r;this.lastScrollTop=t;let i=this.rowHeightService.index(t),o=this.rowHeightService.offset(i);const{offsetHeight:l}=this.containerRef.current,a=this.rowHeightService.index(t+l);if(s&&a>=this.lastLoaded&&this.lastLoaded<this.total){const t=i+this.pageSize-this.total;t>0&&(i-=t,o=this.rowHeightService.offset(i)),this.firstLoaded=i,this.translate(o);let r=this.firstLoaded+this.pageSize;this.lastLoaded=Math.min(r,this.total),this.changePage(this.firstLoaded,e)}else if(r&&i<this.firstLoaded){const t=Math.floor(.3*this.pageSize);this.firstLoaded=Math.max(i-t,0),this.translate(this.rowHeightService.offset(this.firstLoaded)),this.lastLoaded=Math.min(this.firstLoaded+this.pageSize,this.total),this.changePage(this.firstLoaded,e)}}},Ge=class{constructor(e){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=e=>{this.isRtl=e},this.dragHandler=(e,t,r,s)=>{const i=e.originalEvent;s||(i.preventDefault(),i.stopPropagation(),i.stopImmediatePropagation());const o=r.closest("th");if(!o||!o)return;const l=o.clientWidth;let a=l;if(this.isRtl?a+=r.getBoundingClientRect().right-r.offsetWidth/2-e.clientX:a+=e.clientX-r.getBoundingClientRect().left-r.offsetWidth/2,!s&&Math.abs(a-l)<1)return;this.fixateInitialWidths(o.parentElement.clientWidth),this.setWidths(t,Math.floor(a)/l);const n=this.columns.filter((e=>!e.children.length)).findIndex((e=>e.id===t.id));this.onResize(n,l,a,i,s,t.id)},this.dblClickHandler=(e,t)=>{const r=this.columns.filter((e=>t.indexOf(e.id)>-1));if(!this.colGroupMain||!r.length)return;const s={},i=r;for(;i.length>0;){const e=i.pop();if(!e)break;e.children.length?i.push(...e.children):s[e.id]=e}const o=this.columns.filter((e=>!e.children.length)),l=[];o.forEach(((e,t)=>{s[e.id]&&l.push(t)}));const a=[this.colGroupMain.parentElement],n=[this.colGroupMain];this.colGroupHeader&&(a.push(this.colGroupHeader.parentElement),n.push(this.colGroupHeader)),this.colGroupFooter&&(a.push(this.colGroupFooter.parentElement),n.push(this.colGroupFooter)),a.forEach((e=>e.classList.add("k-autofitting")));let h=[];n.forEach((e=>{l.forEach((t=>{e.children[t]&&(e.children[t].width="",h[t]=Math.max(h[t]||0,e.children[t].offsetWidth+1))}))})),n.forEach((e=>{l.forEach((t=>{e.children[t]&&(e.children[t].width=h[t]+"px",o[t].width=h[t])}))})),a.forEach((e=>e.classList.remove("k-autofitting"))),this.onResize(l[0],0,0,e,!0,t[0])},this.updateColElements=e=>{const t=this.columns.filter((e=>!e.children.length));let r=1e-10;for(let s=0;s<e.length;s++){const i=e[s],o=t.findIndex((e=>e.id===i.id)),l=parseFloat((i.width||0).toString()),a=Math.floor(l);r+=l-a;const n=a+Math.floor(r);if(r-=Math.floor(r),this.colGroupMain&&this.colGroupMain.children[o]){const e=parseInt(this.colGroupMain.children[o].width,10);this.colGroupMain.children[o].width=n+"px",this.updateNextLockedCol(this.colGroupMain.parentElement,i,e-n)}if(this.colGroupHeader&&this.colGroupHeader.children[o]){const e=parseInt(this.colGroupHeader.children[o].width,10);this.colGroupHeader.children[o].width=n+"px",this.updateNextLockedCol(this.colGroupHeader.parentElement,i,e-n)}if(this.colGroupFooter&&this.colGroupFooter.children[o]){const e=parseInt(this.colGroupFooter.children[o].width,10);this.colGroupFooter.children[o].width=n+"px",this.updateNextLockedCol(this.colGroupFooter.parentElement,i,e-n)}}},this.onResize=e}fixateInitialWidths(e){const t=this.columns.filter((e=>!e.children.length));let r=0,s=this.colGroupMain?this.colGroupMain.children:[];for(let t=0;t<s.length;t++)s[t].width?e-=parseFloat(s[t].width):r++;if(0===r)return;const i=Math.floor(e/r);for(let e=0;e<s.length;e++){const r=s[e];r.width||(r.width=i,t[e].width=i.toString(),this.colGroupHeader&&(this.colGroupHeader.children[e].width=i),this.colGroupFooter&&(this.colGroupFooter.children[e].width=i))}}setWidths(e,t){const r=this.columns.findIndex((t=>t.id===e.id)),s=[];let i=e.children.length;for(let e=r+1;i>0&&e<this.columns.length;e++,i--){const t=this.columns[e];t.children.length?i+=t.children.length:s.push(t)}return 0===s.length&&s.push(e),s.forEach((e=>{let r=e.width?parseFloat(e.width.toString())*t:0;const s=void 0===e.minResizableWidth?10:e.minResizableWidth;r<s&&(r=s),e.width=r})),this.updateColElements(s),s}updateNextLockedCol(e,t,r){const s=t.index,i=this.colGroupMain.parentElement.closest(".k-grid"),o=null==i?void 0:i.clientWidth,l=this.columns.filter((e=>e.locked)).map((e=>parseInt(e.width+"",10))).reduce(((e,t)=>e+t),0);!t.locked||o<=l+20||this.columns.forEach((t=>{if(null!=t&&t.locked&&r){const i=null==e?void 0:e.querySelectorAll('[aria-colindex="'+t.ariaColumnIndex+'"]');null==i||i.forEach((e=>{const i=e.style;this.isRtl?(t.index>s&&i&&i.right&&(i.right=parseInt(i.right,10)-r+"px"),t.index<s&&i&&i.left&&(i.left=parseInt(i.left,10)-r+"px")):(t.index>s&&i&&i.left&&(i.left=parseInt(i.left,10)-r+"px"),t.index<s&&i&&i.right&&(i.right=parseInt(i.right,10)-r+"px"))}))}}))}},Oe=class{constructor(e,t,r){this.refDragElementClue=m.createRef(),this.refDropElementClue=m.createRef(),this.columns=[],this.reorderable=!1,this.groupable=!1,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.groupPanelDivElement=null,this.refGroupPanelDiv=e=>{this.groupPanelDivElement=e&&e.children?e.children[0]:e},this.pressHandler=(e,t)=>{const r=this.getColumnIndex(e,t);if(this.startGroup=this.getGroupIndex(e),r>=0){const e=this.columns[r];(e.reorderable&&this.reorderable||e.groupable&&this.groupable)&&(this.startColumn=r)}},this.dragHandler=(e,t)=>{if(e.isTouch||e.originalEvent.preventDefault(),e.originalEvent.stopPropagation(),-1===this.startColumn&&-1===this.startGroup)return;this.currentColumn=this.getColumnIndex(e,t);const r=this.groupPanelDivElement&&this.groupPanelDivElement.children;this.currentGroup=this.isTargetGroupingContainer(e)?r&&r.length?r.length:0:this.getGroupIndex(e);const s=!this.isValid();s&&(this.currentColumn=-1,this.currentGroup=-1);const i=this.currentColumn>=0?t.children[this.columns[this.currentColumn].index]:this.isTargetGroupingContainer(e)?e.originalEvent.target:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(e,t,i,s),this.updateDropElementClue(e,t,i,s)},this.releaseHandler=e=>{const t=this.startColumn,r=this.currentColumn,s=this.startGroup,i=this.currentGroup;e.originalEvent.preventDefault(),this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const o=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,o&&(t>=0&&r>=0?this.columnReorder(t,r,e.originalEvent):s>=0&&i>=0?this.groupReorder(s,i,e.originalEvent):t>=0&&i>=0&&this.columnToGroup(t,i,e.originalEvent))},this.columnReorder=e,this.groupReorder=t,this.columnToGroup=r}get dragClueRef(){return this.refDragElementClue}get dropClueRef(){return this.refDropElementClue}get dragElementClue(){return this.refDragElementClue.current}get dropElementClue(){return this.refDropElementClue.current}getColumnIndex(e,t){if(!t||t.parentElement===this.groupPanelDivElement)return-1;const r=i.getIndex(e,t);if(-1===r)return-1;for(let e=0;e<t.parentNode.children.length;e++)if(t.parentNode.children[e]===t)return this.columns.findIndex((t=>t.index===r&&t.depth===e));return-1}isTargetGroupingContainer(e){const t=e.originalEvent.target;return!!t.className.indexOf&&-1!==t.className.indexOf("k-grouping-drop-container")}getGroupIndex(e){return i.getIndex(e,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:-1!==this.startColumn&&(this.currentGroup>=0?!0===this.columns[this.startColumn].groupable&&!0===this.groupable:!0===this.reorderable&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&!0===this.columns[this.startColumn].reorderable&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex)}updateDragElementClue(e,t,r,s){if(!this.dragElementClue)return;const i=this.startColumn>=0?t.children[this.columns[this.startColumn].index].innerText:t.innerText;this.dragElementClue.setState({visible:!0,top:e.pageY+10,left:e.pageX,innerText:i,status:s||!r?"k-i-cancel":"k-i-plus"})}updateDropElementClue(e,t,r,s){if(!this.dropElementClue)return;if(s||!r)return void this.dropElementClue.setState({visible:!1});const i=r.getBoundingClientRect(),o=(r.closest(".k-grouping-header")||r).getBoundingClientRect();let l=i.left+e.pageX-e.clientX-6;!this.isTargetGroupingContainer(e)&&(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&-1!==this.startGroup)&&(l+=i.width);const a=o.top+e.pageY-e.clientY;this.dropElementClue.setState({visible:!0,top:a,left:l,height:this.currentColumn>=0?t.clientHeight:o.height})}};const He=e=>{let t=null;const r=o.useInternationalization(),l=i.useTableKeyboardNavigation(e.id),a=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]);let n=null,h=null;if("groupFooter"===e.rowType)n={onContextMenu:a,className:e.className},t=m.createElement("td",{...n});else if("groupHeader"!==e.rowType){if(void 0!==e.field){const t=C(e.field,e.dataItem);null!=t&&(h=e.format?r.format(e.format,t):t.toString())}const i=s.classNames("k-table-td",e.className,{"k-selected":e.isSelected});n={onContextMenu:a,colSpan:e.colSpan,style:e.style,className:i,role:"gridcell","aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[oe]:e.columnIndex,...l},t=m.createElement("td",{...n},h)}const p=e.rowType||"data",c=e.cells;if(c&&c[p]){const t=c[p];return m.createElement(t,{...e,tdProps:n},h)}return e.render?e.render.call(void 0,t,e):t},Pe=e=>{let t=null;const{columnIndex:r,level:a,columnsCount:n,rowType:h,dataItem:p,field:c,onChange:d,expanded:u,render:g,dataIndex:f,ariaColumnIndex:C,isRtl:v}=e,b=c||"",x=i.useTableKeyboardNavigation(e.id),k=o.useLocalization();let E=null,I=null,y=null;const S=m.useCallback((e=>{e.isDefaultPrevented()||e.keyCode===s.Keys.enter&&d&&(e.preventDefault(),d({dataItem:p,dataIndex:f,syntheticEvent:e,field:void 0,value:!u}))}),[u,d,p,f]),w=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]),R=(t,r)=>{const i=u?X:$,o=k.toLanguageString(i,ee[i]);return E={className:"k-table-td",style:{...e.style,...r},colSpan:t,key:"g-colspan",role:"gridcell","aria-selected":!1,"aria-expanded":u,"aria-colindex":C,onKeyDown:S,onContextMenu:w,...x},y=m.createElement("p",{className:"k-reset"},m.createElement("a",{onClick:e=>{e.preventDefault(),d&&d({dataItem:p,dataIndex:f,syntheticEvent:e,field:void 0,value:!u})},href:"#",tabIndex:-1,"aria-label":o},m.createElement(s.IconWrap,{name:u?"caret-alt-down":v?"caret-alt-left":"caret-alt-right",icon:u?l.caretAltDownIcon:v?l.caretAltLeftIcon:l.caretAltRightIcon})),p[b]instanceof Date&&p[b].toString?p[b].toString():p[b]),m.createElement("td",{...E,key:E.key},y)};void 0===r||void 0===a||r<a||void 0===n||"groupHeader"!==h||void 0===p[b]?(E={style:e.style,key:"g"+r,className:s.classNames("k-table-td","k-group-cell",{"k-grid-content-sticky":e.locked}),role:"gridcell",onContextMenu:w},t=m.createElement("td",{...E,key:E.key})):r<=a&&!e.locked?t=R(n-r,{}):r<=a&&e.locked&&(I={className:"k-table-td",role:"gridcell",colSpan:n-r,style:{borderLeftWidth:0,borderRightWidth:0},onContextMenu:w},t=m.createElement(m.Fragment,null,R(0,{position:"sticky",zIndex:2}),m.createElement("td",{...I})));const N=e.rowType||"data",D=e.cells;if(D&&D.group&&D.group[N]){const t=D.group[N];return m.createElement(t,{...e,tdProps:E,td2Props:I},y)}return g?g.call(void 0,t,e):t};let _e=class extends m.Component{render(){const e=s.classNames("k-table-row",{"k-table-group-row k-grouping-row":"groupHeader"===this.props.rowType,"k-group-footer":"groupFooter"===this.props.rowType,"k-master-row":"groupHeader"!==this.props.rowType&&"groupFooter"!==this.props.rowType,"k-table-alt-row k-alt":"groupHeader"!==this.props.rowType&&"groupFooter"!==this.props.rowType&&this.props.isAltRow,"k-selected":this.props.isSelected,"k-grid-edit-row":this.props.isInEdit}),t=m.createElement("tr",{id:this.props.id,onClick:this.props.onClick,onDoubleClick:this.props.onDoubleClick,className:e,style:{height:this.props.rowHeight?this.props.rowHeight+"px":"",visibility:this.props.isHidden?"hidden":""},role:"row","aria-rowindex":this.props.ariaRowIndex,"absolute-row-index":this.props.absoluteRowIndex,key:this.props.absoluteRowIndex,[ie]:"data"===this.props.rowType?this.props.dataIndex:void 0},this.props.children);return this.props.render?this.props.render.call(void 0,t,this.props):t}};class Ae extends m.Component{get _inputId(){return this.props.id}render(){const e=o.provideLocalizationService(this),{columnMenuWrapperProps:t}=this.props,r=[m.createElement("span",{key:0,className:"k-checkbox-wrap"},m.createElement("input",{id:this._inputId,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":e.toLanguageString(J,ee[J]),"aria-checked":this.props.selectionValue,checked:this.props.selectionValue,onChange:e=>this.props.selectionChange({field:this.props.field,syntheticEvent:e})})),t.columnMenu&&m.createElement(ce,{...t})];return this.props.render?this.props.render.call(void 0,r,this.props):r}}o.registerForLocalization(Ae);const Ke=s.withIdHOC(Ae),We=class extends m.Component{render(){return this.props.children||o.provideLocalizationService(this).toLanguageString(S,ee[S])}};We.displayName="KendoReactGridNoRecords";let Be=We;o.registerForLocalization(Be);class qe extends m.Component{constructor(){super(...arguments),this._element=null,this.renderCell=(e,t)=>{const r={colSpan:1!==e.colSpan?e.colSpan:void 0,style:void 0!==e.left?this.props.isRtl?{left:e.right,right:e.left}:{left:e.left,right:e.right}:{},className:s.classNames("k-table-td",e.locked&&void 0!==e.left?"k-grid-footer-sticky":""),key:t,role:"gridcell","aria-colindex":e.ariaColumnIndex},i={field:e.field,ariaColumnIndex:e.ariaColumnIndex,...r},o=y(this.props.cells,e.cells);if(o&&o.footerCell){const e=o.footerCell;return m.createElement(e,{...i,tdProps:r,index:t})}return e.footerCell&&m.createElement(e.footerCell,{...i,key:t})||m.createElement("td",{...r})}}get element(){return this._element}render(){return m.createElement("tr",{className:"k-table-row",role:"row","aria-rowindex":this.props.ariaRowIndex},(e=>e.filter((t=>!(((e,t)=>{let r=e[t.parentIndex];for(;r;){if(r.footerCell)return!0;r=e[r.parentIndex]}return!1})(e,t)||!t.footerCell&&t.children&&t.children.length>0))))(this.props.columns).map(this.renderCell))}}const Ve=e=>(({buttonCount:e=10,info:t=!0,type:r="numeric",pageSizes:s,previousNext:i=!0,responsive:o,pageSizeValue:l})=>({buttonCount:e,info:t,pageSizes:!0===s?[5,10,20]:s||void 0,previousNext:i,responsive:!1!==o,type:r,pageSizeValue:l}))(!0===e?{}:e),Ue={name:"@progress/kendo-react-grid",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},je=e=>{const{colSpan:t,ariaColIndex:r,dataItem:s,dataIndex:o,id:l}=e,a=i.useTableKeyboardNavigation(l),n=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem)}),[e.onContextMenu,e.dataItem]);return m.createElement("td",{onContextMenu:n,className:"k-table-td k-detail-cell",colSpan:t,"aria-colindex":r,role:"gridcell",...a},m.createElement(e.detail,{dataItem:s,dataIndex:o}))},$e=e=>{const t=i.useTableKeyboardNavigation(e.id);return m.createElement("td",{className:"k-table-td k-hierarchy-cell",...t,role:"gridcell"})},Xe=class extends m.Component{constructor(e){super(e),this._columns=[],this._columnsMap=[[]],this._columnsMutations=0,this._resized=!1,this._shouldUpdateLeftRight=!0,this.contextStateRef={current:void 0},this.navigationStateRef={current:void 0},this._data=[],this._slicedData=void 0,this.wrapperScrollTop=0,this.showLicenseWatermark=!1,this.headerRef=m.createRef(),this.headerElementRef=m.createRef(),this._element=null,this.tableElement=null,this.containerRef=m.createRef(),this.tableBodyRef=m.createRef(),this._footer=null,this.forceUpdateTimeout=void 0,this.isRtl=!1,this.observer=null,this.handleIntersection=e=>{const t={rowIndex:this.rowIndex};e.forEach((e=>{e.isIntersecting||this.setCurrentOnTop(t)}))},this.setCurrentOnTop=e=>{if(!this.vs.container||"none"===this.props.scrollable)return;this.observer&&this.observer.disconnect();const{rowIndex:t}=e;if("virtual"===this.props.scrollable)this.vs.askedSkip=t,this.vs.container.scroll(0,Math.round(this.vs.askedSkip/this.vs.total*this.vs.container.scrollHeight));else if(this.element){const e=t<1?this.element.querySelector("tbody > tr:nth-child(1)"):this.element.querySelector(`tbody > tr:nth-child(${t+1})`);e&&this.containerRef.current&&(this.containerRef.current.scrollTop=e.offsetTop)}},this.scrollIntoView=e=>{if(!this.vs.container||"none"===this.props.scrollable)return;this.rowIndex=e.rowIndex;const{rowIndex:t}=e,r=this.element;if(this.observer&&r){this.observer.disconnect();const s=r.querySelector(`[absolute-row-index="${t}"]`);s?this.observer.observe(s):this.setCurrentOnTop(e)}},this.fitColumns=e=>{this.columnResize.dblClickHandler(null,e)},this.onContextMenu=(e,t,r)=>{if(this.props.onContextMenu){const s={target:this,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:t,field:r};this.props.onContextMenu.call(void 0,s)}},this.getVirtualScroll=e=>{const{rowHeight:t,detailRowHeight:r,detail:s,expandField:i,groupable:o}=e,l=this.isAllData(),a=void 0!==t&&t>0,n=void 0!==r&&r>0,h=!0===o||"object"==typeof o&&!1!==o.enabled;return!a||h&&!l||s&&i&&(!n||!l)?ze:Le},this.isAllData=()=>{const{data:e,total:t}=this.props;return Array.isArray(e)?e.length===t:!!e&&t===e.total},this.initializeVirtualization=(e,t)=>{if(this.reInitVirtualization("virtual"===this.props.scrollable,this.props.total,this.props.filter,this.props.group,this.props.sort,t||void 0===this.props.rowHeight||0===this.props.rowHeight),this.vs.fixedScroll=this.props.fixedScroll||!1,this.vs.PageChange=this.pageChange,this.vs.realSkip=this.props.skip||0,this.vs.pageSize=(void 0!==this.props.take?this.props.take:this.props.pageSize)||0,this.vs.scrollableVirtual="virtual"===this.props.scrollable,this.vs.total=e,this.vs.propsSkip=(this.props.skip||0)+("virtual"===this.props.scrollable?this.vs.topCacheCount+(this.vs.attendedSkip-(this.props.skip||0)):0),void 0!==this.props.rowHeight&&this.props.rowHeight>0&&!t){const t=this.props.rowHeight*e;this.vs.containerHeight=E?Math.min(I,t):t}else this.vs.containerHeight=1533915;if(this.vs.containerRef=this.containerRef,this.vs.tableBodyRef=this.tableBodyRef,this.vs.table=this.tableElement,this._slicedData=void 0,this.vs instanceof Le){const{rowHeight:t=0,detail:r,expandField:s}=this.props;let{detailRowHeight:i=0}=this.props;i=r&&s?i:t,this.isAllData()?(this.vs.total=this._data.length,this._slicedData=this._data.slice(this.vs.realSkip,this.vs.realSkip+this.vs.pageSize),this.vs.rowHeightService=this.rowHeightService(this.vs,this._data.length,t,i,this._data)):this.vs.rowHeightService=new Me(e,t,i);const o=this.vs.rowHeightService.totalHeight();this.vs.containerHeight=E?Math.min(I,o):o}},this.scrollHandler=e=>{if(e.target!==e.currentTarget)return;clearTimeout(this.forceUpdateTimeout),this.vs.table=this.tableElement;const t=e.currentTarget.scrollLeft,r=e.currentTarget.scrollTop;this.props.columnVirtualization&&(!this.vs.scrollableVirtual||r===this.wrapperScrollTop)&&(this.forceUpdateTimeout=window.setTimeout((()=>{this.forceUpdate()}),0)),this._header&&this._header.setScrollLeft(t),this._footer&&this._footer.setScrollLeft(t),this.vs&&r!==this.wrapperScrollTop&&this.vs.scrollHandler(e),s.dispatchEvent(this.props.onScroll,e,this,void 0),this.wrapperScrollTop=r},this.onKeyDown=e=>{if(i.tableKeyboardNavigation.onKeyDown(e,{contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,onNavigationAction:this.onNavigationAction}),this.props.onKeyDown){const{mode:t,cell:r}=i.getSelectionOptions(this.props.selectable),s={dataItems:this.getLeafDataItems(),mode:t,cell:r,componentId:this._gridId,selectedField:this.props.selectedField,...this.getArguments(e)};this.props.onKeyDown.call(void 0,s)}},this.onFocus=e=>{i.tableKeyboardNavigation.onFocus(e,{contextStateRef:this.contextStateRef})},this.onNavigationAction=e=>{if(this.props.onNavigationAction){const t={focusElement:e.focusElement,...this.getArguments(e.event)};this.props.onNavigationAction.call(void 0,t)}},this.rowClick=(e,t)=>{this.props.onRowClick&&"TD"===e.target.nodeName&&this.props.onRowClick.call(void 0,{dataItem:t.dataItem,...this.getArguments(e)})},this.rowDblClick=(e,t)=>{this.props.onRowDoubleClick&&"TD"===e.target.nodeName&&this.props.onRowDoubleClick.call(void 0,{dataItem:t.dataItem,...this.getArguments(e)})},this.itemChange=e=>{const t=this.props.onItemChange;if(e.field===this.props.expandField||this.props.group&&void 0===e.field){const t=this.props.onExpandChange;t&&t.call(void 0,{...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,value:e.value})}else t&&t.call(void 0,{...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,field:e.field,value:e.value})},this.onHeaderSelectionChange=e=>{this.props.onHeaderSelectionChange&&this.props.onHeaderSelectionChange.call(void 0,{field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:this,dataItems:this.getLeafDataItems(),selectedField:this.props.selectedField})},this.selectionRelease=e=>{if(this.props.onSelectionChange){const t={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._gridId,dataItems:this.getLeafDataItems(),dataItem:null,...e};this.props.onSelectionChange.call(void 0,t)}},this.pageChange=(e,t,r)=>{this.raiseDataEvent(this.props.onPageChange,{page:e},{skip:e.skip,take:e.take},t,r)},this.pagerPageChange=e=>{this.pageChange({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},this.sortChange=(e,t)=>{this.raiseDataEvent(this.props.onSortChange,{sort:e},{sort:e,..."virtual"===this.props.scrollable?{skip:0}:{}},t)},this.filterChange=(e,t)=>{this.raiseDataEvent(this.props.onFilterChange,{filter:e},{filter:e||void 0,skip:0},t)},this.groupChange=(e,t)=>{const r=t.nativeEvent?t:{nativeEvent:t.nativeEvent||t.originalEvent};this.raiseDataEvent(this.props.onGroupChange,{group:e},{group:e,skip:0},r)},this.onClipboard=(e,t)=>{if(this.props.onClipboard){if(!this.inActiveElement()||!e)return;this.props.onClipboard.call(void 0,{type:e,nativeEvent:t,columns:this._columns,dataItemKey:this.props.dataItemKey||"",..."boolean"!=typeof this.props.clipboard?this.props.clipboard:{}})}},this.inActiveElement=()=>{var e,t,r;if(!s.canUseDOM)return!1;const i=s.getActiveElement(this.document),o=i?i.matches(".k-table-td")?i:null==(e=this.document)?void 0:e.body:null==(t=this.document)?void 0:t.body,l=o.closest(".k-grid-container"),a=o&&(null==(r=this._element)?void 0:r.contains(o));return!!(o&&a&&l)},this.onResize=(e,t,r,s,i,o)=>{this.resetTableWidth(),this._shouldUpdateLeftRight=!0,this._resized=!0,this._columnsMutations++,this.props.onColumnResize&&this.props.onColumnResize.call(void 0,{columns:this.columns,nativeEvent:s,targetColumnId:o,index:e,newWidth:t,oldWidth:r,end:i,target:this})},this.reInitVirtualization=s.memoizeOne(((e,t,r,s,i,o)=>{this.vs.reset();const l=this.getVirtualScroll(this.props);this.vs=new l(o)})),this.flatData=s.memoizeOne(((e,t,r,s,i,o,l)=>{const a=[];return{flattedData:a,resolvedGroupsCount:v(a,e,t,{index:r},void 0!==s,i)}})),this.rowHeightService=s.memoizeOne(((e,t,r,s,i)=>new Me(t,r,s,i))),this.childrenToArray=s.memoizeOne((e=>m.Children.toArray(e))),this.readColumns=s.memoizeOne(((e,t,r)=>{const s=e.filter((e=>e&&e.type&&"KendoReactGridColumn"===e.type.displayName));return b(s,this.columns,{prevId:0,idPrefix:t})})),this.mapColumns=s.memoizeOne((e=>i.mapColumns(e))),this.configureColumns=s.memoizeOne(((e,t,r)=>{this.props.selectedField&&e.forEach((e=>{e.field===this.props.selectedField?(e.width=e.width||"50px",e.cell=e.cell||re,e.headerCell=e.headerCell||Ke):e.width=void 0}));const s={id:"",resizable:!0,width:"32px",title:" ",declarationIndex:-1,orderIndex:-1,children:[],parentIndex:-1,depth:0,colSpan:0,rowSpan:0,left:0,right:0,index:0,rightBorder:!1,ariaColumnIndex:0,isAccessible:!0};let o=0;this.props.expandField&&this.props.onExpandChange&&this.props.detail&&(e.unshift({...s,cell:se,field:this.props.expandField,headerClassName:"k-hierarchy-cell k-header",id:i.tableKeyboardNavigationTools.generateNavigatableId(`${this._columns.length}`,r,"column")}),o++);for(let r=0;r<t;r++)e.unshift({...s,isAccessible:!1,cell:Pe,field:"value",locked:this.props.lockGroups}),o++;e.slice(o).forEach((e=>e.parentIndex>=0&&(e.parentIndex+=o)))})),this.getHeaderRow=s.memoizeOne(((e,t,r,s,i,o,l,a,n,h,p,c)=>m.createElement(me,{cells:this.props.cells,sort:e,sortable:t,sortChange:this.sortChange,group:r||[],groupable:s,groupChange:this.groupChange,filter:i,filterable:o,filterOperators:l,filterChange:this.filterChange,columnMenu:n,selectionChange:this.onHeaderSelectionChange,columns:h,columnResize:this.columnResize,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,columnsMap:p,cellRender:a,isRtl:c,dragClue:this.dragLogic.dragClueRef,headerRef:this.headerElementRef,containerRef:this.containerRef}))),this.resolveTitle=e=>{const t=this._columns.find((t=>t.field===e)),r=t&&(t.title||t.field);return void 0===r?e:r},this.getLeafDataItems=()=>this._data.filter((e=>"data"===e.rowType)).map((e=>e.dataItem)),s.validatePackage(Ue),this.showLicenseWatermark=s.shouldShowValidationUI(Ue);const t=!0===this.props.groupable||"object"==typeof this.props.groupable&&!1!==this.props.groupable.enabled,r=this.getVirtualScroll(e);this.vs=new r(t||void 0===e.rowHeight||0===e.rowHeight),this.dragLogic=new Oe(this.columnReorder.bind(this),this.groupReorder.bind(this),this.columnToGroup.bind(this)),this.columnResize=new Ge(this.onResize),this.props.clipboard&&(this.clipboardService=new i.ClipboardService(this.onClipboard)),i.tableKeyboardNavigation.onConstructor({navigatable:!!e.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,idPrefix:this._gridId})}get columns(){const e=this._columns.filter((e=>e.declarationIndex>=0&&-1===e.parentIndex));return k(e)}get element(){return this._element}get document(){if(s.canUseDOM)return this.element&&this.element.ownerDocument||document}get _header(){return this.headerRef.current}get _gridId(){return this.props.id+"-role-element-id"}componentDidMount(){this.resetTableWidth(),s.setScrollbarWidth();const e=i.isRtl(this.element);this.isRtl=e,i.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.isRtl&&this.forceUpdate();this.clipboardService&&this.clipboardService.addEventListeners(this.document),this.observer=s.canUseDOM&&window.IntersectionObserver&&new window.IntersectionObserver(this.handleIntersection,{rootMargin:"0px",threshold:.9})||null}getSnapshotBeforeUpdate(){return i.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(){this.resetTableWidth(),s.setScrollbarWidth(),this.vs.tableTransform&&this.vs.table&&(this.vs.table.style.transform=this.vs.tableTransform,this.vs.tableTransform=""),i.tableKeyboardNavigation.onComponentDidUpdate({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}componentWillUnmount(){clearTimeout(this.forceUpdateTimeout),this.clipboardService&&this.clipboardService.removeEventListeners(this.document)}render(){var e;let t=this.props.total||0;const r=i.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),l=o.provideLocalizationService(this);let a=[];Array.isArray(this.props.data)?(a=this.props.data,t=t||this.props.data.length):this.props.data&&(a=this.props.data.data,t=t||this.props.data.total);const n="object"==typeof this.props.groupable&&this.props.groupable.footer||"none",{resolvedGroupsCount:h,flattedData:p}=this.flatData(a,n,this.props.skip||0,this.props.group,this.props.expandField,this.props.filter,this.props.sort);this._data=p;const c=!0===this.props.groupable||"object"==typeof this.props.groupable&&!1!==this.props.groupable.enabled;this.columnResize.resizable=this.props.resizable||!1,this.dragLogic.reorderable=this.props.reorderable||!1,this.dragLogic.groupable=c;const d=this.props.selectable&&this.props.selectable.drag?"none":void 0;this.initializeVirtualization(t,c);const u=this.childrenToArray(this.props.children);this.initColumns(u,h);const g=u.map((e=>e&&e.type&&"KendoReactGridToolbar"===e.type.displayName?m.cloneElement(e,{...e.props,ariaControls:this._gridId}):null)),f=u.filter((e=>e&&e.type&&"KendoReactGridNoRecords"===e.type.displayName)),v=u.filter((e=>e&&e.type&&"KendoReactGridStatusBar"===e.type.displayName)),b=this._columns.filter((e=>0===e.children.length)),k=c&&m.createElement(Te,{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._gridId,onContextMenu:this.onContextMenu}),{sort:E,sortable:I,group:S,filter:w,filterable:R,filterOperators:N=Ce,headerCellRender:D,columnMenu:T}=this.props,F=m.createElement(ne,{size:this.props.size,columnResize:this.columnResize,staticHeaders:"none"!==this.props.scrollable,scrollableDataElement:()=>this.vs.container,draggable:this.props.reorderable||c,ref:this.headerRef,elemRef:this.headerElementRef,headerRow:this.getHeaderRow(E,I,S,c,w,R,N,D,T,this._columns,this._columnsMap,this.isRtl),filterRow:this.props.filterable&&m.createElement(Ne,{cells:this.props.cells,size:this.props.size,columns:this._columns,filter:this.props.filter,filterOperators:this.props.filterOperators||Ce,filterChange:this.filterChange,sort:this.props.sort,cellRender:this.props.filterCellRender,isRtl:this.isRtl,ariaRowIndex:this._columnsMap.length+1})||void 0,cols:b.map(((e,t)=>m.createElement("col",{key:t.toString(),width:x(e)})))}),z=this.vs&&this.vs.container&&this.vs.container.scrollLeft||0,M=parseFloat(((this.props.style||{}).width||"").toString()),{colSpans:L,hiddenColumns:G}=i.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:b,tableViewPortWidth:M,scrollLeft:z}),O=(e,t,s)=>{let o=!1;const l=this.props.selectedField?C(this.props.selectedField,e.dataItem):void 0;return{row:b.map(((a,n)=>{if(G[n])return null;const h=a.id?a.id:n,p=`${a.className?a.className+" ":""}${a.locked?"k-grid-content-sticky":""}`,c=void 0!==a.left?this.isRtl?{left:a.right,right:a.left}:{left:a.left,right:a.right}:{};let d=!1;if(a.editable&&this.props.editField){const t=C(this.props.editField,e.dataItem);t&&(!0===t||t===a.field)&&(o=!0,d=!0)}const u=a.cell||d&&ae||He;return m.createElement(u,{onContextMenu:this.onContextMenu,key:h,locked:this.props.lockGroups,id:i.tableKeyboardNavigationTools.generateNavigatableId(`${t}-${String(n)}`,r),colSpan:L[n],dataItem:e.dataItem,field:a.field,editor:a.editor,format:a.format,className:p,render:this.props.cellRender,cells:y(this.props.cells,a.cells),onChange:this.itemChange,selectionChange:this.props.onSelectionChange?t=>{this.selectionChange({event:t,dataItem:e.dataItem,dataIndex:s,columnIndex:n})}:void 0,columnIndex:n,columnsCount:b.length,rowType:e.rowType,level:e.level,expanded:e.expanded,dataIndex:e.dataIndex,style:c,ariaColumnIndex:a.ariaColumnIndex,isSelected:Array.isArray(l)&&l.indexOf(n)>-1})})),isInEdit:o,isSelected:"boolean"==typeof l&&l}};let H=0;if("virtual"===this.props.scrollable)for(let e=0;e<this.vs.topCacheCount+this.vs.attendedSkip-(this.props.skip||0);e++){const t=this._data.shift();if(!t)break;this._data.push(t),H++,"groupHeader"===t.rowType&&e--}const P=e=>e>=this._data.length-H;let _=this.vs.realSkip||0;const A=[];let K=!1;const W=this._columnsMap.length+(this.props.filterable?1:0)+1,B=m.createElement("div",{key:"no-records",className:"k-grid-norecords","aria-rowindex":W},m.createElement("div",{className:"k-grid-norecords-template"},f.length?f:m.createElement(Be,null)));let q=0;if(this._data.length){let e=-1,t=0;(this._slicedData||this._data).forEach(((o,l)=>{"data"===o.rowType&&(_++,e++);const a=_%2==0,n=this.props.dataItemKey&&s.getter(this.props.dataItemKey)(o.dataItem),h=l+(this.vs.realSkip||0),p=n||"ai"+h,c=p+"_1",d=O(o,p,e);if(q=h+W+t,A.push(m.createElement(_e,{key:p,dataItem:o.dataItem,isAltRow:a,isInEdit:d.isInEdit,rowType:o.rowType,isHidden:P(l),onClick:e=>this.rowClick(e,o),onDoubleClick:e=>this.rowDblClick(e,o),selectedField:this.props.selectedField,rowHeight:this.props.rowHeight,render:this.props.rowRender,ariaRowIndex:q,absoluteRowIndex:h,dataIndex:e,isSelected:d.isSelected},d.row)),this.props.detail&&"data"===o.rowType&&o.expanded){const e=b.length-(this.props.expandField?1:0)-(this.props.group?this.props.group.length:0)||1;t++,q=h+W+t,A.push(m.createElement("tr",{key:c,className:s.classNames("k-table-row",a?"k-detail-row k-table-alt-row k-alt":"k-detail-row"),style:{visibility:P(l)?"hidden":"",height:this.props.detailRowHeight},role:"row","aria-rowindex":q},this.props.group&&this.props.group.map(((e,t)=>{var r;const s=null==(r=null==d?void 0:d.row[t])?void 0:r.props.style,i=s?this.isRtl?{left:s.right,right:s.left}:{left:s.left,right:s.right}:{};return m.createElement(Pe,{id:"",dataIndex:o.dataIndex,field:e.field,dataItem:o.dataItem,key:t,style:i,ariaColumnIndex:1+t,isSelected:!1,locked:this.props.lockGroups,isRtl:this.isRtl,cells:this.props.cells})})),this.props.expandField&&m.createElement($e,{id:i.tableKeyboardNavigationTools.generateNavigatableId(`${c}-dhcell`,r)}),m.createElement(je,{onContextMenu:this.onContextMenu,dataItem:o.dataItem,dataIndex:o.dataIndex,colSpan:e,ariaColIndex:2+(this.props.group?this.props.group.length:0),detail:this.props.detail,id:i.tableKeyboardNavigationTools.generateNavigatableId(`${c}-dcell`,r)})))}}))}else K=!0;const V={size:this.props.size,onPageChange:this.pagerPageChange,total:t,dir:this.isRtl?"rtl":void 0,skip:this.vs.propsSkip||0,take:(void 0!==this.props.take?this.props.take:this.props.pageSize)||10,messagesMap:te,...Ve(this.props.pageable||{})},U=this.props.pager?m.createElement(this.props.pager,{...V}):m.createElement(i.Pager,{className:"k-grid-pager",...V}),j=e=>this.props.sort&&this.props.sort.filter((t=>t.field===e)).length>0,$=null!=(e=this.props.cells)&&e.footerCell||this._columns.some((e=>{var t;return!!(e.footerCell||null!=(t=e.cells)&&t.footerCell)}))?m.createElement(Fe,{size:this.props.size,columnResize:this.columnResize,staticHeaders:"none"!==this.props.scrollable,ref:e=>this._footer=e,row:m.createElement(qe,{cells:this.props.cells,columns:this._columns,isRtl:this.isRtl,ariaRowIndex:q+1}),cols:b.map(((e,t)=>m.createElement("col",{key:t.toString(),width:x(e)})))}):null,X=m.createElement("colgroup",{ref:e=>{this.columnResize.colGroupMain=e}},b.map(((e,t)=>m.createElement("col",{key:t.toString(),className:j(e.field)?"k-sorted":void 0,width:x(e)})))),Y=this.dragLogic.reorderable||this.dragLogic.groupable,Q=this.props.columnVirtualization?"block":"table";if("none"===this.props.scrollable)return m.createElement(i.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},m.createElement("div",{id:this.props.id,style:this.props.style,className:s.classNames("k-grid",{"k-grid-md":!this.props.size,[`k-grid-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),ref:e=>{this._element=e},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...i.tableKeyboardNavigationScopeAttributes},g,k,m.createElement(i.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:e=>{this.tableElement=e}},m.createElement("table",{className:s.classNames("k-table k-grid-table",{[`k-table-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),style:{userSelect:d,display:Q}},X,F,m.createElement("tbody",{role:"rowgroup",className:"k-table-tbody",...i.tableKeyboardNavigationBodyAttributes},A),$)),K&&B,Y&&m.createElement(m.Fragment,null,m.createElement(i.DropClue,{ref:this.dragLogic.refDropElementClue}),m.createElement(i.DragClue,{ref:this.dragLogic.refDragElementClue}))),v,this.props.pageable&&U);let J=this.props.style||{};return"virtual"===this.props.scrollable&&(J.height||(J=Object.assign({},J,{height:"450px"}))),m.createElement(i.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},m.createElement("div",{id:this.props.id,style:J,className:s.classNames("k-grid",{"k-grid-md":!this.props.size,[`k-grid-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size,"k-grid-virtual":"virtual"===this.props.scrollable},this.props.className),ref:e=>{this._element=e},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...i.tableKeyboardNavigationScopeAttributes},g,k,m.createElement("div",{className:"k-grid-aria-root",role:"grid","aria-colcount":b.length,"aria-rowcount":t,id:this._gridId,"aria-label":l.toLanguageString(Z,ee[Z])},F,m.createElement("div",{className:"k-grid-container",role:"presentation"},m.createElement("div",{ref:this.containerRef,className:"k-grid-content k-virtual-content",onScroll:this.scrollHandler,role:"presentation"},m.createElement("div",{className:"k-grid-table-wrap",role:"presentation"},m.createElement(i.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:e=>{this.tableElement=e}},m.createElement("table",{className:s.classNames("k-table k-grid-table",{"k-table-md":!this.props.size,[`k-table-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),role:"presentation",style:{userSelect:d,display:Q}},X,m.createElement("tbody",{className:"k-table-tbody",ref:this.tableBodyRef,role:"rowgroup",...i.tableKeyboardNavigationBodyAttributes},A))),K&&B),m.createElement("div",{className:"k-height-container",role:"presentation"},m.createElement("div",{style:"virtual"===this.props.scrollable?{height:this.vs.containerHeight+"px"}:{}})))),$,Y&&m.createElement(m.Fragment,null,m.createElement(i.DropClue,{ref:this.dragLogic.refDropElementClue}),m.createElement(i.DragClue,{ref:this.dragLogic.refDragElementClue})),this.showLicenseWatermark&&m.createElement(s.WatermarkOverlay,null)),v,this.props.pageable&&U))}selectionChange(e){if(this.props.onSelectionChange){const{event:t,dataItem:r,dataIndex:s,columnIndex:o}=e,{mode:l,cell:a}=i.getSelectionOptions(this.props.selectable),n={...this.getArguments(t.syntheticEvent),dataItem:r,startColIndex:o,endColIndex:o,startRowIndex:s,endRowIndex:s,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:l,cell:a,isDrag:!1,componentId:this._gridId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,n)}}raiseDataEvent(e,t,r,s,i){const o=this.props.onDataStateChange;if(e){const r={...this.getArguments(s),...t,targetEvent:i};e.call(void 0,r)}else o&&o.call(void 0,{...this.getArguments(s),targetEvent:i||{},dataState:{...this.getDataState(),...r}})}columnReorder(e,t,r){const s=this._columns[e],o=s.depth,l=e=>{do{e++}while(e<this._columns.length&&this._columns[e].depth>o);return e},a=this._columns.splice(e,l(e)-e);this._columns.splice(e<t?l(t-a.length):t,0,...a),this._columns.filter((e=>e.declarationIndex>=0)).forEach(((e,t)=>e.orderIndex=t)),this._columnsMutations++;const n=this._columns[e].locked&&this._columns[t].locked;i.updateLeft(this._columnsMap,this._columns,n||this._shouldUpdateLeftRight),i.updateRight(this._columnsMap,this._columns,n||this._shouldUpdateLeftRight),this._resized&&(this._shouldUpdateLeftRight=!1,this._resized=!1);const h=this.columns;if(this.forceUpdate(),this.props.onColumnReorder){const e={target:this,columns:h,columnId:s.id,nativeEvent:r};this.props.onColumnReorder.call(void 0,e)}}groupReorder(e,t,r){if(void 0===this.props.group)return;const s=this.props.group.slice();s.splice(t,0,...s.splice(e,1)),this.groupChange(s,r)}columnToGroup(e,t,r){const s=this._columns[e].field;if(!s)return;const i=(this.props.group||[]).slice();i.splice(t,0,{field:s}),this.groupChange(i,r)}resetTableWidth(){let e=0;if(!this.columnResize.colGroupMain)return;const t=this.columnResize.colGroupMain.children;for(let r=0;r<t.length;r++){const s=t[r].width;if(!s)return;e+=parseFloat(s.toString())}e=Math.round(e),this._header&&this._header.setWidth(e),this._footer&&this._footer.setWidth(e),this.tableElement&&(this.tableElement.style.width=e+"px")}initColumns(e,t){const r=i.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef);this._columns=this.readColumns(e,r,this._columnsMutations),0===this._columns.length&&(this._columns=function(e,t,r,s){let o=[];Array.isArray(e)?o=e:e&&(o=e.data);const l=[];if(o.length>0){let e=o[0];if(t)for(let r=0;r<t.length;r++)e=e.items&&e.items[0];Object.getOwnPropertyNames(e).forEach((e=>{e!==r&&l.push(Object.assign({id:i.tableKeyboardNavigationTools.generateNavigatableId(""+s.prevId++,s.idPrefix,"column"),declarationIndex:-1,parentIndex:-1,depth:0,colSpan:0,rowSpan:0,index:0,left:0,right:0,rightBorder:!1,children:[],ariaColumnIndex:0,isAccessible:!0},f.defaultProps,{field:e}))}))}return l}(this.props.data,this.props.group,this.props.expandField,{prevId:0,idPrefix:r})),this.configureColumns(this._columns,t,r),this._columnsMap=this.mapColumns(this._columns),this.columnResize.columns=this._columns,this.dragLogic.columns=this._columns}getDataState(){return{filter:this.props.filter,sort:this.props.sort,skip:this.props.skip,take:void 0!==this.props.take?this.props.take:this.props.pageSize,group:this.props.group}}getArguments(e){return{nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:this}}};Xe.displayName="KendoReactGrid",Xe.defaultProps={},Xe.propTypes={data:r.oneOfType([r.array,r.shape({data:r.array,total:r.number})]),sortable:r.oneOfType([r.bool,r.shape({mode:r.oneOf(["single","multiple"]),allowUnsort:r.bool})]),onSortChange:r.func,sort:r.array,filterable:r.bool,filter:r.any,onFilterChange:r.func,pageable:r.oneOfType([r.bool,r.shape({buttonCount:r.number,responsive:r.bool,info:r.bool,type:r.oneOf(["numeric","input"]),pageSizes:r.oneOfType([r.bool,r.arrayOf(r.oneOfType([r.string,r.number]))]),previousNext:r.bool})]),pageSize:r.number,onPageChange:r.func,total:r.number,skip:r.number,take:r.number,fixedScroll:r.bool,onExpandChange:r.func,expandField:r.string,selectedField:r.string,onSelectionChange:r.func,onHeaderSelectionChange:r.func,resizable:r.bool,reorderable:r.bool,group:r.any,groupable:r.oneOfType([r.bool,r.shape({enabled:r.bool,footer:r.oneOf(["always","visible","none"])})]),onGroupChange:r.func,onRowClick:r.func,onRowDoubleClick:r.func,onItemChange:r.func,editField:r.string,scrollable:r.oneOf(["none","scrollable","virtual"]),rowHeight:r.number,detailRowHeight:r.number,detail:r.any,style:r.object,onDataStateChange:r.func,onColumnResize:r.func,onColumnReorder:r.func,dataItemKey:r.string,navigatable:r.bool,size:r.oneOf(["small","medium"])},Xe.contextType=i.TableKeyboardNavigationContext;let Ye=Xe;o.registerForLocalization(Ye);let Qe=class extends m.Component{render(){const{children:e}=this.props;return m.createElement("div",{id:this.props.id,className:s.classNames("k-columnmenu-item-wrapper",this.props.className),style:this.props.style},e)}},Je=class extends m.Component{render(){const{title:e,iconClass:t,svgIcon:r,selected:i}=this.props;return m.createElement("div",{onClick:this.props.onClick,className:"k-columnmenu-item "+(i?"k-selected":"")},(t||r)&&m.createElement(s.IconWrap,{name:t&&s.toIconName(t),icon:r}),e)}},Ze=class extends m.Component{constructor(){super(...arguments),this.onGroupClick=e=>{if(e.preventDefault(),this.props.onGroupChange){const{column:t}=this.props;if(!t.field)return;const r=(this.props.group||[]).slice(),s=r.findIndex((e=>e.field===t.field));s>-1?r.splice(s,1):r.push({field:t.field}),this.props.onGroupChange(r,e)}this.props.onCloseMenu&&this.props.onCloseMenu()}}render(){const{group:e,column:t}=this.props,r=o.provideLocalizationService(this),s=!!(e&&t.field&&e.find((e=>e.field===t.field))),i=s?L:M;return m.createElement(Qe,null,m.createElement(Je,{title:r.toLanguageString(i,ee[i]),iconClass:s?"k-i-ungroup":"k-i-group",svgIcon:s?l.ungroupIcon:l.groupIcon,onClick:this.onGroupClick}))}};o.registerForIntl(Ze),o.registerForLocalization(Ze);const et="desc",tt={true:{asc:{asc:"",desc:"desc"},desc:{asc:"asc",desc:""},"":{asc:"asc",desc:"desc"}},false:{asc:{asc:"asc",desc:"desc"},desc:{asc:"asc",desc:"desc"},"":{asc:"asc",desc:"desc"}}},rt=(e,t)=>t?t.findIndex((t=>t.field===e)):-1,st=(e,t)=>!!(t&&e>-1&&"asc"===t[e].dir),it=(e,t)=>!!(t&&e>-1&&t[e].dir===et),ot=class extends m.Component{constructor(){super(...arguments),this.onAscClick=e=>{this.onSort(e,"asc"),this.props.onCloseMenu&&this.props.onCloseMenu()},this.onDescClick=e=>{this.onSort(e,et),this.props.onCloseMenu&&this.props.onCloseMenu()},this.onSort=(e,t)=>{if(e.preventDefault(),!this.props.onSortChange)return;const{column:r,sortable:s,sort:i}=this.props,{allowUnsort:o,mode:l}=he(s||!1,!1),a=(i||[]).filter((e=>e.field===r.field))[0],n=tt[o][a&&a.dir||""][t],h="single"===l?[]:(this.props.sort||[]).filter((e=>e.field!==r.field));""!==n&&r.field&&h.push({field:r.field,dir:n}),this.props.onSortChange(h,e)}}render(){const{sort:e,column:t}=this.props,r=rt(t.field,e),s=o.provideLocalizationService(this);return m.createElement(Qe,null,m.createElement(Je,{title:s.toLanguageString(_,ee[_]),iconClass:"k-i-sort-asc-sm",svgIcon:l.sortAscSmallIcon,selected:st(r,e),onClick:this.onAscClick}),m.createElement(Je,{title:s.toLanguageString(A,ee[A]),iconClass:"k-i-sort-desc-sm",svgIcon:l.sortDescSmallIcon,selected:it(r,e),onClick:this.onDescClick}))}};ot.active=(e,t)=>{const r=rt(e,t);return it(r,t)||st(r,t)};let lt=ot;o.registerForIntl(lt),o.registerForLocalization(lt);class at extends m.Component{render(){return m.createElement("div",{id:this.props.id,className:s.classNames("k-columnmenu-item-content",this.props.className),style:this.props.style},m.createElement(u.Reveal,{style:{position:"relative",display:"block"}},this.props.show?this.props.children:null))}}class nt extends m.Component{constructor(e){super(e),this.renderOperatorEditor=()=>{if("boolean"===this.props.filterType)return;const e=this.props.operators.find((e=>e.operator===this.props.operator))||null;return m.createElement(c.DropDownList,{value:e,onChange:this.operatorChange,data:this.props.operators,textField:"text"})},this.inputChange=this.inputChange.bind(this),this.operatorChange=this.operatorChange.bind(this),this.boolDropdownChange=this.boolDropdownChange.bind(this)}render(){return m.createElement(m.Fragment,null,this.renderOperatorEditor(),this.filterComponent(this.props.filterType,this.props.value,this.props.booleanValues))}inputChange(e,t){Ee(e,t,this.props)}operatorChange(e){we(e,this.props.value,this.props.onChange)}boolDropdownChange(e){Se(e,this.props.onChange)}filterComponent(e,t,r){switch(e){case"numeric":return m.createElement(a.NumericTextBox,{value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)},rangeOnEnter:!1});case"date":return m.createElement(n.DatePicker,{value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)}});case"boolean":{const e=e=>null==e;return m.createElement(c.DropDownList,{onChange:this.boolDropdownChange,value:r.find((r=>r.operator===(e(t)?"":t))),data:r,textField:"text"})}default:return m.createElement(a.Input,{value:t||"",onChange:e=>{this.inputChange(e.target.value,e.syntheticEvent)}})}}}class ht extends m.Component{render(){const{firstFilterProps:e,hideSecondFilter:t,secondFilterProps:r,logicData:s,logicValue:i,onLogicChange:o}=this.props;return m.createElement(m.Fragment,null,m.createElement(nt,{...e}),!t&&m.createElement(m.Fragment,null,m.createElement(c.DropDownList,{data:s,value:i,onChange:o,className:"k-filter-and",textField:"text"}),m.createElement(nt,{...r})))}}const pt=e=>e||{filters:[],logic:"and"},ct=(e,t)=>pt(t).filters.filter((t=>!!d.isCompositeFilterDescriptor(t)&&(t.filters&&t.filters.length&&t.filters.length<=2&&!t.filters.find((t=>d.isCompositeFilterDescriptor(t)||t.field!==e)))))[0]||null,dt=class extends m.Component{constructor(e){let t;if(super(e),this.removeGroup=(e,t)=>{const r=[...t.filters],s=r.findIndex((t=>t===e));return s>-1&&r.splice(s,1),{...t,filters:r}},this.insertGroup=(e,t)=>({...t,filters:[e,...t.filters]}),this.isControlled=()=>void 0!==this.props.expanded,this.onFilterExpand=()=>{const e=this.isControlled(),t=!(e?this.props.expanded:this.state.expanded);this.props.onExpandChange&&this.props.onExpandChange(t),e||this.setState({expanded:t})},this.firstFilterChange=e=>{this.filterChange(0,e)},this.secondFilterChange=e=>{this.filterChange(1,e)},this.filterChange=(e,t)=>{const r=this.state.filterGroup.filters.map(((r,s)=>s===e?{...r,value:t.value,operator:t.operator}:r));this.setState({filterGroup:{...this.state.filterGroup,filters:r}})},this.logicChange=e=>{this.setState({filterGroup:{...this.state.filterGroup,logic:e.target.value.operator}})},this.clear=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.props.column.field,r=pt(this.props.filter),s=ct(t,this.props.filter),i=r.filters.filter((e=>e!==s));i.length?this.props.onFilterChange({...r,filters:i},e):this.props.onFilterChange(null,e),this.props.onCloseMenu&&this.props.onCloseMenu()},this.currentFilterGroup=()=>({...this.state.filterGroup,filters:this.state.filterGroup.filters.filter((e=>void 0!==e.value&&null!==e.value&&""!==e.value||null===e.value&&e.operator))}),this.submit=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.props.column.field,r=pt(this.props.filter),s=ct(t,this.props.filter),i=this.currentFilterGroup();let o=null;if(s&&i.filters.length>0){const e=r.filters.map((e=>e===s?i:e));o={...r,filters:e}}else if(0===i.filters.length){const e=r.filters.filter((e=>e!==s));e.length&&(o={...r,filters:e})}else o={...r,filters:[...r.filters,i]};this.props.onFilterChange(o,e),this.props.onCloseMenu&&this.props.onCloseMenu()},e.column&&e.column.field){const r=ye(e.column.filter),s=Ie(e.filterOperators,r);t=ct(e.column.field,e.filter),t=t?{...t,filters:t.filters.map((e=>({...e})))}:{logic:"and",filters:[{field:e.column.field,operator:s,value:ve(s)?null:void 0},{field:e.column.field,operator:s,value:ve(s)?null:void 0}]},1===t.filters.filter((t=>t.field===e.column.field)).length&&t.filters.splice(1,0,{field:e.column.field,operator:s})}this.state={expanded:e.expanded||!1,filterGroup:t}}render(){const{column:e,filterUI:t,hideSecondFilter:r,filterOperators:s}=this.props;if(!e||!e.field)return m.createElement("div",null);const i=ye(e.filter),a=void 0!==r?r:ke[i],n=o.provideLocalizationService(this),h=this.state.filterGroup.filters,c=be(s[i],n),d=be(xe,n),u={field:e.field,value:h[0].value,operator:h[0].operator,operators:c,booleanValues:d,onChange:this.firstFilterChange,filterType:i},g={field:e.field,value:h[1].value,operator:h[1].operator,operators:c,booleanValues:d,onChange:this.secondFilterChange,filterType:i},f=this.state.filterGroup.logic,C=be(fe,n),v={value:C.find((e=>e.operator===(null===f?"":f))),onChange:this.logicChange,data:C},b=t,x={firstFilterProps:u,secondFilterProps:g,logicData:v.data,logicValue:v.value,onLogicChange:v.onChange,hideSecondFilter:a},k=0!==this.currentFilterGroup().filters.length||ve(h[0].operator)||ve(h[1].operator),E=this.isControlled()?this.props.expanded:this.state.expanded,I=this.props.alwaysExpand;return m.createElement(Qe,null,!I&&m.createElement(Je,{title:n.toLanguageString(P,ee[P]),iconClass:"k-i-filter",svgIcon:l.filterIcon,onClick:this.onFilterExpand}),m.createElement(at,{show:I||!!E},m.createElement("form",{className:"k-filter-menu",onSubmit:this.submit,onReset:this.clear,onKeyDown:e=>e.stopPropagation()},m.createElement("div",{className:"k-filter-menu-container"},b?m.createElement(b,{...x}):m.createElement(ht,{...x}),m.createElement("div",{className:"k-actions k-actions-stretched"},m.createElement(p.Button,{themeColor:"primary",disabled:!k},n.toLanguageString(H,ee[H])),m.createElement(p.Button,{type:"reset"},n.toLanguageString(O,ee[O])))))))}};dt.active=(e,t)=>!!ct(e,t);let ut=dt;o.registerForLocalization(ut);const gt=class extends m.Component{constructor(e){super(e),this.defaultFilter=()=>this.props.filter?s.clone(this.props.filter):{filters:[],logic:"and"},this.isControlled=()=>void 0!==this.props.expanded,this.parseData=(e,t)=>{const r=this.props.column.field||"",s=e.map((e=>C(r,e)));return t?s.filter(((e,t)=>s.indexOf(e)===t)):s},this.getFilterIndex=()=>{const e=this.props.column.field;return this.defaultFilter().filters.findIndex((t=>t.filters&&t.filters.length>0&&t.filters[0].field===e))},this.onFilterExpand=()=>{const e=this.isControlled(),t=!(e?this.props.expanded:this.state.expanded);this.props.onExpandChange&&this.props.onExpandChange(t),e||this.setState({expanded:t})},this.handleSearchChange=e=>{const t=this.props.searchBoxFilterOperator?this.props.searchBoxFilterOperator:"startswith",r={logic:"and",filters:[{field:this.props.column.field,operator:t,value:e.target.value,ignoreCase:!0}]};this.setState({value:e.target.value,data:this.parseData(d.filterBy(this.props.data||[],r),this.props.uniqueData)})},this.handleClear=()=>{const e=this.props.searchBoxFilterOperator?this.props.searchBoxFilterOperator:"startswith",t={logic:"and",filters:[{field:this.props.column.field,operator:e,value:"",ignoreCase:!0}]};this.setState({value:"",data:this.parseData(d.filterBy(this.props.data||[],t),this.props.uniqueData)})},this.clear=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.state.currentFilter||null;null!==t&&t.filters.length>0?(this.compositeFilterIndex>=0&&t.filters.splice(this.compositeFilterIndex,1),this.props.onFilterChange(t,e)):this.props.onFilterChange(null,e),this.props.onCloseMenu&&this.props.onCloseMenu()},this.submit=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.state.currentFilter||null;this.props.onFilterChange(t,e),this.props.onCloseMenu&&this.props.onCloseMenu()},this.handleCheckBoxChange=(e,t)=>{const r=this.props.column.field||"",s={...this.state.currentFilter},i=[...this.state.currentFilter.filters];let o=[];if(-1!==this.compositeFilterIndex&&s.filters[this.compositeFilterIndex].filters&&"all"!==t&&(o=s.filters[this.compositeFilterIndex].filters),e.value&&"all"===t)this.state.data.forEach((e=>{o.push({field:r,operator:"eq",value:e})}));else if(e.value)o.push({field:r,operator:"eq",value:t});else if(this.state.currentFilter){const e=o.findIndex((e=>e.value===t));o.splice(e,1)}s.logic="and",-1!==this.compositeFilterIndex?i[this.compositeFilterIndex]={logic:"or",filters:o}:i.push({logic:"or",filters:o}),(!e.value&&"all"===t||0===o.length)&&i.splice(this.compositeFilterIndex,1),s.filters=i,this.setState({currentFilter:s})},this.isAllSelected=()=>{let e=!1;if(this.state.currentFilter){const t=[...this.state.currentFilter.filters];return-1!==this.compositeFilterIndex&&(e=this.state.data.every((e=>!(-1===this.compositeFilterIndex||!t[this.compositeFilterIndex].filters)&&t[this.compositeFilterIndex].filters.findIndex((t=>t.value===e))>=0)),e)}return e},this.compositeFilterIndex=this.getFilterIndex(),this.state={expanded:e.expanded||!1,value:"",data:this.parseData(this.props.data,this.props.uniqueData)||[],dataFromProps:this.parseData(this.props.data,!1)||[],currentFilter:this.defaultFilter()}}componentDidUpdate(){const e=this.props.column.field||"",t=this.props.data.map((t=>C(e,t)));((e,t)=>e.length===t.length&&e.every(((e,r)=>e===t[r])))(t,this.state.dataFromProps)||this.setState({data:t,dataFromProps:t})}render(){const{column:e}=this.props;if(!e||!e.field)return m.createElement("div",null);const t=o.provideLocalizationService(this),r=this.isControlled()?this.props.expanded:this.state.expanded,i=[];if(this.state.currentFilter){const t=[...this.state.currentFilter.filters];this.compositeFilterIndex=t.findIndex((t=>!!(t.filters&&t.filters.length>0)&&t.filters[0].field===e.field)),-1!==this.compositeFilterIndex&&t[this.compositeFilterIndex].filters.length>0&&t[this.compositeFilterIndex].filters.forEach((e=>{e.field===this.props.column.field&&i.push(e.value)}))}const n=this.props.searchBox?m.createElement(this.props.searchBox,{value:this.state.value,onChange:this.handleSearchChange}):m.createElement("div",{className:"k-searchbox k-textbox k-input k-input-md k-input-solid"},m.createElement(s.IconWrap,{className:"k-input-icon",name:"search",icon:l.searchIcon}),m.createElement(a.Input,{className:"k-input-inner",type:"text",placeholder:t.toLanguageString(K,ee[K]),value:this.state.value,onChange:e=>this.handleSearchChange(e.nativeEvent)}),m.createElement(p.Button,{type:"button",rounded:null,className:"k-input-button",onClick:this.handleClear,icon:"x",svgIcon:l.xIcon})),h=i.filter(((e,t)=>i.indexOf(e)===t));return m.createElement(Qe,null,m.createElement(Je,{title:t.toLanguageString(P,ee[P]),iconClass:"k-i-filter",svgIcon:l.filterIcon,onClick:this.onFilterExpand}),m.createElement(at,{show:!!r},m.createElement("form",{className:"k-filter-menu",onSubmit:this.submit,onReset:this.clear},m.createElement("div",{className:"k-filter-menu-container"},n,m.createElement("ul",{className:"k-reset k-multicheck-wrap"},m.createElement("li",{className:"k-item k-check-all-wrap"},m.createElement(a.Checkbox,{label:t.toLanguageString(W,ee[W]),onChange:e=>this.handleCheckBoxChange(e,"all"),checked:this.isAllSelected()})),this.state.data.map(((e,t)=>m.createElement("li",{className:"k-item",key:t},m.createElement(a.Checkbox,{label:String(e),onChange:t=>this.handleCheckBoxChange(t,e),checked:h.includes(e)}))))),m.createElement("div",{className:"k-filter-selected-items"},h.length+" "+t.toLanguageString(q,ee[q])),m.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},m.createElement(p.Button,{themeColor:"primary",type:"submit"},t.toLanguageString(H,ee[H])),m.createElement(p.Button,{className:"k-button",type:"reset"},t.toLanguageString(O,ee[O])))))))}};gt.defaultProps={uniqueData:!0};let mt=gt;o.registerForLocalization(mt);const ft=e=>{const[t,r]=m.useState(""),i=m.useMemo((()=>new Set(e.columnsState.map((e=>e.id)))),[e.columnsState]),o=m.useMemo((()=>e.columns.filter((e=>{var r;return null==(r=e.title||e.field)?void 0:r.toLowerCase().includes(t.toLowerCase())}))),[e.columns,t]),[n,h]=m.useState(e.columns.map((e=>i.has(e.id)))),c=m.useCallback((()=>{const t=e.columns.filter(((e,t)=>n[t]));e.onColumnsChange.call(void 0,t),e.onCloseMenu.call(void 0)}),[n,e.columns,e.onColumnsChange,e.onCloseMenu]),d=m.useCallback((()=>{h(e.columns.map((e=>i.has(e.id))))}),[i,e.columns]),u=n.filter((e=>e)).length,g=u===n.length,f=m.useCallback((()=>{h(e.columns.map(((e,t)=>!(!g||0!==t)||!g)))}),[e.columns,g]),C=m.useCallback(((e,t)=>{const r=n.slice();r[t]=e,h(r)}),[n]);return m.createElement("form",{className:"k-filter-menu"},m.createElement("div",{className:"k-filter-menu-container"},m.createElement(a.TextBox,{className:"k-searchbox",value:t,onChange:e=>r(String(e.target.value)),prefix:()=>m.createElement(a.InputPrefix,null,m.createElement(s.IconWrap,{name:"search",icon:l.searchIcon}))}),m.createElement("ul",{className:"k-reset k-multicheck-wrap"},!t&&m.createElement("li",{className:"k-item k-check-all-wrap"},m.createElement(a.Checkbox,{checked:g,onChange:f,label:"(Select all)"})),o.map(((e,t)=>m.createElement("li",{key:e.id,className:"k-item"},m.createElement(a.Checkbox,{disabled:n[t]&&1===u,checked:n[t],onChange:e=>{var r;return C(!(null==(r=e.target.element)||!r.checked),t)},label:e.title||e.field}))))),m.createElement("div",{className:"k-filter-selected-items"},u," selected items"),m.createElement("div",{className:"k-actions k-actions-start k-actions-horizontal"},m.createElement(p.Button,{type:"button",themeColor:"primary",onClick:c},"Apply"),m.createElement(p.Button,{type:"button",onClick:d},"Reset"))))};ft.displayName="GridColumnMenuColumnsList";class Ct extends m.Component{render(){return null}}const vt=class extends m.Component{render(){return m.createElement("div",{className:s.classNames("k-toolbar k-grid-toolbar",{"k-toolbar-md":!this.props.size,[`k-toolbar-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),"aria-label":this.props.ariaLabel,"aria-controls":this.props.ariaControls,role:"toolbar"},this.props.children)}};vt.displayName="KendoReactGridToolbar";let bt=vt;const xt=e=>{const{data:t=[]}=e;return m.createElement("div",{className:"k-selection-aggregates k-grid-selection-aggregates"},t.map(((e,t)=>m.createElement("div",{key:t},m.createElement("span",{className:"k-selection-aggregates-item-text"},e.type,": "),m.createElement("span",{className:"k-selection-aggregates-item-value"},e.formattedValue)))))};xt.displayName="KendoReactGridStatusBar";const kt=e=>{var t;const r=e.slice();for(let e=0;e<r.length;e++)for(;r[e]&&null!=(t=r[e].children)&&t.length;)r.splice(e,1,...r[e].children);return r},Et=s.withIdHOC(Ye);Et.displayName="KendoReactGrid",Object.defineProperty(e,"getSelectedState",{enumerable:!0,get:function(){return i.getSelectedState}}),Object.defineProperty(e,"getSelectedStateFromKeyDown",{enumerable:!0,get:function(){return i.getSelectedStateFromKeyDown}}),Object.defineProperty(e,"setSelectedState",{enumerable:!0,get:function(){return i.setSelectedState}}),e.GRID_COL_INDEX_ATTRIBUTE=oe,e.GRID_PREVENT_SELECTION_ELEMENT=le,e.GRID_ROW_INDEX_ATTRIBUTE=ie,e.Grid=Et,e.GridCell=He,e.GridClassComponent=Ye,e.GridColumn=f,e.GridColumnMenuCheckboxFilter=mt,e.GridColumnMenuColumnsList=ft,e.GridColumnMenuFilter=ut,e.GridColumnMenuFilterCell=nt,e.GridColumnMenuFilterUI=ht,e.GridColumnMenuGroup=Ze,e.GridColumnMenuItem=Je,e.GridColumnMenuItemContent=at,e.GridColumnMenuItemGroup=Qe,e.GridColumnMenuSort=lt,e.GridColumnMenuWrapper=ce,e.GridCommonDragLogic=Oe,e.GridDetailRow=Ct,e.GridEditCell=ae,e.GridFilterCell=Re,e.GridGroupCell=Pe,e.GridHeaderCell=de,e.GridHierarchyCell=se,e.GridNoRecords=Be,e.GridRow=_e,e.GridSelectionCell=re,e.GridToolbar=bt,e.StatusBar=xt,e.booleanFilterValues=xe,e.cellBoolDropdownChange=Se,e.cellInputChange=Ee,e.cellOperatorChange=we,e.filterGroupByField=ct,e.getStatusData=e=>{const{dataItems:t,target:r,selectedField:i}=e,o=kt(r.columns).map((e=>e.field)).filter((e=>e&&"string"==typeof e)).map((e=>s.getter(e))),l=s.getter(i),a={dates:[],numbers:[],booleans:[],others:[]};t.forEach((e=>{const t=l(e);t&&t.forEach((t=>{(e=>{"number"==typeof e?a.numbers.push(e):"boolean"==typeof e?a.booleans.push(e):e instanceof Date?a.dates.push(e):a.others.push(e)})(o[t](e))}))}));const n=a.dates.map((e=>e.getTime())),h=a.booleans.filter((e=>e)).length,p=a.booleans.filter((e=>!e)).length,c=a.numbers.length?a.numbers.reduce(((e,t)=>e+t),0):void 0,d={sum:c,average:"number"==typeof c?c/a.numbers.length:void 0,min:a.numbers.length?Math.min(...a.numbers):void 0,max:a.numbers.length?Math.max(...a.numbers):void 0,count:a.numbers.length+a.booleans.length+a.dates.length+a.others.length,isTrue:h>0?h:void 0,isFalse:p>0?p:void 0,earliest:a.dates.length?new Date(Math.min(...n)):void 0,latest:a.dates.length?new Date(Math.max(...n)):void 0},u=(e,t)=>"sum"!==t&&"average"!==t||"number"!=typeof e?("earliest"===t||"latest"===t)&&e instanceof Date?e.toLocaleDateString():String(e):e.toFixed(2),g=[];return Object.keys(d).forEach((e=>{const t=e,r=d[t];void 0!==r&&g.push({type:t,value:r,formattedValue:u(r,t)})})),g},e.gridMessages=ee,e.leafColumns=kt,e.operators=Ce,e.pagerFirstPage=R,e.pagerInfo=w,e.pagerItemPerPage=F,e.pagerLastPage=T,e.pagerNextPage=D,e.pagerPreviousPage=N,e.rootFilterOrDefault=pt}));
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),o=require("@progress/kendo-react-common");function l(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const n=l(a);class i extends n.PureComponent{constructor(){super(...arguments),this.draggable=null,this.onPress=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.pressHandler&&this.props.pressHandler(e.event,t)},this.onDrag=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.dragHandler&&this.props.dragHandler(e.event,t)},this.onRelease=e=>{this.draggable&&this.draggable.element&&this.props.releaseHandler&&this.props.releaseHandler(e.event)}}render(){return n.createElement(o.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,hint:this.props.dragClue,autoScroll:{boundaryElementRef:this.props.headerRef,direction:{horizontal:!0,vertical:!1}},scrollContainer:this.props.containerRef||void 0,ref:e=>{this.draggable=e}},n.createElement("tr",{className:"k-table-row",style:{touchAction:"none"},role:"row","aria-rowindex":this.props.ariaRowIndex},this.props.children))}}exports.ColumnDraggable=i;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import * as s from "react";
|
|
10
|
+
import { Draggable as t } from "@progress/kendo-react-common";
|
|
11
|
+
class o extends s.PureComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments), this.draggable = null, this.onPress = (e) => {
|
|
14
|
+
const r = this.draggable && this.draggable.element;
|
|
15
|
+
r && this.props.pressHandler && this.props.pressHandler(e.event, r);
|
|
16
|
+
}, this.onDrag = (e) => {
|
|
17
|
+
const r = this.draggable && this.draggable.element;
|
|
18
|
+
r && this.props.dragHandler && this.props.dragHandler(e.event, r);
|
|
19
|
+
}, this.onRelease = (e) => {
|
|
20
|
+
this.draggable && this.draggable.element && this.props.releaseHandler && this.props.releaseHandler(e.event);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
render() {
|
|
24
|
+
return /* @__PURE__ */ s.createElement(
|
|
25
|
+
t,
|
|
26
|
+
{
|
|
27
|
+
onPress: this.onPress,
|
|
28
|
+
onDrag: this.onDrag,
|
|
29
|
+
onRelease: this.onRelease,
|
|
30
|
+
hint: this.props.dragClue,
|
|
31
|
+
autoScroll: { boundaryElementRef: this.props.headerRef, direction: { horizontal: !0, vertical: !1 } },
|
|
32
|
+
scrollContainer: this.props.containerRef || void 0,
|
|
33
|
+
ref: (e) => {
|
|
34
|
+
this.draggable = e;
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
/* @__PURE__ */ s.createElement("tr", { className: "k-table-row", style: { touchAction: "none" }, role: "row", "aria-rowindex": this.props.ariaRowIndex }, this.props.children)
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export {
|
|
42
|
+
o as ColumnDraggable
|
|
43
|
+
};
|