@progress/kendo-react-grid 9.4.0-develop.9 → 9.4.1-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/GridClientWrapper.js +1 -1
  2. package/GridClientWrapper.mjs +463 -374
  3. package/GridComponent.js +1 -1
  4. package/GridComponent.mjs +337 -307
  5. package/GridSearchBox.js +8 -0
  6. package/GridSearchBox.mjs +35 -0
  7. package/GridState.js +1 -1
  8. package/GridState.mjs +79 -67
  9. package/NOTICE.txt +40 -51
  10. package/cells/GridCell.js +1 -1
  11. package/cells/GridCell.mjs +24 -20
  12. package/cells/client/GridRowReorderContainer.js +1 -1
  13. package/cells/client/GridRowReorderContainer.mjs +15 -9
  14. package/columnMenu/GridColumnMenuCheckboxFilter.js +1 -1
  15. package/columnMenu/GridColumnMenuCheckboxFilter.mjs +56 -55
  16. package/columnMenu/GridColumnMenuColumnsChooser.js +9 -0
  17. package/columnMenu/GridColumnMenuColumnsChooser.mjs +82 -0
  18. package/columnMenu/GridColumnMenuFilter.js +1 -1
  19. package/columnMenu/GridColumnMenuFilter.mjs +19 -19
  20. package/columnMenu/GridColumnMenuSort.js +1 -1
  21. package/columnMenu/GridColumnMenuSort.mjs +1 -1
  22. package/components/noRecords/GridNoRecords.js +1 -1
  23. package/components/noRecords/GridNoRecords.mjs +8 -7
  24. package/dist/cdn/js/kendo-react-grid.js +1 -1
  25. package/header/client/GridHeaderCellContainer.js +1 -1
  26. package/header/client/GridHeaderCellContainer.mjs +20 -18
  27. package/index.d.mts +289 -48
  28. package/index.d.ts +289 -48
  29. package/index.js +1 -1
  30. package/index.mjs +76 -72
  31. package/messages/index.js +1 -1
  32. package/messages/index.mjs +38 -36
  33. package/package-metadata.js +1 -1
  34. package/package-metadata.mjs +2 -2
  35. package/package.json +14 -14
  36. package/rows/GridRow.js +1 -1
  37. package/rows/GridRow.mjs +45 -45
  38. package/utils/index.js +1 -1
  39. package/utils/index.mjs +156 -146
  40. /package/{interfaces/GridSortSettings.js → sortCommon.js} +0 -0
  41. /package/{interfaces/GridSortSettings.mjs → sortCommon.mjs} +0 -0
package/GridComponent.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 strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const it=require("react"),d=require("@progress/kendo-react-common"),ot=require("@progress/kendo-data-query"),G=require("@progress/kendo-react-data-tools"),dt=require("./cells/GridSelectionCell.js"),ct=require("./cells/GridHierarchyCell.js"),st=require("./cells/GridEditCell.js"),ut=require("./header/Header.js"),gt=require("./header/HeaderRow.js"),mt=require("./header/FilterRow.js"),ft=require("./header/GroupPanel.js"),bt=require("./footer/Footer.js"),u=require("./utils/index.js"),Ct=require("./cells/GridCell.js"),Ne=require("./cells/GridGroupCell.js"),yt=require("./rows/GridRow.js"),ht=require("./header/GridHeaderSelectionCell.js"),ke=require("./components/noRecords/GridNoRecords.js"),qe=require("./filterCommon.js"),wt=require("./footer/FooterRow.js"),Gt=require("./paging/GridPagerSettings.js"),Rt=require("./package-metadata.js"),Et=require("./cells/GridDetailCell.js"),It=require("./cells/GridDetailHierarchyCell.js"),De=require("./components/noRecords/GridNoRecordsContainer.js"),St=require("./GridWatermarkOverlay.js"),Fe=require("./GridClientWrapper.js"),vt=require("./components/colGroup/GridColGroup.js"),xt=require("./components/table/GridTable.js"),Te=require("./components/GridDropClue.js"),He=require("./components/GridDragClue.js"),Pe=require("./components/table/GridTableBody.js"),Nt=require("./components/PagerContainer.js"),kt=require("./components/table/GridTableScrollable.js"),Ke=require("./components/GridElementContainer.js"),qt=require("./components/GridContainerElementContainer.js"),Dt=require("./components/VirtualScrollHeightContainer.js"),Ve=require("@progress/kendo-react-intl"),ee=require("./messages/index.js"),$=require("./VirtualScrollFixed.js"),Ft=require("./VirtualScroll.js"),Tt=require("./components/GridCustomCellClientContainer.js"),Ht=require("./components/GridDraggableRowsContainer.js"),Pt=require("./cells/GridRowReorderCell.js"),Kt=require("./header/client/GridHeaderRowReorderCell.js"),Ae=require("./components/GridLoader.js");function Vt(e){const x=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const C in e)if(C!=="default"){const R=Object.getOwnPropertyDescriptor(e,C);Object.defineProperty(x,C,R.get?R:{enumerable:!0,get:()=>e[C]})}}return x.default=e,Object.freeze(x)}const l=Vt(it),Be=l.forwardRef((e,x)=>{var we,Ge,Re,Ee,Ie,Se,ve;const C=e.id+"-role-element-id",R=e.navigatable?C:"";d.validatePackage(Rt.packageMetadata);const Oe=(t,r,o,c,i,a,s)=>{const f=[],b=u.flatData(f,E,t,{index:r},o!==void 0,c,i,a,Je.defaultExpand,s);return{flattedData:f,resolvedGroupsCount:b}},Le=t=>{const r=t.filter(i=>i&&i.type&&i.type.displayName==="KendoReactGridColumn"),o=m.current.filter(i=>i.declarationIndex>=0&&i.parentIndex===-1),c=u.sanitizeColumns(o);return u.readColumns(r,c,{prevId:0,idPrefix:R})},_e=t=>t.filter(r=>d.canUseDOM&&r&&r.media?window.matchMedia(r.media).matches:r),ze=(t,r)=>{var i;const o=Le(t),c=_e(o);m.current=c,m.current.length===0&&(m.current=u.autoGenerateColumns(E,e.group,{column:(i=H.column)!=null?i:e.expandField},{prevId:0,idPrefix:R})),Me(m.current,r),N=u.mapColumns(m.current,!0),le.current=m.current.map(u.clientColumn)},Me=(t,r)=>{var i;t.filter(a=>e.selectedField&&a.field===e.selectedField||a.columnType==="checkbox").forEach(a=>{a.width=a.width||"50px",a.cell=a.cell||dt.GridSelectionCell,a._type="edit",a.headerCell=a.headerCell||ht.GridHeaderSelectionCell}),q!==void 0&&t.filter(a=>a.columnType==="reorder").forEach(a=>{a.width=a.width||"50px",a.cell=a.cell||Pt.GridRowReorderCell,a.headerCell=a.headerCell||Kt.GridHeaderRowReorderCell,a.sortable=!1,a.filterable=!1,a.editable=!1});const o={id:"",resizable:!0,width:"32px",title:" ",declarationIndex:-1,orderIndex:-1,children:[],parentIndex:-1,depth:0,colSpan:0,headerColSpan:0,rowSpan:0,left:0,right:0,index:0,rightBorder:!1,ariaColumnIndex:0,isAccessible:!0};let c=0;(e.expandField||H.enabled)&&e.detail&&(t.unshift({...o,_type:"expand",cell:ct.GridHierarchyCell,field:(i=H.column)!=null?i:e.expandField,headerClassName:d.classNames(g.hierarchyCell({}))}),c++);for(let a=0;a<r;a++)t.unshift({...o,isAccessible:!1,cell:Ne.GridGroupCell,field:"value",locked:e.lockGroups}),c++;t.slice(c).forEach(a=>a.parentIndex>=0&&(a.parentIndex+=c))},te=()=>E.length===e.total,We=()=>{const{rowHeight:t,detailRowHeight:r,detail:o,expandField:c}=e,i=te(),a=t!==void 0&&t>0,s=r!==void 0&&r>0;return!a||T&&!i||!!(o&&c)&&(!s||!i)?Ft.VirtualScroll:$.VirtualScrollFixed},U=()=>e.isClient?m:le,je=(t,r,o,c,i,a)=>{let s=u.getColSpan(t,r);if(e.columnVirtualization&&t.colSpan===1)return{colSpan:a,colsToSkip:i};let f=o.length-1===c,b=o.length-c;return e.columnVirtualization&&(f=h.length-1===c,b=h.length-c),s>1&&!f?i=s-1:s=1,b<=s&&!f&&(s=b),{colSpan:s,colsToSkip:i}};let Q,y=[],O;const m=e.columnsRef||{current:[]},le={current:[]};let N=[[]];const $e=e.scrollLeftRef||{current:0},L=e.localization||new Ve.LocalizationService,Ue=e.intl||new Ve.IntlService("en"),k=e.unstyled,g=k&&k.uGrid?k.uGrid:d.uGrid,q=typeof e.rowReorderable=="object"?e.rowReorderable.enabled:e.rowReorderable,F=e.autoProcessData===!0?{group:!0,sort:!0,filter:!0,page:!0}:e.autoProcessData;let E,v;if(Array.isArray(e.data)?(E=e.data,v=(we=e.total)!=null?we:E.length):(E=((Ge=e.data)==null?void 0:Ge.data)||[],v=(Ie=(Ee=e.total)!=null?Ee:(Re=e.data)==null?void 0:Re.total)!=null?Ie:E.length),F){const{data:t,total:r}=ot.process(E,{group:F.group?e.group:void 0,sort:F.sort?e.sort:void 0,filter:F.filter?e.filter:void 0,...F.page?{take:e.take,skip:e.skip}:{}});E=t,v=(Se=e.total)!=null?Se:r}const{size:I="medium"}=e,Qe=typeof e.groupable=="object"&&e.groupable.footer||"none",D=e.scrollable==="virtual",T=e.groupable===!0||typeof e.groupable=="object"&&e.groupable.enabled!==!1,H=G.getDetailExpandableOptions(!!e.detail),Je=G.getGroupExpandableOptions(typeof e.groupable=="object"&&e.groupable.enabled!==!1?e.groupable.expandable:e.groupable),{resolvedGroupsCount:Xe,flattedData:Ye}=Oe(Qe,e.skip||0,e.group,e.expandField,e.detailExpand,e.groupExpand,e.dataItemKey);y=Ye;const J=We();J===$.VirtualScrollFixed&&te()&&(O=y.slice(e.skip||0,(e.skip||0)+((e.take!==void 0?e.take:e.pageSize)||0)));const ae=G.getSelectionOptions(e.selectable||!!e.selectedField),Ze=ae&&ae.drag?"none":void 0,_=l.Children.toArray(e.children);ze(_,Xe);const re=_.map(t=>t&&t.type&&t.type.displayName==="KendoReactGridToolbar"?l.cloneElement(t,{...t.props,ariaControls:C}):null),z=_.filter(t=>t&&t.type&&t.type.displayName==="KendoReactGridNoRecords"),ne=_.filter(t=>t&&t.type&&t.type.displayName==="KendoReactGridStatusBar"),h=m.current.filter(t=>t.children.length===0),ie=T&&l.createElement(ft.GroupPanel,{columns:U().current,group:e.group||[],ariaControls:C}),oe=l.createElement(ut.Header,{size:I,staticHeaders:e.scrollable!=="none",draggable:e.reorderable||T,headerRow:l.createElement(gt.HeaderRow,{cells:e.cells,sort:e.sort,sortable:e.sortable,group:e.group||[],groupable:T,filter:e.filter,filterable:e.filterable,filterOperators:e.filterOperators||qe.operators,columnMenu:e.columnMenu,columnMenuIcon:e.columnMenuIcon,columns:m.current,columnsMap:N,cellRender:e.headerCellRender,navigatable:!!e.navigatable,localization:L,unstyled:k,headerSelectionValue:!!(e.select&&y.filter(t=>t.rowType==="data").every(t=>e.select&&e.dataItemKey&&d.getter(e.dataItemKey)(t.dataItem)!==void 0?e.select[d.getter(e.dataItemKey)(t.dataItem)]:void 0))}),filterRow:e.filterable&&l.createElement(mt.FilterRow,{cells:e.cells,size:I,columns:m.current,filter:e.filter,filterOperators:e.filterOperators||qe.operators,sort:e.sort,cellRender:e.filterCellRender,navigatable:!!e.navigatable,ariaRowIndex:N.length+1,localization:L})||void 0,cols:h.map((t,r)=>l.createElement("col",{key:r.toString(),width:u.getColumnWidth(t)}))}),pe=$e.current||0,et=parseFloat(((e.style||{}).width||"").toString()),tt=(t,r,o,c)=>{let i=!1;const a=e.selectedField?u.getNestedValue(e.selectedField,t.dataItem):e.select&&e.dataItemKey&&d.getter(e.dataItemKey)(t.dataItem)!==void 0?e.select[d.getter(e.dataItemKey)(t.dataItem)]:void 0;let s=0;const{colSpans:f,hiddenColumns:b}=G.tableColumnsVirtualization({enabled:e.columnVirtualization,columns:h,tableViewPortWidth:et,scrollLeft:pe,getColSpan:u.getColSpan,dataItem:t.dataItem}),S=h.filter((n,w)=>!b[w]);return{row:h.map((n,w)=>{if(b[w])return null;if(s>0)return s--,null;const{colSpan:K,colsToSkip:V}=je(n,t.dataItem,S,w,s,f[w]);s=V;const W=n.id?n.id:w,j=d.classNames(g.contentSticky({locked:n.locked}),n.className),rt=n.left!==void 0?{left:n.left,right:n.right}:{};let xe=!1;if(n.editable&&(e.editable||e.editField)){const B=e.editField?u.getNestedValue(e.editField,t.dataItem):e.edit&&e.dataItemKey?e.edit[d.getter(e.dataItemKey)(t.dataItem)]:void 0,p=typeof B=="boolean"?B:Array.isArray(B)?B.indexOf(n.field)>-1:n.field!==void 0&&B===n.field;p&&n.columnType==="data"&&(p===!0||p===n.field)&&(i=!0,xe=!0)}const Z=n.cell||xe&&st.GridEditCell||Ct.GridCell,nt=e.expandField&&e.detail&&n.field===e.expandField||n._type==="expand",A={locked:e.lockGroups,id:G.tableKeyboardNavigationTools.generateNavigatableId(`${r}-${String(w)}`,R,nt||t.rowType==="groupHeader"||t.rowType==="groupFooter"||n.field==="value"?"nodata":"cell"),colSpan:K,dataItem:t.dataItem,field:n.field,editor:n.editor,format:n.format,columnType:n.columnType,rowReorderable:q,className:j,render:e.cellRender,cells:u.resolveCells(e.cells,n.cells),columnIndex:w,columnsCount:h.length,rowType:t.rowType,level:t.level,expanded:t.expanded,dataIndex:t.dataIndex,rowDataIndex:o,columnPosition:rt,style:{},ariaColumnIndex:n.ariaColumnIndex,isSelected:(n==null?void 0:n._type)==="edit"?a:Array.isArray(a)&&a.indexOf(w)>-1,isSorted:!!u.isSorted(n.field,e.sort),isInEdit:i,isAlt:c,unstyled:k,group:t.group,localization:L,intl:Ue};return n.cell?l.createElement(Tt.GridCustomCellClientContainer,{key:W,isClient:u.isClientReference(Z),dataItem:A.dataItem,rowDataIndex:A.rowDataIndex,columnIndex:A.columnIndex},l.createElement(Z,{...A})):l.createElement(Z,{key:W,...A})}),isInEdit:i,isSelected:typeof a=="boolean"&&a}};let de=0;if(D&&Q)for(let t=0;t<Q.topCacheCount+Q.attendedSkip-(e.skip||0);t++){const r=y.shift();if(r)y.push(r),de++,r.rowType==="groupHeader"&&t--;else break}const ce=t=>t>=y.length-de;let se=e.skip||0;const X=[],ue=!y.length,ge=N.length+(e.filterable?1:0)+1;let P=0;if(y.length){let t=-1,r=0;(O||y).forEach((o,c)=>{o.rowType==="data"&&(se++,t++);const i=se%2===0,a=e.dataItemKey&&d.getter(e.dataItemKey)(o.dataItem),s=c+(e.skip||0),f=a||"ai"+s,b=f+"_1",S=tt(o,f,t,i);if(P=s+ge+r,X.push(l.createElement(yt.GridRow,{key:f,dataItem:o.dataItem,isAltRow:i,isInEdit:S.isInEdit,rowType:o.rowType,isRowReorderable:q,isHidden:ce(c),onClick:null,onDoubleClick:null,selectedField:e.selectedField,rowHeight:e.rowHeight,render:e.rowRender,ariaRowIndex:P,absoluteRowIndex:s,dataIndex:D&&!e.groupable?s:t,isSelected:S.isSelected},S.row)),e.detail&&o.rowType==="data"&&o.expanded){const n=h.length-(e.expandField||H.enabled?1:0)-(e.group?e.group.length:0)||1;r++,P=s+ge+r,X.push(l.createElement("tr",{key:b,className:d.classNames(g.detailTr({isAlt:i})),style:{visibility:ce(c)?"hidden":"",height:e.detailRowHeight},role:"row","aria-rowindex":P},e.group&&e.group.map((w,K)=>{var j;const V=(j=S==null?void 0:S.row[K])==null?void 0:j.props.style,W=V?{left:V.left,right:V.right}:{};return l.createElement(Ne.GridGroupCell,{id:"",dataIndex:o.dataIndex,field:w.field,dataItem:o.dataItem,key:K,columnPosition:W,style:{},ariaColumnIndex:1+K,isSelected:!1,locked:e.lockGroups,cells:e.cells,group:o.group})}),(e.expandField||H.enabled)&&l.createElement(It.GridDetailHierarchyCell,{unstyled:k,id:G.tableKeyboardNavigationTools.generateNavigatableId(`${b}-dhcell`,R)}),l.createElement(Et.GridDetailCell,{dataItem:o.dataItem,dataIndex:o.dataIndex,colSpan:n,ariaColIndex:2+(e.group?e.group.length:0),detail:e.detail,id:G.tableKeyboardNavigationTools.generateNavigatableId(`${b}-dcell`,R)})))}})}const me={size:I,total:v,skip:e.skip||0,take:(e.take!==void 0?e.take:e.pageSize)||10,...Gt.normalize(e.pageable||{})},fe=l.createElement(Nt.PagerContainer,null,e.pager?l.createElement(e.pager,{...me}):l.createElement(G.Pager,{className:d.classNames(g.pager({})),...me})),lt=(t,r)=>l.createElement("col",{key:r.toString(),width:u.getColumnWidth(t)}),at=(ve=e.cells)!=null&&ve.footerCell||m.current.some(t=>{var r;return!!(t.footerCell||(r=t.cells)!=null&&r.footerCell)})?l.createElement(bt.Footer,{size:I,staticHeaders:e.scrollable!=="none",row:l.createElement(wt.FooterRow,{cells:e.cells,idPrefix:R,columns:m.current,ariaRowIndex:P+1}),cols:h.map(lt)}):null,be=l.createElement(vt.GridColGroup,null,h.map((t,r)=>l.createElement("col",{key:r.toString(),className:u.isSorted(t.field,e.sort)?d.classNames(g.sorted({})):void 0,width:u.getColumnWidth(t)}))),Ce=e.reorderable||T,{detail:At,cells:Bt,...ye}=e,he=l.createElement("tbody",{role:"rowgroup",className:d.classNames(g.tbody({})),...G.tableKeyboardNavigationBodyAttributes},X);let Y=he;if(q&&(Y=l.createElement(Ht.GridReorderableRowsContainer,{unstyled:g,columns:m.current,rowReorderSettings:e.rowReorderable},he)),e.scrollable==="none")return l.createElement(Fe.GridClientWrapper,{gridRef:x,gridProps:ye,columnsRef:U(),columnsMapRef:N,dataRef:y,slicedData:O,isFixedVirtualScroll:J===$.VirtualScrollFixed,id:C,total:v,detailExpandable:!!e.detail},l.createElement(Ke.GridElementContainer,null,l.createElement("div",{id:e.id,style:e.style,className:d.classNames(g.wrapper({size:I}),e.className),"aria-label":e.ariaLabel,...G.tableKeyboardNavigationScopeAttributes},re,ie,l.createElement(xt.GridTable,{selectable:e.selectable,className:d.classNames(g.table({size:I}))},be,oe,l.createElement(Pe.GridTableBody,{rowReorderable:q},Y)),ue&&l.createElement(De.GridNoRecordsContainer,null,z.length?z:l.createElement(ke.GridNoRecords,null)),Ce&&l.createElement(l.Fragment,null,l.createElement(Te.GridDropClue,null),l.createElement(He.GridDragClue,null)))),ne,e.pageable&&fe,l.createElement(Ae.GridLoader,{loader:e.loader,showLoader:e.showLoader}));let M=e.style||{};return D&&(M.height||(M=Object.assign({},M,{height:"450px"}))),l.createElement(Fe.GridClientWrapper,{gridRef:x,gridProps:ye,columnsRef:U(),columnsMapRef:N,dataRef:y,slicedData:O,isFixedVirtualScroll:J===$.VirtualScrollFixed,id:C,total:v,detailExpandable:!!e.detail},l.createElement(Ke.GridElementContainer,null,l.createElement("div",{id:e.id,style:M,className:d.classNames(g.wrapper({size:I,virtual:D}),e.className),"aria-label":e.ariaLabel,...G.tableKeyboardNavigationScopeAttributes},re,ie,l.createElement("div",{className:d.classNames(g.ariaRoot({})),role:"grid","aria-colcount":h.length,"aria-rowcount":v,id:C,"aria-label":L.toLanguageString(ee.gridAriaLabel,ee.messages[ee.gridAriaLabel])},oe,l.createElement("div",{className:d.classNames(g.container({})),role:"presentation"},l.createElement(qt.GridContainerElementContainer,null,l.createElement("div",{className:d.classNames(g.content({})),role:"presentation"},l.createElement("div",{className:d.classNames(g.tableWrap({})),role:"presentation"},l.createElement(kt.GridTableScrollable,{selectable:e.selectable,tableClassName:d.classNames(g.table({size:I})),tableStyle:{userSelect:Ze}},be,l.createElement(Pe.GridTableBody,{rowReorderable:q},Y)),ue&&l.createElement(De.GridNoRecordsContainer,null,z.length?z:l.createElement(ke.GridNoRecords,null))),D&&l.createElement("div",{className:d.classNames(g.heightContainer({})),role:"presentation"},l.createElement(Dt.VirtualScrollHeightContainer,{isVirtualScroll:D}))))),at,Ce&&l.createElement(l.Fragment,null,l.createElement(Te.GridDropClue,null),l.createElement(He.GridDragClue,null)),l.createElement(St.GridWatermarkOverlay,null)),ne,e.pageable&&fe,l.createElement(Ae.GridLoader,{loader:e.loader,showLoader:e.showLoader}))))});Be.displayName="KendoReactGridComponent";exports.GridComponent=Be;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const bt=require("react"),d=require("@progress/kendo-react-common"),Ct=require("@progress/kendo-data-query"),b=require("@progress/kendo-react-data-tools"),yt=require("./cells/GridSelectionCell.js"),ht=require("./cells/GridHierarchyCell.js"),wt=require("./cells/GridEditCell.js"),Gt=require("./header/Header.js"),St=require("./header/HeaderRow.js"),Et=require("./header/FilterRow.js"),Rt=require("./header/GroupPanel.js"),It=require("./footer/Footer.js"),s=require("./utils/index.js"),vt=require("./cells/GridCell.js"),He=require("./cells/GridGroupCell.js"),xt=require("./rows/GridRow.js"),Nt=require("./header/GridHeaderSelectionCell.js"),Pe=require("./components/noRecords/GridNoRecords.js"),Ke=require("./filterCommon.js"),kt=require("./footer/FooterRow.js"),qt=require("./paging/GridPagerSettings.js"),Ft=require("./package-metadata.js"),Dt=require("./cells/GridDetailCell.js"),Tt=require("./cells/GridDetailHierarchyCell.js"),Ve=require("./components/noRecords/GridNoRecordsContainer.js"),Ht=require("./GridWatermarkOverlay.js"),Oe=require("./GridClientWrapper.js"),Pt=require("./components/colGroup/GridColGroup.js"),Kt=require("./components/table/GridTable.js"),Ae=require("./components/GridDropClue.js"),Be=require("./components/GridDragClue.js"),Le=require("./components/table/GridTableBody.js"),Vt=require("./components/PagerContainer.js"),Ot=require("./components/table/GridTableScrollable.js"),_e=require("./components/GridElementContainer.js"),At=require("./components/GridContainerElementContainer.js"),Bt=require("./components/VirtualScrollHeightContainer.js"),ze=require("@progress/kendo-react-intl"),ae=require("./messages/index.js"),$=require("./VirtualScrollFixed.js"),Lt=require("./VirtualScroll.js"),_t=require("./components/GridCustomCellClientContainer.js"),zt=require("./components/GridDraggableRowsContainer.js"),Mt=require("./cells/GridRowReorderCell.js"),Wt=require("./header/client/GridHeaderRowReorderCell.js"),Me=require("./components/GridLoader.js");function jt(e){const k=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const C in e)if(C!=="default"){const S=Object.getOwnPropertyDescriptor(e,C);Object.defineProperty(k,C,S.get?S:{enumerable:!0,get:()=>e[C]})}}return k.default=e,Object.freeze(k)}const a=jt(bt),We=a.forwardRef((e,k)=>{var Ee,Re,Ie,ve,xe,Ne,ke;const C=e.id+"-role-element-id",S=e.navigatable?C:"";d.validatePackage(Ft.packageMetadata);const je=(t,r,c,o,i,l,u)=>{const g=[],w=s.flatData(g,E,t,{index:r},c!==void 0,o,i,l,lt.defaultExpand,u);return{flattedData:g,resolvedGroupsCount:w}},$e=t=>{const r=t.filter(i=>i&&i.type&&i.type.displayName==="KendoReactGridColumn"),c=f.current.filter(i=>i.declarationIndex>=0&&i.parentIndex===-1),o=s.sanitizeColumns(c);return s.readColumns(r,o,{prevId:0,idPrefix:S})},Ue=t=>t.filter(r=>d.canUseDOM&&r&&r.media?window.matchMedia(r.media).matches:r),Qe=()=>{const t=[],r=(c,o)=>c==null?void 0:c.forEach(i=>{const l=i.hidden||o;t.push({...i,hidden:l}),r(i.children,l)});return r(e.columnsState,!1),t},Je=t=>{const r=Qe();return t.filter(c=>{var o;return!((o=r.find(i=>i.id===c.id))!=null&&o.hidden)})},Xe=(t,r)=>{var i;const c=$e(t),o=Ue(c);f.current=o,f.current.length===0&&(f.current=s.autoGenerateColumns(E,e.group,{column:(i=V.column)!=null?i:e.expandField},{prevId:0,idPrefix:S})),f.current=Je(f.current),Ye(f.current,r),q=s.mapColumns(f.current,!0),re.current=f.current.map(s.clientColumn)},Ye=(t,r)=>{var i;t.filter(l=>e.selectedField&&l.field===e.selectedField||l.columnType==="checkbox").forEach(l=>{l.width=l.width||"50px",l.cell=l.cell||yt.GridSelectionCell,l._type="edit",l.headerCell=l.headerCell||Nt.GridHeaderSelectionCell}),D!==void 0&&t.filter(l=>l.columnType==="reorder").forEach(l=>{l.width=l.width||"50px",l.cell=l.cell||Mt.GridRowReorderCell,l.headerCell=l.headerCell||Wt.GridHeaderRowReorderCell,l.sortable=!1,l.filterable=!1,l.editable=!1});const c={id:"",resizable:!0,width:"32px",title:" ",declarationIndex:-1,orderIndex:-1,children:[],parentIndex:-1,depth:0,colSpan:0,headerColSpan:0,rowSpan:0,left:0,right:0,index:0,rightBorder:!1,ariaColumnIndex:0,isAccessible:!0};let o=0;(e.expandField||V.enabled)&&e.detail&&(t.unshift({...c,_type:"expand",cell:ht.GridHierarchyCell,field:(i=V.column)!=null?i:e.expandField,headerClassName:d.classNames(m.hierarchyCell({}))}),o++);for(let l=0;l<r;l++)t.unshift({...c,isAccessible:!1,cell:He.GridGroupCell,field:"value",locked:e.lockGroups}),o++;t.slice(o).forEach(l=>{l.parentIndex>=0&&(l.parentIndex+=o),l.rowSpannable=l.rowSpannable!==void 0?s.getRowSpanOptions(l.rowSpannable):ie})},le=()=>E.length===e.total,Ze=()=>{const{rowHeight:t,detailRowHeight:r,detail:c,expandField:o}=e,i=le(),l=t!==void 0&&t>0,u=r!==void 0&&r>0;return!l||K&&!i||!!(c&&o)&&(!u||!i)?Lt.VirtualScroll:$.VirtualScrollFixed},U=()=>e.isClient?f:re,pe=(t,r,c,o,i,l)=>{let u=s.getColSpan(t,r);if(e.columnVirtualization&&t.colSpan===1)return{colSpan:l,colsToSkip:i};let g=c.length-1===o,w=c.length-o;return e.columnVirtualization&&(g=h.length-1===o,w=h.length-o),u>1&&!g?i=u-1:u=1,w<=u&&!g&&(u=w),{colSpan:u,colsToSkip:i}};let Q,y=[],_;const f=e.columnsRef||{current:[]},re={current:[]};let q=[[]];const et=e.scrollLeftRef||{current:0},z=e.localization||new ze.LocalizationService,tt=e.intl||new ze.IntlService("en"),F=e.unstyled,m=F&&F.uGrid?F.uGrid:d.uGrid,D=s.isRowReorderEnabled(e.rowReorderable),T=e.autoProcessData===!0?{group:!0,sort:!0,filter:!0,search:!0,page:!0}:e.autoProcessData;let E,N;if(Array.isArray(e.data)?(E=e.data,N=(Ee=e.total)!=null?Ee:E.length):(E=((Re=e.data)==null?void 0:Re.data)||[],N=(xe=(ve=e.total)!=null?ve:(Ie=e.data)==null?void 0:Ie.total)!=null?xe:E.length),T){const{data:t,total:r}=Ct.process(E,{group:T.group?e.group:void 0,sort:T.sort?e.sort:void 0,filter:b.combineFilters(T.filter?e.filter:void 0,T.search?e.search:void 0),...T.page?{take:e.take,skip:e.skip}:{}});E=t,N=(Ne=e.total)!=null?Ne:r}const{size:I="medium"}=e,at=typeof e.groupable=="object"&&e.groupable.footer||"none",H=e.scrollable==="virtual",K=e.groupable===!0||typeof e.groupable=="object"&&e.groupable.enabled!==!1,V=b.getDetailExpandableOptions(!!e.detail),lt=b.getGroupExpandableOptions(typeof e.groupable=="object"&&e.groupable.enabled!==!1?e.groupable.expandable:e.groupable),{resolvedGroupsCount:rt,flattedData:nt}=je(at,e.skip||0,e.group,e.expandField,e.detailExpand,e.groupExpand,e.dataItemKey);y=nt;const J=Ze();J===$.VirtualScrollFixed&&le()&&(_=y.slice(e.skip||0,(e.skip||0)+((e.take!==void 0?e.take:e.pageSize)||0)));const ne=b.getSelectionOptions(e.selectable||!!e.selectedField),ie=s.getRowSpanOptions(e.rowSpannable),it=ne&&ne.drag?"none":void 0,M=a.Children.toArray(e.children);Xe(M,rt);const oe=M.map(t=>t&&t.type&&t.type.displayName==="KendoReactGridToolbar"?a.cloneElement(t,{...t.props,ariaControls:C}):null),W=M.filter(t=>t&&t.type&&t.type.displayName==="KendoReactGridNoRecords"),de=M.filter(t=>t&&t.type&&t.type.displayName==="KendoReactGridStatusBar"),h=f.current.filter(t=>t.children.length===0),ce=K&&a.createElement(Rt.GroupPanel,{columns:U().current,group:e.group||[],ariaControls:C}),se=a.createElement(Gt.Header,{size:I,staticHeaders:e.scrollable!=="none",draggable:e.reorderable||K,headerRow:a.createElement(St.HeaderRow,{cells:e.cells,sort:e.sort,sortable:e.sortable,group:e.group||[],groupable:K,filter:e.filter,filterable:e.filterable,filterOperators:e.filterOperators||Ke.operators,columnMenu:e.columnMenu,columnMenuIcon:e.columnMenuIcon,columns:f.current,columnsMap:q,cellRender:e.headerCellRender,navigatable:!!e.navigatable,localization:z,unstyled:F,headerSelectionValue:!!(e.select&&y.filter(t=>t.rowType==="data").every(t=>e.select&&e.dataItemKey&&d.getter(e.dataItemKey)(t.dataItem)!==void 0?e.select[d.getter(e.dataItemKey)(t.dataItem)]:void 0))}),filterRow:e.filterable&&a.createElement(Et.FilterRow,{cells:e.cells,size:I,columns:f.current,filter:e.filter,filterOperators:e.filterOperators||Ke.operators,sort:e.sort,cellRender:e.filterCellRender,navigatable:!!e.navigatable,ariaRowIndex:q.length+1,localization:z})||void 0,cols:h.map((t,r)=>a.createElement("col",{key:r.toString(),width:s.getColumnWidth(t)}))}),ot=et.current||0,dt=parseFloat(((e.style||{}).width||"").toString()),ct=(t,r,c,o,i)=>{let l=!1;const u=e.selectedField?s.getNestedValue(e.selectedField,t.dataItem):e.select&&e.dataItemKey&&d.getter(e.dataItemKey)(t.dataItem)!==void 0?e.select[d.getter(e.dataItemKey)(t.dataItem)]:void 0;let g=0;const{colSpans:w,hiddenColumns:P}=b.tableColumnsVirtualization({enabled:e.columnVirtualization,columns:h,tableViewPortWidth:dt,scrollLeft:ot,getColSpan:s.getColSpan,dataItem:t.dataItem}),v=h.filter((n,G)=>!P[G]);return{row:h.map((n,G)=>{var qe,Fe,De,Te;if(P[G])return null;if(g>0)return g--,null;let R;if((qe=n.rowSpannable)!=null&&qe.enabled&&t.rowType==="data"&&n.field&&i){const x=n.field?(De=(Fe=n.rowSpannable).valueGetter)==null?void 0:De.call(Fe,t.dataItem,n.field):null;R={value:x,count:1},i[n.field]&&((Te=i[n.field])==null?void 0:Te.value)===x&&i[n.field]!==null?(i[n.field].count++,R.count=null):i[n.field]=R}const{colSpan:A,colsToSkip:Z}=pe(n,t.dataItem,v,G,g,w[G]);g=Z;const B=n.id?n.id:G,gt=d.classNames(m.contentSticky({locked:n.locked}),n.className),ft=n.left!==void 0?{left:n.left,right:n.right}:{};let p=!1;if(n.editable&&(e.editable||e.editField)){const x=e.editField?s.getNestedValue(e.editField,t.dataItem):e.edit&&e.dataItemKey?e.edit[d.getter(e.dataItemKey)(t.dataItem)]:void 0,te=typeof x=="boolean"?x:Array.isArray(x)?x.indexOf(n.field)>-1:n.field!==void 0&&x===n.field;te&&n.columnType==="data"&&(te===!0||te===n.field)&&(l=!0,p=!0)}const ee=n.cell||p&&wt.GridEditCell||vt.GridCell,mt=e.expandField&&e.detail&&n.field===e.expandField||n._type==="expand",L={locked:e.lockGroups,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${r}-${String(G)}`,S,mt||t.rowType==="groupHeader"||t.rowType==="groupFooter"||n.field==="value"?"nodata":"cell"),colSpan:A,dataItem:t.dataItem,field:n.field,editor:n.editor,format:n.format,columnType:n.columnType,rowReorderable:D,className:gt,render:e.cellRender,cells:s.resolveCells(e.cells,n.cells),columnIndex:G,columnsCount:h.length,rowType:t.rowType,level:t.level,expanded:t.expanded,dataIndex:t.dataIndex,rowDataIndex:c,columnPosition:ft,style:{},ariaColumnIndex:n.ariaColumnIndex,isSelected:(n==null?void 0:n._type)==="edit"?u:Array.isArray(u)&&u.indexOf(G)>-1,isSorted:!!s.isSorted(n.field,e.sort),isInEdit:p,isAlt:o,unstyled:F,group:t.group,localization:z,intl:tt,_rowSpan:R};return n.cell?a.createElement(_t.GridCustomCellClientContainer,{key:B,isClient:s.isClientReference(ee),dataItem:L.dataItem,rowDataIndex:L.rowDataIndex,columnIndex:L.columnIndex},a.createElement(ee,{...L})):a.createElement(ee,{key:B,...L})}),isInEdit:l,isSelected:typeof u=="boolean"&&u}};let ue=0;if(H&&Q)for(let t=0;t<Q.topCacheCount+Q.attendedSkip-(e.skip||0);t++){const r=y.shift();if(r)y.push(r),ue++,r.rowType==="groupHeader"&&t--;else break}const ge=t=>t>=y.length-ue;let fe=e.skip||0;const X=[],me=!y.length,be=q.length+(e.filterable?1:0)+1;let O=0;if(y.length){let t=-1,r=0;const c=ie.enabled?{}:void 0;(_||y).forEach((o,i)=>{o.rowType==="data"&&(fe++,t++);const l=fe%2===0,u=e.dataItemKey&&d.getter(e.dataItemKey)(o.dataItem),g=i+(e.skip||0),w=u||"ai"+g,P=w+"_1",v=ct(o,w,t,l,c);if(O=g+be+r,X.push(a.createElement(xt.GridRow,{key:w,dataItem:o.dataItem,isAltRow:l,isInEdit:v.isInEdit,rowType:o.rowType,isRowReorderable:D,isHidden:ge(i),onClick:null,onDoubleClick:null,selectedField:e.selectedField,rowHeight:e.rowHeight,render:e.rowRender,ariaRowIndex:O,absoluteRowIndex:g,dataIndex:H&&!e.groupable?g:t,isSelected:v.isSelected,rows:e.rows},v.row)),e.detail&&o.rowType==="data"&&o.expanded){const n=h.length-(e.expandField||V.enabled?1:0)-(e.group?e.group.length:0)||1;r++,O=g+be+r,X.push(a.createElement("tr",{key:P,className:d.classNames(m.detailTr({isAlt:l})),style:{visibility:ge(i)?"hidden":"",height:e.detailRowHeight},role:"row","aria-rowindex":O},e.group&&e.group.map((G,R)=>{var B;const A=(B=v==null?void 0:v.row[R])==null?void 0:B.props.style,Z=A?{left:A.left,right:A.right}:{};return a.createElement(He.GridGroupCell,{id:"",dataIndex:o.dataIndex,field:G.field,dataItem:o.dataItem,key:R,columnPosition:Z,style:{},ariaColumnIndex:1+R,isSelected:!1,locked:e.lockGroups,cells:e.cells,group:o.group})}),(e.expandField||V.enabled)&&a.createElement(Tt.GridDetailHierarchyCell,{unstyled:F,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${P}-dhcell`,S)}),a.createElement(Dt.GridDetailCell,{dataItem:o.dataItem,dataIndex:o.dataIndex,colSpan:n,ariaColIndex:2+(e.group?e.group.length:0),detail:e.detail,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${P}-dcell`,S)})))}})}const Ce={size:I,total:N,skip:e.skip||0,take:(e.take!==void 0?e.take:e.pageSize)||10,...qt.normalize(e.pageable||{})},ye=a.createElement(Vt.PagerContainer,null,e.pager?a.createElement(e.pager,{...Ce}):a.createElement(b.Pager,{className:d.classNames(m.pager({})),...Ce})),st=(t,r)=>a.createElement("col",{key:r.toString(),width:s.getColumnWidth(t)}),ut=(ke=e.cells)!=null&&ke.footerCell||f.current.some(t=>{var r;return!!(t.footerCell||(r=t.cells)!=null&&r.footerCell)})?a.createElement(It.Footer,{size:I,staticHeaders:e.scrollable!=="none",row:a.createElement(kt.FooterRow,{cells:e.cells,idPrefix:S,columns:f.current,ariaRowIndex:O+1}),cols:h.map(st)}):null,he=a.createElement(Pt.GridColGroup,null,h.map((t,r)=>a.createElement("col",{key:r.toString(),className:s.isSorted(t.field,e.sort)?d.classNames(m.sorted({})):void 0,width:s.getColumnWidth(t)}))),we=e.reorderable||K,{detail:$t,cells:Ut,rows:Qt,...Ge}=e,Se=a.createElement("tbody",{role:"rowgroup",className:d.classNames(m.tbody({})),...b.tableKeyboardNavigationBodyAttributes},X);let Y=Se;if(D&&(Y=a.createElement(zt.GridReorderableRowsContainer,{unstyled:m,columns:f.current,rowReorderSettings:e.rowReorderable},Se)),e.scrollable==="none")return a.createElement(Oe.GridClientWrapper,{gridRef:k,gridProps:Ge,columnsRef:U(),columnsMapRef:q,dataRef:y,slicedData:_,isFixedVirtualScroll:J===$.VirtualScrollFixed,id:C,total:N,detailExpandable:!!e.detail},a.createElement(_e.GridElementContainer,null,a.createElement("div",{id:e.id,style:e.style,className:d.classNames(m.wrapper({size:I}),e.className),"aria-label":e.ariaLabel,...b.tableKeyboardNavigationScopeAttributes},oe,ce,a.createElement(Kt.GridTable,{selectable:e.selectable,className:d.classNames(m.table({size:I}))},he,se,a.createElement(Le.GridTableBody,{rowReorderable:D},Y)),me&&a.createElement(Ve.GridNoRecordsContainer,null,W.length?W:a.createElement(Pe.GridNoRecords,null)),we&&a.createElement(a.Fragment,null,a.createElement(Ae.GridDropClue,null),a.createElement(Be.GridDragClue,null)))),de,e.pageable&&ye,a.createElement(Me.GridLoader,{loader:e.loader,showLoader:e.showLoader}));let j=e.style||{};return H&&(j.height||(j=Object.assign({},j,{height:"450px"}))),a.createElement(Oe.GridClientWrapper,{gridRef:k,gridProps:Ge,columnsRef:U(),columnsMapRef:q,dataRef:y,slicedData:_,isFixedVirtualScroll:J===$.VirtualScrollFixed,id:C,total:N,detailExpandable:!!e.detail},a.createElement(_e.GridElementContainer,null,a.createElement("div",{id:e.id,style:j,className:d.classNames(m.wrapper({size:I,virtual:H}),e.className),"aria-label":e.ariaLabel,...b.tableKeyboardNavigationScopeAttributes},oe,ce,a.createElement("div",{className:d.classNames(m.ariaRoot({})),role:"grid","aria-colcount":h.length,"aria-rowcount":N,id:C,"aria-label":z.toLanguageString(ae.gridAriaLabel,ae.messages[ae.gridAriaLabel])},se,a.createElement("div",{className:d.classNames(m.container({})),role:"presentation"},a.createElement(At.GridContainerElementContainer,null,a.createElement("div",{className:d.classNames(m.content({})),role:"presentation"},a.createElement("div",{className:d.classNames(m.tableWrap({})),role:"presentation"},a.createElement(Ot.GridTableScrollable,{selectable:e.selectable,tableClassName:d.classNames(m.table({size:I})),tableStyle:{userSelect:it}},he,a.createElement(Le.GridTableBody,{rowReorderable:D},Y)),me&&a.createElement(Ve.GridNoRecordsContainer,null,W.length?W:a.createElement(Pe.GridNoRecords,null))),H&&a.createElement("div",{className:d.classNames(m.heightContainer({})),role:"presentation"},a.createElement(Bt.VirtualScrollHeightContainer,{isVirtualScroll:H}))))),ut,we&&a.createElement(a.Fragment,null,a.createElement(Ae.GridDropClue,null),a.createElement(Be.GridDragClue,null)),a.createElement(Ht.GridWatermarkOverlay,null)),de,e.pageable&&ye,a.createElement(Me.GridLoader,{loader:e.loader,showLoader:e.showLoader}))))});We.displayName="KendoReactGridComponent";exports.GridComponent=We;