@progress/kendo-react-grid 9.3.0-develop.6 → 9.3.1-develop.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/js/kendo-react-grid.js +1 -1
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +4 -3
- package/package.json +20 -11
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-data-tools"),require("@progress/kendo-react-intl"),require("@progress/kendo-svg-icons"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dateinputs"),require("@progress/kendo-react-popup"),require("@progress/kendo-react-buttons"),require("@progress/kendo-react-dropdowns"),require("@progress/kendo-data-query"),require("@progress/kendo-react-animation")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-data-tools","@progress/kendo-react-intl","@progress/kendo-svg-icons","@progress/kendo-react-inputs","@progress/kendo-react-dateinputs","@progress/kendo-react-popup","@progress/kendo-react-buttons","@progress/kendo-react-dropdowns","@progress/kendo-data-query","@progress/kendo-react-animation"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactGrid={},e.React,e.PropTypes,e.KendoReactCommon,e.KendoReactDataTools,e.KendoReactIntl,e.KendoSvgIcons,e.KendoReactInputs,e.KendoReactDateinputs,e.KendoReactPopup,e.KendoReactButtons,e.KendoReactDropdowns,e.KendoDataQuery,e.KendoReactAnimation)}(this,(function(e,t,r,n,l,a,o,i,s,c,d,u,p,h){"use strict";function g(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var m=g(t);const f=e=>null;f.displayName="KendoReactGridColumn";const v={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0};function b(e,t){const r=(e||"").split(".");let n=t;return r.forEach((e=>{n=n?n[e]:void 0})),n}function C(e,t,r,n,l,a,o=0){let i=o;for(let s=0;s<t.length;s++){if(!l||void 0===t[s].value||void 0===t[s].items){e[e.length]={dataIndex:n.index,dataItem:t[s],rowType:"data",level:o,expanded:void 0===a||b(a,t[s])},n.index++;continue}i=Math.max(i,o+1);const c=void 0===a||void 0===b(a,t[s])||b(a,t[s]);e[e.length]={dataIndex:-1,dataItem:t[s],level:o,rowType:"groupHeader",expanded:c},c&&(i=Math.max(C(e,t[s].items,r,n,l,a,o+1),i)),("always"===r||c&&"visible"===r)&&(e[e.length]={dataIndex:-1,dataItem:t[s],rowType:"groupFooter",level:o,expanded:c})}return i}function E(e,t,r,n=0){const a=[];if(!e)return[];e&&void 0===e.length&&(e=[e]),e.filter((e=>e&&e.props?!e.props.hidden:!e.hidden)).forEach(((e,o)=>{e=e.props?e.props:e;const i=t[o]||null,s=E(e.children,i&&i.children||[],r,n+1);a.push(Object.assign({depth:n},v,s.length?{cell:()=>null,filterCell:()=>null}:{},i?{width:i.width,orderIndex:i.orderIndex}:{},e,{id:e.id?e.id:l.tableKeyboardNavigationTools.generateNavigatableId(""+r.prevId++,r.idPrefix,"column"),declarationIndex:a.length,children:s,rowSpan:0,colSpan:0,isAccessible:!0,left:e.lockedColumn?i&&Math.floor(i.left):null,right:e.lockedColumn?i&&Math.floor(i.right):null}))}));if(a.sort(((e,t)=>e.orderIndex===t.orderIndex?e.declarationIndex-t.declarationIndex:(e.orderIndex||0)-(t.orderIndex||0))),0===n){const e=[],t=(r,n)=>r.forEach((r=>{r.parentIndex=n,t(r.children,e.push(r)-1)}));return t(a,-1),e}return a}function x(e,t,r,n){let a=[];Array.isArray(e)?a=e:e&&(a=e.data);const o=[];if(a.length>0){let e=a[0];if(t)for(let r=0;r<t.length;r++)e=e.items&&e.items[0];Object.getOwnPropertyNames(e).forEach((e=>{e!==r&&o.push(Object.assign({id:l.tableKeyboardNavigationTools.generateNavigatableId(""+n.prevId++,n.idPrefix,"column"),declarationIndex:-1,parentIndex:-1,depth:0,colSpan:0,rowSpan:0,index:0,left:0,right:0,rightBorder:!1,children:[],ariaColumnIndex:0,isAccessible:!0},v,{field:e}))}))}return o}f.propTypes={field:r.string,title:r.string,editable:r.bool,sortable:r.oneOfType([r.bool,r.shape({allowUnsort:r.bool.isRequired})]),cell:r.any,filterCell:r.any,filterTitle:r.string,filterable:r.bool,filter:r.oneOf(["text","numeric","boolean","date"]),editor:r.oneOf(["text","numeric","boolean","date"]),width:r.oneOfType([r.string,r.number]),minResizableWidth:r.number,headerCell:r.any,footerCell:r.any,headerSelectionValue:r.bool,format:r.string,headerClassName:r.string,className:r.string,reorderable:r.bool,resizable:r.bool,orderIndex:r.number,groupable:r.bool,columnMenu:r.any,menuIcon:r.any,locked:r.bool,hidden:r.bool,media:r.string};const k=e=>void 0!==e.width?Math.floor(parseFloat(e.width.toString()))+"px":void 0,y=(e,t)=>t&&t.filter((t=>t.field===e)).length>0,I=e=>(e.sort(((e,t)=>e.declarationIndex-t.declarationIndex)),e.map((e=>{const{declarationIndex:t,parentIndex:r,depth:n,colSpan:l,rowSpan:a,index:o,kFirst:i,children:s,...c}=e;return s.length?{children:I(s),...c}:c}))),S="undefined"!=typeof window&&/Firefox/.test(window.navigator.userAgent),N=17895697,w=(e,t)=>{if(e||t)return t?e?{...e,...t,select:{...e.select||{},...t.select||{}},hierarchy:{...e.hierarchy||{},...t.hierarchy||{}},group:{...e.group||{},...t.group||{}},edit:{...e.edit||{},...t.edit||{}}}:t:e},R="grid.noRecords",T="grid.pagerInfo",M="grid.pagerFirstPage",G="grid.pagerPreviousPage",D="grid.pagerNextPage",L="grid.pagerLastPage",O="grid.pagerItemsPerPage",H="grid.groupPanelEmpty",P="grid.groupColumn",F="grid.ungroupColumn",z="grid.columnMenu",K="grid.filterApplyButton",A="grid.filterClearButton",B="grid.filterResetButton",q="grid.filterSubmitButton",W="grid.filterTitle",V="grid.sortAscending",U="grid.sortDescending",_="grid.searchPlaceholder",j="grid.filterCheckAll",$="grid.filterChooseOperator",X="grid.filterSelectAll",Y="grid.filterSelectedItems",J="grid.sortAriaLabel",Q="grid.filterAriaLabel",Z="grid.groupPanelAriaLabel",ee="grid.groupExpand",te="grid.groupCollapse",re="grid.detailExpand",ne="grid.detailCollapse",le="grid.selectRow",ae="grid.gridAriaLabel",oe={[re]:"Expand detail row",[ne]:"Collapse detail row",[ee]:"Expand group",[te]:"Collapse Group",[R]:"No records available",[H]:"Drag a column header and drop it here to group by that column",[K]:"Apply",[A]:"Clear",[B]:"Reset",[q]:"Filter",[W]:"Filter",[V]:"Sort Ascending",[U]:"Sort Descending",[J]:"Sortable",[P]:"Group Column",[F]:"Ungroup Column",[z]:"Column menu",[O]:"items per page",[T]:"{0} - {1} of {2} items",[M]:"Go to the first page",[G]:"Go to the previous page",[D]:"Go to the next page",[L]:"Go to the last page","grid.pagerPage":"Page","grid.pagerPageSizeAriaLabel":"Page size","grid.pagerOf":"of","grid.pagerTotalPages":"{0}",[_]:"Search",[j]:"Check All",[$]:"Choose Operator",[Y]:"selected items",[X]:"Select All",[Q]:"Filter",[Z]:"Group panel",[ae]:"Table",[le]:"Select Row","grid.filterEqOperator":"Is equal to","grid.filterNotEqOperator":"Is not equal to","grid.filterIsNullOperator":"Is null","grid.filterIsNotNullOperator":"Is not null","grid.filterIsEmptyOperator":"Is empty","grid.filterIsNotEmptyOperator":"Is not empty","grid.filterStartsWithOperator":"Starts with","grid.filterContainsOperator":"Contains","grid.filterNotContainsOperator":"Does not contain","grid.filterEndsWithOperator":"Ends with","grid.filterGteOperator":"Is greater than or equal to","grid.filterGtOperator":"Is greater than","grid.filterLteOperator":"Is less than or equal to","grid.filterLtOperator":"Is less than","grid.filterIsTrue":"Is true","grid.filterIsFalse":"Is false","grid.filterBooleanAll":"(All)","grid.filterAfterOrEqualOperator":"Is after or equal to","grid.filterAfterOperator":"Is after","grid.filterBeforeOperator":"Is before","grid.filterBeforeOrEqualOperator":"Is before or equal to","grid.filterAndLogic":"And","grid.filterOrLogic":"Or"};function ie(e){const t=e.replace(/^pager\.([a-z])/,((e,t)=>"grid.pager"+t.toUpperCase()));return{messageKey:t,defaultMessage:oe[t]}}const se=e=>{const{selectionChange:t,field:r,dataItem:o,id:i,className:s,colSpan:c,style:d,ariaColumnIndex:u,rowType:p,cells:h,render:g}=e,f=a.useLocalization(),v=m.useCallback((e=>{t&&t({syntheticEvent:e})}),[t]),C=n.useId(),E=b(r,o),x=l.useTableKeyboardNavigation(i),k={colSpan:c,style:d,className:n.classNames("k-table-td",s),"aria-colindex":u,role:"gridcell",...x},y="boolean"==typeof E&&E,I=m.createElement("span",{key:1,className:"k-checkbox-wrap"},m.createElement("input",{id:C,tabIndex:-1,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":f.toLanguageString(le,oe[le]),"aria-checked":y,checked:y,onChange:v})),S="groupHeader"!==p?m.createElement("td",{...k},I):null,N=p||"data",w=h;if(w&&w.select&&w.select[N]){const t=w.select[N];return m.createElement(t,{...e,tdProps:k},I)}return g?g.call(void 0,S,e):S},ce=e=>{let t=null,r=null,i=null;const s=b(e.field,e.dataItem),c=l.useTableKeyboardNavigation(e.id),d=a.useLocalization(),u=m.useCallback((t=>{t.isDefaultPrevented()||t.keyCode===n.Keys.enter&&e.onChange&&(t.preventDefault(),e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:t,field:e.field,value:!s}))}),[e.dataItem,e.dataIndex,e.field,e.onChange,s]);if("groupFooter"===e.rowType)r={className:"k-table-td k-hierarchy-cell",role:"gridcell",...c},t=m.createElement("td",{...r});else if("groupHeader"!==e.rowType){const l=s?ne:re,a=d.toLanguageString(l,oe[l]);r={className:"k-table-td k-hierarchy-cell",onKeyDown:u,"aria-expanded":!!s,role:"gridcell","aria-colindex":e.ariaColumnIndex,...c},i=m.createElement("a",{onClick:t=>{t.preventDefault(),e.onChange&&e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:t,field:e.field,value:!s})},"aria-label":a,href:"#",tabIndex:-1},m.createElement(n.IconWrap,{name:s?"minus":"plus",icon:s?o.minusIcon:o.plusIcon})),t=m.createElement("td",{...r},i)}const p=e.rowType||"data",h=e.cells;if(h&&h.hierarchy&&h.hierarchy[p]){const t=h.hierarchy[p];return m.createElement(t,{...e,tdProps:r},i)}return e.render?e.render.call(void 0,t,e):t},de=l.TABLE_ROW_INDEX_ATTRIBUTE,ue=l.TABLE_COL_INDEX_ATTRIBUTE,pe=l.TABLE_PREVENT_SELECTION_ELEMENT,he=/^(?!.*\bChrome).*\bSafari/i,ge=e=>{const t=b(e.field,e.dataItem),r=n.useUnstyled(),a=r&&r.uGrid?r.uGrid:n.uGrid;let o=null;const c=n.classNames(a.editTd({selected:e.isSelected}),e.className),d=n.useId(),u=l.useTableKeyboardNavigation(e.id);let p=null,h=null;const g=m.useCallback((t=>{if(e.onChange){const r="checkbox"===t.target.type?t.target.checked:t.target.value;e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,syntheticEvent:t,value:r})}}),[e.onChange,e.dataItem,e.dataIndex,e.field]),f=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]),v=m.useCallback((t=>{e.onChange&&e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,syntheticEvent:t.syntheticEvent,value:t.value})}),[e.onChange,e.dataItem,e.dataIndex,e.field]);switch(e.editor){case"numeric":p={onContextMenu:f,colSpan:e.colSpan,style:e.style,className:c,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ue]:e.columnIndex,role:"gridcell",...u},h=m.createElement(i.NumericTextBox,{value:void 0===t?null:t,onChange:v,[l.TABLE_PREVENT_SELECTION_ELEMENT]:!0}),o=m.createElement("td",{...p},h);break;case"date":p={onContextMenu:f,colSpan:e.colSpan,style:e.style,className:c,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ue]:e.columnIndex,role:"gridcell",...u},h=m.createElement(s.DatePicker,{value:t,onChange:v,[l.TABLE_PREVENT_SELECTION_ELEMENT]:!0}),o=m.createElement("td",{...p},h);break;case"boolean":p={onContextMenu:f,colSpan:e.colSpan,style:e.style,className:c,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ue]:e.columnIndex,role:"gridcell",...u},h=[m.createElement("span",{key:1,className:"k-checkbox-wrap"},m.createElement("input",{checked:t||!1,id:d,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:g})),m.createElement("label",{className:"k-checkbox-label",htmlFor:d,key:2})],o=m.createElement("td",{...p},h);break;default:p={onContextMenu:f,colSpan:e.colSpan,style:e.style,className:c,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ue]:e.columnIndex,role:"gridcell",...u},h=m.createElement("input",{style:{width:"100%"},className:"k-input",value:t||"",onChange:g,[l.TABLE_PREVENT_SELECTION_ELEMENT]:!0}),o=m.createElement("td",{...p},h)}const C=e.editor||"text",E=e.cells;if(E){let t;return E.edit&&E.edit[C]?t=E.edit[C]:E.data&&(t=E.data),m.createElement(t,{...e,tdProps:p},h)}return e.render?e.render.call(void 0,o,e):o},me=m.forwardRef(((e,t)=>{const r=m.useRef(null),a=m.useRef(null),o=m.useRef(!1),i=n.useRtl(e.elemRef);e.columnResize&&e.columnResize.setIsRtl("rtl"===i),m.useImperativeHandle(t,(()=>({setScrollLeft:e=>{r.current&&r.current.scrollLeft!==e&&(o.current=!0,r.current.scrollLeft=e)},setWidth:e=>{a.current&&(a.current.style.width=e+"px")},table:()=>a.current})));const s=n.useUnstyled(),c=s&&s.uGrid?s.uGrid:n.uGrid,{size:d="md"}=e;return e.staticHeaders?m.createElement("div",{ref:e.elemRef,className:n.classNames(c.header({draggable:e.draggable}),e.className),role:"presentation"},m.createElement("div",{ref:r,className:n.classNames(c.headerWrap({})),onScroll:t=>{if(o.current)return void(o.current=!1);if(!r.current)return;const n=r.current.scrollLeft,l=e.scrollableDataElement();l&&l.scrollLeft!==n&&(l.scrollLeft=n)},role:"presentation"},m.createElement("table",{ref:a,className:n.classNames(c.headerTable({size:d}),e.className),role:"presentation"},m.createElement("colgroup",{ref:t=>{e.columnResize.colGroupHeader=t}},e.cols),m.createElement("thead",{className:n.classNames(c.tableThead({})),role:"rowgroup",...l.tableKeyboardNavigationHeaderAttributes},e.headerRow,e.filterRow)))):m.createElement("thead",{role:"presentation",className:n.classNames(c.thead({draggable:e.draggable}),e.className),...l.tableKeyboardNavigationHeaderAttributes},e.headerRow,e.filterRow)}));me.displayName="KendoReactHeader";const fe=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e),ve=e=>{const t=m.useRef(null),r=n.useUnstyled(),l=r&&r.uGrid?r.uGrid:n.uGrid;return m.createElement(n.Draggable,{onPress:r=>{const n=t.current&&t.current.element;n&&e.pressHandler&&e.pressHandler(r.event,n)},onDrag:r=>{const n=t.current&&t.current.element;n&&e.dragHandler&&e.dragHandler(r.event,n)},onRelease:r=>{t.current&&t.current.element&&e.releaseHandler&&e.releaseHandler(r.event)},hint:e.dragClue,autoScroll:{boundaryElementRef:e.headerRef,direction:{horizontal:!0,vertical:!1}},scrollContainer:e.containerRef||void 0,ref:t},m.createElement("tr",{className:n.classNames(l.simpleTr({})),style:{touchAction:"none"},role:"row","aria-rowindex":e.ariaRowIndex},e.children))},be=[".k-columnmenu-item-content",".k-filter-menu-container"].map((e=>n.TABBABLE_ELEMENTS.map((t=>`${e} ${t}`)))),Ce=[[".k-tabstrip-items"],[".k-columnmenu-item"],...be],Ee=e=>{const[t,r]=m.useState(!1),l=m.useRef(null),i=m.useRef(null),s=m.useRef(null),d=m.useRef(0),{columnMenu:u,...p}=e,{column:h,columnMenuIcon:g,navigatable:f}=e,v=a.useLocalization(),b=h.title||h.field,C=b?`${b} `:"",E=()=>{e.onCloseMenu&&e.onCloseMenu(),r(!1),!e.navigatable&&l.current&&l.current.focus()},x=m.useMemo((()=>void 0!==e.show?e.show:t),[e.show,t]),k=(e,t,r)=>{r.preventDefault(),r.shiftKey?t.focusPrevious(e):t.focusNext(e)},y=(e,t,r)=>{e&&e.click()},I=(e,t,r)=>{r.preventDefault(),E()},S=(e,t,r)=>{r.preventDefault(),t.focusElement(e)};return m.useEffect((()=>(x&&i.current&&(s.current=new n.Navigation({tabIndex:0,root:i,selectors:Ce,keyboardEvents:{keydown:{Tab:k,Enter:y,Escape:I}},mouseEvents:{mousedown:S}}),s.current.focusElement(s.current.first,null)),()=>{s.current&&(s.current=null)})),[x]),m.createElement(m.Fragment,null,m.createElement("a",{className:"k-grid-header-menu k-grid-column-menu",ref:l,onClick:n=>{n.preventDefault(),t&&e.onCloseMenu&&e.onCloseMenu(),r(!t)},onKeyDown:e=>{var t;if(e.keyCode===n.Keys.tab){const r=e.target,n=r&&(null==(t=r.closest(".k-grid"))?void 0:t.getElementsByClassName("k-grid-content")[0]);n&&n.scrollWidth>n.clientWidth&&r.scrollIntoView({inline:"center"})}},href:"#",tabIndex:f?-1:void 0,"aria-label":`${f?"":C}${v.toLanguageString(z,oe[z])}`},g?m.createElement(n.IconWrap,{name:g.name,icon:g}):m.createElement(n.IconWrap,{name:"more-vertical",icon:o.moreVerticalIcon})),m.createElement(c.Popup,{anchor:l.current,show:x,popupClass:"k-column-menu k-column-menu-popup k-grid-columnmenu-popup",onMouseDownOutside:e=>{!e.isAnchorClicked&&r(!1)}},m.createElement("div",{ref:i,onBlur:e=>{const t=n.getActiveElement(document);clearTimeout(d.current),d.current=window.setTimeout((()=>{t&&e.relatedTarget!==l.current&&i.current&&!i.current.contains(t)&&E()}))},onFocus:()=>{clearTimeout(d.current)},onMouseDown:e=>{var t;null==(t=s.current)||t.triggerMouseEvent(e)},onKeyDown:e=>{var t;null==(t=s.current)||t.triggerKeyboardEvent(e)},style:{outline:"none"}},u&&m.createElement(u,{...p,onCloseMenu:E}))))},xe=e=>{const t=n.useUnstyled(),r=t&&t.uGrid?t.uGrid:n.uGrid,{columnMenuWrapperProps:l}=e,a=e.onClick?{onClick:e.onClick}:{},o=m.createElement("span",{className:n.classNames(r.headerCellInner({}))},m.createElement("span",{className:n.classNames(r.headerCellLink({sortable:e.columnMenuWrapperProps.sortable})),...a},m.createElement("span",{className:n.classNames(r.columnTitle({}))},e.title||e.field||" "),e.children),l.columnMenu&&m.createElement(Ee,{...l}));return e.render?e.render.call(void 0,o,e):o},ke={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},ye={none:"none",asc:"ascending",desc:"descending"},Ie=e=>{const[t,r]=m.useState(),i=a.useLocalization(),s=n.useUnstyled(),c=s&&s.uGrid?s.uGrid:n.uGrid,d=m.useRef(null);let u=0,p=-1;const h=(t,r)=>{if(t.preventDefault(),!e.sortChange)return;const{allowUnsort:n,mode:l}=fe(e.sortable||!1,r.sortable||!1),a=(e.sort||[]).filter((e=>e.field===r.field))[0],o=ke[n][a&&a.dir||""],i="single"===l?[]:(e.sort||[]).filter((e=>e.field!==r.field));""!==o&&r.field&&i.push({field:r.field,dir:o}),e.sortChange(i,t)},g=()=>{r(void 0),d.current&&"-1"!==d.current.getAttribute("tabindex")&&d.current.focus()},f=t=>{if(!e.sort)return null;const r=n.classNames(c.sortIcon({}));return t>=0&&[m.createElement("span",{key:1,className:r},m.createElement(n.IconWrap,{name:"sort-"+e.sort[t].dir+"-small",icon:"asc"===e.sort[t].dir?o.sortAscSmallIcon:o.sortDescSmallIcon})),e.sort.length>1&&m.createElement("span",{key:2,className:r},m.createElement("span",{className:n.classNames(c.sortOrder({}))},t+1))]},v=a=>a.map((a=>{const o=e.columns[a],s=e.sortable&&o.sortable,v=e.sort?e.sort.findIndex((e=>e.field===o.field)):-1,b=v>=0&&e.sort[v].dir||"none",C=null===o.columnMenu?null:o.columnMenu||e.columnMenu,E=o.menuIcon||e.columnMenuIcon,x=n.classNames(n.classNames(c.headerTh({first:o.kFirst,filterable:!!C,locked:o.locked,sorted:e.sort&&e.sort.some((e=>e.field===o.field))})),o.headerClassName);!1===o.locked&&(o.left=0);const k=void 0!==o.left?e.isRtl?{left:o.right,right:o.left}:{left:o.left,right:o.right}:{},y=i.toLanguageString(J,oe[J]),I=o.isAccessible?{ariaSort:ye[b],role:"columnheader",ariaColumnIndex:o.ariaColumnIndex,ariaSelected:!1,ariaDescription:s?y:""}:{role:"presentation"},S=o.declarationIndex>=0?++p:--u,N=o.headerCell?o.headerCell:xe,R=m.createElement(N,{key:1,field:o.field,onClick:s&&(e=>h(e,o))||void 0,selectionChange:e.selectionChange,title:o.title,selectionValue:o.headerSelectionValue,render:e.cellRender,children:f(v),columnMenuWrapperProps:{column:{field:o.field,title:o.title,locked:o.locked,filter:o.filter,id:o.id},sortable:s&&e.sortable,sort:e.sort,onSortChange:e.sortChange,filter:e.filter,filterable:e.filterable&&o.filterable,filterOperators:e.filterOperators,onFilterChange:e.filterChange,show:t===o.field||void 0,onCloseMenu:g,navigatable:e.navigatable,group:e.group,groupable:e.groupable,onGroupChange:e.groupChange,columnMenu:C,columnMenuIcon:E}}),T={...I,key:S,colSpan:o.colSpan,rowSpan:o.rowSpan,className:x,style:k,columnId:o.id,navigatable:o.navigatable,onKeyDown:t=>((t,l)=>{if(t.isDefaultPrevented())return;const{keyCode:a,metaKey:o,ctrlKey:i,altKey:s}=t,c=e.sortable&&l.sortable,u=t.target;if(c&&t.keyCode===n.Keys.enter&&-1!==u.className.indexOf("k-table-th")&&h(t,l),e.navigatable){if(e.groupable&&(o&&a===n.Keys.enter||i&&a===n.Keys.space)){t.preventDefault();const r=e.columns.findIndex((e=>e.field===l.field));e.columnGroupChange&&e.columnGroupChange(r,t)}s&&a===n.Keys.down&&(t.preventDefault(),r(l.field),d.current=u)}})(t,o),role:"columnheader"},M=[R,e.columnResize&&e.columnResize.resizable&&o.resizable&&m.createElement(l.ColumnResizer,{key:2,resize:(t,r,n)=>e.columnResize&&e.columnResize.dragHandler(t,o,r,n),autofit:t=>e.columnResize&&e.columnResize.dblClickHandler(t,[o.id])})],G=w(e.cells,o.cells);if(G&&G.headerCell){const e=G.headerCell;return m.createElement(e,{...R.props,key:S,thProps:T,index:a},M)}return m.createElement(l.HeaderThElement,{...T,key:S},M)}));return e.columnsMap.map(((t,r)=>e.pressHandler&&m.createElement(ve,{key:r,pressHandler:e.pressHandler,dragHandler:e.dragHandler,releaseHandler:e.releaseHandler,ariaRowIndex:r+1,dragClue:e.dragClue,headerRef:e.headerRef,containerRef:e.containerRef},v(t))||m.createElement("tr",{key:r,className:n.classNames(c.simpletr({})),role:"row","aria-rowindex":r+1},v(t))))},Se=[{text:"grid.filterAndLogic",operator:"and"},{text:"grid.filterOrLogic",operator:"or"}],Ne={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"}]},we=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,Re=(e,t)=>e.map((e=>({text:t.toLanguageString(e.text,oe[e.text]),operator:e.operator}))),Te=[{text:"grid.filterBooleanAll",operator:""},{text:"grid.filterIsTrue",operator:!0},{text:"grid.filterIsFalse",operator:!1}],Me={text:!1,numeric:!1,date:!1,boolean:!0},Ge=(e,t,r)=>{const n=De(r.operators);let l=r.operator;switch(r.filterType){case"numeric":case"date":(!l||we(l))&&(l=n),null===e&&l===n&&(l="");break;case"text":(!l||we(l))&&(l=n),!e&&l===n&&(l="");break;default:return}r.onChange({value:e,operator:l,syntheticEvent:t})},De=(e,t)=>t?e[t][0].operator:e[0].operator,Le=e=>e||"text",Oe=(e,t)=>{const r=e.target.value;t({value:r.operator,operator:""===r.operator?"":"eq",syntheticEvent:e.syntheticEvent})},He=(e,t,r)=>{let n=t;const l=e.target.value;e.target.state.opened&&(we(l.operator)&&(n=null),null===t&&!we(l.operator)&&(n=void 0),r({value:n,operator:l.operator,syntheticEvent:e.syntheticEvent}))},Pe=e=>{const t=m.useRef(),r=a.useLocalization(),l=(t,r)=>{Ge(t,r,e)},c=t=>{He(t,e.value,e.onChange)},p=t=>{Oe(t,e.onChange)},h=m.createElement("div",{className:"k-filtercell"},m.createElement("div",{className:"k-filtercell-wrapper"},((r,n,a)=>{switch(r){case"numeric":return m.createElement(i.NumericTextBox,{ref:t,size:e.size,value:n,onChange:e=>{l(e.value,e.syntheticEvent)},title:e.title,ariaLabel:e.ariaLabel});case"date":return m.createElement(s.DatePicker,{ref:t,size:e.size,value:n,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 r=e=>null==e;return m.createElement(u.DropDownList,{ref:t,size:e.size,onChange:p,value:a.find((e=>e.operator===(r(n)?"":n))),data:a,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 m.createElement(i.TextBox,{ref:t,size:e.size,value:n||"",onChange:e=>{l(e.target.value,e.syntheticEvent)},title:e.title,"aria-label":e.ariaLabel})}})(e.filterType,e.value,e.booleanValues),m.createElement("div",{className:"k-filtercell-operator"},(()=>{if("boolean"===e.filterType)return;let t;const n=e.operators.find((t=>t.operator===e.operator))||null;return m.createElement(u.DropDownList,{ref:e=>t=e,size:e.size,value:n,onChange:c,className:"k-dropdown-operator",iconClassName:"k-i-filter k-icon",svgIcon:o.filterIcon,data:e.operators,textField:"text",title:r.toLanguageString($,oe[$]),popupSettings:{width:"",onMouseDownOutside:function(e){!e.isAnchorClicked&&e.state&&e.state.props.show&&t&&t.togglePopup()}}})})()," ",m.createElement(d.Button,{size:e.size,icon:"filter-clear",svgIcon:o.filterClearIcon,className:n.classNames({"k-clear-button-visible":!!(null!==e.value&&""!==e.value||e.operator)}),title:r.toLanguageString(A,oe[A]),type:"button",onClick:r=>{r.preventDefault(),e.onChange({value:"",operator:"",syntheticEvent:r}),t.current&&(t.current.element.value="",setTimeout((()=>{t.current.element.focus()}),0))},disabled:!(null!==e.value&&""!==e.value||e.operator)}))));return e.render?e.render.call(void 0,h,e):h},Fe=e=>{const t=a.useLocalization(),r=(t,r)=>{let n=""+(r?"k-grid-header-sticky":"");return e.sort&&e.sort.filter((e=>e.field===t)).length>0&&(n+=" k-sorted"),n},o=e.filter&&e.filter.filters||[];let i=0,s=-1;const c=e.columns.filter((e=>0===e.children.length)).map((a=>{const c=Le(a.filter),d=(e=>{if(void 0===e)return;const t=o.filter((t=>t.field===e));return t.length?t[0]:void 0})(a.field),u=`${a.field} ${t.toLanguageString(Q,oe[Q])}`;let p=d&&d.value;void 0===p&&(p="text"===c?"":null);const h=a.filterable&&{render:e.cellRender,field:a.field,title:a.filterTitle,value:p,operator:d&&d.operator,operators:Re(e.filterOperators[c]||[],t),booleanValues:Re(Te,t),filterType:c,ariaLabel:u,onChange:t=>{((t,r,n,l)=>{if(!e.filterChange)return;const a=[];(""!==t&&null!==t||""!==r)&&a.push({field:n,operator:r,value:t}),e.filter&&e.filter.filters&&(e.filter.filters||[]).forEach((e=>{const t=e;t&&t.field!==n&&a.push(t)}));const o=e.filter&&e.filter.logic?e.filter.logic:"and";e.filterChange(a.length>0?{logic:o,filters:a}:null,l)})(t.value,t.operator,a.field,t.syntheticEvent)}},g=a.declarationIndex>=0?++s:--i,f=void 0!==a.left?e.isRtl?{left:a.right,right:a.left}:{left:a.left,right:a.right}:{},v={columnId:l.tableKeyboardNavigationTools.getFilterColumnId(a.id),navigatable:a.navigatable||e.navigatable,style:f,className:n.classNames("k-table-td",r(a.field,a.locked)||void 0),role:"gridcell",ariaLabel:u,ariaColumnIndex:a.ariaColumnIndex},b=h&&(a.filterCell?m.createElement(a.filterCell,{...h}):m.createElement(Pe,{size:e.size,...h})),C=w(e.cells,a.cells);if(C&&C.filterCell){const e=C.filterCell;return m.createElement(e,{key:g,...h,tdProps:v,index:s},b)}return m.createElement(l.HeaderTdElement,{key:g,...v},b)}));return m.createElement("tr",{className:"k-table-row k-filter-row","aria-rowindex":e.ariaRowIndex,role:"row"},c)},ze=e=>{const t=m.useRef(null),{dir:r,title:l}=e;return m.createElement(n.Draggable,{onPress:r=>{const n=t.current&&t.current.element;n&&e.onPress&&e.onPress(r.event,n)},onDrag:r=>{const n=t.current&&t.current.element;n&&e.onDrag&&e.onDrag(r.event,n)},onRelease:r=>{t.current&&t.current.element&&e.onRelease&&e.onRelease(r.event)},ref:t},m.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 r="asc"===e.dir?"desc":"asc";e.onSortChange(t,r)}},onContextMenu:t=>{const r={title:e.title,dir:e.dir,index:e.index};e.onContextMenu&&e.onContextMenu.call(void 0,t,{dataItem:{...r}})},onKeyDown:t=>{(t.keyCode===n.Keys.delete||t.keyCode===n.Keys.backspace)&&(t.preventDefault(),t.stopPropagation(),e.onRemove&&e.onRemove(t))},tabIndex:0,role:"button",style:{touchAction:"none"}},m.createElement("span",null,m.createElement(n.IconWrap,{name:"sort-"+r+"-small",icon:"asc"===r?o.sortAscSmallIcon:o.sortDescSmallIcon,size:"small"})),m.createElement("span",{className:"k-chip-content"},l),m.createElement("span",{className:"k-chip-actions"},m.createElement("span",{className:"k-chip-action k-chip-remove-action",onClick:t=>{t.preventDefault(),t.stopPropagation(),e.onRemove&&e.onRemove(t)}},m.createElement(n.IconWrap,{name:"x-circle",icon:o.xCircleIcon,size:"small"})))))},Ke=e=>{const t=a.useLocalization(),r=(e.group||[]).map(((t,r)=>m.createElement(ze,{key:r,index:r,dir:t.dir||"asc",title:e.resolveTitle(t.field),onRemove:t=>{((t,r)=>{const n=e.group.slice();n.splice(r,1),e.groupChange(n,t)})(t,r)},onSortChange:(n,l)=>{((t,r,n,l)=>{const a=Object.assign({},n,{dir:l}),o=e.group.slice();o.splice(r,1,a),e.groupChange(o,t)})(n,r,t,l)},onPress:e.pressHandler,onDrag:e.dragHandler,onRelease:e.releaseHandler,onContextMenu:e.onContextMenu})));return m.createElement("div",{ref:e.refCallback,className:"k-grouping-header",role:"toolbar","aria-label":t.toLanguageString(Z,oe[Z]),"aria-controls":e.ariaControls||""},m.createElement("div",{className:"k-chip-list k-chip-list-md",role:"none"},r),m.createElement("div",{className:"k-grouping-drop-container"},!r.length&&t.toLanguageString(H,oe[H])," "))},Ae=m.forwardRef(((e,t)=>{const r=m.useRef(null),l=m.useRef(null);return m.useImperativeHandle(t,(()=>({setScrollLeft:e=>{r.current&&(r.current.scrollLeft=e)},setWidth:e=>{l.current&&(l.current.style.width=e+"px")}}))),e.staticHeaders?m.createElement("div",{className:"k-grid-footer",role:"presentation"},m.createElement("div",{ref:r,className:"k-grid-footer-wrap",role:"presentation"},m.createElement("table",{ref:l,className:n.classNames("k-table k-grid-footer-table",{"k-table-md":!e.size,[`k-table-${n.kendoThemeMaps.sizeMap[e.size]||e.size}`]:e.size},e.className),role:"presentation"},m.createElement("colgroup",{ref:t=>{e.columnResize.colGroupFooter=t},role:"presentation"},e.cols),m.createElement("tfoot",{className:"k-table-tfoot",role:"presentation"},e.row)))):m.createElement("tfoot",{className:"k-table-tfoot"},e.row)}));Ae.displayName="KendoReactFooter";let Be=class{constructor(e){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.tableBodyRef=null,this.fixedScroll=!1,this.askedSkip=void 0,this.containerRef=null,this.tableTransform="",this.prevScrollPos=0,this.tableTranslate=0,this.scrollSyncing=!1,this.reactVersion=Number.parseFloat(m.version),this.topItems=(e,t)=>{if(!this.container||t)return{topItemsCount:0,topItemsHeight:0};const r=this.container.clientHeight,n=Math.ceil(r/e[0].line),l=Math.ceil((e.length-n)/2);let a=0;for(let t=0;t<l;t++)a+=e[t].line+e[t].acc;return{topItemsCount:l,topItemsHeight:a,itemsNeededOnScreen:n+n/2}},this.horizontalScrollbarHeight=()=>this.container?this.container.offsetHeight-this.container.clientHeight:0,e&&(this.topCacheCount=4,this.attendedSkip=-this.topCacheCount),this.scrollHandler=this.scrollHandler.bind(this)}get container(){var e;return null==(e=this.containerRef)?void 0:e.current}get rowHeights(){var e,t;const r=[],n=(null==(e=this.tableBodyRef)?void 0:e.current)&&(null==(t=this.tableBodyRef)?void 0:t.current.children)||[];let l=0;for(let e=0;e<n.length;e++)n[e].className.indexOf("k-grouping-row")>-1?l+=n[e].scrollHeight:n[e].className.indexOf("k-detail-row")>-1?r[r.length-1].line+=n[e].scrollHeight:(r.push({line:n[e].scrollHeight,acc:l}),l=0);return r}changePage(e,t){this.attendedSkip=e-this.topCacheCount,this.PageChange&&this.PageChange({skip:Math.max(0,e-this.topCacheCount),take:this.pageSize},t)}translate(e,t){this.tableTranslate=e,this.scrollableVirtual&&this.table&&(this.reactVersion<=17||t?this.table.style.transform="translateY("+e+"px)":this.tableTransform="translateY("+e+"px)")}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0,!0))}localScrollUp(e){if(!this.container)return;const t=this.rowHeights,r=this.container.scrollTop;let n=this.tableTranslate,l=0;const{topItemsCount:a,topItemsHeight:o,itemsNeededOnScreen:i}=this.topItems(t,!!this.topCacheCount),s=r-n;if(!(s>o||t.length<=i)){for(;l<this.topCacheCount+this.attendedSkip-this.realSkip+a&&this.propsSkip-l>0&&!(n+(t[t.length-1-l].line+t[t.length-1-l].acc)+s<=r);)n-=t[t.length-1-l].line+t[t.length-1-l].acc,l++;if(0===l&&0===this.topCacheCount&&this.attendedSkip>0&&(n=Math.max(n-t[0].line,0),l=1),this.propsSkip-l<=0&&n>r)return this.translate(0),this.changePage(0,e),void(this.container.scrollTop=0);if(n>r&&(n=r),n!==this.tableTranslate){this.translate(Math.max(0,n-o));const t=Math.max(0,this.propsSkip-l-a);this.changePage(t,e)}}}localScrollDown(e){if(!this.container)return;const t=this.rowHeights,r=this.container.scrollTop;let n=this.tableTranslate,l=0;const{topItemsCount:a,topItemsHeight:o,itemsNeededOnScreen:i}=this.topItems(t,!!this.topCacheCount);for(;l<t.length-this.topCacheCount&&!(n+t[l].line+t[l].acc>r);)n+=t[l].line+t[l].acc,l++;a>this.propsSkip+l||t.length<=i||(l>=t.length-this.topCacheCount&&this.propsSkip+l>=this.total?(this.translate(n-o),this.changePage(this.total-1-a,e)):n!==this.tableTranslate&&this.propsSkip+l-a!==this.propsSkip&&(this.translate(n-o),this.changePage(this.propsSkip+l-a,e)))}scrollNonStrict(e){const t=this.total*this.prevScrollPos/this.containerHeight;let r=Math.floor(t);r>=this.total&&(r=this.total-1);const n=Math.min(t-r,1);let l=0;const a=r-this.propsSkip,o=this.rowHeights;a>=0&&a<=1?l=-(o[0].line+o[0].acc)*n:-1===a&&(l=-(o[o.length-1].line+o[o.length-1].acc)*n);const{topItemsCount:i,topItemsHeight:s}=this.topItems(o,!!this.topCacheCount);this.translate(Math.max(0,l-s-this.horizontalScrollbarHeight()+this.containerHeight*t/this.total)),this.changePage(r-i,e)}scrollHandler(e){if(!this.scrollableVirtual)return;if(this.scrollSyncing||!this.container||!this.table)return void(this.scrollSyncing=!1);const t=this.container.scrollTop,r=this.prevScrollPos;if(this.prevScrollPos=t,void 0!==this.askedSkip)return this.translate(this.containerHeight*this.askedSkip/this.total),this.changePage(this.askedSkip,e),this.prevScrollPos=t,void(this.askedSkip=void 0);t-r<0&&t>this.tableTranslate-this.table.scrollHeight/10?this.localScrollUp(e):t-r>0&&t<this.tableTranslate+2*this.table.scrollHeight/3?this.localScrollDown(e):this.scrollNonStrict(e),this.prevScrollPos=t}},qe=class{constructor(e){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.tableBodyRef=null,this.fixedScroll=!1,this.askedSkip=void 0,this.containerRef=null,this.tableTransform="",this.scrollSyncing=!1,this.lastLoaded=0,this.firstLoaded=0,this.lastScrollTop=0,this.reactVersion=Number.parseFloat(m.version),this.firstLoaded=this.pageSize,this.lastLoaded=this.realSkip+this.pageSize,this.scrollHandler=this.scrollHandler.bind(this)}get container(){var e;return(null==(e=this.containerRef)?void 0:e.current)||void 0}translate(e,t){this.scrollableVirtual&&this.table&&(S||this.reactVersion<=17||t?this.table.style.transform="translateY("+e+"px)":this.tableTransform="translateY("+e+"px)")}changePage(e,t){this.PageChange&&this.PageChange({skip:Math.max(0,e),take:this.pageSize},t)}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0,!0))}scrollHandler(e){var t;if(!(this.scrollableVirtual&&this.container&&this.table&&this.rowHeightService&&null!=(t=this.containerRef)&&t.current))return;if(this.scrollSyncing)return void(this.scrollSyncing=!1);const r=this.container.scrollTop,n=this.lastScrollTop>=r,l=!n;this.lastScrollTop=r;let a=this.rowHeightService.index(r),o=this.rowHeightService.offset(a);const{offsetHeight:i}=this.containerRef.current,s=this.rowHeightService.index(r+i);if(l&&s>=this.lastLoaded&&this.lastLoaded<this.total){const t=a+this.pageSize-this.total;t>0&&(a-=t,o=this.rowHeightService.offset(a)),this.firstLoaded=a,this.translate(o);const r=this.firstLoaded+this.pageSize;this.lastLoaded=Math.min(r,this.total),this.changePage(this.firstLoaded,e)}else if(n&&a<this.firstLoaded){const t=Math.floor(.3*this.pageSize);this.firstLoaded=Math.max(a-t,0),this.translate(this.rowHeightService.offset(this.firstLoaded)),this.lastLoaded=Math.min(this.firstLoaded+this.pageSize,this.total),this.changePage(this.firstLoaded,e)}}},We=class{constructor(e){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=e=>{this.isRtl=e},this.dragHandler=(e,t,r,n)=>{const l=e.originalEvent;n||(l.preventDefault(),l.stopPropagation(),l.stopImmediatePropagation());const a=r.closest("th");if(!a||!a)return;const o=a.clientWidth;let i=o;if(this.isRtl?i+=r.getBoundingClientRect().right-r.offsetWidth/2-e.clientX:i+=e.clientX-r.getBoundingClientRect().left-r.offsetWidth/2,!n&&Math.abs(i-o)<1)return;this.fixateInitialWidths(a.parentElement.clientWidth),this.setWidths(t,Math.floor(i)/o);const s=this.columns.filter((e=>!e.children.length)).findIndex((e=>e.id===t.id));this.onResize(s,o,i,l,n,t.id)},this.dblClickHandler=(e,t)=>{const r=this.columns.filter((e=>t.indexOf(e.id)>-1));if(!this.colGroupMain||!r.length)return;const n={},l=r;for(;l.length>0;){const e=l.pop();if(!e)break;e.children.length?l.push(...e.children):n[e.id]=e}const a=this.columns.filter((e=>!e.children.length)),o=[];a.forEach(((e,t)=>{n[e.id]&&o.push(t)}));const i=[this.colGroupMain.parentElement],s=[this.colGroupMain];this.colGroupHeader&&(i.push(this.colGroupHeader.parentElement),s.push(this.colGroupHeader)),this.colGroupFooter&&(i.push(this.colGroupFooter.parentElement),s.push(this.colGroupFooter)),i.forEach((e=>e.classList.add("k-autofitting")));const c=[];s.forEach((e=>{o.forEach((t=>{e.children[t]&&(e.children[t].width="",c[t]=Math.max(c[t]||0,e.children[t].offsetWidth+1))}))})),s.forEach((e=>{o.forEach((t=>{e.children[t]&&(e.children[t].width=c[t]+"px",a[t].width=c[t])}))})),i.forEach((e=>e.classList.remove("k-autofitting"))),this.onResize(o[0],0,0,e,!0,t[0])},this.updateColElements=e=>{const t=this.columns.filter((e=>!e.children.length));let r=1e-10;for(let n=0;n<e.length;n++){const l=e[n],a=t.findIndex((e=>e.id===l.id)),o=parseFloat((l.width||0).toString()),i=Math.floor(o);r+=o-i;const s=i+Math.floor(r);if(r-=Math.floor(r),this.colGroupMain&&this.colGroupMain.children[a]){const e=parseInt(this.colGroupMain.children[a].width,10);this.colGroupMain.children[a].width=s+"px",this.updateNextLockedCol(this.colGroupMain.parentElement,l,e-s)}if(this.colGroupHeader&&this.colGroupHeader.children[a]){const e=parseInt(this.colGroupHeader.children[a].width,10);this.colGroupHeader.children[a].width=s+"px",this.updateNextLockedCol(this.colGroupHeader.parentElement,l,e-s)}if(this.colGroupFooter&&this.colGroupFooter.children[a]){const e=parseInt(this.colGroupFooter.children[a].width,10);this.colGroupFooter.children[a].width=s+"px",this.updateNextLockedCol(this.colGroupFooter.parentElement,l,e-s)}}},this.onResize=e}fixateInitialWidths(e){const t=this.columns.filter((e=>!e.children.length));let r=0;const n=this.colGroupMain?this.colGroupMain.children:[];for(let t=0;t<n.length;t++)n[t].width?e-=parseFloat(n[t].width):r++;if(0===r)return;const l=Math.floor(e/r);for(let e=0;e<n.length;e++){const r=n[e];r.width||(r.width=l,t[e].width=l.toString(),this.colGroupHeader&&(this.colGroupHeader.children[e].width=l),this.colGroupFooter&&(this.colGroupFooter.children[e].width=l))}}setWidths(e,t){const r=this.columns.findIndex((t=>t.id===e.id)),n=[];let l=e.children.length;for(let e=r+1;e<this.columns.length&&!(l<=0);e++){const t=this.columns[e];t.children.length?l+=t.children.length:n.push(t),l--}return 0===n.length&&n.push(e),n.forEach((e=>{let r=e.width?parseFloat(e.width.toString())*t:0;const n=void 0===e.minResizableWidth?10:e.minResizableWidth;r<n&&(r=n),e.width=r})),this.updateColElements(n),n}updateNextLockedCol(e,t,r){const n=t.index,l=this.colGroupMain.parentElement.closest(".k-grid"),a=null==l?void 0:l.clientWidth,o=this.columns.filter((e=>e.locked)).map((e=>parseInt(e.width+"",10))).reduce(((e,t)=>e+t),0);!t.locked||a<=o+20||this.columns.forEach((t=>{if(null!=t&&t.locked&&r){const l=null==e?void 0:e.querySelectorAll('[aria-colindex="'+t.ariaColumnIndex+'"]');null==l||l.forEach((e=>{const l=e.style;this.isRtl?(t.index>n&&l&&l.right&&(l.right=parseInt(l.right,10)-r+"px"),t.index<n&&l&&l.left&&(l.left=parseInt(l.left,10)-r+"px")):(t.index>n&&l&&l.left&&(l.left=parseInt(l.left,10)-r+"px"),t.index<n&&l&&l.right&&(l.right=parseInt(l.right,10)-r+"px"))}))}}))}},Ve=class{constructor(e,t,r){this.refDragElementClue=m.createRef(),this.refDropElementClue=m.createRef(),this.columns=[],this.reorderable=!1,this.groupable=!1,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.groupPanelDivElement=null,this.refGroupPanelDiv=e=>{this.groupPanelDivElement=e&&e.children?e.children[0]:e},this.pressHandler=(e,t)=>{const r=this.getColumnIndex(e,t);if(this.startGroup=this.getGroupIndex(e),r>=0){const e=this.columns[r];(e.reorderable&&this.reorderable||e.groupable&&this.groupable)&&(this.startColumn=r)}},this.dragHandler=(e,t)=>{if(e.isTouch||e.originalEvent.preventDefault(),e.originalEvent.stopPropagation(),-1===this.startColumn&&-1===this.startGroup)return;this.currentColumn=this.getColumnIndex(e,t),this.currentGroup=this.isTargetGroupingContainer(e)?this.getCurrentGroupsLength:this.getGroupIndex(e);const r=!this.isValid();r&&(this.currentColumn=-1,this.currentGroup=-1);const n=this.currentColumn>=0?t.children[this.columns[this.currentColumn].index]:this.isTargetGroupingContainer(e)?e.originalEvent.target:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(e,t,n,r),this.updateDropElementClue(e,t,n,r)},this.releaseHandler=e=>{const t=this.startColumn,r=this.currentColumn,n=this.startGroup,l=this.currentGroup;e.originalEvent.preventDefault(),this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const a=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,a&&(t>=0&&r>=0?this.columnReorder(t,r,e.originalEvent):n>=0&&l>=0?this.groupReorder(n,l,e.originalEvent):t>=0&&l>=0&&this.columnToGroup(t,l,e.originalEvent))},this.columnReorder=e,this.groupReorder=t,this.columnToGroup=r}get dragClueRef(){return this.refDragElementClue}get dropClueRef(){return this.refDropElementClue}get getCurrentGroupsLength(){const e=this.groupPanelDivElement&&this.groupPanelDivElement.children;return e&&e.length||0}get dragElementClue(){return this.refDragElementClue.current}get dropElementClue(){return this.refDropElementClue.current}getColumnIndex(e,t){if(!t||t.parentElement===this.groupPanelDivElement)return-1;const r=l.getIndex(e,t);if(-1===r)return-1;for(let e=0;e<t.parentNode.children.length;e++)if(t.parentNode.children[e]===t)return this.columns.findIndex((t=>t.index===r&&t.depth===e));return-1}isTargetGroupingContainer(e){const t=e.originalEvent.target;return!!t.className.indexOf&&-1!==t.className.indexOf("k-grouping-drop-container")}getGroupIndex(e){return l.getIndex(e,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:-1!==this.startColumn&&(this.currentGroup>=0?!0===this.columns[this.startColumn].groupable&&!0===this.groupable:!0===this.reorderable&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&!0===this.columns[this.startColumn].reorderable&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex)}updateDragElementClue(e,t,r,n){if(!this.dragElementClue)return;const l=this.startColumn>=0?t.children[this.columns[this.startColumn].index].innerText:t.innerText;this.dragElementClue.setState({visible:!0,top:e.pageY+10,left:e.pageX,innerText:l,status:n||!r?"k-i-cancel":"k-i-plus"})}updateDropElementClue(e,t,r,n){if(!this.dropElementClue)return;if(n||!r)return void this.dropElementClue.setState({visible:!1});const l=r.getBoundingClientRect(),a=(r.closest(".k-grouping-header")||r).getBoundingClientRect();let o=l.left+e.pageX-e.clientX-6;!this.isTargetGroupingContainer(e)&&(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&-1!==this.startGroup)&&(o+=l.width);const i=a.top+e.pageY-e.clientY;this.dropElementClue.setState({visible:!0,top:i,left:o,height:this.currentColumn>=0?t.clientHeight:a.height})}};const Ue=e=>{let t=null;const r=a.useInternationalization(),o=n.useUnstyled(),i=o&&o.uGrid?o.uGrid:n.uGrid,s=l.useTableKeyboardNavigation(e.id),c=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]);let d=null,u=null;if("groupFooter"===e.rowType)d={onContextMenu:c,className:e.className,...s},t=m.createElement("td",{...d});else if("groupHeader"!==e.rowType){if(void 0!==e.field){const t=b(e.field,e.dataItem);null!=t&&(u=e.format?r.format(e.format,t):t.toString())}const l=n.classNames(i.td({selected:e.isSelected,sorted:e.isSorted,alt:e.isAlt}),e.className);d={onContextMenu:c,colSpan:e.colSpan,style:e.style,className:l,role:"gridcell","aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ue]:e.columnIndex,...s},t=m.createElement("td",{...d},u)}const p=e.rowType||"data",h=e.cells;if(h&&h[p]){const t=h[p];return m.createElement(t,{...e,tdProps:d},u)}return e.render?e.render.call(void 0,t,e):t},_e=e=>{let t=null;const{columnIndex:r,level:i,columnsCount:s,rowType:c,dataItem:d,field:u,onChange:p,expanded:h,render:g,dataIndex:f,ariaColumnIndex:v,isRtl:b}=e,C=u||"",E=l.useTableKeyboardNavigation(e.id),x=a.useLocalization();let k=null,y=null,I=null;const S=m.useCallback((e=>{e.isDefaultPrevented()||e.keyCode===n.Keys.enter&&p&&(e.preventDefault(),p({dataItem:d,dataIndex:f,syntheticEvent:e,field:void 0,value:!h}))}),[h,p,d,f]),N=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]),w=(t,r)=>{const l=h?te:ee,a=x.toLanguageString(l,oe[l]);return k={className:"k-table-td",style:{...e.style,...r},colSpan:t,key:"g-colspan",role:"gridcell","aria-selected":!1,"aria-expanded":h,"aria-colindex":v,onKeyDown:S,onContextMenu:N,...E},I=m.createElement("p",{className:"k-reset"},m.createElement("a",{onClick:e=>{e.preventDefault(),p&&p({dataItem:d,dataIndex:f,syntheticEvent:e,field:void 0,value:!h})},href:"#",tabIndex:-1,"aria-label":a},m.createElement(n.IconWrap,{name:h?"caret-alt-down":b?"caret-alt-left":"caret-alt-right",icon:h?o.caretAltDownIcon:b?o.caretAltLeftIcon:o.caretAltRightIcon})),d[C]instanceof Date&&d[C].toString?d[C].toString():d[C]),m.createElement("td",{...k,key:k.key},I)};void 0===r||void 0===i||r<i||void 0===s||"groupHeader"!==c||void 0===d[C]?(k={style:e.style,key:"g"+r,className:n.classNames("k-table-td","k-group-cell",{"k-grid-content-sticky":e.locked}),role:"gridcell",onContextMenu:N,...E},t=m.createElement("td",{...k,key:k.key})):r<=i&&!e.locked?t=w(s-r,{}):r<=i&&e.locked&&(y={className:"k-table-td",role:"gridcell",colSpan:s-r,style:{borderLeftWidth:0,borderRightWidth:0},onContextMenu:N},t=m.createElement(m.Fragment,null,w(0,{position:"sticky",zIndex:2}),m.createElement("td",{...y})));const R=e.rowType||"data",T=e.cells;if(T&&T.group&&T.group[R]){const t=T.group[R];return m.createElement(t,{...e,tdProps:k,td2Props:y},I)}return g?g.call(void 0,t,e):t},je=e=>{const{rowType:t,isAltRow:r,isInEdit:l,isSelected:a}=e,o=n.useUnstyled(),i=o&&o.uGrid?o.uGrid:n.uGrid,s=n.classNames(i.tr({selected:a,isHeader:"groupHeader"===t,isFooter:"groupFooter"===t,isMaster:"groupHeader"!==t&&"groupFooter"!==t,isAltRow:r,isInEdit:l})),c=m.createElement("tr",{id:e.id,onClick:e.onClick,onDoubleClick:e.onDoubleClick,className:s,style:{height:e.rowHeight?e.rowHeight+"px":"",visibility:e.isHidden?"hidden":""},role:"row","aria-rowindex":e.ariaRowIndex,"absolute-row-index":e.absoluteRowIndex,key:e.absoluteRowIndex,[de]:"data"===e.rowType?e.dataIndex:void 0},e.children);return e.render?e.render.call(void 0,c,e):c},$e=e=>{const t=n.useId(),r=a.useLocalization(),l=e.id||t,{columnMenuWrapperProps:o}=e,i=[m.createElement("span",{key:0,className:"k-checkbox-wrap"},m.createElement("input",{id:l,type:"checkbox",tabIndex:-1,className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":r.toLanguageString(le,oe[le]),"aria-checked":e.selectionValue,checked:e.selectionValue,onChange:t=>e.selectionChange({field:e.field,syntheticEvent:t})})),o.columnMenu&&m.createElement(Ee,{...o})];return e.render?e.render.call(void 0,i,e):i},Xe=e=>{const t=a.useLocalization();return e.children||t.toLanguageString(R,oe[R])};Xe.displayName="KendoReactGridNoRecords";const Ye=e=>{const{column:t,index:r,isRtl:a,id:o,cells:i}=e,s=l.useTableKeyboardNavigation(o),c={colSpan:1!==t.colSpan?t.colSpan:void 0,style:void 0!==t.left?a?{left:t.right,right:t.left}:{left:t.left,right:t.right}:{},className:n.classNames("k-table-td",t.locked&&void 0!==t.left?"k-grid-footer-sticky":""),key:r,role:"gridcell","aria-colindex":t.ariaColumnIndex,...s},d={field:t.field,ariaColumnIndex:t.ariaColumnIndex,...c},u=w(i,t.cells);if(u&&u.footerCell){const e=u.footerCell;return m.createElement(e,{...d,tdProps:c,index:r})}return t.footerCell&&m.createElement(t.footerCell,{...d,key:r})||m.createElement("td",{...c})},Je=e=>m.createElement("tr",{className:"k-table-row",role:"row","aria-rowindex":e.ariaRowIndex},(e=>e.filter((t=>!(((e,t)=>{let r=e[t.parentIndex];for(;r;){if(r.footerCell)return!0;r=e[r.parentIndex]}return!1})(e,t)||!t.footerCell&&t.children&&t.children.length>0))))(e.columns).map(((t,r)=>{const n=l.tableKeyboardNavigationTools.generateNavigatableId(`${r}-footercell`,e.idPrefix,"nodata");return m.createElement(Ye,{key:n,column:t,id:n,index:r,cells:e.cells,isRtl:e.isRtl})}))),Qe=e=>(({buttonCount:e=10,info:t=!0,type:r="numeric",pageSizes:n,previousNext:l=!0,responsive:a,navigatable:o,pageSizeValue:i})=>({buttonCount:e,info:t,pageSizes:!0===n?[5,10,20]:n||void 0,previousNext:l,responsive:!1!==a,navigatable:!1!==o,type:r,pageSizeValue:i}))(!0===e?{}:e),Ze={name:"@progress/kendo-react-grid",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},et=e=>{const{colSpan:t,ariaColIndex:r,dataItem:a,dataIndex:o,id:i}=e,s=l.useTableKeyboardNavigation(i),c=n.useUnstyled(),d=c&&c.uGrid?c.uGrid:n.uGrid,u=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem)}),[e.onContextMenu,e.dataItem]);return m.createElement("td",{onContextMenu:u,className:n.classNames(d.detailTd({})),colSpan:t,"aria-colindex":r,role:"gridcell",...s},m.createElement(e.detail,{dataItem:a,dataIndex:o}))},tt=e=>{const t=n.useUnstyled(),r=t&&t.uGrid?t.uGrid:n.uGrid;return m.createElement("td",{className:n.classNames(r.hierarchyTd({})),role:"gridcell"})},rt=m.forwardRef(((e,t)=>{var r,o,i,s;const c=n.useId();n.validatePackage(Ze);const d=()=>{var e;if(n.canUseDOM)return(null==(e=h())?void 0:e.ownerDocument)||document},u=()=>(e.id||c)+"-role-element-id",p=()=>{const e=Ee.current.filter((e=>e.declarationIndex>=0&&-1===e.parentIndex));return I(e)},h=()=>Ye.current,g=m.useCallback((t=>{var r;if(!pe.current||null==(r=pe.current)||!r.container||"none"===e.scrollable)return;ve.current&&ve.current.disconnect();const{rowIndex:n}=t,l=h();if("virtual"===e.scrollable)pe.current.askedSkip=n,pe.current.container.scroll(0,Math.round(pe.current.askedSkip/pe.current.total*pe.current.container.scrollHeight));else if(l){const e=n<1?l.querySelector("tbody > tr:nth-child(1)"):l.querySelector(`tbody > tr:nth-child(${n+1})`);e&&nt.current&&(nt.current.scrollTop=e.offsetTop)}}),[e.scrollable]),f=m.useCallback((e=>{const t={rowIndex:Le.current};e.forEach((e=>{e.isIntersecting||g(t)}))}),[g]),[,v]=m.useReducer((e=>!e),!0),R=e=>JSON.stringify(e.map((e=>({id:e.id,field:e.field,title:e.title,children:e.children})))),T=m.useMemo((()=>m.Children.toArray(e.children)),[e.children]),M=()=>{R(T)===R(Ee.current)||v()},G=(t,r,n)=>{if(e.onContextMenu){const l={target:ut.current,syntheticEvent:t,nativeEvent:t.nativeEvent,dataItem:r,field:n};e.onContextMenu.call(void 0,l)}},D=()=>{const{data:t,total:r}=e;return Array.isArray(t)?t.length===r:!!t&&r===t.total},L=()=>(Me.current||(Me.current=n.getScrollbarWidth()||void 0),Me.current),O=t=>{if(l.tableKeyboardNavigation.onKeyDown(t,{navigatable:e.navigatable||!1,contextStateRef:le,navigationStateRef:de,onNavigationAction:P,columns:p()}),l.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:d(),contextStateRef:le,navigationStateRef:de}),e.onKeyDown){const{mode:r,cell:n}=l.getSelectionOptions(e.selectable),a={dataItems:te(),mode:r,cell:n,componentId:u(),selectedField:e.selectedField,...ee(t)};e.onKeyDown.call(void 0,a)}},H=t=>{l.tableKeyboardNavigation.onFocus(t,{navigatable:!!e.navigatable,contextStateRef:le})},P=t=>{if("moveToNextPage"===t.action&&A(t.event),"moveToPrevPage"===t.action&&B(t.event),t.focusElement&&"reorderToRight"===t.action){const e=parseInt(t.focusElement.ariaColIndex,10)-1;e<Ee.current.length-1&&U(e,e+1,t.event)}if(t.focusElement&&"reorderToLeft"===t.action){const e=parseInt(t.focusElement.ariaColIndex,10)-1;e>0&&U(e,e-1,t.event)}if(e.onNavigationAction){const r={focusElement:t.focusElement,...ee(t.event)};e.onNavigationAction.call(void 0,r)}},F=t=>{t.field===e.expandField||e.group&&void 0===t.field?e.onExpandChange&&e.onExpandChange.call(void 0,{...ee(t.syntheticEvent),dataItem:t.dataItem,dataIndex:t.dataIndex,value:t.value}):e.onItemChange&&e.onItemChange.call(void 0,{...ee(t.syntheticEvent),dataItem:t.dataItem,dataIndex:t.dataIndex,field:t.field,value:t.value})},z=t=>{if(e.onSelectionChange){const r=re()[t.startRowIndex],n=re()[t.endRowIndex],l={syntheticEvent:void 0,target:ut.current,selectedField:e.selectedField||"",componentId:u(),dataItems:te(),dataItem:null,startDataItem:r,endDataItem:n,...t};e.onSelectionChange.call(void 0,l)}},K=(t,r,n)=>{V(e.onPageChange,{page:t},{skip:t.skip,take:t.take},r,n)},A=t=>{const r=e.take||0,n=(e.skip||0)+r,l=(()=>{let t=e.total||0;return Array.isArray(e.data)?t=t||e.data.length:e.data&&(t=t||e.data.total),t})();n<l&&K({skip:n,take:r},t)},B=t=>{const r=e.take||0,n=(e.skip||0)-r;n>=0&&K({skip:n,take:r},t)},q=(t,r)=>{V(e.onFilterChange,{filter:t},{filter:t||void 0,skip:0},r)},W=(t,r)=>{const n=r.nativeEvent?r:{nativeEvent:r.nativeEvent||r.originalEvent};0===t.length&&e.navigatable&&(ye.current=!0),V(e.onGroupChange,{group:t},{group:t,skip:0},n)},V=(t,r,n,l,a)=>{const o=e.onDataStateChange;if(t){const e={...ee(l),...r,targetEvent:a};t.call(void 0,e)}else o&&o.call(void 0,{...ee(l),targetEvent:a||{},dataState:{...Z(),...n}})},U=(t,r,n)=>{const a=Ee.current[t],o=a.depth,i=e=>{do{e++}while(e<Ee.current.length&&Ee.current[e].depth>o);return e},s=Ee.current.splice(t,i(t)-t);Ee.current.splice(t<r?i(r-s.length):r,0,...s),Ee.current.filter((e=>e.declarationIndex>=0)).forEach(((e,t)=>e.orderIndex=t));const c=Ee.current[t].locked&&Ee.current[r].locked;l.updateLeft(xe.current,Ee.current,c||Te.current),l.updateRight(xe.current,Ee.current,c||Te.current),ke.current&&(Te.current=!1,ke.current=!1);const d=p();if(v(),e.onColumnReorder){const t={target:ut.current,columns:d,columnId:a.id,nativeEvent:n};e.onColumnReorder.call(void 0,t)}},_=(t,r,n)=>{if(void 0===e.group)return;const l=e.group.slice();l.splice(r,0,...l.splice(t,1)),W(l,n)},j=(t,r,n)=>{const l=Ee.current[t].field;if(!l)return;const a=(e.group||[]).slice();a.splice(r,0,{field:l}),W(a,n)},$=()=>{let e=0;if(!fe.current.colGroupMain)return;const t=fe.current.colGroupMain.children;for(let r=0;r<t.length;r++){const n=t[r].width;if(!n)return;e+=parseFloat(n.toString())}e=Math.round(e),Pe.current&&Pe.current.setWidth(e),He.current&&He.current.setWidth(e),rt.current&&(rt.current.style.width=e+"px")},X=(t,r)=>{if(e.onClipboard){if(!Y()||!t)return;e.onClipboard.call(void 0,{type:t,nativeEvent:r,columns:Ee.current,dataItemKey:e.dataItemKey||"",..."boolean"!=typeof e.clipboard?e.clipboard:{}})}},Y=()=>{var e,t,r;if(!n.canUseDOM)return!1;const l=n.getActiveElement(d()),a=l?l.matches(".k-table-td")?l:null==(e=d())?void 0:e.body:null==(t=d())?void 0:t.body,o=a.closest(".k-grid-container"),i=a&&(null==(r=Ye.current)?void 0:r.contains(a));return!!(a&&i&&o)},J=(t,r,n,l,a,o)=>{$(),Te.current=!0,ke.current=!0,e.onColumnResize&&e.onColumnResize.call(void 0,{columns:p(),nativeEvent:l,targetColumnId:o,index:t,newWidth:r,oldWidth:n,end:a,target:ut.current})},Q=(t,r)=>{e.selectedField&&t.filter((t=>t.field===e.selectedField)).forEach((e=>{e.width=e.width||"50px",e.cell=e.cell||se,e.headerCell=e.headerCell||$e}));const l={id:"",resizable:!0,width:"32px",title:" ",declarationIndex:-1,orderIndex:-1,children:[],parentIndex:-1,depth:0,colSpan:0,rowSpan:0,left:0,right:0,index:0,rightBorder:!1,ariaColumnIndex:0,isAccessible:!0};let a=0;e.expandField&&e.onExpandChange&&e.detail&&(t.unshift({...l,cell:ce,field:e.expandField,headerClassName:n.classNames(st.hierarchyCell({}))}),a++);for(let n=0;n<r;n++)t.unshift({...l,isAccessible:!1,cell:_e,field:"value",locked:e.lockGroups}),a++;t.slice(a).forEach((e=>e.parentIndex>=0&&(e.parentIndex+=a)))},Z=()=>({filter:e.filter,sort:e.sort,skip:e.skip,take:void 0!==e.take?e.take:e.pageSize,group:e.group}),ee=e=>({nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:ut.current}),te=()=>be.current.filter((e=>"data"===e.rowType)).map((e=>e.dataItem)),re=()=>(Ce.current||be.current).filter((e=>"data"===e.rowType)).map((e=>e.dataItem)),ne=m.useRef(),le=m.useRef(),de=m.useRef(),ue=m.useRef(),pe=m.useRef(),fe=m.useRef(),ve=m.useRef(null),be=m.useRef([]),Ce=m.useRef(),Ee=m.useRef([]),xe=m.useRef([[]]),ke=m.useRef(!1),ye=m.useRef(!1),Se=m.useRef(),we=m.useRef(),Re=m.useRef(!1),Te=m.useRef(!0),Me=m.useRef(),Ge=m.useRef(0),De=m.useRef(),Le=m.useRef(),Oe=m.useRef([]),He=m.useRef(null),Pe=m.useRef(null),ze=m.useRef(null),Ye=m.useRef(null),rt=m.useRef(null),nt=m.useRef(null),lt=m.useRef(null),at=m.useRef(null),ot=a.useLocalization(),it=n.useUnstyled(),st=it&&it.uGrid?it.uGrid:n.uGrid,ct=n.shouldShowValidationUI(Ze),dt=n.useDir(Ye);m.useMemo((()=>{l.tableKeyboardNavigation.onConstructor({navigatable:!!e.navigatable,contextStateRef:le,navigationStateRef:de,idPrefix:u()})}),[]),m.useMemo((()=>{var t;null==(t=pe.current)||t.reset();const r=!0===e.groupable||"object"==typeof e.groupable&&!1!==e.groupable.enabled,n=(()=>{const{rowHeight:t,detailRowHeight:r,detail:n,expandField:l,groupable:a}=e,o=D(),i=void 0!==t&&t>0,s=void 0!==r&&r>0,c=!0===a||"object"==typeof a&&!1!==a.enabled;return!i||c&&!o||n&&l&&(!s||!o)?Be:qe})();pe.current=new n(r||void 0===e.rowHeight||0===e.rowHeight)}),[e.scrollable,e.total,e.filter,e.group,e.groupable,e.sort,e.rowHeight]),m.useEffect((()=>(e.clipboard&&(ue.current=new l.ClipboardService(X),ue.current.addEventListeners(d())),()=>{ue.current&&ue.current.removeEventListeners(d())})),[e.onClipboard,e.clipboard]),m.useMemo((()=>{fe.current=new We(J)}),[e.onColumnResize]),m.useMemo((()=>{ne.current=new Ve(U,_,j)}),[e.onColumnReorder,e.onGroupChange,e.group,e.groupable]),m.useEffect((()=>(e.columnVirtualization&&!window.navigator.userAgent.match(he)&&(at.current&&(at.current.style.display="block"),rt.current&&(rt.current.style.display="block")),$(),n.setScrollbarWidth(L()),l.tableKeyboardNavigation.onComponentDidMount({scope:Ye.current||void 0,contextStateRef:le,navigationStateRef:de}),()=>{clearTimeout(De.current)})),[]),m.useEffect((()=>{var t;$(),n.setScrollbarWidth(L()),null!=(t=pe.current)&&t.tableTransform&&pe.current.table&&(pe.current.table.style.transform=pe.current.tableTransform,pe.current.tableTransform=""),(()=>{var e,t,r;if(lt.current&&(null==(e=lt.current)?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){Re.current=!1,null!=(t=document.activeElement)&&t.closest(".k-grid-edit-row")?we.current=document.activeElement:we.current=void 0;const e=Array.from(null==(r=lt.current)?void 0:r.getElementsByClassName("k-grid-edit-row"));e.length>Oe.current.length?Se.current=e.filter((e=>!Oe.current.includes(e)))[0]:1===e.length&&(Se.current=e[0],Re.current=!0),Oe.current=e}})(),l.tableKeyboardNavigation.onComponentDidUpdate({scope:Ye.current||void 0,contextStateRef:le,navigationStateRef:de,focusFirst:ye.current,newEditableRow:Se.current,singleEditRow:Re.current,lastActiveElement:we.current,navigatable:e.navigatable}),ye.current=!1,Se.current=void 0})),m.useEffect((()=>{if(n.canUseDOM){const e={rootMargin:"0px",threshold:.9};ve.current=window.IntersectionObserver&&new window.IntersectionObserver(f,e)||null}}),[f]),m.useEffect((()=>{var e;let t;return n.canUseDOM&&window.ResizeObserver&&(t=new window.ResizeObserver(M),t.observe(null==(e=d())?void 0:e.body)),()=>{null==t||t.disconnect()}}),[]);const ut=m.useRef(null);m.useImperativeHandle(ut,(()=>({get element(){return h()},props:e,get columns(){return p()},scrollIntoView:t=>{var r;if(null==(r=pe.current)||!r.container||"none"===e.scrollable)return;const{rowIndex:n}=t;Le.current=n;const l=h();if(ve.current&&l){ve.current.disconnect();const e=l.querySelector(`[absolute-row-index="${Le.current}"]`);e?ve.current.observe(e):g(t)}},fitColumns:e=>{fe.current.dblClickHandler(null,e)}}))),m.useImperativeHandle(t,(()=>ut.current));let pt=e.total||0;const ht=l.tableKeyboardNavigationTools.getIdPrefix(de),{size:gt="medium"}=e;let mt=[];Array.isArray(e.data)?(mt=e.data,pt=pt||e.data.length):e.data&&(mt=e.data.data,pt=pt||e.data.total);const ft="object"==typeof e.groupable&&e.groupable.footer||"none",vt="virtual"===e.scrollable,{resolvedGroupsCount:bt,flattedData:Ct}=((e,t,r,n,l)=>{const a=[];return{flattedData:a,resolvedGroupsCount:C(a,e,t,{index:r},void 0!==n,l)}})(mt,ft,e.skip||0,e.group,e.expandField);be.current=Ct;const Et=!0===e.groupable||"object"==typeof e.groupable&&!1!==e.groupable.enabled;fe.current.resizable=e.resizable||!1,ne.current.reorderable=e.reorderable||!1,ne.current.groupable=Et;const xt=e.selectable&&e.selectable.drag?"none":void 0;((t,r)=>{if(pe.current){if(pe.current.fixedScroll=e.fixedScroll||!1,pe.current.PageChange=K,pe.current.realSkip=e.skip||0,pe.current.pageSize=(void 0!==e.take?e.take:e.pageSize)||0,pe.current.scrollableVirtual="virtual"===e.scrollable,pe.current.total=t,pe.current.propsSkip=(e.skip||0)+("virtual"===e.scrollable?pe.current.topCacheCount+(pe.current.attendedSkip-(e.skip||0)):0),void 0!==e.rowHeight&&e.rowHeight>0&&!r){const r=e.rowHeight*t;pe.current.containerHeight=S?Math.min(N,r):r}else pe.current.containerHeight=1533915;if(pe.current.containerRef=nt,pe.current.tableBodyRef=lt,pe.current.table=rt.current,Ce.current=void 0,pe.current instanceof qe){const{rowHeight:r=0,detail:l,expandField:a}=e;let{detailRowHeight:o=0}=e;o=l&&a?o:r,D()?(pe.current.total=be.current.length,Ce.current=be.current.slice(pe.current.realSkip,pe.current.realSkip+pe.current.pageSize),pe.current.rowHeightService=new n.RowHeightService(be.current.length,r,o,be.current)):pe.current.rowHeightService=new n.RowHeightService(t,r,o);const i=pe.current.rowHeightService.totalHeight();pe.current.containerHeight=S?Math.min(N,i):i}}})(pt,Et),((t,r)=>{const a=l.tableKeyboardNavigationTools.getIdPrefix(de),o=((e,t)=>{const r=e.filter((e=>e&&e.type&&"KendoReactGridColumn"===e.type.displayName));return E(r,p(),{prevId:0,idPrefix:t})})(t,a),i=(e=>e.filter((e=>n.canUseDOM&&e&&e.media?window.matchMedia(e.media).matches:e)))(o);Ee.current=i,0===Ee.current.length&&(Ee.current=x(e.data,e.group,e.expandField,{prevId:0,idPrefix:a})),Q(Ee.current,r),xe.current=l.mapColumns(Ee.current,!0),fe.current.columns=Ee.current,ne.current.columns=Ee.current})(T,bt);const kt=T.map((e=>e&&e.type&&"KendoReactGridToolbar"===e.type.displayName?m.cloneElement(e,{...e.props,ariaControls:u()}):null)),yt=T.filter((e=>e&&e.type&&"KendoReactGridNoRecords"===e.type.displayName)),It=T.filter((e=>e&&e.type&&"KendoReactGridStatusBar"===e.type.displayName)),St=Ee.current.filter((e=>0===e.children.length)),Nt=Et&&m.createElement(Ke,{group:e.group||[],groupChange:W,pressHandler:ne.current.pressHandler,dragHandler:ne.current.dragHandler,releaseHandler:ne.current.releaseHandler,refCallback:ne.current.refGroupPanelDiv,resolveTitle:e=>{const t=Ee.current.find((t=>t.field===e)),r=t&&(t.title||t.field);return void 0===r?e:r},ariaControls:u(),onContextMenu:G}),wt=m.createElement(me,{size:gt,columnResize:fe.current,staticHeaders:"none"!==e.scrollable,scrollableDataElement:()=>{var e;return(null==(e=pe.current)?void 0:e.container)||null},draggable:e.reorderable||Et,ref:Pe,elemRef:ze,headerRow:m.createElement(Ie,{cells:e.cells,sort:e.sort,sortable:e.sortable,sortChange:(t,r)=>{V(e.onSortChange,{sort:t},{sort:t,..."virtual"===e.scrollable?{skip:0}:{}},r)},group:e.group||[],groupable:Et,groupChange:W,filter:e.filter,filterable:e.filterable,filterOperators:e.filterOperators||Ne,filterChange:q,columnMenu:e.columnMenu,columnMenuIcon:e.columnMenuIcon,selectionChange:t=>{e.onHeaderSelectionChange&&e.onHeaderSelectionChange.call(void 0,{field:t.field,nativeEvent:t.syntheticEvent&&t.syntheticEvent.nativeEvent,syntheticEvent:t.syntheticEvent,target:ut.current,dataItems:te(),selectedField:e.selectedField})},columns:Ee.current,columnResize:fe.current,pressHandler:ne.current.pressHandler,dragHandler:ne.current.dragHandler,releaseHandler:ne.current.releaseHandler,columnsMap:xe.current,cellRender:e.headerCellRender,isRtl:"rtl"===dt,dragClue:ne.current.dragClueRef,headerRef:ze,containerRef:nt,navigatable:!!e.navigatable,columnGroupChange:(e,t)=>{const r=ne.current.getCurrentGroupsLength;j(e,r,t)}}),filterRow:e.filterable&&m.createElement(Fe,{cells:e.cells,size:gt,columns:Ee.current,filter:e.filter,filterOperators:e.filterOperators||Ne,filterChange:q,sort:e.sort,cellRender:e.filterCellRender,isRtl:"rtl"===dt,navigatable:!!e.navigatable,ariaRowIndex:xe.current.length+1})||void 0,cols:St.map(((e,t)=>m.createElement("col",{key:t.toString(),width:k(e)})))}),Rt=pe.current&&pe.current.container&&pe.current.container.scrollLeft||0,Tt=parseFloat(((e.style||{}).width||"").toString()),{colSpans:Mt,hiddenColumns:Gt}=l.tableColumnsVirtualization({enabled:e.columnVirtualization,columns:St,tableViewPortWidth:Tt,scrollLeft:Rt}),Dt=(t,r,a,o)=>{let i=!1;const s=e.selectedField?b(e.selectedField,t.dataItem):void 0;return{row:St.map(((c,d)=>{if(Gt[d])return null;const p=c.id?c.id:d,h=n.classNames(st.contentSticky({locked:c.locked}),c.className),g=void 0!==c.left?"rtl"!==dt?{left:c.left,right:c.right}:{left:c.right,right:c.left}:{};let f=!1;if(c.editable&&e.editField){const r=b(e.editField,t.dataItem);r&&(!0===r||r===c.field)&&(i=!0,f=!0)}const v=c.cell||f&&ge||Ue,C=e.expandField&&e.detail&&c.field===e.expandField;return m.createElement(v,{onContextMenu:G,key:p,locked:e.lockGroups,id:l.tableKeyboardNavigationTools.generateNavigatableId(`${r}-${String(d)}`,ht,C||"groupHeader"===t.rowType||"groupFooter"===t.rowType||"value"===c.field?"nodata":"cell"),colSpan:Mt[d],dataItem:t.dataItem,field:c.field,editor:c.editor,format:c.format,className:h,render:e.cellRender,cells:w(e.cells,c.cells),onChange:F,selectionChange:e.onSelectionChange?r=>{(t=>{if(e.onSelectionChange){const{event:r,dataItem:n,dataIndex:a,columnIndex:o}=t,{mode:i,cell:s}=l.getSelectionOptions(e.selectable),c={...ee(r.syntheticEvent),dataItem:n,startColIndex:o,endColIndex:o,startRowIndex:a,endRowIndex:a,dataItems:te(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:i,cell:s,isDrag:!1,componentId:u(),selectedField:e.selectedField||""};e.onSelectionChange.call(void 0,c)}})({event:r,dataItem:t.dataItem,dataIndex:a,columnIndex:d})}:void 0,columnIndex:d,columnsCount:St.length,rowType:t.rowType,level:t.level,expanded:t.expanded,dataIndex:t.dataIndex,style:g,ariaColumnIndex:c.ariaColumnIndex,isSelected:Array.isArray(s)&&s.indexOf(d)>-1,isSorted:!!y(c.field,e.sort),isAlt:o})})),isInEdit:i,isSelected:"boolean"==typeof s&&s}};let Lt=0;if(vt&&pe.current)for(let t=0;t<pe.current.topCacheCount+pe.current.attendedSkip-(e.skip||0);){const e=be.current.shift();if(!e)break;be.current.push(e),Lt++,"groupHeader"===e.rowType&&t--,t++}const Ot=e=>e>=be.current.length-Lt;let Ht=(null==(r=pe.current)?void 0:r.realSkip)||0;const Pt=[];let Ft=!1;const zt=xe.current.length+(e.filterable?1:0)+1;let Kt=0;if(be.current.length){let t=-1,r=0;(Ce.current||be.current).forEach(((a,o)=>{var i,s;"data"===a.rowType&&(Ht++,t++);const c=Ht%2==0,d=e.dataItemKey&&n.getter(e.dataItemKey)(a.dataItem),u=o+((null==(i=pe.current)?void 0:i.realSkip)||0),p=d||"ai"+u,h=p+"_1",g=Dt(a,p,t,c);if(Kt=u+zt+r,Pt.push(m.createElement(je,{key:p,dataItem:a.dataItem,isAltRow:c,isInEdit:g.isInEdit,rowType:a.rowType,isHidden:Ot(o),onClick:t=>((t,r)=>{e.onRowClick&&"TD"===t.target.nodeName&&e.onRowClick.call(void 0,{dataItem:r.dataItem,...ee(t)})})(t,a),onDoubleClick:t=>((t,r)=>{e.onRowDoubleClick&&"TD"===t.target.nodeName&&e.onRowDoubleClick.call(void 0,{dataItem:r.dataItem,...ee(t)})})(t,a),selectedField:e.selectedField,rowHeight:e.rowHeight,render:e.rowRender,ariaRowIndex:Kt,absoluteRowIndex:u,dataIndex:null!=(s=pe.current)&&s.scrollableVirtual&&!e.groupable?u:t,isSelected:g.isSelected},g.row)),e.detail&&"data"===a.rowType&&a.expanded){const t=St.length-(e.expandField?1:0)-(e.group?e.group.length:0)||1;r++,Kt=u+zt+r,Pt.push(m.createElement("tr",{key:h,className:n.classNames(st.detailTr({isAlt:c})),style:{visibility:Ot(o)?"hidden":"",height:e.detailRowHeight},role:"row","aria-rowindex":Kt},e.group&&e.group.map(((t,r)=>{var n;const l=null==(n=null==g?void 0:g.row[r])?void 0:n.props.style,o=l?"rtl"!==dt?{left:l.left,right:l.right}:{left:l.right,right:l.left}:{};return m.createElement(_e,{id:"",dataIndex:a.dataIndex,field:t.field,dataItem:a.dataItem,key:r,style:o,ariaColumnIndex:1+r,isSelected:!1,locked:e.lockGroups,isRtl:"rtl"===dt,cells:e.cells})})),e.expandField&&m.createElement(tt,{id:l.tableKeyboardNavigationTools.generateNavigatableId(`${h}-dhcell`,ht)}),m.createElement(et,{onContextMenu:G,dataItem:a.dataItem,dataIndex:a.dataIndex,colSpan:t,ariaColIndex:2+(e.group?e.group.length:0),detail:e.detail,id:l.tableKeyboardNavigationTools.generateNavigatableId(`${h}-dcell`,ht)})))}}))}else Ft=!0;const At=()=>{const e=Pe.current;return e&&e.table()&&e.table().clientWidth},Bt=()=>m.createElement("div",{key:"no-records",className:n.classNames(st.noRecords({})),style:{width:At()}},m.createElement("div",{className:n.classNames(st.noRecordsTemplate({})),[l.KEYBOARD_NAV_DATA_ID]:l.tableKeyboardNavigationTools.generateNavigatableId("no-records",ht)},yt.length?yt:m.createElement(Xe,null))),qt={size:gt,onPageChange:e=>{K({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},total:pt,dir:dt,skip:(null==(o=pe.current)?void 0:o.propsSkip)||0,take:(void 0!==e.take?e.take:e.pageSize)||10,messagesMap:ie,...Qe(e.pageable||{})},Wt=e.pager?m.createElement(e.pager,{...qt}):m.createElement(l.Pager,{className:n.classNames(st.pager({})),...qt}),Vt=null!=(i=e.cells)&&i.footerCell||Ee.current.some((e=>{var t;return!!(e.footerCell||null!=(t=e.cells)&&t.footerCell)}))?m.createElement(Ae,{size:gt,columnResize:fe.current,staticHeaders:"none"!==e.scrollable,ref:He,row:m.createElement(Je,{cells:e.cells,idPrefix:ht,columns:Ee.current,isRtl:"rtl"===dt,ariaRowIndex:Kt+1}),cols:St.map(((e,t)=>m.createElement("col",{key:t.toString(),width:k(e)})))}):null,Ut=m.createElement("colgroup",{ref:e=>{fe.current.colGroupMain=e}},St.map(((t,r)=>m.createElement("col",{key:r.toString(),className:y(t.field,e.sort)?n.classNames(st.sorted({})):void 0,width:k(t)})))),_t=ne.current.reorderable||ne.current.groupable;if("none"===e.scrollable)return m.createElement(l.TableKeyboardNavigationContext.Provider,{value:le.current},m.createElement("div",{id:e.id||c,style:e.style,className:n.classNames(st.wrapper({size:gt}),e.className),ref:Ye,"aria-label":e.ariaLabel,onKeyDown:O,onFocus:H,...l.tableKeyboardNavigationScopeAttributes},kt,Nt,m.createElement(l.TableSelection,{selectable:e.selectable,onRelease:z,childRef:e=>{rt.current=e,at.current=e}},m.createElement("table",{ref:at,className:n.classNames(st.table({size:gt}))},Ut,wt,m.createElement("tbody",{role:"rowgroup",className:n.classNames(st.tbody({})),...l.tableKeyboardNavigationBodyAttributes},Pt),Vt)),Ft&&Bt(),_t&&m.createElement(m.Fragment,null,m.createElement(l.DropClue,{ref:ne.current.refDropElementClue}),m.createElement(l.DragClue,{ref:ne.current.refDragElementClue}))),It,e.pageable&&Wt);let jt=e.style||{};return vt&&(jt.height||(jt=Object.assign({},jt,{height:"450px"}))),m.createElement(l.TableKeyboardNavigationContext.Provider,{value:le.current},m.createElement("div",{id:e.id||c,style:jt,className:n.classNames(st.wrapper({size:gt,virtual:vt}),e.className),ref:Ye,"aria-label":e.ariaLabel,onKeyDown:O,onFocus:H,...l.tableKeyboardNavigationScopeAttributes},kt,Nt,m.createElement("div",{className:n.classNames(st.ariaRoot({})),role:"grid","aria-colcount":St.length,"aria-rowcount":pt,id:u(),"aria-label":ot.toLanguageString(ae,oe[ae])},wt,m.createElement("div",{className:n.classNames(st.container({})),role:"presentation"},m.createElement("div",{ref:nt,className:n.classNames(st.content({})),onScroll:t=>{var r;if(t.target!==t.currentTarget)return;clearTimeout(De.current),pe.current&&(pe.current.table=rt.current);const l=t.currentTarget.scrollLeft,a=t.currentTarget.scrollTop;e.columnVirtualization&&(!(null!=(r=pe.current)&&r.scrollableVirtual)||a===Ge.current)&&(De.current=window.setTimeout((()=>{v()}),0)),Pe.current&&Pe.current.setScrollLeft(l),He.current&&He.current.setScrollLeft(l),pe.current&&a!==Ge.current&&pe.current.scrollHandler(t),n.dispatchEvent(e.onScroll,t,ut.current,void 0),Ge.current=a},role:"presentation"},m.createElement("div",{className:n.classNames(st.tableWrap({})),role:"presentation"},m.createElement(l.TableSelection,{selectable:e.selectable,onRelease:z,childRef:e=>{rt.current=e}},m.createElement("table",{ref:rt,className:n.classNames(st.table({size:gt})),role:"presentation",style:{userSelect:xt}},Ut,m.createElement("tbody",{className:n.classNames(st.tbody({})),ref:lt,role:"rowgroup",...l.tableKeyboardNavigationBodyAttributes},Pt))),Ft&&Bt()),vt&&m.createElement("div",{className:n.classNames(st.heightContainer({})),role:"presentation"},m.createElement("div",{style:vt?{height:(null==(s=pe.current)?void 0:s.containerHeight)+"px"}:{}})))),Vt,_t&&m.createElement(m.Fragment,null,m.createElement(l.DropClue,{ref:ne.current.refDropElementClue}),m.createElement(l.DragClue,{ref:ne.current.refDragElementClue})),ct&&m.createElement(n.WatermarkOverlay,null)),It,e.pageable&&Wt))})),nt={data:r.oneOfType([r.array,r.shape({data:r.array,total:r.number})]),sortable:r.oneOfType([r.bool,r.shape({mode:r.oneOf(["single","multiple"]),allowUnsort:r.bool})]),onSortChange:r.func,sort:r.array,filterable:r.bool,filter:r.any,onFilterChange:r.func,pageable:r.oneOfType([r.bool,r.shape({buttonCount:r.number,responsive:r.bool,info:r.bool,type:r.oneOf(["numeric","input"]),pageSizes:r.oneOfType([r.bool,r.arrayOf(r.oneOfType([r.string,r.number]))]),previousNext:r.bool})]),pageSize:r.number,onPageChange:r.func,total:r.number,skip:r.number,take:r.number,fixedScroll:r.bool,onExpandChange:r.func,expandField:r.string,selectedField:r.string,onSelectionChange:r.func,onHeaderSelectionChange:r.func,resizable:r.bool,reorderable:r.bool,group:r.any,groupable:r.oneOfType([r.bool,r.shape({enabled:r.bool,footer:r.oneOf(["always","visible","none"])})]),onGroupChange:r.func,onRowClick:r.func,onRowDoubleClick:r.func,onItemChange:r.func,editField:r.string,scrollable:r.oneOf(["none","scrollable","virtual"]),rowHeight:r.number,detailRowHeight:r.number,detail:r.any,style:r.object,onDataStateChange:r.func,onColumnResize:r.func,onColumnReorder:r.func,dataItemKey:r.string,navigatable:r.oneOfType([r.bool,r.shape({mode:r.oneOf(["incell","inline","popup"])})]),size:r.oneOf(["small","medium"])};rt.displayName="KendoReactGrid",rt.propTypes=nt;const lt=e=>{const{children:t,id:r,className:l,style:a}=e;return m.createElement("div",{id:r,className:n.classNames("k-columnmenu-item-wrapper",l),style:a},t)},at=e=>{const{title:t,iconClass:r,svgIcon:l,selected:a}=e;return m.createElement("div",{onClick:e.onClick,className:"k-columnmenu-item "+(a?"k-selected":"")},(r||l)&&m.createElement(n.IconWrap,{name:r&&n.toIconName(r),icon:l}),t)},ot="desc",it={true:{asc:{asc:"",desc:"desc"},desc:{asc:"asc",desc:""},"":{asc:"asc",desc:"desc"}},false:{asc:{asc:"asc",desc:"desc"},desc:{asc:"asc",desc:"desc"},"":{asc:"asc",desc:"desc"}}},st=(e,t)=>t?t.findIndex((t=>t.field===e)):-1,ct=(e,t)=>!!(t&&e>-1&&"asc"===t[e].dir),dt=(e,t)=>!!(t&&e>-1&&t[e].dir===ot),ut=e=>{const{children:t,id:r,className:l,style:a,show:o}=e;return m.createElement("div",{id:r,className:n.classNames("k-columnmenu-item-content",l),style:a,tabIndex:0},m.createElement(h.Reveal,{style:{position:"relative",display:"block"}},o?t:null))},pt=e=>{const t=(t,r)=>{Ge(t,r,e)},r=t=>{He(t,e.value,e.onChange)},n=t=>{Oe(t,e.onChange)};return m.createElement(m.Fragment,null,(()=>{if("boolean"===e.filterType)return;const t=e.operators.find((t=>t.operator===e.operator))||null;return m.createElement(u.DropDownList,{value:t,onChange:r,data:e.operators,textField:"text"})})(),((e,r,l)=>{switch(e){case"numeric":return m.createElement(i.NumericTextBox,{value:r,onChange:e=>{t(e.value,e.syntheticEvent)},rangeOnEnter:!1});case"date":return m.createElement(s.DatePicker,{value:r,onChange:e=>{t(e.value,e.syntheticEvent)}});case"boolean":{const e=e=>null==e;return m.createElement(u.DropDownList,{onChange:n,value:l.find((t=>t.operator===(e(r)?"":r))),data:l,textField:"text"})}default:return m.createElement(i.Input,{value:r||"",onChange:e=>{t(e.target.value,e.syntheticEvent)}})}})(e.filterType,e.value,e.booleanValues))},ht=e=>{const{firstFilterProps:t,hideSecondFilter:r,secondFilterProps:n,logicData:l,logicValue:a,onLogicChange:o}=e;return m.createElement(m.Fragment,null,m.createElement(pt,{...t}),!r&&m.createElement(m.Fragment,null,m.createElement(u.DropDownList,{data:l,value:a,onChange:o,className:"k-filter-and",textField:"text"}),m.createElement(pt,{...n})))},gt=e=>e||{filters:[],logic:"and"},mt=(e,t)=>gt(t).filters.filter((t=>!!p.isCompositeFilterDescriptor(t)&&(t.filters&&t.filters.length&&t.filters.length<=2&&!t.filters.find((t=>p.isCompositeFilterDescriptor(t)||t.field!==e)))))[0]||null,ft={uniqueData:!0},vt=e=>{const[t,r]=m.useState(""),l=e.columns.reduce(((t,r)=>({...t,[r.id||""]:!!e.columnsState.find((e=>e.id===r.id))})),{}),[s,c]=m.useState(l),u=m.useMemo((()=>e.columns.filter((e=>{var r;return null==(r=e.title||e.field)?void 0:r.toLowerCase().includes(t.toLowerCase())}))),[e.columns,t]),p=a.useLocalization(),h=m.useCallback((()=>{const t=e.columns.filter((e=>s[e.id||""]));e.onColumnsChange.call(void 0,t),e.onCloseMenu.call(void 0)}),[s,e.columns,e.onColumnsChange,e.onCloseMenu]),g=m.useMemo((()=>Object.values(s).filter((e=>e)).length),[s]),f=m.useMemo((()=>g===e.columns.length),[e.columns,g]),v=m.useCallback((()=>{const e={...s};Object.keys(e).forEach(((t,r)=>e[t]=!(!f||0!==r)||!f)),c(e)}),[s,f]),b=m.useCallback(((e,t)=>{const r={...s};r[t||""]=e,c(r)}),[s]);return m.createElement("form",{className:"k-filter-menu"},m.createElement("div",{className:"k-filter-menu-container"},m.createElement(i.TextBox,{className:"k-searchbox",value:t,onChange:e=>{r(String(e.target.value))},prefix:()=>m.createElement(i.InputPrefix,null,m.createElement(n.IconWrap,{name:"search",icon:o.searchIcon}))}),m.createElement("ul",{className:"k-reset k-multicheck-wrap"},!t&&m.createElement("li",{className:"k-item k-check-all-wrap"},m.createElement(i.Checkbox,{checked:f,onChange:v,label:p.toLanguageString(X,oe[X])})),u.map(((e,t)=>m.createElement("li",{key:e.id,className:"k-item"},m.createElement(i.Checkbox,{disabled:s[e.id||""]&&1===g,checked:s[e.id||""],onChange:t=>{var r;return b(!(null==(r=t.target.element)||!r.checked),e.id)},label:e.title||e.field}))))),m.createElement("div",{className:"k-filter-selected-items"},g," selected items"),m.createElement("div",{className:"k-actions k-actions-start k-actions-horizontal"},m.createElement(d.Button,{type:"button",themeColor:"primary",onClick:h},p.toLanguageString(K,oe[K])),m.createElement(d.Button,{type:"button",onClick:()=>{c(l)}},p.toLanguageString(B,oe[B])))))};vt.displayName="GridColumnMenuColumnsList";const bt=e=>{const{size:t,className:r,ariaLabel:l,ariaControls:a,children:o}=e;return m.createElement("div",{className:n.classNames("k-toolbar k-grid-toolbar k-toolbar-solid",{"k-toolbar-md":!t,[`k-toolbar-${n.kendoThemeMaps.sizeMap[t]||t}`]:t},r),"aria-label":l,"aria-controls":a,role:"toolbar"},o)};bt.displayName="KendoReactGridToolbar";const Ct=e=>{const{data:t=[]}=e;return m.createElement("div",{className:"k-selection-aggregates k-grid-selection-aggregates"},t.map(((e,t)=>m.createElement("div",{key:t},m.createElement("span",{className:"k-selection-aggregates-item-text"},e.type,": "),m.createElement("span",{className:"k-selection-aggregates-item-value"},e.formattedValue)))))};Ct.displayName="KendoReactGridStatusBar";const Et=e=>{var t;const r=e.slice();for(let e=0;e<r.length;e++)for(;r[e]&&null!=(t=r[e].children)&&t.length;)r.splice(e,1,...r[e].children);return r};Object.defineProperty(e,"getSelectedState",{enumerable:!0,get:function(){return l.getSelectedState}}),Object.defineProperty(e,"getSelectedStateFromKeyDown",{enumerable:!0,get:function(){return l.getSelectedStateFromKeyDown}}),Object.defineProperty(e,"setSelectedState",{enumerable:!0,get:function(){return l.setSelectedState}}),e.GRID_COL_INDEX_ATTRIBUTE=ue,e.GRID_PREVENT_SELECTION_ELEMENT=pe,e.GRID_ROW_INDEX_ATTRIBUTE=de,e.Grid=rt,e.GridCell=Ue,e.GridColumn=f,e.GridColumnMenuCheckboxFilter=e=>{const{uniqueData:t=ft.uniqueData}=e,r=(t,r)=>{const n=e.column.field||"",l=t.map((e=>b(n,e)));return r?l.filter(((e,t)=>l.indexOf(e)===t)):l},l=()=>e.filter?n.clone(e.filter):{filters:[],logic:"and"},s=m.useRef((()=>{const t=e.column.field;return l().filters.findIndex((e=>e.filters&&e.filters.length>0&&e.filters[0].field===t))})()),[c,u]=m.useState(e.expanded||!1),[h,g]=m.useState(""),[f,v]=m.useState(r(e.data,t)||[]),[C,E]=m.useState(r(e.data,!1)||[]),[x,k]=m.useState(l());m.useEffect((()=>{const t=e.column.field||"",r=e.data.map((e=>b(t,e)));((e,t)=>e.length===t.length&&e.every(((e,r)=>e===t[r])))(r,C)||(v(r),E(r))}),[e.column,e.data]);const y=()=>void 0!==e.expanded,I=n=>{const l=e.searchBoxFilterOperator?e.searchBoxFilterOperator:"startswith",a={logic:"and",filters:[{field:e.column.field,operator:l,value:n.target.value,ignoreCase:!0}]};g(n.target.value),v(r(p.filterBy(e.data||[],a),t))},S=(t,r)=>{const n=e.column.field||"",l={...x},a=[...x.filters];let o=[];if(-1!==s.current&&l.filters[s.current].filters&&"all"!==r&&(o=l.filters[s.current].filters),t.value&&"all"===r)f.forEach((e=>{o.push({field:n,operator:"eq",value:e})}));else if(t.value)o.push({field:n,operator:"eq",value:r});else if(x){const e=o.findIndex((e=>e.value===r));o.splice(e,1)}l.logic="and",-1!==s.current?a[s.current]={logic:"or",filters:o}:a.push({logic:"or",filters:o}),(!t.value&&"all"===r||0===o.length)&&a.splice(s.current,1),l.filters=a,k(l)},N=a.useLocalization(),{column:w}=e;if(!w||!w.field)return m.createElement("div",null);const R=y()?e.expanded:c,T=[];if(x){const t=[...x.filters];s.current=t.findIndex((e=>!!(e.filters&&e.filters.length>0)&&e.filters[0].field===w.field)),-1!==s.current&&t[s.current].filters.length>0&&t[s.current].filters.forEach((t=>{t.field===e.column.field&&T.push(t.value)}))}const M=e.searchBox?m.createElement(e.searchBox,{value:h,onChange:I}):m.createElement("div",{className:"k-searchbox k-textbox k-input k-input-md k-input-solid"},m.createElement(n.IconWrap,{className:"k-input-icon",name:"search",icon:o.searchIcon}),m.createElement(i.Input,{className:"k-input-inner",type:"text",placeholder:N.toLanguageString(_,oe[_]),value:h,onChange:e=>I(e.nativeEvent)}),m.createElement(d.Button,{type:"button",rounded:null,className:"k-input-button",onClick:()=>{const n=e.searchBoxFilterOperator?e.searchBoxFilterOperator:"startswith",l={logic:"and",filters:[{field:e.column.field,operator:n,value:"",ignoreCase:!0}]};g(""),v(r(p.filterBy(e.data||[],l),t))},icon:"x",svgIcon:o.xIcon})),G=T.filter(((e,t)=>T.indexOf(e)===t));return m.createElement(lt,null,m.createElement(at,{title:N.toLanguageString(W,oe[W]),iconClass:"k-i-filter",svgIcon:o.filterIcon,onClick:()=>{const t=y(),r=!(t?e.expanded:c);e.onExpandChange&&e.onExpandChange(r),t||u(r)}}),m.createElement(ut,{show:!!R},m.createElement("form",{className:"k-filter-menu",onSubmit:t=>{if(t.preventDefault(),!e.onFilterChange)return;const r=x||null;e.onFilterChange(r,t),e.onCloseMenu&&e.onCloseMenu()},onReset:t=>{if(t.preventDefault(),!e.onFilterChange)return;const r=x||null;null!==r&&r.filters.length>0?(s.current>=0&&r.filters.splice(s.current,1),e.onFilterChange(r,t)):e.onFilterChange(null,t),e.onCloseMenu&&e.onCloseMenu()}},m.createElement("div",{className:"k-filter-menu-container"},M,m.createElement("ul",{className:"k-reset k-multicheck-wrap"},m.createElement("li",{className:"k-item k-check-all-wrap"},m.createElement(i.Checkbox,{label:N.toLanguageString(j,oe[j]),onChange:e=>S(e,"all"),checked:(()=>{let e=!1;if(x){const t=[...x.filters];return-1!==s.current&&(e=f.every((e=>!(-1===s.current||!t[s.current].filters)&&t[s.current].filters.findIndex((t=>t.value===e))>=0)),e)}return e})()})),f.map(((e,t)=>m.createElement("li",{className:"k-item",key:t},m.createElement(i.Checkbox,{label:String(e),onChange:t=>S(t,e),checked:G.includes(e)}))))),m.createElement("div",{className:"k-filter-selected-items"},G.length+" "+N.toLanguageString(Y,oe[Y])),m.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},m.createElement(d.Button,{themeColor:"primary",type:"submit"},N.toLanguageString(q,oe[q])),m.createElement(d.Button,{className:"k-button",type:"reset"},N.toLanguageString(A,oe[A])))))))},e.GridColumnMenuColumnsList=vt,e.GridColumnMenuFilter=e=>{const t=m.useCallback((()=>{let t;if(e.column&&e.column.field){const r=Le(e.column.filter),n=De(e.filterOperators,r);t=mt(e.column.field,e.filter),t=t?{...t,filters:t.filters.map((e=>({...e})))}:{logic:"and",filters:[{field:e.column.field,operator:n,value:we(n)?null:void 0},{field:e.column.field,operator:n,value:we(n)?null:void 0}]},1===t.filters.filter((t=>t.field===e.column.field)).length&&t.filters.splice(1,0,{field:e.column.field,operator:n})}return t}),[e.column]),[r,n]=m.useState(e.expanded||!1),[l,i]=m.useState(t()),s=()=>void 0!==e.expanded,c=(e,t)=>{const r=l.filters.map(((r,n)=>n===e?{...r,value:t.value,operator:t.operator}:r));i({...l,filters:r})},u=()=>({...l,filters:l.filters.filter((e=>void 0!==e.value&&null!==e.value&&""!==e.value||null===e.value&&e.operator))}),{column:p,filterUI:h,hideSecondFilter:g,filterOperators:f}=e,v=a.useLocalization();if(!p||!p.field)return m.createElement("div",null);const b=Le(p.filter),C=void 0!==g?g:Me[b],E=l.filters,x=Re(f[b],v),k=Re(Te,v),y={field:p.field,value:E[0].value,operator:E[0].operator,operators:x,booleanValues:k,onChange:e=>{c(0,e)},filterType:b},I={field:p.field,value:E[1].value,operator:E[1].operator,operators:x,booleanValues:k,onChange:e=>{c(1,e)},filterType:b},S=l.logic,N=Re(Se,v),w={value:N.find((e=>e.operator===(null===S?"":S))),onChange:e=>{i({...l,logic:e.target.value.operator})},data:N},R=h,T={firstFilterProps:y,secondFilterProps:I,logicData:w.data,logicValue:w.value,onLogicChange:w.onChange,hideSecondFilter:C},M=0!==u().filters.length||we(E[0].operator)||we(E[1].operator),G=s()?e.expanded:r,D=e.alwaysExpand;return m.createElement(lt,null,!D&&m.createElement(at,{title:v.toLanguageString(W,oe[W]),iconClass:"k-i-filter",svgIcon:o.filterIcon,onClick:()=>{const t=s(),l=!(t?e.expanded:r);e.onExpandChange&&e.onExpandChange(l),t||n(l)}}),m.createElement(ut,{show:D||!!G},m.createElement("form",{className:"k-filter-menu",onSubmit:t=>{if(t.preventDefault(),!e.onFilterChange)return;const r=e.column.field,n=gt(e.filter),l=mt(r,e.filter),a=u();let o=null;if(l&&a.filters.length>0){const e=n.filters.map((e=>e===l?a:e));o={...n,filters:e}}else if(0===a.filters.length){const e=n.filters.filter((e=>e!==l));e.length&&(o={...n,filters:e})}else o={...n,filters:[...n.filters,a]};e.onFilterChange(o,t),e.onCloseMenu&&e.onCloseMenu()},onReset:t=>{if(t.preventDefault(),!e.onFilterChange)return;const r=e.column.field,n=gt(e.filter),l=mt(r,e.filter),a=n.filters.filter((e=>e!==l));a.length?e.onFilterChange({...n,filters:a},t):e.onFilterChange(null,t),e.onCloseMenu&&e.onCloseMenu()}},m.createElement("div",{className:"k-filter-menu-container"},R?m.createElement(R,{...T}):m.createElement(ht,{...T}),m.createElement("div",{className:"k-actions k-actions-stretched"},m.createElement(d.Button,{themeColor:"primary",disabled:!M},v.toLanguageString(q,oe[q])),m.createElement(d.Button,{type:"reset"},v.toLanguageString(A,oe[A])))))))},e.GridColumnMenuFilterCell=pt,e.GridColumnMenuFilterUI=ht,e.GridColumnMenuGroup=e=>{const{group:t,column:r}=e,n=a.useLocalization(),l=!!(t&&r.field&&t.find((e=>e.field===r.field))),i=l?F:P;return m.createElement(lt,null,m.createElement(at,{title:n.toLanguageString(i,oe[i]),iconClass:l?"k-i-ungroup":"k-i-group",svgIcon:l?o.ungroupIcon:o.groupIcon,onClick:t=>{if(t.preventDefault(),e.onGroupChange){if(!e.column.field)return;const r=(e.group||[]).slice(),n=r.findIndex((t=>t.field===e.column.field));n>-1?r.splice(n,1):r.push({field:e.column.field}),e.onGroupChange(r,t)}e.onCloseMenu&&e.onCloseMenu()}}))},e.GridColumnMenuItem=at,e.GridColumnMenuItemContent=ut,e.GridColumnMenuItemGroup=lt,e.GridColumnMenuSort=e=>{const t=(t,r)=>{if(t.preventDefault(),!e.onSortChange)return;const{allowUnsort:n,mode:l}=fe(e.sortable||!1,!1),a=(e.sort||[]).filter((t=>t.field===e.column.field))[0],o=it[n][a&&a.dir||""][r],i="single"===l?[]:(e.sort||[]).filter((t=>t.field!==e.column.field));""!==o&&e.column.field&&i.push({field:e.column.field,dir:o}),e.onSortChange(i,t)},{sort:r,column:n}=e,l=st(n.field,r),i=a.useLocalization();return m.createElement(lt,null,m.createElement(at,{title:i.toLanguageString(V,oe[V]),iconClass:"k-i-sort-asc-sm",svgIcon:o.sortAscSmallIcon,selected:ct(l,r),onClick:r=>{t(r,"asc"),e.onCloseMenu&&e.onCloseMenu()}}),m.createElement(at,{title:i.toLanguageString(U,oe[U]),iconClass:"k-i-sort-desc-sm",svgIcon:o.sortDescSmallIcon,selected:dt(l,r),onClick:r=>{t(r,ot),e.onCloseMenu&&e.onCloseMenu()}}))},e.GridColumnMenuWrapper=Ee,e.GridCommonDragLogic=Ve,e.GridDetailRow=e=>null,e.GridEditCell=ge,e.GridFilterCell=Pe,e.GridGroupCell=_e,e.GridHeaderCell=xe,e.GridHierarchyCell=ce,e.GridNoRecords=Xe,e.GridRow=je,e.GridSelectionCell=se,e.GridToolbar=bt,e.StatusBar=Ct,e.booleanFilterValues=Te,e.cellBoolDropdownChange=Oe,e.cellInputChange=Ge,e.cellOperatorChange=He,e.filterGroupByField=mt,e.getStatusData=e=>{const{dataItems:t,target:r,selectedField:l}=e,a=Et(r.columns).map((e=>e.field)).filter((e=>e&&"string"==typeof e)).map((e=>n.getter(e))),o=n.getter(l),i={dates:[],numbers:[],booleans:[],others:[]};t.forEach((e=>{const t=o(e);t&&t.forEach((t=>{(e=>{"number"==typeof e?i.numbers.push(e):"boolean"==typeof e?i.booleans.push(e):e instanceof Date?i.dates.push(e):i.others.push(e)})(a[t](e))}))}));const s=i.dates.map((e=>e.getTime())),c=i.booleans.filter((e=>e)).length,d=i.booleans.filter((e=>!e)).length,u=i.numbers.length?i.numbers.reduce(((e,t)=>e+t),0):void 0,p={sum:u,average:"number"==typeof u?u/i.numbers.length:void 0,min:i.numbers.length?Math.min(...i.numbers):void 0,max:i.numbers.length?Math.max(...i.numbers):void 0,count:i.numbers.length+i.booleans.length+i.dates.length+i.others.length,isTrue:c>0?c:void 0,isFalse:d>0?d:void 0,earliest:i.dates.length?new Date(Math.min(...s)):void 0,latest:i.dates.length?new Date(Math.max(...s)):void 0},h=(e,t)=>"sum"!==t&&"average"!==t||"number"!=typeof e?("earliest"===t||"latest"===t)&&e instanceof Date?e.toLocaleDateString():String(e):e.toFixed(2),g=[];return Object.keys(p).forEach((e=>{const t=e,r=p[t];void 0!==r&&g.push({type:t,value:r,formattedValue:h(r,t)})})),g},e.gridMessages=oe,e.isColumnMenuFilterActive=(e,t)=>!!mt(e,t),e.isColumnMenuSortActive=(e,t)=>{const r=st(e,t);return dt(r,t)||ct(r,t)},e.leafColumns=Et,e.operators=Ne,e.pagerFirstPage=M,e.pagerInfo=T,e.pagerItemPerPage=O,e.pagerLastPage=L,e.pagerNextPage=D,e.pagerPreviousPage=G,e.rootFilterOrDefault=gt}));
|
|
8
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-data-tools"),require("@progress/kendo-react-intl"),require("@progress/kendo-svg-icons"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dateinputs"),require("@progress/kendo-react-popup"),require("@progress/kendo-react-buttons"),require("@progress/kendo-react-dropdowns"),require("@progress/kendo-data-query"),require("@progress/kendo-react-animation")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-data-tools","@progress/kendo-react-intl","@progress/kendo-svg-icons","@progress/kendo-react-inputs","@progress/kendo-react-dateinputs","@progress/kendo-react-popup","@progress/kendo-react-buttons","@progress/kendo-react-dropdowns","@progress/kendo-data-query","@progress/kendo-react-animation"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactGrid={},e.React,e.PropTypes,e.KendoReactCommon,e.KendoReactDataTools,e.KendoReactIntl,e.KendoSvgIcons,e.KendoReactInputs,e.KendoReactDateinputs,e.KendoReactPopup,e.KendoReactButtons,e.KendoReactDropdowns,e.KendoDataQuery,e.KendoReactAnimation)}(this,(function(e,t,r,n,l,a,o,i,s,c,d,u,p,h){"use strict";function g(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var m=g(t);const f=e=>null;f.displayName="KendoReactGridColumn";const v={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0};function b(e,t){const r=(e||"").split(".");let n=t;return r.forEach((e=>{n=n?n[e]:void 0})),n}function C(e,t,r,n,l,a,o=0){let i=o;for(let s=0;s<t.length;s++){if(!l||void 0===t[s].value||void 0===t[s].items){e[e.length]={dataIndex:n.index,dataItem:t[s],rowType:"data",level:o,expanded:void 0===a||b(a,t[s])},n.index++;continue}i=Math.max(i,o+1);const c=void 0===a||void 0===b(a,t[s])||b(a,t[s]);e[e.length]={dataIndex:-1,dataItem:t[s],level:o,rowType:"groupHeader",expanded:c},c&&(i=Math.max(C(e,t[s].items,r,n,l,a,o+1),i)),("always"===r||c&&"visible"===r)&&(e[e.length]={dataIndex:-1,dataItem:t[s],rowType:"groupFooter",level:o,expanded:c})}return i}function E(e,t,r,n=0){const a=[];if(!e)return[];e&&void 0===e.length&&(e=[e]),e.filter((e=>e&&e.props?!e.props.hidden:!e.hidden)).forEach(((e,o)=>{e=e.props?e.props:e;const i=t[o]||null,s=E(e.children,i&&i.children||[],r,n+1);a.push(Object.assign({depth:n},v,s.length?{cell:()=>null,filterCell:()=>null}:{},i?{width:i.width,orderIndex:i.orderIndex}:{},e,{id:e.id?e.id:l.tableKeyboardNavigationTools.generateNavigatableId(""+r.prevId++,r.idPrefix,"column"),declarationIndex:a.length,children:s,rowSpan:0,colSpan:0,isAccessible:!0,left:e.lockedColumn?i&&Math.floor(i.left):null,right:e.lockedColumn?i&&Math.floor(i.right):null}))}));if(a.sort(((e,t)=>e.orderIndex===t.orderIndex?e.declarationIndex-t.declarationIndex:(e.orderIndex||0)-(t.orderIndex||0))),0===n){const e=[],t=(r,n)=>r.forEach((r=>{r.parentIndex=n,t(r.children,e.push(r)-1)}));return t(a,-1),e}return a}function x(e,t,r,n){let a=[];Array.isArray(e)?a=e:e&&(a=e.data);const o=[];if(a.length>0){let e=a[0];if(t)for(let r=0;r<t.length;r++)e=e.items&&e.items[0];Object.getOwnPropertyNames(e).forEach((e=>{e!==r&&o.push(Object.assign({id:l.tableKeyboardNavigationTools.generateNavigatableId(""+n.prevId++,n.idPrefix,"column"),declarationIndex:-1,parentIndex:-1,depth:0,colSpan:0,rowSpan:0,index:0,left:0,right:0,rightBorder:!1,children:[],ariaColumnIndex:0,isAccessible:!0},v,{field:e}))}))}return o}f.propTypes={field:r.string,title:r.string,editable:r.bool,sortable:r.oneOfType([r.bool,r.shape({allowUnsort:r.bool.isRequired})]),cell:r.any,filterCell:r.any,filterTitle:r.string,filterable:r.bool,filter:r.oneOf(["text","numeric","boolean","date"]),editor:r.oneOf(["text","numeric","boolean","date"]),width:r.oneOfType([r.string,r.number]),minResizableWidth:r.number,headerCell:r.any,footerCell:r.any,headerSelectionValue:r.bool,format:r.string,headerClassName:r.string,className:r.string,reorderable:r.bool,resizable:r.bool,orderIndex:r.number,groupable:r.bool,columnMenu:r.any,menuIcon:r.any,locked:r.bool,hidden:r.bool,media:r.string};const k=e=>void 0!==e.width?Math.floor(parseFloat(e.width.toString()))+"px":void 0,y=(e,t)=>t&&t.filter((t=>t.field===e)).length>0,I=e=>(e.sort(((e,t)=>e.declarationIndex-t.declarationIndex)),e.map((e=>{const{declarationIndex:t,parentIndex:r,depth:n,colSpan:l,rowSpan:a,index:o,kFirst:i,children:s,...c}=e;return s.length?{children:I(s),...c}:c}))),S="undefined"!=typeof window&&/Firefox/.test(window.navigator.userAgent),N=17895697,w=(e,t)=>{if(e||t)return t?e?{...e,...t,select:{...e.select||{},...t.select||{}},hierarchy:{...e.hierarchy||{},...t.hierarchy||{}},group:{...e.group||{},...t.group||{}},edit:{...e.edit||{},...t.edit||{}}}:t:e},R="grid.noRecords",T="grid.pagerInfo",M="grid.pagerFirstPage",G="grid.pagerPreviousPage",D="grid.pagerNextPage",O="grid.pagerLastPage",L="grid.pagerItemsPerPage",H="grid.groupPanelEmpty",P="grid.groupColumn",F="grid.ungroupColumn",z="grid.columnMenu",A="grid.filterApplyButton",K="grid.filterClearButton",B="grid.filterResetButton",q="grid.filterSubmitButton",W="grid.filterTitle",V="grid.sortAscending",U="grid.sortDescending",_="grid.searchPlaceholder",j="grid.filterCheckAll",$="grid.filterChooseOperator",X="grid.filterSelectAll",Y="grid.filterSelectedItems",J="grid.sortAriaLabel",Q="grid.filterAriaLabel",Z="grid.groupPanelAriaLabel",ee="grid.groupExpand",te="grid.groupCollapse",re="grid.detailExpand",ne="grid.detailCollapse",le="grid.selectRow",ae="grid.gridAriaLabel",oe={[re]:"Expand detail row",[ne]:"Collapse detail row",[ee]:"Expand group",[te]:"Collapse Group",[R]:"No records available",[H]:"Drag a column header and drop it here to group by that column",[A]:"Apply",[K]:"Clear",[B]:"Reset",[q]:"Filter",[W]:"Filter",[V]:"Sort Ascending",[U]:"Sort Descending",[J]:"Sortable",[P]:"Group Column",[F]:"Ungroup Column",[z]:"Column menu",[L]:"items per page",[T]:"{0} - {1} of {2} items",[M]:"Go to the first page",[G]:"Go to the previous page",[D]:"Go to the next page",[O]:"Go to the last page","grid.pagerPage":"Page","grid.pagerPageSizeAriaLabel":"Page size","grid.pagerOf":"of","grid.pagerTotalPages":"{0}",[_]:"Search",[j]:"Check All",[$]:"Choose Operator",[Y]:"selected items",[X]:"Select All",[Q]:"Filter",[Z]:"Group panel",[ae]:"Table",[le]:"Select Row","grid.filterEqOperator":"Is equal to","grid.filterNotEqOperator":"Is not equal to","grid.filterIsNullOperator":"Is null","grid.filterIsNotNullOperator":"Is not null","grid.filterIsEmptyOperator":"Is empty","grid.filterIsNotEmptyOperator":"Is not empty","grid.filterStartsWithOperator":"Starts with","grid.filterContainsOperator":"Contains","grid.filterNotContainsOperator":"Does not contain","grid.filterEndsWithOperator":"Ends with","grid.filterGteOperator":"Is greater than or equal to","grid.filterGtOperator":"Is greater than","grid.filterLteOperator":"Is less than or equal to","grid.filterLtOperator":"Is less than","grid.filterIsTrue":"Is true","grid.filterIsFalse":"Is false","grid.filterBooleanAll":"(All)","grid.filterAfterOrEqualOperator":"Is after or equal to","grid.filterAfterOperator":"Is after","grid.filterBeforeOperator":"Is before","grid.filterBeforeOrEqualOperator":"Is before or equal to","grid.filterAndLogic":"And","grid.filterOrLogic":"Or"};function ie(e){const t=e.replace(/^pager\.([a-z])/,((e,t)=>"grid.pager"+t.toUpperCase()));return{messageKey:t,defaultMessage:oe[t]}}const se=e=>{const{selectionChange:t,field:r,dataItem:o,id:i,className:s,colSpan:c,style:d,ariaColumnIndex:u,rowType:p,cells:h,render:g}=e,f=a.useLocalization(),v=m.useCallback((e=>{t&&t({syntheticEvent:e})}),[t]),C=n.useId(),E=b(r,o),x=l.useTableKeyboardNavigation(i),k={colSpan:c,style:d,className:n.classNames("k-table-td",s),"aria-colindex":u,role:"gridcell",...x},y="boolean"==typeof E&&E,I=m.createElement("span",{key:1,className:"k-checkbox-wrap"},m.createElement("input",{id:C,tabIndex:-1,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":f.toLanguageString(le,oe[le]),"aria-checked":y,checked:y,onChange:v})),S="groupHeader"!==p?m.createElement("td",{...k},I):null,N=p||"data",w=h;if(w&&w.select&&w.select[N]){const t=w.select[N];return m.createElement(t,{...e,tdProps:k},I)}return g?g.call(void 0,S,e):S},ce=e=>{let t=null,r=null,i=null;const s=b(e.field,e.dataItem),c=l.useTableKeyboardNavigation(e.id),d=a.useLocalization(),u=m.useCallback((t=>{t.isDefaultPrevented()||t.keyCode===n.Keys.enter&&e.onChange&&(t.preventDefault(),e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:t,field:e.field,value:!s}))}),[e.dataItem,e.dataIndex,e.field,e.onChange,s]);if("groupFooter"===e.rowType)r={className:"k-table-td k-hierarchy-cell",role:"gridcell",...c},t=m.createElement("td",{...r});else if("groupHeader"!==e.rowType){const l=s?ne:re,a=d.toLanguageString(l,oe[l]);r={className:"k-table-td k-hierarchy-cell",onKeyDown:u,"aria-expanded":!!s,role:"gridcell","aria-colindex":e.ariaColumnIndex,...c},i=m.createElement("a",{onClick:t=>{t.preventDefault(),e.onChange&&e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:t,field:e.field,value:!s})},"aria-label":a,href:"#",tabIndex:-1},m.createElement(n.IconWrap,{name:s?"minus":"plus",icon:s?o.minusIcon:o.plusIcon})),t=m.createElement("td",{...r},i)}const p=e.rowType||"data",h=e.cells;if(h&&h.hierarchy&&h.hierarchy[p]){const t=h.hierarchy[p];return m.createElement(t,{...e,tdProps:r},i)}return e.render?e.render.call(void 0,t,e):t},de=l.TABLE_ROW_INDEX_ATTRIBUTE,ue=l.TABLE_COL_INDEX_ATTRIBUTE,pe=l.TABLE_PREVENT_SELECTION_ELEMENT,he=/^(?!.*\bChrome).*\bSafari/i,ge=e=>{const t=b(e.field,e.dataItem),r=n.useUnstyled(),a=r&&r.uGrid?r.uGrid:n.uGrid;let o=null;const c=n.classNames(a.editTd({selected:e.isSelected}),e.className),d=n.useId(),u=l.useTableKeyboardNavigation(e.id);let p=null,h=null;const g=m.useCallback((t=>{if(e.onChange){const r="checkbox"===t.target.type?t.target.checked:t.target.value;e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,syntheticEvent:t,value:r})}}),[e.onChange,e.dataItem,e.dataIndex,e.field]),f=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]),v=m.useCallback((t=>{e.onChange&&e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,syntheticEvent:t.syntheticEvent,value:t.value})}),[e.onChange,e.dataItem,e.dataIndex,e.field]);switch(e.editor){case"numeric":p={onContextMenu:f,colSpan:e.colSpan,style:e.style,className:c,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ue]:e.columnIndex,role:"gridcell",...u},h=m.createElement(i.NumericTextBox,{value:void 0===t?null:t,onChange:v,[l.TABLE_PREVENT_SELECTION_ELEMENT]:!0}),o=m.createElement("td",{...p},h);break;case"date":p={onContextMenu:f,colSpan:e.colSpan,style:e.style,className:c,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ue]:e.columnIndex,role:"gridcell",...u},h=m.createElement(s.DatePicker,{value:t,onChange:v,[l.TABLE_PREVENT_SELECTION_ELEMENT]:!0}),o=m.createElement("td",{...p},h);break;case"boolean":p={onContextMenu:f,colSpan:e.colSpan,style:e.style,className:c,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ue]:e.columnIndex,role:"gridcell",...u},h=[m.createElement("span",{key:1,className:"k-checkbox-wrap"},m.createElement("input",{checked:t||!1,id:d,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:g})),m.createElement("label",{className:"k-checkbox-label",htmlFor:d,key:2})],o=m.createElement("td",{...p},h);break;default:p={onContextMenu:f,colSpan:e.colSpan,style:e.style,className:c,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ue]:e.columnIndex,role:"gridcell",...u},h=m.createElement("input",{style:{width:"100%"},className:"k-input",value:t||"",onChange:g,[l.TABLE_PREVENT_SELECTION_ELEMENT]:!0}),o=m.createElement("td",{...p},h)}const C=e.editor||"text",E=e.cells;if(E){let t;return E.edit&&E.edit[C]?t=E.edit[C]:E.data&&(t=E.data),m.createElement(t,{...e,tdProps:p},h)}return e.render?e.render.call(void 0,o,e):o},me=m.forwardRef(((e,t)=>{const r=m.useRef(null),a=m.useRef(null),o=m.useRef(!1),i=n.useRtl(e.elemRef);e.columnResize&&e.columnResize.setIsRtl("rtl"===i),m.useImperativeHandle(t,(()=>({setScrollLeft:e=>{r.current&&r.current.scrollLeft!==e&&(o.current=!0,r.current.scrollLeft=e)},setWidth:e=>{a.current&&(a.current.style.width=e+"px")},table:()=>a.current})));const s=n.useUnstyled(),c=s&&s.uGrid?s.uGrid:n.uGrid,{size:d="md"}=e;return e.staticHeaders?m.createElement("div",{ref:e.elemRef,className:n.classNames(c.header({draggable:e.draggable}),e.className),role:"presentation"},m.createElement("div",{ref:r,className:n.classNames(c.headerWrap({})),onScroll:t=>{if(o.current)return void(o.current=!1);if(!r.current)return;const n=r.current.scrollLeft,l=e.scrollableDataElement();l&&l.scrollLeft!==n&&(l.scrollLeft=n)},role:"presentation"},m.createElement("table",{ref:a,className:n.classNames(c.headerTable({size:d}),e.className),role:"presentation"},m.createElement("colgroup",{ref:t=>{e.columnResize.colGroupHeader=t}},e.cols),m.createElement("thead",{className:n.classNames(c.tableThead({})),role:"rowgroup",...l.tableKeyboardNavigationHeaderAttributes},e.headerRow,e.filterRow)))):m.createElement("thead",{role:"presentation",className:n.classNames(c.thead({draggable:e.draggable}),e.className),...l.tableKeyboardNavigationHeaderAttributes},e.headerRow,e.filterRow)}));me.displayName="KendoReactHeader";const fe=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e),ve=e=>{const t=m.useRef(null),r=n.useUnstyled(),l=r&&r.uGrid?r.uGrid:n.uGrid;return m.createElement(n.Draggable,{onPress:r=>{const n=t.current&&t.current.element;n&&e.pressHandler&&e.pressHandler(r.event,n)},onDrag:r=>{const n=t.current&&t.current.element;n&&e.dragHandler&&e.dragHandler(r.event,n)},onRelease:r=>{t.current&&t.current.element&&e.releaseHandler&&e.releaseHandler(r.event)},hint:e.dragClue,autoScroll:{boundaryElementRef:e.headerRef,direction:{horizontal:!0,vertical:!1}},scrollContainer:e.containerRef||void 0,ref:t},m.createElement("tr",{className:n.classNames(l.simpleTr({})),style:{touchAction:"none"},role:"row","aria-rowindex":e.ariaRowIndex},e.children))},be=[".k-columnmenu-item-content",".k-filter-menu-container"].map((e=>n.TABBABLE_ELEMENTS.map((t=>`${e} ${t}`)))),Ce=[[".k-tabstrip-items"],[".k-columnmenu-item"],...be],Ee=e=>{const[t,r]=m.useState(!1),l=m.useRef(null),i=m.useRef(null),s=m.useRef(null),d=m.useRef(0),{columnMenu:u,...p}=e,{column:h,columnMenuIcon:g,navigatable:f}=e,v=a.useLocalization(),b=h.title||h.field,C=b?`${b} `:"",E=()=>{e.onCloseMenu&&e.onCloseMenu(),r(!1),!e.navigatable&&l.current&&l.current.focus()},x=m.useMemo((()=>void 0!==e.show?e.show:t),[e.show,t]),k=(e,t,r)=>{r.preventDefault(),r.shiftKey?t.focusPrevious(e):t.focusNext(e)},y=(e,t,r)=>{e&&e.click()},I=(e,t,r)=>{r.preventDefault(),E()},S=(e,t,r)=>{r.preventDefault(),t.focusElement(e)};return m.useEffect((()=>(x&&i.current&&(s.current=new n.Navigation({tabIndex:0,root:i,selectors:Ce,keyboardEvents:{keydown:{Tab:k,Enter:y,Escape:I}},mouseEvents:{mousedown:S}}),s.current.focusElement(s.current.first,null)),()=>{s.current&&(s.current=null)})),[x]),m.createElement(m.Fragment,null,m.createElement("a",{className:"k-grid-header-menu k-grid-column-menu",ref:l,onClick:n=>{n.preventDefault(),t&&e.onCloseMenu&&e.onCloseMenu(),r(!t)},onKeyDown:e=>{var t;if(e.keyCode===n.Keys.tab){const r=e.target,n=r&&(null==(t=r.closest(".k-grid"))?void 0:t.getElementsByClassName("k-grid-content")[0]);n&&n.scrollWidth>n.clientWidth&&r.scrollIntoView({inline:"center"})}},href:"#",tabIndex:f?-1:void 0,"aria-label":`${f?"":C}${v.toLanguageString(z,oe[z])}`},g?m.createElement(n.IconWrap,{name:g.name,icon:g}):m.createElement(n.IconWrap,{name:"more-vertical",icon:o.moreVerticalIcon})),m.createElement(c.Popup,{anchor:l.current,show:x,popupClass:"k-column-menu k-column-menu-popup k-grid-columnmenu-popup",onMouseDownOutside:e=>{!e.isAnchorClicked&&r(!1)}},m.createElement("div",{ref:i,onBlur:e=>{const t=n.getActiveElement(document);clearTimeout(d.current),d.current=window.setTimeout((()=>{t&&e.relatedTarget!==l.current&&i.current&&!i.current.contains(t)&&E()}))},onFocus:()=>{clearTimeout(d.current)},onMouseDown:e=>{var t;null==(t=s.current)||t.triggerMouseEvent(e)},onKeyDown:e=>{var t;null==(t=s.current)||t.triggerKeyboardEvent(e)},style:{outline:"none"}},u&&m.createElement(u,{...p,onCloseMenu:E}))))},xe=e=>{const t=n.useUnstyled(),r=t&&t.uGrid?t.uGrid:n.uGrid,{columnMenuWrapperProps:l}=e,a=e.onClick?{onClick:e.onClick}:{},o=m.createElement("span",{className:n.classNames(r.headerCellInner({}))},m.createElement("span",{className:n.classNames(r.headerCellLink({sortable:e.columnMenuWrapperProps.sortable})),...a},m.createElement("span",{className:n.classNames(r.columnTitle({}))},e.title||e.field||" "),e.children),l.columnMenu&&m.createElement(Ee,{...l}));return e.render?e.render.call(void 0,o,e):o},ke={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},ye={none:"none",asc:"ascending",desc:"descending"},Ie=e=>{const[t,r]=m.useState(),i=a.useLocalization(),s=n.useUnstyled(),c=s&&s.uGrid?s.uGrid:n.uGrid,d=m.useRef(null);let u=0,p=-1;const h=(t,r)=>{if(t.preventDefault(),!e.sortChange)return;const{allowUnsort:n,mode:l}=fe(e.sortable||!1,r.sortable||!1),a=(e.sort||[]).filter((e=>e.field===r.field))[0],o=ke[n][a&&a.dir||""],i="single"===l?[]:(e.sort||[]).filter((e=>e.field!==r.field));""!==o&&r.field&&i.push({field:r.field,dir:o}),e.sortChange(i,t)},g=()=>{r(void 0),d.current&&"-1"!==d.current.getAttribute("tabindex")&&d.current.focus()},f=t=>{if(!e.sort)return null;const r=n.classNames(c.sortIcon({}));return t>=0&&[m.createElement("span",{key:1,className:r},m.createElement(n.IconWrap,{name:"sort-"+e.sort[t].dir+"-small",icon:"asc"===e.sort[t].dir?o.sortAscSmallIcon:o.sortDescSmallIcon})),e.sort.length>1&&m.createElement("span",{key:2,className:r},m.createElement("span",{className:n.classNames(c.sortOrder({}))},t+1))]},v=a=>a.map((a=>{const o=e.columns[a],s=e.sortable&&o.sortable,v=e.sort?e.sort.findIndex((e=>e.field===o.field)):-1,b=v>=0&&e.sort[v].dir||"none",C=null===o.columnMenu?null:o.columnMenu||e.columnMenu,E=o.menuIcon||e.columnMenuIcon,x=n.classNames(n.classNames(c.headerTh({first:o.kFirst,filterable:!!C,locked:o.locked,sorted:e.sort&&e.sort.some((e=>e.field===o.field))})),o.headerClassName);!1===o.locked&&(o.left=0);const k=void 0!==o.left?e.isRtl?{left:o.right,right:o.left}:{left:o.left,right:o.right}:{},y=i.toLanguageString(J,oe[J]),I=o.isAccessible?{ariaSort:ye[b],role:"columnheader",ariaColumnIndex:o.ariaColumnIndex,ariaSelected:!1,ariaDescription:s?y:""}:{role:"presentation"},S=o.declarationIndex>=0?++p:--u,N=o.headerCell?o.headerCell:xe,R=m.createElement(N,{key:1,field:o.field,onClick:s&&(e=>h(e,o))||void 0,selectionChange:e.selectionChange,title:o.title,selectionValue:o.headerSelectionValue,render:e.cellRender,children:f(v),columnMenuWrapperProps:{column:{field:o.field,title:o.title,locked:o.locked,filter:o.filter,id:o.id},sortable:s&&e.sortable,sort:e.sort,onSortChange:e.sortChange,filter:e.filter,filterable:e.filterable&&o.filterable,filterOperators:e.filterOperators,onFilterChange:e.filterChange,show:t===o.field||void 0,onCloseMenu:g,navigatable:e.navigatable,group:e.group,groupable:e.groupable,onGroupChange:e.groupChange,columnMenu:C,columnMenuIcon:E}}),T={...I,key:S,colSpan:o.colSpan,rowSpan:o.rowSpan,className:x,style:k,columnId:o.id,navigatable:o.navigatable,onKeyDown:t=>((t,l)=>{if(t.isDefaultPrevented())return;const{keyCode:a,metaKey:o,ctrlKey:i,altKey:s}=t,c=e.sortable&&l.sortable,u=t.target;if(c&&t.keyCode===n.Keys.enter&&-1!==u.className.indexOf("k-table-th")&&h(t,l),e.navigatable){if(e.groupable&&(o&&a===n.Keys.enter||i&&a===n.Keys.space)){t.preventDefault();const r=e.columns.findIndex((e=>e.field===l.field));e.columnGroupChange&&e.columnGroupChange(r,t)}s&&a===n.Keys.down&&(t.preventDefault(),r(l.field),d.current=u)}})(t,o),role:"columnheader"},M=[R,e.columnResize&&e.columnResize.resizable&&o.resizable&&m.createElement(l.ColumnResizer,{key:2,resize:(t,r,n)=>e.columnResize&&e.columnResize.dragHandler(t,o,r,n),autofit:t=>e.columnResize&&e.columnResize.dblClickHandler(t,[o.id])})],G=w(e.cells,o.cells);if(G&&G.headerCell){const e=G.headerCell;return m.createElement(e,{...R.props,key:S,thProps:T,index:a},M)}return m.createElement(l.HeaderThElement,{...T,key:S},M)}));return e.columnsMap.map(((t,r)=>e.pressHandler&&m.createElement(ve,{key:r,pressHandler:e.pressHandler,dragHandler:e.dragHandler,releaseHandler:e.releaseHandler,ariaRowIndex:r+1,dragClue:e.dragClue,headerRef:e.headerRef,containerRef:e.containerRef},v(t))||m.createElement("tr",{key:r,className:n.classNames(c.simpletr({})),role:"row","aria-rowindex":r+1},v(t))))},Se=[{text:"grid.filterAndLogic",operator:"and"},{text:"grid.filterOrLogic",operator:"or"}],Ne={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"}]},we=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,Re=(e,t)=>e.map((e=>({text:t.toLanguageString(e.text,oe[e.text]),operator:e.operator}))),Te=[{text:"grid.filterBooleanAll",operator:""},{text:"grid.filterIsTrue",operator:!0},{text:"grid.filterIsFalse",operator:!1}],Me={text:!1,numeric:!1,date:!1,boolean:!0},Ge=(e,t,r)=>{const n=De(r.operators);let l=r.operator;switch(r.filterType){case"numeric":case"date":(!l||we(l))&&(l=n),null===e&&l===n&&(l="");break;case"text":(!l||we(l))&&(l=n),!e&&l===n&&(l="");break;default:return}r.onChange({value:e,operator:l,syntheticEvent:t})},De=(e,t)=>t?e[t][0].operator:e[0].operator,Oe=e=>e||"text",Le=(e,t)=>{const r=e.target.value;t({value:r.operator,operator:""===r.operator?"":"eq",syntheticEvent:e.syntheticEvent})},He=(e,t,r)=>{let n=t;const l=e.target.value;e.target.state.opened&&(we(l.operator)&&(n=null),null===t&&!we(l.operator)&&(n=void 0),r({value:n,operator:l.operator,syntheticEvent:e.syntheticEvent}))},Pe=e=>{const t=m.useRef(),r=a.useLocalization(),l=(t,r)=>{Ge(t,r,e)},c=t=>{He(t,e.value,e.onChange)},p=t=>{Le(t,e.onChange)},h=m.createElement("div",{className:"k-filtercell"},m.createElement("div",{className:"k-filtercell-wrapper"},((r,n,a)=>{switch(r){case"numeric":return m.createElement(i.NumericTextBox,{ref:t,size:e.size,value:n,onChange:e=>{l(e.value,e.syntheticEvent)},title:e.title,ariaLabel:e.ariaLabel});case"date":return m.createElement(s.DatePicker,{ref:t,size:e.size,value:n,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 r=e=>null==e;return m.createElement(u.DropDownList,{ref:t,size:e.size,onChange:p,value:a.find((e=>e.operator===(r(n)?"":n))),data:a,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 m.createElement(i.TextBox,{ref:t,size:e.size,value:n||"",onChange:e=>{l(e.target.value,e.syntheticEvent)},title:e.title,"aria-label":e.ariaLabel})}})(e.filterType,e.value,e.booleanValues),m.createElement("div",{className:"k-filtercell-operator"},(()=>{if("boolean"===e.filterType)return;let t;const n=e.operators.find((t=>t.operator===e.operator))||null;return m.createElement(u.DropDownList,{ref:e=>t=e,size:e.size,value:n,onChange:c,className:"k-dropdown-operator",iconClassName:"k-i-filter k-icon",svgIcon:o.filterIcon,data:e.operators,textField:"text",title:r.toLanguageString($,oe[$]),popupSettings:{width:"",onMouseDownOutside:function(e){!e.isAnchorClicked&&e.state&&e.state.props.show&&t&&t.togglePopup()}}})})()," ",m.createElement(d.Button,{size:e.size,icon:"filter-clear",svgIcon:o.filterClearIcon,className:n.classNames({"k-clear-button-visible":!!(null!==e.value&&""!==e.value||e.operator)}),title:r.toLanguageString(K,oe[K]),type:"button",onClick:r=>{r.preventDefault(),e.onChange({value:"",operator:"",syntheticEvent:r}),t.current&&(t.current.element.value="",setTimeout((()=>{t.current.element.focus()}),0))},disabled:!(null!==e.value&&""!==e.value||e.operator)}))));return e.render?e.render.call(void 0,h,e):h},Fe=e=>{const t=a.useLocalization(),r=(t,r)=>{let n=""+(r?"k-grid-header-sticky":"");return e.sort&&e.sort.filter((e=>e.field===t)).length>0&&(n+=" k-sorted"),n},o=e.filter&&e.filter.filters||[];let i=0,s=-1;const c=e.columns.filter((e=>0===e.children.length)).map((a=>{const c=Oe(a.filter),d=(e=>{if(void 0===e)return;const t=o.filter((t=>t.field===e));return t.length?t[0]:void 0})(a.field),u=`${a.field} ${t.toLanguageString(Q,oe[Q])}`;let p=d&&d.value;void 0===p&&(p="text"===c?"":null);const h=a.filterable&&{render:e.cellRender,field:a.field,title:a.filterTitle,value:p,operator:d&&d.operator,operators:Re(e.filterOperators[c]||[],t),booleanValues:Re(Te,t),filterType:c,ariaLabel:u,onChange:t=>{((t,r,n,l)=>{if(!e.filterChange)return;const a=[];(""!==t&&null!==t||""!==r)&&a.push({field:n,operator:r,value:t}),e.filter&&e.filter.filters&&(e.filter.filters||[]).forEach((e=>{const t=e;t&&t.field!==n&&a.push(t)}));const o=e.filter&&e.filter.logic?e.filter.logic:"and";e.filterChange(a.length>0?{logic:o,filters:a}:null,l)})(t.value,t.operator,a.field,t.syntheticEvent)}},g=a.declarationIndex>=0?++s:--i,f=void 0!==a.left?e.isRtl?{left:a.right,right:a.left}:{left:a.left,right:a.right}:{},v={columnId:l.tableKeyboardNavigationTools.getFilterColumnId(a.id),navigatable:a.navigatable||e.navigatable,style:f,className:n.classNames("k-table-td",r(a.field,a.locked)||void 0),role:"gridcell",ariaLabel:u,ariaColumnIndex:a.ariaColumnIndex},b=h&&(a.filterCell?m.createElement(a.filterCell,{...h}):m.createElement(Pe,{size:e.size,...h})),C=w(e.cells,a.cells);if(C&&C.filterCell){const e=C.filterCell;return m.createElement(e,{key:g,...h,tdProps:v,index:s},b)}return m.createElement(l.HeaderTdElement,{key:g,...v},b)}));return m.createElement("tr",{className:"k-table-row k-filter-row","aria-rowindex":e.ariaRowIndex,role:"row"},c)},ze=e=>{const t=m.useRef(null),{dir:r,title:l}=e;return m.createElement(n.Draggable,{onPress:r=>{const n=t.current&&t.current.element;n&&e.onPress&&e.onPress(r.event,n)},onDrag:r=>{const n=t.current&&t.current.element;n&&e.onDrag&&e.onDrag(r.event,n)},onRelease:r=>{t.current&&t.current.element&&e.onRelease&&e.onRelease(r.event)},ref:t},m.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 r="asc"===e.dir?"desc":"asc";e.onSortChange(t,r)}},onContextMenu:t=>{const r={title:e.title,dir:e.dir,index:e.index};e.onContextMenu&&e.onContextMenu.call(void 0,t,{dataItem:{...r}})},onKeyDown:t=>{(t.keyCode===n.Keys.delete||t.keyCode===n.Keys.backspace)&&(t.preventDefault(),t.stopPropagation(),e.onRemove&&e.onRemove(t))},tabIndex:0,role:"button",style:{touchAction:"none"}},m.createElement("span",null,m.createElement(n.IconWrap,{name:"sort-"+r+"-small",icon:"asc"===r?o.sortAscSmallIcon:o.sortDescSmallIcon,size:"small"})),m.createElement("span",{className:"k-chip-content"},l),m.createElement("span",{className:"k-chip-actions"},m.createElement("span",{className:"k-chip-action k-chip-remove-action",onClick:t=>{t.preventDefault(),t.stopPropagation(),e.onRemove&&e.onRemove(t)}},m.createElement(n.IconWrap,{name:"x-circle",icon:o.xCircleIcon,size:"small"})))))},Ae=e=>{const t=a.useLocalization(),r=(e.group||[]).map(((t,r)=>m.createElement(ze,{key:r,index:r,dir:t.dir||"asc",title:e.resolveTitle(t.field),onRemove:t=>{((t,r)=>{const n=e.group.slice();n.splice(r,1),e.groupChange(n,t)})(t,r)},onSortChange:(n,l)=>{((t,r,n,l)=>{const a=Object.assign({},n,{dir:l}),o=e.group.slice();o.splice(r,1,a),e.groupChange(o,t)})(n,r,t,l)},onPress:e.pressHandler,onDrag:e.dragHandler,onRelease:e.releaseHandler,onContextMenu:e.onContextMenu})));return m.createElement("div",{ref:e.refCallback,className:"k-grouping-header",role:"toolbar","aria-label":t.toLanguageString(Z,oe[Z]),"aria-controls":e.ariaControls||""},m.createElement("div",{className:"k-chip-list k-chip-list-md",role:"none"},r),m.createElement("div",{className:"k-grouping-drop-container"},!r.length&&t.toLanguageString(H,oe[H])," "))},Ke=m.forwardRef(((e,t)=>{const r=m.useRef(null),l=m.useRef(null);return m.useImperativeHandle(t,(()=>({setScrollLeft:e=>{r.current&&(r.current.scrollLeft=e)},setWidth:e=>{l.current&&(l.current.style.width=e+"px")}}))),e.staticHeaders?m.createElement("div",{className:"k-grid-footer",role:"presentation"},m.createElement("div",{ref:r,className:"k-grid-footer-wrap",role:"presentation"},m.createElement("table",{ref:l,className:n.classNames("k-table k-grid-footer-table",{"k-table-md":!e.size,[`k-table-${n.kendoThemeMaps.sizeMap[e.size]||e.size}`]:e.size},e.className),role:"presentation"},m.createElement("colgroup",{ref:t=>{e.columnResize.colGroupFooter=t},role:"presentation"},e.cols),m.createElement("tfoot",{className:"k-table-tfoot",role:"presentation"},e.row)))):m.createElement("tfoot",{className:"k-table-tfoot"},e.row)}));Ke.displayName="KendoReactFooter";let Be=class{constructor(e){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.tableBodyRef=null,this.fixedScroll=!1,this.askedSkip=void 0,this.containerRef=null,this.tableTransform="",this.prevScrollPos=0,this.tableTranslate=0,this.scrollSyncing=!1,this.reactVersion=Number.parseFloat(m.version),this.topItems=(e,t)=>{if(!this.container||t)return{topItemsCount:0,topItemsHeight:0};const r=this.container.clientHeight,n=Math.ceil(r/e[0].line),l=Math.ceil((e.length-n)/2);let a=0;for(let t=0;t<l;t++)a+=e[t].line+e[t].acc;return{topItemsCount:l,topItemsHeight:a,itemsNeededOnScreen:n+n/2}},this.horizontalScrollbarHeight=()=>this.container?this.container.offsetHeight-this.container.clientHeight:0,e&&(this.topCacheCount=4,this.attendedSkip=-this.topCacheCount),this.scrollHandler=this.scrollHandler.bind(this)}get container(){var e;return null==(e=this.containerRef)?void 0:e.current}get rowHeights(){var e,t;const r=[],n=(null==(e=this.tableBodyRef)?void 0:e.current)&&(null==(t=this.tableBodyRef)?void 0:t.current.children)||[];let l=0;for(let e=0;e<n.length;e++)n[e].className.indexOf("k-grouping-row")>-1?l+=n[e].scrollHeight:n[e].className.indexOf("k-detail-row")>-1?r[r.length-1].line+=n[e].scrollHeight:(r.push({line:n[e].scrollHeight,acc:l}),l=0);return r}changePage(e,t){this.attendedSkip=e-this.topCacheCount,this.PageChange&&this.PageChange({skip:Math.max(0,e-this.topCacheCount),take:this.pageSize},t)}translate(e,t){this.tableTranslate=e,this.scrollableVirtual&&this.table&&(this.reactVersion<=17||t?this.table.style.transform="translateY("+e+"px)":this.tableTransform="translateY("+e+"px)")}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0,!0))}localScrollUp(e){if(!this.container)return;const t=this.rowHeights,r=this.container.scrollTop;let n=this.tableTranslate,l=0;const{topItemsCount:a,topItemsHeight:o,itemsNeededOnScreen:i}=this.topItems(t,!!this.topCacheCount),s=r-n;if(!(s>o||t.length<=i)){for(;l<this.topCacheCount+this.attendedSkip-this.realSkip+a&&this.propsSkip-l>0&&!(n+(t[t.length-1-l].line+t[t.length-1-l].acc)+s<=r);)n-=t[t.length-1-l].line+t[t.length-1-l].acc,l++;if(0===l&&0===this.topCacheCount&&this.attendedSkip>0&&(n=Math.max(n-t[0].line,0),l=1),this.propsSkip-l<=0&&n>r)return this.translate(0),this.changePage(0,e),void(this.container.scrollTop=0);if(n>r&&(n=r),n!==this.tableTranslate){this.translate(Math.max(0,n-o));const t=Math.max(0,this.propsSkip-l-a);this.changePage(t,e)}}}localScrollDown(e){if(!this.container)return;const t=this.rowHeights,r=this.container.scrollTop;let n=this.tableTranslate,l=0;const{topItemsCount:a,topItemsHeight:o,itemsNeededOnScreen:i}=this.topItems(t,!!this.topCacheCount);for(;l<t.length-this.topCacheCount&&!(n+t[l].line+t[l].acc>r);)n+=t[l].line+t[l].acc,l++;a>this.propsSkip+l||t.length<=i||(l>=t.length-this.topCacheCount&&this.propsSkip+l>=this.total?(this.translate(n-o),this.changePage(this.total-1-a,e)):n!==this.tableTranslate&&this.propsSkip+l-a!==this.propsSkip&&(this.translate(n-o),this.changePage(this.propsSkip+l-a,e)))}scrollNonStrict(e){const t=this.total*this.prevScrollPos/this.containerHeight;let r=Math.floor(t);r>=this.total&&(r=this.total-1);const n=Math.min(t-r,1);let l=0;const a=r-this.propsSkip,o=this.rowHeights;a>=0&&a<=1?l=-(o[0].line+o[0].acc)*n:-1===a&&(l=-(o[o.length-1].line+o[o.length-1].acc)*n);const{topItemsCount:i,topItemsHeight:s}=this.topItems(o,!!this.topCacheCount);this.translate(Math.max(0,l-s-this.horizontalScrollbarHeight()+this.containerHeight*t/this.total)),this.changePage(r-i,e)}scrollHandler(e){if(!this.scrollableVirtual)return;if(this.scrollSyncing||!this.container||!this.table)return void(this.scrollSyncing=!1);const t=this.container.scrollTop,r=this.prevScrollPos;if(this.prevScrollPos=t,void 0!==this.askedSkip)return this.translate(this.containerHeight*this.askedSkip/this.total),this.changePage(this.askedSkip,e),this.prevScrollPos=t,void(this.askedSkip=void 0);t-r<0&&t>this.tableTranslate-this.table.scrollHeight/10?this.localScrollUp(e):t-r>0&&t<this.tableTranslate+2*this.table.scrollHeight/3?this.localScrollDown(e):this.scrollNonStrict(e),this.prevScrollPos=t}},qe=class{constructor(e){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.tableBodyRef=null,this.fixedScroll=!1,this.askedSkip=void 0,this.containerRef=null,this.tableTransform="",this.scrollSyncing=!1,this.lastLoaded=0,this.firstLoaded=0,this.lastScrollTop=0,this.reactVersion=Number.parseFloat(m.version),this.firstLoaded=this.pageSize,this.lastLoaded=this.realSkip+this.pageSize,this.scrollHandler=this.scrollHandler.bind(this)}get container(){var e;return(null==(e=this.containerRef)?void 0:e.current)||void 0}translate(e,t){this.scrollableVirtual&&this.table&&(S||this.reactVersion<=17||t?this.table.style.transform="translateY("+e+"px)":this.tableTransform="translateY("+e+"px)")}changePage(e,t){this.PageChange&&this.PageChange({skip:Math.max(0,e),take:this.pageSize},t)}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0,!0))}scrollHandler(e){var t;if(!(this.scrollableVirtual&&this.container&&this.table&&this.rowHeightService&&null!=(t=this.containerRef)&&t.current))return;if(this.scrollSyncing)return void(this.scrollSyncing=!1);const r=this.container.scrollTop,n=this.lastScrollTop>=r,l=!n;this.lastScrollTop=r;let a=this.rowHeightService.index(r),o=this.rowHeightService.offset(a);const{offsetHeight:i}=this.containerRef.current,s=this.rowHeightService.index(r+i);if(l&&s>=this.lastLoaded&&this.lastLoaded<this.total){const t=a+this.pageSize-this.total;t>0&&(a-=t,o=this.rowHeightService.offset(a)),this.firstLoaded=a,this.translate(o);const r=this.firstLoaded+this.pageSize;this.lastLoaded=Math.min(r,this.total),this.changePage(this.firstLoaded,e)}else if(n&&a<this.firstLoaded){const t=Math.floor(.3*this.pageSize);this.firstLoaded=Math.max(a-t,0),this.translate(this.rowHeightService.offset(this.firstLoaded)),this.lastLoaded=Math.min(this.firstLoaded+this.pageSize,this.total),this.changePage(this.firstLoaded,e)}}},We=class{constructor(e){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=e=>{this.isRtl=e},this.dragHandler=(e,t,r,n)=>{const l=e.originalEvent;n||(l.preventDefault(),l.stopPropagation(),l.stopImmediatePropagation());const a=r.closest("th");if(!a||!a)return;const o=a.clientWidth;let i=o;if(this.isRtl?i+=r.getBoundingClientRect().right-r.offsetWidth/2-e.clientX:i+=e.clientX-r.getBoundingClientRect().left-r.offsetWidth/2,!n&&Math.abs(i-o)<1)return;this.fixateInitialWidths(a.parentElement.clientWidth),this.setWidths(t,Math.floor(i)/o);const s=this.columns.filter((e=>!e.children.length)).findIndex((e=>e.id===t.id));this.onResize(s,o,i,l,n,t.id)},this.dblClickHandler=(e,t)=>{const r=this.columns.filter((e=>t.indexOf(e.id)>-1));if(!this.colGroupMain||!r.length)return;const n={},l=r;for(;l.length>0;){const e=l.pop();if(!e)break;e.children.length?l.push(...e.children):n[e.id]=e}const a=this.columns.filter((e=>!e.children.length)),o=[];a.forEach(((e,t)=>{n[e.id]&&o.push(t)}));const i=[this.colGroupMain.parentElement],s=[this.colGroupMain];this.colGroupHeader&&(i.push(this.colGroupHeader.parentElement),s.push(this.colGroupHeader)),this.colGroupFooter&&(i.push(this.colGroupFooter.parentElement),s.push(this.colGroupFooter)),i.forEach((e=>e.classList.add("k-autofitting")));const c=[];s.forEach((e=>{o.forEach((t=>{e.children[t]&&(e.children[t].width="",c[t]=Math.max(c[t]||0,e.children[t].offsetWidth+1))}))})),s.forEach((e=>{o.forEach((t=>{e.children[t]&&(e.children[t].width=c[t]+"px",a[t].width=c[t])}))})),i.forEach((e=>e.classList.remove("k-autofitting"))),this.onResize(o[0],0,0,e,!0,t[0])},this.updateColElements=e=>{const t=this.columns.filter((e=>!e.children.length));let r=1e-10;for(let n=0;n<e.length;n++){const l=e[n],a=t.findIndex((e=>e.id===l.id)),o=parseFloat((l.width||0).toString()),i=Math.floor(o);r+=o-i;const s=i+Math.floor(r);if(r-=Math.floor(r),this.colGroupMain&&this.colGroupMain.children[a]){const e=parseInt(this.colGroupMain.children[a].width,10);this.colGroupMain.children[a].width=s+"px",this.updateNextLockedCol(this.colGroupMain.parentElement,l,e-s)}if(this.colGroupHeader&&this.colGroupHeader.children[a]){const e=parseInt(this.colGroupHeader.children[a].width,10);this.colGroupHeader.children[a].width=s+"px",this.updateNextLockedCol(this.colGroupHeader.parentElement,l,e-s)}if(this.colGroupFooter&&this.colGroupFooter.children[a]){const e=parseInt(this.colGroupFooter.children[a].width,10);this.colGroupFooter.children[a].width=s+"px",this.updateNextLockedCol(this.colGroupFooter.parentElement,l,e-s)}}},this.onResize=e}fixateInitialWidths(e){const t=this.columns.filter((e=>!e.children.length));let r=0;const n=this.colGroupMain?this.colGroupMain.children:[];for(let t=0;t<n.length;t++)n[t].width?e-=parseFloat(n[t].width):r++;if(0===r)return;const l=Math.floor(e/r);for(let e=0;e<n.length;e++){const r=n[e];r.width||(r.width=l,t[e].width=l.toString(),this.colGroupHeader&&(this.colGroupHeader.children[e].width=l),this.colGroupFooter&&(this.colGroupFooter.children[e].width=l))}}setWidths(e,t){const r=this.columns.findIndex((t=>t.id===e.id)),n=[];let l=e.children.length;for(let e=r+1;e<this.columns.length&&!(l<=0);e++){const t=this.columns[e];t.children.length?l+=t.children.length:n.push(t),l--}return 0===n.length&&n.push(e),n.forEach((e=>{let r=e.width?parseFloat(e.width.toString())*t:0;const n=void 0===e.minResizableWidth?10:e.minResizableWidth;r<n&&(r=n),e.width=r})),this.updateColElements(n),n}updateNextLockedCol(e,t,r){const n=t.index,l=this.colGroupMain.parentElement.closest(".k-grid"),a=null==l?void 0:l.clientWidth,o=this.columns.filter((e=>e.locked)).map((e=>parseInt(e.width+"",10))).reduce(((e,t)=>e+t),0);!t.locked||a<=o+20||this.columns.forEach((t=>{if(null!=t&&t.locked&&r){const l=null==e?void 0:e.querySelectorAll('[aria-colindex="'+t.ariaColumnIndex+'"]');null==l||l.forEach((e=>{const l=e.style;this.isRtl?(t.index>n&&l&&l.right&&(l.right=parseInt(l.right,10)-r+"px"),t.index<n&&l&&l.left&&(l.left=parseInt(l.left,10)-r+"px")):(t.index>n&&l&&l.left&&(l.left=parseInt(l.left,10)-r+"px"),t.index<n&&l&&l.right&&(l.right=parseInt(l.right,10)-r+"px"))}))}}))}},Ve=class{constructor(e,t,r){this.refDragElementClue=m.createRef(),this.refDropElementClue=m.createRef(),this.columns=[],this.reorderable=!1,this.groupable=!1,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.groupPanelDivElement=null,this.refGroupPanelDiv=e=>{this.groupPanelDivElement=e&&e.children?e.children[0]:e},this.pressHandler=(e,t)=>{const r=this.getColumnIndex(e,t);if(this.startGroup=this.getGroupIndex(e),r>=0){const e=this.columns[r];(e.reorderable&&this.reorderable||e.groupable&&this.groupable)&&(this.startColumn=r)}},this.dragHandler=(e,t)=>{if(e.isTouch||e.originalEvent.preventDefault(),e.originalEvent.stopPropagation(),-1===this.startColumn&&-1===this.startGroup)return;this.currentColumn=this.getColumnIndex(e,t),this.currentGroup=this.isTargetGroupingContainer(e)?this.getCurrentGroupsLength:this.getGroupIndex(e);const r=!this.isValid();r&&(this.currentColumn=-1,this.currentGroup=-1);const n=this.currentColumn>=0?t.children[this.columns[this.currentColumn].index]:this.isTargetGroupingContainer(e)?e.originalEvent.target:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(e,t,n,r),this.updateDropElementClue(e,t,n,r)},this.releaseHandler=e=>{const t=this.startColumn,r=this.currentColumn,n=this.startGroup,l=this.currentGroup;e.originalEvent.preventDefault(),this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const a=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,a&&(t>=0&&r>=0?this.columnReorder(t,r,e.originalEvent):n>=0&&l>=0?this.groupReorder(n,l,e.originalEvent):t>=0&&l>=0&&this.columnToGroup(t,l,e.originalEvent))},this.columnReorder=e,this.groupReorder=t,this.columnToGroup=r}get dragClueRef(){return this.refDragElementClue}get dropClueRef(){return this.refDropElementClue}get getCurrentGroupsLength(){const e=this.groupPanelDivElement&&this.groupPanelDivElement.children;return e&&e.length||0}get dragElementClue(){return this.refDragElementClue.current}get dropElementClue(){return this.refDropElementClue.current}getColumnIndex(e,t){if(!t||t.parentElement===this.groupPanelDivElement)return-1;const r=l.getIndex(e,t);if(-1===r)return-1;for(let e=0;e<t.parentNode.children.length;e++)if(t.parentNode.children[e]===t)return this.columns.findIndex((t=>t.index===r&&t.depth===e));return-1}isTargetGroupingContainer(e){const t=e.originalEvent.target;return!!t.className.indexOf&&-1!==t.className.indexOf("k-grouping-drop-container")}getGroupIndex(e){return l.getIndex(e,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:-1!==this.startColumn&&(this.currentGroup>=0?!0===this.columns[this.startColumn].groupable&&!0===this.groupable:!0===this.reorderable&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&!0===this.columns[this.startColumn].reorderable&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex)}updateDragElementClue(e,t,r,n){if(!this.dragElementClue)return;const l=this.startColumn>=0?t.children[this.columns[this.startColumn].index].innerText:t.innerText;this.dragElementClue.setState({visible:!0,top:e.pageY+10,left:e.pageX,innerText:l,status:n||!r?"k-i-cancel":"k-i-plus"})}updateDropElementClue(e,t,r,n){if(!this.dropElementClue)return;if(n||!r)return void this.dropElementClue.setState({visible:!1});const l=r.getBoundingClientRect(),a=(r.closest(".k-grouping-header")||r).getBoundingClientRect();let o=l.left+e.pageX-e.clientX-6;!this.isTargetGroupingContainer(e)&&(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&-1!==this.startGroup)&&(o+=l.width);const i=a.top+e.pageY-e.clientY;this.dropElementClue.setState({visible:!0,top:i,left:o,height:this.currentColumn>=0?t.clientHeight:a.height})}};const Ue=e=>{let t=null;const r=a.useInternationalization(),o=n.useUnstyled(),i=o&&o.uGrid?o.uGrid:n.uGrid,s=l.useTableKeyboardNavigation(e.id),c=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]);let d=null,u=null;if("groupFooter"===e.rowType)d={onContextMenu:c,className:e.className,...s},t=m.createElement("td",{...d});else if("groupHeader"!==e.rowType){if(void 0!==e.field){const t=b(e.field,e.dataItem);null!=t&&(u=e.format?r.format(e.format,t):t.toString())}const l=n.classNames(i.td({selected:e.isSelected,sorted:e.isSorted,alt:e.isAlt}),e.className);d={onContextMenu:c,colSpan:e.colSpan,style:e.style,className:l,role:"gridcell","aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ue]:e.columnIndex,...s},t=m.createElement("td",{...d},u)}const p=e.rowType||"data",h=e.cells;if(h&&h[p]){const t=h[p];return m.createElement(t,{...e,tdProps:d},u)}return e.render?e.render.call(void 0,t,e):t},_e=e=>{let t=null;const{columnIndex:r,level:i,columnsCount:s,rowType:c,dataItem:d,field:u,onChange:p,expanded:h,render:g,dataIndex:f,ariaColumnIndex:v,isRtl:b}=e,C=u||"",E=l.useTableKeyboardNavigation(e.id),x=a.useLocalization();let k=null,y=null,I=null;const S=m.useCallback((e=>{e.isDefaultPrevented()||e.keyCode===n.Keys.enter&&p&&(e.preventDefault(),p({dataItem:d,dataIndex:f,syntheticEvent:e,field:void 0,value:!h}))}),[h,p,d,f]),N=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]),w=(t,r)=>{const l=h?te:ee,a=x.toLanguageString(l,oe[l]);return k={className:"k-table-td",style:{...e.style,...r},colSpan:t,key:"g-colspan",role:"gridcell","aria-selected":!1,"aria-expanded":h,"aria-colindex":v,onKeyDown:S,onContextMenu:N,...E},I=m.createElement("p",{className:"k-reset"},m.createElement("a",{onClick:e=>{e.preventDefault(),p&&p({dataItem:d,dataIndex:f,syntheticEvent:e,field:void 0,value:!h})},href:"#",tabIndex:-1,"aria-label":a},m.createElement(n.IconWrap,{name:h?"caret-alt-down":b?"caret-alt-left":"caret-alt-right",icon:h?o.caretAltDownIcon:b?o.caretAltLeftIcon:o.caretAltRightIcon})),d[C]instanceof Date&&d[C].toString?d[C].toString():d[C]),m.createElement("td",{...k,key:k.key},I)};void 0===r||void 0===i||r<i||void 0===s||"groupHeader"!==c||void 0===d[C]?(k={style:e.style,key:"g"+r,className:n.classNames("k-table-td","k-group-cell",{"k-grid-content-sticky":e.locked}),role:"gridcell",onContextMenu:N,...E},t=m.createElement("td",{...k,key:k.key})):r<=i&&!e.locked?t=w(s-r,{}):r<=i&&e.locked&&(y={className:"k-table-td",role:"gridcell",colSpan:s-r,style:{borderLeftWidth:0,borderRightWidth:0},onContextMenu:N},t=m.createElement(m.Fragment,null,w(0,{position:"sticky",zIndex:2}),m.createElement("td",{...y})));const R=e.rowType||"data",T=e.cells;if(T&&T.group&&T.group[R]){const t=T.group[R];return m.createElement(t,{...e,tdProps:k,td2Props:y},I)}return g?g.call(void 0,t,e):t},je=e=>{const{rowType:t,isAltRow:r,isInEdit:l,isSelected:a}=e,o=n.useUnstyled(),i=o&&o.uGrid?o.uGrid:n.uGrid,s=n.classNames(i.tr({selected:a,isHeader:"groupHeader"===t,isFooter:"groupFooter"===t,isMaster:"groupHeader"!==t&&"groupFooter"!==t,isAltRow:r,isInEdit:l})),c=m.createElement("tr",{id:e.id,onClick:e.onClick,onDoubleClick:e.onDoubleClick,className:s,style:{height:e.rowHeight?e.rowHeight+"px":"",visibility:e.isHidden?"hidden":""},role:"row","aria-rowindex":e.ariaRowIndex,"absolute-row-index":e.absoluteRowIndex,key:e.absoluteRowIndex,[de]:"data"===e.rowType?e.dataIndex:void 0},e.children);return e.render?e.render.call(void 0,c,e):c},$e=e=>{const t=n.useId(),r=a.useLocalization(),l=e.id||t,{columnMenuWrapperProps:o}=e,i=[m.createElement("span",{key:0,className:"k-checkbox-wrap"},m.createElement("input",{id:l,type:"checkbox",tabIndex:-1,className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":r.toLanguageString(le,oe[le]),"aria-checked":e.selectionValue,checked:e.selectionValue,onChange:t=>e.selectionChange({field:e.field,syntheticEvent:t})})),o.columnMenu&&m.createElement(Ee,{...o})];return e.render?e.render.call(void 0,i,e):i},Xe=e=>{const t=a.useLocalization();return e.children||t.toLanguageString(R,oe[R])};Xe.displayName="KendoReactGridNoRecords";const Ye=e=>{const{column:t,index:r,isRtl:a,id:o,cells:i}=e,s=l.useTableKeyboardNavigation(o),c={colSpan:1!==t.colSpan?t.colSpan:void 0,style:void 0!==t.left?a?{left:t.right,right:t.left}:{left:t.left,right:t.right}:{},className:n.classNames("k-table-td",t.locked&&void 0!==t.left?"k-grid-footer-sticky":""),key:r,role:"gridcell","aria-colindex":t.ariaColumnIndex,...s},d={field:t.field,ariaColumnIndex:t.ariaColumnIndex,...c},u=w(i,t.cells);if(u&&u.footerCell){const e=u.footerCell;return m.createElement(e,{...d,tdProps:c,index:r})}return t.footerCell&&m.createElement(t.footerCell,{...d,key:r})||m.createElement("td",{...c})},Je=e=>m.createElement("tr",{className:"k-table-row",role:"row","aria-rowindex":e.ariaRowIndex},(e=>e.filter((t=>!(((e,t)=>{let r=e[t.parentIndex];for(;r;){if(r.footerCell)return!0;r=e[r.parentIndex]}return!1})(e,t)||!t.footerCell&&t.children&&t.children.length>0))))(e.columns).map(((t,r)=>{const n=l.tableKeyboardNavigationTools.generateNavigatableId(`${r}-footercell`,e.idPrefix,"nodata");return m.createElement(Ye,{key:n,column:t,id:n,index:r,cells:e.cells,isRtl:e.isRtl})}))),Qe=e=>(({buttonCount:e=10,info:t=!0,type:r="numeric",pageSizes:n,previousNext:l=!0,responsive:a,navigatable:o,pageSizeValue:i})=>({buttonCount:e,info:t,pageSizes:!0===n?[5,10,20]:n||void 0,previousNext:l,responsive:!1!==a,navigatable:!1!==o,type:r,pageSizeValue:i}))(!0===e?{}:e),Ze={name:"@progress/kendo-react-grid",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate:1737532721,version:"$VERSION",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},et=e=>{const{colSpan:t,ariaColIndex:r,dataItem:a,dataIndex:o,id:i}=e,s=l.useTableKeyboardNavigation(i),c=n.useUnstyled(),d=c&&c.uGrid?c.uGrid:n.uGrid,u=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem)}),[e.onContextMenu,e.dataItem]);return m.createElement("td",{onContextMenu:u,className:n.classNames(d.detailTd({})),colSpan:t,"aria-colindex":r,role:"gridcell",...s},m.createElement(e.detail,{dataItem:a,dataIndex:o}))},tt=e=>{const t=n.useUnstyled(),r=t&&t.uGrid?t.uGrid:n.uGrid;return m.createElement("td",{className:n.classNames(r.hierarchyTd({})),role:"gridcell"})},rt=m.forwardRef(((e,t)=>{var r,o,i,s;const c=n.useId();n.validatePackage(Ze);const d=()=>{var e;if(n.canUseDOM)return(null==(e=h())?void 0:e.ownerDocument)||document},u=()=>(e.id||c)+"-role-element-id",p=()=>{const e=Ee.current.filter((e=>e.declarationIndex>=0&&-1===e.parentIndex));return I(e)},h=()=>Ye.current,g=m.useCallback((t=>{var r;if(!pe.current||null==(r=pe.current)||!r.container||"none"===e.scrollable)return;ve.current&&ve.current.disconnect();const{rowIndex:n}=t,l=h();if("virtual"===e.scrollable)pe.current.askedSkip=n,pe.current.container.scroll(0,Math.round(pe.current.askedSkip/pe.current.total*pe.current.container.scrollHeight));else if(l){const e=n<1?l.querySelector("tbody > tr:nth-child(1)"):l.querySelector(`tbody > tr:nth-child(${n+1})`);e&&nt.current&&(nt.current.scrollTop=e.offsetTop)}}),[e.scrollable]),f=m.useCallback((e=>{const t={rowIndex:Oe.current};e.forEach((e=>{e.isIntersecting||g(t)}))}),[g]),[,v]=m.useReducer((e=>!e),!0),R=e=>JSON.stringify(e.map((e=>({id:e.id,field:e.field,title:e.title,children:e.children})))),T=m.useMemo((()=>m.Children.toArray(e.children)),[e.children]),M=()=>{R(T)===R(Ee.current)||v()},G=(t,r,n)=>{if(e.onContextMenu){const l={target:ut.current,syntheticEvent:t,nativeEvent:t.nativeEvent,dataItem:r,field:n};e.onContextMenu.call(void 0,l)}},D=()=>{const{data:t,total:r}=e;return Array.isArray(t)?t.length===r:!!t&&r===t.total},O=()=>(Me.current||(Me.current=n.getScrollbarWidth()||void 0),Me.current),L=t=>{if(l.tableKeyboardNavigation.onKeyDown(t,{navigatable:e.navigatable||!1,contextStateRef:le,navigationStateRef:de,onNavigationAction:P,columns:p()}),l.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:d(),contextStateRef:le,navigationStateRef:de}),e.onKeyDown){const{mode:r,cell:n}=l.getSelectionOptions(e.selectable),a={dataItems:te(),mode:r,cell:n,componentId:u(),selectedField:e.selectedField,...ee(t)};e.onKeyDown.call(void 0,a)}},H=t=>{l.tableKeyboardNavigation.onFocus(t,{navigatable:!!e.navigatable,contextStateRef:le})},P=t=>{if("moveToNextPage"===t.action&&K(t.event),"moveToPrevPage"===t.action&&B(t.event),t.focusElement&&"reorderToRight"===t.action){const e=parseInt(t.focusElement.ariaColIndex,10)-1;e<Ee.current.length-1&&U(e,e+1,t.event)}if(t.focusElement&&"reorderToLeft"===t.action){const e=parseInt(t.focusElement.ariaColIndex,10)-1;e>0&&U(e,e-1,t.event)}if(e.onNavigationAction){const r={focusElement:t.focusElement,...ee(t.event)};e.onNavigationAction.call(void 0,r)}},F=t=>{t.field===e.expandField||e.group&&void 0===t.field?e.onExpandChange&&e.onExpandChange.call(void 0,{...ee(t.syntheticEvent),dataItem:t.dataItem,dataIndex:t.dataIndex,value:t.value}):e.onItemChange&&e.onItemChange.call(void 0,{...ee(t.syntheticEvent),dataItem:t.dataItem,dataIndex:t.dataIndex,field:t.field,value:t.value})},z=t=>{if(e.onSelectionChange){const r=re()[t.startRowIndex],n=re()[t.endRowIndex],l={syntheticEvent:void 0,target:ut.current,selectedField:e.selectedField||"",componentId:u(),dataItems:te(),dataItem:null,startDataItem:r,endDataItem:n,...t};e.onSelectionChange.call(void 0,l)}},A=(t,r,n)=>{V(e.onPageChange,{page:t},{skip:t.skip,take:t.take},r,n)},K=t=>{const r=e.take||0,n=(e.skip||0)+r,l=(()=>{let t=e.total||0;return Array.isArray(e.data)?t=t||e.data.length:e.data&&(t=t||e.data.total),t})();n<l&&A({skip:n,take:r},t)},B=t=>{const r=e.take||0,n=(e.skip||0)-r;n>=0&&A({skip:n,take:r},t)},q=(t,r)=>{V(e.onFilterChange,{filter:t},{filter:t||void 0,skip:0},r)},W=(t,r)=>{const n=r.nativeEvent?r:{nativeEvent:r.nativeEvent||r.originalEvent};0===t.length&&e.navigatable&&(ye.current=!0),V(e.onGroupChange,{group:t},{group:t,skip:0},n)},V=(t,r,n,l,a)=>{const o=e.onDataStateChange;if(t){const e={...ee(l),...r,targetEvent:a};t.call(void 0,e)}else o&&o.call(void 0,{...ee(l),targetEvent:a||{},dataState:{...Z(),...n}})},U=(t,r,n)=>{const a=Ee.current[t],o=a.depth,i=e=>{do{e++}while(e<Ee.current.length&&Ee.current[e].depth>o);return e},s=Ee.current.splice(t,i(t)-t);Ee.current.splice(t<r?i(r-s.length):r,0,...s),Ee.current.filter((e=>e.declarationIndex>=0)).forEach(((e,t)=>e.orderIndex=t));const c=Ee.current[t].locked&&Ee.current[r].locked;l.updateLeft(xe.current,Ee.current,c||Te.current),l.updateRight(xe.current,Ee.current,c||Te.current),ke.current&&(Te.current=!1,ke.current=!1);const d=p();if(v(),e.onColumnReorder){const t={target:ut.current,columns:d,columnId:a.id,nativeEvent:n};e.onColumnReorder.call(void 0,t)}},_=(t,r,n)=>{if(void 0===e.group)return;const l=e.group.slice();l.splice(r,0,...l.splice(t,1)),W(l,n)},j=(t,r,n)=>{const l=Ee.current[t].field;if(!l)return;const a=(e.group||[]).slice();a.splice(r,0,{field:l}),W(a,n)},$=()=>{let e=0;if(!fe.current.colGroupMain)return;const t=fe.current.colGroupMain.children;for(let r=0;r<t.length;r++){const n=t[r].width;if(!n)return;e+=parseFloat(n.toString())}e=Math.round(e),Pe.current&&Pe.current.setWidth(e),He.current&&He.current.setWidth(e),rt.current&&(rt.current.style.width=e+"px")},X=(t,r)=>{if(e.onClipboard){if(!Y()||!t)return;e.onClipboard.call(void 0,{type:t,nativeEvent:r,columns:Ee.current,dataItemKey:e.dataItemKey||"",..."boolean"!=typeof e.clipboard?e.clipboard:{}})}},Y=()=>{var e,t,r;if(!n.canUseDOM)return!1;const l=n.getActiveElement(d()),a=l?l.matches(".k-table-td")?l:null==(e=d())?void 0:e.body:null==(t=d())?void 0:t.body,o=a.closest(".k-grid-container"),i=a&&(null==(r=Ye.current)?void 0:r.contains(a));return!!(a&&i&&o)},J=(t,r,n,l,a,o)=>{$(),Te.current=!0,ke.current=!0,e.onColumnResize&&e.onColumnResize.call(void 0,{columns:p(),nativeEvent:l,targetColumnId:o,index:t,newWidth:r,oldWidth:n,end:a,target:ut.current})},Q=(t,r)=>{e.selectedField&&t.filter((t=>t.field===e.selectedField)).forEach((e=>{e.width=e.width||"50px",e.cell=e.cell||se,e.headerCell=e.headerCell||$e}));const l={id:"",resizable:!0,width:"32px",title:" ",declarationIndex:-1,orderIndex:-1,children:[],parentIndex:-1,depth:0,colSpan:0,rowSpan:0,left:0,right:0,index:0,rightBorder:!1,ariaColumnIndex:0,isAccessible:!0};let a=0;e.expandField&&e.onExpandChange&&e.detail&&(t.unshift({...l,cell:ce,field:e.expandField,headerClassName:n.classNames(st.hierarchyCell({}))}),a++);for(let n=0;n<r;n++)t.unshift({...l,isAccessible:!1,cell:_e,field:"value",locked:e.lockGroups}),a++;t.slice(a).forEach((e=>e.parentIndex>=0&&(e.parentIndex+=a)))},Z=()=>({filter:e.filter,sort:e.sort,skip:e.skip,take:void 0!==e.take?e.take:e.pageSize,group:e.group}),ee=e=>({nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:ut.current}),te=()=>be.current.filter((e=>"data"===e.rowType)).map((e=>e.dataItem)),re=()=>(Ce.current||be.current).filter((e=>"data"===e.rowType)).map((e=>e.dataItem)),ne=m.useRef(),le=m.useRef(),de=m.useRef(),ue=m.useRef(),pe=m.useRef(),fe=m.useRef(),ve=m.useRef(null),be=m.useRef([]),Ce=m.useRef(),Ee=m.useRef([]),xe=m.useRef([[]]),ke=m.useRef(!1),ye=m.useRef(!1),Se=m.useRef(),we=m.useRef(),Re=m.useRef(!1),Te=m.useRef(!0),Me=m.useRef(),Ge=m.useRef(0),De=m.useRef(),Oe=m.useRef(),Le=m.useRef([]),He=m.useRef(null),Pe=m.useRef(null),ze=m.useRef(null),Ye=m.useRef(null),rt=m.useRef(null),nt=m.useRef(null),lt=m.useRef(null),at=m.useRef(null),ot=a.useLocalization(),it=n.useUnstyled(),st=it&&it.uGrid?it.uGrid:n.uGrid,ct=n.shouldShowValidationUI(Ze),dt=n.useDir(Ye);m.useMemo((()=>{l.tableKeyboardNavigation.onConstructor({navigatable:!!e.navigatable,contextStateRef:le,navigationStateRef:de,idPrefix:u()})}),[]),m.useMemo((()=>{var t;null==(t=pe.current)||t.reset();const r=!0===e.groupable||"object"==typeof e.groupable&&!1!==e.groupable.enabled,n=(()=>{const{rowHeight:t,detailRowHeight:r,detail:n,expandField:l,groupable:a}=e,o=D(),i=void 0!==t&&t>0,s=void 0!==r&&r>0,c=!0===a||"object"==typeof a&&!1!==a.enabled;return!i||c&&!o||n&&l&&(!s||!o)?Be:qe})();pe.current=new n(r||void 0===e.rowHeight||0===e.rowHeight)}),[e.scrollable,e.total,e.filter,e.group,e.groupable,e.sort,e.rowHeight]),m.useEffect((()=>(e.clipboard&&(ue.current=new l.ClipboardService(X),ue.current.addEventListeners(d())),()=>{ue.current&&ue.current.removeEventListeners(d())})),[e.onClipboard,e.clipboard]),m.useMemo((()=>{fe.current=new We(J)}),[e.onColumnResize]),m.useMemo((()=>{ne.current=new Ve(U,_,j)}),[e.onColumnReorder,e.onGroupChange,e.group,e.groupable]),m.useEffect((()=>(e.columnVirtualization&&!window.navigator.userAgent.match(he)&&(at.current&&(at.current.style.display="block"),rt.current&&(rt.current.style.display="block")),$(),n.setScrollbarWidth(O()),l.tableKeyboardNavigation.onComponentDidMount({scope:Ye.current||void 0,contextStateRef:le,navigationStateRef:de}),()=>{clearTimeout(De.current)})),[]),m.useEffect((()=>{var t;$(),n.setScrollbarWidth(O()),null!=(t=pe.current)&&t.tableTransform&&pe.current.table&&(pe.current.table.style.transform=pe.current.tableTransform,pe.current.tableTransform=""),(()=>{var e,t,r;if(lt.current&&(null==(e=lt.current)?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){Re.current=!1,null!=(t=document.activeElement)&&t.closest(".k-grid-edit-row")?we.current=document.activeElement:we.current=void 0;const e=Array.from(null==(r=lt.current)?void 0:r.getElementsByClassName("k-grid-edit-row"));e.length>Le.current.length?Se.current=e.filter((e=>!Le.current.includes(e)))[0]:1===e.length&&(Se.current=e[0],Re.current=!0),Le.current=e}})(),l.tableKeyboardNavigation.onComponentDidUpdate({scope:Ye.current||void 0,contextStateRef:le,navigationStateRef:de,focusFirst:ye.current,newEditableRow:Se.current,singleEditRow:Re.current,lastActiveElement:we.current,navigatable:e.navigatable}),ye.current=!1,Se.current=void 0})),m.useEffect((()=>{if(n.canUseDOM){const e={rootMargin:"0px",threshold:.9};ve.current=window.IntersectionObserver&&new window.IntersectionObserver(f,e)||null}}),[f]),m.useEffect((()=>{var e;let t;return n.canUseDOM&&window.ResizeObserver&&(t=new window.ResizeObserver(M),t.observe(null==(e=d())?void 0:e.body)),()=>{null==t||t.disconnect()}}),[]);const ut=m.useRef(null);m.useImperativeHandle(ut,(()=>({get element(){return h()},props:e,get columns(){return p()},scrollIntoView:t=>{var r;if(null==(r=pe.current)||!r.container||"none"===e.scrollable)return;const{rowIndex:n}=t;Oe.current=n;const l=h();if(ve.current&&l){ve.current.disconnect();const e=l.querySelector(`[absolute-row-index="${Oe.current}"]`);e?ve.current.observe(e):g(t)}},fitColumns:e=>{fe.current.dblClickHandler(null,e)}}))),m.useImperativeHandle(t,(()=>ut.current));let pt=e.total||0;const ht=l.tableKeyboardNavigationTools.getIdPrefix(de),{size:gt="medium"}=e;let mt=[];Array.isArray(e.data)?(mt=e.data,pt=pt||e.data.length):e.data&&(mt=e.data.data,pt=pt||e.data.total);const ft="object"==typeof e.groupable&&e.groupable.footer||"none",vt="virtual"===e.scrollable,{resolvedGroupsCount:bt,flattedData:Ct}=((e,t,r,n,l)=>{const a=[];return{flattedData:a,resolvedGroupsCount:C(a,e,t,{index:r},void 0!==n,l)}})(mt,ft,e.skip||0,e.group,e.expandField);be.current=Ct;const Et=!0===e.groupable||"object"==typeof e.groupable&&!1!==e.groupable.enabled;fe.current.resizable=e.resizable||!1,ne.current.reorderable=e.reorderable||!1,ne.current.groupable=Et;const xt=e.selectable&&e.selectable.drag?"none":void 0;((t,r)=>{if(pe.current){if(pe.current.fixedScroll=e.fixedScroll||!1,pe.current.PageChange=A,pe.current.realSkip=e.skip||0,pe.current.pageSize=(void 0!==e.take?e.take:e.pageSize)||0,pe.current.scrollableVirtual="virtual"===e.scrollable,pe.current.total=t,pe.current.propsSkip=(e.skip||0)+("virtual"===e.scrollable?pe.current.topCacheCount+(pe.current.attendedSkip-(e.skip||0)):0),void 0!==e.rowHeight&&e.rowHeight>0&&!r){const r=e.rowHeight*t;pe.current.containerHeight=S?Math.min(N,r):r}else pe.current.containerHeight=1533915;if(pe.current.containerRef=nt,pe.current.tableBodyRef=lt,pe.current.table=rt.current,Ce.current=void 0,pe.current instanceof qe){const{rowHeight:r=0,detail:l,expandField:a}=e;let{detailRowHeight:o=0}=e;o=l&&a?o:r,D()?(pe.current.total=be.current.length,Ce.current=be.current.slice(pe.current.realSkip,pe.current.realSkip+pe.current.pageSize),pe.current.rowHeightService=new n.RowHeightService(be.current.length,r,o,be.current)):pe.current.rowHeightService=new n.RowHeightService(t,r,o);const i=pe.current.rowHeightService.totalHeight();pe.current.containerHeight=S?Math.min(N,i):i}}})(pt,Et),((t,r)=>{const a=l.tableKeyboardNavigationTools.getIdPrefix(de),o=((e,t)=>{const r=e.filter((e=>e&&e.type&&"KendoReactGridColumn"===e.type.displayName));return E(r,p(),{prevId:0,idPrefix:t})})(t,a),i=(e=>e.filter((e=>n.canUseDOM&&e&&e.media?window.matchMedia(e.media).matches:e)))(o);Ee.current=i,0===Ee.current.length&&(Ee.current=x(e.data,e.group,e.expandField,{prevId:0,idPrefix:a})),Q(Ee.current,r),xe.current=l.mapColumns(Ee.current,!0),fe.current.columns=Ee.current,ne.current.columns=Ee.current})(T,bt);const kt=T.map((e=>e&&e.type&&"KendoReactGridToolbar"===e.type.displayName?m.cloneElement(e,{...e.props,ariaControls:u()}):null)),yt=T.filter((e=>e&&e.type&&"KendoReactGridNoRecords"===e.type.displayName)),It=T.filter((e=>e&&e.type&&"KendoReactGridStatusBar"===e.type.displayName)),St=Ee.current.filter((e=>0===e.children.length)),Nt=Et&&m.createElement(Ae,{group:e.group||[],groupChange:W,pressHandler:ne.current.pressHandler,dragHandler:ne.current.dragHandler,releaseHandler:ne.current.releaseHandler,refCallback:ne.current.refGroupPanelDiv,resolveTitle:e=>{const t=Ee.current.find((t=>t.field===e)),r=t&&(t.title||t.field);return void 0===r?e:r},ariaControls:u(),onContextMenu:G}),wt=m.createElement(me,{size:gt,columnResize:fe.current,staticHeaders:"none"!==e.scrollable,scrollableDataElement:()=>{var e;return(null==(e=pe.current)?void 0:e.container)||null},draggable:e.reorderable||Et,ref:Pe,elemRef:ze,headerRow:m.createElement(Ie,{cells:e.cells,sort:e.sort,sortable:e.sortable,sortChange:(t,r)=>{V(e.onSortChange,{sort:t},{sort:t,..."virtual"===e.scrollable?{skip:0}:{}},r)},group:e.group||[],groupable:Et,groupChange:W,filter:e.filter,filterable:e.filterable,filterOperators:e.filterOperators||Ne,filterChange:q,columnMenu:e.columnMenu,columnMenuIcon:e.columnMenuIcon,selectionChange:t=>{e.onHeaderSelectionChange&&e.onHeaderSelectionChange.call(void 0,{field:t.field,nativeEvent:t.syntheticEvent&&t.syntheticEvent.nativeEvent,syntheticEvent:t.syntheticEvent,target:ut.current,dataItems:te(),selectedField:e.selectedField})},columns:Ee.current,columnResize:fe.current,pressHandler:ne.current.pressHandler,dragHandler:ne.current.dragHandler,releaseHandler:ne.current.releaseHandler,columnsMap:xe.current,cellRender:e.headerCellRender,isRtl:"rtl"===dt,dragClue:ne.current.dragClueRef,headerRef:ze,containerRef:nt,navigatable:!!e.navigatable,columnGroupChange:(e,t)=>{const r=ne.current.getCurrentGroupsLength;j(e,r,t)}}),filterRow:e.filterable&&m.createElement(Fe,{cells:e.cells,size:gt,columns:Ee.current,filter:e.filter,filterOperators:e.filterOperators||Ne,filterChange:q,sort:e.sort,cellRender:e.filterCellRender,isRtl:"rtl"===dt,navigatable:!!e.navigatable,ariaRowIndex:xe.current.length+1})||void 0,cols:St.map(((e,t)=>m.createElement("col",{key:t.toString(),width:k(e)})))}),Rt=pe.current&&pe.current.container&&pe.current.container.scrollLeft||0,Tt=parseFloat(((e.style||{}).width||"").toString()),{colSpans:Mt,hiddenColumns:Gt}=l.tableColumnsVirtualization({enabled:e.columnVirtualization,columns:St,tableViewPortWidth:Tt,scrollLeft:Rt}),Dt=(t,r,a,o)=>{let i=!1;const s=e.selectedField?b(e.selectedField,t.dataItem):void 0;return{row:St.map(((c,d)=>{if(Gt[d])return null;const p=c.id?c.id:d,h=n.classNames(st.contentSticky({locked:c.locked}),c.className),g=void 0!==c.left?"rtl"!==dt?{left:c.left,right:c.right}:{left:c.right,right:c.left}:{};let f=!1;if(c.editable&&e.editField){const r=b(e.editField,t.dataItem);r&&(!0===r||r===c.field)&&(i=!0,f=!0)}const v=c.cell||f&&ge||Ue,C=e.expandField&&e.detail&&c.field===e.expandField;return m.createElement(v,{onContextMenu:G,key:p,locked:e.lockGroups,id:l.tableKeyboardNavigationTools.generateNavigatableId(`${r}-${String(d)}`,ht,C||"groupHeader"===t.rowType||"groupFooter"===t.rowType||"value"===c.field?"nodata":"cell"),colSpan:Mt[d],dataItem:t.dataItem,field:c.field,editor:c.editor,format:c.format,className:h,render:e.cellRender,cells:w(e.cells,c.cells),onChange:F,selectionChange:e.onSelectionChange?r=>{(t=>{if(e.onSelectionChange){const{event:r,dataItem:n,dataIndex:a,columnIndex:o}=t,{mode:i,cell:s}=l.getSelectionOptions(e.selectable),c={...ee(r.syntheticEvent),dataItem:n,startColIndex:o,endColIndex:o,startRowIndex:a,endRowIndex:a,dataItems:te(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:i,cell:s,isDrag:!1,componentId:u(),selectedField:e.selectedField||""};e.onSelectionChange.call(void 0,c)}})({event:r,dataItem:t.dataItem,dataIndex:a,columnIndex:d})}:void 0,columnIndex:d,columnsCount:St.length,rowType:t.rowType,level:t.level,expanded:t.expanded,dataIndex:t.dataIndex,style:g,ariaColumnIndex:c.ariaColumnIndex,isSelected:Array.isArray(s)&&s.indexOf(d)>-1,isSorted:!!y(c.field,e.sort),isAlt:o})})),isInEdit:i,isSelected:"boolean"==typeof s&&s}};let Ot=0;if(vt&&pe.current)for(let t=0;t<pe.current.topCacheCount+pe.current.attendedSkip-(e.skip||0);){const e=be.current.shift();if(!e)break;be.current.push(e),Ot++,"groupHeader"===e.rowType&&t--,t++}const Lt=e=>e>=be.current.length-Ot;let Ht=(null==(r=pe.current)?void 0:r.realSkip)||0;const Pt=[];let Ft=!1;const zt=xe.current.length+(e.filterable?1:0)+1;let At=0;if(be.current.length){let t=-1,r=0;(Ce.current||be.current).forEach(((a,o)=>{var i,s;"data"===a.rowType&&(Ht++,t++);const c=Ht%2==0,d=e.dataItemKey&&n.getter(e.dataItemKey)(a.dataItem),u=o+((null==(i=pe.current)?void 0:i.realSkip)||0),p=d||"ai"+u,h=p+"_1",g=Dt(a,p,t,c);if(At=u+zt+r,Pt.push(m.createElement(je,{key:p,dataItem:a.dataItem,isAltRow:c,isInEdit:g.isInEdit,rowType:a.rowType,isHidden:Lt(o),onClick:t=>((t,r)=>{e.onRowClick&&"TD"===t.target.nodeName&&e.onRowClick.call(void 0,{dataItem:r.dataItem,...ee(t)})})(t,a),onDoubleClick:t=>((t,r)=>{e.onRowDoubleClick&&"TD"===t.target.nodeName&&e.onRowDoubleClick.call(void 0,{dataItem:r.dataItem,...ee(t)})})(t,a),selectedField:e.selectedField,rowHeight:e.rowHeight,render:e.rowRender,ariaRowIndex:At,absoluteRowIndex:u,dataIndex:null!=(s=pe.current)&&s.scrollableVirtual&&!e.groupable?u:t,isSelected:g.isSelected},g.row)),e.detail&&"data"===a.rowType&&a.expanded){const t=St.length-(e.expandField?1:0)-(e.group?e.group.length:0)||1;r++,At=u+zt+r,Pt.push(m.createElement("tr",{key:h,className:n.classNames(st.detailTr({isAlt:c})),style:{visibility:Lt(o)?"hidden":"",height:e.detailRowHeight},role:"row","aria-rowindex":At},e.group&&e.group.map(((t,r)=>{var n;const l=null==(n=null==g?void 0:g.row[r])?void 0:n.props.style,o=l?"rtl"!==dt?{left:l.left,right:l.right}:{left:l.right,right:l.left}:{};return m.createElement(_e,{id:"",dataIndex:a.dataIndex,field:t.field,dataItem:a.dataItem,key:r,style:o,ariaColumnIndex:1+r,isSelected:!1,locked:e.lockGroups,isRtl:"rtl"===dt,cells:e.cells})})),e.expandField&&m.createElement(tt,{id:l.tableKeyboardNavigationTools.generateNavigatableId(`${h}-dhcell`,ht)}),m.createElement(et,{onContextMenu:G,dataItem:a.dataItem,dataIndex:a.dataIndex,colSpan:t,ariaColIndex:2+(e.group?e.group.length:0),detail:e.detail,id:l.tableKeyboardNavigationTools.generateNavigatableId(`${h}-dcell`,ht)})))}}))}else Ft=!0;const Kt=()=>{const e=Pe.current;return e&&e.table()&&e.table().clientWidth},Bt=()=>m.createElement("div",{key:"no-records",className:n.classNames(st.noRecords({})),style:{width:Kt()}},m.createElement("div",{className:n.classNames(st.noRecordsTemplate({})),[l.KEYBOARD_NAV_DATA_ID]:l.tableKeyboardNavigationTools.generateNavigatableId("no-records",ht)},yt.length?yt:m.createElement(Xe,null))),qt={size:gt,onPageChange:e=>{A({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},total:pt,dir:dt,skip:(null==(o=pe.current)?void 0:o.propsSkip)||0,take:(void 0!==e.take?e.take:e.pageSize)||10,messagesMap:ie,...Qe(e.pageable||{})},Wt=e.pager?m.createElement(e.pager,{...qt}):m.createElement(l.Pager,{className:n.classNames(st.pager({})),...qt}),Vt=null!=(i=e.cells)&&i.footerCell||Ee.current.some((e=>{var t;return!!(e.footerCell||null!=(t=e.cells)&&t.footerCell)}))?m.createElement(Ke,{size:gt,columnResize:fe.current,staticHeaders:"none"!==e.scrollable,ref:He,row:m.createElement(Je,{cells:e.cells,idPrefix:ht,columns:Ee.current,isRtl:"rtl"===dt,ariaRowIndex:At+1}),cols:St.map(((e,t)=>m.createElement("col",{key:t.toString(),width:k(e)})))}):null,Ut=m.createElement("colgroup",{ref:e=>{fe.current.colGroupMain=e}},St.map(((t,r)=>m.createElement("col",{key:r.toString(),className:y(t.field,e.sort)?n.classNames(st.sorted({})):void 0,width:k(t)})))),_t=ne.current.reorderable||ne.current.groupable;if("none"===e.scrollable)return m.createElement(l.TableKeyboardNavigationContext.Provider,{value:le.current},m.createElement("div",{id:e.id||c,style:e.style,className:n.classNames(st.wrapper({size:gt}),e.className),ref:Ye,"aria-label":e.ariaLabel,onKeyDown:L,onFocus:H,...l.tableKeyboardNavigationScopeAttributes},kt,Nt,m.createElement(l.TableSelection,{selectable:e.selectable,onRelease:z,childRef:e=>{rt.current=e,at.current=e}},m.createElement("table",{ref:at,className:n.classNames(st.table({size:gt}))},Ut,wt,m.createElement("tbody",{role:"rowgroup",className:n.classNames(st.tbody({})),...l.tableKeyboardNavigationBodyAttributes},Pt),Vt)),Ft&&Bt(),_t&&m.createElement(m.Fragment,null,m.createElement(l.DropClue,{ref:ne.current.refDropElementClue}),m.createElement(l.DragClue,{ref:ne.current.refDragElementClue}))),It,e.pageable&&Wt);let jt=e.style||{};return vt&&(jt.height||(jt=Object.assign({},jt,{height:"450px"}))),m.createElement(l.TableKeyboardNavigationContext.Provider,{value:le.current},m.createElement("div",{id:e.id||c,style:jt,className:n.classNames(st.wrapper({size:gt,virtual:vt}),e.className),ref:Ye,"aria-label":e.ariaLabel,onKeyDown:L,onFocus:H,...l.tableKeyboardNavigationScopeAttributes},kt,Nt,m.createElement("div",{className:n.classNames(st.ariaRoot({})),role:"grid","aria-colcount":St.length,"aria-rowcount":pt,id:u(),"aria-label":ot.toLanguageString(ae,oe[ae])},wt,m.createElement("div",{className:n.classNames(st.container({})),role:"presentation"},m.createElement("div",{ref:nt,className:n.classNames(st.content({})),onScroll:t=>{var r;if(t.target!==t.currentTarget)return;clearTimeout(De.current),pe.current&&(pe.current.table=rt.current);const l=t.currentTarget.scrollLeft,a=t.currentTarget.scrollTop;e.columnVirtualization&&(!(null!=(r=pe.current)&&r.scrollableVirtual)||a===Ge.current)&&(De.current=window.setTimeout((()=>{v()}),0)),Pe.current&&Pe.current.setScrollLeft(l),He.current&&He.current.setScrollLeft(l),pe.current&&a!==Ge.current&&pe.current.scrollHandler(t),n.dispatchEvent(e.onScroll,t,ut.current,void 0),Ge.current=a},role:"presentation"},m.createElement("div",{className:n.classNames(st.tableWrap({})),role:"presentation"},m.createElement(l.TableSelection,{selectable:e.selectable,onRelease:z,childRef:e=>{rt.current=e}},m.createElement("table",{ref:rt,className:n.classNames(st.table({size:gt})),role:"presentation",style:{userSelect:xt}},Ut,m.createElement("tbody",{className:n.classNames(st.tbody({})),ref:lt,role:"rowgroup",...l.tableKeyboardNavigationBodyAttributes},Pt))),Ft&&Bt()),vt&&m.createElement("div",{className:n.classNames(st.heightContainer({})),role:"presentation"},m.createElement("div",{style:vt?{height:(null==(s=pe.current)?void 0:s.containerHeight)+"px"}:{}})))),Vt,_t&&m.createElement(m.Fragment,null,m.createElement(l.DropClue,{ref:ne.current.refDropElementClue}),m.createElement(l.DragClue,{ref:ne.current.refDragElementClue})),ct&&m.createElement(n.WatermarkOverlay,null)),It,e.pageable&&Wt))})),nt={data:r.oneOfType([r.array,r.shape({data:r.array,total:r.number})]),sortable:r.oneOfType([r.bool,r.shape({mode:r.oneOf(["single","multiple"]),allowUnsort:r.bool})]),onSortChange:r.func,sort:r.array,filterable:r.bool,filter:r.any,onFilterChange:r.func,pageable:r.oneOfType([r.bool,r.shape({buttonCount:r.number,responsive:r.bool,info:r.bool,type:r.oneOf(["numeric","input"]),pageSizes:r.oneOfType([r.bool,r.arrayOf(r.oneOfType([r.string,r.number]))]),previousNext:r.bool})]),pageSize:r.number,onPageChange:r.func,total:r.number,skip:r.number,take:r.number,fixedScroll:r.bool,onExpandChange:r.func,expandField:r.string,selectedField:r.string,onSelectionChange:r.func,onHeaderSelectionChange:r.func,resizable:r.bool,reorderable:r.bool,group:r.any,groupable:r.oneOfType([r.bool,r.shape({enabled:r.bool,footer:r.oneOf(["always","visible","none"])})]),onGroupChange:r.func,onRowClick:r.func,onRowDoubleClick:r.func,onItemChange:r.func,editField:r.string,scrollable:r.oneOf(["none","scrollable","virtual"]),rowHeight:r.number,detailRowHeight:r.number,detail:r.any,style:r.object,onDataStateChange:r.func,onColumnResize:r.func,onColumnReorder:r.func,dataItemKey:r.string,navigatable:r.oneOfType([r.bool,r.shape({mode:r.oneOf(["incell","inline","popup"])})]),size:r.oneOf(["small","medium"])};rt.displayName="KendoReactGrid",rt.propTypes=nt;const lt=e=>{const{children:t,id:r,className:l,style:a}=e;return m.createElement("div",{id:r,className:n.classNames("k-columnmenu-item-wrapper",l),style:a},t)},at=e=>{const{title:t,iconClass:r,svgIcon:l,selected:a}=e;return m.createElement("div",{onClick:e.onClick,className:"k-columnmenu-item "+(a?"k-selected":"")},(r||l)&&m.createElement(n.IconWrap,{name:r&&n.toIconName(r),icon:l}),t)},ot="desc",it={true:{asc:{asc:"",desc:"desc"},desc:{asc:"asc",desc:""},"":{asc:"asc",desc:"desc"}},false:{asc:{asc:"asc",desc:"desc"},desc:{asc:"asc",desc:"desc"},"":{asc:"asc",desc:"desc"}}},st=(e,t)=>t?t.findIndex((t=>t.field===e)):-1,ct=(e,t)=>!!(t&&e>-1&&"asc"===t[e].dir),dt=(e,t)=>!!(t&&e>-1&&t[e].dir===ot),ut=e=>{const{children:t,id:r,className:l,style:a,show:o}=e;return m.createElement("div",{id:r,className:n.classNames("k-columnmenu-item-content",l),style:a,tabIndex:0},m.createElement(h.Reveal,{style:{position:"relative",display:"block"}},o?t:null))},pt=e=>{const t=(t,r)=>{Ge(t,r,e)},r=t=>{He(t,e.value,e.onChange)},n=t=>{Le(t,e.onChange)};return m.createElement(m.Fragment,null,(()=>{if("boolean"===e.filterType)return;const t=e.operators.find((t=>t.operator===e.operator))||null;return m.createElement(u.DropDownList,{value:t,onChange:r,data:e.operators,textField:"text"})})(),((e,r,l)=>{switch(e){case"numeric":return m.createElement(i.NumericTextBox,{value:r,onChange:e=>{t(e.value,e.syntheticEvent)},rangeOnEnter:!1});case"date":return m.createElement(s.DatePicker,{value:r,onChange:e=>{t(e.value,e.syntheticEvent)}});case"boolean":{const e=e=>null==e;return m.createElement(u.DropDownList,{onChange:n,value:l.find((t=>t.operator===(e(r)?"":r))),data:l,textField:"text"})}default:return m.createElement(i.Input,{value:r||"",onChange:e=>{t(e.target.value,e.syntheticEvent)}})}})(e.filterType,e.value,e.booleanValues))},ht=e=>{const{firstFilterProps:t,hideSecondFilter:r,secondFilterProps:n,logicData:l,logicValue:a,onLogicChange:o}=e;return m.createElement(m.Fragment,null,m.createElement(pt,{...t}),!r&&m.createElement(m.Fragment,null,m.createElement(u.DropDownList,{data:l,value:a,onChange:o,className:"k-filter-and",textField:"text"}),m.createElement(pt,{...n})))},gt=e=>e||{filters:[],logic:"and"},mt=(e,t)=>gt(t).filters.filter((t=>!!p.isCompositeFilterDescriptor(t)&&(t.filters&&t.filters.length&&t.filters.length<=2&&!t.filters.find((t=>p.isCompositeFilterDescriptor(t)||t.field!==e)))))[0]||null,ft={uniqueData:!0},vt=e=>{const[t,r]=m.useState(""),l=e.columns.reduce(((t,r)=>({...t,[r.id||""]:!!e.columnsState.find((e=>e.id===r.id))})),{}),[s,c]=m.useState(l),u=m.useMemo((()=>e.columns.filter((e=>{var r;return null==(r=e.title||e.field)?void 0:r.toLowerCase().includes(t.toLowerCase())}))),[e.columns,t]),p=a.useLocalization(),h=m.useCallback((()=>{const t=e.columns.filter((e=>s[e.id||""]));e.onColumnsChange.call(void 0,t),e.onCloseMenu.call(void 0)}),[s,e.columns,e.onColumnsChange,e.onCloseMenu]),g=m.useMemo((()=>Object.values(s).filter((e=>e)).length),[s]),f=m.useMemo((()=>g===e.columns.length),[e.columns,g]),v=m.useCallback((()=>{const e={...s};Object.keys(e).forEach(((t,r)=>e[t]=!(!f||0!==r)||!f)),c(e)}),[s,f]),b=m.useCallback(((e,t)=>{const r={...s};r[t||""]=e,c(r)}),[s]);return m.createElement("form",{className:"k-filter-menu"},m.createElement("div",{className:"k-filter-menu-container"},m.createElement(i.TextBox,{className:"k-searchbox",value:t,onChange:e=>{r(String(e.target.value))},prefix:()=>m.createElement(i.InputPrefix,null,m.createElement(n.IconWrap,{name:"search",icon:o.searchIcon}))}),m.createElement("ul",{className:"k-reset k-multicheck-wrap"},!t&&m.createElement("li",{className:"k-item k-check-all-wrap"},m.createElement(i.Checkbox,{checked:f,onChange:v,label:p.toLanguageString(X,oe[X])})),u.map(((e,t)=>m.createElement("li",{key:e.id,className:"k-item"},m.createElement(i.Checkbox,{disabled:s[e.id||""]&&1===g,checked:s[e.id||""],onChange:t=>{var r;return b(!(null==(r=t.target.element)||!r.checked),e.id)},label:e.title||e.field}))))),m.createElement("div",{className:"k-filter-selected-items"},g," selected items"),m.createElement("div",{className:"k-actions k-actions-start k-actions-horizontal"},m.createElement(d.Button,{type:"button",themeColor:"primary",onClick:h},p.toLanguageString(A,oe[A])),m.createElement(d.Button,{type:"button",onClick:()=>{c(l)}},p.toLanguageString(B,oe[B])))))};vt.displayName="GridColumnMenuColumnsList";const bt=e=>{const{size:t,className:r,ariaLabel:l,ariaControls:a,children:o}=e;return m.createElement("div",{className:n.classNames("k-toolbar k-grid-toolbar k-toolbar-solid",{"k-toolbar-md":!t,[`k-toolbar-${n.kendoThemeMaps.sizeMap[t]||t}`]:t},r),"aria-label":l,"aria-controls":a,role:"toolbar"},o)};bt.displayName="KendoReactGridToolbar";const Ct=e=>{const{data:t=[]}=e;return m.createElement("div",{className:"k-selection-aggregates k-grid-selection-aggregates"},t.map(((e,t)=>m.createElement("div",{key:t},m.createElement("span",{className:"k-selection-aggregates-item-text"},e.type,": "),m.createElement("span",{className:"k-selection-aggregates-item-value"},e.formattedValue)))))};Ct.displayName="KendoReactGridStatusBar";const Et=e=>{var t;const r=e.slice();for(let e=0;e<r.length;e++)for(;r[e]&&null!=(t=r[e].children)&&t.length;)r.splice(e,1,...r[e].children);return r};Object.defineProperty(e,"getSelectedState",{enumerable:!0,get:function(){return l.getSelectedState}}),Object.defineProperty(e,"getSelectedStateFromKeyDown",{enumerable:!0,get:function(){return l.getSelectedStateFromKeyDown}}),Object.defineProperty(e,"setSelectedState",{enumerable:!0,get:function(){return l.setSelectedState}}),e.GRID_COL_INDEX_ATTRIBUTE=ue,e.GRID_PREVENT_SELECTION_ELEMENT=pe,e.GRID_ROW_INDEX_ATTRIBUTE=de,e.Grid=rt,e.GridCell=Ue,e.GridColumn=f,e.GridColumnMenuCheckboxFilter=e=>{const{uniqueData:t=ft.uniqueData}=e,r=(t,r)=>{const n=e.column.field||"",l=t.map((e=>b(n,e)));return r?l.filter(((e,t)=>l.indexOf(e)===t)):l},l=()=>e.filter?n.clone(e.filter):{filters:[],logic:"and"},s=m.useRef((()=>{const t=e.column.field;return l().filters.findIndex((e=>e.filters&&e.filters.length>0&&e.filters[0].field===t))})()),[c,u]=m.useState(e.expanded||!1),[h,g]=m.useState(""),[f,v]=m.useState(r(e.data,t)||[]),[C,E]=m.useState(r(e.data,!1)||[]),[x,k]=m.useState(l());m.useEffect((()=>{const t=e.column.field||"",r=e.data.map((e=>b(t,e)));((e,t)=>e.length===t.length&&e.every(((e,r)=>e===t[r])))(r,C)||(v(r),E(r))}),[e.column,e.data]);const y=()=>void 0!==e.expanded,I=n=>{const l=e.searchBoxFilterOperator?e.searchBoxFilterOperator:"startswith",a={logic:"and",filters:[{field:e.column.field,operator:l,value:n.target.value,ignoreCase:!0}]};g(n.target.value),v(r(p.filterBy(e.data||[],a),t))},S=(t,r)=>{const n=e.column.field||"",l={...x},a=[...x.filters];let o=[];if(-1!==s.current&&l.filters[s.current].filters&&"all"!==r&&(o=l.filters[s.current].filters),t.value&&"all"===r)f.forEach((e=>{o.push({field:n,operator:"eq",value:e})}));else if(t.value)o.push({field:n,operator:"eq",value:r});else if(x){const e=o.findIndex((e=>e.value===r));o.splice(e,1)}l.logic="and",-1!==s.current?a[s.current]={logic:"or",filters:o}:a.push({logic:"or",filters:o}),(!t.value&&"all"===r||0===o.length)&&a.splice(s.current,1),l.filters=a,k(l)},N=a.useLocalization(),{column:w}=e;if(!w||!w.field)return m.createElement("div",null);const R=y()?e.expanded:c,T=[];if(x){const t=[...x.filters];s.current=t.findIndex((e=>!!(e.filters&&e.filters.length>0)&&e.filters[0].field===w.field)),-1!==s.current&&t[s.current].filters.length>0&&t[s.current].filters.forEach((t=>{t.field===e.column.field&&T.push(t.value)}))}const M=e.searchBox?m.createElement(e.searchBox,{value:h,onChange:I}):m.createElement("div",{className:"k-searchbox k-textbox k-input k-input-md k-input-solid"},m.createElement(n.IconWrap,{className:"k-input-icon",name:"search",icon:o.searchIcon}),m.createElement(i.Input,{className:"k-input-inner",type:"text",placeholder:N.toLanguageString(_,oe[_]),value:h,onChange:e=>I(e.nativeEvent)}),m.createElement(d.Button,{type:"button",rounded:null,className:"k-input-button",onClick:()=>{const n=e.searchBoxFilterOperator?e.searchBoxFilterOperator:"startswith",l={logic:"and",filters:[{field:e.column.field,operator:n,value:"",ignoreCase:!0}]};g(""),v(r(p.filterBy(e.data||[],l),t))},icon:"x",svgIcon:o.xIcon})),G=T.filter(((e,t)=>T.indexOf(e)===t));return m.createElement(lt,null,m.createElement(at,{title:N.toLanguageString(W,oe[W]),iconClass:"k-i-filter",svgIcon:o.filterIcon,onClick:()=>{const t=y(),r=!(t?e.expanded:c);e.onExpandChange&&e.onExpandChange(r),t||u(r)}}),m.createElement(ut,{show:!!R},m.createElement("form",{className:"k-filter-menu",onSubmit:t=>{if(t.preventDefault(),!e.onFilterChange)return;const r=x||null;e.onFilterChange(r,t),e.onCloseMenu&&e.onCloseMenu()},onReset:t=>{if(t.preventDefault(),!e.onFilterChange)return;const r=x||null;null!==r&&r.filters.length>0?(s.current>=0&&r.filters.splice(s.current,1),e.onFilterChange(r,t)):e.onFilterChange(null,t),e.onCloseMenu&&e.onCloseMenu()}},m.createElement("div",{className:"k-filter-menu-container"},M,m.createElement("ul",{className:"k-reset k-multicheck-wrap"},m.createElement("li",{className:"k-item k-check-all-wrap"},m.createElement(i.Checkbox,{label:N.toLanguageString(j,oe[j]),onChange:e=>S(e,"all"),checked:(()=>{let e=!1;if(x){const t=[...x.filters];return-1!==s.current&&(e=f.every((e=>!(-1===s.current||!t[s.current].filters)&&t[s.current].filters.findIndex((t=>t.value===e))>=0)),e)}return e})()})),f.map(((e,t)=>m.createElement("li",{className:"k-item",key:t},m.createElement(i.Checkbox,{label:String(e),onChange:t=>S(t,e),checked:G.includes(e)}))))),m.createElement("div",{className:"k-filter-selected-items"},G.length+" "+N.toLanguageString(Y,oe[Y])),m.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},m.createElement(d.Button,{themeColor:"primary",type:"submit"},N.toLanguageString(q,oe[q])),m.createElement(d.Button,{className:"k-button",type:"reset"},N.toLanguageString(K,oe[K])))))))},e.GridColumnMenuColumnsList=vt,e.GridColumnMenuFilter=e=>{const t=m.useCallback((()=>{let t;if(e.column&&e.column.field){const r=Oe(e.column.filter),n=De(e.filterOperators,r);t=mt(e.column.field,e.filter),t=t?{...t,filters:t.filters.map((e=>({...e})))}:{logic:"and",filters:[{field:e.column.field,operator:n,value:we(n)?null:void 0},{field:e.column.field,operator:n,value:we(n)?null:void 0}]},1===t.filters.filter((t=>t.field===e.column.field)).length&&t.filters.splice(1,0,{field:e.column.field,operator:n})}return t}),[e.column]),[r,n]=m.useState(e.expanded||!1),[l,i]=m.useState(t()),s=()=>void 0!==e.expanded,c=(e,t)=>{const r=l.filters.map(((r,n)=>n===e?{...r,value:t.value,operator:t.operator}:r));i({...l,filters:r})},u=()=>({...l,filters:l.filters.filter((e=>void 0!==e.value&&null!==e.value&&""!==e.value||null===e.value&&e.operator))}),{column:p,filterUI:h,hideSecondFilter:g,filterOperators:f}=e,v=a.useLocalization();if(!p||!p.field)return m.createElement("div",null);const b=Oe(p.filter),C=void 0!==g?g:Me[b],E=l.filters,x=Re(f[b],v),k=Re(Te,v),y={field:p.field,value:E[0].value,operator:E[0].operator,operators:x,booleanValues:k,onChange:e=>{c(0,e)},filterType:b},I={field:p.field,value:E[1].value,operator:E[1].operator,operators:x,booleanValues:k,onChange:e=>{c(1,e)},filterType:b},S=l.logic,N=Re(Se,v),w={value:N.find((e=>e.operator===(null===S?"":S))),onChange:e=>{i({...l,logic:e.target.value.operator})},data:N},R=h,T={firstFilterProps:y,secondFilterProps:I,logicData:w.data,logicValue:w.value,onLogicChange:w.onChange,hideSecondFilter:C},M=0!==u().filters.length||we(E[0].operator)||we(E[1].operator),G=s()?e.expanded:r,D=e.alwaysExpand;return m.createElement(lt,null,!D&&m.createElement(at,{title:v.toLanguageString(W,oe[W]),iconClass:"k-i-filter",svgIcon:o.filterIcon,onClick:()=>{const t=s(),l=!(t?e.expanded:r);e.onExpandChange&&e.onExpandChange(l),t||n(l)}}),m.createElement(ut,{show:D||!!G},m.createElement("form",{className:"k-filter-menu",onSubmit:t=>{if(t.preventDefault(),!e.onFilterChange)return;const r=e.column.field,n=gt(e.filter),l=mt(r,e.filter),a=u();let o=null;if(l&&a.filters.length>0){const e=n.filters.map((e=>e===l?a:e));o={...n,filters:e}}else if(0===a.filters.length){const e=n.filters.filter((e=>e!==l));e.length&&(o={...n,filters:e})}else o={...n,filters:[...n.filters,a]};e.onFilterChange(o,t),e.onCloseMenu&&e.onCloseMenu()},onReset:t=>{if(t.preventDefault(),!e.onFilterChange)return;const r=e.column.field,n=gt(e.filter),l=mt(r,e.filter),a=n.filters.filter((e=>e!==l));a.length?e.onFilterChange({...n,filters:a},t):e.onFilterChange(null,t),e.onCloseMenu&&e.onCloseMenu()}},m.createElement("div",{className:"k-filter-menu-container"},R?m.createElement(R,{...T}):m.createElement(ht,{...T}),m.createElement("div",{className:"k-actions k-actions-stretched"},m.createElement(d.Button,{themeColor:"primary",disabled:!M},v.toLanguageString(q,oe[q])),m.createElement(d.Button,{type:"reset"},v.toLanguageString(K,oe[K])))))))},e.GridColumnMenuFilterCell=pt,e.GridColumnMenuFilterUI=ht,e.GridColumnMenuGroup=e=>{const{group:t,column:r}=e,n=a.useLocalization(),l=!!(t&&r.field&&t.find((e=>e.field===r.field))),i=l?F:P;return m.createElement(lt,null,m.createElement(at,{title:n.toLanguageString(i,oe[i]),iconClass:l?"k-i-ungroup":"k-i-group",svgIcon:l?o.ungroupIcon:o.groupIcon,onClick:t=>{if(t.preventDefault(),e.onGroupChange){if(!e.column.field)return;const r=(e.group||[]).slice(),n=r.findIndex((t=>t.field===e.column.field));n>-1?r.splice(n,1):r.push({field:e.column.field}),e.onGroupChange(r,t)}e.onCloseMenu&&e.onCloseMenu()}}))},e.GridColumnMenuItem=at,e.GridColumnMenuItemContent=ut,e.GridColumnMenuItemGroup=lt,e.GridColumnMenuSort=e=>{const t=(t,r)=>{if(t.preventDefault(),!e.onSortChange)return;const{allowUnsort:n,mode:l}=fe(e.sortable||!1,!1),a=(e.sort||[]).filter((t=>t.field===e.column.field))[0],o=it[n][a&&a.dir||""][r],i="single"===l?[]:(e.sort||[]).filter((t=>t.field!==e.column.field));""!==o&&e.column.field&&i.push({field:e.column.field,dir:o}),e.onSortChange(i,t)},{sort:r,column:n}=e,l=st(n.field,r),i=a.useLocalization();return m.createElement(lt,null,m.createElement(at,{title:i.toLanguageString(V,oe[V]),iconClass:"k-i-sort-asc-sm",svgIcon:o.sortAscSmallIcon,selected:ct(l,r),onClick:r=>{t(r,"asc"),e.onCloseMenu&&e.onCloseMenu()}}),m.createElement(at,{title:i.toLanguageString(U,oe[U]),iconClass:"k-i-sort-desc-sm",svgIcon:o.sortDescSmallIcon,selected:dt(l,r),onClick:r=>{t(r,ot),e.onCloseMenu&&e.onCloseMenu()}}))},e.GridColumnMenuWrapper=Ee,e.GridCommonDragLogic=Ve,e.GridDetailRow=e=>null,e.GridEditCell=ge,e.GridFilterCell=Pe,e.GridGroupCell=_e,e.GridHeaderCell=xe,e.GridHierarchyCell=ce,e.GridNoRecords=Xe,e.GridRow=je,e.GridSelectionCell=se,e.GridToolbar=bt,e.StatusBar=Ct,e.booleanFilterValues=Te,e.cellBoolDropdownChange=Le,e.cellInputChange=Ge,e.cellOperatorChange=He,e.filterGroupByField=mt,e.getStatusData=e=>{const{dataItems:t,target:r,selectedField:l}=e,a=Et(r.columns).map((e=>e.field)).filter((e=>e&&"string"==typeof e)).map((e=>n.getter(e))),o=n.getter(l),i={dates:[],numbers:[],booleans:[],others:[]};t.forEach((e=>{const t=o(e);t&&t.forEach((t=>{(e=>{"number"==typeof e?i.numbers.push(e):"boolean"==typeof e?i.booleans.push(e):e instanceof Date?i.dates.push(e):i.others.push(e)})(a[t](e))}))}));const s=i.dates.map((e=>e.getTime())),c=i.booleans.filter((e=>e)).length,d=i.booleans.filter((e=>!e)).length,u=i.numbers.length?i.numbers.reduce(((e,t)=>e+t),0):void 0,p={sum:u,average:"number"==typeof u?u/i.numbers.length:void 0,min:i.numbers.length?Math.min(...i.numbers):void 0,max:i.numbers.length?Math.max(...i.numbers):void 0,count:i.numbers.length+i.booleans.length+i.dates.length+i.others.length,isTrue:c>0?c:void 0,isFalse:d>0?d:void 0,earliest:i.dates.length?new Date(Math.min(...s)):void 0,latest:i.dates.length?new Date(Math.max(...s)):void 0},h=(e,t)=>"sum"!==t&&"average"!==t||"number"!=typeof e?("earliest"===t||"latest"===t)&&e instanceof Date?e.toLocaleDateString():String(e):e.toFixed(2),g=[];return Object.keys(p).forEach((e=>{const t=e,r=p[t];void 0!==r&&g.push({type:t,value:r,formattedValue:h(r,t)})})),g},e.gridMessages=oe,e.isColumnMenuFilterActive=(e,t)=>!!mt(e,t),e.isColumnMenuSortActive=(e,t)=>{const r=st(e,t);return dt(r,t)||ct(r,t)},e.leafColumns=Et,e.operators=Ne,e.pagerFirstPage=M,e.pagerInfo=T,e.pagerItemPerPage=L,e.pagerLastPage=O,e.pagerNextPage=D,e.pagerPreviousPage=G,e.rootFilterOrDefault=gt}));
|
package/package-metadata.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={name:"@progress/kendo-react-grid",productName:"KendoReact",
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={name:"@progress/kendo-react-grid",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate: 1737532721,version:"9.3.1-develop.1",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"};exports.packageMetadata=e;
|
package/package-metadata.mjs
CHANGED
|
@@ -9,9 +9,10 @@
|
|
|
9
9
|
const e = {
|
|
10
10
|
name: "@progress/kendo-react-grid",
|
|
11
11
|
productName: "KendoReact",
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
productCode: "KENDOUIREACT",
|
|
13
|
+
productCodes: ["KENDOUIREACT"],
|
|
14
|
+
publishDate: 1737532721,
|
|
15
|
+
version: "9.3.1-develop.1",
|
|
15
16
|
licensingDocsUrl: "https://www.telerik.com/kendo-react-ui/components/my-license/"
|
|
16
17
|
};
|
|
17
18
|
export {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-react-grid",
|
|
3
|
-
"version": "9.3.
|
|
3
|
+
"version": "9.3.1-develop.1",
|
|
4
4
|
"description": "React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package",
|
|
5
5
|
"author": "Progress",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -18,6 +18,9 @@
|
|
|
18
18
|
"types": "./index.d.ts",
|
|
19
19
|
"default": "./index.js"
|
|
20
20
|
}
|
|
21
|
+
},
|
|
22
|
+
"./package.json": {
|
|
23
|
+
"default": "./package.json"
|
|
21
24
|
}
|
|
22
25
|
},
|
|
23
26
|
"sideEffects": false,
|
|
@@ -25,15 +28,15 @@
|
|
|
25
28
|
"@progress/kendo-data-query": "^1.0.0",
|
|
26
29
|
"@progress/kendo-drawing": "^1.21.2",
|
|
27
30
|
"@progress/kendo-licensing": "^1.3.4",
|
|
28
|
-
"@progress/kendo-react-animation": "9.3.
|
|
29
|
-
"@progress/kendo-react-buttons": "9.3.
|
|
30
|
-
"@progress/kendo-react-common": "9.3.
|
|
31
|
-
"@progress/kendo-react-data-tools": "9.3.
|
|
32
|
-
"@progress/kendo-react-dateinputs": "9.3.
|
|
33
|
-
"@progress/kendo-react-dropdowns": "9.3.
|
|
34
|
-
"@progress/kendo-react-inputs": "9.3.
|
|
35
|
-
"@progress/kendo-react-intl": "9.3.
|
|
36
|
-
"@progress/kendo-react-popup": "9.3.
|
|
31
|
+
"@progress/kendo-react-animation": "9.3.1-develop.1",
|
|
32
|
+
"@progress/kendo-react-buttons": "9.3.1-develop.1",
|
|
33
|
+
"@progress/kendo-react-common": "9.3.1-develop.1",
|
|
34
|
+
"@progress/kendo-react-data-tools": "9.3.1-develop.1",
|
|
35
|
+
"@progress/kendo-react-dateinputs": "9.3.1-develop.1",
|
|
36
|
+
"@progress/kendo-react-dropdowns": "9.3.1-develop.1",
|
|
37
|
+
"@progress/kendo-react-inputs": "9.3.1-develop.1",
|
|
38
|
+
"@progress/kendo-react-intl": "9.3.1-develop.1",
|
|
39
|
+
"@progress/kendo-react-popup": "9.3.1-develop.1",
|
|
37
40
|
"@progress/kendo-svg-icons": "^4.0.0",
|
|
38
41
|
"react": "^16.8.2 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc",
|
|
39
42
|
"react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
|
|
@@ -61,7 +64,13 @@
|
|
|
61
64
|
],
|
|
62
65
|
"@progress": {
|
|
63
66
|
"friendlyName": "Grid",
|
|
64
|
-
"framework": "KendoReact"
|
|
67
|
+
"framework": "KendoReact",
|
|
68
|
+
"package": {
|
|
69
|
+
"productName": "KendoReact",
|
|
70
|
+
"productCode": "KENDOUIREACT",
|
|
71
|
+
"publishDate": 1737532721,
|
|
72
|
+
"licensingDocsUrl": "https://www.telerik.com/kendo-react-ui/components/my-license/"
|
|
73
|
+
}
|
|
65
74
|
},
|
|
66
75
|
"publishConfig": {
|
|
67
76
|
"access": "public"
|