@progress/kendo-react-grid
Version:
React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package
15 lines • 270 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("@progress/kendo-data-query"),require("@progress/kendo-react-data-tools"),require("@progress/kendo-react-common"),require("@progress/kendo-react-intl"),require("@progress/kendo-svg-icons"),require("@progress/kendo-react-popup"),require("@progress/kendo-react-layout"),require("@progress/kendo-react-buttons"),require("react-dom"),require("@progress/kendo-react-dropdowns"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dateinputs"),require("@progress/kendo-csv"),require("@progress/kendo-file-saver"),require("@progress/kendo-react-indicators"),require("@progress/kendo-react-labels"),require("@progress/kendo-react-dialogs"),require("@progress/kendo-react-form"),require("@progress/kendo-react-animation"),require("@progress/kendo-react-conversational-ui")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-data-query","@progress/kendo-react-data-tools","@progress/kendo-react-common","@progress/kendo-react-intl","@progress/kendo-svg-icons","@progress/kendo-react-popup","@progress/kendo-react-layout","@progress/kendo-react-buttons","react-dom","@progress/kendo-react-dropdowns","@progress/kendo-react-inputs","@progress/kendo-react-dateinputs","@progress/kendo-csv","@progress/kendo-file-saver","@progress/kendo-react-indicators","@progress/kendo-react-labels","@progress/kendo-react-dialogs","@progress/kendo-react-form","@progress/kendo-react-animation","@progress/kendo-react-conversational-ui"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactGrid={},e.React,e.PropTypes,e.KendoDataQuery,e.KendoReactDataTools,e.KendoReactCommon,e.KendoReactIntl,e.KendoSvgIcons,e.KendoReactPopup,e.KendoReactLayout,e.KendoReactButtons,e.ReactDOM,e.KendoReactDropdowns,e.KendoReactInputs,e.KendoReactDateinputs,e.KendoCsv,e.KendoFileSaver,e.KendoReactIndicators,e.KendoReactLabels,e.KendoReactDialogs,e.KendoReactForm,e.KendoReactAnimation,e.KendoReactConversationalUi)}(this,function(e,t,n,l,r,o,a,i,s,c,d,u,m,p,g,f,h,v,C,b,E,k,y){"use strict";function x(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var l=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,l.get?l:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var I=x(t);const S=e=>null;S.displayName="KendoReactGridColumn";const w={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0};S.propTypes={field:n.string,title:n.string,editable:n.bool,sortable:n.oneOfType([n.bool,n.shape({allowUnsort:n.bool.isRequired})]),cell:n.any,filterCell:n.any,filterTitle:n.string,filterable:n.bool,filter:n.oneOf(["text","numeric","boolean","date"]),editor:n.oneOf(["text","numeric","boolean","date"]),width:n.oneOfType([n.string,n.number]),minResizableWidth:n.number,minWidth:n.number,maxWidth:n.number,headerCell:n.any,footerCell:n.any,headerSelectionValue:n.bool,format:n.string,headerClassName:n.string,className:n.string,reorderable:n.bool,resizable:n.bool,orderIndex:n.number,groupable:n.bool,columnMenu:n.any,menuIcon:n.any,locked:n.bool,hidden:n.bool,media:n.string};const R=()=>I.createElement(I.Fragment,null),P=R;var N=(e=>(e.head="head",e.body="body",e))(N||{}),T=(e=>(e.create="create",e.edit="edit",e.delete="delete",e.select="select",e.copySelection="copySelection",e.copySelectionNoHeaders="copySelectionNoHeaders",e.paste="paste",e.reorderRow="reorderRow",e.exportPDF="exportPDF",e.exportExcel="exportExcel",e.separator="separator",e.sortAsc="sortAsc",e.sortDesc="sortDesc",e.pinRow="pinRow",e.pinTop="pinTop",e.pinBottom="pinBottom",e.unpin="unpin",e))(T||{});function M(e,t){const n=(null!=e?e:"").split(".");let l=t;return n.forEach(e=>{l=l?l[e]:void 0}),l}function D(e,t,n,o,a,i,s,c,d,u=0,m){var p;let g=u;for(let f=0;f<t.length;f++){let h;if(!a||void 0===t[f].value||void 0===t[f].items){e[e.length]={dataIndex:o.index,dataItem:t[f],rowType:"data",level:u,group:m,expanded:null!=(p=!!d&&!(null==i||!i[l.getter(d)(t[f])]))&&p},o.index++;continue}{let e;e=null!=m&&m.parents?[{field:m.field,value:m.value},...m.parents]:m?[m]:[],h={field:t[f].field,value:t[f].value,parents:e}}g=Math.max(g,u+1);let v=!1;const C=r.findGroupExpand(s||[],h);v=C?!1!==C.expanded:!1!==c,e[e.length]={dataIndex:-1,dataItem:t[f],level:u,group:h,rowType:"groupHeader",expanded:v},v&&(h.expanded=v,g=Math.max(D(e,t[f].items,n,o,a,i,s,c,d,u+1,h),g)),("always"===n||v&&"visible"===n)&&(e[e.length]={dataIndex:-1,dataItem:t[f],rowType:"groupFooter",level:u,expanded:v})}return g}function L(e,t,n,l=0,a=!1){const i=[];if(!e)return[];e&&void 0===e.length&&(e=[e]),e.forEach((e,s)=>{const c=(e=e.props?e.props:e).id?e.id:r.tableKeyboardNavigationTools.generateNavigatableId(""+n.prevId++,n.idPrefix,"column"),d=!!(o.canUseDOM&&e.media&&window.matchMedia)&&!window.matchMedia(e.media).matches,u=a||d||e.hidden,m=null==t?void 0:t.find(e=>e.id===c),p=L(e.children,(null==m?void 0:m.children)||[],n,l+1,u);i.push(Object.assign({depth:l},w,p.length?{cell:()=>null,filterCell:()=>null}:{},e,{id:c,declarationIndex:i.length,children:p,headerColSpan:0,rowSpan:0,columnType:e.columnType||"data",colSpan:e.colSpan||1,isAccessible:!0,hidden:u,left:null,right:null,rowSpannable:e.rowSpannable},m?{width:m.width,orderIndex:m.orderIndex}:{}))});if(i.sort((e,t)=>e.orderIndex===t.orderIndex?e.declarationIndex-t.declarationIndex:(e.orderIndex||0)-(t.orderIndex||0)),0===l){const e=[],t=(n,l)=>n.forEach(n=>{n.parentIndex=l,t(n.children,e.push(n)-1)});return t(i,-1),e}return i}const A=e=>Array.isArray(e)?e:e?e.data:[];const G=e=>{let t=e.width;return"number"==typeof(null==e?void 0:e.width)&&null!=e&&e.minResizableWidth&&(null==e?void 0:e.width)<(null==e?void 0:e.minResizableWidth)&&(t=null==e?void 0:e.minResizableWidth),"number"==typeof(null==e?void 0:e.width)&&null!=e&&e.minWidth&&(null==e?void 0:e.width)<(null==e?void 0:e.minWidth)?t=null==e?void 0:e.minWidth:"number"==typeof(null==e?void 0:e.width)&&null!=e&&e.maxWidth&&(null==e?void 0:e.width)>(null==e?void 0:e.maxWidth)&&(t=null==e?void 0:e.maxWidth),void 0!==t?Math.floor(parseFloat(t.toString()))+"px":void 0},F=(e,t)=>t&&t.filter(t=>t.field===e).length>0,B=e=>(e.sort((e,t)=>e.declarationIndex-t.declarationIndex),e.map(e=>{const{declarationIndex:t,parentIndex:n,depth:l,headerColSpan:r,rowSpan:o,index:a,kFirst:i,children:s,...c}=e;return s.length?{children:B(s),...c}:c})),H=e=>{const{cells:t,rowSpannable:n,defaultCell:l,...r}=e;return e.children.length?{...r,children:e.children.map(H)}:r},z=e=>({id:e.id,field:e.field,title:e.title,width:e.width,orderIndex:e.orderIndex,hidden:!1,minWidth:e.minWidth,maxWidth:e.maxWidth,children:e.children?O(e.children):null}),O=e=>e.map(z),K=e=>{const t=[],n=e=>null==e?void 0:e.forEach(e=>{t.push(e),n(e.children)});return n(e),t},V="undefined"!=typeof window&&/Firefox/.test(window.navigator.userAgent),W=(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},q=e=>{var t;return"object"==typeof e?null==(t=e.enabled)||t:null!=e&&e},_=e=>!(!e||e.$$typeof!==Symbol.for("react.client.reference")),U=e=>({id:e.id,ariaColumnIndex:e.ariaColumnIndex,isSelected:e.isSelected,isHighlighted:e.isHighlighted,isInEdit:e.isInEdit,isSorted:e.isSorted,isAlt:e.isAlt,expanded:e.expanded,className:e.className,style:e.style,field:e.field,dataItem:e.dataItem,format:e.format,colSpan:e.colSpan,dataIndex:e.dataIndex,columnIndex:e.columnIndex,columnsCount:e.columnsCount,rowType:e.rowType,level:e.level,editor:e.editor,locked:e.locked,isRtl:e.isRtl,rowDataIndex:e.rowDataIndex,columnPosition:e.columnPosition,group:e.group}),j=e=>{var t,n;const r="object"==typeof e?null==(t=e.enabled)||t:null!=e&&e,o="object"==typeof e&&null!=(n=e.valueGetter)?n:(e,t)=>l.getter(t)(e);return{enabled:r,valueGetter:o}},$=(e,t)=>{const n=(e=>{var t;return I.isValidElement(e)?e:null==(t=I.Children.toArray(e))?void 0:t[0]})(e);return n?I.cloneElement(n,t):null},X=I.createContext([{},()=>{},{}]),Y=()=>I.useContext(X),Z=e=>{var t,n,l,r,o,a,i,s,c,d,u,m,p,g,f,h,v,C,b,E,k,y,x,S,w,R,P;const{children:N,onEditChange:T,onFilterChange:M,onSortChange:D,onSearchChange:L,onPageChange:A,onGroupChange:G,onDataStateChange:F,onSelectionChange:B,onDetailExpandChange:H,onGroupExpandChange:z,onHeaderSelectionChange:O,onColumnsStateChange:K,onRowPinChange:V}=e,[W,q]=I.useState({edit:null!=(t=e.defaultEdit)?t:e.edit,filter:null!=(n=e.defaultFilter)?n:e.filter,highlight:e.highlight,select:null!=(l=e.defaultSelect)?l:e.select,search:null!=(r=e.defaultSearch)?r:e.search,sort:null!=(o=e.defaultSort)?o:e.sort,take:null!=(a=e.defaultTake)?a:e.take,skip:null!=(i=e.defaultSkip)?i:e.skip,group:null!=(s=e.defaultGroup)?s:e.group,detailExpand:null!=(c=e.defaultDetailExpand)?c:e.detailExpand,groupExpand:null!=(d=e.defaultGroupExpand)?d:e.groupExpand,columnsState:null!=(u=e.defaultColumnsState)?u:e.columnsState,pinnedTopRows:null!=(m=e.defaultPinnedTopRows)?m:e.pinnedTopRows,pinnedBottomRows:null!=(p=e.defaultPinnedBottomRows)?p:e.pinnedBottomRows}),_={edit:null!=(g=e.edit)?g:W.edit,filter:null!=(f=e.filter)?f:W.filter,highlight:null!=(h=e.highlight)?h:W.highlight,search:null!=(v=e.search)?v:W.search,sort:null!=(C=e.sort)?C:W.sort,take:null!=(b=e.take)?b:W.take,skip:null!=(E=e.skip)?E:W.skip,group:null!=(k=e.group)?k:W.group,select:null!=(y=e.select)?y:W.select,detailExpand:null!=(x=e.detailExpand)?x:W.detailExpand,groupExpand:null!=(S=e.groupExpand)?S:W.groupExpand,columnsState:null!=(w=e.columnsState)?w:W.columnsState,pinnedTopRows:null!=(R=e.pinnedTopRows)?R:W.pinnedTopRows,pinnedBottomRows:null!=(P=e.pinnedBottomRows)?P:W.pinnedBottomRows};return I.createElement(X.Provider,{value:[_,e=>{},{onEditChange:e=>{q(t=>({...t,edit:e.edit})),null==T||T(e)},onFilterChange:M&&(e=>{q(t=>({...t,filter:e.filter})),null==M||M(e)}),onSearchChange:e=>{q(t=>({...t,search:e.search,skip:0})),null==L||L(e)},onHighlightChange:t=>{q(e=>({...e,highlight:t.highlight})),e.onHighlightChange&&e.onHighlightChange(t)},onSortChange:D&&(e=>{q(t=>({...t,sort:e.sort})),null==D||D(e)}),onPageChange:A&&(e=>{q(t=>({...t,...e.page})),null==A||A(e)}),onGroupChange:G&&(e=>{q(t=>({...t,group:e.group})),null==G||G(e)}),onDataStateChange:e=>{q(t=>({...t,...e.dataState})),null==F||F(e)},onSelectionChange:e=>{q(t=>({...t,select:e.select})),null==B||B(e)},onHeaderSelectionChange:e=>{q(t=>({...t,select:e.select})),null==O||O(e)},onDetailExpandChange:e=>{q(t=>({...t,detailExpand:e.detailExpand})),null==H||H(e)},onGroupExpandChange:e=>{q(t=>({...t,groupExpand:e.groupExpand})),null==z||z(e)},onColumnsStateChange:e=>{q(t=>({...t,columnsState:e.columnsState})),null==K||K(e)},onRowPinChange:e=>{q(t=>({...t,pinnedTopRows:e.pinnedTopRows,pinnedBottomRows:e.pinnedBottomRows})),null==V||V(e)}}]},N)},J=e=>{const t=o.useId(),n=e.id||t,l=o.useUnstyled(),r=a.useLocalization(),i=a.useInternationalization(),[,s]=I.useReducer(e=>!e,!0),c=I.useRef(0),d=I.useRef(0),u=I.useRef(0),m=I.useRef(0),p=I.useRef(0),g=I.useRef("body"),[f,,h]=Y();return $(e.children,{...f,...h,id:n,unstyled:l,localization:r,intl:i,scrollLeftRef:c,widthRef:d,containerHeightRef:u,minRowHeightRef:m,virtualSkipRef:p,editZoneRef:g,forceUpdate:s,isClient:!0})},Q=I.createContext(void 0),ee="grid.noRecords",te="grid.pagerInfo",ne="grid.pagerFirstPage",le="grid.pagerPreviousPage",re="grid.pagerNextPage",oe="grid.pagerLastPage",ae="grid.pagerItemsPerPage",ie="grid.pagerPage",se="grid.pagerPageSizeAriaLabel",ce="grid.pagerOf",de="grid.pagerTotalPages",ue="grid.pagerPageNumberLabel",me="grid.pagerAriaKeyshortcuts",pe="grid.pagerMoreButtonLabel",ge="grid.groupPanelEmpty",fe="grid.groupColumn",he="grid.ungroupColumn",ve="grid.columnMenu",Ce="grid.filterApplyButton",be="grid.filterClearButton",Ee="grid.filterClearAllButton",ke="grid.filterResetButton",ye="grid.filterSubmitButton",xe="grid.filterTitle",Ie="grid.sortAscending",Se="grid.sortDescending",we="grid.sortClearButton",Re="grid.sortApplyButton",Pe="grid.searchPlaceholder",Ne="grid.searchboxPlaceholder",Te="grid.exportPDF",Me="grid.exportCSV",De="grid.filterCheckAll",Le="grid.filterChooseOperator",Ae="grid.filterSelectAll",Ge="grid.filterSelectedItems",Fe="grid.sortAriaLabel",Be="grid.editDialogTitle",He="grid.editDialogSaveButtonTitle",ze="grid.editDialogCancelButtonTitle",Oe="grid.filterAriaLabel",Ke="grid.groupPanelAriaLabel",Ve="grid.groupExpand",We="grid.groupCollapse",qe="grid.groupClearButton",_e="grid.groupApplyButton",Ue="grid.detailExpand",je="grid.detailCollapse",$e="grid.selectRow",Xe="grid.gridAriaLabel",Ye="grid.gridRowReorderAriaLabel",Ze="grid.gridPinCellAriaLabel",Je="grid.gridPinToTop",Qe="grid.gridPinToBottom",et="grid.gridUnpin",tt="grid.gridAdaptiveColumnMenuFilterTitle",nt="grid.columnMenuColumnChooserTitle",lt="grid.columnMenuColumnChooserSelectedItems",rt="grid.adaptiveColumnMenuChooserTitle",ot="grid.adaptiveColumnMenuChooserSubTitle",at="grid.columnChooserApplyButton",it="grid.columnChooserResetButton",st="grid.adaptiveColumnMenuCheckboxFilterTitle",ct="grid.adaptiveToolbarSortTitle",dt="grid.adaptiveToolbarGroupTitle",ut="grid.toolbarSort",mt="grid.toolbarAI",pt="grid.aIResponseData",gt="grid.generatedWithAI",ft="grid.toolbarAIApply",ht="grid.toolbarGroup",vt="grid.toolbarFilter",Ct="grid.toolbarColumnsChooser",bt="grid.toolbarCheckboxFilter",Et="grid.smartBoxSearchPlaceholder",kt="grid.smartBoxSemanticSearchPlaceholder",yt="grid.smartBoxAIAssistantPlaceholder",xt="grid.smartBoxSuggestedPrompts",It="grid.smartBoxPreviouslySearched",St="grid.smartBoxPreviouslyAsked",wt="grid.smartBoxNoPreviousSearches",Rt="grid.smartBoxNoPreviousPrompts",Pt="grid.smartBoxClearTitle",Nt="grid.smartBoxSubmitPromptButton",Tt="grid.smartBoxSpeechToTextButton",Mt="grid.smartBoxSearchModeText",Dt="grid.smartBoxSearchModeDescription",Lt="grid.smartBoxSemanticSearchModeText",At="grid.smartBoxSemanticSearchModeDescription",Gt="grid.headerGroupSpacerAccessibleLabel",Ft={[Ue]:"Expand detail row",[je]:"Collapse detail row",[Ve]:"Expand group",[We]:"Collapse Group",[qe]:"Clear grouping",[_e]:"Done",[ee]:"No records available",[ge]:"Drag a column header and drop it here to group by that column",[Ce]:"Apply",[be]:"Clear",[Ee]:"Clear all filters",[ke]:"Reset",[ye]:"Filter",[xe]:"Filter",[Ie]:"Sort Ascending",[Se]:"Sort Descending",[we]:"Clear sorting",[Re]:"Done",[Fe]:"Sortable",[ct]:"Sort by",[dt]:"Group by",[ut]:"Sort",[mt]:"AI Assistant",[ft]:"Apply",[pt]:"Operation is successful. Data is: \n",[gt]:"Generated with AI",[ht]:"Group",[vt]:"Filter",[Ct]:"Columns",[bt]:"Filter",[fe]:"Group Column",[he]:"Ungroup Column",[ve]:"Column menu",[ae]:"items per page",[te]:"{0} - {1} of {2} items",[ne]:"Go to the first page",[le]:"Go to the previous page",[re]:"Go to the next page",[oe]:"Go to the last page",[ie]:"Page",[se]:"Page size",[ce]:"of",[de]:"{0}",[ue]:"Type a page number",[me]:"Enter ArrowRight ArrowLeft",[pe]:"More pages",[Pe]:"Search",[Ne]:"Search...",[Te]:"Export PDF",[Me]:"Export CSV",[De]:"Check All",[Be]:"Edit Dialog",[He]:"Save",[ze]:"Cancel",[Le]:"Choose Operator",[Ge]:"selected items",[Ae]:"Select All",[Oe]:"Filter",[Ke]:"Group panel",[Gt]:"Group",[Xe]:"Table",[Ye]:"Drag row",[Ze]:"Pin row",[Je]:"Pin row to top",[Qe]:"Pin row to bottom",[et]:"Unpin",[$e]:"Select Row",[nt]:"Columns Chooser",[tt]:"Filter by",[rt]:"Columns Chooser",[ot]:"Selected fields are visible",[st]:"Filter by",[lt]:"Selected items",[at]:"Apply",[it]:"Reset",[Et]:"Search",[kt]:"Semantic Search",[yt]:"Sort, filter, or group with AI",[xt]:"Suggested prompts",[It]:"Previously searched",[St]:"Previously asked",[wt]:"No previous searches",[Rt]:"No previous prompts",[Pt]:"Clear",[Nt]:"Submit prompt",[Tt]:"Speech to text",[Mt]:"Search",[Dt]:"Looks for exact word matches across your data.",[Lt]:"Semantic Search",[At]:"Understands context to surface the most relevant results.","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"},Bt=e=>{const t=I.useContext(Q),n=a.useLocalization(),l=e.expanded,s=l?je:Ue,c=n.toLanguageString(s,Ft[s]);return I.createElement("a",{onClick:n=>{n.preventDefault(),null!=t&&t.itemChange&&t.itemChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:n,field:e.field,value:!l,_expand:!0}),void 0!==e.dataItem[t.dataItemKey]&&(null==t||t.dispatchDetailExpand({type:r.DETAIL_EXPAND_ACTION.TOGGLE,id:e.dataItem[t.dataItemKey]}))},"aria-label":c,href:"#",tabIndex:-1},I.createElement(o.IconWrap,{name:l?"minus":"plus",icon:l?i.minusIcon:i.plusIcon}))},Ht=e=>{let t=null,n=null;const l=U(e);return"groupFooter"===e.rowType?t={className:"k-table-td k-hierarchy-cell",role:"gridcell"}:"groupHeader"!==e.rowType&&(t={className:"k-table-td k-hierarchy-cell",role:"gridcell","aria-expanded":!!e.expanded,"aria-colindex":e.ariaColumnIndex},n=I.createElement(Bt,{...l})),{tdProps:t,content:n}},zt=e=>{var t,n;return null==(n=null==(t=e.cells)?void 0:t.hierarchy)?void 0:n[e.rowType||"data"]},Ot=e=>{const t=I.useContext(Q),n=r.useTableKeyboardNavigation(e.id),l=I.useCallback(n=>{n.isDefaultPrevented()||n.keyCode===o.Keys.enter&&null!=t&&t.dispatchDetailExpand&&(n.preventDefault(),t.dispatchDetailExpand({type:r.DETAIL_EXPAND_ACTION.TOGGLE,id:o.getter(t.dataItemKey)(e.dataItem)}))},[e.dataItem,t]);return{...n,..."groupHeader"!==e.rowType&&"groupFooter"!==e.rowType?{onKeyDown:l}:{}}},Kt=e=>{const t=I.useContext(Q);return{onContextMenu:t.onContextMenu,onChange:t.itemChange,selectionChange:n=>{t.selectionChange({event:n,dataItem:e.dataItem,dataIndex:e.rowDataIndex,columnIndex:e.columnIndex})}}},Vt=(e,t)=>{const n=I.useContext(Q);return I.useCallback(l=>{null!=n&&n.onContextMenu&&n.onContextMenu.call(void 0,l,e,t)},[n,e,t])},Wt=e=>{const t=I.useContext(Q).getCellPositionStyle(e.columnPosition)||{};return{...e.style,...t}},qt=e=>{const{cellProps:t}=e,{tdProps:n,content:l}=Ht(t),r=Ot(t),o=Kt(t),a=zt(t);return a?I.createElement(a,{...t,...o,tdProps:{...n,...r}},l):"groupHeader"!==t.rowType?I.createElement("td",{...n,...r},l):null},_t=e=>{const t=I.useRef(null),n=I.useRef(null),l=I.useRef(!1),a=I.useContext(Q),i=o.useRtl(a.headerElementRef);a.columnResizeRef.current&&a.columnResizeRef.current.setIsRtl("rtl"===i),I.useImperativeHandle(a.headerRef,()=>({setScrollLeft:e=>{t.current&&t.current.scrollLeft!==e&&(l.current=!0,t.current.scrollLeft=e)},setWidth:e=>{n.current&&(n.current.style.width=e?e+"px":"")},table:()=>n.current}));const s=o.useUnstyled(),c=s&&s.uGrid?s.uGrid:o.uGrid,{size:d}=e;return e.staticHeaders?I.createElement("div",{ref:a.headerElementRef,className:o.classNames(c.header({draggable:e.draggable}),e.className),role:"presentation"},I.createElement("div",{ref:t,className:o.classNames(c.headerWrap({})),onScroll:e=>{var n;if(l.current)return void(l.current=!1);if(!t.current)return;const r=t.current.scrollLeft,o=(null==(n=a.vsRef.current)?void 0:n.container)||null;o&&o.scrollLeft!==r&&(o.scrollLeft=r)},role:"presentation"},I.createElement("table",{ref:n,className:o.classNames(c.headerTable({size:d}),e.className),role:"presentation"},I.createElement("colgroup",{ref:e=>{a.columnResizeRef.current&&(a.columnResizeRef.current.colGroupHeader=e)}},e.cols),I.createElement("thead",{className:o.classNames(c.tableThead({})),role:"rowgroup",...r.tableKeyboardNavigationHeaderAttributes},e.headerRow,e.filterRow)))):I.createElement("thead",{role:"presentation",className:o.classNames(c.thead({draggable:e.draggable}),e.className),...r.tableKeyboardNavigationHeaderAttributes},e.headerRow,e.filterRow)};_t.displayName="KendoReactHeader";const Ut=I.createContext(void 0),jt=e=>{const t=I.useRef(null),n=I.useRef(null),l=I.useRef(null),r=I.useMemo(()=>({actionSheetRef:t,firstViewRef:n,secondViewRef:l}),[]);return I.createElement(Ut.Provider,{value:r},e.children)},$t=e=>{const t=I.useContext(Q),{actionSheetRef:n,firstViewRef:l,secondViewRef:r}=I.useContext(Ut),s=o.useAdaptiveModeContext(),u=a.useLocalization(),m={animation:!0,navigatable:!1,navigatableElements:[],expand:e.computedShow,animationStyles:s&&t.adaptiveColumnMenuRef<=s.small?{top:0,width:"100%",height:"100%"}:void 0,className:"k-adaptive-actionsheet",position:s&&t.adaptiveColumnMenuRef<=s.small?"fullscreen":void 0};return I.createElement(c.ActionSheet,{...m,ref:n,style:{"--kendo-actionsheet-view-current":1},onClose:()=>{e.closeMenu()}},I.createElement(c.ActionSheetView,{className:"k-actionsheet-view-animated",ref:l,style:{transitionDuration:"500ms",transitionProperty:"transform"}},I.createElement(c.ActionSheetHeader,null,I.createElement("div",{className:"k-actionsheet-titlebar-group"},I.createElement("div",{className:"k-actionsheet-title"},I.createElement("div",{className:"k-text-center"},t.adaptiveTitle||u.toLanguageString(ve,Ft[ve]))),I.createElement("div",{className:"k-actionsheet-actions"},I.createElement(d.Button,{svgIcon:i.xIcon,onClick:e.closeMenu,fillMode:"flat"})))),I.createElement(c.ActionSheetContent,null,I.createElement("div",{className:"k-column-menu k-column-menu-lg"},e.children))),I.createElement(c.ActionSheetView,{className:"k-actionsheet-view-animated",ref:r,style:{transitionDuration:"500ms",transitionProperty:"transform"}}))},Xt=[".k-columnmenu-item-content",".k-filter-menu-container"].map(e=>o.FOCUSABLE_ELEMENTS.map(t=>`${e} ${t}`)),Yt=[[".k-columnmenu-item"],...Xt],Zt=e=>{var t;const n=I.useContext(Q),[l,r]=I.useState(!1),c=I.useRef(null),d=I.useRef(null),m=I.useRef(null),p=I.useRef(0),g=o.useDocument(c),{columnMenu:f,...h}=e,{column:v,columnMenuIcon:C,navigatable:b}=e,E=a.useLocalization(),k=v.title||v.field,y=k?`${k} `:"",x=()=>{e.onCloseMenu&&e.onCloseMenu(),r(!1),!e.navigatable&&c.current&&c.current.focus()},S=I.useMemo(()=>void 0!==e.show?e.show:l,[e.show,l]),w=(e,t,n)=>{n.preventDefault(),n.shiftKey?t.focusPrevious(e):t.focusNext(e)},R=(e,t,n)=>{e&&(n.preventDefault(),e.click())},P=(e,t,n)=>{n.preventDefault(),x()},N=(e,t,n)=>{t.focusElement(e)},T=I.useCallback((e,t)=>{const n=[];if(!t||"object"!=typeof t)return!1;if(Array.isArray(t.filters))for(const n of t.filters)if(T(e,n))return!0;return"field"in t&&"string"==typeof t.field&&n.push(t.field),n.includes(e)},[]),M=I.useCallback((e,t)=>!(!t||!Array.isArray(t))&&t.some(t=>t.field===e),[]),D=I.useMemo(()=>v.field&&(T(v.field,n.filter)||M(v.field,n.group)),[v.field,n.filter,n.group,T,M]);return I.useEffect(()=>(S&&d.current&&(m.current=new o.Navigation({tabIndex:0,root:d,selectors:Yt,keyboardEvents:{keydown:{Tab:w,Enter:R,Escape:P}},mouseEvents:{mousedown:N}}),m.current.focusElement(m.current.first,null)),()=>{m.current&&(m.current=null)}),[S]),I.createElement(I.Fragment,null,I.createElement("a",{className:o.classNames("k-grid-header-menu k-grid-column-menu",{"k-active":D}),ref:c,onClick:t=>{t.preventDefault(),l&&e.onCloseMenu&&e.onCloseMenu(),r(!l)},onKeyDown:e=>{var t;if("Tab"===e.key){const n=e.target,l=n&&(null==(t=n.closest(".k-grid"))?void 0:t.getElementsByClassName("k-grid-content")[0]);l&&l.scrollWidth>l.clientWidth&&n.scrollIntoView({inline:"center"})}},href:"#",tabIndex:b?-1:void 0,"aria-label":`${b?"":y}${E.toLanguageString(ve,Ft[ve])}`},C?I.createElement(o.IconWrap,{name:C.name,icon:C}):I.createElement(o.IconWrap,{name:"more-vertical",icon:i.moreVerticalIcon})),I.createElement(jt,null,n.mobileMode?I.createElement(I.Fragment,null,u.createPortal(I.createElement($t,{computedShow:S,ColumnMenu:f,closeMenu:x},f&&I.createElement(f,{...h,onCloseMenu:x})),null==(t=g())?void 0:t.body)):I.createElement(s.Popup,{anchor:c.current,show:S,popupClass:"k-grid-columnmenu-popup",onMouseDownOutside:e=>{!e.isAnchorClicked&&r(!1)}},I.createElement("div",{ref:d,onBlur:e=>{const t=o.getActiveElement(document);clearTimeout(p.current),p.current=window.setTimeout(()=>{!n.mobileMode&&t&&e.relatedTarget!==c.current&&d.current&&!d.current.contains(t)&&x()})},onFocus:()=>{clearTimeout(p.current)},onMouseDown:e=>{var t;null==(t=m.current)||t.triggerMouseEvent(e)},onKeyDown:e=>{var t;null==(t=m.current)||t.triggerKeyboardEvent(e)},className:"k-column-menu k-column-menu-md"},f&&I.createElement(f,{...h,onCloseMenu:x})))))},Jt=e=>{const t=o.useUnstyled(),n=t&&t.uGrid?t.uGrid:o.uGrid,l=e.onClick?{onClick:e.onClick}:{};return I.createElement("span",{className:o.classNames(n.headerCellInner({}))},I.createElement("span",{className:o.classNames(n.headerCellLink({sortable:e.columnMenuWrapperProps.sortable})),...l},I.createElement("span",{className:o.classNames(n.columnTitle({}))},e.title||e.field||" "),e.children),e.columnMenuWrapperProps.columnMenu&&I.createElement(Zt,{...e.columnMenuWrapperProps}))},Qt=I.createContext(void 0),en=e=>{const t=I.useContext(Q),n=I.useRef(null),[l,r]=I.useState(),a=(n,l)=>{e.sortable&&l.sortable&&(n.preventDefault(),t.sortChange&&t.headerCellClick(n,l))};return I.createElement(Qt.Provider,{value:{cellClick:a,cellKeyDown:(l,i)=>{if(l.isDefaultPrevented())return;const{keyCode:s,metaKey:c,ctrlKey:d,altKey:u}=l,m=e.sortable&&i.sortable,p=l.target;if(m&&l.keyCode===o.Keys.enter&&-1!==p.className.indexOf("k-table-th")&&a(l,i),e.navigatable){if(e.groupable&&(c&&s===o.Keys.enter||d&&s===o.Keys.space)){l.preventDefault();const n=e.columns.findIndex(e=>e.field===i.field);t.columnGroupChange&&t.columnGroupChange(n,l)}u&&s===o.Keys.down&&(l.preventDefault(),r(i.field),n.current=p)}},handleCloseMenu:()=>{r(void 0),n.current&&"-1"!==n.current.getAttribute("tabindex")&&n.current.focus()},showColumnMenuField:l}},e.children)},tn=e=>{const t=I.useContext(Q),n=I.useContext(Qt),l=t.isClient||e.isClient,r={style:{...t.getCellPositionStyle(e.column)}},o={onKeyDown:t=>{n.cellKeyDown(t,e.column)},onContextMenu:n=>{t.onContextMenu(n,void 0,e.column.field)}};let a={onClick:t=>{n.cellClick(t,e.column)}};return l&&(a={...a,selectionChange:t.onHeaderSelectionChange,columnMenuWrapperProps:{...e.columnMenuWrapperProps,onSortChange:t.sortChange,onFilterChange:t.filterChange,onGroupChange:t.groupChange,onColumnsStateChange:t.onColumnsStateChange,show:n.showColumnMenuField===e.column.field||void 0,onCloseMenu:n.handleCloseMenu,columnsState:t.columnsState}}),e.isCustom&&(a=l?{...a,thProps:{...e.thProps,...o,...r}}:{...a,...o,...r}),$(e.children,{...a})},nn=e=>{const t=I.useRef(null),n=o.useUnstyled(),l=n&&n.uGrid?n.uGrid:o.uGrid;return I.createElement(o.Draggable,{onPress:n=>{const l=t.current&&t.current.element;l&&e.pressHandler&&e.pressHandler(n.event,l)},onDrag:n=>{const l=t.current&&t.current.element;l&&e.dragHandler&&e.dragHandler(n.event,l)},onRelease:n=>{t.current&&t.current.element&&e.releaseHandler&&e.releaseHandler(n.event)},hint:e.dragClue,autoScroll:{boundaryElementRef:e.headerRef,direction:{horizontal:!0,vertical:!1}},scrollContainer:e.containerRef||void 0,ref:t},I.createElement("tr",{className:o.classNames(l.simpleTr({})),style:{touchAction:"none"},role:"row","aria-rowindex":e.ariaRowIndex},e.children))},ln=e=>{const t=I.useContext(Q);return t.dragLogicRef.current.pressHandler&&I.createElement(nn,{ariaRowIndex:e.ariaRowIndex,pressHandler:t.dragLogicRef.current.pressHandler,dragHandler:t.dragLogicRef.current.dragHandler,releaseHandler:t.dragLogicRef.current.releaseHandler,dragClue:t.dragLogicRef.current.dragClue,headerRef:t.headerElementRef,containerRef:t.containerElementRef},e.children)||I.createElement("tr",{className:e.className,role:"row","aria-rowindex":e.ariaRowIndex},e.children)},rn=e=>{const t=I.useContext(Q),n=I.useContext(Qt),l={style:{...t.getCellPositionStyle(e.column)}};return $(e.children,{onKeyDown:t=>{n.cellKeyDown(t,e.column)},onContextMenu:n=>{t.onContextMenu(n,void 0,e.column.field)},...l})},on=e=>{const{column:t}=e,n=I.useContext(Q);return n.columnResizeRef.current&&n.columnResizeRef.current.resizable&&t.resizable&&I.createElement(r.ColumnResizer,{key:2,resize:(e,l,r)=>n.columnResizeRef.current&&n.columnResizeRef.current.dragHandler(e,t,l,r),autofit:e=>n.columnResizeRef.current&&n.columnResizeRef.current.dblClickHandler(e,[t.id])})||I.createElement(I.Fragment,null)},an={none:"none",asc:"ascending",desc:"descending"},sn=e=>{const t=e.columnsState||[],n=e.unstyled,l=n&&n.uGrid?n.uGrid:o.uGrid;let a=0,s=-1;const c=t=>{if(!e.sort)return null;const n=o.classNames(l.sortIcon({}));return t>=0&&[I.createElement("span",{key:1,className:n},I.createElement(o.IconWrap,{name:"sort-"+e.sort[t].dir+"-small",icon:"asc"===e.sort[t].dir?i.sortAscSmallIcon:i.sortDescSmallIcon})),e.sort.length>1&&I.createElement("span",{key:2,className:n},I.createElement("span",{className:o.classNames(l.sortOrder({}))},t+1))]},d=e.columns.map(H);return I.createElement(en,{sortable:e.sortable,sort:e.sort,navigatable:e.navigatable,groupable:e.groupable,columns:d},e.columnsMap.map((n,i)=>I.createElement(ln,{key:i,className:o.classNames(l.simpleTr({})),ariaRowIndex:i+1},(n=>n.map(n=>{var i,d,u;const m=e.columns[n],p=t[n],g=null!=(d=null!=(i=m.locked)?i:null==p?void 0:p.locked)&&d,f=e.sortable&&m.sortable,h=e.sort?e.sort.findIndex(e=>e.field===m.field):-1,v=h>=0&&e.sort[h].dir||"none",C=null===m.columnMenu?null:m.columnMenu||e.columnMenu,b=m.menuIcon||e.columnMenuIcon,E=o.classNames(o.classNames(l.headerTh({first:m.kFirst,filterable:!!C,locked:g,sorted:e.sort&&e.sort.some(e=>e.field===m.field)})),m.headerClassName);!1===g&&(m.left=0);const k=e.localization.toLanguageString(Fe,Ft[Fe]),y=m.isAccessible?{ariaSort:an[v],role:"columnheader",ariaColumnIndex:m.ariaColumnIndex,ariaSelected:!1,ariaDescription:f?k:"",ariaHasPopup:C?"dialog":void 0}:{role:"presentation"},x=m.declarationIndex>=0?++s:--a,S={field:m.field,title:m.title,selectionValue:null!=(u=m.headerSelectionValue)?u:e.headerSelectionValue,children:c(h),selectionChange:null,columnMenuWrapperProps:{column:{field:m.field,title:m.title,locked:g,filter:m.filter,id:m.id},sortable:f&&e.sortable,sort:e.sort,filter:e.filter,filterable:e.filterable&&m.filterable,filterOperators:e.filterOperators,navigatable:e.navigatable,group:e.group,groupable:e.groupable,columnMenu:C,columnMenuIcon:b}},w={...y,colSpan:m.headerColSpan,rowSpan:m.rowSpan,className:E,columnId:m.id,navigatable:m.navigatable,role:"columnheader"},R=H(m),P={column:R,sortable:e.sortable,sort:e.sort,columnMenuWrapperProps:S.columnMenuWrapperProps},N=m.defaultHeaderCell?m.defaultHeaderCell:Jt,T=[I.createElement(tn,{key:1,...P,isClient:_(N)},I.createElement(N,{...S})),I.createElement(on,{key:2,column:R})],M=W(e.cells,m.cells);if(M&&M.headerCell){const e=M.headerCell,t=_(e);return I.createElement(tn,{key:x,...P,thProps:w,isCustom:!0,isClient:t},I.createElement(e,{...S,thProps:w,index:n},T))}return I.createElement(rn,{key:x,column:R},I.createElement(r.HeaderThElement,{...w},T))}))(n))))},cn=[{text:"grid.filterAndLogic",operator:"and"},{text:"grid.filterOrLogic",operator:"or"}],dn={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"}]},un=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,mn=(e,t)=>e.map(e=>({text:t.toLanguageString(e.text,Ft[e.text]),operator:e.operator})),pn=[{text:"grid.filterBooleanAll",operator:""},{text:"grid.filterIsTrue",operator:!0},{text:"grid.filterIsFalse",operator:!1}],gn={text:!1,numeric:!1,date:!1,boolean:!0},fn=(e,t,n,l=!0)=>{const r=hn(n.operators);let o=n.operator;switch(n.filterType){case"numeric":case"date":(!o||un(o))&&(o=r),l&&null===e&&o===r&&(o="");break;case"text":(!o||un(o))&&(o=r),l&&!e&&o===r&&(o="");break;default:return}n.onChange({value:e,operator:o,syntheticEvent:t})},hn=(e,t)=>t?e[t][0].operator:e[0].operator,vn=e=>e||"text",Cn=(e,t)=>{const n=e.target.value;t({value:n.operator,operator:""===n.operator?"":"eq",syntheticEvent:e.syntheticEvent})},bn=(e,t,n)=>{let l=t;const r=e.target.value;e.target.state.opened&&(un(r.operator)&&(l=null),null===t&&!un(r.operator)&&(l=void 0),n({value:l,operator:r.operator,syntheticEvent:e.syntheticEvent}))},En=(e,t)=>{const n=t||new a.IntlService("en-US");if(e.value){const t=n.parseDate(e.value);t&&(e.value=t)}e.filters&&(e.filters=e.filters.map(e=>{if(e.value){const t=n.parseDate(e.value);t&&(e.value=t)}return e}))},kn=(e,t)=>{var n;let l=e;if(l&&0===Object.keys(l).length&&(l=null),null!=l&&l.filters&&Array.isArray(l.filters)){const r=t||{filters:[],logic:"and"},o=r.filters.map(e=>e.field||e.filters[0].field),a=l.filters.every(e=>e.field===(null==l?void 0:l.filters[0]).field),i=a?[{filters:l.filters.map(e=>(En(e),e)),logic:l.logic}]:l.filters.map(t=>{const n=t.filters?t:{logic:e.logic,filters:[t]};return En(n),n}),s=a&&o.includes(i[0].filters[0].field);if(s){const t=r.filters[0];t.filters&&(null==(n=t.filters)||n.push(...i[0].filters),t.logic=e.logic)}l={...r,filters:s?r.filters:[...r.filters,...i]}}return l},yn=e=>{const t=I.useRef(null),n=a.useLocalization(),l=(t,n)=>{fn(t,n,e)},r=t=>{bn(t,e.value,e.onChange)},s=t=>{Cn(t,e.onChange)};return I.createElement("div",{className:"k-filtercell"},I.createElement("div",{className:"k-filtercell-wrapper"},((n,r,o)=>{switch(n){case"numeric":return I.createElement(p.NumericTextBox,{ref:t,size:e.size,value:r,onChange:e=>{l(e.value,e.syntheticEvent)},title:e.title,ariaLabel:e.ariaLabel});case"date":return I.createElement(g.DatePicker,{ref:t,size:e.size,value:r,onChange:e=>{l(e.value,e.syntheticEvent)},title:e.title,ariaLabel:e.ariaLabel,popupSettings:{onMouseDownOutside:e=>{!e.isAnchorClicked&&e.state&&e.state.props.show&&t&&t.current.togglePopup()}}});case"boolean":{const n=e=>null==e;return I.createElement(m.DropDownList,{ref:t,size:e.size,onChange:s,value:o.find(e=>e.operator===(n(r)?"":r)),data:o,textField:"text",title:e.title,ariaLabel:e.ariaLabel,popupSettings:{onMouseDownOutside:e=>{!e.isAnchorClicked&&e.state&&e.state.props.show&&t&&t.current.togglePopup()}}})}default:return I.createElement(p.TextBox,{ref:t,size:e.size,value:r||"",onChange:e=>{l(e.target.value,e.syntheticEvent)},title:e.title,"aria-label":e.ariaLabel})}})(e.filterType,e.value,e.booleanValues),I.createElement("div",{className:"k-filtercell-operator"},(()=>{if("boolean"===e.filterType)return;let t;const l=e.operators.find(t=>t.operator===e.operator)||null;return I.createElement(m.DropDownList,{ref:e=>{t=e},size:e.size,value:l,onChange:r,className:"k-dropdown-operator",svgIcon:i.filterIcon,data:e.operators,textField:"text",title:n.toLanguageString(Le,Ft[Le]),popupSettings:{width:"",onMouseDownOutside:function(e){!e.isAnchorClicked&&e.state&&e.state.props.show&&t&&t.togglePopup()}}})})()," ",I.createElement(d.Button,{size:e.size,svgIcon:i.filterClearIcon,className:o.classNames({"k-clear-button-visible":!!(null!==e.value&&""!==e.value||e.operator)}),title:n.toLanguageString(be,Ft[be]),type:"button",onClick:n=>{n.preventDefault(),e.onChange({value:"",operator:"",syntheticEvent:n}),t.current&&(t.current.element.value="",setTimeout(()=>{t.current.element.focus()},0))},disabled:!(null!==e.value&&""!==e.value||e.operator)}))))},xn=e=>{const t=I.useContext(Q),n=t.getCellPositionStyle(e.column),l=e.isCustom?{style:{...n}}:{};return t.isClient||e.isClient?$(e.children,{onChange:n=>{((n,l,r,o)=>{if(!t.filterChange)return;const a=[];(""!==n&&null!==n||""!==l)&&a.push({field:r,operator:l,value:n}),e.filter&&e.filter.filters&&(e.filter.filters||[]).forEach(e=>{e&&e.field!==r&&a.push(e)});const i=e.filter&&e.filter.logic?e.filter.logic:"and";t.filterChange(a.length>0?{logic:i,filters:a}:null,o)})(n.value,n.operator,e.field,n.syntheticEvent)},tdProps:{...e.tdProps,...l},thProps:{...e.tdProps,...l}}):$(e.children,{})},In=e=>{const t={style:{...I.useContext(Q).getCellPositionStyle(e.column)}};return $(e.children,{...t})},Sn=e=>{const t=(t,n)=>{let l=""+(n?"k-grid-header-sticky":"");return e.sort&&e.sort.filter(e=>e.field===t).length>0&&(l+=" k-sorted"),l},n=e.filter&&e.filter.filters||[];let l=0,a=-1;const i=e.columns.filter(e=>0===e.children.length).map(i=>{const s=vn(i.filter),c=(e=>{if(void 0===e)return;const t=n.filter(t=>t.field===e);return t.length?t[0]:void 0})(i.field),d=`${i.field} ${e.localization.toLanguageString(Oe,Ft[Oe])}`;let u=c&&c.value;void 0===u&&(u="text"===s?"":null);const m=i.filterable&&{field:i.field,title:i.filterTitle,value:u,operator:c&&c.operator,operators:mn(e.filterOperators[s]||[],e.localization),booleanValues:mn(pn,e.localization),filterType:s,ariaLabel:"reorder"===i.columnType?"":d,size:e.size},p=i.declarationIndex>=0?++a:--l,g={columnId:r.tableKeyboardNavigationTools.getFilterColumnId(i.id),navigatable:i.navigatable||e.navigatable,className:o.classNames("k-table-td",t(i.field,i.locked)||void 0),role:"gridcell",ariaLabel:"reorder"===i.columnType?void 0:d,ariaColumnIndex:i.ariaColumnIndex},f=H(i),h={column:f,filter:e.filter,field:i.field,tdProps:g,thProps:g};let v=null;m&&"reorder"!==i.columnType&&(v=I.createElement(xn,{...h,isClient:_(yn)},I.createElement(yn,{...m})));const C=W(e.cells,i.cells);if(C&&C.filterCell){const e=C.filterCell,t=_(e);return I.createElement(xn,{key:p,...h,isClient:t,isCustom:!0},I.createElement(e,{key:p,...m,tdProps:g,thProps:g,index:a},v))}return I.createElement(In,{key:p,column:f},I.createElement(r.HeaderTdElement,{...g},v))});return I.createElement("tr",{className:"k-table-row k-filter-row","aria-rowindex":e.ariaRowIndex,role:"row"},i)},wn=e=>{const t=I.useRef(null),{dir:n,title:l}=e;return I.createElement(o.Draggable,{onPress:n=>{const l=t.current&&t.current.element;l&&e.onPress&&e.onPress(n.event,l)},onDrag:n=>{const l=t.current&&t.current.element;l&&e.onDrag&&e.onDrag(n.event,l)},onRelease:n=>{t.current&&t.current.element&&e.onRelease&&e.onRelease(n.event)},ref:t},I.createElement("div",{className:"k-chip",onClick:t=>{if(t.preventDefault(),e.onSortChange){const n="asc"===e.dir?"desc":"asc";e.onSortChange(t,n)}},onContextMenu:t=>{const n={title:e.title,dir:e.dir,index:e.index};e.onContextMenu&&e.onContextMenu.call(void 0,t,{dataItem:{...n}})},onKeyDown:t=>{(t.keyCode===o.Keys.delete||t.keyCode===o.Keys.backspace)&&(t.preventDefault(),t.stopPropagation(),e.onRemove&&e.onRemove(t))},tabIndex:0,role:"button",style:{touchAction:"none"}},I.createElement("span",null,I.createElement(o.IconWrap,{name:"sort-"+n+"-small",icon:"asc"===n?i.sortAscSmallIcon:i.sortDescSmallIcon,size:"small"})),I.createElement("span",{className:"k-chip-content"},I.createElement("span",{className:"k-chip-label"},l)),I.createElement("span",{className:"k-chip-actions"},I.createElement("span",{className:"k-chip-action k-chip-remove-action",onClick:t=>{t.preventDefault(),t.stopPropagation(),e.onRemove&&e.onRemove(t)}},I.createElement(o.IconWrap,{name:"x-circle",icon:i.xCircleIcon,size:"small"})))))},Rn=e=>{const t=I.useContext(Q),n=a.useLocalization(),l=e.group||[],r=t=>{const n=e.columns.find(e=>e.field===t),l=n&&(n.title||n.field);return void 0===l?t:l},o=l.map((n,l)=>I.createElement(wn,{key:l,index:l,dir:n.dir||"asc",title:r(n.field),onRemove:n=>{((n,l)=>{const r=e.group.slice();r.splice(l,1),t.groupChange(r,n)})(n,l)},onSortChange:(r,o)=>{((n,l,r,o)=>{const a=Object.assign({},r,{dir:o}),i=e.group.slice();i.splice(l,1,a),t.groupChange(i,n)})(r,l,n,o)},onPress:t.dragLogicRef.current.pressHandler,onDrag:t.dragLogicRef.current.dragHandler,onRelease:t.dragLogicRef.current.releaseHandler,onContextMenu:t.onContextMenu}));return I.createElement("div",{ref:t.dragLogicRef.current.refGroupPanelDiv,className:"k-grouping-header",role:"toolbar","aria-label":n.toLanguageString(Ke,Ft[Ke]),"aria-controls":e.ariaControls||""},I.createElement("div",{className:"k-chip-list",role:"none"},o),I.createElement("div",{className:"k-grouping-drop-container"},!o.length&&n.toLanguageString(ge,Ft[ge])," "))},Pn=e=>{var t;const n=I.useRef(null),l=I.useRef(null),r=I.useContext(Q);return I.useImperativeHandle(r.footerRef,()=>({setScrollLeft:e=>{n.current&&(n.current.scrollLeft=e)},setWidth:e=>{l.current&&(l.current.style.width=e?e+"px":"")}})),e.staticHeaders?I.createElement("div",{className:"k-grid-footer",role:"presentation"},I.createElement("div",{ref:n,className:"k-grid-footer-wrap",role:"presentation"},I.createElement("table",{ref:l,className:o.classNames("k-table k-grid-footer-table",{[`k-table-${(null==(t=o.kendoThemeMaps.sizeMap)?void 0:t[e.size])||e.size}`]:e.size},e.className),role:"presentation"},I.createElement("colgroup",{ref:e=>{r.columnResizeRef.current.colGroupFooter=e}},e.cols),I.createElement("tfoot",{className:"k-table-tfoot",role:"presentation"},e.row)))):I.createElement("tfoot",{className:"k-table-tfoot"},e.row)};Pn.displayName="KendoReactFooter";const Nn=e=>!0===e?{group:!0,sort:!0,filter:!0,search:!0,page:!0}:e||void 0,Tn=(e,t)=>{const{autoProcessData:n,group:o,defaultGroup:a,sort:i,defaultSort:s,filter:c,defaultFilter:d,search:u,pageable:m,take:p,skip:g,total:f,isVirtualScroll:h=!1,includePaging:v=!0}=t,C=v&&n.page&&!(h&&!m),b=n.group?o||a:void 0,E=n.sort?i||s:void 0,k=n.filter?c||d:void 0,{data:y,total:x}=l.process(e,{group:b,sort:E,filter:r.combineFilters(k,n.search?u:void 0),...C?{take:m?p||10:p,skip:g||0}:{}});return{data:y,total:null!=f?f:x}},Mn=e=>{const t=I.useContext(Q),n=a.useLocalization(),l=e.expanded?We:Ve,s=n.toLanguageString(l,Ft[l]),c="rtl"===t.dir,d=c?"chevron-left":"chevron-right",u=c?i.chevronLeftIcon:i.chevronRightIcon;return I.createElement("a",{onClick:n=>{var l;n.preventDefault(),null!=t&&t.itemChange&&t.itemChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:n,field:void 0,value:!e.expanded}),null==(l=null==t?void 0:t.dispatchGroupExpand)||l.call(t,{type:r.GROUP_EXPAND_ACTION.TOGGLE,group:e.group})},href:"#",tabIndex:-1,"aria-label":s},I.createElement(o.IconWrap,{name:e.expanded?"chevron-down":d,icon:e.expanded?i.chevronDownIcon:u}))},Dn=e=>{const{columnIndex:t,level:n,columnsCount:l,rowType:r,dataItem:a,field:i,expanded:s,ariaColumnIndex:c,locked:d,style:u}=e,m=i||"";let p=null,g=null,f=null;const h=U(e);let v=!1;return void 0===t||void 0===n||t<n||void 0===l||"groupHeader"!==r||void 0===a[m]?p={style:u,key:"g"+t,className:o.classNames("k-table-td","k-group-cell",{"k-grid-content-sticky":d}),role:"gridcell"}:t===n&&(v=!0,p={className:"k-table-td",style:u,colSpan:l-t,key:"g-colspan",role:"gridcell","aria-selected":!1,"aria-expanded":s,"aria-colindex":c},f=I.createElement("p",{className:"k-reset"},I.createElement(Mn,{...h}),a[m]instanceof Date?a[m].toString():a[m]),d&&(p={...p,colSpan:0,style:{...u,position:"sticky",zIndex:2}},g={className:"k-table-td",role:"gridcell",colSpan:l-t,style:{borderLeftWidth:0,borderRightWidth:0}})),{tdProps:p,td2Props:g,content:f,renderToggleCell:v}},Ln=e=>{var t,n;return null==(n=null==(t=e.cells)?void 0:t.group)?void 0:n[e.rowType||"data"]},An=(e,t)=>{const n=I.useContext(Q),l=r.useTableKeyboardNavigation(e.id),a=Vt(e.dataItem,e.field),i=Wt(e),s=I.useCallback(t=>{t.isDefaultPrevented()||t.keyCode===o.Keys.enter&&null!=n&&n.itemChange&&(t.preventDefault(),n.itemChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:t,field:void 0,value:!e.expanded}),null==n||n.dispatchGroupExpand({type:r.GROUP_EXPAND_ACTION.TOGGLE,group:e.group},t))},[n,e.dataItem,e.dataIndex,e.expanded,e.group]);return{...l,...t?{onKeyDown:s}:{},onContextMenu:a,style:i}},Gn=e=>{const{cellProps:t}=e,{tdProps:n,td2Props:l,content:r,renderToggleCell:o}=Dn(t),a=An(t,o),i=Kt(t),s={...t,...i},c={...n,...a,style:{...null==n?void 0:n.style,...a.style}},d=l?{...l,onContextMenu:a.onContextMenu}:null,u=Ln(t);if(u)return n?I.createElement(u,{...s,tdProps:c,td2Props:d},r):null;const m=n?I.createElement("td",{...c,key:null==n?void 0:n.key},r):null,p=d?I.createElement("td",{...d}):null;return p?I.createElement(I.Fragment,null,m,p):m},Fn=e=>{var t;const n=o.useUnstyled(),l=null!=(t=null==n?void 0:n.uGrid)?t:o.uGrid,r=a.useLocalization().toLanguageString(Gt,Ft[Gt]);return I.createElement("span",{className:o.classNames(l.srOnly({}))},r)},Bn=e=>{const t=I.useContext(Q),n=o.useId(),l=a.useLocalization(),r=e.id||n;return[I.createElement("span",{key:0,className:"k-checkbox-wrap"},I.createElement("input",{id:r,type:"checkbox",tabIndex:-1,className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":l.toLanguageString($e,Ft[$e]),"aria-checked":e.selectionValue,checked:e.selectionValue,onChange:n=>t.onHeaderSelectionChange({field:e.field,syntheticEvent:n})})),e.columnMenuWrapperProps.columnMenu&&I.createElement(Zt,{...e.columnMenuWrapperProps})]},Hn=e=>{const t=a.useLocalization();return I.createElement(I.Fragment,null,e.children||t.toLanguageString(ee,Ft[ee]))};Hn.displayName="KendoReactGridNoRecords";const zn=e=>{const t=I.useContext(Q),n=r.useTableKeyboardNavigation(e.id),l=t.getCellPositionStyle(e.column),o={...n,style:{...l}};return e.isCustom&&(t.isClient||e.isClient)?$(e.children,{tdProps:{...e.tdProps,...o},...n}):$(e.children,{...o})},On=e=>{const{column:t,index:n,cells:l}=e,r={colSpan:1!==t.colSpan?t.colSpan:void 0,className:o.classNames("k-table-td",t.locked&&void 0!==t.left?"k-grid-footer-sticky":""),role:"gridcell","aria-colindex":t.ariaColumnIndex},a={field:t.field,ariaColumnIndex:t.ariaColumnIndex,...r},i=H(t),s=W(l,t.cells);if(s&&s.footerCell){const t=s.footerCell,l=_(t);return I.createElement(zn,{key:n,id:e.id,tdProps:r,isCustom:!0,isClient:l,column:i},I.createElement(t,{...a,tdProps:r,index:n}))}return I.createElement(zn,{key:n,id:e.id,column:i},I.createElement("td",{...r}))},Kn=e=>I.createElement("tr",{className:"k-table-row",role:"row","aria-rowindex":e.ariaRowIndex},(e=>e.filter(t=>{var n;return!(((e,t)=>{var n;let l=e[t.parentIndex];for(;l;){if(null!=(n=l.cells)&&n.footerCell)return!0;l=e[l.parentIndex]}return!1})(e,t)||(null==(n=t.cells)||!n.footerCell)&&t.children&&t.children.length>0)}))(e.columns).map((t,n)=>{const l=r.tableKeyboardNavigationTools.generateNavigatableId(`${n}-footercell`,e.idPrefix,"nodata");return I.createElement(On,{key:l,column:t,id:l,index:n,cells:e.cells})})),Vn=e=>(({buttonCount:e=10,info:t=!0,type:n="numeric",pageSizes:l,previousNext:r=!0,responsive:o,adaptive:a,adaptiveTitle:i,navigatable:s,pageSizeValue:c})=>({buttonCount:e,info:t,pageSizes:!0===l?[5,10,20]:l||void 0,previousNext:r,responsive:!1!==o,adaptive:!0===a,adaptiveTitle:i||"Items per page",navigatable:!1!==s,type:n,pageSizeValue:c}))(!0===e?{}:e),Wn=Object.freeze({name:"@progress/kendo-react-grid",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate:0,version:"15.0.0",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"}),qn=e=>{const{colSpan:t,ariaColIndex:n,unstyled:l}=e,r=l&&l.uGrid?l.uGrid:o.uGrid;return{tdProps:{className:o.classNames(r.detailTd({})),colSpan:t,"aria-colindex":n,role:"gridcell"}}},_n=e=>{const t=r.useTableKeyboardNavigation(e.id);return{onContextMenu:Vt(e.dataItem),...t}},Un=e=>{const{dataItem:t,dataIndex:n}=e,{tdProps:l}=qn(e),r=_n(e);return I.createElement("td",{...l,...r},I.createElement(e.detail,{dataItem:t,dataIndex:n}))},jn=e=>{const t=I.useContext(Q),n=t.headerRef.current,l=n&&n.table()&&n.table().clientWidth,a=o.uGrid;return I.createElement("div",{key:"no-records",className:o.classNames(a.noRecords({})),style:{width:l}},I.createElement("div",{className:o.classNames(a.noRecordsTemplate({})),[r.KEYBOARD_NAV_DATA_ID]:r.tableKeyboardNavigationTools.generateNavigatableId("no-records",r.tableKeyboardNavigationTools.getIdPrefix(t.navigationStateRef))},e