@progress/kendo-react-grid 14.3.0-develop.6 → 14.3.0-develop.7

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 (78) hide show
  1. package/GridClientContextReader.js +1 -1
  2. package/GridClientContextReader.mjs +10 -9
  3. package/GridClientWrapper.js +1 -1
  4. package/GridClientWrapper.mjs +672 -589
  5. package/GridComponent.js +1 -1
  6. package/GridComponent.mjs +427 -374
  7. package/GridState.d.ts +2 -0
  8. package/GridState.js +1 -1
  9. package/GridState.mjs +98 -90
  10. package/cells/pincell/GridPinCell.d.ts +15 -0
  11. package/cells/pincell/GridPinCell.js +9 -0
  12. package/cells/pincell/GridPinCell.mjs +19 -0
  13. package/cells/pincell/GridPinCellServer.d.ts +15 -0
  14. package/cells/pincell/GridPinCellServer.js +8 -0
  15. package/cells/pincell/GridPinCellServer.mjs +32 -0
  16. package/cells/pincell/GridPinCellServerContainer.d.ts +11 -0
  17. package/cells/pincell/GridPinCellServerContainer.js +9 -0
  18. package/cells/pincell/GridPinCellServerContainer.mjs +26 -0
  19. package/cells/pincell/GridPinDropdownButton.d.ts +21 -0
  20. package/cells/pincell/GridPinDropdownButton.js +9 -0
  21. package/cells/pincell/GridPinDropdownButton.mjs +58 -0
  22. package/cells/pincell/useGridPinCellClientTdProps.d.ts +24 -0
  23. package/cells/pincell/useGridPinCellClientTdProps.js +9 -0
  24. package/cells/pincell/useGridPinCellClientTdProps.mjs +21 -0
  25. package/cells/pincell/utils.d.ts +20 -0
  26. package/cells/pincell/utils.js +8 -0
  27. package/cells/pincell/utils.mjs +47 -0
  28. package/components/PinnedRowsTable.d.ts +48 -0
  29. package/components/PinnedRowsTable.js +9 -0
  30. package/components/PinnedRowsTable.mjs +133 -0
  31. package/components/StickyGroupTable.js +1 -1
  32. package/components/StickyGroupTable.mjs +1 -1
  33. package/contextMenu/GridContextMenu.d.ts +42 -0
  34. package/contextMenu/GridContextMenu.js +1 -1
  35. package/contextMenu/GridContextMenu.mjs +101 -51
  36. package/contextMenu/enums.d.ts +5 -1
  37. package/contextMenu/enums.js +1 -1
  38. package/contextMenu/enums.mjs +2 -2
  39. package/dist/cdn/js/kendo-react-grid.js +1 -1
  40. package/drag/ColumnResize.d.ts +9 -0
  41. package/drag/ColumnResize.js +1 -1
  42. package/drag/ColumnResize.mjs +105 -115
  43. package/getRowContents.d.ts +2 -2
  44. package/getRowContents.js +1 -1
  45. package/getRowContents.mjs +13 -14
  46. package/header/client/GridHeaderPinCell.d.ts +12 -0
  47. package/header/client/GridHeaderPinCell.js +9 -0
  48. package/header/client/GridHeaderPinCell.mjs +14 -0
  49. package/index.d.mts +5 -2
  50. package/index.d.ts +5 -2
  51. package/index.js +1 -1
  52. package/index.mjs +99 -95
  53. package/interfaces/ColumnType.d.ts +1 -1
  54. package/interfaces/GridCellsSettings.d.ts +23 -0
  55. package/interfaces/GridProps.d.ts +70 -1
  56. package/interfaces/GridRowProps.d.ts +4 -0
  57. package/interfaces/GridRowsSettings.d.ts +11 -0
  58. package/interfaces/events.d.ts +17 -0
  59. package/messages/index.d.ts +20 -0
  60. package/messages/index.js +2 -2
  61. package/messages/index.mjs +110 -102
  62. package/package-metadata.js +1 -1
  63. package/package-metadata.mjs +2 -2
  64. package/package.json +17 -17
  65. package/rows/GridRow.js +1 -1
  66. package/rows/GridRow.mjs +25 -24
  67. package/rows/GridRowRenderer.d.ts +1 -0
  68. package/rows/GridRowRenderer.js +1 -1
  69. package/rows/GridRowRenderer.mjs +39 -36
  70. package/stacked/GridStackedRow.d.ts +5 -0
  71. package/stacked/GridStackedRow.js +1 -1
  72. package/stacked/GridStackedRow.mjs +118 -116
  73. package/stacked/StackedModeRow.d.ts +1 -0
  74. package/stacked/StackedModeRow.js +1 -1
  75. package/stacked/StackedModeRow.mjs +13 -11
  76. package/utils/index.d.ts +1 -0
  77. package/utils/index.js +1 -1
  78. package/utils/index.mjs +44 -44
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Te=require("react"),U=require("@progress/kendo-react-common"),se=require("./GridStackedCell.js"),he=require("./GridStackedDetailToggle.js"),ve=require("../cells/editcell/GridEditCellEditor.js"),De=require("../utils/GridContext.js"),k=require("@progress/kendo-react-data-tools"),we=require("../GridState.js");function Ce(s){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const p in s)if(p!=="default"){const c=Object.getOwnPropertyDescriptor(s,p);Object.defineProperty(a,p,c.get?c:{enumerable:!0,get:()=>s[p]})}}return a.default=s,Object.freeze(a)}const o=Ce(Te),Se=s=>o.createElement("div",{style:{display:"contents"}},s.children),ge=s=>{if(s!=null&&s.cols&&typeof s.cols!="number")return s.cols.map(a=>typeof a=="number"?`${a}px`:typeof a=="string"?a:a&&typeof a=="object"&&a.width!==void 0?typeof a.width=="number"?`${a.width}px`:a.width:"1fr").join(" ")},Ne=s=>s!=null&&s.cols?typeof s.cols=="number"?s.cols:s.cols.length:1,S=s=>typeof s=="function"||typeof s=="object"&&s!==null&&typeof s.$$typeof=="symbol",Re=(s,a)=>{var p,c;if(s.cell&&S(s.cell))return s.cell;if((p=s.cells)!=null&&p.stackedData&&S(s.cells.stackedData))return s.cells.stackedData;if(a!=null&&a.stackedData&&S(a.stackedData))return a.stackedData;if((c=s.cells)!=null&&c.data&&S(s.cells.data))return s.cells.data;if(a!=null&&a.data&&S(a.data))return a.data},Pe=(s,a)=>{if(!s||!a)return;const p=s.split(".");let c=a;for(const d of p){if(c==null)return;c=c[d]}return c},ne=s=>{const{dataItem:a,columns:p,stackedLayoutSettings:c,dataIndex:d,isAltRow:W,isSelected:X,isInEdit:D,editMode:I,cells:O,idPrefix:$,className:Y,style:j,ariaRowIndex:oe,absoluteRowIndex:g,groupLevel:x=0,preparedCells:K,showDetailToggle:re,isDetailExpanded:ce,detailExpandField:ie}=s,t=o.useContext(De.GridContext),[G,,T]=we.useGridState(),L=o.useMemo(()=>ge(c),[c]),q=o.useMemo(()=>Ne(c),[c]),[J,N]=o.useState(!1),R=o.useRef(null),w=o.useRef(null),A=o.useRef(new Map),V=o.useRef(!1);o.useLayoutEffect(()=>{if(!D||I!=="inline"){V.current=!1,A.current.clear();return}V.current||(V.current=!0,w.current=0,setTimeout(()=>{const e=R.current;if(!e||e.contains(document.activeElement))return;const l=e.querySelector('[data-grid-col-index="0"]'),i=(l?k.tableKeyboardNavigationTools.getStackedCellFocusableElements(l):[])[0];if(i){i.focus();return}const n=k.tableKeyboardNavigationTools.getStackedCellFocusableElements(e);n[0]&&n[0].focus()},0))},[D,I]),o.useEffect(()=>{const e=r=>{const i=R.current;setTimeout(()=>{const n=document.activeElement;i&&!i.contains(n)&&N(!1)},0)},l=R.current;if(l)return l.addEventListener("focusout",e),()=>{l.removeEventListener("focusout",e)}},[]);const C=o.useMemo(()=>p.filter(e=>{const l=!!e._type,r=e.isAccessible===!1;return!e.hidden&&!l&&!r&&(e.columnType==="data"||e.columnType===void 0)}),[p]),Q=o.useCallback((e,l)=>{if(!e.field)return null;const r=Pe(e.field,l);return r==null?null:String(r)},[]),ue=o.useMemo(()=>U.classNames("k-table-row","k-master-row",Y,{"k-table-alt-row":W,"k-selected":X,"k-grid-edit-row":D&&I==="inline"}),[Y,W,X,D,I]),Z=o.useMemo(()=>typeof(c==null?void 0:c.cols)=="number"&&q>1,[c==null?void 0:c.cols,q]),de=o.useMemo(()=>U.classNames("k-grid-stack-row",{[`k-grid-cols-${q}`]:Z}),[q,Z]),fe=o.useMemo(()=>L?{gridTemplateColumns:L,...j}:j||{},[L,j]),H=o.useCallback(e=>{if(!(T!=null&&T.onEditChange)||!(t!=null&&t.dataItemKey)||!e)return;const l=a[t.dataItemKey];if(l===void 0)return;const r=G.edit||{},i=k.editReducer(r,{type:k.EDIT_ACTION.EXIT_FIELD_EDIT,payload:{id:String(l),field:e}}),n={nativeEvent:{},currentTarget:null,target:null,bubbles:!1,cancelable:!1,defaultPrevented:!1,eventPhase:0,isTrusted:!1,timeStamp:Date.now(),type:"editchange",preventDefault:()=>{},stopPropagation:()=>{},persist:()=>{},isDefaultPrevented:()=>!1,isPropagationStopped:()=>!1};T.onEditChange({edit:i,nativeEvent:{},syntheticEvent:n,target:null})},[a,t==null?void 0:t.dataItemKey,T,G.edit]),ee=o.useCallback((e,l)=>{if(!(T!=null&&T.onEditChange)||!(t!=null&&t.dataItemKey)||!e)return;const r=a[t.dataItemKey];if(r===void 0)return;const i=C.findIndex(M=>M.field===e);if(i===-1)return;const n=i+l;if(n<0||n>=C.length)return;const f=C[n].field;if(!f)return;const b=G.edit||{},P=String(r),E=k.editReducer(b,{type:k.EDIT_ACTION.EXIT_FIELD_EDIT,payload:{id:P,field:e}}),z=k.editReducer(E,{type:k.EDIT_ACTION.ENTER_FIELD_EDIT,payload:{id:P,field:f}}),F={nativeEvent:{},currentTarget:null,target:null,bubbles:!1,cancelable:!1,defaultPrevented:!1,eventPhase:0,isTrusted:!1,timeStamp:Date.now(),type:"editchange",preventDefault:()=>{},stopPropagation:()=>{},persist:()=>{},isDefaultPrevented:()=>!1,isPropagationStopped:()=>!1};T.onEditChange({edit:z,nativeEvent:{},syntheticEvent:F,target:null})},[a,t==null?void 0:t.dataItemKey,T,G.edit,C]),pe=o.useCallback((e,l)=>{var ae;const r=p.indexOf(e),i=K==null?void 0:K[r],n=i==null?void 0:i.props.cellProps,f=Re(e,O),b=(ae=g!=null?g:d)!=null?ae:0,P=$?`${$}-${b}-${l}`:void 0,E=n?n.isInEdit:D&&e.editable!==!1,z=U.classNames("k-grid-stack-cell",e.className,{"k-grid-stack-edit-cell ":E}),F=u=>{var m;if(E){if(u.stopPropagation(),I==="inline"&&(w.current=l),I==="incell"){const y=u.currentTarget,v=k.tableKeyboardNavigationTools.getStackedCellFocusableElements(y)[0],_=document.activeElement;v&&_!==v&&!v.contains(_)&&v.focus()}return}(m=t==null?void 0:t.cellClick)==null||m.call(t,u,a,e.field)},M=u=>{const m=u.target,y=u.currentTarget;if(u.key==="Tab"&&m!==y)return;if(u.key==="Enter"&&m===y&&!E&&e.editable!==!1){F(u);return}k.handleStackedKeyboardNavigation({event:u,cellElement:y,onEscape:()=>N(!1),onExitEdit:()=>H(e.field),onTabToNextCell:v=>ee(e.field,v),isInEdit:E,editMode:I})},te=u=>{if(u&&E&&I==="incell"){const y=k.tableKeyboardNavigationTools.getStackedCellFocusableElements(u)[0],h=document.activeElement;if(!y||!h||y===h||y.contains(h))return;y.focus()}else if(u&&E&&I==="inline"){const m=document.activeElement;if(m==null?void 0:m.closest(".k-animation-container, .k-popup, .k-list-container"))return;if(u.contains(m)){w.current=l,A.current.set(l,!0);return}const h=R.current;if(h!=null&&h.contains(m))return;const v=A.current.size===0,_=l===0;if(w.current===l||_&&v){const le=k.tableKeyboardNavigationTools.getStackedCellFocusableElements(u)[0];le&&(le.focus(),w.current=l,A.current.set(l,!0))}}},Ie={className:z,"data-grid-col-index":l,id:P,style:void 0,tabIndex:J?0:-1,onClick:F,onKeyDown:M,onFocus:()=>{w.current=l},ref:te};let B=Q(e,a);if(E){const u=n||{dataItem:a,field:e.field,dataIndex:d,columnIndex:l,rowType:"data",isInEdit:E,format:e.format,className:e.className,editor:e.editor,cells:O};B=o.createElement(Se,null,o.createElement(ve.GridEditCellEditor,{cellProps:u}))}if(f&&S(f)){const u={dataItem:a,field:e.field,title:e.title,rowType:"data",dataIndex:d,columnIndex:l,isInEdit:E,format:e.format,className:e.className,columnType:e.columnType,stackedCellProps:Ie,children:B};return o.createElement(f,{key:e.id||e.field||l,...u})}return o.createElement(se.GridStackedCell,{key:e.id||e.field||l,header:e.title,className:e.className,isInEdit:E,columnIndex:l,id:P,onClick:F,onKeyDown:M,cellRef:te},B)},[p,K,O,$,D,I,a,d,g,J,t,Q,N,H,ee]),be=o.useMemo(()=>{const e=[];for(let l=0;l<x;l++)e.push(o.createElement("td",{key:`group-cell-${l}`,className:"k-table-group-td k-group-cell k-table-td"}));return e},[x]),Ee=o.useCallback(e=>{var l,r;(l=t==null?void 0:t.rowClick)==null||l.call(t,e,a),d!==void 0&&((r=t==null?void 0:t.selectionChange)==null||r.call(t,{event:e,dataItem:a,dataIndex:d,columnIndex:0}))},[t,a,d]),me=o.useCallback(e=>{var l;(l=t==null?void 0:t.rowDblClick)==null||l.call(t,e,a)},[t,a]),ke=o.useCallback(e=>{var i;const l=e.target,r=e.currentTarget;if(l===r&&e.key==="Enter"){e.preventDefault(),d!==void 0&&((i=t==null?void 0:t.selectionChange)==null||i.call(t,{event:e,dataItem:a,dataIndex:d,columnIndex:0}));const n=r.querySelector(".k-grid-stack-cell");n&&n.focus()}},[t,a,d]),ye=o.useCallback(e=>{var i;const l=e.target,r=e.currentTarget;if(l===r){if(e.key==="Tab"){const n=r.closest("tr");if(e.shiftKey){const f=n==null?void 0:n.previousElementSibling;if(f){const b=f.querySelector("td.k-table-td[tabindex]");if(b){e.preventDefault(),b.focus();return}}}else{const f=n==null?void 0:n.nextElementSibling;if(f){const b=f.querySelector("td.k-table-td[tabindex]");if(b){e.preventDefault(),b.focus();return}}}return}if(e.key==="ArrowUp"||e.key==="ArrowDown"){e.preventDefault();const n=r.closest("tr"),f=e.key==="ArrowUp"?n==null?void 0:n.previousElementSibling:n==null?void 0:n.nextElementSibling;if(!f)return;const b=f.querySelector("td.k-table-td[tabindex]");b&&(b.focus(),b.scrollIntoView&&b.scrollIntoView({block:"nearest"}));return}if(e.key==="Enter"){e.preventDefault(),e.stopPropagation(),d!==void 0&&((i=t==null?void 0:t.selectionChange)==null||i.call(t,{event:e,dataItem:a,dataIndex:d,columnIndex:0})),N(!0);const n=r.querySelector(".k-grid-stack-cell");n&&(n.hasAttribute("tabindex")||n.setAttribute("tabindex","0"),n.focus())}}},[N,t,a,d]);return o.createElement("tr",{className:ue,"data-grid-row-index":g,"aria-rowindex":oe,onClick:Ee,onDoubleClick:me,onKeyDown:ke},be,o.createElement("td",{ref:R,className:"k-table-td",colSpan:1,tabIndex:0,onKeyDown:ye},o.createElement("div",{className:de,style:fe},C.map((e,l)=>pe(e,l)),re&&o.createElement(se.GridStackedCell,{columnIndex:C.length},o.createElement(he.GridStackedDetailToggle,{dataItem:a,dataIndex:d,expanded:!!ce,field:ie})))))};ne.displayName="KendoReactGridStackedRow";exports.GridStackedRow=ne;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const he=require("react"),U=require("@progress/kendo-react-common"),ne=require("./GridStackedCell.js"),ve=require("./GridStackedDetailToggle.js"),De=require("../cells/editcell/GridEditCellEditor.js"),we=require("../utils/GridContext.js"),k=require("@progress/kendo-react-data-tools"),Ce=require("../GridState.js");function Se(s){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const p in s)if(p!=="default"){const c=Object.getOwnPropertyDescriptor(s,p);Object.defineProperty(a,p,c.get?c:{enumerable:!0,get:()=>s[p]})}}return a.default=s,Object.freeze(a)}const o=Se(he),ge=s=>o.createElement("div",{style:{display:"contents"}},s.children),Ne=s=>{if(s!=null&&s.cols&&typeof s.cols!="number")return s.cols.map(a=>typeof a=="number"?`${a}px`:typeof a=="string"?a:a&&typeof a=="object"&&a.width!==void 0?typeof a.width=="number"?`${a.width}px`:a.width:"1fr").join(" ")},Re=s=>s!=null&&s.cols?typeof s.cols=="number"?s.cols:s.cols.length:1,S=s=>typeof s=="function"||typeof s=="object"&&s!==null&&typeof s.$$typeof=="symbol",Pe=(s,a)=>{var p,c;if(s.cell&&S(s.cell))return s.cell;if((p=s.cells)!=null&&p.stackedData&&S(s.cells.stackedData))return s.cells.stackedData;if(a!=null&&a.stackedData&&S(a.stackedData))return a.stackedData;if((c=s.cells)!=null&&c.data&&S(s.cells.data))return s.cells.data;if(a!=null&&a.data&&S(a.data))return a.data},Fe=(s,a)=>{if(!s||!a)return;const p=s.split(".");let c=a;for(const d of p){if(c==null)return;c=c[d]}return c},oe=s=>{const{dataItem:a,columns:p,stackedLayoutSettings:c,dataIndex:d,isAltRow:W,isSelected:X,isInEdit:D,editMode:I,cells:O,idPrefix:$,className:Y,style:j,ariaRowIndex:re,absoluteRowIndex:g,groupLevel:x=0,preparedCells:K,showDetailToggle:ce,isDetailExpanded:ie,detailExpandField:ue,isPinned:J}=s,t=o.useContext(we.GridContext),[G,,T]=Ce.useGridState(),L=o.useMemo(()=>Ne(c),[c]),q=o.useMemo(()=>Re(c),[c]),[Q,N]=o.useState(!1),R=o.useRef(null),w=o.useRef(null),A=o.useRef(new Map),V=o.useRef(!1);o.useLayoutEffect(()=>{if(!D||I!=="inline"){V.current=!1,A.current.clear();return}V.current||(V.current=!0,w.current=0,setTimeout(()=>{const e=R.current;if(!e||e.contains(document.activeElement))return;const l=e.querySelector('[data-grid-col-index="0"]'),i=(l?k.tableKeyboardNavigationTools.getStackedCellFocusableElements(l):[])[0];if(i){i.focus();return}const n=k.tableKeyboardNavigationTools.getStackedCellFocusableElements(e);n[0]&&n[0].focus()},0))},[D,I]),o.useEffect(()=>{const e=r=>{const i=R.current;setTimeout(()=>{const n=document.activeElement;i&&!i.contains(n)&&N(!1)},0)},l=R.current;if(l)return l.addEventListener("focusout",e),()=>{l.removeEventListener("focusout",e)}},[]);const C=o.useMemo(()=>p.filter(e=>{const l=!!e._type,r=e.isAccessible===!1;return!e.hidden&&!l&&!r&&(e.columnType==="data"||e.columnType===void 0)}),[p]),Z=o.useCallback((e,l)=>{if(!e.field)return null;const r=Fe(e.field,l);return r==null?null:String(r)},[]),de=o.useMemo(()=>U.classNames("k-table-row","k-master-row",Y,{"k-table-alt-row":W,"k-selected":X,"k-grid-edit-row":D&&I==="inline","k-pinned-source":J}),[Y,W,X,D,I,J]),H=o.useMemo(()=>typeof(c==null?void 0:c.cols)=="number"&&q>1,[c==null?void 0:c.cols,q]),fe=o.useMemo(()=>U.classNames("k-grid-stack-row",{[`k-grid-cols-${q}`]:H}),[q,H]),pe=o.useMemo(()=>L?{gridTemplateColumns:L,...j}:j||{},[L,j]),ee=o.useCallback(e=>{if(!(T!=null&&T.onEditChange)||!(t!=null&&t.dataItemKey)||!e)return;const l=a[t.dataItemKey];if(l===void 0)return;const r=G.edit||{},i=k.editReducer(r,{type:k.EDIT_ACTION.EXIT_FIELD_EDIT,payload:{id:String(l),field:e}}),n={nativeEvent:{},currentTarget:null,target:null,bubbles:!1,cancelable:!1,defaultPrevented:!1,eventPhase:0,isTrusted:!1,timeStamp:Date.now(),type:"editchange",preventDefault:()=>{},stopPropagation:()=>{},persist:()=>{},isDefaultPrevented:()=>!1,isPropagationStopped:()=>!1};T.onEditChange({edit:i,nativeEvent:{},syntheticEvent:n,target:null})},[a,t==null?void 0:t.dataItemKey,T,G.edit]),te=o.useCallback((e,l)=>{if(!(T!=null&&T.onEditChange)||!(t!=null&&t.dataItemKey)||!e)return;const r=a[t.dataItemKey];if(r===void 0)return;const i=C.findIndex(M=>M.field===e);if(i===-1)return;const n=i+l;if(n<0||n>=C.length)return;const f=C[n].field;if(!f)return;const b=G.edit||{},P=String(r),E=k.editReducer(b,{type:k.EDIT_ACTION.EXIT_FIELD_EDIT,payload:{id:P,field:e}}),z=k.editReducer(E,{type:k.EDIT_ACTION.ENTER_FIELD_EDIT,payload:{id:P,field:f}}),F={nativeEvent:{},currentTarget:null,target:null,bubbles:!1,cancelable:!1,defaultPrevented:!1,eventPhase:0,isTrusted:!1,timeStamp:Date.now(),type:"editchange",preventDefault:()=>{},stopPropagation:()=>{},persist:()=>{},isDefaultPrevented:()=>!1,isPropagationStopped:()=>!1};T.onEditChange({edit:z,nativeEvent:{},syntheticEvent:F,target:null})},[a,t==null?void 0:t.dataItemKey,T,G.edit,C]),be=o.useCallback((e,l)=>{var le;const r=p.indexOf(e),i=K==null?void 0:K[r],n=i==null?void 0:i.props.cellProps,f=Pe(e,O),b=(le=g!=null?g:d)!=null?le:0,P=$?`${$}-${b}-${l}`:void 0,E=n?n.isInEdit:D&&e.editable!==!1,z=U.classNames("k-grid-stack-cell",e.className,{"k-grid-stack-edit-cell ":E}),F=u=>{var m;if(E){if(u.stopPropagation(),I==="inline"&&(w.current=l),I==="incell"){const y=u.currentTarget,v=k.tableKeyboardNavigationTools.getStackedCellFocusableElements(y)[0],_=document.activeElement;v&&_!==v&&!v.contains(_)&&v.focus()}return}(m=t==null?void 0:t.cellClick)==null||m.call(t,u,a,e.field)},M=u=>{const m=u.target,y=u.currentTarget;if(u.key==="Tab"&&m!==y)return;if(u.key==="Enter"&&m===y&&!E&&e.editable!==!1){F(u);return}k.handleStackedKeyboardNavigation({event:u,cellElement:y,onEscape:()=>N(!1),onExitEdit:()=>ee(e.field),onTabToNextCell:v=>te(e.field,v),isInEdit:E,editMode:I})},ae=u=>{if(u&&E&&I==="incell"){const y=k.tableKeyboardNavigationTools.getStackedCellFocusableElements(u)[0],h=document.activeElement;if(!y||!h||y===h||y.contains(h))return;y.focus()}else if(u&&E&&I==="inline"){const m=document.activeElement;if(m==null?void 0:m.closest(".k-animation-container, .k-popup, .k-list-container"))return;if(u.contains(m)){w.current=l,A.current.set(l,!0);return}const h=R.current;if(h!=null&&h.contains(m))return;const v=A.current.size===0,_=l===0;if(w.current===l||_&&v){const se=k.tableKeyboardNavigationTools.getStackedCellFocusableElements(u)[0];se&&(se.focus(),w.current=l,A.current.set(l,!0))}}},Te={className:z,"data-grid-col-index":l,id:P,style:void 0,tabIndex:Q?0:-1,onClick:F,onKeyDown:M,onFocus:()=>{w.current=l},ref:ae};let B=Z(e,a);if(E){const u=n||{dataItem:a,field:e.field,dataIndex:d,columnIndex:l,rowType:"data",isInEdit:E,format:e.format,className:e.className,editor:e.editor,cells:O};B=o.createElement(ge,null,o.createElement(De.GridEditCellEditor,{cellProps:u}))}if(f&&S(f)){const u={dataItem:a,field:e.field,title:e.title,rowType:"data",dataIndex:d,columnIndex:l,isInEdit:E,format:e.format,className:e.className,columnType:e.columnType,stackedCellProps:Te,children:B};return o.createElement(f,{key:e.id||e.field||l,...u})}return o.createElement(ne.GridStackedCell,{key:e.id||e.field||l,header:e.title,className:e.className,isInEdit:E,columnIndex:l,id:P,onClick:F,onKeyDown:M,cellRef:ae},B)},[p,K,O,$,D,I,a,d,g,Q,t,Z,N,ee,te]),Ee=o.useMemo(()=>{const e=[];for(let l=0;l<x;l++)e.push(o.createElement("td",{key:`group-cell-${l}`,className:"k-table-group-td k-group-cell k-table-td"}));return e},[x]),me=o.useCallback(e=>{var l,r;(l=t==null?void 0:t.rowClick)==null||l.call(t,e,a),d!==void 0&&((r=t==null?void 0:t.selectionChange)==null||r.call(t,{event:e,dataItem:a,dataIndex:d,columnIndex:0}))},[t,a,d]),ke=o.useCallback(e=>{var l;(l=t==null?void 0:t.rowDblClick)==null||l.call(t,e,a)},[t,a]),ye=o.useCallback(e=>{var i;const l=e.target,r=e.currentTarget;if(l===r&&e.key==="Enter"){e.preventDefault(),d!==void 0&&((i=t==null?void 0:t.selectionChange)==null||i.call(t,{event:e,dataItem:a,dataIndex:d,columnIndex:0}));const n=r.querySelector(".k-grid-stack-cell");n&&n.focus()}},[t,a,d]),Ie=o.useCallback(e=>{var i;const l=e.target,r=e.currentTarget;if(l===r){if(e.key==="Tab"){const n=r.closest("tr");if(e.shiftKey){const f=n==null?void 0:n.previousElementSibling;if(f){const b=f.querySelector("td.k-table-td[tabindex]");if(b){e.preventDefault(),b.focus();return}}}else{const f=n==null?void 0:n.nextElementSibling;if(f){const b=f.querySelector("td.k-table-td[tabindex]");if(b){e.preventDefault(),b.focus();return}}}return}if(e.key==="ArrowUp"||e.key==="ArrowDown"){e.preventDefault();const n=r.closest("tr"),f=e.key==="ArrowUp"?n==null?void 0:n.previousElementSibling:n==null?void 0:n.nextElementSibling;if(!f)return;const b=f.querySelector("td.k-table-td[tabindex]");b&&(b.focus(),b.scrollIntoView&&b.scrollIntoView({block:"nearest"}));return}if(e.key==="Enter"){e.preventDefault(),e.stopPropagation(),d!==void 0&&((i=t==null?void 0:t.selectionChange)==null||i.call(t,{event:e,dataItem:a,dataIndex:d,columnIndex:0})),N(!0);const n=r.querySelector(".k-grid-stack-cell");n&&(n.hasAttribute("tabindex")||n.setAttribute("tabindex","0"),n.focus())}}},[N,t,a,d]);return o.createElement("tr",{className:de,"data-grid-row-index":g,"aria-rowindex":re,onClick:me,onDoubleClick:ke,onKeyDown:ye},Ee,o.createElement("td",{ref:R,className:"k-table-td",colSpan:1,tabIndex:0,onKeyDown:Ie},o.createElement("div",{className:fe,style:pe},C.map((e,l)=>be(e,l)),ce&&o.createElement(ne.GridStackedCell,{columnIndex:C.length},o.createElement(ve.GridStackedDetailToggle,{dataItem:a,dataIndex:d,expanded:!!ie,field:ue})))))};oe.displayName="KendoReactGridStackedRow";exports.GridStackedRow=oe;
@@ -8,41 +8,41 @@
8
8
  "use client";
9
9
  import * as n from "react";
10
10
  import { classNames as W } from "@progress/kendo-react-common";
11
- import { GridStackedCell as oe } from "./GridStackedCell.mjs";
12
- import { GridStackedDetailToggle as Te } from "./GridStackedDetailToggle.mjs";
13
- import { GridEditCellEditor as we } from "../cells/editcell/GridEditCellEditor.mjs";
14
- import { GridContext as ve } from "../utils/GridContext.mjs";
15
- import { tableKeyboardNavigationTools as P, editReducer as X, EDIT_ACTION as z, handleStackedKeyboardNavigation as De } from "@progress/kendo-react-data-tools";
16
- import { useGridState as Ce } from "../GridState.mjs";
17
- const Se = (o) => /* @__PURE__ */ n.createElement("div", { style: { display: "contents" } }, o.children), Re = (o) => {
11
+ import { GridStackedCell as re } from "./GridStackedCell.mjs";
12
+ import { GridStackedDetailToggle as we } from "./GridStackedDetailToggle.mjs";
13
+ import { GridEditCellEditor as ve } from "../cells/editcell/GridEditCellEditor.mjs";
14
+ import { GridContext as De } from "../utils/GridContext.mjs";
15
+ import { tableKeyboardNavigationTools as g, editReducer as X, EDIT_ACTION as z, handleStackedKeyboardNavigation as Ce } from "@progress/kendo-react-data-tools";
16
+ import { useGridState as Se } from "../GridState.mjs";
17
+ const Re = (o) => /* @__PURE__ */ n.createElement("div", { style: { display: "contents" } }, o.children), Ne = (o) => {
18
18
  if (o != null && o.cols && typeof o.cols != "number")
19
- return o.cols.map((a) => typeof a == "number" ? `${a}px` : typeof a == "string" ? a : a && typeof a == "object" && a.width !== void 0 ? typeof a.width == "number" ? `${a.width}px` : a.width : "1fr").join(" ");
20
- }, Ne = (o) => o != null && o.cols ? typeof o.cols == "number" ? o.cols : o.cols.length : 1, C = (o) => typeof o == "function" || typeof o == "object" && o !== null && typeof o.$$typeof == "symbol", Fe = (o, a) => {
19
+ return o.cols.map((s) => typeof s == "number" ? `${s}px` : typeof s == "string" ? s : s && typeof s == "object" && s.width !== void 0 ? typeof s.width == "number" ? `${s.width}px` : s.width : "1fr").join(" ");
20
+ }, Fe = (o) => o != null && o.cols ? typeof o.cols == "number" ? o.cols : o.cols.length : 1, C = (o) => typeof o == "function" || typeof o == "object" && o !== null && typeof o.$$typeof == "symbol", Pe = (o, s) => {
21
21
  var I, u;
22
22
  if (o.cell && C(o.cell))
23
23
  return o.cell;
24
24
  if ((I = o.cells) != null && I.stackedData && C(o.cells.stackedData))
25
25
  return o.cells.stackedData;
26
- if (a != null && a.stackedData && C(a.stackedData))
27
- return a.stackedData;
26
+ if (s != null && s.stackedData && C(s.stackedData))
27
+ return s.stackedData;
28
28
  if ((u = o.cells) != null && u.data && C(o.cells.data))
29
29
  return o.cells.data;
30
- if (a != null && a.data && C(a.data))
31
- return a.data;
32
- }, ge = (o, a) => {
33
- if (!o || !a)
30
+ if (s != null && s.data && C(s.data))
31
+ return s.data;
32
+ }, ge = (o, s) => {
33
+ if (!o || !s)
34
34
  return;
35
35
  const I = o.split(".");
36
- let u = a;
36
+ let u = s;
37
37
  for (const f of I) {
38
38
  if (u == null)
39
39
  return;
40
40
  u = u[f];
41
41
  }
42
42
  return u;
43
- }, Pe = (o) => {
43
+ }, Ke = (o) => {
44
44
  const {
45
- dataItem: a,
45
+ dataItem: s,
46
46
  columns: I,
47
47
  stackedLayoutSettings: u,
48
48
  dataIndex: f,
@@ -54,17 +54,18 @@ const Se = (o) => /* @__PURE__ */ n.createElement("div", { style: { display: "co
54
54
  idPrefix: L,
55
55
  className: J,
56
56
  style: V,
57
- ariaRowIndex: re,
57
+ ariaRowIndex: ce,
58
58
  absoluteRowIndex: S,
59
59
  groupLevel: Q = 0,
60
60
  preparedCells: K,
61
- showDetailToggle: ce,
62
- isDetailExpanded: ie,
63
- detailExpandField: ue
64
- } = o, t = n.useContext(ve), [A, , y] = Ce(), j = n.useMemo(
65
- () => Re(u),
61
+ showDetailToggle: ie,
62
+ isDetailExpanded: ue,
63
+ detailExpandField: fe,
64
+ isPinned: Z
65
+ } = o, t = n.useContext(De), [A, , y] = Se(), j = n.useMemo(
66
+ () => Ne(u),
66
67
  [u]
67
- ), M = n.useMemo(() => Ne(u), [u]), [Z, R] = n.useState(!1), N = n.useRef(null), v = n.useRef(null), G = n.useRef(/* @__PURE__ */ new Map()), O = n.useRef(!1);
68
+ ), M = n.useMemo(() => Fe(u), [u]), [H, R] = n.useState(!1), N = n.useRef(null), v = n.useRef(null), G = n.useRef(/* @__PURE__ */ new Map()), O = n.useRef(!1);
68
69
  n.useLayoutEffect(() => {
69
70
  if (!w || k !== "inline") {
70
71
  O.current = !1, G.current.clear();
@@ -74,20 +75,20 @@ const Se = (o) => /* @__PURE__ */ n.createElement("div", { style: { display: "co
74
75
  const e = N.current;
75
76
  if (!e || e.contains(document.activeElement))
76
77
  return;
77
- const l = e.querySelector('[data-grid-col-index="0"]'), c = (l ? P.getStackedCellFocusableElements(l) : [])[0];
78
+ const l = e.querySelector('[data-grid-col-index="0"]'), c = (l ? g.getStackedCellFocusableElements(l) : [])[0];
78
79
  if (c) {
79
80
  c.focus();
80
81
  return;
81
82
  }
82
- const s = P.getStackedCellFocusableElements(e);
83
- s[0] && s[0].focus();
83
+ const a = g.getStackedCellFocusableElements(e);
84
+ a[0] && a[0].focus();
84
85
  }, 0));
85
86
  }, [w, k]), n.useEffect(() => {
86
87
  const e = (r) => {
87
88
  const c = N.current;
88
89
  setTimeout(() => {
89
- const s = document.activeElement;
90
- c && !c.contains(s) && R(!1);
90
+ const a = document.activeElement;
91
+ c && !c.contains(a) && R(!1);
91
92
  }, 0);
92
93
  }, l = N.current;
93
94
  if (l)
@@ -101,40 +102,41 @@ const Se = (o) => /* @__PURE__ */ n.createElement("div", { style: { display: "co
101
102
  return !e.hidden && !l && !r && (e.columnType === "data" || e.columnType === void 0);
102
103
  }),
103
104
  [I]
104
- ), H = n.useCallback((e, l) => {
105
+ ), ee = n.useCallback((e, l) => {
105
106
  if (!e.field)
106
107
  return null;
107
108
  const r = ge(e.field, l);
108
109
  return r == null ? null : String(r);
109
- }, []), fe = n.useMemo(
110
+ }, []), de = n.useMemo(
110
111
  () => W("k-table-row", "k-master-row", J, {
111
112
  "k-table-alt-row": Y,
112
113
  "k-selected": x,
113
- "k-grid-edit-row": w && k === "inline"
114
+ "k-grid-edit-row": w && k === "inline",
115
+ "k-pinned-source": Z
114
116
  }),
115
- [J, Y, x, w, k]
116
- ), ee = n.useMemo(
117
+ [J, Y, x, w, k, Z]
118
+ ), te = n.useMemo(
117
119
  () => typeof (u == null ? void 0 : u.cols) == "number" && M > 1,
118
120
  [u == null ? void 0 : u.cols, M]
119
- ), de = n.useMemo(
121
+ ), pe = n.useMemo(
120
122
  () => W("k-grid-stack-row", {
121
- [`k-grid-cols-${M}`]: ee
123
+ [`k-grid-cols-${M}`]: te
122
124
  }),
123
- [M, ee]
124
- ), pe = n.useMemo(
125
+ [M, te]
126
+ ), me = n.useMemo(
125
127
  () => j ? { gridTemplateColumns: j, ...V } : V || {},
126
128
  [j, V]
127
- ), te = n.useCallback(
129
+ ), le = n.useCallback(
128
130
  (e) => {
129
131
  if (!(y != null && y.onEditChange) || !(t != null && t.dataItemKey) || !e)
130
132
  return;
131
- const l = a[t.dataItemKey];
133
+ const l = s[t.dataItemKey];
132
134
  if (l === void 0)
133
135
  return;
134
136
  const r = A.edit || {}, c = X(r, {
135
137
  type: z.EXIT_FIELD_EDIT,
136
138
  payload: { id: String(l), field: e }
137
- }), s = {
139
+ }), a = {
138
140
  nativeEvent: {},
139
141
  currentTarget: null,
140
142
  target: null,
@@ -157,25 +159,25 @@ const Se = (o) => /* @__PURE__ */ n.createElement("div", { style: { display: "co
157
159
  y.onEditChange({
158
160
  edit: c,
159
161
  nativeEvent: {},
160
- syntheticEvent: s,
162
+ syntheticEvent: a,
161
163
  target: null
162
164
  });
163
165
  },
164
- [a, t == null ? void 0 : t.dataItemKey, y, A.edit]
165
- ), le = n.useCallback(
166
+ [s, t == null ? void 0 : t.dataItemKey, y, A.edit]
167
+ ), se = n.useCallback(
166
168
  (e, l) => {
167
169
  if (!(y != null && y.onEditChange) || !(t != null && t.dataItemKey) || !e)
168
170
  return;
169
- const r = a[t.dataItemKey];
171
+ const r = s[t.dataItemKey];
170
172
  if (r === void 0)
171
173
  return;
172
174
  const c = D.findIndex(($) => $.field === e);
173
175
  if (c === -1)
174
176
  return;
175
- const s = c + l;
176
- if (s < 0 || s >= D.length)
177
+ const a = c + l;
178
+ if (a < 0 || a >= D.length)
177
179
  return;
178
- const d = D[s].field;
180
+ const d = D[a].field;
179
181
  if (!d)
180
182
  return;
181
183
  const p = A.edit || {}, F = String(r), m = X(p, {
@@ -184,7 +186,7 @@ const Se = (o) => /* @__PURE__ */ n.createElement("div", { style: { display: "co
184
186
  }), B = X(m, {
185
187
  type: z.ENTER_FIELD_EDIT,
186
188
  payload: { id: F, field: d }
187
- }), g = {
189
+ }), P = {
188
190
  nativeEvent: {},
189
191
  currentTarget: null,
190
192
  target: null,
@@ -207,46 +209,46 @@ const Se = (o) => /* @__PURE__ */ n.createElement("div", { style: { display: "co
207
209
  y.onEditChange({
208
210
  edit: B,
209
211
  nativeEvent: {},
210
- syntheticEvent: g,
212
+ syntheticEvent: P,
211
213
  target: null
212
214
  });
213
215
  },
214
- [a, t == null ? void 0 : t.dataItemKey, y, A.edit, D]
215
- ), me = n.useCallback(
216
+ [s, t == null ? void 0 : t.dataItemKey, y, A.edit, D]
217
+ ), Ee = n.useCallback(
216
218
  (e, l) => {
217
- var se;
218
- const r = I.indexOf(e), c = K == null ? void 0 : K[r], s = c == null ? void 0 : c.props.cellProps, d = Fe(e, q), p = (se = S != null ? S : f) != null ? se : 0, F = L ? `${L}-${p}-${l}` : void 0, m = s ? s.isInEdit : w && e.editable !== !1, B = W("k-grid-stack-cell", e.className, {
219
+ var ne;
220
+ const r = I.indexOf(e), c = K == null ? void 0 : K[r], a = c == null ? void 0 : c.props.cellProps, d = Pe(e, q), p = (ne = S != null ? S : f) != null ? ne : 0, F = L ? `${L}-${p}-${l}` : void 0, m = a ? a.isInEdit : w && e.editable !== !1, B = W("k-grid-stack-cell", e.className, {
219
221
  "k-grid-stack-edit-cell ": m
220
- }), g = (i) => {
222
+ }), P = (i) => {
221
223
  var E;
222
224
  if (m) {
223
225
  if (i.stopPropagation(), k === "inline" && (v.current = l), k === "incell") {
224
- const b = i.currentTarget, T = P.getStackedCellFocusableElements(b)[0], _ = document.activeElement;
226
+ const b = i.currentTarget, T = g.getStackedCellFocusableElements(b)[0], _ = document.activeElement;
225
227
  T && _ !== T && !T.contains(_) && T.focus();
226
228
  }
227
229
  return;
228
230
  }
229
- (E = t == null ? void 0 : t.cellClick) == null || E.call(t, i, a, e.field);
231
+ (E = t == null ? void 0 : t.cellClick) == null || E.call(t, i, s, e.field);
230
232
  }, $ = (i) => {
231
233
  const E = i.target, b = i.currentTarget;
232
234
  if (i.key === "Tab" && E !== b)
233
235
  return;
234
236
  if (i.key === "Enter" && E === b && !m && e.editable !== !1) {
235
- g(i);
237
+ P(i);
236
238
  return;
237
239
  }
238
- De({
240
+ Ce({
239
241
  event: i,
240
242
  cellElement: b,
241
243
  onEscape: () => R(!1),
242
- onExitEdit: () => te(e.field),
243
- onTabToNextCell: (T) => le(e.field, T),
244
+ onExitEdit: () => le(e.field),
245
+ onTabToNextCell: (T) => se(e.field, T),
244
246
  isInEdit: m,
245
247
  editMode: k
246
248
  });
247
249
  }, ae = (i) => {
248
250
  if (i && m && k === "incell") {
249
- const b = P.getStackedCellFocusableElements(i)[0], h = document.activeElement;
251
+ const b = g.getStackedCellFocusableElements(i)[0], h = document.activeElement;
250
252
  if (!b || !h || b === h || b.contains(h))
251
253
  return;
252
254
  b.focus();
@@ -263,27 +265,27 @@ const Se = (o) => /* @__PURE__ */ n.createElement("div", { style: { display: "co
263
265
  return;
264
266
  const T = G.current.size === 0, _ = l === 0;
265
267
  if (v.current === l || _ && T) {
266
- const ne = P.getStackedCellFocusableElements(i)[0];
267
- ne && (ne.focus(), v.current = l, G.current.set(l, !0));
268
+ const oe = g.getStackedCellFocusableElements(i)[0];
269
+ oe && (oe.focus(), v.current = l, G.current.set(l, !0));
268
270
  }
269
271
  }
270
- }, he = {
272
+ }, Te = {
271
273
  className: B,
272
274
  "data-grid-col-index": l,
273
275
  id: F,
274
276
  style: void 0,
275
- tabIndex: Z ? 0 : -1,
276
- onClick: g,
277
+ tabIndex: H ? 0 : -1,
278
+ onClick: P,
277
279
  onKeyDown: $,
278
280
  onFocus: () => {
279
281
  v.current = l;
280
282
  },
281
283
  ref: ae
282
284
  };
283
- let U = H(e, a);
285
+ let U = ee(e, s);
284
286
  if (m) {
285
- const i = s || {
286
- dataItem: a,
287
+ const i = a || {
288
+ dataItem: s,
287
289
  field: e.field,
288
290
  dataIndex: f,
289
291
  columnIndex: l,
@@ -294,11 +296,11 @@ const Se = (o) => /* @__PURE__ */ n.createElement("div", { style: { display: "co
294
296
  editor: e.editor,
295
297
  cells: q
296
298
  };
297
- U = /* @__PURE__ */ n.createElement(Se, null, /* @__PURE__ */ n.createElement(we, { cellProps: i }));
299
+ U = /* @__PURE__ */ n.createElement(Re, null, /* @__PURE__ */ n.createElement(ve, { cellProps: i }));
298
300
  }
299
301
  if (d && C(d)) {
300
302
  const i = {
301
- dataItem: a,
303
+ dataItem: s,
302
304
  field: e.field,
303
305
  title: e.title,
304
306
  rowType: "data",
@@ -308,13 +310,13 @@ const Se = (o) => /* @__PURE__ */ n.createElement("div", { style: { display: "co
308
310
  format: e.format,
309
311
  className: e.className,
310
312
  columnType: e.columnType,
311
- stackedCellProps: he,
313
+ stackedCellProps: Te,
312
314
  children: U
313
315
  };
314
316
  return /* @__PURE__ */ n.createElement(d, { key: e.id || e.field || l, ...i });
315
317
  }
316
318
  return /* @__PURE__ */ n.createElement(
317
- oe,
319
+ re,
318
320
  {
319
321
  key: e.id || e.field || l,
320
322
  header: e.title,
@@ -322,7 +324,7 @@ const Se = (o) => /* @__PURE__ */ n.createElement("div", { style: { display: "co
322
324
  isInEdit: m,
323
325
  columnIndex: l,
324
326
  id: F,
325
- onClick: g,
327
+ onClick: P,
326
328
  onKeyDown: $,
327
329
  cellRef: ae
328
330
  },
@@ -336,63 +338,63 @@ const Se = (o) => /* @__PURE__ */ n.createElement("div", { style: { display: "co
336
338
  L,
337
339
  w,
338
340
  k,
339
- a,
341
+ s,
340
342
  f,
341
343
  S,
342
- Z,
343
- t,
344
344
  H,
345
+ t,
346
+ ee,
345
347
  R,
346
- te,
347
- le
348
+ le,
349
+ se
348
350
  ]
349
- ), Ee = n.useMemo(() => {
351
+ ), be = n.useMemo(() => {
350
352
  const e = [];
351
353
  for (let l = 0; l < Q; l++)
352
354
  e.push(/* @__PURE__ */ n.createElement("td", { key: `group-cell-${l}`, className: "k-table-group-td k-group-cell k-table-td" }));
353
355
  return e;
354
- }, [Q]), be = n.useCallback(
356
+ }, [Q]), ke = n.useCallback(
355
357
  (e) => {
356
358
  var l, r;
357
- (l = t == null ? void 0 : t.rowClick) == null || l.call(t, e, a), f !== void 0 && ((r = t == null ? void 0 : t.selectionChange) == null || r.call(t, {
359
+ (l = t == null ? void 0 : t.rowClick) == null || l.call(t, e, s), f !== void 0 && ((r = t == null ? void 0 : t.selectionChange) == null || r.call(t, {
358
360
  event: e,
359
- dataItem: a,
361
+ dataItem: s,
360
362
  dataIndex: f,
361
363
  columnIndex: 0
362
364
  }));
363
365
  },
364
- [t, a, f]
365
- ), ke = n.useCallback(
366
+ [t, s, f]
367
+ ), ye = n.useCallback(
366
368
  (e) => {
367
369
  var l;
368
- (l = t == null ? void 0 : t.rowDblClick) == null || l.call(t, e, a);
370
+ (l = t == null ? void 0 : t.rowDblClick) == null || l.call(t, e, s);
369
371
  },
370
- [t, a]
371
- ), ye = n.useCallback(
372
+ [t, s]
373
+ ), Ie = n.useCallback(
372
374
  (e) => {
373
375
  var c;
374
376
  const l = e.target, r = e.currentTarget;
375
377
  if (l === r && e.key === "Enter") {
376
378
  e.preventDefault(), f !== void 0 && ((c = t == null ? void 0 : t.selectionChange) == null || c.call(t, {
377
379
  event: e,
378
- dataItem: a,
380
+ dataItem: s,
379
381
  dataIndex: f,
380
382
  columnIndex: 0
381
383
  }));
382
- const s = r.querySelector(".k-grid-stack-cell");
383
- s && s.focus();
384
+ const a = r.querySelector(".k-grid-stack-cell");
385
+ a && a.focus();
384
386
  }
385
387
  },
386
- [t, a, f]
387
- ), Ie = n.useCallback(
388
+ [t, s, f]
389
+ ), he = n.useCallback(
388
390
  (e) => {
389
391
  var c;
390
392
  const l = e.target, r = e.currentTarget;
391
393
  if (l === r) {
392
394
  if (e.key === "Tab") {
393
- const s = r.closest("tr");
395
+ const a = r.closest("tr");
394
396
  if (e.shiftKey) {
395
- const d = s == null ? void 0 : s.previousElementSibling;
397
+ const d = a == null ? void 0 : a.previousElementSibling;
396
398
  if (d) {
397
399
  const p = d.querySelector("td.k-table-td[tabindex]");
398
400
  if (p) {
@@ -401,7 +403,7 @@ const Se = (o) => /* @__PURE__ */ n.createElement("div", { style: { display: "co
401
403
  }
402
404
  }
403
405
  } else {
404
- const d = s == null ? void 0 : s.nextElementSibling;
406
+ const d = a == null ? void 0 : a.nextElementSibling;
405
407
  if (d) {
406
408
  const p = d.querySelector("td.k-table-td[tabindex]");
407
409
  if (p) {
@@ -414,7 +416,7 @@ const Se = (o) => /* @__PURE__ */ n.createElement("div", { style: { display: "co
414
416
  }
415
417
  if (e.key === "ArrowUp" || e.key === "ArrowDown") {
416
418
  e.preventDefault();
417
- const s = r.closest("tr"), d = e.key === "ArrowUp" ? s == null ? void 0 : s.previousElementSibling : s == null ? void 0 : s.nextElementSibling;
419
+ const a = r.closest("tr"), d = e.key === "ArrowUp" ? a == null ? void 0 : a.previousElementSibling : a == null ? void 0 : a.nextElementSibling;
418
420
  if (!d)
419
421
  return;
420
422
  const p = d.querySelector("td.k-table-td[tabindex]");
@@ -424,40 +426,40 @@ const Se = (o) => /* @__PURE__ */ n.createElement("div", { style: { display: "co
424
426
  if (e.key === "Enter") {
425
427
  e.preventDefault(), e.stopPropagation(), f !== void 0 && ((c = t == null ? void 0 : t.selectionChange) == null || c.call(t, {
426
428
  event: e,
427
- dataItem: a,
429
+ dataItem: s,
428
430
  dataIndex: f,
429
431
  columnIndex: 0
430
432
  })), R(!0);
431
- const s = r.querySelector(".k-grid-stack-cell");
432
- s && (s.hasAttribute("tabindex") || s.setAttribute("tabindex", "0"), s.focus());
433
+ const a = r.querySelector(".k-grid-stack-cell");
434
+ a && (a.hasAttribute("tabindex") || a.setAttribute("tabindex", "0"), a.focus());
433
435
  }
434
436
  }
435
437
  },
436
- [R, t, a, f]
438
+ [R, t, s, f]
437
439
  );
438
440
  return /* @__PURE__ */ n.createElement(
439
441
  "tr",
440
442
  {
441
- className: fe,
443
+ className: de,
442
444
  "data-grid-row-index": S,
443
- "aria-rowindex": re,
444
- onClick: be,
445
- onDoubleClick: ke,
446
- onKeyDown: ye
445
+ "aria-rowindex": ce,
446
+ onClick: ke,
447
+ onDoubleClick: ye,
448
+ onKeyDown: Ie
447
449
  },
448
- Ee,
449
- /* @__PURE__ */ n.createElement("td", { ref: N, className: "k-table-td", colSpan: 1, tabIndex: 0, onKeyDown: Ie }, /* @__PURE__ */ n.createElement("div", { className: de, style: pe }, D.map((e, l) => me(e, l)), ce && /* @__PURE__ */ n.createElement(oe, { columnIndex: D.length }, /* @__PURE__ */ n.createElement(
450
- Te,
450
+ be,
451
+ /* @__PURE__ */ n.createElement("td", { ref: N, className: "k-table-td", colSpan: 1, tabIndex: 0, onKeyDown: he }, /* @__PURE__ */ n.createElement("div", { className: pe, style: me }, D.map((e, l) => Ee(e, l)), ie && /* @__PURE__ */ n.createElement(re, { columnIndex: D.length }, /* @__PURE__ */ n.createElement(
452
+ we,
451
453
  {
452
- dataItem: a,
454
+ dataItem: s,
453
455
  dataIndex: f,
454
- expanded: !!ie,
455
- field: ue
456
+ expanded: !!ue,
457
+ field: fe
456
458
  }
457
459
  ))))
458
460
  );
459
461
  };
460
- Pe.displayName = "KendoReactGridStackedRow";
462
+ Ke.displayName = "KendoReactGridStackedRow";
461
463
  export {
462
- Pe as GridStackedRow
464
+ Ke as GridStackedRow
463
465
  };
@@ -39,6 +39,7 @@ export interface StackedModeRowProps {
39
39
  showDetailToggle: boolean;
40
40
  isDetailExpanded: boolean;
41
41
  detailExpandField?: string;
42
+ isPinned?: boolean;
42
43
  }
43
44
  /**
44
45
  * @hidden
@@ -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 P=require("react"),B=require("../cells/groupcell/GridGroupCellToggle.js"),L=require("../rows/GridRow.js"),V=require("./GridStackedRow.js");function z(e){const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const s in e)if(s!=="default"){const u=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(c,s,u.get?u:{enumerable:!0,get:()=>e[s]})}}return c.default=e,Object.freeze(c)}const t=z(P),H=({item:e,rowId:c,dataIndex:s,idPrefix:u,ariaRowIndex:f,absoluteRowIndex:y,isAltRow:k,isHidden:h,isRowReorderable:j,rowHeight:O,rows:R,leafColumns:p,groupLevelCount:b,stackedLayoutSettings:w,cells:F,editMode:x,isSelected:S,isHighlighted:D,isInEdit:v,preparedCells:M,showDetailToggle:_,isDetailExpanded:q,detailExpandField:A})=>{var C,G,$;if(e.rowType==="data")return t.createElement(V.GridStackedRow,{key:c,dataItem:e.dataItem,columns:p,stackedLayoutSettings:w,isAltRow:k,isSelected:S,isInEdit:v,cells:F,dataIndex:s,idPrefix:u,ariaRowIndex:f,absoluteRowIndex:y,groupLevel:b,preparedCells:M,editMode:x,showDetailToggle:_,isDetailExpanded:q,detailExpandField:A});const I=b+1,E=e.level||0,T=Math.max(1,I-E),N=Array.from({length:E},(d,r)=>t.createElement("td",{key:`group-cell-${c}-${r}`,className:"k-table-group-td k-group-cell k-table-td"}));let m;if(e.rowType==="groupHeader"){const d=(C=e.dataItem)==null?void 0:C.field,r=(G=e.dataItem)==null?void 0:G.value,g=d!==void 0?(()=>{const l=String(d),n=p.find(o=>o.field===l),i=n==null?void 0:n.title;return typeof i=="string"&&i.length?i:l})():void 0;let a="";if(d!==void 0){let l;r instanceof Date?l=r.toString():l=String(r),a=`${g}: ${l}`}else r instanceof Date?a=r.toString():r!==void 0&&(a=String(r));m=t.createElement(t.Fragment,null,N,t.createElement("td",{className:"k-table-td",colSpan:T,role:"gridcell","aria-expanded":e.expanded},t.createElement("p",{className:"k-reset"},t.createElement(B.GridGroupCellToggle,{id:"",dataItem:e.dataItem,dataIndex:e.dataIndex,field:"value",expanded:e.expanded,group:e.group,columnPosition:{},ariaColumnIndex:1,isSelected:!1}),t.createElement("span",{className:"k-value"},a))))}else{const d=p.filter(a=>{const l=!!a._type,n=a.isAccessible===!1;return!a.hidden&&!l&&!n&&(a.columnType==="data"||a.columnType===void 0)}),r=($=e.dataItem)==null?void 0:$.aggregates,g=d.map(a=>{const l=a.field;if(!l||!r)return null;const n=r[l];if(!n||typeof n!="object")return null;const i=Object.keys(n).filter(o=>n[o]!==void 0&&n[o]!==null).map(o=>`${o.length?`${o.charAt(0).toUpperCase()}${o.slice(1)}`:o}: ${String(n[o])}`);return i.length===0?null:t.createElement("div",{key:`agg-${c}-${l}`,className:"k-grid-template-column"},t.createElement("p",{className:"k-grid-template-column-header"},a.title||l),t.createElement("p",{className:"k-reset"},i.join(", ")))}).filter(Boolean);if(e.rowType==="groupFooter"&&g.length===0)return t.createElement(t.Fragment,{key:c});m=t.createElement(t.Fragment,null,N,t.createElement("td",{className:"k-table-td",colSpan:T},t.createElement("div",{className:"k-grid-column-template"},g)))}return t.createElement(L.GridRow,{key:c,dataItem:e.dataItem,isAltRow:k,isInEdit:v,rowType:e.rowType,isRowReorderable:j,isHidden:h,onClick:null,onDoubleClick:null,rowHeight:O,ariaRowIndex:f,absoluteRowIndex:y,dataIndex:s,isSelected:S,isHighlighted:D,rows:R},m)};exports.StackedModeRow=H;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const B=require("react"),L=require("../cells/groupcell/GridGroupCellToggle.js"),V=require("../rows/GridRow.js"),z=require("./GridStackedRow.js");function H(e){const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const s in e)if(s!=="default"){const u=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(c,s,u.get?u:{enumerable:!0,get:()=>e[s]})}}return c.default=e,Object.freeze(c)}const t=H(B),U=({item:e,rowId:c,dataIndex:s,idPrefix:u,ariaRowIndex:f,absoluteRowIndex:y,isAltRow:k,isHidden:h,isRowReorderable:j,rowHeight:O,rows:R,leafColumns:p,groupLevelCount:b,stackedLayoutSettings:w,cells:F,editMode:x,isSelected:S,isHighlighted:D,isInEdit:v,preparedCells:M,showDetailToggle:_,isDetailExpanded:q,detailExpandField:A,isPinned:I})=>{var C,G,$;if(e.rowType==="data")return t.createElement(z.GridStackedRow,{key:c,dataItem:e.dataItem,columns:p,stackedLayoutSettings:w,isAltRow:k,isSelected:S,isInEdit:v,cells:F,dataIndex:s,idPrefix:u,ariaRowIndex:f,absoluteRowIndex:y,groupLevel:b,preparedCells:M,editMode:x,showDetailToggle:_,isDetailExpanded:q,detailExpandField:A,isPinned:I});const P=b+1,E=e.level||0,T=Math.max(1,P-E),N=Array.from({length:E},(d,r)=>t.createElement("td",{key:`group-cell-${c}-${r}`,className:"k-table-group-td k-group-cell k-table-td"}));let m;if(e.rowType==="groupHeader"){const d=(C=e.dataItem)==null?void 0:C.field,r=(G=e.dataItem)==null?void 0:G.value,g=d!==void 0?(()=>{const l=String(d),n=p.find(o=>o.field===l),i=n==null?void 0:n.title;return typeof i=="string"&&i.length?i:l})():void 0;let a="";if(d!==void 0){let l;r instanceof Date?l=r.toString():l=String(r),a=`${g}: ${l}`}else r instanceof Date?a=r.toString():r!==void 0&&(a=String(r));m=t.createElement(t.Fragment,null,N,t.createElement("td",{className:"k-table-td",colSpan:T,role:"gridcell","aria-expanded":e.expanded},t.createElement("p",{className:"k-reset"},t.createElement(L.GridGroupCellToggle,{id:"",dataItem:e.dataItem,dataIndex:e.dataIndex,field:"value",expanded:e.expanded,group:e.group,columnPosition:{},ariaColumnIndex:1,isSelected:!1}),t.createElement("span",{className:"k-value"},a))))}else{const d=p.filter(a=>{const l=!!a._type,n=a.isAccessible===!1;return!a.hidden&&!l&&!n&&(a.columnType==="data"||a.columnType===void 0)}),r=($=e.dataItem)==null?void 0:$.aggregates,g=d.map(a=>{const l=a.field;if(!l||!r)return null;const n=r[l];if(!n||typeof n!="object")return null;const i=Object.keys(n).filter(o=>n[o]!==void 0&&n[o]!==null).map(o=>`${o.length?`${o.charAt(0).toUpperCase()}${o.slice(1)}`:o}: ${String(n[o])}`);return i.length===0?null:t.createElement("div",{key:`agg-${c}-${l}`,className:"k-grid-template-column"},t.createElement("p",{className:"k-grid-template-column-header"},a.title||l),t.createElement("p",{className:"k-reset"},i.join(", ")))}).filter(Boolean);if(e.rowType==="groupFooter"&&g.length===0)return t.createElement(t.Fragment,{key:c});m=t.createElement(t.Fragment,null,N,t.createElement("td",{className:"k-table-td",colSpan:T},t.createElement("div",{className:"k-grid-column-template"},g)))}return t.createElement(V.GridRow,{key:c,dataItem:e.dataItem,isAltRow:k,isInEdit:v,rowType:e.rowType,isRowReorderable:j,isHidden:h,onClick:null,onDoubleClick:null,rowHeight:O,ariaRowIndex:f,absoluteRowIndex:y,dataIndex:s,isSelected:S,isHighlighted:D,rows:R},m)};exports.StackedModeRow=U;