@progress/kendo-react-grid 10.2.0-develop.9 → 10.3.0-develop.1

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