@progress/kendo-react-grid 14.3.0-develop.1 → 14.3.0-develop.10

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 (88) hide show
  1. package/GridClientContextReader.js +1 -1
  2. package/GridClientContextReader.mjs +10 -9
  3. package/GridClientWrapper.js +1 -1
  4. package/GridClientWrapper.mjs +711 -624
  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/{toolbar-tools/smartbox/SegmentedControl.d.ts → cells/pincell/GridPinCell.d.ts} +4 -2
  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 +97 -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/toolbar-tools/smartbox/SmartBox.js +1 -1
  77. package/toolbar-tools/smartbox/SmartBox.mjs +102 -94
  78. package/toolbar-tools/smartbox/hooks/useSmartBoxSegmentedControl.d.ts +12 -3
  79. package/toolbar-tools/smartbox/hooks/useSmartBoxSegmentedControl.js +1 -1
  80. package/toolbar-tools/smartbox/hooks/useSmartBoxSegmentedControl.mjs +42 -41
  81. package/toolbar-tools/smartbox/index.d.ts +0 -1
  82. package/toolbar-tools/smartbox/interfaces/index.d.ts +0 -1
  83. package/utils/index.d.ts +1 -0
  84. package/utils/index.js +1 -1
  85. package/utils/index.mjs +44 -44
  86. package/toolbar-tools/smartbox/SegmentedControl.js +0 -8
  87. package/toolbar-tools/smartbox/SegmentedControl.mjs +0 -109
  88. package/toolbar-tools/smartbox/interfaces/SegmentedControlTypes.d.ts +0 -66
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react"),r=require("@progress/kendo-react-common"),i=require("@progress/kendo-react-intl"),S=require("./GridState.js"),C=require("./utils/index.js");function O(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const c=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,c.get?c:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const n=O(y),j=e=>{const o=r.useId(),t=e.id||o,c=r.useUnstyled(),s=i.useLocalization(),a=i.useInternationalization(),[,u]=n.useReducer(p=>!p,!0),l=n.useRef(0),d=n.useRef(0),f=n.useRef(0),R=n.useRef(0),b=n.useRef(0),[g,,m]=S.useGridState();return C.cloneReactElement(e.children,{...g,...m,id:t,unstyled:c,localization:s,intl:a,scrollLeftRef:l,widthRef:d,containerHeightRef:f,minRowHeightRef:R,virtualSkipRef:b,forceUpdate:u,isClient:!0})};exports.GridClientContextReader=j;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("react"),i=require("@progress/kendo-react-common"),r=require("@progress/kendo-react-intl"),C=require("./GridState.js"),O=require("./utils/index.js");function j(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const c=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(o,n,c.get?c:{enumerable:!0,get:()=>e[n]})}}return o.default=e,Object.freeze(o)}const t=j(S),k=e=>{const o=i.useId(),n=e.id||o,c=i.useUnstyled(),s=r.useLocalization(),a=r.useInternationalization(),[,u]=t.useReducer(p=>!p,!0),l=t.useRef(0),d=t.useRef(0),f=t.useRef(0),R=t.useRef(0),b=t.useRef(0),g=t.useRef("body"),[m,,y]=C.useGridState();return O.cloneReactElement(e.children,{...m,...y,id:n,unstyled:c,localization:s,intl:a,scrollLeftRef:l,widthRef:d,containerHeightRef:f,minRowHeightRef:R,virtualSkipRef:b,editZoneRef:g,forceUpdate:u,isClient:!0})};exports.GridClientContextReader=k;
@@ -7,24 +7,25 @@
7
7
  */
8
8
  "use client";
9
9
  import * as e from "react";
10
- import { useId as h, useUnstyled as z } from "@progress/kendo-react-common";
10
+ import { useId as y, useUnstyled as z } from "@progress/kendo-react-common";
11
11
  import { useLocalization as C, useInternationalization as I } from "@progress/kendo-react-intl";
12
- import { useGridState as g } from "./GridState.mjs";
13
- import { cloneReactElement as k } from "./utils/index.mjs";
12
+ import { useGridState as b } from "./GridState.mjs";
13
+ import { cloneReactElement as g } from "./utils/index.mjs";
14
14
  const H = (t) => {
15
- const o = h(), n = t.id || o, s = z(), i = C(), c = I(), [, r] = e.useReducer((p) => !p, !0), a = e.useRef(0), l = e.useRef(0), u = e.useRef(0), f = e.useRef(0), d = e.useRef(0), [R, , m] = g();
16
- return k(t.children, {
17
- ...R,
15
+ const o = y(), n = t.id || o, s = z(), i = C(), c = I(), [, r] = e.useReducer((h) => !h, !0), a = e.useRef(0), f = e.useRef(0), l = e.useRef(0), u = e.useRef(0), d = e.useRef(0), R = e.useRef("body"), [m, , p] = b();
16
+ return g(t.children, {
18
17
  ...m,
18
+ ...p,
19
19
  id: n,
20
20
  unstyled: s,
21
21
  localization: i,
22
22
  intl: c,
23
23
  scrollLeftRef: a,
24
- widthRef: l,
25
- containerHeightRef: u,
26
- minRowHeightRef: f,
24
+ widthRef: f,
25
+ containerHeightRef: l,
26
+ minRowHeightRef: u,
27
27
  virtualSkipRef: d,
28
+ editZoneRef: R,
28
29
  forceUpdate: r,
29
30
  isClient: !0
30
31
  });
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ir=require("react"),C=require("@progress/kendo-react-common"),ar=require("@progress/kendo-data-query"),l=require("@progress/kendo-react-data-tools"),cr=require("./drag/ColumnResize.js"),dr=require("./drag/CommonDragLogic.js"),lr=require("./hooks/useStickyGroups.js"),U=require("./utils/index.js"),sr=require("./VirtualScroll.js"),ur=require("./contextMenu/GridContextMenu.js"),Xe=require("./contextMenu/enums.js"),Ye=require("./sortCommon.js"),gr=require("./BasePDFExport.js"),fr=require("./BaseCSVExport.js"),mr=require("./utils/GridContext.js"),hr=require("./filterCommon.js");function Pr(t){const I=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const m in t)if(m!=="default"){const K=Object.getOwnPropertyDescriptor(t,m);Object.defineProperty(I,m,K.get?K:{enumerable:!0,get:()=>t[m]})}}return I.default=t,Object.freeze(I)}const c=Pr(ir),br=(t,I,m,K)=>{const p=Object.keys(I.cells).map(M=>m.findIndex(ee=>ee.field===M)),V=Object.keys(I.cells).length>0?p:!0;return t.reduce((M,ee)=>(M[ee[K!=null?K:"id"]]=V,M),{})},Ze=(t,I,m,K)=>I.reduce((V,M)=>({...V,...br(ar.filterBy(t,M),M,m,K)}),{}),Rr=t=>{var Qe;const I=t.gridProps.isClient,[m,K]=c.useState({}),p=C.useAdaptiveModeContext(),V=c.useRef(null),M=c.useRef(null),ee=e=>{e.event.preventDefault(),K({...m,show:!0,offset:{left:e.event.pageX,top:e.event.pageY},dataItem:e.dataItem,field:e.field})},Ge=()=>{K({})},S=c.useMemo(()=>t.columnsRef.find(e=>e.field===m.field),[t.columnsRef,m]),He=c.useMemo(()=>{const e=t.gridProps.sortable&&(S==null?void 0:S.sortable);return U.getDefaultHeadContextMenuItems({pdf:!!t.gridProps.pdf,sortable:!!e,selectable:l.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard})},[S,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),Te=c.useMemo(()=>(t.gridProps.sortable&&(S==null||S.sortable),U.getDefaultBodyContextMenuItems({pdf:!!t.gridProps.pdf,selectable:l.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard,rowReorderable:U.isRowReorderEnabled(t.gridProps.rowReorderable)})),[S,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),ne=c.useMemo(()=>{const e=(S==null?void 0:S.contextMenu)||t.gridProps.contextMenu,r=typeof e=="function"?e(m):e;if(r&&m.offset){const o=m.dataItem?Xe.GridContextMenuAnchorPart.body:Xe.GridContextMenuAnchorPart.head,n=r[o],i=m.dataItem?Te:He;return n===!1?void 0:n===!0||n===void 0?i:n}},[t.gridProps.contextMenu,m,Te,He,S]),pe=e=>{var d,g,f,P,h,E,s,x,v;const r=e.event.item,o={target:D.current,syntheticEvent:e.event.syntheticEvent,nativeEvent:e.event.nativeEvent,menuItem:r,...e};t.gridProps.onContextMenuItemClick&&u(t.gridProps.onContextMenuItemClick,o);const n=k(),i={selectedField:"",componentId:t.id,dataItems:n,dataItem:e.dataItem,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,...l.getSelectionOptions(t.gridProps.selectable),...o},a=n.findIndex(z=>z===e.dataItem);switch((d=r.data)==null?void 0:d.action){case"SortCommand":if(S){const z=(g=r.name)==null?void 0:g.toLowerCase().includes("asc"),Z=((f=r.name)==null?void 0:f.toLowerCase().includes("desc"))?"desc":void 0,Me=z?"asc":Z,or=r.name?Me:void 0;Ae(e.event.syntheticEvent,S,or)}break;case"SelectRowCommand":Ct(i);break;case"SelectAllRowsCommand":vt(i);break;case"ExportPDFCommand":be();break;case"ClearSelectionCommand":yt(i);break;case"ReorderRowCommand":re.current=e.dataItem,(P=r.name)!=null&&P.toLowerCase().includes("rowup")&&a>0&&te(e.event.syntheticEvent,a-1,"before"),(h=r.name)!=null&&h.toLowerCase().includes("rowdown")&&a<n.length-1&&te(e.event.syntheticEvent,a+1,"after"),(E=r.name)!=null&&E.toLowerCase().includes("rowtop")&&te(e.event.syntheticEvent,0,"before"),(s=r.name)!=null&&s.toLowerCase().includes("rowbottom")&&te(e.event.syntheticEvent,n.length-1,"after");break;case"CopySelectionCommand":de(l.ClipboardActionType.copy,e.event.nativeEvent,{copyHeaders:!((x=r.name)!=null&&x.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break;case"PasteCommand":de(l.ClipboardActionType.paste,e.event.nativeEvent,{copyHeaders:!((v=r.name)!=null&&v.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break}Ge()},oe=()=>{const e=t.columnsRef.filter(r=>r.declarationIndex>=0&&r.parentIndex===-1);return U.sanitizeColumns(e)},et=(e,r,o)=>{if(t.gridProps.onContextMenu&&I){const n={target:D.current,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:r,field:o};u(t.gridProps.onContextMenu,n)}t.gridProps.contextMenu&&ee({event:e,dataItem:r,field:o})},tt=e=>{var a,d;if(e.target!==e.currentTarget)return;clearTimeout(xe.current),y.current&&(y.current.table=q.current);const r=e.currentTarget.scrollLeft,o=e.currentTarget.scrollTop;t.gridProps.columnVirtualization&&(!G||o===Se.current)&&(xe.current=window.setTimeout(()=>{J()},0)),t.gridProps.scrollLeftRef&&(t.gridProps.scrollLeftRef.current=r),j.current&&j.current.setScrollLeft(r),B.current&&B.current.setScrollLeft(r),A!=null&&A.current&&A.current.setScrollLeft(r),O!=null&&O.current&&O.current.setScrollLeft(r);const n=(a=t.gridProps.virtualSkipRef)==null?void 0:a.current;y.current&&o!==Se.current&&y.current.scrollHandler(e);const i=G&&((d=t.gridProps.virtualSkipRef)==null?void 0:d.current)!==n;t.gridProps.onScroll&&I&&u(t.gridProps.onScroll,{...w(e)}),Se.current=o,i||_e()},rt=e=>{var o,n;const r=e.target;if((e.keyCode===38||e.keyCode===40)&&r.closest(".k-grid-sticky-container")){const i=parseInt(((o=r.closest("tr"))==null?void 0:o.getAttribute("absolute-row-index"))||"",10),a=r.getAttribute("data-keyboardnavid");if(!isNaN(i)&&a&&!((n=H.current)==null?void 0:n.querySelector(`tr[absolute-row-index="${i}"]`)))return he.current={navId:a,key:e.key,code:e.code,keyCode:e.keyCode},e.preventDefault(),e.stopPropagation(),se({rowIndex:i}),!0}return!1},nt=()=>{var a;if(!he.current||!T.current)return;const{navId:e,key:r,code:o,keyCode:n}=he.current,i=(a=H.current)==null?void 0:a.querySelector(`[data-keyboardnavid="${e}"]`);i&&i.dispatchEvent(new KeyboardEvent("keydown",{key:r,code:o,keyCode:n,bubbles:!0,cancelable:!0}))},ot=e=>{if(rt(e))return;l.tableKeyboardNavigation.onKeyDown(e,{navigatable:t.gridProps.navigatable||!1,contextStateRef:W,navigationStateRef:Q,onNavigationAction:at,columns:oe()}),l.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:F(),contextStateRef:W,navigationStateRef:Q});const r={dataItems:k(),mode:R.mode,cell:R.cell,componentId:t.id,selectedField:"",...w(e)};t.gridProps.onKeyDown&&I&&u(t.gridProps.onKeyDown,r)},it=e=>{l.tableKeyboardNavigation.onFocus(e,{navigatable:!!t.gridProps.navigatable,contextStateRef:W})},at=e=>{const{columnsRef:r}=t;if(e.action==="moveToNextPage"&&St(e.event),e.action==="moveToPrevPage"&&xt(e.event),e.focusElement&&(e.action==="reorderToRight"||e.action==="reorderToLeft")){const o=parseInt(e.focusElement.ariaColIndex,10)-1;if(!r[o].reorderable)return;if(e.action==="reorderToRight"&&o<t.columnsRef.length-1){if(r[o+1].disableReorder)return;ae(o,o+1,e.event)}if(e.action==="reorderToLeft"&&o>0){if(r[o-1].disableReorder)return;ae(o,o-1,e.event)}}if(e.action==="select"&&Pt(e.event),t.gridProps.onNavigationAction&&I){const o={focusElement:e.focusElement,...w(e.event)};u(t.gridProps.onNavigationAction,o)}},ct=(e,r)=>{t.gridProps.onRowClick&&l.closestTagName(e.target,"TD")&&u(t.gridProps.onRowClick,{dataItem:r,...w(e)})},dt=(e,r)=>{t.gridProps.onRowDoubleClick&&l.closestTagName(e.target,"TD")&&u(t.gridProps.onRowDoubleClick,{dataItem:r,...w(e)})},lt=e=>{t.gridProps.onItemChange&&u(t.gridProps.onItemChange,{...w(e.syntheticEvent),dataItem:e.dataItem,field:void 0,value:void 0})},st=e=>{t.gridProps.onItemChange&&t.gridProps.onEditChange&&u(t.gridProps.onEditChange,{edit:{},...w(e.syntheticEvent)})},ut=(e,r,o)=>{if(Je.enabled&&Je.mode==="incell"&&t.gridProps.dataItemKey){const n=l.editReducer(t.gridProps.edit,{type:l.EDIT_ACTION.ENTER_FIELD_EDIT,payload:{id:r[t.gridProps.dataItemKey],field:o}});t.gridProps.onEditChange&&u(t.gridProps.onEditChange,{edit:n,...w(e)})}},gt=(e,r)=>{var n;if(l.getDetailExpandableOptions(t.detailExpandable).enabled){const i=l.detailExpandReducer((n=t.gridProps.detailExpand)!=null?n:{},e);t.gridProps.onDetailExpandChange&&u(t.gridProps.onDetailExpandChange,{...w(r),detailExpand:i})}},ft=(e,r)=>{var n;const o=l.getGroupExpandableOptions(typeof t.gridProps.groupable=="object"?t.gridProps.groupable.expandable!==!1:t.gridProps.groupable);if(o.enabled){const i=l.groupExpandReducer((n=t.gridProps.groupExpand)!=null?n:[],e,o);t.gridProps.onGroupExpandChange&&u(t.gridProps.onGroupExpandChange,{...w(r),groupExpand:i})}pt(e.group)},Ae=(e,r,o)=>{const{allowUnsort:n,mode:i}=Ye.normalizeSortable(t.gridProps.sortable||!1,r.sortable||!1),a=(t.gridProps.sort||[]).filter(f=>f.field===r.field)[0],d=o||Ye.firstLevelSortSeqMap[n][a&&a.dir||""],g=i==="single"?[]:(t.gridProps.sort||[]).filter(f=>f.field!==r.field);d!==""&&r.field&&g.push({field:r.field,dir:d}),Oe(g,e)},mt=e=>{t.gridProps.onItemChange&&u(t.gridProps.onItemChange,{...w(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,value:e.value})},ht=e=>{var r;if(t.gridProps.onSelectionChange&&R.enabled){const{event:o,dataItem:n,dataIndex:i,columnIndex:a}=e,d={...w(o),dataItem:n,startColIndex:a,endColIndex:a,startRowIndex:i,endRowIndex:i,dataItems:k(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:R.mode,cell:R.cell,isDrag:!1,componentId:t.id,selectedField:""};u(t.gridProps.onSelectionChange,{...d,select:t.gridProps.dataItemKey?l.getSelectedState({event:d,selectedState:(r=t.gridProps.select)!=null?r:{},dataItemKey:t.gridProps.dataItemKey}):{}})}},Pt=e=>{var f,P;if(!R.enabled||!t.gridProps.dataItemKey)return;const r={dataItems:k(),mode:R.mode,cell:R.cell,componentId:t.id,selectedField:"",...w(e)},o=l.getSelectedStateFromKeyDown({event:r,selectedState:(f=t.gridProps.select)!=null?f:{},dataItemKey:t.gridProps.dataItemKey});if(o===t.gridProps.select)return;const n=e.target,i=l.closestTagName(n,"TD"),a=l.closestTagName(n,"TR"),d=l.getColumnIndex(i),g=l.getRowIndex(a);if(d!==void 0&&g!==void 0){const h=(P=U.getDataAsArray(t.gridProps.data))==null?void 0:P[g];t.gridProps.onSelectionChange&&u(t.gridProps.onSelectionChange,{...r,select:o,dataItem:h,startRowIndex:g,startColIndex:d,startDataItem:h,endDataItem:h,endRowIndex:g,endColIndex:d,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}},bt=e=>{if(t.gridProps.onHeaderSelectionChange&&R.enabled){const r=k();u(t.gridProps.onHeaderSelectionChange,{select:e.syntheticEvent.target.checked?r.reduce((o,n)=>(t.gridProps.dataItemKey&&C.getter(t.gridProps.dataItemKey)(n)!==void 0&&(o[C.getter(t.gridProps.dataItemKey)(n)]=!0),o),{}):{},field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:D.current,dataItems:r})}},_=(e,r)=>{t.gridProps.onSelectionChange&&R.enabled&&u(t.gridProps.onSelectionChange,{...e,select:r})},Rt=e=>{var r;if(t.gridProps.onSelectionChange&&R.enabled){const o=k()[e.startRowIndex],n=k()[e.endRowIndex],i={syntheticEvent:void 0,target:D.current,selectedField:"",componentId:t.id,dataItems:k(),dataItem:null,startDataItem:o,endDataItem:n,...e},a=l.getSelectedState({event:i,selectedState:(r=t.gridProps.select)!=null?r:{},dataItemKey:t.gridProps.dataItemKey});_(i,a)}},vt=e=>{if(t.gridProps.onSelectionChange&&R.enabled){const r=e.dataItems[0],o=e.dataItems[e.dataItems.length-1],n={},i={...e,startDataItem:r,endDataItem:o,startRowIndex:0,endRowIndex:e.dataItems.length-1,startColIndex:0,endColIndex:t.columnsRef.length-1};e.dataItems.forEach(a=>{const g=C.getter(t.gridProps.dataItemKey)(a);n[g]=e.cell?[...Array(t.columnsRef.length).keys()]:!0}),_(i,n)}},Ct=e=>{if(t.gridProps.onSelectionChange&&R.enabled){const o=C.getter(t.gridProps.dataItemKey)(e.dataItem),n=0,i=t.columnsRef.length-1,a=e.dataItems.findIndex(h=>h[t.gridProps.dataItemKey]===e.dataItem[t.gridProps.dataItemKey]),f={...e,startDataItem:a,endDataItem:a,startRowIndex:a,endRowIndex:a,startColIndex:n,endColIndex:i},P=e.mode==="multiple"?t.gridProps.select||{}:{};P[o]===!0||Array.isArray(P[o])&&P[o].length===t.columnsRef.length?delete P[o]:P[o]=e.cell?[...Array(t.columnsRef.length).keys()]:!0,_(f,P)}},It=e=>{if(!R.enabled)return;const r=k(),o={syntheticEvent:void 0,nativeEvent:void 0,target:D.current,selectedField:"",componentId:t.id,dataItems:r,dataItem:null,startDataItem:null,endDataItem:null,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,mode:R.mode,cell:R.cell};if(!e||e.length===0){const h={...o,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1};_(h,{});return}const n=Ze(t.gridProps.data,e,t.columnsRef,t.gridProps.dataItemKey),i={};Object.keys(n).forEach(h=>{n[h]&&(i[h]=R.cell?[...Array(t.columnsRef.length).keys()]:!0)});let a=-1,d=-1,g=r[0]||null,f=r[r.length-1]||null;if(t.gridProps.dataItemKey){const h=C.getter(t.gridProps.dataItemKey);for(let E=0;E<r.length;E++){const s=h(r[E]);s!==void 0&&n[s]&&(a===-1&&(a=E,g=r[E]),d=E,f=r[E])}}const P={...o,startRowIndex:a,endRowIndex:d,startColIndex:0,endColIndex:t.columnsRef.length-1,startDataItem:g,endDataItem:f};_(P,i)},yt=e=>{t.gridProps.onSelectionChange&&R.enabled&&_(e,{})},$=(e,r,o,n,i)=>{Et();const a=t.gridProps.onDataStateChange;if(e){const d={...w(n),...r,targetEvent:i};u(e,d)}else a&&u(a,{...w(n),targetEvent:i||{},dataState:{...Lt(),...o}})},ie=(e,r,o)=>{var n;G&&t.gridProps.pageable&&((n=y.current)==null||n.reset()),$(t.gridProps.onPageChange,{page:e},{skip:e.skip,take:e.take},r,o)},wt=(e,r,o)=>{var n;t.gridProps.pageable||(n=t.gridProps.group)!=null&&n.length?t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=e.skip,J()):ie(e,r,o)},Pe=()=>{let e=t.gridProps.total||0;return Array.isArray(t.gridProps.data)?e=e||t.gridProps.data.length:t.gridProps.data&&(e=e||t.gridProps.data.total),e},Et=()=>{G&&t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=0)},St=e=>{var i,a;const r=(a=(i=t.gridProps.take)!=null?i:t.gridProps.pageSize)!=null?a:0,o=(t.gridProps.skip||0)+r,n=Pe();o<n&&ie({skip:o,take:r},e)},xt=e=>{var n,i;const r=(i=(n=t.gridProps.take)!=null?n:t.gridProps.pageSize)!=null?i:0,o=(t.gridProps.skip||0)-r;o>=0&&ie({skip:o,take:r},e)},kt=e=>{ie({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},Oe=(e,r)=>{$(t.gridProps.onSortChange,{sort:e},{sort:e,...G&&!t.gridProps.pageable?{skip:0}:{}},r)},Dt=(e,r)=>{$(t.gridProps.onFilterChange,{filter:e},{filter:e,skip:0},r)},Kt=e=>{if(!e||e.length===0){Fe({});return}const r=Ze(t.gridProps.data,e,t.columnsRef,t.gridProps.dataItemKey);Fe({...r})},Fe=e=>{$(t.gridProps.onHighlightChange,{highlight:e},{},{})},Mt=e=>{const r=t.gridProps.searchFields||t.columnsRef.map(i=>i.field)||[],o=e.nativeEvent.target.value,n={logic:"or",filters:r.filter(i=>i!==void 0).map(i=>{var a;return typeof i=="string"?{field:i,value:o,operator:"contains"}:{value:o,operator:(a=i.operator)!=null?a:"contains",field:i.field,ignoreCase:i.ignoreCase}})};$(t.gridProps.onSearchChange,{search:n},{skip:0},e.syntheticEvent)},be=()=>{var e;(e=V.current)==null||e.save()},Le=async()=>{var e;await((e=M.current)==null?void 0:e.save())},ze=()=>{var e;return((e=M.current)==null?void 0:e.getBlob())||null},Gt=async e=>{var r,o;(r=t.gridProps)!=null&&r.onPdfExport&&await((o=t.gridProps)==null?void 0:o.onPdfExport(e))},Ht=e=>{var r,o;return(r=t.gridProps)!=null&&r.onCsvExport?(o=t.gridProps)==null?void 0:o.onCsvExport(e):e},Re=(e,r)=>{const o=r.nativeEvent?r:{nativeEvent:r.nativeEvent||r.originalEvent};let n={};t.isVirtualScroll&&e.length&&!t.gridProps.pageable&&(n={take:void 0}),e.length===0&&t.gridProps.navigatable&&(ye.current=!0),$(t.gridProps.onGroupChange,{group:e},{group:e,skip:0,...n},o)},ve=e=>{if(t.gridProps.onColumnsStateChange){const r={target:D.current,columnsState:e};u(t.gridProps.onColumnsStateChange,r)}},ae=(e,r,o)=>{const{columnsRef:n,columnsState:i}=t,a=n[e],d=U.getFlatColumnsState(i),g=a.depth,f=s=>{do s++;while(s<n.length&&n[s].depth>g);return s},P=n.splice(e,f(e)-e);n.splice(e<r?f(r-P.length):r,0,...P),n.filter(s=>s.declarationIndex>=0).forEach((s,x)=>{s.orderIndex=x;const v=d.find(z=>z.id===s.id);v&&(v.orderIndex=x)});const h=n[e].locked&&n[r].locked;l.updateLeft(t.columnsMapRef,n,h||fe.current),l.updateRight(t.columnsMapRef,n,h||fe.current),Ie.current&&(fe.current=!1,Ie.current=!1);const E=oe();if(J(),t.gridProps.onColumnReorder){const s={target:D.current,columns:E,columnId:a.id,nativeEvent:o};u(t.gridProps.onColumnReorder,s)}ve(i)},te=(e,r,o)=>{const n=typeof t.gridProps.rowReorderable=="object"?t.gridProps.rowReorderable.enabled:t.gridProps.rowReorderable;if(o==="forbidden"||!n||!re.current)return;const i=t.dataRef[r];t.gridProps.onRowReorder&&u(t.gridProps.onRowReorder,{draggedDataItems:[re.current],droppedDataItem:i==null?void 0:i.dataItem,dropPosition:o,nativeEvent:e.originalEvent,dragEvent:e,target:D.current}),re.current=null},Tt=(e,r,o)=>{if(t.gridProps.group===void 0)return;const n=t.gridProps.group.slice();n.splice(r,0,...n.splice(e,1)),Re(n,o)},Ne=(e,r,o)=>{const n=t.columnsRef[e].field;if(!n)return;const i=(t.gridProps.group||[]).slice();i.splice(r,0,{field:n}),Re(i,o)},At=(e,r)=>{const o=N.current.getCurrentGroupsLength;Ne(e,o,r)},Ce=()=>{var o,n,i,a,d,g,f,P,h,E;if(t.gridProps.dataLayoutMode==="stacked"){const s=((o=T.current)==null?void 0:o.offsetWidth)||0;if((n=b.current)!=null&&n.colGroupMain&&s){const x=b.current.colGroupMain.children,v=x.length-1;if(v>=0){let z=0;for(let Z=0;Z<v;Z++){const Me=parseFloat((x[Z].width||0).toString())||x[Z].clientWidth;z+=Me}const Y=Math.max(0,s-z);x[v].width=Y+"px",(a=(i=b.current.colGroupHeader)==null?void 0:i.children)!=null&&a[v]&&(b.current.colGroupHeader.children[v].width=Y+"px"),(g=(d=b.current.colGroupFooter)==null?void 0:d.children)!=null&&g[v]&&(b.current.colGroupFooter.children[v].width=Y+"px"),(P=(f=b.current.colGroupStickyHeader)==null?void 0:f.children)!=null&&P[v]&&(b.current.colGroupStickyHeader.children[v].width=Y+"px"),(E=(h=b.current.colGroupStickyFooter)==null?void 0:h.children)!=null&&E[v]&&(b.current.colGroupStickyFooter.children[v].width=Y+"px")}}j.current&&j.current.setWidth(s),B.current&&B.current.setWidth(s),A.current&&A.current.setWidth(s),O.current&&O.current.setWidth(s),q.current&&(q.current.style.width=s?s+"px":"");return}let e=0;if(!b.current.colGroupMain)return;const r=b.current.colGroupMain.children;for(let s=0;s<r.length;s++){const x=r[s].width;if(!x){e=0;break}e+=parseFloat(x.toString())}e=Math.round(e),j.current&&j.current.setWidth(e),B.current&&B.current.setWidth(e),A.current&&A.current.setWidth(e),O.current&&O.current.setWidth(e),q.current&&(q.current.style.width=e?e+"px":"")},We=()=>{var e;t.gridProps.widthRef&&(t.gridProps.widthRef.current=((e=T.current)==null?void 0:e.offsetWidth)||0)},ce=()=>{var e;t.gridProps.containerHeightRef&&(t.gridProps.containerHeightRef.current=((e=L.current)==null?void 0:e.offsetHeight)||0)},Ot=()=>{const e=t.gridProps.minRowHeightRef;if(e&&!e.current&&!t.gridProps.rowHeight){const r=U.calcRowHeight(H.current);r&&(e.current=r,J())}},de=c.useCallback((e,r,o,n,i)=>{var f;if(!Ft()&&!o||!e)return;const a={type:e,nativeEvent:r,columns:t.columnsRef,dataItemKey:t.gridProps.dataItemKey||"",dataItem:n,field:i,...typeof t.gridProps.clipboard!="boolean"?t.gridProps.clipboard:{},...o},d=k(),g=l.populateClipboardData({event:a,data:d,selectedState:(f=t.gridProps.select)!=null?f:{},previousCopiedItems:Ve.current});e!==l.ClipboardActionType.paste&&(Ve.current=g.copiedItems),t.gridProps.onClipboard&&I&&u(t.gridProps.onClipboard,{...a,...g})},[t.gridProps.select,t.gridProps.dataItemKey,t.gridProps.data,t.gridProps.clipboard,t.gridProps.onClipboard]),Ft=()=>{var i,a,d;if(!C.canUseDOM)return!1;const e=C.getActiveElement(F()),r=e?e.matches(".k-table-td")?e:(i=F())==null?void 0:i.body:(a=F())==null?void 0:a.body,o=r.closest(".k-grid-container"),n=r&&((d=T.current)==null?void 0:d.contains(r));return!!(r&&n&&o)},qe=(e,r,o,n,i,a,d)=>{Ce(),fe.current=!0,Ie.current=!0,t.gridProps.onColumnResize&&I&&u(t.gridProps.onColumnResize,{columns:oe(),nativeEvent:n,targetColumnId:d,index:e,newWidth:r,oldWidth:o,end:i,target:D.current}),i&&ve(a)},Lt=()=>{var e;return{filter:t.gridProps.filter,sort:t.gridProps.sort,skip:t.gridProps.skip,take:(e=t.gridProps.take)!=null?e:t.gridProps.pageSize,group:t.gridProps.group}},w=e=>({nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:D.current}),zt=e=>({...e,nativeEvent:void 0,syntheticEvent:void 0,target:void 0,targetEvent:void 0,focusElement:void 0}),u=(e,r)=>{if(t.gridProps.isClient){e(r);return}e(zt(r))},Nt=()=>{var e,r,o;if(H.current&&((e=H.current)==null?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){Ee.current=!1,(r=document.activeElement)!=null&&r.closest(".k-grid-edit-row")?we.current=document.activeElement:we.current=void 0;const n=Array.from((o=H.current)==null?void 0:o.getElementsByClassName("k-grid-edit-row"));n.length>De.current.length?ge.current=n.filter(i=>!De.current.includes(i))[0]:n.length===1&&(ge.current=n[0],Ee.current=!0),De.current=n}},k=()=>t.dataRef.filter(e=>e.rowType==="data").map(e=>e.dataItem),F=()=>{var e;if(C.canUseDOM)return((e=le())==null?void 0:e.ownerDocument)||document},le=()=>T.current,se=c.useCallback(e=>{var n,i;if(!y.current||!((n=y.current)!=null&&n.container)||t.gridProps.scrollable==="none")return;X.current&&X.current.disconnect();const{rowIndex:r}=e,o=le();if(G){const a=((i=y.current.rowHeightService)==null?void 0:i.offset(r))||0;y.current.container.scroll(0,a)}else if(o){const a=r<1?o.querySelector("tbody > tr:nth-child(1)"):o.querySelector(`tbody > tr:nth-child(${r+1})`);a&&L.current&&(L.current.scrollTop=a.offsetTop)}},[t.gridProps.scrollable]),Be=e=>JSON.stringify(e.map(r=>({id:r.id,field:r.field,title:r.title,children:r.children}))),Wt=()=>Be(rr)===Be(t.columnsRef),qt=()=>{me.current=window.innerWidth,Wt()||J()},Bt=()=>{var a;const{virtualTotal:e,virtualPageSize:r,gridProps:o}=t,n=y.current,i=t.gridProps.rowHeight||((a=o.minRowHeightRef)==null?void 0:a.current)||0;n&&(n.fixedScroll=o.fixedScroll||!1,n.PageChange=wt,n.pageSize=r,n.scrollableVirtual=G,n.container=L.current,n.tableBody=H.current,n.scrollHeightContainer=Ue.current,n.table=q.current,(!n.rowHeightService||n.total!==e)&&i&&(n.total=e,n.rowHeightService=new C.RowHeightService(e,i)))},je=c.useCallback(e=>{const r={rowIndex:ke.current};e.forEach(o=>{o.boundingClientRect.height!==o.intersectionRect.height&&se(r)})},[se]),J=()=>{t.gridProps.forceUpdate&&t.gridProps.forceUpdate()},jt=e=>e.left!==void 0?Ke!=="rtl"?{left:e.left,right:e.right}:{left:e.right,right:e.left}:{},D=c.useRef(null),y=c.useRef(void 0),b=c.useRef(void 0),N=c.useRef(void 0),W=c.useRef(void 0),Q=c.useRef(void 0),ue=c.useRef(void 0),X=c.useRef(null),H=c.useRef(null),Ut=c.useRef(null),L=c.useRef(null),q=c.useRef(null),Vt=c.useRef(null),T=c.useRef(null),Ue=c.useRef(null),B=c.useRef(null),j=c.useRef(null),A=c.useRef(null),O=c.useRef(null),Ie=c.useRef(!1),ye=c.useRef(!1),ge=c.useRef(void 0),we=c.useRef(void 0),Ee=c.useRef(!1),fe=c.useRef(!0),Se=c.useRef(0),xe=c.useRef(void 0),ke=c.useRef(void 0),De=c.useRef([]),Ve=c.useRef([]),me=c.useRef(0),he=c.useRef(null),_t=typeof t.gridProps.groupable=="object"&&!!t.gridProps.groupable.stickyHeaders,$t=typeof t.gridProps.groupable=="object"&&!!t.gridProps.groupable.stickyFooters,Jt=!!((Qe=t.gridProps.group)!=null&&Qe.length),{stickyHeaderItems:Qt,stickyHeaderRef:Xt,stickyFooterItems:Yt,stickyFooterRef:Zt,scrollToStickyGroup:pt,update:_e}=lr.useStickyGroups({enabled:_t,enabledFooters:$t,flatData:t.dataRef,containerRef:L,tableBodyRef:H,rowHeight:t.gridProps.rowHeight,isGrouped:Jt,virtualSkipRef:t.gridProps.virtualSkipRef,rowHeightServiceRef:{get current(){var e;return(e=y.current)==null?void 0:e.rowHeightService}}}),re=c.useRef(null),er=c.useRef(null),tr=c.useRef(null),Ke=C.useDir(T),G=t.isVirtualScroll,rr=c.useMemo(()=>c.Children.toArray(t.gridProps.children),[t.gridProps.children]),$e=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1,R=l.getSelectionOptions(t.gridProps.selectable),Je=l.getEditableOptions(t.gridProps.editable),nr=me.current&&p&&me.current<=p.medium&&t.gridProps.adaptive;return c.useMemo(()=>{l.tableKeyboardNavigation.onConstructor({navigatable:!!t.gridProps.navigatable,contextStateRef:W,navigationStateRef:Q,idPrefix:t.id}),y.current=new sr.VirtualScroll},[]),c.useMemo(()=>{var e;(e=y.current)==null||e.reset()},[t.gridProps.scrollable,t.gridProps.total,t.gridProps.filter,t.gridProps.group,$e,t.gridProps.sort,t.gridProps.rowHeight]),c.useEffect(()=>(t.gridProps.clipboard&&(ue.current=new l.ClipboardService(de),ue.current.addEventListeners(F())),()=>{ue.current&&ue.current.removeEventListeners(F())}),[t.gridProps.onClipboard,t.gridProps.clipboard,de,F]),c.useEffect(()=>(We(),Ce(),C.setScrollbarWidth(),l.tableKeyboardNavigation.onComponentDidMount({scope:T.current||void 0,contextStateRef:W,navigationStateRef:Q}),()=>{clearTimeout(xe.current)}),[]),c.useEffect(()=>{var e;We(),Ce(),C.setScrollbarWidth(),G&&(ce(),Ot(),(e=y.current)==null||e.update()),_e(),Nt(),l.tableKeyboardNavigation.onComponentDidUpdate({scope:T.current||void 0,contextStateRef:W,navigationStateRef:Q,focusFirst:ye.current,newEditableRow:ge.current,singleEditRow:Ee.current,lastActiveElement:we.current,navigatable:t.gridProps.navigatable}),nt(),ye.current=!1,ge.current=void 0,he.current=void 0}),c.useEffect(()=>{if(C.canUseDOM){const e={rootMargin:"0px",threshold:.9};X.current=window.IntersectionObserver&&new window.IntersectionObserver(je,e)||null}},[je]),c.useEffect(()=>{var r;let e;return C.canUseDOM&&window.ResizeObserver&&(e=new window.ResizeObserver(()=>{qt(),G&&ce()}),e.observe((r=F())==null?void 0:r.body)),()=>{e==null||e.disconnect()}},[]),c.useEffect(()=>{if(!C.canUseDOM||!window.ResizeObserver||!G||!L.current)return;const e=()=>{var i,a;const o=((i=t.gridProps.containerHeightRef)==null?void 0:i.current)||0;ce();const n=((a=t.gridProps.containerHeightRef)==null?void 0:a.current)||0;(o===0&&n>0||Math.abs(n-o)>10)&&J()},r=new window.ResizeObserver(e);return r.observe(L.current),()=>{r.disconnect()}},[G,ce]),c.useImperativeHandle(D,()=>({get element(){return le()},props:t.gridProps,get columns(){return oe()},scrollIntoView:e=>{var n;if(!((n=y.current)!=null&&n.container)||t.gridProps.scrollable==="none")return;const{rowIndex:r}=e;ke.current=r;const o=le();if(X.current&&o){X.current.disconnect();const i=o.querySelector(`[absolute-row-index="${ke.current}"]`);i?X.current.observe(i):se(e)}},fitColumns:e=>{b.current.dblClickHandler(null,e)},exportAsPdf:be,saveAsCsv:Le,getCsvBlob:ze,getTotal:Pe,getLeafDataItems:k})),c.useImperativeHandle(t.gridRef,()=>D.current),c.useMemo(()=>{b.current=new cr.ColumnResize(qe)},[t.gridProps.onColumnResize,t.columnsRef]),c.useMemo(()=>{N.current=new dr.CommonDragLogic(ae,Tt,Ne)},[t.gridProps.onColumnReorder,t.gridProps.onGroupChange,t.gridProps.group,t.columnsRef,t.gridProps.groupable]),b.current.resizable=t.gridProps.resizable||!1,b.current.columns=t.columnsRef,b.current.columnsState=C.cloneArray(t.columnsState),N.current.reorderable=t.gridProps.reorderable||!1,N.current.groupable=$e,N.current.columns=t.columnsRef,N.current.dir=Ke,Bt(),c.createElement(mr.GridContext.Provider,{value:{isClient:I,rowReorder:te,activeDragRowDataItemRef:re,reorderRowDragTargetRef:er,reorderRowDropTargetRef:tr,dir:Ke,getCellPositionStyle:jt,dataItemKey:t.gridProps.dataItemKey,columnsState:t.columnsState,columnsRef:t.columnsRef,hiddenColumnsRef:t.hiddenColumnsRef,onColumnsStateChange:ve,groupable:t.gridProps.groupable,group:t.gridProps.group,reorderable:t.gridProps.reorderable,defaultGroup:t.gridProps.defaultGroup,groupChange:Re,selectionRelease:Rt,pagerPageChange:kt,onContextMenu:et,rowClick:ct,rowDblClick:dt,cellClick:ut,headerCellClick:Ae,itemChange:mt,onDialogEditCancel:st,onDialogEditSubmit:lt,columnReorder:ae,onResize:qe,getTotal:Pe,sortable:t.gridProps.sortable,pageable:t.gridProps.pageable,pageSize:t.gridProps.pageSize,sort:t.gridProps.sort,skip:t.gridProps.skip,take:t.gridProps.take,defaultSort:t.gridProps.defaultSort,sortChange:Oe,filterable:t.gridProps.filterable,filter:t.gridProps.filter,defaultFilter:t.gridProps.defaultFilter,filterOperators:t.gridProps.filterOperators||hr.operators,getLeafDataItems:k,filterChange:Dt,applyHighlightDescriptor:Kt,applySelectionDescriptor:It,highlight:t.gridProps.highlight,select:t.gridProps.select,searchChange:Mt,exportAsPdf:be,exportAsCsv:Le,getCsvBlob:ze,onHeaderSelectionChange:bt,columnGroupChange:At,onKeyDown:ot,onFocus:it,scrollHandler:tt,selectionChange:ht,mobileMode:nr,adaptiveColumnMenuRef:me.current,adpativeTitle:t.gridProps.adaptiveTitle,adaptive:t.gridProps.adaptive,dispatchDetailExpand:gt,dispatchGroupExpand:ft,columnResizeRef:b,dragLogicRef:N,navigationStateRef:Q,tableElementRef:q,tableBodyElementRef:H,headerElementRef:Ut,containerElementRef:L,headTableElementRef:Vt,elementRef:T,virtualScrollHeightContainerRef:Ue,footerRef:B,headerRef:j,vsRef:y,stickyHeaderItems:Qt,stickyHeaderRef:Xt,stickyFooterItems:Yt,stickyFooterRef:Zt,stickyHeaderTableRef:A,stickyFooterTableRef:O}},c.createElement(l.TableKeyboardNavigationContext.Provider,{value:W.current},t.children),c.createElement(ur.GridContextMenu,{show:m.show&&(ne==null?void 0:ne.length),dataItem:m.dataItem,field:m.field,items:ne,offset:m.offset,onClose:Ge,onSelect:pe}),t.gridProps.pdf&&c.createElement(gr.BasePDFExport,{gridProps:t.gridProps,innerGrid:t.innerGrid,pdf:typeof t.gridProps.pdf=="object"?t.gridProps.pdf:{},onPdfExport:Gt,ref:e=>V.current=e}),t.gridProps.csv&&c.createElement(fr.BaseCSVExport,{gridProps:t.gridProps,csv:typeof t.gridProps.csv=="object"?t.gridProps.csv:{},onCsvExport:Ht,columnsState:t.columnsState,ref:e=>M.current=e}))};exports.GridClientWrapper=Rr;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const bn=require("react"),I=require("@progress/kendo-react-common"),Rn=require("@progress/kendo-data-query"),l=require("@progress/kendo-react-data-tools"),Cn=require("./drag/ColumnResize.js"),vn=require("./drag/CommonDragLogic.js"),In=require("./hooks/useStickyGroups.js"),Z=require("./utils/index.js"),yn=require("./VirtualScroll.js"),rt=require("./contextMenu/GridContextMenu.js"),re=require("./contextMenu/enums.js"),ot=require("./sortCommon.js"),wn=require("./BasePDFExport.js"),En=require("./BaseCSVExport.js"),Sn=require("./utils/GridContext.js"),xn=require("./filterCommon.js");function kn(t){const y=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const h in t)if(h!=="default"){const K=Object.getOwnPropertyDescriptor(t,h);Object.defineProperty(y,h,K.get?K:{enumerable:!0,get:()=>t[h]})}}return y.default=t,Object.freeze(y)}const c=kn(bn),Dn=(t,y,h,K)=>{const oe=Object.keys(y.cells).map(G=>h.findIndex(ie=>ie.field===G)),J=Object.keys(y.cells).length>0?oe:!0;return t.reduce((G,ie)=>(G[ie[K!=null?K:"id"]]=J,G),{})},it=(t,y,h,K)=>y.reduce((J,G)=>({...J,...Dn(Rn.filterBy(t,G),G,h,K)}),{}),Kn=t=>{var nt;const y=t.gridProps.isClient,[h,K]=c.useState({}),oe=I.useAdaptiveModeContext(),J=c.useRef(null),G=c.useRef(null),ie=e=>{e.event.preventDefault(),K({...h,show:!0,offset:{left:e.event.pageX,top:e.event.pageY},dataItem:e.dataItem,field:e.field})},Le=()=>{K({})},at=e=>{const n=t.gridProps.dataItemKey||"",o=h.dataItem,r=t.gridProps.pinnedTopRows||[],i=t.gridProps.pinnedBottomRows||[],a=n?o[n]:void 0,d=a!==void 0&&r.some(s=>s[n]===a),u=a!==void 0&&i.some(s=>s[n]===a);return e.map(s=>{const g=typeof s=="string"?rt.contextMenuItemsMap[s]:s;return(g==null?void 0:g.name)===re.GridContextMenuItemNames.pinRow&&g.items?{...g,items:g.items.filter(P=>P.name===re.GridContextMenuItemNames.pinTop?!d:P.name===re.GridContextMenuItemNames.pinBottom?!u:P.name===re.GridContextMenuItemNames.unpin?d||u:!0)}:s})},x=c.useMemo(()=>t.columnsRef.find(e=>e.field===h.field),[t.columnsRef,h]),Be=c.useMemo(()=>{const e=t.gridProps.sortable&&(x==null?void 0:x.sortable);return Z.getDefaultHeadContextMenuItems({pdf:!!t.gridProps.pdf,sortable:!!e,selectable:l.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard})},[x,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),Ne=c.useMemo(()=>(t.gridProps.sortable&&(x==null||x.sortable),Z.getDefaultBodyContextMenuItems({pdf:!!t.gridProps.pdf,selectable:l.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard,rowReorderable:Z.isRowReorderEnabled(t.gridProps.rowReorderable),pinnable:!!t.gridProps.pinnable})),[x,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard,t.gridProps.pinnable,t.gridProps.rowReorderable,t.gridProps.pdf]),de=c.useMemo(()=>{const e=(x==null?void 0:x.contextMenu)||t.gridProps.contextMenu,n=typeof e=="function"?e(h):e;if(n&&h.offset){const o=h.dataItem?re.GridContextMenuAnchorPart.body:re.GridContextMenuAnchorPart.head,r=n[o],i=h.dataItem?Ne:Be;let a;return r===!0||r===void 0?a=i:r!==!1&&(a=r),t.gridProps.pinnable&&a&&h.dataItem?at(a):a}},[t.gridProps.contextMenu,t.gridProps.pinnable,h,Ne,Be,x]),ct=e=>{var d,u,s,g,P,S,R,q,f;const n=e.event.item,o={target:D.current,syntheticEvent:e.event.syntheticEvent,nativeEvent:e.event.nativeEvent,menuItem:n,...e};t.gridProps.onContextMenuItemClick&&m(t.gridProps.onContextMenuItemClick,o);const r=M(),i={selectedField:"",componentId:t.id,dataItems:r,dataItem:e.dataItem,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,...l.getSelectionOptions(t.gridProps.selectable),...o},a=r.findIndex(k=>k===e.dataItem);switch((d=n.data)==null?void 0:d.action){case"SortCommand":if(x){const k=(u=n.name)==null?void 0:u.toLowerCase().includes("asc"),$=((s=n.name)==null?void 0:s.toLowerCase().includes("desc"))?"desc":void 0,W=k?"asc":$,ne=n.name?W:void 0;We(e.event.syntheticEvent,x,ne)}break;case"SelectRowCommand":Kt(i);break;case"SelectAllRowsCommand":Dt(i);break;case"ExportPDFCommand":Ee();break;case"ClearSelectionCommand":Mt(i);break;case"ReorderRowCommand":ce.current=e.dataItem,(g=n.name)!=null&&g.toLowerCase().includes("rowup")&&a>0&&ae(e.event.syntheticEvent,a-1,"before"),(P=n.name)!=null&&P.toLowerCase().includes("rowdown")&&a<r.length-1&&ae(e.event.syntheticEvent,a+1,"after"),(S=n.name)!=null&&S.toLowerCase().includes("rowtop")&&ae(e.event.syntheticEvent,0,"before"),(R=n.name)!=null&&R.toLowerCase().includes("rowbottom")&&ae(e.event.syntheticEvent,r.length-1,"after");break;case"CopySelectionCommand":me(l.ClipboardActionType.copy,e.event.nativeEvent,{copyHeaders:!((q=n.name)!=null&&q.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break;case"PasteCommand":me(l.ClipboardActionType.paste,e.event.nativeEvent,{copyHeaders:!((f=n.name)!=null&&f.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break;case"PinTopCommand":le("pinTop",e.dataItem);break;case"PinBottomCommand":le("pinBottom",e.dataItem);break;case"UnpinCommand":le("unpin",e.dataItem);break}Le()},se=()=>{const e=t.columnsRef.filter(n=>n.declarationIndex>=0&&n.parentIndex===-1);return Z.sanitizeColumns(e)},dt=(e,n,o)=>{if(t.gridProps.onContextMenu&&y){const r={target:D.current,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:n,field:o};m(t.gridProps.onContextMenu,r)}t.gridProps.contextMenu&&ie({event:e,dataItem:n,field:o})},st=e=>{var a,d;if(e.target!==e.currentTarget)return;clearTimeout(He.current),w.current&&(w.current.table=U.current);const n=e.currentTarget.scrollLeft,o=e.currentTarget.scrollTop;t.gridProps.columnVirtualization&&(!T||o===Te.current)&&(He.current=window.setTimeout(()=>{Y()},0)),t.gridProps.scrollLeftRef&&(t.gridProps.scrollLeftRef.current=n),_.current&&_.current.setScrollLeft(n),V.current&&V.current.setScrollLeft(n),F!=null&&F.current&&F.current.setScrollLeft(n),L!=null&&L.current&&L.current.setScrollLeft(n),B!=null&&B.current&&B.current.setScrollLeft(n),N!=null&&N.current&&N.current.setScrollLeft(n);const r=(a=t.gridProps.virtualSkipRef)==null?void 0:a.current;w.current&&o!==Te.current&&w.current.scrollHandler(e);const i=T&&((d=t.gridProps.virtualSkipRef)==null?void 0:d.current)!==r;t.gridProps.onScroll&&y&&m(t.gridProps.onScroll,{...E(e)}),Te.current=o,i||Ye()},lt=e=>{var o,r;const n=e.target;if((e.keyCode===38||e.keyCode===40)&&n.closest(".k-grid-sticky-container")){const i=parseInt(((o=n.closest("tr"))==null?void 0:o.getAttribute("absolute-row-index"))||"",10),a=n.getAttribute("data-keyboardnavid");if(!isNaN(i)&&a&&!((r=H.current)==null?void 0:r.querySelector(`tr[absolute-row-index="${i}"]`)))return Ie.current={navId:a,key:e.key,code:e.code,keyCode:e.keyCode},e.preventDefault(),e.stopPropagation(),he({rowIndex:i}),!0}return!1},ut=()=>{var a;if(!Ie.current||!O.current)return;const{navId:e,key:n,code:o,keyCode:r}=Ie.current,i=(a=H.current)==null?void 0:a.querySelector(`[data-keyboardnavid="${e}"]`);i&&i.dispatchEvent(new KeyboardEvent("keydown",{key:n,code:o,keyCode:r,bubbles:!0,cancelable:!0}))},gt=e=>{if(lt(e))return;l.tableKeyboardNavigation.onKeyDown(e,{navigatable:t.gridProps.navigatable||!1,contextStateRef:j,navigationStateRef:ee,onNavigationAction:mt,columns:se()}),l.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:z(),contextStateRef:j,navigationStateRef:ee});const n={dataItems:M(),mode:v.mode,cell:v.cell,componentId:t.id,selectedField:"",...E(e)};t.gridProps.onKeyDown&&y&&m(t.gridProps.onKeyDown,n)},ft=e=>{l.tableKeyboardNavigation.onFocus(e,{navigatable:!!t.gridProps.navigatable,contextStateRef:j})},mt=e=>{const{columnsRef:n}=t;if(e.action==="moveToNextPage"&&At(e.event),e.action==="moveToPrevPage"&&Ot(e.event),e.focusElement&&(e.action==="reorderToRight"||e.action==="reorderToLeft")){const o=parseInt(e.focusElement.ariaColIndex,10)-1;if(!n[o].reorderable)return;if(e.action==="reorderToRight"&&o<t.columnsRef.length-1){if(n[o+1].disableReorder)return;ge(o,o+1,e.event)}if(e.action==="reorderToLeft"&&o>0){if(n[o-1].disableReorder)return;ge(o,o-1,e.event)}}if(e.action==="select"&&St(e.event),t.gridProps.onNavigationAction&&y){const o={focusElement:e.focusElement,...E(e.event)};m(t.gridProps.onNavigationAction,o)}},Pt=(e,n)=>{t.gridProps.onRowClick&&l.closestTagName(e.target,"TD")&&m(t.gridProps.onRowClick,{dataItem:n,...E(e)})},ht=(e,n)=>{t.gridProps.onRowDoubleClick&&l.closestTagName(e.target,"TD")&&m(t.gridProps.onRowDoubleClick,{dataItem:n,...E(e)})},bt=e=>{t.gridProps.onItemChange&&m(t.gridProps.onItemChange,{...E(e.syntheticEvent),dataItem:e.dataItem,field:void 0,value:void 0})},Rt=e=>{t.gridProps.onItemChange&&t.gridProps.onEditChange&&m(t.gridProps.onEditChange,{edit:{},...E(e.syntheticEvent)})},Ct=(e,n,o)=>{var r,i;if(tt.enabled&&tt.mode==="incell"&&t.gridProps.dataItemKey){if(t.gridProps.pinnable&&t.gridProps.editZoneRef){const d=!!((i=(r=e.target).closest)!=null&&i.call(r,".k-grid-pinned-container"));t.gridProps.editZoneRef.current=d?"pinned":"body"}const a=l.editReducer(t.gridProps.edit,{type:l.EDIT_ACTION.ENTER_FIELD_EDIT,payload:{id:n[t.gridProps.dataItemKey],field:o}});t.gridProps.onEditChange&&m(t.gridProps.onEditChange,{edit:a,...E(e)})}},vt=(e,n)=>{var r;if(l.getDetailExpandableOptions(t.detailExpandable).enabled){const i=l.detailExpandReducer((r=t.gridProps.detailExpand)!=null?r:{},e);t.gridProps.onDetailExpandChange&&m(t.gridProps.onDetailExpandChange,{...E(n),detailExpand:i})}},It=(e,n)=>{var r;const o=l.getGroupExpandableOptions(typeof t.gridProps.groupable=="object"?t.gridProps.groupable.expandable!==!1:t.gridProps.groupable);if(o.enabled){const i=l.groupExpandReducer((r=t.gridProps.groupExpand)!=null?r:[],e,o);t.gridProps.onGroupExpandChange&&m(t.gridProps.onGroupExpandChange,{...E(n),groupExpand:i})}un(e.group)},yt=c.useCallback(e=>{const{dataItemKey:n="",pinnedTopRows:o=[],pinnedBottomRows:r=[]}=t.gridProps;if(!n||!e)return"none";const i=e[n];return o!=null&&o.some(a=>a[n]===i)?"top":r!=null&&r.some(a=>a[n]===i)?"bottom":"none"},[t.gridProps.pinnedTopRows,t.gridProps.pinnedBottomRows,t.gridProps.dataItemKey]),le=(e,n)=>{if(!t.gridProps.pinnable)return;const{dataItemKey:o="",pinnedTopRows:r=[],pinnedBottomRows:i=[]}=t.gridProps,a=n[o],d=r.filter(g=>g[o]!==a),u=i.filter(g=>g[o]!==a);let s;switch(e){case"pinTop":s={pinnedTopRows:[...d,n],pinnedBottomRows:u,dataItem:n};break;case"pinBottom":s={pinnedTopRows:d,pinnedBottomRows:[...u,n],dataItem:n};break;case"unpin":s={pinnedTopRows:d,pinnedBottomRows:u,dataItem:n};break;default:return}t.gridProps.onRowPinChange&&m(t.gridProps.onRowPinChange,s)},We=(e,n,o)=>{const{allowUnsort:r,mode:i}=ot.normalizeSortable(t.gridProps.sortable||!1,n.sortable||!1),a=(t.gridProps.sort||[]).filter(s=>s.field===n.field)[0],d=o||ot.firstLevelSortSeqMap[r][a&&a.dir||""],u=i==="single"?[]:(t.gridProps.sort||[]).filter(s=>s.field!==n.field);d!==""&&n.field&&u.push({field:n.field,dir:d}),qe(u,e)},wt=e=>{t.gridProps.onItemChange&&m(t.gridProps.onItemChange,{...E(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,value:e.value})},Et=e=>{var n;if(t.gridProps.onSelectionChange&&v.enabled){const{event:o,dataItem:r,dataIndex:i,columnIndex:a}=e,d={...E(o),dataItem:r,startColIndex:a,endColIndex:a,startRowIndex:i,endRowIndex:i,dataItems:M(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:v.mode,cell:v.cell,isDrag:!1,componentId:t.id,selectedField:""};m(t.gridProps.onSelectionChange,{...d,select:t.gridProps.dataItemKey?l.getSelectedState({event:d,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey}):{}})}},St=e=>{var s,g;if(!v.enabled||!t.gridProps.dataItemKey)return;const n={dataItems:M(),mode:v.mode,cell:v.cell,componentId:t.id,selectedField:"",...E(e)},o=l.getSelectedStateFromKeyDown({event:n,selectedState:(s=t.gridProps.select)!=null?s:{},dataItemKey:t.gridProps.dataItemKey});if(o===t.gridProps.select)return;const r=e.target,i=l.closestTagName(r,"TD"),a=l.closestTagName(r,"TR"),d=l.getColumnIndex(i),u=l.getRowIndex(a);if(d!==void 0&&u!==void 0){const P=(g=Z.getDataAsArray(t.gridProps.data))==null?void 0:g[u];t.gridProps.onSelectionChange&&m(t.gridProps.onSelectionChange,{...n,select:o,dataItem:P,startRowIndex:u,startColIndex:d,startDataItem:P,endDataItem:P,endRowIndex:u,endColIndex:d,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}},xt=e=>{if(t.gridProps.onHeaderSelectionChange&&v.enabled){const n=M();m(t.gridProps.onHeaderSelectionChange,{select:e.syntheticEvent.target.checked?n.reduce((o,r)=>(t.gridProps.dataItemKey&&I.getter(t.gridProps.dataItemKey)(r)!==void 0&&(o[I.getter(t.gridProps.dataItemKey)(r)]=!0),o),{}):{},field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:D.current,dataItems:n})}},Q=(e,n)=>{t.gridProps.onSelectionChange&&v.enabled&&m(t.gridProps.onSelectionChange,{...e,select:n})},kt=(e,n)=>{const o=t.gridProps.dataItemKey;if(!o||!n)return;const r=I.getter(o),i=M().findIndex(a=>r(a)===r(n));i!==-1&&ze({...e,startRowIndex:i,endRowIndex:i})},ze=e=>{var n;if(t.gridProps.onSelectionChange&&v.enabled){const o=M(),r=o[e.startRowIndex],i=o[e.endRowIndex],a={syntheticEvent:void 0,target:D.current,selectedField:"",componentId:t.id,dataItems:o,dataItem:null,startDataItem:r,endDataItem:i,...e},d=l.getSelectedState({event:a,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey});Q(a,d)}},Dt=e=>{if(t.gridProps.onSelectionChange&&v.enabled){const n=e.dataItems[0],o=e.dataItems[e.dataItems.length-1],r={},i={...e,startDataItem:n,endDataItem:o,startRowIndex:0,endRowIndex:e.dataItems.length-1,startColIndex:0,endColIndex:t.columnsRef.length-1};e.dataItems.forEach(a=>{const u=I.getter(t.gridProps.dataItemKey)(a);r[u]=e.cell?[...Array(t.columnsRef.length).keys()]:!0}),Q(i,r)}},Kt=e=>{if(t.gridProps.onSelectionChange&&v.enabled){const o=I.getter(t.gridProps.dataItemKey)(e.dataItem),r=0,i=t.columnsRef.length-1,a=e.dataItems.findIndex(P=>P[t.gridProps.dataItemKey]===e.dataItem[t.gridProps.dataItemKey]),s={...e,startDataItem:a,endDataItem:a,startRowIndex:a,endRowIndex:a,startColIndex:r,endColIndex:i},g=e.mode==="multiple"?t.gridProps.select||{}:{};g[o]===!0||Array.isArray(g[o])&&g[o].length===t.columnsRef.length?delete g[o]:g[o]=e.cell?[...Array(t.columnsRef.length).keys()]:!0,Q(s,g)}},Gt=e=>{if(!v.enabled)return;const n=M(),o={syntheticEvent:void 0,nativeEvent:void 0,target:D.current,selectedField:"",componentId:t.id,dataItems:n,dataItem:null,startDataItem:null,endDataItem:null,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,mode:v.mode,cell:v.cell};if(!e||e.length===0){const P={...o,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1};Q(P,{});return}const r=it(t.gridProps.data,e,t.columnsRef,t.gridProps.dataItemKey),i={};Object.keys(r).forEach(P=>{r[P]&&(i[P]=v.cell?[...Array(t.columnsRef.length).keys()]:!0)});let a=-1,d=-1,u=n[0]||null,s=n[n.length-1]||null;if(t.gridProps.dataItemKey){const P=I.getter(t.gridProps.dataItemKey);for(let S=0;S<n.length;S++){const R=P(n[S]);R!==void 0&&r[R]&&(a===-1&&(a=S,u=n[S]),d=S,s=n[S])}}const g={...o,startRowIndex:a,endRowIndex:d,startColIndex:0,endColIndex:t.columnsRef.length-1,startDataItem:u,endDataItem:s};Q(g,i)},Mt=e=>{t.gridProps.onSelectionChange&&v.enabled&&Q(e,{})},X=(e,n,o,r,i)=>{Ht();const a=t.gridProps.onDataStateChange;if(e){const d={...E(r),...n,targetEvent:i};m(e,d)}else a&&m(a,{...E(r),targetEvent:i||{},dataState:{..._t(),...o}})},ue=(e,n,o)=>{var r;T&&t.gridProps.pageable&&((r=w.current)==null||r.reset()),X(t.gridProps.onPageChange,{page:e},{skip:e.skip,take:e.take},n,o)},Tt=(e,n,o)=>{var r;t.gridProps.pageable||(r=t.gridProps.group)!=null&&r.length?t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=e.skip,Y()):ue(e,n,o)},we=()=>{let e=t.gridProps.total||0;return Array.isArray(t.gridProps.data)?e=e||t.gridProps.data.length:t.gridProps.data&&(e=e||t.gridProps.data.total),e},Ht=()=>{T&&t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=0)},At=e=>{var i,a;const n=(a=(i=t.gridProps.take)!=null?i:t.gridProps.pageSize)!=null?a:0,o=(t.gridProps.skip||0)+n,r=we();o<r&&ue({skip:o,take:n},e)},Ot=e=>{var r,i;const n=(i=(r=t.gridProps.take)!=null?r:t.gridProps.pageSize)!=null?i:0,o=(t.gridProps.skip||0)-n;o>=0&&ue({skip:o,take:n},e)},Ft=e=>{ue({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},qe=(e,n)=>{X(t.gridProps.onSortChange,{sort:e},{sort:e,...T&&!t.gridProps.pageable?{skip:0}:{}},n)},Lt=(e,n)=>{X(t.gridProps.onFilterChange,{filter:e},{filter:e,skip:0},n)},Bt=e=>{if(!e||e.length===0){pe({});return}const n=it(t.gridProps.data,e,t.columnsRef,t.gridProps.dataItemKey);pe({...n})},pe=e=>{X(t.gridProps.onHighlightChange,{highlight:e},{},{})},Nt=e=>{const n=t.gridProps.searchFields||t.columnsRef.map(i=>i.field)||[],o=e.nativeEvent.target.value,r={logic:"or",filters:n.filter(i=>i!==void 0).map(i=>{var a;return typeof i=="string"?{field:i,value:o,operator:"contains"}:{value:o,operator:(a=i.operator)!=null?a:"contains",field:i.field,ignoreCase:i.ignoreCase}})};X(t.gridProps.onSearchChange,{search:r},{skip:0},e.syntheticEvent)},Ee=()=>{var e;(e=J.current)==null||e.save()},je=async()=>{var e;await((e=G.current)==null?void 0:e.save())},Ue=()=>{var e;return((e=G.current)==null?void 0:e.getBlob())||null},Wt=async e=>{var n,o;(n=t.gridProps)!=null&&n.onPdfExport&&await((o=t.gridProps)==null?void 0:o.onPdfExport(e))},zt=e=>{var n,o;return(n=t.gridProps)!=null&&n.onCsvExport?(o=t.gridProps)==null?void 0:o.onCsvExport(e):e},Se=(e,n)=>{const o=n.nativeEvent?n:{nativeEvent:n.nativeEvent||n.originalEvent};let r={};t.isVirtualScroll&&e.length&&!t.gridProps.pageable&&(r={take:void 0}),e.length===0&&t.gridProps.navigatable&&(Ke.current=!0),X(t.gridProps.onGroupChange,{group:e},{group:e,skip:0,...r},o)},xe=e=>{if(t.gridProps.onColumnsStateChange){const n={target:D.current,columnsState:e};m(t.gridProps.onColumnsStateChange,n)}},ge=(e,n,o)=>{const{columnsRef:r,columnsState:i}=t,a=r[e],d=Z.getFlatColumnsState(i),u=a.depth,s=R=>{do R++;while(R<r.length&&r[R].depth>u);return R},g=r.splice(e,s(e)-e);r.splice(e<n?s(n-g.length):n,0,...g),r.filter(R=>R.declarationIndex>=0).forEach((R,q)=>{R.orderIndex=q;const f=d.find(k=>k.id===R.id);f&&(f.orderIndex=q)});const P=r[e].locked&&r[n].locked;l.updateLeft(t.columnsMapRef,r,P||Ce.current),l.updateRight(t.columnsMapRef,r,P||Ce.current),De.current&&(Ce.current=!1,De.current=!1);const S=se();if(Y(),t.gridProps.onColumnReorder){const R={target:D.current,columns:S,columnId:a.id,nativeEvent:o};m(t.gridProps.onColumnReorder,R)}xe(i)},ae=(e,n,o)=>{const r=typeof t.gridProps.rowReorderable=="object"?t.gridProps.rowReorderable.enabled:t.gridProps.rowReorderable;if(o==="forbidden"||!r||!ce.current)return;const i=t.dataRef[n];t.gridProps.onRowReorder&&m(t.gridProps.onRowReorder,{draggedDataItems:[ce.current],droppedDataItem:i==null?void 0:i.dataItem,dropPosition:o,nativeEvent:e.originalEvent,dragEvent:e,target:D.current}),ce.current=null},qt=(e,n,o)=>{if(t.gridProps.group===void 0)return;const r=t.gridProps.group.slice();r.splice(n,0,...r.splice(e,1)),Se(r,o)},Ve=(e,n,o)=>{const r=t.columnsRef[e].field;if(!r)return;const i=(t.gridProps.group||[]).slice();i.splice(n,0,{field:r}),Se(i,o)},pt=(e,n)=>{const o=p.current.getCurrentGroupsLength;Ve(e,o,n)},ke=()=>{var e,n,o,r,i,a,d,u,s,g,P,S,R,q;if(t.gridProps.dataLayoutMode==="stacked"){const f=((e=O.current)==null?void 0:e.offsetWidth)||0;if((n=b.current)!=null&&n.colGroupMain&&f){const k=b.current.colGroupMain.children,C=k.length-1;if(C>=0){let $=0;for(let ne=0;ne<C;ne++){const hn=parseFloat((k[ne].width||0).toString())||k[ne].clientWidth;$+=hn}const W=Math.max(0,f-$);k[C].width=W+"px",(r=(o=b.current.colGroupHeader)==null?void 0:o.children)!=null&&r[C]&&(b.current.colGroupHeader.children[C].width=W+"px"),(a=(i=b.current.colGroupFooter)==null?void 0:i.children)!=null&&a[C]&&(b.current.colGroupFooter.children[C].width=W+"px"),(u=(d=b.current.colGroupStickyHeader)==null?void 0:d.children)!=null&&u[C]&&(b.current.colGroupStickyHeader.children[C].width=W+"px"),(g=(s=b.current.colGroupStickyFooter)==null?void 0:s.children)!=null&&g[C]&&(b.current.colGroupStickyFooter.children[C].width=W+"px"),(S=(P=b.current.colGroupPinnedTop)==null?void 0:P.children)!=null&&S[C]&&(b.current.colGroupPinnedTop.children[C].width=W+"px"),(q=(R=b.current.colGroupPinnedBottom)==null?void 0:R.children)!=null&&q[C]&&(b.current.colGroupPinnedBottom.children[C].width=W+"px")}}_.current&&_.current.setWidth(f),V.current&&V.current.setWidth(f),F.current&&F.current.setWidth(f),L.current&&L.current.setWidth(f),B.current&&B.current.setWidth(f),N.current&&N.current.setWidth(f),U.current&&(U.current.style.width=f?f+"px":"")}else{let f=0;if(!b.current.colGroupMain)return;const k=b.current.colGroupMain.children;for(let C=0;C<k.length;C++){const $=k[C].width;if(!$){f=0;break}f+=parseFloat($.toString())}f=Math.round(f),_.current&&_.current.setWidth(f),V.current&&V.current.setWidth(f),F.current&&F.current.setWidth(f),L.current&&L.current.setWidth(f),B.current&&B.current.setWidth(f),N.current&&N.current.setWidth(f),U.current&&(U.current.style.width=f?f+"px":"")}ye.current&&jt()},jt=()=>{const e=A.current,n=e?e.scrollWidth>e.clientWidth:!1;ye.current&&(ye.current.style.marginBlockEnd=n?"var(--kendo-scrollbar-width, 0px)":"")},_e=()=>{var e;t.gridProps.widthRef&&(t.gridProps.widthRef.current=((e=O.current)==null?void 0:e.offsetWidth)||0)},fe=()=>{var e;t.gridProps.containerHeightRef&&(t.gridProps.containerHeightRef.current=((e=A.current)==null?void 0:e.offsetHeight)||0)},Ut=()=>{const e=t.gridProps.minRowHeightRef;if(e&&!e.current&&!t.gridProps.rowHeight){const n=Z.calcRowHeight(H.current);n&&(e.current=n,Y())}},me=c.useCallback((e,n,o,r,i)=>{var s;if(!Vt()&&!o||!e)return;const a={type:e,nativeEvent:n,columns:t.columnsRef,dataItemKey:t.gridProps.dataItemKey||"",dataItem:r,field:i,...typeof t.gridProps.clipboard!="boolean"?t.gridProps.clipboard:{},...o},d=M(),u=l.populateClipboardData({event:a,data:d,selectedState:(s=t.gridProps.select)!=null?s:{},previousCopiedItems:Xe.current});e!==l.ClipboardActionType.paste&&(Xe.current=u.copiedItems),t.gridProps.onClipboard&&y&&m(t.gridProps.onClipboard,{...a,...u})},[t.gridProps.select,t.gridProps.dataItemKey,t.gridProps.data,t.gridProps.clipboard,t.gridProps.onClipboard]),Vt=()=>{var i,a,d;if(!I.canUseDOM)return!1;const e=I.getActiveElement(z()),n=e?e.matches(".k-table-td")?e:(i=z())==null?void 0:i.body:(a=z())==null?void 0:a.body,o=n.closest(".k-grid-container"),r=n&&((d=O.current)==null?void 0:d.contains(n));return!!(n&&r&&o)},$e=(e,n,o,r,i,a,d)=>{ke(),Ce.current=!0,De.current=!0,t.gridProps.onColumnResize&&y&&m(t.gridProps.onColumnResize,{columns:se(),nativeEvent:r,targetColumnId:d,index:e,newWidth:n,oldWidth:o,end:i,target:D.current}),i&&xe(a)},_t=()=>{var e;return{filter:t.gridProps.filter,sort:t.gridProps.sort,skip:t.gridProps.skip,take:(e=t.gridProps.take)!=null?e:t.gridProps.pageSize,group:t.gridProps.group}},E=e=>({nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:D.current}),$t=e=>({...e,nativeEvent:void 0,syntheticEvent:void 0,target:void 0,targetEvent:void 0,focusElement:void 0}),m=(e,n)=>{if(t.gridProps.isClient){e(n);return}e($t(n))},Zt=()=>{var e,n,o;if(H.current&&((e=H.current)==null?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){Me.current=!1,(n=document.activeElement)!=null&&n.closest(".k-grid-edit-row")?Ge.current=document.activeElement:Ge.current=void 0;const r=Array.from((o=H.current)==null?void 0:o.getElementsByClassName("k-grid-edit-row"));r.length>Oe.current.length?Re.current=r.filter(i=>!Oe.current.includes(i))[0]:r.length===1&&(Re.current=r[0],Me.current=!0),Oe.current=r}},M=()=>t.dataRef.filter(e=>e.rowType==="data").map(e=>e.dataItem),z=()=>{var e;if(I.canUseDOM)return((e=Pe())==null?void 0:e.ownerDocument)||document},Pe=()=>O.current,he=c.useCallback(e=>{var r,i;if(!w.current||!((r=w.current)!=null&&r.container)||t.gridProps.scrollable==="none")return;te.current&&te.current.disconnect();const{rowIndex:n}=e,o=Pe();if(T){const a=((i=w.current.rowHeightService)==null?void 0:i.offset(n))||0;w.current.container.scroll(0,a)}else if(o){const a=n<1?o.querySelector("tbody > tr:nth-child(1)"):o.querySelector(`tbody > tr:nth-child(${n+1})`);a&&A.current&&(A.current.scrollTop=a.offsetTop)}},[t.gridProps.scrollable]),Ze=e=>JSON.stringify(e.map(n=>({id:n.id,field:n.field,title:n.title,children:n.children}))),Jt=()=>Ze(mn)===Ze(t.columnsRef),Qt=()=>{ve.current=window.innerWidth,Jt()||Y()},Xt=()=>{var a;const{virtualTotal:e,virtualPageSize:n,gridProps:o}=t,r=w.current,i=t.gridProps.rowHeight||((a=o.minRowHeightRef)==null?void 0:a.current)||0;r&&(r.fixedScroll=o.fixedScroll||!1,r.PageChange=Tt,r.pageSize=n,r.scrollableVirtual=T,r.container=A.current,r.tableBody=H.current,r.scrollHeightContainer=Qe.current,r.table=U.current,(!r.rowHeightService||r.total!==e)&&i&&(r.total=e,r.rowHeightService=new I.RowHeightService(e,i)))},Je=c.useCallback(e=>{const n={rowIndex:Ae.current};e.forEach(o=>{o.boundingClientRect.height!==o.intersectionRect.height&&he(n)})},[he]),Y=()=>{t.gridProps.forceUpdate&&t.gridProps.forceUpdate()},Yt=e=>e.left!==void 0?Fe!=="rtl"?{left:e.left,right:e.right}:{left:e.right,right:e.left}:{},D=c.useRef(null),w=c.useRef(void 0),b=c.useRef(void 0),p=c.useRef(void 0),j=c.useRef(void 0),ee=c.useRef(void 0),be=c.useRef(void 0),te=c.useRef(null),H=c.useRef(null),en=c.useRef(null),A=c.useRef(null),U=c.useRef(null),tn=c.useRef(null),O=c.useRef(null),Qe=c.useRef(null),V=c.useRef(null),_=c.useRef(null),F=c.useRef(null),L=c.useRef(null),B=c.useRef(null),N=c.useRef(null),nn=c.useRef(null),rn=c.useRef(null),De=c.useRef(!1),Ke=c.useRef(!1),Re=c.useRef(void 0),Ge=c.useRef(void 0),Me=c.useRef(!1),Ce=c.useRef(!0),Te=c.useRef(0),He=c.useRef(void 0),Ae=c.useRef(void 0),Oe=c.useRef([]),Xe=c.useRef([]),ve=c.useRef(0),Ie=c.useRef(null),on=typeof t.gridProps.groupable=="object"&&!!t.gridProps.groupable.stickyHeaders,an=typeof t.gridProps.groupable=="object"&&!!t.gridProps.groupable.stickyFooters,cn=!!((nt=t.gridProps.group)!=null&&nt.length),{stickyHeaderItems:dn,stickyHeaderRef:sn,stickyFooterItems:ln,stickyFooterRef:ye,scrollToStickyGroup:un,update:Ye}=In.useStickyGroups({enabled:on,enabledFooters:an,flatData:t.dataRef,containerRef:A,tableBodyRef:H,rowHeight:t.gridProps.rowHeight,isGrouped:cn,virtualSkipRef:t.gridProps.virtualSkipRef,rowHeightServiceRef:{get current(){var e;return(e=w.current)==null?void 0:e.rowHeightService}}}),ce=c.useRef(null),gn=c.useRef(null),fn=c.useRef(null),Fe=I.useDir(O),T=t.isVirtualScroll,mn=c.useMemo(()=>c.Children.toArray(t.gridProps.children),[t.gridProps.children]),et=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1,v=l.getSelectionOptions(t.gridProps.selectable),tt=l.getEditableOptions(t.gridProps.editable),Pn=ve.current&&oe&&ve.current<=oe.medium&&t.gridProps.adaptive;return c.useMemo(()=>{l.tableKeyboardNavigation.onConstructor({navigatable:!!t.gridProps.navigatable,contextStateRef:j,navigationStateRef:ee,idPrefix:t.id}),w.current=new yn.VirtualScroll},[]),c.useMemo(()=>{var e;(e=w.current)==null||e.reset()},[t.gridProps.scrollable,t.gridProps.total,t.gridProps.filter,t.gridProps.group,et,t.gridProps.sort,t.gridProps.rowHeight]),c.useEffect(()=>(t.gridProps.clipboard&&(be.current=new l.ClipboardService(me),be.current.addEventListeners(z())),()=>{be.current&&be.current.removeEventListeners(z())}),[t.gridProps.onClipboard,t.gridProps.clipboard,me,z]),c.useEffect(()=>(_e(),ke(),I.setScrollbarWidth(),l.tableKeyboardNavigation.onComponentDidMount({scope:O.current||void 0,contextStateRef:j,navigationStateRef:ee}),()=>{clearTimeout(He.current)}),[]),c.useEffect(()=>{var e;_e(),ke(),I.setScrollbarWidth(),T&&(fe(),Ut(),(e=w.current)==null||e.update()),Ye(),Zt(),l.tableKeyboardNavigation.onComponentDidUpdate({scope:O.current||void 0,contextStateRef:j,navigationStateRef:ee,focusFirst:Ke.current,newEditableRow:Re.current,singleEditRow:Me.current,lastActiveElement:Ge.current,navigatable:t.gridProps.navigatable}),ut(),Ke.current=!1,Re.current=void 0,Ie.current=void 0}),c.useEffect(()=>{if(I.canUseDOM){const e={rootMargin:"0px",threshold:.9};te.current=window.IntersectionObserver&&new window.IntersectionObserver(Je,e)||null}},[Je]),c.useEffect(()=>{var n;let e;return I.canUseDOM&&window.ResizeObserver&&(e=new window.ResizeObserver(()=>{Qt(),T&&fe()}),e.observe((n=z())==null?void 0:n.body)),()=>{e==null||e.disconnect()}},[]),c.useEffect(()=>{if(!I.canUseDOM||!window.ResizeObserver||!T||!A.current)return;const e=()=>{var i,a;const o=((i=t.gridProps.containerHeightRef)==null?void 0:i.current)||0;fe();const r=((a=t.gridProps.containerHeightRef)==null?void 0:a.current)||0;(o===0&&r>0||Math.abs(r-o)>10)&&Y()},n=new window.ResizeObserver(e);return n.observe(A.current),()=>{n.disconnect()}},[T,fe]),c.useImperativeHandle(D,()=>({get element(){return Pe()},props:t.gridProps,get columns(){return se()},scrollIntoView:e=>{var r;if(!((r=w.current)!=null&&r.container)||t.gridProps.scrollable==="none")return;const{rowIndex:n}=e;Ae.current=n;const o=Pe();if(te.current&&o){te.current.disconnect();const i=o.querySelector(`[absolute-row-index="${Ae.current}"]`);i?te.current.observe(i):he(e)}},fitColumns:e=>{b.current.dblClickHandler(null,e)},exportAsPdf:Ee,saveAsCsv:je,getCsvBlob:Ue,getTotal:we,getLeafDataItems:M})),c.useImperativeHandle(t.gridRef,()=>D.current),c.useMemo(()=>{b.current=new Cn.ColumnResize($e)},[t.gridProps.onColumnResize,t.columnsRef]),c.useMemo(()=>{p.current=new vn.CommonDragLogic(ge,qt,Ve)},[t.gridProps.onColumnReorder,t.gridProps.onGroupChange,t.gridProps.group,t.columnsRef,t.gridProps.groupable]),b.current.resizable=t.gridProps.resizable||!1,b.current.columns=t.columnsRef,b.current.columnsState=I.cloneArray(t.columnsState),p.current.reorderable=t.gridProps.reorderable||!1,p.current.groupable=et,p.current.columns=t.columnsRef,p.current.dir=Fe,Xt(),c.createElement(Sn.GridContext.Provider,{value:{isClient:y,rowReorder:ae,activeDragRowDataItemRef:ce,reorderRowDragTargetRef:gn,reorderRowDropTargetRef:fn,dir:Fe,getCellPositionStyle:Yt,dataItemKey:t.gridProps.dataItemKey,columnsState:t.columnsState,columnsRef:t.columnsRef,hiddenColumnsRef:t.hiddenColumnsRef,onColumnsStateChange:xe,groupable:t.gridProps.groupable,group:t.gridProps.group,reorderable:t.gridProps.reorderable,defaultGroup:t.gridProps.defaultGroup,groupChange:Se,selectionRelease:ze,pinnedSelectionRelease:kt,pagerPageChange:Ft,onContextMenu:dt,rowClick:Pt,rowDblClick:ht,cellClick:Ct,headerCellClick:We,itemChange:wt,onDialogEditCancel:Rt,onDialogEditSubmit:bt,columnReorder:ge,onResize:$e,getTotal:we,sortable:t.gridProps.sortable,pageable:t.gridProps.pageable,pageSize:t.gridProps.pageSize,sort:t.gridProps.sort,skip:t.gridProps.skip,take:t.gridProps.take,defaultSort:t.gridProps.defaultSort,sortChange:qe,filterable:t.gridProps.filterable,filter:t.gridProps.filter,defaultFilter:t.gridProps.defaultFilter,filterOperators:t.gridProps.filterOperators||xn.operators,getLeafDataItems:M,filterChange:Lt,applyHighlightDescriptor:Bt,applySelectionDescriptor:Gt,highlight:t.gridProps.highlight,select:t.gridProps.select,searchChange:Nt,exportAsPdf:Ee,exportAsCsv:je,getCsvBlob:Ue,onHeaderSelectionChange:xt,columnGroupChange:pt,onKeyDown:gt,onFocus:ft,scrollHandler:st,selectionChange:Et,mobileMode:Pn,adaptiveColumnMenuRef:ve.current,adpativeTitle:t.gridProps.adaptiveTitle,adaptive:t.gridProps.adaptive,dispatchDetailExpand:vt,dispatchGroupExpand:It,columnResizeRef:b,dragLogicRef:p,navigationStateRef:ee,tableElementRef:U,tableBodyElementRef:H,headerElementRef:en,containerElementRef:A,headTableElementRef:tn,elementRef:O,virtualScrollHeightContainerRef:Qe,footerRef:V,headerRef:_,vsRef:w,stickyHeaderItems:dn,stickyHeaderRef:sn,stickyFooterItems:ln,stickyFooterRef:ye,stickyHeaderTableRef:F,stickyFooterTableRef:L,pinnedTopTableRef:B,pinnedBottomTableRef:N,pinnedTopRef:nn,pinnedBottomRef:rn,onRowPin:le,getRowPinPosition:yt}},c.createElement(l.TableKeyboardNavigationContext.Provider,{value:j.current},t.children),c.createElement(rt.GridContextMenu,{show:h.show&&(de==null?void 0:de.length),dataItem:h.dataItem,field:h.field,items:de,offset:h.offset,onClose:Le,onSelect:ct}),t.gridProps.pdf&&c.createElement(wn.BasePDFExport,{gridProps:t.gridProps,innerGrid:t.innerGrid,pdf:typeof t.gridProps.pdf=="object"?t.gridProps.pdf:{},onPdfExport:Wt,ref:e=>J.current=e}),t.gridProps.csv&&c.createElement(En.BaseCSVExport,{gridProps:t.gridProps,csv:typeof t.gridProps.csv=="object"?t.gridProps.csv:{},onCsvExport:zt,columnsState:t.columnsState,ref:e=>G.current=e}))};exports.GridClientWrapper=Kn;