@progress/kendo-react-grid 8.2.0-develop.9 → 8.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Grid.js +1 -1
- package/Grid.mjs +193 -185
- package/cells/GridEditCell.js +1 -1
- package/cells/GridEditCell.mjs +27 -27
- package/dist/cdn/js/kendo-react-grid.js +1 -1
- package/header/FilterRow.js +1 -1
- package/header/FilterRow.mjs +1 -1
- package/header/Header.js +1 -1
- package/header/Header.mjs +8 -6
- package/index.d.mts +27 -9
- package/index.d.ts +27 -9
- package/package-metadata.mjs +1 -1
- package/package.json +10 -10
- package/utils/index.js +1 -1
- package/utils/index.mjs +82 -82
|
@@ -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,i,s,o,a,n,l,c,h,p,d,u){"use strict";function g(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{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 b={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0};function v(e,t){const r=(e||"").split(".");let i=t;return r.forEach((e=>{i=i?i[e]:void 0})),i}function C(e,t,r,i,s,o,a=0){let n=a;for(let l=0;l<t.length;l++){if(!s||void 0===t[l].value||void 0===t[l].items){e[e.length]={dataIndex:i.index,dataItem:t[l],rowType:"data",level:a,expanded:void 0===o||v(o,t[l])},i.index++;continue}n=Math.max(n,a+1);const c=void 0===o||void 0===v(o,t[l])||v(o,t[l]);e[e.length]={dataIndex:-1,dataItem:t[l],level:a,rowType:"groupHeader",expanded:c},c&&(n=Math.max(C(e,t[l].items,r,i,s,o,a+1),n)),("always"===r||c&&"visible"===r)&&(e[e.length]={dataIndex:-1,dataItem:t[l],rowType:"groupFooter",level:a,expanded:c})}return n}function k(e,t,r,i=0){let o=[];if(!e)return[];e&&void 0===e.length&&(e=[e]),e.forEach(((e,a)=>{e=e.props?e.props:e;const n=t[a]||null,l=k(e.children,n&&n.children||[],r,i+1);o.push(Object.assign({depth:i},b,l.length?{cell:()=>null,filterCell:()=>null}:{},n?{width:n.width,orderIndex:n.orderIndex}:{},e,{id:e.id?e.id:s.tableKeyboardNavigationTools.generateNavigatableId(""+r.prevId++,r.idPrefix,"column"),declarationIndex:o.length,children:l,rowSpan:0,colSpan:0,isAccessible:!0,left:n&&Math.floor(n.left),right:n&&Math.floor(n.right)}))}));if(o.sort(((e,t)=>e.orderIndex===t.orderIndex?e.declarationIndex-t.declarationIndex:(e.orderIndex||0)-(t.orderIndex||0))),0===i){let e=[];const t=(r,i)=>r.forEach((r=>{r.parentIndex=i,t(r.children,e.push(r)-1)}));return t(o,-1),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 x=e=>void 0!==e.width?Math.floor(parseFloat(e.width.toString()))+"px":void 0,E=e=>(e.sort(((e,t)=>e.declarationIndex-t.declarationIndex)),e.map((e=>{const{declarationIndex:t,parentIndex:r,depth:i,colSpan:s,rowSpan:o,index:a,kFirst:n,children:l,...c}=e;return l.length?{children:E(l),...c}:c}))),I="undefined"!=typeof window&&/Firefox/.test(window.navigator.userAgent),y=17895697,S=(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},w="grid.noRecords",R="grid.pagerInfo",N="grid.pagerFirstPage",T="grid.pagerPreviousPage",D="grid.pagerNextPage",M="grid.pagerLastPage",F="grid.pagerItemsPerPage",L="grid.groupPanelEmpty",z="grid.groupColumn",G="grid.ungroupColumn",O="grid.columnMenu",H="grid.filterClearButton",P="grid.filterSubmitButton",_="grid.filterTitle",A="grid.sortAscending",K="grid.sortDescending",W="grid.searchPlaceholder",B="grid.filterCheckAll",V="grid.filterChooseOperator",q="grid.filterSelectedItems",U="grid.sortAriaLabel",j="grid.filterAriaLabel",$="grid.groupPanelAriaLabel",X="grid.groupExpand",Y="grid.groupCollapse",J="grid.detailExpand",Q="grid.detailCollapse",Z="grid.selectRow",ee="grid.gridAriaLabel",te={[J]:"Expand detail row",[Q]:"Collapse detail row",[X]:"Expand group",[Y]:"Collapse Group",[w]:"No records available",[L]:"Drag a column header and drop it here to group by that column",[H]:"Clear",[P]:"Filter",[_]:"Filter",[A]:"Sort Ascending",[K]:"Sort Descending",[U]:"Sortable",[z]:"Group Column",[G]:"Ungroup Column",[O]:"Column menu",[F]:"items per page",[R]:"{0} - {1} of {2} items",[N]:"Go to the first page",[T]:"Go to the previous page",[D]:"Go to the next page",[M]:"Go to the last page","grid.pagerPage":"Page","grid.pagerPageSizeAriaLabel":"Page size","grid.pagerOf":"of","grid.pagerTotalPages":"{0}",[W]:"Search",[B]:"Check All",[V]:"Choose Operator",[q]:"selected items",[j]:"Filter",[$]:"Group panel",[ee]:"Table",[Z]:"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 re(e){const t=e.replace(/^pager\.([a-z])/,((e,t)=>"grid.pager"+t.toUpperCase()));return{messageKey:t,defaultMessage:te[t]}}const ie=e=>{const{selectionChange:t,field:r,dataItem:a,id:n,className:l,colSpan:c,style:h,ariaColumnIndex:p,rowType:d,cells:u,render:g}=e,f=o.useLocalization(),b=m.useCallback((e=>{t&&t({syntheticEvent:e})}),[t]),C=i.useId(),k=v(r,a),x=s.useTableKeyboardNavigation(n),E={colSpan:c,style:h,className:i.classNames("k-table-td",l),"aria-colindex":p,role:"gridcell",...x},I="boolean"==typeof k&&k,y=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(Z,te[Z]),"aria-checked":I,checked:I,onChange:b})),S="groupHeader"!==d?m.createElement("td",{...E},y):null,w=d||"data",R=u;if(R&&R.select&&R.select[w]){const t=R.select[w];return m.createElement(t,{...e,tdProps:E},y)}return g?g.call(void 0,S,e):S},se=e=>{let t=null,r=null,n=null;const l=v(e.field,e.dataItem),c=s.useTableKeyboardNavigation(e.id),h=o.useLocalization(),p=m.useCallback((t=>{t.isDefaultPrevented()||t.keyCode===i.Keys.enter&&e.onChange&&(t.preventDefault(),e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:t,field:e.field,value:!l}))}),[e.dataItem,e.dataIndex,e.field,e.onChange,l]);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 s=l?Q:J,o=h.toLanguageString(s,te[s]);r={className:"k-table-td k-hierarchy-cell",onKeyDown:p,"aria-expanded":!!l,role:"gridcell","aria-colindex":e.ariaColumnIndex,...c},n=m.createElement("a",{onClick:t=>{t.preventDefault(),e.onChange&&e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:t,field:e.field,value:!l})},"aria-label":o,href:"#",tabIndex:-1},m.createElement(i.IconWrap,{name:l?"minus":"plus",icon:l?a.minusIcon:a.plusIcon})),t=m.createElement("td",{...r},n)}const d=e.rowType||"data",u=e.cells;if(u&&u.hierarchy&&u.hierarchy[d]){const t=u.hierarchy[d];return m.createElement(t,{...e,tdProps:r},n)}return e.render?e.render.call(void 0,t,e):t},oe=s.TABLE_ROW_INDEX_ATTRIBUTE,ae=s.TABLE_COL_INDEX_ATTRIBUTE,ne=s.TABLE_PREVENT_SELECTION_ELEMENT,le=/^(?!.*\bChrome).*\bSafari/i,ce=e=>{const t=v(e.field,e.dataItem);let r=null;const o=i.classNames("k-table-td","k-grid-edit-cell",{"k-selected":e.isSelected},e.className),a=i.useId(),c=s.useTableKeyboardNavigation(e.id);let h=null,p=null;const d=m.useCallback((t=>{if(e.onChange){const r="checkbox"===t.target.type?t.target.checked:t.target.value;e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,syntheticEvent:t,value:r})}}),[e.onChange,e.dataItem,e.dataIndex,e.field]),u=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]),g=m.useCallback((t=>{e.onChange&&e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,syntheticEvent:t.syntheticEvent,value:t.value})}),[e.onChange,e.dataItem,e.dataIndex,e.field]);switch(e.editor){case"numeric":h={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ae]:e.columnIndex,role:"gridcell",...c},p=m.createElement(n.NumericTextBox,{value:void 0===t?null:t,onChange:g,[s.TABLE_PREVENT_SELECTION_ELEMENT]:!0}),r=m.createElement("td",{...h},p);break;case"date":h={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ae]:e.columnIndex,role:"gridcell",...c},p=m.createElement(l.DatePicker,{value:t,onChange:g,[s.TABLE_PREVENT_SELECTION_ELEMENT]:!0}),r=m.createElement("td",{...h},p);break;case"boolean":h={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ae]:e.columnIndex,role:"gridcell",...c},p=[m.createElement("span",{key:1,className:"k-checkbox-wrap"},m.createElement("input",{checked:t||!1,id:a,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:d})),m.createElement("label",{className:"k-checkbox-label",htmlFor:a,key:2})],r=m.createElement("td",{...h},p);break;default:h={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ae]:e.columnIndex,role:"gridcell",...c},p=m.createElement("input",{style:{width:"100%"},className:"k-input",value:t||"",onChange:d,[s.TABLE_PREVENT_SELECTION_ELEMENT]:!0}),r=m.createElement("td",{...h},p)}const f=e.editor||"text",b=e.cells;if(b&&b.edit&&b.edit[f]){const t=b.edit[f];return m.createElement(t,{...e,tdProps:h},p)}return e.render?e.render.call(void 0,r,e):r};let he=class extends m.Component{constructor(){super(...arguments),this.headerWrap=null,this.table=null,this.syncScroll=!1,this.scrollbarWidth=i.getScrollbarWidth(),this.onScroll=e=>{if(this.syncScroll)return void(this.syncScroll=!1);if(!this.headerWrap)return;const t=this.headerWrap.scrollLeft,r=this.props.scrollableDataElement();r&&r.scrollLeft!==t&&(r.scrollLeft=t)}}get element(){return this.props.elemRef.current}componentDidMount(){const e=s.isRtl(this.element);this.props.columnResize&&this.props.columnResize.setIsRtl(e),this.forceUpdate()}setScrollLeft(e){this.headerWrap&&this.headerWrap.scrollLeft!==e&&(this.syncScroll=!0,this.headerWrap.scrollLeft=e)}setWidth(e){this.table&&(this.table.style.width=e+"px")}render(){return this.props.staticHeaders?m.createElement("div",{ref:this.props.elemRef,className:i.classNames("k-grid-header",{"k-grid-draggable-header":this.props.draggable}),role:"presentation"},m.createElement("div",{ref:e=>{this.headerWrap=e},className:"k-grid-header-wrap",style:this.props.hasScrollbarWidth?{}:{borderWidth:0},onScroll:this.onScroll,role:"presentation"},m.createElement("table",{ref:e=>{this.table=e},className:i.classNames("k-table k-grid-header-table",{"k-table-md":!this.props.size,[`k-table-${i.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),role:"presentation"},m.createElement("colgroup",{ref:e=>{this.props.columnResize.colGroupHeader=e}},this.props.cols),m.createElement("thead",{className:"k-table-thead",role:"rowgroup",...s.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)))):m.createElement("thead",{role:"presentation",className:i.classNames("k-table-thead",{"k-grid-draggable-header":this.props.draggable}),...s.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)}};const pe=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);let de=class extends m.PureComponent{constructor(){super(...arguments),this.draggable=null,this.onPress=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.pressHandler&&this.props.pressHandler(e.event,t)},this.onDrag=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.dragHandler&&this.props.dragHandler(e.event,t)},this.onRelease=e=>{this.draggable&&this.draggable.element&&this.props.releaseHandler&&this.props.releaseHandler(e.event)}}render(){return m.createElement(i.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,hint:this.props.dragClue,autoScroll:{boundaryElementRef:this.props.headerRef,direction:{horizontal:!0,vertical:!1}},scrollContainer:this.props.containerRef||void 0,ref:e=>{this.draggable=e}},m.createElement("tr",{className:"k-table-row",style:{touchAction:"none"},role:"row","aria-rowindex":this.props.ariaRowIndex},this.props.children))}};const ue=[".k-columnmenu-item-content",".k-filter-menu-container"].map((e=>i.TABBABLE_ELEMENTS.map((t=>`${e} ${t}`)))),ge=[[".k-tabstrip-items"],[".k-columnmenu-item"],...ue],me=e=>{const[t,r]=m.useState(!1),s=m.useRef(null),n=m.useRef(null),l=m.useRef(null),h=m.useRef(0),{columnMenu:p,...d}=e,{column:u,columnMenuIcon:g}=e,f=o.useLocalization(),b=u.title||u.field,v=b?`${b} `:"",C=()=>{e.onCloseMenu&&e.onCloseMenu(),r(!1),!e.navigatable&&s.current&&s.current.focus()},k=m.useMemo((()=>void 0!==e.show?e.show:t),[e.show,t]),x=(e,t,r)=>{r.preventDefault(),r.shiftKey?t.focusPrevious(e):t.focusNext(e)},E=(e,t,r)=>{e&&e.click()},I=(e,t,r)=>{r.preventDefault(),C()},y=(e,t,r)=>{r.preventDefault(),t.focusElement(e)};return m.useEffect((()=>(k&&n.current&&(l.current=new i.Navigation({tabIndex:0,root:n,selectors:ge,keyboardEvents:{keydown:{Tab:x,Enter:E,Escape:I}},mouseEvents:{mousedown:y}}),l.current.focusElement(l.current.first,null)),()=>{l.current&&(l.current=null)})),[k]),m.createElement(m.Fragment,null,m.createElement("a",{className:"k-grid-header-menu k-grid-column-menu",ref:s,onClick:i=>{i.preventDefault(),t&&e.onCloseMenu&&e.onCloseMenu(),r(!t)},onKeyDown:e=>{var t;if(e.keyCode===i.Keys.tab){const r=e.target,i=r&&(null==(t=r.closest(".k-grid"))?void 0:t.getElementsByClassName("k-grid-content")[0]);i&&i.scrollWidth>i.clientWidth&&r.scrollIntoView({inline:"center"})}},href:"#",tabIndex:e.navigatable?-1:void 0,"aria-label":`${v}${f.toLanguageString(O,te[O])}`},g?m.createElement(i.IconWrap,{name:g.name,icon:g}):m.createElement(i.IconWrap,{name:"more-vertical",icon:a.moreVerticalIcon})),m.createElement(c.Popup,{anchor:s.current,show:k,popupClass:"k-column-menu k-column-menu-popup k-grid-columnmenu-popup"},m.createElement("div",{ref:n,onBlur:e=>{const t=i.getActiveElement(document);clearTimeout(h.current),h.current=window.setTimeout((()=>{t&&e.relatedTarget!==s.current&&n.current&&!n.current.contains(t)&&C()}))},onFocus:()=>{clearTimeout(h.current)},onMouseDown:e=>{var t;null==(t=l.current)||t.triggerMouseEvent(e)},onKeyDown:e=>{var t;null==(t=l.current)||t.triggerKeyboardEvent(e)},style:{outline:"none"}},p&&m.createElement(p,{...d,onCloseMenu:C}))))};let fe=class extends m.Component{render(){const{columnMenuWrapperProps:e}=this.props,t=this.props.onClick?{onClick:this.props.onClick}:{},r=m.createElement("span",{className:"k-cell-inner"},m.createElement("span",{className:i.classNames("k-link",{"!k-cursor-default":!this.props.columnMenuWrapperProps.sortable}),...t},m.createElement("span",{className:"k-column-title"},this.props.title||this.props.field||" "),this.props.children),e.columnMenu&&m.createElement(me,{...e}));return this.props.render?this.props.render.call(void 0,r,this.props):r}};const be={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},ve={none:"none",asc:"ascending",desc:"descending"},Ce=e=>{const[t,r]=m.useState(),n=o.useLocalization(),l=m.useRef(null);let c=0,h=-1;const p=(t,r)=>{if(t.preventDefault(),!e.sortChange)return;const{allowUnsort:i,mode:s}=pe(e.sortable||!1,r.sortable||!1),o=(e.sort||[]).filter((e=>e.field===r.field))[0],a=be[i][o&&o.dir||""],n="single"===s?[]:(e.sort||[]).filter((e=>e.field!==r.field));""!==a&&r.field&&n.push({field:r.field,dir:a}),e.sortChange(n,t)},d=()=>{r(void 0),l.current&&"-1"!==l.current.getAttribute("tabindex")&&l.current.focus()},u=t=>e.sort?t>=0&&[m.createElement("span",{key:1,className:"k-sort-icon"},m.createElement(i.IconWrap,{name:"sort-"+e.sort[t].dir+"-small",icon:"asc"===e.sort[t].dir?a.sortAscSmallIcon:a.sortDescSmallIcon})),e.sort.length>1&&m.createElement("span",{key:2,className:"k-sort-icon"},m.createElement("span",{className:"k-sort-order"},t+1))]:null,g=o=>o.map((o=>{const a=e.columns[o],g=e.sortable&&a.sortable,f=e.sort?e.sort.findIndex((e=>e.field===a.field)):-1,b=f>=0&&e.sort[f].dir||"none",v=null===a.columnMenu?null:a.columnMenu||e.columnMenu,C=a.menuIcon||e.columnMenuIcon,k=i.classNames({"k-first":a.kFirst,"k-filterable":!!v,"k-table-th":!0,"k-header":!0,"k-grid-header-sticky":a.locked,"k-sorted":e.sort&&e.sort.some((e=>e.field===a.field))},a.headerClassName);!1===a.locked&&(a.left=0);const x=void 0!==a.left?e.isRtl?{left:a.right,right:a.left}:{left:a.left,right:a.right}:{},E=n.toLanguageString(U,te[U]),I=a.isAccessible?{ariaSort:ve[b],role:"columnheader",ariaColumnIndex:a.ariaColumnIndex,ariaSelected:!1,ariaDescription:g?E:""}:{role:"presentation"},y=a.declarationIndex>=0?++h:--c,w=a.headerCell?a.headerCell:fe,R=m.createElement(w,{key:1,field:a.field,onClick:g&&(e=>p(e,a))||void 0,selectionChange:e.selectionChange,title:a.title,selectionValue:a.headerSelectionValue,render:e.cellRender,children:u(f),columnMenuWrapperProps:{column:{field:a.field,title:a.title,locked:a.locked,filter:a.filter,id:a.id},sortable:g&&e.sortable,sort:e.sort,onSortChange:e.sortChange,filter:e.filter,filterable:e.filterable&&a.filterable,filterOperators:e.filterOperators,onFilterChange:e.filterChange,show:t===a.field||void 0,onCloseMenu:d,navigatable:e.navigatable,group:e.group,groupable:e.groupable,onGroupChange:e.groupChange,columnMenu:v,columnMenuIcon:C}}),N={...I,key:y,colSpan:a.colSpan,rowSpan:a.rowSpan,className:k,style:x,columnId:a.id,navigatable:a.navigatable,onKeyDown:t=>((t,s)=>{if(t.isDefaultPrevented())return;const{keyCode:o,metaKey:a,ctrlKey:n,altKey:c}=t,h=e.sortable&&s.sortable,d=t.target;if(h&&t.keyCode===i.Keys.enter&&-1!==d.className.indexOf("k-table-th")&&p(t,s),e.navigatable){if(e.groupable&&(a&&o===i.Keys.enter||n&&o===i.Keys.space)){t.preventDefault();const r=e.columns.findIndex((e=>e.field===s.field));e.columnGroupChange&&e.columnGroupChange(r,t)}c&&o===i.Keys.down&&(t.preventDefault(),r(s.field),l.current=d)}})(t,a),role:"columnheader"},T=[R,e.columnResize&&e.columnResize.resizable&&a.resizable&&m.createElement(s.ColumnResizer,{key:2,resize:(t,r,i)=>e.columnResize&&e.columnResize.dragHandler(t,a,r,i),autofit:t=>e.columnResize&&e.columnResize.dblClickHandler(t,[a.id])})],D=S(e.cells,a.cells);if(D&&D.headerCell){const e=D.headerCell;return m.createElement(e,{...R.props,key:y,thProps:N,index:o},T)}return m.createElement(s.HeaderThElement,{...N,key:y},T)}));return e.columnsMap.map(((t,r)=>e.pressHandler&&m.createElement(de,{key:r,pressHandler:e.pressHandler,dragHandler:e.dragHandler,releaseHandler:e.releaseHandler,ariaRowIndex:r+1,dragClue:e.dragClue,headerRef:e.headerRef,containerRef:e.containerRef},g(t))||m.createElement("tr",{key:r,className:"k-table-row",role:"row","aria-rowindex":r+1},g(t))))},ke=[{text:"grid.filterAndLogic",operator:"and"},{text:"grid.filterOrLogic",operator:"or"}],xe={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"}]},Ee=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,Ie=(e,t)=>e.map((e=>({text:t.toLanguageString(e.text,te[e.text]),operator:e.operator}))),ye=[{text:"grid.filterBooleanAll",operator:""},{text:"grid.filterIsTrue",operator:!0},{text:"grid.filterIsFalse",operator:!1}],Se={text:!1,numeric:!1,date:!1,boolean:!0},we=(e,t,r)=>{const i=Re(r.operators);let s=r.operator;switch(r.filterType){case"numeric":case"date":(!s||Ee(s))&&(s=i),null===e&&s===i&&(s="");break;case"text":(!s||Ee(s))&&(s=i),!e&&s===i&&(s="");break;default:return}r.onChange({value:e,operator:s,syntheticEvent:t})},Re=(e,t)=>t?e[t][0].operator:e[0].operator,Ne=e=>e||"text",Te=(e,t)=>{const r=e.target.value;t({value:r.operator,operator:""===r.operator?"":"eq",syntheticEvent:e.syntheticEvent})},De=(e,t,r)=>{let i=t;const s=e.target.value;e.target.state.opened&&(Ee(s.operator)&&(i=null),null===t&&!Ee(s.operator)&&(i=void 0),r({value:i,operator:s.operator,syntheticEvent:e.syntheticEvent}))};class Me extends m.Component{constructor(e){super(e),this._inputRef=m.createRef(),this.renderOperatorEditor=e=>{if("boolean"===this.props.filterType)return;const t=this.props.operators.find((e=>e.operator===this.props.operator))||null;return m.createElement(p.DropDownList,{size:this.props.size,value:t,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter k-icon",svgIcon:a.filterIcon,data:this.props.operators,textField:"text",title:e.toLanguageString(V,te[V]),popupSettings:{width:""}})},this.inputChange=this.inputChange.bind(this),this.clear=this.clear.bind(this),this.operatorChange=this.operatorChange.bind(this),this.boolDropdownChange=this.boolDropdownChange.bind(this)}render(){const e=o.provideLocalizationService(this),t=m.createElement("div",{className:"k-filtercell"},m.createElement("div",{className:"k-filtercell-wrapper"},this.filterComponent(this.props.filterType,this.props.value,this.props.booleanValues),m.createElement("div",{className:"k-filtercell-operator"},this.renderOperatorEditor(e)," ",m.createElement(h.Button,{size:this.props.size,icon:"filter-clear",svgIcon:a.filterClearIcon,className:i.classNames({"k-clear-button-visible":!!(null!==this.props.value&&""!==this.props.value||this.props.operator)}),title:e.toLanguageString(H,te[H]),type:"button",onClick:this.clear,disabled:!(null!==this.props.value&&""!==this.props.value||this.props.operator)}))));return this.props.render?this.props.render.call(void 0,t,this.props):t}inputChange(e,t){we(e,t,this.props)}operatorChange(e){De(e,this.props.value,this.props.onChange)}boolDropdownChange(e){Te(e,this.props.onChange)}clear(e){e.preventDefault(),this.props.onChange({value:"",operator:"",syntheticEvent:e}),this._inputRef.current&&(this._inputRef.current.element.value="",setTimeout((()=>{this._inputRef.current.element.focus()}),0))}filterComponent(e,t,r){switch(e){case"numeric":return m.createElement(n.NumericTextBox,{ref:this._inputRef,size:this.props.size,value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)},title:this.props.title,ariaLabel:this.props.ariaLabel});case"date":return m.createElement(l.DatePicker,{ref:this._inputRef,size:this.props.size,value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)},title:this.props.title,ariaLabel:this.props.ariaLabel});case"boolean":{const e=e=>null==e;return m.createElement(p.DropDownList,{ref:this._inputRef,size:this.props.size,onChange:this.boolDropdownChange,value:r.find((r=>r.operator===(e(t)?"":t))),data:r,textField:"text",title:this.props.title,ariaLabel:this.props.ariaLabel})}default:return m.createElement(n.TextBox,{ref:this._inputRef,size:this.props.size,value:t||"",onChange:e=>{this.inputChange(e.target.value,e.syntheticEvent)},title:this.props.title,"aria-label":this.props.ariaLabel})}}}o.registerForLocalization(Me);let Fe=class extends m.Component{headerCellClassName(e,t){let r=""+(t?"k-grid-header-sticky":"");return this.props.sort&&this.props.sort.filter((t=>t.field===e)).length>0&&(r+=" k-sorted"),r}setFilter(e,t,r,i){if(!this.props.filterChange)return;const s=[];(""!==e&&null!==e||""!==t)&&s.push({field:r,operator:t,value:e}),this.props.filter&&this.props.filter.filters&&(this.props.filter.filters||[]).forEach((e=>{const t=e;t&&t.field!==r&&s.push(t)}));const o=this.props.filter&&this.props.filter.logic?this.props.filter.logic:"and";this.props.filterChange(s.length>0?{logic:o,filters:s}:null,i)}render(){const e=o.provideLocalizationService(this),t=this.props.filter&&this.props.filter.filters||[];let r=0,a=-1;const n=this.props.columns.filter((e=>0===e.children.length)).map((o=>{const n=Ne(o.filter),l=(e=>{if(void 0===e)return;const r=t.filter((t=>t.field===e));return r.length?r[0]:void 0})(o.field),c=o.filterable?e.toLanguageString(j,te[j]):void 0;let h=l&&l.value;void 0===h&&(h="text"===n?"":null);const p=o.filterable&&{render:this.props.cellRender,field:o.field,title:o.filterTitle,value:h,operator:l&&l.operator,operators:Ie(this.props.filterOperators[n]||[],e),booleanValues:Ie(ye,e),filterType:n,ariaLabel:c,onChange:e=>{this.setFilter(e.value,e.operator,o.field,e.syntheticEvent)}},d=o.declarationIndex>=0?++a:--r,u={ariaLabel:c,ariaColumnIndex:o.ariaColumnIndex},g=void 0!==o.left?this.props.isRtl?{left:o.right,right:o.left}:{left:o.left,right:o.right}:{},f={columnId:s.tableKeyboardNavigationTools.getFilterColumnId(o.id),navigatable:o.navigatable,style:g,className:i.classNames("k-table-th",this.headerCellClassName(o.field,o.locked)||void 0),role:"columnheader",...u},b=p&&(o.filterCell?m.createElement(o.filterCell,{...p}):m.createElement(Me,{size:this.props.size,...p})),v=S(this.props.cells,o.cells);if(v&&v.filterCell){const e=v.filterCell;return m.createElement(e,{key:d,...p,thProps:f,index:a},b)}return m.createElement(s.HeaderThElement,{key:d,...f},b)}));return m.createElement("tr",{className:"k-table-row k-filter-row","aria-rowindex":this.props.ariaRowIndex,role:"row"},n)}};o.registerForLocalization(Fe);class Le extends m.Component{constructor(){super(...arguments),this.draggable=null,this.onPress=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.onPress&&this.props.onPress(e.event,t)},this.onDrag=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.onDrag&&this.props.onDrag(e.event,t)},this.onRelease=e=>{this.draggable&&this.draggable.element&&this.props.onRelease&&this.props.onRelease(e.event)},this.sortChange=e=>{if(e.preventDefault(),this.props.onSortChange){const t="asc"===this.props.dir?"desc":"asc";this.props.onSortChange(e,t)}},this.handleKeyDown=e=>{(e.keyCode===i.Keys.delete||e.keyCode===i.Keys.backspace)&&(e.preventDefault(),e.stopPropagation(),this.props.onRemove&&this.props.onRemove(e))},this.groupRemove=e=>{e.preventDefault(),e.stopPropagation(),this.props.onRemove&&this.props.onRemove(e)},this.onContextMenu=e=>{const t={title:this.props.title,dir:this.props.dir,index:this.props.index};this.props.onContextMenu&&this.props.onContextMenu.call(void 0,e,{dataItem:{...t}})}}render(){const{dir:e}=this.props;return m.createElement(i.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:e=>{this.draggable=e}},m.createElement("div",{className:"k-chip k-chip-md k-chip-solid k-chip-solid-base k-rounded-md",onClick:this.sortChange,onContextMenu:this.onContextMenu,onKeyDown:this.handleKeyDown,tabIndex:0,role:"button",style:{touchAction:"none"}},m.createElement("span",null,m.createElement(i.IconWrap,{name:"sort-"+e+"-small",icon:"asc"===e?a.sortAscSmallIcon:a.sortDescSmallIcon,size:"small"})),m.createElement("span",{className:"k-chip-content"},this.props.title),m.createElement("span",{className:"k-chip-actions"},m.createElement("span",{className:"k-chip-action k-chip-remove-action",onClick:this.groupRemove},m.createElement(i.IconWrap,{name:"x-circle",icon:a.xCircleIcon,size:"small"})))))}}o.registerForLocalization(Le);class ze extends m.Component{constructor(){super(...arguments),this.onGroupRemove=(e,t)=>{const r=this.props.group.slice();r.splice(t,1),this.props.groupChange(r,e)},this.onGroupSortChange=(e,t,r,i)=>{const s=Object.assign({},r,{dir:i}),o=this.props.group.slice();o.splice(t,1,s),this.props.groupChange(o,e)}}render(){const e=(this.props.group||[]).map(((e,t)=>m.createElement(Le,{key:t,index:t,dir:e.dir||"asc",title:this.props.resolveTitle(e.field),onRemove:e=>{this.onGroupRemove(e,t)},onSortChange:(r,i)=>{this.onGroupSortChange(r,t,e,i)},onPress:this.props.pressHandler,onDrag:this.props.dragHandler,onRelease:this.props.releaseHandler,onContextMenu:this.props.onContextMenu})));return m.createElement("div",{ref:this.props.refCallback,className:"k-grouping-header",role:"toolbar","aria-label":o.provideLocalizationService(this).toLanguageString($,te[$]),"aria-controls":this.props.ariaControls||""},m.createElement("div",{className:"k-chip-list k-chip-list-md",role:"none"},e),m.createElement("div",{className:"k-grouping-drop-container"},!e.length&&o.provideLocalizationService(this).toLanguageString(L,te[L])," "))}}o.registerForLocalization(ze);let Ge=class extends m.Component{constructor(){super(...arguments),this.footerWrap=null,this.table=null}componentDidMount(){this.setState({})}setScrollLeft(e){this.footerWrap&&(this.footerWrap.scrollLeft=e)}setWidth(e){this.table&&(this.table.style.width=e+"px")}render(){return this.props.staticHeaders?m.createElement("div",{className:"k-grid-footer",role:"presentation"},m.createElement("div",{ref:e=>{this.footerWrap=e},className:"k-grid-footer-wrap",style:this.props.hasScrollbarWidth?{}:{borderWidth:0},role:"presentation"},m.createElement("table",{ref:e=>{this.table=e},className:i.classNames("k-table k-grid-footer-table",{"k-table-md":!this.props.size,[`k-table-${i.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),role:"presentation"},m.createElement("colgroup",{ref:e=>{this.props.columnResize.colGroupFooter=e},role:"presentation"},this.props.cols),m.createElement("tfoot",{className:"k-table-tfoot",role:"presentation"},this.props.row)))):m.createElement("tfoot",{className:"k-table-tfoot"},this.props.row)}},Oe=class{constructor(e){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.tableBodyRef=m.createRef(),this.fixedScroll=!1,this.askedSkip=void 0,this.containerRef=m.createRef(),this.tableTransform="",this.prevScrollPos=0,this.tableTranslate=0,this.scrollSyncing=!1,this.reactVersion=Number.parseFloat(m.version),this.topItems=(e,t)=>{if(!this.container||t)return{topItemsCount:0,topItemsHeight:0};const r=this.container.clientHeight,i=Math.ceil(r/e[0].line),s=Math.ceil((e.length-i)/2);let o=0;for(let t=0;t<s;t++)o+=e[t].line+e[t].acc;return{topItemsCount:s,topItemsHeight:o,itemsNeededOnScreen:i+i/2}},this.horizontalScrollbarHeight=()=>this.container?this.container.offsetHeight-this.container.clientHeight:0,e&&(this.topCacheCount=4,this.attendedSkip=-this.topCacheCount),this.scrollHandler=this.scrollHandler.bind(this)}get container(){return this.containerRef.current}get rowHeights(){const e=[],t=this.tableBodyRef.current&&this.tableBodyRef.current.children||[];let r=0;for(let i=0;i<t.length;i++)t[i].className.indexOf("k-grouping-row")>-1?r+=t[i].scrollHeight:t[i].className.indexOf("k-detail-row")>-1?e[e.length-1].line+=t[i].scrollHeight:(e.push({line:t[i].scrollHeight,acc:r}),r=0);return e}changePage(e,t){this.attendedSkip=e-this.topCacheCount,this.PageChange&&this.PageChange({skip:Math.max(0,e-this.topCacheCount),take:this.pageSize},t)}translate(e,t){this.tableTranslate=e,this.scrollableVirtual&&this.table&&(this.reactVersion<=17||t?this.table.style.transform="translateY("+e+"px)":this.tableTransform="translateY("+e+"px)")}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0,!0))}localScrollUp(e){if(!this.container)return;const t=this.rowHeights,r=this.container.scrollTop;let i=this.tableTranslate,s=0;const{topItemsCount:o,topItemsHeight:a,itemsNeededOnScreen:n}=this.topItems(t,!!this.topCacheCount),l=r-i;if(!(l>a||t.length<=n)){for(;s<this.topCacheCount+this.attendedSkip-this.realSkip+o&&this.propsSkip-s>0&&!(i+(t[t.length-1-s].line+t[t.length-1-s].acc)+l<=r);)i-=t[t.length-1-s].line+t[t.length-1-s].acc,s++;if(0===s&&0===this.topCacheCount&&this.attendedSkip>0&&(i=Math.max(i-t[0].line,0),s=1),this.propsSkip-s<=0&&i>r)return this.translate(0),this.changePage(0,e),void(this.container.scrollTop=0);if(i>r&&(i=r),i!==this.tableTranslate){this.translate(Math.max(0,i-a));const t=Math.max(0,this.propsSkip-s-o);this.changePage(t,e)}}}localScrollDown(e){if(!this.container)return;const t=this.rowHeights,r=this.container.scrollTop;let i=this.tableTranslate,s=0;const{topItemsCount:o,topItemsHeight:a,itemsNeededOnScreen:n}=this.topItems(t,!!this.topCacheCount);for(;s<t.length-this.topCacheCount&&!(i+t[s].line+t[s].acc>r);)i+=t[s].line+t[s].acc,s++;o>this.propsSkip+s||t.length<=n||(s>=t.length-this.topCacheCount&&this.propsSkip+s>=this.total?(this.translate(i-a),this.changePage(this.total-1-o,e)):i!==this.tableTranslate&&this.propsSkip+s-o!==this.propsSkip&&(this.translate(i-a),this.changePage(this.propsSkip+s-o,e)))}scrollNonStrict(e){const t=this.total*this.prevScrollPos/this.containerHeight;let r=Math.floor(t);r>=this.total&&(r=this.total-1);const i=Math.min(t-r,1);let s=0;const o=r-this.propsSkip,a=this.rowHeights;o>=0&&o<=1?s=-(a[0].line+a[0].acc)*i:-1===o&&(s=-(a[a.length-1].line+a[a.length-1].acc)*i);const{topItemsCount:n,topItemsHeight:l}=this.topItems(a,!!this.topCacheCount);this.translate(Math.max(0,s-l-this.horizontalScrollbarHeight()+this.containerHeight*t/this.total)),this.changePage(r-n,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}},He=class{constructor(e){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.tableBodyRef=m.createRef(),this.fixedScroll=!1,this.askedSkip=void 0,this.containerRef=m.createRef(),this.tableTransform="",this.scrollSyncing=!1,this.lastLoaded=0,this.firstLoaded=0,this.lastScrollTop=0,this.reactVersion=Number.parseFloat(m.version),this.firstLoaded=this.pageSize,this.lastLoaded=this.realSkip+this.pageSize,this.scrollHandler=this.scrollHandler.bind(this)}get container(){return this.containerRef.current}translate(e,t){this.scrollableVirtual&&this.table&&(I||this.reactVersion<=17||t?this.table.style.transform="translateY("+e+"px)":this.tableTransform="translateY("+e+"px)")}changePage(e,t){this.PageChange&&this.PageChange({skip:Math.max(0,e),take:this.pageSize},t)}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0,!0))}scrollHandler(e){if(!(this.scrollableVirtual&&this.container&&this.table&&this.rowHeightService&&this.containerRef.current))return;if(this.scrollSyncing)return void(this.scrollSyncing=!1);const t=this.container.scrollTop,r=this.lastScrollTop>=t,i=!r;this.lastScrollTop=t;let s=this.rowHeightService.index(t),o=this.rowHeightService.offset(s);const{offsetHeight:a}=this.containerRef.current,n=this.rowHeightService.index(t+a);if(i&&n>=this.lastLoaded&&this.lastLoaded<this.total){const t=s+this.pageSize-this.total;t>0&&(s-=t,o=this.rowHeightService.offset(s)),this.firstLoaded=s,this.translate(o);const r=this.firstLoaded+this.pageSize;this.lastLoaded=Math.min(r,this.total),this.changePage(this.firstLoaded,e)}else if(r&&s<this.firstLoaded){const t=Math.floor(.3*this.pageSize);this.firstLoaded=Math.max(s-t,0),this.translate(this.rowHeightService.offset(this.firstLoaded)),this.lastLoaded=Math.min(this.firstLoaded+this.pageSize,this.total),this.changePage(this.firstLoaded,e)}}},Pe=class{constructor(e){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=e=>{this.isRtl=e},this.dragHandler=(e,t,r,i)=>{const s=e.originalEvent;i||(s.preventDefault(),s.stopPropagation(),s.stopImmediatePropagation());const o=r.closest("th");if(!o||!o)return;const a=o.clientWidth;let n=a;if(this.isRtl?n+=r.getBoundingClientRect().right-r.offsetWidth/2-e.clientX:n+=e.clientX-r.getBoundingClientRect().left-r.offsetWidth/2,!i&&Math.abs(n-a)<1)return;this.fixateInitialWidths(o.parentElement.clientWidth),this.setWidths(t,Math.floor(n)/a);const l=this.columns.filter((e=>!e.children.length)).findIndex((e=>e.id===t.id));this.onResize(l,a,n,s,i,t.id)},this.dblClickHandler=(e,t)=>{const r=this.columns.filter((e=>t.indexOf(e.id)>-1));if(!this.colGroupMain||!r.length)return;const i={},s=r;for(;s.length>0;){const e=s.pop();if(!e)break;e.children.length?s.push(...e.children):i[e.id]=e}const o=this.columns.filter((e=>!e.children.length)),a=[];o.forEach(((e,t)=>{i[e.id]&&a.push(t)}));const n=[this.colGroupMain.parentElement],l=[this.colGroupMain];this.colGroupHeader&&(n.push(this.colGroupHeader.parentElement),l.push(this.colGroupHeader)),this.colGroupFooter&&(n.push(this.colGroupFooter.parentElement),l.push(this.colGroupFooter)),n.forEach((e=>e.classList.add("k-autofitting")));let c=[];l.forEach((e=>{a.forEach((t=>{e.children[t]&&(e.children[t].width="",c[t]=Math.max(c[t]||0,e.children[t].offsetWidth+1))}))})),l.forEach((e=>{a.forEach((t=>{e.children[t]&&(e.children[t].width=c[t]+"px",o[t].width=c[t])}))})),n.forEach((e=>e.classList.remove("k-autofitting"))),this.onResize(a[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 i=0;i<e.length;i++){const s=e[i],o=t.findIndex((e=>e.id===s.id)),a=parseFloat((s.width||0).toString()),n=Math.floor(a);r+=a-n;const l=n+Math.floor(r);if(r-=Math.floor(r),this.colGroupMain&&this.colGroupMain.children[o]){const e=parseInt(this.colGroupMain.children[o].width,10);this.colGroupMain.children[o].width=l+"px",this.updateNextLockedCol(this.colGroupMain.parentElement,s,e-l)}if(this.colGroupHeader&&this.colGroupHeader.children[o]){const e=parseInt(this.colGroupHeader.children[o].width,10);this.colGroupHeader.children[o].width=l+"px",this.updateNextLockedCol(this.colGroupHeader.parentElement,s,e-l)}if(this.colGroupFooter&&this.colGroupFooter.children[o]){const e=parseInt(this.colGroupFooter.children[o].width,10);this.colGroupFooter.children[o].width=l+"px",this.updateNextLockedCol(this.colGroupFooter.parentElement,s,e-l)}}},this.onResize=e}fixateInitialWidths(e){const t=this.columns.filter((e=>!e.children.length));let r=0,i=this.colGroupMain?this.colGroupMain.children:[];for(let t=0;t<i.length;t++)i[t].width?e-=parseFloat(i[t].width):r++;if(0===r)return;const s=Math.floor(e/r);for(let e=0;e<i.length;e++){const r=i[e];r.width||(r.width=s,t[e].width=s.toString(),this.colGroupHeader&&(this.colGroupHeader.children[e].width=s),this.colGroupFooter&&(this.colGroupFooter.children[e].width=s))}}setWidths(e,t){const r=this.columns.findIndex((t=>t.id===e.id)),i=[];let s=e.children.length;for(let e=r+1;s>0&&e<this.columns.length;e++,s--){const t=this.columns[e];t.children.length?s+=t.children.length:i.push(t)}return 0===i.length&&i.push(e),i.forEach((e=>{let r=e.width?parseFloat(e.width.toString())*t:0;const i=void 0===e.minResizableWidth?10:e.minResizableWidth;r<i&&(r=i),e.width=r})),this.updateColElements(i),i}updateNextLockedCol(e,t,r){const i=t.index,s=this.colGroupMain.parentElement.closest(".k-grid"),o=null==s?void 0:s.clientWidth,a=this.columns.filter((e=>e.locked)).map((e=>parseInt(e.width+"",10))).reduce(((e,t)=>e+t),0);!t.locked||o<=a+20||this.columns.forEach((t=>{if(null!=t&&t.locked&&r){const s=null==e?void 0:e.querySelectorAll('[aria-colindex="'+t.ariaColumnIndex+'"]');null==s||s.forEach((e=>{const s=e.style;this.isRtl?(t.index>i&&s&&s.right&&(s.right=parseInt(s.right,10)-r+"px"),t.index<i&&s&&s.left&&(s.left=parseInt(s.left,10)-r+"px")):(t.index>i&&s&&s.left&&(s.left=parseInt(s.left,10)-r+"px"),t.index<i&&s&&s.right&&(s.right=parseInt(s.right,10)-r+"px"))}))}}))}},_e=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 i=this.currentColumn>=0?t.children[this.columns[this.currentColumn].index]:this.isTargetGroupingContainer(e)?e.originalEvent.target:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(e,t,i,r),this.updateDropElementClue(e,t,i,r)},this.releaseHandler=e=>{const t=this.startColumn,r=this.currentColumn,i=this.startGroup,s=this.currentGroup;e.originalEvent.preventDefault(),this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const o=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,o&&(t>=0&&r>=0?this.columnReorder(t,r,e.originalEvent):i>=0&&s>=0?this.groupReorder(i,s,e.originalEvent):t>=0&&s>=0&&this.columnToGroup(t,s,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=s.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 s.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,i){if(!this.dragElementClue)return;const s=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:s,status:i||!r?"k-i-cancel":"k-i-plus"})}updateDropElementClue(e,t,r,i){if(!this.dropElementClue)return;if(i||!r)return void this.dropElementClue.setState({visible:!1});const s=r.getBoundingClientRect(),o=(r.closest(".k-grouping-header")||r).getBoundingClientRect();let a=s.left+e.pageX-e.clientX-6;!this.isTargetGroupingContainer(e)&&(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&-1!==this.startGroup)&&(a+=s.width);const n=o.top+e.pageY-e.clientY;this.dropElementClue.setState({visible:!0,top:n,left:a,height:this.currentColumn>=0?t.clientHeight:o.height})}};const Ae=e=>{let t=null;const r=o.useInternationalization(),a=s.useTableKeyboardNavigation(e.id),n=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]);let l=null,c=null;if("groupFooter"===e.rowType)l={onContextMenu:n,className:e.className,...a},t=m.createElement("td",{...l});else if("groupHeader"!==e.rowType){if(void 0!==e.field){const t=v(e.field,e.dataItem);null!=t&&(c=e.format?r.format(e.format,t):t.toString())}const s=i.classNames("k-table-td",e.className,{"k-selected":e.isSelected});l={onContextMenu:n,colSpan:e.colSpan,style:e.style,className:s,role:"gridcell","aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ae]:e.columnIndex,...a},t=m.createElement("td",{...l},c)}const h=e.rowType||"data",p=e.cells;if(p&&p[h]){const t=p[h];return m.createElement(t,{...e,tdProps:l},c)}return e.render?e.render.call(void 0,t,e):t},Ke=e=>{let t=null;const{columnIndex:r,level:n,columnsCount:l,rowType:c,dataItem:h,field:p,onChange:d,expanded:u,render:g,dataIndex:f,ariaColumnIndex:b,isRtl:v}=e,C=p||"",k=s.useTableKeyboardNavigation(e.id),x=o.useLocalization();let E=null,I=null,y=null;const S=m.useCallback((e=>{e.isDefaultPrevented()||e.keyCode===i.Keys.enter&&d&&(e.preventDefault(),d({dataItem:h,dataIndex:f,syntheticEvent:e,field:void 0,value:!u}))}),[u,d,h,f]),w=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]),R=(t,r)=>{const s=u?Y:X,o=x.toLanguageString(s,te[s]);return E={className:"k-table-td",style:{...e.style,...r},colSpan:t,key:"g-colspan",role:"gridcell","aria-selected":!1,"aria-expanded":u,"aria-colindex":b,onKeyDown:S,onContextMenu:w,...k},y=m.createElement("p",{className:"k-reset"},m.createElement("a",{onClick:e=>{e.preventDefault(),d&&d({dataItem:h,dataIndex:f,syntheticEvent:e,field:void 0,value:!u})},href:"#",tabIndex:-1,"aria-label":o},m.createElement(i.IconWrap,{name:u?"caret-alt-down":v?"caret-alt-left":"caret-alt-right",icon:u?a.caretAltDownIcon:v?a.caretAltLeftIcon:a.caretAltRightIcon})),h[C]instanceof Date&&h[C].toString?h[C].toString():h[C]),m.createElement("td",{...E,key:E.key},y)};void 0===r||void 0===n||r<n||void 0===l||"groupHeader"!==c||void 0===h[C]?(E={style:e.style,key:"g"+r,className:i.classNames("k-table-td","k-group-cell",{"k-grid-content-sticky":e.locked}),role:"gridcell",onContextMenu:w,...k},t=m.createElement("td",{...E,key:E.key})):r<=n&&!e.locked?t=R(l-r,{}):r<=n&&e.locked&&(I={className:"k-table-td",role:"gridcell",colSpan:l-r,style:{borderLeftWidth:0,borderRightWidth:0},onContextMenu:w},t=m.createElement(m.Fragment,null,R(0,{position:"sticky",zIndex:2}),m.createElement("td",{...I})));const N=e.rowType||"data",T=e.cells;if(T&&T.group&&T.group[N]){const t=T.group[N];return m.createElement(t,{...e,tdProps:E,td2Props:I},y)}return g?g.call(void 0,t,e):t};let We=class extends m.Component{render(){const e=i.classNames("k-table-row",{"k-table-group-row k-grouping-row":"groupHeader"===this.props.rowType,"k-group-footer":"groupFooter"===this.props.rowType,"k-master-row":"groupHeader"!==this.props.rowType&&"groupFooter"!==this.props.rowType,"k-table-alt-row k-alt":"groupHeader"!==this.props.rowType&&"groupFooter"!==this.props.rowType&&this.props.isAltRow,"k-selected":this.props.isSelected,"k-grid-edit-row":this.props.isInEdit}),t=m.createElement("tr",{id:this.props.id,onClick:this.props.onClick,onDoubleClick:this.props.onDoubleClick,className:e,style:{height:this.props.rowHeight?this.props.rowHeight+"px":"",visibility:this.props.isHidden?"hidden":""},role:"row","aria-rowindex":this.props.ariaRowIndex,"absolute-row-index":this.props.absoluteRowIndex,key:this.props.absoluteRowIndex,[oe]:"data"===this.props.rowType?this.props.dataIndex:void 0},this.props.children);return this.props.render?this.props.render.call(void 0,t,this.props):t}},Be=class extends m.Component{get _inputId(){return this.props.id}render(){const e=o.provideLocalizationService(this),{columnMenuWrapperProps:t}=this.props,r=[m.createElement("span",{key:0,className:"k-checkbox-wrap"},m.createElement("input",{id:this._inputId,type:"checkbox",tabIndex:-1,className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":e.toLanguageString(Z,te[Z]),"aria-checked":this.props.selectionValue,checked:this.props.selectionValue,onChange:e=>this.props.selectionChange({field:this.props.field,syntheticEvent:e})})),t.columnMenu&&m.createElement(me,{...t})];return this.props.render?this.props.render.call(void 0,r,this.props):r}};o.registerForLocalization(Be);const Ve=i.withIdHOC(Be),qe=class extends m.Component{render(){return this.props.children||o.provideLocalizationService(this).toLanguageString(w,te[w])}};qe.displayName="KendoReactGridNoRecords";let Ue=qe;o.registerForLocalization(Ue);const je=e=>{const{column:t,index:r,isRtl:o,id:a,cells:n}=e,l=s.useTableKeyboardNavigation(a),c={colSpan:1!==t.colSpan?t.colSpan:void 0,style:void 0!==t.left?o?{left:t.right,right:t.left}:{left:t.left,right:t.right}:{},className:i.classNames("k-table-td",t.locked&&void 0!==t.left?"k-grid-footer-sticky":""),key:r,role:"gridcell","aria-colindex":t.ariaColumnIndex,...l},h={field:t.field,ariaColumnIndex:t.ariaColumnIndex,...c},p=S(n,t.cells);if(p&&p.footerCell){const e=p.footerCell;return m.createElement(e,{...h,tdProps:c,index:r})}return t.footerCell&&m.createElement(t.footerCell,{...h,key:r})||m.createElement("td",{...c})},$e=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 i=s.tableKeyboardNavigationTools.generateNavigatableId(`${r}-footercell`,e.idPrefix,"nodata");return m.createElement(je,{key:i,column:t,id:i,index:r,cells:e.cells,isRtl:e.isRtl})}))),Xe=e=>(({buttonCount:e=10,info:t=!0,type:r="numeric",pageSizes:i,previousNext:s=!0,responsive:o,navigatable:a,pageSizeValue:n})=>({buttonCount:e,info:t,pageSizes:!0===i?[5,10,20]:i||void 0,previousNext:s,responsive:!1!==o,navigatable:!1!==a,type:r,pageSizeValue:n}))(!0===e?{}:e),Ye={name:"@progress/kendo-react-grid",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},Je=e=>{const{colSpan:t,ariaColIndex:r,dataItem:i,dataIndex:o,id:a}=e,n=s.useTableKeyboardNavigation(a),l=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem)}),[e.onContextMenu,e.dataItem]);return m.createElement("td",{onContextMenu:l,className:"k-table-td k-detail-cell",colSpan:t,"aria-colindex":r,role:"gridcell",...n},m.createElement(e.detail,{dataItem:i,dataIndex:o}))},Qe=e=>m.createElement("td",{className:"k-table-td k-hierarchy-cell",role:"gridcell"}),Ze=class extends m.Component{constructor(e){super(e),this._columns=[],this._columnsMap=[[]],this._columnsMutations=0,this._resized=!1,this._focusFirst=!1,this._shouldUpdateLeftRight=!0,this._scrollbarWidth=void 0,this.contextStateRef={current:void 0},this.navigationStateRef={current:void 0},this._data=[],this._slicedData=void 0,this.wrapperScrollTop=0,this.showLicenseWatermark=!1,this.headerRef=m.createRef(),this.headerElementRef=m.createRef(),this._element=null,this.tableElement=null,this.containerRef=m.createRef(),this.tableBodyRef=m.createRef(),this._footer=null,this.forceUpdateTimeout=void 0,this.isRtl=!1,this.headTable=null,this.observer=null,this.handleIntersection=e=>{const t={rowIndex:this.rowIndex};e.forEach((e=>{e.isIntersecting||this.setCurrentOnTop(t)}))},this.setCurrentOnTop=e=>{if(!this.vs.container||"none"===this.props.scrollable)return;this.observer&&this.observer.disconnect();const{rowIndex:t}=e;if("virtual"===this.props.scrollable)this.vs.askedSkip=t,this.vs.container.scroll(0,Math.round(this.vs.askedSkip/this.vs.total*this.vs.container.scrollHeight));else if(this.element){const e=t<1?this.element.querySelector("tbody > tr:nth-child(1)"):this.element.querySelector(`tbody > tr:nth-child(${t+1})`);e&&this.containerRef.current&&(this.containerRef.current.scrollTop=e.offsetTop)}},this.scrollIntoView=e=>{if(!this.vs.container||"none"===this.props.scrollable)return;this.rowIndex=e.rowIndex;const{rowIndex:t}=e,r=this.element;if(this.observer&&r){this.observer.disconnect();const i=r.querySelector(`[absolute-row-index="${t}"]`);i?this.observer.observe(i):this.setCurrentOnTop(e)}},this.fitColumns=e=>{this.columnResize.dblClickHandler(null,e)},this.getColumnsEssentialProps=e=>JSON.stringify(e.map((e=>({id:e.id,field:e.field,title:e.title,children:e.children})))),this.checkMatchMediaColumnsDifferece=()=>{const e=this.childrenToArray(this.props.children),t=s.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),r=this.filterHiddenColumns(e);return this.getColumnsEssentialProps(this.readColumns(r,t,this._columnsMutations))===this.getColumnsEssentialProps(this._columns)},this.onContextMenu=(e,t,r)=>{if(this.props.onContextMenu){const i={target:this,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:t,field:r};this.props.onContextMenu.call(void 0,i)}},this.getVirtualScroll=e=>{const{rowHeight:t,detailRowHeight:r,detail:i,expandField:s,groupable:o}=e,a=this.isAllData(),n=void 0!==t&&t>0,l=void 0!==r&&r>0,c=!0===o||"object"==typeof o&&!1!==o.enabled;return!n||c&&!a||i&&s&&(!l||!a)?Oe:He},this.isAllData=()=>{const{data:e,total:t}=this.props;return Array.isArray(e)?e.length===t:!!e&&t===e.total},this.initializeVirtualization=(e,t)=>{if(this.reInitVirtualization("virtual"===this.props.scrollable,this.props.total,this.props.filter,this.props.group,this.props.sort,t||void 0===this.props.rowHeight||0===this.props.rowHeight),this.vs.fixedScroll=this.props.fixedScroll||!1,this.vs.PageChange=this.pageChange,this.vs.realSkip=this.props.skip||0,this.vs.pageSize=(void 0!==this.props.take?this.props.take:this.props.pageSize)||0,this.vs.scrollableVirtual="virtual"===this.props.scrollable,this.vs.total=e,this.vs.propsSkip=(this.props.skip||0)+("virtual"===this.props.scrollable?this.vs.topCacheCount+(this.vs.attendedSkip-(this.props.skip||0)):0),void 0!==this.props.rowHeight&&this.props.rowHeight>0&&!t){const t=this.props.rowHeight*e;this.vs.containerHeight=I?Math.min(y,t):t}else this.vs.containerHeight=1533915;if(this.vs.containerRef=this.containerRef,this.vs.tableBodyRef=this.tableBodyRef,this.vs.table=this.tableElement,this._slicedData=void 0,this.vs instanceof He){const{rowHeight:t=0,detail:r,expandField:s}=this.props;let{detailRowHeight:o=0}=this.props;o=r&&s?o:t,this.isAllData()?(this.vs.total=this._data.length,this._slicedData=this._data.slice(this.vs.realSkip,this.vs.realSkip+this.vs.pageSize),this.vs.rowHeightService=this.rowHeightService(this.vs,this._data.length,t,o,this._data)):this.vs.rowHeightService=new i.RowHeightService(e,t,o);const a=this.vs.rowHeightService.totalHeight();this.vs.containerHeight=I?Math.min(y,a):a}},this.getCachedScrollbarWidth=()=>(this._scrollbarWidth||(this._scrollbarWidth=i.getScrollbarWidth()||void 0),this._scrollbarWidth),this.scrollHandler=e=>{if(e.target!==e.currentTarget)return;clearTimeout(this.forceUpdateTimeout),this.vs.table=this.tableElement;const t=e.currentTarget.scrollLeft,r=e.currentTarget.scrollTop;this.props.columnVirtualization&&(!this.vs.scrollableVirtual||r===this.wrapperScrollTop)&&(this.forceUpdateTimeout=window.setTimeout((()=>{this.forceUpdate()}),0)),this._header&&this._header.setScrollLeft(t),this._footer&&this._footer.setScrollLeft(t),this.vs&&r!==this.wrapperScrollTop&&this.vs.scrollHandler(e),i.dispatchEvent(this.props.onScroll,e,this,void 0),this.wrapperScrollTop=r},this.onKeyDown=e=>{if(s.tableKeyboardNavigation.onKeyDown(e,{contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,onNavigationAction:this.onNavigationAction}),this.props.onKeyDown){const{mode:t,cell:r}=s.getSelectionOptions(this.props.selectable),i={dataItems:this.getLeafDataItems(),mode:t,cell:r,componentId:this._gridId,selectedField:this.props.selectedField,...this.getArguments(e)};this.props.onKeyDown.call(void 0,i)}},this.onFocus=e=>{s.tableKeyboardNavigation.onFocus(e,{contextStateRef:this.contextStateRef})},this.onNavigationAction=e=>{if("moveToNextPage"===e.action&&this.moveToNextPage(e.event),"moveToPrevPage"===e.action&&this.moveToPrevPage(e.event),e.focusElement&&"reorderToRight"===e.action){const t=parseInt(e.focusElement.ariaColIndex,10)-1;t<this._columns.length-1&&this.columnReorder(t,t+1,e.event)}if(e.focusElement&&"reorderToLeft"===e.action){const t=parseInt(e.focusElement.ariaColIndex,10)-1;t>0&&this.columnReorder(t,t-1,e.event)}if(this.props.onNavigationAction){const t={focusElement:e.focusElement,...this.getArguments(e.event)};this.props.onNavigationAction.call(void 0,t)}},this.rowClick=(e,t)=>{this.props.onRowClick&&"TD"===e.target.nodeName&&this.props.onRowClick.call(void 0,{dataItem:t.dataItem,...this.getArguments(e)})},this.rowDblClick=(e,t)=>{this.props.onRowDoubleClick&&"TD"===e.target.nodeName&&this.props.onRowDoubleClick.call(void 0,{dataItem:t.dataItem,...this.getArguments(e)})},this.itemChange=e=>{const t=this.props.onItemChange;if(e.field===this.props.expandField||this.props.group&&void 0===e.field){const t=this.props.onExpandChange;t&&t.call(void 0,{...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,value:e.value})}else t&&t.call(void 0,{...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,field:e.field,value:e.value})},this.onHeaderSelectionChange=e=>{this.props.onHeaderSelectionChange&&this.props.onHeaderSelectionChange.call(void 0,{field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:this,dataItems:this.getLeafDataItems(),selectedField:this.props.selectedField})},this.selectionRelease=e=>{if(this.props.onSelectionChange){const t=this.getSlicedLeafDataItems()[e.startRowIndex],r=this.getSlicedLeafDataItems()[e.endRowIndex],i={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._gridId,dataItems:this.getLeafDataItems(),dataItem:null,startDataItem:t,endDataItem:r,...e};this.props.onSelectionChange.call(void 0,i)}},this.pageChange=(e,t,r)=>{this.raiseDataEvent(this.props.onPageChange,{page:e},{skip:e.skip,take:e.take},t,r)},this.getTotal=()=>{let e=this.props.total||0;return Array.isArray(this.props.data)?e=e||this.props.data.length:this.props.data&&(e=e||this.props.data.total),e},this.moveToNextPage=e=>{const t=this.props.take||0,r=(this.props.skip||0)+t;r<this.getTotal()&&this.pageChange({skip:r,take:t},e)},this.moveToPrevPage=e=>{const t=this.props.take||0,r=(this.props.skip||0)-t;r>=0&&this.pageChange({skip:r,take:t},e)},this.pagerPageChange=e=>{this.pageChange({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},this.sortChange=(e,t)=>{this.raiseDataEvent(this.props.onSortChange,{sort:e},{sort:e,..."virtual"===this.props.scrollable?{skip:0}:{}},t)},this.filterChange=(e,t)=>{this.raiseDataEvent(this.props.onFilterChange,{filter:e},{filter:e||void 0,skip:0},t)},this.groupChange=(e,t)=>{const r=t.nativeEvent?t:{nativeEvent:t.nativeEvent||t.originalEvent};0===e.length&&this.props.navigatable&&(this._focusFirst=!0),this._columnsMutations++,this.raiseDataEvent(this.props.onGroupChange,{group:e},{group:e,skip:0},r)},this.onClipboard=(e,t)=>{if(this.props.onClipboard){if(!this.inActiveElement()||!e)return;this.props.onClipboard.call(void 0,{type:e,nativeEvent:t,columns:this._columns,dataItemKey:this.props.dataItemKey||"",..."boolean"!=typeof this.props.clipboard?this.props.clipboard:{}})}},this.inActiveElement=()=>{var e,t,r;if(!i.canUseDOM)return!1;const s=i.getActiveElement(this.document),o=s?s.matches(".k-table-td")?s:null==(e=this.document)?void 0:e.body:null==(t=this.document)?void 0:t.body,a=o.closest(".k-grid-container"),n=o&&(null==(r=this._element)?void 0:r.contains(o));return!!(o&&n&&a)},this.onResize=(e,t,r,i,s,o)=>{this.resetTableWidth(),this._shouldUpdateLeftRight=!0,this._resized=!0,this._columnsMutations++,this.props.onColumnResize&&this.props.onColumnResize.call(void 0,{columns:this.columns,nativeEvent:i,targetColumnId:o,index:e,newWidth:t,oldWidth:r,end:s,target:this})},this.reInitVirtualization=i.memoizeOne(((e,t,r,i,s,o)=>{this.vs.reset();const a=this.getVirtualScroll(this.props);this.vs=new a(o)})),this.flatData=i.memoizeOne(((e,t,r,i,s,o,a)=>{const n=[];return{flattedData:n,resolvedGroupsCount:C(n,e,t,{index:r},void 0!==i,s)}})),this.rowHeightService=i.memoizeOne(((e,t,r,s,o)=>new i.RowHeightService(t,r,s,o))),this.childrenToArray=i.memoizeOne((e=>m.Children.toArray(e))),this.readColumns=i.memoizeOne(((e,t,r)=>{const i=e.filter((e=>e&&e.type&&"KendoReactGridColumn"===e.type.displayName));return k(i,this.columns,{prevId:0,idPrefix:t})})),this.mapColumns=i.memoizeOne(((e,t)=>s.mapColumns(e,!0))),this.filterHiddenColumns=e=>{const t=e=>{const t=e;return{...t,props:{...t.props,children:t.props.children&&t.props.children.length>0?this.filterHiddenColumns(t.props.children):t.props.children}}};return[...e].filter((e=>m.isValidElement(e)&&!e.props.hidden)).filter((e=>i.canUseDOM&&e&&m.isValidElement(e)&&e.props.media?window.matchMedia(e.props.media).matches:e)).map((e=>t(e)))},this.configureColumns=i.memoizeOne(((e,t,r)=>{this.props.selectedField&&e.filter((e=>e.field===this.props.selectedField)).forEach((e=>{e.width=e.width||"50px",e.cell=e.cell||ie,e.headerCell=e.headerCell||Ve}));const i={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 s=0;this.props.expandField&&this.props.onExpandChange&&this.props.detail&&(e.unshift({...i,cell:se,field:this.props.expandField,headerClassName:"k-hierarchy-cell k-header"}),s++);for(let r=0;r<t;r++)e.unshift({...i,isAccessible:!1,cell:Ke,field:"value",locked:this.props.lockGroups}),s++;e.slice(s).forEach((e=>e.parentIndex>=0&&(e.parentIndex+=s)))})),this.getHeaderRow=i.memoizeOne(((e,t,r,i,s,o,a,n,l,c,h,p,d)=>m.createElement(Ce,{cells:this.props.cells,sort:e,sortable:t,sortChange:this.sortChange,group:r||[],groupable:i,groupChange:this.groupChange,filter:s,filterable:o,filterOperators:a,filterChange:this.filterChange,columnMenu:l,columnMenuIcon:c,selectionChange:this.onHeaderSelectionChange,columns:h,columnResize:this.columnResize,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,columnsMap:p,cellRender:n,isRtl:d,dragClue:this.dragLogic.dragClueRef,headerRef:this.headerElementRef,containerRef:this.containerRef,navigatable:this.props.navigatable,columnGroupChange:this.columnGroupChange}))),this.resolveTitle=e=>{const t=this._columns.find((t=>t.field===e)),r=t&&(t.title||t.field);return void 0===r?e:r},this.getLeafDataItems=()=>this._data.filter((e=>"data"===e.rowType)).map((e=>e.dataItem)),this.getSlicedLeafDataItems=()=>(this._slicedData||this._data).filter((e=>"data"===e.rowType)).map((e=>e.dataItem)),i.validatePackage(Ye),this.showLicenseWatermark=i.shouldShowValidationUI(Ye);const t=!0===this.props.groupable||"object"==typeof this.props.groupable&&!1!==this.props.groupable.enabled,r=this.getVirtualScroll(e);this.vs=new r(t||void 0===e.rowHeight||0===e.rowHeight),this.dragLogic=new _e(this.columnReorder.bind(this),this.groupReorder.bind(this),this.columnToGroup.bind(this)),this.columnGroupChange=this.columnGroupChange.bind(this),this.columnResize=new Pe(this.onResize),this.props.clipboard&&(this.clipboardService=new s.ClipboardService(this.onClipboard)),s.tableKeyboardNavigation.onConstructor({navigatable:!!e.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,idPrefix:this._gridId})}get columns(){const e=this._columns.filter((e=>e.declarationIndex>=0&&-1===e.parentIndex));return E(e)}get element(){return this._element}get document(){if(i.canUseDOM)return this.element&&this.element.ownerDocument||document}get _header(){return this.headerRef.current}get _gridId(){return this.props.id+"-role-element-id"}componentDidMount(){var e;this.props.columnVirtualization&&!navigator.userAgent.match(le)&&(this.headTable&&(this.headTable.style.display="block"),this.tableElement&&(this.tableElement.style.display="block")),this.resetTableWidth(),i.setScrollbarWidth(this.getCachedScrollbarWidth());const t=s.isRtl(this.element);this.isRtl=t,s.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.isRtl&&this.forceUpdate();this.clipboardService&&this.clipboardService.addEventListeners(this.document),this.observer=i.canUseDOM&&window.IntersectionObserver&&new window.IntersectionObserver(this.handleIntersection,{rootMargin:"0px",threshold:.9})||null,this.resizeObserver=i.canUseDOM&&window.ResizeObserver&&new window.ResizeObserver(this.calculateMedia.bind(this)),null!=(e=this.document)&&e.body&&this.resizeObserver&&this.resizeObserver.observe(this.document.body)}getSnapshotBeforeUpdate(){return s.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(){this.resetTableWidth(),i.setScrollbarWidth(this.getCachedScrollbarWidth()),this.vs.tableTransform&&this.vs.table&&(this.vs.table.style.transform=this.vs.tableTransform,this.vs.tableTransform=""),s.tableKeyboardNavigation.onComponentDidUpdate({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,focusFirst:this._focusFirst}),this._focusFirst=!1}componentWillUnmount(){var e;clearTimeout(this.forceUpdateTimeout),this.clipboardService&&this.clipboardService.removeEventListeners(this.document),null!=(e=this.document)&&e.body&&this.resizeObserver&&this.resizeObserver.disconnect()}render(){var e;let t=this.props.total||0;const r=s.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),a=o.provideLocalizationService(this);let n=[];Array.isArray(this.props.data)?(n=this.props.data,t=t||this.props.data.length):this.props.data&&(n=this.props.data.data,t=t||this.props.data.total);const l="object"==typeof this.props.groupable&&this.props.groupable.footer||"none",c="virtual"===this.props.scrollable,{resolvedGroupsCount:h,flattedData:p}=this.flatData(n,l,this.props.skip||0,this.props.group,this.props.expandField,this.props.filter,this.props.sort);this._data=p;const d=!0===this.props.groupable||"object"==typeof this.props.groupable&&!1!==this.props.groupable.enabled;this.columnResize.resizable=this.props.resizable||!1,this.dragLogic.reorderable=this.props.reorderable||!1,this.dragLogic.groupable=d;const u=this.props.selectable&&this.props.selectable.drag?"none":void 0;this.initializeVirtualization(t,d);const g=this.childrenToArray(this.props.children);this.initColumns(g,h);const f=g.map((e=>e&&e.type&&"KendoReactGridToolbar"===e.type.displayName?m.cloneElement(e,{...e.props,ariaControls:this._gridId}):null)),b=g.filter((e=>e&&e.type&&"KendoReactGridNoRecords"===e.type.displayName)),C=g.filter((e=>e&&e.type&&"KendoReactGridStatusBar"===e.type.displayName)),k=this._columns.filter((e=>0===e.children.length)),E=d&&m.createElement(ze,{group:this.props.group||[],groupChange:this.groupChange,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,refCallback:this.dragLogic.refGroupPanelDiv,resolveTitle:this.resolveTitle,ariaControls:this._gridId,onContextMenu:this.onContextMenu}),{sort:I,sortable:y,group:w,filter:R,filterable:N,filterOperators:T=xe,headerCellRender:D,columnMenu:M,columnMenuIcon:F}=this.props,L=m.createElement(he,{size:this.props.size,columnResize:this.columnResize,staticHeaders:"none"!==this.props.scrollable,scrollableDataElement:()=>this.vs.container,hasScrollbarWidth:!!this.getCachedScrollbarWidth(),draggable:this.props.reorderable||d,ref:this.headerRef,elemRef:this.headerElementRef,headerRow:this.getHeaderRow(I,y,w,d,R,N,T,D,M,F,this._columns,this._columnsMap,this.isRtl),filterRow:this.props.filterable&&m.createElement(Fe,{cells:this.props.cells,size:this.props.size,columns:this._columns,filter:this.props.filter,filterOperators:this.props.filterOperators||xe,filterChange:this.filterChange,sort:this.props.sort,cellRender:this.props.filterCellRender,isRtl:this.isRtl,ariaRowIndex:this._columnsMap.length+1})||void 0,cols:k.map(((e,t)=>m.createElement("col",{key:t.toString(),width:x(e)})))}),z=this.vs&&this.vs.container&&this.vs.container.scrollLeft||0,G=parseFloat(((this.props.style||{}).width||"").toString()),{colSpans:O,hiddenColumns:H}=s.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:k,tableViewPortWidth:G,scrollLeft:z}),P=(e,t,i)=>{let o=!1;const a=this.props.selectedField?v(this.props.selectedField,e.dataItem):void 0;return{row:k.map(((n,l)=>{if(H[l])return null;const c=n.id?n.id:l,h=`${n.className?n.className+" ":""}${n.locked?"k-grid-content-sticky":""}`,p=void 0!==n.left?this.isRtl?{left:n.right,right:n.left}:{left:n.left,right:n.right}:{};let d=!1;if(n.editable&&this.props.editField){const t=v(this.props.editField,e.dataItem);t&&(!0===t||t===n.field)&&(o=!0,d=!0)}const u=n.cell||d&&ce||Ae,g=this.props.expandField&&this.props.detail&&n.field===this.props.expandField;return m.createElement(u,{onContextMenu:this.onContextMenu,key:c,locked:this.props.lockGroups,id:s.tableKeyboardNavigationTools.generateNavigatableId(`${t}-${String(l)}`,r,g||"groupHeader"===e.rowType||"groupFooter"===e.rowType||"value"===n.field?"nodata":"cell"),colSpan:O[l],dataItem:e.dataItem,field:n.field,editor:n.editor,format:n.format,className:h,render:this.props.cellRender,cells:S(this.props.cells,n.cells),onChange:this.itemChange,selectionChange:this.props.onSelectionChange?t=>{this.selectionChange({event:t,dataItem:e.dataItem,dataIndex:i,columnIndex:l})}:void 0,columnIndex:l,columnsCount:k.length,rowType:e.rowType,level:e.level,expanded:e.expanded,dataIndex:e.dataIndex,style:p,ariaColumnIndex:n.ariaColumnIndex,isSelected:Array.isArray(a)&&a.indexOf(l)>-1})})),isInEdit:o,isSelected:"boolean"==typeof a&&a}};let _=0;if(c)for(let e=0;e<this.vs.topCacheCount+this.vs.attendedSkip-(this.props.skip||0);e++){const t=this._data.shift();if(!t)break;this._data.push(t),_++,"groupHeader"===t.rowType&&e--}const A=e=>e>=this._data.length-_;let K=this.vs.realSkip||0;const W=[];let B=!1;const V=this._columnsMap.length+(this.props.filterable?1:0)+1;let q=0;if(this._data.length){let e=-1,t=0;(this._slicedData||this._data).forEach(((o,a)=>{"data"===o.rowType&&(K++,e++);const n=K%2==0,l=this.props.dataItemKey&&i.getter(this.props.dataItemKey)(o.dataItem),c=a+(this.vs.realSkip||0),h=l||"ai"+c,p=h+"_1",d=P(o,h,e);if(q=c+V+t,W.push(m.createElement(We,{key:h,dataItem:o.dataItem,isAltRow:n,isInEdit:d.isInEdit,rowType:o.rowType,isHidden:A(a),onClick:e=>this.rowClick(e,o),onDoubleClick:e=>this.rowDblClick(e,o),selectedField:this.props.selectedField,rowHeight:this.props.rowHeight,render:this.props.rowRender,ariaRowIndex:q,absoluteRowIndex:c,dataIndex:this.vs.scrollableVirtual&&!this.props.groupable?c:e,isSelected:d.isSelected},d.row)),this.props.detail&&"data"===o.rowType&&o.expanded){const e=k.length-(this.props.expandField?1:0)-(this.props.group?this.props.group.length:0)||1;t++,q=c+V+t,W.push(m.createElement("tr",{key:p,className:i.classNames("k-table-row",n?"k-detail-row k-table-alt-row k-alt":"k-detail-row"),style:{visibility:A(a)?"hidden":"",height:this.props.detailRowHeight},role:"row","aria-rowindex":q},this.props.group&&this.props.group.map(((e,t)=>{var r;const i=null==(r=null==d?void 0:d.row[t])?void 0:r.props.style,s=i?this.isRtl?{left:i.right,right:i.left}:{left:i.left,right:i.right}:{};return m.createElement(Ke,{id:"",dataIndex:o.dataIndex,field:e.field,dataItem:o.dataItem,key:t,style:s,ariaColumnIndex:1+t,isSelected:!1,locked:this.props.lockGroups,isRtl:this.isRtl,cells:this.props.cells})})),this.props.expandField&&m.createElement(Qe,{id:s.tableKeyboardNavigationTools.generateNavigatableId(`${p}-dhcell`,r)}),m.createElement(Je,{onContextMenu:this.onContextMenu,dataItem:o.dataItem,dataIndex:o.dataIndex,colSpan:e,ariaColIndex:2+(this.props.group?this.props.group.length:0),detail:this.props.detail,id:s.tableKeyboardNavigationTools.generateNavigatableId(`${p}-dcell`,r)})))}}))}else B=!0;const U=()=>{const e=this._header;return e&&e.table&&e.table.clientWidth},j=()=>m.createElement("div",{key:"no-records",className:"k-grid-norecords",style:{width:U()}},m.createElement("div",{className:"k-grid-norecords-template",[s.KEYBOARD_NAV_DATA_ID]:s.tableKeyboardNavigationTools.generateNavigatableId("no-records",r)},b.length?b:m.createElement(Ue,null))),$={size:this.props.size,onPageChange:this.pagerPageChange,total:t,dir:this.isRtl?"rtl":void 0,skip:this.vs.propsSkip||0,take:(void 0!==this.props.take?this.props.take:this.props.pageSize)||10,messagesMap:re,navigatable:this.props.navigatable,...Xe(this.props.pageable||{})},X=this.props.pager?m.createElement(this.props.pager,{...$}):m.createElement(s.Pager,{className:"k-grid-pager",...$}),Y=e=>this.props.sort&&this.props.sort.filter((t=>t.field===e)).length>0,J=null!=(e=this.props.cells)&&e.footerCell||this._columns.some((e=>{var t;return!!(e.footerCell||null!=(t=e.cells)&&t.footerCell)}))?m.createElement(Ge,{size:this.props.size,columnResize:this.columnResize,staticHeaders:"none"!==this.props.scrollable,hasScrollbarWidth:!!this.getCachedScrollbarWidth(),ref:e=>this._footer=e,row:m.createElement($e,{cells:this.props.cells,idPrefix:r,columns:this._columns,isRtl:this.isRtl,ariaRowIndex:q+1}),cols:k.map(((e,t)=>m.createElement("col",{key:t.toString(),width:x(e)})))}):null,Q=m.createElement("colgroup",{ref:e=>{this.columnResize.colGroupMain=e}},k.map(((e,t)=>m.createElement("col",{key:t.toString(),className:Y(e.field)?"k-sorted":void 0,width:x(e)})))),Z=this.dragLogic.reorderable||this.dragLogic.groupable;if("none"===this.props.scrollable)return m.createElement(s.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},m.createElement("div",{id:this.props.id,style:this.props.style,className:i.classNames("k-grid",{"k-grid-md":!this.props.size,[`k-grid-${i.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),ref:e=>{this._element=e},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...s.tableKeyboardNavigationScopeAttributes},f,E,m.createElement(s.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:e=>{this.tableElement=e,this.headTable=e}},m.createElement("table",{ref:e=>this.headTable=e,className:i.classNames("k-table k-grid-table",{[`k-table-${i.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),style:{userSelect:u}},Q,L,m.createElement("tbody",{role:"rowgroup",className:"k-table-tbody",...s.tableKeyboardNavigationBodyAttributes},W),J)),B&&j(),Z&&m.createElement(m.Fragment,null,m.createElement(s.DropClue,{ref:this.dragLogic.refDropElementClue}),m.createElement(s.DragClue,{ref:this.dragLogic.refDragElementClue}))),C,this.props.pageable&&X);let ie=this.props.style||{};return c&&(ie.height||(ie=Object.assign({},ie,{height:"450px"}))),m.createElement(s.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},m.createElement("div",{id:this.props.id,style:ie,className:i.classNames("k-grid",{"k-grid-md":!this.props.size,[`k-grid-${i.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size,"k-grid-virtual":c},this.props.className),ref:e=>{this._element=e},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...s.tableKeyboardNavigationScopeAttributes},f,E,m.createElement("div",{className:"k-grid-aria-root",role:"grid","aria-colcount":k.length,"aria-rowcount":t,id:this._gridId,"aria-label":a.toLanguageString(ee,te[ee])},L,m.createElement("div",{className:"k-grid-container",role:"presentation"},m.createElement("div",{ref:this.containerRef,className:"k-grid-content k-virtual-content",onScroll:this.scrollHandler,role:"presentation"},m.createElement("div",{className:"k-grid-table-wrap",role:"presentation"},m.createElement(s.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:e=>{this.tableElement=e}},m.createElement("table",{ref:e=>this.tableElement=e,className:i.classNames("k-table k-grid-table",{"k-table-md":!this.props.size,[`k-table-${i.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),role:"presentation",style:{userSelect:u}},Q,m.createElement("tbody",{className:"k-table-tbody",ref:this.tableBodyRef,role:"rowgroup",...s.tableKeyboardNavigationBodyAttributes},W))),B&&j()),c&&m.createElement("div",{className:"k-height-container",role:"presentation"},m.createElement("div",{style:c?{height:this.vs.containerHeight+"px"}:{}})))),J,Z&&m.createElement(m.Fragment,null,m.createElement(s.DropClue,{ref:this.dragLogic.refDropElementClue}),m.createElement(s.DragClue,{ref:this.dragLogic.refDragElementClue})),this.showLicenseWatermark&&m.createElement(i.WatermarkOverlay,null)),C,this.props.pageable&&X))}calculateMedia(){this.checkMatchMediaColumnsDifferece()||this.forceUpdate()}selectionChange(e){if(this.props.onSelectionChange){const{event:t,dataItem:r,dataIndex:i,columnIndex:o}=e,{mode:a,cell:n}=s.getSelectionOptions(this.props.selectable),l={...this.getArguments(t.syntheticEvent),dataItem:r,startColIndex:o,endColIndex:o,startRowIndex:i,endRowIndex:i,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:a,cell:n,isDrag:!1,componentId:this._gridId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,l)}}raiseDataEvent(e,t,r,i,s){const o=this.props.onDataStateChange;if(e){const r={...this.getArguments(i),...t,targetEvent:s};e.call(void 0,r)}else o&&o.call(void 0,{...this.getArguments(i),targetEvent:s||{},dataState:{...this.getDataState(),...r}})}columnReorder(e,t,r){const i=this._columns[e],o=i.depth,a=e=>{do{e++}while(e<this._columns.length&&this._columns[e].depth>o);return e},n=this._columns.splice(e,a(e)-e);this._columns.splice(e<t?a(t-n.length):t,0,...n),this._columns.filter((e=>e.declarationIndex>=0)).forEach(((e,t)=>e.orderIndex=t)),this._columnsMutations++;const l=this._columns[e].locked&&this._columns[t].locked;s.updateLeft(this._columnsMap,this._columns,l||this._shouldUpdateLeftRight),s.updateRight(this._columnsMap,this._columns,l||this._shouldUpdateLeftRight),this._resized&&(this._shouldUpdateLeftRight=!1,this._resized=!1);const c=this.columns;if(this.forceUpdate(),this.props.onColumnReorder){const e={target:this,columns:c,columnId:i.id,nativeEvent:r};this.props.onColumnReorder.call(void 0,e)}}groupReorder(e,t,r){if(void 0===this.props.group)return;const i=this.props.group.slice();i.splice(t,0,...i.splice(e,1)),this.groupChange(i,r)}columnToGroup(e,t,r){const i=this._columns[e].field;if(!i)return;const s=(this.props.group||[]).slice();s.splice(t,0,{field:i}),this.groupChange(s,r)}columnGroupChange(e,t){const r=this.dragLogic.getCurrentGroupsLength;this.columnToGroup(e,r,t)}resetTableWidth(){let e=0;if(!this.columnResize.colGroupMain)return;const t=this.columnResize.colGroupMain.children;for(let r=0;r<t.length;r++){const i=t[r].width;if(!i)return;e+=parseFloat(i.toString())}e=Math.round(e),this._header&&this._header.setWidth(e),this._footer&&this._footer.setWidth(e),this.tableElement&&(this.tableElement.style.width=e+"px")}initColumns(e,t){const r=s.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),i=this.filterHiddenColumns(e),o=this.readColumns(i,r,this._columnsMutations);this._columns=o,0===this._columns.length&&(this._columns=function(e,t,r,i){let o=[];Array.isArray(e)?o=e:e&&(o=e.data);const a=[];if(o.length>0){let e=o[0];if(t)for(let r=0;r<t.length;r++)e=e.items&&e.items[0];Object.getOwnPropertyNames(e).forEach((e=>{e!==r&&a.push(Object.assign({id:s.tableKeyboardNavigationTools.generateNavigatableId(""+i.prevId++,i.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},b,{field:e}))}))}return a}(this.props.data,this.props.group,this.props.expandField,{prevId:0,idPrefix:r})),this.configureColumns(this._columns,t,r),this._columnsMap=this.mapColumns(this._columns,this._columnsMutations),this.columnResize.columns=this._columns,this.dragLogic.columns=this._columns}getDataState(){return{filter:this.props.filter,sort:this.props.sort,skip:this.props.skip,take:void 0!==this.props.take?this.props.take:this.props.pageSize,group:this.props.group}}getArguments(e){return{nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:this}}};Ze.displayName="KendoReactGrid",Ze.defaultProps={},Ze.propTypes={data:r.oneOfType([r.array,r.shape({data:r.array,total:r.number})]),sortable:r.oneOfType([r.bool,r.shape({mode:r.oneOf(["single","multiple"]),allowUnsort:r.bool})]),onSortChange:r.func,sort:r.array,filterable:r.bool,filter:r.any,onFilterChange:r.func,pageable:r.oneOfType([r.bool,r.shape({buttonCount:r.number,responsive:r.bool,info:r.bool,type:r.oneOf(["numeric","input"]),pageSizes:r.oneOfType([r.bool,r.arrayOf(r.oneOfType([r.string,r.number]))]),previousNext:r.bool})]),pageSize:r.number,onPageChange:r.func,total:r.number,skip:r.number,take:r.number,fixedScroll:r.bool,onExpandChange:r.func,expandField:r.string,selectedField:r.string,onSelectionChange:r.func,onHeaderSelectionChange:r.func,resizable:r.bool,reorderable:r.bool,group:r.any,groupable:r.oneOfType([r.bool,r.shape({enabled:r.bool,footer:r.oneOf(["always","visible","none"])})]),onGroupChange:r.func,onRowClick:r.func,onRowDoubleClick:r.func,onItemChange:r.func,editField:r.string,scrollable:r.oneOf(["none","scrollable","virtual"]),rowHeight:r.number,detailRowHeight:r.number,detail:r.any,style:r.object,onDataStateChange:r.func,onColumnResize:r.func,onColumnReorder:r.func,dataItemKey:r.string,navigatable:r.bool,size:r.oneOf(["small","medium"])},Ze.contextType=s.TableKeyboardNavigationContext;let et=Ze;o.registerForLocalization(et);let tt=class extends m.Component{render(){const{children:e}=this.props;return m.createElement("div",{id:this.props.id,className:i.classNames("k-columnmenu-item-wrapper",this.props.className),style:this.props.style},e)}};const rt=e=>{const{title:t,iconClass:r,svgIcon:s,selected:o}=e;return m.createElement("div",{onClick:e.onClick,className:"k-columnmenu-item "+(o?"k-selected":"")},(r||s)&&m.createElement(i.IconWrap,{name:r&&i.toIconName(r),icon:s}),t)};let it=class extends m.Component{constructor(){super(...arguments),this.onGroupClick=e=>{if(e.preventDefault(),this.props.onGroupChange){const{column:t}=this.props;if(!t.field)return;const r=(this.props.group||[]).slice(),i=r.findIndex((e=>e.field===t.field));i>-1?r.splice(i,1):r.push({field:t.field}),this.props.onGroupChange(r,e)}this.props.onCloseMenu&&this.props.onCloseMenu()}}render(){const{group:e,column:t}=this.props,r=o.provideLocalizationService(this),i=!!(e&&t.field&&e.find((e=>e.field===t.field))),s=i?G:z;return m.createElement(tt,null,m.createElement(rt,{title:r.toLanguageString(s,te[s]),iconClass:i?"k-i-ungroup":"k-i-group",svgIcon:i?a.ungroupIcon:a.groupIcon,onClick:this.onGroupClick}))}};o.registerForIntl(it),o.registerForLocalization(it);const st="desc",ot={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"}}},at=(e,t)=>t?t.findIndex((t=>t.field===e)):-1,nt=(e,t)=>!!(t&&e>-1&&"asc"===t[e].dir),lt=(e,t)=>!!(t&&e>-1&&t[e].dir===st),ct=class extends m.Component{constructor(){super(...arguments),this.onAscClick=e=>{this.onSort(e,"asc"),this.props.onCloseMenu&&this.props.onCloseMenu()},this.onDescClick=e=>{this.onSort(e,st),this.props.onCloseMenu&&this.props.onCloseMenu()},this.onSort=(e,t)=>{if(e.preventDefault(),!this.props.onSortChange)return;const{column:r,sortable:i,sort:s}=this.props,{allowUnsort:o,mode:a}=pe(i||!1,!1),n=(s||[]).filter((e=>e.field===r.field))[0],l=ot[o][n&&n.dir||""][t],c="single"===a?[]:(this.props.sort||[]).filter((e=>e.field!==r.field));""!==l&&r.field&&c.push({field:r.field,dir:l}),this.props.onSortChange(c,e)}}render(){const{sort:e,column:t}=this.props,r=at(t.field,e),i=o.provideLocalizationService(this);return m.createElement(tt,null,m.createElement(rt,{title:i.toLanguageString(A,te[A]),iconClass:"k-i-sort-asc-sm",svgIcon:a.sortAscSmallIcon,selected:nt(r,e),onClick:this.onAscClick}),m.createElement(rt,{title:i.toLanguageString(K,te[K]),iconClass:"k-i-sort-desc-sm",svgIcon:a.sortDescSmallIcon,selected:lt(r,e),onClick:this.onDescClick}))}};ct.active=(e,t)=>{const r=at(e,t);return lt(r,t)||nt(r,t)};let ht=ct;o.registerForIntl(ht),o.registerForLocalization(ht);class pt extends m.Component{render(){return m.createElement("div",{id:this.props.id,className:i.classNames("k-columnmenu-item-content",this.props.className),style:this.props.style,tabIndex:0},m.createElement(u.Reveal,{style:{position:"relative",display:"block"}},this.props.show?this.props.children:null))}}class dt extends m.Component{constructor(e){super(e),this.renderOperatorEditor=()=>{if("boolean"===this.props.filterType)return;const e=this.props.operators.find((e=>e.operator===this.props.operator))||null;return m.createElement(p.DropDownList,{value:e,onChange:this.operatorChange,data:this.props.operators,textField:"text"})},this.inputChange=this.inputChange.bind(this),this.operatorChange=this.operatorChange.bind(this),this.boolDropdownChange=this.boolDropdownChange.bind(this)}render(){return m.createElement(m.Fragment,null,this.renderOperatorEditor(),this.filterComponent(this.props.filterType,this.props.value,this.props.booleanValues))}inputChange(e,t){we(e,t,this.props)}operatorChange(e){De(e,this.props.value,this.props.onChange)}boolDropdownChange(e){Te(e,this.props.onChange)}filterComponent(e,t,r){switch(e){case"numeric":return m.createElement(n.NumericTextBox,{value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)},rangeOnEnter:!1});case"date":return m.createElement(l.DatePicker,{value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)}});case"boolean":{const e=e=>null==e;return m.createElement(p.DropDownList,{onChange:this.boolDropdownChange,value:r.find((r=>r.operator===(e(t)?"":t))),data:r,textField:"text"})}default:return m.createElement(n.Input,{value:t||"",onChange:e=>{this.inputChange(e.target.value,e.syntheticEvent)}})}}}class ut extends m.Component{render(){const{firstFilterProps:e,hideSecondFilter:t,secondFilterProps:r,logicData:i,logicValue:s,onLogicChange:o}=this.props;return m.createElement(m.Fragment,null,m.createElement(dt,{...e}),!t&&m.createElement(m.Fragment,null,m.createElement(p.DropDownList,{data:i,value:s,onChange:o,className:"k-filter-and",textField:"text"}),m.createElement(dt,{...r})))}}const gt=e=>e||{filters:[],logic:"and"},mt=(e,t)=>gt(t).filters.filter((t=>!!d.isCompositeFilterDescriptor(t)&&(t.filters&&t.filters.length&&t.filters.length<=2&&!t.filters.find((t=>d.isCompositeFilterDescriptor(t)||t.field!==e)))))[0]||null,ft=class extends m.Component{constructor(e){let t;if(super(e),this.removeGroup=(e,t)=>{const r=[...t.filters],i=r.findIndex((t=>t===e));return i>-1&&r.splice(i,1),{...t,filters:r}},this.insertGroup=(e,t)=>({...t,filters:[e,...t.filters]}),this.isControlled=()=>void 0!==this.props.expanded,this.onFilterExpand=()=>{const e=this.isControlled(),t=!(e?this.props.expanded:this.state.expanded);this.props.onExpandChange&&this.props.onExpandChange(t),e||this.setState({expanded:t})},this.firstFilterChange=e=>{this.filterChange(0,e)},this.secondFilterChange=e=>{this.filterChange(1,e)},this.filterChange=(e,t)=>{const r=this.state.filterGroup.filters.map(((r,i)=>i===e?{...r,value:t.value,operator:t.operator}:r));this.setState({filterGroup:{...this.state.filterGroup,filters:r}})},this.logicChange=e=>{this.setState({filterGroup:{...this.state.filterGroup,logic:e.target.value.operator}})},this.clear=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.props.column.field,r=gt(this.props.filter),i=mt(t,this.props.filter),s=r.filters.filter((e=>e!==i));s.length?this.props.onFilterChange({...r,filters:s},e):this.props.onFilterChange(null,e),this.props.onCloseMenu&&this.props.onCloseMenu()},this.currentFilterGroup=()=>({...this.state.filterGroup,filters:this.state.filterGroup.filters.filter((e=>void 0!==e.value&&null!==e.value&&""!==e.value||null===e.value&&e.operator))}),this.submit=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.props.column.field,r=gt(this.props.filter),i=mt(t,this.props.filter),s=this.currentFilterGroup();let o=null;if(i&&s.filters.length>0){const e=r.filters.map((e=>e===i?s:e));o={...r,filters:e}}else if(0===s.filters.length){const e=r.filters.filter((e=>e!==i));e.length&&(o={...r,filters:e})}else o={...r,filters:[...r.filters,s]};this.props.onFilterChange(o,e),this.props.onCloseMenu&&this.props.onCloseMenu()},e.column&&e.column.field){const r=Ne(e.column.filter),i=Re(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:i,value:Ee(i)?null:void 0},{field:e.column.field,operator:i,value:Ee(i)?null:void 0}]},1===t.filters.filter((t=>t.field===e.column.field)).length&&t.filters.splice(1,0,{field:e.column.field,operator:i})}this.state={expanded:e.expanded||!1,filterGroup:t}}render(){const{column:e,filterUI:t,hideSecondFilter:r,filterOperators:i}=this.props;if(!e||!e.field)return m.createElement("div",null);const s=Ne(e.filter),n=void 0!==r?r:Se[s],l=o.provideLocalizationService(this),c=this.state.filterGroup.filters,p=Ie(i[s],l),d=Ie(ye,l),u={field:e.field,value:c[0].value,operator:c[0].operator,operators:p,booleanValues:d,onChange:this.firstFilterChange,filterType:s},g={field:e.field,value:c[1].value,operator:c[1].operator,operators:p,booleanValues:d,onChange:this.secondFilterChange,filterType:s},f=this.state.filterGroup.logic,b=Ie(ke,l),v={value:b.find((e=>e.operator===(null===f?"":f))),onChange:this.logicChange,data:b},C=t,k={firstFilterProps:u,secondFilterProps:g,logicData:v.data,logicValue:v.value,onLogicChange:v.onChange,hideSecondFilter:n},x=0!==this.currentFilterGroup().filters.length||Ee(c[0].operator)||Ee(c[1].operator),E=this.isControlled()?this.props.expanded:this.state.expanded,I=this.props.alwaysExpand;return m.createElement(tt,null,!I&&m.createElement(rt,{title:l.toLanguageString(_,te[_]),iconClass:"k-i-filter",svgIcon:a.filterIcon,onClick:this.onFilterExpand}),m.createElement(pt,{show:I||!!E},m.createElement("form",{className:"k-filter-menu",onSubmit:this.submit,onReset:this.clear},m.createElement("div",{className:"k-filter-menu-container"},C?m.createElement(C,{...k}):m.createElement(ut,{...k}),m.createElement("div",{className:"k-actions k-actions-stretched"},m.createElement(h.Button,{themeColor:"primary",disabled:!x},l.toLanguageString(P,te[P])),m.createElement(h.Button,{type:"reset"},l.toLanguageString(H,te[H])))))))}};ft.active=(e,t)=>!!mt(e,t);let bt=ft;o.registerForLocalization(bt);const vt=class extends m.Component{constructor(e){super(e),this.defaultFilter=()=>this.props.filter?i.clone(this.props.filter):{filters:[],logic:"and"},this.isControlled=()=>void 0!==this.props.expanded,this.parseData=(e,t)=>{const r=this.props.column.field||"",i=e.map((e=>v(r,e)));return t?i.filter(((e,t)=>i.indexOf(e)===t)):i},this.getFilterIndex=()=>{const e=this.props.column.field;return this.defaultFilter().filters.findIndex((t=>t.filters&&t.filters.length>0&&t.filters[0].field===e))},this.onFilterExpand=()=>{const e=this.isControlled(),t=!(e?this.props.expanded:this.state.expanded);this.props.onExpandChange&&this.props.onExpandChange(t),e||this.setState({expanded:t})},this.handleSearchChange=e=>{const t=this.props.searchBoxFilterOperator?this.props.searchBoxFilterOperator:"startswith",r={logic:"and",filters:[{field:this.props.column.field,operator:t,value:e.target.value,ignoreCase:!0}]};this.setState({value:e.target.value,data:this.parseData(d.filterBy(this.props.data||[],r),this.props.uniqueData)})},this.handleClear=()=>{const e=this.props.searchBoxFilterOperator?this.props.searchBoxFilterOperator:"startswith",t={logic:"and",filters:[{field:this.props.column.field,operator:e,value:"",ignoreCase:!0}]};this.setState({value:"",data:this.parseData(d.filterBy(this.props.data||[],t),this.props.uniqueData)})},this.clear=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.state.currentFilter||null;null!==t&&t.filters.length>0?(this.compositeFilterIndex>=0&&t.filters.splice(this.compositeFilterIndex,1),this.props.onFilterChange(t,e)):this.props.onFilterChange(null,e),this.props.onCloseMenu&&this.props.onCloseMenu()},this.submit=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.state.currentFilter||null;this.props.onFilterChange(t,e),this.props.onCloseMenu&&this.props.onCloseMenu()},this.handleCheckBoxChange=(e,t)=>{const r=this.props.column.field||"",i={...this.state.currentFilter},s=[...this.state.currentFilter.filters];let o=[];if(-1!==this.compositeFilterIndex&&i.filters[this.compositeFilterIndex].filters&&"all"!==t&&(o=i.filters[this.compositeFilterIndex].filters),e.value&&"all"===t)this.state.data.forEach((e=>{o.push({field:r,operator:"eq",value:e})}));else if(e.value)o.push({field:r,operator:"eq",value:t});else if(this.state.currentFilter){const e=o.findIndex((e=>e.value===t));o.splice(e,1)}i.logic="and",-1!==this.compositeFilterIndex?s[this.compositeFilterIndex]={logic:"or",filters:o}:s.push({logic:"or",filters:o}),(!e.value&&"all"===t||0===o.length)&&s.splice(this.compositeFilterIndex,1),i.filters=s,this.setState({currentFilter:i})},this.isAllSelected=()=>{let e=!1;if(this.state.currentFilter){const t=[...this.state.currentFilter.filters];return-1!==this.compositeFilterIndex&&(e=this.state.data.every((e=>!(-1===this.compositeFilterIndex||!t[this.compositeFilterIndex].filters)&&t[this.compositeFilterIndex].filters.findIndex((t=>t.value===e))>=0)),e)}return e},this.compositeFilterIndex=this.getFilterIndex(),this.state={expanded:e.expanded||!1,value:"",data:this.parseData(this.props.data,this.props.uniqueData)||[],dataFromProps:this.parseData(this.props.data,!1)||[],currentFilter:this.defaultFilter()}}componentDidUpdate(){const e=this.props.column.field||"",t=this.props.data.map((t=>v(e,t)));((e,t)=>e.length===t.length&&e.every(((e,r)=>e===t[r])))(t,this.state.dataFromProps)||this.setState({data:t,dataFromProps:t})}render(){const{column:e}=this.props;if(!e||!e.field)return m.createElement("div",null);const t=o.provideLocalizationService(this),r=this.isControlled()?this.props.expanded:this.state.expanded,s=[];if(this.state.currentFilter){const t=[...this.state.currentFilter.filters];this.compositeFilterIndex=t.findIndex((t=>!!(t.filters&&t.filters.length>0)&&t.filters[0].field===e.field)),-1!==this.compositeFilterIndex&&t[this.compositeFilterIndex].filters.length>0&&t[this.compositeFilterIndex].filters.forEach((e=>{e.field===this.props.column.field&&s.push(e.value)}))}const l=this.props.searchBox?m.createElement(this.props.searchBox,{value:this.state.value,onChange:this.handleSearchChange}):m.createElement("div",{className:"k-searchbox k-textbox k-input k-input-md k-input-solid"},m.createElement(i.IconWrap,{className:"k-input-icon",name:"search",icon:a.searchIcon}),m.createElement(n.Input,{className:"k-input-inner",type:"text",placeholder:t.toLanguageString(W,te[W]),value:this.state.value,onChange:e=>this.handleSearchChange(e.nativeEvent)}),m.createElement(h.Button,{type:"button",rounded:null,className:"k-input-button",onClick:this.handleClear,icon:"x",svgIcon:a.xIcon})),c=s.filter(((e,t)=>s.indexOf(e)===t));return m.createElement(tt,null,m.createElement(rt,{title:t.toLanguageString(_,te[_]),iconClass:"k-i-filter",svgIcon:a.filterIcon,onClick:this.onFilterExpand}),m.createElement(pt,{show:!!r},m.createElement("form",{className:"k-filter-menu",onSubmit:this.submit,onReset:this.clear},m.createElement("div",{className:"k-filter-menu-container"},l,m.createElement("ul",{className:"k-reset k-multicheck-wrap"},m.createElement("li",{className:"k-item k-check-all-wrap"},m.createElement(n.Checkbox,{label:t.toLanguageString(B,te[B]),onChange:e=>this.handleCheckBoxChange(e,"all"),checked:this.isAllSelected()})),this.state.data.map(((e,t)=>m.createElement("li",{className:"k-item",key:t},m.createElement(n.Checkbox,{label:String(e),onChange:t=>this.handleCheckBoxChange(t,e),checked:c.includes(e)}))))),m.createElement("div",{className:"k-filter-selected-items"},c.length+" "+t.toLanguageString(q,te[q])),m.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},m.createElement(h.Button,{themeColor:"primary",type:"submit"},t.toLanguageString(P,te[P])),m.createElement(h.Button,{className:"k-button",type:"reset"},t.toLanguageString(H,te[H])))))))}};vt.defaultProps={uniqueData:!0};let Ct=vt;o.registerForLocalization(Ct);const kt=e=>{const[t,r]=m.useState(""),s=e.columns.reduce(((t,r)=>({...t,[r.id||""]:!!e.columnsState.find((e=>e.id===r.id))})),{}),[o,l]=m.useState(s),c=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=m.useCallback((()=>{const t=e.columns.filter((e=>o[e.id||""]));e.onColumnsChange.call(void 0,t),e.onCloseMenu.call(void 0)}),[o,e.columns,e.onColumnsChange,e.onCloseMenu]),d=m.useMemo((()=>Object.values(o).filter((e=>e)).length),[o]),u=m.useMemo((()=>d===e.columns.length),[e.columns,d]),g=m.useCallback((()=>{const e={...o};Object.keys(e).forEach(((t,r)=>e[t]=!(!u||0!==r)||!u)),l(e)}),[o,u]),f=m.useCallback(((e,t)=>{const r={...o};r[t||""]=e,l(r)}),[o]);return m.createElement("form",{className:"k-filter-menu"},m.createElement("div",{className:"k-filter-menu-container"},m.createElement(n.TextBox,{className:"k-searchbox",value:t,onChange:e=>{r(String(e.target.value))},prefix:()=>m.createElement(n.InputPrefix,null,m.createElement(i.IconWrap,{name:"search",icon:a.searchIcon}))}),m.createElement("ul",{className:"k-reset k-multicheck-wrap"},!t&&m.createElement("li",{className:"k-item k-check-all-wrap"},m.createElement(n.Checkbox,{checked:u,onChange:g,label:"(Select all)"})),c.map(((e,t)=>m.createElement("li",{key:e.id,className:"k-item"},m.createElement(n.Checkbox,{disabled:o[e.id||""]&&1===d,checked:o[e.id||""],onChange:t=>{var r;return f(!(null==(r=t.target.element)||!r.checked),e.id)},label:e.title||e.field}))))),m.createElement("div",{className:"k-filter-selected-items"},d," selected items"),m.createElement("div",{className:"k-actions k-actions-start k-actions-horizontal"},m.createElement(h.Button,{type:"button",themeColor:"primary",onClick:p},"Apply"),m.createElement(h.Button,{type:"button",onClick:()=>{l(s)}},"Reset"))))};kt.displayName="GridColumnMenuColumnsList";class xt extends m.Component{render(){return null}}const Et=class extends m.Component{render(){return m.createElement("div",{className:i.classNames("k-toolbar k-grid-toolbar",{"k-toolbar-md":!this.props.size,[`k-toolbar-${i.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),"aria-label":this.props.ariaLabel,"aria-controls":this.props.ariaControls,role:"toolbar"},this.props.children)}};Et.displayName="KendoReactGridToolbar";let It=Et;const yt=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)))))};yt.displayName="KendoReactGridStatusBar";const St=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},wt=i.withIdHOC(et);wt.displayName="KendoReactGrid",Object.defineProperty(e,"getSelectedState",{enumerable:!0,get:function(){return s.getSelectedState}}),Object.defineProperty(e,"getSelectedStateFromKeyDown",{enumerable:!0,get:function(){return s.getSelectedStateFromKeyDown}}),Object.defineProperty(e,"setSelectedState",{enumerable:!0,get:function(){return s.setSelectedState}}),e.GRID_COL_INDEX_ATTRIBUTE=ae,e.GRID_PREVENT_SELECTION_ELEMENT=ne,e.GRID_ROW_INDEX_ATTRIBUTE=oe,e.Grid=wt,e.GridCell=Ae,e.GridClassComponent=et,e.GridColumn=f,e.GridColumnMenuCheckboxFilter=Ct,e.GridColumnMenuColumnsList=kt,e.GridColumnMenuFilter=bt,e.GridColumnMenuFilterCell=dt,e.GridColumnMenuFilterUI=ut,e.GridColumnMenuGroup=it,e.GridColumnMenuItem=rt,e.GridColumnMenuItemContent=pt,e.GridColumnMenuItemGroup=tt,e.GridColumnMenuSort=ht,e.GridColumnMenuWrapper=me,e.GridCommonDragLogic=_e,e.GridDetailRow=xt,e.GridEditCell=ce,e.GridFilterCell=Me,e.GridGroupCell=Ke,e.GridHeaderCell=fe,e.GridHierarchyCell=se,e.GridNoRecords=Ue,e.GridRow=We,e.GridSelectionCell=ie,e.GridToolbar=It,e.StatusBar=yt,e.booleanFilterValues=ye,e.cellBoolDropdownChange=Te,e.cellInputChange=we,e.cellOperatorChange=De,e.filterGroupByField=mt,e.getStatusData=e=>{const{dataItems:t,target:r,selectedField:s}=e,o=St(r.columns).map((e=>e.field)).filter((e=>e&&"string"==typeof e)).map((e=>i.getter(e))),a=i.getter(s),n={dates:[],numbers:[],booleans:[],others:[]};t.forEach((e=>{const t=a(e);t&&t.forEach((t=>{(e=>{"number"==typeof e?n.numbers.push(e):"boolean"==typeof e?n.booleans.push(e):e instanceof Date?n.dates.push(e):n.others.push(e)})(o[t](e))}))}));const l=n.dates.map((e=>e.getTime())),c=n.booleans.filter((e=>e)).length,h=n.booleans.filter((e=>!e)).length,p=n.numbers.length?n.numbers.reduce(((e,t)=>e+t),0):void 0,d={sum:p,average:"number"==typeof p?p/n.numbers.length:void 0,min:n.numbers.length?Math.min(...n.numbers):void 0,max:n.numbers.length?Math.max(...n.numbers):void 0,count:n.numbers.length+n.booleans.length+n.dates.length+n.others.length,isTrue:c>0?c:void 0,isFalse:h>0?h:void 0,earliest:n.dates.length?new Date(Math.min(...l)):void 0,latest:n.dates.length?new Date(Math.max(...l)):void 0},u=(e,t)=>"sum"!==t&&"average"!==t||"number"!=typeof e?("earliest"===t||"latest"===t)&&e instanceof Date?e.toLocaleDateString():String(e):e.toFixed(2),g=[];return Object.keys(d).forEach((e=>{const t=e,r=d[t];void 0!==r&&g.push({type:t,value:r,formattedValue:u(r,t)})})),g},e.gridMessages=te,e.leafColumns=St,e.operators=xe,e.pagerFirstPage=N,e.pagerInfo=R,e.pagerItemPerPage=F,e.pagerLastPage=M,e.pagerNextPage=D,e.pagerPreviousPage=T,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,i,s,o,a,l,n,h,c,p,d,u){"use strict";function g(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{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 b={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0};function v(e,t){const r=(e||"").split(".");let i=t;return r.forEach((e=>{i=i?i[e]:void 0})),i}function C(e,t,r,i,s,o,a=0){let l=a;for(let n=0;n<t.length;n++){if(!s||void 0===t[n].value||void 0===t[n].items){e[e.length]={dataIndex:i.index,dataItem:t[n],rowType:"data",level:a,expanded:void 0===o||v(o,t[n])},i.index++;continue}l=Math.max(l,a+1);const h=void 0===o||void 0===v(o,t[n])||v(o,t[n]);e[e.length]={dataIndex:-1,dataItem:t[n],level:a,rowType:"groupHeader",expanded:h},h&&(l=Math.max(C(e,t[n].items,r,i,s,o,a+1),l)),("always"===r||h&&"visible"===r)&&(e[e.length]={dataIndex:-1,dataItem:t[n],rowType:"groupFooter",level:a,expanded:h})}return l}function k(e,t,r,i=0){let o=[];if(!e)return[];e&&void 0===e.length&&(e=[e]),e.filter((e=>e&&e.props?!e.props.hidden:!e.hidden)).forEach(((e,a)=>{e=e.props?e.props:e;const l=t[a]||null,n=k(e.children,l&&l.children||[],r,i+1);o.push(Object.assign({depth:i},b,n.length?{cell:()=>null,filterCell:()=>null}:{},l?{width:l.width,orderIndex:l.orderIndex}:{},e,{id:e.id?e.id:s.tableKeyboardNavigationTools.generateNavigatableId(""+r.prevId++,r.idPrefix,"column"),declarationIndex:o.length,children:n,rowSpan:0,colSpan:0,isAccessible:!0,left:l&&Math.floor(l.left),right:l&&Math.floor(l.right)}))}));if(o.sort(((e,t)=>e.orderIndex===t.orderIndex?e.declarationIndex-t.declarationIndex:(e.orderIndex||0)-(t.orderIndex||0))),0===i){let e=[];const t=(r,i)=>r.forEach((r=>{r.parentIndex=i,t(r.children,e.push(r)-1)}));return t(o,-1),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 x=e=>void 0!==e.width?Math.floor(parseFloat(e.width.toString()))+"px":void 0,E=e=>(e.sort(((e,t)=>e.declarationIndex-t.declarationIndex)),e.map((e=>{const{declarationIndex:t,parentIndex:r,depth:i,colSpan:s,rowSpan:o,index:a,kFirst:l,children:n,...h}=e;return n.length?{children:E(n),...h}:h}))),I="undefined"!=typeof window&&/Firefox/.test(window.navigator.userAgent),y=17895697,S=(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},w="grid.noRecords",R="grid.pagerInfo",N="grid.pagerFirstPage",T="grid.pagerPreviousPage",D="grid.pagerNextPage",M="grid.pagerLastPage",F="grid.pagerItemsPerPage",L="grid.groupPanelEmpty",z="grid.groupColumn",O="grid.ungroupColumn",G="grid.columnMenu",_="grid.filterClearButton",H="grid.filterSubmitButton",P="grid.filterTitle",A="grid.sortAscending",K="grid.sortDescending",W="grid.searchPlaceholder",B="grid.filterCheckAll",V="grid.filterChooseOperator",q="grid.filterSelectedItems",U="grid.sortAriaLabel",j="grid.filterAriaLabel",$="grid.groupPanelAriaLabel",X="grid.groupExpand",Y="grid.groupCollapse",J="grid.detailExpand",Q="grid.detailCollapse",Z="grid.selectRow",ee="grid.gridAriaLabel",te={[J]:"Expand detail row",[Q]:"Collapse detail row",[X]:"Expand group",[Y]:"Collapse Group",[w]:"No records available",[L]:"Drag a column header and drop it here to group by that column",[_]:"Clear",[H]:"Filter",[P]:"Filter",[A]:"Sort Ascending",[K]:"Sort Descending",[U]:"Sortable",[z]:"Group Column",[O]:"Ungroup Column",[G]:"Column menu",[F]:"items per page",[R]:"{0} - {1} of {2} items",[N]:"Go to the first page",[T]:"Go to the previous page",[D]:"Go to the next page",[M]:"Go to the last page","grid.pagerPage":"Page","grid.pagerPageSizeAriaLabel":"Page size","grid.pagerOf":"of","grid.pagerTotalPages":"{0}",[W]:"Search",[B]:"Check All",[V]:"Choose Operator",[q]:"selected items",[j]:"Filter",[$]:"Group panel",[ee]:"Table",[Z]:"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 re(e){const t=e.replace(/^pager\.([a-z])/,((e,t)=>"grid.pager"+t.toUpperCase()));return{messageKey:t,defaultMessage:te[t]}}const ie=e=>{const{selectionChange:t,field:r,dataItem:a,id:l,className:n,colSpan:h,style:c,ariaColumnIndex:p,rowType:d,cells:u,render:g}=e,f=o.useLocalization(),b=m.useCallback((e=>{t&&t({syntheticEvent:e})}),[t]),C=i.useId(),k=v(r,a),x=s.useTableKeyboardNavigation(l),E={colSpan:h,style:c,className:i.classNames("k-table-td",n),"aria-colindex":p,role:"gridcell",...x},I="boolean"==typeof k&&k,y=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(Z,te[Z]),"aria-checked":I,checked:I,onChange:b})),S="groupHeader"!==d?m.createElement("td",{...E},y):null,w=d||"data",R=u;if(R&&R.select&&R.select[w]){const t=R.select[w];return m.createElement(t,{...e,tdProps:E},y)}return g?g.call(void 0,S,e):S},se=e=>{let t=null,r=null,l=null;const n=v(e.field,e.dataItem),h=s.useTableKeyboardNavigation(e.id),c=o.useLocalization(),p=m.useCallback((t=>{t.isDefaultPrevented()||t.keyCode===i.Keys.enter&&e.onChange&&(t.preventDefault(),e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:t,field:e.field,value:!n}))}),[e.dataItem,e.dataIndex,e.field,e.onChange,n]);if("groupFooter"===e.rowType)r={className:"k-table-td k-hierarchy-cell",role:"gridcell",...h},t=m.createElement("td",{...r});else if("groupHeader"!==e.rowType){const s=n?Q:J,o=c.toLanguageString(s,te[s]);r={className:"k-table-td k-hierarchy-cell",onKeyDown:p,"aria-expanded":!!n,role:"gridcell","aria-colindex":e.ariaColumnIndex,...h},l=m.createElement("a",{onClick:t=>{t.preventDefault(),e.onChange&&e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,syntheticEvent:t,field:e.field,value:!n})},"aria-label":o,href:"#",tabIndex:-1},m.createElement(i.IconWrap,{name:n?"minus":"plus",icon:n?a.minusIcon:a.plusIcon})),t=m.createElement("td",{...r},l)}const d=e.rowType||"data",u=e.cells;if(u&&u.hierarchy&&u.hierarchy[d]){const t=u.hierarchy[d];return m.createElement(t,{...e,tdProps:r},l)}return e.render?e.render.call(void 0,t,e):t},oe=s.TABLE_ROW_INDEX_ATTRIBUTE,ae=s.TABLE_COL_INDEX_ATTRIBUTE,le=s.TABLE_PREVENT_SELECTION_ELEMENT,ne=/^(?!.*\bChrome).*\bSafari/i,he=e=>{const t=v(e.field,e.dataItem);let r=null;const o=i.classNames("k-table-td","k-grid-edit-cell",{"k-selected":e.isSelected},e.className),a=i.useId(),h=s.useTableKeyboardNavigation(e.id);let c=null,p=null;const d=m.useCallback((t=>{if(e.onChange){const r="checkbox"===t.target.type?t.target.checked:t.target.value;e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,syntheticEvent:t,value:r})}}),[e.onChange,e.dataItem,e.dataIndex,e.field]),u=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]),g=m.useCallback((t=>{e.onChange&&e.onChange({dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,syntheticEvent:t.syntheticEvent,value:t.value})}),[e.onChange,e.dataItem,e.dataIndex,e.field]);switch(e.editor){case"numeric":c={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ae]:e.columnIndex,role:"gridcell",...h},p=m.createElement(l.NumericTextBox,{value:void 0===t?null:t,onChange:g,[s.TABLE_PREVENT_SELECTION_ELEMENT]:!0}),r=m.createElement("td",{...c},p);break;case"date":c={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ae]:e.columnIndex,role:"gridcell",...h},p=m.createElement(n.DatePicker,{value:t,onChange:g,[s.TABLE_PREVENT_SELECTION_ELEMENT]:!0}),r=m.createElement("td",{...c},p);break;case"boolean":c={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ae]:e.columnIndex,role:"gridcell",...h},p=[m.createElement("span",{key:1,className:"k-checkbox-wrap"},m.createElement("input",{checked:t||!1,id:a,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:d})),m.createElement("label",{className:"k-checkbox-label",htmlFor:a,key:2})],r=m.createElement("td",{...c},p);break;default:c={onContextMenu:u,colSpan:e.colSpan,style:e.style,className:o,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ae]:e.columnIndex,role:"gridcell",...h},p=m.createElement("input",{style:{width:"100%"},className:"k-input",value:t||"",onChange:d,[s.TABLE_PREVENT_SELECTION_ELEMENT]:!0}),r=m.createElement("td",{...c},p)}const f=e.editor||"text",b=e.cells;if(b){let t;return b.edit&&b.edit[f]?t=b.edit[f]:b.data&&(t=b.data),m.createElement(t,{...e,tdProps:c},p)}return e.render?e.render.call(void 0,r,e):r};let ce=class extends m.Component{constructor(){super(...arguments),this.headerWrap=null,this.table=null,this.syncScroll=!1,this.scrollbarWidth=i.getScrollbarWidth(),this.onScroll=e=>{if(this.syncScroll)return void(this.syncScroll=!1);if(!this.headerWrap)return;const t=this.headerWrap.scrollLeft,r=this.props.scrollableDataElement();r&&r.scrollLeft!==t&&(r.scrollLeft=t)}}get element(){return this.props.elemRef.current}componentDidMount(){const e=s.isRtl(this.element);this.props.columnResize&&this.props.columnResize.setIsRtl(e),this.forceUpdate()}setScrollLeft(e){this.headerWrap&&this.headerWrap.scrollLeft!==e&&(this.syncScroll=!0,this.headerWrap.scrollLeft=e)}setWidth(e){this.table&&(this.table.style.width=e+"px")}render(){return this.props.staticHeaders?m.createElement("div",{ref:this.props.elemRef,className:i.classNames("k-grid-header",this.props.className,{"k-grid-draggable-header":this.props.draggable}),role:"presentation"},m.createElement("div",{ref:e=>{this.headerWrap=e},className:"k-grid-header-wrap",style:this.props.hasScrollbarWidth?{}:{borderWidth:0},onScroll:this.onScroll,role:"presentation"},m.createElement("table",{ref:e=>{this.table=e},className:i.classNames("k-table k-grid-header-table",{"k-table-md":!this.props.size,[`k-table-${i.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),role:"presentation"},m.createElement("colgroup",{ref:e=>{this.props.columnResize.colGroupHeader=e}},this.props.cols),m.createElement("thead",{className:"k-table-thead",role:"rowgroup",...s.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)))):m.createElement("thead",{role:"presentation",className:i.classNames("k-table-thead",this.props.className,{"k-grid-draggable-header":this.props.draggable}),...s.tableKeyboardNavigationHeaderAttributes},this.props.headerRow,this.props.filterRow)}};const pe=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);let de=class extends m.PureComponent{constructor(){super(...arguments),this.draggable=null,this.onPress=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.pressHandler&&this.props.pressHandler(e.event,t)},this.onDrag=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.dragHandler&&this.props.dragHandler(e.event,t)},this.onRelease=e=>{this.draggable&&this.draggable.element&&this.props.releaseHandler&&this.props.releaseHandler(e.event)}}render(){return m.createElement(i.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,hint:this.props.dragClue,autoScroll:{boundaryElementRef:this.props.headerRef,direction:{horizontal:!0,vertical:!1}},scrollContainer:this.props.containerRef||void 0,ref:e=>{this.draggable=e}},m.createElement("tr",{className:"k-table-row",style:{touchAction:"none"},role:"row","aria-rowindex":this.props.ariaRowIndex},this.props.children))}};const ue=[".k-columnmenu-item-content",".k-filter-menu-container"].map((e=>i.TABBABLE_ELEMENTS.map((t=>`${e} ${t}`)))),ge=[[".k-tabstrip-items"],[".k-columnmenu-item"],...ue],me=e=>{const[t,r]=m.useState(!1),s=m.useRef(null),l=m.useRef(null),n=m.useRef(null),c=m.useRef(0),{columnMenu:p,...d}=e,{column:u,columnMenuIcon:g}=e,f=o.useLocalization(),b=u.title||u.field,v=b?`${b} `:"",C=()=>{e.onCloseMenu&&e.onCloseMenu(),r(!1),!e.navigatable&&s.current&&s.current.focus()},k=m.useMemo((()=>void 0!==e.show?e.show:t),[e.show,t]),x=(e,t,r)=>{r.preventDefault(),r.shiftKey?t.focusPrevious(e):t.focusNext(e)},E=(e,t,r)=>{e&&e.click()},I=(e,t,r)=>{r.preventDefault(),C()},y=(e,t,r)=>{r.preventDefault(),t.focusElement(e)};return m.useEffect((()=>(k&&l.current&&(n.current=new i.Navigation({tabIndex:0,root:l,selectors:ge,keyboardEvents:{keydown:{Tab:x,Enter:E,Escape:I}},mouseEvents:{mousedown:y}}),n.current.focusElement(n.current.first,null)),()=>{n.current&&(n.current=null)})),[k]),m.createElement(m.Fragment,null,m.createElement("a",{className:"k-grid-header-menu k-grid-column-menu",ref:s,onClick:i=>{i.preventDefault(),t&&e.onCloseMenu&&e.onCloseMenu(),r(!t)},onKeyDown:e=>{var t;if(e.keyCode===i.Keys.tab){const r=e.target,i=r&&(null==(t=r.closest(".k-grid"))?void 0:t.getElementsByClassName("k-grid-content")[0]);i&&i.scrollWidth>i.clientWidth&&r.scrollIntoView({inline:"center"})}},href:"#",tabIndex:e.navigatable?-1:void 0,"aria-label":`${v}${f.toLanguageString(G,te[G])}`},g?m.createElement(i.IconWrap,{name:g.name,icon:g}):m.createElement(i.IconWrap,{name:"more-vertical",icon:a.moreVerticalIcon})),m.createElement(h.Popup,{anchor:s.current,show:k,popupClass:"k-column-menu k-column-menu-popup k-grid-columnmenu-popup"},m.createElement("div",{ref:l,onBlur:e=>{const t=i.getActiveElement(document);clearTimeout(c.current),c.current=window.setTimeout((()=>{t&&e.relatedTarget!==s.current&&l.current&&!l.current.contains(t)&&C()}))},onFocus:()=>{clearTimeout(c.current)},onMouseDown:e=>{var t;null==(t=n.current)||t.triggerMouseEvent(e)},onKeyDown:e=>{var t;null==(t=n.current)||t.triggerKeyboardEvent(e)},style:{outline:"none"}},p&&m.createElement(p,{...d,onCloseMenu:C}))))};let fe=class extends m.Component{render(){const{columnMenuWrapperProps:e}=this.props,t=this.props.onClick?{onClick:this.props.onClick}:{},r=m.createElement("span",{className:"k-cell-inner"},m.createElement("span",{className:i.classNames("k-link",{"!k-cursor-default":!this.props.columnMenuWrapperProps.sortable}),...t},m.createElement("span",{className:"k-column-title"},this.props.title||this.props.field||" "),this.props.children),e.columnMenu&&m.createElement(me,{...e}));return this.props.render?this.props.render.call(void 0,r,this.props):r}};const be={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},ve={none:"none",asc:"ascending",desc:"descending"},Ce=e=>{const[t,r]=m.useState(),l=o.useLocalization(),n=m.useRef(null);let h=0,c=-1;const p=(t,r)=>{if(t.preventDefault(),!e.sortChange)return;const{allowUnsort:i,mode:s}=pe(e.sortable||!1,r.sortable||!1),o=(e.sort||[]).filter((e=>e.field===r.field))[0],a=be[i][o&&o.dir||""],l="single"===s?[]:(e.sort||[]).filter((e=>e.field!==r.field));""!==a&&r.field&&l.push({field:r.field,dir:a}),e.sortChange(l,t)},d=()=>{r(void 0),n.current&&"-1"!==n.current.getAttribute("tabindex")&&n.current.focus()},u=t=>e.sort?t>=0&&[m.createElement("span",{key:1,className:"k-sort-icon"},m.createElement(i.IconWrap,{name:"sort-"+e.sort[t].dir+"-small",icon:"asc"===e.sort[t].dir?a.sortAscSmallIcon:a.sortDescSmallIcon})),e.sort.length>1&&m.createElement("span",{key:2,className:"k-sort-icon"},m.createElement("span",{className:"k-sort-order"},t+1))]:null,g=o=>o.map((o=>{const a=e.columns[o],g=e.sortable&&a.sortable,f=e.sort?e.sort.findIndex((e=>e.field===a.field)):-1,b=f>=0&&e.sort[f].dir||"none",v=null===a.columnMenu?null:a.columnMenu||e.columnMenu,C=a.menuIcon||e.columnMenuIcon,k=i.classNames({"k-first":a.kFirst,"k-filterable":!!v,"k-table-th":!0,"k-header":!0,"k-grid-header-sticky":a.locked,"k-sorted":e.sort&&e.sort.some((e=>e.field===a.field))},a.headerClassName);!1===a.locked&&(a.left=0);const x=void 0!==a.left?e.isRtl?{left:a.right,right:a.left}:{left:a.left,right:a.right}:{},E=l.toLanguageString(U,te[U]),I=a.isAccessible?{ariaSort:ve[b],role:"columnheader",ariaColumnIndex:a.ariaColumnIndex,ariaSelected:!1,ariaDescription:g?E:""}:{role:"presentation"},y=a.declarationIndex>=0?++c:--h,w=a.headerCell?a.headerCell:fe,R=m.createElement(w,{key:1,field:a.field,onClick:g&&(e=>p(e,a))||void 0,selectionChange:e.selectionChange,title:a.title,selectionValue:a.headerSelectionValue,render:e.cellRender,children:u(f),columnMenuWrapperProps:{column:{field:a.field,title:a.title,locked:a.locked,filter:a.filter,id:a.id},sortable:g&&e.sortable,sort:e.sort,onSortChange:e.sortChange,filter:e.filter,filterable:e.filterable&&a.filterable,filterOperators:e.filterOperators,onFilterChange:e.filterChange,show:t===a.field||void 0,onCloseMenu:d,navigatable:e.navigatable,group:e.group,groupable:e.groupable,onGroupChange:e.groupChange,columnMenu:v,columnMenuIcon:C}}),N={...I,key:y,colSpan:a.colSpan,rowSpan:a.rowSpan,className:k,style:x,columnId:a.id,navigatable:a.navigatable,onKeyDown:t=>((t,s)=>{if(t.isDefaultPrevented())return;const{keyCode:o,metaKey:a,ctrlKey:l,altKey:h}=t,c=e.sortable&&s.sortable,d=t.target;if(c&&t.keyCode===i.Keys.enter&&-1!==d.className.indexOf("k-table-th")&&p(t,s),e.navigatable){if(e.groupable&&(a&&o===i.Keys.enter||l&&o===i.Keys.space)){t.preventDefault();const r=e.columns.findIndex((e=>e.field===s.field));e.columnGroupChange&&e.columnGroupChange(r,t)}h&&o===i.Keys.down&&(t.preventDefault(),r(s.field),n.current=d)}})(t,a),role:"columnheader"},T=[R,e.columnResize&&e.columnResize.resizable&&a.resizable&&m.createElement(s.ColumnResizer,{key:2,resize:(t,r,i)=>e.columnResize&&e.columnResize.dragHandler(t,a,r,i),autofit:t=>e.columnResize&&e.columnResize.dblClickHandler(t,[a.id])})],D=S(e.cells,a.cells);if(D&&D.headerCell){const e=D.headerCell;return m.createElement(e,{...R.props,key:y,thProps:N,index:o},T)}return m.createElement(s.HeaderThElement,{...N,key:y},T)}));return e.columnsMap.map(((t,r)=>e.pressHandler&&m.createElement(de,{key:r,pressHandler:e.pressHandler,dragHandler:e.dragHandler,releaseHandler:e.releaseHandler,ariaRowIndex:r+1,dragClue:e.dragClue,headerRef:e.headerRef,containerRef:e.containerRef},g(t))||m.createElement("tr",{key:r,className:"k-table-row",role:"row","aria-rowindex":r+1},g(t))))},ke=[{text:"grid.filterAndLogic",operator:"and"},{text:"grid.filterOrLogic",operator:"or"}],xe={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"}]},Ee=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,Ie=(e,t)=>e.map((e=>({text:t.toLanguageString(e.text,te[e.text]),operator:e.operator}))),ye=[{text:"grid.filterBooleanAll",operator:""},{text:"grid.filterIsTrue",operator:!0},{text:"grid.filterIsFalse",operator:!1}],Se={text:!1,numeric:!1,date:!1,boolean:!0},we=(e,t,r)=>{const i=Re(r.operators);let s=r.operator;switch(r.filterType){case"numeric":case"date":(!s||Ee(s))&&(s=i),null===e&&s===i&&(s="");break;case"text":(!s||Ee(s))&&(s=i),!e&&s===i&&(s="");break;default:return}r.onChange({value:e,operator:s,syntheticEvent:t})},Re=(e,t)=>t?e[t][0].operator:e[0].operator,Ne=e=>e||"text",Te=(e,t)=>{const r=e.target.value;t({value:r.operator,operator:""===r.operator?"":"eq",syntheticEvent:e.syntheticEvent})},De=(e,t,r)=>{let i=t;const s=e.target.value;e.target.state.opened&&(Ee(s.operator)&&(i=null),null===t&&!Ee(s.operator)&&(i=void 0),r({value:i,operator:s.operator,syntheticEvent:e.syntheticEvent}))};class Me extends m.Component{constructor(e){super(e),this._inputRef=m.createRef(),this.renderOperatorEditor=e=>{if("boolean"===this.props.filterType)return;const t=this.props.operators.find((e=>e.operator===this.props.operator))||null;return m.createElement(p.DropDownList,{size:this.props.size,value:t,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter k-icon",svgIcon:a.filterIcon,data:this.props.operators,textField:"text",title:e.toLanguageString(V,te[V]),popupSettings:{width:""}})},this.inputChange=this.inputChange.bind(this),this.clear=this.clear.bind(this),this.operatorChange=this.operatorChange.bind(this),this.boolDropdownChange=this.boolDropdownChange.bind(this)}render(){const e=o.provideLocalizationService(this),t=m.createElement("div",{className:"k-filtercell"},m.createElement("div",{className:"k-filtercell-wrapper"},this.filterComponent(this.props.filterType,this.props.value,this.props.booleanValues),m.createElement("div",{className:"k-filtercell-operator"},this.renderOperatorEditor(e)," ",m.createElement(c.Button,{size:this.props.size,icon:"filter-clear",svgIcon:a.filterClearIcon,className:i.classNames({"k-clear-button-visible":!!(null!==this.props.value&&""!==this.props.value||this.props.operator)}),title:e.toLanguageString(_,te[_]),type:"button",onClick:this.clear,disabled:!(null!==this.props.value&&""!==this.props.value||this.props.operator)}))));return this.props.render?this.props.render.call(void 0,t,this.props):t}inputChange(e,t){we(e,t,this.props)}operatorChange(e){De(e,this.props.value,this.props.onChange)}boolDropdownChange(e){Te(e,this.props.onChange)}clear(e){e.preventDefault(),this.props.onChange({value:"",operator:"",syntheticEvent:e}),this._inputRef.current&&(this._inputRef.current.element.value="",setTimeout((()=>{this._inputRef.current.element.focus()}),0))}filterComponent(e,t,r){switch(e){case"numeric":return m.createElement(l.NumericTextBox,{ref:this._inputRef,size:this.props.size,value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)},title:this.props.title,ariaLabel:this.props.ariaLabel});case"date":return m.createElement(n.DatePicker,{ref:this._inputRef,size:this.props.size,value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)},title:this.props.title,ariaLabel:this.props.ariaLabel});case"boolean":{const e=e=>null==e;return m.createElement(p.DropDownList,{ref:this._inputRef,size:this.props.size,onChange:this.boolDropdownChange,value:r.find((r=>r.operator===(e(t)?"":t))),data:r,textField:"text",title:this.props.title,ariaLabel:this.props.ariaLabel})}default:return m.createElement(l.TextBox,{ref:this._inputRef,size:this.props.size,value:t||"",onChange:e=>{this.inputChange(e.target.value,e.syntheticEvent)},title:this.props.title,"aria-label":this.props.ariaLabel})}}}o.registerForLocalization(Me);let Fe=class extends m.Component{headerCellClassName(e,t){let r=""+(t?"k-grid-header-sticky":"");return this.props.sort&&this.props.sort.filter((t=>t.field===e)).length>0&&(r+=" k-sorted"),r}setFilter(e,t,r,i){if(!this.props.filterChange)return;const s=[];(""!==e&&null!==e||""!==t)&&s.push({field:r,operator:t,value:e}),this.props.filter&&this.props.filter.filters&&(this.props.filter.filters||[]).forEach((e=>{const t=e;t&&t.field!==r&&s.push(t)}));const o=this.props.filter&&this.props.filter.logic?this.props.filter.logic:"and";this.props.filterChange(s.length>0?{logic:o,filters:s}:null,i)}render(){const e=o.provideLocalizationService(this),t=this.props.filter&&this.props.filter.filters||[];let r=0,a=-1;const l=this.props.columns.filter((e=>0===e.children.length)).map((o=>{const l=Ne(o.filter),n=(e=>{if(void 0===e)return;const r=t.filter((t=>t.field===e));return r.length?r[0]:void 0})(o.field),h=o.filterable?e.toLanguageString(j,te[j]):void 0;let c=n&&n.value;void 0===c&&(c="text"===l?"":null);const p=o.filterable&&{render:this.props.cellRender,field:o.field,title:o.filterTitle,value:c,operator:n&&n.operator,operators:Ie(this.props.filterOperators[l]||[],e),booleanValues:Ie(ye,e),filterType:l,ariaLabel:h,onChange:e=>{this.setFilter(e.value,e.operator,o.field,e.syntheticEvent)}},d=o.declarationIndex>=0?++a:--r,u={ariaLabel:h,ariaColumnIndex:o.ariaColumnIndex},g=void 0!==o.left?this.props.isRtl?{left:o.right,right:o.left}:{left:o.left,right:o.right}:{},f={columnId:s.tableKeyboardNavigationTools.getFilterColumnId(o.id),navigatable:o.navigatable||this.props.navigatable,style:g,className:i.classNames("k-table-th",this.headerCellClassName(o.field,o.locked)||void 0),role:"columnheader",...u},b=p&&(o.filterCell?m.createElement(o.filterCell,{...p}):m.createElement(Me,{size:this.props.size,...p})),v=S(this.props.cells,o.cells);if(v&&v.filterCell){const e=v.filterCell;return m.createElement(e,{key:d,...p,thProps:f,index:a},b)}return m.createElement(s.HeaderThElement,{key:d,...f},b)}));return m.createElement("tr",{className:"k-table-row k-filter-row","aria-rowindex":this.props.ariaRowIndex,role:"row"},l)}};o.registerForLocalization(Fe);class Le extends m.Component{constructor(){super(...arguments),this.draggable=null,this.onPress=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.onPress&&this.props.onPress(e.event,t)},this.onDrag=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.onDrag&&this.props.onDrag(e.event,t)},this.onRelease=e=>{this.draggable&&this.draggable.element&&this.props.onRelease&&this.props.onRelease(e.event)},this.sortChange=e=>{if(e.preventDefault(),this.props.onSortChange){const t="asc"===this.props.dir?"desc":"asc";this.props.onSortChange(e,t)}},this.handleKeyDown=e=>{(e.keyCode===i.Keys.delete||e.keyCode===i.Keys.backspace)&&(e.preventDefault(),e.stopPropagation(),this.props.onRemove&&this.props.onRemove(e))},this.groupRemove=e=>{e.preventDefault(),e.stopPropagation(),this.props.onRemove&&this.props.onRemove(e)},this.onContextMenu=e=>{const t={title:this.props.title,dir:this.props.dir,index:this.props.index};this.props.onContextMenu&&this.props.onContextMenu.call(void 0,e,{dataItem:{...t}})}}render(){const{dir:e}=this.props;return m.createElement(i.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:e=>{this.draggable=e}},m.createElement("div",{className:"k-chip k-chip-md k-chip-solid k-chip-solid-base k-rounded-md",onClick:this.sortChange,onContextMenu:this.onContextMenu,onKeyDown:this.handleKeyDown,tabIndex:0,role:"button",style:{touchAction:"none"}},m.createElement("span",null,m.createElement(i.IconWrap,{name:"sort-"+e+"-small",icon:"asc"===e?a.sortAscSmallIcon:a.sortDescSmallIcon,size:"small"})),m.createElement("span",{className:"k-chip-content"},this.props.title),m.createElement("span",{className:"k-chip-actions"},m.createElement("span",{className:"k-chip-action k-chip-remove-action",onClick:this.groupRemove},m.createElement(i.IconWrap,{name:"x-circle",icon:a.xCircleIcon,size:"small"})))))}}o.registerForLocalization(Le);class ze extends m.Component{constructor(){super(...arguments),this.onGroupRemove=(e,t)=>{const r=this.props.group.slice();r.splice(t,1),this.props.groupChange(r,e)},this.onGroupSortChange=(e,t,r,i)=>{const s=Object.assign({},r,{dir:i}),o=this.props.group.slice();o.splice(t,1,s),this.props.groupChange(o,e)}}render(){const e=(this.props.group||[]).map(((e,t)=>m.createElement(Le,{key:t,index:t,dir:e.dir||"asc",title:this.props.resolveTitle(e.field),onRemove:e=>{this.onGroupRemove(e,t)},onSortChange:(r,i)=>{this.onGroupSortChange(r,t,e,i)},onPress:this.props.pressHandler,onDrag:this.props.dragHandler,onRelease:this.props.releaseHandler,onContextMenu:this.props.onContextMenu})));return m.createElement("div",{ref:this.props.refCallback,className:"k-grouping-header",role:"toolbar","aria-label":o.provideLocalizationService(this).toLanguageString($,te[$]),"aria-controls":this.props.ariaControls||""},m.createElement("div",{className:"k-chip-list k-chip-list-md",role:"none"},e),m.createElement("div",{className:"k-grouping-drop-container"},!e.length&&o.provideLocalizationService(this).toLanguageString(L,te[L])," "))}}o.registerForLocalization(ze);let Oe=class extends m.Component{constructor(){super(...arguments),this.footerWrap=null,this.table=null}componentDidMount(){this.setState({})}setScrollLeft(e){this.footerWrap&&(this.footerWrap.scrollLeft=e)}setWidth(e){this.table&&(this.table.style.width=e+"px")}render(){return this.props.staticHeaders?m.createElement("div",{className:"k-grid-footer",role:"presentation"},m.createElement("div",{ref:e=>{this.footerWrap=e},className:"k-grid-footer-wrap",style:this.props.hasScrollbarWidth?{}:{borderWidth:0},role:"presentation"},m.createElement("table",{ref:e=>{this.table=e},className:i.classNames("k-table k-grid-footer-table",{"k-table-md":!this.props.size,[`k-table-${i.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),role:"presentation"},m.createElement("colgroup",{ref:e=>{this.props.columnResize.colGroupFooter=e},role:"presentation"},this.props.cols),m.createElement("tfoot",{className:"k-table-tfoot",role:"presentation"},this.props.row)))):m.createElement("tfoot",{className:"k-table-tfoot"},this.props.row)}},Ge=class{constructor(e){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.tableBodyRef=m.createRef(),this.fixedScroll=!1,this.askedSkip=void 0,this.containerRef=m.createRef(),this.tableTransform="",this.prevScrollPos=0,this.tableTranslate=0,this.scrollSyncing=!1,this.reactVersion=Number.parseFloat(m.version),this.topItems=(e,t)=>{if(!this.container||t)return{topItemsCount:0,topItemsHeight:0};const r=this.container.clientHeight,i=Math.ceil(r/e[0].line),s=Math.ceil((e.length-i)/2);let o=0;for(let t=0;t<s;t++)o+=e[t].line+e[t].acc;return{topItemsCount:s,topItemsHeight:o,itemsNeededOnScreen:i+i/2}},this.horizontalScrollbarHeight=()=>this.container?this.container.offsetHeight-this.container.clientHeight:0,e&&(this.topCacheCount=4,this.attendedSkip=-this.topCacheCount),this.scrollHandler=this.scrollHandler.bind(this)}get container(){return this.containerRef.current}get rowHeights(){const e=[],t=this.tableBodyRef.current&&this.tableBodyRef.current.children||[];let r=0;for(let i=0;i<t.length;i++)t[i].className.indexOf("k-grouping-row")>-1?r+=t[i].scrollHeight:t[i].className.indexOf("k-detail-row")>-1?e[e.length-1].line+=t[i].scrollHeight:(e.push({line:t[i].scrollHeight,acc:r}),r=0);return e}changePage(e,t){this.attendedSkip=e-this.topCacheCount,this.PageChange&&this.PageChange({skip:Math.max(0,e-this.topCacheCount),take:this.pageSize},t)}translate(e,t){this.tableTranslate=e,this.scrollableVirtual&&this.table&&(this.reactVersion<=17||t?this.table.style.transform="translateY("+e+"px)":this.tableTransform="translateY("+e+"px)")}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0,!0))}localScrollUp(e){if(!this.container)return;const t=this.rowHeights,r=this.container.scrollTop;let i=this.tableTranslate,s=0;const{topItemsCount:o,topItemsHeight:a,itemsNeededOnScreen:l}=this.topItems(t,!!this.topCacheCount),n=r-i;if(!(n>a||t.length<=l)){for(;s<this.topCacheCount+this.attendedSkip-this.realSkip+o&&this.propsSkip-s>0&&!(i+(t[t.length-1-s].line+t[t.length-1-s].acc)+n<=r);)i-=t[t.length-1-s].line+t[t.length-1-s].acc,s++;if(0===s&&0===this.topCacheCount&&this.attendedSkip>0&&(i=Math.max(i-t[0].line,0),s=1),this.propsSkip-s<=0&&i>r)return this.translate(0),this.changePage(0,e),void(this.container.scrollTop=0);if(i>r&&(i=r),i!==this.tableTranslate){this.translate(Math.max(0,i-a));const t=Math.max(0,this.propsSkip-s-o);this.changePage(t,e)}}}localScrollDown(e){if(!this.container)return;const t=this.rowHeights,r=this.container.scrollTop;let i=this.tableTranslate,s=0;const{topItemsCount:o,topItemsHeight:a,itemsNeededOnScreen:l}=this.topItems(t,!!this.topCacheCount);for(;s<t.length-this.topCacheCount&&!(i+t[s].line+t[s].acc>r);)i+=t[s].line+t[s].acc,s++;o>this.propsSkip+s||t.length<=l||(s>=t.length-this.topCacheCount&&this.propsSkip+s>=this.total?(this.translate(i-a),this.changePage(this.total-1-o,e)):i!==this.tableTranslate&&this.propsSkip+s-o!==this.propsSkip&&(this.translate(i-a),this.changePage(this.propsSkip+s-o,e)))}scrollNonStrict(e){const t=this.total*this.prevScrollPos/this.containerHeight;let r=Math.floor(t);r>=this.total&&(r=this.total-1);const i=Math.min(t-r,1);let s=0;const o=r-this.propsSkip,a=this.rowHeights;o>=0&&o<=1?s=-(a[0].line+a[0].acc)*i:-1===o&&(s=-(a[a.length-1].line+a[a.length-1].acc)*i);const{topItemsCount:l,topItemsHeight:n}=this.topItems(a,!!this.topCacheCount);this.translate(Math.max(0,s-n-this.horizontalScrollbarHeight()+this.containerHeight*t/this.total)),this.changePage(r-l,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}},_e=class{constructor(e){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.tableBodyRef=m.createRef(),this.fixedScroll=!1,this.askedSkip=void 0,this.containerRef=m.createRef(),this.tableTransform="",this.scrollSyncing=!1,this.lastLoaded=0,this.firstLoaded=0,this.lastScrollTop=0,this.reactVersion=Number.parseFloat(m.version),this.firstLoaded=this.pageSize,this.lastLoaded=this.realSkip+this.pageSize,this.scrollHandler=this.scrollHandler.bind(this)}get container(){return this.containerRef.current}translate(e,t){this.scrollableVirtual&&this.table&&(I||this.reactVersion<=17||t?this.table.style.transform="translateY("+e+"px)":this.tableTransform="translateY("+e+"px)")}changePage(e,t){this.PageChange&&this.PageChange({skip:Math.max(0,e),take:this.pageSize},t)}reset(){this.scrollSyncing=!0,!this.fixedScroll&&(this.container&&(this.container.scrollTop=0),this.translate(0,!0))}scrollHandler(e){if(!(this.scrollableVirtual&&this.container&&this.table&&this.rowHeightService&&this.containerRef.current))return;if(this.scrollSyncing)return void(this.scrollSyncing=!1);const t=this.container.scrollTop,r=this.lastScrollTop>=t,i=!r;this.lastScrollTop=t;let s=this.rowHeightService.index(t),o=this.rowHeightService.offset(s);const{offsetHeight:a}=this.containerRef.current,l=this.rowHeightService.index(t+a);if(i&&l>=this.lastLoaded&&this.lastLoaded<this.total){const t=s+this.pageSize-this.total;t>0&&(s-=t,o=this.rowHeightService.offset(s)),this.firstLoaded=s,this.translate(o);const r=this.firstLoaded+this.pageSize;this.lastLoaded=Math.min(r,this.total),this.changePage(this.firstLoaded,e)}else if(r&&s<this.firstLoaded){const t=Math.floor(.3*this.pageSize);this.firstLoaded=Math.max(s-t,0),this.translate(this.rowHeightService.offset(this.firstLoaded)),this.lastLoaded=Math.min(this.firstLoaded+this.pageSize,this.total),this.changePage(this.firstLoaded,e)}}},He=class{constructor(e){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=e=>{this.isRtl=e},this.dragHandler=(e,t,r,i)=>{const s=e.originalEvent;i||(s.preventDefault(),s.stopPropagation(),s.stopImmediatePropagation());const o=r.closest("th");if(!o||!o)return;const a=o.clientWidth;let l=a;if(this.isRtl?l+=r.getBoundingClientRect().right-r.offsetWidth/2-e.clientX:l+=e.clientX-r.getBoundingClientRect().left-r.offsetWidth/2,!i&&Math.abs(l-a)<1)return;this.fixateInitialWidths(o.parentElement.clientWidth),this.setWidths(t,Math.floor(l)/a);const n=this.columns.filter((e=>!e.children.length)).findIndex((e=>e.id===t.id));this.onResize(n,a,l,s,i,t.id)},this.dblClickHandler=(e,t)=>{const r=this.columns.filter((e=>t.indexOf(e.id)>-1));if(!this.colGroupMain||!r.length)return;const i={},s=r;for(;s.length>0;){const e=s.pop();if(!e)break;e.children.length?s.push(...e.children):i[e.id]=e}const o=this.columns.filter((e=>!e.children.length)),a=[];o.forEach(((e,t)=>{i[e.id]&&a.push(t)}));const l=[this.colGroupMain.parentElement],n=[this.colGroupMain];this.colGroupHeader&&(l.push(this.colGroupHeader.parentElement),n.push(this.colGroupHeader)),this.colGroupFooter&&(l.push(this.colGroupFooter.parentElement),n.push(this.colGroupFooter)),l.forEach((e=>e.classList.add("k-autofitting")));let h=[];n.forEach((e=>{a.forEach((t=>{e.children[t]&&(e.children[t].width="",h[t]=Math.max(h[t]||0,e.children[t].offsetWidth+1))}))})),n.forEach((e=>{a.forEach((t=>{e.children[t]&&(e.children[t].width=h[t]+"px",o[t].width=h[t])}))})),l.forEach((e=>e.classList.remove("k-autofitting"))),this.onResize(a[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 i=0;i<e.length;i++){const s=e[i],o=t.findIndex((e=>e.id===s.id)),a=parseFloat((s.width||0).toString()),l=Math.floor(a);r+=a-l;const n=l+Math.floor(r);if(r-=Math.floor(r),this.colGroupMain&&this.colGroupMain.children[o]){const e=parseInt(this.colGroupMain.children[o].width,10);this.colGroupMain.children[o].width=n+"px",this.updateNextLockedCol(this.colGroupMain.parentElement,s,e-n)}if(this.colGroupHeader&&this.colGroupHeader.children[o]){const e=parseInt(this.colGroupHeader.children[o].width,10);this.colGroupHeader.children[o].width=n+"px",this.updateNextLockedCol(this.colGroupHeader.parentElement,s,e-n)}if(this.colGroupFooter&&this.colGroupFooter.children[o]){const e=parseInt(this.colGroupFooter.children[o].width,10);this.colGroupFooter.children[o].width=n+"px",this.updateNextLockedCol(this.colGroupFooter.parentElement,s,e-n)}}},this.onResize=e}fixateInitialWidths(e){const t=this.columns.filter((e=>!e.children.length));let r=0,i=this.colGroupMain?this.colGroupMain.children:[];for(let t=0;t<i.length;t++)i[t].width?e-=parseFloat(i[t].width):r++;if(0===r)return;const s=Math.floor(e/r);for(let e=0;e<i.length;e++){const r=i[e];r.width||(r.width=s,t[e].width=s.toString(),this.colGroupHeader&&(this.colGroupHeader.children[e].width=s),this.colGroupFooter&&(this.colGroupFooter.children[e].width=s))}}setWidths(e,t){const r=this.columns.findIndex((t=>t.id===e.id)),i=[];let s=e.children.length;for(let e=r+1;s>0&&e<this.columns.length;e++,s--){const t=this.columns[e];t.children.length?s+=t.children.length:i.push(t)}return 0===i.length&&i.push(e),i.forEach((e=>{let r=e.width?parseFloat(e.width.toString())*t:0;const i=void 0===e.minResizableWidth?10:e.minResizableWidth;r<i&&(r=i),e.width=r})),this.updateColElements(i),i}updateNextLockedCol(e,t,r){const i=t.index,s=this.colGroupMain.parentElement.closest(".k-grid"),o=null==s?void 0:s.clientWidth,a=this.columns.filter((e=>e.locked)).map((e=>parseInt(e.width+"",10))).reduce(((e,t)=>e+t),0);!t.locked||o<=a+20||this.columns.forEach((t=>{if(null!=t&&t.locked&&r){const s=null==e?void 0:e.querySelectorAll('[aria-colindex="'+t.ariaColumnIndex+'"]');null==s||s.forEach((e=>{const s=e.style;this.isRtl?(t.index>i&&s&&s.right&&(s.right=parseInt(s.right,10)-r+"px"),t.index<i&&s&&s.left&&(s.left=parseInt(s.left,10)-r+"px")):(t.index>i&&s&&s.left&&(s.left=parseInt(s.left,10)-r+"px"),t.index<i&&s&&s.right&&(s.right=parseInt(s.right,10)-r+"px"))}))}}))}},Pe=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 i=this.currentColumn>=0?t.children[this.columns[this.currentColumn].index]:this.isTargetGroupingContainer(e)?e.originalEvent.target:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(e,t,i,r),this.updateDropElementClue(e,t,i,r)},this.releaseHandler=e=>{const t=this.startColumn,r=this.currentColumn,i=this.startGroup,s=this.currentGroup;e.originalEvent.preventDefault(),this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const o=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,o&&(t>=0&&r>=0?this.columnReorder(t,r,e.originalEvent):i>=0&&s>=0?this.groupReorder(i,s,e.originalEvent):t>=0&&s>=0&&this.columnToGroup(t,s,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=s.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 s.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,i){if(!this.dragElementClue)return;const s=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:s,status:i||!r?"k-i-cancel":"k-i-plus"})}updateDropElementClue(e,t,r,i){if(!this.dropElementClue)return;if(i||!r)return void this.dropElementClue.setState({visible:!1});const s=r.getBoundingClientRect(),o=(r.closest(".k-grouping-header")||r).getBoundingClientRect();let a=s.left+e.pageX-e.clientX-6;!this.isTargetGroupingContainer(e)&&(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&-1!==this.startGroup)&&(a+=s.width);const l=o.top+e.pageY-e.clientY;this.dropElementClue.setState({visible:!0,top:l,left:a,height:this.currentColumn>=0?t.clientHeight:o.height})}};const Ae=e=>{let t=null;const r=o.useInternationalization(),a=s.useTableKeyboardNavigation(e.id),l=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]);let n=null,h=null;if("groupFooter"===e.rowType)n={onContextMenu:l,className:e.className,...a},t=m.createElement("td",{...n});else if("groupHeader"!==e.rowType){if(void 0!==e.field){const t=v(e.field,e.dataItem);null!=t&&(h=e.format?r.format(e.format,t):t.toString())}const s=i.classNames("k-table-td",e.className,{"k-selected":e.isSelected});n={onContextMenu:l,colSpan:e.colSpan,style:e.style,className:s,role:"gridcell","aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,[ae]:e.columnIndex,...a},t=m.createElement("td",{...n},h)}const c=e.rowType||"data",p=e.cells;if(p&&p[c]){const t=p[c];return m.createElement(t,{...e,tdProps:n},h)}return e.render?e.render.call(void 0,t,e):t},Ke=e=>{let t=null;const{columnIndex:r,level:l,columnsCount:n,rowType:h,dataItem:c,field:p,onChange:d,expanded:u,render:g,dataIndex:f,ariaColumnIndex:b,isRtl:v}=e,C=p||"",k=s.useTableKeyboardNavigation(e.id),x=o.useLocalization();let E=null,I=null,y=null;const S=m.useCallback((e=>{e.isDefaultPrevented()||e.keyCode===i.Keys.enter&&d&&(e.preventDefault(),d({dataItem:c,dataIndex:f,syntheticEvent:e,field:void 0,value:!u}))}),[u,d,c,f]),w=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem,e.field)}),[e.onContextMenu,e.dataItem,e.field]),R=(t,r)=>{const s=u?Y:X,o=x.toLanguageString(s,te[s]);return E={className:"k-table-td",style:{...e.style,...r},colSpan:t,key:"g-colspan",role:"gridcell","aria-selected":!1,"aria-expanded":u,"aria-colindex":b,onKeyDown:S,onContextMenu:w,...k},y=m.createElement("p",{className:"k-reset"},m.createElement("a",{onClick:e=>{e.preventDefault(),d&&d({dataItem:c,dataIndex:f,syntheticEvent:e,field:void 0,value:!u})},href:"#",tabIndex:-1,"aria-label":o},m.createElement(i.IconWrap,{name:u?"caret-alt-down":v?"caret-alt-left":"caret-alt-right",icon:u?a.caretAltDownIcon:v?a.caretAltLeftIcon:a.caretAltRightIcon})),c[C]instanceof Date&&c[C].toString?c[C].toString():c[C]),m.createElement("td",{...E,key:E.key},y)};void 0===r||void 0===l||r<l||void 0===n||"groupHeader"!==h||void 0===c[C]?(E={style:e.style,key:"g"+r,className:i.classNames("k-table-td","k-group-cell",{"k-grid-content-sticky":e.locked}),role:"gridcell",onContextMenu:w,...k},t=m.createElement("td",{...E,key:E.key})):r<=l&&!e.locked?t=R(n-r,{}):r<=l&&e.locked&&(I={className:"k-table-td",role:"gridcell",colSpan:n-r,style:{borderLeftWidth:0,borderRightWidth:0},onContextMenu:w},t=m.createElement(m.Fragment,null,R(0,{position:"sticky",zIndex:2}),m.createElement("td",{...I})));const N=e.rowType||"data",T=e.cells;if(T&&T.group&&T.group[N]){const t=T.group[N];return m.createElement(t,{...e,tdProps:E,td2Props:I},y)}return g?g.call(void 0,t,e):t};let We=class extends m.Component{render(){const e=i.classNames("k-table-row",{"k-table-group-row k-grouping-row":"groupHeader"===this.props.rowType,"k-group-footer":"groupFooter"===this.props.rowType,"k-master-row":"groupHeader"!==this.props.rowType&&"groupFooter"!==this.props.rowType,"k-table-alt-row k-alt":"groupHeader"!==this.props.rowType&&"groupFooter"!==this.props.rowType&&this.props.isAltRow,"k-selected":this.props.isSelected,"k-grid-edit-row":this.props.isInEdit}),t=m.createElement("tr",{id:this.props.id,onClick:this.props.onClick,onDoubleClick:this.props.onDoubleClick,className:e,style:{height:this.props.rowHeight?this.props.rowHeight+"px":"",visibility:this.props.isHidden?"hidden":""},role:"row","aria-rowindex":this.props.ariaRowIndex,"absolute-row-index":this.props.absoluteRowIndex,key:this.props.absoluteRowIndex,[oe]:"data"===this.props.rowType?this.props.dataIndex:void 0},this.props.children);return this.props.render?this.props.render.call(void 0,t,this.props):t}},Be=class extends m.Component{get _inputId(){return this.props.id}render(){const e=o.provideLocalizationService(this),{columnMenuWrapperProps:t}=this.props,r=[m.createElement("span",{key:0,className:"k-checkbox-wrap"},m.createElement("input",{id:this._inputId,type:"checkbox",tabIndex:-1,className:"k-checkbox k-checkbox-md k-rounded-md","aria-label":e.toLanguageString(Z,te[Z]),"aria-checked":this.props.selectionValue,checked:this.props.selectionValue,onChange:e=>this.props.selectionChange({field:this.props.field,syntheticEvent:e})})),t.columnMenu&&m.createElement(me,{...t})];return this.props.render?this.props.render.call(void 0,r,this.props):r}};o.registerForLocalization(Be);const Ve=i.withIdHOC(Be),qe=class extends m.Component{render(){return this.props.children||o.provideLocalizationService(this).toLanguageString(w,te[w])}};qe.displayName="KendoReactGridNoRecords";let Ue=qe;o.registerForLocalization(Ue);const je=e=>{const{column:t,index:r,isRtl:o,id:a,cells:l}=e,n=s.useTableKeyboardNavigation(a),h={colSpan:1!==t.colSpan?t.colSpan:void 0,style:void 0!==t.left?o?{left:t.right,right:t.left}:{left:t.left,right:t.right}:{},className:i.classNames("k-table-td",t.locked&&void 0!==t.left?"k-grid-footer-sticky":""),key:r,role:"gridcell","aria-colindex":t.ariaColumnIndex,...n},c={field:t.field,ariaColumnIndex:t.ariaColumnIndex,...h},p=S(l,t.cells);if(p&&p.footerCell){const e=p.footerCell;return m.createElement(e,{...c,tdProps:h,index:r})}return t.footerCell&&m.createElement(t.footerCell,{...c,key:r})||m.createElement("td",{...h})},$e=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 i=s.tableKeyboardNavigationTools.generateNavigatableId(`${r}-footercell`,e.idPrefix,"nodata");return m.createElement(je,{key:i,column:t,id:i,index:r,cells:e.cells,isRtl:e.isRtl})}))),Xe=e=>(({buttonCount:e=10,info:t=!0,type:r="numeric",pageSizes:i,previousNext:s=!0,responsive:o,navigatable:a,pageSizeValue:l})=>({buttonCount:e,info:t,pageSizes:!0===i?[5,10,20]:i||void 0,previousNext:s,responsive:!1!==o,navigatable:!1!==a,type:r,pageSizeValue:l}))(!0===e?{}:e),Ye={name:"@progress/kendo-react-grid",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},Je=e=>{const{colSpan:t,ariaColIndex:r,dataItem:i,dataIndex:o,id:a}=e,l=s.useTableKeyboardNavigation(a),n=m.useCallback((t=>{e.onContextMenu&&e.onContextMenu.call(void 0,t,e.dataItem)}),[e.onContextMenu,e.dataItem]);return m.createElement("td",{onContextMenu:n,className:"k-table-td k-detail-cell",colSpan:t,"aria-colindex":r,role:"gridcell",...l},m.createElement(e.detail,{dataItem:i,dataIndex:o}))},Qe=e=>m.createElement("td",{className:"k-table-td k-hierarchy-cell",role:"gridcell"}),Ze=class extends m.Component{constructor(e){super(e),this._columns=[],this._columnsMap=[[]],this._columnsMutations=0,this._resized=!1,this._focusFirst=!1,this._singleEditRow=!1,this._shouldUpdateLeftRight=!0,this._scrollbarWidth=void 0,this.contextStateRef={current:void 0},this.navigationStateRef={current:void 0},this._data=[],this._slicedData=void 0,this.wrapperScrollTop=0,this.showLicenseWatermark=!1,this.headerRef=m.createRef(),this.headerElementRef=m.createRef(),this._element=null,this.tableElement=null,this.containerRef=m.createRef(),this.tableBodyRef=m.createRef(),this._footer=null,this.forceUpdateTimeout=void 0,this.isRtl=!1,this.headTable=null,this.rowsInEdit=[],this.observer=null,this.handleIntersection=e=>{const t={rowIndex:this.rowIndex};e.forEach((e=>{e.isIntersecting||this.setCurrentOnTop(t)}))},this.setCurrentOnTop=e=>{if(!this.vs.container||"none"===this.props.scrollable)return;this.observer&&this.observer.disconnect();const{rowIndex:t}=e;if("virtual"===this.props.scrollable)this.vs.askedSkip=t,this.vs.container.scroll(0,Math.round(this.vs.askedSkip/this.vs.total*this.vs.container.scrollHeight));else if(this.element){const e=t<1?this.element.querySelector("tbody > tr:nth-child(1)"):this.element.querySelector(`tbody > tr:nth-child(${t+1})`);e&&this.containerRef.current&&(this.containerRef.current.scrollTop=e.offsetTop)}},this.scrollIntoView=e=>{if(!this.vs.container||"none"===this.props.scrollable)return;this.rowIndex=e.rowIndex;const{rowIndex:t}=e,r=this.element;if(this.observer&&r){this.observer.disconnect();const i=r.querySelector(`[absolute-row-index="${t}"]`);i?this.observer.observe(i):this.setCurrentOnTop(e)}},this.fitColumns=e=>{this.columnResize.dblClickHandler(null,e)},this.getColumnsEssentialProps=e=>JSON.stringify(e.map((e=>({id:e.id,field:e.field,title:e.title,children:e.children})))),this.checkMatchMediaColumnsDifferece=()=>{const e=this.childrenToArray(this.props.children);return this.getColumnsEssentialProps(e)===this.getColumnsEssentialProps(this._columns)},this.onContextMenu=(e,t,r)=>{if(this.props.onContextMenu){const i={target:this,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:t,field:r};this.props.onContextMenu.call(void 0,i)}},this.getVirtualScroll=e=>{const{rowHeight:t,detailRowHeight:r,detail:i,expandField:s,groupable:o}=e,a=this.isAllData(),l=void 0!==t&&t>0,n=void 0!==r&&r>0,h=!0===o||"object"==typeof o&&!1!==o.enabled;return!l||h&&!a||i&&s&&(!n||!a)?Ge:_e},this.isAllData=()=>{const{data:e,total:t}=this.props;return Array.isArray(e)?e.length===t:!!e&&t===e.total},this.initializeVirtualization=(e,t)=>{if(this.reInitVirtualization("virtual"===this.props.scrollable,this.props.total,this.props.filter,this.props.group,this.props.sort,t||void 0===this.props.rowHeight||0===this.props.rowHeight),this.vs.fixedScroll=this.props.fixedScroll||!1,this.vs.PageChange=this.pageChange,this.vs.realSkip=this.props.skip||0,this.vs.pageSize=(void 0!==this.props.take?this.props.take:this.props.pageSize)||0,this.vs.scrollableVirtual="virtual"===this.props.scrollable,this.vs.total=e,this.vs.propsSkip=(this.props.skip||0)+("virtual"===this.props.scrollable?this.vs.topCacheCount+(this.vs.attendedSkip-(this.props.skip||0)):0),void 0!==this.props.rowHeight&&this.props.rowHeight>0&&!t){const t=this.props.rowHeight*e;this.vs.containerHeight=I?Math.min(y,t):t}else this.vs.containerHeight=1533915;if(this.vs.containerRef=this.containerRef,this.vs.tableBodyRef=this.tableBodyRef,this.vs.table=this.tableElement,this._slicedData=void 0,this.vs instanceof _e){const{rowHeight:t=0,detail:r,expandField:s}=this.props;let{detailRowHeight:o=0}=this.props;o=r&&s?o:t,this.isAllData()?(this.vs.total=this._data.length,this._slicedData=this._data.slice(this.vs.realSkip,this.vs.realSkip+this.vs.pageSize),this.vs.rowHeightService=this.rowHeightService(this.vs,this._data.length,t,o,this._data)):this.vs.rowHeightService=new i.RowHeightService(e,t,o);const a=this.vs.rowHeightService.totalHeight();this.vs.containerHeight=I?Math.min(y,a):a}},this.getCachedScrollbarWidth=()=>(this._scrollbarWidth||(this._scrollbarWidth=i.getScrollbarWidth()||void 0),this._scrollbarWidth),this.scrollHandler=e=>{if(e.target!==e.currentTarget)return;clearTimeout(this.forceUpdateTimeout),this.vs.table=this.tableElement;const t=e.currentTarget.scrollLeft,r=e.currentTarget.scrollTop;this.props.columnVirtualization&&(!this.vs.scrollableVirtual||r===this.wrapperScrollTop)&&(this.forceUpdateTimeout=window.setTimeout((()=>{this.forceUpdate()}),0)),this._header&&this._header.setScrollLeft(t),this._footer&&this._footer.setScrollLeft(t),this.vs&&r!==this.wrapperScrollTop&&this.vs.scrollHandler(e),i.dispatchEvent(this.props.onScroll,e,this,void 0),this.wrapperScrollTop=r},this.onKeyDown=e=>{if(s.tableKeyboardNavigation.onKeyDown(e,{navigatable:this.props.navigatable||!1,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,onNavigationAction:this.onNavigationAction,columns:this.columns}),this.props.onKeyDown){const{mode:t,cell:r}=s.getSelectionOptions(this.props.selectable),i={dataItems:this.getLeafDataItems(),mode:t,cell:r,componentId:this._gridId,selectedField:this.props.selectedField,...this.getArguments(e)};this.props.onKeyDown.call(void 0,i)}},this.onFocus=e=>{s.tableKeyboardNavigation.onFocus(e,{navigatable:!!this.props.navigatable,contextStateRef:this.contextStateRef})},this.onNavigationAction=e=>{if("moveToNextPage"===e.action&&this.moveToNextPage(e.event),"moveToPrevPage"===e.action&&this.moveToPrevPage(e.event),e.focusElement&&"reorderToRight"===e.action){const t=parseInt(e.focusElement.ariaColIndex,10)-1;t<this._columns.length-1&&this.columnReorder(t,t+1,e.event)}if(e.focusElement&&"reorderToLeft"===e.action){const t=parseInt(e.focusElement.ariaColIndex,10)-1;t>0&&this.columnReorder(t,t-1,e.event)}if(this.props.onNavigationAction){const t={focusElement:e.focusElement,...this.getArguments(e.event)};this.props.onNavigationAction.call(void 0,t)}},this.rowClick=(e,t)=>{this.props.onRowClick&&"TD"===e.target.nodeName&&this.props.onRowClick.call(void 0,{dataItem:t.dataItem,...this.getArguments(e)})},this.rowDblClick=(e,t)=>{this.props.onRowDoubleClick&&"TD"===e.target.nodeName&&this.props.onRowDoubleClick.call(void 0,{dataItem:t.dataItem,...this.getArguments(e)})},this.itemChange=e=>{const t=this.props.onItemChange;if(e.field===this.props.expandField||this.props.group&&void 0===e.field){const t=this.props.onExpandChange;t&&t.call(void 0,{...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,value:e.value})}else t&&t.call(void 0,{...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,field:e.field,value:e.value})},this.onHeaderSelectionChange=e=>{this.props.onHeaderSelectionChange&&this.props.onHeaderSelectionChange.call(void 0,{field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:this,dataItems:this.getLeafDataItems(),selectedField:this.props.selectedField})},this.selectionRelease=e=>{if(this.props.onSelectionChange){const t=this.getSlicedLeafDataItems()[e.startRowIndex],r=this.getSlicedLeafDataItems()[e.endRowIndex],i={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._gridId,dataItems:this.getLeafDataItems(),dataItem:null,startDataItem:t,endDataItem:r,...e};this.props.onSelectionChange.call(void 0,i)}},this.pageChange=(e,t,r)=>{this.raiseDataEvent(this.props.onPageChange,{page:e},{skip:e.skip,take:e.take},t,r)},this.getTotal=()=>{let e=this.props.total||0;return Array.isArray(this.props.data)?e=e||this.props.data.length:this.props.data&&(e=e||this.props.data.total),e},this.moveToNextPage=e=>{const t=this.props.take||0,r=(this.props.skip||0)+t;r<this.getTotal()&&this.pageChange({skip:r,take:t},e)},this.moveToPrevPage=e=>{const t=this.props.take||0,r=(this.props.skip||0)-t;r>=0&&this.pageChange({skip:r,take:t},e)},this.pagerPageChange=e=>{this.pageChange({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},this.sortChange=(e,t)=>{this.raiseDataEvent(this.props.onSortChange,{sort:e},{sort:e,..."virtual"===this.props.scrollable?{skip:0}:{}},t)},this.filterChange=(e,t)=>{this.raiseDataEvent(this.props.onFilterChange,{filter:e},{filter:e||void 0,skip:0},t)},this.groupChange=(e,t)=>{const r=t.nativeEvent?t:{nativeEvent:t.nativeEvent||t.originalEvent};0===e.length&&this.props.navigatable&&(this._focusFirst=!0),this._columnsMutations++,this.raiseDataEvent(this.props.onGroupChange,{group:e},{group:e,skip:0},r)},this.onClipboard=(e,t)=>{if(this.props.onClipboard){if(!this.inActiveElement()||!e)return;this.props.onClipboard.call(void 0,{type:e,nativeEvent:t,columns:this._columns,dataItemKey:this.props.dataItemKey||"",..."boolean"!=typeof this.props.clipboard?this.props.clipboard:{}})}},this.inActiveElement=()=>{var e,t,r;if(!i.canUseDOM)return!1;const s=i.getActiveElement(this.document),o=s?s.matches(".k-table-td")?s:null==(e=this.document)?void 0:e.body:null==(t=this.document)?void 0:t.body,a=o.closest(".k-grid-container"),l=o&&(null==(r=this._element)?void 0:r.contains(o));return!!(o&&l&&a)},this.onResize=(e,t,r,i,s,o)=>{this.resetTableWidth(),this._shouldUpdateLeftRight=!0,this._resized=!0,this._columnsMutations++,this.props.onColumnResize&&this.props.onColumnResize.call(void 0,{columns:this.columns,nativeEvent:i,targetColumnId:o,index:e,newWidth:t,oldWidth:r,end:s,target:this})},this.reInitVirtualization=i.memoizeOne(((e,t,r,i,s,o)=>{this.vs.reset();const a=this.getVirtualScroll(this.props);this.vs=new a(o)})),this.flatData=i.memoizeOne(((e,t,r,i,s,o,a)=>{const l=[];return{flattedData:l,resolvedGroupsCount:C(l,e,t,{index:r},void 0!==i,s)}})),this.rowHeightService=i.memoizeOne(((e,t,r,s,o)=>new i.RowHeightService(t,r,s,o))),this.childrenToArray=i.memoizeOne((e=>m.Children.toArray(e))),this.readColumns=i.memoizeOne(((e,t,r)=>{const i=e.filter((e=>e&&e.type&&"KendoReactGridColumn"===e.type.displayName));return k(i,this.columns,{prevId:0,idPrefix:t})})),this.mapColumns=i.memoizeOne(((e,t)=>s.mapColumns(e,!0))),this.filterColumnsByMediaProp=e=>e.filter((e=>i.canUseDOM&&e&&e.media?window.matchMedia(e.media).matches:e)),this.configureColumns=i.memoizeOne(((e,t,r)=>{this.props.selectedField&&e.filter((e=>e.field===this.props.selectedField)).forEach((e=>{e.width=e.width||"50px",e.cell=e.cell||ie,e.headerCell=e.headerCell||Ve}));const i={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 s=0;this.props.expandField&&this.props.onExpandChange&&this.props.detail&&(e.unshift({...i,cell:se,field:this.props.expandField,headerClassName:"k-hierarchy-cell k-header"}),s++);for(let r=0;r<t;r++)e.unshift({...i,isAccessible:!1,cell:Ke,field:"value",locked:this.props.lockGroups}),s++;e.slice(s).forEach((e=>e.parentIndex>=0&&(e.parentIndex+=s)))})),this.getHeaderRow=i.memoizeOne(((e,t,r,i,s,o,a,l,n,h,c,p,d)=>m.createElement(Ce,{cells:this.props.cells,sort:e,sortable:t,sortChange:this.sortChange,group:r||[],groupable:i,groupChange:this.groupChange,filter:s,filterable:o,filterOperators:a,filterChange:this.filterChange,columnMenu:n,columnMenuIcon:h,selectionChange:this.onHeaderSelectionChange,columns:c,columnResize:this.columnResize,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,columnsMap:p,cellRender:l,isRtl:d,dragClue:this.dragLogic.dragClueRef,headerRef:this.headerElementRef,containerRef:this.containerRef,navigatable:!!this.props.navigatable,columnGroupChange:this.columnGroupChange}))),this.resolveTitle=e=>{const t=this._columns.find((t=>t.field===e)),r=t&&(t.title||t.field);return void 0===r?e:r},this.getLeafDataItems=()=>this._data.filter((e=>"data"===e.rowType)).map((e=>e.dataItem)),this.getSlicedLeafDataItems=()=>(this._slicedData||this._data).filter((e=>"data"===e.rowType)).map((e=>e.dataItem)),this.handleFocusInEditableRows=()=>{var e,t,r;if(this.tableBodyRef.current&&(null==(e=this.tableBodyRef.current)?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){this._singleEditRow=!1,null!=(t=document.activeElement)&&t.closest(".k-grid-edit-row")?this._lastActiveElement=document.activeElement:this._lastActiveElement=void 0;const e=Array.from(null==(r=this.tableBodyRef.current)?void 0:r.getElementsByClassName("k-grid-edit-row"));e.length>this.rowsInEdit.length?this._newEditableRow=e.filter((e=>!this.rowsInEdit.includes(e)))[0]:1===e.length&&(this._newEditableRow=e[0],this._singleEditRow=!0),this.rowsInEdit=e}},i.validatePackage(Ye),this.showLicenseWatermark=i.shouldShowValidationUI(Ye);const t=!0===this.props.groupable||"object"==typeof this.props.groupable&&!1!==this.props.groupable.enabled,r=this.getVirtualScroll(e);this.vs=new r(t||void 0===e.rowHeight||0===e.rowHeight),this.dragLogic=new Pe(this.columnReorder.bind(this),this.groupReorder.bind(this),this.columnToGroup.bind(this)),this.columnGroupChange=this.columnGroupChange.bind(this),this.columnResize=new He(this.onResize),this.props.clipboard&&(this.clipboardService=new s.ClipboardService(this.onClipboard)),s.tableKeyboardNavigation.onConstructor({navigatable:!!e.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,idPrefix:this._gridId})}get columns(){const e=this._columns.filter((e=>e.declarationIndex>=0&&-1===e.parentIndex));return E(e)}get element(){return this._element}get document(){if(i.canUseDOM)return this.element&&this.element.ownerDocument||document}get _header(){return this.headerRef.current}get _gridId(){return this.props.id+"-role-element-id"}componentDidMount(){var e;this.props.columnVirtualization&&!navigator.userAgent.match(ne)&&(this.headTable&&(this.headTable.style.display="block"),this.tableElement&&(this.tableElement.style.display="block")),this.resetTableWidth(),i.setScrollbarWidth(this.getCachedScrollbarWidth());const t=s.isRtl(this.element);this.isRtl=t,s.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.isRtl&&this.forceUpdate();this.clipboardService&&this.clipboardService.addEventListeners(this.document),this.observer=i.canUseDOM&&window.IntersectionObserver&&new window.IntersectionObserver(this.handleIntersection,{rootMargin:"0px",threshold:.9})||null,this.resizeObserver=i.canUseDOM&&window.ResizeObserver&&new window.ResizeObserver(this.calculateMedia.bind(this)),null!=(e=this.document)&&e.body&&this.resizeObserver&&this.resizeObserver.observe(this.document.body)}getSnapshotBeforeUpdate(){return s.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(){this.resetTableWidth(),i.setScrollbarWidth(this.getCachedScrollbarWidth()),this.vs.tableTransform&&this.vs.table&&(this.vs.table.style.transform=this.vs.tableTransform,this.vs.tableTransform=""),this.handleFocusInEditableRows(),s.tableKeyboardNavigation.onComponentDidUpdate({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,focusFirst:this._focusFirst,newEditableRow:this._newEditableRow,singleEditRow:this._singleEditRow,lastActiveElement:this._lastActiveElement,navigatable:this.props.navigatable}),this._focusFirst=!1,this._newEditableRow=void 0}componentWillUnmount(){var e;clearTimeout(this.forceUpdateTimeout),this.clipboardService&&this.clipboardService.removeEventListeners(this.document),null!=(e=this.document)&&e.body&&this.resizeObserver&&this.resizeObserver.disconnect()}render(){var e;let t=this.props.total||0;const r=s.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),a=o.provideLocalizationService(this);let l=[];Array.isArray(this.props.data)?(l=this.props.data,t=t||this.props.data.length):this.props.data&&(l=this.props.data.data,t=t||this.props.data.total);const n="object"==typeof this.props.groupable&&this.props.groupable.footer||"none",h="virtual"===this.props.scrollable,{resolvedGroupsCount:c,flattedData:p}=this.flatData(l,n,this.props.skip||0,this.props.group,this.props.expandField,this.props.filter,this.props.sort);this._data=p;const d=!0===this.props.groupable||"object"==typeof this.props.groupable&&!1!==this.props.groupable.enabled;this.columnResize.resizable=this.props.resizable||!1,this.dragLogic.reorderable=this.props.reorderable||!1,this.dragLogic.groupable=d;const u=this.props.selectable&&this.props.selectable.drag?"none":void 0;this.initializeVirtualization(t,d);const g=this.childrenToArray(this.props.children);this.initColumns(g,c);const f=g.map((e=>e&&e.type&&"KendoReactGridToolbar"===e.type.displayName?m.cloneElement(e,{...e.props,ariaControls:this._gridId}):null)),b=g.filter((e=>e&&e.type&&"KendoReactGridNoRecords"===e.type.displayName)),C=g.filter((e=>e&&e.type&&"KendoReactGridStatusBar"===e.type.displayName)),k=this._columns.filter((e=>0===e.children.length)),E=d&&m.createElement(ze,{group:this.props.group||[],groupChange:this.groupChange,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,refCallback:this.dragLogic.refGroupPanelDiv,resolveTitle:this.resolveTitle,ariaControls:this._gridId,onContextMenu:this.onContextMenu}),{sort:I,sortable:y,group:w,filter:R,filterable:N,filterOperators:T=xe,headerCellRender:D,columnMenu:M,columnMenuIcon:F}=this.props,L=m.createElement(ce,{size:this.props.size,columnResize:this.columnResize,staticHeaders:"none"!==this.props.scrollable,scrollableDataElement:()=>this.vs.container,hasScrollbarWidth:!!this.getCachedScrollbarWidth(),draggable:this.props.reorderable||d,ref:this.headerRef,elemRef:this.headerElementRef,className:this.props.headerClassName,headerRow:this.getHeaderRow(I,y,w,d,R,N,T,D,M,F,this._columns,this._columnsMap,this.isRtl),filterRow:this.props.filterable&&m.createElement(Fe,{cells:this.props.cells,size:this.props.size,columns:this._columns,filter:this.props.filter,filterOperators:this.props.filterOperators||xe,filterChange:this.filterChange,sort:this.props.sort,cellRender:this.props.filterCellRender,isRtl:this.isRtl,navigatable:!!this.props.navigatable,ariaRowIndex:this._columnsMap.length+1})||void 0,cols:k.map(((e,t)=>m.createElement("col",{key:t.toString(),width:x(e)})))}),z=this.vs&&this.vs.container&&this.vs.container.scrollLeft||0,O=parseFloat(((this.props.style||{}).width||"").toString()),{colSpans:G,hiddenColumns:_}=s.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:k,tableViewPortWidth:O,scrollLeft:z}),H=(e,t,i)=>{let o=!1;const a=this.props.selectedField?v(this.props.selectedField,e.dataItem):void 0;return{row:k.map(((l,n)=>{if(_[n])return null;const h=l.id?l.id:n,c=`${l.className?l.className+" ":""}${l.locked?"k-grid-content-sticky":""}`,p=void 0!==l.left?this.isRtl?{left:l.right,right:l.left}:{left:l.left,right:l.right}:{};let d=!1;if(l.editable&&this.props.editField){const t=v(this.props.editField,e.dataItem);t&&(!0===t||t===l.field)&&(o=!0,d=!0)}const u=l.cell||d&&he||Ae,g=this.props.expandField&&this.props.detail&&l.field===this.props.expandField;return m.createElement(u,{onContextMenu:this.onContextMenu,key:h,locked:this.props.lockGroups,id:s.tableKeyboardNavigationTools.generateNavigatableId(`${t}-${String(n)}`,r,g||"groupHeader"===e.rowType||"groupFooter"===e.rowType||"value"===l.field?"nodata":"cell"),colSpan:G[n],dataItem:e.dataItem,field:l.field,editor:l.editor,format:l.format,className:c,render:this.props.cellRender,cells:S(this.props.cells,l.cells),onChange:this.itemChange,selectionChange:this.props.onSelectionChange?t=>{this.selectionChange({event:t,dataItem:e.dataItem,dataIndex:i,columnIndex:n})}:void 0,columnIndex:n,columnsCount:k.length,rowType:e.rowType,level:e.level,expanded:e.expanded,dataIndex:e.dataIndex,style:p,ariaColumnIndex:l.ariaColumnIndex,isSelected:Array.isArray(a)&&a.indexOf(n)>-1})})),isInEdit:o,isSelected:"boolean"==typeof a&&a}};let P=0;if(h)for(let e=0;e<this.vs.topCacheCount+this.vs.attendedSkip-(this.props.skip||0);e++){const t=this._data.shift();if(!t)break;this._data.push(t),P++,"groupHeader"===t.rowType&&e--}const A=e=>e>=this._data.length-P;let K=this.vs.realSkip||0;const W=[];let B=!1;const V=this._columnsMap.length+(this.props.filterable?1:0)+1;let q=0;if(this._data.length){let e=-1,t=0;(this._slicedData||this._data).forEach(((o,a)=>{"data"===o.rowType&&(K++,e++);const l=K%2==0,n=this.props.dataItemKey&&i.getter(this.props.dataItemKey)(o.dataItem),h=a+(this.vs.realSkip||0),c=n||"ai"+h,p=c+"_1",d=H(o,c,e);if(q=h+V+t,W.push(m.createElement(We,{key:c,dataItem:o.dataItem,isAltRow:l,isInEdit:d.isInEdit,rowType:o.rowType,isHidden:A(a),onClick:e=>this.rowClick(e,o),onDoubleClick:e=>this.rowDblClick(e,o),selectedField:this.props.selectedField,rowHeight:this.props.rowHeight,render:this.props.rowRender,ariaRowIndex:q,absoluteRowIndex:h,dataIndex:this.vs.scrollableVirtual&&!this.props.groupable?h:e,isSelected:d.isSelected},d.row)),this.props.detail&&"data"===o.rowType&&o.expanded){const e=k.length-(this.props.expandField?1:0)-(this.props.group?this.props.group.length:0)||1;t++,q=h+V+t,W.push(m.createElement("tr",{key:p,className:i.classNames("k-table-row",l?"k-detail-row k-table-alt-row k-alt":"k-detail-row"),style:{visibility:A(a)?"hidden":"",height:this.props.detailRowHeight},role:"row","aria-rowindex":q},this.props.group&&this.props.group.map(((e,t)=>{var r;const i=null==(r=null==d?void 0:d.row[t])?void 0:r.props.style,s=i?this.isRtl?{left:i.right,right:i.left}:{left:i.left,right:i.right}:{};return m.createElement(Ke,{id:"",dataIndex:o.dataIndex,field:e.field,dataItem:o.dataItem,key:t,style:s,ariaColumnIndex:1+t,isSelected:!1,locked:this.props.lockGroups,isRtl:this.isRtl,cells:this.props.cells})})),this.props.expandField&&m.createElement(Qe,{id:s.tableKeyboardNavigationTools.generateNavigatableId(`${p}-dhcell`,r)}),m.createElement(Je,{onContextMenu:this.onContextMenu,dataItem:o.dataItem,dataIndex:o.dataIndex,colSpan:e,ariaColIndex:2+(this.props.group?this.props.group.length:0),detail:this.props.detail,id:s.tableKeyboardNavigationTools.generateNavigatableId(`${p}-dcell`,r)})))}}))}else B=!0;const U=()=>{const e=this._header;return e&&e.table&&e.table.clientWidth},j=()=>m.createElement("div",{key:"no-records",className:"k-grid-norecords",style:{width:U()}},m.createElement("div",{className:"k-grid-norecords-template",[s.KEYBOARD_NAV_DATA_ID]:s.tableKeyboardNavigationTools.generateNavigatableId("no-records",r)},b.length?b:m.createElement(Ue,null))),$={size:this.props.size,onPageChange:this.pagerPageChange,total:t,dir:this.isRtl?"rtl":void 0,skip:this.vs.propsSkip||0,take:(void 0!==this.props.take?this.props.take:this.props.pageSize)||10,messagesMap:re,...Xe(this.props.pageable||{})},X=this.props.pager?m.createElement(this.props.pager,{...$}):m.createElement(s.Pager,{className:"k-grid-pager",...$}),Y=e=>this.props.sort&&this.props.sort.filter((t=>t.field===e)).length>0,J=null!=(e=this.props.cells)&&e.footerCell||this._columns.some((e=>{var t;return!!(e.footerCell||null!=(t=e.cells)&&t.footerCell)}))?m.createElement(Oe,{size:this.props.size,columnResize:this.columnResize,staticHeaders:"none"!==this.props.scrollable,hasScrollbarWidth:!!this.getCachedScrollbarWidth(),ref:e=>this._footer=e,row:m.createElement($e,{cells:this.props.cells,idPrefix:r,columns:this._columns,isRtl:this.isRtl,ariaRowIndex:q+1}),cols:k.map(((e,t)=>m.createElement("col",{key:t.toString(),width:x(e)})))}):null,Q=m.createElement("colgroup",{ref:e=>{this.columnResize.colGroupMain=e}},k.map(((e,t)=>m.createElement("col",{key:t.toString(),className:Y(e.field)?"k-sorted":void 0,width:x(e)})))),Z=this.dragLogic.reorderable||this.dragLogic.groupable;if("none"===this.props.scrollable)return m.createElement(s.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},m.createElement("div",{id:this.props.id,style:this.props.style,className:i.classNames("k-grid",{"k-grid-md":!this.props.size,[`k-grid-${i.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),ref:e=>{this._element=e},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...s.tableKeyboardNavigationScopeAttributes},f,E,m.createElement(s.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:e=>{this.tableElement=e,this.headTable=e}},m.createElement("table",{ref:e=>this.headTable=e,className:i.classNames("k-table k-grid-table",{[`k-table-${i.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),style:{userSelect:u}},Q,L,m.createElement("tbody",{role:"rowgroup",className:"k-table-tbody",...s.tableKeyboardNavigationBodyAttributes},W),J)),B&&j(),Z&&m.createElement(m.Fragment,null,m.createElement(s.DropClue,{ref:this.dragLogic.refDropElementClue}),m.createElement(s.DragClue,{ref:this.dragLogic.refDragElementClue}))),C,this.props.pageable&&X);let ie=this.props.style||{};return h&&(ie.height||(ie=Object.assign({},ie,{height:"450px"}))),m.createElement(s.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},m.createElement("div",{id:this.props.id,style:ie,className:i.classNames("k-grid",{"k-grid-md":!this.props.size,[`k-grid-${i.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size,"k-grid-virtual":h},this.props.className),ref:e=>{this._element=e},"aria-label":this.props.ariaLabel,onKeyDown:this.onKeyDown,onFocus:this.onFocus,...s.tableKeyboardNavigationScopeAttributes},f,E,m.createElement("div",{className:"k-grid-aria-root",role:"grid","aria-colcount":k.length,"aria-rowcount":t,id:this._gridId,"aria-label":a.toLanguageString(ee,te[ee])},L,m.createElement("div",{className:"k-grid-container",role:"presentation"},m.createElement("div",{ref:this.containerRef,className:"k-grid-content k-virtual-content",onScroll:this.scrollHandler,role:"presentation"},m.createElement("div",{className:"k-grid-table-wrap",role:"presentation"},m.createElement(s.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:e=>{this.tableElement=e}},m.createElement("table",{ref:e=>this.tableElement=e,className:i.classNames("k-table k-grid-table",{"k-table-md":!this.props.size,[`k-table-${i.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),role:"presentation",style:{userSelect:u}},Q,m.createElement("tbody",{className:"k-table-tbody",ref:this.tableBodyRef,role:"rowgroup",...s.tableKeyboardNavigationBodyAttributes},W))),B&&j()),h&&m.createElement("div",{className:"k-height-container",role:"presentation"},m.createElement("div",{style:h?{height:this.vs.containerHeight+"px"}:{}})))),J,Z&&m.createElement(m.Fragment,null,m.createElement(s.DropClue,{ref:this.dragLogic.refDropElementClue}),m.createElement(s.DragClue,{ref:this.dragLogic.refDragElementClue})),this.showLicenseWatermark&&m.createElement(i.WatermarkOverlay,null)),C,this.props.pageable&&X))}calculateMedia(){this.checkMatchMediaColumnsDifferece()||this.forceUpdate()}selectionChange(e){if(this.props.onSelectionChange){const{event:t,dataItem:r,dataIndex:i,columnIndex:o}=e,{mode:a,cell:l}=s.getSelectionOptions(this.props.selectable),n={...this.getArguments(t.syntheticEvent),dataItem:r,startColIndex:o,endColIndex:o,startRowIndex:i,endRowIndex:i,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:a,cell:l,isDrag:!1,componentId:this._gridId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,n)}}raiseDataEvent(e,t,r,i,s){const o=this.props.onDataStateChange;if(e){const r={...this.getArguments(i),...t,targetEvent:s};e.call(void 0,r)}else o&&o.call(void 0,{...this.getArguments(i),targetEvent:s||{},dataState:{...this.getDataState(),...r}})}columnReorder(e,t,r){const i=this._columns[e],o=i.depth,a=e=>{do{e++}while(e<this._columns.length&&this._columns[e].depth>o);return e},l=this._columns.splice(e,a(e)-e);this._columns.splice(e<t?a(t-l.length):t,0,...l),this._columns.filter((e=>e.declarationIndex>=0)).forEach(((e,t)=>e.orderIndex=t)),this._columnsMutations++;const n=this._columns[e].locked&&this._columns[t].locked;s.updateLeft(this._columnsMap,this._columns,n||this._shouldUpdateLeftRight),s.updateRight(this._columnsMap,this._columns,n||this._shouldUpdateLeftRight),this._resized&&(this._shouldUpdateLeftRight=!1,this._resized=!1);const h=this.columns;if(this.forceUpdate(),this.props.onColumnReorder){const e={target:this,columns:h,columnId:i.id,nativeEvent:r};this.props.onColumnReorder.call(void 0,e)}}groupReorder(e,t,r){if(void 0===this.props.group)return;const i=this.props.group.slice();i.splice(t,0,...i.splice(e,1)),this.groupChange(i,r)}columnToGroup(e,t,r){const i=this._columns[e].field;if(!i)return;const s=(this.props.group||[]).slice();s.splice(t,0,{field:i}),this.groupChange(s,r)}columnGroupChange(e,t){const r=this.dragLogic.getCurrentGroupsLength;this.columnToGroup(e,r,t)}resetTableWidth(){let e=0;if(!this.columnResize.colGroupMain)return;const t=this.columnResize.colGroupMain.children;for(let r=0;r<t.length;r++){const i=t[r].width;if(!i)return;e+=parseFloat(i.toString())}e=Math.round(e),this._header&&this._header.setWidth(e),this._footer&&this._footer.setWidth(e),this.tableElement&&(this.tableElement.style.width=e+"px")}initColumns(e,t){const r=s.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),i=this.readColumns(e,r,this._columnsMutations),o=this.filterColumnsByMediaProp(i);this._columns=o,0===this._columns.length&&(this._columns=function(e,t,r,i){let o=[];Array.isArray(e)?o=e:e&&(o=e.data);const a=[];if(o.length>0){let e=o[0];if(t)for(let r=0;r<t.length;r++)e=e.items&&e.items[0];Object.getOwnPropertyNames(e).forEach((e=>{e!==r&&a.push(Object.assign({id:s.tableKeyboardNavigationTools.generateNavigatableId(""+i.prevId++,i.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},b,{field:e}))}))}return a}(this.props.data,this.props.group,this.props.expandField,{prevId:0,idPrefix:r})),this.configureColumns(this._columns,t,r),this._columnsMap=this.mapColumns(this._columns,this._columnsMutations),this.columnResize.columns=this._columns,this.dragLogic.columns=this._columns}getDataState(){return{filter:this.props.filter,sort:this.props.sort,skip:this.props.skip,take:void 0!==this.props.take?this.props.take:this.props.pageSize,group:this.props.group}}getArguments(e){return{nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:this}}};Ze.displayName="KendoReactGrid",Ze.defaultProps={},Ze.propTypes={data:r.oneOfType([r.array,r.shape({data:r.array,total:r.number})]),sortable:r.oneOfType([r.bool,r.shape({mode:r.oneOf(["single","multiple"]),allowUnsort:r.bool})]),onSortChange:r.func,sort:r.array,filterable:r.bool,filter:r.any,onFilterChange:r.func,pageable:r.oneOfType([r.bool,r.shape({buttonCount:r.number,responsive:r.bool,info:r.bool,type:r.oneOf(["numeric","input"]),pageSizes:r.oneOfType([r.bool,r.arrayOf(r.oneOfType([r.string,r.number]))]),previousNext:r.bool})]),pageSize:r.number,onPageChange:r.func,total:r.number,skip:r.number,take:r.number,fixedScroll:r.bool,onExpandChange:r.func,expandField:r.string,selectedField:r.string,onSelectionChange:r.func,onHeaderSelectionChange:r.func,resizable:r.bool,reorderable:r.bool,group:r.any,groupable:r.oneOfType([r.bool,r.shape({enabled:r.bool,footer:r.oneOf(["always","visible","none"])})]),onGroupChange:r.func,onRowClick:r.func,onRowDoubleClick:r.func,onItemChange:r.func,editField:r.string,scrollable:r.oneOf(["none","scrollable","virtual"]),rowHeight:r.number,detailRowHeight:r.number,detail:r.any,style:r.object,onDataStateChange:r.func,onColumnResize:r.func,onColumnReorder:r.func,dataItemKey:r.string,navigatable:r.oneOfType([r.bool,r.shape({mode:r.oneOf(["incell","inline","popup"])})]),size:r.oneOf(["small","medium"])},Ze.contextType=s.TableKeyboardNavigationContext;let et=Ze;o.registerForLocalization(et);let tt=class extends m.Component{render(){const{children:e}=this.props;return m.createElement("div",{id:this.props.id,className:i.classNames("k-columnmenu-item-wrapper",this.props.className),style:this.props.style},e)}};const rt=e=>{const{title:t,iconClass:r,svgIcon:s,selected:o}=e;return m.createElement("div",{onClick:e.onClick,className:"k-columnmenu-item "+(o?"k-selected":"")},(r||s)&&m.createElement(i.IconWrap,{name:r&&i.toIconName(r),icon:s}),t)};let it=class extends m.Component{constructor(){super(...arguments),this.onGroupClick=e=>{if(e.preventDefault(),this.props.onGroupChange){const{column:t}=this.props;if(!t.field)return;const r=(this.props.group||[]).slice(),i=r.findIndex((e=>e.field===t.field));i>-1?r.splice(i,1):r.push({field:t.field}),this.props.onGroupChange(r,e)}this.props.onCloseMenu&&this.props.onCloseMenu()}}render(){const{group:e,column:t}=this.props,r=o.provideLocalizationService(this),i=!!(e&&t.field&&e.find((e=>e.field===t.field))),s=i?O:z;return m.createElement(tt,null,m.createElement(rt,{title:r.toLanguageString(s,te[s]),iconClass:i?"k-i-ungroup":"k-i-group",svgIcon:i?a.ungroupIcon:a.groupIcon,onClick:this.onGroupClick}))}};o.registerForIntl(it),o.registerForLocalization(it);const st="desc",ot={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"}}},at=(e,t)=>t?t.findIndex((t=>t.field===e)):-1,lt=(e,t)=>!!(t&&e>-1&&"asc"===t[e].dir),nt=(e,t)=>!!(t&&e>-1&&t[e].dir===st),ht=class extends m.Component{constructor(){super(...arguments),this.onAscClick=e=>{this.onSort(e,"asc"),this.props.onCloseMenu&&this.props.onCloseMenu()},this.onDescClick=e=>{this.onSort(e,st),this.props.onCloseMenu&&this.props.onCloseMenu()},this.onSort=(e,t)=>{if(e.preventDefault(),!this.props.onSortChange)return;const{column:r,sortable:i,sort:s}=this.props,{allowUnsort:o,mode:a}=pe(i||!1,!1),l=(s||[]).filter((e=>e.field===r.field))[0],n=ot[o][l&&l.dir||""][t],h="single"===a?[]:(this.props.sort||[]).filter((e=>e.field!==r.field));""!==n&&r.field&&h.push({field:r.field,dir:n}),this.props.onSortChange(h,e)}}render(){const{sort:e,column:t}=this.props,r=at(t.field,e),i=o.provideLocalizationService(this);return m.createElement(tt,null,m.createElement(rt,{title:i.toLanguageString(A,te[A]),iconClass:"k-i-sort-asc-sm",svgIcon:a.sortAscSmallIcon,selected:lt(r,e),onClick:this.onAscClick}),m.createElement(rt,{title:i.toLanguageString(K,te[K]),iconClass:"k-i-sort-desc-sm",svgIcon:a.sortDescSmallIcon,selected:nt(r,e),onClick:this.onDescClick}))}};ht.active=(e,t)=>{const r=at(e,t);return nt(r,t)||lt(r,t)};let ct=ht;o.registerForIntl(ct),o.registerForLocalization(ct);class pt extends m.Component{render(){return m.createElement("div",{id:this.props.id,className:i.classNames("k-columnmenu-item-content",this.props.className),style:this.props.style,tabIndex:0},m.createElement(u.Reveal,{style:{position:"relative",display:"block"}},this.props.show?this.props.children:null))}}class dt extends m.Component{constructor(e){super(e),this.renderOperatorEditor=()=>{if("boolean"===this.props.filterType)return;const e=this.props.operators.find((e=>e.operator===this.props.operator))||null;return m.createElement(p.DropDownList,{value:e,onChange:this.operatorChange,data:this.props.operators,textField:"text"})},this.inputChange=this.inputChange.bind(this),this.operatorChange=this.operatorChange.bind(this),this.boolDropdownChange=this.boolDropdownChange.bind(this)}render(){return m.createElement(m.Fragment,null,this.renderOperatorEditor(),this.filterComponent(this.props.filterType,this.props.value,this.props.booleanValues))}inputChange(e,t){we(e,t,this.props)}operatorChange(e){De(e,this.props.value,this.props.onChange)}boolDropdownChange(e){Te(e,this.props.onChange)}filterComponent(e,t,r){switch(e){case"numeric":return m.createElement(l.NumericTextBox,{value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)},rangeOnEnter:!1});case"date":return m.createElement(n.DatePicker,{value:t,onChange:e=>{this.inputChange(e.value,e.syntheticEvent)}});case"boolean":{const e=e=>null==e;return m.createElement(p.DropDownList,{onChange:this.boolDropdownChange,value:r.find((r=>r.operator===(e(t)?"":t))),data:r,textField:"text"})}default:return m.createElement(l.Input,{value:t||"",onChange:e=>{this.inputChange(e.target.value,e.syntheticEvent)}})}}}class ut extends m.Component{render(){const{firstFilterProps:e,hideSecondFilter:t,secondFilterProps:r,logicData:i,logicValue:s,onLogicChange:o}=this.props;return m.createElement(m.Fragment,null,m.createElement(dt,{...e}),!t&&m.createElement(m.Fragment,null,m.createElement(p.DropDownList,{data:i,value:s,onChange:o,className:"k-filter-and",textField:"text"}),m.createElement(dt,{...r})))}}const gt=e=>e||{filters:[],logic:"and"},mt=(e,t)=>gt(t).filters.filter((t=>!!d.isCompositeFilterDescriptor(t)&&(t.filters&&t.filters.length&&t.filters.length<=2&&!t.filters.find((t=>d.isCompositeFilterDescriptor(t)||t.field!==e)))))[0]||null,ft=class extends m.Component{constructor(e){let t;if(super(e),this.removeGroup=(e,t)=>{const r=[...t.filters],i=r.findIndex((t=>t===e));return i>-1&&r.splice(i,1),{...t,filters:r}},this.insertGroup=(e,t)=>({...t,filters:[e,...t.filters]}),this.isControlled=()=>void 0!==this.props.expanded,this.onFilterExpand=()=>{const e=this.isControlled(),t=!(e?this.props.expanded:this.state.expanded);this.props.onExpandChange&&this.props.onExpandChange(t),e||this.setState({expanded:t})},this.firstFilterChange=e=>{this.filterChange(0,e)},this.secondFilterChange=e=>{this.filterChange(1,e)},this.filterChange=(e,t)=>{const r=this.state.filterGroup.filters.map(((r,i)=>i===e?{...r,value:t.value,operator:t.operator}:r));this.setState({filterGroup:{...this.state.filterGroup,filters:r}})},this.logicChange=e=>{this.setState({filterGroup:{...this.state.filterGroup,logic:e.target.value.operator}})},this.clear=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.props.column.field,r=gt(this.props.filter),i=mt(t,this.props.filter),s=r.filters.filter((e=>e!==i));s.length?this.props.onFilterChange({...r,filters:s},e):this.props.onFilterChange(null,e),this.props.onCloseMenu&&this.props.onCloseMenu()},this.currentFilterGroup=()=>({...this.state.filterGroup,filters:this.state.filterGroup.filters.filter((e=>void 0!==e.value&&null!==e.value&&""!==e.value||null===e.value&&e.operator))}),this.submit=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.props.column.field,r=gt(this.props.filter),i=mt(t,this.props.filter),s=this.currentFilterGroup();let o=null;if(i&&s.filters.length>0){const e=r.filters.map((e=>e===i?s:e));o={...r,filters:e}}else if(0===s.filters.length){const e=r.filters.filter((e=>e!==i));e.length&&(o={...r,filters:e})}else o={...r,filters:[...r.filters,s]};this.props.onFilterChange(o,e),this.props.onCloseMenu&&this.props.onCloseMenu()},e.column&&e.column.field){const r=Ne(e.column.filter),i=Re(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:i,value:Ee(i)?null:void 0},{field:e.column.field,operator:i,value:Ee(i)?null:void 0}]},1===t.filters.filter((t=>t.field===e.column.field)).length&&t.filters.splice(1,0,{field:e.column.field,operator:i})}this.state={expanded:e.expanded||!1,filterGroup:t}}render(){const{column:e,filterUI:t,hideSecondFilter:r,filterOperators:i}=this.props;if(!e||!e.field)return m.createElement("div",null);const s=Ne(e.filter),l=void 0!==r?r:Se[s],n=o.provideLocalizationService(this),h=this.state.filterGroup.filters,p=Ie(i[s],n),d=Ie(ye,n),u={field:e.field,value:h[0].value,operator:h[0].operator,operators:p,booleanValues:d,onChange:this.firstFilterChange,filterType:s},g={field:e.field,value:h[1].value,operator:h[1].operator,operators:p,booleanValues:d,onChange:this.secondFilterChange,filterType:s},f=this.state.filterGroup.logic,b=Ie(ke,n),v={value:b.find((e=>e.operator===(null===f?"":f))),onChange:this.logicChange,data:b},C=t,k={firstFilterProps:u,secondFilterProps:g,logicData:v.data,logicValue:v.value,onLogicChange:v.onChange,hideSecondFilter:l},x=0!==this.currentFilterGroup().filters.length||Ee(h[0].operator)||Ee(h[1].operator),E=this.isControlled()?this.props.expanded:this.state.expanded,I=this.props.alwaysExpand;return m.createElement(tt,null,!I&&m.createElement(rt,{title:n.toLanguageString(P,te[P]),iconClass:"k-i-filter",svgIcon:a.filterIcon,onClick:this.onFilterExpand}),m.createElement(pt,{show:I||!!E},m.createElement("form",{className:"k-filter-menu",onSubmit:this.submit,onReset:this.clear},m.createElement("div",{className:"k-filter-menu-container"},C?m.createElement(C,{...k}):m.createElement(ut,{...k}),m.createElement("div",{className:"k-actions k-actions-stretched"},m.createElement(c.Button,{themeColor:"primary",disabled:!x},n.toLanguageString(H,te[H])),m.createElement(c.Button,{type:"reset"},n.toLanguageString(_,te[_])))))))}};ft.active=(e,t)=>!!mt(e,t);let bt=ft;o.registerForLocalization(bt);const vt=class extends m.Component{constructor(e){super(e),this.defaultFilter=()=>this.props.filter?i.clone(this.props.filter):{filters:[],logic:"and"},this.isControlled=()=>void 0!==this.props.expanded,this.parseData=(e,t)=>{const r=this.props.column.field||"",i=e.map((e=>v(r,e)));return t?i.filter(((e,t)=>i.indexOf(e)===t)):i},this.getFilterIndex=()=>{const e=this.props.column.field;return this.defaultFilter().filters.findIndex((t=>t.filters&&t.filters.length>0&&t.filters[0].field===e))},this.onFilterExpand=()=>{const e=this.isControlled(),t=!(e?this.props.expanded:this.state.expanded);this.props.onExpandChange&&this.props.onExpandChange(t),e||this.setState({expanded:t})},this.handleSearchChange=e=>{const t=this.props.searchBoxFilterOperator?this.props.searchBoxFilterOperator:"startswith",r={logic:"and",filters:[{field:this.props.column.field,operator:t,value:e.target.value,ignoreCase:!0}]};this.setState({value:e.target.value,data:this.parseData(d.filterBy(this.props.data||[],r),this.props.uniqueData)})},this.handleClear=()=>{const e=this.props.searchBoxFilterOperator?this.props.searchBoxFilterOperator:"startswith",t={logic:"and",filters:[{field:this.props.column.field,operator:e,value:"",ignoreCase:!0}]};this.setState({value:"",data:this.parseData(d.filterBy(this.props.data||[],t),this.props.uniqueData)})},this.clear=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.state.currentFilter||null;null!==t&&t.filters.length>0?(this.compositeFilterIndex>=0&&t.filters.splice(this.compositeFilterIndex,1),this.props.onFilterChange(t,e)):this.props.onFilterChange(null,e),this.props.onCloseMenu&&this.props.onCloseMenu()},this.submit=e=>{if(e.preventDefault(),!this.props.onFilterChange)return;const t=this.state.currentFilter||null;this.props.onFilterChange(t,e),this.props.onCloseMenu&&this.props.onCloseMenu()},this.handleCheckBoxChange=(e,t)=>{const r=this.props.column.field||"",i={...this.state.currentFilter},s=[...this.state.currentFilter.filters];let o=[];if(-1!==this.compositeFilterIndex&&i.filters[this.compositeFilterIndex].filters&&"all"!==t&&(o=i.filters[this.compositeFilterIndex].filters),e.value&&"all"===t)this.state.data.forEach((e=>{o.push({field:r,operator:"eq",value:e})}));else if(e.value)o.push({field:r,operator:"eq",value:t});else if(this.state.currentFilter){const e=o.findIndex((e=>e.value===t));o.splice(e,1)}i.logic="and",-1!==this.compositeFilterIndex?s[this.compositeFilterIndex]={logic:"or",filters:o}:s.push({logic:"or",filters:o}),(!e.value&&"all"===t||0===o.length)&&s.splice(this.compositeFilterIndex,1),i.filters=s,this.setState({currentFilter:i})},this.isAllSelected=()=>{let e=!1;if(this.state.currentFilter){const t=[...this.state.currentFilter.filters];return-1!==this.compositeFilterIndex&&(e=this.state.data.every((e=>!(-1===this.compositeFilterIndex||!t[this.compositeFilterIndex].filters)&&t[this.compositeFilterIndex].filters.findIndex((t=>t.value===e))>=0)),e)}return e},this.compositeFilterIndex=this.getFilterIndex(),this.state={expanded:e.expanded||!1,value:"",data:this.parseData(this.props.data,this.props.uniqueData)||[],dataFromProps:this.parseData(this.props.data,!1)||[],currentFilter:this.defaultFilter()}}componentDidUpdate(){const e=this.props.column.field||"",t=this.props.data.map((t=>v(e,t)));((e,t)=>e.length===t.length&&e.every(((e,r)=>e===t[r])))(t,this.state.dataFromProps)||this.setState({data:t,dataFromProps:t})}render(){const{column:e}=this.props;if(!e||!e.field)return m.createElement("div",null);const t=o.provideLocalizationService(this),r=this.isControlled()?this.props.expanded:this.state.expanded,s=[];if(this.state.currentFilter){const t=[...this.state.currentFilter.filters];this.compositeFilterIndex=t.findIndex((t=>!!(t.filters&&t.filters.length>0)&&t.filters[0].field===e.field)),-1!==this.compositeFilterIndex&&t[this.compositeFilterIndex].filters.length>0&&t[this.compositeFilterIndex].filters.forEach((e=>{e.field===this.props.column.field&&s.push(e.value)}))}const n=this.props.searchBox?m.createElement(this.props.searchBox,{value:this.state.value,onChange:this.handleSearchChange}):m.createElement("div",{className:"k-searchbox k-textbox k-input k-input-md k-input-solid"},m.createElement(i.IconWrap,{className:"k-input-icon",name:"search",icon:a.searchIcon}),m.createElement(l.Input,{className:"k-input-inner",type:"text",placeholder:t.toLanguageString(W,te[W]),value:this.state.value,onChange:e=>this.handleSearchChange(e.nativeEvent)}),m.createElement(c.Button,{type:"button",rounded:null,className:"k-input-button",onClick:this.handleClear,icon:"x",svgIcon:a.xIcon})),h=s.filter(((e,t)=>s.indexOf(e)===t));return m.createElement(tt,null,m.createElement(rt,{title:t.toLanguageString(P,te[P]),iconClass:"k-i-filter",svgIcon:a.filterIcon,onClick:this.onFilterExpand}),m.createElement(pt,{show:!!r},m.createElement("form",{className:"k-filter-menu",onSubmit:this.submit,onReset:this.clear},m.createElement("div",{className:"k-filter-menu-container"},n,m.createElement("ul",{className:"k-reset k-multicheck-wrap"},m.createElement("li",{className:"k-item k-check-all-wrap"},m.createElement(l.Checkbox,{label:t.toLanguageString(B,te[B]),onChange:e=>this.handleCheckBoxChange(e,"all"),checked:this.isAllSelected()})),this.state.data.map(((e,t)=>m.createElement("li",{className:"k-item",key:t},m.createElement(l.Checkbox,{label:String(e),onChange:t=>this.handleCheckBoxChange(t,e),checked:h.includes(e)}))))),m.createElement("div",{className:"k-filter-selected-items"},h.length+" "+t.toLanguageString(q,te[q])),m.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},m.createElement(c.Button,{themeColor:"primary",type:"submit"},t.toLanguageString(H,te[H])),m.createElement(c.Button,{className:"k-button",type:"reset"},t.toLanguageString(_,te[_])))))))}};vt.defaultProps={uniqueData:!0};let Ct=vt;o.registerForLocalization(Ct);const kt=e=>{const[t,r]=m.useState(""),s=e.columns.reduce(((t,r)=>({...t,[r.id||""]:!!e.columnsState.find((e=>e.id===r.id))})),{}),[o,n]=m.useState(s),h=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=m.useCallback((()=>{const t=e.columns.filter((e=>o[e.id||""]));e.onColumnsChange.call(void 0,t),e.onCloseMenu.call(void 0)}),[o,e.columns,e.onColumnsChange,e.onCloseMenu]),d=m.useMemo((()=>Object.values(o).filter((e=>e)).length),[o]),u=m.useMemo((()=>d===e.columns.length),[e.columns,d]),g=m.useCallback((()=>{const e={...o};Object.keys(e).forEach(((t,r)=>e[t]=!(!u||0!==r)||!u)),n(e)}),[o,u]),f=m.useCallback(((e,t)=>{const r={...o};r[t||""]=e,n(r)}),[o]);return m.createElement("form",{className:"k-filter-menu"},m.createElement("div",{className:"k-filter-menu-container"},m.createElement(l.TextBox,{className:"k-searchbox",value:t,onChange:e=>{r(String(e.target.value))},prefix:()=>m.createElement(l.InputPrefix,null,m.createElement(i.IconWrap,{name:"search",icon:a.searchIcon}))}),m.createElement("ul",{className:"k-reset k-multicheck-wrap"},!t&&m.createElement("li",{className:"k-item k-check-all-wrap"},m.createElement(l.Checkbox,{checked:u,onChange:g,label:"(Select all)"})),h.map(((e,t)=>m.createElement("li",{key:e.id,className:"k-item"},m.createElement(l.Checkbox,{disabled:o[e.id||""]&&1===d,checked:o[e.id||""],onChange:t=>{var r;return f(!(null==(r=t.target.element)||!r.checked),e.id)},label:e.title||e.field}))))),m.createElement("div",{className:"k-filter-selected-items"},d," selected items"),m.createElement("div",{className:"k-actions k-actions-start k-actions-horizontal"},m.createElement(c.Button,{type:"button",themeColor:"primary",onClick:p},"Apply"),m.createElement(c.Button,{type:"button",onClick:()=>{n(s)}},"Reset"))))};kt.displayName="GridColumnMenuColumnsList";class xt extends m.Component{render(){return null}}const Et=class extends m.Component{render(){return m.createElement("div",{className:i.classNames("k-toolbar k-grid-toolbar",{"k-toolbar-md":!this.props.size,[`k-toolbar-${i.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),"aria-label":this.props.ariaLabel,"aria-controls":this.props.ariaControls,role:"toolbar"},this.props.children)}};Et.displayName="KendoReactGridToolbar";let It=Et;const yt=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)))))};yt.displayName="KendoReactGridStatusBar";const St=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},wt=i.withIdHOC(et);wt.displayName="KendoReactGrid",Object.defineProperty(e,"getSelectedState",{enumerable:!0,get:function(){return s.getSelectedState}}),Object.defineProperty(e,"getSelectedStateFromKeyDown",{enumerable:!0,get:function(){return s.getSelectedStateFromKeyDown}}),Object.defineProperty(e,"setSelectedState",{enumerable:!0,get:function(){return s.setSelectedState}}),e.GRID_COL_INDEX_ATTRIBUTE=ae,e.GRID_PREVENT_SELECTION_ELEMENT=le,e.GRID_ROW_INDEX_ATTRIBUTE=oe,e.Grid=wt,e.GridCell=Ae,e.GridClassComponent=et,e.GridColumn=f,e.GridColumnMenuCheckboxFilter=Ct,e.GridColumnMenuColumnsList=kt,e.GridColumnMenuFilter=bt,e.GridColumnMenuFilterCell=dt,e.GridColumnMenuFilterUI=ut,e.GridColumnMenuGroup=it,e.GridColumnMenuItem=rt,e.GridColumnMenuItemContent=pt,e.GridColumnMenuItemGroup=tt,e.GridColumnMenuSort=ct,e.GridColumnMenuWrapper=me,e.GridCommonDragLogic=Pe,e.GridDetailRow=xt,e.GridEditCell=he,e.GridFilterCell=Me,e.GridGroupCell=Ke,e.GridHeaderCell=fe,e.GridHierarchyCell=se,e.GridNoRecords=Ue,e.GridRow=We,e.GridSelectionCell=ie,e.GridToolbar=It,e.StatusBar=yt,e.booleanFilterValues=ye,e.cellBoolDropdownChange=Te,e.cellInputChange=we,e.cellOperatorChange=De,e.filterGroupByField=mt,e.getStatusData=e=>{const{dataItems:t,target:r,selectedField:s}=e,o=St(r.columns).map((e=>e.field)).filter((e=>e&&"string"==typeof e)).map((e=>i.getter(e))),a=i.getter(s),l={dates:[],numbers:[],booleans:[],others:[]};t.forEach((e=>{const t=a(e);t&&t.forEach((t=>{(e=>{"number"==typeof e?l.numbers.push(e):"boolean"==typeof e?l.booleans.push(e):e instanceof Date?l.dates.push(e):l.others.push(e)})(o[t](e))}))}));const n=l.dates.map((e=>e.getTime())),h=l.booleans.filter((e=>e)).length,c=l.booleans.filter((e=>!e)).length,p=l.numbers.length?l.numbers.reduce(((e,t)=>e+t),0):void 0,d={sum:p,average:"number"==typeof p?p/l.numbers.length:void 0,min:l.numbers.length?Math.min(...l.numbers):void 0,max:l.numbers.length?Math.max(...l.numbers):void 0,count:l.numbers.length+l.booleans.length+l.dates.length+l.others.length,isTrue:h>0?h:void 0,isFalse:c>0?c:void 0,earliest:l.dates.length?new Date(Math.min(...n)):void 0,latest:l.dates.length?new Date(Math.max(...n)):void 0},u=(e,t)=>"sum"!==t&&"average"!==t||"number"!=typeof e?("earliest"===t||"latest"===t)&&e instanceof Date?e.toLocaleDateString():String(e):e.toFixed(2),g=[];return Object.keys(d).forEach((e=>{const t=e,r=d[t];void 0!==r&&g.push({type:t,value:r,formattedValue:u(r,t)})})),g},e.gridMessages=te,e.leafColumns=St,e.operators=xe,e.pagerFirstPage=N,e.pagerInfo=R,e.pagerItemPerPage=F,e.pagerLastPage=M,e.pagerNextPage=D,e.pagerPreviousPage=T,e.rootFilterOrDefault=gt}));
|
package/header/FilterRow.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 L=require("react"),x=require("@progress/kendo-react-intl"),S=require("../cells/GridFilterCell.js"),d=require("../filterCommon.js"),k=require("@progress/kendo-react-data-tools"),C=require("../messages/index.js"),T=require("@progress/kendo-react-common"),O=require("../utils/index.js");function q(a){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const r in a)if(r!=="default"){const i=Object.getOwnPropertyDescriptor(a,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:()=>a[r]})}}return t.default=a,Object.freeze(t)}const n=q(L),y="k-table-row k-filter-row";class m extends n.Component{headerCellClassName(t,r){let i=`${r?"k-grid-header-sticky":""}`;return this.props.sort&&this.props.sort.filter(c=>c.field===t).length>0&&(i+=" k-sorted"),i}setFilter(t,r,i,c){if(!this.props.filterChange)return;const o=[];(t!==""&&t!==null||r!=="")&&o.push({field:i,operator:r,value:t}),this.props.filter&&this.props.filter.filters&&(this.props.filter.filters||[]).forEach(s=>{const l=s;l&&l.field!==i&&o.push(l)});const h=this.props.filter&&this.props.filter.logic?this.props.filter.logic:"and";this.props.filterChange(o.length>0?{logic:h,filters:o}:null,c)}render(){const t=x.provideLocalizationService(this),r=this.props.filter&&this.props.filter.filters||[],i=e=>{if(e===void 0)return;const s=r.filter(l=>l.field===e);return s.length?s[0]:void 0};let c=0,o=-1;const h=this.props.columns.filter(e=>e.children.length===0).map(e=>{const s=d.getFilterType(e.filter),l=i(e.field),b=e.filterable?t.toLanguageString(C.filterAriaLabel,C.messages[C.filterAriaLabel]):void 0;let g=l&&l.value;g===void 0&&(g=s==="text"?"":null);const
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const L=require("react"),x=require("@progress/kendo-react-intl"),S=require("../cells/GridFilterCell.js"),d=require("../filterCommon.js"),k=require("@progress/kendo-react-data-tools"),C=require("../messages/index.js"),T=require("@progress/kendo-react-common"),O=require("../utils/index.js");function q(a){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const r in a)if(r!=="default"){const i=Object.getOwnPropertyDescriptor(a,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:()=>a[r]})}}return t.default=a,Object.freeze(t)}const n=q(L),y="k-table-row k-filter-row";class m extends n.Component{headerCellClassName(t,r){let i=`${r?"k-grid-header-sticky":""}`;return this.props.sort&&this.props.sort.filter(c=>c.field===t).length>0&&(i+=" k-sorted"),i}setFilter(t,r,i,c){if(!this.props.filterChange)return;const o=[];(t!==""&&t!==null||r!=="")&&o.push({field:i,operator:r,value:t}),this.props.filter&&this.props.filter.filters&&(this.props.filter.filters||[]).forEach(s=>{const l=s;l&&l.field!==i&&o.push(l)});const h=this.props.filter&&this.props.filter.logic?this.props.filter.logic:"and";this.props.filterChange(o.length>0?{logic:h,filters:o}:null,c)}render(){const t=x.provideLocalizationService(this),r=this.props.filter&&this.props.filter.filters||[],i=e=>{if(e===void 0)return;const s=r.filter(l=>l.field===e);return s.length?s[0]:void 0};let c=0,o=-1;const h=this.props.columns.filter(e=>e.children.length===0).map(e=>{const s=d.getFilterType(e.filter),l=i(e.field),b=e.filterable?t.toLanguageString(C.filterAriaLabel,C.messages[C.filterAriaLabel]):void 0;let g=l&&l.value;g===void 0&&(g=s==="text"?"":null);const f=e.filterable&&{render:this.props.cellRender,field:e.field,title:e.filterTitle,value:g,operator:l&&l.operator,operators:d.operatorMap(this.props.filterOperators[s]||[],t),booleanValues:d.operatorMap(d.booleanFilterValues,t),filterType:s,ariaLabel:b,onChange:p=>{this.setFilter(p.value,p.operator,e.field,p.syntheticEvent)}},v=e.declarationIndex>=0?++o:--c,E={ariaLabel:b,ariaColumnIndex:e.ariaColumnIndex},I=e.left!==void 0?this.props.isRtl?{left:e.right,right:e.left}:{left:e.left,right:e.right}:{},F={columnId:k.tableKeyboardNavigationTools.getFilterColumnId(e.id),navigatable:e.navigatable||this.props.navigatable,style:I,className:T.classNames("k-table-th",this.headerCellClassName(e.field,e.locked)||void 0),role:"columnheader",...E},R=f&&(e.filterCell?n.createElement(e.filterCell,{...f}):n.createElement(S.GridFilterCell,{size:this.props.size,...f})),u=O.resolveCells(this.props.cells,e.cells);if(u&&u.filterCell){const p=u.filterCell;return n.createElement(p,{key:v,...f,thProps:F,index:o},R)}return n.createElement(k.HeaderThElement,{key:v,...F},R)});return n.createElement("tr",{className:y,"aria-rowindex":this.props.ariaRowIndex,role:"row"},h)}}x.registerForLocalization(m);exports.FILTER_ROW_CLASS=y;exports.FilterRow=m;
|
package/header/FilterRow.mjs
CHANGED
|
@@ -66,7 +66,7 @@ class S extends a.Component {
|
|
|
66
66
|
ariaColumnIndex: e.ariaColumnIndex
|
|
67
67
|
}, E = e.left !== void 0 ? this.props.isRtl ? { left: e.right, right: e.left } : { left: e.left, right: e.right } : {}, m = {
|
|
68
68
|
columnId: R.getFilterColumnId(e.id),
|
|
69
|
-
navigatable: e.navigatable,
|
|
69
|
+
navigatable: e.navigatable || this.props.navigatable,
|
|
70
70
|
style: E,
|
|
71
71
|
className: T("k-table-th", this.headerCellClassName(e.field, e.locked) || void 0),
|
|
72
72
|
role: "columnheader",
|