@progress/kendo-react-pivotgrid 7.0.3-develop.4 → 7.0.3-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 (38) hide show
  1. package/LICENSE.md +1 -1
  2. package/NOTICE.txt +1 -1
  3. package/PivotGrid.d.ts +1 -1
  4. package/README.md +1 -1
  5. package/components/AxesEditor.d.ts +1 -1
  6. package/components/AxisEditor.d.ts +1 -1
  7. package/components/AxisFilterFieldsEditor.d.ts +1 -1
  8. package/components/Cell.d.ts +1 -1
  9. package/components/Column.d.ts +1 -1
  10. package/components/Configurator.d.ts +1 -1
  11. package/components/ConfiguratorButton.d.ts +1 -1
  12. package/components/ConfiguratorEditor.d.ts +1 -1
  13. package/components/Container.d.ts +1 -1
  14. package/components/EditorContext.d.ts +1 -1
  15. package/components/FieldsEditor.d.ts +1 -1
  16. package/components/HeaderCell.d.ts +1 -1
  17. package/components/Row.d.ts +1 -1
  18. package/dist/cdn/js/kendo-react-pivotgrid.js +1 -1
  19. package/hooks/index.d.ts +1 -1
  20. package/hooks/useExpansion.d.ts +1 -1
  21. package/hooks/useHeaders.d.ts +1 -1
  22. package/hooks/useHorizontalScrollSync.d.ts +1 -1
  23. package/hooks/usePivotConfiguratorEditor.d.ts +1 -1
  24. package/hooks/usePivotLocalDataService.d.ts +1 -1
  25. package/hooks/usePivotOLAPService.d.ts +1 -1
  26. package/hooks/useVerticalScrollSync.d.ts +1 -1
  27. package/index.d.mts +1 -1
  28. package/index.d.ts +1 -1
  29. package/index.js +1 -1
  30. package/index.mjs +2 -2
  31. package/messages/index.d.ts +1 -1
  32. package/models/index.d.ts +1 -1
  33. package/package-metadata.d.ts +1 -1
  34. package/package.json +9 -9
  35. package/shared/PivotGridConfiguratorEditorEventsContext.d.ts +1 -1
  36. package/shared/PivotGridConfiguratorEditorStateContext.d.ts +1 -1
  37. package/shared/index.d.ts +1 -1
  38. package/utils/index.d.ts +1 -1
package/LICENSE.md CHANGED
@@ -8,4 +8,4 @@ This is commercial software. To use it, you need to agree to the [**End User Lic
8
8
 
9
9
  All available KendoReact commercial licenses may be obtained at the [KendoReact website](https://www.telerik.com/kendo-react-ui/pricing).
10
10
 
11
- *Copyright © 2023 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.*
11
+ *Copyright © 2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.*
package/NOTICE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Progress KendoReact 2023
1
+ Progress KendoReact 2024
2
2
 
3
3
  Copyright © 2018-2023 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved.
4
4
 
package/PivotGrid.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
package/README.md CHANGED
@@ -50,6 +50,6 @@ High-level component overview pages
50
50
 
51
51
  * [React PivotGrid Component](https://www.telerik.com/kendo-react-ui/pivotgrid)
52
52
 
53
- *Copyright © 2023 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.*
53
+ *Copyright © 2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.*
54
54
 
55
55
  *Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries.*
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  (function(A,me){typeof exports=="object"&&typeof module<"u"?me(exports,require("react"),require("@progress/kendo-react-common"),require("@progress/kendo-react-intl"),require("@progress/kendo-pivotgrid-common"),require("@progress/kendo-svg-icons"),require("@progress/kendo-react-buttons"),require("@progress/kendo-react-form"),require("@progress/kendo-react-labels"),require("@progress/kendo-react-data-tools"),require("@progress/kendo-react-treeview"),require("@progress/kendo-react-indicators")):typeof define=="function"&&define.amd?define(["exports","react","@progress/kendo-react-common","@progress/kendo-react-intl","@progress/kendo-pivotgrid-common","@progress/kendo-svg-icons","@progress/kendo-react-buttons","@progress/kendo-react-form","@progress/kendo-react-labels","@progress/kendo-react-data-tools","@progress/kendo-react-treeview","@progress/kendo-react-indicators"],me):(A=typeof globalThis<"u"?globalThis:A||self,me(A.KendoReactPivotgrid={},A.React,A.KendoReactCommon,A.KendoReactIntl,A.KendoPivotgridCommon,A.KendoSvgIcons,A.KendoReactButtons,A.KendoReactForm,A.KendoReactLabels,A.KendoReactDataTools,A.KendoReactTreeview,A.KendoReactIndicators))})(this,function(A,me,c,fe,b,pe,ie,ne,ge,Ee,Te,vt){"use strict";"use client";function xt(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(a,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return a.default=e,Object.freeze(a)}const t=xt(me),pt={name:"@progress/kendo-react-pivotgrid",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},De="pivotgrid.emptyCellAriaLabel",He="pivotgrid.fieldMenuReset",Re="pivotgrid.fieldMenuApply",Ge="pivotgrid.configuratorTitle",Oe="pivotgrid.configuratorCancel",qe="pivotgrid.configuratorApply",ke="pivotgrid.configuratorColumnsTitle",Ke="pivotgrid.configuratorRowsTitle",ze="pivotgrid.configuratorMeasuresTitle",Be="pivotgrid.configuratorEditorSearchTitle",Et="pivotgrid.configuratorEditorSearchPlaceholder",re="pivotgrid.configuratorMissingFields",Ue="pivotgrid.configuratorButtonLabel",Z={[De]:"PivotGrid component. Use the arrow keys to navigate.",[He]:"Reset",[Re]:"Apply",[Oe]:"Cancel",[qe]:"Apply",[Ge]:"Settings",[Be]:"Fields",[Et]:"Search...",[ke]:"Columns",[Ke]:"Rows",[ze]:"Values",[Ue]:"Change settings",[re]:"Select some fields to begin setup"},Ve=t.forwardRef((e,a)=>{const n=t.useRef(null),r=t.useRef(null);t.useImperativeHandle(n,()=>({element:r.current,props:e})),t.useImperativeHandle(a,()=>n.current);const s=c.useMouse(e,n);return t.createElement("tr",{ref:r,...s,id:e.id,style:e.style,tabIndex:e.tabIndex,children:e.children,role:e.role,"aria-owns":e.ariaOwns,className:c.classNames("k-pivotgrid-row",e.className)})});Ve.displayName="KendoReactPivotGridRow";const je=t.forwardRef((e,a)=>{const n=t.useRef(null),r=t.useRef(null);t.useImperativeHandle(n,()=>({element:r.current,props:e})),t.useImperativeHandle(a,()=>n.current);const s=c.useMouse(e,n);return t.createElement("td",{ref:r,...s,id:e.id,style:e.style,tabIndex:e.tabIndex,role:e.role,"aria-describedby":e.ariaDescribedby,className:c.classNames("k-pivotgrid-cell",{"k-pivotgrid-header-total":e.total},e.className)},e.children)});je.displayName="KendoReactPivotGridCell";const et=(e,a,n)=>[e,(s,l)=>{const m=b.headersReducer(e,{...s,tree:a});n&&n(m,l)}],Ce=t.forwardRef((e,a)=>{const n=t.useRef(null),r=t.useRef(null);t.useImperativeHandle(n,()=>({element:r.current,props:e})),t.useImperativeHandle(a,()=>n.current);const[s,l]=c.useCustomComponent(e.icon||tt.icon),m=c.useMouse(e,n),i=C=>{e.onIconClick&&e.onIconClick.call(void 0,{syntheticEvent:C.syntheticEvent,target:n.current})};return t.createElement("th",{ref:r,...m,colSpan:e.colSpan,rowSpan:e.rowSpan,id:e.id,style:e.style,tabIndex:e.tabIndex,role:e.role,...e.expandable?{"aria-expanded":e.expanded}:{},className:c.classNames("k-pivotgrid-cell",{"k-pivotgrid-header-total":e.total,"k-pivotgrid-header-root":e.root,"k-pivotgrid-expanded":e.expanded,"k-first":e.first},e.className)},e.expandable&&t.createElement(s,{...l,onClick:i,name:`chevron-${e.expanded?"up":"down"}`,"aria-hidden":!0,icon:e.expanded?pe.chevronUpIcon:pe.chevronDownIcon}),e.children)}),tt={icon:c.IconWrap};Ce.defaultProps=tt,Ce.displayName="KendoReactPivotGridHeaderCell";const Ct=(...e)=>{const a=t.useRef();return r=>{a.current!==void 0&&window.cancelAnimationFrame(a.current);const s=r.currentTarget,l=s.scrollLeft;e.forEach(m=>{const i=m.current;i&&i!==s&&(a.current=window.requestAnimationFrame(()=>{i.scrollLeft=Math.round(l)}))})}},At=(...e)=>{const a=t.useRef();return r=>{a.current!==void 0&&window.cancelAnimationFrame(a.current);const s=r.currentTarget,l=s.scrollTop;e.forEach(m=>{const i=m.current;i&&i!==s&&(a.current=window.requestAnimationFrame(()=>{i.scrollTop=Math.round(l)}))})}},Ae=t.forwardRef((e,a)=>{const n=t.useRef(null),r=t.useRef(null);t.useImperativeHandle(n,()=>({element:r.current,props:e})),t.useImperativeHandle(a,()=>n.current);const s=c.useMouse(e,n);return t.createElement("col",{ref:r,...s,id:e.id,style:e.style,tabIndex:e.tabIndex,children:e.children,className:e.className})}),yt={path:[]};Ae.defaultProps=yt,Ae.displayName="KendoReactPivotGridColumn";const wt=(e,a,n)=>{const r=JSON.parse(JSON.stringify(e||[])),s=JSON.parse(JSON.stringify(a||[])),l=JSON.parse(JSON.stringify(n||[])),m=b.toTree(r),[,i,C]=b.toRows(m),f=b.toTree(s),[,x,,F]=b.toColumns(f);return b.toData(l,x,i,F,C)},ye=(e=[],a={},n=null)=>e.map(r=>{const s={dataItem:r};return Object.keys(a).forEach(l=>{s[l]=a[l](s,n)}),s}),$e=(e=[])=>{let a=[...e];return(e||[]).forEach(n=>{a=a.concat($e(n.children))}),a},_e=(e=[])=>{const a=new Set;return e.forEach(n=>{a.add(String(n.name))}),Array.from(a)},oe=(e=[])=>`${e.join(",")}`,Ft=(e,a)=>`${oe(e.map(n=>n.name))}|${oe(a.map(n=>n.name))}`,bt=(e,a,n)=>{if(!e)return;let r=0,s,l=e.length,m;for(;r<l;r++)m=e[r].operator,(!n&&m!=="in"||m===n)&&e[r].field===a&&(s=e[r]);return s},nt=(e,a,n)=>{if(!e)return[];let r=0,s=[],l=e.length,m;for(;r<l;r++)m=e[r].operator,(!n&&m!=="in"||m===n)&&e[r].field===a&&s.push(e[r]);return s},at=(e,a)=>e.uniqueName===a.uniqueName,rt=t.forwardRef((e,a)=>{c.validatePackage(pt);const{rows:n,rowAxes:r,columns:s,columnAxes:l,data:m}={...he,...e},i=t.useRef(null),C=t.useRef(null),f=t.useRef(null),x=t.useRef(null),F=t.useRef(null),K=t.useRef(null),D=t.useRef(null),j=fe.useLocalization(),G=(v,M)=>{e.onRowAxesChange&&e.onRowAxesChange({value:v,target:C.current,syntheticEvent:M})},$=(v,M)=>{e.onColumnAxesChange&&e.onColumnAxesChange({value:v,target:C.current,syntheticEvent:M})},_=b.toTree((n||[]).slice()),[,p]=et((r||[]).slice(),_,G),[L,g,U,V]=b.toRows(_),O=b.toTree((s||[]).slice()),[,u]=et((l||[]).slice(),O,$),[y,H,,P]=b.toColumns(O),w=b.toData((m||[]).slice(),H,g,P,U);t.useImperativeHandle(C,()=>({props:e,element:i.current,columnHeaderRows:y,rowHeaderRows:L,dataCells:w,rowHeaderBreadth:V,columnHeaderBreadth:P})),t.useImperativeHandle(a,()=>C.current);const J=[],W=[],o=[],[h,E]=c.useCustomComponent(e.row||he.row),[N,T]=c.useCustomComponent(e.column||he.column),[z,X]=c.useCustomComponent(e.cell||he.cell),[d,q]=c.useCustomComponent(e.headerCell||he.headerCell),B=e.columnHeadersRow||h,R=e.columnHeadersColumn||N,ee=e.columnHeadersCell||d,Q=e.rowHeadersRow||h,le=e.rowHeadersColumn||N,Tt=e.rowHeadersCell||d,Dt=e.dataRow||h,Ht=e.dataColumn||N;for(let v=0;v<H.length;v++)J.push(t.createElement(Ht,{key:String(H[v].path),...T,path:H[v].path})),o.push(t.createElement(R,{key:String(H[v].path),...T,path:H[v].path}));for(let v=0;v<V;v++)W.push(t.createElement(le,{key:v,...T}));const Rt=v=>{v.target.props.expandable&&u({type:b.HEADERS_ACTION.toggle,payload:v.target.props.dataItem.path},v.syntheticEvent)},Gt=v=>{v.target.props.expandable&&p({type:b.HEADERS_ACTION.toggle,payload:v.target.props.dataItem.path},v.syntheticEvent)},ft=Ct(D,K),Ot=At(D,F),qt=v=>{ft(v),Ot(v)},gt=t.useCallback(()=>{i.current&&x.current&&(i.current.style.gridTemplateRows="",i.current.style.gridTemplateRows=`${x.current.offsetHeight}px 1fr`)},[]),ht=t.useCallback(()=>{i.current&&f.current&&(i.current.style.gridTemplateColumns="",i.current.style.gridTemplateColumns=`${f.current.offsetWidth}px 1fr`)},[]),ce=t.useRef(new b.PivotGridNavigation({tabIndex:e.tabIndex||0}));t.useEffect(()=>{if(i.current){const v=e.tabIndex||0;if(ce.current.stop(),ce.current.tabIndex=v,e.navigatable){ce.current.start(i.current);const M=ce.current.first;M&&M.setAttribute("tabindex",String(v))}}return()=>{ce.current.stop()}},[e.tabIndex,e.navigatable]),t.useEffect(()=>{ce.current.update()}),t.useEffect(()=>{if(x.current){const v=new window.ResizeObserver(gt);return v.observe(x.current),()=>{v.disconnect()}}},[gt]),t.useEffect(()=>{if(f.current){const v=new window.ResizeObserver(ht);return v.observe(f.current),()=>{v.disconnect()}}},[ht]),t.useLayoutEffect(()=>{if(c.setScrollbarWidth(),f.current){const v=new window.ResizeObserver(c.setScrollbarWidth);return v.observe(f.current),()=>{v.disconnect()}}},[]);const ue=new Array(y.length).fill([]).map(()=>new Array(H.length));y.forEach((v,M)=>{let S=0;Array.from(v.cells).forEach(I=>{const Y=!!(I&&I.children&&I.children.length),Qe=(I?oe(I.normalizedPath)+(I.total?"|[TOTAL]":"")+(Y?"|[EXPANDED]":""):"").replace(/\s/g,"-");if(I)for(let Le=0;Le<(I.colSpan||1);Le++){for(let de=0;de<(I.rowSpan||1);de++){const kt=ue[M+de].findIndex((Kt,zt)=>zt>=S&&!Kt);ue[M+de][kt]=Qe}S++}})});const Me=w.map(v=>v.cells.map(M=>Ft(M.rowTuple.members,M.columnTuple.members).replace(/\s/g,"-")));return t.createElement("div",{ref:i,id:e.id,style:e.style,tabIndex:e.navigatable?void 0:e.tabIndex,className:c.classNames("k-pivotgrid",e.className),role:"grid"},t.createElement("span",{className:"k-pivotgrid-empty-cell"},t.createElement("span",{className:"k-sr-only"},j.toLanguageString(De,Z[De]))),t.createElement("div",{ref:K,className:"k-pivotgrid-column-headers",onScroll:ft},t.createElement("table",{ref:x,className:"k-pivotgrid-table",role:"none"},t.createElement("colgroup",null,o),t.createElement("tbody",{className:"k-pivotgrid-tbody",role:"rowgroup"},y.map((v,M)=>{let S=!1;return t.createElement(B,{key:v.name,role:"row",...E},v.cells.map((I,Y)=>{const Qe=Y!==0&&!S;I&&(S=!0);const Le=I&&!!(I.children&&I.children.length),de=I&&I.hasChildren&&(!I.total||I.total&&I.parent.total);return I?t.createElement(ee,{...q,key:ue[M][Y],"data-key":ue[M][Y],id:ue[M][Y],columnPath:I.normalizedPath,rowSpan:I.rowSpan||void 0,colSpan:I.colSpan||void 0,onIconClick:Rt,dataItem:I,expanded:Le,expandable:de,total:I.total,first:Qe,root:I.levelNum===0,role:"columnheader"},I.caption):null}))})))),t.createElement("div",{ref:F,className:"k-pivotgrid-row-headers"},t.createElement("table",{ref:f,className:"k-pivotgrid-table",role:"none"},t.createElement("colgroup",null,W),t.createElement("tbody",{className:"k-pivotgrid-tbody",role:"rowgroup"},L.map((v,M)=>t.createElement(Q,{key:oe(g[M].path),...E,path:g[M].path,role:"row",ariaOwns:Me[M].join(" ")},v.cells.filter(Boolean).map(S=>S?t.createElement(Tt,{...q,key:oe(S.normalizedPath)+(S.total?"|[TOTAL]":"")+(S.children&&S.children.length?"|[EXPANDED]":""),"data-key":oe(S.normalizedPath)+(S.total?"|[TOTAL]":"")+(S.children&&S.children.length?"|[EXPANDED]":""),rowPath:S.normalizedPath,rowSpan:S.rowSpan||void 0,colSpan:S.colSpan||void 0,dataItem:S,expanded:!!(S.children&&S.children.length),expandable:S.hasChildren&&!S.total,total:S.total,onIconClick:Gt,root:S.levelNum===0,role:"rowheader"},S.caption):null)))))),t.createElement("div",{ref:D,className:"k-pivotgrid-values",onScroll:qt},t.createElement("table",{className:"k-pivotgrid-table",role:"none"},t.createElement("colgroup",null,J),t.createElement("tbody",{className:"k-pivotgrid-tbody",role:"none"},w.map((v,M)=>t.createElement(Dt,{key:oe(g[M].path),...E,path:g[M].path,role:"none"},v.cells.map((S,I)=>t.createElement(z,{key:Me[M][I],"data-key":Me[M][I],id:Me[M][I],...X,rowPath:S.rowTuple.members.map(Y=>Y.name),columnPath:S.columnTuple.members.map(Y=>Y.name),dataItem:S,total:g[M].total||H[I].total,role:"gridcell",ariaDescribedby:ue.map(Y=>Y[I]).join(" ")},S&&S.data&&S.data.fmtValue?S.data.fmtValue:" "))))))))}),he={rowAxes:[],columnAxes:[],data:[],row:Ve,column:Ae,cell:je,headerCell:Ce};rt.displayName="KendoReactPivotGrid";const Xe=t.forwardRef((e,a)=>{const n=t.useRef(null),r=t.useRef(null);return t.useImperativeHandle(r,()=>({props:e,element:n.current})),t.useImperativeHandle(a,()=>r.current),t.createElement("div",{ref:n,id:e.id,style:e.style,tabIndex:e.tabIndex,className:c.classNames("k-d-flex k-pos-relative",{"k-flex-row":e.configuratorPosition==="right","k-flex-row-reverse":e.configuratorPosition==="left","k-flex-column":e.configuratorPosition==="bottom","k-flex-column-reverse":e.configuratorPosition==="top"},e.className)},e.children)}),Nt={configuratorPosition:"right"};Xe.defaultProps=Nt,Xe.displayName="KendoReactPivotGridContainer";const ot=t.createContext({axes:null});var Ze=(e=>(e.toggle="EXPAND_TOGGLE",e.expand="EXPAND_EXPAND",e.collapse="EXPAND_COLLAPSE",e))(Ze||{});const St=(e,a,n)=>{switch(a.type){case"EXPAND_TOGGLE":return Array.isArray(e)?e.find(r=>n(r,a.payload))?[...e.filter(r=>!n(r,a.payload))]:[...e,a.payload]:n(e,a.payload)?null:a.payload;case"EXPAND_EXPAND":if(Array.isArray(e)){if(!e.find(r=>n(r,a.payload)))return[...e,a.payload]}else if(!n(e,a.payload))return a.payload;break;case"EXPAND_COLLAPSE":if(Array.isArray(e)){if(e.find(r=>n(r,a.payload)))return[...e.filter(r=>!n(r,a.payload))]}else n(e,a.payload);break;default:return e}},st=(e=[],a,n,r=(s,l)=>s===l)=>{const[s,l]=t.useState(e);return[s,(i,C)=>{const f=St(s,i,r);a&&a.call(void 0,{value:f,target:n.current,syntheticEvent:C}),l(f)}]};var lt=(e=>(e.toggleExpansion="PIVOT_CONFIGURATOR_ACTION_TOGGLE_EXPANSION",e))(lt||{});const k={...b.PIVOT_CONFIGURATOR_ACTION,...lt},It=(e,a)=>{const n=e.valueGetter("rowAxes"),r=e.valueGetter("columnAxes"),s=e.valueGetter("measureAxes"),l=e.valueGetter("sort"),m=e.valueGetter("filter"),[i,C]=st([],void 0,a,at),[f,x]=t.useState(null),[F,K]=t.useState(null),[D,j]=t.useState(null),[G,$]=t.useState(null);return[{dragItem:f,dropTarget:D,dropZone:F,dropDirection:G,columnAxes:r,rowAxes:n,measureAxes:s,sort:l,filter:m,expanded:i},(p,L)=>{switch(p.type){case k.toggleExpansion:{C({type:Ze.toggle,payload:p.payload},L);break}default:const g=b.configuratorReducer({filter:p.override&&p.override.filter!==void 0?p.override.filter:m,sort:p.override&&p.override.sort!==void 0?p.override.sort:l,rowAxes:p.override&&p.override.rowAxes!==void 0?p.override.rowAxes:n,columnAxes:p.override&&p.override.columnAxes!==void 0?p.override.columnAxes:r,measureAxes:p.override&&p.override.measureAxes!==void 0?p.override.measureAxes:s,dragItem:p.override&&p.override.dragItem!==void 0?p.override.dragItem:f,dropDirection:p.override&&p.override.dropDirection!==void 0?p.override.dropDirection:G,dropTarget:p.override&&p.override.dropTarget!==void 0?p.override.dropTarget:D,dropZone:p.override&&p.override.dropZone!==void 0?p.override.dropZone:F},p);g.columnAxes!==void 0&&e.onChange("columnAxes",{value:g.columnAxes}),g.rowAxes!==void 0&&e.onChange("rowAxes",{value:g.rowAxes}),g.measureAxes!==void 0&&e.onChange("measureAxes",{value:g.measureAxes}),g.sort!==void 0&&e.onChange("sort",{value:g.sort}),g.filter!==void 0&&e.onChange("filter",{value:g.filter}),g.dropDirection!==void 0&&$(g.dropDirection),g.dropTarget!==void 0&&j(g.dropTarget),g.dropZone!==void 0&&K(g.dropZone),g.dragItem!==void 0&&x(g.dragItem);break}}]},it=t.createContext({}),we=t.createContext([{expanded:[],rowAxes:[],columnAxes:[],measureAxes:[],dragItem:null,dropZone:null,dropDirection:null,dropTarget:null},c.noop]),Fe=t.forwardRef((e,a)=>{const{data:n,dataItem:r,defaultFilter:s}={...ae,...e},l=t.useRef(null),m=t.useRef(null),i=fe.useLocalization(),[C,f]=c.useCustomComponent(e.columnMenuItem||ae.columnMenuItem),[x,F]=c.useCustomComponent(e.columnMenuForm||ae.columnMenuForm),[K,D]=c.useCustomComponent(e.resetButton||ae.resetButton),[j,G]=c.useCustomComponent(e.applyButton||ae.applyButton),[$,_]=c.useCustomComponent(e.treeView||ae.treeView),[p,L]=c.useCustomComponent(e.noData||ae.noData);t.useImperativeHandle(m,()=>({props:e,element:l.current})),t.useImperativeHandle(a,()=>m.current);const[g,U]=t.useState(!1),{onAxisFilterFieldsExpandChange:V,onAxisFilterFieldExpand:O}=t.useContext(it),[,u]=t.useContext(we),[y,H]=t.useState(s),P=y?y.value.split(","):[],[w,J]=st([],void 0,m,at),W={caption:d=>d.dataItem.caption,id:d=>d.dataItem.uniqueName,parent:(d,q)=>q&&q.value,value:d=>d.dataItem.defaultHierarchy||d.dataItem.uniqueName,expanded:d=>w.some(q=>q.uniqueName===d.id),checked:d=>!P.length||(P||[]).some(q=>q===d.dataItem.uniqueName),hasChildren:d=>parseInt(d.dataItem.childrenCardinality,10)>0,children:d=>ye(d.dataItem.children,W,d),checkIndeterminate:d=>{const q=(d.children||[]).length&&d.children.every(B=>B.checked);return q&&(d.checked=!0),(d.children||[]).some(B=>B.checked)&&!q}},o=ye(n,W),h=$e(o),E=d=>{U(!g),V&&V({value:!g,target:m.current,syntheticEvent:d})},N=d=>{J({type:Ze.toggle,payload:d.item.dataItem},d.syntheticEvent),O&&O({value:d.item.dataItem,target:m.current,syntheticEvent:d.syntheticEvent})},T=d=>{let q;d.item.checked?q={field:String(r.name),operator:"in",value:h.filter(B=>B.checked).map(B=>String(B.value)).filter(B=>B!==d.item.value&&B!==d.item.parent).join(",")}:q={field:String(r.name),operator:"in",value:h.filter(B=>B.checked).map(B=>String(B.value)).concat([d.item.value]).join(",")},H(q)},z=d=>{U(!1),y&&u({type:k.removeFilter,payload:y},d)},X=d=>{U(!1),y&&u({type:s?k.changeFilter:k.addFilter,payload:y},d)};return t.createElement("div",{ref:l,id:e.id,tabIndex:e.tabIndex,style:e.style,className:c.classNames("k-columnmenu-item-wrapper",e.className)},t.createElement(C,{...f,title:"Include Fields",iconClass:"k-i-grid-layout",svgIcon:pe.gridLayoutIcon,onClick:E}),t.createElement(x,{show:g,actions:t.createElement(t.Fragment,null,t.createElement(K,{type:"reset",onClick:z,...D},i.toLanguageString(He,Z[He])),t.createElement(j,{themeColor:"primary",onClick:X,...G},i.toLanguageString(Re,Z[Re]))),...F},o&&o.length?t.createElement($,{data:o,checkboxes:!0,onExpandChange:N,onCheckChange:T,textField:"caption",expandIcons:!0,hasChildrenField:"hasChildren",checkIndeterminateField:"checkIndeterminate",childrenField:"children",..._}):t.createElement(p,{...L})))}),ae={data:[],resetButton:ie.Button,applyButton:ie.Button,treeView:Te.TreeView,noData:()=>t.createElement(vt.Skeleton,{shape:"rectangle",style:{height:"20px",width:"calc(100% - 16px)",margin:8}}),columnMenuItem:Ee.ColumnMenuItem,columnMenuForm:Ee.ColumnMenuForm};Fe.defaultProps=ae,Fe.displayName="KendoReactPivotGridAxisFilterFieldsEditor";const be=t.forwardRef((e,a)=>{const n=t.useRef(0),r=t.useRef(0),s=t.useRef(null),l=t.useRef(null),m=t.useRef(null),{axes:i}=t.useContext(ot),[C,f]=t.useState(!1),[x,F]=t.useContext(we);t.useImperativeHandle(l,()=>s.current&&s.current.element),t.useImperativeHandle(m,()=>({props:e,element:l.current})),t.useImperativeHandle(a,()=>m.current);const[K,D]=c.useCustomComponent(e.chip||ve.chip),[j,G]=c.useCustomComponent(e.dropClue||ve.dropClue),[$,_]=c.useCustomComponent(e.columnMenuTextColumn||ve.columnMenuTextColumn),[p,L]=c.useCustomComponent(e.filterFieldsEditor||ve.filterFieldsEditor),g=nt(x.filter,String(e.value),"in"),U=nt(x.filter,String(e.value)),V=(o,h)=>{F({type:k.setSort,payload:h},o)},O=(o,h)=>{h.length?F({type:k.setFilter,payload:[...g||[],...h.reduce((E,N)=>[...E,...N.filters.filter(T=>T.value)],[])]},o):F({type:k.setFilter,payload:g},o)},u=o=>{F({type:k.remove,payload:e.dataItem},o.syntheticEvent)},y=o=>{const h=o.slice(),E=bt(x.filter,String(e.dataItem.name),"in");return h.splice(1,0,t.createElement(p,{key:"axis-filter-fields-editor",defaultFilter:E,dataItem:e.dataItem,data:e.dataItem.fields,axes:i,...L})),h},H=o=>{n.current=o.clientX,r.current=o.clientY},P=o=>{Math.abs(n.current-o.clientX)<10&&Math.abs(r.current-o.clientY)<10||(l.current&&(l.current.style.transform=`translate(${o.clientX-n.current}px, ${o.clientY-r.current}px)`),f(!0),F({type:k.setDragItem,payload:e.dataItem}))},w=()=>{f(!1),x.dragItem&&(l.current&&(l.current.style.transform=""),F({type:k.drop,payload:e.dataItem}))},J=o=>{x.dragItem&&(F({type:k.setDropTarget,payload:e.dataItem},o.syntheticEvent),F({type:k.setDropZone,payload:i},o.syntheticEvent))},W=o=>{if(x.dragItem&&!C&&l.current){const h=l.current.getBoundingClientRect(),N=o.syntheticEvent.clientX-h.left<h.width/2?"before":"after";F({type:k.setDropDirection,payload:N},o.syntheticEvent)}};return c.useDraggable(l,{onPress:H,onDrag:P,onRelease:w}),t.createElement(t.Fragment,null,x.dropTarget&&b.compareAxes(x.dropTarget,e.dataItem)&&x.dropDirection==="before"&&t.createElement(j,{...G}),t.createElement(K,{ref:c.canUseRef(K)?s:void 0,...e,removable:!0,onRemove:u,onMouseEnter:J,onMouseMove:W,style:{pointerEvents:C?"none":void 0},rounded:"full",...D},e.text,i!=="measureAxes"&&t.createElement($,{field:String(e.value),itemsRender:y,sort:x.sort,onSortChange:V,filter:U&&U.length?[{logic:"and",filters:U}]:void 0,onFilterChange:O,filterContent:[Ee.ColumnMenuTextFilter],..._})),x.dropTarget&&b.compareAxes(x.dropTarget,e.dataItem)&&x.dropDirection==="after"&&t.createElement(j,{...G}))}),ve={chip:ie.Chip,columnMenuTextColumn:Ee.ColumnMenuTextColumn,filterFieldsEditor:Fe,dropClue:e=>t.createElement("div",{className:"k-grouping-dropclue",style:{position:"relative",zIndex:1e4},...e})};be.defaultProps=ve,be.displayName="KendoReactPivotGridAxisEditor";const se=t.forwardRef((e,a)=>{const{value:n,field:r}={...Je,...e},s=t.useRef(null),l=t.useRef(null),m=t.useRef(null),[i,C]=c.useCustomComponent(e.chipList||Je.chipList);t.useImperativeHandle(l,()=>s.current&&s.current.element),t.useImperativeHandle(m,()=>({props:e,element:l.current})),t.useImperativeHandle(a,()=>m.current);const f=n.filter(x=>x.name.length===1&&x.name.every(F=>F.indexOf("&")===-1)).map(x=>({...x,text:String(x.name)}));return t.createElement(ot.Provider,{value:{axes:r}},t.createElement(i,{ref:c.canUseRef(i)?s:void 0,textField:"text",valueField:"name",data:f,chip:be,style:{position:"relative"},className:e.className,selection:"none",...C}))}),Je={value:[],chipList:ie.ChipList};se.defaultProps=Je,se.displayName="KendoReactPivotGridAxesEditor";const Ne=t.forwardRef((e,a)=>{const{data:n,rowAxes:r,columnAxes:s,measureAxes:l,onExpand:m,onCheck:i}={...Se,...e},C=t.useRef(null),f=t.useRef(null),[x,F]=c.useCustomComponent(e.treeView||Se.treeView),[K,D]=c.useCustomComponent(e.noData||Se.noData);t.useImperativeHandle(f,()=>({props:e,element:C.current&&C.current.element})),t.useImperativeHandle(a,()=>f.current);const[j]=t.useContext(we),G=_e(s),$=_e(r),_=_e(l),L=$e(n).filter(u=>[...G,...$,..._].some(y=>y===u.uniqueName||y===u.defaultHierarchy)),g={caption:u=>u.dataItem.caption,id:u=>u.dataItem.uniqueName,value:u=>u.dataItem.defaultHierarchy||u.dataItem.uniqueName,expanded:u=>j.expanded.some(y=>y.uniqueName===u.dataItem.uniqueName),hasChildren:u=>!("hierarchyUniqueName"in u.dataItem)&&!("aggregator"in u.dataItem),selectable:u=>!(!u.hasChildren&&!u.dataItem.aggregator&&!u.dataItem.measure||u.dataItem.type===2||u.dataItem.uniqueName==="[KPIs]"),children:u=>ye(u.dataItem.children,g,u),checked:u=>L.some(y=>u.dataItem.defaultHierarchy?y.defaultHierarchy===u.dataItem.defaultHierarchy:y.uniqueName===u.dataItem.uniqueName)||u.children.length&&u.children.every(y=>y.checked)},U=u=>{m&&m({value:u.item.dataItem,target:f.current,syntheticEvent:u.syntheticEvent})},V=u=>{i&&i({value:u.item.dataItem,target:f.current,syntheticEvent:u.syntheticEvent})},O=ye(e.data,g);return t.createElement(Te.TreeViewItemPropsContext.Provider,{value:u=>({...u,checkboxes:u.item.selectable})},O&&O.length?t.createElement(x,{ref:c.canUseRef(x)?C:void 0,data:O,checkboxes:!0,onExpandChange:U,onCheckChange:V,textField:"caption",expandIcons:!0,hasChildrenField:"hasChildren",checkIndeterminateField:"checkIndeterminate",childrenField:"children",...F}):t.createElement(K,{...D}))}),Se={data:[],rowAxes:[],columnAxes:[],measureAxes:[],treeView:Te.TreeView,noData:()=>t.createElement("div",null,"NO DATA")};Ne.defaultProps=Se,Ne.displayName="KendoReactPivotGridFieldsEditor";const Ie=t.forwardRef((e,a)=>{const{onFieldsEditorFieldCheck:n,onFieldsEditorFieldCheckAction:r,onFieldsEditorFieldExpand:s,onFieldsEditorFieldExpandAction:l,onAxisFilterFieldExpand:m,onAxisFilterFieldsExpandChange:i}=e,[C,f]=c.useCustomComponent(e.fieldsLabel||te.fieldsLabel),[x,F]=c.useCustomComponent(e.fieldsEditor||te.fieldsEditor),[K,D]=c.useCustomComponent(e.columnAxesLabel||te.columnAxesLabel),[j,G]=c.useCustomComponent(e.columnAxesEditor||te.columnAxesEditor),[$,_]=c.useCustomComponent(e.rowAxesLabel||te.rowAxesLabel),[p,L]=c.useCustomComponent(e.rowAxesEditor||te.rowAxesEditor),[g,U]=c.useCustomComponent(e.measureAxesLabel||te.measureAxesLabel),[V,O]=c.useCustomComponent(e.measureAxesEditor||te.measureAxesEditor),u=t.useRef(null),y=t.useRef(null),H=fe.useLocalization(),[P,w]=It(e,y);t.useImperativeHandle(y,()=>({element:u.current,props:e,state:P})),t.useImperativeHandle(a,()=>y.current);const J=()=>{P.dragItem&&w({type:k.setDropZone,payload:"columnAxes"})},W=()=>{P.dragItem&&w({type:k.setDropZone,payload:null})},o=()=>{P.dragItem&&w({type:k.setDropZone,payload:"rowAxes"})},h=()=>{P.dragItem&&w({type:k.setDropZone,payload:null})},E=()=>{P.dragItem&&w({type:k.setDropZone,payload:"measureAxes"})},N=()=>{P.dragItem&&w({type:k.setDropZone,payload:null})},T=R=>{const ee={target:R.target,currentTarget:y.current,value:R.value,syntheticEvent:R.syntheticEvent};if(l){const Q=l(ee,e,P);Q&&(Array.isArray(Q)?Q.filter(Boolean).map(le=>le&&w({...le},R.syntheticEvent)):w({...Q},R.syntheticEvent))}s&&s({target:R.target,currentTarget:y.current,value:R.value,syntheticEvent:R.syntheticEvent})},z=R=>{const ee={target:R.target,currentTarget:y.current,value:R.value,syntheticEvent:R.syntheticEvent};if(r){const Q=r(ee,e,P);Q&&(Array.isArray(Q)?Q.filter(Boolean).map(le=>le&&w({...le},R.syntheticEvent)):w({...Q},R.syntheticEvent))}n&&n(ee)},X=R=>{const ee={target:R.target,currentTarget:y.current,value:R.value,syntheticEvent:R.syntheticEvent};m&&m(ee)},d=R=>{const ee={target:R.target,currentTarget:y.current,value:R.value,syntheticEvent:R.syntheticEvent};i&&i(ee)},q=e.horizontal?"div":t.Fragment,B=e.horizontal?{className:"k-form-field-wrapper"}:{};return t.createElement(it.Provider,{value:{onAxisFilterFieldExpand:X,onAxisFilterFieldsExpandChange:d}},t.createElement(we.Provider,{value:[P,w]},t.createElement(q,{...B},t.createElement("div",{className:"k-form-field"},t.createElement(C,{name:"",component:ge.Label,...f},H.toLanguageString(Be,Z[Be]))),t.createElement("div",{className:"k-form-field"},t.createElement("div",{className:"k-fields-list-wrapper"},t.createElement(x,{data:e.data,onExpand:T,onCheck:z,columnAxes:P.columnAxes,rowAxes:P.rowAxes,measureAxes:P.measureAxes,...F})))),t.createElement(q,{...B},t.createElement("div",{className:"k-form-field",onMouseEnter:J,onMouseLeave:W},t.createElement(ne.Field,{name:"columnAxes",field:"columnAxes",component:K,...D},H.toLanguageString(ke,Z[ke]))),e.valueGetter("columnAxes").length?t.createElement(ne.Field,{name:"columnAxes",field:"columnAxes",component:j,onMouseEnter:J,onMouseLeave:W,className:"k-column-fields",...G}):t.createElement("div",{className:"k-settings-description",onMouseEnter:J,onMouseLeave:W},H.toLanguageString(re,Z[re])),t.createElement("div",{className:"k-form-field",onMouseEnter:o,onMouseLeave:h},t.createElement(ne.Field,{name:"rowAxes",field:"rowAxes",component:$,..._},H.toLanguageString(Ke,Z[Ke]))),e.valueGetter("rowAxes").length?t.createElement(ne.Field,{name:"rowAxes",field:"rowAxes",component:p,onMouseEnter:o,onMouseLeave:h,className:"k-column-fields",...L}):t.createElement("div",{className:"k-settings-description",onMouseEnter:o,onMouseLeave:h},H.toLanguageString(re,Z[re]))),t.createElement(q,{...B},t.createElement("div",{className:"k-form-field",onMouseEnter:E,onMouseLeave:N},t.createElement(ne.Field,{name:"measureAxes",field:"measureAxes",component:g,...U},H.toLanguageString(ze,Z[ze]))),e.valueGetter("measureAxes").length?t.createElement(ne.Field,{name:"measureAxes",field:"measureAxes",component:V,onMouseEnter:E,onMouseLeave:N,className:"k-column-fields",...O}):t.createElement("div",{className:"k-settings-description",onMouseEnter:E,onMouseLeave:N},H.toLanguageString(re,Z[re])))))}),te={data:[],horizontal:!1,fieldsLabel:ge.Label,fieldsEditor:Ne,columnAxesLabel:ge.Label,columnAxesEditor:se,rowAxesLabel:ge.Label,rowAxesEditor:se,measureAxesLabel:ge.Label,measureAxesEditor:se,axesEditor:se,onFieldsEditorFieldCheckAction:e=>({type:k.toggleSelection,payload:e.value}),onFieldsEditorFieldExpandAction:e=>({type:k.toggleExpansion,payload:e.value})};Ie.defaultProps=te,Ie.displayName="KendoReactPivotGridConfiguratorEditor";const We=t.forwardRef((e,a)=>{const{horizontal:n,data:r,rowAxes:s,columnAxes:l,measureAxes:m}={...xe,...e},i=t.useRef(null),C=t.useRef(null),f=t.useRef(null),x=fe.useLocalization(),[F,K]=c.useCustomComponent(e.editor||xe.editor),[D,j]=c.useCustomComponent(e.form||xe.form),[G,$]=c.useCustomComponent(e.formElement||xe.formElement);t.useImperativeHandle(C,()=>({props:e,element:i.current})),t.useImperativeHandle(a,()=>C.current);const _=(L,g)=>{e.onRowAxesChange&&e.onRowAxesChange({target:C.current,value:L.rowAxes,syntheticEvent:g}),e.onColumnAxesChange&&e.onColumnAxesChange({target:C.current,value:L.columnAxes,syntheticEvent:g}),e.onMeasureAxesChange&&e.onMeasureAxesChange({target:C.current,value:L.measureAxes,syntheticEvent:g}),e.onSortChange&&e.onSortChange({target:C.current,value:L.sort,syntheticEvent:g}),e.onFilterChange&&e.onFilterChange({target:C.current,value:L.filter,syntheticEvent:g})},p={rowAxes:s,columnAxes:l,measureAxes:m,sort:e.sort,filter:e.filter};return t.useEffect(()=>{f.current&&f.current.onChange("rowAxes",{value:s})},[s]),t.useEffect(()=>{f.current&&f.current.onChange("columnAxes",{value:l})},[l]),t.useEffect(()=>{f.current&&f.current.onChange("measureAxes",{value:m})},[m]),t.useEffect(()=>{f.current&&f.current.onChange("sort",{value:e.sort})},[e.sort]),t.useEffect(()=>{f.current&&f.current.onChange("filter",{value:e.filter})},[e.filter]),t.createElement("div",{ref:i,id:e.id,tabIndex:e.tabIndex,style:e.style,className:c.classNames("k-pivotgrid-configurator",e.className)},t.createElement("div",{className:c.classNames("k-pivotgrid-configurator-panel","k-pivotgrid-configurator-push",{"k-pivotgrid-configurator-horizontal":n,"k-pivotgrid-configurator-vertical":!n})},t.createElement("div",{className:"k-pivotgrid-configurator-header"},t.createElement("div",{className:"k-pivotgrid-configurator-header-text"},x.toLanguageString(Ge,Z[Ge]))),t.createElement(D,{ref:c.canUseRef(D)?f:void 0,initialValues:p,onSubmit:_,render:L=>t.createElement(t.Fragment,null,t.createElement("div",{className:"k-pivotgrid-configurator-content"},t.createElement(G,{horizontal:n,...$},t.createElement(F,{...L,horizontal:e.horizontal,onFieldsEditorFieldExpand:e.onFieldsEditorFieldExpand,onFieldsEditorFieldCheck:e.onFieldsEditorFieldCheck,onAxisFilterFieldExpand:e.onAxisFilterFieldExpand,onAxisFilterFieldsExpandChange:e.onAxisFilterFieldsExpandChange,data:r,...K}))),t.createElement("div",{className:"k-pivotgrid-configurator-actions k-actions k-hstack k-justify-content-end"},t.createElement(ie.Button,{type:"submit",onClick:L.onFormReset},x.toLanguageString(Oe,Z[Oe])),t.createElement(ie.Button,{themeColor:"primary",type:"submit",onClick:L.onSubmit},x.toLanguageString(qe,Z[qe])))),...j})))}),xe={form:ne.Form,formElement:ne.FormElement,editor:Ie,horizontal:!1,data:[],columnAxes:[],rowAxes:[],measureAxes:[]};We.defaultProps=xe,We.displayName="KendoReactPivotGridConfigurator";const Ye=t.forwardRef((e,a)=>{const n=t.useRef(null),r=t.useRef(null),s=fe.useLocalization();t.useImperativeHandle(n,()=>({props:e,element:r.current})),t.useImperativeHandle(a,()=>n.current);const[l,m]=c.useCustomComponent(e.icon||ct.icon),i=t.useMemo(()=>c.classNames("k-pivotgrid-configurator-button",e.className),[e.className]),C=c.useMouse(e,n);return t.createElement("div",{ref:r,id:e.id,className:i,tabIndex:e.tabIndex,...C},t.createElement("span",null,s.toLanguageString(Ue,Z[Ue]),t.createElement(l,{name:"gear",icon:pe.gearIcon,...m})))}),ct={icon:c.IconWrap};Ye.defaultProps=ct,Ye.displayName="KendoReactPivotGridConfiguratorButton";const ut=e=>{const[a,n]=t.useState(!0),[r,s]=t.useState({data:[],columns:[],rows:[]}),[l,m]=t.useState([]),[i,C]=t.useState(e.defaultColumnAxes||[]),[f,x]=t.useState(e.defaultRowAxes||[]),[F,K]=t.useState(e.defaultMeasureAxes||[]),[D,j]=t.useState(e.defaultSort||[]),[G,$]=t.useState(e.defaultFilter||[]),_=o=>{x(o.value)},p=o=>{C(o.value)},L=o=>{K(o.value)},g=o=>{j(o.value)},U=o=>{$(o.value)};t.useEffect(()=>{n(!0);const o={connection:{catalog:e.catalog,cube:e.cube},columnAxes:i.slice(),rowAxes:f.slice(),measureAxes:F,sort:D,filter:G};setTimeout(()=>{b.fetchData({url:e.url},c.clone(o)).then(b.createDataState).then(h=>{s(h),n(!1)})})},[i,f,F,G,D,e.cube,e.catalog,e.url]),t.useEffect(()=>{n(!0);const o={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube},command:"schemaDimensions"};b.fetchDiscover({url:e.url},o).then(h=>{b.addKPI(h),m(h),n(!1)})},[e.catalog,e.cube,e.url]);const V=(o=[],h)=>{for(let E=0;E<o.length;E++){const N=o[E];if(String(N.name)===String(h.name))return N}return null},O=(o=[],h)=>{for(let E=0;E<o.length;E++){const N=o[E];if(N.uniqueName===h.uniqueName)return N;let T=O(N.children,h);if(T!==null)return T}return null},u=async o=>{let h,E,N,T,z,X;o.name&&(h="schemaMembers",T=`${String(o.name)}.[(ALL)]`);const d={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube,hierarchyUniqueName:N,dimensionUniqueName:E,levelUniqueName:T,memberUniqueName:z,treeOp:X},command:h};return b.fetchDiscover({url:e.url},d)},y=async o=>{let h,E,N,T,z,X;o.uniqueName&&(h="schemaMembers",z=o.uniqueName.replace(/\&/g,"&amp;"),X=1);const d={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube,hierarchyUniqueName:N,dimensionUniqueName:E,levelUniqueName:T,memberUniqueName:z,treeOp:X},command:h};return b.fetchDiscover({url:e.url},d)},H=async o=>{let h,E,N,T,z,X;o.type===2?h="schemaMeasures":o.dimensionUniqueName?(h="schemaLevels",N=o.uniqueName):(h="schemaHierarchies",E=o.uniqueName);const d={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube,hierarchyUniqueName:N,dimensionUniqueName:E,levelUniqueName:T,memberUniqueName:z,treeOp:X},command:h};return b.fetchDiscover({url:e.url},d)},P=async()=>{const o={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube},command:"schemaKPIs"};return b.fetchDiscover({url:e.url},o)},w=async o=>{const h=l.slice(),E=O(h,o.value);if(E&&E.uniqueName==="[KPIs]"){const N=Mt(await P());E.children=N}else if(E&&E.type==="kpi")E.children=b.buildKPIMeasures(E);else if(E&&!E.children){const N=await H(E);E.children=N}m(h)},J=async o=>{if(!o)return;const h={rowAxes:[f,x],columnAxes:[i,C],measureAxes:[F,K]},[E,N]=h[o.target.props.axes],T=E.slice(),z=V(T,o.target.props.dataItem);if(z&&!z.fields){const X=await u(z);z.fields=X,N(T)}},W=async o=>{if(!o)return;const h={rowAxes:[f,x],columnAxes:[i,C],measureAxes:[F,K]},[E,N]=h[o.target.props.axes],T=E.slice(),z=V(T,o.target.props.dataItem);if(z){const X=(z.fields||[]).slice(),d=O(X,o.value);if(d&&(!d.children||!d.children.length)){const q=await y(d);d.children=q,z.fields=X,N(T)}}};return{pivotProps:{rowAxes:f,columnAxes:i,data:r.data,rows:r.rows,columns:r.columns,onRowAxesChange:_,onColumnAxesChange:p},configuratorProps:{sort:D,onSortChange:g,filter:G,onFilterChange:U,data:l,rowAxes:f,columnAxes:i,measureAxes:F,onRowAxesChange:_,onColumnAxesChange:p,onMeasureAxesChange:L,onFieldsEditorFieldExpand:w,onAxisFilterFieldExpand:W,onAxisFilterFieldsExpandChange:J},state:{loading:a}}},Pt=e=>{const a=ut(e);return e.children(a)},Mt=e=>{for(let a=0,n=e.length;a<n;a++)e[a].uniqueName=e[a].name,e[a].type="kpi";return e},dt={dataField:"aggregate",columnsData:"columns"},Pe="&",mt=e=>{const[a,n]=t.useState(!0),[r,s]=t.useState(e.defaultColumnAxes||[]),[l,m]=t.useState(e.defaultRowAxes||[]),[i,C]=t.useState(e.defaultMeasureAxes||[]),[f,x]=t.useState(e.defaultSort||[]),[F,K]=t.useState(e.defaultFilter||[]),[D,j]=t.useState(new Map),G=t.useCallback(w=>{m(w.value)},[]),$=t.useCallback(w=>{s(w.value)},[]),_=w=>{C(w.value)},p=w=>{x(w.value)},L=w=>{K(w.value)},g=t.useMemo(()=>Array.from(b.rootFields(r).keys()).join(Pe),[r]),U=t.useMemo(()=>Array.from(b.rootFields(l).keys()).join(Pe),[l]),V=t.useCallback(w=>({key:w,...e.dimensions[w]}),[e.dimensions]),O=t.useMemo(()=>g?g.split(Pe).map(V):[],[g,V]),u=t.useMemo(()=>U?U.split(Pe).map(V):[],[U,V]),y=t.useMemo(()=>i.map(w=>e.measures.find(J=>String(J.name)===String(w.name))).filter(Boolean),[i,e.measures]);t.useEffect(()=>{n(!0),setTimeout(()=>{const w=b.createDataTree(e.data,u,O,y,dt,F);j(w),n(!1)},0)},[e.data,u,O,y,F]);const H=t.useMemo(()=>b.createFlatSchemaDimensions(e.dimensions,e.measures),[e.dimensions,e.measures]),P=t.useMemo(()=>b.createLocalDataState({dataTree:D,rowSettings:u,columnSettings:O,rowAxes:l,columnAxes:r,measures:y,sort:f,fields:dt}),[r,O,D,l,u,f]);return{pivotProps:{rowAxes:l,columnAxes:r,data:P.data,rows:P.rows,columns:P.columns,onRowAxesChange:G,onColumnAxesChange:$},configuratorProps:{sort:f,onSortChange:p,filter:F,onFilterChange:L,data:H,rowAxes:l,columnAxes:r,measureAxes:i,onRowAxesChange:G,onColumnAxesChange:$,onMeasureAxesChange:_},state:{loading:a}}},Lt=e=>{const a=mt(e);return e.children(a)};Object.defineProperty(A,"averageAggregate",{enumerable:!0,get:()=>b.averageAggregate}),Object.defineProperty(A,"maxAggregate",{enumerable:!0,get:()=>b.maxAggregate}),Object.defineProperty(A,"minAggregate",{enumerable:!0,get:()=>b.minAggregate}),Object.defineProperty(A,"sumAggregate",{enumerable:!0,get:()=>b.sumAggregate}),A.PivotGrid=rt,A.PivotGridAxesEditor=se,A.PivotGridAxisEditor=be,A.PivotGridAxisFilterFieldsEditor=Fe,A.PivotGridCell=je,A.PivotGridColumn=Ae,A.PivotGridConfigurator=We,A.PivotGridConfiguratorButton=Ye,A.PivotGridConfiguratorEditor=Ie,A.PivotGridContainer=Xe,A.PivotGridFieldsEditor=Ne,A.PivotGridHeaderCell=Ce,A.PivotGridRow=Ve,A.PivotLocalDataService=Lt,A.PivotOLAPService=Pt,A.dataCells=wt,A.usePivotLocalDataService=mt,A.usePivotOLAPService=ut,Object.defineProperty(A,Symbol.toStringTag,{value:"Module"})});
package/hooks/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  export * from './useExpansion';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { PivotGridAxis, Measure, Dimension } from '@progress/kendo-pivotgrid-common';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { PivotGridAxis } from '@progress/kendo-pivotgrid-common';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
package/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  export * from './index';
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  export { PivotGrid, type PivotGridProps, type PivotGridHandle } from './PivotGrid';
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const bt=require("react"),c=require("@progress/kendo-react-common"),he=require("@progress/kendo-react-intl"),b=require("@progress/kendo-pivotgrid-common"),pe=require("@progress/kendo-svg-icons"),ue=require("@progress/kendo-react-buttons"),ne=require("@progress/kendo-react-form"),me=require("@progress/kendo-react-labels"),Ae=require("@progress/kendo-react-data-tools"),Ve=require("@progress/kendo-react-treeview"),Ft=require("@progress/kendo-react-indicators");function Pt(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(o,n,a.get?a:{enumerable:!0,get:()=>e[n]})}}return o.default=e,Object.freeze(o)}const t=Pt(bt),Rt={name:"@progress/kendo-react-pivotgrid",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},Me="pivotgrid.emptyCellAriaLabel",Le="pivotgrid.fieldMenuReset",Te="pivotgrid.fieldMenuApply",De="pivotgrid.configuratorTitle",He="pivotgrid.configuratorCancel",Ge="pivotgrid.configuratorApply",Oe="pivotgrid.configuratorColumnsTitle",qe="pivotgrid.configuratorRowsTitle",Be="pivotgrid.configuratorMeasuresTitle",ze="pivotgrid.configuratorEditorSearchTitle",It="pivotgrid.configuratorEditorSearchPlaceholder",ae="pivotgrid.configuratorMissingFields",Ke="pivotgrid.configuratorButtonLabel",Z={[Me]:"PivotGrid component. Use the arrow keys to navigate.",[Le]:"Reset",[Te]:"Apply",[He]:"Cancel",[Ge]:"Apply",[De]:"Settings",[ze]:"Fields",[It]:"Search...",[Oe]:"Columns",[qe]:"Rows",[Be]:"Values",[Ke]:"Change settings",[ae]:"Select some fields to begin setup"},$e=t.forwardRef((e,o)=>{const n=t.useRef(null),a=t.useRef(null);t.useImperativeHandle(n,()=>({element:a.current,props:e})),t.useImperativeHandle(o,()=>n.current);const l=c.useMouse(e,n);return t.createElement("tr",{ref:a,...l,id:e.id,style:e.style,tabIndex:e.tabIndex,children:e.children,role:e.role,"aria-owns":e.ariaOwns,className:c.classNames("k-pivotgrid-row",e.className)})});$e.displayName="KendoReactPivotGridRow";const je=t.forwardRef((e,o)=>{const n=t.useRef(null),a=t.useRef(null);t.useImperativeHandle(n,()=>({element:a.current,props:e})),t.useImperativeHandle(o,()=>n.current);const l=c.useMouse(e,n);return t.createElement("td",{ref:a,...l,id:e.id,style:e.style,tabIndex:e.tabIndex,role:e.role,"aria-describedby":e.ariaDescribedby,className:c.classNames("k-pivotgrid-cell",{"k-pivotgrid-header-total":e.total},e.className)},e.children)});je.displayName="KendoReactPivotGridCell";const tt=(e,o,n)=>[e,(l,s)=>{const m=b.headersReducer(e,{...l,tree:o});n&&n(m,s)}],we=t.forwardRef((e,o)=>{const n=t.useRef(null),a=t.useRef(null);t.useImperativeHandle(n,()=>({element:a.current,props:e})),t.useImperativeHandle(o,()=>n.current);const[l,s]=c.useCustomComponent(e.icon||at.icon),m=c.useMouse(e,n),i=p=>{e.onIconClick&&e.onIconClick.call(void 0,{syntheticEvent:p.syntheticEvent,target:n.current})};return t.createElement("th",{ref:a,...m,colSpan:e.colSpan,rowSpan:e.rowSpan,id:e.id,style:e.style,tabIndex:e.tabIndex,role:e.role,...e.expandable?{"aria-expanded":e.expanded}:{},className:c.classNames("k-pivotgrid-cell",{"k-pivotgrid-header-total":e.total,"k-pivotgrid-header-root":e.root,"k-pivotgrid-expanded":e.expanded,"k-first":e.first},e.className)},e.expandable&&t.createElement(l,{...s,onClick:i,name:`chevron-${e.expanded?"up":"down"}`,"aria-hidden":!0,icon:e.expanded?pe.chevronUpIcon:pe.chevronDownIcon}),e.children)}),at={icon:c.IconWrap};we.defaultProps=at;we.displayName="KendoReactPivotGridHeaderCell";const St=(...e)=>{const o=t.useRef();return a=>{o.current!==void 0&&window.cancelAnimationFrame(o.current);const l=a.currentTarget,s=l.scrollLeft;e.forEach(m=>{const i=m.current;i&&i!==l&&(o.current=window.requestAnimationFrame(()=>{i.scrollLeft=Math.round(s)}))})}},Nt=(...e)=>{const o=t.useRef();return a=>{o.current!==void 0&&window.cancelAnimationFrame(o.current);const l=a.currentTarget,s=l.scrollTop;e.forEach(m=>{const i=m.current;i&&i!==l&&(o.current=window.requestAnimationFrame(()=>{i.scrollTop=Math.round(s)}))})}},be=t.forwardRef((e,o)=>{const n=t.useRef(null),a=t.useRef(null);t.useImperativeHandle(n,()=>({element:a.current,props:e})),t.useImperativeHandle(o,()=>n.current);const l=c.useMouse(e,n);return t.createElement("col",{ref:a,...l,id:e.id,style:e.style,tabIndex:e.tabIndex,children:e.children,className:e.className})}),kt={path:[]};be.defaultProps=kt;be.displayName="KendoReactPivotGridColumn";const Mt=(e,o,n)=>{const a=JSON.parse(JSON.stringify(e||[])),l=JSON.parse(JSON.stringify(o||[])),s=JSON.parse(JSON.stringify(n||[])),m=b.toTree(a),[,i,p]=b.toRows(m),f=b.toTree(l),[,v,,w]=b.toColumns(f);return b.toData(s,v,i,w,p)},ye=(e=[],o={},n=null)=>e.map(a=>{const l={dataItem:a};return Object.keys(o).forEach(s=>{l[s]=o[s](l,n)}),l}),_e=(e=[])=>{let o=[...e];return(e||[]).forEach(n=>{o=o.concat(_e(n.children))}),o},ke=(e=[])=>{const o=new Set;return e.forEach(n=>{o.add(String(n.name))}),Array.from(o)},re=(e=[])=>`${e.join(",")}`,Lt=(e,o)=>`${re(e.map(n=>n.name))}|${re(o.map(n=>n.name))}`,Tt=(e,o,n)=>{if(!e)return;let a=0,l,s=e.length,m;for(;a<s;a++)m=e[a].operator,(!n&&m!=="in"||m===n)&&e[a].field===o&&(l=e[a]);return l},nt=(e,o,n)=>{if(!e)return[];let a=0,l=[],s=e.length,m;for(;a<s;a++)m=e[a].operator,(!n&&m!=="in"||m===n)&&e[a].field===o&&l.push(e[a]);return l},rt=(e,o)=>e.uniqueName===o.uniqueName,lt=t.forwardRef((e,o)=>{c.validatePackage(Rt);const{rows:n,rowAxes:a,columns:l,columnAxes:s,data:m}={...de,...e},i=t.useRef(null),p=t.useRef(null),f=t.useRef(null),v=t.useRef(null),w=t.useRef(null),O=t.useRef(null),M=t.useRef(null),V=he.useLocalization(),D=(C,S)=>{e.onRowAxesChange&&e.onRowAxesChange({value:C,target:p.current,syntheticEvent:S})},$=(C,S)=>{e.onColumnAxesChange&&e.onColumnAxesChange({value:C,target:p.current,syntheticEvent:S})},j=b.toTree((n||[]).slice()),[,x]=tt((a||[]).slice(),j,D),[N,g,K,U]=b.toRows(j),H=b.toTree((l||[]).slice()),[,u]=tt((s||[]).slice(),H,$),[A,L,,I]=b.toColumns(H),y=b.toData((m||[]).slice(),L,g,I,K);t.useImperativeHandle(p,()=>({props:e,element:i.current,columnHeaderRows:A,rowHeaderRows:N,dataCells:y,rowHeaderBreadth:U,columnHeaderBreadth:I})),t.useImperativeHandle(o,()=>p.current);const X=[],J=[],r=[],[h,E]=c.useCustomComponent(e.row||de.row),[F,k]=c.useCustomComponent(e.column||de.column),[q,_]=c.useCustomComponent(e.cell||de.cell),[d,G]=c.useCustomComponent(e.headerCell||de.headerCell),z=e.columnHeadersRow||h,T=e.columnHeadersColumn||F,Q=e.columnHeadersCell||d,Y=e.rowHeadersRow||h,oe=e.rowHeadersColumn||F,gt=e.rowHeadersCell||d,ht=e.dataRow||h,Ct=e.dataColumn||F;for(let C=0;C<L.length;C++)X.push(t.createElement(Ct,{key:String(L[C].path),...k,path:L[C].path})),r.push(t.createElement(T,{key:String(L[C].path),...k,path:L[C].path}));for(let C=0;C<U;C++)J.push(t.createElement(oe,{key:C,...k}));const vt=C=>{C.target.props.expandable&&u({type:b.HEADERS_ACTION.toggle,payload:C.target.props.dataItem.path},C.syntheticEvent)},xt=C=>{C.target.props.expandable&&x({type:b.HEADERS_ACTION.toggle,payload:C.target.props.dataItem.path},C.syntheticEvent)},Ye=St(M,O),Et=Nt(M,w),pt=C=>{Ye(C),Et(C)},Qe=t.useCallback(()=>{i.current&&v.current&&(i.current.style.gridTemplateRows="",i.current.style.gridTemplateRows=`${v.current.offsetHeight}px 1fr`)},[]),et=t.useCallback(()=>{i.current&&f.current&&(i.current.style.gridTemplateColumns="",i.current.style.gridTemplateColumns=`${f.current.offsetWidth}px 1fr`)},[]),se=t.useRef(new b.PivotGridNavigation({tabIndex:e.tabIndex||0}));t.useEffect(()=>{if(i.current){const C=e.tabIndex||0;if(se.current.stop(),se.current.tabIndex=C,e.navigatable){se.current.start(i.current);const S=se.current.first;S&&S.setAttribute("tabindex",String(C))}}return()=>{se.current.stop()}},[e.tabIndex,e.navigatable]),t.useEffect(()=>{se.current.update()}),t.useEffect(()=>{if(v.current){const C=new window.ResizeObserver(Qe);return C.observe(v.current),()=>{C.disconnect()}}},[Qe]),t.useEffect(()=>{if(f.current){const C=new window.ResizeObserver(et);return C.observe(f.current),()=>{C.disconnect()}}},[et]),t.useLayoutEffect(()=>{if(c.setScrollbarWidth(),f.current){const C=new window.ResizeObserver(c.setScrollbarWidth);return C.observe(f.current),()=>{C.disconnect()}}},[]);const ie=new Array(A.length).fill([]).map(()=>new Array(L.length));A.forEach((C,S)=>{let P=0;Array.from(C.cells).forEach(R=>{const W=!!(R&&R.children&&R.children.length),Ne=(R?re(R.normalizedPath)+(R.total?"|[TOTAL]":"")+(W?"|[EXPANDED]":""):"").replace(/\s/g,"-");if(R)for(let ve=0;ve<(R.colSpan||1);ve++){for(let ce=0;ce<(R.rowSpan||1);ce++){const At=ie[S+ce].findIndex((yt,wt)=>wt>=P&&!yt);ie[S+ce][At]=Ne}P++}})});const Ce=y.map(C=>C.cells.map(S=>Lt(S.rowTuple.members,S.columnTuple.members).replace(/\s/g,"-")));return t.createElement("div",{ref:i,id:e.id,style:e.style,tabIndex:e.navigatable?void 0:e.tabIndex,className:c.classNames("k-pivotgrid",e.className),role:"grid"},t.createElement("span",{className:"k-pivotgrid-empty-cell"},t.createElement("span",{className:"k-sr-only"},V.toLanguageString(Me,Z[Me]))),t.createElement("div",{ref:O,className:"k-pivotgrid-column-headers",onScroll:Ye},t.createElement("table",{ref:v,className:"k-pivotgrid-table",role:"none"},t.createElement("colgroup",null,r),t.createElement("tbody",{className:"k-pivotgrid-tbody",role:"rowgroup"},A.map((C,S)=>{let P=!1;return t.createElement(z,{key:C.name,role:"row",...E},C.cells.map((R,W)=>{const Ne=W!==0&&!P;R&&(P=!0);const ve=R&&!!(R.children&&R.children.length),ce=R&&R.hasChildren&&(!R.total||R.total&&R.parent.total);return R?t.createElement(Q,{...G,key:ie[S][W],"data-key":ie[S][W],id:ie[S][W],columnPath:R.normalizedPath,rowSpan:R.rowSpan||void 0,colSpan:R.colSpan||void 0,onIconClick:vt,dataItem:R,expanded:ve,expandable:ce,total:R.total,first:Ne,root:R.levelNum===0,role:"columnheader"},R.caption):null}))})))),t.createElement("div",{ref:w,className:"k-pivotgrid-row-headers"},t.createElement("table",{ref:f,className:"k-pivotgrid-table",role:"none"},t.createElement("colgroup",null,J),t.createElement("tbody",{className:"k-pivotgrid-tbody",role:"rowgroup"},N.map((C,S)=>t.createElement(Y,{key:re(g[S].path),...E,path:g[S].path,role:"row",ariaOwns:Ce[S].join(" ")},C.cells.filter(Boolean).map(P=>P?t.createElement(gt,{...G,key:re(P.normalizedPath)+(P.total?"|[TOTAL]":"")+(P.children&&P.children.length?"|[EXPANDED]":""),"data-key":re(P.normalizedPath)+(P.total?"|[TOTAL]":"")+(P.children&&P.children.length?"|[EXPANDED]":""),rowPath:P.normalizedPath,rowSpan:P.rowSpan||void 0,colSpan:P.colSpan||void 0,dataItem:P,expanded:!!(P.children&&P.children.length),expandable:P.hasChildren&&!P.total,total:P.total,onIconClick:xt,root:P.levelNum===0,role:"rowheader"},P.caption):null)))))),t.createElement("div",{ref:M,className:"k-pivotgrid-values",onScroll:pt},t.createElement("table",{className:"k-pivotgrid-table",role:"none"},t.createElement("colgroup",null,X),t.createElement("tbody",{className:"k-pivotgrid-tbody",role:"none"},y.map((C,S)=>t.createElement(ht,{key:re(g[S].path),...E,path:g[S].path,role:"none"},C.cells.map((P,R)=>t.createElement(q,{key:Ce[S][R],"data-key":Ce[S][R],id:Ce[S][R],..._,rowPath:P.rowTuple.members.map(W=>W.name),columnPath:P.columnTuple.members.map(W=>W.name),dataItem:P,total:g[S].total||L[R].total,role:"gridcell",ariaDescribedby:ie.map(W=>W[R]).join(" ")},P&&P.data&&P.data.fmtValue?P.data.fmtValue:" "))))))))}),de={rowAxes:[],columnAxes:[],data:[],row:$e,column:be,cell:je,headerCell:we};lt.displayName="KendoReactPivotGrid";const Xe=t.forwardRef((e,o)=>{const n=t.useRef(null),a=t.useRef(null);return t.useImperativeHandle(a,()=>({props:e,element:n.current})),t.useImperativeHandle(o,()=>a.current),t.createElement("div",{ref:n,id:e.id,style:e.style,tabIndex:e.tabIndex,className:c.classNames("k-d-flex k-pos-relative",{"k-flex-row":e.configuratorPosition==="right","k-flex-row-reverse":e.configuratorPosition==="left","k-flex-column":e.configuratorPosition==="bottom","k-flex-column-reverse":e.configuratorPosition==="top"},e.className)},e.children)}),Dt={configuratorPosition:"right"};Xe.defaultProps=Dt;Xe.displayName="KendoReactPivotGridContainer";const st=t.createContext({axes:null});var Ze=(e=>(e.toggle="EXPAND_TOGGLE",e.expand="EXPAND_EXPAND",e.collapse="EXPAND_COLLAPSE",e))(Ze||{});const Ht=(e,o,n)=>{switch(o.type){case"EXPAND_TOGGLE":return Array.isArray(e)?e.find(a=>n(a,o.payload))?[...e.filter(a=>!n(a,o.payload))]:[...e,o.payload]:n(e,o.payload)?null:o.payload;case"EXPAND_EXPAND":if(Array.isArray(e)){if(!e.find(a=>n(a,o.payload)))return[...e,o.payload]}else if(!n(e,o.payload))return o.payload;break;case"EXPAND_COLLAPSE":if(Array.isArray(e)){if(e.find(a=>n(a,o.payload)))return[...e.filter(a=>!n(a,o.payload))]}else n(e,o.payload);break;default:return e}},it=(e=[],o,n,a=(l,s)=>l===s)=>{const[l,s]=t.useState(e);return[l,(i,p)=>{const f=Ht(l,i,a);o&&o.call(void 0,{value:f,target:n.current,syntheticEvent:p}),s(f)}]};var ct=(e=>(e.toggleExpansion="PIVOT_CONFIGURATOR_ACTION_TOGGLE_EXPANSION",e))(ct||{});const B={...b.PIVOT_CONFIGURATOR_ACTION,...ct},Gt=(e,o)=>{const n=e.valueGetter("rowAxes"),a=e.valueGetter("columnAxes"),l=e.valueGetter("measureAxes"),s=e.valueGetter("sort"),m=e.valueGetter("filter"),[i,p]=it([],void 0,o,rt),[f,v]=t.useState(null),[w,O]=t.useState(null),[M,V]=t.useState(null),[D,$]=t.useState(null);return[{dragItem:f,dropTarget:M,dropZone:w,dropDirection:D,columnAxes:a,rowAxes:n,measureAxes:l,sort:s,filter:m,expanded:i},(x,N)=>{switch(x.type){case B.toggleExpansion:{p({type:Ze.toggle,payload:x.payload},N);break}default:const g=b.configuratorReducer({filter:x.override&&x.override.filter!==void 0?x.override.filter:m,sort:x.override&&x.override.sort!==void 0?x.override.sort:s,rowAxes:x.override&&x.override.rowAxes!==void 0?x.override.rowAxes:n,columnAxes:x.override&&x.override.columnAxes!==void 0?x.override.columnAxes:a,measureAxes:x.override&&x.override.measureAxes!==void 0?x.override.measureAxes:l,dragItem:x.override&&x.override.dragItem!==void 0?x.override.dragItem:f,dropDirection:x.override&&x.override.dropDirection!==void 0?x.override.dropDirection:D,dropTarget:x.override&&x.override.dropTarget!==void 0?x.override.dropTarget:M,dropZone:x.override&&x.override.dropZone!==void 0?x.override.dropZone:w},x);g.columnAxes!==void 0&&e.onChange("columnAxes",{value:g.columnAxes}),g.rowAxes!==void 0&&e.onChange("rowAxes",{value:g.rowAxes}),g.measureAxes!==void 0&&e.onChange("measureAxes",{value:g.measureAxes}),g.sort!==void 0&&e.onChange("sort",{value:g.sort}),g.filter!==void 0&&e.onChange("filter",{value:g.filter}),g.dropDirection!==void 0&&$(g.dropDirection),g.dropTarget!==void 0&&V(g.dropTarget),g.dropZone!==void 0&&O(g.dropZone),g.dragItem!==void 0&&v(g.dragItem);break}}]},ut=t.createContext({}),Fe=t.createContext([{expanded:[],rowAxes:[],columnAxes:[],measureAxes:[],dragItem:null,dropZone:null,dropDirection:null,dropTarget:null},c.noop]),Pe=t.forwardRef((e,o)=>{const{data:n,dataItem:a,defaultFilter:l}={...te,...e},s=t.useRef(null),m=t.useRef(null),i=he.useLocalization(),[p,f]=c.useCustomComponent(e.columnMenuItem||te.columnMenuItem),[v,w]=c.useCustomComponent(e.columnMenuForm||te.columnMenuForm),[O,M]=c.useCustomComponent(e.resetButton||te.resetButton),[V,D]=c.useCustomComponent(e.applyButton||te.applyButton),[$,j]=c.useCustomComponent(e.treeView||te.treeView),[x,N]=c.useCustomComponent(e.noData||te.noData);t.useImperativeHandle(m,()=>({props:e,element:s.current})),t.useImperativeHandle(o,()=>m.current);const[g,K]=t.useState(!1),{onAxisFilterFieldsExpandChange:U,onAxisFilterFieldExpand:H}=t.useContext(ut),[,u]=t.useContext(Fe),[A,L]=t.useState(l),I=A?A.value.split(","):[],[y,X]=it([],void 0,m,rt),J={caption:d=>d.dataItem.caption,id:d=>d.dataItem.uniqueName,parent:(d,G)=>G&&G.value,value:d=>d.dataItem.defaultHierarchy||d.dataItem.uniqueName,expanded:d=>y.some(G=>G.uniqueName===d.id),checked:d=>!I.length||(I||[]).some(G=>G===d.dataItem.uniqueName),hasChildren:d=>parseInt(d.dataItem.childrenCardinality,10)>0,children:d=>ye(d.dataItem.children,J,d),checkIndeterminate:d=>{const G=(d.children||[]).length&&d.children.every(z=>z.checked);return G&&(d.checked=!0),(d.children||[]).some(z=>z.checked)&&!G}},r=ye(n,J),h=_e(r),E=d=>{K(!g),U&&U({value:!g,target:m.current,syntheticEvent:d})},F=d=>{X({type:Ze.toggle,payload:d.item.dataItem},d.syntheticEvent),H&&H({value:d.item.dataItem,target:m.current,syntheticEvent:d.syntheticEvent})},k=d=>{let G;d.item.checked?G={field:String(a.name),operator:"in",value:h.filter(z=>z.checked).map(z=>String(z.value)).filter(z=>z!==d.item.value&&z!==d.item.parent).join(",")}:G={field:String(a.name),operator:"in",value:h.filter(z=>z.checked).map(z=>String(z.value)).concat([d.item.value]).join(",")},L(G)},q=d=>{K(!1),A&&u({type:B.removeFilter,payload:A},d)},_=d=>{K(!1),A&&u({type:l?B.changeFilter:B.addFilter,payload:A},d)};return t.createElement("div",{ref:s,id:e.id,tabIndex:e.tabIndex,style:e.style,className:c.classNames("k-columnmenu-item-wrapper",e.className)},t.createElement(p,{...f,title:"Include Fields",iconClass:"k-i-grid-layout",svgIcon:pe.gridLayoutIcon,onClick:E}),t.createElement(v,{show:g,actions:t.createElement(t.Fragment,null,t.createElement(O,{type:"reset",onClick:q,...M},i.toLanguageString(Le,Z[Le])),t.createElement(V,{themeColor:"primary",onClick:_,...D},i.toLanguageString(Te,Z[Te]))),...w},r&&r.length?t.createElement($,{data:r,checkboxes:!0,onExpandChange:F,onCheckChange:k,textField:"caption",expandIcons:!0,hasChildrenField:"hasChildren",checkIndeterminateField:"checkIndeterminate",childrenField:"children",...j}):t.createElement(x,{...N})))}),te={data:[],resetButton:ue.Button,applyButton:ue.Button,treeView:Ve.TreeView,noData:()=>t.createElement(Ft.Skeleton,{shape:"rectangle",style:{height:"20px",width:"calc(100% - 16px)",margin:8}}),columnMenuItem:Ae.ColumnMenuItem,columnMenuForm:Ae.ColumnMenuForm};Pe.defaultProps=te;Pe.displayName="KendoReactPivotGridAxisFilterFieldsEditor";const Re=t.forwardRef((e,o)=>{const n=t.useRef(0),a=t.useRef(0),l=t.useRef(null),s=t.useRef(null),m=t.useRef(null),{axes:i}=t.useContext(st),[p,f]=t.useState(!1),[v,w]=t.useContext(Fe);t.useImperativeHandle(s,()=>l.current&&l.current.element),t.useImperativeHandle(m,()=>({props:e,element:s.current})),t.useImperativeHandle(o,()=>m.current);const[O,M]=c.useCustomComponent(e.chip||fe.chip),[V,D]=c.useCustomComponent(e.dropClue||fe.dropClue),[$,j]=c.useCustomComponent(e.columnMenuTextColumn||fe.columnMenuTextColumn),[x,N]=c.useCustomComponent(e.filterFieldsEditor||fe.filterFieldsEditor),g=nt(v.filter,String(e.value),"in"),K=nt(v.filter,String(e.value)),U=(r,h)=>{w({type:B.setSort,payload:h},r)},H=(r,h)=>{h.length?w({type:B.setFilter,payload:[...g||[],...h.reduce((E,F)=>[...E,...F.filters.filter(k=>k.value)],[])]},r):w({type:B.setFilter,payload:g},r)},u=r=>{w({type:B.remove,payload:e.dataItem},r.syntheticEvent)},A=r=>{const h=r.slice(),E=Tt(v.filter,String(e.dataItem.name),"in");return h.splice(1,0,t.createElement(x,{key:"axis-filter-fields-editor",defaultFilter:E,dataItem:e.dataItem,data:e.dataItem.fields,axes:i,...N})),h},L=r=>{n.current=r.clientX,a.current=r.clientY},I=r=>{Math.abs(n.current-r.clientX)<10&&Math.abs(a.current-r.clientY)<10||(s.current&&(s.current.style.transform=`translate(${r.clientX-n.current}px, ${r.clientY-a.current}px)`),f(!0),w({type:B.setDragItem,payload:e.dataItem}))},y=()=>{f(!1),v.dragItem&&(s.current&&(s.current.style.transform=""),w({type:B.drop,payload:e.dataItem}))},X=r=>{v.dragItem&&(w({type:B.setDropTarget,payload:e.dataItem},r.syntheticEvent),w({type:B.setDropZone,payload:i},r.syntheticEvent))},J=r=>{if(v.dragItem&&!p&&s.current){const h=s.current.getBoundingClientRect(),F=r.syntheticEvent.clientX-h.left<h.width/2?"before":"after";w({type:B.setDropDirection,payload:F},r.syntheticEvent)}};return c.useDraggable(s,{onPress:L,onDrag:I,onRelease:y}),t.createElement(t.Fragment,null,v.dropTarget&&b.compareAxes(v.dropTarget,e.dataItem)&&v.dropDirection==="before"&&t.createElement(V,{...D}),t.createElement(O,{ref:c.canUseRef(O)?l:void 0,...e,removable:!0,onRemove:u,onMouseEnter:X,onMouseMove:J,style:{pointerEvents:p?"none":void 0},rounded:"full",...M},e.text,i!=="measureAxes"&&t.createElement($,{field:String(e.value),itemsRender:A,sort:v.sort,onSortChange:U,filter:K&&K.length?[{logic:"and",filters:K}]:void 0,onFilterChange:H,filterContent:[Ae.ColumnMenuTextFilter],...j})),v.dropTarget&&b.compareAxes(v.dropTarget,e.dataItem)&&v.dropDirection==="after"&&t.createElement(V,{...D}))}),fe={chip:ue.Chip,columnMenuTextColumn:Ae.ColumnMenuTextColumn,filterFieldsEditor:Pe,dropClue:e=>t.createElement("div",{className:"k-grouping-dropclue",style:{position:"relative",zIndex:1e4},...e})};Re.defaultProps=fe;Re.displayName="KendoReactPivotGridAxisEditor";const le=t.forwardRef((e,o)=>{const{value:n,field:a}={...Ue,...e},l=t.useRef(null),s=t.useRef(null),m=t.useRef(null),[i,p]=c.useCustomComponent(e.chipList||Ue.chipList);t.useImperativeHandle(s,()=>l.current&&l.current.element),t.useImperativeHandle(m,()=>({props:e,element:s.current})),t.useImperativeHandle(o,()=>m.current);const f=n.filter(v=>v.name.length===1&&v.name.every(w=>w.indexOf("&")===-1)).map(v=>({...v,text:String(v.name)}));return t.createElement(st.Provider,{value:{axes:a}},t.createElement(i,{ref:c.canUseRef(i)?l:void 0,textField:"text",valueField:"name",data:f,chip:Re,style:{position:"relative"},className:e.className,selection:"none",...p}))}),Ue={value:[],chipList:ue.ChipList};le.defaultProps=Ue;le.displayName="KendoReactPivotGridAxesEditor";const Ie=t.forwardRef((e,o)=>{const{data:n,rowAxes:a,columnAxes:l,measureAxes:s,onExpand:m,onCheck:i}={...Ee,...e},p=t.useRef(null),f=t.useRef(null),[v,w]=c.useCustomComponent(e.treeView||Ee.treeView),[O,M]=c.useCustomComponent(e.noData||Ee.noData);t.useImperativeHandle(f,()=>({props:e,element:p.current&&p.current.element})),t.useImperativeHandle(o,()=>f.current);const[V]=t.useContext(Fe),D=ke(l),$=ke(a),j=ke(s),N=_e(n).filter(u=>[...D,...$,...j].some(A=>A===u.uniqueName||A===u.defaultHierarchy)),g={caption:u=>u.dataItem.caption,id:u=>u.dataItem.uniqueName,value:u=>u.dataItem.defaultHierarchy||u.dataItem.uniqueName,expanded:u=>V.expanded.some(A=>A.uniqueName===u.dataItem.uniqueName),hasChildren:u=>!("hierarchyUniqueName"in u.dataItem)&&!("aggregator"in u.dataItem),selectable:u=>!(!u.hasChildren&&!u.dataItem.aggregator&&!u.dataItem.measure||u.dataItem.type===2||u.dataItem.uniqueName==="[KPIs]"),children:u=>ye(u.dataItem.children,g,u),checked:u=>N.some(A=>u.dataItem.defaultHierarchy?A.defaultHierarchy===u.dataItem.defaultHierarchy:A.uniqueName===u.dataItem.uniqueName)||u.children.length&&u.children.every(A=>A.checked)},K=u=>{m&&m({value:u.item.dataItem,target:f.current,syntheticEvent:u.syntheticEvent})},U=u=>{i&&i({value:u.item.dataItem,target:f.current,syntheticEvent:u.syntheticEvent})},H=ye(e.data,g);return t.createElement(Ve.TreeViewItemPropsContext.Provider,{value:u=>({...u,checkboxes:u.item.selectable})},H&&H.length?t.createElement(v,{ref:c.canUseRef(v)?p:void 0,data:H,checkboxes:!0,onExpandChange:K,onCheckChange:U,textField:"caption",expandIcons:!0,hasChildrenField:"hasChildren",checkIndeterminateField:"checkIndeterminate",childrenField:"children",...w}):t.createElement(O,{...M}))}),Ee={data:[],rowAxes:[],columnAxes:[],measureAxes:[],treeView:Ve.TreeView,noData:()=>t.createElement("div",null,"NO DATA")};Ie.defaultProps=Ee;Ie.displayName="KendoReactPivotGridFieldsEditor";const Se=t.forwardRef((e,o)=>{const{onFieldsEditorFieldCheck:n,onFieldsEditorFieldCheckAction:a,onFieldsEditorFieldExpand:l,onFieldsEditorFieldExpandAction:s,onAxisFilterFieldExpand:m,onAxisFilterFieldsExpandChange:i}=e,[p,f]=c.useCustomComponent(e.fieldsLabel||ee.fieldsLabel),[v,w]=c.useCustomComponent(e.fieldsEditor||ee.fieldsEditor),[O,M]=c.useCustomComponent(e.columnAxesLabel||ee.columnAxesLabel),[V,D]=c.useCustomComponent(e.columnAxesEditor||ee.columnAxesEditor),[$,j]=c.useCustomComponent(e.rowAxesLabel||ee.rowAxesLabel),[x,N]=c.useCustomComponent(e.rowAxesEditor||ee.rowAxesEditor),[g,K]=c.useCustomComponent(e.measureAxesLabel||ee.measureAxesLabel),[U,H]=c.useCustomComponent(e.measureAxesEditor||ee.measureAxesEditor),u=t.useRef(null),A=t.useRef(null),L=he.useLocalization(),[I,y]=Gt(e,A);t.useImperativeHandle(A,()=>({element:u.current,props:e,state:I})),t.useImperativeHandle(o,()=>A.current);const X=()=>{I.dragItem&&y({type:B.setDropZone,payload:"columnAxes"})},J=()=>{I.dragItem&&y({type:B.setDropZone,payload:null})},r=()=>{I.dragItem&&y({type:B.setDropZone,payload:"rowAxes"})},h=()=>{I.dragItem&&y({type:B.setDropZone,payload:null})},E=()=>{I.dragItem&&y({type:B.setDropZone,payload:"measureAxes"})},F=()=>{I.dragItem&&y({type:B.setDropZone,payload:null})},k=T=>{const Q={target:T.target,currentTarget:A.current,value:T.value,syntheticEvent:T.syntheticEvent};if(s){const Y=s(Q,e,I);Y&&(Array.isArray(Y)?Y.filter(Boolean).map(oe=>oe&&y({...oe},T.syntheticEvent)):y({...Y},T.syntheticEvent))}l&&l({target:T.target,currentTarget:A.current,value:T.value,syntheticEvent:T.syntheticEvent})},q=T=>{const Q={target:T.target,currentTarget:A.current,value:T.value,syntheticEvent:T.syntheticEvent};if(a){const Y=a(Q,e,I);Y&&(Array.isArray(Y)?Y.filter(Boolean).map(oe=>oe&&y({...oe},T.syntheticEvent)):y({...Y},T.syntheticEvent))}n&&n(Q)},_=T=>{const Q={target:T.target,currentTarget:A.current,value:T.value,syntheticEvent:T.syntheticEvent};m&&m(Q)},d=T=>{const Q={target:T.target,currentTarget:A.current,value:T.value,syntheticEvent:T.syntheticEvent};i&&i(Q)},G=e.horizontal?"div":t.Fragment,z=e.horizontal?{className:"k-form-field-wrapper"}:{};return t.createElement(ut.Provider,{value:{onAxisFilterFieldExpand:_,onAxisFilterFieldsExpandChange:d}},t.createElement(Fe.Provider,{value:[I,y]},t.createElement(G,{...z},t.createElement("div",{className:"k-form-field"},t.createElement(p,{name:"",component:me.Label,...f},L.toLanguageString(ze,Z[ze]))),t.createElement("div",{className:"k-form-field"},t.createElement("div",{className:"k-fields-list-wrapper"},t.createElement(v,{data:e.data,onExpand:k,onCheck:q,columnAxes:I.columnAxes,rowAxes:I.rowAxes,measureAxes:I.measureAxes,...w})))),t.createElement(G,{...z},t.createElement("div",{className:"k-form-field",onMouseEnter:X,onMouseLeave:J},t.createElement(ne.Field,{name:"columnAxes",field:"columnAxes",component:O,...M},L.toLanguageString(Oe,Z[Oe]))),e.valueGetter("columnAxes").length?t.createElement(ne.Field,{name:"columnAxes",field:"columnAxes",component:V,onMouseEnter:X,onMouseLeave:J,className:"k-column-fields",...D}):t.createElement("div",{className:"k-settings-description",onMouseEnter:X,onMouseLeave:J},L.toLanguageString(ae,Z[ae])),t.createElement("div",{className:"k-form-field",onMouseEnter:r,onMouseLeave:h},t.createElement(ne.Field,{name:"rowAxes",field:"rowAxes",component:$,...j},L.toLanguageString(qe,Z[qe]))),e.valueGetter("rowAxes").length?t.createElement(ne.Field,{name:"rowAxes",field:"rowAxes",component:x,onMouseEnter:r,onMouseLeave:h,className:"k-column-fields",...N}):t.createElement("div",{className:"k-settings-description",onMouseEnter:r,onMouseLeave:h},L.toLanguageString(ae,Z[ae]))),t.createElement(G,{...z},t.createElement("div",{className:"k-form-field",onMouseEnter:E,onMouseLeave:F},t.createElement(ne.Field,{name:"measureAxes",field:"measureAxes",component:g,...K},L.toLanguageString(Be,Z[Be]))),e.valueGetter("measureAxes").length?t.createElement(ne.Field,{name:"measureAxes",field:"measureAxes",component:U,onMouseEnter:E,onMouseLeave:F,className:"k-column-fields",...H}):t.createElement("div",{className:"k-settings-description",onMouseEnter:E,onMouseLeave:F},L.toLanguageString(ae,Z[ae])))))}),ee={data:[],horizontal:!1,fieldsLabel:me.Label,fieldsEditor:Ie,columnAxesLabel:me.Label,columnAxesEditor:le,rowAxesLabel:me.Label,rowAxesEditor:le,measureAxesLabel:me.Label,measureAxesEditor:le,axesEditor:le,onFieldsEditorFieldCheckAction:e=>({type:B.toggleSelection,payload:e.value}),onFieldsEditorFieldExpandAction:e=>({type:B.toggleExpansion,payload:e.value})};Se.defaultProps=ee;Se.displayName="KendoReactPivotGridConfiguratorEditor";const Je=t.forwardRef((e,o)=>{const{horizontal:n,data:a,rowAxes:l,columnAxes:s,measureAxes:m}={...ge,...e},i=t.useRef(null),p=t.useRef(null),f=t.useRef(null),v=he.useLocalization(),[w,O]=c.useCustomComponent(e.editor||ge.editor),[M,V]=c.useCustomComponent(e.form||ge.form),[D,$]=c.useCustomComponent(e.formElement||ge.formElement);t.useImperativeHandle(p,()=>({props:e,element:i.current})),t.useImperativeHandle(o,()=>p.current);const j=(N,g)=>{e.onRowAxesChange&&e.onRowAxesChange({target:p.current,value:N.rowAxes,syntheticEvent:g}),e.onColumnAxesChange&&e.onColumnAxesChange({target:p.current,value:N.columnAxes,syntheticEvent:g}),e.onMeasureAxesChange&&e.onMeasureAxesChange({target:p.current,value:N.measureAxes,syntheticEvent:g}),e.onSortChange&&e.onSortChange({target:p.current,value:N.sort,syntheticEvent:g}),e.onFilterChange&&e.onFilterChange({target:p.current,value:N.filter,syntheticEvent:g})},x={rowAxes:l,columnAxes:s,measureAxes:m,sort:e.sort,filter:e.filter};return t.useEffect(()=>{f.current&&f.current.onChange("rowAxes",{value:l})},[l]),t.useEffect(()=>{f.current&&f.current.onChange("columnAxes",{value:s})},[s]),t.useEffect(()=>{f.current&&f.current.onChange("measureAxes",{value:m})},[m]),t.useEffect(()=>{f.current&&f.current.onChange("sort",{value:e.sort})},[e.sort]),t.useEffect(()=>{f.current&&f.current.onChange("filter",{value:e.filter})},[e.filter]),t.createElement("div",{ref:i,id:e.id,tabIndex:e.tabIndex,style:e.style,className:c.classNames("k-pivotgrid-configurator",e.className)},t.createElement("div",{className:c.classNames("k-pivotgrid-configurator-panel","k-pivotgrid-configurator-push",{"k-pivotgrid-configurator-horizontal":n,"k-pivotgrid-configurator-vertical":!n})},t.createElement("div",{className:"k-pivotgrid-configurator-header"},t.createElement("div",{className:"k-pivotgrid-configurator-header-text"},v.toLanguageString(De,Z[De]))),t.createElement(M,{ref:c.canUseRef(M)?f:void 0,initialValues:x,onSubmit:j,render:N=>t.createElement(t.Fragment,null,t.createElement("div",{className:"k-pivotgrid-configurator-content"},t.createElement(D,{horizontal:n,...$},t.createElement(w,{...N,horizontal:e.horizontal,onFieldsEditorFieldExpand:e.onFieldsEditorFieldExpand,onFieldsEditorFieldCheck:e.onFieldsEditorFieldCheck,onAxisFilterFieldExpand:e.onAxisFilterFieldExpand,onAxisFilterFieldsExpandChange:e.onAxisFilterFieldsExpandChange,data:a,...O}))),t.createElement("div",{className:"k-pivotgrid-configurator-actions k-actions k-hstack k-justify-content-end"},t.createElement(ue.Button,{type:"submit",onClick:N.onFormReset},v.toLanguageString(He,Z[He])),t.createElement(ue.Button,{themeColor:"primary",type:"submit",onClick:N.onSubmit},v.toLanguageString(Ge,Z[Ge])))),...V})))}),ge={form:ne.Form,formElement:ne.FormElement,editor:Se,horizontal:!1,data:[],columnAxes:[],rowAxes:[],measureAxes:[]};Je.defaultProps=ge;Je.displayName="KendoReactPivotGridConfigurator";const We=t.forwardRef((e,o)=>{const n=t.useRef(null),a=t.useRef(null),l=he.useLocalization();t.useImperativeHandle(n,()=>({props:e,element:a.current})),t.useImperativeHandle(o,()=>n.current);const[s,m]=c.useCustomComponent(e.icon||dt.icon),i=t.useMemo(()=>c.classNames("k-pivotgrid-configurator-button",e.className),[e.className]),p=c.useMouse(e,n);return t.createElement("div",{ref:a,id:e.id,className:i,tabIndex:e.tabIndex,...p},t.createElement("span",null,l.toLanguageString(Ke,Z[Ke]),t.createElement(s,{name:"gear",icon:pe.gearIcon,...m})))}),dt={icon:c.IconWrap};We.defaultProps=dt;We.displayName="KendoReactPivotGridConfiguratorButton";const mt=e=>{const[o,n]=t.useState(!0),[a,l]=t.useState({data:[],columns:[],rows:[]}),[s,m]=t.useState([]),[i,p]=t.useState(e.defaultColumnAxes||[]),[f,v]=t.useState(e.defaultRowAxes||[]),[w,O]=t.useState(e.defaultMeasureAxes||[]),[M,V]=t.useState(e.defaultSort||[]),[D,$]=t.useState(e.defaultFilter||[]),j=r=>{v(r.value)},x=r=>{p(r.value)},N=r=>{O(r.value)},g=r=>{V(r.value)},K=r=>{$(r.value)};t.useEffect(()=>{n(!0);const r={connection:{catalog:e.catalog,cube:e.cube},columnAxes:i.slice(),rowAxes:f.slice(),measureAxes:w,sort:M,filter:D};setTimeout(()=>{b.fetchData({url:e.url},c.clone(r)).then(b.createDataState).then(h=>{l(h),n(!1)})})},[i,f,w,D,M,e.cube,e.catalog,e.url]),t.useEffect(()=>{n(!0);const r={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube},command:"schemaDimensions"};b.fetchDiscover({url:e.url},r).then(h=>{b.addKPI(h),m(h),n(!1)})},[e.catalog,e.cube,e.url]);const U=(r=[],h)=>{for(let E=0;E<r.length;E++){const F=r[E];if(String(F.name)===String(h.name))return F}return null},H=(r=[],h)=>{for(let E=0;E<r.length;E++){const F=r[E];if(F.uniqueName===h.uniqueName)return F;let k=H(F.children,h);if(k!==null)return k}return null},u=async r=>{let h,E,F,k,q,_;r.name&&(h="schemaMembers",k=`${String(r.name)}.[(ALL)]`);const d={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube,hierarchyUniqueName:F,dimensionUniqueName:E,levelUniqueName:k,memberUniqueName:q,treeOp:_},command:h};return b.fetchDiscover({url:e.url},d)},A=async r=>{let h,E,F,k,q,_;r.uniqueName&&(h="schemaMembers",q=r.uniqueName.replace(/\&/g,"&amp;"),_=1);const d={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube,hierarchyUniqueName:F,dimensionUniqueName:E,levelUniqueName:k,memberUniqueName:q,treeOp:_},command:h};return b.fetchDiscover({url:e.url},d)},L=async r=>{let h,E,F,k,q,_;r.type===2?h="schemaMeasures":r.dimensionUniqueName?(h="schemaLevels",F=r.uniqueName):(h="schemaHierarchies",E=r.uniqueName);const d={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube,hierarchyUniqueName:F,dimensionUniqueName:E,levelUniqueName:k,memberUniqueName:q,treeOp:_},command:h};return b.fetchDiscover({url:e.url},d)},I=async()=>{const r={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube},command:"schemaKPIs"};return b.fetchDiscover({url:e.url},r)},y=async r=>{const h=s.slice(),E=H(h,r.value);if(E&&E.uniqueName==="[KPIs]"){const F=qt(await I());E.children=F}else if(E&&E.type==="kpi")E.children=b.buildKPIMeasures(E);else if(E&&!E.children){const F=await L(E);E.children=F}m(h)},X=async r=>{if(!r)return;const h={rowAxes:[f,v],columnAxes:[i,p],measureAxes:[w,O]},[E,F]=h[r.target.props.axes],k=E.slice(),q=U(k,r.target.props.dataItem);if(q&&!q.fields){const _=await u(q);q.fields=_,F(k)}},J=async r=>{if(!r)return;const h={rowAxes:[f,v],columnAxes:[i,p],measureAxes:[w,O]},[E,F]=h[r.target.props.axes],k=E.slice(),q=U(k,r.target.props.dataItem);if(q){const _=(q.fields||[]).slice(),d=H(_,r.value);if(d&&(!d.children||!d.children.length)){const G=await A(d);d.children=G,q.fields=_,F(k)}}};return{pivotProps:{rowAxes:f,columnAxes:i,data:a.data,rows:a.rows,columns:a.columns,onRowAxesChange:j,onColumnAxesChange:x},configuratorProps:{sort:M,onSortChange:g,filter:D,onFilterChange:K,data:s,rowAxes:f,columnAxes:i,measureAxes:w,onRowAxesChange:j,onColumnAxesChange:x,onMeasureAxesChange:N,onFieldsEditorFieldExpand:y,onAxisFilterFieldExpand:J,onAxisFilterFieldsExpandChange:X},state:{loading:o}}},Ot=e=>{const o=mt(e);return e.children(o)},qt=e=>{for(let o=0,n=e.length;o<n;o++)e[o].uniqueName=e[o].name,e[o].type="kpi";return e},Bt="aggregate",zt="columns",ot={dataField:Bt,columnsData:zt},xe="&",ft=e=>{const[o,n]=t.useState(!0),[a,l]=t.useState(e.defaultColumnAxes||[]),[s,m]=t.useState(e.defaultRowAxes||[]),[i,p]=t.useState(e.defaultMeasureAxes||[]),[f,v]=t.useState(e.defaultSort||[]),[w,O]=t.useState(e.defaultFilter||[]),[M,V]=t.useState(new Map),D=t.useCallback(y=>{m(y.value)},[]),$=t.useCallback(y=>{l(y.value)},[]),j=y=>{p(y.value)},x=y=>{v(y.value)},N=y=>{O(y.value)},g=t.useMemo(()=>Array.from(b.rootFields(a).keys()).join(xe),[a]),K=t.useMemo(()=>Array.from(b.rootFields(s).keys()).join(xe),[s]),U=t.useCallback(y=>({key:y,...e.dimensions[y]}),[e.dimensions]),H=t.useMemo(()=>g?g.split(xe).map(U):[],[g,U]),u=t.useMemo(()=>K?K.split(xe).map(U):[],[K,U]),A=t.useMemo(()=>i.map(y=>e.measures.find(X=>String(X.name)===String(y.name))).filter(Boolean),[i,e.measures]);t.useEffect(()=>{n(!0),setTimeout(()=>{const y=b.createDataTree(e.data,u,H,A,ot,w);V(y),n(!1)},0)},[e.data,u,H,A,w]);const L=t.useMemo(()=>b.createFlatSchemaDimensions(e.dimensions,e.measures),[e.dimensions,e.measures]),I=t.useMemo(()=>b.createLocalDataState({dataTree:M,rowSettings:u,columnSettings:H,rowAxes:s,columnAxes:a,measures:A,sort:f,fields:ot}),[a,H,M,s,u,f]);return{pivotProps:{rowAxes:s,columnAxes:a,data:I.data,rows:I.rows,columns:I.columns,onRowAxesChange:D,onColumnAxesChange:$},configuratorProps:{sort:f,onSortChange:x,filter:w,onFilterChange:N,data:L,rowAxes:s,columnAxes:a,measureAxes:i,onRowAxesChange:D,onColumnAxesChange:$,onMeasureAxesChange:j},state:{loading:o}}},Kt=e=>{const o=ft(e);return e.children(o)};Object.defineProperty(exports,"averageAggregate",{enumerable:!0,get:()=>b.averageAggregate});Object.defineProperty(exports,"maxAggregate",{enumerable:!0,get:()=>b.maxAggregate});Object.defineProperty(exports,"minAggregate",{enumerable:!0,get:()=>b.minAggregate});Object.defineProperty(exports,"sumAggregate",{enumerable:!0,get:()=>b.sumAggregate});exports.PivotGrid=lt;exports.PivotGridAxesEditor=le;exports.PivotGridAxisEditor=Re;exports.PivotGridAxisFilterFieldsEditor=Pe;exports.PivotGridCell=je;exports.PivotGridColumn=be;exports.PivotGridConfigurator=Je;exports.PivotGridConfiguratorButton=We;exports.PivotGridConfiguratorEditor=Se;exports.PivotGridContainer=Xe;exports.PivotGridFieldsEditor=Ie;exports.PivotGridHeaderCell=we;exports.PivotGridRow=$e;exports.PivotLocalDataService=Kt;exports.PivotOLAPService=Ot;exports.dataCells=Mt;exports.usePivotLocalDataService=ft;exports.usePivotOLAPService=mt;
package/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  "use client";
@@ -19,7 +19,7 @@ const ln = {
19
19
  name: "@progress/kendo-react-pivotgrid",
20
20
  productName: "KendoReact",
21
21
  productCodes: ["KENDOUIREACT", "KENDOUICOMPLETE"],
22
- publishDate: 1703228018,
22
+ publishDate: 1704377296,
23
23
  version: "",
24
24
  licensingDocsUrl: "https://www.telerik.com/kendo-react-ui/components/my-license/"
25
25
  }, Re = "pivotgrid.emptyCellAriaLabel", Ne = "pivotgrid.fieldMenuReset", Se = "pivotgrid.fieldMenuApply", ke = "pivotgrid.configuratorTitle", Me = "pivotgrid.configuratorCancel", Te = "pivotgrid.configuratorApply", Le = "pivotgrid.configuratorColumnsTitle", De = "pivotgrid.configuratorRowsTitle", He = "pivotgrid.configuratorMeasuresTitle", Ge = "pivotgrid.configuratorEditorSearchTitle", sn = "pivotgrid.configuratorEditorSearchPlaceholder", ae = "pivotgrid.configuratorMissingFields", Oe = "pivotgrid.configuratorButtonLabel", Z = {
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /**
package/models/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { SortDescriptor, FilterDescriptor } from '@progress/kendo-data-query';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { PackageMetadata } from '@progress/kendo-licensing';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-react-pivotgrid",
3
- "version": "7.0.3-develop.4",
3
+ "version": "7.0.3-develop.7",
4
4
  "description": "React PivotGrid (also called Pivot Table) can be data-bound to an OLAP service and customized extensively. KendoReact PivotGrid package",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -25,14 +25,14 @@
25
25
  "@progress/kendo-data-query": "^1.5.5",
26
26
  "@progress/kendo-licensing": "^1.3.4",
27
27
  "@progress/kendo-pivotgrid-common": "0.5.3",
28
- "@progress/kendo-react-buttons": "7.0.3-develop.4",
29
- "@progress/kendo-react-common": "7.0.3-develop.4",
30
- "@progress/kendo-react-data-tools": "7.0.3-develop.4",
31
- "@progress/kendo-react-form": "7.0.3-develop.4",
32
- "@progress/kendo-react-indicators": "7.0.3-develop.4",
33
- "@progress/kendo-react-intl": "7.0.3-develop.4",
34
- "@progress/kendo-react-labels": "7.0.3-develop.4",
35
- "@progress/kendo-react-treeview": "7.0.3-develop.4",
28
+ "@progress/kendo-react-buttons": "7.0.3-develop.7",
29
+ "@progress/kendo-react-common": "7.0.3-develop.7",
30
+ "@progress/kendo-react-data-tools": "7.0.3-develop.7",
31
+ "@progress/kendo-react-form": "7.0.3-develop.7",
32
+ "@progress/kendo-react-indicators": "7.0.3-develop.7",
33
+ "@progress/kendo-react-intl": "7.0.3-develop.7",
34
+ "@progress/kendo-react-labels": "7.0.3-develop.7",
35
+ "@progress/kendo-react-treeview": "7.0.3-develop.7",
36
36
  "@progress/kendo-svg-icons": "^2.1.0",
37
37
  "react": "^16.8.2 || ^17.0.0 || ^18.0.0",
38
38
  "react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0"
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
package/shared/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  export * from './PivotGridConfiguratorEditorEventsContext';
package/utils/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { AxisDescriptor, PivotDataItem, PivotGridField, Tuple } from '@progress/kendo-pivotgrid-common';