UNPKG

@progress/kendo-react-grid

Version:

React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package

15 lines 198 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ /** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 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-inputs"),require("@progress/kendo-react-dateinputs"),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-indicators"),require("@progress/kendo-react-labels"),require("@progress/kendo-react-dialogs"),require("@progress/kendo-react-form"),require("@progress/kendo-react-animation"),require("axios"),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-inputs","@progress/kendo-react-dateinputs","@progress/kendo-react-popup","@progress/kendo-react-layout","@progress/kendo-react-buttons","react-dom","@progress/kendo-react-dropdowns","@progress/kendo-react-indicators","@progress/kendo-react-labels","@progress/kendo-react-dialogs","@progress/kendo-react-form","@progress/kendo-react-animation","axios","@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.KendoReactInputs,e.KendoReactDateinputs,e.KendoReactPopup,e.KendoReactLayout,e.KendoReactButtons,e.ReactDOM,e.KendoReactDropdowns,e.KendoReactIndicators,e.KendoReactLabels,e.KendoReactDialogs,e.KendoReactForm,e.KendoReactAnimation,e.axios,e.KendoReactConversationalUi)}(this,(function(e,t,n,l,r,o,a,i,s,c,d,u,m,p,g,f,h,v,C,E,b,k){"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 y=x(t);const I=e=>null;I.displayName="KendoReactGridColumn";const S={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0};I.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,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 w=()=>t.createElement(t.Fragment,null),R=w;var N=(e=>(e.head="head",e.body="body",e))(N||{}),P=(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))(P||{});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 T(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(T(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 D(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=D(e.children,(null==m?void 0:m.children)||[],n,l+1,u);i.push(Object.assign({depth:l},S,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 L=e=>Array.isArray(e)?e:e?e.data:[];const A=e=>void 0!==e.width?Math.floor(parseFloat(e.width.toString()))+"px":void 0,F=(e,t)=>t&&t.filter((t=>t.field===e)).length>0,G=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:G(s),...c}:c}))),B=e=>{const{cells:t,rowSpannable:n,defaultCell:l,...r}=e;return e.children.length?{...r,children:e.children.map(B)}:r},O=e=>({id:e.id,field:e.field,title:e.title,width:e.width,hidden:!1,children:e.children?z(e.children):null}),z=e=>e.map(O),H=e=>{const t=[],n=e=>null==e?void 0:e.forEach((e=>{t.push(e),n(e.children)}));return n(e),t},K="undefined"!=typeof window&&/Firefox/.test(window.navigator.userAgent),V=(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},W=e=>!(!e||e.$$typeof!==Symbol.for("react.client.reference")),_=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}),U=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}},j=(e,t)=>{const n=(e=>{var t;return y.isValidElement(e)?e:null==(t=y.Children.toArray(e))?void 0:t[0]})(e);return n?y.cloneElement(n,t):null},$=t.createContext([{},()=>{},{}]),X=()=>t.useContext($),Y=e=>{var n,l,r,o,a,i,s,c,d,u,m,p,g,f,h,v,C,E,b,k,x,y,I;const{children:S,onEditChange:w,onFilterChange:R,onSortChange:N,onSearchChange:P,onPageChange:M,onGroupChange:T,onDataStateChange:D,onSelectionChange:L,onDetailExpandChange:A,onGroupExpandChange:F,onHeaderSelectionChange:G,onColumnsStateChange:B}=e,[O,z]=t.useState({edit:null!=(n=e.defaultEdit)?n:e.edit,filter:null!=(l=e.defaultFilter)?l:e.filter,highlight:e.highlight,select:null!=(r=e.defaultSelect)?r:e.select,search:null!=(o=e.defaultSearch)?o:e.search,sort:null!=(a=e.defaultSort)?a:e.sort,take:null!=(i=e.defaultTake)?i:e.take,skip:null!=(s=e.defaultSkip)?s:e.skip,group:null!=(c=e.defaultGroup)?c:e.group,detailExpand:null!=(d=e.defaultDetailExpand)?d:e.detailExpand,groupExpand:null!=(u=e.defaultGroupExpand)?u:e.groupExpand,columnsState:null!=(m=e.defaultColumnsState)?m:e.columnsState}),H={edit:null!=(p=e.edit)?p:O.edit,filter:null!=(g=e.filter)?g:O.filter,highlight:null!=(f=e.highlight)?f:O.highlight,search:null!=(h=e.search)?h:O.search,sort:null!=(v=e.sort)?v:O.sort,take:null!=(C=e.take)?C:O.take,skip:null!=(E=e.skip)?E:O.skip,group:null!=(b=e.group)?b:O.group,select:null!=(k=e.select)?k:O.select,detailExpand:null!=(x=e.detailExpand)?x:O.detailExpand,groupExpand:null!=(y=e.groupExpand)?y:O.groupExpand,columnsState:null!=(I=e.columnsState)?I:O.columnsState};return t.createElement($.Provider,{value:[H,e=>{},{onEditChange:e=>{z((t=>({...t,edit:e.edit}))),null==w||w(e)},onFilterChange:R&&(e=>{z((t=>({...t,filter:e.filter}))),null==R||R(e)}),onSearchChange:e=>{z((t=>({...t,search:e.search}))),null==P||P(e)},onHighlightChange:t=>{z((e=>({...e,highlight:t.highlight}))),e.onHighlightChange&&e.onHighlightChange(t)},onSortChange:N&&(e=>{z((t=>({...t,sort:e.sort}))),null==N||N(e)}),onPageChange:M&&(e=>{z((t=>({...t,...e.page}))),null==M||M(e)}),onGroupChange:T&&(e=>{z((t=>({...t,group:e.group}))),null==T||T(e)}),onDataStateChange:e=>{z((t=>({...t,...e.dataState}))),null==D||D(e)},onSelectionChange:e=>{z((t=>({...t,select:e.select}))),null==L||L(e)},onHeaderSelectionChange:e=>{z((t=>({...t,select:e.select}))),null==G||G(e)},onDetailExpandChange:e=>{z((t=>({...t,detailExpand:e.detailExpand}))),null==A||A(e)},onGroupExpandChange:e=>{z((t=>({...t,groupExpand:e.groupExpand}))),null==F||F(e)},onColumnsStateChange:e=>{z((t=>({...t,columnsState:e.columnsState}))),null==B||B(e)}}]},S)},J=e=>{const t=o.useId(),n=e.id||t,l=o.useUnstyled(),r=a.useLocalization(),i=a.useInternationalization(),[,s]=y.useReducer((e=>!e),!0),c=y.useRef(0),d=y.useRef(0),u=y.useRef(0),m=y.useRef(0),p=y.useRef(0),[g,,f]=X();return j(e.children,{...g,...f,id:n,unstyled:l,localization:r,intl:i,scrollLeftRef:c,widthRef:d,containerHeightRef:u,minRowHeightRef:m,virtualSkipRef:p,forceUpdate:s,isClient:!0})},Q=y.createContext(void 0),Z="grid.noRecords",ee="grid.pagerInfo",te="grid.pagerFirstPage",ne="grid.pagerPreviousPage",le="grid.pagerNextPage",re="grid.pagerLastPage",oe="grid.pagerItemsPerPage",ae="grid.groupPanelEmpty",ie="grid.groupColumn",se="grid.ungroupColumn",ce="grid.columnMenu",de="grid.filterApplyButton",ue="grid.filterClearButton",me="grid.filterClearAllButton",pe="grid.filterResetButton",ge="grid.filterSubmitButton",fe="grid.filterTitle",he="grid.sortAscending",ve="grid.sortDescending",Ce="grid.sortClearButton",Ee="grid.sortApplyButton",be="grid.searchPlaceholder",ke="grid.searchboxPlaceholder",xe="grid.exportPDF",ye="grid.filterCheckAll",Ie="grid.filterChooseOperator",Se="grid.filterSelectAll",we="grid.filterSelectedItems",Re="grid.sortAriaLabel",Ne="grid.editDialogTitle",Pe="grid.editDialogSaveButtonTitle",Me="grid.editDialogCancelButtonTitle",Te="grid.filterAriaLabel",De="grid.groupPanelAriaLabel",Le="grid.groupExpand",Ae="grid.groupCollapse",Fe="grid.groupClearButton",Ge="grid.groupApplyButton",Be="grid.detailExpand",Oe="grid.detailCollapse",ze="grid.selectRow",He="grid.gridAriaLabel",Ke="grid.gridRowReorderAriaLabel",Ve="grid.gridAdaptiveColumnMenuFilterTitle",qe="grid.columnMenuColumnChooserSelectedItems",We="grid.adaptiveColumnMenuChooserTitle",_e="grid.adaptiveColumnMenuChooserSubTitle",Ue="grid.adaptiveColumnMenuCheckboxFilterTitle",je="grid.adaptiveToolbarSortTitle",$e="grid.adaptiveToolbarGroupTitle",Xe="grid.toolbarSort",Ye="grid.toolbarAI",Je="grid.aIResponseData",Qe="grid.generatedWithAI",Ze="grid.toolbarAIApply",et="grid.toolbarGroup",tt="grid.toolbarFilter",nt="grid.toolbarColumnsChooser",lt="grid.toolbarCheckboxFilter",rt={[Be]:"Expand detail row",[Oe]:"Collapse detail row",[Le]:"Expand group",[Ae]:"Collapse Group",[Fe]:"Clear grouping",[Ge]:"Done",[Z]:"No records available",[ae]:"Drag a column header and drop it here to group by that column",[de]:"Apply",[ue]:"Clear",[me]:"Clear all filters",[pe]:"Reset",[ge]:"Filter",[fe]:"Filter",[he]:"Sort Ascending",[ve]:"Sort Descending",[Ce]:"Clear sorting",[Ee]:"Done",[Re]:"Sortable",[je]:"Sort by",[$e]:"Group by",[Xe]:"Sort",[Ye]:"AI Assistant",[Ze]:"Apply",[Je]:"Operation is successful. Data is: \n",[Qe]:"Generated with AI",[et]:"Group",[tt]:"Filter",[nt]:"Columns",[lt]:"Filter",[ie]:"Group Column",[se]:"Ungroup Column",[ce]:"Column menu",[oe]:"items per page",[ee]:"{0} - {1} of {2} items",[te]:"Go to the first page",[ne]:"Go to the previous page",[le]:"Go to the next page",[re]:"Go to the last page","grid.pagerPage":"Page","grid.pagerPageSizeAriaLabel":"Page size","grid.pagerOf":"of","grid.pagerTotalPages":"{0}",[be]:"Search",[ke]:"Search...",[xe]:"Export PDF",[ye]:"Check All",[Ne]:"Edit Dialog",[Pe]:"Save",[Me]:"Cancel",[Ie]:"Choose Operator",[we]:"selected items",[Se]:"Select All",[Te]:"Filter",[De]:"Group panel",[He]:"Table",[Ke]:"Drag row",[ze]:"Select Row","grid.columnMenuColumnChooserTitle":"Columns Chooser",[Ve]:"Filter by",[We]:"Columns Chooser",[_e]:"Selected fields are visible",[Ue]:"Filter by",[qe]:"Selected items","grid.columnChooserApplyButton":"Apply","grid.columnChooserResetButton":"Reset","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"},ot=e=>{const t=y.useContext(Q),n=a.useLocalization(),l=e.expanded,s=l?Oe:Be,c=n.toLanguageString(s,rt[s]);return y.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},y.createElement(o.IconWrap,{name:l?"minus":"plus",icon:l?i.minusIcon:i.plusIcon}))},at=e=>{let t=null,n=null;const l=_(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=y.createElement(ot,{...l})),{tdProps:t,content:n}},it=e=>{var t,n;return null==(n=null==(t=e.cells)?void 0:t.hierarchy)?void 0:n[e.rowType||"data"]},st=e=>{const t=y.useContext(Q),n=r.useTableKeyboardNavigation(e.id),l=y.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}:{}}},ct=e=>{const t=y.useContext(Q);return{onContextMenu:t.onContextMenu,onChange:t.itemChange,selectionChange:n=>{t.selectionChange({event:n,dataItem:e.dataItem,dataIndex:e.rowDataIndex,columnIndex:e.columnIndex})}}},dt=(e,t)=>{const n=y.useContext(Q);return y.useCallback((l=>{null!=n&&n.onContextMenu&&n.onContextMenu.call(void 0,l,e,t)}),[n,e,t])},ut=e=>{const t=y.useContext(Q).getCellPositionStyle(e.columnPosition)||{};return{...e.style,...t}},mt=e=>{const{cellProps:t}=e,{tdProps:n,content:l}=at(t),r=st(t),o=ct(t),a=it(t);return a?y.createElement(a,{...t,...o,tdProps:{...n,...r}},l):"groupHeader"!==t.rowType?y.createElement("td",{...n,...r},l):null},pt=e=>{const{cellProps:t}=e,n=y.useContext(Q),l=o.useId(),a=o.getNestedValue(t.field,t.dataItem);let i=null;const d=y.useCallback((e=>{null!=n&&n.itemChange&&n.itemChange({dataItem:t.dataItem,dataIndex:t.dataIndex,field:t.field,syntheticEvent:e.syntheticEvent,value:e.value})}),[n,t.dataItem,t.dataIndex,t.field]);switch(t.editor){case"numeric":i=y.createElement(s.NumericTextBox,{className:e.className,value:void 0===a?null:a,onChange:d,[r.TABLE_PREVENT_SELECTION_ELEMENT]:!0});break;case"date":i=y.createElement(c.DatePicker,{className:e.className,value:a,onChange:d,[r.TABLE_PREVENT_SELECTION_ELEMENT]:!0});break;case"boolean":i=y.createElement(s.Checkbox,{className:e.className,checked:a||!1,id:l,onChange:d,[r.TABLE_PREVENT_SELECTION_ELEMENT]:!0});break;default:i=y.createElement(s.TextBox,{className:e.className,value:a||"",onChange:d,[r.TABLE_PREVENT_SELECTION_ELEMENT]:!0})}return i},gt=r.TABLE_ROW_INDEX_ATTRIBUTE,ft=r.TABLE_COL_INDEX_ATTRIBUTE,ht=r.TABLE_PREVENT_SELECTION_ELEMENT,vt=/^(?!.*\bChrome).*\bSafari/i,Ct=e=>{let t=null;const n=e.unstyled,l=n&&n.uGrid?n.uGrid:o.uGrid,r=o.classNames(l.editTd({selected:e.isSelected}),e.className);return t={colSpan:e.colSpan,style:e.style,className:r,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ft]:e.columnIndex,role:"gridcell"},{tdProps:t}},Et=e=>{var t,n,l;return(null==(n=null==(t=e.cells)?void 0:t.edit)?void 0:n[e.editor||"text"])||(null==(l=e.cells)?void 0:l.data)},bt=e=>({...r.useTableKeyboardNavigation(e.id),onContextMenu:dt(e.dataItem,e.field),style:ut(e)}),kt=e=>{const{cellProps:t}=e,{tdProps:n}=Ct(t),l=bt(t),r=ct(t),o=y.createElement(pt,{cellProps:t}),a=Et(t);return a?y.createElement(a,{...t,...r,tdProps:{...n,...l}},o):n?y.createElement("td",{...n,...l},o):null},xt=e=>{const t=y.useRef(null),n=y.useRef(null),l=y.useRef(!1),a=y.useContext(Q),i=o.useRtl(a.headerElementRef);a.columnResizeRef.current&&a.columnResizeRef.current.setIsRtl("rtl"===i),y.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="md"}=e;return e.staticHeaders?y.createElement("div",{ref:a.headerElementRef,className:o.classNames(c.header({draggable:e.draggable}),e.className),role:"presentation"},y.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"},y.createElement("table",{ref:n,className:o.classNames(c.headerTable({size:d}),e.className),role:"presentation"},y.createElement("colgroup",{ref:e=>{a.columnResizeRef.current&&(a.columnResizeRef.current.colGroupHeader=e)}},e.cols),y.createElement("thead",{className:o.classNames(c.tableThead({})),role:"rowgroup",...r.tableKeyboardNavigationHeaderAttributes},e.headerRow,e.filterRow)))):y.createElement("thead",{role:"presentation",className:o.classNames(c.thead({draggable:e.draggable}),e.className),...r.tableKeyboardNavigationHeaderAttributes},e.headerRow,e.filterRow)};xt.displayName="KendoReactHeader";const yt=t.createContext(void 0),It=e=>{const n=t.useRef(null),l=t.useRef(null),r=t.useRef(null),o=t.useMemo((()=>({actionSheetRef:n,firstViewRef:l,secondViewRef:r})),[]);return t.createElement(yt.Provider,{value:o},e.children)},St=e=>{const n=t.useContext(Q),{actionSheetRef:l,firstViewRef:r,secondViewRef:s}=t.useContext(yt),c=o.useAdaptiveModeContext(),d=a.useLocalization(),p={animation:!0,navigatable:!1,navigatableElements:[],expand:e.computedShow,animationStyles:c&&n.adaptiveColumnMenuRef<=c.small?{top:0,width:"100%",height:"100%"}:void 0,className:"k-adaptive-actionsheet",position:c&&n.adaptiveColumnMenuRef<=c.small?"fullscreen":void 0};return t.createElement(u.ActionSheet,{...p,ref:l,style:{"--kendo-actionsheet-view-current":1},onClose:()=>{e.closeMenu()}},t.createElement(u.ActionSheetView,{className:"k-actionsheet-view-animated",ref:r,style:{transitionDuration:"500ms",transitionProperty:"transform"}},t.createElement(u.ActionSheetHeader,null,t.createElement("div",{className:"k-actionsheet-titlebar-group"},t.createElement("div",{className:"k-actionsheet-title"},t.createElement("div",{className:"k-text-center"},n.adaptiveTitle||d.toLanguageString(ce,rt[ce]))),t.createElement("div",{className:"k-actionsheet-actions"},t.createElement(m.Button,{svgIcon:i.xIcon,onClick:e.closeMenu,fillMode:"flat"})))),t.createElement(u.ActionSheetContent,null,t.createElement("div",{className:"k-column-menu k-column-menu-lg"},e.children))),t.createElement(u.ActionSheetView,{className:"k-actionsheet-view-animated",ref:s,style:{transitionDuration:"500ms",transitionProperty:"transform"}}))},wt=[".k-columnmenu-item-content",".k-filter-menu-container"].map((e=>o.TABBABLE_ELEMENTS.map((t=>`${e} ${t}`)))),Rt=[[".k-tabstrip-items"],[".k-columnmenu-item"],...wt],Nt=e=>{var t;const n=y.useContext(Q),[l,r]=y.useState(!1),s=y.useRef(null),c=y.useRef(null),u=y.useRef(null),m=y.useRef(0),g=o.useDocument(s),{columnMenu:f,...h}=e,{column:v,columnMenuIcon:C,navigatable:E}=e,b=a.useLocalization(),k=v.title||v.field,x=k?`${k} `:"",I=()=>{e.onCloseMenu&&e.onCloseMenu(),r(!1),!e.navigatable&&s.current&&s.current.focus()},S=y.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())},N=(e,t,n)=>{n.preventDefault(),I()},P=(e,t,n)=>{t.focusElement(e)},M=y.useCallback(((e,t)=>{const n=[];if(!t||"object"!=typeof t)return!1;if(Array.isArray(t.filters))for(const n of t.filters)if(M(e,n))return!0;return"field"in t&&"string"==typeof t.field&&n.push(t.field),n.includes(e)}),[]),T=y.useCallback(((e,t)=>!(!t||!Array.isArray(t))&&t.some((t=>t.field===e))),[]),D=y.useMemo((()=>v.field&&(M(v.field,n.filter)||T(v.field,n.group))),[v.field,n.filter,n.group,M,T]);return y.useEffect((()=>(S&&c.current&&(u.current=new o.Navigation({tabIndex:0,root:c,selectors:Rt,keyboardEvents:{keydown:{Tab:w,Enter:R,Escape:N}},mouseEvents:{mousedown:P}}),u.current.focusElement(u.current.first,null)),()=>{u.current&&(u.current=null)})),[S]),y.createElement(y.Fragment,null,y.createElement("a",{className:o.classNames("k-grid-header-menu k-grid-column-menu",{"k-active":D}),ref:s,onClick:t=>{t.preventDefault(),l&&e.onCloseMenu&&e.onCloseMenu(),r(!l)},onKeyDown:e=>{var t;if(e.keyCode===o.Keys.tab){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:E?-1:void 0,"aria-label":`${E?"":x}${b.toLanguageString(ce,rt[ce])}`},C?y.createElement(o.IconWrap,{name:C.name,icon:C}):y.createElement(o.IconWrap,{name:"more-vertical",icon:i.moreVerticalIcon})),y.createElement(It,null,n.mobileMode?y.createElement(y.Fragment,null,p.createPortal(y.createElement(St,{computedShow:S,ColumnMenu:f,closeMenu:I},f&&y.createElement(f,{...h,onCloseMenu:I})),null==(t=g())?void 0:t.body)):y.createElement(d.Popup,{anchor:s.current,show:S,popupClass:"k-grid-columnmenu-popup",onMouseDownOutside:e=>{!e.isAnchorClicked&&r(!1)}},y.createElement("div",{ref:c,onBlur:e=>{const t=o.getActiveElement(document);clearTimeout(m.current),m.current=window.setTimeout((()=>{!n.mobileMode&&t&&e.relatedTarget!==s.current&&c.current&&!c.current.contains(t)&&I()}))},onFocus:()=>{clearTimeout(m.current)},onMouseDown:e=>{var t;null==(t=u.current)||t.triggerMouseEvent(e)},onKeyDown:e=>{var t;null==(t=u.current)||t.triggerKeyboardEvent(e)},className:"k-column-menu k-column-menu-md"},f&&y.createElement(f,{...h,onCloseMenu:I})))))},Pt=e=>{const t=o.useUnstyled(),n=t&&t.uGrid?t.uGrid:o.uGrid,l=e.onClick?{onClick:e.onClick}:{};return y.createElement("span",{className:o.classNames(n.headerCellInner({}))},y.createElement("span",{className:o.classNames(n.headerCellLink({sortable:e.columnMenuWrapperProps.sortable})),...l},y.createElement("span",{className:o.classNames(n.columnTitle({}))},e.title||e.field||" "),e.children),e.columnMenuWrapperProps.columnMenu&&y.createElement(Nt,{...e.columnMenuWrapperProps}))},Mt=y.createContext(void 0),Tt=e=>{const t=y.useContext(Q),n=y.useRef(null),[l,r]=y.useState(),a=(n,l)=>{e.sortable&&l.sortable&&(n.preventDefault(),t.sortChange&&t.headerCellClick(n,l))};return y.createElement(Mt.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)},Dt=e=>{const t=y.useContext(Q),n=y.useContext(Mt),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}),j(e.children,{...a})},Lt=e=>{const t=y.useRef(null),n=o.useUnstyled(),l=n&&n.uGrid?n.uGrid:o.uGrid;return y.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},y.createElement("tr",{className:o.classNames(l.simpleTr({})),style:{touchAction:"none"},role:"row","aria-rowindex":e.ariaRowIndex},e.children))},At=e=>{const t=y.useContext(Q);return t.dragLogicRef.current.pressHandler&&y.createElement(Lt,{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)||y.createElement("tr",{className:e.className,role:"row","aria-rowindex":e.ariaRowIndex},e.children)},Ft=e=>{const t=y.useContext(Q),n=y.useContext(Mt),l={style:{...t.getCellPositionStyle(e.column)}};return j(e.children,{onKeyDown:t=>{n.cellKeyDown(t,e.column)},onContextMenu:n=>{t.onContextMenu(n,void 0,e.column.field)},...l})},Gt=e=>{const{column:t}=e,n=y.useContext(Q);return n.columnResizeRef.current&&n.columnResizeRef.current.resizable&&t.resizable&&y.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])})||y.createElement(y.Fragment,null)},Bt={none:"none",asc:"ascending",desc:"descending"},Ot=e=>{const t=e.unstyled,n=t&&t.uGrid?t.uGrid:o.uGrid;let l=0,a=-1;const s=t=>{if(!e.sort)return null;const l=o.classNames(n.sortIcon({}));return t>=0&&[y.createElement("span",{key:1,className:l},y.createElement(o.IconWrap,{name:"sort-"+e.sort[t].dir+"-small",icon:"asc"===e.sort[t].dir?i.sortAscSmallIcon:i.sortDescSmallIcon})),e.sort.length>1&&y.createElement("span",{key:2,className:l},y.createElement("span",{className:o.classNames(n.sortOrder({}))},t+1))]},c=e.columns.map(B);return y.createElement(Tt,{sortable:e.sortable,sort:e.sort,navigatable:e.navigatable,groupable:e.groupable,columns:c},e.columnsMap.map(((t,i)=>y.createElement(At,{key:i,className:o.classNames(n.simpleTr({})),ariaRowIndex:i+1},(t=>t.map((t=>{var i;const c=e.columns[t],d=e.sortable&&c.sortable,u=e.sort?e.sort.findIndex((e=>e.field===c.field)):-1,m=u>=0&&e.sort[u].dir||"none",p=null===c.columnMenu?null:c.columnMenu||e.columnMenu,g=c.menuIcon||e.columnMenuIcon,f=o.classNames(o.classNames(n.headerTh({first:c.kFirst,filterable:!!p,locked:c.locked,sorted:e.sort&&e.sort.some((e=>e.field===c.field))})),c.headerClassName);!1===c.locked&&(c.left=0);const h=e.localization.toLanguageString(Re,rt[Re]),v=c.isAccessible?{ariaSort:Bt[m],role:"columnheader",ariaColumnIndex:c.ariaColumnIndex,ariaSelected:!1,ariaDescription:d?h:""}:{role:"presentation"},C=c.declarationIndex>=0?++a:--l,E={field:c.field,title:c.title,selectionValue:null!=(i=c.headerSelectionValue)?i:e.headerSelectionValue,children:s(u),selectionChange:null,columnMenuWrapperProps:{column:{field:c.field,title:c.title,locked:c.locked,filter:c.filter,id:c.id},sortable:d&&e.sortable,sort:e.sort,filter:e.filter,filterable:e.filterable&&c.filterable,filterOperators:e.filterOperators,navigatable:e.navigatable,group:e.group,groupable:e.groupable,columnMenu:p,columnMenuIcon:g}},b={...v,colSpan:c.headerColSpan,rowSpan:c.rowSpan,className:f,columnId:c.id,navigatable:c.navigatable,role:"columnheader"},k=B(c),x={column:k,sortable:e.sortable,sort:e.sort,columnMenuWrapperProps:E.columnMenuWrapperProps},I=c.defaultHeaderCell?c.defaultHeaderCell:Pt,S=[y.createElement(Dt,{key:1,...x,isClient:W(I)},y.createElement(I,{...E})),y.createElement(Gt,{key:2,column:k})],w=V(e.cells,c.cells);if(w&&w.headerCell){const e=w.headerCell,n=W(e);return y.createElement(Dt,{key:C,...x,thProps:b,isCustom:!0,isClient:n},y.createElement(e,{...E,thProps:b,index:t},S))}return y.createElement(Ft,{key:C,column:k},y.createElement(r.HeaderThElement,{...b},S))})))(t)))))},zt=[{text:"grid.filterAndLogic",operator:"and"},{text:"grid.filterOrLogic",operator:"or"}],Ht={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"}]},Kt=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,Vt=(e,t)=>e.map((e=>({text:t.toLanguageString(e.text,rt[e.text]),operator:e.operator}))),qt=[{text:"grid.filterBooleanAll",operator:""},{text:"grid.filterIsTrue",operator:!0},{text:"grid.filterIsFalse",operator:!1}],Wt={text:!1,numeric:!1,date:!1,boolean:!0},_t=(e,t,n)=>{const l=Ut(n.operators);let r=n.operator;switch(n.filterType){case"numeric":case"date":(!r||Kt(r))&&(r=l),null===e&&r===l&&(r="");break;case"text":(!r||Kt(r))&&(r=l),!e&&r===l&&(r="");break;default:return}n.onChange({value:e,operator:r,syntheticEvent:t})},Ut=(e,t)=>t?e[t][0].operator:e[0].operator,jt=e=>e||"text",$t=(e,t)=>{const n=e.target.value;t({value:n.operator,operator:""===n.operator?"":"eq",syntheticEvent:e.syntheticEvent})},Xt=(e,t,n)=>{let l=t;const r=e.target.value;e.target.state.opened&&(Kt(r.operator)&&(l=null),null===t&&!Kt(r.operator)&&(l=void 0),n({value:l,operator:r.operator,syntheticEvent:e.syntheticEvent}))},Yt=(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})))},Jt=(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=>(Yt(e),e))),logic:l.logic}]:l.filters.map((t=>{const n=t.filters?t:{logic:e.logic,filters:[t]};return Yt(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},Qt=e=>{const t=y.useRef(null),n=a.useLocalization(),l=(t,n)=>{_t(t,n,e)},r=t=>{Xt(t,e.value,e.onChange)},d=t=>{$t(t,e.onChange)};return y.createElement("div",{className:"k-filtercell"},y.createElement("div",{className:"k-filtercell-wrapper"},((n,r,o)=>{switch(n){case"numeric":return y.createElement(s.NumericTextBox,{ref:t,size:e.size,value:r,onChange:e=>{l(e.value,e.syntheticEvent)},title:e.title,ariaLabel:e.ariaLabel});case"date":return y.createElement(c.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 y.createElement(g.DropDownList,{ref:t,size:e.size,onChange:d,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 y.createElement(s.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),y.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 y.createElement(g.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(Ie,rt[Ie]),popupSettings:{width:"",onMouseDownOutside:function(e){!e.isAnchorClicked&&e.state&&e.state.props.show&&t&&t.togglePopup()}}})})()," ",y.createElement(m.Button,{size:e.size,svgIcon:i.filterClearIcon,className:o.classNames({"k-clear-button-visible":!!(null!==e.value&&""!==e.value||e.operator)}),title:n.toLanguageString(ue,rt[ue]),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)}))))},Zt=e=>{const t=y.useContext(Q),n=t.getCellPositionStyle(e.column),l=e.isCustom?{style:{...n}}:{};return t.isClient||e.isClient?j(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}}):j(e.children,{})},en=e=>{const t={style:{...y.useContext(Q).getCellPositionStyle(e.column)}};return j(e.children,{...t})},tn=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=jt(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(Te,rt[Te])}`;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:Vt(e.filterOperators[s]||[],e.localization),booleanValues:Vt(qt,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=B(i),h={column:f,filter:e.filter,field:i.field,tdProps:g,thProps:g};let v=null;m&&"reorder"!==i.columnType&&(v=y.createElement(Zt,{...h,isClient:W(Qt)},y.createElement(Qt,{...m})));const C=V(e.cells,i.cells);if(C&&C.filterCell){const e=C.filterCell,t=W(e);return y.createElement(Zt,{key:p,...h,isClient:t,isCustom:!0},y.createElement(e,{key:p,...m,tdProps:g,thProps:g,index:a},v))}return y.createElement(en,{key:p,column:f},y.createElement(r.HeaderTdElement,{...g},v))}));return y.createElement("tr",{className:"k-table-row k-filter-row","aria-rowindex":e.ariaRowIndex,role:"row"},i)},nn=e=>{const t=y.useRef(null),{dir:n,title:l}=e;return y.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},y.createElement("div",{className:"k-chip k-chip-md k-chip-solid k-chip-solid-base k-rounded-md",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"}},y.createElement("span",null,y.createElement(o.IconWrap,{name:"sort-"+n+"-small",icon:"asc"===n?i.sortAscSmallIcon:i.sortDescSmallIcon,size:"small"})),y.createElement("span",{className:"k-chip-content"},y.createElement("span",{className:"k-chip-label"},l)),y.createElement("span",{className:"k-chip-actions"},y.createElement("span",{className:"k-chip-action k-chip-remove-action",onClick:t=>{t.preventDefault(),t.stopPropagation(),e.onRemove&&e.onRemove(t)}},y.createElement(o.IconWrap,{name:"x-circle",icon:i.xCircleIcon,size:"small"})))))},ln=e=>{const t=y.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)=>y.createElement(nn,{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 y.createElement("div",{ref:t.dragLogicRef.current.refGroupPanelDiv,className:"k-grouping-header",role:"toolbar","aria-label":n.toLanguageString(De,rt[De]),"aria-controls":e.ariaControls||""},y.createElement("div",{className:"k-chip-list k-chip-list-md",role:"none"},o),y.createElement("div",{className:"k-grouping-drop-container"},!o.length&&n.toLanguageString(ae,rt[ae])," "))},rn=e=>{const t=y.useRef(null),n=y.useRef(null),l=y.useContext(Q);return y.useImperativeHandle(l.footerRef,(()=>({setScrollLeft:e=>{t.current&&(t.current.scrollLeft=e)},setWidth:e=>{n.current&&(n.current.style.width=e?e+"px":"")}}))),e.staticHeaders?y.createElement("div",{className:"k-grid-footer",role:"presentation"},y.createElement("div",{ref:t,className:"k-grid-footer-wrap",role:"presentation"},y.createElement("table",{ref:n,className:o.classNames("k-table k-grid-footer-table",{"k-table-md":!e.size,[`k-table-${o.kendoThemeMaps.sizeMap[e.size]||e.size}`]:e.size},e.className),role:"presentation"},y.createElement("colgroup",{ref:e=>{l.columnResizeRef.current.colGroupFooter=e},role:"presentation"},e.cols),y.createElement("tfoot",{className:"k-table-tfoot",role:"presentation"},e.row)))):y.createElement("tfoot",{className:"k-table-tfoot"},e.row)};rn.displayName="KendoReactFooter";const on=e=>{const t=y.useContext(Q),n=r.useTableKeyboardNavigation(e.id),l=dt(e.dataItem,e.field),o=ut(e),a=y.useCallback((n=>{var l;null==(l=null==t?void 0:t.cellClick)||l.call(t,n,e.dataItem,e.field)}),[t,e.dataItem,e.field]);return{...n,..."groupFooter"===e.rowType||"groupHeader"!==e.rowType?{onContextMenu:l}:{},..."groupFooter"!==e.rowType&&"groupHeader"!==e.rowType?{style:o}:{},onClick:a}},an=e=>{var t,n;let l=null,r=null;const a=e.unstyled,i=a&&a.uGrid?a.uGrid:o.uGrid;if("groupFooter"===e.rowType)l={className:e.className};else if("groupHeader"!==e.rowType){if(void 0!==e.field){const t=M(e.field,e.dataItem);null!=t&&(r=e.intl&&e.format?e.intl.format(e.format,t):t.toString())}const a=o.classNames(i.td({selected:e.isSelected,highlighted:e.isHighlighted,sorted:e.isSorted,alt:e.isAlt}),e.className);l={rowSpan:null!=(n=null==(t=e._rowSpan)?void 0:t.count)?n:void 0,colSpan:e.colSpan,style:e.style,className:a,role:"gridcell","aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ft]:e.columnIndex}}return{tdProps:l,content:r}},sn=e=>{var t;return null==(t=e.cells)?void 0:t[e.rowType||"data"]},cn=e=>{var t;const{cellProps:n}=e,{tdProps:l,content:r}=an(n),o=on(n),a=ct(n);if(null===(null==(t=n._rowSpan)?void 0:t.count))return null;const i=sn(n);return i?y.createElement(i,{...n,...a,tdProps:{...l,...o}},r):l?y.createElement("td",{...l,...o},r):null},dn=e=>{const t=y.useContext(Q),n=a.useLocalization(),l=e.expanded?Ae:Le,s=n.toLanguageString(l,rt[l]),c="rtl"===t.dir;return y.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},y.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}))},un=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=_(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=y.createElement("p",{className:"k-reset"},y.createElement(dn,{...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"]},pn=(e,t)=>{const n=y.useContext(Q),l=r.useTableKeyboardNavigation(e.id),a=dt(e.dataItem,e.field),i=ut(e),s=y.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}=un(t),a=pn(t,o),i=ct(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 y.createElement(u,{...s,tdProps:c,td2Props:d},r);const m=n?y.createElement("td",{...c,key:null==n?void 0:n.key},r):null,p=d?y.createElement("td",{...d}):null;return p?y.createElement(y.Fragment,null,m,p):m},fn=e=>{var t;const n=y.useContext(Q),{reorderRowDropTargetRef:l,reorderRowDragTargetRef:r,activeDragRowDataItemRef:a}=n,{rowType:i,isAltRow:s,isInEdit:c,isSelected:d,isHighlighted:u}=e,m=o.useUnstyled(),p=m&&m.uGrid?m.uGrid:o.uGrid,g=o.classNames(p.tr({selected:d,highlighted:u,isHeader:"groupHeader"===i,isFooter:"groupFooter"===i,isMaster:"groupHeader"!==i&&"groupFooter"!==i,isAltRow:s,isInEdit:c})),f=y.useRef(null);o.useDroppable(f,{onDragOver:t=>{if(e.isRowReorderable&&a.current){const e=t.originalEvent.target;l.current=e.closest(".k-table-row")}},onDrop:()=>{r.current&&e.isRowReorderable&&(r.current.style.userSelect="")}});const h={onClick:t=>n.rowClick(t,e.dataItem),onDoubleClick:t=>n.rowDblClick(t,e.dataItem)},v={ref:f,id:e.id,...h,className:g,style:{height:e.rowHeight?e.rowHeight+"px":"",visibility:e.isHidden?"hidden":"",userSelect:null==(t=null==r?void 0:r.current)?void 0:t.style.userSelect},role:"row","aria-rowindex":e.ariaRowIndex,"absolute-row-index":e.absoluteRowIndex,[gt]:"data"===e.rowType?e.dataIndex:void 0},C=e.rowType||"data",E=e.rows;if(E&&E[C]){const t=E[C];return y.createElement(t,{key:e.absoluteRowIndex,...e,trProps:v},e.children)}return y.createElement("tr",{key:e.absoluteRowIndex,...v},e.children)},hn=e=>{const t=y.useContext(Q),n=o.useId(),l=a.useLocalization(),r=e.id||n;return[y.createElement("span",{key:0,className:"k-checkbox-wrap"},y.createElement("input",{id:r,type:"checkbox",tabIndex:-1,className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":l.toLanguageString(ze,rt[ze]),"aria-checked":e.selectionValue,checked:e.selectionValue,onChange:n=>t.onHeaderSelectionChange({field:e.field,syntheticEvent:n})})),e.columnMenuWrapperProps.columnMenu&&y.createElement(Nt,{...e.columnMenuWrapperProps})]},vn=e=>{const t=a.useLocalization();return y.createElement(y.Fragment,null,e.children||t.toLanguageString(Z,rt[Z]))};vn.displayName="KendoReactGridNoRecords";const Cn=e=>{const t=y.useContext(Q),n=r.useTableKeyboardNavigation(e.id),l=t.getCellPositionStyle(e.column),o={...n,style:{...l}};return e.isCustom&&(t.isClient||e.isClient)?j(e.children,{tdProps:{...e.tdProps,...o},...n}):j(e.children,{...o})},En=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=B(t),s=V(l,t.cells);if(s&&s.footerCell){const t=s.footerCell,l=W(t);return y.createElement(Cn,{key:n,id:e.id,tdProps:r,isCustom:!0,isClient:l,column:i},y.createElement(t,{...a,tdProps:r,index:n}))}return y.createElement(Cn,{key:n,id:e.id,column:i},y.createElement("td",{...r}))},bn=e=>y.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 y.createElement(En,{key:l,column:t,id:l,index:n,cells:e.cells})}))),kn=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),xn=Object.freeze({name:"@progress/ken