@progress/kendo-react-grid
Version:
React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package
15 lines • 268 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"),require("axios")):"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","axios"],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,e.axios)}(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,x){"use strict";function I(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 S=I(t);const w=e=>null;w.displayName="KendoReactGridColumn";const R={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0};w.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 P=()=>S.createElement(S.Fragment,null),N=P;var T=(e=>(e.head="head",e.body="body",e))(T||{}),M=(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))(M||{});function D(e,t){const n=(null!=e?e:"").split(".");let l=t;return n.forEach(e=>{l=l?l[e]:void 0}),l}function L(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(L(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 A(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=A(e.children,(null==m?void 0:m.children)||[],n,l+1,u);i.push(Object.assign({depth:l},R,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 G=e=>Array.isArray(e)?e:e?e.data:[];const F=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},B=(e,t)=>t&&t.filter(t=>t.field===e).length>0,H=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:H(s),...c}:c})),z=e=>{const{cells:t,rowSpannable:n,defaultCell:l,...r}=e;return e.children.length?{...r,children:e.children.map(z)}:r},O=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?K(e.children):null}),K=e=>e.map(O),V=e=>{const t=[],n=e=>null==e?void 0:e.forEach(e=>{t.push(e),n(e.children)});return n(e),t},W="undefined"!=typeof window&&/Firefox/.test(window.navigator.userAgent),q=(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},_=e=>{var t;return"object"==typeof e?null==(t=e.enabled)||t:null!=e&&e},U=e=>!(!e||e.$$typeof!==Symbol.for("react.client.reference")),j=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}),$=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}},X=(e,t)=>{const n=(e=>{var t;return S.isValidElement(e)?e:null==(t=S.Children.toArray(e))?void 0:t[0]})(e);return n?S.cloneElement(n,t):null},Y=S.createContext([{},()=>{},{}]),Z=()=>S.useContext(Y),J=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,I,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]=S.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!=(I=e.groupExpand)?I: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 S.createElement(Y.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)},Q=e=>{const t=o.useId(),n=e.id||t,l=o.useUnstyled(),r=a.useLocalization(),i=a.useInternationalization(),[,s]=S.useReducer(e=>!e,!0),c=S.useRef(0),d=S.useRef(0),u=S.useRef(0),m=S.useRef(0),p=S.useRef(0),g=S.useRef("body"),[f,,h]=Z();return X(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})},ee=S.createContext(void 0),te="grid.noRecords",ne="grid.pagerInfo",le="grid.pagerFirstPage",re="grid.pagerPreviousPage",oe="grid.pagerNextPage",ae="grid.pagerLastPage",ie="grid.pagerItemsPerPage",se="grid.pagerPage",ce="grid.pagerPageSizeAriaLabel",de="grid.pagerOf",ue="grid.pagerTotalPages",me="grid.groupPanelEmpty",pe="grid.groupColumn",ge="grid.ungroupColumn",fe="grid.columnMenu",he="grid.filterApplyButton",ve="grid.filterClearButton",Ce="grid.filterClearAllButton",be="grid.filterResetButton",Ee="grid.filterSubmitButton",ke="grid.filterTitle",ye="grid.sortAscending",xe="grid.sortDescending",Ie="grid.sortClearButton",Se="grid.sortApplyButton",we="grid.searchPlaceholder",Re="grid.searchboxPlaceholder",Pe="grid.exportPDF",Ne="grid.exportCSV",Te="grid.filterCheckAll",Me="grid.filterChooseOperator",De="grid.filterSelectAll",Le="grid.filterSelectedItems",Ae="grid.sortAriaLabel",Ge="grid.editDialogTitle",Fe="grid.editDialogSaveButtonTitle",Be="grid.editDialogCancelButtonTitle",He="grid.filterAriaLabel",ze="grid.groupPanelAriaLabel",Oe="grid.groupExpand",Ke="grid.groupCollapse",Ve="grid.groupClearButton",We="grid.groupApplyButton",qe="grid.detailExpand",_e="grid.detailCollapse",Ue="grid.selectRow",je="grid.gridAriaLabel",$e="grid.gridRowReorderAriaLabel",Xe="grid.gridPinCellAriaLabel",Ye="grid.gridPinToTop",Ze="grid.gridPinToBottom",Je="grid.gridUnpin",Qe="grid.gridAdaptiveColumnMenuFilterTitle",et="grid.columnMenuColumnChooserTitle",tt="grid.columnMenuColumnChooserSelectedItems",nt="grid.adaptiveColumnMenuChooserTitle",lt="grid.adaptiveColumnMenuChooserSubTitle",rt="grid.columnChooserApplyButton",ot="grid.columnChooserResetButton",at="grid.adaptiveColumnMenuCheckboxFilterTitle",it="grid.adaptiveToolbarSortTitle",st="grid.adaptiveToolbarGroupTitle",ct="grid.toolbarSort",dt="grid.toolbarAI",ut="grid.aIResponseData",mt="grid.generatedWithAI",pt="grid.toolbarAIApply",gt="grid.toolbarGroup",ft="grid.toolbarFilter",ht="grid.toolbarColumnsChooser",vt="grid.toolbarCheckboxFilter",Ct="grid.smartBoxSearchPlaceholder",bt="grid.smartBoxSemanticSearchPlaceholder",Et="grid.smartBoxAIAssistantPlaceholder",kt="grid.smartBoxSuggestedPrompts",yt="grid.smartBoxPreviouslySearched",xt="grid.smartBoxPreviouslyAsked",It="grid.smartBoxNoPreviousSearches",St="grid.smartBoxNoPreviousPrompts",wt="grid.smartBoxClearTitle",Rt="grid.smartBoxSubmitPromptButton",Pt="grid.smartBoxSpeechToTextButton",Nt="grid.smartBoxSearchModeText",Tt="grid.smartBoxSearchModeDescription",Mt="grid.smartBoxSemanticSearchModeText",Dt="grid.smartBoxSemanticSearchModeDescription",Lt="grid.headerGroupSpacerAccessibleLabel",At={[qe]:"Expand detail row",[_e]:"Collapse detail row",[Oe]:"Expand group",[Ke]:"Collapse Group",[Ve]:"Clear grouping",[We]:"Done",[te]:"No records available",[me]:"Drag a column header and drop it here to group by that column",[he]:"Apply",[ve]:"Clear",[Ce]:"Clear all filters",[be]:"Reset",[Ee]:"Filter",[ke]:"Filter",[ye]:"Sort Ascending",[xe]:"Sort Descending",[Ie]:"Clear sorting",[Se]:"Done",[Ae]:"Sortable",[it]:"Sort by",[st]:"Group by",[ct]:"Sort",[dt]:"AI Assistant",[pt]:"Apply",[ut]:"Operation is successful. Data is: \n",[mt]:"Generated with AI",[gt]:"Group",[ft]:"Filter",[ht]:"Columns",[vt]:"Filter",[pe]:"Group Column",[ge]:"Ungroup Column",[fe]:"Column menu",[ie]:"items per page",[ne]:"{0} - {1} of {2} items",[le]:"Go to the first page",[re]:"Go to the previous page",[oe]:"Go to the next page",[ae]:"Go to the last page",[se]:"Page",[ce]:"Page size",[de]:"of",[ue]:"{0}",[we]:"Search",[Re]:"Search...",[Pe]:"Export PDF",[Ne]:"Export CSV",[Te]:"Check All",[Ge]:"Edit Dialog",[Fe]:"Save",[Be]:"Cancel",[Me]:"Choose Operator",[Le]:"selected items",[De]:"Select All",[He]:"Filter",[ze]:"Group panel",[Lt]:"Group",[je]:"Table",[$e]:"Drag row",[Xe]:"Pin row",[Ye]:"Pin row to top",[Ze]:"Pin row to bottom",[Je]:"Unpin",[Ue]:"Select Row",[et]:"Columns Chooser",[Qe]:"Filter by",[nt]:"Columns Chooser",[lt]:"Selected fields are visible",[at]:"Filter by",[tt]:"Selected items",[rt]:"Apply",[ot]:"Reset",[Ct]:"Search",[bt]:"Semantic Search",[Et]:"Sort, filter, or group with AI",[kt]:"Suggested prompts",[yt]:"Previously searched",[xt]:"Previously asked",[It]:"No previous searches",[St]:"No previous prompts",[wt]:"Clear",[Rt]:"Submit prompt",[Pt]:"Speech to text",[Nt]:"Search",[Tt]:"Looks for exact word matches across your data.",[Mt]:"Semantic Search",[Dt]:"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"},Gt=e=>{const t=S.useContext(ee),n=a.useLocalization(),l=e.expanded,s=l?_e:qe,c=n.toLanguageString(s,At[s]);return S.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},S.createElement(o.IconWrap,{name:l?"minus":"plus",icon:l?i.minusIcon:i.plusIcon}))},Ft=e=>{let t=null,n=null;const l=j(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=S.createElement(Gt,{...l})),{tdProps:t,content:n}},Bt=e=>{var t,n;return null==(n=null==(t=e.cells)?void 0:t.hierarchy)?void 0:n[e.rowType||"data"]},Ht=e=>{const t=S.useContext(ee),n=r.useTableKeyboardNavigation(e.id),l=S.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}:{}}},zt=e=>{const t=S.useContext(ee);return{onContextMenu:t.onContextMenu,onChange:t.itemChange,selectionChange:n=>{t.selectionChange({event:n,dataItem:e.dataItem,dataIndex:e.rowDataIndex,columnIndex:e.columnIndex})}}},Ot=(e,t)=>{const n=S.useContext(ee);return S.useCallback(l=>{null!=n&&n.onContextMenu&&n.onContextMenu.call(void 0,l,e,t)},[n,e,t])},Kt=e=>{const t=S.useContext(ee).getCellPositionStyle(e.columnPosition)||{};return{...e.style,...t}},Vt=e=>{const{cellProps:t}=e,{tdProps:n,content:l}=Ft(t),r=Ht(t),o=zt(t),a=Bt(t);return a?S.createElement(a,{...t,...o,tdProps:{...n,...r}},l):"groupHeader"!==t.rowType?S.createElement("td",{...n,...r},l):null},Wt=e=>{const t=S.useRef(null),n=S.useRef(null),l=S.useRef(!1),a=S.useContext(ee),i=o.useRtl(a.headerElementRef);a.columnResizeRef.current&&a.columnResizeRef.current.setIsRtl("rtl"===i),S.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?S.createElement("div",{ref:a.headerElementRef,className:o.classNames(c.header({draggable:e.draggable}),e.className),role:"presentation"},S.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"},S.createElement("table",{ref:n,className:o.classNames(c.headerTable({size:d}),e.className),role:"presentation"},S.createElement("colgroup",{ref:e=>{a.columnResizeRef.current&&(a.columnResizeRef.current.colGroupHeader=e)}},e.cols),S.createElement("thead",{className:o.classNames(c.tableThead({})),role:"rowgroup",...r.tableKeyboardNavigationHeaderAttributes},e.headerRow,e.filterRow)))):S.createElement("thead",{role:"presentation",className:o.classNames(c.thead({draggable:e.draggable}),e.className),...r.tableKeyboardNavigationHeaderAttributes},e.headerRow,e.filterRow)};Wt.displayName="KendoReactHeader";const qt=S.createContext(void 0),_t=e=>{const t=S.useRef(null),n=S.useRef(null),l=S.useRef(null),r=S.useMemo(()=>({actionSheetRef:t,firstViewRef:n,secondViewRef:l}),[]);return S.createElement(qt.Provider,{value:r},e.children)},Ut=e=>{const t=S.useContext(ee),{actionSheetRef:n,firstViewRef:l,secondViewRef:r}=S.useContext(qt),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 S.createElement(c.ActionSheet,{...m,ref:n,style:{"--kendo-actionsheet-view-current":1},onClose:()=>{e.closeMenu()}},S.createElement(c.ActionSheetView,{className:"k-actionsheet-view-animated",ref:l,style:{transitionDuration:"500ms",transitionProperty:"transform"}},S.createElement(c.ActionSheetHeader,null,S.createElement("div",{className:"k-actionsheet-titlebar-group"},S.createElement("div",{className:"k-actionsheet-title"},S.createElement("div",{className:"k-text-center"},t.adaptiveTitle||u.toLanguageString(fe,At[fe]))),S.createElement("div",{className:"k-actionsheet-actions"},S.createElement(d.Button,{svgIcon:i.xIcon,onClick:e.closeMenu,fillMode:"flat"})))),S.createElement(c.ActionSheetContent,null,S.createElement("div",{className:"k-column-menu k-column-menu-lg"},e.children))),S.createElement(c.ActionSheetView,{className:"k-actionsheet-view-animated",ref:r,style:{transitionDuration:"500ms",transitionProperty:"transform"}}))},jt=[".k-columnmenu-item-content",".k-filter-menu-container"].map(e=>o.TABBABLE_ELEMENTS.map(t=>`${e} ${t}`)),$t=[[".k-tabstrip-items"],[".k-columnmenu-item"],...jt],Xt=e=>{var t;const n=S.useContext(ee),[l,r]=S.useState(!1),c=S.useRef(null),d=S.useRef(null),m=S.useRef(null),p=S.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()},I=S.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=S.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=S.useCallback((e,t)=>!(!t||!Array.isArray(t))&&t.some(t=>t.field===e),[]),D=S.useMemo(()=>v.field&&(T(v.field,n.filter)||M(v.field,n.group)),[v.field,n.filter,n.group,T,M]);return S.useEffect(()=>(I&&d.current&&(m.current=new o.Navigation({tabIndex:0,root:d,selectors:$t,keyboardEvents:{keydown:{Tab:w,Enter:R,Escape:P}},mouseEvents:{mousedown:N}}),m.current.focusElement(m.current.first,null)),()=>{m.current&&(m.current=null)}),[I]),S.createElement(S.Fragment,null,S.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(fe,At[fe])}`},C?S.createElement(o.IconWrap,{name:C.name,icon:C}):S.createElement(o.IconWrap,{name:"more-vertical",icon:i.moreVerticalIcon})),S.createElement(_t,null,n.mobileMode?S.createElement(S.Fragment,null,u.createPortal(S.createElement(Ut,{computedShow:I,ColumnMenu:f,closeMenu:x},f&&S.createElement(f,{...h,onCloseMenu:x})),null==(t=g())?void 0:t.body)):S.createElement(s.Popup,{anchor:c.current,show:I,popupClass:"k-grid-columnmenu-popup",onMouseDownOutside:e=>{!e.isAnchorClicked&&r(!1)}},S.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&&S.createElement(f,{...h,onCloseMenu:x})))))},Yt=e=>{const t=o.useUnstyled(),n=t&&t.uGrid?t.uGrid:o.uGrid,l=e.onClick?{onClick:e.onClick}:{};return S.createElement("span",{className:o.classNames(n.headerCellInner({}))},S.createElement("span",{className:o.classNames(n.headerCellLink({sortable:e.columnMenuWrapperProps.sortable})),...l},S.createElement("span",{className:o.classNames(n.columnTitle({}))},e.title||e.field||" "),e.children),e.columnMenuWrapperProps.columnMenu&&S.createElement(Xt,{...e.columnMenuWrapperProps}))},Zt=S.createContext(void 0),Jt=e=>{const t=S.useContext(ee),n=S.useRef(null),[l,r]=S.useState(),a=(n,l)=>{e.sortable&&l.sortable&&(n.preventDefault(),t.sortChange&&t.headerCellClick(n,l))};return S.createElement(Zt.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)},Qt=e=>{const t=S.useContext(ee),n=S.useContext(Zt),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}),X(e.children,{...a})},en=e=>{const t=S.useRef(null),n=o.useUnstyled(),l=n&&n.uGrid?n.uGrid:o.uGrid;return S.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},S.createElement("tr",{className:o.classNames(l.simpleTr({})),style:{touchAction:"none"},role:"row","aria-rowindex":e.ariaRowIndex},e.children))},tn=e=>{const t=S.useContext(ee);return t.dragLogicRef.current.pressHandler&&S.createElement(en,{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)||S.createElement("tr",{className:e.className,role:"row","aria-rowindex":e.ariaRowIndex},e.children)},nn=e=>{const t=S.useContext(ee),n=S.useContext(Zt),l={style:{...t.getCellPositionStyle(e.column)}};return X(e.children,{onKeyDown:t=>{n.cellKeyDown(t,e.column)},onContextMenu:n=>{t.onContextMenu(n,void 0,e.column.field)},...l})},ln=e=>{const{column:t}=e,n=S.useContext(ee);return n.columnResizeRef.current&&n.columnResizeRef.current.resizable&&t.resizable&&S.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])})||S.createElement(S.Fragment,null)},rn={none:"none",asc:"ascending",desc:"descending"},on=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&&[S.createElement("span",{key:1,className:n},S.createElement(o.IconWrap,{name:"sort-"+e.sort[t].dir+"-small",icon:"asc"===e.sort[t].dir?i.sortAscSmallIcon:i.sortDescSmallIcon})),e.sort.length>1&&S.createElement("span",{key:2,className:n},S.createElement("span",{className:o.classNames(l.sortOrder({}))},t+1))]},d=e.columns.map(z);return S.createElement(Jt,{sortable:e.sortable,sort:e.sort,navigatable:e.navigatable,groupable:e.groupable,columns:d},e.columnsMap.map((n,i)=>S.createElement(tn,{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(Ae,At[Ae]),y=m.isAccessible?{ariaSort:rn[v],role:"columnheader",ariaColumnIndex:m.ariaColumnIndex,ariaSelected:!1,ariaDescription:f?k:""}:{role:"presentation"},x=m.declarationIndex>=0?++s:--a,I={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=z(m),P={column:R,sortable:e.sortable,sort:e.sort,columnMenuWrapperProps:I.columnMenuWrapperProps},N=m.defaultHeaderCell?m.defaultHeaderCell:Yt,T=[S.createElement(Qt,{key:1,...P,isClient:U(N)},S.createElement(N,{...I})),S.createElement(ln,{key:2,column:R})],M=q(e.cells,m.cells);if(M&&M.headerCell){const e=M.headerCell,t=U(e);return S.createElement(Qt,{key:x,...P,thProps:w,isCustom:!0,isClient:t},S.createElement(e,{...I,thProps:w,index:n},T))}return S.createElement(nn,{key:x,column:R},S.createElement(r.HeaderThElement,{...w},T))}))(n))))},an=[{text:"grid.filterAndLogic",operator:"and"},{text:"grid.filterOrLogic",operator:"or"}],sn={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"}]},cn=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,dn=(e,t)=>e.map(e=>({text:t.toLanguageString(e.text,At[e.text]),operator:e.operator})),un=[{text:"grid.filterBooleanAll",operator:""},{text:"grid.filterIsTrue",operator:!0},{text:"grid.filterIsFalse",operator:!1}],mn={text:!1,numeric:!1,date:!1,boolean:!0},pn=(e,t,n)=>{const l=gn(n.operators);let r=n.operator;switch(n.filterType){case"numeric":case"date":(!r||cn(r))&&(r=l),null===e&&r===l&&(r="");break;case"text":(!r||cn(r))&&(r=l),!e&&r===l&&(r="");break;default:return}n.onChange({value:e,operator:r,syntheticEvent:t})},gn=(e,t)=>t?e[t][0].operator:e[0].operator,fn=e=>e||"text",hn=(e,t)=>{const n=e.target.value;t({value:n.operator,operator:""===n.operator?"":"eq",syntheticEvent:e.syntheticEvent})},vn=(e,t,n)=>{let l=t;const r=e.target.value;e.target.state.opened&&(cn(r.operator)&&(l=null),null===t&&!cn(r.operator)&&(l=void 0),n({value:l,operator:r.operator,syntheticEvent:e.syntheticEvent}))},Cn=(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}))},bn=(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=>(Cn(e),e)),logic:l.logic}]:l.filters.map(t=>{const n=t.filters?t:{logic:e.logic,filters:[t]};return Cn(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},En=e=>{const t=S.useRef(null),n=a.useLocalization(),l=(t,n)=>{pn(t,n,e)},r=t=>{vn(t,e.value,e.onChange)},s=t=>{hn(t,e.onChange)};return S.createElement("div",{className:"k-filtercell"},S.createElement("div",{className:"k-filtercell-wrapper"},((n,r,o)=>{switch(n){case"numeric":return S.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 S.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 S.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 S.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),S.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 S.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(Me,At[Me]),popupSettings:{width:"",onMouseDownOutside:function(e){!e.isAnchorClicked&&e.state&&e.state.props.show&&t&&t.togglePopup()}}})})()," ",S.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(ve,At[ve]),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)}))))},kn=e=>{const t=S.useContext(ee),n=t.getCellPositionStyle(e.column),l=e.isCustom?{style:{...n}}:{};return t.isClient||e.isClient?X(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}}):X(e.children,{})},yn=e=>{const t={style:{...S.useContext(ee).getCellPositionStyle(e.column)}};return X(e.children,{...t})},xn=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=fn(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(He,At[He])}`;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:dn(e.filterOperators[s]||[],e.localization),booleanValues:dn(un,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=z(i),h={column:f,filter:e.filter,field:i.field,tdProps:g,thProps:g};let v=null;m&&"reorder"!==i.columnType&&(v=S.createElement(kn,{...h,isClient:U(En)},S.createElement(En,{...m})));const C=q(e.cells,i.cells);if(C&&C.filterCell){const e=C.filterCell,t=U(e);return S.createElement(kn,{key:p,...h,isClient:t,isCustom:!0},S.createElement(e,{key:p,...m,tdProps:g,thProps:g,index:a},v))}return S.createElement(yn,{key:p,column:f},S.createElement(r.HeaderTdElement,{...g},v))});return S.createElement("tr",{className:"k-table-row k-filter-row","aria-rowindex":e.ariaRowIndex,role:"row"},i)},In=e=>{const t=S.useRef(null),{dir:n,title:l}=e;return S.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},S.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"}},S.createElement("span",null,S.createElement(o.IconWrap,{name:"sort-"+n+"-small",icon:"asc"===n?i.sortAscSmallIcon:i.sortDescSmallIcon,size:"small"})),S.createElement("span",{className:"k-chip-content"},S.createElement("span",{className:"k-chip-label"},l)),S.createElement("span",{className:"k-chip-actions"},S.createElement("span",{className:"k-chip-action k-chip-remove-action",onClick:t=>{t.preventDefault(),t.stopPropagation(),e.onRemove&&e.onRemove(t)}},S.createElement(o.IconWrap,{name:"x-circle",icon:i.xCircleIcon,size:"small"})))))},Sn=e=>{const t=S.useContext(ee),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)=>S.createElement(In,{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 S.createElement("div",{ref:t.dragLogicRef.current.refGroupPanelDiv,className:"k-grouping-header",role:"toolbar","aria-label":n.toLanguageString(ze,At[ze]),"aria-controls":e.ariaControls||""},S.createElement("div",{className:"k-chip-list",role:"none"},o),S.createElement("div",{className:"k-grouping-drop-container"},!o.length&&n.toLanguageString(me,At[me])," "))},wn=e=>{var t;const n=S.useRef(null),l=S.useRef(null),r=S.useContext(ee);return S.useImperativeHandle(r.footerRef,()=>({setScrollLeft:e=>{n.current&&(n.current.scrollLeft=e)},setWidth:e=>{l.current&&(l.current.style.width=e?e+"px":"")}})),e.staticHeaders?S.createElement("div",{className:"k-grid-footer",role:"presentation"},S.createElement("div",{ref:n,className:"k-grid-footer-wrap",role:"presentation"},S.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"},S.createElement("colgroup",{ref:e=>{r.columnResizeRef.current.colGroupFooter=e}},e.cols),S.createElement("tfoot",{className:"k-table-tfoot",role:"presentation"},e.row)))):S.createElement("tfoot",{className:"k-table-tfoot"},e.row)};wn.displayName="KendoReactFooter";const Rn=e=>!0===e?{group:!0,sort:!0,filter:!0,search:!0,page:!0}:e||void 0,Pn=(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}},Nn=e=>{const t=S.useContext(ee),n=a.useLocalization(),l=e.expanded?Ke:Oe,s=n.toLanguageString(l,At[l]),c="rtl"===t.dir;return S.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},S.createElement(o.IconWrap,{name:e.expanded?"caret-alt-down":c?"caret-alt-left":"caret-alt-right",icon:e.expanded?i.caretAltDownIcon:c?i.caretAltLeftIcon:i.caretAltRightIcon}))},Tn=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=j(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=S.createElement("p",{className:"k-reset"},S.createElement(Nn,{...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}},Mn=e=>{var t,n;return null==(n=null==(t=e.cells)?void 0:t.group)?void 0:n[e.rowType||"data"]},Dn=(e,t)=>{const n=S.useContext(ee),l=r.useTableKeyboardNavigation(e.id),a=Ot(e.dataItem,e.field),i=Kt(e),s=S.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}},Ln=e=>{const{cellProps:t}=e,{tdProps:n,td2Props:l,content:r,renderToggleCell:o}=Tn(t),a=Dn(t,o),i=zt(t),s={...t,...i},c={...n,...a,style:{...null==n?void 0:n.style,...a.style}},d=l?{...l,onContextMenu:a.onContextMenu}:null,u=Mn(t);if(u)return n?S.createElement(u,{...s,tdProps:c,td2Props:d},r):null;const m=n?S.createElement("td",{...c,key:null==n?void 0:n.key},r):null,p=d?S.createElement("td",{...d}):null;return p?S.createElement(S.Fragment,null,m,p):m},An=e=>{var t;const n=o.useUnstyled(),l=null!=(t=null==n?void 0:n.uGrid)?t:o.uGrid,r=a.useLocalization().toLanguageString(Lt,At[Lt]);return S.createElement("span",{className:o.classNames(l.srOnly({}))},r)},Gn=e=>{const t=S.useContext(ee),n=o.useId(),l=a.useLocalization(),r=e.id||n;return[S.createElement("span",{key:0,className:"k-checkbox-wrap"},S.createElement("input",{id:r,type:"checkbox",tabIndex:-1,className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":l.toLanguageString(Ue,At[Ue]),"aria-checked":e.selectionValue,checked:e.selectionValue,onChange:n=>t.onHeaderSelectionChange({field:e.field,syntheticEvent:n})})),e.columnMenuWrapperProps.columnMenu&&S.createElement(Xt,{...e.columnMenuWrapperProps})]},Fn=e=>{const t=a.useLocalization();return S.createElement(S.Fragment,null,e.children||t.toLanguageString(te,At[te]))};Fn.displayName="KendoReactGridNoRecords";const Bn=e=>{const t=S.useContext(ee),n=r.useTableKeyboardNavigation(e.id),l=t.getCellPositionStyle(e.column),o={...n,style:{...l}};return e.isCustom&&(t.isClient||e.isClient)?X(e.children,{tdProps:{...e.tdProps,...o},...n}):X(e.children,{...o})},Hn=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=z(t),s=q(l,t.cells);if(s&&s.footerCell){const t=s.footerCell,l=U(t);return S.createElement(Bn,{key:n,id:e.id,tdProps:r,isCustom:!0,isClient:l,column:i},S.createElement(t,{...a,tdProps:r,index:n}))}return S.createElement(Bn,{key:n,id:e.id,column:i},S.createElement("td",{...r}))},zn=e=>S.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 S.createElement(Hn,{key:l,column:t,id:l,index:n,cells:e.cells})})),On=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),Kn=Object.freeze({name:"@progress/kendo-react-grid",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate:0,version:"14.3.2",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"}),Vn=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"}}},Wn=e=>{const t=r.useTableKeyboardNavigation(e.id);return{onContextMenu:Ot(e.dataItem),...t}},qn=e=>{const{dataItem:t,dataIndex:n}=e,{tdProps:l}=Vn(e),r=Wn(e);return S.createElement("td",{...l,...r},S.createElement(e.detail,{dataItem:t,dataIndex:n}))},_n=e=>{const t=S.useContext(ee),n=t.headerRef.current,l=n&&n.table()&&n.table().clientWidth,a=o.uGrid;return S.createElement("div",{key:"no-records",className:o.classNames(a.noRecords({})),style:{width:l}},S.createElement("div",{className:o.classNames(a.noRecordsTemplate({})),[r.KEYBOARD_NAV_DATA_ID]:r.tableKeyboardNavigationTools.generateNavigatableId("no-records",r.tableKeyboardNavigationTools.getIdPrefix(t.navigationStateRef))},e.children))};_n.displayName="KendoReactGridNoRecordsContainer";let Un=class{constructor(e){this.columns=[],this.columnsState=[],this.r