@progress/kendo-react-grid 10.2.0-develop.7 → 10.2.0-develop.8

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/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 wt=require("react"),c=require("@progress/kendo-react-common"),St=require("@progress/kendo-data-query"),b=require("@progress/kendo-react-data-tools"),Gt=require("./cells/GridSelectionCell.js"),Et=require("./cells/GridHierarchyCell.js"),Rt=require("./cells/GridEditCell.js"),vt=require("./header/Header.js"),It=require("./header/HeaderRow.js"),xt=require("./header/FilterRow.js"),Nt=require("./header/GroupPanel.js"),kt=require("./footer/Footer.js"),u=require("./utils/index.js"),qt=require("./cells/GridCell.js"),Oe=require("./cells/GridGroupCell.js"),Ft=require("./rows/GridRow.js"),Dt=require("./header/GridHeaderSelectionCell.js"),Be=require("./components/noRecords/GridNoRecords.js"),Le=require("./filterCommon.js"),Tt=require("./footer/FooterRow.js"),Ht=require("./paging/GridPagerSettings.js"),Pt=require("./package-metadata.js"),Kt=require("./cells/GridDetailCell.js"),At=require("./cells/GridDetailHierarchyCell.js"),_e=require("./components/noRecords/GridNoRecordsContainer.js"),ze=require("./GridClientWrapper.js"),Vt=require("./components/colGroup/GridColGroup.js"),Ot=require("./components/table/GridTable.js"),Me=require("./components/GridDropClue.js"),We=require("./components/GridDragClue.js"),je=require("./components/table/GridTableBody.js"),Bt=require("./components/PagerContainer.js"),Lt=require("./components/table/GridTableScrollable.js"),$e=require("./components/GridElementContainer.js"),_t=require("./components/GridContainerElementContainer.js"),zt=require("./components/VirtualScrollHeightContainer.js"),ne=require("./messages/index.js"),U=require("./VirtualScrollFixed.js"),Mt=require("./VirtualScroll.js"),Wt=require("./components/GridCustomCellClientContainer.js"),jt=require("./components/GridDraggableRowsContainer.js"),$t=require("./cells/GridRowReorderCell.js"),Qt=require("./header/client/GridHeaderRowReorderCell.js"),Qe=require("./components/GridLoader.js"),Ut=require("./utils/premium.js"),Ue=require("@progress/kendo-react-intl");function Jt(e){const q=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const y in e)if(y!=="default"){const E=Object.getOwnPropertyDescriptor(e,y);Object.defineProperty(q,y,E.get?E:{enumerable:!0,get:()=>e[y]})}}return q.default=e,Object.freeze(q)}const a=Jt(wt),Je=a.forwardRef((e,q)=>{var xe,Ne,ke,qe,Fe,De,Te,He;const y=e.id+"-role-element-id",E=e.navigatable?y:"";let v=e.columnsState||[];const Xe=(t,n,d,i,o,g,l)=>{const s=[],C=u.flatData(s,G,t,{index:n},d!==void 0,i,o,g,dt.defaultExpand,l);return{flattedData:s,resolvedGroupsCount:C}},Ye=t=>{const n=t.filter(d=>d&&d.type&&d.type.displayName==="KendoReactGridColumn");return u.readColumns(n,v,{prevId:0,idPrefix:E})},Ze=()=>{const t=[],n=(d,i)=>d==null?void 0:d.forEach(o=>{const g=o.hidden||i;t.push({...o,hidden:g}),n(o.children,g)});return n(v,!1),t},pe=t=>{const n=Ze();return t.filter(d=>{var i;return!d.hidden&&!((i=n.find(o=>o.id===d.id))!=null&&i.hidden)})},et=(t,n)=>{var d;f=Ye(t),f.filter(i=>!i.hidden).length===0&&(f=u.autoGenerateColumns(G,e.group,{column:(d=O.column)!=null?d:e.expandField},{prevId:0,idPrefix:E})),at(f,n),f=pe(f),F=u.mapColumns(f,!0),ie=f.map(u.clientColumn)},tt=(t,n)=>{const d=i=>{var g;const o=n.find(l=>l.id===i.id);return o?(o.children=(g=i.children)==null?void 0:g.map(d),o):u.getColumnState(i)};v=t.filter(i=>i.parentIndex===-1).map(d)},at=(t,n)=>{var g;t.filter(l=>e.selectedField&&l.field===e.selectedField||l.columnType==="checkbox").forEach(l=>{l.width=l.width||"50px",l.cell=l.cell||Gt.GridSelectionCell,l._type="edit",l.headerCell=l.headerCell||Dt.GridHeaderSelectionCell}),T!==void 0&&t.filter(l=>l.columnType==="reorder").forEach(l=>{l.width=l.width||"50px",l.cell=l.cell||$t.GridRowReorderCell,l.headerCell=l.headerCell||Qt.GridHeaderRowReorderCell,l.sortable=!1,l.filterable=!1,l.editable=!1});const d=u.getFlatColumnsState(v);tt(t,d);const i={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;if((e.expandField||O.enabled)&&e.detail){const l={...i,_type:"expand",id:b.tableKeyboardNavigationTools.generateNavigatableId(`${o++}`,"expand","column"),cell:Et.GridHierarchyCell,field:(g=O.column)!=null?g:e.expandField,headerClassName:c.classNames(m.hierarchyCell({}))};t.unshift(l),v.unshift(d.find(s=>s.id===l.id)||u.getColumnState(l))}for(let l=0;l<n;l++){const s={...i,isAccessible:!1,cell:Oe.GridGroupCell,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${o++}`,"group","column"),field:"value",locked:e.lockGroups};t.unshift(s),v.unshift(d.find(C=>C.id===s.id)||u.getColumnState(s))}t.slice(o).forEach(l=>{l.parentIndex>=0&&(l.parentIndex+=o),l.rowSpannable=l.rowSpannable!==void 0?u.getRowSpanOptions(l.rowSpannable):de})},z=()=>{var t;return Array.isArray(e.data)?G.length===e.total:G?e.total===((t=e.data)==null?void 0:t.total):!1},lt=()=>{const{rowHeight:t,detailRowHeight:n,detail:d,expandField:i}=e,o=z(),g=t!==void 0&&t>0,l=n!==void 0&&n>0;return!g||V&&!o||!!(d&&i)&&(!l||!o)?Mt.VirtualScroll:U.VirtualScrollFixed},J=()=>e.isClient?f:ie,rt=(t,n,d,i,o,g)=>{let l=u.getColSpan(t,n);if(e.columnVirtualization&&t.colSpan===1)return{colSpan:g,colsToSkip:o};let s=d.length-1===i,C=d.length-i;return e.columnVirtualization&&(s=w.length-1===i,C=w.length-i),l>1&&!s?o=l-1:l=1,C<=l&&!s&&(l=C),{colSpan:l,colsToSkip:o}};let X,h=[],M,f=[],ie=[],F=[[]];const nt=e.scrollLeftRef||{current:0},W=e.localization||new Ue.LocalizationService(e.language),it=e.intl||new Ue.IntlService((xe=e.locale)!=null?xe:"en"),D=e.unstyled,m=D&&D.uGrid?D.uGrid:c.uGrid,T=u.isRowReorderEnabled(e.rowReorderable),H=e.autoProcessData===!0?{group:!0,sort:!0,filter:!0,search:!0,page:!0}:e.autoProcessData;let G,k;if(Array.isArray(e.data)?(G=e.data,k=(Ne=e.total)!=null?Ne:G.length):(G=((ke=e.data)==null?void 0:ke.data)||[],k=(De=(Fe=e.total)!=null?Fe:(qe=e.data)==null?void 0:qe.total)!=null?De:G.length),H){const{data:t,total:n}=St.process(G,{group:H.group?e.group:void 0,sort:H.sort?e.sort:void 0,filter:b.combineFilters(H.filter?e.filter:void 0,H.search?e.search:void 0),...H.page?{take:e.take,skip:e.skip}:{}});G=t,k=(Te=e.total)!=null?Te:n}const{size:I="medium"}=e,ot=typeof e.groupable=="object"&&e.groupable.footer||"none",P=e.scrollable==="virtual",V=e.groupable===!0||typeof e.groupable=="object"&&e.groupable.enabled!==!1,O=b.getDetailExpandableOptions(!!e.detail),dt=b.getGroupExpandableOptions(typeof e.groupable=="object"&&e.groupable.enabled!==!1?e.groupable.expandable:e.groupable),{resolvedGroupsCount:ct,flattedData:st}=Xe(ot,e.skip||0,e.group,e.expandField,e.detailExpand,e.groupExpand,e.dataItemKey);h=st;const Y=lt();Y===U.VirtualScrollFixed&&z()&&(M=h.slice(e.skip||0,(e.skip||0)+((e.take!==void 0?e.take:e.pageSize)||0)));const oe=b.getSelectionOptions(e.selectable||!!e.selectedField),de=u.getRowSpanOptions(e.rowSpannable),ut=oe&&oe.drag?"none":void 0,j=a.useMemo(()=>a.Children.toArray(e.children),[e.children]);et(j,ct);const Z=a.useMemo(()=>{const t=Ut.gridPremiumFeatures(e,f);return{premium:t.length>0,features:t}},[e,f]),ce=a.useMemo(()=>Z.premium?!c.validatePackage(Pt.packageMetadata,{component:"Grid",features:Z.features}):!1,[Z.premium]),se=j.map(t=>t&&t.type&&t.type.displayName==="KendoReactGridToolbar"?a.cloneElement(t,{...t.props,ariaControls:y}):null),$=j.filter(t=>t&&t.type&&t.type.displayName==="KendoReactGridNoRecords"),ue=j.filter(t=>t&&t.type&&t.type.displayName==="KendoReactGridStatusBar"),w=f.filter(t=>t.children.length===0),ge=V&&a.createElement(Nt.GroupPanel,{columns:J(),group:e.group||[],ariaControls:y}),fe=a.createElement(vt.Header,{size:I,staticHeaders:e.scrollable!=="none",draggable:e.reorderable||V,headerRow:a.createElement(It.HeaderRow,{cells:e.cells,sort:e.sort,sortable:e.sortable,group:e.group||[],groupable:V,filter:e.filter,filterable:e.filterable,filterOperators:e.filterOperators||Le.operators,columnMenu:e.columnMenu,columnMenuIcon:e.columnMenuIcon,columns:f,columnsMap:F,cellRender:e.headerCellRender,navigatable:!!e.navigatable,localization:W,unstyled:D,headerSelectionValue:!!(e.select&&h.filter(t=>t.rowType==="data").every(t=>e.select&&e.dataItemKey&&c.getter(e.dataItemKey)(t.dataItem)!==void 0?e.select[c.getter(e.dataItemKey)(t.dataItem)]:void 0))}),filterRow:e.filterable&&a.createElement(xt.FilterRow,{cells:e.cells,size:I,columns:f,filter:e.filter,filterOperators:e.filterOperators||Le.operators,sort:e.sort,cellRender:e.filterCellRender,navigatable:!!e.navigatable,ariaRowIndex:F.length+1,localization:W})||void 0,cols:w.map((t,n)=>a.createElement("col",{key:n.toString(),width:u.getColumnWidth(t)}))}),gt=nt.current||0,ft=parseFloat(((e.style||{}).width||"").toString()),mt=(t,n,d,i,o)=>{let g=!1;const l=e.selectedField?u.getNestedValue(e.selectedField,t.dataItem):e.select&&e.dataItemKey&&c.getter(e.dataItemKey)(t.dataItem)!==void 0?e.select[c.getter(e.dataItemKey)(t.dataItem)]:void 0;let s=0;const{colSpans:C,hiddenColumns:K}=b.tableColumnsVirtualization({enabled:e.columnVirtualization,columns:w,tableViewPortWidth:ft,scrollLeft:gt,getColSpan:u.getColSpan,dataItem:t.dataItem}),x=w.filter((r,S)=>!K[S]);return{row:w.map((r,S)=>{var Pe,Ke,Ae,Ve;if(K[S])return null;if(s>0)return s--,null;let R;if((Pe=r.rowSpannable)!=null&&Pe.enabled&&t.rowType==="data"&&r.field&&o){const N=r.field?(Ae=(Ke=r.rowSpannable).valueGetter)==null?void 0:Ae.call(Ke,t.dataItem,r.field):null;R={value:N,count:1},o[r.field]&&((Ve=o[r.field])==null?void 0:Ve.value)===N&&o[r.field]!==null?(o[r.field].count++,R.count=null):o[r.field]=R}const{colSpan:L,colsToSkip:te}=rt(r,t.dataItem,x,S,s,C[S]);s=te;const _=r.id?r.id:S,Ct=c.classNames(m.contentSticky({locked:r.locked}),r.className),yt=r.left!==void 0?{left:r.left,right:r.right}:{};let ae=!1;if(r.editable&&(e.editable||e.editField)){const N=e.editField?u.getNestedValue(e.editField,t.dataItem):e.edit&&e.dataItemKey?e.edit[c.getter(e.dataItemKey)(t.dataItem)]:void 0,re=typeof N=="boolean"?N:Array.isArray(N)?N.indexOf(r.field)>-1:r.field!==void 0&&N===r.field;re&&r.columnType==="data"&&(re===!0||re===r.field)&&(g=!0,ae=!0)}const le=r.cell||ae&&Rt.GridEditCell||qt.GridCell,ht=e.expandField&&e.detail&&r.field===e.expandField||r._type==="expand",A={locked:e.lockGroups,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${n}-${String(S)}`,E,ht||t.rowType==="groupHeader"||t.rowType==="groupFooter"||r.field==="value"?"nodata":"cell"),colSpan:L,dataItem:t.dataItem,field:r.field,editor:r.editor,format:r.format,columnType:r.columnType,rowReorderable:T,className:Ct,render:e.cellRender,cells:u.resolveCells(e.cells,r.cells),columnIndex:S,columnsCount:w.length,rowType:t.rowType,level:t.level,expanded:t.expanded,dataIndex:t.dataIndex,rowDataIndex:d,columnPosition:yt,style:{},ariaColumnIndex:r.ariaColumnIndex,isSelected:(r==null?void 0:r._type)==="edit"?l:Array.isArray(l)&&l.indexOf(S)>-1,isSorted:!!u.isSorted(r.field,e.sort),isInEdit:ae,isAlt:i,unstyled:D,group:t.group,localization:W,intl:it,_rowSpan:R};return r.cell?a.createElement(Wt.GridCustomCellClientContainer,{key:_,isClient:u.isClientReference(le),dataItem:A.dataItem,rowDataIndex:A.rowDataIndex,columnIndex:A.columnIndex,columnPosition:A.columnPosition},a.createElement(le,{...A})):a.createElement(le,{key:_,...A})}),isInEdit:g,isSelected:typeof l=="boolean"&&l}};let me=0;if(P&&X)for(let t=0;t<X.topCacheCount+X.attendedSkip-(e.skip||0);t++){const n=h.shift();if(n)h.push(n),me++,n.rowType==="groupHeader"&&t--;else break}const be=t=>t>=h.length-me;let Ce=e.skip||0;const p=[],ye=!h.length,he=F.length+(e.filterable?1:0)+1;let B=0;if(h.length){let t=-1,n=0;const d=de.enabled?{}:void 0;(M||h).forEach((i,o)=>{i.rowType==="data"&&(Ce++,t++);const g=Ce%2===0,l=e.dataItemKey&&c.getter(e.dataItemKey)(i.dataItem),s=o+(e.skip||0),C=l||"ai"+s,K=C+"_1",x=mt(i,C,t,g,d);if(B=s+he+n,p.push(a.createElement(Ft.GridRow,{key:C,dataItem:i.dataItem,isAltRow:g,isInEdit:x.isInEdit,rowType:i.rowType,isRowReorderable:T,isHidden:be(o),onClick:null,onDoubleClick:null,selectedField:e.selectedField,rowHeight:e.rowHeight,render:e.rowRender,ariaRowIndex:B,absoluteRowIndex:s,dataIndex:P&&!e.groupable?s:t,isSelected:x.isSelected,rows:e.rows},x.row)),e.detail&&i.rowType==="data"&&i.expanded){const r=w.length-(e.expandField||O.enabled?1:0)-(e.group?e.group.length:0)||1;n++,B=s+he+n,p.push(a.createElement("tr",{key:K,className:c.classNames(m.detailTr({isAlt:g})),style:{visibility:be(o)?"hidden":"",height:e.detailRowHeight},role:"row","aria-rowindex":B},e.group&&e.group.map((S,R)=>{var _;const L=(_=x==null?void 0:x.row[R])==null?void 0:_.props.style,te=L?{left:L.left,right:L.right}:{};return a.createElement(Oe.GridGroupCell,{id:"",dataIndex:i.dataIndex,field:S.field,dataItem:i.dataItem,key:R,columnPosition:te,style:{},ariaColumnIndex:1+R,isSelected:!1,locked:e.lockGroups,cells:e.cells,group:i.group})}),(e.expandField||O.enabled)&&a.createElement(At.GridDetailHierarchyCell,{unstyled:D,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${K}-dhcell`,E)}),a.createElement(Kt.GridDetailCell,{dataItem:i.dataItem,dataIndex:i.dataIndex,colSpan:r,ariaColIndex:2+(e.group?e.group.length:0),detail:e.detail,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${K}-dcell`,E)})))}})}const we={size:I,total:k,skip:e.skip||0,take:(e.take!==void 0?e.take:e.pageSize)||10,...Ht.normalize(e.pageable||{})},Se=a.createElement(Bt.PagerContainer,null,e.pager?a.createElement(e.pager,{...we}):a.createElement(b.Pager,{className:c.classNames(m.pager({})),...we})),bt=(t,n)=>a.createElement("col",{key:n.toString(),width:u.getColumnWidth(t)}),Ge=(He=e.cells)!=null&&He.footerCell||f.some(t=>{var n;return!!(t.footerCell||(n=t.cells)!=null&&n.footerCell)})?a.createElement(kt.Footer,{size:I,staticHeaders:e.scrollable!=="none",row:a.createElement(Tt.FooterRow,{cells:e.cells,idPrefix:E,columns:f,ariaRowIndex:B+1}),cols:w.map(bt)}):null,Ee=a.createElement(Vt.GridColGroup,null,w.map((t,n)=>a.createElement("col",{key:n.toString(),className:u.isSorted(t.field,e.sort)?c.classNames(m.sorted({})):void 0,width:u.getColumnWidth(t)}))),Re=e.reorderable||V,{detail:Xt,cells:Yt,rows:Zt,...ve}=e,Ie=a.createElement("tbody",{role:"rowgroup",className:c.classNames(m.tbody({})),...b.tableKeyboardNavigationBodyAttributes},p);let ee=Ie;if(T&&(ee=a.createElement(jt.GridReorderableRowsContainer,{unstyled:m,columns:f,rowReorderSettings:e.rowReorderable},Ie)),e.scrollable==="none")return a.createElement(ze.GridClientWrapper,{gridRef:q,gridProps:ve,columnsRef:J(),columnsMapRef:F,columnsState:v,dataRef:h,slicedData:M,isFixedVirtualScroll:Y===U.VirtualScrollFixed,id:y,total:k,isAllData:z(),detailExpandable:!!e.detail},a.createElement($e.GridElementContainer,null,a.createElement("div",{id:e.id,style:e.style,className:c.classNames(m.wrapper({size:I}),e.className),"aria-label":e.ariaLabel,...b.tableKeyboardNavigationScopeAttributes},se,ge,a.createElement(Ot.GridTable,{selectable:e.selectable,className:c.classNames(m.table({size:I}))},Ee,fe,a.createElement(je.GridTableBody,{rowReorderable:T},ee),Ge),ye&&a.createElement(_e.GridNoRecordsContainer,null,$.length?$:a.createElement(Be.GridNoRecords,null)),Re&&a.createElement(a.Fragment,null,a.createElement(Me.GridDropClue,null),a.createElement(We.GridDragClue,null)))),ue,e.pageable&&Se,a.createElement(Qe.GridLoader,{loader:e.loader,showLoader:e.showLoader}),ce&&a.createElement(c.WatermarkOverlay,null));let Q=e.style||{};return P&&(Q.height||(Q=Object.assign({},Q,{height:"450px"}))),a.createElement(ze.GridClientWrapper,{gridRef:q,gridProps:ve,columnsRef:J(),columnsMapRef:F,columnsState:v,dataRef:h,slicedData:M,isFixedVirtualScroll:Y===U.VirtualScrollFixed,id:y,total:k,isAllData:z(),detailExpandable:!!e.detail},a.createElement($e.GridElementContainer,null,a.createElement("div",{id:e.id,style:Q,className:c.classNames(m.wrapper({size:I,virtual:P}),e.className),"aria-label":e.ariaLabel,...b.tableKeyboardNavigationScopeAttributes},se,ge,a.createElement("div",{className:c.classNames(m.ariaRoot({})),role:"grid","aria-colcount":w.length,"aria-rowcount":k,id:y,"aria-label":W.toLanguageString(ne.gridAriaLabel,ne.messages[ne.gridAriaLabel])},fe,a.createElement("div",{className:c.classNames(m.container({})),role:"presentation"},a.createElement(_t.GridContainerElementContainer,null,a.createElement("div",{className:c.classNames(m.content({})),role:"presentation"},a.createElement("div",{className:c.classNames(m.tableWrap({})),role:"presentation"},a.createElement(Lt.GridTableScrollable,{selectable:e.selectable,tableClassName:c.classNames(m.table({size:I})),tableStyle:{userSelect:ut}},Ee,a.createElement(je.GridTableBody,{rowReorderable:T},ee)),ye&&a.createElement(_e.GridNoRecordsContainer,null,$.length?$:a.createElement(Be.GridNoRecords,null))),P&&a.createElement("div",{className:c.classNames(m.heightContainer({})),role:"presentation"},a.createElement(zt.VirtualScrollHeightContainer,{isVirtualScroll:P}))))),Ge,Re&&a.createElement(a.Fragment,null,a.createElement(Me.GridDropClue,null),a.createElement(We.GridDragClue,null)),ce&&a.createElement(c.WatermarkOverlay,null)),ue,e.pageable&&Se,a.createElement(Qe.GridLoader,{loader:e.loader,showLoader:e.showLoader}))))});Je.displayName="KendoReactGridComponent";exports.GridComponent=Je;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const bt=require("react"),c=require("@progress/kendo-react-common"),Ct=require("@progress/kendo-data-query"),b=require("@progress/kendo-react-data-tools"),ht=require("./cells/GridSelectionCell.js"),yt=require("./cells/GridHierarchyCell.js"),wt=require("./cells/GridEditCell.js"),St=require("./header/Header.js"),Gt=require("./header/HeaderRow.js"),Et=require("./header/FilterRow.js"),Rt=require("./header/GroupPanel.js"),It=require("./footer/Footer.js"),m=require("./utils/index.js"),vt=require("./cells/GridCell.js"),Be=require("./cells/GridGroupCell.js"),xt=require("./rows/GridRow.js"),Nt=require("./header/GridHeaderSelectionCell.js"),Le=require("./components/noRecords/GridNoRecords.js"),Me=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"),_e=require("./components/noRecords/GridNoRecordsContainer.js"),We=require("./GridClientWrapper.js"),Pt=require("./components/colGroup/GridColGroup.js"),Ht=require("./components/table/GridTable.js"),ze=require("./components/GridDropClue.js"),je=require("./components/GridDragClue.js"),$e=require("./components/table/GridTableBody.js"),Kt=require("./components/PagerContainer.js"),At=require("./components/table/GridTableScrollable.js"),Qe=require("./components/GridElementContainer.js"),Ot=require("./components/GridContainerElementContainer.js"),Vt=require("./components/VirtualScrollHeightContainer.js"),re=require("./messages/index.js"),U=require("./VirtualScrollFixed.js"),Bt=require("./VirtualScroll.js"),Lt=require("./components/GridCustomCellClientContainer.js"),Mt=require("./components/GridDraggableRowsContainer.js"),_t=require("./cells/GridRowReorderCell.js"),Wt=require("./header/client/GridHeaderRowReorderCell.js"),Ue=require("./components/GridLoader.js"),zt=require("./utils/premium.js"),Je=require("@progress/kendo-react-intl"),jt=require("./utils/virtualColumns.js");function $t(e){const k=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const h in e)if(h!=="default"){const G=Object.getOwnPropertyDescriptor(e,h);Object.defineProperty(k,h,G.get?G:{enumerable:!0,get:()=>e[h]})}}return k.default=e,Object.freeze(k)}const l=$t(bt),Xe=l.forwardRef((e,k)=>{var Ne,ke,qe,Fe,De,Te,Pe,He;const h=e.id+"-role-element-id",G=e.navigatable?h:"";let R=e.columnsState||[];const Ye=(t,n,d,i,o,s,a)=>{const u=[],E=m.flatData(u,S,t,{index:n},d!==void 0,i,o,s,ct.defaultExpand,a);return{flattedData:u,resolvedGroupsCount:E}},Ze=t=>{const n=t.filter(d=>d&&d.type&&d.type.displayName==="KendoReactGridColumn");return m.readColumns(n,R,{prevId:0,idPrefix:G})},pe=()=>{const t=[],n=(d,i)=>d==null?void 0:d.forEach(o=>{const s=o.hidden||i;t.push({...o,hidden:s}),n(o.children,s)});return n(R,!1),t},et=t=>{const n=pe();return t.filter(d=>{var i;return!d.hidden&&!((i=n.find(o=>o.id===d.id))!=null&&i.hidden)})},tt=(t,n)=>{var d;g=Ze(t),g.filter(i=>!i.hidden).length===0&&(g=m.autoGenerateColumns(S,e.group,{column:(d=A.column)!=null?d:e.expandField},{prevId:0,idPrefix:G})),at(g,n),g=et(g),q=m.mapColumns(g,!0),ie=g.map(m.clientColumn)},lt=(t,n)=>{const d=i=>{var s;const o=n.find(a=>a.id===i.id);return o?(o.children=(s=i.children)==null?void 0:s.map(d),o):m.getColumnState(i)};R=t.filter(i=>i.parentIndex===-1).map(d)},at=(t,n)=>{var s;t.filter(a=>e.selectedField&&a.field===e.selectedField||a.columnType==="checkbox").forEach(a=>{a.width=a.width||"50px",a.cell=a.cell||ht.GridSelectionCell,a._type="edit",a.headerCell=a.headerCell||Nt.GridHeaderSelectionCell}),D!==void 0&&t.filter(a=>a.columnType==="reorder").forEach(a=>{a.width=a.width||"50px",a.cell=a.cell||_t.GridRowReorderCell,a.headerCell=a.headerCell||Wt.GridHeaderRowReorderCell,a.sortable=!1,a.filterable=!1,a.editable=!1});const d=m.getFlatColumnsState(R);lt(t,d);const i={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;if((e.expandField||A.enabled)&&e.detail){const a={...i,_type:"expand",id:b.tableKeyboardNavigationTools.generateNavigatableId(`${o++}`,"expand","column"),cell:yt.GridHierarchyCell,field:(s=A.column)!=null?s:e.expandField,headerClassName:c.classNames(f.hierarchyCell({}))};t.unshift(a),R.unshift(d.find(u=>u.id===a.id)||m.getColumnState(a))}for(let a=0;a<n;a++){const u={...i,isAccessible:!1,cell:Be.GridGroupCell,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${o++}`,"group","column"),field:"value",locked:e.lockGroups};t.unshift(u),R.unshift(d.find(E=>E.id===u.id)||m.getColumnState(u))}t.slice(o).forEach(a=>{a.parentIndex>=0&&(a.parentIndex+=o),a.rowSpannable=a.rowSpannable!==void 0?m.getRowSpanOptions(a.rowSpannable):de})},L=()=>{var t;return Array.isArray(e.data)?S.length===e.total:S?e.total===((t=e.data)==null?void 0:t.total):!1},rt=()=>{const{rowHeight:t,detailRowHeight:n,detail:d,expandField:i}=e,o=L(),s=t!==void 0&&t>0,a=n!==void 0&&n>0;return!s||K&&!o||!!(d&&i)&&(!a||!o)?Bt.VirtualScroll:U.VirtualScrollFixed},J=()=>e.isClient?g:ie,ne=t=>{const n=[];let d=null,i=0;if(w.forEach((o,s)=>{const a=parseFloat((o.width||"").toString())||10;if(i){i--,d&&(d.width+=a);return}const u=Math.min(m.getColSpan(o,t),w.length-s);i=u-1,d={width:a,colSpan:u,columnIndex:s},n.push(d)}),e.columnVirtualization){const o=nt.current||0,s=it.current||parseFloat(((e.style||{}).width||"").toString());return jt.getVirtualCellsToRender({cellModels:n,columns:w,tableViewPortWidth:s,scrollLeft:o})}return n};let X,y=[],M,g=[],ie=[],q=[[]];const nt=e.scrollLeftRef||{current:0},it=e.widthRef||{current:0},_=e.localization||new Je.LocalizationService(e.language),ot=e.intl||new Je.IntlService((Ne=e.locale)!=null?Ne:"en"),F=e.unstyled,f=F&&F.uGrid?F.uGrid:c.uGrid,D=m.isRowReorderEnabled(e.rowReorderable),T=e.autoProcessData===!0?{group:!0,sort:!0,filter:!0,search:!0,page:!0}:e.autoProcessData;let S,x;if(Array.isArray(e.data)?(S=e.data,x=(ke=e.total)!=null?ke:S.length):(S=((qe=e.data)==null?void 0:qe.data)||[],x=(Te=(De=e.total)!=null?De:(Fe=e.data)==null?void 0:Fe.total)!=null?Te:S.length),T){const{data:t,total:n}=Ct.process(S,{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}:{}});S=t,x=(Pe=e.total)!=null?Pe:n}const{size:I="medium"}=e,dt=typeof e.groupable=="object"&&e.groupable.footer||"none",P=e.scrollable==="virtual",K=e.groupable===!0||typeof e.groupable=="object"&&e.groupable.enabled!==!1,A=b.getDetailExpandableOptions(!!e.detail),ct=b.getGroupExpandableOptions(typeof e.groupable=="object"&&e.groupable.enabled!==!1?e.groupable.expandable:e.groupable),{resolvedGroupsCount:st,flattedData:ut}=Ye(dt,e.skip||0,e.group,e.expandField,e.detailExpand,e.groupExpand,e.dataItemKey);y=ut;const Y=rt();Y===U.VirtualScrollFixed&&L()&&(M=y.slice(e.skip||0,(e.skip||0)+((e.take!==void 0?e.take:e.pageSize)||0)));const oe=b.getSelectionOptions(e.selectable||!!e.selectedField),de=m.getRowSpanOptions(e.rowSpannable),mt=oe&&oe.drag?"none":void 0,W=l.useMemo(()=>l.Children.toArray(e.children),[e.children]);tt(W,st);const Z=l.useMemo(()=>{const t=zt.gridPremiumFeatures(e,g);return{premium:t.length>0,features:t}},[e,g]),ce=l.useMemo(()=>Z.premium?!c.validatePackage(Ft.packageMetadata,{component:"Grid",features:Z.features}):!1,[Z.premium]),se=W.map(t=>t&&t.type&&t.type.displayName==="KendoReactGridToolbar"?l.cloneElement(t,{...t.props,ariaControls:h}):null),z=W.filter(t=>t&&t.type&&t.type.displayName==="KendoReactGridNoRecords"),ue=W.filter(t=>t&&t.type&&t.type.displayName==="KendoReactGridStatusBar"),w=g.filter(t=>t.children.length===0),me=K&&l.createElement(Rt.GroupPanel,{columns:J(),group:e.group||[],ariaControls:h}),ge=l.createElement(St.Header,{size:I,staticHeaders:e.scrollable!=="none",draggable:e.reorderable||K,headerRow:l.createElement(Gt.HeaderRow,{cells:e.cells,sort:e.sort,sortable:e.sortable,group:e.group||[],groupable:K,filter:e.filter,filterable:e.filterable,filterOperators:e.filterOperators||Me.operators,columnMenu:e.columnMenu,columnMenuIcon:e.columnMenuIcon,columns:g,columnsMap:q,cellRender:e.headerCellRender,navigatable:!!e.navigatable,localization:_,unstyled:F,headerSelectionValue:!!(e.select&&y.filter(t=>t.rowType==="data").every(t=>e.select&&e.dataItemKey&&c.getter(e.dataItemKey)(t.dataItem)!==void 0?e.select[c.getter(e.dataItemKey)(t.dataItem)]:void 0))}),filterRow:e.filterable&&l.createElement(Et.FilterRow,{cells:e.cells,size:I,columns:g,filter:e.filter,filterOperators:e.filterOperators||Me.operators,sort:e.sort,cellRender:e.filterCellRender,navigatable:!!e.navigatable,ariaRowIndex:q.length+1,localization:_})||void 0,cols:w.map((t,n)=>l.createElement("col",{key:n.toString(),width:m.getColumnWidth(t)}))}),fe=w.findIndex(t=>typeof t.colSpan=="function")>-1;let p;fe||(p=ne(null));const gt=(t,n,d,i,o)=>{let s=!1;const a=e.selectedField?m.getNestedValue(e.selectedField,t.dataItem):e.select&&e.dataItemKey&&c.getter(e.dataItemKey)(t.dataItem)!==void 0?e.select[c.getter(e.dataItemKey)(t.dataItem)]:void 0;return fe&&(p=ne(t.dataItem)),{row:p.map(({columnIndex:u,colSpan:E})=>{var Ke,Ae,Oe,Ve;const r=w[u];let C;if((Ke=r.rowSpannable)!=null&&Ke.enabled&&t.rowType==="data"&&r.field&&o){const v=r.field?(Oe=(Ae=r.rowSpannable).valueGetter)==null?void 0:Oe.call(Ae,t.dataItem,r.field):null;C={value:v,count:1},o[r.field]&&((Ve=o[r.field])==null?void 0:Ve.value)===v&&o[r.field]!==null?(o[r.field].count++,C.count=null):o[r.field]=C}const $=r.id?r.id:u,le=c.classNames(f.contentSticky({locked:r.locked}),r.className),V=r.left!==void 0?{left:r.left,right:r.right}:{};let N=!1;if(r.editable&&(e.editable||e.editField)){const v=e.editField?m.getNestedValue(e.editField,t.dataItem):e.edit&&e.dataItemKey?e.edit[c.getter(e.dataItemKey)(t.dataItem)]:void 0,ae=typeof v=="boolean"?v:Array.isArray(v)?v.indexOf(r.field)>-1:r.field!==void 0&&v===r.field;ae&&r.columnType==="data"&&(ae===!0||ae===r.field)&&(s=!0,N=!0)}const B=r.cell||N&&wt.GridEditCell||vt.GridCell,Q=e.expandField&&e.detail&&r.field===e.expandField||r._type==="expand",H={locked:e.lockGroups,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${n}-${String(u)}`,G,Q||t.rowType==="groupHeader"||t.rowType==="groupFooter"||r.field==="value"?"nodata":"cell"),colSpan:E,dataItem:t.dataItem,field:r.field,editor:r.editor,format:r.format,columnType:r.columnType,rowReorderable:D,className:le,render:e.cellRender,cells:m.resolveCells(e.cells,r.cells),columnIndex:u,columnsCount:w.length,rowType:t.rowType,level:t.level,expanded:t.expanded,dataIndex:t.dataIndex,rowDataIndex:d,columnPosition:V,style:{},ariaColumnIndex:r.ariaColumnIndex,isSelected:(r==null?void 0:r._type)==="edit"?a:Array.isArray(a)&&a.indexOf(u)>-1,isSorted:!!m.isSorted(r.field,e.sort),isInEdit:N,isAlt:i,unstyled:F,group:t.group,localization:_,intl:ot,_rowSpan:C};return r.cell?l.createElement(Lt.GridCustomCellClientContainer,{key:$,isClient:m.isClientReference(B),dataItem:H.dataItem,rowDataIndex:H.rowDataIndex,columnIndex:H.columnIndex,columnPosition:H.columnPosition},l.createElement(B,{...H})):l.createElement(B,{key:$,...H})}),isInEdit:s,isSelected:typeof a=="boolean"&&a}};let be=0;if(P&&X)for(let t=0;t<X.topCacheCount+X.attendedSkip-(e.skip||0);t++){const n=y.shift();if(n)y.push(n),be++,n.rowType==="groupHeader"&&t--;else break}const Ce=t=>t>=y.length-be;let he=e.skip||0;const ee=[],ye=!y.length,we=q.length+(e.filterable?1:0)+1;let O=0;if(y.length){let t=-1,n=0;const d=de.enabled?{}:void 0;(M||y).forEach((i,o)=>{i.rowType==="data"&&(he++,t++);const s=he%2===0,a=e.dataItemKey&&c.getter(e.dataItemKey)(i.dataItem),u=o+(e.skip||0),E=a||"ai"+u,r=E+"_1",C=gt(i,E,t,s,d);if(O=u+we+n,ee.push(l.createElement(xt.GridRow,{key:E,dataItem:i.dataItem,isAltRow:s,isInEdit:C.isInEdit,rowType:i.rowType,isRowReorderable:D,isHidden:Ce(o),onClick:null,onDoubleClick:null,selectedField:e.selectedField,rowHeight:e.rowHeight,render:e.rowRender,ariaRowIndex:O,absoluteRowIndex:u,dataIndex:P&&!e.groupable?u:t,isSelected:C.isSelected,rows:e.rows},C.row)),e.detail&&i.rowType==="data"&&i.expanded){const $=w.length-(e.expandField||A.enabled?1:0)-(e.group?e.group.length:0)||1;n++,O=u+we+n,ee.push(l.createElement("tr",{key:r,className:c.classNames(f.detailTr({isAlt:s})),style:{visibility:Ce(o)?"hidden":"",height:e.detailRowHeight},role:"row","aria-rowindex":O},e.group&&e.group.map((le,V)=>{var Q;const N=(Q=C==null?void 0:C.row[V])==null?void 0:Q.props.style,B=N?{left:N.left,right:N.right}:{};return l.createElement(Be.GridGroupCell,{id:"",dataIndex:i.dataIndex,field:le.field,dataItem:i.dataItem,key:V,columnPosition:B,style:{},ariaColumnIndex:1+V,isSelected:!1,locked:e.lockGroups,cells:e.cells,group:i.group})}),(e.expandField||A.enabled)&&l.createElement(Tt.GridDetailHierarchyCell,{unstyled:F,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${r}-dhcell`,G)}),l.createElement(Dt.GridDetailCell,{dataItem:i.dataItem,dataIndex:i.dataIndex,colSpan:$,ariaColIndex:2+(e.group?e.group.length:0),detail:e.detail,id:b.tableKeyboardNavigationTools.generateNavigatableId(`${r}-dcell`,G)})))}})}const Se={size:I,total:x,skip:e.skip||0,take:(e.take!==void 0?e.take:e.pageSize)||10,...qt.normalize(e.pageable||{})},Ge=l.createElement(Kt.PagerContainer,null,e.pager?l.createElement(e.pager,{...Se}):l.createElement(b.Pager,{className:c.classNames(f.pager({})),...Se})),ft=(t,n)=>l.createElement("col",{key:n.toString(),width:m.getColumnWidth(t)}),Ee=(He=e.cells)!=null&&He.footerCell||g.some(t=>{var n;return!!(t.footerCell||(n=t.cells)!=null&&n.footerCell)})?l.createElement(It.Footer,{size:I,staticHeaders:e.scrollable!=="none",row:l.createElement(kt.FooterRow,{cells:e.cells,idPrefix:G,columns:g,ariaRowIndex:O+1}),cols:w.map(ft)}):null,Re=l.createElement(Pt.GridColGroup,null,w.map((t,n)=>l.createElement("col",{key:n.toString(),className:m.isSorted(t.field,e.sort)?c.classNames(f.sorted({})):void 0,width:m.getColumnWidth(t)}))),Ie=e.reorderable||K,{detail:Qt,cells:Ut,rows:Jt,...ve}=e,xe=l.createElement("tbody",{role:"rowgroup",className:c.classNames(f.tbody({})),...b.tableKeyboardNavigationBodyAttributes},ee);let te=xe;if(D&&(te=l.createElement(Mt.GridReorderableRowsContainer,{unstyled:f,columns:g,rowReorderSettings:e.rowReorderable},xe)),e.scrollable==="none")return l.createElement(We.GridClientWrapper,{gridRef:k,gridProps:ve,columnsRef:J(),columnsMapRef:q,columnsState:R,dataRef:y,slicedData:M,isFixedVirtualScroll:Y===U.VirtualScrollFixed,id:h,total:x,isAllData:L(),detailExpandable:!!e.detail},l.createElement(Qe.GridElementContainer,null,l.createElement("div",{id:e.id,style:e.style,className:c.classNames(f.wrapper({size:I}),e.className),"aria-label":e.ariaLabel,...b.tableKeyboardNavigationScopeAttributes},se,me,l.createElement(Ht.GridTable,{selectable:e.selectable,className:c.classNames(f.table({size:I}))},Re,ge,l.createElement($e.GridTableBody,{rowReorderable:D},te),Ee),ye&&l.createElement(_e.GridNoRecordsContainer,null,z.length?z:l.createElement(Le.GridNoRecords,null)),Ie&&l.createElement(l.Fragment,null,l.createElement(ze.GridDropClue,null),l.createElement(je.GridDragClue,null)))),ue,e.pageable&&Ge,l.createElement(Ue.GridLoader,{loader:e.loader,showLoader:e.showLoader}),ce&&l.createElement(c.WatermarkOverlay,null));let j=e.style||{};return P&&(j.height||(j=Object.assign({},j,{height:"450px"}))),l.createElement(We.GridClientWrapper,{gridRef:k,gridProps:ve,columnsRef:J(),columnsMapRef:q,columnsState:R,dataRef:y,slicedData:M,isFixedVirtualScroll:Y===U.VirtualScrollFixed,id:h,total:x,isAllData:L(),detailExpandable:!!e.detail},l.createElement(Qe.GridElementContainer,null,l.createElement("div",{id:e.id,style:j,className:c.classNames(f.wrapper({size:I,virtual:P}),e.className),"aria-label":e.ariaLabel,...b.tableKeyboardNavigationScopeAttributes},se,me,l.createElement("div",{className:c.classNames(f.ariaRoot({})),role:"grid","aria-colcount":w.length,"aria-rowcount":x,id:h,"aria-label":_.toLanguageString(re.gridAriaLabel,re.messages[re.gridAriaLabel])},ge,l.createElement("div",{className:c.classNames(f.container({})),role:"presentation"},l.createElement(Ot.GridContainerElementContainer,null,l.createElement("div",{className:c.classNames(f.content({})),role:"presentation"},l.createElement("div",{className:c.classNames(f.tableWrap({})),role:"presentation"},l.createElement(At.GridTableScrollable,{selectable:e.selectable,tableClassName:c.classNames(f.table({size:I})),tableStyle:{userSelect:mt}},Re,l.createElement($e.GridTableBody,{rowReorderable:D},te)),ye&&l.createElement(_e.GridNoRecordsContainer,null,z.length?z:l.createElement(Le.GridNoRecords,null))),P&&l.createElement("div",{className:c.classNames(f.heightContainer({})),role:"presentation"},l.createElement(Vt.VirtualScrollHeightContainer,{isVirtualScroll:P}))))),Ee,Ie&&l.createElement(l.Fragment,null,l.createElement(ze.GridDropClue,null),l.createElement(je.GridDragClue,null)),ce&&l.createElement(c.WatermarkOverlay,null)),ue,e.pageable&&Ge,l.createElement(Ue.GridLoader,{loader:e.loader,showLoader:e.showLoader}))))});Xe.displayName="KendoReactGridComponent";exports.GridComponent=Xe;